{"version":3,"sources":["webpack:///./presentation/utils/flexAnchors.ts","webpack:///./domain/constants/dimension.ts","webpack:///../node_modules/linaria/lib/react/index.js","webpack:///../node_modules/linaria/lib/react/styled.js","webpack:///../node_modules/linaria/lib/index.js","webpack:///../node_modules/linaria/lib/core/css.js","webpack:///../node_modules/linaria/lib/core/cx.js","webpack:///src/presentation/components/ribbons/centerfold/Centerfold.stylesheet.ts","webpack:///src/presentation/components/ribbons/centerfold/Image.stylesheet.ts","webpack:///./presentation/components/ribbons/centerfold/Image.tsx","webpack:///./presentation/components/ribbons/centerfold/Centerfold.tsx","webpack:///./presentation/components/ribbons/centerfold/index.ts","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:///src/presentation/components/Shortcode/Tooltip.tsx","webpack:///./presentation/components/Shortcode/PendingShortcode.tsx","webpack:///./presentation/components/Shortcode/Shortcode.tsx","webpack:///./presentation/components/Shortcode/index.ts","webpack:///./presentation/utils/urlLanguageParse.ts","webpack:///./presentation/utils/createImageAlt.ts","webpack:///../node_modules/linaria/esm/react/styled.js","webpack:///../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///../node_modules/ramda/es/zipWith.js","webpack:///./domain/constants/anchor.ts"],"names":["anchorMap","Anchor","TOP","Align","FLEX_START","CENTER","BOTTOM","FLEX_END","defaultAnchors","desiredAnchors","r","a","b","Dimension","exports","__esModule","styled","_styled","obj","default","_interopRequireDefault","React","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_interopRequireWildcard","_isPropValid","_index","WeakMap","restOp","keysToExclude","keys","filter","prop","includes","reduce","acc","curr","assign","_default","tag","options","render","props","ref","filteredProps","_props$as","as","component","className","class","rest","indexOf","_key","cx","vars","style","name","variable","result","unit","value","__linaria","createElement","Result","forwardRef","innerRef","displayName","extends","enumerable","_css","_cx","_strings","Error","_len","arguments","length","classNames","Array","Boolean","join","ctas","cntnt","getHeights","height","atBreakpoint","breakpoints","isMinSm","isMinMd","isMinLg","isMinXl","activeHeightInitial","findResponsiveItem","getActiveFromArray","activeHeight","isNumeric","transitionHeight","StyledRoot","img","root","PureImage","image","layout","constrainImage","fullBackground","flippedFullBackground","flipped","getClassNames","currentLanguage","useCurrentLanguage","alt","createImageAlt","imageUrl","url","imgSrc","urlLanguageParse","aspect","preserveDimension","HEIGHT","focus","constrained","loading","src","setDirection","Direction","ROW","ROW_REVERSE","visibilitySet","errorBoundary","id","text","colorway","hBaseline","title","body","subtitle","precursor","useBreakpoints","activeImage","activeAnchor","flexAnchors","anchor","supportNull","offset","needsOffset","setOffset","hasTitle","isNilOrEmpty","hasBody","hasCta","hasSubtitle","hasPrecursor","multipleCtas","action","content","Ribbon","flush","type","Type","CENTERFOLD","ribbonPadding","linariaPadding","heightAnchor","vblock","direction","xs","sm","offsetXs","align","eyebrow","Shortcode","code","against","undefined","heading","depth","subheading","map","cta","i","CallToAction","getAgainst","ribbonId","index","Centerfold","getColor","theme","Against","LIGHT","NEUTRAL","palette","primary","DARK","tertiary","Alt","RecursiveShortcode","elements","useTheme","color","Bold","fontWeight","fontStyle","Link","contentType","attributes","externalRoutes","useExternalRoutes","to","goto","analyticskey","size","TextButtonSize","INHERIT","rel","target","newTab","formatText","newline","formattedText","split","escapeShortCodes","string","prev","cur","nl2br","Text","ReactTooltip","lazy","TooltipShortcode","eventToggle","padding","cssTheme","fallback","tagName","useDefaultStyles","maxWidth","randomWidth","Math","floor","random","PendingShortcode","display","width","lines","Glyph","Sup","List","OrderedList","ListItem","TickListItem","ProductPrice","PhoneNumber","element","JSON","stringify","String","Element","glyph","Italic","Tooltip","ShortcodeWrapper","language","parsedLanguage","toUpperCase","replace","hasImage","isNotNilOrEmpty","str","match","warnIfInvalid","componentName","reactPropsRegex","fn","arg","test","charCodeAt","zipWith","rv","idx","len","min"],"mappings":"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","file":"pex-static/90/27.71d37b13b14b3410d9f4.chunk.js","sourcesContent":["import * as r from 'ramda';\nimport { Anchor } from 'domain/constants/anchor';\nimport { Align } from '@ux/grid';\n\nconst anchorMap = {\n [Anchor.TOP]: Align.FLEX_START,\n [Anchor.CENTER]: Align.CENTER,\n [Anchor.BOTTOM]: Align.FLEX_END,\n};\n\nexport type AnchorArray = [Anchor | null, Anchor | null, Anchor | null];\nexport default (defaultAnchors: AnchorArray, desiredAnchors: AnchorArray | undefined) => {\n return r.pipe(\n r.defaultTo([null, null, null]),\n r.zipWith((a: Anchor, b: Anchor) => {\n if (b == null) {\n return anchorMap[a];\n }\n\n return anchorMap[b];\n }, defaultAnchors),\n )(desiredAnchors) as unknown as AnchorArray;\n};\n","export enum Dimension {\n WIDTH = 'WIDTH',\n HEIGHT = 'HEIGHT',\n}\n\nexport default null;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.styled = void 0;\n\nvar _styled = _interopRequireDefault(require(\"./styled\"));\n\nexports.styled = _styled.default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _isPropValid = _interopRequireDefault(require(\"@emotion/is-prop-valid\"));\n\nvar _index = require(\"../index\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * This file contains an runtime version of `styled` component. Responsibilities of the component are:\n * - returns ReactElement based on HTML tag used with `styled` or custom React Component\n * - injects classNames for the returned component\n * - injects CSS variables used to define dynamic styles based on props\n */\n// eslint-disable-line import/no-extraneous-dependencies\n// Workaround for rest operator\nvar restOp = (obj, keysToExclude) => Object.keys(obj).filter(prop => !keysToExclude.includes(prop)).reduce((acc, curr) => Object.assign(acc, {\n [curr]: obj[curr]\n}), {}); // rest operator workaround\n\n\nvar warnIfInvalid = (value, componentName) => {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof value === 'string' || // eslint-disable-next-line no-self-compare\n typeof value === 'number' && isFinite(value)) {\n return;\n }\n\n var stringified = typeof value === 'object' ? JSON.stringify(value) : String(value); // eslint-disable-next-line no-console\n\n console.warn(\"An interpolation evaluated to '\" + stringified + \"' in the component '\" + componentName + \"', which is probably a mistake. You should explicitly cast or transform the value to a string.\");\n }\n}; // If styled wraps custom component, that component should have className property\n\n\nfunction styled(tag) {\n return options => {\n if (process.env.NODE_ENV !== 'production') {\n if (Array.isArray(options)) {\n // We received a strings array since it's used as a tag\n throw new Error('Using the \"styled\" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly. See https://github.com/callstack/linaria#setup');\n }\n }\n\n var render = (props, ref) => {\n var _props$as = props.as,\n component = _props$as === void 0 ? tag : _props$as,\n className = props.class;\n var rest = restOp(props, ['as', 'class']);\n var filteredProps; // Check if it's an HTML tag and not a custom element\n\n if (typeof component === 'string' && component.indexOf('-') === -1) {\n filteredProps = {}; // eslint-disable-next-line guard-for-in\n\n for (var _key in rest) {\n if (_key === 'as' || (0, _isPropValid.default)(_key)) {\n // Don't pass through invalid attributes to HTML elements\n filteredProps[_key] = rest[_key];\n }\n }\n } else {\n filteredProps = rest;\n }\n\n filteredProps.ref = ref;\n filteredProps.className = (0, _index.cx)(filteredProps.className || className, options.class);\n var vars = options.vars;\n\n if (vars) {\n var style = {}; // eslint-disable-next-line guard-for-in\n\n for (var name in vars) {\n var variable = vars[name];\n var result = variable[0];\n var unit = variable[1] || '';\n var value = typeof result === 'function' ? result(props) : result;\n warnIfInvalid(value, options.name);\n style[\"--\" + name] = \"\" + value + unit;\n }\n\n filteredProps.style = Object.assign(style, filteredProps.style);\n }\n\n if (tag.__linaria && tag !== component) {\n // If the underlying tag is a styled component, forward the `as` prop\n // Otherwise the styles from the underlying component will be ignored\n filteredProps.as = component;\n return /*#__PURE__*/React.createElement(tag, filteredProps);\n }\n\n return /*#__PURE__*/React.createElement(component, filteredProps);\n };\n\n var Result = React.forwardRef ? /*#__PURE__*/React.forwardRef(render) : // React.forwardRef won't available on older React versions and in Preact\n // Fallback to a innerRef prop in that case\n props => {\n var rest = restOp(props, ['innerRef']);\n return render(rest, props.innerRef);\n };\n Result.displayName = options.name; // These properties will be read by the babel plugin for interpolation\n\n Result.__linaria = {\n className: options.class,\n extends: tag\n };\n return Result;\n };\n}\n\nvar _default = process.env.NODE_ENV !== 'production' ? new Proxy(styled, {\n get(o, prop) {\n return o(prop);\n }\n\n}) : styled;\n\nexports.default = _default;\n//# sourceMappingURL=styled.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"css\", {\n enumerable: true,\n get: function () {\n return _css.default;\n }\n});\nObject.defineProperty(exports, \"cx\", {\n enumerable: true,\n get: function () {\n return _cx.default;\n }\n});\n\nvar _css = _interopRequireDefault(require(\"./core/css\"));\n\nvar _cx = _interopRequireDefault(require(\"./core/cx\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.default = css;\n\nfunction css(_strings) {\n throw new Error('Using the \"css\" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly.');\n}\n//# sourceMappingURL=css.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.default = cx;\n\nfunction cx() {\n for (var _len = arguments.length, classNames = new Array(_len), _key = 0; _key < _len; _key++) {\n classNames[_key] = arguments[_key];\n }\n\n return classNames.filter(Boolean).join(' ');\n}\n//# sourceMappingURL=cx.js.map","import findResponsiveItem from 'presentation/utils/findResponsiveItem';\nimport { ResponsiveSet } from 'core/ribbons/primitives';\nimport { Layout } from 'domain/constants/layout';\nimport { BreakpointProps } from '@ux/responsive';\nimport { CTA } from 'core/ribbons/cta';\nimport { ShortcodeProps } from 'presentation/components/Shortcode';\nimport { css, cx } from 'linaria';\nimport { cssTheme } from '@uds/theme-utils';\nimport { classNames } from '@uds/typography';\nimport { styled } from 'linaria/lib/react';\nimport { isNumeric } from '@ux/js';\n\nconst ctas = {\n default: css`\n margin-top: ${cssTheme.gu3};\n flex-wrap: wrap;\n &&& {\n ${cssTheme.breakpoints.sm} {\n display: flex;\n }\n }\n `,\n multiple: css`\n margin-top: ${cssTheme.gu2};\n `,\n};\n\nconst action = css`\n margin-top: ${cssTheme.gu1};\n &&& {\n ${cssTheme.breakpoints.sm} {\n margin-right: ${cssTheme.gu1};\n }\n }\n`;\n\nconst txt = css`\n margin-top: ${cssTheme.gu3};\n`;\n\nconst cntnt = {\n default: css`\n // 2GU between text and image (2 + 1 from Column)\n &&& {\n ${cssTheme.breakpoints.sm} {\n margin-right: ${cssTheme.gu1};\n }\n }\n // 3GU between text and image (2 + 1 from Column)\n &&& {\n ${cssTheme.breakpoints.lg} {\n margin-right: ${cssTheme.gu2};\n }\n }\n `,\n flipped: css`\n // 2GU between text and image (2 + 1 from Column)\n &&& {\n ${cssTheme.breakpoints.sm} {\n margin-right: 0;\n margin-left: ${cssTheme.gu1};\n }\n }\n // 3GU between text and image (2 + 1 from Column)\n &&& {\n ${cssTheme.breakpoints.lg} {\n margin-right: 0;\n margin-left: ${cssTheme.gu2};\n }\n },\n `,\n};\n\nconst root = css`\n position: relative;\n flex: 1;\n flex-basis: auto;\n padding-bottom: ${cssTheme.gu4};\n &&& {\n ${cssTheme.breakpoints.sm} {\n height: 100%;\n }\n }\n`;\n\ninterface RootProps {\n height?: ResponsiveSet;\n layout: Layout;\n}\n\nconst getHeights = ({\n height = ['auto', 'auto', 'auto'],\n atBreakpoint = 'xs',\n}: {\n height?: ResponsiveSet;\n atBreakpoint?: string;\n}) => {\n const breakpoints = {\n isMinSm: ['xl', 'lg', 'md', 'sm'].includes(atBreakpoint),\n isMinMd: ['xl', 'lg', 'md'].includes(atBreakpoint),\n isMinLg: ['xl', 'lg'].includes(atBreakpoint),\n isMinXl: atBreakpoint === 'xl' ?? false,\n } as BreakpointProps;\n const getActiveFromArray = (array: ResponsiveSet) => findResponsiveItem(breakpoints, array);\n\n const activeHeightInitial = getActiveFromArray(height);\n const activeHeight = isNumeric(activeHeightInitial) ? `${activeHeightInitial}px` : activeHeightInitial;\n const transitionHeight = activeHeight === 'auto' ? '200px' : activeHeight;\n return {\n activeHeight,\n transitionHeight,\n };\n};\n\nconst heightAnchor = css`\n ${cssTheme.breakpoints.sm} {\n display: flex;\n height: 100%;\n }\n`;\n\nexport const StyledRoot = styled.div`\n min-height: ${(props) => getHeights({ height: props?.layout?.height }).transitionHeight};\n ${cssTheme.breakpoints.sm} {\n min-height: ${(props) => getHeights({ height: props?.layout?.height, atBreakpoint: 'sm' }).transitionHeight};\n padding-top: calc(var(--centerfold-padding-top) * ${cssTheme.gu1});\n padding-bottom: calc(var(--centerfold-padding-bottom) * ${cssTheme.gu1});\n & .${heightAnchor} {\n min-height: ${(props) => getHeights({ height: props?.layout?.height, atBreakpoint: 'sm' }).activeHeight};\n }\n }\n ${cssTheme.breakpoints.md} {\n min-height: ${(props) => getHeights({ height: props?.layout?.height, atBreakpoint: 'md' }).transitionHeight};\n }\n ${cssTheme.breakpoints.lg} {\n min-height: ${(props) => getHeights({ height: props?.layout?.height, atBreakpoint: 'lg' }).transitionHeight};\n }\n`;\n\nexport const getClassNames = ({\n text,\n layout,\n}: {\n text: {\n title: ShortcodeProps;\n body: ShortcodeProps;\n ctas: Array;\n };\n layout: Layout;\n}) => {\n const multipleCtas = Array.isArray(text.ctas) && text.ctas.length > 1;\n const { flipped } = layout;\n return {\n root,\n ctas: cx(ctas.default, multipleCtas && ctas.multiple),\n action: cx(multipleCtas && action),\n text: cx(txt, classNames.content),\n heightAnchor,\n content: cx(cntnt.default, flipped && cntnt.flipped),\n };\n};\n","import { cssTheme } from '@uds/theme-utils';\nimport { styled } from 'linaria/react';\nimport { css, cx } from 'linaria';\nimport { Layout } from 'domain/constants/layout';\n\nconst img = {\n default: css`\n position: static;\n `,\n fullBackground: css`\n width: 100%;\n max-width: 100%;\n &&& {\n ${cssTheme.breakpoints.sm} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 50%;\n width: 50%;\n height: 100%;\n }\n }\n `,\n flippedFullBackground: css`\n &&& {\n ${cssTheme.breakpoints.sm} {\n right: 50%;\n left: 0;\n }\n }\n `,\n constrained: css`\n position: static;\n width: 100%;\n height: 100%;\n &&& {\n ${cssTheme.breakpoints.sm} {\n position: absolute;\n }\n }\n `,\n};\n\nconst root = {\n constrained: css`\n padding-top: ${cssTheme.gu1};\n &&& {\n ${cssTheme.breakpoints.sm} {\n padding-top: 0;\n height: 100%;\n }\n }\n `,\n fullBackground: css`\n &&& ${cssTheme.breakpoints.sm} {\n padding-top: 0;\n position: static;\n }\n `,\n};\ninterface RootProps {\n aspect: 'contain' | 'cover';\n focus: string;\n constrained?: boolean;\n}\n\nexport const StyledRoot = styled.div`\n & img {\n object-fit: unset;\n object-position: unset;\n }\n &&& {\n ${cssTheme.breakpoints.sm} {\n & img {\n object-fit: ${(props) => props.aspect};\n object-position: ${(props) => props.focus};\n }\n }\n`;\n\nexport const getClassNames = ({ layout }: { layout: Layout }) => {\n const { flipped, constrainImage } = layout;\n const fullBackground = !constrainImage;\n const flippedFullBackground = flipped && fullBackground;\n\n return {\n image: cx(\n img.default,\n fullBackground && img.fullBackground,\n flippedFullBackground && img.flippedFullBackground,\n constrainImage && img.constrained,\n ),\n root: cx(constrainImage ? root.constrained : root.fullBackground),\n };\n};\n","import React from 'react';\nimport createImageAlt from 'presentation/utils/createImageAlt';\nimport urlLanguageParse from 'presentation/utils/urlLanguageParse';\nimport { Layout } from 'domain/constants/layout';\nimport { useCurrentLanguage } from 'domain/selectors/page';\nimport { Dimension } from 'domain/constants/dimension';\n\nimport { Image } from './Centerfold';\nimport { getClassNames, StyledRoot } from './Image.stylesheet';\n\nexport interface OuterProps {\n image: Image;\n layout: Layout;\n}\n\nexport const PureImage = ({ image, layout }: OuterProps) => {\n const classNames = getClassNames({ layout });\n const currentLanguage = useCurrentLanguage();\n\n const alt = createImageAlt({ imageUrl: image.url });\n\n const imgSrc = urlLanguageParse(image.url, currentLanguage);\n\n // preserving image height uses contain, so the image always fits in\n // otherwise fill available width with cover\n const aspect = image.preserveDimension === Dimension.HEIGHT ? 'contain' : 'cover';\n\n return (\n \n {alt}\n \n );\n};\n\nPureImage.displayName = 'CenterfoldImage';\n\nexport default PureImage;\n","import React, { ComponentType } from 'react';\nimport { Container, Row, Column, Direction } from '@ux/grid';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\nimport Ribbon from 'components/ribbons/Ribbon';\nimport CallToAction from 'components/common/CallToAction';\nimport PaddingBox from '@uds/padding-box';\nimport { useBreakpoints } from '@ux/responsive';\nimport findResponsiveItem from 'presentation/utils/findResponsiveItem';\nimport visibilitySet from 'presentation/hocs/visibilitySet';\nimport errorBoundary from 'presentation/hocs/errorBoundary';\nimport { getAgainst } from 'presentation/utils/colorway';\nimport flexAnchors from 'presentation/utils/flexAnchors';\nimport { Anchor } from 'domain/constants/anchor';\nimport { RibbonProps, Type } from 'domain/constants/ribbons';\nimport { Dimension } from 'domain/constants/dimension';\nimport { CTA } from 'core/ribbons/cta';\nimport { isNilOrEmpty } from 'presentation/utils/generalUtils';\nimport { Layout } from 'domain/constants/layout';\nimport ribbonPadding from 'presentation/utils/ribbonPadding';\nimport { Heading02, BodyCopy, Heading04, Heading05, Typelockup } from '@uds/typography';\n\nimport { getClassNames, StyledRoot } from './Centerfold.stylesheet';\nimport CenterfoldImage from './Image';\n\nconst setDirection = (layout: Layout) => {\n if (layout.constrainImage) {\n if (layout.flipped) {\n return Direction.ROW;\n }\n return Direction.ROW_REVERSE;\n }\n return Direction.ROW;\n};\n\nconst needsOffset = (layout: Layout, isMinSm: boolean) => layout.flipped && isMinSm;\n\nconst setOffset = (layout: Layout) => (layout.constrainImage ? 0 : 6);\n\ntype Text = {\n title: ShortcodeProps;\n body: ShortcodeProps;\n ctas: Array;\n subtitle?: ShortcodeProps;\n precursor?: ShortcodeProps;\n};\n\nexport type Image = {\n url: string;\n focus: string;\n preserveDimension?: Dimension;\n};\n\nexport interface OuterProps extends RibbonProps {\n text: Text;\n image: Array;\n}\n\nexport const PureCenterfold = ({ id, loading, name, text, layout, colorway, hBaseline = 1, image }: OuterProps) => {\n const { title, body, ctas, subtitle, precursor } = text || {};\n\n const { constrainImage } = layout;\n\n const breakpoints = useBreakpoints();\n const { isMinSm, isMinLg } = breakpoints;\n\n const activeImage = findResponsiveItem(breakpoints, image) as Image;\n\n const activeAnchor = findResponsiveItem(breakpoints, flexAnchors([Anchor.CENTER, null, null], layout.anchor), {\n supportNull: true,\n });\n\n const offset = needsOffset(layout, isMinSm) ? setOffset(layout) : null;\n\n const hasTitle = !isNilOrEmpty(title);\n const hasBody = !isNilOrEmpty(body);\n const hasCta = !isNilOrEmpty(ctas);\n const hasSubtitle = !isNilOrEmpty(subtitle);\n const hasPrecursor = !isNilOrEmpty(precursor);\n\n const classNames = getClassNames({ text, layout });\n\n return (\n \n \n {!constrainImage && }\n
\n \n {/* @ts-ignore: error after upgrading to ux-configs */}\n \n {constrainImage && (\n \n \n \n )}\n \n \n \n \n \n ) : undefined\n }\n // @ts-ignore heading can apparently be undefined. LOL.\n heading={\n hasTitle ? (\n \n \n \n ) : undefined\n }\n subheading={\n hasSubtitle ? (\n \n \n \n ) : undefined\n }\n />\n\n {hasBody && (\n \n \n \n )}\n {hasCta && (\n
\n {ctas.map((cta, i) => (\n \n \n
\n ))}\n
\n )}\n \n \n \n \n \n \n \n );\n};\n\nexport default visibilitySet(errorBoundary(PureCenterfold)) as ComponentType;\n","import Centerfold from './Centerfold';\n\nexport default Centerfold;\n","import React from 'react';\nimport { Against } from 'domain/constants/colorway';\nimport { Theme, useTheme } from '@ux/theme-utils';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst getColor = (theme: Theme, against: Against | undefined) => {\n switch (against) {\n case Against.LIGHT:\n return theme.palette.primary;\n case Against.NEUTRAL:\n return theme.palette.primary;\n case Against.DARK:\n return theme.palette.tertiary;\n default:\n return 'inherit';\n }\n};\nconst Alt = ({ RecursiveShortcode, elements, against, ...rest }: RecursiveShortcodeProps) => {\n const { theme } = useTheme();\n return (\n \n {RecursiveShortcode ? : null}\n \n );\n};\n\nAlt.displayName = 'Alt';\n\nexport default Alt;\n","import React from 'react';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst Bold = ({ elements, RecursiveShortcode, ...rest }: RecursiveShortcodeProps) => (\n \n {RecursiveShortcode ? : null}\n \n);\n\nBold.displayName = 'Bold';\n\nexport default Bold;\n","import React from 'react';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst Bold = ({ elements, RecursiveShortcode, ...rest }: RecursiveShortcodeProps) => (\n \n {RecursiveShortcode ? : null}\n \n);\n\nBold.displayName = 'Bold';\n\nexport default Bold;\n","import React from 'react';\nimport TextButton, { Size as TextButtonSize } from '@ux/text-button';\nimport { useExternalRoutes } from 'domain/selectors/common';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst Link = ({ RecursiveShortcode, elements, contentType, attributes, against, ...rest }: RecursiveShortcodeProps) => {\n const externalRoutes = useExternalRoutes();\n\n return (\n \n {/* @ts-ignore: error when upgrading to @ux/config */}\n \n \n );\n};\n\nLink.displayName = 'Link';\n\nexport default Link;\n","import React, { Fragment } from 'react';\n\nconst escapeShortCodes = (text: string) => {\n if (typeof text !== 'string') {\n return null;\n }\n const replaceA = (text ?? '').split('[!').join('[');\n const replaceB = replaceA.split('!/]').join('/]');\n const replaceC = replaceB.split('[/!').join('[/');\n return replaceC;\n // using split/join because for some reason replaceAll fails for backstop\n // tests but not for backstop storybook?\n // if anyone can tell me why, I'd appreciate it.\n // return (text ?? '').replaceAll('[!', '[').replaceAll('!/]', '/]')\n // .replaceAll('[/!', '[/');\n};\n\nconst nl2br = (string: string) =>\n (string ?? '')\n .split('\\n')\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 | undefined) => {\n const formattedText = escapeShortCodes(text) ?? '';\n if (newline === false) {\n return formattedText;\n }\n return nl2br(formattedText);\n};\n\ninterface OuterProps {\n text: string;\n nl2br?: Element;\n}\nconst Text = ({ text, nl2br }: OuterProps) => {formatText(text, nl2br)};\n\nText.displayName = 'Text';\n\nexport default Text;\n","import React, { lazy, Suspense } from 'react';\nimport TextButton, { Size as TextButtonSize } from '@ux/text-button';\nimport { cssTheme } from '@ux/theme-utils';\nimport { useBreakpoints } from '@ux/responsive';\n\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(\n () =>\n import(\n /* webpackChunkName: \"react-tooltip-lite\" */\n 'react-tooltip-lite'\n ),\n);\n\nconst TooltipShortcode = ({ RecursiveShortcode, against, attributes, elements }: RecursiveShortcodeProps) => {\n const { isMinLg } = useBreakpoints();\n const eventToggle = isMinLg ? undefined : 'onClick';\n const padding = cssTheme.gu2;\n const CallToAction = (\n \n {attributes?.label}\n \n );\n\n return (\n \n {/* @ts-ignore children doesnt exist */}\n \n {/* @ts-ignore: error when upgrading to @ux/config */}\n \n \n }\n >\n {CallToAction}\n \n \n );\n};\n\nTooltipShortcode.displayName = 'TooltipShortcode';\n\nexport default TooltipShortcode;\n","import React from 'react';\nimport Shimmer from '@ux/shimmer';\nimport { Colorway } from '@ux/theme-utils';\n\nimport { ShortcodeProps } from './';\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 PendingShortcode = ({ code, against }: OuterProps) => (\n \n \n \n);\n\nPendingShortcode.displayName = 'PendingShortcode';\n\nexport default PendingShortcode;\n","import React, { Suspense, lazy, ReactNode } from 'react';\nimport { getAgainst } from 'presentation/utils/colorway';\nimport { Layout } from 'domain/constants/layout';\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 { Against } from 'domain/constants/colorway';\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';\nimport PendingShortcode from './PendingShortcode';\n\nimport { ShortcodeProps } from '.';\n\nconst Glyph = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-glyph\" */\n './Glyph'\n ),\n);\n\nconst Sup = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-sup\" */\n './Sup'\n ),\n);\n\nconst List = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-list\" */\n './List'\n ),\n);\n\nconst OrderedList = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-ordered-list\" */\n './OrderedList'\n ),\n);\n\nconst ListItem = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-list-item\" */\n './ListItem'\n ),\n);\n\nconst TickListItem = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-tick-list-item\" */\n './TickListItem'\n ),\n);\n\nconst ProductPrice = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-product-price\" */\n './ProductPrice'\n ),\n);\n\nconst PhoneNumber = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-phone-number\" */\n './PhoneNumber'\n ),\n);\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare const i: number;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare const element: ShortcodeProps;\n\nexport interface ShortcodeAttributesProps {\n use?: number;\n number?: number;\n RecursiveShortcode: (props: RecursiveShortcodeProps) => JSX.Element;\n analyticskey?: string;\n goto?: string;\n label?: ReactNode;\n prices?: Array<{\n gross: number;\n net: number;\n raw: number;\n tax: number;\n }>;\n inctax?: string;\n style?: string;\n rel?: string;\n newTab?: string;\n}\nexport interface RecursiveShortcodeProps {\n elements?: Array;\n RecursiveShortcode?: (props: RecursiveShortcodeProps) => JSX.Element;\n type?: string;\n name?: string;\n layout?: Layout;\n against?: Against;\n attributes?: ShortcodeAttributesProps;\n nl2br?: boolean;\n rest?: {\n [key: string]: any;\n };\n [key: string]: any;\n}\n\nconst RecursiveShortcode = ({ elements = [], ...rest }: RecursiveShortcodeProps) => (\n <>\n {elements.map((element, index) => (\n // Temporarily allow index as key waiting for BE to add ids\n // eslint-disable-next-line react/no-array-index-key\n \n ))}\n \n);\n\nexport interface ShortcodeOuterProps {\n against?: Against;\n code: RecursiveShortcodeProps;\n type?: string;\n name?: string;\n}\n\nconst Shortcode = ({ code, ...rest }: RecursiveShortcodeProps) => {\n let props = {\n ...rest,\n } as RecursiveShortcodeProps;\n if (typeof code === 'string' || code instanceof String) {\n props.code = code;\n } else {\n props = {\n ...props,\n ...code,\n };\n }\n\n // @ts-ignore: error when upgrading to @ux/config\n props.against = getAgainst(props.against);\n props.RecursiveShortcode = RecursiveShortcode;\n props.attributes = props?.attributes ?? ({} as ShortcodeAttributesProps);\n const Element = (props: any) => {\n const { code, type, name } = props;\n if (typeof props.code === 'string') {\n return ;\n }\n if (props.type === 'text') {\n return ;\n }\n if (type === 'element') {\n switch (name) {\n case 'list':\n if (props?.attributes?.style === 'number') {\n return ;\n }\n return ;\n case 'li':\n if (props?.attributes?.style === 'glyph') {\n return ;\n }\n return ;\n case 'i':\n return ;\n case 'b':\n return ;\n case 'alt':\n return ;\n case 'sup':\n return ;\n case 'glyph':\n return ;\n case 'tel':\n return ;\n case 'link':\n return ;\n case 'productprice':\n return ;\n case 'tooltip':\n return ;\n case 'root':\n return ;\n default:\n return null;\n }\n }\n return null;\n };\n\n return ;\n};\n\nconst ShortcodeWrapper = (props: RecursiveShortcodeProps) => (\n }>\n \n \n);\n\nShortcodeWrapper.displayName = 'Shortcode';\n\nexport default ShortcodeWrapper;\n","import Shortcode, { RecursiveShortcodeProps } from './Shortcode';\n\n// TODO: help.. please.\nexport type ShortcodeProps = RecursiveShortcodeProps;\n\nexport default Shortcode;\n","export default (url: string, language?: string) => {\n if (url && url.length && language) {\n let parsedLanguage;\n if (language.split('-').length === 2) {\n parsedLanguage = [language.split('-')[0], language.split('-')[1].toUpperCase()].join('-');\n } else {\n parsedLanguage = language;\n }\n return url.replace('{{language}}', parsedLanguage);\n }\n return url;\n};\n","/*\n createImageAlt({\n illustration: ?String,\n imageUrl: String,\n });\n\n Returns a relevant alt tag text from the URL path\n*/\n\nimport { isNotNilOrEmpty } from '@team-griffin/capra';\nimport * as r from 'ramda';\n\nconst hasImage = r.propSatisfies(isNotNilOrEmpty, 'imageUrl');\n\n/*\n getImageName\n From a URL like https://img1.wsimg.com/cdn/Image/All/Website/2/en-GB/ad586f1e-81a0-4a9d-a675-e266e25e965f/Christian_Jaroljmek.jpg\n return the text between the final slash and dot (Christian_Jaroljmek)\n\n If no regex match, return the string as is (this will capture illustrations)\n*/\nconst getImageName = (str: string) => {\n if (typeof str !== 'string') {\n return '';\n }\n\n const image = str.match(/\\/([^/]+?)\\.[a-zA-Z0-9]+$/);\n\n if (image && image[1]) {\n return image[1];\n }\n\n return str;\n};\n\n/*\n formatName\n Replace any underscores and hyphens with whitespace\n*/\nconst formatName = (str: string) => str.replace(/[-_]/g, ' ');\n\n// eslint-disable-next-line no-underscore-dangle\nexport const __test__ = {\n getImageName,\n formatName,\n};\n\nexport default r.ifElse(hasImage, r.pipe(r.prop('imageUrl'), getImageName, formatName), r.always(''));\n","/**\n * This file contains an runtime version of `styled` component. Responsibilities of the component are:\n * - returns ReactElement based on HTML tag used with `styled` or custom React Component\n * - injects classNames for the returned component\n * - injects CSS variables used to define dynamic styles based on props\n */\nimport * as React from 'react'; // eslint-disable-line import/no-extraneous-dependencies\n\nimport validAttr from '@emotion/is-prop-valid';\nimport { cx } from '../index';\n\n// Workaround for rest operator\nconst restOp = (obj, keysToExclude) => Object.keys(obj).filter(prop => !keysToExclude.includes(prop)).reduce((acc, curr) => Object.assign(acc, {\n [curr]: obj[curr]\n}), {}); // rest operator workaround\n\n\nconst warnIfInvalid = (value, componentName) => {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof value === 'string' || // eslint-disable-next-line no-self-compare\n typeof value === 'number' && isFinite(value)) {\n return;\n }\n\n const stringified = typeof value === 'object' ? JSON.stringify(value) : String(value); // eslint-disable-next-line no-console\n\n console.warn(`An interpolation evaluated to '${stringified}' in the component '${componentName}', which is probably a mistake. You should explicitly cast or transform the value to a string.`);\n }\n}; // If styled wraps custom component, that component should have className property\n\n\nfunction styled(tag) {\n return options => {\n if (process.env.NODE_ENV !== 'production') {\n if (Array.isArray(options)) {\n // We received a strings array since it's used as a tag\n throw new Error('Using the \"styled\" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly. See https://github.com/callstack/linaria#setup');\n }\n }\n\n const render = (props, ref) => {\n const {\n as: component = tag,\n class: className\n } = props;\n const rest = restOp(props, ['as', 'class']);\n let filteredProps; // Check if it's an HTML tag and not a custom element\n\n if (typeof component === 'string' && component.indexOf('-') === -1) {\n filteredProps = {}; // eslint-disable-next-line guard-for-in\n\n for (const key in rest) {\n if (key === 'as' || validAttr(key)) {\n // Don't pass through invalid attributes to HTML elements\n filteredProps[key] = rest[key];\n }\n }\n } else {\n filteredProps = rest;\n }\n\n filteredProps.ref = ref;\n filteredProps.className = cx(filteredProps.className || className, options.class);\n const {\n vars\n } = options;\n\n if (vars) {\n const style = {}; // eslint-disable-next-line guard-for-in\n\n for (const name in vars) {\n const variable = vars[name];\n const result = variable[0];\n const unit = variable[1] || '';\n const value = typeof result === 'function' ? result(props) : result;\n warnIfInvalid(value, options.name);\n style[`--${name}`] = `${value}${unit}`;\n }\n\n filteredProps.style = Object.assign(style, filteredProps.style);\n }\n\n if (tag.__linaria && tag !== component) {\n // If the underlying tag is a styled component, forward the `as` prop\n // Otherwise the styles from the underlying component will be ignored\n filteredProps.as = component;\n return /*#__PURE__*/React.createElement(tag, filteredProps);\n }\n\n return /*#__PURE__*/React.createElement(component, filteredProps);\n };\n\n const Result = React.forwardRef ? /*#__PURE__*/React.forwardRef(render) : // React.forwardRef won't available on older React versions and in Preact\n // Fallback to a innerRef prop in that case\n props => {\n const rest = restOp(props, ['innerRef']);\n return render(rest, props.innerRef);\n };\n Result.displayName = options.name; // These properties will be read by the babel plugin for interpolation\n\n Result.__linaria = {\n className: options.class,\n extends: tag\n };\n return Result;\n };\n}\n\nexport default process.env.NODE_ENV !== 'production' ? new Proxy(styled, {\n get(o, prop) {\n return o(prop);\n }\n\n}) : styled;\n//# sourceMappingURL=styled.js.map","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Creates a new list out of the two supplied by applying the function to each\n * equally-positioned pair in the lists. The returned list is truncated to the\n * length of the shorter of the two input lists.\n *\n * @function\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> c) -> [a] -> [b] -> [c]\n * @param {Function} fn The function used to combine the two elements into one value.\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n * using `fn`.\n * @example\n *\n * const f = (x, y) => {\n * // ...\n * };\n * R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n * //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n */\n\nvar zipWith =\n/*#__PURE__*/\n_curry3(function zipWith(fn, a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n\n while (idx < len) {\n rv[idx] = fn(a[idx], b[idx]);\n idx += 1;\n }\n\n return rv;\n});\n\nexport default zipWith;","export enum Anchor {\n TOP = 'TOP',\n CENTER = 'CENTER',\n BOTTOM = 'BOTTOM',\n}\n\nexport default null;\n"],"sourceRoot":""}