{"version":3,"sources":["webpack:///./src/helpers/media.ts","webpack:///./src/stories/Elements/Forms/CTA/CTAButton.tsx","webpack:///./src/helpers/typography.ts","webpack:///./src/helpers/ssr.ts","webpack:///./src/stories/Components/Media/Image/Image.tsx","webpack:///./src/hooks/useIntersectionObserver.ts","webpack:///./src/hooks/useInView.ts","webpack:///./src/helpers/global.ts","webpack:///./src/stories/Elements/Forms/CTA/CTA.styles.ts","webpack:///./src/hooks/useMedia.ts","webpack:///./img/icons/arrow.svg","webpack:///./src/stories/Elements/CarouselButton/CarouselButton.styles.ts","webpack:///./img/icons/arrow-white.svg","webpack:///./src/stories/Elements/CarouselButton/CarouselButton.tsx","webpack:///./src/stories/Widgets/Content/Banner/Banner.styles.ts","webpack:///./src/stories/Widgets/Content/Banner/Banner.tsx","webpack:///./src/helpers/animation.ts","webpack:///./src/stories/Elements/Forms/CTA/CTAAnchor.tsx","webpack:///./src/helpers/grids.ts","webpack:///./src/core/enums.ts"],"names":["Device","from","size","until","CTAButton","inView","props","React","createElement","CTAStyles","ButtonElement","disabled","theme","onClick","Textfit","mode","max","text","H1Styles","css","fonts","helvetica","Tablet","DesktopLarge","H1","styled","h1","H2Styles","H2","h2","H3Styles","H3","h3","H4Styles","H4","h4","PStyles","P","p","PLargeStyles","PSmallStyles","BlockquoteStyles","Typography","Blockquote","blockquote","isSSR","window","document","defaultSrcSetSizes","MobileSmall","Mobile","Desktop","ActualDesktop","Image","Component","src","srcSetSizes","sizes","alt","role","loading","srcSet","map","x","ImageTransfrom","width","url","join","undefined","useIntersectionObserver","callback","options","observerRef","useRef","rootRef","elementRef","useEffect","current","IntersectionObserver","root","observe","disconnect","useInView","reverse","isEditMode","useState","setInView","entries","isIntersecting","navHeight","navHeightTablet","navHeightMobile","ButtonReset","CTATheme","base","Blue","brand","blue","white","light","dark","White","Black","black","WhiteToBlack","button","attrs","type","AnchorElement","a","useMedia","queries","values","defaultValue","mediaQueryLists","query","matchMedia","getValue","index","findIndex","mql","matches","value","setValue","handler","forEach","addListener","removeListener","styles","xmlns","viewBox","data-name","fill","d","CarouselButtonStyles","Button","animation","easeInOutCubic","isNext","grey","stroke","strokeWidth","CarouselButton","direction","previousAriaLabel","nextAriaLabel","ariaLabel","Arrow","Wrapper","section","grids","Default","TabletLarge","global","SlidesContainer","div","Slide","Media","SitePaddingBreakout","baseMedia","img","Video","video","isAbsolute","Content","rgba","ContentTeaser","ContentTeaserIcon","BannerStyles","Title","slideUp","Description","Logo","MobileLarge","Buttons","ControlsContainer","Controls","fadeIn","mobileOnly","desktopOnly","Pagination","PaginationItem","isActive","BannerSlide","title","description","cta","mediaType","mediaUrl","logoUrl","mediaTeaserUrl","setHasInteracted","threshold","slideRef","showFullVideo","_setShowFullVideo","animateInView","MediaType","fullVideoRef","teaserVideoRef","titleSize","setShowFullVideo","play","pause","fullscreenEnabled","requestFullscreen","addEventListener","fullscreenElement","ref","Fragment","autoPlay","preload","loop","playsInline","muted","CTAAnchor","href","target","ImageTransform","Banner","items","pageContext","slideIndex","setSlideIndex","lastSlideIndex","hasInteracted","hasLoaded","setHasLoaded","nextIndex","length","handle","setTimeout","clearTimeout","handleClick","newIndex","Object","assign","key","item","keyframes","duration","delay","easingFunc","fadeInUp","amount","order","animateOnExit","baseFixed","SitePadding","DesktopSmall","SitePaddingBreakoutLeft","SitePaddingBreakoutRight","Fixed","Icon"],"mappings":"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","file":"24-53ddf925ca874d0c5272.js","sourcesContent":["export var Device;\r\n(function (Device) {\r\n Device[Device[\"MobileSmall\"] = 320] = \"MobileSmall\";\r\n Device[Device[\"Mobile\"] = 375] = \"Mobile\";\r\n Device[Device[\"MobileLarge\"] = 480] = \"MobileLarge\";\r\n Device[Device[\"Tablet\"] = 768] = \"Tablet\";\r\n Device[Device[\"TabletLarge\"] = 1024] = \"TabletLarge\";\r\n Device[Device[\"DesktopSmall\"] = 1280] = \"DesktopSmall\";\r\n Device[Device[\"Desktop\"] = 1366] = \"Desktop\";\r\n Device[Device[\"DesktopLarge\"] = 1600] = \"DesktopLarge\";\r\n Device[Device[\"ActualDesktop\"] = 1920] = \"ActualDesktop\";\r\n Device[Device[\"DesktopXL\"] = 2560] = \"DesktopXL\";\r\n})(Device || (Device = {}));\r\nexport function from(size) {\r\n return `(min-width: ${size}px)`;\r\n}\r\nexport function until(size) {\r\n return `(max-width: ${size - 1}px)`;\r\n}\r\n","import React from 'react';\r\nimport { CTAStyles } from './CTA.styles';\r\nimport { Textfit } from 'react-textfit';\r\nconst CTAButton = ({ inView = true, ...props }) => {\r\n return (React.createElement(CTAStyles.ButtonElement, { disabled: props.disabled, theme: props.theme, onClick: props.onClick }, inView && (React.createElement(Textfit, { mode: \"single\", max: 22 }, props.text))));\r\n};\r\nexport default CTAButton;\r\n","import { fonts } from '@tti/brand-empire';\r\nimport styled, { css } from 'styled-components';\r\nimport { Device, from } from './media';\r\nconst H1Styles = css `\r\n ${fonts.helvetica['87-condensed-heavy']};\r\n font-size: 45px;\r\n line-height: 55px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 63px;\r\n line-height: 70px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 85px;\r\n line-height: 95px;\r\n }\r\n`;\r\nconst H1 = styled.h1 `\r\n ${H1Styles};\r\n`;\r\nconst H2Styles = css `\r\n ${fonts.helvetica['87-condensed-heavy']};\r\n font-size: 35px;\r\n line-height: 45px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 53px;\r\n line-height: 60px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 72px;\r\n line-height: 80px;\r\n }\r\n`;\r\nconst H2 = styled.h2 `\r\n ${H2Styles};\r\n`;\r\nconst H3Styles = css `\r\n ${fonts.helvetica['87-condensed-heavy']};\r\n font-size: 27px;\r\n line-height: 43px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 43px;\r\n line-height: 50px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 50px;\r\n line-height: 61px;\r\n }\r\n`;\r\nconst H3 = styled.h3 `\r\n ${H3Styles};\r\n`;\r\nconst H4Styles = css `\r\n ${fonts.helvetica['87-condensed-heavy']};\r\n font-size: 18px;\r\n line-height: 32px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 30px;\r\n line-height: 37px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 32px;\r\n line-height: 43px;\r\n }\r\n`;\r\nconst H4 = styled.h4 `\r\n ${H4Styles};\r\n`;\r\nconst PStyles = css `\r\n ${fonts.helvetica['57-condensed']};\r\n font-size: 16px;\r\n line-height: 26px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 17px;\r\n line-height: 27px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 19px;\r\n line-height: 29px;\r\n }\r\n`;\r\nconst P = styled.p `\r\n ${PStyles}\r\n`;\r\nconst PLargeStyles = css `\r\n ${fonts.helvetica['57-condensed']};\r\n font-size: 18px;\r\n line-height: 28px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 20px;\r\n line-height: 30px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 22px;\r\n line-height: 32px;\r\n }\r\n`;\r\nconst PSmallStyles = css `\r\n ${fonts.helvetica['57-condensed']};\r\n font-size: 14px;\r\n line-height: 24px;\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 16px;\r\n line-height: 26px;\r\n }\r\n`;\r\nconst BlockquoteStyles = css `\r\n ${fonts.helvetica['57-condensed']};\r\n font-style: italic;\r\n font-size: 18px;\r\n line-height: 28px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 20px;\r\n line-height: 30px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 22px;\r\n line-height: 32px;\r\n }\r\n`;\r\nconst Blockquote = styled.blockquote `\r\n ${BlockquoteStyles}\r\n`;\r\nexport const Typography = {\r\n H1Styles,\r\n H2Styles,\r\n H3Styles,\r\n H4Styles,\r\n PLargeStyles,\r\n PStyles,\r\n PSmallStyles,\r\n BlockquoteStyles,\r\n H1,\r\n H2,\r\n H3,\r\n H4,\r\n P,\r\n Blockquote,\r\n};\r\n","export const isSSR = !(typeof window != 'undefined' && window.document);\r\n","import { Device } from '@helpers/media';\r\nimport React from 'react';\r\nimport ImageTransfrom from '@tti/image-transform';\r\nconst defaultSrcSetSizes = [Device.MobileSmall, Device.Mobile, Device.Tablet, Device.Desktop, Device.DesktopLarge, Device.ActualDesktop];\r\nconst Image = ({ Component, src, srcSetSizes = defaultSrcSetSizes, sizes, alt, role, loading = 'lazy' }) => {\r\n // Generate srcSet from all of the given sizes\r\n const srcSet = srcSetSizes.map((x) => `${new ImageTransfrom(src).width(x).url} ${x}w`).join(', ');\r\n return Component !== undefined ? (React.createElement(Component, { src: src, srcSet: srcSet, sizes: sizes, alt: alt, role: role, loading: loading })) : (React.createElement(\"img\", { src: src, srcSet: srcSet, sizes: sizes, alt: alt, role: role, loading: loading }));\r\n};\r\nexport default Image;\r\n","import { useEffect, useRef } from 'react';\r\n/**\r\n * Use the IntersectionObserver to track visibility of an element in the viewport.\r\n * @param {IntersectionObserverCallback} callback\r\n * @param {IntersectionObserverInit} options\r\n * @returns {UseIntersectionObserverReturn}\r\n */\r\nfunction useIntersectionObserver(callback, options = {}) {\r\n const observerRef = useRef(null);\r\n const rootRef = useRef(null);\r\n const elementRef = useRef(null);\r\n useEffect(() => {\r\n if (!elementRef.current) {\r\n return undefined;\r\n }\r\n observerRef.current = new IntersectionObserver(callback, {\r\n root: rootRef.current,\r\n ...options,\r\n });\r\n observerRef.current.observe(elementRef.current);\r\n return () => {\r\n if (observerRef.current === null) {\r\n return;\r\n }\r\n observerRef.current.disconnect();\r\n };\r\n }, [callback, options]);\r\n return { elementRef, observerRef, rootRef };\r\n}\r\nexport default useIntersectionObserver;\r\n","import { useState } from 'react';\r\nimport useIntersectionObserver from './useIntersectionObserver';\r\nexport function useInView(options, reverse = false, isEditMode = false) {\r\n const [inView, setInView] = useState(false);\r\n const { elementRef } = useIntersectionObserver((entries) => {\r\n if (entries[0].isIntersecting) {\r\n setInView(true);\r\n }\r\n else if (reverse === true) {\r\n setInView(false);\r\n }\r\n }, options);\r\n return [elementRef, isEditMode ? true : inView];\r\n}\r\n","import { css } from 'styled-components';\r\nexport default {\r\n navHeight: 107,\r\n navHeightTablet: 80,\r\n navHeightMobile: 59,\r\n};\r\nexport const ButtonReset = css `\r\n border: none;\r\n outline: none;\r\n padding: 0px;\r\n background: none;\r\n border-radius: 0px;\r\n`;\r\n","import { ButtonReset } from '@helpers/global';\r\nimport { brand, fonts } from '@tti/brand-empire';\r\nimport styled, { css } from 'styled-components';\r\nexport var CTATheme;\r\n(function (CTATheme) {\r\n CTATheme[CTATheme[\"Blue\"] = 0] = \"Blue\";\r\n CTATheme[CTATheme[\"White\"] = 1] = \"White\";\r\n CTATheme[CTATheme[\"Black\"] = 2] = \"Black\";\r\n CTATheme[CTATheme[\"WhiteToBlack\"] = 3] = \"WhiteToBlack\";\r\n})(CTATheme || (CTATheme = {}));\r\nconst base = css `\r\n padding: 11px 16px;\r\n ${fonts.helvetica['87-condensed-heavy']};\r\n font-size: 22px;\r\n display: inline-block;\r\n\r\n ${({ theme }) => {\r\n switch (theme) {\r\n default:\r\n case CTATheme.Blue: {\r\n return css `\r\n border: 1px solid ${brand.blue.base};\r\n color: ${brand.white};\r\n background: ${brand.blue.base};\r\n\r\n &:hover&:not([disabled]) {\r\n background: ${brand.blue.light};\r\n }\r\n\r\n &:active&:not([disabled]) {\r\n background: ${brand.blue.dark};\r\n }\r\n `;\r\n }\r\n case CTATheme.White: {\r\n return css `\r\n border: 1px solid transparent;\r\n color: ${brand.blue.base};\r\n background: ${brand.white};\r\n\r\n &:hover&:not([disabled]) {\r\n background: ${brand.blue.base};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active&:not([disabled]) {\r\n background: ${brand.blue.dark};\r\n }\r\n `;\r\n }\r\n case CTATheme.Black: {\r\n return css `\r\n border: 1px solid transparent;\r\n color: ${brand.white};\r\n background: ${brand.black};\r\n\r\n &:hover&:not([disabled]) {\r\n background: ${brand.black};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active&:not([disabled]) {\r\n background: ${brand.blue.dark};\r\n }\r\n `;\r\n }\r\n case CTATheme.WhiteToBlack: {\r\n return css `\r\n border: 1px solid transparent;\r\n color: ${brand.blue.base};\r\n background: ${brand.white};\r\n\r\n &:hover&:not([disabled]) {\r\n background: ${brand.black};\r\n color: ${brand.white};\r\n }\r\n\r\n &:active&:not([disabled]) {\r\n background: ${brand.blue.dark};\r\n }\r\n `;\r\n }\r\n }\r\n}}\r\n`;\r\nconst ButtonElement = styled.button.attrs({ type: 'button' }) `\r\n ${ButtonReset};\r\n ${base};\r\n max-width: 100%;\r\n height: 100%;\r\n`;\r\nconst AnchorElement = styled.a `\r\n ${ButtonReset};\r\n ${base};\r\n max-width: 100%;\r\n height: 100%;\r\n`;\r\nexport const CTAStyles = {\r\n ButtonElement,\r\n AnchorElement,\r\n};\r\n","import { isSSR } from '@helpers/ssr';\r\nimport { useEffect, useState } from 'react';\r\n/**\r\n * Store a value in state based on the specified media queries.\r\n * @param {Array} queries\r\n * @param {Array} values\r\n * @param {T} defaultValue\r\n */\r\nfunction useMedia(queries, values, defaultValue) {\r\n // Avoid error with SSR.\r\n if (isSSR) {\r\n return defaultValue;\r\n }\r\n // Array containing a media query list for each query\r\n const mediaQueryLists = queries.map((query) => window.matchMedia(query));\r\n // Function that gets value based on matching media query\r\n const getValue = () => {\r\n // Get index of first media query that matches\r\n const index = mediaQueryLists.findIndex((mql) => mql.matches);\r\n // Return related value or defaultValue if none\r\n return typeof values[index] !== 'undefined' ? values[index] : defaultValue;\r\n };\r\n // State and setter for matched value\r\n const [value, setValue] = useState(getValue);\r\n useEffect(() => {\r\n // Event listener callback\r\n // Note: By defining getValue outside of useEffect we ensure that it has ...\r\n // ... current values of hook args (as this hook callback is created once on mount).\r\n const handler = () => setValue(getValue);\r\n // Set a listener for each media query with above handler as callback.\r\n mediaQueryLists.forEach((mql) => mql.addListener(handler));\r\n // Remove listeners on cleanup\r\n return () => mediaQueryLists.forEach((mql) => mql.removeListener(handler));\r\n }, []); // Empty array ensures effect is only run on mount and unmount\r\n return value;\r\n}\r\nexport default useMedia;\r\n","import React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => );","import animation from '@helpers/animation';\r\nimport { from, Device } from '@helpers/media';\r\nimport { brand } from '@tti/brand-empire';\r\nimport styled, { css } from 'styled-components';\r\nconst Button = styled.button.attrs({ type: 'button' }) `\r\n border-radius: 50%;\r\n outline: none;\r\n border: none;\r\n position: relative;\r\n transition: box-shadow 275ms ${animation.easeInOutCubic}, background 50ms ${animation.easeInOutCubic}, opacity 50ms ${animation.easeInOutCubic};\r\n box-shadow: 0px 0px 6px 0px rgb(0 0 0 / 15%);\r\n background: ${brand.blue.base};\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: not-allowed;\r\n }\r\n\r\n ${({ isNext }) => isNext\r\n ? css `\r\n &:hover:enabled {\r\n box-shadow: 3px 3px 6px 0px rgb(0 0 0 / 28%);\r\n }\r\n `\r\n : css `\r\n transform: rotate(180deg);\r\n\r\n &:hover:enabled {\r\n box-shadow: -3px -3px 6px 0px rgb(0 0 0 / 28%);\r\n }\r\n `}\r\n\r\n ${({ size }) => {\r\n switch (size) {\r\n case 'normal': {\r\n return css `\r\n width: 46px;\r\n height: 46px;\r\n\r\n @media ${from(Device.Desktop)} {\r\n width: 58px;\r\n height: 58px;\r\n }\r\n `;\r\n }\r\n case 'small': {\r\n return css `\r\n width: 46px;\r\n height: 46px;\r\n `;\r\n }\r\n }\r\n}}\r\n\r\n ${(props) => {\r\n switch (props.theme) {\r\n default:\r\n case 'blue': {\r\n return css `\r\n background: ${brand.blue.base};\r\n color: ${brand.black};\r\n\r\n &:focus:enabled,\r\n &:hover:enabled {\r\n background: ${brand.blue.light};\r\n color: ${brand.black};\r\n }\r\n `;\r\n }\r\n case 'white': {\r\n return css `\r\n background: ${brand.grey[1]};\r\n color: ${brand.black};\r\n\r\n &:hover:enabled {\r\n background: ${brand.blue.base};\r\n color: ${brand.black};\r\n }\r\n `;\r\n }\r\n }\r\n}}\r\n\r\n svg {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: 22px;\r\n height: 29px;\r\n }\r\n`;\r\nexport const CarouselButtonStyles = {\r\n Button,\r\n};\r\n","import React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => );","import React from 'react';\r\nimport { CarouselButtonStyles } from './CarouselButton.styles';\r\nimport Arrow from '@img/icons/arrow-white.svg';\r\nconst CarouselButton = ({ theme = 'white', onClick, direction, previousAriaLabel = 'Previous', nextAriaLabel = 'Next', disabled = false, size = 'normal', }) => {\r\n const isNext = direction === 'next';\r\n let ariaLabel = '';\r\n if (isNext) {\r\n ariaLabel = nextAriaLabel;\r\n }\r\n else {\r\n ariaLabel = previousAriaLabel;\r\n }\r\n return (React.createElement(CarouselButtonStyles.Button, { theme: theme, onClick: onClick, \"aria-label\": ariaLabel, isNext: isNext, disabled: disabled, size: size },\r\n React.createElement(Arrow, null)));\r\n};\r\nexport default CarouselButton;\r\n","import styled, { css } from 'styled-components';\r\nimport { brand } from '@tti/brand-empire';\r\nimport global from '@helpers/global';\r\nimport grids from '@helpers/grids';\r\nimport { Typography } from '@helpers/typography';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport animation, { fadeIn, slideUp } from '@helpers/animation';\r\nimport rgba from 'polished/lib/color/rgba';\r\nconst Wrapper = styled.section `\r\n position: relative;\r\n overflow: hidden;\r\n ${grids.Default};\r\n grid-row-gap: 0px;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n min-height: calc(80vh - ${global.navHeightTablet}px);\r\n padding-top: 40px;\r\n padding-bottom: 40px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n min-height: calc(80vh - ${global.navHeight}px);\r\n padding-top: 90px;\r\n padding-bottom: 90px;\r\n }\r\n`;\r\nconst SlidesContainer = styled.div `\r\n grid-column: span 12;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: span 10;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n grid-column: span 7;\r\n }\r\n`;\r\nconst Slide = styled.div ``;\r\nconst Media = styled.div `\r\n grid-column: span 12;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n ${grids.SitePaddingBreakout};\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n`;\r\nconst baseMedia = css `\r\n display: block;\r\n width: 100%;\r\n position: relative;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n object-fit: cover;\r\n }\r\n`;\r\nconst Image = styled.img `\r\n ${baseMedia};\r\n`;\r\nconst Video = styled.video `\r\n ${baseMedia};\r\n\r\n ${({ isAbsolute }) => isAbsolute\r\n ? css `\r\n position: absolute;\r\n top: 0;left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 2; }\r\n `\r\n : null}\r\n`;\r\nconst Content = styled.div `\r\n position: relative;\r\n background-color: ${rgba(brand.blue.base, 0.65)};\r\n padding: 30px 0px;\r\n color: ${brand.white};\r\n align-self: center;\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n background-color: ${brand.blue.base};\r\n\r\n &:after {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n left: 100%;\r\n width: 100%;\r\n height: 100%;\r\n background-color: ${brand.blue.base};\r\n }\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding: 60px 60px 60px 0px;\r\n transition: transform 740ms ${animation.easeInOutCubic};\r\n\r\n ${({ inView }) => inView\r\n ? css `\r\n transform: translateX(0%);\r\n `\r\n : css `\r\n /* transition-delay: 600ms; */\r\n transform: translateX(-150%);\r\n `}\r\n }\r\n\r\n &:before {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n right: 100%;\r\n width: 100%;\r\n height: 100%;\r\n background-color: ${brand.blue.base};\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n background-color: ${rgba(brand.blue.base, 0.65)};\r\n }\r\n }\r\n`;\r\nconst ContentTeaser = styled.div `\r\n display: none;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n display: block;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 40%;\r\n height: 100%;\r\n background: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.0001) 100%);\r\n opacity: 0;\r\n transition: opacity 600ms ${animation.easeInOutCubic};\r\n cursor: pointer;\r\n z-index: 3;\r\n\r\n &:hover {\r\n opacity: 1;\r\n }\r\n }\r\n`;\r\nconst ContentTeaserIcon = styled.div `\r\n position: absolute;\r\n top: 50%;\r\n left: 10%;\r\n transform: translate(-50%, -50%);\r\n\r\n svg {\r\n stroke: ${brand.white};\r\n width: 33px;\r\n height: 22px;\r\n }\r\n`;\r\nconst Title = styled.h1 `\r\n ${Typography.H1Styles};\r\n margin-bottom: 20px;\r\n overflow: hidden;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n div {\r\n ${({ inView }) => slideUp(inView, 1)}\r\n }\r\n }\r\n`;\r\nconst Description = styled.p `\r\n margin: 30px 0px;\r\n ${Typography.PLargeStyles};\r\n overflow: hidden;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n div {\r\n ${({ inView }) => slideUp(inView, 2)}\r\n }\r\n }\r\n`;\r\nconst Logo = styled.img `\r\n max-width: 150px;\r\n margin-bottom: 10px;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n margin-bottom: 0px;\r\n }\r\n`;\r\nconst Buttons = styled.div `\r\n overflow: hidden;\r\n\r\n > div {\r\n display: flex;\r\n flex-direction: column-reverse;\r\n align-items: flex-start;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n flex-direction: row;\r\n align-items: flex-end;\r\n justify-content: space-between;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${({ inView }) => slideUp(inView, 3)}\r\n }\r\n }\r\n`;\r\nconst ControlsContainer = styled.div `\r\n padding: 0px 24px;\r\n margin: 0 auto;\r\n max-width: 1760px;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n width: 100%;\r\n height: 100%;\r\n pointer-events: none;\r\n\r\n &::before {\r\n --width: 70px;\r\n\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n height: 100%;\r\n transform: translateX(100%) translateX(calc(var(--width) * -1));\r\n width: calc(100vw + var(--width));\r\n z-index: 0;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n --width: 110px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n --width: 150px;\r\n }\r\n }\r\n`;\r\nconst Controls = styled.div `\r\n position: absolute;\r\n right: 22px;\r\n bottom: 30px;\r\n gap: 8px;\r\n grid-template-columns: 1fr 1fr;\r\n z-index: 2;\r\n pointer-events: all;\r\n\r\n ${({ inView }) => fadeIn(inView, 375, 600, animation.easeInOutCubic)};\r\n\r\n @media ${from(Device.Tablet)} {\r\n right: 22px;\r\n }\r\n\r\n ${({ mobileOnly, desktopOnly }) => () => css `\r\n @media ${until(Device.Tablet)} {\r\n display: ${mobileOnly ? 'grid' : 'none'};\r\n }\r\n @media ${from(Device.Tablet)} {\r\n display: ${desktopOnly ? 'grid' : 'none'};\r\n }\r\n `}\r\n`;\r\n// Pagination\r\nconst Pagination = styled.div `\r\n position: absolute;\r\n top: 17%;\r\n right: 22px;\r\n transform: translate3d(0, -50%, 0);\r\n z-index: 2;\r\n pointer-events: all;\r\n\r\n ${({ inView }) => fadeIn(inView, 375, 500, animation.easeInOutCubic)};\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n top: 20%;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n top: 50%;\r\n }\r\n`;\r\nconst PaginationItem = styled.button.attrs({\r\n type: 'button',\r\n}) `\r\n display: block;\r\n background: ${(props) => (props.isActive ? brand.blue.light : brand.white)};\r\n border: 0;\r\n height: 5px;\r\n transform: ${(props) => (props.isActive ? 'scaleX(1)' : 'scaleX(0.75)')};\r\n transform-origin: center right;\r\n transition: background-color ease-out 0.3s, transform ease-out 0.3s;\r\n width: 32px;\r\n\r\n &:focus,\r\n &:hover {\r\n transform: ${(props) => (props.isActive ? 'scaleX(1)' : 'scaleX(0.9)')};\r\n }\r\n\r\n & + & {\r\n margin-top: 16px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n width: 45px;\r\n\r\n & + & {\r\n margin-top: 20px;\r\n }\r\n }\r\n`;\r\nexport const BannerStyles = {\r\n Wrapper,\r\n Slide,\r\n SlidesContainer,\r\n Title,\r\n Media,\r\n Image,\r\n Video,\r\n Content,\r\n Description,\r\n Logo,\r\n Buttons,\r\n ContentTeaser,\r\n ContentTeaserIcon,\r\n ControlsContainer,\r\n Controls,\r\n Pagination,\r\n PaginationItem,\r\n};\r\n","import { MediaType } from '@core/enums';\r\nimport { Device, from } from '@helpers/media';\r\nimport { useInView } from '@hooks/useInView';\r\nimport useMedia from '@hooks/useMedia';\r\nimport { Textfit } from 'react-textfit';\r\nimport Arrow from '@img/icons/arrow.svg';\r\nimport Image from '@stories/Components/Media/Image/Image';\r\nimport CarouselButton from '@stories/Elements/CarouselButton/CarouselButton';\r\nimport { CTATheme } from '@stories/Elements/Forms/CTA/CTA.styles';\r\nimport CTAAnchor from '@stories/Elements/Forms/CTA/CTAAnchor';\r\nimport CTAButton from '@stories/Elements/Forms/CTA/CTAButton';\r\nimport ImageTransform from '@tti/image-transform';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { BannerStyles } from './Banner.styles';\r\nconst BannerSlide = ({ title, description, cta, mediaType, mediaUrl, logoUrl, mediaTeaserUrl, setHasInteracted, }) => {\r\n const [slideRef, inView] = useInView({ threshold: 0.35 });\r\n const [showFullVideo, _setShowFullVideo] = useState(mediaTeaserUrl ? false : true);\r\n const animateInView = inView && (mediaType === MediaType.Image ? true : !showFullVideo);\r\n const fullVideoRef = useRef(null);\r\n const teaserVideoRef = useRef(null);\r\n const titleSize = useMedia([from(Device.Tablet), from(Device.DesktopLarge)], [63, 85], 45);\r\n const setShowFullVideo = (value) => {\r\n _setShowFullVideo(value);\r\n if (teaserVideoRef.current !== null) {\r\n if (value === false) {\r\n teaserVideoRef.current.play();\r\n }\r\n else {\r\n teaserVideoRef.current.pause();\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n if (showFullVideo === false ||\r\n fullVideoRef.current === null ||\r\n teaserVideoRef.current === null ||\r\n window.matchMedia(from(Device.TabletLarge)).matches) {\r\n return;\r\n }\r\n if (document.fullscreenEnabled) {\r\n fullVideoRef.current.requestFullscreen();\r\n }\r\n // Add the fullscreen event and hide the video when it's closed\r\n fullVideoRef.current.addEventListener('fullscreenchange', () => {\r\n if (!document.fullscreenElement) {\r\n setShowFullVideo(false);\r\n }\r\n });\r\n // IOS event when the native player closes\r\n fullVideoRef.current.addEventListener('webkitendfullscreen', () => {\r\n setShowFullVideo(false);\r\n });\r\n }, [showFullVideo]);\r\n const handleFullVideoClick = () => {\r\n if (setHasInteracted !== undefined) {\r\n setHasInteracted(true);\r\n setShowFullVideo(true);\r\n }\r\n };\r\n return (React.createElement(BannerStyles.Slide, { ref: slideRef },\r\n showFullVideo && mediaType === MediaType.Video ? (React.createElement(BannerStyles.ContentTeaser, { onClick: () => setShowFullVideo(false) },\r\n React.createElement(BannerStyles.ContentTeaserIcon, null,\r\n React.createElement(Arrow, null)))) : null,\r\n React.createElement(BannerStyles.Media, null, mediaType === MediaType.Video ? (React.createElement(React.Fragment, null,\r\n showFullVideo ? (React.createElement(BannerStyles.Video, { isAbsolute: true, src: mediaUrl, autoPlay: true, preload: \"none\", loop: true, ref: fullVideoRef, \r\n // Handle IOS as that plays in its own popup whereas android uses the fullscreen api\r\n playsInline: false })) : null,\r\n React.createElement(BannerStyles.Video, { isAbsolute: false, src: mediaTeaserUrl, muted: true, autoPlay: true, playsInline: true, loop: true, ref: teaserVideoRef }))) : (React.createElement(Image, { alt: title, src: mediaUrl, sizes: \"100vw\", Component: BannerStyles.Image }))),\r\n React.createElement(BannerStyles.Content, { inView: animateInView },\r\n React.createElement(BannerStyles.Title, { inView: animateInView },\r\n React.createElement(\"div\", null, animateInView && (React.createElement(Textfit, { mode: \"multi\", max: titleSize }, title)))),\r\n React.createElement(BannerStyles.Description, { inView: animateInView },\r\n React.createElement(\"span\", null, description)),\r\n cta || logoUrl ? (React.createElement(BannerStyles.Buttons, { inView: animateInView },\r\n React.createElement(\"div\", null,\r\n mediaType === MediaType.Video && !cta?.url && cta && mediaTeaserUrl ? (React.createElement(CTAButton, { onClick: () => handleFullVideoClick(), text: cta.text, theme: CTATheme.WhiteToBlack, inView: animateInView })) : null,\r\n mediaType === MediaType.Video && cta?.url ? React.createElement(CTAAnchor, { href: cta.url, text: cta.text, theme: CTATheme.WhiteToBlack }) : null,\r\n mediaType === MediaType.Image && cta ? (React.createElement(CTAAnchor, { href: cta.url, text: cta.text, target: cta.target, theme: CTATheme.WhiteToBlack, inView: animateInView })) : null,\r\n logoUrl ? React.createElement(BannerStyles.Logo, { src: new ImageTransform(logoUrl).width(150).url, alt: description, loading: \"eager\" }) : null))) : null)));\r\n};\r\nconst Banner = ({ items, pageContext: { isEditMode } }) => {\r\n const [slideIndex, setSlideIndex] = useState(0);\r\n const lastSlideIndex = useRef(0);\r\n const [elementRef, inView] = useInView({ threshold: 0.35 }, false, isEditMode);\r\n const [hasInteracted, setHasInteracted] = useState(false);\r\n const [hasLoaded, setHasLoaded] = useState(false);\r\n useEffect(() => {\r\n if (hasInteracted) {\r\n return;\r\n }\r\n // Get the next slide\r\n lastSlideIndex.current = slideIndex;\r\n let nextIndex = slideIndex + 1;\r\n if (nextIndex > 1 && hasLoaded === false) {\r\n setHasLoaded(true);\r\n }\r\n if (nextIndex >= items.length) {\r\n nextIndex = 0;\r\n }\r\n // Set a timeout for the next slide\r\n const handle = setTimeout(() => {\r\n setSlideIndex(nextIndex);\r\n }, 12000);\r\n return () => window.clearTimeout(handle);\r\n }, [slideIndex]);\r\n const handleClick = (direction) => {\r\n setHasInteracted(true);\r\n lastSlideIndex.current = slideIndex;\r\n let newIndex;\r\n if (direction === 'previous') {\r\n newIndex = slideIndex - 1;\r\n if (newIndex < 0) {\r\n newIndex = items.length - 1;\r\n }\r\n }\r\n else {\r\n newIndex = slideIndex + 1;\r\n if (newIndex > items.length - 1) {\r\n newIndex = 0;\r\n }\r\n }\r\n setSlideIndex(newIndex);\r\n };\r\n return (React.createElement(BannerStyles.Wrapper, { ref: elementRef },\r\n React.createElement(BannerStyles.SlidesContainer, null,\r\n React.createElement(BannerSlide, Object.assign({ key: slideIndex }, items[slideIndex], { setHasInteracted: setHasInteracted }))),\r\n items.length > 1 && (React.createElement(BannerStyles.ControlsContainer, null,\r\n React.createElement(BannerStyles.Pagination, { inView: inView }, items.map((item, index) => (React.createElement(BannerStyles.PaginationItem, { key: item.title, isActive: slideIndex === index, onClick: () => setSlideIndex(index) })))),\r\n React.createElement(BannerStyles.Controls, { inView: inView, mobileOnly: true, desktopOnly: false },\r\n React.createElement(CarouselButton, { theme: 'blue', direction: \"previous\", onClick: () => handleClick('previous') }),\r\n React.createElement(CarouselButton, { theme: 'blue', direction: \"next\", onClick: () => handleClick('next') })),\r\n React.createElement(BannerStyles.Controls, { inView: inView, mobileOnly: false, desktopOnly: true },\r\n React.createElement(CarouselButton, { theme: 'blue', direction: \"previous\", onClick: () => handleClick('previous') }),\r\n React.createElement(CarouselButton, { theme: 'blue', direction: \"next\", onClick: () => handleClick('next') }))))));\r\n};\r\nexport default Banner;\r\n","import { css, keyframes } from 'styled-components';\r\nconst easeInOutCubic = 'cubic-bezier(0.645, 0.045, 0.355, 1)';\r\nexport default {\r\n easeInOutCubic,\r\n};\r\nconst reset = keyframes `\r\n 100% {\r\n transform: translate(0%, 0%);\r\n opacity: 1;\r\n }\r\n`;\r\nexport function fadeInLeft(amount, duration, delay, easingFunc) {\r\n return css `\r\n opacity: 0;\r\n transform: translateX(-${amount}px);\r\n animation: ${reset} ${duration}ms ${delay}ms ${easingFunc} forwards;\r\n `;\r\n}\r\nexport function fadeIn(inView, duration, delay, easingFunc) {\r\n return css `\r\n transition: opacity ${duration}ms ${delay}ms ${easingFunc};\r\n\r\n ${inView\r\n ? css `\r\n opacity: 1;\r\n `\r\n : css `\r\n opacity: 0;\r\n `}\r\n `;\r\n}\r\nexport function fadeInUp(inView, amount, duration, delay, easingFunc) {\r\n return css `\r\n transition: opacity ${duration}ms ${delay}ms ${easingFunc}, transform ${duration}ms ${delay}ms ${easingFunc};\r\n\r\n ${inView\r\n ? css `\r\n opacity: 1;\r\n transform: none;\r\n `\r\n : css `\r\n opacity: 0;\r\n transform: translateY(${amount}px);\r\n `}\r\n `;\r\n}\r\nexport function slideUp(inView, order, delay = 300, easingFunc = easeInOutCubic, animateOnExit = true) {\r\n if (inView) {\r\n return css `\r\n transform: translateY(0%);\r\n transition: transform 650ms ${delay + order * 100}ms ${easingFunc};\r\n `;\r\n }\r\n else if (animateOnExit) {\r\n return css `\r\n transform: translateY(120%);\r\n transition: transform 650ms ${delay + order * 100}ms ${easingFunc};\r\n `;\r\n }\r\n else {\r\n return css `\r\n transform: translateY(120%);\r\n `;\r\n }\r\n}\r\nexport function greyscaleImgFade(inView, duration, delay, filterDelay, easingFunc) {\r\n return css `\r\n transition: opacity ${duration}ms ${delay}ms ${easingFunc}, filter ${duration}ms ${filterDelay}ms ${easingFunc};\r\n\r\n ${inView\r\n ? css `\r\n opacity: 1;\r\n filter: grayscale(0);\r\n `\r\n : css `\r\n opacity: 0;\r\n filter: grayscale(1);\r\n `}\r\n `;\r\n}\r\n","import React from 'react';\r\nimport { CTAStyles, CTATheme } from './CTA.styles';\r\nimport { Textfit } from 'react-textfit';\r\nconst CTAAnchor = ({ text, href, theme = CTATheme.Blue, target, inView = true }) => {\r\n return (React.createElement(CTAStyles.AnchorElement, { theme: theme, href: href, target: target }, inView && (React.createElement(Textfit, { mode: \"single\", max: 22 }, text))));\r\n};\r\nexport default CTAAnchor;\r\n","import { css } from 'styled-components';\r\nimport { Device, from } from './media';\r\nconst base = css `\r\n display: grid;\r\n grid-gap: 16px;\r\n width: 100%;\r\n grid-template-columns: repeat(12, 1fr);\r\n`;\r\nconst baseFixed = css `\r\n display: grid;\r\n grid-gap: 16px;\r\n width: 100%;\r\n // 78px being the width of one column at 375 of the base grid above\r\n grid-auto-columns: 78px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n // 117px being the width of one column at 1920 of the base grid above\r\n grid-auto-columns: 117px;\r\n }\r\n`;\r\nexport const SitePadding = css `\r\n padding-left: 18px;\r\n padding-right: 18px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n padding-left: 40px;\r\n padding-right: 40px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding-left: 70px;\r\n padding-right: 70px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n padding-left: 130px;\r\n padding-right: 130px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n padding-left: 170px;\r\n padding-right: 170px;\r\n }\r\n`;\r\nconst SitePaddingBreakoutLeft = css `\r\n left: 0;\r\n right: 0px;\r\n grid-column: span 12;\r\n margin-left: -18px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin-left: -40px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin-left: -70px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n margin-left: -130px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n margin-left: -170px;\r\n }\r\n`;\r\nconst SitePaddingBreakoutRight = css `\r\n left: 0;\r\n right: 0px;\r\n grid-column: span 12;\r\n margin-right: -18px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin-right: -40px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin-right: -70px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n margin-right: -130px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n margin-right: -170px;\r\n }\r\n`;\r\nconst SitePaddingBreakout = css `\r\n left: 0;\r\n right: 0px;\r\n grid-column: span 12;\r\n margin-left: -18px;\r\n margin-right: -18px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n margin-left: -40px;\r\n margin-right: -40px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin-left: -70px;\r\n margin-right: -70px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n margin-left: -130px;\r\n margin-right: -130px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n margin-left: -170px;\r\n margin-right: -170px;\r\n }\r\n`;\r\nconst Default = css `\r\n ${base};\r\n ${SitePadding};\r\n`;\r\nconst Fixed = css `\r\n ${baseFixed};\r\n`;\r\nexport default {\r\n Default,\r\n Fixed,\r\n SitePaddingBreakout,\r\n SitePaddingBreakoutLeft,\r\n SitePaddingBreakoutRight,\r\n base,\r\n};\r\n","export var MediaType;\r\n(function (MediaType) {\r\n MediaType[MediaType[\"Image\"] = 0] = \"Image\";\r\n MediaType[MediaType[\"Video\"] = 1] = \"Video\";\r\n})(MediaType || (MediaType = {}));\r\nexport var Icon;\r\n(function (Icon) {\r\n Icon[Icon[\"None\"] = 0] = \"None\";\r\n Icon[Icon[\"TrueBlue\"] = 1] = \"TrueBlue\";\r\n})(Icon || (Icon = {}));\r\n"],"sourceRoot":""}