1import{_ as z}from"./BT7ixJNi.js";import{_ as N,a as R,b as B}from"./DzfK52Sw.js";import{_ as q}from"./COK1nKQ_.js";import{_ as O,x as V,q as Y,r as G,o as d,c as k,b as h,F as L,i as x,n as W,h as o,t as C,e as P,f as M,v as D,y as H,j as X,m as j,k as $,l as b,p as Q,d as w}from"./C82GXkMW.js";import{_ as F,a as J,b as K}from"./Cay92q78.js";import{_ as U}from"./DS3dng_U.js";import{u as Z,a as ee}from"./DmIJVmlp.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};s.SENTRY_RELEASE={id:"31e9f36817a951bbc53b44c13ac8d367acd5a01f"};var t=new s.Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="0c15c2a5-50d0-4923-afa8-89144d43c12f",s._sentryDebugIdIdentifier="sentry-dbid-0c15c2a5-50d0-4923-afa8-89144d43c12f")}catch{}})();function te(s,t){s.src=t}const oe=s=>{var t,n,e,a="The Google Maps JavaScript API",c="google",l="importLibrary",p="__ib__",g=document,I=window,T=I[c]||(I[c]={}),_=T.maps||(T.maps={}),y=new Set,f=new URLSearchParams,i=()=>t||(t=new Promise(async(r,u)=>{await(n=g.createElement("script")),f.set("libraries",[...y]+"");for(e in s)f.set(e.replace(/[A-Z]/g,m=>"_"+m[0].toLowerCase()),s[e]);f.set("callback",c+".maps."+p),te(n,"https://maps.googleapis.com/maps/api/js?"+f),_[p]=r,n.onerror=()=>t=u(Error(a+" could not load.")),n.nonce=g.querySelector("script[nonce]")?.nonce||"",g.head.append(n)}));_[l]?console.warn(a+" only loads once. Ignoring:",s):_[l]=(r,...u)=>y.add(r)&&i().then(()=>_[l](r,...u))},ne=s=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(s)}) will be ignored.`,se=s=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(s)}) will be ignored.`,ae=()=>{},ie=()=>{};let A=!1;function re(s){if(A){ae(ne(s));return}le(s),A=!0}async function ce(s){if(!window?.google?.maps?.importLibrary)throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(s)}function le(s){const t=!!window.google?.maps?.importLibrary;t&&ie(se(s)),t||oe(s)}class pe{google;mapElement;map;options;markerImage;markers;openInfowindows;categories;shadow;constructor(t,n,e){this.google=t,this.mapElement=n,this.markers=[],this.openInfowindows=[],this.categories={},this.setOptions(e),this.map=new this.google.maps.Map(this.mapElement,this.options),this.options?.center&&this.map.panTo(this.options.center)}setOptions(t){t.mapTypeId===null&&(t.mapTypeId=this.google.maps.MapTypeId.ROADMAP),t.zoom===null&&(t.zoom=8),this.options=t}setMarkerIcon(t,n){this.markerImage={url:t.src,size:new this.google.maps.Size(t.width,t.height),origin:new this.google.maps.Point(0,0),anchor:new this.google.maps.Point(t.anchorX,t.anchorY)},typeof n<"u"&&(this.shadow={url:n.src,size:new this.google.maps.Size(n.width,n.height),origin:new this.google.maps.Point(0,0),anchor:new this.google.maps.Point(n.anchorX,n.anchorY)})}addMarker(t,n,e,a){let c;typeof a>"u"?c=this.markerImage:c={url:a.src,size:new this.google.maps.Size(a.width,a.height),origin:new this.google.maps.Point(0,0),anchor:new this.google.maps.Point(a.anchorX,a.anchorY)};const l=new this.google.maps.Marker({position:new this.google.maps.LatLng(t[0],t[1]),map:this.map,icon:c,title:n});return this.markers.push(l),typeof e<"u"&&(typeof this.categories[e]>"u"&&(this.categories[e]=[]),this.categories[e].push(l)),l}addInfoWindow(t,n,e){const a=new this.google.maps.InfoWindow({content:n});return typeof e!="function"&&(e=()=>{this.openInfowindow(a,t)}),this.google.maps.event.addListener(t,"click",e),a}openInfowindow(t,n){let e;for(;e=this.openInfowindows.pop();)e.close();t.open(this.map,n),this.openInfowindows.push(t)}hideMarker(t){this.setMarkerVisibility(t,!1)}setMarkerVisibility(t,n){let e=[];
1if(t==="all")e=this.markers;else if(t==="allcategory")for(const a in this.categories)for(const c in this.categories[a])e.push(this.categories[a][c]);else if(typeof t=="string"){for(const a in this.categories)if(a===t)for(const c in this.categories[a])e.push(this.categories[a][c])}this.#e(e,n)}#e(t,n){for(const e in t)t[e].setVisible(n)}showMarker(t){this.setMarkerVisibility(t,!0)}autoCenter(){const t=new this.google.maps.LatLngBounds;for(let n=0;n<this.markers.length;n++)this.markers[n].getVisible()&&t.extend(this.markers[n].getPosition());this.map.fitBounds(t)}}const de={class:"row"},ue={class:"columns column3 highlights-nav"},me={class:"container highlight-category"},he=["onClick"],ge=["data-id"],_e={class:"columns column9 maps"},fe={__name:"HighlightsMap",props:{items:{type:Array,default:()=>[]}},setup(s){const t=s,n=H(),e=D(null),a=D(null),c=D([]);let l=null;const p={},g={zoom:11,center:{lat:51.3153385,lng:3.1302517},styles:[{featureType:"poi",elementType:"all",stylers:[{visibility:"off"}]}],draggable:!0,mapTypeControl:!1,zoomControl:!0,streetViewControl:!0,scrollwheel:!0};V(()=>{c.value=t.items.map(i=>i.items).flat()});const I=X(()=>c.value.filter(i=>parseInt(i.highlightsCategorie.ID,10)===parseInt(a.value,10)));Y(async()=>{re({key:n.public.maps.apiKey,v:"weekly",libraries:["maps"]}),await ce("core"),e.value&&(l=new pe(google,e.value,g),T())});const T=()=>{l.setMarkerIcon({src:"/images/marker.png",width:30,height:42,anchorX:15,anchorY:21}),l.addInfoWindow(l.addMarker(Object.values(g.center),"WP Hotel Aazaert"),'<h3>WP Hotel Aazaert</h3><p class="address">Hoogstraat 25<br>8370 Blankenberge</p>')},_=i=>{l&&(i===a.value?a.value=null:a.value=i,l.setMarkerIcon({src:"/images/marker-item.png",width:30,height:42,anchorX:15,anchorY:21}),l.hideMarker("allcategory"),I.value.forEach(r=>{const u=l.addMarker([r.location.latitude,r.location.longitude],r.header,`cat_${r.category}`),m=l.addInfoWindow(u,f(r));p[`#huid_${r.ID}`]=[m,u]}),a.value&&l.autoCenter())},y=i=>{if(i.target.dataset.id){const u=p[i.target.dataset.id];l.openInfowindow(u[0],u[1])}},f=i=>{let r="<h3>"+i.header+"</h3>";return r+=`<p class="address"> 2 ${i.location.address}<br>${i.location.postalCode} ${i.location.city} 3 </p>`,i.phonenumber&&(r+=`<p class="phone">${i.phonenumber}</p>`),i.distance_public&&(r+=`<p class="directions public"><span class="icon-directions"></span> 4 <span>${i.distancePublic}</span> 5 </p>`),i.distance_walk&&(r+=`<p class="directions walk"><span class="icon-directions"></span> 6 <span>${i.distanceWalk}</span> 7 </p>`),i.url&&(r+=`<p class="website"> 8 <a href="${i.url}" target="_blank" rel="noopener noreferrer">Website</a> 9 </p>`),r};return(i,r)=>{const u=G("slide-up-down");return d(),k("div",de,[h("div",ue,[(d(!0),k(L,null,x(s.items,(m,S)=>(d(),k("div",{key:S,class:"category"},[h("div",me,[h("div",{class:W(["highlight-item button button-toggle",{active:o(a)===parseInt(m.value,10)}]),onClick:v=>_(parseInt(m.value,10))},[h("span",null,C(m.name),1)],10,he),P(u,{"model-value":o(a)===parseInt(m.value,10),class:"highlight-content",duration:300},{default:M(()=>[h("ul",null,[(d(!0),k(L,null,x(m.items,v=>(d(),k("li",{key:v.ID,"data-id":`#huid_${v.ID}`,onClick:r[0]||(r[0]=E=>y(E))},C(v.header),9,ge))),128))])]),_:2},1032,["model-value"])])]))),128))]),h("div",_e,[h("div",{id:"gmap",ref_key:"gmap",ref:e},null,512)])])}}},be=O(fe,[["__scopeId","data-v-f316306d"]]),we={key:0,class:"hero-content"},ke={class:"hero-title"},ye={class:"hero-subtitle"},ve={key:0,class:"hero-content"},Ie={class:"hero-title"},Te={class:"main-content highlights-section background-light"},Ce={__name:"highlights",async setup(s){let t,n;const{page:e,fetchPage:a}=Z(),{defaults:c,fetchDefaults:l}=ee(),{locale:p}=j();[t,n]=$(()=>a()),await t,n(),[t,n]=$(()=>l()),await t,n();const{data:g}=([t,n]=$(()=>Q("highlights",{api:"group",query:{language:p.value},key:`${p.value}/highlights`})),t=await t,n(),t);return(I,T)=>{const _=z,y=R,f=q,i=B,r=be,u=F,m=U,S=J,v=K,E=N;return d(),b(E,{page:o(e)},{default:M(()=>[o(e).vimeoIDLandscape?(d(),b(_,{key:0,"embed-code":o(e).vimeoIDLandscape,type:"large"},{heroContent:M(()=>[o(c)[o(p)].homepage.headingTitle?(d(),k("div",we,[h("span",ke,C(o(c)[o(p)].homepage.headingTitle),1),h("span",ye,C(o(c)[o(p)].homepage.headingSubTitle),1)])):w("",!0)]),_:1},8,["embed-code"])):o(e).headingImage?(d(),b(y,{key:1,"heading-image":{image:o(e).headingImage,imageWebp:o(e).headingImageWebp,imagePortrait:o(e).headingImagePortrait,imagePortraitWebp:o(e).headingImagePortraitWebp}},{heroContent:M(()=>
9[o(e).heroTitle?(d(),k("div",ve,[h("span",Ie,C(o(e).heroTitle),1)])):w("",!0)]),_:1},8,["heading-image"])):w("",!0),P(f,{breadcrumbs:o(e).breadcrumbs,class:W(o(e).headingImage?"":"no-slider")},null,8,["breadcrumbs","class"]),P(i,{title:o(e).title||o(e).header,subtitle:o(e).subtitle,content:o(e).content,"introduction-content":o(e).introductionContent},null,8,["title","subtitle","content","introduction-content"]),h("section",Te,[P(r,{items:o(g)},null,8,["items"])]),o(e)&&o(e).contentblocks&&o(e).contentblocks.length?(d(),b(u,{key:2,contentblocks:o(e).contentblocks,"content-blocks-content":o(e).sectionContentblocksContent,"content-blocks-subtitle":o(e).sectionContentblocksSubtitle,"content-blocks-title":o(e).sectionContentblocksTitle},null,8,["contentblocks","content-blocks-content","content-blocks-subtitle","content-blocks-title"])):w("",!0),o(e)&&o(e).frequentlyAskedQuestion?(d(),b(m,{key:3,header:o(e).frequentlyAskedQuestion.header,subtitle:o(e).frequentlyAskedQuestion.subtitle,items:o(e).frequentlyAskedQuestion.faqitems},null,8,["header","subtitle","items"])):w("",!0),o(e)&&o(e).footerSection&&o(e).footerSection.length?(d(),b(S,{key:4,"footer-section":o(e).footerSection[0]},null,8,["footer-section"])):w("",!0),o(e)&&o(e).showNewsletter?(d(),b(v,{key:5,header:o(c)[o(p)].newsletter.title,content:o(c)[o(p)].newsletter.content,button:o(c)[o(p)].newsletter.button},null,8,["header","content","button"])):w("",!0)]),_:1},8,["page"])}}},xe=O(Ce,[["__scopeId","data-v-3766a94e"]]);export{xe as default}; 10//# sourceMappingURL=DG34XxwO.js.map
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.