1(function($) {window.ZionBuilderFrontend = {scripts:{},registerScript:function (scriptId, scriptCallback) {this.scripts[scriptId] = scriptCallback;},getScript(scriptId) {return this.scripts[scriptId]},unregisterScript:function(scriptId) {delete this.scripts[scriptId];},run:function() {var that = this;var $scope = document;Object.keys(this.scripts).forEach(function(scriptId) {var scriptObject = that.scripts[scriptId];scriptObject.run( $scope );})}};(function() { "use strict"; const frontend = ""; function openAccordion(element) { const isHidden = window.getComputedStyle(element).display; if ("none" === isHidden) { element.style.display = "block"; const height = element.offsetHeight; element.style.overflow = "hidden"; element.style.height = "0"; element.style.paddingTop = "0"; element.style.paddingBottom = "0"; element.style.marginTop = "0"; element.style.marginBottom = "0"; element.style.transitionProperty = "height, margin, padding"; element.style.transitionDuration = "500ms"; window.requestAnimationFrame(() => { element.style.height = height + "px"; element.style.removeProperty("display"); element.style.removeProperty("padding-top"); element.style.removeProperty("margin-top"); element.style.removeProperty("padding-bottom"); element.style.removeProperty("margin-bottom"); }); setTimeout(() => { element.style.removeProperty("height"); element.style.removeProperty("overflow"); element.style.removeProperty("transition-duration"); element.style.removeProperty("transition-property"); }, 500); } } function closeAccordion(element) { const height = element.offsetHeight; element.style.transitionProperty = "height, margin, padding"; element.style.transitionDuration = "500ms"; element.style.height = height + "px"; element.style.display = "block"; element.style.position = "static"; window.requestAnimationFrame(() => { element.style.overflow = "hidden"; element.style.height = "0"; element.style.paddingTop = "0"; element.style.paddingBottom = "0"; element.style.marginTop = "0"; element.style.marginBottom = "0"; }); setTimeout(() => { element.style.removeProperty("position"); element.style.removeProperty("height"); element.style.removeProperty("display"); element.style.removeProperty("overflow"); element.style.removeProperty("transition"); element.style.removeProperty("padding-top"); element.style.removeProperty("padding-bottom"); element.style.removeProperty("margin-top"); element.style.removeProperty("margin-bottom"); element.style.removeProperty("transition-duration"); element.style.removeProperty("transition-property"); }, 500); } function menu(element) { if (!element) { return; } if (element.dataset.zbMenuEnabled === "true") { return; } const window2 = element.ownerDocument.defaultView; const config = typeof element.dataset.zbMenu !== "undefined" ? JSON.parse(element.dataset.zbMenu) :false; const centeredItems = Array.from(element.querySelectorAll(".zb-menuPosition--centered")); const fullWidthMenus = Array.from(element.querySelectorAll(".zb-menuWidth--full")); const mobileMenuTrigger = element.querySelector(".js-zb-mobile-menu-trigger"); const menuContainer = element.querySelector(".zb-menu-container"); let mobileMenuEnabled = false; if (!menuContainer) { return; } element.zbMenu = { destroy }; element.dataset.zbMenuEnabled = "true"; function enableDesktopMenu() { centeredItems.forEach((child) => { child.addEventListener("mouseover", repositionSubmenu); }); fullWidthMenus.forEach((child) => { child.addEventListener("mouseover", setMaxWidth); }); } function disableDesktopMenu() { centeredItems.forEach((child) => { child.removeEventListener("mouseover", repositionSubmenu); }); fullWidthMenus.forEach((child) => { child.removeEventListener("mouseover", setMaxWidth); });
1 centeredItems.forEach((child) => { var _a; (_a = child.querySelector(".sub-menu")) == null ? void 0 :_a.style.removeProperty("left"); }); fullWidthMenus.forEach((child) => { var _a; (_a = child.querySelector(".sub-menu")) == null ? void 0 :_a.style.removeProperty("max-width"); }); } function setMaxWidth() { this.style.maxWidth = `${window2.innerWidth}px`; } function repositionSubmenu() { const subMenu = this.querySelector(":scope > .sub-menu"); const listItemSize = this.getBoundingClientRect(); const menuLeftOffset = listItemSize.left; const windowSize = window2.innerWidth / 2; const newLeft = windowSize - menuLeftOffset - subMenu.getBoundingClientRect().width / 2; subMenu.style.left = `${newLeft}px`; } function onBrowserResize() { if (window2.innerWidth <= config.breakpoint) { enableMobileMenu(); disableDesktopMenu(); if (mobileMenuEnabled && config.mobile_menu_full_width) { setMobileMenuLeft(); } } else { enableDesktopMenu(); disableMobileMenu(); } } function enableMobileMenu() { if (!mobileMenuEnabled) { element.classList.add("zb-menu-mobile--active"); enableAccordionMenu(); mobileMenuEnabled = true; if (config.mobile_menu_close_on_click) { const menuItems = Array.from(element.querySelectorAll("a")); console.log(menuItems); menuItems.forEach((item) => { var _a; const hasChild = (_a = item.parentElement) == null ? void 0 :_a.querySelector(".sub-menu"); if (!hasChild) { item.addEventListener("click", () => { closeMobileMenu(); }); } }); } } } function disableMobileMenu() { if (mobileMenuEnabled) { element.classList.remove("zb-menu-mobile--active"); element.classList.remove("zb-menu-trigger--active"); menuContainer.style.left = ""; disableAccordionMenu(); mobileMenuEnabled = false; } } function onAccordionItemClick(event) { var _a; const hasChild = (_a = this.parentElement) == null ? void 0 :_a.querySelector(".sub-menu"); if (hasChild) { event.preventDefault(); if (!hasChild.classList.contains("zb-menu--item--expand")) { openAccordion(hasChild); hasChild.classList.add("zb-menu--item--expand"); } else { closeAccordion(hasChild); hasChild.classList.remove("zb-menu--item--expand"); } } } function enableAccordionMenu() { const menuLinks = Array.from( element.querySelectorAll(".menu-item-has-children > .menu-link") ); menuLinks.forEach((menuLink) => menuLink.addEventListener("click", onAccordionItemClick)); } function disableAccordionMenu() { const menuLinks = Array.from( element.querySelectorAll(".menu-item-has-children > .menu-link") ); menuLinks.forEach((menuLink) => menuLink.removeEventListener("click", onAccordionItemClick)); const expandedMenus = Array.from(element.querySelectorAll(".zb-menu--item--expand")); expandedMenus.forEach((expandedMenu) => { expandedMenu.classList.remove("zb-menu--item--expand"); }); } function toggleMobileMenu(event) { event.preventDefault(); event.stopPropagation(); if (!element.classList.contains("zb-menu-trigger--active")) { openMobileMenu(); } else { closeMobileMenu(); } } function openMobileMenu() { element.classList.add("zb-menu-trigger--active"); if (config.mobile_menu_full_width) { setMobileMenuLeft(); } } function closeMobileMenu() { element.classList.remove("zb-menu-trigger--active"); menuContainer.style.left = ""; } function setMobileMenuLeft() { const elementRect = element.getBoundingClientRect(); const leftOffset = elementRect.left; menuContainer.style.left = `-${leftOffset}px`; } function destroy() { window2.removeEventListener("resize", onBrowserResize); mobileMenuTrigger == null ? void 0 :mobileMenuTrigger.removeEventListener("click", toggleMobileMenu); window2.removeEventListener("click", maybePreventDefault); } function maybePreventDefault(event) { const target = event.target; if (target.matches('a.main-menu-link[href="#"]')) { event.preventDefault(); } } window2.addEventListener("resize", onBrowserResize); mobileMenuTrigger == null ? void 0 :mobileMenuTrigger.addEventListener("click", toggleMobileMenu); window2.addEventListener("click", maybePreventDefault); onBrowserResize(); if (config.vertical_submenu_style === "accordion") { enableAccordionMenu(); } return { destroy }; } const elements = Array.from(document.querySelectorAll(".zb-menu"));
1 elements.forEach((element) => { menu(element); }); window.zbScripts = window.zbScripts || {}; window.zbScripts.menu = menu;})();window.ZionBuilderFrontend.run();})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.