1import{f as h,y as W,X as C,F as x,a2 as re,a3 as n,a8 as _,a5 as z,A as l,ag as Ke,c as q,i as D,w as H,m as te,q as le,t as Ee,a0 as Le,a6 as He,av as We,D as ie,Z as Je,a9 as Xe,B as ee,aj as ye,al as Ye,b as Qe,C as oe,a7 as G,Q as ae,Y as se,R as _e,$ as Q,_ as K,aw as et,n as tt}from"./Bk15PzoC.js";import{aE as Me,aF as ot,aJ as at,aH as st,aL as rt,aQ as nt,aC as lt}from"./Dsll5uOU.js";import{s as it}from"./DE5l8Zw7.js";try{let t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new t.Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="2c4c2084-5152-43f4-b453-cbc7bc572d05",t._sentryDebugIdIdentifier="sentry-dbid-2c4c2084-5152-43f4-b453-cbc7bc572d05")}catch{}function we(t,e=!1){const a=e?"#000000":"#1a1a1a",r="#ffffff",o=28,s=t>9?11:13,i=` 2 <svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o+8}" viewBox="0 0 ${o} ${o+8}"> 3 <defs> 4 <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%"> 5 <feDropShadow dx="0" dy="1" stdDeviation="1.5" flood-opacity="0.3"/> 6 </filter> 7 </defs> 8 <circle cx="${o/2}" cy="${o/2}" r="${o/2-1}" fill="${a}" filter="url(#shadow)" stroke="${e?"#ffffff":"none"}" stroke-width="${e?2:0}"/> 9 <polygon points="${o/2},${o+6} ${o/2-5},${o-4} ${o/2+5},${o-4}" fill="${a}"/> 10 <text x="${o/2}" y="${o/2+s/3}" text-anchor="middle" fill="${r}" font-family="Arial, sans-serif" font-size="${s}" font-weight="600">${t}</text> 11 </svg> 12 `;return`data:image/svg+xml;base64,${btoa(i)}`}function ct(t){return t<1?`${Math.round(t*1e3)} m`:`${t.toFixed(1)} km`}function dt(t){return t<.3?17:t<1?15:t<3?13:t<10?11:9}function Te(){const t=h(null),e=h(null),a=h(!1),r=h(!1),o=h(null);function s(y){const g=t.value===y||e.value===y;return we(y+1,g)}function i(y){t.value=y}function m(y){e.value=y}function k(){t.value=null,e.value=null}return{selectedIndex:t,hoveredIndex:e,isLoading:a,hasSearched:r,error:o,getMarkerIcon:s,selectLocation:i,hoverLocation:m,resetSelection:k,formatDistance:ct,calculateZoom:dt,createNumberedMarker:we}}const ut={class:"store-item__number"},pt={class:"store-item__content"},ft={class:"store-item__name"},ht={class:"store-item__address"},gt={class:"store-item__city"},vt={key:0,class:"store-item__phone"},mt={class:"store-item__actions"},yt={class:"store-item__distance"},_t=["href","title"],wt=W({__name:"PointOfSaleItem",props:{index:{type:Number,required:!0},name:{type:String,required:!0},address:{type:String,required:!0},addressComplement:{type:String,required:!0},phone:{type:String,default:""},distance:{type:[Number,String],required:!0},lat:{type:String,default:""},lng:{type:String,default:""},isSelected:{type:Boolean,default:!1},isHovered:{type:Boolean,default:!1}},setup(t){const e=t,{formatDistance:a}=Te(),r=q(()=>{const o=typeof e.distance=="string"?parseFloat(e.distance):e.distance;return a(o)});return(o,s)=>(C(),x("div",{class:re(["store-item",{"store-item--selected":t.isSelected,"store-item--hovered":t.isHovered}])},[n("div",ut,_(t.index+1),1),n("div",pt,[n("h4",ft,_(t.name),1),n("p",ht,_(t.address),1),n("p",gt,_(t.addressComplement),1),t.phone?(C(),x("p",vt,_(t.phone),1)):z("",!0)]),n("div",mt,[n("span",yt,_(l(r)),1),t.lat&&t.lng?(C(),x("a",{key:0,href:`https://www.google.com/maps/dir/?api=1&destination=${t.lat},${t.lng}`,target:"_blank",rel:"noopener noreferrer",class:"store-item__directions",title:o.$t("pages.points_of_sale.directions"),onClick:s[0]||(s[0]=Ke(()=>{},["stop"]))},[...s[1]||(s[1]=[n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[n("path",{d:"M3 11l18-5-5 18-4-8-9-5z"})],-1)])],8,_t)):z("",!0)])],2))}}),bt=Me(wt,[["__scopeId","data-v-a769749c"]]);(function(){try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".mapdiv[data-v-d05fc6bc]{width:100%;height:100%}.custom-control-wrapper[data-v-d099a3a6]{display:none}.mapdiv .custom-control-wrapper[data-v-d099a3a6]{display:inline-block}.info-window-wrapper[data-v-cbe1707b]{display:none}.mapdiv .info-window-wrapper[data-v-cbe1707b]{display:inline-block}.custom-marker-wrapper[data-v-2d2d343a]{display:none}.mapdiv .custom-marker-wrapper[data-v-2d2d343a]{display:inline-block}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();var kt=Object.defineProperty,Ct=(t,e,a)=>e in t?kt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,be=(t,e,a)=>(Ct(t,typeof e!="symbol"?e+"":e,a),a);const ce=Symbol("map"),de=Symbol("api"),qe=Symbol("marker"),St=Symbol("markerCluster"),Be=Symbol("CustomMarker"),$t=Symbol("mapTilesLoaded"),je=["click","dblclick","drag","dragend","dragstart","mousedown","mousemove","mouseout","mouseover","mouseup","rightclick"];function It(t,e,a,r){function o(s){return s instanceof a?s:new a(function(i){i(s)})}return new(a||(a=Promise))(function(s,i){function m(g){try{y(r.next(g))}catch(u){i(u)}}function k(g){try{y(r.throw(g))}catch(u){i(u)}}function y(g){g.done?s(g.value):o(g.value).then(m,k)}y((r=r.apply(t,[])).next())})}var xt=function t(e,a){if(e===a)return!0;
vendor: 4,770 bytes, line 12
12if(e&&a&&typeof e=="object"&&typeof a=="object"){if(e.constructor!==a.constructor)return!1;var r,o,s;if(Array.isArray(e)){if(r=e.length,r!=a.length)return!1;for(o=r;o--!==0;)if(!t(e[o],a[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===a.source&&e.flags===a.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===a.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===a.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(a).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(a,s[o]))return!1;for(o=r;o--!==0;){var i=s[o];if(!t(e[i],a[i]))return!1}return!0}return e!==e&&a!==a};const ke="__googleMapsScriptId";var A;(function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"})(A||(A={}));class N{constructor({apiKey:e,authReferrerPolicy:a,channel:r,client:o,id:s=ke,language:i,libraries:m=[],mapIds:k,nonce:y,region:g,retries:u=3,url:w="https://maps.googleapis.com/maps/api/js",version:v}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=a,this.channel=r,this.client=o,this.id=s||ke,this.language=i,this.libraries=m,this.mapIds=k,this.nonce=y,this.region=g,this.retries=u,this.url=w,this.version=v,N.instance){if(!xt(this.options,N.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(N.instance.options)}`);return N.instance}N.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?A.FAILURE:this.done?A.SUCCESS:this.loading?A.LOADING:A.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`®ion=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,a)=>{this.loadCallback(r=>{r?a(r.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,a;if(document.getElementById(this.id)){this.callback();return}const r={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(r).forEach(s=>!r[s]&&delete r[s]),!((a=(e=window?.google)===null||e===void 0?void 0:e.maps)===null||a===void 0)&&a.importLibrary||(s=>{let i,m,k,y="The Google Maps JavaScript API",g="google",u="importLibrary",w="__ib__",v=document,p=window;p=p[g]||(p[g]={});const f=p.maps||(p.maps={}),b=new Set,O=new URLSearchParams,L=()=>i||(i=new Promise((E,M)=>It(this,void 0,void 0,function*(){var P;yield m=v.createElement("script"),m.id=this.id,O.set("libraries",[...b]+"");for(k in s)O.set(k.replace(/[A-Z]/g,T=>"_"+T[0].toLowerCase()),s[k]);O.set("callback",g+".maps."+w),m.src=this.url+"?"+O,f[w]=E,m.onerror=()=>i=M(Error(y+" could not load.")),m.nonce=this.nonce||((P=v.querySelector("script[nonce]"))===null||P===void 0?void 0:P.nonce)||"",v.head.append(m)})));f[u]?console.warn(y+" only loads once. Ignoring:",s):f[u]=(E,...M)=>b.add(E)&&L().then(()=>f[u](E,...M))})(r);const o=this.libraries.map(s=>this.importLibrary(s));o.length||o.push(this.importLibrary("core")),Promise.all(o).then(()=>this.callback(),s=>{const i=new ErrorEvent("error",{error:s});this.loadErrorCallback(i)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const a=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${a} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},a)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e
12=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version){console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback();return}this.loading||(this.loading=!0,this.setScript())}}}function Ot(t){return class extends t.OverlayView{constructor(e){super(),be(this,"element"),be(this,"opts");const{element:a,...r}=e;this.element=a,this.opts=r,this.opts.map&&this.setMap(this.opts.map)}getPosition(){return this.opts.position?this.opts.position instanceof t.LatLng?this.opts.position:new t.LatLng(this.opts.position):null}getVisible(){if(!this.element)return!1;const e=this.element;return e.style.display!=="none"&&e.style.visibility!=="hidden"&&(e.style.opacity===""||Number(e.style.opacity)>.01)}onAdd(){if(!this.element)return;const e=this.getPanes();e&&e.overlayMouseTarget.appendChild(this.element)}draw(){if(!this.element)return;const e=this.getProjection(),a=e?.fromLatLngToDivPixel(this.getPosition());if(a){this.element.style.position="absolute";let r,o;switch(this.opts.anchorPoint){case"TOP_CENTER":r="-50%",o="-100%";break;case"BOTTOM_CENTER":r="-50%",o="0";break;case"LEFT_CENTER":r="-100%",o="-50%";break;case"RIGHT_CENTER":r="0",o="-50%";break;case"TOP_LEFT":r="-100%",o="-100%";break;case"TOP_RIGHT":r="0",o="-100%";break;case"BOTTOM_LEFT":r="-100%",o="0";break;case"BOTTOM_RIGHT":r="0",o="0";break;default:r="-50%",o="-50%"}const s=a.x+(this.opts.offsetX||0)+"px",i=a.y+(this.opts.offsetY||0)+"px";this.element.style.transform=`translateX(${r}) translateX(${s}) translateY(${o}) translateY(${i})`,this.opts.zIndex&&(this.element.style.zIndex=this.opts.zIndex.toString())}}onRemove(){this.element&&this.element.remove()}setOptions(e){const{element:a,...r}=e;this.element=a,this.opts=r,this.draw()}}}let Ce;const Se=["bounds_changed","center_changed","click","contextmenu","dblclick","drag","dragend","dragstart","heading_changed","idle","isfractionalzoomenabled_changed","mapcapabilities_changed","maptypeid_changed","mousemove","mouseout","mouseover","projection_changed","renderingtype_changed","rightclick","tilesloaded","tilt_changed","zoom_changed"],Pt=W({props:{apiPromise:{type:Promise},apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places","marker"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1,default:void 0},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,required:!1,default:void 0},draggable:{type:Boolean,required:!1,default:void 0},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1,default:void 0},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},isFractionalZoomEnabled:{type:Boolean,required:!1,default:void 0},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,required:!1},mapTypeId:{type:[Number,String],required:!1},mapId:{type:String,required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,required:!1},noClear:{type:Boolean,required:!1,default:void 0},panControl:{type:Boolean,required:!1,default:void 0},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1,default:void 0},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1,default:void 0},scaleControlStyle:{type:Number,required:!1},scrollwheel:{type:Boolean,required:!1,default:void 0},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1,default:void 0},streetViewControlPosition:{type:String,required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1,default:void 0},zoomControlPosition:{type:String,required:!1},nonce:{type:String,default:""}},emits:Se,setup(t,{emit:e}){const a=h(),r=h(!1),o=h(),s=h(),i=h(!1);ee(ce,o),ee(de,s),ee($t,i);const m=()=>{const u={...t};Object.keys(u).forEach(p=>{u[p]===void 0&&delete u[p]});const w=p=>{var f;return p?{position:(f=s.value)==null?void 0:f.ControlPosition[p]}:{}},v={scaleControlOptions:t.scaleControlStyle?{style:t.scaleControlStyle}:{},panControlOptions:w(t.panControlPosition),zoomControlOptions:w(t.zoomControlPosition),rotateControlOptions:w(t.rotateControlPosition),streetViewControlOptions:w(t.streetViewControlPosition),fullscreenControlOptions:w(t.fullscreenControlPosition),disableDefaultUI:t.disableDefaultUi};return{...u,...v}},k=H([s,o],([u,w])=>{const v=u,p=w;v&&p&&(v.event.addListenerOnce(p,"tilesloaded",()=>{i.value=!0}),setTimeout(k,0))},{immediate:!0}),y=()=>{try{const{apiKey:u,region:w,version:v,language:p,libraries:f,nonce:b}=t;Ce=new N({apiKey:u,region:w,version:v,language:p,libraries:f,nonce:b})}catch(u){console.error(u)}},g=u=>{s.value=te(u.maps),o.value=te(new u.maps.Map(a.value,m()));const w=Ot(s.value);s.value[Be]=w,Se.forEach(p=>{var f;(f=o.value)==null||f.addListener(p,b=>e(p,b))}),r.value=!0;const v=Object.keys(t).filter(p=>!["apiPromise","apiKey","version","libraries","region","language","center","zoom","nonce"].includes(p)).map(p=>Ee(t,p));H([()=>t.center,()=>t.zoom,...v],([p,f],[b,O])=>{var L,E,M;const{center:P,zoom:T,...j}=m();(L=o.value)==null||L.setOptions(j),f!==void 0&&f!==O&&((E=o.value)==null||E.setZoom(f));const J=!b||p.lng!==b.lng||p.lat!==b.lat;p&&J&&((M=o.value)==null||M.panTo(p))})};return ie(()=>{t.apiPromise&&t.apiPromise instanceof Promise?t.apiPromise.then(g):(y(),Ce.load().then(g))}),le(()=>{var u;i.value=!1,o.value&&((u=s.value)==null||u.event.clearInstanceListeners(o.value))}),{mapRef:a,ready:r,map:o,api:s,mapTilesLoaded:i}}}),Re=(t,e)=>{const a=t.__vccOpts||t;for(const[r,o]of e)a[r]=o;return a},Et={ref:"mapRef",class:"mapdiv"};function Lt(t,e,a,r,o,s){return C(),x("div",null,[n("div",Et,null,512),Le(t.$slots,"default",He(We({ready:t.ready,map:t.map,api:t.api,mapTilesLoaded:t.mapTilesLoaded})),void 0,!0)])}const $e=Re(Pt,[["render",Lt],["__scopeId","data-v-d05fc6bc"]]);function Mt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Tt=function t(e,a){if(e===a)return!0;
12if(e&&a&&typeof e=="object"&&typeof a=="object"){if(e.constructor!==a.constructor)return!1;var r,o,s;if(Array.isArray(e)){if(r=e.length,r!=a.length)return!1;for(o=r;o--!==0;)if(!t(e[o],a[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===a.source&&e.flags===a.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===a.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===a.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(a).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(a,s[o]))return!1;for(o=r;o--!==0;){var i=s[o];if(!t(e[i],a[i]))return!1}return!0}return e!==e&&a!==a};const Ne=Mt(Tt),qt=(t,e,a,r)=>{const o=h(),s=D(ce,h()),i=D(de,h()),m=D(St,h()),k=q(()=>!!(m.value&&i.value&&(o.value instanceof i.value.Marker||o.value instanceof i.value[Be])));return H([s,a],(y,[g,u])=>{var w,v,p;const f=!Ne(a.value,u)||s.value!==g;!s.value||!i.value||!f||(o.value?(o.value.setOptions(a.value),k.value&&((w=m.value)==null||w.removeMarker(o.value),(v=m.value)==null||v.addMarker(o.value))):(o.value=te(new i.value[t](a.value)),k.value?(p=m.value)==null||p.addMarker(o.value):o.value.setMap(s.value),e.forEach(b=>{var O;(O=o.value)==null||O.addListener(b,L=>r(b,L))})))},{immediate:!0}),le(()=>{var y,g;o.value&&((y=i.value)==null||y.event.clearInstanceListeners(o.value),k.value?(g=m.value)==null||g.removeMarker(o.value):o.value.setMap(null))}),o},Ie=["animation_changed","click","dblclick","rightclick","dragstart","dragend","drag","mouseover","mousedown","mouseout","mouseup","draggable_changed","clickable_changed","contextmenu","cursor_changed","flat_changed","rightclick","zindex_changed","icon_changed","position_changed","shape_changed","title_changed","visible_changed"],xe=W({name:"Marker",props:{options:{type:Object,required:!0}},emits:Ie,setup(t,{emit:e,expose:a,slots:r}){const o=Ee(t,"options"),s=qt("Marker",Ie,o,e);return ee(qe,s),a({marker:s}),()=>{var i;return(i=r.default)==null?void 0:i.call(r)}}});je.concat(["bounds_changed"]);je.concat(["center_changed","radius_changed"]);const Oe=["closeclick","content_changed","domready","position_changed","visible","zindex_changed"],Bt=W({inheritAttrs:!1,props:{options:{type:Object,default:()=>({})},modelValue:{type:Boolean}},emits:[...Oe,"update:modelValue"],setup(t,{slots:e,emit:a,expose:r}){const o=h(),s=h(),i=D(ce,h()),m=D(de,h()),k=D(qe,h());let y,g=t.modelValue;const u=q(()=>{var f;return(f=e.default)==null?void 0:f.call(e).some(b=>b.type!==Xe)}),w=f=>{g=f,a("update:modelValue",f)},v=f=>{o.value&&(o.value.open({map:i.value,anchor:k.value,...f}),w(!0))},p=()=>{o.value&&(o.value.close(),w(!1))};return ie(()=>{H([i,()=>t.options],([f,b],[O,L])=>{var E;const M=!Ne(b,L)||i.value!==O;i.value&&m.value&&M&&(o.value?(o.value.setOptions({...b,content:u.value?s.value:b.content}),k.value||v()):(o.value=te(new m.value.InfoWindow({...b,content:u.value?s.value:b.content})),k.value&&(y=k.value.addListener("click",()=>{v()})),(!k.value||g)&&v(),Oe.forEach(P=>{var T;(T=o.value)==null||T.addListener(P,j=>a(P,j))}),(E=o.value)==null||E.addListener("closeclick",()=>w(!1))))},{immediate:!0}),H(()=>t.modelValue,f=>{f!==g&&(f?v():p())})}),le(()=>{var f;y&&y.remove(),o.value&&((f=m.value)==null||f.event.clearInstanceListeners(o.value),p())}),r({infoWindow:o,open:v,close:p}),{infoWindow:o,infoWindowRef:s,hasSlotContent:u,open:v,close:p}}}),jt={key:0,class:"info-window-wrapper"};function Rt(t,e,a,r,o,s){return t.hasSlotContent?(C(),x("div",jt,[n("div",Je({ref:"infoWindowRef"},t.$attrs),[Le(t.$slots,"default",{},void 0,!0)],16)])):z("",!0)}const Pe=Re(Bt,[["render",Rt],["__scopeId","data-v-cbe1707b"]]);var ne;(function(t){t.CLUSTERING_BEGIN="clusteringbegin",t.CLUSTERING_END="clusteringend",t.CLUSTER_CLICK="click"})(ne||(ne={}));Object.values(ne);const Nt={class:"storelocator"},zt={class:"storelocator__header"},Ft={class:"storelocator__title"},At={class:"storelocator__content"},Dt={class:"storelocator__panel"},Vt={class:"storelocator__search"},Ut={class:"search-input"},Zt=["placeholder"],Gt={class:"storelocator__actions"},Kt={key:0,class:"storelocator__loading"},Ht={key:1,class:"storelocator__error"},Wt={key:2,class:"storelocator__empty"},Jt={key:3,class:"storelocator__empty"},Xt={key:4,class:"storelocator__results"},Yt=["disabled"],Qt={key:0,class:"loading-spinner loading-spinner--sm"},eo={key:1},to={class:"storelocator__map storelocator__map--desktop"},oo={class:"info-window"},ao={class:"info-window__name"},so={class:"info-window__address"},ro={class:"info-window__city"},no=["href"],lo={class:"storelocator__mobile"},io={class:"storelocator__tabs"},co={class:"storelocator__map storelocator__map--mobile"},uo={class:"info-window"},po={class:"info-window__name"},fo={class:"info-window__address"},ho={class:"info-window__city"},go=["href"],vo=W({__name:"storelocator",setup(t){const a=lt().public.googelMapApiKey,{$gtm:r}=ot(),{t:o}=at(),s=st().settingStore,{localeProperties:i}=rt(),{getMarkerIcon:m,selectLocation:k,hoverLocation:y,calculateZoom:g,selectedIndex:u,hoveredIndex:w}=Te(),v=h(null),p=h(null),f=h(null),b={},O=h("list"),L=h(""),E=h(!1),M=h(!1),P=h(null),T=h(5),j=h({lat:i.lat,lng:i.lng}),J=h([{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]}]),ue=q(()=>i.language),B=q(()=>s.$state.stores||[]),ze=q(()=>s.$state.storesTotalCount||0),V=q(()=>s.$state.storesPageInfo),Fe=q(()=>V.value&&V.value.current_page<V.value.total_pages),U=h(!1),X=h(null),$=q(()=>u.value!==null&&B.value[u.value]?B.value[u.value]:null),pe=q(()=>({lat:j.value.lat,lng:j.value.lng})),Ae=h(null);let Z=null;function De(){Z||!v.value||!window.google?.maps?.places||(Z=new window.google.maps.places.Autocomplete(v.value,{}),Z.addListener("place_changed",()=>{fe()}))}ie(()=>{const d=it(()=>
12{window.google?.maps?.places&&(clearInterval(d),De())},200);setTimeout(()=>clearInterval(d),15e3)});function Ve(d,c){d?b[c]=d.$el||d:delete b[c]}function Ue(){L.value="",v.value?.focus()}function fe(){if(!Z)return;const d=Z.getPlace();if(!d?.geometry?.location){P.value=o("pages.points_of_sale.error_address");return}L.value=d.formatted_address||"";const c=d.geometry.location.lat(),F=d.geometry.location.lng();he({lat:c,lng:F})}function Ze(){if(!navigator.geolocation){P.value=o("pages.points_of_sale.error_geolocation_unsupported");return}E.value=!0,navigator.geolocation.getCurrentPosition(d=>{he({lat:d.coords.latitude,lng:d.coords.longitude})},d=>{E.value=!1,d.code===d.PERMISSION_DENIED?P.value=o("pages.points_of_sale.error_geolocation_denied"):P.value=o("pages.points_of_sale.error_geolocation_failed")})}async function he(d){E.value=!0,P.value=null,M.value=!0,X.value=d;try{if(await s.getStores({lat:d.lat,lng:d.lng}),B.value.length>0){const c=B.value[0];T.value=g(c.distance),j.value={lat:parseFloat(c.lat),lng:parseFloat(c.lng)}}r?.push({event:"storelocator_search",results_count:ze.value})}catch(c){console.error("[Storelocator] Error:",c),P.value=o("pages.points_of_sale.error_generic")}finally{E.value=!1}}async function Ge(){if(!(!X.value||!V.value||U.value)){U.value=!0;try{await s.getStores({lat:X.value.lat,lng:X.value.lng,currentPage:V.value.current_page+1},!0)}catch(d){console.error("[Storelocator] Load more error:",d)}finally{U.value=!1}}}function ge(d){const c=B.value[d];c&&(j.value={lat:parseFloat(c.lat),lng:parseFloat(c.lng)},T.value=16),tt(()=>{const F=b[d];F&&f.value&&F.scrollIntoView({behavior:"smooth",block:"nearest"})})}function ve(d){k(d),ge(d)}function Y(d){y(d)}function me(){k(null)}return nt({title:`${o("pages.points_of_sale.page_title")} - ${i.brand}`,meta:[{name:"description",content:o("pages.points_of_sale.search_hint")}]}),(d,c)=>{const F=bt;return C(),x("div",Nt,[n("div",zt,[n("h1",Ft,_(d.$t("pages.points_of_sale.page_title")),1)]),n("div",At,[n("div",Dt,[n("div",Vt,[n("div",Ut,[c[7]||(c[7]=n("svg",{class:"search-input__icon",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[n("circle",{cx:"11",cy:"11",r:"8"}),n("path",{d:"m21 21-4.3-4.3"})],-1)),ye(n("input",{id:"address",ref_key:"addressInput",ref:v,"onUpdate:modelValue":c[0]||(c[0]=S=>Qe(L)?L.value=S:null),type:"text",class:"search-input__field",placeholder:d.$t("pages.points_of_sale.address")},null,8,Zt),[[Ye,l(L)]]),l(L)?(C(),x("button",{key:0,type:"button",class:"search-input__clear",onClick:Ue},[...c[6]||(c[6]=[n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[n("path",{d:"M18 6 6 18"}),n("path",{d:"m6 6 12 12"})],-1)])])):z("",!0)]),n("div",Gt,[n("button",{class:"btn-primary",onClick:fe},_(d.$t("pages.points_of_sale.submit")),1),n("button",{class:"btn-location",onClick:Ze},[c[8]||(c[8]=oe('<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-631e644a><circle cx="12" cy="12" r="3" data-v-631e644a></circle><path d="M12 2v4" data-v-631e644a></path><path d="M12 18v4" data-v-631e644a></path><path d="M2 12h4" data-v-631e644a></path><path d="M18 12h4" data-v-631e644a></path></svg>',1)),G(" "+_(d.$t("pages.points_of_sale.use_localization")),1)])])]),n("div",{class:"storelocator__list",ref_key:"listContainer",ref:p},[l(E)?(C(),x("div",Kt,[c[9]||(c[9]=n("div",{class:"loading-spinner"},null,-1)),n("p",null,_(d.$t("pages.points_of_sale.loading")),1)])):l(P)?(C(),x("div",Ht,[c[10]||(c[10]=n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},[n("circle",{cx:"12",cy:"12",r:"10"}),n("path",{d:"m15 9-6 6"}),n("path",{d:"m9 9 6 6"})],-1)),n("p",null,_(l(P)),1),n("button",{class:"btn-retry",onClick:c[1]||(c[1]=S=>P.value=null)},_(d.$t("pages.points_of_sale.retry")),1)])):l(M)?l(B).length===0?(C(),x("div",Jt,[c[12]||(c[12]=oe('<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" data-v-631e644a><circle cx="11" cy="11" r="8" data-v-631e644a></circle><path d="m21 21-4.3-4.3" data-v-631e644a></path><path d="M8 8h6" data-v-631e644a></path><path d="M8 11h6" data-v-631e644a></path><path d="M8 14h4" data-v-631e644a></path></svg>',1)),n("p",null,_(d.$t("pages.points_of_sale.no_results")),1)])):(C(),x("div",Xt,[n("div",{class:"storelocator__items",ref_key:"itemsContainer",ref:f},[(C(!0),x(ae,null,se(l(B),(S,I)=>(C(),K(F,{key:S.id,ref_for:!0,ref:R=>Ve(R,I),index:I,name:S.name,address:S.address,"address-complement":`${S.zip} ${S.city}`,distance:S.distance,phone:S.phone,lat:S.lat,lng:S.lng,"is-selected":l(u)===I,"is-hovered":l(w)===I,onClick:R=>ge(I),onMouseenter:R=>Y(I),onMouseleave:c[2]||(c[2]=R=>Y(null))},null,8,["index","name","address","address-complement","distance","phone","lat","lng","is-selected","is-hovered","onClick","onMouseenter"]))),128)),l(Fe)?(C(),x("button",{key:0,class:"btn-load-more",disabled:l(U),onClick:Ge},[l(U)?(C(),x("span",Qt)):(C(),x("span",eo,_(d.$t("pages.points_of_sale.load_more")),1))],8,Yt)):z("",!0)],512)])):(C(),x("div",Wt,[c[11]||(c[11]=n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[n("path",{d:"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"}),n("circle",{cx:"12",cy:"10",r:"3"})],-1)),n("p",null,_(d.$t("pages.points_of_sale.search_hint")),1)]))],512)]),n("div",to,[_e(l($e),{ref_key:"mapRef",ref:Ae,"api-key":l(a),libraries:["places"],language:l(ue),class:"storelocator__google-map",center:l(pe),zoom:l(T),"fullscreen-control":!0,"map-type-control":!1,"street-view-control":!1,options:{styles:l(J)}},{default:Q(()=>[(C(!0),x(ae,null,se(l(B),(S,I)=>(C(),K(l(xe),{key:S.id,options:{icon:l(m)(I),position:{lat:parseFloat(S.lat),lng:parseFloat(S.lng)},zIndex:l(u)===I||l(w)===I?1e3:I},onClick:R=>ve(I),onMouseover:R=>Y(I),onMouseout:c[3]||(c[3]=R=>Y(null))},null,8,["options","onClick","onMouseover"]))),128)),l($)?(C(),K(l(Pe),{key:0,options:{position:{lat:parseFloat(l($).lat),lng:parseFloat(l($).lng)},maxWidth:280},onCloseclick:me},{default:Q(()=>[n("div",oo,[n("h4",ao,_(l($).name),1),n("p",so,_(l($).address),1),n("p",ro,_(l($).zip)+" "+_(l($).city),1),n("a",{href:`https://www.google.com/maps/dir/?api=1&destination=${l($).lat},${l($).lng}`,target:"_blank",rel:"noopener noreferrer",class:"info-window__directions"},[c[13]||(c[13]=n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[n("path",{d:"M3 11l18-5-5 18-4-8-9-5z"})],-1)),G(" "+_(d.$t("pages.points_of_sale.directions")),1)],8,no)])]),_:1},8,["options"])):z("",!0)]),_:1},8,["api-key","language","center","zoom","options"])])]),n("div",lo,[n("div",io,[n("button",{class:re(["storelocator__tab",{"storelocator__tab--active":l(O)==="list"}]),onClick:c[4]||(c[4]=S=>O.value="list")},[c[14]||(c[14]=oe('<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-631e644a><line x1="8" x2="21" y1="6" y2="6" data-v-631e644a></line><line x1="8" x2="21" y1="12" y2="12" data-v-631e644a></line><line x1="8" x2="21" y1="18" y2="18" data-v-631e644a></line><line x1="3" x2="3.01" y1="6" y2="6" data-v-631e644a></line><line x1="3" x2="3.01" y1="12" y2="12" data-v-631e644a></line><line x1="3" x2="3.01" y1="18" y2="18" data-v-631e644a></line></svg>',1)),G(" "+_(d.$t("pages.points_of_sale.list")),1)],2),n("button",{class:re(["storelocator__tab",{"storelocator__tab--active":l(O)==="map"}]),onClick:c[5]||(c[5]=S=>O.value="map")},[c[15]||(c[15]=n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[n("path",{d:"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"}),n("circle",{cx:"12",cy:"10",r:"3"})],-1)),G(" "+_(d.$t("pages.points_of_sale.card")),1)],2)]),ye(n("div",co,[_e(l($e),{"api-key":l(a),libraries:["places"],language:l(ue),class:"storelocator__google-map",center:l(pe),zoom:l(T),"fullscreen-control":!0,"map-type-control":!1,"street-view-control":!1,options:{styles:l(J)}},{default:Q(()=>[(C(!0),x(ae,null,se(l(B),(S,I)=>(C(),K(l(xe),{key:S.id,options:{icon:l(m)(I),position:{lat:parseFloat(S.lat),lng:parseFloat(S.lng)},zIndex:l(u)===I?1e3:I},onClick:R=>ve(I)},null,8,["options","onClick"]))),128)),l($)?(C(),K(l(Pe),{key:0,options:{position:{lat:parseFloat(l($).lat),lng:parseFloat(l($).lng)},maxWidth:260},onCloseclick:me},{default:Q(()=>[n("div",uo,[n("h4",po,_(l($).name),1),n("p",fo,_(l($).address),1),n("p",ho,_(l($).zip)+" "+_(l($).city),1),n("a",{href:`https://www.google.com/maps/dir/?api=1&destination=${l($).lat},${l($).lng}`,target:"_blank",rel:"noopener noreferrer",class:"info-window__directions"},[c[16]||(c[16]=n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[n("path",{d:"M3 11l18-5-5 18-4-8-9-5z"})],-1)),G(" "+_(d.$t("pages.points_of_sale.directions")),1)],8,go)])]),_:1},8,["options"])):z("",!0)]),_:1},8,["api-key","language","center","zoom","options"])],512),[[et,l(O)==="map"]])])])}}}),wo=Me(vo,[["__scopeId","data-v-631e644a"]]);export{wo 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.