{"version":3,"file":"zoomv.4154.min.js?t=dc936799bb61bde6338a","mappings":"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","sources":["webpack://@hero-digital/zoom/./src/components/components/PricingCardStandard/PricingCardStandard.js"],"sourcesContent":["import { callPricingAPI } from '../../../js/utilities/pricing'\r\nimport { default as Dropdown } from '../../foundation/Dropdown/Dropdown'\r\n\r\nclass PricingCardStandard {\r\n constructor(el) {\r\n this.el = el\r\n this.pricingCardContainer = this.el.querySelector('.fdn-pricingcard-standard-wrapper-container')\r\n this.pricingCards = this.el.querySelectorAll('.fdn-pricingcard-standard-wrapper-container .fdn-pricingcard-standard-wrapper-container-card')\r\n this.noOfPricingCard = 0\r\n this.singlePricingCardWidth = 0\r\n this.singlePricingCardHeight = 0\r\n this.pricingCardWrapperPosition = this.el.querySelector('.fdn-pricingcard-standard-wrapper-container-card-position')\r\n this.wrapperPosition = this.el.getAttribute('data-wrapper-position')\r\n this.pricingCardPerRow = this.el.getAttribute('data-card-per-row')\r\n this.showPlanDetails = this.el.querySelector('.fdn-pricingcard-standard-wrapper-cta-container > button')\r\n this.pricingCardFeatures = this.el.querySelectorAll('.fdn-pricingcard-standard-wrapper-container-card .fdn-pricingcard-standard-wrapper-container-card--features')\r\n this.pricingCardPriceBlock = this.el.querySelectorAll('.fdn-pricingcard-standard-wrapper-container-card--price')\r\n const mobileQuery = window?.matchMedia('(max-width: 767px)')\r\n this.isMobile = mobileQuery?.matches\r\n\r\n this.wrapperPosition = this.el.getAttribute('data-wrapper-position')\r\n this.aicContentHeight = 0\r\n this.expandedCardHeight = 0\r\n\r\n this.apiUrl = this.el.dataset.apiEndpoint\r\n let divId = this.el.dataset.id\r\n if(divId) {\r\n this.dropdownEl = this.el.querySelector(`#country-${divId}`)\r\n if(this.dropdownEl){\r\n const dropdown = new Dropdown(this.dropdownEl);\r\n dropdown.onChange((result) => this.handleOnchangeCountry(result, this))\r\n }\r\n }\r\n this.init()\r\n this.addListeners()\r\n }\r\n init () {\r\n this.setInitialCardHeight()\r\n if(!this.isMobile) this.setInitialCardWidth()\r\n if (this.pricingCardWrapperPosition) {\r\n if (this.isMobile) {\r\n this.setMobilePricingCarWrapperPosition();\r\n } else {\r\n this.setPricingCardWrapperPosition();\r\n }\r\n }\r\n this.expand()\r\n }\r\n addListeners() {\r\n window.addEventListener('resize', this.debounce(() => {\r\n let mobileQuery = window?.matchMedia('(max-width: 767px)')\r\n if(mobileQuery?.matches) {\r\n setTimeout(()=> {\r\n this.setMobileInitialCardHeight()\r\n if (this.pricingCardWrapperPosition) {\r\n this.setMobilePricingCarWrapperPosition()\r\n }\r\n }, 200)\r\n } else {\r\n this.setInitialCardHeight()\r\n this.setInitialCardWidth()\r\n if (this.pricingCardWrapperPosition) {\r\n this.setPricingCardWrapperPosition()\r\n }\r\n }\r\n this.setPriceBlockHeight()\r\n },200))\r\n }\r\n handleOnchangeCountry(selectedCountryCode, context) {\r\n // Define fetch options\r\n const fetchOpts = {\r\n method: 'GET',\r\n credentials: 'include',\r\n mode: 'cors',\r\n headers: {\r\n 'Content-Type': 'text/html; charset=utf-8'\r\n }\r\n };\r\n\r\n // Cache DOM elements\r\n const resultContainer = context.el.querySelector(\".module-product-inquiry--country-list\");\r\n if (!resultContainer) return; // Early return if the result container is not found\r\n\r\n let apiUrl=this.el.dataset.apiEndpoint\r\n let divId=context.el.dataset.id\r\n\r\n // Make the fetch request\r\n fetch(`${apiUrl}location=${selectedCountryCode}`, fetchOpts)\r\n .then(response => response.text())\r\n .then(data => {\r\n // Remove old pricing card if it exists\r\n const pricingCardBasic = document.querySelector(`div[data-id='${divId}']`)\r\n if (pricingCardBasic) {\r\n pricingCardBasic.outerHTML = data;\r\n callPricingAPI();\r\n const temp = document.createElement('div');\r\n temp.innerHTML = data;\r\n const newDivId = temp.querySelector('div[data-id]')?.getAttribute('data-id');\r\n const updatedElement = newDivId ? document.querySelector(`div[data-id='${newDivId}']`) : null;\r\n if (updatedElement) new PricingCardStandard(updatedElement);\r\n } \r\n })\r\n .catch(err => {\r\n \r\n });\r\n }\r\n debounce(func, wait) {\r\n let timeout;\r\n return function(...args) {\r\n const context = this;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(() => func.apply(context, args), wait);\r\n };\r\n }\r\n setInitialCardWidth() {\r\n this.pricingCards.forEach((card) => {\r\n card.style.width = `calc(100% / ${this.pricingCardPerRow})`\r\n });\r\n }\r\n setInitialCardHeight() {\r\n let highestHeight = 0\r\n let highestScrollHeight = 0\r\n let highestFeatureHeight = 0\r\n if(!this.showPlanDetails.classList.contains('is-active')) {\r\n this.pricingCards.forEach((card) => {\r\n // Get the current card's height\r\n let cardHeight = card.offsetHeight\r\n let featureHeight = card.querySelector('.fdn-pricingcard-standard-wrapper-container-card--features').scrollHeight\r\n let cardScrollHeight = featureHeight + cardHeight\r\n \r\n // Update the highest height if the current card's height is greater\r\n if (cardHeight > highestHeight) {\r\n highestHeight = cardHeight\r\n }\r\n if (cardScrollHeight > highestScrollHeight) {\r\n highestScrollHeight = cardScrollHeight\r\n }\r\n if (featureHeight > highestFeatureHeight) {\r\n highestFeatureHeight = featureHeight\r\n }\r\n })\r\n // Apply the highest height to all pricing cards\r\n let count = 0\r\n let singlePricingCardWidth = 0\r\n this.pricingCards.forEach((card) => {\r\n card.style.minHeight = ``\r\n card.setAttribute(\"data-height\", highestHeight)\r\n card.setAttribute(\"data-scrollHeight\", highestScrollHeight)\r\n card.setAttribute(\"data-featuresHeight\", highestFeatureHeight)\r\n card.style.minHeight = `${highestHeight}px`\r\n count++\r\n singlePricingCardWidth = card.offsetWidth\r\n })\r\n this.noOfPricingCard = count\r\n this.singlePricingCardWidth = singlePricingCardWidth\r\n } else {\r\n this.pricingCardFeatures.forEach((element) => {\r\n element.style.height = 'fit-content'\r\n element.style.height = element.offsetHeight + 'px'\r\n element.parentElement.setAttribute('data-featuresHeight', element.offsetHeight)\r\n })\r\n }\r\n this.setPriceBlockHeight()\r\n }\r\n setPriceBlockHeight() {\r\n const pricingCardDivs = this.pricingCardPriceBlock;\r\n pricingCardDivs.forEach(div => {\r\n div.style.minHeight = '';\r\n })\r\n if (pricingCardDivs.length) {\r\n let maxHeight = 0\r\n pricingCardDivs.forEach(div => {\r\n const divHeight = div.offsetHeight\r\n if (divHeight > maxHeight) {\r\n maxHeight = divHeight\r\n }\r\n })\r\n pricingCardDivs.forEach(div => {\r\n div.style.minHeight = maxHeight + 'px';\r\n })\r\n }\r\n }\r\n setMobileInitialCardHeight() {\r\n let highestHeight = 0\r\n let highestScrollHeight = 0\r\n let highestFeatureHeight = 0\r\n if(!this.showPlanDetails.classList.contains('is-active')) {\r\n this.pricingCards.forEach((card) => {\r\n card.removeAttribute(\"data-height\");\r\n card.removeAttribute(\"data-scrollHeight\");\r\n card.removeAttribute(\"data-featuresHeight\");\r\n card.style.minHeight = \"auto\";\r\n card.style.width = '100%'\r\n });\r\n this.pricingCards.forEach((card) => {\r\n // Get the current card's height\r\n let cardHeight = card.offsetHeight\r\n let featureHeight = card.querySelector('.fdn-pricingcard-standard-wrapper-container-card--features').scrollHeight\r\n let cardScrollHeight = featureHeight + cardHeight\r\n \r\n // Update the highest height if the current card's height is greater\r\n if (cardHeight > highestHeight) {\r\n highestHeight = cardHeight\r\n }\r\n if (cardScrollHeight > highestScrollHeight) {\r\n highestScrollHeight = cardScrollHeight\r\n }\r\n if (featureHeight > highestFeatureHeight) {\r\n highestFeatureHeight = featureHeight\r\n }\r\n })\r\n // Apply the highest height to all pricing cards\r\n let count = 0\r\n let singlePricingCardWidth = 0\r\n this.pricingCards.forEach((card) => {\r\n card.style.minHeight = ''\r\n card.setAttribute(\"data-height\", highestHeight)\r\n card.setAttribute(\"data-scrollHeight\", highestScrollHeight)\r\n card.setAttribute(\"data-featuresHeight\", highestFeatureHeight)\r\n //card.style.minHeight = `${highestHeight}px`\r\n count++\r\n singlePricingCardWidth = card.offsetWidth\r\n })\r\n this.noOfPricingCard = count\r\n this.singlePricingCardWidth = singlePricingCardWidth\r\n } else {\r\n this.pricingCards.forEach((card) => {\r\n let cardHeight = parseInt(card.getAttribute('data-height'))\r\n let featureHeight = card.querySelector('.fdn-pricingcard-standard-wrapper-container-card--features').offsetHeight\r\n let cardScrollHeight = parseInt(featureHeight + cardHeight)\r\n if (cardScrollHeight > highestScrollHeight) {\r\n highestScrollHeight = cardScrollHeight\r\n }\r\n })\r\n this.pricingCards.forEach((card) => {\r\n card.setAttribute(\"data-scrollHeight\", highestScrollHeight)\r\n })\r\n }\r\n }\r\n expand() {\r\n this.showPlanDetails.addEventListener('click', (e) => {\r\n let cardGap = parseInt(this.wrapperPosition*20)\r\n let marginValue = 10\r\n let aicContentHeight = 0;\r\n if (this.pricingCardWrapperPosition) {\r\n aicContentHeight = this.pricingCardWrapperPosition.querySelector('.fdn-pricingcard-standard-wrapper-container-card-position-content').offsetHeight\r\n }\r\n let mobileQuery = window?.matchMedia('(max-width: 767px)')\r\n\r\n if (!this.showPlanDetails.classList.contains('is-active')) {\r\n this.showPlanDetails.classList.add('is-active')\r\n } else {\r\n this.showPlanDetails.classList.remove('is-active')\r\n }\r\n\r\n let singlePricingCardHeight = 0\r\n this.pricingCards.forEach((card) => {\r\n if(!this.showPlanDetails.classList.contains('is-active')) {\r\n singlePricingCardHeight = card.getAttribute('data-height')\r\n } else {\r\n singlePricingCardHeight = card.getAttribute('data-scrollheight')\r\n }\r\n })\r\n this.singlePricingCardHeight = singlePricingCardHeight\r\n\r\n if (this.pricingCardWrapperPosition) {\r\n if(mobileQuery?.matches && this.showPlanDetails.classList.contains('is-active')) {\r\n this.pricingCardWrapperPosition.style.height = `${this.expandedCardHeight + cardGap + (aicContentHeight + marginValue)}px`\r\n } else if(mobileQuery?.matches && !this.showPlanDetails.classList.contains('is-active')) {\r\n this.pricingCardWrapperPosition.style.height = `${(this.wrapperPosition*this.singlePricingCardHeight)+(this.wrapperPosition*20) + (aicContentHeight + marginValue)}px`\r\n } else {\r\n this.pricingCardWrapperPosition.style.height = 'calc(100% + 20px)'\r\n }\r\n }\r\n\r\n this.pricingCardFeatures.forEach((element) => {\r\n let cardElement = element.parentElement\r\n if(!element.classList.contains('is-active')) {\r\n element.classList.add('is-active')\r\n let cardScrollHeight = cardElement.getAttribute('data-scrollHeight')\r\n let featuresHeight = cardElement.getAttribute('data-featuresHeight')\r\n cardElement.style.minHeight = `${cardScrollHeight}px`\r\n element.style.cssText = `opacity: 1;visibility: visible;height:${featuresHeight}px;overflow:hidden;transition: 0.5s all ease-in`\r\n } else {\r\n element.classList.remove('is-active')\r\n let cardDefaultHeight = cardElement.getAttribute('data-height')\r\n cardElement.style.minHeight = `${cardDefaultHeight}px`\r\n element.style.cssText = `opacity: 0;visibility: hidden;height:0;overflow:hidden;transition: 0.5s all ease-in`\r\n }\r\n });\r\n });\r\n }\r\n setPricingCardWrapperPosition() {\r\n if (!this.pricingCardWrapperPosition) {\r\n return\r\n }\r\n let singlePricingCardWidth = 0\r\n let gridSpace = 20\r\n let marginValue = 10\r\n let i = 1\r\n let noOfcard = this.pricingCards.length\r\n this.setInitialCardWidth()\r\n\r\n this.pricingCards.forEach((card) => {\r\n singlePricingCardWidth = card.offsetWidth\r\n let targetCard = parseInt(noOfcard - this.wrapperPosition)\r\n if (i === targetCard) {\r\n card.style.marginBottom = '0'\r\n }\r\n i++\r\n })\r\n\r\n this.singlePricingCardWidth = singlePricingCardWidth\r\n this.pricingCardWrapperPosition.style.width = `${(this.wrapperPosition * this.singlePricingCardWidth) + (this.wrapperPosition * gridSpace)}px`\r\n this.pricingCardWrapperPosition.style.height = 'calc(100% + 20px)'\r\n\r\n const content = this.pricingCardWrapperPosition.querySelector('.fdn-pricingcard-standard-wrapper-container-card-position-content')\r\n if (!content) {\r\n return\r\n }\r\n const aicContentHeight = content.offsetHeight\r\n this.pricingCardContainer.style.paddingTop = `${aicContentHeight + marginValue}px`\r\n }\r\n setInitialCardHeight() {\r\n let highestHeight = 0\r\n let highestScrollHeight = 0\r\n let highestFeatureHeight = 0\r\n if (!this.showPlanDetails) {\r\n return\r\n }\r\n if (!this.showPlanDetails.classList.contains('is-active')) {\r\n this.pricingCards.forEach((card) => {\r\n const featuresElement = card.querySelector('.fdn-pricingcard-standard-wrapper-container-card--features')\r\n if (!featuresElement) {\r\n return\r\n }\r\n let cardHeight = card.offsetHeight\r\n let featureHeight = featuresElement.scrollHeight\r\n let cardScrollHeight = featureHeight + cardHeight\r\n\r\n if (cardHeight > highestHeight) highestHeight = cardHeight\r\n if (cardScrollHeight > highestScrollHeight) highestScrollHeight = cardScrollHeight\r\n if (featureHeight > highestFeatureHeight) highestFeatureHeight = featureHeight\r\n })\r\n\r\n this.pricingCards.forEach((card) => {\r\n card.style.minHeight = ''\r\n card.setAttribute('data-height', highestHeight)\r\n card.setAttribute('data-scrollHeight', highestScrollHeight)\r\n card.setAttribute('data-featuresHeight', highestFeatureHeight)\r\n card.style.minHeight = `${highestHeight}px`\r\n })\r\n } else {\r\n this.pricingCardFeatures.forEach((element) => {\r\n element.style.height = 'fit-content'\r\n element.style.height = `${element.offsetHeight}px`\r\n element.parentElement.setAttribute('data-featuresHeight', element.offsetHeight)\r\n })\r\n }\r\n this.setPriceBlockHeight()\r\n }\r\n setMobilePricingCarWrapperPosition() { \r\n let singlePricingCardHeight = 0\r\n let gridSpace = 20\r\n let marginValue = 10\r\n let noOfcard = this.pricingCards.length\r\n let i = 1;\r\n let aicContentHeight = this.pricingCardWrapperPosition.querySelector('.fdn-pricingcard-standard-wrapper-container-card-position-content').offsetHeight\r\n\r\n this.pricingCards.forEach((card) => {\r\n card.style.width = '100%'\r\n this.expandedCardHeight = parseInt(this.wrapperPosition*card.getAttribute('data-scrollheight'))\r\n if(!this.showPlanDetails.classList.contains('is-active')) {\r\n singlePricingCardHeight = card.getAttribute('data-height')\r\n } else {\r\n singlePricingCardHeight = card.getAttribute('data-scrollheight')\r\n }\r\n\r\n let targetCard = parseInt(noOfcard - (this.wrapperPosition))\r\n this.pricingCardContainer.style.paddingTop = 0\r\n if(i == targetCard) {\r\n card.style.marginBottom = `${aicContentHeight + marginValue}px`\r\n } else if(targetCard == 0) {\r\n this.pricingCardContainer.style.paddingTop = `${aicContentHeight + marginValue}px`\r\n }\r\n i++;\r\n })\r\n\r\n this.singlePricingCardHeight = singlePricingCardHeight\r\n this.pricingCardWrapperPosition.style.width = 'calc(100% + 20px)'\r\n this.pricingCardWrapperPosition.style.height = `${(this.wrapperPosition*this.singlePricingCardHeight)+(this.wrapperPosition*gridSpace) + (aicContentHeight + marginValue)}px`\r\n }\r\n}\r\n\r\nexport default PricingCardStandard\r\n"],"names":["PricingCardStandard","el","_window","_this","_classCallCheck","this","pricingCardContainer","querySelector","pricingCards","querySelectorAll","noOfPricingCard","singlePricingCardWidth","singlePricingCardHeight","pricingCardWrapperPosition","wrapperPosition","getAttribute","pricingCardPerRow","showPlanDetails","pricingCardFeatures","pricingCardPriceBlock","mobileQuery","window","matchMedia","isMobile","matches","aicContentHeight","expandedCardHeight","apiUrl","dataset","apiEndpoint","divId","id","dropdownEl","concat","Dropdown","onChange","result","handleOnchangeCountry","init","addListeners","key","value","setInitialCardHeight","setInitialCardWidth","setMobilePricingCarWrapperPosition","setPricingCardWrapperPosition","expand","_this2","addEventListener","debounce","_window2","setTimeout","setMobileInitialCardHeight","setPriceBlockHeight","selectedCountryCode","context","fetch","method","credentials","mode","headers","then","response","text","data","pricingCardBasic","document","_temp$querySelector","outerHTML","callPricingAPI","temp","createElement","innerHTML","newDivId","updatedElement","err","func","wait","timeout","_len","arguments","length","args","Array","_key","clearTimeout","apply","_this3","forEach","card","style","width","highestHeight","highestScrollHeight","highestFeatureHeight","classList","contains","element","height","offsetHeight","parentElement","setAttribute","featuresElement","cardHeight","featureHeight","scrollHeight","cardScrollHeight","minHeight","pricingCardDivs","div","maxHeight","divHeight","parseInt","removeAttribute","count","offsetWidth","_this4","e","_window3","cardGap","remove","add","cardElement","cardDefaultHeight","cssText","featuresHeight","_this5","i","noOfcard","targetCard","marginBottom","content","paddingTop","_this6"],"sourceRoot":""}