1/*! elementor-pro - v3.12.2 - 09-04-2023 */ 2"use strict";(self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[]).push([[495],{9318:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(9928);class MegaMenu extends elementorModules.frontend.handlers.NestedTabs{constructor(){super(...arguments),elementorFrontend.isEditMode()&&(this.lifecycleChangeListener=null),this.resizeListener=null}getDefaultSettings(){const e=super.getDefaultSettings();return e.selectors.menuContainer=".e-n-menu",e.selectors.tabTitle=".e-n-menu-item-title",e.selectors.desktopTabTitle=".e-n-menu-items-heading .e-n-menu-item-title",e.selectors.mobileTabTitle=".e-n-menu-items-content .e-n-menu-item-title",e.selectors.headingContainer=".e-n-menu-items-heading",e.autoExpand=!1,e.autoFocus=!1,e.selectors.dropdownMenuToggle=".e-n-menu-toggle",e.selectors.menuContent=".e-n-menu-items-content",e.selectors.contentContainer=".e-n-menu-items-content .e-con",e}getDefaultElements(){const e=super.getDefaultElements(),t=this.getSettings("selectors");return e.$menuContainer=this.$element.find(t.menuContainer),e.$dropdownMenuToggle=this.$element.find(t.dropdownMenuToggle),e.$menuContent=this.$element.find(t.menuContent),e.$headingContainer=this.$element.find(t.headingContainer),e.$desktopTabTitles=this.$element.find(t.desktopTabTitle),e.$mobileTabTitles=this.$element.find(t.mobileTabTitle),e.$contentContainers=this.$element.find(t.contentContainer),e}dropdownMenuHeightControllerConfig(){const e=this.getSettings("selectors");return{elements:{$element:this.$element,$dropdownMenuContainer:this.$element.find(e.menuContent),$menuToggle:this.$element.find(e.dropdownMenuToggle)},classes:{menuToggleActiveClass:"e-active"},settings:{dropdownMenuContainerMaxHeight:"auto",menuHeightCssVarName:"--n-menu-dropdown-content-box-height"}}}handleContentContainerPosition(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.resetContentContainersPosition(),e=e||this.elements.$contentContainers.filter(".e-active"),e.length&&this.setContentContainerAbsolutePosition(e)}setContentContainerAbsolutePosition(e){const t=this.getElementSettings(),n="fit_to_content"===t.content_width;if((0,i.isMenuInDropdownMode)(t))return;if(n){const t=elementorFrontend.config.is_rtl?"right":"left",n=this.getMenuItemContainerAbsolutePosition(e);this.elements.$menuContent.css(t,n)}const o=this.elements.$headingContainer[0].getBoundingClientRect().height;if(this.shouldPositionContentAbove(e,o)){const t=e[0].getBoundingClientRect();e.css({position:"absolute",bottom:o+ +this.getDistanceFromContentSetting(),width:n?"max-content":"","max-width":t.width})}}getMenuItemContainerAbsolutePosition(e){const t=e.data("content"),n=this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(t))[0].getBoundingClientRect(),i=e[0].clientWidth;let o=null;switch(this.getElementSettings("content_horizontal_position")){case"left":o=this.getLeftDirectionContainerOffset(i,n);break;case"right":o=this.getRightDirectionContainerOffset(i,n);break;default:o=this.getCenteredContainerOffset(i,n)}return o-=this.getMenuContainerOffset(),o}getCenteredContainerOffset(e,t){const n=e/2,i=elementorFrontend.elements.$body[0].clientWidth;let o=this.adjustForScrollbarIfNeeded(t.left+t.width/2);elementorFrontend.config.is_rtl&&(o=i-o);let s=o-n;return o+n>i?s=i-e:n>o&&(s=0),s}getLeftDirectionContainerOffset(e,t){return elementorFrontend.config.is_rtl?this.getRtlLeftDirectionContainerOffset(e,t):this.getLtrLeftDirectionContainerOffset(e,t)}getRtlLeftDirectionContainerOffset(e,t){const n=elementorFrontend.elements.$body[0].clientWidth;let i=n-this.adjustForScrollbarIfNeeded(t.left)-e;return-i+e>n&&(i=0),i}getLtrLeftDirectionContainerOffset(e,t){let n=this.adjustForScrollbarIfNeeded(t.left);return n=this.adjustStartOffsetToViewport(n,e),n}getRightDirectionContainerOffset(e,t){return elementorFrontend.config.is_rtl?this.getRtlRightDirectionContainerOffset(e,t):this.getLtrRightDirectionContainerOffset(e,t)}getRtlRightDirectionContainerOffset(e,t){let n=elementorFrontend.elements.$body[0].clientWidth-this.adjustForScrollbarIfNeeded(t.right);return n=this.adjustStartOffsetToViewport(n,e),n}adjustStartOffsetToViewport(e,t){const n=elementorFrontend.elements.$body[0].clientWidth;return e+t>n&&(e=n-t),e}getLtrRightDirectionContainerOffset(e,t){return e>t.right?0:t.right-e}adjustForScrollbarIfNeeded(e){if(elementorFrontend.config.is_rtl&&elementorFrontend.isEditMode()){e-=window.innerWidth-elementorFrontend.elements.$body[0].clientWidth}return e}
2getMenuContainerOffset(){const e=this.elements.$menuContainer[0].getBoundingClientRect();return elementorFrontend.config.is_rtl?this.getMenuContainerOffsetRtl(e):e.left}getMenuContainerOffsetRtl(e){const t=elementorFrontend.elements.$body[0].clientWidth;let n=t-e.right;if(elementorFrontend.isEditMode()){n+=window.innerWidth-t}return n}resetContentContainersPosition(){this.elements.$contentContainers.css({left:"",right:"",bottom:"",position:"var(--position)","max-width":"",width:"var(--width)"})}getTabContentFilterSelector(e){return`[data-content="${e}"]`}activateTab(e){const t=this.getSettings(),n=t.classes.active,i=t.selectors.tabContent,o=this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(e)),s="show"===t.showTabFn?0:400,r=this.elements.$tabContents.filter(this.getTabContentFilterSelector(e));this.addAnimationToContentIfNeeded(e),r.hasClass(i.replace(".",""))&&(r[t.showTabFn](s,(()=>this.onShowTabContent(r))),o.add(r).addClass(n),r.css({display:"var(--display)"}),r.removeAttr("hidden display"))}deactivateActiveTab(e){super.deactivateActiveTab(e),this.removeAnimationFromContentIfNeeded()}shouldPositionContentAbove(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=e[0].getBoundingClientRect();return this.isContentShorterThanItsTopOffset(n,t)&&this.isContentTallerThanItsBottomOffset(n)}isContentShorterThanItsTopOffset(e,t){return e.height<e.top-t}isContentTallerThanItsBottomOffset(e){return window.innerHeight-e.top<e.height}getDistanceFromContentSetting(){const e=elementorFrontend.getCurrentDeviceMode(),t="desktop"===e?"":"_"+e;return this.getElementSettings("menu_item_title_distance_from_content"+t).size}onShowTabContent(e){this.handleContentContainerPosition(e),super.onShowTabContent(e)}onHideTabContent(e){"absolute"===e.css("position")&&this.resetContentContainersPosition()}changeActiveTab(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const n=this.isActiveTab(e);this.deactivateActiveTab(),(!n||n&&!t)&&this.activateTab(e)}onTabClick(e){e.currentTarget.classList.contains("link-only")||this.changeActiveTab(e.currentTarget.getAttribute("data-tab"),!0)}bindEvents(){this.elements.$desktopTabTitles.on(this.getDesktopTabEvents()),this.elements.$mobileTabTitles.on(this.getTabEvents()),this.elements.$dropdownMenuToggle.on("click",this.onClickToggleDropdownMenu.bind(this)),this.elements.$tabContents.on(this.getTabContentEvents()),elementorFrontend.addListenerOnce(this.getModelCID(),"scroll",elementorFrontend.debounce(this.menuHeightController.reassignMobileMenuHeight.bind(this.menuHeightController),250)),elementorFrontend.elements.$window.on("elementor/nested-tabs/activate",this.reInitSwipers),this.resizeListener=this.handleContentContainerPosition.bind(this),elementorFrontend.elements.$window.on("resize",this.resizeListener),elementorFrontend.isEditMode()&&this.addChildLifeCycleEventListeners()}addChildLifeCycleEventListeners(){this.lifecycleChangeListener=this.handleContentContainerChildrenChanges.bind(this),window.addEventListener("elementor/editor/element-rendered",this.lifecycleChangeListener),window.addEventListener("elementor/editor/element-destroyed",this.lifecycleChangeListener)}removeChildLifeCycleEventListeners(){window.removeEventListener("elementor/editor/element-rendered",this.lifecycleChangeListener),window.removeEventListener("elementor/editor/element-destroyed",this.lifecycleChangeListener)}unbindEvents(){this.elements.$desktopTabTitles.off(),this.elements.$mobileTabTitles.off(),this.elements.$tabContents.off(),elementorFrontend.elements.$window.off("resize",this.resizeListener),elementorFrontend.isEditMode()&&this.removeChildLifeCycleEventListeners()}handleContentContainerChildrenChanges(e){this.isNestedElementRenderedInContentContainer(e.detail.elementView)&&this.handleContentContainerPosition()}isNestedElementRenderedInContentContainer(e){const t=e?.getContainer();if(!t)return!1;return t.getParentAncestry().some((e=>this.getID()===e.model.get("id")))}getDesktopTabEvents(){const e=this.getTabEvents();return this.isNeedToOpenOnClick()?e:this.replaceClickWithHover(e)}getTabContentEvents(){return this.isNeedToOpenOnClick()?{}:{mouseleave:this.onMouseLeave.bind(this)}}isNeedToOpenOnClick(){const e=this.getElementSettings();return this.isEdit||this.isMobileDevice()||"hover"!==e.open_on||"dropdown"===e.item_layout}isMobileDevice(){if(void 0!==elementorFrontend.utils.environment.isTouchDevice)return elementorFrontend.utils.environment.isTouchDevice;return["mobile","mobile_extra","tablet","tablet_extra"].includes(elementorFrontend.getCurrentDeviceMode())}replaceClickWithHover(e){return delete e.click,e.mouseenter=this.onMouseTitleEnter.bind(this),e.mouseleave=this.onMouseLeave.bind(this),e}onMouseTitleEnter(e){e.preventDefault();const t=Array.prototype.slice.call(document.querySelectorAll(":hover"));this.isActiveMenuItem(t)||this.changeActiveTab(e.currentTarget.getAttribute("data-tab"),!0)}isActiveMenuItem(e){return e.some((e=>e.classList.contains("e-active")))}onClickToggleDropdownMenu(e){const t=this.getSettings().classes.active,n=this.elements.$dropdownMenuToggle.hasClass(t);"boolean"!=typeof e&&(e=!n),this.elements.$dropdownMenuToggle.toggleClass(t,e),this.elements.$menuContent.toggleClass(t,e),elementorFrontend.utils.events.dispatch(window,"elementor-pro/mega-menu/dropdown-open"),this.menuHeight
2Controller.reassignMobileMenuHeight()}addAnimationToContentIfNeeded(e){const t=this.getElementSettings("open_animation");if("none"===t)return;this.elements.$tabContents.filter(this.getTabContentFilterSelector(e)).addClass(`animated ${t}`)}removeAnimationFromContentIfNeeded(){const e=this.getElementSettings("open_animation");"none"!==e&&this.elements.$tabContents.removeClass(`animated ${e}`)}isContainingMenuContentTab(e){return e.some((e=>e.classList.contains("e-n-menu-items-content")))}onMouseLeave(e){e.preventDefault();const t=Array.prototype.slice.call(document.querySelectorAll(":hover"));this.isContainingMenuContentTab(t)||this.deactivateActiveTab()}createMobileTabs(){const e=this.getSettings();if(elementorFrontend.isEditMode()){let t=1;const n=this.$element,i=this.findElement(".e-n-menu-items-content");this.findElement(".e-n-menu-items-heading > .e-n-menu-item-title").each((function(){const o=n.find(`${e.selectors.headingContainer} > *:nth-child( ${t})`).clone().removeClass("e-normal").addClass("e-collapse");if(n.find(`#${o[0].id}.e-collapse`).length>0)return;i.append(o);const s=n.find(`.e-con[data-content="${t}"]`);s[0]&&s.insertAfter(n.find(`.e-n-menu-items-content > .e-collapse[data-tab="${t}"]`)),t++}))}}onInit(){this.menuHeightController=new elementorProFrontend.utils.DropdownMenuHeightController(this.dropdownMenuHeightControllerConfig()),super.onInit(...arguments)}getPropsThatTriggerContentPositionCalculations(){return["content_horizontal_position","content_position","item_position_horizontal","content_width","item_layout"]}onElementChange(e){this.getPropsThatTriggerContentPositionCalculations().includes(e)&&this.handleContentContainerPosition()}onEditSettingsChange(e,t){this.getSettings().autoFocus&&super.onEditSettingsChange(e,t)}}t.default=MegaMenu},9928:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMenuInDropdownMode=function isMenuInDropdownMode(e){if("dropdown"===e.item_layout)return!0;const t=elementorFrontend.breakpoints.getActiveBreakpointsList({withDesktop:!0}),n=t.indexOf(e.breakpoint_selector);return t.indexOf(elementorFrontend.getCurrentDeviceMode())<=n}}}]);
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.