@vkontakte/vkui 5.1.0 → 5.2.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/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/Cell/CellCheckbox/CellCheckbox.js +7 -4
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.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/ChipsSelect/ChipsSelect.js +0 -4
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js +2 -1
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +11 -7
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -3
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +21 -72
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.d.ts +3 -2
- package/dist/cjs/components/DateInput/DateInput.js +3 -3
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +2 -2
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js +3 -2
- package/dist/cjs/components/DateRangeInput/DateRangeInput.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/FixedLayout/FixedLayout.js +2 -2
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.js +6 -10
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.js +9 -0
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.js +4 -2
- package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +5 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +9 -2
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.d.ts +2 -6
- package/dist/cjs/components/ModalPage/ModalPage.js +13 -7
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +1 -2
- package/dist/cjs/components/ModalRoot/ModalRoot.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/Popper/Popper.d.ts +12 -9
- package/dist/cjs/components/Popper/Popper.js +92 -119
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/PopperArrow/PopperArrow.d.ts +15 -5
- package/dist/cjs/components/PopperArrow/PopperArrow.js +44 -17
- package/dist/cjs/components/PopperArrow/PopperArrow.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/Root/Root.js +2 -2
- package/dist/cjs/components/Root/Root.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/SplitCol/SplitCol.d.ts +0 -6
- package/dist/cjs/components/SplitCol/SplitCol.js +3 -11
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitColContext.d.ts +7 -0
- package/dist/cjs/components/SplitCol/SplitColContext.js +18 -0
- package/dist/cjs/components/SplitCol/SplitColContext.js.map +1 -0
- package/dist/cjs/components/Switch/Switch.js +2 -3
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +9 -0
- package/dist/cjs/components/TabbarItem/TabbarItem.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.d.ts +3 -3
- package/dist/cjs/components/Tooltip/Tooltip.js +116 -151
- 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/components/View/View.js +2 -2
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.d.ts +1 -1
- package/dist/cjs/components/View/ViewInfinite.js +2 -2
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +10 -8
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/index.d.ts +37 -30
- package/dist/cjs/index.js +13 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/floating/adapters.d.ts +2 -0
- package/dist/cjs/lib/floating/adapters.js +63 -0
- package/dist/cjs/lib/floating/adapters.js.map +1 -0
- package/dist/cjs/lib/floating/functions.d.ts +10 -0
- package/dist/cjs/lib/floating/functions.js +36 -0
- package/dist/cjs/lib/floating/functions.js.map +1 -0
- package/dist/cjs/lib/floating/index.d.ts +4 -0
- package/dist/cjs/lib/floating/index.js +75 -0
- package/dist/cjs/lib/floating/index.js.map +1 -0
- package/dist/cjs/lib/floating/types.d.ts +4 -0
- package/dist/cjs/lib/floating/types.js +6 -0
- package/dist/cjs/lib/floating/types.js.map +1 -0
- package/dist/cjs/lib/useIsomorphicLayoutEffect.d.ts +1 -1
- package/dist/cjs/lib/warnOnce.d.ts +7 -0
- package/dist/cjs/lib/warnOnce.js +14 -0
- package/dist/cjs/lib/warnOnce.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/Cell/CellCheckbox/CellCheckbox.js +7 -4
- package/dist/components/Cell/CellCheckbox/CellCheckbox.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/ChipsSelect/ChipsSelect.js +0 -4
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.js +2 -1
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +12 -8
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -3
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +22 -73
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +3 -2
- package/dist/components/DateInput/DateInput.js +3 -3
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +2 -2
- package/dist/components/DateRangeInput/DateRangeInput.js +3 -2
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/Epic/Epic.js +1 -1
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js +1 -1
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/FormField/FormField.js +6 -10
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/IconButton/IconButton.js +9 -0
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/components/ModalCard/ModalCard.js +4 -2
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +5 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +9 -2
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +2 -6
- package/dist/components/ModalPage/ModalPage.js +13 -7
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +1 -2
- 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/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/Popper/Popper.d.ts +12 -9
- package/dist/components/Popper/Popper.js +93 -120
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PopperArrow/PopperArrow.d.ts +15 -5
- package/dist/components/PopperArrow/PopperArrow.js +40 -15
- package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/components/Progress/Progress.js +3 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/Root/Root.js +1 -1
- package/dist/components/Root/Root.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/SplitCol/SplitCol.d.ts +0 -6
- package/dist/components/SplitCol/SplitCol.js +1 -7
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitCol/SplitColContext.d.ts +7 -0
- package/dist/components/SplitCol/SplitColContext.js +9 -0
- package/dist/components/SplitCol/SplitColContext.js.map +1 -0
- package/dist/components/Switch/Switch.js +2 -3
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +9 -0
- package/dist/components/TabbarItem/TabbarItem.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.d.ts +3 -3
- package/dist/components/Tooltip/Tooltip.js +116 -151
- 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/View/View.js +1 -1
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts +1 -1
- package/dist/components/View/ViewInfinite.js +1 -1
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +11 -9
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +142 -2
- package/dist/components.css.map +1 -1
- package/dist/components.js.tmp +61921 -4
- 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.js +7 -4
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +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.js +0 -4
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +2 -1
- package/dist/cssm/components/ContentCard/ContentCard.js.map +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 +12 -8
- 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.d.ts +2 -3
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +22 -73
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +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.d.ts +3 -2
- package/dist/cssm/components/DateInput/DateInput.js +4 -3
- 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.d.ts +2 -2
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +3 -2
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +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.js +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.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.js +6 -10
- package/dist/cssm/components/FormField/FormField.js.map +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.js +9 -0
- package/dist/cssm/components/IconButton/IconButton.js.map +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.d.ts +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +4 -2
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.module.css +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +5 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +9 -2
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +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.d.ts +2 -6
- package/dist/cssm/components/ModalPage/ModalPage.js +13 -7
- package/dist/cssm/components/ModalPage/ModalPage.js.map +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.js +1 -2
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +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.d.ts +12 -9
- package/dist/cssm/components/Popper/Popper.js +93 -120
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.module.css +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +15 -5
- package/dist/cssm/components/PopperArrow/PopperArrow.js +40 -15
- package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.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.js +1 -1
- package/dist/cssm/components/Root/Root.js.map +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.d.ts +0 -6
- package/dist/cssm/components/SplitCol/SplitCol.js +1 -7
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.module.css +1 -1
- package/dist/cssm/components/SplitCol/SplitColContext.d.ts +7 -0
- package/dist/cssm/components/SplitCol/SplitColContext.js +9 -0
- package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -0
- 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.js +9 -0
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +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.d.ts +3 -3
- package/dist/cssm/components/Tooltip/Tooltip.js +122 -151
- 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.js +1 -1
- package/dist/cssm/components/View/View.js.map +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/View/ViewInfinite.d.ts +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +1 -1
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.module.css +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +11 -9
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +1 -1
- package/dist/cssm/index.d.ts +37 -30
- package/dist/cssm/index.js +24 -18
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/floating/adapters.d.ts +2 -0
- package/dist/cssm/lib/floating/adapters.js +56 -0
- package/dist/cssm/lib/floating/adapters.js.map +1 -0
- package/dist/cssm/lib/floating/functions.d.ts +10 -0
- package/dist/cssm/lib/floating/functions.js +28 -0
- package/dist/cssm/lib/floating/functions.js.map +1 -0
- package/dist/cssm/lib/floating/index.d.ts +4 -0
- package/dist/cssm/lib/floating/index.js +4 -0
- package/dist/cssm/lib/floating/index.js.map +1 -0
- package/dist/cssm/lib/floating/types.d.ts +4 -0
- package/dist/cssm/lib/floating/types.js +2 -0
- package/dist/cssm/lib/floating/types.js.map +1 -0
- package/dist/cssm/lib/useIsomorphicLayoutEffect.d.ts +1 -1
- package/dist/cssm/lib/warnOnce.d.ts +7 -0
- package/dist/cssm/lib/warnOnce.js +12 -0
- package/dist/cssm/lib/warnOnce.js.map +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/themes.css +1 -1
- package/dist/index.d.ts +37 -30
- package/dist/index.js +22 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/floating/adapters.d.ts +2 -0
- package/dist/lib/floating/adapters.js +56 -0
- package/dist/lib/floating/adapters.js.map +1 -0
- package/dist/lib/floating/functions.d.ts +10 -0
- package/dist/lib/floating/functions.js +28 -0
- package/dist/lib/floating/functions.js.map +1 -0
- package/dist/lib/floating/index.d.ts +4 -0
- package/dist/lib/floating/index.js +4 -0
- package/dist/lib/floating/index.js.map +1 -0
- package/dist/lib/floating/types.d.ts +4 -0
- package/dist/lib/floating/types.js +2 -0
- package/dist/lib/floating/types.js.map +1 -0
- package/dist/lib/useIsomorphicLayoutEffect.d.ts +1 -1
- package/dist/lib/warnOnce.d.ts +7 -0
- package/dist/lib/warnOnce.js +12 -0
- package/dist/lib/warnOnce.js.map +1 -1
- 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/stable.js.tmp +69 -21
- package/dist/vkui.css +143 -3
- package/dist/vkui.css.map +1 -1
- package/dist/vkui.js.tmp +61837 -0
- package/package.json +6 -6
- package/dist/cssm/styles/components.css +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitCol.js","names":["React","classNames","getSizeXClassName","getViewWidthClassName","useAdaptivity","ViewWidth","useObjectMemo","useMediaQueries","matchMediaListAddListener","matchMediaListRemoveListener","useTransitionAnimate","animateProp","viewWidth","useState","Boolean","animate","setAnimate","mediaQueries","useEffect","undefined","TABLET","listener","smallTabletPlus","matches","
|
|
1
|
+
{"version":3,"file":"SplitCol.js","names":["React","classNames","getSizeXClassName","getViewWidthClassName","useAdaptivity","ViewWidth","useObjectMemo","useMediaQueries","matchMediaListAddListener","matchMediaListRemoveListener","SplitColContext","useTransitionAnimate","animateProp","viewWidth","useState","Boolean","animate","setAnimate","mediaQueries","useEffect","undefined","TABLET","listener","smallTabletPlus","matches","SplitCol","props","children","width","maxWidth","minWidth","spaced","fixed","style","autoSpaced","stretchedOnMobile","className","restProps","baseRef","useRef","sizeX","contextValue","colRef"],"sources":["../../../src/components/SplitCol/SplitCol.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getSizeXClassName } from '../../helpers/getSizeXClassName';\nimport { getViewWidthClassName } from '../../helpers/getViewWidthClassName';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { ViewWidth } from '../../lib/adaptivity';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../../lib/matchMedia';\nimport { SplitColContext } from './SplitColContext';\nimport styles from './SplitCol.module.css';\n\nfunction useTransitionAnimate(animateProp?: boolean) {\n const { viewWidth } = useAdaptivity();\n const [animate, setAnimate] = React.useState(Boolean(animateProp));\n const mediaQueries = useMediaQueries();\n\n React.useEffect(() => {\n if (animateProp !== undefined) {\n setAnimate(animateProp);\n return;\n }\n\n if (viewWidth !== undefined) {\n setAnimate(viewWidth < ViewWidth.TABLET);\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const listener = () => setAnimate(!mediaQueries.smallTabletPlus.matches);\n listener();\n\n matchMediaListAddListener(mediaQueries.smallTabletPlus, listener);\n return () => {\n matchMediaListRemoveListener(mediaQueries.smallTabletPlus, listener);\n };\n }, [animateProp, viewWidth, mediaQueries]);\n\n return animate;\n}\n\nexport interface SplitColProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: number | string;\n maxWidth?: number | string;\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины\n */\n spaced?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`\n */\n autoSpaced?: boolean;\n fixed?: boolean;\n /**\n * Если true, то ширина контейнера становится 100% при ширине меньше чем `tablet`\n */\n stretchedOnMobile?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitCol\n */\nexport const SplitCol = (props: SplitColProps) => {\n const {\n children,\n width,\n maxWidth,\n minWidth,\n spaced,\n animate: animateProp,\n fixed,\n style,\n autoSpaced,\n stretchedOnMobile,\n className,\n ...restProps\n } = props;\n const baseRef = React.useRef<HTMLDivElement>(null);\n const { viewWidth, sizeX } = useAdaptivity();\n const animate = useTransitionAnimate(animateProp);\n\n const contextValue = useObjectMemo({\n colRef: baseRef,\n animate,\n });\n\n return (\n <div\n {...restProps}\n style={{\n ...style,\n width: width,\n maxWidth: maxWidth,\n minWidth: minWidth,\n }}\n ref={baseRef}\n className={classNames(\n styles['SplitCol'],\n getSizeXClassName(styles['SplitCol'], sizeX),\n getViewWidthClassName(styles['SplitCol'], viewWidth),\n spaced && styles['SplitCol--spaced'],\n spaced === undefined && styles['SplitCol--spaced-none'],\n autoSpaced && styles['SplitCol--spaced-auto'],\n fixed && styles['SplitCol--fixed'],\n stretchedOnMobile && styles['SplitCol--stretched-on-mobile'],\n className,\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? <div className={styles['SplitCol__fixedInner']}>{children}</div> : children}\n </SplitColContext.Provider>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface SplitColContextProps {
|
|
3
|
+
colRef: React.RefObject<HTMLDivElement> | null;
|
|
4
|
+
animate: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const SplitColContext: React.Context<SplitColContextProps>;
|
|
7
|
+
export declare const useSplitCol: () => SplitColContextProps;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export var SplitColContext = /*#__PURE__*/React.createContext({
|
|
3
|
+
colRef: null,
|
|
4
|
+
animate: true
|
|
5
|
+
});
|
|
6
|
+
export var useSplitCol = function useSplitCol() {
|
|
7
|
+
return React.useContext(SplitColContext);
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=SplitColContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitColContext.js","names":["React","SplitColContext","createContext","colRef","animate","useSplitCol","useContext"],"sources":["../../../src/components/SplitCol/SplitColContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport interface SplitColContextProps {\n colRef: React.RefObject<HTMLDivElement> | null;\n animate: boolean;\n}\n\nexport const SplitColContext = React.createContext<SplitColContextProps>({\n colRef: null,\n animate: true,\n});\n\nexport const useSplitCol = () => React.useContext(SplitColContext);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAO9B,OAAO,IAAMC,eAAe,gBAAGD,KAAK,CAACE,aAAa,CAAuB;EACvEC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAW;EAAA,OAASL,KAAK,CAACM,UAAU,CAACL,eAAe,CAAC;AAAA"}
|
|
@@ -29,15 +29,14 @@ export var Switch = function Switch(_ref) {
|
|
|
29
29
|
return /*#__PURE__*/React.createElement("label", {
|
|
30
30
|
className: classNames("vkuiSwitch", getPlatformClassName("vkuiSwitch", platform), getSizeYClassName("vkuiSwitch", sizeY), restProps.disabled && "vkuiSwitch--disabled", focusVisible && "vkuiSwitch--focus-visible", className),
|
|
31
31
|
style: style,
|
|
32
|
-
ref: getRootRef
|
|
33
|
-
role: "presentation"
|
|
32
|
+
ref: getRootRef
|
|
34
33
|
}, /*#__PURE__*/React.createElement(VisuallyHiddenInput, _extends({}, restProps, {
|
|
35
34
|
type: "checkbox",
|
|
36
35
|
className: "vkuiSwitch__self",
|
|
37
36
|
onBlur: callMultiple(onBlur, restProps.onBlur),
|
|
38
37
|
onFocus: callMultiple(onFocus, restProps.onFocus)
|
|
39
38
|
})), /*#__PURE__*/React.createElement("span", {
|
|
40
|
-
|
|
39
|
+
"aria-hidden": true,
|
|
41
40
|
className: "vkuiSwitch__pseudo"
|
|
42
41
|
}), /*#__PURE__*/React.createElement(FocusVisible, {
|
|
43
42
|
mode: "outside"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["React","getPlatformClassName","classNames","callMultiple","usePlatform","useAdaptivity","VisuallyHiddenInput","useFocusVisible","FocusVisible","getSizeYClassName","Switch","style","className","getRootRef","restProps","platform","sizeY","focusVisible","onBlur","onFocus","disabled"],"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":["React","getPlatformClassName","classNames","callMultiple","usePlatform","useAdaptivity","VisuallyHiddenInput","useFocusVisible","FocusVisible","getSizeYClassName","Switch","style","className","getRootRef","restProps","platform","sizeY","focusVisible","onBlur","onFocus","disabled"],"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,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,oBAAoB,QAAQ,oCAAoC;AACzE,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,WAAW,QAAQ,yBAAyB;AAErD,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SACEC,mBAAmB,QAEd,4CAA4C;AACnD,SAASC,eAAe,QAAQ,6BAA6B;AAC7D,SAASC,YAAY,QAAQ,8BAA8B;AAC3D,SAASC,iBAAiB,QAAQ,iCAAiC;AAKnE;AACA;AACA;AACA,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAM,OAAoE;EAAA,IAA9DC,KAAK,QAALA,KAAK;IAAEC,SAAS,QAATA,SAAS;IAAEC,UAAU,QAAVA,UAAU;IAAKC,SAAS;EACjE,IAAMC,QAAQ,GAAGX,WAAW,EAAE;EAC9B,qBAAkBC,aAAa,EAAE;IAAzBW,KAAK,kBAALA,KAAK;EACb,uBAA0CT,eAAe,EAAE;IAAnDU,YAAY,oBAAZA,YAAY;IAAEC,MAAM,oBAANA,MAAM;IAAEC,OAAO,oBAAPA,OAAO;EAErC,oBACE;IACE,SAAS,EAAEjB,UAAU,eAEnBD,oBAAoB,eAAmBc,QAAQ,CAAC,EAChDN,iBAAiB,eAAmBO,KAAK,CAAC,EAC1CF,SAAS,CAACM,QAAQ,0BAA8B,EAChDH,YAAY,+BAAmC,EAC/CL,SAAS,CACT;IACF,KAAK,EAAED,KAAM;IACb,GAAG,EAAEE;EAAW,gBAEhB,oBAAC,mBAAmB,eACdC,SAAS;IACb,IAAI,EAAC,UAAU;IACf,SAAS,oBAAyB;IAClC,MAAM,EAAEX,YAAY,CAACe,MAAM,EAAEJ,SAAS,CAACI,MAAM,CAAE;IAC/C,OAAO,EAAEf,YAAY,CAACgB,OAAO,EAAEL,SAAS,CAACK,OAAO;EAAE,GAClD,eACF;IAAM,mBAAW;IAAC,SAAS;EAA2B,EAAG,eACzD,oBAAC,YAAY;IAAC,IAAI,EAAC;EAAS,EAAG,CACzB;AAEZ,CAAC"}
|
|
@@ -7,6 +7,9 @@ import { usePlatform } from '../../hooks/usePlatform';
|
|
|
7
7
|
import { Tappable } from '../Tappable/Tappable';
|
|
8
8
|
import { Footnote } from '../Typography/Footnote/Footnote';
|
|
9
9
|
import { Platform } from '../../lib/platform';
|
|
10
|
+
import { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';
|
|
11
|
+
var warn = warnOnce('TabbarItem');
|
|
12
|
+
|
|
10
13
|
/**
|
|
11
14
|
* @see https://vkcom.github.io/VKUI/#/TabbarItem
|
|
12
15
|
*/
|
|
@@ -22,6 +25,12 @@ export var TabbarItem = function TabbarItem(_ref) {
|
|
|
22
25
|
className = _ref.className,
|
|
23
26
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
24
27
|
var platform = usePlatform();
|
|
28
|
+
if (process.env.NODE_ENV === 'development') {
|
|
29
|
+
var isAccessible = !text && (!restProps['aria-label'] || !restProps['aria-labelledby']);
|
|
30
|
+
if (!isAccessible) {
|
|
31
|
+
warn(COMMON_WARNINGS.a11y[Component === 'a' ? 'link-name' : 'button-name'], 'error');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
25
34
|
return /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {
|
|
26
35
|
disabled: disabled,
|
|
27
36
|
href: href,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabbarItem.js","names":["React","classNames","hasReactNode","usePlatform","Tappable","Footnote","Platform","TabbarItem","children","selected","indicator","text","href","Component","disabled","className","restProps","platform","IOS","ANDROID"],"sources":["../../../src/components/TabbarItem/TabbarItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Platform } from '../../lib/platform';\nimport { HasComponent, HasRootRef } from '../../types';\nimport styles from './TabbarItem.module.css';\n\nexport interface TabbarItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Текст рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabbarItem\n */\nexport const TabbarItem = ({\n children,\n selected,\n indicator,\n text,\n href,\n Component = href ? 'a' : 'button',\n disabled,\n className,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n return (\n <Component\n {...restProps}\n disabled={disabled}\n href={href}\n className={classNames(\n styles['TabbarItem'],\n platform === Platform.IOS && styles['TabbarItem--ios'],\n platform === Platform.ANDROID && styles['TabbarItem--android'],\n selected && styles['TabbarItem--selected'],\n !!text && styles['TabbarItem--text'],\n className,\n )}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS ? styles['TabbarItem__tappable--active'] : 'background'\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n className={styles['TabbarItem__tappable']}\n />\n <div className={styles['TabbarItem__in']}>\n <div className={styles['TabbarItem__icon']}>\n {children}\n <div className={styles['TabbarItem__label']}>{hasReactNode(indicator) && indicator}</div>\n </div>\n {text && (\n <Footnote Component=\"div\" className={styles['TabbarItem__text']} weight=\"2\">\n {text}\n </Footnote>\n )}\n </div>\n </Component>\n );\n};\n"],"mappings":";;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAC1D,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,QAAQ,QAAQ,iCAAiC;AAC1D,SAASC,QAAQ,QAAQ,oBAAoB;
|
|
1
|
+
{"version":3,"file":"TabbarItem.js","names":["React","classNames","hasReactNode","usePlatform","Tappable","Footnote","Platform","COMMON_WARNINGS","warnOnce","warn","TabbarItem","children","selected","indicator","text","href","Component","disabled","className","restProps","platform","process","env","NODE_ENV","isAccessible","a11y","IOS","ANDROID"],"sources":["../../../src/components/TabbarItem/TabbarItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Platform } from '../../lib/platform';\nimport { HasComponent, HasRootRef } from '../../types';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport styles from './TabbarItem.module.css';\n\nexport interface TabbarItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Текст рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n}\n\nconst warn = warnOnce('TabbarItem');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabbarItem\n */\nexport const TabbarItem = ({\n children,\n selected,\n indicator,\n text,\n href,\n Component = href ? 'a' : 'button',\n disabled,\n className,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n if (process.env.NODE_ENV === 'development') {\n const isAccessible = !text && (!restProps['aria-label'] || !restProps['aria-labelledby']);\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y[Component === 'a' ? 'link-name' : 'button-name'], 'error');\n }\n }\n\n return (\n <Component\n {...restProps}\n disabled={disabled}\n href={href}\n className={classNames(\n styles['TabbarItem'],\n platform === Platform.IOS && styles['TabbarItem--ios'],\n platform === Platform.ANDROID && styles['TabbarItem--android'],\n selected && styles['TabbarItem--selected'],\n !!text && styles['TabbarItem--text'],\n className,\n )}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS ? styles['TabbarItem__tappable--active'] : 'background'\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n className={styles['TabbarItem__tappable']}\n />\n <div className={styles['TabbarItem__in']}>\n <div className={styles['TabbarItem__icon']}>\n {children}\n <div className={styles['TabbarItem__label']}>{hasReactNode(indicator) && indicator}</div>\n </div>\n {text && (\n <Footnote Component=\"div\" className={styles['TabbarItem__text']} weight=\"2\">\n {text}\n </Footnote>\n )}\n </div>\n </Component>\n );\n};\n"],"mappings":";;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAC1D,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,QAAQ,QAAQ,iCAAiC;AAC1D,SAASC,QAAQ,QAAQ,oBAAoB;AAE7C,SAASC,eAAe,EAAEC,QAAQ,QAAQ,oBAAoB;AAkB9D,IAAMC,IAAI,GAAGD,QAAQ,CAAC,YAAY,CAAC;;AAEnC;AACA;AACA;AACA,OAAO,IAAME,UAAU,GAAG,SAAbA,UAAU,OAUA;EAAA,IATrBC,QAAQ,QAARA,QAAQ;IACRC,QAAQ,QAARA,QAAQ;IACRC,SAAS,QAATA,SAAS;IACTC,IAAI,QAAJA,IAAI;IACJC,IAAI,QAAJA,IAAI;IAAA,sBACJC,SAAS;IAATA,SAAS,+BAAGD,IAAI,GAAG,GAAG,GAAG,QAAQ;IACjCE,QAAQ,QAARA,QAAQ;IACRC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAGjB,WAAW,EAAE;EAE9B,IAAIkB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;IAC1C,IAAMC,YAAY,GAAG,CAACV,IAAI,KAAK,CAACK,SAAS,CAAC,YAAY,CAAC,IAAI,CAACA,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEzF,IAAI,CAACK,YAAY,EAAE;MACjBf,IAAI,CAACF,eAAe,CAACkB,IAAI,CAACT,SAAS,KAAK,GAAG,GAAG,WAAW,GAAG,aAAa,CAAC,EAAE,OAAO,CAAC;IACtF;EACF;EAEA,oBACE,oBAAC,SAAS,eACJG,SAAS;IACb,QAAQ,EAAEF,QAAS;IACnB,IAAI,EAAEF,IAAK;IACX,SAAS,EAAEd,UAAU,mBAEnBmB,QAAQ,KAAKd,QAAQ,CAACoB,GAAG,yBAA6B,EACtDN,QAAQ,KAAKd,QAAQ,CAACqB,OAAO,6BAAiC,EAC9Df,QAAQ,8BAAkC,EAC1C,CAAC,CAACE,IAAI,0BAA8B,EACpCI,SAAS;EACT,iBAEF,oBAAC,QAAQ;IACP,IAAI,EAAC,cAAc;IACnB,SAAS,EAAC,KAAK;IACf,QAAQ,EAAED,QAAS;IACnB,UAAU,EACRG,QAAQ,KAAKd,QAAQ,CAACoB,GAAG,wCAA4C,YACtE;IACD,iBAAiB,EAAEN,QAAQ,KAAKd,QAAQ,CAACoB,GAAG,GAAG,CAAC,GAAG,GAAI;IACvD,QAAQ,EAAE,KAAM;IAChB,SAAS;EAAiC,EAC1C,eACF;IAAK,SAAS;EAA2B,gBACvC;IAAK,SAAS;EAA6B,GACxCf,QAAQ,eACT;IAAK,SAAS;EAA8B,GAAET,YAAY,CAACW,SAAS,CAAC,IAAIA,SAAS,CAAO,CACrF,EACLC,IAAI,iBACH,oBAAC,QAAQ;IAAC,SAAS,EAAC,KAAK;IAAC,SAAS,wBAA6B;IAAC,MAAM,EAAC;EAAG,GACxEA,IAAI,CAER,CACG,CACI;AAEhB,CAAC"}
|
|
@@ -8,8 +8,11 @@ import { Platform } from '../../lib/platform';
|
|
|
8
8
|
import { useGlobalEventListener } from '../../hooks/useGlobalEventListener';
|
|
9
9
|
import { useDOM } from '../../lib/dom';
|
|
10
10
|
import { pressedKey } from '../../lib/accessibility';
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
var modeClassNames = {
|
|
12
|
+
default: "vkuiTabs--mode-default",
|
|
13
|
+
accent: "vkuiTabs--mode-accent",
|
|
14
|
+
secondary: "vkuiTabs--mode-secondary"
|
|
15
|
+
};
|
|
13
16
|
export var TabsModeContext = /*#__PURE__*/React.createContext({
|
|
14
17
|
mode: 'default',
|
|
15
18
|
withGaps: false
|
|
@@ -28,8 +31,6 @@ export var Tabs = function Tabs(_ref) {
|
|
|
28
31
|
role = _ref$role === void 0 ? 'tablist' : _ref$role,
|
|
29
32
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
30
33
|
var platform = usePlatform();
|
|
31
|
-
var _useAdaptivity = useAdaptivity(),
|
|
32
|
-
sizeX = _useAdaptivity.sizeX;
|
|
33
34
|
var _useDOM = useDOM(),
|
|
34
35
|
document = _useDOM.document;
|
|
35
36
|
var isTabFlow = role === 'tablist';
|
|
@@ -123,7 +124,7 @@ export var Tabs = function Tabs(_ref) {
|
|
|
123
124
|
});
|
|
124
125
|
return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
|
|
125
126
|
ref: getRootRef,
|
|
126
|
-
className: classNames("vkuiTabs", platform === Platform.VKCOM &&
|
|
127
|
+
className: classNames("vkuiTabs", platform === Platform.VKCOM && "vkuiTabs--vkcom", withGaps && "vkuiTabs--withGaps", modeClassNames[mode], className),
|
|
127
128
|
role: role
|
|
128
129
|
}), /*#__PURE__*/React.createElement("div", {
|
|
129
130
|
className: "vkuiTabs__in",
|
|
@@ -135,14 +136,4 @@ export var Tabs = function Tabs(_ref) {
|
|
|
135
136
|
}
|
|
136
137
|
}, children)));
|
|
137
138
|
};
|
|
138
|
-
var styles = {
|
|
139
|
-
"Tabs--withGaps": "vkuiTabs--withGaps",
|
|
140
|
-
"Tabs--mode-default": "vkuiTabs--mode-default",
|
|
141
|
-
"Tabs--buttons": "vkuiTabs--buttons",
|
|
142
|
-
"Tabs--sizeX-compact": "vkuiTabs--sizeX-compact",
|
|
143
|
-
"Tabs--sizeX-none": "vkuiTabs--sizeX-none",
|
|
144
|
-
"Tabs--mode-accent": "vkuiTabs--mode-accent",
|
|
145
|
-
"Tabs--mode-secondary": "vkuiTabs--mode-secondary",
|
|
146
|
-
"Tabs--vkcom": "vkuiTabs--vkcom"
|
|
147
|
-
};
|
|
148
139
|
//# sourceMappingURL=Tabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","names":["React","classNames","usePlatform","Platform","useGlobalEventListener","useDOM","pressedKey","
|
|
1
|
+
{"version":3,"file":"Tabs.js","names":["React","classNames","usePlatform","Platform","useGlobalEventListener","useDOM","pressedKey","modeClassNames","default","accent","secondary","TabsModeContext","createContext","mode","withGaps","Tabs","children","getRootRef","className","role","restProps","platform","document","isTabFlow","tabsRef","useRef","getTabEls","current","Array","from","querySelectorAll","handleDocumentKeydown","event","key","tabEls","currentFocusedElIndex","findIndex","el","activeElement","nextIndex","length","offset","nextTabEl","preventDefault","focus","currentFocusedEl","find","getAttribute","relatedContentElId","relatedContentEl","getElementById","click","capture","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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { type PlacementWithAuto } from '../../lib/floating';
|
|
3
3
|
import { HasRootRef } from '../../types';
|
|
4
4
|
export interface TooltipProps {
|
|
5
5
|
/**
|
|
@@ -61,7 +61,7 @@ export interface TooltipProps {
|
|
|
61
61
|
/**
|
|
62
62
|
* По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства
|
|
63
63
|
*/
|
|
64
|
-
placement?:
|
|
64
|
+
placement?: PlacementWithAuto;
|
|
65
65
|
/**
|
|
66
66
|
* Пользовательские css-классы, будут добавлены на root-элемент
|
|
67
67
|
*/
|
|
@@ -70,4 +70,4 @@ export interface TooltipProps {
|
|
|
70
70
|
/**
|
|
71
71
|
* @see https://vkcom.github.io/VKUI/#/Tooltip
|
|
72
72
|
*/
|
|
73
|
-
export declare const Tooltip: ({ children, isShown:
|
|
73
|
+
export declare const Tooltip: ({ children, isShown: isShownProp, offsetX, offsetY, alignX, alignY, onClose, cornerOffset, cornerAbsoluteOffset, appearance, arrow, placement: placementProp, text, header, className, ...restProps }: TooltipProps) => JSX.Element;
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
3
|
import _typeof from "@babel/runtime/helpers/typeof";
|
|
3
4
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
6
|
-
var _excluded = ["className"]
|
|
7
|
-
_excluded2 = ["children", "isShown", "offsetX", "offsetY", "alignX", "alignY", "onClose", "cornerOffset", "cornerAbsoluteOffset", "appearance", "arrow", "placement"];
|
|
6
|
+
var _excluded = ["children", "isShown", "offsetX", "offsetY", "alignX", "alignY", "onClose", "cornerOffset", "cornerAbsoluteOffset", "appearance", "arrow", "placement", "text", "header", "className"];
|
|
8
7
|
import * as React from 'react';
|
|
9
8
|
import ReactDOM from 'react-dom';
|
|
10
9
|
import { classNames, hasReactNode } from '@vkontakte/vkjs';
|
|
11
10
|
import { Subhead } from '../Typography/Subhead/Subhead';
|
|
12
11
|
import { useNavTransition } from '../NavTransitionContext/NavTransitionContext';
|
|
13
12
|
import { PopperArrow } from '../PopperArrow/PopperArrow';
|
|
14
|
-
import {
|
|
13
|
+
import { useFloating, checkIsNotAutoPlacement, convertFloatingDataToReactCSSProperties, offsetMiddleware, shiftMiddleware, flipMiddleware, arrowMiddleware, autoUpdateFloatingElement, getAutoPlacementAlign, autoPlacementMiddleware } from '../../lib/floating';
|
|
15
14
|
import { tooltipContainerAttr } from './TooltipContainer';
|
|
16
15
|
import { useExternRef } from '../../hooks/useExternRef';
|
|
17
16
|
import { useDOM } from '../../lib/dom';
|
|
@@ -21,40 +20,13 @@ var isDOMTypeElement = function isDOMTypeElement(element) {
|
|
|
21
20
|
return /*#__PURE__*/React.isValidElement(element) && typeof element.type === 'string';
|
|
22
21
|
};
|
|
23
22
|
var warn = warnOnce('Tooltip');
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
arrow = _ref.arrow,
|
|
32
|
-
_ref$style = _ref.style,
|
|
33
|
-
popperStyles = _ref$style === void 0 ? {} : _ref$style,
|
|
34
|
-
attributes = _ref.attributes,
|
|
35
|
-
className = _ref.className;
|
|
36
|
-
var _ref2 = (_attributes$container = attributes === null || attributes === void 0 ? void 0 : attributes.container) !== null && _attributes$container !== void 0 ? _attributes$container : {},
|
|
37
|
-
containerClassName = _ref2.className,
|
|
38
|
-
restContainerAttributes = _objectWithoutProperties(_ref2, _excluded);
|
|
39
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
40
|
-
className: classNames("vkuiTooltip", styles["Tooltip--appearance-".concat(appearance)], className)
|
|
41
|
-
}, /*#__PURE__*/React.createElement("div", _extends({
|
|
42
|
-
className: classNames("vkuiTooltip__container", containerClassName),
|
|
43
|
-
ref: ref,
|
|
44
|
-
style: popperStyles.container
|
|
45
|
-
}, restContainerAttributes), arrow && /*#__PURE__*/React.createElement(PopperArrow, {
|
|
46
|
-
style: popperStyles.arrow,
|
|
47
|
-
attributes: attributes === null || attributes === void 0 ? void 0 : attributes.arrow,
|
|
48
|
-
arrowClassName: "vkuiTooltip__arrow"
|
|
49
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
50
|
-
className: "vkuiTooltip__content"
|
|
51
|
-
}, header && /*#__PURE__*/React.createElement(Subhead, {
|
|
52
|
-
weight: "2",
|
|
53
|
-
className: "vkuiTooltip__title"
|
|
54
|
-
}, header), text && /*#__PURE__*/React.createElement(Subhead, {
|
|
55
|
-
className: "vkuiTooltip__text"
|
|
56
|
-
}, text))));
|
|
57
|
-
});
|
|
23
|
+
var stylesAppearance = {
|
|
24
|
+
accent: "vkuiTooltip--appearance-accent",
|
|
25
|
+
neutral: "vkuiTooltip--appearance-neutral",
|
|
26
|
+
white: "vkuiTooltip--appearance-white",
|
|
27
|
+
black: "vkuiTooltip--appearance-black",
|
|
28
|
+
inversion: "vkuiTooltip--appearance-inversion"
|
|
29
|
+
};
|
|
58
30
|
function mapAlignX(x) {
|
|
59
31
|
switch (x) {
|
|
60
32
|
case 'left':
|
|
@@ -65,7 +37,7 @@ function mapAlignX(x) {
|
|
|
65
37
|
return '';
|
|
66
38
|
}
|
|
67
39
|
}
|
|
68
|
-
function
|
|
40
|
+
function getDefaultPlacement(alignX, alignY) {
|
|
69
41
|
return [alignY || 'bottom', mapAlignX(alignX || 'left')].filter(function (p) {
|
|
70
42
|
return !!p;
|
|
71
43
|
}).join('-');
|
|
@@ -77,148 +49,141 @@ function isVerticalPlacement(placement) {
|
|
|
77
49
|
/**
|
|
78
50
|
* @see https://vkcom.github.io/VKUI/#/Tooltip
|
|
79
51
|
*/
|
|
80
|
-
export var Tooltip = function Tooltip(
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
appearance =
|
|
96
|
-
|
|
97
|
-
arrow =
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
52
|
+
export var Tooltip = function Tooltip(_ref) {
|
|
53
|
+
var children = _ref.children,
|
|
54
|
+
_ref$isShown = _ref.isShown,
|
|
55
|
+
isShownProp = _ref$isShown === void 0 ? true : _ref$isShown,
|
|
56
|
+
_ref$offsetX = _ref.offsetX,
|
|
57
|
+
offsetX = _ref$offsetX === void 0 ? 0 : _ref$offsetX,
|
|
58
|
+
_ref$offsetY = _ref.offsetY,
|
|
59
|
+
offsetY = _ref$offsetY === void 0 ? 15 : _ref$offsetY,
|
|
60
|
+
alignX = _ref.alignX,
|
|
61
|
+
alignY = _ref.alignY,
|
|
62
|
+
onClose = _ref.onClose,
|
|
63
|
+
_ref$cornerOffset = _ref.cornerOffset,
|
|
64
|
+
cornerOffset = _ref$cornerOffset === void 0 ? 0 : _ref$cornerOffset,
|
|
65
|
+
cornerAbsoluteOffset = _ref.cornerAbsoluteOffset,
|
|
66
|
+
_ref$appearance = _ref.appearance,
|
|
67
|
+
appearance = _ref$appearance === void 0 ? 'accent' : _ref$appearance,
|
|
68
|
+
_ref$arrow = _ref.arrow,
|
|
69
|
+
arrow = _ref$arrow === void 0 ? true : _ref$arrow,
|
|
70
|
+
placementProp = _ref.placement,
|
|
71
|
+
text = _ref.text,
|
|
72
|
+
header = _ref.header,
|
|
73
|
+
className = _ref.className,
|
|
74
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
75
|
+
var arrowRef = React.useRef(null);
|
|
103
76
|
var _React$useState = React.useState(null),
|
|
104
77
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
target
|
|
110
|
-
|
|
111
|
-
|
|
78
|
+
target = _React$useState2[0],
|
|
79
|
+
setTarget = _React$useState2[1];
|
|
80
|
+
/* eslint-disable no-restricted-properties */
|
|
81
|
+
var tooltipContainer = React.useMemo(function () {
|
|
82
|
+
return target === null || target === void 0 ? void 0 : target.closest("[".concat(tooltipContainerAttr, "]"));
|
|
83
|
+
}, [target]);
|
|
84
|
+
var _useNavTransition = useNavTransition(),
|
|
85
|
+
entering = _useNavTransition.entering;
|
|
86
|
+
var isShown = isShownProp && tooltipContainer && !entering;
|
|
87
|
+
var placement = placementProp || getDefaultPlacement(alignX, alignY);
|
|
88
|
+
var isNotAutoPlacement = checkIsNotAutoPlacement(placement);
|
|
89
|
+
if (process.env.NODE_ENV === 'development') {
|
|
112
90
|
var multiChildren = React.Children.count(children) > 1;
|
|
113
91
|
// Empty children is a noop
|
|
114
92
|
var primitiveChild = hasReactNode(children) && _typeof(children) !== 'object';
|
|
115
93
|
(multiChildren || primitiveChild) && warn(['children должен быть одним React элементом, получено', multiChildren && 'несколько', primitiveChild && JSON.stringify(children)].filter(Boolean).join(' '), 'error');
|
|
116
94
|
}
|
|
117
|
-
|
|
118
|
-
/* eslint-disable no-restricted-properties */
|
|
119
|
-
/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion*/
|
|
120
|
-
var tooltipContainer = React.useMemo(function () {
|
|
121
|
-
return target === null || target === void 0 ? void 0 : target.closest("[".concat(tooltipContainerAttr, "]"));
|
|
122
|
-
}, [target]);
|
|
123
|
-
var strategy = React.useMemo(function () {
|
|
95
|
+
var floatingPositionStrategy = React.useMemo(function () {
|
|
124
96
|
return (target === null || target === void 0 ? void 0 : target.style.position) === 'fixed' ? 'fixed' : 'absolute';
|
|
125
97
|
}, [target]);
|
|
126
|
-
|
|
127
|
-
/* eslint-enable no-restricted-properties */
|
|
128
|
-
|
|
129
|
-
if (IS_DEV && target && !tooltipContainer) {
|
|
98
|
+
if (process.env.NODE_ENV === 'development' && target && !tooltipContainer) {
|
|
130
99
|
throw new Error('Use TooltipContainer for Tooltip outside Panel (see docs)');
|
|
131
100
|
}
|
|
132
|
-
var
|
|
133
|
-
var
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
101
|
+
var memoizedMiddlewares = React.useMemo(function () {
|
|
102
|
+
var middlewares = [offsetMiddleware({
|
|
103
|
+
crossAxis: offsetX,
|
|
104
|
+
mainAxis: offsetY
|
|
105
|
+
})];
|
|
106
|
+
|
|
107
|
+
// см. https://floating-ui.com/docs/flip#conflict-with-autoplacement
|
|
108
|
+
if (isNotAutoPlacement) {
|
|
109
|
+
middlewares.push(flipMiddleware());
|
|
110
|
+
} else {
|
|
111
|
+
middlewares.push(autoPlacementMiddleware({
|
|
112
|
+
alignment: placement ? getAutoPlacementAlign(placement) : null
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
middlewares.push(shiftMiddleware());
|
|
116
|
+
|
|
117
|
+
// см. https://floating-ui.com/docs/arrow#order
|
|
143
118
|
if (arrow) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
});
|
|
150
|
-
modifiers.push({
|
|
119
|
+
middlewares.push(arrowMiddleware({
|
|
120
|
+
element: arrowRef,
|
|
121
|
+
padding: 14
|
|
122
|
+
}));
|
|
123
|
+
middlewares.push({
|
|
151
124
|
name: 'arrowOffset',
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
return;
|
|
125
|
+
fn: function fn(_ref2) {
|
|
126
|
+
var placement = _ref2.placement,
|
|
127
|
+
middlewareData = _ref2.middlewareData;
|
|
128
|
+
if (!middlewareData.arrow) {
|
|
129
|
+
return Promise.resolve({});
|
|
158
130
|
}
|
|
159
|
-
if (isVerticalPlacement(
|
|
131
|
+
if (isVerticalPlacement(placement)) {
|
|
160
132
|
if (cornerAbsoluteOffset !== undefined) {
|
|
161
|
-
|
|
162
|
-
} else {
|
|
163
|
-
|
|
164
|
-
if (((_state$modifiersData$ = state.modifiersData.arrow) === null || _state$modifiersData$ === void 0 ? void 0 : _state$modifiersData$.x) !== undefined) {
|
|
165
|
-
state.modifiersData.arrow.x += cornerOffset;
|
|
166
|
-
}
|
|
133
|
+
middlewareData.arrow.x = cornerAbsoluteOffset;
|
|
134
|
+
} else if (middlewareData.arrow.x !== undefined) {
|
|
135
|
+
middlewareData.arrow.x += cornerOffset;
|
|
167
136
|
}
|
|
168
137
|
} else {
|
|
169
138
|
if (cornerAbsoluteOffset !== undefined) {
|
|
170
|
-
|
|
171
|
-
} else {
|
|
172
|
-
|
|
173
|
-
if (((_state$modifiersData$2 = state.modifiersData.arrow) === null || _state$modifiersData$2 === void 0 ? void 0 : _state$modifiersData$2.y) !== undefined) {
|
|
174
|
-
state.modifiersData.arrow.y += cornerOffset;
|
|
175
|
-
}
|
|
139
|
+
middlewareData.arrow.y = cornerAbsoluteOffset;
|
|
140
|
+
} else if (middlewareData.arrow.y !== undefined) {
|
|
141
|
+
middlewareData.arrow.y += cornerOffset;
|
|
176
142
|
}
|
|
177
143
|
}
|
|
144
|
+
return Promise.resolve({});
|
|
178
145
|
}
|
|
179
146
|
});
|
|
180
147
|
}
|
|
181
|
-
return
|
|
182
|
-
}, [arrow, cornerAbsoluteOffset, cornerOffset, offsetX, offsetY]);
|
|
183
|
-
var
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
148
|
+
return middlewares;
|
|
149
|
+
}, [arrow, cornerAbsoluteOffset, cornerOffset, offsetX, offsetY, placement, isNotAutoPlacement]);
|
|
150
|
+
var _useFloating = useFloating({
|
|
151
|
+
strategy: floatingPositionStrategy,
|
|
152
|
+
placement: isNotAutoPlacement ? placement : undefined,
|
|
153
|
+
middleware: memoizedMiddlewares,
|
|
154
|
+
whileElementsMounted: autoUpdateFloatingElement
|
|
188
155
|
}),
|
|
189
|
-
|
|
190
|
-
|
|
156
|
+
floatingDataX = _useFloating.x,
|
|
157
|
+
floatingDataY = _useFloating.y,
|
|
158
|
+
resolvedPlacement = _useFloating.placement,
|
|
159
|
+
refs = _useFloating.refs,
|
|
160
|
+
arrowCoords = _useFloating.middlewareData.arrow;
|
|
191
161
|
var _useDOM = useDOM(),
|
|
192
162
|
document = _useDOM.document;
|
|
193
163
|
useGlobalEventListener(document, 'click', isShown && onClose, {
|
|
164
|
+
capture: true,
|
|
194
165
|
passive: true
|
|
195
166
|
});
|
|
196
|
-
// NOTE: setting isShown to true used to trigger usePopper().forceUpdate()
|
|
197
|
-
|
|
198
167
|
var childRef = isDOMTypeElement(children) ? children.ref : /*#__PURE__*/React.isValidElement(children) ? children.props.getRootRef : null;
|
|
199
|
-
var patchedRef = useExternRef(setTarget, childRef);
|
|
168
|
+
var patchedRef = useExternRef(setTarget, refs.setReference, childRef);
|
|
200
169
|
var child = /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, _defineProperty({}, isDOMTypeElement(children) ? 'ref' : 'getRootRef', patchedRef)) : children;
|
|
201
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, child, isShown && target != null && /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
ref:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
"Tooltip--appearance-white": "vkuiTooltip--appearance-white",
|
|
220
|
-
"Tooltip--appearance-black": "vkuiTooltip--appearance-black",
|
|
221
|
-
"Tooltip--appearance-inversion": "vkuiTooltip--appearance-inversion",
|
|
222
|
-
"Tooltip--appearance-neutral": "vkuiTooltip--appearance-neutral"
|
|
170
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, child, isShown && target != null && /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
|
|
171
|
+
className: classNames("vkuiTooltip", stylesAppearance[appearance], className)
|
|
172
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
173
|
+
ref: refs.setFloating,
|
|
174
|
+
style: convertFloatingDataToReactCSSProperties(floatingPositionStrategy, floatingDataX, floatingDataY)
|
|
175
|
+
}, arrow && /*#__PURE__*/React.createElement(PopperArrow, {
|
|
176
|
+
coords: arrowCoords,
|
|
177
|
+
placement: resolvedPlacement,
|
|
178
|
+
arrowClassName: "vkuiTooltip__arrow",
|
|
179
|
+
getRootRef: arrowRef
|
|
180
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
181
|
+
className: "vkuiTooltip__content"
|
|
182
|
+
}, header && /*#__PURE__*/React.createElement(Subhead, {
|
|
183
|
+
weight: "2",
|
|
184
|
+
className: "vkuiTooltip__title"
|
|
185
|
+
}, header), text && /*#__PURE__*/React.createElement(Subhead, {
|
|
186
|
+
className: "vkuiTooltip__text"
|
|
187
|
+
}, text)))), tooltipContainer));
|
|
223
188
|
};
|
|
224
189
|
//# sourceMappingURL=Tooltip.js.map
|