@vkontakte/vkui 7.4.4 → 7.5.1
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/README.md +2 -2
- package/dist/components/Accordion/Accordion.d.ts +8 -1
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js +9 -4
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionContent.js +4 -1
- package/dist/components/Accordion/AccordionContent.js.map +1 -1
- package/dist/components/Accordion/AccordionContext.d.ts +5 -0
- package/dist/components/Accordion/AccordionContext.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionContext.js +12 -0
- package/dist/components/Accordion/AccordionContext.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +1 -1
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +1 -1
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +1 -1
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +1 -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 +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +3 -3
- package/dist/components/AppRoot/AppRoot.js +1 -1
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.d.ts +1 -1
- package/dist/components/AspectRatio/AspectRatio.js +1 -1
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.js +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 +1 -1
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Banner/Banner.d.ts +3 -3
- package/dist/components/Banner/Banner.js +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.js +1 -1
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +1 -1
- package/dist/components/Calendar/Calendar.js +1 -1
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
- package/dist/components/CalendarRange/CalendarRange.js +1 -1
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.js +1 -1
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.d.ts +1 -1
- package/dist/components/CardGrid/CardGrid.js +1 -1
- package/dist/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.d.ts +1 -1
- package/dist/components/CardScroll/CardScroll.js +1 -1
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Cell/Cell.d.ts +1 -1
- package/dist/components/Cell/Cell.js +1 -1
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/CellButton/CellButton.d.ts +1 -1
- package/dist/components/CellButton/CellButton.js +1 -1
- package/dist/components/CellButton/CellButton.js.map +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroup.js +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +1 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/Chip/Chip.d.ts +1 -1
- package/dist/components/ChipsInputBase/Chip/Chip.js +1 -1
- package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.js +64 -37
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/components/ChipsInputBase/helpers.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/helpers.js +2 -0
- package/dist/components/ChipsInputBase/helpers.js.map +1 -1
- package/dist/components/ChipsInputBase/types.d.ts +5 -1
- package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/types.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +2 -2
- package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +7 -5
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/Clickable/Clickable.d.ts.map +1 -1
- package/dist/components/Clickable/Clickable.js +110 -18
- package/dist/components/Clickable/Clickable.js.map +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ContentBadge/ContentBadge.d.ts +1 -1
- package/dist/components/ContentBadge/ContentBadge.js +1 -1
- package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts +1 -1
- package/dist/components/ContentCard/ContentCard.js +1 -1
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/Counter/Counter.d.ts +1 -1
- package/dist/components/Counter/Counter.js +1 -1
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/components/CustomSelect/CustomSelect.js +1 -1
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +3 -3
- package/dist/components/CustomSelectOption/CustomSelectOption.js +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 +2 -3
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/DirectionProvider/DirectionProvider.d.ts +1 -1
- package/dist/components/DirectionProvider/DirectionProvider.js +1 -1
- package/dist/components/DirectionProvider/DirectionProvider.js.map +1 -1
- package/dist/components/Div/Div.d.ts +1 -1
- package/dist/components/Div/Div.js +1 -1
- package/dist/components/Div/Div.js.map +1 -1
- package/dist/components/DropZone/DropZone.d.ts +1 -1
- package/dist/components/DropZone/DropZone.js +1 -1
- package/dist/components/DropZone/DropZone.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts +1 -1
- package/dist/components/Epic/Epic.js +1 -1
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.d.ts +0 -3
- package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
- package/dist/components/Epic/ScrollSaver.js +1 -3
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/File/File.d.ts +1 -1
- package/dist/components/File/File.js +1 -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 +1 -1
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/Flex/Flex.d.ts +3 -0
- package/dist/components/Flex/Flex.d.ts.map +1 -1
- package/dist/components/Flex/Flex.js +3 -1
- package/dist/components/Flex/Flex.js.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.d.ts +0 -3
- package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.js +1 -3
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/Footer/Footer.d.ts +1 -1
- package/dist/components/Footer/Footer.js +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 +1 -1
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormItem/FormItem.d.ts +1 -1
- package/dist/components/FormItem/FormItem.js +1 -1
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +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 +1 -1
- package/dist/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/components/Gallery/Gallery.d.ts +1 -1
- package/dist/components/Gallery/Gallery.js +1 -1
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/Gradient/Gradient.d.ts +1 -1
- package/dist/components/Gradient/Gradient.js +1 -1
- package/dist/components/Gradient/Gradient.js.map +1 -1
- package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
- package/dist/components/GridAvatar/GridAvatar.js +1 -1
- package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/components/Group/Group.d.ts +1 -1
- package/dist/components/Group/Group.js +1 -1
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.d.ts +1 -1
- package/dist/components/Header/Header.js +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 +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +3 -0
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +3 -1
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/IconButton/IconButton.js +1 -1
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Image/Image.d.ts +1 -1
- package/dist/components/Image/Image.js +1 -1
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/ImageBase/ImageBase.d.ts +1 -1
- package/dist/components/ImageBase/ImageBase.js +1 -1
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/InfoRow/InfoRow.d.ts +1 -1
- package/dist/components/InfoRow/InfoRow.js +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 +1 -1
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Link/Link.js +1 -1
- 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 -1
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.d.ts +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/components/Mark/Mark.d.ts +1 -1
- package/dist/components/Mark/Mark.js +1 -1
- package/dist/components/Mark/Mark.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/components/ModalCard/ModalCard.js +1 -1
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +3 -3
- package/dist/components/ModalCardBase/ModalCardBase.js +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
- package/dist/components/ModalOutsideButton/ModalOutsideButton.js +1 -1
- package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/components/ModalPage/ModalPage.js +1 -1
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.js +2 -2
- package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +1 -1
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/components/NativeSelect/NativeSelect.js +1 -1
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts +3 -3
- package/dist/components/Pagination/Pagination.js +1 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +3 -3
- package/dist/components/Panel/Panel.js +1 -1
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +1 -1
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js +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 +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.js +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.d.ts +1 -1
- package/dist/components/Placeholder/Placeholder.js +1 -1
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.d.ts +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +1 -1
- package/dist/components/Popover/Popover.js +1 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +1 -1
- package/dist/components/Popper/Popper.js +1 -1
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/Progress/Progress.d.ts +1 -1
- package/dist/components/Progress/Progress.js +1 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/Radio/Radio.js +1 -1
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +3 -3
- package/dist/components/RichCell/RichCell.js +1 -1
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/Root/Root.d.ts +1 -1
- package/dist/components/Root/Root.js +1 -1
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/ScrollArrow/ScrollArrow.d.ts +1 -1
- package/dist/components/ScrollArrow/ScrollArrow.js +1 -1
- package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/components/Search/Search.d.ts +1 -1
- package/dist/components/Search/Search.js +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 +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +0 -3
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -3
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.js +1 -1
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
- package/dist/components/SelectionControl/SelectionControl.js +1 -1
- package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/components/Separator/Separator.d.ts +1 -1
- package/dist/components/Separator/Separator.js +1 -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 +1 -1
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.d.ts +3 -0
- package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.js +3 -1
- package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +3 -0
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +3 -0
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +1 -1
- package/dist/components/Slider/Slider.js +1 -1
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +1 -1
- package/dist/components/Snackbar/Snackbar.js +1 -1
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +1 -1
- package/dist/components/Spacing/Spacing.js +1 -1
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/Spinner/Spinner.d.ts +1 -1
- package/dist/components/Spinner/Spinner.js +1 -1
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts +1 -1
- package/dist/components/SplitCol/SplitCol.js +1 -1
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +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 +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 +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +1 -1
- package/dist/components/Switch/Switch.js +1 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.d.ts +1 -1
- package/dist/components/Tabbar/Tabbar.js +1 -1
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +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 +1 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts +3 -3
- package/dist/components/TabsItem/TabsItem.js +1 -1
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +1 -1
- package/dist/components/Textarea/Textarea.js +1 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/ToolButton/ToolButton.d.ts +1 -1
- package/dist/components/ToolButton/ToolButton.js +1 -1
- package/dist/components/ToolButton/ToolButton.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -1
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/TooltipBase/TooltipBase.d.ts +0 -2
- package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
- package/dist/components/TooltipBase/TooltipBase.js +0 -2
- package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
- package/dist/components/Touch/Touch.d.ts +1 -1
- package/dist/components/Touch/Touch.js +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 +1 -1
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
- package/dist/components/Typography/DisplayTitle/DisplayTitle.js +1 -1
- package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
- package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +1 -1
- package/dist/components/Typography/EllipsisText/EllipsisText.js +1 -1
- package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
- package/dist/components/Typography/Footnote/Footnote.d.ts +1 -1
- package/dist/components/Typography/Footnote/Footnote.js +1 -1
- package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts +1 -1
- package/dist/components/Typography/Headline/Headline.js +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 +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 +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 +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 +1 -1
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +4 -1
- package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
- package/dist/components/UnstyledTextField/UnstyledTextField.js +4 -1
- package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.d.ts +1 -1
- package/dist/components/UsersStack/UsersStack.js +1 -1
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/View.d.ts +1 -1
- package/dist/components/View/View.js +1 -1
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +1 -1
- package/dist/components/WriteBar/WriteBar.js +1 -1
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/Accordion/Accordion.js +6 -2
- package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
- package/dist/cssm/components/Accordion/AccordionContent.js +4 -1
- package/dist/cssm/components/Accordion/AccordionContent.js.map +1 -1
- package/dist/cssm/components/Accordion/AccordionContext.js +12 -0
- package/dist/cssm/components/Accordion/AccordionContext.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +1 -1
- package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +1 -1
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.js +1 -1
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Badge/Badge.js +1 -1
- package/dist/cssm/components/Badge/Badge.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js +1 -1
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Button/Button.js +1 -1
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.js +1 -1
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/Card/Card.js +1 -1
- package/dist/cssm/components/Card/Card.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.js +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js +1 -1
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/CellButton/CellButton.js +1 -1
- package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
- package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js +1 -1
- package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/Chip/Chip.js +1 -1
- package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +59 -34
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +17 -3
- package/dist/cssm/components/ChipsInputBase/helpers.js +2 -0
- package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -4
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/Clickable/Clickable.js +77 -14
- package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
- package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
- package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadge.js +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js +1 -1
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +2 -3
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/DirectionProvider/DirectionProvider.js +1 -1
- package/dist/cssm/components/DirectionProvider/DirectionProvider.js.map +1 -1
- package/dist/cssm/components/Div/Div.js +1 -1
- package/dist/cssm/components/Div/Div.js.map +1 -1
- package/dist/cssm/components/DropZone/DropZone.js +1 -1
- package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.js +1 -1
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js +1 -3
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/File/File.js +1 -1
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/Flex/Flex.js +3 -1
- package/dist/cssm/components/Flex/Flex.js.map +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.js +1 -3
- package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cssm/components/Footer/Footer.js +1 -1
- package/dist/cssm/components/Footer/Footer.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.js +1 -1
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +1 -1
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.js +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.js +1 -1
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/Gradient/Gradient.js +1 -1
- package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.js +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cssm/components/Group/Group.js +1 -1
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Header/Header.js +1 -1
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +3 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.js +1 -1
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/Image/Image.js +1 -1
- package/dist/cssm/components/Image/Image.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cssm/components/Input/Input.js +1 -1
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/Link/Link.js +1 -1
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/List/List.js +1 -1
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cssm/components/Mark/Mark.js +1 -1
- package/dist/cssm/components/Mark/Mark.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.module.css +14 -9
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js +1 -1
- package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.module.css +6 -2
- package/dist/cssm/components/ModalPage/ModalPageBase.js +2 -2
- package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.js +1 -1
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.js +1 -1
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js +1 -1
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.js +1 -1
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js +1 -1
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.js +1 -1
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +1 -1
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.js +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.js +1 -1
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/Root/Root.js +1 -1
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/ScrollArrow/ScrollArrow.js +1 -1
- package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/cssm/components/Search/Search.js +1 -1
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -3
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/Select/Select.js +1 -1
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControl.js +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/cssm/components/Separator/Separator.js +1 -1
- package/dist/cssm/components/Separator/Separator.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleGrid/SimpleGrid.js +3 -1
- package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
- package/dist/cssm/components/Skeleton/Skeleton.js +3 -0
- package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/cssm/components/Slider/Slider.js +1 -1
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.js +1 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/Spinner/Spinner.js +1 -1
- package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.js +1 -1
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.js +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.js +1 -1
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +1 -1
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/ToolButton/ToolButton.js +1 -1
- package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/TooltipBase/TooltipBase.js +0 -2
- package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.js +1 -1
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js +1 -1
- package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
- package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js +1 -1
- package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.js +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.js +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.js +1 -1
- package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.js +1 -1
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js +4 -1
- package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/View/View.js +1 -1
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivity.js +1 -1
- package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.js +1 -1
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/accessibility.js +4 -0
- package/dist/cssm/lib/accessibility.js.map +1 -1
- package/dist/hooks/useAdaptivity.d.ts +1 -1
- package/dist/hooks/useAdaptivity.js +1 -1
- package/dist/hooks/useAdaptivity.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/SSR.d.ts +1 -1
- package/dist/lib/SSR.js +1 -1
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/accessibility.d.ts +1 -1
- package/dist/lib/accessibility.d.ts.map +1 -1
- package/dist/lib/accessibility.js +4 -0
- package/dist/lib/accessibility.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +5 -4
- package/src/components/Accordion/Accordion.tsx +13 -4
- package/src/components/Accordion/AccordionContent.tsx +5 -1
- package/src/components/Accordion/AccordionContext.tsx +17 -0
- package/src/components/ActionSheet/ActionSheet.tsx +1 -1
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
- package/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx +1 -1
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +1 -1
- package/src/components/Alert/Alert.tsx +1 -1
- package/src/components/AppRoot/AppRoot.mdx +1 -1
- package/src/components/AppRoot/AppRoot.tsx +3 -3
- package/src/components/AspectRatio/AspectRatio.tsx +1 -1
- package/src/components/Avatar/Avatar.tsx +1 -1
- package/src/components/Badge/Badge.tsx +1 -1
- package/src/components/Banner/Banner.tsx +3 -3
- package/src/components/Button/Button.tsx +1 -1
- package/src/components/ButtonGroup/ButtonGroup.tsx +1 -1
- package/src/components/Calendar/Calendar.tsx +1 -1
- package/src/components/CalendarRange/CalendarRange.tsx +1 -1
- package/src/components/Card/Card.tsx +1 -1
- package/src/components/CardGrid/CardGrid.tsx +1 -1
- package/src/components/CardScroll/CardScroll.tsx +1 -1
- package/src/components/Cell/Cell.tsx +1 -1
- package/src/components/CellButton/CellButton.tsx +1 -1
- package/src/components/CellButtonGroup/CellButtonGroup.tsx +1 -1
- package/src/components/Checkbox/Checkbox.tsx +1 -1
- package/src/components/ChipsInput/ChipsInput.tsx +1 -1
- package/src/components/ChipsInputBase/Chip/Chip.tsx +1 -1
- package/src/components/ChipsInputBase/ChipsInputBase.module.css +15 -3
- package/src/components/ChipsInputBase/ChipsInputBase.module.css.d.ts.map +1 -1
- package/src/components/ChipsInputBase/ChipsInputBase.tsx +68 -37
- package/src/components/ChipsInputBase/helpers.ts +2 -0
- package/src/components/ChipsInputBase/types.ts +5 -1
- package/src/components/ChipsSelect/ChipsSelect.tsx +5 -2
- package/src/components/Clickable/Clickable.tsx +141 -32
- package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +1 -1
- package/src/components/ConfigProvider/ConfigProvider.tsx +1 -1
- package/src/components/ContentBadge/ContentBadge.tsx +1 -1
- package/src/components/ContentCard/ContentCard.tsx +1 -1
- package/src/components/Counter/Counter.tsx +1 -1
- package/src/components/CustomScrollView/CustomScrollView.tsx +1 -1
- package/src/components/CustomSelect/CustomSelect.tsx +2 -2
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +3 -3
- package/src/components/DateInput/DateInput.tsx +1 -1
- package/src/components/DateRangeInput/DateRangeInput.tsx +1 -1
- package/src/components/DirectionProvider/DirectionProvider.tsx +1 -1
- package/src/components/Div/Div.tsx +1 -1
- package/src/components/DropZone/DropZone.tsx +1 -1
- package/src/components/Epic/Epic.tsx +1 -1
- package/src/components/Epic/ScrollSaver.tsx +0 -3
- package/src/components/File/File.tsx +1 -1
- package/src/components/FixedLayout/FixedLayout.tsx +1 -1
- package/src/components/Flex/Flex.tsx +3 -0
- package/src/components/FocusTrap/FocusTrap.tsx +0 -3
- package/src/components/Footer/Footer.tsx +1 -1
- package/src/components/FormField/FormField.tsx +3 -3
- package/src/components/FormItem/FormItem.tsx +1 -1
- 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.tsx +1 -1
- package/src/components/GridAvatar/GridAvatar.tsx +1 -1
- package/src/components/Group/Group.tsx +1 -1
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/HorizontalCell/HorizontalCell.tsx +1 -1
- package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +3 -0
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +1 -1
- package/src/components/IconButton/IconButton.tsx +1 -1
- package/src/components/Image/Image.tsx +1 -1
- package/src/components/ImageBase/ImageBase.tsx +1 -1
- package/src/components/InfoRow/InfoRow.tsx +1 -1
- package/src/components/Input/Input.tsx +1 -1
- package/src/components/Link/Link.tsx +1 -1
- package/src/components/List/List.tsx +1 -1
- package/src/components/LocaleProvider/LocaleProvider.tsx +1 -1
- package/src/components/Mark/Mark.tsx +1 -1
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
- package/src/components/ModalCard/ModalCard.module.css +14 -8
- package/src/components/ModalCard/ModalCard.module.css.d.ts.map +1 -1
- package/src/components/ModalCard/ModalCard.tsx +1 -1
- package/src/components/ModalCardBase/ModalCardBase.tsx +3 -3
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
- package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
- package/src/components/ModalPage/ModalPage.module.css +5 -1
- package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -1
- package/src/components/ModalPage/ModalPage.tsx +1 -1
- package/src/components/ModalPage/ModalPageBase.tsx +7 -2
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
- package/src/components/ModalRoot/ModalRoot.tsx +1 -1
- package/src/components/NativeSelect/NativeSelect.tsx +1 -1
- package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +1 -1
- package/src/components/Pagination/Pagination.tsx +3 -3
- package/src/components/Panel/Panel.tsx +3 -3
- package/src/components/PanelHeader/PanelHeader.tsx +1 -1
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -1
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
- package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +1 -1
- package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +1 -1
- package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -1
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -1
- package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +1 -1
- package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
- package/src/components/Placeholder/Placeholder.tsx +1 -1
- package/src/components/PlatformProvider/PlatformProvider.tsx +1 -1
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -1
- package/src/components/Popover/Popover.tsx +1 -1
- package/src/components/Popper/Popper.tsx +1 -1
- package/src/components/Progress/Progress.tsx +1 -1
- package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
- package/src/components/Radio/Radio.tsx +1 -1
- package/src/components/RadioGroup/RadioGroup.tsx +1 -1
- package/src/components/RichCell/RichCell.tsx +3 -3
- package/src/components/Root/Root.tsx +1 -1
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +1 -1
- package/src/components/ScrollArrow/ScrollArrow.tsx +1 -1
- package/src/components/Search/Search.tsx +1 -1
- package/src/components/SegmentedControl/SegmentedControl.tsx +1 -1
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +0 -3
- package/src/components/Select/Select.tsx +1 -1
- package/src/components/SelectMimicry/SelectMimicry.tsx +1 -1
- package/src/components/SelectionControl/SelectionControl.tsx +1 -1
- package/src/components/Separator/Separator.tsx +1 -1
- package/src/components/SimpleCell/SimpleCell.tsx +1 -1
- package/src/components/SimpleGrid/SimpleGrid.tsx +3 -0
- package/src/components/Skeleton/Skeleton.tsx +3 -0
- package/src/components/Slider/Slider.tsx +1 -1
- package/src/components/Snackbar/Snackbar.tsx +1 -1
- package/src/components/Spacing/Spacing.tsx +1 -1
- package/src/components/Spinner/Spinner.tsx +1 -1
- package/src/components/SplitCol/SplitCol.tsx +1 -1
- package/src/components/SplitLayout/SplitLayout.tsx +1 -1
- package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -1
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
- package/src/components/Switch/Switch.tsx +1 -1
- package/src/components/Tabbar/Tabbar.tsx +1 -1
- package/src/components/TabbarItem/TabbarItem.tsx +1 -1
- package/src/components/Tabs/Tabs.tsx +1 -1
- package/src/components/TabsItem/TabsItem.tsx +3 -3
- package/src/components/Textarea/Textarea.tsx +1 -1
- package/src/components/ToolButton/ToolButton.tsx +1 -1
- package/src/components/Tooltip/Tooltip.tsx +1 -1
- package/src/components/TooltipBase/TooltipBase.tsx +0 -2
- package/src/components/Touch/Touch.tsx +1 -1
- package/src/components/Typography/Caption/Caption.tsx +1 -1
- package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
- package/src/components/Typography/EllipsisText/EllipsisText.tsx +1 -1
- package/src/components/Typography/Footnote/Footnote.tsx +1 -1
- package/src/components/Typography/Headline/Headline.tsx +1 -1
- package/src/components/Typography/Paragraph/Paragraph.tsx +1 -1
- package/src/components/Typography/Subhead/Subhead.tsx +1 -1
- package/src/components/Typography/Text/Text.tsx +1 -1
- package/src/components/Typography/Title/Title.tsx +1 -1
- package/src/components/UnstyledTextField/UnstyledTextField.mdx +1 -1
- package/src/components/UnstyledTextField/UnstyledTextField.tsx +4 -1
- package/src/components/UsersStack/UsersStack.tsx +1 -1
- package/src/components/View/View.tsx +1 -1
- package/src/components/VisuallyHidden/VisuallyHidden.tsx +1 -1
- package/src/components/WriteBar/WriteBar.tsx +1 -1
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
- package/src/hooks/useAdaptivity.ts +1 -1
- package/src/index.ts +1 -1
- package/src/lib/SSR.tsx +1 -1
- package/src/lib/accessibility.ts +6 -2
- package/dist/components/Clickable/RealClickable.d.ts +0 -6
- package/dist/components/Clickable/RealClickable.d.ts.map +0 -1
- package/dist/components/Clickable/RealClickable.js +0 -91
- package/dist/components/Clickable/RealClickable.js.map +0 -1
- package/dist/cssm/components/Clickable/RealClickable.js +0 -61
- package/dist/cssm/components/Clickable/RealClickable.js.map +0 -1
- package/src/components/Clickable/RealClickable.tsx +0 -100
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Touch/Touch.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { getWindow, isHTMLElement, isSVGElement } from '../../lib/dom';\nimport { coordX, coordY, touchEnabled, type VKUITouchEvent } from '../../lib/touch';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasComponent, HasRootRef } from '../../types';\n\n/**\n * Костыль для правильной работы тайпскрипта.\n */\ntype HTMLorSVGElementWithEvents = {\n /**\n * AddEventListener.\n */\n addEventListener: (<K extends keyof HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions,\n ) => void) &\n (<K extends keyof SVGElementEventMap>(\n type: K,\n listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions,\n ) => void);\n /**\n * RemoveEventListener.\n */\n removeEventListener: (<K extends keyof HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,\n options?: boolean | EventListenerOptions,\n ) => void) &\n (<K extends keyof SVGElementEventMap>(\n type: K,\n listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any,\n options?: boolean | EventListenerOptions,\n ) => void);\n};\n\nexport interface CustomTouchEvent extends Gesture {\n /**\n * Оригинальное событие.\n */\n originalEvent: VKUITouchEvent;\n}\n\nexport type HoverHandler = (outputEvent: MouseEvent) => void;\n\nexport type CustomTouchEventHandler = (event: CustomTouchEvent) => void;\n\nexport interface TouchProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n /**\n * Использовать pointer-events для hover-состояний.\n * Работает на отключенных элементах (disabled inputs).\n */\n usePointerHover?: boolean;\n /**\n * Использовать фазу capture для событий.\n */\n useCapture?: boolean;\n /**\n * Порог расстояния в пикселях для активации свайпа.\n * @default 5\n */\n slideThreshold?: number;\n /**\n * Блокировать click-события после распознавания свайпа.\n */\n noSlideClick?: boolean;\n /**\n * Останавливать всплытие событий.\n */\n stopPropagation?: boolean;\n /**\n * Обработчик входа курсора в область.\n */\n onEnter?: HoverHandler;\n /**\n * Обработчик выхода курсора из области.\n */\n onLeave?: HoverHandler;\n /**\n * Общий обработчик начала взаимодействия.\n */\n onStart?: CustomTouchEventHandler;\n /**\n * Обработчик начала горизонтального перемещения.\n */\n onStartX?: CustomTouchEventHandler;\n /**\n * Обработчик начала вертикального перемещения.\n */\n onStartY?: CustomTouchEventHandler;\n /**\n * Общий обработчик перемещения.\n */\n onMove?: CustomTouchEventHandler;\n /**\n * Обработчик горизонтального перемещения.\n */\n onMoveX?: CustomTouchEventHandler;\n /**\n * Обработчик вертикального перемещения.\n */\n onMoveY?: CustomTouchEventHandler;\n /**\n * Общий обработчик завершения взаимодействия.\n */\n onEnd?: CustomTouchEventHandler;\n /**\n * Обработчик завершения горизонтального свайпа.\n */\n onEndX?: CustomTouchEventHandler;\n /**\n * Обработчик завершения вертикального свайпа.\n */\n onEndY?: CustomTouchEventHandler;\n}\n\nexport interface Gesture {\n /**\n * Начальная X-координата касания.\n */\n startX: number;\n\n /**\n * Начальная Y-координата касания.\n */\n startY: number;\n\n /**\n * Время начала взаимодействия.\n */\n startT: Date;\n\n /**\n * Длительность взаимодействия в миллисекундах.\n */\n duration: number;\n\n /**\n * Флаг активного нажатия.\n */\n isPressed: boolean;\n\n /**\n * Флаг вертикального перемещения.\n */\n isY: boolean;\n\n /**\n * Флаг горизонтального перемещения.\n */\n isX: boolean;\n\n /**\n * Флаг горизонтального свайпа.\n */\n isSlideX: boolean;\n\n /**\n * Флаг вертикального свайпа.\n */\n isSlideY: boolean;\n\n /**\n * Общий флаг свайпа (вертикального или горизонтального).\n */\n isSlide: boolean;\n\n /**\n * Текущая X-координата курсора/касания.\n */\n clientX: number;\n\n /**\n * Текущая Y-координата курсора/касания.\n */\n clientY: number;\n\n /**\n * Смещение по X относительно начальной точки.\n */\n shiftX: number;\n\n /**\n * Смещение по Y относительно начальной точки.\n */\n shiftY: number;\n\n /**\n * Абсолютное смещение по X.\n */\n shiftXAbs: number;\n\n /**\n * Абсолютное смещение по Y.\n */\n shiftYAbs: number;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Touch\n */\nexport const Touch = ({\n onStart,\n onStartX,\n onStartY,\n onMove,\n onMoveX,\n onMoveY,\n onEnter,\n onLeave,\n onEnd,\n onEndX,\n onEndY,\n onClickCapture,\n usePointerHover,\n slideThreshold = 5,\n useCapture = false,\n Component = 'div',\n getRootRef,\n noSlideClick = false,\n stopPropagation = false,\n ...restProps\n}: TouchProps) => {\n const hostRef = useExternRef(getRootRef);\n const [isTouchEnabled] = React.useState(touchEnabled);\n const gestureRef = React.useRef<Gesture | null>(null);\n const didSlide = React.useRef(false);\n const disposeTargetNativeGestureEvents = React.useRef<VoidFunction | null>(null);\n\n const cleanupTargetNativeGestureEvents = () => {\n gestureRef.current = null;\n if (disposeTargetNativeGestureEvents.current) {\n disposeTargetNativeGestureEvents.current();\n disposeTargetNativeGestureEvents.current = null;\n }\n };\n\n React.useEffect(() => cleanupTargetNativeGestureEvents, []);\n\n /**\n * Note: используем `useStableCallback()`, чтобы не терялась область видимости `onEnd`/`onEndX`/`onEndY`.\n */\n const handleNativePointerUp = useStableCallback((event: MouseEvent | TouchEvent) => {\n const gesture = gestureRef.current;\n\n /* istanbul ignore if: нужно для Typescript */\n if (!gesture) {\n return;\n }\n\n if (gesture.isPressed) {\n dispatchUserHandlers(event, gesture, [onEnd, onEndX, onEndY], stopPropagation);\n }\n\n if (isTouchEnabled) {\n // https://github.com/VKCOM/VKUI/issues/4414\n // если тач-устройство и был зафиксирован touchmove,\n // то событие клика не вызывается\n if (gesture.isSlide) {\n didSlide.current = false;\n }\n // Если это был тач-евент, симулируем отмену hover\n if (onLeave) {\n onLeave(event as MouseEvent);\n }\n } else {\n didSlide.current = Boolean(gesture.isSlide);\n }\n\n cleanupTargetNativeGestureEvents();\n });\n\n /**\n * Note: используем `useStableCallback()`, чтобы не терялась область видимости `onMove`/`onMoveX`/`onMoveY`.\n */\n const handleNativePointerMove = useStableCallback((event: MouseEvent | TouchEvent) => {\n const gesture = gestureRef.current;\n\n /* istanbul ignore if: нужно для Typescript */\n if (!gesture) {\n return;\n }\n\n const clientX = coordX(event);\n const clientY = coordY(event);\n\n // смещения\n const shiftX = clientX - gesture.startX;\n const shiftY = clientY - gesture.startY;\n\n // абсолютные значения смещений\n const shiftXAbs = Math.abs(shiftX);\n const shiftYAbs = Math.abs(shiftY);\n\n // Если определяем мультитач, то прерываем жест\n if ('touches' in event && event.touches.length > 1) {\n return handleNativePointerUp(event);\n }\n\n // если мы ещё не определились\n if (!gesture.isX && !gesture.isY) {\n const willBeX = shiftXAbs >= slideThreshold && shiftXAbs > shiftYAbs;\n const willBeY = shiftYAbs >= slideThreshold && shiftYAbs > shiftXAbs;\n const willBeSlidedX = willBeX && (!!onMoveX || !!onMove);\n const willBeSlidedY = willBeY && (!!onMoveY || !!onMove);\n\n gesture.isY = willBeY;\n gesture.isX = willBeX;\n gesture.isSlideX = willBeSlidedX;\n gesture.isSlideY = willBeSlidedY;\n gesture.isSlide = willBeSlidedX || willBeSlidedY;\n }\n\n if (gesture.isSlide) {\n gesture.clientX = clientX;\n gesture.clientY = clientY;\n gesture.shiftX = shiftX;\n gesture.shiftY = shiftY;\n gesture.shiftXAbs = shiftXAbs;\n gesture.shiftYAbs = shiftYAbs;\n\n dispatchUserHandlers(event, gesture, [onMove, onMoveX, onMoveY], stopPropagation);\n }\n });\n\n const handlePointerDown = useStableCallback(\n (event: React.MouseEvent<HTMLElement> | React.TouchEvent<HTMLElement> | TouchEvent) => {\n const nativeEvent = 'nativeEvent' in event ? event.nativeEvent : event;\n\n gestureRef.current = initGesture(coordX(nativeEvent), coordY(nativeEvent));\n\n const shouldCallDirectionHandlerOnlyIsSlide = false;\n dispatchUserHandlers(\n event,\n gestureRef.current,\n [onStart, onStartX, onStartY],\n stopPropagation,\n shouldCallDirectionHandlerOnlyIsSlide,\n );\n\n const eventOptions = { capture: useCapture, passive: false };\n\n // FIXME: заменить touch/mouse-события ниже на pointer-события после того, как бразуеры из\n // .browserslistrc начнут поддерживать его (см. https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events#browser_compatibility).\n if (isTouchEnabled) {\n if (isHTMLElement(event.target) || isSVGElement(event.target)) {\n // Тач-события не всплывают, поэтому навешиваем события на целевой элемент\n // см. #235, #1968, https://stackoverflow.com/a/45760014\n const target: HTMLorSVGElementWithEvents = event.target;\n\n target.addEventListener('touchmove', handleNativePointerMove, eventOptions);\n target.addEventListener('touchend', handleNativePointerUp, eventOptions);\n target.addEventListener('touchcancel', handleNativePointerUp, eventOptions);\n\n disposeTargetNativeGestureEvents.current = () => {\n target.removeEventListener('touchmove', handleNativePointerMove, eventOptions);\n target.removeEventListener('touchend', handleNativePointerUp, eventOptions);\n target.removeEventListener('touchcancel', handleNativePointerUp, eventOptions);\n };\n }\n } else {\n // Используем события на Document, т.к. mouse-события на целевом элементе могут теряться при\n // выходе за границы этого элемента.\n const doc = getWindow(event.currentTarget).document;\n\n doc.addEventListener('mousemove', handleNativePointerMove, eventOptions);\n doc.addEventListener('mouseup', handleNativePointerUp, eventOptions);\n doc.addEventListener('mouseleave', handleNativePointerUp, eventOptions);\n\n disposeTargetNativeGestureEvents.current = () => {\n doc.removeEventListener('mousemove', handleNativePointerMove, eventOptions);\n doc.removeEventListener('mouseup', handleNativePointerUp, eventOptions);\n doc.removeEventListener('mouseleave', handleNativePointerUp, eventOptions);\n };\n }\n },\n );\n\n const handlePointerEnter = onEnter\n ? (event: React.MouseEvent<HTMLElement>) => onEnter(event.nativeEvent)\n : undefined;\n\n const handlePointerLeave = onLeave\n ? (event: React.MouseEvent<HTMLElement>) => onLeave(event.nativeEvent)\n : undefined;\n\n /**\n * Отменяет нативное браузерное поведение для вложенных ссылок и изображений.\n */\n const handleDragStart = (event: React.DragEvent<HTMLElement>) => {\n const target = event.target as HTMLElement;\n if (target.tagName === 'A' || target.tagName === 'IMG') {\n event.preventDefault();\n }\n };\n\n /**\n * Отменяет переход по вложенной ссылке, если был зафиксирован свайп.\n */\n const handleClickCapture: typeof onClickCapture = (event) => {\n if (!didSlide.current) {\n return onClickCapture && onClickCapture(event);\n }\n\n if (noSlideClick) {\n event.stopPropagation();\n\n // https://github.com/VKCOM/VKUI/issues/1977\n // https://github.com/VKCOM/VKUI/issues/3892\n event.preventDefault();\n } else {\n onClickCapture && onClickCapture(event);\n }\n\n didSlide.current = false;\n };\n\n useIsomorphicLayoutEffect(\n function initializeNativeTouchStartEventWithPassiveFalse() {\n const hostEl = hostRef.current;\n if (!hostEl || !isTouchEnabled) {\n return;\n }\n\n const options = { capture: useCapture, passive: false };\n hostEl.addEventListener('touchstart', handlePointerDown, options);\n\n return () => {\n hostEl.removeEventListener('touchstart', handlePointerDown, options);\n };\n },\n [hostRef, isTouchEnabled, useCapture, handlePointerDown],\n );\n\n return (\n <Component\n {...restProps}\n ref={hostRef}\n onDragStart={handleDragStart}\n onClickCapture={handleClickCapture}\n // onEnter\n onPointerEnter={usePointerHover ? handlePointerEnter : undefined}\n onMouseEnter={!usePointerHover ? handlePointerEnter : undefined}\n // onLeave\n onPointerLeave={usePointerHover ? handlePointerLeave : undefined}\n onMouseLeave={!usePointerHover ? handlePointerLeave : undefined}\n // handlePointerDown (onTouchStart устанавливается отдельно через initializeNativeTouchEventStartWithPassiveFalse)\n onMouseDownCapture={!isTouchEnabled && useCapture ? handlePointerDown : undefined}\n onMouseDown={!isTouchEnabled && !useCapture ? handlePointerDown : undefined}\n />\n );\n};\n\nfunction initGesture(startX: number, startY: number): Gesture {\n return {\n startX,\n startY,\n startT: new Date(),\n duration: 0,\n isPressed: true,\n isY: false,\n isX: false,\n isSlideX: false,\n isSlideY: false,\n isSlide: false,\n clientX: 0,\n clientY: 0,\n shiftX: 0,\n shiftY: 0,\n shiftXAbs: 0,\n shiftYAbs: 0,\n };\n}\n\ntype Handlers = [\n CustomTouchEventHandler | undefined,\n CustomTouchEventHandler | undefined,\n CustomTouchEventHandler | undefined,\n];\n\nfunction dispatchUserHandlers(\n event: MouseEvent | TouchEvent | React.MouseEvent | React.TouchEvent,\n gesture: Gesture,\n [handler, handlerX, handlerY]: Handlers,\n stopPropagation?: boolean,\n shouldCallDirectionHandlerOnlyIsSlide = true,\n) {\n if (stopPropagation) {\n event.stopPropagation();\n }\n\n const data = {\n ...gesture,\n originalEvent: event as unknown as VKUITouchEvent,\n duration: Date.now() - gesture.startT.getTime(),\n };\n\n if (handler) {\n handler(data);\n }\n\n if (handlerX) {\n if (shouldCallDirectionHandlerOnlyIsSlide) {\n if (gesture.isSlideX) {\n handlerX(data);\n }\n } else {\n handlerX(data);\n }\n }\n\n if (handlerY) {\n if (shouldCallDirectionHandlerOnlyIsSlide) {\n if (gesture.isSlideY) {\n handlerY(data);\n }\n } else {\n handlerY(data);\n }\n }\n}\n"],"names":["React","useExternRef","useStableCallback","getWindow","isHTMLElement","isSVGElement","coordX","coordY","touchEnabled","useIsomorphicLayoutEffect","Touch","onStart","onStartX","onStartY","onMove","onMoveX","onMoveY","onEnter","onLeave","onEnd","onEndX","onEndY","onClickCapture","usePointerHover","slideThreshold","useCapture","Component","getRootRef","noSlideClick","stopPropagation","restProps","hostRef","isTouchEnabled","useState","gestureRef","useRef","didSlide","disposeTargetNativeGestureEvents","cleanupTargetNativeGestureEvents","current","useEffect","handleNativePointerUp","event","gesture","isPressed","dispatchUserHandlers","isSlide","Boolean","handleNativePointerMove","clientX","clientY","shiftX","startX","shiftY","startY","shiftXAbs","Math","abs","shiftYAbs","touches","length","isX","isY","willBeX","willBeY","willBeSlidedX","willBeSlidedY","isSlideX","isSlideY","handlePointerDown","nativeEvent","initGesture","shouldCallDirectionHandlerOnlyIsSlide","eventOptions","capture","passive","target","addEventListener","removeEventListener","doc","currentTarget","document","handlePointerEnter","undefined","handlePointerLeave","handleDragStart","tagName","preventDefault","handleClickCapture","initializeNativeTouchStartEventWithPassiveFalse","hostEl","options","ref","onDragStart","onPointerEnter","onMouseEnter","onPointerLeave","onMouseLeave","onMouseDownCapture","onMouseDown","startT","Date","duration","handler","handlerX","handlerY","data","originalEvent","now","getTime"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Touch/Touch.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { getWindow, isHTMLElement, isSVGElement } from '../../lib/dom';\nimport { coordX, coordY, touchEnabled, type VKUITouchEvent } from '../../lib/touch';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasComponent, HasRootRef } from '../../types';\n\n/**\n * Костыль для правильной работы тайпскрипта.\n */\ntype HTMLorSVGElementWithEvents = {\n /**\n * AddEventListener.\n */\n addEventListener: (<K extends keyof HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions,\n ) => void) &\n (<K extends keyof SVGElementEventMap>(\n type: K,\n listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions,\n ) => void);\n /**\n * RemoveEventListener.\n */\n removeEventListener: (<K extends keyof HTMLElementEventMap>(\n type: K,\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any,\n options?: boolean | EventListenerOptions,\n ) => void) &\n (<K extends keyof SVGElementEventMap>(\n type: K,\n listener: (this: SVGElement, ev: SVGElementEventMap[K]) => any,\n options?: boolean | EventListenerOptions,\n ) => void);\n};\n\nexport interface CustomTouchEvent extends Gesture {\n /**\n * Оригинальное событие.\n */\n originalEvent: VKUITouchEvent;\n}\n\nexport type HoverHandler = (outputEvent: MouseEvent) => void;\n\nexport type CustomTouchEventHandler = (event: CustomTouchEvent) => void;\n\nexport interface TouchProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n /**\n * Использовать pointer-events для hover-состояний.\n * Работает на отключенных элементах (disabled inputs).\n */\n usePointerHover?: boolean;\n /**\n * Использовать фазу capture для событий.\n */\n useCapture?: boolean;\n /**\n * Порог расстояния в пикселях для активации свайпа.\n * @default 5\n */\n slideThreshold?: number;\n /**\n * Блокировать click-события после распознавания свайпа.\n */\n noSlideClick?: boolean;\n /**\n * Останавливать всплытие событий.\n */\n stopPropagation?: boolean;\n /**\n * Обработчик входа курсора в область.\n */\n onEnter?: HoverHandler;\n /**\n * Обработчик выхода курсора из области.\n */\n onLeave?: HoverHandler;\n /**\n * Общий обработчик начала взаимодействия.\n */\n onStart?: CustomTouchEventHandler;\n /**\n * Обработчик начала горизонтального перемещения.\n */\n onStartX?: CustomTouchEventHandler;\n /**\n * Обработчик начала вертикального перемещения.\n */\n onStartY?: CustomTouchEventHandler;\n /**\n * Общий обработчик перемещения.\n */\n onMove?: CustomTouchEventHandler;\n /**\n * Обработчик горизонтального перемещения.\n */\n onMoveX?: CustomTouchEventHandler;\n /**\n * Обработчик вертикального перемещения.\n */\n onMoveY?: CustomTouchEventHandler;\n /**\n * Общий обработчик завершения взаимодействия.\n */\n onEnd?: CustomTouchEventHandler;\n /**\n * Обработчик завершения горизонтального свайпа.\n */\n onEndX?: CustomTouchEventHandler;\n /**\n * Обработчик завершения вертикального свайпа.\n */\n onEndY?: CustomTouchEventHandler;\n}\n\nexport interface Gesture {\n /**\n * Начальная X-координата касания.\n */\n startX: number;\n\n /**\n * Начальная Y-координата касания.\n */\n startY: number;\n\n /**\n * Время начала взаимодействия.\n */\n startT: Date;\n\n /**\n * Длительность взаимодействия в миллисекундах.\n */\n duration: number;\n\n /**\n * Флаг активного нажатия.\n */\n isPressed: boolean;\n\n /**\n * Флаг вертикального перемещения.\n */\n isY: boolean;\n\n /**\n * Флаг горизонтального перемещения.\n */\n isX: boolean;\n\n /**\n * Флаг горизонтального свайпа.\n */\n isSlideX: boolean;\n\n /**\n * Флаг вертикального свайпа.\n */\n isSlideY: boolean;\n\n /**\n * Общий флаг свайпа (вертикального или горизонтального).\n */\n isSlide: boolean;\n\n /**\n * Текущая X-координата курсора/касания.\n */\n clientX: number;\n\n /**\n * Текущая Y-координата курсора/касания.\n */\n clientY: number;\n\n /**\n * Смещение по X относительно начальной точки.\n */\n shiftX: number;\n\n /**\n * Смещение по Y относительно начальной точки.\n */\n shiftY: number;\n\n /**\n * Абсолютное смещение по X.\n */\n shiftXAbs: number;\n\n /**\n * Абсолютное смещение по Y.\n */\n shiftYAbs: number;\n}\n\n/**\n * @see https://vkui.io/components/touch\n */\nexport const Touch = ({\n onStart,\n onStartX,\n onStartY,\n onMove,\n onMoveX,\n onMoveY,\n onEnter,\n onLeave,\n onEnd,\n onEndX,\n onEndY,\n onClickCapture,\n usePointerHover,\n slideThreshold = 5,\n useCapture = false,\n Component = 'div',\n getRootRef,\n noSlideClick = false,\n stopPropagation = false,\n ...restProps\n}: TouchProps) => {\n const hostRef = useExternRef(getRootRef);\n const [isTouchEnabled] = React.useState(touchEnabled);\n const gestureRef = React.useRef<Gesture | null>(null);\n const didSlide = React.useRef(false);\n const disposeTargetNativeGestureEvents = React.useRef<VoidFunction | null>(null);\n\n const cleanupTargetNativeGestureEvents = () => {\n gestureRef.current = null;\n if (disposeTargetNativeGestureEvents.current) {\n disposeTargetNativeGestureEvents.current();\n disposeTargetNativeGestureEvents.current = null;\n }\n };\n\n React.useEffect(() => cleanupTargetNativeGestureEvents, []);\n\n /**\n * Note: используем `useStableCallback()`, чтобы не терялась область видимости `onEnd`/`onEndX`/`onEndY`.\n */\n const handleNativePointerUp = useStableCallback((event: MouseEvent | TouchEvent) => {\n const gesture = gestureRef.current;\n\n /* istanbul ignore if: нужно для Typescript */\n if (!gesture) {\n return;\n }\n\n if (gesture.isPressed) {\n dispatchUserHandlers(event, gesture, [onEnd, onEndX, onEndY], stopPropagation);\n }\n\n if (isTouchEnabled) {\n // https://github.com/VKCOM/VKUI/issues/4414\n // если тач-устройство и был зафиксирован touchmove,\n // то событие клика не вызывается\n if (gesture.isSlide) {\n didSlide.current = false;\n }\n // Если это был тач-евент, симулируем отмену hover\n if (onLeave) {\n onLeave(event as MouseEvent);\n }\n } else {\n didSlide.current = Boolean(gesture.isSlide);\n }\n\n cleanupTargetNativeGestureEvents();\n });\n\n /**\n * Note: используем `useStableCallback()`, чтобы не терялась область видимости `onMove`/`onMoveX`/`onMoveY`.\n */\n const handleNativePointerMove = useStableCallback((event: MouseEvent | TouchEvent) => {\n const gesture = gestureRef.current;\n\n /* istanbul ignore if: нужно для Typescript */\n if (!gesture) {\n return;\n }\n\n const clientX = coordX(event);\n const clientY = coordY(event);\n\n // смещения\n const shiftX = clientX - gesture.startX;\n const shiftY = clientY - gesture.startY;\n\n // абсолютные значения смещений\n const shiftXAbs = Math.abs(shiftX);\n const shiftYAbs = Math.abs(shiftY);\n\n // Если определяем мультитач, то прерываем жест\n if ('touches' in event && event.touches.length > 1) {\n return handleNativePointerUp(event);\n }\n\n // если мы ещё не определились\n if (!gesture.isX && !gesture.isY) {\n const willBeX = shiftXAbs >= slideThreshold && shiftXAbs > shiftYAbs;\n const willBeY = shiftYAbs >= slideThreshold && shiftYAbs > shiftXAbs;\n const willBeSlidedX = willBeX && (!!onMoveX || !!onMove);\n const willBeSlidedY = willBeY && (!!onMoveY || !!onMove);\n\n gesture.isY = willBeY;\n gesture.isX = willBeX;\n gesture.isSlideX = willBeSlidedX;\n gesture.isSlideY = willBeSlidedY;\n gesture.isSlide = willBeSlidedX || willBeSlidedY;\n }\n\n if (gesture.isSlide) {\n gesture.clientX = clientX;\n gesture.clientY = clientY;\n gesture.shiftX = shiftX;\n gesture.shiftY = shiftY;\n gesture.shiftXAbs = shiftXAbs;\n gesture.shiftYAbs = shiftYAbs;\n\n dispatchUserHandlers(event, gesture, [onMove, onMoveX, onMoveY], stopPropagation);\n }\n });\n\n const handlePointerDown = useStableCallback(\n (event: React.MouseEvent<HTMLElement> | React.TouchEvent<HTMLElement> | TouchEvent) => {\n const nativeEvent = 'nativeEvent' in event ? event.nativeEvent : event;\n\n gestureRef.current = initGesture(coordX(nativeEvent), coordY(nativeEvent));\n\n const shouldCallDirectionHandlerOnlyIsSlide = false;\n dispatchUserHandlers(\n event,\n gestureRef.current,\n [onStart, onStartX, onStartY],\n stopPropagation,\n shouldCallDirectionHandlerOnlyIsSlide,\n );\n\n const eventOptions = { capture: useCapture, passive: false };\n\n // FIXME: заменить touch/mouse-события ниже на pointer-события после того, как бразуеры из\n // .browserslistrc начнут поддерживать его (см. https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events#browser_compatibility).\n if (isTouchEnabled) {\n if (isHTMLElement(event.target) || isSVGElement(event.target)) {\n // Тач-события не всплывают, поэтому навешиваем события на целевой элемент\n // см. #235, #1968, https://stackoverflow.com/a/45760014\n const target: HTMLorSVGElementWithEvents = event.target;\n\n target.addEventListener('touchmove', handleNativePointerMove, eventOptions);\n target.addEventListener('touchend', handleNativePointerUp, eventOptions);\n target.addEventListener('touchcancel', handleNativePointerUp, eventOptions);\n\n disposeTargetNativeGestureEvents.current = () => {\n target.removeEventListener('touchmove', handleNativePointerMove, eventOptions);\n target.removeEventListener('touchend', handleNativePointerUp, eventOptions);\n target.removeEventListener('touchcancel', handleNativePointerUp, eventOptions);\n };\n }\n } else {\n // Используем события на Document, т.к. mouse-события на целевом элементе могут теряться при\n // выходе за границы этого элемента.\n const doc = getWindow(event.currentTarget).document;\n\n doc.addEventListener('mousemove', handleNativePointerMove, eventOptions);\n doc.addEventListener('mouseup', handleNativePointerUp, eventOptions);\n doc.addEventListener('mouseleave', handleNativePointerUp, eventOptions);\n\n disposeTargetNativeGestureEvents.current = () => {\n doc.removeEventListener('mousemove', handleNativePointerMove, eventOptions);\n doc.removeEventListener('mouseup', handleNativePointerUp, eventOptions);\n doc.removeEventListener('mouseleave', handleNativePointerUp, eventOptions);\n };\n }\n },\n );\n\n const handlePointerEnter = onEnter\n ? (event: React.MouseEvent<HTMLElement>) => onEnter(event.nativeEvent)\n : undefined;\n\n const handlePointerLeave = onLeave\n ? (event: React.MouseEvent<HTMLElement>) => onLeave(event.nativeEvent)\n : undefined;\n\n /**\n * Отменяет нативное браузерное поведение для вложенных ссылок и изображений.\n */\n const handleDragStart = (event: React.DragEvent<HTMLElement>) => {\n const target = event.target as HTMLElement;\n if (target.tagName === 'A' || target.tagName === 'IMG') {\n event.preventDefault();\n }\n };\n\n /**\n * Отменяет переход по вложенной ссылке, если был зафиксирован свайп.\n */\n const handleClickCapture: typeof onClickCapture = (event) => {\n if (!didSlide.current) {\n return onClickCapture && onClickCapture(event);\n }\n\n if (noSlideClick) {\n event.stopPropagation();\n\n // https://github.com/VKCOM/VKUI/issues/1977\n // https://github.com/VKCOM/VKUI/issues/3892\n event.preventDefault();\n } else {\n onClickCapture && onClickCapture(event);\n }\n\n didSlide.current = false;\n };\n\n useIsomorphicLayoutEffect(\n function initializeNativeTouchStartEventWithPassiveFalse() {\n const hostEl = hostRef.current;\n if (!hostEl || !isTouchEnabled) {\n return;\n }\n\n const options = { capture: useCapture, passive: false };\n hostEl.addEventListener('touchstart', handlePointerDown, options);\n\n return () => {\n hostEl.removeEventListener('touchstart', handlePointerDown, options);\n };\n },\n [hostRef, isTouchEnabled, useCapture, handlePointerDown],\n );\n\n return (\n <Component\n {...restProps}\n ref={hostRef}\n onDragStart={handleDragStart}\n onClickCapture={handleClickCapture}\n // onEnter\n onPointerEnter={usePointerHover ? handlePointerEnter : undefined}\n onMouseEnter={!usePointerHover ? handlePointerEnter : undefined}\n // onLeave\n onPointerLeave={usePointerHover ? handlePointerLeave : undefined}\n onMouseLeave={!usePointerHover ? handlePointerLeave : undefined}\n // handlePointerDown (onTouchStart устанавливается отдельно через initializeNativeTouchEventStartWithPassiveFalse)\n onMouseDownCapture={!isTouchEnabled && useCapture ? handlePointerDown : undefined}\n onMouseDown={!isTouchEnabled && !useCapture ? handlePointerDown : undefined}\n />\n );\n};\n\nfunction initGesture(startX: number, startY: number): Gesture {\n return {\n startX,\n startY,\n startT: new Date(),\n duration: 0,\n isPressed: true,\n isY: false,\n isX: false,\n isSlideX: false,\n isSlideY: false,\n isSlide: false,\n clientX: 0,\n clientY: 0,\n shiftX: 0,\n shiftY: 0,\n shiftXAbs: 0,\n shiftYAbs: 0,\n };\n}\n\ntype Handlers = [\n CustomTouchEventHandler | undefined,\n CustomTouchEventHandler | undefined,\n CustomTouchEventHandler | undefined,\n];\n\nfunction dispatchUserHandlers(\n event: MouseEvent | TouchEvent | React.MouseEvent | React.TouchEvent,\n gesture: Gesture,\n [handler, handlerX, handlerY]: Handlers,\n stopPropagation?: boolean,\n shouldCallDirectionHandlerOnlyIsSlide = true,\n) {\n if (stopPropagation) {\n event.stopPropagation();\n }\n\n const data = {\n ...gesture,\n originalEvent: event as unknown as VKUITouchEvent,\n duration: Date.now() - gesture.startT.getTime(),\n };\n\n if (handler) {\n handler(data);\n }\n\n if (handlerX) {\n if (shouldCallDirectionHandlerOnlyIsSlide) {\n if (gesture.isSlideX) {\n handlerX(data);\n }\n } else {\n handlerX(data);\n }\n }\n\n if (handlerY) {\n if (shouldCallDirectionHandlerOnlyIsSlide) {\n if (gesture.isSlideY) {\n handlerY(data);\n }\n } else {\n handlerY(data);\n }\n }\n}\n"],"names":["React","useExternRef","useStableCallback","getWindow","isHTMLElement","isSVGElement","coordX","coordY","touchEnabled","useIsomorphicLayoutEffect","Touch","onStart","onStartX","onStartY","onMove","onMoveX","onMoveY","onEnter","onLeave","onEnd","onEndX","onEndY","onClickCapture","usePointerHover","slideThreshold","useCapture","Component","getRootRef","noSlideClick","stopPropagation","restProps","hostRef","isTouchEnabled","useState","gestureRef","useRef","didSlide","disposeTargetNativeGestureEvents","cleanupTargetNativeGestureEvents","current","useEffect","handleNativePointerUp","event","gesture","isPressed","dispatchUserHandlers","isSlide","Boolean","handleNativePointerMove","clientX","clientY","shiftX","startX","shiftY","startY","shiftXAbs","Math","abs","shiftYAbs","touches","length","isX","isY","willBeX","willBeY","willBeSlidedX","willBeSlidedY","isSlideX","isSlideY","handlePointerDown","nativeEvent","initGesture","shouldCallDirectionHandlerOnlyIsSlide","eventOptions","capture","passive","target","addEventListener","removeEventListener","doc","currentTarget","document","handlePointerEnter","undefined","handlePointerLeave","handleDragStart","tagName","preventDefault","handleClickCapture","initializeNativeTouchStartEventWithPassiveFalse","hostEl","options","ref","onDragStart","onPointerEnter","onMouseEnter","onPointerLeave","onMouseLeave","onMouseDownCapture","onMouseDown","startT","Date","duration","handler","handlerX","handlerY","data","originalEvent","now","getTime"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ const sizeYClassNames = {
|
|
|
16
16
|
/**
|
|
17
17
|
* Используется для мелких подписей.
|
|
18
18
|
*
|
|
19
|
-
* @see https://
|
|
19
|
+
* @see https://vkui.io/components/typography#caption
|
|
20
20
|
*/ export const Caption = ({ className, level = '1', caps, Component = 'span', normalize = true, inline = false, ...restProps })=>{
|
|
21
21
|
const { sizeY = 'none' } = useAdaptivity();
|
|
22
22
|
return /*#__PURE__*/ _jsx(Typography, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Caption/Caption.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { type HasCaps, Typography, type TypographyProps } from '../Typography';\nimport styles from './Caption.module.css';\n\nconst stylesLevel = {\n '1': styles.level1,\n '2': styles.level2,\n '3': styles.level3,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface CaptionProps extends TypographyProps, HasCaps {\n /**\n * Уровень заголовка (от 1 до 3).\n */\n level?: '1' | '2' | '3';\n}\n\n/**\n * Используется для мелких подписей.\n *\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Caption/Caption.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { type HasCaps, Typography, type TypographyProps } from '../Typography';\nimport styles from './Caption.module.css';\n\nconst stylesLevel = {\n '1': styles.level1,\n '2': styles.level2,\n '3': styles.level3,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface CaptionProps extends TypographyProps, HasCaps {\n /**\n * Уровень заголовка (от 1 до 3).\n */\n level?: '1' | '2' | '3';\n}\n\n/**\n * Используется для мелких подписей.\n *\n * @see https://vkui.io/components/typography#caption\n */\nexport const Caption = ({\n className,\n level = '1',\n caps,\n Component = 'span',\n normalize = true,\n inline = false,\n ...restProps\n}: CaptionProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Typography\n Component={Component}\n normalize={normalize}\n inline={inline}\n className={classNames(\n className,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n caps && styles.caps,\n stylesLevel[level],\n )}\n {...restProps}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","Typography","styles","stylesLevel","level1","level2","level3","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","Caption","className","level","caps","Component","normalize","inline","restProps","sizeY"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAAuBC,UAAU,QAA8B,mBAAgB;AAC/E,OAAOC,YAAY,uBAAuB;AAE1C,MAAMC,cAAc;IAClB,KAAKD,OAAOE,MAAM;IAClB,KAAKF,OAAOG,MAAM;IAClB,KAAKH,OAAOI,MAAM;AACpB;AAEA,MAAMC,kBAAkB;IACtBC,MAAMN,OAAOO,SAAS;IACtBC,SAASR,OAAOS,YAAY;AAC9B;AASA;;;;CAIC,GACD,OAAO,MAAMC,UAAU,CAAC,EACtBC,SAAS,EACTC,QAAQ,GAAG,EACXC,IAAI,EACJC,YAAY,MAAM,EAClBC,YAAY,IAAI,EAChBC,SAAS,KAAK,EACd,GAAGC,WACU;IACb,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGpB;IAE3B,qBACE,KAACC;QACCe,WAAWA;QACXC,WAAWA;QACXC,QAAQA;QACRL,WAAWd,WACTc,WACAO,UAAU,aAAab,eAAe,CAACa,MAAM,EAC7CL,QAAQb,OAAOa,IAAI,EACnBZ,WAAW,CAACW,MAAM;QAEnB,GAAGK,SAAS;;AAGnB,EAAE"}
|
|
@@ -17,7 +17,7 @@ const sizeYClassNames = {
|
|
|
17
17
|
/**
|
|
18
18
|
* Используется для крупных заголовков.
|
|
19
19
|
*
|
|
20
|
-
* @see https://
|
|
20
|
+
* @see https://vkui.io/components/typography#display-title
|
|
21
21
|
*/ export const DisplayTitle = ({ className, level = '1', Component = 'span', normalize = true, inline = false, ...restProps })=>{
|
|
22
22
|
const { sizeY = 'none' } = useAdaptivity();
|
|
23
23
|
return /*#__PURE__*/ _jsx(Typography, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/DisplayTitle/DisplayTitle.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './DisplayTitle.module.css';\n\nconst stylesLevel = {\n '1': styles.level1,\n '2': styles.level2,\n '3': styles.level3,\n '4': styles.level4,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface DisplayTitleProps extends TypographyProps {\n /**\n * Уровень заголовка (от 1 до 4).\n */\n level?: '1' | '2' | '3' | '4';\n}\n\n/**\n * Используется для крупных заголовков.\n *\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/DisplayTitle/DisplayTitle.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './DisplayTitle.module.css';\n\nconst stylesLevel = {\n '1': styles.level1,\n '2': styles.level2,\n '3': styles.level3,\n '4': styles.level4,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface DisplayTitleProps extends TypographyProps {\n /**\n * Уровень заголовка (от 1 до 4).\n */\n level?: '1' | '2' | '3' | '4';\n}\n\n/**\n * Используется для крупных заголовков.\n *\n * @see https://vkui.io/components/typography#display-title\n */\nexport const DisplayTitle = ({\n className,\n level = '1',\n Component = 'span',\n normalize = true,\n inline = false,\n ...restProps\n}: DisplayTitleProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Typography\n Component={Component}\n normalize={normalize}\n inline={inline}\n className={classNames(\n className,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n stylesLevel[level],\n )}\n {...restProps}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","Typography","styles","stylesLevel","level1","level2","level3","level4","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","DisplayTitle","className","level","Component","normalize","inline","restProps","sizeY"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,UAAU,QAA8B,mBAAgB;AACjE,OAAOC,YAAY,4BAA4B;AAE/C,MAAMC,cAAc;IAClB,KAAKD,OAAOE,MAAM;IAClB,KAAKF,OAAOG,MAAM;IAClB,KAAKH,OAAOI,MAAM;IAClB,KAAKJ,OAAOK,MAAM;AACpB;AAEA,MAAMC,kBAAkB;IACtBC,MAAMP,OAAOQ,SAAS;IACtBC,SAAST,OAAOU,YAAY;AAC9B;AASA;;;;CAIC,GACD,OAAO,MAAMC,eAAe,CAAC,EAC3BC,SAAS,EACTC,QAAQ,GAAG,EACXC,YAAY,MAAM,EAClBC,YAAY,IAAI,EAChBC,SAAS,KAAK,EACd,GAAGC,WACe;IAClB,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGpB;IAE3B,qBACE,KAACC;QACCe,WAAWA;QACXC,WAAWA;QACXC,QAAQA;QACRJ,WAAWf,WACTe,WACAM,UAAU,aAAaZ,eAAe,CAACY,MAAM,EAC7CjB,WAAW,CAACY,MAAM;QAEnB,GAAGI,SAAS;;AAGnB,EAAE"}
|
|
@@ -9,7 +9,7 @@ import styles from "./EllipsisText.module.css";
|
|
|
9
9
|
/** Компонент ограничивает текстовый контент, убирая его в многоточие.
|
|
10
10
|
*
|
|
11
11
|
* @since 6.1.0
|
|
12
|
-
* @see https://
|
|
12
|
+
* @see https://vkui.io/components/ellipsis-text
|
|
13
13
|
*/ const EllipsisText = ({ Component = 'span', className, children, maxWidth, maxLines = 1, disableNativeTitle = false, ...restProps })=>{
|
|
14
14
|
const contentRef = useRef(null);
|
|
15
15
|
useIsomorphicLayoutEffect(()=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/EllipsisText/EllipsisText.tsx"],"sourcesContent":["'use client';\n\nimport { useRef } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getTextFromChildren } from '../../../lib/children';\nimport { useIsomorphicLayoutEffect } from '../../../lib/useIsomorphicLayoutEffect';\nimport type { HasRootRef } from '../../../types';\nimport { RootComponent, type RootComponentProps } from '../../RootComponent/RootComponent';\nimport styles from './EllipsisText.module.css';\n\nexport interface EllipsisTextProps\n extends Omit<RootComponentProps<HTMLElement>, 'title'>,\n HasRootRef<HTMLElement> {\n /**\n * Пользовательская маскимальная ширина.\n *\n * Используйте в случаях, когда у контейнера ширина зависит от размера контента,\n * другими словами, когда ширина не ограничена.\n */\n maxWidth?: number;\n /**\n * Максимальное количество видимых строк.\n *\n * > При `maxLines > 1` используется свойство line-clamp, которое поддерживается не всеми версиями браузеров. Используйте с осторожностью\n * > @see [line-clamp](https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-line-clamp).\n */\n maxLines?: number;\n /**\n * Отключает отображение нативного тултипа с полным текстом.\n */\n disableNativeTitle?: boolean;\n}\n\n/** Компонент ограничивает текстовый контент, убирая его в многоточие.\n *\n * @since 6.1.0\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/EllipsisText/EllipsisText.tsx"],"sourcesContent":["'use client';\n\nimport { useRef } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getTextFromChildren } from '../../../lib/children';\nimport { useIsomorphicLayoutEffect } from '../../../lib/useIsomorphicLayoutEffect';\nimport type { HasRootRef } from '../../../types';\nimport { RootComponent, type RootComponentProps } from '../../RootComponent/RootComponent';\nimport styles from './EllipsisText.module.css';\n\nexport interface EllipsisTextProps\n extends Omit<RootComponentProps<HTMLElement>, 'title'>,\n HasRootRef<HTMLElement> {\n /**\n * Пользовательская маскимальная ширина.\n *\n * Используйте в случаях, когда у контейнера ширина зависит от размера контента,\n * другими словами, когда ширина не ограничена.\n */\n maxWidth?: number;\n /**\n * Максимальное количество видимых строк.\n *\n * > При `maxLines > 1` используется свойство line-clamp, которое поддерживается не всеми версиями браузеров. Используйте с осторожностью\n * > @see [line-clamp](https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-line-clamp).\n */\n maxLines?: number;\n /**\n * Отключает отображение нативного тултипа с полным текстом.\n */\n disableNativeTitle?: boolean;\n}\n\n/** Компонент ограничивает текстовый контент, убирая его в многоточие.\n *\n * @since 6.1.0\n * @see https://vkui.io/components/ellipsis-text\n */\nconst EllipsisText = ({\n Component = 'span',\n className,\n children,\n maxWidth,\n maxLines = 1,\n disableNativeTitle = false,\n ...restProps\n}: EllipsisTextProps): React.ReactNode => {\n const contentRef = useRef<HTMLSpanElement | null>(null);\n\n useIsomorphicLayoutEffect(() => {\n if (contentRef && contentRef.current) {\n contentRef.current.style.setProperty('-webkit-line-clamp', maxLines > 1 ? `${maxLines}` : '');\n }\n }, [contentRef, maxLines]);\n\n return (\n <RootComponent\n Component={Component}\n className={classNames(\n styles.host,\n disableNativeTitle && styles.disableNativeTitle,\n className,\n )}\n title={disableNativeTitle ? undefined : getTextFromChildren(children)}\n {...restProps}\n >\n <span\n style={{ maxWidth }}\n ref={contentRef}\n className={classNames(styles.content, maxLines > 1 && styles.contentMultiline)}\n >\n {children}\n </span>\n </RootComponent>\n );\n};\n\nexport { EllipsisText };\n"],"names":["useRef","classNames","getTextFromChildren","useIsomorphicLayoutEffect","RootComponent","styles","EllipsisText","Component","className","children","maxWidth","maxLines","disableNativeTitle","restProps","contentRef","current","style","setProperty","host","title","undefined","span","ref","content","contentMultiline"],"mappings":"AAAA;;AAEA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,mBAAmB,QAAQ,2BAAwB;AAC5D,SAASC,yBAAyB,QAAQ,4CAAyC;AAEnF,SAASC,aAAa,QAAiC,uCAAoC;AAC3F,OAAOC,YAAY,4BAA4B;AAyB/C;;;;CAIC,GACD,MAAMC,eAAe,CAAC,EACpBC,YAAY,MAAM,EAClBC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,WAAW,CAAC,EACZC,qBAAqB,KAAK,EAC1B,GAAGC,WACe;IAClB,MAAMC,aAAad,OAA+B;IAElDG,0BAA0B;QACxB,IAAIW,cAAcA,WAAWC,OAAO,EAAE;YACpCD,WAAWC,OAAO,CAACC,KAAK,CAACC,WAAW,CAAC,sBAAsBN,WAAW,IAAI,GAAGA,UAAU,GAAG;QAC5F;IACF,GAAG;QAACG;QAAYH;KAAS;IAEzB,qBACE,KAACP;QACCG,WAAWA;QACXC,WAAWP,WACTI,OAAOa,IAAI,EACXN,sBAAsBP,OAAOO,kBAAkB,EAC/CJ;QAEFW,OAAOP,qBAAqBQ,YAAYlB,oBAAoBO;QAC3D,GAAGI,SAAS;kBAEb,cAAA,KAACQ;YACCL,OAAO;gBAAEN;YAAS;YAClBY,KAAKR;YACLN,WAAWP,WAAWI,OAAOkB,OAAO,EAAEZ,WAAW,KAAKN,OAAOmB,gBAAgB;sBAE5Ef;;;AAIT;AAEA,SAASH,YAAY,GAAG"}
|
|
@@ -11,7 +11,7 @@ const sizeYClassNames = {
|
|
|
11
11
|
/**
|
|
12
12
|
* Используется для основных подписей.
|
|
13
13
|
*
|
|
14
|
-
* @see https://
|
|
14
|
+
* @see https://vkui.io/components/typography#footnote
|
|
15
15
|
*/ export const Footnote = ({ className, caps, Component = 'span', normalize = true, inline = false, ...restProps })=>{
|
|
16
16
|
const { sizeY = 'none' } = useAdaptivity();
|
|
17
17
|
return /*#__PURE__*/ _jsx(Typography, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Footnote/Footnote.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { type HasCaps, Typography, type TypographyProps } from '../Typography';\nimport styles from './Footnote.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface FootnoteProps extends TypographyProps, HasCaps {}\n\n/**\n * Используется для основных подписей.\n *\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Footnote/Footnote.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { type HasCaps, Typography, type TypographyProps } from '../Typography';\nimport styles from './Footnote.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface FootnoteProps extends TypographyProps, HasCaps {}\n\n/**\n * Используется для основных подписей.\n *\n * @see https://vkui.io/components/typography#footnote\n */\nexport const Footnote = ({\n className,\n caps,\n Component = 'span',\n normalize = true,\n inline = false,\n ...restProps\n}: FootnoteProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Typography\n Component={Component}\n normalize={normalize}\n inline={inline}\n className={classNames(\n className,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n styles.host,\n caps && styles.caps,\n )}\n {...restProps}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","Typography","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","Footnote","className","caps","Component","normalize","inline","restProps","sizeY","host"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAAuBC,UAAU,QAA8B,mBAAgB;AAC/E,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAIA;;;;CAIC,GACD,OAAO,MAAMC,WAAW,CAAC,EACvBC,SAAS,EACTC,IAAI,EACJC,YAAY,MAAM,EAClBC,YAAY,IAAI,EAChBC,SAAS,KAAK,EACd,GAAGC,WACW;IACd,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGf;IAE3B,qBACE,KAACC;QACCU,WAAWA;QACXC,WAAWA;QACXC,QAAQA;QACRJ,WAAWV,WACTU,WACAM,UAAU,aAAaZ,eAAe,CAACY,MAAM,EAC7Cb,OAAOc,IAAI,EACXN,QAAQR,OAAOQ,IAAI;QAEpB,GAAGI,SAAS;;AAGnB,EAAE"}
|
|
@@ -15,7 +15,7 @@ const sizeYClassNames = {
|
|
|
15
15
|
/**
|
|
16
16
|
* Используется для подзаголовков.
|
|
17
17
|
*
|
|
18
|
-
* @see https://
|
|
18
|
+
* @see https://vkui.io/components/typography#headline
|
|
19
19
|
*/ export const Headline = ({ className, level = '1', Component = 'span', normalize = true, inline = false, ...restProps })=>{
|
|
20
20
|
const { sizeY = 'none' } = useAdaptivity();
|
|
21
21
|
return /*#__PURE__*/ _jsx(Typography, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Headline/Headline.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Headline.module.css';\n\nconst stylesLevel = {\n '1': styles.level1,\n '2': styles.level2,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface HeadlineProps extends TypographyProps {\n /**\n * Уровень заголовка (от 1 до 2).\n */\n level?: '1' | '2';\n}\n\n/**\n * Используется для подзаголовков.\n *\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Headline/Headline.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Headline.module.css';\n\nconst stylesLevel = {\n '1': styles.level1,\n '2': styles.level2,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface HeadlineProps extends TypographyProps {\n /**\n * Уровень заголовка (от 1 до 2).\n */\n level?: '1' | '2';\n}\n\n/**\n * Используется для подзаголовков.\n *\n * @see https://vkui.io/components/typography#headline\n */\nexport const Headline = ({\n className,\n level = '1',\n Component = 'span',\n normalize = true,\n inline = false,\n ...restProps\n}: HeadlineProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Typography\n Component={Component}\n normalize={normalize}\n inline={inline}\n className={classNames(\n className,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n stylesLevel[level],\n )}\n {...restProps}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","Typography","styles","stylesLevel","level1","level2","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","Headline","className","level","Component","normalize","inline","restProps","sizeY"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,UAAU,QAA8B,mBAAgB;AACjE,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,cAAc;IAClB,KAAKD,OAAOE,MAAM;IAClB,KAAKF,OAAOG,MAAM;AACpB;AAEA,MAAMC,kBAAkB;IACtBC,MAAML,OAAOM,SAAS;IACtBC,SAASP,OAAOQ,YAAY;AAC9B;AASA;;;;CAIC,GACD,OAAO,MAAMC,WAAW,CAAC,EACvBC,SAAS,EACTC,QAAQ,GAAG,EACXC,YAAY,MAAM,EAClBC,YAAY,IAAI,EAChBC,SAAS,KAAK,EACd,GAAGC,WACW;IACd,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGlB;IAE3B,qBACE,KAACC;QACCa,WAAWA;QACXC,WAAWA;QACXC,QAAQA;QACRJ,WAAWb,WACTa,WACAM,UAAU,aAAaZ,eAAe,CAACY,MAAM,EAC7Cf,WAAW,CAACU,MAAM;QAEnB,GAAGI,SAAS;;AAGnB,EAAE"}
|
|
@@ -11,7 +11,7 @@ const sizeYClassNames = {
|
|
|
11
11
|
/**
|
|
12
12
|
* Используется для основного текста.
|
|
13
13
|
*
|
|
14
|
-
* @see https://
|
|
14
|
+
* @see https://vkui.io/components/typography#paragraph
|
|
15
15
|
*/ export const Paragraph = ({ className, Component = 'span', normalize = false, inline = false, ...restProps })=>{
|
|
16
16
|
const { sizeY = 'none' } = useAdaptivity();
|
|
17
17
|
return /*#__PURE__*/ _jsx(Typography, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Paragraph/Paragraph.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Paragraph.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport type ParagraphProps = TypographyProps;\n\n/**\n * Используется для основного текста.\n *\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Paragraph/Paragraph.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Paragraph.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport type ParagraphProps = TypographyProps;\n\n/**\n * Используется для основного текста.\n *\n * @see https://vkui.io/components/typography#paragraph\n */\nexport const Paragraph = ({\n className,\n Component = 'span',\n normalize = false,\n inline = false,\n ...restProps\n}: ParagraphProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Typography\n Component={Component}\n normalize={normalize}\n inline={inline}\n className={classNames(className, styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY])}\n {...restProps}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","Typography","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","Paragraph","className","Component","normalize","inline","restProps","sizeY","host"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,UAAU,QAA8B,mBAAgB;AACjE,OAAOC,YAAY,yBAAyB;AAE5C,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAIA;;;;CAIC,GACD,OAAO,MAAMC,YAAY,CAAC,EACxBC,SAAS,EACTC,YAAY,MAAM,EAClBC,YAAY,KAAK,EACjBC,SAAS,KAAK,EACd,GAAGC,WACY;IACf,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGd;IAE3B,qBACE,KAACC;QACCS,WAAWA;QACXC,WAAWA;QACXC,QAAQA;QACRH,WAAWV,WAAWU,WAAWP,OAAOa,IAAI,EAAED,UAAU,aAAaX,eAAe,CAACW,MAAM;QAC1F,GAAGD,SAAS;;AAGnB,EAAE"}
|
|
@@ -11,7 +11,7 @@ const sizeYClassNames = {
|
|
|
11
11
|
/**
|
|
12
12
|
* Используется для подзаголовков 2 уровня.
|
|
13
13
|
*
|
|
14
|
-
* @see https://
|
|
14
|
+
* @see https://vkui.io/components/typography#subhead
|
|
15
15
|
*/ export const Subhead = ({ className, Component = 'span', normalize = true, inline = false, ...restProps })=>{
|
|
16
16
|
const { sizeY = 'none' } = useAdaptivity();
|
|
17
17
|
return /*#__PURE__*/ _jsx(Typography, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Subhead/Subhead.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Subhead.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport type SubheadProps = TypographyProps;\n\n/**\n * Используется для подзаголовков 2 уровня.\n *\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Subhead/Subhead.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Subhead.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport type SubheadProps = TypographyProps;\n\n/**\n * Используется для подзаголовков 2 уровня.\n *\n * @see https://vkui.io/components/typography#subhead\n */\nexport const Subhead = ({\n className,\n Component = 'span',\n normalize = true,\n inline = false,\n ...restProps\n}: SubheadProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Typography\n Component={Component}\n normalize={normalize}\n inline={inline}\n className={classNames(className, styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY])}\n {...restProps}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","Typography","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","Subhead","className","Component","normalize","inline","restProps","sizeY","host"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,UAAU,QAA8B,mBAAgB;AACjE,OAAOC,YAAY,uBAAuB;AAE1C,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAIA;;;;CAIC,GACD,OAAO,MAAMC,UAAU,CAAC,EACtBC,SAAS,EACTC,YAAY,MAAM,EAClBC,YAAY,IAAI,EAChBC,SAAS,KAAK,EACd,GAAGC,WACU;IACb,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGd;IAE3B,qBACE,KAACC;QACCS,WAAWA;QACXC,WAAWA;QACXC,QAAQA;QACRH,WAAWV,WAAWU,WAAWP,OAAOa,IAAI,EAAED,UAAU,aAAaX,eAAe,CAACW,MAAM;QAC1F,GAAGD,SAAS;;AAGnB,EAAE"}
|
|
@@ -11,7 +11,7 @@ const sizeYClassNames = {
|
|
|
11
11
|
/**
|
|
12
12
|
* Основной наборный текст.
|
|
13
13
|
*
|
|
14
|
-
* @see https://
|
|
14
|
+
* @see https://vkui.io/components/typography#text
|
|
15
15
|
*/ export const Text = ({ className, Component = 'span', normalize = true, inline = false, ...restProps })=>{
|
|
16
16
|
const { sizeY = 'none' } = useAdaptivity();
|
|
17
17
|
return /*#__PURE__*/ _jsx(Typography, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Text/Text.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Text.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport type TextProps = TypographyProps;\n\n/**\n * Основной наборный текст.\n *\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Text/Text.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Text.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport type TextProps = TypographyProps;\n\n/**\n * Основной наборный текст.\n *\n * @see https://vkui.io/components/typography#text\n */\nexport const Text = ({\n className,\n Component = 'span',\n normalize = true,\n inline = false,\n ...restProps\n}: TextProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Typography\n Component={Component}\n normalize={normalize}\n inline={inline}\n className={classNames(className, styles.host, sizeY !== 'regular' && sizeYClassNames[sizeY])}\n {...restProps}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","Typography","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","Text","className","Component","normalize","inline","restProps","sizeY","host"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,UAAU,QAA8B,mBAAgB;AACjE,OAAOC,YAAY,oBAAoB;AAEvC,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAIA;;;;CAIC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,SAAS,EACTC,YAAY,MAAM,EAClBC,YAAY,IAAI,EAChBC,SAAS,KAAK,EACd,GAAGC,WACO;IACV,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGd;IAE3B,qBACE,KAACC;QACCS,WAAWA;QACXC,WAAWA;QACXC,QAAQA;QACRH,WAAWV,WAAWU,WAAWP,OAAOa,IAAI,EAAED,UAAU,aAAaX,eAAe,CAACW,MAAM;QAC1F,GAAGD,SAAS;;AAGnB,EAAE"}
|
|
@@ -16,7 +16,7 @@ const sizeYClassNames = {
|
|
|
16
16
|
/**
|
|
17
17
|
* Используется для заголовков.
|
|
18
18
|
*
|
|
19
|
-
* @see https://
|
|
19
|
+
* @see https://vkui.io/components/typography#title
|
|
20
20
|
*/ export const Title = ({ className, level = '1', Component = 'span', normalize = true, inline = false, ...restProps })=>{
|
|
21
21
|
const { sizeY = 'none' } = useAdaptivity();
|
|
22
22
|
return /*#__PURE__*/ _jsx(Typography, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Typography/Title/Title.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Title.module.css';\n\nconst stylesLevel = {\n '1': styles.level1,\n '2': styles.level2,\n '3': styles.level3,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface TitleProps extends TypographyProps {\n /**\n * Уровень заголовка (от 1 до 3).\n */\n level?: '1' | '2' | '3';\n}\n\n/**\n * Используется для заголовков.\n *\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Typography/Title/Title.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Typography, type TypographyProps } from '../Typography';\nimport styles from './Title.module.css';\n\nconst stylesLevel = {\n '1': styles.level1,\n '2': styles.level2,\n '3': styles.level3,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface TitleProps extends TypographyProps {\n /**\n * Уровень заголовка (от 1 до 3).\n */\n level?: '1' | '2' | '3';\n}\n\n/**\n * Используется для заголовков.\n *\n * @see https://vkui.io/components/typography#title\n */\nexport const Title = ({\n className,\n level = '1',\n Component = 'span',\n normalize = true,\n inline = false,\n ...restProps\n}: TitleProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Typography\n Component={Component}\n normalize={normalize}\n inline={inline}\n className={classNames(\n className,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n stylesLevel[level],\n )}\n {...restProps}\n />\n );\n};\n"],"names":["classNames","useAdaptivity","Typography","styles","stylesLevel","level1","level2","level3","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","Title","className","level","Component","normalize","inline","restProps","sizeY"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,UAAU,QAA8B,mBAAgB;AACjE,OAAOC,YAAY,qBAAqB;AAExC,MAAMC,cAAc;IAClB,KAAKD,OAAOE,MAAM;IAClB,KAAKF,OAAOG,MAAM;IAClB,KAAKH,OAAOI,MAAM;AACpB;AAEA,MAAMC,kBAAkB;IACtBC,MAAMN,OAAOO,SAAS;IACtBC,SAASR,OAAOS,YAAY;AAC9B;AASA;;;;CAIC,GACD,OAAO,MAAMC,QAAQ,CAAC,EACpBC,SAAS,EACTC,QAAQ,GAAG,EACXC,YAAY,MAAM,EAClBC,YAAY,IAAI,EAChBC,SAAS,KAAK,EACd,GAAGC,WACQ;IACX,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGnB;IAE3B,qBACE,KAACC;QACCc,WAAWA;QACXC,WAAWA;QACXC,QAAQA;QACRJ,WAAWd,WACTc,WACAM,UAAU,aAAaZ,eAAe,CAACY,MAAM,EAC7ChB,WAAW,CAACW,MAAM;QAEnB,GAAGI,SAAS;;AAGnB,EAAE"}
|
|
@@ -7,9 +7,12 @@ import styles from "./UnstyledTextField.module.css";
|
|
|
7
7
|
* Компонент сбрасывает [User-agent stylesheets](https://www.geeksforgeeks.org/what-is-a-user-agent-stylesheet/)
|
|
8
8
|
* полей ввода.
|
|
9
9
|
*
|
|
10
|
-
* Используется в <a href="?path=/story/forms-input--playground" data-prod-href="https://
|
|
10
|
+
* Используется в <a href="?path=/story/forms-input--playground" data-prod-href="https://vkui.io/playground/?path=/story/forms-input--playground">Input</a> и <a href="?path=/story/forms-textarea--playground" data-prod-href="https://vkui.io/playground/?path=/story/forms-textarea--playground">Textarea</a>.
|
|
11
11
|
*
|
|
12
12
|
* @since 6.1.0
|
|
13
|
+
*
|
|
14
|
+
* @see https://vkui.io/components/unstyled-text-field
|
|
15
|
+
*
|
|
13
16
|
*/ export const UnstyledTextField = ({ as, noPadding = false, className, ...restProps })=>/*#__PURE__*/ _jsx(Text, {
|
|
14
17
|
Component: as,
|
|
15
18
|
normalize: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/UnstyledTextField/UnstyledTextField.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './UnstyledTextField.module.css';\n\nexport interface UnstyledTextFieldBaseProps {\n /**\n * Задаёт какой из DOM-элементов для ввода текста использовать.\n */\n as: 'input' | 'textarea';\n /**\n * По умолчанию отключено во избежание проблем из-за очередности загрузки стилей.\n */\n noPadding?: boolean;\n}\n\nexport interface UnstyledTextFieldAsInputProps\n extends UnstyledTextFieldBaseProps,\n React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLInputElement> {\n /**\n * Тег используемый в компоненте.\n */\n as: 'input';\n}\n\nexport interface UnstyledTextFieldAsTextareaProps\n extends UnstyledTextFieldBaseProps,\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLTextAreaElement> {\n /**\n * Тег используемый в компоненте.\n */\n as: 'textarea';\n}\n\nexport type UnstyledTextFieldProps =\n | UnstyledTextFieldAsInputProps\n | UnstyledTextFieldAsTextareaProps;\n\n/**\n * Компонент сбрасывает [User-agent stylesheets](https://www.geeksforgeeks.org/what-is-a-user-agent-stylesheet/)\n * полей ввода.\n *\n * Используется в <a href=\"?path=/story/forms-input--playground\" data-prod-href=\"https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/UnstyledTextField/UnstyledTextField.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './UnstyledTextField.module.css';\n\nexport interface UnstyledTextFieldBaseProps {\n /**\n * Задаёт какой из DOM-элементов для ввода текста использовать.\n */\n as: 'input' | 'textarea';\n /**\n * По умолчанию отключено во избежание проблем из-за очередности загрузки стилей.\n */\n noPadding?: boolean;\n}\n\nexport interface UnstyledTextFieldAsInputProps\n extends UnstyledTextFieldBaseProps,\n React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLInputElement> {\n /**\n * Тег используемый в компоненте.\n */\n as: 'input';\n}\n\nexport interface UnstyledTextFieldAsTextareaProps\n extends UnstyledTextFieldBaseProps,\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLTextAreaElement> {\n /**\n * Тег используемый в компоненте.\n */\n as: 'textarea';\n}\n\nexport type UnstyledTextFieldProps =\n | UnstyledTextFieldAsInputProps\n | UnstyledTextFieldAsTextareaProps;\n\n/**\n * Компонент сбрасывает [User-agent stylesheets](https://www.geeksforgeeks.org/what-is-a-user-agent-stylesheet/)\n * полей ввода.\n *\n * Используется в <a href=\"?path=/story/forms-input--playground\" data-prod-href=\"https://vkui.io/playground/?path=/story/forms-input--playground\">Input</a> и <a href=\"?path=/story/forms-textarea--playground\" data-prod-href=\"https://vkui.io/playground/?path=/story/forms-textarea--playground\">Textarea</a>.\n *\n * @since 6.1.0\n *\n * @see https://vkui.io/components/unstyled-text-field\n *\n */\nexport const UnstyledTextField = ({\n as,\n noPadding = false,\n className,\n ...restProps\n}: UnstyledTextFieldProps): React.ReactNode => (\n <Text\n Component={as}\n normalize={false}\n className={classNames(styles.host, noPadding && styles.noPadding, className)}\n {...restProps}\n />\n);\n"],"names":["React","classNames","Text","styles","UnstyledTextField","as","noPadding","className","restProps","Component","normalize","host"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,IAAI,QAAQ,6BAA0B;AAC/C,OAAOC,YAAY,iCAAiC;AAqCpD;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,EAAE,EACFC,YAAY,KAAK,EACjBC,SAAS,EACT,GAAGC,WACoB,iBACvB,KAACN;QACCO,WAAWJ;QACXK,WAAW;QACXH,WAAWN,WAAWE,OAAOQ,IAAI,EAAEL,aAAaH,OAAOG,SAAS,EAAEC;QACjE,GAAGC,SAAS;OAEf"}
|
|
@@ -71,7 +71,7 @@ const photoSizes = {
|
|
|
71
71
|
l: 32
|
|
72
72
|
};
|
|
73
73
|
/**
|
|
74
|
-
* @see https://
|
|
74
|
+
* @see https://vkui.io/components/users-stack
|
|
75
75
|
*/ export const UsersStack = ({ photos = [], visibleCount = 3, count = Math.max(0, photos.length - visibleCount), size = 'm', children, avatarsPosition = 'inline-start', ...restProps })=>{
|
|
76
76
|
const cmpId = React.useId();
|
|
77
77
|
const direction = useConfigDirection();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/UsersStack/UsersStack.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './UsersStack.module.css';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nconst avatarsPositionStyles = {\n 'inline-start': styles.avatarsPositionInlineStart,\n 'inline-end': styles.avatarsPositionInlineEnd,\n 'block-start': styles.avatarsPositionBlockStart,\n};\n\nexport type UsersStackRenderWrapperProps = {\n /**\n * Контент для обертки.\n */\n children: React.ReactElement;\n /**\n * Путь до фотографии.\n */\n ['data-src']: string;\n};\n\nexport type UsersStackPhoto = {\n /**\n * Путь до фотографии.\n */\n src: string;\n /**\n * Функция для рендера обертки над фотографией.\n */\n renderWrapper?: (props: UsersStackRenderWrapperProps) => React.ReactElement;\n};\n\nexport interface UsersStackProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Массив ссылок на фотографии либо массив структур типа `UsersStackPhoto`.\n */\n photos?: string[] | UsersStackPhoto[];\n /**\n * Размер аватарок.\n */\n size?: 's' | 'm' | 'l';\n /**\n * Количество аватарок, которые будут показаны.\n * Если в массиве `photos` больше элементов и не используется размер `s`, то будет показано количество остальных элементов.\n */\n visibleCount?: number;\n /**\n * Число, которое будет указано в счетчике.\n * По умолчанию высчитывается по формуле `photos.length - visibleCount`.\n * Если число больше 99, то счетчик скроется.\n */\n count?: number;\n /**\n * Определяет положение аватаров\n * Режим `block-start` рекомендуется использовать с размером `m`.\n */\n avatarsPosition?: 'inline-start' | 'block-start' | 'inline-end';\n}\n\ninterface PathElementProps extends React.SVGAttributes<SVGElement> {\n /**\n * Размер фотографии.\n */\n photoSize: number;\n /**\n * Тип обрезания фотографии.\n */\n direction: 'circle' | 'right' | 'left';\n}\n\ntype PhotoSizeType = 16 | 24 | 32;\n\nfunction PathElement({ photoSize, direction, ...props }: PathElementProps) {\n switch (direction) {\n case 'circle':\n const radius = photoSize / 2;\n\n return <circle cx={radius} cy={radius} r={radius} {...props} />;\n\n case 'right':\n switch (photoSize) {\n case 16:\n return (\n <path\n d=\"M14,13.285A8 8 0 0 1 8 16A8 8 0 0 1 8 0A8 8 0 0 1 14 2.715A8 8 0 0 0 14,13.285\"\n {...props}\n />\n );\n case 24:\n return (\n <path\n d=\"M22,18.625A12 12 0 0 1 12 24A12 12 0 0 1 12 0A12 12 0 0 1 22 5.375A12 12 0 0 0 22,18.625\"\n {...props}\n />\n );\n\n default:\n return (\n <path\n d=\"M30,23.75A16 16 0 0 1 16 32A16 16 0 0 1 16 0A16 16 0 0 1 30 8.25A16 16 0 0 0 30,23.75\"\n {...props}\n />\n );\n }\n\n default:\n switch (photoSize) {\n case 16:\n return (\n <path\n d=\"M2,13.285A8 8 0 0 0 8 16A8 8 0 0 0 8 0A8 8 0 0 0 2 2.715A8 8 0 0 1 2,13.285\"\n {...props}\n />\n );\n case 24:\n return (\n <path\n d=\"M2,18.625A12 12 0 0 0 12 24A12 12 0 0 0 12 0A12 12 0 0 0 2 5.375A12 12 0 0 1 2,18.625\"\n {...props}\n />\n );\n\n default:\n return (\n <path\n d=\"M2,23.75A16 16 0 0 0 16 32A16 16 0 0 0 16 0A16 16 0 0 0 2 8.25A16 16 0 0 1 2,23.75\"\n {...props}\n />\n );\n }\n }\n}\n\nconst photoSizes: Record<NonNullable<UsersStackProps['size']>, PhotoSizeType> = {\n s: 16,\n m: 24,\n l: 32,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/UsersStack\n */\nexport const UsersStack = ({\n photos = [],\n visibleCount = 3,\n count = Math.max(0, photos.length - visibleCount),\n size = 'm',\n children,\n avatarsPosition = 'inline-start',\n ...restProps\n}: UsersStackProps): React.ReactNode => {\n const cmpId = React.useId();\n const direction = useConfigDirection();\n\n const canShowOthers = count > 0 && count < 100 && size !== 's';\n const CounterTypography = size === 'l' ? Footnote : Caption;\n\n const photoSize = photoSizes[size];\n const directionClip =\n direction === 'ltr' ? (canShowOthers ? 'right' : 'left') : canShowOthers ? 'left' : 'right';\n\n const photosElements = photos.slice(0, visibleCount).map((photo, i) => {\n const direction = i === 0 && !canShowOthers ? 'circle' : directionClip;\n\n const id = `UsersStackDefs${cmpId}${i}`;\n const hrefID = `#${id}`;\n const maskID = `UsersStackMask${cmpId}${i}`;\n\n const isPhotoType = typeof photo === 'object';\n const photoSrc = isPhotoType ? photo.src : photo;\n\n let photoElement = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={classNames(styles.photo, styles.item)}\n aria-hidden\n display=\"block\"\n >\n <defs>\n <PathElement id={id} direction={direction} photoSize={photoSize} />\n </defs>\n <clipPath id={maskID}>\n <use href={hrefID} />\n </clipPath>\n <g clipPath={`url(#${maskID})`}>\n <use href={hrefID} className={styles.fill} />\n <image href={photoSrc} width={photoSize} height={photoSize} />\n <use href={hrefID} fill=\"none\" stroke=\"rgba(0, 0, 0, 0.08)\" />\n </g>\n </svg>\n );\n if (isPhotoType && photo.renderWrapper) {\n photoElement = photo.renderWrapper({\n 'children': photoElement,\n 'data-src': photoSrc,\n });\n }\n\n return (\n <div className={styles.photoWrapper} key={i}>\n {photoElement}\n </div>\n );\n });\n\n const othersElement = canShowOthers ? (\n <div className={styles.photoWrapper}>\n <CounterTypography caps weight=\"1\" className={classNames(styles.item, styles.counter)}>\n +{count}\n </CounterTypography>\n </div>\n ) : null;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n stylesSize[size],\n avatarsPositionStyles[avatarsPosition],\n )}\n >\n {(photosElements.length > 0 || othersElement) && (\n <div className={styles.photos} aria-hidden>\n {photosElements}\n {othersElement}\n </div>\n )}\n {hasReactNode(children) && <Footnote className={styles.text}>{children}</Footnote>}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","useConfigDirection","RootComponent","Caption","Footnote","styles","stylesSize","s","sizeS","m","sizeM","l","sizeL","avatarsPositionStyles","avatarsPositionInlineStart","avatarsPositionInlineEnd","avatarsPositionBlockStart","PathElement","photoSize","direction","props","radius","circle","cx","cy","r","path","d","photoSizes","UsersStack","photos","visibleCount","count","Math","max","length","size","children","avatarsPosition","restProps","cmpId","useId","canShowOthers","CounterTypography","directionClip","photosElements","slice","map","photo","i","id","hrefID","maskID","isPhotoType","photoSrc","src","photoElement","svg","xmlns","className","item","aria-hidden","display","defs","clipPath","use","href","g","fill","image","width","height","stroke","renderWrapper","div","photoWrapper","othersElement","caps","weight","counter","baseClassName","host","text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/UsersStack/UsersStack.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './UsersStack.module.css';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nconst avatarsPositionStyles = {\n 'inline-start': styles.avatarsPositionInlineStart,\n 'inline-end': styles.avatarsPositionInlineEnd,\n 'block-start': styles.avatarsPositionBlockStart,\n};\n\nexport type UsersStackRenderWrapperProps = {\n /**\n * Контент для обертки.\n */\n children: React.ReactElement;\n /**\n * Путь до фотографии.\n */\n ['data-src']: string;\n};\n\nexport type UsersStackPhoto = {\n /**\n * Путь до фотографии.\n */\n src: string;\n /**\n * Функция для рендера обертки над фотографией.\n */\n renderWrapper?: (props: UsersStackRenderWrapperProps) => React.ReactElement;\n};\n\nexport interface UsersStackProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Массив ссылок на фотографии либо массив структур типа `UsersStackPhoto`.\n */\n photos?: string[] | UsersStackPhoto[];\n /**\n * Размер аватарок.\n */\n size?: 's' | 'm' | 'l';\n /**\n * Количество аватарок, которые будут показаны.\n * Если в массиве `photos` больше элементов и не используется размер `s`, то будет показано количество остальных элементов.\n */\n visibleCount?: number;\n /**\n * Число, которое будет указано в счетчике.\n * По умолчанию высчитывается по формуле `photos.length - visibleCount`.\n * Если число больше 99, то счетчик скроется.\n */\n count?: number;\n /**\n * Определяет положение аватаров\n * Режим `block-start` рекомендуется использовать с размером `m`.\n */\n avatarsPosition?: 'inline-start' | 'block-start' | 'inline-end';\n}\n\ninterface PathElementProps extends React.SVGAttributes<SVGElement> {\n /**\n * Размер фотографии.\n */\n photoSize: number;\n /**\n * Тип обрезания фотографии.\n */\n direction: 'circle' | 'right' | 'left';\n}\n\ntype PhotoSizeType = 16 | 24 | 32;\n\nfunction PathElement({ photoSize, direction, ...props }: PathElementProps) {\n switch (direction) {\n case 'circle':\n const radius = photoSize / 2;\n\n return <circle cx={radius} cy={radius} r={radius} {...props} />;\n\n case 'right':\n switch (photoSize) {\n case 16:\n return (\n <path\n d=\"M14,13.285A8 8 0 0 1 8 16A8 8 0 0 1 8 0A8 8 0 0 1 14 2.715A8 8 0 0 0 14,13.285\"\n {...props}\n />\n );\n case 24:\n return (\n <path\n d=\"M22,18.625A12 12 0 0 1 12 24A12 12 0 0 1 12 0A12 12 0 0 1 22 5.375A12 12 0 0 0 22,18.625\"\n {...props}\n />\n );\n\n default:\n return (\n <path\n d=\"M30,23.75A16 16 0 0 1 16 32A16 16 0 0 1 16 0A16 16 0 0 1 30 8.25A16 16 0 0 0 30,23.75\"\n {...props}\n />\n );\n }\n\n default:\n switch (photoSize) {\n case 16:\n return (\n <path\n d=\"M2,13.285A8 8 0 0 0 8 16A8 8 0 0 0 8 0A8 8 0 0 0 2 2.715A8 8 0 0 1 2,13.285\"\n {...props}\n />\n );\n case 24:\n return (\n <path\n d=\"M2,18.625A12 12 0 0 0 12 24A12 12 0 0 0 12 0A12 12 0 0 0 2 5.375A12 12 0 0 1 2,18.625\"\n {...props}\n />\n );\n\n default:\n return (\n <path\n d=\"M2,23.75A16 16 0 0 0 16 32A16 16 0 0 0 16 0A16 16 0 0 0 2 8.25A16 16 0 0 1 2,23.75\"\n {...props}\n />\n );\n }\n }\n}\n\nconst photoSizes: Record<NonNullable<UsersStackProps['size']>, PhotoSizeType> = {\n s: 16,\n m: 24,\n l: 32,\n};\n\n/**\n * @see https://vkui.io/components/users-stack\n */\nexport const UsersStack = ({\n photos = [],\n visibleCount = 3,\n count = Math.max(0, photos.length - visibleCount),\n size = 'm',\n children,\n avatarsPosition = 'inline-start',\n ...restProps\n}: UsersStackProps): React.ReactNode => {\n const cmpId = React.useId();\n const direction = useConfigDirection();\n\n const canShowOthers = count > 0 && count < 100 && size !== 's';\n const CounterTypography = size === 'l' ? Footnote : Caption;\n\n const photoSize = photoSizes[size];\n const directionClip =\n direction === 'ltr' ? (canShowOthers ? 'right' : 'left') : canShowOthers ? 'left' : 'right';\n\n const photosElements = photos.slice(0, visibleCount).map((photo, i) => {\n const direction = i === 0 && !canShowOthers ? 'circle' : directionClip;\n\n const id = `UsersStackDefs${cmpId}${i}`;\n const hrefID = `#${id}`;\n const maskID = `UsersStackMask${cmpId}${i}`;\n\n const isPhotoType = typeof photo === 'object';\n const photoSrc = isPhotoType ? photo.src : photo;\n\n let photoElement = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={classNames(styles.photo, styles.item)}\n aria-hidden\n display=\"block\"\n >\n <defs>\n <PathElement id={id} direction={direction} photoSize={photoSize} />\n </defs>\n <clipPath id={maskID}>\n <use href={hrefID} />\n </clipPath>\n <g clipPath={`url(#${maskID})`}>\n <use href={hrefID} className={styles.fill} />\n <image href={photoSrc} width={photoSize} height={photoSize} />\n <use href={hrefID} fill=\"none\" stroke=\"rgba(0, 0, 0, 0.08)\" />\n </g>\n </svg>\n );\n if (isPhotoType && photo.renderWrapper) {\n photoElement = photo.renderWrapper({\n 'children': photoElement,\n 'data-src': photoSrc,\n });\n }\n\n return (\n <div className={styles.photoWrapper} key={i}>\n {photoElement}\n </div>\n );\n });\n\n const othersElement = canShowOthers ? (\n <div className={styles.photoWrapper}>\n <CounterTypography caps weight=\"1\" className={classNames(styles.item, styles.counter)}>\n +{count}\n </CounterTypography>\n </div>\n ) : null;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n stylesSize[size],\n avatarsPositionStyles[avatarsPosition],\n )}\n >\n {(photosElements.length > 0 || othersElement) && (\n <div className={styles.photos} aria-hidden>\n {photosElements}\n {othersElement}\n </div>\n )}\n {hasReactNode(children) && <Footnote className={styles.text}>{children}</Footnote>}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","useConfigDirection","RootComponent","Caption","Footnote","styles","stylesSize","s","sizeS","m","sizeM","l","sizeL","avatarsPositionStyles","avatarsPositionInlineStart","avatarsPositionInlineEnd","avatarsPositionBlockStart","PathElement","photoSize","direction","props","radius","circle","cx","cy","r","path","d","photoSizes","UsersStack","photos","visibleCount","count","Math","max","length","size","children","avatarsPosition","restProps","cmpId","useId","canShowOthers","CounterTypography","directionClip","photosElements","slice","map","photo","i","id","hrefID","maskID","isPhotoType","photoSrc","src","photoElement","svg","xmlns","className","item","aria-hidden","display","defs","clipPath","use","href","g","fill","image","width","height","stroke","renderWrapper","div","photoWrapper","othersElement","caps","weight","counter","baseClassName","host","text"],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ import styles from "./View.module.css";
|
|
|
20
20
|
export let scrollsCache = {};
|
|
21
21
|
const warn = warnOnce('View');
|
|
22
22
|
/**
|
|
23
|
-
* @see https://
|
|
23
|
+
* @see https://vkui.io/components/view
|
|
24
24
|
*/ export const View = ({ activePanel: activePanelProp, history, nav, onTransition, onSwipeBack, onSwipeBackStart, onSwipeBackCancel: onSwipeBackCancelProp, children, className, ...restProps })=>{
|
|
25
25
|
const id = getNavId({
|
|
26
26
|
nav,
|