{"version":3,"sources":["webpack:///./presentation/hocs/withLanguage.ts","webpack:///./presentation/utils/rgba.js","webpack:///./presentation/hooks/withUrlComponent.ts","webpack:///./presentation/components/common/Layer/Parallax.tsx","webpack:///./presentation/components/common/Layer/Parallax.stylesheet.ts","webpack:///./presentation/components/common/Layer/Static.tsx","webpack:///./presentation/components/common/Layer/Layer.tsx","webpack:///./presentation/components/common/Layer/Layer.stylesheet.ts","webpack:///./presentation/components/common/Layer/index.ts","webpack:///../node_modules/ulid/dist/index.esm.js","webpack:///src/presentation/components/ribbons/billboard/CornerEmbellishments.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/CornerEmbellishments.tsx","webpack:///./presentation/components/ribbons/billboard/Wash.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/Wash.tsx","webpack:///./presentation/components/ribbons/billboard/Background.tsx","webpack:///./presentation/components/ribbons/billboard/Background.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/Body.tsx","webpack:///src/presentation/components/ribbons/billboard/Body.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/Scroll.tsx","webpack:///./presentation/components/ribbons/billboard/Scroll.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/styles.ts","webpack:///./presentation/components/ribbons/billboard/layouts/Generic.tsx","webpack:///./presentation/components/ribbons/billboard/layouts/Generic.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/layouts/Duo.tsx","webpack:///src/presentation/components/ribbons/billboard/layouts/Duo.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/constants.ts","webpack:///./presentation/components/ribbons/billboard/Tile.tsx","webpack:///src/presentation/components/ribbons/billboard/Tile.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/Tiles.tsx","webpack:///./presentation/components/ribbons/billboard/Tiles.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/layouts/WithTiles.tsx","webpack:///src/presentation/components/ribbons/billboard/layouts/WithTiles.stylesheet.ts","webpack:///./presentation/components/ribbons/billboard/Billboard.tsx","webpack:///./presentation/components/ribbons/billboard/index.ts"],"names":["BaseComponent","compose","connect","state","currentLanguage","getCurrentLanguage","c","a","color","alpha","string","withUrlComponent","withProps","props","r","Component","isInternalUrl","url","NavLink","to","isHashUrl","href","PureParallax","layer","styles","useStyles","default","image","width","height","backgroundImage","urlLanguageParse","imageUrl","backgroundRepeat","backgroundSize","backgroundPosition","useStylesheet","data","start","duration","properties","startValue","fx","type","endValue","property","getParallaxData","parallaxData","style","displayName","withLanguage","enhance","pureEnhance","hocs","hooks","test","navigator","userAgent","vendor","webpUrl","focus","role","PureLayer","isParallax","root","position","top","overflow","plx","aria-label","createImageAlt","Parallax","Static","LayerComponent","createError","message","err","Error","source","ENCODING","ENCODING_LEN","length","TIME_MAX","Math","pow","randomChar","prng","rand","floor","charAt","encodeTime","now","len","isNaN","Number","isInteger","mod","str","encodeRandom","detectPrng","allowInsecure","arguments","undefined","window","browserCrypto","crypto","msCrypto","buffer","Uint8Array","getRandomValues","nodeCrypto","randomBytes","readUInt8","e","console","error","random","ulid","currPrng","seedTime","Date","factory","cornerToPosition","gu2CornerSize","gu","gu2px","spacing","generateCornerImages","isMinMd","embellishments","cornerEmbellishments","size","cornerSize","filteredEmbellishments","Object","repeat","cornerArrayToCssProperty","cornerImages","joinedPropArray","PureCornerEmbellishments","breakpoints","useBreakpoints","theme","useTheme","pointerEvents","bottom","left","right","longhand","colorway","layout","duoLayout","hasTiles","palette","wash","clr","Colorway","LIGHT","rgba","generateBackground","alignment","Alignment","CENTER","gradient","modifier","background","NEUTRAL","grey10","DARK","PRIMARY","primary","PRIMARY_GRADIENT","HIGHLIGHT","highlight","PureWash","PureBackground","hideGradient","videoWrapper","video","objectFit","objectPosition","fallbackVideoImage","minHeight","minWidth","activeBackground","findResponsiveItem","backgroundType","Array","isArray","loop","muted","autoPlay","playsInline","poster","fallback","src","mp4","webm","loading","alt","Layer","key","i","Wash","PureBody","hBaseline","text","additionalText","footerText","ctas","ribbonId","isMinSm","body","precursor","title","hasBodyText","isNilOrEmpty","hasCta","hasPrecursor","hasTitle","hasFooterText","typography","getTitleColor","subtitle","getBodyColor","marginTop","display","flexDirection","cta","smallprint","opacity","cssSides","Side","marginBottom","textAlign","justifyContent","depth","Shortcode","against","code","component","CallToAction","getAgainst","block","ButtonSize","LG","index","side","X","PureBillboardScroll","onScrollClick","scroller","paddingTop","scrollAgainst","onClick","kind","Kind","TERTIARY","glyph","id","halfContainerWidth","space","getActiveAnchor","anchor","from","getActive","flexAnchors","Anchor","TOP","PureBillboardGeneric","showScroll","breakpointProps","getBreakpoints","activeAnchor","content","flex","flexBasis","justify","Justify","Background","vblock","xs","md","lg","Body","Scroll","PureBillboardDuo","isMinXl","startDuoLayout","maxWidth","isDuoLayoutMd","marginLeft","isDuoLayoutLg","isDuoLayoutXl","marginRight","isMinLg","Layout","PureTile","action","rightTile","tilesSide","backgroundColor","getBackgroundColor","textDecoration","ribbonPadding","shrinkLeading","shrinkTrailing","leftTile","container","paddingRight","box","wrapperText","wrapperIcon","icon","hover","animation","animationTimingFunction","animationDirection","animationFillMode","leftTileMedium","rightTileMedium","leftTileLarge","tilesStartLarge","TilesSide","START","linkAttribution","withHover","callToAction","PureTiles","tiles","tile","WebkitFlexBasis","tileAnimation","Tile","PureBillboardTiles","webkitFlexBasis","row","lgStartTile","direction","END","Direction","ROW","ROW_REVERSE","gutters","Tiles","BillboardLayout","PureBillboard","name","duo","fitSet","fit","Fit","FILL","FULLSCREEN","shouldShowScroll","hasTwoTiles","bottomScrollName","setBottomScrollName","useState","scrollTo","delay","smooth","scrollHandler","Ribbon","flush","CornerEmbellishments","errorBoundary","visibilitySet","Billboard"],"mappings":"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","file":"pex-static/29/7.1927cad0077be090c7da.chunk.js","sourcesContent":["import {\n compose,\n} from 'recompose';\nimport { connect } from 'react-redux';\nimport { getCurrentLanguage } from 'domain/selectors/ribbons';\n\nexport default (BaseComponent: any) => {\n return compose(\n connect((state) => {\n return {\n currentLanguage: getCurrentLanguage(state),\n };\n }),\n )(BaseComponent);\n};\n","import color from 'color';\n\nexport default (c, a) =>\n color(c)\n .alpha(a)\n .string();\n","import * as r from 'ramda';\nimport { withProps } from '@team-griffin/rehook';\nimport { isInternalUrl, isHashUrl } from 'domain/url';\nimport { NavLink } from 'react-router-dom';\n\ninterface AnyProps {\n url?: string,\n action?: {\n url?: string,\n [key: string]: any,\n }\n [key: string]: any,\n}\n\nexport type UrlComponentType = typeof NavLink | 'a' | 'div';\nconst withUrlComponent = withProps((props: AnyProps) => r.pipe(\n r.either(\n r.prop('url'),\n r.path([ 'action', 'url' ]),\n ),\n r.cond([\n [\n r.isNil,\n () => ({\n Component: 'div',\n }),\n ],\n [\n isInternalUrl,\n (url) => ({\n Component: NavLink,\n to: url,\n }),\n ],\n [\n isHashUrl,\n (url) => ({\n Component: NavLink,\n to: url,\n }),\n ],\n [\n r.T,\n (url) => ({\n Component: 'a',\n href: url,\n }),\n ],\n ]),\n//@ts-ignore\n)(props));\n\nexport default withUrlComponent;","import React, { ComponentClass } from 'react';\nimport useStylesheet from './Parallax.stylesheet';\nimport Plx from 'react-plx';\nimport withLanguage from 'presentation/hocs/withLanguage';\nimport { Layer } from './Layer';\n\ninterface OuterProps {\n layer: Layer,\n}\n\nexport interface InnerProps extends OuterProps {\n currentLanguage: string,\n}\nconst getParallaxData = ({\n layer,\n}: OuterProps) => {\n return [{\n start: 'self',\n // @TODO: this value will have to be determined by the ribbon's height.\n // We might have to use react-height here to help us.\n // ---\n // It is double the value of the viewheight to ensure that\n // it keeps performing the parallax scrolling past.\n // 200vh was an arbitary number. This will have to be tweaked with Matt's\n // consent.Make sure that when you tweak this number you also tweak\n // the height calc in the stylesheet\n duration: '200vh',\n properties: [\n {\n startValue: layer.fx.type === 'parallax' ? -400 : 0,\n endValue: 0,\n property: 'translateY',\n },\n ],\n }];\n};\n\nexport const PureParallax = ({\n layer,\n currentLanguage,\n}: InnerProps) => {\n const {\n styles,\n } = useStylesheet({\n layer,\n currentLanguage,\n });\n const data = getParallaxData({ layer });\n return (\n \n );\n};\n\nPureParallax.displayName = 'Parallax';\n\nexport default withLanguage(PureParallax) as ComponentClass;\n","import { CSSProperties } from 'react';\nimport { useStyles } from '@team-griffin/stylr';\nimport urlLanguageParse from 'presentation/utils/urlLanguageParse';\nimport { InnerProps } from './Parallax';\n\nexport interface Styles {\n image: CSSProperties,\n}\nexport default ({\n layer,\n currentLanguage,\n}: InnerProps) => {\n\n return useStyles({\n default: {\n image: {\n width: '100%',\n height: '100%',\n backgroundImage: `url(${urlLanguageParse(layer.imageUrl, currentLanguage)})`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n backgroundPosition: 'center center',\n },\n },\n }, [\n { layer: layer.imageUrl },\n ]);\n};\n","import React, { CSSProperties } from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport urlLanguageParse from 'presentation/utils/urlLanguageParse';\nimport withLanguage from 'presentation/hocs/withLanguage';\nimport { useStyles } from '@team-griffin/stylr';\nimport pureEnhance from '@ux/pure-enhance';\nimport { Layer } from './Layer';\n\ninterface OuterProps {\n layer: Layer,\n}\n\ninterface InnerProps extends OuterProps {\n currentLanguage: string,\n imageUrl: string,\n styles: {\n image: CSSProperties,\n },\n}\n\nconst stylesheet = ({\n layer,\n imageUrl,\n}: InnerProps) => {\n\n return useStyles({\n default: {\n image: {\n width: '100%',\n height: '100%',\n backgroundSize: 'cover',\n backgroundPosition: layer.focus || 'center center',\n backgroundImage: `url(${imageUrl})`,\n backgroundRepeat: 'no-repeat',\n },\n },\n }, [\n { imageUrl },\n ]);\n};\n\nexport const PureStatic = ({\n styles,\n}: InnerProps) => (\n \n);\n\nexport const enhance = pureEnhance(\n 'Static',\n {\n hocs: [\n withLanguage,\n ],\n hooks: [\n withProps(({\n layer,\n currentLanguage,\n }: InnerProps) => {\n const isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);\n const image = (isChrome === true && layer.webpUrl != null) ? layer.webpUrl : layer.imageUrl;\n const imageUrl = urlLanguageParse(image, currentLanguage);\n\n return {\n imageUrl,\n };\n }),\n withProps(stylesheet),\n ],\n },\n\n);\n\nexport default enhance(PureStatic);\n","import React from 'react';\nimport Parallax from './Parallax';\nimport Static from './Static';\nimport createImageAlt from 'presentation/utils/createImageAlt';\nimport useStylesheet from './Layer.stylesheet';\n\nexport interface Layer {\n imageUrl?: string,\n focus: string,\n webpUrl?: string,\n fx: {\n type: string\n },\n}\n\ninterface OuterProps {\n layer: Layer,\n}\n\nexport const PureLayer = ({\n layer,\n}: OuterProps) => {\n const isParallax = layer.fx.type === 'parallax';\n const {\n styles,\n } = useStylesheet();\n return (\n \n \n \n
\n \n
\n
\n \n \n \n
\n \n );\n};\n\nPureLayer.displayName = 'Layer';\n\nexport default PureLayer;\n","import { useStyles } from '@team-griffin/stylr';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n root: CSSProperties,\n plx: CSSProperties,\n}\n\nexport default () => useStyles({\n default: {\n // We wrap the actual parallax element in another\n // element as parallax uses `transform` and we can\n // not specify 2 of those one a single element.\n root: {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n },\n plx: {\n // We add on 400px here as a buffer space to work with parallaxing.\n // Whatever the amount to parallax is set to * 2.\n height: 'calc(100% + 400px)',\n position: 'absolute',\n top: 0,\n width: '100%',\n },\n },\n});\n","import LayerComponent, { Layer } from './Layer';\nexport {\n Layer,\n};\nexport default LayerComponent;\n","function createError(message) {\n var err = new Error(message);\n err.source = \"ulid\";\n return err;\n}\n// These values should NEVER change. If\n// they do, we're no longer making ulids!\nvar ENCODING = \"0123456789ABCDEFGHJKMNPQRSTVWXYZ\"; // Crockford's Base32\nvar ENCODING_LEN = ENCODING.length;\nvar TIME_MAX = Math.pow(2, 48) - 1;\nvar TIME_LEN = 10;\nvar RANDOM_LEN = 16;\nfunction replaceCharAt(str, index, char) {\n if (index > str.length - 1) {\n return str;\n }\n return str.substr(0, index) + char + str.substr(index + 1);\n}\nfunction incrementBase32(str) {\n var done = undefined;\n var index = str.length;\n var char = void 0;\n var charIndex = void 0;\n var maxCharIndex = ENCODING_LEN - 1;\n while (!done && index-- >= 0) {\n char = str[index];\n charIndex = ENCODING.indexOf(char);\n if (charIndex === -1) {\n throw createError(\"incorrectly encoded string\");\n }\n if (charIndex === maxCharIndex) {\n str = replaceCharAt(str, index, ENCODING[0]);\n continue;\n }\n done = replaceCharAt(str, index, ENCODING[charIndex + 1]);\n }\n if (typeof done === \"string\") {\n return done;\n }\n throw createError(\"cannot increment this string\");\n}\nfunction randomChar(prng) {\n var rand = Math.floor(prng() * ENCODING_LEN);\n if (rand === ENCODING_LEN) {\n rand = ENCODING_LEN - 1;\n }\n return ENCODING.charAt(rand);\n}\nfunction encodeTime(now, len) {\n if (isNaN(now)) {\n throw new Error(now + \" must be a number\");\n }\n if (now > TIME_MAX) {\n throw createError(\"cannot encode time greater than \" + TIME_MAX);\n }\n if (now < 0) {\n throw createError(\"time must be positive\");\n }\n if (Number.isInteger(now) === false) {\n throw createError(\"time must be an integer\");\n }\n var mod = void 0;\n var str = \"\";\n for (; len > 0; len--) {\n mod = now % ENCODING_LEN;\n str = ENCODING.charAt(mod) + str;\n now = (now - mod) / ENCODING_LEN;\n }\n return str;\n}\nfunction encodeRandom(len, prng) {\n var str = \"\";\n for (; len > 0; len--) {\n str = randomChar(prng) + str;\n }\n return str;\n}\nfunction decodeTime(id) {\n if (id.length !== TIME_LEN + RANDOM_LEN) {\n throw createError(\"malformed ulid\");\n }\n var time = id.substr(0, TIME_LEN).split(\"\").reverse().reduce(function (carry, char, index) {\n var encodingIndex = ENCODING.indexOf(char);\n if (encodingIndex === -1) {\n throw createError(\"invalid character found: \" + char);\n }\n return carry += encodingIndex * Math.pow(ENCODING_LEN, index);\n }, 0);\n if (time > TIME_MAX) {\n throw createError(\"malformed ulid, timestamp too large\");\n }\n return time;\n}\nfunction detectPrng() {\n var allowInsecure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var root = arguments[1];\n\n if (!root) {\n root = typeof window !== \"undefined\" ? window : null;\n }\n var browserCrypto = root && (root.crypto || root.msCrypto);\n if (browserCrypto) {\n return function () {\n var buffer = new Uint8Array(1);\n browserCrypto.getRandomValues(buffer);\n return buffer[0] / 0xff;\n };\n } else {\n try {\n var nodeCrypto = require(\"crypto\");\n return function () {\n return nodeCrypto.randomBytes(1).readUInt8() / 0xff;\n };\n } catch (e) {}\n }\n if (allowInsecure) {\n try {\n console.error(\"secure crypto unusable, falling back to insecure Math.random()!\");\n } catch (e) {}\n return function () {\n return Math.random();\n };\n }\n throw createError(\"secure crypto unusable, insecure Math.random not allowed\");\n}\nfunction factory(currPrng) {\n if (!currPrng) {\n currPrng = detectPrng();\n }\n return function ulid(seedTime) {\n if (isNaN(seedTime)) {\n seedTime = Date.now();\n }\n return encodeTime(seedTime, TIME_LEN) + encodeRandom(RANDOM_LEN, currPrng);\n };\n}\nfunction monotonicFactory(currPrng) {\n if (!currPrng) {\n currPrng = detectPrng();\n }\n var lastTime = 0;\n var lastRandom = void 0;\n return function ulid(seedTime) {\n if (isNaN(seedTime)) {\n seedTime = Date.now();\n }\n if (seedTime <= lastTime) {\n var incrementedRandom = lastRandom = incrementBase32(lastRandom);\n return encodeTime(lastTime, TIME_LEN) + incrementedRandom;\n }\n lastTime = seedTime;\n var newRandom = lastRandom = encodeRandom(RANDOM_LEN, currPrng);\n return encodeTime(seedTime, TIME_LEN) + newRandom;\n };\n}\nvar ulid = factory();\n\nexport { replaceCharAt, incrementBase32, randomChar, encodeTime, encodeRandom, decodeTime, detectPrng, factory, monotonicFactory, ulid };\n","import { useStyles } from '@team-griffin/stylr';\nimport longhand from '@team-griffin/css-longhand';\nimport { gu2px, Theme, useTheme } from '@ux/theme-utils';\nimport urlLanguageParse from 'presentation/utils/urlLanguageParse';\nimport { CornerEmbellishmentsType } from './CornerEmbellishments';\nimport { useBreakpoints } from '@ux/responsive';\n\nconst cornerToPosition = (str: string) => {\n switch (str) {\n case 'topLeft': return '0 0';\n case 'topRight': return 'right 0';\n case 'bottomLeft': return '0 bottom';\n case 'bottomRight': return 'right bottom';\n default: return '';\n }\n};\n\nconst gu2CornerSize = (gu: number, spacing?: number) => `${gu2px(gu, spacing)}px ${gu2px(gu, spacing)}px`;\n\nconst cornerSize = ({\n theme,\n isMinSm,\n isMinMd,\n}: {\n theme: Theme,\n isMinSm: boolean,\n isMinMd: boolean,\n}) => {\n const {\n spacing,\n } = theme;\n if (isMinMd) {\n return gu2CornerSize(6, spacing);\n }\n if (isMinSm) {\n return gu2CornerSize(5, spacing);\n }\n return gu2CornerSize(4, spacing);\n};\n\nconst generateCornerImages = ({\n cornerEmbellishments,\n currentLanguage,\n theme,\n isMinSm,\n isMinMd,\n}: {\n cornerEmbellishments: CornerEmbellishmentsType,\n currentLanguage: string,\n theme: Theme,\n isMinSm: boolean,\n isMinMd: boolean,\n}) => {\n const embellishments = cornerEmbellishments ?? {};\n const size = cornerSize({\n theme,\n isMinSm,\n isMinMd,\n });\n const filteredEmbellishments = [] as {\n image: string,\n size: string,\n position: string,\n repeat: string,\n }[];\n Object.keys(embellishments).forEach((\n corner: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight',\n ) => {\n if (embellishments[corner] !== null) {\n filteredEmbellishments.push({\n image: `url(${urlLanguageParse(embellishments[corner], currentLanguage)})`,\n size,\n position: cornerToPosition(corner),\n repeat: 'no-repeat',\n });\n }\n });\n return filteredEmbellishments;\n};\n\nconst cornerArrayToCssProperty = (\n prop: 'image' | 'size' | 'position' | 'repeat',\n cornerImages: {\n image: string,\n size: string,\n position: string,\n repeat: string,\n }[],\n) => {\n const joinedPropArray: string[] = [];\n cornerImages.forEach((image) => {\n joinedPropArray.push(image[prop]);\n });\n return joinedPropArray.join(',');\n};\n\nexport default ({\n currentLanguage,\n cornerEmbellishments,\n}: {\n currentLanguage: string,\n cornerEmbellishments: CornerEmbellishmentsType,\n}) => {\n const breakpoints = useBreakpoints();\n const {\n theme,\n } = useTheme();\n const cornerImages = generateCornerImages({\n currentLanguage,\n cornerEmbellishments,\n ...breakpoints,\n theme,\n });\n return useStyles({\n default: {\n root: {\n position: 'absolute',\n pointerEvents: 'none',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n ...longhand('background', {\n size: cornerArrayToCssProperty('size', cornerImages),\n image: cornerArrayToCssProperty('image', cornerImages),\n position: cornerArrayToCssProperty('position', cornerImages),\n repeat: cornerArrayToCssProperty('repeat', cornerImages),\n }),\n },\n },\n }, []);\n};","import React, { ComponentClass } from 'react';\nimport withLanguage from 'presentation/hocs/withLanguage';\nimport useStylesheet from './CornerEmbellishments.stylesheet';\n\nexport type CornerEmbellishmentsType = {\n topRight?: string,\n bottomRight?: string,\n bottomLeft?: string,\n topLeft?: string\n};\ninterface OuterProps {\n cornerEmbellishments?: CornerEmbellishmentsType,\n}\n\nexport interface InnerProps extends OuterProps {\n currentLanguage: string,\n}\nconst PureCornerEmbellishments = ({\n currentLanguage,\n cornerEmbellishments,\n}: InnerProps) => {\n const {\n styles,\n } = useStylesheet({\n currentLanguage,\n cornerEmbellishments,\n });\n return (\n
\n );\n};\n\nPureCornerEmbellishments.displayName = 'CornerEmbellishments';\n\nexport default withLanguage(PureCornerEmbellishments) as ComponentClass;","import { useStyles } from '@team-griffin/stylr';\nimport { Colorway } from 'domain/constants/colorway';\nimport {\n modifier,\n} from '@ux/style-utils';\nimport rgba from 'presentation/utils/rgba';\nimport { Color, useTheme } from '@ux/theme-utils';\nimport { Layout } from 'domain/constants/layout';\nimport { useBreakpoints } from '@ux/responsive';\nimport { Alignment } from 'domain/constants/alignment';\n\nexport default (props: {\n colorway: Colorway,\n layout: Layout,\n duoLayout: boolean,\n hasTiles: boolean,\n}) => {\n const {\n colorway,\n layout,\n duoLayout,\n hasTiles,\n } = props;\n const {\n isMinMd,\n } = useBreakpoints();\n const {\n theme,\n } = useTheme();\n\n const {\n palette,\n } = theme;\n\n const wash = (clr: Color|string) => {\n if (colorway === Colorway.LIGHT) {\n return rgba(clr, 0.9);\n }\n return rgba(clr, 0.75);\n };\n\n const gradient = (clr: Color|string) => `\n linear-gradient(\n to right,\n ${rgba(clr, 0.9)} 40%,\n ${rgba(clr, 0.8)} 50%,\n ${rgba(clr, 0)} 65%\n )`;\n\n /*\n Creates a gradient or semi opaque wash\n Use the wash on:\n - mobile\n - we're center aligned text\n - we're a duo layout\n - we have tiles\n Use gradient otherwise\n */\n const generateBackground = (clr: Color|string) => {\n if (!isMinMd) {\n return wash(clr);\n }\n if (layout.alignment === Alignment.CENTER || duoLayout === true) {\n return wash(clr);\n }\n if (hasTiles) {\n return wash(clr);\n }\n return gradient(clr);\n };\n\n return useStyles({\n default: {\n root: {\n position: 'absolute',\n top: 0,\n width: '100%',\n height: '100%',\n },\n },\n\n [modifier('colorway', Colorway.LIGHT)]: {\n root: {\n background: generateBackground('#ffffff'),\n },\n },\n\n [modifier('colorway', Colorway.NEUTRAL)]: {\n root: {\n background: generateBackground(palette.grey10),\n },\n },\n\n [modifier('colorway', Colorway.DARK)]: {\n root: {\n background: generateBackground('#000000'),\n },\n },\n\n [modifier('colorway', Colorway.PRIMARY)]: {\n root: {\n background: generateBackground(palette.primary),\n },\n },\n\n [modifier('colorway', Colorway.PRIMARY_GRADIENT)]: {\n root: {\n background: generateBackground(palette.primary),\n },\n },\n\n [modifier('colorway', Colorway.HIGHLIGHT)]: {\n root: {\n background: generateBackground(palette.highlight),\n },\n },\n\n }, {\n colorway,\n isMinMd,\n });\n};","import React from 'react';\nimport useStylesheet from './Wash.stylesheet';\nimport { Colorway } from 'domain/constants/colorway';\nimport { Layout } from 'domain/constants/layout';\n\ninterface OuterProps {\n colorway: Colorway,\n layout: Layout,\n hasTiles: boolean,\n duoLayout: boolean,\n}\n\nexport const PureWash = ({\n colorway,\n layout,\n duoLayout,\n hasTiles,\n}: OuterProps) => {\n const {\n styles,\n } = useStylesheet({\n colorway,\n layout,\n duoLayout,\n hasTiles,\n });\n return (\n
\n );\n};\n\nPureWash.displayName = 'Wash';\n\nexport default PureWash;\n","import React, { ComponentClass } from 'react';\nimport { useBreakpoints } from '@ux/responsive';\nimport useStylesheet from './Background.stylesheet';\nimport Layer, { Layer as ImageLayer } from 'presentation/components/common/Layer';\nimport Wash from './Wash';\nimport withLanguage from 'presentation/hocs/withLanguage';\nimport urlLanguageParse from 'presentation/utils/urlLanguageParse';\nimport findResponsiveItem from 'presentation/utils/findResponsiveItem';\nimport { Layout } from 'domain/constants/layout';\nimport { Colorway } from 'domain/constants/colorway';\nimport { ResponsiveSet } from 'core/ribbons/primitives';\n\nexport interface Background {\n fallback: {\n url: string,\n },\n mp4?: string,\n webm?: string,\n}\nexport type BackgroundArray = ResponsiveSet;\n\ninterface OuterProps {\n layout: Layout,\n background: BackgroundArray,\n duoLayout?: boolean,\n hasTiles?: boolean,\n colorway: Colorway,\n hideGradient?: boolean,\n}\ninterface InnerProps extends OuterProps {\n currentLanguage: string,\n}\n\ndeclare const layer: ImageLayer;\ndeclare const i: number;\n\nexport const PureBackground = ({\n layout,\n duoLayout,\n hasTiles,\n colorway,\n currentLanguage,\n background,\n hideGradient = false,\n}: InnerProps) => {\n const { styles } = useStylesheet();\n const activeBackground = findResponsiveItem(\n useBreakpoints(),\n background,\n );\n const backgroundType = Array.isArray(activeBackground) ? 'image' : 'video';\n return (\n \n \n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n {!hideGradient && (\n \n )}\n
\n );\n};\n\nPureBackground.displayName = 'Background';\n\nexport default withLanguage(PureBackground) as ComponentClass;\n","import { useStyles } from '@team-griffin/stylr';\n\nexport default () => {\n return useStyles({\n default: {\n videoWrapper: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n overflow: 'hidden',\n },\n video: {\n objectFit: 'cover',\n objectPosition: 'center center',\n width: '100%',\n height: '100%',\n },\n fallbackVideoImage: {\n minHeight: '100%',\n minWidth: '100%',\n position: 'absolute',\n top: 0,\n },\n },\n }, []);\n};\n","import React, { Fragment, ReactNode } from 'react';\nimport { PreHeading01, Heading01, SubHeading01 } from '@ux/typography';\nimport PaddingBox, { Side } from '@ux/padding-box';\nimport CallToAction from 'components/common/CallToAction';\nimport { Size as ButtonSize } from '@ux/button';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\nimport { getAgainst } from 'presentation/utils/colorway';\nimport { useBreakpoints } from '@ux/responsive';\nimport useStylesheet from './Body.stylesheet';\nimport { useTheme } from '@ux/theme-utils';\nimport { Layout } from 'domain/constants/layout';\nimport { Colorway } from 'domain/constants/colorway';\nimport { CTA } from 'core/ribbons/cta';\nimport { isNilOrEmpty } from 'presentation/utils/generalUtils';\n\nexport interface OuterProps {\n hBaseline?: number,\n text: {\n precursor?: ShortcodeProps,\n title?: ShortcodeProps,\n body?: ShortcodeProps,\n },\n additionalText?: string|ReactNode,\n footerText?: string|ReactNode,\n ctas: CTA[],\n colorway: Colorway,\n layout: Layout,\n ribbonId: string,\n}\n\ndeclare const cta: CTA;\ndeclare const i: number;\n\nconst PureBody = ({\n hBaseline = 1,\n text,\n additionalText,\n footerText,\n ctas,\n colorway,\n layout,\n ribbonId,\n}: OuterProps) => {\n const {\n isMinSm,\n } = useBreakpoints();\n const {\n theme,\n } = useTheme();\n const {\n body,\n precursor,\n title,\n } = text;\n const hasBodyText = !isNilOrEmpty(body);\n const hasCta = !isNilOrEmpty(ctas);\n const hasPrecursor = !isNilOrEmpty(precursor);\n const hasTitle = !isNilOrEmpty(title);\n const hasFooterText = !isNilOrEmpty(footerText);\n const {\n styles,\n } = useStylesheet({\n isMinSm,\n theme,\n layout,\n colorway,\n });\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {additionalText}\n \n
\n \n \n \n \n \n
\n
\n \n \n \n {footerText}\n \n \n
\n );\n};\n\nPureBody.displayName = 'BillboardBody';\n\nexport default PureBody;","import { useStyles } from '@team-griffin/stylr';\nimport { getTitleColor, getBodyColor } from 'presentation/utils/colorway';\nimport { gu2px, Theme } from '@ux/theme-utils';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { modifier } from '@ux/style-utils';\nimport { Alignment } from 'domain/constants/alignment';\nimport { smallprint } from '@ux/type-size';\nimport { Colorway } from '@ux/bookends/dist/es/constants';\nimport { Layout } from 'domain/constants/layout';\n\nexport default ({\n theme,\n colorway,\n theme: {\n spacing,\n typography,\n },\n layout: {\n alignment,\n },\n isMinSm,\n}: {\n theme: Theme,\n colorway: Colorway,\n layout: Layout,\n isMinSm: Boolean,\n}) => useStyles({\n default: {\n root: {\n position: 'relative',\n },\n precursor: {\n color: getTitleColor(theme, colorway),\n },\n title: {\n color: getTitleColor(theme, colorway),\n },\n subtitle: {\n color: getBodyColor(theme, colorway),\n marginTop: gu2px(2, spacing),\n },\n ctas: {\n display: 'flex',\n flexDirection: 'column',\n marginTop: gu2px(2, spacing),\n overflow: 'hidden',\n },\n cta: {\n marginTop: gu2px(1, spacing),\n },\n footerText: {\n marginTop: gu2px(1, spacing),\n ...smallprint(typography),\n color: getBodyColor(theme, colorway),\n opacity: 0.9,\n },\n },\n\n isMinSm: {\n ctas: {\n flexDirection: 'row',\n ...cssSides('margin', Side.X, 0 - gu2px(0.5, spacing)),\n },\n cta: {\n marginBottom: 0,\n ...cssSides('margin', Side.X, gu2px(0.5, spacing)),\n },\n },\n\n [modifier('alignment', Alignment.CENTER)]: {\n root: {\n textAlign: 'center',\n },\n footerText: {\n textAlign: 'center',\n },\n ctas: {\n justifyContent: 'center',\n },\n },\n}, [\n { isMinSm },\n { alignment },\n]);","import React from 'react';\nimport PaddingBox from '@ux/padding-box';\nimport { Button, Kind } from '@ux/button';\nimport Message from '@ux/message';\nimport { Colorway } from 'domain/constants/colorway';\nimport useStylesheet from './Scroll.stylesheet';\nimport { Layout } from 'domain/constants/layout';\n\ninterface OuterProps {\n colorway: Colorway,\n onScrollClick: (evt: any) => any,\n layout: Layout,\n}\n\nexport const PureBillboardScroll = ({\n onScrollClick,\n layout,\n colorway,\n}: OuterProps) => {\n const {\n styles,\n } = useStylesheet({ layout });\n const scrollAgainst = colorway === Colorway.PRIMARY_GRADIENT ? Colorway.PRIMARY : colorway;\n return (\n \n \n \n \n \n );\n};\n\nPureBillboardScroll.displayName = 'BillboardScroll';\n\nexport default PureBillboardScroll;\n","import { useStyles } from '@team-griffin/stylr';\nimport { gu2px, useTheme } from '@ux/theme-utils';\nimport { Alignment } from 'domain/constants/alignment';\nimport { modifier } from '@ux/style-utils';\nimport { Layout } from 'domain/constants/layout';\n\nexport default ({\n layout: {\n alignment,\n },\n}: {\n layout: Layout,\n}) => {\n const {\n theme,\n } = useTheme();\n const {\n spacing,\n } = theme;\n return useStyles({\n default: {\n scroller: {\n paddingTop: gu2px(2, spacing),\n },\n },\n [modifier('alignment', Alignment.CENTER)]: {\n scroller: {\n textAlign: 'center',\n },\n },\n }, [\n { alignment },\n ]);\n};","import { gu2px } from '@ux/theme-utils';\nimport flexAnchors, { AnchorArray } from 'presentation/utils/flexAnchors';\nimport findResponsiveItem from 'presentation/utils/findResponsiveItem';\nimport { Anchor } from 'domain/constants/anchor';\nimport { BreakpointProps } from '@ux/responsive';\n\n/**\n * Two layouts: Tiles and Duo, require separate containers to site\n * next to each other, bleed to the far edge, but still maintain the\n * site width rules of a single container. This function returns half\n * the width of the container size\n */\nexport const halfContainerWidth = (width: number, spacing: number) => {\n const space = gu2px(1, spacing);\n // add the extra gu of spacing between the two items\n const withSpacing = width + space;\n // account for the additional padding at either side\n const divided = withSpacing/2;\n // remove the accounted for spacing\n return divided - space;\n};\n\n\nexport const getActiveAnchor = (anchor: AnchorArray, breakpoints: BreakpointProps) => {\n const getActive = (from: AnchorArray) => findResponsiveItem(\n breakpoints,\n from,\n );\n\n const activeAnchor = getActive(\n flexAnchors([ Anchor.TOP, null, null ], anchor),\n );\n\n return activeAnchor;\n};\n\nexport default null;","import React, { Fragment } from 'react';\nimport { Container, Row, Column, Justify } from '@ux/grid';\nimport Background, { BackgroundArray } from '../Background';\nimport Body, { OuterProps as BodyProps } from '../Body';\nimport Scroll from '../Scroll';\nimport { Alignment } from 'domain/constants/alignment';\nimport useStylesheet from './Generic.stylesheet';\nimport { useBreakpoints } from '@ux/responsive';\n\ninterface OuterProps extends BodyProps {\n showScroll: boolean,\n background: BackgroundArray,\n onScrollClick: (evt: any) => any,\n hideGradient?: boolean,\n}\n\nexport const PureBillboardGeneric = ({\n layout,\n colorway,\n hBaseline,\n ctas,\n text,\n additionalText,\n footerText,\n onScrollClick,\n showScroll,\n ribbonId,\n background,\n hideGradient,\n}: OuterProps) => {\n const breakpoints = useBreakpoints();\n const {\n styles,\n } = useStylesheet({\n layout,\n ...breakpoints,\n });\n const justify = layout.alignment === Alignment.CENTER ? Justify.CENTER : null;\n return (\n \n \n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n
\n );\n};\n\nPureBillboardGeneric.displayName = 'BillboardGeneric';\n\nexport default PureBillboardGeneric;\n","import { useStyles } from '@team-griffin/stylr';\nimport getBreakpoints from 'presentation/utils/getBreakpoints';\nimport { getActiveAnchor } from '../styles';\nimport { Layout } from 'domain/constants/layout';\nimport { BreakpointProps } from '@ux/responsive';\n\nexport default (props: {\n layout: Layout,\n} & BreakpointProps) => {\n const {\n layout,\n } = props;\n const {\n anchor,\n } = layout;\n const breakpointProps = getBreakpoints(props);\n const activeAnchor = getActiveAnchor(anchor, breakpointProps);\n return useStyles({\n default: {\n content: {\n flex: 1,\n flexBasis: 'auto',\n justifyContent: activeAnchor,\n display: 'flex',\n flexDirection: 'column',\n },\n },\n }, []);\n};\n","import React, { Fragment } from 'react';\nimport { Container } from '@ux/grid';\nimport Background, { BackgroundArray } from '../Background';\nimport Body, { OuterProps as BodyProps } from '../Body';\nimport Scroll from '../Scroll';\nimport useStylesheet from './Duo.stylesheet';\nimport { Colorway } from 'domain/constants/colorway';\nimport { Layout } from 'domain/constants/layout';\n\ninterface OuterProps extends BodyProps {\n layout: Layout,\n colorway: Colorway,\n hBaseline?: number,\n showScroll: boolean,\n duoLayout: boolean,\n background: BackgroundArray,\n onScrollClick: (evt: any) => any,\n hideGradient?: boolean,\n}\n\nexport const PureBillboardDuo = ({\n layout,\n colorway,\n hBaseline = 1,\n ctas,\n text,\n additionalText,\n footerText,\n onScrollClick,\n showScroll,\n ribbonId,\n background,\n duoLayout,\n hideGradient,\n}: OuterProps) => {\n const {\n styles,\n } = useStylesheet({\n layout,\n duoLayout,\n });\n return (\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n );\n};\n\nPureBillboardDuo.displayName = 'BillboardDuo';\n\nexport default PureBillboardDuo;\n","import { useStyles } from '@team-griffin/stylr';\nimport { getActiveAnchor, halfContainerWidth } from '../styles';\nimport { breakpoints, useBreakpoints } from '@ux/responsive';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { gu2px, useTheme } from '@ux/theme-utils';\nimport { Layout } from 'domain/constants/layout';\n\nexport default (props: {\n layout: Layout,\n duoLayout: boolean,\n}) => {\n const {\n layout,\n duoLayout,\n } = props;\n const breakpointProps = useBreakpoints();\n const {\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n } = breakpointProps;\n const {\n theme,\n } = useTheme();\n const {\n anchor,\n } = layout;\n\n const startDuoLayout = layout.startDuoLayout || false;\n\n const activeAnchor = getActiveAnchor(anchor, breakpointProps);\n\n return useStyles({\n default: {\n content: {\n flex: 1,\n flexBasis: 'auto',\n justifyContent: activeAnchor,\n display: 'flex',\n flexDirection: 'column',\n },\n duoLayout: {\n ...cssSides('padding', Side.X, gu2px(1, theme.spacing)),\n ...cssSides('margin', Side.X, 'auto'),\n width: '100%',\n maxWidth: '100%',\n },\n },\n\n isMinSm: {\n duoLayout: {\n maxWidth: breakpoints.sm - gu2px(1, theme.spacing),\n },\n },\n\n isDuoLayoutMd: {\n duoLayout: {\n maxWidth: halfContainerWidth(breakpoints.md, theme.spacing),\n marginLeft: 0,\n },\n },\n isDuoLayoutLg: {\n duoLayout: {\n maxWidth: halfContainerWidth(breakpoints.lg, theme.spacing),\n },\n },\n isDuoLayoutXl: {\n duoLayout: {\n maxWidth: halfContainerWidth(breakpoints.xl, theme.spacing),\n },\n },\n startDuoLayout: {\n duoLayout: {\n marginRight: 0,\n marginLeft: 'auto',\n },\n },\n }, [\n { anchor },\n { isMinSm },\n { isDuoLayoutMd: duoLayout && isMinMd },\n { isDuoLayoutLg: duoLayout && isMinLg },\n { isDuoLayoutXl: duoLayout && isMinXl },\n { startDuoLayout },\n ]);\n};\n","export enum Side {\n START = 'START',\n END = 'END',\n}\n\nexport enum Layout {\n DUO = 'DUO',\n TILES = 'TILES',\n}\n\nexport default null;","import React from 'react';\nimport PaddingBox from '@ux/padding-box';\nimport {\n Heading02,\n BodyCopy01,\n} from '@ux/typography';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\nimport useStylesheet from './Tile.stylesheet';\nimport Glyph from '@ux/glyphs';\nimport { gu2px, useTheme } from '@ux/theme-utils';\nimport callToAction from 'presentation/hocs/callToAction';\nimport withUrlComponent from 'presentation/hooks/withUrlComponent';\nimport { withHover } from '@team-griffin/stylr';\nimport { Colorway } from 'domain/constants/colorway';\nimport { Layout } from 'domain/constants/layout';\n\nexport interface TileProps {\n colorway: Colorway,\n type: string,\n text: {\n body?: ShortcodeProps,\n title?: ShortcodeProps,\n },\n action: {\n url: string,\n linkAttribution?: string,\n },\n leftTile: boolean,\n rightTile: boolean,\n hBaseline: number,\n layout: Layout,\n}\ninterface OuterProps extends TileProps {\n hover: boolean,\n}\n\nexport const PureTile = ({\n colorway,\n text,\n hBaseline,\n action,\n ...props\n}: OuterProps) => {\n const {\n title,\n body,\n } = text;\n const { theme } = useTheme();\n const {\n styles,\n } = useStylesheet({\n colorway,\n ...props,\n });\n const { Component } = withUrlComponent({ action });\n return (\n \n
\n \n
\n \n \n \n \n \n \n
\n
\n \n \n \n
\n \n
\n \n );\n};\n\nPureTile.displayName = 'Tile';\n\nexport default withHover(callToAction(PureTile));","import { useStyles } from '@team-griffin/stylr';\nimport { gu2px, useTheme } from '@ux/theme-utils';\nimport { getTitleColor, getBodyColor, getBackgroundColor } from 'presentation/utils/colorway';\nimport { modifier } from '@ux/style-utils';\nimport { Alignment } from 'domain/constants/alignment';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { breakpoints, useBreakpoints } from '@ux/responsive';\nimport { Side as TilesSide } from './constants';\nimport { halfContainerWidth } from './styles';\nimport ribbonPadding from 'presentation/utils/ribbonPadding';\nimport { Colorway } from '@ux/bookends/dist/es/constants';\nimport { Layout } from 'domain/constants/layout';\n\nexport default ({\n colorway,\n hover,\n layout,\n leftTile,\n rightTile,\n}: {\n colorway: Colorway,\n hover: boolean,\n layout: Layout,\n leftTile: boolean,\n rightTile: boolean,\n}) => {\n const {\n theme,\n } = useTheme();\n const {\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n } = useBreakpoints();\n const {\n alignment,\n tilesSide,\n } = layout;\n\n const {\n spacing,\n } = theme;\n\n return useStyles({\n default: {\n root: {\n flex: 1,\n flexBasis: 'auto',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: isMinLg ? 'center' : 'flex-start',\n backgroundColor: getBackgroundColor(theme, colorway),\n textAlign: 'left',\n textDecoration: 'none',\n height: '100%',\n ...ribbonPadding({\n spacing,\n isMinSm,\n isMinLg,\n layout: {\n shrinkLeading: isMinLg && rightTile,\n shrinkTrailing: isMinLg && leftTile,\n },\n }),\n },\n container: {\n ...cssSides('padding', Side.X, gu2px(1, spacing)),\n ...cssSides('margin', Side.X, 'auto'),\n position: 'relative',\n width: '100%',\n maxWidth: '100%',\n },\n title: {\n color: getTitleColor(theme, colorway),\n paddingRight: gu2px(3, spacing),\n },\n subtitle: {\n color: getBodyColor(theme, colorway),\n marginTop: gu2px(2, spacing),\n },\n box: {\n display: 'flex',\n },\n wrapperText: {\n flex: 1,\n flexBasis: 'auto',\n paddingRight: gu2px(2, spacing),\n },\n wrapperIcon: {\n minWidth: gu2px(3, spacing),\n position: 'relative',\n paddingTop: gu2px(0.5, spacing),\n },\n icon: {\n color: getTitleColor(theme, colorway),\n opacity: 1,\n width: gu2px(3, spacing),\n position: 'absolute',\n right: 0,\n },\n },\n hover: {\n root: {\n textDecoration: 'none',\n },\n icon: {\n opacity: 1,\n marginRight: 0,\n animation: 'arrowAnimation 0.3s',\n animationTimingFunction: 'ease-in-out',\n animationDirection: 'normal',\n animationFillMode: 'forwards',\n },\n },\n\n [modifier('alignment', Alignment.CENTER)]: {\n root: {\n textAlign: 'center',\n },\n },\n\n isMinSm: {\n container: {\n maxWidth: breakpoints.sm - gu2px(1, spacing),\n },\n },\n\n isMinMd: {\n container: {\n // theu're side by side so need an additional 1GU removing\n maxWidth: halfContainerWidth(breakpoints.md, spacing),\n },\n },\n\n isMinLg: {\n container: {\n maxWidth: halfContainerWidth(breakpoints.lg, spacing),\n },\n },\n isMinXl: {\n container: {\n maxWidth: halfContainerWidth(breakpoints.xl, spacing),\n },\n },\n leftTileMedium: {\n container: {\n marginRight: 0,\n },\n },\n rightTileMedium: {\n container: {\n marginLeft: 0,\n },\n },\n leftTileLarge: {\n container: {\n marginRight: 'auto',\n marginLeft: 0,\n },\n },\n\n tilesStartLarge: {\n container: {\n marginLeft: 'auto',\n marginRight: 0,\n },\n },\n }, [\n { alignment },\n { hover },\n { alignment },\n { isMinSm },\n { isMinMd },\n { isMinLg },\n { isMinXl },\n { leftTileMedium: leftTile && isMinMd },\n { rightTileMedium: rightTile && isMinMd },\n { leftTileLarge: leftTile && isMinLg },\n { tilesStartLarge: isMinLg && tilesSide === TilesSide.START },\n ]);\n};\n","import React from 'react';\nimport Tile, { TileProps } from './Tile';\nimport useStylesheet from './Tiles.stylesheet';\nimport { gu2px, useTheme } from '@ux/theme-utils';\nimport { Layout } from 'domain/constants/layout';\n\ninterface OuterProps {\n tiles: TileProps[],\n hBaseline: number,\n layout: Layout,\n}\n\nconst tileAnimation = (spacing: number) => `@keyframes arrowAnimation {\n from {\n right: ${gu2px(3, spacing)}px;\n opacity: 0.1;\n }\n to {\n right: ${gu2px(0, spacing)}px;\n opacity: 1;\n }\n}`;\n\ndeclare const i: number;\ndeclare const tile: TileProps;\n\nexport const PureTiles = ({\n tiles,\n hBaseline,\n layout,\n}: OuterProps) => {\n const {\n theme,\n } = useTheme();\n const {\n styles,\n } = useStylesheet();\n return (\n
\n \n \n \n \n
\n \n
\n );\n};\n\nPureTiles.displayName = 'Tiles';\n\nexport default PureTiles;\n","import { useStyles } from '@team-griffin/stylr';\nimport { useBreakpoints } from '@ux/responsive';\n\nexport default () => {\n const {\n isMinMd,\n isMinLg,\n } = useBreakpoints();\n return useStyles({\n default: {\n tile: {\n flex: 1,\n flexBasis: 'auto',\n // Safari is not filling 100% height of flex parent\n // in nested flex containers\n WebkitFlexBasis: 0,\n position: 'relative',\n },\n },\n isMinMd: {\n root: {\n flexDirection: 'row',\n display: 'flex',\n },\n tile: {\n width: '50%',\n },\n },\n isMinLg: {\n root: {\n flexDirection: 'column',\n height: '100%',\n },\n tile: {\n width: '100%',\n },\n },\n }, [\n { isMinMd },\n { isMinLg },\n ]);\n};\n","import React from 'react';\nimport { Container, Row, Column, Direction, Justify } from '@ux/grid';\nimport Background, { BackgroundArray } from '../Background';\nimport Body, { OuterProps as BodyProps } from '../Body';\nimport Scroll from '../Scroll';\nimport Tiles from '../Tiles';\nimport PaddingBox, { Side } from '@ux/padding-box';\nimport { useBreakpoints } from '@ux/responsive';\nimport { Side as TilesSide } from '../constants';\nimport useStylesheet from './WithTiles.stylesheet';\nimport { TileProps } from '../Tile';\nimport { isNilOrEmpty } from 'presentation/utils/generalUtils';\n\ninterface OuterProps extends BodyProps {\n showScroll: boolean,\n background: BackgroundArray,\n onScrollClick: (evt: any) => any,\n justify: Justify,\n hideGradient?: boolean,\n tiles: TileProps[],\n}\n\nexport const PureBillboardTiles = ({\n layout,\n colorway,\n hBaseline,\n ctas,\n text,\n additionalText,\n footerText,\n tiles,\n onScrollClick,\n justify,\n showScroll,\n ribbonId,\n background,\n hideGradient,\n}: OuterProps) => {\n const breakpoints = useBreakpoints();\n const {\n isMinLg,\n } = breakpoints;\n const {\n styles,\n } = useStylesheet({\n layout,\n ...breakpoints,\n });\n const hasFooterText = !isNilOrEmpty(footerText);\n const direction = layout.tilesSide === TilesSide.END ? Direction.ROW : Direction.ROW_REVERSE;\n\n return (\n <>\n \n \n \n
\n
\n \n \n
\n \n \n \n \n \n \n
\n \n \n \n \n \n
\n
\n
\n \n
\n \n \n \n \n {footerText}\n \n \n \n \n \n \n
\n \n
\n
\n \n );\n};\n\nPureBillboardTiles.displayName = 'BillboardTiles';\n\nexport default PureBillboardTiles;\n","import { useStyles } from '@team-griffin/stylr';\nimport { getActiveAnchor, halfContainerWidth } from '../styles';\nimport { BreakpointProps, breakpoints } from '@ux/responsive';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { gu2px, useTheme } from '@ux/theme-utils';\nimport ribbonPadding from 'presentation/utils/ribbonPadding';\nimport { Side as TilesSide } from '../constants';\nimport { Layout } from 'domain/constants/layout';\n\nexport default ({\n layout,\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n}: {\n layout: Layout,\n} & BreakpointProps) => {\n const {\n theme,\n } = useTheme();\n const {\n spacing,\n } = theme;\n\n const {\n anchor,\n tilesSide,\n } = layout;\n\n const activeAnchor = getActiveAnchor(anchor, {\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n });\n\n return useStyles({\n default: {\n content: {\n flex: 1,\n flexBasis: 'auto',\n justifyContent: activeAnchor,\n display: 'flex',\n flexDirection: 'column',\n ...ribbonPadding({\n spacing,\n isMinSm,\n isMinLg,\n }),\n },\n body: {\n flex: 1,\n flexBasis: 'auto',\n },\n },\n\n isMinLg: {\n container: {\n ...cssSides('padding', Side.X, gu2px(1, spacing)),\n display: 'flex',\n flex: 1,\n flexBasis: 'auto',\n // Safari is not filling 100% height of flex parent\n // in nested flex containers\n webkitFlexBasis: 0,\n width: '100%',\n maxWidth: '100%',\n },\n row: {\n width: '100%',\n },\n content: {\n marginLeft: 'auto',\n maxWidth: halfContainerWidth(breakpoints.lg, spacing),\n height: '100%',\n },\n },\n\n isMinXl: {\n content: {\n maxWidth: halfContainerWidth(breakpoints.xl, spacing),\n },\n },\n\n lgStartTile: {\n content: {\n marginLeft: 0,\n marginRight: 'auto',\n },\n },\n }, [\n { isMinSm },\n { isMinLg },\n { isMinXl },\n { lgStartTile: tilesSide === TilesSide.START && isMinLg },\n ]);\n};\n","import React, { ComponentClass, ReactNode, useState } from 'react';\nimport Ribbon from '../Ribbon';\nimport findResponsiveItem from 'presentation/utils/findResponsiveItem';\nimport visibilitySet from 'presentation/hocs/visibilitySet';\nimport { Fit, RibbonProps } from 'domain/constants/ribbons';\nimport { scroller, Element } from 'react-scroll';\nimport { ulid } from 'ulid';\nimport CornerEmbellishments, { CornerEmbellishmentsType } from './CornerEmbellishments';\nimport BillboardGeneric from './layouts/Generic';\nimport BillboardDuo from './layouts/Duo';\nimport BillboardTiles from './layouts/WithTiles';\nimport errorBoundary from 'presentation/hocs/errorBoundary';\nimport { OuterProps as BodyProps } from './Body';\nimport { useBreakpoints } from '@ux/responsive';\nimport { Layout } from 'domain/constants/layout';\nimport { TileProps } from './Tile';\nimport { Theme } from '@ux/theme-utils';\nimport { Justify } from '@ux/grid';\nimport { Background } from './Background';\n\nexport interface OuterProps extends BodyProps, RibbonProps {\n cornerEmbellishments?: CornerEmbellishmentsType,\n tiles?: TileProps[],\n additionalText?: ReactNode,\n footerText?: ReactNode,\n duo?: boolean,\n duoLayout?: boolean,\n name: string,\n loading: boolean,\n id: string,\n justify: Justify,\n theme: Theme,\n background: [Background, Background, Background],\n hideGradient?: boolean,\n}\ninterface LayoutProps extends OuterProps {\n duoLayout: boolean,\n hasTiles: boolean,\n showScroll: boolean,\n onScrollClick: () => void,\n setBottomScrollName: (v: string) => void,\n tiles: TileProps[],\n}\n\nconst hasTwoTiles = (tiles: TileProps[]) => tiles?.length === 2;\n\nconst shouldShowScroll = (props: {\n layout: Layout,\n isMinSm: boolean,\n isMinMd: boolean,\n isMinLg: boolean,\n isMinXl: boolean,\n}) => {\n const {\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n layout,\n } = props;\n if (props.isMinSm) {\n const fitSet = layout.fit;\n const fit = findResponsiveItem({\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n }, fitSet);\n return fit === Fit.FILL || fit === Fit.FULLSCREEN;\n }\n return false;\n};\n\n\nconst BillboardLayout = ({\n hasTiles,\n ...props\n}: LayoutProps) => {\n const duoLayout = props.duoLayout;\n if (hasTiles) {\n return ;\n }\n if (duoLayout) {\n return ;\n }\n return ;\n};\n\nexport const PureBillboard = ({\n id,\n theme,\n layout,\n loading,\n colorway,\n name,\n duoLayout,\n cornerEmbellishments,\n ctas = [],\n additionalText = null,\n footerText = null,\n duo = false,\n tiles,\n ...props\n}: OuterProps) => {\n const breakpoints = useBreakpoints();\n\n const showScroll = shouldShowScroll({\n layout,\n ...breakpoints,\n });\n\n const hasTiles = hasTwoTiles(tiles) && duo === false;\n\n const [ bottomScrollName, setBottomScrollName ] = useState(() => {\n return ulid();\n });\n const scrollHandler = ({ bottomScrollName }: { bottomScrollName: string }) => () => {\n scroller.scrollTo(bottomScrollName, {\n duration: 500,\n delay: 100,\n smooth: true,\n });\n };\n const onScrollClick = scrollHandler({ bottomScrollName });\n return (\n <>\n \n \n \n \n \n \n );\n};\n\nPureBillboard.displayName = 'Billboard';\n\nexport default errorBoundary(visibilitySet(PureBillboard)) as ComponentClass;\n","import Billboard, { OuterProps } from './Billboard';\nimport { Side } from './constants';\n\nexport {\n Side,\n OuterProps as BillboardProps,\n};\nexport default Billboard;"],"sourceRoot":""}