{"version":3,"file":"zoomv.965.min.js?t=e055460fa3e604ab4ee5","mappings":"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","sources":["webpack://@hero-digital/zoom/./src/js/utilities/block-visibility.js","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/data-layer-cta.js","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/common-ui-location-mapping","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/data-layer-blog.js","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/data-layer-smb-roi.js","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/data-layer-navigation.js","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/data-layer-non-profit.js","webpack://@hero-digital/zoom/./src/js/utilities/data-layer.js","webpack://@hero-digital/zoom/./src/js/utilities/common-pricing-component.js","webpack://@hero-digital/zoom/./src/components/modules/Navigator/Navigator.js","webpack://@hero-digital/zoom/./src/js/utilities/currency-filter.js","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/data-layer-filter.js","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/data-layer-search.js","webpack://@hero-digital/zoom/./src/js/utilities/datalayer/data-layer-tab.js"],"sourcesContent":["function BlockVisibilityService(response) {\r\n // User identity role\r\n this.UserIdentityRole = {\r\n DefaultText: \"\",\r\n DefaultValue: \"\",\r\n AnonymousText: \"Anonymous\",\r\n AnonymousValue: \"97af72b4-4108-4885-b753-f02a39956839\",\r\n AuthorizedFreeText: \"Authorized Free\",\r\n AuthorizedFreeValue: \"e833b0a4-49b2-4a65-8270-598b5650186f\",\r\n AuthorizedPaidText: \"Authorized Paid\",\r\n AuthorizedPaidValue: \"be0a4727-2dc2-47cf-aa36-55e9b69bb501\",\r\n AuthorizedText: \"Authorized\",\r\n AuthorizedValue: \"82c0350d-4c26-4b95-8feb-330fef53cda3\"\r\n }\r\n\r\n this.userStatusKey = \"userStatus\"\r\n this.currencyKey = \"currency\"\r\n this.accountPlanTypeKey =\"accountPlanType\"\r\n this.accPubCalendarKey=\"__accPubCalendar\"\r\n this.elementVisibleForAttribute = \"data-user-for\"\r\n this.restrictAccessCssClass = \"authorized-access\"\r\n \r\n this.userStatusCookie = \"authorized-access\"\r\n this.publicCalendarCookieKey = \"public-calendar-access\"\r\n this.currencyCookie = \"_zm_currency\"\r\n\r\n this.user = response || {}\r\n this.elementVisibleForRoles = []\r\n this.paidUserPlanType= [\"1098\",\"1096\",\"42\",\"43\",\"119\",\"120\",\"12030\",\"12025\",\"12024\",\"12023\",\"12022\",\"12021\",\"12020\",\"12019\",\"12018\",\"12017\",\"12016\",\"12015\",\"12014\",\"12013\",\"12012\",\"12011\",\"12010\",\"12009\",\"12008\",\"12007\",\"12006\",\"12005\",\"12004\",\"12003\",\"12002\",\"12001\"];\r\n this.domain = location.hostname.split('.').reverse()[1] + '.' + location.hostname.split('.').reverse()[0]\r\n \r\n this._int()\r\n}\r\n\r\nBlockVisibilityService.prototype._int = function () {\r\n this._processUserRole()\r\n this._displayAuthorizedElements()\r\n this._removeUnauthorizedElements()\r\n}\r\n\r\nBlockVisibilityService.prototype._processUserRole = function () {\r\n let visibleRole = \"\"\r\n const userStatus=this.user[this.userStatusKey]\r\n if (userStatus === \"authenticated\") {\r\n visibleRole=this._getAuthenticatedUserRole()\r\n this.elementVisibleForRoles.push(this.UserIdentityRole.AuthorizedValue)\r\n this._displayAuthorizedJoinElement()\r\n } else if (userStatus == \"unauthenticated\") {\r\n visibleRole=this.UserIdentityRole.AnonymousValue\r\n }\r\n\r\n if (visibleRole) { \r\n this.elementVisibleForRoles.push(visibleRole)\r\n this._setCookie(this.userStatusCookie, visibleRole, 365, this.domain)\r\n }\r\n}\r\n\r\n\r\nBlockVisibilityService.prototype._getAuthenticatedUserRole = function () {\r\n let visibleRole=this.UserIdentityRole.AuthorizedFreeValue\r\n const currentAccountPlan=`${this.user[this.accountPlanTypeKey]}`\r\n if(currentAccountPlan!==\"undefined\" && currentAccountPlan !== null){\r\n const isPaidUser = this.paidUserPlanType.includes(currentAccountPlan)\r\n visibleRole = isPaidUser ? this.UserIdentityRole.AuthorizedPaidValue : visibleRole\r\n const currency=this.user[this.currencyKey]\r\n if(currency && isPaidUser){\r\n this._setCookie(this.currencyCookie, currency, 365, this.domain)\r\n let currencyButton = document.querySelector(\r\n '[data-template=\"js-currency-content\"]'\r\n )\r\n currencyButton.setAttribute('disabled', '')\r\n let lowerAbbreviation = currency.toLowerCase()\r\n let userCurrency= allCurrencyList.find(currency => currency.currencyAbbreviation.toLowerCase() === lowerAbbreviation)\r\n currencyButton.innerHTML = `${userCurrency.displayName} ${userCurrency.currencySymbol}`\r\n currencyButton.innerHTML +='\"Drop'\r\n }\r\n }\r\n return visibleRole;\r\n}\r\n\r\nBlockVisibilityService.prototype._displayAuthorizedJoinElement = function () {\r\n const accountPubCalendarKey = `${this.user[this.accPubCalendarKey]}`\r\n let isShowCalendar = false\r\n if (accountPubCalendarKey !== \"undefined\" && accountPubCalendarKey !== null) {\r\n isShowCalendar = accountPubCalendarKey === \"true\"\r\n if (isShowCalendar) {\r\n const joinElement = document.querySelector(isShowCalendar ? '.resources-nav__dropdown-joinrestricted' : '.resources-nav__join')\r\n if (joinElement) {\r\n joinElement.parentElement.classList.remove(this.restrictAccessCssClass)\r\n joinElement.parentElement.removeAttribute(this.elementVisibleForAttribute)\r\n }\r\n }\r\n }\r\n\r\n let joinElementToRemove = document.querySelector(isShowCalendar ? '.resources-nav__join' : '.resources-nav__dropdown-joinrestricted')\r\n if (joinElementToRemove) {\r\n joinElementToRemove.parentElement.remove()\r\n }\r\n\r\n this._setCookie(this.publicCalendarCookieKey, isShowCalendar ? \"1\" : \"0\", 365, this.domain)\r\n}\r\n\r\n\r\nBlockVisibilityService.prototype._displayAuthorizedElements = function () {\r\n if(this.elementVisibleForRoles.length===0) return\r\n let authorizedElementsSelectors = this.elementVisibleForRoles.map(userIdRole => `[${this.elementVisibleForAttribute}=\"${userIdRole}\"]`).join(\",\")\r\n \r\n const elementsToDisplay = document.querySelectorAll(authorizedElementsSelectors)\r\n elementsToDisplay.forEach(function (element) {\r\n element.classList.remove(this.restrictAccessCssClass)\r\n element.removeAttribute(this.elementVisibleForAttribute)\r\n }, this)\r\n}\r\n\r\nBlockVisibilityService.prototype._removeUnauthorizedElements = function () {\r\n if(this.elementVisibleForRoles.length===0) return\r\n const unAuthorizedElementSelector = `[${this.elementVisibleForAttribute}]:not([${this.elementVisibleForAttribute}=\"\"])`\r\n\r\n const elementsWithDataUserState = document.querySelectorAll(unAuthorizedElementSelector);\r\n elementsWithDataUserState.forEach(element => {\r\n element.remove()\r\n })\r\n}\r\n\r\nBlockVisibilityService.prototype._setCookie = function(cookieName, value, days, domain) {\r\n try{\r\n var expires = \"\"\r\n if (days) {\r\n var date = new Date()\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000))\r\n expires = \"; expires=\" + date.toUTCString()\r\n }\r\n if (typeof value === 'object') {\r\n // because of Safari bug handling JSON in cookies commas need to be stripped out\r\n let obj = {}\r\n for (const [key, item] of Object.entries(value)) {\r\n if (typeof item == 'string') obj[key] = item.replace(/,/,'U+0002C')\r\n else obj[key] = item\r\n }\r\n // turn value into JSON\r\n value = JSON.stringify(obj)\r\n }\r\n // create cookie\r\n document.cookie = cookieName + \"=\" + (value || \"\") + expires + \"; path=/;secure;samesite=none;domain=.\" + domain \r\n }\r\n catch(err){\r\n console.log('Block visibility service: set cookie error:', err)\r\n }\r\n } \r\n\r\nexport { BlockVisibilityService }\r\n","import { checkUiLocation } from './common-ui-location-mapping'\r\n\r\nfunction DataLayerCta() {\r\n this.buttonCta = Array.from(document.querySelectorAll(\r\n 'a.fdn-button, .fdn-resource-link li a, .fdn-image-card, .fdn-video-card a, .fdn-box-card a, .fdn-blog-card a, .fdn-alert-banner'\r\n )).filter(el => !el.closest('header'));\r\n}\r\n\r\nDataLayerCta.prototype._init = function () {\r\n this._trackLinkClicks()\r\n}\r\n\r\nDataLayerCta.prototype._trackLinkClicks = function () {\r\n this.buttonCta.forEach((link) =>\r\n link.addEventListener('click', (e) => this._handleLinkClick(e))\r\n )\r\n}\r\n\r\nDataLayerCta.prototype._isInExcludedSection = function (element) {\r\n const excludedSelectors = [\r\n '.bandwidth-calculator'\r\n ]\r\n return excludedSelectors.some(selector => {\r\n const section = document.querySelector(selector)\r\n return section && section.contains(element)\r\n })\r\n}\r\n\r\nDataLayerCta.prototype._handleLinkClick = function (e) {\r\n e.stopPropagation()\r\n let linkElement = e.target.closest('a')\r\n if (!linkElement || !Array.from(this.buttonCta).includes(linkElement)) return\r\n\r\n if (this._isInExcludedSection(linkElement)) return\r\n\r\n let linkText = this._getVisibleText(linkElement)\r\n let linkUrl = linkElement.href\r\n let uiLocation = checkUiLocation(linkElement)\r\n const extensionRegex = /\\.(doc|txt|zip|exe|pdf|ppt|mp3|mp4)/i\r\n const isDownload = extensionRegex.test(linkUrl)\r\n\r\n if (isDownload) {\r\n this._handleDownloadEvent(linkElement, linkText, linkUrl, uiLocation)\r\n } else {\r\n this._handleLinkClickEvent(linkElement, linkText, linkUrl, uiLocation)\r\n }\r\n}\r\n\r\nDataLayerCta.prototype._handleDownloadEvent = function (linkElement, linkText, linkUrl, uiLocation) {\r\n const extensionRegex = /\\.(doc|txt|zip|exe|pdf|ppt|mp3|mp4)/i\r\n const match = linkUrl.match(extensionRegex)\r\n const contentTitle = this._getContentTitle(linkElement) || ''\r\n\r\n if (match) {\r\n let eventData = {\r\n event: 'fileDownload',\r\n linkUrl: linkUrl,\r\n linkText: linkText,\r\n uiLocation: uiLocation,\r\n fileExtension: match[1]?.toLowerCase(),\r\n contentTitle: contentTitle\r\n }\r\n\r\n window.dataLayer.push(eventData)\r\n }\r\n}\r\n\r\nDataLayerCta.prototype._handleLinkClickEvent = function (linkElement, linkText, linkUrl, uiLocation) {\r\n const contentTitle = this._getContentTitle(linkElement)\r\n \r\n const eventData = {\r\n event: 'linkClick',\r\n linkText: linkText,\r\n linkUrl: linkUrl,\r\n uiLocation: uiLocation,\r\n contentTitle: contentTitle\r\n }\r\n\r\n window.dataLayer.push(eventData)\r\n}\r\n\r\nDataLayerCta.prototype._getContentTitle = function (element) {\r\n const titleElement = element.closest('h1, h2, h3, h4')\r\n\r\n if (!titleElement) {\r\n let parent = element.parentElement\r\n while (parent) {\r\n const foundTitle = parent.querySelector('h1, h2, h3, h4')\r\n if (foundTitle) {\r\n return foundTitle.innerText.trim()\r\n }\r\n parent = parent.parentElement\r\n }\r\n }\r\n return ''\r\n}\r\n\r\nDataLayerCta.prototype._getVisibleText = function (element) {\r\n const buttonElement = element.querySelector('[class*=\"fdn-button\"], .fdn-resource-link__title')\r\n\r\n if (buttonElement) {\r\n return buttonElement.innerText.trim()\r\n }\r\n\r\n const textElements = element.querySelectorAll('span, h3, p')\r\n for (const el of textElements) {\r\n if (el.innerText.trim() && !el.classList.contains('visually-hidden')) {\r\n return el.innerText.trim()\r\n }\r\n }\r\n\r\n let visibleText = ''\r\n element.childNodes.forEach((node) => {\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n const parent = node.parentElement\r\n if (parent && !parent.classList.contains('visually-hidden')) {\r\n visibleText += node.textContent.trim() + ' '\r\n }\r\n }\r\n })\r\n\r\n return visibleText.trim()\r\n}\r\n\r\nexport { DataLayerCta } \r\n","export function checkUiLocation(element) {\r\n const locationMapping = [\r\n { selector: '.hero__cta', location: 'Hero Banner' },\r\n { selector: '.audience-hero__cta', location: 'Audience Hero Banner' },\r\n { selector: '.module-video-expander__cta', location: 'Video Expander Hero Banner' },\r\n { selector: '.event-hero__cta', location: 'Event Hero Banner' },\r\n { selector: '.product-category-hero__cta', location: 'Product Category Hero Banner' },\r\n { selector: '.fdn-image-card, .fdn-image-card__main-container', location: 'Image Card' },\r\n { selector: '.fdn-video-card, .fdn-video-card__main-container', location: 'Video Card' },\r\n { selector: '.fdn-blog-card', location: 'Blog Card' },\r\n { selector: '.fdn-image-cta', location: 'Image CTA' },\r\n { selector: '.fdn-box-card', location: 'Box Card' },\r\n { selector: '.fdn-event-card', location: 'Event Card' },\r\n { selector: '.fdn-text-card', location: 'Text Card' },\r\n { selector: '.fdn-static-card', location: 'Static Card' },\r\n { selector: '.fdn-stat-card', location: 'Statistics Card' },\r\n { selector: '.testimonial-carousel', location: 'Carousel Card' },\r\n { selector: '.fdn-basic-cta__btn-container', location: 'Sticky Footer cta' },\r\n { selector: '#zoomfornonprofits', location: 'nonprofits discount program' },\r\n { selector: '.fdn-copy-block', location: 'Copy Block' },\r\n { selector: '.fdn-ebook-quote__container', location: 'Ebook Quote' },\r\n { selector: '.fdn-pricing-card__main-container', location: 'Pricing Card' },\r\n { selector: '.fdn-alert-banner', location: 'Alert Banner' },\r\n { selector: '.fdn-form__description', location: 'Form CTA' },\r\n { selector: '.fdn-resource-link', location: 'Resource Link Group' },\r\n { selector: '.fdn-pricingcard-uni-wrapper-container', location: 'Hero Pricing Card' }\r\n ]\r\n\r\n for (const { selector, location } of locationMapping) {\r\n if (element.closest(selector)) {\r\n return location\r\n }\r\n }\r\n\r\n //SELECTION OF COMPONENT OUTER CONTAINER\r\n const moduleColumns = element.closest('.module-columns')\r\n if (moduleColumns) {\r\n const iconBlock = moduleColumns.querySelectorAll('.fdn-icon-block')\r\n if (iconBlock) {\r\n return 'Icon Block Section'\r\n }\r\n }\r\n\r\n return ''\r\n}\r\n","function DataLayerBlog() {\r\n}\r\nDataLayerBlog.prototype._init = function () {\r\n this._FormEvents()\r\n}\r\n\r\nDataLayerBlog.prototype._FormEvents = function () {\r\n this._blogFormSubmitted()\r\n this._blogFormError()\r\n}\r\n\r\nDataLayerBlog.prototype._blogFormSubmitted = function () {\r\n if (typeof $$epiforms !== 'undefined') {\r\n $$epiforms(document).ready(function myfunction() {\r\n $$epiforms(\"main.debug-blog .EPiServerForms\").on(\"formsSubmitted\",\r\n function (event, param1, param2) {\r\n let eventData = {\r\n event : 'blogsubscribe.submit',\r\n eventCategory: 'blog',\r\n eventAction: 'blog subscription submit',\r\n eventLabel: 'submit',\r\n formType: ' blog subscribe'\r\n }\r\n window.dataLayer.push(eventData)\r\n });\r\n });\r\n }\r\n}\r\n\r\nDataLayerBlog.prototype._blogFormError = function () {\r\n if (typeof $$epiforms !== 'undefined') {\r\n $$epiforms(document).ready(function myfunction() {\r\n $$epiforms(\"main.debug-blog .EPiServerForms\").on(\"formsStepValidating\",\r\n function (event) {\r\n if (!event.isValid) {\r\n let eventLabelName = document.querySelector('input[data-field-name=\"email\"]')?.parentNode.classList.contains(\"ValidationFail\") ? \"email\" : \"\";\r\n if (!document.querySelector(\".newsletter-signup__checkbox-wrap input\")?.checked) {\r\n eventLabelName = eventLabelName ? `${eventLabelName},checkbox` : \"checkbox\";\r\n }\r\n window.dataLayer.push({\r\n event: 'blogsubscribe.error',\r\n eventCategory: 'blog',\r\n eventAction: 'blog subscription error',\r\n eventLabel: eventLabelName,\r\n formType: ' blog subscribe'\r\n });\r\n }\r\n });\r\n });\r\n }\r\n}\r\nexport { DataLayerBlog }\r\n","function DataLayerSmbRoiCalculator() {\r\n this.container = document.querySelector('.bandwidth-calculator');\r\n if (!this.container) return; \r\n \r\n this.slider = this.container.querySelector('#rangeSlider');\r\n this.sliderInput = this.container.querySelector('#webinarParticipantsValue');\r\n this.appCards = this.container.querySelectorAll('.bandwidth-calculator__manualTabs-card');\r\n \r\n this.viewPlansButton = this.container.querySelector('a[title=\"View Plans\"]');\r\n this.contactSalesButton = Array.from(this.container.querySelectorAll('a')).find(\r\n (a) => a.textContent.trim().toLowerCase() === 'contact sales'\r\n );\r\n \r\n this.interactionCaptured = false;\r\n this._onFirstInteraction = this._onFirstInteraction.bind(this);\r\n }\r\n \r\n DataLayerSmbRoiCalculator.prototype._init = function () {\r\n if (!this.container) return;\r\n this._trackFirstInteraction();\r\n this._trackCtaClicks();\r\n };\r\n \r\n DataLayerSmbRoiCalculator.prototype._trackFirstInteraction = function () {\r\n const interactiveElements = [\r\n ...this.appCards,\r\n this.slider,\r\n this.sliderInput,\r\n this.viewPlansButton,\r\n this.contactSalesButton\r\n ].filter(Boolean);\r\n \r\n interactiveElements.forEach((el) => {\r\n el.addEventListener('click', this._onFirstInteraction, { once: true });\r\n });\r\n };\r\n \r\n DataLayerSmbRoiCalculator.prototype._onFirstInteraction = function (e) {\r\n if (this.interactionCaptured) return;\r\n this.interactionCaptured = true;\r\n \r\n let uiLocation = e.target.closest('.bandwidth-calculator__manualTabs-card') ? 'app click' :\r\n e.target === this.slider ? 'employee count slider' :\r\n e.target === this.sliderInput ? 'employee count input' :\r\n e.target === this.viewPlansButton ? 'view plans cta' :\r\n e.target === this.contactSalesButton ? 'contact sales cta' :\r\n 'unknown';\r\n \r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n event: 'roiCalculatorInteraction',\r\n roiCalculatorInteraction: 'smb roi calculator',\r\n roiCalculatorSelection: 'interaction start',\r\n uiLocation: uiLocation\r\n });\r\n };\r\n \r\n DataLayerSmbRoiCalculator.prototype._trackCtaClicks = function () {\r\n const handleClick = (e, label) => {\r\n const employeeCount = this.sliderInput?.value || '';\r\n const selectedApps = Array.from(this.appCards)\r\n .filter(card => card.classList.contains('selected'))\r\n .map(card => {\r\n const category = card.querySelector('p')?.textContent?.trim()?.toLowerCase() || 'unknown';\r\n const name = card.querySelector('h4')?.textContent?.trim()?.toLowerCase() || 'unnamed';\r\n return `${category} - ${name}`;\r\n });\r\n \r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n event: 'roiCalculatorInteraction',\r\n roiCalculatorInteraction: 'smb roi calculator',\r\n roiCalculatorSelection: label,\r\n employeeCount: employeeCount,\r\n numAppsSelected: selectedApps.length,\r\n appsSelectedArray: selectedApps\r\n });\r\n };\r\n \r\n if (this.viewPlansButton) {\r\n this.viewPlansButton.addEventListener('click', (e) => handleClick(e, 'view plans'));\r\n }\r\n \r\n if (this.contactSalesButton) {\r\n this.contactSalesButton.addEventListener('click', (e) => handleClick(e, 'contact sales'));\r\n }\r\n };\r\n \r\n export { DataLayerSmbRoiCalculator };\r\n","function DataLayerNavigation() { \r\n this.DataLayerHelper = {\r\n pushEvent: function (eventName, data = {}) {\r\n if (!eventName) {\r\n return;\r\n }\r\n\r\n let eventData = { event: eventName };\r\n // Ensure undefined values are correctly passed\r\n Object.keys(data).forEach(key => {\r\n eventData[key] = (data[key] === \"\") ? undefined : data[key];\r\n })\r\n window.dataLayer.push(eventData);\r\n }\r\n }\r\n}\r\nDataLayerNavigation.prototype._init = function () {\r\n try {\r\n this._logoIntraction()\n this._logoIntractionForShortHeader()\r\n this._menuWithExpand()\r\n this._menuWithoutExpand()\r\n this._logoTracking()\r\n this._universalDesktopMenu()\r\n this._universalMobileMenu()\r\n this._resourceMenu()\r\n this._mobileSignUp()\r\n this._mobilePricingEvent()\r\n this._zoomProductAndContactSaleButton()\r\n this._trackClickEvents()\r\n }\r\n catch (e) { }\r\n}\r\n\r\nDataLayerNavigation.prototype._getUiLocation = function () {\r\n const parentCategory = document.querySelector('ul.main-nav__list li.active button')?.innerText;\r\n let uiLocation = \"universal nav\";\r\n if (parentCategory) {\r\n uiLocation = \"universal nav - \" + parentCategory.toLowerCase() + \" menu\";\r\n }\r\n return uiLocation;\r\n}\r\n\r\nDataLayerNavigation.prototype._getUiLocationMobile = function() {\r\n const parentCategory = document.querySelector('ul.mobile-menu__list.is-accordion li.mobile-menu__list-item.is-active button')?.innerText;\r\n let uiLocation = \"universal nav\";\r\n if (parentCategory) {\r\n uiLocation = \"universal nav - \" + parentCategory.toLowerCase() + \" menu\";\r\n }\r\n return uiLocation;\r\n}\r\nDataLayerNavigation.prototype._categoryState = function(event, linkText) {\r\n const getLinkType = event.currentTarget.getAttribute(\"aria-expanded\") || event.target.getAttribute(\"aria-expanded\") || \"\";\r\n if (getLinkType && (getLinkType == \"false\")) {\r\n var updateVal = linkText + \" - collapse\";\r\n } else if (getLinkType && (getLinkType == \"true\")) {\r\n var updateVal = linkText + \" - expand\";\r\n }\r\n return updateVal.toLowerCase();\r\n}\r\n\r\n\r\nDataLayerNavigation.prototype._logoIntraction = function () {\r\n document.querySelector(\".main-nav__logo\")?.addEventListener('click', function (event) {\r\n const href = event.currentTarget.href || event.target.href || undefined;\r\n window.dataLayer.push({\r\n 'event': 'navClick',\r\n 'linkText': 'zoom logo',\r\n 'linkUrl': href,\r\n 'uiLocation': 'universal nav'\r\n })\r\n })\r\n}\n\nDataLayerNavigation.prototype._logoIntractionForShortHeader = function () {\n document.querySelector(\"nav.fdn-simple-header a\")?.addEventListener('click', function (event) {\n const href = event.currentTarget.href || event.target.href || undefined;\n window.dataLayer.push({\n 'event': 'navClick',\n 'linkText': 'zoom logo',\n 'linkUrl': href,\n 'uiLocation': 'universal nav'\n })\n })\n}\r\n\r\nDataLayerNavigation.prototype._menuWithoutExpand = function () {\r\n document.querySelectorAll(\".main-nav__list-item a.main-nav__link\").forEach(link => {\r\n link.addEventListener('click', function (event) {\r\n const href = event.currentTarget.href || event.target.href || undefined;\r\n var linkText = event.currentTarget.innerText || event.target.innerText || '';\n if (linkText) {\n linkText = ([...event.currentTarget.childNodes]\r\n .filter(node => node.nodeType === Node.TEXT_NODE)\r\n .map(node => node.textContent.trim())\r\n .join(\" \")).trim()?.toLowerCase()\r\n }\r\n window.dataLayer.push({\r\n 'event': 'navClick',\r\n 'linkText': linkText,\r\n 'linkUrl': href,\r\n 'uiLocation': 'universal nav'\r\n })\r\n })\r\n })\r\n}\r\n\r\nDataLayerNavigation.prototype._menuWithExpand = function () {\r\n document.querySelectorAll(\".main-nav__list-item button, .mobile-menu__list-item button\").forEach(link => {\r\n link.addEventListener('click', (event) => {\r\n var linkText = event.currentTarget.innerText || event.target.innerText || '';\r\n window.dataLayer.push({\r\n 'event': 'linkClick',\r\n 'linkText': this._categoryState(event, linkText),\r\n 'linkUrl': undefined,\r\n 'uiLocation': 'universal nav'\r\n })\r\n })\r\n })\r\n}\r\n\r\nDataLayerNavigation.prototype._logoTracking = function () {\r\n document.querySelectorAll(\".nav-title-logo\").forEach(link => {\r\n link.addEventListener('click', (event) => {\r\n const href = event.currentTarget.closest('a')?.getAttribute(\"href\");\r\n const linkText = event.currentTarget.getAttribute(\"title\") || event.target.getAttribute(\"title\") || '';\r\n const isDesktop = event.currentTarget.closest('div.megamenu-products--subtitle');\r\n const isMobileBanner = event.currentTarget.closest('div.mobile-megamenu-products--subtitle');\r\n const isMobile = event.currentTarget.closest('[class^=\"mobile-megamenu\"]');\r\n\r\n var uiLocation = isMobile ? this._getUiLocationMobile() : this._getUiLocation()\r\n if (isDesktop || isMobileBanner) {\r\n uiLocation = uiLocation + ' - ' + linkText.toLowerCase() + ' banner'\r\n }\r\n window.dataLayer.push({\r\n 'event': 'navClick',\r\n 'linkText': linkText.toLowerCase(),\r\n 'linkUrl': href || undefined,\r\n 'uiLocation': uiLocation.toLowerCase()\r\n })\r\n })\r\n })\r\n}\r\n\r\nDataLayerNavigation.prototype._universalDesktopMenu = function () {\r\n document.querySelectorAll(\"div.megamenu__column-title a.fdn-button, div.megamenu__list-item-heading a, div.apps-ecosystem a, div.megamenu-products--megamenu__list-item-heading-description a,li.action-bar-primary a, li.action-bar-secondary a\").forEach(link => {\r\n link.addEventListener('click', (event) => {\r\n const href = event.currentTarget.href || event.target.href || undefined;\r\n // const linkText = event.currentTarget.innerText || event.target.innerText || '';\r\n const getClosestClass = event.currentTarget.closest('div.megamenu-products--megamenu__list-item-heading-description');\r\n const isMobile = event.currentTarget.closest('[class^=\"mobile-megamenu\"]');\r\n const parentCategory = document.querySelector('ul.main-nav__list li.active button')?.innerText;\r\n var uiLocation = isMobile ? this._getUiLocationMobile() : this._getUiLocation()\r\n if (getClosestClass) {\r\n uiLocation = uiLocation + ' - zoom ai companion banner'\r\n }\r\n\r\n\r\n // Extract only the visible text (excluding )\r\n let linkText = [...link.childNodes]\r\n .filter(node => node.nodeType === Node.TEXT_NODE)\r\n .map(node => node.textContent.trim())\r\n .join(\" \");\r\n window.dataLayer.push({\r\n 'event': 'navClick',\r\n 'linkText': linkText?.trim()?.toLowerCase(),\r\n 'linkUrl': href,\r\n 'uiLocation': uiLocation.toLowerCase()\r\n })\r\n })\r\n })\r\n}\r\n\r\nDataLayerNavigation.prototype._universalMobileMenu = function () {\r\n document.querySelectorAll(\"div.mobile-megamenu__list-item-heading a, div.mobile-megamenu-products--megamenu__list-item-heading-description a,div.mobile-megamenu__actionBar ul li a\").forEach(link => {\r\n link.addEventListener('click', (event) => {\r\n const href = event.currentTarget.href || event.target.href || undefined;\r\n // const linkText = event.currentTarget.innerText || event.target.innerText || '';\r\n const getClosestClass = event.currentTarget.closest('div.mobile-megamenu-products--megamenu__list-item-heading-description');\r\n var uiLocation = this._getUiLocationMobile()\r\n if (getClosestClass) {\r\n uiLocation = uiLocation + ' - zoom ai companion banner'\r\n }\r\n\r\n\r\n // Extract only the visible text (excluding )\r\n let linkText = [...link.childNodes]\r\n .filter(node => node.nodeType === Node.TEXT_NODE)\r\n .map(node => node.textContent.trim())\r\n .join(\" \");\r\n window.dataLayer.push({\r\n 'event': 'navClick',\r\n 'linkText': linkText?.trim()?.toLowerCase(),\r\n 'linkUrl': href,\r\n 'uiLocation': uiLocation.toLowerCase()\r\n })\r\n })\r\n })\r\n\r\n document.querySelector('.main-nav__hamburger-trigger')?.addEventListener('click', function (event) {\r\n let attrVal = event.currentTarget.getAttribute(\"aria-expanded\") || event.target.getAttribute(\"aria-expanded\") || \"\"\r\n let isOpen = attrVal === \"true\";\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: isOpen ? \"expand\" : \"close\",\r\n linkUrl: undefined,\r\n uiLocation: \"universal nav mobile\"\r\n })\r\n }.bind(this));\r\n\r\n document.querySelectorAll('.mobile-menu__secondary-nav .mobile-menu__list-item a:not(.resources-nav-search)').forEach(cta => {\r\n cta.addEventListener(\"click\", function (event) {\r\n let childNodesArray = Array.from(cta.childNodes);\r\n let linkText = childNodesArray?.length > 1 ? childNodesArray\r\n .filter(node => node.nodeType === Node.TEXT_NODE) // Get only text nodes\r\n .map(node => node.textContent.trim()) // Extract the text and remove any extra spaces\r\n .join(' ') : cta.innerText?.trim();\r\n\r\n\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: linkText?.toLowerCase() || \"\",\r\n linkUrl: cta.href || undefined,\r\n uiLocation: \"universal nav\"\r\n })\r\n }.bind(this));\r\n })\r\n\r\n document.querySelector('.megamenu__column__businessService .megamenu__head .megamenu__column-title a')?.addEventListener(\"click\", function (event) {\r\n const href = event.currentTarget.href || event.target.href || undefined;\r\n const cta = event.currentTarget?.innerText || event.target?.innerText;\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: cta.toLowerCase() || undefined,\r\n linkUrl: href,\r\n uiLocation: \"universal nav - business services menu\"\r\n })\r\n }.bind(this));\r\n\r\n document.querySelector('.mobile-megamenu__column__businessService .mobile-megamenu__head .mobile-megamenu__column-title a')?.addEventListener(\"click\", function (event) {\r\n const href = event.currentTarget.href || event.target.href || undefined;\r\n const cta = event.currentTarget?.innerText || event.target?.innerText;\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: cta.toLowerCase() || undefined,\r\n linkUrl: href,\r\n uiLocation: \"universal nav - business services menu\"\r\n })\r\n }.bind(this))\r\n}\r\n\r\nDataLayerNavigation.prototype._resourceMenu = function () {\r\n document.querySelectorAll(\".resources-nav__dropdown-link:not([href*='download']):not([href*='join']):not([href*='webmeeting'])\").forEach(link => {\r\n link.addEventListener('click', function (event) {\r\n\r\n let cta = event.target.closest('.resources-nav__dropdown-list-item').querySelector('a');\n\n let linkText = ([...cta.childNodes]\r\n .filter(node => node.nodeType === Node.TEXT_NODE)\r\n .map(node => node.textContent.trim())\r\n .join(\" \")).trim()?.toLowerCase()\n\r\n const href = cta.href || undefined;\r\n window.dataLayer.push({\r\n 'event': 'navClick',\r\n 'linkText': linkText,\r\n 'linkUrl': href,\r\n 'uiLocation': 'universal nav - product selector menu'\r\n })\r\n })\r\n })\r\n\r\n document.querySelectorAll(\"button.resources-nav-product-menu\").forEach(link => {\r\n link.addEventListener('click', (event) => {\r\n const href = event.currentTarget.href || event.target.href || undefined;\r\n var linkText = this._categoryState(event, \"product selector menu\");\r\n window.dataLayer.push({\r\n 'event': 'navClick',\r\n 'linkText': linkText.toLowerCase(),\r\n 'linkUrl': href,\r\n 'uiLocation': 'universal nav'\r\n })\r\n })\r\n })\r\n\r\n document.querySelector(\"button.resources-nav-account-option\")?.addEventListener('click', function (event) {\r\n window.dataLayer.push({\r\n 'event': 'navClick',\r\n 'linkText': 'my account',\r\n 'linkUrl': \"#\",\r\n 'uiLocation': 'universal nav'\r\n })\r\n })\r\n\r\n document.querySelectorAll('li.resources-nav__list-item.nav__list-item-webapp > a').forEach(menuLink => {\r\n menuLink.addEventListener(\"click\", function (event) {\r\n\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: menuLink.innerText?.trim().toLowerCase() || \"\",\r\n linkUrl: menuLink.href || undefined,\r\n uiLocation: \"universal nav - product selector menu\"\r\n })\r\n }.bind(this))\r\n })\r\n\r\n document.querySelectorAll('.resources-nav-search').forEach(cta => {\r\n cta.addEventListener(\"click\", function (event) {\r\n this.DataLayerHelper.pushEvent(\"searchInteraction\", {\r\n searchInteraction: 'search bar clicked',\r\n uiLocation: \"universal nav\"\r\n })\r\n }.bind(this))\r\n })\r\n}\r\n\r\nDataLayerNavigation.prototype._mobileSignUp = function () {\r\n document.querySelectorAll('.mobile-menu__buttons-container a').forEach(cta => {\r\n cta.addEventListener(\"click\", function (event) {\r\n let childNodesArray = Array.from(cta.childNodes);\r\n let linkText = childNodesArray?.length > 1 ? childNodesArray\r\n .filter(node => node.nodeType === Node.TEXT_NODE) // Get only text nodes\r\n .map(node => node.textContent.trim()) // Extract the text and remove any extra spaces\r\n .join(' ') : cta.innerText?.trim();\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: linkText?.toLowerCase() || \"\",\r\n linkUrl: cta.href || undefined,\r\n uiLocation: \"universal nav\"\r\n })\r\n }.bind(this))\r\n })\r\n}\r\n\r\nDataLayerNavigation.prototype._mobilePricingEvent = function () {\r\n document.querySelectorAll('.resources-nav__list-item.pricing a').forEach(cta => {\r\n cta.addEventListener(\"click\", function (event) {\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: cta?.innerText?.toLowerCase() || \"\",\r\n linkUrl: cta.href || undefined,\r\n uiLocation: \"universal nav\"\r\n })\r\n }.bind(this))\r\n })\r\n}\r\n\r\nDataLayerNavigation.prototype._zoomProductAndContactSaleButton = function () {\r\n document.querySelectorAll(\"li.resources-nav__list-item.nav__list-item-webapp .resources-nav__dropdown-list-webapprestricted .fdn-button\").forEach(button => {\r\n button.addEventListener(\"click\", function (event) {\r\n if (!event) return\n let linkText = ([...event.currentTarget.childNodes]\r\n .filter(node => node.nodeType === Node.TEXT_NODE)\r\n .map(node => node.textContent.trim())\r\n .join(\" \")).trim()?.toLowerCase()\r\n const linkUrl = event.currentTarget?.href || undefined\r\n let uiLocation = \"universal nav - product selector menu\"\r\n // Push event data to the data layer\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: linkText,\r\n linkUrl: linkUrl,\r\n uiLocation: uiLocation\r\n });\r\n }.bind(this));\r\n });\r\n}\r\n\r\nDataLayerNavigation.prototype._trackClickEvents = function (event) {\r\n document.addEventListener(\"click\", this._trackNavigationEvents.bind(this));\r\n}\r\n\r\nDataLayerNavigation.prototype._trackNavigationEvents = function (event) {\r\n this._trackSolutionsMenuClick(event)\r\n this._trackResourcesMenuClick(event)\r\n this._trackNavLinksClick(event)\r\n}\r\n// Track clicks in the Solutions menu\r\nDataLayerNavigation.prototype._trackSolutionsMenuClick = function (event) {\r\n let solutionsAnchor = event.target.closest(\"section.megamenu-solutions[aria-label='Solutions'] .megamenu__head a\");\r\n\r\n if (solutionsAnchor) {\r\n let childNodesArray = Array.from(solutionsAnchor.childNodes);\r\n let linkText = childNodesArray\r\n .filter(node => node.nodeType === Node.TEXT_NODE) // Get only text nodes\r\n .map(node => node.textContent.trim()) // Extract the text and remove any extra spaces\r\n .join(' ');\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: linkText?.toLowerCase() || \"\",\r\n linkUrl: solutionsAnchor.href || undefined,\r\n uiLocation: \"universal nav - solutions menu\"\r\n })\r\n }\r\n}\r\n// Track clicks in the Resources menu\r\nDataLayerNavigation.prototype._trackResourcesMenuClick = function (event) {\r\n let resourcesMenuLink = event.target.closest(\".megamenu__highlight-item-cta\");\r\n let mobileResourcesMenuLink = event.target.closest(\".mobile-megamenu__highlight-item-heading a\")\r\n if (mobileResourcesMenuLink)\r\n resourcesMenuLink = mobileResourcesMenuLink\r\n\r\n if (resourcesMenuLink) {\r\n try {\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: resourcesMenuLink.innerText?.trim().toLowerCase() || \"\",\r\n linkUrl: resourcesMenuLink.href || undefined,\r\n uiLocation: \"universal nav - resources menu\"\r\n })\r\n } catch (e) {\r\n }\r\n }\r\n}\r\n// Universal Navigation Menu\r\nDataLayerNavigation.prototype._trackNavLinksClick = function (event) {\r\n\n let link = event.target.closest(\r \".main-nav__right .resources-nav__list-item:not(.pricing) > a:not(.resources-nav-search), \" +\r \".main-nav__right .resources-nav__list-item:not(.pricing) > button.resources-nav__dropdownrestricted, \" +\r \".main-nav__right .resources-nav__list-item:not(.pricing) .resources-nav__dropdown-listrestricted .resources-nav__dropdown-link[href*='download']\"\r );\r\n\r\n let dropdown = link?.closest(\".resources-nav__dropdownrestricted\");\r\n\r\n if (!link) {\r\n return;\r\n }\r\n try {\n let linkText = ([...link.childNodes]\r\n .filter(node => node.nodeType === Node.TEXT_NODE)\r\n .map(node => node.textContent.trim())\r\n .join(\" \")).trim()?.toLowerCase(),\r\n linkUrl = link.href || undefined,\r\n uiLocation = link.matches(\".resources-nav__dropdown-listrestricted .resources-nav__dropdown-link[href*='download']\")\r\n ? \"universal nav - meet\"\r\n : \"universal nav\";\r\n\r\n if (dropdown) {\r\n let isOpen = dropdown.getAttribute(\"aria-expanded\") === \"true\";\r\n let action = `${linkText} - ${isOpen ? \"expand\" : \"collapse\"}`;\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText: action,\r\n linkUrl: undefined,\r\n uiLocation\r\n })\r\n } else {\r\n this.DataLayerHelper.pushEvent(\"navClick\", {\r\n linkText,\r\n linkUrl,\r\n uiLocation\r\n })\r\n }\r\n } catch (e) {\r\n }\r\n}\r\n\r\nexport { DataLayerNavigation }\r\n","function DataLayerZoomForNonProfit() {\r\n}\r\n\r\nDataLayerZoomForNonProfit.prototype = {\r\n _init: function () {\r\n this.zoomForNonProfit = document.querySelector(`#zoomfornonprofits`)\r\n this.uiLocation = 'nonprofits discount program'\r\n this.contentTitle = this.getContentTitle()\r\n\r\n if (!this.zoomForNonProfit) return\r\n window.extraPageLoadFields = { pageVersion: this.uiLocation }\r\n\r\n this.addCtaLinkClickListener()\r\n this.addShowMoreButtonClickListener()\r\n this.addFAQClickListener()\r\n },\r\n\r\n getContentTitle: function () {\r\n return this.zoomForNonProfit.querySelector('h3')?.innerText?.trim()?.toLowerCase()\r\n },\r\n\r\n addCtaLinkClickListener: function () {\r\n const ctaElements = document.querySelectorAll('#zoomfornonprofits div.fdn-copy-block__sub-title a')\r\n ctaElements.forEach((link) => {\r\n link.addEventListener('click', (event) => this.handleLinkClick(event, link))\r\n })\r\n },\r\n\r\n handleLinkClick: function (event, link) {\r\n const linkUrl = link.href?.toLowerCase() || undefined\r\n const linkText = link.innerText?.trim()?.toLowerCase() || undefined\r\n\r\n const eventData = {\r\n event: 'linkClick',\r\n linkUrl: linkUrl,\r\n linkText: linkText,\r\n uiLocation: this.uiLocation,\r\n contentTitle: this.contentTitle\r\n }\r\n\r\n window.dataLayer.push(eventData)\r\n },\r\n\r\n addShowMoreButtonClickListener: function () {\r\n const showMoreHideButton = document.querySelector('[data-cmp-is=\"pricingcard-standard\"] button.show-more')\r\n if (showMoreHideButton) {\r\n showMoreHideButton.addEventListener('click', (event) => this.handleShowMoreButtonClick(event))\r\n }\r\n },\r\n\r\n handleShowMoreButtonClick: function (event) {\r\n let linkText = event.target?.innerHTML?.trim()?.toLowerCase()\r\n \r\n window.dataLayer.push({\r\n event: 'linkClick',\r\n linkText: linkText,\r\n linkUrl: undefined,\r\n uiLocation: this.uiLocation,\r\n contentTitle: this.contentTitle\r\n })\r\n },\r\n\r\n addFAQClickListener: function () {\r\n const faqButton = document.querySelectorAll('button.accordion__item-button')\r\n faqButton.forEach((link) => {\r\n link.addEventListener('click', (event) => this.handleFaqButtonClick(event))\r\n })\r\n },\r\n\r\n handleFaqButtonClick: function (event) {\r\n const buttonElement = event.target.closest('button')\r\n if (buttonElement) {\r\n const isExpanded = buttonElement.getAttribute('aria-expanded') === 'true'\r\n const faqInteraction = buttonElement.textContent?.trim()?.toLowerCase()\r\n\r\n window.dataLayer.push({\r\n event: 'faqInteraction',\r\n faqInteraction: faqInteraction,\r\n faqSelection: isExpanded ? \"expand\" : \"collapse\",\r\n uiLocation: \"zoom for nonprofits\"\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport { DataLayerZoomForNonProfit }\r\n","import { DataLayerSearch } from './datalayer/data-layer-search'\r\nimport { DataLayerTab } from './datalayer/data-layer-tab'\r\nimport { DataLayerCta } from './datalayer/data-layer-cta' \r\nimport { DataLayerFilter } from './datalayer/data-layer-filter'\r\nimport { DataLayerBlog } from './datalayer/data-layer-blog'\r\nimport { DataLayerSmbRoiCalculator } from './datalayer/data-layer-smb-roi'\r\nimport { DataLayerNavigation } from './datalayer/data-layer-navigation'\r\nimport { DataLayerZoomForNonProfit } from './datalayer/data-layer-non-profit'\r\n\r\nfunction DataLayerTracking() {\r\n this.footerUiLocation = 'Footer Nav'\r\n this.headerUiLocation = 'Universal Nav'\r\n this.bodyUiLocation = 'Body Content'\r\n this.dataLayerSearch = new DataLayerSearch()\r\n this.dataLayerTab = new DataLayerTab() \r\n this.dataLayerCta = new DataLayerCta() \r\n this.dataLayerFilter = new DataLayerFilter()\r\n this.DataLayerBlog = new DataLayerBlog()\r\n this.dataLayerSmbRoi = new DataLayerSmbRoiCalculator();\r\n this.DataLayerNavigation = new DataLayerNavigation();\r\n this.DataLayerZoomForNonProfit = new DataLayerZoomForNonProfit()\r\n}\r\nDataLayerTracking.prototype._init = function () {\r\n this._phoneNumberClick()\r\n this.dataLayerSearch._init()\r\n this.dataLayerTab._init() \r\n this.dataLayerCta._init() \r\n this.dataLayerFilter._init()\r\n this.DataLayerBlog._init()\r\n this.dataLayerSmbRoi._init();\r\n this.DataLayerNavigation._init()\r\n this.DataLayerZoomForNonProfit._init()\r\n}\r\nDataLayerTracking.prototype._phoneNumberClick = function () {\r\n try {\r\n document.querySelectorAll('a[href^=\"tel:\"]').forEach(link => {\r\n let trackingLocation = this.bodyUiLocation\r\n if ((link.closest(\"footer\")) && (link.closest(\"footer\") != null)) {\r\n trackingLocation = this.footerUiLocation \r\n } else if ((link.closest(\"header\")) && (link.closest(\"header\") != null)) {\r\n trackingLocation = this.headerUiLocation\r\n }\r\n link.addEventListener(\"click\", function (e) {\r\n let eventData = {\r\n event: 'phoneClick',\r\n linkUrl: e?.target?.href || \"\",\r\n linkText: e?.target?.innerText || \"\",\r\n uiLocation: trackingLocation\r\n }\r\n window.dataLayer.push(eventData)\r\n })\r\n },this)\r\n }\r\n catch (e) { }\r\n}\r\n\r\nexport { DataLayerTracking }\r\n","import { callPricingAPI } from './pricing';\r\nimport { initCountryCurrencyFilter } from './currency-filter';\r\n\r\nfunction handleOnCurrencyChange(selectedCountryCode, context) {\r\n const {el}=context;\r\n const apiUrl = el?context.el.dataset.apiEndpoint:context.getAttribute(\"data-api-endpoint\");;\r\n const divId = el?el.dataset?.id:context.getAttribute(\"data-id\");\r\n\r\n if (!apiUrl || !divId) return;\r\n\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 fetch(`${apiUrl}location=${selectedCountryCode}`, fetchOpts)\r\n .then(response => response.text())\r\n .then(data => {\r\n const pricingCardBasic = document.querySelector(`div[data-id='${divId}']`);\r\n if (pricingCardBasic) {\r\n pricingCardBasic.outerHTML = data;\r\n callPricingAPI();\r\n\r\n // Re-initialize the component (if needed)\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) {\r\n // Call this same initializer again\r\n initSinglePricingComponent(updatedElement);\r\n }\r\n }\r\n })\r\n .catch(err => {\r\n console.error(\"Pricing update failed\", err);\r\n });\r\n}\r\n\r\nfunction initSinglePricingComponent(el) {\r\n initCountryCurrencyFilter(el, {\r\n onCountryChange: handleOnCurrencyChange,\r\n onCurrencyChange: handleOnCurrencyChange\r\n });\r\n}\r\n\r\nexport function initializePricingComponents() {\r\n const components = document.querySelectorAll('[data-class=\"js-pricing-component\"]');\r\n components.forEach(initSinglePricingComponent);\r\n}\r\n","import { createFocusTrap } from 'focus-trap'\r\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock'\r\nimport { AccordionWidget } from '../../../js/utilities/accordion'\r\nimport { getCookie ,eraseCookieByPath } from '../../../js/utilities/utilities'\r\nimport { BlockVisibilityService } from '../../../js/utilities/block-visibility'\r\nimport { DataLayerTracking } from '../../../js/utilities/data-layer'\r\nimport { callPricingAPI } from '../../../js/utilities/pricing'\r\nimport {initializePricingComponents} from '../../../js/utilities/common-pricing-component'\r\n\r\nclass Navigator {\r\n constructor(el) {\r\n this.el = el\r\n this.domMap = {\r\n $searchForm: el.querySelector('.resources-nav__search-form'),\r\n $searchLabel: el.querySelector('.resources-nav__search-label'),\r\n $searchInput: el.querySelector('.resources-nav__search-input'),\r\n $searchClose: el.querySelector('.resources-nav__search-icon--close'),\r\n $megamenuTriggers: el.querySelectorAll('.main-nav__megamenu-trigger'),\r\n $megamenu: el.querySelectorAll('.megamenu'),\r\n $menuTrigger: el.querySelector('.main-nav__hamburger-trigger'),\r\n $mobileMenu: el.querySelector('.mobile-menu'),\r\n $menuDropdown: el.querySelector('.resources-nav__dropdown'),\r\n $menuDropdownRestricted: el.querySelector('.resources-nav__dropdownrestricted'),\r\n $menuDropdownList: el.querySelector('.resources-nav__dropdown-list'),\r\n $menuDropdownListRestricted: el.querySelector('.resources-nav__dropdown-listrestricted'),\r\n $menuDropdownJoin: el.querySelector('.resources-nav__dropdown-join'),\r\n $menuDropdownJoinRestricted: el.querySelector('.resources-nav__dropdown-joinrestricted'),\r\n $menuDropdownListJoin: el.querySelector(\r\n '.resources-nav__dropdown-list-join'\r\n ),\r\n $menuDropdownListJoinRestricted: el.querySelector(\r\n '.resources-nav__dropdown-list-joinrestricted'\r\n ),\r\n $menuDropdownWebAppRestricted: el.querySelector('.resources-nav__dropdown-webapprestricted'),\r\n $menuDropdownWebAppListRestricted: el.querySelector('.resources-nav__dropdown-list-webapprestricted'),\r\n $mobileMenuList: el.querySelector('.mobile-menu__list'),\r\n $megamenuListItems: el.querySelectorAll('.megamenu__list-item'),\r\n $mobileMegamenuListItems: el.querySelectorAll(\r\n '.mobile-megamenu__list-item'\r\n ),\r\n $mobileMenuListItems: el.querySelectorAll('.mobile-menu__list-item'),\r\n $isPageWithoutHeader: el.querySelector('#page-type')?.value ==\"leadgeneration\"\r\n }\r\n if (!this.domMap.$isPageWithoutHeader) {\r\n this.addListeners()\r\n this.setBlockSizes()\r\n this.initAccordions()\r\n this.detectIcons()\r\n this.detectMobileOverride()\r\n this.detectExpandedMenu()\r\n this.uiObjective()\r\n const self = this\r\n this.focusTrap = createFocusTrap(this.el, {\r\n onActivate: () => {\r\n el.classList.add('header--active')\r\n self.domMap.$menuTrigger.setAttribute('aria-expanded', true)\r\n },\r\n onDeactivate: () => {\r\n el.classList.remove('header--active')\r\n self.domMap.$menuTrigger.setAttribute('aria-expanded', false)\r\n }\r\n })\r\n }\r\n this.createCookie('_zm_mtk_guid')\r\n this.createCookie('_zm_visitor_guid')\r\n callPricingAPI()\r\n this.clearCmsGuidOnSigninClick()\r\n this.marketVerify()\r\n this.initDataLayerTracking()\r\n this.replaceValidationInviteUrl()\r\n initializePricingComponents()\r\n }\r\n\r\n clearCmsGuidOnSigninClick() {\r\n // Remove any previous click listeners first\r\n Array.from(document.querySelectorAll('a[href]'))\r\n .filter(a =>\r\n /^https:\\/\\/([a-zA-Z0-9-]+\\.)?(zoomdev\\.us|zoom\\.us)\\/signin/.test(a.href)\r\n )\r\n .forEach(trigger => {\r\n const newHandler = function () {\r\n eraseCookieByPath(\"_zm_cms_guid\");\r\n };\r\n \r\n // Remove the click event listener from the element\r\n trigger.removeEventListener('click', newHandler);\r\n \r\n // Add the new event listener to the element\r\n trigger.addEventListener('click', newHandler);\r\n });\r\n }\r\n \r\n uiObjective() { \r\n const $isAnchors = this.el.querySelectorAll('.megamenu .megamenu__list-item-heading a')\r\n $isAnchors.forEach(function(anchor) {\r\n const lineHeight = parseFloat(getComputedStyle(anchor).lineHeight);\r\n const height = parseFloat(getComputedStyle(anchor).height);\r\n anchor.classList.remove(\"megamenu__list-item-heading-l1\", \"megamenu__list-item-heading-l2\");\r\n if (height > lineHeight) {\r\n anchor.classList.add('megamenu__list-item-heading-l2');\r\n } else {\r\n anchor.classList.add('megamenu__list-item-heading-l1');\r\n }\r\n });\r\n }\r\n\r\n addListeners() { \r\n const {\r\n $megamenu,\r\n $megamenuTriggers,\r\n $menuDropdown,\r\n $menuDropdownRestricted,\r\n $menuDropdownList,\r\n $menuDropdownListRestricted,\r\n $menuDropdownJoin,\r\n $menuDropdownJoinRestricted,\r\n $menuDropdownListJoin,\r\n $menuDropdownListJoinRestricted,\r\n $menuDropdownWebAppRestricted,\r\n $menuDropdownWebAppListRestricted,\r\n $menuTrigger,\r\n $searchForm,\r\n $searchLabel,\r\n $searchInput,\r\n $searchClose\r\n } = this.domMap\r\n\r\n $megamenuTriggers.forEach((trigger) =>\r\n trigger.addEventListener(\r\n 'click',\r\n this.handleMegamenuTriggerClick.bind(this)\r\n )\r\n )\r\n $megamenu.forEach((megamenu) =>\r\n megamenu.addEventListener(\r\n 'focusout',\r\n this.handleMegamenuFocusout.bind(this)\r\n )\r\n )\r\n if($menuDropdown != null) {\r\n $menuDropdown.addEventListener(\r\n 'click',\r\n this.handleMenuDropdownClick.bind(this)\r\n )\r\n }\r\n if($menuDropdownRestricted != null) {\r\n $menuDropdownRestricted.addEventListener(\r\n 'click',\r\n this.handleMenuDropdownClickRestricted.bind(this)\r\n )\r\n }\r\n if($menuDropdownWebAppRestricted != null) {\r\n $menuDropdownWebAppRestricted.addEventListener(\r\n 'click',\r\n this.handleMenuDropdownWebAppClickRestricted.bind(this)\r\n )\r\n }\r\n if($menuDropdownList != null) {\r\n $menuDropdownList.addEventListener(\r\n 'focusout',\r\n this.handleMenuDropdownListFocusout.bind(this)\r\n )\r\n }\r\n if($menuDropdownListRestricted!= null) {\r\n $menuDropdownListRestricted.addEventListener(\r\n 'focusout',\r\n this.handleMenuDropdownListFocusoutRestricted.bind(this)\r\n )\r\n }\r\n if($menuDropdownWebAppListRestricted != null) {\r\n $menuDropdownWebAppListRestricted.addEventListener(\r\n 'focusout',\r\n this.handleMenuDropdownListWebAppFocusoutRestricted.bind(this)\r\n )\r\n }\r\n if($menuDropdownJoin != null) {\r\n $menuDropdownJoin?.addEventListener(\r\n 'click',\r\n this.handleMenuDropdownJoinClick.bind(this)\r\n )\r\n }\r\n if($menuDropdownJoinRestricted != null) {\r\n $menuDropdownJoinRestricted?.addEventListener(\r\n 'click',\r\n this.handleMenuDropdownJoinClickRestricted.bind(this)\r\n )\r\n }\r\n if($menuDropdownListJoin != null) {\r\n $menuDropdownListJoin?.addEventListener(\r\n 'focusout',\r\n this.handleMenuDropdownListJoinFocusout.bind(this)\r\n )\r\n }\r\n if($menuDropdownListJoinRestricted != null) {\r\n $menuDropdownListJoinRestricted?.addEventListener(\r\n 'focusout',\r\n this.handleMenuDropdownListJoinFocusoutRestricted.bind(this)\r\n )\r\n }\r\n $menuTrigger.addEventListener(\r\n 'click',\r\n this.handleMenuTriggerClick.bind(this)\r\n )\r\n if($searchForm != null) {\r\n $searchForm?.addEventListener('submit', this.handleSearchSubmit.bind(this))\r\n }\r\n if($searchLabel != null) {\r\n $searchLabel?.addEventListener(\r\n 'click',\r\n this.handleSearchLabelClick.bind(this)\r\n )\r\n }\r\n if($searchInput != null) {\r\n $searchInput?.addEventListener('input', this.handleSearchInput.bind(this))\r\n }\r\n if($searchClose != null) {\r\n $searchClose?.addEventListener('click', this.handleSearchClose.bind(this))\r\n }\r\n let resizeTimeout;\r\n window.addEventListener('resize', () => {\r\n this.setBlockSizes(this.el)\r\n this.detectSize(this.el)\r\n if (resizeTimeout) {\r\n clearTimeout(resizeTimeout);\r\n }\r\n resizeTimeout = setTimeout(() => {\r\n // Function to call when resizing is done\r\n this.detectMobileOverride(this.el)\r\n }, 250);\r\n })\r\n window.addEventListener('click', this.handleClickOutside.bind(this)) \r\n \r\n }\r\n\r\n // forcing navigation to mobile view for languages that have too much text to display in desktop mode\r\n detectMobileOverride() {\r\n let navigationContainerWidth = document.querySelector(\r\n '.main-nav__container'\r\n ).offsetWidth\r\n\r\n let leftContentWidth = document.querySelector('.main-nav__left').offsetWidth\r\n let rightContentWidth =\r\n document.querySelector('.main-nav__right').offsetWidth\r\n if(!this.el.classList.contains('main-nav__mobile-override')) {\r\n if (leftContentWidth + rightContentWidth >= navigationContainerWidth - 80) {\r\n this.el.classList.add('main-nav__mobile-override')\r\n } else {\r\n this.el.classList.remove('main-nav__mobile-override')\r\n }\r\n } else {\r\n this.el.classList.remove('main-nav__mobile-override')\r\n this.detectMobileOverride()\r\n }\r\n this.uiObjective()\r\n }\r\n\r\n initAccordions() {\r\n const { $mobileMenuList } = this.domMap\r\n\r\n new AccordionWidget($mobileMenuList)\r\n }\r\n\r\n detectExpandedMenu() {\r\n const { $mobileMenuListItems, $mobileMenu } = this.domMap\r\n const observer = new MutationObserver(callback)\r\n function callback(mutationsList, observer) {\r\n for (const mutation of mutationsList) {\r\n if (\r\n mutation.type === 'attributes' &&\r\n mutation.attributeName === 'class'\r\n ) {\r\n if (mutation.target.classList.contains('is-active')) {\r\n requestAnimationFrame(() =>\r\n $mobileMenu.scroll({ top: 0, behavior: 'smooth' })\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n $mobileMenuListItems.forEach((item) =>\r\n observer.observe(item, { attributes: true })\r\n )\r\n }\r\n\r\n setBlockSizes() {\r\n document.documentElement.style.setProperty(\r\n '--vh',\r\n `${window.innerHeight}px`\r\n )\r\n }\r\n\r\n detectSize() {\r\n const isMobile = window.matchMedia('(max-width: 1024px)').matches\r\n\r\n if (!isMobile) {\r\n this.focusTrap.deactivate()\r\n }\r\n }\r\n\r\n detectIcons() {\r\n const { $megamenuListItems, $mobileMegamenuListItems } = this.domMap\r\n\r\n $megamenuListItems.forEach((item) => {\r\n const $icon = item.querySelector('.megamenu__list-item-icon')\r\n\r\n if ($icon) {\r\n item.classList.add('megamenu__list-item--has-icon')\r\n }\r\n })\r\n\r\n $mobileMegamenuListItems.forEach((item) => {\r\n const $icon = item.querySelector('.mobile-megamenu__list-item-icon')\r\n\r\n if ($icon) {\r\n item.classList.add('mobile-megamenu__list-item--has-icon')\r\n }\r\n })\r\n }\r\n\r\n handleMegamenuTriggerClick(e) {\r\n const { $megamenuTriggers } = this.domMap\r\n\r\n $megamenuTriggers.forEach((trigger) => {\r\n if (\r\n trigger.hasAttribute('aria-expanded') &&\r\n trigger.getAttribute('aria-expanded') === 'false'\r\n ) {\r\n trigger.setAttribute('aria-expanded', trigger === e.target)\r\n if(trigger === e.target) trigger.parentElement.classList.add('active')\r\n } else {\r\n trigger.setAttribute('aria-expanded', false)\r\n trigger.parentElement.classList.remove('active')\r\n }\r\n })\r\n }\r\n\r\n handleSearchSubmit(e) {\r\n e.preventDefault()\r\n const { $searchForm, $searchInput } = this.domMap\r\n const searchValue = $searchInput?.value\r\n const searchDataUrl = $searchForm?.dataset.url\r\n\r\n if (searchValue.length) {\r\n window.location.href = `${searchDataUrl}/#q=${searchValue}&t=All&sort=relevancy`\r\n }\r\n }\r\n\r\n handleSearchLabelClick() {\r\n const { $searchForm } = this.domMap\r\n $searchForm?.classList.add('resources-nav__search-form--active')\r\n }\r\n\r\n handleSearchInput() {\r\n const { $searchForm, $searchInput } = this.domMap\r\n $searchForm?.classList.toggle(\r\n 'resources-nav__search-form--filled',\r\n $searchInput?.value.length\r\n )\r\n }\r\n\r\n handleMenuTriggerClick() {\r\n const { $menuTrigger } = this.domMap\r\n const isActive = this.el.classList.contains('header--active')\r\n $menuTrigger.setAttribute('aria-expanded', !isActive)\r\n\r\n if (isActive) {\r\n this.focusTrap.deactivate()\r\n enableBodyScroll(this.el)\r\n } else {\r\n this.focusTrap.activate()\r\n disableBodyScroll(this.el, {\r\n allowTouchMove: (el) => el.closest('.mobile-menu')\r\n })\r\n }\r\n }\r\n\r\n handleSearchClose() {\r\n const { $searchForm } = this.domMap\r\n $searchForm?.classList.remove('resources-nav__search-form--active')\r\n $searchForm?.classList.add('resources-nav__search-form--closing')\r\n setTimeout(\r\n () =>\r\n $searchForm?.classList.remove('resources-nav__search-form--closing'),\r\n 300\r\n )\r\n }\r\n\r\n handleMenuDropdownClick() {\r\n const { $menuDropdown, $menuDropdownList } = this.domMap\r\n const isActive = $menuDropdownList.classList.contains(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n $menuDropdown.setAttribute('aria-expanded', !isActive)\r\n $menuDropdownList.classList.toggle('resources-nav__dropdown-list--active')\r\n }\r\n\r\n handleMenuDropdownClickRestricted() {\r\n const { $menuDropdownRestricted, $menuDropdownListRestricted } = this.domMap\r\n const isActive = $menuDropdownListRestricted.classList.contains(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n $menuDropdownRestricted.setAttribute('aria-expanded', !isActive)\r\n $menuDropdownListRestricted.classList.toggle('resources-nav__dropdown-list--active')\r\n }\r\n\r\n handleMenuDropdownWebAppClickRestricted() {\r\n const { $menuDropdownWebAppRestricted, $menuDropdownWebAppListRestricted } = this.domMap\r\n const isActive = $menuDropdownWebAppListRestricted.classList.contains(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n $menuDropdownWebAppRestricted.setAttribute('aria-expanded', !isActive)\r\n $menuDropdownWebAppListRestricted.classList.toggle('resources-nav__dropdown-list--active')\r\n }\r\n\r\n handleMenuDropdownListFocusout(e) {\r\n if (e.currentTarget.contains(e.relatedTarget)) return\r\n const { $menuDropdown, $menuDropdownList } = this.domMap\r\n $menuDropdown.setAttribute('aria-expanded', false)\r\n $menuDropdownList.classList.remove('resources-nav__dropdown-list--active')\r\n }\r\n handleMenuDropdownListFocusoutRestricted(e) {\r\n if (e.currentTarget.contains(e.relatedTarget)) return\r\n const { $menuDropdownRestricted, $menuDropdownListRestricted } = this.domMap\r\n $menuDropdownRestricted.setAttribute('aria-expanded', false)\r\n $menuDropdownListRestricted.classList.remove('resources-nav__dropdown-list--active')\r\n }\r\n\r\n handleMenuDropdownListWebAppFocusoutRestricted(e) {\r\n if (e.currentTarget.contains(e.relatedTarget)) return\r\n const { $menuDropdownWebAppRestricted, $menuDropdownWebAppListRestricted } = this.domMap\r\n $menuDropdownWebAppRestricted.setAttribute('aria-expanded', false)\r\n $menuDropdownWebAppListRestricted.classList.remove('resources-nav__dropdown-list--active')\r\n }\r\n\r\n handleMenuDropdownJoinClick() {\r\n const { $menuDropdownJoin, $menuDropdownListJoin } = this.domMap\r\n const isActive = $menuDropdownListJoin?.classList.contains(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n $menuDropdownJoin?.setAttribute('aria-expanded', !isActive)\r\n $menuDropdownListJoin?.classList.toggle(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n }\r\n\r\n handleMenuDropdownJoinClickRestricted() {\r\n const { $menuDropdownJoinRestricted, $menuDropdownListJoinRestricted } = this.domMap\r\n const isActive = $menuDropdownListJoinRestricted?.classList.contains(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n $menuDropdownJoinRestricted?.setAttribute('aria-expanded', !isActive)\r\n $menuDropdownListJoinRestricted?.classList.toggle(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n }\r\n\r\n handleMenuDropdownListJoinFocusout(e) {\r\n if (e.currentTarget.contains(e.relatedTarget)) return\r\n const { $menuDropdownJoin, $menuDropdownListJoin } = this.domMap\r\n $menuDropdownJoin?.setAttribute('aria-expanded', false)\r\n $menuDropdownListJoin?.classList.remove(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n }\r\n\r\n handleMenuDropdownListJoinFocusoutRestricted(e) {\r\n if (e.currentTarget.contains(e.relatedTarget)) return\r\n const { $menuDropdownJoinRestricted, $menuDropdownListJoinRestricted } = this.domMap\r\n $menuDropdownJoinRestricted?.setAttribute('aria-expanded', false)\r\n $menuDropdownListJoinRestricted?.classList.remove(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n }\r\n\r\n handleClickOutside(e) {\r\n const {\r\n $menuDropdown,\r\n $menuDropdownRestricted,\r\n $menuDropdownList,\r\n $menuDropdownListRestricted,\r\n $menuDropdownJoin,\r\n $menuDropdownJoinRestricted,\r\n $menuDropdownListJoin,\r\n $menuDropdownListJoinRestricted,\r\n $menuDropdownWebAppRestricted,\r\n $menuDropdownWebAppListRestricted,\r\n $megamenuTriggers\r\n } = this.domMap\r\n\r\n var isDropdownList = false;\r\n if($menuDropdownList != null) {\r\n isDropdownList = $menuDropdownList.contains(e.target)\r\n }\r\n var isDropdownTrigger = false;\r\n if($menuDropdown != null) {\r\n isDropdownTrigger = $menuDropdown.contains(e.target)\r\n }\r\n\r\n let isDropdownListRestricted = null;\r\n if($menuDropdownListRestricted != null) {\r\n isDropdownListRestricted = $menuDropdownListRestricted.contains(e.target)\r\n }\r\n let isDropdownTriggerRestricted = null\r\n if($menuDropdownRestricted != null) {\r\n isDropdownTriggerRestricted = $menuDropdownRestricted.contains(e.target)\r\n }\r\n \r\n let isDropdownWebAppListRestricted = null;\r\n if($menuDropdownWebAppListRestricted != null) {\r\n isDropdownWebAppListRestricted = $menuDropdownWebAppListRestricted.contains(e.target)\r\n }\r\n\r\n let isDropdownWebAppTriggerRestricted = null;\r\n if($menuDropdownWebAppRestricted != null) {\r\n isDropdownWebAppTriggerRestricted = $menuDropdownWebAppRestricted.contains(e.target)\r\n }\r\n\r\n let isDropdownListJoin = null;\r\n if($menuDropdownListJoin != null) {\r\n isDropdownListJoin = $menuDropdownListJoin.contains(e.target)\r\n }\r\n let isDropdownListJoinRestricted = null;\r\n if($menuDropdownListJoinRestricted != null) {\r\n isDropdownListJoinRestricted = $menuDropdownListJoinRestricted.contains(e.target)\r\n }\r\n let isDropdownTriggerJoin = null;\r\n if($menuDropdownJoin != null) {\r\n isDropdownTriggerJoin = $menuDropdownJoin.contains(e.target)\r\n }\r\n let isDropdownTriggerJoinRestricted = null;\r\n if($menuDropdownJoinRestricted != null) {\r\n isDropdownTriggerJoinRestricted = $menuDropdownJoinRestricted.contains(e.target)\r\n }\r\n\r\n let ismenuDropdownWebAppListRestricted = null;\r\n if($menuDropdownWebAppListRestricted != null) {\r\n ismenuDropdownWebAppListRestricted = $menuDropdownWebAppListRestricted.contains(e.target)\r\n }\r\n \r\n let ismenuDropdownWebAppRestricted = null;\r\n if($menuDropdownWebAppRestricted != null) {\r\n ismenuDropdownWebAppRestricted = $menuDropdownWebAppRestricted.contains(e.target)\r\n }\r\n\r\n const isMegamenuTrigger = Array.from($megamenuTriggers).some((trigger) => {\r\n const megamenu = trigger.parentElement.querySelector('.megamenu')\r\n return (\r\n trigger.contains(e.target) || (megamenu && megamenu.contains(e.target))\r\n )\r\n })\r\n\r\n if($menuDropdown != null && $menuDropdownList != null) {\r\n if (!isDropdownList && !isDropdownTrigger) {\r\n $menuDropdown.setAttribute('aria-expanded', false)\r\n $menuDropdownList.classList.remove('resources-nav__dropdown-list--active')\r\n }\r\n }\r\n\r\n if($menuDropdownRestricted != null && $menuDropdownListRestricted != null) {\r\n if (!isDropdownListRestricted && !isDropdownTriggerRestricted) {\r\n $menuDropdownRestricted.setAttribute('aria-expanded', false)\r\n $menuDropdownListRestricted.classList.remove('resources-nav__dropdown-list--active')\r\n }\r\n }\r\n\r\n if($menuDropdownWebAppRestricted != null && $menuDropdownWebAppListRestricted != null) {\r\n if (!isDropdownWebAppListRestricted && !isDropdownWebAppTriggerRestricted) {\r\n $menuDropdownWebAppRestricted.setAttribute('aria-expanded', false)\r\n $menuDropdownWebAppListRestricted.classList.remove('resources-nav__dropdown-list--active')\r\n }\r\n }\r\n\r\n if($menuDropdownListJoin != null && $menuDropdownJoin != null) {\r\n if (!isDropdownListJoin && !isDropdownTriggerJoin) {\r\n $menuDropdownJoin?.setAttribute('aria-expanded', false)\r\n $menuDropdownListJoin?.classList.remove(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n }\r\n }\r\n if($menuDropdownListJoinRestricted != null && $menuDropdownJoinRestricted != null) {\r\n if (!isDropdownListJoinRestricted && !isDropdownTriggerJoinRestricted) {\r\n $menuDropdownJoinRestricted?.setAttribute('aria-expanded', false)\r\n $menuDropdownListJoinRestricted?.classList.remove(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n }\r\n }\r\n\r\n if($menuDropdownWebAppListRestricted != null && $menuDropdownWebAppRestricted != null) {\r\n if (!ismenuDropdownWebAppListRestricted && !ismenuDropdownWebAppRestricted) {\r\n $menuDropdownWebAppRestricted?.setAttribute('aria-expanded', false)\r\n $menuDropdownWebAppListRestricted?.classList.remove(\r\n 'resources-nav__dropdown-list--active'\r\n )\r\n }\r\n }\r\n\r\n if (!isMegamenuTrigger) {\r\n $megamenuTriggers.forEach((trigger) => {\r\n trigger.setAttribute('aria-expanded', false)\r\n trigger.parentElement.classList.remove('active')\r\n })\r\n }\r\n }\r\n\r\n handleMegamenuFocusout(e) {\r\n if (e.currentTarget.contains(e.relatedTarget)) return\r\n const { $megamenuTriggers } = this.domMap\r\n\r\n $megamenuTriggers.forEach((trigger) => {\r\n trigger.setAttribute('aria-expanded', false)\r\n trigger.parentElement.classList.remove('active')\r\n })\r\n }\r\n\r\n marketVerify() {\r\n const cmsGuid = getCookie(\"_zm_cms_guid\")\r\n \r\n const fetchOpts =(cmsGuid == null || cmsGuid == false)?{ \r\n method: 'POST', \r\n credentials: 'include', \r\n mode: 'cors',\r\n signal: this.timeout(10).signal\r\n } :{ \r\n method: 'POST', \r\n credentials: 'include', \r\n mode: 'cors',\r\n signal: this.timeout(10).signal,\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n body: new URLSearchParams({\r\n cms_guid: cmsGuid\r\n }).toString()\r\n }\r\n\r\n let url = ''\r\n let marketVerify = document.getElementById('market-verify')\r\n if (marketVerify) {\r\n url = marketVerify.value\r\n } \r\n\r\n window\r\n .fetch(url, fetchOpts)\r\n .then((response) => {\r\n if (!response.ok) {\r\n throw new Error('Network response was not ok')\r\n }\r\n return response.json()\r\n })\r\n .then((body) => { \r\n document.dispatchEvent(new CustomEvent(\"marketVerifyResponse\", { detail: { body: body.result } }));\r\n this.pushPageLoadToDataLayer(body.result)\r\n this.initBlockVisibility(body.result)\r\n this.clearCmsGuidOnSigninClick() \r\n })\r\n .catch((err) => {\r\n this.pushPageLoadToDataLayer()\r\n this.clearCmsGuidOnSigninClick() \r\n })\r\n }\r\n\r\n timeout(time) {\r\n let controller = new AbortController()\r\n setTimeout(() => controller.abort(), time * 1000)\r\n return controller\r\n }\r\n\r\n pushPageLoadToDataLayer(marketVerifyResult) {\r\n let marketVerifyObject = {}\r\n window.zmGlobalMrktKey = \"\";\r\n if (marketVerifyResult)\r\n {\r\n\r\n let userRole = this.processMarketVerifyValue(marketVerifyResult.userRole, \"User Role\")\r\n \r\n let rateMrr = this.processMarketVerifyValue(marketVerifyResult.rateMrr, \"Rate Mrr\")\r\n \r\n marketVerifyObject = Object.assign({\r\n 'event': document.getElementById(\"market-verify-eventname\").value,\r\n 'pageName': document.getElementById(\"market-verify-pagename\").value || undefined,\r\n 'pageLanguage': document.getElementById(\"market-verify-pagelanguage\").value || undefined,\r\n 'userCountry': document.getElementById(\"market-verify-usercountry\").value || undefined,\r\n 'zoom_id': this.processMarketVerifyValue(marketVerifyResult.zmGlobalMrktKey, \"Zoom Global Marketing Key\"),\r\n 'fullUrl': document.getElementById('market-verify-fullUrl').value || undefined,\r\n 'userStatus': this.processMarketVerifyValue(marketVerifyResult.userStatus, \"User Status\"),\r\n 'userRole': this.processMarketVerifyValue(marketVerifyResult.userRole, \"User Role\"),\r\n 'productUserType': this.processMarketVerifyValue(marketVerifyResult.productUserType, \"Product User Type\"),\r\n 'accountType': this.processMarketVerifyValue(marketVerifyResult.accountType, \"Account Type\"),\r\n 'accountPlanType': this.processMarketVerifyValue(marketVerifyResult.accountPlanType, \"Account Plan Type\"),\r\n 'accountChannel': this.processMarketVerifyValue(marketVerifyResult.accountChannel, \"Account Channel\"),\r\n 'domainType': this.processMarketVerifyValue(marketVerifyResult.domainType, \"Domain Type\"),\r\n 'billingCycle': this.processMarketVerifyValue(marketVerifyResult.billingCycle, \"Billing Cycle\"),\r\n 'expirationDate': this.processMarketVerifyValue(marketVerifyResult.expirationDate, \"Expiration date\"),\r\n 'autoRenew': this.processMarketVerifyValue(marketVerifyResult.autoRenew, \"Auto Renew\"),\r\n 'rateMrr': this.processMarketVerifyValue(marketVerifyResult.rateMrr, \"Rate Mrr\"),\r\n 'chargeType': this.processMarketVerifyValue(marketVerifyResult.chargeType, \"Charge Typr\"),\r\n 'licenseCount': this.processMarketVerifyValue(marketVerifyResult.licenseCount, \"License Count\"),\r\n 'paidStartDate': this.processMarketVerifyValue(marketVerifyResult.paidStartDate, \"Paid Start Date\"),\r\n 'licenseDiscount': this.processMarketVerifyValue(marketVerifyResult.licenseDiscount, \"License Discount\"),\r\n 'addOns': this.processMarketVerifyValue(marketVerifyResult.addOns, \"Add Ons\"),\r\n 'trackingGuid': this.processMarketVerifyValue(marketVerifyResult.trackingGuid, \"Tacking Guid\"),\r\n 'visitorGuid': this.processMarketVerifyValue(marketVerifyResult.visitorGuid, \"Visitor Guid\"),\r\n 'salesChannel': this.processMarketVerifyValue(marketVerifyResult.salesChannel, \"Sales Channel\"),\r\n 'verticalSegment': this.processMarketVerifyValue(marketVerifyResult.verticalSegment, \"Vertical Segment\"),\r\n 'salesSegment' : this.processMarketVerifyValue(marketVerifyResult.salesSegment, \"Sales Segment\"),\r\n 'salesDivision' : this.processMarketVerifyValue(marketVerifyResult.salesDivision, \"Sales Division\"),\r\n 'billingCountry': this.processMarketVerifyValue(marketVerifyResult.billingCountry, \"Billing Country\"),\r\n 'employeeCount' : this.processMarketVerifyValue(marketVerifyResult.employeeCount, \"Employee Count\"),\r\n }, window.extraPageLoadFields || {}) \r\n\r\n let isAuthenticated = (marketVerifyObject.userStatus !== undefined && marketVerifyObject.userStatus === \"authenticated\") \r\n if (isAuthenticated && marketVerifyObject.visitorGuid !== undefined && marketVerifyObject.zoom_id !== undefined) {\r\n window.zmGlobalMrktId = marketVerifyObject.visitorGuid;\r\n window.zmGlobalMrktKey = marketVerifyObject.zoom_id;\r\n this.createCookieWithValue('_zm_mtk_guid', marketVerifyObject.visitorGuid)\r\n this.createCookieWithValue('_zm_global_mtk_key', marketVerifyObject.zoom_id)\r\n }else{\r\n window.zmGlobalMrktKey = \"\";\r\n this.createCookieWithValue('_zm_global_mtk_key', \"\")\r\n }\r\n } else {\r\n marketVerifyObject = Object.assign({\r\n 'event': document.getElementById(\"market-verify-eventname\").value,\r\n 'pageName': document.getElementById(\"market-verify-pagename\").value || undefined,\r\n 'pageLanguage': document.getElementById(\"market-verify-pagelanguage\").value || undefined,\r\n 'userCountry': document.getElementById(\"market-verify-usercountry\").value || undefined,\r\n 'zoom_id': window.zmGlobalMrktKey || undefined,\r\n 'fullUrl': document.getElementById('market-verify-fullUrl').value || undefined,\r\n 'userStatus': undefined,\r\n 'userRole': undefined,\r\n 'productUserType': undefined,\r\n 'accountType': undefined,\r\n 'accountPlanType': undefined,\r\n 'accountChannel': undefined,\r\n 'domainType': undefined,\r\n 'billingCycle': undefined,\r\n 'expirationDate': undefined,\r\n 'autoRenew': undefined,\r\n 'rateMrr': undefined,\r\n 'chargeType': undefined,\r\n 'licenseCount': undefined,\r\n 'paidStartDate': undefined,\r\n 'licenseDiscount': undefined,\r\n 'addOns': undefined,\r\n 'trackingGuid': undefined,\r\n 'visitorGuid': undefined,\r\n 'salesChannel': undefined,\r\n 'verticalSegment': undefined,\r\n 'salesSegment' : undefined,\r\n 'salesDivision' : undefined,\r\n 'billingCountry': undefined,\r\n 'employeeCount' : undefined,\r\n }, window.extraPageLoadFields || {}) \r\n }\r\n\r\n window['optimizely'] = window['optimizely'] || [];\r\n window[\"optimizely\"].push({\r\n \"type\": \"tags\",\r\n \"tags\": {\r\n \"zm_usr_id_sha256\": window.zmGlobalMrktKey || \"\"\r\n }\r\n });\r\n\r\n window.dataLayer.push(marketVerifyObject);\r\n }\r\n\r\n processMarketVerifyValue(result, propertyName) {\r\n if (result === 0)\r\n {\r\n return result\r\n }\r\n\r\n if (Number.isInteger(result))\r\n {\r\n return result\r\n }\r\n\r\n if (result == null)\r\n {\r\n return undefined\r\n }\r\n\r\n if (result != '') {\r\n return result\r\n } \r\n \r\n return undefined\r\n } \r\n\r\n generateId() {\r\n return 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(ad) {\r\n var ac = (Math.random() * 16) | 0\r\n , ab = ad == 'x' ? ac : (ac & 3) | 8\r\n return ab.toString(16)\r\n })\r\n }\r\n\r\n createCookie(cookieName) { \r\n let thisCookie = getCookie(cookieName) \r\n let now = new Date() \r\n let threshold = new Date('October 10, 2023')\r\n if (!(thisCookie && '' != thisCookie) || now < threshold)\r\n { \r\n let value = this.generateId()\r\n let domain = location.hostname.split('.').reverse()[1] + '.' + location.hostname.split('.').reverse()[0]\r\n this.setCookie(cookieName,value,365,domain)\r\n }\r\n } \r\n\r\n createCookieWithValue(cookieName, cookieValue) { \r\n if (cookieValue!=undefined)\r\n { \r\n let domain = location.hostname.split('.').reverse()[1] + '.' + location.hostname.split('.').reverse()[0]\r\n this.setCookie(cookieName,cookieValue,365,domain)\r\n }\r\n }\r\n\r\n setCookie(cookieName, value, days, domain) {\r\n var expires = \"\"\r\n if (days) {\r\n var date = new Date()\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000))\r\n expires = \"; expires=\" + date.toUTCString()\r\n }\r\n if (typeof value === 'object') {\r\n // because of Safari bug handling JSON in cookies commas need to be stripped out\r\n let obj = {}\r\n for (const [key, item] of Object.entries(value)) {\r\n if (typeof item == 'string') obj[key] = item.replace(/,/,'U+0002C')\r\n else obj[key] = item\r\n }\r\n // turn value into JSON\r\n value = JSON.stringify(obj)\r\n }\r\n // create cookie\r\n document.cookie = cookieName + \"=\" + (value || \"\") + expires + \"; path=/;secure;samesite=none;domain=.\" + domain \r\n } \r\n initDataLayerTracking() {\r\n try {\r\n let dataLayerTrack = new DataLayerTracking()\r\n dataLayerTrack._init()\r\n }\r\n catch (e) {\r\n }\r\n }\r\ninitBlockVisibility(result){\r\n try{\r\n new BlockVisibilityService(result)\r\n }\r\n catch(err){\r\n }\r\n}\r\n\r\n replaceValidationInviteUrl() {\r\n const elements = document.querySelectorAll('a[href=\"javascipt:void(0)#validationinvite#\"]')\r\n document.addEventListener(\"marketVerifyResponse\", function (event) {\r\n const body = event?.detail?.body;\r\n this.callInviteApi(elements,body?.sid || \"\");\r\n }.bind(this))\r\n }\r\n\r\n callInviteApi(elements, sId){\r\n try {\r\n elements.forEach(async (element) => {\r\n element.href = \"javascipt:void(0)\";\r\n try {\r\n const response = await fetch(`/api/validation-invite/${sId}`, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n }\r\n });\r\n\r\n if (response.ok) {\r\n const data = await response.json();\r\n const resultUrl = data.result;\r\n element.href = resultUrl;\r\n } else {\r\n }\r\n } catch (error) {\r\n }\r\n });\r\n } catch (error) {\r\n }\r\n\r\n }\r\n}\r\nexport default Navigator\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","function DataLayerFilter() {\r\n this.filterInteractionEvent = 'filterInteraction';\r\n this.filterAppliedInteraction = 'filter applied';\r\n this.apiEndpoint = document.querySelector('#q')?.closest('.grid-landing-page')?.getAttribute('data-api-endpoint');\r\n this.uiLocation = this.apiEndpoint ? this.apiEndpoint.split('/')[2] : 'grid landing page';\r\n this.filterInputs = document.querySelectorAll('input[type=\"checkbox\"], input[type=\"radio\"], select');\r\n this._handleFilterChange = this._handleFilterChange.bind(this);\r\n}\r\n\r\nDataLayerFilter.prototype._init = function () {\r\n this._trackFilterInteractions();\r\n};\r\n\r\nDataLayerFilter.prototype._trackFilterInteractions = function () {\r\n this.filterInputs.forEach(filter => {\r\n if (!filter.hasEventListener) {\r\n filter.addEventListener('change', (event) => {\r\n if (event.target.checked || event.target.tagName === 'SELECT') {\r\n setTimeout(() => {\r\n this._handleFilterChange()\r\n }, 50)\r\n }\r\n });\r\n filter.hasEventListener = true;\r\n }\r\n });\r\n};\r\n\r\nDataLayerFilter.prototype._handleFilterChange = function () {\r\n let filtersApplied = this._getAppliedFilters();\r\n\r\n if (!filtersApplied || Object.keys(filtersApplied).length === 0) {\r\n return;\r\n }\r\n\r\n // Filter out unnecessary keys like \"sort\" and \"ot-group-id-C000X\"\r\n const validFilterKeys = Object.keys(filtersApplied).filter(\r\n key => !key.startsWith(\"ot-group-id\") && key !== \"sort\"\r\n );\r\n\r\n // Extract all selected values from relevant filters\r\n let selectedFilters = [];\r\n validFilterKeys.forEach(key => {\r\n selectedFilters = selectedFilters.concat(filtersApplied[key]);\r\n });\r\n\r\n // Remove duplicates if the same filter is clicked multiple times\r\n selectedFilters = [...new Set(selectedFilters)];\r\n\r\n if (selectedFilters.length === 0) {\r\n return;\r\n }\r\n\r\n window.dataLayer.push({\r\n event: this.filterInteractionEvent,\r\n filterInteraction: this.filterAppliedInteraction,\r\n filtersUsed: selectedFilters, \r\n uiLocation: this.uiLocation\r\n });\r\n};\r\n\r\nDataLayerFilter.prototype._getAppliedFilters = function () {\r\n const appliedFilters = {};\r\n document.querySelectorAll('input[type=\"checkbox\"]:checked, input[type=\"radio\"]:checked').forEach(input => {\r\n const filterType = input.name || 'unknown';\r\n if (!appliedFilters[filterType]) appliedFilters[filterType] = [];\r\n appliedFilters[filterType].push(input.value);\r\n });\r\n\r\n document.querySelectorAll('select').forEach(select => {\r\n if (select.value) {\r\n const filterType = select.name || 'unknown';\r\n if (!appliedFilters[filterType]) appliedFilters[filterType] = [];\r\n appliedFilters[filterType].push(select.value);\r\n }\r\n });\r\n\r\n return appliedFilters;\r\n};\r\n\r\nexport { DataLayerFilter };\r\n","function DataLayerSearch() {\n this.searchIntractionEvent = 'searchInteraction'\n this.searchValueEvent = 'search'\n this.searchBarClickIntraction = 'search bar clicked'\n this.clearSearchIntraction = 'clear search'\n this.coveoSearchLabel = 'coveo search'\n this.searchBox = document.querySelector('#q')\n this.apiEndpoint = document.querySelector('#q')?.closest('.grid-landing-page')?.getAttribute('data-api-endpoint')\n this.clearSearch = document.querySelector('.grid-landing-page__text-input__search-icon--close')\n this.resultCount = 0\n this.uiLocation = (this.apiEndpoint) ? this.apiEndpoint.split('/')[2] : 'grid landing page'\n this.coveoSearchBox = document.querySelector('.FlyoutButton')\n this.coveoSearchInput = document.querySelector('.magic-box-input input')\n this.coveoClearSearch = document.querySelector('.magic-box-icon')\n this.coveoSearchIcon = document.querySelector('.CoveoSearchButton')\n this.coveoSearchPageInput = document.querySelector('main .magic-box-input input')\n this.coveoPageClearSearch = document.querySelector('main .magic-box-icon')\n this.coveoPageSearchIcon = document.querySelector('main .CoveoSearchButton')\r\n}\r\nDataLayerSearch.prototype._init = function () {\n this._searchClick()\r\n}\n\nDataLayerSearch.prototype._updateDataLayerWithCardCount = function (resultCount) {\r if (resultCount && !isNaN(resultCount)) {\r this.resultCount = parseInt(resultCount)\r }\n if (this.searchBox.value) {\n let eventData = {\n event: this.searchValueEvent,\r\n searchTermUsed: this.searchBox.value,\r\n numResults: this.resultCount,\r\n uiLocation: this.uiLocation\r\n }\r\n window.dataLayer.push(eventData)\r\n }\r}\n\nDataLayerSearch.prototype._searchClickIntraction = function (searchBoxClick, searchBarClickIntraction, uiLocation) {\n if (searchBoxClick != null) {\n searchBoxClick.addEventListener('click', () => {\n let eventData = {\r\n event: this.searchIntractionEvent,\r\n searchInteraction: searchBarClickIntraction,\r\n uiLocation: uiLocation\r\n }\r\n window.dataLayer.push(eventData)\n })\n }\r\n}\n\nDataLayerSearch.prototype._searchValueIntraction = function (searchElementClick, searchTerm, uiLocation) {\n if (searchElementClick != null) {\n searchElementClick.addEventListener('click', () => {\n let eventData = {\r\n event: this.searchValueEvent,\r\n searchTermUsed: searchTerm?.value,\r\n uiLocation: uiLocation\r\n }\r\n window.dataLayer.push(eventData)\n })\n }\r\n}\n\nDataLayerSearch.prototype._searchValueIntractionByPressEnter = function (searchElementClick, searchTerm, uiLocation) {\n if (searchElementClick != null) {\n searchElementClick.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.keyCode === 13) {\n let eventData = {\r\n event: this.searchValueEvent,\r\n searchTermUsed: searchTerm?.value,\r\n uiLocation: uiLocation\r\n }\r\n window.dataLayer.push(eventData)\n }\n })\n }\r\n}\nDataLayerSearch.prototype._searchClick = function () {\r\n try {\n \n this._searchClickIntraction(this.searchBox,this.searchBarClickIntraction,this.uiLocation)\n\n this._searchClickIntraction(this.clearSearch,this.clearSearchIntraction,this.uiLocation)\n\n this._searchClickIntraction(this.coveoSearchBox,this.searchBarClickIntraction, this.coveoSearchLabel)\n\n this._searchClickIntraction(this.coveoSearchInput,this.searchBarClickIntraction, this.coveoSearchLabel)\n\n this._searchClickIntraction(this.coveoSearchPageInput, this.searchBarClickIntraction, this.coveoSearchLabel)\n\n this._searchValueIntractionByPressEnter(this.coveoSearchInput, this.coveoSearchInput, this.coveoSearchLabel)\n\n this._searchValueIntractionByPressEnter(this.coveoSearchPageInput, this.coveoSearchPageInput, this.coveoSearchLabel)\n\n this._searchClickIntraction(this.coveoClearSearch,this.clearSearchIntraction, this.coveoSearchLabel)\n\n this._searchClickIntraction(this.coveoPageClearSearch,this.clearSearchIntraction, this.coveoSearchLabel)\n\n this._searchValueIntraction(this.coveoSearchIcon,this.coveoSearchInput, this.coveoSearchLabel)\n\n this._searchValueIntraction(this.coveoPageSearchIcon, this.coveoSearchPageInput, this.coveoSearchLabel)\n\n document.addEventListener(\"click\", function (e) {\n const target = e.target.closest(\".magic-box-suggestion\");\n if (target) {\n let eventData = {\r\n event: 'search',\r\n searchTermUsed: target.getAttribute('aria-label'),\r\n uiLocation: 'coveo search'\r\n }\r\n window.dataLayer.push(eventData)\n }\n });\r\n }\r\n catch (e) { }\r\n}\r\nexport { DataLayerSearch }\r\n","function DataLayerTab() {\r\n this.horizontalTabUiLocation = 'Horizontal Tab'\r\n this.pillTabUiLocation = 'Tabbed Pill'\r\n this.tabbedCarouselUiLocation = 'Tabbed Carousel'\r\n this.horizontalTabClickButton = document.querySelectorAll('.fdn-tabs__tab')\r\n this.pillTabClickButton = document.querySelectorAll('.fdn-tabbed-pills__pill')\r\n this.carouselTabClickButton = document.querySelectorAll('.tabbed-carousel__tab')\r\n}\r\n\r\nDataLayerTab.prototype._init = function () {\r\n this._TabClick()\r\n}\r\n\r\nDataLayerTab.prototype._TabClick = function () {\r\n this._horizontalTabClick(this.horizontalTabClickButton, this.horizontalTabUiLocation)\r\n this._pillTabClick(this.pillTabClickButton, this.pillTabUiLocation)\r\n this._carouselTabClick(this.carouselTabClickButton, this.tabbedCarouselUiLocation)\r\n}\r\n\r\nDataLayerTab.prototype._horizontalTabClick = function (tabs, horizontalTabUiLocation) {\r\n if (tabs) {\r\n tabs.forEach(button => {\r\n button.addEventListener('click', (e) => {\r\n let tabContainer = e.target.closest('.fdn-tabs')\r\n let horizontalTabTitle = tabContainer?.querySelector('.fdn-tabs__headline')?.textContent?.trim() || ''\r\n let targetButton = e.target.closest('.fdn-tabs__tab')\r\n let tabTextValue = targetButton.querySelector('.fdn-tabs__title')?.textContent.trim() || ''\r\n let linkText = horizontalTabTitle ? `${horizontalTabTitle} - ${tabTextValue}` : tabTextValue\r\n\r\n let eventData = {\r\n event: 'contentClick',\r\n linkText: linkText,\r\n uiLocation: horizontalTabUiLocation\r\n }\r\n \r\n window.dataLayer.push(eventData)\r\n })\r\n })\r\n }\r\n}\r\n\r\nDataLayerTab.prototype._pillTabClick = function (tabs, pillTabUiLocation) {\r\n if (tabs) {\r\n tabs.forEach(button => {\r\n button.addEventListener('click', (e) => {\r\n let tabContainer = e.target.closest('.fdn-tabbed-pills__content')\r\n let pillTabTitle = tabContainer?.querySelector('.fdn-tabbed-pills__title')?.textContent?.trim() || ''\r\n let tabTextValue = Array.from(e.target.childNodes)\r\n .filter(node => node.nodeType === Node.TEXT_NODE || (node.nodeType === Node.ELEMENT_NODE && !node.classList.contains('visually-hidden')))\r\n .map(node => node.textContent.trim())\r\n .join(' ').trim() || ''\r\n\r\n let linkText = pillTabTitle ? `${pillTabTitle} - ${tabTextValue}` : tabTextValue\r\n\r\n let eventData = {\r\n event: 'contentClick',\r\n linkText: linkText,\r\n uiLocation: pillTabUiLocation\r\n }\r\n window.dataLayer.push(eventData)\r\n })\r\n })\r\n }\r\n}\r\n\r\nDataLayerTab.prototype._carouselTabClick = function (tabs, tabbedCarouselUiLocation) {\r\n if (tabs) {\r\n tabs.forEach(button => {\r\n button.addEventListener('click', (e) => {\r\n let tabContainer = e.target.closest('.wrapper')\r\n let carouselTabTitle = tabContainer?.querySelector('.module-columns-title')?.textContent?.trim() || ''\r\n let tabTextValue = Array.from(e.target.childNodes)\r\n .filter(node => node.nodeType === Node.TEXT_NODE || (node.nodeType === Node.ELEMENT_NODE && !node.classList.contains('tabbed-carousel__tab-description')))\r\n .map(node => node.textContent.trim())\r\n .join(' ').trim() || ''\r\n\r\n let linkText = carouselTabTitle ? `${carouselTabTitle} - ${tabTextValue}` : tabTextValue\r\n\r\n let eventData = {\r\n event: 'contentClick',\r\n linkText: linkText,\r\n uiLocation: tabbedCarouselUiLocation\r\n }\r\n \r\n window.dataLayer.push(eventData)\r\n })\r\n })\r\n }\r\n}\r\n\r\nexport { DataLayerTab }\r\n"],"names":["BlockVisibilityService","response","this","UserIdentityRole","DefaultText","DefaultValue","AnonymousText","AnonymousValue","AuthorizedFreeText","AuthorizedFreeValue","AuthorizedPaidText","AuthorizedPaidValue","AuthorizedText","AuthorizedValue","userStatusKey","currencyKey","accountPlanTypeKey","accPubCalendarKey","elementVisibleForAttribute","restrictAccessCssClass","userStatusCookie","publicCalendarCookieKey","currencyCookie","user","elementVisibleForRoles","paidUserPlanType","domain","location","hostname","split","reverse","_int","prototype","_processUserRole","_displayAuthorizedElements","_removeUnauthorizedElements","visibleRole","userStatus","_getAuthenticatedUserRole","push","_displayAuthorizedJoinElement","_setCookie","currentAccountPlan","concat","isPaidUser","includes","currency","currencyButton","document","querySelector","setAttribute","lowerAbbreviation","toLowerCase","userCurrency","allCurrencyList","find","currencyAbbreviation","innerHTML","displayName","currencySymbol","accountPubCalendarKey","isShowCalendar","joinElement","parentElement","classList","remove","removeAttribute","joinElementToRemove","_this","length","authorizedElementsSelectors","map","userIdRole","join","querySelectorAll","forEach","element","unAuthorizedElementSelector","cookieName","value","days","expires","date","Date","setTime","getTime","toUTCString","_typeof","obj","_i","_Object$entries","Object","entries","_Object$entries$_i","key","item","replace","JSON","stringify","cookie","err","console","log","DataLayerCta","buttonCta","Array","from","filter","el","closest","_init","_trackLinkClicks","link","addEventListener","e","_handleLinkClick","_isInExcludedSection","some","selector","section","contains","stopPropagation","linkElement","target","linkText","_getVisibleText","linkUrl","href","uiLocation","locationMapping","moduleColumns","checkUiLocation","test","_handleDownloadEvent","_handleLinkClickEvent","match","contentTitle","_getContentTitle","_match$","eventData","event","fileExtension","window","dataLayer","parent","foundTitle","innerText","trim","buttonElement","_step","_iterator","_createForOfIteratorHelper","s","n","done","f","visibleText","childNodes","node","nodeType","Node","TEXT_NODE","textContent","DataLayerBlog","DataLayerSmbRoiCalculator","container","slider","sliderInput","appCards","viewPlansButton","contactSalesButton","a","interactionCaptured","_onFirstInteraction","bind","DataLayerNavigation","DataLayerHelper","pushEvent","eventName","data","arguments","undefined","keys","DataLayerZoomForNonProfit","DataLayerTracking","footerUiLocation","headerUiLocation","bodyUiLocation","dataLayerSearch","DataLayerSearch","dataLayerTab","DataLayerTab","dataLayerCta","dataLayerFilter","DataLayerFilter","dataLayerSmbRoi","_FormEvents","_blogFormSubmitted","_blogFormError","$$epiforms","ready","on","param1","param2","eventCategory","eventAction","eventLabel","formType","isValid","_document$querySelect","_document$querySelect2","eventLabelName","parentNode","checked","_trackFirstInteraction","_trackCtaClicks","Boolean","once","roiCalculatorInteraction","roiCalculatorSelection","_this2","handleClick","label","_this2$sliderInput","employeeCount","selectedApps","card","_card$querySelector","_card$querySelector2","category","name","numAppsSelected","appsSelectedArray","_logoIntraction","_logoIntractionForShortHeader","_menuWithExpand","_menuWithoutExpand","_logoTracking","_universalDesktopMenu","_universalMobileMenu","_resourceMenu","_mobileSignUp","_mobilePricingEvent","_zoomProductAndContactSaleButton","_trackClickEvents","_getUiLocation","parentCategory","_getUiLocationMobile","_categoryState","getLinkType","currentTarget","getAttribute","updateVal","_document$querySelect3","_document$querySelect4","_filter$map$join$trim","_toConsumableArray","_event$currentTarget$","isDesktop","isMobileBanner","_this3","_document$querySelect5","_linkText$trim","getClosestClass","isMobile","_document$querySelect6","_document$querySelect7","_document$querySelect8","_this4","_linkText$trim2","isOpen","cta","_cta$innerText","childNodesArray","_event$currentTarget","_event$target","_event$currentTarget2","_event$target2","_document$querySelect9","_this5","_filter$map$join$trim2","menuLink","_menuLink$innerText","searchInteraction","_this6","_cta$innerText2","_this7","_cta$innerText3","_this8","button","_filter$map$join$trim3","_event$currentTarget3","_trackNavigationEvents","_trackSolutionsMenuClick","_trackResourcesMenuClick","_trackNavLinksClick","solutionsAnchor","resourcesMenuLink","mobileResourcesMenuLink","_resourcesMenuLink$in","dropdown","_filter$map$join$trim4","matches","action","zoomForNonProfit","getContentTitle","extraPageLoadFields","pageVersion","addCtaLinkClickListener","addShowMoreButtonClickListener","addFAQClickListener","_this$zoomForNonProfi","handleLinkClick","_link$href","_link$innerText","showMoreHideButton","handleShowMoreButtonClick","handleFaqButtonClick","_buttonElement$textCo","isExpanded","faqInteraction","faqSelection","_phoneNumberClick","trackingLocation","_e$target","_e$target2","handleOnCurrencyChange","selectedCountryCode","context","_el$dataset","apiUrl","dataset","apiEndpoint","divId","id","fetch","method","credentials","mode","headers","then","text","pricingCardBasic","_temp$querySelector","outerHTML","callPricingAPI","temp","createElement","newDivId","updatedElement","initSinglePricingComponent","error","initCountryCurrencyFilter","onCountryChange","onCurrencyChange","_regeneratorRuntime","t","r","hasOwnProperty","o","defineProperty","i","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","callInvokeWithMethodAndArg","Error","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","_slicedToArray","isArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","_defineProperties","_toPropertyKey","toPrimitive","String","_toPrimitive","Navigator","_el$querySelector","_classCallCheck","domMap","$searchForm","$searchLabel","$searchInput","$searchClose","$megamenuTriggers","$megamenu","$menuTrigger","$mobileMenu","$menuDropdown","$menuDropdownRestricted","$menuDropdownList","$menuDropdownListRestricted","$menuDropdownJoin","$menuDropdownJoinRestricted","$menuDropdownListJoin","$menuDropdownListJoinRestricted","$menuDropdownWebAppRestricted","$menuDropdownWebAppListRestricted","$mobileMenuList","$megamenuListItems","$mobileMegamenuListItems","$mobileMenuListItems","$isPageWithoutHeader","addListeners","setBlockSizes","initAccordions","detectIcons","detectMobileOverride","detectExpandedMenu","uiObjective","self","focusTrap","createFocusTrap","onActivate","add","onDeactivate","createCookie","clearCmsGuidOnSigninClick","marketVerify","initDataLayerTracking","replaceValidationInviteUrl","trigger","newHandler","eraseCookieByPath","removeEventListener","anchor","lineHeight","parseFloat","getComputedStyle","height","resizeTimeout","_this$domMap","handleMegamenuTriggerClick","megamenu","handleMegamenuFocusout","handleMenuDropdownClick","handleMenuDropdownClickRestricted","handleMenuDropdownWebAppClickRestricted","handleMenuDropdownListFocusout","handleMenuDropdownListFocusoutRestricted","handleMenuDropdownListWebAppFocusoutRestricted","handleMenuDropdownJoinClick","handleMenuDropdownJoinClickRestricted","handleMenuDropdownListJoinFocusout","handleMenuDropdownListJoinFocusoutRestricted","handleMenuTriggerClick","handleSearchSubmit","handleSearchLabelClick","handleSearchInput","handleSearchClose","detectSize","clearTimeout","setTimeout","handleClickOutside","navigationContainerWidth","offsetWidth","leftContentWidth","rightContentWidth","AccordionWidget","_this$domMap2","observer","MutationObserver","mutationsList","_n","F","mutation","attributeName","requestAnimationFrame","scroll","top","behavior","observe","attributes","documentElement","style","setProperty","innerHeight","matchMedia","deactivate","_this$domMap3","hasAttribute","preventDefault","_this$domMap4","searchValue","searchDataUrl","url","_this$domMap5","toggle","isActive","enableBodyScroll","activate","disableBodyScroll","allowTouchMove","_this$domMap6","_this$domMap7","_this$domMap8","relatedTarget","_this$domMap9","_this$domMap10","_this$domMap11","_this$domMap12","_this$domMap13","_this$domMap14","_this$domMap15","_this$domMap16","isDropdownList","isDropdownTrigger","isDropdownListRestricted","isDropdownTriggerRestricted","isDropdownWebAppListRestricted","isDropdownWebAppTriggerRestricted","isDropdownListJoin","isDropdownListJoinRestricted","isDropdownTriggerJoin","isDropdownTriggerJoinRestricted","ismenuDropdownWebAppListRestricted","ismenuDropdownWebAppRestricted","isMegamenuTrigger","cmsGuid","getCookie","fetchOpts","signal","timeout","body","URLSearchParams","cms_guid","getElementById","ok","json","dispatchEvent","CustomEvent","detail","result","pushPageLoadToDataLayer","initBlockVisibility","time","controller","AbortController","abort","marketVerifyResult","marketVerifyObject","zmGlobalMrktKey","processMarketVerifyValue","userRole","rateMrr","assign","productUserType","accountType","accountPlanType","accountChannel","domainType","billingCycle","expirationDate","autoRenew","chargeType","licenseCount","paidStartDate","licenseDiscount","addOns","trackingGuid","visitorGuid","salesChannel","verticalSegment","salesSegment","salesDivision","billingCountry","zoom_id","zmGlobalMrktId","createCookieWithValue","propertyName","Number","isInteger","ad","ac","Math","random","thisCookie","now","threshold","generateId","setCookie","cookieValue","elements","_event$detail","callInviteApi","sid","sId","_ref","_callee","resultUrl","_context","t0","apply","_next","_throw","_x","instance","_el$dataset2","options","iscurrencyfilter","isCurrencyfilter","ensureCurrencyFilterFlag","ddEl","dropDownElement","Dropdown","onChange","code","listenCurrencyChange","getSelectedCountryCode","filterInteractionEvent","filterAppliedInteraction","filterInputs","_handleFilterChange","_trackFilterInteractions","hasEventListener","tagName","filtersApplied","_getAppliedFilters","validFilterKeys","startsWith","selectedFilters","Set","filterInteraction","filtersUsed","appliedFilters","input","filterType","select","searchIntractionEvent","searchValueEvent","searchBarClickIntraction","clearSearchIntraction","coveoSearchLabel","searchBox","clearSearch","resultCount","coveoSearchBox","coveoSearchInput","coveoClearSearch","coveoSearchIcon","coveoSearchPageInput","coveoPageClearSearch","coveoPageSearchIcon","_searchClick","_updateDataLayerWithCardCount","parseInt","searchTermUsed","numResults","_searchClickIntraction","searchBoxClick","_searchValueIntraction","searchElementClick","searchTerm","_searchValueIntractionByPressEnter","keyCode","horizontalTabUiLocation","pillTabUiLocation","tabbedCarouselUiLocation","horizontalTabClickButton","pillTabClickButton","carouselTabClickButton","_TabClick","_horizontalTabClick","_pillTabClick","_carouselTabClick","tabs","_tabContainer$querySe","_targetButton$querySe","tabContainer","horizontalTabTitle","tabTextValue","_tabContainer$querySe2","pillTabTitle","ELEMENT_NODE","_tabContainer$querySe3","carouselTabTitle"],"sourceRoot":""}