import{isMediumase,toggle_showast,toggle_hideass}from"./utils.min.js";consti=function(e){if(e&&(!e.id||"acc"===e.id))thrownewError('Der Wert für id darf nicht "acc" oder leer sein.');this.config=Object.assign({class:".js-wm-accordion",header_class:".js-wm-accordion-header",panel_class:".js-wm-accordion-panel",id:"acc",first_open:!1,collapse_all:!0},e),this.accordions=document.querySelectorAll(this.config.class)};i.prototype.init=function(){if(0===this.accordions.length)return;for(lett=0;t<this.accordions.length;t++){consts=this.accordions[t];this.config.first_open=!(!this.config.first_open&&!s.dataset.firstOpen),s.dataset.index=t,s.addEventListener("click",this.togglePanel.bind(this)),s.dataset.mobileOnly&&e.matches||this.createAccordion(s)}constt=this;e.addListener((function(e){consts=document.querySelectorAll(`${t.config.class}[data-mobile-only]`);if(e.matches)for(lete=0;e<s.length;e++){consti=s[e];t.destroyAccordion(i)}elsefor(lete=0;e<s.length;e++){consti=s[e];t.createAccordion(i)}}))},i.prototype.createAccordion=function(e){constt=e.dataset.index,s=`${this.config.id}_${t}`;if(this.headers=e.querySelectorAll(this.config.header_class),this.panels=e.querySelectorAll(this.config.panel_class),this.headers.length!==this.panels.length)thrownewError(`Die Anzahl der Header (${this.headers.length}) und Panel (${this.panels.length}) stimmt nicht überein.`);if(!this.headers.length)thrownewError(`Keine Header mit der Klasse ${this.config.header_class} gefunden.`);for(lete=0;e<this.headers.length;e++)this.header=this.headers[e],this.panel=this.panels[e],this.panelId=`${s}_p_${e}`,this.headerId=`${s}_h_${e}`,this.createHeaderButton(e),this.setupHeader(e),this.setupPanel(e);e.classList.add("wm-accordion--ready")},i.prototype.destroyAccordion=function(e){constt=e.querySelectorAll(".wm-accordion__header"),s=e.querySelectorAll(".js-wm-accordion-panel");for(lete=0;e<t.length;e++){consti=t[e],o=s[e],n=i.querySelector(".wm-accordion__button");i.innerHTML=n.innerHTML,i.classList.remove("wm-accordion__header--open"),o.classList.remove("wm-h-toggle-on-off--is-visible"),o.removeAttribute("style"),o.removeAttribute("aria-labelledby"),o.removeAttribute("role")}e.removeAttribute("data-accordion-ready")},i.prototype.createHeaderButton=function(e){constt=document.createElement("button"),s=this.header.innerHTML,i=0===e&&this.config.first_open;t.id=this.headerId,t.setAttribute("aria-expanded",i),t.setAttribute("aria-controls",this.panelId),t.innerHTML=s,t.classList.add("wm-btn--clean"),t.classList.add("wm-accordion__button"),this.header.innerHTML="",this.header.appendChild(t)},i.prototype.togglePanel=function(e){consti=e.target.closest("button");if(i&&i.matches(".wm-accordion__button")){e.preventDefault();consto=i.closest(this.config.class),n=i.parentNode,r=i.getAttribute("aria-controls"),a=document.getElementById(r);"true"===i.getAttribute("aria-expanded")?(i.setAttribute("aria-expanded",!1),s(a,(()=>{n.classList.remove("wm-accordion__header--open"),a.style.removeProperty("height")}))):("false"!==o.dataset.collapseAll&&this.config.collapse_all&&this.closeAll(o),n.classList.contains("wm-accordion__header--open")||(n.classList.add("wm-accordion__header--open"),i.setAttribute("aria-expanded",!0),t(a)))}},i.prototype.closeAll=function(e){constt=e.querySelectorAll(this.config.panel_class),i=e.querySelectorAll(this.config.header_class);for(lete=0;e<t.length;e++){consto=t[e];o.classList.contains("wm-h-toggle-on-off--is-visible")&&s(o);constn=i[e];n.classList.remove("wm-accordion__header--open"),n.querySelector("button").setAttribute("aria-expanded",!1)}},i.prototype.setupHeader=function(e){this.config.first_open&&0===e&&this.header.classList.add("wm-accordion__header--open")},i.prototype.setupPanel=function(e){if(void0===this.panel)thrownewError("Panel "+this.panelId+" existiert nicht.");this.panel.id=this.panelId,this.panel.setAttribute("role","region"),this.panel.setAttribute("aria-labelledby",this.headerId),this.config.first_open&&0===e&&(this.panel.classList.add("wm-h-toggle-on-off--is-visible"),t(this.panel,0))};export{iaswmAccordion};