@vkontakte/vkui 7.0.1 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ActionSheet/types.d.ts +1 -1
- package/dist/components/ActionSheet/types.d.ts.map +1 -1
- package/dist/components/ActionSheet/types.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts +2 -2
- package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.d.ts +1 -1
- package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.d.ts +7 -3
- package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.js +1 -1
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +3 -4
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +81 -64
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.d.ts +3 -0
- package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +3 -1
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.d.ts +3 -0
- 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 +12 -0
- package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +4 -2
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +7 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.js +108 -93
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.d.ts +20 -4
- package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js +68 -9
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.d.ts +2 -3
- package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
- package/dist/components/CardScroll/CardScroll.js +6 -2
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/CarouselBase/Bullets.d.ts +16 -0
- package/dist/components/CarouselBase/Bullets.d.ts.map +1 -0
- package/dist/components/CarouselBase/Bullets.js +21 -0
- package/dist/components/CarouselBase/Bullets.js.map +1 -0
- package/dist/components/CarouselBase/CarouselBase.d.ts +4 -0
- package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -0
- package/dist/components/{BaseGallery/CarouselBase → CarouselBase}/CarouselBase.js +175 -98
- package/dist/components/CarouselBase/CarouselBase.js.map +1 -0
- package/dist/components/CarouselBase/CarouselViewPort.d.ts +14 -0
- package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -0
- package/dist/components/CarouselBase/CarouselViewPort.js +29 -0
- package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -0
- package/dist/components/CarouselBase/ScrollArrows.d.ts +23 -0
- package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -0
- package/dist/components/CarouselBase/ScrollArrows.js +34 -0
- package/dist/components/CarouselBase/ScrollArrows.js.map +1 -0
- package/dist/components/CarouselBase/constants.d.ts.map +1 -0
- package/dist/components/{BaseGallery/CarouselBase → CarouselBase}/constants.js +5 -1
- package/dist/components/CarouselBase/constants.js.map +1 -0
- package/dist/components/{BaseGallery/CarouselBase → CarouselBase}/helpers.d.ts +13 -4
- package/dist/components/CarouselBase/helpers.d.ts.map +1 -0
- package/dist/{cssm/components/BaseGallery → components}/CarouselBase/helpers.js +41 -5
- package/dist/components/CarouselBase/helpers.js.map +1 -0
- package/dist/components/{BaseGallery/CarouselBase → CarouselBase}/hooks.d.ts +1 -1
- package/dist/components/CarouselBase/hooks.d.ts.map +1 -0
- package/dist/components/{BaseGallery/CarouselBase → CarouselBase}/hooks.js +2 -2
- package/dist/components/CarouselBase/hooks.js.map +1 -0
- package/dist/components/CarouselBase/types.d.ts +125 -0
- package/dist/components/CarouselBase/types.d.ts.map +1 -0
- package/dist/components/CarouselBase/types.js.map +1 -0
- package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInput/useChipsInput.d.ts +1 -1
- package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.d.ts +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/components/Clickable/useState.js.map +1 -1
- package/dist/components/Clickable/useStateWithDelay.js +1 -1
- package/dist/components/Clickable/useStateWithDelay.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +8 -23
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.js +22 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js +2 -3
- package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.d.ts +5 -1
- package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js +9 -4
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +6 -2
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +8 -4
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +24 -2
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/DateInput.js +41 -6
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +19 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +6 -4
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts.map +1 -1
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js +1 -2
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/Gallery/Gallery.d.ts +2 -3
- package/dist/components/Gallery/Gallery.d.ts.map +1 -1
- package/dist/components/Gallery/Gallery.js +3 -6
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +9 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +6 -4
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/Image/Image.d.ts +1 -0
- package/dist/components/Image/Image.d.ts.map +1 -1
- package/dist/components/Image/Image.js +2 -0
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/ImageBase/ImageBase.d.ts +8 -1
- package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBase.js +39 -11
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +29 -0
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -0
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +96 -0
- package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -0
- package/dist/components/ImageBase/ImageBaseFloatElement/helpers.d.ts +4 -0
- package/dist/components/ImageBase/ImageBaseFloatElement/helpers.d.ts.map +1 -0
- package/dist/components/ImageBase/ImageBaseFloatElement/helpers.js +35 -0
- package/dist/components/ImageBase/ImageBaseFloatElement/helpers.js.map +1 -0
- package/dist/components/ImageBase/ImageBaseOverlay/hooks.d.ts +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/hooks.d.ts.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/hooks.js.map +1 -1
- package/dist/components/ImageBase/context.d.ts.map +1 -1
- package/dist/components/ImageBase/context.js +3 -1
- package/dist/components/ImageBase/context.js.map +1 -1
- package/dist/components/ImageBase/types.d.ts +2 -0
- package/dist/components/ImageBase/types.d.ts.map +1 -1
- package/dist/components/ImageBase/types.js.map +1 -1
- package/dist/components/ImageBase/validators.d.ts +2 -1
- package/dist/components/ImageBase/validators.d.ts.map +1 -1
- package/dist/components/ImageBase/validators.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRootContext.d.ts.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/components/Pagination/Pagination.d.ts +14 -1
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +13 -4
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts +2 -0
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js +2 -1
- package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +2 -2
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js +6 -126
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/usePopover.d.ts +14 -0
- package/dist/components/Popover/usePopover.d.ts.map +1 -0
- package/dist/components/Popover/usePopover.js +138 -0
- package/dist/components/Popover/usePopover.js.map +1 -0
- package/dist/components/Popper/Popper.d.ts +1 -1
- package/dist/components/Popper/Popper.d.ts.map +1 -1
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/Removable/Removable.d.ts +2 -2
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.d.ts +11 -1
- package/dist/components/RichCell/RichCell.d.ts.map +1 -1
- package/dist/components/RichCell/RichCell.js +15 -8
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/Root/Root.d.ts.map +1 -1
- package/dist/components/Root/Root.js +3 -1
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +2 -2
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +30 -10
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +6 -17
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +3 -2
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +2 -2
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Slider/Slider.d.ts +9 -1
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/Slider.js +5 -1
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.js +1 -1
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/SplitCol/SplitColContext.d.ts +1 -1
- package/dist/components/SplitCol/SplitColContext.d.ts.map +1 -1
- package/dist/components/SplitCol/SplitColContext.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +2 -82
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Textarea/Textarea.js +2 -2
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Textarea/useResizeTextarea.d.ts +1 -1
- package/dist/components/Textarea/useResizeTextarea.d.ts.map +1 -1
- package/dist/components/Textarea/useResizeTextarea.js +1 -1
- package/dist/components/Textarea/useResizeTextarea.js.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 +4 -2
- package/dist/components/Tooltip/Tooltip.js.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 +16 -5
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/View.d.ts.map +1 -1
- package/dist/components/View/View.js +3 -1
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts.map +1 -1
- package/dist/components/View/ViewInfinite.js +3 -1
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/context/CalendarDirectionContext.d.ts +7 -0
- package/dist/context/CalendarDirectionContext.d.ts.map +1 -0
- package/dist/context/CalendarDirectionContext.js +7 -0
- package/dist/context/CalendarDirectionContext.js.map +1 -0
- package/dist/cssm/components/ActionSheet/types.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.js +79 -64
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +3 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.module.css +4 -0
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +4 -2
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js +108 -94
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js +67 -9
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +3 -1
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/CarouselBase/Bullets.js +22 -0
- package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -0
- package/dist/cssm/components/{BaseGallery/CarouselBase → CarouselBase}/CarouselBase.js +164 -97
- package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -0
- package/dist/cssm/components/{BaseGallery/BaseGallery.module.css → CarouselBase/CarouselBase.module.css} +21 -1
- package/dist/cssm/components/CarouselBase/CarouselViewPort.js +30 -0
- package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -0
- package/dist/cssm/components/CarouselBase/ScrollArrows.js +35 -0
- package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -0
- package/dist/cssm/components/{BaseGallery/CarouselBase → CarouselBase}/constants.js +5 -1
- package/dist/cssm/components/CarouselBase/constants.js.map +1 -0
- package/dist/{components/BaseGallery → cssm/components}/CarouselBase/helpers.js +39 -5
- package/dist/cssm/components/CarouselBase/helpers.js.map +1 -0
- package/dist/cssm/components/{BaseGallery/CarouselBase → CarouselBase}/hooks.js +2 -2
- package/dist/cssm/components/CarouselBase/hooks.js.map +1 -0
- package/dist/cssm/components/CarouselBase/types.js.map +1 -0
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
- package/dist/cssm/components/Clickable/useState.js.map +1 -1
- package/dist/cssm/components/Clickable/useStateWithDelay.js +1 -1
- package/dist/cssm/components/Clickable/useStateWithDelay.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +8 -23
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +22 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +2 -3
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js +8 -4
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +6 -2
- package/dist/cssm/components/CustomSelect/CustomSelect.js +6 -3
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +37 -5
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -3
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -2
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.module.css +11 -11
- package/dist/cssm/components/Gallery/Gallery.js +3 -5
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -3
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/Image/Image.js +2 -0
- package/dist/cssm/components/Image/Image.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js +35 -9
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.module.css +9 -0
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +91 -0
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -0
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css +134 -0
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/helpers.js +35 -0
- package/dist/cssm/components/ImageBase/ImageBaseFloatElement/helpers.js.map +1 -0
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/hooks.js.map +1 -1
- package/dist/cssm/components/ImageBase/context.js +3 -1
- package/dist/cssm/components/ImageBase/context.js.map +1 -1
- package/dist/cssm/components/ImageBase/types.js.map +1 -1
- package/dist/cssm/components/ImageBase/validators.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.js +10 -4
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js +2 -1
- package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.js +5 -93
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popover/usePopover.js +102 -0
- package/dist/cssm/components/Popover/usePopover.js.map +1 -0
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.js +13 -8
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.module.css +17 -3
- package/dist/cssm/components/Root/Root.js +3 -1
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js +27 -7
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +5 -5
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/Select/Select.js +1 -1
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/Skeleton/Skeleton.js +2 -2
- package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/cssm/components/Slider/Slider.js +3 -1
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +12 -6
- package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.js +2 -82
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +2 -2
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Textarea/useResizeTextarea.js +1 -1
- package/dist/cssm/components/Textarea/useResizeTextarea.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +3 -2
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js +15 -4
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.module.css +27 -17
- package/dist/cssm/components/View/View.js +3 -1
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +3 -1
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/context/CalendarDirectionContext.js +7 -0
- package/dist/cssm/context/CalendarDirectionContext.js.map +1 -0
- package/dist/cssm/helpers/getMergedSameEventsByProps.js.map +1 -1
- package/dist/cssm/hooks/useDateInput.js.map +1 -1
- package/dist/cssm/hooks/useDirection.js.map +1 -1
- package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
- package/dist/cssm/hooks/useEnsuredControl.js +1 -1
- package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
- package/dist/cssm/hooks/useExternRef.js.map +1 -1
- package/dist/cssm/hooks/useFocusTrap.js.map +1 -1
- package/dist/cssm/hooks/useGlobalOnClickOutside.js.map +1 -1
- package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/cssm/hooks/useMutationObserver.js.map +1 -1
- package/dist/cssm/hooks/useNativeFormResetListener.js.map +1 -1
- package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
- package/dist/cssm/hooks/usePrevious.js +1 -1
- package/dist/cssm/hooks/usePrevious.js.map +1 -1
- package/dist/cssm/hooks/useResizeObserver.js +20 -4
- package/dist/cssm/hooks/useResizeObserver.js.map +1 -1
- package/dist/cssm/hooks/useStateWithPrev.js.map +1 -1
- package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
- package/dist/cssm/hooks/useSyncHTMLWithTokens.js.map +1 -1
- package/dist/cssm/hooks/useTabsNavigation.js +90 -0
- package/dist/cssm/hooks/useTabsNavigation.js.map +1 -0
- package/dist/cssm/index.js +4 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +4 -4
- package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +10 -3
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/styles/constants.css +1 -0
- package/dist/helpers/getMergedSameEventsByProps.d.ts +1 -1
- package/dist/helpers/getMergedSameEventsByProps.d.ts.map +1 -1
- package/dist/helpers/getMergedSameEventsByProps.js.map +1 -1
- package/dist/hooks/useDateInput.d.ts +3 -3
- package/dist/hooks/useDateInput.d.ts.map +1 -1
- package/dist/hooks/useDateInput.js.map +1 -1
- package/dist/hooks/useDirection.d.ts +2 -2
- package/dist/hooks/useDirection.d.ts.map +1 -1
- package/dist/hooks/useDirection.js.map +1 -1
- package/dist/hooks/useDraggableWithDomApi/types.d.ts +1 -1
- package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
- package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
- package/dist/hooks/useEnsuredControl.js +1 -1
- package/dist/hooks/useEnsuredControl.js.map +1 -1
- package/dist/hooks/useExternRef.d.ts +1 -1
- package/dist/hooks/useExternRef.d.ts.map +1 -1
- package/dist/hooks/useExternRef.js.map +1 -1
- package/dist/hooks/useFocusTrap.d.ts +1 -1
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js.map +1 -1
- package/dist/hooks/useGlobalOnClickOutside.d.ts +1 -1
- package/dist/hooks/useGlobalOnClickOutside.d.ts.map +1 -1
- package/dist/hooks/useGlobalOnClickOutside.js.map +1 -1
- package/dist/hooks/useKeyboardInputTracker.d.ts +1 -1
- package/dist/hooks/useKeyboardInputTracker.d.ts.map +1 -1
- package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/hooks/useMutationObserver.d.ts +1 -1
- package/dist/hooks/useMutationObserver.d.ts.map +1 -1
- package/dist/hooks/useMutationObserver.js.map +1 -1
- package/dist/hooks/useNativeFormResetListener.d.ts +1 -1
- package/dist/hooks/useNativeFormResetListener.d.ts.map +1 -1
- package/dist/hooks/useNativeFormResetListener.js.map +1 -1
- package/dist/hooks/usePatchChildren.d.ts +2 -2
- package/dist/hooks/usePatchChildren.d.ts.map +1 -1
- package/dist/hooks/usePatchChildren.js.map +1 -1
- package/dist/hooks/usePrevious.js +1 -1
- package/dist/hooks/usePrevious.js.map +1 -1
- package/dist/hooks/useResizeObserver.d.ts +1 -1
- package/dist/hooks/useResizeObserver.d.ts.map +1 -1
- package/dist/hooks/useResizeObserver.js +20 -4
- package/dist/hooks/useResizeObserver.js.map +1 -1
- package/dist/hooks/useStateWithPrev.d.ts.map +1 -1
- package/dist/hooks/useStateWithPrev.js.map +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
- package/dist/hooks/useSyncHTMLWithTokens.d.ts +1 -1
- package/dist/hooks/useSyncHTMLWithTokens.d.ts.map +1 -1
- package/dist/hooks/useSyncHTMLWithTokens.js.map +1 -1
- package/dist/hooks/useTabsNavigation.d.ts +5 -0
- package/dist/hooks/useTabsNavigation.d.ts.map +1 -0
- package/dist/hooks/useTabsNavigation.js +90 -0
- package/dist/hooks/useTabsNavigation.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/animation/useCSSTransition.d.ts +1 -1
- package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
- package/dist/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +4 -4
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +10 -1
- package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +10 -3
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/lib/utils.d.ts +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +6 -6
- package/src/components/ActionSheet/types.ts +1 -1
- package/src/components/Alert/Alert.tsx +1 -1
- package/src/components/AppRoot/AppRoot.tsx +1 -1
- package/src/components/AppRoot/AppRootContext.ts +2 -2
- package/src/components/AppRoot/AppRootPortal.tsx +1 -1
- package/src/components/AppRoot/ScrollContext.tsx +1 -1
- package/src/components/AspectRatio/AspectRatio.tsx +11 -4
- package/src/components/Calendar/Calendar.tsx +90 -72
- package/src/components/CalendarDay/CalendarDay.module.css +4 -0
- package/src/components/CalendarDay/CalendarDay.tsx +10 -1
- package/src/components/CalendarDays/CalendarDays.tsx +3 -0
- package/src/components/CalendarHeader/CalendarHeader.tsx +17 -2
- package/src/components/CalendarRange/CalendarRange.tsx +110 -84
- package/src/components/CalendarTime/CalendarTime.tsx +104 -16
- package/src/components/CardScroll/CardScroll.tsx +8 -2
- package/src/components/CarouselBase/Bullets.tsx +36 -0
- package/src/components/{BaseGallery/BaseGallery.module.css → CarouselBase/CarouselBase.module.css} +19 -1
- package/src/components/CarouselBase/CarouselBase.tsx +502 -0
- package/src/components/CarouselBase/CarouselViewPort.tsx +54 -0
- package/src/components/CarouselBase/ScrollArrows.tsx +80 -0
- package/src/components/{BaseGallery/CarouselBase → CarouselBase}/constants.ts +4 -0
- package/src/components/{BaseGallery/CarouselBase → CarouselBase}/helpers.ts +67 -7
- package/src/components/{BaseGallery/CarouselBase → CarouselBase}/hooks.ts +2 -2
- package/src/components/CarouselBase/types.ts +135 -0
- package/src/components/ChipsInput/ChipsInput.tsx +1 -1
- package/src/components/ChipsInput/useChipsInput.ts +2 -2
- package/src/components/ChipsSelect/ChipsSelect.tsx +1 -1
- package/src/components/ChipsSelect/useChipsSelect.ts +1 -1
- package/src/components/Clickable/useState.tsx +2 -2
- package/src/components/Clickable/useStateWithDelay.tsx +1 -1
- package/src/components/ConfigProvider/ConfigProvider.tsx +8 -35
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +36 -0
- package/src/components/ConfigProvider/ConfigProviderOverride.tsx +2 -5
- package/src/components/CustomScrollView/CustomScrollView.module.css +6 -2
- package/src/components/CustomScrollView/CustomScrollView.tsx +13 -2
- package/src/components/CustomSelect/CustomSelect.tsx +12 -4
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +1 -1
- package/src/components/DateInput/DateInput.tsx +62 -5
- package/src/components/DateRangeInput/DateRangeInput.tsx +22 -2
- package/src/components/Epic/Epic.tsx +5 -3
- package/src/components/FixedLayout/FixedLayout.tsx +1 -2
- package/src/components/FormField/FormField.module.css +11 -11
- package/src/components/Gallery/Gallery.tsx +4 -10
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +12 -2
- package/src/components/Image/Image.tsx +4 -0
- package/src/components/ImageBase/ImageBase.module.css +9 -0
- package/src/components/ImageBase/ImageBase.tsx +69 -10
- package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css +134 -0
- package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +168 -0
- package/src/components/ImageBase/ImageBaseFloatElement/helpers.ts +44 -0
- package/src/components/ImageBase/ImageBaseOverlay/hooks.ts +1 -1
- package/src/components/ImageBase/context.ts +2 -0
- package/src/components/ImageBase/types.ts +2 -0
- package/src/components/ImageBase/validators.ts +5 -4
- package/src/components/ModalCardBase/ModalCardBase.tsx +1 -1
- package/src/components/ModalRoot/ModalRootContext.tsx +3 -1
- package/src/components/Pagination/Pagination.tsx +23 -4
- package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +4 -2
- package/src/components/Popover/Popover.tsx +6 -166
- package/src/components/Popover/usePopover.tsx +183 -0
- package/src/components/Popper/Popper.tsx +1 -1
- package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
- package/src/components/Removable/Removable.tsx +2 -2
- package/src/components/RichCell/RichCell.module.css +17 -3
- package/src/components/RichCell/RichCell.tsx +28 -8
- package/src/components/Root/Root.tsx +4 -2
- package/src/components/SegmentedControl/SegmentedControl.tsx +46 -14
- package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +14 -10
- package/src/components/Select/Select.tsx +1 -0
- package/src/components/Skeleton/Skeleton.tsx +3 -3
- package/src/components/Slider/Slider.tsx +12 -0
- package/src/components/Snackbar/Snackbar.tsx +1 -1
- package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +12 -6
- package/src/components/SplitCol/SplitColContext.tsx +1 -1
- package/src/components/Tabs/Tabs.tsx +2 -99
- package/src/components/Textarea/Textarea.tsx +2 -2
- package/src/components/Textarea/useResizeTextarea.ts +3 -3
- package/src/components/Tooltip/Tooltip.tsx +3 -0
- package/src/components/UsersStack/UsersStack.module.css +27 -17
- package/src/components/UsersStack/UsersStack.tsx +24 -3
- package/src/components/View/View.tsx +9 -5
- package/src/components/View/ViewInfinite.tsx +5 -3
- package/src/context/CalendarDirectionContext.ts +12 -0
- package/src/helpers/getMergedSameEventsByProps.ts +1 -1
- package/src/hooks/useDateInput.ts +5 -5
- package/src/hooks/useDirection.ts +3 -3
- package/src/hooks/useDraggableWithDomApi/types.ts +1 -1
- package/src/hooks/useEnsuredControl.ts +1 -1
- package/src/hooks/useExternRef.ts +2 -2
- package/src/hooks/useFocusTrap.ts +1 -1
- package/src/hooks/useGlobalOnClickOutside.ts +1 -1
- package/src/hooks/useKeyboardInputTracker.ts +1 -1
- package/src/hooks/useMutationObserver.ts +1 -1
- package/src/hooks/useNativeFormResetListener.ts +1 -1
- package/src/hooks/usePatchChildren.ts +2 -9
- package/src/hooks/usePrevious.ts +1 -1
- package/src/hooks/useResizeObserver.ts +30 -6
- package/src/hooks/useStateWithPrev.ts +1 -5
- package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
- package/src/hooks/useSyncHTMLWithTokens.ts +1 -1
- package/src/hooks/useTabsNavigation.ts +104 -0
- package/src/index.ts +7 -0
- package/src/lib/animation/useCSSTransition.ts +1 -1
- package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +9 -9
- package/src/lib/floating/useFloatingWithInteractions/types.ts +15 -5
- package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +7 -2
- package/src/lib/utils.ts +2 -2
- package/src/styles/constants.css +1 -0
- package/dist/components/BaseGallery/BaseGallery.d.ts +0 -4
- package/dist/components/BaseGallery/BaseGallery.d.ts.map +0 -1
- package/dist/components/BaseGallery/BaseGallery.js +0 -321
- package/dist/components/BaseGallery/BaseGallery.js.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/CarouselBase.d.ts +0 -4
- package/dist/components/BaseGallery/CarouselBase/CarouselBase.d.ts.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/CarouselBase.js.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/constants.d.ts.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/constants.js.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/helpers.d.ts.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/helpers.js.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/hooks.d.ts.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/hooks.js.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/types.d.ts +0 -54
- package/dist/components/BaseGallery/CarouselBase/types.d.ts.map +0 -1
- package/dist/components/BaseGallery/CarouselBase/types.js.map +0 -1
- package/dist/components/BaseGallery/helpers.d.ts +0 -13
- package/dist/components/BaseGallery/helpers.d.ts.map +0 -1
- package/dist/components/BaseGallery/helpers.js +0 -24
- package/dist/components/BaseGallery/helpers.js.map +0 -1
- package/dist/components/BaseGallery/types.d.ts +0 -55
- package/dist/components/BaseGallery/types.d.ts.map +0 -1
- package/dist/components/BaseGallery/types.js.map +0 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.js +0 -293
- package/dist/cssm/components/BaseGallery/BaseGallery.js.map +0 -1
- package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.js.map +0 -1
- package/dist/cssm/components/BaseGallery/CarouselBase/constants.js.map +0 -1
- package/dist/cssm/components/BaseGallery/CarouselBase/helpers.js.map +0 -1
- package/dist/cssm/components/BaseGallery/CarouselBase/hooks.js.map +0 -1
- package/dist/cssm/components/BaseGallery/CarouselBase/types.js +0 -3
- package/dist/cssm/components/BaseGallery/CarouselBase/types.js.map +0 -1
- package/dist/cssm/components/BaseGallery/helpers.js +0 -24
- package/dist/cssm/components/BaseGallery/helpers.js.map +0 -1
- package/dist/cssm/components/BaseGallery/types.js +0 -3
- package/dist/cssm/components/BaseGallery/types.js.map +0 -1
- package/dist/cssm/hooks/useObjectMemo.js +0 -15
- package/dist/cssm/hooks/useObjectMemo.js.map +0 -1
- package/dist/hooks/useObjectMemo.d.ts +0 -5
- package/dist/hooks/useObjectMemo.d.ts.map +0 -1
- package/dist/hooks/useObjectMemo.js +0 -15
- package/dist/hooks/useObjectMemo.js.map +0 -1
- package/src/components/BaseGallery/BaseGallery.tsx +0 -380
- package/src/components/BaseGallery/CarouselBase/CarouselBase.tsx +0 -399
- package/src/components/BaseGallery/CarouselBase/types.ts +0 -56
- package/src/components/BaseGallery/helpers.ts +0 -46
- package/src/components/BaseGallery/types.ts +0 -61
- package/src/hooks/useObjectMemo.ts +0 -16
- /package/dist/components/{BaseGallery/CarouselBase → CarouselBase}/constants.d.ts +0 -0
- /package/dist/components/{BaseGallery/CarouselBase → CarouselBase}/types.js +0 -0
- /package/dist/{components/BaseGallery → cssm/components/CarouselBase}/types.js +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Touch } from "../Touch/Touch.js";
|
|
5
|
+
export const CarouselViewPort = ({ slideTestId, slideWidth, onStart, onMoveX, onEnd, getRootRef, layerRef, children, setSlideRef })=>{
|
|
6
|
+
return /*#__PURE__*/ _jsx(Touch, {
|
|
7
|
+
className: "vkuiCarouselBase__viewport",
|
|
8
|
+
onStartX: onStart,
|
|
9
|
+
onMoveX: onMoveX,
|
|
10
|
+
onEnd: onEnd,
|
|
11
|
+
style: {
|
|
12
|
+
width: slideWidth === 'custom' ? '100%' : slideWidth
|
|
13
|
+
},
|
|
14
|
+
noSlideClick: true,
|
|
15
|
+
getRootRef: getRootRef,
|
|
16
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
17
|
+
className: "vkuiCarouselBase__layer",
|
|
18
|
+
ref: layerRef,
|
|
19
|
+
children: React.Children.map(children, (item, i)=>/*#__PURE__*/ _jsx("div", {
|
|
20
|
+
className: "vkuiCarouselBase__slide",
|
|
21
|
+
"data-testid": slideTestId === null || slideTestId === void 0 ? void 0 : slideTestId(i),
|
|
22
|
+
ref: (el)=>setSlideRef(el, i),
|
|
23
|
+
children: item
|
|
24
|
+
}, `slide-${i}`))
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=CarouselViewPort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CarouselBase/CarouselViewPort.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { type HasChildren, type HasRootRef } from '../../types';\nimport { type CustomTouchEvent, Touch } from '../Touch/Touch';\nimport { type BaseGalleryProps } from './types';\nimport styles from './CarouselBase.module.css';\n\ntype GalleryViewPortProps = Pick<BaseGalleryProps, 'slideWidth' | 'slideTestId'> &\n HasRootRef<HTMLElement> &\n HasChildren & {\n onStart: (e: CustomTouchEvent) => void;\n onMoveX: (e: CustomTouchEvent) => void;\n onEnd: (e: CustomTouchEvent) => void;\n setSlideRef: (slideRef: HTMLDivElement | null, slideIndex: number) => void;\n layerRef?: React.Ref<HTMLDivElement>;\n };\n\nexport const CarouselViewPort: React.FC<GalleryViewPortProps> = ({\n slideTestId,\n slideWidth,\n onStart,\n onMoveX,\n onEnd,\n getRootRef,\n layerRef,\n children,\n setSlideRef,\n}) => {\n return (\n <Touch\n className={styles.viewport}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n noSlideClick\n getRootRef={getRootRef}\n >\n <div className={styles.layer} ref={layerRef}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles.slide}\n key={`slide-${i}`}\n data-testid={slideTestId?.(i)}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n );\n};\n"],"names":["React","Touch","CarouselViewPort","slideTestId","slideWidth","onStart","onMoveX","onEnd","getRootRef","layerRef","children","setSlideRef","className","onStartX","style","width","noSlideClick","div","ref","Children","map","item","i","data-testid","el"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAE/B,SAAgCC,KAAK,QAAQ,oBAAiB;AAc9D,OAAO,MAAMC,mBAAmD,CAAC,EAC/DC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,OAAO,EACPC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACRC,QAAQ,EACRC,WAAW,EACZ;IACC,qBACE,KAACV;QACCW,SAAS;QACTC,UAAUR;QACVC,SAASA;QACTC,OAAOA;QACPO,OAAO;YAAEC,OAAOX,eAAe,WAAW,SAASA;QAAW;QAC9DY,YAAY;QACZR,YAAYA;kBAEZ,cAAA,KAACS;YAAIL,SAAS;YAAgBM,KAAKT;sBAChCT,MAAMmB,QAAQ,CAACC,GAAG,CAACV,UAAU,CAACW,MAAuBC,kBACpD,KAACL;oBACCL,SAAS;oBAETW,aAAW,EAAEpB,wBAAAA,kCAAAA,YAAcmB;oBAC3BJ,KAAK,CAACM,KAAOb,YAAYa,IAAIF;8BAE5BD;mBAJI,CAAC,MAAM,EAAEC,GAAG;;;AAU7B,EAAE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type BaseGalleryProps } from './types';
|
|
3
|
+
export declare const getArrowClassName: (side: "start" | "end", arrowAreaHeight: Exclude<BaseGalleryProps["arrowAreaHeight"], undefined>) => string;
|
|
4
|
+
export interface ScrollArrowsTestIds {
|
|
5
|
+
/**
|
|
6
|
+
* Передает атрибут `data-testid` для кнопки перехода к следующему слайду
|
|
7
|
+
*/
|
|
8
|
+
nextArrowTestId?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Передает атрибут `data-testid` для кнопки перехода к предыдущему слайду
|
|
11
|
+
*/
|
|
12
|
+
prevArrowTestId?: string;
|
|
13
|
+
}
|
|
14
|
+
interface ScrollArrowsProps extends Pick<BaseGalleryProps, 'showArrows' | 'arrowSize' | 'arrowAreaHeight'>, ScrollArrowsTestIds {
|
|
15
|
+
hasPointer?: boolean;
|
|
16
|
+
canSlideLeft: boolean;
|
|
17
|
+
canSlideRight: boolean;
|
|
18
|
+
onSlideLeft: (e: React.MouseEvent) => void;
|
|
19
|
+
onSlideRight: (e: React.MouseEvent) => void;
|
|
20
|
+
}
|
|
21
|
+
export declare const ScrollArrows: React.FC<ScrollArrowsProps>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=ScrollArrows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollArrows.d.ts","sourceRoot":"","sources":["../../../src/components/CarouselBase/ScrollArrows.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQhD,eAAO,MAAM,iBAAiB,SACtB,OAAO,GAAG,KAAK,mBACJ,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,WAOzE,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,iBACR,SAAQ,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAC,EAC5E,mBAAmB;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkCpD,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { classNames } from "@vkontakte/vkjs";
|
|
5
|
+
import { ScrollArrow } from "../ScrollArrow/ScrollArrow.js";
|
|
6
|
+
const stylesArrowAreaHeight = {
|
|
7
|
+
stretch: "vkuiCarouselBase__arrowAreaStretch",
|
|
8
|
+
fit: "vkuiCarouselBase__arrowAreaFit"
|
|
9
|
+
};
|
|
10
|
+
export const getArrowClassName = (side, arrowAreaHeight)=>{
|
|
11
|
+
return classNames("vkuiCarouselBase__arrow", side === 'start' ? "vkuiCarouselBase__arrowStart" : "vkuiCarouselBase__arrowEnd", stylesArrowAreaHeight[arrowAreaHeight]);
|
|
12
|
+
};
|
|
13
|
+
export const ScrollArrows = ({ hasPointer, canSlideLeft, canSlideRight, onSlideRight, onSlideLeft, showArrows = false, arrowSize = 'm', arrowAreaHeight = 'stretch', nextArrowTestId, prevArrowTestId })=>{
|
|
14
|
+
return showArrows && hasPointer ? /*#__PURE__*/ _jsxs(_Fragment, {
|
|
15
|
+
children: [
|
|
16
|
+
canSlideLeft && /*#__PURE__*/ _jsx(ScrollArrow, {
|
|
17
|
+
className: getArrowClassName('start', arrowAreaHeight),
|
|
18
|
+
direction: "left",
|
|
19
|
+
onClick: onSlideLeft,
|
|
20
|
+
size: arrowSize,
|
|
21
|
+
"data-testid": prevArrowTestId
|
|
22
|
+
}),
|
|
23
|
+
canSlideRight && /*#__PURE__*/ _jsx(ScrollArrow, {
|
|
24
|
+
className: getArrowClassName('end', arrowAreaHeight),
|
|
25
|
+
direction: "right",
|
|
26
|
+
onClick: onSlideRight,
|
|
27
|
+
size: arrowSize,
|
|
28
|
+
"data-testid": nextArrowTestId
|
|
29
|
+
})
|
|
30
|
+
]
|
|
31
|
+
}) : null;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=ScrollArrows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CarouselBase/ScrollArrows.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { type BaseGalleryProps } from './types';\nimport styles from './CarouselBase.module.css';\n\nconst stylesArrowAreaHeight = {\n stretch: styles.arrowAreaStretch,\n fit: styles.arrowAreaFit,\n};\n\nexport const getArrowClassName = (\n side: 'start' | 'end',\n arrowAreaHeight: Exclude<BaseGalleryProps['arrowAreaHeight'], undefined>,\n) => {\n return classNames(\n styles.arrow,\n side === 'start' ? styles.arrowStart : styles.arrowEnd,\n stylesArrowAreaHeight[arrowAreaHeight],\n );\n};\n\nexport interface ScrollArrowsTestIds {\n /**\n * Передает атрибут `data-testid` для кнопки перехода к следующему слайду\n */\n nextArrowTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки перехода к предыдущему слайду\n */\n prevArrowTestId?: string;\n}\n\ninterface ScrollArrowsProps\n extends Pick<BaseGalleryProps, 'showArrows' | 'arrowSize' | 'arrowAreaHeight'>,\n ScrollArrowsTestIds {\n hasPointer?: boolean;\n canSlideLeft: boolean;\n canSlideRight: boolean;\n onSlideLeft: (e: React.MouseEvent) => void;\n onSlideRight: (e: React.MouseEvent) => void;\n}\n\nexport const ScrollArrows: React.FC<ScrollArrowsProps> = ({\n hasPointer,\n canSlideLeft,\n canSlideRight,\n onSlideRight,\n onSlideLeft,\n showArrows = false,\n arrowSize = 'm',\n arrowAreaHeight = 'stretch',\n nextArrowTestId,\n prevArrowTestId,\n}) => {\n return showArrows && hasPointer ? (\n <>\n {canSlideLeft && (\n <ScrollArrow\n className={getArrowClassName('start', arrowAreaHeight)}\n direction=\"left\"\n onClick={onSlideLeft}\n size={arrowSize}\n data-testid={prevArrowTestId}\n />\n )}\n {canSlideRight && (\n <ScrollArrow\n className={getArrowClassName('end', arrowAreaHeight)}\n direction=\"right\"\n onClick={onSlideRight}\n size={arrowSize}\n data-testid={nextArrowTestId}\n />\n )}\n </>\n ) : null;\n};\n"],"names":["React","classNames","ScrollArrow","stylesArrowAreaHeight","stretch","fit","getArrowClassName","side","arrowAreaHeight","ScrollArrows","hasPointer","canSlideLeft","canSlideRight","onSlideRight","onSlideLeft","showArrows","arrowSize","nextArrowTestId","prevArrowTestId","className","direction","onClick","size","data-testid"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,gCAA6B;AAIzD,MAAMC,wBAAwB;IAC5BC,OAAO;IACPC,GAAG;AACL;AAEA,OAAO,MAAMC,oBAAoB,CAC/BC,MACAC;IAEA,OAAOP,sCAELM,SAAS,yEACTJ,qBAAqB,CAACK,gBAAgB;AAE1C,EAAE;AAuBF,OAAO,MAAMC,eAA4C,CAAC,EACxDC,UAAU,EACVC,YAAY,EACZC,aAAa,EACbC,YAAY,EACZC,WAAW,EACXC,aAAa,KAAK,EAClBC,YAAY,GAAG,EACfR,kBAAkB,SAAS,EAC3BS,eAAe,EACfC,eAAe,EAChB;IACC,OAAOH,cAAcL,2BACnB;;YACGC,8BACC,KAACT;gBACCiB,WAAWb,kBAAkB,SAASE;gBACtCY,WAAU;gBACVC,SAASP;gBACTQ,MAAMN;gBACNO,eAAaL;;YAGhBN,+BACC,KAACV;gBACCiB,WAAWb,kBAAkB,OAAOE;gBACpCY,WAAU;gBACVC,SAASR;gBACTS,MAAMN;gBACNO,eAAaN;;;SAIjB;AACN,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/CarouselBase/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAExE,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,sBAAsB,EAAE,oBAIpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAWlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CarouselBase/constants.ts"],"sourcesContent":["import type { ControlElementsState, SlidesManagerState } from './types';\n\nexport const ANIMATION_DURATION = 240;\n\nexport const SLIDE_THRESHOLD = 0.05;\n\nexport const CONTROL_ELEMENTS_STATE: ControlElementsState = {\n canSlideLeft: true,\n canSlideRight: true,\n isDraggable: true,\n};\n\nexport const SLIDES_MANAGER_STATE: SlidesManagerState = {\n viewportOffsetWidth: 0,\n slides: [],\n isFullyVisible: true,\n loopPoints: [],\n contentSize: 0,\n snaps: [],\n containerWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n};\n"],"names":["ANIMATION_DURATION","SLIDE_THRESHOLD","CONTROL_ELEMENTS_STATE","canSlideLeft","canSlideRight","isDraggable","SLIDES_MANAGER_STATE","viewportOffsetWidth","slides","isFullyVisible","loopPoints","contentSize","snaps","containerWidth","layerWidth","min","max"],"mappings":"AAEA,OAAO,MAAMA,qBAAqB,IAAI;AAEtC,OAAO,MAAMC,kBAAkB,KAAK;AAEpC,OAAO,MAAMC,yBAA+C;IAC1DC,cAAc;IACdC,eAAe;IACfC,aAAa;AACf,EAAE;AAEF,OAAO,MAAMC,uBAA2C;IACtDC,qBAAqB;IACrBC,QAAQ,EAAE;IACVC,gBAAgB;IAChBC,YAAY,EAAE;IACdC,aAAa;IACbC,OAAO,EAAE;IACTC,gBAAgB;IAChBC,YAAY;IACZC,KAAK;IACLC,KAAK;AACP,EAAE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
export declare function calculateIndent(targetIndex: number, slidesManager: SlidesManagerState,
|
|
1
|
+
import { type AlignType } from '../../types';
|
|
2
|
+
import { type GallerySlidesState, type LayoutState, type LoopPoint, type SlidesManagerState } from './types';
|
|
3
|
+
export declare function calculateIndent(targetIndex: number, slidesManager: SlidesManagerState, isCenter: boolean, looped?: boolean): number;
|
|
4
4
|
/**
|
|
5
5
|
* Вычисляем индексы слайдов, которые необходимо смещать
|
|
6
6
|
*/
|
|
@@ -9,5 +9,14 @@ export declare function getShiftedIndexes(direction: 1 | -1, slides: GallerySlid
|
|
|
9
9
|
* Вычисляем "ключевые" точки, на которых должно происходить смещение слайдов
|
|
10
10
|
*/
|
|
11
11
|
export declare function getLoopPoints(slidesManager: SlidesManagerState, containerWidth: number): LoopPoint[];
|
|
12
|
-
export declare function getTargetIndex(slides: GallerySlidesState[], slideIndex: number, currentShiftX: number, currentShiftXDelta: number): number;
|
|
12
|
+
export declare function getTargetIndex(slides: GallerySlidesState[], slideIndex: number, currentShiftX: number, currentShiftXDelta: number, looped?: boolean): number;
|
|
13
|
+
interface CalcMin extends Partial<LayoutState> {
|
|
14
|
+
align: AlignType;
|
|
15
|
+
}
|
|
16
|
+
export declare const calcMin: ({ containerWidth, layerWidth, slides, viewportOffsetWidth, align, }: CalcMin) => number;
|
|
17
|
+
interface CalcMax extends Partial<LayoutState> {
|
|
18
|
+
isCenterAlign: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const calcMax: ({ slides, containerWidth, isCenterAlign }: CalcMax) => number;
|
|
21
|
+
export {};
|
|
13
22
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/CarouselBase/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AAkBjB,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,kBAAkB,EACjC,QAAQ,EAAE,OAAO,EACjB,MAAM,UAAQ,GACb,MAAM,CAkBR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,EACjB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE,CAoBV;AA4BD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,kBAAkB,EACjC,cAAc,EAAE,MAAM,GACrB,SAAS,EAAE,CASb;AAKD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,kBAAkB,EAAE,EAC5B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,UAAQ,GACb,MAAM,CA+BR;AAED,UAAU,OAAQ,SAAQ,OAAO,CAAC,WAAW,CAAC;IAC5C,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,OAAO,wEAMjB,OAAO,KAAG,MAYZ,CAAC;AAEF,UAAU,OAAQ,SAAQ,OAAO,CAAC,WAAW,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,OAAO,8CAAwD,OAAO,KAAG,MAMrF,CAAC"}
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
import { SLIDE_THRESHOLD } from "./constants.js";
|
|
2
|
+
const validateIndent = (slidesManager, value)=>{
|
|
3
|
+
var _slidesManager_max;
|
|
4
|
+
const localMax = (_slidesManager_max = slidesManager.max) !== null && _slidesManager_max !== void 0 ? _slidesManager_max : 0;
|
|
5
|
+
var _slidesManager_min;
|
|
6
|
+
const localMin = (_slidesManager_min = slidesManager.min) !== null && _slidesManager_min !== void 0 ? _slidesManager_min : 0;
|
|
7
|
+
if (value < localMin) {
|
|
8
|
+
return localMin;
|
|
9
|
+
} else if (value > localMax) {
|
|
10
|
+
return localMax;
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
};
|
|
2
14
|
/*
|
|
3
15
|
* Считает отступ слоя галереи
|
|
4
|
-
*/ export function calculateIndent(targetIndex, slidesManager,
|
|
16
|
+
*/ export function calculateIndent(targetIndex, slidesManager, isCenter, looped = false) {
|
|
5
17
|
if (slidesManager.isFullyVisible || !slidesManager.slides.length) {
|
|
6
18
|
return 0;
|
|
7
19
|
}
|
|
8
20
|
const targetSlide = slidesManager.slides[targetIndex];
|
|
9
21
|
if (targetSlide) {
|
|
10
22
|
const { coordX, width } = targetSlide;
|
|
11
|
-
if (
|
|
12
|
-
return slidesManager.
|
|
23
|
+
if (isCenter) {
|
|
24
|
+
return slidesManager.containerWidth / 2 - coordX - width / 2;
|
|
13
25
|
}
|
|
14
|
-
|
|
26
|
+
const indent = -1 * coordX;
|
|
27
|
+
return looped ? indent : validateIndent(slidesManager, indent);
|
|
15
28
|
}
|
|
16
29
|
return 0;
|
|
17
30
|
}
|
|
@@ -60,7 +73,7 @@ function calculateLoopPoints(indexes, edge, slidesManager, containerWidth) {
|
|
|
60
73
|
}
|
|
61
74
|
/*
|
|
62
75
|
* Получает индекс слайда, к которому будет осуществлен переход
|
|
63
|
-
*/ export function getTargetIndex(slides, slideIndex, currentShiftX, currentShiftXDelta) {
|
|
76
|
+
*/ export function getTargetIndex(slides, slideIndex, currentShiftX, currentShiftXDelta, looped = false) {
|
|
64
77
|
const shift = currentShiftX + currentShiftXDelta;
|
|
65
78
|
const direction = currentShiftXDelta < 0 ? 1 : -1;
|
|
66
79
|
// Находим ближайшую границу слайда к текущему отступу
|
|
@@ -77,9 +90,32 @@ function calculateLoopPoints(indexes, edge, slidesManager, containerWidth) {
|
|
|
77
90
|
}
|
|
78
91
|
return targetIndex;
|
|
79
92
|
}
|
|
93
|
+
if (!looped) {
|
|
94
|
+
return direction < 0 ? Math.max(targetIndex, 0) : Math.min(targetIndex, slides.length - 1);
|
|
95
|
+
}
|
|
80
96
|
return direction < 0 ? (targetSlide + slides.length) % slides.length : targetSlide % slides.length;
|
|
81
97
|
}
|
|
82
98
|
return targetIndex;
|
|
83
99
|
}
|
|
100
|
+
export const calcMin = ({ containerWidth = 0, layerWidth = 0, slides = [], viewportOffsetWidth = 0, align })=>{
|
|
101
|
+
switch(align){
|
|
102
|
+
case 'left':
|
|
103
|
+
return containerWidth - layerWidth;
|
|
104
|
+
case 'right':
|
|
105
|
+
return viewportOffsetWidth - layerWidth;
|
|
106
|
+
case 'center':
|
|
107
|
+
const { coordX, width } = slides[slides.length - 1];
|
|
108
|
+
return containerWidth / 2 - coordX - width / 2;
|
|
109
|
+
default:
|
|
110
|
+
throw new Error(`unknown align ${align}`);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
export const calcMax = ({ slides = [], containerWidth = 0, isCenterAlign })=>{
|
|
114
|
+
if (isCenterAlign && slides.length) {
|
|
115
|
+
const { width, coordX } = slides[0];
|
|
116
|
+
return containerWidth / 2 - coordX - width / 2;
|
|
117
|
+
}
|
|
118
|
+
return 0;
|
|
119
|
+
};
|
|
84
120
|
|
|
85
121
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CarouselBase/helpers.ts"],"sourcesContent":["import { type AlignType } from '../../types';\nimport { SLIDE_THRESHOLD } from './constants';\nimport {\n type GallerySlidesState,\n type LayoutState,\n type LoopPoint,\n type SlidesManagerState,\n} from './types';\n\nconst validateIndent = (slidesManager: SlidesManagerState, value: number) => {\n const localMax = slidesManager.max ?? 0;\n const localMin = slidesManager.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n};\n\n/*\n * Считает отступ слоя галереи\n */\nexport function calculateIndent(\n targetIndex: number,\n slidesManager: SlidesManagerState,\n isCenter: boolean,\n looped = false,\n): number {\n if (slidesManager.isFullyVisible || !slidesManager.slides.length) {\n return 0;\n }\n\n const targetSlide = slidesManager.slides[targetIndex];\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenter) {\n return slidesManager.containerWidth / 2 - coordX - width / 2;\n }\n const indent = -1 * coordX;\n return looped ? indent : validateIndent(slidesManager, indent);\n }\n\n return 0;\n}\n\n/**\n * Вычисляем индексы слайдов, которые необходимо смещать\n */\nexport function getShiftedIndexes(\n direction: 1 | -1,\n slides: GallerySlidesState[],\n availableWidth: number,\n): number[] {\n let gap = availableWidth;\n const shiftedSlideIndexes = [];\n const startIndex = direction === 1 ? 0 : slides.length - 1;\n const endIndex = direction === 1 ? slides.length - 1 : 0;\n\n for (\n let i = startIndex;\n (direction === 1 ? i <= endIndex : i >= endIndex) && gap > 0;\n i += direction\n ) {\n const slideWidth = slides[i].width;\n\n if (gap > 0) {\n shiftedSlideIndexes.push(i);\n }\n gap -= slideWidth;\n }\n\n return shiftedSlideIndexes;\n}\n\nfunction calculateLoopPoints(\n indexes: number[],\n edge: 'start' | 'end',\n slidesManager: SlidesManagerState,\n containerWidth: number,\n): LoopPoint[] {\n const { contentSize, slides, snaps } = slidesManager;\n const isStartEdge = edge === 'start';\n const offset = isStartEdge ? -contentSize : contentSize;\n\n return indexes.map((index) => {\n const initial = isStartEdge ? 0 : -contentSize;\n const altered = isStartEdge ? contentSize : 0;\n const loopPoint = isStartEdge\n ? snaps[index] + containerWidth + offset\n : snaps[index] - slides[index].width + offset - snaps[0];\n\n return {\n index,\n target: (currentLocation) => {\n return currentLocation >= loopPoint ? initial : altered;\n },\n };\n });\n}\n\n/**\n * Вычисляем \"ключевые\" точки, на которых должно происходить смещение слайдов\n */\nexport function getLoopPoints(\n slidesManager: SlidesManagerState,\n containerWidth: number,\n): LoopPoint[] {\n const { slides, snaps } = slidesManager;\n const startShiftedIndexes = getShiftedIndexes(-1, slides, snaps[0]);\n const endShiftedIndexes = getShiftedIndexes(1, slides, containerWidth - snaps[0]);\n\n return [\n ...calculateLoopPoints(endShiftedIndexes, 'start', slidesManager, containerWidth),\n ...calculateLoopPoints(startShiftedIndexes, 'end', slidesManager, containerWidth),\n ];\n}\n\n/*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\nexport function getTargetIndex(\n slides: GallerySlidesState[],\n slideIndex: number,\n currentShiftX: number,\n currentShiftXDelta: number,\n looped = false,\n): number {\n const shift = currentShiftX + currentShiftXDelta;\n const direction = currentShiftXDelta < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = slides.reduce((val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n }, slideIndex);\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < slides.length) {\n if (Math.abs(currentShiftXDelta) > slides[targetSlide].width * SLIDE_THRESHOLD) {\n return targetSlide;\n }\n return targetIndex;\n }\n if (!looped) {\n return direction < 0 ? Math.max(targetIndex, 0) : Math.min(targetIndex, slides.length - 1);\n }\n\n return direction < 0\n ? (targetSlide + slides.length) % slides.length\n : targetSlide % slides.length;\n }\n\n return targetIndex;\n}\n\ninterface CalcMin extends Partial<LayoutState> {\n align: AlignType;\n}\n\nexport const calcMin = ({\n containerWidth = 0,\n layerWidth = 0,\n slides = [],\n viewportOffsetWidth = 0,\n align,\n}: CalcMin): number => {\n switch (align) {\n case 'left':\n return containerWidth - layerWidth;\n case 'right':\n return viewportOffsetWidth - layerWidth;\n case 'center':\n const { coordX, width } = slides[slides.length - 1];\n return containerWidth / 2 - coordX - width / 2;\n default:\n throw new Error(`unknown align ${align}`);\n }\n};\n\ninterface CalcMax extends Partial<LayoutState> {\n isCenterAlign: boolean;\n}\n\nexport const calcMax = ({ slides = [], containerWidth = 0, isCenterAlign }: CalcMax): number => {\n if (isCenterAlign && slides.length) {\n const { width, coordX } = slides[0];\n return containerWidth / 2 - coordX - width / 2;\n }\n return 0;\n};\n"],"names":["SLIDE_THRESHOLD","validateIndent","slidesManager","value","localMax","max","localMin","min","calculateIndent","targetIndex","isCenter","looped","isFullyVisible","slides","length","targetSlide","coordX","width","containerWidth","indent","getShiftedIndexes","direction","availableWidth","gap","shiftedSlideIndexes","startIndex","endIndex","i","slideWidth","push","calculateLoopPoints","indexes","edge","contentSize","snaps","isStartEdge","offset","map","index","initial","altered","loopPoint","target","currentLocation","getLoopPoints","startShiftedIndexes","endShiftedIndexes","getTargetIndex","slideIndex","currentShiftX","currentShiftXDelta","shift","reduce","val","item","previousValue","Math","abs","currentValue","calcMin","layerWidth","viewportOffsetWidth","align","Error","calcMax","isCenterAlign"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DrawInterface } from '
|
|
1
|
+
import { type DrawInterface } from '../../lib/animate';
|
|
2
2
|
export declare function useSlideAnimation(): {
|
|
3
3
|
getAnimateFunction: (drawFunction: DrawInterface) => () => void;
|
|
4
4
|
addToAnimationQueue: (func: VoidFunction) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/components/CarouselBase/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMhE,wBAAgB,iBAAiB,IAAI;IACnC,kBAAkB,EAAE,CAAC,YAAY,EAAE,aAAa,KAAK,MAAM,IAAI,CAAC;IAChE,mBAAmB,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CA6BA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { animate } from "
|
|
3
|
-
import { cubicBezier } from "
|
|
2
|
+
import { animate } from "../../lib/animate.js";
|
|
3
|
+
import { cubicBezier } from "../../lib/fx.js";
|
|
4
4
|
import { ANIMATION_DURATION } from "./constants.js";
|
|
5
5
|
const TIMING_FUNCTION = cubicBezier(0.8, 1);
|
|
6
6
|
export function useSlideAnimation() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CarouselBase/hooks.ts"],"sourcesContent":["import * as React from 'react';\nimport { animate, type DrawInterface } from '../../lib/animate';\nimport { cubicBezier } from '../../lib/fx';\nimport { ANIMATION_DURATION } from './constants';\n\nconst TIMING_FUNCTION = cubicBezier(0.8, 1);\n\nexport function useSlideAnimation(): {\n getAnimateFunction: (drawFunction: DrawInterface) => () => void;\n addToAnimationQueue: (func: VoidFunction) => void;\n startAnimation: () => void;\n} {\n const animationQueue = React.useRef<VoidFunction[]>([]);\n\n function getAnimateFunction(drawFunction: DrawInterface) {\n return () => {\n animate({\n duration: ANIMATION_DURATION,\n timing: TIMING_FUNCTION,\n animationQueue: animationQueue.current,\n draw: drawFunction,\n });\n };\n }\n\n function addToAnimationQueue(func: VoidFunction) {\n animationQueue.current.push(func);\n }\n\n function startAnimation() {\n if (animationQueue.current.length === 1) {\n animationQueue.current[0]();\n }\n }\n\n return {\n getAnimateFunction,\n addToAnimationQueue,\n startAnimation,\n };\n}\n"],"names":["React","animate","cubicBezier","ANIMATION_DURATION","TIMING_FUNCTION","useSlideAnimation","animationQueue","useRef","getAnimateFunction","drawFunction","duration","timing","current","draw","addToAnimationQueue","func","push","startAnimation","length"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,OAAO,QAA4B,uBAAoB;AAChE,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,kBAAkB,QAAQ,iBAAc;AAEjD,MAAMC,kBAAkBF,YAAY,KAAK;AAEzC,OAAO,SAASG;IAKd,MAAMC,iBAAiBN,MAAMO,MAAM,CAAiB,EAAE;IAEtD,SAASC,mBAAmBC,YAA2B;QACrD,OAAO;YACLR,QAAQ;gBACNS,UAAUP;gBACVQ,QAAQP;gBACRE,gBAAgBA,eAAeM,OAAO;gBACtCC,MAAMJ;YACR;QACF;IACF;IAEA,SAASK,oBAAoBC,IAAkB;QAC7CT,eAAeM,OAAO,CAACI,IAAI,CAACD;IAC9B;IAEA,SAASE;QACP,IAAIX,eAAeM,OAAO,CAACM,MAAM,KAAK,GAAG;YACvCZ,eAAeM,OAAO,CAAC,EAAE;QAC3B;IACF;IAEA,OAAO;QACLJ;QACAM;QACAG;IACF;AACF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import type { HasAlign, HasRef, HTMLAttributesWithRootRef } from '../../types';
|
|
3
|
+
import type { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';
|
|
4
|
+
import type { CustomTouchEvent, CustomTouchEventHandler } from '../Touch/Touch';
|
|
5
|
+
import { type BulletsTestIds } from './Bullets';
|
|
6
|
+
import { type ScrollArrowsTestIds } from './ScrollArrows';
|
|
7
|
+
export interface GallerySlidesState {
|
|
8
|
+
coordX: number;
|
|
9
|
+
width: number;
|
|
10
|
+
}
|
|
11
|
+
export interface LayoutState {
|
|
12
|
+
containerWidth: number;
|
|
13
|
+
viewportOffsetWidth: number;
|
|
14
|
+
layerWidth: number;
|
|
15
|
+
min?: number;
|
|
16
|
+
max: number;
|
|
17
|
+
slides: GallerySlidesState[];
|
|
18
|
+
isFullyVisible: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface LoopPoint {
|
|
21
|
+
/**
|
|
22
|
+
* Индекс слайда
|
|
23
|
+
*/
|
|
24
|
+
index: number;
|
|
25
|
+
/**
|
|
26
|
+
* Функция, которая по текущему сдвигу галереи определяет нужный сдвиг слайда
|
|
27
|
+
*/
|
|
28
|
+
target: (this: void, location: number) => void;
|
|
29
|
+
}
|
|
30
|
+
export interface ControlElementsState {
|
|
31
|
+
/**
|
|
32
|
+
* Отвечает за отображение стрелки влево
|
|
33
|
+
*/
|
|
34
|
+
canSlideLeft: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Отвечает за отображение стрелки вправо
|
|
37
|
+
*/
|
|
38
|
+
canSlideRight: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Возможность листать слайды drag'ом
|
|
41
|
+
*/
|
|
42
|
+
isDraggable: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface SlidesManagerState {
|
|
45
|
+
/**
|
|
46
|
+
* Общая ширина всех слайдов
|
|
47
|
+
*/
|
|
48
|
+
contentSize: number;
|
|
49
|
+
/**
|
|
50
|
+
* Массив с пограничными точками слайдов, которые необходимо смещать, чтобы они всегда были в области видимости
|
|
51
|
+
* (пример: для последнего слайда это n-первых слайдов, необходимых для заполнения оставшейся ширины,
|
|
52
|
+
* или для первого слайда это n-последних слайдов при выравнивании по центру)
|
|
53
|
+
*/
|
|
54
|
+
loopPoints: LoopPoint[];
|
|
55
|
+
/**
|
|
56
|
+
* Массив с правыми границами слайдов
|
|
57
|
+
*/
|
|
58
|
+
snaps: number[];
|
|
59
|
+
/**
|
|
60
|
+
* Ширина видимой области слайдов
|
|
61
|
+
*/
|
|
62
|
+
viewportOffsetWidth: number;
|
|
63
|
+
/**
|
|
64
|
+
* Массив слайдов с координатой начала слайда и шириной
|
|
65
|
+
*/
|
|
66
|
+
slides: GallerySlidesState[];
|
|
67
|
+
/**
|
|
68
|
+
* Все слайды видимы без скрола
|
|
69
|
+
*/
|
|
70
|
+
isFullyVisible: boolean;
|
|
71
|
+
min: number | null;
|
|
72
|
+
max: number | null;
|
|
73
|
+
containerWidth: number;
|
|
74
|
+
layerWidth: number;
|
|
75
|
+
}
|
|
76
|
+
export interface BaseGalleryProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>, HasAlign, HasRef<HTMLElement>, BulletsTestIds, ScrollArrowsTestIds {
|
|
77
|
+
slideWidth?: string | number;
|
|
78
|
+
slideIndex?: number;
|
|
79
|
+
onDragStart?: CustomTouchEventHandler;
|
|
80
|
+
onDragEnd?: (e: CustomTouchEvent, targetIndex: number) => void;
|
|
81
|
+
onChange?: (current: number) => void;
|
|
82
|
+
/**
|
|
83
|
+
* Будет вызвано при клике на кнопку-стрелку влево
|
|
84
|
+
*/
|
|
85
|
+
onPrevClick?: (event: React.MouseEvent) => void;
|
|
86
|
+
/**
|
|
87
|
+
* Будет вызвано при клике на кнопку-стрелку вправо
|
|
88
|
+
*/
|
|
89
|
+
onNextClick?: (event: React.MouseEvent) => void;
|
|
90
|
+
bullets?: 'dark' | 'light' | false;
|
|
91
|
+
/**
|
|
92
|
+
* Позволяет отключить реагирование на тач-события
|
|
93
|
+
*/
|
|
94
|
+
dragDisabled?: boolean;
|
|
95
|
+
showArrows?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Управление размером кликабельной зоны стрелок. В дизайне свойство называется `arrowArea`
|
|
98
|
+
*/
|
|
99
|
+
arrowAreaHeight?: 'stretch' | 'fit';
|
|
100
|
+
hasPointer?: boolean;
|
|
101
|
+
arrowSize?: ScrollArrowProps['size'];
|
|
102
|
+
/**
|
|
103
|
+
* Текст для кнопки-стрелки влево (назад). Делает ее доступной для ассистивных технологий
|
|
104
|
+
*/
|
|
105
|
+
arrowPrevLabel?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Текст для кнопки-стрелки вправо (вперед). Делает ее доступной для ассистивных технологий
|
|
108
|
+
*/
|
|
109
|
+
arrowNextLabel?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Передает атрибут `data-testid` для слайда
|
|
112
|
+
*/
|
|
113
|
+
slideTestId?: (index: number) => string;
|
|
114
|
+
/**
|
|
115
|
+
* Включает зацикленность слайдов
|
|
116
|
+
*/
|
|
117
|
+
looped?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Тип источника для отслеживания размера:
|
|
120
|
+
* - `window`: пересчет позиции слайдов будет происходить при изменении размеров `window`
|
|
121
|
+
* - `element`: пересчет позиции слайдов будет происходить при изменении размеров компонента
|
|
122
|
+
*/
|
|
123
|
+
resizeSource?: 'window' | 'element';
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/CarouselBase/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CarouselBase/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { HasAlign, HasRef, HTMLAttributesWithRootRef } from '../../types';\nimport type { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport type { CustomTouchEvent, CustomTouchEventHandler } from '../Touch/Touch';\nimport { type BulletsTestIds } from './Bullets';\nimport { type ScrollArrowsTestIds } from './ScrollArrows';\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\nexport interface LayoutState {\n containerWidth: number;\n viewportOffsetWidth: number;\n layerWidth: number;\n min?: number;\n max: number;\n slides: GallerySlidesState[];\n isFullyVisible: boolean;\n}\n\nexport interface LoopPoint {\n /**\n * Индекс слайда\n */\n index: number;\n /**\n * Функция, которая по текущему сдвигу галереи определяет нужный сдвиг слайда\n */\n target: (this: void, location: number) => void;\n}\n\nexport interface ControlElementsState {\n /**\n * Отвечает за отображение стрелки влево\n */\n canSlideLeft: boolean;\n /**\n * Отвечает за отображение стрелки вправо\n */\n canSlideRight: boolean;\n /**\n * Возможность листать слайды drag'ом\n */\n isDraggable: boolean;\n}\n\nexport interface SlidesManagerState {\n /**\n * Общая ширина всех слайдов\n */\n contentSize: number;\n /**\n * Массив с пограничными точками слайдов, которые необходимо смещать, чтобы они всегда были в области видимости\n * (пример: для последнего слайда это n-первых слайдов, необходимых для заполнения оставшейся ширины,\n * или для первого слайда это n-последних слайдов при выравнивании по центру)\n */\n loopPoints: LoopPoint[];\n /**\n * Массив с правыми границами слайдов\n */\n snaps: number[];\n /**\n * Ширина видимой области слайдов\n */\n viewportOffsetWidth: number;\n /**\n * Массив слайдов с координатой начала слайда и шириной\n */\n slides: GallerySlidesState[];\n /**\n * Все слайды видимы без скрола\n */\n isFullyVisible: boolean;\n min: number | null;\n max: number | null;\n containerWidth: number;\n layerWidth: number;\n}\n\nexport interface BaseGalleryProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>,\n HasAlign,\n HasRef<HTMLElement>,\n BulletsTestIds,\n ScrollArrowsTestIds {\n slideWidth?: string | number;\n slideIndex?: number;\n onDragStart?: CustomTouchEventHandler;\n onDragEnd?: (e: CustomTouchEvent, targetIndex: number) => void;\n onChange?: (current: number) => void;\n /**\n * Будет вызвано при клике на кнопку-стрелку влево\n */\n onPrevClick?: (event: React.MouseEvent) => void;\n /**\n * Будет вызвано при клике на кнопку-стрелку вправо\n */\n onNextClick?: (event: React.MouseEvent) => void;\n bullets?: 'dark' | 'light' | false;\n /**\n * Позволяет отключить реагирование на тач-события\n */\n dragDisabled?: boolean;\n showArrows?: boolean;\n /**\n * Управление размером кликабельной зоны стрелок. В дизайне свойство называется `arrowArea`\n */\n arrowAreaHeight?: 'stretch' | 'fit';\n hasPointer?: boolean;\n arrowSize?: ScrollArrowProps['size'];\n /**\n * Текст для кнопки-стрелки влево (назад). Делает ее доступной для ассистивных технологий\n */\n arrowPrevLabel?: string;\n /**\n * Текст для кнопки-стрелки вправо (вперед). Делает ее доступной для ассистивных технологий\n */\n arrowNextLabel?: string;\n /**\n * Передает атрибут `data-testid` для слайда\n */\n slideTestId?: (index: number) => string;\n /**\n * Включает зацикленность слайдов\n */\n looped?: boolean;\n /**\n * Тип источника для отслеживания размера:\n * - `window`: пересчет позиции слайдов будет происходить при изменении размеров `window`\n * - `element`: пересчет позиции слайдов будет происходить при изменении размеров компонента\n */\n resizeSource?: 'window' | 'element';\n}\n"],"names":[],"mappings":"AAiFA,WAqDC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ChipOption, ChipsInputBaseProps } from '../ChipsInputBase/types';
|
|
2
2
|
import type { FormFieldProps } from '../FormField/FormField';
|
|
3
3
|
import { type UseChipsInputProps } from './useChipsInput';
|
|
4
|
-
export interface ChipsInputProps<Option extends ChipOption> extends ChipsInputBaseProps<Option>, UseChipsInputProps<Option>, Pick<FormFieldProps, 'status' | 'mode' | 'before' | 'after'> {
|
|
4
|
+
export interface ChipsInputProps<Option extends ChipOption> extends ChipsInputBaseProps<Option>, UseChipsInputProps<Option>, Pick<FormFieldProps, 'status' | 'mode' | 'before' | 'after' | 'maxHeight'> {
|
|
5
5
|
/**
|
|
6
6
|
* Если `true`, то справа будет отображаться кнопка для очистки значения
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipsInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInput/ChipsInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,UAAU,CACxD,SAAQ,mBAAmB,CAAC,MAAM,CAAC,EACjC,kBAAkB,CAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChipsInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInput/ChipsInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,UAAU,CACxD,SAAQ,mBAAmB,CAAC,MAAM,CAAC,EACjC,kBAAkB,CAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5E;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,UAAU,4PAmBjD,eAAe,CAAC,MAAM,CAAC,KAAG,KAAK,CAAC,SA4ClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ChipsInput/ChipsInput.tsx"],"sourcesContent":["'use client';\n\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { ChipsInputBase } from '../ChipsInputBase/ChipsInputBase';\nimport type { ChipOption, ChipsInputBaseProps } from '../ChipsInputBase/types';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport { useChipsInput, type UseChipsInputProps } from './useChipsInput';\n\nexport interface ChipsInputProps<Option extends ChipOption>\n extends ChipsInputBaseProps<Option>,\n UseChipsInputProps<Option>,\n Pick<FormFieldProps, 'status' | 'mode' | 'before' | 'after'> {\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения\n */\n allowClearButton?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ChipsInput\n */\nexport const ChipsInput = <Option extends ChipOption>({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n\n // input\n getRef,\n inputValue: inputValueProp,\n defaultInputValue: inputDefaultValueProp,\n onInputChange: onInputChangeProp,\n getOptionValue,\n getOptionLabel,\n getNewOptionData,\n\n // other\n disabled,\n allowClearButton,\n ...restProps\n}: ChipsInputProps<Option>): React.ReactNode => {\n const {\n value,\n addOptionFromInput,\n removeOption,\n clearOptions,\n\n // input\n inputRef: inputRefHook,\n inputValue,\n onInputChange,\n } = useChipsInput({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n getOptionLabel,\n getOptionValue,\n getNewOptionData,\n\n // input\n inputValue: inputValueProp,\n defaultInputValue: inputDefaultValueProp,\n onInputChange: onInputChangeProp,\n\n // other\n disabled,\n });\n const inputRef = useExternRef(getRef, inputRefHook);\n\n return (\n <ChipsInputBase\n {...restProps}\n disabled={disabled}\n value={value}\n clearButtonShown={allowClearButton && (!!value.length || !!inputValue.length)}\n onAddChipOption={addOptionFromInput}\n onRemoveChipOption={removeOption}\n onClear={clearOptions}\n getRef={inputRef}\n inputValue={inputValue}\n onInputChange={onInputChange}\n />\n );\n};\n"],"names":["useExternRef","ChipsInputBase","useChipsInput","ChipsInput","value","valueProp","defaultValue","onChange","getRef","inputValue","inputValueProp","defaultInputValue","inputDefaultValueProp","onInputChange","onInputChangeProp","getOptionValue","getOptionLabel","getNewOptionData","disabled","allowClearButton","restProps","addOptionFromInput","removeOption","clearOptions","inputRef","inputRefHook","clearButtonShown","length","onAddChipOption","onRemoveChipOption","onClear"],"mappings":"AAAA;;;;;AAEA,SAASA,YAAY,QAAQ,8BAA2B;AACxD,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,SAASC,aAAa,QAAiC,qBAAkB;AAYzE;;CAEC,GACD,OAAO,MAAMC,aAAa;QAA4B,EACpD,SAAS;IACTC,OAAOC,SAAS,EAChBC,YAAY,EACZC,QAAQ,EAER,QAAQ;IACRC,MAAM,EACNC,YAAYC,cAAc,EAC1BC,mBAAmBC,qBAAqB,EACxCC,eAAeC,iBAAiB,EAChCC,cAAc,EACdC,cAAc,EACdC,gBAAgB,EAEhB,QAAQ;IACRC,QAAQ,EACRC,gBAAgB,EAEQ,WADrBC;QAhBHhB;QACAE;QACAC;QAGAC;QACAC;QACAE;QACAE;QACAE;QACAC;QACAC;QAGAC;QACAC;;IAGA,MAAM,EACJf,KAAK,EACLiB,kBAAkB,EAClBC,YAAY,EACZC,YAAY,EAEZ,QAAQ;IACRC,UAAUC,YAAY,EACtBhB,UAAU,EACVI,aAAa,EACd,GAAGX,cAAc;QAChB,SAAS;QACTE,OAAOC;QACPC;QACAC;QACAS;QACAD;QACAE;QAEA,QAAQ;QACRR,YAAYC;QACZC,mBAAmBC;QACnBC,eAAeC;QAEf,QAAQ;QACRI;IACF;IACA,MAAMM,WAAWxB,aAAaQ,QAAQiB;IAEtC,qBACE,KAACxB,wDACKmB;QACJF,UAAUA;QACVd,OAAOA;QACPsB,kBAAkBP,oBAAqB,CAAA,CAAC,CAACf,MAAMuB,MAAM,IAAI,CAAC,CAAClB,WAAWkB,MAAM,AAAD;QAC3EC,iBAAiBP;QACjBQ,oBAAoBP;QACpBQ,SAASP;QACTf,QAAQgB;QACRf,YAAYA;QACZI,eAAeA;;AAGrB,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ChipsInput/ChipsInput.tsx"],"sourcesContent":["'use client';\n\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { ChipsInputBase } from '../ChipsInputBase/ChipsInputBase';\nimport type { ChipOption, ChipsInputBaseProps } from '../ChipsInputBase/types';\nimport type { FormFieldProps } from '../FormField/FormField';\nimport { useChipsInput, type UseChipsInputProps } from './useChipsInput';\n\nexport interface ChipsInputProps<Option extends ChipOption>\n extends ChipsInputBaseProps<Option>,\n UseChipsInputProps<Option>,\n Pick<FormFieldProps, 'status' | 'mode' | 'before' | 'after' | 'maxHeight'> {\n /**\n * Если `true`, то справа будет отображаться кнопка для очистки значения\n */\n allowClearButton?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ChipsInput\n */\nexport const ChipsInput = <Option extends ChipOption>({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n\n // input\n getRef,\n inputValue: inputValueProp,\n defaultInputValue: inputDefaultValueProp,\n onInputChange: onInputChangeProp,\n getOptionValue,\n getOptionLabel,\n getNewOptionData,\n\n // other\n disabled,\n allowClearButton,\n ...restProps\n}: ChipsInputProps<Option>): React.ReactNode => {\n const {\n value,\n addOptionFromInput,\n removeOption,\n clearOptions,\n\n // input\n inputRef: inputRefHook,\n inputValue,\n onInputChange,\n } = useChipsInput({\n // option\n value: valueProp,\n defaultValue,\n onChange,\n getOptionLabel,\n getOptionValue,\n getNewOptionData,\n\n // input\n inputValue: inputValueProp,\n defaultInputValue: inputDefaultValueProp,\n onInputChange: onInputChangeProp,\n\n // other\n disabled,\n });\n const inputRef = useExternRef(getRef, inputRefHook);\n\n return (\n <ChipsInputBase\n {...restProps}\n disabled={disabled}\n value={value}\n clearButtonShown={allowClearButton && (!!value.length || !!inputValue.length)}\n onAddChipOption={addOptionFromInput}\n onRemoveChipOption={removeOption}\n onClear={clearOptions}\n getRef={inputRef}\n inputValue={inputValue}\n onInputChange={onInputChange}\n />\n );\n};\n"],"names":["useExternRef","ChipsInputBase","useChipsInput","ChipsInput","value","valueProp","defaultValue","onChange","getRef","inputValue","inputValueProp","defaultInputValue","inputDefaultValueProp","onInputChange","onInputChangeProp","getOptionValue","getOptionLabel","getNewOptionData","disabled","allowClearButton","restProps","addOptionFromInput","removeOption","clearOptions","inputRef","inputRefHook","clearButtonShown","length","onAddChipOption","onRemoveChipOption","onClear"],"mappings":"AAAA;;;;;AAEA,SAASA,YAAY,QAAQ,8BAA2B;AACxD,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,SAASC,aAAa,QAAiC,qBAAkB;AAYzE;;CAEC,GACD,OAAO,MAAMC,aAAa;QAA4B,EACpD,SAAS;IACTC,OAAOC,SAAS,EAChBC,YAAY,EACZC,QAAQ,EAER,QAAQ;IACRC,MAAM,EACNC,YAAYC,cAAc,EAC1BC,mBAAmBC,qBAAqB,EACxCC,eAAeC,iBAAiB,EAChCC,cAAc,EACdC,cAAc,EACdC,gBAAgB,EAEhB,QAAQ;IACRC,QAAQ,EACRC,gBAAgB,EAEQ,WADrBC;QAhBHhB;QACAE;QACAC;QAGAC;QACAC;QACAE;QACAE;QACAE;QACAC;QACAC;QAGAC;QACAC;;IAGA,MAAM,EACJf,KAAK,EACLiB,kBAAkB,EAClBC,YAAY,EACZC,YAAY,EAEZ,QAAQ;IACRC,UAAUC,YAAY,EACtBhB,UAAU,EACVI,aAAa,EACd,GAAGX,cAAc;QAChB,SAAS;QACTE,OAAOC;QACPC;QACAC;QACAS;QACAD;QACAE;QAEA,QAAQ;QACRR,YAAYC;QACZC,mBAAmBC;QACnBC,eAAeC;QAEf,QAAQ;QACRI;IACF;IACA,MAAMM,WAAWxB,aAAaQ,QAAQiB;IAEtC,qBACE,KAACxB,wDACKmB;QACJF,UAAUA;QACVd,OAAOA;QACPsB,kBAAkBP,oBAAqB,CAAA,CAAC,CAACf,MAAMuB,MAAM,IAAI,CAAC,CAAClB,WAAWkB,MAAM,AAAD;QAC3EC,iBAAiBP;QACjBQ,oBAAoBP;QACpBQ,SAASP;QACTf,QAAQgB;QACRf,YAAYA;QACZI,eAAeA;;AAGrB,EAAE"}
|
|
@@ -28,7 +28,7 @@ export declare const useChipsInput: <O extends ChipOption>({ value: valueProp, d
|
|
|
28
28
|
addOptionFromInput: (inputValue: string) => void;
|
|
29
29
|
removeOption: (newValue: O | ChipOptionValue) => void;
|
|
30
30
|
clearOptions: () => void;
|
|
31
|
-
inputRef: React.RefObject<HTMLInputElement & SimulateReactInputTargetState>;
|
|
31
|
+
inputRef: React.RefObject<(HTMLInputElement & SimulateReactInputTargetState) | null>;
|
|
32
32
|
inputValue: string;
|
|
33
33
|
onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => any;
|
|
34
34
|
clearInput: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChipsInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInput/useChipsInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAsB,KAAK,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AASzF,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,UAAU,SAC1C,CAAC,EAAE,kBACM,cAAc,CAAC,CAAC,CAAC,kBACjB,cAAc,CAAC,CAAC,CAAC,KAChC,KAAK,CACN,CAAC,GAAG;IACF,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,eAAe,CAAC;CACxB,CAME,CAAC;AAON,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CACnE,SAAQ,sBAAsB,CAAC,CAAC,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,UAAU,2KAgB/C,kBAAkB,CAAC,CAAC,CAAC,KAAG;IACzB,KAAK,EAAE,KAAK,CACV,CAAC,GAAG;QACF,KAAK,EAAE,eAAe,CAAC;QACvB,KAAK,EAAE,eAAe,CAAC;KACxB,CACF,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,eAAe,KAAK,IAAI,CAAC;IACtD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,6BAA6B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useChipsInput.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInput/useChipsInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAsB,KAAK,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AASzF,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,UAAU,SAC1C,CAAC,EAAE,kBACM,cAAc,CAAC,CAAC,CAAC,kBACjB,cAAc,CAAC,CAAC,CAAC,KAChC,KAAK,CACN,CAAC,GAAG;IACF,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,eAAe,CAAC;CACxB,CAME,CAAC;AAON,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CACnE,SAAQ,sBAAsB,CAAC,CAAC,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,UAAU,2KAgB/C,kBAAkB,CAAC,CAAC,CAAC,KAAG;IACzB,KAAK,EAAE,KAAK,CACV,CAAC,GAAG;QACF,KAAK,EAAE,eAAe,CAAC;QACvB,KAAK,EAAE,eAAe,CAAC;KACxB,CACF,CAAC;IACF,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,eAAe,KAAK,IAAI,CAAC;IACtD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,gBAAgB,GAAG,6BAA6B,CAAC,GAAG,IAAI,CAAC,CAAC;IACrF,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC;IAC/D,UAAU,EAAE,MAAM,IAAI,CAAC;CA0FxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ChipsInput/useChipsInput.ts"],"sourcesContent":["import * as React from 'react';\nimport { useCustomEnsuredControl, useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useNativeFormResetListener } from '../../hooks/useNativeFormResetListener';\nimport { simulateReactInput, type SimulateReactInputTargetState } from '../../lib/react';\nimport {\n DEFAULT_INPUT_VALUE,\n DEFAULT_VALUE,\n getNewOptionDataDefault,\n getOptionLabelDefault,\n getOptionValueDefault,\n} from '../ChipsInputBase/constants';\nimport { isValueLikeChipOptionObject } from '../ChipsInputBase/helpers';\nimport type {\n ChipOption,\n ChipOptionLabel,\n ChipOptionValue,\n GetNewOptionData,\n GetOptionLabel,\n GetOptionValue,\n UseChipsInputBaseProps,\n} from '../ChipsInputBase/types';\n\nexport const transformValue = <O extends ChipOption>(\n value: O[],\n getOptionValue: GetOptionValue<O>,\n getOptionLabel: GetOptionLabel<O>,\n): Array<\n O & {\n label: ChipOptionLabel;\n value: ChipOptionValue;\n }\n> =>\n value.map((option) => ({\n ...option,\n label: getOptionLabel(option),\n value: getOptionValue(option),\n }));\n\ninterface ToggleOption<O extends ChipOption> {\n (optionForAdd: O | string, isNewValue: true): void;\n (optionForRemove: O | ChipOptionValue, isNewValue: false): void;\n}\n\nexport interface UseChipsInputProps<O extends ChipOption = ChipOption>\n extends UseChipsInputBaseProps<O> {\n /**\n * Селектор значения.\n */\n getOptionValue?: GetOptionValue<O>;\n /**\n * Селектор пользовательского представления.\n */\n getOptionLabel?: GetOptionLabel<O>;\n /**\n * Функция для создания новой опции.\n */\n getNewOptionData?: GetNewOptionData<O>;\n}\n\nexport const useChipsInput = <O extends ChipOption>({\n // option\n value: valueProp,\n defaultValue = DEFAULT_VALUE,\n onChange,\n getOptionLabel = getOptionLabelDefault,\n getOptionValue = getOptionValueDefault,\n getNewOptionData = getNewOptionDataDefault,\n\n // input\n inputValue: inputValueProp,\n defaultInputValue = DEFAULT_INPUT_VALUE,\n onInputChange,\n\n // other\n disabled,\n}: UseChipsInputProps<O>): {\n value: Array<\n O & {\n label: ChipOptionLabel;\n value: ChipOptionValue;\n }\n >;\n addOption: (newValue: O | string) => void;\n addOptionFromInput: (inputValue: string) => void;\n removeOption: (newValue: O | ChipOptionValue) => void;\n clearOptions: () => void;\n inputRef: React.RefObject<HTMLInputElement & SimulateReactInputTargetState>;\n inputValue: string;\n onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => any;\n clearInput: () => void;\n} => {\n const [value, setValue] = useCustomEnsuredControl({\n disabled,\n value: valueProp ? transformValue(valueProp, getOptionValue, getOptionLabel) : undefined,\n defaultValue: transformValue(defaultValue, getOptionValue, getOptionLabel),\n onChange,\n });\n\n const inputRef = React.useRef<HTMLInputElement & SimulateReactInputTargetState>(null);\n const [inputValue, setInputChange] = useEnsuredControl({\n disabled,\n value: inputValueProp,\n defaultValue: defaultInputValue,\n onChange: onInputChange,\n });\n\n const toggleOption: ToggleOption<O> = React.useCallback(\n (nextValueProp: O | ChipOptionValue, isNewValue: boolean) => {\n setValue((prevValue) => {\n const isLikeObjectOption = isValueLikeChipOptionObject(nextValueProp);\n const resolvedOption = isLikeObjectOption\n ? getNewOptionData(nextValueProp.value, nextValueProp.label)\n : getNewOptionData(nextValueProp, typeof nextValueProp === 'string' ? nextValueProp : '');\n const nextValue = prevValue.filter((option: O) => resolvedOption.value !== option.value);\n\n if (isNewValue === true) {\n nextValue.push(\n isLikeObjectOption ? { ...nextValueProp, ...resolvedOption } : resolvedOption,\n );\n }\n\n return nextValue;\n });\n },\n [setValue, getNewOptionData],\n );\n\n const clearInput = React.useCallback(() => {\n /* istanbul ignore if */\n if (!inputRef.current) {\n return;\n }\n simulateReactInput(inputRef.current, '');\n }, [inputRef]);\n\n const addOption = React.useCallback(\n (newValue: O | string) => toggleOption(newValue, true),\n [toggleOption],\n );\n\n const removeOption = React.useCallback(\n (newValue: O | ChipOptionValue) => toggleOption(newValue, false),\n [toggleOption],\n );\n\n const addOptionFromInput = React.useCallback(\n (inputValue: string) => {\n const label = inputValue.trim();\n if (label) {\n addOption(label);\n clearInput();\n }\n },\n [addOption, clearInput],\n );\n\n const reset = React.useCallback(() => {\n setValue(defaultValue);\n }, [defaultValue, setValue]);\n\n const clearOptions = React.useCallback(() => {\n setValue(DEFAULT_VALUE);\n clearInput();\n }, [clearInput, setValue]);\n\n useNativeFormResetListener(inputRef, reset);\n\n return {\n value,\n addOption,\n addOptionFromInput,\n removeOption,\n\n inputRef,\n inputValue,\n onInputChange: setInputChange,\n clearInput,\n clearOptions,\n };\n};\n"],"names":["React","useCustomEnsuredControl","useEnsuredControl","useNativeFormResetListener","simulateReactInput","DEFAULT_INPUT_VALUE","DEFAULT_VALUE","getNewOptionDataDefault","getOptionLabelDefault","getOptionValueDefault","isValueLikeChipOptionObject","transformValue","value","getOptionValue","getOptionLabel","map","option","label","useChipsInput","valueProp","defaultValue","onChange","getNewOptionData","inputValue","inputValueProp","defaultInputValue","onInputChange","disabled","setValue","undefined","inputRef","useRef","setInputChange","toggleOption","useCallback","nextValueProp","isNewValue","prevValue","isLikeObjectOption","resolvedOption","nextValue","filter","push","clearInput","current","addOption","newValue","removeOption","addOptionFromInput","trim","reset","clearOptions"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,uBAAuB,EAAEC,iBAAiB,QAAQ,mCAAgC;AAC3F,SAASC,0BAA0B,QAAQ,4CAAyC;AACpF,SAASC,kBAAkB,QAA4C,2BAAkB;AACzF,SACEC,mBAAmB,EACnBC,aAAa,EACbC,uBAAuB,EACvBC,qBAAqB,EACrBC,qBAAqB,QAChB,iCAA8B;AACrC,SAASC,2BAA2B,QAAQ,+BAA4B;AAWxE,OAAO,MAAMC,iBAAiB,CAC5BC,OACAC,gBACAC,iBAOAF,MAAMG,GAAG,CAAC,CAACC,SAAY,wCAClBA;YACHC,OAAOH,eAAeE;YACtBJ,OAAOC,eAAeG;YACpB;AAuBN,OAAO,MAAME,gBAAgB,CAAuB,EAClD,SAAS;AACTN,OAAOO,SAAS,EAChBC,eAAed,aAAa,EAC5Be,QAAQ,EACRP,iBAAiBN,qBAAqB,EACtCK,iBAAiBJ,qBAAqB,EACtCa,mBAAmBf,uBAAuB,EAE1C,QAAQ;AACRgB,YAAYC,cAAc,EAC1BC,oBAAoBpB,mBAAmB,EACvCqB,aAAa,EAEb,QAAQ;AACRC,QAAQ,EACc;IAgBtB,MAAM,CAACf,OAAOgB,SAAS,GAAG3B,wBAAwB;QAChD0B;QACAf,OAAOO,YAAYR,eAAeQ,WAAWN,gBAAgBC,kBAAkBe;QAC/ET,cAAcT,eAAeS,cAAcP,gBAAgBC;QAC3DO;IACF;IAEA,MAAMS,WAAW9B,MAAM+B,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ChipsInput/useChipsInput.ts"],"sourcesContent":["import * as React from 'react';\nimport { useCustomEnsuredControl, useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useNativeFormResetListener } from '../../hooks/useNativeFormResetListener';\nimport { simulateReactInput, type SimulateReactInputTargetState } from '../../lib/react';\nimport {\n DEFAULT_INPUT_VALUE,\n DEFAULT_VALUE,\n getNewOptionDataDefault,\n getOptionLabelDefault,\n getOptionValueDefault,\n} from '../ChipsInputBase/constants';\nimport { isValueLikeChipOptionObject } from '../ChipsInputBase/helpers';\nimport type {\n ChipOption,\n ChipOptionLabel,\n ChipOptionValue,\n GetNewOptionData,\n GetOptionLabel,\n GetOptionValue,\n UseChipsInputBaseProps,\n} from '../ChipsInputBase/types';\n\nexport const transformValue = <O extends ChipOption>(\n value: O[],\n getOptionValue: GetOptionValue<O>,\n getOptionLabel: GetOptionLabel<O>,\n): Array<\n O & {\n label: ChipOptionLabel;\n value: ChipOptionValue;\n }\n> =>\n value.map((option) => ({\n ...option,\n label: getOptionLabel(option),\n value: getOptionValue(option),\n }));\n\ninterface ToggleOption<O extends ChipOption> {\n (optionForAdd: O | string, isNewValue: true): void;\n (optionForRemove: O | ChipOptionValue, isNewValue: false): void;\n}\n\nexport interface UseChipsInputProps<O extends ChipOption = ChipOption>\n extends UseChipsInputBaseProps<O> {\n /**\n * Селектор значения.\n */\n getOptionValue?: GetOptionValue<O>;\n /**\n * Селектор пользовательского представления.\n */\n getOptionLabel?: GetOptionLabel<O>;\n /**\n * Функция для создания новой опции.\n */\n getNewOptionData?: GetNewOptionData<O>;\n}\n\nexport const useChipsInput = <O extends ChipOption>({\n // option\n value: valueProp,\n defaultValue = DEFAULT_VALUE,\n onChange,\n getOptionLabel = getOptionLabelDefault,\n getOptionValue = getOptionValueDefault,\n getNewOptionData = getNewOptionDataDefault,\n\n // input\n inputValue: inputValueProp,\n defaultInputValue = DEFAULT_INPUT_VALUE,\n onInputChange,\n\n // other\n disabled,\n}: UseChipsInputProps<O>): {\n value: Array<\n O & {\n label: ChipOptionLabel;\n value: ChipOptionValue;\n }\n >;\n addOption: (newValue: O | string) => void;\n addOptionFromInput: (inputValue: string) => void;\n removeOption: (newValue: O | ChipOptionValue) => void;\n clearOptions: () => void;\n inputRef: React.RefObject<(HTMLInputElement & SimulateReactInputTargetState) | null>;\n inputValue: string;\n onInputChange: (e: React.ChangeEvent<HTMLInputElement>) => any;\n clearInput: () => void;\n} => {\n const [value, setValue] = useCustomEnsuredControl({\n disabled,\n value: valueProp ? transformValue(valueProp, getOptionValue, getOptionLabel) : undefined,\n defaultValue: transformValue(defaultValue, getOptionValue, getOptionLabel),\n onChange,\n });\n\n const inputRef = React.useRef<(HTMLInputElement & SimulateReactInputTargetState) | null>(null);\n const [inputValue, setInputChange] = useEnsuredControl({\n disabled,\n value: inputValueProp,\n defaultValue: defaultInputValue,\n onChange: onInputChange,\n });\n\n const toggleOption: ToggleOption<O> = React.useCallback(\n (nextValueProp: O | ChipOptionValue, isNewValue: boolean) => {\n setValue((prevValue) => {\n const isLikeObjectOption = isValueLikeChipOptionObject(nextValueProp);\n const resolvedOption = isLikeObjectOption\n ? getNewOptionData(nextValueProp.value, nextValueProp.label)\n : getNewOptionData(nextValueProp, typeof nextValueProp === 'string' ? nextValueProp : '');\n const nextValue = prevValue.filter((option: O) => resolvedOption.value !== option.value);\n\n if (isNewValue === true) {\n nextValue.push(\n isLikeObjectOption ? { ...nextValueProp, ...resolvedOption } : resolvedOption,\n );\n }\n\n return nextValue;\n });\n },\n [setValue, getNewOptionData],\n );\n\n const clearInput = React.useCallback(() => {\n /* istanbul ignore if */\n if (!inputRef.current) {\n return;\n }\n simulateReactInput(inputRef.current, '');\n }, [inputRef]);\n\n const addOption = React.useCallback(\n (newValue: O | string) => toggleOption(newValue, true),\n [toggleOption],\n );\n\n const removeOption = React.useCallback(\n (newValue: O | ChipOptionValue) => toggleOption(newValue, false),\n [toggleOption],\n );\n\n const addOptionFromInput = React.useCallback(\n (inputValue: string) => {\n const label = inputValue.trim();\n if (label) {\n addOption(label);\n clearInput();\n }\n },\n [addOption, clearInput],\n );\n\n const reset = React.useCallback(() => {\n setValue(defaultValue);\n }, [defaultValue, setValue]);\n\n const clearOptions = React.useCallback(() => {\n setValue(DEFAULT_VALUE);\n clearInput();\n }, [clearInput, setValue]);\n\n useNativeFormResetListener(inputRef, reset);\n\n return {\n value,\n addOption,\n addOptionFromInput,\n removeOption,\n\n inputRef,\n inputValue,\n onInputChange: setInputChange,\n clearInput,\n clearOptions,\n };\n};\n"],"names":["React","useCustomEnsuredControl","useEnsuredControl","useNativeFormResetListener","simulateReactInput","DEFAULT_INPUT_VALUE","DEFAULT_VALUE","getNewOptionDataDefault","getOptionLabelDefault","getOptionValueDefault","isValueLikeChipOptionObject","transformValue","value","getOptionValue","getOptionLabel","map","option","label","useChipsInput","valueProp","defaultValue","onChange","getNewOptionData","inputValue","inputValueProp","defaultInputValue","onInputChange","disabled","setValue","undefined","inputRef","useRef","setInputChange","toggleOption","useCallback","nextValueProp","isNewValue","prevValue","isLikeObjectOption","resolvedOption","nextValue","filter","push","clearInput","current","addOption","newValue","removeOption","addOptionFromInput","trim","reset","clearOptions"],"mappings":"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"}
|