1const a={titleClass:".js-tab-title",panelClass:".js-tab-panel"},n={activeClass:"is-active"};class c extends window.HTMLElement{constructor(){super(),this.eventListeners=[]}connectedCallback(){this.initializeTabList()}disconnectedCallback(){this.cleanup()}cleanup(){this.eventListeners.forEach(({element:e,event:t,handler:s})=>{e.removeEventListener(t,s)}),this.eventListeners=[]}addEventListenerWithCleanup(e,t,s){e.addEventListener(t,s),this.eventListeners.push({element:e,event:t,handler:s})}initializeTabList(){this.titleEls=this.querySelectorAll(a.titleClass),this.panelEls=this.querySelectorAll(a.panelClass),!(!this.titleEls.length||!this.panelEls.length||this.titleEls.length!==this.panelEls.length)&&(this.titleEls.forEach((e,t)=>{e.setAttribute("tabindex",t===0?"0":"-1"),e.setAttribute("role","tab"),e.setAttribute("aria-selected",t===0?"true":"false"),e.id=`tab-${t}`,t===0&&e.classList.add(n.activeClass);const s=this.panelEls[t];s.setAttribute("role","tabpanel"),s.setAttribute("aria-labelledby",e.id),s.hidden=t!==0}),this.addEventListeners())}addEventListeners(){this.titleEls.forEach((e,t)=>{const s=()=>this.activateTab(t),i=l=>this.onKeyDown(l,t);this.addEventListenerWithCleanup(e,"click",s),this.addEventListenerWithCleanup(e,"keydown",i)})}activateTab(e){if(this.titleEls.forEach((t,s)=>{const i=s===e;t.setAttribute("aria-selected",i),t.setAttribute("tabindex",i?"0":"-1"),t.classList.toggle(n.activeClass,i);const l=this.panelEls[s];l.hidden=!i}),window.innerWidth>=1024){const s=(window.pageYOffset||document.documentElement.scrollTop)>40?40:0;window.scrollTo({top:s})}}onKeyDown(e,t){switch(e.key){case"ArrowUp":this.activateTab((t-1+this.titleEls.length)%this.titleEls.length),this.titleEls[(t-1+this.titleEls.length)%this.titleEls.length].focus();break;case"ArrowDown":this.activateTab((t+1)%this.titleEls.length),this.titleEls[(t+1)%this.titleEls.length].focus();break}}}window.customElements.define("tab-list",c);
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.