PageSourceSearch

https://www.uvh.nl/wp-content/themes/universiteit-voor-humanistiek/dist/slider-with-tabs-BmHdaFpZ.js

js uvh.nl collected 2026-10-02 03:44:11 UTC 2,460 bytes, 1 lines download raw bytes

1class d{constructor(t){this.handleResize=()=>{this.scrollWidth=this.track.scrollWidth,this.scrollPart=this.scrollWidth/this.slides.length},this.scrollFinished=()=>{this.scrollTimer=null},this.selectCurrentSlide=()=>{this.tabs.forEach((i,e)=>{e===this.currentSlide?(i.setAttribute("aria-selected","true"),i.removeAttribute("tabindex")):(i.setAttribute("aria-selected","false"),i.setAttribute("tabindex","-1"))}),this.slides.forEach((i,e)=>{e===this.currentSlide?i.setAttribute("aria-hidden","false"):i.setAttribute("aria-hidden","true")})},this.scrollToCurrentSlide=()=>{this.scrollTimer&&clearTimeout(this.scrollTimer),this.scrollTimer=setTimeout(()=>{this.scrollFinished()},700),this.track.scrollLeft=this.currentSlide*this.scrollPart},this.element=t,this.track=t.querySelector(".js-track"),this.slides=[...t.querySelectorAll(".js-slide")],this.tabList=t.querySelector(".js-tablist"),this.tabs=[...t.querySelectorAll(".js-tab")],this.scrollWidth=this.track.scrollWidth,this.scrollPart=this.scrollWidth/this.slides.length,this.currentSlide=0,this.scrollTimer=null,this.initialize()}initialize(){this.addEventListeners()}
1addEventListeners(){this.tabs.forEach((t,i)=>{t.addEventListener("click",()=>{this.currentSlide=i,this.selectCurrentSlide(),this.scrollToCurrentSlide()}),t.addEventListener("keydown",e=>{const l=document.querySelectorAll('a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])'),h=[...l].indexOf(e.target);if(h!==-1){e.preventDefault();let s;if(e.key==="Tab"&&!e.shiftKey)for(s=h+1;s<l.length;){const r=l[s];if(!r.hasAttribute("role")||r.getAttribute("role")!=="tab"){r.focus();break}s++}else if(e.key==="Tab"&&e.shiftKey)for(s=h-1;s>=0;){const r=l[s];if(!r.hasAttribute("role")||r.getAttribute("role")!=="tab"){r.focus();break}s--}}})}),this.tabList.addEventListener("keydown",t=>{t.key!=="ArrowRight"&&t.key!=="ArrowLeft"||(t.key==="ArrowRight"&&(this.currentSlide++,this.currentSlide>=this.tabs.length&&(this.currentSlide=0)),t.key==="ArrowLeft"&&(this.currentSlide--,this.currentSlide<0&&(this.currentSlide=this.tabs.length-1)),this.tabs[this.currentSlide].focus(),this.selectCurrentSlide(),this.scrollToCurrentSlide())}),this.track.addEventListener("scroll",()=>{if(this.scrollTimer)return;const t=Math.round(this.track.scrollLeft/this.scrollPart);t!==this.currentSlide&&(this.currentSlide=t,this.selectCurrentSlide())}),window.addEventListener("resize",this.handleResize),this.selectCurrentSlide()}}export{d 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.