{"version":3,"file":"610-b6020084eaf0eb326534.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/CloseButton/CloseButton.tsx","webpack://nikon-client/./components/atoms/Image/Image.tsx","webpack://nikon-client/./components/atoms/LoadingSpinner/LoadingSpinner.tsx","webpack://nikon-client/./components/atoms/Modal/Modal.tsx","webpack://nikon-client/./components/atoms/NavButton/NavButton.tsx","webpack://nikon-client/./components/atoms/Portal/Portal.tsx","webpack://nikon-client/./components/atoms/ProfilePicture/ProfilePicture.tsx","webpack://nikon-client/./utility/hooks/useVerticalGrabScroll.ts","webpack://nikon-client/./utility/hooks/useVerticalScrollShadows.ts","webpack://nikon-client/./components/atoms/ShadowContainerVertical/ShadowContainerVertical.tsx","webpack://nikon-client/./components/atoms/Tooltip/Tooltip.tsx","webpack://nikon-client/./components/molecules/Carousel/Carousel.tsx","webpack://nikon-client/./components/molecules/MultipleAuthors/MultipleAuthors.tsx","webpack://nikon-client/./models/enums/BreakpointEnum.ts","webpack://nikon-client/./models/enums/BrowserEnums.ts","webpack://nikon-client/./models/enums/ErrorBannerNotificationEnum.ts","webpack://nikon-client/./models/enums/HorizontalDirectionEnum.ts","webpack://nikon-client/./models/enums/IconSizeEnum.ts","webpack://nikon-client/./models/enums/ProfilePictureSizeEnum.ts","webpack://nikon-client/./models/enums/ScrollProgressEnum.ts","webpack://nikon-client/./models/enums/SizeEnum.ts","webpack://nikon-client/./models/enums/TooltipPositionEnum.ts","webpack://nikon-client/./state-management/AriaLabelsStore.ts","webpack://nikon-client/./state-management/ErrorBannerNotificationDisplayStore.ts","webpack://nikon-client/./utility/helpers/bodyScrollLock.ts","webpack://nikon-client/./utility/helpers/gtm.ts","webpack://nikon-client/./utility/hooks/useAriaLabels.ts","webpack://nikon-client/./utility/hooks/useBreakpoint.ts","webpack://nikon-client/./utility/hooks/useMediaQuery.ts","webpack://nikon-client/./utility/hooks/useResizeObserver.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 IconSizeEnum from '@models/enums/IconSizeEnum';\nimport useAriaLabels from '@utils/hooks/useAriaLabels';\nimport classNames from 'classnames';\nimport { MouseEventHandler } from 'react';\n\ninterface Props {\n readonly ariaLabel?: string;\n readonly className?: string;\n readonly color?: 'black' | 'white' | 'red';\n readonly onClick: MouseEventHandler;\n readonly size?: IconSizeEnum | string;\n readonly dataTestId?: string;\n}\n\nconst CloseButton = ({\n ariaLabel,\n className,\n color = 'black',\n onClick,\n size = IconSizeEnum.lg,\n dataTestId,\n}: Props) => {\n const { closeModalAriaLabel } = useAriaLabels();\n\n const closeColours = {\n black: 'before:bg-black-100 after:bg-black-100',\n white: 'before:bg-white after:bg-white',\n red: 'before:bg-red-100 after:bg-red-100',\n };\n\n return (\n \n );\n};\n\nexport default CloseButton;\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 classNames from 'classnames';\n\ninterface Props {\n readonly extraClasses?: string;\n readonly svgClasses?: string;\n readonly trackColor?: string;\n readonly animationStyle?: 'pulse' | 'spin';\n readonly pulseContainerClasses?: string;\n readonly pulseItemClasses?: string;\n}\n\nconst LoadingSpinner = ({\n extraClasses,\n svgClasses = 'text-yellow h-9 w-9',\n pulseContainerClasses,\n pulseItemClasses = 'bg-yellow h-7.5 w-7.5',\n trackColor = '#E5E7EB',\n animationStyle = 'pulse',\n}: Props) => (\n
\n {animationStyle === 'pulse' && (\n
\n \n \n \n
\n )}\n {animationStyle === 'spin' && (\n \n \n \n \n )}\n
\n);\n\nexport default LoadingSpinner;\n","import CloseButton from '@atoms/CloseButton/CloseButton';\nimport Portal from '@atoms/Portal/Portal';\nimport IconSizeEnum from '@models/enums/IconSizeEnum';\nimport bodyScrollLock from '@utils/helpers/bodyScrollLock';\nimport classNames from 'classnames';\nimport FocusTrap from 'focus-trap-react';\nimport { motion } from 'framer-motion';\nimport { PropsWithChildren, useCallback, useEffect, useRef } from 'react';\n\ninterface Props {\n readonly onCloseCallback?: () => void;\n readonly contentClasses?: string;\n readonly crossMarginsClassName?: string;\n readonly crossClasses?: string;\n readonly crossColor?: 'black' | 'white';\n readonly isOpen: boolean;\n readonly modalClasses?: string;\n readonly setIsOpen?: (param: boolean) => void;\n readonly showCloseButton?: boolean;\n readonly transparent?: boolean;\n readonly isCloseButtonFixed?: boolean;\n readonly closeButtonIconSize?: IconSizeEnum | string;\n readonly shouldCloseOnClickOutsideContent?: boolean;\n readonly shouldLockBody?: boolean;\n}\n\nconst Modal = ({\n onCloseCallback,\n children,\n contentClasses,\n crossColor = 'white',\n crossMarginsClassName = 'mr-8 mt-8',\n crossClasses,\n isOpen,\n modalClasses,\n setIsOpen,\n showCloseButton = true,\n transparent = false,\n isCloseButtonFixed = true,\n closeButtonIconSize = IconSizeEnum.md,\n shouldCloseOnClickOutsideContent = false,\n shouldLockBody = true,\n}: PropsWithChildren) => {\n const contentRef = useRef(null);\n\n useEffect(() => {\n if (isOpen && shouldLockBody) {\n bodyScrollLock(true);\n }\n\n return () => {\n if (shouldLockBody) bodyScrollLock(false);\n };\n }, [isOpen, shouldLockBody]);\n\n const close = useCallback(() => {\n setIsOpen?.(false);\n onCloseCallback?.();\n }, [onCloseCallback, setIsOpen]);\n\n useEffect(() => {\n const keyboardClose = (ev: KeyboardEvent) => {\n if (ev.key === 'Escape' && isOpen === true) {\n setIsOpen?.(false);\n }\n };\n window.addEventListener('keydown', keyboardClose);\n\n return () => {\n window.removeEventListener('keydown', keyboardClose);\n };\n }, [isOpen, setIsOpen]);\n\n useEffect(() => {\n const handleClickOutsideContent = (ev: Event) => {\n if (\n isOpen &&\n shouldCloseOnClickOutsideContent &&\n !contentRef.current?.contains(ev.target as HTMLElement)\n ) {\n close();\n }\n };\n\n window.addEventListener('click', handleClickOutsideContent, true);\n\n return () => {\n window.removeEventListener('click', handleClickOutsideContent, true);\n };\n }, [close, isOpen, shouldCloseOnClickOutsideContent]);\n\n if (!isOpen) {\n return null;\n }\n\n return (\n \n \n \n \n
\n \n \n {showCloseButton && (\n <>\n {/* A hidden button that steals the inital focus of the modal preventing the close icon from animating on modal open */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n
\n \n \n \n \n \n
\n );\n};\n\nexport default Modal;\n","import Icon from '@atoms/Icon/Icon';\nimport HorizontalDirectionEnum from '@models/enums/HorizontalDirectionEnum';\nimport updateDataLayer from '@utils/helpers/gtm';\nimport useAriaLabels from '@utils/hooks/useAriaLabels';\nimport classNames from 'classnames';\nimport { forwardRef, KeyboardEvent, useImperativeHandle, useRef } from 'react';\n\ninterface Props {\n readonly direction:\n | HorizontalDirectionEnum.Left\n | HorizontalDirectionEnum.Right;\n readonly id?: string;\n readonly disabled?: boolean;\n readonly hasBackgroundColor?: boolean;\n readonly sizeClassName?: string;\n readonly iconSize?: string;\n readonly enabledArrowColor?: string;\n readonly onClick?: (e?: KeyboardEvent) => void;\n readonly additionalDataLayerProperties?: Record;\n readonly isLightMode?: boolean;\n}\n\nexport interface NavButtonRef {\n focus: () => void;\n disabled: boolean;\n}\n\nconst NavButton = forwardRef(\n (\n {\n additionalDataLayerProperties,\n direction,\n id,\n disabled = false,\n hasBackgroundColor = true,\n sizeClassName = 'h-10 w-10',\n iconSize,\n enabledArrowColor = 'text-black-100',\n isLightMode,\n onClick,\n },\n ref\n ) => {\n const { nextAriaLabel, previousAriaLabel } = useAriaLabels();\n const buttonRef = useRef(null);\n\n useImperativeHandle(ref, () => ({\n focus: () => buttonRef.current?.focus(),\n disabled: !!buttonRef.current?.disabled,\n }));\n\n return (\n {\n if (e.key === 'Enter') onClick?.(e);\n }}\n onClick={() => {\n onClick?.();\n updateDataLayer({\n event: 'carousel',\n content_type: 'tab_change',\n link_text:\n direction === HorizontalDirectionEnum.Left ? 'Previous' : 'Next',\n ...additionalDataLayerProperties,\n });\n }}\n >\n \n \n );\n }\n);\n\nexport default NavButton;\n","import { PropsWithChildren, useEffect, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\n\ninterface Props {\n readonly mountId: string;\n}\n\nconst Portal = ({ mountId, children }: PropsWithChildren) => {\n const containerElement = useMemo(() => document.createElement('div'), []);\n\n useEffect(() => {\n document.getElementById(mountId)?.appendChild(containerElement);\n\n return () => {\n document.getElementById(mountId)?.removeChild(containerElement);\n };\n }, [mountId, containerElement]);\n\n return createPortal(children, containerElement);\n};\n\nexport default Portal;\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 { RefObject, useEffect, useRef, useState } from 'react';\n\nconst useVerticalGrabScroll = (\n containerRef: RefObject,\n containerHeight: number,\n contentHeight: number,\n disabled = false\n) => {\n const [isMouseDown, setIsMouseDown] = useState(false);\n const mouseScrollPosition = useRef<{ top: number; y: number }>({\n top: 0,\n y: 0,\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container?.clientWidth) return;\n\n if (containerHeight >= contentHeight || disabled) {\n container.style.cursor = 'inherit';\n return;\n }\n\n if (isMouseDown) {\n container.style.cursor = 'grabbing';\n return;\n }\n\n container.style.cursor = 'grab';\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [containerHeight, contentHeight, isMouseDown, disabled]);\n\n useEffect(() => {\n mouseScrollPosition.current = { top: 0, y: 0 };\n const container = containerRef.current;\n\n if (!container) return () => ({});\n if (disabled) {\n container.scrollTop = 0;\n\n return () => ({});\n }\n\n const mouseMoveHandler = (e: MouseEvent) => {\n const dy = e.clientY - mouseScrollPosition.current.y;\n\n container.scrollTop = mouseScrollPosition.current.top - dy;\n };\n\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n setIsMouseDown(false);\n };\n\n const mouseDownHandler = (e: MouseEvent) => {\n mouseScrollPosition.current = {\n top: container.scrollTop,\n y: e.clientY,\n };\n setIsMouseDown(true);\n\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n\n container.addEventListener('mousedown', mouseDownHandler);\n\n return () => {\n container.removeEventListener('mousedown', mouseDownHandler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [disabled]);\n};\n\nexport default useVerticalGrabScroll;\n","import ScrollProgressEnum from '@models/enums/ScrollProgressEnum';\nimport { useMotionValueEvent, useScroll } from 'framer-motion';\nimport { RefObject, useEffect, useState } from 'react';\n\nconst useVerticalScrollShadows = (\n containerRef: RefObject,\n containerHeight: number,\n contentHeight: number,\n disabled = false\n) => {\n const { scrollYProgress } = useScroll({\n container: containerRef,\n });\n const [isStart, setIsStart] = useState(true);\n const [isEnd, setIsEnd] = useState(false);\n const [scrollProgress, setScrollProgress] = useState(\n ScrollProgressEnum.Start\n );\n const threshold = 0.05;\n\n useMotionValueEvent(scrollYProgress, 'change', (value: number) => {\n if (value < threshold) {\n setScrollProgress(ScrollProgressEnum.Start);\n }\n\n if (value >= threshold && value <= 1 - threshold) {\n setScrollProgress(ScrollProgressEnum.Middle);\n }\n\n if (value > 1 - threshold) {\n setScrollProgress(ScrollProgressEnum.End);\n }\n });\n\n useEffect(() => {\n if (!containerHeight || disabled) return;\n\n if (containerHeight >= contentHeight) {\n setIsStart(true);\n setIsEnd(true);\n\n return;\n }\n\n if (scrollProgress === ScrollProgressEnum.Start) {\n setIsStart(true);\n setIsEnd(false);\n }\n\n if (scrollProgress === ScrollProgressEnum.Middle) {\n setIsStart(false);\n setIsEnd(false);\n }\n\n if (scrollProgress === ScrollProgressEnum.End) {\n setIsEnd(true);\n }\n }, [disabled, scrollProgress, containerHeight, contentHeight]);\n\n return { isStart, isEnd };\n};\n\nexport default useVerticalScrollShadows;\n","import useResizeObserver from '@utils/hooks/useResizeObserver';\nimport useVerticalGrabScroll from '@utils/hooks/useVerticalGrabScroll';\nimport useVerticalScrollShadows from '@utils/hooks/useVerticalScrollShadows';\nimport classNames from 'classnames';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport {\n PropsWithChildren,\n forwardRef,\n useImperativeHandle,\n useRef,\n} from 'react';\n\nexport interface IShadowContainerVerticalRef {\n readonly scrollTo: (offset: number, behavior?: ScrollBehavior) => void;\n}\n\ninterface Props {\n readonly className?: string;\n readonly customScrollbarTheme?: 'light' | 'dark';\n readonly hideScrollbar?: boolean;\n readonly shadowColour?: string;\n readonly disableScroll?: boolean;\n readonly shadowHeight?: string;\n}\n\nconst ShadowContainerVertical = forwardRef<\n IShadowContainerVerticalRef,\n PropsWithChildren\n>(\n (\n {\n children,\n className,\n customScrollbarTheme,\n disableScroll = false,\n shadowColour = 'from-white dark:from-black-100',\n hideScrollbar = true,\n shadowHeight = 'h-10',\n },\n ref\n ) => {\n const containerRef = useRef(null);\n const [containerRefCallback, { height: containerHeight }] =\n useResizeObserver();\n const [contentRefCallback, { height: contentHeight }] = useResizeObserver();\n const { isStart, isEnd } = useVerticalScrollShadows(\n containerRef,\n containerHeight,\n contentHeight,\n disableScroll\n );\n useVerticalGrabScroll(\n containerRef,\n containerHeight,\n contentHeight,\n disableScroll\n );\n\n useImperativeHandle(ref, () => ({\n scrollTo: (topOffset: number, behavior: ScrollBehavior = 'smooth') => {\n containerRef.current?.scrollTo({ top: topOffset, behavior });\n },\n }));\n\n return (\n
\n \n {!isStart && !disableScroll && (\n \n )}\n \n\n {\n containerRef.current = node;\n containerRefCallback(node);\n }}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n className={classNames(\n {\n 'scrollbar-hide': hideScrollbar,\n 'overflow-y-hidden': disableScroll,\n 'overflow-y-auto': !disableScroll,\n 'custom-scrollbar': !disableScroll && customScrollbarTheme,\n 'custom-scrollbar--light': customScrollbarTheme === 'light',\n 'custom-scrollbar--dark': customScrollbarTheme === 'dark',\n },\n 'relative h-full select-none'\n )}\n >\n
{children}
\n
\n\n \n {!isEnd && !disableScroll && (\n \n )}\n \n \n );\n }\n);\n\nexport default ShadowContainerVertical;\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 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","import ProfilePicture from '@atoms/ProfilePicture/ProfilePicture';\nimport ProfilePictureSizeEnum from '@models/enums/ProfilePictureSizeEnum';\nimport { IImage } from '@models/IImage';\nimport { ISimpleLink } from '@models/ISimpleLink';\nimport classNames from 'classnames';\nimport { PropsWithChildren } from 'react';\n\ninterface IAuthor {\n readonly name: string;\n readonly initials: string;\n readonly role?: string;\n readonly image?: IImage;\n readonly ambassador?: boolean;\n readonly link?: ISimpleLink;\n}\n\ninterface Props {\n readonly authors: IAuthor[];\n readonly profilePictureSize?: ProfilePictureSizeEnum;\n readonly defaultPictureOutlineColor?: string;\n readonly pictureBackgroundColor?: string;\n readonly showProfilePhotos?: boolean;\n readonly dataTestId?: string;\n}\n\nconst MultipleAuthors = ({\n authors,\n profilePictureSize = ProfilePictureSizeEnum.Size38,\n defaultPictureOutlineColor = 'border-grey-600',\n pictureBackgroundColor = 'bg-black-100',\n showProfilePhotos = true,\n dataTestId = 'Multiple-Authors',\n children,\n}: PropsWithChildren) => (\n
\n {showProfilePhotos && (\n
\n {authors.map(\n ({ image, name, role, initials, ambassador, link }, index) => {\n const profilePicture = (\n \n );\n const className = classNames({ '-ml-5': index > 0 });\n const key = `${name}${role ? `-${role}` : ''}`;\n\n return link ? (\n \n {profilePicture}\n \n ) : (\n
\n {profilePicture}\n
\n );\n }\n )}\n
\n )}\n\n {children}\n
\n);\n\nexport default MultipleAuthors;\n","const enum BreakpointEnum {\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n XLarge = 'xl',\n}\n\nexport default BreakpointEnum;\n","const enum BrowserTypes {\n MOBILE_SAFARI = 'Mobile Safari',\n SAFARI = 'Safari',\n FIREFOX = 'Firefox',\n}\n\nexport default BrowserTypes;\n","enum ErrorBannerNotificationEnum {\n AccountDeleteAddress = 'accountDeleteAddress',\n AccountDefaultAddressUpdate = 'defaultAddressUpdate',\n AccountDeleteContactSubmit = 'deleteContactSubmit',\n AccountGetOrderDetails = 'accountGetOrderDetails',\n ShippingPickUpLocations = 'shippingPickUpLocations',\n LightboxOuterImages = 'lightboxOuterImages',\n MiniBasketDetails = 'miniBasketDetails',\n OrderSummaryRemoveVoucher = 'orderSummaryRemoveVoucher',\n ProductDetailsNotifyMe = 'productDetailsNotifyMe',\n CartRemoveItem = 'cartRemoveItem',\n NewsletterSignupBanner = 'newsletterSignupBanner',\n NewsletterSignupPopup = 'newsletterSignupPopup',\n OnlineRetailersData = 'onlineRetailersData',\n SearchResults = 'searchResults',\n}\n\nexport default ErrorBannerNotificationEnum;\n","enum HorizontalDirectionEnum {\n Left = 'LEFT',\n Right = 'RIGHT',\n}\n\nexport default HorizontalDirectionEnum;\n","const enum IconSizeEnum {\n xs = '.5rem',\n sm = '.75rem',\n md = '1rem',\n lg = '1.5rem',\n xl = '1.75rem',\n}\n\nexport default IconSizeEnum;\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 ScrollProgressEnum {\n Start = 'Start',\n Middle = 'Middle',\n End = 'End',\n}\n\nexport default ScrollProgressEnum;\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","import { IAriaLabels } from '@models/IAriaLabels';\nimport create from 'zustand';\n\ninterface IAriaLabelsState {\n ariaLabels: IAriaLabels;\n setAriaLabels: (ariaLabels: IAriaLabels) => void;\n}\n\nexport const initialAriaLabels: IAriaLabels = {\n backToFirstLevelNavigationAriaLabel: 'Back to first level of navigation',\n breadcrumbAriaLabel: 'Breadcrumb navigation',\n breadcrumbFooterAriaLabel: 'Breadcrumb footer navigation',\n clearFiltersAriaLabel: 'Clear filters',\n closeMenuAriaLabel: 'Close menu',\n closeAddressListAriaLabel: 'Close address list',\n closeMobileNavigationAriaLabel: 'Close navigation',\n closeModalAriaLabel: 'Close Modal',\n closeSignUpFormAriaLabel: 'Close signup form',\n closeSiteNotificationAriaLabel: 'Close site notification',\n copyToClipboardAriaLabel: 'Copy to clipboard',\n editOrDeleteAriaLabel: 'Edit or delete',\n mainNavigationAriaLabel: 'Main navigation',\n moreInformationAriaLabel: 'More information',\n nextAriaLabel: 'Go to next slide',\n openAddressListAriaLabel: 'Open address list',\n openImageInFullScreenAriaLabel: 'Open image in full screen',\n openMenuAriaLabel: 'Open menu',\n overlayToCloseDesktopNavigationAriaLabel: 'Close overlay',\n pauseVideoAriaLabel: 'Pause video',\n playVideoAriaLabel: 'Play video',\n previousAriaLabel: 'Go to previous slide',\n searchAriaLabel: 'Search',\n shareToFacebookAriaLabel: 'Share to Facebook',\n shareToWhatsappAriaLabel: 'Share to Whatsapp',\n shareToXAriaLabel: 'Share to X',\n siteNotificationsAriaLabel: 'Site notifications banner',\n uspStripAriaLabel: 'Unique Selling Point Strip',\n zoomInAriaLabel: 'Zoom in',\n zoomOutAriaLabel: 'Zoom out',\n};\n\nconst useAriaLabelsStore = create((set) => ({\n ariaLabels: initialAriaLabels,\n setAriaLabels: (ariaLabels: IAriaLabels) => set({ ariaLabels }),\n}));\n\nexport default useAriaLabelsStore;\n","import ErrorBannerNotificationEnum from '@models/enums/ErrorBannerNotificationEnum';\nimport create from 'zustand';\n\ninterface IErrorBannerNotificationState {\n readonly errorBannerNotification: ErrorBannerNotificationEnum | null;\n readonly setErrorBannerNotification: (\n errorNotificationDisplay: ErrorBannerNotificationEnum | null\n ) => void;\n}\n\nconst useErrorNotificationStore = create(\n (set) => ({\n errorBannerNotification: null,\n setErrorBannerNotification: (\n errorBannerNotification: ErrorBannerNotificationEnum | null\n ) => set({ errorBannerNotification }),\n })\n);\n\nexport default useErrorNotificationStore;\n","const bodyScrollLock = (isScrollLocked: boolean) => {\n const documentElementScroll =\n document.documentElement.style.getPropertyValue('--scroll-y');\n const cacheLocator = documentElementScroll || `${window.scrollY}px`;\n\n if (!documentElementScroll) {\n window.addEventListener('scroll', () => {\n document.documentElement.style.setProperty(\n '--scroll-y',\n `${window.scrollY}px`\n );\n });\n }\n\n if (isScrollLocked) {\n const scrollY = cacheLocator;\n const { body } = document;\n body.style.position = 'fixed';\n body.style.top = `-${scrollY}`;\n } else {\n const { body } = document;\n body.style.position = '';\n const scrollY = body.style.top || cacheLocator;\n body.style.top = '';\n window.scrollTo(0, Math.abs(parseInt(scrollY || '0', 10)));\n }\n};\n\nexport default bodyScrollLock;\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 { IAriaLabels } from '@models/IAriaLabels';\nimport useAriaLabelsStore, { initialAriaLabels } from '@state/AriaLabelsStore';\nimport { useEffect, useState } from 'react';\n\nconst useAriaLabels = () => {\n const [ariaLabels, setAriaLabels] = useState(initialAriaLabels);\n const ariaLabelsFromStore = useAriaLabelsStore((state) => state.ariaLabels);\n\n useEffect(() => {\n setAriaLabels(ariaLabelsFromStore);\n }, [ariaLabelsFromStore]);\n\n return ariaLabels;\n};\n\nexport default useAriaLabels;\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","import { useCallback, useRef, useState } from 'react';\n\nconst useResizeObserver = () => {\n const observerRef = useRef();\n const [resizeParameters, setResizeParameters] = useState({\n width: 0,\n height: 0,\n clientWidth: 0,\n clientHeight: 0,\n scrollWidth: 0,\n scrollHeight: 0,\n });\n\n const handleResize = useCallback((entries: ResizeObserverEntry[]) => {\n if (!Array.isArray(entries)) return;\n\n const entry = entries[0];\n\n setResizeParameters({\n width: entry?.contentRect.width ?? 0,\n height: entry?.contentRect.height ?? 0,\n clientWidth: entry?.target.clientWidth ?? 0,\n clientHeight: entry?.target.clientHeight ?? 0,\n scrollWidth: entry?.target.scrollWidth ?? 0,\n scrollHeight: entry?.target.scrollHeight ?? 0,\n });\n }, []);\n\n const ref = useCallback(\n (node: HTMLElement | null) => {\n if (observerRef.current && !node) {\n observerRef.current.disconnect();\n observerRef.current = undefined;\n }\n\n if (!observerRef.current && node) {\n observerRef.current = new ResizeObserver(handleResize);\n observerRef.current.observe(node);\n }\n },\n [handleResize]\n );\n\n return [ref, resizeParameters] as const;\n};\n\nexport default useResizeObserver;\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","ariaLabel","color","size","IconSizeEnum","lg","closeModalAriaLabel","useAriaLabels","type","black","white","red","style","width","height","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","srcSet","ref","alt","altText","draggable","loading","onLoad","src","originalUrl","extraClasses","svgClasses","pulseContainerClasses","pulseItemClasses","trackColor","animationStyle","role","viewBox","fill","xmlns","d","onCloseCallback","contentClasses","crossColor","crossMarginsClassName","crossClasses","isOpen","modalClasses","setIsOpen","showCloseButton","transparent","isCloseButtonFixed","closeButtonIconSize","md","shouldCloseOnClickOutsideContent","shouldLockBody","contentRef","useRef","useEffect","bodyScrollLock","close","useCallback","keyboardClose","ev","window","addEventListener","removeEventListener","handleClickOutsideContent","current","contains","Portal","mountId","FocusTrap","focusTrapOptions","preventScroll","escapeDeactivates","motion","div","animate","opacity","exit","initial","transition","duration","ease","Fragment","CloseButton","forwardRef","additionalDataLayerProperties","direction","id","hasBackgroundColor","sizeClassName","iconSize","enabledArrowColor","nextAriaLabel","previousAriaLabel","buttonRef","useImperativeHandle","focus","HorizontalDirectionEnum","Left","Right","tabIndex","onKeyDown","e","updateDataLayer","event","content_type","link_text","Icon","colorClassName","containerElement","useMemo","document","getElementById","appendChild","removeChild","createPortal","backgroundColourClassName","displayCheck","displayOutline","displayOutlineColor","iconToolTip","initials","thumbnail","tooltipBackgroundColor","imageSizes","ProfilePictureSizeEnum","Size30","Size38","Size41","Size50","Size76","Size120","initialsSizes","check","checkOffset","Image","Tooltip","label","position","TooltipPositionEnum","Top","backgroundColor","containerRef","containerHeight","contentHeight","arguments","undefined","isMouseDown","setIsMouseDown","mouseScrollPosition","top","y","container","clientWidth","cursor","scrollTop","mouseMoveHandler","dy","clientY","mouseUpHandler","mouseDownHandler","scrollYProgress","useScroll","isStart","setIsStart","isEnd","setIsEnd","scrollProgress","setScrollProgress","ScrollProgressEnum","Start","threshold","useMotionValueEvent","value","Middle","End","customScrollbarTheme","disableScroll","shadowColour","hideScrollbar","shadowHeight","containerRefCallback","useResizeObserver","contentRefCallback","useVerticalScrollShadows","useVerticalGrabScroll","scrollTo","topOffset","behavior","AnimatePresence","span","node","arrowRadiusClassName","customArrowClassName","customContentClassName","customWrapperClassName","hasArrow","hasTooltipClass","positionClasses","Bottom","BottomLeft","Custom","isBottomVariant","isTopVariant","tooltip","additionalModules","navId","analyticsEnabled","props","Swiper","onSlideChangeTransitionEnd","swiper","realIndex","previousIndex","activeIndex","a11y","enabled","navigation","prevEl","nextEl","keyboard","onlyInViewport","modules","A11y","Keyboard","Navigation","authors","profilePictureSize","defaultPictureOutlineColor","pictureBackgroundColor","showProfilePhotos","_ref2","ambassador","profilePicture","ProfilePicture","BrowserTypes","ErrorBannerNotificationEnum","SizeEnum","initialAriaLabels","backToFirstLevelNavigationAriaLabel","breadcrumbAriaLabel","breadcrumbFooterAriaLabel","clearFiltersAriaLabel","closeMenuAriaLabel","closeAddressListAriaLabel","closeMobileNavigationAriaLabel","closeSignUpFormAriaLabel","closeSiteNotificationAriaLabel","copyToClipboardAriaLabel","editOrDeleteAriaLabel","mainNavigationAriaLabel","moreInformationAriaLabel","openAddressListAriaLabel","openImageInFullScreenAriaLabel","openMenuAriaLabel","overlayToCloseDesktopNavigationAriaLabel","pauseVideoAriaLabel","playVideoAriaLabel","searchAriaLabel","shareToFacebookAriaLabel","shareToWhatsappAriaLabel","shareToXAriaLabel","siteNotificationsAriaLabel","uspStripAriaLabel","zoomInAriaLabel","zoomOutAriaLabel","create","set","ariaLabels","setAriaLabels","errorBannerNotification","setErrorBannerNotification","isScrollLocked","documentElementScroll","documentElement","getPropertyValue","cacheLocator","scrollY","setProperty","body","Math","abs","parseInt","eventPayload","dataLayer","push","ariaLabelsFromStore","useAriaLabelsStore","state","getCurrentBreakpoint","breakpoints","innerWidth","screen","setScreen","resizeHandler","minWidth","isSmallerThan","setIsSmallerThan","handler","isDesiredWidth","observerRef","resizeParameters","setResizeParameters","clientHeight","scrollWidth","scrollHeight","handleResize","entries","Array","isArray","entry","contentRect","disconnect","ResizeObserver","observe"],"sourceRoot":""}