{"version":3,"sources":["webpack:///./presentation/components/ribbons/billboard-domain/BillboardDomain.tsx","webpack:///./presentation/components/ribbons/billboard-domain/ConnectedBillboardDomain.ts","webpack:///./presentation/components/ribbons/billboard-domain/index.ts","webpack:///./presentation/hocs/withLanguage.ts","webpack:///./crosscutting/ramda.ts","webpack:///./presentation/utils/rgba.js","webpack:///./presentation/hooks/withUrlComponent.ts","webpack:///../node_modules/@ux/search-input/dist/es/searchInput.js","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:///./presentation/components/ribbons/domain-search-start/DomainSearchForm.tsx","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.tsx","webpack:///./presentation/components/ribbons/billboard/Wash.stylesheet.ts","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":["enhance","pureEnhance","hocs","errorBoundary","theme","colorway","search","form","billboardProps","additionalText","DomainSearchForm","createFormName","r","mapDispatchToProps","submit","pipe","withHooks","withProps","connect","withHandlers","onSubmit","actions","tld","destination","name","domain","Promise","ribbonType","ribbonName","reduxForm","propNamespace","BillboardDomain","BaseComponent","compose","state","currentLanguage","getCurrentLanguage","isNotEmpty","isNotNil","mapIndexed","rA","fallback","arr","fn","obj","c","a","color","alpha","string","withUrlComponent","props","Component","isInternalUrl","url","NavLink","to","isHashUrl","href","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","mixWithWhite","toMix","mix","SearchInput","hooks","active","disabled","ownerProps","hasSuffix","suffix","hasPrefix","prefix","buttonText","_ref","_reactCSS","isMinSm","palette","spacing","typography","curvature","default","root","assign","display","padding","fontSize","width","whiteSpace","position","paddingLeft","background","style","grey10","transition","input","outline","textOverflow","overflow","paddingRight","weight","family","CONTENT","border","affix","backgroundColor","primary","alignItems","flexDirection","justifyContent","WebkitUserSelect","MozUserSelect","MsUserSelect","userSelect","cursor","affixText","marginRight","String","OFF","topLeftRadius","topRightRadius","bottomLeftRadius","bottomRightRadius","WEAK","STRONG","boxShadow","concat","borderColor","styles","button","inputProps","createElement","type","size","MD","kind","PRIMARY","block","glyph","ReduxFormSearchInput$1","enhance$1","_a","meta","rest","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","__rest","getParallaxData","layer","start","duration","properties","startValue","fx","endValue","property","withLanguage","data","useStyles","image","percentage","height","backgroundImage","urlLanguageParse","imageUrl","backgroundRepeat","backgroundSize","backgroundPosition","parallaxData","test","navigator","userAgent","vendor","webpUrl","focus","role","isParallax","top","plx","aria-label","createImageAlt","Parallax","Static","LayerComponent","marginTop","gu2px","label","placeholder","method","handleSubmit","data-selector","text","component","ReduxFormSearchInput","createError","message","err","Error","source","ENCODING","ENCODING_LEN","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","console","error","random","ulid","currPrng","seedTime","Date","factory","cornerToPosition","gu2CornerSize","gu","cornerSize","cornerArrayToCssProperty","cornerImages","withBreakpointsHook","repeat","generateCornerImages","pointerEvents","bottom","left","right","longhand","wash","clr","Colorway","LIGHT","rgba","generateBackground","Alignment","CENTER","gradient","modifier","NEUTRAL","DARK","PRIMARY_GRADIENT","HIGHLIGHT","highlight","findResponsiveItem","getBreakpoints","activeBackground","backgroundType","Array","isArray","videoWrapper","video","objectFit","objectPosition","fallbackVideoImage","minHeight","minWidth","layout","duoLayout","hasTiles","loop","muted","autoPlay","playsInline","poster","src","mp4","webm","loading","alt","Layer","Wash","defaultProps","hBaseline","hasBodyText","isNotNilOrEmpty","hasCta","hasPrecursor","hasTitle","hasFooterText","alignment","precursor","getTitleColor","title","subtitle","getBodyColor","ctas","cta","footerText","smallprint","opacity","cssSides","Side","marginBottom","textAlign","ribbonId","depth","Shortcode","against","code","body","CallToAction","getAgainst","ButtonSize","LG","index","side","X","scrollAgainst","scroller","paddingTop","onScrollClick","onClick","Kind","TERTIARY","id","halfContainerWidth","getActiveAnchor","anchor","breakpoints","from","getActive","flexAnchors","Anchor","TOP","justify","Justify","breakpointProps","activeAnchor","content","flex","flexBasis","showScroll","Background","vblock","xs","md","lg","Body","Scroll","startDuoLayout","maxWidth","isDuoLayoutMd","marginLeft","isDuoLayoutLg","isDuoLayoutXl","isMinMd","isMinLg","isMinXl","Layout","callToAction","branch","withHover","rightTile","tilesSide","getBackgroundColor","textDecoration","ribbonPadding","shrinkLeading","shrinkTrailing","leftTile","container","box","wrapperText","wrapperIcon","icon","hover","animation","animationTimingFunction","animationDirection","animationFillMode","leftTileMedium","rightTileMedium","leftTileLarge","tilesStartLarge","TilesSide","START","action","linkAttribution","tile","WebkitFlexBasis","tiles","tileAnimation","Tile","direction","END","Direction","ROW","ROW_REVERSE","webkitFlexBasis","row","lgStartTile","gutters","Tiles","hasTwoTiles","shouldShowScroll","fit","Fit","FULLSCREEN","FILL","BillboardLayout","visibilitySet","duo","withState","bottomScrollName","scrollTo","delay","smooth","cornerEmbellishments","Ribbon","flush","CornerEmbellishments","Billboard"],"mappings":"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","file":"pex-static/20/15.62f18c6d7e97c1d4c799.chunk.js","sourcesContent":["import React from 'react';\nimport Billboard, { BillboardProps } from 'components/ribbons/billboard';\nimport errorBoundary from 'presentation/hocs/errorBoundary';\n// eslint-disable-next-line max-len\nimport DomainSearchForm from 'components/ribbons/domain-search-start/DomainSearchForm';\nimport { DomainSearchFormProps } from '../domain-search-start';\nimport pureEnhance from '@ux/pure-enhance';\n\nexport interface OuterProps extends DomainSearchFormProps, BillboardProps {}\ninterface InnerProps extends OuterProps {}\n\nconst PureBillboardDomain = ({\n theme,\n colorway,\n search,\n form,\n ...billboardProps\n}: InnerProps) => (\n \n )}\n />\n);\n\nconst enhance = pureEnhance(\n 'BillboardDomain',\n {\n hocs: [\n errorBoundary,\n ],\n }\n);\n\nexport default enhance(PureBillboardDomain);\n","import {\n withProps,\n withHandlers,\n} from '@team-griffin/rehook';\n\nimport { reduxForm, InjectedFormProps } from 'redux-form';\nimport {\n connect,\n} from '@ux/fabric';\nimport * as r from 'ramda';\nimport BillboardDomain, { OuterProps as PureProps } from './BillboardDomain';\nimport { submit } from 'application/signals/ribbons/domain-search-start';\nimport pureEnhance, { withHooks } from '@ux/pure-enhance';\n\ninterface ConnectedProps {\n form: InjectedFormProps,\n}\ninterface InnerProps extends PureProps {}\ninterface OuterProps extends Omit {}\n\nconst createFormName = r.pipe(\n r.prop('id'),\n //@ts-ignore\n r.append(r.__, [ 'usf', 'billboardDomain' ]),\n r.join('.'),\n r.objOf('form'),\n);\n\nconst mapStateToProps = void 0 as null;\n\nconst mapDispatchToProps = {\n submit,\n};\n\n\nconst enhance = pureEnhance(\n 'BillboardDomain',\n {\n pipe: [\n withHooks([\n withProps(connect(mapStateToProps, mapDispatchToProps)),\n withProps(createFormName),\n withHandlers({\n onSubmit: ({\n actions: {\n submit,\n },\n search: {\n tld,\n destination,\n },\n form,\n name,\n }: {\n actions: {\n submit: Function,\n },\n search: {\n tld: string,\n destination: string,\n },\n form: InjectedFormProps,\n name: string,\n }) => ({ domain }: {\n domain: string,\n }) => {\n return new Promise(() => {\n submit({\n domain,\n tld,\n destination,\n form,\n ribbonType: 'BillboardDomain',\n ribbonName: name,\n });\n });\n },\n }),\n ]),\n reduxForm({\n propNamespace: 'form',\n }),\n ],\n }\n);\n\nexport default enhance(BillboardDomain);\n","import BillboardDomain from './ConnectedBillboardDomain';\n\nexport default BillboardDomain;\n","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 * as rA from 'ramda-adjunct';\nimport * as r from 'ramda';\nimport {\n curry2,\n isNotNilOrEmpty,\n} from '@team-griffin/capra';\n\nconst {\n isNotEmpty,\n isNotNil,\n mapIndexed,\n} = rA;\n\nexport {\n curry2,\n isNotNilOrEmpty,\n isNotEmpty,\n isNotNil,\n mapIndexed,\n};\n\nexport const headOr = r.curryN(2, (fallback: any, arr: any[]) => r.pipe(\n r.defaultTo([]),\n r.head,\n r.defaultTo(fallback),\n)(arr));\n\nexport const getFirstKey = r.pipe(\n r.keys,\n r.head,\n) as (data: any)=>string;\n\nexport const getFirstValue = r.pipe(\n //@ts-ignore\n r.values,\n r.head,\n);\n\nexport const mapKeys = r.curryN(2, (fn: any, obj: any) => r.pipe(\n r.defaultTo({}),\n r.mapObjIndexed(\n r.converge(\n r.unapply(r.identity),\n [\n r.pipe(\n r.nthArg(1),\n fn,\n ),\n r.identity,\n ]\n ),\n ),\n r.values,\n r.fromPairs,\n)(obj));\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 from 'react';\nimport Button, { Size, Kind } from '@ux/button';\nimport { ifElse, either, propEq, pathSatisfies, always, path, merge, propOr } from 'ramda';\nimport { isNotNilOrEmpty } from '@team-griffin/capra';\nimport longhand from '@team-griffin/css-longhand';\nimport { gu2px, Curvature } from '@ux/theme-utils';\nimport { percentage, modifier, withStylesHook } from '@ux/style-utils';\nimport { TypefaceStyle } from '@ux/typeface';\nimport { content } from '@ux/type-size';\nimport reactCSS from 'reactcss';\nimport color from 'color';\nimport { withBreakpoints } from '@ux/responsive';\nimport pureEnhance from '@ux/pure-enhance';\nimport { isNilOrEmpty } from 'ramda-adjunct';\nimport { defaultProps, withProps } from '@team-griffin/rehook';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar mixWithWhite = function mixWithWhite(toMix) {\n return color('#fff').mix(color(toMix), 0.25).string();\n};\n\nvar stylesheet = function stylesheet(_ref) {\n var _reactCSS;\n\n var active = _ref.active,\n theme = _ref.theme,\n isMinSm = _ref.isMinSm;\n var palette = theme.palette,\n spacing = theme.spacing,\n typography = theme.typography,\n curvature = theme.curvature;\n return reactCSS((_reactCSS = {\n default: {\n root: Object.assign({\n display: 'flex',\n padding: gu2px(1, spacing),\n fontSize: 0,\n width: percentage(100),\n whiteSpace: 'nowrap',\n position: 'relative',\n paddingLeft: gu2px(3, spacing),\n background: '#fff'\n }, longhand('border', {\n width: 1,\n style: 'solid',\n color: palette.grey10\n }), {\n transition: \"\\n color 0.2s ease-in-out,\\n box-shadow 0.2s ease-in-out,\\n border-color 0.2s ease-in-out,\\n background-color 0.2s ease-in-out\\n \"\n }),\n input: Object.assign({\n width: percentage(100),\n outline: 'none',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n paddingRight: gu2px(3, spacing)\n }, content(typography), longhand('font', {\n weight: 300,\n family: typography[TypefaceStyle.CONTENT]\n }), {\n border: 'none'\n }),\n affix: Object.assign({}, content(typography), longhand('font', {\n family: typography[TypefaceStyle.CONTENT]\n }), {\n display: 'flex',\n backgroundColor: 'transparent',\n color: palette.primary,\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n WebkitUserSelect: 'none',\n MozUserSelect: 'none',\n MsUserSelect: 'none',\n userSelect: 'none',\n cursor: 'default'\n }),\n affixText: {\n flexDirection: 'column',\n justifyContent: 'center',\n marginRight: gu2px(3, spacing)\n }\n }\n }, _defineProperty(_reactCSS, modifier('curvature', String(Curvature.OFF)), {\n root: Object.assign({}, longhand('border', {\n topLeftRadius: 0,\n topRightRadius: 0,\n bottomLeftRadius: 0,\n bottomRightRadius: 0\n }))\n }), _defineProperty(_reactCSS, modifier('curvature', String(Curvature.WEAK)), {\n root: Object.assign({}, longhand('border', {\n topLeftRadius: 3,\n topRightRadius: 3,\n bottomLeftRadius: 3,\n bottomRightRadius: 3\n }))\n }), _defineProperty(_reactCSS, modifier('curvature', String(Curvature.STRONG)), {\n root: Object.assign({}, longhand('border', {\n topLeftRadius: 50,\n topRightRadius: 50,\n bottomLeftRadius: 50,\n bottomRightRadius: 50\n }))\n }), _defineProperty(_reactCSS, \"active\", {\n root: {\n outline: 0,\n boxShadow: \"inset 0 0 0 2px \".concat(mixWithWhite(palette.primary)),\n borderColor: palette.primary\n }\n }), _defineProperty(_reactCSS, \"isMinSm\", {\n root: {\n paddingLeft: gu2px(4, spacing)\n }\n }), _reactCSS), [{\n isMinSm: isMinSm\n }, {\n active: active\n }, {\n curvature: curvature\n }]);\n};\n\nvar PureSearchInput = function PureSearchInput(_ref) {\n var theme = _ref.theme,\n styles = _ref.styles,\n suffix = _ref.suffix,\n prefix = _ref.prefix,\n hasSuffix = _ref.hasSuffix,\n hasPrefix = _ref.hasPrefix,\n button = _ref.button,\n disabled = _ref.disabled,\n buttonText = _ref.buttonText,\n inputProps = _ref.inputProps;\n return React.createElement(\"div\", {\n style: styles.root\n }, hasPrefix ? React.createElement(\"span\", {\n style: styles.affix\n }, React.createElement(\"span\", {\n style: styles.affixText\n }, prefix)) : null, React.createElement(\"input\", Object.assign({\n type: \"text\",\n style: styles.input\n }, inputProps, {\n disabled: disabled\n })), hasSuffix ? React.createElement(\"div\", {\n style: styles.affix\n }, React.createElement(\"span\", {\n style: styles.affixText\n }, suffix)) : null, React.createElement(Button, {\n \"data-test-id\": \"button\",\n theme: theme,\n size: Size.MD,\n kind: Kind.PRIMARY,\n type: \"submit\",\n block: true,\n glyph: button.glyph,\n disabled: disabled\n }, buttonText));\n};\n\nvar enhance = pureEnhance('SearchInput', {\n hocs: [//@ts-ignore\n withBreakpoints],\n hooks: [defaultProps({\n active: false,\n disabled: false\n }), withProps(function (ownerProps) {\n return {\n hasSuffix: isNotNilOrEmpty(ownerProps.suffix),\n hasPrefix: isNotNilOrEmpty(ownerProps.prefix),\n buttonText: ifElse(either(propEq('isMinSm', true), pathSatisfies(isNilOrEmpty, ['button', 'glyph'])), always(path(['button', 'text'])(ownerProps)), always(null))(ownerProps)\n };\n }), withStylesHook(stylesheet)]\n});\nvar SearchInput = enhance(PureSearchInput); // eslint-disable-next-line no-underscore-dangle\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\n\nvar ReduxFormSearchInput = function ReduxFormSearchInput(_a) {\n var theme = _a.theme,\n input = _a.input,\n meta = _a.meta,\n inputProps = _a.inputProps,\n rest = __rest(_a, [\"theme\", \"input\", \"meta\", \"inputProps\"]);\n\n return React.createElement(SearchInput, Object.assign({\n theme: theme\n }, rest, {\n inputProps: merge(input, inputProps),\n active: propOr(false, 'active', meta),\n disabled: propOr(false, 'submitting', meta)\n }));\n};\n\nvar enhance$1 = pureEnhance('ReduxFormSearchInput');\nvar ReduxFormSearchInput$1 = enhance$1(ReduxFormSearchInput);\n\nexport default SearchInput;\nexport { ReduxFormSearchInput$1 as ReduxFormSearchInput };\n","import React from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport stylesheet, { Styles } from './Parallax.stylesheet';\nimport Plx from 'react-plx';\nimport * as r from 'ramda';\nimport withLanguage from 'presentation/hocs/withLanguage';\nimport { Layer } from './Layer';\nimport pureEnhance from '@ux/pure-enhance';\n\ninterface OuterProps {\n layer: Layer,\n}\n\nexport interface InnerProps extends OuterProps {\n currentLanguage: string,\n styles: Styles,\n data: {\n start: string,\n duration: string,\n properties: [\n {\n startValue: number,\n endValue: number,\n property: string,\n },\n ],\n }\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: r.ifElse(\n r.equals('parallax'),\n r.always(r.negate(400)),\n r.always(0)\n )(layer.fx.type),\n endValue: 0,\n property: 'translateY',\n },\n ],\n }];\n};\n\nexport const PureParallax = ({\n styles,\n data,\n}: InnerProps) => (\n \n);\n\nexport const enhance = pureEnhance(\n 'Parallax',\n {\n hocs: [\n withLanguage,\n ],\n hooks: [\n withProps((props: OuterProps) => ({\n data: getParallaxData(props),\n })),\n withProps(stylesheet),\n ],\n }\n);\n\nexport default enhance(PureParallax);\n","import { CSSProperties } from 'react';\nimport { useStyles } from '@team-griffin/stylr';\nimport { percentage } from '@ux/style-utils';\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: percentage(100),\n height: percentage(100),\n backgroundImage: `url(${urlLanguageParse(layer.imageUrl, currentLanguage)})`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n backgroundPosition: 'center center',\n },\n },\n }, []);\n};\n","import React, { CSSProperties } from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport { percentage } from '@ux/style-utils';\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: percentage(100),\n height: percentage(100),\n backgroundSize: 'cover',\n backgroundPosition: layer.focus || 'center center',\n backgroundImage: `url(${imageUrl})`,\n backgroundRepeat: 'no-repeat',\n },\n },\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 pureEnhance from '@ux/pure-enhance';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport Parallax from './Parallax';\nimport Static from './Static';\nimport createImageAlt from 'presentation/utils/createImageAlt';\nimport stylesheet, { Styles } from './Layer.stylesheet';\nimport * as r from 'ramda';\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}\nexport interface InnerProps extends OuterProps {\n styles: Styles,\n isParallax: boolean,\n}\nexport const PureLayer = ({\n styles,\n layer,\n isParallax,\n}: InnerProps) => (\n \n \n \n
\n \n
\n
\n \n \n \n
\n \n);\n\nexport const enhance = pureEnhance(\n 'Layer',\n {\n hooks: [\n withProps((props: OuterProps) => ({\n isParallax: r.pathEq([ 'layer', 'fx', 'type' ], 'parallax', props),\n })),\n withProps(stylesheet),\n ],\n }\n);\n\nexport default enhance(PureLayer);\n","import { useStyles } from '@team-griffin/stylr';\nimport { percentage } from '@ux/style-utils';\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: percentage(100),\n height: percentage(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(${percentage(100)} + 400px)`,\n position: 'absolute',\n top: 0,\n width: percentage(100),\n },\n },\n});\n","import LayerComponent, { Layer } from './Layer';\nexport {\n Layer,\n};\nexport default LayerComponent;\n","import React, { CSSProperties } from 'react';\nimport { Theme, gu2px } from '@ux/theme-utils';\nimport { ReduxFormSearchInput } from '@ux/search-input';\nimport DebouncedField from 'redux-form-debounce-field';\nimport { InjectedFormProps } from 'redux-form';\nimport pureEnhance from '@ux/pure-enhance';\nimport { useStyles } from '@team-griffin/stylr';\nimport { withProps } from '@team-griffin/rehook';\n\nexport interface Styles {\n search: CSSProperties,\n}\n\nexport interface OuterProps {\n search: {\n tld: string,\n glyph: string,\n label: string,\n placeholder?: string,\n destination?: string,\n },\n form: InjectedFormProps,\n theme: Theme,\n}\nexport interface InnerProps extends OuterProps {\n styles: Styles,\n}\n\nconst stylesheet = (props: InnerProps) => {\n const {\n theme,\n } = props;\n\n const {\n spacing,\n } = theme;\n\n return useStyles({\n default: {\n search: {\n marginTop: gu2px(3, spacing),\n },\n },\n }, []);\n};\n\nconst DomainSearchForm = ({\n search,\n form,\n theme,\n styles,\n}: InnerProps) => {\n const {\n tld,\n glyph,\n label,\n placeholder,\n } = search;\n return (\n
\n \n \n \n
\n );\n};\n\nconst enhance = pureEnhance('SearchForm', {\n hooks: [\n withProps(stylesheet),\n ],\n});\n\nexport default enhance(DomainSearchForm);\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 } from '@ux/theme-utils';\nimport urlLanguageParse from 'presentation/utils/urlLanguageParse';\nimport * as r from 'ramda';\nimport { InnerProps } from './CornerEmbellishments';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n root: CSSProperties,\n}\nconst cornerToPosition = r.cond([\n [ r.equals('topLeft'), r.always('0 0') ],\n [ r.equals('topRight'), r.always('right 0') ],\n [ r.equals('bottomLeft'), r.always('0 bottom') ],\n [ r.equals('bottomRight'), r.always('right bottom') ],\n]) as (str: string) => string;\n\nconst gu2CornerSize = (gu: number, spacing?: number) => `${gu2px(gu, spacing)}px ${gu2px(gu, spacing)}px`;\n\nconst cornerSize = (props: InnerProps) => r.cond([\n [\n r.propEq('isMinMd', true),\n r.always(gu2CornerSize(6, props.theme.spacing)),\n ],\n [\n r.propEq('isMinSm', true),\n r.always(gu2CornerSize(5, props.theme.spacing)),\n ],\n [\n r.T,\n r.always(gu2CornerSize(4)),\n ],\n])(props) as string;\n\nconst generateCornerImages = (props: InnerProps) => r.pipe(\n r.defaultTo({}),\n r.reject(r.isNil),\n r.toPairs,\n r.map(([ corner, url ]) => ({\n image: `url(${urlLanguageParse(url, props.currentLanguage)})`,\n size: cornerSize(props),\n position: cornerToPosition(corner),\n repeat: 'no-repeat',\n })),\n)(props.cornerEmbellishments) as unknown as {\n image: string,\n size: string,\n position: string,\n repeat: string,\n}[];\n\nconst cornerArrayToCssProperty = (\n prop: string,\n cornerImages: {\n image: string,\n size: string,\n position: string,\n repeat: string,\n }[],\n//r.pluck wants (never, unknown) as props. I'm more speciifc\n//@ts-ignore\n) => r.join(',', r.pluck(prop, cornerImages));\n\nexport default (props: InnerProps) => {\n const cornerImages = generateCornerImages(props);\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 from 'react';\nimport pureEnhance from '@ux/pure-enhance';\nimport { withProps } from '@team-griffin/rehook';\nimport { withBreakpointsHook } from '@ux/responsive';\nimport withLanguage from 'presentation/hocs/withLanguage';\nimport stylesheet, { Styles } from './CornerEmbellishments.stylesheet';\nimport { Theme } from '@ux/theme-utils';\n\nexport type cornerEmbellishments = {\n topRight?: string,\n bottomRight?: string,\n bottomLeft?: string,\n topLeft?: string\n};\ninterface OuterProps {\n theme: Theme,\n cornerEmbellishments?: cornerEmbellishments,\n}\n\nexport interface InnerProps extends OuterProps {\n styles: Styles,\n currentLanguage: string,\n}\nconst PureCornerEmbellishments = ({\n styles,\n}: InnerProps) => (\n
\n);\n\nconst enhance = pureEnhance('CornerEmbellishments', {\n hocs: [\n withLanguage,\n ],\n hooks: [\n withBreakpointsHook,\n withProps(stylesheet),\n ],\n});\n\nexport default enhance(PureCornerEmbellishments);","import React from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport stylesheet, { Styles } from './Wash.stylesheet';\nimport pureEnhance from '@ux/pure-enhance';\nimport { Theme } from '@ux/theme-utils';\nimport { Colorway } from 'domain/constants/colorway';\nimport { Layout } from 'domain/constants/layout';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\n\ninterface OuterProps {\n theme: Theme,\n colorway: Colorway,\n layout: Layout,\n hasTiles: boolean,\n duoLayout: boolean,\n}\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n}\n\nexport const PureWash = ({\n styles,\n}: InnerProps) => (\n
\n);\n\nexport const enhance = pureEnhance(\n 'Wash',\n {\n hooks: [\n withBreakpointsHook,\n withProps(stylesheet),\n ],\n },\n);\n\nexport default enhance(PureWash);\n","import { useStyles } from '@team-griffin/stylr';\nimport { UnsafeColorway as Colorway } from 'domain/constants/colorway';\nimport {\n modifier,\n percentage,\n} from '@ux/style-utils';\nimport rgba from 'presentation/utils/rgba';\nimport { Alignment } from 'domain/constants/alignment';\nimport * as r from 'ramda';\nimport { InnerProps } from './Wash';\nimport { Color } from '@ux/theme-utils';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n root: CSSProperties,\n}\nexport default (props: InnerProps) => {\n const {\n theme,\n colorway,\n } = props;\n\n const {\n palette,\n } = theme;\n\n const wash = (clr: Color|string) => r.ifElse(\n r.propEq('colorway', Colorway.LIGHT),\n r.always(rgba(clr, 0.9)),\n r.always(rgba(clr, 0.75)),\n )(props);\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 mobile, and gradient on tablet and above, unless:\n - we're center aligned text\n - we're a duo layout\n - we have tiles and are on desktop view\n */\n const generateBackground = r.pipe(\n (clr: Color|string) => r.cond([\n // eslint-disable-next-line max-len\n [ r.pathEq([ 'layout', 'alignment' ], Alignment.CENTER), () => wash(clr) ],\n [ r.propEq('duoLayout', true), () => wash(clr) ],\n [ r.both(\n r.propEq('hasTiles', true),\n r.propEq('isMinLg'),\n ), () => wash(clr) ],\n [ r.propEq('isMinMd', true), () => gradient(clr) ],\n [ r.T, () => wash(clr) ],\n ])(props),\n );\n\n return useStyles({\n default: {\n root: {\n position: 'absolute',\n top: 0,\n width: percentage(100),\n height: percentage(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 });\n\n};\n","import React, { Fragment } from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport stylesheet, { Styles } 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 getBreakpoints from 'presentation/utils/getBreakpoints';\nimport * as r from 'ramda';\nimport pureEnhance from '@ux/pure-enhance';\nimport { Layout } from 'domain/constants/layout';\nimport { Colorway } from 'domain/constants/colorway';\nimport { Theme } from '@ux/theme-utils';\nimport { ResponsiveSet } from 'core/ribbons/primitives';\n\ninterface 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 theme: Theme,\n}\ninterface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n activeBackground: Background,\n backgroundType: string,\n currentLanguage: string,\n}\n\ndeclare const layer: ImageLayer;\ndeclare const i: number;\n\nexport const PureBackground = ({\n styles,\n activeBackground,\n backgroundType,\n layout,\n duoLayout,\n hasTiles,\n colorway,\n theme,\n currentLanguage,\n}: InnerProps) => {\n return (\n \n \n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n
\n );\n};\n\n//we need this because of the withProps that uses findResponsiveItem\ninterface MiddleProps extends OuterProps, BreakpointProps {}\nexport const enhance = pureEnhance(\n 'Background',\n {\n hocs: [\n withLanguage,\n ],\n hooks: [\n withBreakpointsHook,\n withProps((ownerProps: MiddleProps) => ({\n ...r.pipe(\n (ownerProps: MiddleProps) => findResponsiveItem(\n getBreakpoints(ownerProps),\n ownerProps.background\n ), r.defaultTo({}),\n (activeBackground) => ({\n activeBackground,\n backgroundType: r.ifElse(\n Array.isArray,\n r.always('image'),\n r.always('video'),\n )(activeBackground),\n })\n )(ownerProps),\n })),\n withProps(stylesheet),\n ],\n }\n);\n\n\nexport default enhance(PureBackground);\n","import { useStyles } from '@team-griffin/stylr';\nimport { percentage } from '@ux/style-utils';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n videoWrapper: CSSProperties,\n video: CSSProperties,\n fallbackVideoImage: CSSProperties,\n}\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: percentage(100),\n height: percentage(100),\n },\n fallbackVideoImage: {\n minHeight: percentage(100),\n minWidth: percentage(100),\n position: 'absolute',\n top: 0,\n },\n },\n }, []);\n};\n","import React, { Fragment, ReactNode } from 'react';\nimport pureEnhance from '@ux/pure-enhance';\nimport { withProps, defaultProps } from '@team-griffin/rehook';\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 { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport stylesheet, { Styles } from './Body.stylesheet';\nimport { isNotNilOrEmpty } from '@team-griffin/capra';\nimport * as r from 'ramda';\nimport { Theme } from '@ux/theme-utils';\nimport { Layout } from 'domain/constants/layout';\nimport { Colorway } from 'domain/constants/colorway';\nimport { CTA } from 'core/ribbons/cta';\n\n\nexport interface OuterProps {\n theme: Theme,\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}\nexport interface DefaultProps extends OuterProps {\n hBaseline: number,\n}\nexport interface InnerProps extends DefaultProps, BreakpointProps {\n styles: Styles,\n hasPrecursor: boolean,\n hasTitle: boolean,\n hasBodyText: boolean,\n hasCta: boolean,\n hasFooterText: boolean,\n}\n\ndeclare const cta: CTA;\ndeclare const i: number;\n\nconst PureBody = ({\n theme,\n styles,\n hBaseline,\n hasPrecursor,\n hasTitle,\n hasBodyText,\n hasCta,\n hasFooterText,\n text,\n additionalText,\n footerText,\n ctas,\n colorway,\n layout,\n ribbonId,\n isMinSm,\n}: InnerProps) => (\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\nconst enhance = pureEnhance('BillboardBody', {\n hooks: [\n defaultProps({\n hBaseline: 1,\n }),\n withProps((ownerProps: DefaultProps) => ({\n hasBodyText: r.pathSatisfies(\n isNotNilOrEmpty,\n [ 'text', 'body' ],\n ownerProps,\n ),\n hasCta: r.propSatisfies(\n isNotNilOrEmpty,\n 'ctas',\n )(ownerProps),\n hasPrecursor: r.pathSatisfies(\n isNotNilOrEmpty,\n [ 'text', 'precursor' ],\n ownerProps,\n ),\n hasTitle: r.pathSatisfies(\n isNotNilOrEmpty,\n [ 'text', 'title' ],\n ownerProps,\n ),\n hasFooterText: r.propSatisfies(\n isNotNilOrEmpty,\n 'footerText',\n )(ownerProps),\n })),\n withBreakpointsHook,\n withProps(stylesheet),\n ],\n});\n\nexport default enhance(PureBody);","import { useStyles } from '@team-griffin/stylr';\nimport { getTitleColor, getBodyColor } from 'presentation/utils/colorway';\nimport { gu2px } 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 * as r from 'ramda';\nimport { InnerProps } from './Body';\nimport { CSSProperties } from 'react';\n\n\nexport interface Styles {\n root: CSSProperties,\n precursor: CSSProperties,\n title: CSSProperties,\n subtitle: CSSProperties,\n ctas: CSSProperties,\n cta: CSSProperties,\n footerText: CSSProperties,\n}\nexport default ({\n theme,\n colorway,\n theme: {\n spacing,\n typography,\n },\n layout: {\n alignment,\n },\n isMinSm,\n}: InnerProps) => 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, r.negate(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 pureEnhance from '@ux/pure-enhance';\nimport PaddingBox from '@ux/padding-box';\nimport { Button, Kind, Against } from '@ux/button';\nimport Message from '@ux/message';\nimport { Colorway } from 'domain/constants/colorway';\nimport { withProps } from '@team-griffin/rehook';\nimport stylesheet, { Styles } from './Scroll.stylesheet';\nimport * as r from 'ramda';\nimport { Theme } from '@ux/theme-utils';\nimport { Layout } from 'domain/constants/layout';\n\ninterface OuterProps {\n theme: Theme,\n colorway: Colorway,\n onScrollClick: (evt: any) => any,\n layout: Layout,\n}\nexport interface InnerProps extends OuterProps {\n styles: Styles,\n scrollAgainst: Against,\n}\nexport const PureBillboardScroll = ({\n onScrollClick,\n scrollAgainst,\n styles,\n}: InnerProps) => (\n \n \n \n \n \n);\n\nconst enhance = pureEnhance(\n 'BillboardScroll',\n {\n hooks: [\n withProps((ownerProps: OuterProps) => ({\n scrollAgainst: r.when(\n r.equals(Colorway.PRIMARY_GRADIENT),\n r.always(Colorway.PRIMARY),\n )(ownerProps.colorway),\n })),\n withProps(stylesheet),\n ],\n }\n);\n\nexport default enhance(PureBillboardScroll);\n","import { useStyles } from '@team-griffin/stylr';\nimport { gu2px } from '@ux/theme-utils';\nimport { Alignment } from 'domain/constants/alignment';\nimport { modifier } from '@ux/style-utils';\nimport { InnerProps } from './Scroll';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n scroller: CSSProperties,\n}\nexport default ({\n theme: {\n spacing,\n },\n layout: {\n alignment,\n },\n}: InnerProps) => 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}, [\n { alignment },\n]);\n","import * as r from 'ramda';\nimport { 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) => r.pipe(\n // add the extra gu of spacing between the two items\n r.add(gu2px(1, spacing)),\n // account for the additional padding at either side\n r.divide(r.__, 2),\n // remove the accounted for spacing\n r.subtract(r.__, gu2px(1, spacing)),\n)(width);\n\n\nexport const getActiveAnchor = (anchor: AnchorArray, breakpoints: BreakpointProps) => {\n\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 { withProps } from '@team-griffin/rehook';\nimport { Container, Row, Column, Justify } from '@ux/grid';\nimport pureEnhance from '@ux/pure-enhance';\nimport Background, { BackgroundArray } from '../Background';\nimport Body, { OuterProps as BodyProps } from '../Body';\nimport Scroll from '../Scroll';\nimport { Alignment } from 'domain/constants/alignment';\nimport stylesheet, { Styles } from './Generic.stylesheet';\n\ninterface OuterProps extends BodyProps {\n showScroll: boolean,\n background: BackgroundArray,\n onScrollClick: (evt: any) => any,\n}\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n justify: Justify,\n}\n\nimport * as r from 'ramda';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\n\nexport const PureBillboardGeneric = ({\n styles,\n theme,\n layout,\n colorway,\n hBaseline,\n ctas,\n text,\n additionalText,\n footerText,\n justify,\n onScrollClick,\n showScroll,\n ribbonId,\n background,\n}: InnerProps) => (\n \n \n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n
\n);\n\nconst enhance = pureEnhance('BillboardGeneric', [\n withBreakpointsHook,\n withProps((ownerProps: OuterProps) => ({\n justify: r.ifElse(\n r.pathEq([ 'layout', 'alignment' ], Alignment.CENTER),\n r.always(Justify.CENTER),\n r.always(null),\n )(ownerProps),\n })),\n withProps(stylesheet),\n]);\n\nexport default enhance(PureBillboardGeneric);\n","import { useStyles } from '@team-griffin/stylr';\nimport getBreakpoints from 'presentation/utils/getBreakpoints';\nimport { getActiveAnchor } from '../styles';\nimport { InnerProps } from './Generic';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n content: CSSProperties,\n}\n\nexport default (props: InnerProps) => {\n const {\n layout,\n } = props;\n\n const {\n anchor,\n } = layout;\n\n\n const breakpointProps = getBreakpoints(props);\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 },\n }, []);\n};\n","import React, { Fragment } from 'react';\nimport { Container } from '@ux/grid';\nimport pureEnhance from '@ux/pure-enhance';\nimport Background, { BackgroundArray } from '../Background';\nimport Body, { OuterProps as BodyProps } from '../Body';\nimport Scroll from '../Scroll';\nimport stylesheet, { Styles } from './Duo.stylesheet';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport { withProps } from '@team-griffin/rehook';\nimport { Theme } from '@ux/theme-utils';\nimport { Colorway } from 'domain/constants/colorway';\nimport { Layout } from 'domain/constants/layout';\n\ninterface OuterProps extends BodyProps {\n theme: Theme,\n layout: Layout,\n colorway: Colorway,\n hBaseline: number,\n showScroll: boolean,\n duoLayout: boolean,\n background: BackgroundArray,\n onScrollClick: (evt: any) => any,\n}\n\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n}\n\nexport const PureBillboardDuo = ({\n styles,\n theme,\n layout,\n colorway,\n hBaseline,\n ctas,\n text,\n additionalText,\n footerText,\n onScrollClick,\n showScroll,\n ribbonId,\n background,\n}: InnerProps) => (\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n);\n\nconst enhance = pureEnhance('BillboardDuo', [\n withBreakpointsHook,\n withProps(stylesheet),\n]);\n\nexport default enhance(PureBillboardDuo);\n","import { useStyles } from '@team-griffin/stylr';\nimport getBreakpoints from 'presentation/utils/getBreakpoints';\nimport { getActiveAnchor, halfContainerWidth } from '../styles';\nimport { breakpoints } from '@ux/responsive';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { gu2px } from '@ux/theme-utils';\nimport * as r from 'ramda';\nimport { percentage } from '@ux/style-utils';\nimport { InnerProps } from './Duo';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n content: CSSProperties,\n duoLayout: CSSProperties,\n}\nexport default (props: InnerProps) => {\n const {\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n layout,\n duoLayout,\n theme,\n } = props;\n\n const {\n anchor,\n } = layout;\n\n const startDuoLayout = r.pathOr(false, [ 'layout', 'startDuoLayout' ], props);\n // @todo this prop isn't set properly due to how ribbon raid loops and creates duo\n // const endDuoLayout = r.pathOr(false, [ 'layout', 'endDuoLayout' ], props);\n\n const breakpointProps = getBreakpoints(props);\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: percentage(100),\n maxWidth: percentage(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 {\n branch,\n} from 'recompose';\nimport PaddingBox from '@ux/padding-box';\nimport {\n Heading02,\n BodyCopy01,\n} from '@ux/typography';\nimport { withProps } from '@team-griffin/rehook';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\nimport stylesheet, { Styles } from './Tile.stylesheet';\nimport Glyph from '@ux/glyphs';\nimport { gu2px, Theme } from '@ux/theme-utils';\nimport callToAction from 'presentation/hocs/callToAction';\nimport pureEnhance from '@ux/pure-enhance';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport * as r from 'ramda';\nimport withUrlComponent, { UrlComponentType } 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}\ninterface OuterProps extends TileProps {\n theme: Theme,\n hBaseline: number,\n layout: Layout,\n leftTile: boolean,\n rightTile: boolean,\n}\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n hover: boolean,\n Component: UrlComponentType,\n}\n\nexport const PureTile = ({\n styles,\n theme,\n colorway,\n text,\n hBaseline,\n action,\n Component,\n}: InnerProps) => {\n const {\n title,\n body,\n } = text;\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\nexport const enhance = pureEnhance('Tile', {\n hocs: [\n callToAction,\n branch(\n r.path([ 'action', 'url' ]),\n //@ts-ignore\n withHover\n ),\n ],\n hooks: [\n withBreakpointsHook,\n withUrlComponent,\n withProps(stylesheet),\n ],\n});\n\nexport default enhance(PureTile);","import { useStyles } from '@team-griffin/stylr';\nimport { gu2px } from '@ux/theme-utils';\nimport { getTitleColor, getBodyColor, getBackgroundColor } from 'presentation/utils/colorway';\nimport { modifier, percentage } from '@ux/style-utils';\nimport { Alignment } from 'domain/constants/alignment';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { breakpoints } from '@ux/responsive';\nimport { Side as TilesSide } from './constants';\nimport { halfContainerWidth } from './styles';\nimport ribbonPadding from 'presentation/utils/ribbonPadding';\nimport { InnerProps } from './Tile';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n root: CSSProperties,\n container: CSSProperties,\n title: CSSProperties,\n subtitle: CSSProperties,\n box: CSSProperties,\n wrapperText: CSSProperties,\n wrapperIcon: CSSProperties,\n icon: CSSProperties,\n}\nexport default ({\n theme,\n colorway,\n hover,\n layout,\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n leftTile,\n rightTile,\n}: InnerProps) => {\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: percentage(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: percentage(100),\n maxWidth: percentage(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 {\n withProps,\n} from '@team-griffin/rehook';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport Tile, { TileProps } from './Tile';\nimport stylesheet, { Styles } from './Tiles.stylesheet';\nimport { gu2px, Theme } from '@ux/theme-utils';\nimport { Layout } from 'domain/constants/layout';\nimport pureEnhance from '@ux/pure-enhance';\n\ninterface OuterProps {\n theme: Theme,\n tiles: TileProps[],\n hBaseline: number,\n layout: Layout,\n}\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\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 theme,\n tiles,\n styles,\n hBaseline,\n layout,\n}: InnerProps) => (\n
\n \n \n \n \n
\n \n
\n);\n\n\nexport const enhance = pureEnhance(\n 'Tiles',\n {\n hooks: [\n withBreakpointsHook,\n withProps(stylesheet),\n ],\n },\n\n);\n\nexport default enhance(PureTiles);\n","import { useStyles } from '@team-griffin/stylr';\nimport { percentage } from '@ux/style-utils';\nimport { InnerProps } from './Tiles';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n root: CSSProperties,\n tile: CSSProperties,\n}\nexport default ({\n isMinMd,\n isMinLg,\n}: InnerProps) => {\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\n isMinMd: {\n root: {\n flexDirection: 'row',\n display: 'flex',\n },\n tile: {\n width: percentage(50),\n },\n },\n isMinLg: {\n root: {\n flexDirection: 'column',\n height: percentage(100),\n },\n tile: {\n width: percentage(100),\n },\n },\n }, [\n { isMinMd },\n { isMinLg },\n ]);\n};\n","import React, { Fragment } from 'react';\nimport { Container, Row, Column, Direction, Justify } from '@ux/grid';\nimport pureEnhance from '@ux/pure-enhance';\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 { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport { withProps } from '@team-griffin/rehook';\nimport { Side as TilesSide } from '../constants';\nimport stylesheet, { Styles } from './WithTiles.stylesheet';\nimport * as r from 'ramda';\nimport { TileProps } from '../Tile';\nimport { isNotNilOrEmpty } from 'crosscutting/ramda';\n\ninterface OuterProps extends BodyProps {\n showScroll: boolean,\n background: BackgroundArray,\n onScrollClick: (evt: any) => any,\n justify: Justify,\n tiles: TileProps[],\n}\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n direction: Direction,\n hasFooterText: boolean,\n}\nexport const PureBillboardTiles = ({\n styles,\n theme,\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 hasFooterText,\n background,\n direction,\n isMinLg,\n}: InnerProps) => (\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\nconst enhance = pureEnhance('BillboardTiles', [\n withBreakpointsHook,\n withProps((ownerProps: OuterProps) => ({\n direction: r.ifElse(\n r.pathEq([ 'layout', 'tilesSide' ], TilesSide.END),\n r.always(Direction.ROW),\n r.always(Direction.ROW_REVERSE),\n )(ownerProps),\n hasFooterText: r.propSatisfies(\n isNotNilOrEmpty,\n 'footerText',\n )(ownerProps),\n })),\n withProps(stylesheet),\n]);\n\nexport default enhance(PureBillboardTiles);\n","import { useStyles } from '@team-griffin/stylr';\nimport { getActiveAnchor, halfContainerWidth } from '../styles';\nimport { breakpoints } from '@ux/responsive';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { gu2px } from '@ux/theme-utils';\nimport ribbonPadding from 'presentation/utils/ribbonPadding';\nimport { Side as TilesSide } from '../constants';\nimport { percentage } from '@ux/style-utils';\nimport { InnerProps } from './WithTiles';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n content: CSSProperties,\n body: CSSProperties,\n container: CSSProperties,\n row: CSSProperties,\n}\n\nexport default ({\n layout,\n theme,\n isMinSm,\n isMinMd,\n isMinLg,\n isMinXl,\n}: InnerProps) => {\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: percentage(100),\n maxWidth: percentage(100),\n },\n row: {\n width: percentage(100),\n },\n content: {\n marginLeft: 'auto',\n maxWidth: halfContainerWidth(breakpoints.lg, spacing),\n height: percentage(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, { Fragment, ReactNode } from 'react';\nimport pureEnhance from '@ux/pure-enhance';\nimport {\n withProps,\n defaultProps,\n withHandlers,\n withState,\n} from '@team-griffin/rehook';\nimport Ribbon from '../Ribbon';\nimport findResponsiveItem from 'presentation/utils/findResponsiveItem';\nimport getBreakpoints from 'presentation/utils/getBreakpoints';\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, { cornerEmbellishments } 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 * as r from 'ramda';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport { CTA } from 'core/ribbons/cta';\n\nexport interface OuterProps extends BodyProps, RibbonProps {\n cornerEmbellishments?: cornerEmbellishments,\n}\ninterface DefaultProps extends OuterProps {\n ctas: CTA[],\n additionalText: string|ReactNode,\n footerText: string|ReactNode,\n duo: boolean,\n duoLayout: boolean,\n}\ninterface MiddleProps extends DefaultProps, BreakpointProps {}\ninterface InnerProps extends MiddleProps {\n bottomScrollName: string,\n hasTiles: boolean,\n}\n\nconst hasTwoTiles = r.pipe(r.length, r.equals(2));\n\nconst shouldShowScroll = (props: MiddleProps) => r.ifElse(\n r.propEq('isMinSm', true),\n r.pipe(\n r.path([ 'layout', 'fit' ]),\n (fit) => findResponsiveItem(\n getBreakpoints(props),\n fit,\n ),\n r.either(\n r.equals(Fit.FULLSCREEN),\n r.equals(Fit.FILL),\n ),\n ),\n r.always(false),\n)(props);\n\n\nconst BillboardLayout = r.cond([\n [ r.prop('hasTiles'), (props) => ],\n [ r.prop('duoLayout'), (props) => ],\n [ r.T, (props) => ],\n]);\n\nexport const PureBillboard = ({\n id,\n theme,\n layout,\n loading,\n colorway,\n name,\n bottomScrollName,\n hasTiles,\n duoLayout,\n cornerEmbellishments,\n ...props\n}: InnerProps) => (\n \n \n \n \n \n \n \n);\n\n\nexport const enhance = pureEnhance(\n 'Billboard',\n {\n hocs: [\n errorBoundary,\n visibilitySet,\n ],\n hooks: [\n defaultProps({\n ctas: [],\n additionalText: null,\n footerText: null,\n duo: false,\n }),\n withState('bottomScrollName', 'setBottomScrollName', () => {\n return ulid();\n }),\n withHandlers({\n onScrollClick: ({ bottomScrollName }: { bottomScrollName: string }) => () => {\n scroller.scrollTo(bottomScrollName, {\n duration: 500,\n delay: 100,\n smooth: true,\n });\n },\n }),\n withBreakpointsHook,\n withProps((ownerProps: MiddleProps) => ({\n showScroll: shouldShowScroll(ownerProps),\n hasTiles: r.both(\n r.propSatisfies(hasTwoTiles, 'tiles'),\n r.propEq('duo', false),\n )(ownerProps),\n })),\n ],\n },\n);\n\nexport default enhance(PureBillboard);\n","import Billboard, { OuterProps } from './Billboard';\nimport { Side } from './constants';\n\nexport {\n Side,\n OuterProps as BillboardProps,\n};\nexport default Billboard;"],"sourceRoot":""}