(()=>{varb=Object.defineProperty;varw=(i,e)=>{for(vartine)b(i,t,{get:e[t],enumerable:!0})};varf={};w(f,{FilterPills:()=>h,Input:()=>l,Instance:()=>p,ResultList:()=>a,Summary:()=>o});varr=classi{constructor(e){this.element=document.createElement(e)}id(e){returnthis.element.id=e,this}class(e){returnthis.element.classList.add(e),this}attrs(e){for(let[t,s]ofObject.entries(e))this.element.setAttribute(t,s);returnthis}text(e){returnthis.element.innerText=e,this}html(e){returnthis.element.innerHTML=e,this}handle(e,t){returnthis.element.addEventListener(e,t),this}addTo(e){returneinstanceofi?e.element.appendChild(this.element):e.appendChild(this.element),this.element}};varT=async(i=100)=>newPromise(e=>setTimeout(e,i)),l=class{constructor(e={}){if(this.inputEl=null,this.clearEl=null,this.instance=null,this.searchID=0,this.debounceTimeoutMs=e.debounceTimeoutMs??300,e.inputElement){if(e.containerElement){console.warn("[Pagefind Input component]: inputElement and containerElement both supplied. Ignoring the container option.");return}this.initExisting(e.inputElement)}elseif(e.containerElement)this.initContainer(e.containerElement);else{console.error("[Pagefind Input component]: No selector supplied for containerElement or inputElement");return}this.inputEl.addEventListener("input",asynct=>{if(this.instance&&typeoft?.target?.value=="string"){this.updateState(t.target.value);lets=++this.searchID;if(awaitT(this.debounceTimeoutMs),s!==this.searchID)returnnull;this.instance?.triggerSearch(t.target.value)}}),this.inputEl.addEventListener("keydown",t=>{t.key==="Escape"&&(++this.searchID,this.inputEl.value="",this.instance?.triggerSearch(""),this.updateState("")),t.key==="Enter"&&t.preventDefault()}),this.inputEl.addEventListener("focus",()=>{this.instance?.triggerLoad()})}initContainer(e){lett=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No container found for ${e} selector`);return}if(t.tagName==="INPUT")console.warn(`[Pagefind Input component]: Encountered input element for ${e} when a container was expected`),console.warn("[Pagefind Input component]: Treating containerElement option as inputElement and proceeding"),this.initExisting(e);else{t.innerHTML="";lets=0;for(;document.querySelector(`#pfmod-input-${s}`);)s+=1;letn=newr("form").class("pagefind-modular-input-wrapper").attrs({role:"search","aria-label":"Search this site",action:"javascript:void(0);"});newr("label").attrs({for:`pfmod-input-${s}`,"data-pfmod-sr-hidden":"true"}).text("Search this site").addTo(n),this.inputEl=newr("input").id(`pfmod-input-${s}`).class("pagefind-modular-input").attrs({autocapitalize:"none",enterkeyhint:"search"}).addTo(n),this.clearEl=newr("button").class("pagefind-modular-input-clear").attrs({"data-pfmod-suppressed":"true"}).text("Clear").handle("click",()=>{this.inputEl.value="",this.instance.triggerSearch(""),this.updateState("")}).addTo(n),n.addTo(t)}}initExisting(e){lett=document.querySelector(e);if(!t){console.error(`[Pagefind Input component]: No input element found for ${e} selector`);return}if(t.tagName!=="INPUT"){console.error(`[Pagefind Input component]: Expected ${e} to be an <input> element`);return}this.inputEl=t}updateState(e){this.clearEl&&(e&&e?.length?this.clearEl.removeAttribute("data-pfmod-suppressed"):this.clearEl.setAttribute("data-pfmod-suppressed","true"))}register(e){this.instance=e,this.instance.on("search",(t,s)=>{this.inputEl&&document.activeElement!==this.inputEl&&(this.inputEl.value=t,this.updateState(t))})}focus(){this.inputEl&&this.inputEl.focus()}};varg=i=>{if(iinstanceofElement)return[i];if(Array.isArray(i)&&i.every(e=>einstanceofElement))returni;if(typeofi=="string"||iinstanceofString){lete=document.createElement("div");returne.innerHTML=i,[...e.childNodes]}elsereturnconsole.error(`[Pagefind ResultList component]: Expected template function to return an HTML element or string, got ${typeofi}`),[]},v=()=>{leti=(e=30)=>". ".repeat(Math.floor(10+Math.random()*e));return`<li class="pagefind-modular-list-result">
`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG:Loadedfrom${document.currentScript?.src??"bad script location"}]`):console.error("no known script location")}await e.options(this.pagefindOptions||{});for(let t of this.options.mergeIndex){if(!t.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");let s=t.bundlePath;delete t.bundlePath,await e.mergeIndex(s,t)}this.__pagefind__=e}this.availableFilters=await this.__pagefind__.filters(),this.totalFilters=this.availableFilters,this.__dispatch__("filters",{available:this.availableFilters,total:this.totalFilters})}};window.PagefindModularUI=f;})();