{"version":3,"file":"ImmersiveVideo-Chunk-68f228c5bd009d155565.js","mappings":"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","sources":["webpack://nikon-client/./components/atoms/Image/Image.tsx","webpack://nikon-client/./components/atoms/Video/Video.tsx","webpack://nikon-client/./components/molecules/InViewVideo/InViewVideo.tsx","webpack://nikon-client/./components/organisms/ImmersiveVideo/ImmersiveVideo.tsx","webpack://nikon-client/./models/enums/BreakpointEnum.ts","webpack://nikon-client/./state-management/AriaLabelsStore.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/usePreviewMode.ts","webpack://nikon-client/./utility/hooks/useResizeObserver.ts","webpack://nikon-client/./node_modules/.pnpm/react-icomoon@2.6.0_react@18.3.1/node_modules/react-icomoon/dist/index.js","webpack://nikon-client/./node_modules/.pnpm/zustand@3.7.2_react@18.3.1/node_modules/zustand/esm/index.js","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/render/dom/viewport/index.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/utils/use-in-view.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-motion-value.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-spring.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/utils/transform.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-combine-values.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-transform.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/value/use-computed.mjs"],"sourcesContent":["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 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;\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 }\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 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) => {\n onVolumeChange?.(event.target);\n }}\n {...videoAttributes}\n />\n )}\n \n );\n }\n);\n\nexport default Video;\n","import Icon from '@atoms/Icon/Icon';\nimport Image from '@atoms/Image/Image';\nimport Video from '@atoms/Video/Video';\nimport { AspectRatioType } from '@models/IAspectRatio';\nimport { IImage } from '@models/IImage';\nimport { IMeta } from '@models/IMeta';\nimport { IVideo } from '@models/IVideo';\nimport useAriaLabels from '@utils/hooks/useAriaLabels';\nimport classNames from 'classnames';\nimport { AnimatePresence, motion, MotionValue, useInView } from 'framer-motion';\nimport { RefObject, useEffect, useRef, useState } from 'react';\n\ninterface Props {\n readonly autoPlay?: boolean;\n readonly controls?: boolean;\n readonly coverImage?: IImage;\n readonly dataTestId?: string;\n readonly hasInVideoPlayButton?: boolean;\n readonly inVideoPlayButtonClassName?: string;\n readonly inVideoPlayButtonPositionClassName?: string;\n readonly inVideoPlayButtonTabIndex?: number;\n readonly inViewThreshold?: number;\n readonly meta?: IMeta;\n readonly playOnCoverClick?: boolean;\n readonly video: IVideo;\n readonly videoClasses?: string;\n readonly videoRatio?: AspectRatioType;\n readonly videoWrapperOpacityProgress?: MotionValue;\n readonly wrapperClasses?: string;\n readonly onFocusCallback?: (e: React.FocusEvent) => void;\n}\n\nconst InViewVideo = ({\n autoPlay = false,\n controls,\n coverImage,\n dataTestId = 'In-View-Video',\n hasInVideoPlayButton,\n inVideoPlayButtonClassName,\n inVideoPlayButtonPositionClassName = 'bottom-5 left-5',\n inVideoPlayButtonTabIndex = 0,\n inViewThreshold = 0.5,\n meta,\n onFocusCallback,\n playOnCoverClick = true,\n video,\n videoClasses,\n videoRatio,\n videoWrapperOpacityProgress,\n wrapperClasses,\n}: Props) => {\n const [isPlaying, setIsPlaying] = useState(false);\n const [isVideoManuallyPaused, setIsVideoManuallyPaused] = useState(false);\n const [isMuted, setIsMuted] = useState(false);\n const [videoReady, setVideoReady] = useState(false);\n const videoRef = useRef(null);\n const inView = useInView(videoRef, { amount: inViewThreshold });\n const isAutoPlaying = !hasInVideoPlayButton\n ? autoPlay\n : autoPlay && !isVideoManuallyPaused;\n const { playVideoAriaLabel, pauseVideoAriaLabel } = useAriaLabels();\n\n useEffect(() => {\n setIsPlaying(isAutoPlaying && inView);\n setIsMuted(!controls || !inView || isAutoPlaying);\n }, [isAutoPlaying, inView, controls]);\n\n return (\n \n }\n videoAttributes={{\n playsinline: true,\n muted: isMuted,\n playing: isPlaying,\n loop: true,\n }}\n onVideoReady={() => setVideoReady(true)}\n epiEdit={meta?.editHints?.video as string | undefined}\n controls={controls}\n videoRatio={videoRatio}\n isPlaying={isPlaying}\n setIsPlaying={setIsPlaying}\n videoWrapperOpacityProgress={videoWrapperOpacityProgress}\n onVolumeChange={(videoElement) => {\n setIsMuted(videoElement.volume === 0 || videoElement.muted);\n }}\n />\n\n {hasInVideoPlayButton && videoReady && (\n {\n setIsPlaying(!isPlaying);\n setIsVideoManuallyPaused(isPlaying);\n }}\n onFocus={onFocusCallback}\n data-testid={`${dataTestId}-${isPlaying ? 'Pause' : 'Play'}-Button`}\n data-video-control=\"toggle\"\n tabIndex={inVideoPlayButtonTabIndex}\n >\n \n \n )}\n\n {(coverImage || !isAutoPlaying) && (\n \n {!isPlaying && (\n playOnCoverClick && setIsPlaying(true)}\n className=\"group absolute inset-0 flex items-center justify-center hover:cursor-pointer\"\n >\n {coverImage && (\n \n )}\n\n {!isAutoPlaying && coverImage && (\n setIsPlaying(true)}\n data-testid={`${dataTestId}-Play-Button`}\n >\n
\n \n
\n \n )}\n \n )}\n
\n )}\n \n );\n};\n\nexport default InViewVideo;\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n/**\n * The approach for the zoom effect:\n * - render a hidden clone (opacity 0) of the camera image so we know the initial render width and height of the camera image\n * - compute the maximum allowed scale value (having the clone camera image as reference) for the current viewport size\n * so we avoid scaling the image more than the viewport size (as we cannot control the scaling limit)\n * - use that maximum scale value and update the width and height of the original camera image by multiplying the initial\n * width and height with that maximum scale value in order to have the camera image rendered to its maximum scaling size\n * (with this we avoid blurry images on Safari caused by images that are initially rendered small and then are scaled up)\n * - whenever the maximum scale value changes (e.g. viewport is changed when device orientation is changed or window is resized)\n * compute the minimum scale value (1/maxScaleValue) so we basically render the camera image the same size it initially had\n * (the difference is that initially the camera image was rendered by default, while now it is rendered by being scaled down from\n * its max)\n * - we now bind the scaling to scrolling so we start from this minimum scale value up to 1 (where 1 represents\n * the camera image having the maximum width and height)\n * - after the camera image (together with the video thumbnail) reaches the full scale, because we need to keep expanding the\n * video thumbnail to fullscreen and because the video thumbnail may not have the same aspect ratio as the screen,\n * we have a clone for the video thumbnail that we keep expanding up to fullscreen\n */\n\nimport Image from '@atoms/Image/Image';\nimport { IImage } from '@models/IImage';\nimport { IVideo } from '@models/IVideo';\nimport InViewVideo from '@molecules/InViewVideo/InViewVideo';\nimport useMediaQuery from '@utils/hooks/useMediaQuery';\nimport usePreviewMode from '@utils/hooks/usePreviewMode';\nimport useResizeObserver from '@utils/hooks/useResizeObserver';\nimport classNames from 'classnames';\nimport {\n AnimatePresence,\n motion,\n useMotionValueEvent,\n useScroll,\n useSpring,\n useTransform,\n} from 'framer-motion';\nimport { useEffect, useRef, useState } from 'react';\n\ninterface IVideoThumbnailPosition {\n readonly top: number;\n readonly bottom: number;\n readonly left: number;\n readonly right: number;\n}\n\ninterface Props {\n readonly title: string;\n readonly subTitle: string;\n readonly text: string;\n readonly desktopCameraImage: IImage;\n readonly mobileCameraImage: IImage;\n readonly desktopVideoThumbnail: IImage;\n readonly mobileVideoThumbnail: IImage;\n readonly desktopVideoThumbnailPosition: IVideoThumbnailPosition;\n readonly mobileVideoThumbnailPosition: IVideoThumbnailPosition;\n readonly desktopVideo: IVideo;\n readonly mobileVideo: IVideo;\n}\n\nconst ImmersiveVideo = ({\n title,\n subTitle,\n text,\n desktopCameraImage,\n mobileCameraImage,\n desktopVideoThumbnail,\n mobileVideoThumbnail,\n desktopVideoThumbnailPosition,\n mobileVideoThumbnailPosition,\n desktopVideo,\n mobileVideo,\n}: Props) => {\n const isMobile = useMediaQuery(768);\n const isBelowDesktop = useMediaQuery(1024);\n const cameraImage = isBelowDesktop ? mobileCameraImage : desktopCameraImage;\n const videoThumbnail = isBelowDesktop\n ? mobileVideoThumbnail\n : desktopVideoThumbnail;\n const {\n top: videoThumbnailTopPercentage,\n bottom: videoThumbnailBottomPercentage,\n left: videoThumbnailLeftPercentage,\n right: videoThumbnailRightPercentage,\n } = isBelowDesktop\n ? mobileVideoThumbnailPosition\n : desktopVideoThumbnailPosition;\n const video = isBelowDesktop ? mobileVideo : desktopVideo;\n\n const scrollableContainerRef = useRef(null);\n const [\n viewportContainerRef,\n { width: viewportWidth, height: viewportHeight },\n ] = useResizeObserver();\n const [\n initialCameraImageRef,\n { width: initialCameraImageWidth, height: initialCameraImageHeight },\n ] = useResizeObserver();\n\n const [isCameraImageDisplayed, setIsCameraImageDisplayed] = useState(false);\n const [textDetailsRef, { height: textDetailsHeight }] = useResizeObserver();\n const [textRef, { height: textHeight }] = useResizeObserver();\n const textContainerRef = useRef(null);\n\n // The video thumbnail clone is basically the same image as the video thumbnail but we position it\n // relative to the viewport so we can expand it up to fullscreen, as by just scaling the original\n // video thumbnail we do not have control of the scaling so it scales up to fit the viewport exactly\n const [isVideoThumbnailCloneDisplayed, setIsVideoThumbnailCloneDisplayed] =\n useState(false);\n const [isVideoDisplayed, setIsVideoDisplayed] = useState(false);\n const [cameraImageWidth, setCameraImageWidth] = useState(0);\n const [cameraImageHeight, setCameraImageHeight] = useState(0);\n const [videoIsFocusedByTab, setVideoIsFocusedByTab] = useState(false);\n const isPreview = usePreviewMode();\n\n const { scrollYProgress } = useScroll({\n target: scrollableContainerRef,\n offset: ['start center', 'end end'],\n });\n const smoothScrollYProgress = useSpring(scrollYProgress, {\n stiffness: 500,\n damping: 50,\n });\n\n // Because the editor adds in the CMS the top, bottom, left and right position of the videoThumbnail within the camera image,\n // we also need to compute the actual width and height (first in percentage and then in actual px value) of the videoThumbnail\n const videoThumbnailWidthPercentage =\n 100 - videoThumbnailLeftPercentage - videoThumbnailRightPercentage;\n const videoThumbnailWidth =\n (videoThumbnailWidthPercentage / 100) * cameraImageWidth;\n const initialVideoThumbnailWidth =\n (videoThumbnailWidthPercentage / 100) * initialCameraImageWidth;\n\n const videoThumbnailHeightPercentage =\n 100 - videoThumbnailTopPercentage - videoThumbnailBottomPercentage;\n const videoThumbnailHeight =\n (videoThumbnailHeightPercentage / 100) * cameraImageHeight;\n const initialVideoThumbnailHeight =\n (videoThumbnailWidthPercentage / 100) * initialCameraImageHeight;\n\n // We want to make sure that by scaling the camera image (together with the videoThumbnail) we do not want to overflow the viewport,\n // so we just make it scale up to max 0.8 (random value chosen to make it look ok)\n // of either viewport width or height, whichever is smaller\n const maxHeightScale =\n initialVideoThumbnailHeight > 0\n ? Math.floor((0.8 * viewportHeight) / initialVideoThumbnailHeight)\n : 0;\n const maxWidthScale =\n initialVideoThumbnailWidth > 0\n ? Math.floor((0.8 * viewportWidth) / initialVideoThumbnailWidth)\n : 0;\n const maxCameraScale = isPreview\n ? 1\n : Math.min(maxHeightScale, maxWidthScale);\n const minCameraScale = maxCameraScale > 0 ? 1 / maxCameraScale : 0;\n\n const cameraImageScale = useTransform(\n smoothScrollYProgress,\n [0.2, 0.5],\n [minCameraScale > 0 ? minCameraScale : 1, 1]\n );\n const cameraImageOpacity = useTransform(\n smoothScrollYProgress,\n [0.3, 0.5],\n [0, isPreview ? 0 : 1]\n );\n const videoThumbnailCloneBorderRadius = useTransform(\n smoothScrollYProgress,\n [0.5, 0.6],\n [5 * maxCameraScale, 0]\n );\n const videoGradientOpacity = useTransform(\n smoothScrollYProgress,\n [0.8, 0.9],\n [0, 1]\n );\n const textGradientOpacity = useTransform(\n smoothScrollYProgress,\n [0.8, 0.9],\n [0, 1]\n );\n const textDetailsBottomPosition = useTransform(\n smoothScrollYProgress,\n [0.85, 0.95],\n [-textDetailsHeight, 0]\n );\n\n const initialVideoThumbnailCloneXPadding =\n (viewportWidth - videoThumbnailWidth) / 2;\n const initialVideoThumbnailCloneYPadding =\n (viewportHeight - videoThumbnailHeight) / 2;\n const videoThumbnailCloneXPadding = useTransform(\n smoothScrollYProgress,\n [0.5, 0.7],\n [initialVideoThumbnailCloneXPadding, 0]\n );\n const videoThumbnailCloneYPadding = useTransform(\n smoothScrollYProgress,\n [0.5, 0.7],\n [initialVideoThumbnailCloneYPadding, 0]\n );\n\n const cameraImageTransformOriginLeft =\n videoThumbnailLeftPercentage + videoThumbnailWidthPercentage / 2;\n const cameraImageTransformOriginTop =\n videoThumbnailTopPercentage + videoThumbnailHeightPercentage / 2;\n\n const cameraImageLeftPosition =\n viewportWidth / 2 -\n (cameraImageTransformOriginLeft / 100) * cameraImageWidth;\n const cameraImageFinalBottomPosition =\n viewportHeight / 2 -\n ((100 - cameraImageTransformOriginTop) / 100) * cameraImageHeight;\n const cameraImageBottomPosition = useTransform(\n smoothScrollYProgress,\n [0, 0.2],\n [\n isPreview\n ? cameraImageFinalBottomPosition\n : cameraImageFinalBottomPosition - initialCameraImageHeight,\n cameraImageFinalBottomPosition,\n ]\n );\n\n const videoThumbnailTopValue =\n (videoThumbnailTopPercentage / 100) * cameraImageHeight;\n const videoThumbnailLeftValue =\n (videoThumbnailLeftPercentage / 100) * cameraImageWidth;\n\n useMotionValueEvent(smoothScrollYProgress, 'change', (value) => {\n setIsVideoThumbnailCloneDisplayed(value >= 0.5);\n setIsVideoDisplayed(value >= 0.7);\n });\n\n useEffect(() => {\n if (isVideoDisplayed) scrollableContainerRef.current?.focus();\n }, [isVideoDisplayed]);\n\n useEffect(() => {\n if (videoIsFocusedByTab)\n scrollableContainerRef.current?.scrollIntoView({ block: 'end' });\n }, [videoIsFocusedByTab]);\n\n useEffect(() => {\n if (maxCameraScale === 0) return;\n\n setCameraImageWidth(maxCameraScale * initialCameraImageWidth);\n setCameraImageHeight(maxCameraScale * initialCameraImageHeight);\n setIsCameraImageDisplayed(true);\n }, [maxCameraScale, initialCameraImageWidth, initialCameraImageHeight]);\n\n return (\n \n \n \n \n
\n \n {title}\n

\n
\n\n setVideoIsFocusedByTab(true)}\n >\n \n \n\n \n \n \n\n \n \n \n \n \n\n {isVideoThumbnailCloneDisplayed && !isPreview && (\n \n \n \n \n \n )}\n\n \n {(isVideoDisplayed || videoIsFocusedByTab) && !isPreview && (\n \n div>video]:object-cover h-full\"\n video={video}\n autoPlay\n controls={false}\n onFocusCallback={(e) => {\n if (e.target.matches(':focus-visible'))\n setVideoIsFocusedByTab(!videoIsFocusedByTab);\n }}\n inViewThreshold={0}\n dataTestId=\"CT-151-Immersive-Video-In-View-Video\"\n />\n\n \n\n \n \n )}\n \n \n \n\n \n \n \n {subTitle}\n

\n \n {text}\n

\n \n \n \n \n );\n};\n\nexport default ImmersiveVideo;\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((set) => ({\n ariaLabels: initialAriaLabels,\n setAriaLabels: (ariaLabels: IAriaLabels) => set({ ariaLabels }),\n}));\n\nexport default useAriaLabelsStore;\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 { useEffect, useState } from 'react';\n\nconst usePreviewMode = () => {\n const [isPreview, setIsPreview] = useState(false);\n\n useEffect(() => {\n setIsPreview(window.self !== window.top);\n }, []);\n\n return isPreview;\n};\n\nexport default usePreviewMode;\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","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.iconList = void 0;\nvar react_1 = require(\"react\");\nvar IcoMoon = function (_a) {\n var iconSet = _a.iconSet, icon = _a.icon, size = _a.size, title = _a.title, disableFill = _a.disableFill, removeInlineStyle = _a.removeInlineStyle, native = _a.native, SvgComponent = _a.SvgComponent, PathComponent = _a.PathComponent, props = __rest(_a, [\"iconSet\", \"icon\", \"size\", \"title\", \"disableFill\", \"removeInlineStyle\", \"native\", \"SvgComponent\", \"PathComponent\"]);\n if (!iconSet || !icon)\n return null;\n var currentIcon = iconSet.icons.find(function (item) { return item.properties.name === icon; });\n if (!currentIcon)\n return null;\n var initialStyle = {\n display: \"inline-block\",\n stroke: \"currentColor\",\n fill: \"currentColor\",\n };\n if (native) {\n initialStyle.display = \"flex\";\n initialStyle.flexDirection = \"row\";\n initialStyle.flexWrap = \"wrap\";\n }\n var comptuedStyle = __assign(__assign(__assign({}, (removeInlineStyle ? {} : initialStyle)), (size ? { width: size, height: size } : {})), (props.style || {}));\n var _b = currentIcon.icon.width, width = _b === void 0 ? \"1024\" : _b;\n var viewBox = \"0 0 \".concat(width, \" 1024\");\n var children = currentIcon.icon.paths.map(function (path, index) {\n var _a;\n var attrs = (_a = currentIcon.icon.attrs) === null || _a === void 0 ? void 0 : _a[index];\n var pathProps = __assign({ d: path, key: icon + index }, (!disableFill && attrs ? attrs : {}));\n return (0, react_1.createElement)(PathComponent || \"path\", pathProps);\n });\n if (title && !native) {\n children.push((0, react_1.createElement)(\"title\", { key: title }, title));\n }\n return (0, react_1.createElement)(SvgComponent || \"svg\", __assign(__assign({}, props), { viewBox: viewBox, style: comptuedStyle }), children);\n};\nvar iconList = function (iconSet) {\n if (!iconSet || !Array.isArray(iconSet.icons))\n return null;\n return iconSet.icons.map(function (icon) { return icon.properties.name; });\n};\nexports.iconList = iconList;\nexports.default = IcoMoon;\n//# sourceMappingURL=index.js.map","import { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect } from 'react';\n\nfunction createStore(createState) {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (nextState !== state) {\n const previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribeWithSelector = (listener, selector = getState, equalityFn = Object.is) => {\n console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n let currentSlice = selector(state);\n function listenerToAdd() {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n listener(currentSlice = nextSlice, previousSlice);\n }\n }\n listeners.add(listenerToAdd);\n return () => listeners.delete(listenerToAdd);\n };\n const subscribe = (listener, selector, equalityFn) => {\n if (selector || equalityFn) {\n return subscribeWithSelector(listener, selector, equalityFn);\n }\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => listeners.clear();\n const api = { setState, getState, subscribe, destroy };\n state = createState(setState, getState, api);\n return api;\n}\n\nconst isSSR = typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nconst useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;\nfunction create(createState) {\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useStore = (selector = api.getState, equalityFn = Object.is) => {\n const [, forceUpdate] = useReducer((c) => c + 1, 0);\n const state = api.getState();\n const stateRef = useRef(state);\n const selectorRef = useRef(selector);\n const equalityFnRef = useRef(equalityFn);\n const erroredRef = useRef(false);\n const currentSliceRef = useRef();\n if (currentSliceRef.current === void 0) {\n currentSliceRef.current = selector(state);\n }\n let newStateSlice;\n let hasNewStateSlice = false;\n if (stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || erroredRef.current) {\n newStateSlice = selector(state);\n hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);\n }\n useIsomorphicLayoutEffect(() => {\n if (hasNewStateSlice) {\n currentSliceRef.current = newStateSlice;\n }\n stateRef.current = state;\n selectorRef.current = selector;\n equalityFnRef.current = equalityFn;\n erroredRef.current = false;\n });\n const stateBeforeSubscriptionRef = useRef(state);\n useIsomorphicLayoutEffect(() => {\n const listener = () => {\n try {\n const nextState = api.getState();\n const nextStateSlice = selectorRef.current(nextState);\n if (!equalityFnRef.current(currentSliceRef.current, nextStateSlice)) {\n stateRef.current = nextState;\n currentSliceRef.current = nextStateSlice;\n forceUpdate();\n }\n } catch (error) {\n erroredRef.current = true;\n forceUpdate();\n }\n };\n const unsubscribe = api.subscribe(listener);\n if (api.getState() !== stateBeforeSubscriptionRef.current) {\n listener();\n }\n return unsubscribe;\n }, []);\n const sliceToReturn = hasNewStateSlice ? newStateSlice : currentSliceRef.current;\n useDebugValue(sliceToReturn);\n return sliceToReturn;\n };\n Object.assign(useStore, api);\n useStore[Symbol.iterator] = function() {\n console.warn(\"[useStore, api] = create() is deprecated and will be removed in v4\");\n const items = [useStore, api];\n return {\n next() {\n const done = items.length <= 0;\n return { value: items.shift(), done };\n }\n };\n };\n return useStore;\n}\n\nexport { create as default };\n","import { resolveElements } from '../utils/resolve-element.mjs';\n\nconst thresholds = {\n some: 0,\n all: 1,\n};\nfunction inView(elementOrSelector, onStart, { root, margin: rootMargin, amount = \"some\" } = {}) {\n const elements = resolveElements(elementOrSelector);\n const activeIntersections = new WeakMap();\n const onIntersectionChange = (entries) => {\n entries.forEach((entry) => {\n const onEnd = activeIntersections.get(entry.target);\n /**\n * If there's no change to the intersection, we don't need to\n * do anything here.\n */\n if (entry.isIntersecting === Boolean(onEnd))\n return;\n if (entry.isIntersecting) {\n const newOnEnd = onStart(entry);\n if (typeof newOnEnd === \"function\") {\n activeIntersections.set(entry.target, newOnEnd);\n }\n else {\n observer.unobserve(entry.target);\n }\n }\n else if (onEnd) {\n onEnd(entry);\n activeIntersections.delete(entry.target);\n }\n });\n };\n const observer = new IntersectionObserver(onIntersectionChange, {\n root,\n rootMargin,\n threshold: typeof amount === \"number\" ? amount : thresholds[amount],\n });\n elements.forEach((element) => observer.observe(element));\n return () => observer.disconnect();\n}\n\nexport { inView };\n","import { useState, useEffect } from 'react';\nimport { inView } from '../render/dom/viewport/index.mjs';\n\nfunction useInView(ref, { root, margin, amount, once = false } = {}) {\n const [isInView, setInView] = useState(false);\n useEffect(() => {\n if (!ref.current || (once && isInView))\n return;\n const onEnter = () => {\n setInView(true);\n return once ? undefined : () => setInView(false);\n };\n const options = {\n root: (root && root.current) || undefined,\n margin,\n amount,\n };\n return inView(ref.current, onEnter, options);\n }, [root, ref, margin, once, amount]);\n return isInView;\n}\n\nexport { useInView };\n","import { useContext, useState, useEffect } from 'react';\nimport { motionValue } from './index.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\n\n/**\n * Creates a `MotionValue` to track the state and velocity of a value.\n *\n * Usually, these are created automatically. For advanced use-cases, like use with `useTransform`, you can create `MotionValue`s externally and pass them into the animated component via the `style` prop.\n *\n * ```jsx\n * export const MyComponent = () => {\n * const scale = useMotionValue(1)\n *\n * return \n * }\n * ```\n *\n * @param initial - The initial state.\n *\n * @public\n */\nfunction useMotionValue(initial) {\n const value = useConstant(() => motionValue(initial));\n /**\n * If this motion value is being used in static mode, like on\n * the Framer canvas, force components to rerender when the motion\n * value is updated.\n */\n const { isStatic } = useContext(MotionConfigContext);\n if (isStatic) {\n const [, setLatest] = useState(initial);\n useEffect(() => value.on(\"change\", setLatest), []);\n }\n return value;\n}\n\nexport { useMotionValue };\n","import { useContext, useRef, useInsertionEffect } from 'react';\nimport { isMotionValue } from './utils/is-motion-value.mjs';\nimport { useMotionValue } from './use-motion-value.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\nimport { animateValue } from '../animation/animators/js/index.mjs';\nimport { millisecondsToSeconds } from '../utils/time-conversion.mjs';\nimport { frameData } from '../frameloop/frame.mjs';\n\n/**\n * Creates a `MotionValue` that, when `set`, will use a spring animation to animate to its new state.\n *\n * It can either work as a stand-alone `MotionValue` by initialising it with a value, or as a subscriber\n * to another `MotionValue`.\n *\n * @remarks\n *\n * ```jsx\n * const x = useSpring(0, { stiffness: 300 })\n * const y = useSpring(x, { damping: 10 })\n * ```\n *\n * @param inputValue - `MotionValue` or number. If provided a `MotionValue`, when the input `MotionValue` changes, the created `MotionValue` will spring towards that value.\n * @param springConfig - Configuration options for the spring.\n * @returns `MotionValue`\n *\n * @public\n */\nfunction useSpring(source, config = {}) {\n const { isStatic } = useContext(MotionConfigContext);\n const activeSpringAnimation = useRef(null);\n const value = useMotionValue(isMotionValue(source) ? source.get() : source);\n const stopAnimation = () => {\n if (activeSpringAnimation.current) {\n activeSpringAnimation.current.stop();\n }\n };\n useInsertionEffect(() => {\n return value.attach((v, set) => {\n /**\n * A more hollistic approach to this might be to use isStatic to fix VisualElement animations\n * at that level, but this will work for now\n */\n if (isStatic)\n return set(v);\n stopAnimation();\n activeSpringAnimation.current = animateValue({\n keyframes: [value.get(), v],\n velocity: value.getVelocity(),\n type: \"spring\",\n restDelta: 0.001,\n restSpeed: 0.01,\n ...config,\n onUpdate: set,\n });\n /**\n * If we're between frames, resync the animation to the frameloop.\n */\n if (!frameData.isProcessing) {\n const delta = performance.now() - frameData.timestamp;\n if (delta < 30) {\n activeSpringAnimation.current.time =\n millisecondsToSeconds(delta);\n }\n }\n return value.get();\n }, stopAnimation);\n }, [JSON.stringify(config)]);\n useIsomorphicLayoutEffect(() => {\n if (isMotionValue(source)) {\n return source.on(\"change\", (v) => value.set(parseFloat(v)));\n }\n }, [value]);\n return value;\n}\n\nexport { useSpring };\n","import { interpolate } from './interpolate.mjs';\n\nconst isCustomValueType = (v) => {\n return v && typeof v === \"object\" && v.mix;\n};\nconst getMixer = (v) => (isCustomValueType(v) ? v.mix : undefined);\nfunction transform(...args) {\n const useImmediate = !Array.isArray(args[0]);\n const argOffset = useImmediate ? 0 : -1;\n const inputValue = args[0 + argOffset];\n const inputRange = args[1 + argOffset];\n const outputRange = args[2 + argOffset];\n const options = args[3 + argOffset];\n const interpolator = interpolate(inputRange, outputRange, {\n mixer: getMixer(outputRange[0]),\n ...options,\n });\n return useImmediate ? interpolator(inputValue) : interpolator;\n}\n\nexport { transform };\n","import { useMotionValue } from './use-motion-value.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\nimport { cancelFrame, frame } from '../frameloop/frame.mjs';\n\nfunction useCombineMotionValues(values, combineValues) {\n /**\n * Initialise the returned motion value. This remains the same between renders.\n */\n const value = useMotionValue(combineValues());\n /**\n * Create a function that will update the template motion value with the latest values.\n * This is pre-bound so whenever a motion value updates it can schedule its\n * execution in Framesync. If it's already been scheduled it won't be fired twice\n * in a single frame.\n */\n const updateValue = () => value.set(combineValues());\n /**\n * Synchronously update the motion value with the latest values during the render.\n * This ensures that within a React render, the styles applied to the DOM are up-to-date.\n */\n updateValue();\n /**\n * Subscribe to all motion values found within the template. Whenever any of them change,\n * schedule an update.\n */\n useIsomorphicLayoutEffect(() => {\n const scheduleUpdate = () => frame.update(updateValue, false, true);\n const subscriptions = values.map((v) => v.on(\"change\", scheduleUpdate));\n return () => {\n subscriptions.forEach((unsubscribe) => unsubscribe());\n cancelFrame(updateValue);\n };\n });\n return value;\n}\n\nexport { useCombineMotionValues };\n","import { transform } from '../utils/transform.mjs';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useComputed } from './use-computed.mjs';\n\nfunction useTransform(input, inputRangeOrTransformer, outputRange, options) {\n if (typeof input === \"function\") {\n return useComputed(input);\n }\n const transformer = typeof inputRangeOrTransformer === \"function\"\n ? inputRangeOrTransformer\n : transform(inputRangeOrTransformer, outputRange, options);\n return Array.isArray(input)\n ? useListTransform(input, transformer)\n : useListTransform([input], ([latest]) => transformer(latest));\n}\nfunction useListTransform(values, transformer) {\n const latest = useConstant(() => []);\n return useCombineMotionValues(values, () => {\n latest.length = 0;\n const numValues = values.length;\n for (let i = 0; i < numValues; i++) {\n latest[i] = values[i].get();\n }\n return transformer(latest);\n });\n}\n\nexport { useTransform };\n","import { collectMotionValues } from './index.mjs';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\n\nfunction useComputed(compute) {\n /**\n * Open session of collectMotionValues. Any MotionValue that calls get()\n * will be saved into this array.\n */\n collectMotionValues.current = [];\n compute();\n const value = useCombineMotionValues(collectMotionValues.current, compute);\n /**\n * Synchronously close session of collectMotionValues.\n */\n collectMotionValues.current = undefined;\n return value;\n}\n\nexport { useComputed };\n"],"names":["_ref","children","classes","dataTestId","epiEdit","image","imageClasses","imageRef","lazyLoad","progressiveLoad","sizes","mobileSource","mobile","tabletSource","tablet","desktopSource","desktop","largeDesktopSource","largeDesktop","breakpoint","useBreakpoint","isLoaded","setIsLoaded","useState","url","currentSrc","BreakpointEnum","Small","Medium","Large","XLarge","React","createElement","className","classNames","type","srcSet","_extends","ref","alt","altText","length","draggable","loading","onLoad","src","height","width","originalUrl","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","motion","div","style","opacity","playing","onProgress","_ref2","played","onStart","onEnded","onPause","onPlay","onReady","target","autoPlay","coverImage","hasInVideoPlayButton","inVideoPlayButtonClassName","inVideoPlayButtonPositionClassName","inVideoPlayButtonTabIndex","inViewThreshold","meta","onFocusCallback","playOnCoverClick","video","videoClasses","wrapperClasses","isVideoManuallyPaused","setIsVideoManuallyPaused","isMuted","setIsMuted","videoReady","setVideoReady","videoRef","useRef","inView","useInView","amount","isAutoPlaying","playVideoAriaLabel","pauseVideoAriaLabel","useAriaLabels","Video","playsinline","muted","loop","editHints","videoElement","volume","onClick","onFocus","tabIndex","Icon","name","colorClassName","size","AnimatePresence","initial","animate","exit","Image","subTitle","text","desktopCameraImage","mobileCameraImage","desktopVideoThumbnail","mobileVideoThumbnail","desktopVideoThumbnailPosition","mobileVideoThumbnailPosition","desktopVideo","mobileVideo","isMobile","useMediaQuery","isBelowDesktop","cameraImage","videoThumbnail","top","videoThumbnailTopPercentage","bottom","videoThumbnailBottomPercentage","left","videoThumbnailLeftPercentage","right","videoThumbnailRightPercentage","scrollableContainerRef","viewportContainerRef","viewportWidth","viewportHeight","useResizeObserver","initialCameraImageRef","initialCameraImageWidth","initialCameraImageHeight","isCameraImageDisplayed","setIsCameraImageDisplayed","textDetailsRef","textDetailsHeight","textRef","textHeight","textContainerRef","isVideoThumbnailCloneDisplayed","setIsVideoThumbnailCloneDisplayed","isVideoDisplayed","setIsVideoDisplayed","cameraImageWidth","setCameraImageWidth","cameraImageHeight","setCameraImageHeight","videoIsFocusedByTab","setVideoIsFocusedByTab","isPreview","usePreviewMode","scrollYProgress","useScroll","offset","smoothScrollYProgress","useSpring","stiffness","damping","videoThumbnailWidthPercentage","videoThumbnailWidth","initialVideoThumbnailWidth","videoThumbnailHeightPercentage","videoThumbnailHeight","initialVideoThumbnailHeight","maxHeightScale","Math","floor","maxWidthScale","maxCameraScale","min","minCameraScale","cameraImageScale","useTransform","cameraImageOpacity","videoThumbnailCloneBorderRadius","videoGradientOpacity","textGradientOpacity","textDetailsBottomPosition","initialVideoThumbnailCloneXPadding","initialVideoThumbnailCloneYPadding","videoThumbnailCloneXPadding","videoThumbnailCloneYPadding","cameraImageTransformOriginLeft","cameraImageTransformOriginTop","cameraImageLeftPosition","cameraImageFinalBottomPosition","cameraImageBottomPosition","videoThumbnailTopValue","videoThumbnailLeftValue","useMotionValueEvent","value","current","focus","scrollIntoView","block","paddingBottom","scale","transformOrigin","borderRadius","paddingTop","paddingLeft","paddingRight","transition","duration","InViewVideo","e","matches","initialAriaLabels","backToFirstLevelNavigationAriaLabel","breadcrumbAriaLabel","breadcrumbFooterAriaLabel","clearFiltersAriaLabel","closeMenuAriaLabel","closeAddressListAriaLabel","closeMobileNavigationAriaLabel","closeModalAriaLabel","closeSignUpFormAriaLabel","closeSiteNotificationAriaLabel","copyToClipboardAriaLabel","editOrDeleteAriaLabel","mainNavigationAriaLabel","moreInformationAriaLabel","nextAriaLabel","openAddressListAriaLabel","openImageInFullScreenAriaLabel","openMenuAriaLabel","overlayToCloseDesktopNavigationAriaLabel","previousAriaLabel","searchAriaLabel","shareToFacebookAriaLabel","shareToWhatsappAriaLabel","shareToXAriaLabel","siteNotificationsAriaLabel","uspStripAriaLabel","zoomInAriaLabel","zoomOutAriaLabel","create","set","ariaLabels","setAriaLabels","eventPayload","dataLayer","push","ariaLabelsFromStore","useAriaLabelsStore","state","getCurrentBreakpoint","breakpoints","innerWidth","screen","setScreen","resizeHandler","useCallback","addEventListener","removeEventListener","minWidth","isSmallerThan","setIsSmallerThan","handler","isDesiredWidth","setIsPreview","self","observerRef","resizeParameters","setResizeParameters","clientWidth","clientHeight","scrollWidth","scrollHeight","handleResize","entries","Array","isArray","entry","contentRect","node","disconnect","undefined","ResizeObserver","observe","__assign","this","Object","assign","t","s","i","n","arguments","p","prototype","hasOwnProperty","call","apply","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","defineProperty","exports","iconList","react_1","iconSet","icons","map","icon","properties","_a","disableFill","removeInlineStyle","native","SvgComponent","PathComponent","props","currentIcon","find","item","initialStyle","display","stroke","fill","flexDirection","flexWrap","comptuedStyle","_b","viewBox","concat","paths","path","index","attrs","pathProps","d","key","createStore","createState","listeners","Set","setState","partial","replace","nextState","previousState","forEach","listener","getState","api","subscribe","selector","equalityFn","is","console","warn","currentSlice","listenerToAdd","nextSlice","previousSlice","add","delete","subscribeWithSelector","destroy","clear","useIsomorphicLayoutEffect","navigator","test","userAgent","useLayoutEffect","useStore","forceUpdate","useReducer","c","stateRef","selectorRef","equalityFnRef","erroredRef","currentSliceRef","newStateSlice","hasNewStateSlice","stateBeforeSubscriptionRef","nextStateSlice","error","unsubscribe","sliceToReturn","useDebugValue","Symbol","iterator","items","next","done","shift","thresholds","some","all","root","margin","once","isInView","setInView","options","elementOrSelector","rootMargin","elements","activeIntersections","WeakMap","observer","IntersectionObserver","onEnd","get","isIntersecting","Boolean","newOnEnd","unobserve","threshold","element","useMotionValue","isStatic","useContext","setLatest","on","source","activeSpringAnimation","stopAnimation","stop","useInsertionEffect","attach","v","keyframes","velocity","getVelocity","restDelta","restSpeed","onUpdate","isProcessing","delta","performance","now","timestamp","time","JSON","stringify","parseFloat","getMixer","mix","isCustomValueType","useCombineMotionValues","values","combineValues","updateValue","scheduleUpdate","update","subscriptions","input","inputRangeOrTransformer","outputRange","compute","useComputed","transformer","args","useImmediate","argOffset","inputValue","inputRange","interpolator","interpolate","mixer","transform","useListTransform","latest","numValues"],"sourceRoot":""}