OwlCyberSecurity - MANAGER
Edit File: n-tabs.min.js
!function(e,t){"use strict";class n extends elementorModules.frontend.handlers.Base{getDefaultSettings(){const e=this.getID();return{isInPopup:!!this.$element.closest(".elementor-location-popup").length,isAccordion:this.$element.hasClass("lakit-ntabs-type--accordion"),active_class:"e-active",selectors:{tabs:".lakit-ntabs",control:".lakit-ntabs-heading",controlItem:".lakit-ntab-title:not(.clone--item)",content:".lakit-ntabs-content",contentItem:".lakit-ntab-content-"+e,cControlItem:".lakit-ntab-title.e-collapse"}}}_debounce(e,t=100){let n;return s=>{n&&clearTimeout(n),n=setTimeout(e,t,s)}}getDefaultElements(){const t=this.getSettings("selectors"),n={$tabs:this.$element.find(t.tabs).first(),$control:this.$element.find(t.control).first(),$content:this.$element.find(t.content).first()};return n.$selectBoxWrap=e(".ntabs-selectbox--wrap",n.$control),n.$selectBoxControl=e(".ntabs-selectbox--label",n.$selectBoxWrap),n.$controlItem=e(t.controlItem,n.$control),n.$cControlItem=e(t.cControlItem,n.$content),n.$contentItem=e(t.contentItem,n.$content),n}bindEvents(){this.elements.$controlItem.on("click",this.onControlItemClick.bind(this)),this.elements.$cControlItem.on("click",this.onCollapseControlItemClick.bind(this)),this.elements.$controlItem.first().trigger("click",[!0,this.getSettings("isAccordion")]),this.elements.$cControlItem.first().trigger("click",[!0,this.getSettings("isAccordion")]),this.elements.$selectBoxControl.on("click",this.onSelectBoxControlClick.bind(this)),this.onCanChangeToSelectBox(!1),window.addEventListener("resize",this._debounce((()=>this.onCanChangeToSelectBox(!0)))),window.addEventListener("hashchange",this.onHashChange.bind(this)),document.addEventListener("click",this.onSelectBoxClose.bind(this)),this.onHashChange(),window.addEventListener("scroll",this.detectSticky.bind(this)),this._autoCenterTab()}_autoCenterTab(){const e=this.getElementSettings("breakpoint_selector"),t=this.getElementSettings("tab_as_selectbox");this.getSettings("isAccordion")||e&&"none"!==e||t&&"yes"===t?this.elements.$tabs.removeClass("etab--overflow"):this.elements.$tabs.addClass("etab--overflow")}onCollapseControlItemClick(e){e.preventDefault(),this._handleClickControl(e,!1,!0)}onControlItemClick(e){const t=e.currentTarget,n=t.parentElement,s=t.offsetWidth,i=n.offsetWidth,l=t.offsetLeft-i/2+s/2;n.scrollTo({left:l,behavior:"smooth"}),this._handleClickControl(e,!1,!1)}_handleClickControl(n,s,i){n.preventDefault();const l=this.getElementSettings("tab_as_selectbox");let o=this.getSettings("active_class"),a=e(n.currentTarget),r=a.data("tabindex")-1;if("yes"===l&&this.elements.$selectBoxWrap.removeClass("e-open"),this.elements.$tabs.hasClass("e-active-selectbox")&&this.elements.$control.toggleClass("e-open"),a.hasClass(o))return;if(!this.getSettings("isInPopup")&&!s&&!i&&this.elements.$control.hasClass("e--sticky")){let n=this.elements.$tabs.offset().top-100;e(".lakit-site-wrapper").hasClass("lakit--is-vheader")||(n-=parseInt(document.documentElement.style.getPropertyValue("--lakit-header-height")||0)),t.elements.$wpAdminBar.length>0&&(n-=t.elements.$wpAdminBar.height()),e("html,body").animate({scrollTop:n},300)}this.elements.$controlItem.each(((t,n)=>{t!==r?e(n).removeClass(o):e(n).addClass(o)})),this.elements.$cControlItem.each(((t,n)=>{t!==r?(i?setTimeout((()=>e(n).removeClass(o)),300):e(n).removeClass(o),n.setAttribute("aria-selected","false"),n.setAttribute("tabindex","-1")):(e(n).addClass(o),n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0"))})),this.elements.$contentItem.each(((t,n)=>{t!==r?(e(n).removeClass(o),i&&e(">.elementor-element",e(n)).slideUp({duration:300})):(i&&e(">.elementor-element",e(n)).slideDown({duration:300,start:()=>e(">.elementor-element",e(n)).css("display","flex")}),e(n).addClass(o))}));let c=this.elements.$contentItem.eq(r);if(e(".slick-slider",c).length>0)try{e(".slick-slider",c).slick("setPosition")}catch(e){}if(e(".swiper-container",c).length>0)try{e(".swiper-container",c).data("swiper").resize.resizeHandler()}catch(e){}if(e(".lakit-masonry-wrapper",c).trigger("resize"),"yes"===l){let t=a.clone();t.removeAttr("id"),t.addClass("clone--item"),e(".ntabs-selectbox--label .lakit-ntab-title",this.elements.$control).replaceWith(t)}e(document).trigger("lastudio-kit/active-tabs",[c])}onSelectBoxControlClick(e){e.preventDefault(),this.elements.$selectBoxWrap.toggleClass("e-open")}onSelectBoxClose(t){e(t.target).closest(this.elements.$selectBoxWrap).length||this.elements.$selectBoxWrap.removeClass("e-open")}onElementChange(t){"tab_type"===t&&e(">.elementor-element",this.elements.$contentItem).removeAttr("style")}onCanChangeToSelectBox(e){const n=this.getElementSettings("breakpoint_selector"),s=this.getElementSettings("sticky_breakpoint");if(n&&"none"!==n){let e=t.breakpoints.responsiveConfig.breakpoints[n].value+1;window.innerWidth<e?this.elements.$tabs.addClass("e-active-selectbox"):this.elements.$tabs.removeClass("e-active-selectbox")}if(s&&"none"!==s)if("all"===s)this.elements.$control.addClass("e--sticky");else{let e=t.breakpoints.responsiveConfig.breakpoints[s].value+1;window.innerWidth<e?this.elements.$control.addClass("e--sticky"):this.elements.$control.removeClass("e--sticky")}e&&this.elements.$contentItem.css("display","")}onHashChange(){let e=window.location.hash.split("#").filter((e=>""!==e&&document.querySelector("#"+e+".lakit-ntab-title")));e.length>0&&e.map((e=>jQuery("#"+e).trigger("click").closest(".lakit-ntabs-heading").removeClass("e-open")))}detectSticky(e){const t=this.elements.$control.get(0);if(t){let e=parseInt(getComputedStyle(t).top);t?.getBoundingClientRect()?.top===e?t.classList.add("e-sticky--activated"):t.classList.remove("e-sticky--activated")}}onInit(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.createMobileTabs(t),super.onInit(...t)}createMobileTabs(e){const n=this.getSettings(),s=this.getID();if(t.isEditMode()){const t=this.$element,i=this.findElement(".e-collapse").remove();let l=1;if(this.findElement(".e-con").each((function(){const e=jQuery(this),i=t.find(`${n.selectors.control} > *:nth-child(${l})`),o=`<div class="lakit-ntab-title e-collapse lakit-ntab-controlid-${s}" data-tabindex="${l}" data-tab="${l}" role="tab">${i.html()}</div>`;0===e.parent(".lakit-ntabs-content-item").length&&e.wrap(`<div class="lakit-ntabs-content-item lakit-ntab-content-${s}"/>`),e.before(o),++l})),i.length)return elementorModules.ViewModule.prototype.onInit.apply(this,e)}}onEditSettingsChange(e){if("activeItemIndex"===e){const{isAccordion:e}=this.getDefaultSettings(),t=this.getEditSettings("activeItemIndex")-1;this.elements.$controlItem.eq(t).trigger("click",[!0,e]),this.elements.$cControlItem.eq(t).trigger("click",[!0,e])}}}e(window).on("elementor/frontend/init",(()=>{t.hooks.addAction("frontend/element_ready/lakit-nested-tabs.default",(e=>{t.elementsHandler.addHandler(n,{$element:e})}))}))}(jQuery,window.elementorFrontend);