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
desktopSlidesPerViewDesktopSlidesPerView | undefined4Количество видимых слайдов на разрешении 1280 и выше
rootRefRef<HTMLDivElement> | undefinedСсылка на корневой элемент
classNamestring | undefinedДополнительные классы для корневого элемента
classes{ root?: string | undefined; innerIndents?: string | undefined; container?: string | undefined; containerModifier?: string | undefined; prev?: string | undefined; next?: string | undefined; slide?: string | undefined; } | undefinedДополнительные классы для корневого и внутренних элементов
dataAttrs{ root?: Record<string, string> | undefined; slider?: Record<string, string> | undefined; prev?: Record<string, string> | undefined; next?: Record<string, string> | undefined; slide?: Record<...> | undefined; } | undefinedДополнительные data атрибуты к внутренним элементам
slidesSettingsSlidesSettingsType | undefinedНастройки слайдов
loopboolean | undefinedСмена слайдов с зацикливанием
autoPlayboolean | undefinedАвтоматическая прокрутка
paginationPaginationOptions | undefinedНастройки пагинации
autoPlayDelaynumber | undefinedЗадержка для авто прокрутки
transitionSpeednumber | undefinedСкорость смены слайдов
thresholdnumber | undefinedПороговое значение свайпа при котором выполняется сдвиг слайдов в карусели
initialSlidenumber | undefinedПорядковый номер первого видимого слайда
disableTouchMoveboolean | undefinedОтключение смены слайда свайпами
centeredSlidesboolean | undefinedАктивный слайд по центру экрана
navThemeNavThemeType | undefinedТема навигации
effectThemeEffectThemeType | undefinedЭффект анимации
disableArrowsboolean | undefinedОтключение стрелок
arrowThemeThemeType | undefinedТема стрелок
noSwipingSelectorstring | undefinedCss селектор элемента, при перетаскивании которого не будет происходить смена слайдов
slideToClickedSlideboolean | undefinedСвайп к слайду, по которому произведен клик
getSwiper((instance: Swiper) => void) | undefinedRef на swiper
onNextClick((index: number) => void) | undefinedОбработчик клика по стрелке вперед (должен быть обернут в useCallback)
onPrevClick((index: number) => void) | undefinedОбработчик клика по стрелке назад (должен быть обернут в useCallback)
onChange((currentIndex: number, previousIndex: number, slidesPerView?: number | "auto" | undefined) => void) | undefinedОбработчик смены слайда (должен быть обернут в useCallback)
gradientboolean | undefinedНаличие градиента по краям контейнера
gradientColorGradientThemeType | undefinedЦвет градиента

Примечание

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