{"version":3,"file":"1-aab468b4ff7d5ba7a9d9.js","mappings":"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","sources":["webpack://nikon-client/./components/molecules/AuthorPanel/AuthorPanel.tsx","webpack://nikon-client/./models/enums/ImageLightBoxTypeEnum.ts","webpack://nikon-client/./components/molecules/LightBoxInner/LightBoxInner.tsx","webpack://nikon-client/./services/getLightBoxImages.ts","webpack://nikon-client/./components/molecules/LightBoxOuter/LightBoxOuter.tsx","webpack://nikon-client/./components/molecules/ImageLightBox/ImageLightBox.tsx"],"sourcesContent":["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    <div\n      className={classNames(\n        textSize === SizeEnum.Small ? 'gap-5' : 'gap-5 md:gap-10',\n        textSize === SizeEnum.XLarge ? 'flex-col' : 'flex-row items-center',\n        'flex sm:rounded-lg'\n      )}\n      data-testid=\"Author-Panel\"\n    >\n      {(thumbnail || initials) && (\n        <ProfilePicture\n          backgroundColourClassName={backgroundColourClassName}\n          displayCheck={ambassador}\n          displayOutline={ambassador}\n          iconToolTip={iconTooltip}\n          initials={initials}\n          size={size || pictureSize}\n          thumbnail={thumbnail}\n        />\n      )}\n\n      <div className=\"flex flex-col\">\n        {authorName && (\n          <div className=\"flex items-center\">\n            <p\n              className={classNames(\n                textSize && titleFontSize[textSize],\n                ambassador ? 'dark:text-yellow' : 'dark:text-white',\n                'text-black-100'\n              )}\n              data-testid=\"Author-Panel-Author-Name\"\n            >\n              {authorName}\n            </p>\n\n            {ambassador && !(thumbnail || initials) && (\n              <div className=\"tooltip-parent relative ml-3 flex justify-center\">\n                <Icon\n                  name=\"check\"\n                  colorClassName=\"text-black-100 bg-yellow rounded-full p-[1px]\"\n                  size=\"1.25rem\"\n                />\n                {iconTooltip && (\n                  <Tooltip\n                    label={iconTooltip}\n                    position={TooltipPositionEnum.Top}\n                  />\n                )}\n              </div>\n            )}\n          </div>\n        )}\n\n        <Bullets\n          bullets={filteredSpecialisms}\n          textSize={classNames(\n            textSize === SizeEnum.XLarge ? 'body-one' : 'body-two'\n          )}\n          dataTestId=\"Author-Panel-Bullets\"\n        />\n      </div>\n    </div>\n  );\n};\n\nexport default AuthorPanel;\n","enum ImageLightBoxTypeEnum {\n  none = 'none',\n  author = 'author',\n  metadata = 'metadata',\n}\n\nexport default ImageLightBoxTypeEnum;\n","import Button from '@atoms/Button/Button';\nimport Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport ShadowContainerVertical from '@atoms/ShadowContainerVertical/ShadowContainerVertical';\nimport BrowserTypes from '@models/enums/BrowserEnums';\nimport IconSizeEnum from '@models/enums/IconSizeEnum';\nimport ProfilePictureSizeEnum from '@models/enums/ProfilePictureSizeEnum';\nimport SizeEnum from '@models/enums/SizeEnum';\nimport { ILightBoxImage } from '@models/ILightBoxImage';\nimport AuthorPanel from '@molecules/AuthorPanel/AuthorPanel';\nimport useAriaLabels from '@utils/hooks/useAriaLabels';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport classNames from 'classnames';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { Dispatch, SetStateAction, useState } from 'react';\nimport { browserName, isIOS } from 'react-device-detect';\n\ninterface Props extends ILightBoxImage {\n  readonly isEnlargedImage: boolean;\n  readonly setIsEnlargedImage: Dispatch<SetStateAction<boolean>>;\n}\n\nconst LightBoxInner = ({\n  ambassadorAuthor,\n  cameraModel,\n  cameraProductDetailPage,\n  description,\n  fNumber,\n  image,\n  isEnlargedImage,\n  isoSensitivity,\n  lensModel,\n  lensProductDetailPage,\n  s35mmEquivalent,\n  setIsEnlargedImage,\n  showLessLabel,\n  showMoreLabel,\n  shutterSpeed,\n}: Props) => {\n  const mobileCutOff = 40;\n  const desktopCutOff = 48;\n  const maxDescriptionCharCount = 178;\n  const largeDescription =\n    !!description && description.length >= maxDescriptionCharCount;\n  const isPortraitImage = image?.desktop?.width < image?.desktop?.height;\n\n  const isMobile = useMediaQuery(1024);\n  const [isMobileDescriptionExpanded, setIsMobileDescriptionExpanded] =\n    useState(false);\n  const [isDesktopDescriptionExpanded, setIsDesktopDescriptionExpanded] =\n    useState(false);\n  const [desktopDescriptionContentHeight, setDesktopDescriptionContentHeight] =\n    useState(0);\n  const [mobileDescriptionContentHeight, setMobileDescriptionContentHeight] =\n    useState(0);\n\n  const { openImageInFullScreenAriaLabel } = useAriaLabels();\n\n  const isMobileExpandButtonDisplayed =\n    isMobileDescriptionExpanded ||\n    mobileDescriptionContentHeight > mobileCutOff;\n  const isDesktopExpandButtonDisplayed =\n    isDesktopDescriptionExpanded ||\n    desktopDescriptionContentHeight > desktopCutOff;\n  const imageData = [shutterSpeed, s35mmEquivalent, fNumber, isoSensitivity];\n\n  const getDescriptionVariants = (cutOffHeight: number) => ({\n    animate: { height: 'auto' },\n    initial: { height: `${cutOffHeight}px` },\n    transition: { type: 'spring' },\n  });\n\n  const getLargeScreenHeightClass = () => {\n    if (isIOS)\n      return browserName === BrowserTypes.MOBILE_SAFARI\n        ? 'lg:h-[95vh]'\n        : 'lg:h-[90vh]';\n    return 'lg:h-screen';\n  };\n\n  return (\n    <div className=\"flex items-center justify-center\">\n      <div\n        className={classNames(\n          'relative flex w-screen flex-col justify-between px-5 pb-8 pt-20 lg:justify-center lg:px-28',\n          getLargeScreenHeightClass(),\n          isPortraitImage || isIOS ? 'lg:py-36' : 'lg:py-44'\n        )}\n      >\n        <AnimatePresence>\n          {ambassadorAuthor?.authorName && (\n            <motion.div\n              animate={{ opacity: isEnlargedImage ? 0 : 1 }}\n              className={classNames(\n                'flex flex-row items-center justify-between pb-7.5 lg:container lg:absolute lg:inset-x-0 lg:mx-auto lg:w-full lg:pb-0',\n                isPortraitImage || isIOS ? 'lg:top-10' : 'lg:top-20'\n              )}\n              initial={{ opacity: 0 }}\n            >\n              <div className=\"dark flex flex-row items-start\">\n                {ambassadorAuthor?.link?.url ? (\n                  <a\n                    href={ambassadorAuthor.link.url}\n                    target={ambassadorAuthor.link.target}\n                  >\n                    <AuthorPanel\n                      size={ProfilePictureSizeEnum.Size50}\n                      textSize={SizeEnum.Small}\n                      {...ambassadorAuthor}\n                    />\n                  </a>\n                ) : (\n                  <AuthorPanel\n                    size={ProfilePictureSizeEnum.Size50}\n                    textSize={SizeEnum.Small}\n                    {...ambassadorAuthor}\n                  />\n                )}\n              </div>\n\n              <div className=\"hidden lg:flex\">\n                {cameraModel && cameraProductDetailPage && (\n                  <Button\n                    className=\"mt-1\"\n                    link={{ url: cameraProductDetailPage, name: cameraModel }}\n                    dataTestId=\"CT-09-Image-LightBox-Inner-Camera-Model-Button\"\n                  />\n                )}\n\n                {lensModel && lensProductDetailPage && (\n                  <Button\n                    link={{ url: lensProductDetailPage, name: lensModel }}\n                    className=\"ml-6 mt-1\"\n                    dataTestId=\"CT-09-Image-LightBox-Inner-Lens-Model-Button\"\n                  />\n                )}\n              </div>\n            </motion.div>\n          )}\n        </AnimatePresence>\n\n        {image && (\n          <motion.div\n            animate={{\n              opacity: 1,\n              scale: isEnlargedImage && !isMobile ? 1.35 : 1,\n              ...(browserName === BrowserTypes.FIREFOX\n                ? { height: '100%' }\n                : {}),\n            }}\n            className={classNames(\n              'h-full lg:flex lg:max-h-full lg:justify-center',\n              isPortraitImage ? 'lg:h-full' : 'lg:h-auto'\n            )}\n            initial={{\n              opacity: 0,\n              scale: 1,\n            }}\n            transition={{\n              damping: 20,\n              duration: 0.4,\n              mass: 1,\n              stiffness: 90,\n              type: 'spring',\n            }}\n          >\n            <Image\n              image={image}\n              imageClasses=\"lg:h-full w-full lg:w-auto\"\n              classes=\"flex justify-center relative lg:block lg:h-full\"\n              dataTestId=\"CT-09-Image-LightBox-Inner-Image\"\n            >\n              <button\n                className={classNames(\n                  'absolute right-4 top-4 z-30 flex h-[30px] w-[30px] items-center justify-center rounded-full bg-black-100 bg-opacity-70 hover:bg-black-100',\n                  {\n                    'scale-[0.8]': isEnlargedImage && !isMobile,\n                  }\n                )}\n                onClick={() => setIsEnlargedImage(!isEnlargedImage)}\n                aria-label={openImageInFullScreenAriaLabel}\n                data-testid=\"CT-09-Image-LightBox-Inner-Enlarge/Shrink-Button\"\n              >\n                <Icon\n                  name={isEnlargedImage ? 'close_fullscreen' : 'full_screen'}\n                  colorClassName=\"text-white\"\n                  size={isEnlargedImage ? IconSizeEnum.md : IconSizeEnum.lg}\n                />\n              </button>\n\n              <div className=\"absolute left-0 top-0 flex h-full w-full flex-col content-start items-end justify-end\">\n                {imageData && (\n                  <motion.ul\n                    animate={{ opacity: isEnlargedImage ? 0 : 1 }}\n                    className=\"pointer-events-none hidden w-full flex-wrap gap-3 pb-5 pl-5 pr-5 lg:flex\"\n                    initial={{ opacity: 0 }}\n                  >\n                    {imageData\n                      .filter((item) => item)\n                      .map((item) => (\n                        <li\n                          className=\"body-one rounded-full bg-black-100 bg-opacity-50 px-4 py-2 text-lg text-white\"\n                          key={`tag-${item}`}\n                          data-testid=\"CT-09-Image-LightBox-Inner-InfoPill\"\n                        >\n                          {item}\n                        </li>\n                      ))}\n                  </motion.ul>\n                )}\n              </div>\n\n              {description && (\n                <motion.div\n                  animate={{ opacity: isEnlargedImage ? 0 : 1 }}\n                  initial={{ opacity: 0 }}\n                  className=\"hidden lg:absolute lg:block lg:pt-5\"\n                >\n                  {largeDescription ? (\n                    <>\n                      <motion.div\n                        className=\"overflow-hidden\"\n                        initial={{\n                          height: desktopCutOff,\n                        }}\n                        animate={\n                          !isDesktopDescriptionExpanded ? 'initial' : 'animate'\n                        }\n                        variants={getDescriptionVariants(desktopCutOff)}\n                      >\n                        <ShadowContainerVertical\n                          disableScroll={!isDesktopDescriptionExpanded}\n                          shadowHeight=\"h-7\"\n                          shadowColour=\"from-black-100\"\n                        >\n                          <span\n                            ref={(node) => {\n                              setDesktopDescriptionContentHeight(\n                                node?.scrollHeight ?? 0\n                              );\n                            }}\n                            className=\"content-area body-four inline-block max-h-[80px] font-thin text-white\"\n                            dangerouslySetInnerHTML={{\n                              __html: description,\n                            }}\n                            data-testid=\"CT-09-Image-LightBox-Inner-Description\"\n                          />\n                        </ShadowContainerVertical>\n                      </motion.div>\n\n                      {isDesktopExpandButtonDisplayed && (\n                        <button\n                          className=\"text-white\"\n                          onClick={() => {\n                            setIsDesktopDescriptionExpanded(\n                              !isDesktopDescriptionExpanded\n                            );\n                          }}\n                        >\n                          <strong>\n                            {isDesktopDescriptionExpanded\n                              ? showLessLabel\n                              : showMoreLabel}\n                          </strong>\n                        </button>\n                      )}\n                    </>\n                  ) : (\n                    <span\n                      className=\"content-area body-four font-thin text-white\"\n                      dangerouslySetInnerHTML={{\n                        __html: description,\n                      }}\n                      data-testid=\"CT-09-Image-LightBox-Inner-Description\"\n                    />\n                  )}\n                </motion.div>\n              )}\n            </Image>\n          </motion.div>\n        )}\n\n        <motion.div\n          animate={{ opacity: isEnlargedImage ? 0 : 1 }}\n          className=\"flex flex-col pt-5 lg:hidden\"\n          initial={{ opacity: 0 }}\n        >\n          {imageData && (\n            <ul className=\"flex w-full flex-wrap gap-3 lg:hidden\">\n              {imageData\n                .filter((item) => item)\n                .map((item) => (\n                  <li\n                    className=\"body-one rounded-full bg-grey-600 bg-opacity-50 px-4 py-2 text-white\"\n                    key={`tag-${item}`}\n                    data-testid=\"CT-09-Image-LightBox-Inner-InfoPill\"\n                  >\n                    {item}\n                  </li>\n                ))}\n            </ul>\n          )}\n\n          {description && (\n            <div className=\"pb-7 pt-5 lg:w-3/4\">\n              {!largeDescription && (\n                <span\n                  className=\"content-area body-four font-thin text-white\"\n                  dangerouslySetInnerHTML={{\n                    __html: description,\n                  }}\n                  data-testid=\"CT-09-Image-LightBox-Inner-Description\"\n                />\n              )}\n\n              {largeDescription && (\n                <>\n                  <motion.div\n                    className=\"overflow-hidden\"\n                    initial={{\n                      height: mobileCutOff,\n                    }}\n                    animate={\n                      !isMobileDescriptionExpanded ? 'initial' : 'animate'\n                    }\n                    variants={getDescriptionVariants(mobileCutOff)}\n                  >\n                    <span\n                      ref={(node) => {\n                        setMobileDescriptionContentHeight(\n                          node?.scrollHeight ?? 0\n                        );\n                      }}\n                      className=\"content-area body-four inline-block font-thin text-white\"\n                      dangerouslySetInnerHTML={{\n                        __html: description,\n                      }}\n                      data-testid=\"CT-09-Image-LightBox-Inner-Description\"\n                    />\n                  </motion.div>\n\n                  {isMobileExpandButtonDisplayed && (\n                    <button\n                      className=\"text-white\"\n                      onClick={() => {\n                        setIsMobileDescriptionExpanded(\n                          !isMobileDescriptionExpanded\n                        );\n                      }}\n                    >\n                      <strong>\n                        {isMobileDescriptionExpanded\n                          ? showLessLabel\n                          : showMoreLabel}\n                      </strong>\n                    </button>\n                  )}\n                </>\n              )}\n            </div>\n          )}\n\n          {((cameraModel && cameraProductDetailPage) ||\n            (lensModel && lensProductDetailPage)) && (\n            <div className=\"flex w-full flex-wrap gap-3 lg:hidden\">\n              {cameraModel && cameraProductDetailPage && (\n                <Button\n                  link={{ name: cameraModel, url: cameraProductDetailPage }}\n                  className=\"mb-6 mr-6\"\n                  dataTestId=\"CT-09-Image-LightBox-Inner-Camera-Model-Button\"\n                />\n              )}\n\n              {lensProductDetailPage && lensModel && (\n                <Button\n                  link={{ name: lensModel, url: lensProductDetailPage }}\n                  className=\"mb-auto\"\n                  dataTestId=\"CT-09-Image-LightBox-Inner-Lens-Model-Button\"\n                />\n              )}\n            </div>\n          )}\n        </motion.div>\n      </div>\n    </div>\n  );\n};\n\nexport default LightBoxInner;\n","import { ILightBoxImage } from '@models/ILightBoxImage';\nimport axios from 'axios';\n\nconst getLightBoxImages = async ({\n  contentIds,\n  language,\n}: {\n  contentIds: (number | string)[];\n  language?: string;\n}) => {\n  const queries = contentIds.map((contentId: number | string) =>\n    axios.get<ILightBoxImage>(`/api/v1/image/${contentId}?language=${language}`)\n  );\n  const responses = await Promise.all(queries);\n  const response = responses.map(({ data }) => data);\n\n  return response;\n};\n\nexport default getLightBoxImages;\n","import LoadingSpinner from '@atoms/LoadingSpinner/LoadingSpinner';\nimport Modal from '@atoms/Modal/Modal';\nimport NavButton from '@atoms/NavButton/NavButton';\nimport ErrorBannerNotificationEnum from '@models/enums/ErrorBannerNotificationEnum';\nimport HorizontalDirectionEnum from '@models/enums/HorizontalDirectionEnum';\nimport { ILightBoxImage } from '@models/ILightBoxImage';\nimport Carousel from '@molecules/Carousel/Carousel';\nimport LightBoxInner from '@molecules/LightBoxInner/LightBoxInner';\nimport getLightBoxImages from '@services/getLightBoxImages';\nimport useErrorNotificationStore from '@state/ErrorBannerNotificationDisplayStore';\nimport classNames from 'classnames';\nimport { motion } from 'framer-motion';\nimport { useEffect, useRef, useState } from 'react';\nimport { SwiperSlide } from 'swiper/react';\n\ninterface Props {\n  readonly contentIds: string[];\n  readonly initialIndex?: number;\n  readonly language?: string;\n  readonly onClose: () => void;\n}\n\nconst LightBoxOuter = ({\n  contentIds,\n  initialIndex = 0,\n  language,\n  onClose,\n}: Props) => {\n  const triggeredRequest = useRef(false);\n  const [isEnlargedImage, setIsEnlargedImage] = useState(false);\n  const [lightBoxImages, setLightBoxImages] = useState<ILightBoxImage[]>();\n  const navButtonId = 'lightbox-carousel';\n\n  const { setErrorBannerNotification } = useErrorNotificationStore();\n\n  useEffect(() => {\n    const getImages = async () => {\n      try {\n        const response = await getLightBoxImages({ contentIds, language });\n        setLightBoxImages(response);\n      } catch (error) {\n        onClose();\n        setErrorBannerNotification(\n          ErrorBannerNotificationEnum.LightboxOuterImages\n        );\n      }\n    };\n\n    if (!triggeredRequest.current) {\n      getImages();\n      triggeredRequest.current = true;\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [contentIds, language, setLightBoxImages]);\n\n  return (\n    <Modal\n      contentClasses=\"py-0 h-full\"\n      crossColor=\"white\"\n      isOpen\n      modalClasses=\"max-w-full px-0\"\n      setIsOpen={onClose}\n      isCloseButtonFixed\n    >\n      {lightBoxImages ? (\n        <div className=\"relative flex w-full items-center\">\n          {lightBoxImages.length > 1 && (\n            <motion.div\n              layout\n              className={classNames(\n                'absolute z-10 hidden lg:block',\n                isEnlargedImage ? 'left-[5%]' : 'left-[10%]'\n              )}\n            >\n              <NavButton\n                direction={HorizontalDirectionEnum.Left}\n                id={navButtonId}\n              />\n            </motion.div>\n          )}\n\n          <Carousel\n            breakpoints={{\n              1439: {\n                spaceBetween: 140,\n              },\n            }}\n            enabled={lightBoxImages.length > 1}\n            initialSlide={initialIndex}\n            loop\n            className=\"w-full\"\n            touchStartPreventDefault={false}\n            navId={navButtonId}\n            slidesPerView={1}\n            spaceBetween={20}\n          >\n            {lightBoxImages.map((lightBoxImage) => (\n              <SwiperSlide\n                key={lightBoxImage.meta?.contentLink}\n                className=\"flex justify-center lg:items-center\"\n              >\n                <LightBoxInner\n                  isEnlargedImage={isEnlargedImage}\n                  setIsEnlargedImage={setIsEnlargedImage}\n                  {...lightBoxImage}\n                />\n              </SwiperSlide>\n            ))}\n          </Carousel>\n\n          {lightBoxImages.length > 1 && (\n            <motion.div\n              layout\n              className={classNames(\n                isEnlargedImage ? 'right-[5%]' : 'right-[10%]',\n                'absolute z-10 hidden lg:block'\n              )}\n            >\n              <NavButton\n                direction={HorizontalDirectionEnum.Right}\n                id={navButtonId}\n              />\n            </motion.div>\n          )}\n        </div>\n      ) : (\n        <LoadingSpinner extraClasses=\"h-full\" />\n      )}\n    </Modal>\n  );\n};\n\nexport default LightBoxOuter;\n","import Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport { IImageLightBox } from '@models/IImageLightBox';\nimport ImageLightBoxTypeEnum from '@models/enums/ImageLightBoxTypeEnum';\nimport LightBoxOuter from '@molecules/LightBoxOuter/LightBoxOuter';\nimport MultipleAuthors from '@molecules/MultipleAuthors/MultipleAuthors';\nimport updateDataLayer from '@utils/helpers/gtm';\nimport useAriaLabels from '@utils/hooks/useAriaLabels';\nimport classNames from 'classnames';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { useState } from 'react';\n\ninterface Props extends IImageLightBox {\n  readonly contentIds: string[];\n  readonly lightboxIconBottom?: boolean;\n  readonly imageClasses?: string;\n  readonly showImageDataByDefault?: boolean;\n  readonly onLightBoxOpen?: (value: boolean) => void;\n  readonly imageType?: ImageLightBoxTypeEnum;\n  readonly dataTestId?: string;\n}\n\nconst ImageLightBox = ({\n  cameraModel,\n  contentIds,\n  dataEpiPropertyName,\n  fNumber,\n  image,\n  isoSensitivity,\n  language,\n  lensModel,\n  lightboxIconBottom = false,\n  imageClasses,\n  meta,\n  s35mmEquivalent,\n  showImageDataByDefault = false,\n  showImageLightbox,\n  shutterSpeed,\n  onLightBoxOpen,\n  author,\n  dataTestId = 'CT-09-Image-LightBox',\n  imageType = ImageLightBoxTypeEnum.metadata,\n}: Props) => {\n  const [isHovering, setIsHovering] = useState(false);\n  const [isLightBoxOpen, setIsLightBoxOpen] = useState(false);\n  const { openImageInFullScreenAriaLabel } = useAriaLabels();\n\n  const imageData = [\n    cameraModel,\n    lensModel,\n    shutterSpeed,\n    fNumber,\n    s35mmEquivalent,\n    isoSensitivity,\n  ];\n\n  return (\n    <>\n      {image?.desktop && (\n        <div\n          data-epi-property-name={dataEpiPropertyName}\n          className=\"relative w-full overflow-hidden\"\n          {...(!isLightBoxOpen\n            ? {\n                onBlur: () => setIsHovering(false),\n                onFocus: () => setIsHovering(true),\n                onMouseEnter: () => setIsHovering(true),\n                onMouseLeave: () => setIsHovering(false),\n              }\n            : {})}\n          data-testid={dataTestId}\n        >\n          <Image\n            classes=\"relative\"\n            imageClasses={imageClasses}\n            image={image}\n            dataTestId={`${dataTestId}-Image`}\n          />\n\n          <div className=\"absolute left-0 top-0 z-20 flex h-full w-full content-start items-end justify-end p-5\">\n            {showImageLightbox && (\n              <button\n                type=\"button\"\n                onClick={() => {\n                  setIsLightBoxOpen(true);\n                  onLightBoxOpen?.(true);\n                }}\n                className={classNames(\n                  lightboxIconBottom ? 'bottom-0' : 'top-0',\n                  'absolute right-0 m-5 ml-auto flex h-7.5 min-h-[30px] w-7.5 min-w-[30px] cursor-pointer items-center justify-center rounded-full bg-black-100 bg-opacity-50 text-lg text-white hover:bg-black-100'\n                )}\n                aria-label={openImageInFullScreenAriaLabel}\n                data-testid={`${dataTestId}-Open-LightBox-Button`}\n              >\n                <Icon name=\"full_screen\" colorClassName=\"text-white\" />\n              </button>\n            )}\n\n            {imageType === ImageLightBoxTypeEnum.metadata && (\n              <AnimatePresence>\n                {(showImageDataByDefault || isHovering) && (\n                  <motion.ul\n                    initial={{ opacity: 0, y: 30 }}\n                    animate={{ opacity: 1, y: 0 }}\n                    exit={{ opacity: 0, y: 30 }}\n                    className=\"pointer-events-none hidden w-full flex-wrap gap-3 lg:flex\"\n                  >\n                    {imageData\n                      .filter((item) => item)\n                      .map((item) => (\n                        <li\n                          key={`tag-${item}`}\n                          className=\"body-one rounded-full bg-black-100 bg-opacity-50 px-4 py-2 text-white\"\n                          data-testid={`${dataTestId}-InfoPill`}\n                        >\n                          {item}\n                        </li>\n                      ))}\n                  </motion.ul>\n                )}\n              </AnimatePresence>\n            )}\n\n            {imageType === ImageLightBoxTypeEnum.author && author && (\n              <a\n                className=\"absolute bottom-2.5 left-2.5 rounded-full bg-black-100 bg-opacity-50 py-1 pl-1 pr-4 xl:bottom-5 xl:left-5\"\n                href={author.link?.url}\n                target={author.link?.target}\n                onClick={() => {\n                  updateDataLayer({\n                    event: 'selectContent',\n                    content_type: author.ambassador\n                      ? 'Ambassadors'\n                      : 'Creators',\n                    author_name: author.authorName,\n                  });\n                }}\n              >\n                <MultipleAuthors\n                  authors={[\n                    {\n                      name: author.authorName ?? '',\n                      initials: author.initials ?? '',\n                      ambassador: author.ambassador,\n                      image: author.thumbnail,\n                    },\n                  ]}\n                >\n                  <div\n                    className=\"body-two ml-[15px] text-white\"\n                    data-testid={`${dataTestId}-Author-Name`}\n                  >\n                    {author.authorName}\n                  </div>\n                </MultipleAuthors>\n              </a>\n            )}\n          </div>\n        </div>\n      )}\n\n      {isLightBoxOpen && (\n        <LightBoxOuter\n          contentIds={contentIds}\n          initialIndex={contentIds.indexOf(meta?.contentLink as string)}\n          language={language}\n          onClose={() => {\n            setIsLightBoxOpen(false);\n            onLightBoxOpen?.(false);\n          }}\n        />\n      )}\n    </>\n  );\n};\n\nexport default ImageLightBox;\n"],"names":["_ref","ambassador","authorName","backgroundColourClassName","iconTooltip","initials","size","specialism","subTitle","textSize","SizeEnum","Medium","thumbnail","filteredSpecialisms","pictureSize","useMediaQuery","ProfilePictureSizeEnum","Size76","Size120","titleFontSize","Small","Large","XLarge","React","createElement","className","classNames","ProfilePicture","displayCheck","displayOutline","iconToolTip","Icon","name","colorClassName","Tooltip","label","position","TooltipPositionEnum","Top","Bullets","bullets","dataTestId","ImageLightBoxTypeEnum","ambassadorAuthor","cameraModel","cameraProductDetailPage","description","fNumber","image","isEnlargedImage","isoSensitivity","lensModel","lensProductDetailPage","s35mmEquivalent","setIsEnlargedImage","showLessLabel","showMoreLabel","shutterSpeed","largeDescription","length","isPortraitImage","desktop","width","height","isMobile","isMobileDescriptionExpanded","setIsMobileDescriptionExpanded","useState","isDesktopDescriptionExpanded","setIsDesktopDescriptionExpanded","desktopDescriptionContentHeight","setDesktopDescriptionContentHeight","mobileDescriptionContentHeight","setMobileDescriptionContentHeight","openImageInFullScreenAriaLabel","useAriaLabels","isMobileExpandButtonDisplayed","isDesktopExpandButtonDisplayed","imageData","getDescriptionVariants","cutOffHeight","animate","initial","transition","type","isIOS","browserName","BrowserTypes","MOBILE_SAFARI","AnimatePresence","motion","div","opacity","link","url","href","target","AuthorPanel","_extends","Size50","Button","scale","FIREFOX","damping","duration","mass","stiffness","Image","imageClasses","classes","onClick","IconSizeEnum","md","lg","ul","filter","item","map","key","Fragment","variants","ShadowContainerVertical","disableScroll","shadowHeight","shadowColour","ref","node","scrollHeight","dangerouslySetInnerHTML","__html","async","contentIds","language","queries","contentId","axios","Promise","all","_ref2","data","initialIndex","onClose","triggeredRequest","useRef","lightBoxImages","setLightBoxImages","navButtonId","setErrorBannerNotification","useErrorNotificationStore","useEffect","current","response","getLightBoxImages","error","ErrorBannerNotificationEnum","LightboxOuterImages","getImages","Modal","contentClasses","crossColor","isOpen","modalClasses","setIsOpen","isCloseButtonFixed","layout","NavButton","direction","HorizontalDirectionEnum","Left","id","Carousel","breakpoints","spaceBetween","enabled","initialSlide","loop","touchStartPreventDefault","navId","slidesPerView","lightBoxImage","SwiperSlide","meta","contentLink","LightBoxInner","Right","LoadingSpinner","extraClasses","dataEpiPropertyName","lightboxIconBottom","showImageDataByDefault","showImageLightbox","onLightBoxOpen","author","imageType","metadata","isHovering","setIsHovering","isLightBoxOpen","setIsLightBoxOpen","onBlur","onFocus","onMouseEnter","onMouseLeave","y","exit","updateDataLayer","event","content_type","author_name","MultipleAuthors","authors","LightBoxOuter","indexOf"],"sourceRoot":""}