@vkontakte/vkui 5.1.0 → 5.1.2
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/LICENSE +25 -0
- package/README.md +118 -0
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +7 -4
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
- package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
- package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +5 -4
- package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +3 -2
- package/dist/cjs/components/Checkbox/Checkbox.js +12 -2
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +7 -4
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.js +0 -1
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.js +1 -1
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -2
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js +18 -4
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +11 -2
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/Popover/Popover.js +4 -1
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/Progress/Progress.js +3 -1
- package/dist/cjs/components/Progress/Progress.js.map +1 -1
- package/dist/cjs/components/Select/Select.d.ts +1 -5
- package/dist/cjs/components/Select/Select.js +13 -41
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +2 -2
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SelectTypography/SelectTypography.d.ts +11 -0
- package/dist/cjs/components/SelectTypography/SelectTypography.js +48 -0
- package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -0
- package/dist/cjs/components/Slider/Slider.d.ts +1 -1
- package/dist/cjs/components/Slider/Slider.js +4 -3
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/Spacing/Spacing.js +2 -1
- package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js +2 -3
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js +6 -15
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +1 -0
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Touch/Touch.js +4 -4
- package/dist/cjs/components/Touch/Touch.js.map +1 -1
- package/dist/cjs/shared/breakpoints.d.ts +2 -2
- package/dist/cjs/shared/breakpoints.js +12 -13
- package/dist/cjs/shared/breakpoints.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +7 -4
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +5 -4
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +3 -2
- package/dist/components/Checkbox/Checkbox.js +12 -2
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +7 -4
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/DateInput/DateInput.js +0 -1
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/Epic/Epic.js +1 -1
- package/dist/components/Epic/Epic.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/PanelHeader/PanelHeader.js +18 -4
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +11 -2
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/Popover/Popover.js +4 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Progress/Progress.js +3 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/Select/Select.d.ts +1 -5
- package/dist/components/Select/Select.js +12 -39
- 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/SelectTypography/SelectTypography.d.ts +11 -0
- package/dist/components/SelectTypography/SelectTypography.js +39 -0
- package/dist/components/SelectTypography/SelectTypography.js.map +1 -0
- package/dist/components/Slider/Slider.d.ts +1 -1
- package/dist/components/Slider/Slider.js +4 -3
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Spacing/Spacing.js +2 -1
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/Switch/Switch.js +2 -3
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabs/Tabs.js +6 -15
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +1 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Touch/Touch.js +4 -4
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components.css +2 -2
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.module.css +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +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.module.css +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +7 -4
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.module.css +1 -1
- package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
- package/dist/cssm/components/Avatar/Avatar.module.css +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.module.css +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +5 -4
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cssm/components/Badge/Badge.module.css +1 -1
- package/dist/cssm/components/Banner/Banner.module.css +1 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.module.css +1 -1
- package/dist/cssm/components/Button/Button.module.css +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.module.css +1 -1
- package/dist/cssm/components/Calendar/Calendar.module.css +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.module.css +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.module.css +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.module.css +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.module.css +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.module.css +1 -1
- package/dist/cssm/components/Card/Card.module.css +2 -2
- package/dist/cssm/components/CardGrid/CardGrid.module.css +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.module.css +1 -1
- package/dist/cssm/components/Cell/Cell.module.css +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.module.css +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.module.css +1 -1
- package/dist/cssm/components/CellButton/CellButton.module.css +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.d.ts +3 -2
- package/dist/cssm/components/Checkbox/Checkbox.js +12 -2
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.module.css +1 -1
- package/dist/cssm/components/Chip/Chip.module.css +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.module.css +1 -1
- package/dist/cssm/components/Counter/Counter.module.css +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +7 -4
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.module.css +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +0 -1
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.module.css +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +1 -1
- package/dist/cssm/components/Div/Div.module.css +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/FixedLayout/FixedLayout.module.css +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.module.css +1 -1
- package/dist/cssm/components/Footer/Footer.module.css +1 -1
- package/dist/cssm/components/FormField/FormField.module.css +1 -1
- package/dist/cssm/components/FormItem/FormItem.module.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.module.css +1 -1
- package/dist/cssm/components/Gradient/Gradient.module.css +1 -1
- package/dist/cssm/components/Group/Group.module.css +1 -1
- package/dist/cssm/components/Header/Header.module.css +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.module.css +1 -1
- package/dist/cssm/components/IconButton/IconButton.module.css +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.module.css +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.module.css +1 -1
- package/dist/cssm/components/Input/Input.module.css +1 -1
- package/dist/cssm/components/InputLike/InputLike.module.css +1 -1
- package/dist/cssm/components/InputLike/InputLikeDivider.module.css +1 -1
- package/dist/cssm/components/Link/Link.module.css +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.module.css +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.module.css +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.module.css +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.module.css +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +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/Pagination/Pagination.module.css +1 -1
- package/dist/cssm/components/Panel/Panel.module.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +18 -4
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.module.css +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +11 -2
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.module.css +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +1 -1
- package/dist/cssm/components/Popover/Popover.js +4 -1
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.module.css +1 -1
- package/dist/cssm/components/Popper/Popper.module.css +1 -1
- package/dist/cssm/components/Progress/Progress.js +3 -1
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.module.css +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.module.css +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +1 -1
- package/dist/cssm/components/Radio/Radio.module.css +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.module.css +1 -1
- package/dist/cssm/components/Removable/Removable.module.css +1 -1
- package/dist/cssm/components/RichCell/RichCell.module.css +1 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.module.css +1 -1
- package/dist/cssm/components/Root/Root.module.css +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +1 -1
- package/dist/cssm/components/Search/Search.module.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +1 -1
- package/dist/cssm/components/Select/Select.d.ts +1 -5
- package/dist/cssm/components/Select/Select.js +12 -39
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/Select/Select.module.css +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +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/SelectTypography/SelectTypography.d.ts +11 -0
- package/dist/cssm/components/SelectTypography/SelectTypography.js +40 -0
- package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -0
- package/dist/cssm/components/SelectTypography/SelectTypography.module.css +1 -0
- package/dist/cssm/components/Separator/Separator.module.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.module.css +1 -1
- package/dist/cssm/components/Slider/Slider.d.ts +1 -1
- package/dist/cssm/components/Slider/Slider.js +4 -3
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/Slider/Slider.module.css +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.module.css +1 -1
- package/dist/cssm/components/Spacing/Spacing.js +2 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.module.css +1 -1
- package/dist/cssm/components/Spinner/Spinner.module.css +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.module.css +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.module.css +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.module.css +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +1 -1
- package/dist/cssm/components/Switch/Switch.js +2 -3
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.module.css +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.module.css +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.module.css +1 -1
- package/dist/cssm/components/Tabs/Tabs.js +6 -15
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.module.css +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.module.css +1 -1
- package/dist/cssm/components/Tappable/Tappable.module.css +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.module.css +1 -1
- package/dist/cssm/components/Textarea/Textarea.module.css +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +1 -0
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.module.css +1 -1
- package/dist/cssm/components/Touch/Touch.js +4 -4
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.module.css +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.module.css +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.module.css +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.module.css +1 -1
- package/dist/cssm/components/Typography/Text/Text.module.css +1 -1
- package/dist/cssm/components/Typography/Title/Title.module.css +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.module.css +1 -1
- package/dist/cssm/components/View/View.module.css +1 -1
- package/dist/cssm/components/View/ViewIOS.module.css +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.module.css +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +1 -1
- package/dist/cssm/shared/breakpoints.d.ts +2 -2
- package/dist/cssm/shared/breakpoints.js +12 -13
- package/dist/cssm/shared/breakpoints.js.map +1 -1
- package/dist/cssm/styles/adaptivity.module.css +1 -1
- package/dist/cssm/styles/common.css +1 -1
- package/dist/cssm/styles/components.css +2 -2
- package/dist/shared/breakpoints.d.ts +2 -2
- package/dist/shared/breakpoints.js +12 -13
- package/dist/shared/breakpoints.js.map +1 -1
- package/dist/vkui.css +2 -2
- package/dist/vkui.css.map +1 -1
- package/package.json +3 -2
|
@@ -96,7 +96,10 @@ var Popover = function Popover(_ref) {
|
|
|
96
96
|
setShown(false);
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
|
-
(0, _useGlobalEventListener.useGlobalEventListener)(document, 'click', handleOutsideClick
|
|
99
|
+
(0, _useGlobalEventListener.useGlobalEventListener)(document, 'click', handleOutsideClick, {
|
|
100
|
+
capture: true,
|
|
101
|
+
passive: true
|
|
102
|
+
});
|
|
100
103
|
var targetEnterListener = (0, _useEventListener.useEventListener)('mouseenter', handleTargetEnter);
|
|
101
104
|
var targetClickEvent = (0, _useEventListener.useEventListener)('click', handleTargetClick);
|
|
102
105
|
var targetLeaveListener = (0, _useEventListener.useEventListener)('mouseleave', handleTargetLeave);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","names":["Popover","action","shownProp","shown","showDelay","hideDelay","offsetDistance","content","children","styleProp","style","className","getRef","onShownChange","restProps","useDOM","document","hoverable","hovered","React","useRef","useState","computedShown","setComputedShown","dropdownNode","setPopperNode","patchedPopperRef","useExternRef","usePatchChildrenRef","childRef","child","setShown","value","showTimeout","useTimeout","hideTimeout","handleTargetEnter","current","clear","set","handleTargetClick","handleTargetLeave","handleContentKeyDownEscape","handleOutsideClick","e","contains","target","useGlobalEventListener","targetEnterListener","useEventListener","targetClickEvent","targetLeaveListener","useEffect","add","remove","classNames","wrapperClassName","undefined"],"sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../../lib/dom';\nimport { classNames } from '@vkontakte/vkjs';\nimport { PopperCommonProps, Popper } from '../Popper/Popper';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePatchChildrenRef } from '../../hooks/usePatchChildrenRef';\nimport styles from './Popover.module.css';\n\nexport interface PopoverProps extends Omit<PopperCommonProps, 'arrow' | 'arrowClassName'> {\n /**\n * Механика вызова всплывающего окна.\n *\n * - `\"click\"` – показывается/скрывается только при нажатии.\n * - `\"hover\"` – помимо нажатия, будет показываться/скрывается при наведении/отведении мыши.\n *\n * > ⚠️`\"hover\"` на тач-устройствах будет работать как `\"click\"`, с одним лишь нюансом, что не будет закрываться\n * > при повторном нажатии на целевой элемент. Для закрытия необходимо нажать на область вне целевого элемента\n * > и выпадающего окна.\n */\n action?: 'click' | 'hover';\n /**\n * Если передан, то всплывающее окно будет показан/скрыт в зависимости от значения свойства.\n */\n shown?: boolean;\n /**\n * Количество миллисекунд, после которых произойдёт показ всплывающего окна.\n *\n * > Используется только для `action=\"hover\"` при наведении/отведении мыши.\n */\n showDelay?: number;\n /**\n * Количество миллисекунд, после которых произойдёт скрытие всплывающего окна.\n *\n * > Используется только для `action=\"hover\"` при наведении/отведении мыши.\n */\n hideDelay?: number;\n /**\n * Содержимое всплывающего окна.\n */\n content?: React.ReactNode;\n /**\n * Целевой элемент. Всплывающее окно появится возле него.\n *\n * > ⚠️ Если это пользовательский компонент, то он должен предоставлять параметры либо `getRootRef`, либо `ref` для получения ссылки на DOM-узел.\n */\n children?: React.ReactElement;\n /**\n * Вызывается при каждом изменении видимости всплывающего окна.\n */\n onShownChange?(shown: boolean): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popover\n */\nexport const Popover = ({\n action = 'click',\n shown: shownProp,\n showDelay = 150,\n hideDelay = 150,\n offsetDistance = 8,\n content,\n children,\n style: styleProp,\n className,\n getRef,\n onShownChange,\n ...restProps\n}: PopoverProps) => {\n const { document } = useDOM();\n\n const hoverable = action === 'hover';\n const hovered = React.useRef(false);\n const [computedShown, setComputedShown] = React.useState(shownProp || false);\n const [dropdownNode, setPopperNode] = React.useState<HTMLElement | null>(null);\n\n const shown = typeof shownProp === 'boolean' ? shownProp : computedShown;\n\n const patchedPopperRef = useExternRef<HTMLDivElement>(setPopperNode, getRef);\n\n const [childRef, child] = usePatchChildrenRef(children);\n\n const setShown = (value: boolean) => {\n if (typeof shownProp !== 'boolean') {\n setComputedShown(value);\n }\n typeof onShownChange === 'function' && onShownChange(value);\n };\n\n const showTimeout = useTimeout(() => setShown(true), showDelay);\n\n const hideTimeout = useTimeout(() => setShown(false), hideDelay);\n\n const handleTargetEnter = () => {\n hovered.current = true;\n hideTimeout.clear();\n showTimeout.set();\n };\n\n const handleTargetClick = () => {\n if (hovered.current && shown) {\n return;\n }\n setShown(!shown);\n };\n\n const handleTargetLeave = () => {\n hovered.current = false;\n showTimeout.clear();\n hideTimeout.set();\n };\n\n const handleContentKeyDownEscape = () => {\n setShown(false);\n };\n\n const handleOutsideClick = (e: MouseEvent) => {\n if (\n dropdownNode &&\n !childRef.current?.contains(e.target as Node) &&\n !dropdownNode.contains(e.target as Node)\n ) {\n setShown(false);\n }\n };\n\n useGlobalEventListener(document, 'click', handleOutsideClick);\n const targetEnterListener = useEventListener('mouseenter', handleTargetEnter);\n const targetClickEvent = useEventListener('click', handleTargetClick);\n const targetLeaveListener = useEventListener('mouseleave', handleTargetLeave);\n\n React.useEffect(() => {\n if (!childRef.current) {\n return;\n }\n\n targetClickEvent.add(childRef.current);\n }, [childRef, targetClickEvent]);\n\n React.useEffect(() => {\n if (!childRef.current) {\n return;\n }\n\n if (hoverable) {\n targetEnterListener.add(childRef.current);\n targetLeaveListener.add(childRef.current);\n }\n\n return () => {\n targetEnterListener.remove();\n targetLeaveListener.remove();\n };\n }, [childRef, hoverable, targetEnterListener, targetLeaveListener]);\n\n return (\n <React.Fragment>\n {child}\n {shown && (\n <Popper\n {...restProps}\n className={classNames(styles['Popover'], className)}\n targetRef={childRef}\n getRef={patchedPopperRef}\n offsetDistance={offsetDistance}\n style={\n // Reason: Typescript ругается на CSS Custom Properties в объекте\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n ...styleProp,\n '--vkui_internal--popover_safe_zone_padding': `${offsetDistance}px`,\n } as React.CSSProperties\n }\n renderContent={({ className: wrapperClassName }) => (\n <FocusTrap className={wrapperClassName} onClose={handleContentKeyDownEscape}>\n {content}\n </FocusTrap>\n )}\n onMouseOver={hoverable ? hideTimeout.clear : undefined}\n onMouseOut={hoverable ? handleTargetLeave : undefined}\n />\n )}\n </React.Fragment>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popover.js","names":["Popover","action","shownProp","shown","showDelay","hideDelay","offsetDistance","content","children","styleProp","style","className","getRef","onShownChange","restProps","useDOM","document","hoverable","hovered","React","useRef","useState","computedShown","setComputedShown","dropdownNode","setPopperNode","patchedPopperRef","useExternRef","usePatchChildrenRef","childRef","child","setShown","value","showTimeout","useTimeout","hideTimeout","handleTargetEnter","current","clear","set","handleTargetClick","handleTargetLeave","handleContentKeyDownEscape","handleOutsideClick","e","contains","target","useGlobalEventListener","capture","passive","targetEnterListener","useEventListener","targetClickEvent","targetLeaveListener","useEffect","add","remove","classNames","wrapperClassName","undefined"],"sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../../lib/dom';\nimport { classNames } from '@vkontakte/vkjs';\nimport { PopperCommonProps, Popper } from '../Popper/Popper';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePatchChildrenRef } from '../../hooks/usePatchChildrenRef';\nimport styles from './Popover.module.css';\n\nexport interface PopoverProps extends Omit<PopperCommonProps, 'arrow' | 'arrowClassName'> {\n /**\n * Механика вызова всплывающего окна.\n *\n * - `\"click\"` – показывается/скрывается только при нажатии.\n * - `\"hover\"` – помимо нажатия, будет показываться/скрывается при наведении/отведении мыши.\n *\n * > ⚠️`\"hover\"` на тач-устройствах будет работать как `\"click\"`, с одним лишь нюансом, что не будет закрываться\n * > при повторном нажатии на целевой элемент. Для закрытия необходимо нажать на область вне целевого элемента\n * > и выпадающего окна.\n */\n action?: 'click' | 'hover';\n /**\n * Если передан, то всплывающее окно будет показан/скрыт в зависимости от значения свойства.\n */\n shown?: boolean;\n /**\n * Количество миллисекунд, после которых произойдёт показ всплывающего окна.\n *\n * > Используется только для `action=\"hover\"` при наведении/отведении мыши.\n */\n showDelay?: number;\n /**\n * Количество миллисекунд, после которых произойдёт скрытие всплывающего окна.\n *\n * > Используется только для `action=\"hover\"` при наведении/отведении мыши.\n */\n hideDelay?: number;\n /**\n * Содержимое всплывающего окна.\n */\n content?: React.ReactNode;\n /**\n * Целевой элемент. Всплывающее окно появится возле него.\n *\n * > ⚠️ Если это пользовательский компонент, то он должен предоставлять параметры либо `getRootRef`, либо `ref` для получения ссылки на DOM-узел.\n */\n children?: React.ReactElement;\n /**\n * Вызывается при каждом изменении видимости всплывающего окна.\n */\n onShownChange?(shown: boolean): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popover\n */\nexport const Popover = ({\n action = 'click',\n shown: shownProp,\n showDelay = 150,\n hideDelay = 150,\n offsetDistance = 8,\n content,\n children,\n style: styleProp,\n className,\n getRef,\n onShownChange,\n ...restProps\n}: PopoverProps) => {\n const { document } = useDOM();\n\n const hoverable = action === 'hover';\n const hovered = React.useRef(false);\n const [computedShown, setComputedShown] = React.useState(shownProp || false);\n const [dropdownNode, setPopperNode] = React.useState<HTMLElement | null>(null);\n\n const shown = typeof shownProp === 'boolean' ? shownProp : computedShown;\n\n const patchedPopperRef = useExternRef<HTMLDivElement>(setPopperNode, getRef);\n\n const [childRef, child] = usePatchChildrenRef(children);\n\n const setShown = (value: boolean) => {\n if (typeof shownProp !== 'boolean') {\n setComputedShown(value);\n }\n typeof onShownChange === 'function' && onShownChange(value);\n };\n\n const showTimeout = useTimeout(() => setShown(true), showDelay);\n\n const hideTimeout = useTimeout(() => setShown(false), hideDelay);\n\n const handleTargetEnter = () => {\n hovered.current = true;\n hideTimeout.clear();\n showTimeout.set();\n };\n\n const handleTargetClick = () => {\n if (hovered.current && shown) {\n return;\n }\n setShown(!shown);\n };\n\n const handleTargetLeave = () => {\n hovered.current = false;\n showTimeout.clear();\n hideTimeout.set();\n };\n\n const handleContentKeyDownEscape = () => {\n setShown(false);\n };\n\n const handleOutsideClick = (e: MouseEvent) => {\n if (\n dropdownNode &&\n !childRef.current?.contains(e.target as Node) &&\n !dropdownNode.contains(e.target as Node)\n ) {\n setShown(false);\n }\n };\n\n useGlobalEventListener(document, 'click', handleOutsideClick, {\n capture: true,\n passive: true,\n });\n const targetEnterListener = useEventListener('mouseenter', handleTargetEnter);\n const targetClickEvent = useEventListener('click', handleTargetClick);\n const targetLeaveListener = useEventListener('mouseleave', handleTargetLeave);\n\n React.useEffect(() => {\n if (!childRef.current) {\n return;\n }\n\n targetClickEvent.add(childRef.current);\n }, [childRef, targetClickEvent]);\n\n React.useEffect(() => {\n if (!childRef.current) {\n return;\n }\n\n if (hoverable) {\n targetEnterListener.add(childRef.current);\n targetLeaveListener.add(childRef.current);\n }\n\n return () => {\n targetEnterListener.remove();\n targetLeaveListener.remove();\n };\n }, [childRef, hoverable, targetEnterListener, targetLeaveListener]);\n\n return (\n <React.Fragment>\n {child}\n {shown && (\n <Popper\n {...restProps}\n className={classNames(styles['Popover'], className)}\n targetRef={childRef}\n getRef={patchedPopperRef}\n offsetDistance={offsetDistance}\n style={\n // Reason: Typescript ругается на CSS Custom Properties в объекте\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n ...styleProp,\n '--vkui_internal--popover_safe_zone_padding': `${offsetDistance}px`,\n } as React.CSSProperties\n }\n renderContent={({ className: wrapperClassName }) => (\n <FocusTrap className={wrapperClassName} onClose={handleContentKeyDownEscape}>\n {content}\n </FocusTrap>\n )}\n onMouseOver={hoverable ? hideTimeout.clear : undefined}\n onMouseOut={hoverable ? handleTargetLeave : undefined}\n />\n )}\n </React.Fragment>\n );\n};\n"],"mappings":"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"}
|
|
@@ -25,8 +25,10 @@ var Progress = function Progress(_ref) {
|
|
|
25
25
|
className = _ref.className,
|
|
26
26
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
27
27
|
var progress = (0, _math.clamp)(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);
|
|
28
|
+
var title = "".concat(progress, " / ").concat(PROGRESS_MAX_VALUE);
|
|
28
29
|
return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
|
|
29
|
-
"aria-valuenow": value
|
|
30
|
+
"aria-valuenow": value,
|
|
31
|
+
title: title
|
|
30
32
|
}, restProps, {
|
|
31
33
|
role: "progressbar",
|
|
32
34
|
"aria-valuemin": PROGRESS_MIN_VALUE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Progress.js","names":["PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","Progress","value","getRootRef","className","restProps","progress","clamp","classNames","width"],"sources":["../../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../../helpers/math';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport styles from './Progress.module.css';\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n value?: number;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Progress\n */\nexport const Progress = ({ value = 0, getRootRef, className, ...restProps }: ProgressProps) => {\n const progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);\n\n return (\n <div\n aria-valuenow={value}\n {...restProps}\n role=\"progressbar\"\n aria-valuemin={PROGRESS_MIN_VALUE}\n aria-valuemax={PROGRESS_MAX_VALUE}\n ref={getRootRef}\n className={classNames(styles['Progress'], className)}\n >\n <div className={styles['Progress__in']} style={{ width: `${progress}%` }} />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAA6C;AAU7C,IAAMA,kBAAkB,GAAG,CAAC;AAC5B,IAAMC,kBAAkB,GAAG,GAAG;;AAE9B;AACA;AACA;AACO,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,OAA0E;EAAA,sBAApEC,KAAK;IAALA,KAAK,2BAAG,CAAC;IAAEC,UAAU,QAAVA,UAAU;IAAEC,SAAS,QAATA,SAAS;IAAKC,SAAS;EACvE,IAAMC,QAAQ,GAAG,IAAAC,WAAK,EAACL,KAAK,EAAEH,kBAAkB,EAAEC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Progress.js","names":["PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","Progress","value","getRootRef","className","restProps","progress","clamp","title","classNames","width"],"sources":["../../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../../helpers/math';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport styles from './Progress.module.css';\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n value?: number;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Progress\n */\nexport const Progress = ({ value = 0, getRootRef, className, ...restProps }: ProgressProps) => {\n const progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);\n const title = `${progress} / ${PROGRESS_MAX_VALUE}`;\n\n return (\n <div\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 ref={getRootRef}\n className={classNames(styles['Progress'], className)}\n >\n <div className={styles['Progress__in']} style={{ width: `${progress}%` }} />\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAA6C;AAU7C,IAAMA,kBAAkB,GAAG,CAAC;AAC5B,IAAMC,kBAAkB,GAAG,GAAG;;AAE9B;AACA;AACA;AACO,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,OAA0E;EAAA,sBAApEC,KAAK;IAALA,KAAK,2BAAG,CAAC;IAAEC,UAAU,QAAVA,UAAU;IAAEC,SAAS,QAATA,SAAS;IAAKC,SAAS;EACvE,IAAMC,QAAQ,GAAG,IAAAC,WAAK,EAACL,KAAK,EAAEH,kBAAkB,EAAEC,kBAAkB,CAAC;EACrE,IAAMQ,KAAK,aAAMF,QAAQ,gBAAMN,kBAAkB,CAAE;EAEnD,oBACE;IACE,iBAAeE,KAAM;IACrB,KAAK,EAAEM;EAAM,GACTH,SAAS;IACb,IAAI,EAAC,aAAa;IAClB,iBAAeN,kBAAmB;IAClC,iBAAeC,kBAAmB;IAClC,GAAG,EAAEG,UAAW;IAChB,SAAS,EAAE,IAAAM,gBAAU,kBAAqBL,SAAS;EAAE,iBAErD;IAAK,SAAS,oBAAyB;IAAC,KAAK,EAAE;MAAEM,KAAK,YAAKJ,QAAQ;IAAI;EAAE,EAAG,CACxE;AAEV,CAAC;AAAC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { SelectProps } from '../CustomSelect/CustomSelect';
|
|
3
3
|
export declare type SelectType = 'default' | 'plain' | 'accent';
|
|
4
|
-
/**
|
|
5
|
-
* @see https://vkcom.github.io/VKUI/#/SelectTypography
|
|
6
|
-
*/
|
|
7
|
-
export declare const SelectTypography: ({ selectType, children, className, ...restProps }: React.PropsWithChildren<Pick<SelectProps, 'selectType' | 'className'>>) => JSX.Element;
|
|
8
4
|
/**
|
|
9
5
|
* @see https://vkcom.github.io/VKUI/#/Select
|
|
10
6
|
*/
|
|
@@ -5,49 +5,26 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.Select = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _NativeSelect = require("../NativeSelect/NativeSelect");
|
|
13
13
|
var _CustomSelect = require("../CustomSelect/CustomSelect");
|
|
14
|
-
var _useAdaptivity2 = require("../../hooks/useAdaptivity");
|
|
15
14
|
var _useAdaptivityHasPointer = require("../../hooks/useAdaptivityHasPointer");
|
|
16
|
-
var _usePlatform = require("../../hooks/usePlatform");
|
|
17
15
|
var _vkjs = require("@vkontakte/vkjs");
|
|
18
|
-
var
|
|
19
|
-
var _getSizeYClassName = require("../../helpers/getSizeYClassName");
|
|
20
|
-
var _excluded = ["selectType", "children", "className"],
|
|
21
|
-
_excluded2 = ["children", "options", "popupDirection", "renderOption", "className"];
|
|
22
|
-
/**
|
|
23
|
-
* @see https://vkcom.github.io/VKUI/#/SelectTypography
|
|
24
|
-
*/
|
|
25
|
-
var SelectTypography = function SelectTypography(_ref) {
|
|
26
|
-
var _ref$selectType = _ref.selectType,
|
|
27
|
-
selectType = _ref$selectType === void 0 ? 'default' : _ref$selectType,
|
|
28
|
-
children = _ref.children,
|
|
29
|
-
className = _ref.className,
|
|
30
|
-
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
31
|
-
var platform = (0, _usePlatform.usePlatform)();
|
|
32
|
-
var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
|
|
33
|
-
sizeY = _useAdaptivity.sizeY;
|
|
34
|
-
return /*#__PURE__*/React.createElement("span", (0, _extends2.default)({
|
|
35
|
-
className: (0, _vkjs.classNames)("vkuiSelectTypography", (0, _getPlatformClassName.getPlatformClassName)("vkuiSelectTypography", platform), (0, _getSizeYClassName.getSizeYClassName)("vkuiSelectTypography", sizeY), styles["SelectTypography--selectType-".concat(selectType)], className)
|
|
36
|
-
}, restProps), children);
|
|
37
|
-
};
|
|
38
|
-
|
|
16
|
+
var _excluded = ["children", "options", "popupDirection", "renderOption", "className"];
|
|
39
17
|
/**
|
|
40
18
|
* @see https://vkcom.github.io/VKUI/#/Select
|
|
41
19
|
*/
|
|
42
|
-
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
|
|
20
|
+
var Select = function Select(_ref) {
|
|
21
|
+
var children = _ref.children,
|
|
22
|
+
_ref$options = _ref.options,
|
|
23
|
+
options = _ref$options === void 0 ? [] : _ref$options,
|
|
24
|
+
popupDirection = _ref.popupDirection,
|
|
25
|
+
renderOption = _ref.renderOption,
|
|
26
|
+
className = _ref.className,
|
|
27
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
51
28
|
var hasPointer = (0, _useAdaptivityHasPointer.useAdaptivityHasPointer)();
|
|
52
29
|
return /*#__PURE__*/React.createElement(React.Fragment, null, (hasPointer === undefined || hasPointer) && /*#__PURE__*/React.createElement(_CustomSelect.CustomSelect, (0, _extends2.default)({
|
|
53
30
|
className: (0, _vkjs.classNames)("vkuiSelect__custom", className),
|
|
@@ -56,9 +33,9 @@ var Select = function Select(_ref2) {
|
|
|
56
33
|
renderOption: renderOption
|
|
57
34
|
}, props)), (hasPointer === undefined || !hasPointer) && /*#__PURE__*/React.createElement(_NativeSelect.NativeSelect, (0, _extends2.default)({
|
|
58
35
|
className: (0, _vkjs.classNames)("vkuiSelect__native", className)
|
|
59
|
-
}, props), options.map(function (
|
|
60
|
-
var label =
|
|
61
|
-
value =
|
|
36
|
+
}, props), options.map(function (_ref2) {
|
|
37
|
+
var label = _ref2.label,
|
|
38
|
+
value = _ref2.value;
|
|
62
39
|
return /*#__PURE__*/React.createElement("option", {
|
|
63
40
|
value: value,
|
|
64
41
|
key: "".concat(value)
|
|
@@ -66,9 +43,4 @@ var Select = function Select(_ref2) {
|
|
|
66
43
|
})));
|
|
67
44
|
};
|
|
68
45
|
exports.Select = Select;
|
|
69
|
-
var styles = {
|
|
70
|
-
"SelectTypography--selectType-accent": "vkuiSelectTypography--selectType-accent",
|
|
71
|
-
"SelectTypography--selectType-default": "vkuiSelectTypography--selectType-default",
|
|
72
|
-
"SelectTypography--selectType-plain": "vkuiSelectTypography--selectType-plain"
|
|
73
|
-
};
|
|
74
46
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["
|
|
1
|
+
{"version":3,"file":"Select.js","names":["Select","children","options","popupDirection","renderOption","className","props","hasPointer","useAdaptivityHasPointer","undefined","classNames","map","label","value"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import * as React from 'react';\nimport { NativeSelect } from '../NativeSelect/NativeSelect';\nimport { CustomSelect, SelectProps } from '../CustomSelect/CustomSelect';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './Select.module.css';\n\nexport type SelectType = 'default' | 'plain' | 'accent';\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Select\n */\nexport const Select = ({\n children,\n options = [],\n popupDirection,\n renderOption,\n className,\n ...props\n}: SelectProps) => {\n const hasPointer = useAdaptivityHasPointer();\n\n return (\n <React.Fragment>\n {(hasPointer === undefined || hasPointer) && (\n <CustomSelect\n className={classNames(styles['Select__custom'], className)}\n options={options}\n popupDirection={popupDirection}\n renderOption={renderOption}\n {...props}\n />\n )}\n {(hasPointer === undefined || !hasPointer) && (\n <NativeSelect className={classNames(styles['Select__native'], className)} {...props}>\n {options.map(({ label, value }) => (\n <option value={value} key={`${value}`}>\n {label}\n </option>\n ))}\n </NativeSelect>\n )}\n </React.Fragment>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAA6C;AAK7C;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAM,OAOA;EAAA,IANjBC,QAAQ,QAARA,QAAQ;IAAA,oBACRC,OAAO;IAAPA,OAAO,6BAAG,EAAE;IACZC,cAAc,QAAdA,cAAc;IACdC,YAAY,QAAZA,YAAY;IACZC,SAAS,QAATA,SAAS;IACNC,KAAK;EAER,IAAMC,UAAU,GAAG,IAAAC,gDAAuB,GAAE;EAE5C,oBACE,oBAAC,KAAK,CAAC,QAAQ,QACZ,CAACD,UAAU,KAAKE,SAAS,IAAIF,UAAU,kBACtC,oBAAC,0BAAY;IACX,SAAS,EAAE,IAAAG,gBAAU,wBAA2BL,SAAS,CAAE;IAC3D,OAAO,EAAEH,OAAQ;IACjB,cAAc,EAAEC,cAAe;IAC/B,YAAY,EAAEC;EAAa,GACvBE,KAAK,EAEZ,EACA,CAACC,UAAU,KAAKE,SAAS,IAAI,CAACF,UAAU,kBACvC,oBAAC,0BAAY;IAAC,SAAS,EAAE,IAAAG,gBAAU,wBAA2BL,SAAS;EAAE,GAAKC,KAAK,GAChFJ,OAAO,CAACS,GAAG,CAAC;IAAA,IAAGC,KAAK,SAALA,KAAK;MAAEC,KAAK,SAALA,KAAK;IAAA,oBAC1B;MAAQ,KAAK,EAAEA,KAAM;MAAC,GAAG,YAAKA,KAAK;IAAG,GACnCD,KAAK,CACC;EAAA,CACV,CAAC,CAEL,CACc;AAErB,CAAC;AAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { FormFieldProps } from '../FormField/FormField';
|
|
3
3
|
import { HasAlign, HasRootRef } from '../../types';
|
|
4
|
-
import { SelectType } from '../Select/Select';
|
|
4
|
+
import type { SelectType } from '../Select/Select';
|
|
5
5
|
export interface SelectMimicryProps extends React.HTMLAttributes<HTMLElement>, HasAlign, HasRootRef<HTMLElement>, Pick<FormFieldProps, 'before' | 'after' | 'status'> {
|
|
6
6
|
multiline?: boolean;
|
|
7
7
|
disabled?: boolean;
|
|
@@ -15,7 +15,7 @@ var _FormField = require("../FormField/FormField");
|
|
|
15
15
|
var _usePlatform = require("../../hooks/usePlatform");
|
|
16
16
|
var _getPlatformClassName = require("../../helpers/getPlatformClassName");
|
|
17
17
|
var _select = require("../../lib/select");
|
|
18
|
-
var
|
|
18
|
+
var _SelectTypography = require("../SelectTypography/SelectTypography");
|
|
19
19
|
var _useAdaptivity2 = require("../../hooks/useAdaptivity");
|
|
20
20
|
var _getSizeXClassName = require("../../helpers/getSizeXClassName");
|
|
21
21
|
var _getSizeYClassName = require("../../helpers/getSizeYClassName");
|
|
@@ -58,7 +58,7 @@ var SelectMimicry = function SelectMimicry(_ref) {
|
|
|
58
58
|
status: status
|
|
59
59
|
}), /*#__PURE__*/React.createElement("div", {
|
|
60
60
|
className: "vkuiSelect__container"
|
|
61
|
-
}, /*#__PURE__*/React.createElement(
|
|
61
|
+
}, /*#__PURE__*/React.createElement(_SelectTypography.SelectTypography, {
|
|
62
62
|
selectType: selectType,
|
|
63
63
|
className: "vkuiSelect__title"
|
|
64
64
|
}, title)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectMimicry.js","names":["SelectMimicry","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","before","after","selectType","status","className","restProps","platform","usePlatform","useAdaptivity","sizeX","sizeY","title","undefined","classNames","getPlatformClassName","getSizeXClassName","getSizeYClassName","styles","getFormFieldModeFromSelectType"],"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { HasAlign, HasRootRef } from '../../types';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { getFormFieldModeFromSelectType } from '../../lib/select';\nimport { SelectType
|
|
1
|
+
{"version":3,"file":"SelectMimicry.js","names":["SelectMimicry","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","before","after","selectType","status","className","restProps","platform","usePlatform","useAdaptivity","sizeX","sizeY","title","undefined","classNames","getPlatformClassName","getSizeXClassName","getSizeYClassName","styles","getFormFieldModeFromSelectType"],"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { HasAlign, HasRootRef } from '../../types';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { getFormFieldModeFromSelectType } from '../../lib/select';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { getSizeXClassName } from '../../helpers/getSizeXClassName';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport styles from '../Select/Select.module.css';\n\nexport interface SelectMimicryProps\n extends React.HTMLAttributes<HTMLElement>,\n HasAlign,\n HasRootRef<HTMLElement>,\n Pick<FormFieldProps, 'before' | 'after' | 'status'> {\n multiline?: boolean;\n disabled?: boolean;\n selectType?: SelectType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SelectMimicry\n */\nexport const SelectMimicry = ({\n tabIndex = 0,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n before,\n after = <DropdownIcon />,\n selectType = 'default',\n status,\n className,\n ...restProps\n}: SelectMimicryProps) => {\n const platform = usePlatform();\n const { sizeX, sizeY } = useAdaptivity();\n const title = children || placeholder;\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n className={classNames(\n styles['Select'],\n getPlatformClassName(styles['Select'], platform),\n getSizeXClassName(styles['Select'], sizeX),\n getSizeYClassName(styles['Select'], sizeY),\n multiline && styles['Select--multiline'],\n align && styles[`Select--align-${align}`],\n before && styles['Select--hasBefore'],\n after && styles['Select--hasAfter'],\n className,\n )}\n getRootRef={getRootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n before={before}\n after={after}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles['Select__container']}>\n <SelectTypography selectType={selectType} className={styles['Select__title']}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAoE;AAapE;AACA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAa,OAeA;EAAA,yBAdxBC,QAAQ;IAARA,QAAQ,8BAAG,CAAC;IACZC,WAAW,QAAXA,WAAW;IACXC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IACTC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPC,MAAM,QAANA,MAAM;IAAA,kBACNC,KAAK;IAALA,KAAK,wCAAG,oBAAC,0BAAY,OAAG;IAAA,uBACxBC,UAAU;IAAVA,UAAU,gCAAG,SAAS;IACtBC,MAAM,QAANA,MAAM;IACNC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAAyB,IAAAC,6BAAa,GAAE;IAAhCC,KAAK,kBAALA,KAAK;IAAEC,KAAK,kBAALA,KAAK;EACpB,IAAMC,KAAK,GAAGjB,QAAQ,IAAID,WAAW;EAErC,oBACE,oBAAC,oBAAS,6BACJY,SAAS;IACb,QAAQ,EAAEP,QAAQ,GAAGc,SAAS,GAAGpB,QAAS;IAC1C,SAAS,EAAE,IAAAqB,gBAAU,gBAEnB,IAAAC,0CAAoB,gBAAmBR,QAAQ,CAAC,EAChD,IAAAS,oCAAiB,gBAAmBN,KAAK,CAAC,EAC1C,IAAAO,oCAAiB,gBAAmBN,KAAK,CAAC,EAC1Cb,SAAS,2BAA+B,EACxCF,KAAK,IAAIsB,MAAM,yBAAkBtB,KAAK,EAAG,EACzCK,MAAM,2BAA+B,EACrCC,KAAK,0BAA8B,EACnCG,SAAS,CACT;IACF,UAAU,EAAER,UAAW;IACvB,OAAO,EAAEE,QAAQ,GAAGc,SAAS,GAAGb,OAAQ;IACxC,QAAQ,EAAED,QAAS;IACnB,MAAM,EAAEE,MAAO;IACf,KAAK,EAAEC,KAAM;IACb,IAAI,EAAE,IAAAiB,sCAA8B,EAAChB,UAAU,CAAE;IACjD,MAAM,EAAEC;EAAO,iBAEf;IAAK,SAAS;EAA8B,gBAC1C,oBAAC,kCAAgB;IAAC,UAAU,EAAED,UAAW;IAAC,SAAS;EAA0B,GAC1ES,KAAK,CACW,CACf,CACI;AAEhB,CAAC;AAAC;AAAA;EAAA;EAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { SelectType } from '../Select/Select';
|
|
3
|
+
export interface SelectTypographyProps {
|
|
4
|
+
selectType?: SelectType;
|
|
5
|
+
className?: string;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
11
|
+
export declare const SelectTypography: ({ selectType, children, className, ...restProps }: SelectTypographyProps) => JSX.Element;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SelectTypography = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _vkjs = require("@vkontakte/vkjs");
|
|
13
|
+
var _usePlatform = require("../../hooks/usePlatform");
|
|
14
|
+
var _useAdaptivity2 = require("../../hooks/useAdaptivity");
|
|
15
|
+
var _excluded = ["selectType", "children", "className"];
|
|
16
|
+
var sizeYClassNames = {
|
|
17
|
+
none: "vkuiSelectTypography--sizeY-none",
|
|
18
|
+
compact: "vkuiSelectTypography--sizeY-compact",
|
|
19
|
+
regular: ''
|
|
20
|
+
};
|
|
21
|
+
var platformClassNames = {
|
|
22
|
+
vkcom: "vkuiSelectTypography--vkcom",
|
|
23
|
+
android: "vkuiSelectTypography--android"
|
|
24
|
+
};
|
|
25
|
+
var selectTypeClassNames = {
|
|
26
|
+
default: "vkuiSelectTypography--selectType-default",
|
|
27
|
+
plain: "vkuiSelectTypography--selectType-plain",
|
|
28
|
+
accent: "vkuiSelectTypography--selectType-accent"
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
var SelectTypography = function SelectTypography(_ref) {
|
|
34
|
+
var _ref$selectType = _ref.selectType,
|
|
35
|
+
selectType = _ref$selectType === void 0 ? 'default' : _ref$selectType,
|
|
36
|
+
children = _ref.children,
|
|
37
|
+
className = _ref.className,
|
|
38
|
+
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
39
|
+
var platform = (0, _usePlatform.usePlatform)();
|
|
40
|
+
var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
|
|
41
|
+
_useAdaptivity$sizeY = _useAdaptivity.sizeY,
|
|
42
|
+
sizeY = _useAdaptivity$sizeY === void 0 ? 'none' : _useAdaptivity$sizeY;
|
|
43
|
+
return /*#__PURE__*/React.createElement("span", (0, _extends2.default)({
|
|
44
|
+
className: (0, _vkjs.classNames)("vkuiSelectTypography", platformClassNames[platform], sizeYClassNames[sizeY], selectTypeClassNames[selectType], className)
|
|
45
|
+
}, restProps), children);
|
|
46
|
+
};
|
|
47
|
+
exports.SelectTypography = SelectTypography;
|
|
48
|
+
//# sourceMappingURL=SelectTypography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectTypography.js","names":["sizeYClassNames","none","compact","regular","platformClassNames","vkcom","android","selectTypeClassNames","default","plain","accent","SelectTypography","selectType","children","className","restProps","platform","usePlatform","useAdaptivity","sizeY","classNames"],"sources":["../../../../src/components/SelectTypography/SelectTypography.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { SelectType } from '../Select/Select';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport styles from './SelectTypography.module.css';\n\nconst sizeYClassNames = {\n none: styles['SelectTypography--sizeY-none'],\n compact: styles['SelectTypography--sizeY-compact'],\n regular: '',\n};\n\nconst platformClassNames: Record<string, string> = {\n vkcom: styles['SelectTypography--vkcom'],\n android: styles['SelectTypography--android'],\n};\n\nconst selectTypeClassNames = {\n default: styles['SelectTypography--selectType-default'],\n plain: styles['SelectTypography--selectType-plain'],\n accent: styles['SelectTypography--selectType-accent'],\n};\n\nexport interface SelectTypographyProps {\n selectType?: SelectType;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * @private\n */\nexport const SelectTypography = ({\n selectType = 'default',\n children,\n className,\n ...restProps\n}: SelectTypographyProps) => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <span\n className={classNames(\n styles['SelectTypography'],\n platformClassNames[platform],\n sizeYClassNames[sizeY],\n selectTypeClassNames[selectType],\n className,\n )}\n {...restProps}\n >\n {children}\n </span>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AAEA;AACA;AAA0D;AAG1D,IAAMA,eAAe,GAAG;EACtBC,IAAI,oCAAwC;EAC5CC,OAAO,uCAA2C;EAClDC,OAAO,EAAE;AACX,CAAC;AAED,IAAMC,kBAA0C,GAAG;EACjDC,KAAK,+BAAmC;EACxCC,OAAO;AACT,CAAC;AAED,IAAMC,oBAAoB,GAAG;EAC3BC,OAAO,4CAAgD;EACvDC,KAAK,0CAA8C;EACnDC,MAAM;AACR,CAAC;AAQD;AACA;AACA;AACO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgB,OAKA;EAAA,2BAJ3BC,UAAU;IAAVA,UAAU,gCAAG,SAAS;IACtBC,QAAQ,QAARA,QAAQ;IACRC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAA2B,IAAAC,6BAAa,GAAE;IAAA,sCAAlCC,KAAK;IAALA,KAAK,qCAAG,MAAM;EAEtB,oBACE;IACE,SAAS,EAAE,IAAAC,gBAAU,0BAEnBhB,kBAAkB,CAACY,QAAQ,CAAC,EAC5BhB,eAAe,CAACmB,KAAK,CAAC,EACtBZ,oBAAoB,CAACK,UAAU,CAAC,EAChCE,SAAS;EACT,GACEC,SAAS,GAEZF,QAAQ,CACJ;AAEX,CAAC;AAAC"}
|
|
@@ -4,4 +4,4 @@ export declare type SliderProps = UniversalSliderProps<number>;
|
|
|
4
4
|
/**
|
|
5
5
|
* @see https://vkcom.github.io/VKUI/#/Slider
|
|
6
6
|
*/
|
|
7
|
-
export declare const Slider: ({ onChange, min, max, defaultValue, ...props }: SliderProps) => JSX.Element;
|
|
7
|
+
export declare const Slider: ({ onChange, min, max, defaultValue, value, ...props }: SliderProps) => JSX.Element;
|
|
@@ -12,7 +12,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _math = require("../../helpers/math");
|
|
14
14
|
var _UniversalSlider = require("../RangeSlider/UniversalSlider");
|
|
15
|
-
var _excluded = ["onChange", "min", "max", "defaultValue"];
|
|
15
|
+
var _excluded = ["onChange", "min", "max", "defaultValue", "value"];
|
|
16
16
|
/**
|
|
17
17
|
* @see https://vkcom.github.io/VKUI/#/Slider
|
|
18
18
|
*/
|
|
@@ -24,13 +24,14 @@ var Slider = function Slider(_ref) {
|
|
|
24
24
|
max = _ref$max === void 0 ? 100 : _ref$max,
|
|
25
25
|
_ref$defaultValue = _ref.defaultValue,
|
|
26
26
|
defaultValue = _ref$defaultValue === void 0 ? min : _ref$defaultValue,
|
|
27
|
+
value = _ref.value,
|
|
27
28
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
28
|
-
var isControlled =
|
|
29
|
+
var isControlled = value !== undefined;
|
|
29
30
|
var _React$useState = React.useState(defaultValue),
|
|
30
31
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
31
32
|
localValue = _React$useState2[0],
|
|
32
33
|
setValue = _React$useState2[1];
|
|
33
|
-
var _value = (0, _math.clamp)(
|
|
34
|
+
var _value = (0, _math.clamp)(isControlled ? value : localValue, min, max);
|
|
34
35
|
var handleChange = React.useCallback(function (nextValue, event) {
|
|
35
36
|
if (props.disabled || _value === nextValue[1]) {
|
|
36
37
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","names":["Slider","onChange","min","max","defaultValue","
|
|
1
|
+
{"version":3,"file":"Slider.js","names":["Slider","onChange","min","max","defaultValue","value","props","isControlled","undefined","React","useState","localValue","setValue","_value","clamp","handleChange","useCallback","nextValue","event","disabled","rangeValue","useMemo"],"sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../../helpers/math';\nimport {\n UniversalSlider,\n UniversalSliderProps,\n UniversalValue,\n} from '../RangeSlider/UniversalSlider';\nimport { TouchEvent } from '../Touch/Touch';\n\nexport type SliderProps = UniversalSliderProps<number>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Slider\n */\nexport const Slider = ({\n onChange,\n min = 0,\n max = 100,\n defaultValue = min,\n value,\n ...props\n}: SliderProps) => {\n const isControlled = value !== undefined;\n\n const [localValue, setValue] = React.useState(defaultValue);\n const _value = clamp(isControlled ? value : localValue, min, max);\n\n const handleChange: UniversalSliderProps<UniversalValue>['onChange'] = React.useCallback(\n (nextValue: UniversalValue, event: TouchEvent) => {\n if (props.disabled || _value === nextValue[1]) {\n return;\n }\n !isControlled && setValue(nextValue[1]);\n onChange && onChange(nextValue[1], event);\n },\n [props.disabled, _value, isControlled, onChange],\n );\n\n const rangeValue: [null, number] = React.useMemo(() => [null, _value], [_value]);\n return (\n <UniversalSlider {...props} value={rangeValue} onChange={handleChange} min={min} max={max} />\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AAIwC;AAKxC;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAM,OAOA;EAAA,IANjBC,QAAQ,QAARA,QAAQ;IAAA,gBACRC,GAAG;IAAHA,GAAG,yBAAG,CAAC;IAAA,gBACPC,GAAG;IAAHA,GAAG,yBAAG,GAAG;IAAA,yBACTC,YAAY;IAAZA,YAAY,kCAAGF,GAAG;IAClBG,KAAK,QAALA,KAAK;IACFC,KAAK;EAER,IAAMC,YAAY,GAAGF,KAAK,KAAKG,SAAS;EAExC,sBAA+BC,KAAK,CAACC,QAAQ,CAACN,YAAY,CAAC;IAAA;IAApDO,UAAU;IAAEC,QAAQ;EAC3B,IAAMC,MAAM,GAAG,IAAAC,WAAK,EAACP,YAAY,GAAGF,KAAK,GAAGM,UAAU,EAAET,GAAG,EAAEC,GAAG,CAAC;EAEjE,IAAMY,YAA8D,GAAGN,KAAK,CAACO,WAAW,CACtF,UAACC,SAAyB,EAAEC,KAAiB,EAAK;IAChD,IAAIZ,KAAK,CAACa,QAAQ,IAAIN,MAAM,KAAKI,SAAS,CAAC,CAAC,CAAC,EAAE;MAC7C;IACF;IACA,CAACV,YAAY,IAAIK,QAAQ,CAACK,SAAS,CAAC,CAAC,CAAC,CAAC;IACvChB,QAAQ,IAAIA,QAAQ,CAACgB,SAAS,CAAC,CAAC,CAAC,EAAEC,KAAK,CAAC;EAC3C,CAAC,EACD,CAACZ,KAAK,CAACa,QAAQ,EAAEN,MAAM,EAAEN,YAAY,EAAEN,QAAQ,CAAC,CACjD;EAED,IAAMmB,UAA0B,GAAGX,KAAK,CAACY,OAAO,CAAC;IAAA,OAAM,CAAC,IAAI,EAAER,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;EAChF,oBACE,oBAAC,gCAAe,6BAAKP,KAAK;IAAE,KAAK,EAAEc,UAAW;IAAC,QAAQ,EAAEL,YAAa;IAAC,GAAG,EAAEb,GAAI;IAAC,GAAG,EAAEC;EAAI,GAAG;AAEjG,CAAC;AAAC"}
|
|
@@ -22,7 +22,8 @@ var Spacing = function Spacing(_ref) {
|
|
|
22
22
|
className = _ref.className,
|
|
23
23
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
24
24
|
var style = (0, _objectSpread2.default)({
|
|
25
|
-
height: size
|
|
25
|
+
height: size,
|
|
26
|
+
padding: "".concat(size / 2, "px 0")
|
|
26
27
|
}, styleProp);
|
|
27
28
|
return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, restProps, {
|
|
28
29
|
"aria-hidden": true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacing.js","names":["Spacing","size","styleProp","style","className","restProps","height","classNames"],"sources":["../../../../src/components/Spacing/Spacing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './Spacing.module.css';\n\nexport interface SpacingProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Высота спэйсинга\n */\n size?: number;\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Spacing\n */\nexport const Spacing = ({ size = 8, style: styleProp, className, ...restProps }: SpacingProps) => {\n const style = {\n height: size,\n ...styleProp,\n };\n\n return (\n <div\n {...restProps}\n aria-hidden\n className={classNames(className, styles['Spacing'])}\n style={style}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAA6C;AAW7C;AACA;AACA;AACO,IAAMA,OAAO,GAAG,SAAVA,OAAO,OAA8E;EAAA,qBAAxEC,IAAI;IAAJA,IAAI,0BAAG,CAAC;IAASC,SAAS,QAAhBC,KAAK;IAAaC,SAAS,QAATA,SAAS;IAAKC,SAAS;EAC3E,IAAMF,
|
|
1
|
+
{"version":3,"file":"Spacing.js","names":["Spacing","size","styleProp","style","className","restProps","height","padding","classNames"],"sources":["../../../../src/components/Spacing/Spacing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './Spacing.module.css';\n\nexport interface SpacingProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Высота спэйсинга\n */\n size?: number;\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Spacing\n */\nexport const Spacing = ({ size = 8, style: styleProp, className, ...restProps }: SpacingProps) => {\n const style: React.CSSProperties = {\n height: size,\n padding: `${size / 2}px 0`,\n ...styleProp,\n };\n\n return (\n <div\n {...restProps}\n aria-hidden\n className={classNames(className, styles['Spacing'])}\n style={style}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAA6C;AAW7C;AACA;AACA;AACO,IAAMA,OAAO,GAAG,SAAVA,OAAO,OAA8E;EAAA,qBAAxEC,IAAI;IAAJA,IAAI,0BAAG,CAAC;IAASC,SAAS,QAAhBC,KAAK;IAAaC,SAAS,QAATA,SAAS;IAAKC,SAAS;EAC3E,IAAMF,KAA0B;IAC9BG,MAAM,EAAEL,IAAI;IACZM,OAAO,YAAKN,IAAI,GAAG,CAAC;EAAM,GACvBC,SAAS,CACb;EAED,oBACE,sDACMG,SAAS;IACb,mBAAW;IACX,SAAS,EAAE,IAAAG,gBAAU,EAACJ,SAAS,gBAAqB;IACpD,KAAK,EAAED;EAAM,GACb;AAEN,CAAC;AAAC"}
|
|
@@ -37,15 +37,14 @@ var Switch = function Switch(_ref) {
|
|
|
37
37
|
return /*#__PURE__*/React.createElement("label", {
|
|
38
38
|
className: (0, _vkjs.classNames)("vkuiSwitch", (0, _getPlatformClassName.getPlatformClassName)("vkuiSwitch", platform), (0, _getSizeYClassName.getSizeYClassName)("vkuiSwitch", sizeY), restProps.disabled && "vkuiSwitch--disabled", focusVisible && "vkuiSwitch--focus-visible", className),
|
|
39
39
|
style: style,
|
|
40
|
-
ref: getRootRef
|
|
41
|
-
role: "presentation"
|
|
40
|
+
ref: getRootRef
|
|
42
41
|
}, /*#__PURE__*/React.createElement(_VisuallyHiddenInput.VisuallyHiddenInput, (0, _extends2.default)({}, restProps, {
|
|
43
42
|
type: "checkbox",
|
|
44
43
|
className: "vkuiSwitch__self",
|
|
45
44
|
onBlur: (0, _callMultiple.callMultiple)(onBlur, restProps.onBlur),
|
|
46
45
|
onFocus: (0, _callMultiple.callMultiple)(onFocus, restProps.onFocus)
|
|
47
46
|
})), /*#__PURE__*/React.createElement("span", {
|
|
48
|
-
|
|
47
|
+
"aria-hidden": true,
|
|
49
48
|
className: "vkuiSwitch__pseudo"
|
|
50
49
|
}), /*#__PURE__*/React.createElement(_FocusVisible.FocusVisible, {
|
|
51
50
|
mode: "outside"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["Switch","style","className","getRootRef","restProps","platform","usePlatform","useAdaptivity","sizeY","useFocusVisible","focusVisible","onBlur","onFocus","classNames","getPlatformClassName","getSizeYClassName","disabled","callMultiple"],"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { classNames } from '@vkontakte/vkjs';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasRootRef } from '../../types';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport {\n VisuallyHiddenInput,\n VisuallyHiddenInputProps,\n} from '../VisuallyHiddenInput/VisuallyHiddenInput';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { FocusVisible } from '../FocusVisible/FocusVisible';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport styles from './Switch.module.css';\n\nexport interface SwitchProps extends VisuallyHiddenInputProps, HasRootRef<HTMLLabelElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Switch\n */\nexport const Switch = ({ style, className, getRootRef, ...restProps }: SwitchProps) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n return (\n <label\n className={classNames(\n styles['Switch'],\n getPlatformClassName(styles['Switch'], platform),\n getSizeYClassName(styles['Switch'], sizeY),\n restProps.disabled && styles['Switch--disabled'],\n focusVisible && styles['Switch--focus-visible'],\n className,\n )}\n style={style}\n ref={getRootRef}\n
|
|
1
|
+
{"version":3,"file":"Switch.js","names":["Switch","style","className","getRootRef","restProps","platform","usePlatform","useAdaptivity","sizeY","useFocusVisible","focusVisible","onBlur","onFocus","classNames","getPlatformClassName","getSizeYClassName","disabled","callMultiple"],"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { classNames } from '@vkontakte/vkjs';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasRootRef } from '../../types';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport {\n VisuallyHiddenInput,\n VisuallyHiddenInputProps,\n} from '../VisuallyHiddenInput/VisuallyHiddenInput';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { FocusVisible } from '../FocusVisible/FocusVisible';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\nimport styles from './Switch.module.css';\n\nexport interface SwitchProps extends VisuallyHiddenInputProps, HasRootRef<HTMLLabelElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Switch\n */\nexport const Switch = ({ style, className, getRootRef, ...restProps }: SwitchProps) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n return (\n <label\n className={classNames(\n styles['Switch'],\n getPlatformClassName(styles['Switch'], platform),\n getSizeYClassName(styles['Switch'], sizeY),\n restProps.disabled && styles['Switch--disabled'],\n focusVisible && styles['Switch--focus-visible'],\n className,\n )}\n style={style}\n ref={getRootRef}\n >\n <VisuallyHiddenInput\n {...restProps}\n type=\"checkbox\"\n className={styles['Switch__self']}\n onBlur={callMultiple(onBlur, restProps.onBlur)}\n onFocus={callMultiple(onFocus, restProps.onFocus)}\n />\n <span aria-hidden className={styles['Switch__pseudo']} />\n <FocusVisible mode=\"outside\" />\n </label>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AACA;AACA;AAAoE;AAKpE;AACA;AACA;AACO,IAAMA,MAAM,GAAG,SAATA,MAAM,OAAoE;EAAA,IAA9DC,KAAK,QAALA,KAAK;IAAEC,SAAS,QAATA,SAAS;IAAEC,UAAU,QAAVA,UAAU;IAAKC,SAAS;EACjE,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAAkB,IAAAC,6BAAa,GAAE;IAAzBC,KAAK,kBAALA,KAAK;EACb,uBAA0C,IAAAC,iCAAe,GAAE;IAAnDC,YAAY,oBAAZA,YAAY;IAAEC,MAAM,oBAANA,MAAM;IAAEC,OAAO,oBAAPA,OAAO;EAErC,oBACE;IACE,SAAS,EAAE,IAAAC,gBAAU,gBAEnB,IAAAC,0CAAoB,gBAAmBT,QAAQ,CAAC,EAChD,IAAAU,oCAAiB,gBAAmBP,KAAK,CAAC,EAC1CJ,SAAS,CAACY,QAAQ,0BAA8B,EAChDN,YAAY,+BAAmC,EAC/CR,SAAS,CACT;IACF,KAAK,EAAED,KAAM;IACb,GAAG,EAAEE;EAAW,gBAEhB,oBAAC,wCAAmB,6BACdC,SAAS;IACb,IAAI,EAAC,UAAU;IACf,SAAS,oBAAyB;IAClC,MAAM,EAAE,IAAAa,0BAAY,EAACN,MAAM,EAAEP,SAAS,CAACO,MAAM,CAAE;IAC/C,OAAO,EAAE,IAAAM,0BAAY,EAACL,OAAO,EAAER,SAAS,CAACQ,OAAO;EAAE,GAClD,eACF;IAAM,mBAAW;IAAC,SAAS;EAA2B,EAAG,eACzD,oBAAC,0BAAY;IAAC,IAAI,EAAC;EAAS,EAAG,CACzB;AAEZ,CAAC;AAAC"}
|
|
@@ -15,9 +15,12 @@ var _platform = require("../../lib/platform");
|
|
|
15
15
|
var _useGlobalEventListener = require("../../hooks/useGlobalEventListener");
|
|
16
16
|
var _dom = require("../../lib/dom");
|
|
17
17
|
var _accessibility = require("../../lib/accessibility");
|
|
18
|
-
var _useAdaptivity2 = require("../../hooks/useAdaptivity");
|
|
19
|
-
var _getSizeXClassName = require("../../helpers/getSizeXClassName");
|
|
20
18
|
var _excluded = ["children", "mode", "getRootRef", "className", "role"];
|
|
19
|
+
var modeClassNames = {
|
|
20
|
+
default: "vkuiTabs--mode-default",
|
|
21
|
+
accent: "vkuiTabs--mode-accent",
|
|
22
|
+
secondary: "vkuiTabs--mode-secondary"
|
|
23
|
+
};
|
|
21
24
|
var TabsModeContext = /*#__PURE__*/React.createContext({
|
|
22
25
|
mode: 'default',
|
|
23
26
|
withGaps: false
|
|
@@ -37,8 +40,6 @@ var Tabs = function Tabs(_ref) {
|
|
|
37
40
|
role = _ref$role === void 0 ? 'tablist' : _ref$role,
|
|
38
41
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
39
42
|
var platform = (0, _usePlatform.usePlatform)();
|
|
40
|
-
var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
|
|
41
|
-
sizeX = _useAdaptivity.sizeX;
|
|
42
43
|
var _useDOM = (0, _dom.useDOM)(),
|
|
43
44
|
document = _useDOM.document;
|
|
44
45
|
var isTabFlow = role === 'tablist';
|
|
@@ -132,7 +133,7 @@ var Tabs = function Tabs(_ref) {
|
|
|
132
133
|
});
|
|
133
134
|
return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, restProps, {
|
|
134
135
|
ref: getRootRef,
|
|
135
|
-
className: (0, _vkjs.classNames)("vkuiTabs", platform === _platform.Platform.VKCOM &&
|
|
136
|
+
className: (0, _vkjs.classNames)("vkuiTabs", platform === _platform.Platform.VKCOM && "vkuiTabs--vkcom", withGaps && "vkuiTabs--withGaps", modeClassNames[mode], className),
|
|
136
137
|
role: role
|
|
137
138
|
}), /*#__PURE__*/React.createElement("div", {
|
|
138
139
|
className: "vkuiTabs__in",
|
|
@@ -145,14 +146,4 @@ var Tabs = function Tabs(_ref) {
|
|
|
145
146
|
}, children)));
|
|
146
147
|
};
|
|
147
148
|
exports.Tabs = Tabs;
|
|
148
|
-
var styles = {
|
|
149
|
-
"Tabs--withGaps": "vkuiTabs--withGaps",
|
|
150
|
-
"Tabs--mode-default": "vkuiTabs--mode-default",
|
|
151
|
-
"Tabs--buttons": "vkuiTabs--buttons",
|
|
152
|
-
"Tabs--sizeX-compact": "vkuiTabs--sizeX-compact",
|
|
153
|
-
"Tabs--sizeX-none": "vkuiTabs--sizeX-none",
|
|
154
|
-
"Tabs--mode-accent": "vkuiTabs--mode-accent",
|
|
155
|
-
"Tabs--mode-secondary": "vkuiTabs--mode-secondary",
|
|
156
|
-
"Tabs--vkcom": "vkuiTabs--vkcom"
|
|
157
|
-
};
|
|
158
149
|
//# sourceMappingURL=Tabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","names":["TabsModeContext","React","createContext","mode","withGaps","Tabs","children","getRootRef","className","role","restProps","platform","usePlatform","
|
|
1
|
+
{"version":3,"file":"Tabs.js","names":["modeClassNames","default","accent","secondary","TabsModeContext","React","createContext","mode","withGaps","Tabs","children","getRootRef","className","role","restProps","platform","usePlatform","useDOM","document","isTabFlow","tabsRef","useRef","getTabEls","current","Array","from","querySelectorAll","handleDocumentKeydown","event","key","pressedKey","tabEls","currentFocusedElIndex","findIndex","el","activeElement","nextIndex","length","offset","nextTabEl","preventDefault","focus","currentFocusedEl","find","getAttribute","relatedContentElId","relatedContentEl","getElementById","click","useGlobalEventListener","capture","classNames","Platform","VKCOM"],"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { pressedKey } from '../../lib/accessibility';\nimport styles from './Tabs.module.css';\n\nconst modeClassNames = {\n default: styles['Tabs--mode-default'],\n accent: styles['Tabs--mode-accent'],\n secondary: styles['Tabs--mode-secondary'],\n};\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n mode?: 'default' | 'accent' | 'secondary';\n}\n\nexport interface TabsContextProps {\n mode: TabsProps['mode'];\n withGaps: boolean;\n}\n\nexport const TabsModeContext = React.createContext<TabsContextProps>({\n mode: 'default',\n withGaps: false,\n});\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nexport const Tabs = ({\n children,\n mode = 'default',\n getRootRef,\n className,\n role = 'tablist',\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n const { document } = useDOM();\n\n const isTabFlow = role === 'tablist';\n\n const tabsRef = React.useRef<HTMLDivElement>(null);\n\n const withGaps = mode === 'accent' || mode === 'secondary';\n\n const getTabEls = () => {\n if (!tabsRef.current) {\n return [];\n }\n\n return Array.from(\n // eslint-disable-next-line no-restricted-properties\n tabsRef.current.querySelectorAll<HTMLDivElement>('[role=tab]:not([disabled])'),\n );\n };\n\n const handleDocumentKeydown = (event: KeyboardEvent) => {\n if (!document || !tabsRef.current || !isTabFlow) {\n return;\n }\n\n const key = pressedKey(event);\n\n switch (key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'End':\n case 'Home': {\n const tabEls = getTabEls();\n const currentFocusedElIndex = tabEls.findIndex((el) => document.activeElement === el);\n if (currentFocusedElIndex === -1) {\n return;\n }\n\n let nextIndex = 0;\n if (key === 'Home') {\n nextIndex = 0;\n } else if (key === 'End') {\n nextIndex = tabEls.length - 1;\n } else {\n const offset = key === 'ArrowRight' ? 1 : -1;\n nextIndex = currentFocusedElIndex + offset;\n }\n\n const nextTabEl = tabEls[nextIndex];\n\n if (nextTabEl) {\n event.preventDefault();\n nextTabEl.focus();\n }\n\n break;\n }\n /*\n В JAWS и NVDA стрелка вниз активирует контент.\n Это не прописано в стандартах, но по ссылке ниже это рекомендуется делать.\n https://inclusive-components.design/tabbed-interfaces/\n */\n case 'ArrowDown': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n\n if (!currentFocusedEl || currentFocusedEl.getAttribute('aria-selected') !== 'true') {\n return;\n }\n\n const relatedContentElId = currentFocusedEl.getAttribute('aria-controls');\n if (!relatedContentElId) {\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const relatedContentEl = document.getElementById(relatedContentElId);\n if (!relatedContentEl) {\n return;\n }\n\n event.preventDefault();\n relatedContentEl.focus();\n\n break;\n }\n case 'Space':\n case 'Enter': {\n const tabEls = getTabEls();\n const currentFocusedEl = tabEls.find((el) => document.activeElement === el);\n if (currentFocusedEl) {\n currentFocusedEl.click();\n }\n }\n }\n };\n\n useGlobalEventListener(document, 'keydown', handleDocumentKeydown, {\n capture: true,\n });\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Tabs'],\n platform === Platform.VKCOM && styles['Tabs--vkcom'],\n withGaps && styles['Tabs--withGaps'],\n modeClassNames[mode],\n className,\n )}\n role={role}\n >\n <div className={styles['Tabs__in']} ref={tabsRef}>\n <TabsModeContext.Provider value={{ mode, withGaps }}>{children}</TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -199,6 +199,7 @@ var Tooltip = function Tooltip(_ref3) {
|
|
|
199
199
|
var _useDOM = (0, _dom.useDOM)(),
|
|
200
200
|
document = _useDOM.document;
|
|
201
201
|
(0, _useGlobalEventListener.useGlobalEventListener)(document, 'click', isShown && onClose, {
|
|
202
|
+
capture: true,
|
|
202
203
|
passive: true
|
|
203
204
|
});
|
|
204
205
|
// NOTE: setting isShown to true used to trigger usePopper().forceUpdate()
|