{"version":3,"sources":["webpack:///./presentation/components/ribbons/advocate-trustpilot/Review.tsx","webpack:///src/presentation/components/ribbons/advocate-trustpilot/Review.stylesheet.ts","webpack:///./presentation/components/ribbons/advocate-trustpilot/Reviews.tsx","webpack:///./presentation/components/ribbons/advocate-trustpilot/Reviews.stylesheet.ts","webpack:///./presentation/components/ribbons/advocate-trustpilot/Logo.tsx","webpack:///./presentation/components/ribbons/advocate-trustpilot/AdvocateTrustpilot.tsx","webpack:///./presentation/components/ribbons/advocate-trustpilot/AdvocateTrustpilot.stylesheet.ts","webpack:///./presentation/components/ribbons/advocate-trustpilot/ConnectedAdvocateTrustpilot.ts","webpack:///./presentation/components/ribbons/advocate-trustpilot/index.ts","webpack:///./presentation/utils/ribbonPadding.ts","webpack:///../node_modules/@ux/text-button/dist/es/text-button.js","webpack:///src/presentation/hocs/errorBoundary.tsx","webpack:///./presentation/hocs/withRibbonImpression.ts","webpack:///./presentation/utils/ribbonWidth.ts","webpack:///./presentation/hocs/deepLink.tsx","webpack:///./presentation/components/ribbons/Ribbon/Ribbon.tsx","webpack:///./presentation/components/ribbons/Ribbon/ConnectedRibbon.ts","webpack:///./presentation/components/ribbons/Ribbon/index.ts","webpack:///./presentation/utils/getBreakpoints.ts","webpack:///../node_modules/@ux/typography/dist/es/typography.js","webpack:///./presentation/components/Shortcode/PendingShortcode.tsx","webpack:///./presentation/components/Shortcode/Alt.tsx","webpack:///./presentation/components/Shortcode/Bold.tsx","webpack:///./presentation/components/Shortcode/Italic.tsx","webpack:///./presentation/components/Shortcode/Link.tsx","webpack:///./presentation/components/Shortcode/Text.tsx","webpack:///./presentation/components/Shortcode/Tooltip.tsx","webpack:///./presentation/components/Shortcode/Shortcode.tsx","webpack:///./presentation/components/Shortcode/index.ts","webpack:///./presentation/components/common/TrustpilotStars.js","webpack:///./presentation/utils/getTrustpilotUrl.js"],"names":["enhance","pureEnhance","withBreakpointsHook","withProps","colorway","spacing","useStyles","default","root","textAlign","stars","height","gu2px","display","justifyContent","marginBottom","textContainer","content","cssSides","Side","excerpt","fontStyle","fontWeight","color","getTitleColor","theme","byline","getBodyColor","styles","style","TrustpilotStars","rating","component","Shortcode","against","code","isMinSm","review","marginTop","reviews","justify","Justify","CENTER","key","i","xs","sm","md","lg","Review","logoOnDark","getLogoForColorway","r","Colorway","DARK","HIGHLIGHT","PRIMARY","ownerProps","logo","Component","Fragment","url","maxWidth","percentage","maxHeight","href","target","loading","src","alt","hocs","errorBoundary","hooks","reviewCount","getLocalizedTrustPilotUrl","currentLanguage","trustpilotPageId","isMinLg","inner","flexDirection","alignItems","title","padding","id","layout","name","trustScore","Ribbon","type","Logo","values","value","Reviews","mapStateToProps","createStructuredSelector","getTrustpilotPageId","getCurrentLanguage","connect","AdvocateTrustpilot","ConnectedAdvocateTrustpilot","flush","shrinkLeading","shrinkTrailing","getPaddingSize","shrinkSide","isFlush","leading","Flush","LEADING","trailing","TRAILING","paddingTop","paddingBottom","Size","Against","ContentType","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","disabled","block","caps","size","MD","contentType","DEFAULT","_ref","_useStyles","hover","active","palette","typography","fill","LIGHT","secondary","NEUTRAL","tertiary","primaryContrast","PRIMARY_FADED","highlightContrast","HIGHLIGHT_FADED","highlight","assign","width","A","fontFamily","lineHeight","backgroundColor","outline","cursor","textDecoration","transition","opacity","borderBottomStyle","textTransform","SM","fontSize","LG","INHERIT","PHONE_NUMBER","borderBottomWidth","TextButton","_a","children","domProps","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","__rest","createElement","stylesheet","useTheme","useBreakpoints","getBackgroundColor","ribbonPadding","isMinMd","ErrorBoundary","compose","withState","lifecycle","componentDidCatch","this","hooksA","pipe","mapProps","props","selector","useMemo","getRibbonAnalytics","analytics","useSelector","dispatch","useDispatch","actions","bindActionCreators","sendImpression","withHandlers","onImpression","ribbonName","ribbonType","hooksB","isFullyInViewport","stopWatcher","useEffect","mapPropsHoc","branch","Watch","deepLink","withRouter","componentDidMount","location","hash","scrollWhenReady","animationComplete","setTimeout","scroller","scrollTo","duration","delay","smooth","WrappedComponent","mapFit","fit","Fit","FULLSCREEN","minHeight","FILL","flex","flexBasis","AUTO","isFinite","targetRef","useRef","duoLayout","activeFit","findResponsiveItem","getBreakpoints","duoLayoutFlex","duoRibbonWidth","position","ribbon","modifier","PRIMARY_GRADIENT","backgroundImage","primary","primaryGradient","ref","withRibbonImpression","mergeStyles","createHeading","headingSize","Number","depth","concat","Y","Heading01","Heading02","Heading03","Heading04","Heading05","Heading06","stylesheet$1","_ref$theme","gu","SubHeading01","SubHeading02","stylesheet$2","PreHeading01","PreHeading02","BodyCopy01","randomWidth","Math","floor","random","puree","lines","elements","RecursiveShortcode","rest","getUsfConfig","wlSelectors","getAppConfig","attributes","externalRoutes","to","goto","analyticskey","TextButtonSize","escapeShortCodes","nl2br","string","split","map","reduce","prev","cur","text","newline","isFalse","formatText","ReactTooltip","lazy","eventToggle","CallToAction","label","fallback","tagName","useDefaultStyles","Glyph","Sup","List","OrderedList","ListItem","TickListItem","ProductPrice","PhoneNumber","element","genericShortcodeHandler","shortcodeName","String","getAgainst","Element","nuller","Text","Italic","Bold","Alt","Link","Tooltip","glyph","PendingShortcode","starMap","getFuzzyLang","lang"],"mappings":"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","file":"pex-static/29/12.411f7b61aa7df030b335.chunk.js","sourcesContent":["import React from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport TrustpilotStars from 'components/common/TrustpilotStars';\nimport PaddingBox from '@ux/padding-box';\nimport { Heading04, BodyCopy01 } from '@ux/typography';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport stylesheet, { Styles } from './Review.stylesheet';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\nimport { Theme } from '@ux/theme-utils';\nimport { Colorway } from 'domain/constants/colorway';\nimport pureEnhance from '@ux/pure-enhance';\n\nexport interface ReviewProps {\n stars: number,\n byline: string,\n excerpt: ShortcodeProps,\n}\ninterface OuterProps extends ReviewProps {\n theme: Theme,\n colorway: Colorway,\n}\n\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n}\nexport const PureReview = ({\n styles,\n theme,\n colorway,\n stars,\n excerpt,\n byline,\n}: InnerProps) => (\n \n \n \n
\n \n \n \n \n \n {byline}\n \n
\n \n);\n\nexport const enhance = pureEnhance(\n 'AdvocateReview',\n [\n withBreakpointsHook,\n withProps(stylesheet),\n ],\n);\n\nexport default enhance(PureReview);\n","//@ts-ignore\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { gu2px } from '@ux/theme-utils';\nimport { content } from '@ux/type-size';\nimport { getTitleColor, getBodyColor } from 'presentation/utils/colorway';\nimport { useStyles } from '@team-griffin/stylr';\nimport { InnerProps } from './Review';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n root: CSSProperties,\n stars: CSSProperties,\n textContainer: CSSProperties,\n excerpt: CSSProperties,\n byline: CSSProperties,\n}\nexport default ({\n theme,\n colorway,\n}: InnerProps) => {\n const {\n typography,\n spacing,\n } = theme;\n\n return useStyles({\n default: {\n root: {\n textAlign: 'center',\n },\n stars: {\n height: gu2px(3, spacing),\n display: 'flex',\n justifyContent: 'center',\n marginBottom: gu2px(2, spacing),\n },\n textContainer: {\n ...content(typography),\n ...cssSides('margin', Side.A, 0),\n ...cssSides('padding', Side.A, 0),\n },\n excerpt: {\n fontStyle: 'normal',\n fontWeight: 'bold',\n color: getTitleColor(theme, colorway),\n },\n byline: {\n color: getBodyColor(theme, colorway),\n },\n },\n }, [\n { colorway },\n ]);\n};\n","import React from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport { Row, Column, Justify } from '@ux/grid';\nimport stylesheet, { Styles } from './Reviews.stylesheet';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport Review, { ReviewProps } from './Review';\nimport { Theme } from '@ux/theme-utils';\nimport { Colorway } from 'domain/constants/colorway';\nimport pureEnhance from '@ux/pure-enhance';\n\ninterface OuterProps {\n theme: Theme,\n colorway: Colorway,\n reviews: ReviewProps[],\n}\n\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n}\n\ndeclare const i: number;\ndeclare const review: ReviewProps;\n\nexport const PureAdvocateTrustpilot = ({\n theme,\n colorway,\n reviews,\n styles,\n}: InnerProps) => (\n \n \n \n \n \n
\n \n \n
\n);\n\nexport const enhance = pureEnhance(\n 'AdvocateTrustpilot',\n [\n withBreakpointsHook,\n withProps(stylesheet),\n ],\n);\n\nexport default enhance(PureAdvocateTrustpilot);\n","import { useStyles } from '@team-griffin/stylr';\nimport { gu2px } from '@ux/theme-utils';\nimport { InnerProps } from './Reviews';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n review: CSSProperties,\n}\nexport default ({\n theme: {\n spacing,\n },\n isMinSm,\n}: InnerProps) => useStyles({\n default: {\n review: {\n marginTop: gu2px(1, spacing),\n },\n },\n\n isMinSm: {\n review: {\n marginTop: gu2px(2, spacing),\n },\n },\n}, [\n { isMinSm },\n]);\n","import React, { Fragment, CSSProperties, ExoticComponent } from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport { Colorway } from 'domain/constants/colorway';\nimport { percentage } from '@ux/style-utils';\nimport * as r from 'ramda';\nimport { useStyles } from '@team-griffin/stylr';\nimport pureEnhance from '@ux/pure-enhance';\n\nconst logoOnDark = 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/9f2eeecc-b670-4bc1-a366-878f0de5122c/dark-288x72.png'; // eslint-disable-line max-len\nconst logoOnLight = 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/68137afe-5794-4f19-b4aa-f8d5fd8f0215/light-288x72.png'; // eslint-disable-line max-len\n\ninterface OuterProps {\n url: string,\n colorway: Colorway,\n}\n\ninterface InnerProps extends OuterProps {\n styles: {\n root: CSSProperties,\n },\n logo: string,\n Component: ExoticComponent | 'a',\n}\nconst getLogoForColorway = r.cond([\n [ r.equals(Colorway.DARK), r.always(logoOnDark) ],\n [ r.equals(Colorway.HIGHLIGHT), r.always(logoOnDark) ],\n [ r.equals(Colorway.PRIMARY), r.always(logoOnDark) ],\n [ r.T, r.always(logoOnLight) ],\n]);\n\nconst stylesheet = () => useStyles({\n default: {\n root: {\n display: 'block',\n maxWidth: percentage(100),\n maxHeight: percentage(100),\n },\n },\n});\n\nexport const PureLogo = ({\n styles,\n logo,\n url,\n Component,\n}: InnerProps) => (\n \n {/*\n //@ts-ignore */}\n
\n \n);\n\nexport const enhance = pureEnhance(\n 'Logo',\n [\n withProps((ownerProps: OuterProps) => ({\n logo: getLogoForColorway(ownerProps.colorway),\n Component: r.ifElse(\n r.isEmpty,\n r.always(Fragment),\n r.always('a'),\n )(ownerProps.url),\n })),\n withProps(stylesheet),\n ],\n);\n\nexport default enhance(PureLogo);\n","import React from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport Reviews from './Reviews';\nimport Ribbon from '../Ribbon';\nimport Logo from './Logo';\nimport TrustpilotStars from 'components/common/TrustpilotStars';\nimport { FormattedMessage, FormattedNumber } from 'react-intl';\nimport { Container } from '@ux/grid';\nimport PaddingBox from '@ux/padding-box';\nimport { Heading06 } from '@ux/typography';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport errorBoundary from 'presentation/hocs/errorBoundary';\nimport * as r from 'ramda';\nimport getLocalizedTrustPilotUrl from 'presentation/utils/getTrustpilotUrl';\nimport stylesheet, { Styles } from './AdvocateTrustpilot.stylesheet';\nimport pureEnhance from '@ux/pure-enhance';\nimport { RibbonProps } from 'domain/constants/ribbons';\nimport { ReviewProps } from './Review';\n\nexport interface OuterProps extends RibbonProps {\n numberOfReviews?: {\n total: number,\n usedForTrustScoreCalculation: number,\n oneStar: number,\n twoStars: number,\n threeStars: number,\n fourStars: number,\n fiveStars: number,\n },\n stars: number,\n trustScore: number,\n reviews: ReviewProps[],\n reviewCount: number,\n url: string,\n currentLanguage: string,\n trustpilotPageId: string,\n}\n\nexport interface InnerProps extends OuterProps, BreakpointProps {\n styles: Styles,\n}\n\nexport const PureAdvocateTrustpilot = ({\n id,\n styles,\n theme,\n colorway,\n loading,\n layout,\n name,\n stars,\n trustScore,\n reviews,\n reviewCount,\n url,\n}: InnerProps) => (\n \n \n \n \n \n
\n \n \n
\n \n \n ),\n reviewCount: (\n \n ),\n }}\n />\n \n \n\n \n \n \n);\n\n\nexport const enhance = pureEnhance(\n 'AdvocateTrustpilot',\n {\n hocs: [\n errorBoundary,\n ],\n hooks: [\n withBreakpointsHook,\n withProps((ownerProps: OuterProps) => ({\n reviewCount: r.pathOr(\n null,\n [ 'numberOfReviews', 'usedForTrustScoreCalculation' ],\n ownerProps\n ),\n url: getLocalizedTrustPilotUrl(\n ownerProps.currentLanguage,\n ownerProps.trustpilotPageId\n ),\n })),\n withProps(stylesheet),\n ],\n },\n);\n\nexport default enhance(PureAdvocateTrustpilot);\n","import { gu2px } from '@ux/theme-utils';\nimport { getTitleColor } from 'presentation/utils/colorway';\nimport { useStyles } from '@team-griffin/stylr';\nimport { InnerProps } from './AdvocateTrustpilot';\nimport { CSSProperties } from 'react';\nexport interface Styles {\n inner: CSSProperties,\n logo: CSSProperties,\n stars: CSSProperties,\n title: CSSProperties,\n}\nexport default ({\n theme,\n colorway,\n isMinSm,\n isMinLg,\n}: InnerProps) => {\n const {\n spacing,\n } = theme;\n\n return useStyles({\n default: {\n inner: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n logo: {\n height: gu2px(4, spacing),\n marginBottom: gu2px(1, spacing),\n textAlign: 'center',\n },\n stars: {\n height: gu2px(3, spacing),\n marginBottom: gu2px(2, spacing),\n textAlign: 'center',\n },\n title: {\n color: getTitleColor(theme, colorway),\n textAlign: 'center',\n },\n },\n\n isMinLg: {\n logo: {\n height: gu2px(4, spacing),\n },\n stars: {\n height: gu2px(4, spacing),\n },\n reviews: {\n padding: 0,\n },\n },\n }, [\n { isMinSm },\n { isMinLg },\n ]);\n};\n","import { connect } from 'react-redux';\nimport AdvocateTrustpilot, { OuterProps as PureProps } from './AdvocateTrustpilot';\nimport { getCurrentLanguage, getTrustpilotPageId } from 'domain/selectors/ribbons';\nimport { createStructuredSelector } from 'reselect';\nimport pureEnhance from '@ux/pure-enhance';\n\ninterface ConnectedProps {\n currentLanguage: string,\n trustpilotPageId: string,\n}\ninterface InnerProps extends PureProps {}\ninterface OuterProps extends Omit {}\n\n\nconst mapStateToProps = createStructuredSelector({\n trustpilotPageId: getTrustpilotPageId,\n currentLanguage: getCurrentLanguage,\n});\n\nconst enhance = pureEnhance(\n 'ConnectedAdvocateTrustPilot',\n {\n hocs: [\n connect(mapStateToProps),\n ],\n },\n);\n\nexport default enhance(AdvocateTrustpilot);\n","import ConnectedAdvocateTrustpilot from './ConnectedAdvocateTrustpilot';\n\nexport default ConnectedAdvocateTrustpilot;","import { Flush } from 'domain/constants/ribbons';\nimport { gu2px } from '@ux/theme-utils';\nimport * as r from 'ramda';\nimport { Layout } from 'domain/constants/layout';\n\nexport default ({\n spacing,\n isMinSm,\n isMinLg,\n layout,\n flush,\n}: {\n spacing: number,\n isMinSm: boolean,\n isMinLg: boolean,\n layout?: Layout,\n flush?: Flush|boolean,\n}) => {\n\n if (r.equals(flush, true)) {\n // Component will handle all padding, used on full bleed image ribbons\n return {};\n }\n\n const {\n //@ts-ignore\n shrinkLeading,\n //@ts-ignore\n shrinkTrailing,\n } = r.defaultTo({}, layout);\n\n /*\n shrinkSide:\n shrink[Leading/Trailing] prop is true then return a reduced padding\n depending on screen size\n isFlush:\n leading or trailing edge has been designated as flush, no padding\n */\n const getPaddingSize = (shrinkSide: string, isFlush: boolean) => {\n\n if (isFlush) {\n return 0;\n }\n\n return r.cond([\n [ r.propEq(shrinkSide, true), () => r.ifElse(\n r.equals(true),\n r.always(1),\n r.always(0.5),\n )(isMinSm) ],\n [ r.propEq('isMinLg', true), r.always(6) ],\n [ r.propEq('isMinSm', true), r.always(5) ],\n [ r.T, r.always(4) ],\n ])({\n isMinLg,\n isMinSm,\n shrinkLeading,\n shrinkTrailing,\n });\n };\n\n const leading = getPaddingSize('shrinkLeading', flush === Flush.LEADING);\n const trailing = getPaddingSize('shrinkTrailing', flush === Flush.TRAILING);\n\n return {\n paddingTop: gu2px(leading, spacing),\n paddingBottom: gu2px(trailing, spacing),\n };\n};\n","import React from 'react';\nimport { defaultProps, withProps, mapProps } from '@team-griffin/rehook';\nimport pureEnhance from '@ux/pure-enhance';\nimport { DynamicLink } from '@ux/dynamic-link';\nimport { useStyles, withInteraction } from '@team-griffin/stylr';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport longhand from '@team-griffin/css-longhand';\nimport px2em from '@ux/px2em';\nimport { content } from '@ux/type-size';\nimport { percentage, modifier } from '@ux/style-utils';\nimport { cond, equals, always, T, omit } from 'ramda';\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 Size;\n\n(function (Size) {\n Size[\"SM\"] = \"SM\";\n Size[\"MD\"] = \"MD\";\n Size[\"LG\"] = \"LG\";\n Size[\"INHERIT\"] = \"INHERIT\";\n})(Size || (Size = {}));\n\nvar Against;\n\n(function (Against) {\n Against[\"LIGHT\"] = \"LIGHT\";\n Against[\"NEUTRAL\"] = \"NEUTRAL\";\n Against[\"DARK\"] = \"DARK\";\n Against[\"PRIMARY\"] = \"PRIMARY\";\n Against[\"PRIMARY_FADED\"] = \"PRIMARY_FADED\";\n Against[\"HIGHLIGHT\"] = \"HIGHLIGHT\";\n Against[\"HIGHLIGHT_FADED\"] = \"HIGHLIGHT_FADED\";\n})(Against || (Against = {}));\n\nvar ContentType;\n\n(function (ContentType) {\n ContentType[\"DEFAULT\"] = \"DEFAULT\";\n ContentType[\"PHONE_NUMBER\"] = \"PHONE_NUMBER\";\n})(ContentType || (ContentType = {}));\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 stylesheet = function stylesheet(_ref) {\n var _useStyles;\n\n var theme = _ref.theme,\n against = _ref.against,\n block = _ref.block,\n disabled = _ref.disabled,\n size = _ref.size,\n caps = _ref.caps,\n contentType = _ref.contentType,\n hover = _ref.hover,\n active = _ref.active;\n var palette = theme.palette,\n typography = theme.typography;\n var fill = cond([[equals(Against.LIGHT), always(palette.secondary)], [equals(Against.NEUTRAL), always(palette.secondary)], [equals(Against.DARK), always(palette.tertiary)], [equals(Against.PRIMARY), always(palette.primaryContrast)], [equals(Against.PRIMARY_FADED), always(palette.secondary)], [equals(Against.HIGHLIGHT), always(palette.highlightContrast)], [equals(Against.HIGHLIGHT_FADED), always(palette.highlight)], [T, always(palette.secondary)]])(against);\n return useStyles((_useStyles = {\n default: {\n root: Object.assign({}, content(theme.typography), longhand('border', {\n color: 'transparent',\n style: 'solid',\n width: 0\n }), cssSides('margin', Side.A, 0), cssSides('padding', Side.A, 0), {\n fontFamily: typography.content,\n lineHeight: 1.1,\n paddingBottom: 1,\n color: fill,\n textAlign: 'left',\n backgroundColor: 'transparent',\n outline: 0,\n cursor: equals(disabled, true) ? 'not-allowed' : 'pointer',\n textDecoration: 'none',\n transition: 'opacity 0.2s ease-in-out, border 0.1s ease-in-out'\n }),\n\n /*\r\n we apply the border on the inner text span as we need to ensure\r\n that if the text wraps over 2 lines, both lines have a dotted border.\r\n If there is any padding on this inner element it breaks the underline\r\n when in a css column.\r\n */\n inner: Object.assign({}, longhand('borderBottom', {\n style: 'dotted',\n color: fill,\n width: 1\n }))\n },\n hover: {\n root: {\n opacity: 0.75\n },\n inner: {\n borderBottomStyle: 'solid',\n opacity: 0.75\n }\n },\n active: {\n inner: {\n borderBottomStyle: 'solid',\n opacity: 0.75\n }\n },\n caps: {\n root: {\n textTransform: 'uppercase'\n }\n },\n block: {\n root: {\n display: 'block',\n width: percentage(100)\n }\n }\n }, _defineProperty(_useStyles, modifier('size', Size.SM), {\n root: {\n fontSize: px2em(12)\n }\n }), _defineProperty(_useStyles, modifier('size', Size.MD), {\n root: {\n fontSize: px2em(14)\n }\n }), _defineProperty(_useStyles, modifier('size', Size.LG), {\n root: {\n fontSize: px2em(16)\n }\n }), _defineProperty(_useStyles, modifier('size', Size.INHERIT), {\n root: {\n fontSize: 'inherit',\n lineHeight: 'inherit'\n }\n }), _defineProperty(_useStyles, modifier('contentType', ContentType.PHONE_NUMBER), {\n inner: {\n borderBottomWidth: 0\n }\n }), _defineProperty(_useStyles, \"disabled\", {\n root: {\n opacity: 0.3\n }\n }), _useStyles), [{\n hover: hover\n }, {\n active: active\n }, {\n caps: caps\n }, {\n block: block\n }, {\n disabled: disabled\n }, {\n size: size\n }, {\n contentType: contentType\n }, {\n against: against\n }]);\n};\n\nvar PureTextButton = function PureTextButton(_a) {\n var styles = _a.styles,\n children = _a.children,\n domProps = __rest(_a, [\"styles\", \"children\"]);\n\n return React.createElement(DynamicLink, Object.assign({\n style: styles.root\n }, domProps), React.createElement(\"span\", {\n style: styles.inner\n }, children));\n};\nvar enhance = pureEnhance('TextButton', {\n hooks: [defaultProps({\n disabled: false,\n block: false,\n caps: false,\n size: Size.MD,\n contentType: ContentType.DEFAULT\n }), withProps(stylesheet), mapProps(omit(['theme', 'against', 'hover', 'active', 'focus', 'hocus', 'caps', 'block', 'size', 'contentType']))]\n});\nvar TextButton = withInteraction(enhance(PureTextButton)); // eslint-disable-next-line no-underscore-dangle\n\nexport default TextButton;\nexport { Against, ContentType, Size };\n","import React, { CSSProperties } from 'react';\nimport { compose, lifecycle, withState, withProps } from 'recompose';\nimport Message from '@ux/message';\nimport { Container } from '@ux/grid';\nimport * as r from 'ramda';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { getBackgroundColor, getTitleColor } from 'presentation/utils/colorway';\nimport { gu2px, useTheme } from '@ux/theme-utils';\nimport ribbonPadding from 'presentation/utils/ribbonPadding';\nimport { useStyles } from '@team-griffin/stylr';\nimport { Colorway } from 'domain/constants/colorway';\nimport { Layout } from 'domain/constants/layout';\nimport { Flush } from 'domain/constants/ribbons';\nimport { BreakpointProps, useBreakpoints } from '@ux/responsive';\n\ninterface OuterProps extends BreakpointProps {\n colorway: Colorway;\n layout: Layout;\n flush?: Flush | boolean;\n}\n\ninterface InnerProps extends OuterProps {\n styles: {\n root: CSSProperties;\n };\n hasErrored: boolean;\n}\nconst stylesheet = ({ colorway, layout, flush }: InnerProps) => {\n const { theme } = useTheme();\n const { isMinSm, isMinMd, isMinLg } = useBreakpoints();\n const { spacing } = theme;\n\n return useStyles(\n {\n default: {\n root: {\n backgroundColor: getBackgroundColor(theme, colorway),\n color: getTitleColor(theme, colorway),\n ...ribbonPadding({\n spacing,\n isMinSm,\n isMinLg,\n layout,\n flush,\n }),\n ...cssSides('Side', Side.X, gu2px(3, spacing)),\n textAlign: 'center',\n },\n },\n isMinSm: {\n root: {\n ...cssSides('Side', Side.X, gu2px(4, spacing)),\n },\n },\n },\n [{ colorway }, { isMinSm }, { isMinMd }],\n );\n};\n\nexport default (WrappedComponent: any) => {\n const ErrorBoundary = r.ifElse(\n r.propEq('hasErrored', true),\n ({ styles }) => (\n \n \n \n \n
\n ),\n (props: InnerProps) => ,\n );\n\n return compose(\n withState('hasErrored', 'setHasErrored', false),\n lifecycle({\n componentDidCatch: function() {\n //@ts-ignore\n this.props.setHasErrored(true);\n },\n }),\n withProps(stylesheet),\n )(ErrorBoundary);\n};\n","import { useMemo, useEffect } from 'react';\nimport { branch, mapProps as mapPropsHoc } from 'recompose';\nimport pureEnhance from '@ux/pure-enhance';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { pipe, withProps, mapProps, withHandlers } from '@team-griffin/rehook';\nimport { Watch } from 'scrollmonitor-react';\nimport * as r from 'ramda';\nimport { sendImpression } from 'application/signals/ribbons';\nimport { getRibbonAnalytics } from 'domain/selectors/ribbons';\nimport { Type } from 'domain/constants/ribbons';\n\nconst hooksA = pipe(\n mapProps((props: any) => {\n const { id } = props;\n const selector = useMemo(() => getRibbonAnalytics(id), [ id ]);\n const analytics = useSelector(selector);\n const dispatch = useDispatch();\n const actions = bindActionCreators({ sendImpression }, dispatch);\n\n return r.mergeDeepLeft(props, {\n analytics,\n actions,\n });\n }),\n withHandlers({\n onImpression: ({\n name,\n type,\n analytics,\n actions: {\n sendImpression,\n },\n }: {\n name: string,\n type: Type,\n analytics: any,\n actions: {\n sendImpression: Function,\n }\n }) => () => sendImpression({\n ...analytics,\n ribbonName: name,\n ribbonType: type,\n }),\n }),\n);\n\nconst hooksB = pipe(\n withProps(({\n isFullyInViewport,\n stopWatcher,\n onImpression,\n analytics,\n }: {\n isFullyInViewport: boolean,\n stopWatcher: () => void,\n onImpression: (a: any) => void,\n analytics: any,\n }) => {\n useEffect(() => {\n if (isFullyInViewport) {\n stopWatcher();\n onImpression(analytics);\n }\n }, [ isFullyInViewport ]);\n }),\n);\n\nexport default pureEnhance('RibbonImpression', {\n hocs: [\n mapPropsHoc(hooksA),\n branch(\n r.propSatisfies(r.complement(r.isNil), 'analytics'),\n Watch,\n ),\n mapPropsHoc(hooksB),\n ],\n});\n","export const duoRibbonWidth = ({\n isMinMd,\n duoLayout,\n}: {\n isMinMd: boolean,\n duoLayout?: boolean,\n}) => {\n if (!isMinMd || duoLayout == null) {\n return {};\n }\n\n const flexSize = (isMinMd && duoLayout) ? 50 : 100;\n return {\n flex: `${flexSize}%`,\n };\n};\n\nexport default null;","import React, { Fragment } from 'react';\nimport {\n compose,\n lifecycle,\n} from 'recompose';\nimport { withRouter } from 'react-router';\nimport { Element, scroller } from 'react-scroll';\n\nconst deepLink = compose(\n withRouter,\n lifecycle({\n componentDidMount: function() {\n //Adding some ts-ignores here so it doesn't throw not recognizing\n //this.props\n\n //@ts-ignore\n if (this.props.location.hash === `#${this.props.name}`) {\n const scrollWhenReady = () => {\n // we can't scroll to eagerly or we'll end up in the wrong place\n //@ts-ignore\n if (this.props.loading || !this.props.animationComplete) {\n return setTimeout(scrollWhenReady, 100);\n }\n //@ts-ignore\n scroller.scrollTo(this.props.name, {\n duration: 500,\n delay: 100,\n smooth: true,\n });\n };\n setTimeout(scrollWhenReady, 100);\n }\n },\n }),\n (WrappedComponent: any) => {\n return (props: any) => (\n \n \n \n \n );\n },\n);\n\nexport default deepLink;\n","import React, { useRef, useLayoutEffect, CSSProperties, ReactNode, Ref } from 'react';\nimport { withProps } from '@team-griffin/rehook';\nimport pureEnhance from '@ux/pure-enhance';\nimport { withBreakpointsHook, BreakpointProps } from '@ux/responsive';\nimport findResponsiveItem from 'presentation/utils/findResponsiveItem';\nimport getBreakpoints from 'presentation/utils/getBreakpoints';\nimport ribbonPadding from 'presentation/utils/ribbonPadding';\nimport { duoRibbonWidth } from 'presentation/utils/ribbonWidth';\nimport { percentage, modifier } from '@ux/style-utils';\nimport deepLink from 'presentation/hocs/deepLink';\nimport { getBackgroundColor } from 'presentation/utils/colorway';\nimport { useStyles } from '@team-griffin/stylr';\nimport { Colorway } from 'domain/constants/colorway';\nimport { Fit, Flush, RibbonProps } from 'domain/constants/ribbons';\nimport * as r from 'ramda';\n\nexport {\n Flush,\n};\n\ninterface OuterProps extends RibbonProps {\n children?: ReactNode,\n}\ninterface WithHandlerProps extends OuterProps {\n setAnimationComplete: Function,\n setRibbonHeight: Function,\n setHeight: Function,\n onAnimationEnd: (props: {\n newHeight: number;\n }) => void,\n}\n\ninterface InnerProps extends WithHandlerProps, BreakpointProps {\n rendered: boolean,\n targetRef: Ref,\n duration: number,\n styles: {\n root: CSSProperties,\n inner: CSSProperties,\n ribbon: CSSProperties,\n }\n}\n\nconst mapFit = (fit: Fit) => r.cond([\n [ r.equals(Fit.FULLSCREEN), r.always({\n minHeight: '100vh',\n }) ],\n [ r.equals(Fit.FILL), r.always({\n flex: 1,\n flexBasis: 'auto',\n }) ],\n [ r.equals(Fit.AUTO), r.always({\n height: 'auto',\n }) ],\n [ isFinite, r.always({\n minHeight: fit,\n }) ],\n [ r.T, r.always({\n height: 'auto',\n }) ],\n])(fit);\n\nconst stylesheet = ({\n theme,\n colorway,\n loading,\n layout,\n flush,\n ...props\n}: InnerProps) => {\n const {\n palette,\n spacing,\n } = theme;\n const {\n //@ts-ignore\n fit,\n } = r.defaultTo({}, layout);\n\n const {\n isMinSm,\n isMinMd,\n isMinLg,\n duoLayout,\n } = props;\n\n const activeFit = findResponsiveItem(\n getBreakpoints(props),\n fit,\n );\n\n const padding = ribbonPadding({\n spacing,\n isMinSm,\n isMinLg,\n layout,\n flush,\n });\n\n const duoLayoutFlex = duoRibbonWidth({\n isMinMd,\n duoLayout,\n });\n\n return useStyles({\n default: {\n root: {\n backgroundColor: getBackgroundColor(theme, colorway),\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n width: percentage(100),\n ...mapFit(activeFit),\n ...padding,\n ...duoLayoutFlex,\n },\n inner: {\n flex: 1,\n flexBasis: 'auto',\n display: 'flex',\n height: 'auto',\n },\n ribbon: {\n display: 'flex',\n flexDirection: 'column',\n width: percentage(100),\n },\n },\n\n [modifier('colorway', Colorway.PRIMARY_GRADIENT)]: {\n root: {\n backgroundImage: `linear-gradient(to right, ${palette.primary}, ${palette.primaryGradient})`,\n },\n },\n }, [\n { loading },\n { colorway },\n { isMinSm },\n { isMinMd },\n { isMinLg },\n ]);\n};\n\nexport const PureRibbon = ({\n styles,\n targetRef,\n children,\n}: InnerProps) => (\n \n);\n\nexport const enhance = pureEnhance('Ribbon', {\n hocs: [\n deepLink,\n ],\n hooks: [\n withProps(() => {\n const targetRef = useRef({});\n\n if (process.env.NODE_ENV !== 'production') {\n useLayoutEffect(() => {\n // when backstop runs on ribbons, this lets us filter out a lot of false\n // positives and a lot of race condition fails by only initialising\n // the snapshot once loading has finished + a delay to wait for fonts etc to load\n // eslint-disable-next-line\n setTimeout(() => {\n // eslint-disable-next-line\n console.log('BACKSTOP_RIBBON_READY');\n }, 3000);\n }, [ targetRef.current ]);\n }\n\n return {\n targetRef,\n };\n }),\n withBreakpointsHook,\n withProps(stylesheet),\n ],\n});\n\nexport default enhance(PureRibbon);\n","import pureEnhance from '@ux/pure-enhance';\nimport withRibbonImpression from 'presentation/hocs/withRibbonImpression';\n\nimport Ribbon from './Ribbon';\n\nconst enhance = pureEnhance('ConnectedRibbon', {\n hocs: [ withRibbonImpression ],\n});\n\nexport default enhance(Ribbon);\n","import Ribbon from './ConnectedRibbon';\nimport { Flush } from './Ribbon';\n\nexport { Flush };\n\nexport default Ribbon;\n","import * as r from 'ramda';\nimport { BreakpointProps } from '@ux/responsive';\n\ninterface anyProps extends BreakpointProps {\n [key: string]: any,\n}\nexport default (props: anyProps) => r.pick([\n 'isMinSm',\n 'isMinMd',\n 'isMinLg',\n 'isMinXl',\n], props) as anyProps;\n","import { headingXl, headingXxl, display, headingL, headingM, headingS, headingXs, headingXxs, content } from '@ux/type-size';\nimport reactCSS from 'reactcss';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { createElement } from 'react';\nimport { defaultProps, mapProps } from '@team-griffin/rehook';\nimport pureEnhance from '@ux/pure-enhance';\nimport { withStylesHook } from '@ux/style-utils';\nimport { withBreakpoints } from '@ux/responsive';\nimport { pipe, converge, assoc, mergeDeepRight, path, propOr, identity, dissoc, is, defaultTo } from 'ramda';\nimport { gu2px } from '@ux/theme-utils';\n\nvar mergeStyles = pipe(converge(assoc('style'), [converge(mergeDeepRight, [path(['styles', 'root']), propOr({}, 'style')]), identity]), dissoc('styles'));\n\nvar createHeading = function createHeading(name, component, headingSize, stylesheet) {\n return pureEnhance(name, {\n hocs: [withBreakpoints],\n hooks: [defaultProps({\n component: component\n }), withStylesHook(function (props) {\n return stylesheet(Object.assign({}, props, {\n headingSize: headingSize\n }));\n }), mapProps(pipe(mergeStyles, function (props) {\n // if a `depth` prop is provided, make the `` element\n if (is(Number, props.depth)) {\n return assoc('component', \"h\".concat(props.depth), props);\n }\n\n return props;\n }))]\n })(function (_ref) {\n var style = _ref.style,\n children = _ref.children,\n component = _ref.component;\n return createElement(component, {\n style: style\n }, children);\n });\n};\n\nvar stylesheet = function stylesheet(_ref) {\n var typography = _ref.theme.typography,\n isMinSm = _ref.isMinSm,\n isMinLg = _ref.isMinLg,\n headingSize = _ref.headingSize;\n return reactCSS({\n default: {\n root: Object.assign({}, headingSize[0](typography), cssSides('margin', Side.Y, 0), {\n fontWeight: 'normal',\n fontFamily: typography.display\n })\n },\n isMinSm: {\n root: Object.assign({}, headingSize[1](typography))\n },\n isMinLg: {\n root: Object.assign({}, headingSize[2](typography))\n }\n }, [{\n isMinSm: isMinSm\n }, {\n isMinLg: isMinLg\n }]);\n};\n/* eslint-disable max-len */\n\n\nvar Heading01 = createHeading('Heading01', 'h1', [headingXl, headingXxl, display], stylesheet);\nvar Heading02 = createHeading('Heading02', 'h1', [headingL, headingXl, headingXxl], stylesheet);\nvar Heading03 = createHeading('Heading03', 'h1', [headingM, headingL, headingXl], stylesheet);\nvar Heading04 = createHeading('Heading04', 'h1', [headingS, headingM, headingL], stylesheet);\nvar Heading05 = createHeading('Heading05', 'h1', [headingXs, headingS, headingM], stylesheet);\nvar Heading06 = createHeading('Heading06', 'h1', [headingXxs, headingXs, headingS], stylesheet);\n\nvar stylesheet$1 = function stylesheet(_ref) {\n var _ref$theme = _ref.theme,\n typography = _ref$theme.typography,\n spacing = _ref$theme.spacing,\n gu = _ref.gu,\n isMinSm = _ref.isMinSm,\n isMinLg = _ref.isMinLg,\n headingSize = _ref.headingSize;\n return reactCSS({\n default: {\n root: Object.assign({}, headingSize[0](typography), {\n marginTop: gu2px(defaultTo(2, gu), spacing),\n marginBottom: 0,\n fontWeight: 'normal',\n fontFamily: typography.display\n })\n },\n isMinSm: {\n root: Object.assign({}, headingSize[1](typography))\n },\n isMinLg: {\n root: Object.assign({}, headingSize[2](typography))\n }\n }, [{\n isMinSm: isMinSm\n }, {\n isMinLg: isMinLg\n }]);\n};\n/* eslint-disable max-len */\n\n\nvar SubHeading01 = createHeading('SubHeading01', 'h2', [headingXs, headingS, headingM], stylesheet$1);\nvar SubHeading02 = createHeading('SubHeading02', 'h3', [headingXxs, headingXxs, headingXs], function (props) {\n return stylesheet$1(mergeDeepRight(props, {\n gu: 1\n }));\n});\n\nvar stylesheet$2 = function stylesheet(_ref) {\n var _ref$theme = _ref.theme,\n typography = _ref$theme.typography,\n spacing = _ref$theme.spacing,\n isMinSm = _ref.isMinSm,\n isMinLg = _ref.isMinLg,\n headingSize = _ref.headingSize;\n return reactCSS({\n default: {\n root: Object.assign({}, headingSize[0](typography), {\n marginTop: 0,\n marginBottom: gu2px(1, spacing),\n fontWeight: 'normal',\n fontFamily: typography.display\n })\n },\n isMinSm: {\n root: Object.assign({}, headingSize[1](typography))\n },\n isMinLg: {\n root: Object.assign({}, headingSize[2](typography))\n }\n }, [{\n isMinSm: isMinSm\n }, {\n isMinLg: isMinLg\n }]);\n};\n/* eslint-disable max-len */\n\n\nvar PreHeading01 = createHeading('PreHeading01', 'div', [headingXxs, headingXs, headingS], stylesheet$2);\nvar PreHeading02 = createHeading('PreHeading02', 'div', [headingXxs, headingXxs, headingXs], stylesheet$2);\n\nvar stylesheet$3 = function stylesheet(_ref) {\n var _ref$theme = _ref.theme,\n typography = _ref$theme.typography,\n spacing = _ref$theme.spacing,\n isMinSm = _ref.isMinSm,\n isMinLg = _ref.isMinLg,\n headingSize = _ref.headingSize;\n return reactCSS({\n default: {\n root: Object.assign({}, headingSize[0](typography), {\n marginTop: gu2px(1, spacing),\n marginBottom: 0,\n fontWeight: 'normal',\n fontFamily: typography.content\n })\n },\n isMinSm: {\n root: Object.assign({}, headingSize[1](typography))\n },\n isMinLg: {\n root: Object.assign({}, headingSize[2](typography))\n }\n }, [{\n isMinSm: isMinSm\n }, {\n isMinLg: isMinLg\n }]);\n};\n/* eslint-disable max-len */\n\n\nvar BodyCopy01 = createHeading('BodyCopy01', 'p', [content, content, content], stylesheet$3);\n\nvar index = null;\n\nexport default index;\nexport { BodyCopy01, Heading01, Heading02, Heading03, Heading04, Heading05, Heading06, PreHeading01, PreHeading02, SubHeading01, SubHeading02 };\n","import React from 'react';\nimport { puree, GetInnerProps } from '@ux/pure-enhance';\nimport Shimmer from '@ux/shimmer';\nimport { ShortcodeProps } from './';\nimport { Colorway } from '@ux/theme-utils';\n\nexport interface OuterProps {\n against?: Colorway,\n code: ShortcodeProps,\n}\n\n// random % width for shimmer betwen 50% and 95%\nconst randomWidth = () => Math.floor((Math.random() * (95 - 50)) + 50);\n\nconst enhance = puree('PendingShortcode')();\n\ntype InnerProps = GetInnerProps;\n\nconst PurePendingShortcode = ({\n code,\n against,\n}: InnerProps) => (\n \n \n
\n);\n\nexport default enhance(PurePendingShortcode);\n","import React from 'react';\nimport * as r from 'ramda';\nimport pureEnhance from '@ux/pure-enhance';\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nexport default pureEnhance(\n 'Alt',\n)(({\n RecursiveShortcode,\n elements,\n theme,\n against,\n ...rest\n}) => (\n \n \n \n));\n","import React from 'react';\nimport { RecursiveShortcodeProps } from './Shortcode';\nimport pureEnhance from '@ux/pure-enhance';\n\nexport default pureEnhance(\n 'Bold',\n)(({ elements, RecursiveShortcode, ...rest }) => (\n \n \n \n));\n","import React from 'react';\nimport pureEnhance from '@ux/pure-enhance';\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nexport default pureEnhance(\n 'Bold',\n)(({ elements, RecursiveShortcode, ...rest }) => (\n \n \n \n));","import React from 'react';\nimport { withProps } from '@team-griffin/rehook';\nimport TextButton, {\n Size as TextButtonSize,\n} from '@ux/text-button';\nimport { connect } from '@ux/fabric';\nimport { selectors as wlSelectors } from '@ux/whitelabel';\nimport pureEnhance from '@ux/pure-enhance';\nimport * as r from 'ramda';\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst getUsfConfig = wlSelectors.getAppConfig('usf');\n\nconst mapStateToProps = r.pipe(\n getUsfConfig,\n r.pathOr([], [ 'externalRoutes' ]),\n r.objOf('externalRoutes'),\n);\n\nexport default pureEnhance(\n 'Link', [\n //@ts-ignore (apparently incompatible states)\n withProps(connect(mapStateToProps)),\n ])(({\n RecursiveShortcode,\n elements,\n contentType,\n attributes,\n theme,\n against,\n externalRoutes,\n ...rest\n}) => (\n \n \n \n));\n","import React, { Fragment } from 'react';\nimport { isFalse } from '@team-griffin/capra';\nimport * as r from 'ramda';\nimport pureEnhance from '@ux/pure-enhance';\n\nconst escapeShortCodes = r.pipe(\n r.replace('[!', '['),\n r.replace('!/]', '/]'),\n r.replace('[/!', '[/'),\n);\n\nconst nl2br = (string: string) => string.split('\\n')\n .map(r.identity)\n //@ts-ignore typescript cant figure typing out\n // eslint-disable-next-line react/no-array-index-key\n .reduce((prev, cur, i) => [ prev, (
), cur ]);\n\nconst formatText = (text: string, newline: boolean|Element) => r.pipe(\n escapeShortCodes,\n // unless newline is false, run through nl2br\n r.unless(\n r.always(isFalse(newline)),\n nl2br,\n ),\n)(text);\n\ninterface Props {\n text: string,\n nl2br: Element,\n}\nexport default pureEnhance(\n 'Text',\n)(({ text, nl2br }) => (\n \n {formatText(text, nl2br)}\n \n));\n","import React, { lazy, Suspense } from 'react';\nimport { withProps } from '@team-griffin/rehook';\nimport TextButton, { Size as TextButtonSize } from '@ux/text-button';\nimport { withBreakpointsHook } from '@ux/responsive';\nimport { gu2px } from '@ux/theme-utils';\nimport pureEnhance from '@ux/pure-enhance';\nimport { RecursiveShortcodeProps } from './Shortcode';\n\n/*\n React-Tooltip is a heavy dependency therefore we asynchronously load it in\n and gracefully decorate the functionality in once it has loaded\n*/\nconst ReactTooltip = lazy(() => import(\n /* webpackChunkName: \"react-tooltip-lite\" */\n 'react-tooltip-lite'\n));\n\nexport default pureEnhance(\n 'TooltipShortcode', [\n withBreakpointsHook,\n withProps(({\n theme,\n isMinLg,\n }: RecursiveShortcodeProps) => {\n return {\n eventToggle: isMinLg ? void 0 : 'onClick',\n padding: `${gu2px(2, theme.spacing)}px`, // requires String; gross\n };\n }),\n ],\n)(({\n RecursiveShortcode,\n theme,\n against,\n padding,\n eventToggle,\n attributes,\n elements,\n}) => {\n const CallToAction = (\n \n {attributes.label}\n \n );\n\n return (\n \n {/*@ts-ignore children doesnt exist */}\n \n \n \n )}\n >\n {CallToAction}\n \n \n );\n});\n","import React, { Fragment, Suspense, lazy, ReactNode } from 'react';\nimport pureEnhance from '@ux/pure-enhance';\nimport PendingShortcode from './PendingShortcode';\nimport { getAgainst } from 'presentation/utils/colorway';\nimport { nuller } from '@team-griffin/capra';\nimport { Theme } from '@ux/theme-utils';\nimport { Layout } from 'domain/constants/layout';\nimport { Styles } from './stylesheets';\nimport { BreakpointProps } from '@ux/responsive';\nimport { ShortcodeProps } from '.';\nimport * as r from 'ramda';\nimport { Against } from '@ux/button';\n\n/*\n These shortcodes should not be lazy loaded in as they are already in the\n main bundle and it causes a unnecessary shimmer which makes the page feel\n less responsive\n*/\nimport Alt from './Alt';\nimport Bold from './Bold';\nimport Italic from './Italic';\nimport Link from './Link';\nimport Text from './Text';\nimport Tooltip from './Tooltip';\n\nconst Glyph = lazy(() => import(\n /* webpackChunkName: \"shortcode-glyph\" */\n './Glyph'\n));\n\nconst Sup = lazy(() => import(\n /* webpackChunkName: \"shortcode-sup\" */\n './Sup'\n));\n\nconst List = lazy(() => import(\n /* webpackChunkName: \"shortcode-list\" */\n './List'\n));\n\nconst OrderedList = lazy(() => import(\n /* webpackChunkName: \"shortcode-ordered-list\" */\n './OrderedList'\n));\n\nconst ListItem = lazy(() => import(\n /* webpackChunkName: \"shortcode-list-item\" */\n './ListItem'\n));\n\nconst TickListItem = lazy(() => import(\n /* webpackChunkName: \"shortcode-tick-list-item\" */\n './TickListItem'\n));\n\nconst ProductPrice = lazy(() => import(\n /* webpackChunkName: \"shortcode-product-price\" */\n './ProductPrice'\n));\n\nconst PhoneNumber = lazy(() => import(\n /* webpackChunkName: \"shortcode-phone-number\" */\n './PhoneNumber'\n));\n\ndeclare const i: number;\ndeclare const element: ShortcodeProps;\n\nexport interface RecursiveShortcodeProps extends BreakpointProps{\n elements: ShortcodeProps[],\n layout?: Layout,\n RecursiveShortcode: React.LazyExoticComponent,\n theme?: Theme,\n against?: Against,\n styles?: Styles,\n attributes?: {\n use?: string,\n number?: number,\n analyticskey?: string,\n goto?: string,\n label?: ReactNode,\n prices?: string,\n inctax?: string,\n }\n nl2br?: boolean,\n rest: {\n [key: string]: any,\n }\n [key: string]: any,\n}\nconst RecursiveShortcode = ({ elements, ...rest }: RecursiveShortcodeProps) => (\n \n \n \n \n \n);\n\nexport interface ShortcodeOuterProps {\n theme?: Theme,\n against?: Against,\n RecursiveShortcode: React.LazyExoticComponent,\n code: RecursiveShortcodeProps,\n}\n\nfunction genericShortcodeHandler(\n shortcodeName: string,\n Component: React.LazyExoticComponent | React.ComponentType,\n) {\n return [\n r.both(\n r.propEq('type', 'element'),\n r.propEq('name', shortcodeName),\n ),\n (props: ShortcodeOuterProps) => (\n \n ),\n ];\n}\n\nconst Shortcode = ({ code, ...rest }: ShortcodeOuterProps) => {\n const props = r.pipe(\n r.ifElse(\n () => r.is(String, code),\n r.assoc('code', code),\n r.mergeDeepLeft(code),\n ),\n r.over(\n r.lensProp('against'),\n (colorway) => getAgainst(colorway),\n ),\n r.assoc('RecursiveShortcode', RecursiveShortcode),\n r.over(\n r.lensProp('attributes'),\n r.defaultTo({}),\n ),\n )(rest);\n\n // @ts-ignore\n const Element = r.cond([\n [\n r.isNil,\n nuller,\n ],\n [\n r.propIs(String, 'code'),\n () => (\n //@ts-ignore\n \n ),\n ],\n [\n r.propEq('type', 'text'),\n () => (\n \n ),\n ],\n genericShortcodeHandler('i', Italic),\n genericShortcodeHandler('b', Bold),\n genericShortcodeHandler('alt', Alt),\n genericShortcodeHandler('sup', Sup),\n genericShortcodeHandler('glyph', Glyph),\n genericShortcodeHandler('tel', PhoneNumber),\n genericShortcodeHandler('link', Link),\n genericShortcodeHandler('productprice', ProductPrice),\n genericShortcodeHandler('tooltip', Tooltip),\n [\n r.both(\n r.propEq('type', 'element'),\n r.propEq('name', 'list'),\n ),\n () => r.ifElse(\n r.propEq('style', 'number'),\n () => (\n \n ),\n () => (\n
\n ),\n )(props.attributes),\n ],\n [\n r.both(\n r.propEq('type', 'element'),\n r.propEq('name', 'li'),\n ),\n () => r.ifElse(\n r.propEq('style', 'glyph'),\n () => (\n \n ),\n () => (\n \n ),\n )(props.attributes),\n ],\n //@ts-ignore\n genericShortcodeHandler('root', RecursiveShortcode),\n [\n r.T,\n nuller,\n ],\n ]);\n\n return (\n \n );\n};\n\nconst ShortcodeWrapper = (props: ShortcodeOuterProps) => (\n \n )}\n >\n \n \n);\n\nconst enhance = pureEnhance('Shortcode');\n\nexport default enhance(ShortcodeWrapper);\n","import Shortcode, { RecursiveShortcodeProps } from './Shortcode';\n\n//TODO: help.. please.\nexport type ShortcodeProps = RecursiveShortcodeProps;\n\n\nexport default Shortcode;\n","import React from 'react';\nimport pureEnhance from '@ux/pure-enhance';\nimport { useStyles } from '@team-griffin/stylr';\nimport { percentage } from '@ux/style-utils';\nimport { withProps } from '@team-griffin/rehook';\n\nconst stylesheet = () => useStyles({\n default: {\n root: {\n maxWidth: percentage(100),\n maxHeight: percentage(100),\n display: 'block',\n },\n },\n});\n\n\n// I'm not worried about the repetition of the prefix here as it'll be normalised away by gzip compression\n// as a dictionary item.\nconst starMap = {\n '1': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/4627f20d-7040-4e7f-9abe-36501b4dd2e8/1-256x48.png', // eslint-disable-line max-len\n '1.5': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/8f0e6ed7-723f-41e5-a402-2fd90025d763/1_5-256x48.png', // eslint-disable-line max-len\n '2': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/a68be276-2c5e-4257-92ed-bc37a6a48950/2-256x48.png', // eslint-disable-line max-len\n '2.5': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/a4e13b3a-499a-46e3-91f2-cc8c4b95e218/2_5-256x48.png', // eslint-disable-line max-len\n '3': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/2f119448-0f7a-4bb5-878a-2a589e768761/3-256x48.png', // eslint-disable-line max-len\n '3.5': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/0b1ee116-1add-4097-a3ad-dbbdcb4b9e41/3_5-256x48.png', // eslint-disable-line max-len\n '4': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/22fcec44-6e44-49db-af28-940f92b03cb0/4-256x48.png', // eslint-disable-line max-len\n '4.5': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/bbb6dfba-fd77-4f0c-b922-ab3cdc8a39af/4_5-256x48.png', // eslint-disable-line max-len\n '5': 'https://img1.wsimg.com/cdn/Image/All/AllChannelsFoS/1/en-US/91a13237-f0a8-49a3-bbf1-d6edf5fc1b69/5-256x48.png', // eslint-disable-line max-len\n};\n\n\nexport const PureStars = ({\n styles,\n rating,\n}) => (\n
\n);\n\nexport const enhance = pureEnhance(\n 'TrustpilotStars',\n [ withProps(stylesheet) ]\n);\n\nexport default enhance(PureStars);\n","import * as r from 'ramda';\n\nconst getFuzzyLang = r.pipe(\n r.defaultTo('en-gb'),\n r.split('-'),\n r.head,\n r.when(\n r.equals('en'),\n r.always('www'),\n )\n);\n\nconst getLocalizedTrustPilotUrl = (lang, id) => r.ifElse(\n r.isNil,\n r.always(''),\n r.always(`https://${getFuzzyLang(lang)}.trustpilot.com/review/${id}`)\n)(id);\n\nexport default getLocalizedTrustPilotUrl;"],"sourceRoot":""}