{"version":3,"sources":["webpack:///./src/js/modules/homeHeroV2.js","webpack:///./src/js/modules/videoHeroV2.js"],"names":["Module","this","dom","slider","el","querySelector","next","nextLabel","slideWrapper","thumbnailWrapper","thumbnailWrapperVideo","slides","querySelectorAll","buttonHoverClass","videoHeroV2","currentSlide","displaySlide","originalWindowWidth","window","innerWidth","initHero","addEventListener","handleMouseOver","bind","handleMouseLeave","handleNextSlide","handleResize","slideHeightCalculator","initDuplicateSlide","initSplitting","initVideos","checkAutoplayVideos","setNextButtonData","style","visibility","tallestSlideBlockSize","forEach","slide","index","id","article","offsetHeight","tallestContentHeight","content","lastSlide","cloneNode","headerTag","span","document","createElement","innerHTML","classList","add","replaceWith","appendChild","contentHeightCalculator","videoOriginal","scrollTo","lineSplit","target","by","videoModules","getHeroVideos","video","_video","push","pauseVideo","videos","videosHero","removeAttribute","load","firstVideo","e","findIndex","playVideo","prevSlide","pause","play","slideChange","display","nextSlide","length","stopPrevVideo","playNextVideo","event","getClosestElement","removeButtonHoverClass","setTimeout","animating","loop","showSlide","hideSequence","lines","reduce","sequence","line","element","closest","delay","lineSequence","opacity","transform","at","duration","showSequence","Array","isArray","anim","stop","animate","clipPath","hideTransition","timeline","showTransition","finished","then","remove","src","clearNextButtonData","setNextSliderButton","label","dataset","image","getVideoSrc","prefix","alt","readyState","className","Component","playButton","pauseButton","type","focus"],"mappings":"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","file":"40.b5d033bd016c8b8bb3de.js","sourcesContent":["import { animate, timeline } from 'motion';\n\nimport { Component } from '@verndale/core';\nimport Splitting from 'splitting';\nimport videoHeroV2 from './videoHeroV2';\nimport { last } from 'lodash';\n\nclass Module extends Component {\n setupDefaults() {\n this.dom = {\n slider: this.el.querySelector('.swiper-container'),\n next: this.el.querySelector('.home-hero-v2__next-button'),\n nextLabel: this.el.querySelector('.next-button__label'),\n slideWrapper: this.el.querySelector('.swiper-wrapper'),\n thumbnailWrapper: this.el.querySelector('.thumbnail__wrapper'),\n thumbnailWrapperVideo: this.el.querySelector(\n '.thumbnail__wrapper video source'\n ),\n\n slides: this.el.querySelectorAll('.swiper-slide')\n };\n\n this.buttonHoverClass = 'home-hero-v2__next-button--hover';\n this.videoHeroV2 = '[data-module=\"videoHeroV2\"]';\n this.currentSlide = 0;\n this.displaySlide = 0;\n this.originalWindowWidth = window.innerWidth;\n\n this.initHero();\n }\n\n addListeners() {\n this.dom.next.addEventListener(\n 'mouseover',\n this.handleMouseOver.bind(this)\n );\n this.dom.next.addEventListener('focusin', this.handleMouseOver.bind(this));\n this.dom.next.addEventListener(\n 'mouseleave',\n this.handleMouseLeave.bind(this)\n );\n this.dom.next.addEventListener(\n 'focusout',\n this.handleMouseLeave.bind(this)\n );\n this.dom.next.addEventListener('click', this.handleNextSlide.bind(this));\n window.addEventListener('resize', this.handleResize.bind(this));\n }\n\n initHero() {\n this.slideHeightCalculator();\n this.initDuplicateSlide();\n this.initSplitting();\n this.initVideos();\n this.checkAutoplayVideos();\n this.setNextButtonData(this.slides[this.displaySlide + 1]);\n this.el.style.visibility = 'visible';\n }\n\n slideHeightCalculator() {\n let tallestSlideBlockSize = 0;\n this.el.style = `--slides-block-size: ${tallestSlideBlockSize}px; visibility: visible;`;\n this.dom.slides.forEach((slide, index) => {\n slide.id = index;\n const article = slide.querySelector('article');\n if (article.offsetHeight > tallestSlideBlockSize)\n tallestSlideBlockSize = article.offsetHeight;\n });\n\n this.el.style = `--slides-block-size: ${tallestSlideBlockSize}px; visibility: visible;`;\n }\n\n contentHeightCalculator() {\n let tallestContentHeight = 0;\n this.dom.slideWrapper.style = `--content-block-size: ${tallestContentHeight}px`;\n this.content.forEach(content => {\n if (content.offsetHeight > tallestContentHeight)\n tallestContentHeight = content.offsetHeight;\n });\n\n this.dom.slideWrapper.style = `--content-block-size: ${tallestContentHeight}px`;\n }\n\n initDuplicateSlide() {\n const lastSlide = this.dom.slides[0].cloneNode(true);\n const headerTag = lastSlide.querySelector('h1');\n const span = document.createElement('span');\n\n span.innerHTML = headerTag.innerHTML;\n span.classList.add('home-hero-v2--content__header');\n headerTag.replaceWith(span);\n\n this.dom.slideWrapper.appendChild(lastSlide);\n this.slides = this.el.querySelectorAll('.swiper-slide');\n this.content = this.el.querySelectorAll('.home-hero-v2__content');\n this.contentHeightCalculator();\n this.videoOriginal = this.el.querySelectorAll(\n '.video-hero-v2__video--original'\n );\n\n this.slides.forEach((slide, index) => {\n if (index !== this.displaySlide) slide.style.visibility = 'hidden';\n });\n\n window.scrollTo(0, 0);\n }\n\n initSplitting() {\n this.content.forEach(content => {\n content.lineSplit = Splitting({\n target: content,\n by: 'lines'\n });\n });\n }\n\n initVideos() {\n this.videoModules = [];\n [...this.getHeroVideos()].forEach((video, index) => {\n const _video = new videoHeroV2(video);\n\n this.videoModules.push(_video);\n if (index === 0) {\n this.videoModules[0].pauseVideo();\n }\n });\n }\n\n checkAutoplayVideos() {\n [...this.getHeroVideos()].forEach(videos => {\n const videosHero = [...videos.querySelectorAll('.video-hero-v2__video')];\n videosHero.forEach(video => {\n video.removeAttribute('autoplay');\n video.load();\n });\n });\n\n this.firstVideo = [false];\n\n this.slides[this.displaySlide]\n .querySelectorAll('.video-hero-v2__video')\n .forEach((video, index) => {\n video.addEventListener('canplaythrough', e => {\n this.firstVideo[index] = true;\n if (this.firstVideo.findIndex(video => !video) === -1) {\n this.videoModules[0].playVideo();\n }\n });\n });\n }\n\n handleNextSlide() {\n const prevSlide = this.slides[this.displaySlide];\n const pause = this.slides[this.displaySlide].querySelector(\n '.video-hero-v2__pause-button'\n );\n const play = this.slides[this.displaySlide].querySelector(\n '.video-hero-v2__play-button'\n );\n this.slideChange();\n if (pause.style.display !== 'block') {\n play.style.display = 'none';\n pause.style.display = 'block';\n }\n const nextSlide =\n this.displaySlide === this.slides.length - 2\n ? this.slides[0]\n : this.slides[this.displaySlide + +1];\n\n this.setNextButtonData(nextSlide);\n this.stopPrevVideo(prevSlide);\n this.playNextVideo(this.slides[this.displaySlide]);\n }\n\n handleMouseOver(event) {\n this.getClosestElement(event.target, '.next-button').classList.add(\n this.buttonHoverClass\n );\n }\n\n handleMouseLeave(event) {\n this.removeButtonHoverClass(event.target);\n }\n\n handleResize() {\n if (this.originalWindowWidth === window.innerWidth) {\n return;\n }\n this.contentHeightCalculator();\n this.slideHeightCalculator();\n this.originalWindowWidth = window.innerWidth;\n }\n\n stopPrevVideo(prevSlide) {\n prevSlide\n .querySelectorAll(`${this.videoHeroV2} .video-hero-v2__video`)\n .forEach(video => {\n setTimeout(() => {\n video.pause();\n }, 1000);\n });\n }\n\n playNextVideo(nextSlide) {\n nextSlide\n .querySelectorAll(`${this.videoHeroV2} .video-hero-v2__video`)\n .forEach(video => {\n video.play();\n });\n }\n\n slideChange() {\n if (!this.animating) {\n const nextSlide =\n this.displaySlide === this.slides.length - 2\n ? 0\n : this.displaySlide + 1;\n\n const prevSlide = this.displaySlide;\n const loop = this.displaySlide === this.slides.length - 2;\n const showSlide = loop ? this.displaySlide + 1 : nextSlide;\n this.displaySlide = nextSlide;\n this.animating = true;\n\n const hideSequence = this.content[prevSlide].lineSplit[0].lines.reduce(\n (sequence, line, index) => {\n const element = line[0].closest('.btn-v2--gold')\n ? line[0].closest('.btn-v2--gold')\n : line;\n\n const delay = line[0].closest('.btn-v2--gold')\n ? 0.03 * this.content[prevSlide].lineSplit[0].lines.length\n : 0.03 * index;\n\n if (line[0].closest('.btn-v2--white')) {\n return sequence;\n }\n const lineSequence = [\n element,\n {\n opacity: [1, 0],\n transform: ['translate(0, 0)', 'translate(-100px, 0)']\n },\n { at: delay },\n { duration: 0.1 }\n ];\n sequence.push(lineSequence);\n return sequence;\n },\n []\n );\n\n const showSequence = this.content[showSlide].lineSplit[0].lines.reduce(\n (sequence, line, index) => {\n const element = line[0].closest('.btn-v2--gold')\n ? line[0].closest('.btn-v2--gold')\n : line;\n\n const delay = line[0].closest('.btn-v2--gold')\n ? 0.03 * this.content[showSlide].lineSplit[0].lines.length\n : 0.03 * index;\n\n if (line[0].closest('.btn-v2--white')) {\n return sequence;\n }\n\n if (Array.isArray(element)) {\n element.forEach(el => (el.style.opacity = '0'));\n } else {\n element.style.opacity = '0';\n }\n\n const lineSequence = [\n element,\n {\n opacity: [0, 1],\n transform: ['translate(100px, 0)', 'translate(0, 0)']\n },\n { at: 0.35 + delay },\n { duration: 0.05 }\n ];\n sequence.push(lineSequence);\n return sequence;\n },\n []\n );\n\n this.slides[showSlide].style.visibility = 'visible';\n\n if (this.videoOriginal[prevSlide].anim) {\n this.videoOriginal[prevSlide].anim.stop();\n }\n\n animate(\n this.videoOriginal[showSlide],\n {\n clipPath: ['inset(0 0 1px 100%)', 'inset( 0 0 1px 0)']\n },\n {\n duration: 0.4\n }\n );\n\n this.hideTransition = timeline(hideSequence);\n\n this.showTransition = timeline(showSequence).finished.then(() => {\n if (loop) {\n this.content[this.displaySlide].lineSplit[0].lines.forEach(line => {\n if (!line[0].closest('.btn-v2--white')) {\n const element = line[0].closest('.btn-v2--gold')\n ? line[0].closest('.btn-v2--gold')\n : line;\n\n if (Array.isArray(element)) {\n element.forEach(\n el => (el.style = 'opacity: 1; transform: translate(0)')\n );\n } else {\n element.style = 'opacity: 1; transform(0): : translate(0)';\n }\n }\n });\n\n this.slides[this.displaySlide].style.visibility = 'visible';\n }\n this.animating = null;\n this.slides.forEach((slide, index) => {\n if (index !== this.displaySlide) slide.style.visibility = 'hidden';\n });\n });\n }\n }\n\n removeButtonHoverClass(element) {\n this.getClosestElement(element, '.next-button').classList.remove(\n this.buttonHoverClass\n );\n }\n\n clearNextButtonData() {\n this.dom.thumbnailWrapperVideo.src = '';\n this.removeButtonHoverClass(this.dom.next);\n }\n\n setNextButtonData(nextSlide) {\n this.clearNextButtonData();\n\n this.setNextSliderButton({\n label: nextSlide.dataset.nextLabel,\n image: this.getVideoSrc(nextSlide)\n });\n }\n\n setNextSliderButton({ label, image }) {\n const prefix = this.dom.nextLabel.dataset.label;\n this.dom.thumbnailWrapperVideo.src = image;\n this.dom.thumbnailWrapperVideo.alt = label;\n this.dom.nextLabel.innerHTML = `${prefix} ${label}`;\n\n const video = this.dom.thumbnailWrapper.querySelector('video');\n\n video.load();\n video.play();\n\n if (video.readyState >= 3) {\n video.play();\n }\n }\n\n getClosestElement(element, className) {\n return element.closest(className);\n }\n\n getHeroVideos() {\n return this.el.querySelectorAll(`${this.videoHeroV2}`);\n }\n\n getVideoSrc(element) {\n return element.querySelector(\n '.home-hero-v2__media-wrapper .video-hero-v2__video source'\n ).src;\n }\n}\n\nexport default Module;\n","import { Component } from '@verndale/core';\n\nclass Module extends Component {\n setupDefaults() {\n this.dom = {\n videos: this.el.querySelectorAll('.video-hero-v2__video'),\n playButton: this.el.querySelector('.video-hero-v2__play-button'),\n pauseButton: this.el.querySelector('.video-hero-v2__pause-button')\n };\n }\n\n addListeners() {\n this.dom.playButton.addEventListener('click', ::this.playVideo);\n this.dom.pauseButton.addEventListener('click', ::this.pauseVideo);\n }\n\n playVideo(event) {\n this.dom.playButton.style.display = 'none';\n this.dom.pauseButton.style.display = 'block';\n this.dom.videos.forEach(video => {\n video.play();\n });\n\n if (event && (event.type === 'click' || event.type === 'focus')) {\n this.dom.pauseButton.focus();\n }\n }\n\n pauseVideo(event) {\n this.dom.playButton.style.display = 'block';\n this.dom.pauseButton.style.display = 'none';\n this.dom.videos.forEach(video => {\n video.pause();\n });\n\n if (event && (event.type === 'click' || event.type === 'focus')) {\n this.dom.playButton.focus();\n }\n }\n}\n\nexport default Module;\n"],"sourceRoot":""}