import { Banner } from '@megafon/ui-core';
Код DemoSlideexport const DemoSlide = ({ children, background = '#fff' }) => (<divstyle={{height: '100%',backgroundColor: background,display: 'flex',justifyContent: 'center',alignItems: 'center',fontSize: '30px',}}>{children}</div>);
<ContentArea> <Banner arrowTheme="white"> <DemoSlide background="#00B956">1</DemoSlide> <DemoSlide background="#10E272">2</DemoSlide> <DemoSlide background="#00B956">3</DemoSlide> <DemoSlide background="#10E272">4</DemoSlide> <DemoSlide background="#00B956">5</DemoSlide> </Banner> </ContentArea>
<ContentArea> <Banner radius="corners" arrowTheme="white"> <DemoSlide background="#00B956">1</DemoSlide> <DemoSlide background="#10E272">2</DemoSlide> <DemoSlide background="#00B956">3</DemoSlide> <DemoSlide background="#10E272">4</DemoSlide> <DemoSlide background="#00B956">5</DemoSlide> </Banner> </ContentArea>
<ContentArea> <Banner arrowTheme="dark"> <DemoSlide background="#00B956">1</DemoSlide> <DemoSlide background="#10E272">2</DemoSlide> <DemoSlide background="#00B956">3</DemoSlide> </Banner> </ContentArea>
<ContentArea> <Banner arrowTheme="white" paginationType="flat"> <DemoSlide background="#F6F6F6">1</DemoSlide> <DemoSlide background="transparent">2</DemoSlide> <DemoSlide background="#F6F6F6">3</DemoSlide> </Banner> </ContentArea>
<ContentArea> <Banner arrowTheme="white" paginationType="flat" backgroundColor="green"> <DemoSlide background="#00B956">1</DemoSlide> <DemoSlide background="#731982">2</DemoSlide> <DemoSlide background="#00B956">3</DemoSlide> </Banner> </ContentArea>
<ContentArea> <Banner arrowTheme="white" paginationType="flat" backgroundColor="gradient"> <DemoSlide background="transparent">1</DemoSlide> <DemoSlide background="#F6F2F9">2</DemoSlide> <DemoSlide background="transparent">3</DemoSlide> </Banner> </ContentArea>
<ContentArea> <Banner loop arrowTheme="white" paginationType="flat" backgroundColor="green"> <DemoSlide background="#00B956">1</DemoSlide> <DemoSlide background="#10E272">2</DemoSlide> <DemoSlide background="#00B956">3</DemoSlide> </Banner> </ContentArea>
<ContentArea> <Banner loop autoPlay autoPlayDelay={3000} arrowTheme="white" paginationType="flat" backgroundColor="green"> <DemoSlide background="#00B956">1</DemoSlide> <DemoSlide background="#10E272">2</DemoSlide> <DemoSlide background="#00B956">3</DemoSlide> </Banner> </ContentArea>
По умолчанию время прокрутки увеличивается при взаимодействии со слайдером. Данный функционал можно отключить с помощью флага noIncreaseAutoplayDelay.
Показать код<ContentArea> <Banner loop autoPlay autoPlayDelay={3000} arrowTheme="white" noIncreaseAutoplayDelay> <DemoSlide background="#00B956">1</DemoSlide> <DemoSlide background="#10E272">2</DemoSlide> <DemoSlide background="#00B956">3</DemoSlide> </Banner> </ContentArea>
<ContentArea> <Banner loop autoPlay autoPlayDelay={3000} arrowTheme="white" paginationPosition="top-in" paginationTheme="dark" paginationType="flat" pauseOnHover> <DemoSlide background="#EDEDED">1</DemoSlide> <DemoSlide background="#F6F6F6">2</DemoSlide> <DemoSlide background="#EDEDED">3</DemoSlide> </Banner> </ContentArea>
Если слайд единственный стрелки и навигация скрываются, автопрокрутка отключается
Показать код<ContentArea> <Banner loop autoPlay autoPlayDelay={3000} arrowTheme="white" pauseOnHover noIncreaseAutoplayDelay> <DemoSlide background="#00B956">1</DemoSlide> </Banner> </ContentArea>
В данном случае анимация прокрутки слайдов меняется и становится, как в карусели, часть следующего слайда видна
Показать код<ContentArea> <Banner arrowTheme="white" paginationType="flat" showNextSlide> <DemoSlide background="#EDEDED">1</DemoSlide> <DemoSlide background="#F6F6F6">2</DemoSlide> <DemoSlide background="#EDEDED">3</DemoSlide> </Banner> </ContentArea>
Prop name | Type | Default | Description |
---|---|---|---|
className | string | undefined | Сss класс для внешнего контейнера | |
classes | { swiper?: string | undefined; slide?: string | undefined; arrow?: string | undefined; arrowPrev?: string | undefined; arrowNext?: string | undefined; pagination?: string | undefined; dot?: string | undefined; noSwiping?: string | undefined; } | undefined | {} | Дополнительные классы для корневого и внутренних элементов |
dataAttrs | { root?: Record<string, string> | undefined; swiper?: Record<string, string> | undefined; slide?: Record<string, string> | undefined; arrowPrev?: Record<...> | undefined; ... 4 more ...; dotInner?: Record<...> | undefined; } | undefined | Дополнительные data атрибуты к внутренним элементам | |
paginationAlign | PaginationAlignType | undefined | center | Выравнивание блока пагинации. DEPRECATED: 'left' |
paginationTheme | PaginationThemeType | undefined | Цветовая тема пагинации | |
paginationType | PaginationType | undefined | Тип кнопок пагинации | |
paginationPosition | PaginationPositionType | undefined | Расположение пагинации | |
withPaginationBottomOffset | boolean | undefined | false | Предполагается использование с наезжанием на баннер следующего за баннером элемента |
autoPlay | boolean | undefined | false | Автоматическая прокрутка |
autoPlayDelay | number | undefined | 5000 | Задержка автоматической прокрутки |
loop | boolean | undefined | false | Прокрутка с зацикливанием |
pauseOnHover | boolean | undefined | false | Пауза автоматической прокрутки при наведении курсора на компонент |
backgroundColor | BackgroundColorType | undefined | Фоновый цвет | |
radius | RadiusType | undefined | rounded | Радиус границы |
navTheme | NavThemeType | undefined | Цветовая тема навигации (не используется) | |
arrowTheme | ThemeType | undefined | dark | Цветовая тема стрелок |
autoHeight | boolean | undefined | false | Автоматическая высота слайдов |
noIncreaseAutoplayDelay | boolean | undefined | Не увеличивать время прокрутки при взаимодействии с баннером | |
showNextSlide | boolean | undefined | Показать часть следующего слайда | |
hasMarginTop | boolean | undefined | false | Отступ сверху |
getSwiper | ((instance: Swiper) => void) | undefined | Ref на swiper | |
onNextClick | ((index: number) => void) | undefined | Обработчик клика по стрелке "вперед" (должен быть обернут в useCallback) | |
onPrevClick | ((index: number) => void) | undefined | Обработчик клика по стрелке "назад" (должен быть обернут в useCallback) | |
onDotClick | ((index: number) => void) | undefined | Обработчик клика по точке навигации (должен быть обернут в useCallback) | |
onChange | ((index: number) => void) | undefined | Обработчик смены слайда (должен быть обернут в useCallback) |