{"version":3,"file":"3868-dcd9f694d7ae2f69f88f.js","mappings":"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","sources":["webpack://nikon-client/./components/atoms/Bullets/Bullets.tsx","webpack://nikon-client/./components/atoms/Button/Button.tsx","webpack://nikon-client/./components/atoms/Image/Image.tsx","webpack://nikon-client/./components/atoms/ProfilePicture/ProfilePicture.tsx","webpack://nikon-client/./components/atoms/Tooltip/Tooltip.tsx","webpack://nikon-client/./components/molecules/AuthorCard/AuthorCard.tsx","webpack://nikon-client/./components/molecules/AuthorPanel/AuthorPanel.tsx","webpack://nikon-client/./components/molecules/Carousel/Carousel.tsx","webpack://nikon-client/./models/enums/BreakpointEnum.ts","webpack://nikon-client/./models/enums/ProfilePictureSizeEnum.ts","webpack://nikon-client/./models/enums/SizeEnum.ts","webpack://nikon-client/./models/enums/TooltipPositionEnum.ts","webpack://nikon-client/./utility/helpers/gtm.ts","webpack://nikon-client/./utility/hooks/useBreakpoint.ts","webpack://nikon-client/./utility/hooks/useMediaQuery.ts"],"sourcesContent":["import classNames from 'classnames';\n\ninterface Props {\n readonly bullets: (string | undefined)[];\n readonly textSize?: string;\n readonly textColour?: string;\n readonly className?: string;\n readonly bulletClasses?: string;\n readonly noWrap?: boolean;\n readonly dataTestId?: string;\n}\n\nconst Bullets = ({\n bullets,\n textSize = 'body-three',\n textColour = 'text-black-100 dark:text-white',\n className,\n bulletClasses,\n noWrap = true,\n dataTestId,\n}: Props) => {\n const filteredBullets = bullets.filter(Boolean);\n if (!filteredBullets.length) return null;\n\n return (\n \n {filteredBullets.map((bullet, index) => (\n \n {index !== 0 && (\n \n )}\n {bullet}\n \n ))}\n \n );\n};\n\nexport default Bullets;\n","import { ILink } from '@models/ILink';\nimport classNames from 'classnames';\nimport {\n ButtonHTMLAttributes,\n DetailedHTMLProps,\n PropsWithChildren,\n} from 'react';\n\ninterface Props {\n readonly className?: string;\n readonly dataTestId?: string;\n readonly disabled?: boolean;\n readonly editHint?: string;\n readonly link?: ILink;\n readonly linkCallback?: () => void;\n readonly secondary?: boolean;\n readonly secondaryBackgroundClassName?: string;\n readonly isLightMode?: boolean;\n readonly inverted?: boolean;\n}\n\ntype ButtonProps = Props &\n DetailedHTMLProps, HTMLButtonElement>;\n\nconst Button = ({\n children,\n className,\n dataTestId,\n disabled = false,\n editHint,\n link,\n linkCallback,\n secondary = false,\n secondaryBackgroundClassName = 'bg-transparent',\n isLightMode,\n inverted = false,\n ...buttonProps\n}: PropsWithChildren) => {\n const buttonClasses = classNames(\n {\n 'bg-yellow py-1 px-4 text-black-100 hover:bg-yellow-100 focus:bg-yellow-500 active:bg-yellow-500':\n !disabled && !secondary && !inverted,\n //\n [`${secondaryBackgroundClassName} border border-yellow py-[3px] px-[15px] text-black-100 hover:border-yellow-100 hover:bg-yellow-100 hover:text-black-100 focus:border-yellow-500 focus:bg-yellow-500 active:border-yellow-500 active:bg-yellow-500 ${\n isLightMode\n ? ''\n : 'dark:text-white dark:hover:text-black-100 dark:focus:text-black-100 dark:active:text-black-100'\n }`]: !disabled && secondary && !inverted,\n //\n 'bg-grey text-grey-500 py-1 px-4': disabled,\n //\n 'bg-black text-white py-1 px-4 active:bg-grey-600 hover:bg-grey-600 focus:bg-grey-600':\n !disabled && !secondary && inverted,\n },\n 'cta rounded-full inline-block min-h-min select-none',\n className\n );\n\n return link?.url && (link?.name || children) && !disabled ? (\n \n {children || link.name}\n \n ) : (\n \n {children}\n \n );\n};\n\nexport default Button;\n","import BreakpointEnum from '@models/enums/BreakpointEnum';\nimport { IImage } from '@models/IImage';\nimport useBreakpoint from '@utils/hooks/useBreakpoint';\nimport classNames from 'classnames';\nimport { PropsWithChildren, RefObject, useState } from 'react';\n\ninterface Props {\n readonly classes?: string;\n readonly dataTestId?: string;\n readonly epiEdit?: string;\n readonly image?: IImage;\n readonly imageClasses?: string;\n readonly imageRef?:\n | RefObject\n | ((node: HTMLElement | null) => void);\n readonly lazyLoad?: boolean;\n readonly progressiveLoad?: boolean;\n readonly sizes?: string;\n}\n\nconst Image = ({\n children,\n classes,\n dataTestId,\n epiEdit,\n image,\n imageClasses,\n imageRef,\n lazyLoad = true,\n progressiveLoad = true,\n sizes = '',\n}: PropsWithChildren) => {\n const mobileSource = image?.mobile;\n const tabletSource = image?.tablet;\n const desktopSource = image?.desktop;\n const largeDesktopSource = image?.largeDesktop;\n const breakpoint = useBreakpoint() as BreakpointEnum;\n const [isLoaded, setIsLoaded] = useState(false);\n\n if (!desktopSource?.url) return null;\n\n const currentSrc = {\n [BreakpointEnum.Small]: mobileSource,\n [BreakpointEnum.Medium]: tabletSource,\n [BreakpointEnum.Large]: desktopSource,\n [BreakpointEnum.XLarge]: largeDesktopSource,\n };\n\n return (\n \n \n setIsLoaded(true)}\n sizes={sizes}\n src={\n isLoaded && progressiveLoad\n ? currentSrc[breakpoint]?.url\n : mobileSource?.url\n }\n height={currentSrc[breakpoint]?.height}\n width={currentSrc[breakpoint]?.width}\n srcSet={`${mobileSource?.originalUrl} 376w, ${tabletSource?.originalUrl} 768w, ${desktopSource?.originalUrl} 1024w, ${largeDesktopSource?.originalUrl} 1440w`}\n {...(dataTestId && { 'data-testid': dataTestId })}\n />\n {isLoaded && children}\n \n );\n};\n\nexport default Image;\n","import Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport Tooltip from '@atoms/Tooltip/Tooltip';\nimport { IImage } from '@models/IImage';\nimport ProfilePictureSizeEnum from '@models/enums/ProfilePictureSizeEnum';\nimport TooltipPositionEnum from '@models/enums/TooltipPositionEnum';\nimport classNames from 'classnames';\n\ninterface Props {\n readonly backgroundColourClassName?: string;\n readonly displayCheck?: boolean;\n readonly displayOutline?: boolean;\n readonly displayOutlineColor?: string;\n readonly iconToolTip?: string;\n readonly initials?: string;\n readonly size: ProfilePictureSizeEnum;\n readonly thumbnail?: IImage;\n readonly tooltipBackgroundColor?: string;\n readonly dataTestId?: string;\n}\n\nconst ProfilePicture = ({\n backgroundColourClassName = 'bg-grey-100 dark:bg-grey-600',\n displayCheck = false,\n displayOutline = false,\n displayOutlineColor = 'border-yellow',\n iconToolTip,\n initials,\n size,\n thumbnail,\n tooltipBackgroundColor,\n dataTestId = 'Profile-Picture',\n}: Props) => {\n const imageSizes = {\n [ProfilePictureSizeEnum.Size30]: 'w-[30px] h-[30px]',\n [ProfilePictureSizeEnum.Size38]: 'w-[38px] h-[38px]',\n [ProfilePictureSizeEnum.Size41]: 'w-[41px] h-[41px]',\n [ProfilePictureSizeEnum.Size50]: 'w-[50px] h-[50px]',\n [ProfilePictureSizeEnum.Size76]: 'w-[76px] h-[76px]',\n [ProfilePictureSizeEnum.Size120]: 'w-[120px] h-[120px]',\n };\n\n const initialsSizes = {\n [ProfilePictureSizeEnum.Size30]: 'small-text',\n [ProfilePictureSizeEnum.Size38]: 'small-text',\n [ProfilePictureSizeEnum.Size41]: 'small-text',\n [ProfilePictureSizeEnum.Size50]: 'body-four',\n [ProfilePictureSizeEnum.Size76]: 'h6',\n [ProfilePictureSizeEnum.Size120]: 'h4',\n };\n\n const check = {\n [ProfilePictureSizeEnum.Size30]: '0.625rem',\n [ProfilePictureSizeEnum.Size38]: '0.59375rem',\n [ProfilePictureSizeEnum.Size41]: '0.854rem',\n [ProfilePictureSizeEnum.Size50]: '1rem',\n [ProfilePictureSizeEnum.Size76]: '1.125rem',\n [ProfilePictureSizeEnum.Size120]: '1.5rem',\n };\n\n const checkOffset = {\n [ProfilePictureSizeEnum.Size30]: 'right-0.5 -bottom-px',\n [ProfilePictureSizeEnum.Size38]: 'right-0.5 -bottom-1',\n [ProfilePictureSizeEnum.Size41]: 'right-1 -bottom-0.5',\n [ProfilePictureSizeEnum.Size50]: 'right-0 bottom-0',\n [ProfilePictureSizeEnum.Size76]: 'right-1 bottom-0',\n [ProfilePictureSizeEnum.Size120]: 'right-2 bottom-2',\n };\n\n return (\n
\n \n {thumbnail ? (\n \n ) : (\n initials && (\n
\n \n {initials}\n \n
\n )\n )}\n
\n\n {displayCheck && (\n \n \n {iconToolTip && (\n \n )}\n \n )}\n \n );\n};\n\nexport default ProfilePicture;\n","import TooltipPositionEnum from '@models/enums/TooltipPositionEnum';\nimport classNames from 'classnames';\nimport { PropsWithChildren } from 'react';\n\ninterface Props {\n readonly arrowRadiusClassName?: string;\n readonly backgroundColor?: string;\n readonly customArrowClassName?: string;\n readonly customContentClassName?: string;\n readonly customWrapperClassName?: string;\n readonly dataTestId?: string;\n readonly hasArrow?: boolean;\n readonly hasTooltipClass?: boolean;\n readonly label?: string;\n readonly position: TooltipPositionEnum;\n}\n\nconst Tooltip = ({\n arrowRadiusClassName = 'rounded-sm',\n backgroundColor = 'bg-white',\n customArrowClassName,\n customContentClassName,\n customWrapperClassName,\n dataTestId = 'Tooltip',\n hasArrow,\n hasTooltipClass = true,\n label,\n position,\n children,\n}: PropsWithChildren) => {\n const positionClasses = {\n [TooltipPositionEnum.Top]: 'bottom-3 left-1/2 -translate-x-1/2',\n [TooltipPositionEnum.Bottom]: 'left-1/2 -translate-x-1/2 top-3',\n [TooltipPositionEnum.BottomLeft]:\n 'left-1/2 translate-x-[calc(-100%+20px)] top-3',\n [TooltipPositionEnum.Custom]: customContentClassName,\n };\n\n const isBottomVariant =\n position === TooltipPositionEnum.Bottom ||\n position === TooltipPositionEnum.BottomLeft;\n const isTopVariant = position === TooltipPositionEnum.Top;\n\n return (\n \n {hasArrow && (\n \n )}\n\n {children ? (\n
\n {children}\n
\n ) : (\n \n {label}\n

\n )}\n \n );\n};\n\nexport default Tooltip;\n","import Image from '@atoms/Image/Image';\nimport ProfilePictureSizeEnum from '@models/enums/ProfilePictureSizeEnum';\nimport SizeEnum from '@models/enums/SizeEnum';\nimport { IAuthor } from '@models/IAuthor';\nimport AuthorPanel from '@molecules/AuthorPanel/AuthorPanel';\nimport Carousel from '@molecules/Carousel/Carousel';\nimport updateDataLayer from '@utils/helpers/gtm';\nimport useIsTouchDevice from '@utils/hooks/useIsTouchDevice';\nimport { useState } from 'react';\nimport Swiper from 'swiper';\nimport { Autoplay, EffectFade } from 'swiper/modules';\nimport { SwiperSlide } from 'swiper/react';\n\ninterface Props {\n readonly author: IAuthor;\n readonly dataTestId?: string;\n}\n\nconst AuthorCard = ({ author, dataTestId = 'Author-Card' }: Props) => {\n const {\n authorName,\n associatedImages,\n link,\n meta,\n subTitle,\n specialism,\n ambassador,\n } = author;\n const [swiper, setSwiper] = useState();\n const isTouchDevice = useIsTouchDevice();\n\n return (\n {\n updateDataLayer({\n event: 'selectContent',\n content_type: `${subTitle}${ambassador ? `, ${specialism}` : ''}`,\n author_name: authorName,\n });\n }}\n data-testid={dataTestId}\n >\n
\n {\n swiper?.autoplay.start();\n }}\n onMouseLeave={() => {\n swiper?.autoplay.stop();\n swiper?.slideTo(0);\n }}\n >\n {\n // This is added in to fix an issue whereby images do not display on IOS devices - NIKDD-2300\n isTouchDevice ? (\n associatedImages?.[0] && (\n \n )\n ) : (\n 1)\n }\n id={authorName}\n loop\n onInit={(s) => {\n s?.autoplay.stop();\n setSwiper(s);\n }}\n slidesPerView={1}\n spaceBetween={0}\n speed={500}\n >\n {associatedImages?.map((image, index) => (\n \n \n \n ))}\n \n )\n }\n \n\n
\n \n
\n
\n \n );\n};\n\nexport default AuthorCard;\n","import Bullets from '@atoms/Bullets/Bullets';\nimport Icon from '@atoms/Icon/Icon';\nimport ProfilePicture from '@atoms/ProfilePicture/ProfilePicture';\nimport Tooltip from '@atoms/Tooltip/Tooltip';\nimport ProfilePictureSizeEnum from '@models/enums/ProfilePictureSizeEnum';\nimport SizeEnum from '@models/enums/SizeEnum';\nimport TooltipPositionEnum from '@models/enums/TooltipPositionEnum';\nimport { IAuthor } from '@models/IAuthor';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport classNames from 'classnames';\n\ninterface Props extends IAuthor {\n readonly backgroundColourClassName?: string;\n readonly size?:\n | ProfilePictureSizeEnum.Size50\n | ProfilePictureSizeEnum.Size76\n | ProfilePictureSizeEnum.Size120;\n readonly textSize?: SizeEnum;\n}\n\nconst AuthorPanel = ({\n ambassador,\n authorName,\n backgroundColourClassName = 'bg-grey-100 dark:bg-grey-600',\n iconTooltip,\n initials,\n size,\n specialism,\n subTitle,\n textSize = SizeEnum.Medium,\n thumbnail,\n}: Props) => {\n const filteredSpecialisms = [...[subTitle], ...(specialism ?? [])];\n\n const isBelowLargeDesktop = useMediaQuery(1440);\n const pictureSize = isBelowLargeDesktop\n ? ProfilePictureSizeEnum.Size76\n : ProfilePictureSizeEnum.Size120;\n\n const titleFontSize = {\n [SizeEnum.Small]: 'text-md',\n [SizeEnum.Medium]: 'h6',\n [SizeEnum.Large]: 'h5',\n [SizeEnum.XLarge]: 'h1',\n };\n\n return (\n \n {(thumbnail || initials) && (\n \n )}\n\n
\n {authorName && (\n
\n \n {authorName}\n

\n\n {ambassador && !(thumbnail || initials) && (\n
\n \n {iconTooltip && (\n \n )}\n
\n )}\n
\n )}\n\n \n
\n \n );\n};\n\nexport default AuthorPanel;\n","import updateDataLayer from '@utils/helpers/gtm';\nimport { PropsWithChildren } from 'react';\nimport { A11y, Keyboard, Navigation } from 'swiper/modules';\nimport { Swiper, SwiperProps } from 'swiper/react';\nimport 'swiper/scss';\nimport 'swiper/scss/a11y';\nimport 'swiper/scss/autoplay';\nimport 'swiper/scss/effect-fade';\nimport 'swiper/scss/keyboard';\nimport { SwiperModule } from 'swiper/types';\n\ninterface Props extends SwiperProps {\n readonly additionalModules?: SwiperModule[];\n readonly className?: string;\n readonly id?: string;\n readonly navId?: string;\n readonly analyticsEnabled?: boolean;\n}\n\nconst Carousel = ({\n additionalModules = [],\n children,\n className,\n id = 'carousel',\n navId = '',\n analyticsEnabled = false,\n ...props\n}: PropsWithChildren) => {\n if (!children) {\n return null;\n }\n\n return (\n {\n if (analyticsEnabled && swiper.realIndex !== 0) {\n updateDataLayer({\n event: 'carousel',\n content_type: `tab_change`,\n link_text:\n swiper.previousIndex < swiper.activeIndex ? 'Next' : 'Previous',\n });\n }\n }}\n a11y={{ enabled: true }}\n className={className}\n navigation={{\n enabled: !!navId,\n prevEl: `#prevBtn-${navId}`,\n nextEl: `#nextBtn-${navId}`,\n }}\n keyboard={{\n enabled: true,\n onlyInViewport: true,\n }}\n modules={[...[A11y, Keyboard, Navigation], ...additionalModules]}\n {...props}\n >\n {children}\n
\n );\n};\n\nexport default Carousel;\n","const enum BreakpointEnum {\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n XLarge = 'xl',\n}\n\nexport default BreakpointEnum;\n","enum ProfilePictureSizeEnum {\n Size30 = 'SIZE30',\n Size38 = 'SIZE38',\n Size41 = 'SIZE41',\n Size50 = 'SIZE50',\n Size76 = 'SIZE76',\n Size120 = 'SIZE120',\n}\n\nexport default ProfilePictureSizeEnum;\n","enum SizeEnum {\n Small = 'SMALL',\n Medium = 'MEDIUM',\n Large = 'LARGE',\n XLarge = 'XLARGE',\n}\n\nexport default SizeEnum;\n","enum TooltipPositionEnum {\n Top = 'Top',\n Bottom = 'Bottom',\n BottomLeft = 'BottomLeft',\n Custom = 'Custom',\n}\nexport default TooltipPositionEnum;\n","const updateDataLayer = (eventPayload: Record) => {\n if (typeof window !== 'undefined') {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(eventPayload);\n }\n};\n\nexport default updateDataLayer;\n","import BreakpointEnum from '@models/enums/BreakpointEnum';\nimport { useCallback, useEffect, useState } from 'react';\n\nconst getCurrentBreakpoint = () => {\n const breakpoints = { tablet: 768, desktop: 1024, lgDesktop: 1440 };\n const width = window.innerWidth;\n\n if (width < breakpoints.tablet) {\n return BreakpointEnum.Small;\n }\n if (width >= breakpoints.tablet && width < breakpoints.desktop) {\n return BreakpointEnum.Medium;\n }\n if (width >= breakpoints.desktop && width < breakpoints.lgDesktop) {\n return BreakpointEnum.Large;\n }\n return BreakpointEnum.XLarge;\n};\n\nconst useBreakpoint = () => {\n const [screen, setScreen] = useState();\n\n const resizeHandler = useCallback(\n () => setScreen(getCurrentBreakpoint()),\n []\n );\n\n useEffect(() => {\n window.addEventListener('resize', resizeHandler);\n setScreen(getCurrentBreakpoint());\n\n return () => {\n window.removeEventListener('resize', resizeHandler);\n };\n }, [resizeHandler]);\n\n return screen;\n};\n\nexport default useBreakpoint;\n","import { useCallback, useEffect, useState } from 'react';\n\nconst useMediaQuery = (minWidth: number) => {\n // Set the default value to undefined in order to properly distinguish the falsey values\n // where undefined is the value before computing whether the screen size is smaller than the minWidth\n // i.e. a state where we don't really know whether we're below the threshold or not\n // and false is the value where the computation returns false\n const [isSmallerThan, setIsSmallerThan] = useState();\n\n const handler = useCallback(() => {\n const isDesiredWidth = window.innerWidth < minWidth;\n setIsSmallerThan(isDesiredWidth);\n }, [minWidth]);\n\n useEffect(() => {\n window.addEventListener('resize', handler);\n handler();\n\n return () => {\n window.removeEventListener('resize', handler);\n };\n }, [handler]);\n\n return isSmallerThan;\n};\n\nexport default useMediaQuery;\n"],"names":["_ref","bullets","textSize","textColour","className","bulletClasses","noWrap","dataTestId","filteredBullets","filter","Boolean","length","React","createElement","classNames","map","bullet","index","key","children","disabled","editHint","link","linkCallback","secondary","secondaryBackgroundClassName","isLightMode","inverted","buttonProps","buttonClasses","url","name","href","target","onClick","_extends","classes","epiEdit","image","imageClasses","imageRef","lazyLoad","progressiveLoad","sizes","mobileSource","mobile","tabletSource","tablet","desktopSource","desktop","largeDesktopSource","largeDesktop","breakpoint","useBreakpoint","isLoaded","setIsLoaded","useState","currentSrc","BreakpointEnum","Small","Medium","Large","XLarge","type","srcSet","ref","alt","altText","draggable","loading","onLoad","src","height","width","originalUrl","backgroundColourClassName","displayCheck","displayOutline","displayOutlineColor","iconToolTip","initials","size","thumbnail","tooltipBackgroundColor","imageSizes","ProfilePictureSizeEnum","Size30","Size38","Size41","Size50","Size76","Size120","initialsSizes","check","checkOffset","Image","Icon","colorClassName","Tooltip","label","position","TooltipPositionEnum","Top","backgroundColor","arrowRadiusClassName","customArrowClassName","customContentClassName","customWrapperClassName","hasArrow","hasTooltipClass","positionClasses","Bottom","BottomLeft","Custom","isBottomVariant","isTopVariant","tooltip","author","authorName","associatedImages","meta","subTitle","specialism","ambassador","swiper","setSwiper","isTouchDevice","useIsTouchDevice","updateDataLayer","event","content_type","author_name","onMouseEnter","autoplay","start","onMouseLeave","stop","slideTo","editHints","Carousel","additionalModules","Autoplay","EffectFade","allowTouchMove","delay","effect","enabled","id","loop","onInit","s","slidesPerView","spaceBetween","speed","SwiperSlide","AuthorPanel","SizeEnum","iconTooltip","filteredSpecialisms","pictureSize","useMediaQuery","titleFontSize","ProfilePicture","Bullets","navId","analyticsEnabled","props","Swiper","onSlideChangeTransitionEnd","realIndex","link_text","previousIndex","activeIndex","a11y","navigation","prevEl","nextEl","keyboard","onlyInViewport","modules","A11y","Keyboard","Navigation","eventPayload","window","dataLayer","push","getCurrentBreakpoint","breakpoints","innerWidth","screen","setScreen","resizeHandler","useCallback","useEffect","addEventListener","removeEventListener","minWidth","isSmallerThan","setIsSmallerThan","handler","isDesiredWidth"],"sourceRoot":""}