natura11y
Version:
Natura11y is an open-source design system for creating beautiful web interfaces with a focus on accessible interaction design and front-end development.
1 lines • 41.1 kB
JavaScript
!function(){"use strict";const e=(e,t,n,r)=>{e instanceof Element||e instanceof Document?"string"==typeof t&&t?"string"==typeof n&&n?"function"==typeof r?e.addEventListener(t,(e=>{(e.target.matches(n)||e.target.closest(n))&&r(e)})):console.error("Invalid or missing handler function provided to delegateEvent."):console.error("Invalid or missing selector provided to delegateEvent."):console.error("Invalid or missing event type provided to delegateEvent."):console.error("Invalid parent element provided to delegateEvent.")};class t{#e=(()=>document.querySelectorAll(".accordion"))();#t(e,t,n,r){e.preventDefault(),e.stopPropagation(),r.forEach((e=>{if(e!==n){e.classList.remove("shown");const t=e.previousElementSibling;(t.querySelector('[data-accordion="button"]')??t).setAttribute("aria-expanded",!1),e.inert=!0}})),n.classList.toggle("shown");const a="true"===t.getAttribute("aria-expanded");t.setAttribute("aria-expanded",!a),n.inert=a;const i=new Event("accTrigger",{bubbles:!0});document.dispatchEvent(i)}#n(e,t,n){const r=r=>{e.preventDefault();let a=n+r;-1===r&&a<0?t[t.length-1].focus():1===r&&a>=t.length?t[0].focus():t[a].focus()};switch(e.code){case"ArrowUp":r(-1);break;case"ArrowDown":r(1)}}init(){this.#e.forEach((t=>{const n=t.querySelectorAll(':scope > [data-accordion="button"], :scope > [data-accordion="heading"] > [data-accordion="button"]'),r=t.querySelectorAll(':scope > [data-accordion="panel"]');n.forEach((e=>{const t=e.closest('[data-accordion="heading"]')?.nextElementSibling??e.nextElementSibling,n="true"===e.getAttribute("aria-expanded");e.setAttribute("tabindex",0),t.classList.toggle("shown",n),t.inert=!n})),e(t,"click",'[data-accordion="button"]',(e=>{const t=e.target,n=t.closest('[data-accordion="heading"]')?.nextElementSibling??t.nextElementSibling;this.#t(e,t,n,r)})),e(t,"keydown",'[data-accordion="button"]',(e=>{const t=Array.from(n).indexOf(e.target);this.#n(e,n,t)}))}))}}class n{#r=e=>{e.preventDefault();const t=e.target.closest(".alert");t&&(t.classList.add("dismissed"),t.addEventListener("animationend",(()=>{t.remove()})))};init=()=>{e(document,"click","[data-alert-close]",this.#r)}}class r{#a=null;#i=(()=>window.matchMedia("(prefers-reduced-motion: reduce)"))();#s=(()=>new Map)();#o(e,t){const n=t.querySelector(".icon");e.paused?(e.play(),this.#l(n,t,"pause")):(e.pause(),this.#l(n,t,"play"))}#d(e,t){if(t.hasAttribute("data-check-reduced-motion")){const n=t.querySelector(".icon");this.#i.matches?(e.pause(),this.#l(n,t,"play")):(e.play(),this.#l(n,t,"pause"));const r=this.#s.get(t);r&&this.#i.removeEventListener("change",r);const a=()=>{this.#i.matches?(e.pause(),this.#l(n,t,"play")):(e.play(),this.#l(n,t,"pause"))};this.#i.addEventListener("change",a),this.#s.set(t,a)}}#l(e,t,n){const r="pause"===n;e.classList.toggle("icon-play",!r),e.classList.toggle("icon-pause",r),t.setAttribute("aria-label",r?"Pause video":"Play video"),t.setAttribute("aria-pressed",String(r))}#c(e){const t=e.querySelector("video"),n=e.querySelector(".backdrop__media__control .button");t&&n&&(this.#d(t,n),n.addEventListener("click",(()=>{this.#o(t,n)})))}init=()=>{this.#a=document.querySelectorAll(".backdrop:has(video)"),this.#a.forEach((e=>this.#c(e)))}}let a,i,s=0;"undefined"!=typeof document&&(a=document.querySelector(":root"));const o=function(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;i=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:null)||document.activeElement,s=window.scrollY,a.style.setProperty("--scroll-position",`-${s}px`),a.classList.add("has-overlay"),e&&h(e,t??e)},l=e=>{a.style.removeProperty("--scroll-position"),a.getAttribute("style")||a.removeAttribute("style"),a.classList.remove("has-overlay"),a.classList.length||a.removeAttribute("class"),window.scrollTo({top:s,behavior:"instant"}),e&&"false"===e.getAttribute("aria-hidden")&&e.setAttribute("aria-hidden",!0),e&&i&&i.focus()},d=new Map,c=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{exclude:n=[]}=t;return[...e.querySelectorAll(["a[href]","area","button","details","frame","iframe","input","object","summary","textarea","select",'[tabindex]:not([tabindex="-1"])',"video","audio"])].filter((e=>!(e.hasAttribute("disabled")||e.closest("[inert]")||e.closest("[hidden]")||n.some((t=>e.closest(t))))))},h=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;t.tabIndex<0&&t.setAttribute("tabindex","-1"),t.focus();const n=d.get(e);n&&e.removeEventListener("keydown",n);const r=t=>{switch(t.code){case"Tab":{const n=c(e),r=n[0],a=n[n.length-1];document.activeElement===a&&(t.shiftKey||(t.preventDefault(),r?.focus())),document.activeElement===r&&t.shiftKey&&(t.preventDefault(),a?.focus());break}case"Escape":l(e)}};e.addEventListener("keydown",r),d.set(e,r)};class u{#h=(()=>new Map)();#u=(()=>new Set)();#g=(()=>new ResizeObserver((e=>{e.forEach((e=>{let{target:t}=e;"visible"===getComputedStyle(t).visibility&&(t.inert=!1,this.#g.unobserve(t))}))})))();#p(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e.setAttribute("aria-expanded","false"),t.classList.remove("shown"),t.inert=!0,this.#u.has(t)&&(t.removeAttribute("tabindex"),this.#u.delete(t)),n&&e.focus();const r=window.matchMedia("(prefers-reduced-motion: reduce)").matches||!CSS.supports("interpolate-size","allow-keywords"),a=()=>{t.removeAttribute("data-active");const e=this.#h.get(t);e&&(t.removeEventListener("keydown",e),this.#h.delete(t)),this.#g.observe(t)};r?a():t.addEventListener("transitionend",(e=>{e.target===t&&"height"===e.propertyName&&a()}),{once:!0})}#v(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(e.setAttribute("aria-expanded","true"),t.setAttribute("data-active",""),t.inert=!1,this.#g.unobserve(t),t.classList.add("shown"),"first"===n){const[e]=c(t);e?e.focus():(t.tabIndex=-1,this.#u.add(t),t.focus())}else"panel"===n&&(t.tabIndex=-1,this.#u.add(t),t.focus())}#m=e=>{const t=e.target.closest('[data-toggle="collapse"]');if(!t)return;e.preventDefault();const n=t.getAttribute("aria-controls")?.replace(/^#/,""),r=document.getElementById(n);if(!r)return void console.error(`Collapse target "${n}" not found.`);const a="true"===t.getAttribute("aria-expanded");if(a)this.#p(t,r);else{const n=r.hasAttribute("data-focus-first")?"first":0===e.detail?"panel":null;this.#v(t,r,n)}const i=this.#h.get(r);i&&r.removeEventListener("keydown",i);const s=e=>{"Escape"===e.code&&this.#p(t,r,!0)};if(r.addEventListener("keydown",s),this.#h.set(r,s),!a&&t.hasAttribute("data-target-close")){const e=t.getAttribute("data-target-close")?.replace(/^#/,""),n=document.getElementById(e),r=document.querySelector(`[aria-controls="${e}"]`);n&&r?"true"===r.getAttribute("aria-expanded")&&this.#p(r,n):console.error(`Close target "${e}" not found.`)}};init=()=>{document.querySelectorAll(".collapse:not(.shown)").forEach((e=>{"visible"!==getComputedStyle(e).visibility&&(e.inert=!0),this.#g.observe(e)})),e(document,"click",'[data-toggle="collapse"]',this.#m)}}class g{#b=["is-invalid"];#f=!1;get invalidClasses(){return this.#b}get formSubmitAttempted(){return this.#f}set formSubmitAttempted(e){this.#f=e}#y(e){const t=((e,t)=>{if("checkbox"===t?.type||"radio"===t?.type){const e=t.name,n=t.closest("form"),r=n?n.querySelectorAll(`input[name="${e}"]`):document.querySelectorAll(`input[name="${e}"]`);return!Array.from(r).some((e=>e.checked))}return!e?.trim()})(e.value,e);return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["is-invalid"];e.closest(".form-entry").classList.toggle(n[0],!t),e.setAttribute("aria-invalid",!t)}(e,!t,this.#b),t}_checkIfEmpty(e){return this.#y(e)}_cleanupHandlers(e,t){e.forEach(((e,n)=>{"string"==typeof t?n.removeEventListener(t,e):t(n,e)})),e.clear()}cleanup(){throw new Error("cleanup() must be implemented by subclass")}init(){throw new Error("init() must be implemented by subclass")}}class p extends g{#L=(()=>document.querySelectorAll(".form-entry"))();#E=(()=>new Map)();#w=(()=>new Map)();#x=(()=>new Map)();#A(e,t){this.formSubmitAttempted&&t&&this._checkIfEmpty(e),e.closest(".form-entry").classList.toggle("has-value",""!==e.value)}#k(e,t){if(!t)return;const n=this.#E.get(e);n&&e.removeEventListener("input",n);const r=()=>{this._checkIfEmpty(e)};e.addEventListener("input",r),this.#E.set(e,r)}#H(e,t){const n=e.closest(".form-entry").querySelector(".form-entry__field__input");t&&(e.setAttribute("required","true"),e.setAttribute("aria-required","true")),this.#k(e,t);const r=this.#w.get(e);r&&e.removeEventListener("change",r);const a=()=>this.#A(e,t);if(e.addEventListener("change",a),this.#w.set(e,a),n){const e=this.#x.get(n);e&&n.removeEventListener("click",e);const t=this.#S;n.addEventListener("click",t),this.#x.set(n,t)}}#S(e){const t=e.target.closest(".form-entry__field__input").querySelector("input");"SPAN"===e.target.tagName&&t.focus()}cleanup(){this._cleanupHandlers(this.#E,"input"),this._cleanupHandlers(this.#w,"change"),this._cleanupHandlers(this.#x,"click")}init(){this.#L.forEach((t=>{const n=t.hasAttribute("data-required");t.querySelectorAll("input, select, textarea").forEach((e=>this.#H(e,n))),e(t,"focusin","input, select, textarea",(e=>{this.#_(e,!0)})),e(t,"focusout","input, select, textarea",(e=>{this.#_(e,!1)}))}))}#_(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.target.closest(".form-entry").classList.toggle("is-focused",t)}}class v extends g{#C=(()=>document.querySelectorAll("form[data-validate]"))();#T=(()=>new Map)();#M(e,t){e.forEach((e=>{const n=e.closest(".form-entry"),r=n.querySelector(".form-entry__field__label"),a=n.getAttribute("data-error-message")||"This field is required",i=n.querySelector(".form-entry__help")?.innerHTML||"";t.push([a,i]),n.querySelector(".form-entry__feedback")||r.insertAdjacentHTML("afterend",this.#q(a,i))}))}#q(e,t){return`\n <small class="form-entry__feedback">\n <span class="icon icon-warn" aria-hidden="true"></span>\n <span class="message">\n <strong>${e}</strong> ${t||""}\n </span>\n </small>\n `}#O(e,t){const n=`\n <div class="alert alert--warn font-size-md margin-bottom-4" aria-labelledby="alert-label" aria-describedby="alert-description" role="alert">\n <div class="alert__title h5">\n <span class="icon icon-warn" aria-hidden="true"></span>\n <span class="alert__title__text" id="alert-label">Form Validation Error</span>\n </div>\n <div class="alert__description" id="alert-description">\n <p>${1===t?"There is 1 error":`There are ${t} errors`} in the form. Please review and correct the highlighted fields below.</p>\n </div>\n </div>\n `;e.insertAdjacentHTML("afterbegin",n)}#I(e){const t=e.querySelector(".is-invalid, [data-alert]");if(t){const e=t.querySelector("input, select, textarea");e&&(e.focus(),e.scrollIntoView({behavior:"smooth",block:"center"}))}}#D(e){const t=this.#T.get(e);t&&e.removeEventListener("submit",t);const n=t=>{t.preventDefault();const n=e.querySelector(".alert");n&&n.remove(),this.formSubmitAttempted=!0;const r=[];e.querySelectorAll("input, select, textarea").forEach((e=>{e.hasAttribute("required")&&this._checkIfEmpty(e)}));const a=e.querySelectorAll(":invalid");this.#M(a,r),r.length>0&&(t.preventDefault(),this.#O(e,r.length),this.#I(e))};e.addEventListener("submit",n),this.#T.set(e,n)}cleanup(){this._cleanupHandlers(this.#T,"submit")}init(){this.#C.forEach((e=>this.#D(e)))}}class m extends g{#P=(()=>document.querySelectorAll(".file-upload"))();#F=(()=>new Map)();#R(e){return t=>{const[n]=t.target.files;if(!n)return;const{name:r,size:a}=n,i=a>=1e6?`${(a/1e6).toFixed(2)} MB`:`${(a/1e3).toFixed(2)} KB`,s=e.querySelector(".file-upload__data");s&&s.remove(),e.insertAdjacentHTML("beforeend",`\n <span class="file-upload__data">\n <span class="file-name">${r}</span>\n <span class="file-size">${i}</span>\n </span>\n `)}}dragOver(e){e.preventDefault(),e.target.closest(".form-entry").classList.add("is-focused")}dragOff(e){e.target.closest(".form-entry").classList.remove("is-focused")}dropped(e){return t=>{t.preventDefault(),t.target.closest(".form-entry").classList.remove("is-focused");const n=t.dataTransfer.files;if(n.length>0){const t=e.querySelector('input[type="file"]');t.files=n;const r=new Event("change",{bubbles:!0});t.dispatchEvent(r)}}}#B(e){const t=e.querySelector('input[type="file"]'),n=this.#F.get(e);n&&(t.removeEventListener("change",n.changeHandler),e.removeEventListener("dragenter",n.dragenterHandler),e.removeEventListener("dragover",n.dragoverHandler),e.removeEventListener("dragleave",n.dragleaveHandler),e.removeEventListener("dragend",n.dragendHandler),e.removeEventListener("drop",n.dropHandler));const r=this.#R(e),a=this.dragOver.bind(this),i=this.dragOver.bind(this),s=this.dragOff.bind(this),o=this.dragOff.bind(this),l=this.dropped(e);t.addEventListener("change",r),e.addEventListener("dragenter",a),e.addEventListener("dragover",i),e.addEventListener("dragleave",s),e.addEventListener("dragend",o),e.addEventListener("drop",l),this.#F.set(e,{input:t,changeHandler:r,dragenterHandler:a,dragoverHandler:i,dragleaveHandler:s,dragendHandler:o,dropHandler:l})}cleanup(){this._cleanupHandlers(this.#F,((e,t)=>{t.input.removeEventListener("change",t.changeHandler),e.removeEventListener("dragenter",t.dragenterHandler),e.removeEventListener("dragover",t.dragoverHandler),e.removeEventListener("dragleave",t.dragleaveHandler),e.removeEventListener("dragend",t.dragendHandler),e.removeEventListener("drop",t.dropHandler)}))}init(){this.#P.forEach((e=>this.#B(e)))}}class b extends g{#$=(()=>document.querySelectorAll(".form-entry--search"))();#E=(()=>new Map)();#x=(()=>new Map)();#K=(()=>new Map)();#N=(()=>new Map)();#z(e,t){e.classList.toggle("has-value",""!==t.value)}#V(e,t){t.value="",e.classList.remove("has-value"),t.dispatchEvent(new Event("input",{bubbles:!0})),t.focus();const n=this.#K.get(e);if(n){clearTimeout(this.#N.get(e)),n.textContent="Search cleared";const t=setTimeout((()=>{n.textContent=""}),1e3);this.#N.set(e,t)}}cleanup(){this._cleanupHandlers(this.#E,"input"),this._cleanupHandlers(this.#x,"click"),this.#N.forEach((e=>clearTimeout(e))),this.#N.clear(),this.#K.forEach((e=>e.remove())),this.#K.clear()}init(){this.#$.forEach((e=>{const t=e.querySelector('input[type="search"]'),n=e.querySelector("[data-search-clear]");if(!t)return;""!==t.value&&e.classList.add("has-value");const r=document.createElement("span");r.setAttribute("aria-live","polite"),r.setAttribute("aria-atomic","true"),r.classList.add("screen-reader-only"),e.appendChild(r),this.#K.set(e,r);const a=()=>this.#z(e,t);if(t.addEventListener("input",a),this.#E.set(t,a),n){const r=()=>this.#V(e,t);n.addEventListener("click",r),this.#x.set(n,r)}}))}}class f{#U=(()=>document.querySelectorAll("[data-lightbox]"))();#W=(()=>new Map)();#Q=(()=>new Map)();#j='\n <figure class="lightbox__container" aria-live="polite" aria-atomic="true">\n <div class="lightbox__media"></div> \n <figcaption class="lightbox__caption"></figcaption>\n </figure>\n <div class="lightbox__controls">\n <button class="button button--icon-only" data-lightbox-previous aria-label="Previous">\n <span class="icon icon-arrow-left" aria-hidden="true"></span>\n </button>\n <button class="button button--icon-only" data-lightbox-next aria-label="Next">\n <span class="icon icon-arrow-right" aria-hidden="true"></span>\n </button>\n <button class="button button--icon-only" data-lightbox-close aria-label="Close">\n <span class="icon icon-close" aria-hidden="true"></span>\n </button>\n </div>\n ';#G='\n <video controls tabindex="0">\n <source type="video/mp4">\n </video>\n ';#Y='\n <iframe\n frameborder="0"\n allow="autoplay; fullscreen;"\n allowfullscreen\n controls\n tabindex="0"\n ></iframe>\n ';#J='\n <div class="lightbox__media__loader">\n <span class="icon icon-loading icon--rotate" aria-hidden="true"></span>\n </div>\n <div class="lightbox__media__error" style="display: none;">\n <span class="icon icon-warn" aria-hidden="true"></span>\n <p>Failed to load content. Please try again later.</p>\n </div>\n ';#X='<img src="https://source.unsplash.com/1600x900"/>';#Z=[];#ee=(e,t)=>n=>{document.querySelector(".lightbox")||(n.preventDefault(),this.lightbox=this.#te(),this.currentLB=e,this.#ne(e),o(this.lightbox,t),requestAnimationFrame((()=>requestAnimationFrame((()=>{this.lightbox.classList.add("shown")})))))};#re=e=>{if(e.stopPropagation(),e.target!==e.currentTarget&&"click"===e.type)return;const t=this.lightbox.querySelector("[data-lightbox-previous]"),n=this.lightbox.querySelector("[data-lightbox-next]"),r=this.lightbox.querySelector("[data-lightbox-close]");t.removeEventListener("click",this.#ae),n.removeEventListener("click",this.#ae),r.removeEventListener("click",this.#re),this.#W.forEach(((e,t)=>{t.removeEventListener("focus",e)})),this.#W.clear(),this.#Q.forEach(((e,t)=>{"VIDEO"===t.nodeName?(t.removeEventListener("loadedmetadata",e),t.removeEventListener("loadeddata",e)):t.removeEventListener("load",e)})),this.#Q.clear(),l(this.lightbox),window.removeEventListener("keyup",this.#ie),this.lightbox.classList.remove("shown"),this.lightbox.inert=!0;const a=this.lightbox.querySelector(".lightbox__container");window.matchMedia("(prefers-reduced-motion: reduce)").matches?this.lightbox.parentElement?.removeChild(this.lightbox):a.addEventListener("transitionend",(e=>{"opacity"===e.propertyName&&this.lightbox.parentElement?.removeChild(this.lightbox)}),{once:!0})};#se=(()=>{var e=this;return function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e.lightbox.querySelector(".lightbox__caption").style.display=t?"block":"none"}})();#ae=e=>{if(e.preventDefault(),e.target.hasAttribute("data-lightbox-previous"))this.#oe(-1);else{if(!e.target.hasAttribute("data-lightbox-next"))return;this.#oe(1)}};#ie=e=>{if(e.preventDefault(),!(this.#Z.length<=1)||"ArrowLeft"!==e.code&&"ArrowRight"!==e.code)switch(e.code){case"ArrowLeft":this.#oe(-1),this.lightbox.querySelector("[data-lightbox-previous]").focus();break;case"ArrowRight":this.#oe(1),this.lightbox.querySelector("[data-lightbox-next]").focus();break;case"Escape":this.#re(e);break;default:return}};#le=e=>{const t=this.#W.get(e);t&&e.removeEventListener("focus",t);const n=t=>{t.preventDefault(),e.children[0].focus(),c(e.children[0])};e.setAttribute("tabindex",0),e.addEventListener("focus",n),this.#W.set(e,n)};#oe(e){this.currentLB+=e,this.currentLB<0?this.currentLB=this.#Z.length-1:this.currentLB>=this.#Z.length&&(this.currentLB=0),this.#ne(this.currentLB,e)}#ne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=this.lightbox.querySelector(".lightbox__media"),r=this.lightbox.querySelector(".lightbox__caption");n.innerHTML="";const{lbType:a,lbSrc:i,lbCaption:s}=this.#Z[e],o=null!==s;switch(this.#se(o),a){case"image":this.#de(n,i);break;case"video":this.#ce(n,i)}if(this.#le(n),o&&(r.innerHTML=s),0!==t){const e=this.lightbox.querySelector(".lightbox__container"),n=t>0?"next":"prev";e.setAttribute("data-entering",n),e.addEventListener("animationend",(()=>{e.removeAttribute("data-entering")}),{once:!0})}h(this.lightbox)}#de=(e,t)=>{e.hasAttribute("style")&&e.removeAttribute("style"),e.innerHTML=this.#X;const n=this.#he();e.appendChild(n);const r=e.querySelector("img");return r.src=t,this.#ue(r,n),r};#ce=(e,t)=>{const n=/youtube/i.test(t),r=/vimeo/i.test(t);let a;if(n||r)e.innerHTML=this.#Y,a=e.querySelector("iframe"),a.src=t;else{e.innerHTML=this.#G;const n=this.#he();e.appendChild(n),a=e.querySelector("source");const r=e.querySelector("video"),i=this.#Q.get(r);i&&r.removeEventListener("loadedmetadata",i);const s=()=>{let t=r.videoWidth,n=r.videoHeight;e.style.maxWidth=`${t}px`,e.style.aspectRatio=`${t} / ${n}`};r.addEventListener("loadedmetadata",s),this.#Q.set(r,s),this.#ue(a,n),a.src=t}return a};#he=()=>{const e=document.createElement("div");return e.className="lightbox__media__loader",e.innerHTML=this.#J,e};#ue=(e,t)=>{const n="SOURCE"===e.nodeName?"loadeddata":"load",r=e.closest("SOURCE"===e.nodeName?"video":"img"),a=this.#Q.get(r);a&&r.removeEventListener(n,a);const i=()=>{t&&t.parentNode&&t.parentNode.removeChild(t),null!==this.#Z[this.currentLB].lbCaption&&this.#se(!0)};r.addEventListener(n,i),this.#Q.set(r,i),e.onerror=()=>{const n=t.querySelector(".lightbox__media__loader"),r=t.querySelector(".lightbox__media__error");e.style.display="none",this.#se(!1),n.style.display="none",r.style.display="block"}};#te=()=>{const e=document.createElement("div");e.classList.add("lightbox"),e.innerHTML=this.#j,document.body.appendChild(e);const t=e.querySelector("[data-lightbox-previous]"),n=e.querySelector("[data-lightbox-next]"),r=e.querySelector("[data-lightbox-close]");return this.#Z.length<=1&&(t.setAttribute("disabled",!0),n.setAttribute("disabled",!0),t.style.display="none",n.style.display="none"),r.addEventListener("click",this.#re),t.addEventListener("click",this.#ae),n.addEventListener("click",this.#ae),window.addEventListener("keyup",this.#ie),e};#ge=e=>{let t=null,n="";if(null!==e.querySelector("img")){const r=e.querySelector("img");t=r.src||null,n=r.alt||""}const r=e.getAttribute("data-lightbox")||"image",a=e.getAttribute("data-lightbox-src")||t,i=e.getAttribute("data-lightbox-caption")||null,s=e.getAttribute("data-lightbox-alt")||n;return null===a?(console.error("No source provided for lightbox"),null):{lbType:r,lbSrc:a,lbCaption:i,lbAlt:s}};#pe=()=>{this.#U.forEach((e=>{this.#Z.push(this.#ge(e))}))};#ve=()=>{e(document,"click","[data-lightbox]",(e=>{const t=e.target.closest("[data-lightbox]"),n=Array.from(this.#U).indexOf(t);-1!==n&&this.#ee(n,t)(e)}))};#me=()=>{const e=new IntersectionObserver((t=>{t.forEach((t=>{if(t.isIntersecting){const n=t.target,r=n.dataset.lightboxSrc||n.src;if(!r)return;e.unobserve(n);const a=new Image;a.onload=()=>{document.body.appendChild(a)},a.onerror=()=>{console.error(`Failed to load image: ${r}`)},a.src=r,a.style.display="none",this.#Z[Number(n.dataset.index)].hiddenImage=a}}))}),{threshold:.25});Array.from(this.#U).filter((e=>"image"===e.getAttribute("data-lightbox"))).forEach(((t,n)=>{const r=t.querySelector("img");r&&(r.dataset.index=n,e.observe(r))}))};init=()=>{this.#pe(),this.#ve(),this.#me()}}class y{#be=!1;#fe=400;#ye(e){return[...e.classList].some((e=>e.startsWith("mega-menu")))}#Le(e){const t=["sm","md","lg","xl","xxl"],n=(()=>{if("undefined"==typeof window)return{value:"md",isDesktop:!1,isMobile:!0};const e=window.getComputedStyle(document.documentElement).getPropertyValue("--current-bp").trim().replace(/^["']|["']$/g,"");return{value:e,isDesktop:["lg","xl","xxl"].includes(e),isMobile:["sm","md"].includes(e)}})().value,r=t.indexOf(n),a=t.indexOf(e);return-1===a||-1!==r&&r>=a}#Ee(e){const t=[...e.classList].find((e=>e.startsWith("mega-menu--")));return!t||this.#Le(t.split("--")[1])}#we(e,t){this.#be=!0,e.setAttribute("aria-expanded","true"),t.classList.add("shown"),this.#ye(t)&&this.#Ee(t)&&o()}#xe(e,t){this.#be=this.#Ae(),t.classList.remove("shown"),e.setAttribute("aria-expanded","false"),this.#ye(t)&&this.#Ee(t)&&l()}#Ae(){return Array.from(document.querySelectorAll('[data-toggle="dropdown"]')).some((e=>{const t=document.getElementById(e.getAttribute("aria-controls"));return t&&t.classList.contains("shown")}))}#ke=e=>{this.#be&&document.querySelectorAll('[data-toggle="dropdown"]').forEach((t=>{const n=document.getElementById(t.getAttribute("aria-controls"));if(n&&n.classList.contains("shown")){if(n.contains(e.target))return;(t.closest(".dropdown-link-split")||t).contains(e.target)||this.#xe(t,n)}}))};#He=e=>{"Escape"===e.key&&this.#be&&(document.querySelectorAll('[data-toggle="dropdown"]').forEach((e=>{const t=document.getElementById(e.getAttribute("aria-controls"));t&&t.classList.contains("shown")&&(this.#xe(e,t),e.focus())})),this.#be=!1)};#Se=(e,t)=>n=>{if("absolute"!==window.getComputedStyle(t).position)return;const r=n.relatedTarget;!r||t.contains(r)||e.contains(r)||this.#xe(e,t)};#_e(e,t){const n=e.closest(".dropdown-link-split")||e;e._clickFlagHandler&&(e.removeEventListener("click",e._clickFlagHandler),delete e._clickFlagHandler),e._keyFlagHandler&&(e.removeEventListener("keydown",e._keyFlagHandler),delete e._keyFlagHandler),t._menuKeyFlagHandler&&(t.removeEventListener("keydown",t._menuKeyFlagHandler),delete t._menuKeyFlagHandler),n._hoverInHandler&&(n.removeEventListener("mouseenter",n._hoverInHandler),delete n._hoverInHandler),t._hoverInHandler&&(t.removeEventListener("mouseenter",t._hoverInHandler),delete t._hoverInHandler),n._hoverOutHandler&&(n.removeEventListener("mouseleave",n._hoverOutHandler),delete n._hoverOutHandler),t._hoverOutHandler&&(t.removeEventListener("mouseleave",t._hoverOutHandler),delete t._hoverOutHandler),e._hoverObserver&&(e._hoverObserver.disconnect(),delete e._hoverObserver),e._hasHoverListeners=!1}init(){e(document,"click",'[data-toggle="dropdown"]',(e=>{const t=e.target.closest('[data-toggle="dropdown"]');if(!t)return;const n=t.getAttribute("aria-controls"),r=document.getElementById(n);r?"true"===t.getAttribute("data-hover")&&t._hasHoverListeners&&e.detail>0||(r.classList.contains("shown")?this.#xe(t,r):this.#we(t,r)):console.warn(`No dropdown menu found for ${n}`)}));const t=()=>{document.querySelectorAll('[data-toggle="dropdown"][data-hover="true"], .dropdown-link-split [data-toggle="dropdown"]').forEach((e=>{if(e._hasHoverListeners)return;e._hasHoverListeners=!0;const t=e.getAttribute("aria-controls"),n=document.getElementById(t);if(!n)return;let r=!1;e._clickFlagHandler=t=>{"true"===e.getAttribute("data-hover")&&t.detail>0||(r=!0)},e.addEventListener("click",e._clickFlagHandler),e._keyFlagHandler=e=>{"Enter"!==e.key&&" "!==e.key&&"ArrowDown"!==e.key&&"ArrowUp"!==e.key||(r=!0)},e.addEventListener("keydown",e._keyFlagHandler),n._menuKeyFlagHandler=()=>{r=!0},n.addEventListener("keydown",n._menuKeyFlagHandler);const a=e.closest(".dropdown-link-split"),i=a||e;i.addEventListener("mouseenter",i._hoverInHandler=()=>{r||(document.querySelectorAll('[data-toggle="dropdown"][aria-expanded="true"]').forEach((t=>{if(t!==e){const e=t.getAttribute("aria-controls"),n=document.getElementById(e);n&&this.#xe(t,n)}})),this.#we(e,n))}),n.addEventListener("mouseenter",n._hoverInHandler=()=>{r||this.#we(e,n)});const s=()=>{setTimeout((()=>{(a?!a.matches(":hover")&&!n.matches(":hover"):!e.matches(":hover")&&!n.matches(":hover"))&&!r&&(this.#xe(e,n),r=!1)}),this.#fe)};i.addEventListener("mouseleave",i._hoverOutHandler=s),n.addEventListener("mouseleave",n._hoverOutHandler=s);const o=new MutationObserver((()=>{n.classList.contains("shown")||(r=!1)}));o.observe(n,{attributes:!0,attributeFilter:["class"]}),e._hoverObserver=o}))},n=()=>{document.querySelectorAll('[data-toggle="dropdown"][data-hover="true"], .dropdown-link-split [data-toggle="dropdown"]').forEach((e=>{if(!e._hasHoverListeners)return;const t=e.getAttribute("aria-controls"),n=document.getElementById(t);n&&this.#_e(e,n)}))},r=()=>{const e=Array.from(document.querySelectorAll('[class*="mega-menu--"]')).some((e=>this.#Ee(e))),r=document.querySelector('[class*="main-menu--"]'),a=r&&[...r.classList].find((e=>e.startsWith("main-menu--"))),i=!!a&&this.#Le(a.split("--").pop()),s=e||i;window.matchMedia&&window.matchMedia("(hover: hover) and (pointer: fine)").matches&&s?t():n()};r(),window.addEventListener("resize",r),document.querySelectorAll('[data-toggle="dropdown"]').forEach((e=>{const t=e.getAttribute("aria-controls"),n=document.getElementById(t);if(!n)return;const r=this.#Se(e,n);e.addEventListener("focusout",r),n.addEventListener("focusout",r)})),window.addEventListener("click",this.#ke),document.addEventListener("keydown",this.#He)}}class L{#Ce=this.#Te.bind(this);#Me=null;#qe=(()=>new WeakMap)();#Te(e){if("Escape"===e.code){const e=document.querySelector(".flyout.shown");e&&this.#Oe(e)}}#Ie(e){const t=e.querySelector(".flyout__content"),n=t?.querySelector("[data-flyout-close]");t&&(this.#De(e),e.classList.add("shown"),e.setAttribute("aria-hidden","false"),o(t,null,n),this.#Me=n=>{t.contains(n.target)||this.#Oe(e)},window.addEventListener("pointerdown",this.#Me),window.addEventListener("keydown",this.#Ce))}#Oe(e){e.classList.remove("shown"),l(e),this.#Me&&(window.removeEventListener("pointerdown",this.#Me),this.#Me=null),window.removeEventListener("keydown",this.#Ce)}#De(e){e.querySelectorAll(".flyout__panel").forEach(((e,t)=>{0===t?e.removeAttribute("inert"):e.setAttribute("inert","")})),e.querySelector(".flyout__header [data-flyout-back]")?.setAttribute("hidden",""),this.#qe.delete(e)}#Pe(e){e.setAttribute("data-entering",""),e.addEventListener("animationend",(()=>e.removeAttribute("data-entering")),{once:!0})}#Fe(e,t){const n=[...e.querySelectorAll(".flyout__panel")],r=e.querySelector(`#${t}`);if(!r)return;if(-1===n.indexOf(r))return;this.#qe.has(e)||this.#qe.set(e,[]);const a=n.find((e=>!e.hasAttribute("inert")))??n[0],i=n.indexOf(a);this.#qe.get(e).push(i),a.setAttribute("inert",""),r.removeAttribute("inert"),this.#Pe(r);const s=e.querySelector(".flyout__header [data-flyout-back]");s?.hidden&&(s.removeAttribute("hidden"),this.#Pe(s)),s?.focus({preventScroll:!0})}#Re(e){if(!this.#qe.has(e))return;const t=this.#qe.get(e);if(!t.length)return;const n=[...e.querySelectorAll(".flyout__panel")],r=n.find((e=>!e.hasAttribute("inert")))??n[0],a=t.pop(),i=n[a];r.setAttribute("inert",""),i.removeAttribute("inert"),this.#Pe(i),0===a&&e.querySelector(".flyout__header [data-flyout-back]")?.setAttribute("hidden",""),e.querySelector("[data-flyout-close]")?.focus({preventScroll:!0})}init(){document.querySelectorAll(".flyout").forEach((e=>this.#De(e))),e(document,"click",'[data-open="flyout"]',(e=>{const t=e.target.closest('[data-open="flyout"]'),n=t?.getAttribute("aria-controls")?.replace(/^#/,""),r=document.getElementById(n);r&&this.#Ie(r)})),e(document,"click","[data-flyout-close]",(e=>{const t=e.target.closest(".flyout");t&&this.#Oe(t)})),e(document,"click","[data-flyout-next]",(e=>{const t=e.target.closest(".flyout"),n=e.target.closest("[data-flyout-next]"),r=n?.getAttribute("aria-controls")?.replace(/^#/,"");t&&r&&this.#Fe(t,r)})),e(document,"click","[data-flyout-back]",(e=>{const t=e.target.closest(".flyout");t&&this.#Re(t)})),document.querySelectorAll('[data-open="flyout"]').forEach((e=>{const t=e.getAttribute("aria-controls")?.replace(/^#/,""),n=document.getElementById(t);n&&new ResizeObserver((()=>{n.classList.contains("shown")&&!e.offsetWidth&&this.#Oe(n)})).observe(e)}))}}class E{#Be=(()=>new Map)();#$e=(()=>new Map)();#Ce=this.#Te.bind(this);#Ke(e,t){const n=n=>{e.querySelector(".modal__content").contains(n.target)||t(n)};window.addEventListener("pointerdown",n),this.#Be.set(e,n)}#Ne(e){const t=this.#Be.get(e);t&&(window.removeEventListener("pointerdown",t),this.#Be.delete(e))}#ze(e){const t=e.querySelectorAll("[data-modal-close]"),n=[];t.forEach((t=>{const r=()=>this.#Ve(e);t.addEventListener("click",r),t.setAttribute("aria-label","Close Modal Window"),n.push({element:t,handler:r})})),this.#$e.set(e,n)}#Ue(e){const t=this.#$e.get(e);t&&(t.forEach((e=>{let{element:t,handler:n}=e;t.removeEventListener("click",n)})),this.#$e.delete(e))}#Te(e){"Escape"===e.code&&document.querySelectorAll(".modal.shown").forEach((e=>this.#Ve(e)))}#Ve(e){e.classList.remove("shown"),e.inert=!0,l(e),this.#Ne(e),this.#Ue(e),window.removeEventListener("keydown",this.#Ce)}openModal(e){if(!e)return void console.warn("Modal target not found.");e.inert=!1,e.classList.add("shown"),e.focus();const t=e.querySelector(".modal__content");if(t){if(o(t),e.classList.contains("modal--scroll-all")&&(e.scrollTop=0),this.#Ue(e),this.#ze(e),"true"===e.dataset.modalCloseOutside){const t=()=>this.#Ve(e);this.#Ke(e,t)}window.addEventListener("keydown",this.#Ce)}else console.warn("Modal content not found.")}init(){document.querySelectorAll(".modal").forEach((e=>{e.classList.contains("shown")||(e.inert=!0)})),e(document,"click",'[data-modal="open"]',(e=>{const t=e.target.getAttribute("aria-controls")?.replace(/^#/,""),n=document.getElementById(t);this.openModal(n)}))}}const w=(e,t,n,r)=>{e.preventDefault();let a=t;switch(e.code){case"ArrowLeft":case"ArrowUp":a=t-1<0?n.length-1:t-1;break;case"ArrowRight":case"ArrowDown":a=t+1>=n.length?0:t+1;break;case"Home":a=0;break;case"End":a=n.length-1;break;default:return}r(a)};class x{#We=(()=>document.querySelectorAll(".main-menu__nav"))();init(){this.#We.forEach((t=>{e(t,"keydown",":is(button, a)",(e=>{if(!["ArrowLeft","ArrowRight","Home","End"].includes(e.code))return;const n=c(t,{exclude:[".dropdown__menu",'[class*="mega-menu"]']}),r=n.indexOf(e.target);-1!==r&&w(e,r,n,(e=>n[e].focus()))}))}))}}class A{#Qe=(()=>document.querySelectorAll('[class*="table--stack"]'))();#je=(()=>document.querySelectorAll(".table-scroll"))();#Ge=null;#Ye(e){const t=e.querySelectorAll("thead th"),n=e.querySelectorAll("tbody tr");let r=[];t.forEach(((e,t)=>{if(""!==e.textContent){const n=e.textContent.trim();r.push({title:n,id:`header-${t}`}),e.setAttribute("id",`header-${t}`)}})),n.forEach((e=>{e.querySelectorAll("td").forEach(((e,t)=>{e.innerHTML=this.#Je(e.innerHTML),e.setAttribute("data-header",r[t].title),e.setAttribute("aria-labelledby",r[t].id)}))}))}#Je(e){return`\n <div class="td-content">\n ${e}\n </div>\n `}#Xe(){this.#je.forEach((e=>{let t=e.querySelector(".table-scroll__container"),n=e.offsetWidth;t.scrollWidth>n?e.setAttribute("data-scroll",!0):e.setAttribute("data-scroll",!1),t.addEventListener("scroll",(()=>{t.scrollLeft>1?t.setAttribute("data-scrolling",!0):t.setAttribute("data-scrolling",!1)}),{passive:!0})}))}#Ze(){clearTimeout(this.#Ge),this.#Ge=setTimeout((()=>{this.#Xe()}),150)}init(){this.#Qe.forEach((e=>{this.#Ye(e)})),this.#Xe(),window.addEventListener("resize",this.#Ze.bind(this))}destroy(){clearTimeout(this.#Ge)}}class k{#et=(()=>document.querySelectorAll(".tabs"))();#tt(e,t){e.forEach((e=>{e.setAttribute("aria-selected","false"),e.setAttribute("tabindex","-1"),e.classList.remove("is-active")})),t.forEach((e=>{e.classList.remove("shown"),e.setAttribute("aria-hidden","true")}))}#nt(e,t,n){this.#tt(t,n),e.setAttribute("aria-selected","true"),e.setAttribute("tabindex","0"),e.classList.add("is-active");const r=e.getAttribute("aria-controls"),a=document.getElementById(r);a.classList.add("shown"),a.setAttribute("aria-hidden","false")}init(){this.#et.forEach((t=>{const n=t.querySelectorAll('[role="tab"]'),r=t.querySelectorAll('[role="tabpanel"]');e(t,"click",'[role="tab"]',(e=>{const t=e.target.closest('[role="tab"]');this.#nt(t,n,r)})),e(t,"keydown",'[role="tab"]',(e=>{if(!["Enter","Space","ArrowLeft","ArrowRight","Home","End"].includes(e.code))return;const t=e.target.closest('[role="tab"]'),a=Array.from(n).indexOf(t);switch(e.code){case"Enter":case"Space":e.preventDefault(),this.#nt(t,n,r);break;case"ArrowLeft":case"ArrowRight":case"Home":case"End":w(e,a,n,(e=>{n[e].focus()}))}})),this.#nt(n[0],n,r)}))}}class H{#rt=(()=>document.querySelectorAll(".track"))();#at=null;#it=(()=>new WeakMap)();#st(e){return this.#it.has(e)||this.#it.set(e,{panels:e.querySelector(".track__panels"),pagination:e.querySelector("[data-track-pagination]"),liveRegion:e.querySelector(".liveregion")}),this.#it.get(e)}#ot(e){this.#it.delete(e)}#lt(e){return parseInt(getComputedStyle(e).getPropertyValue("--_visible-panels"),10)||1}#dt(e,t){e.classList.toggle("hide-controls",t<=1)}#ct(e){const t=this.#st(e),n=t.panels,r=t.pagination,a=this.#lt(n),i=e.getAttribute("data-track-id");n.setAttribute("tabindex","-1");const s=[];let o=[];Array.from(n.children).forEach(((e,t)=>{const r=`${i}-panel-${t}`;e.setAttribute("id",r),o.push(e),o.length!==a&&t!==n.children.length-1||(s.push([...o]),o=[])})),e.pages=s,e.currentPageIndex=0,r&&(r.innerHTML=s.map(((e,t)=>`\n <li>\n <button\n type="button"\n data-page-index="${t}"\n aria-label="Go To Page ${t+1}"\n ${0===t?'aria-current="true"':""}\n >\n <span class="pagination__number">\n ${t+1}\n </span>\n </button>\n </li>\n `)).join("")),this.#dt(e,s.length)}#ht(e,t){const n=this.#st(e),r=n.pagination?.querySelectorAll("[data-page-index]");r&&r.forEach(((e,n)=>{e.classList.toggle("active",n===t),e.setAttribute("aria-current",n===t?"true":"false")})),this.#ut(e,t,e.pages.length)}#gt(e,t){const n=this.#st(e).panels,r=e.pages[t][0];e.currentPageIndex=t,e.isNavigating=!0;const a=window.matchMedia("(prefers-reduced-motion: reduce)").matches;n.scrollTo({left:r.offsetLeft,behavior:a?"auto":"smooth"}),clearTimeout(this.#at);const i=a?0:300;this.#at=setTimeout((()=>{this.#ht(e,t),e.isNavigating=!1}),i)}#pt(e){const t=e.currentPageIndex<e.pages.length-1?e.currentPageIndex+1:0;this.#gt(e,t)}#vt(e){const t=e.currentPageIndex>0?e.currentPageIndex-1:e.pages.length-1;this.#gt(e,t)}#mt(e){const t=getComputedStyle(e);return parseFloat(t.paddingLeft)||0}#bt(e,t){const n=this.#st(e).panels,r=new IntersectionObserver((t=>{t.forEach((t=>{if(t.isIntersecting){const r=t.target.id,a=e.pages.findIndex((e=>e.some((e=>e.id===r)))),i=()=>{e.isNavigating||(e.currentPageIndex=a,this.#ht(e,a))};if(-1!==a){if(n.scrollHandler){const e=n.scrollEventType||"scroll";n.removeEventListener(e,n.scrollHandler)}if("onscrollend"in window)n.scrollEventType="scrollend",n.scrollHandler=i,n.addEventListener("scrollend",i);else{const e=()=>{clearTimeout(this.#at),this.#at=setTimeout(i,250)};n.scrollEventType="scroll",n.scrollHandler=e,n.addEventListener("scroll",e)}}}}))}),{root:n,threshold:.5,rootMargin:`0px -${.5*t}px`});e.pages.forEach((e=>{r.observe(e[0])})),e.pageObserver=r}#ft(e,t){const n=this.#st(e).panels,r=new IntersectionObserver((e=>{e.forEach((e=>{e.target.toggleAttribute("inert",!e.isIntersecting)}))}),{root:n,threshold:.5,rootMargin:`0px -${t}px`});e.pages.flat().forEach((e=>{r.observe(e)})),e.tabbingObserver=r}#yt(t){e(t,"keydown","[data-track-prev], [data-track-next]",(e=>{const n=t.querySelector("[data-track-prev]"),r=t.querySelector("[data-track-next]");"ArrowRight"===e.code?(e.preventDefault(),this.#pt(t),r?.focus()):"ArrowLeft"===e.code&&(e.preventDefault(),this.#vt(t),n?.focus())})),e(t,"keydown",".track__panel",(e=>{if("ArrowRight"!==e.code&&"ArrowLeft"!==e.code)return;e.preventDefault();const n=e.target.closest(".track__panel"),r=t.pages[t.currentPageIndex],a=r.indexOf(n);if(-1===a)return;let i=null;if("ArrowRight"===e.code&&a<r.length-1?i=r[a+1]:"ArrowLeft"===e.code&&a>0&&(i=r[a-1]),i){const e=c(i);e[0]?.focus()}}))}#Lt(e){const t=new ResizeObserver((()=>{if(e.isResetting)return;e.isResetting=!0,this.#ot(e);const t=this.#st(e),n=t.panels;n.scrollLeft=0;const r=t.pagination;if(r&&(r.innerHTML=""),e.pageObserver&&e.pageObserver.disconnect(),e.tabbingObserver&&e.tabbingObserver.disconnect(),n.scrollHandler){const e=n.scrollEventType||"scroll";n.removeEventListener(e,n.scrollHandler),delete n.scrollHandler,delete n.scrollEventType}e.currentPageIndex=0;const a=this.#mt(n);this.#ct(e),this.#bt(e,a),this.#ft(e,a),e.isResetting=!1}));t.observe(e),e.resizeObserver=t}#Et(e){this.#ot(e);const t=this.#st(e),n=t.panels,r=t.pagination;if(n.scrollLeft=0,r&&(r.innerHTML=""),e.pageObserver&&e.pageObserver.disconnect(),e.tabbingObserver&&e.tabbingObserver.disconnect(),n.scrollHandler){const e=n.scrollEventType||"scroll";n.removeEventListener(e,n.scrollHandler),delete n.scrollHandler,delete n.scrollEventType}e.currentPageIndex=0;const a=this.#mt(n);this.#ct(e),this.#wt(e),this.#bt(e,a),this.#ft(e,a),this.#yt(e),e.resizeObserver||this.#Lt(e)}#ve(t){e(t,"click","[data-page-index]",(e=>{const n=e.target.closest("[data-page-index]");if(n){const e=parseInt(n.getAttribute("data-page-index"));this.#gt(t,e)}})),e(t,"click","[data-track-prev]",(()=>{this.#vt(t)})),e(t,"click","[data-track-next]",(()=>{this.#pt(t)}))}#wt(e){let t=this.#st(e).liveRegion;t||(t=document.createElement("div"),t.className="liveregion screen-reader-only",t.setAttribute("aria-live","polite"),t.setAttribute("aria-atomic","true"),e.appendChild(t),this.#ot(e))}#ut(e,t,n){const r=this.#st(e).liveRegion;r&&(r.textContent=`Page ${t+1} of ${n}`)}init(){this.#rt.forEach(((e,t)=>{e.setAttribute("data-track-id",`track-${t}`),this.#Et(e),this.#ve(e)}))}destroy(e){["pageObserver","tabbingObserver","resizeObserver"].forEach((t=>{e[t]&&e[t].disconnect()}));const t=this.#st(e).panels;if(t?.scrollHandler){const e=t.scrollEventType||"scroll";t.removeEventListener(e,t.scrollHandler),delete t.scrollHandler,delete t.scrollEventType}clearTimeout(this.#at)}}document.addEventListener("DOMContentLoaded",(()=>{(new t).init(),(new n).init(),(new r).init(),(new u).init(),(new p).init(),(new b).init(),(new v).init(),(new m).init(),(new f).init(),(new L).init(),(new y).init(),(new E).init(),(new x).init(),(new A).init(),(new k).init(),(new H).init()}))}();