{"version":3,"file":"scripts/chunks/_app_app_components_organisms_O3-HeroSliderItem_index_ts.295a458fe88936db164e.mjs","mappings":"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","sources":["webpack://rockworld/./app/components/organisms/Carousel/Carousel.module.scss","webpack://rockworld/./app/components/organisms/Carousel/Carousel.tsx","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/organisms/Carousel/CarouselPagination/CarouselPagination.module.scss","webpack://rockworld/./app/components/organisms/Carousel/CarouselPagination/CarouselPagination.tsx","webpack://rockworld/./app/components/molecules/SliderIndicator/SliderIndicator.module.scss","webpack://rockworld/./app/components/molecules/SliderIndicator/SliderIndicatorItem/index.ts","webpack://rockworld/./app/components/molecules/SliderIndicator/SliderIndicatorItem/SliderIndicatorItem.tsx","webpack://rockworld/./app/components/molecules/SliderIndicator/SliderIndicator.tsx","webpack://rockworld/./app/components/organisms/O3-HeroSliderItem/HeroSliderItem.module.scss","webpack://rockworld/./app/components/organisms/O3-HeroSliderItem/HeroSliderItem.tsx","webpack://rockworld/./app/components/organisms/O3-HeroSliderItem/index.ts"],"sourcesContent":["// 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 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","// 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","// extracted by mini-css-extract-plugin\nexport default {\"rw-slider-overlay\":\"rw-slider-overlay__XeRnV\",\"rwSliderOverlay\":\"rw-slider-overlay__XeRnV\",\"no-overlay\":\"no-overlay__lQspz\",\"noOverlay\":\"no-overlay__lQspz\",\"overlay-light\":\"overlay-light___O9S2\",\"overlayLight\":\"overlay-light___O9S2\",\"overlay-dark\":\"overlay-dark__yRDr0\",\"overlayDark\":\"overlay-dark__yRDr0\",\"rw-slider-indicator-item\":\"rw-slider-indicator-item__dE5Uw\",\"rwSliderIndicatorItem\":\"rw-slider-indicator-item__dE5Uw\",\"rw-slider-indicator\":\"rw-slider-indicator__Xg9zy\",\"rwSliderIndicator\":\"rw-slider-indicator__Xg9zy\",\"rw-slider-indicator-item__header\":\"rw-slider-indicator-item__header__xfJWQ\",\"rwSliderIndicatorItemHeader\":\"rw-slider-indicator-item__header__xfJWQ\",\"rw-progress-bar\":\"rw-progress-bar__Jt1Ah\",\"rwProgressBar\":\"rw-progress-bar__Jt1Ah\",\"rw-progress-bar-value\":\"rw-progress-bar-value__MIfwX\",\"rwProgressBarValue\":\"rw-progress-bar-value__MIfwX\",\"mask\":\"mask__OTQsk\",\"active\":\"active__vk3gq\",\"timer\":\"timer__PlDpr\",\"load\":\"load__qoPNm\",\"rw-progress-bar-mobile-value\":\"rw-progress-bar-mobile-value__MaC6T\",\"rwProgressBarMobileValue\":\"rw-progress-bar-mobile-value__MaC6T\",\"time\":\"time__uvbQM\"};","export { SliderIndicatorItem } from './SliderIndicatorItem';\r\n\r\nexport const testProps = {\r\n item: { title: 'Test title 1', overlay: 'overlay-dark', duration: 3500 },\r\n isActive: true,\r\n onClickIndicator: () => {},\r\n sliderIndicatorIndex: 1,\r\n};\r\n\r\nexport const dataTestId = { progressBar: 'progress-bar-test-id' };\r\n","import React, { FC, useMemo } from 'react';\r\nimport styles from '../SliderIndicator.module.scss';\r\nimport { dataTestId } from '.';\r\n\r\nexport type SliderIndicatorItem = {\r\n title: string;\r\n duration: number;\r\n overlay: string;\r\n};\r\n\r\nexport type SliderIndicatorItemProps = {\r\n item: SliderIndicatorItem;\r\n isActive: boolean;\r\n onClickIndicator: (index: number) => void;\r\n sliderIndicatorIndex: number;\r\n};\r\n\r\nconst SliderIndicatorItem: FC = ({\r\n item,\r\n isActive,\r\n sliderIndicatorIndex,\r\n onClickIndicator,\r\n}) => {\r\n const dynamicStyles = useMemo(\r\n () => ({\r\n animationDuration: `${item.duration}s`,\r\n animationPlayState: `${isActive ? 'running' : 'paused'}`,\r\n }),\r\n [item, isActive]\r\n );\r\n\r\n return (\r\n onClickIndicator(sliderIndicatorIndex)}\r\n role=\"button\"\r\n tabIndex={0}\r\n onKeyDown={() => onClickIndicator(sliderIndicatorIndex)}\r\n >\r\n

{item.title}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport { SliderIndicatorItem };\r\n","import React, { FC } from 'react';\r\nimport { SliderIndicatorItem } from './SliderIndicatorItem/SliderIndicatorItem';\r\nimport styles from './SliderIndicator.module.scss';\r\n\r\nexport type SliderIndicator = {\r\n items: SliderIndicatorItem[];\r\n overlayClassName: string;\r\n activeSliderIndex: number;\r\n onClickIndicator: (index: number) => void;\r\n};\r\n\r\nconst SliderIndicator: FC = ({ items, overlayClassName, activeSliderIndex, onClickIndicator }) => (\r\n
\r\n
\r\n {items.map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n);\r\n\r\nexport { SliderIndicator };\r\n","// extracted by mini-css-extract-plugin\nexport default {\"O3-3-home-page-hero-slider\":\"O3-3-home-page-hero-slider__KPf2J\",\"o33HomePageHeroSlider\":\"O3-3-home-page-hero-slider__KPf2J\",\"O3-3-home-page-hero-slider__container\":\"O3-3-home-page-hero-slider__container__O84it\",\"o33HomePageHeroSliderContainer\":\"O3-3-home-page-hero-slider__container__O84it\",\"O3-3-home-page-hero-slider__nav\":\"O3-3-home-page-hero-slider__nav__nT3xh\",\"o33HomePageHeroSliderNav\":\"O3-3-home-page-hero-slider__nav__nT3xh\"};","import React, { FC, useEffect, useMemo, useRef, useState } from 'react';\r\nimport { Carousel } from '@organisms/Carousel';\r\nimport { CarouselSlide } from '@organisms/Carousel/Carousel';\r\nimport { SliderIndicator } from '@molecules/SliderIndicator/SliderIndicator';\r\nimport { SliderIndicatorItem } from '@molecules/SliderIndicator/SliderIndicatorItem';\r\nimport { Autoplay, Pagination, Navigation } from 'swiper/modules';\r\nimport { screenSizes } from 'app/scripts/core/consts';\r\nimport { HomePageHero } from '@organisms/O3-HomePageHero';\r\nimport { useIsOpenExtendedSearchForm } from '@hooks/useIsOpenExtendedSearchForm';\r\nimport { HomePageNewSearch } from '@organisms/O3-HomePageNewSearch/HomePageNewSearch';\r\nimport { EventEnum, publish } from '@utils/custom-events';\r\nimport { testIds } from '.';\r\nimport styles from './HeroSliderItem.module.scss';\r\n\r\nexport type HeroSliderItem = {\r\n homePageHeros?: HomePageHero[];\r\n items: string;\r\n homePageNewSearch: HomePageNewSearch;\r\n};\r\n\r\nconst HeroSliderItem: FC = ({ homePageHeros, items, homePageNewSearch }) => {\r\n const extendedItems: SliderIndicatorItem[] = useMemo(() => JSON.parse(items), [items]);\r\n\r\n const [activeSlideIndex, setActiveSlideIndex] = useState(0);\r\n const [overlayClassName, setOverlayClassName] = useState('no-overlay');\r\n\r\n const heroSlider = useRef();\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 isOpenExtendedSearchForm = useIsOpenExtendedSearchForm();\r\n\r\n const getDelayValue = (index: number) => extendedItems[index].duration * 1000;\r\n\r\n const onActiveSlideChange = (step: number) => {\r\n setActiveSlideIndex(step);\r\n setOverlayClassName(extendedItems[step].overlay);\r\n const swiper = carouselRef?.current?.swiper;\r\n if (swiper) {\r\n swiper.autoplay.stop();\r\n swiper.params.autoplay.delay = getDelayValue(step);\r\n swiper.autoplay.start();\r\n }\r\n };\r\n\r\n const onClickIndicator = (index: number) => {\r\n carouselRef?.current?.swiper?.slideTo(index);\r\n };\r\n\r\n const closeSearch = () => {\r\n if (isOpenExtendedSearchForm) {\r\n publish(EventEnum.changeIsOpenExtendedSearchForm, false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setOverlayClassName(extendedItems[0].overlay);\r\n }, [extendedItems]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {homePageHeros?.map((heroItem) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport { HeroSliderItem };\r\n","import { homePageHeroTestProps } from '@organisms/O3-HomePageHero';\r\n\r\nexport { HeroSliderItem } from './HeroSliderItem';\r\n\r\nexport const heroSliderItemTestProps = {\r\n homePageHeros: [\r\n {...homePageHeroTestProps},\r\n ],\r\n items:JSON.stringify([\r\n { title: 'Test title 1', overlay: 'overlay-dark', duration: 1000 },\r\n { title: 'Test title 2', overlay: 'overlay-light', duration: 2000 },\r\n { title: 'Test title 3', overlay: 'overlay-dark', duration: 3000 },\r\n { title: 'Test title 4', overlay: 'overlay-dark', duration: 5000 },\r\n ]),\r\n homePageNewSearch: {\r\n placeHolderText: 'Placeholder Text',\r\n placeHolderTextNoHtml: 'Placeholder Text',\r\n searchPageLink: 'Link',\r\n }\r\n};\r\n\r\n\r\nexport const testIds = {\r\n sliderNav: 'home-page-hero-sllider-nav',\r\n sliderItem : 'slider-item'\r\n}"],"names":["Carousel","props","className","children","navPrevRef","navNextRef","paginationRef","carouselRef","navButtonClassName","onActiveSlideChange","slideChangeTransitionStart","carouselResize","options","_objectWithoutProperties","_excluded","defaultCarouselRef","useRef","defaultNavPrevRef","defaultNavNextRef","defaultPaginationRef","carouselClassName","classNames","styles","ref","showNavigation","navigation","isSwiperInit","setIsSwiperInit","useState","useEffect","pagination","current","navPrev","navNext","swiperOptions","getOptions","Swiper","React","navigationClassName","CarouselNavButton","buttonRef","inverted","CarouselPagination","clasName","paginationClassName","config","_config$options","on","swiperEvents","_excluded2","_objectSpread","modules","Navigation","Pagination","slidesPerView","speed","el","clickable","breakpoints","screenSizes","tablet","prevEl","nextEl","init","swiper","preloadImages","realIndex","slideChangeTransitionEnd","resize","params","slidesPerGroup","slideTo","afterInit","_ref","slides","activeIndex","at","forEach","slide","images","querySelectorAll","image","loading","CarouselSlide","_ref2","slideProps","_excluded3","swiperClassName","_extends","width","height","viewBox","fill","stroke","strokeWidth","d","buttonClassName","title","type","CarretWideIcon","dataTestId","SliderIndicatorItem","item","isActive","sliderIndicatorIndex","onClickIndicator","dynamicStyles","useMemo","animationDuration","duration","animationPlayState","active","onClick","role","tabIndex","onKeyDown","timer","style","mask","SliderIndicator","items","overlayClassName","activeSliderIndex","map","index","key","HeroSliderItem","homePageHeros","homePageNewSearch","extendedItems","JSON","parse","activeSlideIndex","setActiveSlideIndex","setOverlayClassName","heroSlider","carouselNavPrevRef","carouselNavNextRef","isOpenExtendedSearchForm","useIsOpenExtendedSearchForm","getDelayValue","closeSearch","publish","EventEnum","changeIsOpenExtendedSearchForm","overlay","HomePageNewSearch","step","autoplay","stop","delay","start","Autoplay","disableOnInteraction","longSwipesRatio","mobile","touchRatio","desktop","heroItem","placeHolderText","backgroundImage","src","HomePageHero","testIds","sliderNav","heroSliderItemTestProps","homePageHeroTestProps","stringify","placeHolderTextNoHtml","searchPageLink","sliderItem"],"sourceRoot":""}