@vkontakte/vkui 7.4.4 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/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/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/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/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/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/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.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.tsx +1 -1
- 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
|
@@ -7,7 +7,7 @@ import { AdaptiveIconRenderer } from "../AdaptiveIconRenderer/AdaptiveIconRender
|
|
|
7
7
|
import { PanelHeaderButton } from "../PanelHeaderButton/PanelHeaderButton.js";
|
|
8
8
|
import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
|
|
9
9
|
/**
|
|
10
|
-
* @see https://
|
|
10
|
+
* @see https://vkui.io/components/panel-header#panel-header-edit
|
|
11
11
|
*/ export const PanelHeaderEdit = ({ isActive = false, editLabel = 'Редактировать', doneLabel = 'Готово', ...restProps })=>{
|
|
12
12
|
const platform = usePlatform();
|
|
13
13
|
const label = isActive ? doneLabel : editLabel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon24DoneOutline,\n Icon24PenOutline,\n Icon28DoneOutline,\n Icon28EditOutline,\n} from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nexport interface PanelHeaderEditProps extends Omit<PanelHeaderButtonProps, 'label' | 'children'> {\n /**\n * Включен ли режим редактирования.\n */\n isActive?: boolean;\n /**\n * Текст кнопки, когда режим редактирования не активен. Визуально скрыт везде, кроме iOS.\n */\n editLabel?: string;\n /**\n * Текст кнопки при активном режиме редактирования для выхода из него. Визуально скрыт везде, кроме iOS.\n */\n doneLabel?: string;\n}\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon24DoneOutline,\n Icon24PenOutline,\n Icon28DoneOutline,\n Icon28EditOutline,\n} from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nexport interface PanelHeaderEditProps extends Omit<PanelHeaderButtonProps, 'label' | 'children'> {\n /**\n * Включен ли режим редактирования.\n */\n isActive?: boolean;\n /**\n * Текст кнопки, когда режим редактирования не активен. Визуально скрыт везде, кроме iOS.\n */\n editLabel?: string;\n /**\n * Текст кнопки при активном режиме редактирования для выхода из него. Визуально скрыт везде, кроме iOS.\n */\n doneLabel?: string;\n}\n\n/**\n * @see https://vkui.io/components/panel-header#panel-header-edit\n */\nexport const PanelHeaderEdit = ({\n isActive = false,\n editLabel = 'Редактировать',\n doneLabel = 'Готово',\n ...restProps\n}: PanelHeaderEditProps): React.ReactNode => {\n const platform = usePlatform();\n const label = isActive ? doneLabel : editLabel;\n\n return (\n <PanelHeaderButton\n {...restProps}\n label={platform === 'ios' ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}\n >\n {platform !== 'ios' && (\n <AdaptiveIconRenderer\n IconCompact={isActive ? Icon24DoneOutline : Icon24PenOutline}\n IconRegular={isActive ? Icon28DoneOutline : Icon28EditOutline}\n />\n )}\n </PanelHeaderButton>\n );\n};\n"],"names":["React","Icon24DoneOutline","Icon24PenOutline","Icon28DoneOutline","Icon28EditOutline","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","PanelHeaderEdit","isActive","editLabel","doneLabel","restProps","platform","label","IconCompact","IconRegular"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,QACZ,mBAAmB;AAC1B,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAiBlE;;CAEC,GACD,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,WAAW,KAAK,EAChBC,YAAY,eAAe,EAC3BC,YAAY,QAAQ,EACpB,GAAGC,WACkB;IACrB,MAAMC,WAAWT;IACjB,MAAMU,QAAQL,WAAWE,YAAYD;IAErC,qBACE,KAACJ;QACE,GAAGM,SAAS;QACbE,OAAOD,aAAa,QAAQC,QAAQA,uBAAS,KAACP;sBAAgBO;;kBAE7DD,aAAa,uBACZ,KAACR;YACCU,aAAaN,WAAWT,oBAAoBC;YAC5Ce,aAAaP,WAAWP,oBAAoBC;;;AAKtD,EAAE"}
|
|
@@ -6,7 +6,7 @@ import { AdaptiveIconRenderer } from "../AdaptiveIconRenderer/AdaptiveIconRender
|
|
|
6
6
|
import { PanelHeaderButton } from "../PanelHeaderButton/PanelHeaderButton.js";
|
|
7
7
|
import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
|
|
8
8
|
/**
|
|
9
|
-
* @see https://
|
|
9
|
+
* @see https://vkui.io/components/panel-header#panel-header-submit
|
|
10
10
|
*/ export const PanelHeaderSubmit = ({ label = 'Готово', ...restProps })=>{
|
|
11
11
|
const platform = usePlatform();
|
|
12
12
|
return /*#__PURE__*/ _jsx(PanelHeaderButton, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"sourcesContent":["'use client';\n\nimport { Icon24DoneOutline, Icon28DoneOutline } from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nexport type PanelHeaderSubmitProps = Omit<PanelHeaderButtonProps, 'children'>;\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"sourcesContent":["'use client';\n\nimport { Icon24DoneOutline, Icon28DoneOutline } from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nexport type PanelHeaderSubmitProps = Omit<PanelHeaderButtonProps, 'children'>;\n\n/**\n * @see https://vkui.io/components/panel-header#panel-header-submit\n */\nexport const PanelHeaderSubmit = ({\n label = 'Готово',\n ...restProps\n}: PanelHeaderSubmitProps): React.ReactNode => {\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton\n primary\n label={platform === 'ios' ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}\n {...restProps}\n >\n {platform !== 'ios' && (\n <AdaptiveIconRenderer IconCompact={Icon24DoneOutline} IconRegular={Icon28DoneOutline} />\n )}\n </PanelHeaderButton>\n );\n};\n"],"names":["Icon24DoneOutline","Icon28DoneOutline","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","PanelHeaderSubmit","label","restProps","platform","primary","IconCompact","IconRegular"],"mappings":"AAAA;;AAEA,SAASA,iBAAiB,EAAEC,iBAAiB,QAAQ,mBAAmB;AACxE,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAIlE;;CAEC,GACD,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,QAAQ,QAAQ,EAChB,GAAGC,WACoB;IACvB,MAAMC,WAAWP;IAEjB,qBACE,KAACE;QACCM,OAAO;QACPH,OAAOE,aAAa,QAAQF,QAAQA,uBAAS,KAACF;sBAAgBE;;QAC7D,GAAGC,SAAS;kBAEZC,aAAa,uBACZ,KAACN;YAAqBQ,aAAaX;YAAmBY,aAAaX;;;AAI3E,EAAE"}
|
|
@@ -3,7 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
import { defineComponentDisplayNames } from "../../lib/react/defineComponentDisplayNames.js";
|
|
4
4
|
import { Spinner } from "../Spinner/Spinner.js";
|
|
5
5
|
/**
|
|
6
|
-
* @see https://
|
|
6
|
+
* @see https://vkui.io/components/panel#panel-spinner
|
|
7
7
|
*/ // eslint-disable-next-line react/display-name -- используется defineComponentDisplayNames
|
|
8
8
|
export const PanelSpinner = /*#__PURE__*/ React.memo(({ height = 96, style, ...restProps })=>/*#__PURE__*/ _jsx(Spinner, {
|
|
9
9
|
size: "m",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PanelSpinner/PanelSpinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport { Spinner, type SpinnerProps } from '../Spinner/Spinner';\n\nexport interface PanelSpinnerProps extends SpinnerProps {\n /**\n * Высота компонента.\n */\n height?: number;\n}\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PanelSpinner/PanelSpinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport { Spinner, type SpinnerProps } from '../Spinner/Spinner';\n\nexport interface PanelSpinnerProps extends SpinnerProps {\n /**\n * Высота компонента.\n */\n height?: number;\n}\n\n/**\n * @see https://vkui.io/components/panel#panel-spinner\n */\n// eslint-disable-next-line react/display-name -- используется defineComponentDisplayNames\nexport const PanelSpinner = React.memo(\n ({ height = 96, style, ...restProps }: PanelSpinnerProps) => (\n <Spinner size=\"m\" {...restProps} style={{ height, ...style }} />\n ),\n);\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(PanelSpinner, 'PanelSpinner');\n}\n"],"names":["React","defineComponentDisplayNames","Spinner","PanelSpinner","memo","height","style","restProps","size","process","env","NODE_ENV"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,2BAA2B,QAAQ,iDAA8C;AAC1F,SAASC,OAAO,QAA2B,wBAAqB;AAShE;;CAEC,GACD,0FAA0F;AAC1F,OAAO,MAAMC,6BAAeH,MAAMI,IAAI,CACpC,CAAC,EAAEC,SAAS,EAAE,EAAEC,KAAK,EAAE,GAAGC,WAA8B,iBACtD,KAACL;QAAQM,MAAK;QAAK,GAAGD,SAAS;QAAED,OAAO;YAAED;YAAQ,GAAGC,KAAK;QAAC;QAE7D;AAEF,IAAIG,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzCV,4BAA4BE,cAAc;AAC5C"}
|
|
@@ -29,7 +29,7 @@ const PlaceholderActions = (props)=>/*#__PURE__*/ _jsx(RootComponent, {
|
|
|
29
29
|
...props
|
|
30
30
|
});
|
|
31
31
|
/**
|
|
32
|
-
* @see https://
|
|
32
|
+
* @see https://vkui.io/components/placeholder
|
|
33
33
|
*/ export const Placeholder = ({ icon, title, children, action, noPadding = false, ...restProps })=>/*#__PURE__*/ _jsxs(PlaceholderContainer, {
|
|
34
34
|
noPadding: noPadding,
|
|
35
35
|
...restProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Placeholder/Placeholder.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Placeholder.module.css';\n\nexport interface PlaceholderContainerProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'title'> {\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер.\n */\n stretched?: boolean;\n /**\n * Убирает отступы у компонента.\n */\n noPadding?: boolean;\n}\n\nconst PlaceholderContainer = ({\n stretched,\n noPadding = false,\n ...restProps\n}: PlaceholderContainerProps): React.ReactNode => (\n <RootComponent\n baseClassName={classNames(\n styles.host,\n stretched && styles.stretched,\n !noPadding && styles.withPadding,\n )}\n {...restProps}\n />\n);\n\nexport type PlaceholderIconProps = HTMLAttributesWithRootRef<HTMLDivElement>;\n\nconst PlaceholderIcon = (props: PlaceholderIconProps): React.ReactNode => (\n <RootComponent baseClassName={styles.icon} {...props} />\n);\n\nexport type PlaceholderTitleProps = HTMLAttributesWithRootRef<HTMLElement> & HasComponent;\n\nconst PlaceholderTitle = ({ className, ...restProps }: PlaceholderTitleProps): React.ReactNode => (\n <Title level=\"2\" weight=\"2\" className={classNames(className, styles.title)} {...restProps} />\n);\n\nexport type PlaceholderDescriptionProps = HTMLAttributesWithRootRef<HTMLElement> & HasComponent;\n\nconst PlaceholderDescription = ({\n className,\n ...restProps\n}: PlaceholderDescriptionProps): React.ReactNode => (\n <Headline weight=\"3\" className={classNames(className, styles.description)} {...restProps} />\n);\n\nexport type PlaceholderActionsProps = HTMLAttributesWithRootRef<HTMLDivElement>;\n\nconst PlaceholderActions = (props: PlaceholderActionsProps): React.ReactNode => (\n <RootComponent baseClassName={styles.action} {...props} />\n);\n\nexport interface PlaceholderProps extends PlaceholderContainerProps {\n /**\n * Иконка.\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера.\n */\n title?: React.ReactNode;\n /**\n * Кнопка действия.\n */\n action?: React.ReactNode;\n}\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Placeholder/Placeholder.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Placeholder.module.css';\n\nexport interface PlaceholderContainerProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'title'> {\n /**\n * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер.\n */\n stretched?: boolean;\n /**\n * Убирает отступы у компонента.\n */\n noPadding?: boolean;\n}\n\nconst PlaceholderContainer = ({\n stretched,\n noPadding = false,\n ...restProps\n}: PlaceholderContainerProps): React.ReactNode => (\n <RootComponent\n baseClassName={classNames(\n styles.host,\n stretched && styles.stretched,\n !noPadding && styles.withPadding,\n )}\n {...restProps}\n />\n);\n\nexport type PlaceholderIconProps = HTMLAttributesWithRootRef<HTMLDivElement>;\n\nconst PlaceholderIcon = (props: PlaceholderIconProps): React.ReactNode => (\n <RootComponent baseClassName={styles.icon} {...props} />\n);\n\nexport type PlaceholderTitleProps = HTMLAttributesWithRootRef<HTMLElement> & HasComponent;\n\nconst PlaceholderTitle = ({ className, ...restProps }: PlaceholderTitleProps): React.ReactNode => (\n <Title level=\"2\" weight=\"2\" className={classNames(className, styles.title)} {...restProps} />\n);\n\nexport type PlaceholderDescriptionProps = HTMLAttributesWithRootRef<HTMLElement> & HasComponent;\n\nconst PlaceholderDescription = ({\n className,\n ...restProps\n}: PlaceholderDescriptionProps): React.ReactNode => (\n <Headline weight=\"3\" className={classNames(className, styles.description)} {...restProps} />\n);\n\nexport type PlaceholderActionsProps = HTMLAttributesWithRootRef<HTMLDivElement>;\n\nconst PlaceholderActions = (props: PlaceholderActionsProps): React.ReactNode => (\n <RootComponent baseClassName={styles.action} {...props} />\n);\n\nexport interface PlaceholderProps extends PlaceholderContainerProps {\n /**\n * Иконка.\n */\n icon?: React.ReactNode;\n /**\n * Заголовок плейсхолдера.\n */\n title?: React.ReactNode;\n /**\n * Кнопка действия.\n */\n action?: React.ReactNode;\n}\n\n/**\n * @see https://vkui.io/components/placeholder\n */\nexport const Placeholder: React.FC<PlaceholderProps> & {\n Container: typeof PlaceholderContainer;\n Icon: typeof PlaceholderIcon;\n Title: typeof PlaceholderTitle;\n Description: typeof PlaceholderDescription;\n Actions: typeof PlaceholderActions;\n} = ({ icon, title, children, action, noPadding = false, ...restProps }: PlaceholderProps) => (\n <PlaceholderContainer noPadding={noPadding} {...restProps}>\n {hasReactNode(icon) && <PlaceholderIcon>{icon}</PlaceholderIcon>}\n {hasReactNode(title) && <PlaceholderTitle>{title}</PlaceholderTitle>}\n {hasReactNode(children) && <PlaceholderDescription>{children}</PlaceholderDescription>}\n {hasReactNode(action) && <PlaceholderActions>{action}</PlaceholderActions>}\n </PlaceholderContainer>\n);\n\nPlaceholder.Container = PlaceholderContainer;\nPlaceholder.Icon = PlaceholderIcon;\nPlaceholder.Title = PlaceholderTitle;\nPlaceholder.Description = PlaceholderDescription;\nPlaceholder.Actions = PlaceholderActions;\n"],"names":["React","classNames","hasReactNode","RootComponent","Headline","Title","styles","PlaceholderContainer","stretched","noPadding","restProps","baseClassName","host","withPadding","PlaceholderIcon","props","icon","PlaceholderTitle","className","level","weight","title","PlaceholderDescription","description","PlaceholderActions","action","Placeholder","children","Container","Icon","Description","Actions"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,KAAK,QAAQ,+BAA4B;AAClD,OAAOC,YAAY,2BAA2B;AAc9C,MAAMC,uBAAuB,CAAC,EAC5BC,SAAS,EACTC,YAAY,KAAK,EACjB,GAAGC,WACuB,iBAC1B,KAACP;QACCQ,eAAeV,WACbK,OAAOM,IAAI,EACXJ,aAAaF,OAAOE,SAAS,EAC7B,CAACC,aAAaH,OAAOO,WAAW;QAEjC,GAAGH,SAAS;;AAMjB,MAAMI,kBAAkB,CAACC,sBACvB,KAACZ;QAAcQ,eAAeL,OAAOU,IAAI;QAAG,GAAGD,KAAK;;AAKtD,MAAME,mBAAmB,CAAC,EAAEC,SAAS,EAAE,GAAGR,WAAkC,iBAC1E,KAACL;QAAMc,OAAM;QAAIC,QAAO;QAAIF,WAAWjB,WAAWiB,WAAWZ,OAAOe,KAAK;QAAI,GAAGX,SAAS;;AAK3F,MAAMY,yBAAyB,CAAC,EAC9BJ,SAAS,EACT,GAAGR,WACyB,iBAC5B,KAACN;QAASgB,QAAO;QAAIF,WAAWjB,WAAWiB,WAAWZ,OAAOiB,WAAW;QAAI,GAAGb,SAAS;;AAK1F,MAAMc,qBAAqB,CAACT,sBAC1B,KAACZ;QAAcQ,eAAeL,OAAOmB,MAAM;QAAG,GAAGV,KAAK;;AAkBxD;;CAEC,GACD,OAAO,MAAMW,cAMT,CAAC,EAAEV,IAAI,EAAEK,KAAK,EAAEM,QAAQ,EAAEF,MAAM,EAAEhB,YAAY,KAAK,EAAE,GAAGC,WAA6B,iBACvF,MAACH;QAAqBE,WAAWA;QAAY,GAAGC,SAAS;;YACtDR,aAAac,uBAAS,KAACF;0BAAiBE;;YACxCd,aAAamB,wBAAU,KAACJ;0BAAkBI;;YAC1CnB,aAAayB,2BAAa,KAACL;0BAAwBK;;YACnDzB,aAAauB,yBAAW,KAACD;0BAAoBC;;;OAEhD;AAEFC,YAAYE,SAAS,GAAGrB;AACxBmB,YAAYG,IAAI,GAAGf;AACnBY,YAAYrB,KAAK,GAAGY;AACpBS,YAAYI,WAAW,GAAGR;AAC1BI,YAAYK,OAAO,GAAGP"}
|
|
@@ -6,7 +6,7 @@ import { ConfigProviderOverride } from "../ConfigProvider/ConfigProviderOverride
|
|
|
6
6
|
* Компонент, позволяющий переопределить платформу для части приложения.
|
|
7
7
|
*
|
|
8
8
|
* @since 5.1.0
|
|
9
|
-
* @see https://
|
|
9
|
+
* @see https://vkui.io/components/platform-provider
|
|
10
10
|
*/ export function PlatformProvider({ value, children }) {
|
|
11
11
|
return /*#__PURE__*/ _jsx(ConfigProviderOverride, {
|
|
12
12
|
platform: value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PlatformProvider/PlatformProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { PlatformType } from '../../lib/platform';\nimport { TokensClassProvider } from '../../lib/tokens/TokensClassProvider';\nimport { ConfigProviderOverride } from '../ConfigProvider/ConfigProviderOverride';\n\nexport interface PlatformProviderProps {\n /**\n * Платформа.\n */\n value: PlatformType;\n /**\n * Содержимое.\n */\n children: React.ReactNode;\n}\n\n/**\n * Компонент, позволяющий переопределить платформу для части приложения.\n *\n * @since 5.1.0\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PlatformProvider/PlatformProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { PlatformType } from '../../lib/platform';\nimport { TokensClassProvider } from '../../lib/tokens/TokensClassProvider';\nimport { ConfigProviderOverride } from '../ConfigProvider/ConfigProviderOverride';\n\nexport interface PlatformProviderProps {\n /**\n * Платформа.\n */\n value: PlatformType;\n /**\n * Содержимое.\n */\n children: React.ReactNode;\n}\n\n/**\n * Компонент, позволяющий переопределить платформу для части приложения.\n *\n * @since 5.1.0\n * @see https://vkui.io/components/platform-provider\n */\nexport function PlatformProvider({ value, children }: PlatformProviderProps): React.ReactNode {\n return (\n <ConfigProviderOverride platform={value}>\n <TokensClassProvider>{children}</TokensClassProvider>\n </ConfigProviderOverride>\n );\n}\n"],"names":["React","TokensClassProvider","ConfigProviderOverride","PlatformProvider","value","children","platform"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,mBAAmB,QAAQ,0CAAuC;AAC3E,SAASC,sBAAsB,QAAQ,8CAA2C;AAalF;;;;;CAKC,GACD,OAAO,SAASC,iBAAiB,EAAEC,KAAK,EAAEC,QAAQ,EAAyB;IACzE,qBACE,KAACH;QAAuBI,UAAUF;kBAChC,cAAA,KAACH;sBAAqBI;;;AAG5B"}
|
|
@@ -20,7 +20,7 @@ const stylesStrategy = {
|
|
|
20
20
|
none: undefined
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
|
-
* @see https://
|
|
23
|
+
* @see https://vkui.io/components/popout-wrapper
|
|
24
24
|
*/ export const PopoutWrapper = ({ alignY = 'center', alignX = 'center', closing = false, noBackground = false, strategy: strategyProp, // TODO [>=8]: удалить свойство
|
|
25
25
|
fixed = true, children, onClick, zIndex = 'var(--vkui--z_index_popout)', ...restProps })=>{
|
|
26
26
|
const strategy = strategyProp || (fixed ? 'fixed' : 'none');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './PopoutWrapper.module.css';\n\nconst stylesAlignX = {\n center: styles.alignXCenter,\n left: styles.alignXLeft,\n right: styles.alignXRight,\n};\n\nconst stylesAlignY = {\n center: styles.alignYCenter,\n top: styles.alignYTop,\n bottom: styles.alignYBottom,\n};\n\nconst stylesStrategy = {\n fixed: styles.fixed,\n absolute: styles.absolute,\n none: undefined,\n};\n\nexport interface PopoutWrapperProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Позволяет сделать прозрачную подложку.\n */\n noBackground?: boolean;\n /**\n * @deprecated Будет удалён в **VKUI v8**\n * Используйте `strategy` вместо этого свойства.\n *\n * Включает фиксированное позиционирование.\n *\n * При значении `false` у компонента не задан никакой `position`.\n */\n fixed?: boolean;\n /**\n * Стратегия позиционирования:\n *\n * - `fixed`: у контейнера выставлен `position: fixed`\n * - `absolute`: у контейнера выставлен `position: absolute`\n * - `none`: у контейнера не выставлен `position`.\n *\n * @default 'fixed'\n */\n strategy?: 'fixed' | 'absolute' | 'none';\n /**\n * Выравнивает контент по горизонтали.\n */\n alignX?: 'left' | 'center' | 'right';\n /**\n * Выравнивает контент по вертикали.\n */\n alignY?: 'top' | 'center' | 'bottom';\n /**\n * Спрячет компонент через fade-out анимацию.\n */\n closing?: boolean;\n /**\n * Позволяет задать z-index через токен или числом.\n */\n zIndex?: number | string;\n}\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './PopoutWrapper.module.css';\n\nconst stylesAlignX = {\n center: styles.alignXCenter,\n left: styles.alignXLeft,\n right: styles.alignXRight,\n};\n\nconst stylesAlignY = {\n center: styles.alignYCenter,\n top: styles.alignYTop,\n bottom: styles.alignYBottom,\n};\n\nconst stylesStrategy = {\n fixed: styles.fixed,\n absolute: styles.absolute,\n none: undefined,\n};\n\nexport interface PopoutWrapperProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Позволяет сделать прозрачную подложку.\n */\n noBackground?: boolean;\n /**\n * @deprecated Будет удалён в **VKUI v8**\n * Используйте `strategy` вместо этого свойства.\n *\n * Включает фиксированное позиционирование.\n *\n * При значении `false` у компонента не задан никакой `position`.\n */\n fixed?: boolean;\n /**\n * Стратегия позиционирования:\n *\n * - `fixed`: у контейнера выставлен `position: fixed`\n * - `absolute`: у контейнера выставлен `position: absolute`\n * - `none`: у контейнера не выставлен `position`.\n *\n * @default 'fixed'\n */\n strategy?: 'fixed' | 'absolute' | 'none';\n /**\n * Выравнивает контент по горизонтали.\n */\n alignX?: 'left' | 'center' | 'right';\n /**\n * Выравнивает контент по вертикали.\n */\n alignY?: 'top' | 'center' | 'bottom';\n /**\n * Спрячет компонент через fade-out анимацию.\n */\n closing?: boolean;\n /**\n * Позволяет задать z-index через токен или числом.\n */\n zIndex?: number | string;\n}\n\n/**\n * @see https://vkui.io/components/popout-wrapper\n */\nexport const PopoutWrapper = ({\n alignY = 'center',\n alignX = 'center',\n closing = false,\n noBackground = false,\n strategy: strategyProp,\n // TODO [>=8]: удалить свойство\n fixed = true,\n children,\n onClick,\n zIndex = 'var(--vkui--z_index_popout)',\n ...restProps\n}: PopoutWrapperProps): React.ReactNode => {\n const strategy = strategyProp || (fixed ? 'fixed' : 'none');\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n stylesAlignY[alignY],\n stylesAlignX[alignX],\n closing ? styles.closing : styles.opened,\n strategy && stylesStrategy[strategy],\n !noBackground && styles.masked,\n )}\n baseStyle={{ zIndex }}\n >\n <div className={styles.container}>\n <div className={styles.overlay} onClick={onClick} />\n <div className={styles.content}>{children}</div>\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","RootComponent","styles","stylesAlignX","center","alignXCenter","left","alignXLeft","right","alignXRight","stylesAlignY","alignYCenter","top","alignYTop","bottom","alignYBottom","stylesStrategy","fixed","absolute","none","undefined","PopoutWrapper","alignY","alignX","closing","noBackground","strategy","strategyProp","children","onClick","zIndex","restProps","baseClassName","host","opened","masked","baseStyle","div","className","container","overlay","content"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,6BAA6B;AAEhD,MAAMC,eAAe;IACnBC,QAAQF,OAAOG,YAAY;IAC3BC,MAAMJ,OAAOK,UAAU;IACvBC,OAAON,OAAOO,WAAW;AAC3B;AAEA,MAAMC,eAAe;IACnBN,QAAQF,OAAOS,YAAY;IAC3BC,KAAKV,OAAOW,SAAS;IACrBC,QAAQZ,OAAOa,YAAY;AAC7B;AAEA,MAAMC,iBAAiB;IACrBC,OAAOf,OAAOe,KAAK;IACnBC,UAAUhB,OAAOgB,QAAQ;IACzBC,MAAMC;AACR;AA4CA;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,SAAS,QAAQ,EACjBC,SAAS,QAAQ,EACjBC,UAAU,KAAK,EACfC,eAAe,KAAK,EACpBC,UAAUC,YAAY,EACtB,+BAA+B;AAC/BV,QAAQ,IAAI,EACZW,QAAQ,EACRC,OAAO,EACPC,SAAS,6BAA6B,EACtC,GAAGC,WACgB;IACnB,MAAML,WAAWC,gBAAiBV,CAAAA,QAAQ,UAAU,MAAK;IAEzD,qBACE,KAAChB;QACE,GAAG8B,SAAS;QACbC,eAAehC,WACbE,OAAO+B,IAAI,EACXvB,YAAY,CAACY,OAAO,EACpBnB,YAAY,CAACoB,OAAO,EACpBC,UAAUtB,OAAOsB,OAAO,GAAGtB,OAAOgC,MAAM,EACxCR,YAAYV,cAAc,CAACU,SAAS,EACpC,CAACD,gBAAgBvB,OAAOiC,MAAM;QAEhCC,WAAW;YAAEN;QAAO;kBAEpB,cAAA,MAACO;YAAIC,WAAWpC,OAAOqC,SAAS;;8BAC9B,KAACF;oBAAIC,WAAWpC,OAAOsC,OAAO;oBAAEX,SAASA;;8BACzC,KAACQ;oBAAIC,WAAWpC,OAAOuC,OAAO;8BAAGb;;;;;AAIzC,EAAE"}
|
|
@@ -4,7 +4,7 @@ import * as React from "react";
|
|
|
4
4
|
import { useReferenceElement } from "../../hooks/useReferenceElement.js";
|
|
5
5
|
import { usePopover } from "./usePopover.js";
|
|
6
6
|
/**
|
|
7
|
-
* @see https://
|
|
7
|
+
* @see https://vkui.io/components/popover
|
|
8
8
|
*/ export const Popover = ({ children, ...restProps })=>{
|
|
9
9
|
const { anchorRef, anchorProps, popover } = usePopover(restProps);
|
|
10
10
|
const reference = useReferenceElement(children, anchorProps, anchorRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useReferenceElement } from '../../hooks/useReferenceElement';\nimport {\n type FloatingComponentProps,\n type FloatingContentRenderProp,\n type OnShownChange,\n} from '../../lib/floating';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { type FloatingArrowProps as FloatingArrowPropsPrivate } from '../FloatingArrow/FloatingArrow';\nimport type { FocusTrapProps } from '../FocusTrap/FocusTrap';\nimport { usePopover } from './usePopover';\n\n/**\n * @alias\n * @public\n */\nexport type PopoverArrowProps = Omit<\n FloatingArrowPropsPrivate,\n 'getRootRef' | 'coords' | 'placement' | 'Icon'\n>;\n\n/**\n * @alias\n * @public\n */\nexport type PopoverOnShownChange = OnShownChange;\n\n/**\n * @alias\n * @public\n */\nexport type PopoverContentRenderProp = FloatingContentRenderProp;\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrow'\n | 'arrowHeight'\n | 'arrowPadding'\n | 'placement'\n | 'onPlacementChange'\n | 'trigger'\n | 'content'\n | 'hoverDelay'\n | 'closeAfterClick'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'defaultShown'\n | 'shown'\n | 'onShownChange'\n | 'onShownChanged'\n | 'usePortal'\n | 'sameWidth'\n | 'hideWhenReferenceHidden'\n | 'onReferenceHiddenChange'\n | 'disabled'\n | 'disableInteractive'\n | 'disableCloseOnClickOutside'\n | 'disableCloseOnEscKey'\n | 'autoFocus'\n | 'restoreFocus'\n | 'children'\n | 'zIndex'\n | 'disableFlipMiddleware'\n | 'customMiddlewares'\n | 'strategy'\n | 'disableFocusTrap'\n>;\n\n/**\n * @public\n */\nexport interface PopoverProps\n extends Omit<AllowedFloatingComponentProps, 'autoFocus'>,\n Omit<HTMLAttributesWithRootRef<HTMLDivElement>, keyof FloatingComponentProps> {\n /**\n * Отключает у всплывающего элемента стилизацию по умолчанию.\n *\n * У `content`:\n * - _background_\n * - _border-radius_\n * - _box-shadow_.\n *\n * У `arrow`:\n * - _color_.\n *\n * Используется в случае, если необходимо стилизовать по своему. Для `arrow` _color_ можно\n * определить через в `arrowProps.iconClassName` или `arrowProps.iconStyle`.\n */\n noStyling?: boolean;\n /**\n * Позволяет набросить на стрелку пользовательские атрибуты.\n */\n arrowProps?: PopoverArrowProps;\n /**\n * Пользовательская SVG иконка.\n *\n * Требования:\n *\n * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`).\n * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,\n * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG.\n * (смотри https://github.com/VKCOM/VKUI/pull/4496).\n * 3. Передайте высоту иконки в параметр `arrowHeight`. В значении высоты можно исключить хак с `1px` из п.2.\n * 4. Убедитесь, что компонент принимает все валидные для SVG параметры.\n * 5. Убедитесь, что SVG и её элементы наследует цвет через `fill=\"currentColor\"`.\n */\n ArrowIcon?: FloatingArrowPropsPrivate['Icon'];\n /**\n * Используется для того, чтобы не удалять всплывающий элемент из DOM дерева при скрытии.\n */\n keepMounted?: boolean;\n /**\n * Управление автоматическим фокусом при открытии всплывающего элемента.\n */\n autoFocus?: FocusTrapProps['autoFocus'];\n}\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useReferenceElement } from '../../hooks/useReferenceElement';\nimport {\n type FloatingComponentProps,\n type FloatingContentRenderProp,\n type OnShownChange,\n} from '../../lib/floating';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { type FloatingArrowProps as FloatingArrowPropsPrivate } from '../FloatingArrow/FloatingArrow';\nimport type { FocusTrapProps } from '../FocusTrap/FocusTrap';\nimport { usePopover } from './usePopover';\n\n/**\n * @alias\n * @public\n */\nexport type PopoverArrowProps = Omit<\n FloatingArrowPropsPrivate,\n 'getRootRef' | 'coords' | 'placement' | 'Icon'\n>;\n\n/**\n * @alias\n * @public\n */\nexport type PopoverOnShownChange = OnShownChange;\n\n/**\n * @alias\n * @public\n */\nexport type PopoverContentRenderProp = FloatingContentRenderProp;\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrow'\n | 'arrowHeight'\n | 'arrowPadding'\n | 'placement'\n | 'onPlacementChange'\n | 'trigger'\n | 'content'\n | 'hoverDelay'\n | 'closeAfterClick'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'defaultShown'\n | 'shown'\n | 'onShownChange'\n | 'onShownChanged'\n | 'usePortal'\n | 'sameWidth'\n | 'hideWhenReferenceHidden'\n | 'onReferenceHiddenChange'\n | 'disabled'\n | 'disableInteractive'\n | 'disableCloseOnClickOutside'\n | 'disableCloseOnEscKey'\n | 'autoFocus'\n | 'restoreFocus'\n | 'children'\n | 'zIndex'\n | 'disableFlipMiddleware'\n | 'customMiddlewares'\n | 'strategy'\n | 'disableFocusTrap'\n>;\n\n/**\n * @public\n */\nexport interface PopoverProps\n extends Omit<AllowedFloatingComponentProps, 'autoFocus'>,\n Omit<HTMLAttributesWithRootRef<HTMLDivElement>, keyof FloatingComponentProps> {\n /**\n * Отключает у всплывающего элемента стилизацию по умолчанию.\n *\n * У `content`:\n * - _background_\n * - _border-radius_\n * - _box-shadow_.\n *\n * У `arrow`:\n * - _color_.\n *\n * Используется в случае, если необходимо стилизовать по своему. Для `arrow` _color_ можно\n * определить через в `arrowProps.iconClassName` или `arrowProps.iconStyle`.\n */\n noStyling?: boolean;\n /**\n * Позволяет набросить на стрелку пользовательские атрибуты.\n */\n arrowProps?: PopoverArrowProps;\n /**\n * Пользовательская SVG иконка.\n *\n * Требования:\n *\n * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`).\n * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,\n * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG.\n * (смотри https://github.com/VKCOM/VKUI/pull/4496).\n * 3. Передайте высоту иконки в параметр `arrowHeight`. В значении высоты можно исключить хак с `1px` из п.2.\n * 4. Убедитесь, что компонент принимает все валидные для SVG параметры.\n * 5. Убедитесь, что SVG и её элементы наследует цвет через `fill=\"currentColor\"`.\n */\n ArrowIcon?: FloatingArrowPropsPrivate['Icon'];\n /**\n * Используется для того, чтобы не удалять всплывающий элемент из DOM дерева при скрытии.\n */\n keepMounted?: boolean;\n /**\n * Управление автоматическим фокусом при открытии всплывающего элемента.\n */\n autoFocus?: FocusTrapProps['autoFocus'];\n}\n\n/**\n * @see https://vkui.io/components/popover\n */\nexport const Popover = ({ children, ...restProps }: PopoverProps): React.ReactNode => {\n const { anchorRef, anchorProps, popover } = usePopover<HTMLDivElement>(restProps);\n\n const reference = useReferenceElement(children, anchorProps, anchorRef);\n\n return (\n <React.Fragment>\n {reference}\n {popover}\n </React.Fragment>\n );\n};\n"],"names":["React","useReferenceElement","usePopover","Popover","children","restProps","anchorRef","anchorProps","popover","reference","Fragment"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,mBAAmB,QAAQ,qCAAkC;AAStE,SAASC,UAAU,QAAQ,kBAAe;AA2G1C;;CAEC,GACD,OAAO,MAAMC,UAAU,CAAC,EAAEC,QAAQ,EAAE,GAAGC,WAAyB;IAC9D,MAAM,EAAEC,SAAS,EAAEC,WAAW,EAAEC,OAAO,EAAE,GAAGN,WAA2BG;IAEvE,MAAMI,YAAYR,oBAAoBG,UAAUG,aAAaD;IAE7D,qBACE,MAACN,MAAMU,QAAQ;;YACZD;YACAD;;;AAGP,EAAE"}
|
|
@@ -12,7 +12,7 @@ import { FloatingArrow } from "../FloatingArrow/FloatingArrow.js";
|
|
|
12
12
|
import { RootComponent } from "../RootComponent/RootComponent.js";
|
|
13
13
|
import styles from "./Popper.module.css";
|
|
14
14
|
/**
|
|
15
|
-
* @see https://
|
|
15
|
+
* @see https://vkui.io/components/popper
|
|
16
16
|
*/ export const Popper = ({ // UseFloatingMiddlewaresBootstrapProps
|
|
17
17
|
placement: placementProp = 'bottom-start', sameWidth, hideWhenReferenceHidden, offsetByMainAxis = 8, offsetByCrossAxis = 0, arrow, arrowHeight = DEFAULT_ARROW_HEIGHT, arrowPadding = DEFAULT_ARROW_PADDING, customMiddlewares, disableFlipMiddleware = false, flipMiddlewareFallbackAxisSideDirection, // UseFloatingProps
|
|
18
18
|
autoUpdateOnTargetResize = false, strategy: strategyProp, // ArrowProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Popper/Popper.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport {\n autoUpdateFloatingElement,\n convertFloatingDataToReactCSSProperties,\n type FloatingComponentProps,\n useFloating,\n useFloatingMiddlewaresBootstrap,\n usePlacementChangeCallback,\n type VirtualElement,\n} from '../../lib/floating';\nimport { useReferenceHiddenChangeCallback } from '../../lib/floating/useReferenceHiddenChangeCallback';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { AppRootPortal } from '../AppRoot/AppRootPortal';\nimport {\n DEFAULT_ARROW_HEIGHT,\n DEFAULT_ARROW_PADDING,\n DefaultIcon,\n} from '../FloatingArrow/DefaultIcon';\nimport {\n FloatingArrow,\n type FloatingArrowProps as FloatingArrowPropsPrivate,\n} from '../FloatingArrow/FloatingArrow';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Popper.module.css';\n\nexport type FloatingArrowProps = Omit<\n FloatingArrowPropsPrivate,\n 'getRootRef' | 'coords' | 'placement' | 'Icon'\n>;\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrow'\n | 'arrowRef'\n | 'arrowHeight'\n | 'arrowPadding'\n | 'hoverDelay'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'shown'\n | 'onShownChange'\n | 'defaultShown'\n | 'hideWhenReferenceHidden'\n | 'onReferenceHiddenChange'\n | 'sameWidth'\n | 'zIndex'\n | 'strategy'\n | 'usePortal'\n | 'customMiddlewares'\n | 'onPlacementChange'\n | 'disableFlipMiddleware'\n | 'flipMiddlewareFallbackAxisSideDirection'\n>;\n\nexport interface PopperCommonProps\n extends AllowedFloatingComponentProps,\n Omit<HTMLAttributesWithRootRef<HTMLDivElement>, keyof AllowedFloatingComponentProps> {\n /**\n * Позволяет набросить на стрелку пользовательские атрибуты.\n */\n arrowProps?: FloatingArrowProps;\n /**\n * Пользовательская SVG иконка.\n *\n * Требования:\n *\n * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`).\n * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,\n * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG.\n * (смотри https://github.com/VKCOM/VKUI/pull/4496).\n * 3. Передайте высоту иконки в параметр `arrowHeight`. В значении высоты можно исключить хак с `1px` из п.2.\n * 4. Убедитесь, что компонент принимает все валидные для SVG параметры.\n * 5. Убедитесь, что SVG и её элементы наследует цвет через `fill=\"currentColor\"`.\n */\n ArrowIcon?: FloatingArrowPropsPrivate['Icon'];\n /**\n * Подписывается на изменение геометрии `targetRef`, чтобы пересчитать свою позицию.\n */\n autoUpdateOnTargetResize?: boolean;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n /**\n * Ref на якорный элемент.\n */\n targetRef: React.RefObject<HTMLElement | null> | VirtualElement;\n}\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Popper/Popper.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport {\n autoUpdateFloatingElement,\n convertFloatingDataToReactCSSProperties,\n type FloatingComponentProps,\n useFloating,\n useFloatingMiddlewaresBootstrap,\n usePlacementChangeCallback,\n type VirtualElement,\n} from '../../lib/floating';\nimport { useReferenceHiddenChangeCallback } from '../../lib/floating/useReferenceHiddenChangeCallback';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { AppRootPortal } from '../AppRoot/AppRootPortal';\nimport {\n DEFAULT_ARROW_HEIGHT,\n DEFAULT_ARROW_PADDING,\n DefaultIcon,\n} from '../FloatingArrow/DefaultIcon';\nimport {\n FloatingArrow,\n type FloatingArrowProps as FloatingArrowPropsPrivate,\n} from '../FloatingArrow/FloatingArrow';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Popper.module.css';\n\nexport type FloatingArrowProps = Omit<\n FloatingArrowPropsPrivate,\n 'getRootRef' | 'coords' | 'placement' | 'Icon'\n>;\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrow'\n | 'arrowRef'\n | 'arrowHeight'\n | 'arrowPadding'\n | 'hoverDelay'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'shown'\n | 'onShownChange'\n | 'defaultShown'\n | 'hideWhenReferenceHidden'\n | 'onReferenceHiddenChange'\n | 'sameWidth'\n | 'zIndex'\n | 'strategy'\n | 'usePortal'\n | 'customMiddlewares'\n | 'onPlacementChange'\n | 'disableFlipMiddleware'\n | 'flipMiddlewareFallbackAxisSideDirection'\n>;\n\nexport interface PopperCommonProps\n extends AllowedFloatingComponentProps,\n Omit<HTMLAttributesWithRootRef<HTMLDivElement>, keyof AllowedFloatingComponentProps> {\n /**\n * Позволяет набросить на стрелку пользовательские атрибуты.\n */\n arrowProps?: FloatingArrowProps;\n /**\n * Пользовательская SVG иконка.\n *\n * Требования:\n *\n * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`).\n * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,\n * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG.\n * (смотри https://github.com/VKCOM/VKUI/pull/4496).\n * 3. Передайте высоту иконки в параметр `arrowHeight`. В значении высоты можно исключить хак с `1px` из п.2.\n * 4. Убедитесь, что компонент принимает все валидные для SVG параметры.\n * 5. Убедитесь, что SVG и её элементы наследует цвет через `fill=\"currentColor\"`.\n */\n ArrowIcon?: FloatingArrowPropsPrivate['Icon'];\n /**\n * Подписывается на изменение геометрии `targetRef`, чтобы пересчитать свою позицию.\n */\n autoUpdateOnTargetResize?: boolean;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n /**\n * Ref на якорный элемент.\n */\n targetRef: React.RefObject<HTMLElement | null> | VirtualElement;\n}\n\n/**\n * @see https://vkui.io/components/popper\n */\nexport const Popper = ({\n // UseFloatingMiddlewaresBootstrapProps\n placement: placementProp = 'bottom-start',\n sameWidth,\n hideWhenReferenceHidden,\n offsetByMainAxis = 8,\n offsetByCrossAxis = 0,\n arrow,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n arrowPadding = DEFAULT_ARROW_PADDING,\n customMiddlewares,\n disableFlipMiddleware = false,\n flipMiddlewareFallbackAxisSideDirection,\n\n // UseFloatingProps\n autoUpdateOnTargetResize = false,\n strategy: strategyProp,\n\n // ArrowProps\n arrowProps,\n ArrowIcon = DefaultIcon,\n\n // rest\n targetRef,\n getRootRef,\n children,\n usePortal = true,\n onPlacementChange,\n onReferenceHiddenChange,\n zIndex,\n style,\n ...restProps\n}: PopperProps): React.ReactNode => {\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n\n const { strictPlacement, middlewares } = useFloatingMiddlewaresBootstrap({\n placement: placementProp,\n sameWidth,\n arrow,\n arrowRef,\n arrowHeight,\n arrowPadding,\n offsetByMainAxis,\n offsetByCrossAxis,\n hideWhenReferenceHidden,\n customMiddlewares,\n disableFlipMiddleware,\n flipMiddlewareFallbackAxisSideDirection,\n });\n\n const {\n x: floatingDataX,\n y: floatingDataY,\n strategy: floatingPositionStrategy,\n placement: resolvedPlacement,\n refs,\n middlewareData,\n } = useFloating({\n placement: strictPlacement,\n strategy: strategyProp,\n middleware: middlewares,\n whileElementsMounted(...args) {\n /* istanbul ignore next: не знаю как проверить */\n return autoUpdateFloatingElement(...args, {\n elementResize: autoUpdateOnTargetResize,\n });\n },\n });\n\n usePlacementChangeCallback(placementProp, resolvedPlacement, onPlacementChange);\n\n useReferenceHiddenChangeCallback(middlewareData.hide, onReferenceHiddenChange);\n\n const { arrow: arrowCoords } = middlewareData;\n\n const handleRootRef = useExternRef<HTMLDivElement>(refs.setFloating, getRootRef);\n\n useIsomorphicLayoutEffect(() => {\n refs.setReference('current' in targetRef ? targetRef.current : targetRef);\n }, [refs.setReference, targetRef]);\n\n const dropdownStyle =\n typeof zIndex !== 'undefined'\n ? {\n zIndex,\n }\n : undefined;\n\n const dropdown = (\n <RootComponent\n {...restProps}\n style={mergeStyle(dropdownStyle, style)}\n baseClassName={styles.host}\n getRootRef={handleRootRef}\n baseStyle={convertFloatingDataToReactCSSProperties({\n strategy: floatingPositionStrategy,\n x: floatingDataX,\n y: floatingDataY,\n initialWidth: sameWidth ? null : undefined,\n middlewareData,\n })}\n >\n {arrow && (\n <FloatingArrow\n {...arrowProps}\n coords={arrowCoords}\n placement={resolvedPlacement}\n getRootRef={setArrowRef}\n Icon={ArrowIcon}\n />\n )}\n {children}\n </RootComponent>\n );\n\n return <AppRootPortal usePortal={usePortal}>{dropdown}</AppRootPortal>;\n};\n"],"names":["React","mergeStyle","useExternRef","autoUpdateFloatingElement","convertFloatingDataToReactCSSProperties","useFloating","useFloatingMiddlewaresBootstrap","usePlacementChangeCallback","useReferenceHiddenChangeCallback","useIsomorphicLayoutEffect","AppRootPortal","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","DefaultIcon","FloatingArrow","RootComponent","styles","Popper","placement","placementProp","sameWidth","hideWhenReferenceHidden","offsetByMainAxis","offsetByCrossAxis","arrow","arrowHeight","arrowPadding","customMiddlewares","disableFlipMiddleware","flipMiddlewareFallbackAxisSideDirection","autoUpdateOnTargetResize","strategy","strategyProp","arrowProps","ArrowIcon","targetRef","getRootRef","children","usePortal","onPlacementChange","onReferenceHiddenChange","zIndex","style","restProps","arrowRef","setArrowRef","useState","strictPlacement","middlewares","x","floatingDataX","y","floatingDataY","floatingPositionStrategy","resolvedPlacement","refs","middlewareData","middleware","whileElementsMounted","args","elementResize","hide","arrowCoords","handleRootRef","setFloating","setReference","current","dropdownStyle","undefined","dropdown","baseClassName","host","baseStyle","initialWidth","coords","Icon"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SACEC,yBAAyB,EACzBC,uCAAuC,EAEvCC,WAAW,EACXC,+BAA+B,EAC/BC,0BAA0B,QAErB,8BAAqB;AAC5B,SAASC,gCAAgC,QAAQ,yDAAsD;AACvG,SAASC,yBAAyB,QAAQ,yCAAsC;AAEhF,SAASC,aAAa,QAAQ,8BAA2B;AACzD,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,WAAW,QACN,kCAA+B;AACtC,SACEC,aAAa,QAER,oCAAiC;AACxC,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,sBAAsB;AAkEzC;;CAEC,GACD,OAAO,MAAMC,SAAS,CAAC,EACrB,uCAAuC;AACvCC,WAAWC,gBAAgB,cAAc,EACzCC,SAAS,EACTC,uBAAuB,EACvBC,mBAAmB,CAAC,EACpBC,oBAAoB,CAAC,EACrBC,KAAK,EACLC,cAAcd,oBAAoB,EAClCe,eAAed,qBAAqB,EACpCe,iBAAiB,EACjBC,wBAAwB,KAAK,EAC7BC,uCAAuC,EAEvC,mBAAmB;AACnBC,2BAA2B,KAAK,EAChCC,UAAUC,YAAY,EAEtB,aAAa;AACbC,UAAU,EACVC,YAAYrB,WAAW,EAEvB,OAAO;AACPsB,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,YAAY,IAAI,EAChBC,iBAAiB,EACjBC,uBAAuB,EACvBC,MAAM,EACNC,KAAK,EACL,GAAGC,WACS;IACZ,MAAM,CAACC,UAAUC,YAAY,GAAG7C,MAAM8C,QAAQ,CAAwB;IAEtE,MAAM,EAAEC,eAAe,EAAEC,WAAW,EAAE,GAAG1C,gCAAgC;QACvEY,WAAWC;QACXC;QACAI;QACAoB;QACAnB;QACAC;QACAJ;QACAC;QACAF;QACAM;QACAC;QACAC;IACF;IAEA,MAAM,EACJoB,GAAGC,aAAa,EAChBC,GAAGC,aAAa,EAChBrB,UAAUsB,wBAAwB,EAClCnC,WAAWoC,iBAAiB,EAC5BC,IAAI,EACJC,cAAc,EACf,GAAGnD,YAAY;QACda,WAAW6B;QACXhB,UAAUC;QACVyB,YAAYT;QACZU,sBAAqB,GAAGC,IAAI;YAC1B,+CAA+C,GAC/C,OAAOxD,6BAA6BwD,MAAM;gBACxCC,eAAe9B;YACjB;QACF;IACF;IAEAvB,2BAA2BY,eAAemC,mBAAmBf;IAE7D/B,iCAAiCgD,eAAeK,IAAI,EAAErB;IAEtD,MAAM,EAAEhB,OAAOsC,WAAW,EAAE,GAAGN;IAE/B,MAAMO,gBAAgB7D,aAA6BqD,KAAKS,WAAW,EAAE5B;IAErE3B,0BAA0B;QACxB8C,KAAKU,YAAY,CAAC,aAAa9B,YAAYA,UAAU+B,OAAO,GAAG/B;IACjE,GAAG;QAACoB,KAAKU,YAAY;QAAE9B;KAAU;IAEjC,MAAMgC,gBACJ,OAAO1B,WAAW,cACd;QACEA;IACF,IACA2B;IAEN,MAAMC,yBACJ,MAACtD;QACE,GAAG4B,SAAS;QACbD,OAAOzC,WAAWkE,eAAezB;QACjC4B,eAAetD,OAAOuD,IAAI;QAC1BnC,YAAY2B;QACZS,WAAWpE,wCAAwC;YACjD2B,UAAUsB;YACVJ,GAAGC;YACHC,GAAGC;YACHqB,cAAcrD,YAAY,OAAOgD;YACjCZ;QACF;;YAEChC,uBACC,KAACV;gBACE,GAAGmB,UAAU;gBACdyC,QAAQZ;gBACR5C,WAAWoC;gBACXlB,YAAYS;gBACZ8B,MAAMzC;;YAGTG;;;IAIL,qBAAO,KAAC3B;QAAc4B,WAAWA;kBAAY+B;;AAC/C,EAAE"}
|
|
@@ -38,7 +38,7 @@ const resolveAppearance = (appearance)=>{
|
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
/**
|
|
41
|
-
* @see https://
|
|
41
|
+
* @see https://vkui.io/components/progress
|
|
42
42
|
*/ export const Progress = ({ value = 0, height, trackDisable = false, appearance = 'accent', ...restProps })=>{
|
|
43
43
|
const progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);
|
|
44
44
|
const title = `${progress} / ${PROGRESS_MAX_VALUE}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { type CSSCustomProperties, type HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Progress.module.css';\n\nconst stylesAppearance: Record<string, string> = {\n accent: styles.appearanceAccent,\n positive: styles.appearancePositive,\n negative: styles.appearanceNegative,\n};\n\nfunction progressCustomHeightStyle(height: number | undefined): React.CSSProperties | undefined {\n return height\n ? {\n height,\n borderRadius: height / 2,\n }\n : undefined;\n}\n\nexport interface ProgressProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Стиль отображения прогрессбара.\n */\n appearance?: 'accent' | 'positive' | 'negative' | `var(--${string})` | `#${string}`;\n /**\n * Значение прогресса.\n */\n value?: number;\n /**\n * Высота элемента.\n */\n height?: number;\n /**\n * Сделать прогрессбар прозрачным.\n */\n trackDisable?: boolean;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\nconst resolveAppearance = (\n appearance: Exclude<ProgressProps['appearance'], undefined>,\n): [CSSCustomProperties | undefined, string | undefined] => {\n switch (appearance) {\n case 'accent':\n case 'positive':\n case 'negative':\n return [undefined, stylesAppearance[appearance]];\n default: {\n return [{ '--vkui_internal_Progress_background_color': appearance }, undefined];\n }\n }\n};\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { type CSSCustomProperties, type HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Progress.module.css';\n\nconst stylesAppearance: Record<string, string> = {\n accent: styles.appearanceAccent,\n positive: styles.appearancePositive,\n negative: styles.appearanceNegative,\n};\n\nfunction progressCustomHeightStyle(height: number | undefined): React.CSSProperties | undefined {\n return height\n ? {\n height,\n borderRadius: height / 2,\n }\n : undefined;\n}\n\nexport interface ProgressProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Стиль отображения прогрессбара.\n */\n appearance?: 'accent' | 'positive' | 'negative' | `var(--${string})` | `#${string}`;\n /**\n * Значение прогресса.\n */\n value?: number;\n /**\n * Высота элемента.\n */\n height?: number;\n /**\n * Сделать прогрессбар прозрачным.\n */\n trackDisable?: boolean;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\nconst resolveAppearance = (\n appearance: Exclude<ProgressProps['appearance'], undefined>,\n): [CSSCustomProperties | undefined, string | undefined] => {\n switch (appearance) {\n case 'accent':\n case 'positive':\n case 'negative':\n return [undefined, stylesAppearance[appearance]];\n default: {\n return [{ '--vkui_internal_Progress_background_color': appearance }, undefined];\n }\n }\n};\n\n/**\n * @see https://vkui.io/components/progress\n */\nexport const Progress = ({\n value = 0,\n height,\n trackDisable = false,\n appearance = 'accent',\n ...restProps\n}: ProgressProps): React.ReactNode => {\n const progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);\n const title = `${progress} / ${PROGRESS_MAX_VALUE}`;\n const styleHeight = progressCustomHeightStyle(height);\n\n const [appearanceStyles, appearanceClassName] = resolveAppearance(appearance);\n\n const style = {\n ...styleHeight,\n ...appearanceStyles,\n '--vkui_internal_Progress_progress': progress,\n };\n\n return (\n <RootComponent\n aria-valuenow={value}\n title={title}\n {...restProps}\n role=\"progressbar\"\n aria-valuemin={PROGRESS_MIN_VALUE}\n aria-valuemax={PROGRESS_MAX_VALUE}\n baseClassName={classNames(\n styles.host,\n trackDisable && styles.trackDisable,\n appearanceClassName,\n )}\n baseStyle={style}\n />\n );\n};\n"],"names":["React","classNames","clamp","RootComponent","styles","stylesAppearance","accent","appearanceAccent","positive","appearancePositive","negative","appearanceNegative","progressCustomHeightStyle","height","borderRadius","undefined","PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","resolveAppearance","appearance","Progress","value","trackDisable","restProps","progress","title","styleHeight","appearanceStyles","appearanceClassName","style","aria-valuenow","role","aria-valuemin","aria-valuemax","baseClassName","host","baseStyle"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,KAAK,QAAQ,wBAAqB;AAE3C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,mBAA2C;IAC/CC,QAAQF,OAAOG,gBAAgB;IAC/BC,UAAUJ,OAAOK,kBAAkB;IACnCC,UAAUN,OAAOO,kBAAkB;AACrC;AAEA,SAASC,0BAA0BC,MAA0B;IAC3D,OAAOA,SACH;QACEA;QACAC,cAAcD,SAAS;IACzB,IACAE;AACN;AAqBA,MAAMC,qBAAqB;AAC3B,MAAMC,qBAAqB;AAE3B,MAAMC,oBAAoB,CACxBC;IAEA,OAAQA;QACN,KAAK;QACL,KAAK;QACL,KAAK;YACH,OAAO;gBAACJ;gBAAWV,gBAAgB,CAACc,WAAW;aAAC;QAClD;YAAS;gBACP,OAAO;oBAAC;wBAAE,6CAA6CA;oBAAW;oBAAGJ;iBAAU;YACjF;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAMK,WAAW,CAAC,EACvBC,QAAQ,CAAC,EACTR,MAAM,EACNS,eAAe,KAAK,EACpBH,aAAa,QAAQ,EACrB,GAAGI,WACW;IACd,MAAMC,WAAWtB,MAAMmB,OAAOL,oBAAoBC;IAClD,MAAMQ,QAAQ,GAAGD,SAAS,GAAG,EAAEP,oBAAoB;IACnD,MAAMS,cAAcd,0BAA0BC;IAE9C,MAAM,CAACc,kBAAkBC,oBAAoB,GAAGV,kBAAkBC;IAElE,MAAMU,QAAQ;QACZ,GAAGH,WAAW;QACd,GAAGC,gBAAgB;QACnB,qCAAqCH;IACvC;IAEA,qBACE,KAACrB;QACC2B,iBAAeT;QACfI,OAAOA;QACN,GAAGF,SAAS;QACbQ,MAAK;QACLC,iBAAehB;QACfiB,iBAAehB;QACfiB,eAAejC,WACbG,OAAO+B,IAAI,EACXb,gBAAgBlB,OAAOkB,YAAY,EACnCM;QAEFQ,WAAWP;;AAGjB,EAAE"}
|
|
@@ -27,7 +27,7 @@ function cancelEvent(event) {
|
|
|
27
27
|
return false;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* @see https://
|
|
30
|
+
* @see https://vkui.io/components/pull-to-refresh
|
|
31
31
|
*/ export const PullToRefresh = ({ children, isFetching, onRefresh, className, ...restProps })=>{
|
|
32
32
|
const platform = usePlatform();
|
|
33
33
|
const scroll = useScroll();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PullToRefresh/PullToRefresh.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { type DOMProps, initializeBrowserGesturePreventionEffect, useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { AnyFunction, HasChildren } from '../../types';\nimport { type ScrollContextInterface, useScroll } from '../AppRoot/ScrollContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { type CustomTouchEvent, Touch, type TouchProps } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { PullToRefreshSpinner } from './PullToRefreshSpinner';\nimport styles from './PullToRefresh.module.css';\n\nconst WAIT_FETCHING_TIMEOUT_MS = 1000;\n\nfunction cancelEvent(event: CustomTouchEvent) {\n /* istanbul ignore if: неясно в какой ситуации `event` из `Touch` может быть не определён */\n if (!event) {\n return false;\n }\n if ('preventDefault' in event.originalEvent && event.originalEvent.cancelable) {\n event.originalEvent.preventDefault();\n }\n if ('stopPropagation' in event.originalEvent) {\n event.originalEvent.stopPropagation();\n }\n return false;\n}\n\nexport interface PullToRefreshProps extends DOMProps, TouchProps, HasChildren {\n /**\n * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным обработчиком).\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`.\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PullToRefresh\n */\nexport const PullToRefresh = ({\n children,\n isFetching,\n onRefresh,\n className,\n ...restProps\n}: PullToRefreshProps): React.ReactNode => {\n const platform = usePlatform();\n const scroll = useScroll();\n const { window } = useDOM();\n\n const prevIsFetchingRef = React.useRef<boolean | undefined>(undefined);\n React.useEffect(() => {\n prevIsFetchingRef.current = isFetching;\n });\n\n const initParams = React.useMemo(\n () => ({\n start: platform === 'ios' ? -10 : -45,\n max: platform === 'ios' ? 50 : 80,\n maxY: platform === 'ios' ? 400 : 80,\n refreshing: platform === 'ios' ? 36 : 50,\n positionMultiplier: platform === 'ios' ? 0.21 : 1,\n }),\n [platform],\n );\n\n const [spinnerY, setSpinnerY] = React.useState(initParams.start);\n const [watching, setWatching] = React.useState(false);\n const [refreshing, setRefreshing] = React.useState(false);\n const [canRefresh, setCanRefresh] = React.useState(false);\n const [[touchDown, prevTouchDown], setTouchDown] = useStateWithPrev(false);\n\n const touchY = React.useRef(0);\n const [contentShift, setContentShift] = React.useState(0);\n const [spinnerProgress, setSpinnerProgress] = React.useState(0);\n\n const resetRefreshingState = React.useCallback(() => {\n setWatching(false);\n setCanRefresh(false);\n setRefreshing(false);\n setSpinnerY(initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }, [initParams]);\n\n const onRefreshingFinish = React.useCallback(() => {\n if (!touchDown) {\n resetRefreshingState();\n }\n }, [touchDown, resetRefreshingState]);\n\n const waitFetchingTimeoutId = React.useRef<ReturnType<typeof setTimeout>>(undefined);\n\n useIsomorphicLayoutEffect(() => {\n const prevIsFetching = prevIsFetchingRef.current;\n if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {\n onRefreshingFinish();\n }\n }, [isFetching, onRefreshingFinish]);\n\n useIsomorphicLayoutEffect(() => {\n const prevIsFetching = prevIsFetchingRef.current;\n if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {\n clearTimeout(waitFetchingTimeoutId.current);\n }\n }, [isFetching]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n clearTimeout(waitFetchingTimeoutId.current);\n waitFetchingTimeoutId.current = setTimeout(onRefreshingFinish, WAIT_FETCHING_TIMEOUT_MS);\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) => (platform === 'ios' ? prevSpinnerY : initParams.refreshing));\n\n onRefresh();\n }\n }, [refreshing, onRefresh, onRefreshingFinish, platform, initParams.refreshing]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevTouchDown !== undefined && prevTouchDown && !touchDown) {\n if (!refreshing && canRefresh) {\n runRefreshing();\n } else if (refreshing && !isFetching) {\n // only iOS can start refresh before gesture end\n resetRefreshingState();\n /* istanbul ignore if: TODO написать тест */\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n setSpinnerY(refreshing ? initParams.refreshing : initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }\n }\n }, [\n initParams,\n isFetching,\n onRefreshingFinish,\n prevTouchDown,\n touchDown,\n refreshing,\n canRefresh,\n runRefreshing,\n ]);\n\n useIsomorphicLayoutEffect(\n function toggleDocumentOverscrollBehavior() {\n return window && (watching || refreshing)\n ? initializeBrowserGesturePreventionEffect(window)\n : undefined;\n },\n [window, watching, refreshing],\n );\n\n const startYRef = React.useRef(0);\n\n const onTouchStart = (event: CustomTouchEvent) => {\n if (refreshing) {\n cancelEvent(event);\n return;\n }\n setTouchDown(true);\n startYRef.current = event.startY;\n };\n\n const iosRefreshStartedRef = React.useRef(false);\n const onTouchMove = (event: CustomTouchEvent) => {\n const { isY, shiftY } = event;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(event);\n\n const { positionMultiplier, maxY } = initParams;\n\n const shift = Math.max(0, shiftY - touchY.current);\n\n const currentY = clamp(start + shift * positionMultiplier, start, maxY);\n const progress = currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n setSpinnerY(currentY);\n setSpinnerProgress(clamp(progress, 0, 80));\n setCanRefresh(progress > 80);\n setContentShift((currentY + 10) * 2.3);\n\n const iosCanStartRefreshDuringGesture =\n platform === 'ios' && progress > 85 && !refreshing && !iosRefreshStartedRef.current;\n if (iosCanStartRefreshDuringGesture) {\n iosRefreshStartedRef.current = true;\n runRefreshing();\n }\n } else if (isY && pageYOffset === 0 && shiftY > 0 && !refreshing && touchDown) {\n cancelEvent(event);\n\n touchY.current = shiftY;\n setWatching(true);\n setSpinnerY(start);\n setSpinnerProgress(0);\n }\n };\n\n const onTouchEnd = () => {\n setWatching(false);\n setTouchDown(false);\n iosRefreshStartedRef.current = false;\n };\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = '';\n\n if (platform === 'ios' && refreshing && !touchDown) {\n contentTransform = 'translate3d(0, 100px, 0)';\n } else if (platform === 'ios' && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n aria-live=\"polite\"\n aria-busy={!!isFetching}\n {...restProps}\n onStart={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n className={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n watching && styles.watching,\n refreshing && styles.refreshing,\n className,\n )}\n >\n <FixedLayout className={styles.controls} useParentWidth>\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n className={styles.content}\n style={{\n transform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n};\n"],"names":["React","classNames","clamp","usePlatform","useStateWithPrev","initializeBrowserGesturePreventionEffect","useDOM","useIsomorphicLayoutEffect","useScroll","FixedLayout","Touch","TouchRootContext","PullToRefreshSpinner","styles","WAIT_FETCHING_TIMEOUT_MS","cancelEvent","event","originalEvent","cancelable","preventDefault","stopPropagation","PullToRefresh","children","isFetching","onRefresh","className","restProps","platform","scroll","window","prevIsFetchingRef","useRef","undefined","useEffect","current","initParams","useMemo","start","max","maxY","refreshing","positionMultiplier","spinnerY","setSpinnerY","useState","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","prevTouchDown","setTouchDown","touchY","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","resetRefreshingState","useCallback","onRefreshingFinish","waitFetchingTimeoutId","prevIsFetching","clearTimeout","runRefreshing","setTimeout","prevSpinnerY","toggleDocumentOverscrollBehavior","startYRef","onTouchStart","startY","iosRefreshStartedRef","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","currentY","progress","abs","iosCanStartRefreshDuringGesture","onTouchEnd","spinnerTransform","contentTransform","Provider","value","aria-live","aria-busy","onStart","onMove","onEnd","host","ios","controls","useParentWidth","style","transform","opacity","on","div","content"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PullToRefresh/PullToRefresh.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { type DOMProps, initializeBrowserGesturePreventionEffect, useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { AnyFunction, HasChildren } from '../../types';\nimport { type ScrollContextInterface, useScroll } from '../AppRoot/ScrollContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { type CustomTouchEvent, Touch, type TouchProps } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { PullToRefreshSpinner } from './PullToRefreshSpinner';\nimport styles from './PullToRefresh.module.css';\n\nconst WAIT_FETCHING_TIMEOUT_MS = 1000;\n\nfunction cancelEvent(event: CustomTouchEvent) {\n /* istanbul ignore if: неясно в какой ситуации `event` из `Touch` может быть не определён */\n if (!event) {\n return false;\n }\n if ('preventDefault' in event.originalEvent && event.originalEvent.cancelable) {\n event.originalEvent.preventDefault();\n }\n if ('stopPropagation' in event.originalEvent) {\n event.originalEvent.stopPropagation();\n }\n return false;\n}\n\nexport interface PullToRefreshProps extends DOMProps, TouchProps, HasChildren {\n /**\n * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным обработчиком).\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`.\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\n/**\n * @see https://vkui.io/components/pull-to-refresh\n */\nexport const PullToRefresh = ({\n children,\n isFetching,\n onRefresh,\n className,\n ...restProps\n}: PullToRefreshProps): React.ReactNode => {\n const platform = usePlatform();\n const scroll = useScroll();\n const { window } = useDOM();\n\n const prevIsFetchingRef = React.useRef<boolean | undefined>(undefined);\n React.useEffect(() => {\n prevIsFetchingRef.current = isFetching;\n });\n\n const initParams = React.useMemo(\n () => ({\n start: platform === 'ios' ? -10 : -45,\n max: platform === 'ios' ? 50 : 80,\n maxY: platform === 'ios' ? 400 : 80,\n refreshing: platform === 'ios' ? 36 : 50,\n positionMultiplier: platform === 'ios' ? 0.21 : 1,\n }),\n [platform],\n );\n\n const [spinnerY, setSpinnerY] = React.useState(initParams.start);\n const [watching, setWatching] = React.useState(false);\n const [refreshing, setRefreshing] = React.useState(false);\n const [canRefresh, setCanRefresh] = React.useState(false);\n const [[touchDown, prevTouchDown], setTouchDown] = useStateWithPrev(false);\n\n const touchY = React.useRef(0);\n const [contentShift, setContentShift] = React.useState(0);\n const [spinnerProgress, setSpinnerProgress] = React.useState(0);\n\n const resetRefreshingState = React.useCallback(() => {\n setWatching(false);\n setCanRefresh(false);\n setRefreshing(false);\n setSpinnerY(initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }, [initParams]);\n\n const onRefreshingFinish = React.useCallback(() => {\n if (!touchDown) {\n resetRefreshingState();\n }\n }, [touchDown, resetRefreshingState]);\n\n const waitFetchingTimeoutId = React.useRef<ReturnType<typeof setTimeout>>(undefined);\n\n useIsomorphicLayoutEffect(() => {\n const prevIsFetching = prevIsFetchingRef.current;\n if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {\n onRefreshingFinish();\n }\n }, [isFetching, onRefreshingFinish]);\n\n useIsomorphicLayoutEffect(() => {\n const prevIsFetching = prevIsFetchingRef.current;\n if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {\n clearTimeout(waitFetchingTimeoutId.current);\n }\n }, [isFetching]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n clearTimeout(waitFetchingTimeoutId.current);\n waitFetchingTimeoutId.current = setTimeout(onRefreshingFinish, WAIT_FETCHING_TIMEOUT_MS);\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) => (platform === 'ios' ? prevSpinnerY : initParams.refreshing));\n\n onRefresh();\n }\n }, [refreshing, onRefresh, onRefreshingFinish, platform, initParams.refreshing]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevTouchDown !== undefined && prevTouchDown && !touchDown) {\n if (!refreshing && canRefresh) {\n runRefreshing();\n } else if (refreshing && !isFetching) {\n // only iOS can start refresh before gesture end\n resetRefreshingState();\n /* istanbul ignore if: TODO написать тест */\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n setSpinnerY(refreshing ? initParams.refreshing : initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }\n }\n }, [\n initParams,\n isFetching,\n onRefreshingFinish,\n prevTouchDown,\n touchDown,\n refreshing,\n canRefresh,\n runRefreshing,\n ]);\n\n useIsomorphicLayoutEffect(\n function toggleDocumentOverscrollBehavior() {\n return window && (watching || refreshing)\n ? initializeBrowserGesturePreventionEffect(window)\n : undefined;\n },\n [window, watching, refreshing],\n );\n\n const startYRef = React.useRef(0);\n\n const onTouchStart = (event: CustomTouchEvent) => {\n if (refreshing) {\n cancelEvent(event);\n return;\n }\n setTouchDown(true);\n startYRef.current = event.startY;\n };\n\n const iosRefreshStartedRef = React.useRef(false);\n const onTouchMove = (event: CustomTouchEvent) => {\n const { isY, shiftY } = event;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(event);\n\n const { positionMultiplier, maxY } = initParams;\n\n const shift = Math.max(0, shiftY - touchY.current);\n\n const currentY = clamp(start + shift * positionMultiplier, start, maxY);\n const progress = currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n setSpinnerY(currentY);\n setSpinnerProgress(clamp(progress, 0, 80));\n setCanRefresh(progress > 80);\n setContentShift((currentY + 10) * 2.3);\n\n const iosCanStartRefreshDuringGesture =\n platform === 'ios' && progress > 85 && !refreshing && !iosRefreshStartedRef.current;\n if (iosCanStartRefreshDuringGesture) {\n iosRefreshStartedRef.current = true;\n runRefreshing();\n }\n } else if (isY && pageYOffset === 0 && shiftY > 0 && !refreshing && touchDown) {\n cancelEvent(event);\n\n touchY.current = shiftY;\n setWatching(true);\n setSpinnerY(start);\n setSpinnerProgress(0);\n }\n };\n\n const onTouchEnd = () => {\n setWatching(false);\n setTouchDown(false);\n iosRefreshStartedRef.current = false;\n };\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = '';\n\n if (platform === 'ios' && refreshing && !touchDown) {\n contentTransform = 'translate3d(0, 100px, 0)';\n } else if (platform === 'ios' && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n aria-live=\"polite\"\n aria-busy={!!isFetching}\n {...restProps}\n onStart={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n className={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n watching && styles.watching,\n refreshing && styles.refreshing,\n className,\n )}\n >\n <FixedLayout className={styles.controls} useParentWidth>\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n className={styles.content}\n style={{\n transform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n};\n"],"names":["React","classNames","clamp","usePlatform","useStateWithPrev","initializeBrowserGesturePreventionEffect","useDOM","useIsomorphicLayoutEffect","useScroll","FixedLayout","Touch","TouchRootContext","PullToRefreshSpinner","styles","WAIT_FETCHING_TIMEOUT_MS","cancelEvent","event","originalEvent","cancelable","preventDefault","stopPropagation","PullToRefresh","children","isFetching","onRefresh","className","restProps","platform","scroll","window","prevIsFetchingRef","useRef","undefined","useEffect","current","initParams","useMemo","start","max","maxY","refreshing","positionMultiplier","spinnerY","setSpinnerY","useState","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","prevTouchDown","setTouchDown","touchY","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","resetRefreshingState","useCallback","onRefreshingFinish","waitFetchingTimeoutId","prevIsFetching","clearTimeout","runRefreshing","setTimeout","prevSpinnerY","toggleDocumentOverscrollBehavior","startYRef","onTouchStart","startY","iosRefreshStartedRef","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","currentY","progress","abs","iosCanStartRefreshDuringGesture","onTouchEnd","spinnerTransform","contentTransform","Provider","value","aria-live","aria-busy","onStart","onMove","onEnd","host","ios","controls","useParentWidth","style","transform","opacity","on","div","content"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { SelectionControlLabel } from "../SelectionControl/SelectionControlLabel
|
|
|
6
6
|
import { RadioInput } from "./RadioInput/RadioInput.js";
|
|
7
7
|
import styles from "./Radio.module.css";
|
|
8
8
|
/**
|
|
9
|
-
* @see https://
|
|
9
|
+
* @see https://vkui.io/components/radio
|
|
10
10
|
*/ export const Radio = ({ children, description, style, className, getRootRef, titleAfter, getRef, labelProps, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, ...restProps })=>{
|
|
11
11
|
return /*#__PURE__*/ _jsxs(SelectionControl, {
|
|
12
12
|
style: style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasDataAttribute, HasRef, HasRootRef } from '../../types';\nimport { SelectionControl } from '../SelectionControl/SelectionControl';\nimport { SelectionControlLabel } from '../SelectionControl/SelectionControlLabel/SelectionControlLabel';\nimport type { TappableOmitProps } from '../Tappable/Tappable';\nimport { RadioInput } from './RadioInput/RadioInput';\nimport styles from './Radio.module.css';\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n /**\n * Дополнительное описание под основным текстом.\n */\n description?: React.ReactNode;\n /**\n * Элемент после основного текста.\n */\n titleAfter?: React.ReactNode;\n /**\n * Позволяет передавать data-* аттрибуты элементу label.\n **/\n labelProps?: HasDataAttribute;\n}\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasDataAttribute, HasRef, HasRootRef } from '../../types';\nimport { SelectionControl } from '../SelectionControl/SelectionControl';\nimport { SelectionControlLabel } from '../SelectionControl/SelectionControlLabel/SelectionControlLabel';\nimport type { TappableOmitProps } from '../Tappable/Tappable';\nimport { RadioInput } from './RadioInput/RadioInput';\nimport styles from './Radio.module.css';\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n /**\n * Дополнительное описание под основным текстом.\n */\n description?: React.ReactNode;\n /**\n * Элемент после основного текста.\n */\n titleAfter?: React.ReactNode;\n /**\n * Позволяет передавать data-* аттрибуты элементу label.\n **/\n labelProps?: HasDataAttribute;\n}\n\n/**\n * @see https://vkui.io/components/radio\n */\nexport const Radio = ({\n children,\n description,\n style,\n className,\n getRootRef,\n titleAfter,\n getRef,\n labelProps,\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n ...restProps\n}: RadioProps): React.ReactNode => {\n return (\n <SelectionControl\n style={style}\n className={classNames(styles.host, className)}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n {...labelProps}\n >\n <RadioInput {...restProps} getRef={getRef} />\n <SelectionControlLabel titleAfter={titleAfter} description={description}>\n {children}\n </SelectionControlLabel>\n </SelectionControl>\n );\n};\n\nRadio.Input = RadioInput;\n"],"names":["React","classNames","SelectionControl","SelectionControlLabel","RadioInput","styles","Radio","children","description","style","className","getRootRef","titleAfter","getRef","labelProps","hoverMode","activeMode","hasHover","hasActive","focusVisibleMode","restProps","host","disabled","Input"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,SAASC,qBAAqB,QAAQ,qEAAkE;AAExG,SAASC,UAAU,QAAQ,6BAA0B;AACrD,OAAOC,YAAY,qBAAqB;AAwBxC;;CAEC,GACD,OAAO,MAAMC,QAAQ,CAAC,EACpBC,QAAQ,EACRC,WAAW,EACXC,KAAK,EACLC,SAAS,EACTC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChB,GAAGC,WACQ;IACX,qBACE,MAAClB;QACCO,OAAOA;QACPC,WAAWT,WAAWI,OAAOgB,IAAI,EAAEX;QACnCY,UAAUF,UAAUE,QAAQ;QAC5BX,YAAYA;QACZI,WAAWA;QACXC,YAAYA;QACZC,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;QACjB,GAAGL,UAAU;;0BAEd,KAACV;gBAAY,GAAGgB,SAAS;gBAAEP,QAAQA;;0BACnC,KAACV;gBAAsBS,YAAYA;gBAAYJ,aAAaA;0BACzDD;;;;AAIT,EAAE;AAEFD,MAAMiB,KAAK,GAAGnB"}
|
|
@@ -4,7 +4,7 @@ import { classNames } from "@vkontakte/vkjs";
|
|
|
4
4
|
import { RootComponent } from "../RootComponent/RootComponent.js";
|
|
5
5
|
import styles from "./RadioGroup.module.css";
|
|
6
6
|
/**
|
|
7
|
-
* @see https://
|
|
7
|
+
* @see https://vkui.io/components/radio-group
|
|
8
8
|
*/ export const RadioGroup = ({ mode = 'vertical', ...restProps })=>/*#__PURE__*/ _jsx(RootComponent, {
|
|
9
9
|
baseClassName: classNames(styles.host, 'vkuiInternalRadioGroup', mode === 'horizontal' && styles.modeHorizontal),
|
|
10
10
|
role: "radiogroup",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Режим расположения элементов.\n */\n mode?: 'vertical' | 'horizontal';\n}\n\n/**\n * @see https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Режим расположения элементов.\n */\n mode?: 'vertical' | 'horizontal';\n}\n\n/**\n * @see https://vkui.io/components/radio-group\n */\nexport const RadioGroup = ({\n mode = 'vertical',\n ...restProps\n}: RadioGroupProps): React.ReactNode => (\n <RootComponent\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalRadioGroup',\n mode === 'horizontal' && styles.modeHorizontal,\n )}\n role=\"radiogroup\"\n {...restProps}\n />\n);\n"],"names":["React","classNames","RootComponent","styles","RadioGroup","mode","restProps","baseClassName","host","modeHorizontal","role"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,0BAA0B;AAS7C;;CAEC,GACD,OAAO,MAAMC,aAAa,CAAC,EACzBC,OAAO,UAAU,EACjB,GAAGC,WACa,iBAChB,KAACJ;QACCK,eAAeN,WACbE,OAAOK,IAAI,EACX,0BACAH,SAAS,gBAAgBF,OAAOM,cAAc;QAEhDC,MAAK;QACJ,GAAGJ,SAAS;OAEf"}
|
|
@@ -27,7 +27,7 @@ const alignContentClassNames = {
|
|
|
27
27
|
end: styles.contentAlignEnd
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
|
-
* @see https://
|
|
30
|
+
* @see https://vkui.io/components/rich-cell
|
|
31
31
|
*/ export const RichCell = ({ overTitle, children, subtitle, extraSubtitle, before, after, afterCaption, bottom, actions, multiline, beforeAlign = 'start', contentAlign = 'start', afterAlign = 'start', ...restProps })=>{
|
|
32
32
|
const { sizeY = 'none' } = useAdaptivity();
|
|
33
33
|
const withAfter = after || afterCaption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/RichCell/RichCell.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { RichCellIcon } from './RichCellIcon/RichCellIcon';\nimport styles from './RichCell.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst alignAfterClassNames = {\n start: styles.alignAfterStart,\n center: styles.alignAfterCenter,\n end: styles.alignAfterEnd,\n};\n\nconst alignBeforeClassNames = {\n start: styles.alignBeforeStart,\n center: styles.alignBeforeCenter,\n end: styles.alignBeforeEnd,\n};\n\nconst alignContentClassNames = {\n start: styles.contentAlignStart,\n center: styles.contentAlignCenter,\n end: styles.contentAlignEnd,\n};\n\ntype Align = 'start' | 'center' | 'end';\n\nexport interface RichCellProps extends TappableOmitProps {\n /**\n * Контейнер для текста над `children`.\n */\n overTitle?: React.ReactNode;\n /**\n * Контейнер для текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Контейнер для текста под `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Контейнер для контента под `caption`. Например `<UsersStack size=\"m\" />`.\n */\n bottom?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/RichCell/RichCell.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { RichCellIcon } from './RichCellIcon/RichCellIcon';\nimport styles from './RichCell.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst alignAfterClassNames = {\n start: styles.alignAfterStart,\n center: styles.alignAfterCenter,\n end: styles.alignAfterEnd,\n};\n\nconst alignBeforeClassNames = {\n start: styles.alignBeforeStart,\n center: styles.alignBeforeCenter,\n end: styles.alignBeforeEnd,\n};\n\nconst alignContentClassNames = {\n start: styles.contentAlignStart,\n center: styles.contentAlignCenter,\n end: styles.contentAlignEnd,\n};\n\ntype Align = 'start' | 'center' | 'end';\n\nexport interface RichCellProps extends TappableOmitProps {\n /**\n * Контейнер для текста над `children`.\n */\n overTitle?: React.ReactNode;\n /**\n * Контейнер для текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Контейнер для текста под `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Контейнер для контента под `caption`. Например `<UsersStack size=\"m\" />`.\n */\n bottom?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkui.io/components/button) с параметрами:\n *\n * - `mode=\"primary\" size=\"s\"`\n * - `mode=\"secondary\" size=\"s\"`.\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkui.io/components/button-group) с параметрами:\n *\n * - `mode=\"horizontal\" gap=\"s\" stretched`.\n */\n actions?: React.ReactNode;\n /**\n * `<Avatar size={40|48|72} />`.\n */\n before?: React.ReactNode;\n /**\n * Иконка 28 или текст.\n */\n after?: React.ReactNode;\n /**\n * Текст под `after`.\n */\n afterCaption?: React.ReactNode;\n /**\n * Выравнивание before компонента по вертикали.\n */\n beforeAlign?: Align;\n /**\n * Выравнивание центрального контента по вертикали.\n */\n contentAlign?: Align;\n /**\n * Выравнивание after компонента по вертикали.\n */\n afterAlign?: Align;\n /**\n * Блокировка взаимодействия с компонентом. Убирает анимацию нажатия.\n */\n disabled?: boolean;\n /**\n * Включает многострочный режим для `subhead`, `children`, `text` и `caption`.\n */\n multiline?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/rich-cell\n */\nexport const RichCell: React.FC<RichCellProps> & {\n Icon: typeof RichCellIcon;\n} = ({\n overTitle,\n children,\n subtitle,\n extraSubtitle,\n before,\n after,\n afterCaption,\n bottom,\n actions,\n multiline,\n beforeAlign = 'start',\n contentAlign = 'start',\n afterAlign = 'start',\n ...restProps\n}: RichCellProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n const withAfter = after || afterCaption;\n\n const afterRender = () => {\n if (!withAfter) {\n return;\n }\n return (\n <div className={styles.contentAfter}>\n {after && <div className={styles.afterChildren}>{after}</div>}\n {afterCaption && <div className={styles.afterCaption}>{afterCaption}</div>}\n </div>\n );\n };\n\n return (\n <Tappable\n {...restProps}\n baseClassName={classNames(\n styles.host,\n !multiline && styles.textEllipsis,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n withAfter && styles.withAfter,\n withAfter && alignAfterClassNames[afterAlign],\n before && alignBeforeClassNames[beforeAlign],\n alignContentClassNames[contentAlign],\n )}\n >\n {before && <div className={styles.before}>{before}</div>}\n <div className={styles.in}>\n <div className={styles.content}>\n <div className={styles.contentBefore}>\n {overTitle && (\n <Subhead Component=\"div\" className={styles.overTitle}>\n {overTitle}\n </Subhead>\n )}\n <div className={styles.children}>{children}</div>\n {subtitle && <div className={styles.subtitle}>{subtitle}</div>}\n {extraSubtitle && (\n <Subhead Component=\"div\" className={styles.extraSubtitle}>\n {extraSubtitle}\n </Subhead>\n )}\n </div>\n {afterAlign === 'start' && afterRender()}\n </div>\n {bottom && <div className={styles.bottom}>{bottom}</div>}\n {actions && <div className={styles.actions}>{actions}</div>}\n </div>\n {afterAlign !== 'start' && afterRender()}\n </Tappable>\n );\n};\n\nRichCell.Icon = RichCellIcon;\n"],"names":["React","classNames","useAdaptivity","Tappable","Subhead","RichCellIcon","styles","sizeYClassNames","none","sizeYNone","compact","sizeYCompact","alignAfterClassNames","start","alignAfterStart","center","alignAfterCenter","end","alignAfterEnd","alignBeforeClassNames","alignBeforeStart","alignBeforeCenter","alignBeforeEnd","alignContentClassNames","contentAlignStart","contentAlignCenter","contentAlignEnd","RichCell","overTitle","children","subtitle","extraSubtitle","before","after","afterCaption","bottom","actions","multiline","beforeAlign","contentAlign","afterAlign","restProps","sizeY","withAfter","afterRender","div","className","contentAfter","afterChildren","baseClassName","host","textEllipsis","in","content","contentBefore","Component","Icon"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,kBAAkB;IACtBC,MAAMF,OAAOG,SAAS;IACtBC,SAASJ,OAAOK,YAAY;AAC9B;AAEA,MAAMC,uBAAuB;IAC3BC,OAAOP,OAAOQ,eAAe;IAC7BC,QAAQT,OAAOU,gBAAgB;IAC/BC,KAAKX,OAAOY,aAAa;AAC3B;AAEA,MAAMC,wBAAwB;IAC5BN,OAAOP,OAAOc,gBAAgB;IAC9BL,QAAQT,OAAOe,iBAAiB;IAChCJ,KAAKX,OAAOgB,cAAc;AAC5B;AAEA,MAAMC,yBAAyB;IAC7BV,OAAOP,OAAOkB,iBAAiB;IAC/BT,QAAQT,OAAOmB,kBAAkB;IACjCR,KAAKX,OAAOoB,eAAe;AAC7B;AAkEA;;CAEC,GACD,OAAO,MAAMC,WAET,CAAC,EACHC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,MAAM,EACNC,KAAK,EACLC,YAAY,EACZC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,cAAc,OAAO,EACrBC,eAAe,OAAO,EACtBC,aAAa,OAAO,EACpB,GAAGC,WACW;IACd,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGxC;IAC3B,MAAMyC,YAAYV,SAASC;IAE3B,MAAMU,cAAc;QAClB,IAAI,CAACD,WAAW;YACd;QACF;QACA,qBACE,MAACE;YAAIC,WAAWxC,OAAOyC,YAAY;;gBAChCd,uBAAS,KAACY;oBAAIC,WAAWxC,OAAO0C,aAAa;8BAAGf;;gBAChDC,8BAAgB,KAACW;oBAAIC,WAAWxC,OAAO4B,YAAY;8BAAGA;;;;IAG7D;IAEA,qBACE,MAAC/B;QACE,GAAGsC,SAAS;QACbQ,eAAehD,WACbK,OAAO4C,IAAI,EACX,CAACb,aAAa/B,OAAO6C,YAAY,EACjCT,UAAU,aAAanC,eAAe,CAACmC,MAAM,EAC7CC,aAAarC,OAAOqC,SAAS,EAC7BA,aAAa/B,oBAAoB,CAAC4B,WAAW,EAC7CR,UAAUb,qBAAqB,CAACmB,YAAY,EAC5Cf,sBAAsB,CAACgB,aAAa;;YAGrCP,wBAAU,KAACa;gBAAIC,WAAWxC,OAAO0B,MAAM;0BAAGA;;0BAC3C,MAACa;gBAAIC,WAAWxC,OAAO8C,EAAE;;kCACvB,MAACP;wBAAIC,WAAWxC,OAAO+C,OAAO;;0CAC5B,MAACR;gCAAIC,WAAWxC,OAAOgD,aAAa;;oCACjC1B,2BACC,KAACxB;wCAAQmD,WAAU;wCAAMT,WAAWxC,OAAOsB,SAAS;kDACjDA;;kDAGL,KAACiB;wCAAIC,WAAWxC,OAAOuB,QAAQ;kDAAGA;;oCACjCC,0BAAY,KAACe;wCAAIC,WAAWxC,OAAOwB,QAAQ;kDAAGA;;oCAC9CC,+BACC,KAAC3B;wCAAQmD,WAAU;wCAAMT,WAAWxC,OAAOyB,aAAa;kDACrDA;;;;4BAINS,eAAe,WAAWI;;;oBAE5BT,wBAAU,KAACU;wBAAIC,WAAWxC,OAAO6B,MAAM;kCAAGA;;oBAC1CC,yBAAW,KAACS;wBAAIC,WAAWxC,OAAO8B,OAAO;kCAAGA;;;;YAE9CI,eAAe,WAAWI;;;AAGjC,EAAE;AAEFjB,SAAS6B,IAAI,GAAGnD"}
|
|
@@ -16,7 +16,7 @@ import { SplitColContext } from "../SplitCol/SplitColContext.js";
|
|
|
16
16
|
import styles from "./Root.module.css";
|
|
17
17
|
/* eslint-enable jsdoc/require-jsdoc */ const warn = warnOnce('Root');
|
|
18
18
|
/**
|
|
19
|
-
* @see https://
|
|
19
|
+
* @see https://vkui.io/components/root
|
|
20
20
|
*/ export const Root = ({ children, activeView: _activeView, onTransition, nav, ...restProps })=>{
|
|
21
21
|
const scroll = React.useContext(ScrollContext);
|
|
22
22
|
const platform = usePlatform();
|