1var x=Object.defineProperty;var m=(s,e,n)=>e in s?x(s,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[e]=n;var t=(s,e,n)=>m(s,typeof e!="symbol"?e+"":e,n);import{g as E,s as f,r as g}from"./hash-CxWl9X-w.js";import{s as i}from"./set-aria-prop-BL99Jnpu.js";import{e as C}from"./events-B5nXyvHe.js";const v=(s,e=!1,n=!0,l=!0,o=!0,r=!0)=>{var a;const h=((a=s.textContent)==null?void 0:a.replace(/\s/g,""))!=="",c=s.innerHTML.replace(/\s/g,"")!=="",d=s.querySelector("video")!==null,p=s.querySelector("iframe")!==null,u=s.querySelector("img")!==null||s.querySelector(".umbraco-image")!==null;return!!(e&&c||n&&h||r&&d||o&&p||l&&u)};class S{constructor(e){t(this,"el");t(this,"toggleBtn");t(this,"contentEl");t(this,"expandedClass");t(this,"expandOnLoad");t(this,"expanded");t(this,"setHash");t(this,"hasContent");t(this,"noContentClass");t(this,"id");t(this,"collapseEvent");t(this,"expandEvent");this.el=e.el,this.toggleBtn=this.el.querySelector(e.triggerSelector),this.contentEl=this.el.querySelector(e.contentSelector),this.expandedClass=e.expandedClass||"expanded",this.id=this.el.getAttribute("id"),this.expandOnLoad=E(this.el)!==null||!!e.expandOnLoad,this.expanded=!1,this.setHash=typeof e.setHash=="boolean"?e.setHash:!1,this.hasContent=v(this.contentEl),this.noContentClass=e.noContentClass||"no-content",this.collapseEvent=new CustomEvent("collapse",{bubbles:!0,detail:{item:this}}),this.expandEvent=new CustomEvent("expand",{bubbles:!0,detail:{item:this}}),this.init()}init(){if(!this.hasContent){this.el.classList.add(this.noContentClass);return}this.attachEvents(),this.expandOnLoad&&this.expand()}attachEvents(){this.toggleBtn.addEventListener("click",()=>{this.expanded=!this.expanded,this.expanded?this.expand():this.collapse()}),this.contentEl.addEventListener("transitionend",e=>{e.propertyName==="height"&&(this.contentEl.style.height=this.expanded?"auto":"")})}expand(){this.expanded=!0,this.el.classList.add(this.expandedClass),this.contentEl.removeAttribute("inert"),i(this.contentEl,"hidden",!1),i(this.toggleBtn,"expanded",!0),this.el.dispatchEvent(this.expandEvent),this.setHash&&this.id&&f(this.id),this.contentEl.style.height=this.contentEl.scrollHeight+"px"}collapse(){this.expanded=!1,C(this.el),this.el.classList.remove(this.expandedClass),this.contentEl.setAttribute("inert",""),i(this.contentEl,"hidden",!0),i(this.toggleBtn,"expanded",!1),this.el.dispatchEvent(this.collapseEvent),this.setHash&&g(),this.contentEl.style.height=this.contentEl.scrollHeight+"px",requestAnimationFrame(()=>{this.contentEl.style.height=""})}}class y{constructor(e){t(this,"el");t(this,"accordions");t(this,"accordionsConfig");t(this,"itemSelector");t(this,"allowMultipleOpen");this.el=e.el,this.accordions=[],this.accordionsConfig=e.accordionsConfig,this.itemSelector=e.itemSelector,this.allowMultipleOpen=e.allowMultipleOpen||!1,this.init()}init(){this.attachEvents(),this.accordions=Array.from(this.el.querySelectorAll(this.itemSelector)).map(e=>new S({...this.accordionsConfig,el:e}))}attachEvents(){this.allowMultipleOpen||this.el.addEventListener("expand",e=>{this.accordions.filter(n=>n!==e.detail.item).forEach(n=>{n.expanded&&n.collapse()})})}allAreOpen(){return!!this.accordions.length&&this.accordions.every(e=>e.expanded)}openAll(){this.accordions.forEach(e=>{e.expand()})}closeAll(){this.accordions.forEach(e=>{e.collapse()})}}const O=s=>{new y({el:s,itemSelector:".accordion-item",accordionsConfig:{triggerSelector:".accordion-item__toggle",contentSelector:".accordion-item__content",expandedClass:"accordion-item--expanded",setHash:!0},allowMultipleOpen:!1})};export{O as Accordion};
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.