PageSourceSearch

https://python-podcast.de/static/cast_bootstrap5/vite/searchModal-BZ2olMfa.abc8cbc4924c.js

js python-podcast.de collected 2026-10-03 22:41:19 UTC 29,753 bytes, 1 lines download raw bytes

1var J=Object.defineProperty;var Z=(a,s,e)=>s in a?J(a,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[s]=e;var c=(a,s,e)=>Z(a,typeof s!="symbol"?s+"":s,e);var L=(a,s,e)=>new Promise((t,i)=>{var n=l=>{try{r(e.next(l))}catch(u){i(u)}},o=l=>{try{r(e.throw(l))}catch(u){i(u)}},r=l=>l.done?t(l.value):Promise.resolve(l.value).then(n,o);r((e=e.apply(a,s)).next())});const ee=['input:not([disabled]):not([type="hidden"])',"button:not([disabled])","select:not([disabled])","a[href]","details > summary",'[tabindex]:not([tabindex="-1"])'].join(", ");function te(a){return a.offsetParent!==null}function se(a){let s=!1;const e=t=>{if(!s||t.key!=="Tab")return;const i=Array.from(a.querySelectorAll(ee)).filter(r=>te(r));if(i.length===0)return;const n=i[0],o=i[i.length-1];if(t.shiftKey&&document.activeElement===n){t.preventDefault(),o.focus();return}!t.shiftKey&&document.activeElement===o&&(t.preventDefault(),n.focus())};return{activate(){s||(a.addEventListener("keydown",e),s=!0)},deactivate(){s&&(a.removeEventListener("keydown",e),s=!1)}}}const ie=225,ne=300,ae=2,re=50,le=["date_facets","tag_facets","category_facets"],S={noSuggestions:"No suggestions.",unavailable:"Suggestions unavailable. You can still search.",oneAvailable:"1 suggestion available.",manyAvailable:"{count} suggestions available."};function oe(a){if(!a||typeof a!="object")return!1;const s=a;return typeof s.id=="number"&&typeof s.title=="string"&&typeof s.url=="string"}function ce(a){if(!a||typeof a!="object")return!1;const s=a;return typeof s.query=="string"&&Array.isArray(s.suggestions)&&s.suggestions.every(oe)}class ue{constructor(s,e,t={}){c(this,"url");c(this,"elements");c(this,"navigate");c(this,"openInNewTab");c(this,"onOpenChange");c(this,"messages");c(this,"cache",new Map);c(this,"suggestions",[]);c(this,"activeIndex",-1);c(this,"debounceTimer",null);c(this,"loadingTimer",null);c(this,"inFlight",null);c(this,"requestSequence",0);c(this,"connected",!1);c(this,"consecutiveFailures",0);c(this,"disabled",!1);c(this,"retainedSuggestionsBusy",!1);c(this,"loading",!1);c(this,"handleInput",()=>{this.suspendSuggestions(),this.schedule()});c(this,"handleKeydown",s=>{if(s.key==="Escape"&&this.isOpen()){s.preventDefault(),s.stopPropagation(),this.close();return}if(s.key==="Tab"){this.close();return}if(s.key==="ArrowDown"||s.key==="ArrowUp"){if(this.suggestions.length===0)return;s.preventDefault(),this.isOpen()||this.open();const e=s.key==="ArrowDown"?1:-1,t=this.activeIndex===-1?e===1?-1:0:this.activeIndex;this.setActive((t+e+this.suggestions.length)%this.suggestions.length);return}if(s.key==="Enter"&&this.activeIndex>=0){const e=this.suggestions[this.activeIndex];if(!e)return;s.preventDefault(),s.metaKey||s.ctrlKey?this.openInNewTab(e.url):this.navigate(e.url)}});c(this,"handleBlur",()=>{queueMicrotask(()=>this.close())});c(this,"handlePointerDown",s=>{var e;(e=s.target)!=null&&e.closest("[role=option]")&&s.preventDefault()});c(this,"handleClick",s=>{var n;const e=(n=s.target)==null?void 0:n.closest("[role=option]"),t=e?Number(e.dataset.suggestionIndex):Number.NaN,i=this.suggestions[t];i&&this.navigate(i.url)});c(this,"handlePointerMove",s=>{var i;const e=(i=s.target)==null?void 0:i.closest("[role=option]"),t=e?Number(e.dataset.suggestionIndex):Number.NaN;this.suggestions[t]&&t!==this.activeIndex&&this.setActive(t)});c(this,"handleAuxClick",s=>{var n;if(s.button!==1)return;const e=(n=s.target)==null?void 0:n.closest("[role=option]"),t=e?Number(e.dataset.suggestionIndex):Number.NaN,i=this.suggestions[t];i&&(s.preventDefault(),this.openInNewTab(i.url))});var i,n,o,r,l,u,h,d,f,g,p;this.url=s,this.elements=e,this.navigate=(i=t.navigate)!=null?i:(m=>window.location.assign(m)),this.openInNewTab=(n=t.openInNewTab)!=null?n:(m=>window.open(m,"_blank","noopener,noreferrer")),this.onOpenChange=(o=t.onOpenChange)!=null?o:(()=>{}),this.messages={noSuggestions:(l=(r=t.messages)==null?void 0:r.noSuggestions)!=null?l:S.noSuggestions,unavailable:(h=(u=t.messages)==null?void 0:u.unavailable)!=null?h:S.unavailable,oneAvailable:(f=(d=t.messages)==null?void 0:d.oneAvailable)!=null?f:S.oneAvailable,manyAvailable:(p=(g=t.messages)==null?void 0:g.manyAvailable)!=null?p:S.manyAvailable}}connect(){if(this.connected)return;this.connected=!0;const{input:s,listbox:e}=this.elements;s.setAttribute("role","combobox"),s.setAttribute("aria-autocomplete","list"),s.setAttribute("aria-expanded","fal
1se"),s.setAttribute("aria-controls",e.id),s.setAttribute("autocomplete","off"),s.setAttribute("enterkeyhint","search"),s.setAttribute("autocapitalize","off"),s.spellcheck=!1,s.addEventListener("input",this.handleInput),s.addEventListener("search",this.handleInput),s.addEventListener("keydown",this.handleKeydown),s.addEventListener("blur",this.handleBlur),e.addEventListener("pointerdown",this.handlePointerDown),e.addEventListener("click",this.handleClick),e.addEventListener("pointermove",this.handlePointerMove),e.addEventListener("auxclick",this.handleAuxClick)}disconnect(){if(!this.connected)return;this.connected=!1;const{input:s,listbox:e}=this.elements;s.removeEventListener("input",this.handleInput),s.removeEventListener("search",this.handleInput),s.removeEventListener("keydown",this.handleKeydown),s.removeEventListener("blur",this.handleBlur),e.removeEventListener("pointerdown",this.handlePointerDown),e.removeEventListener("click",this.handleClick),e.removeEventListener("pointermove",this.handlePointerMove),e.removeEventListener("auxclick",this.handleAuxClick),this.clearTimers(),this.abortRequest(),this.close(),this.setBusy(!1)}facetStateChanged(){this.invalidateSuggestions(),this.schedule()}resume(){this.disabled=!1,this.consecutiveFailures=0}suspendSuggestions(){this.clearDebounce(),this.abortRequest(),this.suggestions=[],this.clearActive(),this.elements.listbox.querySelectorAll("[role=option]").forEach(s=>{s.setAttribute("aria-disabled","true")}),this.setBusy(this.isOpen()),this.announce("")}invalidateSuggestions(){this.clearDebounce(),this.abortRequest(),this.suggestions=[],this.render(),this.close(),this.setBusy(!1),this.announce("")}schedule(){if(this.disabled){this.render(),this.close(),this.setBusy(!1);return}if(this.clearDebounce(),this.elements.input.value.trim().length<ae){this.abortRequest(),this.suggestions=[],this.render(),this.close(),this.setBusy(!1),this.announce("");return}const e=this.buildKey(),t=this.cache.get(e);if(t){this.applyResponse(t,e);return}this.debounceTimer=setTimeout(()=>{this.fetchSuggestions(e)},ie)}fetchSuggestions(s){return L(this,null,function*(){this.abortRequest();const e=new AbortController;this.inFlight=e;const t=++this.requestSequence;this.loadingTimer=setTimeout(()=>this.setLoading(!0),ne);try{const i=yield fetch(this.buildUrl(s),{signal:e.signal});if(!i.ok)throw new Error(`HTTP ${i.status}`);const n=yield i.json();if(!ce(n))throw new Error("Invalid suggestion response");if(t!==this.requestSequence||s!==this.buildKey())return;this.consecutiveFailures=0,this.setCache(s,n),this.applyResponse(n,s)}catch(i){if(i instanceof DOMException&&i.name==="AbortError"||t!==this.requestSequence||s!==this.buildKey())return;this.consecutiveFailures+=1,this.suggestions=[],this.render(),this.close(),this.setBusy(!1),this.announceWhileFocused(this.messages.unavailable),this.consecutiveFailures>=2&&(this.disabled=!0)}finally{this.inFlight===e&&(this.inFlight=null,this.setLoading(!1))}})}applyResponse(s,e){if(e!==this.buildKey())return;if(this.setBusy(!1),this.clearActive(),this.suggestions=s.suggestions,this.render(),this.suggestions.length===0){this.close(),this.announceWhileFocused(this.messages.noSuggestions);return}if(!this.open()){this.announce("");return}const t=this.suggestions.length===1?this.messages.oneAvailable:this.messages.manyAvailable.replace("{count}",String(this.suggestions.length));this.announce(t)}render(){const s=document.createDocumentFragment();this.suggestions.forEach((e,t)=>{const i=document.createElement("li");i.id=`${this.elements.listbox.id}-option-${e.id}`,i.className="cast-search-suggestion",i.setAttribute("role","option"),i.setAttribute("aria-selected","false"),i.dataset.suggestionIndex=String(t),i.dataset.url=e.url;const n=document.createElement("span");n.className="cast-search-suggestion-title",n.textContent=e.title,i.appendChild(n),s.appendChild(i)}),this.elements.listbox.replaceChildren(s)}setActive(s){this.activeIndex=s,Array.from(this.elements.listbox.querySelectorAll("[role=option]")).forEach((t,i)=>{const n=i===s;t.classList.toggle("is-active",n),t.setAttribute("aria-selected",n?"true":"false"),n&&(this.elements.input.setAttribute("aria-activedescendant",t.id),t.scrollIntoView({block:"nearest"}))})}open(){return this.suggestions.length===0||document.activeElement!==this.elements.input?!1:(this.elements.listbox.hidden=!1,this.elements.input.setAttribute("aria-expanded","true"),this.onOpenChange(!0),!0)}close(){const s=this.isOpen();this.elements.listbox.hidden=!0,this.elements.input.setAttribute("aria-expanded","fal
1se"),this.clearActive(),s&&this.onOpenChange(!1)}clearActive(){this.elements.input.removeAttribute("aria-activedescendant"),this.elements.listbox.querySelectorAll("[role=option]").forEach(s=>{s.classList.remove("is-active"),s.setAttribute("aria-selected","false")}),this.activeIndex=-1}isOpen(){return!this.elements.listbox.hidden}buildUrl(s){const e=new URL(this.url,window.location.href);return e.search=s,e.toString()}buildKey(){return this.buildParams().toString()}buildParams(){const s=new URLSearchParams,e=this.elements.input.value.trim();return e&&s.set("search",e),le.forEach(t=>{var n,o;const i=(o=(n=this.elements.form.querySelector(`input[name="${t}"]`))==null?void 0:n.value)!=null?o:"";i&&s.set(t,i)}),s}setCache(s,e){if(this.cache.delete(s),this.cache.set(s,e),this.cache.size<=re)return;const t=this.cache.keys().next().value;t!==void 0&&this.cache.delete(t)}announce(s){this.elements.status.textContent=s}announceWhileFocused(s){this.announce(document.activeElement===this.elements.input?s:"")}setLoading(s){this.clearLoadingTimer(),this.loading=s,this.updateBusyState(),this.elements.loading&&(this.elements.loading.hidden=!s)}setBusy(s){this.retainedSuggestionsBusy=s,this.updateBusyState()}updateBusyState(){this.elements.listbox.setAttribute("aria-busy",this.retainedSuggestionsBusy||this.loading?"true":"false")}clearDebounce(){this.debounceTimer!==null&&(clearTimeout(this.debounceTimer),this.debounceTimer=null)}clearLoadingTimer(){this.loadingTimer!==null&&(clearTimeout(this.loadingTimer),this.loadingTimer=null)}clearTimers(){this.clearDebounce(),this.clearLoadingTimer()}abortRequest(){var s;this.requestSequence+=1,(s=this.inFlight)==null||s.abort(),this.inFlight=null,this.setLoading(!1)}}const he="[data-cast-search-trigger]",C="-visible_date",de=300,fe=50,A=["date_facets","tag_facets","category_facets"],Y="All";function ge(a){const s=[];return a instanceof Element&&a.id==="div_id_o"&&s.push(a),s.push(...Array.from(a.querySelectorAll("#div_id_o"))),s}function T(a){return a!==null&&A.includes(a)}function me(a){const s=a.closest("[data-cast-filter-panel]"),e=s==null?void 0:s.getAttribute("data-cast-filter-panel");return!e||e==="o"?null:e}function F(a){const s=a.getAttribute("data-cast-facet-group");if(T(s))return s;const e=me(a);return T(e)?e:null}function j(a,s){var i;const e=a.querySelector(`[data-cast-facet-group="${s}"]`);if(e)return e;const t=a.querySelector(`[data-cast-filter-panel="${s}"]`);return(i=t==null?void 0:t.querySelector("[data-cast-facet-group]"))!=null?i:null}function pe(a){ge(a).forEach(s=>{if(s.dataset.castOrderingPills==="true")return;const e=s.querySelector('select[name="o"]');if(!e)return;const t=document.createElement("div");t.className="cast-ordering-pills",Array.from(e.options).forEach(i=>{if(!i.value)return;const n=document.createElement("button");n.type="button",n.className="tag-pill",n.textContent=i.textContent,n.setAttribute("data-order-value",i.value),i.selected&&i.value!==""||e.value===""&&i.value===C?(n.classList.add("active"),n.setAttribute("aria-pressed","true"),e.value=i.value):n.setAttribute("aria-pressed","false"),n.addEventListener("click",()=>{e.value=i.value,t.querySelectorAll(".tag-pill").forEach(r=>{r.classList.remove("active"),r.setAttribute("aria-pressed","false")}),n.classList.add("active"),n.setAttribute("aria-pressed","true")}),t.appendChild(n)}),t.children.length>0&&(e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.display="none",s.appendChild(t),s.dataset.castOrderingPills="true")})}function W(a){a.querySelectorAll("[data-cast-facet-group]").forEach(s=>{var o,r;if(s.dataset.castFacetToggleReady==="true")return;const e=Number.parseInt((o=s.dataset.limit)!=null?o:"12",10),t=Array.from(s.querySelectorAll(".cast-date-facet-item, .tag-pill"));if(!Number.isFinite(e)||t.length<=e){s.dataset.castFacetToggleReady="true";return}const i=(r=s.parentElement)==null?void 0:r.querySelector("[data-cast-facet-toggle]");if(!i){s.dataset.castFacetToggleReady="true";return}const n=l=>{t.forEach((d,f)=>{d.hidden=!l&&f>=e}),i.setAttribute("aria-expanded",String(l));const u=i.querySelector("[data-show-text]"),h=i.querySelector("[data-hide-text]");u&&(u.hidden=l),h&&(h.hidden=!l)};i.hidden=!1,n(!1),i.addEventListener("click",()=>{const l=i.getAttribute("aria-expanded")==="true";n(!l)}),s.dataset.castFacetToggleReady="true"})}function ye(a){return a instanceof HTMLElement?a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.tagName==="SELECT"||a.isContentEditable:!1}function b(a,s){var t;const e=a.getAttribute("href");if(!e)return"";try{return(t=new URL(e,window.location.href).searchParams.get(s))!=null?t:""}catch(i){return""}}function X(a,s){return Array.from(a.querySelectorAll('input[type="hidden"]')).filter(e=>e.name===s)}
1function E(a,s,e){if(X(a,s).forEach(i=>i.remove()),!e)return;const t=document.createElement("input");t.type="hidden",t.name=s,t.value=e,t.setAttribute("data-cast-facet-hidden","true"),a.appendChild(t)}function be(a){if(!a||typeof a!="object")return!1;const s=a;return s.mode==="modal"&&typeof s.result_count=="number"&&!!s.groups}function ve(){return{date_facets:"",tag_facets:"",category_facets:""}}function Ee(a){const s=new Set;return a.filter(e=>s.has(e.slug)?!1:(s.add(e.slug),!0))}class q extends HTMLElement{constructor(){super();c(this,"trigger");c(this,"overlay");c(this,"modal");c(this,"modalBody");c(this,"closeButton");c(this,"searchInput");c(this,"form");c(this,"loadingElement");c(this,"statusElement");c(this,"noResultsElement");c(this,"dynamicFacetsUrl");c(this,"typeahead");c(this,"suggestionsOpen");c(this,"latestResultCount");c(this,"focusTrap");c(this,"listenersBound");c(this,"state");c(this,"boundTriggerClick");c(this,"boundOverlayClick");c(this,"boundCloseClick");c(this,"boundDocumentKeydown");c(this,"boundModalClick");c(this,"boundSearchInput");this.trigger=null,this.overlay=null,this.modal=null,this.modalBody=null,this.closeButton=null,this.searchInput=null,this.form=null,this.loadingElement=null,this.statusElement=null,this.noResultsElement=null,this.dynamicFacetsUrl=null,this.typeahead=null,this.suggestionsOpen=!1,this.latestResultCount=null,this.focusTrap=null,this.listenersBound=!1,this.state={selected:ve(),search:"",ordering:"",inFlight:null,requestSeq:0,debounceTimer:null,loadingTimer:null,cache:new Map},this.boundTriggerClick=this.openModal.bind(this),this.boundOverlayClick=this.handleOverlayClick.bind(this),this.boundCloseClick=this.closeModal.bind(this),this.boundDocumentKeydown=this.handleDocumentKeydown.bind(this),this.boundModalClick=this.handleModalClick.bind(this),this.boundSearchInput=this.handleSearchInput.bind(this)}static register(e="cast-search-modal"){"customElements"in window&&(customElements.get(e)||customElements.define(e,q))}connectedCallback(){var e;this.resolveElements(),!(!this.overlay||!this.modal)&&(this.focusTrap=se(this.modal),W(this.modal),pe(this.modal),this.initializeFacetInputsFromSelection(),this.captureStateFromForm(),this.markAllFacetLinks(),this.expandActivePanels(),this.bindListeners(),(e=this.typeahead)==null||e.connect())}disconnectedCallback(){var e,t;this.overlay&&!this.overlay.hidden&&(this.overlay.hidden=!0,document.body.style.overflow=""),this.clearDebounceTimer(),this.clearLoadingTimer(),this.state.requestSeq+=1,this.abortInFlightRequest(),(e=this.typeahead)==null||e.disconnect(),this.setLoading(!1),this.unbindListeners(),(t=this.focusTrap)==null||t.deactivate(),this.focusTrap=null}openModal(){var e,t,i;this.overlay&&(this.overlay.hidden=!1,document.body.style.overflow="hidden",(e=this.typeahead)==null||e.resume(),(t=this.focusTrap)==null||t.activate(),(i=this.searchInput)==null||i.focus())}closeModal(){var e,t;this.overlay&&(this.overlay.hidden=!0,document.body.style.overflow="",(e=this.focusTrap)==null||e.deactivate(),(t=this.trigger)==null||t.focus())}resolveElements(){var r,l,u,h,d,f,g,p,m,y,v,w,k,I,R,x,O,D,_,N,B,M,P,U,K,H,G,V,$,z;const e=(r=this.getAttribute("data-trigger"))!=null?r:he;this.trigger=document.querySelector(e),this.overlay=this.querySelector("[data-cast-search-overlay]"),this.modal=(u=(l=this.overlay)==null?void 0:l.querySelector(".cast-search-modal"))!=null?u:null,this.modalBody=(d=(h=this.overlay)==null?void 0:h.querySelector(".cast-search-modal-body"))!=null?d:null,this.closeButton=(g=(f=this.overlay)==null?void 0:f.querySelector("[data-cast-search-close]"))!=null?g:null,this.searchInput=(m=(p=this.overlay)==null?void 0:p.querySelector('input[name="search"]'))!=null?m:null,this.form=(k=(w=(y=this.overlay)==null?void 0:y.querySelector("form[data-cast-search-form]"))!=null?w:(v=this.overlay)==null?void 0:v.querySelector("form"))!=null?k:null,this.loadingElement=(R=(I=this.overlay)==null?void 0:I.querySelector("[data-cast-facet-loading]"))!=null?R:null,this.statusElement=(O=(x=this.overlay)==null?void 0:x.querySelector("[data-cast-facet-status]"))!=null?O:null,this.noResultsElement=(_=(D=this.overlay)==null?void 0:D.querySelector("[data-cast-no-results]"))!=null?_:null,this.dynamicFacetsUrl=this.getAttribute("data-cast-dynamic-facets-url");const t=this.getAttribute("data-cast-search-suggestions-url"),i=(B=(N=this.overlay)==null?void 0:N.querySelector("[data-cast-search-suggestions]"))!=null?B:null,n=(P=(M=this.overlay)==null?void 0:M.querySelector("[data-cast-suggestion-status]"))!=null?P:null,o=(K=(U=this.overlay)==null?void 0:U.querySelector("[data-cast-suggestion-loading]"))!=null?K:null;(H=this.typeahead)==null||H.disconnect(),this.typeahead=null,t&&this.searchInput&&this.form&&i&&n&&(this.t
1ypeahead=new ue(t,{input:this.searchInput,form:this.form,listbox:i,status:n,loading:o},{onOpenChange:Q=>this.handleSuggestionsOpenChange(Q),messages:{noSuggestions:(G=this.getAttribute("data-cast-suggestion-none"))!=null?G:void 0,unavailable:(V=this.getAttribute("data-cast-suggestion-unavailable"))!=null?V:void 0,oneAvailable:($=this.getAttribute("data-cast-suggestion-one"))!=null?$:void 0,manyAvailable:(z=this.getAttribute("data-cast-suggestion-many"))!=null?z:void 0}}),this.isConnected&&this.typeahead.connect())}bindListeners(){var e,t,i,n,o,r;this.listenersBound||((e=this.trigger)==null||e.addEventListener("click",this.boundTriggerClick),(t=this.overlay)==null||t.addEventListener("click",this.boundOverlayClick),(i=this.closeButton)==null||i.addEventListener("click",this.boundCloseClick),(n=this.modal)==null||n.addEventListener("click",this.boundModalClick),(o=this.searchInput)==null||o.addEventListener("input",this.boundSearchInput),(r=this.searchInput)==null||r.addEventListener("search",this.boundSearchInput),document.addEventListener("keydown",this.boundDocumentKeydown),this.listenersBound=!0)}unbindListeners(){var e,t,i,n,o,r;this.listenersBound&&((e=this.trigger)==null||e.removeEventListener("click",this.boundTriggerClick),(t=this.overlay)==null||t.removeEventListener("click",this.boundOverlayClick),(i=this.closeButton)==null||i.removeEventListener("click",this.boundCloseClick),(n=this.modal)==null||n.removeEventListener("click",this.boundModalClick),(o=this.searchInput)==null||o.removeEventListener("input",this.boundSearchInput),(r=this.searchInput)==null||r.removeEventListener("search",this.boundSearchInput),document.removeEventListener("keydown",this.boundDocumentKeydown),this.listenersBound=!1)}handleOverlayClick(e){e.target===this.overlay&&this.closeModal()}handleDocumentKeydown(e){if(this.overlay){if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="k"){if(ye(document.activeElement))return;e.preventDefault(),this.overlay.hidden?this.openModal():this.closeModal();return}e.key==="Escape"&&!this.overlay.hidden&&(e.preventDefault(),this.closeModal())}}handleSearchInput(){var e,t;this.state.search=(t=(e=this.searchInput)==null?void 0:e.value)!=null?t:"",this.state.ordering=this.getOrderingValue(),this.scheduleFacetRecalculation()}handleModalClick(e){var h,d,f;if(!this.modal||!this.form)return;const t=e.target;if(!(t instanceof Element))return;const i=t.closest(".cast-btn-clear");if(i&&this.modal.contains(i)){e.preventDefault(),this.clearAllFilters();return}const n=t.closest("[data-cast-facet-group] a[href]");if(!n||!this.modal.contains(n))return;if(n.getAttribute("aria-disabled")==="true"||n.classList.contains("is-disabled")){e.preventDefault();return}const o=n.closest("[data-cast-facet-group]");if(!o)return;const r=F(o);if(!r)return;e.preventDefault(),o.querySelectorAll("a.selected").forEach(g=>{g.classList.remove("selected")}),n.classList.add("selected");const l=b(n,r);this.state.selected[r]=l,E(this.form,r,l);const u=o.closest("details");u&&(u.open=!0),this.state.search=(d=(h=this.searchInput)==null?void 0:h.value)!=null?d:"",this.state.ordering=this.getOrderingValue(),this.scheduleFacetRecalculation(),(f=this.typeahead)==null||f.facetStateChanged()}clearAllFilters(){var t;if(!this.modal||!this.form)return;this.searchInput&&(this.searchInput.value=""),this.state.search="",A.forEach(i=>{this.state.selected[i]="",E(this.form,i,"");const n=j(this.modal,i);if(!n)return;const o=Array.from(n.querySelectorAll("a[href]"));o.forEach(l=>l.classList.remove("selected"));const r=o.find(l=>b(l,i)==="");r==null||r.classList.add("selected")});const e=this.form.querySelector('select[name="o"]');e?(e.querySelector(`option[value="${C}"]`)?e.value=C:e.options.length>0?e.value=e.options[0].value:e.value="",this.state.ordering=e.value,this.syncOrderingPills(e.value)):this.state.ordering="",this.applyNoResultsState(1),this.markAllFacetLinks(),this.expandActivePanels(),this.announceStatus("Filters cleared."),this.scheduleFacetRecalculation(),(t=this.typeahead)==null||t.facetStateChanged()}syncOrderingPills(e){this.modal&&this.modal.querySelectorAll(".cast-ordering-pills .tag-pill").forEach(t=>{const i=t.getAttribute("data-order-value")===e;t.classList.toggle("active",i),t.setAttribute("aria-pressed",i?"true":"false")})}initializeFacetInputsFromSelection(){!this.modal||!this.form||this.modal.querySelectorAll("[data-cast-facet-group]").forEach(e
1=>{const t=F(e);if(!t)return;const i=e.querySelector("a.selected[href]");if(!i){this.state.selected[t]="",E(this.form,t,"");return}const n=b(i,t);this.state.selected[t]=n,E(this.form,t,n)})}captureStateFromForm(){var e,t;this.state.search=(t=(e=this.searchInput)==null?void 0:e.value)!=null?t:"",this.state.ordering=this.getOrderingValue()}scheduleFacetRecalculation(){if(!this.dynamicFacetsUrl)return;this.clearDebounceTimer(),this.abortInFlightRequest();const e=++this.state.requestSeq,t=this.buildRequestKey();this.state.debounceTimer=setTimeout(()=>{this.refreshDynamicFacets(e,t)},de)}clearDebounceTimer(){this.state.debounceTimer!==null&&(clearTimeout(this.state.debounceTimer),this.state.debounceTimer=null)}clearLoadingTimer(){this.state.loadingTimer!==null&&(clearTimeout(this.state.loadingTimer),this.state.loadingTimer=null)}abortInFlightRequest(){var e;(e=this.state.inFlight)==null||e.abort(),this.state.inFlight=null,this.setLoading(!1)}refreshDynamicFacets(e,t){return L(this,null,function*(){if(!this.dynamicFacetsUrl||e!==this.state.requestSeq||t!==this.buildRequestKey())return;const i=this.state.cache.get(t);if(i){this.setLoading(!1),this.applyFacetResponse(i),this.announceStatus("Filters updated.");return}const n=new AbortController;this.state.inFlight=n,this.setLoading(!0);try{const o=this.buildRequestUrl(),r=yield fetch(o.toString(),{signal:n.signal});if(!r.ok)throw new Error(`HTTP ${r.status}`);const l=yield r.json();if(!be(l))throw new Error("Invalid modal facet response");if(e!==this.state.requestSeq||t!==this.buildRequestKey())return;this.setCacheEntry(t,l),this.applyFacetResponse(l),this.announceStatus("Filters updated.")}catch(o){if(o instanceof DOMException&&o.name==="AbortError"||e!==this.state.requestSeq||t!==this.buildRequestKey())return;this.latestResultCount=null,this.updateNoResultsVisibility(),this.announceStatus("Could not refresh filters. You can still search.")}finally{this.state.inFlight===n&&(this.state.inFlight=null,this.setLoading(!1))}})}buildRequestUrl(){var i;const e=new URL((i=this.dynamicFacetsUrl)!=null?i:"",window.location.href),t=this.buildRequestParams(!0);return e.search=t.toString(),e}buildRequestKey(){return this.buildRequestParams(!1).toString()}buildRequestParams(e){const t=new URLSearchParams;return t.set("mode","modal"),this.state.search&&t.set("search",this.state.search),A.forEach(i=>{const n=this.state.selected[i];n&&t.set(i,n)}),e&&this.state.ordering&&t.set("o",this.state.ordering),t}setCacheEntry(e,t){if(this.state.cache.delete(e),this.state.cache.set(e,t),this.state.cache.size<=fe)return;const i=this.state.cache.keys().next().value;i!==void 0&&this.state.cache.delete(i)}getOrderingValue(){if(!this.form)return"";const e=this.form.querySelector('select[name="o"]');return e?e.value:""}applyFacetResponse(e){!this.modal||!this.form||(Object.entries(e.groups).forEach(([t,i])=>{var n;!T(t)||!i||(this.state.selected[t]=(n=i.selected)!=null?n:"",this.renderFacetGroup(t,i))}),this.syncHiddenInputsFromState(),this.markAllFacetLinks(),W(this.modal),this.expandActivePanels(),this.applyNoResultsState(e.result_count))}renderFacetGroup(e,t){var p,m;if(!this.modal||!this.form)return;const i=j(this.modal,e);if(!i)return;const n=i.closest("details"),o=(p=n==null?void 0:n.open)!=null?p:!1,r=this.getAllLabel(i,e),l=i.querySelector(".cast-date-facet-container"),u=(m=l==null?void 0:l.className)!=null?m:"cast-date-facet-container",h=document.createDocumentFragment(),d=this.createFacetOptionItem({groupName:e,slug:"",name:r,count:t.all_count,selected:t.selected===""});d&&h.appendChild(d),this.orderOptionsByCurrentDom(e,i,Ee(t.options)).forEach(y=>{const v=this.createFacetOptionItem({groupName:e,slug:y.slug,name:y.name,count:y.count,selected:y.slug===t.selected});v&&h.appendChild(v)});const g=document.createElement("div");g.className=u,g.appendChild(h),i.replaceChildren(g),this.resetFacetToggleForGroup(i),n&&(n.open=o)}createFacetOptionItem({groupName:e,slug:t,name:i,count:n,selected:o}){if(t!==""&&n===0&&!o)return null;const r=document.createElement("div");r.className="cast-date-facet-item";const l=document.createElement("a");return l.href=this.buildFacetHref(e,t),l.textContent=`${i} (${n})`,t===""&&l.classList.add("cast-facet-all-option"),o&&l.classList.add("selected"),r.appendChild(l),r}markAllFacetLinks(){this.modal&&this.modal.querySelectorAll("[data-cast-facet-group]").forEach(e
1=>{const t=F(e);t&&e.querySelectorAll("a[href]").forEach(i=>{b(i,t)===""&&i.classList.add("cast-facet-all-option")})})}orderOptionsByCurrentDom(e,t,i){const n=new Map;let o=0;return t.querySelectorAll("a[href]").forEach(r=>{const l=b(r,e);!l||n.has(l)||(n.set(l,o),o+=1)}),n.size===0?i:[...i].sort((r,l)=>{const u=n.get(r.slug),h=n.get(l.slug);return u!==void 0&&h!==void 0?u-h:u!==void 0?-1:h!==void 0?1:0})}buildFacetHref(e,t){if(!this.form)return"#";const i=new URL(this.form.action,window.location.href),n=new URLSearchParams;this.state.search&&n.set("search",this.state.search),A.forEach(r=>{const l=r===e?t:this.state.selected[r];l&&n.set(r,l)}),this.state.ordering&&n.set("o",this.state.ordering);const o=n.toString();return o?`${i.pathname}?${o}`:i.pathname}resetFacetToggleForGroup(e){var r;e.dataset.castFacetToggleReady="";const t=(r=e.parentElement)==null?void 0:r.querySelector("[data-cast-facet-toggle]");if(!t)return;const i=t.cloneNode(!0);i.hidden=!0,i.removeAttribute("aria-expanded");const n=i.querySelector("[data-show-text]"),o=i.querySelector("[data-hide-text]");n&&(n.hidden=!1),o&&(o.hidden=!0),t.replaceWith(i)}syncHiddenInputsFromState(){this.form&&A.forEach(e=>{E(this.form,e,this.state.selected[e])})}getAllLabel(e,t){const n=Array.from(e.querySelectorAll("a[href]")).find(l=>b(l,t)==="");if(!(n!=null&&n.textContent))return Y;const[o]=n.textContent.split("(");return o.trim()||Y}applyNoResultsState(e){this.latestResultCount=e,this.updateNoResultsVisibility()}handleSuggestionsOpenChange(e){this.suggestionsOpen=e,this.updateNoResultsVisibility()}updateNoResultsVisibility(){this.noResultsElement&&(this.noResultsElement.hidden=this.suggestionsOpen||this.latestResultCount===null||this.latestResultCount>0)}setLoading(e){this.modalBody&&(e?this.modalBody.setAttribute("aria-busy","true"):this.modalBody.removeAttribute("aria-busy")),this.loadingElement&&(e?(this.clearLoadingTimer(),this.state.loadingTimer=setTimeout(()=>{this.loadingElement&&(this.loadingElement.hidden=!1),this.state.loadingTimer=null},180)):(this.clearLoadingTimer(),this.loadingElement.hidden=!0))}announceStatus(e){this.statusElement&&(this.statusElement.textContent=e)}expandActivePanels(){!this.modal||!this.form||this.modal.querySelectorAll("[data-cast-filter-panel]").forEach(e=>{if(!(e instanceof HTMLDetailsElement))return;const t=e.getAttribute("data-cast-filter-panel");if(!T(t))return;X(this.form,t).some(n=>n.value!=="")&&(e.open=!0)})}}q.register("cast-search-modal");

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.