PageSourceSearch

https://www.lov2030.be/frontend/tabs.component-1mW6BQk0.js

js lov2030.be collected 2026-10-02 06:10:04 UTC 2,437 bytes, 1 lines download raw bytes

1class b{constructor(){const t=document.querySelectorAll("ul.js-tabs");Array.from(t).forEach((s,r)=>{s.classList.contains("js-tabs-initialized")||new c(s,r)})}}class c{constructor(t,s){this.buttons=new Array,this.panels=new Array,this.updateHash=!1,this.keys={up:38,left:37,right:39,down:40},this.tabsEl=t,this.tabsEl.classList.add("js-tabs-initialized"),this.updateHash=this.tabsEl.hasAttribute("data-update-hash");const r=this.tabsEl.querySelectorAll("button");Array.from(r).forEach((e,l)=>{const h=e.getAttribute("data-panel");e.setAttribute("id",`tabs${s}-label-${l}`),e.setAttribute("role","tab"),e.setAttribute("aria-setsize",`${r.length}`),e.setAttribute("aria-posinset",`${l+1}`),e.setAttribute("tabindex","-1"),e.setAttribute("aria-controls",h),e.setAttribute("aria-selected","false"),e.addEventListener("click",this.onClick.bind(this)),e.addEventListener("keydown",this.onKeyDown.bind(this)),this.buttons.push(e);const i=document.querySelector(`#${h}`);i.classList.add("hidden"),i.setAttribute("role","tabpanel"),i.setAttribute("aria-labelledby",`tabs${s}-label-${l}`),i.setAttribute("tabindex","-1"),this.panels.push(i);const n=this.tabsEl.getAttribute("data-first-tab");(n&&parseInt(n)===l||!n&&l===0)&&(i.classList.remove("hidden"),e.setAttribute("aria-selected","true"),e.setAttribute("tabindex","0"),this.activeButton=e)});let a=window.location.hash;if(a){a=a.substr(1,a.length-1);const e=document.querySelector(`button[role=tab][data-panel=${a}]`);e&&this.activateTab(e)}}onClick(t){t.preventDefault();const s=t.target;this.activateTab(s)}activateTab(t){this.buttons.forEach(a=>{a.setAttribute("aria-selected","false"),a.setAttribute("tabindex","-1")}),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),t.focus(),this.activeButton=t,this.panels.forEach(a=>{a.classList.add("hidden")});const s=t.getAttribute("data-panel");document.querySelector(`#${s}`).classList.remove("hidden"),this.updateHash&&(window.location.hash=s)}goToPrevTab(){let t=this.buttons.indexOf(this.activeButton);t--,t<0&&(t=this.buttons.length-1),this.activateTab(this.buttons[t])}goToNextTab(){let t=this.buttons.indexOf(this.activeButton);t++,t>=this.buttons.length&&(t=0),this.activateTab(this.buttons[t])}onKeyDown(t){switch(t.keyCode){case this.keys.left:case this.keys.up:t.preventDefault(),this.goToPrevTab();break;case this.keys.right:case this.keys.down:t.preventDefault(),this.goToNextTab();break}}}export{b as default};

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.