{"version":3,"sources":["webpack:///./presentation/components/ribbons/legal/Caveat.tsx","webpack:///./presentation/components/ribbons/legal/Caveat.stylesheet.ts","webpack:///./presentation/components/ribbons/legal/Legal.tsx","webpack:///./presentation/components/ribbons/legal/index.ts","webpack:///./presentation/utils/ribbonPadding.ts","webpack:///../node_modules/@ux/text-button/dist/es/text-button.js","webpack:///./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/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/hocs/visibilitySet.tsx","webpack:///../node_modules/ramda/es/inc.js"],"names":["enhance","pureEnhance","withProps","last","theme","colorway","typography","spacing","useStyles","default","root","footnote","marginBottom","gu2px","color","getTitleColor","styles","body","style","Shortcode","code","hocs","errorBoundary","visibilitySet","id","layout","loading","name","caveats","Ribbon","flush","Flush","LEADING","type","Caveat","key","i","r","length","caveat","Legal","isMinSm","isMinLg","shrinkLeading","shrinkTrailing","getPaddingSize","shrinkSide","isFlush","leading","trailing","TRAILING","paddingTop","paddingBottom","Size","Against","ContentType","_defineProperty","obj","value","Object","defineProperty","enumerable","configurable","writable","hooks","disabled","block","caps","size","MD","contentType","DEFAULT","_ref","_useStyles","against","hover","active","palette","fill","LIGHT","secondary","NEUTRAL","DARK","tertiary","PRIMARY","primaryContrast","PRIMARY_FADED","HIGHLIGHT","highlightContrast","HIGHLIGHT_FADED","highlight","assign","width","A","fontFamily","content","lineHeight","textAlign","backgroundColor","outline","cursor","textDecoration","transition","inner","opacity","borderBottomStyle","textTransform","display","SM","fontSize","LG","INHERIT","PHONE_NUMBER","borderBottomWidth","TextButton","_a","children","domProps","s","e","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","__rest","createElement","stylesheet","isMinMd","getBackgroundColor","ribbonPadding","cssSides","Side","X","WrappedComponent","ErrorBoundary","props","compose","withState","lifecycle","componentDidCatch","this","setHasErrored","hooksA","pipe","mapProps","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","mapFit","fit","Fit","FULLSCREEN","minHeight","FILL","flex","flexBasis","AUTO","height","isFinite","targetRef","useRef","withBreakpointsHook","duoLayout","activeFit","findResponsiveItem","getBreakpoints","padding","duoLayoutFlex","duoRibbonWidth","position","flexDirection","percentage","ribbon","modifier","Colorway","PRIMARY_GRADIENT","backgroundImage","primary","primaryGradient","ref","withRibbonImpression","randomWidth","Math","floor","random","puree","lines","elements","RecursiveShortcode","rest","fontWeight","fontStyle","getUsfConfig","wlSelectors","getAppConfig","mapStateToProps","connect","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","maxWidth","Glyph","Sup","List","OrderedList","ListItem","TickListItem","ProductPrice","PhoneNumber","element","genericShortcodeHandler","shortcodeName","Component","String","getAgainst","Element","nuller","Text","Italic","Bold","Alt","Link","Tooltip","glyph","PendingShortcode","BaseComponent","inc"],"mappings":"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","file":"pex-static/16/31.1068207620b42cc2ec2a.chunk.js","sourcesContent":["import React from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport pureEnhance from '@ux/pure-enhance';\nimport stylesheet, { Styles } from './Caveat.stylesheet';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\nimport { Theme } from '@ux/theme-utils';\nimport { Colorway } from 'domain/constants/colorway';\n\ninterface OuterProps {\n theme: Theme,\n colorway: Colorway,\n body: ShortcodeProps,\n last: boolean,\n}\n\nexport interface InnerProps extends OuterProps {\n styles: Styles,\n}\nconst PureCaveat = ({\n styles,\n theme,\n colorway,\n body,\n}: InnerProps) => (\n

\n \n

\n);\n\nexport const enhance = pureEnhance(\n 'LegalCaveat', [\n withProps(stylesheet),\n ],\n);\n\nexport default enhance(PureCaveat);\n","import { gu2px } from '@ux/theme-utils';\nimport { footnote } from '@ux/type-size';\nimport { useStyles } from '@team-griffin/stylr';\nimport { getTitleColor } from 'presentation/utils/colorway';\nimport { InnerProps } from './Caveat';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n root: CSSProperties,\n}\nexport default ({\n last,\n theme,\n colorway,\n theme: {\n typography,\n spacing,\n },\n}: InnerProps) => useStyles({\n default: {\n root: {\n ...footnote(typography),\n marginBottom: gu2px(2, spacing),\n color: getTitleColor(theme, colorway),\n },\n },\n last: {\n root: {\n marginBottom: 0,\n },\n },\n}, [\n { last },\n]);\n","import React from 'react';\nimport { Container } from '@ux/grid';\nimport PaddingBox from '@ux/padding-box';\nimport visibilitySet from 'presentation/hocs/visibilitySet';\nimport Ribbon, { Flush } from 'components/ribbons/Ribbon';\nimport Caveat from './Caveat';\nimport errorBoundary from 'presentation/hocs/errorBoundary';\nimport * as r from 'ramda';\nimport pureEnhance from '@ux/pure-enhance';\nimport { RibbonProps } from 'domain/constants/ribbons';\nimport { ShortcodeProps } from 'presentation/components/Shortcode';\n\ntype CaveatProps = {\n body: ShortcodeProps;\n};\nexport interface OuterProps extends RibbonProps {\n caveats: CaveatProps[],\n}\nexport interface InnerProps extends OuterProps {\n\n}\ndeclare const i: number;\ndeclare const caveat: CaveatProps;\n\nexport const LegalCaveat = ({\n id,\n theme,\n colorway,\n layout,\n loading,\n name,\n caveats,\n}: InnerProps) => (\n \n \n \n \n \n \n \n \n \n);\n\nexport const enhance = pureEnhance(\n 'Legal',\n {\n hocs: [\n errorBoundary,\n visibilitySet,\n ],\n },\n);\n\nexport default enhance(LegalCaveat);\n","import Legal from './Legal';\n\nexport default Legal;\n","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 {\n compose,\n lifecycle,\n withState,\n withProps,\n} 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 {\n getBackgroundColor,\n getTitleColor,\n} from 'presentation/utils/colorway';\nimport { gu2px, Theme } 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 } from '@ux/responsive';\ninterface OuterProps extends BreakpointProps {\n theme: Theme,\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 = ({\n theme,\n colorway,\n isMinSm,\n isMinMd,\n isMinLg,\n layout,\n flush,\n}: InnerProps) => {\n const {\n spacing,\n } = theme;\n\n return useStyles({\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 },\n { isMinSm },\n { 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 );\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 \n {children}\n
\n \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 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 * as r from 'ramda';\n\nexport default (BaseComponent: any) => r.ifElse(\n r.prop('visible'),\n (props) => ,\n (props) => (\n
\n \n
\n ),\n);\n","import add from \"./add.js\";\n/**\n * Increments its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n + 1\n * @see R.dec\n * @example\n *\n * R.inc(42); //=> 43\n */\n\nvar inc =\n/*#__PURE__*/\nadd(1);\nexport default inc;"],"sourceRoot":""}