{"version":3,"sources":["webpack:///./src/Frontend/app/components/wrapper-link/wrapper-link.tsx","webpack:///./src/Frontend/vendor/glueframelib.js","webpack:///./src/Frontend/app/components/video-player/video-player.tsx","webpack:///./src/Frontend/app/types/alignment.ts","webpack:///./src/Frontend/app/components/image-text-cta-slider/image-text-cta-slider-item/image-text-cta-slider-item.tsx","webpack:///./src/Frontend/app/components/image-text-cta-slider/image-text-cta-slider.tsx","webpack:///./src/Frontend/app/views/image-text-cta-slider/image-text-cta-slider-view.tsx","webpack:///./node_modules/classnames/index.js","webpack:///./src/Frontend/app/components/icons/icon.tsx","webpack:///./src/Frontend/app/components/anchor/anchor.tsx","webpack:///./src/Frontend/app/components/content-section/content-section.tsx","webpack:///./src/Frontend/app/components/cta-button/cta-button.tsx","webpack:///./src/Frontend/app/components/arrow-link/arrow-link.tsx","webpack:///./src/Frontend/app/utils/image-utils.ts","webpack:///./src/Frontend/app/components/responsive-image/responsive-image.tsx","webpack:///./src/Frontend/app/components/title/title.tsx","webpack:///./src/Frontend/app/types/theme-color.ts"],"names":["linkClassName","href","target","props","className","children","GlueFrame","iframe","appName","$this","this","glueframe","_domain","src","split","slice","join","_method","window","location","postMessage","ready","_readyInterval","setInterval","get","bootstrapped","clearInterval","_processQueue","contentWindow","glueFrameId","Math","floor","Date","getTime","random","_callbackCount","_callbacks","_registerCallback","callback","requireCallback","callbackIdentifier","_queue","_addToQueue","method","args","push","i","length","queueItem","apply","set","prop","force","cbId","value","messageObject","f","JSON","stringify","val","bind","event","triggerQueue","fire","obj","destroy","addEventListener","removeEventListener","_receiveMessage","detachEvent","e","origin","data","parse","a","b","attachEvent","url","autoPlay","autoMute","hideNativePlayBtn","loop","playerId","setDuration","setIsPlaying","isPlaying","isVideoLoaded","setIsVideoLoaded","player","current","duration","splitter","includes","hostName","videoId","videoTokenId","domain","video","componentClasses","baseClass","loading","ref","scrolling","frameBorder","allow","allowFullScreen","HorizontalAlignmentType","VerticalAlignmentType","imageSrc","imageAltText","imageLinkUrl","imageLinkTarget","isTitleH1","title","richText","ctaLink","showCtaAsLink","horizontalAlignContent","CENTER","textAlignContent","bgColor","textColor","BLACK","ctaBgColor","ctaTextColor","WHITE","videoUrl","index","activeSlideIndex","wasActiveSlideIndex","playing","setPlaying","hasContent","contentClasses","buttonClasses","arrowLinkClasses","defaultSize","srcSetSizes","sizes","alt","srcUrl","dangerouslySetInnerHTML","__html","link","isLarge","slides","autoslide","autoslideSpeed","fade","beforeChangeCurrentSlide","setBeforeChangeCurrentSlide","afterChangeCurrentSlide","setAfterChangeCurrentSlide","setActiveSlideIndex","undefined","navigationColor","sliderSettings","slidesToScroll","slidesToShow","infinite","autoplay","autoplaySpeed","speed","focusOnSelect","pauseOnHover","arrows","dots","dotsClass","beforeChange","next","afterChange","customPaging","type","width","height","strokeWidth","fill","r","cx","cy","map","slide","key","render","contextModel","hasOwn","hasOwnProperty","classNames","classes","arguments","arg","argType","Array","isArray","inner","call","module","exports","default","spriteUrl","viewBox","iconId","preserveAspectRatio","onClick","xmlnsXlink","xlinkHref","id","anchorId","hasNoMarginTop","hasNoMarginBottom","isInverted","isSecondary","getQueryParamDelimiter","indexOf","hasExistingQueryParam","generateSrcSet","srcSetSize","parameterDelimiter","srcSetSizeHighDensity","round","generateColumnImageProps","maxColumns","isFullWidth","gridMaxWidthFactor","ResponsiveImage","srcSet","linkHref","linkTarget","titleHtml","ThemeColorType"],"mappings":"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","file":"15.2d9ca1663c457a941e45.js","sourcesContent":["import * as React from \"react\";\r\n\r\nexport interface WrapperLinkProps {\r\n    linkClassName?: string;\r\n    href: string | undefined;\r\n    target?: string;\r\n}\r\n\r\nconst WrapperLink: React.FC<WrapperLinkProps> = ({ linkClassName, href, target, ...props }) => {\r\n    if (href) {\r\n        return (\r\n            <a className={linkClassName} href={href} target={target}>\r\n                {props.children}\r\n            </a>\r\n        );\r\n    }\r\n\r\n    return <>{props.children}</>;\r\n};\r\n\r\nexport default WrapperLink;\r\n","var GlueFrame = function(iframe, appName) {\r\n\r\n    var $this = this;\r\n\r\n    // GlueFrame version\r\n    $this.glueframe = \"1.1.3\";\r\n\r\n    // Allow posting messages only to the domain of the app\r\n    var _domain = (\"\"+iframe.src).split(\"/\").slice(0,3).join(\"/\");\r\n\r\n    // Determine method of communication with iframe\r\n    var _method = (function() {\r\n        if (_domain == (\"\"+window.location).split(\"/\").slice(0,3).join(\"/\") ) {\r\n            return \"object\";\r\n        } else if (typeof window.postMessage !== \"undefined\") {\r\n            return \"post\";\r\n        } else {\r\n            return \"none\";\r\n        }\r\n    })();\r\n\r\n    // Poll the iframe until the app is bootstrapped\r\n    $this.ready = false;\r\n    var _readyInterval = window.setInterval(function(){\r\n        if (!this.ready && _method === \"object\") {\r\n            if (iframe.contentWindow[appName] && iframe.contentWindow[appName].bootstrapped) {\r\n                $this.ready = true;\r\n                window.clearInterval(_readyInterval);\r\n                _processQueue();\r\n            }\r\n        } else if (!this.ready && _method === \"post\") {\r\n            $this.get(\"bootstrapped\", function(bootstrapped){\r\n                if (bootstrapped) {\r\n                    $this.ready = true;\r\n                    window.clearInterval(_readyInterval);\r\n                    _processQueue();\r\n                }\r\n            }, true);\r\n        }\r\n    }, 100);\r\n\r\n    $this.glueFrameId = Math.floor((new Date()).getTime()*Math.random());\r\n    var _callbackCount = 0;\r\n    var _callbacks = {};\r\n\r\n    // Store callback functions in the parent window\r\n    var _registerCallback = function(callback, requireCallback) {\r\n        var callbackIdentifier = $this.glueFrameId + \"_\" + (++_callbackCount);\r\n        if (typeof callback === \"function\") {\r\n            _callbacks[callbackIdentifier] = callback;\r\n        } else if (requireCallback) {\r\n            throw \"GlueFrame: Callback not registered correctly.\";\r\n        }\r\n        return callbackIdentifier;\r\n    };\r\n\r\n    // Queue up method calls until app is ready\r\n    var _queue = [];\r\n    var _addToQueue = function(method, args) {\r\n        _queue.push({method: method, args: args});\r\n    };\r\n\r\n    // Loop through queue when app is ready\r\n    var _processQueue = function() {\r\n        for (var i = 0; i < _queue.length; i += 1) {\r\n            var queueItem = _queue[i];\r\n            queueItem.method.apply(null, queueItem.args);\r\n        }\r\n        _queue = [];\r\n        $this.set(\"queuedEventsProcessed\", true);\r\n    };\r\n\r\n    $this.get = function(prop, callback, force) {\r\n        if (!$this.ready && !force) {\r\n            _addToQueue($this.get, [prop, callback]);\r\n            return;\r\n        }\r\n        var cbId = _registerCallback(callback, true);\r\n        if (_method === \"object\") {\r\n            var value = iframe.contentWindow[appName].get.apply(null, [prop]);\r\n            if (typeof _callbacks[cbId] !== \"undefined\") {\r\n                _callbacks[cbId].apply(null, [value]);\r\n            }\r\n        } else if (_method === \"post\") {\r\n            var messageObject = {f: \"get\", args: [prop], cbId: cbId};\r\n            iframe.contentWindow.postMessage( JSON.stringify(messageObject), force ? \"*\" : _domain );\r\n        }\r\n    };\r\n\r\n    $this.set = function(prop, val, callback) {\r\n        if (!$this.ready) {\r\n            _addToQueue($this.set, [prop, val, callback]);\r\n            return;\r\n        }\r\n        var cbId = _registerCallback(callback, false);\r\n        if (_method === \"object\") {\r\n            var value = iframe.contentWindow[appName].set.apply(null, [prop, val]);\r\n            if (typeof _callbacks[cbId] !== \"undefined\") {\r\n                _callbacks[cbId].apply(null, [value]);\r\n            }\r\n        } else if (_method === \"post\") {\r\n            var messageObject = {f: \"set\", args: [prop, val], cbId: cbId};\r\n            iframe.contentWindow.postMessage( JSON.stringify(messageObject), _domain );\r\n        }\r\n    };\r\n\r\n    $this.bind = function(event, callback, triggerQueue) {\r\n        var triggerQueue = triggerQueue || false;\r\n        if (!$this.ready) {\r\n            _addToQueue($this.bind, [event, callback, true]);\r\n            return;\r\n        }\r\n        var cbId = _registerCallback(callback, true);\r\n        if (_method === \"object\") {\r\n            iframe.contentWindow[appName].bind.apply(null, [event, callback, triggerQueue]);\r\n        } else if (_method === \"post\") {\r\n            var messageObject = {f: \"bind\", args: [event], cbId: cbId, triggerQueue: triggerQueue};\r\n            iframe.contentWindow.postMessage( JSON.stringify(messageObject), _domain );\r\n        }\r\n    };\r\n\r\n    $this.fire = function(event, obj) {\r\n        if (!$this.ready) {\r\n            _addToQueue($this.fire, [event, obj]);\r\n            return;\r\n        }\r\n        if (_method === \"object\") {\r\n            return iframe.contentWindow[appName].fire.apply(null, [event, obj]);\r\n        } else if (_method === \"post\") {\r\n            var messageObject = {f: \"fire\", args: [event, obj]};\r\n            iframe.contentWindow.postMessage( JSON.stringify(messageObject), _domain );\r\n        }\r\n    };\r\n\r\n    // Remove event listeners, callbacks and intervals\r\n    $this.destroy = function(){\r\n        if (window.addEventListener) {\r\n            window.removeEventListener(\"message\", _receiveMessage, false);\r\n        } else {\r\n            window.detachEvent(\"onmessage\", _receiveMessage);\r\n        }\r\n        window.clearInterval(_readyInterval);\r\n        _callbacks = {};\r\n    };\r\n\r\n    // Parse messages received from iframe\r\n    var _receiveMessage = function(e) {\r\n    \tif (e.origin === _domain) {\r\n            var data;\r\n            try {\r\n                data = JSON.parse(e.data);\r\n            }catch(e){}\r\n            if (typeof data !== \"undefined\" && typeof data.cbId !== \"undefined\" && typeof _callbacks[data.cbId] === \"function\") {\r\n                _callbacks[data.cbId].apply(null, [data.a, data.b]);\r\n            }\r\n        }\r\n    };\r\n\r\n    // Listen for message events if need\r\n    if (window.addEventListener) {\r\n        window.addEventListener(\"message\", _receiveMessage, false);\r\n    } else {\r\n        window.attachEvent(\"onmessage\", _receiveMessage);\r\n    }\r\n\r\n};\r\n\r\n// Converted to es6 module. This should not be an issue in terms of maintainability since the library has not not been updated since April 2017...\r\n// Should any updates be made to the repository (https://github.com/23/GlueFrame), please make sure to include the proper export syntax as below.\r\n\r\n// Original:\r\n    // if(typeof(window.onGlueFrameAvailable)=='function') window.onGlueFrameAvailable(GlueFrame);\r\n\r\n    // if (typeof module !== 'undefined' && module.exports) {\r\n    //     module.exports = GlueFrame;\r\n    // }\r\n\r\n// New:\r\nexport default GlueFrame\r\n\r\n","import classNames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport GlueFrame from \"../../../vendor/glueframelib\";\r\n\r\nexport interface VideoPlayerProps {\r\n    url: string;\r\n    autoPlay?: boolean;\r\n    autoMute?: boolean;\r\n    hideNativePlayBtn?: boolean;\r\n    loop?: boolean;\r\n    playerId?: string;\r\n    setDuration?: (duration: number) => void;\r\n    setIsPlaying?: (isPlaying: boolean) => void;\r\n    isPlaying?: boolean;\r\n}\r\n\r\nconst VideoPlayer = ({\r\n    url,\r\n    autoPlay,\r\n    autoMute,\r\n    hideNativePlayBtn,\r\n    loop,\r\n    playerId,\r\n    setDuration,\r\n    setIsPlaying,\r\n    isPlaying\r\n}: VideoPlayerProps) => {\r\n    const [isVideoLoaded, setIsVideoLoaded] = React.useState(false);\r\n    const iframe = React.useRef<HTMLIFrameElement>(null);\r\n    const player = React.useRef<any>(null);\r\n\r\n    React.useLayoutEffect(() => {\r\n        if (iframe.current) {\r\n            const glueFrame = new (GlueFrame as any)(iframe.current, \"Player\");\r\n\r\n            glueFrame.bind(\"player:video:loaded\", () => {\r\n                setIsVideoLoaded(true);\r\n                if (setDuration) {\r\n                    glueFrame.get(\"duration\", (duration?: number) => {\r\n                        if (duration) {\r\n                            setDuration(duration);\r\n                        }\r\n                    });\r\n                }\r\n            });\r\n\r\n            if (setIsPlaying) {\r\n                glueFrame.bind(\"player:video:play\", () => setIsPlaying(true));\r\n                glueFrame.bind(\"player:video:pause\", () => setIsPlaying(false));\r\n                glueFrame.bind(\"player:video:end\", () => setIsPlaying(false));\r\n            }\r\n\r\n            player.current = glueFrame;\r\n        }\r\n\r\n        return () => player.current?.destroy();\r\n    }, [iframe]);\r\n\r\n    React.useEffect(() => {\r\n        player.current?.set(\"playing\", isPlaying);\r\n    }, [isPlaying]);\r\n\r\n    const src = React.useMemo(() => {\r\n        const splitter = url.includes(\"/video/\") ? \"/video/\" : \"/secret/\";\r\n        const [hostName, trailing] = url.split(splitter);\r\n        const [videoId, videoTokenId] = trailing.split(\"/\");\r\n        const domain = `${hostName}/${playerId || \"v\"}.ihtml/player.html`;\r\n        const video = `photo%5fid=${videoId}`;\r\n        return !!videoTokenId\r\n            ? `${domain}?token=${videoTokenId}&source=embed&${video}&autoPlay=${autoPlay ? 1 : 0}&autoMute=${\r\n                  autoMute ? 1 : 0\r\n              }&loop=${loop ? 1 : 0}&hideBigPlay=${hideNativePlayBtn ? 1 : 0}`\r\n            : `${domain}?source=site&${video}&autoPlay=${autoPlay ? 1 : 0}&autoMute=${\r\n                  autoMute ? 1 : 0\r\n              }&loop=${loop ? 1 : 0}&hideBigPlay=${hideNativePlayBtn ? 1 : 0}`;\r\n    }, [url]);\r\n\r\n    const baseClass = \"video-player\";\r\n    const componentClasses = classNames(baseClass, { [`${baseClass}--has-loaded`]: isVideoLoaded });\r\n\r\n    return (\r\n        <div className={componentClasses}>\r\n            <iframe\r\n                loading=\"lazy\"\r\n                ref={iframe}\r\n                src={src}\r\n                scrolling=\"no\"\r\n                frameBorder={0}\r\n                allow=\"fullscreen; autoplay\"\r\n                allowFullScreen\r\n            />\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default VideoPlayer;\r\n","export enum HorizontalAlignmentType {\r\n    LEFT = \"left\",\r\n    RIGHT = \"right\",\r\n    CENTER = \"center\"\r\n}\r\nexport enum VerticalAlignmentType {\r\n    TOP = \"top\",\r\n    BOTTOM = \"bottom\",\r\n    CENTER = \"center\"\r\n}\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport ResponsiveImage from \"../../responsive-image/responsive-image\";\r\nimport Title from \"~/components/title/title\";\r\nimport CtaButton from \"../../cta-button/cta-button\";\r\nimport { HorizontalAlignmentType } from \"~/types/alignment\";\r\nimport ArrowLink from \"../../arrow-link/arrow-link\";\r\nimport { ThemeColorType } from \"~/types/theme-color\";\r\nimport WrapperLink from \"~/components/wrapper-link/wrapper-link\";\r\nimport VideoPlayer from \"~/components/video-player/video-player\";\r\n\r\nexport interface ImageTextCtaSliderItemProps {\r\n    imageSrc?: string;\r\n    imageAltText?: string;\r\n    imageLinkUrl?: string;\r\n    imageLinkTarget?: string;\r\n    isTitleH1?: boolean;\r\n    title?: string;\r\n    richText?: string;\r\n    textColor?: ThemeColorType;\r\n    textAlignContent?: HorizontalAlignmentType;\r\n    ctaLink?: string;\r\n    showCtaAsLink?: boolean;\r\n    ctaBgColor?: ThemeColorType;\r\n    ctaTextColor?: ThemeColorType;\r\n    horizontalAlignContent?: HorizontalAlignmentType;\r\n    navigationColor?: ThemeColorType;\r\n    bgColor?: ThemeColorType;\r\n    videoUrl?: string;\r\n    index?: number;\r\n    activeSlideIndex?: number;\r\n    wasActiveSlideIndex?: number;\r\n}\r\n\r\nconst ImageTextCtaSliderItem = ({\r\n    imageSrc,\r\n    imageAltText,\r\n    imageLinkUrl,\r\n    imageLinkTarget,\r\n    isTitleH1,\r\n    title,\r\n    richText,\r\n    ctaLink,\r\n    showCtaAsLink,\r\n    horizontalAlignContent = HorizontalAlignmentType.CENTER,\r\n    textAlignContent = HorizontalAlignmentType.CENTER,\r\n    bgColor,\r\n    textColor = ThemeColorType.BLACK,\r\n    ctaBgColor = ThemeColorType.BLACK,\r\n    ctaTextColor = ThemeColorType.WHITE,\r\n    videoUrl,\r\n    index,\r\n    activeSlideIndex,\r\n    wasActiveSlideIndex\r\n}: ImageTextCtaSliderItemProps) => {\r\n    const [playing, setPlaying] = React.useState(false);\r\n\r\n    const hasContent = title || richText || ctaLink;\r\n    const baseClass = \"image-text-cta-slider-item\";\r\n    const componentClasses = classNames(\r\n        baseClass,\r\n        `horizontal-align-${horizontalAlignContent}`,\r\n        `text-align-${textAlignContent}`,\r\n        `theme-color-${textColor}`,\r\n        {\r\n            [`theme-bg-${bgColor}`]: !imageLinkUrl && !!bgColor,\r\n            [`${baseClass}--has-no-content`]: !hasContent\r\n        }\r\n    );\r\n    const contentClasses = classNames(`${baseClass}__content-wrapper`);\r\n    const buttonClasses = classNames(\r\n        `${baseClass}__button`,\r\n        `theme-bg-${ctaBgColor}`,\r\n        `theme-color-${ctaTextColor}`\r\n    );\r\n    const arrowLinkClasses = classNames(`${baseClass}__link`, `theme-color-${ctaTextColor}`);\r\n\r\n    React.useEffect(() => {\r\n        if (index === activeSlideIndex) {\r\n            setPlaying(true);\r\n        }\r\n    }, [activeSlideIndex]);\r\n    React.useEffect(() => {\r\n        if (index === wasActiveSlideIndex && index !== activeSlideIndex) {\r\n            setPlaying(false);\r\n        }\r\n    }, [wasActiveSlideIndex]);\r\n\r\n    return (\r\n        <WrapperLink linkClassName={`${baseClass}-wrapper-link`} href={imageLinkUrl} target={imageLinkTarget}>\r\n            <div className={componentClasses}>\r\n                {!videoUrl && imageSrc && (\r\n                    <ResponsiveImage\r\n                        className={`${baseClass}__image`}\r\n                        defaultSize={1366}\r\n                        srcSetSizes={[320, 375, 480, 640, 768, 1024, 1280, 1366]}\r\n                        sizes=\"(max-width: 1365px) 100vw, 1366px\"\r\n                        alt={imageAltText}\r\n                        srcUrl={imageSrc}\r\n                    />\r\n                )}\r\n\r\n                {videoUrl && (\r\n                    <VideoPlayer url={videoUrl} isPlaying={playing} autoMute loop hideNativePlayBtn />\r\n                )}\r\n\r\n                {hasContent && (\r\n                    <div className={contentClasses}>\r\n                        {title && <Title title={title} isTitleH1={isTitleH1} />}\r\n                        {richText && (\r\n                            <div\r\n                                className={`${baseClass}__rich-text content-rich-text`}\r\n                                dangerouslySetInnerHTML={{ __html: richText }}\r\n                            />\r\n                        )}\r\n                        {ctaLink && (\r\n                            <>\r\n                                {showCtaAsLink ? (\r\n                                    <ArrowLink className={arrowLinkClasses} link={ctaLink} />\r\n                                ) : (\r\n                                    <CtaButton className={buttonClasses} link={ctaLink} isLarge />\r\n                                )}\r\n                            </>\r\n                        )}\r\n                    </div>\r\n                )}\r\n            </div>\r\n        </WrapperLink>\r\n    );\r\n};\r\n\r\nexport default ImageTextCtaSliderItem;\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport ImageTextCtaSliderItem, {\r\n    ImageTextCtaSliderItemProps\r\n} from \"./image-text-cta-slider-item/image-text-cta-slider-item\";\r\nimport Slider, { Settings } from \"react-slick\";\r\nimport { ThemeColorType } from \"~/types/theme-color\";\r\nimport ContentSection from \"../content-section/content-section\";\r\n\r\nexport interface ImageTextCtaSliderProps {\r\n    slides: ImageTextCtaSliderItemProps[];\r\n    autoslide?: boolean;\r\n    autoslideSpeed?: 4000 | 6000;\r\n    fade?: boolean;\r\n    bgColor?: ThemeColorType;\r\n    textColor?: ThemeColorType;\r\n    ctaBgColor?: ThemeColorType;\r\n    ctaTextColor?: ThemeColorType;\r\n    navigationColor?: ThemeColorType;\r\n    anchorId?: string;\r\n}\r\n\r\nconst ImageTextCtaSlider = ({\r\n    slides,\r\n    autoslide = false,\r\n    autoslideSpeed = 4000,\r\n    fade = false,\r\n    bgColor,\r\n    textColor,\r\n    ctaBgColor,\r\n    ctaTextColor,\r\n    ...props\r\n}: ImageTextCtaSliderProps) => {\r\n    const [beforeChangeCurrentSlide, setBeforeChangeCurrentSlide] = React.useState<number | undefined>(0);\r\n    const [afterChangeCurrentSlide, setAfterChangeCurrentSlide] = React.useState<number | undefined>();\r\n    const [activeSlideIndex, setActiveSlideIndex] = React.useState(0);\r\n    const wasActiveSlideIndex =\r\n        activeSlideIndex === afterChangeCurrentSlide ? beforeChangeCurrentSlide : undefined;\r\n    const navigationColor =\r\n        slides[activeSlideIndex].navigationColor || props.navigationColor || ThemeColorType.BLACK;\r\n\r\n    const baseClass = \"image-text-cta-slider\";\r\n    const componentClasses = classNames(baseClass, {\r\n        [`${baseClass}--auto-slide-speed-${autoslideSpeed}`]: autoslide && autoslideSpeed,\r\n        [`${baseClass}--auto-slide`]: autoslide\r\n    });\r\n    const sliderSettings: Settings = {\r\n        slidesToScroll: 1,\r\n        slidesToShow: 1,\r\n        // Infinite=true creates cloned slides and is only needed if autoplaying\r\n        // So for performance we turn it off if no autoplay\r\n        // NB: The cloned slides would create problems if we autoplay videos without muting!!!\r\n        infinite: autoslide,\r\n        autoplay: autoslide,\r\n        autoplaySpeed: autoslideSpeed,\r\n        speed: 700,\r\n        focusOnSelect: false,\r\n        fade: fade,\r\n        // lazyLoad: \"ondemand\", // Lazy loading would be nice, but then we cannot keep equal height on all slides...🤷‍♀️\r\n        pauseOnHover: true,\r\n        arrows: false,\r\n        dots: true,\r\n        dotsClass: `${baseClass}__dots`,\r\n        beforeChange: (current, next) => {\r\n            // Inorder to first stop the video after the animation\r\n            // we need to get the currentIndex before starting the animation\r\n            setBeforeChangeCurrentSlide(current);\r\n            setActiveSlideIndex(next);\r\n        },\r\n        afterChange: current => {\r\n            // We cannot get the previous current index at this point,\r\n            // but we can set this to figure out that the animation is over\r\n            setAfterChangeCurrentSlide(current);\r\n        },\r\n        customPaging: i => (\r\n            <button\r\n                type=\"button\"\r\n                className={classNames(`${baseClass}__dot`, `theme-color-${navigationColor}`, \"reset-button\")}\r\n            >\r\n                <svg className=\"progress-ring\" width=\"36\" height=\"36\">\r\n                    <circle\r\n                        className=\"progress-ring__circle\"\r\n                        strokeWidth=\"2\"\r\n                        fill=\"transparent\"\r\n                        r=\"16\"\r\n                        cx=\"18\"\r\n                        cy=\"18\"\r\n                    />\r\n                </svg>\r\n                {i + 1}\r\n            </button>\r\n        )\r\n    };\r\n\r\n    return (\r\n        <ContentSection className={componentClasses} {...props}>\r\n            <Slider {...sliderSettings}>\r\n                {slides.map((slide, index) => (\r\n                    <ImageTextCtaSliderItem\r\n                        key={index}\r\n                        {...slide}\r\n                        bgColor={slide.bgColor || bgColor}\r\n                        textColor={slide.textColor || textColor}\r\n                        ctaBgColor={slide.ctaBgColor || ctaBgColor}\r\n                        ctaTextColor={slide.ctaTextColor || ctaTextColor}\r\n                        activeSlideIndex={activeSlideIndex}\r\n                        wasActiveSlideIndex={wasActiveSlideIndex}\r\n                        index={index}\r\n                    />\r\n                ))}\r\n            </Slider>\r\n        </ContentSection>\r\n    );\r\n};\r\n\r\nexport default ImageTextCtaSlider;\r\n","import * as React from \"react\";\r\nimport ImageTextCtaSlider, {\r\n    ImageTextCtaSliderProps\r\n} from \"~/components/image-text-cta-slider/image-text-cta-slider\";\r\n\r\nexport interface IImageTextCtaSliderViewProps {\r\n    contextModel: ImageTextCtaSliderProps;\r\n}\r\n\r\nclass ImageTextCtaSliderView extends React.PureComponent<IImageTextCtaSliderViewProps> {\r\n    public render() {\r\n        return <ImageTextCtaSlider {...this.props.contextModel} />;\r\n    }\r\n}\r\n\r\nexport default ImageTextCtaSliderView;\r\n","/*!\n  Copyright (c) 2017 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport type TIconNames =\r\n    | \"24_expand\"\r\n    | \"24_play\"\r\n    | \"24_star\"\r\n    | \"24_trash\"\r\n    | \"32_add-user\"\r\n    | \"32_basket\"\r\n    | \"32_checkmark-circle\"\r\n    | \"32_checkmark\"\r\n    | \"32_error\"\r\n    | \"32_information\"\r\n    | \"32_katalog\"\r\n    | \"32_search\"\r\n    | \"32_truck-in-motion\"\r\n    | \"32_user\"\r\n    | \"32_warning\"\r\n    | \"icon_16_arrow-down\"\r\n    | \"icon_16_arrow-left\"\r\n    | \"icon_16_arrow-right-bold\"\r\n    | \"icon_16_arrow-right\"\r\n    | \"icon_16_arrow-up\"\r\n    | \"icon_28_close\"\r\n    | \"icon_32_thumbs-up\"\r\n    | \"icon_80x41_quotation-mark-gyldendal-dk\"\r\n    | \"icon_80x48_quotation-mark\"\r\n    | \"icon_checkbox-black\"\r\n    | \"icon_checkmark-black\"\r\n    | \"icon_download\"\r\n    | \"icon_herringbone-narrow\"\r\n    | \"icon_herringbone-wide\"\r\n    | \"icon_placeholder-email\"\r\n    | \"icon_placeholder-lock\"\r\n    | \"icon_placeholder-phone-small\"\r\n    | \"icon_placeholder-vip-white\"\r\n    | \"icon_placeholder_basket\"\r\n    | \"icon_placeholder_checkmark\"\r\n    | \"icon_placeholder_eye-closed\"\r\n    | \"icon_placeholder_eye\"\r\n    | \"icon_placeholder_facebook\"\r\n    | \"icon_placeholder_filtering\"\r\n    | \"icon_placeholder_hamburger\"\r\n    | \"icon_placeholder_instagram\"\r\n    | \"icon_placeholder_phone\"\r\n    | \"icon_placeholder_user\"\r\n    | \"icon_read\"\r\n    | \"icon_listen\";\r\n\r\nexport interface IIconProps {\r\n    iconId: TIconNames;\r\n    spriteUrl?: string;\r\n    viewBox?: string;\r\n    className?: string;\r\n    onClick?: () => void;\r\n}\r\n\r\nconst Icon: React.FC<IIconProps> = props => {\r\n    const spriteUrl = props.spriteUrl || \"\";\r\n    const viewBox = props.viewBox || \"0 0 32 32\";\r\n\r\n    return (\r\n        <svg\r\n            viewBox={viewBox}\r\n            className={classNames(props.className, \"icon\", `icon-${props.iconId}`)}\r\n            preserveAspectRatio=\"xMidYMid\"\r\n            onClick={() => props.onClick && props.onClick()}\r\n        >\r\n            <use xmlnsXlink=\"http://www.w3.org/1999/xlink\" xlinkHref={`${spriteUrl}#${props.iconId}`} />\r\n        </svg>\r\n    );\r\n};\r\n\r\nexport default Icon;\r\n","import * as React from \"react\";\r\n\r\nexport interface AnchorProps {\r\n    id?: string;\r\n}\r\n\r\nconst Anchor = ({ id }: AnchorProps) => {\r\n    return <div className=\"anchor\" id={id} />;\r\n};\r\n\r\nexport default Anchor;\r\n","import classNames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport Anchor from \"../anchor/anchor\";\r\n\r\nexport interface ContentSectionProps {\r\n    className?: string;\r\n    type?: \"default\" | \"full\";\r\n    anchorId?: string;\r\n    hasNoMarginTop?: boolean;\r\n    hasNoMarginBottom?: boolean;\r\n}\r\n\r\nconst ContentSection: React.FC<ContentSectionProps> = ({\r\n    className,\r\n    type = \"default\",\r\n    anchorId,\r\n    hasNoMarginTop,\r\n    hasNoMarginBottom,\r\n    ...props\r\n}) => {\r\n    const baseClass = \"content-section\";\r\n    const componentClasses = classNames(baseClass, className, {\r\n        [`${baseClass}--full`]: type === \"full\",\r\n        \"anchor-wrapper\": !!anchorId,\r\n        \"content-no-margin-top\": hasNoMarginTop,\r\n        \"content-no-margin-bottom\": hasNoMarginBottom\r\n    });\r\n    return (\r\n        <section className={componentClasses}>\r\n            {anchorId && <Anchor id={anchorId} />}\r\n            {props.children}\r\n        </section>\r\n    );\r\n};\r\n\r\nexport default ContentSection;\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport interface ICtaButtonProps {\r\n    className?: string;\r\n    isLarge?: boolean;\r\n    isInverted?: boolean;\r\n    isSecondary?: boolean;\r\n    link: string;\r\n    onClick?(): void;\r\n}\r\n\r\nconst CtaButton = ({ className, isLarge, isInverted, isSecondary, link, onClick }: ICtaButtonProps) => {\r\n    const baseClass = \"cta-button\";\r\n    const componentClasses = classNames(className, baseClass, {\r\n        [`${baseClass}--large`]: isLarge,\r\n        [`${baseClass}--inverted`]: isInverted,\r\n        [`${baseClass}--secondary`]: isSecondary\r\n    });\r\n\r\n    return <div onClick={onClick} className={componentClasses} dangerouslySetInnerHTML={{ __html: link }} />;\r\n};\r\n\r\nexport default CtaButton;\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport Icon from \"../icons/icon\";\r\n\r\nexport interface IArrowLinkProps {\r\n    className?: string;\r\n    link: string;\r\n}\r\n\r\nconst ArrowLink = ({ className, link }: IArrowLinkProps) => {\r\n    const baseClass = \"arrow-link\";\r\n    const componentClasses = classNames(baseClass, className);\r\n\r\n    return (\r\n        <div className={componentClasses}>\r\n            <Icon iconId=\"icon_16_arrow-right-bold\" />\r\n            <span dangerouslySetInnerHTML={{ __html: link }} />\r\n        </div>\r\n    );\r\n};\r\n\r\nexport default ArrowLink;\r\n","const hasExistingQueryParam = (url: string) => url.indexOf(\"?\") !== -1;\r\n\r\nexport const getQueryParamDelimiter = (url: string) => (hasExistingQueryParam(url) ? \"&\" : \"?\");\r\n\r\nexport const generateSrcSet = (srcSetSizes: number[], srcUrl: string) => {\r\n    const generateSrcSetString = (srcSetSize: number) => {\r\n        const parameterDelimiter = getQueryParamDelimiter(srcUrl);\r\n        const srcSetSizeHighDensity = Math.round(srcSetSize * 1.5);\r\n\r\n        return `\r\n            ${srcUrl}${parameterDelimiter}w=${srcSetSize} ${srcSetSize}w,\r\n            ${srcUrl}${parameterDelimiter}w=${srcSetSizeHighDensity} ${srcSetSizeHighDensity}w\r\n        `;\r\n    };\r\n\r\n    return srcSetSizes.map(generateSrcSetString).join(\", \");\r\n};\r\n\r\nexport const generateColumnImageProps = (maxColumns: number, isFullWidth?: boolean) => {\r\n    // The sizes are column-widths and are not considering padding\r\n    const gridMaxWidthFactor = isFullWidth ? 1 : 0.75;\r\n    const gridMaxWidth = 1366 * gridMaxWidthFactor;\r\n    const defaultSize = gridMaxWidth / maxColumns;\r\n    let sizes;\r\n\r\n    switch (maxColumns) {\r\n        case 5:\r\n            sizes = `(max-width: 479px) 100vw, \r\n            (max-width: 639px) 75vw,\r\n            (max-width: 767px) 50vw,\r\n            (max-width: 1023px) ${100 / 3}vw,\r\n            (max-width: 1099px) ${(100 / 3) * gridMaxWidthFactor}vw,\r\n            (max-width: 1279px) ${(100 / 4) * gridMaxWidthFactor}vw,\r\n            ${defaultSize}px`;\r\n        case 4:\r\n            sizes = `(max-width: 479px) 100vw, \r\n            (max-width: 639px) 75vw,\r\n            (max-width: 767px) 50vw,\r\n            (max-width: 1023px) ${100 / 3}vw,\r\n            (max-width: 1099px) ${(100 / 3) * gridMaxWidthFactor}vw,\r\n            (max-width: 1279px) ${(100 / 4) * gridMaxWidthFactor}vw,\r\n            ${defaultSize}px`;\r\n        case 3:\r\n            sizes = `(max-width: 479px) 100vw,\r\n            (max-width: 639px) 75vw,\r\n            (max-width: 767px) 50vw,\r\n            (max-width: 1023px) ${100 / 3}vw,\r\n            (max-width: 1279px) ${(100 / 3) * gridMaxWidthFactor}vw,\r\n            ${defaultSize}px`;\r\n        case 2:\r\n            sizes = `(max-width: 479px) 100vw,\r\n            (max-width: 639px) 75vw,\r\n            (max-width: 1023px) ${100 / 2}vw,\r\n            (max-width: 1279px) ${(100 / 2) * gridMaxWidthFactor}vw, \r\n            ${defaultSize}px`;\r\n        case 1:\r\n            sizes = `(max-width: 479px) 100vw,\r\n            (max-width: 1023px) ${100 * 0.75}vw,\r\n            (max-width: 1279px) ${100 * 0.75 * gridMaxWidthFactor}vw,\r\n            ${defaultSize * 0.75}px`;\r\n    }\r\n\r\n    return {\r\n        // The sizes are column-widths and are not considering padding\r\n        defaultSize: defaultSize,\r\n        srcSetSizes: [205, 257, 274, 342, 456, 513, 683, 769, 1025],\r\n        sizes: sizes\r\n    };\r\n};\r\n","import * as React from \"react\";\r\nimport { generateSrcSet, getQueryParamDelimiter } from \"~/utils/image-utils\";\r\n\r\nexport interface IResponsiveImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, \"src\"> {\r\n    className?: string;\r\n    srcUrl: string;\r\n    defaultSize: number;\r\n    srcSetSizes?: number[];\r\n    sizes?: string;\r\n    ref?: React.Ref<HTMLImageElement>;\r\n}\r\n\r\nconst ResponsiveImage: React.FC<IResponsiveImageProps> = React.forwardRef(\r\n    ({ srcUrl, defaultSize, srcSetSizes, ...props }, ref: React.Ref<HTMLImageElement>) => {\r\n        const src = `${srcUrl}${getQueryParamDelimiter(srcUrl)}w=${defaultSize}`;\r\n        const srcSet = srcSetSizes ? generateSrcSet(srcSetSizes, srcUrl) : \"\";\r\n\r\n        return <img ref={ref} src={src} srcSet={srcSet} {...props} loading=\"lazy\" />;\r\n    }\r\n);\r\n\r\nexport default ResponsiveImage;\r\n","import * as React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport interface ITitleProps {\r\n    title: string;\r\n    isTitleH1?: boolean;\r\n    linkHref?: string;\r\n    linkTarget?: string;\r\n    className?: string;\r\n}\r\n\r\nconst Title = ({ title, isTitleH1, className, linkHref, linkTarget }: ITitleProps) => {\r\n    const baseClass = \"title\";\r\n    const componentClasses = classNames(baseClass, className, \"h2-style\");\r\n    const titleHtml = linkHref ? (\r\n        <a className=\"reset-a\" href={linkHref} target={linkTarget}>\r\n            {title}\r\n        </a>\r\n    ) : (\r\n        title\r\n    );\r\n\r\n    return isTitleH1 ? (\r\n        <h1 className={componentClasses}>{titleHtml}</h1>\r\n    ) : (\r\n        <h2 className={componentClasses}>{titleHtml}</h2>\r\n    );\r\n};\r\n\r\nexport default Title;\r\n","export enum ThemeColorType {\r\n    BLACK = \"black\",\r\n    WHITE = \"white\",\r\n    GRAY = \"gray\",\r\n    GRAY_LIGHT = \"gray-light\",\r\n    BRAND_CTA = \"brand-cta\",\r\n    BRAND_1 = \"brand-1\",\r\n    BRAND_2 = \"brand-2\",\r\n    BRAND_3 = \"brand-3\",\r\n    BRAND_4 = \"brand-4\",\r\n    BRAND_5 = \"brand-5\"\r\n}\r\n"],"sourceRoot":""}