import{E as h,S as o,d as p,B as u,r as E,c as A}from"./dom.min.js?5.3.0";const C="collapse",S="bs.collapse",g=`.${S}`,L=".data-api",T=`show${g}`,w=`shown${g}`,N=`hide${g}`,D=`hidden${g}`,y=`click${g}${L}`,m="show",c="collapse",_="collapsing",O="collapsed",I=`:scope .${c} .${c}`,v="collapse-horizontal",b="width",$="height",H=".collapse.show, .collapse.collapsing",f='[data-bs-toggle="collapse"]',M={parent:null,toggle:!0},P={parent:"(null|element)",toggle:"boolean"};class a extends u{constructor(e,s){super(e,s),this._isTransitioning=!1,this._triggerArray=[];const t=o.find(f);for(const n of t){const i=o.getSelectorFromElement(n),d=o.find(i).filter(r=>r===this._element);i!==null&&d.length&&this._triggerArray.push(n)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return M}static get DefaultType(){return P}static get NAME(){return C}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(H).filter(r=>r!==this._element).map(r=>a.getOrCreateInstance(r,{toggle:!1}))),e.length&&e[0]._isTransitioning||h.trigger(this._element,T).defaultPrevented)return;for(const r of e)r.hide();const t=this._getDimension();this._element.classList.remove(c),this._element.classList.add(_),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=()=>{this._isTransitioning=!1,this._element.classList.remove(_),this._element.classList.add(c,m),this._element.style[t]="",h.trigger(this._element,w)},d=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(n,this._element,!0),this._element.style[t]=`${this._element[d]}px`}hide(){if(this._isTransitioning||!this._isShown()||h.trigger(this._element,N).defaultPrevented)return;const s=this._getDimension();this._element.style[s]=`${this._element.getBoundingClientRect()[s]}px`,E(this._element),this._element.classList.add(_),this._element.classList.remove(c,m);for(const n of this._triggerArray){const i=o.getElementFromSelector(n);i&&!this._isShown(i)&&this._addAriaAndCollapsedClass([n],!1)}this._isTransitioning=!0;const t=()=>{this._isTransitioning=!1,this._element.classList.remove(_),this._element.classList.add(c),h.trigger(this._element,D)};this._element.style[s]="",this._queueCallback(t,this._element,!0)}_isShown(){return(arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._element).classList.contains(m)}_configAfterMerge(e){return e.toggle=!!e.toggle,e.parent=A(e.parent),e}_getDimension(){return this._element.classList.contains(v)?b:$}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(f);for(const s of e){const t=o.getElementFromSelector(s);t&&this._addAriaAndCollapsedClass([s],this._isShown(t))}}_getFirstLevelChildren(e){const s=o.find(I,this._config.parent);return o.find(e,this._config.parent).filter(t=>!s.includes(t))}_addAriaAndCollapsedClass(e,s){if(e.length)for(const t of e)t.classList.toggle(O,!s),t.setAttribute("aria-expanded",s)}static jQueryInterface(e){const s={};return typeof e=="string"&&/show|hide/.test(e)&&(s.toggle=!1),this.each(function(){const t=a.getOrCreateInstance(this,s);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}if(h.on(document,y,f,function(l){(l.target.tagName==="A"||l.delegateTarget&&l.delegateTarget.tagName==="A")&&l.preventDefault();for(const e of o.getMultipleElementsFromSelector(this))a.getOrCreateInstance(e,{toggle:!1}).toggle()}),p(a),window.bootstrap=window.bootstrap||{},window.bootstrap.Collapse=a,Joomla&&Joomla.getOptions){const l={...Joomla.getOptions("bootstrap.collapse"),...Joomla.getOptions("bootstrap.accordion")};Object.keys(l).forEach(e=>{const s=l[e],t={toggle:s.toggle?s.toggle:!0};s.parent&&(t.parent=s.parent);const n=Array.from(document.querySelectorAll(e));n.length&&n.map(i=>new window.bootstrap.Collapse(i,t))})}export{a as C};