PageSourceSearch

https://bibles.com/cdn/shop/t/5/assets/tab-panel.js?v=146157681193020762751701701724

js bibles.com collected 2026-10-02 10:53:01 UTC 2,224 bytes, 1 lines download raw bytes

1class TabPanel extends HTMLElement{constructor(){super(),this.tabFocus=0,this.enterKey=!1,this.getURL=new URL(window.location.href),this.tabsList=this.querySelector('[role="tablist"]'),this.tabsListItems=this.querySelectorAll('[role="tab"]'),this.tabsListAccordion=this.querySelectorAll('[role="presentation"]'),this.tabsContentItems=this.querySelectorAll('[role="tabpanel"]'),this.init()}init(){this.setParamUrlHandler(),this.tabsListItems.forEach(t=>{t.addEventListener("click",this.tabPanelHandler.bind(this))}),this.tabsList.addEventListener("keyup",this.keyboardHandler.bind(this))}keyboardHandler(t){t.preventDefault(),t.key===DEFAULTS.codes.enter&&(this.enterKey=!0,this.tabPanelHandler(t)),t.shiftKey&&t.key===DEFAULTS.codes.tab&&this.enterKey&&(this.enterKey=!1,this.tabPanelHandler(t))}setParamUrlHandler(){var t=this.getURL.search.includes("tab"),e=this.getURL.searchParams.get("tab");t&&this.setCurrentTabHandler(e)}addParamToURLHandler(t){var e=new URL(window.location.href);e.searchParams.set("tab",t),history.pushState("","",e.search)}setCurrentTabHandler(t){var e=document.getElementById("tab-"+t);this.tabsListItems.forEach(t=>{t.classList.remove(DEFAULTS.actions.isActive),t.setAttribute("aria-selected",!1),t.setAttribute("tabindex",0),this.enterKey&&t.setAttribute("tabindex",-1)}),[].forEach.call(this.tabsContentItems,t=>{t.classList.remove(DEFAULTS.actions.isActive)}),this.enterKey&&e.setAttribute("tabindex","0"),e.setAttribute("aria-selected","true"),e.classList.add(DEFAULTS.actions.isActive),document.getElementById(t).classList.add(DEFAULTS.actions.isActive),this.accordionHandler(e)}tabPanelHandler(t){var e="keyup"===t.type,s=t.target.getAttribute("aria-controls"),t=t.currentTarget.getAttribute("aria-controls"),e=e?s:t;this.setCurrentTabHandler(e),this.addParamToURLHandler(e)}accordionHandler(t){t=t.nextElementSibling;"presentation"===t?.getAttribute("role")&&([].forEach.call(this.tabsListAccordion,t=>{t.classList.remove(DEFAULTS.actions.isActive),t.setAttribute("aria-expanded",!1)}),1<=window.navigator.maxTouchPoints&&window.scrollTo(0,this.offsetTop-200),t.classList.add(DEFAULTS.actions.isActive),t.setAttribute("aria-expanded","true"))}}customElements.define("tab-panel",TabPanel);

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.