1/* 2 * Copyright © 2026 Regular Labs - All Rights Reserved 3 * GNU General Public License version 2 or later 4 */ 5'use strict';import{Helper}from'./modules/helper.min.js?3.2.0';import{Set}from'./modules/set.min.js?3.2.0';import{PageScroller}from'./modules/page_scroller.min.js?3.2.0';(function(){window.RegularLabs=window.RegularLabs||{};RegularLabs.TabsAccordions={init:function(settings){this.createSets(settings);this.handleAnchorLinks();this.scrollToNestedAnchor();},createSets:function(settings){document.querySelectorAll('[data-rlta-element="container"]').forEach(container=>{container.rlta=new Set(container,settings);});},handleAnchorLinks:function(){const urlWithoutHash=window.location.href.split('#')[0];const selectors=['a[href^="#"]','a[href^="/#"]','a[href^="'+urlWithoutHash+'#"]','a[href^="'+urlWithoutHash+'/#"]',];document.querySelectorAll(selectors.join(',')).forEach(link=>{this.handleAnchorLink(link);});},handleAnchorLink:function(link){if(link.target){return;} 6const hash_id=decodeURIComponent(link.hash.replace('#','')).trim();const item_anchor=this.getItemAndAnchorById(hash_id);const item=item_anchor[0];const anchor=item_anchor[1];if(item===null){return;} 7if(!item){setTimeout(()=>{this.handleAnchorLink(link);},100);return;} 8link.addEventListener('click',(event)=>{event.preventDefault();this.scrollToItem(item,anchor);});},open:async function(button,scroll,set_hash=true){button=Helper.getButtonByMixed(button);return new Promise(async(resolve)=>{if(!button){resolve();return;} 9if(scroll===undefined){scroll=button.rlta.item.set.settings.scrollOnLinks;} 10await button.rlta.item.open({scroll:scroll,hash:set_hash});resolve();});},close:function(button){button=Helper.getButtonByMixed(button);if(!button){return;} 11button.rlta.item.close();},toggle:function(button,scroll){button=Helper.getButtonByMixed(button);if(!button){return;} 12if(scroll===undefined){scroll=button.rlta.item.set.settings.scrollOnLinks;} 13button.rlta.item.toggle(scroll);},closeAll:function(parent){parent=Helper.getParentByMixed(parent);const buttons=parent.querySelectorAll('[data-rlta-element="button"]');buttons.forEach(button=>{if(button&&button.rlta!==undefined){button.rlta.item.close();}});},openAll:function(parent){parent=Helper.getParentByMixed(parent);const sets=parent.querySelectorAll('[data-rlta-type="accordions"],[data-rlta-element="button-list"]');sets.forEach(set=>{const button=set.querySelector(':scope > [data-rlta-element="button"]');if(button&&button.rlta!==undefined){button.rlta.item.open({scroll:false});}});},toggleAll:function(parent){parent=Helper.getParentByMixed(parent);const sets=parent.querySelectorAll('[data-rlta-type="accordions"],[data-rlta-element="button-list"]');sets.forEach(set=>{const button=set.querySelector(':scope > [data-rlta-element="button"]');if(button&&button.rlta!==undefined){button.rlta.item.toggle(false);}});},closeAccordions:function(parent){parent=Helper.getParentByMixed(parent);const buttons=parent.querySelectorAll('[data-rlta-type="accordions"] > [data-rlta-element="button"]');buttons.forEach(button=>{if(button&&button.rlta!==undefined){button.rlta.item.close();}});},openAccordions:function(parent){parent=Helper.getParentByMixed(parent);const sets=parent.querySelectorAll('[data-rlta-type="accordions"]');sets.forEach(set=>{const button=set.querySelector(':scope > [data-rlta-element="button"]');if(button&&button.rlta!==undefined){button.rlta.item.open({scroll:false});}});},toggleAccordions:function(parent){parent=Helper.getParentByMixed(parent);const sets=parent.querySelectorAll('[data-rlta-type="accordions"]');sets.forEach(set=>{const button=set.querySelector(':scope > [data-rlta-element="button"]');if(button&&button.rlta!==undefined){button.rlta.item.toggle(false);}});},getItemAndAnchorById:function(anchor_id){if(anchor_id===''){return[null,null];} 14if(anchor_id.indexOf('/')>-1||anchor_id.indexOf('/')>-1){return[null,null];} 15let item=Helper.getItemByMixed(anchor_id);if(item!==null){return[item,null];} 16const anchor=document.querySelector('#'+Helper.cleanId(anchor_id));if(!anchor){return[null,null];} 17const panel=anchor.closest('[data-rlta-element="panel"]');
17if(!panel){return[null,null];} 18const id=panel.getAttribute('aria-labelledby');if(!id){return[null,null];} 19item=Helper.getItemByMixed(id);return[item,anchor];},scrollToNestedAnchor:async function(){const hash_id=decodeURIComponent(window.location.hash.replace('#','')).trim();const item_anchor=this.getItemAndAnchorById(hash_id);const item=item_anchor[0];const anchor=item_anchor[1];if(item===null||anchor===null){return;} 20this.scrollToItem(item,anchor);},scrollToItem:async function(item,anchor){if(!item){setTimeout(()=>{this.scrollToNestedAnchor();},100);return;} 21if(!anchor){this.open(item.id);return;} 22await this.open(item.id,false,false);const scroller=new PageScroller(item);const anchor_top=anchor.getBoundingClientRect().top;const view=scroller.getView();const offset=scroller.getOffset();const offset_top=view.top-offset.top;scroller.scrollTo(offset_top+anchor_top,0);history.pushState(null,null,'#'+anchor.id);}};window.rlta=window.rlta||RegularLabs.TabsAccordions;const init=()=>RegularLabs.TabsAccordions.init(null);if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}})();
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.