{"version":3,"file":"zoomv.4023.min.js?t=756074e9b02d15bf70cc","mappings":"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","sources":["webpack://@hero-digital/zoom/./src/components/modules/Hero/Hero.js"],"sourcesContent":["class Hero {\r\n constructor(el) {\r\n this.el = el\r\n this.domMap = {\r\n image: el.querySelector('.hero__image'),\r\n contentHero: el.querySelector('.hero__content'),\r\n $printButton: el.querySelector('.fdn-button--button-style-icon-download')\r\n }\r\n this.links = Array.from(el.querySelectorAll('.fdn-button'))\r\n this.classes = el.classList\r\n this.setImageHeight()\r\n this.deviceSize()\r\n this.setContentHeight()\r\n this.addListeners()\r\n this.handlePricingCardMove()\r\n }\r\n\r\n addListeners = () => {\r\n window.addEventListener('resize', this.handlePricingCardMove)\r\n window.addEventListener('resize', this.setImageHeight)\r\n window.addEventListener('resize', this.deviceSize)\r\n window.addEventListener('resize', this.setContentHeight)\r\n window.addEventListener('resize', this.handleResize)\r\n this.handleResize()\r\n this.links.forEach((link) => {\r\n link.addEventListener('click', this.handleCtaClicks)\r\n })\r\n\r\n const scrollLinks = document.querySelectorAll('a[href^=\"#\"]')\r\n scrollLinks.forEach((scrollLinks) => {\r\n scrollLinks.addEventListener('click', this.handleAnchorClick)\r\n })\r\n\r\n if (this.domMap.$printButton) {\r\n this.domMap.$printButton.addEventListener('click', function () {\r\n if (window && window.print) {\r\n window.print()\r\n } else {\r\n console.error('Printing not supported')\r\n }\r\n })\r\n }\r\n }\r\n setImageHeight = () => {\r\n if (this.domMap.image) {\r\n this.el.style.setProperty(\r\n '--image-height',\r\n `${this.domMap.image.clientHeight}px`\r\n )\r\n }\r\n }\r\n deviceSize = () => {\r\n this.el.style.setProperty('--device-width', `${this.el.clientWidth}px`)\r\n }\r\n setContentHeight = () => {\r\n if (this.domMap.contentHero) {\r\n this.el.style.setProperty(\r\n '--content-height',\r\n `${this.domMap.contentHero.clientHeight}px`\r\n )\r\n }\r\n }\r\n\r\n handleAnchorClick = (event) => {\r\n event.preventDefault()\r\n const targetId = event.target.getAttribute('href').substring(1)\r\n const targetSection = document.getElementById(targetId)\r\n\r\n if (targetSection) {\r\n const offset = 100\r\n const offsetTop =\r\n targetSection.getBoundingClientRect().top + window.pageYOffset - offset\r\n\r\n window.scrollTo({\r\n top: offsetTop,\r\n behavior: 'smooth'\r\n })\r\n }\r\n }\r\n\r\n // New Pricing API\r\n handlePricingCardMove = () => {\r\n const heroContent = this.el.querySelector('.hero__content')\r\n const heroContainer = this.el.querySelector('.hero__container')\r\n const pricingCardWrapper = this.el.querySelector(\r\n '.fdn-pricingcard-uni-wrapper'\r\n )\r\n\r\n if (heroContent && heroContainer && pricingCardWrapper) {\r\n // Get current viewport width\r\n const viewportWidth = window.innerWidth\r\n\r\n if (viewportWidth >= 768 && viewportWidth < 1220) {\r\n // Move the pricing card wrapper as the last element of hero__container\r\n if (heroContainer.lastElementChild !== pricingCardWrapper) {\r\n heroContainer.appendChild(pricingCardWrapper)\r\n // Add the class __hasPricingCard to heroContainer\r\n heroContainer.classList.add('__hasPricingCard')\r\n }\r\n } else {\r\n // Move the pricing card wrapper back inside the hero__content\r\n if (!heroContent.contains(pricingCardWrapper)) {\r\n heroContent.appendChild(pricingCardWrapper)\r\n // Remove the class __hasPricingCard from heroContainer\r\n heroContainer.classList.remove('__hasPricingCard')\r\n }\r\n }\r\n }\r\n }\r\n\r\n initIconBlockSwiper = () => {\r\n const hasSwiperClass = this.el.classList.contains(\r\n 'hero--hub-component-image-with-swiper'\r\n )\r\n if (!hasSwiperClass) return\r\n\r\n const container = this.el.querySelector('.layout-3-columns')\r\n const wrapper = container?.querySelector('.wrapper')\r\n\r\n if (!container || !wrapper) return\r\n\r\n wrapper.classList.add('swiper-wrapper')\r\n Array.from(wrapper.children).forEach((col) =>\r\n col.classList.add('swiper-slide')\r\n )\r\n container.classList.add('swiper')\r\n\r\n let paginationEl = container.querySelector('.swiper-pagination')\r\n if (!paginationEl) {\r\n paginationEl = document.createElement('div')\r\n paginationEl.className = 'swiper-pagination'\r\n container.appendChild(paginationEl)\r\n }\r\n\r\n if (typeof Swiper === 'undefined') {\r\n console.error('Swiper is not loaded')\r\n return\r\n }\r\n\r\n this.swiper = new Swiper(container, {\r\n slidesPerView: 1.5,\r\n spaceBetween: 16,\r\n breakpoints: {\r\n 640: {\r\n slidesPerView: 2.3,\r\n spaceBetween: 20\r\n }\r\n },\r\n pagination: {\r\n el: paginationEl,\r\n clickable: true\r\n }\r\n })\r\n\r\n this.el.classList.add('__swiperInitialized')\r\n }\r\n\r\n destroySwiper = () => {\r\n if (this.swiper) {\r\n this.swiper.destroy(true, true)\r\n this.swiper = null\r\n\r\n const wrapper = this.el.querySelector('.layout-3-columns > .wrapper')\r\n const container = this.el.querySelector('.layout-3-columns')\r\n\r\n if (wrapper) {\r\n wrapper.classList.remove('swiper-wrapper')\r\n Array.from(wrapper.children).forEach((col) =>\r\n col.classList.remove('swiper-slide')\r\n )\r\n }\r\n\r\n if (container) {\r\n container.classList.remove('swiper')\r\n const pagination = container.querySelector('.swiper-pagination')\r\n if (pagination) pagination.remove()\r\n }\r\n\r\n this.el.classList.remove('__swiperInitialized')\r\n }\r\n }\r\n\r\n handleResize = () => {\r\n const isMobile = window.innerWidth <= 767\r\n\r\n if (isMobile && !this.swiper) {\r\n this.initIconBlockSwiper()\r\n } else if (!isMobile && this.swiper) {\r\n this.destroySwiper()\r\n }\r\n }\r\n}\r\n\r\nexport default Hero\r\n"],"names":["_createClass","Hero","el","_this","_classCallCheck","_defineProperty","window","addEventListener","handlePricingCardMove","setImageHeight","deviceSize","setContentHeight","handleResize","links","forEach","link","handleCtaClicks","document","querySelectorAll","scrollLinks","handleAnchorClick","domMap","$printButton","print","console","error","image","style","setProperty","concat","clientHeight","clientWidth","contentHero","event","preventDefault","targetId","target","getAttribute","substring","targetSection","getElementById","offsetTop","getBoundingClientRect","top","pageYOffset","scrollTo","behavior","heroContent","querySelector","heroContainer","pricingCardWrapper","viewportWidth","innerWidth","lastElementChild","appendChild","classList","add","contains","remove","container","wrapper","Array","from","children","col","paginationEl","createElement","className","Swiper","swiper","slidesPerView","spaceBetween","breakpoints","pagination","clickable","destroy","isMobile","initIconBlockSwiper","destroySwiper","this","classes","addListeners"],"sourceRoot":""}