{"version":3,"file":"static/chunks/8568.005ff3b3adac05a7.js","mappings":"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","sources":["webpack://_N_E/./components/CookieOverlay/CookieOverlay.js","webpack://_N_E/./components/CookieOverlay/index.js","webpack://_N_E/./components/ImageCaption/ImageCaption.js","webpack://_N_E/./components/ImageCaption/index.js","webpack://_N_E/./components/VideoSegment/VideoSegment.js","webpack://_N_E/./components/VideoSegment/index.js","webpack://_N_E/./components/CookieOverlay/CookieOverlay.module.scss","webpack://_N_E/./components/ImageCaption/ImageCaption.module.scss","webpack://_N_E/./components/VideoSegment/VideoSegment.module.scss"],"sourcesContent":["import PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport styles from './CookieOverlay.module.scss';\nimport Button from '../Button';\n\nconst CookieOverlay = ({\n    text,\n    buttonText,\n    modifiers = [],\n    handleClick,\n    icon,\n}) => {\n    const classes = classNames(\n        styles['CookieOverlay'],\n        modifiers.map((modifier) => styles[`CookieOverlay--${modifier}`])\n    );\n\n    return (\n        <div className={classes}>\n            <p\n                className={styles['CookieOverlay__Text']}\n                dangerouslySetInnerHTML={{ __html: text }}\n            />\n            <Button\n                type=\"Primary\"\n                onClick={handleClick}\n                text={buttonText}\n                icon={icon}\n            />\n        </div>\n    );\n};\n\nCookieOverlay.propTypes = {\n    text: PropTypes.string,\n    buttonText: PropTypes.string,\n    modifiers: PropTypes.arrayOf(PropTypes.string),\n    handleClick: PropTypes.func,\n    icon: PropTypes.string,\n};\n\nCookieOverlay.defaultProps = {};\n\nexport default CookieOverlay;\n","import CookieOverlay from './CookieOverlay';\n\nexport default CookieOverlay;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useTranslation } from 'next-i18next';\nimport styles from './ImageCaption.module.scss';\n\nconst ImageCaption = ({\n    id = 'image-0',\n    caption = '',\n    title = '',\n    credits = '',\n    modifiers = [],\n}) => {\n    const { t } = useTranslation('common');\n    const [isOpen, setIsOpen] = useState(false);\n    const toggleOpen = (e) => {\n        e.stopPropagation();\n        setIsOpen(!isOpen);\n    };\n\n    // Prevent unintentional image focus on Safari\n    // on button click\n    const onMouseDown = (e) => {\n        e.preventDefault();\n    };\n\n    const classes = classNames(\n        styles['ImageCaption'],\n        { [styles['ImageCaption--Open']]: isOpen },\n        modifiers\n    );\n\n    return (\n        <div className={classes}>\n            <div id={id} className={styles['ImageCaption__Wrap']}>\n                {title && (\n                    <div className={styles['ImageCaption__Title']}>{title}</div>\n                )}\n                {caption && (\n                    <div className={styles['ImageCaption__Caption']}>\n                        {caption}\n                    </div>\n                )}\n                {credits && (\n                    <div className={styles['ImageCaption__Credits']}>\n                        {t('imageCaption.photo')} {credits}\n                    </div>\n                )}\n            </div>\n            <button\n                aria-controls={id}\n                aria-expanded={isOpen}\n                className={styles['ImageCaption__Button']}\n                onClick={toggleOpen}\n                onMouseDown={onMouseDown}>\n                <span className=\"sr-only\">\n                    {isOpen ? t('imageCaption.close') : t('imageCaption.open')}\n                </span>\n                {!isOpen && (\n                    <span\n                        className={styles['ImageCaption__Icon']}\n                        aria-hidden={true}>\n                        i\n                    </span>\n                )}\n            </button>\n        </div>\n    );\n};\n\nImageCaption.propTypes = {\n    title: PropTypes.string,\n    caption: PropTypes.node,\n    credits: PropTypes.node,\n    modifiers: PropTypes.array,\n    id: PropTypes.string,\n};\n\nexport default ImageCaption;\n","import ImageCaption from './ImageCaption';\n\nexport default ImageCaption;\n","import React, { useState, useRef, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport Vimeo from '@u-wave/react-vimeo';\nimport YouTube from '@u-wave/react-youtube';\nimport BackgroundImage from '../BackgroundImage';\nimport Button from '../Button';\nimport CookieOverlay from '../CookieOverlay';\nimport ImageCaption from '../ImageCaption';\n\nimport { useTranslation } from 'next-i18next';\nimport classNames from 'classnames';\nimport { searchToObj } from '../../utils/url';\nimport throttle from 'lodash.throttle';\nimport { serializeImage } from '../../utils/SerializeImage';\nimport { CookieStateContext } from '../../containers/BasePage/state';\n\nimport styles from './VideoSegment.module.scss';\n\nconst isYoutubeVideoUrl = (url) =>\n    url.indexOf('youtube.com') > -1 || url.indexOf('youtu.be') > -1;\n\nconst isVimeoVideoUrl = (url) => url.indexOf('vimeo.com') > -1;\n\n// react-vimeo supports ids OR urls directly, for react-youtube,\n// we have to parse the url (youtube.com/youtu.be) ourselves\n\nconst parseYoutubeVideoId = (url) => {\n    let videoId = null;\n\n    if (url.indexOf('youtu.be') > -1) {\n        let l = document.createElement('a');\n        l.href = url;\n\n        videoId = l.pathname.slice(1, l.pathname.length);\n    } else if (url.indexOf('youtube.com') > -1) {\n        const searchString = url.split('?')[1];\n        const search = searchToObj(searchString);\n\n        videoId = search && search.v ? search.v : null;\n    }\n\n    return videoId;\n};\n\nconst VideoSegment = ({\n    heading,\n    description,\n    overlayImage,\n    videoUrl,\n    withTypeStyle,\n}) => {\n    const { t } = useTranslation('common');\n    let waitingForPlayer = useRef(null);\n    let noOfTries = useRef(0);\n\n    const videoPlayer = useRef(null);\n    const [imageLoaded, setImageLoaded] = useState(false);\n\n    const [videoInited, setVideoInited] = useState(false);\n    const [videoError, setVideoError] = useState({\n        hasError: false,\n        message: '',\n    });\n\n    const [playVideoWithoutCookieConsent, setPlayVideoWithoutCookieConsent] =\n        useState(false);\n    const { state } = useContext(CookieStateContext) || {};\n    const cookieConsent = state?.categories?.includes('targeting');\n\n    const sizes = '(max-width: 768px) 100vw, 1980px';\n\n    let videoType = useRef('');\n    useEffect(() => {\n        if (isYoutubeVideoUrl(videoUrl)) {\n            videoType.current = 'youtube';\n        } else if (isVimeoVideoUrl(videoUrl)) {\n            videoType.current = 'vimeo';\n        } else {\n            setError(\n                `Unknown provider in video url \"${videoUrl}\". Only urls YouTube and Vimeo url's beginning with \"youtube.com\" and \"vimeo.com\" are supported`\n            );\n        }\n    }, [videoUrl]);\n\n    const handleImageLoaded = () => setImageLoaded(true);\n\n    const setError = (message) =>\n        setVideoError({\n            hasError: true,\n            message,\n        });\n\n    const handlePlayVideoClick = throttle(\n        () => {\n            // hide heading, desc, button + overlay & show player iframe\n            setVideoInited(true);\n\n            if (videoError.hasError) {\n                return;\n            }\n\n            // check if player obj is available\n            // necessary as the vimeo player obj is loaded\n            // after the play click (whereas the youtube player obj is loaded on page load)\n            if (\n                !videoPlayer.current ||\n                typeof videoPlayer.current.play === 'undefined'\n            ) {\n                if (!waitingForPlayer.current) {\n                    if (++noOfTries.current > 10) {\n                        setError('Unknown error - could not load player');\n                        return;\n                    }\n\n                    console.warn(\n                        'VideoSegment: can not play video - player not ready! Retrying in 500ms'\n                    );\n\n                    handlePlayVideoClick();\n                }\n\n                return;\n            }\n\n            // actually start playing\n            videoPlayer.current.play();\n        },\n        500,\n        { leading: true }\n    );\n\n    const handleVimeoPlayerReady = (playerControls) => {\n        videoPlayer.current = playerControls;\n    };\n\n    const handleYoutubePlayerReady = (event) => {\n        // \"normalize\" the api to match the vimeo player\n        videoPlayer.current = {\n            play: () => event.target.playVideo(),\n        };\n    };\n\n    const serializedImage = overlayImage?.image?.file\n        ? serializeImage(overlayImage.image)\n        : null;\n\n    let shouldShowCaption = false;\n    if (serializeImage) {\n        shouldShowCaption = serializedImage?.title || serializedImage?.credits;\n    }\n\n    const image = overlayImage?.image ? overlayImage.image : null;\n\n    const containerClasses = classNames(styles['VideoSegment__Container'], {\n        [styles['VideoSegment__Container--ImageLoaded']]: serializedImage\n            ? imageLoaded\n            : true,\n    });\n\n    const videoClasses = classNames(styles['VideoSegment__Video'], {\n        [styles['VideoSegment__Video--Playing']]: serializedImage\n            ? videoInited\n            : true,\n    });\n\n    if (!videoUrl) {\n        return null;\n    }\n\n    const classes = classNames(styles['VideoSegment'], {\n        [styles[`VideoSegment--${withTypeStyle}`]]: withTypeStyle,\n    });\n\n    return (\n        <div className={classes}>\n            <div className={containerClasses}>\n                {!videoInited && (\n                    <>\n                        <div\n                            className={\n                                styles['VideoSegment__ImageOverlay']\n                            }></div>\n                        <BackgroundImage\n                            loadedCallback={handleImageLoaded}\n                            quality={95}\n                            sizes={sizes}\n                            {...serializedImage}\n                        />\n                    </>\n                )}\n\n                <div className={videoClasses}>\n                    {!videoError.hasError && (\n                        <>\n                            {(cookieConsent || playVideoWithoutCookieConsent) &&\n                                videoType.current === 'youtube' && (\n                                    <YouTube\n                                        video={parseYoutubeVideoId(videoUrl)}\n                                        onReady={handleYoutubePlayerReady}\n                                        width=\"100%\"\n                                        height=\"100%\"\n                                        modestBranding={true}\n                                        autoplay={false}\n                                        showRelatedVideos={false}\n                                        showInfo={false}\n                                        volume={0.3}\n                                    />\n                                )}\n\n                            {videoType.current === 'vimeo' && (\n                                <Vimeo\n                                    video={videoUrl}\n                                    onReady={handleVimeoPlayerReady}\n                                    responsive={true}\n                                    background={false}\n                                    showTitle={false}\n                                    showByline={false}\n                                    volume={0.3}\n                                    autoplay={false}\n                                    controls={true}\n                                    dnt={!cookieConsent}\n                                />\n                            )}\n                        </>\n                    )}\n\n                    {videoError.hasError && (\n                        <div className={styles['VideoSegment__Video__Error']}>\n                            {videoError.message}\n                        </div>\n                    )}\n                </div>\n\n                {!(cookieConsent || playVideoWithoutCookieConsent) &&\n                    videoType.current === 'youtube' && (\n                        <CookieOverlay\n                            text={t('videosegment.cookieText')}\n                            buttonText={t('videosegment.cookieButton')}\n                            modifiers={['VideoSegment']}\n                            handleClick={() => {\n                                setPlayVideoWithoutCookieConsent(true);\n                                handlePlayVideoClick();\n                            }}\n                            icon={'Play'}\n                        />\n                    )}\n\n                {!videoInited &&\n                    (cookieConsent ||\n                        playVideoWithoutCookieConsent ||\n                        videoType.current === 'vimeo') && (\n                        <div className={styles['VideoSegment__Content']}>\n                            {heading && (\n                                <h3\n                                    className={\n                                        styles['VideoSegment__Content__Heading']\n                                    }>\n                                    {heading}\n                                </h3>\n                            )}\n\n                            {description && (\n                                <p\n                                    className={\n                                        styles[\n                                            'VideoSegment__Content__Description'\n                                        ]\n                                    }>\n                                    {description}\n                                </p>\n                            )}\n\n                            <Button\n                                type=\"Primary\"\n                                onClick={handlePlayVideoClick}\n                                text={t('videosegment.playvideo')}\n                                icon=\"Play\"\n                            />\n                        </div>\n                    )}\n\n                {shouldShowCaption && (\n                    <ImageCaption\n                        id={`image-${image.id}`}\n                        credits={image.credits}\n                        caption={image.caption}\n                        title={image.title}\n                    />\n                )}\n            </div>\n        </div>\n    );\n};\n\nVideoSegment.propTypes = {\n    heading: PropTypes.string,\n    description: PropTypes.string,\n    videoUrl: PropTypes.string.isRequired,\n    overlayImage: PropTypes.shape({\n        image: PropTypes.shape({\n            title: PropTypes.string,\n            credits: PropTypes.string,\n            caption: PropTypes.string,\n            id: PropTypes.number,\n            src: PropTypes.string,\n        }),\n    }),\n    withTypeStyle: PropTypes.string,\n};\n\nVideoSegment.defaultProps = {\n    heading: '',\n    description: '',\n    videoUrl: '',\n    image: null,\n    withTypeStyle: 'Regular',\n};\n\nexport default VideoSegment;\n","import VideoSegment from './VideoSegment';\n\nexport default VideoSegment;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CookieOverlay\":\"CookieOverlay_CookieOverlay__IOd5K\",\"CookieOverlay--Map\":\"CookieOverlay_CookieOverlay--Map__eDiam\",\"CookieOverlay--VideoSegment\":\"CookieOverlay_CookieOverlay--VideoSegment__j_A7v\",\"CookieOverlay__Text\":\"CookieOverlay_CookieOverlay__Text__b0dqw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ImageCaption__Button\":\"ImageCaption_ImageCaption__Button__UWAW7\",\"ImageCaption__Title\":\"ImageCaption_ImageCaption__Title__2aFHN\",\"ImageCaption__Credits\":\"ImageCaption_ImageCaption__Credits__L_uFL\",\"ImageCaption__Caption\":\"ImageCaption_ImageCaption__Caption__3XnAB\",\"ImageCaption\":\"ImageCaption_ImageCaption__ROmCo\",\"ImageCaption--Open\":\"ImageCaption_ImageCaption--Open__IZHgb\",\"ImageCaption__Wrap\":\"ImageCaption_ImageCaption__Wrap__Lf_FH\",\"ImageCaption__Icon\":\"ImageCaption_ImageCaption__Icon__upX00\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"VideoSegment--Campaign\":\"VideoSegment_VideoSegment--Campaign__EacBl\",\"VideoSegment--Regular\":\"VideoSegment_VideoSegment--Regular__nynUV\",\"VideoSegment__Content__Heading\":\"VideoSegment_VideoSegment__Content__Heading__OxtHH\",\"VideoSegment__Content__Description\":\"VideoSegment_VideoSegment__Content__Description__pn6_d\",\"VideoSegment__Container\":\"VideoSegment_VideoSegment__Container__Gq9If\",\"VideoSegment__Container--ImageLoaded\":\"VideoSegment_VideoSegment__Container--ImageLoaded__dSd4W\",\"VideoSegment__ImageOverlay\":\"VideoSegment_VideoSegment__ImageOverlay__MKug2\",\"VideoSegment__Video\":\"VideoSegment_VideoSegment__Video__MFBWg\",\"VideoSegment__Video--Playing\":\"VideoSegment_VideoSegment__Video--Playing__CXZaI\",\"VideoSegment__Video__Error\":\"VideoSegment_VideoSegment__Video__Error__Iek0F\",\"VideoSegment__Content\":\"VideoSegment_VideoSegment__Content__K8Qc9\"};"],"names":["CookieOverlay","text","buttonText","modifiers","handleClick","icon","param","classes","classNames","styles","map","concat","modifier","jsx_runtime","jsxs","div","className","jsx","p","dangerouslySetInnerHTML","__html","Button","type","onClick","propTypes","PropTypes","defaultProps","components_CookieOverlay","ImageCaption","id","caption","title","credits","t","useTranslation","isOpen","setIsOpen","useState","button","aria-controls","aria-expanded","e","stopPropagation","onMouseDown","preventDefault","span","aria-hidden","components_ImageCaption","isYoutubeVideoUrl","url","indexOf","isVimeoVideoUrl","parseYoutubeVideoId","videoId","l","document","createElement","href","pathname","slice","length","searchString","split","search","searchToObj","v","VideoSegment","state","overlayImage","heading","description","videoUrl","withTypeStyle","waitingForPlayer","useRef","noOfTries","videoPlayer","imageLoaded","setImageLoaded","videoInited","setVideoInited","videoError","setVideoError","hasError","message","playVideoWithoutCookieConsent","setPlayVideoWithoutCookieConsent","useContext","CookieStateContext","cookieConsent","categories","includes","videoType","useEffect","current","setError","handlePlayVideoClick","throttle","play","console","warn","leading","serializedImage","image","file","serializeImage","shouldShowCaption","containerClasses","videoClasses","Fragment","BackgroundImage","loadedCallback","quality","sizes","YouTube","video","onReady","event","target","playVideo","width","height","modestBranding","autoplay","showRelatedVideos","showInfo","volume","Vimeo","playerControls","responsive","background","showTitle","showByline","controls","dnt","h3","isRequired","src","components_VideoSegment","module","exports"],"sourceRoot":""}