{"version":3,"file":"161.js?id=8edfadcf122f0047","mappings":"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","sources":["webpack://snap/./public/wp-content/themes/snap/src/assets/js/components/heroVideo.js","webpack://snap/./public/wp-content/themes/snap/src/assets/js/components/parallax.js"],"sourcesContent":["import { minDesktop } from '../helpers/resize'\nimport Parallax from './parallax'\n\nclass HeroVideo {\n  constructor(el) {\n    this.el = el\n    this.parallax = null\n    this.video = el.querySelector('video')\n    this.noMotionPreference = window.matchMedia(\n      '(prefers-reduced-motion: no-preference)'\n    )\n\n    this.onResize()\n    minDesktop.addEventListener('change', this.onResize.bind(this))\n\n    if (!this.video) return\n\n    /* Init video */\n    this.button = el.querySelector('[data-video-btn]')\n    this.el.classList.add('is-video-loading')\n\n    if (this.button) {\n      this.button.addEventListener('click', this.toggleVideo.bind(this))\n    }\n\n    this.video.addEventListener('canplay', () => {\n      this.el.classList.remove('is-video-loading')\n      this.onResize()\n    })\n  }\n\n  onResize() {\n    if (minDesktop.matches && this.noMotionPreference.matches) {\n      if (!this.parallax) {\n        this.parallax = new Parallax(this.el)\n      }\n\n      this.parallax.init()\n      this.play()\n    } else {\n      if (this.parallax) {\n        this.parallax.destroy()\n      }\n\n      this.pause()\n    }\n  }\n\n  pause() {\n    if (!this.video) return\n    this.video.pause()\n    this.el.classList.remove('is-playing')\n  }\n\n  play() {\n    if (!this.video) return\n    this.video.play()\n    this.el.classList.add('is-playing')\n  }\n\n  toggleVideo() {\n    if (!this.video) return\n    if (this.video.paused) {\n      this.play()\n    } else {\n      this.pause()\n    }\n  }\n}\n\nexport const render = (el) => new HeroVideo(el)\nexport default HeroVideo\n","import throttle from 'lodash.throttle'\n\nclass Parallax {\n  constructor(el) {\n    this.el = el\n    this.imageWrapper = this.el.querySelector('[data-img-wrapper]')\n    this.heading = this.el.querySelector('[data-content]')\n    this.throttledOnScroll = throttle(this.onScroll.bind(this), 30)\n  }\n\n  init() {\n    window.addEventListener('scroll', this.throttledOnScroll)\n    this.imageWrapper.style.bottom = 0\n  }\n\n  destroy() {\n    window.removeEventListener('scroll', this.throttledOnScroll)\n    this.imageWrapper.removeAttribute('style')\n    this.heading.style.opacity = 1\n  }\n\n  shouldHideHeaderContent() {\n    const headingBottom = document.querySelector('[data-header]').clientHeight\n\n    return this.heading.getBoundingClientRect().top < headingBottom - 50\n  }\n\n  showHideHeaderContent() {\n    if (this.shouldHideHeaderContent()) {\n      this.heading.style.opacity = 0\n    } else {\n      this.heading.style.opacity = 1\n    }\n  }\n\n  doParallax() {\n    const { bottom } = this.el.getBoundingClientRect()\n\n    if (bottom > 0) {\n      const y = window.scrollY * 0.2\n      this.imageWrapper.style.transform = `translate3d(0, ${y}px, 0)`\n    }\n  }\n\n  onScroll(e) {\n    this.doParallax()\n    this.showHideHeaderContent()\n  }\n}\n\nexport const render = (el) => new Parallax(el)\nexport default Parallax\n"],"names":["HeroVideo","el","_this","this","_classCallCheck","parallax","video","querySelector","noMotionPreference","window","matchMedia","onResize","minDesktop","addEventListener","bind","button","classList","add","toggleVideo","remove","key","value","matches","Parallax","init","play","destroy","pause","paused","render","imageWrapper","heading","throttledOnScroll","throttle","onScroll","style","bottom","removeEventListener","removeAttribute","opacity","headingBottom","document","clientHeight","getBoundingClientRect","top","shouldHideHeaderContent","y","scrollY","transform","concat","e","doParallax","showHideHeaderContent","__WEBPACK_DEFAULT_EXPORT__"],"sourceRoot":""}