1 line
6.8 KiB
JavaScript
1 line
6.8 KiB
JavaScript
|
|
(function(){"use strict";window.KBTabs={setupTabs(){const a=document.querySelectorAll(".kt-tabs-wrap");a.forEach(a=>{if(!a.classList.contains("initialized")){const b=a.querySelectorAll(":scope > .kt-tabs-title-list li");b.forEach(b=>{const c=b.querySelector("a"),d=c.getAttribute("data-tab"),e=a.querySelector(":scope > .kt-tabs-content-wrap > .kt-inner-tab-"+d);e||b.remove()});const c=a.querySelectorAll(":scope > .kt-tabs-title-list"),d=a.querySelectorAll(":scope > .kt-tabs-title-list > li"),e=a.querySelectorAll(":scope > .kt-tabs-title-list > li > a"),f=a.querySelectorAll(":scope > .kt-tabs-content-wrap > .kt-tab-inner-content"),g=a?.dataset?.noAllowMultipleOpen;c.forEach(a=>{a.setAttribute("role","tablist")}),f.forEach(a=>{a.setAttribute("role","tabpanel"),a.setAttribute("aria-hidden","true")}),e.forEach(b=>{const c=b.parentElement,d=c.getAttribute("id"),e=c.classList.contains("kt-tab-title-active"),f=c.classList.contains("kt-tabs-accordion-title"),g=b.getAttribute("data-tab"),h=a.querySelector(":scope > .kt-tabs-content-wrap > .kt-inner-tab-"+g);f?b.setAttribute("aria-selected",!!e):(h&&h.setAttribute("aria-labelledby",d),c.setAttribute("role","presentation"),b.setAttribute("role","tab"),b.setAttribute("aria-controls",d),b.setAttribute("tabindex",e?"0":"-1")),h&&h.setAttribute("aria-hidden",e?"false":"true"),e&&h&&(h.style.display="block")});let h=!1;d.forEach(a=>{a.addEventListener("keydown",function(b){switch(b.which){case 32:b.preventDefault(),a.querySelector("a").click();break;case 37:a.previousElementSibling?a.previousElementSibling.querySelector("a").click():a.parentElement.querySelector("li:last-of-type > a").click();break;case 39:a.nextElementSibling?a.nextElementSibling.querySelector("a").click():a.parentElement.querySelector("li:first-of-type > a").click()}}),a.classList.contains("kt-tab-title-active")&&(h=!0)}),h||window.KBTabs.setActiveAccordion(void 0,e?.[0],g);const i=new Event("resize");window.dispatchEvent(i),e.forEach(a=>{a.addEventListener("click",function(b){b.preventDefault();const c=a.getAttribute("data-tab"),d=a.closest(".kt-tabs-wrap");window.KBTabs.setActiveTab(d,c)})}),a.classList.contains("kt-create-accordion")&&a.querySelectorAll(":scope > .kt-tabs-title-list > .kt-title-item").forEach(a=>{const b=a.querySelector("a").getAttribute("data-tab"),c=a.classList,d=a.closest(".kt-tabs-wrap"),e=d.querySelector(":scope > .kt-tabs-content-wrap"),f=window.document.createElement("div");f.className=[...c].concat(["kt-tabs-accordion-title","kt-tabs-accordion-title-"+b]).join(" "),f.innerHTML=a.innerHTML,e.insertBefore(f,e.querySelector(":scope > .kt-inner-tab-"+b)),e.querySelector(":scope > .kt-tabs-accordion-title-"+b+" a").removeAttribute("role"),e.querySelector(":scope > .kt-tabs-accordion-title-"+b+" a").removeAttribute("tabindex")});const j=a.querySelectorAll(":scope > .kt-tabs-content-wrap > .kt-tabs-accordion-title > a");j.forEach(a=>{a.addEventListener("click",function(b){window.KBTabs.setActiveAccordion(b,a,g)})}),a.classList.add("initialized")}}),window.KBTabs.setActiveWithHash()},setActiveWithHash(){if(""==window.location.hash)return;const a=window.document.querySelector(window.location.hash+".kt-title-item");if(!a)return;const b=window.document.querySelector("#"+window.location.hash.substring(1)),c=b.querySelector("a").getAttribute("data-tab"),d=b.closest(".kt-tabs-wrap");window.KBTabs.setActiveTab(d,c),window.KBTabs.isMobileSize()&&d.classList.contains("kt-tabs-mobile-layout-accordion")||window.KBTabs.isTabletSize()&&d.classList.contains("kt-tabs-tablet-layout-accordion")?d.querySelector(".kt-tabs-content-wrap > .kt-tabs-accordion-title.kt-tabs-accordion-title-"+c).scrollIntoView({behavior:"smooth"}):d.classList.contains("kt-tabs-layout-vtabs")&&d.querySelector(".kt-tabs-content-wrap").scrollIntoView({behavior:"smooth"})},isMobileSize(){return 767>=window.innerWidth},isTabletSize(){return 767<window.innerWidth&&1024>=window.innerWidth},setActiveAccordion(a,b,c){a?.preventDefault();const d=b.getAttribute("data-tab"),e=b.parentElement,f=b.closest(".kt-tabs-wrap"),g=f.querySelector(":scope > .
|