{"version":3,"file":"StorytellingModule-Chunk-24ec30525b0373dc6d1f.js","mappings":"sWAsBA,MAEMA,EAAiB,CACrB,sBACE,0DACF,gBAAiB,0DACjBC,SAAU,2CACV,eAAgB,2BAEhB,kBAAmB,0DACnB,gBAAiB,0DACjB,gBAAiB,uDACjB,gBAAiB,wCACjB,WAAY,2CACZ,eAAgB,0CAChBC,KAAM,4BACN,aAAc,0BAEd,aAAc,4BACd,aAAc,4BACd,aAAc,4BACd,aAAc,4BACd,aAAc,4BACd,aAAc,4BACd,mBAAoB,yCACpB,aAAc,0BACd,mBAAoB,wCACpB,UAAW,0BACX,mBAAoB,2CACpB,mBAAoB,gCACpB,mBAAoB,2CACpB,UAAW,0BACX,UAAW,0BACX,mBAAoB,2CACpB,mBAAoB,2CACpB,WAAY,0BACZ,oBAAqB,4CAGjBC,EAGF,CACF,sBAAuB,KACvB,gBAAiB,KACjBF,SAAU,KACV,eAAgB,KAChBC,KAAM,IACN,aAAc,KACd,aAAc,KACd,aAAc,KACd,aAAc,KACd,aAAc,KACd,aAAc,KACd,mBAAoB,KACpB,aAAc,KACd,aAAc,IACd,UAAW,IACX,mBAAoB,IACpB,mBAAoB,IACpB,mBAAoB,IACpB,UAAW,OACX,UAAW,OACX,mBAAoB,OACpB,mBAAoB,OACpB,WAAY,QACZ,oBAAqB,SAsBvB,QAnBA,SAAaE,GAQe,IAN1B,GACAC,EAAE,UACFC,EAAS,QACTC,EAAU,OAAM,SAChBC,KACGC,GACqBL,EACxB,MAAMM,EAAoBC,IAAWX,EAAeO,GAAUD,GACxDM,EAAMP,GAAMF,EAAYI,IAAY,OAE1C,OACEM,MAAAC,cAACF,EAAGG,EAAA,CAACT,UAAWI,GAAuBD,GACpCD,EAGP,C,8ECjGA,MA2CA,EA3CsBJ,IAMT,IANU,SACrBI,EAAQ,UACRF,EAAS,QACTU,EAAU,UAAS,aACnBC,EAAe,GAAG,cAClBC,EAAgB,IACVd,EACN,MAAMe,GAAMC,EAAAA,EAAAA,QAAO,MACbC,GAAWC,EAAAA,EAAAA,GAAc,KACzBC,GAASC,EAAAA,EAAAA,GAAUL,EAAK,CAC5BM,OAAQJ,EAAWJ,EAAeC,EAClCQ,MAAM,IAGFC,EAAoB,CACxBC,OAAQ,CAAEC,QAAS,GACnBC,QAAS,CACPD,QAAS,EACTE,WAAY,CACVC,gBAAiB,GACjBC,SAAUZ,EAAW,GAAM,GAC3Ba,KAAM,SACNC,UAAW,GACXC,QAAS,MAKTC,EAAgBC,EAAAA,EAAOtB,GAE7B,OACEH,MAAAC,cAACuB,EAAa,CACZlB,IAAKA,EACLoB,QAAQ,SACRC,QAASjB,EAAS,UAAY,SAC9BkB,SAAUd,EACVrB,UAAWA,GAEVE,EACa,C,wQCxCb,MAAMkC,EAActC,IAMP,IANQ,YAC1BuC,EAAW,YACXC,EAAW,gBACXC,EAAe,SACfC,EAAQ,QACRC,GACa3C,EACT4C,EAAc,CAAC,EASnB,OAPIL,GAAeC,IACjBI,EAAc,CACZ,aAAcL,EACd,qBAAsBC,EACtB,gBAAiB,gBAInB/B,MAAAC,cAAA,SAAAC,EAAA,GACMiC,EAAW,CACfD,QAASA,EACTzC,UAAU,mGAEVO,MAAAC,cAAA,QAAMR,UAAU,WAAWuC,GAC3BhC,MAAAC,cAACmC,EAAAA,EAAI,CACHC,KAAK,cACLC,KAAM,GACNC,eAAgBN,EAAW,mBAAqB,kBAE3C,C,wHC3Bb,MAsBA,EAtBoB1C,IAAA,IAClBiD,aAAa,OAAEC,EAAM,QAAEC,EAAO,IAAEC,GAAK,KACrCC,GACMrD,EAAA,OACNS,MAAAC,cAAA,WAASR,UAAU,mDACjBO,MAAAC,cAAC4C,EAAAA,EAAI,CAACnD,QAAQ,YAAY+C,GAC1BzC,MAAAC,cAAA,OACER,UAAWK,IACT,+BACA8C,IAASE,EAAAA,EAASC,KAAO,iBAE3BC,wBAAyB,CAAEC,OAAQP,KAGpCC,GAAKO,KACJlD,MAAAC,cAAA,OAAKR,UAAU,mBACbO,MAAAC,cAACkD,EAAAA,EAAG,CAACP,KAAMA,EAAMM,IAAKP,EAAIO,IAAKE,OAAQT,EAAIS,OAAQC,KAAMV,EAAIU,QAGzD,E,kCC9BDC,EAAqB,SAArBA,GAAqB,OAArBA,EAAqB,UAArBA,EAAqB,gBAArBA,EAAqB,gBAArBA,CAAqB,EAArBA,GAAqB,IAMhC,UC4EA,EAvE2B/D,IAcA,IAdC,KAC1BqD,EAAI,IACJD,EAAG,OACHF,EAAM,MACNc,EAAK,YACLC,EAAW,OACXC,EAAM,QACNf,EAAO,cACPgB,EAAa,MACbC,EAAK,YACL5B,EAAW,cACX6B,EAAa,gBACb5B,EAAe,eACf6B,EAAiB,gBACGtE,EACpB,MAAMiD,EAAc,CAClBC,SACAC,UACAC,OAEF,OACE3C,MAAAC,cAAC6D,EAAAA,EAAa,CAACrE,UAAWK,IAAW+D,EAAgB,sBACnD7D,MAAAC,cAAA,OAAKR,UAAU,uEACbO,MAAAC,cAAA,OACER,UAAWK,IACT,wEACA0D,IAAgBO,EAAAA,EAAgBC,KAC5B,kCACA,sDAGLJ,GAAiBD,GAAS5B,EACzB/B,MAAAC,cAAA,OAAKR,UAAU,8EACbO,MAAAC,cAAC4B,EAAAA,EAAW,CACVI,UAAY,EACZD,gBAAiBA,GAAmB,OACpCF,YAAa6B,EAAM7B,YACnBC,YAAaA,KAGf,KACH4B,GAAO7B,cAAgBC,GACtB/B,MAAAC,cAACgE,EAAAA,EAAK,CAACR,OAAQA,EAAQ3B,YAAa6B,GAAO7B,cAE5CyB,GAAOL,KACNlD,MAAAC,cAACiE,EAAAA,EAAK,CACJC,aAAa,SACbZ,MAAOA,EACPa,MAAM,iCACNC,YAAazB,IAASE,EAAAA,EAASC,IAAM,SAAMuB,KAIjDtE,MAAAC,cAAA,OACER,UAAWK,IACT,4CACA4D,IAAkBJ,EAAsBiB,IACpC,iBACA,kBACJf,IAAgBO,EAAAA,EAAgBC,KAC5B,oDACA,oCAGNhE,MAAAC,cAACuE,EAAW,CAAC5B,KAAMA,EAAMJ,YAAaA,MAG5B,E,wNC1EpB,MAUA,EAV4B5C,GAC1BI,MAAAC,cAAA,OAAKR,UAAU,4CACbO,MAAAC,cAACwE,EAAwBvE,EAAA,GACnBN,EAAK,CACTiE,eAAe,gBACfjB,KAAME,EAAAA,EAASC,O,sSCOrB,MAGanB,GAAW8C,EAAAA,EAAAA,GAFtB,6FAEuC,CACvC9C,SAAU,CACR+C,MAAO,CACLC,OACE,6FACFC,KAAM,yLAGVC,gBAAiB,CACfH,MAAO,YA+CX,EA3CYpF,IAUC,IAVA,KACXqD,EAAI,UACJnD,EAAS,SACTsF,EAAQ,OACR3B,EAAM,KACNC,EAAI,IACJH,EAAG,QACHxD,EAAO,eACPsF,GAAiB,KACdpF,GACGL,EACN,MAAM0F,EAAa,CACjB,CAACnC,EAAAA,EAASC,KAAM,SAChB,CAACD,EAAAA,EAASoC,MAAO,QAIbP,EAAQjF,IAAYkD,GAASqC,EAAWrC,UAAqB0B,EAE7Da,GAAUC,EAAAA,EAAAA,IAAQxD,EAAS,CAAE+C,MAAOA,IAAUlF,GAEpD,IAAK4D,IAASH,EAAK,OAEnB,MAAMmC,EACJN,IAAwB,WAAX3B,EAAsB,gBAAkB,eACvD,OACEpD,MAAAC,cAAA,IAAAC,EAAA,CACEoF,KAAMpC,EACNE,OAAQA,EACR3D,WAAW2F,EAAAA,EAAAA,IACT,oKACAJ,GACE,+EAEApF,GAEJI,MAAAC,cAACmC,EAAAA,EAAI,CAACC,KAAMgD,EAAU5F,UAAW0F,EAAS7C,KAAK,YAE9Ce,EACC,C","sources":["webpack://react-app/./components/Shared/src/components/atoms/Text/Text.tsx","webpack://react-app/./components/Shared/src/components/atoms/AnimateInView/AnimateInView.tsx","webpack://react-app/./components/Shared/src/components/molecules/VideoButton/VideoButton.tsx","webpack://react-app/./components/Shared/src/components/atoms/TextContent/TextContent.tsx","webpack://react-app/./components/Shared/src/models/enums/VerticalAlignmentEnum.ts","webpack://react-app/./components/Shared/src/components/organisms/StorytellingModule/StorytellingModule.tsx","webpack://react-app/./components/organisms/StorytellingModule/StorytellingModuleWrapper.tsx","webpack://react-app/./components/Shared/src/components/atoms/Cta/Cta.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nexport type TextVariant = keyof typeof variantClasses;\n\ninterface ExplicitProps {\n variant: TextVariant;\n className?: string;\n children?: string | string[] | TrustedHTML;\n}\n\n// This allows Text Component props to match the props of the element defined by 'as'\ntype PropsWithAs =\n Partial<\n ExplicitProps & {\n as: TElementType;\n }\n >;\n\ntype TextProps =\n PropsWithAs &\n Omit, keyof PropsWithAs>;\n\nconst __DEFAULT_ELEMENT__ = 'p';\n\nconst variantClasses = {\n 'hero-headline-large':\n 'tw-font-serif tw-text-4xl md:tw-text-7xl xl:tw-text-9xl',\n 'hero-headline': 'tw-font-serif tw-text-4xl md:tw-text-7xl xl:tw-text-8xl',\n headline: 'tw-font-serif tw-text-3xl xl:tw-text-5xl',\n 'sub-headline': 'tw-font-sans tw-text-2xl', // alt name - heading-24\n // New Design System Variants\n 'ds-sub-headline': 'tw-font-serif tw-text-4xl md:tw-text-5xl xl:tw-text-7xl',\n 'ds-headline-2': 'tw-text-3xl md:tw-text-4xl xl:tw-text-5xl tw-font-serif',\n 'ds-headline-3': 'tw-text-xl lg:tw-text-2xl tw-font-sans tw-font-light',\n 'ds-headline-4': 'tw-font-sans tw-text-lg lg:tw-text-xl',\n 'ds-quote': 'tw-font-serif tw-text-2xl lg:tw-text-3xl',\n 'ds-paragraph': 'tw-font-sans tw-text-sm lg:tw-text-base',\n body: 'tw-font-sans tw-text-base', // alt name - body-16\n 'body-small': 'tw-font-sans tw-text-sm', // alt name - body-14\n // secondary / non-responsive variants\n 'heading-56': 'tw-font-serif tw-text-8xl',\n 'heading-48': 'tw-font-serif tw-text-7xl',\n 'heading-40': 'tw-font-serif tw-text-6xl',\n 'heading-36': 'tw-font-serif tw-text-5xl',\n 'heading-32': 'tw-font-serif tw-text-4xl',\n 'heading-28': 'tw-font-serif tw-text-3xl',\n 'heading-24-light': 'tw-font-sans tw-text-2xl tw-font-light',\n 'heading-21': 'tw-font-sans tw-text-xl',\n 'heading-21-light': 'tw-font-sans tw-text-xl tw-font-light',\n 'body-18': 'tw-font-sans tw-text-lg',\n 'body-18-semibold': 'tw-font-sans tw-text-lg tw-font-semibold',\n 'body-16-semibold': 'tw-font-sans tw-font-semibold',\n 'body-14-semibold': 'tw-font-sans tw-text-sm tw-font-semibold',\n 'mono-14': 'tw-font-mono tw-text-sm',\n 'mono-12': 'tw-font-mono tw-text-xs',\n 'mono-14-semibold': 'tw-font-mono tw-text-sm tw-font-semibold',\n 'mono-12-semibold': 'tw-font-mono tw-text-xs tw-font-semibold',\n 'label-12': 'tw-font-sans tw-text-xs',\n 'label-12-semibold': 'tw-font-sans tw-text-xs tw-font-semibold',\n};\n\nconst defaultTags: Record<\n string,\n 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'code' | 'label'\n> = {\n 'hero-headline-large': 'h1',\n 'hero-headline': 'h1',\n headline: 'h2',\n 'sub-headline': 'h3',\n body: 'p',\n 'heading-56': 'h1',\n 'heading-48': 'h2',\n 'heading-40': 'h3',\n 'heading-36': 'h4',\n 'heading-32': 'h5',\n 'heading-28': 'h6',\n 'heading-24-light': 'h6',\n 'heading-21': 'h4',\n 'body-small': 'p',\n 'body-18': 'p',\n 'body-18-semibold': 'p',\n 'body-16-semibold': 'p',\n 'body-14-semibold': 'p',\n 'mono-14': 'code',\n 'mono-12': 'code',\n 'mono-14-semibold': 'code',\n 'mono-12-semibold': 'code',\n 'label-12': 'label',\n 'label-12-semibold': 'label',\n};\n\nfunction Text<\n TElementType extends React.ElementType = typeof __DEFAULT_ELEMENT__\n>({\n as,\n className,\n variant = 'body',\n children,\n ...props\n}: TextProps) {\n const combinedClassName = classNames(variantClasses[variant], className);\n const Tag = as ?? defaultTags[variant] ?? 'span';\n\n return (\n \n {children}\n \n );\n}\n\nexport default Text;\n","import useMediaQuery from '@utility/hooks/useMediaQuery';\nimport { motion, useInView } from 'motion/react';\nimport { PropsWithChildren, useRef } from 'react';\n\ninterface Props extends PropsWithChildren {\n readonly className?: string;\n readonly mobileOffset?: number;\n readonly desktopOffset?: number;\n readonly element?: 'section' | 'div';\n}\n\nconst AnimateInView = ({\n children,\n className,\n element = 'section',\n mobileOffset = 0.2,\n desktopOffset = 0.5,\n}: Props) => {\n const ref = useRef(null);\n const isMobile = useMediaQuery(752);\n const inView = useInView(ref, {\n amount: isMobile ? mobileOffset : desktopOffset,\n once: true,\n });\n\n const containerVariants = {\n hidden: { opacity: 0 },\n visible: {\n opacity: 1,\n transition: {\n staggerChildren: 0.1,\n duration: isMobile ? 0.3 : 0.5,\n type: 'spring',\n stiffness: 50,\n damping: 14,\n },\n },\n };\n\n const MotionElement = motion[element];\n\n return (\n \n {children}\n \n );\n};\n\nexport default AnimateInView;\n","import Icon from '@atoms/Icon/Icon';\n\ninterface IVideoButton {\n readonly videoSource?: string;\n readonly videoConfig?: string;\n readonly playButtonLabel: string;\n readonly darkFont: boolean;\n readonly onClick?: () => void;\n}\n\nexport const VideoButton = ({\n videoSource,\n videoConfig,\n playButtonLabel,\n darkFont,\n onClick,\n}: IVideoButton) => {\n let qbrickAttrs = {};\n\n if (videoSource && videoConfig) {\n qbrickAttrs = {\n 'data-video': videoSource,\n 'data-qbrick-config': videoConfig,\n 'aria-controls': 'modal-video',\n };\n }\n return (\n \n {playButtonLabel}\n \n \n );\n};\n","import Cta from '@atoms/Cta/Cta';\nimport Text from '@atoms/Text/Text';\nimport { ITextContent } from '@models/ITextContent';\nimport SiteEnum from '@models/enums/SiteEnum';\nimport classNames from 'classnames';\n\ninterface Props {\n readonly textContent: ITextContent;\n readonly site: SiteEnum;\n}\n\nconst TextContent = ({\n textContent: { header, subText, cta },\n site,\n}: Props) => (\n
\n {header}\n \n\n {cta?.url && (\n
\n \n
\n )}\n
\n);\n\nexport default TextContent;\n","const enum VerticalAlignmentEnum {\n Top = 'top',\n Center = 'centre',\n Bottom = 'bottom',\n}\n\nexport default VerticalAlignmentEnum;\n","import AnimateInView from '@atoms/AnimateInView/AnimateInView';\nimport Image from '@atoms/Image/Image';\nimport TextContent from '@atoms/TextContent/TextContent';\nimport Video from '@atoms/Video/Video';\nimport { IStorytellingModule } from '@models/IStorytellingModule';\nimport { VideoButton } from '@molecules/VideoButton/VideoButton';\nimport PositioningEnum from '@models/enums/PositioningEnum';\nimport SiteEnum from '@models/enums/SiteEnum';\nimport VerticalAlignmentEnum from '@models/enums/VerticalAlignmentEnum';\nimport classNames from 'classnames';\n\nconst StorytellingModule = ({\n site,\n cta,\n header,\n image,\n positioning,\n poster,\n subText,\n textAlignment,\n video,\n videoConfig,\n hasPlayButton,\n playButtonLabel,\n wrapperClasses = 'tw-container',\n}: IStorytellingModule) => {\n const textContent = {\n header,\n subText,\n cta,\n };\n return (\n \n
\n \n {hasPlayButton && video && videoConfig ? (\n
\n \n
\n ) : null}\n {video?.videoSource && !videoConfig && (\n
\n \n \n \n \n
\n );\n};\n\nexport default StorytellingModule;\n","import { IStorytellingModule } from '@models/IStorytellingModule';\nimport SiteEnum from '@models/enums/SiteEnum';\nimport SharedStorytellingModule from '@organisms/StorytellingModule/StorytellingModule';\n\nconst StorytellingModule = (props: IStorytellingModule) => (\n
\n \n
\n);\n\nexport default StorytellingModule;\n","import Icon from '@atoms/Icon/Icon';\nimport { ILink } from '@models/ILink';\nimport SiteEnum from '@models/enums/SiteEnum';\nimport { cva } from 'class-variance-authority';\nimport { ComponentPropsWithoutRef } from 'react';\nimport { twMerge } from 'tailwind-merge';\n\ntype styles = 'yellow' | 'grey';\n\ntype Props = ComponentPropsWithoutRef<'a'> &\n ILink & {\n readonly variant?: styles;\n readonly site?: SiteEnum;\n readonly enableDarkMode?: boolean;\n };\n\nconst baseClasses =\n 'tw-inline-block tw-rounded tw-px-3xs tw-py-3xs tw-text-center tw-text-xs rtl:tw-rotate-180';\n\nexport const variants = cva(baseClasses, {\n variants: {\n style: {\n yellow:\n 'tw-bg-yellow group-hover:tw-bg-yellow-hover group-active:tw-bg-yellow-active tw-text-black',\n grey: 'tw-bg-grey-80 dark:tw-bg-white dark:group-hover:tw-bg-grey-10 group-hover:tw-bg-grey-90 group-active:tw-bg-grey-100 dark:group-active:tw-bg-grey-20 tw-fill-white dark:tw-fill-black',\n },\n },\n defaultVariants: {\n style: 'yellow',\n },\n});\n\nconst Cta = ({\n site,\n className,\n linkIcon,\n target,\n text,\n url,\n variant, // variant prop can be passed in to override the site specific styles\n enableDarkMode = true,\n ...props\n}: Props) => {\n const siteStyles = {\n [SiteEnum.B2B]: 'yellow',\n [SiteEnum.Deco]: 'grey',\n };\n\n // style is overriden if a variant is passed in, but otherwise takes on the site style\n const style = variant ?? (site && (siteStyles[site] as styles)) ?? undefined;\n\n const classes = twMerge(variants({ style: style }), className);\n\n if (!text || !url) return;\n\n const iconName =\n linkIcon ?? (target === '_blank' ? 'external-link' : 'arrow-right');\n return (\n \n \n\n {text}\n \n );\n};\n\nexport default Cta;\n"],"names":["variantClasses","headline","body","defaultTags","_ref","as","className","variant","children","props","combinedClassName","classNames","Tag","React","createElement","_extends","element","mobileOffset","desktopOffset","ref","useRef","isMobile","useMediaQuery","inView","useInView","amount","once","containerVariants","hidden","opacity","visible","transition","staggerChildren","duration","type","stiffness","damping","MotionElement","motion","initial","animate","variants","VideoButton","videoSource","videoConfig","playButtonLabel","darkFont","onClick","qbrickAttrs","Icon","name","size","colorClassName","textContent","header","subText","cta","site","Text","SiteEnum","B2B","dangerouslySetInnerHTML","__html","url","Cta","target","text","VerticalAlignmentEnum","image","positioning","poster","textAlignment","video","hasPlayButton","wrapperClasses","AnimateInView","PositioningEnum","Left","Video","Image","imageClasses","sizes","aspectRatio","undefined","Top","TextContent","SharedStorytellingModule","cva","style","yellow","grey","defaultVariants","linkIcon","enableDarkMode","siteStyles","Deco","classes","twMerge","iconName","href"],"sourceRoot":""}