{"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:///./crosscutting/ramda.ts","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":["enhance","pureEnhance","defaultProps","hBaseline","withProps","ownerProps","hasBadge","isNotNilOrEmpty","badge","hasPrecursor","precursor","theme","spacing","palette","useStyles","default","category","display","alignItems","color","grey02","title","body","marginTop","gu2px","flexGrow","grey04","styles","colorway","imageUrl","illustration","ctas","ribbonId","Card","image","showDivider","style","component","Shortcode","against","Against","LIGHT","code","kind","BadgeKind","HIGHLIGHT","depth","hocs","errorBoundary","visibilitySet","hooks","ads","id","loading","name","layout","Ribbon","type","AdvertCard","key","i","ad","Ads","isNotEmpty","isNotNil","mapIndexed","rA","r","fallback","arr","fn","obj","hasIllustration","withLanguage","assetUrl","createImageUrl","currentLanguage","alt","createImageAlt","outer","position","height","paddingTop","percentage","overflow","inner","top","left","right","bottom","backgroundColor","transform","width","ctaUrl","externalRoutes","Boolean","to","src","mapStateToProps","createStructuredSelector","getExternalRoutes","pipe","withHooks","connect","CardImage","getCtaAgainst","Colorway","NEUTRAL","getCtaUrl","hasImage","withBreakpointsHook","ctaAgainst","hasCtas","panelBorder","PRIMARY","PRIMARY_GRADIENT","DARK","last","isMinSm","hasMultipleCtas","root","getBackgroundAccent","flexDirection","content","cta","marginBottom","spaceCtas","marginRight","children","footer","borderless","CallToAction","block","index"],"mappings":"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","file":"pex-static/12/10.a619ff0672de04c4f3c9.chunk.js","sourcesContent":["import React from 'react';\nimport {\n withProps,\n defaultProps,\n} from '@team-griffin/rehook';\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 { isNotNilOrEmpty } from '@team-griffin/capra';\nimport stylesheet, { Styles } from './AdvertCard.stylesheet';\nimport pureEnhance from '@ux/pure-enhance';\nimport { Theme } from '@ux/theme-utils';\nimport { CTA } from 'core/ribbons/cta';\n\nexport interface AdvertCardProps {\n imageUrl?: string,\n illustration?: string,\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\ninterface DefaultProps extends OuterProps {\n hBaseline: number,\n}\nexport interface InnerProps extends DefaultProps {\n styles: Styles,\n hasBadge: boolean,\n hasPrecursor: boolean,\n}\n\nexport const PureAdvert = ({\n theme,\n styles,\n colorway,\n imageUrl,\n illustration,\n precursor,\n badge,\n title,\n body,\n hBaseline,\n ctas,\n ribbonId,\n hasBadge,\n hasPrecursor,\n}: InnerProps) => (\n \n \n
\n \n \n \n \n {badge}\n \n \n \n \n\n
\n \n \n
\n \n \n \n
\n
\n \n);\n\nexport const enhance = pureEnhance(\n 'Advert', [\n defaultProps({\n hBaseline: 1,\n }),\n withProps((ownerProps: OuterProps) => ({\n hasBadge: isNotNilOrEmpty(ownerProps.badge),\n hasPrecursor: isNotNilOrEmpty(ownerProps.precursor),\n })),\n withProps(stylesheet),\n ],\n);\n\nexport default enhance(PureAdvert);\n","import { gu2px } from '@ux/theme-utils';\nimport { useStyles } from '@team-griffin/stylr';\nimport { InnerProps } from './AdvertCard';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n category: CSSProperties,\n title: CSSProperties,\n body: CSSProperties,\n}\nexport default ({\n theme: {\n spacing,\n palette,\n },\n}: InnerProps) => 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 from 'react';\nimport {\n defaultProps,\n} from '@team-griffin/rehook';\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';\nimport pureEnhance from '@ux/pure-enhance';\n\ninterface OuterProps extends RibbonProps {\n ads: AdvertCardProps[],\n}\ninterface InnerProps extends OuterProps {}\n\ndeclare const i: number;\ndeclare const ad: AdvertCardProps;\nexport const PureAds = ({\n id,\n theme,\n colorway,\n loading,\n name,\n hBaseline,\n ads,\n layout,\n}: InnerProps) => (\n \n {/*\n //@ts-ignore */}\n \n \n \n \n \n \n);\n\nexport const enhance = pureEnhance(\n 'Ads', {\n hocs: [\n errorBoundary,\n visibilitySet,\n ],\n hooks: [\n defaultProps({\n ads: [],\n }),\n ],\n },\n);\n\nexport default enhance(PureAds);\n","import Ads from './Ads';\n\nexport default Ads;\n","import * as rA from 'ramda-adjunct';\nimport * as r from 'ramda';\nimport {\n curry2,\n isNotNilOrEmpty,\n} from '@team-griffin/capra';\n\nconst {\n isNotEmpty,\n isNotNil,\n mapIndexed,\n} = rA;\n\nexport {\n curry2,\n isNotNilOrEmpty,\n isNotEmpty,\n isNotNil,\n mapIndexed,\n};\n\nexport const headOr = r.curryN(2, (fallback: any, arr: any[]) => r.pipe(\n r.defaultTo([]),\n r.head,\n r.defaultTo(fallback),\n)(arr));\n\nexport const getFirstKey = r.pipe(\n r.keys,\n r.head,\n) as (data: any)=>string;\n\nexport const getFirstValue = r.pipe(\n //@ts-ignore\n r.values,\n r.head,\n);\n\nexport const mapKeys = r.curryN(2, (fn: any, obj: any) => r.pipe(\n r.defaultTo({}),\n r.mapObjIndexed(\n r.converge(\n r.unapply(r.identity),\n [\n r.pipe(\n r.nthArg(1),\n fn,\n ),\n r.identity,\n ]\n ),\n ),\n r.values,\n r.fromPairs,\n)(obj));\n","import React from 'react';\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport pureEnhance from '@ux/pure-enhance';\nimport stylesheet, { Styles } from './CardImage.stylesheet';\nimport createImageUrl from 'presentation/utils/createImageUrl';\nimport createImageAlt from 'presentation/utils/createImageAlt';\nimport { isNotNilOrEmpty } from '@team-griffin/capra';\nimport * as r from 'ramda';\nimport withLanguage from 'presentation/hocs/withLanguage';\nimport { Theme } from '@ux/theme-utils';\nimport { DynamicLink } from '@ux/dynamic-link';\n\nexport interface OuterProps {\n theme: Theme,\n imageUrl: string,\n illustration: string,\n ctaUrl?: string,\n externalRoutes: string[],\n}\ninterface MiddleProps extends OuterProps {\n currentLanguage: string,\n}\nexport interface InnerProps extends MiddleProps {\n styles: Styles,\n alt: string,\n assetUrl: string,\n hasIllustration: boolean,\n}\n\nexport const PureCardImage = ({\n styles,\n assetUrl,\n ctaUrl,\n alt,\n externalRoutes,\n}: InnerProps) => (\n \n
\n
\n \n \n
\n \n \n \n
\n \n \n
\n
\n);\n\nconst hasIllustration = r.propSatisfies(isNotNilOrEmpty, 'illustration');\n\nexport const enhance = pureEnhance(\n 'CardImage', {\n hocs: [\n withLanguage,\n ],\n hooks: [\n withProps((ownerProps: MiddleProps) => ({\n assetUrl: createImageUrl(\n {\n illustration: ownerProps.illustration,\n imageUrl: ownerProps.imageUrl,\n },\n ownerProps.theme,\n ownerProps.currentLanguage,\n ),\n alt: createImageAlt(ownerProps),\n hasIllustration: hasIllustration(ownerProps),\n })),\n withProps(stylesheet),\n ],\n }\n);\n\nexport default enhance(PureCardImage);\n","import {\n percentage,\n} from '@ux/style-utils';\nimport { useStyles } from '@team-griffin/stylr';\nimport { InnerProps } from './CardImage';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n outer: CSSProperties,\n inner: CSSProperties,\n image: CSSProperties,\n}\nexport default ({\n hasIllustration,\n}: InnerProps) => useStyles({\n default: {\n outer: {\n position: 'relative',\n height: 0,\n paddingTop: percentage(56.25),\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: percentage(50),\n transform: 'translateX(-50%)',\n height: percentage(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: percentage(50),\n transform: 'translateY(-50%)',\n width: percentage(100),\n height: 'auto',\n },\n },\n}, [\n { hasIllustration },\n]);","\nimport {\n withProps,\n} from '@team-griffin/rehook';\nimport {\n connect,\n} from '@ux/fabric';\nimport { createStructuredSelector } from 'reselect';\nimport {\n getExternalRoutes,\n} from 'domain/selectors/common';\nimport CardImage, { OuterProps as PureProps } from './CardImage';\nimport pureEnhance, { withHooks } from '@ux/pure-enhance';\n\ninterface ConnectedProps {\n externalRoutes: string[],\n}\n\ninterface InnerProps extends PureProps {}\ninterface OuterProps extends Omit {}\n\n\nconst mapStateToProps = createStructuredSelector({\n externalRoutes: getExternalRoutes,\n});\n\nconst mapDispatchToProps = {};\n\nconst enhance = pureEnhance(\n 'ConnectedCardImage',\n {\n pipe: [\n withHooks([\n withProps(connect(mapStateToProps, mapDispatchToProps)),\n ]),\n ],\n },\n);\n\nexport default enhance(CardImage);\n","import React, { ReactNode } from 'react';\nimport {\n withProps,\n defaultProps,\n} from '@team-griffin/rehook';\nimport { BreakpointProps, withBreakpointsHook } from '@ux/responsive';\nimport PaddingBox from '@ux/padding-box';\nimport Panel from '@ux/panel';\nimport * as r from 'ramda';\nimport { isNotNilOrEmpty } from 'crosscutting/ramda';\nimport { Colorway } from 'domain/constants/colorway';\nimport stylesheet, { Styles } from './Card.stylesheet';\nimport CallToAction from 'components/common/CallToAction';\nimport CardImage from './ConnectedCardImage';\nimport { CTA } from 'core/ribbons/cta';\nimport { Against } from '@ux/button';\nimport pureEnhance from '@ux/pure-enhance';\nimport { Theme } from '@ux/theme-utils';\n\nconst getCtaAgainst = r.ifElse(\n r.propEq('colorway', Colorway.LIGHT),\n r.always(Colorway.NEUTRAL),\n r.always(Colorway.LIGHT),\n);\n\ninterface OuterProps {\n theme: Theme,\n ctas: CTA[],\n showDivider?: boolean,\n last?: boolean,\n ribbonId: string,\n colorway: Colorway,\n image: {\n imageUrl: string,\n illustration: string,\n alt?: string,\n },\n footer?: ReactNode,\n children: ReactNode,\n}\ninterface DefaultProps extends OuterProps {\n showDivider: boolean,\n}\nexport interface InnerProps extends DefaultProps, BreakpointProps {\n styles: Styles,\n ctaAgainst: Against,\n hasImage: boolean,\n hasCtas: boolean,\n panelBorder: boolean,\n ctaUrl: any,\n}\n\ndeclare const i: number;\ndeclare const cta: CTA;\n\nexport const PureCard = ({\n theme,\n styles,\n image,\n children,\n footer,\n ctas,\n ctaAgainst,\n isMinSm,\n hasCtas,\n hasImage,\n panelBorder,\n ribbonId,\n ctaUrl,\n}: InnerProps) => (\n \n \n \n \n\n \n \n {children}\n
\n \n \n \n);\n\nconst getCtaUrl = r.ifElse(\n r.pathSatisfies(r.equals('navigation'), [ 'ctas', 0, 'behavior', 'type' ]),\n r.path([ 'ctas', 0, 'behavior', 'goto' ]),\n r.always(null),\n);\n\nconst hasImage = r.either(\n r.pathSatisfies(isNotNilOrEmpty, [ 'image', 'imageUrl' ]),\n r.pathSatisfies(isNotNilOrEmpty, [ 'image', 'illustration' ]),\n);\nexport const enhance = pureEnhance(\n 'Card', {\n hooks: [\n defaultProps({\n showDivider: false,\n }),\n withBreakpointsHook,\n withProps((ownerProps: OuterProps) => ({\n ctaAgainst: getCtaAgainst(ownerProps),\n hasCtas: isNotNilOrEmpty(ownerProps.ctas),\n hasImage: hasImage(ownerProps),\n ctaUrl: getCtaUrl(ownerProps),\n panelBorder: r.anyPass([\n r.propEq('colorway', Colorway.PRIMARY),\n r.propEq('colorway', Colorway.PRIMARY_GRADIENT),\n r.propEq('colorway', Colorway.DARK),\n r.propEq('colorway', Colorway.HIGHLIGHT),\n ])(ownerProps),\n })),\n withProps(stylesheet),\n ],\n }\n);\n\n// eslint-disable-next-line no-underscore-dangle\nexport const __test__ = {\n getCtaUrl,\n hasImage,\n};\n\nexport default enhance(PureCard);\n","import {\n percentage,\n} from '@ux/style-utils';\nimport {\n gu2px,\n} from '@ux/theme-utils';\nimport {\n getBackgroundAccent,\n} from 'presentation/utils/colorway';\nimport { useStyles } from '@team-griffin/stylr';\nimport * as r from 'ramda';\nimport { InnerProps } from './Card';\nimport { CSSProperties } from 'react';\n\nexport interface Styles {\n root: CSSProperties,\n content: CSSProperties,\n body: CSSProperties,\n ctas: CSSProperties,\n cta: CSSProperties,\n}\nexport default ({\n theme,\n colorway,\n last,\n showDivider,\n hasImage,\n isMinSm,\n ctas,\n}: InnerProps) => {\n\n const {\n spacing,\n } = theme;\n\n const hasMultipleCtas = r.pipe(\n r.defaultTo([]),\n //@ts-ignore\n r.length,\n r.gt(r.__, 1),\n // @ts-ignore\n )(ctas);\n\n return useStyles({\n default: {\n root: {\n overflow: 'hidden',\n backgroundColor: getBackgroundAccent(theme, colorway),\n height: percentage(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: percentage(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 },\n },\n }, [\n { colorway },\n { spaceCtas: r.and(isMinSm, hasMultipleCtas) },\n { last },\n { showDivider },\n { hasImage },\n ]);\n};\n","import Card from './Card';\n\nexport default Card;"],"sourceRoot":""}