{"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({ ' {\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';\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":""}