1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Cc0ljmc4.js","./gtL6pf2-.js","./entry.DUxoxWQY.css","./BxY3FqLP.js","./ZrAlert.CmmgSVnU.css","./CmpFLWgZ.js","./BiRwdywk.js","./HubspotForm.DOkIMjls.css"])))=>i.map(i=>d[i]); 2import{ah as je,aa as S,a3 as $,aH as re,a4 as q,av as he,aR as rt,aS as Ht,ac as te,aU as Jt,a5 as U,aC as ut,X as Xt,ap as Yt,d as ee,a2 as l,aJ as $e,a8 as P,a9 as g,O as Is,S as dt,bj as Ee,ao as Ts,Z as Ps,$ as Rt,a0 as Fs,a1 as Os,bX as Zs,b0 as zt,aw as et,ai as Rs,a6 as zs,a7 as Bs,aK as Ns,aX as Ds,bi as qs,aI as $s,aW as Us,b2 as Me,bM as js,_ as Vs,ab as Gs}from"./gtL6pf2-.js";import{l as es,u as Ks,_ as Ws}from"./yvnOlIbn.js";import{u as Qs,_ as Hs}from"./C2kr2JOF.js";import{_ as Js}from"./CpUxsnbF.js";import{_ as Xs}from"./CeyJ1MQg.js";import{_ as Ys,d as ea,m as Bt,a as ta,b as Nt,r as sa,I as Dt}from"./DRweQP9r.js";import{_ as aa}from"./ClIZOYDD.js";import{_ as na}from"./BsFQSy4R.js";import{c as ra}from"./CVEYUbLG.js";import{s as la}from"./DzgG4kff.js";import{e as oa}from"./DwsuMX7p.js";import"./CSHd-CUu.js";import"./HePYngiv.js";import"./BxY3FqLP.js";import"./DGZ7XBmZ.js";import"./5C0WhncZ.js";import"./CNq8Cw-S.js";import"./BSUoh4l2.js";import"./B8PKfAo_.js";import"./DoEO37MJ.js";import"./CDiODZZX.js";import"./C2uIaQuF.js";const ia={key:0,class:"tag-slider"},ca={class:"tag-slider-scrollable-wrapper"},ua={__name:"ZrTagSlider",props:{tags:{type:Array,default:()=>[]},clearButton:{type:Boolean,default:!0},clearButtonLabel:{type:String,default:"Clear All"},theme:{type:String,default:"light",validator:o=>["light","dark"].includes(o)}},emits:["close","clearTags"],setup(o,{emit:e}){const t=e,s=n=>t("close",n),a=()=>t("clearTags");return(n,i)=>{const u=Xs,r=ut;return o.tags?(S(),$("div",ia,[re("div",ca,[q(Jt,{name:"card-grid",tag:"div",class:"tags-wrapper"},{default:he(()=>[(S(!0),$(rt,null,Ht(o.tags,(p,v)=>(S(),te(u,{key:`${p}-${v}`,tag:p.title,theme:o.theme,"close-button":!0,onClose:m=>s(p)},null,8,["tag","theme","onClose"]))),128))]),_:1}),o.clearButton?(S(),te(r,{key:0,text:o.clearButtonLabel,"show-icon":!1,theme:"text",size:"sm",class:"clear-button",onClick:a},null,8,["text"])):U("",!0)])])):U("",!0)}}},da=je(ua,[["__scopeId","data-v-d5c2ba65"]]),pa={key:2,class:"pagination-counts"},ma={__name:"LoadMoreInstallers",props:{installers:{type:Array,default:()=>[]},filteredInstallers:{type:Array,default:()=>[]},selectedInstaller:{type:Object,default:()=>({})},pageSize:{type:Number,default:30},showCounts:{type:Boolean,default:!1},analyticsContext:{type:Object,default:()=>({location_query:"",result_count:0,product_type:[]})}},emits:["quoteRequested"],setup(o,{emit:e}){const{t,n:s}=Xt(),a=e,n=o,{installers:i,filteredInstallers:u,selectedInstaller:r,pageSize:p,showCounts:v,analyticsContext:m}=Yt(n),y=g(1),_=P(()=>y.value*p.value),k=P(()=>Array.isArray(u.value)&&u.value.length>0?u.value.length:0),w=P(()=>_.value<k.value?_.value:k.value),x=P(()=>Math.ceil(k.value/p.value)),h=P(()=>y.value<x.value),C=P(()=>Array.isArray(u.value)&&u.value.length>0),T=P(()=>C.value===!0?u.value.slice(0,_.value):[]),F=P(()=>r.value?.index?T.value.filter(R=>R.index!==r.value?.index):T.value),N=()=>{y.value<x.value&&y.value++},V=R=>{if(!R||!Array.isArray(u.value))return 0;const M=u.value.findIndex(K=>K.index===R.index);return M>=0?M:0},O=(R,M,K)=>({linkPath:R,text:M,externalLink:K});return ee(u,()=>{y.value=1}),(R,M)=>{const K=Ys,W=ut;return S(),$(rt,null,[l(C)?(S(),te(Jt,{key:0,name:"card-grid",tag:"div",class:"installer-cards"},{default:he(()=>[l(r)?.index?(S(),te(K,{id:l(i)[l(r).index].installer.id,key:`installer-selected-${l(r).index}`,installer:l(i)[l(r).index],"onUpdate:installer":M[0]||(M[0]=I=>l(i)[l(r).index]=I),class:"active",distance:l(i)[l(r).index]?.distance?l(s)(l(i)[l(r).index].distance,"installer_distance_badge"):"","location-name":l(i)[l(r).index].installer.name,address:l(i)[l(r).index].installer.address,phone:l(i)[l(r).index].installer.phoneNumber,website:l(i)[l(r).index].installer.website,products:l(i)[l(r).index].products,"get-a-quote-label":l(t)("installerLocator.installerCards.labels.getAQuote"),"card-link-2":O(l(i)[l(r).index].installer.directionsLink,l(t)("installerLocator.installerCards.labels.getDirections"),!0),"analytics-index":V(l(r)),"analytics-context":l(m),onQuoteRequested:M[1]||(M[1]=I=>a("quoteRequested",I))},null,8,["id","installer","distance","location-name","address","phone","website","products","get-a-quote-label","card-link-2","analytics-index","analytics-context"])):U("",!0),(S(!0),$(rt,null,Ht(l(F),I=>(S(),te(K,{id:l(i)[I.index].installer.id,key:`installer-${I.index}`,installer:l(i)[I.index],"onUpdate:installer":A=>l(i)[I.index]=A,"location-name":l(i)[I.index].installer.name,distance:I?.distance?l(s)(I.distance,"installer_distance_badge"):"",address:l(i)[I.index].installer.address,phone:l(i)[I.index].installer.phoneNumber,website:l(i)[I.index].installer.website,"website-link-label":l(t)("installerLocator.installerCards.labels.visitWebsite"),products:l(i)[I.index].products,"get-a-quote-label":l(t)("installerLocator.installerCards.labels.getAQuote"),"card-link-2":O(l(i)[I.index].installer.directionsLink,l(t)("installerLocator.installerCards.labels.getDirections"),!0),"analytics-index":V(I),"analytics-context":l(m),onQuoteRequested:M[2]||(M[2]=A=>a("quoteRequested",A))},null,8,["id","installer","onUpdate:installer","location-name","distance","address","phone","website","website-link-label","products","get-a-quote-label","card-link-2","analytics-index","analytics-context"]))),128))]),_:1})):U("",!0),l(h)?(S(),te(W,{key:1,class:"pagination-load-more",theme:"tertiary",text:"Load More",size:"md",onClick:N})):U("",!0),l(v)===!0?(S(),$("p",pa,$e(l(t)("installerLocator.pagination.installerCounts",{currentCount:l(s)(l(w),"count"),totalCount:l(s)(l(k),"count")})),1)):U("",!0)],64)}}},ha=je(ma,[["__scopeId","data-v-42e6833d"]]);var tt,qt;function fa(){return qt||(qt=1,tt=function o(e,t){if(e===t)return!0;
2if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var s,a,n;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(a=s;a--!==0;)if(!o(e[a],t[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(n=Object.keys(e),s=n.length,s!==Object.keys(t).length)return!1;for(a=s;a--!==0;)if(!Object.prototype.hasOwnProperty.call(t,n[a]))return!1;for(a=s;a--!==0;){var i=n[a];if(!o(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}),tt}var va=fa();const $t=Is(va),Ut=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],st=1,Ce=8;class pt{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[t,s]=new Uint8Array(e,0,2);if(t!==219)throw new Error("Data does not appear to be in a KDBush format.");const a=s>>4;if(a!==st)throw new Error(`Got v${a} data when expected v${st}.`);const n=Ut[s&15];if(!n)throw new Error("Unrecognized array type.");const[i]=new Uint16Array(e,2,1),[u]=new Uint32Array(e,4,1);return new pt(u,i,n,e)}constructor(e,t=64,s=Float64Array,a){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=s,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const n=Ut.indexOf(this.ArrayType),i=e*2*this.ArrayType.BYTES_PER_ELEMENT,u=e*this.IndexArrayType.BYTES_PER_ELEMENT,r=(8-u%8)%8;if(n<0)throw new Error(`Unexpected typed array class: ${s}.`);a&&a instanceof ArrayBuffer?(this.data=a,this.ids=new this.IndexArrayType(this.data,Ce,e),this.coords=new this.ArrayType(this.data,Ce+u+r,e*2),this._pos=e*2,this._finished=!0):(this.data=new ArrayBuffer(Ce+i+u+r),this.ids=new this.IndexArrayType(this.data,Ce,e),this.coords=new this.ArrayType(this.data,Ce+u+r,e*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(st<<4)+n]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){const s=this._pos>>1;return this.ids[s]=s,this.coords[this._pos++]=e,this.coords[this._pos++]=t,s}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return lt(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,s,a){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:i,nodeSize:u}=this,r=[0,n.length-1,0],p=[];for(;r.length;){const v=r.pop()||0,m=r.pop()||0,y=r.pop()||0;if(m-y<=u){for(let x=y;x<=m;x++){const h=i[2*x],C=i[2*x+1];h>=e&&h<=s&&C>=t&&C<=a&&p.push(n[x])}continue}const _=y+m>>1,k=i[2*_],w=i[2*_+1];k>=e&&k<=s&&w>=t&&w<=a&&p.push(n[_]),(v===0?e<=k:t<=w)&&(r.push(y),r.push(_-1),r.push(1-v)),(v===0?s>=k:a>=w)&&(r.push(_+1),r.push(m),r.push(1-v))}return p}within(e,t,s){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:a,coords:n,nodeSize:i}=this,u=[0,a.length-1,0],r=[],p=s*s;for(;u.length;){const v=u.pop()||0,m=u.pop()||0,y=u.pop()||0;if(m-y<=i){for(let x=y;x<=m;x++)jt(n[2*x],n[2*x+1],e,t)<=p&&r.push(a[x]);continue}const _=y+m>>1,k=n[2*_],w=n[2*_+1];jt(k,w,e,t)<=p&&r.push(a[_]),(v===0?e-s<=k:t-s<=w)&&(u.push(y),u.push(_-1),u.push(1-v)),(v===0?e+s>=k:t+s>=w)&&(u.push(_+1),u.push(m),u.push(1-v))}return r}}function lt(o,e,t,s,a,n){if(a-s<=t)return;const i=s+a>>1;ts(o,e,i,s,a,n),lt(o,e,t,s,i-1,1-n),lt(o,e,t,i+1,a,1-n)}function ts(o,e,t,s,a,n){for(;a>s;){if(a-s>600){const p=a-s+1,v=t-s+1,m=Math.log(p),y=.5*Math.exp(2*m/3),_=.5*Math.sqrt(m*y*(p-y)/p)*(v-p/2<0?-1:1),k=Math.max(s,Math.floor(t-v*y/p+_)),w=Math.min(a,Math.floor(t+(p-v)*y/p+_));ts(o,e,t,k,w,n)}const i=e[2*t+n];let u=s,r=a;for(Ae(o,e,s,t),e[2*a+n]>i&&Ae(o,e,s,a);u<r;){for(Ae(o,e,u,r),u++,r--;e[2*u+n]<i;)u++;for(;e[2*r+n]>i;)r--}e[2*s+n]===i?Ae(o,e,s,r):(r++,Ae(o,e,r,a)),r<=t&&(s=r+1),t<=r&&(a=r-1)}}function Ae(o,e,t,s){at(o,t,s),at(e,2*t,2*s),at(e,2*t+1,2*s+1)}function at(o,e,t){const s=o[e];o[e]=o[t],o[t]=s}function jt(o,e,t,s){const a=o-t,n=e-s;return a*a+n*n}const ga={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:o=>o},Vt=Math.fround||(o=>(e=>(o[0]=+e,o[0])))(new Float32Array(1)),ne=2,Y=3,nt=4,X=5,ss=6;class ya{constructor(e){this.options=Object.assign(Object.create(ga),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:t,minZoom:s,maxZoom:a}=this.options;t&&console.time("total time");const n=`prepare ${e.length} points`;t&&console.time(n),this.points=e;const i=[];for(let r=0;r<e.length;r++){const p=e[r];if(!p.geometry)continue;const[v,m]=p.geometry.coordinates,y=Vt(De(v)),_=Vt(qe(m));i.push(y,_,1/0,r,-1,1),this.options.reduce&&i.push(0)}let u=this.trees[a+1]=this._createTree(i);t&&console.timeEnd(n);for(let r=a;r>=s;r--){const p=+Date.now();u=this.trees[r]=this._createTree(this._cluster(u,r)),t&&console.log("z%d: %d clusters in %dms",r,u.numItems,+Date.now()-p)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let s=((e[0]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,e[1]));let n=e[2]===180?180:((e[2]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)s=-180,n=180;else if(s>n){const m=this.getClusters([s,a,180,i],t),y=this.getClusters([-180,a,n,i],t);return m.concat(y)}const u=this.trees[this._limitZoom(t)],r=u.range(De(s),qe(i),De(n),qe(a)),p=u.data,v=[];for(const m of r){const y=this.stride*m;v.push(p[y+X]>1?Gt(p,y,this.clusterProps):this.points[p[y+Y]])}return v}getChildren(e){const t=this._getOriginId(e),s=this._getOriginZoom(e),a="No cluster with the specified id.",n=this.trees[s];if(!n)throw new Error(a);const i=n.data;if(t*this.stride>=i.length)throw new Error(a);const u=this.options.radius/(this.options.extent*Math.pow(2,s-1)),r=i[t*this.stride],p=i[t*this.stride+1],v=n.within(r,p,u),m=[];for(const y of v){const _=y*this.stride;i[_+nt]===e&&m.push(i[_+X]>1?Gt(i,_,this.clusterProps):this.points[i[_+Y]])}if(m.length===0)throw new Error(a);return m}getLeaves(e,t,s){t=t||10,s=s||0;const a=[];return this._appendLeaves(a,e,t,s,0),a}getTile(e,t,s){const a=this.trees[this._limitZoom(e)],n=Math.pow(2,e),{extent:i,radius:u}=this.options,r=u/i,p=(s-r)/n,v=(s+1+r)/n,m={features:[]};return this._addTileFeatures(a.range((t-r)/n,p,(t+1+r)/n,v),a.data,t,s,n,m),t===0&&this._addTileFeatures(a.range(1-r/n,p,1,v),a.data,n,s,n,m),t===n-1&&this._addTileFeatures(a.range(0,p,r/n,v),a.data,-1,s,n,m),m.features.length?m:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const s=this.getChildren(e);if(t++,s.length!==1)break;e=s[0].properties.cluster_id}return t}_appendLeaves(e,t,s,a,n){const i=this.getChildren(t);for(const u of i){const r=u.properties;if(r&&r.cluster?n+r.point_count<=a?n+=r.point_count:n=this._appendLeaves(e,r.cluster_id,s,a,n):n<a?n++:e.push(u),e.length===s)break}return n}_createTree(e){const t=new pt(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let s=0;s<e.length;s+=this.stride)t.add(e[s],e[s+1]);return t.finish(),t.data=e,t}_addTileFeatures(e,t,s,a,n,i){for(const u of e){const r=u*this.stride,p=t[r+X]>1;let v,m,y;
2if(p)v=as(t,r,this.clusterProps),m=t[r],y=t[r+1];else{const w=this.points[t[r+Y]];v=w.properties;const[x,h]=w.geometry.coordinates;m=De(x),y=qe(h)}const _={type:1,geometry:[[Math.round(this.options.extent*(m*n-s)),Math.round(this.options.extent*(y*n-a))]],tags:v};let k;p||this.options.generateId?k=t[r+Y]:k=this.points[t[r+Y]].id,k!==void 0&&(_.id=k),i.features.push(_)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:s,extent:a,reduce:n,minPoints:i}=this.options,u=s/(a*Math.pow(2,t)),r=e.data,p=[],v=this.stride;for(let m=0;m<r.length;m+=v){if(r[m+ne]<=t)continue;r[m+ne]=t;const y=r[m],_=r[m+1],k=e.within(r[m],r[m+1],u),w=r[m+X];let x=w;for(const h of k){const C=h*v;r[C+ne]>t&&(x+=r[C+X])}if(x>w&&x>=i){let h=y*w,C=_*w,T,F=-1;const N=((m/v|0)<<5)+(t+1)+this.points.length;for(const V of k){const O=V*v;if(r[O+ne]<=t)continue;r[O+ne]=t;const R=r[O+X];h+=r[O]*R,C+=r[O+1]*R,r[O+nt]=N,n&&(T||(T=this._map(r,m,!0),F=this.clusterProps.length,this.clusterProps.push(T)),n(T,this._map(r,O)))}r[m+nt]=N,p.push(h/x,C/x,1/0,N,-1,x),n&&p.push(F)}else{for(let h=0;h<v;h++)p.push(r[m+h]);if(x>1)for(const h of k){const C=h*v;if(!(r[C+ne]<=t)){r[C+ne]=t;for(let T=0;T<v;T++)p.push(r[C+T])}}}}return p}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,s){if(e[t+X]>1){const i=this.clusterProps[e[t+ss]];return s?Object.assign({},i):i}const a=this.points[e[t+Y]].properties,n=this.options.map(a);return s&&n===a?Object.assign({},n):n}}function Gt(o,e,t){return{type:"Feature",id:o[e+Y],properties:as(o,e,t),geometry:{type:"Point",coordinates:[_a(o[e]),ba(o[e+1])]}}}function as(o,e,t){const s=o[e+X],a=s>=1e4?`${Math.round(s/1e3)}k`:s>=1e3?`${Math.round(s/100)/10}k`:s,n=o[e+ss],i=n===-1?{}:Object.assign({},t[n]);return Object.assign(i,{cluster:!0,cluster_id:o[e+Y],point_count:s,point_count_abbreviated:a})}function De(o){return o/360+.5}function qe(o){const e=Math.sin(o*Math.PI/180),t=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return t<0?0:t>1?1:t}function _a(o){return(o-.5)*360}function ba(o){const e=(180-o*360)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function xa(o,e){var t={};for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&e.indexOf(s)<0&&(t[s]=o[s]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(o);a<s.length;a++)e.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(o,s[a])&&(t[s[a]]=o[s[a]]);return t}class z{static isAdvancedMarkerAvailable(e){return google.maps.marker&&e.getMapCapabilities().isAdvancedMarkersAvailable===!0}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return this.isAdvancedMarker(e)?!0:e.getVisible()}}class ot{constructor({markers:e,position:t}){this.markers=e,t&&(t instanceof google.maps.LatLng?this._position=t:this._position=new google.maps.LatLng(t))}get bounds(){if(this.markers.length===0&&!this._position)return;const e=new google.maps.LatLngBounds(this._position,this._position);for(const t of this.markers)e.extend(z.getPosition(t));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>z.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(z.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class ka{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return wa(e)}}const wa=o=>o.map(t=>new ot({position:z.getPosition(t),markers:[t]}));class ns extends ka{constructor(e){var{maxZoom:t,radius:s=60}=e,a=xa(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new ya(Object.assign({maxZoom:this.maxZoom,radius:s},a))}calculate(e){let t=!1;const s={zoom:e.map.getZoom()};if(!$t(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const a=this.markers.map(n=>{const i=z.getPosition(n);return{type:"Feature",geometry:{type:"Point",coordinates:[i.lng(),i.lat()]},properties:{marker:n}}});this.superCluster.load(a)}return t||(this.state.zoom<=this.maxZoom||s.zoom<=this.maxZoom)&&(t=!$t(this.state,s)),this.state=s,t&&(this.cluster
2s=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(t=>this.transformCluster(t))}transformCluster({geometry:{coordinates:[e,t]},properties:s}){if(s.cluster)return new ot({markers:this.superCluster.getLeaves(s.cluster_id,1/0).map(n=>n.properties.marker),position:{lat:t,lng:e}});const a=s.marker;return new ot({markers:[a],position:z.getPosition(a)})}}class Ma{constructor(e,t){this.markers={sum:e.length};const s=t.map(n=>n.count),a=s.reduce((n,i)=>n+i,0);this.clusters={count:t.length,markers:{mean:a/t.length,sum:a,min:Math.min(...s),max:Math.max(...s)}}}}class Ca{render({count:e,position:t},s,a){const i=`<svg fill="${e>Math.max(10,s.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50"> 3<circle cx="120" cy="120" opacity=".6" r="70" /> 4<circle cx="120" cy="120" opacity=".3" r="90" /> 5<circle cx="120" cy="120" opacity=".2" r="110" /> 6<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">${e}</text> 7</svg>`,u=`Cluster of ${e} markers`,r=Number(google.maps.Marker.MAX_ZINDEX)+e;if(z.isAdvancedMarkerAvailable(a)){const m=new DOMParser().parseFromString(i,"image/svg+xml").documentElement;m.setAttribute("transform","translate(0 25)");const y={map:a,position:t,zIndex:r,title:u,content:m};return new google.maps.marker.AdvancedMarkerElement(y)}const p={position:t,zIndex:r,title:u,icon:{url:`data:image/svg+xml;base64,${btoa(i)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(p)}}function Aa(o,e){for(let t in e.prototype)o.prototype[t]=e.prototype[t]}class mt{constructor(){Aa(mt,google.maps.OverlayView)}}var Le;(function(o){o.CLUSTERING_BEGIN="clusteringbegin",o.CLUSTERING_END="clusteringend",o.CLUSTER_CLICK="click"})(Le||(Le={}));const La=(o,e,t)=>{t.fitBounds(e.bounds)};class Ea extends mt{constructor({map:e,markers:t=[],algorithmOptions:s={},algorithm:a=new ns(s),renderer:n=new Ca,onClusterClick:i=La}){super(),this.markers=[...t],this.clusters=[],this.algorithm=a,this.renderer=n,this.onClusterClick=i,e&&this.setMap(e)}addMarker(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach(s=>{this.addMarker(s,!0)}),t||this.render()}removeMarker(e,t){const s=this.markers.indexOf(e);return s===-1?!1:(z.setMap(e,null),this.markers.splice(s,1),t||this.render(),!0)}removeMarkers(e,t){let s=!1;return e.forEach(a=>{s=this.removeMarker(a,!0)||s}),s&&!t&&this.render(),s}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,Le.CLUSTERING_BEGIN,this);const{clusters:t,changed:s}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(s||s==null){const a=new Set;for(const i of t)i.markers.length==1&&a.add(i.markers[0]);const n=[];for(const i of this.clusters)i.marker!=null&&(i.markers.length==1?a.has(i.marker)||z.setMap(i.marker,null):n.push(i.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame(()=>n.forEach(i=>z.setMap(i,null)))}google.maps.event.trigger(this,Le.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>z.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){const e=new Ma(this.markers,this.clusters),t=this.getMap();this.clusters.forEach(s=>{s.markers.length===1?s.marker=s.markers[0]:(s.marker=this.renderer.render(s,e,t),s.markers.forEach(a=>z.setMap(a,null)),this.onClusterClick&&s.marker.addListener("click",a=>{google.maps.event.trigger(this,Le.CLUSTER_CLICK,s),this.onClusterClick(a,s,t)})),z.setMap(s.marker,t)})}}const Kt=g(""),rs=g(""),Q=g(),H=g(),Ve=g(!1),ls=g({}),Se=g(),Ue=g({}),ht=P(()=>H.value.length),os=g([]),Sa="marker",it="active-marker",Ia="marker-wrapper",Ta="marker-cluster",Wt=async({mapDiv:o,center:e,zoom:t,minZoom:s,maxZoom:a})=>{try{const{Map:n}=await google.maps.importLibrary("maps");Q.value=new n(o.value,{center:e.value,zoom:t.value,minZoom:s.value,maxZoom:a.value,mapId:rs.value}),Q.value.addListener("click",()=>Ge()),Ve.value!==!0&&Q.value.addListener("idle",()=>us())}catch(n){console.log(n)}},ct=async({markers:o})=>{try{const{AdvancedMarkerElement:e}=await google.maps.importLibrary("marker");H.value=o.value.map(t=>{const s=document.createElement("div");s.className=Sa;
7const a=new e({...t.marker,map:Ee(Q.value),content:s});return a.element.classList.add(Ia),a.apiIndex=t?.index,a.addListener("click",n=>{Ge(),Ue.value=t,a.element.classList.add(it),a.zIndex=ht.value+99999,Q.value.panTo(n.latLng)}),a}),Ve.value===!0&&await is()}catch(e){console.log(e)}},is=async()=>{try{const{AdvancedMarkerElement:o}=await google.maps.importLibrary("marker");Se.value=new Ea({algorithm:new ns({minZoom:0}),map:Ee(Q.value),markers:Ee(H.value),onClusterClick:function(e,t,s){Ge(),s.fitBounds(t.bounds,100)},renderer:{render:({count:e,position:t},s,a)=>{const n=document.createElement("div");return n.className=Ta,n.textContent=String(e),new o({map:a,position:t,title:`Cluster of ${e} map markers`,content:n,zIndex:ht.value+e})}},...ls.value}),Se.value.addListener("clusteringend",us)}catch(o){console.log(o)}},Qt=async({markers:o})=>{cs(),await ct({markers:g(o)})},cs=()=>{Ve.value===!0?Se.value.clearMarkers():H.value.forEach(o=>o.map=null)},Pa=()=>{H.value=H.value.map((o,e)=>(z.setMap(o,e%2===0?null:Q.value),o)),Se.value.render()},Ge=()=>{if(Ue.value?.index!==void 0){Ue.value={};const o=H.value.find(e=>e.element.classList.contains(it));o!==void 0&&(o.zIndex=ht.value,o.element.classList.remove(it))}},us=()=>{const o=Q.value.getBounds();os.value=o?H.value.map((e,t)=>({index:e?.apiIndex?e.apiIndex:t,marker:e})).filter(e=>o.contains(z.getPosition(e.marker))):[]},Fa=({apiKey:o,mapId:e,mapDiv:t,center:s,zoom:a,minZoom:n,maxZoom:i,markers:u,markerClusters:r,markerClustererOptions:p})=>(Kt.value=o.value,rs.value=e.value,Ve.value=r?.value===!0,ls.value=p.value,dt(async()=>{await es({apiKey:Kt.value,libraries:["core","maps","marker"]}),await Wt({mapDiv:t,center:s,zoom:a,minZoom:n,maxZoom:i}),await ct({markers:u})}),ee(u,v=>{Qt({markers:v})}),{map:Q,mapMarkers:H,markerClusterer:Se,activeMarker:Ue,visibleMarkers:os,createMap:Wt,setMarkers:ct,clusterMarkers:is,updateMarkers:Qt,clearMarkers:cs,resetActiveMarker:Ge,filterMarkers:Pa}),Oa={__name:"GoogleMap",props:{apiKey:{type:String,required:!0},mapId:{type:String,required:!0},center:{type:Object,default:()=>({lat:37.0902,lng:-95.7129})},zoom:{type:Number,default:5},minZoom:{type:Number,default:4},maxZoom:{type:Number,default:0},markers:{type:Array,default:()=>[]},markerClusters:{type:Boolean,default:!1},markerClustererOptions:{type:Object,default:()=>({})}},emits:["activeMarkerChange"],setup(o,{expose:e,emit:t}){const s=o,a=t,n=g(),{apiKey:i,mapId:u,center:r,zoom:p,minZoom:v,maxZoom:m,markers:y,markerClusters:_,markerClustererOptions:k}=Yt(s),{map:w,markerClusterer:x,visibleMarkers:h,activeMarker:C,resetActiveMarker:T}=Fa({apiKey:i,mapId:u,mapDiv:n,center:r,zoom:p,minZoom:v,maxZoom:m,markers:y,markerClusters:_,markerClustererOptions:k});return ee(C,F=>{a("activeMarkerChange",F)}),e({map:w,markerClusterer:x,visibleMarkers:h,resetActiveMarker:T}),(F,N)=>(S(),$("div",{ref_key:"mapDiv",ref:n,class:"map-div"},null,512))}},Za=je(Oa,[["__scopeId","data-v-03b6a4e5"]]),Ra=({from:o,to:e})=>{const{spherical:t}=google.maps.geometry;return t.computeDistanceBetween(o,e)},za=async({apiKey:o})=>(dt(async()=>await Promise.all([es({apiKey:o,libraries:["core","places"]}),google.maps.importLibrary("geometry")])),{computeDistanceBetween:Ra}),Ba=js(()=>Vs(()=>import("./Cc0ljmc4.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).then(o=>o.default||o)),Na={class:"installer-locator"},Da={class:"content"},qa={class:"heading-wrapper"},$a={key:0,class:"results-filters"},Ua={class:"results_count heading-6"},ja={key:1,class:"filter-button-wrapper"},Va={class:"installer-cards-wrapper"},Ga={key:0,class:"installer-filter-slider-wrapper"},Ka={key:1,class:"no-installers-message paragraph"},Wa={key:0,class:"map-wrapper-overlay"},Qa={__name:"index",async setup(o){let e,t;const{t:s,n:a,locale:n}=Xt(),i=qs(),{toggleScrollLock:u,toggleViewportBlur:r}=Ts(),[{data:p},v,{autocomplete:m,autocompleteImmediate:y,cancelAutocomplete:_,autocompleteSelect:k},{computeDistanceBetween:w}]=([e,t]=Ps(()=>Promise.all([Rs("installer-locator-installers",()=>$fetch("/api/installers"),{server:!1}),zs({content_type_uid:"installer_locator",language:n.value,options:Bs("installer_locator")}
7),Ks({apiKey:i.public.google.maps.apiKey}),za({apiKey:i.public.google.maps.apiKey})])),e=await e,t(),e),x=g(),h=g(),C=g({lat:38.7441111,lng:-9.1803353}),T=g(3),F=g([]);ee(p,c=>{Array.isArray(c)&&(F.value=c)},{immediate:!0});const N=g(null),V=g(null),O=g([]),R=g(""),M=g({}),K=g({}),W=g(!1),I=g(!0),A=g(!1),le=g(null),fe=g(!0),oe=g(!1),ft=g(),Ke=g(null),ve=g(!1),ie=g(null),Ie=g(null),Te=g({location_query:"",result_count:0,product_type:[]}),ge=P(()=>{const c=v.data.value;return c&&c!==!1?c:null}),vt=g(null);ee(ge,c=>{vt.value=Gs(c,"installer_locator")},{immediate:!0});const gt=P(()=>vt.value||ge.value),ds=P(()=>{const c=gt.value?.number_of_country_result,d=Number.parseInt(c,10);return Number.isFinite(d)&&d>0?d:10}),ps=P(()=>R.value.trim().length===0?s("installerLocator.locationCombobox.invalidMessage"):s("installerLocator.locationCombobox.invalidLocation")),ce=P(()=>gt.value?.get_a_quote_hubspot_form??{}),ms=P(()=>ge.value?.seo);Rt({link:[{rel:"canonical",href:ra(Fs(ge.value))}]}),Os({...la(ms.value)}),Rt(oa(ge.value,n.value));const{y:hs}=Zs(x),fs=async c=>{if(R.value=typeof c=="string"?c:"",ve.value=!1,typeof c=="string"&&c.length){const d=await m({request:{input:c,language:n.value}});if(!d)return;const{suggestions:f}=d;if(!f||f.length===0){const b=[/[A-Za-z]\d[A-Za-z]\s?\d[A-Za-z]\d/g,/\d{5}(-\d{4})?/g,/[A-Za-z]{1,2}\d{1,2}[A-Za-z]?\s?\d[A-Za-z]{2}/g];let L=null;for(const Z of b){const B=c.match(Z);if(B){L=B[0];break}}if(L){const{suggestions:Z}=await y({request:{input:L,language:n.value}});O.value=Z||[]}else O.value=[]}else O.value=f}else _(),O.value=[]},vs=async c=>{if(ve.value=!1,c){const d=Ee(c),f=await k({suggestion:d.suggestion});f?.place!==void 0&&(V.value=f.place,bt.value=!1,_e.value="")}else V.value=null;O.value=[]},yt=P(()=>le.value!==null?le.value:j.value.some(c=>c.filters.some(d=>d.selected))),We=()=>{W.value=!W.value},gs=g([{group:"productType",title:s("installerLocator.filters.labels.productType"),filters:[{title:s("installerLocator.filters.labels.servesPaintProtectionFilm"),uid:"servesPaintProtectionFilm",selected:!1},{title:s("installerLocator.filters.labels.servesAutomotiveWindowFilm"),uid:"servesAutomotiveWindowFilm",selected:!1},{title:s("installerLocator.filters.labels.servesWindshieldProtectionFilm"),uid:"servesWindshieldProtectionFilm",selected:!1},{title:s("installerLocator.filters.labels.servesCeramicCoating"),uid:"servesCeramicCoating",selected:!1},{title:s("installerLocator.filters.labels.servesHomeOfficeWindowFilm"),uid:"servesHomeOfficeWindowFilm",selected:!1},{title:s("installerLocator.filters.labels.serviceMarineProtectionFilm"),uid:"serviceMarineProtectionFilm",selected:!1},{title:s("installerLocator.filters.labels.servesColorPpf"),uid:"servesColorPpf",selected:!1}]}]),{visibleItems:ue,computedFilters:j,tags:ys,hasTags:_t,removeFilter:_s,change:ye}=Qs({items:F,filters:gs.value}),bs=()=>{h.value?.map&&typeof google<"u"&&google.maps.event.trigger(h.value.map,"resize")};ee(_t,(c,d)=>{d&&!c&&A.value&&(de.value=!1,se.value=!1,A.value=!1,le.value=null,fe.value=!0,oe.value=!1,M.value={},N.value=null,F.value=Array.isArray(p.value)?p.value:[],be.value="",_e.value="",He(null),h.value?.map?.panTo?.(C.value),h.value?.map?.setZoom?.(T.value))});const D=g(!1),de=g(!1),bt=g(!1),_e=g(""),be=g(""),se=g(!1),Pe=g(null),xt=()=>JSON.stringify({filters:xe().slice().sort(),matchAll:D.value}),kt=c=>{const{group:d,uid:f,selected:b}=c,L=j.value.map((B,ae)=>ae===d?{...B,filters:B.filters.map(J=>J.uid===f?{...J,selected:b}:J)}:B);ye(L,D.value);const Z=L.some(B=>B.filters.some(ae=>ae.selected));W.value||!Z&&A.value&&(de.value=!1,se.value=!1,A.value=!1,le.value=null,fe.value=!0,oe.value=!1,M.value={},N.value=null,F.value=Array.isArray(p.value)?p.value:[],be.value="",_e.value="",He(null),h.value?.map?.panTo?.(C.value),h.value?.map?.setZoom?.(T.value))},wt=c=>{D.value=c,ye(j.value,c)},xs=c=>{_s({filterTag:c,matchAll:D.value}),A.value&&xe().length>0&&St()},ks=()=>{const c=j.value.map(d=>({...d,filters:d.filters.map(f=>({...f,selected:!1}))}));ye(c,D.value)},Mt=()=>{if(j.value.some(d=>d.filters.some(f=>f.selected))){const d=j.value.map(f=>({...f,filters:f.filters.map(b=>({...b,selected:!1}))}
7));ye(d,D.value)}de.value=!1,se.value=!1,A.value=!1,le.value=null,fe.value=!0,oe.value=!1,M.value={},N.value=null,F.value=Array.isArray(p.value)?p.value:[],be.value="",_e.value="",h.value?.map?.panTo?.(C.value),h.value?.map?.setZoom?.(T.value)},ws=()=>{if(j.value.some(d=>d.filters.some(f=>f.selected))){const d=j.value.map(f=>({...f,filters:f.filters.map(b=>({...b,selected:!1}))}));ye(d,D.value)}de.value=!1,se.value=!1,le.value=null},Ms=c=>{K.value=c,hs.value=0,ea(c,"installer_map_interaction")},Cs=c=>{Ke.value=c,ft.value?.revealModal()},Ct=()=>j.value.flatMap(c=>c.filters),xe=()=>Ct().filter(c=>c.selected).map(c=>c.uid),At=()=>sa(Ct()),As=({locationQuery:c,productType:d})=>{const f=Oe.value.map((L,Z)=>Bt(L,Z)).filter(Boolean),b=f.length;ta({location_query:c,product_type:d,results_count:b}),Nt({search_term:c,result_count:b,search_filters:At(),content_type:Dt,items:f}),Te.value={location_query:c,result_count:b,product_type:d}},Ls=({locationQuery:c,productType:d})=>{const f=Oe.value.map((L,Z)=>Bt(L,Z)).filter(Boolean),b=f.length;Nt({search_term:c,result_count:b,search_filters:At(),content_type:Dt,items:f}),Te.value={location_query:c,result_count:b,product_type:d}},Lt=g(0),Fe=g(!1),Qe=g(0),Et=(c,d)=>{const f=++Lt.value;let b=!1;const L=()=>{b||f!==Lt.value||Fe.value||(b=!0,Fe.value=!0,As({locationQuery:c,productType:d}))},Z=()=>{if(!h.value?.map){L();return}google.maps.event.addListenerOnce(h.value.map,"idle",()=>Me(L))};Me(()=>{if(h.value?.markerClusterer){const B=h.value.markerClusterer.addListener("clusteringend",()=>{google.maps.event.removeListener(B),Z()})}Z(),setTimeout(L,2e3)})},St=()=>{if(!A.value)return;const c=xe();if(c.length===0)return;const d=Te.value.location_query||M.value?.formattedAddress||R.value||"",f=++Qe.value;let b=!1;const L=()=>{b||f!==Qe.value||!A.value||(b=!0,Ls({locationQuery:d,productType:c}))};Me(()=>{h.value?.map&&google.maps.event.addListenerOnce(h.value.map,"idle",()=>Me(L)),setTimeout(L,500)})},He=async c=>{if(Ie.value&&(Ie.value.map=null,Ie.value=null),!c||!h.value?.map)return;const{AdvancedMarkerElement:d}=await google.maps.importLibrary("marker"),f=document.createElement("div");f.className="search-location-marker",Ie.value=new d({map:Ee(h.value.map),position:c,content:f,title:M.value?.formattedAddress||R.value||""})},It=async({trackAnalytics:c=!0}={})=>{if(se.value=yt.value,de.value=!0,bt.value=!0,!V.value||!V.value.location){ve.value=!0,A.value=!1;return}if(ve.value=!1,!se.value){be.value=s("installerLocator.locationProductTypeCombobox.excerpt"),A.value=!1;return}_e.value="",be.value="",N.value&&(F.value=N.value),M.value=V.value;const d=M.value.location,f=1609.344,b=50,L=200,Z=100,B=2,ae=3,J=12,Ze=14,Je={top:10,right:10,bottom:10,left:10},Xe={top:50,right:50,bottom:50,left:50},Re=M.value?.types&&M.value.types.includes("country"),G=ue.value,Pt=M.value?.formattedAddress||R.value||"",Ft=xe(),pe=[...G].map(E=>({installer:E,distMiles:w({from:{lat:E.installer.latitude,lng:E.installer.longitude},to:d})/f})).sort((E,we)=>E.distMiles-we.distMiles),Ot=pe.filter(E=>E.distMiles<=b),ke=pe.filter(E=>E.distMiles<=L),me=new google.maps.LatLngBounds;me.extend(d),Ot.length>=1?Ot.forEach(({installer:E})=>{me.extend({lat:E.installer.latitude,lng:E.installer.longitude})}):ke.length>=B?pe.slice(0,2).forEach(({installer:E})=>{me.extend({lat:E.installer.latitude,lng:E.installer.longitude})}):ke.length===1&&ke[0].distMiles<=Z?me.extend({lat:ke[0].installer.installer.latitude,lng:ke[0].installer.installer.longitude}):pe.length>0&&pe.slice(0,ae).forEach(({installer:E})=>{me.extend({lat:E.installer.latitude,lng:E.installer.longitude})}),ie.value&&google.maps.event.removeListener(ie.value),c&&(Fe.value=!1,Qe.value++),A.value=!0,fe.value=!1,oe.value=!0,await Me(),bs();const ze=()=>{c&&Et(Pt,Ft)};if(He(Re?null:d),Re){const E=pe.slice(0,ds.value),we=typeof d.lat=="function"?d.lat():d.lat,Ye=typeof d.lng=="function"?d.lng():d.lng,Be=E.reduce((Ne,{installer:Zt})=>{const Es=Math.abs(Zt.installer.latitude-we),Ss=Math.abs(Zt.installer.longitude-Ye);return{lat:Math.max(Ne.lat,Es),lng:Math.max(Ne.lng,Ss)}},{lat:0,lng:0});if(E.length>0){const Ne=new google.maps.LatLngBounds({lat:we-Be.lat,lng:Ye-Be.lng},{lat:we+Be.lat,lng:Ye+Be.lng});h.value?.map?.fitBounds(Ne,Je)}else h.value?.map?.setCenter?.(d);h.value?.map?ie.value=google.maps.event.addListenerOnce(h.value.map,"idle",()=>{h.value?.map?.getZoom()>Ze&&h.value.map.setZoom(Ze),ie.value=null,ze()}):ze()}else h.value?.map?.fitBounds(me,Xe),h.value?.map?ie.value=google.maps.event.addListenerOnce(h.value.map,"idle",()=>{h.value?.map?.getZoom()>J&&h.value.map.setZoom(J),ie.value=null,ze()}):ze();setTimeout(()=>
7{c&&!Fe.value&&Et(Pt,Ft)},2500)},Tt=P(()=>a(Array.isArray(h.value?.visibleMarkers)&&h.value?.visibleMarkers.length>0?h.value?.visibleMarkers.length:0,"count")),Oe=P(()=>{const c=h.value?.visibleMarkers;return!Array.isArray(c)||c.length===0?[]:M.value?.location!==void 0?c.map(f=>({...F.value.find(b=>b.index===f.index)})).filter(f=>f?.installer).sort(({distance:f},{distance:b})=>f-b):c});return ee(W,(c,d)=>{if(u(c),r(c),c===!0){Pe.value=xt();return}if(d===!0&&c===!1&&A.value&&xe().length>0){const f=Pe.value!==xt();Pe.value=null,f&&(It({trackAnalytics:!1}),St())}else Pe.value=null}),ee(M,c=>{const d=Array.isArray(p.value)?p.value:[],f=c?.location===void 0?d:d.map(b=>({...b,distance:w({from:{lat:d[b.index].installer.latitude,lng:d[b.index].installer.longitude},to:M.value?.location})*.000621371192}));N.value=f,A.value&&(F.value=f)}),dt(()=>{setTimeout(()=>{I.value=!1},600)}),(c,d)=>{const f=Ns,b=Ws,L=ut,Z=Hs,B=Js,ae=Ds,J=da,Ze=ha,Je=Za,Xe=Ba,Re=aa;return S(),$("div",Na,[re("div",Da,[re("div",{class:zt(["map-controls",{"has-results":l(A)&&l(ue)&&l(ue).length>0}])},[re("div",qa,[q(f,{class:"installer-locator-heading","heading-level":1,"heading-class":"heading-3"},{default:he(()=>[$s($e(l(s)("installerLocator.fallbackTitle")),1)]),_:1}),q(b,{class:"combobox-wrapper","list-box-id":"installer-location-search-results","combo-box-id":"installer-location-search-input",label:l(s)("installerLocator.locationCombobox.label"),"hide-label":!1,required:!0,invalid:l(ve),"no-results-message":l(s)("installerLocator.locationCombobox.noResultsMessage"),"invalid-message":l(ps),filter:!1,options:l(O),onInput:fs,onSelected:vs,onResetAll:Mt},null,8,["label","invalid","no-results-message","invalid-message","options"]),l(A)&&l(ue)&&l(ue).length>0?(S(),$("div",$a,[re("span",Ua,$e(l(h).visibleMarkers&&l(h).visibleMarkers.length<=1?l(s)("installerLocator.result",{resultCount:l(Tt)}):l(s)("installerLocator.results",{resultCount:l(Tt)})),1),q(L,{"show-icon":!0,"icon-before":!0,"icon-path":"/icons/small/filter.svg",size:"sm",theme:"tertiary",text:l(s)("buttons.filters"),class:"filter-button",onClick:We},null,8,["text"])])):U("",!0)]),l(fe)?(S(),te(Z,{key:0,"match-all-services":l(D),"onUpdate:matchAllServices":d[0]||(d[0]=G=>et(D)?D.value=G:null),filters:l(j),"show-counts":!1,"installer-locator":!0,"product-type":l(s)("installerLocator.locationProductTypeCombobox.label"),excerpt:l(s)("installerLocator.locationProductTypeCombobox.excerpt"),"selected-filters":l(se),"search-attempted":l(de),"display-all-filters":!0,onFiltersChange:kt,onFiltersClear:Mt,onClose:We,onToggleChange:wt},null,8,["match-all-services","filters","product-type","excerpt","selected-filters","search-attempted"])):U("",!0),q(ae,null,{default:he(()=>[(S(),te(Us,{to:"#teleports"},[q(B,{open:l(W),"onUpdate:open":d[2]||(d[2]=G=>et(W)?W.value=G:null),heading:l(s)("installerLocator.filters.heading"),"focus-trap":!1,height:"full","empty-value-installer-locator":!l(yt),"installer-modal":!0},{default:he(()=>[q(Z,{"match-all-services":l(D),"onUpdate:matchAllServices":d[1]||(d[1]=G=>et(D)?D.value=G:null),filters:l(j),"modal-title":l(s)("installerLocator.filters.byProduct"),"show-counts":!1,"installer-locator-modal":!0,"selected-filters":!1,"search-attempted":!0,"display-all-filters":!0,onClose:We,onFiltersChange:kt,onFiltersClear:ws,onToggleChange:wt},null,8,["match-all-services","filters","modal-title"])]),_:1},8,["open","heading","empty-value-installer-locator"])]))]),_:1}),l(oe)?U("",!0):(S(),$("div",ja,[q(L,{class:"filter-search",theme:"primary",text:l(s)("installerLocator.search"),size:"md",onClick:It},null,8,["text"])])),l(oe)?(S(),$("div",{key:2,ref_key:"installerSidebar",ref:x,class:"installer-sidebar-scrollable-area"},[re("div",Va,[l(_t)?(S(),$("div",Ga,[q(J,{tags:l(ys),theme:"dark",class:"tag-slider",onClose:xs,onClearTags:ks},null,8,["tags"])])):U("",!0),q(Ze,{installers:l(F),"filtered-installers":l(Oe),"selected-installer":l(K),"analytics-context":l(Te),onQuoteRequested:d[3]||(d[3]=G=>Cs(G))}
7,null,8,["installers","filtered-installers","selected-installer","analytics-context"]),l(Oe).length?U("",!0):(S(),$("p",Ka,$e(l(s)("oem.messages.noInstallers")),1))])],512)):U("",!0)],2)]),re("div",{class:zt(["map-wrapper",{"is-hidden-on-mobile":!l(A)}])},[l(I)||!l(A)?(S(),$("div",Wa)):U("",!0),q(Je,{ref_key:"map",ref:h,class:"map",markers:l(A)?l(ue):[],"marker-clusters":!0,"min-zoom":l(T),zoom:l(T),center:l(C),"api-key":l(i).public.google.maps.apiKey,"map-id":l(i).public.google.maps.mapId,onActiveMarkerChange:Ms},null,8,["markers","min-zoom","zoom","center","api-key","map-id"])],2),q(Re,{ref_key:"getAQuoteModal",ref:ft,theme:"light","stacked-component-size":"md","container-size":"sm","inset-style":!0,onModalClosed:d[4]||(d[4]=G=>Ke.value=null)},{default:he(()=>[q(Xe,{heading:l(ce).heading,description:("jsonRTE"in c?c.jsonRTE:l(na))(l(ce).content),theme:"light","stacked-component-spacing":!1,"hubspot-portal-id":l(ce).hubspot_portal_id,"hubspot-form-id":l(ce).hubspot_form_id,"hubspot-form-region":l(ce).hubspot_form_region,"form-not-loaded-message":l(s)("blocks.hubspotForm.formNotLoadedLabel"),"form-loading-message":l(s)("blocks.hubspotForm.formLoadingLabel"),"hidden-fields":[{name:"xpel_listing_id",value:l(Ke)}],cslp:l(ce).$,"block-type":"hubspot_form"},null,8,["heading","description","hubspot-portal-id","hubspot-form-id","hubspot-form-region","form-not-loaded-message","form-loading-message","hidden-fields","cslp"])]),_:1},512)])}}},_n=je(Qa,[["__scopeId","data-v-008cd38a"]]);export{_n as default};
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.