@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/CalendarTime/CalendarTime.tsx"],"sourcesContent":["'use client';\n\nimport { type ChangeEvent, useRef } from 'react';\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { setHours, setMinutes } from 'date-fns';\nimport { Keys, pressedKey } from '../../lib/accessibility';\nimport { AdaptivityProvider } from '../AdaptivityProvider/AdaptivityProvider';\nimport { Button, type ButtonProps } from '../Button/Button';\nimport { CustomSelect, type SelectProps } from '../CustomSelect/CustomSelect';\nimport styles from './CalendarTime.module.css';\n\nconst selectFilterFn = () => true;\n\nexport type CalendarTimeTestsProps = {\n /**\n * Передает атрибут `data-testid` для дропдауна выбора часа в календаре\n */\n hoursTestId?: string;\n /**\n * Передает атрибут `data-testid` для дропдауна выбора минут в календаре\n */\n minutesTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки \"Готово\" в календаре\n */\n doneButtonTestId?: string;\n};\n\nexport type CalendarDoneButtonProps = {\n /**\n * Кастомное отображение кнопки Done.\n */\n DoneButton?: React.ComponentType<ButtonProps>;\n doneButtonText?: string;\n doneButtonShow?: boolean;\n doneButtonDisabled?: boolean;\n onDoneButtonClick?: () => void;\n};\n\nexport interface CalendarTimeProps extends CalendarTimeTestsProps, CalendarDoneButtonProps {\n value: Date;\n changeHoursLabel?: string;\n changeMinutesLabel?: string;\n onChange?: (value: Date) => void;\n isDayDisabled?: (day: Date, withTime?: boolean) => boolean;\n}\n\nconst hours: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 24; i += 1) {\n hours.push({ value: i, label: String(i).padStart(2, '0') });\n}\n\nconst minutes: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 60; i += 1) {\n minutes.push({ value: i, label: String(i).padStart(2, '0') });\n}\n\nconst validateValue = (\n value: string,\n validValues: Array<{\n value: number;\n label: string;\n }>,\n): boolean => {\n const numValue = Number(value);\n return !isNaN(numValue) && validValues.some((v) => v.value === numValue);\n};\n\nexport const CalendarTime = ({\n value,\n onChange,\n onDoneButtonClick,\n changeHoursLabel,\n changeMinutesLabel,\n isDayDisabled,\n doneButtonText = 'Готово',\n doneButtonDisabled = false,\n doneButtonShow = true,\n minutesTestId,\n hoursTestId,\n doneButtonTestId,\n DoneButton,\n}: CalendarTimeProps): React.ReactNode => {\n const hoursInputRef = useRef<HTMLInputElement | null>(null);\n const minutesInputRef = useRef<HTMLInputElement | null>(null);\n const doneButtonRef = useRef<HTMLButtonElement | null>(null);\n\n const localHours = isDayDisabled\n ? hours.map((hour) => {\n return { ...hour, disabled: isDayDisabled(setHours(value, hour.value), true) };\n })\n : hours;\n\n const localMinutes = isDayDisabled\n ? minutes.map((minute) => {\n return { ...minute, disabled: isDayDisabled(setMinutes(value, minute.value), true) };\n })\n : minutes;\n\n const onPickerValueChange = (\n e: ChangeEvent<HTMLInputElement>,\n validate: (numericValue: string) => boolean,\n setter: (value: Date, numericValue: number) => Date,\n ) => {\n const numericValue = e.target.value.replace(/\\D/g, '');\n e.target.value = numericValue;\n if (validate(numericValue)) {\n onChange?.(setter(value, Number(numericValue)));\n }\n };\n\n const onHoursInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onPickerValueChange(e, (numValue) => validateValue(numValue, localHours), setHours);\n };\n\n const onMinutesInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onPickerValueChange(e, (numValue) => validateValue(numValue, localMinutes), setMinutes);\n };\n\n const onHoursChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange?.(setHours(value, Number(newValue))),\n [onChange, value],\n );\n const onMinutesChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange?.(setMinutes(value, Number(newValue))),\n [onChange, value],\n );\n\n const onPickerKeyDown = (e: React.KeyboardEvent) => {\n const key = pressedKey(e);\n if (key === Keys.ENTER || key === Keys.TAB) {\n const steps = [hoursInputRef, minutesInputRef, doneButtonRef];\n const currentStepIndex = steps.findIndex((step) => step.current === e.target);\n const diff = e.key === 'Tab' && e.shiftKey ? -1 : 1;\n const nextStepIndex = currentStepIndex + diff;\n if (nextStepIndex < 0 || nextStepIndex >= steps.length) {\n return;\n }\n e.preventDefault();\n const nextStep = steps[nextStepIndex];\n nextStep.current?.focus();\n }\n };\n\n const renderDoneButton = () => {\n const ButtonComponent = DoneButton ?? Button;\n return (\n <ButtonComponent\n mode=\"secondary\"\n onClick={onDoneButtonClick}\n size=\"l\"\n getRootRef={doneButtonRef}\n onKeyDown={onPickerKeyDown}\n disabled={doneButtonDisabled}\n data-testid={doneButtonTestId}\n >\n {doneButtonText}\n </ButtonComponent>\n );\n };\n\n return (\n <div className={classNames(styles.host, !doneButtonShow && styles.host__withoutDone)}>\n <div className={styles.picker}>\n <AdaptivityProvider sizeY=\"compact\">\n <CustomSelect\n value={value.getHours()}\n options={localHours}\n onChange={onHoursChange}\n forceDropdownPortal={false}\n searchable\n filterFn={selectFilterFn}\n onInputChange={onHoursInputChange}\n onInputKeyDown={onPickerKeyDown}\n getSelectInputRef={hoursInputRef}\n aria-label={changeHoursLabel}\n data-testid={hoursTestId}\n />\n </AdaptivityProvider>\n </div>\n <div className={styles.divider}>:</div>\n <div className={styles.picker}>\n <AdaptivityProvider sizeY=\"compact\">\n <CustomSelect\n value={value.getMinutes()}\n options={localMinutes}\n onChange={onMinutesChange}\n forceDropdownPortal={false}\n searchable\n filterFn={selectFilterFn}\n onInputChange={onMinutesInputChange}\n getSelectInputRef={minutesInputRef}\n onInputKeyDown={onPickerKeyDown}\n aria-label={changeMinutesLabel}\n data-testid={minutesTestId}\n />\n </AdaptivityProvider>\n </div>\n {doneButtonShow && (\n <div className={styles.button}>\n <AdaptivityProvider sizeY=\"compact\">{renderDoneButton()}</AdaptivityProvider>\n </div>\n )}\n </div>\n );\n};\n"],"names":["useRef","React","classNames","setHours","setMinutes","Keys","pressedKey","AdaptivityProvider","Button","CustomSelect","selectFilterFn","hours","i","push","value","label","String","padStart","minutes","validateValue","validValues","numValue","Number","isNaN","some","v","CalendarTime","onChange","onDoneButtonClick","changeHoursLabel","changeMinutesLabel","isDayDisabled","doneButtonText","doneButtonDisabled","doneButtonShow","minutesTestId","hoursTestId","doneButtonTestId","DoneButton","hoursInputRef","minutesInputRef","doneButtonRef","localHours","map","hour","disabled","localMinutes","minute","onPickerValueChange","e","validate","setter","numericValue","target","replace","onHoursInputChange","onMinutesInputChange","onHoursChange","useCallback","_","newValue","onMinutesChange","onPickerKeyDown","key","ENTER","TAB","nextStep","steps","currentStepIndex","findIndex","step","current","diff","shiftKey","nextStepIndex","length","preventDefault","focus","renderDoneButton","ButtonComponent","mode","onClick","size","getRootRef","onKeyDown","data-testid","div","className","sizeY","getHours","options","forceDropdownPortal","searchable","filterFn","onInputChange","onInputKeyDown","getSelectInputRef","aria-label","getMinutes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CalendarTime/CalendarTime.tsx"],"sourcesContent":["'use client';\n\nimport { type ChangeEvent, useRef } from 'react';\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { setHours, setMinutes } from 'date-fns';\nimport { Keys, pressedKey } from '../../lib/accessibility';\nimport { AdaptivityProvider } from '../AdaptivityProvider/AdaptivityProvider';\nimport { Button, type ButtonProps } from '../Button/Button';\nimport { CustomSelect, type SelectProps } from '../CustomSelect/CustomSelect';\nimport styles from './CalendarTime.module.css';\n\nconst selectFilterFn = () => true;\n\nexport type CalendarTimeTestsProps = {\n /**\n * Передает атрибут `data-testid` для дропдауна выбора часа в календаре\n */\n hoursTestId?: string;\n /**\n * Передает атрибут `data-testid` для дропдауна выбора минут в календаре\n */\n minutesTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки \"Готово\" в календаре\n */\n doneButtonTestId?: string;\n};\n\nexport type CalendarDoneButtonProps = {\n /**\n * Кастомное отображение кнопки Done.\n */\n DoneButton?: React.ComponentType<ButtonProps>;\n doneButtonText?: string;\n doneButtonShow?: boolean;\n doneButtonDisabled?: boolean;\n onDoneButtonClick?: () => void;\n};\n\nexport interface CalendarTimeProps extends CalendarTimeTestsProps, CalendarDoneButtonProps {\n value: Date;\n changeHoursLabel?: string;\n changeMinutesLabel?: string;\n onChange?: (value: Date) => void;\n isDayDisabled?: (day: Date, withTime?: boolean) => boolean;\n}\n\nconst hours: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 24; i += 1) {\n hours.push({ value: i, label: String(i).padStart(2, '0') });\n}\n\nconst minutes: Array<{\n value: number;\n label: string;\n}> = [];\nfor (let i = 0; i < 60; i += 1) {\n minutes.push({ value: i, label: String(i).padStart(2, '0') });\n}\n\nconst validateValue = (\n value: string,\n validValues: Array<{\n value: number;\n label: string;\n }>,\n): boolean => {\n const numValue = Number(value);\n return !isNaN(numValue) && validValues.some((v) => v.value === numValue);\n};\n\nexport const CalendarTime = ({\n value,\n onChange,\n onDoneButtonClick,\n changeHoursLabel,\n changeMinutesLabel,\n isDayDisabled,\n doneButtonText = 'Готово',\n doneButtonDisabled = false,\n doneButtonShow = true,\n minutesTestId,\n hoursTestId,\n doneButtonTestId,\n DoneButton,\n}: CalendarTimeProps): React.ReactNode => {\n const hoursInputRef = useRef<HTMLInputElement | null>(null);\n const minutesInputRef = useRef<HTMLInputElement | null>(null);\n const doneButtonRef = useRef<HTMLButtonElement | null>(null);\n\n const localHours = isDayDisabled\n ? hours.map((hour) => {\n return { ...hour, disabled: isDayDisabled(setHours(value, hour.value), true) };\n })\n : hours;\n\n const localMinutes = isDayDisabled\n ? minutes.map((minute) => {\n return { ...minute, disabled: isDayDisabled(setMinutes(value, minute.value), true) };\n })\n : minutes;\n\n const onPickerValueChange = (\n e: ChangeEvent<HTMLInputElement>,\n validate: (numericValue: string) => boolean,\n setter: (value: Date, numericValue: number) => Date,\n ) => {\n const numericValue = e.target.value.replace(/\\D/g, '');\n e.target.value = numericValue;\n if (validate(numericValue)) {\n onChange?.(setter(value, Number(numericValue)));\n }\n };\n\n const onHoursInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onPickerValueChange(e, (numValue) => validateValue(numValue, localHours), setHours);\n };\n\n const onMinutesInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n onPickerValueChange(e, (numValue) => validateValue(numValue, localMinutes), setMinutes);\n };\n\n const onHoursChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange?.(setHours(value, Number(newValue))),\n [onChange, value],\n );\n const onMinutesChange = React.useCallback(\n (_: ChangeEvent<HTMLSelectElement>, newValue: SelectProps['value']) =>\n onChange?.(setMinutes(value, Number(newValue))),\n [onChange, value],\n );\n\n const onPickerKeyDown = (e: React.KeyboardEvent) => {\n const key = pressedKey(e);\n /* Мы хотим иметь возможность быстро, по Enter перемещаться между\n * селектами с часами и минутами, также как мы это делаем по нажатию на Tab */\n if (key !== Keys.ENTER) {\n return;\n }\n\n const steps = [hoursInputRef, minutesInputRef, doneButtonRef].filter((ref) =>\n Boolean(ref.current),\n );\n const currentStepIndex = steps.findIndex((step) => step.current === e.target);\n const nextStepIndex = currentStepIndex + 1;\n if (nextStepIndex >= steps.length) {\n return;\n }\n const nextStep = steps[nextStepIndex];\n\n if (nextStep.current) {\n e.preventDefault();\n nextStep.current?.focus();\n }\n };\n\n const renderDoneButton = () => {\n const ButtonComponent = DoneButton ?? Button;\n return (\n <ButtonComponent\n mode=\"secondary\"\n onClick={onDoneButtonClick}\n size=\"l\"\n getRootRef={doneButtonRef}\n onKeyDown={onPickerKeyDown}\n disabled={doneButtonDisabled}\n data-testid={doneButtonTestId}\n >\n {doneButtonText}\n </ButtonComponent>\n );\n };\n\n return (\n <div className={classNames(styles.host, !doneButtonShow && styles.host__withoutDone)}>\n <div className={styles.picker}>\n <AdaptivityProvider sizeY=\"compact\">\n <CustomSelect\n value={value.getHours()}\n options={localHours}\n onChange={onHoursChange}\n forceDropdownPortal={false}\n searchable\n filterFn={selectFilterFn}\n onInputChange={onHoursInputChange}\n onInputKeyDown={onPickerKeyDown}\n getSelectInputRef={hoursInputRef}\n aria-label={changeHoursLabel}\n data-testid={hoursTestId}\n />\n </AdaptivityProvider>\n </div>\n <div className={styles.divider}>:</div>\n <div className={styles.picker}>\n <AdaptivityProvider sizeY=\"compact\">\n <CustomSelect\n value={value.getMinutes()}\n options={localMinutes}\n onChange={onMinutesChange}\n forceDropdownPortal={false}\n searchable\n filterFn={selectFilterFn}\n onInputChange={onMinutesInputChange}\n getSelectInputRef={minutesInputRef}\n onInputKeyDown={onPickerKeyDown}\n aria-label={changeMinutesLabel}\n data-testid={minutesTestId}\n />\n </AdaptivityProvider>\n </div>\n {doneButtonShow && (\n <div className={styles.button}>\n <AdaptivityProvider sizeY=\"compact\">{renderDoneButton()}</AdaptivityProvider>\n </div>\n )}\n </div>\n );\n};\n"],"names":["useRef","React","classNames","setHours","setMinutes","Keys","pressedKey","AdaptivityProvider","Button","CustomSelect","selectFilterFn","hours","i","push","value","label","String","padStart","minutes","validateValue","validValues","numValue","Number","isNaN","some","v","CalendarTime","onChange","onDoneButtonClick","changeHoursLabel","changeMinutesLabel","isDayDisabled","doneButtonText","doneButtonDisabled","doneButtonShow","minutesTestId","hoursTestId","doneButtonTestId","DoneButton","hoursInputRef","minutesInputRef","doneButtonRef","localHours","map","hour","disabled","localMinutes","minute","onPickerValueChange","e","validate","setter","numericValue","target","replace","onHoursInputChange","onMinutesInputChange","onHoursChange","useCallback","_","newValue","onMinutesChange","onPickerKeyDown","key","ENTER","steps","filter","ref","Boolean","current","currentStepIndex","findIndex","step","nextStepIndex","length","nextStep","preventDefault","focus","renderDoneButton","ButtonComponent","mode","onClick","size","getRootRef","onKeyDown","data-testid","div","className","sizeY","getHours","options","forceDropdownPortal","searchable","filterFn","onInputChange","onInputKeyDown","getSelectInputRef","aria-label","getMinutes"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI3E,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAAE,YAAY;IACxF,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC;CACjE;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI3E,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAAE,YAAY;IACxF,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC;CACjE;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,mCAIlB,SAAS,KAAG,KAAK,CAAC,SAepB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardGrid.d.ts","sourceRoot":"","sources":["../../../src/components/CardGrid/CardGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAe3E,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAAE,YAAY;IAC5F,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"CardGrid.d.ts","sourceRoot":"","sources":["../../../src/components/CardGrid/CardGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAe3E,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAAE,YAAY;IAC5F,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,4CAKtB,aAAa,KAAG,KAAK,CAAC,SAgBxB,CAAC"}
|
|
@@ -10,9 +10,13 @@ export interface CardScrollProps extends HTMLAttributesWithRootRef<HTMLDivElemen
|
|
|
10
10
|
* Добавляет отступы по краям слева и справа
|
|
11
11
|
*/
|
|
12
12
|
padding?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Позволяет поменять тег используемый для обертки над карточками
|
|
15
|
+
*/
|
|
16
|
+
CardsListComponent?: React.ElementType;
|
|
13
17
|
}
|
|
14
18
|
/**
|
|
15
19
|
* @see https://vkcom.github.io/VKUI/#/CardScroll
|
|
16
20
|
*/
|
|
17
|
-
export declare const CardScroll: ({ children, size, showArrows, padding,
|
|
21
|
+
export declare const CardScroll: ({ children, size, showArrows, padding, CardsListComponent, prevButtonTestId, nextButtonTestId, ...restProps }: CardScrollProps) => React.ReactNode;
|
|
18
22
|
//# sourceMappingURL=CardScroll.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardScroll.d.ts","sourceRoot":"","sources":["../../../src/components/CardScroll/CardScroll.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CardScroll.d.ts","sourceRoot":"","sources":["../../../src/components/CardScroll/CardScroll.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAUpG,MAAM,WAAW,eACf,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAC/C,YAAY,EACZ,IAAI,CAAC,qBAAqB,EAAE,YAAY,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;IACrF;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;CACxC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,+GASxB,eAAe,KAAG,KAAK,CAAC,SAmG1B,CAAC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
3
|
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
4
4
|
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
5
|
-
import { jsx as _jsx
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { classNames } from "@vkontakte/vkjs";
|
|
8
|
+
import { useConfigDirection } from "../../hooks/useConfigDirection.js";
|
|
8
9
|
import { useDOM } from "../../lib/dom.js";
|
|
9
10
|
import { HorizontalScroll } from "../HorizontalScroll/HorizontalScroll.js";
|
|
10
11
|
import { RootComponent } from "../RootComponent/RootComponent.js";
|
|
@@ -16,52 +17,64 @@ const stylesSize = {
|
|
|
16
17
|
/**
|
|
17
18
|
* @see https://vkcom.github.io/VKUI/#/CardScroll
|
|
18
19
|
*/ export const CardScroll = (_param)=>{
|
|
19
|
-
var { children, size = 's', showArrows = true, padding = false,
|
|
20
|
+
var { children, size = 's', showArrows = true, padding = false, CardsListComponent = 'ul', prevButtonTestId, nextButtonTestId } = _param, restProps = _object_without_properties(_param, [
|
|
20
21
|
"children",
|
|
21
22
|
"size",
|
|
22
23
|
"showArrows",
|
|
23
24
|
"padding",
|
|
24
|
-
"
|
|
25
|
+
"CardsListComponent",
|
|
25
26
|
"prevButtonTestId",
|
|
26
27
|
"nextButtonTestId"
|
|
27
28
|
]);
|
|
28
29
|
const refContainer = React.useRef(null);
|
|
29
|
-
const
|
|
30
|
+
const direction = useConfigDirection();
|
|
30
31
|
const { window } = useDOM();
|
|
32
|
+
const getPadding = (container)=>{
|
|
33
|
+
return parseFloat(window.getComputedStyle(container).getPropertyValue('--vkui_internal--CardScroll_horizontal_padding'));
|
|
34
|
+
};
|
|
35
|
+
const slideOffsetFromStart = (slide)=>{
|
|
36
|
+
var _refContainer_current;
|
|
37
|
+
const containerWidth = ((_refContainer_current = refContainer.current) === null || _refContainer_current === void 0 ? void 0 : _refContainer_current.offsetWidth) || 0;
|
|
38
|
+
return direction === 'rtl' ? containerWidth - slide.offsetLeft - slide.offsetWidth : slide.offsetLeft;
|
|
39
|
+
};
|
|
31
40
|
function getScrollToLeft(offset) {
|
|
32
|
-
if (!refContainer.current
|
|
41
|
+
if (!refContainer.current) {
|
|
33
42
|
return offset;
|
|
34
43
|
}
|
|
35
44
|
const containerWidth = refContainer.current.offsetWidth;
|
|
45
|
+
const getMarginEnd = (el)=>{
|
|
46
|
+
const computedStyles = window.getComputedStyle(el);
|
|
47
|
+
return parseInt(computedStyles.marginInlineEnd) || (direction === 'rtl' ? parseInt(computedStyles.marginLeft) : parseInt(computedStyles.marginRight)) || 0;
|
|
48
|
+
};
|
|
36
49
|
const slideIndex = [
|
|
37
50
|
...refContainer.current.children
|
|
38
|
-
].findIndex((el)=>el
|
|
51
|
+
].findIndex((el)=>slideOffsetFromStart(el) + el.offsetWidth + getMarginEnd(el) - offset >= 0);
|
|
39
52
|
if (slideIndex === -1) {
|
|
40
53
|
return offset;
|
|
41
54
|
}
|
|
42
|
-
if (slideIndex === 0) {
|
|
43
|
-
return 0;
|
|
44
|
-
}
|
|
45
55
|
const slide = refContainer.current.children[slideIndex];
|
|
46
|
-
const
|
|
47
|
-
|
|
56
|
+
const padding = getPadding(refContainer.current);
|
|
57
|
+
const scrollTo = slideOffsetFromStart(slide) - (containerWidth - slide.offsetWidth) + padding;
|
|
58
|
+
if (scrollTo <= 2 * padding) {
|
|
48
59
|
return 0;
|
|
49
60
|
}
|
|
50
61
|
return scrollTo;
|
|
51
62
|
}
|
|
52
63
|
function getScrollToRight(offset) {
|
|
53
|
-
if (!refContainer.current
|
|
64
|
+
if (!refContainer.current) {
|
|
54
65
|
return offset;
|
|
55
66
|
}
|
|
56
67
|
const containerWidth = refContainer.current.offsetWidth;
|
|
57
|
-
const slide = Array.prototype.find.call(refContainer.current.children, (el)=>
|
|
68
|
+
const slide = Array.prototype.find.call(refContainer.current.children, (el)=>{
|
|
69
|
+
return slideOffsetFromStart(el) + el.offsetWidth - offset > containerWidth;
|
|
70
|
+
});
|
|
58
71
|
if (!slide) {
|
|
59
72
|
return offset;
|
|
60
73
|
}
|
|
61
|
-
|
|
74
|
+
const padding = getPadding(refContainer.current);
|
|
75
|
+
return slideOffsetFromStart(slide) - padding;
|
|
62
76
|
}
|
|
63
77
|
return /*#__PURE__*/ _jsx(RootComponent, _object_spread_props(_object_spread({}, restProps), {
|
|
64
|
-
Component: Component,
|
|
65
78
|
baseClassName: classNames("vkuiCardScroll__host", 'vkuiInternalCardScroll', size !== false && stylesSize[size], padding && "vkuiCardScroll__withPaddings"),
|
|
66
79
|
children: /*#__PURE__*/ _jsx(HorizontalScroll, {
|
|
67
80
|
getScrollToLeft: getScrollToLeft,
|
|
@@ -69,20 +82,10 @@ const stylesSize = {
|
|
|
69
82
|
showArrows: showArrows,
|
|
70
83
|
prevButtonTestId: prevButtonTestId,
|
|
71
84
|
nextButtonTestId: nextButtonTestId,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
/*#__PURE__*/ _jsx("span", {
|
|
77
|
-
className: "vkuiCardScroll__gap",
|
|
78
|
-
ref: gapRef
|
|
79
|
-
}),
|
|
80
|
-
children,
|
|
81
|
-
/*#__PURE__*/ _jsx("span", {
|
|
82
|
-
className: "vkuiCardScroll__gap"
|
|
83
|
-
})
|
|
84
|
-
]
|
|
85
|
-
})
|
|
85
|
+
ContentWrapperComponent: CardsListComponent,
|
|
86
|
+
contentWrapperRef: refContainer,
|
|
87
|
+
contentWrapperClassName: "vkuiCardScroll__in",
|
|
88
|
+
children: children
|
|
86
89
|
})
|
|
87
90
|
}));
|
|
88
91
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/CardScroll/CardScroll.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useDOM } from '../../lib/dom';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { HorizontalScroll, type HorizontalScrollProps } from '../HorizontalScroll/HorizontalScroll';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CardScroll.module.css';\n\nconst stylesSize = {\n s: 'vkuiInternalCardScroll--size-s',\n m: 'vkuiInternalCardScroll--size-m',\n l: 'vkuiInternalCardScroll--size-l',\n};\n\nexport interface CardScrollProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasComponent,\n Pick<HorizontalScrollProps, 'showArrows' | 'prevButtonTestId' | 'nextButtonTestId'> {\n /**\n * При `size=false` ширина `Card` будет регулироваться контентом внутри. В остальных случаях — будет явно задана в процентах.\n */\n size?: 's' | 'm' | 'l' | false;\n /**\n * Добавляет отступы по краям слева и справа\n */\n padding?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardScroll\n */\nexport const CardScroll = ({\n children,\n size = 's',\n showArrows = true,\n padding = false,\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CardScroll/CardScroll.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useDOM } from '../../lib/dom';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { HorizontalScroll, type HorizontalScrollProps } from '../HorizontalScroll/HorizontalScroll';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './CardScroll.module.css';\n\nconst stylesSize = {\n s: 'vkuiInternalCardScroll--size-s',\n m: 'vkuiInternalCardScroll--size-m',\n l: 'vkuiInternalCardScroll--size-l',\n};\n\nexport interface CardScrollProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasComponent,\n Pick<HorizontalScrollProps, 'showArrows' | 'prevButtonTestId' | 'nextButtonTestId'> {\n /**\n * При `size=false` ширина `Card` будет регулироваться контентом внутри. В остальных случаях — будет явно задана в процентах.\n */\n size?: 's' | 'm' | 'l' | false;\n /**\n * Добавляет отступы по краям слева и справа\n */\n padding?: boolean;\n /**\n * Позволяет поменять тег используемый для обертки над карточками\n */\n CardsListComponent?: React.ElementType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/CardScroll\n */\nexport const CardScroll = ({\n children,\n size = 's',\n showArrows = true,\n padding = false,\n CardsListComponent = 'ul',\n prevButtonTestId,\n nextButtonTestId,\n ...restProps\n}: CardScrollProps): React.ReactNode => {\n const refContainer = React.useRef<HTMLDivElement>(null);\n const direction = useConfigDirection();\n\n const { window } = useDOM();\n\n const getPadding = (container: HTMLElement) => {\n return parseFloat(\n window!\n .getComputedStyle(container)\n .getPropertyValue('--vkui_internal--CardScroll_horizontal_padding'),\n );\n };\n\n const slideOffsetFromStart = (slide: HTMLElement) => {\n const containerWidth = refContainer.current?.offsetWidth || 0;\n return direction === 'rtl'\n ? containerWidth - slide.offsetLeft - slide.offsetWidth\n : slide.offsetLeft;\n };\n\n function getScrollToLeft(offset: number): number {\n if (!refContainer.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n\n const getMarginEnd = (el: HTMLElement) => {\n const computedStyles = window!.getComputedStyle(el);\n return (\n parseInt(computedStyles.marginInlineEnd) ||\n (direction === 'rtl'\n ? parseInt(computedStyles.marginLeft)\n : parseInt(computedStyles.marginRight)) ||\n 0\n );\n };\n\n const slideIndex = ([...refContainer.current.children] as HTMLElement[]).findIndex(\n (el: HTMLElement) =>\n slideOffsetFromStart(el) + el.offsetWidth + getMarginEnd(el) - offset >= 0,\n );\n\n if (slideIndex === -1) {\n return offset;\n }\n\n const slide = refContainer.current.children[slideIndex] as HTMLElement;\n const padding = getPadding(refContainer.current);\n const scrollTo = slideOffsetFromStart(slide) - (containerWidth - slide.offsetWidth) + padding;\n\n if (scrollTo <= 2 * padding) {\n return 0;\n }\n\n return scrollTo;\n }\n\n function getScrollToRight(offset: number): number {\n if (!refContainer.current) {\n return offset;\n }\n const containerWidth = refContainer.current.offsetWidth;\n const slide = Array.prototype.find.call(refContainer.current.children, (el: HTMLElement) => {\n return slideOffsetFromStart(el) + el.offsetWidth - offset > containerWidth;\n }) as HTMLElement;\n\n if (!slide) {\n return offset;\n }\n\n const padding = getPadding(refContainer.current);\n return slideOffsetFromStart(slide) - padding;\n }\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalCardScroll',\n size !== false && stylesSize[size],\n padding && styles.withPaddings,\n )}\n >\n <HorizontalScroll\n getScrollToLeft={getScrollToLeft}\n getScrollToRight={getScrollToRight}\n showArrows={showArrows}\n prevButtonTestId={prevButtonTestId}\n nextButtonTestId={nextButtonTestId}\n ContentWrapperComponent={CardsListComponent}\n contentWrapperRef={refContainer}\n contentWrapperClassName={styles.in}\n >\n {children}\n </HorizontalScroll>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useConfigDirection","useDOM","HorizontalScroll","RootComponent","stylesSize","s","m","l","CardScroll","children","size","showArrows","padding","CardsListComponent","prevButtonTestId","nextButtonTestId","restProps","refContainer","useRef","direction","window","getPadding","container","parseFloat","getComputedStyle","getPropertyValue","slideOffsetFromStart","slide","containerWidth","current","offsetWidth","offsetLeft","getScrollToLeft","offset","getMarginEnd","el","computedStyles","parseInt","marginInlineEnd","marginLeft","marginRight","slideIndex","findIndex","scrollTo","getScrollToRight","Array","prototype","find","call","baseClassName","ContentWrapperComponent","contentWrapperRef","contentWrapperClassName"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselBase.d.ts","sourceRoot":"","sources":["../../../src/components/CarouselBase/CarouselBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CarouselBase.d.ts","sourceRoot":"","sources":["../../../src/components/CarouselBase/CarouselBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkC/B,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,YAAY,GAAI,6RAwB1B,gBAAgB,KAAG,KAAK,CAAC,SAgf3B,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { classNames } from "@vkontakte/vkjs";
|
|
8
8
|
import { useAdaptivityHasPointer } from "../../hooks/useAdaptivityHasPointer.js";
|
|
9
|
+
import { useConfigDirection } from "../../hooks/useConfigDirection.js";
|
|
9
10
|
import { useExternRef } from "../../hooks/useExternRef.js";
|
|
10
11
|
import { useMutationObserver } from "../../hooks/useMutationObserver.js";
|
|
11
12
|
import { useResizeObserver } from "../../hooks/useResizeObserver.js";
|
|
@@ -17,7 +18,7 @@ import { Bullets } from "./Bullets.js";
|
|
|
17
18
|
import { CarouselViewPort } from "./CarouselViewPort.js";
|
|
18
19
|
import { ScrollArrows } from "./ScrollArrows.js";
|
|
19
20
|
import { ANIMATION_DURATION, CONTROL_ELEMENTS_STATE, SLIDE_THRESHOLD, SLIDES_MANAGER_STATE } from "./constants.js";
|
|
20
|
-
import { calcMax, calcMin, calculateIndent, getLoopPoints, getTargetIndex } from "./helpers.js";
|
|
21
|
+
import { calcMax, calcMin, calculateIndent, getLoopPoints, getTargetIndex, isBigger, isBiggerOrEqual, isLowerOrEqual, revertRtlValue, validateIndent } from "./helpers.js";
|
|
21
22
|
import { useSlideAnimation } from "./hooks.js";
|
|
22
23
|
const warn = warnOnce('Gallery');
|
|
23
24
|
export const CarouselBase = (_param)=>{
|
|
@@ -47,6 +48,8 @@ export const CarouselBase = (_param)=>{
|
|
|
47
48
|
]);
|
|
48
49
|
const slidesStore = React.useRef({});
|
|
49
50
|
const slidesManager = React.useRef(SLIDES_MANAGER_STATE);
|
|
51
|
+
const textDirection = useConfigDirection();
|
|
52
|
+
const isRtl = textDirection === 'rtl';
|
|
50
53
|
const rootRef = useExternRef(getRootRef);
|
|
51
54
|
const viewportRef = useExternRef(getRef);
|
|
52
55
|
const layerRef = React.useRef(null);
|
|
@@ -59,28 +62,12 @@ export const CarouselBase = (_param)=>{
|
|
|
59
62
|
const [controlElementsState, setControlElementsState] = React.useState(CONTROL_ELEMENTS_STATE);
|
|
60
63
|
const hasPointer = useAdaptivityHasPointer();
|
|
61
64
|
const isCenterAlign = align === 'center';
|
|
62
|
-
/*
|
|
63
|
-
* Считает отступ слоя галереи во время драга
|
|
64
|
-
* Используется только для looped=false галереи
|
|
65
|
-
* так как только у нее есть пределы по краям
|
|
66
|
-
*/ const calculateDragIndent = ()=>{
|
|
67
|
-
var _slidesManager_current_max;
|
|
68
|
-
const localMax = (_slidesManager_current_max = slidesManager.current.max) !== null && _slidesManager_current_max !== void 0 ? _slidesManager_current_max : 0;
|
|
69
|
-
var _slidesManager_current_min;
|
|
70
|
-
const localMin = (_slidesManager_current_min = slidesManager.current.min) !== null && _slidesManager_current_min !== void 0 ? _slidesManager_current_min : 0;
|
|
71
|
-
const indent = shiftXCurrentRef.current + shiftXDeltaRef.current;
|
|
72
|
-
if (indent > localMax) {
|
|
73
|
-
return localMax + Number((indent - localMax) / 3);
|
|
74
|
-
} else if (indent < localMin) {
|
|
75
|
-
return localMin + Number((indent - localMin) / 3);
|
|
76
|
-
}
|
|
77
|
-
return indent;
|
|
78
|
-
};
|
|
79
65
|
const calculateCanSlideLeft = ()=>{
|
|
80
66
|
if (looped) {
|
|
81
67
|
return !slidesManager.current.isFullyVisible;
|
|
82
68
|
}
|
|
83
|
-
|
|
69
|
+
const isStartShiftX = isBiggerOrEqual(shiftXCurrentRef.current, 0, isRtl);
|
|
70
|
+
return !slidesManager.current.isFullyVisible && !isStartShiftX;
|
|
84
71
|
};
|
|
85
72
|
const calculateCanSlideRight = ()=>{
|
|
86
73
|
if (looped) {
|
|
@@ -88,7 +75,7 @@ export const CarouselBase = (_param)=>{
|
|
|
88
75
|
}
|
|
89
76
|
var _slidesManager_current_layerWidth;
|
|
90
77
|
return !slidesManager.current.isFullyVisible && // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side
|
|
91
|
-
(align === 'left' && slidesManager.current.containerWidth - shiftXCurrentRef.current < ((_slidesManager_current_layerWidth = slidesManager.current.layerWidth) !== null && _slidesManager_current_layerWidth !== void 0 ? _slidesManager_current_layerWidth : 0) || // otherwise we need to check current slide index (align = right or align = center)
|
|
78
|
+
(align === 'left' && slidesManager.current.containerWidth - revertRtlValue(shiftXCurrentRef.current, isRtl) < ((_slidesManager_current_layerWidth = slidesManager.current.layerWidth) !== null && _slidesManager_current_layerWidth !== void 0 ? _slidesManager_current_layerWidth : 0) || // otherwise we need to check current slide index (align = right or align = center)
|
|
92
79
|
align !== 'left' && slideIndex < slidesManager.current.slides.length - 1);
|
|
93
80
|
};
|
|
94
81
|
const transformCssStyles = (shiftX, animation = false)=>{
|
|
@@ -109,23 +96,38 @@ export const CarouselBase = (_param)=>{
|
|
|
109
96
|
});
|
|
110
97
|
}
|
|
111
98
|
if (layerRef.current) {
|
|
112
|
-
const indent = isDragging.current && !looped ?
|
|
99
|
+
const indent = isDragging.current && !looped ? validateIndent(slidesManager.current, shiftXCurrentRef.current + shiftXDeltaRef.current, isRtl, false) : shiftX;
|
|
113
100
|
layerRef.current.style.transform = `translate3d(${indent}px, 0, 0)`;
|
|
114
101
|
layerRef.current.style.transition = animation ? `transform ${ANIMATION_DURATION}ms cubic-bezier(.1, 0, .25, 1)` : '';
|
|
115
102
|
}
|
|
116
103
|
};
|
|
104
|
+
const checkShiftOutOfBoundsFromStart = (shiftX, snaps)=>isBigger(shiftX, snaps[0], isRtl);
|
|
105
|
+
const checkShiftOutOfBoundsFromEnd = (shiftX, slides)=>{
|
|
106
|
+
/**
|
|
107
|
+
* Поскольку при `align="center"` слайды сдвинуты, прежде чем рассчитать крайнюю правую точку,
|
|
108
|
+
* нужно вычесть сдвиг слайдов
|
|
109
|
+
*/ const firstSlideShift = align === 'center' ? (slidesManager.current.containerWidth - slidesManager.current.slides[0].width) / 2 : 0;
|
|
110
|
+
const lastPoint = slides[slides.length - 1].width + slides[slides.length - 1].coordX - firstSlideShift;
|
|
111
|
+
return isRtl ? shiftX >= lastPoint : shiftX <= -lastPoint;
|
|
112
|
+
};
|
|
117
113
|
const requestTransform = (shiftX, animation = false)=>{
|
|
118
114
|
const { snaps, contentSize, slides } = slidesManager.current;
|
|
119
115
|
if (animationFrameRef.current !== null) {
|
|
120
116
|
cancelAnimationFrame(animationFrameRef.current);
|
|
121
117
|
}
|
|
122
118
|
animationFrameRef.current = requestAnimationFrame(()=>{
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
/**
|
|
120
|
+
* Для бесконечной галереи проверяем, что при dnd мы прокрутили левее, чем первый слайд,
|
|
121
|
+
* чтобы сбросить `shiftXCurrentRef`
|
|
122
|
+
*/ if (looped && checkShiftOutOfBoundsFromStart(shiftX, snaps)) {
|
|
123
|
+
const firstSnap = revertRtlValue(snaps[0], isRtl);
|
|
124
|
+
shiftXCurrentRef.current = revertRtlValue(-contentSize + firstSnap, isRtl);
|
|
125
125
|
shiftX = shiftXCurrentRef.current + shiftXDeltaRef.current;
|
|
126
126
|
}
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Для бесконечной галереи проверяем, что при dnd мы прокрутили правее, чем последний слайд,
|
|
129
|
+
* чтобы правильно пересчитать `shiftXCurrentRef`
|
|
130
|
+
*/ if (looped && checkShiftOutOfBoundsFromEnd(shiftX, slides)) {
|
|
129
131
|
shiftXCurrentRef.current = Math.abs(shiftXDeltaRef.current) + snaps[0];
|
|
130
132
|
}
|
|
131
133
|
transformCssStyles(shiftX, animation);
|
|
@@ -133,16 +135,26 @@ export const CarouselBase = (_param)=>{
|
|
|
133
135
|
};
|
|
134
136
|
const initializeSlides = ()=>{
|
|
135
137
|
var _localSlides_slideIndex;
|
|
136
|
-
if (!rootRef.current || !viewportRef.current) {
|
|
138
|
+
if (!rootRef.current || !viewportRef.current || !layerRef.current) {
|
|
137
139
|
return;
|
|
138
140
|
}
|
|
141
|
+
const layerOffsetWidth = layerRef.current.offsetWidth;
|
|
142
|
+
const calcRtlCoord = (element)=>{
|
|
143
|
+
const offsetLeft = element.offsetLeft;
|
|
144
|
+
const offsetWidth = element.offsetWidth;
|
|
145
|
+
return layerOffsetWidth - offsetLeft - offsetWidth;
|
|
146
|
+
};
|
|
139
147
|
let localSlides = React.Children.map(children, (_item, i)=>{
|
|
140
|
-
const elem = slidesStore.current[i]
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
148
|
+
const elem = slidesStore.current[i];
|
|
149
|
+
if (!elem) {
|
|
150
|
+
return {
|
|
151
|
+
coordX: 0,
|
|
152
|
+
width: 0
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
const coordX = isRtl ? calcRtlCoord(elem) : elem.offsetLeft;
|
|
144
156
|
return {
|
|
145
|
-
coordX
|
|
157
|
+
coordX,
|
|
146
158
|
width: elem.offsetWidth
|
|
147
159
|
};
|
|
148
160
|
}) || [];
|
|
@@ -177,7 +189,8 @@ export const CarouselBase = (_param)=>{
|
|
|
177
189
|
max: looped || onlyOneSlide ? null : calcMax({
|
|
178
190
|
slides: localSlides,
|
|
179
191
|
containerWidth,
|
|
180
|
-
isCenterAlign
|
|
192
|
+
isCenterAlign,
|
|
193
|
+
isRtl
|
|
181
194
|
}),
|
|
182
195
|
min: looped || onlyOneSlide ? null : calcMin({
|
|
183
196
|
containerWidth,
|
|
@@ -185,19 +198,26 @@ export const CarouselBase = (_param)=>{
|
|
|
185
198
|
slides: localSlides,
|
|
186
199
|
viewportOffsetWidth,
|
|
187
200
|
isFullyVisible,
|
|
188
|
-
align
|
|
201
|
+
align,
|
|
202
|
+
isRtl
|
|
189
203
|
})
|
|
190
204
|
});
|
|
191
|
-
const snaps = localSlides.map((_, index)=>calculateIndent(
|
|
192
|
-
|
|
205
|
+
const snaps = localSlides.map((_, index)=>calculateIndent({
|
|
206
|
+
targetIndex: index,
|
|
207
|
+
slidesManager: slidesManager.current,
|
|
208
|
+
isCenter: isCenterAlign,
|
|
209
|
+
looped,
|
|
210
|
+
isRtl
|
|
211
|
+
}));
|
|
212
|
+
let contentSize = Math.abs(snaps[snaps.length - 1]) + localSlides[localSlides.length - 1].width;
|
|
193
213
|
if (align === 'center') {
|
|
194
|
-
contentSize += snaps[0];
|
|
214
|
+
contentSize += revertRtlValue(snaps[0], isRtl);
|
|
195
215
|
}
|
|
196
216
|
slidesManager.current.snaps = snaps;
|
|
197
217
|
slidesManager.current.contentSize = contentSize;
|
|
198
218
|
// Если галерея не зациклена и слайд всего один, то рассчитывать loopPoints тоже не надо
|
|
199
219
|
if (looped && !onlyOneSlide && !isFullyVisible) {
|
|
200
|
-
slidesManager.current.loopPoints = getLoopPoints(slidesManager.current, containerWidth);
|
|
220
|
+
slidesManager.current.loopPoints = getLoopPoints(slidesManager.current, containerWidth, isRtl);
|
|
201
221
|
}
|
|
202
222
|
shiftXCurrentRef.current = snaps[slideIndex];
|
|
203
223
|
initialized.current = true;
|
|
@@ -219,12 +239,14 @@ export const CarouselBase = (_param)=>{
|
|
|
219
239
|
const { snaps, slides } = slidesManager.current;
|
|
220
240
|
const indent = snaps[slideIndex];
|
|
221
241
|
let startPoint = shiftXCurrentRef.current;
|
|
242
|
+
const fromLastToFirst = isLowerOrEqual(shiftXCurrentRef.current, snaps[snaps.length - 1], isRtl);
|
|
222
243
|
/**
|
|
223
244
|
* Переключаемся с последнего элемента на первый
|
|
224
245
|
* Для корректной анимации мы прокручиваем последний слайд на всю длину (shiftX) "вперед"
|
|
225
246
|
* В конце анимации при отрисовке следующего кадра задаем всем слайдам начальные значения
|
|
226
|
-
*/ if (indent === snaps[0] &&
|
|
227
|
-
const
|
|
247
|
+
*/ if (indent === snaps[0] && fromLastToFirst) {
|
|
248
|
+
const endEdge = revertRtlValue(Math.abs(snaps[snaps.length - 1]) + slides[slides.length - 1].width, isRtl);
|
|
249
|
+
const distance = endEdge + startPoint;
|
|
228
250
|
addToAnimationQueue(getAnimateFunction((progress)=>{
|
|
229
251
|
const shiftX = startPoint + progress * distance * -1;
|
|
230
252
|
transformCssStyles(shiftX);
|
|
@@ -240,13 +262,14 @@ export const CarouselBase = (_param)=>{
|
|
|
240
262
|
* Для корректной анимации сначала задаем первым видимым слайдам смещение
|
|
241
263
|
* В следующем кадре начинаем анимация прокрутки "назад"
|
|
242
264
|
*/ } else if (indent === snaps[snaps.length - 1] && shiftXCurrentRef.current === snaps[0]) {
|
|
243
|
-
startPoint = indent - slides[slides.length - 1].width;
|
|
265
|
+
startPoint = indent - revertRtlValue(slides[slides.length - 1].width, isRtl);
|
|
244
266
|
addToAnimationQueue(()=>{
|
|
245
267
|
requestAnimationFrame(()=>{
|
|
246
|
-
const shiftX = indent - slides[slides.length - 1].width;
|
|
268
|
+
const shiftX = indent - revertRtlValue(slides[slides.length - 1].width, isRtl);
|
|
247
269
|
transformCssStyles(shiftX);
|
|
248
270
|
getAnimateFunction((progress)=>{
|
|
249
|
-
|
|
271
|
+
const diff = revertRtlValue(progress * slides[slides.length - 1].width, isRtl);
|
|
272
|
+
transformCssStyles(startPoint + diff);
|
|
250
273
|
})();
|
|
251
274
|
});
|
|
252
275
|
});
|
|
@@ -298,21 +321,22 @@ export const CarouselBase = (_param)=>{
|
|
|
298
321
|
useIsomorphicLayoutEffect(initializeSlides, [
|
|
299
322
|
align,
|
|
300
323
|
slideWidth,
|
|
301
|
-
looped
|
|
324
|
+
looped,
|
|
325
|
+
isRtl
|
|
302
326
|
]);
|
|
303
327
|
const calculateMinDeltaXToSlide = ()=>{
|
|
304
328
|
return slidesManager.current.slides[slideIndex].width * SLIDE_THRESHOLD;
|
|
305
329
|
};
|
|
306
330
|
const slideLeft = (event)=>{
|
|
307
331
|
if (slideIndex > 0) {
|
|
308
|
-
shiftXCurrentRef.current += calculateMinDeltaXToSlide();
|
|
332
|
+
shiftXCurrentRef.current += revertRtlValue(calculateMinDeltaXToSlide(), isRtl);
|
|
309
333
|
}
|
|
310
334
|
onChange === null || onChange === void 0 ? void 0 : onChange((slideIndex - 1 + slidesManager.current.slides.length) % slidesManager.current.slides.length);
|
|
311
335
|
onPrevClick === null || onPrevClick === void 0 ? void 0 : onPrevClick(event);
|
|
312
336
|
};
|
|
313
337
|
const slideRight = (event)=>{
|
|
314
338
|
if (slideIndex < slidesManager.current.slides.length - 1) {
|
|
315
|
-
shiftXCurrentRef.current -= calculateMinDeltaXToSlide();
|
|
339
|
+
shiftXCurrentRef.current -= revertRtlValue(calculateMinDeltaXToSlide(), isRtl);
|
|
316
340
|
}
|
|
317
341
|
onChange === null || onChange === void 0 ? void 0 : onChange((slideIndex + 1) % slidesManager.current.slides.length);
|
|
318
342
|
onNextClick === null || onNextClick === void 0 ? void 0 : onNextClick(event);
|
|
@@ -348,7 +372,8 @@ export const CarouselBase = (_param)=>{
|
|
|
348
372
|
currentShiftX: shiftXCurrentRef.current,
|
|
349
373
|
currentShiftXDelta: shiftXDeltaRef.current,
|
|
350
374
|
max: slidesManager.current.max,
|
|
351
|
-
looped
|
|
375
|
+
looped,
|
|
376
|
+
isRtl
|
|
352
377
|
});
|
|
353
378
|
}
|
|
354
379
|
onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(e, targetIndex);
|