{"version":3,"file":"js/component-carouselhero.chunk.js","mappings":"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","sources":["webpack:///./assets/common/src/components/utils/Lazyimg.tsx","webpack:///./assets/common/src/components/utils/ThronVideo.tsx","webpack:///./assets/common/src/utils/useIntersectionObserver.tsx","webpack:///./assets/stone/src/components/common/CarouselHero.tsx","webpack:///./assets/stone/src/hooks/useMediaQueries.tsx","webpack:///./assets/stone/src/ui/button/CarouselNavigation.tsx","webpack:///./assets/stone/src/ui/icon/Icon.tsx","webpack:///./assets/stone/src/ui/image/Image.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React from 'react';\nconst Lazyimg = (props) => {\n return (React.createElement(\"img\", { src: \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\", \"data-src\": props.src, \"data-srcset\": props.srcset, className: classNames('lazyload', props.className, { 'not-draggable': !props.draggable }), alt: props.alt, width: props === null || props === void 0 ? void 0 : props.width, height: props === null || props === void 0 ? void 0 : props.height, draggable: props.draggable, \"aria-hidden\": (props === null || props === void 0 ? void 0 : props.ariaHidden) ? true : false, \"data-sizes\": props.dataSizes }));\n};\nexport default Lazyimg;\n","import classNames from 'classnames';\nimport React, { useEffect, useRef, useState } from 'react';\nimport ThronIntegrationComponent from './../../scripts/components/thronIntegrationComponent';\nconst ThronVideo = (props) => {\n const videoRef = useRef();\n const [thronComponent, setThronComponent] = useState(null);\n useEffect(() => {\n if (videoRef.current) {\n if (thronComponent) {\n thronComponent.changeContent(props.thronID);\n }\n else {\n const options = {};\n props.onPauseCallback && (options.onPauseCallback = props.onPauseCallback);\n props.onPlayCallback && (options.onPlayCallback = props.onPlayCallback);\n props.onCompleteCallback && (options.onCompleteCallback = props.onCompleteCallback);\n props.onInitCallback && (options.onInitCallback = props.onInitCallback);\n props.onTimeUpdate && (options.onTimeUpdate = props.onTimeUpdate);\n typeof props.loopTimes === 'number' && (options.loopTimes = props.loopTimes);\n const newThronComponent = new ThronIntegrationComponent(videoRef.current, 'video', options);\n setThronComponent(newThronComponent);\n }\n }\n }, [props.thronID]);\n return (React.createElement(\"div\", { ref: videoRef, \"aria-hidden\": \"true\", className: classNames('video-wrapper', props.className), \"data-option-id\": props.thronID, \"data-option-mobile-id\": props === null || props === void 0 ? void 0 : props.thronMobileID, \"data-option-muted\": props.muted, \"data-option-autoplay\": props.autoplay, \"data-option-loop\": props.loop, \"data-option-lock-bitrate\": props.lockBitrate, \"data-option-no-skin\": props.noskin, \"data-option-sess-id\": props.sessionId }));\n};\nexport default ThronVideo;\n","import { useEffect, useState, useRef } from 'react';\nfunction useIntersectionObserver(threshold = 0) {\n const [isIntersecting, setIsIntersecting] = useState(false);\n const ref = useRef(null);\n useEffect(() => {\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n setIsIntersecting(entry.isIntersecting);\n });\n }, {\n threshold,\n });\n if (ref.current) {\n observer.observe(ref.current);\n }\n // Cleanup the observer when component unmounts\n return () => {\n observer.disconnect();\n };\n }, [threshold]);\n return { ref, isIntersecting };\n}\nexport default useIntersectionObserver;\n","import ThronVideo from '@components/utils/ThronVideo';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport Icon from '@stone/ui/icon/Icon';\nimport Image from '@stone/ui/image/Image';\nimport classNames from 'classnames';\nimport { motion, AnimatePresence, useReducedMotion } from 'framer-motion';\nimport React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport SwiperCore, { Navigation, A11y, Keyboard, Pagination, Autoplay } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport { useElementSize } from 'usehooks-ts';\nimport gsap from 'gsap';\nimport { ScrollTrigger } from 'gsap/ScrollTrigger';\nimport ReactHtmlParser from 'react-html-parser';\nimport analytics from '@stone/utils/analytics';\nimport useIntersectionObserver from '@common/utils/useIntersectionObserver';\nimport CarouselNavigation from '@stone/ui/button/CarouselNavigation';\nimport { getFirstFocusable } from '@common/scripts/utilities/focusableElementUtils';\nimport whatInput from 'what-input';\nSwiperCore.use([Keyboard, Navigation, A11y, Pagination, Autoplay]);\nconst CarouselHero = (props) => {\n const { t } = useTranslation();\n const isReduced = useReducedMotion();\n const { isMobile, isWideDesktop } = useMediaQueries();\n const timing = parseInt(props.autoplay) || 5;\n // ANCHOR - USE STATES ----------------------------------------------------------------------------------------------------------------------------------------\n const [activeData, setActiveData] = useState(null);\n const [playState, setPlayState] = useState();\n const [pushedAnalytics, setPushedAnalytics] = useState([]);\n const [autoplaying, setAutoplaying] = useState(true);\n const [remainingTime, setRemainingTime] = useState(timing * 1000);\n const [clickFromButton, setClickFromButton] = useState(false);\n // ANCHOR - USE REF ----------------------------------------------------------------------------------------------------------------------------------------\n const firstRender = useRef(true);\n const { ref, isIntersecting } = useIntersectionObserver(0.6);\n const mediaRef = useRef(null);\n const swiperRef = useRef(null);\n const intervalRef = useRef(null);\n const [containerRef, { width }] = useElementSize();\n // ANCHOR - USE MEMO ----------------------------------------------------------------------------------------------------------------------------------------\n const slidesArray = useMemo(() => JSON.parse(props.slides), [props.slides]);\n const isMediaPresent = useMemo(() => activeData && (activeData.image || activeData.imageMobile || activeData.thronID || activeData.thronIDMobile), [activeData]);\n const spacing = useMemo(() => {\n const container = width;\n const inners = 12 * 23;\n const col = (container - inners) / 24;\n if (col > 0 && !isMobile) {\n return col + 12 - 26.05;\n }\n return 12;\n }, [width, isMobile]);\n const transform = (node) => {\n var _a;\n if ((_a = node.attribs) === null || _a === void 0 ? void 0 : _a.style) {\n node.attribs.style = null;\n }\n };\n const parseOptions = {\n decodeEntities: true,\n transform,\n };\n const parseColor = (str) => {\n const base = '#000000';\n if (str != null) {\n let regex = new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/);\n let color;\n if (str[0] != '#' && str.length >= 3) {\n color = '#' + str;\n }\n else {\n color = str;\n }\n if (regex.test(color)) {\n return color;\n }\n return base;\n }\n return base;\n };\n const parseTransparency = (str) => {\n const base = 55;\n let regex = new RegExp(/^\\d+$/);\n if (str != null && regex.test(str)) {\n let transparency = parseInt(str);\n if (transparency >= 0 && transparency <= 100) {\n return transparency;\n }\n else if (transparency < 0) {\n return 0;\n }\n else if (transparency > 100) {\n return 100;\n }\n return base;\n }\n return base;\n };\n // ANCHOR - USE CALLABCKS ----------------------------------------------------------------------------------------------------------------------------------------\n const isActive = useCallback((slide) => (activeData === null || activeData === void 0 ? void 0 : activeData.ID) === slide.ID, [activeData]);\n const handlePlay = useCallback((index) => {\n const _array = Object.assign({}, playState);\n _array[index] = !playState[index];\n setPlayState(_array);\n }, [playState]);\n const onSlideChange = useCallback((index) => {\n if (slidesArray.length) {\n const activeSlide = slidesArray[index];\n setActiveData(Object.assign(Object.assign({}, activeSlide), { index: index }));\n }\n }, [slidesArray, isReduced, pushedAnalytics]);\n const scrollParallax = useCallback(() => {\n const tl = gsap.timeline();\n tl.to(ref.current.parentNode, {\n opacity: 0,\n });\n ScrollTrigger.create({\n id: 'prlx-desktop',\n trigger: ref.current.parentNode,\n start: () => `bottom bottom`,\n end: 'bottom top',\n pinSpacing: false,\n pin: true,\n // markers: true,\n animation: tl,\n scrub: true,\n });\n }, []);\n const swiperProps = {\n loop: true,\n watchOverflow: true,\n slidesPerView: 'auto',\n };\n const TIMER_MULTIPLIER = 200;\n function startTimer() {\n intervalRef.current = setInterval(() => {\n setRemainingTime((prev) => {\n const time = Math.min(timing * 1000, Math.max(0, prev - TIMER_MULTIPLIER));\n return time;\n });\n }, TIMER_MULTIPLIER);\n }\n function pauseTimer() {\n var _a, _b;\n clearInterval(intervalRef.current);\n //@ts-ignore disable-next-line\n (_b = (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.params) === null || _b === void 0 ? void 0 : _b.autoplay.delay = remainingTime;\n }\n function resetTimer() {\n setRemainingTime(timing * 1000);\n }\n function startAutoplay() {\n // customEventBus.emit(`playerstatuschange:${props.id}`, { id: props.id, status: 'pause' });\n swiperRef.current.autoplay.run();\n setAutoplaying(true);\n startTimer();\n }\n function pauseAutoPlay() {\n swiperRef.current.autoplay.pause();\n swiperRef.current.animating = false;\n // customEventBus.emit(`playerstatuschange:${props.id}`, { id: props.id, status: 'play' });\n setAutoplaying(false);\n pauseTimer();\n //@ts-ignore disable-next-line\n // swiperRef.current.params.autoplay.delay = remainingTime;\n }\n // ANCHOR - USE EFFECTS ----------------------------------------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (firstRender.current && slidesArray.length) {\n setActiveData(Object.assign(Object.assign({}, slidesArray[0]), { index: 0 }));\n firstRender.current = false;\n }\n }, [slidesArray]);\n useEffect(() => {\n document.documentElement.style.setProperty('--carousel-hero-autoplay', timing.toString() + 's');\n startTimer();\n }, []);\n useEffect(() => {\n if (!!(slidesArray === null || slidesArray === void 0 ? void 0 : slidesArray.length)) {\n setPlayState(() => slidesArray === null || slidesArray === void 0 ? void 0 : slidesArray.map(() => !isReduced));\n }\n }, [slidesArray]);\n useEffect(() => {\n if (activeData && !pushedAnalytics.includes(activeData === null || activeData === void 0 ? void 0 : activeData.ID) && isIntersecting) {\n const prev = pushedAnalytics;\n prev.push(activeData.ID);\n analytics.promotion('view_promotion', activeData.index + 1, activeData.title_analytics || activeData.title);\n setPushedAnalytics(prev);\n }\n }, [activeData, pushedAnalytics, isIntersecting]);\n useLayoutEffect(() => {\n if (!isReduced) {\n if (ref.current && props.parallax) {\n scrollParallax();\n }\n }\n return () => ScrollTrigger.getAll().forEach((el) => el.kill());\n }, [isReduced]);\n useLayoutEffect(() => {\n if ((mediaRef === null || mediaRef === void 0 ? void 0 : mediaRef.current) && activeData) {\n const color = parseColor(activeData === null || activeData === void 0 ? void 0 : activeData.overlay_color);\n const transparency = parseTransparency(activeData === null || activeData === void 0 ? void 0 : activeData.overlay_transparency);\n mediaRef.current.style.setProperty('--overlay-color', color);\n mediaRef.current.style.setProperty('--overlay-transparency', (transparency / 100).toString());\n }\n }, [activeData]);\n // ANCHOR - COMPONENTS ----------------------------------------------------------------------------------------------------------------------------------------\n const renderMedia = () => {\n var _a, _b;\n return isMediaPresent && (React.createElement(React.Fragment, null,\n React.createElement(AnimatePresence, null,\n React.createElement(motion.div, { ref: mediaRef, className: \"carousel-hero__media\", key: activeData.ID, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: {\n duration: 1,\n } }, activeData.thronID || activeData.thronIDMobile ? (React.createElement(\"div\", { className: \"video-container\" },\n React.createElement(ThronVideo, { autoplay: playState[activeData.index], thronID: activeData.thronID, thronMobileID: activeData.thronIDMobile, lockBitrate: activeData === null || activeData === void 0 ? void 0 : activeData.maxBitrate }),\n React.createElement(\"div\", { className: \"btn--container container\" },\n React.createElement(\"button\", { className: \"btn--pause button button--quaternary inverted\", \"aria-label\": t('button.playpausevideoA11y'), \"data-pause\": playState[activeData.index], \"aria-pressed\": !playState[activeData.index], onClick: () => handlePlay(activeData.index) },\n React.createElement(Icon, { family: \"16\", name: playState[activeData.index] ? 'pause' : 'play', inverted: true, autoSize: true }),\n React.createElement(\"span\", null, playState[activeData.index] ? t('button.pause') : t('button.play')))))) : ((activeData.image || activeData.imageMobile) && React.createElement(Image, { src: (_a = activeData === null || activeData === void 0 ? void 0 : activeData.image) === null || _a === void 0 ? void 0 : _a.path, srcMobile: (_b = activeData === null || activeData === void 0 ? void 0 : activeData.imageMobile) === null || _b === void 0 ? void 0 : _b.path, alt: '' }))))));\n };\n const renderPagination = () => {\n var _a;\n return (React.createElement(\"div\", { className: \"pagination--container container\" },\n React.createElement(\"div\", { className: \"row\" },\n React.createElement(\"div\", { className: \"col-lg-4 col-xxl-3 offset-lg-2 carousel-hero__controls\" },\n React.createElement(\"div\", { className: \"wrapper\" },\n ((_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.autoplay) && (React.createElement(\"button\", { className: \"button button--pause inverted\", \"aria-label\": t('carousel.autoplay.pause'), \"aria-pressed\": autoplaying, onClick: () => {\n if (autoplaying) {\n pauseAutoPlay();\n }\n else {\n startAutoplay();\n }\n } },\n React.createElement(Icon, { family: \"16\", name: autoplaying ? 'pause' : 'play', inverted: true, autoSize: true }))),\n React.createElement(CarouselNavigation, { id: \"hero-carousel\", inverted: true })))),\n React.createElement(\"div\", { className: \"row\" },\n React.createElement(\"div\", { className: classNames('col-lg-4 col-xxl-3 offset-lg-2 pagination carousel-hero__pagination', { paused: !autoplaying }) }))));\n };\n const renderSlide = (slide, i, isFocusable) => {\n const slideRef = useRef(null);\n useEffect(() => {\n if (slideRef.current) {\n slideRef.current.parentElement.ariaHidden = !isFocusable ? 'true' : 'false';\n }\n }, [isFocusable]);\n return (React.createElement(\"div\", { ref: slideRef, className: classNames('carousel-hero__slide', { active: isActive(slide) }), \"aria-hidden\": !isFocusable },\n React.createElement(\"p\", { className: \"carousel-hero__slide-index font__title\" }, (slidesArray === null || slidesArray === void 0 ? void 0 : slidesArray.length) > 1 && (i + 1).toString().padStart(3, '0')),\n React.createElement(\"div\", { className: \"carousel-hero__slide-content\" },\n React.createElement(\"h2\", { className: \"carousel-hero__slide-title font__title\" }, slide.title),\n React.createElement(\"div\", { className: \"carousel-hero__slide-description\" }, ReactHtmlParser(slide.description, parseOptions))),\n React.createElement(\"div\", { className: \"carousel-hero__slide-links\" },\n (slide === null || slide === void 0 ? void 0 : slide.first_link_url) && (slide === null || slide === void 0 ? void 0 : slide.first_link_label) && (React.createElement(\"a\", { href: slide === null || slide === void 0 ? void 0 : slide.first_link_url, className: \"button button--tertiary inverted\", tabIndex: isFocusable ? 0 : -1, onClick: () => analytics.promotion('select_promotion', i + 1, slide.first_link_analytics || slide.first_link_label) },\n React.createElement(\"span\", null, slide === null || slide === void 0 ? void 0 : slide.first_link_label))),\n (slide === null || slide === void 0 ? void 0 : slide.second_link_url) && (slide === null || slide === void 0 ? void 0 : slide.second_link_label) && (React.createElement(\"a\", { href: slide === null || slide === void 0 ? void 0 : slide.second_link_url, className: \"button button--tertiary inverted\", tabIndex: isFocusable ? 0 : -1, onClick: () => analytics.promotion('select_promotion', i + 1, (slide === null || slide === void 0 ? void 0 : slide.second_link_analytics) || (slide === null || slide === void 0 ? void 0 : slide.second_link_label)) },\n React.createElement(\"span\", null, slide === null || slide === void 0 ? void 0 : slide.second_link_label))))));\n };\n const renderCarousel = () => {\n return (React.createElement(React.Fragment, null,\n React.createElement(Swiper, Object.assign({ onSwiper: (swiper) => (swiperRef.current = swiper), onSlideChange: (swiper) => {\n onSlideChange(swiper.realIndex);\n // @ts-ignore disable-next-line\n swiper.params.autoplay.delay = timing * 1000;\n resetTimer();\n if (clickFromButton) {\n setTimeout(() => getFirstFocusable(swiper.slides[swiper.realIndex]).focus(), 500);\n setClickFromButton(false);\n }\n }, onPaginationRender: (swiper, paginationEl) => {\n const buttons = paginationEl.querySelectorAll('.swiper-pagination-bullet');\n buttons.forEach((button, i) => {\n button.addEventListener('click', () => {\n if (whatInput.ask() === 'keyboard') {\n setClickFromButton(true);\n }\n });\n });\n }, autoplay: {\n delay: timing * 1000,\n disableOnInteraction: false,\n }, pagination: {\n el: '.carousel-hero__pagination',\n clickable: true,\n type: 'bullets',\n renderBullet: function (index, className) {\n const paginationMessage = t('carousel.paginationbulletmessage').replace('INDEX_NUMBER', `${index + 1}`);\n return ``;\n },\n }, watchSlidesProgress: true, spaceBetween: spacing, navigation: {\n nextEl: `.hero-carousel-navigation--next`,\n prevEl: `.hero-carousel-navigation--prev`,\n } }, swiperProps), slidesArray.length &&\n slidesArray.map((slide, i) => React.createElement(SwiperSlide, { key: `carousel-slide-${i}` }, ({ isDuplicate, isActive }) => renderSlide(slide, i, !isDuplicate && isActive))))));\n };\n return (React.createElement(React.Fragment, null,\n renderMedia(),\n React.createElement(\"div\", { className: \"carousel-hero__content--wrapper\", ref: ref },\n React.createElement(\"div\", { className: \"carousel-hero__content\" }, (slidesArray === null || slidesArray === void 0 ? void 0 : slidesArray.length) > 1 ? (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { ref: containerRef, style: { overflowX: 'visible' }, className: classNames({ container: isWideDesktop }) }, renderCarousel()),\n renderPagination())) : (React.createElement(\"div\", { className: \"container\" }, renderSlide(slidesArray[0], 0, true)))))));\n};\nexport default CarouselHero;\n","import { throttle } from 'lodash';\nimport { useLayoutEffect, useEffect, useRef, useState } from 'react';\nconst REFLOW_CAP = 400;\nconst getInitialBreakpointValue = () => {\n // get initial breakpoint is called before the page is fully loaded and innerWith may be 0. windows.mqObj may not be set\n var _a;\n const mediaQueries = window.mqObj;\n const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n if (documentWidth == 0 || !mediaQueries) {\n return;\n }\n const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n const initalBr = filtered.length ? mediaQueries[filtered[filtered.length - 1]] : mediaQueries['xs'];\n // console.info('[getInitialBreakpointValue]: ', documentWidth, initalBr);\n return initalBr;\n};\nconst getReflowValue = () => {\n var _a;\n const documentHeight = window.innerHeight || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.height);\n if (documentHeight == 0) {\n return;\n }\n return documentHeight < REFLOW_CAP ? 399 : REFLOW_CAP;\n};\nconst mediaQueries = Object.assign({ ' {\n const [breakpoint, setBreakpoint] = useState(getInitialBreakpointValue());\n const [breakpointHeight, setBreakpointHeight] = useState(getReflowValue());\n const [isTouch, setIsTouch] = useState(false);\n // const [isMotionReduced, setIsMotionReduced] = useState(false);\n const firstRender = useRef(true);\n function detectTouchscreen() {\n if (window.PointerEvent && 'maxTouchPoints' in navigator) {\n // if Pointer Events are supported, just check maxTouchPoints\n if (navigator.maxTouchPoints > 0) {\n setIsTouch(true);\n }\n }\n else {\n // no Pointer Events...\n if (window.matchMedia && window.matchMedia('(any-pointer:coarse)').matches) {\n // check for any-pointer:coarse which mostly means touchscreen\n setIsTouch(true);\n }\n else if (window.TouchEvent || 'ontouchstart' in window) {\n // last resort - check for exposed touch events API / event handler\n setIsTouch(true);\n }\n }\n }\n const getCurrentBreakpoint = () => {\n var _a;\n const documentWidth = window.innerWidth || ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.width);\n if (documentWidth == 0) {\n return;\n }\n const filtered = Object.keys(mediaQueries).filter((key) => mediaQueries[key] <= documentWidth);\n return mediaQueries[filtered[filtered.length - 1]];\n };\n useEffect(() => {\n if (firstRender.current) {\n // setBreakpoint(window.innerWidth);\n firstRender.current = false;\n detectTouchscreen();\n }\n }, []);\n useLayoutEffect(() => {\n const handleResize = throttle(() => {\n const currentBr = getCurrentBreakpoint();\n if (currentBr && currentBr !== breakpoint) {\n setBreakpoint(currentBr);\n }\n const currentHBr = getReflowValue();\n if (currentHBr && currentHBr !== breakpointHeight) {\n setBreakpointHeight(currentHBr);\n }\n }, 200);\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [breakpoint, breakpointHeight]);\n return {\n //@ts-ignore disable-next-line\n isTightMobile: breakpoint <= window.mqObj.xs,\n //@ts-ignore disable-next-line\n isMobile: breakpoint < window.mqObj.lg,\n //@ts-ignore disable-next-line\n isTablet: breakpoint >= window.mqObj.sm && breakpoint < window.mqObj.lg,\n //@ts-ignore disable-next-line\n isSmallDesktop: breakpoint >= window.mqObj.md,\n //@ts-ignore disable-next-line\n isDesktop: breakpoint >= window.mqObj.lg,\n //@ts-ignore disable-next-line\n isWideDesktop: breakpoint >= window.mqObj.xxl,\n isTouch: isTouch,\n isReflow: breakpointHeight < REFLOW_CAP,\n };\n};\nexport default useMediaQueries;\n","import React from 'react';\nimport Icon from '../icon/Icon';\nimport { useTranslation } from 'react-i18next';\nimport classNames from 'classnames';\nexport const ButtonNavigation = (props) => {\n const { t } = useTranslation();\n const labelMap = {\n next: t('carousel.nextslidemessage'),\n prev: t('carousel.prevslidemessage'),\n };\n const textMap = {\n next: t('label.next'),\n prev: t('label.prev'),\n };\n const iconMap = {\n next: 'right-chevron',\n prev: 'left-chevron',\n };\n return (React.createElement(\"button\", { className: `button button-navigation--${props.type} ${props.id}-navigation--${props.type}`, \"aria-label\": labelMap[props.type] }, props.isExtended ? (React.createElement(React.Fragment, null,\n props.type === 'prev' && '<',\n React.createElement(\"span\", null, textMap[props.type]),\n props.type === 'next' && '>')) : (React.createElement(React.Fragment, null,\n React.createElement(Icon, { name: iconMap[props.type], family: \"10\" })))));\n};\nconst CarouselNavigation = (props) => {\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: classNames(`navigation ${props.id}-navigation`, { inverted: props.inverted }, { opacityOnDisabled: props.opacityOnDisable }, { 'justify-end': props.right }) }, props === null || props === void 0 ? void 0 :\n props.prevContent,\n React.createElement(ButtonNavigation, { id: props.id, type: \"prev\", isExtended: props.isExtended }),\n React.createElement(ButtonNavigation, { id: props.id, type: \"next\", isExtended: props.isExtended }), props === null || props === void 0 ? void 0 :\n props.nextContent)));\n};\nCarouselNavigation.defaultProps = {\n opacityOnDisable: true,\n};\nexport default CarouselNavigation;\n","import React from 'react';\nconst Icon = (props) => {\n const icon = `${props.family}-${props.name}${props.inverted ? '-white' : ''}`;\n return React.createElement(\"span\", { \"aria-label\": props.ariaLabel, \"aria-hidden\": true, className: `icon icon--${icon} ${props.autoSize ? 'auto-size' : ''}` });\n};\nIcon.defaultProps = {\n family: '10',\n inverted: false,\n ariaHidden: false,\n};\nexport default Icon;\n","import Lazyimg from '@components/utils/Lazyimg';\nimport useMediaQueries from '@stone/hooks/useMediaQueries';\nimport React, { useMemo } from 'react';\nconst Image = (props) => {\n const { isMobile } = useMediaQueries();\n const args = useMemo(() => {\n return {\n src: isMobile && props.srcMobile ? props.srcMobile : props.src,\n alt: props.alt || '',\n className: props.className,\n };\n }, [props, isMobile]);\n return props.avoidLazy ? React.createElement(\"img\", Object.assign({ alt: args.alt }, args, { \"aria-hidden\": props.ariaHidden })) : React.createElement(Lazyimg, Object.assign({}, args, { ariaHidden: props.ariaHidden }));\n};\nexport default Image;\n"],"names":["props","src","srcset","className","draggable","alt","width","height","ariaHidden","dataSizes","videoRef","useRef","thronComponent","setThronComponent","useState","useEffect","current","changeContent","thronID","options","onPauseCallback","onPlayCallback","onCompleteCallback","onInitCallback","onTimeUpdate","loopTimes","newThronComponent","ref","thronMobileID","muted","autoplay","loop","lockBitrate","noskin","sessionId","threshold","isIntersecting","setIsIntersecting","observer","IntersectionObserver","entries","forEach","entry","observe","disconnect","t","useTranslation","isReduced","isMobile","isWideDesktop","useMediaQueries","timing","parseInt","activeData","setActiveData","playState","setPlayState","pushedAnalytics","setPushedAnalytics","autoplaying","setAutoplaying","remainingTime","setRemainingTime","clickFromButton","setClickFromButton","firstRender","mediaRef","swiperRef","intervalRef","containerRef","slidesArray","useMemo","JSON","parse","slides","isMediaPresent","image","imageMobile","thronIDMobile","spacing","col","parseOptions","decodeEntities","transform","node","_a","attribs","style","isActive","useCallback","slide","ID","handlePlay","index","_array","Object","assign","onSlideChange","length","activeSlide","scrollParallax","tl","gsap","to","parentNode","opacity","ScrollTrigger","id","trigger","start","end","pinSpacing","pin","animation","scrub","swiperProps","watchOverflow","slidesPerView","TIMER_MULTIPLIER","startTimer","setInterval","prev","Math","min","max","pauseAutoPlay","_b","pause","animating","clearInterval","params","delay","document","documentElement","setProperty","toString","map","includes","push","analytics","title_analytics","title","useLayoutEffect","parallax","el","kill","color","str","base","regex","RegExp","test","parseColor","overlay_color","transparency","parseTransparency","overlay_transparency","renderSlide","i","isFocusable","slideRef","parentElement","active","padStart","description","first_link_url","first_link_label","href","tabIndex","onClick","first_link_analytics","second_link_url","second_link_label","second_link_analytics","key","initial","animate","exit","transition","duration","ThronVideo","maxBitrate","Icon","family","name","inverted","autoSize","Image","path","srcMobile","overflowX","container","onSwiper","swiper","realIndex","setTimeout","focus","onPaginationRender","paginationEl","querySelectorAll","button","addEventListener","disableOnInteraction","pagination","clickable","type","renderBullet","replace","watchSlidesProgress","spaceBetween","navigation","nextEl","prevEl","isDuplicate","run","CarouselNavigation","paused","renderPagination","getReflowValue","documentHeight","window","innerHeight","visualViewport","mediaQueries","mqObj","breakpoint","setBreakpoint","documentWidth","innerWidth","filtered","keys","filter","getInitialBreakpointValue","breakpointHeight","setBreakpointHeight","isTouch","setIsTouch","PointerEvent","navigator","maxTouchPoints","matchMedia","matches","TouchEvent","handleResize","throttle","currentBr","getCurrentBreakpoint","currentHBr","removeEventListener","isTightMobile","xs","lg","isTablet","sm","isSmallDesktop","md","isDesktop","xxl","isReflow","ButtonNavigation","labelMap","next","textMap","isExtended","opacityOnDisabled","opacityOnDisable","right","prevContent","nextContent","defaultProps","icon","ariaLabel","args","avoidLazy"],"sourceRoot":""}