@redneckz/wildless-cms-uni-blocks 0.6.35 → 0.6.36
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/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +160 -52
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
- package/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
- package/bundle/components/Header/HeaderSubMenuItem.d.ts +2 -1
- package/bundle/hooks/useIntersectionObserver.d.ts +7 -1
- package/bundle/ui-kit/Button/ArrowButton.d.ts +2 -0
- package/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
- package/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
- package/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
- package/bundle/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
- package/bundle/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
- package/bundle/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
- package/bundle/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
- package/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
- package/bundle/utils/areArraysEqual.d.ts +1 -0
- package/bundle/utils/mapChildren.d.ts +2 -0
- package/bundle/utils/maxBy.d.ts +2 -2
- package/bundle/utils/minBy.d.ts +1 -0
- package/dist/components/Blocks.js +3 -1
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Carousel/Carousel.js +14 -15
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +12 -0
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
- package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
- package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
- package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +7 -13
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
- package/dist/components/Gallery/Gallery.mobile.js +1 -1
- package/dist/components/Header/HeaderSubMenu.js +1 -1
- package/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/dist/components/Header/HeaderSubMenuItem.d.ts +2 -1
- package/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
- package/dist/components/RollupItem/RollupItem.js +10 -1
- package/dist/components/RollupItem/RollupItem.js.map +1 -1
- package/dist/hooks/useIntersectionObserver.d.ts +7 -1
- package/dist/hooks/useIntersectionObserver.js +10 -1
- package/dist/hooks/useIntersectionObserver.js.map +1 -1
- package/dist/hooks/useLink.js +1 -1
- package/dist/hooks/useLink.js.map +1 -1
- package/dist/ui-kit/BlockWrapper.js +1 -11
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/dist/ui-kit/Button/ArrowButton.d.ts +2 -0
- package/dist/ui-kit/Button/ArrowButton.js +3 -1
- package/dist/ui-kit/Button/ArrowButton.js.map +1 -1
- package/dist/ui-kit/Foldable/FoldableSection.js +1 -1
- package/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +35 -0
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
- package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
- package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
- package/dist/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
- package/dist/ui-kit/SwipeListControl/SwipeListItem.js +16 -0
- package/dist/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
- package/dist/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
- package/dist/ui-kit/SwipeListControl/scrollBy.js +8 -0
- package/dist/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
- package/dist/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
- package/dist/ui-kit/SwipeListControl/scrollToEnd.js +7 -0
- package/dist/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
- package/dist/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
- package/dist/ui-kit/SwipeListControl/scrollToStart.js +7 -0
- package/dist/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +57 -0
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
- package/dist/utils/areArraysEqual.d.ts +1 -0
- package/dist/utils/areArraysEqual.js +5 -0
- package/dist/utils/areArraysEqual.js.map +1 -0
- package/dist/utils/mapChildren.d.ts +2 -0
- package/dist/utils/mapChildren.js +10 -0
- package/dist/utils/mapChildren.js.map +1 -0
- package/dist/utils/maxBy.d.ts +2 -2
- package/dist/utils/maxBy.js +4 -4
- package/dist/utils/maxBy.js.map +1 -1
- package/dist/utils/minBy.d.ts +1 -0
- package/dist/utils/minBy.js +6 -0
- package/dist/utils/minBy.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/Blocks.js +3 -1
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Carousel/Carousel.fixture.d.ts +1 -0
- package/lib/components/Carousel/Carousel.js +14 -15
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.fixture.d.ts +8 -0
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +10 -0
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
- package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
- package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
- package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.fixture.d.ts +1 -1
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +7 -13
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
- package/lib/components/Gallery/Gallery.mobile.js +1 -1
- package/lib/components/Header/HeaderSubMenu.js +1 -1
- package/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/lib/components/Header/HeaderSubMenuItem.d.ts +2 -1
- package/lib/components/Header/HeaderSubMenuItem.js +1 -1
- package/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
- package/lib/components/RollupItem/RollupItem.js +10 -1
- package/lib/components/RollupItem/RollupItem.js.map +1 -1
- package/lib/hooks/useIntersectionObserver.d.ts +7 -1
- package/lib/hooks/useIntersectionObserver.js +11 -2
- package/lib/hooks/useIntersectionObserver.js.map +1 -1
- package/lib/hooks/useLink.js +2 -2
- package/lib/hooks/useLink.js.map +1 -1
- package/lib/ui-kit/BlockWrapper.js +1 -11
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/ui-kit/Button/ArrowButton.d.ts +2 -0
- package/lib/ui-kit/Button/ArrowButton.js +2 -0
- package/lib/ui-kit/Button/ArrowButton.js.map +1 -1
- package/lib/ui-kit/Foldable/FoldableSection.js +1 -1
- package/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +33 -0
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
- package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
- package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
- package/lib/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
- package/lib/ui-kit/SwipeListControl/SwipeListItem.js +14 -0
- package/lib/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
- package/lib/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
- package/lib/ui-kit/SwipeListControl/scrollBy.js +5 -0
- package/lib/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
- package/lib/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
- package/lib/ui-kit/SwipeListControl/scrollToEnd.js +4 -0
- package/lib/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
- package/lib/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
- package/lib/ui-kit/SwipeListControl/scrollToStart.js +4 -0
- package/lib/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +54 -0
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
- package/lib/utils/areArraysEqual.d.ts +1 -0
- package/lib/utils/areArraysEqual.js +2 -0
- package/lib/utils/areArraysEqual.js.map +1 -0
- package/lib/utils/mapChildren.d.ts +2 -0
- package/lib/utils/mapChildren.js +7 -0
- package/lib/utils/mapChildren.js.map +1 -0
- package/lib/utils/maxBy.d.ts +2 -2
- package/lib/utils/maxBy.js +2 -2
- package/lib/utils/maxBy.js.map +1 -1
- package/lib/utils/minBy.d.ts +1 -0
- package/lib/utils/minBy.js +3 -0
- package/lib/utils/minBy.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +141 -140
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
- package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
- package/mobile/bundle/components/Header/HeaderSubMenuItem.d.ts +2 -1
- package/mobile/bundle/hooks/useIntersectionObserver.d.ts +7 -1
- package/mobile/bundle/ui-kit/Button/ArrowButton.d.ts +2 -0
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
- package/mobile/bundle/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
- package/mobile/bundle/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
- package/mobile/bundle/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
- package/mobile/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
- package/mobile/bundle/utils/areArraysEqual.d.ts +1 -0
- package/mobile/bundle/utils/mapChildren.d.ts +2 -0
- package/mobile/bundle/utils/maxBy.d.ts +2 -2
- package/mobile/bundle/utils/minBy.d.ts +1 -0
- package/mobile/dist/components/Carousel/Carousel.js +14 -15
- package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +12 -0
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +7 -13
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/dist/components/Gallery/Gallery.js +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.js +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSubMenuItem.d.ts +2 -1
- package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
- package/mobile/dist/components/RollupItem/RollupItem.js +10 -1
- package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
- package/mobile/dist/hooks/useIntersectionObserver.d.ts +7 -1
- package/mobile/dist/hooks/useIntersectionObserver.js +10 -1
- package/mobile/dist/hooks/useIntersectionObserver.js.map +1 -1
- package/mobile/dist/hooks/useLink.js +1 -1
- package/mobile/dist/hooks/useLink.js.map +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js +1 -11
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ArrowButton.d.ts +2 -0
- package/mobile/dist/ui-kit/Button/ArrowButton.js +3 -1
- package/mobile/dist/ui-kit/Button/ArrowButton.js.map +1 -1
- package/mobile/dist/ui-kit/Foldable/FoldableSection.js +1 -1
- package/mobile/dist/ui-kit/Foldable/FoldableSection.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +35 -0
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.js +16 -0
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollBy.js +8 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.js +7 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.js +7 -0
- package/mobile/dist/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +57 -0
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
- package/mobile/dist/utils/areArraysEqual.d.ts +1 -0
- package/mobile/dist/utils/areArraysEqual.js +5 -0
- package/mobile/dist/utils/areArraysEqual.js.map +1 -0
- package/mobile/dist/utils/mapChildren.d.ts +2 -0
- package/mobile/dist/utils/mapChildren.js +10 -0
- package/mobile/dist/utils/mapChildren.js.map +1 -0
- package/mobile/dist/utils/maxBy.d.ts +2 -2
- package/mobile/dist/utils/maxBy.js +4 -4
- package/mobile/dist/utils/maxBy.js.map +1 -1
- package/mobile/dist/utils/minBy.d.ts +1 -0
- package/mobile/dist/utils/minBy.js +6 -0
- package/mobile/dist/utils/minBy.js.map +1 -0
- package/mobile/lib/components/Carousel/Carousel.js +14 -15
- package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.d.ts +5 -0
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +10 -0
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -0
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +12 -0
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js +2 -0
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.js.map +1 -0
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +7 -13
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/lib/components/Gallery/Gallery.js +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.js +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSubMenuItem.d.ts +2 -1
- package/mobile/lib/components/Header/HeaderSubMenuItem.js +1 -1
- package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
- package/mobile/lib/components/RollupItem/RollupItem.js +10 -1
- package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
- package/mobile/lib/hooks/useIntersectionObserver.d.ts +7 -1
- package/mobile/lib/hooks/useIntersectionObserver.js +11 -2
- package/mobile/lib/hooks/useIntersectionObserver.js.map +1 -1
- package/mobile/lib/hooks/useLink.js +2 -2
- package/mobile/lib/hooks/useLink.js.map +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js +1 -11
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ArrowButton.d.ts +2 -0
- package/mobile/lib/ui-kit/Button/ArrowButton.js +2 -0
- package/mobile/lib/ui-kit/Button/ArrowButton.js.map +1 -1
- package/mobile/lib/ui-kit/Foldable/FoldableSection.js +1 -1
- package/mobile/lib/ui-kit/Foldable/FoldableSection.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +19 -0
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +33 -0
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +17 -38
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +7 -4
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +10 -27
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +3 -3
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.d.ts +14 -0
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.js +14 -0
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListItem.js.map +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollBy.d.ts +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollBy.js +5 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollBy.js.map +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.d.ts +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.js +4 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollToEnd.js.map +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.d.ts +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.js +4 -0
- package/mobile/lib/ui-kit/SwipeListControl/scrollToStart.js.map +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +17 -0
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +54 -0
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -0
- package/mobile/lib/utils/areArraysEqual.d.ts +1 -0
- package/mobile/lib/utils/areArraysEqual.js +2 -0
- package/mobile/lib/utils/areArraysEqual.js.map +1 -0
- package/mobile/lib/utils/mapChildren.d.ts +2 -0
- package/mobile/lib/utils/mapChildren.js +7 -0
- package/mobile/lib/utils/mapChildren.js.map +1 -0
- package/mobile/lib/utils/maxBy.d.ts +2 -2
- package/mobile/lib/utils/maxBy.js +2 -2
- package/mobile/lib/utils/maxBy.js.map +1 -1
- package/mobile/lib/utils/minBy.d.ts +1 -0
- package/mobile/lib/utils/minBy.js +3 -0
- package/mobile/lib/utils/minBy.js.map +1 -0
- package/mobile/src/common.css +0 -7
- package/mobile/src/components/Carousel/Carousel.tsx +41 -23
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.example.json +25 -0
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +36 -0
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.ui.json +1 -0
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +13 -0
- package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +44 -43
- package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +1 -1
- package/mobile/src/components/Gallery/Gallery.tsx +1 -1
- package/mobile/src/components/Header/HeaderSubMenu.tsx +2 -4
- package/mobile/src/components/Header/HeaderSubMenuItem.tsx +5 -2
- package/mobile/src/components/RollupItem/RollupItem.tsx +10 -1
- package/mobile/src/hooks/useIntersectionObserver.ts +23 -2
- package/mobile/src/hooks/useLink.ts +2 -2
- package/mobile/src/ui-kit/BlockWrapper.tsx +1 -16
- package/mobile/src/ui-kit/Button/ArrowButton.tsx +13 -0
- package/mobile/src/ui-kit/Foldable/FoldableSection.tsx +3 -1
- package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +97 -0
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +31 -55
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +25 -59
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +3 -3
- package/mobile/src/ui-kit/SwipeListControl/SwipeListItem.tsx +44 -0
- package/mobile/src/ui-kit/SwipeListControl/scrollBy.ts +10 -0
- package/mobile/src/ui-kit/SwipeListControl/scrollToEnd.ts +3 -0
- package/mobile/src/ui-kit/SwipeListControl/scrollToStart.ts +3 -0
- package/mobile/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +84 -0
- package/mobile/src/utils/areArraysEqual.ts +2 -0
- package/mobile/src/utils/mapChildren.ts +11 -0
- package/mobile/src/utils/maxBy.ts +3 -4
- package/mobile/src/utils/minBy.ts +5 -0
- package/package.json +2 -2
- package/src/common.css +0 -7
- package/src/components/Blocks.ts +3 -1
- package/src/components/Carousel/Carousel.fixture.tsx +20 -0
- package/src/components/Carousel/Carousel.tsx +41 -23
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.example.json +25 -0
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.fixture.tsx +38 -0
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +36 -0
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.ui.json +1 -0
- package/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +13 -0
- package/src/components/CarouselTariffsCard/CarouselTariffsCard.fixture.tsx +2 -2
- package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +44 -43
- package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +1 -1
- package/src/components/Gallery/Gallery.mobile.tsx +1 -1
- package/src/components/Header/HeaderSubMenu.tsx +2 -4
- package/src/components/Header/HeaderSubMenuItem.tsx +5 -2
- package/src/components/RollupItem/RollupItem.tsx +10 -1
- package/src/hooks/useIntersectionObserver.ts +23 -2
- package/src/hooks/useLink.ts +2 -2
- package/src/ui-kit/BlockWrapper.tsx +1 -16
- package/src/ui-kit/Button/ArrowButton.tsx +13 -0
- package/src/ui-kit/Foldable/FoldableSection.tsx +3 -1
- package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +97 -0
- package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +31 -55
- package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +25 -59
- package/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +3 -3
- package/src/ui-kit/SwipeListControl/SwipeListItem.tsx +44 -0
- package/src/ui-kit/SwipeListControl/scrollBy.ts +10 -0
- package/src/ui-kit/SwipeListControl/scrollToEnd.ts +3 -0
- package/src/ui-kit/SwipeListControl/scrollToStart.ts +3 -0
- package/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +84 -0
- package/src/utils/areArraysEqual.ts +2 -0
- package/src/utils/mapChildren.ts +11 -0
- package/src/utils/maxBy.ts +3 -4
- package/src/utils/minBy.ts +5 -0
- package/bundle/components/Carousel/CarouselContainer.d.ts +0 -10
- package/bundle/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
- package/bundle/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
- package/bundle/ui-kit/SwipeListControl/constants.d.ts +0 -2
- package/bundle/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
- package/bundle/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
- package/bundle/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
- package/dist/components/Carousel/CarouselContainer.d.ts +0 -10
- package/dist/components/Carousel/CarouselContainer.js +0 -14
- package/dist/components/Carousel/CarouselContainer.js.map +0 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
- package/dist/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -8
- package/dist/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
- package/dist/ui-kit/SwipeListControl/SwipeListControlList.js +0 -11
- package/dist/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
- package/dist/ui-kit/SwipeListControl/constants.d.ts +0 -2
- package/dist/ui-kit/SwipeListControl/constants.js +0 -12
- package/dist/ui-kit/SwipeListControl/constants.js.map +0 -1
- package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
- package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -13
- package/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
- package/dist/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
- package/dist/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -19
- package/dist/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
- package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
- package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -33
- package/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
- package/lib/components/Carousel/CarouselContainer.d.ts +0 -10
- package/lib/components/Carousel/CarouselContainer.js +0 -12
- package/lib/components/Carousel/CarouselContainer.js.map +0 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
- package/lib/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -6
- package/lib/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
- package/lib/ui-kit/SwipeListControl/SwipeListControlList.js +0 -9
- package/lib/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
- package/lib/ui-kit/SwipeListControl/constants.d.ts +0 -2
- package/lib/ui-kit/SwipeListControl/constants.js +0 -10
- package/lib/ui-kit/SwipeListControl/constants.js.map +0 -1
- package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
- package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -10
- package/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
- package/lib/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -7
- package/lib/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -16
- package/lib/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
- package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -11
- package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -30
- package/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
- package/mobile/bundle/components/Carousel/CarouselContainer.d.ts +0 -10
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
- package/mobile/bundle/ui-kit/SwipeListControl/constants.d.ts +0 -2
- package/mobile/bundle/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
- package/mobile/bundle/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
- package/mobile/bundle/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
- package/mobile/dist/components/Carousel/CarouselContainer.d.ts +0 -10
- package/mobile/dist/components/Carousel/CarouselContainer.js +0 -14
- package/mobile/dist/components/Carousel/CarouselContainer.js.map +0 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -8
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.js +0 -11
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
- package/mobile/dist/ui-kit/SwipeListControl/constants.d.ts +0 -2
- package/mobile/dist/ui-kit/SwipeListControl/constants.js +0 -12
- package/mobile/dist/ui-kit/SwipeListControl/constants.js.map +0 -1
- package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
- package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -13
- package/mobile/dist/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
- package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
- package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -19
- package/mobile/dist/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
- package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
- package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -33
- package/mobile/dist/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
- package/mobile/lib/components/Carousel/CarouselContainer.d.ts +0 -10
- package/mobile/lib/components/Carousel/CarouselContainer.js +0 -12
- package/mobile/lib/components/Carousel/CarouselContainer.js.map +0 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.d.ts +0 -9
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.js +0 -6
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlItem.js.map +0 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.d.ts +0 -11
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.js +0 -9
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlList.js.map +0 -1
- package/mobile/lib/ui-kit/SwipeListControl/constants.d.ts +0 -2
- package/mobile/lib/ui-kit/SwipeListControl/constants.js +0 -10
- package/mobile/lib/ui-kit/SwipeListControl/constants.js.map +0 -1
- package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.d.ts +0 -1
- package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js +0 -10
- package/mobile/lib/ui-kit/SwipeListControl/utils/getContainerStyle.js.map +0 -1
- package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.d.ts +0 -4
- package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.js +0 -16
- package/mobile/lib/ui-kit/SwipeListControl/utils/getIndexParts.js.map +0 -1
- package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.d.ts +0 -8
- package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js +0 -30
- package/mobile/lib/ui-kit/SwipeListControl/utils/getScrollPoints.js.map +0 -1
- package/mobile/src/components/Carousel/CarouselContainer.tsx +0 -34
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControlItem.tsx +0 -24
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControlList.tsx +0 -50
- package/mobile/src/ui-kit/SwipeListControl/constants.ts +0 -10
- package/mobile/src/ui-kit/SwipeListControl/utils/getContainerStyle.ts +0 -9
- package/mobile/src/ui-kit/SwipeListControl/utils/getIndexParts.ts +0 -25
- package/mobile/src/ui-kit/SwipeListControl/utils/getScrollPoints.ts +0 -49
- package/src/components/Carousel/CarouselContainer.tsx +0 -34
- package/src/ui-kit/SwipeListControl/SwipeListControlItem.tsx +0 -24
- package/src/ui-kit/SwipeListControl/SwipeListControlList.tsx +0 -50
- package/src/ui-kit/SwipeListControl/constants.ts +0 -10
- package/src/ui-kit/SwipeListControl/utils/getContainerStyle.ts +0 -9
- package/src/ui-kit/SwipeListControl/utils/getIndexParts.ts +0 -25
- package/src/ui-kit/SwipeListControl/utils/getScrollPoints.ts +0 -49
|
@@ -1,70 +1,36 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
2
|
|
|
4
|
-
const
|
|
5
|
-
const BASE_DOT_WIDTH = 6;
|
|
6
|
-
const ACTIVE_DOT_WIDTH_CHANGE = 16;
|
|
7
|
-
const BASE_DOT_OPACITY = 0.3;
|
|
8
|
-
const ACTIVE_DOT_OPACITY_CHANGE = 0.7;
|
|
3
|
+
const dotStyle = 'cursor-pointer bg-primary-main h-2 rounded-full transition-width duration-300';
|
|
9
4
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
interface SwipeListControlDotsProps {
|
|
6
|
+
containerRef?: { current: HTMLDivElement | null };
|
|
7
|
+
activeIndex?: number;
|
|
8
|
+
dotCount?: number;
|
|
14
9
|
}
|
|
15
10
|
|
|
16
11
|
export const SwipeListControlDots = JSX<SwipeListControlDotsProps>(
|
|
17
|
-
({
|
|
18
|
-
const handleClick =
|
|
19
|
-
(idx
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
[activeIndex],
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
return showDots && children ? (
|
|
12
|
+
({ containerRef, activeIndex, dotCount = 0 }) => {
|
|
13
|
+
const handleClick = (idx: number) => {
|
|
14
|
+
if (idx !== activeIndex && containerRef?.current) {
|
|
15
|
+
containerRef.current.children[idx]?.scrollIntoView({
|
|
16
|
+
behavior: 'smooth',
|
|
17
|
+
block: 'nearest',
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return dotCount ? (
|
|
33
23
|
<div className="flex gap-2 mx-auto mt-5 w-fit">
|
|
34
|
-
{
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
))
|
|
44
|
-
) : (
|
|
45
|
-
<div className={DOT_STYLES} style={createDotStyle(1)} />
|
|
46
|
-
)}
|
|
24
|
+
{new Array(dotCount).fill(null).map((_, idx: number) => (
|
|
25
|
+
<div
|
|
26
|
+
key={String(idx)}
|
|
27
|
+
className={`${dotStyle} ${idx === activeIndex ? 'w-6' : 'w-2 opacity-30'}`}
|
|
28
|
+
role="button"
|
|
29
|
+
aria-hidden
|
|
30
|
+
onClick={() => handleClick(idx)}
|
|
31
|
+
/>
|
|
32
|
+
))}
|
|
47
33
|
</div>
|
|
48
34
|
) : null;
|
|
49
35
|
},
|
|
50
36
|
);
|
|
51
|
-
|
|
52
|
-
const getDotStyles = (
|
|
53
|
-
currentIdx: number,
|
|
54
|
-
activeIndex: number,
|
|
55
|
-
indexFraction: number,
|
|
56
|
-
): Record<string, string> | undefined => {
|
|
57
|
-
if (currentIdx < activeIndex || currentIdx > activeIndex + 1) {
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const leftIndexMod = 1 - indexFraction;
|
|
62
|
-
const rightIndexMod = indexFraction;
|
|
63
|
-
|
|
64
|
-
return createDotStyle(currentIdx === activeIndex ? leftIndexMod : rightIndexMod);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const createDotStyle = (indexModifier: number): Record<string, string> => ({
|
|
68
|
-
opacity: `${BASE_DOT_OPACITY + ACTIVE_DOT_OPACITY_CHANGE * indexModifier}`,
|
|
69
|
-
width: `${BASE_DOT_WIDTH + ACTIVE_DOT_WIDTH_CHANGE * indexModifier}px`,
|
|
70
|
-
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @title Контейнер
|
|
3
3
|
*/
|
|
4
|
-
export interface
|
|
4
|
+
export interface SwipeContainerProps {
|
|
5
5
|
/** @title Расстояние между элементами */
|
|
6
6
|
gap?: number;
|
|
7
7
|
/** @title Отступы */
|
|
@@ -11,9 +11,9 @@ export interface SwipeContainer {
|
|
|
11
11
|
/**
|
|
12
12
|
* @title Swipe-контроллер
|
|
13
13
|
*/
|
|
14
|
-
export interface SwipeListControlProps extends
|
|
14
|
+
export interface SwipeListControlProps extends SwipeContainerProps {
|
|
15
15
|
className?: string;
|
|
16
16
|
/** @title Точки-индикаторы */
|
|
17
17
|
showDots?: boolean;
|
|
18
|
-
|
|
18
|
+
onVisibleIndicesChange?: (indices: number[]) => void;
|
|
19
19
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import {
|
|
4
|
+
useIntersectionObserver,
|
|
5
|
+
type IntersectionObserverOptions,
|
|
6
|
+
} from '../../hooks/useIntersectionObserver';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @title Элемент списка
|
|
10
|
+
*/
|
|
11
|
+
interface SwipeListControlItemProps {
|
|
12
|
+
className?: string;
|
|
13
|
+
style?: Record<string, string>;
|
|
14
|
+
idx?: number;
|
|
15
|
+
activeIndex?: number;
|
|
16
|
+
observerOptions?: IntersectionObserverOptions;
|
|
17
|
+
onIntersection?: (idx: number, entry: IntersectionObserverEntry) => void;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const SwipeListItem = JSX<SwipeListControlItemProps>(
|
|
21
|
+
({ className = '', style, idx, activeIndex, observerOptions, children, onIntersection }) => {
|
|
22
|
+
const observerCallback = useCallback(
|
|
23
|
+
(entries: IntersectionObserverEntry[]) => {
|
|
24
|
+
if (entries.length && onIntersection) {
|
|
25
|
+
onIntersection(idx || 0, entries[entries.length - 1]);
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
[onIntersection, idx],
|
|
29
|
+
);
|
|
30
|
+
const ref = useIntersectionObserver<HTMLDivElement>(observerCallback, observerOptions);
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<div
|
|
34
|
+
className={`inline-block snap-always box-border ${className}`}
|
|
35
|
+
style={style}
|
|
36
|
+
role="listitem"
|
|
37
|
+
aria-current={Boolean(idx === activeIndex)}
|
|
38
|
+
ref={ref}
|
|
39
|
+
>
|
|
40
|
+
{children}
|
|
41
|
+
</div>
|
|
42
|
+
);
|
|
43
|
+
},
|
|
44
|
+
);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const getItemWidth =
|
|
2
|
+
(container: HTMLElement) =>
|
|
3
|
+
(itemCount: number): number =>
|
|
4
|
+
container.scrollWidth / itemCount;
|
|
5
|
+
|
|
6
|
+
export const scrollBy =
|
|
7
|
+
(container: HTMLElement) =>
|
|
8
|
+
(itemCount: number, delta: -1 | 1): void => {
|
|
9
|
+
container.scrollBy({ left: delta * getItemWidth(container)(itemCount), behavior: 'smooth' });
|
|
10
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { useCallback, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { areArraysEqual } from '../../utils/areArraysEqual';
|
|
3
|
+
import { maxBy } from '../../utils/maxBy';
|
|
4
|
+
import { minBy } from '../../utils/minBy';
|
|
5
|
+
import { scrollBy } from './scrollBy';
|
|
6
|
+
import { scrollToEnd } from './scrollToEnd';
|
|
7
|
+
import { scrollToStart } from './scrollToStart';
|
|
8
|
+
|
|
9
|
+
export interface SwipeListScroll {
|
|
10
|
+
scrollLeft: () => void;
|
|
11
|
+
scrollRight: () => void;
|
|
12
|
+
canScrollLeft: boolean;
|
|
13
|
+
canScrollRight: boolean;
|
|
14
|
+
visibleIndicesRange: [number, number];
|
|
15
|
+
handleVisibleIndicesChange: (indices: number[]) => void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface SwipeListScrollProps {
|
|
19
|
+
itemCount: number;
|
|
20
|
+
isCyclic?: boolean;
|
|
21
|
+
onVisibleIndicesChange?: (indices: number[]) => void;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const useSwipeListScroll = <E extends HTMLElement>({
|
|
25
|
+
itemCount,
|
|
26
|
+
isCyclic,
|
|
27
|
+
onVisibleIndicesChange,
|
|
28
|
+
}: SwipeListScrollProps): [containerRef: { current: E | null }, scroll: SwipeListScroll] => {
|
|
29
|
+
const containerRef = useRef<E | null>(null);
|
|
30
|
+
|
|
31
|
+
const [visibleIndices, setVisibleIndices] = useState<number[]>([]);
|
|
32
|
+
const handleVisibleIndicesChange = useCallback(
|
|
33
|
+
(indices: number[]) => {
|
|
34
|
+
setVisibleIndices((prevIndices) =>
|
|
35
|
+
areArraysEqual(prevIndices, indices) ? prevIndices : indices,
|
|
36
|
+
);
|
|
37
|
+
onVisibleIndicesChange && onVisibleIndicesChange(indices);
|
|
38
|
+
},
|
|
39
|
+
[itemCount],
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const [minIndex, maxIndex] = visibleIndices.length
|
|
43
|
+
? [minBy<number>()(visibleIndices), maxBy<number>()(visibleIndices)]
|
|
44
|
+
: [-1, -1];
|
|
45
|
+
|
|
46
|
+
const canScrollLeft = minIndex > 0;
|
|
47
|
+
const canScrollRight = maxIndex < itemCount - 1;
|
|
48
|
+
|
|
49
|
+
const scrollLeft = useCallback(() => {
|
|
50
|
+
if (!containerRef.current) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (isCyclic && !canScrollLeft) {
|
|
55
|
+
scrollToEnd(containerRef.current);
|
|
56
|
+
} else {
|
|
57
|
+
scrollBy(containerRef.current)(itemCount, -1);
|
|
58
|
+
}
|
|
59
|
+
}, [isCyclic, itemCount, canScrollLeft]);
|
|
60
|
+
|
|
61
|
+
const scrollRight = useCallback(() => {
|
|
62
|
+
if (!containerRef.current) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (isCyclic && !canScrollRight) {
|
|
67
|
+
scrollToStart(containerRef.current);
|
|
68
|
+
} else {
|
|
69
|
+
scrollBy(containerRef.current)(itemCount, 1);
|
|
70
|
+
}
|
|
71
|
+
}, [itemCount, isCyclic, canScrollRight]);
|
|
72
|
+
|
|
73
|
+
return [
|
|
74
|
+
containerRef,
|
|
75
|
+
{
|
|
76
|
+
scrollLeft,
|
|
77
|
+
scrollRight,
|
|
78
|
+
canScrollLeft: isCyclic || canScrollLeft,
|
|
79
|
+
canScrollRight: isCyclic || canScrollRight,
|
|
80
|
+
visibleIndicesRange: [minIndex, maxIndex],
|
|
81
|
+
handleVisibleIndicesChange,
|
|
82
|
+
},
|
|
83
|
+
];
|
|
84
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { VNode } from '../model/VNode';
|
|
2
|
+
|
|
3
|
+
export const mapChildren =
|
|
4
|
+
(mapper: (node: VNode, idx: number) => VNode) =>
|
|
5
|
+
(children: VNode): VNode => {
|
|
6
|
+
if (children === null || children === undefined) {
|
|
7
|
+
return children;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return Array.isArray(children) ? children.map(mapper) : mapper(children, 0);
|
|
11
|
+
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
export const defaultDiscriminator = <Item, Value>(_: Item): Value => _ as any;
|
|
2
|
+
|
|
1
3
|
export const maxBy =
|
|
2
|
-
<Item, Value>(discriminator: (item: Item) => Value) =>
|
|
4
|
+
<Item, Value = Item>(discriminator: (item: Item) => Value = defaultDiscriminator) =>
|
|
3
5
|
(list: Item[]): Item =>
|
|
4
6
|
list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
|
|
5
|
-
|
|
6
|
-
export const minBy = <Item, Value>(discriminator: (item: Item) => Value) =>
|
|
7
|
-
maxBy((_: Item) => -discriminator(_));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redneckz/wildless-cms-uni-blocks",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.36",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "ЦК",
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"path": "lib/common.css"
|
|
186
186
|
},
|
|
187
187
|
{
|
|
188
|
-
"limit": "
|
|
188
|
+
"limit": "43 kB",
|
|
189
189
|
"path": "bundle/bundle.umd.min.js"
|
|
190
190
|
}
|
|
191
191
|
],
|
package/src/common.css
CHANGED
|
@@ -73,13 +73,6 @@ html {
|
|
|
73
73
|
scroll-snap-type: x mandatory;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
.horizontal-list-item {
|
|
77
|
-
flex-shrink: 0;
|
|
78
|
-
scroll-snap-align: start;
|
|
79
|
-
scroll-snap-stop: always;
|
|
80
|
-
width: 100%;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
76
|
.gradient-color-text {
|
|
84
77
|
background: linear-gradient(180deg, #42ab44 0%, #f6db7d 100%);
|
|
85
78
|
-webkit-background-clip: text;
|
package/src/components/Blocks.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { BusinessBlock } from './BusinessBlock/BusinessBlock';
|
|
|
8
8
|
import { Calculator } from './Calculator/Calculator';
|
|
9
9
|
import { CardTransfer } from './CardTransfer/CardTransfer';
|
|
10
10
|
import { Carousel } from './Carousel/Carousel';
|
|
11
|
+
import { CarouselProgramsCard } from './CarouselProgramsCard/CarouselProgramsCard';
|
|
11
12
|
import { CarouselCard } from './CarouselCard/CarouselCard';
|
|
12
13
|
import { CarouselLinks } from './CarouselLinks/CarouselLinks';
|
|
13
14
|
import { CarouselTariffsCard } from './CarouselTariffsCard/CarouselTariffsCard';
|
|
@@ -51,7 +52,6 @@ import { Video } from './Video/Video';
|
|
|
51
52
|
export const Blocks: BlocksRegistry = {
|
|
52
53
|
Accordion,
|
|
53
54
|
AccordionItem,
|
|
54
|
-
CarouselLinks,
|
|
55
55
|
BenefitsBlock,
|
|
56
56
|
BusinessBlock,
|
|
57
57
|
Bonus,
|
|
@@ -60,6 +60,8 @@ export const Blocks: BlocksRegistry = {
|
|
|
60
60
|
Calculator,
|
|
61
61
|
Carousel,
|
|
62
62
|
CarouselCard,
|
|
63
|
+
CarouselLinks,
|
|
64
|
+
CarouselProgramsCard,
|
|
63
65
|
CarouselTariffsCard,
|
|
64
66
|
Catalog,
|
|
65
67
|
ContactsBlock,
|
|
@@ -3,6 +3,7 @@ import '../../setup-fixture';
|
|
|
3
3
|
import { Blocks } from '../Blocks';
|
|
4
4
|
import { CARD, CARD_MINI, CARD_NEW } from '../CarouselCard/CarouselCard.fixture';
|
|
5
5
|
import { TARIFFS_CARD, TARIFFS_CARD_HIT } from '../CarouselTariffsCard/CarouselTariffsCard.fixture';
|
|
6
|
+
import { BUSINESS_CARD } from '../CarouselProgramsCard/CarouselProgramsCard.fixture';
|
|
6
7
|
import { Carousel } from './Carousel';
|
|
7
8
|
|
|
8
9
|
const options = {
|
|
@@ -66,4 +67,23 @@ export default {
|
|
|
66
67
|
/>
|
|
67
68
|
</div>
|
|
68
69
|
),
|
|
70
|
+
program: (
|
|
71
|
+
<div className="container grid grid-cols-12">
|
|
72
|
+
<Carousel
|
|
73
|
+
className="col-span-12"
|
|
74
|
+
visibleItemCount={2}
|
|
75
|
+
isBlur={false}
|
|
76
|
+
block={{
|
|
77
|
+
type: 'Carousel',
|
|
78
|
+
blocks: new Array(6)
|
|
79
|
+
.fill({
|
|
80
|
+
type: 'CarouselProgramsCard',
|
|
81
|
+
content: BUSINESS_CARD,
|
|
82
|
+
})
|
|
83
|
+
.map((_, i) => (i === 1 ? { ..._, content: BUSINESS_CARD } : _)),
|
|
84
|
+
}}
|
|
85
|
+
options={options}
|
|
86
|
+
/>
|
|
87
|
+
</div>
|
|
88
|
+
),
|
|
69
89
|
};
|
|
@@ -1,58 +1,76 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useRef } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
2
|
import { renderChildren } from '../../BlockRenderer/renderChildren';
|
|
4
|
-
import { useCarouselControls } from '../../hooks/useCarouselControls';
|
|
5
3
|
import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
|
|
6
4
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
5
|
+
import { ScrollLeftButton, ScrollRightButton } from '../../ui-kit/Button/ArrowButton';
|
|
6
|
+
import { SwipeListContainer } from '../../ui-kit/SwipeListControl/SwipeListContainer';
|
|
7
|
+
import {
|
|
8
|
+
SwipeListScroll,
|
|
9
|
+
useSwipeListScroll,
|
|
10
|
+
} from '../../ui-kit/SwipeListControl/useSwipeListScroll';
|
|
9
11
|
import type { CarouselContent } from './CarouselContent';
|
|
10
12
|
|
|
11
13
|
export interface CarouselProps extends CarouselContent, UniBlockProps {
|
|
12
14
|
itemCount?: number;
|
|
13
15
|
}
|
|
14
16
|
|
|
17
|
+
const ITEMS_GAP = 4;
|
|
18
|
+
|
|
15
19
|
const blurBaseStyle = 'absolute top-0 bottom-0 z-50 w-[84px]';
|
|
20
|
+
const scrollButtonStyle = 'absolute top-1/2 z-50';
|
|
16
21
|
|
|
17
22
|
export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
|
|
18
23
|
({ className = '', itemCount, visibleItemCount, isBlur = true, isCyclic = false, ...rest }) => {
|
|
19
24
|
const { blocks: childBlocks } = rest.block || {};
|
|
20
25
|
const count = itemCount || childBlocks?.length || 0;
|
|
21
26
|
|
|
22
|
-
const containerRef =
|
|
23
|
-
|
|
24
|
-
const [activeIndex, controls] = useCarouselControls({
|
|
27
|
+
const [containerRef, scroll] = useSwipeListScroll<HTMLDivElement>({
|
|
25
28
|
itemCount: count,
|
|
26
|
-
visibleItemCount,
|
|
27
29
|
isCyclic,
|
|
28
|
-
container: containerRef.current,
|
|
29
30
|
});
|
|
30
|
-
const { isScrollAvailable } = controls;
|
|
31
31
|
|
|
32
32
|
return (
|
|
33
|
-
<BlockWrapper className={`relative font-sans
|
|
34
|
-
<
|
|
35
|
-
activeIndex={activeIndex}
|
|
36
|
-
itemCount={count}
|
|
37
|
-
visibleItemCount={visibleItemCount}
|
|
33
|
+
<BlockWrapper className={`relative font-sans ${className}`} {...rest}>
|
|
34
|
+
<SwipeListContainer
|
|
38
35
|
containerRef={containerRef}
|
|
36
|
+
visibleItemCount={visibleItemCount}
|
|
37
|
+
snapAlign="snap-start"
|
|
38
|
+
gap={ITEMS_GAP}
|
|
39
|
+
onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
|
|
39
40
|
>
|
|
40
41
|
{renderChildren(rest)}
|
|
41
|
-
</
|
|
42
|
-
{
|
|
42
|
+
</SwipeListContainer>
|
|
43
|
+
{(scroll.canScrollLeft || scroll.canScrollRight) && isBlur ? (
|
|
43
44
|
<div>
|
|
44
45
|
<div className={`${blurBaseStyle} left-0 bg-opacity-from-white`} />
|
|
45
46
|
<div className={`${blurBaseStyle} right-0 bg-opacity-to-white`} />
|
|
46
47
|
</div>
|
|
47
48
|
) : null}
|
|
48
|
-
{
|
|
49
|
-
...controls,
|
|
50
|
-
btnClass: ['left-8', 'right-8'],
|
|
51
|
-
className: 'top-1/2',
|
|
52
|
-
})}
|
|
49
|
+
{renderScrollButtons(scroll)}
|
|
53
50
|
</BlockWrapper>
|
|
54
51
|
);
|
|
55
52
|
},
|
|
56
53
|
);
|
|
57
54
|
|
|
58
|
-
Carousel.childrenTypes = [
|
|
55
|
+
Carousel.childrenTypes = [
|
|
56
|
+
'CarouselCard',
|
|
57
|
+
'CarouselTariffsCard',
|
|
58
|
+
'CarouselLinks',
|
|
59
|
+
'CarouselProgramsCard',
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
const renderScrollButtons = ({
|
|
63
|
+
scrollLeft,
|
|
64
|
+
scrollRight,
|
|
65
|
+
canScrollLeft,
|
|
66
|
+
canScrollRight,
|
|
67
|
+
}: SwipeListScroll) => (
|
|
68
|
+
<div>
|
|
69
|
+
{canScrollLeft ? (
|
|
70
|
+
<ScrollLeftButton className={`${scrollButtonStyle} left-8`} onClick={scrollLeft} />
|
|
71
|
+
) : null}
|
|
72
|
+
{canScrollRight ? (
|
|
73
|
+
<ScrollRightButton className={`${scrollButtonStyle} right-8`} onClick={scrollRight} />
|
|
74
|
+
) : null}
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"icon": {
|
|
3
|
+
"icon": "SignDocsIcon",
|
|
4
|
+
"format": "webp",
|
|
5
|
+
"size": {
|
|
6
|
+
"width": 200,
|
|
7
|
+
"height": 242
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"title": "Заголовок",
|
|
11
|
+
"list": [
|
|
12
|
+
{
|
|
13
|
+
"title": "Ячейка 1-1",
|
|
14
|
+
"description": "Описание 1-1"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"title": "Ячейка 1-2",
|
|
18
|
+
"description": "Описание 1-2"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"title": "Ячейка 1-3",
|
|
22
|
+
"description": "Описание 1-3"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Picture } from '../../model/Picture';
|
|
2
|
+
import { ButtonProps } from '../../ui-kit/Button/ButtonProps';
|
|
3
|
+
import { CarouselProgramsCard } from './CarouselProgramsCard';
|
|
4
|
+
import { CarouselProgramsCardContent } from './CarouselProgramsCardContent';
|
|
5
|
+
|
|
6
|
+
const imageMonth: Picture = {
|
|
7
|
+
src: 'coin.png',
|
|
8
|
+
format: 'webp',
|
|
9
|
+
size: {
|
|
10
|
+
width: 200,
|
|
11
|
+
height: 242,
|
|
12
|
+
},
|
|
13
|
+
title: 'money',
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const list = [
|
|
17
|
+
{ title: 'От 16 до 81', description: 'платежей' },
|
|
18
|
+
{
|
|
19
|
+
title: 'От 3 до 7,5 млн руб. ',
|
|
20
|
+
description: 'остаток по счету',
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
export const BUSINESS_CARD: CarouselProgramsCardContent = {
|
|
25
|
+
title: 'Продвинутый',
|
|
26
|
+
icon: imageMonth,
|
|
27
|
+
list,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const CAROUSEL_BUSINESS_CARD = <CarouselProgramsCard {...BUSINESS_CARD} />;
|
|
31
|
+
const CAROUSEL_BUSINESS_CARD_SECONDARY = (
|
|
32
|
+
<CarouselProgramsCard {...BUSINESS_CARD} version="secondary" />
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
export default {
|
|
36
|
+
default: <div className="container grid grid-cols-12">{CAROUSEL_BUSINESS_CARD}</div>,
|
|
37
|
+
secondary: <div className="container grid grid-cols-12">{CAROUSEL_BUSINESS_CARD_SECONDARY}</div>,
|
|
38
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { VersionStyleMap } from '../../model/BlockVersion';
|
|
3
|
+
import type { HeadlineCommonProps } from '../../model/HeadlineType';
|
|
4
|
+
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
5
|
+
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
6
|
+
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
7
|
+
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
+
import { getIconWithVersion } from '../../utils/getIconWithVersion';
|
|
9
|
+
import type { CarouselProgramsCardContent } from './CarouselProgramsCardContent';
|
|
10
|
+
|
|
11
|
+
export interface CarouselTariffsCardProps extends CarouselProgramsCardContent, UniBlockProps {}
|
|
12
|
+
|
|
13
|
+
export const CarouselProgramsCard = JSX<CarouselTariffsCardProps>(
|
|
14
|
+
({ className = '', title, icon, list = [], version = 'primary', ...rest }) => (
|
|
15
|
+
<BlockWrapper
|
|
16
|
+
className={`font-sans border border-main-stroke flex min-w-[536px] ${VersionStyleMap[version]} ${className}`}
|
|
17
|
+
{...rest}
|
|
18
|
+
>
|
|
19
|
+
<div className="w-[200px] min-w-[200px] self-end">
|
|
20
|
+
{icon?.icon ? <Img image={getIconWithVersion(icon)} asSVG /> : null}
|
|
21
|
+
{icon?.src ? <Img image={icon} /> : null}
|
|
22
|
+
</div>
|
|
23
|
+
<div className="p-8 pl-3 w-full">
|
|
24
|
+
{title ? <Heading className=" mb-3.5" headingType="h5" title={title} /> : null}
|
|
25
|
+
{list.length ? <div className="flex flex-col gap-3">{list?.map(renderList)}</div> : null}
|
|
26
|
+
</div>
|
|
27
|
+
</BlockWrapper>
|
|
28
|
+
),
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
const renderList = (_: HeadlineCommonProps, i: number) => (
|
|
32
|
+
<div key={String(i)} className="break-words">
|
|
33
|
+
{_.title ? <div className={`text-h6`}>{_.title}</div> : null}
|
|
34
|
+
{_.description ? <span className="text-l-light mt-1">{_.description}</span> : null}
|
|
35
|
+
</div>
|
|
36
|
+
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { HeadlineCommonProps, TitleProps } from '../../model/HeadlineType';
|
|
2
|
+
import type { Picture } from '../../model/Picture';
|
|
3
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @title Карточка программ карусели
|
|
7
|
+
*/
|
|
8
|
+
export type CarouselProgramsCardContent = TitleProps & {
|
|
9
|
+
icon?: Picture;
|
|
10
|
+
/** @title Список */
|
|
11
|
+
list?: HeadlineCommonProps[];
|
|
12
|
+
version?: BlockVersion;
|
|
13
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Picture } from '../../model/Picture';
|
|
2
|
-
import { ButtonProps } from '../../ui-kit/Button/ButtonProps';
|
|
2
|
+
import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
|
|
3
3
|
import { CarouselTariffsCard } from './CarouselTariffsCard';
|
|
4
|
-
import { CarouselTariffsCardContent } from './CarouselTariffsCardContent';
|
|
4
|
+
import type { CarouselTariffsCardContent } from './CarouselTariffsCardContent';
|
|
5
5
|
|
|
6
6
|
const imageMonth: Picture = {
|
|
7
7
|
src: 'monthly-payment.png',
|