1import i from"./helper-BeZEmXtq.js";class a{constructor(s,t,e,l,n){this.accordion=s,this.accordion&&(this.itemClass=t,this.itemActiveClass=e,this.itemTriggerClass=l,this.itemContentClass=n,this.items=null,this.init())}bindActions(s){const t=s.querySelector(`.${this.itemTriggerClass}`);t==null||t.addEventListener("click",()=>{s.classList.contains(this.itemActiveClass)?this.closeItem(s):(this.closeAllItems(),this.openItem(s))})}openItem(s){const t=s.querySelector(`.${this.itemContentClass}`);setTimeout(()=>{t.style.maxHeight=i.getScrollHeight(t)},10),t.addEventListener("transitionend",()=>{s.classList.add(this.itemActiveClass),t.style.maxHeight=null},{once:!0})}closeItem(s){const t=s.querySelector(`.${this.itemContentClass}`);t.style.maxHeight=i.getScrollHeight(t),t.style.overflow="hidden",setTimeout(()=>{t.style.maxHeight=0},10),t.addEventListener("transitionend",()=>{s.classList.remove(this.itemActiveClass),t.style.maxHeight=null,t.style.overflow=null},{once:!0})}closeAllItems(){var s;(s=this.items)==null||s.forEach(t=>{t.classList.contains(this.itemActiveClass)&&this.closeItem(t)})}init(){var s;this.items=this.accordion.querySelectorAll(`.${this.itemClass}`),(s=this.items)==null||s.forEach(t=>this.bindActions(t))}}export{a 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.