{"version":3,"file":"scripts/chunks/_app_app_components_organisms_O6-ContentList_ContentListWrapper_tsx.f6122eac96b0d4c8945e.mjs","mappings":"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","sources":["webpack://rockworld/./app/components/organisms/O6-ContentList/ContentListCarousel.tsx","webpack://rockworld/./node_modules/uuid/dist/esm-browser/native.js","webpack://rockworld/./node_modules/uuid/dist/esm-browser/rng.js","webpack://rockworld/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://rockworld/./node_modules/uuid/dist/esm-browser/v4.js","webpack://rockworld/./app/components/organisms/O6-ContentList/ContentListWrapper.tsx","webpack://rockworld/./app/components/organisms/O6-ContentList/ContentList.module.scss","webpack://rockworld/./app/components/organisms/Carousel/Carousel.module.scss","webpack://rockworld/./app/components/organisms/Carousel/Carousel.tsx","webpack://rockworld/./app/utils/random.ts","webpack://rockworld/./app/components/atoms/icons/CarretWideIcon.tsx","webpack://rockworld/./app/components/organisms/Carousel/CarouselNavButton/CarouselNavButton.module.scss","webpack://rockworld/./app/components/organisms/Carousel/CarouselNavButton/CarouselNavButton.tsx","webpack://rockworld/./app/components/atoms/icons/ArrowLeftIcon.tsx","webpack://rockworld/./app/components/organisms/Carousel/CarouselControl/CarouselControl.tsx","webpack://rockworld/./app/components/organisms/Carousel/CarouselPagination/CarouselPagination.module.scss","webpack://rockworld/./app/components/organisms/Carousel/CarouselPagination/CarouselPagination.tsx"],"sourcesContent":["import React, { FC, useState, useMemo, useRef } from 'react';\r\nimport { BaseCard } from '@organisms/BaseCard';\r\nimport { Carousel } from '@organisms/Carousel';\r\nimport { CarouselSlide } from '@organisms/Carousel/Carousel';\r\nimport { CarouselControl } from '@organisms/Carousel/CarouselControl';\r\nimport { screenSizes } from 'app/scripts/core/consts';\r\nimport { getRandomHash } from '@utils/random';\r\nimport { ProductCard } from '@organisms/O95-ProductCard/ProductCard';\r\nimport { ExtendedBaseCard, ExtendedProductCard } from './ContentListWrapper';\r\n\r\nimport styles from './ContentList.module.scss';\r\n\r\nexport type ContentListCarouselProps = {\r\n cards: (ExtendedBaseCard | ExtendedProductCard)[];\r\n isDynamicSystemCardOrganism: boolean;\r\n hideImages?: boolean;\r\n};\r\n\r\nconst contentListCarouselWrapper =

(\r\n WrappedCardComponent: React.ComponentType\r\n) => {\r\n const ContentListCarousel: FC

= ({\r\n cards,\r\n isDynamicSystemCardOrganism,\r\n hideImages,\r\n }) => {\r\n const [currentGroup, setCurrentGroup] = useState(0);\r\n const [slidesPerView, setSlidesPerView] = useState(1);\r\n\r\n const carouselNavPrevRef = useRef();\r\n const carouselNavNextRef = useRef();\r\n const paginationRef = useRef();\r\n const carouselRef = useRef(null);\r\n\r\n const totalCards = cards.length;\r\n\r\n const carouselResize = (newSlidesPerView: number) => {\r\n setSlidesPerView(newSlidesPerView);\r\n };\r\n\r\n const maxSlideCount = Math.round(totalCards / slidesPerView);\r\n\r\n const onActiveSlideChange = (activeSlideIndex: number) => {\r\n const slidesPerViewFromRef = carouselRef?.current?.swiper?.params?.slidesPerGroup;\r\n const activeGroup = Math.ceil(activeSlideIndex / slidesPerViewFromRef);\r\n setCurrentGroup(activeGroup);\r\n };\r\n\r\n const allSlides = useMemo(() => {\r\n const remainingCardsInLastGroup = totalCards % slidesPerView;\r\n\r\n const slides = cards?.map((card) => (\r\n \r\n \r\n \r\n ));\r\n\r\n if (remainingCardsInLastGroup > 0) {\r\n const emptySlides = Array(slidesPerView - remainingCardsInLastGroup)\r\n .fill({})\r\n .map(() => (\r\n \r\n

\r\n \r\n ));\r\n slides.push(...emptySlides);\r\n }\r\n\r\n return slides;\r\n }, [cards, slidesPerView]);\r\n\r\n return (\r\n
\r\n \r\n \r\n {allSlides}\r\n \r\n
\r\n {cards.length > 1 && (\r\n \r\n )}\r\n
\r\n );\r\n };\r\n\r\n return ContentListCarousel;\r\n};\r\n\r\nexport { contentListCarouselWrapper };\r\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","import React, { FC, useState, useEffect, useCallback, useMemo } from 'react';\r\nimport { PrimaryButton } from '@molecules/PrimaryButton';\r\nimport { BaseCard } from '@organisms/BaseCard';\r\nimport Button from '@atoms/Button';\r\nimport { tidyStr } from '@utils/tidy-str';\r\nimport { ProductCard } from '@organisms/O95-ProductCard/ProductCard';\r\nimport { getRandomHash } from '@utils/random';\r\nimport { contentListCarouselWrapper } from './ContentListCarousel';\r\n\r\nimport styles from './ContentList.module.scss';\r\n\r\nexport type ContentListCommonProps = {\r\n deepLinkId: string;\r\n extensions: string;\r\n backgroundStyle: string;\r\n hasAchorId: string;\r\n headline: string;\r\n hasSlide: boolean;\r\n hasPagesToLoad: boolean;\r\n};\r\n\r\nexport interface ContentListWrapperProps extends ContentListCommonProps {\r\n cards?: (BaseCard | ProductCard)[];\r\n button: PrimaryButton;\r\n isDynamicSystemCardOrganism: boolean;\r\n hideImages?: boolean;\r\n}\r\n\r\nexport interface ExtendedBaseCard extends BaseCard {\r\n _id: string;\r\n}\r\n\r\nexport interface ExtendedProductCard extends ProductCard {\r\n _id: string;\r\n}\r\n\r\nconst initialDisplayedCardCount = 6;\r\n\r\nconst contentListWrapperHOC =

(WrappedCardComponent: React.ComponentType) => {\r\n const ContentListCarousel = contentListCarouselWrapper(WrappedCardComponent);\r\n\r\n const ContentListWrapper: FC

= ({\r\n deepLinkId,\r\n extensions,\r\n hasAchorId,\r\n backgroundStyle,\r\n headline,\r\n hasSlide,\r\n cards,\r\n hasPagesToLoad,\r\n button,\r\n isDynamicSystemCardOrganism,\r\n hideImages,\r\n }) => {\r\n const extendedCards = useMemo(() => cards.map((card) => ({ ...card, _id: getRandomHash() })), [cards]);\r\n\r\n const [displayedCards, setDisplayedCards] = useState<(ExtendedBaseCard | ExtendedProductCard)[]>(() =>\r\n extendedCards.slice(0, initialDisplayedCardCount)\r\n );\r\n const [loadMoreCount, setLoadMoreCount] = useState(1);\r\n\r\n const totalCards = cards.length;\r\n\r\n useEffect(() => {\r\n setDisplayedCards(extendedCards.slice(0, initialDisplayedCardCount * loadMoreCount));\r\n }, [loadMoreCount]);\r\n\r\n const changeLoadMoreCount = useCallback(() => {\r\n setLoadMoreCount((prevCount) => prevCount + 1);\r\n }, [setLoadMoreCount]);\r\n\r\n const showLoadMoreBtn = useMemo(() => {\r\n const displayedCardsLength = displayedCards.length;\r\n const moreCardsExist = displayedCardsLength < totalCards;\r\n\r\n return !hasSlide && hasPagesToLoad && moreCardsExist;\r\n }, [hasSlide, hasPagesToLoad, displayedCards, totalCards]);\r\n\r\n return (\r\n \r\n

\r\n
\r\n {headline &&

{headline}

}\r\n {!hasSlide && (\r\n \r\n {displayedCards.map((card) => (\r\n \r\n ))}\r\n
\r\n )}\r\n {hasSlide && (\r\n \r\n )}\r\n {showLoadMoreBtn && (\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return ContentListWrapper;\r\n};\r\n\r\nexport { contentListWrapperHOC };\r\n","// extracted by mini-css-extract-plugin\nexport default {\"O6-content-list\":\"O6-content-list__PB3cM\",\"o6ContentList\":\"O6-content-list__PB3cM\",\"O6-js-load-more\":\"O6-js-load-more__EOXQ8\",\"o6JsLoadMore\":\"O6-js-load-more__EOXQ8\",\"card\":\"card__uolud\",\"is-hidden\":\"is-hidden__UzYTy\",\"isHidden\":\"is-hidden__UzYTy\",\"O6-js-load-more-btn\":\"O6-js-load-more-btn__BU5QW\",\"o6JsLoadMoreBtn\":\"O6-js-load-more-btn__BU5QW\",\"card-list\":\"card-list__NjlH_\",\"cardList\":\"card-list__NjlH_\",\"card-list--three-card-row\":\"card-list--three-card-row__Ab41i\",\"cardListThreeCardRow\":\"card-list--three-card-row__Ab41i\",\"is-scroll-reveal-hidden-top\":\"is-scroll-reveal-hidden-top__Cv6cf\",\"isScrollRevealHiddenTop\":\"is-scroll-reveal-hidden-top__Cv6cf\",\"is-scroll-reveal-hidden-bottom\":\"is-scroll-reveal-hidden-bottom__UrieZ\",\"isScrollRevealHiddenBottom\":\"is-scroll-reveal-hidden-bottom__UrieZ\",\"primary-btn-wrap\":\"primary-btn-wrap__wbunm\",\"primaryBtnWrap\":\"primary-btn-wrap__wbunm\",\"slider__controls\":\"slider__controls__Cdjxj\",\"sliderControls\":\"slider__controls__Cdjxj\"};","// extracted by mini-css-extract-plugin\nexport default {\"carousel\":\"carousel__MniZg\",\"display\":\"display__JNJkk\",\"hidden\":\"hidden__ZXElU\",\"navigation\":\"navigation__xiHZj\"};","import { screenSizes } from 'app/scripts/core/consts';\r\nimport classNames from 'classnames';\r\nimport 'node_modules/swiper/swiper.scss';\r\nimport React, { FC, MutableRefObject, useEffect, useRef, useState } from 'react';\r\nimport Swiper from 'swiper';\r\nimport { Navigation, Pagination } from 'swiper/modules';\r\nimport { SwiperOptions } from 'swiper/types';\r\nimport styles from './Carousel.module.scss';\r\nimport { CarouselNavButton } from './CarouselNavButton';\r\nimport { CarouselPagination } from './CarouselPagination';\r\n\r\ninterface Carousel extends SwiperOptions {\r\n className?: string;\r\n navigationClassName?: string;\r\n controlClassName?: string;\r\n paginationClassName?: string;\r\n children?: React.ReactNode;\r\n navPrevRef?: MutableRefObject;\r\n navNextRef?: MutableRefObject;\r\n paginationRef?: MutableRefObject;\r\n carouselRef?: MutableRefObject;\r\n navButtonClassName?: string;\r\n onActiveSlideChange?: (x: number) => void;\r\n slideChangeTransitionStart?: (x: number) => void;\r\n carouselResize?: (x: number) => void;\r\n}\r\n\r\nconst Carousel: FC = (props) => {\r\n const {\r\n className,\r\n children,\r\n navPrevRef,\r\n navNextRef,\r\n paginationRef,\r\n carouselRef,\r\n navButtonClassName,\r\n onActiveSlideChange,\r\n slideChangeTransitionStart,\r\n carouselResize,\r\n ...options\r\n } = props;\r\n const defaultCarouselRef = useRef();\r\n const defaultNavPrevRef = useRef();\r\n const defaultNavNextRef = useRef();\r\n const defaultPaginationRef = useRef();\r\n const carouselClassName = classNames('swiper', styles.carousel, className);\r\n const ref = carouselRef || defaultCarouselRef;\r\n const showNavigation = (!navPrevRef || !navNextRef) && options.navigation;\r\n const [isSwiperInit, setIsSwiperInit] = useState(false);\r\n\r\n // Initialize swiper\r\n useEffect(() => {\r\n const pagination = paginationRef?.current || defaultPaginationRef.current;\r\n const navPrev = navPrevRef?.current || defaultNavPrevRef.current;\r\n const navNext = navNextRef?.current || defaultNavNextRef.current;\r\n\r\n const swiperOptions = getOptions({\r\n pagination,\r\n navPrev,\r\n navNext,\r\n options,\r\n setIsSwiperInit,\r\n onActiveSlideChange,\r\n slideChangeTransitionStart,\r\n carouselResize,\r\n });\r\n\r\n // eslint-disable-next-line no-new\r\n new Swiper(ref.current, swiperOptions as SwiperOptions);\r\n }, []);\r\n\r\n return (\r\n
\r\n
{children}
\r\n\r\n {showNavigation && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n\r\n {!paginationRef && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\ninterface OptionsConfig {\r\n options?: SwiperOptions;\r\n pagination: HTMLDivElement;\r\n navPrev: HTMLButtonElement;\r\n navNext: HTMLButtonElement;\r\n setIsSwiperInit: (x: boolean) => void;\r\n onActiveSlideChange?: (x: number) => void;\r\n slideChangeTransitionStart?: (x: number) => void;\r\n carouselResize?: (x: number) => void;\r\n}\r\n\r\n/** Get default options and override them with new options */\r\nconst getOptions = (config: OptionsConfig): Carousel => {\r\n const { on: swiperEvents, ...options } = config.options;\r\n\r\n return {\r\n modules: [Navigation, Pagination],\r\n slidesPerView: 1,\r\n speed: 500,\r\n pagination: {\r\n el: config.pagination,\r\n clickable: true,\r\n },\r\n breakpoints: {\r\n [screenSizes.tablet]: {\r\n navigation: {\r\n prevEl: config.navPrev,\r\n nextEl: config.navNext,\r\n },\r\n },\r\n },\r\n navigation: {\r\n prevEl: config.navPrev,\r\n nextEl: config.navNext,\r\n },\r\n on: {\r\n ...swiperEvents,\r\n init(swiper) {\r\n preloadImages(swiper);\r\n swiperEvents?.init(swiper);\r\n },\r\n slideChangeTransitionStart(swiper) {\r\n preloadImages(swiper);\r\n swiperEvents?.slideChangeTransitionStart(swiper);\r\n\r\n if (config?.slideChangeTransitionStart) {\r\n const { realIndex } = swiper;\r\n config?.slideChangeTransitionStart(realIndex);\r\n }\r\n },\r\n slideChangeTransitionEnd(swiper) {\r\n preloadImages(swiper);\r\n swiperEvents?.slideChangeTransitionEnd(swiper);\r\n\r\n if (config?.onActiveSlideChange) {\r\n const { realIndex } = swiper;\r\n config.onActiveSlideChange(realIndex);\r\n }\r\n },\r\n resize(swiper) {\r\n swiperEvents?.resize(swiper);\r\n\r\n if (config?.carouselResize) {\r\n const { params } = swiper;\r\n config.carouselResize(params.slidesPerGroup);\r\n swiper.slideTo(0);\r\n }\r\n },\r\n afterInit() {\r\n config.setIsSwiperInit(true);\r\n },\r\n },\r\n ...options,\r\n };\r\n};\r\n\r\n/** Preload images in next and previous slides in carousel */\r\nconst preloadImages = ({ slides, activeIndex }: Swiper) => {\r\n const prevSlide = slides.at(activeIndex - 1);\r\n const nextSlide = slides[activeIndex + 1];\r\n const activeSlideSiblings = [prevSlide, nextSlide];\r\n\r\n activeSlideSiblings.forEach((slide) => {\r\n const images = slide?.querySelectorAll('img');\r\n\r\n images?.forEach((image) => (image.loading = 'eager'));\r\n });\r\n};\r\n\r\ninterface SlideProps {\r\n children: React.ReactNode;\r\n className?: string;\r\n onClick?: () => void;\r\n}\r\n\r\nconst CarouselSlide: FC = ({ children, className, ...slideProps }) => {\r\n const swiperClassName = classNames('swiper-slide', className);\r\n\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nexport { Carousel, CarouselSlide };\r\n","import { v4 as uuid } from 'uuid';\r\n\r\nexport const getRandomHash = (length: number = 6) => {\r\n const value = uuid().slice(0, length);\r\n return value;\r\n};\r\n","import React, { FC, SVGProps } from 'react';\r\n\r\ntype Props = SVGProps;\r\n\r\nconst CarretWideIcon: FC = (props) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default CarretWideIcon;\r\n","// extracted by mini-css-extract-plugin\nexport default {\"nav-button\":\"nav-button__QeARH\",\"navButton\":\"nav-button__QeARH\",\"inverted\":\"inverted__Z_Oue\"};","import CarretWideIcon from '@atoms/icons/CarretWideIcon';\r\nimport classNames from 'classnames';\r\nimport React, { FC, MutableRefObject } from 'react';\r\nimport styles from './CarouselNavButton.module.scss';\r\n\r\ninterface CarouselNavButton {\r\n buttonRef?: MutableRefObject;\r\n className?: string;\r\n inverted?: boolean;\r\n}\r\n\r\nconst CarouselNavButton: FC = ({ buttonRef, className, inverted }) => {\r\n const buttonClassName = classNames(styles.navButton, className, { [styles.inverted]: inverted });\r\n const title = inverted ? 'next-slide-button' : 'previous-slide-button';\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport { CarouselNavButton };\r\n","import React, { FC, SVGProps } from 'react';\r\n\r\ntype Props = SVGProps;\r\n\r\nconst ArrowLeftIcon: FC = (props) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default ArrowLeftIcon;\r\n","import ArrowIcon from '@atoms/icons/ArrowIcon';\r\nimport React, { FC, MutableRefObject } from 'react';\r\nimport ArrowLeftIcon from '@atoms/icons/ArrowLeftIcon';\r\n\r\nexport type HorizontalPosition = 'Left' | 'Right';\r\n\r\ninterface CarouselControl {\r\n currentSlide: number;\r\n horizontalPosition?: HorizontalPosition;\r\n maxSlideCount: number;\r\n defaultNavPrevRef?: MutableRefObject;\r\n defaultNavNextRef?: MutableRefObject;\r\n isLoop?: boolean;\r\n idKey?: string;\r\n}\r\n\r\nconst CarouselControl: FC = ({\r\n currentSlide,\r\n maxSlideCount,\r\n horizontalPosition,\r\n defaultNavPrevRef,\r\n defaultNavNextRef,\r\n isLoop = false,\r\n idKey = '',\r\n}) => {\r\n if (maxSlideCount <= 1) return null;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {currentSlide + 1}/{maxSlideCount}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport { CarouselControl };\r\n","// extracted by mini-css-extract-plugin\nexport default {\"pagination\":\"pagination__Qdqjj\"};","import classNames from 'classnames';\r\nimport React, { FC, MutableRefObject } from 'react';\r\nimport styles from './CarouselPagination.module.scss';\r\n\r\ninterface CarouselPagination {\r\n paginationRef?: MutableRefObject;\r\n clasName?: string;\r\n}\r\n\r\nconst CarouselPagination: FC = ({ paginationRef, clasName }) => {\r\n const paginationClassName = classNames(styles.pagination, clasName);\r\n\r\n return
;\r\n};\r\n\r\nexport { CarouselPagination };\r\n"],"names":["contentListCarouselWrapper","WrappedCardComponent","_ref","cards","isDynamicSystemCardOrganism","hideImages","currentGroup","setCurrentGroup","useState","slidesPerView","setSlidesPerView","carouselNavPrevRef","useRef","carouselNavNextRef","paginationRef","carouselRef","totalCards","length","maxSlideCount","Math","round","allSlides","useMemo","remainingCardsInLastGroup","slides","map","card","_jsx","CarouselSlide","children","_objectSpread","_id","emptySlides","Array","fill","className","getRandomHash","push","_jsxs","styles","Carousel","onActiveSlideChange","activeSlideIndex","slidesPerViewFromRef","current","swiper","params","slidesPerGroup","activeGroup","ceil","navPrevRef","navNextRef","carouselResize","newSlidesPerView","breakpoints","screenSizes","desktop","tablet","mobile","CarouselControl","currentSlide","horizontalPosition","defaultNavPrevRef","defaultNavNextRef","idKey","randomUUID","crypto","bind","getRandomValues","rnds8","Uint8Array","byteToHex","i","toString","slice","unsafeStringify","arr","offset","toLowerCase","options","buf","rnds","random","rng","Error","RangeError","contentListWrapperHOC","ContentListCarousel","deepLinkId","extensions","hasAchorId","backgroundStyle","headline","hasSlide","hasPagesToLoad","button","extendedCards","displayedCards","setDisplayedCards","loadMoreCount","setLoadMoreCount","useEffect","changeLoadMoreCount","useCallback","prevCount","showLoadMoreBtn","displayedCardsLength","id","tidyStr","suppressHydrationWarning","Button","cssClass","onClick","hasContent","props","navButtonClassName","slideChangeTransitionStart","_objectWithoutProperties","_excluded","defaultCarouselRef","defaultPaginationRef","carouselClassName","classNames","ref","showNavigation","navigation","isSwiperInit","setIsSwiperInit","pagination","navPrev","navNext","swiperOptions","getOptions","Swiper","navigationClassName","CarouselNavButton","buttonRef","inverted","CarouselPagination","clasName","paginationClassName","config","_config$options","on","swiperEvents","_excluded2","modules","Navigation","Pagination","speed","el","clickable","prevEl","nextEl","init","preloadImages","realIndex","slideChangeTransitionEnd","resize","slideTo","afterInit","activeIndex","at","forEach","slide","images","querySelectorAll","image","loading","_ref2","slideProps","_excluded3","swiperClassName","arguments","undefined","uuid","width","height","viewBox","stroke","strokeWidth","d","buttonClassName","title","type","CarretWideIcon","fillRule","isLoop","ArrowLeftIcon","ArrowIcon"],"sourceRoot":""}