{"version":3,"file":"js/component-focuson.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/stone/src/components/common/FocusOn.tsx","webpack:///./assets/stone/src/hooks/useMediaQueries.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 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, useMemo, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport SwiperCore, { Navigation, A11y, Keyboard } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport '@stone/scss/components/focus-on/_focus-on.default.scss';\nSwiperCore.use([Keyboard, Navigation, A11y]);\nconst FocusOn = (props) => {\n    const { t } = useTranslation();\n    const [activeData, setActiveData] = useState(null);\n    const [activeIndex, setActiveIndex] = useState(0);\n    const isReduced = useReducedMotion();\n    const firstRender = useRef(true);\n    const swiperRef = useRef(null);\n    const [isPlaying, setIsPlaying] = useState(!isReduced);\n    const slidesArray = useMemo(() => JSON.parse(props.slides), [props.slides]);\n    const { isMobile, isTouch, isWideDesktop, isDesktop } = useMediaQueries();\n    const isCarousel = useMemo(() => slidesArray.length > 1 && (isMobile || (isTouch && !isWideDesktop)), [isMobile, isTouch, slidesArray]);\n    const isMediaPresent = useMemo(() => activeData && (activeData.image || activeData.imageMobile || activeData.thronID || activeData.thronIDMobile), [activeData]);\n    const isActive = useCallback((slide) => (activeData === null || activeData === void 0 ? void 0 : activeData.ID) === slide.ID, [activeData]);\n    const isFocusable = useCallback((i) => (!isDesktop ? i === activeIndex : i < activeIndex + 3), [activeIndex, isDesktop]);\n    const onSlideChange = useCallback((index) => {\n        const currentSlide = slidesArray[index];\n        if (slidesArray.length && activeData !== currentSlide) {\n            setActiveData(currentSlide);\n            setActiveIndex(index);\n            setIsPlaying(!isReduced);\n        }\n    }, [slidesArray, activeData]);\n    useEffect(() => {\n        if (firstRender.current && slidesArray.length && !isCarousel) {\n            setActiveData(slidesArray[0]);\n            firstRender.current = false;\n        }\n    }, [isCarousel]);\n    const swiperProps = {\n        // watchOverflow: true,\n        slidesPerView: 'auto',\n        watchSlidesProgress: true,\n        spaceBetween: 12,\n        navigation: {\n            prevEl: '.focus-navigation--prev',\n            nextEl: '.focus-navigation--next',\n        },\n    };\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, { className: \"focus-on__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: !isReduced, thronID: activeData.thronID, thronMobileID: activeData.thronIDMobile, lockBitrate: activeData === null || activeData === void 0 ? void 0 : activeData.maxBitrate }),\n                    React.createElement(\"div\", { className: \"btn--container\" },\n                        React.createElement(\"button\", { id: \"focus-on-video-button\", className: \"visually-hidden\", \"data-pause\": true, \"aria-pressed\": \"false\", onClick: () => setIsPlaying(!isPlaying), \"aria-hidden\": \"true\", tabIndex: -1 })))) : ((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: (activeData === null || activeData === void 0 ? void 0 : activeData.altImage) || activeData.title })))))));\n    };\n    const renderNavigation = () => (React.createElement(\"div\", { className: \"navigation container\" },\n        React.createElement(\"button\", { className: \"button focus-navigation--prev\", \"aria-label\": t('carousel.prevslidemessage') },\n            React.createElement(Icon, { name: \"left-chevron\", family: \"10\" })),\n        React.createElement(\"button\", { className: \"button focus-navigation--next\", \"aria-label\": t('carousel.nextslidemessage') },\n            React.createElement(Icon, { name: \"right-chevron\", family: \"10\" }))));\n    const renderSlide = (slide, i, isFocusable) => (React.createElement(\"div\", { className: classNames('focus-on__slide', { active: isActive(slide) }), onMouseEnter: !isCarousel ? () => onSlideChange(i) : () => { }, \"aria-hidden\": !isFocusable },\n        React.createElement(\"div\", null,\n            React.createElement(\"p\", { className: \"focus-on__slide-index font__cta\" },\n                !isCarousel && React.createElement(Icon, { name: \"open\", family: \"10\", autoSize: true }),\n                \" \",\n                (i + 1).toString().padStart(3, '0')),\n            React.createElement(\"div\", { className: \"focus-on__slide-title\" },\n                React.createElement(\"h3\", { className: isActive(slide) ? 'font__title' : 'font__cta' }, slide.title))),\n        React.createElement(\"a\", { href: slide === null || slide === void 0 ? void 0 : slide.link_url, className: \"button button--tertiary inverted\", onFocus: () => onSlideChange(i), tabIndex: isFocusable ? 0 : -1 },\n            React.createElement(\"span\", null, slide === null || slide === void 0 ? void 0 : slide.link_label)),\n        slide.thronID ||\n            (slide.thronIDMobile && (React.createElement(\"div\", { className: \"focus-on__slide-playbutton\" },\n                React.createElement(\"button\", { className: classNames('btn--pause button button--quaternary inverted', { 'not-carousel': !isCarousel }), \"aria-label\": t('button.pause'), onFocus: () => onSlideChange(i), onClick: () => {\n                        const button = document.querySelector('button#focus-on-video-button');\n                        button.click();\n                    }, tabIndex: isFocusable ? 0 : -1 },\n                    React.createElement(Icon, { family: \"16\", name: isPlaying ? 'pause' : 'play', inverted: true, autoSize: true }),\n                    React.createElement(\"span\", null, isPlaying ? t('button.pause') : t('button.play'))))))));\n    const renderCarousel = () => {\n        return (React.createElement(React.Fragment, null,\n            React.createElement(Swiper, Object.assign({ onInit: (swiper) => {\n                    swiperRef.current = swiper;\n                    onSlideChange(swiper.activeIndex);\n                }, onSlideChange: (swiper) => {\n                    swiperRef.current.el.style.setProperty('--swiper-translation', (swiper.translate * -1).toString() + 'px');\n                    onSlideChange(swiper.activeIndex);\n                } }, swiperProps), slidesArray.length && slidesArray.map((slide, i) => React.createElement(SwiperSlide, { key: `carousel-slide-${i}` }, ({ isVisible }) => renderSlide(slide, i, isVisible))))));\n    };\n    const renderGrid = () => (React.createElement(\"div\", { className: \"row focus-on__grid\" }, slidesArray.length &&\n        slidesArray.map((slide, i) => (React.createElement(\"div\", { className: \"col-lg-6 col-xxl-4\", key: `column-slide-${i}` }, renderSlide(slide, i, true))))));\n    return (React.createElement(React.Fragment, null,\n        renderMedia(),\n        React.createElement(\"div\", { className: \"focus-on__content--wrapper\" },\n            React.createElement(\"div\", { className: \"focus-on__content container\" },\n                React.createElement(\"h2\", { className: \"font__title focus-on__title\" }, props.title),\n                isCarousel ? renderCarousel() : renderGrid(),\n                isCarousel && renderNavigation()))));\n};\nexport default FocusOn;\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({ '<xs': 0 }, window.mqObj);\nconst useMediaQueries = () => {\n    const [breakpoint, setBreakpoint] = useState(getInitialBreakpointValue());\n    const [breakpointHeight, setBreakpointHeight] = useState(getReflowValue());\n    const [isTouch, setIsTouch] = useState(false);\n    // const [isMotionReduced, setIsMotionReduced] = useState<boolean>(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';\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","t","activeData","setActiveData","activeIndex","setActiveIndex","isReduced","firstRender","swiperRef","isPlaying","setIsPlaying","slidesArray","useMemo","JSON","parse","slides","isMobile","isTouch","isWideDesktop","isDesktop","isCarousel","length","isMediaPresent","image","imageMobile","thronIDMobile","isActive","useCallback","slide","ID","onSlideChange","i","index","currentSlide","swiperProps","slidesPerView","watchSlidesProgress","spaceBetween","navigation","prevEl","nextEl","renderSlide","isFocusable","active","onMouseEnter","name","family","autoSize","toString","padStart","title","href","link_url","onFocus","tabIndex","link_label","onClick","document","querySelector","click","inverted","key","initial","opacity","animate","exit","transition","duration","maxBitrate","id","_a","path","srcMobile","_b","altImage","Object","assign","onInit","swiper","el","style","setProperty","translate","map","isVisible","getReflowValue","documentHeight","window","innerHeight","visualViewport","mediaQueries","mqObj","breakpoint","setBreakpoint","documentWidth","innerWidth","filtered","keys","filter","getInitialBreakpointValue","breakpointHeight","setBreakpointHeight","setIsTouch","PointerEvent","navigator","maxTouchPoints","matchMedia","matches","TouchEvent","useLayoutEffect","handleResize","throttle","currentBr","getCurrentBreakpoint","currentHBr","addEventListener","removeEventListener","isTightMobile","xs","lg","isTablet","sm","isSmallDesktop","md","xxl","isReflow","Icon","icon","ariaLabel","defaultProps","args","avoidLazy"],"sourceRoot":""}