@vkontakte/vkui 7.1.3 → 7.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Accordion/Accordion.d.ts +2 -2
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
- package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +1 -1
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownMenu.d.ts +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownMenu.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownMenu.js +10 -4
- package/dist/components/ActionSheet/ActionSheetDropdownMenu.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownSheet.d.ts +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownSheet.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownSheet.js +10 -4
- package/dist/components/ActionSheet/ActionSheetDropdownSheet.js.map +1 -1
- package/dist/components/ActionSheet/types.d.ts +4 -0
- package/dist/components/ActionSheet/types.d.ts.map +1 -1
- package/dist/components/ActionSheet/types.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
- package/dist/components/ActionSheetItem/helpers.d.ts.map +1 -1
- package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts.map +1 -1
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts.map +1 -1
- package/dist/components/Alert/Alert.d.ts +14 -2
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.js +15 -104
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Alert/AlertAction.d.ts.map +1 -1
- package/dist/components/Alert/AlertActions.d.ts.map +1 -1
- package/dist/components/Alert/AlertBase.d.ts +7 -0
- package/dist/components/Alert/AlertBase.d.ts.map +1 -0
- package/dist/components/Alert/AlertBase.js +131 -0
- package/dist/components/Alert/AlertBase.js.map +1 -0
- package/dist/components/Alert/AlertTypography.d.ts +2 -1
- package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
- package/dist/components/Alert/AlertTypography.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.js +1 -1
- package/dist/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.d.ts +1 -0
- package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
- package/dist/components/AppRoot/ScrollContext.js +127 -39
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/AppRoot/helpers.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +4 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Banner/Banner.d.ts.map +1 -1
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +8 -3
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +98 -92
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +1 -3
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.d.ts +1 -1
- package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +1 -3
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +4 -3
- package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.js +105 -108
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js +16 -13
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
- package/dist/components/CardScroll/CardScroll.d.ts +5 -1
- package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
- package/dist/components/CardScroll/CardScroll.js +32 -29
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -1
- package/dist/components/CarouselBase/CarouselBase.js +71 -46
- package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
- package/dist/components/CarouselBase/helpers.d.ts +20 -5
- package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
- package/dist/components/CarouselBase/helpers.js +70 -44
- package/dist/components/CarouselBase/helpers.js.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
- package/dist/components/CellButton/CellButton.d.ts.map +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +300 -0
- package/dist/components/CellButtonGroup/CellButtonGroup.d.ts.map +1 -0
- package/dist/components/CellButtonGroup/CellButtonGroup.js +20 -0
- package/dist/components/CellButtonGroup/CellButtonGroup.js.map +1 -0
- package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts +8 -0
- package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts.map +1 -0
- package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +20 -0
- package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -0
- package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.js +1 -0
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/components/ChipsInputBase/helpers.d.ts +1 -1
- package/dist/components/ChipsInputBase/helpers.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/helpers.js +4 -0
- package/dist/components/ChipsInputBase/helpers.js.map +1 -1
- package/dist/components/ChipsInputBase/types.d.ts +1 -1
- package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/types.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +9 -2
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ChipsSelect/constants.d.ts.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.d.ts +3 -2
- package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.js +9 -3
- package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/components/Clickable/Clickable.d.ts +1 -1
- package/dist/components/Clickable/Clickable.d.ts.map +1 -1
- package/dist/components/Clickable/Clickable.js +28 -28
- package/dist/components/Clickable/Clickable.js.map +1 -1
- package/dist/components/Clickable/RealClickable.d.ts.map +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts.map +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
- package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +5 -2
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +11 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.js +12 -7
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts +6 -1
- package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
- package/dist/components/ContentCard/ContentCard.js +6 -4
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/Counter/Counter.d.ts.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +108 -71
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +3 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +19 -2
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/DateInput.js +118 -82
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateInput/hooks.d.ts +16 -0
- package/dist/components/DateInput/hooks.d.ts.map +1 -0
- package/dist/components/DateInput/hooks.js +61 -0
- package/dist/components/DateInput/hooks.js.map +1 -0
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +10 -2
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +110 -82
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/DirectionProvider/DirectionProvider.d.ts +13 -0
- package/dist/components/DirectionProvider/DirectionProvider.d.ts.map +1 -0
- package/dist/components/DirectionProvider/DirectionProvider.js +15 -0
- package/dist/components/DirectionProvider/DirectionProvider.js.map +1 -0
- package/dist/components/Div/Div.d.ts.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
- package/dist/components/Epic/Epic.d.ts.map +1 -1
- package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
- package/dist/components/File/File.d.ts.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
- package/dist/components/Flex/Flex.d.ts.map +1 -1
- package/dist/components/Flex/Flex.js +3 -5
- package/dist/components/Flex/Flex.js.map +1 -1
- package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
- package/dist/components/FloatingArrow/DefaultIcon.d.ts.map +1 -1
- package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
- package/dist/components/Footer/Footer.d.ts.map +1 -1
- package/dist/components/FormField/FormField.d.ts.map +1 -1
- package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
- package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
- package/dist/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/components/Gradient/Gradient.d.ts.map +1 -1
- package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.d.ts.map +1 -1
- package/dist/components/Header/Header.d.ts.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +13 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +32 -24
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBase.d.ts +5 -0
- package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBase.js +6 -4
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/helpers.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +3 -4
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/hooks.d.ts +1 -0
- package/dist/components/ImageBase/ImageBaseOverlay/hooks.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/hooks.js +25 -0
- package/dist/components/ImageBase/ImageBaseOverlay/hooks.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +4 -0
- package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
- package/dist/components/InfoRow/InfoRow.d.ts.map +1 -1
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/InputLike/InputLikeDivider.d.ts.map +1 -1
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/Mark/Mark.d.ts.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCard.js +6 -13
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
- package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.js +4 -2
- package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
- package/dist/components/ModalCard/types.d.ts +1 -1
- package/dist/components/ModalCard/types.d.ts.map +1 -1
- package/dist/components/ModalCard/types.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +9 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +33 -8
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +5 -3
- package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js +7 -7
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
- package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +17 -0
- package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -0
- package/dist/components/ModalOutsideButton/ModalOutsideButton.js +30 -0
- package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -0
- package/dist/components/ModalOutsideButtons/ModalOutsideButtons.d.ts +6 -0
- package/dist/components/ModalOutsideButtons/ModalOutsideButtons.d.ts.map +1 -0
- package/dist/components/ModalOutsideButtons/ModalOutsideButtons.js +22 -0
- package/dist/components/ModalOutsideButtons/ModalOutsideButtons.js.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPage.js +5 -12
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPage/ModalPageBase.d.ts +8 -0
- package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -0
- package/dist/components/ModalPage/ModalPageBase.js +66 -0
- package/dist/components/ModalPage/ModalPageBase.js.map +1 -0
- package/dist/components/ModalPage/ModalPageInternal.d.ts +1 -1
- package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPageInternal.js +24 -32
- package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
- package/dist/components/ModalPage/types.d.ts +12 -1
- package/dist/components/ModalPage/types.d.ts.map +1 -1
- package/dist/components/ModalPage/types.js.map +1 -1
- package/dist/components/ModalPageContent/ModalPageContent.d.ts.map +1 -1
- package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
- package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.d.ts.map +1 -1
- package/dist/components/ModalRoot/types.d.ts +1 -0
- package/dist/components/ModalRoot/types.d.ts.map +1 -1
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.d.ts +4 -2
- package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
- package/dist/components/ModalRoot/useModalManager.js +12 -3
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/ModalRoot/useModalRootContext.js +1 -0
- package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
- package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +2 -2
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js +22 -8
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js +12 -3
- package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltipContext.d.ts +7 -0
- package/dist/components/OnboardingTooltip/OnboardingTooltipContext.d.ts.map +1 -0
- package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js +9 -0
- package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -0
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +5 -2
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
- package/dist/components/Panel/Panel.d.ts.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js +3 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts.map +1 -1
- package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +15 -2
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js +10 -2
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +1 -1
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js +4 -4
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/usePopover.d.ts +1 -1
- package/dist/components/Popover/usePopover.d.ts.map +1 -1
- package/dist/components/Popover/usePopover.js +69 -44
- package/dist/components/Popover/usePopover.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +2 -2
- package/dist/components/Popper/Popper.d.ts.map +1 -1
- package/dist/components/Popper/Popper.js +18 -5
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/Progress/Progress.d.ts +7 -3
- package/dist/components/Progress/Progress.d.ts.map +1 -1
- package/dist/components/Progress/Progress.js +30 -11
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
- package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/Removable/Removable.d.ts.map +1 -1
- package/dist/components/Removable/Removable.js +8 -4
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCellIcon/RichCellIcon.d.ts.map +1 -1
- package/dist/components/Root/Root.d.ts.map +1 -1
- package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/Icon48CancelCircle.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/Icon48DoneOutline.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js +1 -0
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
- package/dist/components/ScrollArrow/ScrollArrow.js +4 -1
- package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/components/Search/Search.d.ts +9 -1
- package/dist/components/Search/Search.d.ts.map +1 -1
- package/dist/components/Search/Search.js +9 -2
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +10 -7
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
- package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
- package/dist/components/Separator/Separator.d.ts.map +1 -1
- package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
- package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/Slider/Slider.d.ts +1 -1
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/Slider.js +22 -18
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.js +5 -1
- package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/components/Slider/helpers.d.ts.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
- package/dist/components/Snackbar/Snackbar.js +6 -3
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Snackbar/utils.d.ts +3 -2
- package/dist/components/Snackbar/utils.d.ts.map +1 -1
- package/dist/components/Snackbar/utils.js +11 -8
- package/dist/components/Snackbar/utils.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
- package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +4 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +3 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
- package/dist/components/Tappable/Ripple.d.ts.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +2 -2
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +8 -101
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/useTooltip.d.ts +14 -0
- package/dist/components/Tooltip/useTooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/useTooltip.js +126 -0
- package/dist/components/Tooltip/useTooltip.js.map +1 -0
- package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
- package/dist/components/Touch/Touch.d.ts.map +1 -1
- package/dist/components/Touch/Touch.js +2 -2
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
- package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
- package/dist/components/Typography/EllipsisText/EllipsisText.d.ts.map +1 -1
- package/dist/components/Typography/Footnote/Footnote.d.ts.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
- package/dist/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.d.ts.map +1 -1
- package/dist/components/Typography/Text/Text.d.ts.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts.map +1 -1
- package/dist/components/Typography/Typography.d.ts.map +1 -1
- package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
- package/dist/components/UsersStack/UsersStack.d.ts +1 -1
- package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
- package/dist/components/UsersStack/UsersStack.js +5 -9
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/View.d.ts.map +1 -1
- package/dist/components/View/utils.d.ts.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/context/CalendarDirectionContext.d.ts +1 -1
- package/dist/context/CalendarDirectionContext.d.ts.map +1 -1
- package/dist/context/CalendarDirectionContext.js.map +1 -1
- package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
- package/dist/cssm/components/Accordion/Accordion.module.css +6 -6
- package/dist/cssm/components/ActionSheet/ActionSheet.js +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.module.css +9 -9
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownMenu.js +7 -3
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownMenu.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownSheet.js +7 -3
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/types.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +18 -18
- package/dist/cssm/components/Alert/Alert.js +12 -92
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.module.css +27 -29
- package/dist/cssm/components/Alert/AlertBase.js +111 -0
- package/dist/cssm/components/Alert/AlertBase.js.map +1 -0
- package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.module.css +2 -2
- package/dist/cssm/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.js +1 -1
- package/dist/cssm/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js +129 -37
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.module.css +2 -2
- package/dist/cssm/components/Avatar/Avatar.module.css +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.module.css +8 -3
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +4 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.module.css +19 -19
- package/dist/cssm/components/Button/Button.module.css +11 -11
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -0
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.js +96 -92
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.module.css +8 -8
- package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -3
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.module.css +11 -11
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.module.css +7 -7
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +1 -3
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.module.css +4 -4
- package/dist/cssm/components/CalendarRange/CalendarRange.js +106 -110
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.module.css +5 -5
- package/dist/cssm/components/CalendarTime/CalendarTime.js +16 -13
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.module.css +1 -1
- package/dist/cssm/components/Card/Card.module.css +7 -7
- package/dist/cssm/components/CardGrid/CardGrid.module.css +3 -3
- package/dist/cssm/components/CardScroll/CardScroll.js +30 -28
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.module.css +16 -16
- package/dist/cssm/components/CarouselBase/CarouselBase.js +71 -44
- package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/cssm/components/CarouselBase/CarouselBase.module.css +11 -11
- package/dist/cssm/components/CarouselBase/helpers.js +70 -44
- package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.module.css +18 -2
- package/dist/cssm/components/Cell/CellDragger/CellDragger.module.css +2 -2
- package/dist/cssm/components/CellButton/CellButton.module.css +8 -8
- package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js +20 -0
- package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js.map +1 -0
- package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +15 -0
- package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -0
- package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.module.css +5 -0
- package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +2 -2
- package/dist/cssm/components/ChipsInputBase/Chip/Chip.module.css +16 -16
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +1 -0
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +12 -12
- package/dist/cssm/components/ChipsInputBase/helpers.js +4 -0
- package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +8 -2
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +1 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js +9 -3
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cssm/components/Clickable/Clickable.js +29 -22
- package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
- package/dist/cssm/components/Clickable/Clickable.module.css +1 -1
- package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
- package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +5 -2
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +12 -7
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadge.module.css +7 -7
- package/dist/cssm/components/ContentCard/ContentCard.js +5 -4
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.module.css +6 -6
- package/dist/cssm/components/Counter/Counter.module.css +4 -4
- package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +2 -2
- package/dist/cssm/components/CustomSelect/CustomSelect.js +108 -70
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.module.css +2 -2
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css +13 -13
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -0
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +2 -2
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +9 -9
- package/dist/cssm/components/DateInput/DateInput.js +112 -81
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.module.css +40 -6
- package/dist/cssm/components/DateInput/hooks.js +61 -0
- package/dist/cssm/components/DateInput/hooks.js.map +1 -0
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +107 -82
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +3 -3
- package/dist/cssm/components/DirectionProvider/DirectionProvider.js +15 -0
- package/dist/cssm/components/DirectionProvider/DirectionProvider.js.map +1 -0
- package/dist/cssm/components/DropZone/DropZone.module.css +2 -2
- package/dist/cssm/components/FixedLayout/FixedLayout.module.css +3 -3
- package/dist/cssm/components/Flex/Flex.js +3 -5
- package/dist/cssm/components/Flex/Flex.js.map +1 -1
- package/dist/cssm/components/Flex/Flex.module.css +40 -23
- package/dist/cssm/components/FloatingArrow/FloatingArrow.module.css +1 -1
- package/dist/cssm/components/Footer/Footer.module.css +1 -1
- package/dist/cssm/components/FormField/FormField.module.css +24 -24
- package/dist/cssm/components/FormItem/FormItem.module.css +11 -10
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +5 -5
- package/dist/cssm/components/GridAvatar/GridAvatar.module.css +2 -2
- package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css +2 -2
- package/dist/cssm/components/Group/Group.module.css +16 -16
- package/dist/cssm/components/Header/Header.module.css +6 -6
- package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +3 -3
- package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css +2 -2
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +28 -23
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +10 -4
- package/dist/cssm/components/IconButton/IconButton.module.css +11 -11
- package/dist/cssm/components/ImageBase/ImageBase.js +5 -4
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.module.css +15 -6
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +5 -5
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css +8 -8
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +3 -4
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +2 -2
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/hooks.js +25 -0
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/hooks.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.module.css +3 -3
- package/dist/cssm/components/Input/Input.module.css +5 -5
- package/dist/cssm/components/InputLike/InputLike.module.css +3 -3
- package/dist/cssm/components/Link/Link.module.css +6 -6
- package/dist/cssm/components/Mark/Mark.module.css +2 -2
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +5 -5
- package/dist/cssm/components/ModalCard/ModalCard.js +3 -11
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.module.css +4 -4
- package/dist/cssm/components/ModalCard/ModalCardInternal.js +3 -2
- package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
- package/dist/cssm/components/ModalCard/types.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +30 -7
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +7 -7
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +5 -6
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.module.css +0 -29
- package/dist/cssm/components/ModalOutlet/ModalOutlet.module.css +1 -1
- package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js +24 -0
- package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -0
- package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.module.css +31 -0
- package/dist/cssm/components/ModalOutsideButtons/ModalOutsideButtons.js +16 -0
- package/dist/cssm/components/ModalOutsideButtons/ModalOutsideButtons.js.map +1 -0
- package/dist/cssm/components/ModalOutsideButtons/ModalOutsideButtons.module.css +6 -0
- package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +2 -2
- package/dist/cssm/components/ModalPage/ModalPage.js +3 -11
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.module.css +15 -16
- package/dist/cssm/components/ModalPage/ModalPageBase.js +49 -0
- package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -0
- package/dist/cssm/components/ModalPage/ModalPageInternal.js +21 -32
- package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
- package/dist/cssm/components/ModalPage/types.js.map +1 -1
- package/dist/cssm/components/ModalPageFooter/ModalPageFooter.module.css +4 -4
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +2 -3
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js +12 -3
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalRootContext.js +1 -0
- package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +20 -7
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.module.css +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js +13 -4
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js +9 -0
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -0
- package/dist/cssm/components/Pagination/Pagination.js +5 -2
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.module.css +1 -1
- package/dist/cssm/components/Pagination/PaginationPage/PaginationPage.module.css +9 -9
- package/dist/cssm/components/Panel/Panel.module.css +3 -3
- package/dist/cssm/components/PanelHeader/PanelHeader.module.css +30 -30
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +3 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +16 -8
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +10 -10
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +7 -7
- package/dist/cssm/components/Placeholder/Placeholder.module.css +3 -3
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +9 -2
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +14 -9
- package/dist/cssm/components/Popover/Popover.js +4 -4
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.module.css +1 -1
- package/dist/cssm/components/Popover/usePopover.js +62 -44
- package/dist/cssm/components/Popover/usePopover.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js +15 -5
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.js +29 -9
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.module.css +20 -9
- package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +14 -14
- package/dist/cssm/components/Radio/Radio.module.css +1 -1
- package/dist/cssm/components/Radio/RadioInput/RadioInput.module.css +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.module.css +1 -1
- package/dist/cssm/components/Removable/Removable.js +8 -4
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.module.css +19 -6
- package/dist/cssm/components/RichCell/RichCell.module.css +10 -10
- package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.module.css +4 -4
- package/dist/cssm/components/Root/Root.module.css +10 -10
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -0
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +12 -12
- package/dist/cssm/components/ScrollArrow/ScrollArrow.js +4 -1
- package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/cssm/components/ScrollArrow/ScrollArrow.module.css +15 -14
- package/dist/cssm/components/Search/Search.js +7 -2
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/Search/Search.module.css +44 -32
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js +10 -7
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +16 -7
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +14 -14
- package/dist/cssm/components/Select/Select.module.css +15 -15
- package/dist/cssm/components/SelectionControl/SelectionControl.module.css +2 -2
- package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +5 -5
- package/dist/cssm/components/Separator/Separator.module.css +3 -3
- package/dist/cssm/components/SimpleCell/SimpleCell.module.css +18 -16
- package/dist/cssm/components/SimpleGrid/SimpleGrid.module.css +2 -2
- package/dist/cssm/components/Skeleton/Skeleton.module.css +8 -8
- package/dist/cssm/components/Slider/Slider.js +20 -17
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/Slider/Slider.module.css +25 -4
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +5 -1
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.module.css +8 -8
- package/dist/cssm/components/Snackbar/Snackbar.js +6 -3
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.module.css +23 -6
- package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +9 -8
- package/dist/cssm/components/Snackbar/utils.js +11 -8
- package/dist/cssm/components/Snackbar/utils.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.module.css +1 -1
- package/dist/cssm/components/Spinner/Spinner.module.css +2 -2
- package/dist/cssm/components/SplitCol/SplitCol.module.css +9 -9
- package/dist/cssm/components/SplitLayout/SplitLayout.module.css +2 -2
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.module.css +4 -4
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +10 -6
- package/dist/cssm/components/Switch/Switch.js +4 -1
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.module.css +25 -17
- package/dist/cssm/components/Tabbar/Tabbar.module.css +5 -5
- package/dist/cssm/components/TabbarItem/TabbarItem.module.css +16 -16
- package/dist/cssm/components/Tabs/Tabs.js +3 -1
- 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 +21 -20
- package/dist/cssm/components/Tappable/Tappable.module.css +7 -7
- package/dist/cssm/components/Textarea/Textarea.module.css +7 -3
- package/dist/cssm/components/ToolButton/ToolButton.module.css +7 -7
- package/dist/cssm/components/Tooltip/Tooltip.js +7 -80
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Tooltip/useTooltip.js +97 -0
- package/dist/cssm/components/Tooltip/useTooltip.js.map +1 -0
- package/dist/cssm/components/TooltipBase/TooltipBase.module.css +9 -9
- package/dist/cssm/components/Touch/Touch.js +2 -2
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.module.css +96 -96
- package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.module.css +64 -64
- package/dist/cssm/components/Typography/EllipsisText/EllipsisText.module.css +3 -3
- package/dist/cssm/components/Typography/Footnote/Footnote.module.css +32 -32
- package/dist/cssm/components/Typography/Headline/Headline.module.css +20 -20
- package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +16 -16
- package/dist/cssm/components/Typography/Subhead/Subhead.module.css +16 -16
- package/dist/cssm/components/Typography/Text/Text.module.css +16 -16
- package/dist/cssm/components/Typography/Title/Title.module.css +48 -48
- package/dist/cssm/components/Typography/Typography.module.css +1 -1
- package/dist/cssm/components/UnstyledTextField/UnstyledTextField.module.css +5 -5
- package/dist/cssm/components/UsersStack/UsersStack.js +4 -7
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.module.css +4 -4
- package/dist/cssm/components/View/View.module.css +8 -8
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.module.css +10 -10
- package/dist/cssm/components/WriteBar/WriteBar.module.css +10 -11
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +9 -9
- package/dist/cssm/context/CalendarDirectionContext.js.map +1 -1
- package/dist/cssm/helpers/getValueByKey.js +17 -0
- package/dist/cssm/helpers/getValueByKey.js.map +1 -0
- package/dist/cssm/hooks/useAutoDetectDirection.js +21 -0
- package/dist/cssm/hooks/useAutoDetectDirection.js.map +1 -0
- package/dist/cssm/hooks/useCalendar.js.map +1 -1
- package/dist/cssm/hooks/useConfigDirection.js +7 -0
- package/dist/cssm/hooks/useConfigDirection.js.map +1 -0
- package/dist/cssm/hooks/useDateInput.js +3 -3
- package/dist/cssm/hooks/useDateInput.js.map +1 -1
- package/dist/cssm/hooks/useFloatingElement.js +70 -0
- package/dist/cssm/hooks/useFloatingElement.js.map +1 -0
- package/dist/cssm/hooks/useFocusVisible.js +10 -1
- package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
- package/dist/cssm/hooks/useReferenceElement.js +13 -0
- package/dist/cssm/hooks/useReferenceElement.js.map +1 -0
- package/dist/cssm/hooks/useTabsNavigation.js +3 -3
- package/dist/cssm/hooks/useTabsNavigation.js.map +1 -1
- package/dist/cssm/hooks/useTodayDate.js +4 -4
- package/dist/cssm/hooks/useTodayDate.js.map +1 -1
- package/dist/cssm/index.js +6 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.js +2 -1
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/date.js +21 -0
- package/dist/cssm/lib/date.js.map +1 -1
- package/dist/cssm/lib/direction/index.js +3 -0
- package/dist/cssm/lib/direction/index.js.map +1 -0
- package/dist/cssm/lib/dom.js +6 -0
- package/dist/cssm/lib/dom.js.map +1 -1
- package/dist/cssm/lib/floating/adapters.js.map +1 -1
- package/dist/cssm/lib/floating/customResizeObserver.js +2 -5
- package/dist/cssm/lib/floating/customResizeObserver.js.map +1 -1
- package/dist/cssm/lib/floating/functions.js +1 -1
- package/dist/cssm/lib/floating/functions.js.map +1 -1
- package/dist/cssm/lib/floating/types/component.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +4 -2
- package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/cssm/lib/floating/useReferenceHiddenChangeCallback.js +21 -0
- package/dist/cssm/lib/floating/useReferenceHiddenChangeCallback.js.map +1 -0
- package/dist/cssm/lib/object.js +9 -0
- package/dist/cssm/lib/object.js.map +1 -0
- package/dist/cssm/lib/select.js.map +1 -1
- package/dist/cssm/lib/sheet/controllers/BottomSheetController.js +13 -23
- package/dist/cssm/lib/sheet/controllers/BottomSheetController.js.map +1 -1
- package/dist/cssm/lib/sheet/controllers/CSSTransitionController.js +4 -5
- package/dist/cssm/lib/sheet/controllers/CSSTransitionController.js.map +1 -1
- package/dist/cssm/lib/tokens/TokensClassProvider.module.css +1 -1
- package/dist/cssm/styles/common.css +2 -2
- package/dist/cssm/styles/constants.css +2 -2
- package/dist/cssm/styles/themes.css +22 -5
- package/dist/helpers/getMergedSameEventsByProps.d.ts.map +1 -1
- package/dist/helpers/getValueByKey.d.ts +5 -0
- package/dist/helpers/getValueByKey.d.ts.map +1 -0
- package/dist/helpers/getValueByKey.js +17 -0
- package/dist/helpers/getValueByKey.js.map +1 -0
- package/dist/helpers/math.d.ts.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/helpers.d.ts.map +1 -1
- package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
- package/dist/hooks/useAutoDetectDirection.d.ts +3 -0
- package/dist/hooks/useAutoDetectDirection.d.ts.map +1 -0
- package/dist/hooks/useAutoDetectDirection.js +21 -0
- package/dist/hooks/useAutoDetectDirection.js.map +1 -0
- package/dist/hooks/useBooleanState.d.ts.map +1 -1
- package/dist/hooks/useCalendar.d.ts +1 -1
- package/dist/hooks/useCalendar.d.ts.map +1 -1
- package/dist/hooks/useCalendar.js.map +1 -1
- package/dist/hooks/useConfigDirection.d.ts +3 -0
- package/dist/hooks/useConfigDirection.d.ts.map +1 -0
- package/dist/hooks/useConfigDirection.js +7 -0
- package/dist/hooks/useConfigDirection.js.map +1 -0
- package/dist/hooks/useDateInput.d.ts +4 -4
- package/dist/hooks/useDateInput.d.ts.map +1 -1
- package/dist/hooks/useDateInput.js +3 -3
- package/dist/hooks/useDateInput.js.map +1 -1
- package/dist/hooks/useDraggableWithDomApi/autoScroll.d.ts.map +1 -1
- package/dist/hooks/useDraggableWithDomApi/useDraggableWithDomApi.d.ts.map +1 -1
- package/dist/hooks/useDraggableWithDomApi/utils.d.ts.map +1 -1
- package/dist/hooks/useFloatingElement.d.ts +26 -0
- package/dist/hooks/useFloatingElement.d.ts.map +1 -0
- package/dist/hooks/useFloatingElement.js +71 -0
- package/dist/hooks/useFloatingElement.js.map +1 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusVisible.d.ts +9 -1
- package/dist/hooks/useFocusVisible.d.ts.map +1 -1
- package/dist/hooks/useFocusVisible.js +10 -1
- package/dist/hooks/useFocusVisible.js.map +1 -1
- package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
- package/dist/hooks/useGlobalOnClickOutside.d.ts.map +1 -1
- package/dist/hooks/useMutationObserver.d.ts.map +1 -1
- package/dist/hooks/useNativeFormResetListener.d.ts.map +1 -1
- package/dist/hooks/usePagination.d.ts.map +1 -1
- package/dist/hooks/usePatchChildren.d.ts.map +1 -1
- package/dist/hooks/useReferenceElement.d.ts +3 -0
- package/dist/hooks/useReferenceElement.d.ts.map +1 -0
- package/dist/hooks/useReferenceElement.js +13 -0
- package/dist/hooks/useReferenceElement.js.map +1 -0
- package/dist/hooks/useTabsNavigation.d.ts +1 -1
- package/dist/hooks/useTabsNavigation.d.ts.map +1 -1
- package/dist/hooks/useTabsNavigation.js +3 -3
- package/dist/hooks/useTabsNavigation.js.map +1 -1
- package/dist/hooks/useTodayDate.d.ts.map +1 -1
- package/dist/hooks/useTodayDate.js +4 -4
- package/dist/hooks/useTodayDate.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/SSR.d.ts +2 -0
- package/dist/lib/SSR.d.ts.map +1 -1
- package/dist/lib/SSR.js +2 -1
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/accessibility.d.ts.map +1 -1
- package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
- package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
- package/dist/lib/calendar.d.ts.map +1 -1
- package/dist/lib/callMultiple.d.ts.map +1 -1
- package/dist/lib/children.d.ts.map +1 -1
- package/dist/lib/createPortal.d.ts.map +1 -1
- package/dist/lib/date.d.ts +2 -0
- package/dist/lib/date.d.ts.map +1 -1
- package/dist/lib/date.js +21 -0
- package/dist/lib/date.js.map +1 -1
- package/dist/lib/direction/index.d.ts +2 -0
- package/dist/lib/direction/index.d.ts.map +1 -0
- package/dist/lib/direction/index.js +3 -0
- package/dist/lib/direction/index.js.map +1 -0
- package/dist/lib/dom.d.ts +1 -0
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/dom.js +6 -0
- package/dist/lib/dom.js.map +1 -1
- package/dist/lib/floating/adapters.d.ts +1 -0
- package/dist/lib/floating/adapters.d.ts.map +1 -1
- package/dist/lib/floating/adapters.js.map +1 -1
- package/dist/lib/floating/customResizeObserver.d.ts +1 -1
- package/dist/lib/floating/customResizeObserver.d.ts.map +1 -1
- package/dist/lib/floating/customResizeObserver.js +2 -5
- package/dist/lib/floating/customResizeObserver.js.map +1 -1
- package/dist/lib/floating/functions.d.ts +8 -1
- package/dist/lib/floating/functions.d.ts.map +1 -1
- package/dist/lib/floating/functions.js +1 -1
- package/dist/lib/floating/functions.js.map +1 -1
- package/dist/lib/floating/types/component.d.ts +10 -0
- package/dist/lib/floating/types/component.d.ts.map +1 -1
- package/dist/lib/floating/types/component.js.map +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +3 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +4 -2
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useResolveTriggerType.d.ts.map +1 -1
- package/dist/lib/floating/useReferenceHiddenChangeCallback.d.ts +4 -0
- package/dist/lib/floating/useReferenceHiddenChangeCallback.d.ts.map +1 -0
- package/dist/lib/floating/useReferenceHiddenChangeCallback.js +21 -0
- package/dist/lib/floating/useReferenceHiddenChangeCallback.js.map +1 -0
- package/dist/lib/fx.d.ts.map +1 -1
- package/dist/lib/isRefObject.d.ts.map +1 -1
- package/dist/lib/object.d.ts +2 -0
- package/dist/lib/object.d.ts.map +1 -0
- package/dist/lib/object.js +9 -0
- package/dist/lib/object.js.map +1 -0
- package/dist/lib/rafSchd.d.ts.map +1 -1
- package/dist/lib/react/simulateReactInput.d.ts.map +1 -1
- package/dist/lib/select.d.ts +1 -0
- package/dist/lib/select.d.ts.map +1 -1
- package/dist/lib/select.js.map +1 -1
- package/dist/lib/sheet/controllers/BottomSheetController.d.ts.map +1 -1
- package/dist/lib/sheet/controllers/BottomSheetController.js +13 -23
- package/dist/lib/sheet/controllers/BottomSheetController.js.map +1 -1
- package/dist/lib/sheet/controllers/CSSTransitionController.d.ts.map +1 -1
- package/dist/lib/sheet/controllers/CSSTransitionController.js +4 -5
- package/dist/lib/sheet/controllers/CSSTransitionController.js.map +1 -1
- package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
- package/dist/lib/touch/functions.d.ts.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +5 -4
- package/src/components/Accordion/Accordion.module.css +6 -6
- package/src/components/Accordion/Accordion.tsx +2 -2
- package/src/components/ActionSheet/ActionSheet.module.css +9 -9
- package/src/components/ActionSheet/ActionSheet.tsx +5 -2
- package/src/components/ActionSheet/ActionSheetDropdownMenu.tsx +11 -3
- package/src/components/ActionSheet/ActionSheetDropdownSheet.tsx +11 -3
- package/src/components/ActionSheet/types.ts +4 -0
- package/src/components/ActionSheetItem/ActionSheetItem.module.css +17 -17
- package/src/components/Alert/Alert.module.css +25 -25
- package/src/components/Alert/Alert.tsx +33 -118
- package/src/components/Alert/AlertBase.tsx +156 -0
- package/src/components/Alert/AlertTypography.tsx +2 -1
- package/src/components/AppRoot/AppRoot.module.css +2 -2
- package/src/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.tsx +1 -1
- package/src/components/AppRoot/ScrollContext.tsx +162 -50
- package/src/components/AspectRatio/AspectRatio.module.css +2 -2
- package/src/components/Avatar/Avatar.module.css +1 -1
- package/src/components/Avatar/AvatarBadge/AvatarBadge.module.css +8 -3
- package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +4 -1
- package/src/components/Banner/Banner.module.css +17 -17
- package/src/components/Button/Button.module.css +11 -11
- package/src/components/ButtonGroup/ButtonGroup.tsx +2 -0
- package/src/components/Calendar/Calendar.module.css +7 -7
- package/src/components/Calendar/Calendar.tsx +110 -100
- package/src/components/CalendarDay/CalendarDay.module.css +11 -11
- package/src/components/CalendarDay/CalendarDay.tsx +1 -3
- package/src/components/CalendarDays/CalendarDays.module.css +7 -7
- package/src/components/CalendarDays/CalendarDays.tsx +1 -1
- package/src/components/CalendarHeader/CalendarHeader.module.css +4 -4
- package/src/components/CalendarHeader/CalendarHeader.tsx +1 -3
- package/src/components/CalendarRange/CalendarRange.module.css +5 -5
- package/src/components/CalendarRange/CalendarRange.tsx +105 -109
- package/src/components/CalendarTime/CalendarTime.module.css +1 -1
- package/src/components/CalendarTime/CalendarTime.tsx +17 -9
- package/src/components/Card/Card.module.css +7 -7
- package/src/components/CardGrid/CardGrid.module.css +3 -3
- package/src/components/CardScroll/CardScroll.module.css +16 -16
- package/src/components/CardScroll/CardScroll.tsx +49 -29
- package/src/components/CarouselBase/CarouselBase.module.css +11 -11
- package/src/components/CarouselBase/CarouselBase.tsx +107 -44
- package/src/components/CarouselBase/helpers.ts +108 -46
- package/src/components/Cell/Cell.module.css +16 -2
- package/src/components/Cell/CellDragger/CellDragger.module.css +2 -2
- package/src/components/CellButton/CellButton.module.css +7 -7
- package/src/components/CellButtonGroup/CellButtonGroup.tsx +20 -0
- package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.module.css +5 -0
- package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.tsx +21 -0
- package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +2 -2
- package/src/components/ChipsInputBase/Chip/Chip.module.css +16 -16
- package/src/components/ChipsInputBase/ChipsInputBase.module.css +10 -10
- package/src/components/ChipsInputBase/ChipsInputBase.tsx +1 -0
- package/src/components/ChipsInputBase/helpers.ts +5 -1
- package/src/components/ChipsInputBase/types.ts +1 -1
- package/src/components/ChipsSelect/ChipsSelect.module.css +1 -1
- package/src/components/ChipsSelect/ChipsSelect.tsx +8 -1
- package/src/components/ChipsSelect/useChipsSelect.ts +12 -1
- package/src/components/Clickable/Clickable.module.css +1 -1
- package/src/components/Clickable/Clickable.tsx +37 -25
- package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +1 -1
- package/src/components/ConfigProvider/ConfigProvider.tsx +4 -1
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +29 -15
- package/src/components/ContentBadge/ContentBadge.module.css +7 -7
- package/src/components/ContentCard/ContentCard.module.css +6 -6
- package/src/components/ContentCard/ContentCard.tsx +9 -3
- package/src/components/Counter/Counter.module.css +4 -4
- package/src/components/CustomScrollView/CustomScrollView.module.css +2 -2
- package/src/components/CustomSelect/CustomSelect.module.css +2 -2
- package/src/components/CustomSelect/CustomSelect.tsx +153 -93
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css +12 -12
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.module.css +2 -2
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +2 -0
- package/src/components/CustomSelectOption/CustomSelectOption.module.css +8 -8
- package/src/components/DateInput/DateInput.module.css +38 -5
- package/src/components/DateInput/DateInput.tsx +152 -89
- package/src/components/DateInput/hooks.ts +93 -0
- package/src/components/DateRangeInput/DateRangeInput.module.css +3 -3
- package/src/components/DateRangeInput/DateRangeInput.tsx +127 -83
- package/src/components/DirectionProvider/DirectionProvider.tsx +17 -0
- package/src/components/DropZone/DropZone.module.css +2 -2
- package/src/components/FixedLayout/FixedLayout.module.css +3 -3
- package/src/components/Flex/Flex.module.css +26 -14
- package/src/components/Flex/Flex.tsx +3 -6
- package/src/components/FloatingArrow/FloatingArrow.module.css +1 -1
- package/src/components/Footer/Footer.module.css +1 -1
- package/src/components/FormField/FormField.module.css +24 -24
- package/src/components/FormItem/FormItem.module.css +11 -10
- package/src/components/FormLayoutGroup/FormLayoutGroup.module.css +5 -5
- package/src/components/GridAvatar/GridAvatar.module.css +2 -2
- package/src/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css +2 -2
- package/src/components/Group/Group.module.css +16 -16
- package/src/components/Header/Header.module.css +5 -5
- package/src/components/HorizontalCell/HorizontalCell.module.css +3 -3
- package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css +2 -2
- package/src/components/HorizontalScroll/HorizontalScroll.module.css +10 -4
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +47 -19
- package/src/components/IconButton/IconButton.module.css +9 -9
- package/src/components/ImageBase/ImageBase.module.css +15 -6
- package/src/components/ImageBase/ImageBase.tsx +16 -5
- package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +5 -5
- package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css +8 -8
- package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +2 -2
- package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.tsx +5 -4
- package/src/components/ImageBase/ImageBaseOverlay/hooks.ts +31 -0
- package/src/components/ImageBase/ImageBaseOverlay/types.ts +4 -0
- package/src/components/InfoRow/InfoRow.module.css +3 -3
- package/src/components/Input/Input.module.css +5 -5
- package/src/components/InputLike/InputLike.module.css +3 -3
- package/src/components/Link/Link.module.css +6 -6
- package/src/components/Mark/Mark.module.css +2 -2
- package/src/components/MiniInfoCell/MiniInfoCell.module.css +5 -5
- package/src/components/ModalCard/ModalCard.module.css +4 -4
- package/src/components/ModalCard/ModalCard.tsx +3 -9
- package/src/components/ModalCard/ModalCardInternal.tsx +2 -0
- package/src/components/ModalCard/types.ts +2 -1
- package/src/components/ModalCardBase/ModalCardBase.module.css +7 -7
- package/src/components/ModalCardBase/ModalCardBase.tsx +50 -10
- package/src/components/ModalDismissButton/ModalDismissButton.module.css +0 -28
- package/src/components/ModalDismissButton/ModalDismissButton.tsx +11 -9
- package/src/components/ModalOutlet/ModalOutlet.module.css +1 -1
- package/src/components/ModalOutsideButton/ModalOutsideButton.module.css +30 -0
- package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +38 -0
- package/src/components/ModalOutsideButtons/ModalOutsideButtons.module.css +6 -0
- package/src/components/ModalOutsideButtons/ModalOutsideButtons.tsx +14 -0
- package/src/components/ModalOverlay/ModalOverlay.module.css +2 -2
- package/src/components/ModalPage/ModalPage.module.css +15 -16
- package/src/components/ModalPage/ModalPage.tsx +3 -10
- package/src/components/ModalPage/ModalPageBase.tsx +92 -0
- package/src/components/ModalPage/ModalPageInternal.tsx +23 -42
- package/src/components/ModalPage/types.ts +12 -0
- package/src/components/ModalPageFooter/ModalPageFooter.module.css +4 -4
- package/src/components/ModalPageHeader/ModalPageHeader.module.css +2 -3
- package/src/components/ModalRoot/types.ts +1 -0
- package/src/components/ModalRoot/useModalManager.tsx +12 -5
- package/src/components/ModalRoot/useModalRootContext.ts +1 -1
- package/src/components/OnboardingTooltip/OnboardingTooltip.module.css +1 -1
- package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +21 -12
- package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +10 -1
- package/src/components/OnboardingTooltip/OnboardingTooltipContext.tsx +11 -0
- package/src/components/Pagination/Pagination.module.css +1 -1
- package/src/components/Pagination/Pagination.tsx +5 -2
- package/src/components/Pagination/PaginationPage/PaginationPage.module.css +8 -8
- package/src/components/Panel/Panel.module.css +3 -3
- package/src/components/PanelHeader/PanelHeader.module.css +27 -27
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +3 -0
- package/src/components/PanelHeaderButton/PanelHeaderButton.module.css +14 -8
- package/src/components/PanelHeaderContent/PanelHeaderContent.module.css +10 -10
- package/src/components/PanelHeaderContext/PanelHeaderContext.module.css +7 -7
- package/src/components/Placeholder/Placeholder.module.css +3 -3
- package/src/components/PlatformProvider/PlatformProvider.tsx +1 -1
- package/src/components/PopoutWrapper/PopoutWrapper.module.css +14 -9
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +25 -2
- package/src/components/Popover/Popover.module.css +1 -1
- package/src/components/Popover/Popover.tsx +6 -4
- package/src/components/Popover/usePopover.tsx +106 -85
- package/src/components/Popper/Popper.tsx +17 -6
- package/src/components/Progress/Progress.module.css +20 -9
- package/src/components/Progress/Progress.tsx +38 -9
- package/src/components/PullToRefresh/PullToRefresh.module.css +14 -14
- package/src/components/Radio/Radio.module.css +1 -1
- package/src/components/Radio/RadioInput/RadioInput.module.css +1 -1
- package/src/components/RadioGroup/RadioGroup.module.css +1 -1
- package/src/components/Removable/Removable.module.css +19 -6
- package/src/components/Removable/Removable.tsx +10 -3
- package/src/components/RichCell/RichCell.module.css +10 -10
- package/src/components/RichCell/RichCellIcon/RichCellIcon.module.css +4 -4
- package/src/components/Root/Root.module.css +10 -10
- package/src/components/ScreenSpinner/ScreenSpinner.module.css +11 -11
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +1 -1
- package/src/components/ScrollArrow/ScrollArrow.module.css +15 -14
- package/src/components/ScrollArrow/ScrollArrow.tsx +10 -1
- package/src/components/Search/Search.module.css +40 -28
- package/src/components/Search/Search.tsx +16 -0
- package/src/components/SegmentedControl/SegmentedControl.module.css +16 -7
- package/src/components/SegmentedControl/SegmentedControl.tsx +11 -13
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +11 -11
- package/src/components/Select/Select.module.css +14 -14
- package/src/components/SelectionControl/SelectionControl.module.css +2 -2
- package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +5 -5
- package/src/components/Separator/Separator.module.css +3 -3
- package/src/components/SimpleCell/SimpleCell.module.css +18 -16
- package/src/components/SimpleGrid/SimpleGrid.module.css +2 -2
- package/src/components/Skeleton/Skeleton.module.css +8 -8
- package/src/components/Slider/Slider.module.css +25 -4
- package/src/components/Slider/Slider.tsx +23 -15
- package/src/components/Slider/SliderThumb/SliderThumb.module.css +7 -7
- package/src/components/Slider/SliderThumb/SliderThumb.tsx +5 -5
- package/src/components/Snackbar/Snackbar.module.css +23 -6
- package/src/components/Snackbar/Snackbar.tsx +7 -0
- package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +9 -8
- package/src/components/Snackbar/utils.ts +24 -6
- package/src/components/Spacing/Spacing.module.css +1 -1
- package/src/components/Spinner/Spinner.module.css +2 -2
- package/src/components/SplitCol/SplitCol.module.css +9 -9
- package/src/components/SplitLayout/SplitLayout.module.css +2 -2
- package/src/components/SubnavigationBar/SubnavigationBar.module.css +4 -4
- package/src/components/SubnavigationButton/SubnavigationButton.module.css +9 -5
- package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -0
- package/src/components/Switch/Switch.module.css +25 -17
- package/src/components/Switch/Switch.tsx +4 -0
- package/src/components/Tabbar/Tabbar.module.css +5 -5
- package/src/components/TabbarItem/TabbarItem.module.css +16 -16
- package/src/components/Tabs/Tabs.module.css +1 -1
- package/src/components/Tabs/Tabs.tsx +3 -1
- package/src/components/TabsItem/TabsItem.module.css +21 -20
- package/src/components/Tappable/Tappable.module.css +7 -7
- package/src/components/Textarea/Textarea.module.css +7 -3
- package/src/components/ToolButton/ToolButton.module.css +7 -7
- package/src/components/Tooltip/Tooltip.tsx +9 -142
- package/src/components/Tooltip/useTooltip.tsx +168 -0
- package/src/components/TooltipBase/TooltipBase.module.css +9 -9
- package/src/components/Touch/Touch.tsx +35 -3
- package/src/components/Typography/Caption/Caption.module.css +96 -96
- package/src/components/Typography/DisplayTitle/DisplayTitle.module.css +64 -64
- package/src/components/Typography/EllipsisText/EllipsisText.module.css +3 -3
- package/src/components/Typography/Footnote/Footnote.module.css +32 -32
- package/src/components/Typography/Headline/Headline.module.css +20 -20
- package/src/components/Typography/Paragraph/Paragraph.module.css +16 -16
- package/src/components/Typography/Subhead/Subhead.module.css +16 -16
- package/src/components/Typography/Text/Text.module.css +16 -16
- package/src/components/Typography/Title/Title.module.css +48 -48
- package/src/components/Typography/Typography.module.css +1 -1
- package/src/components/UnstyledTextField/UnstyledTextField.module.css +4 -4
- package/src/components/UsersStack/UsersStack.module.css +4 -4
- package/src/components/UsersStack/UsersStack.tsx +3 -7
- package/src/components/View/View.module.css +8 -8
- package/src/components/VisuallyHidden/VisuallyHidden.module.css +8 -8
- package/src/components/WriteBar/WriteBar.module.css +10 -10
- package/src/components/WriteBarIcon/WriteBarIcon.module.css +9 -9
- package/src/context/CalendarDirectionContext.ts +1 -1
- package/src/helpers/getValueByKey.ts +25 -0
- package/src/hooks/useAutoDetectDirection.ts +18 -0
- package/src/hooks/useCalendar.ts +1 -1
- package/src/hooks/useConfigDirection.ts +8 -0
- package/src/hooks/useDateInput.ts +6 -6
- package/src/hooks/useFloatingElement.tsx +172 -0
- package/src/hooks/useFocusVisible.ts +12 -1
- package/src/hooks/useReferenceElement.tsx +13 -0
- package/src/hooks/useTabsNavigation.ts +5 -3
- package/src/hooks/useTodayDate.ts +34 -31
- package/src/index.ts +9 -2
- package/src/lib/SSR.tsx +11 -2
- package/src/lib/date.ts +29 -0
- package/src/lib/direction/index.ts +1 -0
- package/src/lib/dom.tsx +8 -0
- package/src/lib/floating/adapters.ts +2 -0
- package/src/lib/floating/customResizeObserver.ts +2 -1
- package/src/lib/floating/functions.ts +15 -7
- package/src/lib/floating/types/component.ts +10 -0
- package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +6 -1
- package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -3
- package/src/lib/floating/useReferenceHiddenChangeCallback.ts +26 -0
- package/src/lib/object.ts +14 -0
- package/src/lib/select.ts +2 -0
- package/src/lib/sheet/controllers/BottomSheetController.ts +4 -1
- package/src/lib/sheet/controllers/CSSTransitionController.ts +7 -4
- package/src/lib/tokens/TokensClassProvider.module.css +1 -1
- package/src/styles/common.css +2 -2
- package/src/styles/constants.css +2 -2
- package/dist/components/ModalCardBase/ModalCardBaseCloseButton.d.ts +0 -10
- package/dist/components/ModalCardBase/ModalCardBaseCloseButton.d.ts.map +0 -1
- package/dist/components/ModalCardBase/ModalCardBaseCloseButton.js +0 -38
- package/dist/components/ModalCardBase/ModalCardBaseCloseButton.js.map +0 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBaseCloseButton.js +0 -39
- package/dist/cssm/components/ModalCardBase/ModalCardBaseCloseButton.js.map +0 -1
- package/dist/cssm/hooks/useDirection.js +0 -55
- package/dist/cssm/hooks/useDirection.js.map +0 -1
- package/dist/cssm/lib/tokens/index.js +0 -5
- package/dist/cssm/lib/tokens/index.js.map +0 -1
- package/dist/hooks/useDirection.d.ts +0 -39
- package/dist/hooks/useDirection.d.ts.map +0 -1
- package/dist/hooks/useDirection.js +0 -55
- package/dist/hooks/useDirection.js.map +0 -1
- package/dist/lib/tokens/index.d.ts +0 -5
- package/dist/lib/tokens/index.d.ts.map +0 -1
- package/dist/lib/tokens/index.js +0 -5
- package/dist/lib/tokens/index.js.map +0 -1
- package/src/components/ModalCardBase/ModalCardBaseCloseButton.tsx +0 -51
- package/src/hooks/useDirection.ts +0 -63
- package/src/lib/tokens/index.ts +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useDOM } from '../../lib/dom';\nimport type { HasChildren } from '../../types';\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: '',\n top: '',\n left: '',\n right: '',\n overscrollBehavior: '',\n overflowY: '',\n overflowX: '',\n });\n};\n\nconst getPageYOffsetWithoutKeyboardHeight = (window: Window) => {\n // Note: здесь расчёт на то, что `clientHeight` равен `window.innerHeight`.\n // Это достигается тем, что тегу `html` задали`height: 100%` и у него нет отступов сверху и снизу. Если есть отступы,\n // то надо задать `box-sizing: border-box`, чтобы они не учитывались.\n const diffOfClientHeightAndViewportHeight =\n window.document.documentElement.clientHeight - window.innerHeight;\n return window.pageYOffset - diffOfClientHeightAndViewportHeight;\n};\n\nexport type GetScrollOptions = {\n compensateKeyboardHeight?: boolean;\n};\n\nexport interface ScrollContextInterface {\n getScroll: (this: void, options?: GetScrollOptions) => { x: number; y: number };\n scrollTo: (this: void, x?: number, y?: number) => void;\n /**\n * Увеличивает счетчик блокировки прокрутки\n */\n incrementScrollLockCounter: (this: void) => void;\n /**\n * Уменьшает счетчик блокировки прокрутки\n */\n decrementScrollLockCounter: (this: void) => void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext: React.Context<ScrollContextInterface> =\n React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n incrementScrollLockCounter: noop,\n decrementScrollLockCounter: noop,\n });\n\nexport const useScroll = (): ScrollContextInterface => React.useContext(ScrollContext);\n\n/**\n * Управляет блокировкой окна в зависимости от внутреннего счетчика.\n * Если счетчик больше нуля, требуется заблокировать прокрутку\n */\nfunction useScrollLockController(enableScrollLock: () => void, disableScrollLock: () => void) {\n const countRef = React.useRef(0);\n\n const updateScrollLock = React.useCallback(() => {\n if (countRef.current > 0) {\n enableScrollLock();\n } else {\n disableScrollLock();\n }\n }, [enableScrollLock, disableScrollLock]);\n\n const incrementScrollLockCounter = React.useCallback(() => {\n countRef.current += 1;\n updateScrollLock();\n }, [updateScrollLock]);\n\n const decrementScrollLockCounter = React.useCallback(() => {\n countRef.current -= 1;\n updateScrollLock();\n }, [updateScrollLock]);\n\n return [incrementScrollLockCounter, decrementScrollLockCounter];\n}\n\nexport interface ScrollControllerProps extends HasChildren {\n elRef: React.RefObject<HTMLElement | null>;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps): React.ReactNode => {\n const { window, document } = useDOM();\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n (options = { compensateKeyboardHeight: true }) => ({\n x: window!.pageXOffset,\n y: options.compensateKeyboardHeight\n ? getPageYOffsetWithoutKeyboardHeight(window!)\n : window!.pageYOffset,\n }),\n [window],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0,\n );\n },\n [document, window],\n );\n\n const enableScrollLock = React.useCallback(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY = window!.innerWidth > document!.documentElement.clientWidth ? 'scroll' : '';\n const overflowX = window!.innerHeight > document!.documentElement.clientHeight ? 'scroll' : '';\n\n Object.assign(document!.documentElement.style, { overscrollBehavior: 'none' });\n Object.assign(document!.body.style, {\n position: 'fixed',\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: '0',\n overscrollBehavior: 'none',\n overflowY,\n overflowX,\n });\n }, [document, window]);\n\n const disableScrollLock = React.useCallback(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n Object.assign(document!.documentElement.style, { overscrollBehavior: '' });\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || '0'), -parseInt(scrollY || '0'));\n }, [document, window]);\n\n const [incrementScrollLockCounter, decrementScrollLockCounter] = useScrollLockController(\n enableScrollLock,\n disableScrollLock,\n );\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n incrementScrollLockCounter,\n decrementScrollLockCounter,\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, incrementScrollLockCounter, decrementScrollLockCounter],\n );\n\n return <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\nexport const ElementScrollController = ({\n elRef,\n children,\n}: ScrollControllerProps): React.ReactNode => {\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0,\n );\n },\n [elRef],\n );\n\n const enableScrollLock = React.useCallback(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? 'scroll' : '';\n const overflowX = el.scrollHeight > el.clientHeight ? 'scroll' : '';\n\n Object.assign(el.style, {\n position: 'absolute',\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: '0',\n overflowY,\n overflowX,\n });\n }, [elRef]);\n\n const disableScrollLock = React.useCallback(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || '0'), -parseInt(scrollY || '0'));\n }, [elRef]);\n\n const [incrementScrollLockCounter, decrementScrollLockCounter] = useScrollLockController(\n enableScrollLock,\n disableScrollLock,\n );\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n incrementScrollLockCounter,\n decrementScrollLockCounter,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, incrementScrollLockCounter, decrementScrollLockCounter],\n );\n\n return <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\n/**\n * Блокирует прокрутку окна\n *\n * @param enabled - если false то не будет блокировать\n */\nexport const useScrollLock = (enabled = true): void => {\n const { incrementScrollLockCounter, decrementScrollLockCounter } = useScroll();\n\n React.useEffect(() => {\n if (enabled) {\n incrementScrollLockCounter();\n return decrementScrollLockCounter;\n }\n\n return noop;\n }, [enabled, incrementScrollLockCounter, decrementScrollLockCounter]);\n};\n"],"names":["React","noop","clamp","useDOM","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overscrollBehavior","overflowY","overflowX","getPageYOffsetWithoutKeyboardHeight","window","diffOfClientHeightAndViewportHeight","document","documentElement","clientHeight","innerHeight","pageYOffset","ScrollContext","createContext","getScroll","x","y","scrollTo","incrementScrollLockCounter","decrementScrollLockCounter","useScroll","useContext","useScrollLockController","enableScrollLock","disableScrollLock","countRef","useRef","updateScrollLock","useCallback","current","GlobalScrollController","children","beforeScrollLockFnSetRef","Set","options","compensateKeyboardHeight","pageXOffset","body","scrollWidth","innerWidth","scrollHeight","forEach","fn","scrollY","scrollX","clientWidth","parseInt","scrollController","useMemo","Provider","value","ElementScrollController","elRef","scrollLeft","scrollTop","el","useScrollLock","enabled","useEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useDOM } from '../../lib/dom';\nimport type { HasChildren } from '../../types';\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: '',\n top: '',\n left: '',\n right: '',\n overscrollBehavior: '',\n overflowY: '',\n overflowX: '',\n });\n};\n\nconst getPageYOffsetWithoutKeyboardHeight = (window: Window, scrollTop: number) => {\n // Note: здесь расчёт на то, что `clientHeight` равен `window.innerHeight`.\n // Это достигается тем, что тегу `html` задали`height: 100%` и у него нет отступов сверху и снизу. Если есть отступы,\n // то надо задать `box-sizing: border-box`, чтобы они не учитывались.\n const diffOfClientHeightAndViewportHeight =\n window.document.documentElement.clientHeight - window.innerHeight;\n return scrollTop - diffOfClientHeightAndViewportHeight;\n};\n\nexport type GetScrollOptions = {\n compensateKeyboardHeight?: boolean;\n};\n\nexport interface ScrollContextInterface {\n getScroll: (this: void, options?: GetScrollOptions) => { x: number; y: number };\n scrollTo: (this: void, x?: number, y?: number) => void;\n /**\n * Увеличивает счетчик блокировки прокрутки\n */\n incrementScrollLockCounter: (this: void) => void;\n /**\n * Уменьшает счетчик блокировки прокрутки\n */\n decrementScrollLockCounter: (this: void) => void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext: React.Context<ScrollContextInterface> =\n React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n incrementScrollLockCounter: noop,\n decrementScrollLockCounter: noop,\n });\n\nexport const useScroll = (): ScrollContextInterface => React.useContext(ScrollContext);\n\n/**\n * Управляет блокировкой окна в зависимости от внутреннего счетчика.\n * Если счетчик больше нуля, требуется заблокировать прокрутку\n */\nfunction useScrollLockController(enableScrollLock: () => void, disableScrollLock: () => void) {\n const countRef = React.useRef(0);\n\n const updateScrollLock = React.useCallback(() => {\n if (countRef.current > 0) {\n enableScrollLock();\n } else {\n disableScrollLock();\n }\n }, [enableScrollLock, disableScrollLock]);\n\n const incrementScrollLockCounter = React.useCallback(() => {\n countRef.current += 1;\n updateScrollLock();\n }, [updateScrollLock]);\n\n const decrementScrollLockCounter = React.useCallback(() => {\n countRef.current -= 1;\n updateScrollLock();\n }, [updateScrollLock]);\n\n return [incrementScrollLockCounter, decrementScrollLockCounter];\n}\n\nexport function useManualScroll(): Pick<ScrollContextInterface, 'scrollTo' | 'getScroll'> {\n const { scrollTo, getScroll } = React.useContext(ScrollContext);\n return React.useMemo(\n () => ({\n scrollTo,\n getScroll,\n }),\n [getScroll, scrollTo],\n );\n}\n\nexport interface ScrollControllerProps extends HasChildren {\n elRef: React.RefObject<HTMLElement | null>;\n}\n\nconst _scrollTo = ({\n x,\n y,\n scrollWidth,\n clientWidth,\n scrollHeight,\n clientHeight,\n scrollLockEnabled,\n lockedElement,\n elementToScroll,\n}: {\n x: number;\n y: number;\n scrollWidth: number;\n clientWidth: number;\n scrollHeight: number;\n clientHeight: number;\n scrollLockEnabled: boolean;\n lockedElement: HTMLElement;\n elementToScroll: Window | HTMLElement;\n}) => {\n // Some iOS versions do not normalize scroll — do it manually.\n const left = x ? clamp(x, 0, scrollWidth - clientWidth) : 0;\n const top = y ? clamp(y, 0, scrollHeight - clientHeight) : 0;\n\n if (scrollLockEnabled) {\n Object.assign(lockedElement.style, {\n left: `-${left}px`,\n top: `-${top}px`,\n });\n } else {\n elementToScroll.scrollTo({\n left,\n top,\n });\n }\n};\n\nconst _getScroll = ({\n xOffset,\n yOffset,\n element,\n scrollLockEnabled,\n customCalcY = (v) => v,\n}: {\n xOffset: number;\n yOffset: number;\n element: HTMLElement;\n scrollLockEnabled: boolean;\n customCalcY?: (scrollTop: number) => number;\n}) => {\n const elementStyles = element.style;\n const [scrollLeft, scrollTop] = scrollLockEnabled\n ? [-parseFloat(elementStyles.left || '0'), -parseFloat(elementStyles.top || '0')]\n : [xOffset, yOffset];\n return {\n x: scrollLeft,\n y: customCalcY(scrollTop),\n };\n};\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps): React.ReactNode => {\n const { window, document } = useDOM();\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n const scrollLockEnabledRef = React.useRef(false);\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n (options = { compensateKeyboardHeight: true }) => {\n if (!window || !document) {\n return { x: 0, y: 0 };\n }\n return _getScroll({\n xOffset: window.pageXOffset,\n yOffset: window.pageYOffset,\n element: document.documentElement,\n scrollLockEnabled: scrollLockEnabledRef.current,\n customCalcY: (scrollTop) =>\n options.compensateKeyboardHeight\n ? getPageYOffsetWithoutKeyboardHeight(window, scrollTop)\n : scrollTop,\n });\n },\n [document, window],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n if (!window || !document) {\n return;\n }\n _scrollTo({\n x,\n y,\n\n scrollWidth: document.body.scrollWidth,\n clientWidth: window.innerWidth,\n\n scrollHeight: document.body.scrollHeight,\n clientHeight: window.innerHeight,\n\n scrollLockEnabled: scrollLockEnabledRef.current,\n lockedElement: document.documentElement,\n elementToScroll: window,\n });\n },\n [document, window],\n );\n\n const enableScrollLock = React.useCallback(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n const { x: scrollX, y: scrollY } = getScroll({ compensateKeyboardHeight: false });\n const overflowY = window!.innerWidth > document!.documentElement.clientWidth ? 'scroll' : '';\n const overflowX = window!.innerHeight > document!.documentElement.clientHeight ? 'scroll' : '';\n\n Object.assign(document!.documentElement.style, {\n position: 'fixed',\n right: '0',\n overscrollBehavior: 'none',\n overflowY,\n overflowX,\n });\n\n scrollLockEnabledRef.current = true;\n\n scrollTo(scrollX, scrollY);\n }, [document, getScroll, scrollTo, window]);\n\n const disableScrollLock = React.useCallback(() => {\n const scrollData = getScroll({ compensateKeyboardHeight: false });\n clearDisableScrollStyle(document!.documentElement);\n scrollLockEnabledRef.current = false;\n\n scrollTo(scrollData.x, scrollData.y);\n }, [document, getScroll, scrollTo]);\n\n const [incrementScrollLockCounter, decrementScrollLockCounter] = useScrollLockController(\n enableScrollLock,\n disableScrollLock,\n );\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n incrementScrollLockCounter,\n decrementScrollLockCounter,\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, incrementScrollLockCounter, decrementScrollLockCounter],\n );\n\n return <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\nexport const ElementScrollController = ({\n elRef,\n children,\n}: ScrollControllerProps): React.ReactNode => {\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n const scrollLockEnabledRef = React.useRef(false);\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(() => {\n const element = elRef.current;\n if (!element) {\n return { x: 0, y: 0 };\n }\n return _getScroll({\n xOffset: element.scrollLeft,\n yOffset: element.scrollTop,\n element: element,\n scrollLockEnabled: scrollLockEnabledRef.current,\n });\n }, [elRef]);\n\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n _scrollTo({\n x,\n y,\n\n scrollWidth: el.scrollWidth,\n clientWidth: el.clientWidth,\n\n scrollHeight: el.scrollHeight,\n clientHeight: el.clientHeight,\n\n scrollLockEnabled: scrollLockEnabledRef.current,\n lockedElement: el,\n elementToScroll: el,\n });\n },\n [elRef],\n );\n\n const enableScrollLock = React.useCallback(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const { x: scrollX, y: scrollY } = getScroll();\n\n const overflowY = el.scrollWidth > el.clientWidth ? 'scroll' : '';\n const overflowX = el.scrollHeight > el.clientHeight ? 'scroll' : '';\n\n Object.assign(el.style, {\n position: 'absolute',\n right: '0',\n overflowY,\n overflowX,\n });\n scrollLockEnabledRef.current = true;\n\n scrollTo(scrollX, scrollY);\n }, [elRef, getScroll, scrollTo]);\n\n const disableScrollLock = React.useCallback(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollData = getScroll();\n clearDisableScrollStyle(el);\n scrollLockEnabledRef.current = false;\n\n scrollTo(scrollData.x, scrollData.y);\n }, [elRef, getScroll, scrollTo]);\n\n const [incrementScrollLockCounter, decrementScrollLockCounter] = useScrollLockController(\n enableScrollLock,\n disableScrollLock,\n );\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n incrementScrollLockCounter,\n decrementScrollLockCounter,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, incrementScrollLockCounter, decrementScrollLockCounter],\n );\n\n return <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\n/**\n * Блокирует прокрутку окна\n *\n * @param enabled - если false то не будет блокировать\n */\nexport const useScrollLock = (enabled = true): void => {\n const { incrementScrollLockCounter, decrementScrollLockCounter } = useScroll();\n\n React.useEffect(() => {\n if (enabled) {\n incrementScrollLockCounter();\n return decrementScrollLockCounter;\n }\n\n return noop;\n }, [enabled, incrementScrollLockCounter, decrementScrollLockCounter]);\n};\n"],"names":["React","noop","clamp","useDOM","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overscrollBehavior","overflowY","overflowX","getPageYOffsetWithoutKeyboardHeight","window","scrollTop","diffOfClientHeightAndViewportHeight","document","documentElement","clientHeight","innerHeight","ScrollContext","createContext","getScroll","x","y","scrollTo","incrementScrollLockCounter","decrementScrollLockCounter","useScroll","useContext","useScrollLockController","enableScrollLock","disableScrollLock","countRef","useRef","updateScrollLock","useCallback","current","useManualScroll","useMemo","_scrollTo","scrollWidth","clientWidth","scrollHeight","scrollLockEnabled","lockedElement","elementToScroll","_getScroll","xOffset","yOffset","element","customCalcY","v","elementStyles","scrollLeft","parseFloat","GlobalScrollController","children","beforeScrollLockFnSetRef","Set","scrollLockEnabledRef","options","compensateKeyboardHeight","pageXOffset","pageYOffset","body","innerWidth","forEach","fn","scrollX","scrollY","scrollData","scrollController","Provider","value","ElementScrollController","elRef","el","useScrollLock","enabled","useEffect"],"mappings":"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"}
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.host::before {
|
|
9
|
-
content: '';
|
|
10
|
-
block-size: 0;
|
|
11
9
|
display: block;
|
|
10
|
+
block-size: 0;
|
|
12
11
|
-webkit-padding-after: calc((1 / var(--vkui_internal--aspect_ratio, 1)) * 100%);
|
|
13
12
|
padding-block-end: calc((1 / var(--vkui_internal--aspect_ratio, 1)) * 100%);
|
|
13
|
+
content: '';
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
/* stylelint-disable-next-line selector-max-universal */
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
.host {
|
|
2
|
-
inset-inline-end: 0;
|
|
3
2
|
inset-block-end: 0;
|
|
3
|
+
inset-inline-end: 0;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.shifted {
|
|
7
|
-
inset-inline-end: -2px;
|
|
8
7
|
inset-block-end: -2px;
|
|
8
|
+
inset-inline-end: -2px;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
.presetOnline,
|
|
12
12
|
.presetOnlineMobile {
|
|
13
|
-
inset-inline-end: 14%;
|
|
14
13
|
inset-block-end: 14%;
|
|
14
|
+
inset-inline-end: 14%;
|
|
15
15
|
color: var(--vkui--color_accent_green);
|
|
16
16
|
transform: translate(50%, 50%);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
.rtl.presetOnline,
|
|
20
|
+
.rtl.presetOnlineMobile {
|
|
21
|
+
transform: translate(-50%, 50%);
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
/**
|
|
20
25
|
* Перебиваем свойства `ImageBaseBadge` для этих кейсов
|
|
21
26
|
*/
|
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { classNames } from "@vkontakte/vkjs";
|
|
5
|
+
import { useConfigDirection } from "../../../hooks/useConfigDirection.js";
|
|
5
6
|
import { getBadgeIconSizeByImageBaseSize, ImageBase, ImageBaseContext } from "../../ImageBase/ImageBase.js";
|
|
6
7
|
import { Icon12Circle, Icon12OnlineMobile } from "./icons.js";
|
|
7
8
|
import styles from "./AvatarBadge.module.css";
|
|
8
9
|
export const AvatarBadgeWithPreset = ({ preset = 'online', className, ...restProps })=>{
|
|
10
|
+
const direction = useConfigDirection();
|
|
11
|
+
const isRtl = direction === 'rtl';
|
|
9
12
|
const { size } = React.useContext(ImageBaseContext);
|
|
10
13
|
const badgeSize = getBadgeIconSizeByImageBaseSize(size);
|
|
11
14
|
const isOnlinePreset = preset === 'online';
|
|
@@ -13,7 +16,7 @@ export const AvatarBadgeWithPreset = ({ preset = 'online', className, ...restPro
|
|
|
13
16
|
const Icon = isOnlinePreset ? Icon12Circle : Icon12OnlineMobile;
|
|
14
17
|
return /*#__PURE__*/ _jsx(ImageBase.Badge, {
|
|
15
18
|
background: "stroke",
|
|
16
|
-
className: classNames(styles.host, presetClassName, className),
|
|
19
|
+
className: classNames(styles.host, isRtl && styles.rtl, presetClassName, className),
|
|
17
20
|
...restProps,
|
|
18
21
|
children: /*#__PURE__*/ _jsx(Icon, {
|
|
19
22
|
width: badgeSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport {\n getBadgeIconSizeByImageBaseSize,\n ImageBase,\n type ImageBaseBadgeProps,\n ImageBaseContext,\n} from '../../ImageBase/ImageBase';\nimport { Icon12Circle, Icon12OnlineMobile } from './icons';\nimport styles from './AvatarBadge.module.css';\n\nexport interface AvatarBadgeWithPresetProps\n extends Omit<ImageBaseBadgeProps, 'background' | 'children'> {\n /**\n * Использует предзаданные настройки.\n *\n * За каждым пресетом закреплена своя иконка и стили.\n */\n preset?: 'online' | 'online-mobile';\n}\n\nexport const AvatarBadgeWithPreset: React.FC<AvatarBadgeWithPresetProps> = ({\n preset = 'online',\n className,\n ...restProps\n}: AvatarBadgeWithPresetProps) => {\n const { size } = React.useContext(ImageBaseContext);\n const badgeSize = getBadgeIconSizeByImageBaseSize(size);\n const isOnlinePreset = preset === 'online';\n const presetClassName = isOnlinePreset ? styles.presetOnline : styles.presetOnlineMobile;\n const Icon = isOnlinePreset ? Icon12Circle : Icon12OnlineMobile;\n\n return (\n <ImageBase.Badge\n background=\"stroke\"\n className={classNames(styles.host, presetClassName, className)}\n {...restProps}\n >\n <Icon width={badgeSize} height={badgeSize} />\n </ImageBase.Badge>\n );\n};\n\nAvatarBadgeWithPreset.displayName = 'Avatar.BadgeWithPreset';\n"],"names":["React","classNames","getBadgeIconSizeByImageBaseSize","ImageBase","ImageBaseContext","Icon12Circle","Icon12OnlineMobile","styles","AvatarBadgeWithPreset","preset","className","restProps","size","useContext","badgeSize","isOnlinePreset","presetClassName","presetOnline","presetOnlineMobile","Icon","Badge","background","host","width","height","displayName"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SACEC,+BAA+B,EAC/BC,SAAS,EAETC,gBAAgB,QACX,+BAA4B;AACnC,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,aAAU;AAC3D,OAAOC,YAAY,2BAA2B;AAY9C,OAAO,MAAMC,wBAA8D,CAAC,EAC1EC,SAAS,QAAQ,EACjBC,SAAS,EACT,GAAGC,WACwB;IAC3B,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../../hooks/useConfigDirection';\nimport {\n getBadgeIconSizeByImageBaseSize,\n ImageBase,\n type ImageBaseBadgeProps,\n ImageBaseContext,\n} from '../../ImageBase/ImageBase';\nimport { Icon12Circle, Icon12OnlineMobile } from './icons';\nimport styles from './AvatarBadge.module.css';\n\nexport interface AvatarBadgeWithPresetProps\n extends Omit<ImageBaseBadgeProps, 'background' | 'children'> {\n /**\n * Использует предзаданные настройки.\n *\n * За каждым пресетом закреплена своя иконка и стили.\n */\n preset?: 'online' | 'online-mobile';\n}\n\nexport const AvatarBadgeWithPreset: React.FC<AvatarBadgeWithPresetProps> = ({\n preset = 'online',\n className,\n ...restProps\n}: AvatarBadgeWithPresetProps) => {\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n const { size } = React.useContext(ImageBaseContext);\n const badgeSize = getBadgeIconSizeByImageBaseSize(size);\n const isOnlinePreset = preset === 'online';\n const presetClassName = isOnlinePreset ? styles.presetOnline : styles.presetOnlineMobile;\n const Icon = isOnlinePreset ? Icon12Circle : Icon12OnlineMobile;\n\n return (\n <ImageBase.Badge\n background=\"stroke\"\n className={classNames(styles.host, isRtl && styles.rtl, presetClassName, className)}\n {...restProps}\n >\n <Icon width={badgeSize} height={badgeSize} />\n </ImageBase.Badge>\n );\n};\n\nAvatarBadgeWithPreset.displayName = 'Avatar.BadgeWithPreset';\n"],"names":["React","classNames","useConfigDirection","getBadgeIconSizeByImageBaseSize","ImageBase","ImageBaseContext","Icon12Circle","Icon12OnlineMobile","styles","AvatarBadgeWithPreset","preset","className","restProps","direction","isRtl","size","useContext","badgeSize","isOnlinePreset","presetClassName","presetOnline","presetOnlineMobile","Icon","Badge","background","host","rtl","width","height","displayName"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAAQ,uCAAoC;AACvE,SACEC,+BAA+B,EAC/BC,SAAS,EAETC,gBAAgB,QACX,+BAA4B;AACnC,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,aAAU;AAC3D,OAAOC,YAAY,2BAA2B;AAY9C,OAAO,MAAMC,wBAA8D,CAAC,EAC1EC,SAAS,QAAQ,EACjBC,SAAS,EACT,GAAGC,WACwB;IAC3B,MAAMC,YAAYX;IAClB,MAAMY,QAAQD,cAAc;IAC5B,MAAM,EAAEE,IAAI,EAAE,GAAGf,MAAMgB,UAAU,CAACX;IAClC,MAAMY,YAAYd,gCAAgCY;IAClD,MAAMG,iBAAiBR,WAAW;IAClC,MAAMS,kBAAkBD,iBAAiBV,OAAOY,YAAY,GAAGZ,OAAOa,kBAAkB;IACxF,MAAMC,OAAOJ,iBAAiBZ,eAAeC;IAE7C,qBACE,KAACH,UAAUmB,KAAK;QACdC,YAAW;QACXb,WAAWV,WAAWO,OAAOiB,IAAI,EAAEX,SAASN,OAAOkB,GAAG,EAAEP,iBAAiBR;QACxE,GAAGC,SAAS;kBAEb,cAAA,KAACU;YAAKK,OAAOV;YAAWW,QAAQX;;;AAGtC,EAAE;AAEFR,sBAAsBoB,WAAW,GAAG"}
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
.host {
|
|
2
|
-
isolation: isolate;
|
|
3
|
-
color: var(--vkui--color_text_primary);
|
|
4
2
|
position: relative;
|
|
5
3
|
display: flex;
|
|
6
4
|
flex-flow: row nowrap;
|
|
7
5
|
align-items: stretch;
|
|
8
6
|
padding: var(--vkui_internal--banner-padding);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
color: var(--vkui--color_text_primary);
|
|
9
9
|
background-color: var(--vkui--color_background_secondary);
|
|
10
10
|
border-radius: var(--vkui--size_border_radius--regular);
|
|
11
|
-
|
|
11
|
+
isolation: isolate;
|
|
12
12
|
|
|
13
13
|
--vkui_internal--banner-padding: 12px;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.host::before {
|
|
17
|
-
content: '';
|
|
18
17
|
position: absolute;
|
|
19
|
-
inset-inline-start: 0;
|
|
20
18
|
inset-block-start: 0;
|
|
19
|
+
inset-inline-start: 0;
|
|
20
|
+
z-index: var(--vkui_internal--z_index_banner_content);
|
|
21
|
+
box-sizing: border-box;
|
|
21
22
|
display: block;
|
|
22
23
|
inline-size: 100%;
|
|
23
24
|
block-size: 100%;
|
|
25
|
+
pointer-events: none;
|
|
26
|
+
content: '';
|
|
24
27
|
border: var(--vkui--size_border--regular) solid var(--vkui--color_image_border_alpha);
|
|
25
28
|
border-radius: inherit;
|
|
26
|
-
pointer-events: none;
|
|
27
|
-
box-sizing: border-box;
|
|
28
|
-
z-index: var(--vkui_internal--z_index_banner_content);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.before {
|
|
32
32
|
position: relative;
|
|
33
|
+
z-index: var(--vkui_internal--z_index_banner_content);
|
|
33
34
|
-webkit-margin-end: 12px;
|
|
34
35
|
margin-inline-end: 12px;
|
|
35
|
-
z-index: var(--vkui_internal--z_index_banner_content);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
.content {
|
|
39
39
|
position: relative;
|
|
40
|
-
|
|
40
|
+
z-index: var(--vkui_internal--z_index_banner_content);
|
|
41
41
|
display: flex;
|
|
42
|
-
|
|
42
|
+
flex: 1;
|
|
43
43
|
flex-direction: column;
|
|
44
|
+
justify-content: center;
|
|
44
45
|
min-inline-size: 0;
|
|
45
|
-
z-index: var(--vkui_internal--z_index_banner_content);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.subtitle,
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
|
|
53
53
|
.bg {
|
|
54
54
|
position: absolute;
|
|
55
|
-
inset-inline-start: 0;
|
|
56
55
|
inset-block-start: 0;
|
|
56
|
+
inset-inline-start: 0;
|
|
57
57
|
z-index: var(--vkui_internal--z_index_banner_background);
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -78,18 +78,18 @@
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
.dismiss {
|
|
81
|
-
-
|
|
82
|
-
margin-block-start: calc(-1 * (var(--vkui_internal--banner-padding) - 2px));
|
|
83
|
-
-webkit-margin-end: calc(-1 * (var(--vkui_internal--banner-padding) - 2px));
|
|
84
|
-
margin-inline-end: calc(-1 * (var(--vkui_internal--banner-padding) - 2px));
|
|
85
|
-
align-self: flex-start;
|
|
81
|
+
z-index: var(--vkui_internal--z_index_banner_hover);
|
|
86
82
|
display: flex;
|
|
87
83
|
flex-flow: row nowrap;
|
|
88
84
|
align-content: center;
|
|
89
85
|
align-items: center;
|
|
86
|
+
align-self: flex-start;
|
|
90
87
|
justify-content: center;
|
|
88
|
+
-webkit-margin-before: calc(-1 * (var(--vkui_internal--banner-padding) - 2px));
|
|
89
|
+
margin-block-start: calc(-1 * (var(--vkui_internal--banner-padding) - 2px));
|
|
90
|
+
-webkit-margin-end: calc(-1 * (var(--vkui_internal--banner-padding) - 2px));
|
|
91
|
+
margin-inline-end: calc(-1 * (var(--vkui_internal--banner-padding) - 2px));
|
|
91
92
|
color: var(--vkui--color_icon_secondary);
|
|
92
|
-
z-index: var(--vkui_internal--z_index_banner_hover);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
.actions {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
.host {
|
|
2
2
|
position: relative;
|
|
3
|
-
display: inline-block;
|
|
4
3
|
box-sizing: border-box;
|
|
5
|
-
|
|
4
|
+
display: inline-block;
|
|
5
|
+
min-inline-size: var(--vkui--size_button_minimum_width--regular);
|
|
6
|
+
max-inline-size: 100%;
|
|
6
7
|
min-block-size: var(--vkui--size_button_small_height--compact);
|
|
7
|
-
margin: 0;
|
|
8
8
|
padding: 0;
|
|
9
|
+
margin: 0;
|
|
10
|
+
border: 0;
|
|
9
11
|
border-radius: var(--vkui--size_border_radius--regular);
|
|
10
|
-
max-inline-size: 100%;
|
|
11
|
-
min-inline-size: var(--vkui--size_button_minimum_width--regular);
|
|
12
12
|
transition:
|
|
13
13
|
background-color 0.15s ease-out,
|
|
14
14
|
color 0.15s ease-out;
|
|
@@ -40,19 +40,19 @@
|
|
|
40
40
|
|
|
41
41
|
.stretched {
|
|
42
42
|
display: block;
|
|
43
|
-
inline-size: 100%;
|
|
44
43
|
flex-grow: 1;
|
|
45
44
|
flex-basis: 0;
|
|
45
|
+
inline-size: 100%;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.in {
|
|
49
|
+
box-sizing: border-box;
|
|
49
50
|
display: flex;
|
|
50
51
|
align-items: center;
|
|
51
52
|
justify-content: center;
|
|
52
53
|
inline-size: 100%;
|
|
53
54
|
min-block-size: inherit;
|
|
54
55
|
text-align: center;
|
|
55
|
-
box-sizing: border-box;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
.alignLeft .in {
|
|
@@ -77,10 +77,10 @@
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
.content {
|
|
80
|
-
white-space: nowrap;
|
|
81
|
-
text-overflow: ellipsis;
|
|
82
80
|
overflow: hidden;
|
|
81
|
+
text-overflow: ellipsis;
|
|
83
82
|
font-weight: var(--vkui--font_weight_accent2);
|
|
83
|
+
white-space: nowrap;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
.sizeS .content:first-child {
|
|
@@ -183,13 +183,13 @@
|
|
|
183
183
|
.singleIcon .before,
|
|
184
184
|
.modeTertiary.singleIcon .after,
|
|
185
185
|
.modeTertiary.singleIcon .before {
|
|
186
|
-
margin-inline: auto;
|
|
187
186
|
padding-inline: 0;
|
|
187
|
+
margin-inline: auto;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
.modeLink {
|
|
191
|
-
background: none;
|
|
192
191
|
min-inline-size: initial;
|
|
192
|
+
background: none;
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
.modeLink .after,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport type { AlignType, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './ButtonGroup.module.css';\n\nconst stylesMode = {\n vertical: styles.modeVertical,\n horizontal: styles.modeHorizontal,\n};\n\nconst stylesGap = {\n space: styles.gapSpace,\n s: styles.gapS,\n m: styles.gapM,\n};\n\nconst stylesAlign = {\n left: styles.alignLeft,\n center: styles.alignCenter,\n right: styles.alignRight,\n};\n\nexport interface ButtonGroupProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Задает расположение элементов внутри группы, вертикальное или горизонтальное.\n */\n mode?: 'vertical' | 'horizontal';\n /**\n * Выставляет в зависимости от `mode` отступ по вертикали или горизонтали.\n */\n gap?: 'none' | 'space' | 's' | 'm';\n /**\n * Растягивает компонент на всю ширину контейнера.\n *\n * Note: Для потомков соответствующее поведение нужно определять самостоятельно, где это необходимо.\n */\n stretched?: boolean;\n /**\n * Горизонтальное выравнивание элементов внутри группы.\n */\n align?: AlignType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ButtonGroup\n */\nexport const ButtonGroup = ({\n mode = 'horizontal',\n gap = 'm',\n stretched = false,\n align = 'left' /* NOTE: Чтобы блоки по-умолчанию не растягивались на всю ширину контейнера */,\n ...restProps\n}: ButtonGroupProps): React.ReactNode => {\n return (\n <RootComponent\n baseClassName={classNames(\n styles.host,\n stylesMode[mode],\n gap !== 'none' && stylesGap[gap],\n stretched && styles.stretched,\n stylesAlign[align],\n )}\n role=\"group\"\n {...restProps}\n />\n );\n};\n"],"names":["classNames","RootComponent","styles","stylesMode","vertical","modeVertical","horizontal","modeHorizontal","stylesGap","space","gapSpace","s","gapS","m","gapM","stylesAlign","left","alignLeft","center","alignCenter","right","alignRight","ButtonGroup","mode","gap","stretched","align","restProps","baseClassName","host","role"],"mappings":";AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,2BAA2B;AAE9C,MAAMC,aAAa;IACjBC,UAAUF,OAAOG,YAAY;IAC7BC,YAAYJ,OAAOK,cAAc;AACnC;AAEA,MAAMC,YAAY;IAChBC,OAAOP,OAAOQ,QAAQ;IACtBC,GAAGT,OAAOU,IAAI;IACdC,GAAGX,OAAOY,IAAI;AAChB;AAEA,MAAMC,cAAc;IAClBC,MAAMd,OAAOe,SAAS;IACtBC,QAAQhB,OAAOiB,WAAW;IAC1BC,OAAOlB,OAAOmB,UAAU;AAC1B;AAuBA;;CAEC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,OAAO,YAAY,EACnBC,MAAM,GAAG,EACTC,YAAY,KAAK,EACjBC,QAAQ,OAAO,4EAA4E,GAA7E,EACd,GAAGC,WACc;IACjB,qBACE,KAAC1B;QACC2B,eAAe5B,WACbE,OAAO2B,IAAI,EACX1B,UAAU,CAACoB,KAAK,EAChBC,QAAQ,UAAUhB,SAAS,CAACgB,IAAI,EAChCC,aAAavB,OAAOuB,SAAS,EAC7BV,WAAW,CAACW,MAAM;QAEpBI,MAAK;QACJ,GAAGH,SAAS;;AAGnB,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport type { AlignType, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './ButtonGroup.module.css';\n\nconst stylesMode = {\n vertical: styles.modeVertical,\n horizontal: styles.modeHorizontal,\n};\n\nconst stylesGap = {\n space: styles.gapSpace,\n s: styles.gapS,\n m: styles.gapM,\n};\n\nconst stylesAlign = {\n left: styles.alignLeft,\n center: styles.alignCenter,\n right: styles.alignRight,\n};\n\nexport interface ButtonGroupProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Задает расположение элементов внутри группы, вертикальное или горизонтальное.\n */\n mode?: 'vertical' | 'horizontal';\n /**\n * Выставляет в зависимости от `mode` отступ по вертикали или горизонтали.\n */\n gap?: 'none' | 'space' | 's' | 'm';\n /**\n * Растягивает компонент на всю ширину контейнера.\n *\n * Note: Для потомков соответствующее поведение нужно определять самостоятельно, где это необходимо.\n */\n stretched?: boolean;\n /**\n * Горизонтальное выравнивание элементов внутри группы.\n */\n align?: AlignType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ButtonGroup\n */\nexport const ButtonGroup = ({\n mode = 'horizontal',\n gap = 'm',\n stretched = false,\n align = 'left' /* NOTE: Чтобы блоки по-умолчанию не растягивались на всю ширину контейнера */,\n ...restProps\n}: ButtonGroupProps): React.ReactNode => {\n return (\n <RootComponent\n baseClassName={classNames(\n styles.host,\n stylesMode[mode],\n gap !== 'none' && stylesGap[gap],\n stretched && styles.stretched,\n stylesAlign[align],\n )}\n role=\"group\"\n {...restProps}\n />\n );\n};\n\nButtonGroup.displayName = 'ButtonGroup';\n"],"names":["classNames","RootComponent","styles","stylesMode","vertical","modeVertical","horizontal","modeHorizontal","stylesGap","space","gapSpace","s","gapS","m","gapM","stylesAlign","left","alignLeft","center","alignCenter","right","alignRight","ButtonGroup","mode","gap","stretched","align","restProps","baseClassName","host","role","displayName"],"mappings":";AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,2BAA2B;AAE9C,MAAMC,aAAa;IACjBC,UAAUF,OAAOG,YAAY;IAC7BC,YAAYJ,OAAOK,cAAc;AACnC;AAEA,MAAMC,YAAY;IAChBC,OAAOP,OAAOQ,QAAQ;IACtBC,GAAGT,OAAOU,IAAI;IACdC,GAAGX,OAAOY,IAAI;AAChB;AAEA,MAAMC,cAAc;IAClBC,MAAMd,OAAOe,SAAS;IACtBC,QAAQhB,OAAOiB,WAAW;IAC1BC,OAAOlB,OAAOmB,UAAU;AAC1B;AAuBA;;CAEC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,OAAO,YAAY,EACnBC,MAAM,GAAG,EACTC,YAAY,KAAK,EACjBC,QAAQ,OAAO,4EAA4E,GAA7E,EACd,GAAGC,WACc;IACjB,qBACE,KAAC1B;QACC2B,eAAe5B,WACbE,OAAO2B,IAAI,EACX1B,UAAU,CAACoB,KAAK,EAChBC,QAAQ,UAAUhB,SAAS,CAACgB,IAAI,EAChCC,aAAavB,OAAOuB,SAAS,EAC7BV,WAAW,CAACW,MAAM;QAEpBI,MAAK;QACJ,GAAGH,SAAS;;AAGnB,EAAE;AAEFL,YAAYS,WAAW,GAAG"}
|
|
@@ -3,11 +3,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { classNames } from "@vkontakte/vkjs";
|
|
5
5
|
import { isSameDay, isSameMonth } from "date-fns";
|
|
6
|
-
import { CalendarDirectionContext } from "../../context/CalendarDirectionContext.js";
|
|
7
6
|
import { useCalendar } from "../../hooks/useCalendar.js";
|
|
8
|
-
import {
|
|
9
|
-
import { useExternRef } from "../../hooks/useExternRef.js";
|
|
7
|
+
import { useCustomEnsuredControl } from "../../hooks/useEnsuredControl.js";
|
|
10
8
|
import { clamp, isFirstDay, isLastDay, navigateDate, setTimeEqual } from "../../lib/calendar.js";
|
|
9
|
+
import { convertDateFromTimeZone, convertDateToTimeZone } from "../../lib/date.js";
|
|
11
10
|
import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect.js";
|
|
12
11
|
import { warnOnce } from "../../lib/warnOnce.js";
|
|
13
12
|
import { CalendarDays } from "../CalendarDays/CalendarDays.js";
|
|
@@ -18,9 +17,24 @@ import styles from "./Calendar.module.css";
|
|
|
18
17
|
const warn = warnOnce('Calendar');
|
|
19
18
|
/**
|
|
20
19
|
* @see https://vkcom.github.io/VKUI/#/Calendar
|
|
21
|
-
*/ export const Calendar = ({ getRootRef, value, onChange, disablePast, disableFuture, shouldDisableDate, onDoneButtonClick, enableTime = false, doneButtonText, doneButtonDisabled, doneButtonShow, DoneButton, weekStartsOn = 1, disablePickers, changeHoursLabel = 'Изменить час', changeMinutesLabel = 'Изменить минуту', prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', changeMonthLabel = 'Изменить месяц', changeYearLabel = 'Изменить год', showNeighboringMonth, changeDayLabel = 'Изменить день', size = 'm', viewDate: externalViewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, prevMonthProps, nextMonthProps, dayProps, listenDayChangesForUpdate, renderDayContent, minDateTime, maxDateTime, minutesTestId, hoursTestId, doneButtonTestId, prevMonthButtonTestId, nextMonthButtonTestId, monthDropdownTestId, yearDropdownTestId, dayTestId, ...props })=>{
|
|
20
|
+
*/ export const Calendar = ({ getRootRef, value: valueProp, defaultValue, onChange, disablePast, disableFuture, shouldDisableDate, onDoneButtonClick, enableTime = false, doneButtonText, doneButtonDisabled, doneButtonShow, DoneButton, weekStartsOn = 1, disablePickers, changeHoursLabel = 'Изменить час', changeMinutesLabel = 'Изменить минуту', prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', changeMonthLabel = 'Изменить месяц', changeYearLabel = 'Изменить год', showNeighboringMonth, changeDayLabel = 'Изменить день', size = 'm', viewDate: externalViewDate, onHeaderChange, onNextMonth, onPrevMonth, prevMonthIcon, nextMonthIcon, prevMonthProps, nextMonthProps, dayProps, listenDayChangesForUpdate, renderDayContent, minDateTime, maxDateTime, timezone, minutesTestId, hoursTestId, doneButtonTestId, prevMonthButtonTestId, nextMonthButtonTestId, monthDropdownTestId, yearDropdownTestId, dayTestId, ...props })=>{
|
|
21
|
+
const _onChange = React.useCallback((date)=>{
|
|
22
|
+
onChange?.(convertDateFromTimeZone(date, timezone) || undefined);
|
|
23
|
+
}, [
|
|
24
|
+
onChange,
|
|
25
|
+
timezone
|
|
26
|
+
]);
|
|
27
|
+
const [value, updateValue] = useCustomEnsuredControl({
|
|
28
|
+
value: valueProp,
|
|
29
|
+
defaultValue,
|
|
30
|
+
onChange: _onChange
|
|
31
|
+
});
|
|
32
|
+
const timeZonedValue = React.useMemo(()=>convertDateToTimeZone(value, timezone), [
|
|
33
|
+
timezone,
|
|
34
|
+
value
|
|
35
|
+
]);
|
|
22
36
|
const { viewDate, setViewDate, setPrevMonth, setNextMonth, focusedDay, setFocusedDay, isDayFocused, isDayDisabled, resetSelectedDay, isMonthDisabled, isYearDisabled } = useCalendar({
|
|
23
|
-
value,
|
|
37
|
+
value: timeZonedValue,
|
|
24
38
|
disableFuture,
|
|
25
39
|
disablePast,
|
|
26
40
|
shouldDisableDate,
|
|
@@ -30,14 +44,12 @@ const warn = warnOnce('Calendar');
|
|
|
30
44
|
minDateTime,
|
|
31
45
|
maxDateTime
|
|
32
46
|
});
|
|
33
|
-
const [directionRef, textDirection = 'ltr'] = useDirection();
|
|
34
|
-
const rootRef = useExternRef(directionRef, getRootRef);
|
|
35
47
|
useIsomorphicLayoutEffect(()=>{
|
|
36
|
-
if (
|
|
37
|
-
setViewDate(
|
|
48
|
+
if (timeZonedValue) {
|
|
49
|
+
setViewDate(timeZonedValue);
|
|
38
50
|
}
|
|
39
51
|
}, [
|
|
40
|
-
|
|
52
|
+
timeZonedValue
|
|
41
53
|
]);
|
|
42
54
|
if (process.env.NODE_ENV === 'development' && !disablePickers && size === 's') {
|
|
43
55
|
warn("Нельзя включить селекты выбора месяца/года, если размер календаря 's'", 'error');
|
|
@@ -54,7 +66,7 @@ const warn = warnOnce('Calendar');
|
|
|
54
66
|
].includes(event.key)) {
|
|
55
67
|
event.preventDefault();
|
|
56
68
|
}
|
|
57
|
-
const newFocusedDay = navigateDate(focusedDay ??
|
|
69
|
+
const newFocusedDay = navigateDate(focusedDay ?? timeZonedValue, event.key);
|
|
58
70
|
if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate)) {
|
|
59
71
|
setViewDate(newFocusedDay);
|
|
60
72
|
}
|
|
@@ -63,102 +75,94 @@ const warn = warnOnce('Calendar');
|
|
|
63
75
|
focusedDay,
|
|
64
76
|
setFocusedDay,
|
|
65
77
|
setViewDate,
|
|
66
|
-
|
|
78
|
+
timeZonedValue,
|
|
67
79
|
viewDate
|
|
68
80
|
]);
|
|
69
81
|
const onDayChange = React.useCallback((date)=>{
|
|
70
|
-
let actualDate = setTimeEqual(date,
|
|
82
|
+
let actualDate = setTimeEqual(date, timeZonedValue);
|
|
71
83
|
if (minDateTime || maxDateTime) {
|
|
72
84
|
actualDate = clamp(actualDate, {
|
|
73
85
|
min: minDateTime,
|
|
74
86
|
max: maxDateTime
|
|
75
87
|
});
|
|
76
88
|
}
|
|
77
|
-
|
|
89
|
+
updateValue(actualDate);
|
|
78
90
|
}, [
|
|
79
|
-
|
|
80
|
-
|
|
91
|
+
timeZonedValue,
|
|
92
|
+
updateValue,
|
|
81
93
|
maxDateTime,
|
|
82
94
|
minDateTime
|
|
83
95
|
]);
|
|
84
|
-
const isDayActive = React.useCallback((day)=>Boolean(
|
|
85
|
-
|
|
86
|
-
]);
|
|
87
|
-
const directionContextValue = React.useMemo(()=>({
|
|
88
|
-
direction: textDirection
|
|
89
|
-
}), [
|
|
90
|
-
textDirection
|
|
96
|
+
const isDayActive = React.useCallback((day)=>Boolean(timeZonedValue && isSameDay(day, timeZonedValue)), [
|
|
97
|
+
timeZonedValue
|
|
91
98
|
]);
|
|
92
|
-
return /*#__PURE__*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
hoursTestId: hoursTestId,
|
|
157
|
-
doneButtonTestId: doneButtonTestId
|
|
158
|
-
})
|
|
99
|
+
return /*#__PURE__*/ _jsxs(RootComponent, {
|
|
100
|
+
...props,
|
|
101
|
+
baseClassName: classNames(styles.host, size === 's' && styles.sizeS),
|
|
102
|
+
getRootRef: getRootRef,
|
|
103
|
+
children: [
|
|
104
|
+
/*#__PURE__*/ _jsx(CalendarHeader, {
|
|
105
|
+
viewDate: externalViewDate || viewDate,
|
|
106
|
+
onChange: setViewDate,
|
|
107
|
+
onNextMonth: setNextMonth,
|
|
108
|
+
onPrevMonth: setPrevMonth,
|
|
109
|
+
disablePickers: disablePickers || size === 's',
|
|
110
|
+
className: styles.header,
|
|
111
|
+
prevMonthLabel: prevMonthLabel,
|
|
112
|
+
nextMonthLabel: nextMonthLabel,
|
|
113
|
+
changeMonthLabel: changeMonthLabel,
|
|
114
|
+
changeYearLabel: changeYearLabel,
|
|
115
|
+
prevMonthIcon: prevMonthIcon,
|
|
116
|
+
nextMonthIcon: nextMonthIcon,
|
|
117
|
+
prevMonthProps: prevMonthProps,
|
|
118
|
+
nextMonthProps: nextMonthProps,
|
|
119
|
+
isMonthDisabled: isMonthDisabled,
|
|
120
|
+
isYearDisabled: isYearDisabled,
|
|
121
|
+
nextMonthButtonTestId: nextMonthButtonTestId,
|
|
122
|
+
prevMonthButtonTestId: prevMonthButtonTestId,
|
|
123
|
+
monthDropdownTestId: monthDropdownTestId,
|
|
124
|
+
yearDropdownTestId: yearDropdownTestId
|
|
125
|
+
}),
|
|
126
|
+
/*#__PURE__*/ _jsx(CalendarDays, {
|
|
127
|
+
viewDate: externalViewDate || viewDate,
|
|
128
|
+
value: timeZonedValue,
|
|
129
|
+
weekStartsOn: weekStartsOn,
|
|
130
|
+
isDayFocused: isDayFocused,
|
|
131
|
+
tabIndex: 0,
|
|
132
|
+
"aria-label": changeDayLabel,
|
|
133
|
+
onKeyDown: handleKeyDown,
|
|
134
|
+
onDayChange: onDayChange,
|
|
135
|
+
isDayActive: isDayActive,
|
|
136
|
+
isDaySelectionStart: isFirstDay,
|
|
137
|
+
isDaySelectionEnd: isLastDay,
|
|
138
|
+
isDayDisabled: isDayDisabled,
|
|
139
|
+
onBlur: resetSelectedDay,
|
|
140
|
+
showNeighboringMonth: showNeighboringMonth,
|
|
141
|
+
size: size,
|
|
142
|
+
dayProps: dayProps,
|
|
143
|
+
listenDayChangesForUpdate: listenDayChangesForUpdate,
|
|
144
|
+
renderDayContent: renderDayContent,
|
|
145
|
+
dayTestId: dayTestId
|
|
146
|
+
}),
|
|
147
|
+
enableTime && timeZonedValue && size !== 's' && /*#__PURE__*/ _jsx("div", {
|
|
148
|
+
className: styles.time,
|
|
149
|
+
children: /*#__PURE__*/ _jsx(CalendarTime, {
|
|
150
|
+
value: timeZonedValue,
|
|
151
|
+
onChange: updateValue,
|
|
152
|
+
onDoneButtonClick: onDoneButtonClick,
|
|
153
|
+
doneButtonText: doneButtonText,
|
|
154
|
+
doneButtonDisabled: doneButtonDisabled,
|
|
155
|
+
doneButtonShow: doneButtonShow,
|
|
156
|
+
DoneButton: DoneButton,
|
|
157
|
+
changeHoursLabel: changeHoursLabel,
|
|
158
|
+
changeMinutesLabel: changeMinutesLabel,
|
|
159
|
+
isDayDisabled: minDateTime || maxDateTime ? isDayDisabled : undefined,
|
|
160
|
+
minutesTestId: minutesTestId,
|
|
161
|
+
hoursTestId: hoursTestId,
|
|
162
|
+
doneButtonTestId: doneButtonTestId
|
|
159
163
|
})
|
|
160
|
-
|
|
161
|
-
|
|
164
|
+
})
|
|
165
|
+
]
|
|
162
166
|
});
|
|
163
167
|
};
|
|
164
168
|
|