1import{o as g,c as w,a as m,u as i,i as z,b as h,r as x,d as we,t as G,e as q,w as re,v as je,F as B,f as J,n as H,g as R,h as Y,j as W,T as qe,_ as Ee,k as Ie,l as Ue,m as Se,p as ae,q as ue,s as U,x as E,y as D,z as V,A as Be,B as Ve,C as Z,D as he,E as Me,G as se,H as _e,I as Ne,J as Re,K as ie,L as Qe,M as He,N as ze,O as Je,P as We,Q as Ge}from"./_plugin-vue_export-helper-ea018eae.js";import{s as Xe,a as Ye}from"./animation-32f7104e.js";const Ze={focusable:"false","aria-hidden":"true"},et=["href"],tt={__name:"SpriteIcon",props:{name:{type:String,required:!0}},setup(s){return(l,r)=>(g(),w("svg",Ze,[m("use",{href:`#${s.name}`},null,8,et)]))}};function st(s={}){const{canUpdateQueryString:l=!0,nonFacetParams:r=["keyword","page","sort","direction"]}=s,o=i(l),a=z("filterListingSettings"),u=Object.keys(a.facets),p=(c="target_id")=>{const S={};if(o){const k=window.location.search,_=new URLSearchParams(k);for(const y of _.keys())r.includes(y)?S[y]=_.get(y):S[y]=_.getAll(y).map($=>({[c]:$}))}return S},d=(c,S="target_id")=>{if(o){const k=new URLSearchParams;return Object.entries(c).forEach(([_,y])=>{Array.isArray(y)?y.forEach($=>{k.append(_,$[S])}):k.append(_,y)}),k.toString()}},e=(c=p())=>{const S={};return Object.keys(c).forEach(k=>{u.includes(k)&&(a.facets[k].show_only_one_result===!1?Object.assign(S,{[k]:c[k]}):Object.assign(S,{[k]:[c[k][0]]}))}),S},t=(c=p())=>c.keyword||"",n=(c=p())=>Number(c.page)||1,f=(c=p())=>c.sort||"",v=(c=p())=>c.direction||"";return{buildQueryString:d,getQueryStringData:()=>{const c=p();return{keyword:t(c),facets:e(c),page:n(c),sortBy:f(c),sortDirection:v(c)}}}}const rt={api:"/api/listing"},le={default:"FacetDropdownCustom"},ot=s=>le[s]?le[s]:le.default;function nt(s,l,r,o,a,u){const p=z("filterListingSettings"),d=h(()=>(l.value-1)*s),e=h(()=>{const b=new URLSearchParams;return l.value===1?b.delete("page"):b.append("page",l.value-1),b.toString()}),t=h(()=>{let b=new URLSearchParams;return a.value.length&&b.set("fulltext",a.value),b.toString()}),n=h(()=>{const b=new URLSearchParams;return u.value.search_key?(b.append(`sort[${u.value.search_key}][path]`,u.value.search_key),b.append(`sort[${u.value.search_key}][direction]`,u.value.direction)):r.forEach(c=>{b.append(`sort[${c.search_key}][path]`,c.search_key),b.append(`sort[${c.search_key}][direction]`,c.direction)}),b.toString()}),f=h(()=>{const b=i(o),c=new URLSearchParams;return Object.keys(b).forEach(S=>{const k=b[S];c.append(`filter[${S}][path]`,p.facets[S].field),k.forEach(_=>{c.append(`filter[${S}][value][]`,_.target_id)})}),c.toString()}),v=h(()=>{const b=`${rt.api}/${p.paragraph_id}`,c=[e.value,t.value,f.value,n.value].filter(S=>S!=="").join("&");return c?`${b}?${c}`:b});return{pagerOffset:d,searchQuery:v}}function xe(){const s=z("filterListingSettings"),l=e=>s.facets[i(e)].show_only_one_result===!1,r=(e,t,n)=>(t in e?e[t].push(n):Object.assign(e,{[t]:[n]}),e),o=(e,t,n)=>{if(e[t].length===1)delete e[t];else{const f=e[t].filter(v=>![v.target_id].includes(n.target_id));Object.assign(e,{[t]:f})}return e},a=(e,t,n)=>{const f=n.filter(v=>v!=="");return f.length?e[t]=f.map(v=>({target_id:v})):delete e[t],e},u=(e,t,n)=>{var c;const f=typeof e[t]<"u",v=(c=e[t])==null?void 0:c[0].target_id,b={target_id:n};return f&&delete e[t],n!==v&&(e=r(e,t,b)),e},p=(e,t,n)=>{const f=t in e&&typeof e[t].find(b=>b.target_id===n)<"u",v={target_id:n};return n.length===0?delete e[t]:f?e=o(e,t,v):e=r(e,t,v),e};return{addFacet:r,removeFacet:o,replaceFacet:a,toggleFacet:(e,t,n)=>{const f=l(t);return Array.isArray(n)?(a(e,t,n),e):f?p(e,t,n):u(e,t,n)},isMultipleChoiceFilter:l}}function lt(s,l){const r=x(!0),o=x(!0),a=x(!1);return{pushState:()=>{const p=JSON.stringify(s.value);let d;if(r.value?d="pushState":o.value&&(d="replaceState"),d){const e=l.value?`${window.location.pathname}?${l.value}`:window.location.pathname;window.history[d](p,"",e)}r.value=!0,o.value=!1,a.value=!1},isPopState:a,shouldPushState:r}}const ke=we("dataset",()=>{const s=x(!1),l=x(!1),r=x({}),o=x(null),a=h(()=>{var e,t;return((t=(e=r.value)==null?void 0:e.meta)==null?void 0:t.count)??0}),u=h(()=>{var e,t;return((t=(e=r.value)==null?void 0:e.meta)==null?void 0:t.facets)??[]}),p=h(()=>Object.keys(r.value).length>0),d=h(()=>o.value!==null);return{hasLoadedInitialData:s,isLoading:l,results:r,resultsCount:a,facets:u,hasData:p,error:o,hasDatasetError:d}}),at=we("state",()=>{const s=x(null),l=x({}),r=x({}),o=x(""),a=v=>{o.value=v,n()},u=()=>{a("")},p=v=>{r.value=v,n()},d=h(()=>Object.keys(l.value).sort().reduce((b,c)=>(Array.isArray(l.value[c])?b[c]=[...l.value[c]].sort((S,k)=>S.target_id-k.target_id):b[c]=l.value[c],b),{})),e=h(()=>({keywordSearch:o.value,selectedFacets:d.value,currentPage:s.value,sortBy:r.value})),t=v=>{s.value=v},n=()=>{t(1)};return{currentPage:s,selectedFacets:l,orderedSelectedFacets:d,changePage:t,resetCurrentPage:n,resetFilters:()=>{l.value={},n(),u()},setSortOption:p,state:e,keywordSearch:o,resetKeyword:u,updateKeyword:a,sortBy:r}}),it=["for"],ut=["id","disabled","multiple"],ct=["value"],dt={__name:"FacetDropdownNative",props:{facet:{type:Object,required:!0}},emits:["update:selected-facets"],setup(s,{emit:l}){const r=s,{facet:o}=G(r),a=z("filterListingSettings"),u=l,p=x(o.value.id),d=h(()=>r.facet.terms.length===0),e=h(()=>a.facets[p.value].show_only_one_result===!1),t=h({get(){const n=r.facet.terms.find(f=>f.active);return e.value?r.facet.terms.filter(f=>f.active).map(f=>f.value):n?n.value:""}
1,set(n){u("update:selected-facets",p.value,n)}});return(n,f)=>(g(),w("div",null,[m("label",{for:`facet-${i(o).id}`},q(i(o).label),9,it),re(m("select",{id:`facet-${i(o).id}`,"onUpdate:modelValue":f[0]||(f[0]=v=>t.value=v),class:H({"pointer-events-none":d.value}),disabled:d.value,multiple:e.value,onChange:f[1]||(f[1]=(...v)=>n.onUpdateSelectedFacets&&n.onUpdateSelectedFacets(...v))},[f[2]||(f[2]=m("option",{value:""}," Select a value ",-1)),(g(!0),w(B,null,J(i(o).terms,(v,b)=>(g(),w("option",{key:b,value:v.value},q(v.label),9,ct))),128))],42,ut),[[je,t.value]])]))}};function pt(s,l={}){const{listboxOptions:r,isSelected:o,showResults:a=x(!0)}=l,u=x(0),p=h(()=>{var v;return(v=r.value[u.value])==null?void 0:v.value}),d=v=>{const b=s.value.children[u.value],c=s.value.offsetHeight,S=s.value.scrollTop,k=S+c,_=b.offsetTop,y=_+b.offsetHeight;(S<_&&k>y)===!1&&(v==="up"?u.value===0?s.value.scrollTop=0:s.value.scrollTop=_:u.value===r.value.length-1?s.value.scrollTop=y:s.value.scrollTop=y-c)};return{arrowCounter:u,activeOption:p,onDownKeyPress:()=>{a.value&&r.value.length&&o.value&&u.value<r.value.length-1&&(document.body.classList.add("tabbing"),u.value=u.value+1,d("down"))},onUpKeyPress:()=>{a.value&&r.value.length&&o.value&&u.value>0&&(document.body.classList.add("tabbing"),u.value=u.value-1,d("up"))},onHomeKeyPress:()=>{a.value&&r.value.length&&o.value&&(document.body.classList.add("tabbing"),u.value=0,d("up"))},onEndKeyPress:()=>{a.value&&r.value.length&&o.value&&(document.body.classList.add("tabbing"),u.value=r.value.length-1,d("down"))}}}const ft={__name:"TransitionSlide",setup(s){const l=(o,a)=>{Xe(o,{onCompleteCallback:()=>a()})},r=(o,a)=>{Ye(o,{onCompleteCallback:()=>a()})};return(o,a)=>(g(),R(qe,{css:!1,name:"slide-fade",onEnter:l,onLeave:r},{default:Y(()=>[W(o.$slots,"default")]),_:3}))}};const vt=["aria-controls","aria-haspopup","disabled","onKeydown"],gt={class:"block px-7 [ 2xl:px-12 ]"},mt={class:"border-l-2 h-full flex items-center justify-center w-12 [ lg:w-14 ][ 2xl:w-20 ]"},bt={key:0,class:"absolute z-10 w-full bg-color-blue-700 text-color-white border border-t-0 border-color-cream-500"},yt={class:"p-5"},ht=["id","aria-multiselectable","aria-activedescendant","onKeydown"],wt=["id","aria-selected","onMouseover"],St={class:"flex w-4 h-4 ml-3 bg-color-blue-700 text-color-white"},_t={__name:"AppListbox",props:{id:{type:String,required:!0},modelValue:{type:[String,Array],required:!0},options:{type:Array,required:!0},valueProperty:{type:String,default:"value"},uncheckedLabel:{type:String,default:"Please select"},labelOverride:{type:String,default:""},closeOnSelection:{type:Boolean,default:!0},isDisabled:{type:Boolean,default:!1},isMultipleChoice:{type:Boolean,default:!1}},emits:["update:modelValue","on:open-complete"],setup(s,{expose:l,emit:r}){const o=s,{options:a}=G(o),u=r,p=x(),d=x(),e=x(),t=x(!1),{arrowCounter:n,activeOption:f,onDownKeyPress:v,onUpKeyPress:b,onHomeKeyPress:c,onEndKeyPress:S}=pt(d,{listboxOptions:a,isSelected:t}),k=()=>{t.value=!0,ae(()=>{d.value.focus(),u("on:open-complete")}
1)},_=()=>{t.value!==!1&&(t.value=!1,n.value=0,p.value.focus())},y=()=>{t.value?_():k()};Ie(e,_),Ue("Escape",_);const $=L=>{var C;return(C=o.options.find(M=>M[o.valueProperty]===L))==null?void 0:C.label},A=h(()=>{const L=$(o.modelValue);return L||o.uncheckedLabel}),O=()=>{const L=o.options[n.value][o.valueProperty];u("update:modelValue",L),o.closeOnSelection&&_()},P=L=>Array.isArray(o.modelValue)?o.modelValue.includes(L):L===o.modelValue,F=x(""),K=()=>{const L=e.value.getBoundingClientRect(),C=L.left>=0,M=L.right<=(window.innerWidth||document.documentElement.clientWidth);C?M?F.value="":F.value="right":F.value="left"};Se(t,()=>{ae(()=>{K()})});const X=h(()=>o.modelValue.length>0);return l({listboxContainer:e,closeDropdown:_}),(L,C)=>{const M=ue("SpriteIcon");return g(),w("div",{ref_key:"listboxContainer",ref:e,class:"relative"},[m("button",{ref_key:"dropdownButton",ref:p,type:"button",class:H(["flex justify-between items-center w-full text-left text-lg font-medium p-0 border-2 rounded-sm h-12 [ lg:h-14 ][ 2xl:h-20 2xl:text-xl ]",[s.isDisabled&&"pointer-events-none opacity-50",X.value?"bg-color-blue-300":"bg-color-white"]]),role:"combobox","aria-controls":s.id,"aria-haspopup":s.isDisabled?"":"listbox",disabled:s.isDisabled,onKeydown:[U(E(y,["prevent"]),["down"]),U(E(y,["prevent"]),["up"])],onClick:y},[W(L.$slots,"buttonLabel",{selectedOptionLabel:s.labelOverride||A.value},()=>[m("span",gt,q(s.labelOverride||A.value),1)],!0),W(L.$slots,"buttonIcon",{isSelected:t.value},()=>[m("span",mt,[V(M,{name:"sprite-icon-triangle-right",class:H(["w-3 h-3 fill-color-current duration-200",[t.value?"-rotate-90":"rotate-90"]])},null,8,["class"])])],!0)],42,vt),s.isDisabled?D("",!0):(g(),R(ft,{key:0},{default:Y(()=>[t.value?(g(),w("div",bt,[m("div",yt,[W(L.$slots,"beforeListbox",Be(Ve({onDownKeyPress:i(v),onUpKeyPress:i(b),onHomeKeyPress:i(c),onEndKeyPress:i(S),selectActiveOption:O})),void 0,!0),m("ul",{id:s.id,ref_key:"listbox",ref:d,role:"listbox","aria-multiselectable":s.isMultipleChoice||null,"aria-activedescendant":i(f)?`option-${i(f)}`:null,tabindex:"-1",class:"app-listbox mb-5 last:mb-0 max-h-[16.25rem] overflow-y-auto",onKeydown:[C[0]||(C[0]=U(E((...T)=>i(v)&&i(v)(...T),["prevent"]),["down"])),C[1]||(C[1]=U(E((...T)=>i(b)&&i(b)(...T),["prevent"]),["up"])),C[2]||(C[2]=U(E((...T)=>i(c)&&i(c)(...T),["prevent"]),["home"])),C[3]||(C[3]=U(E((...T)=>i(S)&&i(S)(...T),["prevent"]),["end"])),U(E(O,["prevent"]),["enter"])]},[(g(!0),w(B,null,J(i(a),(T,ee)=>(g(),w("li",{id:`option-${T[s.valueProperty]}`,key:T[s.valueProperty],role:"option",class:H(["p-1 flex items-center justify-between cursor-pointer text-base mb-1 [ last:mb-0 ]",{"bg-color-blue-300/50":ee===i(n),"bg-color-blue-300 text-color-blue-700":P(T[s.valueProperty])}]),"aria-selected":P(T[s.valueProperty])?!0:null,onMouseover:Q=>n.value=ee,onClick:O},[W(L.$slots,"optionText",he({ref_for:!0},{label:T.label}),()=>[Z(q(T.label),1)],!0),W(L.$slots,"optionActiveIcon",he({ref_for:!0},{isActive:P(T[s.valueProperty])}),()=>[re(m("span",St,[V(M,{name:"sprite-icon-cross",class:"w-2.5 h-2.5 m-auto fill-color-current"})],512),[[Me,P(T[s.valueProperty])]])],!0)],42,wt))),128))],40,ht),W(L.$slots,"afterListBox",{},void 0,!0)])])):D("",!0)]),_:3}))],512)}}},$e=Ee(_t,[["__scopeId","data-v-2bf68acd"]]),xt=["id"],kt={key:0,class:"mb-5 last:mb-0"},$t=["for"],Pt=["id","onKeydown"],Lt={class:"[ lg:text-lg ]"},Ct={__name:"FacetDropdownCustom",props:{facet:{type:Object,required:!0},labelPrefix:{type:String,default(){return""}},isSelected:{type:Boolean,required:!0},containerElement:{type:String,default(){return"div"}},showTextFilter:{type:Boolean,default:!1},updateImmediately:{type:Boolean,default:!0},hasActiveSelectionIdentifier:{type:Boolean,default:!0}},emits:["update:selected-facets","toggle:dropdown"],setup(s,{emit:l}){const r=s,{facet:o}=G(r),a=z("filterListingSettings"),u=l,p=a.facets,d=x([]),e=x(null),t=x(),n=x(""),f=h(()=>o.value.id),v=h(()=>p[f.value].label),b=h(()=>o.value.terms.length===0),c=h(()=>o.value.terms.filter(P=>P.label.toLowerCase().indexOf(n.value.toLowerCase())!==-1)),{isMultipleChoiceFilter:S}=xe(),k=S(f),_=P=>{const F=d.value.indexOf(P);if(F!==-1){d.value.splice(F,1);return}if(k){d.value.push(P);return}d.value=[P]},y=h({get:()=>o.value.terms.filter(P=>P.active).map(P=>P.value),set(P){$(P)}});se(()=>{d.value=y.value});const $=P=>{r.updateImmediately?(_(P),A()):_(P)},A=()=>{u("update:selected-facets",f.value,d.value),e.value.closeDropdown(),n.value=""},O=()=>{r.showTextFilter!==!1&&ae(()=>{t.value.focus()})};return(P,F)=>(g(),w("div",null,[m("div",{id:`listbox-${i(o).id}`,class:"sr-only"},q(i(o).label),9,xt),V($e,{id:i(o).id,ref_key:"listbox",ref:e,modelValue:y.value,"onUpdate:modelValue":F[1]||(F[1]=K=>y.value=K),"aria-labelledby":`listbox-${i(o).id}`,"label-override":i(o).label,options:c.value,"is-disabled":b.value,"is-multiple-choice":i(k),"close-on-selection":s.updateImmediately,"onOn:openComplete":O},{beforeListbox:Y(({onDownKeyPress:K,onUpKeyPress:X,onHomeKeyPress:L,onEndKeyPress:C,selectActiveOption:M})=>[s.showTextFilter?(g(),w("div",kt,[m("label",{class:"sr-only",for:`dropdown-filter-${f.value}`}," Filtered results for results for "+q(v.value),9,$t),re(m("input",{id:`dropdown-filter-${f.value}`,ref_key:"textFilter",ref:t,"onUpdate:modelValue":F[0]||(F[0]=T=>n.value=T),type:"search",class:"border mb-5",onKeydown:[U(E(K,["prevent"]),["down"]),U(E(X,["prevent"]),["up"]),U(E(L,["prevent"]),["home"]),U(E(C,["prevent"]),["end"]),U(E(M,["prevent"]),["enter"])]},null,40,Pt),[[_e,n.value]])])):D("",!0)]),optionText:Y(({label:K})=>[m("span",Lt,q(K),1)]),afterListBox:Y(()=>
1[s.updateImmediately?D("",!0):(g(),w("button",{key:0,type:"button",class:"c-button mb-5 last:mb-0",onClick:A}," Save "))]),_:1},8,["id","modelValue","aria-labelledby","label-override","options","is-disabled","is-multiple-choice","close-on-selection"])]))}},Ot={components:{FacetDropdownNative:dt,FacetDropdownCustom:Ct}},Ft=Object.assign(Ot,{__name:"TheFacets",props:{facets:{type:Array,required:!0},availableFilters:{type:Object,required:!0},selectedDropdown:{type:String,required:!0}},emits:["update:filters","update:selected-dropdown"],setup(s,{emit:l}){const r=s,o=l,a=h(()=>Object.keys(r.availableFilters).sort((e,t)=>e.weight-t.weight)),u=h(()=>r.facets.length?a.value.map(e=>r.facets.find(t=>t.id===e)).filter(e=>typeof e<"u"):a.value.map(e=>({id:e,label:r.availableFilters[e].label,path:e,terms:[]}))),p=(e,t)=>{o("update:filters",e,t)},d=e=>{o("update:selected-dropdown",e)};return(e,t)=>(g(!0),w(B,null,J(u.value,n=>(g(),R(Ne(i(ot)(n.id)),{key:n.id,facet:n,"is-selected":s.selectedDropdown===n.id,"onUpdate:selectedFacets":p,"onToggle:dropdown":d},null,40,["facet","is-selected"]))),128))}}),Tt={__name:"TheFilters",props:{facets:{type:Array,required:!0},state:{type:Object,required:!0}},emits:["update:filters"],setup(s,{emit:l}){const r=s,{facets:o}=G(r),a=l,u=z("filterListingSettings"),p=u.facets,d=x(""),e=h(()=>!Array.isArray(u.facets)&&Object.keys(u.facets).length>0),t=(f,v)=>{a("update:filters",f,v)},n=f=>{d.value=d.value!==f?f:""};return(f,v)=>
1e.value?(g(),R(Ft,{key:0,facets:i(o),"available-filters":i(p),"selected-dropdown":d.value,"onUpdate:filters":t,"onUpdate:selectedDropdown":n},null,8,["facets","available-filters","selected-dropdown"])):D("",!0)}},Dt={class:"relative"},At={type:"submit",class:"absolute top-1/2 -translate-y-1/2 text-color-blue-700 border rounded-full flex items-center justify-center group right-6 w-8 h-8 [ lg:w-10 lg:h-10 ][ 2xl:w-12 2xl:h-12 2xl:right-12 ]"},Kt={__name:"FiltersKeyword",props:{selectedKeyword:{type:String,required:!0}},emits:["update-keyword"],setup(s,{emit:l}){const r=s,o=l,a=x("");return se(()=>{a.value=r.selectedKeyword}),(u,p)=>{const d=ue("SpriteIcon");return g(),w("form",{class:"mb-7",onSubmit:p[1]||(p[1]=E(e=>o("update-keyword",a.value),["prevent"]))},[p[3]||(p[3]=m("label",{class:"sr-only",for:"filters-keyword-search"}," Keyword search ",-1)),m("div",Dt,[re(m("input",{id:"filters-keyword-search","onUpdate:modelValue":p[0]||(p[0]=e=>a.value=e),class:"appearance-none bg-color-white border-2 border-color-blue-700 py-4 pr-16 [ md:py-5 ][ lg:py-6 lg:pr-20 ][ 2xl:py-8 2xl:pr-28 ] [ placeholder:font-medium placeholder:text-color-blue-700/70 ]",type:"search",placeholder:"Keyword search"},null,512),[[_e,a.value]]),m("button",At,[p[2]||(p[2]=m("span",{class:"sr-only"}," Apply ",-1)),V(d,{class:"c-icon w-5 h-5 fill-color-current transition-transform duration-200 [ group-hover:scale-125 ]",name:"sprite-icon-search"})])])],32)}}},jt={key:0,class:"flex-none mb-14 [ lg:mb-20 ]"},qt={class:"flex items-start justify-between"},Et={class:"flex flex-wrap gap-4"},It={class:"sr-only"},Ut=["onClick"],Bt={class:"flex items-center uppercase font-medium text-base bg-color-blue-300 p-0 border border-color-current rounded-sm [ lg:text-lg ][ 2xl:text-xl ]"},Vt={class:"px-2.5"},Mt={class:"text-color-blue-300 bg-color-blue-700 p-2 flex items-center justify-center"},Nt={__name:"SelectedItems",props:{facets:{type:Array,required:!0},availableFilters:{type:Object,required:!0}},emits:["update:filters","reset:filters"],setup(s,{emit:l}){const r=s,o=l,a=h(()=>{const e={};return r.facets.forEach(t=>{const n=t.terms.filter(f=>f.active===!0);n.length&&(t in e?e[t.id].push(n):Object.assign(e,{[t.id]:n}))}),e}),u=h(()=>Object.keys(a.value).length>0),p=e=>r.availableFilters[e].label,d=(e,t)=>{o("update:filters",e,t)};return(e,t)=>{const n=ue("SpriteIcon");return u.value?(g(),w("div",jt,[m("div",qt,[m("ul",Et,[(g(!0),w(B,null,J(a.value,(f,v)=>(g(),w(B,{key:`category-${v}`},[m("li",It,q(p(v))+": ",1),(g(!0),w(B,null,J(f,(b,c)=>(g(),w("li",{key:`${v}-${c}`},[m("button",{type:"button",class:"group p-0",onClick:S=>d(v,b.value)},[m("span",Bt,[m("span",Vt,q(b.label),1),m("span",Mt,[V(n,{name:"sprite-icon-cross",class:"fill-color-current transition-transform duration-200 w-[0.9375rem] h-[0.9375rem] [ group-hover:scale-90 ][ lg:w-[1.125rem] lg:h-[1.125rem] ]"})])])],8,Ut)]))),128))],64))),128))]),m("button",{type:"button",class:"p-0 text-lg font-medium group",onClick:t[0]||(t[0]=f=>e.$emit("reset:filters"))}
1,t[1]||(t[1]=[m("span",{class:"link-underline link-underline-on whitespace-nowrap [ group-hover:link-underline-off ]"}," Clear all ",-1)]))])])):D("",!0)}}},Rt=["innerHTML"],Qt={__name:"TheTeaser",props:{teaserData:{type:Object,required:!0}},setup(s){const l=s,{teaserData:r}=G(l);return(o,a)=>(g(),w("div",{innerHTML:i(r).markup},null,8,Rt))}},Ht=["aria-hidden"],zt={__name:"LoadingTeaserSkeleton",props:{isFirst:{type:Boolean,required:!0}},setup(s){return(l,r)=>(g(),w("div",{"aria-hidden":s.isFirst===!1?!0:null,class:"mb-7 last:mb-0 motion-safe:animate-pulse [ lg:mb-12 ][ 2xl:mb-14 ]"},r[0]||(r[0]=[Re('<div class="flex-1 space-y-6 py-1"><div class="h-5 bg-color-black/10 w-2/3"></div><div class="space-y-3"><div class="grid grid-cols-3 gap-4"><div class="h-2.5 bg-color-black/10 col-span-2"></div><div class="h-2.5 bg-color-black/10 col-span-1"></div></div><div class="h-2.5 bg-color-black/10"></div></div></div><div class="sr-only"> Loading...please wait </div>',2)]),8,Ht))}},Jt={key:1,class:"mb-20"},Wt={__name:"TheTeasers",props:{hasLoadedInitialData:{type:Boolean,required:!0},results:{type:Array,default(){return[]}},resultsCount:{type:Number,required:!0},itemsPerPage:{type:Number,required:!0},state:{type:Object,required:!0},isLoading:{type:Boolean,required:!0}},setup(s){const l=s,r=z("filterListingSettings"),o=h(()=>!l.hasLoadedInitialData||l.resultsCount===0?l.itemsPerPage:l.results.length<l.itemsPerPage?l.resultsCount:l.itemsPerPage),a=x(r.listing_id);return(u,p)=>(g(),w(B,null,[s.isLoading?(g(!0),w(B,{key:0},J(o.value,d=>(g(),R(zt,{key:d,"is-first":d===1},null,8,["is-first"]))),128)):D("",!0),s.results.length?(g(),w("div",Jt,[(g(!0),w(B,null,J(s.results,(d,e)=>(g(),R(Qt,{key:e,"teaser-data":d,"filter-listing-type":a.value,class:H(["group",{hidden:s.isLoading}]),"aria-busy":s.isLoading?!0:null},null,8,["teaser-data","filter-listing-type","class","aria-busy"]))),128))])):D("",!0)],64))}},Gt={key:0,class:"flex flex-wrap gap-0.5 [ lg:border-2 lg:rounded-sm ]"},Xt={key:0,class:"mr-auto flex-1 [ lg:border-r-2 lg:flex-none ]"},Yt=["disabled","aria-disabled"],Zt={key:1,class:"ml-auto flex-1 [ lg:border-l-2 lg:flex-none lg:order-last ]"},es=["disabled","aria-disabled"],ts={class:"flex w-full order-first justify-center border-2 rounded-sm mb-0.5 py-2.5 [ lg:mb-0 lg:border-0 lg:w-auto lg:order-none lg:py-0 ]"},ss=["aria-current"],rs=["onClick"],os={key:1},ns={__name:"ThePagination",props:{resultsCount:{type:Number,default:()=>0},currentPage:{type:Number,required:!0},paginationSize:{type:Number,required:!0}},emits:["update:pagination"],setup(s,{emit:l}){const r=s,{paginationSize:o}=G(r),a=l,u=x(o),p=x(4),d=x(1),e=x(!0),t=h(()=>Math.ceil(r.resultsCount/u.value)),n=h(()=>{const _=[];let y=r.currentPage-Math.floor(p.value/2);y<1&&(y=d.value);let $=y+p.value-1;$>t.value&&($=t.value);const A=$-t.value;A>0&&(y=r.currentPage-(Math.floor(p.value/2)+A));for(let O=1;O<=t.value;O+=1){const P=O>=y&&O<=$,F=O===1,K=O===t.value;(P||F||K)&&_.push(O)}return _}),f=h(()=>{const _=[];return n.value.forEach((y,$,A)=>{const O=A[$-1];O&&(y-O===2?_.push(O+1):y-O!==1&&_.push("BREAK")),_.push(y)}),_}),v=h(()=>r.currentPage-1),b=h(()=>r.currentPage+1),c=h(()=>r.currentPage<=d.value),S=h(()=>r.currentPage>=t.value),k=_=>{a("update:pagination",_)};return(_,y)=>n.value.length>1?(g(),w("div",Gt,[e.value?(g(),w("div",Xt,[m("button",{type:"button",disabled:c.value,"aria-disabled":c.value,class:H(["h-full w-full bg-color-white p-5 border-2 rounded-sm transition-colors duration-300 [ hover:bg-color-turquoise-500 ][ lg:border-0 lg:rounded-none ][ xl:min-w-[13.75rem] ]",[c.value&&"pointer-events-none opacity-50 bg-color-transparent"]]),onClick:y[0]||(y[0]=$=>k(v.value))},y[2]||(y[2]=[m("span",null,[Z("Previous "),m("span",{class:"sr-only"},"page")],-1)]),10,Yt)])):D("",!0),e.value?(g(),w("div",Zt,[m("button",{type:"button",disabled:S.value,"aria-disabled":S.value,class:H(["h-full w-full bg-color-white p-5 border-2 rounded-sm transition-colors duration-300 [ hover:bg-color-turquoise-500 ][ lg:border-0 lg:rounded-none ][ xl:min-w-[13.75rem] ]",[S.value&&"pointer-events-none opacity-50 bg-color-transparent"]]),onClick:y[1]||(y[1]=$=>k(b.value))},y[3]||(y[3]=[m("span",null,[Z("Next "),m("span",{class:"sr-only"},"page")],-1)]),10,es)])):D("",!0),m("ul",ts,[(g(!0),w(B,null,J(f.value,($,A)=>(g(),w("li",{key:A,"aria-current":$===s.currentPage?"page":null,class:"flex items-center"}
1,[$!=="BREAK"?(g(),w("button",{key:0,type:"button",class:"p-0 text-lg",onClick:O=>k($)},[y[4]||(y[4]=m("span",{class:"sr-only"},"Page",-1)),m("span",{class:H(["flex items-center justify-center w-10 h-10 rounded-full",[$===s.currentPage&&"bg-color-red-500 text-color-white"]])},q($),3)],8,rs)):(g(),w("span",os," ⦠"))],8,ss))),128))])])):D("",!0)}},ls={key:0,role:"alert",class:"mb-7 text-color-black last:mb-0 [ lg:mb-12 ][ 2xl:mb-14 ]"},as={key:1,class:"flex flex-col items-start gap-7"},is=["innerHTML"],us={__name:"StatusMessages",emits:["reset:filters"],setup(s,{emit:l}){const r=z("filterListingSettings"),o=l,a=ke(),{hasLoadedInitialData:u,resultsCount:p,hasDatasetError:d}=ie(a);return(e,t)=>(g(),w(B,null,[i(d)?(g(),w("div",ls,[t[3]||(t[3]=m("h3",{class:"text-xl font-base mb-5 [ last:mb-0 ][ md:text-2xl ][ lg:text-5xl ][ 2xl:mb-7 ]"}," An error has occurred ",-1)),t[4]||(t[4]=m("p",{class:"mb-5"}," There was an error processing your request, please try again later ",-1)),m("button",{type:"button",class:"c-button",onClick:t[0]||(t[0]=n=>o("reset:filters"))},t[2]||(t[2]=[m("span",null,"Reset search",-1)]))])):D("",!0),i(u)&&i(p)===0?(g(),w("div",as,[m("div",{class:"c-wysiwyg c-wysiwyg--small p-7 bg-color-white",innerHTML:i(r).noResultsMessage},null,8,is),m("button",{type:"button",class:"c-button",onClick:t[1]||(t[1]=n=>o("reset:filters"))},t[5]||(t[5]=[m("span",null,"Reset search",-1)]))])):D("",!0)],64))}},cs={__name:"SortBy",props:{sortOptions:{type:Array,required:!0},selectedOption:{type:Object,default(){return{}}}},emits:["set:sort-option"],setup(s,{emit:l}){const r=s,o=l,a=h({get:()=>JSON.stringify({direction:r.selectedOption.direction,search_key:r.selectedOption.search_key}),set(u){o("set:sort-option",JSON.parse(u))}});return(u,p)=>(g(),R($e,{id:"sort-by",modelValue:a.value,"onUpdate:modelValue":p[0]||(p[0]=d=>a.value=d),options:s.sortOptions,"label-override":"Sort by"},null,8,["modelValue","options"]))}},ds={class:"text-lg mb-7 font-light [ mb:mb-10 ][ lg:mb-14 lg:text-xl ][ 2xl:text-2xl ]","aria-live":"polite"},ps={__name:"ItemsCountMessage",props:{resultsCount:{type:Number,required:!0},itemsPerPage:{type:Number,required:!0},pagerOffset:{type:Number,required:!0},keywordSearch:{type:String,required:!0}},setup(s){const l=s,r=h(()=>l.pagerOffset+1),o=h(()=>{const a=r.value+(l.itemsPerPage-1);return a<l.resultsCount?a:l.resultsCount});return(a,u)=>(g(),w("p",ds,[Z(" Showing "+q(r.value)+" - "+q(o.value)+" of "+q(s.resultsCount)+" ",1),s.keywordSearch?(g(),w(B,{key:0},[Z(" for â"+q(s.keywordSearch)+"â ",1)],64)):D("",!0)]))}};function fs(s=document){return s.querySelectorAll("a, button, input, textarea, select, details, [tabindex]")}function vs(s=document){return[...fs(s)].filter(r=>{const o=r.offsetParent===null;return!(r.hasAttribute("disabled")||r.getAttribute("tabindex")==="-1"||o)})}function gs(s=document){return vs(s)[0]}const ms={class:"[ lg:grid lg:grid-cols-12 lg:gap-x-grid-lg lg:relative ][ 2xl:gap-x-grid-2xl ]"},bs={key:0,class:"[ lg:col-span-8 ]"},ys={key:1,class:"mb-14 [ lg:mb-0 lg:row-start-1 lg:row-end-4 lg:col-span-4 lg:mr-12 ][ 2xl:mr-14 ]"},hs={class:"space-y-2.5 [ lg:space-y-5 lg:sticky lg:top-[calc(var(--gin-toolbar-height,theme(spacing.4))_+_theme(spacing.4))] ][ 2xl:space-y-7 ]"},ws={__name:"FiltersTeasersContainer",setup(s){const l=x(!0),r=z("filterListingSettings"),o=ke(),a=at(),u=x(),p=()=>{const j=document.documentElement,I=getComputedStyle(j).getPropertyValue("--sticky-jumplinks-height");let N=u.value.offsetTop;I&&(N=N-parseInt(I)),window.scrollTo({top:N,behavior:"smooth"}),gs(u.value).focus({preventScroll:!0})},{results:d,isLoading:e,hasLoadedInitialData:t,resultsCount:n,facets:f,error:v}=ie(o),{changePage:b,resetCurrentPage:c,resetFilters:S,updateKeyword:k,resetKeyword:_,setSortOption:y}=a,{currentPage:$,selectedFacets:A,orderedSelectedFacets:O,keywordSearch:P,sortBy:F,state:K}=ie(a),X=r.user_sorts,L=r.pagination,C=h(()=>X.map(j=>({...j,value:JSON.stringify({direction:j.direction,search_key:j.search_key})}))),{buildQueryString:M,getQueryStringData:T}=st({canUpdateQueryString:l}),{toggleFacet:ee}=xe(),Q=x(T());$.value=Q.value.page,A.value=Q.value.facets,P.value=Q.value.keyword;const ce=(()=>C.value.find(j=>{const I=Q.value.sortBy===j.search_key,N=Q.value.sortDirection===j.direction;return I&&N}))(),de=h(()=>C.value.length?C.value[0]:r.default_sorts.length?r.default_sorts:{});ce?F.value=ce:C.value.length&&(F.value=de.value);const te=Number(r.items_per_page)||10,pe=(j,I)=>{A.value=ee(A.value,j,I),c()},{pagerOffset:Pe,searchQuery:fe}=nt(te,$,r.default_sorts,A,P,F),Le=h(()=>{let j={},I={},N={};F.value.label!==de.value.label&&(N={sort:F.value.search_key,direction:F.value.direction}),P.value&&(j={keyword:P.value}),$.value>1&&(I={page:$.value});const Ke={...j,...O.value,...N,...I};return M(Ke)}),{pushState:Ce,isPopState:ve,shouldPushState:ge}=lt(K,Le),me=()=>{Q.value=T(),ve.value=!0,ge.value=!1,A.value=Q.value.facets,$.value=Q.value.page},Oe=()=>{ge.value=t.value&&!ve.value,Ce()},{isFetching:Fe,error:oe,data:be,onFetchFinally:Te}=Qe(fe,{refetch:!0}).json(),De=h(()=>r.keyword),ye=r.facets;Te(()=>{oe.value||(t.value=!0)}),Se(fe,Oe,{immediate:!0});const Ae=j=>{p(),b(j)};se(()=>{e.value=Fe.value}),se(()=>{v.value=null,oe.value&&(v.value=oe.value),be.value&&(d.value=be.value)}),He(()=>{window.addEventListener("popstate",me)}),ze(()=>{window.removeEventListener("popstate",me)});const ne=h(()=>Object.keys(ye).length>0||C.value.length>1);return(j,I)=>(g(),w("div",ms,[De.value?(g(),w("div",bs,[V(Kt,{"selected-keyword":i(K).keywordSearch,onUpdateKeyword:i(k)},null,8,["selected-keyword","onUpdateKeyword"])])):D("",!0),ne.value?(g(),w("div",ys,[m("div",hs,[C.value.length>1?(g(),R(cs,{key:0,"sort-options":C.value,"selected-option":i(F),"onSet:sortOption":i(y)},null,8,["sort-options","selected-option","onSet:sortOption"])):D("",!0),V(Tt,{facets:i(f),state:i(K),"onUpdate:filters":pe},null,8,["facets","state"])])])):D("",!0),m("div",{ref_key:"resultsTop",ref:u,class:H({"[ lg:col-span-8 lg:col-start-5 ]":ne.value,"[ lg:col-span-12 xl:col-span-8 ]":!ne.value})},[i(L)&&i(t)&&i(n)>0?(g(),R(ps,{key:0,"results-count":i(n),"items-per-page":i(te),"pager-offset":i(Pe),"keyword-search":i(P)}
1,null,8,["results-count","items-per-page","pager-offset","keyword-search"])):D("",!0),V(Nt,{facets:i(f),keyword:i(K).keywordSearch,"available-filters":i(ye),"onUpdate:filters":pe,"onReset:keyword":i(_),"onReset:filters":i(S)},null,8,["facets","keyword","available-filters","onReset:keyword","onReset:filters"]),V(us,{"onReset:filters":i(S)},null,8,["onReset:filters"]),V(Wt,{"has-loaded-initial-data":i(t),results:i(d).items,"items-per-page":i(te),"results-count":i(n),state:i(K),"is-loading":i(e)},null,8,["has-loaded-initial-data","results","items-per-page","results-count","state","is-loading"]),i(L)?(g(),R(ns,{key:1,"results-count":i(n),"current-page":i(K).currentPage,"pagination-size":Number(i(te)),"onUpdate:pagination":I[0]||(I[0]=N=>Ae(N))},null,8,["results-count","current-page","pagination-size"])):D("",!0)],2)]))}},Ss={ref:"appContainer"},_s={__name:"FilterListingApp",props:{filterListingSettings:{type:Object,required:!0}},setup(s){const l=s,{filterListingSettings:r}=G(l);return Je("filterListingSettings",r.value),(o,a)=>(g(),w("div",Ss,[V(ws)],512))}},xs=document.querySelectorAll("[data-js-filter-listing]");xs.forEach(s=>{const l=s.dataset.jsFilterListingId,r=JSON.parse(s.dataset.jsFilterListingNoResultsMessage),o={...window.drupalSettings.listing[l],noResultsMessage:r};if(o){const a=We(),u=Ge(_s,{filterListingSettings:o});u.component("SpriteIcon",tt),u.use(a),u.mount(s)}});
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.