{"version":3,"file":"ExternalVideoPlaylist-Chunk-fb098c759917c6f6d8b0.js","mappings":"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","sources":["webpack://nikon-client/./components/atoms/Button/Button.tsx","webpack://nikon-client/./components/atoms/Image/Image.tsx","webpack://nikon-client/./components/atoms/LoadMoreButton/LoadMoreButton.tsx","webpack://nikon-client/./components/atoms/Video/Video.tsx","webpack://nikon-client/./config/video.config.ts","webpack://nikon-client/./models/enums/VideoProviderEnum.ts","webpack://nikon-client/./components/molecules/ExternalVideo/ExternalVideo.tsx","webpack://nikon-client/./components/organisms/ExternalVideoPlaylist/videoLists/DesktopVideoList.tsx","webpack://nikon-client/./components/organisms/ExternalVideoPlaylist/videoLists/MobileVideoList.tsx","webpack://nikon-client/./components/organisms/ExternalVideoPlaylist/ExternalVideoPlaylist.tsx","webpack://nikon-client/./models/enums/BreakpointEnum.ts","webpack://nikon-client/./state-management/AriaLabelsStore.ts","webpack://nikon-client/./state-management/CookieStatusStore.ts","webpack://nikon-client/./utility/helpers/chunkArray.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"],"sourcesContent":["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<ButtonHTMLAttributes<HTMLButtonElement>, 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<ButtonProps>) => {\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    <a\n      className={buttonClasses}\n      href={link.url}\n      target={link.target}\n      data-epi-property-name={editHint}\n      onClick={linkCallback}\n      data-testid={dataTestId}\n    >\n      {children || link.name}\n    </a>\n  ) : (\n    <button\n      {...buttonProps}\n      className={buttonClasses}\n      disabled={disabled}\n      data-epi-property-name={editHint}\n      data-testid={dataTestId}\n    >\n      {children}\n    </button>\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<HTMLImageElement>\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<Props>) => {\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<boolean>(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    <picture className={classNames(classes)}>\n      <source\n        type=\"image/webp\"\n        sizes={sizes}\n        srcSet={`${mobileSource?.url} 376w, ${tabletSource?.url} 768w, ${desktopSource?.url} 1024w, ${largeDesktopSource?.url} 1440w`}\n      />\n      <img\n        ref={imageRef}\n        alt={image?.altText?.length ? image?.altText : 'nikon-image'}\n        className={classNames(\n          imageClasses,\n          'transition duration-500 ease-in-out'\n        )}\n        data-epi-property-name={epiEdit}\n        draggable=\"false\"\n        loading={lazyLoad ? 'lazy' : 'eager'}\n        onLoad={() => 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    </picture>\n  );\n};\n\nexport default Image;\n","import Icon from '@atoms/Icon/Icon';\nimport classNames from 'classnames';\nimport { motion } from 'framer-motion';\nimport { ButtonHTMLAttributes, DetailedHTMLProps } from 'react';\n\ninterface Props\n  extends DetailedHTMLProps<\n    ButtonHTMLAttributes<HTMLButtonElement>,\n    HTMLButtonElement\n  > {\n  readonly open?: boolean;\n  readonly loadMoreLabel: string;\n  readonly loadLessLabel?: string;\n  readonly _type?: 'BASIC' | 'YELLOW-HIGHLIGHT';\n  readonly isLightMode?: boolean;\n  readonly dataTestId?: string;\n}\n\nconst LoadMoreButton = ({\n  open = false,\n  loadMoreLabel,\n  loadLessLabel,\n  _type = 'BASIC',\n  isLightMode,\n  dataTestId,\n  ...props\n}: Props) => (\n  <button\n    className={classNames(\n      'z-10 flex cursor-pointer flex-row items-center justify-center gap-4',\n      _type === 'YELLOW-HIGHLIGHT' && open\n        ? 'text-yellow underline decoration-1 underline-offset-4'\n        : `text-black-100 ${isLightMode ? '' : 'dark:text-white'}`\n    )}\n    data-testid={dataTestId}\n    {...props}\n  >\n    {(!open || loadLessLabel) && (\n      <p className=\"h6\">{open ? loadLessLabel : loadMoreLabel}</p>\n    )}\n\n    <motion.span\n      animate={{\n        rotate: open ? -180 : 0,\n      }}\n    >\n      <Icon name=\"downArrow\" size=\"1.25rem\" colorClassName=\"text-yellow\" />\n    </motion.span>\n  </button>\n);\n\nexport default LoadMoreButton;\n","import loadable from '@loadable/component';\nimport { AspectRatioType } from '@models/IAspectRatio';\nimport { IVideoAttributes } from '@models/IVideoAttributes';\nimport updateDataLayer from '@utils/helpers/gtm';\nimport classNames from 'classnames';\nimport { motion, MotionValue } from 'framer-motion';\nimport {\n  ChangeEvent,\n  ForwardedRef,\n  forwardRef,\n  useEffect,\n  useState,\n} from 'react';\nimport { Config } from 'react-player';\n\nconst ReactPlayer = loadable(\n  () => import(/* webpackChunkName: \"react-player\" */ 'react-player')\n);\n\ninterface Props {\n  readonly classes?: string;\n  readonly config?: Config;\n  readonly controls?: boolean;\n  readonly epiEdit?: string;\n  readonly isPlaying?: boolean;\n  readonly title?: string;\n  readonly url?: string;\n  readonly videoAttributes?: IVideoAttributes;\n  readonly videoRatio?: AspectRatioType;\n  readonly videoSource?: string;\n  readonly videoWrapperOpacityProgress?: MotionValue<number>;\n  readonly onEndedVideo?: () => void;\n  readonly onVideoReady?: () => void;\n  readonly onVideoStart?: () => void;\n  readonly onVolumeChange?: (videoElement: HTMLVideoElement) => void;\n  readonly setIsPlaying?: (playing: boolean) => void;\n}\n\nconst Video = forwardRef(\n  (\n    {\n      classes,\n      config,\n      controls = true,\n      epiEdit,\n      isPlaying,\n      title,\n      videoAttributes,\n      videoRatio = 'aspect-video',\n      videoSource,\n      videoWrapperOpacityProgress,\n      onEndedVideo,\n      onVideoReady,\n      onVideoStart,\n      onVolumeChange,\n      setIsPlaying,\n    }: Props,\n    ref\n  ) => {\n    const [prevProgress, setPrevProgress] = useState(0);\n    const [isBrowser, setIsBrowser] = useState(false);\n\n    useEffect(() => {\n      setIsBrowser(typeof window !== 'undefined');\n    }, []);\n\n    useEffect(() => {\n      setPrevProgress(0);\n    }, [title]);\n\n    const handleProgressUpdate = (progress: string) => {\n      updateDataLayer({\n        event: 'videoInteraction',\n        video_interaction: 'video_progress',\n        video_progress: progress,\n        video_title: title,\n      });\n    };\n\n    const handleVideoAction = (action: string) => {\n      updateDataLayer({\n        event: 'videoInteraction',\n        video_interaction:\n          action === 'START' ? 'video_start' : 'video_complete',\n        video_progress: action === 'START' ? 'video_start' : 'video_complete',\n        video_title: title,\n      });\n    };\n\n    const updateVideoProgressData = (progress: number) => {\n      if (prevProgress < 0.25 && progress > 0.25) {\n        handleProgressUpdate('25%');\n      }\n      if (prevProgress < 0.5 && progress > 0.5) {\n        handleProgressUpdate('50%');\n      }\n      if (prevProgress < 0.75 && progress > 0.75) {\n        handleProgressUpdate('75%');\n      }\n      if (prevProgress > 0.9 && progress < 0.1) {\n        handleVideoAction('COMPLETE');\n      }\n      setPrevProgress(progress);\n    };\n\n    if (!videoSource) return null;\n\n    return (\n      <motion.div\n        ref={ref as ForwardedRef<HTMLDivElement>}\n        className={classNames(classes, videoRatio, 'w-full')}\n        data-epi-property-name={epiEdit}\n        data-testid={isPlaying ? 'video-playing' : 'video-paused'}\n        style={{\n          opacity: videoWrapperOpacityProgress ?? 1,\n        }}\n      >\n        {isBrowser && (\n          <ReactPlayer\n            url={videoSource}\n            width=\"100%\"\n            height=\"100%\"\n            controls={controls}\n            playing\n            onProgress={({ played }) => updateVideoProgressData(played)}\n            onStart={() => {\n              onVideoStart?.();\n              handleVideoAction('START');\n            }}\n            onEnded={() => {\n              onEndedVideo?.();\n              handleVideoAction('COMPLETE');\n            }}\n            onPause={() => setIsPlaying?.(false)}\n            onPlay={() => setIsPlaying?.(true)}\n            onReady={onVideoReady}\n            config={config}\n            onVolumeChange={(event: ChangeEvent<HTMLVideoElement>) => {\n              onVolumeChange?.(event.target);\n            }}\n            {...videoAttributes}\n          />\n        )}\n      </motion.div>\n    );\n  }\n);\n\nexport default Video;\n","export const autoPlayYoutubePlayerAttributes = {\n  playsinline: true,\n  muted: true,\n  playing: true,\n};\n\nexport const autoPlayYoutubePlayerConfig = {\n  youtube: {\n    playerVars: {\n      autoplay: 1,\n      mute: 1,\n      enablejsapi: 1,\n      showinfo: 0,\n    },\n  },\n};\n\nexport const standardYoutubePlayerAttributes = {\n  playsinline: true,\n  muted: true,\n  playing: false,\n};\n\nexport const standardYoutubePlayerConfig = {\n  youtube: {\n    playerVars: {\n      autoplay: 0,\n      mute: 0,\n      enablejsapi: 1,\n      showinfo: 0,\n    },\n  },\n};\n\nexport const autoPlayVimeoPlayerAttributes = {\n  playsinline: true,\n  muted: true,\n  playing: true,\n};\n\nexport const autoPlayVimeoPlayerConfig = {\n  vimeo: {\n    playerOptions: {\n      autoplay: true,\n      muted: true,\n    },\n  },\n};\n\nexport const standardVimeoPlayerAttributes = {\n  playsinline: true,\n  muted: false,\n  playing: false,\n  loop: true,\n};\n\nexport const standardViemoPlayerConfig = {\n  vimeo: {\n    playerOptions: {\n      autoplay: false,\n      muted: false,\n    },\n  },\n};\n","enum VideoProviderEnum {\n  Youtube = 'youtube',\n  Vimeo = 'vimeo',\n}\n\nexport default VideoProviderEnum;\n","import Video from '@atoms/Video/Video';\nimport {\n  autoPlayVimeoPlayerAttributes,\n  autoPlayVimeoPlayerConfig,\n  autoPlayYoutubePlayerAttributes,\n  autoPlayYoutubePlayerConfig,\n  standardViemoPlayerConfig,\n  standardVimeoPlayerAttributes,\n  standardYoutubePlayerAttributes,\n  standardYoutubePlayerConfig,\n} from '@config/video.config';\nimport VideoProviderEnum from '@models/enums/VideoProviderEnum';\nimport IExternalVideo from '@models/IExternalVideo';\nimport { IVideoAttributes } from '@models/IVideoAttributes';\nimport classNames from 'classnames';\nimport { forwardRef, PropsWithChildren } from 'react';\n\ninterface Props extends IExternalVideo {\n  readonly autoPlay: boolean;\n  readonly onEndedVideo?: () => void;\n  readonly onVideoReady?: () => void;\n  readonly onVideoStart?: () => void;\n  readonly classes?: string;\n  readonly customVideoAttributes?: IVideoAttributes;\n  readonly isInvisible?: boolean;\n  readonly dataTestId?: string;\n}\n\nconst ExternalVideo = forwardRef(\n  (\n    {\n      videoProvider = VideoProviderEnum.Youtube,\n      videoId,\n      autoPlay,\n      onEndedVideo,\n      onVideoReady,\n      onVideoStart,\n      classes,\n      children,\n      title,\n      customVideoAttributes,\n      isInvisible = false,\n      dataTestId = 'External-Video',\n    }: PropsWithChildren<Props>,\n    ref\n  ) => {\n    const options = {\n      youtube: {\n        autoPlay: {\n          videoAttributes: autoPlayYoutubePlayerAttributes,\n          videoConfig: autoPlayYoutubePlayerConfig,\n        },\n        standard: {\n          videoAttributes: standardYoutubePlayerAttributes,\n          videoConfig: standardYoutubePlayerConfig,\n        },\n      },\n      vimeo: {\n        autoPlay: {\n          videoAttributes: autoPlayVimeoPlayerAttributes,\n          videoConfig: autoPlayVimeoPlayerConfig,\n        },\n        standard: {\n          videoAttributes: standardVimeoPlayerAttributes,\n          videoConfig: standardViemoPlayerConfig,\n        },\n      },\n    };\n\n    return (\n      <div\n        className={classNames('relative h-full w-full', {\n          invisible: isInvisible,\n        })}\n        data-testid={dataTestId}\n      >\n        <Video\n          videoSource={videoId}\n          videoAttributes={{\n            ...options[videoProvider]?.[`${autoPlay ? 'autoPlay' : 'standard'}`]\n              ?.videoAttributes,\n            ...customVideoAttributes,\n          }}\n          config={\n            options[videoProvider]?.[`${autoPlay ? 'autoPlay' : 'standard'}`]\n              ?.videoConfig\n          }\n          onEndedVideo={onEndedVideo}\n          onVideoReady={onVideoReady}\n          onVideoStart={onVideoStart}\n          classes={classes}\n          title={title}\n          ref={ref}\n        />\n        {children}\n      </div>\n    );\n  }\n);\n\nexport default ExternalVideo;\n","import Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport IExternalVideo from '@models/IExternalVideo';\nimport classNames from 'classnames';\nimport { Dispatch, SetStateAction, useState } from 'react';\nimport SwiperType from 'swiper';\nimport { Mousewheel, Navigation } from 'swiper/modules';\nimport { Swiper, SwiperSlide } from 'swiper/react';\n\ninterface Props {\n  readonly playlistId: string;\n  readonly setActiveSource?: Dispatch<SetStateAction<string>>;\n  readonly setActiveSourceIndex?: Dispatch<SetStateAction<number>>;\n  readonly setPlaying?: Dispatch<SetStateAction<boolean>>;\n  readonly videoPlaylist: IExternalVideo[];\n}\n\nconst DesktopVideoList = ({\n  videoPlaylist = [],\n  setActiveSource,\n  setActiveSourceIndex,\n  setPlaying,\n  playlistId,\n}: Props) => {\n  const [isBeginning, setIsBeginning] = useState(true);\n  const [isEnd, setIsEnd] = useState(false);\n\n  const playVideo = (videoId: string, index: number) => {\n    setActiveSource?.(videoId);\n    setActiveSourceIndex?.(index);\n    setPlaying?.(true);\n  };\n\n  const handleSlideChange = (swiper: SwiperType) => {\n    setIsBeginning(swiper?.isBeginning);\n    setIsEnd(swiper?.isEnd);\n  };\n\n  const swiperId = `video-playlist-${playlistId}`;\n\n  return (\n    <div\n      className=\"desktop relative flex w-full max-w-[400px]\"\n      data-testid=\"CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List\"\n    >\n      <div className=\"relative w-full overflow-hidden\">\n        <div className=\"absolute left-0 top-0 flex h-full flex-col\">\n          <Swiper\n            onSlideChange={(swiper) => handleSlideChange(swiper)}\n            onToEdge={(swiper) => handleSlideChange(swiper)}\n            direction=\"vertical\"\n            slidesPerView=\"auto\"\n            spaceBetween={20}\n            modules={[Navigation, Mousewheel]}\n            mousewheel={{\n              forceToAxis: true,\n            }}\n            navigation={{\n              prevEl: `#prevBtn-${swiperId}`,\n              nextEl: `#nextBtn-${swiperId}`,\n            }}\n          >\n            {videoPlaylist?.map(\n              ({ coverImage, videoId, title, subTitle }, index) => (\n                <SwiperSlide\n                  className=\"stretch-card\"\n                  key={`desktop-video-${title}-${subTitle}`}\n                  data-testid={`CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-${index}`}\n                >\n                  <div className=\"flex flex-row items-center\">\n                    <button\n                      type=\"button\"\n                      className=\"w-1/2\"\n                      onClick={() => playVideo(`${videoId}`, index)}\n                      data-testid={`CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-${index}-Play-Button`}\n                    >\n                      <span className=\"relative flex items-center justify-center px-5\">\n                        <Image image={coverImage} />\n                        <Icon\n                          name=\"play_icon_circle\"\n                          size=\"27px\"\n                          className=\"absolute\"\n                        />\n                      </span>\n                    </button>\n                    <div className=\"flex w-1/2 flex-col pr-2\">\n                      {title && (\n                        <p\n                          className=\"body-four line-clamp-3 text-left text-grey-450 dark:text-grey-400\"\n                          data-testid={`CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-${index}-Subtitle`}\n                        >\n                          <span\n                            className=\"body-four text-black-100 dark:text-white\"\n                            data-testid={`CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-${index}-Title`}\n                          >\n                            {title}{' '}\n                          </span>\n                          {subTitle}\n                        </p>\n                      )}\n                    </div>\n                  </div>\n                </SwiperSlide>\n              )\n            )}\n          </Swiper>\n        </div>\n      </div>\n      <div\n        id={`prevBtn-${swiperId}`}\n        className={classNames(\n          'absolute left-0 right-0 top-0 z-20 flex h-16 w-full select-none items-center justify-center bg-gradient-to-b from-white opacity-70 hover:cursor-pointer dark:from-black-100 dark:via-black-100',\n          {\n            invisible: isBeginning,\n          }\n        )}\n        data-testid=\"CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-Prev-Button\"\n      >\n        <Icon\n          name=\"caret_down\"\n          colorClassName=\"text-yellow\"\n          className=\"rotate-180\"\n        />\n      </div>\n      <div\n        id={`nextBtn-${swiperId}`}\n        className={classNames(\n          'absolute bottom-0 left-0 right-0 z-20 flex h-16 w-full select-none items-center justify-center bg-gradient-to-t from-white opacity-70 hover:cursor-pointer dark:from-black-100 dark:via-black-100',\n          {\n            invisible: isEnd,\n          }\n        )}\n        data-testid=\"CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-Next-Button\"\n      >\n        <Icon name=\"caret_down\" colorClassName=\"text-yellow\" />\n      </div>\n    </div>\n  );\n};\n\nexport default DesktopVideoList;\n","import Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport LoadMoreButton from '@atoms/LoadMoreButton/LoadMoreButton';\nimport IExternalVideo from '@models/IExternalVideo';\nimport chunkArray from '@utils/helpers/chunkArray';\nimport { motion } from 'framer-motion';\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react';\n\ninterface Props {\n  readonly activeSourceIndex: number;\n  readonly loadMoreText: string;\n  readonly setActiveSource?: Dispatch<SetStateAction<string>>;\n  readonly setActiveSourceIndex?: Dispatch<SetStateAction<number>>;\n  readonly setPlaying?: Dispatch<SetStateAction<boolean>>;\n  readonly videoPlaylist: IExternalVideo[];\n}\n\nconst MobileVideoList = ({\n  videoPlaylist = [],\n  setActiveSource,\n  setActiveSourceIndex,\n  activeSourceIndex = 0,\n  setPlaying,\n  loadMoreText = '',\n}: Props) => {\n  const [activeGroupIndex, setActiveGroupIndex] = useState(0);\n  const [chunkedArray, setChunkedArray] = useState<IExternalVideo[][]>([]);\n  const [visibleVideos, setVisibleVideos] = useState<IExternalVideo[]>([]);\n\n  useEffect(() => {\n    if (videoPlaylist?.length > 0) {\n      const chunkedIntoThree = chunkArray(videoPlaylist, 4);\n      setVisibleVideos(chunkedIntoThree[0]!);\n      setChunkedArray(chunkedIntoThree);\n    }\n  }, [videoPlaylist]);\n\n  return (\n    <div className=\"mobile h-auto pt-5\">\n      <motion.div\n        className=\"max-w-md\"\n        animate={{\n          height: '100%',\n        }}\n        data-testid=\"CT-10-B-Video-Embed-Playlist-External-Video-Mobile-Video-List\"\n      >\n        {videoPlaylist[activeSourceIndex]?.title && (\n          <h3\n            className=\"h5 pb-5 text-left\"\n            data-testid=\"CT-10-B-Video-Embed-Playlist-External-Video-Mobile-Video-List-Active-Title\"\n          >\n            {videoPlaylist[activeSourceIndex]!.title}\n          </h3>\n        )}\n        <div className=\"mb-8 flex flex-col gap-5\">\n          {visibleVideos.length > 0 &&\n            visibleVideos?.map(\n              ({ coverImage, videoId, title, subTitle }, index) => (\n                <div\n                  key={`mobile-video-${title}-${subTitle}`}\n                  className=\"flex flex-row\"\n                >\n                  <button\n                    type=\"button\"\n                    className=\"w-1/2 sm:w-1/3\"\n                    onClick={() => {\n                      setActiveSource?.(videoId!);\n                      setActiveSourceIndex?.(index);\n                      setPlaying?.(true);\n                    }}\n                    data-testid={`CT-10-B-Video-Embed-Playlist-External-Video-Mobile-Video-List-Item-${index}-Play-Button`}\n                  >\n                    <span className=\"relative flex items-center justify-center\">\n                      <Image\n                        image={coverImage}\n                        data-testid={`CT-10-B-Video-Embed-Playlist-External-Video-Mobile-Video-List-Item-${index}-Cover-Image`}\n                      />\n                      <Icon\n                        name=\"play_icon_circle\"\n                        size=\"27px\"\n                        className=\"absolute\"\n                      />\n                    </span>\n                  </button>\n                  <div className=\"flex w-1/2 items-center pl-4 pr-1 sm:w-2/3\">\n                    {title && (\n                      <p\n                        className=\"body-four line-clamp-4 text-left text-grey-450 dark:text-grey-400\"\n                        data-testid={`CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-${index}-Subtitle`}\n                      >\n                        <span\n                          className=\"body-four text-black-100 dark:text-white\"\n                          data-testid={`CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-${index}-Title`}\n                        >\n                          {title}{' '}\n                        </span>\n                        {subTitle}\n                      </p>\n                    )}\n                  </div>\n                </div>\n              )\n            )}\n        </div>\n      </motion.div>\n\n      {chunkedArray && chunkedArray[activeGroupIndex + 1] && (\n        <div className=\"flex justify-center\">\n          <LoadMoreButton\n            loadMoreLabel={loadMoreText}\n            onClick={() => {\n              if (chunkedArray && chunkedArray[activeGroupIndex + 1]) {\n                const nextChunk = chunkedArray.filter(\n                  (_, index) => index === activeGroupIndex + 1\n                );\n\n                setVisibleVideos((oldState) => [...oldState, ...nextChunk[0]!]);\n                setActiveGroupIndex((oldState) => oldState + 1);\n              }\n            }}\n            dataTestId=\"CT-10-B-Video-Embed-Playlist-External-Video-Desktop-Video-List-Item-Load-More\"\n          />\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default MobileVideoList;\n","import Button from '@atoms/Button/Button';\nimport Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport IExternalVideo from '@models/IExternalVideo';\nimport { ILink } from '@models/ILink';\nimport { IMeta } from '@models/IMeta';\nimport ExternalVideo from '@molecules/ExternalVideo/ExternalVideo';\nimport useCookieStatusStore from '@state/CookieStatusStore';\nimport updateDataLayer from '@utils/helpers/gtm';\nimport useAriaLabels from '@utils/hooks/useAriaLabels';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport classNames from 'classnames';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { useState } from 'react';\nimport DesktopVideoList from './videoLists/DesktopVideoList';\nimport MobileVideoList from './videoLists/MobileVideoList';\n\ninterface Props {\n  readonly title: string;\n  readonly link?: ILink;\n  readonly videoPlaylist: IExternalVideo[];\n  readonly loadMoreText: string;\n  readonly anchorId: string;\n  readonly meta?: IMeta;\n}\n\nconst ExternalVideoPlaylist = ({\n  title,\n  link,\n  videoPlaylist,\n  loadMoreText,\n  anchorId = '',\n  meta,\n}: Props) => {\n  const isMobileView = useMediaQuery(1440);\n  const [activeSource, setActiveSource] = useState(\n    `${videoPlaylist[0]?.videoId ?? ''}`\n  );\n  const [activeSourceIndex, setActiveSourceIndex] = useState(0);\n  const [playing, setPlaying] = useState(false);\n  const { cookieStatus } = useCookieStatusStore((state) => ({\n    cookieStatus: state.cookieStatus,\n  }));\n  const { playVideoAriaLabel } = useAriaLabels();\n\n  return videoPlaylist.length > 0 ? (\n    <section\n      id={`a-${anchorId}`}\n      className=\"component-padding dark:bg-black-100 dark:text-white\"\n      data-epi-block-id={meta?.contentLink}\n      data-testid=\"CT-10-B-Video-Embed-Playlist\"\n    >\n      <div className=\"container grid grid-cols-12\">\n        <div className=\"col-span-12 xl:col-span-10 xl:col-start-2 xl:col-end-12\">\n          {(title || (link?.url && link?.name)) && (\n            <div\n              className={classNames(\n                'flew-row mb-10 flex flex-wrap items-center gap-5',\n                title ? 'justify-between' : 'justify-end'\n              )}\n            >\n              {title && (\n                <h2\n                  className=\"h3 mr-auto\"\n                  data-epi-property-name={meta?.editHints?.text}\n                  data-testid=\"CT-10-B-Video-Embed-Playlist-Title\"\n                >\n                  {title}\n                </h2>\n              )}\n              {link?.name && link?.url && (\n                <Button\n                  link={link}\n                  editHint={`${meta?.editHints?.link}`}\n                  linkCallback={() => {\n                    updateDataLayer({\n                      event: 'ctaClicks',\n                      content_type: link.name,\n                    });\n                  }}\n                  dataTestId=\"CT-10-B-Video-Embed-Playlist-Link-Button\"\n                />\n              )}\n            </div>\n          )}\n          <div\n            className=\"flex w-full flex-col xl:flex-row\"\n            data-epi-property-name={meta?.editHints?.videoPlaylist}\n            data-testid=\"CT-10-B-Video-Embed-Playlist-Container\"\n          >\n            <div className=\"relative aspect-video w-full hover:cursor-pointer\">\n              {cookieStatus && (\n                <ExternalVideo\n                  videoProvider={\n                    videoPlaylist[activeSourceIndex]?.videoProvider\n                  }\n                  videoId={activeSource}\n                  title={videoPlaylist[activeSourceIndex]?.title}\n                  autoPlay={\n                    videoPlaylist.length === activeSourceIndex ? false : playing\n                  }\n                  isInvisible={\n                    videoPlaylist.length === activeSourceIndex || !playing\n                  }\n                  onEndedVideo={() => {\n                    const nextVideoIndex = activeSourceIndex + 1;\n                    if (videoPlaylist[nextVideoIndex]) {\n                      const { videoId } = videoPlaylist[nextVideoIndex]!;\n                      setActiveSource(`${videoId}`);\n                      setActiveSourceIndex(nextVideoIndex);\n                      setPlaying(true);\n                    } else {\n                      const { videoId } = videoPlaylist[0]!;\n                      setActiveSource(`${videoId}`);\n                      setActiveSourceIndex(0);\n                      setPlaying(false);\n                    }\n                  }}\n                  dataTestId=\"CT-10-B-Video-Embed-Playlist-External-Video\"\n                />\n              )}\n\n              <AnimatePresence>\n                {!playing && (\n                  <motion.div\n                    initial={{ opacity: 0 }}\n                    animate={{ opacity: 1 }}\n                    exit={{ opacity: 0 }}\n                    onClick={() => {\n                      if (cookieStatus && videoPlaylist[activeSourceIndex]) {\n                        const { videoId } = videoPlaylist[activeSourceIndex]!;\n                        setActiveSource(`${videoId}`);\n                        setPlaying(true);\n                      }\n                    }}\n                    className=\"absolute -bottom-[0.1rem] left-0 top-0 flex w-full items-center justify-center\"\n                  >\n                    {!playing &&\n                      videoPlaylist[activeSourceIndex]?.coverImage && (\n                        <>\n                          <Image\n                            image={\n                              videoPlaylist[activeSourceIndex]!.coverImage!\n                            }\n                            classes=\"w-full\"\n                            imageClasses=\"h-full w-full aspect-video\"\n                            dataTestId=\"CT-10-B-Video-Embed-Playlist-Active-Video-Cover-Image\"\n                          />\n                          <div className=\"absolute bottom-0 hidden h-1/3 w-full bg-gradient-to-t from-black-100 to-transparent opacity-60 xl:block\" />\n                        </>\n                      )}\n                    <div className=\"absolute bottom-2.5 left-2.5 flex items-center md:bottom-5 md:left-5\">\n                      <button\n                        type=\"button\"\n                        aria-label={playVideoAriaLabel}\n                        className=\"\"\n                        onClick={() => {\n                          if (\n                            cookieStatus &&\n                            videoPlaylist[activeSourceIndex]\n                          ) {\n                            const { videoId } =\n                              videoPlaylist[activeSourceIndex]!;\n                            setActiveSource(`${videoId}`);\n                            setPlaying(true);\n                          }\n                        }}\n                        data-testid=\"CT-10-B-Video-Embed-Playlist-External-Video-Play-Button\"\n                      >\n                        <div className=\"h-[2.1875rem] w-[2.1875rem] md:h-[2.875rem] md:w-[2.875rem]\">\n                          <Icon name=\"play_icon_circle\" size=\"100%\" />\n                        </div>\n                      </button>\n                      {videoPlaylist[activeSourceIndex]?.title && (\n                        <p\n                          className=\"h6 hidden text-white xl:block xl:pl-5\"\n                          data-testid=\"CT-10-B-Video-Embed-Playlist-External-Video-Active-Video-Title\"\n                        >\n                          {videoPlaylist[activeSourceIndex]!.title}\n                        </p>\n                      )}\n                    </div>\n                    {videoPlaylist[activeSourceIndex]?.label && (\n                      <span\n                        className=\"body-one absolute left-2 top-2 rounded-[6rem] bg-white pb-2 pl-3 pr-3 pt-2 text-center opacity-70 dark:bg-black-100 xl:left-5 xl:top-5\"\n                        data-testid=\"CT-10-B-Video-Embed-Playlist-External-Video-Active-Video-Label\"\n                      >\n                        {videoPlaylist[activeSourceIndex]!.label}\n                      </span>\n                    )}\n                  </motion.div>\n                )}\n              </AnimatePresence>\n            </div>\n            {isMobileView ? (\n              <MobileVideoList\n                videoPlaylist={videoPlaylist}\n                setActiveSource={setActiveSource}\n                setActiveSourceIndex={setActiveSourceIndex}\n                activeSourceIndex={activeSourceIndex}\n                setPlaying={setPlaying}\n                loadMoreText={loadMoreText}\n              />\n            ) : (\n              <DesktopVideoList\n                videoPlaylist={videoPlaylist}\n                setActiveSource={setActiveSource}\n                setActiveSourceIndex={setActiveSourceIndex}\n                setPlaying={setPlaying}\n                playlistId={meta?.contentLink ? `${meta.contentLink}` : ''}\n              />\n            )}\n          </div>\n        </div>\n      </div>\n    </section>\n  ) : null;\n};\n\nexport default ExternalVideoPlaylist;\n","const enum BreakpointEnum {\n  Small = 'sm',\n  Medium = 'md',\n  Large = 'lg',\n  XLarge = 'xl',\n}\n\nexport default BreakpointEnum;\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<IAriaLabelsState>((set) => ({\n  ariaLabels: initialAriaLabels,\n  setAriaLabels: (ariaLabels: IAriaLabels) => set({ ariaLabels }),\n}));\n\nexport default useAriaLabelsStore;\n","import create from 'zustand';\n\ninterface ICookieStatusState {\n  readonly cookieStatus: boolean;\n  readonly setCookieStatus: (cookieStatus: boolean) => void;\n}\n\nconst useCookieStatusStore = create<ICookieStatusState>((set) => ({\n  cookieStatus: false,\n  setCookieStatus: (cookieStatus: boolean) => set({ cookieStatus }),\n}));\n\nexport default useCookieStatusStore;\n","const chunkArray = <T>(array: T[], chunkSize: number) =>\n  array.reduce<T[][]>((acc, item, index) => {\n    const chunk = Math.floor(index / chunkSize);\n    acc[chunk] = [...(acc[chunk] || []), item];\n\n    return acc;\n  }, []);\n\nexport default chunkArray;\n","const updateDataLayer = (eventPayload: Record<string, unknown>) => {\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<IAriaLabels>(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<BreakpointEnum>();\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<boolean>();\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","children","className","dataTestId","disabled","editHint","link","linkCallback","secondary","secondaryBackgroundClassName","isLightMode","inverted","buttonProps","buttonClasses","classNames","url","name","React","createElement","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","length","draggable","loading","onLoad","src","height","width","originalUrl","open","loadMoreLabel","loadLessLabel","_type","props","motion","span","animate","rotate","Icon","size","colorClassName","ReactPlayer","loadable","forwardRef","config","controls","isPlaying","title","videoAttributes","videoRatio","videoSource","videoWrapperOpacityProgress","onEndedVideo","onVideoReady","onVideoStart","onVolumeChange","setIsPlaying","prevProgress","setPrevProgress","isBrowser","setIsBrowser","useEffect","window","handleProgressUpdate","progress","updateDataLayer","event","video_interaction","video_progress","video_title","handleVideoAction","action","div","style","opacity","playing","onProgress","_ref2","played","onStart","onEnded","onPause","onPlay","onReady","autoPlayYoutubePlayerAttributes","playsinline","muted","autoPlayYoutubePlayerConfig","youtube","playerVars","autoplay","mute","enablejsapi","showinfo","standardYoutubePlayerAttributes","standardYoutubePlayerConfig","autoPlayVimeoPlayerAttributes","autoPlayVimeoPlayerConfig","vimeo","playerOptions","standardVimeoPlayerAttributes","loop","standardViemoPlayerConfig","VideoProviderEnum","videoProvider","Youtube","videoId","autoPlay","customVideoAttributes","isInvisible","options","videoConfig","standard","invisible","Video","videoPlaylist","setActiveSource","setActiveSourceIndex","setPlaying","playlistId","isBeginning","setIsBeginning","isEnd","setIsEnd","handleSlideChange","swiper","swiperId","Swiper","onSlideChange","onToEdge","direction","slidesPerView","spaceBetween","modules","Navigation","Mousewheel","mousewheel","forceToAxis","navigation","prevEl","nextEl","map","index","coverImage","subTitle","SwiperSlide","key","playVideo","Image","id","activeSourceIndex","loadMoreText","activeGroupIndex","setActiveGroupIndex","chunkedArray","setChunkedArray","visibleVideos","setVisibleVideos","chunkedIntoThree","chunkArray","LoadMoreButton","nextChunk","filter","_","oldState","anchorId","meta","isMobileView","useMediaQuery","activeSource","cookieStatus","useCookieStatusStore","state","playVideoAriaLabel","useAriaLabels","contentLink","editHints","text","Button","content_type","ExternalVideo","nextVideoIndex","AnimatePresence","initial","exit","Fragment","label","MobileVideoList","DesktopVideoList","initialAriaLabels","backToFirstLevelNavigationAriaLabel","breadcrumbAriaLabel","breadcrumbFooterAriaLabel","clearFiltersAriaLabel","closeMenuAriaLabel","closeAddressListAriaLabel","closeMobileNavigationAriaLabel","closeModalAriaLabel","closeSignUpFormAriaLabel","closeSiteNotificationAriaLabel","copyToClipboardAriaLabel","editOrDeleteAriaLabel","mainNavigationAriaLabel","moreInformationAriaLabel","nextAriaLabel","openAddressListAriaLabel","openImageInFullScreenAriaLabel","openMenuAriaLabel","overlayToCloseDesktopNavigationAriaLabel","pauseVideoAriaLabel","previousAriaLabel","searchAriaLabel","shareToFacebookAriaLabel","shareToWhatsappAriaLabel","shareToXAriaLabel","siteNotificationsAriaLabel","uspStripAriaLabel","zoomInAriaLabel","zoomOutAriaLabel","create","set","ariaLabels","setAriaLabels","setCookieStatus","array","chunkSize","reduce","acc","item","chunk","Math","floor","eventPayload","dataLayer","push","ariaLabelsFromStore","useAriaLabelsStore","getCurrentBreakpoint","breakpoints","innerWidth","screen","setScreen","resizeHandler","useCallback","addEventListener","removeEventListener","minWidth","isSmallerThan","setIsSmallerThan","handler","isDesiredWidth"],"sourceRoot":""}