{"version":3,"sources":["webpack:///./presentation/components/ribbons/ads/AdvertCard.tsx","webpack:///./presentation/components/ribbons/ads/AdvertCard.stylesheet.ts","webpack:///./presentation/components/ribbons/ads/Ads.tsx","webpack:///./presentation/components/ribbons/ads/index.ts","webpack:///../node_modules/@ux/badge/dist/es/badge.js","webpack:///./presentation/components/common/Card/CardImage.tsx","webpack:///./presentation/components/common/Card/CardImage.stylesheet.ts","webpack:///./presentation/components/common/Card/ConnectedCardImage.tsx","webpack:///./presentation/components/common/Card/Card.tsx","webpack:///./presentation/components/common/Card/Card.stylesheet.ts","webpack:///./presentation/components/common/Card/index.ts"],"names":["PureAdvert","colorway","imageUrl","illustration","imageAspectRatio","precursor","badge","title","body","hBaseline","ctas","ribbonId","hasBadge","length","hasPrecursor","isNilOrEmpty","theme","useTheme","styles","spacing","palette","useStyles","default","category","display","alignItems","color","grey02","marginTop","gu2px","flexGrow","grey04","stylesheet","Card","image","style","component","Shortcode","against","Against","LIGHT","code","kind","BadgeKind","HIGHLIGHT","depth","displayName","PureAds","id","loading","name","ads","layout","Ribbon","type","AdvertCard","key","i","ad","visibilitySet","errorBoundary","Ads","Kind","_defineProperty","obj","value","Object","defineProperty","enumerable","configurable","writable","isAgainstPrimary","PRIMARY","isAgainstPrimaryGradient","PRIMARY_GRADIENT","isAgainstHighlight","isAgainstNeutral","NEUTRAL","Badge","flush","_ref","_reactCSS","_ref$theme","typography","curvature","root","assign","A","X","lineHeight","whiteSpace","backgroundColor","primaryContrast","primary","SECONDARY","grey10","SUCCESS","green01","WARNING","yellow01","ERROR","red01","highlightContrast","highlight","String","WEAK","borderRadius","STRONG","enhance","children","createElement","PureCardImage","ctaUrl","externalRoutes","currentLanguage","hasIllustration","outer","position","height","paddingTop","imageAspectRatioPercentage","overflow","inner","top","left","right","bottom","transform","width","alt","createImageAlt","assetUrl","createImageUrl","to","src","mapStateToProps","createStructuredSelector","getExternalRoutes","getCurrentLanguage","mapDispatchToProps","ConnectedCardImage","props","connect","CardImage","getCtaAgainst","Colorway","hasImage","Boolean","getCtaUrl","cta","behavior","goto","hasPanelBorder","DARK","includes","PureCard","footer","last","isMinSm","useBreakpoints","hasMultipleCtas","getBackgroundAccent","flexDirection","content","marginBottom","spaceCtas","marginRight","border","Array","isArray","hasCtas","map","CallToAction","block","index"],"mappings":"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","file":"pex-static/40/12.050aebd2881589432fc6.chunk.js","sourcesContent":["import React from 'react';\nimport {\n PreHeading02,\n Heading04,\n BodyCopy01,\n} from '@ux/typography';\nimport Badge, {\n Kind as BadgeKind,\n} from '@ux/badge';\nimport Card from 'components/common/Card';\nimport { Against, Colorway } from 'domain/constants/colorway';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\nimport stylesheet from './AdvertCard.stylesheet';\nimport { Theme, useTheme } from '@ux/theme-utils';\nimport { CTA } from 'core/ribbons/cta';\nimport { ImageAspectRatio } from 'domain/constants/imageAspectRatio';\nimport { isNilOrEmpty } from 'presentation/utils/generalUtils';\n\nexport interface AdvertCardProps {\n imageUrl?: string,\n illustration?: string,\n imageAspectRatio?: ImageAspectRatio,\n precursor: ShortcodeProps,\n badge: string,\n title: ShortcodeProps,\n body: ShortcodeProps,\n ctas: CTA[],\n}\ninterface OuterProps extends AdvertCardProps {\n key?: number,\n theme: Theme,\n colorway: Colorway,\n hBaseline?: number,\n ribbonId: string,\n}\n\nconst PureAdvert = ({\n colorway,\n imageUrl,\n illustration,\n imageAspectRatio,\n precursor,\n badge,\n title,\n body,\n hBaseline=1,\n ctas,\n ribbonId,\n}: OuterProps) => {\n const hasBadge = badge && badge.length > 0;\n const hasPrecursor = !isNilOrEmpty(precursor);\n const {\n theme,\n } = useTheme();\n const { styles } = stylesheet({ theme });\n return (\n \n <>\n {hasPrecursor && (\n \n \n {hasBadge && (\n \n {badge}\n \n )}\n \n )}\n \n \n \n
\n \n \n \n
\n \n \n );\n};\n\nPureAdvert.displayName = 'Advert';\n\nexport default PureAdvert;\n","import { gu2px, Theme } from '@ux/theme-utils';\nimport { useStyles } from '@team-griffin/stylr';\n\nexport default ({\n theme: {\n spacing,\n palette,\n },\n}: {\n theme: Theme,\n}) => useStyles({\n default: {\n category: {\n display: 'flex',\n alignItems: 'center',\n color: palette.grey02,\n },\n title: {\n color: palette.grey02,\n },\n body: {\n marginTop: gu2px(2, spacing),\n flexGrow: 1,\n color: palette.grey04,\n },\n },\n});\n","import React, { ComponentType } from 'react';\nimport Ribbon from '../Ribbon';\nimport Slider from '@ux/slider';\nimport visibilitySet from 'presentation/hocs/visibilitySet';\nimport errorBoundary from 'presentation/hocs/errorBoundary';\nimport AdvertCard, { AdvertCardProps } from './AdvertCard';\nimport { RibbonProps } from 'domain/constants/ribbons';\n\ninterface OuterProps extends RibbonProps {\n ads: AdvertCardProps[],\n}\n\ndeclare const i: number;\ndeclare const ad: AdvertCardProps;\n\nexport const PureAds = ({\n id,\n theme,\n colorway,\n loading,\n name,\n hBaseline=1,\n ads,\n layout,\n}: OuterProps) => (\n \n {/*\n //@ts-ignore */}\n \n \n \n \n \n \n);\n\nPureAds.displayName = 'Ads';\n\nexport default visibilitySet(errorBoundary(PureAds)) as ComponentType;\n","import Ads from './Ads';\n\nexport default Ads;\n","import React from 'react';\nimport pureEnhance from '@ux/pure-enhance';\nimport { defaultProps } from '@team-griffin/rehook';\nimport { Content } from '@ux/typeface';\nimport { modifier, withStylesHook } from '@ux/style-utils';\nimport cssSides, { Side } from '@team-griffin/css-sides';\nimport { gu2px, Curvature } from '@ux/theme-utils';\nimport { footnote } from '@ux/type-size';\nimport reactCSS from 'reactcss';\nimport { equals, cond, always, T } from 'ramda';\n\nvar Kind;\n\n(function (Kind) {\n Kind[\"PRIMARY\"] = \"PRIMARY\";\n Kind[\"SECONDARY\"] = \"SECONDARY\";\n Kind[\"SUCCESS\"] = \"SUCCESS\";\n Kind[\"WARNING\"] = \"WARNING\";\n Kind[\"ERROR\"] = \"ERROR\";\n Kind[\"HIGHLIGHT\"] = \"HIGHLIGHT\";\n})(Kind || (Kind = {}));\n\nvar Against;\n\n(function (Against) {\n Against[\"PRIMARY\"] = \"PRIMARY\";\n Against[\"PRIMARY_GRADIENT\"] = \"PRIMARY_GRADIENT\";\n Against[\"LIGHT\"] = \"LIGHT\";\n Against[\"NEUTRAL\"] = \"NEUTRAL\";\n Against[\"DARK\"] = \"DARK\";\n Against[\"HIGHLIGHT\"] = \"HIGHLIGHT\";\n})(Against || (Against = {}));\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 isAgainstPrimary = equals(Against.PRIMARY);\nvar isAgainstPrimaryGradient = equals(Against.PRIMARY_GRADIENT);\nvar isAgainstHighlight = equals(Against.HIGHLIGHT);\nvar isAgainstNeutral = equals(Against.NEUTRAL);\nvar stylesheet = (function (_ref) {\n var _reactCSS;\n\n var _ref$theme = _ref.theme,\n palette = _ref$theme.palette,\n spacing = _ref$theme.spacing,\n typography = _ref$theme.typography,\n curvature = _ref$theme.curvature,\n kind = _ref.kind,\n against = _ref.against,\n flush = _ref.flush;\n return reactCSS((_reactCSS = {\n default: {\n root: Object.assign({\n display: 'inline-block'\n }, cssSides('padding', Side.A, gu2px(0.75, spacing)), cssSides('margin', Side.X, gu2px(1, spacing)), footnote(typography), {\n lineHeight: 1,\n whiteSpace: 'nowrap'\n })\n },\n flush: {\n root: Object.assign({}, cssSides('margin', Side.X, 0))\n }\n }, _defineProperty(_reactCSS, modifier('kind', Kind.PRIMARY), {\n root: {\n backgroundColor: cond([[isAgainstPrimary, always(palette.primaryContrast)], [isAgainstPrimaryGradient, always(palette.primaryContrast)], [T, always(palette.primary)]])(against),\n color: cond([[isAgainstPrimary, always(palette.primary)], [isAgainstPrimaryGradient, always(palette.primary)], [T, always(palette.primaryContrast)]])(against)\n }\n }), _defineProperty(_reactCSS, modifier('kind', Kind.SECONDARY), {\n root: {\n backgroundColor: cond([[isAgainstNeutral, always(palette.grey04)], [T, always(palette.grey10)]])(against),\n color: cond([[isAgainstNeutral, always(palette.grey10)], [T, always(palette.grey04)]])(against)\n }\n }), _defineProperty(_reactCSS, modifier('kind', Kind.SUCCESS), {\n root: {\n backgroundColor: palette.green01,\n color: '#fff'\n }\n }), _defineProperty(_reactCSS, modifier('kind', Kind.WARNING), {\n root: {\n backgroundColor: palette.yellow01,\n color: palette.grey04\n }\n }), _defineProperty(_reactCSS, modifier('kind', Kind.ERROR), {\n root: {\n backgroundColor: palette.red01,\n color: '#fff'\n }\n }), _defineProperty(_reactCSS, modifier('kind', Kind.HIGHLIGHT), {\n root: {\n backgroundColor: cond([[isAgainstHighlight, always(palette.highlightContrast)], [T, always(palette.highlight)]])(against),\n color: cond([[isAgainstHighlight, always(palette.highlight)], [T, always(palette.highlightContrast)]])(against)\n }\n }), _defineProperty(_reactCSS, modifier('curvature', String(Curvature.WEAK)), {\n root: {\n borderRadius: 4\n }\n }), _defineProperty(_reactCSS, modifier('curvature', String(Curvature.STRONG)), {\n root: Object.assign({\n borderRadius: 100\n }, cssSides('padding', Side.X, gu2px(1.5, spacing)))\n }), _reactCSS), [{\n kind: kind\n }, {\n flush: flush\n }, {\n curvature: curvature\n }]);\n});\n\nvar PureBadge = function PureBadge(_ref) {\n var theme = _ref.theme,\n styles = _ref.styles,\n children = _ref.children;\n return React.createElement(Content, {\n theme: theme,\n component: \"span\",\n style: styles.root\n }, children);\n};\n\nvar enhance = pureEnhance('Badge', [defaultProps({\n kind: Kind.PRIMARY,\n against: Against.LIGHT,\n flush: false\n}), withStylesHook(stylesheet)]);\nvar Badge = enhance(PureBadge); // eslint-disable-next-line no-underscore-dangle\n\nexport default Badge;\nexport { Against, Kind };\n","import React from 'react';\nimport stylesheet from './CardImage.stylesheet';\nimport createImageUrl from 'presentation/utils/createImageUrl';\nimport createImageAlt from 'presentation/utils/createImageAlt';\nimport { useTheme } from '@ux/theme-utils';\nimport { DynamicLink } from '@ux/dynamic-link';\nimport { OuterProps } from './ConnectedCardImage';\n\ninterface InnerProps extends OuterProps {\n currentLanguage?: string,\n externalRoutes?: string[],\n}\n\nconst PureCardImage = ({\n ctaUrl,\n imageAspectRatio,\n illustration,\n imageUrl,\n externalRoutes,\n currentLanguage,\n}: InnerProps) => {\n const hasIllustration = illustration?.length > 0;\n const { styles } = stylesheet({\n hasIllustration,\n imageAspectRatio,\n });\n const alt = createImageAlt({ imageUrl });\n const { theme } = useTheme();\n const assetUrl = createImageUrl(\n {\n illustration,\n imageUrl,\n },\n theme,\n currentLanguage,\n );\n return (\n
\n
\n \n 0}>\n \n \n \n \n \n \n \n \n
\n
\n );\n};\n\nPureCardImage.displayName = 'CardImage';\n\nexport default PureCardImage;\n","import { useStyles } from '@team-griffin/stylr';\nimport { imageAspectRatioPercentage } from 'presentation/utils/imageAspectRatioPercentage';\nimport { ImageAspectRatio } from 'domain/constants/imageAspectRatio';\n\nexport default ({\n hasIllustration,\n imageAspectRatio,\n}: {\n hasIllustration: boolean,\n imageAspectRatio: ImageAspectRatio,\n}) => useStyles({\n default: {\n outer: {\n position: 'relative',\n height: 0,\n paddingTop: imageAspectRatioPercentage(imageAspectRatio),\n overflow: 'hidden',\n },\n inner: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'var(--theme-palette-grey09)',\n },\n image: {\n // 16:9 area, full height, crop sides if needed\n position: 'relative',\n left: '50%',\n transform: 'translateX(-50%)',\n height: '100%',\n width: 'auto',\n },\n },\n\n // illustrations should stretch out to fit\n hasIllustration: {\n inner: {\n backgroundColor: 'transparent',\n },\n image: {\n left: 0,\n top: '50%',\n transform: 'translateY(-50%)',\n width: '100%',\n height: 'auto',\n },\n },\n}, [\n { hasIllustration },\n]);","import React from 'react';\nimport {\n connect,\n} from '@ux/fabric';\nimport { createStructuredSelector } from 'reselect';\nimport {\n getExternalRoutes,\n} from 'domain/selectors/common';\nimport CardImage from './CardImage';\nimport { getCurrentLanguage } from 'domain/selectors/ribbons';\nimport { ImageAspectRatio } from 'domain/constants/imageAspectRatio';\n\nexport interface OuterProps {\n imageUrl: string,\n illustration: string,\n imageAspectRatio?: ImageAspectRatio,\n ctaUrl?: string,\n}\n\nconst mapStateToProps = createStructuredSelector({\n externalRoutes: getExternalRoutes,\n currentLanguage: getCurrentLanguage,\n});\n\nconst mapDispatchToProps = {};\n\nconst ConnectedCardImage = (props: OuterProps) => {\n const {\n currentLanguage,\n externalRoutes,\n } = connect(mapStateToProps, mapDispatchToProps)();\n return (\n \n );\n};\n\nexport default ConnectedCardImage;","import React, { ReactNode } from 'react';\nimport { useBreakpoints } from '@ux/responsive';\nimport PaddingBox from '@ux/padding-box';\nimport Panel from '@ux/panel';\nimport { Colorway } from 'domain/constants/colorway';\nimport stylesheet from './Card.stylesheet';\nimport CallToAction from 'components/common/CallToAction';\nimport CardImage from './ConnectedCardImage';\nimport { CTA } from 'core/ribbons/cta';\nimport { useTheme } from '@ux/theme-utils';\nimport { ImageAspectRatio } from 'domain/constants/imageAspectRatio';\n\nconst getCtaAgainst = (colorway: Colorway) => {\n if (colorway === Colorway.LIGHT) {\n return Colorway.NEUTRAL;\n }\n return Colorway.LIGHT;\n};\n\ntype ImageType = {\n imageUrl: string,\n illustration: string,\n alt?: string,\n imageAspectRatio?: ImageAspectRatio,\n};\n\ninterface OuterProps {\n ctas: CTA[],\n last?: boolean,\n ribbonId: string,\n colorway: Colorway,\n image: ImageType,\n footer?: ReactNode,\n children: ReactNode,\n}\n\nconst hasImage = (image: ImageType) => Boolean(image?.imageUrl || image?.illustration);\n\nconst getCtaUrl = (ctas: CTA[]) => {\n const cta = ctas?.[0];\n const isNavigation = cta?.behavior?.type === 'navigation';\n if (isNavigation) {\n //@ts-ignore\n //It can't find goto on other cta types, but we clearly check\n //only for navigation ctas\n return cta?.behavior?.goto;\n }\n return null;\n};\n\nconst hasCtas = (ctas: CTA[]) => Array.isArray(ctas) && ctas.length > 0;\n\nconst hasPanelBorder = (colorway: Colorway) => {\n return [\n Colorway.PRIMARY,\n Colorway.PRIMARY_GRADIENT,\n Colorway.DARK,\n Colorway.HIGHLIGHT,\n ].includes(colorway);\n};\n\nconst PureCard = ({\n image,\n children,\n footer,\n ctas,\n ribbonId,\n colorway,\n last,\n}: OuterProps) => {\n const { isMinSm } = useBreakpoints();\n const { theme } = useTheme();\n const { styles } = stylesheet({\n theme,\n colorway,\n last,\n isMinSm,\n ctas,\n });\n const ctaUrl = getCtaUrl(ctas);\n\n return (\n \n {hasImage(image) && (\n \n )}\n \n
\n {children}\n
\n \n \n \n );\n};\n\nPureCard.displayName = 'Card';\n\n// eslint-disable-next-line no-underscore-dangle\nexport const __test__ = {\n getCtaUrl,\n hasImage,\n};\n\nexport default PureCard;\n","\nimport {\n Colorway,\n gu2px, Theme,\n} from '@ux/theme-utils';\nimport {\n getBackgroundAccent,\n} from 'presentation/utils/colorway';\nimport { useStyles } from '@team-griffin/stylr';\nimport { CTA } from 'core/ribbons/cta';\n\nexport default ({\n theme,\n colorway,\n last,\n isMinSm,\n ctas,\n}: {\n theme: Theme,\n colorway: Colorway,\n last: boolean,\n isMinSm: boolean,\n ctas: CTA[],\n}) => {\n const {\n spacing,\n } = theme;\n\n const hasMultipleCtas = (ctas ?? []).length > 1;\n return useStyles({\n default: {\n root: {\n overflow: 'hidden',\n backgroundColor: getBackgroundAccent(theme, colorway),\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n },\n content: {\n flexGrow: 1,\n display: 'flex',\n flexDirection: 'column',\n },\n\n body: {\n flexGrow: 1,\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n },\n\n ctas: {\n overflow: 'hidden',\n marginTop: gu2px(2, spacing),\n },\n cta: {\n marginTop: gu2px(1, spacing),\n },\n },\n last: {\n root: {\n marginBottom: 0,\n },\n },\n spaceCtas: {\n cta: {\n marginRight: gu2px(1, spacing),\n display: 'inline-block',\n },\n },\n }, [\n { spaceCtas: isMinSm && hasMultipleCtas },\n { last },\n ]);\n};\n","import Card from './Card';\n\nexport default Card;"],"sourceRoot":""}