@vkontakte/vkui 4.33.2 → 4.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +573 -501
- package/.cache/ts/src/components/ActionSheet/ActionSheet.d.ts +1 -1
- package/.cache/ts/src/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
- package/.cache/ts/src/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
- package/.cache/ts/src/components/Alert/Alert.d.ts +1 -1
- package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +7 -1
- package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -0
- package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +4 -2
- package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +7 -6
- package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
- package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -1
- package/.cache/ts/src/components/Badge/Badge.d.ts +1 -1
- package/.cache/ts/src/components/BaseGallery/helpers.d.ts +2 -2
- package/.cache/ts/src/components/BaseGallery/types.d.ts +1 -1
- package/.cache/ts/src/components/Button/Button.d.ts +1 -1
- package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +3 -3
- package/.cache/ts/src/components/Calendar/Calendar.d.ts +1 -1
- package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +1 -1
- package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +1 -1
- package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +1 -1
- package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
- package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +2 -2
- package/.cache/ts/src/components/Card/Card.d.ts +1 -1
- package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +8 -2
- package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +1 -1
- package/.cache/ts/src/components/Cell/Cell.d.ts +2 -2
- package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
- package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +1 -1
- package/.cache/ts/src/components/CellButton/CellButton.d.ts +2 -2
- package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +2 -2
- package/.cache/ts/src/components/Chip/Chip.d.ts +1 -1
- package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
- package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +2 -1
- package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +4 -3
- package/.cache/ts/src/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +4 -3
- package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -3
- package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
- package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
- package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
- package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/.cache/ts/src/components/Div/Div.d.ts +1 -1
- package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +2 -2
- package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +1 -1
- package/.cache/ts/src/components/Epic/Epic.d.ts +1 -1
- package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +2 -1
- package/.cache/ts/src/components/File/File.d.ts +1 -1
- package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +1 -1
- package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/.cache/ts/src/components/Footer/Footer.d.ts +1 -1
- package/.cache/ts/src/components/FormField/FormField.d.ts +3 -3
- package/.cache/ts/src/components/FormItem/FormItem.d.ts +1 -1
- package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -1
- package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
- package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +1 -1
- package/.cache/ts/src/components/Gradient/Gradient.d.ts +7 -1
- package/.cache/ts/src/components/Group/Group.d.ts +2 -1
- package/.cache/ts/src/components/Header/Header.d.ts +1 -1
- package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +1 -1
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
- package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
- package/.cache/ts/src/components/InfoRow/InfoRow.d.ts +1 -1
- package/.cache/ts/src/components/Input/Input.d.ts +1 -1
- package/.cache/ts/src/components/InputLike/InputLike.d.ts +4 -1
- package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +1 -1
- package/.cache/ts/src/components/Link/Link.d.ts +8 -3
- package/.cache/ts/src/components/List/List.d.ts +1 -1
- package/.cache/ts/src/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
- package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
- package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +1 -1
- package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
- package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +2 -1
- package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
- package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
- package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +2 -1
- package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/.cache/ts/src/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
- package/.cache/ts/src/components/Pagination/Pagination.d.ts +1 -1
- package/.cache/ts/src/components/Panel/Panel.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
- package/.cache/ts/src/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
- package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
- package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
- package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
- package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +1 -1
- package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +5 -2
- package/.cache/ts/src/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
- package/.cache/ts/src/components/Popper/Popper.d.ts +6 -1
- package/.cache/ts/src/components/Progress/Progress.d.ts +1 -1
- package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +1 -1
- package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
- package/.cache/ts/src/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +2 -2
- package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/.cache/ts/src/components/Removable/Removable.d.ts +1 -1
- package/.cache/ts/src/components/RichCell/RichCell.d.ts +18 -9
- package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +2 -2
- package/.cache/ts/src/components/Root/Root.d.ts +1 -1
- package/.cache/ts/src/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
- package/.cache/ts/src/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
- package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
- package/.cache/ts/src/components/Search/Search.d.ts +1 -1
- package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
- package/.cache/ts/src/components/Select/Select.d.ts +2 -2
- package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/.cache/ts/src/components/Separator/Separator.d.ts +2 -2
- package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
- package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +1 -1
- package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
- package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +2 -2
- package/.cache/ts/src/components/Spacing/Spacing.d.ts +1 -1
- package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -1
- package/.cache/ts/src/components/SplitLayout/SplitLayout.d.ts +1 -1
- package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
- package/.cache/ts/src/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
- package/.cache/ts/src/components/Switch/Switch.d.ts +2 -2
- package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +1 -1
- package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -1
- package/.cache/ts/src/components/Tabs/Tabs.d.ts +1 -1
- package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +1 -1
- package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
- package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +1 -1
- package/.cache/ts/src/components/Textarea/Textarea.d.ts +1 -1
- package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +3 -2
- package/.cache/ts/src/components/Touch/Touch.d.ts +1 -1
- package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +1 -1
- package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +1 -1
- package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +1 -1
- package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +1 -1
- package/.cache/ts/src/components/Typography/Text/Text.d.ts +1 -1
- package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -1
- package/.cache/ts/src/components/View/View.d.ts +1 -1
- package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
- package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
- package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +1 -1
- package/.cache/ts/src/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
- package/.cache/ts/src/helpers/getScheme.d.ts +1 -1
- package/.cache/ts/src/hoc/withAdaptivity.d.ts +1 -1
- package/.cache/ts/src/hoc/withContext.d.ts +1 -1
- package/.cache/ts/src/hoc/withInsets.d.ts +1 -1
- package/.cache/ts/src/hoc/withPlatform.d.ts +1 -1
- package/.cache/ts/src/hooks/useEnsuredControl.d.ts +2 -1
- package/.cache/ts/src/index.d.ts +1 -1
- package/.cache/ts/src/lib/SSR.d.ts +2 -1
- package/.cache/ts/src/testing/utils.d.ts +3 -2
- package/.cache/ts/src/tokenized/index.d.ts +28 -0
- package/.cache/ts/src/types.d.ts +3 -0
- package/.eslintignore +1 -0
- package/.eslintrc.json +4 -1
- package/.prettierignore +1 -1
- package/README.md +3 -4
- package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -4
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +27 -8
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootPortal.js +3 -2
- package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Badge/Badge.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/BaseGallery/BaseGallery.js +9 -9
- package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cjs/components/BaseGallery/helpers.js +8 -8
- package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
- package/dist/cjs/components/Button/Button.js +27 -27
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js +4 -2
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cjs/components/Card/Card.js.map +1 -1
- package/dist/cjs/components/CardGrid/CardGrid.js +15 -19
- package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.js +3 -11
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js +24 -22
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js +36 -5
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js +90 -0
- package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
- package/dist/cjs/components/CustomSelect/CustomSelect.js +7 -3
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +31 -5
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cjs/components/Div/Div.js.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.js +1 -6
- package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.js +12 -10
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cjs/components/File/File.js +5 -1
- package/dist/cjs/components/File/File.js.map +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cjs/components/Footer/Footer.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormLayout/FormLayout.js +8 -8
- package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
- package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
- package/dist/cjs/components/Group/Group.js +28 -19
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +12 -9
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +33 -11
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
- package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
- package/dist/cjs/components/Link/Link.js +8 -10
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/List/List.js +1 -9
- package/dist/cjs/components/List/List.js.map +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +14 -26
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.js +2 -5
- package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -13
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js +10 -13
- package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js +9 -9
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.js +7 -2
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/Progress/Progress.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js +9 -8
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.js +8 -8
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.js +2 -4
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCell.js +25 -25
- package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
- package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js +31 -0
- package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
- package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js +32 -0
- package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +28 -8
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/Separator/Separator.js +2 -1
- package/dist/cjs/components/Separator/Separator.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +6 -6
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.js +13 -16
- package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.js +11 -11
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +11 -13
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tabbar/Tabbar.js +3 -6
- package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Touch/Touch.js.map +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.js +12 -12
- package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/helpers/getScheme.js +1 -1
- package/dist/cjs/helpers/getScheme.js.map +1 -1
- package/dist/cjs/helpers/scheme.js +5 -5
- package/dist/cjs/helpers/scheme.js.map +1 -1
- package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
- package/dist/cjs/hoc/withContext.js.map +1 -1
- package/dist/cjs/hoc/withInsets.js.map +1 -1
- package/dist/cjs/hoc/withPlatform.js.map +1 -1
- package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
- package/dist/cjs/hooks/useEventListener.js.map +1 -1
- package/dist/cjs/index.js +2 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/SSR.js +4 -4
- package/dist/cjs/lib/SSR.js.map +1 -1
- package/dist/cjs/lib/classScopingMode.js +1 -0
- package/dist/cjs/lib/classScopingMode.js.map +1 -1
- package/dist/cjs/lib/dom.js.map +1 -1
- package/dist/cjs/tokenized/index.js +112 -0
- package/dist/cjs/tokenized/index.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +4 -4
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
- package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +7 -1
- package/dist/components/AppRoot/AppRoot.js +26 -8
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts +4 -2
- package/dist/components/AppRoot/AppRootPortal.js +3 -2
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.d.ts +7 -6
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
- package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Badge/Badge.d.ts +1 -1
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/BaseGallery/BaseGallery.js +7 -7
- package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/components/BaseGallery/helpers.d.ts +2 -2
- package/dist/components/BaseGallery/helpers.js +8 -8
- package/dist/components/BaseGallery/helpers.js.map +1 -1
- package/dist/components/BaseGallery/types.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.js +27 -27
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +3 -3
- package/dist/components/ButtonGroup/ButtonGroup.js +4 -2
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +1 -1
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.d.ts +1 -1
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.d.ts +1 -1
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.d.ts +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.d.ts +2 -2
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.d.ts +8 -2
- package/dist/components/CardGrid/CardGrid.js +13 -14
- package/dist/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.d.ts +1 -1
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Cell/Cell.d.ts +2 -2
- package/dist/components/Cell/Cell.js +4 -11
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.d.ts +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/components/CellButton/CellButton.d.ts +2 -2
- package/dist/components/CellButton/CellButton.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Chip/Chip.d.ts +1 -1
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
- package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +25 -21
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.d.ts +4 -3
- package/dist/components/CustomScrollView/CustomScrollView.js +33 -4
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
- package/dist/components/CustomScrollView/useTrackerVisibility.js +75 -0
- package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
- package/dist/components/CustomSelect/CustomSelect.d.ts +4 -3
- package/dist/components/CustomSelect/CustomSelect.js +7 -3
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -3
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +31 -5
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +1 -1
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/Div/Div.d.ts +1 -1
- package/dist/components/Div/Div.js.map +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +2 -2
- package/dist/components/Dropdown/Dropdown.js +1 -4
- package/dist/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts +1 -1
- package/dist/components/Epic/Epic.js +12 -11
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.d.ts +2 -1
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/File/File.d.ts +1 -1
- package/dist/components/File/File.js +5 -1
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.d.ts +1 -1
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/Footer/Footer.d.ts +1 -1
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/FormField/FormField.d.ts +3 -3
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormItem/FormItem.d.ts +1 -1
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayout/FormLayout.d.ts +1 -1
- package/dist/components/FormLayout/FormLayout.js +8 -8
- package/dist/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/FormStatus/FormStatus.d.ts +1 -1
- package/dist/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/Gradient/Gradient.d.ts +7 -1
- package/dist/components/Gradient/Gradient.js.map +1 -1
- package/dist/components/Group/Group.d.ts +2 -1
- package/dist/components/Group/Group.js +27 -19
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.d.ts +1 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.d.ts +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +9 -5
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +26 -12
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/InfoRow/InfoRow.d.ts +1 -1
- package/dist/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/InputLike/InputLike.d.ts +4 -1
- package/dist/components/InputLike/InputLike.js.map +1 -1
- package/dist/components/InputLike/InputLikeDivider.d.ts +1 -1
- package/dist/components/InputLike/InputLikeDivider.js.map +1 -1
- package/dist/components/Link/Link.d.ts +8 -3
- package/dist/components/Link/Link.js +8 -9
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/List/List.d.ts +1 -1
- package/dist/components/List/List.js +1 -8
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +13 -23
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/components/ModalCard/ModalCard.js +2 -5
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +5 -14
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts +2 -1
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.d.ts +2 -1
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts +1 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.d.ts +1 -1
- package/dist/components/Placeholder/Placeholder.js +10 -13
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/PopoutRoot/PopoutRoot.d.ts +5 -2
- package/dist/components/PopoutRoot/PopoutRoot.js +9 -9
- package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +6 -1
- package/dist/components/Popper/Popper.js +6 -2
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/Progress/Progress.d.ts +1 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.d.ts +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +10 -10
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/Radio/Radio.js +8 -8
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.d.ts +2 -2
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/components/Removable/Removable.d.ts +1 -1
- package/dist/components/Removable/Removable.js +3 -4
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +18 -9
- package/dist/components/RichCell/RichCell.js +25 -21
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/RichTooltip/RichTooltip.d.ts +2 -2
- package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/components/Root/Root.d.ts +1 -1
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
- package/dist/components/ScreenSpinner/Icon48CancelCircle.js +18 -0
- package/dist/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
- package/dist/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
- package/dist/components/ScreenSpinner/Icon48DoneOutline.js +19 -0
- package/dist/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
- package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
- package/dist/components/ScreenSpinner/ScreenSpinner.js +25 -7
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/Search/Search.d.ts +1 -1
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/Select/Select.d.ts +2 -2
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/Separator/Separator.d.ts +2 -2
- package/dist/components/Separator/Separator.js +2 -1
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
- package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/SliderSwitch/SliderSwitch.d.ts +1 -1
- package/dist/components/SliderSwitch/SliderSwitch.js +1 -1
- package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
- package/dist/components/SliderSwitch/SliderSwitchButton.js +6 -6
- package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +2 -2
- package/dist/components/Snackbar/Snackbar.js +13 -16
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +1 -1
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts +1 -1
- package/dist/components/SplitCol/SplitCol.js +11 -11
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts +1 -1
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
- package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +12 -15
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +2 -2
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.d.ts +1 -1
- package/dist/components/Tabbar/Tabbar.js +2 -5
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts +1 -1
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +1 -1
- package/dist/components/TextTooltip/TextTooltip.d.ts +1 -1
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +1 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +3 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Touch/Touch.d.ts +1 -1
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +1 -1
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts +1 -1
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/Typography/Paragraph/Paragraph.d.ts +1 -1
- package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.d.ts +1 -1
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Text/Text.d.ts +1 -1
- package/dist/components/Typography/Text/Text.js.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts +1 -1
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/View/View.d.ts +1 -1
- package/dist/components/View/ViewInfinite.d.ts +1 -1
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +1 -1
- package/dist/components/WriteBar/WriteBar.js +13 -14
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +39 -14
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -4
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.d.ts +1 -1
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.d.ts +7 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +26 -8
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.d.ts +1 -0
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +4 -2
- package/dist/cssm/components/AppRoot/AppRootPortal.js +3 -2
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.d.ts +7 -6
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.css +2 -2
- package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Badge/Badge.d.ts +1 -1
- package/dist/cssm/components/Badge/Badge.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.js +7 -7
- package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cssm/components/BaseGallery/helpers.d.ts +2 -2
- package/dist/cssm/components/BaseGallery/helpers.js +8 -8
- package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
- package/dist/cssm/components/BaseGallery/types.d.ts +1 -1
- package/dist/cssm/components/Button/Button.css +21 -3
- package/dist/cssm/components/Button/Button.d.ts +1 -1
- package/dist/cssm/components/Button/Button.js +27 -27
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +3 -3
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js +4 -2
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.css +1 -1
- package/dist/cssm/components/Calendar/Calendar.d.ts +1 -1
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +2 -2
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/Card/Card.d.ts +1 -1
- package/dist/cssm/components/Card/Card.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.d.ts +8 -2
- package/dist/cssm/components/CardGrid/CardGrid.js +13 -14
- package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.d.ts +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.css +3 -1
- package/dist/cssm/components/Cell/Cell.d.ts +2 -2
- package/dist/cssm/components/Cell/Cell.js +4 -11
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/cssm/components/CellButton/CellButton.d.ts +2 -2
- package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Chip/Chip.d.ts +1 -1
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
- package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +2 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +25 -21
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +4 -3
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js +33 -4
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
- package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +75 -0
- package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +4 -3
- package/dist/cssm/components/CustomSelect/CustomSelect.js +7 -3
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +4 -3
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +31 -5
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/Div/Div.d.ts +1 -1
- package/dist/cssm/components/Div/Div.js.map +1 -1
- package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
- package/dist/cssm/components/Dropdown/Dropdown.d.ts +2 -2
- package/dist/cssm/components/Dropdown/Dropdown.js +1 -4
- package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.d.ts +1 -1
- package/dist/cssm/components/Epic/Epic.js +12 -11
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.d.ts +2 -1
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/File/File.d.ts +1 -1
- package/dist/cssm/components/File/File.js +5 -1
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cssm/components/Footer/Footer.d.ts +1 -1
- package/dist/cssm/components/Footer/Footer.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.d.ts +3 -3
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.d.ts +1 -1
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.js +8 -8
- package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.d.ts +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/Gradient/Gradient.css +1 -1
- package/dist/cssm/components/Gradient/Gradient.d.ts +7 -1
- package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
- package/dist/cssm/components/Group/Group.css +1 -1
- package/dist/cssm/components/Group/Group.d.ts +2 -1
- package/dist/cssm/components/Group/Group.js +27 -19
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Header/Header.d.ts +1 -1
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.d.ts +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +9 -5
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +2 -5
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +26 -12
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.d.ts +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cssm/components/Input/Input.d.ts +1 -1
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLike.d.ts +4 -1
- package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLikeDivider.d.ts +1 -1
- package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
- package/dist/cssm/components/Link/Link.css +1 -1
- package/dist/cssm/components/Link/Link.d.ts +8 -3
- package/dist/cssm/components/Link/Link.js +8 -9
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/List/List.d.ts +1 -1
- package/dist/cssm/components/List/List.js +1 -8
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +13 -23
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +2 -5
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -14
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +2 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.d.ts +2 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.d.ts +1 -1
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.d.ts +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.css +3 -1
- package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js +10 -13
- package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +5 -2
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js +9 -9
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.d.ts +6 -1
- package/dist/cssm/components/Popper/Popper.js +6 -2
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.d.ts +1 -1
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +10 -10
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.d.ts +1 -1
- package/dist/cssm/components/Radio/Radio.js +8 -8
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +2 -2
- package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.css +1 -1
- package/dist/cssm/components/Removable/Removable.d.ts +1 -1
- package/dist/cssm/components/Removable/Removable.js +3 -4
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.css +3 -1
- package/dist/cssm/components/RichCell/RichCell.d.ts +18 -9
- package/dist/cssm/components/RichCell/RichCell.js +25 -21
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +2 -2
- package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cssm/components/Root/Root.d.ts +1 -1
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
- package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js +18 -0
- package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
- package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
- package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js +19 -0
- package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +25 -7
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/Search/Search.css +1 -1
- package/dist/cssm/components/Search/Search.d.ts +1 -1
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/Select/Select.d.ts +2 -2
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/Separator/Separator.css +1 -1
- package/dist/cssm/components/Separator/Separator.d.ts +2 -2
- package/dist/cssm/components/Separator/Separator.js +2 -1
- package/dist/cssm/components/Separator/Separator.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitch.d.ts +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +6 -6
- package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.d.ts +2 -2
- package/dist/cssm/components/Snackbar/Snackbar.js +13 -16
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.d.ts +1 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +11 -11
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +12 -15
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.css +1 -1
- package/dist/cssm/components/Switch/Switch.d.ts +2 -2
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.css +3 -1
- package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.js +2 -5
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.css +1 -1
- package/dist/cssm/components/Tabs/Tabs.d.ts +1 -1
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.d.ts +1 -1
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.d.ts +3 -2
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.d.ts +1 -1
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.d.ts +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.d.ts +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.d.ts +1 -1
- package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.d.ts +1 -1
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
- package/dist/cssm/components/View/View.d.ts +1 -1
- package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.d.ts +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +13 -14
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/helpers/getScheme.d.ts +1 -1
- package/dist/cssm/helpers/getScheme.js +1 -1
- package/dist/cssm/helpers/getScheme.js.map +1 -1
- package/dist/cssm/helpers/scheme.js +5 -5
- package/dist/cssm/helpers/scheme.js.map +1 -1
- package/dist/cssm/hoc/withAdaptivity.d.ts +1 -1
- package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
- package/dist/cssm/hoc/withContext.d.ts +1 -1
- package/dist/cssm/hoc/withContext.js.map +1 -1
- package/dist/cssm/hoc/withInsets.d.ts +1 -1
- package/dist/cssm/hoc/withInsets.js.map +1 -1
- package/dist/cssm/hoc/withPlatform.d.ts +1 -1
- package/dist/cssm/hoc/withPlatform.js.map +1 -1
- package/dist/cssm/hooks/useEnsuredControl.d.ts +2 -1
- package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
- package/dist/cssm/hooks/useEventListener.js.map +1 -1
- package/dist/cssm/index.d.ts +1 -1
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.d.ts +2 -1
- package/dist/cssm/lib/SSR.js +4 -4
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/classScopingMode.js +1 -0
- package/dist/cssm/lib/classScopingMode.js.map +1 -1
- package/dist/cssm/lib/dom.js.map +1 -1
- package/dist/cssm/styles/components.css +39 -14
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/cssm/styles/unstable.css +1 -1
- package/dist/cssm/tokenized/index.d.ts +28 -0
- package/dist/cssm/tokenized/index.js +14 -0
- package/dist/cssm/tokenized/index.js.map +1 -1
- package/dist/cssm/types.d.ts +3 -0
- package/dist/helpers/getScheme.d.ts +1 -1
- package/dist/helpers/getScheme.js +1 -1
- package/dist/helpers/getScheme.js.map +1 -1
- package/dist/helpers/scheme.js +5 -5
- package/dist/helpers/scheme.js.map +1 -1
- package/dist/hoc/withAdaptivity.d.ts +1 -1
- package/dist/hoc/withAdaptivity.js.map +1 -1
- package/dist/hoc/withContext.d.ts +1 -1
- package/dist/hoc/withContext.js.map +1 -1
- package/dist/hoc/withInsets.d.ts +1 -1
- package/dist/hoc/withInsets.js.map +1 -1
- package/dist/hoc/withPlatform.d.ts +1 -1
- package/dist/hoc/withPlatform.js.map +1 -1
- package/dist/hooks/useEnsuredControl.d.ts +2 -1
- package/dist/hooks/useEnsuredControl.js.map +1 -1
- package/dist/hooks/useEventListener.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/SSR.d.ts +2 -1
- package/dist/lib/SSR.js +4 -4
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/classScopingMode.js +1 -0
- package/dist/lib/classScopingMode.js.map +1 -1
- package/dist/lib/dom.js.map +1 -1
- package/dist/tokenized/index.d.ts +28 -0
- package/dist/tokenized/index.js +14 -0
- package/dist/tokenized/index.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/unstable.css +1 -1
- package/dist/unstable.css.map +1 -1
- package/dist/vkui.css +40 -15
- package/dist/vkui.css.map +1 -1
- package/package.json +16 -15
- package/src/components/ActionSheet/ActionSheet.tsx +4 -6
- package/src/components/ActionSheet/ActionSheetDropdown.tsx +2 -2
- package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +6 -3
- package/src/components/ActionSheet/Readme.md +1 -1
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +3 -1
- package/src/components/Alert/Alert.tsx +7 -6
- package/src/components/Alert/Readme.md +1 -1
- package/src/components/AppRoot/AppRoot.tsx +27 -6
- package/src/components/AppRoot/AppRootContext.ts +1 -0
- package/src/components/AppRoot/AppRootPortal.tsx +13 -5
- package/src/components/AppRoot/Readme.md +1 -1
- package/src/components/AppRoot/ScrollContext.tsx +8 -9
- package/src/components/AppearanceProvider/AppearanceProvider.tsx +3 -2
- package/src/components/Avatar/Avatar.css +1 -14
- package/src/components/Avatar/Avatar.tsx +1 -1
- package/src/components/Badge/Badge.tsx +1 -1
- package/src/components/Banner/Banner.tsx +5 -6
- package/src/components/BaseGallery/BaseGallery.tsx +7 -7
- package/src/components/BaseGallery/helpers.ts +7 -7
- package/src/components/BaseGallery/types.ts +1 -1
- package/src/components/Button/Button.css +0 -8
- package/src/components/Button/Button.tsx +8 -6
- package/src/components/ButtonGroup/ButtonGroup.css +12 -1
- package/src/components/ButtonGroup/ButtonGroup.tsx +8 -5
- package/src/components/ButtonGroup/Readme.md +15 -1
- package/src/components/Calendar/Calendar.css +2 -2
- package/src/components/Calendar/Calendar.tsx +2 -2
- package/src/components/CalendarDay/CalendarDay.tsx +2 -2
- package/src/components/CalendarDays/CalendarDays.tsx +2 -2
- package/src/components/CalendarHeader/CalendarHeader.tsx +2 -2
- package/src/components/CalendarRange/CalendarRange.tsx +2 -2
- package/src/components/CalendarTime/CalendarTime.tsx +2 -2
- package/src/components/Card/Card.tsx +1 -1
- package/src/components/CardGrid/CardGrid.css +12 -20
- package/src/components/CardGrid/CardGrid.tsx +15 -16
- package/src/components/CardGrid/Readme.md +5 -0
- package/src/components/CardScroll/CardScroll.tsx +1 -1
- package/src/components/Cell/Cell.css +10 -3
- package/src/components/Cell/Cell.tsx +11 -11
- package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +2 -2
- package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
- package/src/components/CellButton/CellButton.tsx +1 -2
- package/src/components/Checkbox/Checkbox.tsx +2 -2
- package/src/components/Chip/Chip.tsx +1 -1
- package/src/components/ChipsSelect/ChipsSelect.tsx +4 -4
- package/src/components/ChipsSelect/Readme.md +1 -1
- package/src/components/ClickPopper/ClickPopper.tsx +1 -1
- package/src/components/ConfigProvider/ConfigProvider.tsx +22 -15
- package/src/components/ConfigProvider/Readme.md +1 -1
- package/src/components/CustomScrollView/CustomScrollView.css +5 -0
- package/src/components/CustomScrollView/CustomScrollView.tsx +38 -4
- package/src/components/CustomScrollView/useTrackerVisibility.ts +109 -0
- package/src/components/CustomSelect/CustomSelect.tsx +9 -3
- package/src/components/CustomSelect/Readme.md +228 -170
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +38 -4
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +1 -1
- package/src/components/DateInput/DateInput.tsx +2 -2
- package/src/components/DatePicker/DatePicker.tsx +6 -10
- package/src/components/DateRangeInput/DateRangeInput.tsx +2 -2
- package/src/components/Div/Div.tsx +1 -5
- package/src/components/Dropdown/Dropdown.css +3 -16
- package/src/components/Dropdown/Dropdown.tsx +2 -11
- package/src/components/Dropdown/Readme.md +1 -1
- package/src/components/DropdownIcon/DropdownIcon.tsx +1 -3
- package/src/components/Epic/Epic.tsx +9 -5
- package/src/components/Epic/ScrollSaver.tsx +3 -2
- package/src/components/File/File.tsx +6 -2
- package/src/components/FixedLayout/FixedLayout.css +10 -0
- package/src/components/FixedLayout/FixedLayout.tsx +1 -1
- package/src/components/FocusTrap/FocusTrap.tsx +2 -2
- package/src/components/Footer/Footer.tsx +1 -4
- package/src/components/FormField/FormField.tsx +3 -3
- package/src/components/FormField/Readme.md +1 -1
- package/src/components/FormItem/FormItem.tsx +1 -1
- package/src/components/FormLayout/FormLayout.tsx +7 -11
- package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -1
- package/src/components/FormStatus/FormStatus.tsx +1 -1
- package/src/components/Gallery/Gallery.tsx +1 -1
- package/src/components/Gradient/Gradient.css +14 -76
- package/src/components/Gradient/Gradient.tsx +8 -2
- package/src/components/Gradient/Readme.md +53 -15
- package/src/components/Group/Group.css +10 -14
- package/src/components/Group/Group.tsx +32 -23
- package/src/components/Header/Header.tsx +3 -3
- package/src/components/HorizontalCell/HorizontalCell.css +2 -2
- package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
- package/src/components/HorizontalScroll/HorizontalScroll.css +14 -5
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +21 -9
- package/src/components/HorizontalScroll/HorizontalScrollArrow.css +28 -24
- package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +28 -9
- package/src/components/HorizontalScroll/Readme.md +1 -0
- package/src/components/HoverPopper/HoverPopper.tsx +1 -1
- package/src/components/InfoRow/InfoRow.tsx +1 -5
- package/src/components/InitialsAvatar/Readme.md +1 -1
- package/src/components/Input/Input.tsx +1 -1
- package/src/components/InputLike/InputLike.tsx +2 -2
- package/src/components/InputLike/InputLikeDivider.tsx +4 -3
- package/src/components/Link/Link.css +21 -1
- package/src/components/Link/Link.tsx +12 -14
- package/src/components/Link/Readme.md +36 -4
- package/src/components/List/List.tsx +5 -10
- package/src/components/MiniInfoCell/MiniInfoCell.css +6 -14
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +13 -22
- package/src/components/ModalCard/ModalCard.tsx +6 -8
- package/src/components/ModalCardBase/ModalCardBase.css +13 -9
- package/src/components/ModalCardBase/ModalCardBase.tsx +15 -19
- package/src/components/ModalCardBase/Readme.md +1 -1
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
- package/src/components/ModalPage/ModalPage.tsx +2 -4
- package/src/components/ModalRoot/ModalRoot.tsx +1 -0
- package/src/components/ModalRoot/ModalRootAdaptive.tsx +4 -3
- package/src/components/ModalRoot/ModalRootDesktop.tsx +1 -0
- package/src/components/ModalRoot/Readme.md +1 -1
- package/src/components/ModalRoot/useModalManager.tsx +5 -2
- package/src/components/NativeSelect/NativeSelect.tsx +2 -4
- package/src/components/NavTransitionContext/NavTransitionContext.tsx +2 -2
- package/src/components/Pagination/Pagination.tsx +2 -2
- package/src/components/PanelHeader/PanelHeader.tsx +2 -2
- package/src/components/PanelHeader/Readme.md +1 -1
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -3
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +2 -5
- package/src/components/PanelHeaderButton/Readme.md +1 -1
- package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +4 -4
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
- package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +2 -2
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -2
- package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +4 -4
- package/src/components/Placeholder/Placeholder.css +7 -8
- package/src/components/Placeholder/Placeholder.tsx +31 -40
- package/src/components/Placeholder/Readme.md +77 -90
- package/src/components/PopoutRoot/PopoutRoot.tsx +10 -13
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -1
- package/src/components/PopoutWrapper/Readme.md +1 -1
- package/src/components/Popper/Popper.tsx +8 -1
- package/src/components/Popper/Readme.md +2 -2
- package/src/components/Progress/Progress.tsx +1 -1
- package/src/components/PromoBanner/PromoBanner.tsx +8 -4
- package/src/components/Radio/Radio.tsx +9 -10
- package/src/components/RadioGroup/RadioGroup.tsx +2 -2
- package/src/components/RangeSlider/RangeSlider.tsx +3 -2
- package/src/components/RangeSlider/UniversalSlider.tsx +2 -2
- package/src/components/Removable/Removable.css +2 -2
- package/src/components/Removable/Removable.tsx +8 -7
- package/src/components/RichCell/Readme.md +78 -19
- package/src/components/RichCell/RichCell.css +76 -59
- package/src/components/RichCell/RichCell.tsx +49 -43
- package/src/components/RichTooltip/Readme.md +2 -2
- package/src/components/RichTooltip/RichTooltip.tsx +1 -2
- package/src/components/Root/Root.tsx +1 -1
- package/src/components/ScreenSpinner/Icon48CancelCircle.tsx +18 -0
- package/src/components/ScreenSpinner/Icon48DoneOutline.tsx +19 -0
- package/src/components/ScreenSpinner/Readme.md +57 -36
- package/src/components/ScreenSpinner/ScreenSpinner.css +44 -9
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +27 -9
- package/src/components/Search/Search.css +6 -2
- package/src/components/Search/Search.tsx +7 -5
- package/src/components/SegmentedControl/SegmentedControl.css +1 -1
- package/src/components/SegmentedControl/SegmentedControl.tsx +2 -2
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +2 -3
- package/src/components/Select/Select.tsx +7 -5
- package/src/components/SelectMimicry/SelectMimicry.tsx +2 -2
- package/src/components/Separator/Separator.css +11 -11
- package/src/components/Separator/Separator.tsx +3 -6
- package/src/components/SimpleCell/SimpleCell.tsx +2 -4
- package/src/components/SimpleCheckbox/Readme.md +2 -2
- package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +12 -15
- package/src/components/Slider/Slider.tsx +2 -1
- package/src/components/SliderSwitch/Readme.md +1 -1
- package/src/components/SliderSwitch/SliderSwitch.tsx +1 -1
- package/src/components/SliderSwitch/SliderSwitchButton.tsx +7 -4
- package/src/components/Snackbar/Snackbar.tsx +13 -22
- package/src/components/Spacing/Spacing.tsx +1 -1
- package/src/components/SplitCol/SplitCol.tsx +11 -12
- package/src/components/SplitLayout/SplitLayout.tsx +1 -1
- package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -1
- package/src/components/SubnavigationButton/Readme.md +1 -1
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +14 -21
- package/src/components/Switch/Switch.css +3 -3
- package/src/components/Switch/Switch.tsx +1 -2
- package/src/components/Tabbar/Tabbar.css +12 -10
- package/src/components/Tabbar/Tabbar.tsx +5 -7
- package/src/components/TabbarItem/TabbarItem.tsx +1 -1
- package/src/components/Tabs/Tabs.css +12 -0
- package/src/components/Tabs/Tabs.tsx +1 -1
- package/src/components/TabsItem/TabsItem.tsx +1 -1
- package/src/components/Tappable/Readme.md +1 -1
- package/src/components/TextTooltip/Readme.md +1 -1
- package/src/components/TextTooltip/TextTooltip.tsx +1 -1
- package/src/components/Textarea/Textarea.tsx +1 -1
- package/src/components/Tooltip/Readme.md +1 -1
- package/src/components/Tooltip/Tooltip.css +2 -2
- package/src/components/Tooltip/Tooltip.tsx +6 -3
- package/src/components/Touch/Touch.tsx +1 -1
- package/src/components/Typography/Caption/Caption.tsx +1 -1
- package/src/components/Typography/Headline/Headline.tsx +1 -1
- package/src/components/Typography/Paragraph/Paragraph.tsx +2 -2
- package/src/components/Typography/Subhead/Subhead.tsx +2 -2
- package/src/components/Typography/Text/Text.tsx +1 -1
- package/src/components/Typography/Title/Title.tsx +2 -2
- package/src/components/UsersStack/UsersStack.css +0 -8
- package/src/components/View/Readme.md +1 -1
- package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +2 -2
- package/src/components/WriteBar/WriteBar.css +1 -0
- package/src/components/WriteBar/WriteBar.tsx +13 -17
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
- package/src/helpers/getScheme.ts +2 -2
- package/src/helpers/scheme.ts +5 -4
- package/src/hoc/withAdaptivity.tsx +1 -1
- package/src/hoc/withContext.tsx +1 -1
- package/src/hoc/withInsets.tsx +1 -1
- package/src/hoc/withPlatform.tsx +1 -1
- package/src/hooks/useEnsuredControl.ts +2 -2
- package/src/hooks/useEventListener.ts +4 -1
- package/src/index.ts +1 -1
- package/src/lib/SSR.tsx +6 -3
- package/src/lib/classScopingMode.ts +1 -0
- package/src/lib/dom.tsx +1 -1
- package/src/lib/jsxRuntime.d.ts +2 -2
- package/src/testing/setup.ts +3 -0
- package/src/testing/utils.tsx +3 -5
- package/src/tokenized/index.ts +42 -0
- package/src/types.ts +4 -0
- package/stylelint.config.js +22 -1
- package/tasks/{styleint-atomic.js → stylelint-atomic.js} +1 -1
- package/tasks/stylelint-bad-multiplication.js +69 -0
- package/CONTRIBUTING.md +0 -66
- package/CSS_GUIDE.md +0 -145
- package/TESTING.md +0 -58
- package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -76
- package/dist/cjs/appearance/constants.d.ts +0 -1
- package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +0 -29
- package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +0 -8
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.d.ts +0 -4
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +0 -4
- package/dist/cjs/components/ActionSheet/types.d.ts +0 -9
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +0 -23
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +0 -46
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +0 -13
- package/dist/cjs/components/Alert/Alert.d.ts +0 -25
- package/dist/cjs/components/AppRoot/AppRoot.d.ts +0 -17
- package/dist/cjs/components/AppRoot/AppRootContext.d.ts +0 -9
- package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +0 -5
- package/dist/cjs/components/AppRoot/ScrollContext.d.ts +0 -26
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +0 -10
- package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +0 -3
- package/dist/cjs/components/Avatar/Avatar.d.ts +0 -24
- package/dist/cjs/components/Badge/Badge.d.ts +0 -9
- package/dist/cjs/components/Banner/Banner.d.ts +0 -67
- package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +0 -4
- package/dist/cjs/components/BaseGallery/helpers.d.ts +0 -12
- package/dist/cjs/components/BaseGallery/types.d.ts +0 -43
- package/dist/cjs/components/Button/Button.d.ts +0 -22
- package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +0 -23
- package/dist/cjs/components/Calendar/Calendar.d.ts +0 -33
- package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +0 -22
- package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +0 -22
- package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +0 -24
- package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +0 -19
- package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +0 -11
- package/dist/cjs/components/Card/Card.d.ts +0 -10
- package/dist/cjs/components/CardGrid/CardGrid.d.ts +0 -8
- package/dist/cjs/components/CardScroll/CardScroll.d.ts +0 -15
- package/dist/cjs/components/Cell/Cell.d.ts +0 -50
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +0 -5
- package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +0 -6
- package/dist/cjs/components/Cell/useDraggable.d.ts +0 -15
- package/dist/cjs/components/CellButton/CellButton.d.ts +0 -11
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +0 -15
- package/dist/cjs/components/Chip/Chip.d.ts +0 -19
- package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +0 -32
- package/dist/cjs/components/ChipsInput/useChipsInput.d.ts +0 -14
- package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +0 -43
- package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts +0 -22
- package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +0 -21
- package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +0 -18
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +0 -36
- package/dist/cjs/components/ContentCard/ContentCard.d.ts +0 -36
- package/dist/cjs/components/Counter/Counter.d.ts +0 -13
- package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +0 -10
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +0 -61
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +0 -15
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +0 -47
- package/dist/cjs/components/DateInput/DateInput.d.ts +0 -15
- package/dist/cjs/components/DatePicker/DatePicker.d.ts +0 -23
- package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +0 -21
- package/dist/cjs/components/Div/Div.d.ts +0 -9
- package/dist/cjs/components/Dropdown/Dropdown.d.ts +0 -11
- package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +0 -3
- package/dist/cjs/components/Epic/Epic.d.ts +0 -11
- package/dist/cjs/components/Epic/ScrollSaver.d.ts +0 -9
- package/dist/cjs/components/File/File.d.ts +0 -13
- package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +0 -21
- package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +0 -11
- package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +0 -10
- package/dist/cjs/components/Footer/Footer.d.ts +0 -8
- package/dist/cjs/components/FormField/FormField.d.ts +0 -36
- package/dist/cjs/components/FormItem/FormItem.d.ts +0 -17
- package/dist/cjs/components/FormLayout/FormLayout.d.ts +0 -8
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +0 -15
- package/dist/cjs/components/FormStatus/FormStatus.d.ts +0 -10
- package/dist/cjs/components/Gallery/Gallery.d.ts +0 -10
- package/dist/cjs/components/Gradient/Gradient.d.ts +0 -10
- package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +0 -15
- package/dist/cjs/components/Group/Group.d.ts +0 -25
- package/dist/cjs/components/Header/Header.d.ts +0 -20
- package/dist/cjs/components/HorizontalCell/HorizontalCell.d.ts +0 -13
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +0 -21
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +0 -8
- package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +0 -29
- package/dist/cjs/components/IconButton/IconButton.d.ts +0 -14
- package/dist/cjs/components/InfoRow/InfoRow.d.ts +0 -9
- package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +0 -35
- package/dist/cjs/components/Input/Input.d.ts +0 -11
- package/dist/cjs/components/InputLike/InputLike.d.ts +0 -10
- package/dist/cjs/components/InputLike/InputLikeDivider.d.ts +0 -3
- package/dist/cjs/components/Link/Link.d.ts +0 -8
- package/dist/cjs/components/List/List.d.ts +0 -6
- package/dist/cjs/components/List/ListContext.d.ts +0 -4
- package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +0 -2
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.d.ts +0 -42
- package/dist/cjs/components/ModalCard/ModalCard.d.ts +0 -12
- package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +0 -39
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +0 -7
- package/dist/cjs/components/ModalPage/ModalPage.d.ts +0 -39
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts +0 -10
- package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +0 -28
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +0 -25
- package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +0 -20
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +0 -28
- package/dist/cjs/components/ModalRoot/constants.d.ts +0 -3
- package/dist/cjs/components/ModalRoot/types.d.ts +0 -60
- package/dist/cjs/components/ModalRoot/useModalManager.d.ts +0 -38
- package/dist/cjs/components/ModalRoot/withModalRootContext.d.ts +0 -5
- package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +0 -19
- package/dist/cjs/components/NavTransitionContext/NavTransitionContext.d.ts +0 -6
- package/dist/cjs/components/Pagination/Pagination.d.ts +0 -45
- package/dist/cjs/components/Panel/Panel.d.ts +0 -12
- package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +0 -31
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +0 -12
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.d.ts +0 -11
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +0 -6
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +0 -11
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +0 -10
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +0 -20
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +0 -6
- package/dist/cjs/components/PanelSpinner/PanelSpinner.d.ts +0 -9
- package/dist/cjs/components/Placeholder/Placeholder.d.ts +0 -25
- package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +0 -10
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +0 -13
- package/dist/cjs/components/Popper/Popper.d.ts +0 -35
- package/dist/cjs/components/Progress/Progress.d.ts +0 -10
- package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +0 -43
- package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +0 -22
- package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.d.ts +0 -10
- package/dist/cjs/components/Radio/Radio.d.ts +0 -11
- package/dist/cjs/components/RadioGroup/RadioGroup.d.ts +0 -9
- package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +0 -8
- package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +0 -16
- package/dist/cjs/components/Removable/Removable.d.ts +0 -24
- package/dist/cjs/components/RichCell/RichCell.d.ts +0 -47
- package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +0 -8
- package/dist/cjs/components/Root/Root.d.ts +0 -33
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +0 -8
- package/dist/cjs/components/Search/Search.d.ts +0 -16
- package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +0 -20
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +0 -7
- package/dist/cjs/components/Select/Select.d.ts +0 -18
- package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +0 -15
- package/dist/cjs/components/Separator/Separator.d.ts +0 -16
- package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +0 -41
- package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -12
- package/dist/cjs/components/Slider/Slider.d.ts +0 -7
- package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +0 -48
- package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +0 -11
- package/dist/cjs/components/Snackbar/Snackbar.d.ts +0 -38
- package/dist/cjs/components/Spacing/Spacing.d.ts +0 -23
- package/dist/cjs/components/Spinner/Spinner.d.ts +0 -9
- package/dist/cjs/components/SplitCol/SplitCol.d.ts +0 -25
- package/dist/cjs/components/SplitLayout/SplitLayout.d.ts +0 -18
- package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +0 -10
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.d.ts +0 -24
- package/dist/cjs/components/Switch/Switch.d.ts +0 -10
- package/dist/cjs/components/Tabbar/Tabbar.d.ts +0 -13
- package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +0 -23
- package/dist/cjs/components/Tabs/Tabs.d.ts +0 -12
- package/dist/cjs/components/TabsItem/TabsItem.d.ts +0 -10
- package/dist/cjs/components/Tappable/Tappable.d.ts +0 -45
- package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +0 -17
- package/dist/cjs/components/Textarea/Textarea.d.ts +0 -10
- package/dist/cjs/components/Tooltip/Tooltip.d.ts +0 -57
- package/dist/cjs/components/Tooltip/TooltipContainer.d.ts +0 -5
- package/dist/cjs/components/Touch/Touch.d.ts +0 -52
- package/dist/cjs/components/Touch/TouchContext.d.ts +0 -7
- package/dist/cjs/components/Typography/Caption/Caption.d.ts +0 -17
- package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +0 -14
- package/dist/cjs/components/Typography/Headline/Headline.d.ts +0 -16
- package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +0 -13
- package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +0 -15
- package/dist/cjs/components/Typography/Text/Text.d.ts +0 -15
- package/dist/cjs/components/Typography/Title/Title.d.ts +0 -16
- package/dist/cjs/components/UsersStack/UsersStack.d.ts +0 -25
- package/dist/cjs/components/UsersStack/masks.d.ts +0 -1
- package/dist/cjs/components/View/View.d.ts +0 -83
- package/dist/cjs/components/View/ViewInfinite.d.ts +0 -66
- package/dist/cjs/components/View/utils.d.ts +0 -2
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +0 -12
- package/dist/cjs/components/WriteBar/WriteBar.d.ts +0 -26
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.d.ts +0 -21
- package/dist/cjs/helpers/avatar.d.ts +0 -5
- package/dist/cjs/helpers/getClassName.d.ts +0 -2
- package/dist/cjs/helpers/getScheme.d.ts +0 -8
- package/dist/cjs/helpers/math.d.ts +0 -5
- package/dist/cjs/helpers/scheme.d.ts +0 -34
- package/dist/cjs/hoc/withAdaptivity.d.ts +0 -13
- package/dist/cjs/hoc/withContext.d.ts +0 -2
- package/dist/cjs/hoc/withInsets.d.ts +0 -3
- package/dist/cjs/hoc/withPlatform.d.ts +0 -3
- package/dist/cjs/hooks/useAdaptivity.d.ts +0 -4
- package/dist/cjs/hooks/useAppearance.d.ts +0 -1
- package/dist/cjs/hooks/useBooleanState.d.ts +0 -6
- package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +0 -6
- package/dist/cjs/hooks/useBrowserInfo.d.ts +0 -2
- package/dist/cjs/hooks/useCalendar.d.ts +0 -19
- package/dist/cjs/hooks/useDateInput.d.ts +0 -30
- package/dist/cjs/hooks/useEffectDev.d.ts +0 -2
- package/dist/cjs/hooks/useEnsuredControl.d.ts +0 -6
- package/dist/cjs/hooks/useEventListener.d.ts +0 -7
- package/dist/cjs/hooks/useExternRef.d.ts +0 -2
- package/dist/cjs/hooks/useFocusVisible.d.ts +0 -6
- package/dist/cjs/hooks/useGlobalEventListener.d.ts +0 -2
- package/dist/cjs/hooks/useInsets.d.ts +0 -8
- package/dist/cjs/hooks/useKeyboard.d.ts +0 -10
- package/dist/cjs/hooks/useKeyboardInputTracker.d.ts +0 -3
- package/dist/cjs/hooks/useObjectMemo.d.ts +0 -2
- package/dist/cjs/hooks/useOrientationChange.d.ts +0 -7
- package/dist/cjs/hooks/usePagination.d.ts +0 -34
- package/dist/cjs/hooks/usePatchChildrenRef.d.ts +0 -6
- package/dist/cjs/hooks/usePlatform.d.ts +0 -2
- package/dist/cjs/hooks/usePrevious.d.ts +0 -1
- package/dist/cjs/hooks/useTimeout.d.ts +0 -4
- package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +0 -3
- package/dist/cjs/index.d.ts +0 -305
- package/dist/cjs/lib/SSR.d.ts +0 -17
- package/dist/cjs/lib/accessibility.d.ts +0 -10
- package/dist/cjs/lib/animate.d.ts +0 -15
- package/dist/cjs/lib/browser.d.ts +0 -11
- package/dist/cjs/lib/calendar.d.ts +0 -14
- package/dist/cjs/lib/callMultiple.d.ts +0 -1
- package/dist/cjs/lib/classNames.d.ts +0 -6
- package/dist/cjs/lib/classScopingMode.d.ts +0 -8
- package/dist/cjs/lib/date.d.ts +0 -29
- package/dist/cjs/lib/dom.d.ts +0 -21
- package/dist/cjs/lib/fx.d.ts +0 -5
- package/dist/cjs/lib/getNavId.d.ts +0 -7
- package/dist/cjs/lib/is.d.ts +0 -1
- package/dist/cjs/lib/isRefObject.d.ts +0 -2
- package/dist/cjs/lib/jsxRuntime.d.ts +0 -8
- package/dist/cjs/lib/offset.d.ts +0 -7
- package/dist/cjs/lib/platform.d.ts +0 -19
- package/dist/cjs/lib/polyfills.d.ts +0 -6
- package/dist/cjs/lib/prefixClass.d.ts +0 -1
- package/dist/cjs/lib/removeObjectKeys.d.ts +0 -1
- package/dist/cjs/lib/select.d.ts +0 -9
- package/dist/cjs/lib/styles.d.ts +0 -1
- package/dist/cjs/lib/supportEvents.d.ts +0 -9
- package/dist/cjs/lib/taptic.d.ts +0 -2
- package/dist/cjs/lib/testing.d.ts +0 -1
- package/dist/cjs/lib/touch.d.ts +0 -9
- package/dist/cjs/lib/useIsomorphicLayoutEffect.d.ts +0 -2
- package/dist/cjs/lib/utils.d.ts +0 -16
- package/dist/cjs/lib/warnOnce.d.ts +0 -2
- package/dist/cjs/tokenized/index.d.ts +0 -126
- package/dist/cjs/types.d.ts +0 -34
- package/dist/cjs/unstable/index.d.ts +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","React","useRef","useState","portalRoot","setPortalRoot","document","insets","useContext","ConfigProviderContext","appearance","initialized","current","documentElement","classList","add","classScopingMode","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","noop","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","SizeType","REGULAR","container","undefined","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","appRoot","keyboardInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AAEA;;;AAmBA,IAAMA,IAAI,GAAG,wBAAS,SAAT,CAAb;AAEA;AACA;AACA;;AACO,IAAMC,OAAO,GAAG,oCACrB,gBASM;AAAA,MARJC,QAQI,QARJA,QAQI;AAAA,MAPEC,KAOF,QAPJC,IAOI;AAAA,MANMC,SAMN,QANJC,QAMI;AAAA,MALJC,KAKI,QALJA,KAKI;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,kCAHJC,eAGI;AAAA,MAHJA,eAGI,qCAHc,KAGd;AAAA,yBAFJC,MAEI;AAAA,MAFJA,MAEI,4BAFK,QAEL;AAAA,MADDC,KACC;AACJ;AACA,MAAMP,IAAI,GAAGD,KAAK,KAAKE,SAAS,GAAG,UAAH,GAAgB,MAA9B,CAAlB;AACA,MAAMO,qBAAqB,GAAG,uDAA9B;AACA,MAAMC,OAAO,GAAGC,KAAK,CAACC,MAAN,CAAoC,IAApC,CAAhB;;AACA,wBAAoCD,KAAK,CAACE,QAAN,CAClC,IADkC,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAGA,gBAAqB,kBAArB;AAAA,MAAQC,QAAR,WAAQA,QAAR;;AACA,MAAMC,MAAM,GAAG,2BAAf;;AACA,0BAAuBN,KAAK,CAACO,UAAN,CAAiBC,4CAAjB,CAAvB;AAAA,MAAQC,UAAR,qBAAQA,UAAR;;AAEA,MAAMC,WAAW,GAAGV,KAAK,CAACC,MAAN,CAAa,KAAb,CAApB;;AACA,MAAI,CAACS,WAAW,CAACC,OAAjB,EAA0B;AACxB,QAAIN,QAAQ,IAAIf,IAAI,KAAK,MAAzB,EAAiC;AAC/Be,MAAAA,QAAQ,CAACO,eAAT,CAAyBC,SAAzB,CAAmCC,GAAnC,CAAuC,MAAvC;AACD;;AACDC,uCAAiBC,UAAjB,GAA8BrB,eAA9B;AACAe,IAAAA,WAAW,CAACC,OAAZ,GAAsB,IAAtB;AACD;;AAED,MAAIM,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,QAAIvB,MAAM,KAAK,QAAX,IAAuBN,IAAI,KAAK,UAApC,EAAgD;AAC9CJ,MAAAA,IAAI,qEACkBU,MADlB,wLAEF,OAFE,CAAJ;AAID;;AACD,QAAIP,KAAK,IAAIE,SAAb,EAAwB;AACtBL,MAAAA,IAAI,mEAAmBI,IAAnB,kHAAJ;AACD;AACF,GA/BG,CAiCJ;;;AACA,4DAA0B,YAAM;AAC9B,QAAM8B,MAAM,GAAGf,QAAQ,CAAEgB,aAAV,CAAwB,KAAxB,CAAf;AACAD,IAAAA,MAAM,CAACP,SAAP,CAAiBC,GAAjB,CAAqB,mBAArB;AACAT,IAAAA,QAAQ,CAAEiB,IAAV,CAAeC,WAAf,CAA2BH,MAA3B;AACAhB,IAAAA,aAAa,CAACgB,MAAD,CAAb;AACA,WAAO,YAAM;AAAA;;AACX,+BAAAA,MAAM,CAACI,aAAP,gFAAsBC,WAAtB,CAAkCL,MAAlC;AACD,KAFD;AAGD,GARD,EAQG,EARH,EAlCI,CA4CJ;;AACA,4DAA0B,YAAM;AAAA;;AAC9B,QAAI9B,IAAI,KAAK,SAAb,EAAwB;AACtB,aAAOoC,WAAP;AACD;;AAED,QAAMC,MAAM,uBAAG5B,OAAO,CAACY,OAAX,qDAAG,iBAAiBa,aAAhC;AACA,QAAMI,OAAO,GAAG,CAAC,YAAD,EAAeC,MAAf,CACdvC,IAAI,KAAK,UAAT,GAAsB,sBAAtB,GAA+C,EADjC,CAAhB;AAGAqC,IAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,iCAAAA,MAAM,CAAEd,SAAR,EAAkBC,GAAlB,2DAAyBc,OAAzB;AAEA,WAAO,YAAM;AAAA;;AACXD,MAAAA,MAAM,SAAN,IAAAA,MAAM,WAAN,kCAAAA,MAAM,CAAEd,SAAR,EAAkBiB,MAAlB,4DAA4BF,OAA5B;;AACA,UAAItC,IAAI,KAAK,MAAb,EAAqB;AACnBe,QAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEO,eAAV,CAA0BC,SAA1B,CAAoCiB,MAApC,CAA2C,MAA3C;AACD;AACF,KALD;AAMD,GAjBD,EAiBG,EAjBH,EA7CI,CAgEJ;;AACA,4DAA0B,YAAM;AAAA;;AAC9B,QAAIxC,IAAI,KAAK,SAAT,IAAsB,uBAACS,OAAO,CAACY,OAAT,8CAAC,kBAAiBa,aAAlB,CAA1B,EAA2D;AACzD,aAAOE,WAAP;AACD;;AAED,QAAMC,MAAM,GAAG5B,OAAO,CAACY,OAAR,CAAgBa,aAA/B;;AAEA,SAAK,IAAMO,GAAX,IAAkBzB,MAAlB,EAA0B;AACxB,UACEA,MAAM,CAAC0B,cAAP,CAAsBD,GAAtB,KACA,OAAOzB,MAAM,CAACyB,GAAD,CAAb,KAAuC,QAFzC,EAGE;AACA,YAAME,KAAK,GAAG3B,MAAM,CAACyB,GAAD,CAApB;AACAJ,QAAAA,MAAM,CAACO,KAAP,CAAaC,WAAb,6BAA8CJ,GAA9C,aAAwDE,KAAxD;AACA9B,QAAAA,UAAU,IACRA,UAAU,CAAC+B,KAAX,CAAiBC,WAAjB,6BACuBJ,GADvB,aAEKE,KAFL,QADF;AAKD;AACF;;AAED,WAAO,YAAM;AACX,WAAK,IAAMF,IAAX,IAAkBzB,MAAlB,EAA0B;AACxB,YAAIA,MAAM,CAAC0B,cAAP,CAAsBD,IAAtB,CAAJ,EAAgC;AAC9BJ,UAAAA,MAAM,CAACO,KAAP,CAAaE,cAAb,6BAAiDL,IAAjD;AACA5B,UAAAA,UAAU,IACRA,UAAU,CAAC+B,KAAX,CAAiBE,cAAjB,6BAAqDL,IAArD,EADF;AAED;AACF;AACF,KARD;AASD,GA/BD,EA+BG,CAACzB,MAAD,EAASH,UAAT,CA/BH,EAjEI,CAkGJ;;AACA,4DAA0B,YAAM;AAAA;;AAC9B,QAAIb,IAAI,KAAK,SAAT,IAAsBG,KAAK,KAAK4C,yBAASC,OAA7C,EAAsD;AACpD,aAAOZ,WAAP;AACD;;AACD,QAAMa,SAAS,GACbjD,IAAI,KAAK,UAAT,wBAAsBS,OAAO,CAACY,OAA9B,sDAAsB,kBAAiBa,aAAvC,GAAuDnB,QAAQ,CAAEiB,IADnE;AAEAiB,IAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAE1B,SAAX,CAAqBC,GAArB,CAAyB,qBAAzB;AACA,WAAO;AAAA,aAAMyB,SAAN,aAAMA,SAAN,uBAAMA,SAAS,CAAE1B,SAAX,CAAqBiB,MAArB,CAA4B,qBAA5B,CAAN;AAAA,KAAP;AACD,GARD,EAQG,CAACrC,KAAD,CARH;AAUA,4DAA0B,YAAM;AAC9B,QAAIH,IAAI,KAAK,MAAT,IAAmBmB,UAAU,KAAK+B,SAAtC,EAAiD;AAC/C,aAAOd,WAAP;AACD;;AACDrB,IAAAA,QAAQ,CAAEO,eAAV,CAA0BsB,KAA1B,CAAgCC,WAAhC,CAA4C,cAA5C,EAA4D1B,UAA5D;AAEA,WAAO;AAAA,aACLJ,QAAQ,CAAEO,eAAV,CAA0BsB,KAA1B,CAAgCE,cAAhC,CAA+C,cAA/C,CADK;AAAA,KAAP;AAED,GARD,EAQG,CAAC3B,UAAD,CARH;AAUA,MAAMgC,gBAAgB,GAAGzC,KAAK,CAAC0C,OAAN,CACvB;AAAA,WACE9C,MAAM,KAAK,SAAX,GAAuB+C,sCAAvB,GAAiDC,qCADnD;AAAA,GADuB,EAGvB,CAAChD,MAAD,CAHuB,CAAzB;AAMA,MAAMiD,OAAO,GACX,qCAAC,8BAAD,CAAgB,QAAhB;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,OAAO,EAAE/C,OADJ;AAELI,MAAAA,UAAU,EAAEA,UAFP;AAGLX,MAAAA,QAAQ,EAAEF,IAAI,KAAK,UAHd;AAILyD,MAAAA,aAAa,EAAEjD,qBAJV;AAKLR,MAAAA,IAAI,EAAJA;AALK;AADT,KASE,qCAAC,gBAAD;AAAkB,IAAA,KAAK,EAAES;AAAzB,KACE,qCAAC,2BAAD;AACE,IAAA,WAAW,EAAC,MADd;AAEE,IAAA,aAAa,EAAE,CAACJ;AAFlB,KAIGP,QAJH,CADF,CATF,CADF;AAqBA,SAAOE,IAAI,KAAK,SAAT,GACLuD,OADK,GAGL;AACE,IAAA,GAAG,EAAE9C,OADP,CAEE;AAFF;AAGE,IAAA,SAAS,EAAE,4BAAW,SAAX,EAAsB;AAC/B,2BAAqB,CAACL;AADS,KAAtB;AAHb,KAMMG,KANN,GAQGgD,OARH,CAHF;AAcD,CA1KoB,EA2KrB;AACEpD,EAAAA,KAAK,EAAE,IADT;AAEEC,EAAAA,QAAQ,EAAE;AAFZ,CA3KqB,CAAhB","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n}\n\nconst warn = warnOnce(\"AppRoot\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement?.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","portalRoot","portalRootProp","disablePortal","props","isKeyboardInputActive","rootRef","React","useRef","useState","setPortalRoot","document","insets","useContext","ConfigProviderContext","appearance","initialized","current","documentElement","classList","add","classScopingMode","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","noop","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","SizeType","REGULAR","container","undefined","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n /** Элемент используемый в качестве root для порталов\n * При передаче своего элемента необходимо задать ему class=\"vkui__portal-root\" и добавить в DOM\n */\n // TODO: v5.0.0 изменить тип на HTMLElement\n portalRoot?: HTMLDivElement | React.RefObject<HTMLDivElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\nconst warn = warnOnce(\"AppRoot\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n portalRoot: portalRootProp = null,\n disablePortal,\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLDivElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n portal?.parentElement?.removeChild(portal);\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppRoot/AppRootContext.ts"],"names":["AppRootContext","React","createContext","portalRoot"],"mappings":";;;;;;;;;AAAA;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppRoot/AppRootContext.ts"],"names":["AppRootContext","React","createContext","portalRoot"],"mappings":";;;;;;;;;AAAA;;AAWO,IAAMA,cAAc,gBAAGC,KAAK,CAACC,aAAN,CAA6C;AACzEC,EAAAA,UAAU,EAAE;AAD6D,CAA7C,CAAvB","sourcesContent":["import * as React from \"react\";\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLDivElement | null;\n embedded?: boolean;\n mode?: \"partial\" | \"embedded\" | \"full\";\n keyboardInput?: boolean;\n disablePortal?: boolean;\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"file":"AppRootContext.js"}
|
|
@@ -28,11 +28,12 @@ var AppRootPortal = function AppRootPortal(_ref) {
|
|
|
28
28
|
|
|
29
29
|
var _React$useContext = React.useContext(_AppRootContext.AppRootContext),
|
|
30
30
|
portalRoot = _React$useContext.portalRoot,
|
|
31
|
-
mode = _React$useContext.mode
|
|
31
|
+
mode = _React$useContext.mode,
|
|
32
|
+
disablePortal = _React$useContext.disablePortal;
|
|
32
33
|
|
|
33
34
|
var appearance = (0, _useAppearance.useAppearance)();
|
|
34
35
|
forcePortal = (_forcePortal = forcePortal) !== null && _forcePortal !== void 0 ? _forcePortal : mode !== "full";
|
|
35
|
-
return portalRoot && forcePortal ? /*#__PURE__*/(0, _reactDom.createPortal)((0, _jsxRuntime.createScopedElement)(_AppearanceProvider.AppearanceProvider, {
|
|
36
|
+
return !disablePortal && portalRoot && forcePortal ? /*#__PURE__*/(0, _reactDom.createPortal)((0, _jsxRuntime.createScopedElement)(_AppearanceProvider.AppearanceProvider, {
|
|
36
37
|
appearance: appearance
|
|
37
38
|
}, (0, _jsxRuntime.createScopedElement)("div", {
|
|
38
39
|
className: className
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["AppRootPortal","children","className","forcePortal","React","useContext","AppRootContext","portalRoot","mode","appearance"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["AppRootPortal","children","className","forcePortal","React","useContext","AppRootContext","portalRoot","mode","disablePortal","appearance"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAQO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAIH;AAAA;;AAAA,MAHxBC,QAGwB,QAHxBA,QAGwB;AAAA,MAFxBC,SAEwB,QAFxBA,SAEwB;AAAA,MADxBC,WACwB,QADxBA,WACwB;;AACxB,0BAA4CC,KAAK,CAACC,UAAN,CAAiBC,8BAAjB,CAA5C;AAAA,MAAQC,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,IAApB,qBAAoBA,IAApB;AAAA,MAA0BC,aAA1B,qBAA0BA,aAA1B;;AACA,MAAMC,UAAU,GAAG,mCAAnB;AAEAP,EAAAA,WAAW,mBAAGA,WAAH,uDAAkBK,IAAI,KAAK,MAAtC;AACA,SAAO,CAACC,aAAD,IAAkBF,UAAlB,IAAgCJ,WAAhC,gBACL,4BACE,qCAAC,sCAAD;AAAoB,IAAA,UAAU,EAAEO;AAAhC,KACE;AAAK,IAAA,SAAS,EAAER;AAAhB,KAA4BD,QAA5B,CADF,CADF,EAIEM,UAJF,CADK,GAQL,qCAAC,KAAD,CAAO,QAAP,QAAiBN,QAAjB,CARF;AAUD,CAnBM","sourcesContent":["import * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport { AppearanceProvider } from \"../AppearanceProvider/AppearanceProvider\";\nimport { useAppearance } from \"../../hooks/useAppearance\";\n\nexport interface AppRootPortalProps {\n className?: string;\n forcePortal?: boolean;\n children?: React.ReactNode;\n}\n\nexport const AppRootPortal = ({\n children,\n className,\n forcePortal,\n}: AppRootPortalProps) => {\n const { portalRoot, mode, disablePortal } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n forcePortal = forcePortal ?? mode !== \"full\";\n return !disablePortal && portalRoot && forcePortal ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalRoot\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n"],"file":"AppRootPortal.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"names":["clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","ScrollContext","React","createContext","getScroll","x","y","scrollTo","noop","isScrollLock","enableScrollLock","disableScrollLock","useScroll","useContext","GlobalScrollController","children","window","document","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","pageYOffset","body","scrollWidth","innerWidth","scrollHeight","innerHeight","current","forEach","fn","scrollY","scrollX","documentElement","clientWidth","clientHeight","parseInt","scrollController","useMemo","ElementScrollController","elRef","scrollLeft","scrollTop","el","useScrollLockEffect","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","useScrollLock","enabled"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../../lib/utils\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { clamp } from \"../../helpers/math\";\nimport { useDOM } from \"../../lib/dom\";\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: \"\",\n top: \"\",\n left: \"\",\n right: \"\",\n overflowY: \"\",\n overflowX: \"\",\n });\n};\n\nexport interface ScrollContextInterface {\n getScroll(): { x: number; y: number };\n scrollTo(x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(): void;\n disableScrollLock(): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps {\n elRef: React.RefObject<HTMLElement>;\n}\n\nexport const GlobalScrollController: React.FC<ScrollControllerProps> = ({\n children,\n}) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({ x: window!.pageXOffset, y: window!.pageYOffset }),\n [window]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0\n );\n },\n [document, window]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY =\n window!.innerWidth > document!.documentElement.clientWidth\n ? \"scroll\"\n : \"\";\n const overflowX =\n window!.innerHeight > document!.documentElement.clientHeight\n ? \"scroll\"\n : \"\";\n\n Object.assign(document!.body.style, {\n position: \"fixed\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [document, window]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [document, window]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\nexport const ElementScrollController: React.FC<ScrollControllerProps> = ({\n elRef,\n children,\n}) => {\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0\n );\n },\n [elRef]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? \"scroll\" : \"\";\n const overflowX = el.scrollHeight > el.clientHeight ? \"scroll\" : \"\";\n\n Object.assign(el.style, {\n position: \"absolute\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [elRef]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [elRef]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (\n effect: React.EffectCallback,\n deps: React.DependencyList\n) => {\n const destructorRef = React.useRef<ReturnType<React.EffectCallback>>(noop);\n const { isScrollLock, beforeScrollLockFnSetRef } = useScroll();\n\n // Изменяем effectCallback только при изменении deps\n const effectCallback = React.useCallback(() => {\n destructorRef.current = effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n // Добавляем effectCallback в список функций, которые необходимо вызвать\n // до блокировки\n React.useEffect(() => {\n const beforeSet = beforeScrollLockFnSetRef?.current;\n if (!beforeSet) {\n return noop;\n }\n\n beforeSet.add(effectCallback);\n\n return () => {\n beforeSet.delete(effectCallback);\n };\n }, [beforeScrollLockFnSetRef, effectCallback]);\n\n // Вызываем сбрасывающую функцию, после отключения блокировки\n React.useEffect(() => {\n if (!isScrollLock && destructorRef.current) {\n destructorRef.current();\n }\n }, [isScrollLock]);\n};\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"file":"ScrollContext.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"names":["clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","ScrollContext","React","createContext","getScroll","x","y","scrollTo","noop","isScrollLock","enableScrollLock","disableScrollLock","useScroll","useContext","GlobalScrollController","children","window","document","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","pageYOffset","body","scrollWidth","innerWidth","scrollHeight","innerHeight","current","forEach","fn","scrollY","scrollX","documentElement","clientWidth","clientHeight","parseInt","scrollController","useMemo","ElementScrollController","elRef","scrollLeft","scrollTop","el","useScrollLockEffect","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","useScrollLock","enabled"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../../lib/utils\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { clamp } from \"../../helpers/math\";\nimport { useDOM } from \"../../lib/dom\";\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: \"\",\n top: \"\",\n left: \"\",\n right: \"\",\n overflowY: \"\",\n overflowX: \"\",\n });\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps {\n elRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({ x: window!.pageXOffset, y: window!.pageYOffset }),\n [window]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0\n );\n },\n [document, window]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY =\n window!.innerWidth > document!.documentElement.clientWidth\n ? \"scroll\"\n : \"\";\n const overflowX =\n window!.innerHeight > document!.documentElement.clientHeight\n ? \"scroll\"\n : \"\";\n\n Object.assign(document!.body.style, {\n position: \"fixed\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [document, window]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [document, window]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\nexport const ElementScrollController = ({\n elRef,\n children,\n}: ScrollControllerProps) => {\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0\n );\n },\n [elRef]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? \"scroll\" : \"\";\n const overflowX = el.scrollHeight > el.clientHeight ? \"scroll\" : \"\";\n\n Object.assign(el.style, {\n position: \"absolute\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [elRef]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [elRef]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (\n effect: React.EffectCallback,\n deps: React.DependencyList\n) => {\n const destructorRef = React.useRef<ReturnType<React.EffectCallback>>(noop);\n const { isScrollLock, beforeScrollLockFnSetRef } = useScroll();\n\n // Изменяем effectCallback только при изменении deps\n const effectCallback = React.useCallback(() => {\n destructorRef.current = effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n // Добавляем effectCallback в список функций, которые необходимо вызвать\n // до блокировки\n React.useEffect(() => {\n const beforeSet = beforeScrollLockFnSetRef?.current;\n if (!beforeSet) {\n return noop;\n }\n\n beforeSet.add(effectCallback);\n\n return () => {\n beforeSet.delete(effectCallback);\n };\n }, [beforeScrollLockFnSetRef, effectCallback]);\n\n // Вызываем сбрасывающую функцию, после отключения блокировки\n React.useEffect(() => {\n if (!isScrollLock && destructorRef.current) {\n destructorRef.current();\n }\n }, [isScrollLock]);\n};\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"file":"ScrollContext.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["generateVKUITokensClassName","platform","appearance","tokensPlatform","Platform","ANDROID","IOS","VKCOM","AppearanceProvider","children","scheme","React","Children","map","child","isValidElement","cloneElement","className","props"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["generateVKUITokensClassName","platform","appearance","tokensPlatform","Platform","ANDROID","IOS","VKCOM","AppearanceProvider","children","scheme","React","Children","map","child","isValidElement","cloneElement","className","props"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAOO,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,QADyC,EAEzCC,UAFyC,EAG9B;AACX,MAAIC,cAAJ;;AACA,UAAQF,QAAR;AACE,SAAKG,mBAASC,OAAd;AACEF,MAAAA,cAAc,GAAG,QAAjB;AACA;;AACF,SAAKC,mBAASE,GAAd;AACEH,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF,SAAKC,mBAASG,KAAd;AACEJ,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF;AACEA,MAAAA,cAAc,GAAGF,QAAjB;AAXJ;;AAcA,yBAAgBE,cAAhB,eAAmCD,UAAnC;AACD,CApBM;AAsBP;AACA;AACA;;;;;AACO,IAAMM,kBAAkB,GAAG,SAArBA,kBAAqB,OAGH;AAAA,MAF7BC,QAE6B,QAF7BA,QAE6B;AAAA,6BAD7BP,UAC6B;AAAA,MAD7BA,UAC6B,gCADhB,OACgB;AAC7B,MAAMD,QAAQ,GAAG,+BAAjB;AACA,MAAMS,MAAM,GAAG,0BAAU;AACvBT,IAAAA,QAAQ,EAARA,QADuB;AAEvBC,IAAAA,UAAU,EAAVA;AAFuB,GAAV,CAAf;AAKA,SACE,qCAAC,oDAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEA;AAA3C,KACGS,KAAK,CAACC,QAAN,CAAeC,GAAf,CAAmBJ,QAAnB,EAA6B,UAACK,KAAD,EAAW;AACvC,sBAAIH,KAAK,CAACI,cAAN,CAAqBD,KAArB,CAAJ,EAAiC;AAC/B,0BAAOH,KAAK,CAACK,YAAN,CAAmBF,KAAnB,EAA0B;AAC/BG,QAAAA,SAAS,EAAE,kCACTH,KAAK,CAACI,KAAN,CAAYD,SADH,gBAEFP,MAFE,GAGTV,2BAA2B,CAACC,QAAD,EAAWC,UAAX,CAHlB;AADoB,OAA1B,CAAP;AAOD;;AACD,WAAOY,KAAP;AACD,GAXA,CADH,CADF;AAgBD,CA1BM","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { getScheme } from \"../../helpers/getScheme\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n children?: React.ReactNode;\n}\n\nexport const generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider = ({\n children,\n appearance = \"light\",\n}: AppearanceProviderProps) => {\n const platform = usePlatform();\n const scheme = getScheme({\n platform,\n appearance,\n });\n\n return (\n <AppearanceProviderContext.Provider value={appearance}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n `vkui${scheme}`,\n generateVKUITokensClassName(platform, appearance)\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"file":"AppearanceProvider.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":["AVATAR_DEFAULT_SIZE","AVATAR_DEFAULT_SHADOW","Avatar","alt","crossOrigin","decoding","height","loading","referrerPolicy","sizes","src","srcSet","useMap","width","getRef","size","shadow","mode","className","children","getRootRef","style","ariaLabel","badge","overlayIcon","overlayMode","passedOverlayAction","overlayAction","onClick","restProps","hasMouse","React","useState","failedImage","setFailedImage","onImageError","onImageLoad","borderRadius","hasSrc","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;AAuBO,IAAMA,mBAAmB,GAAG,EAA5B;;AACA,IAAMC,qBAAqB,GAAG,IAA9B;AAEP;AACA;AACA;;;;AACO,IAAMC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":["AVATAR_DEFAULT_SIZE","AVATAR_DEFAULT_SHADOW","Avatar","alt","crossOrigin","decoding","height","loading","referrerPolicy","sizes","src","srcSet","useMap","width","getRef","size","shadow","mode","className","children","getRootRef","style","ariaLabel","badge","overlayIcon","overlayMode","passedOverlayAction","overlayAction","onClick","restProps","hasMouse","React","useState","failedImage","setFailedImage","onImageError","onImageLoad","borderRadius","hasSrc","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;AAuBO,IAAMA,mBAAmB,GAAG,EAA5B;;AACA,IAAMC,qBAAqB,GAAG,IAA9B;AAEP;AACA;AACA;;;;AACO,IAAMC,MAAM,GAAG,SAATA,MAAS,OA2BH;AAAA,MA1BjBC,GA0BiB,QA1BjBA,GA0BiB;AAAA,MAzBjBC,WAyBiB,QAzBjBA,WAyBiB;AAAA,MAxBjBC,QAwBiB,QAxBjBA,QAwBiB;AAAA,MAvBjBC,MAuBiB,QAvBjBA,MAuBiB;AAAA,MAtBjBC,OAsBiB,QAtBjBA,OAsBiB;AAAA,MArBjBC,cAqBiB,QArBjBA,cAqBiB;AAAA,MApBjBC,KAoBiB,QApBjBA,KAoBiB;AAAA,MAnBjBC,GAmBiB,QAnBjBA,GAmBiB;AAAA,MAlBjBC,MAkBiB,QAlBjBA,MAkBiB;AAAA,MAjBjBC,MAiBiB,QAjBjBA,MAiBiB;AAAA,MAhBjBC,KAgBiB,QAhBjBA,KAgBiB;AAAA,MAfjBC,MAeiB,QAfjBA,MAeiB;AAAA,uBAdjBC,IAciB;AAAA,MAdjBA,IAciB,0BAdVf,mBAcU;AAAA,yBAbjBgB,MAaiB;AAAA,MAbjBA,MAaiB,4BAbRf,qBAaQ;AAAA,uBAZjBgB,IAYiB;AAAA,MAZjBA,IAYiB,0BAZV,SAYU;AAAA,MAXjBC,SAWiB,QAXjBA,SAWiB;AAAA,MAVjBC,QAUiB,QAVjBA,QAUiB;AAAA,MATjBC,UASiB,QATjBA,UASiB;AAAA,MARjBC,KAQiB,QARjBA,KAQiB;AAAA,MAPHC,SAOG,QAPjB,YAOiB;AAAA,MANjBC,KAMiB,QANjBA,KAMiB;AAAA,MALjBC,WAKiB,QALjBA,WAKiB;AAAA,8BAJjBC,WAIiB;AAAA,MAJjBA,WAIiB,iCAJH,OAIG;AAAA,MAHFC,mBAGE,QAHjBC,aAGiB;AAAA,MAFjBC,OAEiB,QAFjBA,OAEiB;AAAA,MADdC,SACc;;AACjB,uBAAqB,oCAArB;AAAA,MAAQC,QAAR,kBAAQA,QAAR;;AACA,wBAAsCC,KAAK,CAACC,QAAN,CAAe,KAAf,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAEA,MAAMP,aAAa,GAAGD,mBAAH,aAAGA,mBAAH,cAAGA,mBAAH,GAA2BI,QAAQ,GAAG,OAAH,GAAa,QAAnE;;AAEA,MAAMK,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzBD,IAAAA,cAAc,CAAC,IAAD,CAAd;AACD,GAFD;;AAIA,MAAME,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxBF,IAAAA,cAAc,CAAC,KAAD,CAAd;AACD,GAFD;;AAIA,MAAIG,YAA6B,GAAG,KAApC;;AAEA,UAAQpB,IAAR;AACE,SAAK,OAAL;AACEF,MAAAA,IAAI,GAAG,EAAP,KAAcsB,YAAY,GAAG,CAA7B;AACAtB,MAAAA,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BsB,YAAY,GAAG,CAA3C;AACAtB,MAAAA,IAAI,IAAI,EAAR,KAAesB,YAAY,GAAG,CAA9B;AACA;;AACF,SAAK,KAAL;AACEtB,MAAAA,IAAI,IAAI,EAAR,KAAesB,YAAY,GAAG,CAA9B;AACAtB,MAAAA,IAAI,GAAG,EAAP,IAAaA,IAAI,GAAG,EAApB,KAA2BsB,YAAY,GAAG,EAA1C;AACAtB,MAAAA,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BsB,YAAY,GAAG,EAA3C;AACAtB,MAAAA,IAAI,IAAI,EAAR,IAAcA,IAAI,GAAG,EAArB,KAA4BsB,YAAY,GAAG,EAA3C;AACAtB,MAAAA,IAAI,IAAI,EAAR,KAAesB,YAAY,GAAG,EAA9B;AACA;;AACF;AACE;AAdJ;;AAiBA,MAAMC,MAAM,GAAG5B,GAAG,IAAIC,MAAtB;AAEA,SACE,uEACMkB,SADN;AAEE;AACA,IAAA,SAAS,EAAE,4BACT,QADS,yBAEOZ,IAFP,wBAGKF,IAHL,GAIT;AACE,wBAAkBC,MADpB;AAEE,wBAAkBiB;AAFpB,KAJS,CAHb;AAYE,IAAA,SAAS,EAAEf,SAZb;AAaE,IAAA,GAAG,EAAEE,UAbP;AAcE,IAAA,IAAI,EAAEkB,MAAM,GAAG,KAAH,GAAW,cAdzB;AAeE,kBAAYnC,GAAG,IAAImB,SAfrB;AAgBE,IAAA,OAAO,EAAE,CAACE,WAAD,GAAeI,OAAf,GAAyBW,SAhBpC;AAiBE,IAAA,KAAK,8DAAOlB,KAAP;AAAcR,MAAAA,KAAK,EAAEE,IAArB;AAA2BT,MAAAA,MAAM,EAAES,IAAnC;AAAyCsB,MAAAA,YAAY,EAAZA;AAAzC;AAjBP,MAmBGC,MAAM,IACL;AACE,IAAA,WAAW,EAAElC,WADf;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,MAAM,EAAEC,MAHV;AAIE,IAAA,OAAO,EAAEC,OAJX;AAKE,IAAA,cAAc,EAAEC,cALlB;AAME,IAAA,KAAK,EAAEC,KANT;AAOE,IAAA,GAAG,EAAEC,GAPP;AAQE,IAAA,MAAM,EAAEC,MARV;AASE,IAAA,MAAM,EAAEC,MATV;AAUE,IAAA,KAAK,EAAEC,KAVT;AAWE,IAAA,GAAG,EAAEC,MAXP;AAYE,IAAA,OAAO,EAAEqB,YAZX;AAaE,IAAA,MAAM,EAAEC,WAbV;AAcE,IAAA,SAAS,EAAC,aAdZ;AAeE,IAAA,GAAG,EAAC;AAfN,IApBJ,EAsCGjB,QAAQ,IAAI;AAAK,IAAA,SAAS,EAAC;AAAf,KAAmCA,QAAnC,CAtCf,EAuCGK,WAAW,IACV,qCAAC,kBAAD;AACE,IAAA,SAAS,EAAC,QADZ,CAEE;AAFF;AAGE,IAAA,SAAS,EAAE,4BAAW,iBAAX,EAA8B;AACvC,kCAA4BG,aAAa,KAAK,QADP;AAEvC,gCAA0BF,WAAW,KAAK,OAFH;AAGvC,+BAAyBA,WAAW,KAAK;AAHF,KAA9B,CAHb;AAQE,IAAA,SAAS,EAAC,0BARZ;AASE,IAAA,gBAAgB,EAAC,gCATnB;AAUE,IAAA,SAAS,EAAE,KAVb;AAWE,IAAA,OAAO,EAAEG;AAXX,KAaGJ,WAbH,CAxCJ,EAwDGD,KAAK,IACJ;AACE;AACA,IAAA,SAAS,EAAE,4BAAW,eAAX,EAA4B;AACrC,8BAAwBR,IAAI,IAAI,EADK;AAErC,+BACEQ,KAAK,KAAK,QAAV,IAAsBA,KAAK,KAAK;AAHG,KAA5B;AAFb,KAQGA,KAAK,KAAK,QAAV,GACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,mBAAD;AACE,IAAA,KAAK,EAAER,IAAI,IAAI,EAAR,GAAa,EAAb,GAAkB,EAD3B;AAEE,IAAA,MAAM,EAAEA,IAAI,IAAI,EAAR,GAAa,EAAb,GAAkB;AAF5B,IADF,CADD,GAOGQ,KAAK,KAAK,eAAV,GACF;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,qCAAC,yBAAD;AACE,IAAA,KAAK,EAAER,IAAI,IAAI,EAAR,GAAa,CAAb,GAAiB,CAD1B;AAEE,IAAA,MAAM,EAAEA,IAAI,IAAI,EAAR,GAAa,EAAb,GAAkB;AAF5B,IADF,CADE,GAQFQ,KAvBJ,CAzDJ,CADF;AAuFD,CArJM","sourcesContent":["import * as React from \"react\";\nimport { Icon12Circle, Icon12OnlineMobile } from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport \"./Avatar.css\";\n\nexport interface AvatarProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Рекомендуемый сет значений: 96 | 88 | 80 | 72 | 64 | 56 | 48 | 44 | 40 | 36 | 32 | 28 | 24\n */\n size?: number;\n mode?: \"default\" | \"image\" | \"app\";\n shadow?: boolean;\n badge?: \"online\" | \"online-mobile\" | JSX.Element;\n overlayIcon?: JSX.Element;\n overlayMode?: \"dark\" | \"light\";\n /**\n * Поведение показа overlay: \"hover\" - при наведении, \"always\" - всегда\n */\n overlayAction?: \"hover\" | \"always\";\n}\n\nexport const AVATAR_DEFAULT_SIZE = 48;\nexport const AVATAR_DEFAULT_SHADOW = true;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Avatar\n */\nexport const Avatar = ({\n alt,\n crossOrigin,\n decoding,\n height,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n width,\n getRef,\n size = AVATAR_DEFAULT_SIZE,\n shadow = AVATAR_DEFAULT_SHADOW,\n mode = \"default\",\n className,\n children,\n getRootRef,\n style,\n \"aria-label\": ariaLabel,\n badge,\n overlayIcon,\n overlayMode = \"light\",\n overlayAction: passedOverlayAction,\n onClick,\n ...restProps\n}: AvatarProps) => {\n const { hasMouse } = useAdaptivity();\n const [failedImage, setFailedImage] = React.useState(false);\n\n const overlayAction = passedOverlayAction ?? (hasMouse ? \"hover\" : \"always\");\n\n const onImageError = () => {\n setFailedImage(true);\n };\n\n const onImageLoad = () => {\n setFailedImage(false);\n };\n\n let borderRadius: string | number = \"50%\";\n\n switch (mode) {\n case \"image\":\n size < 64 && (borderRadius = 4);\n size >= 64 && size < 96 && (borderRadius = 6);\n size >= 96 && (borderRadius = 8);\n break;\n case \"app\":\n size <= 40 && (borderRadius = 8);\n size > 40 && size < 56 && (borderRadius = 10);\n size >= 56 && size < 64 && (borderRadius = 12);\n size >= 64 && size < 84 && (borderRadius = 16);\n size >= 84 && (borderRadius = 18);\n break;\n default:\n break;\n }\n\n const hasSrc = src || srcSet;\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n \"Avatar\",\n `Avatar--type-${mode}`,\n `Avatar--sz-${size}`,\n {\n \"Avatar--shadow\": shadow,\n \"Avatar--failed\": failedImage,\n }\n )}\n className={className}\n ref={getRootRef}\n role={hasSrc ? \"img\" : \"presentation\"}\n aria-label={alt || ariaLabel}\n onClick={!overlayIcon ? onClick : undefined}\n style={{ ...style, width: size, height: size, borderRadius }}\n >\n {hasSrc && (\n <img\n crossOrigin={crossOrigin}\n decoding={decoding}\n height={height}\n loading={loading}\n referrerPolicy={referrerPolicy}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={width}\n ref={getRef}\n onError={onImageError}\n onLoad={onImageLoad}\n vkuiClass=\"Avatar__img\"\n alt=\"\"\n />\n )}\n {children && <div vkuiClass=\"Avatar__children\">{children}</div>}\n {overlayIcon && (\n <Tappable\n Component=\"button\"\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Avatar__overlay\", {\n \"Avatar__overlay--visible\": overlayAction === \"always\",\n \"Avatar__overlay--light\": overlayMode === \"light\",\n \"Avatar__overlay--dark\": overlayMode === \"dark\",\n })}\n hoverMode=\"Avatar__overlay--visible\"\n focusVisibleMode=\"Avatar__overlay--focus-visible\"\n hasActive={false}\n onClick={onClick}\n >\n {overlayIcon}\n </Tappable>\n )}\n {badge && (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Avatar__badge\", {\n \"Avatar__badge--large\": size >= 96,\n \"Avatar__badge--shadow\":\n badge !== \"online\" && badge !== \"online-mobile\",\n })}\n >\n {badge === \"online\" ? (\n <div vkuiClass=\"Avatar__badge-online\">\n <Icon12Circle\n width={size >= 72 ? 15 : 12}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : badge === \"online-mobile\" ? (\n <div vkuiClass=\"Avatar__badge-online-mobile\">\n <Icon12OnlineMobile\n width={size >= 72 ? 9 : 8}\n height={size >= 72 ? 15 : 12}\n />\n </div>\n ) : (\n badge\n )}\n </div>\n )}\n </div>\n );\n};\n"],"file":"Avatar.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"names":["Badge","mode","restProps"],"mappings":";;;;;;;;;;;;;;;AACA;;;;AAOA;AACA;AACA;AACO,IAAMA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"names":["Badge","mode","restProps"],"mappings":";;;;;;;;;;;;;;;AACA;;;;AAOA;AACA;AACA;AACO,IAAMA,KAAK,GAAG,SAARA,KAAQ;AAAA,uBAAGC,IAAH;AAAA,MAAGA,IAAH,0BAAU,KAAV;AAAA,MAAoBC,SAApB;AAAA,SACnB;AAAM,IAAA,SAAS,EAAE,4BAAW,OAAX,mBAA8BD,IAA9B;AAAjB,KAA4DC,SAA5D,EADmB;AAAA,CAAd","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport \"./Badge.css\";\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLElement> {\n mode: \"new\" | \"prominent\";\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n */\nexport const Badge = ({ mode = \"new\", ...restProps }: BadgeProps) => (\n <span vkuiClass={classNames(\"Badge\", `Badge--${mode}`)} {...restProps} />\n);\n"],"file":"Badge.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Banner/Banner.tsx"],"names":["BannerHeader","size","restProps","Banner","mode","imageTheme","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","platform","SubheaderTypography","Text","Subhead","IOS","undefined","React","Children","count"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Banner/Banner.tsx"],"names":["BannerHeader","size","restProps","Banner","mode","imageTheme","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","platform","SubheaderTypography","Text","Subhead","IOS","undefined","React","Children","count"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasChildren } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { IOS } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport {\n Icon24Chevron,\n Icon24DismissSubstract,\n Icon24DismissDark,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Title } from \"../Typography/Title/Title\";\nimport \"./Banner.css\";\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Тип баннера.\n */\n mode?: \"tint\" | \"image\";\n size?: \"s\" | \"m\";\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: \"dismiss\" | \"expand\";\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера. <br />\n * Это свойство следует использовать без указания `header` и `subheader`.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: \"light\" | \"dark\";\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки, отображаемые в баннере.\n *\n * - В режиме `tint` или в `image` со светлым фоном рекомендуется использовать только `<Button mode=\"primary\" />` или `<Button mode=\"tertiary\" hasHover={false} />`.\n * - В режиме `image` с тёмным фоном – `<Button mode=\"overlay_primary\" />`.\n */\n actions?: React.ReactNode;\n}\n\ntype BannerTypographyProps = Pick<BannerProps, \"size\"> &\n HasComponent &\n HasChildren;\n\nconst BannerHeader = ({ size, ...restProps }: BannerTypographyProps) => {\n return size === \"m\" ? (\n <Title level=\"2\" weight=\"2\" {...restProps} />\n ) : (\n <Headline weight=\"2\" {...restProps} />\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Banner\n */\nexport const Banner = ({\n mode = \"tint\",\n imageTheme = \"dark\",\n size = \"s\",\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel = \"Скрыть\",\n ...restProps\n}: BannerProps) => {\n const platform = usePlatform();\n\n const SubheaderTypography = size === \"m\" ? Text : Subhead;\n\n return (\n <section\n {...restProps}\n vkuiClass={classNames(\n \"Banner\",\n platform === IOS && \"Banner--ios\",\n `Banner--md-${mode}`,\n `Banner--sz-${size}`,\n mode === \"image\" && imageTheme === \"dark\" && \"Banner--inverted\"\n )}\n >\n <Tappable\n vkuiClass=\"Banner__in\"\n activeMode={platform === IOS ? \"opacity\" : \"background\"}\n disabled={asideMode !== \"expand\"}\n role={asideMode === \"expand\" ? \"button\" : undefined}\n >\n {mode === \"image\" && background && (\n <div aria-hidden=\"true\" vkuiClass=\"Banner__bg\">\n {background}\n </div>\n )}\n\n {before && <div vkuiClass=\"Banner__before\">{before}</div>}\n\n <div vkuiClass=\"Banner__content\">\n {hasReactNode(header) && (\n <BannerHeader\n size={size}\n Component=\"span\"\n vkuiClass=\"Banner__header\"\n >\n {header}\n </BannerHeader>\n )}\n {hasReactNode(subheader) && (\n <SubheaderTypography Component=\"span\" vkuiClass=\"Banner__subheader\">\n {subheader}\n </SubheaderTypography>\n )}\n {hasReactNode(text) && <Text vkuiClass=\"Banner__text\">{text}</Text>}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div vkuiClass=\"Banner__actions\">{actions}</div>\n )}\n </div>\n\n {!!asideMode && (\n <div vkuiClass=\"Banner__aside\">\n {asideMode === \"expand\" && <Icon24Chevron />}\n\n {asideMode === \"dismiss\" && (\n <IconButton\n aria-label={dismissLabel}\n vkuiClass=\"Banner__dismiss\"\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {platform === IOS ? (\n mode === \"image\" ? (\n <Icon24DismissDark />\n ) : (\n <Icon24DismissSubstract />\n )\n ) : (\n <Icon24Cancel />\n )}\n </IconButton>\n )}\n </div>\n )}\n </Tappable>\n </section>\n );\n};\n"],"file":"Banner.js"}
|
|
@@ -25,7 +25,7 @@ var _classNames = require("../../lib/classNames");
|
|
|
25
25
|
|
|
26
26
|
var _Touch = require("../Touch/Touch");
|
|
27
27
|
|
|
28
|
-
var _HorizontalScrollArrow =
|
|
28
|
+
var _HorizontalScrollArrow = require("../HorizontalScroll/HorizontalScrollArrow");
|
|
29
29
|
|
|
30
30
|
var _useExternRef = require("../../hooks/useExternRef");
|
|
31
31
|
|
|
@@ -43,7 +43,7 @@ var _excluded = ["bullets", "getRootRef", "children", "slideWidth", "slideIndex"
|
|
|
43
43
|
var ANIMATION_DURATION = 0.24;
|
|
44
44
|
var LAYOUT_DEFAULT_STATE = {
|
|
45
45
|
containerWidth: 0,
|
|
46
|
-
|
|
46
|
+
viewportOffsetWidth: 0,
|
|
47
47
|
layerWidth: 0,
|
|
48
48
|
min: 0,
|
|
49
49
|
max: 0,
|
|
@@ -136,7 +136,7 @@ var BaseGallery = function BaseGallery(_ref) {
|
|
|
136
136
|
if (isCenterWithCustomWidth) {
|
|
137
137
|
var _layoutState$current$4;
|
|
138
138
|
|
|
139
|
-
var viewportWidth = (_layoutState$current$4 = layoutState.current.
|
|
139
|
+
var viewportWidth = (_layoutState$current$4 = layoutState.current.viewportOffsetWidth) !== null && _layoutState$current$4 !== void 0 ? _layoutState$current$4 : 0;
|
|
140
140
|
return viewportWidth / 2 - coordX - width / 2;
|
|
141
141
|
}
|
|
142
142
|
|
|
@@ -180,24 +180,24 @@ var BaseGallery = function BaseGallery(_ref) {
|
|
|
180
180
|
};
|
|
181
181
|
})) !== null && _React$Children$map !== void 0 ? _React$Children$map : [];
|
|
182
182
|
var localContainerWidth = (_rootRef$current$offs = (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.offsetWidth) !== null && _rootRef$current$offs !== void 0 ? _rootRef$current$offs : 0;
|
|
183
|
-
var
|
|
183
|
+
var localviewportOffsetWidth = (_viewportRef$current$ = (_viewportRef$current = viewportRef.current) === null || _viewportRef$current === void 0 ? void 0 : _viewportRef$current.offsetWidth) !== null && _viewportRef$current$ !== void 0 ? _viewportRef$current$ : 0;
|
|
184
184
|
var localLayerWidth = localSlides.reduce(function (val, slide) {
|
|
185
185
|
return slide.width + val;
|
|
186
186
|
}, 0);
|
|
187
187
|
layoutState.current = {
|
|
188
188
|
containerWidth: localContainerWidth,
|
|
189
|
-
|
|
189
|
+
viewportOffsetWidth: localviewportOffsetWidth,
|
|
190
190
|
layerWidth: localLayerWidth,
|
|
191
191
|
max: (0, _helpers.calcMax)({
|
|
192
192
|
slides: localSlides,
|
|
193
|
-
|
|
193
|
+
viewportOffsetWidth: localviewportOffsetWidth,
|
|
194
194
|
isCenterWithCustomWidth: isCenterWithCustomWidth
|
|
195
195
|
}),
|
|
196
196
|
min: (0, _helpers.calcMin)({
|
|
197
197
|
containerWidth: localContainerWidth,
|
|
198
198
|
layerWidth: localLayerWidth,
|
|
199
199
|
slides: localSlides,
|
|
200
|
-
|
|
200
|
+
viewportOffsetWidth: localviewportOffsetWidth,
|
|
201
201
|
isCenterWithCustomWidth: isCenterWithCustomWidth,
|
|
202
202
|
align: align
|
|
203
203
|
}),
|
|
@@ -386,10 +386,10 @@ var BaseGallery = function BaseGallery(_ref) {
|
|
|
386
386
|
vkuiClass: (0, _classNames.classNames)("Gallery__bullet", index === slideIndex && "Gallery__bullet--active"),
|
|
387
387
|
key: index
|
|
388
388
|
});
|
|
389
|
-
})), showArrows && hasMouse && canSlideLeft && (0, _jsxRuntime.createScopedElement)(_HorizontalScrollArrow.
|
|
389
|
+
})), showArrows && hasMouse && canSlideLeft && (0, _jsxRuntime.createScopedElement)(_HorizontalScrollArrow.HorizontalScrollArrow, {
|
|
390
390
|
direction: "left",
|
|
391
391
|
onClick: slideLeft
|
|
392
|
-
}), showArrows && hasMouse && canSlideRight && (0, _jsxRuntime.createScopedElement)(_HorizontalScrollArrow.
|
|
392
|
+
}), showArrows && hasMouse && canSlideRight && (0, _jsxRuntime.createScopedElement)(_HorizontalScrollArrow.HorizontalScrollArrow, {
|
|
393
393
|
direction: "right",
|
|
394
394
|
onClick: slideRight
|
|
395
395
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/BaseGallery/BaseGallery.tsx"],"names":["ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewporOffsettWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","onEndProp","onEnd","align","showArrows","getRef","restProps","slidesStore","React","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasMouse","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewporOffsettWidth","localLayerWidth","reduce","val","slide","prevState","onResize","slideLeft","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","el"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport HorizontalScrollArrow from \"../HorizontalScroll/HorizontalScrollArrow\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { calcMax, calcMin } from \"./helpers\";\nimport {\n BaseGalleryProps,\n GallerySlidesState,\n LayoutState,\n ShiftingState,\n} from \"./types\";\nimport \"./BaseGallery.css\";\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewporOffsettWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = \"100%\",\n slideIndex = 0,\n isDraggable = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n onEnd: onEndProp,\n align = \"left\",\n showArrows,\n getRef,\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] =\n React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const { hasMouse } = useAdaptivity();\n\n const isCenterWithCustomWidth = slideWidth === \"custom\" && align === \"center\";\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewporOffsettWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(\n children,\n (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }\n ) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewporOffsettWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0\n );\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewporOffsettWidth: localViewporOffsettWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewporOffsettWidth: localViewporOffsettWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewporOffsettWidth: localViewporOffsettWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: calculateIndent(slideIndex),\n animation:\n options.animation ??\n prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, \"resize\", onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = () => {\n onChange?.(slideIndex - 1);\n onPrevClick?.();\n };\n\n const slideRight = () => {\n onChange?.(slideIndex + 1);\n onNextClick?.();\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX +\n shiftState.deltaX +\n expectDeltaX -\n (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(\n layoutState.current.slides[val].coordX + shift\n );\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (\n Math.abs(shiftState.deltaX) >\n layoutState.current.slides[targetSlide].width * 0.05\n ) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = () => {\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggable && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n // TODO исправить в рамках issue #2698\n onDragStart?.(e);\n\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n\n // TODO исправить в рамках issue #2698\n onEndProp?.({ targetIndex });\n };\n\n const indent = shiftState.dragging\n ? calculateDragIndent()\n : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft =\n !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === \"left\" &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== \"left\" && slideIndex < layoutState.current.slides.length - 1));\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"Gallery\",\n `Gallery--${align}`,\n shiftState.dragging && \"Gallery--dragging\",\n slideWidth === \"custom\" && \"Gallery--custom-width\"\n )}\n ref={rootRef}\n >\n <Touch\n vkuiClass=\"Gallery__viewport\"\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === \"custom\" ? \"100%\" : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div vkuiClass=\"Gallery__layer\" style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n vkuiClass=\"Gallery__slide\"\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden=\"true\"\n vkuiClass={classNames(\n \"Gallery__bullets\",\n `Gallery__bullets--${bullets}`\n )}\n >\n {React.Children.map(\n children,\n (_item: React.ReactNode, index: number) => (\n <div\n vkuiClass={classNames(\n \"Gallery__bullet\",\n index === slideIndex && \"Gallery__bullet--active\"\n )}\n key={index}\n />\n )\n )}\n </div>\n )}\n\n {showArrows && hasMouse && canSlideLeft && (\n <HorizontalScrollArrow direction=\"left\" onClick={slideLeft} />\n )}\n {showArrows && hasMouse && canSlideRight && (\n <HorizontalScrollArrow direction=\"right\" onClick={slideRight} />\n )}\n </div>\n );\n};\n"],"file":"BaseGallery.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/BaseGallery/BaseGallery.tsx"],"names":["ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","onEndProp","onEnd","align","showArrows","getRef","restProps","slidesStore","React","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasMouse","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localviewportOffsetWidth","localLayerWidth","reduce","val","slide","prevState","onResize","slideLeft","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","el"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HorizontalScrollArrow } from \"../HorizontalScroll/HorizontalScrollArrow\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport { calcMax, calcMin } from \"./helpers\";\nimport {\n BaseGalleryProps,\n GallerySlidesState,\n LayoutState,\n ShiftingState,\n} from \"./types\";\nimport \"./BaseGallery.css\";\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = \"100%\",\n slideIndex = 0,\n isDraggable = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n onEnd: onEndProp,\n align = \"left\",\n showArrows,\n getRef,\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] =\n React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const { hasMouse } = useAdaptivity();\n\n const isCenterWithCustomWidth = slideWidth === \"custom\" && align === \"center\";\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(\n children,\n (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }\n ) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localviewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0\n );\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localviewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localviewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localviewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: calculateIndent(slideIndex),\n animation:\n options.animation ??\n prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, \"resize\", onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = () => {\n onChange?.(slideIndex - 1);\n onPrevClick?.();\n };\n\n const slideRight = () => {\n onChange?.(slideIndex + 1);\n onNextClick?.();\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX +\n shiftState.deltaX +\n expectDeltaX -\n (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(\n layoutState.current.slides[val].coordX + shift\n );\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (\n Math.abs(shiftState.deltaX) >\n layoutState.current.slides[targetSlide].width * 0.05\n ) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = () => {\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggable && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n // TODO исправить в рамках issue #2698\n onDragStart?.(e);\n\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n\n // TODO исправить в рамках issue #2698\n onEndProp?.({ targetIndex });\n };\n\n const indent = shiftState.dragging\n ? calculateDragIndent()\n : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : \"none\",\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft =\n !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === \"left\" &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== \"left\" && slideIndex < layoutState.current.slides.length - 1));\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"Gallery\",\n `Gallery--${align}`,\n shiftState.dragging && \"Gallery--dragging\",\n slideWidth === \"custom\" && \"Gallery--custom-width\"\n )}\n ref={rootRef}\n >\n <Touch\n vkuiClass=\"Gallery__viewport\"\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === \"custom\" ? \"100%\" : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div vkuiClass=\"Gallery__layer\" style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n vkuiClass=\"Gallery__slide\"\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden=\"true\"\n vkuiClass={classNames(\n \"Gallery__bullets\",\n `Gallery__bullets--${bullets}`\n )}\n >\n {React.Children.map(\n children,\n (_item: React.ReactNode, index: number) => (\n <div\n vkuiClass={classNames(\n \"Gallery__bullet\",\n index === slideIndex && \"Gallery__bullet--active\"\n )}\n key={index}\n />\n )\n )}\n </div>\n )}\n\n {showArrows && hasMouse && canSlideLeft && (\n <HorizontalScrollArrow direction=\"left\" onClick={slideLeft} />\n )}\n {showArrows && hasMouse && canSlideRight && (\n <HorizontalScrollArrow direction=\"right\" onClick={slideRight} />\n )}\n </div>\n );\n};\n"],"file":"BaseGallery.js"}
|
|
@@ -12,8 +12,8 @@ var calcMin = function calcMin(_ref) {
|
|
|
12
12
|
layerWidth = _ref$layerWidth === void 0 ? 0 : _ref$layerWidth,
|
|
13
13
|
_ref$slides = _ref.slides,
|
|
14
14
|
slides = _ref$slides === void 0 ? [] : _ref$slides,
|
|
15
|
-
_ref$
|
|
16
|
-
|
|
15
|
+
_ref$viewportOffsetWi = _ref.viewportOffsetWidth,
|
|
16
|
+
viewportOffsetWidth = _ref$viewportOffsetWi === void 0 ? 0 : _ref$viewportOffsetWi,
|
|
17
17
|
align = _ref.align,
|
|
18
18
|
isCenterWithCustomWidth = _ref.isCenterWithCustomWidth;
|
|
19
19
|
|
|
@@ -22,16 +22,16 @@ var calcMin = function calcMin(_ref) {
|
|
|
22
22
|
return containerWidth - layerWidth;
|
|
23
23
|
|
|
24
24
|
case "right":
|
|
25
|
-
return
|
|
25
|
+
return viewportOffsetWidth - layerWidth;
|
|
26
26
|
|
|
27
27
|
case "center":
|
|
28
28
|
if (isCenterWithCustomWidth && slides.length) {
|
|
29
29
|
var _slides = slides[slides.length - 1],
|
|
30
30
|
coordX = _slides.coordX,
|
|
31
31
|
width = _slides.width;
|
|
32
|
-
return
|
|
32
|
+
return viewportOffsetWidth / 2 - coordX - width / 2;
|
|
33
33
|
} else {
|
|
34
|
-
return
|
|
34
|
+
return viewportOffsetWidth - (containerWidth - viewportOffsetWidth) / 2 - layerWidth;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
}
|
|
@@ -44,15 +44,15 @@ exports.calcMin = calcMin;
|
|
|
44
44
|
var calcMax = function calcMax(_ref2) {
|
|
45
45
|
var _ref2$slides = _ref2.slides,
|
|
46
46
|
slides = _ref2$slides === void 0 ? [] : _ref2$slides,
|
|
47
|
-
_ref2$
|
|
48
|
-
|
|
47
|
+
_ref2$viewportOffsetW = _ref2.viewportOffsetWidth,
|
|
48
|
+
viewportOffsetWidth = _ref2$viewportOffsetW === void 0 ? 0 : _ref2$viewportOffsetW,
|
|
49
49
|
isCenterWithCustomWidth = _ref2.isCenterWithCustomWidth;
|
|
50
50
|
|
|
51
51
|
if (isCenterWithCustomWidth && slides.length) {
|
|
52
52
|
var _slides$ = slides[0],
|
|
53
53
|
width = _slides$.width,
|
|
54
54
|
coordX = _slides$.coordX;
|
|
55
|
-
return
|
|
55
|
+
return viewportOffsetWidth / 2 - coordX - width / 2;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
return 0;
|