{"version":3,"file":"zoomv.4154.min.js?t=055484d1fecbdbad4c38","mappings":"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","sources":["webpack://@hero-digital/zoom/./src/components/components/PricingCardStandard/PricingCardStandard.js","webpack://@hero-digital/zoom/./src/js/utilities/currency-filter.js"],"sourcesContent":["import { callPricingAPI } from '../../../js/utilities/pricing'\r\nimport {initCountryCurrencyFilter} from '../../../js/utilities/currency-filter'\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 initCountryCurrencyFilter(this,{onCountryChange:this.handleOnchangeCountry.bind(this),onCurrencyChange:this.handleOnchangeCountry.bind(this)})\r\n this.init()\r\n this.addListeners()\r\n }\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 this.updateCardHeightwithWrapper();\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 this.updateCardHeightwithWrapper();\r\n }\r\n }\r\n this.setPriceBlockHeight()\r\n },200))\r\n\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 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 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 if(this.isMobile){\r\n div.style.minHeight = '74px';\r\n } else {\r\n div.style.minHeight = maxHeight + 'px';\r\n }\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 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 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 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 updateCardHeightwithWrapper(){\r\n let heights = [];\r\n let totalHeight = 0;\r\n let marginValue = 10\r\n let aicContentHeight = 0;\r\n let windowWidh = window.innerWidth;\r\n let windowHeight = window.innerHeight;\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 setTimeout(() => {\r\n this.pricingCards.forEach((card) => { \r\n heights.push(card.getBoundingClientRect().height)\r\n totalHeight = heights.slice(-this.wrapperPosition).reduce((acc, val) => acc + val, 0); \r\n })\r\n this.pricingCardWrapperPosition.style.height = `${totalHeight + (this.wrapperPosition*20) + (aicContentHeight + marginValue)}px`\r\n },500);\r\n \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 if(window.innerWidth <= 768){\r\n cardElement.style.minHeight = `fit-content`\r\n element.style.cssText = `opacity: 1;visibility: visible;height:auto;transition: 0.5s all ease-in`\r\n } else {\r\n cardElement.style.minHeight = `${cardScrollHeight}px`\r\n element.style.cssText = `opacity: 1;visibility: visible;height:${featuresHeight}px;transition: 0.5s all ease-in`\r\n }\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;transition: 0.5s all ease-in`\r\n }\r\n });\r\n }\r\n expand() {\r\n this.showPlanDetails.addEventListener('click', (e) => {\r\n this.updateCardHeightwithWrapper();\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.offsetHeight)\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","import { ensureCurrencyFilterFlag, listenCurrencyChange } from \"./utilities\";\r\nimport { default as Dropdown } from '../../components/foundation/Dropdown/Dropdown'\r\n\r\nexport function initCountryCurrencyFilter(instance, options = {}) {\r\n const { el } = instance;\r\n const { \r\n onCountryChange, \r\n onCurrencyChange \r\n } = options;\r\n\r\n const iscurrencyfilter = el?el.dataset?.isCurrencyfilter:instance.getAttribute(\"data-is-currencyfilter\");\r\n const divId = el?el.dataset?.id:instance.getAttribute(\"data-id\");\r\n\r\n if(iscurrencyfilter) ensureCurrencyFilterFlag(iscurrencyfilter);\r\n const ddEl = divId &&el? el.querySelector(`#country-${divId}`):instance.querySelector(`#country-${divId}`);\r\n if (ddEl) {\r\n instance.dropDownElement = new Dropdown(ddEl);\r\n instance.dropDownElement.onChange(code =>\r\n onCountryChange && onCountryChange(code, instance)\r\n );\r\n }\r\n\r\n listenCurrencyChange(() => {\r\n const code = instance.dropDownElement\r\n ? instance.dropDownElement.getSelectedCountryCode()\r\n : \"\";\r\n onCurrencyChange && onCurrencyChange(code, instance);\r\n });\r\n}\r\n"],"names":["PricingCardStandard","el","_window","_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","initCountryCurrencyFilter","onCountryChange","handleOnchangeCountry","bind","onCurrencyChange","init","addListeners","key","value","setInitialCardHeight","setInitialCardWidth","setMobilePricingCarWrapperPosition","setPricingCardWrapperPosition","expand","_this","addEventListener","debounce","_window2","setTimeout","setMobileInitialCardHeight","updateCardHeightwithWrapper","setPriceBlockHeight","selectedCountryCode","context","divId","id","fetch","concat","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","_this2","forEach","card","style","width","_this3","pricingCardDivs","div","minHeight","maxHeight","divHeight","offsetHeight","highestHeight","highestScrollHeight","highestFeatureHeight","classList","contains","cardHeight","parseInt","featureHeight","cardScrollHeight","setAttribute","removeAttribute","scrollHeight","count","offsetWidth","_window3","_this4","heights","totalHeight","innerWidth","innerHeight","remove","add","push","getBoundingClientRect","height","slice","reduce","acc","val","element","cardElement","parentElement","cardDefaultHeight","cssText","featuresHeight","_this5","e","_this6","i","noOfcard","targetCard","marginBottom","content","paddingTop","featuresElement","_this7","instance","_el$dataset","_el$dataset2","options","undefined","iscurrencyfilter","isCurrencyfilter","ensureCurrencyFilterFlag","ddEl","dropDownElement","Dropdown","onChange","code","listenCurrencyChange","getSelectedCountryCode"],"sourceRoot":""}