PageSourceSearch

https://www.hydrotour.sk/assets/HotelsMapView-M7zttbnY.js

js hydrotour.sk collected 2026-09-25 05:28:43 UTC 22,024 bytes, 46 lines download raw bytes

1import{T as X,I as jt}from"./IWebKatalog-8JmTBCmc.js";import{d as x,r as pt,o as v,c as p,t as L,i as M,b as t,g as H,a as z,w as R,j as l,S as Z,F as E,e as W,n as it,H as Ht,x as C,A,aW as ut,v as ht,b1 as Et,aK as It,aL as mt,aM as Nt,aQ as Ft,aR as Rt,aS as Bt,Y as nt,B as N,s as U,Z as q,k as B,aI as xt,aJ as Dt,$ as Vt,p as _t,a0 as Kt,af as Ot,aj as vt,z as F,at as Zt,aw as Ut,G as O,ao as Wt,ai as qt,b2 as G,ak as Gt,aU as ft}from"./index-Dl04tRNy.js";import{_ as Jt}from"./MapComponent.vue_vue_type_script_setup_true_lang-BzXXOdiZ.js";import{_ as gt}from"./SearchExtra.vue_vue_type_script_setup_true_lang-NroOpNnP.js";const Qt={class:"card-hotel-map"},Yt={key:0,class:"vignette"},Xt={key:0,class:"percentage"},te={key:1,class:"text"},ee=t("div",{class:"first-row"},"FIRST",-1),se=t("div",{class:"second-row"},"MOMENT",-1),oe=[ee,se],ae={key:2,class:"last-minute"},ne={class:"img"},ie=["href"],le=["src","alt"],re={class:"details"},ce={class:"name"},de=["href"],ue={key:0},ve={class:"destination"},fe={class:"price"},pe={class:"price-now"},he={class:"price-total"},me={class:"features"},_e={class:"row"},ge={class:"feature"},ke={class:"feature"},ye=t("span",null,[t("i",{class:"icon-calendar-full","aria-hidden":"true",title:"days"})],-1),be={class:"feature"},$e=t("span",null,[t("i",{class:"icon-dinner","aria-hidden":"true",title:"strava"})],-1),we=x({__name:"CardHotelMap",props:{hotel:{}},setup(a){var f;const s=a,r=e=>Ht.value?e?e.replace("/t2/Hotel/","/t3/Hotel/"):"":e??"",g=s.hotel.letiska.map(e=>e.skratka??e.text).join(", "),c=(f=s.hotel.dni)==null?void 0:f.join(", "),m=s.hotel.strava.map(e=>e.text).join(", "),u=s.hotel.idTypDopravaTamList.map(e=>{if(e===X.VLASTNA)return"icon-car2";if(e===X.LETECKA)return"icon-plane"});return(e,d)=>{const $=pt("RouterLink");return v(),p("div",Qt,[e.hotel.firstMinute||e.hotel.lastMinute?(v(),p("div",Yt,[e.hotel.firstMinute&&e.hotel.zlavaPercenta?(v(),p("div",Xt,"-"+L(e.hotel.zlavaPercenta)+"%",1)):M("",!0),e.hotel.firstMinute?(v(),p("div",te,oe)):M("",!0),e.hotel.lastMinute?(v(),p("div",ae,"Last minute")):M("",!0)])):M("",!0),t("div",ne,[t("a",{href:e.hotel.pageUrl,target:"_blank","force-new-tab":""},[t("img",{src:r(e.hotel.obrazokUrl),loading:"lazy",alt:e.hotel.nazov},null,8,le)],8,ie)]),t("div",re,[t("div",ce,[t("a",{href:e.hotel.pageUrl,target:"_blank","force-new-tab":""},[H(L(e.hotel.nazov)+" ",1),e.hotel.hviezdy&&e.hotel.hviezdy>0?(v(),p("span",ue,L(e.hotel.hviezdy)+"*",1)):M("",!0),H(L(e.hotel.plus?"+":""),1)],8,de)]),t("div",ve,[z($,{to:{name:"dovolenky",query:{staty:e.hotel.stat.id}}},{default:R(()=>[H(L(e.hotel.stat.nadpis),1)]),_:1},8,["to"]),H(" - "),z($,{to:{name:"dovolenky",query:{oblasti:e.hotel.oblast.id}}},{default:R(()=>[H(L(e.hotel.oblast.nadpis),1)]),_:1},8,["to"])]),t("div",fe,[H(" od "),t("span",pe,L(l(Z)(e.hotel.cenaZlava)),1),e.hotel.idTypKatalog!==5?(v(),p(E,{key:0},[H(", "),t("span",he,L(l(Z)(e.hotel.cenaTotal)),1),H(" s popl. / dosp. os.")],64)):M("",!0)]),t("div",me,[t("div",_e,[t("div",ge,[t("span",null,[(v(!0),p(E,null,W(l(u),_=>(v(),p("i",{key:_,class:it(_)},null,2))),128))]),t("span",null,L(l(g)),1)]),t("div",ke,[ye,t("span",null,L(l(c))+" dní",1)]),t("div",be,[$e,t("span",null,L(l(m)),1)])])])])])}}}),Ce={class:"dropdown filter-destination"},Se={class:"dropdown-header-mobile"},Le={class:"top"},Me=t("div",{class:"left"},[t("div",{class:"heading-mobile"},"Destinácia")],-1),Pe=t("i",{class:"icon-cross"},null,-1),Ae=[Pe],ze={class:"tabs"},Te={class:"tabs-content"},je={class:"tab active"},He={class:"all-destinations"},Ee={class:"checkbox-wrapper"},Ie=["onClick"],Ne=["value"],Fe=t("span",{class:"checkmark"},null,-1),Re={class:"checkbox-wrapper"},Be=["value"],xe=t("span",{class:"checkmark"},null,-1),De=x({__name:"SearchBarHotelsMapDestinacia",props:{filterState:{},destinacieOptions:{}},emits:["close"],setup(a,{emit:s}){const r=s,g=C(0),c=(m,u)=>{g.value===m.id?g.value=0:(g.value=m.id,ht(()=>{var d;((d=u.target.closest(".checkbox-wrapper"))==null?void 0:d.nextSibling).scrollIntoView({behavior:"smooth",block:"nearest"})}))};return(m,u)=>(v(),p("div",Ce,[t("div",Se,[t("div",Le,[Me,t("div",{class:"close-icon",onClick:u[0]||(u[0]=f=>r("close"))},Ae)])]),t("div",ze,[t("div",Te,[t("div",je,[t("div",He,[t("ul",null,[(v(!0),p(E,null,W(m.destinacieOptions,f=>(v(),p("li",{key:f.id,class:it({active:g.value===f.id})},[t("div",Ee,[t("div",{onClick:e=>c(f,e)},L(f.nazov),9,Ie),t("label",null,[A(t("input",{"onUpdate:modelValue":u[1]||(u[1]=e=>m.filterState.staty=e),type:"checkbox",value:f.id},null,8,Ne),[[ut,m.filterState.staty]]),Fe])]),t("ul",null,[(v(!0),p(E,null,W(f.oblasti,e=>(v(),p("li",{key:e.id},[t("label",Re,[t("div",null,L(e.nazov),1),A(t("input",{"onUpdate:modelValue":u[2]||(u[2]=d=>m.filterState.oblasti=d),type:"checkbox",value:e.id},null,8,Be),[[ut,m.filterState.oblasti]]),xe])]))),128))])],2))),128))])])])])])]))}}),tt=Et("hotelsMapSearchStore",()=>{const a=C({...It}),s=C({...mt}),r=(async()=>{try{return a.value=await Nt.load(),!0}catch{return!1}})(),g=C(),c=C([]),m=Ft(s),u=Rt(s,a),f=Bt(s),e=C(!1),d=C(!1),$=C(!1),_=C(!1),P=C(!1);return(async()=>(await r,c.value=a.value.staty.map(w=>{const T=a.value.oblasti.filter(S=>S.parentId===w.id);return{...w,oblasti:T}})))(),{filterConfig:a,filterState:s,filterConfigLoaded:r,filterExtraItemsCount:g,destinacieOptions:c,datumActive:e,dniActive:d,cestujuciActive:$,destinaciaActive:_,datumPill:m,dniPills:u,cestujuciPills:f,filterMobileActive:P}}),Ve={class:"search-bar-main-wrapper"},Ke={id:"search-bar",class:"search-bar"},Oe={class:"date"},Ze=t("div",{class:"label"},"Termín",-1),Ue={class:"hint"},We={class:"filter-value"},qe={class:"pill"},Ge={class:"duration"},Je=t("div",{class:"label"},"Dĺžka pobytu",-1),Qe={class:"hint"},Ye={class:"filter-value"},Xe=["onClick"],ts={class:"persons"},es=t("div",{class:"label"},"Počet osôb a izieb",-1),ss={class:"hint"},os={class:"filter-value"},as={class:"pill"},ns={class:"destination"},is=t("div",{class:"label"},"Destinácia",-1),ls=t("div",{class:"hint"},"Nájsť na mape",-1),rs=[is,ls],kt=x({__name:"SearchHotelsMap",setup(a){const s=tt(),r=(f,e)=>{switch(f){case"datum":s.datumActive=e;break;case"dni":s.dniActive=e;break;case"cestujuci":s.cestujuciActive=e;break;
1case"destinacia":s.destinaciaActive=e;break}},g=(f,e)=>{r(f,!1),r(e,!0)},c=()=>{s.filterState.datumOd="",s.filterState.datumDo=""},m=(f,e)=>{const d=f.findIndex($=>$===e);d>-1&&f.splice(d,1)},u=()=>{s.filterState.cestujuci=[[18,18]]};return(f,e)=>{const d=nt("show-modal"),$=nt("click-outside");return v(),p("div",Ve,[t("div",Ke,[A((v(),p("div",Oe,[t("div",{class:"inner",onClick:e[0]||(e[0]=_=>l(s).datumActive=!l(s).datumActive)},[Ze,A(t("div",Ue,"Kedy?",512),[[N,!l(s).datumPill]]),A(t("div",We,[t("div",qe,[t("span",null,L(l(s).datumPill),1),t("i",{class:"icon-cross",onClick:U(c,["prevent","stop"])})])],512),[[N,l(s).datumPill]])]),z(q,{name:"fade"},{default:R(()=>[l(s).datumActive?(v(),B(xt,{key:0,"filter-state":l(s).filterState,"prev-text":"Destinácia","next-text":"Dĺžka pobytu",onClose:e[1]||(e[1]=_=>r("datum",!1)),onNext:e[2]||(e[2]=_=>g("datum","dni"))},null,8,["filter-state"])):M("",!0)]),_:1})])),[[d,l(s).datumActive],[$,()=>r("datum",!1)]]),A((v(),p("div",Ge,[t("div",{class:"inner",onClick:e[3]||(e[3]=_=>l(s).dniActive=!l(s).dniActive)},[Je,A(t("div",Qe,"Na ako dlho?",512),[[N,!l(s).dniPills.length]]),A(t("div",Ye,[(v(!0),p(E,null,W(l(s).dniPills,_=>(v(),p("div",{key:_.id,class:"pill"},[t("span",null,L(_.nazov),1),t("i",{class:"icon-cross",onClick:U(P=>m(l(s).filterState.dni,_.id),["prevent","stop"])},null,8,Xe)]))),128))],512),[[N,l(s).dniPills.length]])]),z(q,{name:"fade"},{default:R(()=>[l(s).dniActive?(v(),B(Dt,{key:0,"filter-state":l(s).filterState,"key-to-items":"dni",items:l(s).filterConfig.dni,nadpis:"Dĺžka pobytu","prev-text":"Termín","next-text":"Počet osôb a izieb",onClose:e[4]||(e[4]=_=>r("dni",!1)),onPrev:e[5]||(e[5]=_=>g("dni","datum")),onNext:e[6]||(e[6]=_=>g("dni","cestujuci"))},null,8,["filter-state","items"])):M("",!0)]),_:1})])),[[d,l(s).dniActive],[$,()=>r("dni",!1)]]),A((v(),p("div",ts,[t("div",{class:"inner",onClick:e[7]||(e[7]=_=>l(s).cestujuciActive=!l(s).cestujuciActive)},[es,A(t("div",ss,"Koľkí cestujete?",512),[[N,!l(s).cestujuciPills]]),A(t("div",os,[t("div",as,[t("span",null,L(l(s).cestujuciPills),1),t("i",{class:"icon-cross",onClick:U(u,["prevent","stop"])})])],512),[[N,l(s).cestujuciPills]])]),z(q,{name:"fade"},{default:R(()=>[l(s).cestujuciActive?(v(),B(Vt,{key:0,"filter-state":l(s).filterState,"prev-text":"Dĺžka pobytu",onClose:e[8]||(e[8]=_=>r("cestujuci",!1)),onPrev:e[9]||(e[9]=_=>g("cestujuci","dni"))},null,8,["filter-state"])):M("",!0)]),_:1})])),[[d,l(s).cestujuciActive],[$,()=>r("cestujuci",!1)]]),A((v(),p("div",ns,[t("div",{class:"inner",onClick:e[10]||(e[10]=_=>l(s).destinaciaActive=!l(s).destinaciaActive)},rs),z(q,{name:"fade"},{default:R(()=>[l(s).destinaciaActive?(v(),B(De,{key:0,"filter-state":l(s).filterState,"destinacie-options":l(s).destinacieOptions,onClose:e[11]||(e[11]=_=>r("destinacia",!1))},null,8,["filter-state","destinacie-options"])):M("",!0)]),_:1})])),[[d,l(s).destinaciaActive],[$,()=>r("destinacia",!1)]])])])}}}),cs={key:0,class:"filter"},ds={class:"hotels-listing-container"},us={class:"filter-controls"},vs={class:"row"},fs=t("span",null,"Zobraziť filter",-1),ps=t("i",{class:"icon-chevron-right"},null,-1),hs=t("i",{class:"icon-chevron-left"},null,-1),ms=t("span",null,"Skryť filter",-1),_s={class:"results-count"},gs={class:"row"},ks={key:0,class:"hotels-listing"},ys={key:1,class:"hotels-listing empty"},bs=t("div",null,"Zobraziť najbližšie vyhovujúce hotely",-1),$s=x({__name:"HotelsMapControl
1s",props:{hotelMarkers:{}},emits:["showNearestFiltered","hotelCardHovered","hotelCardMouseLeave","resetMap"],setup(a,{emit:s}){const r=a,g=tt(),c=s,m=_t(()=>Kt(r.hotelMarkers.length,["Hotel","Hotely","Hotelov"])),u=C(!0),f=(w,T)=>{w.listingEl=T},e=()=>c("showNearestFiltered"),d=w=>{c("hotelCardHovered",w)},$=w=>{c("hotelCardMouseLeave",w)},_=()=>u.value=!u.value,P=()=>{c("resetMap")};return(w,T)=>(v(),p("div",{class:it(["map-controls-container hotels",{"filter-hidden":!u.value}])},[u.value?(v(),p("div",cs,[z(kt),z(gt,{"filter-state":l(g).filterState,"filter-config":l(g).filterConfig},null,8,["filter-state","filter-config"])])):M("",!0),t("div",ds,[t("div",us,[t("div",vs,[t("a",{href:"#",class:"filter-control",onClick:U(_,["prevent"])},[u.value?M("",!0):(v(),p(E,{key:0},[fs,H(),ps],64)),u.value?(v(),p(E,{key:1},[hs,H(),ms],64)):M("",!0)]),t("div",_s,L(m.value),1)]),t("div",gs,[t("button",{onClick:U(P,["prevent"])},"Reset filtra")])]),w.hotelMarkers.length?(v(),p("div",ks,[(v(!0),p(E,null,W(w.hotelMarkers,S=>(v(),p("div",{key:S.hotel.hotelId,ref_for:!0,ref:D=>f(S,D)},[z(we,{hotel:S.hotel,onMouseenter:()=>d(S),onMouseleave:()=>$(S)},null,8,["hotel","onMouseenter","onMouseleave"])]))),128))])):M("",!0),w.hotelMarkers.length?M("",!0):(v(),p("div",ys,[bs,t("button",{class:"narrow small-font",onClick:e},"Zobraziť")]))])],2))}}),ws=a=>a.map(s=>{if(s===X.VLASTNA)return'<i class="icon-car2"></i>';if(s===X.LETECKA)return'<i class="icon-plane"></i>'}).join(),Cs=a=>{let s=`<div class="price">od <span class="price-now">${Z(a.cenaZlava)}</span>`;return a.cenaZlava!==a.cenaKatalog&&(s+=`<span class="price-then">${Z(a.cenaKatalog)}</span>,`),a.idTypKatalog!==5&&(s+=`<span class="price-total">${Z(a.cenaTotal)}</span> s popl. / dosp. os.`),s+="</div>",s},Ss=a=>{const s=document.createElement("div");return s.classList.add("marker-hotel"),s.innerHTML=`
2    <div class="icon">
3        <i class="icon-apartment"></i>
4    </div>
5    <div class="img">
6        <a href="${a.pageUrl}" target="_blank" force-new-tab>
7            <img src="${a.obrazokUrl}" loading="lazy" alt="${a.nazov}"/>
8        </a>
9    </div>
10    <div class="details">
11        <div class="name">
12            <a href="${a.pageUrl}" target="_blank" force-new-tab>${a.plnyNazov}</a>
13        </div>
14        <div class="subtitle">${a.uputavka}</div>
15        ${Cs(a)}
16        <div class="features">
17            <div>
18                <i aria-hidden="true" class="fa fa-ruler fa-lg size" title="plane"></i>
19                <span class="fa-sr-only">${ws(a.idTypDopravaTamList)}</span>
20                <span>${a.letiska.map(r=>r.skratka).join(", ")}</span>
21            </div>
22            <div>
23                <i aria-hidden="true" class="fa fa-bath fa-lg bath" title="days"></i>
24                <span class="fa-sr-only"><i class="icon-calendar-full"></i></span>
25                <span>${a.dni.join(", ")} dní</span>
26            </div>
27            <div>
28                <i aria-hidden="true" class="fa fa-bed fa-lg bed" title="strava"></i>
29                <span class="fa-sr-only"><i class="icon-dinner"></i></span>
30                <span>${a.strava.map(r=>r.text).join(", ")}</span>
31            </div>
32        </div>
33        <div class="close-button"><i class="icon-cross"></i></div>
34    </div>
35    `,s},Ls=a=>{var c,m,u,f;const s=document.createElement("div");s.classList.add("marker-hotel"),s.classList.add("airport");const r=!((c=a.oblast)!=null&&c.nazov)||((m=a.oblast)==null?void 0:m.nazov)===a.nazov?" ":` ${(u=a.oblast)==null?void 0:u.nazov}, `,g=`${(f=a.stat)==null?void 0:f.nazov},${r}${a.nazov} (${a.kod})`;return s.innerHTML=`
36    <div class="icon">
37        <i class="icon-plane"></i>
38    </div>
39    <div class="details">
40        <div class="name">
41            <div><strong>Letisko</strong></div>
42            <div>${g}</div>
43        </div>
44        <div class="close-button"><i class="icon-cross"></i></div>
45    </div>
46    `,s},J=a=>{const s=a.content;s&&(s.classList.add("highlight"),a.zIndex=1)},Q=a=>{const s=a.content;s&&(s.classList.remove("highlight"),a.zIndex=null)},at=a=>({lat:Number(a.lat),lng:Number(a.lon)}),Ms=(a,s,r=0,g=0)=>{const c=a.getZoom(),m=a.getProjection();if(!c||!m)return;const u=Math.pow(2,c),f=m.fromLatLngToPoint(s),e=new google.maps.Point(r/u,g/u);if(!f)return;const d=new google.maps.Point(f.x-e.x,f.y+e.y);return m.fromPointToLatLng(d)},Ps=(a,s,r,g,c)=>
46{const m=a.getBounds().getSouthWest(),u=a.getBounds().getNorthEast(),f=a.getProjection().fromLatLngToPoint(u),e=a.getProjection().fromLatLngToPoint(m),d=Math.pow(2,a.getZoom()),$=a.getProjection().fromLatLngToPoint(m),_=new google.maps.Point(($.x-e.x)*d+c,($.y-f.y)*d-r),P=new google.maps.Point(_.x/d+e.x,_.y/d+f.y),w=a.getProjection().fromPointToLatLng(P),T=a.getProjection().fromLatLngToPoint(u),S=new google.maps.Point((T.x-e.x)*d-g,(T.y-f.y)*d+s),D=new google.maps.Point(S.x/d+e.x,S.y/d+f.y),b=a.getProjection().fromPointToLatLng(D);return new google.maps.LatLngBounds(w,b)},As={class:"map-controls-mobile hotels"},zs={class:"filter-mobile-dropdown"},Ts=t("i",{class:"icon-funnel"},null,-1),js=t("span",null,"Filter",-1),Hs=[Ts,js],Es={class:"dropdown"},Is=t("div",{class:"left"},[t("div",{class:"heading-mobile"},"Filtrovať")],-1),Ns=t("i",{class:"icon-cross"},null,-1),Fs=[Ns],Rs={class:"dropdown-content"},Bs=t("div",{class:"left"},null,-1),xs=t("i",{class:"icon-magnifier"},null,-1),Ds=t("span",null,"Vyhľadať",-1),Vs=[xs,Ds],Ks=t("div",{class:"right"}
46,null,-1),Os=x({__name:"HotelsMapControlsMobile",setup(a){const s=tt();function r(){s.filterMobileActive=!0}function g(){s.filterMobileActive=!1}return(c,m)=>{const u=nt("show-modal");return v(),p("div",As,[A((v(),p("div",zs,[t("button",{class:"narrow small-font w-icon-left",onClick:r},Hs),t("div",Es,[t("div",{class:"dropdown-header-mobile"},[t("div",{class:"top"},[Is,t("div",{class:"close-icon",onClick:g},Fs)])]),t("div",Rs,[z(kt),z(gt,{"filter-state":l(s).filterState,"filter-config":l(s).filterConfig},null,8,["filter-state","filter-config"])]),t("div",{class:"bottom-controls"},[Bs,t("div",null,[t("button",{class:"w-icon-left",onClick:g},Vs)]),Ks])])])),[[u,l(s).filterMobileActive]])])}}}),Zs={class:"subpage-map"},Y=670,Js=x({__name:"HotelsMapView",props:{staty:{},oblasti:{},hotely:{},datumOd:{},datumDo:{},dni:{},cestujuci:{},letiska:{},strava:{},hviezdy:{},ostatne:{}},setup(a){const s="AIzaSyBFKJq8EnKhWMLYKbIKaeUXbyagsVtuoJ0",r=a,g=Ot(),c=C(null),m=C(null),u=C(!1),f=vt.searchTerminyRaw({}),e=jt.letiskaMapa();let d=null;const $=C([]),_=C([]),P=C([]),w=C([]),T=C([]),S=_t(()=>_.value.flatMap(o=>P.value.find(i=>i.hotel.hotelId===o.hotelId)||[])),D={mapId:"2d1c48fce499bf89",center:{lat:48.730556,lng:19.457222},zoom:4,mapTypeId:"roadmap",mapTypeControl:!1,zoomControl:!0,zoomControlOptions:{position:7},scaleControl:!1,rotateControl:!1,fullscreenControl:!1,clickableIcons:!1,streetViewControl:!1},b=tt(),lt=async()=>{try{const o=await vt.searchTerminyRaw(Gt(b.filterState));_.value=o.hotely}catch(o){console.error("chyba pri nacitani vysledkov vyhladavania",o)}},et=(o,i)=>{let n=P.value,h=w.value;o&&(n=P.value.filter(y=>{const k=y.marker.content;return(k==null?void 0:k.classList.contains("highlight"))&&y.hotel.hotelId!==o.hotel.hotelId})),i&&(h=w.value.filter(y=>{const k=y.marker.content;return(k==null?void 0:k.classList.contains("highlight"))&&y.airport.id!==i.airport.id})),[...n,...h].forEach(y=>{Q(y.marker)})},yt=o=>{var n;const i=o.marker.content;o.marker.addListener("click",()=>{d=o,et(o),J(o.marker),bt(o)}),(n=i.querySelector(".close-button"))==null||n.addEventListener("click",h=>{h.stopPropagation(),Q(o.marker)})},st=async o=>{var y,k,j,V,K,I,ct;const{LatLngBounds:i}=await google.maps.importLibrary("core");var n=new i;o.forEach(dt=>{dt.hotel.polohaGps&&n.extend(at(dt.hotel.polohaGps))}),O.value?(k=(y=c.value)==null?void 0:y.map)==null||k.fitBounds(n,{bottom:(window.innerHeight-70)/2}):(V=(j=c.value)==null?void 0:j.map)==null||V.fitBounds(n,{left:Y+100,right:20});const h=(I=(K=c.value)==null?void 0:K.map)==null?void 0:I.getZoom();h&&h>12&&((ct=c.value)==null||ct.map.setZoom(12))},bt=o=>{var h,y,k,j,V,K;const i=(y=(h=c.value)==null?void 0:h.map)==null?void 0:y.getZoom();i&&i<14&&((j=(k=c.value)==null?void 0:k.map)==null||j.setZoom(14));let n=at(o.hotel.polohaGps);if(!O.value){const I=Ms(c.value.map,n,(window.innerWidth-Y)/2-(window.innerWidth/2-Y),0);I&&(n={lat:I.lat(),lng:I.lng()})}(K=(V=c.value)==null?void 0:V.map)==null||K.panTo(n)},$t=async o=>{const{AdvancedMarkerElement:i}=await google.maps.importLibrary("marker"),n=[];return o.forEach(h=>{var j;if(!h.polohaGps){console.log("hotel bez gps:",h);return}const y=new i({map:ft((j=c.value)==null?void 0:j.map),content:Ss(h),position:at(h.polohaGps),title:h.nazov}),k={hotel:h,marker:y};n.push(k),yt(k)}),n},wt=o=>{var n;const i=o.marker.content;o.marker.addListener("click",()=>{J(o.marker),et(void 0,o)}),(n=i.querySelector(".close-button"))==null||n.addEventListener("click",h=>{h.stopPropagation(),Q(o.marker)})},Ct=async o=>{const{AdvancedMarkerElement:i}=await google.maps.importLibrary("marker"),n=[];return o.forEach(h=>{var j;const y=new i({map:ft((j=c.value)==null?void 0:j.map),content:Ls(h),position:h.gps,title:h.nazov}),k={airport:h,marker:y};n.push(k),wt(k)}),n},ot=(o,i,n,h)=>{let y=o.filter(k=>(h==null?void 0:h.includes(k.hotel.hotelId))||(n==null?void 0:n.includes(k.hotel.oblast.id))||(i==null?void 0:i.includes(k.hotel.stat.id)));y.length||(y=o),st(y),u.value&&y.length===1&&J(y[0].marker)},rt=()=>{var i,n,h,y;let o=(n=(i=c.value)==null?void 0:i.map)==null?void 0:n.getBounds();O.value||(o=Ps(c.value.map,0,0,0,Y)),o||(console.error("bounds is undefined"),o=(y=(h=c.value)==null?void 0:h.map)==null?void 0:y.getBounds()),T.value=S.value.filter(k=>k.marker.map&&k.marker.position&&o&&o.contains(k.marker.position))},St=()=>{const o=S.value.map(i=>i.hotel.hotelId);P.value.forEach(i=>
46{const n=i.marker.content;o.includes(i.hotel.hotelId)?n.classList.remove("gray"):n.classList.add("gray")})},Lt=async()=>{try{const o=await e;w.value=await Ct(o)}catch{console.error("airports are not initialized")}},Mt=async()=>{var i,n;Lt();const o=await f;$.value=o.hotely,P.value=await $t(o.hotely),ot(P.value,G(r.staty,b.filterConfig.staty),G(r.oblasti,b.filterConfig.oblasti),r.hotely),(n=(i=c.value)==null?void 0:i.map)==null||n.addListener("idle",()=>{rt()})};F(()=>{var o;return(o=c.value)==null?void 0:o.mapReady},async o=>{if(!o)return;u.value=!0;const i=Wt(b.filterConfig,b.filterState,r);i&&(i.hotely=[],b.filterState=i),await lt(),await Mt(),u.value=!1},{immediate:!0}),F(()=>b.filterState,async()=>{u.value||(await lt(),qt(b.filterState,b.filterConfig,g))},{deep:!0}),F(()=>r.oblasti,()=>{ot(P.value,G(r.staty,b.filterConfig.staty),G(r.oblasti,b.filterConfig.oblasti),r.hotely)}),F(S,()=>{var o;(o=c.value)!=null&&o.mapReady&&(rt(),St())}),F(T,()=>{ht(()=>{var i,n;if(!(d!=null&&d.listingEl))return;const o=(i=d==null?void 0:d.listingEl)==null?void 0:i.closest(".hotels-listing");o.scrollTop=(n=d==null?void 0:d.listingEl)==null?void 0:n.offsetTop,d=null})}),F(()=>[b.filterState.staty,b.filterState.oblasti],async()=>{u.value||!b.filterState.staty.length&&!b.filterState.oblasti.length||(ot(P.value,b.filterState.staty,b.filterState.oblasti,[]),b.filterMobileActive=!1,b.destinaciaActive=!1,b.filterState.staty=[],b.filterState.oblasti=[])});const Pt=()=>{st(S.value)},At=o=>{et(o);const i=S.value.find(n=>n.hotel.hotelId===o.hotel.hotelId);if(i){const n=i.marker.content;n!=null&&n.classList.contains("highlight")||J(i.marker)}},zt=o=>{const i=S.value.find(n=>n.hotel.hotelId===o.hotel.hotelId);if(i){const n=i.marker.content;n!=null&&n.classList.contains("highlight")&&Q(i.marker)}},Tt=()=>{b.filterState={...mt},setTimeout(()=>{st(S.value)},100)};return Zt(()=>{var o;(o=document.querySelector("html"))==null||o.classList.add("html-map-fullscreen")}),Ut(()=>{var o;(o=document.querySelector("html"))==null||o.classList.remove("html-map-fullscreen")}),(o,i)=>{const n=pt("HeaderComponent");return v(),p(E,null,[z(n),t("main",Zs,[z(Jt,{ref_key:"mapRef",ref:c,"g-maps-api-key":l(s),"map-options":D},null,8,["g-maps-api-key"]),!l(O)&&$.value.length?(v(),B($s,{key:0,"hotel-markers":T.value,onShowNearestFiltered:Pt,onHotelCardHovered:At,onHotelCardMouseLeave:zt,onResetMap:Tt},null,8,["hotel-markers"])):M("",!0),l(O)?(v(),B(Os,{key:1,ref_key:"hotelsMapControl
46sMobileComponentRef",ref:m},null,512)):M("",!0)])],64)}}});export{Js 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.