{"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":""}