CarouselBox

import { CarouselBox } from '@megafon/ui-shared';
Примеры и код
Свойства и методы
Код DemoSlide
export const DemoSlide = ({ children }) => {
return (
<Tile isInteractive shadowLevel="default" radius="rounded">
<div
style={{
height: '200px',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
textAlign: 'center',
fontSize: '30px',
padding: '10px',
}}
>
{children}
</div>
</Tile>
);
};

Базовое использование

<CarouselBox>
  <DemoSlide>1</DemoSlide>
  <DemoSlide>2</DemoSlide>
  <DemoSlide>3</DemoSlide>
  <DemoSlide>4</DemoSlide>
  <DemoSlide>5</DemoSlide>
</CarouselBox>

3 видимых слайда на разрешении 1280 и выше

<CarouselBox desktopSlidesPerView={3}>
  <DemoSlide>1</DemoSlide>
  <DemoSlide>2</DemoSlide>
  <DemoSlide>3</DemoSlide>
  <DemoSlide>4</DemoSlide>
  <DemoSlide>5</DemoSlide>
</CarouselBox>
Prop nameTypeDefaultDescription
desktopSlidesPerViewDesktopSlidesPerView4Количество видимых слайдов на разрешении 1280 и выше
rootRefRef<HTMLDivElement>Ссылка на корневой элемент
classNamestringДополнительные классы для корневого элемента
classes{ root?: string; innerIndents?: string; container?: string; containerModifier?: string; prev?: string; next?: string; slide?: string; }Дополнительные классы для корневого и внутренних элементов
dataAttrs{ root?: Record<string, string>; slider?: Record<string, string>; prev?: Record<string, string>; next?: Record<string, string>; slide?: Record<string, string>; }Дополнительные data атрибуты к внутренним элементам
slidesSettingsSlidesSettingsTypeНастройки слайдов
loopbooleanСмена слайдов с зацикливанием
autoPlaybooleanАвтоматическая прокрутка
paginationPaginationOptionsНастройки пагинации
autoPlayDelaynumberЗадержка для авто прокрутки
transitionSpeednumberСкорость смены слайдов
thresholdnumberПороговое значение свайпа при котором выполняется сдвиг слайдов в карусели
initialSlidenumberПорядковый номер первого видимого слайда
disableTouchMovebooleanОтключение смены слайда свайпами
centeredSlidesbooleanАктивный слайд по центру экрана
navThemeNavThemeTypeТема навигации
effectThemeEffectThemeTypeЭффект анимации
noSwipingSelectorstringCss селектор элемента, при перетаскивании которого не будет происходить смена слайдов
slideToClickedSlidebooleanСвайп к слайду, по которому произведен клик
getSwiper(instance: Swiper) => voidRef на swiper
onNextClick(index: number) => voidОбработчик клика по стрелке вперед (должен быть обернут в useCallback)
onPrevClick(index: number) => voidОбработчик клика по стрелке назад (должен быть обернут в useCallback)
onChange(currentIndex: number, previousIndex: number, slidesPerView?: number | "auto") => voidОбработчик смены слайда (должен быть обернут в useCallback)
gradientbooleanНаличие градиента по краям контейнера
gradientColorGradientThemeTypeЦвет градиента

Примечание

Компонент CarouselBox является оберткой над компонентом Carousel из раздела Компоненты и имеет идентичные свойства и методы