{"version":3,"file":"static/chunks/8408.6e804c4aa004eaa7.js","mappings":"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","sources":["webpack://_N_E/./adapters/helpers/ConstantsGA.js","webpack://_N_E/./adapters/helpers/ContentBlockConfiguration.js","webpack://_N_E/./adapters/helpers/DeviceTypes.js","webpack://_N_E/./adapters/helpers/Hooks.js","webpack://_N_E/./components/ContentVideo/ContentVideo.js","webpack://_N_E/./components/Label/Label.js","webpack://_N_E/./node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/react-is/index.js"],"sourcesContent":["export const AnalyticsConstants = Object.freeze({\n    collapseText: 'Collapse Link',\n    expandText: 'Expand Link',\n    learnMoreText: 'Learn More',\n    countrySelectorText: 'Open Country Selector Panel',\n    openVideoText: 'Open Video',\n    buttonPriceText: 'Open Price Panel',\n    contentVideoOverlayText: 'Outside Panel',\n    videoPlayText: 'Play',\n    videoPauseText: 'Pause',\n    videoMuteText: 'Sound: Off',\n    videoUnmuteText: 'Sound: On',\n    videoCloseCaptionsOnText: 'Caption: On',\n    videoCloseCaptionsOffText: 'Caption: Off',\n    videoFullscreenOnText: 'Full Screen: On',\n    videoFullscreenOffText: 'Full Screen: Off',\n    dropdownMenu: 'Dropdown Menu',\n    rotationView: '360 View',\n    facebook: 'Facebook',\n    twitter: 'Twitter',\n    openLiveChat: 'Open Live Chat',\n    expandFaq: 'Expand FAQ',\n    previousPage: 'Previous Page',\n    nextPage: 'Next Page',\n    promoRedeem: 'Redeem: '\n});","import {DeviceType} from './DeviceTypes';\n\nexport function getConfigurationValue(availableConfigurations, devicesConfigurations, fieldName, isMobile, isTiny, isTablet, defaultValue = false,isHomepage) {\n    let value = defaultValue;\n    if (availableConfigurations.indexOf(DeviceType.All) >= 0) {\n        /*\n          if configuration for device type ALL exist, only care about that one\n         */\n        let configuration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.All);\n        value = configuration.fields[fieldName] || defaultValue;\n    } else {\n        /*\n         in the other case fetch mobile and desktop value and return the one matching the is mobile variable\n         given requested value is for mobile and mobile value is empty then use the desktop value\n        */\n        let tinyConfiguration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.TINY);\n        let mobileConfiguration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.MOBILE);\n        let tabletConfiguration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.TABLET);\n        let desktopConfiguration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.DESKTOP);\n\n        let tinyValue = tinyConfiguration ? tinyConfiguration.fields[fieldName] || defaultValue : defaultValue;\n        let mobileValue = mobileConfiguration ? mobileConfiguration.fields[fieldName] || defaultValue : defaultValue;\n        let tabletValue = tabletConfiguration ? tabletConfiguration.fields[fieldName] || defaultValue : defaultValue;\n        let desktopValue = desktopConfiguration ? desktopConfiguration.fields[fieldName] || defaultValue : defaultValue;\n\n        if (isTiny) {\n            value = tinyValue || mobileValue || desktopValue;\n        } else if (isMobile) {\n            value = mobileValue || tabletValue || desktopValue;\n        } else if (isTablet) {\n            value = tabletValue || desktopValue;\n        } else {\n            value = desktopValue\n        }\n        if(!isHomepage && isTiny == null && isMobile == null && isTablet == null){\n            value = mobileValue\n        }\n    }\n    return value;\n}\n\nexport function getConfigurationBooleanValue(availableConfigurations, devicesConfigurations, fieldName, isMobile, isTiny, isTablet, defaultValue = false) {\n    let value = defaultValue;\n    \n    if (availableConfigurations.indexOf(DeviceType.All) >= 0) {\n        /*\n          if configuration for device type ALL exist, only care about that one\n         */\n        let configuration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.All);\n        value = configuration.fields[fieldName] ? configuration.fields[fieldName] : defaultValue;\n    } else {\n        /*\n         in the other case fetch mobile and desktop value and return the one matching the is mobile variable\n         given requested value is for mobile and mobile value is empty then use the desktop value\n        */\n\n        let tinyConfiguration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.TINY);\n        let mobileConfiguration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.MOBILE);\n        let tabletConfiguration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.TABLET);\n        let desktopConfiguration = devicesConfigurations.find(conf => conf.fields.deviceType === DeviceType.DESKTOP);\n\n        let tinyValue = tinyConfiguration && tinyConfiguration.fields[fieldName]\n            ? tinyConfiguration.fields[fieldName] : defaultValue;\n        let mobileValue = mobileConfiguration && mobileConfiguration.fields[fieldName]\n            ? mobileConfiguration.fields[fieldName] : defaultValue;\n        let tabletValue = tabletConfiguration && tabletConfiguration.fields[fieldName]\n            ? tabletConfiguration.fields[fieldName] : defaultValue;\n        let desktopValue = desktopConfiguration && desktopConfiguration.fields[fieldName]\n            ? desktopConfiguration.fields[fieldName] : defaultValue;\n\n        if (isTiny) {\n            value = tinyValue || mobileValue || desktopValue;\n        } else if (isMobile) {\n            value = mobileValue || tabletValue || desktopValue;\n        } else if (isTablet) {\n            value = tabletValue || desktopValue;\n        } else {\n            value = desktopValue\n        }\n    }\n    return value;\n}","export const DeviceType = Object.freeze({\n    All:'all',\n    DESKTOP:'desktop',\n    MOBILE:'mobile',\n    TINY:'tiny',\n    TABLET: 'tablet'\n});","import React, { useState, useEffect, useLayoutEffect } from 'react';\n\n// https://github.com/streamich/react-use/blob/master/docs/useIsomorphicLayoutEffect.md\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport function useMatchMedia(mediaQueryString, initialValue = null) {\n    const [match, setMatch] = useState(initialValue);\n\n    useEffect(\n        () => {\n            if (!window.matchMedia) {\n                return;\n            }\n\n            function handleMatch(event) {\n                setMatch(event.matches);\n            }\n\n            const matchMedia = window.matchMedia(mediaQueryString);\n\n            setMatch(matchMedia.matches);\n            matchMedia.addListener(handleMatch);\n\n            return () => {\n                matchMedia.removeListener(handleMatch);\n            };\n        },\n        [mediaQueryString]\n    );\n    return match;\n}\n\nexport const mediaQueryHOC = (Component) => {\n    function MediaQueryHOC(props) {\n        const isXSmall = useMatchMedia('(max-width: 375px)');\n        const isSmall = useMatchMedia('(max-width: 479px)');\n        const isMedium = useMatchMedia('(max-width: 767px)');\n        const isLarge = useMatchMedia('(max-width: 991px)');\n        const isXLarge = useMatchMedia('(max-width: 1023px)');\n        return (\n            <Component\n                isXSmall={isXSmall}\n                isSmall={isSmall}\n                isMedium={isMedium}\n                isLarge={isLarge}\n                isXLarge={isXLarge}\n                {...props}\n            />\n        );\n    }\n    return MediaQueryHOC;\n};\n\nlet listeners = [];\nlet state = { currentProductIndex: 0 };\n\nconst setState = (newState) => {\n    state = { ...state, ...newState };\n    listeners.forEach((listener) => {\n        listener(state);\n    });\n};\n\nexport const updateCurrentProductIndex = () => {\n    const newListener = useState()[1];\n    useEffect(() => {\n        listeners.push(newListener);\n    }, []);\n    return [state, setState];\n};\n","import { getConfigurationBooleanValue, getConfigurationValue } from '../../adapters/helpers/ContentBlockConfiguration';\nimport React, { Component, Suspense } from 'react';\nimport dynamic from 'next/dynamic';\nimport Block from '../../adapters/helpers/Block';\nimport LazyLoad from 'react-lazy-load';\nimport { Waypoint } from 'react-waypoint';\nimport Modal from 'react-modal';\nimport { mediaQueryHOC } from '../../adapters/helpers/Hooks';\nimport PropTypes from 'prop-types';\nimport { ContentConstants, ContentVideoConstants, SpotlightContentVideoConstants } from '../../adapters/helpers/Constants';\nimport { Label } from '../Label/Label';\nimport { AnalyticsConstants } from '../../adapters/helpers/ConstantsGA';\nimport { getRGBFromHexColor, stripHtml } from '../../adapters/helpers/Utils';\nimport Loader from '../../adapters/helpers/Loader';\nconst VideoPlayerAudioDescription = dynamic(() => import('../VideoPlayer/VideoPlayerAudiDescription'));\nconst Image = dynamic(() => import('../Image/Image'));\nconst VideoPlayer = dynamic(() => import('../VideoPlayer/VideoPlayer'));\nconst Icon = dynamic(() => import('../Icon/Icon'));\nconst Heading = dynamic(() => import('../Heading/Heading'));\nconst BodyText = dynamic(() => import('../BodyText/BodyText'));\nconst Disclaimer = dynamic(() => import('../Disclaimer/Disclaimer'));\nconst YoutubeVideo = dynamic(() => import('../YoutubeVideo/YoutubeVideo'));\n/**\n * TODOs\n *  - Proper style for video modal\n *  - Proper interaction for video transcript (currently in visuallyhidden container)\n *  - add back-end copy for playVideoCopy and closeVideoCopy (for accessibility purposes)\n */\n/**\n *\n * Supported Classes:\n *  By default the background is white and the text color is primary-grey.\n *  - white-text : change the text color to white\n *  - align-center : force a text-align: center without impacting the text container alignment *\n *  - background-primary-grey : change the background to primary grey\n *  - background-secondary-grey : change the background to secondary grey\n *  - background-secondary-off-white : change the background to secondary-off-white\n *  - background-isolate-grey : change the background to isolate grey\n *  - background-primary-blue : change the background to primary-blue\n *  - background-secondary-blue : change the background to secondary-blue\n */\nconst customStyles = {\n    overlay: {\n        position: 'fixed',\n        top: '0px',\n        left: '0px',\n        right: '0px',\n        bottom: '0px',\n        backgroundColor: 'rgba(0, 0, 0, 0.5)'\n    },\n    content: {\n        border: 'none',\n        top: '50%',\n        left: '50%',\n        right: 'auto',\n        bottom: 'auto',\n        padding: '0',\n        marginRight: '-50%',\n        transform: 'translate(-50%, -50%)',\n        maxWidth: '100rem',\n        width: '90%'\n    }\n};\n\nconst customTranscriptStyles = {\n    overlay: {\n        position: 'fixed',\n        top: '0px',\n        left: '0px',\n        right: '0px',\n        bottom: '0px',\n        backgroundColor: 'rgba(0, 0, 0, 0.5)'\n    },\n    content: {\n        border: 'none',\n        top: '50%',\n        left: '50%',\n        right: 'auto',\n        bottom: 'auto',\n        padding: '45px 20px 20px',\n        fontSize: '1.4rem',\n        lineHeight: '2.1rem',\n        marginRight: '-50%',\n        transform: 'translate(-50%, -50%)',\n        maxWidth: '123.6rem',\n        width: '90%'\n    }\n};\n\nclass ContentVideo extends Component {\n    constructor(props) {\n        super(props);\n        this.block = new Block(props);\n        this.videoBlockRef = React.createRef();\n        this.videoPlayerRef = React.createRef();\n        this.modalRef = React.createRef();\n        this.modalOverlayRef = null;\n        this.state = {\n            modalIsOpen: false,\n            isPlaying: false,\n            selectedVideo: null\n        };\n        this.openModal = this.openModal.bind(this);\n        this.handlePlayClick = this.handlePlayClick.bind(this);\n        this.handleResetClick = this.handleResetClick.bind(this);\n        this.closeModal = this.closeModal.bind(this);\n        this.handleVideoEvent = this.handleVideoEvent.bind(this);\n        this.trapFocusInModal = this.trapFocusInModal.bind(this);\n        this.availableConfigurations = this.valueOf(ContentConstants.devicesConfigurations)?.map(configuration => configuration.fields.deviceType);\n    }\n\n    handlePlayClick() {\n        const videoRef = this.videoPlayerRef.current?.getVideoRef();\n        const videoPlayerControlsRef = this.videoPlayerRef?.current?.getVideoPlayerRef();\n        if (videoPlayerControlsRef && videoRef && videoRef instanceof HTMLVideoElement) {\n            if (this.state.isPlaying) {\n                videoPlayerControlsRef.pause();\n            } else {\n                videoPlayerControlsRef.play();\n            }\n        }\n    }\n\n    handleVideoEvent(value) {\n        this.setState({ isPlaying: value });\n    }\n\n    handleResetClick() {\n        const videoPlayerControlsRef = this.videoPlayerRef?.current?.getVideoPlayerRef();\n        if (videoPlayerControlsRef) {\n            videoPlayerControlsRef.currentTime(0);\n            videoPlayerControlsRef.play();\n        }\n    }\n\n    openModal() {\n        this.setState({ modalIsOpen: true });\n    }\n\n    openVideoModal(selectedVideo) {\n        selectedVideo && this.setState({ selectedVideo: { ...selectedVideo?.fields } });\n        this.setState({ modalIsOpen: true });\n    }\n    openYoutubeVideoModal(selectedVideo) {\n        selectedVideo && this.setState({ selectedVideo: { ...selectedVideo?.fields } });\n        this.setState({ modalIsOpen: true });\n    }\n\n    afterOpenModal() {\n        if (this.modalOverlayRef && this.modalOverlayRef.getAttribute('data-action-detail') == null) {\n            this.modalOverlayRef.setAttribute('data-action-detail', AnalyticsConstants.contentVideoOverlayText);\n        }\n    }\n\n    closeModal() {\n        this.setState({ modalIsOpen: false });\n    }\n\n    trapFocusInModal(event) {\n        // The modal traps focus by default, however\n        // the Cloudinary video player has many hidden 'focusable' elements.\n        // The modal was trying to focus on elements that were hidden in the DOM,\n        // so it focused on the rest of the page instead.\n        const element = event.currentTarget;\n        const focusableElements = element.querySelectorAll('.vjs-control-bar button:not([disabled]), .vjs-control-bar a[href]:not([disabled]), .ob-modal-close');\n        const firstFocusableElement = focusableElements[0];\n        const lastFocusableElement = focusableElements[focusableElements.length - 1];\n        const KEYCODE_TAB = 9;\n        const isTabPressed = (event.key === ContentVideoConstants.Tab || event.keyCode === KEYCODE_TAB);\n\n        if (!isTabPressed) { return; }\n        if (event.shiftKey) /* shift + tab */ {\n            if (document.activeElement === firstFocusableElement) {\n                lastFocusableElement.focus();\n                event.preventDefault();\n            }\n        } else /* tab */ {\n            if (document.activeElement === lastFocusableElement) {\n                firstFocusableElement.focus();\n                event.preventDefault();\n            }\n        }\n    }\n\n    valueOf(name) {\n        return this.block.getFieldValue(name);\n    }\n\n    generateContentblockState() {\n        return {\n            availableConfigurations: this.valueOf(ContentConstants.devicesConfigurations)?.map(configuration => configuration.fields.deviceType),\n            blockMinHeight: this.configurationValue(ContentConstants.blockMinHeight, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            blockMarginTop: this.configurationValue(ContentConstants.blockMarginTop, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            blockMarginBottom: this.configurationValue(ContentConstants.blockMarginBottom, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            blockMarginRight: this.configurationValue(ContentConstants.blockMarginRight, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            blockMarginLeft: this.configurationValue(ContentConstants.blockMarginLeft, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            blockPadding: this.configurationValue(ContentConstants.blockPadding, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textAlign: this.configurationValue(ContentConstants.textAlign, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textContainerWidth: this.configurationValue(ContentConstants.textContainerWidth, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            titleWidth: this.configurationValue(ContentConstants.titleWidth, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            descriptionWidth: this.configurationValue(ContentConstants.descriptionWidth, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textContainerHorizontalAlignment: this.configurationValue(ContentConstants.textContainerHorizontalAlignment, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textContainerVerticalAlignment: this.configurationValue(ContentConstants.textContainerVerticalAlignment, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textContainerOffset: this.configurationValue(ContentConstants.textContainerOffset, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textContainerMarginRight: this.configurationValue(ContentConstants.textContainerMarginRight, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textContainerMarginLeft: this.configurationValue(ContentConstants.textContainerMarginLeft, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textContainerMarginBottom: this.configurationValue(ContentConstants.textContainerMarginBottom, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAsset: this.configurationValue(ContentConstants.mainAsset, this.isMedium, this.isXSmall, this.isXLarge,),\n            mainAssetBelowOrAboveText: this.configurationValue(ContentConstants.mainAssetBelowOrAboveText, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetMaxWidth: this.configurationValue(ContentConstants.mainAssetMaxWidth, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetMaxHeight: this.configurationValue(ContentConstants.mainAssetMaxHeight, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetHeight: this.configurationValue(ContentConstants.mainAssetHeight, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetOffsetTop: this.configurationValue(ContentConstants.mainAssetMarginTop, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetOffsetRight: this.configurationValue(ContentConstants.mainAssetMarginRight, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetOffsetBottom: this.configurationValue(ContentConstants.mainAssetOffsetBottom, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetOffsetLeft: this.configurationValue(ContentConstants.mainAssetOffsetLeft, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetScale: this.configurationValue(ContentConstants.mainAssetScale, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            backgroundAsset: this.configurationValue(ContentConstants.backgroundAsset, this.isMedium, this.isXSmall, this.isXLarge),\n            mainAssetHorizontalAlignment: this.configurationValue(ContentConstants.mainAssetHorizontalAlignment, this.isMedium, this.isXSmall, this.isXLarge),\n            mainAssetVerticalAlignment: this.configurationValue(ContentConstants.mainAssetVerticalAlignment, this.isMedium, this.isXSmall, this.isXLarge),\n            backgroundPosition: this.configurationValue(ContentConstants.backgroundPosition, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            sectionOffsetTop: this.configurationValue(ContentConstants.sectionOffsetTop, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetParallax: this.configurationValue(ContentConstants.mainAssetParallax, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            mainAssetParallaxSetting: this.configurationValue(ContentConstants.mainAssetParallaxSetting, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textParallax: this.configurationValue(ContentConstants.textParallax, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textParallaxSetting: this.configurationValue(ContentConstants.textParallaxSetting, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textParallaxConfiguration: this.configurationValue(ContentConstants.textParallaxConfiguration, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            assetParallaxConfiguration: this.configurationValue(ContentConstants.assetParallaxConfiguration, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textShowAnimation: this.configurationValue(ContentConstants.textShowAnimation, this.isMedium, this.isXSmall, this.isXLarge, ''),\n            textFadeIn: this.configurationBooleanValue(ContentConstants.textFadeIn, this.isMedium, this.isXSmall, this.isXLarge),\n            textColor: this.configurationBooleanValue(ContentConstants.textColor, this.isMedium, this.isXSmall, this.isXLarge),\n            respectImageAspectRatio: this.configurationBooleanValue(ContentConstants.respectImageAspectRatio, this.isMedium, this.isXSmall, this.isXLarge),\n            textContainerBackgroundColor: this.configurationValue(ContentConstants.textContainerBackgroundColor, this.isMedium, this.isXSmall, this.isXLarge),\n            textContainerBackgroundOpacity: this.configurationValue(ContentConstants.textContainerBackgroundOpacity, this.isMedium, this.isXSmall, this.isXLarge),\n        };\n    }\n\n    configurationValue(fieldName, isMedium, isXSmall, isXLarge, defaultValue = false) {\n        return this.availableConfigurations ? getConfigurationValue(this.availableConfigurations,\n            this.valueOf(ContentConstants.devicesConfigurations),\n            fieldName,\n            isMedium,\n            isXSmall,\n            isXLarge,\n            defaultValue) : null;\n    }\n\n    configurationBooleanValue(fieldName, isMedium, isXSmall, isXLarge, defaultValue = false) {\n        return this.availableConfigurations ? getConfigurationBooleanValue(this.availableConfigurations,\n            this.valueOf(ContentConstants.devicesConfigurations),\n            fieldName,\n            isMedium,\n            isXSmall,\n            isXLarge,\n            defaultValue) : defaultValue;\n    }\n\n    componentDidMount() {\n        try {\n            Modal.setAppElement('.js-modal-container');\n            if (this.modalRef && this.modalRef.current && this.modalRef.current.node) {\n                this.modalRef.current.node.addEventListener(ContentVideoConstants.keydown, this.trapFocusInModal);\n            }\n        }\n        catch (e) { console.log(e) }\n    }\n\n    componentWillUnmount() {\n        if (this.modalRef && this.modalRef.current && this.modalRef.current.node) {\n            this.modalRef.current.node.removeEventListener(ContentVideoConstants.keydown, this.trapFocusInModal);\n        }\n    }\n\n    _handleWaypointEnter = () => {\n        // Animation on the text container on the 'onEnter' event\n        // Trigger by waypoint\n        const node = this.videoBlockRef.current;\n        node.classList.add('show');\n    };\n\n    renderYoutubeVideo = (video) => {\n        if (video) {\n            return (\n                <div>\n                    <YoutubeVideo document={{ fields: video }} />\n                </div>\n            )\n        } else {\n            { console.log('Error in return') }\n        }\n    }\n\n    renderVideo = (video) => {\n        return video?.videoId ? <YoutubeVideo document={{ fields: video }} /> : video?.isAudioDescriptionVideoEnabled ? <VideoPlayerAudioDescription video={video} /> : <VideoPlayer video={video} />\n    };\n\n    render() {\n        // Can have the class white-text for color white,\n        // or align-center for centering the text (Left align by default)\n        // Can have the class button-right or button-top for play button position\n        this.isXSmall = this.props.isXSmall;\n        this.isMedium = this.props.isMedium;\n        this.isXLarge = this.props.isXLarge;\n        const mobileLayout = this.valueOf(ContentVideoConstants.mobileLayout);\n        const desktopLayout = this.valueOf(ContentVideoConstants.desktopLayout);\n        let className = 'ob-contentBlock ob-videoBlock js-modal-container ';\n        let isSideImage = false;\n        if (this.valueOf(ContentVideoConstants.classNames)) {\n            className += this.valueOf(ContentVideoConstants.classNames);\n        }\n        if (this.props.isMedium) {\n            className += ' layout-' + mobileLayout;\n            isSideImage = false;\n        } else {\n            className += ' layout-' + desktopLayout;\n            isSideImage = desktopLayout == 'image-left' || desktopLayout == 'image-right';\n        }\n        const blockState = this.generateContentblockState();\n        const isWhiteText = className && className.includes(ContentVideoConstants.whiteText);\n        const mobileBkgImage = mobileLayout && mobileLayout.includes(ContentVideoConstants.backgroundImage);\n        const desktopBkgImage = desktopLayout && desktopLayout.includes(ContentVideoConstants.backgroundImage);\n        const imageIsBackground = (this.props.isMedium && mobileBkgImage) || (!this.props.isMedium && desktopBkgImage);\n        const title = this.valueOf(ContentVideoConstants.title);\n        const titleLevel = this.valueOf(ContentVideoConstants.titleLevel);\n        const anchorId = this.block.getAnchorId();\n        const video = this.block.getFields().video.fields;\n        const keyframeImage = this.props.isMedium && video?.mobileKeyframe ? video?.mobileKeyframe : video.keyframe;\n        const videoAutoplayOnScroll = video?.autoplay == 'on-scroll';\n        const textContainerMarginBottom = this.valueOf(ContentVideoConstants.textContainerMarginBottom);\n        const textContainerMarginTop = this.valueOf(ContentVideoConstants.textContainerMarginTop);\n        const playIconColor = this.valueOf(ContentVideoConstants.playIconColor);\n        const backgroundColor = this.valueOf(ContentVideoConstants.backgroundColor);\n        const disclaimer = this.valueOf(ContentVideoConstants.disclaimer);\n        const eyebrow = this.valueOf(ContentVideoConstants.surtitle);\n        const blueEyebrow = this.valueOf(ContentVideoConstants.blueEyebrow);\n        const playVideoCopy = Label({ label: this.block.getFieldValue(ContentVideoConstants.playLabel) });\n        const closeVideoCopy = Label({ label: this.block.getFieldValue(ContentVideoConstants.closeLabel) });\n        const pauseVideoCopy = Label({ label: this.block.getFieldValue(ContentVideoConstants.pauseLabel) });\n        const resetVideoCopy = Label({ label: this.block.getFieldValue(ContentVideoConstants.resetLabel) });\n        const openTranscriptCopy = Label({ label: this.block.getFieldValue(ContentVideoConstants.openTranscriptLabel) });\n        const closeTranscriptCopy = Label({ label: this.block.getFieldValue(ContentVideoConstants.closeTranscriptLabel) });\n        const isPlayIconWhite = playIconColor === ContentVideoConstants.whiteHexThreeChars || playIconColor === ContentVideoConstants.whiteHexFull || playIconColor === ContentVideoConstants.white;\n        const contentOptions = this.valueOf(ContentVideoConstants.contentOptions);\n        const playIcon = this.valueOf(ContentVideoConstants.playIcon);\n        const textImage = this.valueOf(ContentVideoConstants.textImage);\n        let textContainerBackgroundColor;\n        let textContainerBackgroundColorRGB = blockState?.textContainerBackgroundColor ? blockState?.textContainerBackgroundColor : null;\n        let textContainerBackgroundOpacity = 1;\n        if (blockState?.textContainerBackgroundOpacity) {\n            textContainerBackgroundOpacity = blockState?.textContainerBackgroundOpacity;\n        }\n        if (textContainerBackgroundColorRGB) {\n            let colorRgb = getRGBFromHexColor(textContainerBackgroundColorRGB);\n            textContainerBackgroundColor = `rgba(${colorRgb.red}, ${colorRgb.green}, ${colorRgb.blue}, ${textContainerBackgroundOpacity})`;\n        }\n        const getPlayIconSize = () => {\n            let playIconSize = '6';\n            if (!this.props.isMedium) {\n                playIconSize = '10';\n            }\n            return playIconSize;\n        };\n\n        const renderVideoIcons = () => {\n            return <div className={'post-purchase-video-section__options'}>\n                {contentOptions.map(contentOption => {\n                    const option = contentOption?.fields;\n                    return (\n                        <div key={option?.name} className={'post-purchase-video-section__option'}>\n                            {option?.icon && <Image className=\"post-purchase-video-section__icon\" image={option?.icon}>\n                                {playIcon && <button onClick={(e) => {\n                                    e.preventDefault();\n                                    option && option.video && this.openVideoModal(option?.video);\n                                    option && option.youtubeVideo && this.openYoutubeVideoModal(option?.youtubeVideo)\n                                }}\n                                    className={'event_button_click post-purchase-video-section__play-icon'}\n                                    data-action-detail={AnalyticsConstants.openVideoText}\n                                    aria-label={playVideoCopy}>\n                                    <Image image={playIcon} />\n                                </button>}\n                            </Image>\n                            }\n                            {option?.title && <p className=\"post-purchase-video-section__title\" style={{ width: `${option?.titleWidthMobile}%` }}>{option?.title}</p>}\n                            {option?.description && <p className=\"post-purchase-video-section__description\">{option?.description}</p>}\n                        </div>)\n                })}\n            </div>\n        }\n        const { selectedVideo } = this.state;\n        return (\n            <section className={className} id={anchorId}\n                style={{\n                    backgroundColor: backgroundColor,\n                    marginTop: blockState.blockMarginTop ? blockState.blockMarginTop : null,\n                    marginBottom: blockState.blockMarginBottom ? blockState.blockMarginBottom : null,\n                    marginRight: blockState.blockMarginRight ? blockState.blockMarginRight : null,\n                    marginLeft: blockState.blockMarginLeft ? blockState.blockMarginLeft : null\n                }}>\n                {imageIsBackground ? (\n                    <>\n                        <LazyLoad offset={200} once={true}>\n                            <>\n                                <Image image={keyframeImage}>\n                                    <Waypoint onEnter={this._handleWaypointEnter} />\n                                    <div className={`ob-videoContent-wrapper\n                                ${blockState.textContainerHorizontalAlignment && `horizontal-${blockState.textContainerHorizontalAlignment}`}\n                                ${blockState.textContainerVerticalAlignment && `vertical-${blockState.textContainerVerticalAlignment}`}\n                            `}\n                                        style={{ padding: blockState.blockPadding ? blockState.blockPadding : null }}>\n                                        {blockState.mainAsset &&\n                                            <div\n                                                className={`ob-videoContent-mainAsset-container\n                                            ${blockState.mainAssetHorizontalAlignment && `horizontal-${blockState.mainAssetHorizontalAlignment}`}\n                                            ${blockState.mainAssetVerticalAlignment && `vertical-${blockState.mainAssetVerticalAlignment}`}`}>\n                                                <Image\n                                                    scale={blockState.mainAssetScale}\n                                                    image={blockState.mainAsset}\n                                                    offsetBottom={blockState.mainAssetOffsetBottom ? blockState.mainAssetOffsetBottom : null}\n                                                    offsetTop={blockState.mainAssetOffsetTop ? blockState.mainAssetOffsetTop : null}\n                                                    offsetLeft={blockState.mainAssetOffsetLeft ? blockState.mainAssetOffsetLeft : null}\n                                                    offsetRight={blockState.mainAssetOffsetRight ? blockState.mainAssetOffsetRight : null}\n                                                />\n                                            </div>\n                                        }\n                                        <div className='ob-videoContent-textContainer show'\n                                            ref={this.videoBlockRef}\n                                            style={{\n                                                marginTop: blockState.textContainerOffset ? blockState.textContainerOffset : textContainerMarginTop,\n                                                marginBottom: blockState.textContainerMarginBottom ? blockState.textContainerMarginBottom : textContainerMarginBottom,\n                                                marginLeft: blockState.textContainerMarginLeft ? blockState.textContainerMarginLeft : null,\n                                                marginRight: blockState.textContainerMarginRight ? blockState.textContainerMarginRight : null,\n                                                backgroundColor: textContainerBackgroundColor ? textContainerBackgroundColor : null,\n                                                textAlign: blockState.textAlign ? blockState.textAlign : null,\n                                                width: blockState.textContainerWidth ? blockState.textContainerWidth : null\n                                            }}>\n                                            <div className='ob-videoContent-text'>\n                                                {eyebrow &&\n                                                    <p\n                                                        className={'ob-eyebrow'}\n                                                        data-white-text={isWhiteText}\n                                                        data-blue-text={blueEyebrow}\n                                                        dangerouslySetInnerHTML={{ __html: this.valueOf(ContentVideoConstants.surtitle) }}>\n                                                    </p>\n                                                }\n                                                <Heading\n                                                    whiteText={isWhiteText}\n                                                    tag={`h${titleLevel}`}\n                                                    className='ob-display-2-xl'\n                                                    styles={{ width: blockState.titleWidth ? blockState.titleWidth : null }}\n                                                >{title}</Heading>\n                                                <BodyText\n                                                    whiteText={isWhiteText}\n                                                    styles={{ width: blockState.descriptionWidth ? blockState.descriptionWidth : null }}\n                                                >{this.valueOf(ContentVideoConstants.description)}</BodyText>\n                                            </div>\n                                            <div className='ob-videoContent-button-container'>\n                                                <button onClick={this.openModal}\n                                                    className={`event_button_click ob-videoContent-button ${isPlayIconWhite ? 'ob-videoContent-button--whitePlayIcon' : ''}`}\n                                                    data-action-detail={AnalyticsConstants.openVideoText}\n                                                    aria-label={playVideoCopy}>\n                                                    <Icon name={ContentVideoConstants.play} color={playIconColor} viewBox={31.4} size={getPlayIconSize()} />\n                                                </button>\n                                            </div>\n                                        </div>\n                                        {disclaimer &&\n                                            <div className={'ob-videoContent-disclaimer'}\n                                                style={{\n                                                    width: blockState.textContainerWidth ? blockState.textContainerWidth : null,\n                                                    textAlign: blockState.textAlign ? blockState.textAlign : null\n                                                }}\n                                            >\n                                                <Disclaimer whiteText={isWhiteText} document={disclaimer} />\n                                            </div>\n                                        }\n                                    </div>\n                                </Image>\n                            </>\n                        </LazyLoad>\n                    </>\n                ) : (\n                    <Suspense fallback={<Loader/>}>\n                        <>\n                            <Waypoint onEnter={this._handleWaypointEnter} />\n                            <div className={`ob-videoContent-wrapper\n                                ${blockState.textContainerHorizontalAlignment && `horizontal-${blockState.textContainerHorizontalAlignment}`}\n                                ${blockState.textContainerVerticalAlignment && `vertical-${blockState.textContainerVerticalAlignment}`}\n                            `}\n                                style={{ padding: blockState.blockPadding ? blockState.blockPadding : null }}>\n                                <div className='ob-videoContent-textContainer show'\n                                    ref={this.videoBlockRef}\n                                    style={{\n                                        marginTop: blockState.textContainerOffset ? blockState.textContainerOffset : textContainerMarginTop,\n                                        marginBottom: blockState.textContainerMarginBottom ? blockState.textContainerMarginBottom : textContainerMarginBottom,\n                                        marginLeft: blockState.textContainerMarginLeft ? blockState.textContainerMarginLeft : null,\n                                        marginRight: blockState.textContainerMarginRight ? blockState.textContainerMarginRight : null,\n                                        backgroundColor: textContainerBackgroundColor ? textContainerBackgroundColor : null,\n                                        textAlign: blockState.textAlign ? blockState.textAlign : null,\n                                        width: blockState.textContainerWidth ? blockState.textContainerWidth : null\n                                    }}>\n                                    <div className='ob-videoContent-text'>\n                                        {textImage &&\n                                            <div className='ob-videoContent__text-image'>\n                                                <Image image={textImage} />\n                                            </div>\n                                        }\n                                        {eyebrow &&\n                                            <p\n                                                className={'ob-eyebrow'}\n                                                data-white-text={isWhiteText}\n                                                data-blue-text={blueEyebrow}\n                                                dangerouslySetInnerHTML={{ __html: this.valueOf(ContentVideoConstants.surtitle) }}>\n                                            </p>\n                                        }\n                                        <Heading\n                                            whiteText={isWhiteText}\n                                            tag={`h${titleLevel}`}\n                                            className='ob-display-2-xl'\n                                            styles={{ width: blockState.titleWidth ? blockState.titleWidth : null }}\n                                        >{title}</Heading>\n                                        <BodyText\n                                            whiteText={isWhiteText}\n                                            styles={{ width: blockState.descriptionWidth ? blockState.descriptionWidth : null }}\n                                        >{this.valueOf(ContentVideoConstants.description)}</BodyText>\n                                        {contentOptions && renderVideoIcons()}\n                                    </div>\n                                </div>\n                                {isSideImage &&\n                                    <div className='ob-videoContent-image' style={{\n                                        width: blockState.mainAssetMaxWidth ? blockState.mainAssetMaxWidth : null,\n                                        height: blockState.mainAssetHeight ? blockState.mainAssetHeight : null,\n                                        maxHeight: blockState.mainAssetMaxHeight ? blockState.mainAssetMaxHeight : null,\n                                        marginRight: blockState.mainAssetOffsetRight ? blockState.mainAssetOffsetRight : null,\n                                        marginLeft: blockState.mainAssetOffsetLeft ? blockState.mainAssetOffsetLeft : null,\n                                        marginTop: blockState.mainAssetOffsetTop ? blockState.mainAssetOffsetTop : null,\n                                        marginBottom: blockState.mainAssetOffsetBottom ? blockState.mainAssetOffsetBottom : null,\n                                    }}>\n                                        {videoAutoplayOnScroll ? (\n                                            <div className='ob-autoplay-video'>\n                                                <VideoPlayer ref={this.videoPlayerRef} video={video} onVideoPlaying={this.handleVideoEvent} />\n                                                <div className='ob-autoplay-video-controls'>\n                                                    <button onClick={this.handlePlayClick}\n                                                        aria-label={this.state.isPlaying ? pauseVideoCopy : playVideoCopy}\n                                                        style={{\n                                                            color: [playIconColor],\n                                                            outlineColor: [playIconColor],\n                                                            height: '2.3rem',\n                                                            position: 'absolute',\n                                                            bottom: '0.5rem',\n                                                            left: '2.3rem',\n                                                            zIndex: '10'\n                                                        }}\n                                                        className=\"event_video_play ob-video-player-button\"\n                                                        data-action-detail={this.state.isPlaying ? SpotlightContentVideoConstants.paused : SpotlightContentVideoConstants.played}>\n                                                        {this.state.isPlaying ?\n                                                            (\n                                                                <Icon name={SpotlightContentVideoConstants.spotlightPause}\n                                                                    color={playIconColor}\n                                                                    size={'1.4'} />\n                                                            ) : (\n                                                                <Icon name={SpotlightContentVideoConstants.spotlightPlay}\n                                                                    color={playIconColor}\n                                                                    size={'1.6'} />\n                                                            )\n                                                        }\n                                                    </button>\n                                                    <button onClick={this.handleResetClick}\n                                                        aria-label={resetVideoCopy}\n                                                        className=\"ob-video-player-button ob-video-reset-button\"\n                                                        style={{\n                                                            color: [playIconColor],\n                                                            outlineColor: [playIconColor],\n                                                            position: 'absolute',\n                                                            height: '2.3rem',\n                                                            bottom: '0.5rem',\n                                                            left: '4.8rem',\n                                                            zIndex: '10'\n                                                        }}>\n                                                        <Icon name={SpotlightContentVideoConstants.spotlightReplay}\n                                                            color={playIconColor}\n                                                            size={'1.7'} />\n                                                    </button>\n                                                    {video && video.transcript &&\n                                                        <button onClick={this.openModal}\n                                                            aria-label={'open Transcript'}\n                                                            className=\"ob-video-player-button ob-video-show-transcript\"\n                                                            style={{\n                                                                color: [playIconColor],\n                                                                outlineColor: [playIconColor],\n                                                                position: 'absolute',\n                                                                height: '2.3rem',\n                                                                bottom: '0.4rem',\n                                                                left: '7.8rem',\n                                                                zIndex: '10'\n                                                            }}>\n                                                            <Icon name={SpotlightContentVideoConstants.spotlightTranscript}\n                                                                color={playIconColor}\n                                                                size={'1.3'} />\n                                                        </button>\n                                                    }\n                                                </div>\n                                            </div>\n                                        ) : (\n                                            <Image image={keyframeImage} />\n                                        )}\n                                        {!contentOptions && !videoAutoplayOnScroll &&\n                                            <button onClick={this.openModal}\n                                                className={`event_button_click ob-videoContent-button ${isPlayIconWhite ? 'ob-videoContent-button--whitePlayIcon' : ''}`}\n                                                data-action-detail={AnalyticsConstants.openVideoText}\n                                                aria-label={playVideoCopy}>\n                                                <Icon name={ContentVideoConstants.play} viewBox={31.4} color={playIconColor}\n                                                    size={getPlayIconSize()} />\n                                            </button>\n                                        }\n                                    </div>\n                                }\n                                {disclaimer &&\n                                    <div className={'ob-videoContent-disclaimer'}\n                                        style={{\n                                            width: blockState.textContainerWidth ? blockState.textContainerWidth : null,\n                                            textAlign: blockState.textAlign ? blockState.textAlign : null\n                                        }}\n                                    >\n                                        <Disclaimer whiteText={isWhiteText} document={disclaimer} />\n                                    </div>\n                                }\n                            </div>\n                            {!contentOptions && !isSideImage &&\n                                <div className='ob-videoContent-image'\n                                    style={{\n                                        width: blockState.mainAssetMaxWidth ? blockState.mainAssetMaxWidth : null,\n                                        height: blockState.mainAssetHeight ? blockState.mainAssetHeight : null,\n                                        maxHeight: blockState.mainAssetMaxHeight ? blockState.mainAssetMaxHeight : null,\n                                        marginRight: blockState.mainAssetOffsetRight ? blockState.mainAssetOffsetRight : null,\n                                        marginLeft: blockState.mainAssetOffsetLeft ? blockState.mainAssetOffsetLeft : null,\n                                        marginTop: blockState.mainAssetOffsetTop ? blockState.mainAssetOffsetTop : null,\n                                        marginBottom: blockState.mainAssetOffsetBottom ? blockState.mainAssetOffsetBottom : null\n                                    }}\n                                    >\n                                    {videoAutoplayOnScroll ? (\n                                        <div className='ob-autoplay-video'>\n                                            <VideoPlayer ref={this.videoPlayerRef} video={video} onVideoPlaying={this.handleVideoEvent} />\n                                            <div className='ob-autoplay-video-controls'>\n                                                <button onClick={this.handlePlayClick}\n                                                    aria-label={this.state.isPlaying ? pauseVideoCopy : playVideoCopy}\n                                                    style={{\n                                                        color: [playIconColor],\n                                                        outlineColor: [playIconColor],\n                                                        height: '2.3rem',\n                                                        position: 'absolute',\n                                                        bottom: '0.5rem',\n                                                        left: '2.3rem',\n                                                        zIndex: '10'\n                                                    }}\n                                                    className=\"event_video_play ob-video-player-button\"\n                                                    data-action-detail={this.state.isPlaying ? SpotlightContentVideoConstants.paused : SpotlightContentVideoConstants.played}>\n                                                    {this.state.isPlaying ?\n                                                        (\n                                                            <Icon name={SpotlightContentVideoConstants.spotlightPause}\n                                                                color={playIconColor}\n                                                                size={'1.4'} />\n                                                        ) : (\n                                                            <Icon name={SpotlightContentVideoConstants.spotlightPlay}\n                                                                color={playIconColor}\n                                                                size={'1.6'} />\n                                                        )\n                                                    }\n                                                </button>\n                                                <button onClick={this.handleResetClick}\n                                                    aria-label={resetVideoCopy}\n                                                    className=\"ob-video-player-button ob-video-reset-button\"\n                                                    style={{\n                                                        color: [playIconColor],\n                                                        outlineColor: [playIconColor],\n                                                        position: 'absolute',\n                                                        height: '2.3rem',\n                                                        bottom: '0.5rem',\n                                                        left: '4.8rem',\n                                                        zIndex: '10'\n                                                    }}>\n                                                    <Icon name={SpotlightContentVideoConstants.spotlightReplay}\n                                                        color={playIconColor}\n                                                        size={'1.7'} />\n                                                </button>\n                                                {video && video.transcript &&\n                                                    <button onClick={this.openModal}\n                                                        aria-label={openTranscriptCopy}\n                                                        className=\"ob-video-player-button ob-video-show-transcript\"\n                                                        style={{\n                                                            color: [playIconColor],\n                                                            outlineColor: [playIconColor],\n                                                            position: 'absolute',\n                                                            height: '2.3rem',\n                                                            bottom: '0.4rem',\n                                                            left: '7.8rem',\n                                                            zIndex: '10'\n                                                        }}>\n                                                        <Icon name={SpotlightContentVideoConstants.spotlightTranscript}\n                                                            color={playIconColor}\n                                                            size={'1.3'} />\n                                                    </button>\n                                                }\n                                            </div>\n                                        </div>\n                                    ) : (\n                                        <Image image={keyframeImage} />\n                                    )}\n                                    {!videoAutoplayOnScroll &&\n                                        <button onClick={this.openModal}\n                                            className={`event_button_click ob-videoContent-button ${isPlayIconWhite ? 'ob-videoContent-button--whitePlayIcon' : ''}`}\n                                            data-action-detail={AnalyticsConstants.openVideoText}\n                                            aria-label={playVideoCopy}>\n                                            <Icon name={ContentVideoConstants.play} viewBox={31.4} color={playIconColor}\n                                                size={getPlayIconSize()} />\n                                        </button>\n                                    }\n                                </div>\n                            }\n                        </>\n                    </Suspense>\n                )}\n                {contentOptions && selectedVideo && (selectedVideo.contentType == ContentVideoConstants.youtubeVideoBlock) &&\n                    <Modal\n                        isOpen={this.state.modalIsOpen}\n                        onAfterOpen={this.afterOpenModal.bind(this)}\n                        onRequestClose={this.closeModal.bind(this)}\n                        closeTimeoutMS={250}\n                        style={customStyles}\n                        overlayClassName={'event_button_click'}\n                        overlayRef={node => (this.modalOverlayRef = node)}\n                        ref={this.modalRef}\n                    >\n                        {this.renderYoutubeVideo(selectedVideo)}\n                        <button className='event_close_window ob-modal-close post-purchase-video-close'\n                            onClick={this.closeModal}\n                            aria-label={closeTranscriptCopy}>\n                            <Icon name={ContentVideoConstants.close} size='2.4' color='#FFFFFF' />\n                        </button>\n                    </Modal>\n                }\n                {!videoAutoplayOnScroll && contentOptions && selectedVideo && !(selectedVideo.contentType == ContentVideoConstants.youtubeVideoBlock) &&\n                    <Modal\n                        isOpen={this.state.modalIsOpen}\n                        onAfterOpen={this.afterOpenModal.bind(this)}\n                        onRequestClose={this.closeModal.bind(this)}\n                        closeTimeoutMS={250}\n                        style={customStyles}\n                        overlayClassName={'event_button_click'}\n                        contentLabel={selectedVideo?.transcript ? selectedVideo?.transcript : stripHtml(this.valueOf(ContentVideoConstants.title))}\n                        overlayRef={node => (this.modalOverlayRef = node)}\n                        ref={this.modalRef}\n                    >\n                        {this.renderVideo(selectedVideo)}\n                        <button className='event_close_window ob-modal-close post-purchase-video-close'\n                            onClick={this.closeModal}\n                            aria-label={closeTranscriptCopy}>\n                            <Icon name={ContentVideoConstants.close} size='2.4' color='#FFFFFF' />\n                        </button>\n                    </Modal>\n                }\n                {!videoAutoplayOnScroll && !contentOptions &&\n                    <Modal\n                        isOpen={this.state.modalIsOpen}\n                        onAfterOpen={this.afterOpenModal.bind(this)}\n                        onRequestClose={this.closeModal.bind(this)}\n                        closeTimeoutMS={250}\n                        style={customStyles}\n                        overlayClassName={'event_button_click'}\n                        contentLabel={video.transcript ? video.transcript : stripHtml(this.valueOf(ContentVideoConstants.title))}\n                        overlayRef={node => (this.modalOverlayRef = node)}\n                        ref={this.modalRef}\n                    >\n                        {video && this.renderVideo(video)}\n                        <button className='event_close_window ob-modal-close'\n                            onClick={this.closeModal}\n                            aria-label={closeTranscriptCopy}>\n                            <Icon name={ContentVideoConstants.close} size='2.4' color='#FFFFFF' />\n                        </button>\n                    </Modal>\n                }\n                {videoAutoplayOnScroll && !contentOptions && video && video.transcript &&\n                    <Modal\n                        isOpen={this.state.modalIsOpen}\n                        onAfterOpen={this.afterOpenModal.bind(this)}\n                        onRequestClose={this.closeModal.bind(this)}\n                        closeTimeoutMS={250}\n                        style={customTranscriptStyles}\n                        overlayClassName={'event_button_click'}\n                        contentLabel={video.transcript ? video.transcript : stripHtml(this.valueOf(ContentVideoConstants.title))}\n                        overlayRef={node => (this.modalOverlayRef = node)}\n                        ref={this.modalRef}\n                    >\n                        <button className='event_close_window ob-modal-close no-shadow'\n                            onClick={this.closeModal}\n                            aria-label={closeVideoCopy}>\n                            <Icon name={ContentVideoConstants.close} size='2' color='#0057B8' />\n                        </button>\n                        {video.transcript}\n                    </Modal>\n                }\n            </section>\n        )\n    }\n}\n\nexport default mediaQueryHOC(ContentVideo);\n// This export is for unit testing (do not remove) :\nexport const ContentVideoTest = ContentVideo;\n\nContentVideo.propTypes = {\n    isMedium: PropTypes.bool,\n    isXSmall: PropTypes.bool,\n    isXLarge: PropTypes.bool,\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nexport default Label;\n\nexport function Label({ label, tokens }) {\n    if (!label) {\n        return '';\n    } else if (tokens) {\n        return replaceTokensFromString(label?.fields?.text || label, tokens);\n    } else {\n        return label?.fields?.text || label;\n    }\n}\n\nLabel.propTypes = {\n    label: PropTypes.oneOfType([\n        PropTypes.string,\n        PropTypes.object\n    ]),\n    tokens: PropTypes.object,\n};\n\nexport function LabelHTML({ label, tokens, ...props }) {\n    if (!label) {\n        return (\n            <span {...props} />\n        );\n    } else if (tokens) {\n        return (\n            <span dangerouslySetInnerHTML={{ __html: replaceTokensFromString(label?.fields?.text || label, tokens) }} {...props} />\n        );\n    } else {\n        return (\n            <span dangerouslySetInnerHTML={{ __html: label?.fields?.text || label }} {...props} />\n        );\n    }\n}\n\nLabelHTML.propTypes = {\n    label: PropTypes.oneOfType([\n        PropTypes.string,\n        PropTypes.object\n    ]),\n    tokens: PropTypes.object,\n};\n\nexport function replaceTokensFromString(s, tokens) {\n    for (let tokenKey in tokens) {\n        s = s.replace(new RegExp('{' + tokenKey + '}', 'g'), tokens[tokenKey]);\n    }\n    return s;\n}\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n"],"names":["AnalyticsConstants","Object","freeze","collapseText","expandText","learnMoreText","countrySelectorText","openVideoText","buttonPriceText","contentVideoOverlayText","videoPlayText","videoPauseText","videoMuteText","videoUnmuteText","videoCloseCaptionsOnText","videoCloseCaptionsOffText","videoFullscreenOnText","videoFullscreenOffText","dropdownMenu","rotationView","facebook","twitter","openLiveChat","expandFaq","previousPage","nextPage","promoRedeem","getConfigurationValue","availableConfigurations","devicesConfigurations","fieldName","isMobile","isTiny","isTablet","defaultValue","arguments","length","undefined","isHomepage","value","indexOf","DeviceType","All","configuration","find","conf","fields","deviceType","tinyConfiguration","TINY","mobileConfiguration","MOBILE","tabletConfiguration","TABLET","desktopConfiguration","DESKTOP","tinyValue","mobileValue","tabletValue","desktopValue","getConfigurationBooleanValue","useIsomorphicLayoutEffect","useLayoutEffect","useMatchMedia","mediaQueryString","initialValue","_useState","useState","match","setMatch","useEffect","window","matchMedia","matches","addListener","handleMatch","removeListener","event","mediaQueryHOC","Component","props","isXSmall","isSmall","isMedium","isLarge","isXLarge","_jsx","_objectSpread","listeners","state","currentProductIndex","setState","newState","forEach","listener","updateCurrentProductIndex","newListener","push","VideoPlayerAudioDescription","dynamic","Promise","all","__webpack_require__","e","then","bind","loadableGenerated","webpack","Image","VideoPlayer","Icon","Heading","BodyText","Disclaimer","YoutubeVideo","customStyles","overlay","position","top","left","right","bottom","backgroundColor","content","border","padding","marginRight","transform","maxWidth","width","customTranscriptStyles","fontSize","lineHeight","ContentVideo","_Component","_inherits","_super","_this$valueOf","_this","_classCallCheck","call","_handleWaypointEnter","node","videoBlockRef","current","classList","add","renderYoutubeVideo","video","children","document","console","log","renderVideo","videoId","isAudioDescriptionVideoEnabled","block","Block","React","videoPlayerRef","modalRef","modalOverlayRef","modalIsOpen","isPlaying","selectedVideo","openModal","_assertThisInitialized","handlePlayClick","handleResetClick","closeModal","handleVideoEvent","trapFocusInModal","valueOf","ContentConstants","map","_createClass","key","_this$videoPlayerRef$","_this$videoPlayerRef","_this$videoPlayerRef$2","videoRef","getVideoRef","videoPlayerControlsRef","getVideoPlayerRef","HTMLVideoElement","pause","play","_this$videoPlayerRef2","_this$videoPlayerRef3","currentTime","getAttribute","setAttribute","focusableElements","element","currentTarget","querySelectorAll","firstFocusableElement","lastFocusableElement","ContentVideoConstants","Tab","keyCode","shiftKey","activeElement","focus","preventDefault","name","getFieldValue","_this$valueOf2","blockMinHeight","configurationValue","blockMarginTop","blockMarginBottom","blockMarginRight","blockMarginLeft","blockPadding","textAlign","textContainerWidth","titleWidth","descriptionWidth","textContainerHorizontalAlignment","textContainerVerticalAlignment","textContainerOffset","textContainerMarginRight","textContainerMarginLeft","textContainerMarginBottom","mainAsset","mainAssetBelowOrAboveText","mainAssetMaxWidth","mainAssetMaxHeight","mainAssetHeight","mainAssetOffsetTop","mainAssetMarginTop","mainAssetOffsetRight","mainAssetMarginRight","mainAssetOffsetBottom","mainAssetOffsetLeft","mainAssetScale","backgroundAsset","mainAssetHorizontalAlignment","mainAssetVerticalAlignment","backgroundPosition","sectionOffsetTop","mainAssetParallax","mainAssetParallaxSetting","textParallax","textParallaxSetting","textParallaxConfiguration","assetParallaxConfiguration","textShowAnimation","textFadeIn","configurationBooleanValue","textColor","respectImageAspectRatio","textContainerBackgroundColor","textContainerBackgroundOpacity","Modal","addEventListener","keydown","removeEventListener","_this2","mobileLayout","desktopLayout","className","isSideImage","classNames","blockState","generateContentblockState","isWhiteText","includes","whiteText","mobileBkgImage","backgroundImage","desktopBkgImage","imageIsBackground","title","titleLevel","anchorId","getAnchorId","getFields","keyframeImage","mobileKeyframe","keyframe","videoAutoplayOnScroll","autoplay","textContainerMarginTop","playIconColor","disclaimer","eyebrow","surtitle","blueEyebrow","playVideoCopy","Label","label","playLabel","closeVideoCopy","closeLabel","pauseVideoCopy","pauseLabel","resetVideoCopy","resetLabel","openTranscriptCopy","openTranscriptLabel","closeTranscriptCopy","closeTranscriptLabel","isPlayIconWhite","whiteHexThreeChars","whiteHexFull","white","contentOptions","playIcon","textImage","textContainerBackgroundColorRGB","colorRgb","getRGBFromHexColor","concat","red","green","blue","getPlayIconSize","playIconSize","_jsxs","id","style","marginTop","marginBottom","marginLeft","_Fragment","LazyLoad","offset","once","image","Waypoint","onEnter","scale","offsetBottom","offsetTop","offsetLeft","offsetRight","ref","dangerouslySetInnerHTML","__html","tag","styles","description","onClick","color","viewBox","size","Suspense","fallback","Loader","contentOption","option","icon","openVideoModal","youtubeVideo","openYoutubeVideoModal","titleWidthMobile","height","maxHeight","onVideoPlaying","outlineColor","zIndex","SpotlightContentVideoConstants","paused","played","spotlightPause","spotlightPlay","spotlightReplay","transcript","spotlightTranscript","contentType","youtubeVideoBlock","isOpen","onAfterOpen","afterOpenModal","onRequestClose","closeTimeoutMS","overlayClassName","overlayRef","close","contentLabel","stripHtml","__webpack_exports__","ContentVideoTest","_ref","_label$fields","_label$fields2","tokens","replaceTokensFromString","text","LabelHTML","_ref2","_label$fields3","_label$fields4","_objectWithoutProperties","_excluded","s","tokenKey","replace","propTypes","PropTypes","u","b","Symbol","for","c","d","f","g","h","k","l","m","n","p","q","t","exports","isForwardRef","a","v","r","$$typeof","type","isValidElementType","getModuleId","module"],"sourceRoot":""}