@visitscotland/component-library 5.58.0 → 5.58.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -151,4 +151,4 @@
|
|
|
151
151
|
* @link https://github.com/gajus/sister for the canonical source repository
|
|
152
152
|
* @license https://github.com/gajus/sister/blob/master/LICENSE BSD 3-Clause
|
|
153
153
|
*/Sister=function(){var e={},n={};return e.on=function(t,a){var r={name:t,handler:a};return n[t]=n[t]||[],n[t].unshift(r),r},e.off=function(t){var a=n[t.name].indexOf(t);a!==-1&&n[t.name].splice(a,1)},e.trigger=function(t,a){var r=n[t],s;if(r)for(s=r.length;s--;)r[s].handler(a)},e};var sister=Sister,YouTubePlayer={exports:{}},browser={exports:{}},ms,hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var e=1e3,n=e*60,t=n*60,a=t*24,r=a*7,s=a*365.25;ms=function(c,d){d=d||{};var v=typeof c;if(v==="string"&&c.length>0)return o(c);if(v==="number"&&isFinite(c))return d.long?l(c):i(c);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function o(c){if(c=String(c),!(c.length>100)){var d=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(c);if(d){var v=parseFloat(d[1]),f=(d[2]||"ms").toLowerCase();switch(f){case"years":case"year":case"yrs":case"yr":case"y":return v*s;case"weeks":case"week":case"w":return v*r;case"days":case"day":case"d":return v*a;case"hours":case"hour":case"hrs":case"hr":case"h":return v*t;case"minutes":case"minute":case"mins":case"min":case"m":return v*n;case"seconds":case"second":case"secs":case"sec":case"s":return v*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return v;default:return}}}}function i(c){var d=Math.abs(c);return d>=a?Math.round(c/a)+"d":d>=t?Math.round(c/t)+"h":d>=n?Math.round(c/n)+"m":d>=e?Math.round(c/e)+"s":c+"ms"}function l(c){var d=Math.abs(c);return d>=a?u(c,d,a,"day"):d>=t?u(c,d,t,"hour"):d>=n?u(c,d,n,"minute"):d>=e?u(c,d,e,"second"):c+" ms"}function u(c,d,v,f){var p=d>=v*1.5;return Math.round(c/v)+" "+f+(p?"s":"")}return ms}function setup(e){t.debug=t,t.default=t,t.coerce=l,t.disable=o,t.enable=r,t.enabled=i,t.humanize=requireMs(),t.destroy=u,Object.keys(e).forEach(c=>{t[c]=e[c]}),t.names=[],t.skips=[],t.formatters={};function n(c){let d=0;for(let v=0;v<c.length;v++)d=(d<<5)-d+c.charCodeAt(v),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=n;function t(c){let d,v=null,f,p;function m(...g){if(!m.enabled)return;const b=m,h=Number(new Date),_=h-(d||h);b.diff=_,b.prev=d,b.curr=h,d=h,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let V=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(N,L)=>{if(N==="%%")return"%";V++;const S=t.formatters[L];if(typeof S=="function"){const R=g[V];N=S.call(b,R),g.splice(V,1),V--}return N}),t.formatArgs.call(b,g),(b.log||t.log).apply(b,g)}return m.namespace=c,m.useColors=t.useColors(),m.color=t.selectColor(c),m.extend=a,m.destroy=t.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(f!==t.namespaces&&(f=t.namespaces,p=t.enabled(c)),p),set:g=>{v=g}}),typeof t.init=="function"&&t.init(m),m}function a(c,d){const v=t(this.namespace+(typeof d>"u"?":":d)+c);return v.log=this.log,v}function r(c){t.save(c),t.namespaces=c,t.names=[],t.skips=[];const d=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const v of d)v[0]==="-"?t.skips.push(v.slice(1)):t.names.push(v)}function s(c,d){let v=0,f=0,p=-1,m=0;for(;v<c.length;)if(f<d.length&&(d[f]===c[v]||d[f]==="*"))d[f]==="*"?(p=f,m=v,f++):(v++,f++);else if(p!==-1)f=p+1,m++,v=m;else return!1;for(;f<d.length&&d[f]==="*";)f++;return f===d.length}function o(){const c=[...t.names,...t.skips.map(d=>"-"+d)].join(",");return t.enable(""),c}function i(c){for(const d of t.skips)if(s(c,d))return!1;for(const d of t.names)if(s(c,d))return!0;return!1}function l(c){return c instanceof Error?c.stack||c.message:c}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}var common=setup;(function(e,n){var t={};n.formatArgs=r,n.save=s,n.load=o,n.useColors=a,n.storage=i(),n.destroy=(()=>{let u=!1;return()=>{u||(u=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),n.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function a(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let u;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(u=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(u[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;u.splice(1,0,c,"color: inherit");let d=0,v=0;u[0].replace(/%[a-zA-Z%]/g,f=>{f!=="%%"&&(d++,f==="%c"&&(v=d))}),u.splice(v,0,c)}n.log=console.debug||console.log||(()=>{});function s(u){try{u?n.storage.setItem("debug",u):n.storage.removeItem("debug")}catch{}}function o(){let u;try{u=n.storage.getItem("debug")||n.storage.getItem("DEBUG")}catch{}return!u&&typeof process<"u"&&"env"in process&&(u=t.DEBUG),u}function i(){try{return localStorage}catch{}}e.exports=common(n);const{formatters:l}=e.exports;l.j=function(u){try{return JSON.stringify(u)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}})(browser,browser.exports);var browserExports=browser.exports,FunctionStateMap={exports:{}},PlayerStates={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default={BUFFERING:3,ENDED:0,PAUSED:2,PLAYING:1,UNSTARTED:-1,VIDEO_CUED:5},e.exports=n.default})(PlayerStates,PlayerStates.exports);var PlayerStatesExports=PlayerStates.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=PlayerStatesExports,a=r(t);function r(s){return s&&s.__esModule?s:{default:s}}n.default={pauseVideo:{acceptableStates:[a.default.ENDED,a.default.PAUSED],stateChangeRequired:!1},playVideo:{acceptableStates:[a.default.ENDED,a.default.PLAYING],stateChangeRequired:!1},seekTo:{acceptableStates:[a.default.ENDED,a.default.PLAYING,a.default.PAUSED],stateChangeRequired:!0,timeout:3e3}},e.exports=n.default})(FunctionStateMap,FunctionStateMap.exports);var FunctionStateMapExports=FunctionStateMap.exports,eventNames={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=["ready","stateChange","playbackQualityChange","playbackRateChange","error","apiChange","volumeChange"],e.exports=n.default})(eventNames,eventNames.exports);var eventNamesExports=eventNames.exports,functionNames={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=["cueVideoById","loadVideoById","cueVideoByUrl","loadVideoByUrl","playVideo","pauseVideo","stopVideo","getVideoLoadedFraction","cuePlaylist","loadPlaylist","nextVideo","previousVideo","playVideoAt","setShuffle","setLoop","getPlaylist","getPlaylistIndex","setOption","mute","unMute","isMuted","setVolume","getVolume","seekTo","getPlayerState","getPlaybackRate","setPlaybackRate","getAvailablePlaybackRates","getPlaybackQuality","setPlaybackQuality","getAvailableQualityLevels","getCurrentTime","getDuration","removeEventListener","getVideoUrl","getVideoEmbedCode","getOptions","getOption","addEventListener","destroy","setSize","getIframe","getSphericalProperties","setSphericalProperties"],e.exports=n.default})(functionNames,functionNames.exports);var functionNamesExports=functionNames.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=browserExports,a=c(t),r=FunctionStateMapExports,s=c(r),o=eventNamesExports,i=c(o),l=functionNamesExports,u=c(l);function c(f){return f&&f.__esModule?f:{default:f}}const d=(0,a.default)("youtube-player"),v={};v.proxyEvents=f=>{const p={};for(const m of i.default){const g="on"+m.slice(0,1).toUpperCase()+m.slice(1);p[g]=b=>{d('event "%s"',g,b),f.trigger(m,b)}}return p},v.promisifyPlayer=(f,p=!1)=>{const m={};for(const g of u.default)p&&s.default[g]?m[g]=(...b)=>f.then(h=>{const _=s.default[g],V=h.getPlayerState(),k=h[g].apply(h,b);return _.stateChangeRequired||Array.isArray(_.acceptableStates)&&!_.acceptableStates.includes(V)?new Promise(N=>{const L=()=>{const S=h.getPlayerState();let R;typeof _.timeout=="number"&&(R=setTimeout(()=>{h.removeEventListener("onStateChange",L),N()},_.timeout)),Array.isArray(_.acceptableStates)&&_.acceptableStates.includes(S)&&(h.removeEventListener("onStateChange",L),clearTimeout(R),N())};h.addEventListener("onStateChange",L)}).then(()=>k):k}):m[g]=(...b)=>f.then(h=>h[g].apply(h,b));return m},n.default=v,e.exports=n.default})(YouTubePlayer,YouTubePlayer.exports);var YouTubePlayerExports=YouTubePlayer.exports,loadYouTubeIframeApi={exports:{}},loadScript=function e(n,t,a){var r=document.head||document.getElementsByTagName("head")[0],s=document.createElement("script");typeof t=="function"&&(a=t,t={}),t=t||{},a=a||function(){},s.type=t.type||"text/javascript",s.charset=t.charset||"utf8",s.async="async"in t?!!t.async:!0,s.src=n,t.attrs&&setAttributes(s,t.attrs),t.text&&(s.text=""+t.text);var o="onload"in s?stdOnEnd:ieOnEnd;o(s,a),s.onload||stdOnEnd(s,a),r.appendChild(s)};function setAttributes(e,n){for(var t in n)e.setAttribute(t,n[t])}function stdOnEnd(e,n){e.onload=function(){this.onerror=this.onload=null,n(null,e)},e.onerror=function(){this.onerror=this.onload=null,n(new Error("Failed to load "+this.src),e)}}function ieOnEnd(e,n){e.onreadystatechange=function(){this.readyState!="complete"&&this.readyState!="loaded"||(this.onreadystatechange=null,n(null,e))}}(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=loadScript,a=r(t);function r(s){return s&&s.__esModule?s:{default:s}}n.default=s=>new Promise(i=>{if(window.YT&&window.YT.Player&&window.YT.Player instanceof Function){i(window.YT);return}else{const u=window.location.protocol==="http:"?"http:":"https:";(0,a.default)(u+"//www.youtube.com/iframe_api",c=>{c&&s.trigger("error",c)})}const l=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{l&&l(),i(window.YT)}}),e.exports=n.default})(loadYouTubeIframeApi,loadYouTubeIframeApi.exports);var loadYouTubeIframeApiExports=loadYouTubeIframeApi.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=sister,a=l(t),r=YouTubePlayerExports,s=l(r),o=loadYouTubeIframeApiExports,i=l(o);function l(c){return c&&c.__esModule?c:{default:c}}let u;n.default=(c,d={},v=!1)=>{const f=(0,a.default)();if(u||(u=(0,i.default)(f)),d.events)throw new Error("Event handlers cannot be overwritten.");if(typeof c=="string"&&!document.getElementById(c))throw new Error('Element "'+c+'" does not exist.');d.events=s.default.proxyEvents(f);const p=new Promise(g=>{typeof c=="object"&&c.playVideo instanceof Function?g(c):u.then(b=>{const h=new b.Player(c,d);return f.on("ready",()=>{g(h)}),null})}),m=s.default.promisifyPlayer(p,v);return m.on=f.on,m.off=f.off,m},e.exports=n.default})(dist,dist.exports);var distExports=dist.exports;const player=LoadingSpinner.getDefaultExportFromCjs(distExports),UNSTARTED=-1,ENDED=0,PLAYING=1,PAUSED=2,BUFFERING=3,CUED=5,VueYoutube={name:"Youtube",props:{videoId:String,playerVars:{type:Object,default:()=>({})},height:{type:[Number,String],default:360},width:{type:[Number,String],default:640},resize:{type:Boolean,default:!1},resizeDelay:{type:Number,default:100},nocookie:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!1}},data(){return{player:{},events:{[UNSTARTED]:"unstarted",[PLAYING]:"playing",[PAUSED]:"paused",[ENDED]:"ended",[BUFFERING]:"buffering",[CUED]:"cued"},resizeTimeout:null}},computed:{aspectRatio(){return this.width/this.height}},methods:{playerReady(e){this.$emit("ready",e.target)},playerStateChange(e){e.data!==null&&e.data!==UNSTARTED&&this.$emit(this.events[e.data],e.target)},playerError(e){this.$emit("error",e.target)},updatePlayer(e){if(!e){this.player.stopVideo();return}const n={videoId:e};if(typeof this.playerVars.start=="number"&&(n.startSeconds=this.playerVars.start),typeof this.playerVars.end=="number"&&(n.endSeconds=this.playerVars.end),this.playerVars.autoplay===1){this.player.loadVideoById(n);return}this.player.cueVideoById(n)},resizeProportionally(){this.player.getIframe().then(e=>{const n=this.fitParent?e.parentElement.offsetWidth:e.offsetWidth,t=n/this.aspectRatio;this.player.setSize(n,t)})},onResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(this.resizeProportionally,this.resizeDelay)}},watch:{videoId:"updatePlayer",resize(e){e?(window.addEventListener("resize",this.onResize),this.resizeProportionally()):(window.removeEventListener("resize",this.onResize),this.player.setSize(this.width,this.height))},width(e){this.player.setSize(e,this.height)},height(e){this.player.setSize(this.width,e)}},beforeUnmount(){this.player!==null&&this.player.destroy&&(this.player.destroy(),delete this.player),this.resize&&window.removeEventListener("resize",this.onResize)},mounted(){window.YTConfig={host:"https://www.youtube.com/iframe_api"};const e=this.nocookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";this.player=player(this.$el,{host:e,width:this.width,height:this.height,videoId:this.videoId,playerVars:this.playerVars}),this.player.on("ready",this.playerReady),this.player.on("stateChange",this.playerStateChange),this.player.on("error",this.playerError),this.resize&&window.addEventListener("resize",this.onResize),this.fitParent&&this.resizeProportionally()},render(){return vue.h("div")}},cookieValues$2=cookieValues$5.youtube;let videoStore=null;const _sfc_main$1s={name:"VsVideoYoutube",components:{VueYoutube,VsWarning:LoadingSpinner.VsWarning},mixins:[LoadingSpinner.dataLayerMixin,cookieCheckerMixin],props:{videoId:{type:String,required:!0},videoTitle:{type:String,default:""},language:{type:String,default:"en"},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noJsMessage:{type:String,required:!0},lazyLoad:{type:Boolean,default:!1}},data(){return{playerVars:{hl:this.language},requiredCookies:cookieValues$2,duration:{minutes:0,seconds:0,roundedMinutes:""},jsDisabled:!0,isLoaded:!1,observer:null}},computed:{player(){return this.$refs.youtube?this.$refs.youtube.player:null},showError(){return!this.cookiesAllowed&&this.cookiesLoaded===!0||this.cookiesLoaded===!1},warningText(){let e="";return this.videoId&&this.jsDisabled&&(e=this.noJsMessage),!this.cookiesAllowed&&this.cookiesLoaded===!0&&(e=this.noCookiesMessage),e}},mounted(){this.jsDisabled=jsIsDisabled(),videoStore=useVideoStore(),this.setEventListeners(),this.lazyLoad?this.setupIntersectionObserver():this.isLoaded=!0},beforeUnmount(){this.observer&&this.observer.disconnect()},methods:{async playerReady(){await this.getPlayerDetails(),this.shouldAutoPlay&&(this.shouldAutoPlay=!1,this.playVideo())},async playVideo(){this.player&&await this.player.playVideo()},async pauseVideo(){this.player&&await this.player.pauseVideo()},async toggleVideo(){if(!this.player)return;await this.player.getPlayerState()===1?this.pauseVideo():this.playVideo()},async stopVideo(){this.player&&await this.player.stopVideo()},youtubePlaying(){this.analyticsEvent("play")},youtubePaused(){this.analyticsEvent("pause")},youtubeEnded(){this.analyticsEvent("ended")},analyticsEvent(e){let n=0,t=0;this.player.getCurrentTime().then(a=>(n=a,this.player?this.player.getDuration():null)).then(a=>{t=a}).then(()=>{const a=n/t*100;this.createDataLayerObject("videoTrackingDataEvent",{title:this.videoTitle,status:e,percent:Math.round(a)})})},async getPlayerDetails(){this.player&&await this.player.getDuration().then(e=>{this.formatTime(e),this.storeVideoDetails()})},formatTime(e){const n=Math.floor(e/60),t=Math.round(e-n*60);this.duration.minutes=n,this.duration.seconds=t;const a=this.getRoundedMinutes(n,t);this.duration.roundedMinutes=this.formatSingularOrPlural(a)},getRoundedMinutes(e,n){return n<30&&e!==0?e:e+1},formatSingularOrPlural(e){return e===1?this.singleMinuteDescriptor.replace("%s",e):this.pluralMinuteDescriptor.replace("%s",e)},pad(e){return e>=10?e:`0${e}`},storeVideoDetails(){videoStore.addVideo({videoId:this.videoId,videoDurationMsg:this.duration.roundedMinutes,videoDuration:this.duration.minutes*60+this.duration.seconds,videoFullDuration:this.duration})},setEventListeners(){this.emitter&&this.emitter.on("video-controls",e=>{e.id===this.videoId&&(e.action==="modal-opened"&&this.playVideo(),e.action==="modal-closed"&&this.stopVideo(),e.action==="play"?this.playVideo():e.action==="pause"&&this.pauseVideo())})},setupIntersectionObserver(){if(!("IntersectionObserver"in window)){this.isLoaded=!0;return}this.observer=new IntersectionObserver(e=>{e[0].intersectionRatio>0&&(this.observer.unobserve(this.$el),this.isLoaded=!0,this.$nextTick(()=>{this.playVideo()}))},{rootMargin:"50px",threshold:0}),this.observer.observe(this.$el)}}},_hoisted_1$16={class:"vs-video-youtube","data-test":"vs-video-youtube"},_hoisted_2$P={key:0};function _sfc_render$1d(e,n,t,a,r,s){const o=vue.resolveComponent("VueYoutube"),i=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$16,[e.cookiesAllowed&&(!t.lazyLoad||r.isLoaded)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$P,[vue.createVNode(o,{autoplay:0,"video-id":t.videoId,vars:r.playerVars,ref:"youtube",nocookie:!0,class:"vs-video-youtube__player",onPlaying:s.youtubePlaying,onPaused:s.youtubePaused,onEnded:s.youtubeEnded,onReady:s.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"])])):vue.createCommentVNode("",!0),s.showError?(vue.openBlock(),vue.createBlock(i,{key:1,type:e.cookiesLoaded===!0?"cookie":"normal",class:"vs-video-youtube__warning","data-test":"vs-video-youtube__warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.warningText)+" ",1)]),_:2},[!e.cookiesAllowed&&e.cookiesLoaded===!0?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),key:"0"}:void 0]),1032,["type"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"vs-video-youtube__warning vs-video-youtube__warning--no-js","data-test":"vs-video-youtube__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})])}const VsVideoYoutube=LoadingSpinner._export_sfc(_sfc_main$1s,[["render",_sfc_render$1d]]),_sfc_main$1r={name:"VsToggleButton",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,BButton:LoadingSpinner.vt,VsIcon:LoadingSpinner.VsIcon},props:{toggleId:{type:String,default:""},variant:{type:String,default:"default",validator:e=>e.match(/(default|overlay|overlay-strong)/)},icon:{type:String,default:""},pressedIcon:{type:String,default:null},modelValue:{type:Boolean,default:void 0},label:{type:String,default:""},pressedLabel:{type:String,default:""},labelBreakpoint:{type:String,default:null,validator:e=>e===null||/^(xs|sm|md|lg|xl|xxl)$/.test(e)}},emits:["toggleAction","update:modelValue","click"],data(){return{show:!1,internalPressed:!1}},computed:{isLegacyMode(){return!this.icon&&!this.pressedIcon},isPressed(){return this.modelValue!==void 0?this.modelValue:this.internalPressed},buttonClasses(){return{"vs-toggle-button--pressed":this.isPressed,[`vs-toggle-button--label-${this.labelBreakpoint}-up`]:this.labelBreakpoint}},buttonLabelClasses(){return{[`visible-${this.labelBreakpoint}-up`]:this.labelBreakpoint}},currentIcon(){return this.isPressed&&this.pressedIcon?this.pressedIcon:this.icon},computedLabel(){return this.isPressed&&this.pressedLabel?this.pressedLabel:this.label}},methods:{toggleLegacy(e){this.show=!this.show,this.$emit("toggleAction",this.show),this.$emit("click",e)},handleClick(e){const n=!this.isPressed;this.modelValue!==void 0?this.$emit("update:modelValue",n):this.internalPressed=n,this.$emit("click",e)}}};function _sfc_render$1c(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("BButton"),l=vue.resolveComponent("VsButton");return s.isLegacyMode?(vue.openBlock(),vue.createBlock(l,{key:1,class:"vs-toggle-btn","data-test":"vs-toggle-btn",variant:"subtle","aria-controls":t.toggleId,"aria-expanded":r.show?"true":"false",onClick:s.toggleLegacy},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default"),r.show?(vue.openBlock(),vue.createBlock(o,{key:0,class:"fa-icon-colours fa-icon-colours--white",icon:"fa-duotone fa-solid fa-circle-xmark"})):vue.renderSlot(e.$slots,"toggle-icon",{key:1},()=>[vue.createVNode(o,{class:"fa-icon-colours",icon:"fa-duotone fa-solid fa-circle-info"})])]),_:3},8,["aria-controls","aria-expanded","onClick"])):(vue.openBlock(),vue.createBlock(i,{key:0,variant:t.variant,class:vue.normalizeClass(["vs-toggle-button",s.buttonClasses]),size:"sm","aria-label":s.computedLabel,onClick:s.handleClick},{default:vue.withCtx(()=>[vue.createVNode(o,{icon:s.currentIcon,size:"xs",padding:0},null,8,["icon"]),t.label?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(["visually-hidden",s.buttonLabelClasses])},vue.toDisplayString(s.computedLabel),3)):vue.createCommentVNode("",!0)]),_:1},8,["variant","class","aria-label","onClick"]))}const VsToggleButton=LoadingSpinner._export_sfc(_sfc_main$1r,[["render",_sfc_render$1c]]),prefersReducedMotion=()=>window&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,_sfc_main$1q={name:"VsVideoHtml5",status:"prototype",release:"0.0.1",components:{VsToggleButton,VsImg:LoadingSpinner.VsImg},inject:{registerMedia:{default:null}},props:{videoSrc:{type:String,required:!0},videoId:{type:String,required:!0},posterImageSrc:{type:String,default:""},lazyLoad:{type:Boolean,default:!1},playButtonLabel:{type:String,default:""},pauseButtonLabel:{type:String,default:""},showToggle:{type:Boolean,default:!0}},data(){return{isLoaded:!1,isPlaying:!1,observer:null,isReducedMotion:prefersReducedMotion()}},mounted(){var e;(e=this.registerMedia)==null||e.call(this,this),this.lazyLoad?this.setupIntersectionObserver():(this.isLoaded=!0,this.isPlaying=!0)},beforeUnmount(){this.observer&&this.observer.disconnect()},methods:{playVideo(){const e=this.$refs.videoRef;e&&e.play()},pauseVideo(){const e=this.$refs.videoRef;e&&e.pause()},stopVideo(){const e=this.$refs.videoRef;e&&(e.pause(),e.currentTime=0)},toggleVideo(){const e=this.$refs.videoRef;e&&(e.paused?e.play():e.pause())},setupIntersectionObserver(){if(!("IntersectionObserver"in window)){this.isLoaded=!0;return}this.observer=new IntersectionObserver(e=>{e[0].intersectionRatio>0&&(this.observer.unobserve(this.$el),this.isLoaded=!0,this.$nextTick(()=>{var n;(n=this.$refs.videoRef)==null||n.play()}))},{rootMargin:"50px",threshold:0}),this.observer.observe(this.$el)}}},_hoisted_1$15={class:"vs-video-html5","data-test":"vs-video-html5"},_hoisted_2$O=["id","poster","loop","muted","autoplay","preload","fetchpriority"],_hoisted_3$E=["src"];function _sfc_render$1b(e,n,t,a,r,s){const o=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsToggleButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$15,[r.isReducedMotion||!t.videoSrc?(vue.openBlock(),vue.createBlock(o,{key:0,class:"vs-video-html5__fallback-image",src:t.posterImageSrc},null,8,["src"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("video",{ref:"videoRef",onPlay:n[0]||(n[0]=l=>r.isPlaying=!0),onPause:n[1]||(n[1]=l=>r.isPlaying=!1),onEnded:n[2]||(n[2]=l=>r.isPlaying=!1),id:t.videoId,class:"vs-video-html5__player img-zoom-on-hover",poster:t.posterImageSrc,"aria-hidden":"true",loop:!t.lazyLoad||r.isLoaded,muted:!t.lazyLoad||r.isLoaded,autoplay:!t.lazyLoad||r.isLoaded,playsinline:"",preload:t.lazyLoad?"none":"auto",fetchpriority:t.lazyLoad?"low":"high",tabindex:"-1"},[vue.createElementVNode("source",{src:t.videoSrc,type:"video/mp4"},null,8,_hoisted_3$E)],40,_hoisted_2$O),t.showToggle?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-video-html5__toggle-video",variant:"overlay",icon:"vs-icon-control-pause","pressed-icon":"vs-icon-control-play",label:t.pauseButtonLabel,"pressed-label":t.playButtonLabel,"aria-controls":t.videoId,"model-value":!r.isPlaying,onClick:s.toggleVideo},null,8,["label","pressed-label","aria-controls","model-value","onClick"])):vue.createCommentVNode("",!0)],64))])}const VsVideoHtml5=LoadingSpinner._export_sfc(_sfc_main$1q,[["render",_sfc_render$1b]]),_sfc_main$1p={name:"VsVideo",props:{videoType:{type:String,default:"youtube",validator:e=>["youtube","html5"].includes(e)},videoSrc:{type:String,default:""},posterImageSrc:{type:String,default:""},videoId:{type:String,default:""},videoTitle:{type:String,default:""},language:{type:String,default:"en"},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,default:""},cookieBtnText:{type:String,default:""},noJsMessage:{type:String,default:""},playButtonLabel:{type:String,default:"Play video"},pauseButtonLabel:{type:String,default:"Pause video"},showToggle:{type:Boolean,default:!0},lazyLoad:{type:Boolean,default:!1}},data(){return{reRendering:!1}},computed:{playerComponent(){return this.videoType==="html5"?VsVideoHtml5:VsVideoYoutube}},methods:{playVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.playVideo)==null||n.call(e)},pauseVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.pauseVideo)==null||n.call(e)},stopVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.stopVideo)==null||n.call(e)},toggleVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.toggleVideo)==null||n.call(e)}}},_hoisted_1$14={key:0,class:"vs-video","data-test":"vs-video"};function _sfc_render$1a(e,n,t,a,r,s){return r.reRendering?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$14,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(s.playerComponent),vue.mergeProps({ref:"player"},e.$props,{"lazy-load":t.lazyLoad}),null,16,["lazy-load"]))]))}const VsVideo=LoadingSpinner._export_sfc(_sfc_main$1p,[["render",_sfc_render$1a]]),_sfc_main$1o={name:"VsHeroSection",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsHeroSectionImage,VsVideo},provide(){return{videoPlayingStatus:this.videoPlayingStatus,videoPausedStatus:this.videoPausedStatus}},props:{heading:{type:String,default:"",required:!0},lede:{type:String,default:"",required:!0},imgSrc:{type:String,default:""},imgAlt:{type:String,default:""},imgCaption:{type:String,default:""},imgCredit:{type:String,default:""},inset:{type:Boolean,default:!1},split:{type:Boolean,default:!1},videoSrc:{type:String,default:""},videoBtnText:{type:String,default:""},videoPlayingStatus:{type:String,default:""},videoPausedStatus:{type:String,default:""},playButtonLabel:{type:String,default:""},pauseButtonLabel:{type:String,default:""}},computed:{imageClasses(){return{"vs-hero-section__image--inset":this.inset}},textContainerClasses(){return[{"vs-hero-section__text-container--video":this.videoSrc},"vs-hero-section__text-container"]}}},_hoisted_1$13={class:"vs-hero-section__grid"},_hoisted_2$N={key:1,class:"vs-hero-section__video-wrapper"},_hoisted_3$D={key:2,class:"vs-hero-section__divider"},_hoisted_4$t={class:"vs-hero-section__text"},_hoisted_5$l=["innerHTML"],_hoisted_6$h={class:"mb-0"},_hoisted_7$f={key:1,class:"vs-hero-section__article-details","data-test":"vs-hero-section__article-details"};function _sfc_render$19(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeroSectionImage"),i=vue.resolveComponent("VsVideo"),l=vue.resolveComponent("VsHeading"),u=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-hero-section",{"vs-hero-section--split":t.split}]),"data-test":"vs-hero-section"},[vue.createElementVNode("div",_hoisted_1$13,[t.imgSrc&&!t.videoSrc?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-hero-section__image",s.imageClasses])},[vue.createVNode(o,{"img-alt":t.imgAlt,src:t.imgSrc,"img-caption":t.imgCaption,"img-credit":t.imgCredit,split:t.split},null,8,["img-alt","src","img-caption","img-credit","split"])],2)):t.videoSrc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$N,[vue.createVNode(i,{"video-type":"html5","video-id":"hero-video","poster-image-src":t.imgSrc,"video-src":t.videoSrc,"play-button-label":t.videoPlayingStatus?t.videoPlayingStatus:t.playButtonLabel,"pause-button-label":t.videoPausedStatus?t.videoPausedStatus:t.pauseButtonLabel,class:"vs-hero-section__video"},null,8,["poster-image-src","video-src","play-button-label","pause-button-label"]),n[0]||(n[0]=vue.createElementVNode("div",{class:"vs-hero-section__video-overlay"},null,-1))])):(vue.openBlock(),vue.createElementBlock("hr",_hoisted_3$D)),vue.createElementVNode("div",{class:vue.normalizeClass(s.textContainerClasses)},[vue.createElementVNode("div",_hoisted_4$t,[vue.createVNode(l,{class:"vs-hero-section__heading","data-test":"vs-hero-section__heading",level:"1","heading-style":"display-s",id:"main-heading"},{default:vue.withCtx(()=>[vue.createElementVNode("span",{innerHTML:t.heading},null,8,_hoisted_5$l)]),_:1}),t.lede?(vue.openBlock(),vue.createBlock(u,{key:0,class:"vs-hero-section__lede","data-test":"vs-hero-section__lede",variant:"lead"},{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_6$h,vue.toDisplayString(t.lede),1)]),_:1})):vue.createCommentVNode("",!0),e.$slots["hero-section-article-details"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$f,[vue.renderSlot(e.$slots,"hero-section-article-details")])):vue.createCommentVNode("",!0)])],2)])],2)}const HeroSection=LoadingSpinner._export_sfc(_sfc_main$1o,[["render",_sfc_render$19]]),_sfc_main$1n={name:"VsHtmlError",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],props:{statusCode:{type:String,required:!0}},mounted(){this.createDataLayerObject("errorDataEvent",{error_type:"System Error",error_details:this.statusCode})}},_hoisted_1$12={class:"d-none"};function _sfc_render$18(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$12)}const HtmlError=LoadingSpinner._export_sfc(_sfc_main$1n,[["render",_sfc_render$18]]),_sfc_main$1m={name:"VsTourismInfo",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol}},_hoisted_1$11={class:"vs-tourism-info","data-test":"vs-tourism-info"},_hoisted_2$M={key:0,class:"vs-tourism-info__links","data-test":"vs-tourism-info__standalone-links"},_hoisted_3$C={class:"vs-tourism-info__quote-block"},_hoisted_4$s={key:0,class:"vs-tourism-info__links-contained","data-test":"vs-tourism-info__embedded-links"};function _sfc_render$17(e,n,t,a,r,s){const o=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$11,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(o,{cols:"10",offset:"1",md:"8","offset-md":"2",lg:"6","offset-lg":"3",class:"vs-tourism-info__intro-content"},{default:vue.withCtx(()=>[e.$slots["tourism-info-links"]&&e.$slots["tourism-info-links"]()&&!(e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]())?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$M,[vue.renderSlot(e.$slots,"tourism-info-links")])):vue.createCommentVNode("",!0)]),_:3}),vue.createVNode(o,{cols:"12",md:"10","offset-md":"1",class:vue.normalizeClass({"vs-tourism-info__image-offset":e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]()})},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"tourism-info-image-with-caption")]),_:3},8,["class"]),e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]()?(vue.openBlock(),vue.createBlock(o,{key:0,cols:"12",md:"10","offset-md":"1",lg:"7","offset-lg":"5",class:"vs-tourism-info__quote-block-container"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$C,[vue.renderSlot(e.$slots,"tourism-info-quote"),e.$slots["tourism-info-links"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$s,[vue.renderSlot(e.$slots,"tourism-info-links")])):vue.createCommentVNode("",!0)])]),_:3})):vue.createCommentVNode("",!0)]),_:3})]),_:3})])}const TourismInfo=LoadingSpinner._export_sfc(_sfc_main$1m,[["render",_sfc_render$17]]),_sfc_main$1l={name:"VsIconList",status:"prototype",release:"0.0.1",props:{title:{type:String,default:""}}},_hoisted_1$10={class:"vs-icon-list","data-test":"vs-icon-list"},_hoisted_2$L={key:0,class:"vs-icon-list__title"},_hoisted_3$B={class:"vs-icon-list__list mb-0"};function _sfc_render$16(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$10,[t.title?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$L,vue.toDisplayString(t.title),1)):vue.createCommentVNode("",!0),vue.createElementVNode("ul",_hoisted_3$B,[vue.renderSlot(e.$slots,"default")])])}const IconList=LoadingSpinner._export_sfc(_sfc_main$1l,[["render",_sfc_render$16]]),_sfc_main$1k={name:"VsIconListItem",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{label:{type:String,required:!0},icon:{type:String,required:!0}}},_hoisted_1$$={class:"vs-icon-list__item","data-test":"vs-icon-list__item"};function _sfc_render$15(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$$,[vue.createVNode(o,{icon:t.icon,size:"md",class:"d-block mx-auto"},null,8,["icon"]),vue.createTextVNode(" "+vue.toDisplayString(t.label),1)])}const IconListItem=LoadingSpinner._export_sfc(_sfc_main$1k,[["render",_sfc_render$15]]),cookieValues$1=cookieValues$5.youtube,_sfc_main$1j={name:"VsVideoCaption",status:"deprecated",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsToggleButton,VsWarning:LoadingSpinner.VsWarning},mixins:[cookieCheckerMixin],inject:{noJsMessage:{default:""},noCookiesMessage:{default:""},cookieLinkText:{default:""},errorMessage:{default:""}},props:{videoBtnText:{type:String,default:""},withToggleBtn:{type:Boolean,default:!1},videoId:{type:String,required:!0},variant:{type:String,default:"wide",validator:e=>e.match(/(wide|narrow)/)}},emits:["toggleAction"],setup(){return{videoStore:useVideoStore()}},data(){return{showErrorMessage:!1,requiredCookies:cookieValues$1}},computed:{videoDetails(){return this.videoStore.videos[this.videoId]},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0},showCookieMessage(){return!!(!this.cookiesAllowed&&this.noCookiesMessage)}},methods:{emitToggle(){this.$emit("toggleAction")},emitShowModal(){this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$_={key:0,class:"vs-video-caption__buttons-container"},_hoisted_2$K={class:"container"},_hoisted_3$A={key:1,class:"vs-video-caption__details"},_hoisted_4$r={class:"vs-video-caption__title"},_hoisted_5$k={class:"vs-video-caption__duration"},_hoisted_6$g={key:1,class:"vs-video-caption vs-video-caption--warning"},_hoisted_7$e={key:2,class:"vs-video-caption vs-video-caption--no-js vs-video-caption--warning","data-test":"video-caption-nojs"};function _sfc_render$14(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsToggleButton"),l=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",{"data-test":"video-caption",class:vue.normalizeClass(["vs-video-caption__wrapper",`vs-video-caption__wrapper--${t.variant}`])},[s.videoLoaded&&e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",{"data-test":"video-caption-variants",class:vue.normalizeClass(["vs-video-caption",`vs-video-caption--${t.variant}`]),key:"video-caption"},[t.videoBtnText?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$_,[vue.createElementVNode("div",_hoisted_2$K,[vue.createVNode(o,{class:"vs-video-caption__button",icon:"vs-icon-control-play","icon-position":"left",size:"md",ref:"videoShow",rounded:!1,onClick:s.emitShowModal},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.videoBtnText),1)]),_:1},8,["onClick"])]),t.withToggleBtn?(vue.openBlock(),vue.createBlock(i,{key:0,onToggleAction:s.emitToggle},{default:vue.withCtx(()=>[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"visually-hidden"}," Toggle caption ",-1)])]),_:1},8,["onToggleAction"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$A,[vue.createElementVNode("p",_hoisted_4$r,[vue.renderSlot(e.$slots,"video-title")]),vue.createElementVNode("p",_hoisted_5$k,vue.toDisplayString(s.videoDetails.videoDurationMsg),1)])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),!(s.videoLoaded&&e.cookiesAllowed)&&s.showCookieMessage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$g,[vue.createVNode(l,{size:"small",type:"cookie"},{"button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.cookieLinkText),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.noCookiesMessage)+" ",1)]),_:1})])):vue.createCommentVNode("",!0),s.noJsMessage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$e,[vue.createVNode(l,{size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.noJsMessage),1)]),_:1})])):vue.createCommentVNode("",!0)],2)}const VsVideoCaption=LoadingSpinner._export_sfc(_sfc_main$1j,[["render",_sfc_render$14]]),cookieValues=cookieValues$5.youtube,_sfc_main$1i={name:"VsImageWithCaption",status:"prototype",release:"0.0.1",components:{VsImg:LoadingSpinner.VsImg,VsToggleButton,VsVideoCaption},mixins:[cookieCheckerMixin],provide(){return{noJsMessage:this.noJsMessage,errorMessage:this.errorMessage,noCookiesMessage:this.noCookiesMessage,cookieLinkText:this.cookieLinkText}},props:{altText:{type:String,default:""},closedDefaultCaption:{type:Boolean,default:!1},imageSrc:{type:String,default:""},isHeroImage:{type:Boolean,default:!1},isVideo:{type:Boolean,default:!1},mobileOverlap:{type:Boolean,default:!1},toggleButtonText:{type:String,default:""},playButtonText:{type:String,default:""},videoId:{type:String,default:""},smallPlayButton:{type:Boolean,default:!1},noCookiesMessage:{type:String,default:""},cookieLinkText:{type:String,default:""},noJsMessage:{type:String,default:""},useLazyLoading:{type:Boolean,default:!0},errorMessage:{type:String,default:""},showToggle:{type:Boolean,default:!0}},data(){return{showCaption:!1,uniqueCaptionId:"",requiredCookies:cookieValues}},computed:{isSvg(){return this.imageSrc.endsWith(".svg")},imageWithCaptionClasses(){return{"vs-image-with-caption--closed-default":this.closedDefaultCaption,"vs-image-with-caption--hero":this.isHeroImage,"vs-image-with-caption--show-caption":!this.cookiesAllowed&&this.cookiesLoaded,"vs-image-with-caption--video":this.isVideo,"vs-image-with-caption--svg":this.isSvg}},captionWrapperClasses(){return{"d-block":this.showCaption&&!this.isHeroImage,"d-flex":this.showCaption&&this.isHeroImage||this.showCaption&&this.isVideo,container:this.isHeroImage}}},mounted(){this.uniqueCaptionId=this._uid},methods:{toggleCaption(){this.showCaption=!this.showCaption}}},_hoisted_1$Z={class:"visually-hidden"},_hoisted_2$J={class:"vs-image-with-caption__captions"},_hoisted_3$z=["id"];function _sfc_render$13(e,n,t,a,r,s){const o=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsToggleButton"),l=vue.resolveComponent("VsVideoCaption");return vue.openBlock(),vue.createElementBlock("figure",{class:vue.normalizeClass(["vs-image-with-caption",s.imageWithCaptionClasses]),"data-test":"vs-image-with-caption"},[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-image-with-caption__image-wrapper",t.mobileOverlap?"vs-image-with-caption--overlapped":""])},[vue.renderSlot(e.$slots,"default",{},()=>[t.imageSrc?(vue.openBlock(),vue.createBlock(o,{key:0,src:t.imageSrc,alt:t.altText,"use-lazy-loading":t.useLazyLoading},null,8,["src","alt","use-lazy-loading"])):vue.createCommentVNode("",!0)]),t.showToggle?(vue.openBlock(),vue.createBlock(i,{key:0,"img-src":t.imageSrc,"toggle-id":r.uniqueCaptionId,onToggleAction:s.toggleCaption},{"toggle-icon":vue.withCtx(()=>[vue.renderSlot(e.$slots,"toggle-icon")]),default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$Z,vue.toDisplayString(t.toggleButtonText),1)]),_:3},8,["img-src","toggle-id","onToggleAction"])):vue.createCommentVNode("",!0)],2),vue.createElementVNode("figcaption",_hoisted_2$J,[t.isVideo?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-image-with-caption__video-caption-wrapper",t.isHeroImage?"container-lg":""])},[vue.createVNode(l,{"video-btn-text":t.playButtonText,"with-toggle-btn":t.showToggle,onToggleAction:s.toggleCaption,"video-id":t.videoId,"cookie-link-text":t.cookieLinkText,"error-message":t.errorMessage,variant:t.smallPlayButton?"narrow":"wide"},{"video-title":vue.withCtx(()=>[vue.renderSlot(e.$slots,"video-title")]),_:3},8,["video-btn-text","with-toggle-btn","onToggleAction","video-id","cookie-link-text","error-message","variant"])],2)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-image-with-caption__caption-wrapper",s.captionWrapperClasses]),id:r.uniqueCaptionId},[vue.renderSlot(e.$slots,"img-caption")],10,_hoisted_3$z)])],2)}const ImageWithCaption=LoadingSpinner._export_sfc(_sfc_main$1i,[["render",_sfc_render$13]]),_sfc_main$1h={name:"VsIllustratedMap",props:{highlightedRegions:{type:Array,default:()=>[],validator:e=>e.every(n=>/^(borders|dumfries|highlands|outerhebs|shetland|orkney|edinburgh|glasgow|fife|dundee|aberdeen|perth|lomond|arranayr|argyll)$/.test(n))},ariaLabel:{type:String,default:()=>"Illustrated map of Scotland showing regions"},title:{type:String,default:()=>"Map of Scotland"},width:{type:String,default:null}},methods:{isHighlighted(e){return this.highlightedRegions.includes(e)}}},_hoisted_1$Y=["aria-label","width"];function _sfc_render$12(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("svg",{class:"vs-illustrated-map",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 147 259",fill:"none","aria-label":t.ariaLabel,width:t.width},[vue.createElementVNode("title",null,vue.toDisplayString(t.title),1),vue.createElementVNode("path",{id:"region-borders",d:"M94.8908 215.531L93.0078 228.835L107.675 235.709V243.242L113.032 241.534L128.139 211.014L120.114 207.334L105.422 215.196L94.8908 215.531Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("borders")})},null,2),vue.createElementVNode("path",{id:"region-dumfries",d:"M107.678 243.242V235.709L93.0105 228.835L82.3684 227.947L56.8945 246.364L61.8447 258.049L107.678 243.242Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("dumfries")})},null,2),vue.createElementVNode("path",{id:"region-highlands",d:"M76.3875 143.097L95.2198 133.991L113.324 133.608L97.0838 160.469L75.7941 169.254L55.0816 173.951L39.152 171.715L42.8855 166.308L22.8906 149.472L26.9695 134.771L40.5413 142.884L40.5683 128.034L58.977 94.2952L75.2383 98.8575L103.725 94.2952L103.831 105.06L76.3875 143.097Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("highlands")})},null,2),vue.createElementVNode("path",{id:"region-outerhebs",d:"M32.2773 100.625L28.2335 123.863L12.5575 138.325L6.67127 161.517L0 166.276L2.87299 130.376L15.7839 111.868L32.2773 100.625Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("outerhebs")})},null,2),vue.createElementVNode("path",{id:"region-shetland",d:"M137.044 28.8822L146.094 6.08942L143.526 0L123.234 20.1191L130.38 32.3789L137.044 28.8822Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("shetland")})},null,2),vue.createElementVNode("path",{id:"region-orkney",d:"M122.546 56.7442L104.383 67.0074L102.082 77.7078L110.938 85.416L123.687 65.4372L122.546 56.7442Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("orkney")})},null,2),vue.createElementVNode("path",{id:"region-edinburgh",d:"M91.4266 205.144L85.8047 209.876L88.6156 214.643L94.893 215.531L105.425 215.196L120.116 207.334L109.493 202.467L96.7193 207.453L91.4266 205.144Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("edinburgh")})},null,2),vue.createElementVNode("path",{id:"region-glasgow",d:"M82.3716 227.947L61.3516 207.458L69.5119 201.782L85.8084 209.876L88.6193 214.643L94.8967 215.531L93.0138 228.835L82.3716 227.947Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("glasgow")})},null,2),vue.createElementVNode("path",{id:"region-fife",d:"M87.6797 202.205L92.2306 196.904L96.9973 195.69L98.0602 189.406L110.434 188.702L114.378 195.922L98.7427 203.034L87.6797 202.205Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("fife")})},null,2),vue.createElementVNode("path",{id:"region-dundee",d:"M104.384 186.969L95.3438 167.854L109.865 163.084L113.858 171.955L120.915 172.433L116.269 182.388L104.384 186.969Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("dundee")})},null,2),vue.createElementVNode("path",{id:"region-aberdeen",d:"M113.318 133.608L126.213 133.333L135.806 140.523L120.907 172.433L113.85 171.955L109.857 163.084L95.336 167.854L83.0078 166.276L97.0787 160.47L113.318 133.608Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("aberdeen")})},null,2),vue.createElementVNode("path",{id:"region-perth",d:"M75.7936 169.255L69.8615 170.601L65.6289 186.368L73.8324 183.044L78.7125 185.704L76.1605 192.023L92.2357 196.904L97.0025 195.69L98.0653 189.406L104.381 186.97L95.3407 167.854L83.0125 166.276L75.7936 169.255Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("perth")})},null,2),vue.createElementVNode("path",{id:"region-lomond",d:"M62.4171 188.701L65.63 186.368L73.8335 183.044L78.7136 185.704L76.1616 192.023L92.2368 196.903L87.6859 202.205H85.0072L91.4303 205.143L85.8084 209.875L69.5119 201.781L61.3516 207.458L61.5296 202.467L63.1914 194.13L62.4171 188.701Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("lomond")})},null,2),vue.createElementVNode("path",{id:"region-arran",d:"M51.7287 220.725L49.1875 231.015C49.1875 231.015 54.9712 233.435 55.1709 233.168C55.3732 232.898 61.1542 222.611 60.9546 222.543C60.755 222.476 51.7287 220.728 51.7287 220.728V220.725Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("arranayr")})},null,2),vue.createElementVNode("path",{id:"region-ayrshire",d:"M61.3483 207.458L60.9653 218.253L66.8434 223.663L56.8945 246.364L82.3684 227.947L61.3483 207.458Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("arranayr")})},null,2),vue.createElementVNode("path",{id:"region-argyll",d:"M42.2625 231.565L48.5831 221.483L52.2519 210.237L60.9598 218.253L61.521 202.467L63.1827 194.13L62.4085 188.702L65.6214 186.368L69.854 170.601L55.0736 173.952L39.144 171.715L27.6386 179.013L26.6485 193.901L39.2061 192.377L52.0981 177.832L42.8937 196.909L25.9768 208.276L23.9023 213.801L28.5207 221.82L43.2148 204.755L44.364 206.684L37.396 224.232L42.2625 231.565Z",class:vue.normalizeClass({"is-highlighted":s.isHighlighted("argyll")})},null,2)],8,_hoisted_1$Y)}const IllustratedMap=LoadingSpinner._export_sfc(_sfc_main$1h,[["render",_sfc_render$12],["__scopeId","data-v-b671fd04"]]),_sfc_main$1g={name:"VsInput",status:"prototype",release:"0.0.1",components:{BFormInput:LoadingSpinner.Tu,VsButton:LoadingSpinner.VsButton},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},name:{type:String,default:""},type:{type:String,default:"text"},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},ariaLabel:{type:String,default:""},disabled:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},clearButtonText:{type:String,default:""},placeholder:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){let e="";return(this.isInvalid||this.errorsList.length)&&(e="vs-input--error"),`${`vs-input--${this.fieldName}`} ${e}`},showClearButton(){return!!(this.inputVal.length&&this.clearButtonText!=="")}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},autocompleteValue(e){let n;switch(e){case"firstName":n="given-name";break;case"lastName":n="family-name";break;case"Email":n="email";break;case"PostalCode":n="postal-code";break;default:n=this.autoComplete?"on":"off";break}return n},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0}},validations(){return this.rules}},_hoisted_1$X={"data-test":"vs-input"},_hoisted_2$I=["id"],_hoisted_3$y=["id"],_hoisted_4$q={class:"visually-hidden"};function _sfc_render$11(e,n,t,a,r,s){const o=vue.resolveComponent("BFormInput"),i=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$X,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$I)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,l=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:l,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$q,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!r.clearErrorsOnFocus]])),128))],8,_hoisted_3$y)):vue.createCommentVNode("",!0),vue.createVNode(o,{ref:"input",type:t.type,class:vue.normalizeClass(["vs-input",[r.inputVal?"show-cancel":"",s.elementClass]]),modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=l=>r.inputVal=l),id:t.fieldName,name:t.name?t.name:t.fieldName,placeholder:t.placeholder,required:e.isRequired,autocomplete:s.autocompleteValue(t.fieldName),v:r.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-label":t.ariaLabel?t.ariaLabel:null,"aria-describedby":e.ariaDescription,maxlength:t.validationRules.maxLength?t.validationRules.maxLength:null,minlength:t.validationRules.minLength?t.validationRules.minLength:null,min:t.validationRules.min!==void 0?t.validationRules.min:null,max:t.validationRules.max!==void 0?t.validationRules.max:null,disabled:t.disabled,onBlur:s.validateErrors,onChange:s.validateErrors,onFocus:s.resetErrors},null,8,["type","modelValue","class","id","name","placeholder","required","autocomplete","v","aria-invalid","aria-label","aria-describedby","maxlength","minlength","min","max","disabled","onBlur","onChange","onFocus"]),s.showClearButton?(vue.openBlock(),vue.createBlock(i,{key:2,class:"vs-input__clear-button d-none d-lg-block","data-test":"input-clear-button",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:n[1]||(n[1]=vue.withModifiers(l=>s.clearInputAndFocus(),["prevent"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.clearButtonText),1)]),_:1})):vue.createCommentVNode("",!0)])}const VsInput=LoadingSpinner._export_sfc(_sfc_main$1g,[["render",_sfc_render$11]]),_sfc_main$1f={name:"VsItinerary",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsAccordion,VsButton:LoadingSpinner.VsButton},props:{listViewText:{type:String,default:"List view"},mapViewText:{type:String,default:"Map view"}},data(){return{showMap:!1,isDesktop:!1,withinItineraryMain:!1}},mounted(){const e=document.querySelector(".vds-example");window.addEventListener("resize",this.resizeWidth),e===null?window.addEventListener("scroll",this.onScroll):e.addEventListener("scroll",this.onScroll),this.resizeWidth()},unmounted(){window.removeEventListener("resize",this.resizeWidth)},methods:{resizeWidth(){this.isDesktop=window.innerWidth>=1200,this.showMap=window.innerWidth>=1200},onScroll(){const e=this.$el.getBoundingClientRect(),n=e.top<=(window.innerHeight||document.documentElement.clientHeight),t=e.bottom<=(window.innerHeight||document.documentElement.clientHeight);this.withinItineraryMain=!!(n&&!t)},toggleShowMap(){this.showMap=!this.showMap}}},_hoisted_1$W={class:"vs-itinerary","data-test":"vs-itinerary"},_hoisted_2$H={class:"fixed-bottom"},_hoisted_3$x={class:"d-flex justify-content-center pb-050"},_hoisted_4$p={key:0,class:"vs-itinerary__map-container","data-chromatic":"ignore"};function _sfc_render$10(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsAccordion"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$W,[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$H,[vue.createElementVNode("div",_hoisted_3$x,[vue.createVNode(o,{class:"vs-itinerary__map-toggle-button",onClick:n[0]||(n[0]=d=>s.toggleShowMap()),icon:r.showMap?"fa-regular fa-list":"fa-regular fa-map","data-test":"vs-itinerary-btn"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.showMap?t.listViewText:t.mapViewText),1)]),_:1},8,["icon"])])],512),[[vue.vShow,!r.isDesktop&&r.withinItineraryMain]]),r.isDesktop||r.showMap?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$p,[vue.renderSlot(e.$slots,"map")])):vue.createCommentVNode("",!0),vue.createVNode(c,{class:"vs-itinerary__outer-container"},{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",class:"p-0 vs-itinerary__accordion-container"},{default:vue.withCtx(()=>[vue.createVNode(i,{"break-point":"lg"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"list")]),_:3})]),_:3})]),_:3})]),_:3})])}const Itinerary=LoadingSpinner._export_sfc(_sfc_main$1f,[["render",_sfc_render$10]]),_sfc_main$1e={name:"VsItineraryDay",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsIcon:LoadingSpinner.VsIcon,VsAccordionItem},props:{defaultShow:{type:Boolean,default:!0},dayLabel:{type:String,required:!0},dayNumber:{type:String,required:!0},dayTitle:{type:String,required:!0}},data(){return{show:this.defaultShow}}},_hoisted_1$V={class:"vs-itinerary-day"},_hoisted_2$G={class:"vs-itinerary-day__header"},_hoisted_3$w={class:"vs-itinerary-day__title"},_hoisted_4$o={class:"vs-itinerary-day__sub-heading"},_hoisted_5$j=["id"],_hoisted_6$f={class:"vs-itinerary-day__intro-content"},_hoisted_7$d={class:"list-unstyled"};function _sfc_render$$(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsAccordionItem"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$V,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{"open-by-default":r.show,"control-id":`itinerary-day-${t.dayNumber}`,variant:"subtle","item-break-point":"lg",class:"vs-itinerary-day__list-item"},{title:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$G,[vue.createElementVNode("span",_hoisted_3$w,vue.toDisplayString(t.dayLabel)+" "+vue.toDisplayString(t.dayNumber),1),vue.createElementVNode("span",_hoisted_4$o,vue.toDisplayString(t.dayTitle),1)])]),"icon-open":vue.withCtx(()=>[vue.createVNode(o,{icon:"vs-icon-control-collapse",size:"lg",padding:3,class:"vs-itinerary-day__toggle-button"})]),"icon-closed":vue.withCtx(()=>[vue.createVNode(o,{icon:"vs-icon-control-expand",size:"lg",padding:3,class:"vs-itinerary-day__toggle-button"})]),default:vue.withCtx(()=>[vue.createElementVNode("div",{id:`dayPanel_${t.dayNumber}`,class:"vs-itinerary-day__panel"},[vue.createElementVNode("div",_hoisted_6$f,[vue.renderSlot(e.$slots,"day-transport"),vue.renderSlot(e.$slots,"day-introduction")]),vue.createElementVNode("ul",_hoisted_7$d,[vue.renderSlot(e.$slots,"stops")])],8,_hoisted_5$j)]),_:3},8,["open-by-default","control-id"])]),_:3})]),_:3})]),_:3})])}const ItineraryDay=LoadingSpinner._export_sfc(_sfc_main$1e,[["render",_sfc_render$$]]),_sfc_main$1d={name:"VsItineraryStop",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,VsBody:LoadingSpinner.VsBody,VsDetail},props:{stopLabel:{type:String,required:!0},stopNumber:{type:String,required:!0},stopTitle:{type:String,required:!0}}},_hoisted_1$U={class:"vs-itinerary-stop","data-test":"vs-itinerary-stop"},_hoisted_2$F={class:"vs-itinerary-stop__border"},_hoisted_3$v={class:"vs-itinerary-stop__header","data-test":"vs-itinerary-stop-heading"},_hoisted_4$n={class:"vs-itinerary-stop__marker"},_hoisted_5$i={class:"vs-itinerary-stop__count","aria-hidden":"true","data-test":"vs-itinerary-stop-marker"},_hoisted_6$e={class:"vs-itinerary-stop__details-container","data-chromatic":"ignore"},_hoisted_7$c={key:0,class:"vs-itinerary-stop__address","data-test":"vs-itinerary-stop-address"};function _sfc_render$_(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsDetail"),u=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$U,[vue.createElementVNode("div",_hoisted_2$F,[vue.createElementVNode("div",_hoisted_3$v,[vue.createElementVNode("div",_hoisted_4$n,[vue.createVNode(o,{icon:"fa-solid fa-location-pin",variant:"highlight",size:"xl"}),vue.createElementVNode("span",_hoisted_5$i,vue.toDisplayString(t.stopNumber),1)]),vue.createVNode(i,{level:"3","heading-style":"heading-s",class:"vs-itinerary-stop__title mb-025","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.stopLabel),1)]),_:1}),vue.createVNode(l,{class:"vs-itinerary-stop__detail","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.stopTitle),1)]),_:1})]),vue.renderSlot(e.$slots,"default"),vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stop-description")]),_:3}),vue.renderSlot(e.$slots,"stop-time-to-explore"),vue.renderSlot(e.$slots,"stop-tips"),vue.createElementVNode("div",_hoisted_6$e,[e.$slots["stop-address"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$c,[vue.renderSlot(e.$slots,"stop-address")])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"stop-info")]),vue.renderSlot(e.$slots,"stop-facilities")]),e.$slots["stop-buttons"]?vue.renderSlot(e.$slots,"stop-buttons",{key:0}):vue.createCommentVNode("",!0)])}const ItineraryStop=LoadingSpinner._export_sfc(_sfc_main$1d,[["render",_sfc_render$_]]),_sfc_main$1c={name:"VsItineraryStopInfo",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon,VsLink},props:{openingHours:{type:[String,Object],required:!1,default:null},openingTimesLink:{type:String,required:!1,default:null},closedText:{type:String,required:!0},closingSoonText:{type:String,required:!0},openText:{type:String,required:!0},usualText:{type:String,required:!0},provisionalText:{type:String,required:!0},temporarilyClosedText:{type:String,required:!0},toText:{type:String,required:!0},andText:{type:String,required:!0}},data(){return{openingMessage:"",currentDayData:{},currentTime:{},dayDataIndex:0,closedLongTerm:!1,ukDate:"",isCurrentTimeframe:!1,parsedHours:{}}},computed:{hoursMessage(){let e="";if(this.closedLongTerm)e=this.temporarilyClosedText;else if(this.currentDayData.length>0)switch(this.openingMessage){case"closed":e=this.closedText;break;case"closing soon":e=this.closingSoonText;break;case"open":e=this.openText;break;default:e=""}return e},provisionalMessage(){let e="";if(typeof this.currentDayData[0]<"u"){const n=this.currentDayData[0].state==="open"?this.openText:this.closedText;this.currentDayData[0].provisional?e=`${this.provisionalText} ${n.toLowerCase()} ${this.currentDayData[0].day}`:e=`${this.usualText} ${n.toLowerCase()} ${this.currentDayData[0].day}`,this.currentDayData[0].state!=="closed"&&typeof this.currentDayData[this.dayDataIndex]<"u"&&typeof this.currentDayData[this.dayDataIndex].startTime<"u"&&typeof this.currentDayData[this.dayDataIndex].endTime<"u"&&this.currentDayData[this.dayDataIndex].startTime!==""&&this.currentDayData[this.dayDataIndex].endTime!==""&&this.currentDayData.forEach((t,a)=>{e+=` ${t.startTime} ${this.toText} ${t.endTime}`,a+1<this.currentDayData.length&&(e+=` ${this.andText} `)})}return e}},created(){this.parseIncomingData(),this.getCurrentTime(),this.isActiveDate(),this.getCurrentHoursInfo()},methods:{parseIncomingData(){if(typeof this.openingHours!="object"){const e=this.openingHours.replace(/'/g,'"');this.parsedHours=JSON.parse(e)}else this.parsedHours=this.openingHours;this.parsedHours.closedLongTerm&&(this.closedLongTerm=!0)},getCurrentTime(){const e=new Date,n=e.toLocaleTimeString("en-GB",{timeZone:"Europe/London"});this.ukDate=e.toLocaleDateString("en-GB",{timeZone:"Europe/London"});const t=n.substring(0,2),a=n.substring(3,6),r=e.getDay();this.currentTime.hours=parseInt(t,10),this.currentTime.minutes=parseInt(a,10),this.currentTime.day=r},isActiveDate(){if(typeof this.parsedHours.period<"u"){const e=`${this.ukDate.substring(3,5)}/${this.ukDate.substring(0,2)}/${this.ukDate.substring(6,10)}`,n=new Date(this.parsedHours.period.startDay),t=new Date(this.parsedHours.period.endDay),a=new Date(e);a<t&&a>n?this.isCurrentTimeframe=!0:this.isCurrentTimeframe=!1}else this.isCurrentTimeframe=!0},getCurrentHoursInfo(){const e=this.returnDayName(this.currentTime.day);if(typeof this.parsedHours.days<"u"){const n=this.parsedHours.days.filter(t=>t.key===e);typeof n<"u"&&(this.currentDayData=n,this.compareTimes(this.currentTime,this.currentDayData,this.dayDataIndex))}},compareTimes(e,n,t){if(typeof n[t].startTime<"u"&&typeof n[t].endTime<"u"&&n[t].startTime.length>0&&n[t].endTime.length>0){const a=n[t].startTime,r=n[t].endTime,s=parseInt(a.substring(0,a.indexOf(":")),10),o=parseInt(a.substring(a.indexOf(":")+1,a.length),10),i=parseInt(r.substring(0,r.indexOf(":")),10),l=parseInt(r.substring(r.indexOf(":")+1,r.length),10),u=this.calculateClosingSoon(i,l);n[t].state==="closed"?this.openingMessage="closed":s>e.hours||s===e.hours&&o>e.minutes||i<e.hours||i===e.hours&&l<e.minutes?this.openingMessage="closed":this.withinClosingSoonTime(e,u)?this.openingMessage="closing soon":this.openingMessage="open",this.openingMessage==="closed"&&n.length>t+1&&(this.dayDataIndex+=1,this.compareTimes(this.currentTime,this.currentDayData,this.dayDataIndex))}else n[t].state==="closed"&&(this.openingMessage="closed")},returnDayName(e){let n="";switch(e){case 1:n="monday";break;case 2:n="tuesday";break;case 3:n="wednesday";break;case 4:n="thursday";break;case 5:n="friday";break;case 6:n="saturday";break;case 7:n="sunday";break;default:n=""}return n},calculateClosingSoon(e,n){let t,a;return n<30?(t=e-1,a=60+(n-30)):(t=e,a=n-30),{hours:t,mins:a}},withinClosingSoonTime(e,n){return!(n.hours>e.hours||n.hours===e.hours&&n.mins>e.minutes)}}},_hoisted_1$T={class:"vs-itinerary-stop-info","data-test":"vs-itinerary-stop-info"},_hoisted_2$E={key:0,class:"itinerary-stop-info__times mb-0","data-test":"vs-itinerary-stop-status"},_hoisted_3$u={key:1,"data-test":"vs-itinerary-stop-hours"},_hoisted_4$m={key:1,"data-test":"vs-stop-link"},_hoisted_5$h={key:2,"data-test":"vs-stop-charge-text"};function _sfc_render$Z(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$T,[vue.createVNode(o,{icon:"vs-icon-feedback-information",class:"vs-address__map-marker me-050"}),vue.createElementVNode("div",null,[r.isCurrentTimeframe?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[s.hoursMessage.length>0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$E,[vue.createTextVNode(vue.toDisplayString(s.hoursMessage),1),n[0]||(n[0]=vue.createElementVNode("br",null,null,-1))])):vue.createCommentVNode("",!0),!r.closedLongTerm&&typeof r.currentDayData[0]<"u"&&typeof r.currentDayData[0].state<"u"&&s.provisionalMessage.length>0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_3$u,vue.toDisplayString(s.provisionalMessage)+". ",1)):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),e.$slots["stop-link-text"]&&t.openingTimesLink!==null?(vue.openBlock(),vue.createElementBlock("p",_hoisted_4$m,[vue.createVNode(i,{href:t.openingTimesLink},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stop-link-text")]),_:3},8,["href"])])):vue.createCommentVNode("",!0),e.$slots["stop-charge-text"]?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$h,[vue.renderSlot(e.$slots,"stop-charge-text")])):vue.createCommentVNode("",!0)])])}const ItineraryStopInfo=LoadingSpinner._export_sfc(_sfc_main$1c,[["render",_sfc_render$Z]]),_sfc_main$1b={name:"VsItineraryTips",status:"prototype",release:"0.0.1",components:{},props:{}},_hoisted_1$S={class:"vs-itinerary-tips position-relative my-175"},_hoisted_2$D={class:"vs-itinerary-tips__text"},_hoisted_3$t={class:"vs-itinerary-tips__svg position-absolute"};function _sfc_render$Y(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$S,[vue.createElementVNode("div",_hoisted_2$D,[vue.renderSlot(e.$slots,"text")]),vue.createElementVNode("div",_hoisted_3$t,[vue.renderSlot(e.$slots,"svg")])])}const ItineraryTips=LoadingSpinner._export_sfc(_sfc_main$1b,[["render",_sfc_render$Y]]),_sfc_main$1a={name:"VsItineraryBorderOverlapWrapper",status:"prototype",release:"0.0.1",components:{},props:{}},_hoisted_1$R={class:"vs-itinerary-border-overlap__wrapper d-flex d-sm-inline-flex flex-column justify-content-start border-left"};function _sfc_render$X(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$R,[vue.renderSlot(e.$slots,"default")])}const ItineraryBorderOverlapWrapper=LoadingSpinner._export_sfc(_sfc_main$1a,[["render",_sfc_render$X]]),_sfc_main$19={name:"VsLinkList",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading},props:{toc:{type:Boolean,default:!1}},computed:{classes(){return{"link-list":!0,"link-list--toc":this.toc}},dataTest(){return this.toc?"link-list--toc":"link-list"},hasHeadingSlot(){return!!this.$slots.heading}}},_hoisted_1$Q=["data-test"],_hoisted_2$C={class:"link-list__list"};function _sfc_render$W(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(s.classes),"data-test":s.dataTest},[vue.createElementVNode("nav",null,[s.hasHeadingSlot?(vue.openBlock(),vue.createBlock(o,{key:0,level:"2","no-margins":"","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"heading")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("ul",_hoisted_2$C,[vue.renderSlot(e.$slots,"default")])])],10,_hoisted_1$Q)}const VsLinkList=LoadingSpinner._export_sfc(_sfc_main$19,[["render",_sfc_render$W]]),_sfc_main$18={name:"VsLinkListItem",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,default:null},type:{type:String,default:"default",validator:e=>e.match(/(default|external|internal|download|video)/)},videoId:{type:String,default:null},videoDescriptor:{type:String,default:null}},setup(){return{videoStore:useVideoStore()}},computed:{formattedVideoDuration(){if(this.videoDetails){let e=`${this.videoDetails.videoFullDuration.seconds}`;return e.length===1&&(e=`0${e}`),`${this.videoDetails.videoFullDuration.minutes}:${e}`}return""},videoDetails(){return this.videoStore.videos[this.videoId]},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0}},methods:{emitShowModal(){this.videoId&&this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$P={class:"link-list-item"};function _sfc_render$V(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$P,[vue.createVNode(o,{href:t.href,type:t.type==="video"?"default":t.type,role:t.type==="video"?"button":null,onClick:s.emitShowModal},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default"),t.type==="video"&&s.videoLoaded?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(" | "+vue.toDisplayString(t.videoDescriptor)+" "+vue.toDisplayString(s.formattedVideoDuration),1)],64)):vue.createCommentVNode("",!0)]),_:3},8,["href","type","role","onClick"])])}const LinkListItem=LoadingSpinner._export_sfc(_sfc_main$18,[["render",_sfc_render$V]]),_sfc_main$17={name:"VsListicleItem",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsBody:LoadingSpinner.VsBody,VsDetail},props:{index:{type:String,default:""},title:{type:String,default:""},subTitle:{type:String,default:""}},computed:{hasKeyFacilitiesSlot(){return!!this.$slots["facilities-slot"]}}},_hoisted_1$O={class:"vs-listicle-item border","data-test":"vs-listicle-item"},_hoisted_2$B={class:"vs-listicle-item__header","data-test":"vs-listicle-item-heading"},_hoisted_3$s={class:"count__bg"},_hoisted_4$l={class:"count","aria-hidden":"true"};function _sfc_render$U(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsDetail"),l=vue.resolveComponent("VsBody"),u=vue.resolveComponent("VsCol"),c=vue.resolveComponent("VsRow");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$O,[vue.renderSlot(e.$slots,"hippo-details"),vue.createElementVNode("div",_hoisted_2$B,[vue.createElementVNode("div",_hoisted_3$s,[vue.createElementVNode("span",_hoisted_4$l,vue.toDisplayString(t.index),1)]),vue.createVNode(o,{level:"2","heading-style":"heading-s",class:"vs-listicle-item__title mb-025","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1}),vue.createVNode(i,{class:"vs-listicle-item__detail","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subTitle),1)]),_:1})]),vue.renderSlot(e.$slots,"image-slot"),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"12",lg:"8",class:"mt-050 mt-sm-300 mb-100 mt-lg-050 pe-lg-300"},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"description-slot")]),_:3})]),_:3}),vue.createVNode(u,{cols:"12",lg:"4",class:vue.normalizeClass(["key-facilities-list mt-lg-400",[s.hasKeyFacilitiesSlot?"has-facilities":""]])},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"facilities-slot")]),_:3},8,["class"])]),_:3})])}const ListicleItem=LoadingSpinner._export_sfc(_sfc_main$17,[["render",_sfc_render$U]]),__vite_import_meta_env__={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var define_process_env_default$2={};const getEnvValue=e=>define_process_env_default$2?define_process_env_default$2[e]:__vite_import_meta_env__[e],_sfc_main$16={name:"VsSelect",status:"prototype",release:"0.0.1",components:{BFormSelect:LoadingSpinner.Lu},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{options:{type:Array,required:!0},fieldName:{type:String,required:!0},value:{type:String,default:""},validationRules:{type:Object,default(){return{}}},triggerValidate:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},countryListUrl:{type:String,default:""},hintText:{type:String,default:""},countries:{type:Boolean,default:!1},genericValidation:{type:Object,default(){return{}}},reAlertErrors:{type:Boolean,default:!1}},emits:["toggleAction","updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,touched:!1,countryList:[]}},computed:{errorClass(){return this.errorsList.length>0&&this.v$.inputVal&&this.v$.inputVal.$anyDirty||this.invalid?"vs-select__element--error":""},fieldOptions(){return this.countries?this.countryList:this.options}},watch:{inputVal(e){this.emitStatus(),this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e},triggerValidate(){this.manualValidate()}},beforeMount(){this.countries&&LoadingSpinner.axios.get(this.countryListUrl).then(e=>{this.countryList=e.data.countries})},methods:{autocompleteValue(e){let n;switch(e){case"Country":n="country-name";break;default:n="on";break}return n}},validations(){return this.rules}},_hoisted_1$N={class:"vs-select"},_hoisted_2$A=["id"],_hoisted_3$r=["id"],_hoisted_4$k={class:"visually-hidden"},_hoisted_5$g={class:"vs-select__container mt-050"};function _sfc_render$T(e,n,t,a,r,s){const o=vue.resolveComponent("BFormSelect");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$N,[vue.createElementVNode("p",{class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$A),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:0,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,i=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:i,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$k,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors]])),128))],8,_hoisted_3$r)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$g,[vue.createVNode(o,vue.mergeProps({modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>r.inputVal=i)},e.$attrs,{options:s.fieldOptions,name:t.fieldName,id:t.fieldName,onChange:e.emitStatus,onBlur:e.emitStatus,"data-test":"vs-select","data-testid":"vs-select",class:["vs-select__element",s.errorClass],required:e.isRequired,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,autocomplete:s.autocompleteValue(t.fieldName)}),null,16,["modelValue","options","name","id","onChange","onBlur","required","aria-invalid","aria-describedby","class","autocomplete"]),n[1]||(n[1]=vue.createElementVNode("span",{class:"vs-select__focus"},null,-1))])])}const VsSelect=LoadingSpinner._export_sfc(_sfc_main$16,[["render",_sfc_render$T]]);function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},_extends.apply(this,arguments)}var defer=function e(){var n=!1,t=[],a=function(){if(!n){n=!0;for(var i=0,l=t.length;i<l;i++)t[i]()}},r=function(i){if(!n){t.push(i);return}i()},s={resolved:function(){return n},resolve:a,promise:{then:r}};return s},ownProp=Object.prototype.hasOwnProperty;function createRecaptcha(){var e=defer();return{notify:function(){e.resolve()},wait:function(){return e.promise},render:function(t,a,r){this.wait().then(function(){r(window.grecaptcha.render(t,a))})},reset:function(t){typeof t>"u"||(this.assertLoaded(),this.wait().then(function(){return window.grecaptcha.reset(t)}))},execute:function(t){typeof t>"u"||(this.assertLoaded(),this.wait().then(function(){return window.grecaptcha.execute(t)}))},checkRecaptchaLoad:function(){ownProp.call(window,"grecaptcha")&&ownProp.call(window.grecaptcha,"render")&&this.notify()},assertLoaded:function(){if(!e.resolved())throw new Error("ReCAPTCHA has not been loaded")}}}var recaptcha=createRecaptcha();typeof window<"u"&&(window.vueRecaptchaApiLoaded=recaptcha.notify);var Recaptcha=vue.defineComponent({name:"VueRecaptcha",props:{sitekey:{type:String,required:!0},theme:{type:String},badge:{type:String},type:{type:String},size:{type:String},tabindex:{type:String},loadRecaptchaScript:{type:Boolean,default:!0},recaptchaScriptId:{type:String,default:"__RECAPTCHA_SCRIPT"},recaptchaHost:{type:String,default:"www.google.com"},language:{type:String,default:""}},emits:["render","verify","expired","error"],setup:function e(n,t){var a=t.slots,r=t.emit,s=vue.ref(null),o=vue.ref(null),i=function(d){r("verify",d)},l=function(){r("expired")},u=function(){r("error")};return vue.onMounted(function(){if(recaptcha.checkRecaptchaLoad(),n.loadRecaptchaScript&&!document.getElementById(n.recaptchaScriptId)){var c=document.createElement("script");c.id=n.recaptchaScriptId,c.src="https://"+n.recaptchaHost+"/recaptcha/api.js?onload=vueRecaptchaApiLoaded&render=explicit&hl="+n.language,c.async=!0,c.defer=!0,document.head.appendChild(c)}var d=_extends({},n,{callback:i,"expired-callback":l,"error-callback":u}),v=s.value,f=a.default?v.children[0]:v;recaptcha.render(f,d,function(p){o.value=p,r("render",p)})}),{root:s,widgetId:o,reset:function(){recaptcha.reset(o.value)},execute:function(){recaptcha.execute(o.value)}}},render:function e(){var n=this.$slots.default,t;return typeof n=="function"?t=n():t=n,vue.h("div",{ref:"root"},t)}});const _sfc_main$15={name:"VsRecaptcha",status:"prototype",release:"0.0.1",components:{VueRecaptcha:Recaptcha},props:{siteKey:{type:String,default:""},invalid:{type:Boolean,default:!1},language:{type:String,default:"en"},errorMsg:{type:String,default:""},textareaLabel:{type:String,default:"Does not need any text"},reAlertErrors:{type:Boolean,default:!1}},emits:["verified"],data(){return{response:null,recaptchaSiteKey:""}},created(){this.siteKey?this.recaptchaSiteKey=this.siteKey:this.recaptchaSiteKey=getEnvValue("RECAPTCHA_TOKEN")},methods:{verified(e){this.$emit("verified",e)},render(){const e=document.querySelectorAll('[id^="g-recaptcha-response"]');if(e.length){const n=e[0].parentNode,t=document.querySelector('label[for="g-recaptcha-response"]'),a=document.createElement("label");a.setAttribute("for","g-recaptcha-response"),a.setAttribute("class","visually-hidden"),a.textContent=this.textareaLabel,t||n.insertBefore(a,e[0])}}}},_hoisted_1$M={class:"vs-recaptcha","aria-live":"assertive"},_hoisted_2$z={key:0,class:"error"};function _sfc_render$S(e,n,t,a,r,s){const o=vue.resolveComponent("VueRecaptcha");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$M,[t.invalid&&!t.reAlertErrors?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$z,vue.toDisplayString(t.errorMsg),1)):vue.createCommentVNode("",!0),r.recaptchaSiteKey?(vue.openBlock(),vue.createBlock(o,{key:1,sitekey:r.recaptchaSiteKey,onVerify:s.verified,onRender:s.render,class:vue.normalizeClass(["vs-recaptcha__embed",t.invalid?"vs-recaptcha__embed--error":""]),language:t.language},null,8,["sitekey","onVerify","onRender","class","language"])):vue.createCommentVNode("",!0)])}const VsRecaptcha=LoadingSpinner._export_sfc(_sfc_main$15,[["render",_sfc_render$S]]),_sfc_main$14={name:"VsTextarea",status:"prototype",release:"0.0.1",components:{BFormTextarea:LoadingSpinner.ld},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},name:{type:String,default:""},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},placeholder:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1},rows:{type:Number||String,default:2}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){let e="";return(this.isInvalid||this.errorsList.length)&&(e="vs-input--error"),`${`vs-input--${this.fieldName}`} ${e}`}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},autocompleteValue(){return this.autoComplete?"on":"off"},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0}},validations(){return this.rules}},_hoisted_1$L={"data-test":"vs-textarea"},_hoisted_2$y=["id"],_hoisted_3$q=["id"],_hoisted_4$j={class:"visually-hidden"};function _sfc_render$R(e,n,t,a,r,s){const o=vue.resolveComponent("BFormTextarea");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$L,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$y)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,i=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:i,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$j,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors&&!r.clearErrorsOnFocus]])),128))],8,_hoisted_3$q)):vue.createCommentVNode("",!0),vue.createVNode(o,{ref:"input",class:vue.normalizeClass(["vs-textarea",s.elementClass]),modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>r.inputVal=i),id:t.fieldName,name:t.name?t.name:t.fieldName,placeholder:t.placeholder,required:e.isRequired,autocomplete:s.autocompleteValue(t.fieldName),v:r.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,disabled:t.disabled,rows:t.rows,onBlur:s.validateErrors,onChange:s.validateErrors,onFocus:s.resetErrors},null,8,["class","modelValue","id","name","placeholder","required","autocomplete","v","aria-invalid","aria-describedby","disabled","rows","onBlur","onChange","onFocus"])])}const VsTextarea=LoadingSpinner._export_sfc(_sfc_main$14,[["render",_sfc_render$R]]),_sfc_main$13={name:"VsForm",status:"prototype",release:"0.0.1",components:{VsInput,VsSelect,VsCheckbox,BFormGroup:LoadingSpinner.ku,VsRecaptcha,VsButton:LoadingSpinner.VsButton,VsHeading:LoadingSpinner.VsHeading,VsWarning:LoadingSpinner.VsWarning,VsTextarea},mixins:[LoadingSpinner.dataLayerMixin],props:{isMarketo:{type:Boolean,default:!0},submissionType:{type:String,default:"breg"},submitUrl:{type:String,default:""},dataUrl:{type:String,required:!0},usesRecaptcha:{type:Boolean,default:!0},recaptchaKey:{type:String,default:getEnvValue("RECAPTCHA_TOKEN")},recaptchaTextareaLabel:{type:String,default:"Does not need any text"},isProd:{type:Boolean,default:!1},munchkinId:{type:String,default:""},marketoInstance:{type:String,default:""},language:{type:String,default:"en"},messagingUrl:{type:String,required:!0},countryListUrl:{type:String,default:""},isTest:{type:Boolean,default:!0},consentList:{type:Array,required:!1,default:null}},data(){return{submitted:!1,submitting:!1,submitError:!1,formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,recaptchaVerified:!1,conditionalFields:{},inputVal:"",reAlertErrors:!1,emailFieldName:""}},computed:{formId(){return this.isProd?this.formData.formLiveId:this.formData.formSandboxId},showFormHeading(){return!this.isUndefined(this.getTranslatedContent)&&!this.isUndefined(this.getTranslatedContent("heading"))}},created(){this.getFormData(),this.getGlobalMessaging()},methods:{getFormData(){LoadingSpinner.axios.get(this.dataUrl).then(e=>{this.formData=e.data,this.isMarketo&&window.MktoForms2&&window.MktoForms2.loadForm(this.marketoInstance,this.munchkinId,this.formId),e.data.fields.forEach(n=>{this.form[n.name]="",n.conditional&&(this.conditionalFields[n.name]=!1)}),this.checkConditionalFields()}).catch(()=>{})},getGlobalMessaging(){LoadingSpinner.axios.get(this.messagingUrl).then(e=>{this.messagingData=e.data}).catch(()=>{})},getLanguageObj(){let e;return this.isUndefined(this.formData[this.language])?e={}:e=this.formData[this.language]||void 0,e},getTranslatedLabel(e,n){const t=this.getLanguageObj();let a="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].label)?a=t[e].label:a=this.formData.fields[n].label,this.showOptionalText(this.formData.fields[n])&&!this.isUndefined(this.getMessagingData("optional",this.language))&&(a=`${a} (${this.getMessagingData("optional",this.language)})`),a},getTranslatedLegend(e,n){const t=this.getLanguageObj();let a="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].descriptor)?a=t[e].descriptor:a=this.formData.fields[n].descriptor,a},getTranslatedInfo(e,n){const t=this.getLanguageObj();let a="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].info)?a=t[e].info:a=this.formData.fields[n].info,a},getTranslatedValidation(e,n){const t=this.getLanguageObj();let a;return this.language==="en"&&!this.isUndefined(this.formData.fields[n].validationMessages)?a=this.formData.fields[n].validationMessages:!this.isUndefined(t[e])&&!this.isUndefined(t[e].validationMessages)?a=t[e].validationMessages:this.language==="en"&&(a=this.formData.fields[n].validationMessages),a},getTranslatedOptions(e,n){const t=this.getLanguageObj();let a=[];return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined([e].options)?a=t[e].options:a=this.formData.fields[n].options,typeof a>"u"&&(a=[]),a},getTranslatedHint(e,n){const t=this.getLanguageObj();let a="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].hint)?a=t[e].hint:this.isUndefined(this.formData.fields[n].hint)?a="":a=this.formData.fields[n].hint,a},getTranslatedContent(e){let n;const t=this.getLanguageObj();return this.language==="en"&&!this.isUndefined(this.formData.content)&&!this.isUndefined(this.formData.content[e])?n=this.formData.content[e]:!this.isUndefined(t.content)&&!this.isUndefined(t.content[e])?n=t.content[e]:n=this.getMessagingData(e,this.language),n},getMessagingData(e,n){return Object.keys(this.messagingData).length>0?this.messagingData[n][e]:e==="validation"?{}:""},getHiddenFields(){return[...this.$el.querySelectorAll("input[type=hidden]")].map(this.parseBooleanStringsFromInputField).reduce((e,n)=>(e[n.name]=n.value,e),{})},parseBooleanStringsFromInputField(e){let n=e.value;return n==="true"?n=!0:n==="false"&&(n=!1),{name:e.name,value:n}},isUndefined(e){return typeof e>"u"},updateFieldData(e){this.form[e.field]=e.value||"",Array.isArray(e.errors)?this.formIsInvalid=e.errors.length>0:this.formIsInvalid=e.errors!==null,this.manageErrorStatus(e.field,e.errors),this.checkConditionalFields()},manageErrorStatus(e,n){const t=this.errorFields.indexOf(e);t!==-1?(!n||n.length<1)&&this.errorFields.splice(t,1):n&&n.length>0&&this.errorFields.push(e)},showOptionalText(e){return!!(this.isUndefined(e.validation)||this.isUndefined(e.validation.required))},needsLabel(e){return!(e.element==="radio"||e.element==="submit"||e.element==="checkbox")},preSubmit(e){e.preventDefault(),this.submitError=!1;function n(a){return a.validation&&a.validation.required}this.usesRecaptcha&&!this.isTest&&this.onRecaptchaVerify(),this.triggerValidate=!0;const t=this.formData.fields.filter(n);t.length===0?this.formIsInvalid=!1:t.forEach(a=>{if(!/\S/.test(this.form[a.name])){let r=!0;a.name in this.conditionalFields&&!this.conditionalFields[a.name]&&(r=!1),this.formIsInvalid=r}}),this.showErrorMessage=this.formIsInvalid,Object.entries(this.conditionalFields).forEach(([a,r])=>{r||(this.form[a]="")}),this.errorFields.length>0&&(this.formIsInvalid=!0),!this.formIsInvalid&&(this.recaptchaVerified||!this.usesRecaptcha)?this.isMarketo?this.marketoSubmit():this.axiosSubmit():(this.showErrorMessage=!0,this.reAlertErrors=!0,setTimeout(()=>{this.reAlertErrors=!1},100))},marketoSubmit(){this.createDataLayerObject("formsDataEvent");const e=window.MktoForms2.allForms()[0];e.addHiddenFields(this.form),window.grecaptcha&&e.addHiddenFields({lastReCAPTCHAUserFingerprint:window.grecaptcha.getResponse(),lastRecaptchaEnabledFormID:this.formId}),e.onSuccess(()=>(this.submitting=!1,this.submitted=!0,!1)),e.onSubmit(()=>{this.submitting=!0}),e.submit()},axiosSubmit(){this.createDataLayerObject("formsDataEvent"),this.submitting=!0;let e="";window.grecaptcha&&(e=window.grecaptcha.getResponse());const n=this.getHiddenFields();LoadingSpinner.axios.post(this.submitUrl,{...this.form,...n,formType:this.formData.content?this.formData.content.formType:"","g-recaptcha-response":e,consentList:this.consentList}).then(()=>(this.submitting=!1,this.submitted=!0,this.attachEmail(),!1)).catch(()=>(this.submitError=!0,!1))},attachEmail(){this.submissionType&&this.submissionType==="breg"&&(this.formData.fields.forEach(e=>{e.type==="email"&&!this.emailFieldName&&(this.emailFieldName=e.name)}),this.emailFieldName&&typeof exponea<"u"&&exponea.identify({email_id:this.form[this.emailFieldName]},{},()=>{},()=>{},!0))},onRecaptchaVerify(){window.grecaptcha&&typeof window.grecaptcha.getResponse=="function"&&window.grecaptcha.getResponse()!==""?this.recaptchaVerified=!0:this.recaptchaVerified=!1},checkConditionalFields(){Object.keys(this.conditionalFields).forEach(e=>{const n=this.formData.fields.find(a=>a.name===e);let t=!0;Object.keys(n.conditional).forEach(a=>{const r=n.conditional[a];Array.isArray(r)?r.indexOf(this.form[a])===-1&&(t=!1):this.form[a]!==r&&(t=!1),t?this.conditionalFields[e]||(this.conditionalFields[e]=!0,this.$refs[e]&&this.$refs[e][0].manualValidate()):(this.manageErrorStatus(e,[]),this.conditionalFields[e]=!1)})})},conditionalElementClass(e){return this.conditionalFields[e]===!0||typeof this.conditionalFields[e]>"u"?"":"d-none"}}},_hoisted_1$K={class:"vs-form","data-test":"vs-form"},_hoisted_2$x={class:"vs-form__main-heading vs-heading vs-heading--heading-l float-none","data-test":"vs-form__main-heading"},_hoisted_3$p={key:0},_hoisted_4$i={"aria-live":"assertive"},_hoisted_5$f={key:0},_hoisted_6$d=["innerHTML"],_hoisted_7$b={key:2,class:"mt-200"};function _sfc_render$Q(e,n,t,a,r,s){const o=vue.resolveComponent("VsInput"),i=vue.resolveComponent("VsSelect"),l=vue.resolveComponent("VsCheckbox"),u=vue.resolveComponent("VsTextarea"),c=vue.resolveComponent("BFormGroup"),d=vue.resolveComponent("VsRecaptcha"),v=vue.resolveComponent("VsButton"),f=vue.resolveComponent("VsWarning"),p=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$K,[n[1]||(n[1]=vue.createElementVNode("form",{class:"d-none"},null,-1)),r.submitted?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("form",{key:0,onSubmit:n[0]||(n[0]=vue.withModifiers((...m)=>s.preSubmit&&s.preSubmit(...m),["prevent"]))},[vue.createElementVNode("fieldset",null,[vue.createElementVNode("legend",_hoisted_2$x,vue.toDisplayString(s.getTranslatedContent("heading")),1),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.formData.fields,(m,g)=>(vue.openBlock(),vue.createBlock(c,{key:m.name,label:s.needsLabel(m)?s.getTranslatedLabel(m.name,g):"","label-for":s.needsLabel(m)?m.name:"",class:vue.normalizeClass(s.conditionalElementClass(m.name))},{default:vue.withCtx(()=>[!s.isUndefined(m.descriptor)&&m.element==="checkbox"?(vue.openBlock(),vue.createElementBlock("legend",_hoisted_3$p,vue.toDisplayString(s.getTranslatedLegend(m.name,g)),1)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(s.conditionalElementClass(m.name))},[m.element==="input"?(vue.openBlock(),vue.createBlock(o,{key:0,ref_for:!0,ref:m.name,onStatusUpdate:s.updateFieldData,"field-name":m.name,type:m.type,"validation-rules":m.validation||{},"validation-messages":s.getTranslatedValidation(m.name,g)||{},"generic-validation":s.getMessagingData("validation",t.language),invalid:r.errorFields.indexOf(m.name)>-1,"trigger-validate":r.triggerValidate,"hint-text":s.getTranslatedHint(m.name,g),placeholder:m.placeholder||"","re-alert-errors":r.reAlertErrors},null,8,["onStatusUpdate","field-name","type","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors"])):vue.createCommentVNode("",!0),m.element==="select"?(vue.openBlock(),vue.createBlock(i,{key:1,options:s.getTranslatedOptions(m.name,g),ref_for:!0,ref:m.name,onStatusUpdate:s.updateFieldData,"field-name":m.name,"validation-rules":m.validation||{},"validation-messages":s.getTranslatedValidation(m.name,g)||{},"generic-validation":s.getMessagingData("validation",t.language),invalid:r.errorFields.indexOf(m.name)>-1,"trigger-validate":r.triggerValidate,"country-list-url":t.countryListUrl,countries:m.countries,"hint-text":s.getTranslatedHint(m.name,g),"re-alert-errors":r.reAlertErrors},null,8,["options","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","country-list-url","countries","hint-text","re-alert-errors"])):vue.createCommentVNode("",!0),m.element==="checkbox"?(vue.openBlock(),vue.createBlock(l,{key:m.name,ref_for:!0,ref:m.name,name:m.name,value:m.value,label:s.getTranslatedLabel(m.name,g),onStatusUpdate:s.updateFieldData,"field-name":m.name,"validation-rules":m.validation||{},"validation-messages":s.getTranslatedValidation(m.name,g)||{},"generic-validation":s.getMessagingData("validation",t.language),invalid:r.errorFields.indexOf(m.name)>-1,"trigger-validate":r.triggerValidate,"optional-text":s.getMessagingData("optional",t.language),"hint-text":s.getTranslatedHint(m.name,g),"info-text":s.getTranslatedInfo(m.name,g),"re-alert-errors":r.reAlertErrors},null,8,["name","value","label","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","optional-text","hint-text","info-text","re-alert-errors"])):vue.createCommentVNode("",!0),m.element==="textarea"?(vue.openBlock(),vue.createBlock(u,{key:3,ref_for:!0,ref:m.name,onStatusUpdate:s.updateFieldData,"field-name":m.name,"validation-rules":m.validation||{},"validation-messages":s.getTranslatedValidation(m.name,g)||{},"generic-validation":s.getMessagingData("validation",t.language),invalid:r.errorFields.indexOf(m.name)>-1,"trigger-validate":r.triggerValidate,"hint-text":s.getTranslatedHint(m.name,g),placeholder:m.placeholder||"","re-alert-errors":r.reAlertErrors,rows:m.rows||null},null,8,["onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors","rows"])):vue.createCommentVNode("",!0)],2)]),_:2},1032,["label","label-for","class"]))),128))]),vue.renderSlot(e.$slots,"hidden-fields"),t.usesRecaptcha?(vue.openBlock(),vue.createBlock(d,{key:0,onVerified:s.onRecaptchaVerify,"site-key":t.recaptchaKey,invalid:!r.recaptchaVerified&&r.showErrorMessage,language:t.language,"error-msg":s.getMessagingData("recaptchaError",t.language),class:"mt-300","textarea-label":t.recaptchaTextareaLabel,"re-alert-errors":r.reAlertErrors},null,8,["onVerified","site-key","invalid","language","error-msg","textarea-label","re-alert-errors"])):vue.createCommentVNode("",!0),vue.createVNode(v,{variant:"primary",type:"submit",class:"vs-form__submit mt-300",onClick:s.preSubmit},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.getTranslatedContent("submit")),1)]),_:1},8,["onClick"])],32)),vue.createVNode(f,{class:"vs-form__no-js"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"no-js")]),_:3}),vue.createElementVNode("div",_hoisted_4$i,[r.submitting?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$f,[vue.renderSlot(e.$slots,"submitting")])):vue.createCommentVNode("",!0),r.submitted?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[s.getTranslatedContent("successHeading")?(vue.openBlock(),vue.createBlock(p,{key:0,level:"2","heading-style":"heading-l"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.getTranslatedContent("successHeading")),1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("p",{class:"vs-form__content",innerHTML:s.getTranslatedContent("successContent")},null,8,_hoisted_6$d)],64)):vue.createCommentVNode("",!0),r.submitError?(vue.openBlock(),vue.createElementBlock("p",_hoisted_7$b,[vue.renderSlot(e.$slots,"submit-error")])):vue.createCommentVNode("",!0)])])}const Form=LoadingSpinner._export_sfc(_sfc_main$13,[["render",_sfc_render$Q]]),_sfc_main$12={name:"VsMegaNavTopMenu",status:"prototype",release:"0.1.0",components:{VsList},inject:["isStatic"]};function _sfc_render$P(e,n,t,a,r,s){const o=vue.resolveComponent("VsList");return vue.openBlock(),vue.createBlock(o,{unstyled:"",class:"vs-mega-nav-top-menu","data-test":"vs-mega-nav-top-menu",role:"menubar"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})}const VsMegaNavTopMenu=LoadingSpinner._export_sfc(_sfc_main$12,[["render",_sfc_render$P]]),_sfc_main$11={name:"VsMegaNavMobileMenu",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],mounted(){this.emitter&&this.emitter.on("navAccordionClick",e=>{this.dataLayerSubmit(e)})},methods:{dataLayerSubmit(e){const n={target:{text:e}};this.createDataLayerObject("menuNavigationDataEvent",n,null)}}},_hoisted_1$J={class:"mega-nav-mobile-menu","data-test":"vs-mega-nav-mobile-menu"};function _sfc_render$O(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$J,[vue.renderSlot(e.$slots,"default")])}const VsMegaNavMobileMenu=LoadingSpinner._export_sfc(_sfc_main$11,[["render",_sfc_render$O]]),_sfc_main$10={name:"VsSiteSearch",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton},props:{isShowing:{type:Boolean,default:!1}},emits:["toggleAction"],data(){return{showSearchForm:!0}},methods:{toggleAction(){this.showSearchForm=!this.showSearchForm,this.$emit("toggleAction",this.showSearchForm)}}},_hoisted_1$I={class:"visually-hidden-xxl-down"};function _sfc_render$N(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createBlock(o,{"data-test":"vs-site-search",class:vue.normalizeClass(["vs-site-search",t.isShowing?"vs-site-search--active":""]),icon:"vs-icon-control-search",size:"md",animate:!1,onClick:s.toggleAction,id:"site-search-btn",rounded:!1},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$I,[vue.renderSlot(e.$slots,"default")])]),_:3},8,["class","onClick"])}const VsSiteSearch=LoadingSpinner._export_sfc(_sfc_main$10,[["render",_sfc_render$N]]),_sfc_main$$={name:"VsSiteSearchForm",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon,VsInput,VsButton:LoadingSpinner.VsButton,VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer},props:{isShowing:{type:Boolean,default:!1},labelText:{type:String,default:""},submitButtonText:{type:String,default:""},closeButtonText:{type:String,default:""}},emits:["toggleAction"],data(){return{searchTerm:"",showSearchForm:!0}},watch:{isShowing(e){e&&this.focusOnInput()}},methods:{focusOnInput(){this.$nextTick(()=>this.$refs.searchInput.$refs.input.focus())},tabFromClose(e){e.shiftKey||this.closeSearchForm()},updateVal(e){this.searchTerm=e.value},onSubmit(e){this.searchTerm===""&&e.preventDefault()},closeSearchForm(){this.$emit("toggleAction",this.showSearchForm)}}},_hoisted_1$H={key:0,class:"vs-site-search-form","data-test":"vs-site-search-form"},_hoisted_2$w={class:"cludo-input-form d-flex pe-075 align-items-start",role:"search",id:"cludo-search-input"},_hoisted_3$o={class:"d-flex flex-column flex-grow-1 position-relative"},_hoisted_4$h={for:"site-search",class:"vs-site-search-form__label"},_hoisted_5$e={class:"visually-hidden"};function _sfc_render$M(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsInput"),l=vue.resolveComponent("VsButton"),u=vue.resolveComponent("VsCol"),c=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer");return r.showSearchForm?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$H,[vue.createVNode(d,{fluid:"lg"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"12"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$w,[vue.createElementVNode("div",_hoisted_3$o,[vue.createElementVNode("label",_hoisted_4$h,[vue.createElementVNode("span",_hoisted_5$e,vue.toDisplayString(t.labelText),1),vue.createVNode(o,{icon:"vs-icon-control-search",size:"xs"})]),vue.createVNode(i,{class:"vs-site-search-form__input cludo-input-form__input",ref:"searchInput",name:"searchrequest",type:"search","field-name":"site-search",placeholder:t.labelText,"auto-complete":!1,onUpdated:s.updateVal},null,8,["placeholder","onUpdated"])]),vue.createVNode(l,{type:"submit",class:"vs-site-search-form__search-button cludo-input-form__search-button",variant:"primary",size:"lg",rounded:!1,onClick:s.closeSearchForm},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.submitButtonText),1)]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1}),vue.createVNode(l,{class:"vs-site-search-form__close-button d-none d-lg-block",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:s.closeSearchForm,onKeydown:vue.withKeys(s.tabFromClose,["tab"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeButtonText),1)]),_:1},8,["onClick","onKeydown"])])):vue.createCommentVNode("",!0)}const VsSiteSearchForm=LoadingSpinner._export_sfc(_sfc_main$$,[["render",_sfc_render$M]]),clickOutside={mounted(e,n){e.clickOutsideEvent=t=>{e===t.target||e.contains(t.target)||n.value(t)},document.body.addEventListener("click",e.clickOutsideEvent)},unmounted(e){document.body.removeEventListener("click",e.clickOutsideEvent)}},_sfc_main$_={name:"VsMegaNav",status:"deprecated",release:"0.1.0",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsSvgLink,VsMegaNavTopMenu,VsMegaNavMobileMenu,VsSiteSearch,VsSiteSearchForm,VsButton:LoadingSpinner.VsButton},directives:{clickOutside},mixins:[LoadingSpinner.dataLayerMixin],provide(){return{isStatic:this.isStatic}},props:{href:{type:String,required:!0},menuToggleAltText:{type:String,required:!0},logoAltText:{type:String,default:"VisitScotland Home"},searchButtonText:{type:String,required:!0},searchLabelText:{type:String,default:"What are you looking for?"},searchClearButtonText:{type:String,default:"Clear form"},searchCloseButtonText:{type:String,default:"Close search form"},mapButtonText:{type:String,default:void 0},noSearch:{type:Boolean,default:!1},searchLink:{type:String,default:void 0},mapLink:{type:String,default:void 0},isStatic:{type:Boolean,default:!1}},data(){return{isOpen:!1,showSearch:!1,tokens:LoadingSpinner.designTokens}},mounted(){this.addTabClose()},methods:{menuToggle(){this.isOpen=!this.isOpen},toggleSearch(){this.showSearch=!this.showSearch},closeMenu(e){const n=document.getElementsByClassName("vs-mega-nav__menu-mobile")[0];this.isOpen&&!n.contains(e.target)&&(this.isOpen=!1)},addTabClose(){document.body.addEventListener("focusin",e=>{this.isOpen&&(e.target.closest("#vs-mega-nav__menu-mobile")||(this.isOpen=!1))})}}},_hoisted_1$G={class:"vs-mega-nav bg-white","aria-label":"main nav","data-test":"vs-mega-nav",id:"main-nav"},_hoisted_2$v={class:"visually-hidden-xxl-down"},_hoisted_3$n={class:"vs-mega-nav__menu-mobile d-lg-none",id:"vs-mega-nav__menu-mobile","data-test":"vs-mega-nav-mobile-container"};function _sfc_render$L(e,n,t,a,r,s){const o=vue.resolveComponent("VsSvgLink"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsMegaNavTopMenu"),u=vue.resolveComponent("VsButton"),c=vue.resolveComponent("VsSiteSearch"),d=vue.resolveComponent("VsMegaNavMobileMenu"),v=vue.resolveComponent("VsRow"),f=vue.resolveComponent("VsContainer"),p=vue.resolveComponent("VsSiteSearchForm"),m=vue.resolveDirective("click-outside");return vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("nav",_hoisted_1$G,[vue.createVNode(f,{fluid:"lg",class:"h-100"},{default:vue.withCtx(()=>[vue.createVNode(v,{class:"align-items-center h-100 vs-mega-nav__main-row"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"7",md:"4",lg:"3"},{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[vue.createVNode(o,{class:"vs-mega-nav__logo","data-test":"vs-mega-nav__logo","link-alt-text":t.logoAltText,href:t.href,"svg-fill":r.tokens["vs-color-background-brand"],"svg-path":"visitscotland-logo","data-layer-value":"homePageLogoClickDataEvent"},null,8,["link-alt-text","href","svg-fill"])])]),_:1}),vue.createVNode(i,{cols:"4",md:"6",lg:t.noSearch?7:5,class:"vs-mega-nav__menu d-none d-lg-block"},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"mega-nav-top-menu-items")]),_:3})]),_:3},8,["lg"]),vue.createVNode(i,{cols:"5",md:"8",lg:"4",class:"justify-content-end align-items-center position-static d-flex h-100"},{default:vue.withCtx(()=>[t.mapButtonText&&t.mapLink?(vue.openBlock(),vue.createBlock(u,{key:0,variant:"subtle",icon:"fa-regular fa-map","icon-only":"",size:"md",rounded:!1,href:t.mapLink,class:"vs-mega-nav__map-button d-flex","data-test":"vs-mega-nav__map-button"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.mapButtonText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),!t.noSearch&&!t.searchLink?(vue.openBlock(),vue.createBlock(c,{key:1,onToggleAction:s.toggleSearch,"is-showing":r.showSearch},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonText),1)]),_:1},8,["onToggleAction","is-showing"])):vue.createCommentVNode("",!0),!t.noSearch&&t.searchLink?(vue.openBlock(),vue.createBlock(u,{key:2,animate:!1,class:"vs-site-search",href:t.searchLink,icon:"vs-icon-control-search",id:"site-search-btn",rounded:!1},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$v,vue.toDisplayString(t.searchButtonText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$n,[vue.createVNode(u,{class:"vs-mega-nav__mobile-menu-toggle p-0","icon-only":"",icon:r.isOpen?"vs-icon-control-dismiss":"vs-icon-control-menu",variant:"subtle",onClick:n[0]||(n[0]=g=>s.menuToggle()),ref:"toggleButton",rounded:!1,"aria-haspopup":"true"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["icon"]),r.isOpen?vue.withDirectives((vue.openBlock(),vue.createBlock(d,{key:0},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"mega-nav-accordion-items")]),_:3})),[[m,s.closeMenu]]):vue.createCommentVNode("",!0)])]),_:3})]),_:3})]),_:3})]),vue.withDirectives(vue.createVNode(p,{onToggleAction:s.toggleSearch,"is-showing":r.showSearch,"label-text":t.searchLabelText,"submit-button-text":t.searchButtonText,"close-button-text":t.searchCloseButtonText},null,8,["onToggleAction","is-showing","label-text","submit-button-text","close-button-text"]),[[vue.vShow,r.showSearch]])])}const MegaNav=LoadingSpinner._export_sfc(_sfc_main$_,[["render",_sfc_render$L]]),_sfc_main$Z={name:"VsMegaNavDropdown",status:"prototype",release:"0.1.0",components:{BDropdown:LoadingSpinner.un,VsCol:LoadingSpinner.VsCol,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsButton:LoadingSpinner.VsButton},mixins:[LoadingSpinner.dataLayerMixin],props:{menuToggleAltText:{type:String,required:!0}},emits:["menuToggled"],mounted(){this.emitter&&(this.emitter.on("bv::dropdown::show",()=>{this.$emit("menuToggled")}),this.emitter.on("bv::dropdown::hide",()=>{this.$emit("menuToggled")})),window.addEventListener("resize",this.closeMenu)},beforeUnmount(){window.removeEventListener("resize",this.closeMenu)},methods:{closeMenu(){this.$refs.dropdown.hide()},tabFromClose(e){e.shiftKey||this.closeMenu()},dataLayerSubmit(){if(this.$slots["button-content"]()[1]&&this.$slots["button-content"]()[1].children[0]){const n={target:{text:this.$slots["button-content"]()[1].children[0].children}};this.createDataLayerObject("menuNavigationDataEvent",n,null)}}}},_hoisted_1$F={class:"vs-mega-nav-dropdown","data-test":"vs-mega-nav-dropdown",role:"menuitem"},_hoisted_2$u={role:"menuitem"},_hoisted_3$m={class:"dropdown-menu dropdown-menu--fallback overflow-auto",role:"menu"},_hoisted_4$g={role:"menuitem"};function _sfc_render$K(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$F,[vue.createVNode(c,{variant:"subtle",ref:"dropdown",onShow:n[0]||(n[0]=d=>s.dataLayerSubmit(d))},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),default:vue.withCtx(()=>[vue.createElementVNode("li",_hoisted_2$u,[vue.createVNode(u,{fluid:"lg",class:"px-0 px-lg-075"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"g-0"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",class:"position-relative"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"cta-link"),vue.renderSlot(e.$slots,"dropdown-content"),vue.createVNode(o,{class:"vs-mega-nav-dropdown__close-btn d-none d-lg-block position-absolute",icon:"vs-icon-control-dismiss","icon-only":"",size:"sm",variant:"subtle",onClick:s.closeMenu,onKeydown:vue.withKeys(s.tabFromClose,["tab"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["onClick","onKeydown"])]),_:3})]),_:3})]),_:3})])]),_:3},512),vue.createElementVNode("ul",_hoisted_3$m,[vue.createElementVNode("li",_hoisted_4$g,[vue.createVNode(u,{fluid:"lg",class:"px-0 px-lg-075"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"g-0"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",class:"position-relative"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"cta-link"),vue.renderSlot(e.$slots,"dropdown-content"),vue.createVNode(o,{class:"vs-mega-nav-dropdown__close-btn d-none d-lg-block position-absolute",icon:"vs-icon-control-dismiss","icon-only":"",size:"sm",variant:"subtle",onClick:s.closeMenu},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["onClick"])]),_:3})]),_:3})]),_:3})])])])}const VsMegaNavDropdown=LoadingSpinner._export_sfc(_sfc_main$Z,[["render",_sfc_render$K]]),_sfc_main$Y={name:"VsMegaNavDropdownContainer",status:"prototype",release:"0.1.0",components:{VsMegaNavDropdown,VsLink,LazyHydrationWrapper:LazyHydrationWrapper$1},props:{href:{type:String,default:""},ctaText:{type:String,default:""},align:{type:String,default:"top",validator:e=>e.match(/(left|bottom|top)/)}},computed:{hasFeaturedItem(){return this.$slots["nav-featured-item"]&&this.$slots["nav-featured-item"]()},hasFeaturedItemLeft(){return this.$slots["nav-featured-item-left"]&&this.$slots["nav-featured-item-left"]()},hasFeaturedEvent(){return this.$slots["nav-featured-event"]&&this.$slots["nav-featured-event"]()},alignmentClass(){return this.align==="bottom"?"vs-mega-nav-dropdown-container__featured--bottom":""}}},_hoisted_1$E={class:"vs-mega-nav-dropdown-container","data-test":"vs-mega-nav-dropdown-container",ref:"menuToggle",role:"presentation"},_hoisted_2$t={class:"vs-mega-nav-dropdown-container__columns-wrapper"},_hoisted_3$l={key:2,class:"vs-mega-nav-dropdown-container__featured-event","data-test":"vs-mega-nav-dropdown-container__featured-event"};function _sfc_render$J(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink"),i=vue.resolveComponent("VsMegaNavDropdown"),l=vue.resolveComponent("LazyHydrationWrapper");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$E,[vue.createVNode(l,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createVNode(i,{"menu-toggle-alt-text":"Toggle Menu"},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),"cta-link":vue.withCtx(()=>[t.href&&t.ctaText?(vue.openBlock(),vue.createBlock(o,{key:0,href:t.href,"data-test":"vs-mega-nav-dropdown-container__cta-link",class:"vs-mega-nav-dropdown-container__cta-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-mega-nav-dropdown-container__divider"},null,-1))]),"dropdown-content":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$t,[vue.renderSlot(e.$slots,"dropdown-content"),s.hasFeaturedItemLeft?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-mega-nav-dropdown-container__featured vs-mega-nav-dropdown-container__featured--left",s.alignmentClass]),"data-test":"vs-mega-nav-dropdown-container__featured"},[vue.renderSlot(e.$slots,"nav-featured-item-left")],2)):vue.createCommentVNode("",!0),s.hasFeaturedItem?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(["vs-mega-nav-dropdown-container__featured",s.alignmentClass]),"data-test":"vs-mega-nav-dropdown-container__featured"},[vue.renderSlot(e.$slots,"nav-featured-item")],2)):vue.createCommentVNode("",!0),s.hasFeaturedEvent?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$l,[vue.renderSlot(e.$slots,"nav-featured-event")])):vue.createCommentVNode("",!0)])]),_:3})]),_:3})],512)}const MegaNavDropdownContainer=LoadingSpinner._export_sfc(_sfc_main$Y,[["render",_sfc_render$J]]),_sfc_main$X={name:"VsMegaNavList",status:"prototype",release:"0.1.0",components:{VsList,VsHeading:LoadingSpinner.VsHeading},props:{listHeading:{type:String,default:""}},computed:{listHeadingId(){return this.listHeading?`vsMeganav${this.listHeading.replace(/\W/g,"")}`:""}}},_hoisted_1$D=["aria-label"];function _sfc_render$I(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsList");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-mega-nav-list","data-test":"vs-mega-nav-list","aria-label":s.listHeadingId},[t.listHeading?(vue.openBlock(),vue.createBlock(o,{key:0,class:"vs-mega-nav-list__heading",id:s.listHeadingId,level:"2","heading-style":"heading-xxxs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.listHeading),1)]),_:1},8,["id"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"vs-mega-nav-list__list",role:"menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"nav-heading-cta-link"),vue.renderSlot(e.$slots,"nav-list-items")]),_:3})],8,_hoisted_1$D)}const MegaNavList=LoadingSpinner._export_sfc(_sfc_main$X,[["render",_sfc_render$I]]),_sfc_main$W={name:"VsMegaNavListItem",status:"prototype",release:"0.1.0",components:{VsLink},mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,default:"#"},subheadingLink:{type:Boolean,default:!1}},computed:{navItemClasses(){return{"vs-mega-nav-list-item__heading":this.href==="#","vs-mega-nav-list-item__link":this.href!=="#","vs-mega-nav-list-item__subheading-link":this.subheadingLink}}},methods:{clickHandler(e){e.preventDefault(),this.dataLayerValue&&this.createDataLayerObject(this.dataLayerValue,e,this.href),setTimeout(()=>{this.navigateToUrl()},500)},navigateToUrl(){this.href!=="#"&&this.href!==null&&(window.location.href=this.href)},keyHandler(e){(e.keyCode===13||e.keyCode===32)&&(e.preventDefault(),this.clickHandler(e))}}};function _sfc_render$H(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(["vs-mega-nav-list-item",s.navItemClasses]),"data-test":"vs-mega-nav-list-item",role:"presentation"},[vue.createVNode(o,{href:t.href,role:"menuitem","data-layer-value":"menuNavigationDataEvent"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])],2)}const MegaNavListItem=LoadingSpinner._export_sfc(_sfc_main$W,[["render",_sfc_render$H]]),_sfc_main$V={name:"VsMegaNavAccordionItem",status:"prototype",release:"0.1.0",components:{VsAccordionItem,VsLink},props:{controlId:{type:String,required:!0},title:{type:String,required:!0},level:{type:String,required:!0,validator:e=>e.match(/(1|2)/)},ctaLink:{type:String,default:""},ctaText:{type:String,default:""}},computed:{getUniqueId(){let e=this.title.toLowerCase();return e=e.replace(/\s+/g,"-"),`vs-mega-nav-${e}`},accordionItemClasses(){return[`vs-mega-nav-accordion-item--level-${this.level}`]}}};function _sfc_render$G(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink"),i=vue.resolveComponent("VsAccordionItem");return vue.openBlock(),vue.createBlock(i,{class:vue.normalizeClass(["vs-mega-nav-accordion-item",s.accordionItemClasses]),"data-test":"vs-mega-nav-accordion-item","data-unique-id":s.getUniqueId,"control-id":`vs-mega-nav-accordion-item-${s.getUniqueId}-${t.controlId}`},{title:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),default:vue.withCtx(()=>[t.ctaLink&&t.ctaText?(vue.openBlock(),vue.createBlock(o,{key:0,class:"vs-mega-nav-accordion-item__cta-link","data-test":"vs-mega-nav-accordion-item__cta-link",href:t.ctaLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"default")]),_:3},8,["class","data-unique-id","control-id"])}const MegaNavAccordionItem=LoadingSpinner._export_sfc(_sfc_main$V,[["render",_sfc_render$G]]),_sfc_main$U={name:"VsMegaNavFeaturedItem",status:"prototype",release:"0.1.0",components:{VsStretchedLinkCard},props:{link:{type:String,required:!0},imgUrl:{type:String,required:!0},imgAlt:{type:String,default:""}}};function _sfc_render$F(e,n,t,a,r,s){const o=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createBlock(o,{link:t.link,type:"internal","img-src":t.imgUrl,"img-alt":t.imgAlt,class:"vs-mega-nav-featured-item","data-test":"vs-mega-nav-featured-item","heading-level":"2","heading-style":"heading-xxs"},{"stretched-card-header":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-header")]),"stretched-card-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-content")]),"stretched-card-link":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-link")]),_:3},8,["link","img-src","img-alt"])}const MegaNavFeaturedItem=LoadingSpinner._export_sfc(_sfc_main$U,[["render",_sfc_render$F]]),_sfc_main$T={name:"VsMegaNavFeaturedEvent",status:"prototype",release:"0.1.0",components:{VsStretchedLinkCard},props:{sourceUrl:{type:String,default:""}},data(){return{featuredEvent:null}},mounted(){this.sourceUrl&&this.retrieveFeaturedEvent()},methods:{retrieveFeaturedEvent(){LoadingSpinner.axios.get(this.sourceUrl).then(e=>{e.data.data.products&&e.data.data.products.length&&([this.featuredEvent]=e.data.data.products)}).catch(()=>{this.featuredEvent=null})}}},_hoisted_1$C={key:0,class:"vs-mega-nav-featured-event__date-range"},_hoisted_2$s={class:"vs-mega-nav-featured-event__date-detail"},_hoisted_3$k={class:"vs-mega-nav-featured-event__title"},_hoisted_4$f={key:1,class:"vs-mega-nav-featured-event__location"};function _sfc_render$E(e,n,t,a,r,s){const o=vue.resolveComponent("VsStretchedLinkCard");return r.featuredEvent?(vue.openBlock(),vue.createBlock(o,{key:0,link:r.featuredEvent.productLink.link,type:"internal","img-src":r.featuredEvent.images[0].mediaUrl,"img-alt":r.featuredEvent.name,class:"vs-mega-nav-featured-event","data-test":"vs-mega-nav-featured-event","data-chromatic":"ignore"},{"stretched-card-content":vue.withCtx(()=>[r.featuredEvent&&r.featuredEvent.opening?(vue.openBlock(),vue.createElementBlock("p",_hoisted_1$C,[vue.createTextVNode(vue.toDisplayString(r.featuredEvent.opening.period.label)+" ",1),vue.createElementVNode("span",_hoisted_2$s,vue.toDisplayString(r.featuredEvent.opening.period.startDay),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("p",_hoisted_3$k,vue.toDisplayString(r.featuredEvent.name),1),r.featuredEvent&&r.featuredEvent.address?(vue.openBlock(),vue.createElementBlock("p",_hoisted_4$f,vue.toDisplayString(r.featuredEvent.address.shortAddress),1)):vue.createCommentVNode("",!0)]),"stretched-card-link":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.featuredEvent.productLink.label),1)]),_:1},8,["link","img-src","img-alt"])):vue.createCommentVNode("",!0)}const MegaNavFeaturedEvent=LoadingSpinner._export_sfc(_sfc_main$T,[["render",_sfc_render$E]]),_sfc_main$S={name:"VsMegaNavStaticLink",status:"prototype",release:"0.1.0",components:{VsLink},mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,default:"#"},isFullWidth:{type:Boolean,default:!1}}};function _sfc_render$D(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(["vs-mega-nav-static-link",t.isFullWidth?"vs-mega-nav-static-link--full-width":""]),"data-test":"vs-mega-nav-static-link",role:"presentation"},[vue.createVNode(o,{class:"vs-mega-nav-static-link__inner",href:t.href,role:"menuitem","data-layer-value":"menuNavigationDataEvent"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])],2)}const MegaNavStaticLink=LoadingSpinner._export_sfc(_sfc_main$S,[["render",_sfc_render$D]]),_sfc_main$R={name:"VsMegalinks",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsHeading:LoadingSpinner.VsHeading,VsButton:LoadingSpinner.VsButton,VsBody:LoadingSpinner.VsBody},provide(){return{noJsMessage:this.noJsMessage,noCookiesMessage:this.noCookiesMessage,cookieLinkText:this.cookieLinkText,theme:this.theme}},props:{title:{type:String,required:!1,default:null},sectionId:{type:String,required:!1,default:null},buttonLink:{type:String,required:!1,default:null},variant:{type:String,required:!1,default:null,validator:e=>e.match(/(multi-image|single-image|link-list)/)},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},noJsMessage:{type:String,default:""},noCookiesMessage:{type:String,default:""},cookieLinkText:{type:String,default:""},headingLevel:{type:Number,default:2,validator:e=>LoadingSpinner.lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},headingStyle:{type:String,default:"heading-xl",validator:e=>e.match(/(display-m|display-s|heading-xl|heading-l|heading-m|heading-s|heading-xs|heading-xxs|heading-xxxs)/)}},computed:{megalinksClasses(){return[this.variant?`vs-megalinks--${this.variant}`:"",`vs-megalinks--${this.theme}`]}}},_hoisted_1$B={key:0,class:"vs-megalinks__intro","data-test":"vs-megalinks__intro"},_hoisted_2$r={class:"row vs-megalinks__links-wrapper"},_hoisted_3$j={class:"vs-megalinks__button","data-test":"vs-megalinks__button"};function _sfc_render$C(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsButton"),d=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(["vs-megalinks",s.megalinksClasses]),"data-test":"megalinks"},[vue.createVNode(d,{fluid:"lg"},{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"8","offset-md":"2"},{default:vue.withCtx(()=>[t.title?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$B,[vue.createVNode(o,{level:t.headingLevel,"heading-style":t.headingStyle,class:"vs-megalinks__heading","data-test":"vs-megalinks__heading",id:t.sectionId},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1},8,["level","heading-style","id"]),e.$slots["vs-megalinks-intro"]&&e.$slots["vs-megalinks-intro"]()?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-megalinks__intro-content",variant:"lead","data-test":"vs-megalinks__intro-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-megalinks-intro")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),_:3})]),_:3}),vue.createElementVNode("div",_hoisted_2$r,[vue.renderSlot(e.$slots,"default")]),t.buttonLink&&t.variant!=="single-image"?(vue.openBlock(),vue.createBlock(u,{key:0},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$j,[vue.createVNode(c,{href:t.buttonLink},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-megalinks-button")]),_:3},8,["href"])])]),_:3})]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2)}const Megalinks=LoadingSpinner._export_sfc(_sfc_main$R,[["render",_sfc_render$C]]),_sfc_main$Q={name:"VsMegalinkLinkList",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsBody:LoadingSpinner.VsBody,VsStretchedLinkPanels},props:{imgSrc:{required:!0,type:String},imgAlt:{required:!1,type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},linkUrl:{type:String,required:!0},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},videoId:{type:String,default:""},videoBtnText:{type:String,default:"Play Video"},errorMessage:{type:String,default:""},businessSupport:{type:Boolean,default:!1},isHomePage:{type:Boolean,default:!1}},computed:{megalinkClass(){let e="";return this.theme&&(e+=`vs-megalink-link-list--${this.theme} `),this.isHomePage||(e+="vs-megalink-link-list--internal-page "),this.businessSupport&&(e+="vs-megalink-link-list--business-support "),e}}},_hoisted_1$A={class:"vs-megalink-link-list__title","data-test":"megalink-link-list__title"};function _sfc_render$B(e,n,t,a,r,s){const o=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-megalink-link-list",s.megalinkClass]),"data-test":"vs-megalink-link-list"},[vue.createVNode(l,{link:t.linkUrl,type:t.linkType,class:"vs-megalink-link-list__wrapper","img-src":t.imgSrc,"img-alt":t.imgAlt,theme:t.theme,"video-id":t.videoId,"video-btn-text":t.videoBtnText,"error-message":t.errorMessage,"error-type":"full","business-support":t.businessSupport,"is-home-page":t.isHomePage},vue.createSlots({"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$A,[vue.renderSlot(e.$slots,"vs-link-list-heading")])]),"stretched-card-content":vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.businessSupport?"d-block":"vs-megalink-link-list__content"),"data-test":"megalink-link-list__content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-link-list-content")]),_:3},8,["class"])]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(o,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel,"data-test":"vs-itinerary-panels"},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0,t.businessSupport&&!t.isHomePage?{name:"stretched-card-badges",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-link-list-badges")]),key:"1"}:void 0]),1032,["link","type","img-src","img-alt","theme","video-id","video-btn-text","error-message","business-support","is-home-page"])],2)}const MegalinkLinkList=LoadingSpinner._export_sfc(_sfc_main$Q,[["render",_sfc_render$B]]),_sfc_main$P={name:"VsMegalinkMultiImage",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsBody:LoadingSpinner.VsBody,VsStretchedLinkPanels},props:{featured:{required:!1,type:Boolean,default:!1},lastFeatured:{required:!1,type:Boolean,default:!1},imgSrc:{required:!0,type:String},imgAlt:{required:!1,type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},linkUrl:{type:String,required:!0},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},videoId:{type:String,default:""},videoBtnText:{type:String,default:"Play Video"},errorMessage:{type:String,default:""}},computed:{multiImageClasses(){return[`vs-megalink-multi-image-card--${this.theme}`,{"vs-megalink-multi-image-card--featured":this.featured,"vs-megalink-multi-image-card--featured-last":this.lastFeatured}]}}},_hoisted_1$z={class:"vs-megalink-multi-image"},_hoisted_2$q={class:"vs-megalink-multi-image-card__title","data-test":"megalink-multi-image-card__title"};function _sfc_render$A(e,n,t,a,r,s){const o=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$z,[vue.createVNode(l,{link:t.linkUrl,type:t.linkType,class:vue.normalizeClass(["vs-megalink-multi-image-card p-050",s.multiImageClasses]),"heading-style":t.featured?"heading-s":"heading-xs","img-src":t.imgSrc,"img-alt":t.imgAlt,"data-test":t.featured?"megalink-multi-image-featured":"megalink-multi-image-card",theme:t.theme,"video-id":t.videoId,"video-btn-text":t.videoBtnText,"error-message":t.errorMessage,"warning-size":t.featured?"normal":"small"},vue.createSlots({"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$q,[vue.renderSlot(e.$slots,"vs-multi-image-heading")])]),"stretched-card-content":vue.withCtx(()=>[vue.createVNode(i,{class:"vs-megalink-multi-image-card__content","data-test":"megalink-multi-image-card__content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-multi-image-content")]),_:3})]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(o,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel,"data-test":"vs-itinerary-panels"},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0,e.$slots["vs-multi-image-badges"]&&e.$slots["vs-multi-image-badges"]()?{name:"stretched-card-badges",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-multi-image-badges")]),key:"1"}:void 0]),1032,["link","type","class","heading-style","img-src","img-alt","data-test","theme","video-id","video-btn-text","error-message","warning-size"])])}const MegalinkMultiImage=LoadingSpinner._export_sfc(_sfc_main$P,[["render",_sfc_render$A]]),_sfc_main$O={name:"VsMegalinkSingleImage",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsButton:LoadingSpinner.VsButton,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsLinkList},props:{alternate:{type:Boolean,default:!1},title:{type:String,default:null},buttonLink:{type:String,default:""}},data(){return{negativeMargin:"200px",imageHeight:"400px"}},computed:{singleImageClasses(){return[this.alternate?"vs-megalink-single-image--alternate":""]},cssVars(){return{"--negative-margin":`-${this.negativeMargin}`,"--image-height":`${this.imageHeight}`}}},mounted(){const e=this.$el.querySelector(".vs-image-with-caption");if(e){const n=e.querySelector("img");n.addEventListener("load",()=>{const t=n.clientHeight/2.5/n.clientWidth;this.negativeMargin=`${t*100}%`,this.imageHeight=`${n.clientHeight}px`})}}},_hoisted_1$y={class:"vs-megalink-single-image__image-container"},_hoisted_2$p={class:"vs-megalink-single-image__content","data-test":"megalink-single-image__content"},_hoisted_3$i={class:"vs-megalink-single-image__button"};function _sfc_render$z(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsLinkList"),u=vue.resolveComponent("VsButton"),c=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-megalink-single-image",s.singleImageClasses]),"data-test":"megalink-single-image",style:vue.normalizeStyle(s.cssVars)},[vue.createElementVNode("div",_hoisted_1$y,[vue.renderSlot(e.$slots,"vs-single-image")]),vue.createVNode(d,{class:"vs-megalink-single-image__text-container"},{default:vue.withCtx(()=>[vue.createVNode(c,{cols:"12",sm:"10",lg:"6",class:vue.normalizeClass(["offset-sm-1",t.alternate?"offset-lg-6":"offset-lg-0"])},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$p,[t.title?(vue.openBlock(),vue.createBlock(o,{key:0,level:"3","heading-style":"heading-m",class:"vs-megalink-single-image__title","data-test":"megalink-single-image__title"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,{variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-content")]),_:3}),vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-links")]),_:3}),vue.createElementVNode("div",_hoisted_3$i,[t.buttonLink?(vue.openBlock(),vue.createBlock(u,{key:0,href:t.buttonLink,variant:"secondary"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-button-text")]),_:3},8,["href"])):vue.createCommentVNode("",!0)])])]),_:3},8,["class"])]),_:3})],6)}const MegalinkSingleImage=LoadingSpinner._export_sfc(_sfc_main$O,[["render",_sfc_render$z]]),_sfc_main$N={name:"VsBackdrop",props:{show:{type:Boolean,required:!0},zIndex:{type:[String,Number],default:1040},clickable:{type:Boolean,default:!0}},emits:["click","update:show"],computed:{backdropStyle(){return{zIndex:this.zIndex}}},unmounted(){this.show&&this.unlockScroll()},methods:{onClick(){this.clickable&&(this.$emit("click"),this.$emit("update:show",!1))},lockScroll(){document.body.style.overflow="hidden"},unlockScroll(){document.body.style.overflow=""}}};function _sfc_render$y(e,n,t,a,r,s){return vue.openBlock(),vue.createBlock(vue.Transition,{name:"vs-backdrop-fade",onEnter:s.lockScroll,onAfterLeave:s.unlockScroll},{default:vue.withCtx(()=>[t.show?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"vs-backdrop",style:vue.normalizeStyle(s.backdropStyle),role:"presentation",onClick:n[0]||(n[0]=(...o)=>s.onClick&&s.onClick(...o))},null,4)):vue.createCommentVNode("",!0)]),_:1},8,["onEnter","onAfterLeave"])}const VsBackdrop=LoadingSpinner._export_sfc(_sfc_main$N,[["render",_sfc_render$y]]),_sfc_main$M={name:"VsModal",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsButton:LoadingSpinner.VsButton,BModal:LoadingSpinner._a,VsBackdrop},props:{modalId:{type:String,required:!0},closeBtnText:{type:String,required:!0},isVideoModal:{type:Boolean,default:!1},autoMount:{type:Boolean,default:!1}},data(){return{show:!1,mounted:this.autoMount}},mounted(){this.mounted=!0,this.emitter&&(this.emitter.on("showModal",e=>this.showModal(e)),this.emitter.on("hideModal",()=>this.hideModal()),this.isVideoModal&&this.emitter.on("showModal",e=>{this.emitter.emit("video-controls",{action:"modal-opened",id:e})}))},methods:{hideModal(){this.emitter&&this.emitter.emit("video-controls",{action:"modal-closed",id:this.modalId}),this.show=!1},showModal(e){e===this.modalId&&(this.show=!0)}}};function _sfc_render$x(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsBackdrop"),d=vue.resolveComponent("BModal");return r.mounted?(vue.openBlock(),vue.createBlock(d,{key:0,"modal-class":"vs-modal","data-test":"vs-modal",ref:`modal-${t.modalId}`,id:t.modalId,size:"xl","hide-footer":"","hide-header":"",static:t.isVideoModal,modelValue:r.show,"onUpdate:modelValue":n[1]||(n[1]=v=>r.show=v),onHidden:s.hideModal},{backdrop:vue.withCtx(()=>[vue.createVNode(c,{show:r.show,onClick:n[0]||(n[0]=v=>s.hideModal())},null,8,["show"])]),default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",lg:"1",class:"d-flex justify-content-end align-items-start order-lg-1"},{default:vue.withCtx(()=>[vue.createVNode(o,{class:"vs-modal__close-btn mb-125 mb-lg-0","data-test":"vs-modal__close-btn",variant:"subtle","icon-only":"",icon:"vs-icon-control-dismiss",onClick:s.hideModal},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeBtnText),1)]),_:1},8,["onClick"])]),_:1}),vue.createVNode(i,{cols:"12",lg:"11"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["id","static","modelValue","onHidden"])):vue.createCommentVNode("",!0)}const Modal=LoadingSpinner._export_sfc(_sfc_main$M,[["render",_sfc_render$x]]),_sfc_main$L={name:"VsNavigationBarSidebarButton",status:"prototype",release:"0.1.0",components:{VsButton:LoadingSpinner.VsButton,VsTooltip},props:{sidebarOpenLabel:{type:String,required:!0},expanded:{type:Boolean,default:!1},controlsId:{type:String,required:!0}},emits:["sidebar-open"],methods:{sidebarOpen(){this.$emit("sidebar-open",!0)}}};function _sfc_render$w(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsTooltip");return vue.openBlock(),vue.createBlock(i,{title:t.sidebarOpenLabel,subtle:"",position:"bottom","use-legacy":!1},{default:vue.withCtx(()=>[vue.createVNode(o,{"icon-only":"",icon:"vs-icon-control-menu",size:"sm",variant:"subtle",class:"d-block vs-navigation-bar-sidebar-button","data-test":"vs-navigation-bar-sidebar-button",onClick:n[0]||(n[0]=l=>s.sidebarOpen()),"aria-haspopup":"dialog","aria-controls":t.controlsId,"aria-expanded":String(t.expanded)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarOpenLabel),1)]),_:1},8,["aria-controls","aria-expanded"])]),_:1},8,["title"])}const VsNavigationBarSidebarButton=LoadingSpinner._export_sfc(_sfc_main$L,[["render",_sfc_render$w]]),_sfc_main$K={name:"VsNavigationBarSidebar",status:"prototype",release:"0.1.0",components:{BOffcanvas:LoadingSpinner.Md,VsButton:LoadingSpinner.VsButton,VsBackdrop},props:{show:{type:Boolean,default:!1},sidebarTitle:{type:String,required:!0},sidebarCloseLabel:{type:String,required:!0}},emits:["update:show"],methods:{sidebarClose(){this.$emit("update:show",!1)}}},_hoisted_1$x={id:"navigation-sidebar-title",class:"visually-hidden"};function _sfc_render$v(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsBackdrop"),l=vue.resolveComponent("BOffcanvas");return vue.openBlock(),vue.createBlock(l,{class:"vs-navigation-bar-sidebar border-0","model-value":t.show,"aria-labelledby":"navigation-sidebar-title","onUpdate:modelValue":n[1]||(n[1]=u=>e.$emit("update:show",u)),id:"navigation-sidebar",placement:"end","no-backdrop":!0,lazy:""},{header:vue.withCtx(()=>[vue.createElementVNode("h2",_hoisted_1$x,vue.toDisplayString(t.sidebarTitle),1),vue.createVNode(o,{"icon-only":"",icon:"vs-icon-control-dismiss",variant:"subtle",size:"sm",onClick:s.sidebarClose},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarCloseLabel),1)]),_:1},8,["onClick"])]),footer:vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-footer")]),backdrop:vue.withCtx(()=>[vue.createVNode(i,{show:t.show,onClick:n[0]||(n[0]=u=>s.sidebarClose())},null,8,["show"])]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["model-value"])}const VsNavigationSidebar=LoadingSpinner._export_sfc(_sfc_main$K,[["render",_sfc_render$v]]),_sfc_main$J={name:"VsNavigationBar",status:"prototype",release:"0.1.0",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsNavigationBarSidebarButton,VsNavigationSidebar},props:{sidebarBreakpoint:{type:String,default:"md",validator:e=>/^(xs|sm|md|lg|xl)$/.test(e)},sidebarCloseLabel:{type:String,required:!0},sidebarOpenLabel:{type:String,required:!0},sidebarTitle:{type:String,required:!0}},data(){return{sidebarOpen:!1}},computed:{breakpointMap(){return{xs:"sm",sm:"md",md:"lg",lg:"xl",xl:"xxl"}},menuBreakpoint(){return this.breakpointMap[this.sidebarBreakpoint]||"lg"},menuClasses(){return`d-none d-${this.menuBreakpoint}-block flex-grow-1`},sidebarButtonClasses(){return`d-${this.menuBreakpoint}-none`},utilityClasses(){return`d-flex justify-content-end align-items-center col col-${this.menuBreakpoint}-auto`}},methods:{onSidebarOpen(){this.sidebarOpen=!0}}},_hoisted_1$w={class:"vs-navigation-bar","data-test":"vs-navigation-bar"};function _sfc_render$u(e,n,t,a,r,s){const o=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsNavigationBarSidebarButton"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsNavigationSidebar");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("header",_hoisted_1$w,[vue.createVNode(u,{fluid:"lg",class:"h-100"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"align-items-center h-100"},{default:vue.withCtx(()=>[vue.createVNode(o,{class:"col-auto"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"logo-link")]),_:3}),vue.createVNode(o,{class:vue.normalizeClass(s.menuClasses),"data-test":"vs-navigation-bar__menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"navigation-bar-menu")]),_:3},8,["class"]),vue.createVNode(o,{class:vue.normalizeClass(s.utilityClasses),"data-test":"vs-navigation-bar__utilities"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"navigation-bar-utilities"),vue.createVNode(i,{class:vue.normalizeClass(s.sidebarButtonClasses),"data-test":"vs-navigation-bar__sidebar-button",onSidebarOpen:s.onSidebarOpen,"sidebar-open-label":t.sidebarOpenLabel,expanded:r.sidebarOpen,"controls-id":"navigation-sidebar"},null,8,["class","onSidebarOpen","sidebar-open-label","expanded"])]),_:3},8,["class"])]),_:3})]),_:3})]),vue.createVNode(c,{show:r.sidebarOpen,"onUpdate:show":n[0]||(n[0]=d=>r.sidebarOpen=d),"sidebar-close-label":t.sidebarCloseLabel,"sidebar-title":t.sidebarTitle},{"sidebar-footer":vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-footer")]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-body")]),_:3},8,["show","sidebar-close-label","sidebar-title"])],64)}const NavigationBar=LoadingSpinner._export_sfc(_sfc_main$J,[["render",_sfc_render$u]]),_sfc_main$I={name:"VsNavigationBarMenu",status:"prototype",release:"0.1.0",props:{menuAriaLabel:{type:String,required:!0}}},_hoisted_1$v=["aria-label"];function _sfc_render$t(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-navigation-bar-menu","data-test":"vs-navigation-bar-menu","aria-label":t.menuAriaLabel},[vue.createElementVNode("ul",null,[vue.renderSlot(e.$slots,"default")])],8,_hoisted_1$v)}const NavigationBarMenu=LoadingSpinner._export_sfc(_sfc_main$I,[["render",_sfc_render$t]]),_sfc_main$H={name:"VsNavigationBarMenuDropdown",status:"prototype",release:"0.1.0",components:{BDropdown:LoadingSpinner.un},mixins:[LoadingSpinner.dataLayerMixin],props:{subtle:{type:Boolean,default:!1}},computed:{menuDropdownClasses(){return[this.subtle?"vs-navigation-bar-menu-dropdown--subtle":"","vs-navigation-bar-menu-dropdown"]}},methods:{dataLayerSubmit(){var n,t,a,r;const e=((r=(a=(t=(n=this.$refs.dropdown)==null?void 0:n.$el)==null?void 0:t.querySelector(".dropdown-toggle"))==null?void 0:a.innerText)==null?void 0:r.trim())||"";e&&this.createDataLayerObject("menuNavigationDataEvent",{target:{text:e,innerText:e,closest:()=>null}},null)}}};function _sfc_render$s(e,n,t,a,r,s){const o=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createBlock(o,{class:vue.normalizeClass(s.menuDropdownClasses),"data-test":"vs-navigation-bar-menu-dropdown",variant:"subtle",ref:"dropdown",role:"presentation",onShow:s.dataLayerSubmit},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["class","onShow"])}const NavigationBarMenuDropdown=LoadingSpinner._export_sfc(_sfc_main$H,[["render",_sfc_render$s]]),_sfc_main$G={name:"VsNavigationBarMenuItem",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,required:!0},variant:{type:String,default:"secondary-menu-item",validator:e=>e.match(/(primary-menu-item|primary-sidebar-item|secondary-menu-item)/)}},computed:{menuItemLinkClasses(){return[`vs-navigation-bar-menu-item__link--${this.variant}`,"vs-navigation-bar-menu-item__link"]}},methods:{clickHandler(e){e.preventDefault(),this.dataLayerValue&&this.createDataLayerObject(this.dataLayerValue,e,this.href),setTimeout(()=>{this.navigateToUrl()},500)},navigateToUrl(){this.href!=="#"&&this.href!==null&&(window.location.href=this.href)},keyHandler(e){(e.keyCode===13||e.keyCode===32)&&(e.preventDefault(),this.clickHandler(e))}}},_hoisted_1$u={class:"vs-navigation-bar-menu-item","data-test":"vs-navigation-bar-menu-item"},_hoisted_2$o=["href"];function _sfc_render$r(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$u,[vue.createElementVNode("a",{class:vue.normalizeClass(s.menuItemLinkClasses),href:t.href,"data-layer-value":"menuNavigationDataEvent",onClick:n[0]||(n[0]=o=>s.clickHandler(o)),onKeydown:n[1]||(n[1]=o=>s.keyHandler(o))},[vue.renderSlot(e.$slots,"default")],42,_hoisted_2$o)])}const NavigationBarMenuItem=LoadingSpinner._export_sfc(_sfc_main$G,[["render",_sfc_render$r]]),_sfc_main$F={name:"VsNavigationBarSearch",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsSiteSearchForm},props:{buttonText:{type:String,default:"Search"},labelText:{type:String,default:"Search"},submitButtonText:{type:String,default:"Submit"},closeButtonText:{type:String,default:"Close"},showLabelBreakpoint:{type:String,default:"md",validator:e=>/^(xs|sm|md|lg|xl|xxl)$/.test(e)}},data(){return{showSearch:!1}}};function _sfc_render$q(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsSiteSearchForm");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(o,{"data-test":"vs-navigation-bar-search",id:"site-search-btn",variant:"secondary",size:"sm",icon:"vs-icon-control-search",active:r.showSearch,"show-label-breakpoint":t.showLabelBreakpoint,onClick:n[0]||(n[0]=l=>r.showSearch=!r.showSearch)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.buttonText),1)]),_:1},8,["active","show-label-breakpoint"]),(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[vue.withDirectives(vue.createVNode(i,{onToggleAction:n[1]||(n[1]=l=>r.showSearch=!1),"is-showing":r.showSearch,"label-text":t.labelText,"submit-button-text":t.submitButtonText,"close-button-text":t.closeButtonText},null,8,["is-showing","label-text","submit-button-text","close-button-text"]),[[vue.vShow,r.showSearch]])]))],64)}const NavigationBarSearch=LoadingSpinner._export_sfc(_sfc_main$F,[["render",_sfc_render$q]]),_sfc_main$E={name:"VsPageIntro",status:"deprecated",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol},props:{background:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},heroIntro:{type:Boolean,default:!1},isItinerary:{type:Boolean,default:!1},fullscreenMobile:{type:Boolean,default:!1},hasToc:{type:Boolean,default:!1}},computed:{introClasses(){return[`vs-page-intro--${this.background}`,this.heroIntro?"vs-page-intro--hero":"",this.fullscreenMobile?"vs-page-intro__fullscreen-mobile-header":""]},contentColProps(){const e={};return this.isItinerary?(e.md="6",e.lg="5",e.xl="6",e["offset-lg"]="1"):this.heroIntro?(e.md="12",e.lg="7",e.xl="8",e["offset-lg"]="1"):this.hasToc?e.md="7":e.md="8",e}}},_hoisted_1$t={key:0,class:"vs-page-intro__fs-mobile-heading-wrapper","data-test":"vs-page-intro__mobile-breadcrumb"},_hoisted_2$n={class:"vs-page-intro__wrapper"},_hoisted_3$h={class:"vs-page-intro__share"},_hoisted_4$e={key:0,class:"list-inline"},_hoisted_5$d={key:0,class:"vs-page-intro__lower py-300","data-test":"vs-page-intro__lower"};function _sfc_render$p(e,n,t,a,r,s){const o=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer"),u=vue.resolveComponent("VsHeading"),c=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-page-intro",s.introClasses]),"data-test":"vs-page-intro"},[t.fullscreenMobile?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$t,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.fullscreenMobile?"d-none-md":"")},{default:vue.withCtx(()=>[vue.createVNode(o,{cols:"9",lg:t.heroIntro?"8":"","offset-lg":t.heroIntro?"1":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-page-intro__breadcrumb",t.heroIntro?"mt-lg-100":"mt-lg-200"])},[vue.renderSlot(e.$slots,"vs-intro-breadcrumb")],2)]),_:3},8,["lg","offset-lg"])]),_:3},8,["class"])]),_:3})])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"vs-intro-hero"),vue.createElementVNode("div",_hoisted_2$n,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.fullscreenMobile?"d-none d-lg-flex":"")},{default:vue.withCtx(()=>[vue.createVNode(o,{cols:"9",lg:t.heroIntro?"8":"","offset-lg":t.heroIntro?"1":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-page-intro__breadcrumb",t.heroIntro?"mt-lg-100":"mt-lg-200"])},[vue.renderSlot(e.$slots,"vs-intro-breadcrumb")],2)]),_:3},8,["lg","offset-lg"])]),_:3},8,["class"]),vue.createElementVNode("div",_hoisted_3$h,[vue.renderSlot(e.$slots,"vs-share-button")]),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(o,{cols:"11",md:t.heroIntro?"11":"10",lg:t.heroIntro?"7":"10",xl:t.heroIntro?"8":"10","offset-lg":t.heroIntro?"1":"0",class:"mt-050"},{default:vue.withCtx(()=>[vue.createVNode(u,{level:"1","heading-style":"display-s",id:"main-heading"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-heading")]),_:3}),vue.renderSlot(e.$slots,"vs-article-data")]),_:3},8,["md","lg","xl","offset-lg"])]),_:3}),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(o,vue.mergeProps({"data-test":"vs-page-intro__content",cols:"12"},s.contentColProps),{default:vue.withCtx(()=>[vue.createVNode(c,{variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-content")]),_:3}),e.$slots["vs-intro-start-finish"]&&e.$slots["vs-intro-start-finish"]()?(vue.openBlock(),vue.createElementBlock("dl",_hoisted_4$e,[vue.renderSlot(e.$slots,"vs-intro-start-finish")])):vue.createCommentVNode("",!0)]),_:3},16),e.$slots["vs-intro-table-of-contents"]&&e.$slots["vs-intro-table-of-contents"]()?(vue.openBlock(),vue.createBlock(o,{key:0,cols:"12",md:"5"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-table-of-contents")]),_:3})):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"vs-intro-summary-box")]),_:3})]),_:3}),e.$slots["vs-intro-lower"]&&e.$slots["vs-intro-lower"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$d,[vue.renderSlot(e.$slots,"vs-intro-lower")])):vue.createCommentVNode("",!0)])],2)}const PageIntro=LoadingSpinner._export_sfc(_sfc_main$E,[["render",_sfc_render$p]]),_hoisted_1$s={"aria-label":"Pagination",class:"vs-pagination","data-test":"vs-pagination"},_hoisted_2$m={"aria-live":"polite",class:"vs-pagination__count"},_hoisted_3$g={class:"vs-pagination__controls"},_hoisted_4$d={class:"vs-pagination__prev"},_hoisted_5$c={class:"vs-pagination__list"},_hoisted_6$c={key:0},_hoisted_7$a={class:"vs-pagination__next"},limit=7,_sfc_main$D={__name:"VsPagination",props:vue.mergeModels({nextButtonLabel:{type:String,required:!0},numberOfPages:{type:Number,required:!0},pageLabel:{type:String,required:!0},ofLabel:{type:String,required:!0},previousButtonLabel:{type:String,required:!0}},{modelValue:{type:Number,default:1},modelModifiers:{}}),emits:vue.mergeModels(["page-click"],["update:modelValue"]),setup(e,{emit:n}){const t=e,a=n,r=vue.useModel(e,"modelValue"),s=vue.computed(()=>`${t.pageLabel} ${r.value} ${t.ofLabel} ${t.numberOfPages}`),o=u=>({"vs-pagination__item":!0,"vs-pagination__item--active":r.value===u,"vs-pagination__item--ellipses":u==="ellipses"}),i=vue.computed(()=>{if(t.numberOfPages<=limit)return Array.from({length:t.numberOfPages},(d,v)=>v+1);let u=[];const c=Math.floor(limit/2);if(r.value<=c){for(let d=1;d<limit-1;d++)u=[...u,d];u=[...u,"ellipses",t.numberOfPages]}else if(r.value>t.numberOfPages-c){u=[1,"ellipses"];const d=t.numberOfPages-limit+2;for(let v=1;v<limit-1;v++)u=[...u,d+v]}else{const d=r.value-c+1;u=[1,"ellipses"];for(let v=1;v<limit-3;v++)u=[...u,d+v];u=[...u,"ellipses",t.numberOfPages]}return u}),l=(u,c)=>{r.value!==c&&(a("page-click",c),r.value=c)};return vue.watch(()=>t.numberOfPages,()=>{r.value=1}),(u,c)=>(vue.openBlock(),vue.createElementBlock("nav",_hoisted_1$s,[vue.createElementVNode("div",_hoisted_2$m,[vue.createElementVNode("p",null,vue.toDisplayString(s.value),1)]),vue.createElementVNode("div",_hoisted_3$g,[vue.createElementVNode("div",_hoisted_4$d,[vue.createVNode(LoadingSpinner.VsButton,{disabled:r.value===1,icon:"fa-regular fa-arrow-left",size:"sm",variant:"subtle",onClick:c[0]||(c[0]=d=>l(d,r.value-1))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.previousButtonLabel),1)]),_:1},8,["disabled"])]),vue.createElementVNode("ul",_hoisted_5$c,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(i.value,(d,v)=>(vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(o(d)),key:v},[d==="ellipses"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$c,"⋯")):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:1,"aria-current":r.value===d?"page":null,"aria-label":`Page ${d}`,size:"sm",onClick:f=>l(f,d)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(d),1)]),_:2},1032,["aria-current","aria-label","onClick"]))],2))),128))]),vue.createElementVNode("div",_hoisted_7$a,[vue.createVNode(LoadingSpinner.VsButton,{disabled:r.value===t.numberOfPages,icon:"fa-regular fa-arrow-right","icon-position":"right",size:"sm",variant:"subtle",onClick:c[1]||(c[1]=d=>l(d,r.value+1))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.nextButtonLabel),1)]),_:1},8,["disabled"])])])]))}},_sfc_main$C={name:"VsPanel",status:"prototype",release:"0.0.1",props:{variant:{type:String,default:"secondary",validator:e=>e.match(/(secondary|information)/)}},computed:{panelClasses(){return`vs-panel--${this.variant}`}}};function _sfc_render$o(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-panel",s.panelClasses]),"data-test":"vs-panel"},[vue.renderSlot(e.$slots,"vs-panel-title"),vue.renderSlot(e.$slots,"default")],2)}const Panel=LoadingSpinner._export_sfc(_sfc_main$C,[["render",_sfc_render$o]]);let VS$1;function setWindowObj(){typeof window<"u"?VS$1=typeof window.VS=="object"?window.VS:{}:VS$1={}}function getLabelText(e,n,t){setWindowObj();let a="";return Object.keys(VS$1).length>0&&(typeof t<"u"?a=VS$1.search_config.basic_config.search_module[t][e]:a=VS$1.search_config.basic_config.search_module[e]),a||n}function getProductName(e,n){setWindowObj();const t={};return Object.keys(VS$1).length>0&&Object.keys(VS$1.search_config.basic_config.productTypes).forEach(a=>{const r=VS$1.search_config.basic_config.productTypes[a];t[r.value]=r.text}),t[e]?t[e]:n}function getLocale(){let e=document.documentElement.lang.toLocaleLowerCase().slice(0,2)||"";return e==="en"&&(e=""),e}let VS;typeof window<"u"?VS=typeof window.VS=="object"?window.VS:{}:VS={};function getProductTypes(){if(Object.keys(VS).length<=0)return LoadingSpinner.products;const e=VS.search_config.basic_config.productTypes,n=[];return Object.keys(e).forEach(a=>{n.push({key:e[a].value,text:e[a].text,value:e[a].value})}),n}async function getData(e){try{const{data:n}=await LoadingSpinner.axios.get(e);return n}catch(n){console.error(`Axios error: ${n}`)}}var define_process_env_default$1={},controls={arrowUpKey:38,arrowDownKey:40,escKey:27,enterKey:13};function isFn(e){return typeof e=="function"}function isControlledProp(e,n){return e[n]!==void 0}function hasKeyCode(e,n){return e===n.keyCode}function getItemIndex(e,n,t){return e!==void 0?e:t.length?t.indexOf(n):-1}function hasOwnProperty(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function requiredProp(e,n){console.error('The property "'+n+'" is required in "'+e+'"')}function getNextNonDisabledIndex(e,n,t,a,r){var s=a(n);if(!s||!s.hasAttribute("disabled"))return n;if(e>0)for(var o=n+1;o<t;o+=1){var i=a(o),l=i.hasAttribute("disabled");if(!l)return o}else for(var u=n-1;u>=0;u-=1)if(!a(u).hasAttribute("disabled"))return u;return r?e>0?getNextNonDisabledIndex(1,0,t,a,!1):getNextNonDisabledIndex(-1,t-1,t,a,!1):-1}function scrollToElement(e,n,t){var a=n.clientHeight,r=n.scrollTop,s=e.offsetHeight,o=e.offsetTop;if(o<r)t===0?n.scrollTop=0:n.scrollTop=o;else{var i=o+s,l=r+a;i>l&&(n.scrollTop=i-a)}}function getProps(e){return Object.assign({},e?{modelValue:{default:null}}:{value:{default:null}},{items:{type:Array,required:!0},itemToString:{type:Function,default:function(n){return n?String(n):""}},stateReducer:{type:Function,default:function(n,t){return t.changes}},getItemId:{type:Function,default:function(t){return"v-"+this.idCounter+"-vue-combo-blocks-item-"+t}},menuId:{type:String,default:""},inputId:{type:String,default:""},labelId:{type:String,default:""},scrollIntoView:{type:Boolean,default:!0},circular:{type:Boolean,default:!0}})}function getInitialData(e,n){return{hovered:null,isOpen:!1,hoveredIndex:-1,selectedItem:e,inputValue:n(e)}}var computed={menuElement:function e(){return document.querySelector("#"+this.computedMenuId)},computedMenuId:function e(){return this.menuId||"v-"+this.idCounter+"-vue-combo-blocks-menu"},computedInputId:function e(){return this.inputId||"v-"+this.idCounter+"-vue-combo-blocks-input"},computedLabelId:function e(){return this.labelId||"v-"+this.idCounter+"-vue-combo-blocks-label"},selectedIndex:function e(){return this.items.indexOf(this.selectedItem)}},InputKeyDownArrowDown="InputKeyDownArrowDown",InputKeyDownArrowUp="InputKeyDownArrowUp",InputKeyDownTab="InputKeyDownTab",InputKeyUpEscape="InputKeyUpEscape",InputKeyUpEnter="InputKeyUpEnter",InputChange="InputChange",InputBlur="InputBlur",MenuMouseLeave="MenuMouseLeave",ItemMouseMove="ItemMouseMove",ItemClick="ItemClick",FunctionOpenMenu="FunctionOpenMenu",FunctionCloseMenu="FunctionCloseMenu",FunctionSelectItem="FunctionSelectItem",FunctionSetInputValue="FunctionSetInputValue",FunctionReset="FunctionReset",ControlledPropUpdatedSelectedItem="ControlledPropUpdatedSelectedItem",sct=Object.freeze({__proto__:null,ControlledPropUpdatedSelectedItem,FunctionCloseMenu,FunctionOpenMenu,FunctionReset,FunctionSelectItem,FunctionSetInputValue,InputBlur,InputChange,InputKeyDownArrowDown,InputKeyDownArrowUp,InputKeyDownTab,InputKeyUpEnter,InputKeyUpEscape,ItemClick,ItemMouseMove,MenuMouseLeave}),inputPropsAndListeners={getInputProps:function e(){return{value:this.inputValue||"","aria-activedescendant":this.hovered?this.getItemId(this.hoveredIndex):"","aria-autocomplete":"list","aria-controls":this.computedMenuId,"aria-labelledby":this.computedLabelId,id:this.computedInputId,autocomplete:"off"}},getInputEventListeners:function e(n){n===void 0&&(n={});var t=n.blur,a=n.input,r=n.keydown,s=n.keyup;return{blur:isFn(t)?t:this.onInputBlur,input:isFn(a)?a:this.onInput,keydown:isFn(r)?r:this.onInputKeyDown,keyup:isFn(s)?s:this.onInputKeyUp}},onInputKeyDown:function e(n){n.key==="Enter"&&this.isOpen?n.preventDefault():hasKeyCode(controls.arrowDownKey,n)&&!this.isOpen?(this.setState({isOpen:!0},InputKeyDownArrowDown),this.moveSelection(n)):this.moveSelection(n)},onInputKeyUp:function e(n){var t=controls.enterKey,a=controls.escKey;if(this.isOpen)if(hasKeyCode(t,n)){if(this.hoveredIndex>=0){n.preventDefault();var r=this.getItemNodeFromIndex(this.hoveredIndex);if(r&&r.hasAttribute("disabled"))return;this.setState({inputValue:this.itemToString(this.hovered),selectedItem:this.hovered,hoveredIndex:-1,hovered:null,isOpen:!1},InputKeyUpEnter)}}else hasKeyCode(a,n)&&this.setState({hoveredIndex:-1,hovered:null,isOpen:!1},InputKeyUpEscape)},onInputBlur:function e(){this.setState({isOpen:!1,inputValue:this.itemToString(this.selectedItem),hovered:null,hoveredIndex:-1},InputBlur)},onInput:function e(n){var t=n.target?n.target.value:n;this.setState({inputValue:t,hovered:null,isOpen:!0},InputChange)}},itemPropsAndListeners={getItemEventListeners:function e(n){var t=this;n===void 0&&(n={});var a=n.index,r=n.disabled,s=n.item;s===void 0&&(s=define_process_env_default$1.NODE_ENV==="production"?void 0:requiredProp("getItemEventListeners","item"));var o=n.mousemove,i=n.mousedown,l=n.click;return r?{}:{mousemove:isFn(o)?o:function(){return t.onItemMouseMove(a,s)},mousedown:isFn(i)?i:this.onItemMouseDown,click:isFn(l)?l:function(){return t.onItemClick(s)}}},onItemMouseMove:function e(n,t){var a=getItemIndex(n,t,this.items);this.hoveredIndex!==a&&this.setState({hoveredIndex:a,hovered:t},ItemMouseMove)},onItemMouseDown:function e(n){n.preventDefault()},onItemClick:function e(n){this.setState({inputValue:this.itemToString(n),selectedItem:n,isOpen:!1,hoveredIndex:-1,hovered:null},ItemClick)},getItemProps:function e(n){n===void 0&&(n={});var t=n.index,a=n.disabled,r=n.item;r===void 0&&(r=define_process_env_default$1.NODE_ENV==="production"?void 0:requiredProp("getItemProps","item"));var s=getItemIndex(t,r,this.items),o=this.getItemId(s);return{id:o,disabled:a?!0:void 0,role:"option","aria-selected":this.hoveredIndex===s||this.selectedItem===r?"true":"false"}}},menuPropsAndListeners={getMenuProps:function e(){return{id:this.computedMenuId,role:"listbox","aria-labelledby":this.computedLabelId}},getMenuEventListeners:function e(n){n===void 0&&(n={});var t=n.mouseleave,a=n.mousedown;return{mouseleave:isFn(t)?t:this.onMenuMouseLeave,mousedown:isFn(a)?a:this.onMenuMouseDown}},onMenuMouseLeave:function e(){this.setState({hoveredIndex:-1,hovered:null},MenuMouseLeave)},onMenuMouseDown:function e(n){n.preventDefault()}},methods=Object.assign({},inputPropsAndListeners,itemPropsAndListeners,menuPropsAndListeners,{getComboboxProps:function e(){return{role:"combobox","aria-haspopup":"listbox","aria-owns":this.computedMenuId,"aria-expanded":this.isOpen?"true":"false"}},getLabelProps:function e(){return{id:this.computedLabelId,for:this.computedInputId}},autocompleteText:function e(n){this.setInputValue(this.itemToString(n))},reset:function e(){this.setState({selectedItem:null,inputValue:""},FunctionReset)},select:function e(n){this.setState({inputValue:this.itemToString(n),selectedItem:n,isOpen:!1,hoveredIndex:-1,hovered:null},FunctionSelectItem)},setHoveredItem:function e(n,t,a){n&&n!==this.hovered&&this.$emit("hover",n,a),this.hovered=n,this.hoveredIndex=typeof t=="number"?t:-1},closeMenu:function e(){this.setState({isOpen:!1,hoveredIndex:-1,hovered:null},FunctionCloseMenu)},openMenu:function e(){this.setState({isOpen:!0},FunctionOpenMenu)},getItemNodeFromIndex:function e(n){return this.menuElement.querySelector("#"+this.getItemId(n))},scrollItemIntoView:function e(n){var t=this.getItemNodeFromIndex(n);scrollToElement(t,this.menuElement,n)},moveSelection:function e(n){var t=this,a=this.items.length;if(!(!this.isOpen||!a)){var r=hasKeyCode(controls.arrowDownKey,n),s=hasKeyCode(controls.arrowUpKey,n);if(r||s){n.preventDefault();var o=r*2-1,i=r?0:a-1,l=r?this.hoveredIndex<a-1:this.hoveredIndex>0,u=l?this.hoveredIndex+o:i,c=getNextNonDisabledIndex(o,u,a,this.getItemNodeFromIndex,this.circular);if(!this.circular&&(s&&c>this.hoveredIndex||r&&c<this.hoveredIndex))return;var d=this.items[c];this.scrollIntoView&&this.$nextTick(function(){t.scrollItemIntoView(u)}),this.setState({hoveredIndex:c,hovered:d},r?InputKeyDownArrowDown:InputKeyDownArrowUp)}}},setInputValue:function e(n){this.inputValue!==n&&this.setState({inputValue:n},FunctionSetInputValue)}});function slot(e){return{getInputProps:e.getInputProps,getItemProps:e.getItemProps,getMenuProps:e.getMenuProps,getComboboxProps:e.getComboboxProps,getLabelProps:e.getLabelProps,getInputEventListeners:e.getInputEventListeners,getMenuEventListeners:e.getMenuEventListeners,getItemEventListeners:e.getItemEventListeners,isOpen:e.isOpen,selectedItem:e.selectedItem,hoveredIndex:e.hoveredIndex,inputValue:e.inputValue,reset:e.reset,select:e.select,setInputValue:e.setInputValue,openMenu:e.openMenu,closeMenu:e.closeMenu}}var idCounter=0;function beforeCreate(){this.idCounter=idCounter.toString(),idCounter+=1}var isVue3=!!vue.defineComponent;!isVue3&&define_process_env_default$1.NODE_ENV!=="production"&&console.error(`Looks like your Vue version is 2.x, but you are using VueComboBlocks for Vue 3.
|
|
154
|
-
Install the correct version for Vue 2.x: "npm i vue-combo-blocks@vue2"`);var VueComboBlocks=vue.defineComponent({name:"vue-combo-blocks",emits:{select:null,"update:modelValue":null,"input-value-change":null,"is-open-change":null,"hovered-index-change":null,"state-change":null,change:null,"show-list":null,focus:null,hover:null},props:getProps(isVue3),watch:{modelValue:function e(n){isControlledProp(this.$props,"modelValue")&&(this.inputValue=this.itemToString(n),this.selectedItem=n)}},beforeCreate,data:function e(){return getInitialData(this.modelValue,this.itemToString)},computed:Object.assign({},computed),methods:Object.assign({},{setState:function e(n,t){var a=this.$data,r=this.stateReducer(a,{changes:n,type:t}),s=hasOwnProperty(r,"selectedItem"),o=r.selectedItem!==a.selectedItem;s&&(this.$emit("select",r.selectedItem,t),o&&this.$emit("update:modelValue",r.selectedItem,t));var i={};for(var l in r)hasOwnProperty(r,l)&&a[l]!==r[l]&&(i[l]=r[l],this[l]=i[l],l==="inputValue"?this.$emit("input-value-change",r[l],t):l==="isOpen"?this.$emit("is-open-change",r[l],t):l==="hoveredIndex"&&this.$emit("hovered-index-change",r[l],t));this.$emit("state-change",i,t)}},methods),render:function e(){return this.$slots.default(slot(this))}});VueComboBlocks.stateChangeTypes=sct;const _hoisted_1$r={"data-test":"vs-autocomplete",class:"vs-autocomplete mb-100"},_hoisted_2$l=["for"],_hoisted_3$f=["placeholder","onClick"],_hoisted_4$c=["name"],_sfc_main$B=vue.defineComponent({__name:"Autocomplete",props:{id:{},label:{},mode:{},multiselectLabel:{},name:{},options:{},placeholder:{},trackBy:{},isTourLocation:{type:Boolean},defaultVal:{}},emits:["changeValue"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref([]),s=vue.ref(t.options),o=v=>v?v[u.value]:"",i=v=>{s.value=t.options.filter(f=>f[u.value].toLowerCase().includes(v.toLowerCase()))},l=v=>{typeof t.trackBy<"u"?a("changeValue",v[t.trackBy]):a("changeValue",v.label)},u=vue.computed(()=>typeof t.multiselectLabel<"u"?t.multiselectLabel:"name"),c=vue.computed(()=>{if(typeof r.value=="string"){if(t.isTourLocation){const v=t.options.find(f=>f.name===r.value);if(typeof v<"u")return v.slug.trim()}return r.value.trim()}else if(typeof r.value=="object"&&Object.keys(r.value).length>0)return o(r.value).trim()}),d=vue.computed(()=>!!(c.value&&c.value.length>0));return vue.watch(()=>r.value,()=>{r.value===null&&(r.value=[])}),vue.onMounted(()=>{typeof t.defaultVal<"u"&&(r.value=t.defaultVal)}),(v,f)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[vue.createElementVNode("label",{for:e.id},vue.toDisplayString(e.label),9,_hoisted_2$l),vue.createVNode(vue.unref(VueComboBlocks),{"input-id":e.id,modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=p=>r.value=p),itemToString:o,items:s.value,onInputValueChange:i,onSelect:l},{default:vue.withCtx(({getInputProps:p,getInputEventListeners:m,hoveredIndex:g,isOpen:b,getMenuProps:h,getMenuEventListeners:_,getItemProps:V,getItemEventListeners:k,getComboboxProps:N,openMenu:L})=>[vue.createElementVNode("div",vue.mergeProps(N(),{class:"vs-autocomplete__list-wrapper"}),[vue.createElementVNode("input",vue.mergeProps({class:"vs-input form-control"},p(),vue.toHandlers(m(),!0),{placeholder:e.placeholder,onClick:S=>L()}),null,16,_hoisted_3$f),vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-expand",variant:"cta",size:"sm"}),vue.withDirectives(vue.createElementVNode("ul",vue.mergeProps(h(),vue.toHandlers(_(),!0),{class:"vs-autocomplete__list"}),[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.value,(S,R)=>(vue.openBlock(),vue.createElementBlock("li",vue.mergeProps({key:S.id},{ref_for:!0},V({item:S,index:R}),vue.toHandlers(k({item:S,index:R}),!0),{class:["vs-autocomplete__list-item",{"vs-autocomplete__list-item--hover":g===R}]}),vue.toDisplayString(S[u.value]),17))),128))],16),[[vue.vShow,b]])],16)]),_:1},8,["input-id","modelValue","items"]),d.value?vue.withDirectives((vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:e.name,"onUpdate:modelValue":f[1]||(f[1]=p=>c.value=p)},null,8,_hoisted_4$c)),[[vue.vModelText,c.value]]):vue.createCommentVNode("",!0)]))}}),_hoisted_1$q={class:"vs-date-input","data-test":"vs-date-input"},_hoisted_2$k=["for"],_hoisted_3$e=["min","name","id"],_sfc_main$A=vue.defineComponent({__name:"DateInput",props:{label:{},id:{},name:{},value:{},minDate:{}},emits:["changeDate"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.value),s=vue.computed(()=>new Date().toISOString().split("T")[0]);return vue.watch(()=>t.value,o=>{r.value=o,a("changeDate",r.value)}),(o,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createElementVNode("label",{for:e.id},vue.toDisplayString(e.label),9,_hoisted_2$k),vue.withDirectives(vue.createElementVNode("input",{type:"date",min:typeof e.minDate<"u"&&e.minDate.length>0?e.minDate:s.value,name:e.name,id:e.id,"onUpdate:modelValue":i[0]||(i[0]=l=>r.value=l),onChange:i[1]||(i[1]=l=>o.$emit("changeDate",r.value)),class:"form-control vs-input"},null,40,_hoisted_3$e),[[vue.vModelText,r.value]])]))}}),_hoisted_1$p={class:"vs-date-range","data-test":"vs-date-range"},_hoisted_2$j={class:"row align-items-center"},_hoisted_3$d={class:"col-12 col-sm-5 order-1"},_hoisted_4$b={class:"col-12 col-sm-5 order-2"},_hoisted_5$b={class:"col-12 col-sm-2 order-first order-sm-3 text-sm-right"},_hoisted_6$b={key:1,type:"hidden",name:"refine-date",value:"on"},_hoisted_7$9=["value"],_sfc_main$z=vue.defineComponent({__name:"DateRange",props:{startLabel:{type:String,required:!1,default:"Start Date"},endLabel:{type:String,required:!1,default:"End Date"},defaultDates:{type:Boolean,default:!1},selectedProd:{type:String,required:!0}},emits:["dateUpdated"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(""),s=vue.ref(""),o=vue.computed(()=>!!r.value||!!s.value),i=vue.computed(()=>{const h=new Date(s.value),_=new Date(r.value),V=h.getTime()-_.getTime();return isNaN(V)?1:V/(1e3*3600*24)});function l(){r.value="",s.value=""}const u=h=>{const _=h.toLocaleString("default",{year:"numeric"}),V=h.toLocaleString("default",{month:"2-digit"}),k=h.toLocaleString("default",{day:"2-digit"});return`${_}-${V}-${k}`},c=vue.computed(()=>r.value===""?u(new Date):""),d=vue.computed(()=>{let h;if(r.value!==""){const _=new Date(r.value);_.setDate(_.getDate()+1),h=u(_)}else if(t.defaultDates){const _=new Date,V=new Date(_);V.setDate(V.getDate()+1),h=u(V)}return h}),v=vue.computed(()=>{let h;if(r.value===""){const _=new Date,V=new Date(_);V.setDate(V.getDate()+1),h=u(V)}else{const _=new Date,V=new Date(r.value);_.setDate(V.getDate()+1),h=u(_)}return h});function f(){const h=new Date(r.value);new Date(s.value)<=h&&(s.value="")}function p(){const h=!(!r.value&&!s.value);a("dateUpdated",h)}function m(){p(),f()}const g=vue.computed(()=>t.selectedProd==="acco"?"stay":"isostartdate"),b=vue.computed(()=>t.selectedProd==="acco"?"endDate":"isoenddate");return(h,_)=>(vue.openBlock(),vue.createElementBlock("fieldset",_hoisted_1$p,[vue.createElementVNode("div",_hoisted_2$j,[vue.createElementVNode("div",_hoisted_3$d,[vue.createVNode(_sfc_main$A,{label:e.startLabel,value:e.defaultDates&&r.value===""&&s.value?c.value:r.value,name:g.value,id:"startDate",onChangeDate:_[0]||(_[0]=V=>{r.value=V,m()}),class:"mb-100"},null,8,["label","value","name"])]),vue.createElementVNode("div",_hoisted_4$b,[vue.createVNode(_sfc_main$A,{label:e.endLabel,value:e.defaultDates&&s.value===""&&r.value?d.value:s.value,"min-date":v.value,name:b.value,id:"endDate",onChangeDate:_[1]||(_[1]=V=>{s.value=V,m()}),class:"mb-100"},null,8,["label","value","min-date","name"])]),vue.createElementVNode("div",_hoisted_5$b,[o.value?(vue.openBlock(),vue.createElementBlock("button",{key:0,id:"clearDateRange",type:"button",onClick:l,class:"vs-date-range__clear"},vue.toDisplayString(vue.unref(getLabelText)("reset","Clear")),1)):vue.createCommentVNode("",!0),e.selectedProd!=="acco"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_6$b)):vue.createCommentVNode("",!0),vue.createElementVNode("input",{type:"hidden",name:"nights",value:i.value},null,8,_hoisted_7$9)])])]))}}),_hoisted_1$o={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},_hoisted_2$i={key:0,class:"container"},_hoisted_3$c={class:"row"},_hoisted_4$a={class:"col-12"},_hoisted_5$a=["action"],_hoisted_6$a={class:"form-group product-search__type mb-100"},_hoisted_7$8={for:"prodtypes"},_hoisted_8$6={class:"product-search__in d-none d-md-block mt-100"},_hoisted_9$5={"aria-live":"polite"},_hoisted_10$5=["disabled","value"],_hoisted_11$4=["disabled","value"],_hoisted_12$2=["value"],_hoisted_13$2={key:4,type:"hidden",name:"areaproxdist",value:"10"},_hoisted_14$1={key:5},_hoisted_15$1={key:0,class:"form-group"},_hoisted_16$1={for:"search-keyword"},_hoisted_17$1={key:6},_hoisted_18={key:0},_hoisted_19=["value"],__default__=vue.defineComponent({mixins:[LoadingSpinner.dataLayerMixin],methods:{trackSubmit(e,n){this.createDataLayerObject("productSearchDataEvent",{searchType:e,searchLocation:n.name},this.href)}}}),_sfc_main$y=vue.defineComponent({...__default__,__name:"ProductSearchEmbed",props:{defaultProd:{type:String,default:"acti,attr,reta",validator(e){return["acco","cate","even","tour","acti,attr,reta"].includes(e)}},defaultLocale:{type:String,default:"",validator(e){return["en","fr","de","es","it","nl",""].includes(e)}},defaultLocation:{type:String,default:""}},setup(e){const n=e,t=vue.ref(!1),a=vue.ref(),r=vue.ref([]);vue.ref(null);let s=vue.ref();s.value={id:"",key:"",name:"",type:""};const o=vue.ref("off"),i=vue.ref(!1),l=vue.computed(()=>{const $=typeof a.value>"u"?"see-do":a.value;return`/info/${LoadingSpinner.paths[$]}`});let u=vue.ref(!1);const c={en:{localeUrl:""},fr:{localeUrl:"fr-fr"},de:{localeUrl:"de-de"},es:{localeUrl:"es-es"},it:{localeUrl:"it-it"},nl:{localeUrl:"nl-nl"}},d=vue.computed(()=>{let $=n.defaultLocale.length>0?n.defaultLocale:getLocale();return $==="en"&&($=""),$}),v=vue.computed(()=>{if(typeof window<"u"){let $=window.location.origin;return $.includes("localhost")?"https://www.visitscotland.com":$}return"https://www.visitscotland.com"}),f=vue.computed(()=>`${v.value}${d.value?"/"+d.value:""}${l.value}/search-results`),m="https://www.visitscotland.com/data/locations"+`?locale=${d.value}`,g=vue.ref([]),b="https://www.visitscotland.com/tms-api/v1/attractions",h=vue.ref([]),_="https://www.visitscotland.com/tms-api/v1/origins?active=1",V=vue.ref([]),k=vue.ref([]),N=()=>{const $=getProductTypes(),I=[];$.forEach(P=>{I.push(P)}),k.value=I},L=vue.computed(()=>t.value?[]:k.value.map(I=>({...I,text:getProductName(I.value,I.text)}))),S=async()=>{const $=await getData(m);$&&(g.value=$.data)},R=async()=>{const $=await getData(_);$&&(V.value=$.data)},M=async()=>{const $=await getData(b);$&&(h.value=$.data)},C=($,I)=>{I==="key"?s.value=g.value.find(P=>P.key===$):I==="id"?s.value=g.value.find(P=>P.id===$):s.value=g.value.find(P=>P.name===$.trim())},D=$=>{const I=$.value;a.value=I,I==="tour"&&(R(),M())},B=()=>c[n.defaultLocale]||"",E=()=>{t.value=!0,vue.nextTick(()=>{t.value=!1,n.defaultLocation!==""&&u&&C(n.defaultLocation,"id")})},w=vue.computed(()=>a.value!=="cate"&&a.value!=="acti,attr,reta"?"d-lg-flex":"");vue.onBeforeMount(async()=>{window.VS={};const $=document.createElement("script");$.async=!1,$.onload=E,$.setAttribute("src",`https://www.visitscotland.com/${B().localeUrl}/data/template/search.js`),document.head.appendChild($)}),vue.onMounted(async()=>{S(),u.value=!0,a.value=n.defaultProd,a.value==="tour"&&(R(),M()),N()});const T=$=>{o.value=$?"on":"off"},A=$=>{i.value=!0;const I=$.currentTarget;setTimeout(function(){I.submit()},500)};return($,I)=>{var P,H,j,J,ee,G;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$o,[t.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$i,[vue.createElementVNode("div",_hoisted_3$c,[vue.createElementVNode("div",_hoisted_4$a,[vue.unref(u)?(vue.openBlock(),vue.createElementBlock("form",{key:0,action:f.value,onSubmit:vue.withModifiers(A,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[vue.createElementVNode("div",_hoisted_6$a,[vue.createElementVNode("label",_hoisted_7$8,vue.toDisplayString(vue.unref(getLabelText)("search_for","I'm looking for")),1),vue.createElementVNode("div",{class:vue.normalizeClass(w.value)},[vue.createVNode(VsSelect,{options:L.value,value:e.defaultProd,onUpdated:I[0]||(I[0]=X=>D(X)),"field-name":"prodtypes"},null,8,["options","value"]),vue.createElementVNode("div",_hoisted_8$6,vue.toDisplayString(vue.unref(getLabelText)("in","in")),1)],2)]),vue.createElementVNode("div",_hoisted_9$5,[a.value!="tour"&&vue.unref(u)?(vue.openBlock(),vue.createBlock(_sfc_main$B,{key:0,id:"search-location",label:vue.unref(getLabelText)("location","Location"),"multiselect-label":"name",name:"loc",options:g.value,placeholder:vue.unref(getLabelText)("location_placeholder","Enter a location"),"track-by":"name",onChangeValue:I[1]||(I[1]=X=>C(X)),"default-val":vue.unref(s),"data-chromatic":"ignore"},null,8,["label","options","placeholder","default-val"])):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"locplace",disabled:((P=vue.unref(s))==null?void 0:P.type)==="POLYGON",value:((H=vue.unref(s))==null?void 0:H.key)||""},null,8,_hoisted_10$5)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:2,type:"hidden",name:"locpoly",disabled:((j=vue.unref(s))==null?void 0:j.type)!=="POLYGON",value:((J=vue.unref(s))==null?void 0:J.key)||""},null,8,_hoisted_11$4)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:3,type:"hidden",name:"locprox",value:((ee=vue.unref(s))==null?void 0:ee.type)==="DISTRICT"?1:0},null,8,_hoisted_12$2)):vue.createCommentVNode("",!0),a.value!=="tour"&&((G=vue.unref(s))==null?void 0:G.type)==="DISTRICT"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_13$2)):vue.createCommentVNode("",!0),a.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[vue.createVNode(_sfc_main$z,{"start-label":vue.unref(getLabelText)("startdate","Start Date","dates"),"end-label":vue.unref(getLabelText)("enddate","End Date","dates"),onDateUpdated:I[2]||(I[2]=X=>T(X)),"default-dates":i.value,"selected-prod":a.value},null,8,["start-label","end-label","default-dates","selected-prod"]),a.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15$1,[vue.createElementVNode("label",_hoisted_16$1,vue.toDisplayString(vue.unref(getLabelText)("keywords","Keywords")),1),vue.createVNode(VsInput,{"field-name":"search-keyword",placeholder:vue.unref(getLabelText)("events_keywords_placeholder","Highland games, music festivals etc"),name:"name"},null,8,["placeholder"])])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$1,[...I[4]||(I[4]=[vue.createElementVNode("input",{hidden:"true",name:"avail",value:"off"},null,-1)])])):vue.createCommentVNode("",!0)]),a.value==="tour"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_18,[vue.createVNode(_sfc_main$B,{id:"tour-origin",label:vue.unref(getLabelText)("tour_origin","Starting point"),"multiselect-label":"name",name:"origins[]",options:V.value,placeholder:vue.unref(getLabelText)("tour_origin_placeholder","Location"),"track-by":"name","is-tour-location":!0},null,8,["label","options","placeholder"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.value,X=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",name:"attractions[]",value:X},null,8,_hoisted_19))),256)),vue.createVNode(_sfc_main$B,{id:"tour-month",label:vue.unref(getLabelText)("tour_month","I'm traveling in"),"multiselect-label":"label",name:"when",options:vue.unref(getLabelText)("months",vue.unref(LoadingSpinner.monthsEnglish)),placeholder:vue.unref(getLabelText)("tour_month_placeholder","Select month"),"track-by":"value"},null,8,["label","options","placeholder"])])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"mt-150","data-test":"psw-submit",type:"submit",onClick:I[3]||(I[3]=X=>$.trackSubmit(a.value,typeof vue.unref(s)>"u"?"":vue.unref(s)))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("search","Search")),1)]),_:1})],40,_hoisted_5$a)):vue.createCommentVNode("",!0),vue.unref(u)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsLoading,{key:1,variant:"dark"}))])])]))])}}}),_sfc_main$x={name:"VsProductSearch",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsProductSearchEmbed:_sfc_main$y,VsHeading:LoadingSpinner.VsHeading,VsWarning:LoadingSpinner.VsWarning},props:{noJsMessage:{type:String,required:!0},defaultLocation:{type:String,default:""},defaultProd:{type:String,default:"acti,attr,reta"},defaultLocale:{type:String,default:"en"}}},_hoisted_1$n={class:"vs-product-search","data-test":"vs-product-search"},_hoisted_2$h={class:"vs-product-search__intro"};function _sfc_render$n(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsProductSearchEmbed"),u=vue.resolveComponent("VsWarning"),c=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-product-search__col vs-product-search__col--left",xl:"7"},{default:vue.withCtx(()=>[vue.createVNode(o,{level:"2",headingStyle:"heading-l",class:"vs-product-search__heading mt-0"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-module-heading")]),_:3}),vue.createElementVNode("div",_hoisted_2$h,[vue.renderSlot(e.$slots,"vs-module-intro")])]),_:3}),vue.createVNode(i,{class:"vs-product-search__col vs-product-search__col--right",xl:"5"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-product-search__widget","default-location":t.defaultLocation,"default-locale":t.defaultLocale,"default-prod":t.defaultProd},null,8,["default-location","default-locale","default-prod"]),vue.createVNode(u,{class:"vs-product-search__no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})]),_:1})]),_:3})]),_:3})])}const ProductSearch=LoadingSpinner._export_sfc(_sfc_main$x,[["render",_sfc_render$n]]),_sfc_main$w={name:"VsQuote",status:"prototype",release:"0.0.1",components:{VsDetail,VsBody:LoadingSpinner.VsBody},props:{quoteText:{type:String,default:""},quoteName:{type:String,default:""},useLegacy:{type:Boolean,default:!0},variant:{type:String,default:"narrow",validator:e=>e.match(/(narrow|wide)/)},withBorder:{type:Boolean,default:!1}},computed:{hasAuthorName(){return!!this.$slots["quote-author-name"]},hasAuthorTitle(){return!!this.$slots["quote-author-title"]},hasAuthorImage(){return!!this.$slots["quote-image"]},variantClass(){return[{"vs-quote--narrow":this.variant==="narrow","vs-quote--wide":this.variant==="wide","vs-quote--with-border":this.withBorder}]}}},_hoisted_1$m={key:0,class:"vs-quote-new vs-quote-new--blockquote","data-test":"vs-quote-new"},_hoisted_2$g={class:"vs-quote-new__wrapper"},_hoisted_3$b={class:"vs-quote__text"},_hoisted_4$9={key:0,class:"vs-quote__name"},_hoisted_5$9={key:0},_hoisted_6$9={key:0,class:"vs-quote__speech-container"},_hoisted_7$7={key:1,class:"vs-quote__author-container"},_hoisted_8$5={class:"vs-quote__content-container"},_hoisted_9$4={class:"vs-quote__content"},_hoisted_10$4={key:0,class:"vs-quote__author-name"},_hoisted_11$3={key:2,class:"vs-quote__quote-link"};function _sfc_render$m(e,n,t,a,r,s){const o=vue.resolveComponent("VsBody"),i=vue.resolveComponent("VsDetail");return t.useLegacy?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(["vs-quote",s.variantClass]),"data-test":"vs-quote"},[t.withBorder?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$9,[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-quote__speech-mark"},"“",-1)])])),s.hasAuthorImage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$7,[vue.renderSlot(e.$slots,"quote-image")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_8$5,[vue.createElementVNode("div",_hoisted_9$4,[vue.renderSlot(e.$slots,"quote-content")]),s.hasAuthorName?(vue.openBlock(),vue.createElementBlock("p",_hoisted_10$4,[vue.renderSlot(e.$slots,"quote-author-name")])):vue.createCommentVNode("",!0),s.hasAuthorTitle?(vue.openBlock(),vue.createElementBlock("p",{key:1,class:vue.normalizeClass(["vs-quote__author-title",t.variant==="narrow"?"vs-quote__author-title--narrow-margin":null])},[vue.renderSlot(e.$slots,"quote-author-title")],2)):vue.createCommentVNode("",!0),e.$slots["quote-link"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11$3,[vue.renderSlot(e.$slots,"quote-link",{if:"$slots['quote-link']"})])):vue.createCommentVNode("",!0)])],2)):(vue.openBlock(),vue.createElementBlock("blockquote",_hoisted_1$m,[vue.createElementVNode("div",_hoisted_2$g,[vue.createVNode(o,null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_3$b,vue.toDisplayString(t.quoteText),1)]),_:1}),t.quoteName||e.$slots["quote-details"]?(vue.openBlock(),vue.createBlock(i,{key:0,color:"secondary",size:"small"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,[t.quoteName?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$9,[vue.createTextVNode(vue.toDisplayString(t.quoteName),1),e.$slots["quote-details"]?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$9,", ")):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"quote-details")])]),_:3})):vue.createCommentVNode("",!0)])]))}const Quote=LoadingSpinner._export_sfc(_sfc_main$w,[["render",_sfc_render$m]]),_sfc_main$v={name:"VsSectionHeader",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol},props:{anchorId:{type:String,default:null},heading:{type:String,required:!0}}},_hoisted_1$l={class:"vs-section-header","data-test":"vs-section-header"},_hoisted_2$f={key:1,class:"mt-175","data-test":"vs-section-header__actions"};function _sfc_render$l(e,n,t,a,r,s){const o=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsHeading"),u=vue.resolveComponent("VsBody"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(o,null,{default:vue.withCtx(()=>[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-section-header__divider"},null,-1)])]),_:1})]),_:1}),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(o,{cols:"12",sm:"7",md:"6",lg:"4"},{default:vue.withCtx(()=>[vue.createVNode(l,{level:"2","heading-style":"heading-l","no-margins":"",class:"mb-175 mb-lg-0",id:t.anchorId},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.heading),1)]),_:1},8,["id"])]),_:1}),vue.createVNode(o,{cols:"12",sm:"10",md:"9",lg:"8"},{default:vue.withCtx(()=>[e.$slots["section-header-lede"]?(vue.openBlock(),vue.createBlock(u,{key:0,variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"section-header-lede")]),_:3})):vue.createCommentVNode("",!0),e.$slots["section-header-actions"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$f,[vue.renderSlot(e.$slots,"section-header-actions")])):vue.createCommentVNode("",!0)]),_:3})]),_:3})]),_:3})])}const SectionHeader=LoadingSpinner._export_sfc(_sfc_main$v,[["render",_sfc_render$l]]),_sfc_main$u={name:"VsTable",status:"prototype",release:"0.0.1",components:{BTableSimple:LoadingSpinner.ol},props:{tableCaption:{type:String,required:!0},tableType:{type:String,default:"responsive",validator:e=>e.match(/(responsive|stacked)/)}},computed:{responsive(){return this.tableType==="responsive"},stacked(){return this.tableType==="stacked"}}},_hoisted_1$k={class:"visually-hidden","data-test":"vs-table__caption"};function _sfc_render$k(e,n,t,a,r,s){const o=vue.resolveComponent("BTableSimple");return vue.openBlock(),vue.createBlock(o,{class:"vs-table","data-test":"vs-table",small:"","caption-top":"",responsive:s.responsive,stacked:s.stacked},{default:vue.withCtx(()=>[vue.createElementVNode("caption",_hoisted_1$k,vue.toDisplayString(t.tableCaption),1),vue.renderSlot(e.$slots,"default")]),_:3},8,["responsive","stacked"])}const VsTable=LoadingSpinner._export_sfc(_sfc_main$u,[["render",_sfc_render$k]]),_sfc_main$t={name:"VsTableHead",status:"prototype",release:"0.0.1",components:{BThead:LoadingSpinner.wn}};function _sfc_render$j(e,n,t,a,r,s){const o=vue.resolveComponent("BThead");return vue.openBlock(),vue.createBlock(o,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableHead=LoadingSpinner._export_sfc(_sfc_main$t,[["render",_sfc_render$j]]),_sfc_main$s={name:"VsTableHeaderCell",status:"prototype",release:"0.0.1",components:{BTh:LoadingSpinner.Ea},props:{stackedHeading:{type:String,default:void 0}}};function _sfc_render$i(e,n,t,a,r,s){const o=vue.resolveComponent("BTh");return vue.openBlock(),vue.createBlock(o,vue.mergeProps({"data-test":"vs-table-header-cell","stacked-heading":t.stackedHeading},e.$attrs),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableHeaderCell=LoadingSpinner._export_sfc(_sfc_main$s,[["render",_sfc_render$i]]),_sfc_main$r={name:"VsTableBody",status:"prototype",release:"0.0.1",components:{BTbody:LoadingSpinner.Bn}};function _sfc_render$h(e,n,t,a,r,s){const o=vue.resolveComponent("BTbody");return vue.openBlock(),vue.createBlock(o,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableBody=LoadingSpinner._export_sfc(_sfc_main$r,[["render",_sfc_render$h]]),_sfc_main$q={name:"VsTableRow",status:"prototype",release:"0.0.1",components:{BTr:LoadingSpinner.Je}};function _sfc_render$g(e,n,t,a,r,s){const o=vue.resolveComponent("BTr");return vue.openBlock(),vue.createBlock(o,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableRow=LoadingSpinner._export_sfc(_sfc_main$q,[["render",_sfc_render$g]]),_sfc_main$p={name:"VsTableDataCell",status:"prototype",release:"0.0.1",components:{BTd:LoadingSpinner.St},props:{stackedHeading:{type:String,default:null}}};function _sfc_render$f(e,n,t,a,r,s){const o=vue.resolveComponent("BTd");return vue.openBlock(),vue.createBlock(o,vue.mergeProps({"data-test":"vs-table-data-cell","stacked-heading":t.stackedHeading},e.$attrs,{scope:null}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableDataCell=LoadingSpinner._export_sfc(_sfc_main$p,[["render",_sfc_render$f]]),_sfc_main$o={name:"VsTableFooter",status:"prototype",release:"0.0.1",components:{BTfoot:LoadingSpinner.Pa}};function _sfc_render$e(e,n,t,a,r,s){const o=vue.resolveComponent("BTfoot");return vue.openBlock(),vue.createBlock(o,vue.mergeProps(e.$attrs,{role:"rowgroup"}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableFooter=LoadingSpinner._export_sfc(_sfc_main$o,[["render",_sfc_render$e]]),_sfc_main$n={name:"VsSkiScotlandCard",status:"prototype",release:"0.0.1",components:{VsImg:LoadingSpinner.VsImg,VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,VsWarning:LoadingSpinner.VsWarning,VsLoadingSpinner:LoadingSpinner.VsLoading,VsButton:LoadingSpinner.VsButton,VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter},props:{centreInfoUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},lastUpdatedLabel:{type:String,default:"Last Updated"},liftsLabel:{type:String,default:"Lifts"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},imgSrc:{required:!0,type:String},imgAlt:{type:String,default:""},pisteMapLabel:{type:String,default:"View Piste Map"},moreDetailsLabel:{type:String,default:"More Details"},pisteMapLink:{type:String,default:""},moreDetailsLink:{type:String,required:!0,default:"#"}},data(){return{statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},runs:[],lifts:[],lastUpdate:"",jsDisabled:!0,isLoading:!0,displayError:!1}},mounted(){this.centreInfoUrl&&this.retrieveCentreInfo(),this.jsDisabled=!1},methods:{retrieveCentreInfo(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.centreInfoUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,s)=>r===s.findIndex(o=>o.name===a.name));n.runs=t}return n},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1;break}this.runs=e}}},_hoisted_1$j={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},_hoisted_2$e={class:"vs-ski-scotland-card__img-container"},_hoisted_3$a={class:"card-body"},_hoisted_4$8={key:0,class:"text-center pb-200 position-relative"},_hoisted_5$8={"data-test":"vs-ski__status-label"},_hoisted_6$8={"data-test":"vs-ski__runs-label"},_hoisted_7$6={"data-test":"vs-ski__lifts-label"},_hoisted_8$4={"data-test":"vs-ski__open-label"},_hoisted_9$3={"data-test":"vs-ski__limited-patrol-label"},_hoisted_10$3={"data-test":"vs-ski__opening-label"},_hoisted_11$2={"data-test":"vs-ski__closed-label"},_hoisted_12$1={"data-test":"vs-ski__on-hold-label"},_hoisted_13$1={"data-test":"vs-ski__last-updated-label"};function _sfc_render$d(e,n,t,a,r,s){const o=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsLoadingSpinner"),u=vue.resolveComponent("VsWarning"),c=vue.resolveComponent("VsTableHeaderCell"),d=vue.resolveComponent("VsTableHead"),v=vue.resolveComponent("VsIcon"),f=vue.resolveComponent("VsTableDataCell"),p=vue.resolveComponent("VsTableRow"),m=vue.resolveComponent("VsTableBody"),g=vue.resolveComponent("VsTableFooter"),b=vue.resolveComponent("VsTable"),h=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createElementVNode("div",_hoisted_2$e,[t.imgSrc?(vue.openBlock(),vue.createBlock(o,{key:0,src:t.imgSrc,alt:t.imgAlt,class:"vs-ski-scotland-card__img","data-test":"vs-ski-scotland-card__img"},null,8,["src","alt"])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_3$a,[vue.createVNode(i,{level:"3","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-name")]),_:3}),r.jsDisabled||r.isLoading||r.displayError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$8,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(l,{class:"mb-100 d-block"}),vue.renderSlot(e.$slots,"data-loading")],64)):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(u,{key:1,size:"small","data-test":"vs-ski-scotland-card__error"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})):vue.createCommentVNode("",!0),r.jsDisabled?(vue.openBlock(),vue.createBlock(u,{key:2,size:"small","data-test":"vs-ski-scotland-card__js-disabled"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(b,{key:1,"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$8,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(c,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_6$8,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_7$6,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-check",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_8$4,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_9$3,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-timer",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_10$3,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-ban",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_11$2,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(p,{key:1},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_12$1,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_13$1,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])):vue.createCommentVNode("",!0),vue.createVNode(h,{variant:"secondary",href:t.pisteMapLink,class:"mb-050",disabled:!t.pisteMapLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.pisteMapLabel),1)]),_:1},8,["href","disabled"]),vue.createVNode(h,{href:t.moreDetailsLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.moreDetailsLabel),1)]),_:1},8,["href"])])])}const SkiScotlandCard=LoadingSpinner._export_sfc(_sfc_main$n,[["render",_sfc_render$d]]),_sfc_main$m={name:"VsSkiScotlandStatus",status:"prototype",release:"0.0.1",components:{VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsAccordion,VsAccordionItem,VsIcon:LoadingSpinner.VsIcon,VsLink,VsHeading:LoadingSpinner.VsHeading,VsLoadingSpinner:LoadingSpinner.VsLoading,VsWarning:LoadingSpinner.VsWarning},props:{skiStatusUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},currentWeatherLabel:{type:String,default:"Current Weather"},detailedStatusLabel:{type:String,default:"Detailed Status"},difficultLabel:{type:String,default:"Difficult"},easyLabel:{type:String,default:"Easy"},intermediateLabel:{type:String,default:"Intermediate"},itinerariesLabel:{type:String,default:"Itineraries"},lastUpdatedLabel:{type:String,default:"Last Updated"},liftLabel:{type:String,default:"Lift"},liftsLabel:{type:String,default:"Lifts"},liftStatusLabel:{type:String,default:"Lift Status"},newsLabel:{type:String,default:"News From The Slopes"},otherLabel:{type:String,default:"Other"},roadsLabel:{type:String,default:"Road Status"},runLabel:{type:String,default:"Run"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},runStatusLabel:{type:String,default:"Run Status"},snowConditionsLabel:{type:String,default:"Snow Conditions Full Report"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},statusClosedLabel:{type:String,default:"Closed"},statusOpenLabel:{type:String,default:"Open"},statusOpeningLabel:{type:String,default:"Opening"},statusLimitedPatrolLabel:{type:String,default:"Limited Patrol"},statusOnHoldLabel:{type:String,default:"On Hold"},veryDifficultLabel:{type:String,default:"Very Difficult"},weatherForecastLabel:{type:String,default:"Weather Forecast"},greenLabel:{type:String,default:"Green"},blueLabel:{type:String,default:"Blue"},redLabel:{type:String,default:"Red"},blackLabel:{type:String,default:"Black"},orangeLabel:{type:String,default:"Orange"},greyLabel:{type:String,default:"Grey"}},data(){return{tokens:LoadingSpinner.designTokens,componentId:0,statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},lifts:[],runs:[],lastUpdate:"",report:"",currentWeather:"",weatherForecast:"",roadStatus:"",news:"",runLevels:[{colour:"green",colourToken:"",id:"easy",name:this.easyLabel,runs:[]},{colour:"blue",colourToken:"",id:"intermediate",name:this.intermediateLabel,runs:[]},{colour:"red",colourToken:"",id:"difficult",name:this.difficultLabel,runs:[]},{colour:"black",colourToken:"",id:"very-difficult",name:this.veryDifficultLabel,runs:[]},{colour:"orange",colourToken:"",id:"itineraries",name:this.itinerariesLabel,runs:[]},{colour:"grey",colourToken:"",id:"other",name:this.otherLabel,runs:[]}],jsDisabled:!0,isLoading:!0,displayError:!1,isCairngorms:!1}},computed:{filteredRunLevels(){return this.setColourToken().filter(n=>n.runs.length>0)}},mounted(){this.skiStatusUrl&&this.retrieveSkiStatus(),this.id=this._uid,this.jsDisabled=!1},methods:{retrieveSkiStatus(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.skiStatusUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.processFullReport(t.report),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,s)=>r===s.findIndex(o=>o.name===a.name));n.runs=t}if(n.runs)for(let t=0;t<n.runs.length;t++)n.runs[t].difficulty===null&&(n.runs[t].difficulty="orange");return n},processFullReport(e){this.report=e.runs,this.currentWeather=e.current_weather_conditions,this.weatherForecast=e.weather_forecast,this.roadStatus=e.access_roads,this.news=e.news_from_the_slopes},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++){switch(e[n].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1;break}for(let t=0;t<this.runLevels.length;t++)this.runLevels[t].colour===e[n].difficulty&&this.runLevels[t].runs.push(e[n])}this.runs=e},getColourLabel(e){return this[`${e}Label`]},setColourToken(){return this.runLevels.map(({...e})=>({...e,colourToken:this.tokens[`vs-color-icon-ski-${e.id}`]}))}}},_hoisted_1$i={class:"vs-ski-scotland-status","data-test":"vs-ski-scotland-status"},_hoisted_2$d={"data-test":"vs-ski__status-label"},_hoisted_3$9={"data-test":"vs-ski__runs-label"},_hoisted_4$7={"data-test":"vs-ski__lifts-label"},_hoisted_5$7={"data-test":"vs-ski__open-label"},_hoisted_6$7={"data-test":"vs-ski__open-label"},_hoisted_7$5={"data-test":"vs-ski__opening-label"},_hoisted_8$3={"data-test":"vs-ski__closed-label"},_hoisted_9$2={"data-test":"vs-ski__open-label"},_hoisted_10$2={"data-test":"vs-ski__last-updated-label"},_hoisted_11$1=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14=["innerHTML"],_hoisted_15=["innerHTML"],_hoisted_16=["data-test"],_hoisted_17={class:"visually-hidden"};function _sfc_render$c(e,n,t,a,r,s){const o=vue.resolveComponent("VsLoadingSpinner"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsWarning"),d=vue.resolveComponent("VsHeading"),v=vue.resolveComponent("VsTableHeaderCell"),f=vue.resolveComponent("VsTableHead"),p=vue.resolveComponent("VsIcon"),m=vue.resolveComponent("VsTableDataCell"),g=vue.resolveComponent("VsTableRow"),b=vue.resolveComponent("VsTableBody"),h=vue.resolveComponent("VsTableFooter"),_=vue.resolveComponent("VsTable"),V=vue.resolveComponent("VsLink"),k=vue.resolveComponent("VsAccordionItem"),N=vue.resolveComponent("VsAccordion");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createBlock(u,{key:0},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(o),vue.renderSlot(e.$slots,"data-loading")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(u,{key:1},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[r.jsDisabled?(vue.openBlock(),vue.createBlock(i,{key:0,cols:"12",md:"6","data-test":"vs-ski__js-disabled"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(i,{key:1,cols:"12",md:"6"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-xs","data-test":"vs-ski__runs-lifts-status-label",class:"d-none d-md-block"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runsLiftsStatusLabel),1)]),_:1}),vue.createVNode(_,{"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$d,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(v,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$9,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$7,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(b,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_5$7,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_6$7,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_7$5,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$3,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(g,{key:1},{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_9$2,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_10$2,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"]),vue.createVNode(V,{href:`#vs-ski-scotland-status__detailed-status-${e.id}`,type:"default",class:"vs-ski-scotland-status__detailed-status-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.detailedStatusLabel),1)]),_:1},8,["href"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,{cols:"12",md:"5","offset-md":"1",class:"vs-ski-scotland-status__centre-info"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-information")]),_:3})]),_:3}),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(l,{key:0},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9",class:"vs-ski-scotland-status__full-report"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__snow-conditions-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.snowConditionsLabel),1)]),_:1}),vue.createElementVNode("div",{innerHTML:r.report},null,8,_hoisted_11$1),r.currentWeather.length?(vue.openBlock(),vue.createBlock(d,{key:0,level:"4","heading-style":"heading-xs","data-test":"vs-ski__current-weather-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.currentWeatherLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.currentWeather.length?(vue.openBlock(),vue.createElementBlock("div",{key:1,innerHTML:r.currentWeather},null,8,_hoisted_12)):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createBlock(d,{key:2,level:"4","heading-style":"heading-xs","data-test":"vs-ski__weather-forecast-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.weatherForecastLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createElementBlock("div",{key:3,innerHTML:r.weatherForecast},null,8,_hoisted_13)):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createBlock(d,{key:4,level:"4","heading-style":"heading-xs","data-test":"vs-ski__roads-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.roadsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createElementBlock("div",{key:5,innerHTML:r.roadStatus},null,8,_hoisted_14)):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createBlock(d,{key:6,level:"4","heading-style":"heading-xs","data-test":"vs-ski__news-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.newsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createElementBlock("div",{key:7,innerHTML:r.news},null,8,_hoisted_15)):vue.createCommentVNode("",!0)]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(l,{key:1},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__lift-status-label",id:`vs-ski-scotland-status__detailed-status-${e.id}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftStatusLabel),1)]),_:1},8,["id"]),vue.createVNode(_,{"table-caption":t.liftStatusLabel,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftLabel),1)]),_:1})]),_:1}),vue.createVNode(b,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.lifts,L=>(vue.openBlock(),vue.createBlock(g,{key:L.name},{default:vue.withCtx(()=>[L.status==="0"||L.status===0?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),L.status==="1"||L.status===1?(vue.openBlock(),vue.createBlock(m,{key:1},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),L.status==="2"||L.status===2?(vue.openBlock(),vue.createBlock(m,{key:2},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),L.status==="3"||L.status===3?(vue.openBlock(),vue.createBlock(m,{key:3},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),L.status==="4"||L.status===4?(vue.openBlock(),vue.createBlock(m,{key:4},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(L.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError&&r.runs.length?(vue.openBlock(),vue.createBlock(l,{key:2},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__run-status-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runStatusLabel),1)]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.filteredRunLevels,L=>(vue.openBlock(),vue.createElementBlock("div",{key:L.name},[vue.createVNode(N,null,{default:vue.withCtx(()=>[vue.createVNode(k,{variant:"subtle","control-id":`accordion_item_${L.name}`,"colour-badge":L.colourToken},{title:vue.withCtx(()=>[vue.createElementVNode("div",{"data-test":`vs-ski__${L.name}-label`,class:"d-inline-block"},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(s.getColourLabel(L.colour)),1),vue.createTextVNode(" "+vue.toDisplayString(L.name),1)],8,_hoisted_16)]),default:vue.withCtx(()=>[vue.createVNode(_,{"table-caption":`${L.colour} - ${L.name}`,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runLabel),1)]),_:1})]),_:1}),vue.createVNode(b,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(L.runs,S=>(vue.openBlock(),vue.createBlock(g,{key:S.name,"data-test":`vs-ski__${L.name}-row`},{default:vue.withCtx(()=>[S.status==="0"||S.status===0?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),S.status==="1"||S.status===1?(vue.openBlock(),vue.createBlock(m,{key:1},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),S.status==="2"||S.status===2?(vue.openBlock(),vue.createBlock(m,{key:2},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),S.status==="3"||S.status===3?(vue.openBlock(),vue.createBlock(m,{key:3},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),S.status==="4"||S.status===4?(vue.openBlock(),vue.createBlock(m,{key:4},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(S.name),1)]),_:2},1024)]),_:2},1032,["data-test"]))),128))]),_:2},1024),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:2},1032,["table-caption"])]),_:2},1032,["control-id","colour-badge"])]),_:2},1024)]))),128))]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:3})])}const SkiScotlandStatus=LoadingSpinner._export_sfc(_sfc_main$m,[["render",_sfc_render$c]]),_sfc_main$l={name:"VsSkipTo",status:"prototype",release:"0.0.1",components:{VsLink},props:{skipToText:{type:String,required:!0},hasSearchLink:{type:Boolean,default:!0}},methods:{mainMenuFocus(){const e=document.getElementsByClassName("vs-mega-nav__menu__mobile")[0],n=document.getElementsByClassName("vs-mega-nav-dropdown")[0];if(!this.isUndefined(n)){let t=n.getElementsByClassName("btn")[0];e.offsetParent!==null?(e.querySelectorAll(".btn.dropdown-toggle")[0].click(),t=document.getElementsByClassName("vs-mega-nav-accordion-item--level-1")[0].querySelectorAll(".vs-button.vs-accordion-toggle")[0],setTimeout(()=>{t.focus()},200)):t.focus()}},footerFocus(){const e=document.getElementsByClassName("vs-footer")[0];if(!this.isUndefined(e)){const n=e.getElementsByClassName("vs-footer-accordion-item")[0],t=n.getElementsByClassName("vs-link")[0],a=n.getElementsByClassName("vs-accordion-toggle")[0];a.offsetParent!==null&&!this.isUndefined(a)&&a.click(),!this.isUndefined(e)&&!this.isUndefined(t)&&(e.scrollIntoView(!0),setTimeout(()=>{t.focus()},200))}},isUndefined(e){return typeof e>"u"}}},_hoisted_1$h=["aria-label"],_hoisted_2$c={class:"vs-skip-to__label",id:"skip-to-label"};function _sfc_render$b(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-skip-to d-flex","data-test":"vs-skip-to","aria-label":t.skipToText},[vue.createElementVNode("p",_hoisted_2$c,vue.toDisplayString(t.skipToText)+": ",1),vue.createVNode(o,{href:"#main-nav","data-test":"vs-skip-to-main-menu",onClick:n[0]||(n[0]=i=>s.mainMenuFocus()),id:"main-menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-menu-text")]),_:3}),t.hasSearchLink?(vue.openBlock(),vue.createBlock(o,{key:0,href:"#site-search-btn","data-test":"vs-skip-to-search",class:"vs-skip-to__search"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"search-text")]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(o,{href:"#main-heading","data-test":"vs-skip-to-main-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-content-text")]),_:3}),vue.createVNode(o,{href:"#site-footer",onClick:n[1]||(n[1]=i=>s.footerFocus()),"data-test":"vs-skip-to-footer"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"footer-text")]),_:3})],8,_hoisted_1$h)}const SkipTo=LoadingSpinner._export_sfc(_sfc_main$l,[["render",_sfc_render$b]]),_sfc_main$k={name:"VsSocialCreditLink",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon:LoadingSpinner.VsIcon},props:{credit:{type:String,required:!0},socialPostUrl:{type:String,required:!0},source:{type:String,required:!0,validator:e=>e.match(/(instagram)/)}}},_hoisted_1$g={class:"social-credit","data-test":"vs-social-credit-link"};function _sfc_render$a(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$g,[t.source?(vue.openBlock(),vue.createBlock(o,{key:0,icon:`fa-brands fa-${t.source}`,variant:"inverse",size:"xs",class:"me-025","data-test":"vs-social-credit-link__icon"},null,8,["icon"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"social-credit__link","data-test":"vs-social-credit-link__link",href:t.socialPostUrl,variant:"on-dark",type:"external"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.credit),1)]),_:1},8,["href"])])}const SocialCreditLink=LoadingSpinner._export_sfc(_sfc_main$k,[["render",_sfc_render$a]]),_sfc_main$j={name:"VsSocialShare",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsHeading:LoadingSpinner.VsHeading,VsModuleWrapper,BPopover:LoadingSpinner.Ka,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol},provide(){return{referringPageUrl:this.pageUrl,pageTitle:this.pageTitle,noJs:this.noJs}},props:{shareBtnText:{type:String,required:!0},sharePopoverTitle:{type:String,required:!0},pageUrl:{type:String,required:!0},pageTitle:{type:String,default:""},closeAltText:{type:String,required:!0},id:{type:String,required:!0},noJs:{type:Boolean,default:!1}},data(){return{copyLink:!1,renderPopover:!1}},mounted(){this.renderPopover=!0},methods:{onClose(e){this.$refs.popover.hide(e)},onShown(){this.focusFirst()},onHidden(){this.focusRef(this.$refs.shareButton)},onHide(e){this.copyLink&&(e.preventDefault(),this.focusFirst(),this.copyLink=!1)},onCopyLink(){this.copyLink=!0},focusRef(e){this.$nextTick(()=>{this.$nextTick(()=>{(e.$el||e).focus()})})},focusFirst(){this.$nextTick(()=>{this.$nextTick(()=>{this.$refs.popoverShareRow.$el.querySelector(".vs-social-share-item a ").focus()})})},tabFromClose(e){e.shiftKey||(e.preventDefault(),this.focusFirst())},tabBackFromHidden(e){e.shiftKey&&(e.preventDefault(),this.focusRef(this.$refs.closeButton))}}};function _sfc_render$9(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("BPopover"),c=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsContainer"),v=vue.resolveComponent("VsModuleWrapper");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-social-share",t.noJs?"vs-module-wrapper__outer--hidden":"vs-module-wrapper__outer--light"]),"data-test":"vs-social-share",ref:"socialShareContainer"},[t.noJs?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(o,{key:0,class:"vs-social-share__share-btn",variant:"subtle",icon:"fa-regular fa-share-nodes",id:`vs-social-share-popover--${t.id}`,ref:"shareButton"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.shareBtnText),1)]),_:1},8,["id"])),!t.noJs&&r.renderPopover?(vue.openBlock(),vue.createBlock(u,{key:1,"custom-class":"vs-social-share__popover",target:`vs-social-share-popover--${t.id}`,click:!0,container:"body",placement:"left-end",offset:"-100",onShown:s.onShown,onHidden:s.onHidden,onHide:s.onHide,ref:"popover"},{default:vue.withCtx(()=>[vue.createVNode(i,{level:"3",tabindex:"0","heading-style":"heading-m",ref:"shareHeader",class:"vs-social-share__header",onKeydown:n[0]||(n[0]=vue.withKeys(f=>s.tabBackFromHidden(f),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1},512),vue.createVNode(l,{ref:"popoverShareRow"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{onCopyLink:s.onCopyLink})]),_:3},512),vue.createVNode(o,{"icon-only":"",class:"vs-social-share__close-btn",icon:"vs-icon-control-dismiss",variant:"subtle",ref:"closeButton",onClick:s.onClose,onKeydown:n[1]||(n[1]=vue.withKeys(f=>s.tabFromClose(f),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeAltText),1)]),_:1},8,["onClick"])]),_:3},8,["target","onShown","onHidden","onHide"])):vue.createCommentVNode("",!0),t.noJs?(vue.openBlock(),vue.createBlock(v,{key:2,class:"vs-social-share--module-list"},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(c,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(i,{level:"2","heading-style":"heading-l",class:"mb-300 mt-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1})]),_:1})]),_:1}),vue.createVNode(l,{class:"justify-content-center"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0)],2)}const SocialShare=LoadingSpinner._export_sfc(_sfc_main$j,[["render",_sfc_render$9]]),socialMediaData={facebook:{color:"#1877f2",icon:"fa-brands fa-facebook",getUrl:(e,n)=>`https://www.facebook.com/sharer/sharer.php?u=${e}&t=${n}`},"x-twitter":{color:"#0F1419",icon:"fa-brands fa-x-twitter",getUrl:(e,n)=>`https://twitter.com/intent/tweet?text=${n}%20@VisitScotland&url=${e}`},pinterest:{color:"#E60023",icon:"fa-brands fa-pinterest",getUrl:e=>`https://www.pinterest.com/pin/create/button/?url=${e}`},whatsapp:{color:"#455a64",icon:"fa-brands fa-whatsapp",getUrl:(e,n)=>`https://wa.me/?text=${n}%20-%20${e}`},email:{color:"#000000",icon:"fa-regular fa-envelope",getUrl:(e,n)=>`mailto:?body=${n}%20-%20${e}&subject=${n}`},link:{color:"#000000",icon:"fa-regular fa-link",getUrl:()=>"#"}},_sfc_main$i={name:"VsSocialShareItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsLink,VsIcon:LoadingSpinner.VsIcon},mixins:[LoadingSpinner.dataLayerMixin],inject:{referringPageUrl:{default:""},pageTitle:{default:""},noJs:{default:""}},props:{name:{type:String,required:!0,validator:e=>e.match(/(facebook|twitter|pinterest|link|email|whatsapp)/)},linkText:{type:String,required:!0},linkCopiedText:{type:String,default:""}},emits:["copyLinkClicked"],data(){return{show:!1}},computed:{iconColour(){var e;return((e=socialMediaData[this.name])==null?void 0:e.color)||"#200F2E"},iconName(){var e;return((e=socialMediaData[this.name])==null?void 0:e.icon)||"fa-solid fa-link"},shareUrl(){const e=socialMediaData[this.name];return(e==null?void 0:e.getUrl(this.referringPageUrl,this.encodedPageTitle))||"#"},encodedPageTitle(){return encodeURI(this.pageTitle)}},methods:{copyToClipboard(e){if(this.name==="link"){if(this.$emit("copyLinkClicked"),!navigator.clipboard)return;navigator.clipboard.writeText&&navigator.clipboard.writeText(this.referringPageUrl),this.show=!0,setTimeout(()=>{this.show=!1},2e3)}this.trackShareClick(e)},trackShareClick(e){this.createDataLayerObject("socialShareDataEvent",e,this.href)}}},_hoisted_1$f={class:"vs-social-share-item__text"};function _sfc_render$8(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink"),l=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(l,{class:"vs-social-share-item","data-test":"vs-social-share-item",cols:4,md:s.noJs?2:4},{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-social-share-item__link",href:s.shareUrl,onClick:n[0]||(n[0]=u=>s.copyToClipboard(u)),id:`vs-share-${t.name}`},{default:vue.withCtx(()=>[vue.createVNode(o,{icon:s.iconName,"custom-colour":s.iconColour,size:"xl","small-size":"lg"},null,8,["icon","custom-colour"]),vue.createElementVNode("span",_hoisted_1$f,vue.toDisplayString(r.show?t.linkCopiedText:t.linkText),1)]),_:1},8,["href","id"])]),_:1},8,["md"])}const SocialShareItem=LoadingSpinner._export_sfc(_sfc_main$i,[["render",_sfc_render$8]]),_sfc_main$h={name:"VsSpotlightSection",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsButton:LoadingSpinner.VsButton},props:{heading:{type:String,required:!0},description:{type:String,default:""},ctaLink:{type:String,required:!0},ctaText:{type:String,required:!0},imageSrc:{type:String,default:""},compact:{type:Boolean,default:!1}},computed:{spotlightSectionClasses(){return{"vs-spotlight-section":!0,"vs-spotlight-section--compact":this.compact,"vs-spotlight-section--standard":!this.compact,"vs-spotlight-section--no-image":!this.imageSrc}}}},_hoisted_1$e={class:"vs-spotlight-section__content-overlay"},_hoisted_2$b={class:"row w-100 m-0"},_hoisted_3$8={class:"col-12 col-sm-7 col-md-8 col-lg-7 col-xl-6 align-self-end p-0"},_hoisted_4$6={key:0,class:"col-12 col-sm-5 col-md-4 col-lg-5 col-xl-6 align-self-sm-end text-sm-end p-0"},_hoisted_5$6={key:0,class:"vs-spotlight-section__media"},_hoisted_6$6={key:1,class:"vs-spotlight-section__overlay-controls"};function _sfc_render$7(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(s.spotlightSectionClasses),style:vue.normalizeStyle(t.imageSrc?{backgroundImage:`url(${t.imageSrc})`}:{}),"data-test":"vs-spotlight-section"},[vue.createElementVNode("div",_hoisted_1$e,[vue.createElementVNode("div",_hoisted_2$b,[vue.createElementVNode("div",_hoisted_3$8,[vue.createVNode(o,{class:"vs-spotlight-section__heading",level:"2","no-margins":"","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.heading),1)]),_:1}),t.description?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-spotlight-section__description","no-margins":""},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.description),1)]),_:1})):vue.createCommentVNode("",!0),t.compact?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(l,{key:1,class:"vs-spotlight-section__cta-button",href:t.ctaLink,size:"sm",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"]))]),t.compact?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$6,[vue.createVNode(l,{class:"vs-spotlight-section__cta-button",href:t.ctaLink,size:"sm",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])])):vue.createCommentVNode("",!0)])]),e.$slots["vs-spotlight-section-media"]&&e.$slots["vs-spotlight-section-media"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$6,[vue.renderSlot(e.$slots,"vs-spotlight-section-media")])):vue.createCommentVNode("",!0),e.$slots["vs-spotlight-section-overlay-controls"]&&e.$slots["vs-spotlight-section-overlay-controls"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$6,[vue.renderSlot(e.$slots,"vs-spotlight-section-overlay-controls")])):vue.createCommentVNode("",!0),n[0]||(n[0]=vue.createElementVNode("div",{class:"vs-spotlight-section__gradient-overlay"},null,-1))],6)}const SpotlightSection=LoadingSpinner._export_sfc(_sfc_main$h,[["render",_sfc_render$7]]),_hoisted_1$d={class:"vs-styled-list__list"},_hoisted_2$a={class:"vs-styled-list__source"},_sfc_main$g={__name:"StyledList",props:{source:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-styled-list",`vs-styled-list--${n.variant}`]),"data-test":"vs-styled-list"},[vue.createVNode(vue.unref(LoadingSpinner.VsContainer),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="icon"?"8":null},{default:vue.withCtx(()=>[vue.createElementVNode("ul",_hoisted_1$d,[vue.renderSlot(t.$slots,"default")])]),_:3},8,["md"])]),_:3}),t.$slots["list-source"]&&t.$slots["list-source"]()?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsRow),{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$a,[vue.renderSlot(t.$slots,"list-source")])]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2))}},_hoisted_1$c={class:"vs-styled-list__item","data-test":"vs-styled-list__item"},_sfc_main$f={__name:"StyledListItem",props:{heading:{type:String,required:!0},headingLevel:{type:Number,default:3,validator:e=>LoadingSpinner.lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},imageSrc:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)},anchorLink:{type:String,default:""}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("li",_hoisted_1$c,[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[n.variant==="image"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsCol),{key:0,cols:"12",md:"2"},{default:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{src:n.imageSrc},null,8,["src"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="image"?"10":"12"},{default:vue.withCtx(()=>[n.variant==="image-horizontal"?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsImg,{key:0,src:n.imageSrc},null,8,["src"])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsHeading,{level:n.headingLevel,"heading-style":"heading-xxs",id:e.anchorLink?e.anchorLink:""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.heading),1)]),_:1},8,["level","id"]),vue.createVNode(LoadingSpinner.VsBody,null,{default:vue.withCtx(()=>[vue.renderSlot(t.$slots,"default")]),_:3})]),_:3},8,["md"])]),_:3})]))}},_sfc_main$e={name:"VsSummaryBoxList",status:"prototype",release:"0.0.1"},_hoisted_1$b={class:"vs-summary-box","data-test":"vs-summary-box-list"},_hoisted_2$9={class:"vs-summary-box__list list-unstyled d-flex flex-wrap p-050 p-sm-075"};function _sfc_render$6(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createElementVNode("ul",_hoisted_2$9,[vue.renderSlot(e.$slots,"default")])])}const SummaryBoxList=LoadingSpinner._export_sfc(_sfc_main$e,[["render",_sfc_render$6]]),_sfc_main$d={name:"VsSummaryBoxListItem",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{text:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},iconLabel:{type:String,default:""}}},_hoisted_1$a={class:"vs-summary-box-item position-relative","data-test":"vs-summary-box-list-item"},_hoisted_2$8={key:0,class:"text-center vs-summary-box-item__label d-block position-absolute w-100","data-test":"vs-summary-box-list-item-label"},_hoisted_3$7={class:"vs-summary-box-item__label-inner"},_hoisted_4$5={key:1,class:"vs-summary-box-item__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-list-item-display"},_hoisted_5$5={key:2,class:"vs-summary-box-item__icon d-flex align-items-center position-absolute justify-content-center w-100","data-test":"vs-summary-box-list-item-icon-with-label"},_hoisted_6$5={class:"icon-wrapper text-end"},_hoisted_7$4={class:"text-wrapper d-block w-auto pt-100"};function _sfc_render$5(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$a,[t.label?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,[vue.createElementVNode("span",_hoisted_3$7,vue.toDisplayString(t.label),1)])):vue.createCommentVNode("",!0),t.text?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$5,[vue.createElementVNode("span",null,vue.toDisplayString(t.text),1)])):vue.createCommentVNode("",!0),t.icon?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$5,[vue.createElementVNode("div",_hoisted_6$5,[vue.createVNode(o,{icon:t.icon,size:"xl"},null,8,["icon"])]),vue.createElementVNode("div",_hoisted_7$4,[vue.createElementVNode("span",null,vue.toDisplayString(t.iconLabel),1)])])):vue.createCommentVNode("",!0)])}const SummaryBoxListItem=LoadingSpinner._export_sfc(_sfc_main$d,[["render",_sfc_render$5],["__scopeId","data-v-eab4f595"]]),_sfc_main$c={name:"VsSummaryBoxDistanceListItem",status:"prototype",release:"0.0.1",props:{miles:{type:String,default:""},kilometres:{type:String,default:""},distanceLabel:{type:String,default:"Distance"},milesLabel:{type:String,default:"miles"},kilometresLabel:{type:String,default:"km"},showMiles:{type:Boolean,default:!0}}},_hoisted_1$9={class:"vs-summary-box-distance position-relative","data-test":"vs-summary-box-distance-list-item"},_hoisted_2$7={key:0,class:"text-center vs-summary-box-distance__label d-block position-absolute w-100","data-test":"vs-summary-box-distance-list-item-label"},_hoisted_3$6={class:"vs-summary-box-distance__label-inner"},_hoisted_4$4={class:"vs-summary-box-distance__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-distance-display"},_hoisted_5$4={class:"vs-summary-box-distance__display-entry"},_hoisted_6$4={class:"vs-summary-box-distance__display-value"},_hoisted_7$3={class:"vs-summary-box-distance__display-label"},_hoisted_8$2={class:"vs-summary-box-distance__display-entry"},_hoisted_9$1={class:"vs-summary-box-distance__display-value"},_hoisted_10$1={class:"vs-summary-box-distance__display-label"};function _sfc_render$4(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$9,[t.distanceLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$7,[vue.createElementVNode("span",_hoisted_3$6,vue.toDisplayString(t.distanceLabel),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$4,[vue.createElementVNode("div",_hoisted_5$4,[vue.createElementVNode("span",_hoisted_6$4,vue.toDisplayString(t.miles),1),vue.createElementVNode("span",_hoisted_7$3,vue.toDisplayString(t.milesLabel),1)]),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-summary-box-distance__divider"},null,-1)),vue.createElementVNode("div",_hoisted_8$2,[vue.createElementVNode("span",_hoisted_9$1,vue.toDisplayString(t.kilometres),1),vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(t.kilometresLabel),1)])])])}const SummaryBoxDistanceListItem=LoadingSpinner._export_sfc(_sfc_main$c,[["render",_sfc_render$4],["__scopeId","data-v-f36a8377"]]),_sfc_main$b={name:"VsTabs",status:"prototype",release:"0.0.1",components:{BTabs:LoadingSpinner.vc},provide(){return{noContainer:vue.computed(()=>this.noContainer)}},props:{noContainer:{type:Boolean,default:!1}}};function _sfc_render$3(e,n,t,a,r,s){const o=vue.resolveComponent("BTabs");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(t.noContainer?"vs-tabs--no-container":"vs-tabs"),"data-test":"vs-tabs"},[vue.createVNode(o,{"no-container":t.noContainer,align:t.noContainer?"center":null},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["no-container","align"])],2)}const Tabs=LoadingSpinner._export_sfc(_sfc_main$b,[["render",_sfc_render$3]]),_sfc_main$a={name:"VsTabItem",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,BTab:LoadingSpinner.dc},mixins:[LoadingSpinner.dataLayerMixin],inject:["noContainer"],props:{title:{type:String,required:!0}},methods:{trackClick(e){this.createDataLayerObject("tabClickEvent",e,null)}}};function _sfc_render$2(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("BTab");return vue.openBlock(),vue.createBlock(i,{class:"vs-tab__item","data-test":"vs-tab__item","title-link-class":s.noContainer?"vs-tab-link--no-container vs-heading":"vs-tab-link vs-heading",title:t.title,onClick:s.trackClick},{default:vue.withCtx(()=>[vue.createVNode(o,{level:"3","heading-style":"heading-xxs",class:"vs-tab__item__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1}),vue.renderSlot(e.$slots,"default")]),_:3},8,["title-link-class","title","onClick"])}const TabItem=LoadingSpinner._export_sfc(_sfc_main$a,[["render",_sfc_render$2]]),_sfc_main$9={name:"VsTag",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,required:!0}}};function _sfc_render$1(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createBlock(o,{class:"vs-tag me-050 mb-100","data-test":"vs-tag",href:t.href},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])}const Tag=LoadingSpinner._export_sfc(_sfc_main$9,[["render",_sfc_render$1]]),_sfc_main$8={name:"VsTagManagerWrapper",status:"prototype",release:"0.0.1",mixins:[LoadingSpinner.dataLayerMixin],props:{payload:{type:Object,default:()=>{}}},mounted(){this.processPayload(this.payload),document.addEventListener("DOMContentLoaded",()=>{this.dataLayerStore.setTestRun(!0),this.dataLayerStore.setPageUrl(window.location.href)}),this.createDataLayerObject("pageViewTemplateDataEvent")},methods:{processPayload(e){e!==void 0&&Object.keys(e).forEach(n=>{const t=n.replace(/-/g,"_");this.dataLayerStore.processPayload({key:t,value:e[n]})})}}},_hoisted_1$8={"data-test":"vs-tag-manager-wrapper",class:"d-none"};function _sfc_render(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$8)}const TagManagerWrapper=LoadingSpinner._export_sfc(_sfc_main$8,[["render",_sfc_render]]);function cleanData$1(e){return e.TypedDocuments.map(a=>{var r;return{id:a.Fields.Id.Value||"",title:a.Fields.Title.Value||"",description:a.Fields.Description.Value||"",imgSrc:((r=a.Fields.Image)==null?void 0:r.Value)||"",url:a.Fields.Url.Value||"",dataSrc:"cludo",categoryCard:a.Fields.categoryCard.Value||""}})}async function cludoSearch(e,n,t,a,r,s){const{apiKey:o,customerId:i,engineId:l}=n,u=`https://api-eu1.cludo.com/api/v3/${i}/${l}/search`,c=`${i}:${o}`,d=useFederatedSearchStore();if(d.eventsApiError=!1,d.cludoError=!1,!n)return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0};if(r==="events")return{results:[],totalResults:0};try{const v=await fetch(u,{method:"POST",body:JSON.stringify({query:e||"*",operator:s,responseType:"JsonObject",perPage:6,page:t,facets:{Category:r?[r]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(c)}`}});if(!v.ok)throw d.cludoError=!0,d.isLoading=!1,new Error(`Cludo response message: ${v.status}`);const f=await v.json();return{results:cleanData$1(f),totalResults:f.TotalDocument}}catch{return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0}}}function cleanData(e){return e.events.map(a=>{var r,s,o,i,l,u,c;return{id:a.id,parentId:a.parentId,title:a.name,description:((s=(r=a.descriptions)==null?void 0:r[0])==null?void 0:s.description)||"",imgSrc:((i=(o=a.images)==null?void 0:o[0])==null?void 0:i.url)||"",url:((u=(l=a.performances)==null?void 0:l[0])==null?void 0:u.url)||"",placeUrl:a.place.website,location:a.place.town,startDate:a.startFormatted,endDate:a.endFormatted,minPrice:(c=a.minPrice)==null?void 0:c.toString(),dataSrc:"data-thistle",categoryCard:a.categoryCard||""}})}async function eventSearch(e,n,t,a,r,s,o,i,l,u,c,d,v){const f=useFederatedSearchStore();f.eventsApiError=!1,f.cludoError=!1;let p=`${e}?query=${n}&lang=${l}`;p=t>1?`${p}&page=${t}`:p,p=s!==""?`${p}&startDate=${s}`:p,p=o!==""?`${p}&endDate=${o}`:p,p=i?`${p}&sort=${i}`:p,p=a==="events"?`${p}&pageSize=12`:`${p}&pageSize=6`,p=u?`${p}&postcode=${u}`:p,p=c?`${p}&location=${c}`:p,p=d?`${p}&radius=${d}`:p,p=v?`${p}&postcodeareas=${v}`:p,r.forEach(m=>{p+=`&category=${m}`}),a&&a!=="events"&&(p+=`&category=${a}`);try{const m=await fetch(p);if(!m.ok)throw f.isLoading=!1,f.eventsApiError=!0,new Error(`Events response message: ${m.status}`);const g=await m.json();return{results:cleanData(g),totalResults:g.totalResults}}catch{return f.isLoading=!1,f.eventsApiError=!0,{results:[],totalResults:0}}}async function cludoAutocomplete(e,n){const{apiKey:t,customerId:a,engineId:r}=n,o=`https://api-eu1.cludo.com/api/v3/${a}/${r}/Autocomplete`,i=`${a}:${t}`;try{const l=await fetch(o,{method:"POST",body:JSON.stringify({text:e}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(i)}`}});if(!l.ok)throw new Error(`Autocomplete search error ${l.status}`);return await l.json()}catch(l){throw new Error(`Autocomplete search error: ${l}`)}}const useFederatedSearchStore=pinia.defineStore("federatedSearch",()=>{const e=vue.ref(null),n=vue.ref(void 0),t=vue.ref(!1),a=vue.ref(1),r=vue.ref(void 0),s=vue.ref(!1),o=vue.ref(!1),i=vue.ref(null),l=vue.ref(""),u=vue.ref(null),c=vue.ref(null),d=vue.ref([]),v=vue.ref([]),f=vue.ref(void 0),p=vue.ref(void 0),m=vue.ref(void 0),g=vue.ref(!1),b=vue.ref(""),h=vue.ref(""),_=vue.ref(void 0),V=vue.ref(void 0),k=vue.ref(void 0),N=vue.ref(-1),L=vue.ref(""),S=vue.ref(""),R=vue.ref(""),M=vue.ref(0),C=vue.ref(""),D=vue.ref("or");async function B(T=!1){o.value=!0,T||(N.value+=1);const A=await cludoSearch(l.value,n.value,a.value,u.value,c.value,D.value),$=await eventSearch(r.value,l.value,a.value,c.value,v.value,b.value,h.value,_.value,k.value,S.value,R.value,M.value,C.value);i.value=[...A.results,...$.results],p.value=A.totalResults,m.value=$.totalResults,f.value=A.totalResults+$.totalResults,o.value=!1}async function E(){return cludoAutocomplete(l.value,n.value)}async function w(T,A){const $=new URL(window.location.href);if(A?L.value="Autosuggestion":L.value="User input",l.value?$.searchParams.set("search-term",l.value):$.searchParams.delete("search-term"),c.value?$.searchParams.set("category",encodeURIComponent(c.value)):$.searchParams.delete("category"),v.value.length>0?$.searchParams.set("sub-category",encodeURIComponent(v.value.join(","))):$.searchParams.delete("sub-category"),T?(a.value=1,$.searchParams.set("page",a.value.toString())):a.value&&a.value>1?$.searchParams.set("page",a.value.toString()):$.searchParams.delete("page"),b.value?$.searchParams.set("start-date",b.value):$.searchParams.delete("start-date"),h.value?$.searchParams.set("end-date",h.value):$.searchParams.delete("end-date"),_.value?$.searchParams.set("sort-by",_.value):$.searchParams.delete("sort-by"),!g.value)window.history.pushState({},"",$),await B();else{const I=`${V.value}/${$.search}`;window.location.href=I}}return{filters:e,currentPage:a,cludoCredentials:n,cludoError:t,eventsApi:r,eventsApiError:s,getAutoComplete:E,getSearchResults:B,isLoading:o,results:i,searchTerm:l,searchUrl:V,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:v,totalResults:f,totalResultsCludo:p,totalResultsEvents:m,navigateToResultsPage:w,isHomePage:g,startDate:b,endDate:h,sortBy:_,siteLanguage:k,searchInSessionCount:N,queryInput:L,postcode:S,location:R,radius:M,postcodeareas:C,cludoApiOperator:D}}),_hoisted_1$7={class:"vs-fed-filter"},_hoisted_2$6={class:"vs-fed-filter__scroll-container"},_hoisted_3$5=["id"],_sfc_main$7=Object.assign({status:"deprecated"},{__name:"FedFilter",props:{filterCategories:{type:Array,required:!0},variant:{type:String,default:"primary",validator:e=>/^(primary|secondary)$/.test(e)},wrap:{type:Boolean,default:!1},activeFilter:{type:[String,Array],default:""},scrollButtons:{type:Boolean,default:!1},scrollLeftText:{type:String,default:""},scrollRightText:{type:String,default:""}},emits:["filter-updated"],setup(e,{expose:n}){const t=e,a=vue.ref(null);function r(c){return typeof t.activeFilter=="string"?t.activeFilter===c:t.activeFilter&&typeof t.activeFilter=="object"?t.activeFilter.includes(c):!1}function s(c){var d,v;c==="left"?(d=a.value)==null||d.scrollBy(-200,0):c==="right"&&((v=a.value)==null||v.scrollBy(200,0))}function o(){var c;(c=a.value)==null||c.scrollTo(0,0)}n({resetScroll:o});function i(){return[`vs-fed-filter__scroll-rail--${t.variant}`,t.wrap?"vs-fed-filter__scroll-rail--wrap":""]}const l=vue.computed(()=>[...t.filterCategories].sort((d,v)=>{const f=(d.Label||d.Key||"").toLowerCase(),p=(v.Label||v.Key||"").toLowerCase();return f<p?-1:f>p?1:0}));function u(c){let d;switch(c){case"accommodation":d="fa-regular fa-bed";break;case"active-adventure":d="fa-kit fa-vs-landscape";break;case"city-break":d="fa-regular fa-city";break;case"culture-history":d="fa-regular fa-chess-rook";break;case"events":d="fa-regular fa-calendar-range";break;case"family-friendly":d="fa-regular fa-family";break;case"food-drink":d="fa-regular fa-utensils";break;case"nature-outdoors":d="fa-regular fa-leaf";break;case"tours":d="fa-regular fa-binoculars";break;case"travel-information":d="fa-regular fa-circle-info";break;case"wellness":d="fa-regular fa-spa";break;default:d=null;break}return d}return(c,d)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[c.$slots["fed-filter-header"]&&c.$slots["fed-filter-header"]()?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsBody,{key:0,class:"vs-fed-filter__header mb-025 ms-025","data-test":"vs-fed-filter__header"},{default:vue.withCtx(()=>[vue.renderSlot(c.$slots,"fed-filter-header")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$6,[e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,variant:"secondary",icon:"fa-regular fa-chevron-left","icon-only":"",class:"vs-fed-filter__scroll-button me-050","data-test":"vs-fed-filter__scroll-button--left",onClick:d[0]||(d[0]=v=>s("left")),"aria-label":t.scrollLeftText},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.scrollLeftText),1)]),_:1},8,["aria-label"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-fed-filter__scroll-rail",i()]),id:`vs-fed-filter__scroll-rail--${t.variant}`,ref_key:"scrollRail",ref:a},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(l.value,(v,f)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:f,class:"vs-fed-filter__category-button","data-test":`vs-fed-filter__category-button--${v.Key}`,icon:t.variant==="primary"?u(v.Key):null,variant:r(v.Key)?"primary":"secondary",size:t.variant==="secondary"?"sm":"md",onClick:p=>c.$emit("filter-updated",v)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(v.Label||v.Key),1)]),_:2},1032,["data-test","icon","variant","size","onClick"]))),128))],10,_hoisted_3$5),e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:1,variant:"secondary",icon:"fa-regular fa-chevron-right","icon-only":"",class:"vs-fed-filter__scroll-button ms-050","data-test":"vs-fed-filter__scroll-button--right",onClick:d[1]||(d[1]=v=>s("right")),"aria-label":t.scrollRightText},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.scrollRightText),1)]),_:1},8,["aria-label"])):vue.createCommentVNode("",!0)])]))}});function dataLayerComposable$1(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function a(l,u){const c={};return l.forEach(d=>{c[d]=u[d]||void 0,d==="language"&&c[d]===void 0&&(c[d]=u.site_language||void 0)}),c}function r(){return new Date(Date.now()).toISOString()}function s(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function o(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,v,f;switch(l){case"siteSearchOpenEvent":c="site_search_open",d={event:c,referrer_page:u.referrer_page},v=s(d),f=a(LoadingSpinner.siteSearchOpenTemplate,v);break;case"siteSearchUsageEvent":c="site_search_event",d={event:c,search_query:u.search_query,query_input:u.query_input,results_count:u.results_count,search_usage_index:u.search_usage_index,search_type:u.search_type,search_origin:u.search_origin||"results_page",interaction_type:"search_input"},v=s(d),f=a(LoadingSpinner.siteSearchUsageTemplate,v);break;case"siteSearchClickEvent":c="site_search_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,page_navigation_direction:u.page_navigation_direction,click_text:u.click_text,click_url:u.click_url,click_category:u.click_category,search_usage_index:u.search_usage_index,results_count:u.results_count},v=s(d),f=a(LoadingSpinner.siteSearchClickTemplate,v);break;case"siteSearchCloseEvent":c="site_search_close",d={event:c,search_usage_index:u.search_usage_index,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,results_count:u.results_count},v=s(d),f=a(LoadingSpinner.siteSearchCloseTemplate,v);break}f&&o(f)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:s,returnIsoDate:r,pushToDataLayer:o,dataLayerStore:e}}const _hoisted_1$6={class:"vs-fed-search-input"},_hoisted_2$5={class:"vs-fed-search__input"},_hoisted_3$4={class:"vs-fed-search__text-input"},_hoisted_4$3={for:"federated-search",class:"vs-federated-search__label"},_hoisted_5$3={key:0,class:"position-relative"},_hoisted_6$3={class:"vs-fed-search-input__autocomplete"},_hoisted_7$2=["onClick","onKeyup","innerHTML"],_sfc_main$6=Object.assign({status:"deprecated"},{__name:"FedSearchInput",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},isHomePage:{type:Boolean,default:!1},searchUrl:{type:String,default:void 0},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},labels:{type:Object,required:!0}},setup(e){const n=dataLayerComposable$1(),t=e,a=useFederatedSearchStore(),{isLoading:r}=pinia.storeToRefs(a),s=vue.ref(),o=vue.ref(null),i=vue.ref(null);async function l(h){a.currentPage=1,a.searchTerm=h.value.trim();const _=window.location.search,V=new URLSearchParams(_);a.searchTerm&&V.get("search-term")!==a.searchTerm&&(s.value=await a.getAutoComplete()),a.searchTerm||(s.value=null)}async function u(){s.value=null,await a.navigateToResultsPage(),n.createDataLayerObject("siteSearchUsageEvent",{search_query:a.searchTerm,query_input:a.queryInput,results_count:a.totalResults,search_usage_index:a.searchInSessionCount,search_type:a.searchInSessionCount===1?"initial":"follow-up"})}function c(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_autosuggest",search_query:a.searchTerm,page_number:a.currentPage,search_usage_index:a.searchInSessionCount,results_count:a.totalResults,click_text:h,query_input:a.queryInput})}function d(h){a.searchTerm=h,s.value=null,a.navigateToResultsPage(!1,!0),c(h)}function v(h){return h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function f(h){return h.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function p(h){const _=(a.searchTerm||"").trim();if(!_)return f(h);const V=new RegExp(`(${v(_)})`,"gi");return f(h).replace(V,"<strong>$1</strong>")}function m(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"facet_click",search_query:a.searchTerm,page_number:a.currentPage,search_usage_index:a.searchInSessionCount,results_count:a.totalResults,click_text:h.Label||h.Key})}async function g(h){const _=new URL(window.location);_.searchParams.delete("page"),a.currentPage=1,_.searchParams.delete("start-date"),_.searchParams.delete("end-date"),a.startDate="",a.endDate="",a.sortBy=void 0,a.selectedSubCategory=[],a.selectedSubCategoryKey=[],a.selectedCategory=a.selectedCategory!==h.Label?h.Label:"",a.selectedCategoryKey=a.selectedCategoryKey!==h.Key?h.Key:"",await a.navigateToResultsPage(!0),m(h)}function b(h){if(!a.selectedSubCategoryKey.includes(h.Key))a.selectedSubCategory.push(h.Label),a.selectedSubCategoryKey.push(h.Key);else{const _=a.selectedSubCategoryKey.indexOf(h.Key);_>=0&&(a.selectedSubCategory.splice(_,1),a.selectedSubCategoryKey.splice(_,1))}a.navigateToResultsPage(!0),m(h)}return vue.onMounted(()=>{a.cludoCredentials={apiKey:t.cludoApiKey,customerId:t.cludoCustomerId,engineId:t.cludoEngineId},a.isHomePage=t.isHomePage,t.searchUrl&&(a.searchUrl=t.searchUrl);const h=window.location.search,_=new URLSearchParams(h);_.has("search-term")&&(a.searchTerm=_.get("search-term")),_.has("category")&&(a.selectedCategoryKey=decodeURIComponent(_.get("category"))),_.has("sub-category")&&decodeURIComponent(_.get("sub-category")).split(",").forEach(k=>a.selectedSubCategoryKey.push(k)),_.has("category")&&_.get("category")==="events"&&_.has("sort-by")&&(a.sortBy=_.get("sort-by")),_.has("start-date")&&(a.startDate=_.get("start-date")),_.has("end-date")&&(a.endDate=_.get("end-date")),_.has("postcode")&&(a.postcode=_.get("postcode")),_.has("location")&&(a.location=_.get("location")),_.has("radius")&&(a.radius=_.get("radius")),_.has("postcodeareas")&&(a.postcodeareas=_.get("postcodeareas")),(_.has("search-term")||_.has("category"))&&a.getSearchResults()}),vue.watch(r,h=>{var _,V;h||((_=o.value)==null||_.resetScroll(),(V=i.value)==null||V.resetScroll())}),(h,_)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("div",_hoisted_3$4,[vue.createElementVNode("label",_hoisted_4$3,[_[0]||(_[0]=vue.createElementVNode("span",{class:"visually-hidden"}," Search for something ",-1)),vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"vs-icon-control-search",size:"xs"})]),vue.createVNode(vue.unref(VsInput),{"auto-complete":!1,class:"vs-federated-search__input w-100","field-name":"federated-search",name:"searchrequest",placeholder:t.labels.searchLabel,type:"search",value:vue.unref(a).searchTerm,onUpdated:l,onKeyup:vue.withKeys(u,["enter"])},null,8,["placeholder","value"])]),vue.createVNode(vue.unref(LoadingSpinner.VsButton),{class:"d-none d-lg-block px-200",disabled:vue.unref(r),onClick:u},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.search),1)]),_:1},8,["disabled"])]),s.value&&s.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$3,[vue.createElementVNode("div",_hoisted_6$3,[vue.createVNode(vue.unref(VsList),{unstyled:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.value,V=>(vue.openBlock(),vue.createElementBlock("li",{key:V,class:"vs-fed-search-input__autocomplete__suggestion",onClick:k=>d(V),onKeyup:vue.withKeys(k=>d(V),["enter"]),tabindex:"0",innerHTML:p(V)},null,40,_hoisted_7$2))),128))]),_:1})])])):vue.createCommentVNode("",!0),t.filters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:1,"active-filter":vue.unref(a).selectedCategoryKey,"filter-categories":t.filters,ref_key:"categoryFilter",ref:o,wrap:!0,onFilterUpdated:g},null,8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0),vue.unref(a).selectedCategoryKey==="events"&&t.subFilters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:2,"active-filter":vue.unref(a).selectedSubCategoryKey,class:"mt-200","filter-categories":t.subFilters,ref_key:"subCategoryFilter",ref:i,variant:"secondary",onFilterUpdated:b},{"fed-filter-header":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.refine),1)]),_:1},8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0)]))}}),_hoisted_1$5={key:0,for:"vs-fed-search-sort__from-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__from-date-label"},_hoisted_2$4={key:0,for:"vs-fed-search-sort__to-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__to-date-label"},_sfc_main$5=Object.assign({status:"deprecated"},{__name:"FedSearchSort",props:{dateFilterVisible:{type:Boolean,default:!1},sortOptions:{type:Array,required:!0},fromDateLabel:{type:String,required:!0},toDateLabel:{type:String,required:!0},sortLabel:{type:String,required:!0}},emits:["from-date-updated","end-date-updated","sort-order-updated"],setup(e){const n=useFederatedSearchStore(),t=e,a=vue.computed(()=>t.sortOptions.find(r=>r.key===n.sortBy));return(r,s)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsRow,{class:"vs-fed-search-sort"},{default:vue.withCtx(()=>[t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:0,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.fromDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_1$5,vue.toDisplayString(t.fromDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__from-date",value:vue.unref(n).startDate||new Date().toJSON().slice(0,10),type:"date","auto-complete":!1,onInput:s[0]||(s[0]=o=>r.$emit("from-date-updated",o.target.value)),"data-chromatic":"ignore"},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:1,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.toDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_2$4,vue.toDisplayString(t.toDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__to-date",type:"date","auto-complete":!1,onInput:s[1]||(s[1]=o=>r.$emit("end-date-updated",o.target.value)),value:vue.unref(n).endDate||""},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsCol,{cols:"12",md:"4",class:"vs-fed-search-sort__dropdown-wrapper"},{default:vue.withCtx(()=>[vue.createVNode(VsDropdown,{variant:"secondary",id:"vs-fed-search-sort__dropdown",name:"vs-fed-search-sort__dropdown",text:vue.unref(n).sortBy?`${t.sortLabel}: ${a.value.label}`:t.sortLabel},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.sortOptions,(o,i)=>(vue.openBlock(),vue.createBlock(VsDropdownItem,{key:i,onClick:l=>{r.$emit("sort-order-updated",o.key)},active:vue.unref(n).sortBy===o.key,"data-test":`vs-fed-search-sort__dropdown-item--${o.key}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.label),1)]),_:2},1032,["onClick","active","data-test"]))),128))]),_:1},8,["text"])]),_:1})]),_:1}))}}),_hoisted_1$4={class:"vs-federated-search","data-test":"vs-federated-search"},_hoisted_2$3={class:"vs-federated-search__container"},_hoisted_3$3={key:0,class:"vs-federated-search__results","data-chromatic":"ignore"},_hoisted_4$2={key:2,"data-chromatic":"ignore"},_hoisted_5$2={class:"position-relative"},_hoisted_6$2={class:"position-absolute bottom-0 start-0 d-flex gap-2"},_hoisted_7$1={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8$1={class:"truncate-3-lines text-break"},_hoisted_9={class:"d-flex justify-content-end align-items-end mt-050"},_hoisted_10={key:0,class:"d-flex align-items-start flex-grow-1"},_hoisted_11={key:3,class:"vs-federated-search__warning mb-300"},fallbackImg="https://static.visitscotland.com/img/fallback-img.png",_sfc_main$4=Object.assign({status:"deprecated"},{__name:"FederatedSearch",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},eventsApi:{type:String,default:getEnvValue("EVENTS_API_URL")},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},errorMessages:{type:Object,required:!0},fromText:{type:String,default:""},paginationLabels:{type:Object,required:!0},searchLabels:{type:Object,required:!0},sortLabels:{type:Object,required:!0},cardCategoryLabels:{type:Object,required:!0,default:()=>{}},siteLanguage:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},cludoApiOperator:{type:String,default:"or",validator:e=>["and","or"].includes(e)}},setup(e){const n=dataLayerComposable$1(),t=useFederatedSearchStore(),a=vue.ref({message:"",error:!1}),r=e,s=vue.ref(!1),o=vue.computed(()=>{let h;return t.selectedCategoryKey==="events"?h=Math.ceil(t.totalResultsEvents/12):h=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),h});function i(){t.endDate&&t.startDate>t.endDate?(a.value.error=!0,a.value.message=r.errorMessages.incorrectDateOrder):t.selectedCategoryKey==="events"&&t.eventsApiError&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.eventError):(t.searchTerm||t.selectedCategory)&&t.selectedCategoryKey!=="events"&&t.cludoError&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.cludoError):t.totalResults===0&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.noResults):(a.value.error=!1,a.value.message="")}vue.onMounted(async()=>{if(n.createDataLayerObject("siteSearchOpenEvent",{referrer_page:document.referrer}),t.cludoCredentials={apiKey:r.cludoApiKey,customerId:r.cludoCustomerId,engineId:r.cludoEngineId},t.eventsApi=r.eventsApi,t.filters=r.filters,t.siteLanguage=r.siteLanguage,t.cludoApiOperator=r.cludoApiOperator,i(),typeof window<"u"&&typeof document<"u"){window.onbeforeunload=()=>{b()};const h=new URLSearchParams(document.location.search),_=h.get("search-term"),V=parseInt(h.get("page"),10);V&&(t.currentPage=V),_&&(t.searchTerm=_),await t.getSearchResults(),_&&n.createDataLayerObject("siteSearchUsageEvent",{search_query:t.searchTerm,query_input:t.queryInput,results_count:t.totalResults,search_usage_index:t.searchInSessionCount,search_type:"initial",search_origin:"home_page"})}});function l(h){t.startDate=h,t.navigateToResultsPage(!0)}function u(h){t.endDate=h,t.navigateToResultsPage(!0)}function c(h){t.sortBy=h,t.navigateToResultsPage(!0)}function d(h){let _=!1;h>t.currentPage&&(_=!0),t.currentPage=h,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),g(_)}function v(h,_){return h===_?h:`${h} - ${_}`}function f(h){return h===null?"":h.match(/\b\d+\.\d\b/)?`£${h}0`:`£${h}`}function p(h){if(h.url)return h.url;if(h.placeUrl)return h.placeUrl;const _="https://www.datathistle.com/event/",V=encodeURIComponent(h.title.replaceAll(" ","-").toLowerCase());return`${_}${h.parentId}-${V}`}function m(h){s.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:h.title,click_url:p(h),click_category:h.categoryCard&&r.cardCategoryLabels[h.categoryCard]?r.cardCategoryLabels[h.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function g(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:h?"forward":"back",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function b(){s.value||n.createDataLayerObject("siteSearchCloseEvent",{search_query:t.searchTerm,search_usage_index:t.searchInSessionCount,query_input:t.queryInput,page_number:t.currentPage,results_count:t.totalResults})}return vue.onUpdated(()=>{i()}),(h,_)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("div",_hoisted_2$3,[vue.createVNode(_sfc_main$6,{"cludo-api-key":r.cludoApiKey,"cludo-customer-id":r.cludoCustomerId,"cludo-engine-id":r.cludoEngineId,filters:r.filters,"sub-filters":r.subFilters,labels:r.searchLabels},null,8,["cludo-api-key","cludo-customer-id","cludo-engine-id","filters","sub-filters","labels"]),vue.createVNode(_sfc_main$2C,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(V,k)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:k,class:"mb-200"},[vue.renderSlot(h.$slots,`federated-search__spotlight-${V.Key}`)],512)),[[vue.vShow,vue.unref(t).selectedCategoryKey===V.Key]])),128)),vue.unref(t).results?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$3,[vue.createElementVNode("div",null,[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{"heading-style":"heading-m",level:2,class:"my-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.searchResults),1)]),_:1}),vue.unref(t).totalResults!==0?(vue.openBlock(),vue.createBlock(vue.unref(VsDetail),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.resultsFirst)+" "+vue.toDisplayString(vue.unref(t).totalResults)+" "+vue.toDisplayString(r.searchLabels.resultsSecond),1)]),_:1})):vue.createCommentVNode("",!0)]),vue.unref(t).selectedCategoryKey==="events"?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:0,"date-filter-visible":!0,"sort-options":r.sortLabels.sortOptions,"from-date-label":r.sortLabels.dateFrom,"to-date-label":r.sortLabels.dateTo,"sort-label":r.sortLabels.sort,onFromDateUpdated:l,onEndDateUpdated:u,onSortOrderUpdated:c},null,8,["sort-options","from-date-label","to-date-label","sort-label"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),vue.unref(t).isLoading?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsLoading),{key:1})):vue.createCommentVNode("",!0),!vue.unref(t).isLoading&&vue.unref(t).results&&!vue.unref(t).eventsApiError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[vue.createVNode(vue.unref(VsCardGroup),{"cards-per-row":3,class:vue.normalizeClass(vue.unref(t).results&&o.value<=1?"mb-300":null)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).results,V=>(vue.openBlock(),vue.createBlock(vue.unref(VsCard),{key:V.id},{"vs-card-header":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createVNode(vue.unref(LoadingSpinner.VsImg),{src:V.imgSrc||fallbackImg,class:"w-100 aspect-ratio-3-2 rounded-1 object-fit-cover img-zoom-on-hover"},null,8,["src"]),vue.createElementVNode("div",_hoisted_6$2,[V.minPrice?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"information",class:"rounded-top-end rounded-bottom-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.fromText)+" "+vue.toDisplayString(f(V.minPrice)),1)]),_:2},1024)):vue.createCommentVNode("",!0),V.startDate?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:1,variant:"information",class:"rounded-top-end rounded-top-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(v(V.startDate,V.endDate)),1)]),_:2},1024)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_7$1,[V.categoryCard&&e.cardCategoryLabels[V.categoryCard]?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"highlight",class:"rounded-top-start rounded-bottom-start mx-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.cardCategoryLabels[V.categoryCard]),1)]),_:2},1024)):vue.createCommentVNode("",!0)])])]),"vs-card-body":vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsLink),{href:p(V),onClick:k=>m(V),class:"stretched-link",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(V.title),1)]),_:2},1032,["href","onClick"])]),_:2},1024),vue.createVNode(vue.unref(LoadingSpinner.VsBody),null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_8$1,vue.toDisplayString(V.description),1)]),_:2},1024)]),"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[V.location?(vue.openBlock(),vue.createElementBlock("div",_hoisted_10,[vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"fa-solid fa-location-dot",variant:"highlight",class:"me-050",size:"sm"}),vue.createVNode(vue.unref(VsDetail),{"no-margins":"",color:"tertiary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(V.location),1)]),_:2},1024)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[V.dataSrc==="data-thistle"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsIcon),{key:0,icon:"vs-icon-control-external-link",variant:"highlight",size:"sm"})):vue.createCommentVNode("",!0)])])]),_:2},1024))),128))]),_:1},8,["class"]),vue.unref(t).results&&o.value>1?(vue.openBlock(),vue.createBlock(vue.unref(_sfc_main$D),{key:0,class:"vs-federated-search__pagination","number-of-pages":o.value,"next-button-label":r.paginationLabels.nextButtonLabel,"previous-button-label":r.paginationLabels.previousButtonLabel,"page-label":r.paginationLabels.pageLabel,"of-label":r.paginationLabels.ofLabel,modelValue:vue.unref(t).currentPage,"onUpdate:modelValue":_[0]||(_[0]=V=>vue.unref(t).currentPage=V),onPageClick:d},null,8,["number-of-pages","next-button-label","previous-button-label","page-label","of-label","modelValue"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),a.value.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11,[a.value.error?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.value.message),1)]),_:1})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(LoadingSpinner.VsWarning),{"data-test":"vs-federated-search__error--no-js",class:"vs-federated-search__error--no-js mb-300"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.noJs),1)]),_:1})]))}});var define_process_env_default={};function setScriptSrc(e,n){e.src=n}const bootstrap=e=>{var n,t,a,r="The Google Maps JavaScript API",s="google",o="importLibrary",i="__ib__",l=document,u=window,c=u[s]||(u[s]={}),d=c.maps||(c.maps={}),v=new Set,f=new URLSearchParams,p=()=>n||(n=new Promise(async(m,g)=>{var b;await(t=l.createElement("script")),f.set("libraries",[...v]+"");for(a in e)f.set(a.replace(/[A-Z]/g,h=>"_"+h[0].toLowerCase()),e[a]);f.set("callback",s+".maps."+i),setScriptSrc(t,"https://maps.googleapis.com/maps/api/js?"+f),d[i]=m,t.onerror=()=>n=g(Error(r+" could not load.")),t.nonce=((b=l.querySelector("script[nonce]"))==null?void 0:b.nonce)||"",l.head.append(t)}));d[o]?console.warn(r+" only loads once. Ignoring:",e):d[o]=(m,...g)=>v.add(m)&&p().then(()=>d[o](m,...g))},MSG_REPEATED_SET_OPTIONS=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,MSG_IMPORT_LIBRARY_EXISTS=e=>`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(e)}) will be ignored.`,MSG_SET_OPTIONS_NOT_CALLED="No options were set before calling importLibrary. Make sure to configure the loader using setOptions().",MSG_SCRIPT_ELEMENT_EXISTS="There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.",__DEV__$1=define_process_env_default.NODE_ENV!=="production",logDevWarning=__DEV__$1?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=__DEV__$1?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},__DEV__=define_process_env_default.NODE_ENV!=="production";let setOptionsWasCalled_=!1;function setOptions(e){if(setOptionsWasCalled_){logDevWarning(MSG_REPEATED_SET_OPTIONS(e));return}installImportLibrary_(e),setOptionsWasCalled_=!0}async function importLibrary(e){var n,t;if(setOptionsWasCalled_||logDevWarning(MSG_SET_OPTIONS_NOT_CALLED),!((t=(n=window==null?void 0:window.google)==null?void 0:n.maps)!=null&&t.importLibrary))throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function installImportLibrary_(e){var t,a;const n=!!((a=(t=window.google)==null?void 0:t.maps)!=null&&a.importLibrary);n?logDevNotice(MSG_IMPORT_LIBRARY_EXISTS(e)):__DEV__&&document.querySelector('script[src*="maps.googleapis.com/maps/api/js"]')&&logDevWarning(MSG_SCRIPT_ELEMENT_EXISTS),n||bootstrap(e)}const useGoogleMapStore=pinia.defineStore("googleMap",()=>{const e=vue.ref(!0),n=vue.ref(Date.now()),t=vue.ref(!1),a=vue.ref(0),r=vue.ref(0),s=vue.ref(!0),o=vue.ref(!1),i=vue.ref(void 0);return{sidebarOpen:e,timeMounted:n,firstInteraction:t,searchesCount:a,filterUsesCount:r,showDestinations:s,showCategories:o,selectedDestinationType:i}}),_hoisted_1$3={class:"px-125 pb-125"},_sfc_main$3={__name:"MapFeaturedLocationItem",props:{place:{type:Object,default:()=>{}}},setup(e){const n=e,t=useGoogleMapStore(),a=vue.inject("onFeaturedLocationClick");function r(s){t.showDestinations=!1,a(s)}return(s,o)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{cols:"6"},{default:vue.withCtx(()=>[vue.createVNode(VsCard,{"card-style":"overlay",class:"vs-map__controls-featured-place-card",onClick:o[2]||(o[2]=i=>r(n.place))},vue.createSlots({"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$3,[vue.createVNode(LoadingSpinner.VsHeading,{class:"vs-map__controls-featured-place-card-heading","heading-style":"heading-xxxs",level:"2","no-margins":""},{default:vue.withCtx(()=>[vue.createVNode(VsLink,{class:"stretched-link text-decoration-none",href:"#",variant:"on-dark",onKeyup:[o[0]||(o[0]=vue.withKeys(vue.withModifiers(i=>r(n.place),["prevent"]),["enter"])),o[1]||(o[1]=vue.withKeys(vue.withModifiers(i=>r(n.place),["prevent"]),["space"]))]},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.place.properties.title),1)]),_:1})]),_:1})])]),_:2},[n.place.properties.image?{name:"vs-card-image",fn:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{class:"vs-map__controls-featured-place-img w-100 rounded-1 object-fit-cover img-zoom-on-hover",src:n.place.properties.image,"use-lazy-loading":!1},null,8,["src"])]),key:"0"}:void 0]),1024)]),_:1}))}},_hoisted_1$2={class:"mb-100"},_hoisted_2$2={class:"vs-map__destination-types"},_hoisted_3$2={"aria-live":"polite"},_sfc_main$2={__name:"MapFeaturedLocation",props:{locationSelectLabel:{type:String,required:!0}},setup(e){const{categories:n,places:t}=vue.inject("featuredPlaces"),a=vue.inject("addDestinationMarkers"),r=useGoogleMapStore(),s=e;vue.onMounted(()=>{r.selectedDestinationType=n[0].id});const o=u=>r.selectedDestinationType===u?"primary":"secondary",i={cities:"fa-regular fa-city",regions:"fa-regular fa-map-location-dot",islands:"fa-regular fa-island-tropical",towns:"fa-regular fa-house-chimney-window","national-parks":"fa-kit fa-vs-icon-national-park"};function l(u){r.selectedDestinationType=u,a()}return(u,c)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createVNode(VsDetail,{color:"secondary",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.locationSelectLabel),1)]),_:1}),vue.createElementVNode("div",_hoisted_2$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(n),d=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:d.id,icon:i[d.id],size:"sm",variant:o(d.id),onClick:v=>l(d.id)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(d.label),1)]),_:2},1032,["icon","variant","onClick"]))),128))]),vue.createElementVNode("div",_hoisted_3$2,[vue.createVNode(LoadingSpinner.VsRow,{class:"vs-map__destinations"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t),d=>(vue.openBlock(),vue.createBlock(_sfc_main$3,{key:d.properties.id,place:d},null,8,["place"]))),128))]),_:1})])]))}},_hoisted_1$1={class:"vs-map-sidebar__header d-flex"},_hoisted_2$1={class:"vs-map-sidebar__content"},_hoisted_3$1={class:"vs-map-sidebar__input d-flex mt-050 mb-050"},_hoisted_4$1={key:3},_hoisted_5$1={class:"vs-map__categories"},_hoisted_6$1={class:"vs-map-sidebar__sub-filters"},_hoisted_7={class:"vs-map-sidebar__search-results"},_hoisted_8={class:"vs-map-sidebar__google-maps-container"},_sfc_main$1={__name:"MapSidebar",props:{query:{type:String,default:""},selectedCategory:{type:String,default:""},selectedSubcategories:{type:Object,default:void 0},sidebarLabels:{type:Object,required:!0},categories:{type:Object,required:!0},categoryData:{type:Object,default:()=>{}}},emits:["category-selected","reset-location","reset-map","search-input-changed","subcategory-selected"],setup(e){const n=useGoogleMapStore(),t=e,a=vue.computed(()=>t.selectedCategory?t.categories.find(i=>i.id===t.selectedCategory).subCategory:null);function r(o){return Array.from(t.selectedSubcategories).includes(o)?"primary":"secondary"}function s(o){if(!t.categoryData)return null;const i=t.categoryData[o];return i?i.icon:null}return(o,i)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map-sidebar px-125",vue.unref(n).sidebarOpen?"d-block":"d-none"]),"data-test":"vs-map-sidebar"},[vue.createElementVNode("div",_hoisted_1$1,[t.sidebarLabels.headerLabel?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,class:"flex-grow-1","data-test":"vs-map-sidebar__heading","heading-style":"heading-xxs",id:"vs-map-sidebar__heading",level:"1"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.headerLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__sidebar-control vs-map-siderbar__sidebar-control--dismiss","data-test":"vs-map-siderbar__sidebar-control--dismiss",icon:"vs-icon-control-dismiss","icon-only":"",variant:"subtle",onClick:i[0]||(i[0]=l=>vue.unref(n).sidebarOpen=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.closeSidebarButtonLabel),1)]),_:1})]),vue.createElementVNode("div",_hoisted_2$1,[t.query||t.selectedCategory?(vue.openBlock(),vue.createElementBlock("a",{key:0,href:"#","data-test":"vs-map-sidebar__hard-reset-map",onClick:i[1]||(i[1]=vue.withModifiers(l=>o.$emit("reset-location"),["prevent"])),onKeyup:i[2]||(i[2]=vue.withKeys(vue.withModifiers(l=>o.$emit("reset-location"),["prevent"]),["enter"]))},vue.toDisplayString(t.sidebarLabels.resetLocationLabel),33)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$1,[vue.createVNode(VsInput,{"aria-label":t.sidebarLabels.searchBarAriaLabel,autocomplete:"off",class:"vs-map-sidebar__input flex-grow-1","data-test":"vs-map-search-input","field-name":"vs-map-search-input",placeholder:t.sidebarLabels.inputPlaceholderLabel,onKeyup:i[3]||(i[3]=vue.withKeys(vue.withModifiers(l=>o.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["aria-label","placeholder"]),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__search-button","data-test":"vs-map-sidebar__search-button",icon:"vs-icon-control-search","icon-only":"",rounded:!1,size:"lg",onClick:i[4]||(i[4]=vue.withModifiers(l=>o.$emit("search-input-changed"),["prevent"])),onKeyup:i[5]||(i[5]=vue.withKeys(vue.withModifiers(l=>o.$emit("search-input-changed"),["prevent"]),["enter"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.searchButtonLabel),1)]),_:1})]),t.query||t.selectedCategory?(vue.openBlock(),vue.createElementBlock("a",{key:1,class:"d-block",href:"#","data-test":"vs-map-sidebar__reset-map",onClick:i[6]||(i[6]=vue.withModifiers(l=>o.$emit("reset-map"),["prevent"])),onKeyup:i[7]||(i[7]=vue.withKeys(vue.withModifiers(l=>o.$emit("reset-map"),["prevent"]),["enter"]))},vue.toDisplayString(t.sidebarLabels.clearMapLabel),33)):vue.createCommentVNode("",!0),vue.unref(n).showDestinations?(vue.openBlock(),vue.createBlock(_sfc_main$2,{key:2,"location-select-label":t.sidebarLabels.locationSelectLabel},null,8,["location-select-label"])):vue.createCommentVNode("",!0),vue.unref(n).showCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createElementVNode("div",_hoisted_5$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(t.categories,(l,u)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:u},[l.cmsData?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,class:"vs-map__filter-controls-button",icon:s(l.id),size:"sm",variant:t.selectedCategory===l.id?"primary":"secondary",onClick:c=>o.$emit("category-selected",{id:l.id,key:u})},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(l.label),1)]),_:2},1032,["icon","variant","onClick"]))],64))),128))]),vue.createVNode(VsDetail,{class:"vs-map-sidebar__sub-filter-header",color:"secondary",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.subFilterHeaderLabel),1)]),_:1}),vue.createElementVNode("div",_hoisted_6$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.value,(l,u)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:u,size:"sm",variant:r(l.id),onClick:c=>o.$emit("subcategory-selected",{id:l.id,key:u})},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(l.label),1)]),_:2},1032,["variant","onClick"]))),128))])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_7,[o.$props.query||o.$props.selectedCategory?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"2","heading-style":"heading-xxxs","data-test":"vs-map-sidebar__search-result-query"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.searchResultsLabel)+' "'+vue.toDisplayString(t.query||t.selectedCategory)+'" ',1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_8,[vue.renderSlot(o.$slots,"vs-map-sidebar-search-results")])])]),i[9]||(i[9]=vue.createElementVNode("div",{class:"vs-map-sidebar__footer"},[vue.createElementVNode("hr",{class:"vs-map-sidebar__swipe-tab"})],-1))],2),vue.createVNode(LoadingSpinner.VsButton,{class:vue.normalizeClass(["vs-map-sidebar__sidebar-control vs-map-sidebar__sidebar-control--open",vue.unref(n).sidebarOpen?"d-none":"d-block"]),"data-test":"vs-map-sidebar__sidebar-control--open",size:"sm",icon:"fa-regular fa-sliders","icon-only":"",onClick:i[8]||(i[8]=l=>vue.unref(n).sidebarOpen=!0)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.openSidebarButtonLabel),1)]),_:1},8,["class"])],64))}},cookieCheckerComposable=()=>{const e=vue.ref([]),n=vue.ref(!1),t=vue.ref(!1),a=vue.computed(()=>typeof window<"u"&&window.bypassCookiesRequired?!0:n.value),r=vue.computed(()=>typeof window<"u"&&window.bypassCookiesLoaded?!0:{cookieManagerLoaded:t});function s(){t.value=!0}function o(){let i=!1;typeof CookieControl<"u"&&e.value&&(i=e.value.every(l=>CookieControl.getCategoryConsent(l)===!0)),n.value=i}return vue.onMounted(()=>{window.addEventListener("cookieManagerLoaded",()=>{s()}),window.addEventListener("cookiesUpdated",()=>{o()})}),{requiredCookies:e,cookiesAllowed:a,cookiesLoaded:r}};function dataLayerComposable(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function a(l,u){const c={};return l.forEach(d=>{c[d]=u[d]||void 0,d==="language"&&c[d]===void 0&&(c[d]=u.site_language||void 0)}),c}function r(){return new Date(Date.now()).toISOString()}function s(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function o(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,v,f;switch(l){case"googleMapSearchEvent":c="map_search",d={event:c,search_query:u.search_query,search_map_location:u.search_map_location,search_results_count:u.search_results_count,search_usage_index:u.search_usage_index},v=s(d),f=a(LoadingSpinner.googleMapSearchTemplate,v);break;case"googleMapFilterEvent":c="map_filter_interaction",d={event:c,filter_type:u.filter_type,search_map_location:u.search_map_location,filter_selection:u.filter_selection,results_count:u.results_count,filter_usage_index:u.filter_usage_index},v=s(d),f=a(LoadingSpinner.googleMapFilterInteractionTemplate,v);break;case"googleMapTimeToFirstInteractionEvent":c="map_time_to_first_interaction",d={event:c,time_to_first_interaction_ms:u.time_to_first_interaction_ms,first_interaction_type:u.first_interaction_type},v=s(d),f=a(LoadingSpinner.googleMapTimeToFirstInteractionTemplate,v);break;case"googleMapInteractionEvent":c="map_interaction_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,map_location:u.map_location,visible_attractions_count:u.visible_attractions_count,card_attraction_name:u.card_attraction_name,card_attraction_category:u.card_attraction_category,card_attraction_url:u.card_attraction_url,card_attraction_rating:u.card_attraction_rating,interaction_timestamp_ms:u.interaction_timestamp_ms},v=s(d),f=a(LoadingSpinner.googleMapInteractionTemplate,v);break}f&&o(f)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:s,returnIsoDate:r,pushToDataLayer:o,dataLayerStore:e}}function useViewportController(){const e=vue.ref(void 0),n=vue.ref(!1),t=vue.ref(!1),a=vue.ref(!1),r=1;function s(d){return{bounds:d.getBounds(),center:d.getCenter(),zoom:d.getZoom()}}function o(d,v){const p=(v.lat-d.lat)*(Math.PI/180),m=(v.lng-d.lng)*(Math.PI/180),g=d.lat*(Math.PI/180),b=v.lat*(Math.PI/180),h=m*Math.cos((g+b)/2);return Math.sqrt(h*h+p*p)*6371e3}function i(d){return d<6?1e4:d<10?2500:d<14?800:300}function l(d){if(!e.value)return!1;const v={lat:e.value.center.lat(),lng:e.value.center.lng()},f={lat:d.center.lat(),lng:d.center.lng()},p=o(v,f),m=i(d.zoom),g=Math.abs(e.value.zoom-d.zoom);return p>m||g>=r}let u=null;function c(d){t.value=!0,d(),u&&clearTimeout(u),u=setTimeout(()=>{t.value=!1},200)}return{getViewport:s,hasViewportChanged:l,isProgrammaticMove:t,isUserMove:a,lastSearchViewport:e,runProgrammaticMove:c,showSearchAreaButton:n}}const _hoisted_1={class:"vs-map"},_hoisted_2={class:"vs-map__controls"},_hoisted_3={key:0,class:"mt-075 mb-150"},_hoisted_4={class:"vs-map__wrapper"},_hoisted_5={id:"vs-map","map-id":"vs-map",ref:"vsMap","data-chromatic":"ignore"},_hoisted_6={key:0,class:"vs-map__search-area"},MAX_ZOOM=17,CATEGORY_VISIBLE_ZOOM=11,NUMBER_OF_RESULTS=20,_sfc_main={__name:"MainMap",props:{apiKey:{type:String,default:getEnvValue("GOOGLE_MAPS_API_KEY")},mapId:{type:String,default:"vs-map"},mapTypeVector:{type:Boolean,default:!1},center:{type:Object,default:()=>({lat:56.490153,lng:-4.10959})},zoom:{type:Number,default:6},radius:{type:Number,default:1e3},labels:{type:Object,default:()=>{}},languageCode:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},categoriesLocation:{type:String,default:""},categoryLabels:{type:Object,default:()=>{}},featuredPlaces:{type:Object,default:void 0},noJsMessage:{type:String,required:!0},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noResultsMessage:{type:String,required:!0},resetMapNoResultsMessage:{type:String,required:!0},alertText:{type:String,default:void 0}},setup(e){const n=dataLayerComposable(),t=e,a=t.categoryLabels.find(O=>O.id==="destinations"),r=a?a.subCategory:null,s=vue.computed(()=>t.featuredPlaces.filter(O=>O.properties.category.id===P.selectedDestinationType));vue.provide("featuredPlaces",{categories:r,places:s}),vue.provide("onFeaturedLocationClick",Be),vue.provide("addDestinationMarkers",Ve);let o,i,l,u,c,d,v,f,p,m,g={},b;const h=vue.ref(),_=vue.ref(new Set),V=vue.ref(),k=vue.ref(new Set),N=vue.ref(new Set),L=vue.ref(new Set),S=vue.ref(new Set),R=vue.ref(),M=vue.ref(),C=vue.ref(t.zoom),D=vue.ref(!1),B=vue.ref(),E=vue.ref(new Set),w=vue.ref(),T=vue.ref(!1),A=vue.ref(void 0),$=vue.ref(!1),I=vue.computed(()=>{const O=new Map,F=G[h.value].subCategory;return Object.values(F).forEach(z=>{O.set(z.id,{includedTypes:z.includedType,excludedTypes:z.excludedType})}),O}),P=useGoogleMapStore(),H=vue.ref(void 0);let j;const J=vue.ref(void 0),ee={north:61,south:54.6,west:-8.7,east:.3};let G={};const X=t.categoryLabels;let Q=0;const ue={headerLabel:t.labels.heading,closeSidebarButtonLabel:t.labels.closeSidebarBtn,searchBarAriaLabel:t.labels.searchBarAriaLabel,inputPlaceholderLabel:t.labels.inputPlaceholder,searchButtonLabel:t.labels.searchButton,clearMapLabel:t.labels.clearMap,resetLocationLabel:t.labels.resetLocation,subFilterHeaderLabel:t.labels.subFilterHeader,searchResultsLabel:t.labels.searchResults,openSidebarButtonLabel:t.labels.openSidebarButton,locationSelectLabel:t.labels.locationSelect},{getViewport:ie,hasViewportChanged:me,isProgrammaticMove:le,isUserMove:ce,lastSearchViewport:se,runProgrammaticMove:Y,showSearchAreaButton:de}=useViewportController();vue.onBeforeMount(()=>{const O=cookieCheckerComposable();O.requiredCookies.value=cookieValues$5.google_maps,j=vue.computed(()=>!O.cookiesAllowed.value&&O.cookiesLoaded.value===!0||!O.cookiesLoaded.value?(J.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(F=>{G=F.data,A.value=F.data.accommodation.keywords}).catch(()=>{}),j.value===!1){setOptions({key:t.apiKey,v:"quarterly",libraries:["maps","places","marker","core","geometry"],region:"GB",language:t.languageCode});try{await importLibrary("maps"),await importLibrary("places"),await importLibrary("marker"),await importLibrary("core"),await importLibrary("geometry")}catch{console.error("Google Maps Library load error")}}i=document.getElementById("vs-map"),l=document.getElementById("nearbySearch"),u=document.getElementById("textSearch"),c=document.querySelector("gmp-place-text-search-request"),d=document.querySelector("gmp-place-nearby-search-request"),v=document.querySelector("gmp-place-details"),f=document.getElementById("placeRequest"),p=document.getElementById("vs-map-search-input");async function O(){try{const F={center:{lat:t.center.lat,lng:t.center.lng},renderingType:t.mapTypeVector?google.maps.RenderingType.VECTOR:google.maps.RenderingType.RASTER,zoom:t.zoom,isFractionalZoomEnabled:!0,mapId:t.mapId,restriction:{latLngBounds:ee},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1,gestureHandling:"greedy"};if(i)o=new google.maps.Map(i,F),Y(()=>o.fitBounds(ee));else throw new Error("Init error, mapContainer undefined")}catch(F){console.error("Maps init error",F.message)}m=new google.maps.InfoWindow,m.addListener("closeclick",()=>{pe("card_close",f.place)}),be(),o.addListener("zoom_changed",()=>{C.value=o.getZoom(),C.value<CATEGORY_VISIBLE_ZOOM?be():be(!0),ce.value=!le.value,C.value>7&&!le.value&&ce.value&&(de.value=!0)}),o.addListener("dragstart",()=>{ce.value=!0}),o.addListener("tilesloaded",()=>{$.value||($.value=!0,Ve())}),o.addListener("idle",()=>{b=Me(),!le.value&&ce.value&&me(ie(o))&&(de.value=!0,ce.value=!1)}),l.addEventListener("gmp-select",({place:F})=>{g[F.id]&&ye(F,g[F.id])}),u.addEventListener("gmp-select",({place:F})=>{g[F.id]&&ye(F,g[F.id])})}P.firstInteraction=!1,P.searchesCount=0,P.filterUsesCount=0,j.value===!1&&await O()});function be(O){const F={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},z=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ7Q8cbLY0ZEgRouilirxxux4","ChIJ1YEuRDCFY0gRDeDw8bxbAuo","ChIJv-VNj0VoEkYRK9BkuJ07sKE","ChIJ-1-U7rYnS0YRzZLgw9BDh1I","ChIJ8fA1bTmyXEYRYm-tjaLruCI","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8","ChIJa76xwh5ymkcRW-WRjmtd6HU","ChIJu-SH28MJxkcRnwq9_851obM","ChIJuwtkpGSZAEcR6lXMScpzdQk","ChIJl5fz7WR9wUcR8g_mObTy60c","ChIJMVd4MymgVA0R99lHx5Y__Ws","ChIJ_ZqKe2cw6UYREPzyaM3PAAA","ChIJE74zDxSU3UYRubpdpdNUCvM","ChIJ4wsuREWc40YRewI60MRYJR4","ChIJ_UuggpyUkkYRwyW0T7qf6kA","ChIJ3fYyS9_KgUYREKh1PNZGAQA","ChIJQ2Dro1Ir0kgRmkXB5TQEim8","ChIJFXfA47sNok4RGOIUAYOdzzQ","ChIJI9HkgQm_ikYR8i7GR23fEbY","ChIJUXXYvLMei0YR7zdFQUIM8bA","ChIJRyEhyrlFlUcR75LTAvZg22Q"],q=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8"],U=o.getFeatureLayer(google.maps.FeatureType.COUNTRY),W=o.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);O?(U.style=null,W.style=null,U.style=Z=>{if(q.includes(Z.feature.placeId))return F},W.style=Z=>{if(q.includes(Z.feature.placeId))return F}):(U.style=Z=>{if(z.includes(Z.feature.placeId))return F},W.style=Z=>{if(z.includes(Z.feature.placeId))return F})}function Ee(O,F){se.value&&(Y(()=>o.setCenter(se.value.center)),Y(()=>o.setZoom(se.value.zoom))),ae.value="",ve(O,F)}function ve(O,F){_e(),h.value=O,G[O].includedType&&k.value.add(G[O].includedType),Object.values(G[O].subCategory).forEach(q=>k.value.add(q.includedType)),Object.values(G[O].subCategory).forEach(q=>{q.excludedType&&N.value.add(q.excludedType)}),k.value=new Set(Array.from(k.value).flat()),N.value=new Set(Array.from(N.value).flat()),k.value.forEach(q=>{N.value.has(q)&&N.value.delete(q)}),V.value=G[O],R.value=F,ge({includedTypes:Array.from(k.value),excludedTypes:Array.from(N.value)});const z=Object.fromEntries(X.map(q=>[q.id,q.label]));B.value=`${z[O]} ${ae.value}`,p.value=B.value,P.showCategories=!0,de.value=!1}function he(O,F){const z=vue.ref([]),q=vue.ref();return O.forEach(()=>{X.forEach(U=>{U.id===h.value&&(z.value=U)}),Object.values(z.value).forEach(U=>{Object.values(U).forEach(W=>{F===W.id&&(q.value=W.label)})})}),q}function we(){L.value.forEach(O=>{S.value.has(O)&&S.value.delete(O)})}function xe(O,{includeTypes:F=!1,excludeTypes:z=!1,removeIncludedTypes:q=!1,removeExcludedTypes:U=!1}={}){var Z;const W=I.value.get(O);F&&W.includedTypes.forEach(te=>{F&&L.value.add(te),q&&L.value.delete(te)}),(z||U)&&((Z=W.excludedTypes)==null||Z.forEach(te=>{z&&S.value.add(te),U&&S.value.delete(te)}))}function Te(O,F){se.value&&(Y(()=>o.setCenter(se.value.center)),Y(()=>o.setZoom(se.value.zoom))),ae.value="",De(O,F)}function De(O,F){if(M.value=F,ae.value="",O==="self-catering"){T.value=!0,ke(),_.value=new Set,_.value.add(O);const z=he(_.value,O).value;B.value=z,_e(),p.value=`${B.value} ${ae.value}`,Se(),p.value=z}else _.value.has(O)?(_.value.delete(O),L.value=new Set,S.value=new Set,_.value.forEach(z=>{xe(z,{includeTypes:!0,excludeTypes:!0})}),we(),E.value.delete(he(_.value,O).value),_.value.size===0?(E.value=new Set,ve(h.value,R.value)):(ge({includedTypes:Array.from(L.value).flat(),excludedTypes:Array.from(S.value).flat()}),B.value=Array.from(E.value).join(", "),p.value=B.value)):(_.value.add(O),xe(O,{includeTypes:!0,excludeTypes:!0}),we(),ge({includedTypes:Array.from(L.value).flat(),excludedTypes:Array.from(S.value).flat()}),E.value.add(he(_.value,O).value),B.value=`${Array.from(E.value).join(", ")} ${ae.value}`,p.value=B.value,P.showCategories=!0)}async function ge({includedTypes:O=[],excludedTypes:F=[]}={}){fe(),ke(),Q+=1;const z=Q;P.filterUsesCount+=1,w.value="nearby";const q=o.getBounds(),U=q.getNorthEast(),W=q.getSouthWest(),Z=google.maps.geometry.spherical.computeDistanceBetween(U,W),te=Math.min(Z/2,25e3);d.includedTypes=O,d.excludedTypes=F??[],d.maxResultCount=NUMBER_OF_RESULTS,d.locationRestriction={center:o.getCenter(),radius:te},l.style.display="block",l.addEventListener("gmp-load",()=>{if(z!==Q)return;$e(z);let oe="main",Ne=h.value;_.value.size&&(oe="sub",Ne=Array.from(_.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:oe,search_map_location:o.getCenter().toString(),filter_selection:Ne,results_count:l.places.length,filter_usage_index:P.filterUsesCount}),Ce("map_filter")},{once:!0})}async function Se(){fe(),_e(),Q+=1;const O=Q;P.searchesCount+=1,w.value="text",B.value=p.value.trim(),B.value&&(T.value?(c.locationBias=null,c.locationRestriction=o.getBounds()):(c.locationRestriction=null,c.locationBias=o.getCenter()),c.includedType=A.value.some(F=>B.value.toLowerCase().includes(F))?"lodging":null,c.textQuery=`${B.value} in Scotland`,c.maxResultCount=NUMBER_OF_RESULTS,u.style.display="block",u.addEventListener("gmp-load",()=>{O===Q&&($e(O),T.value=!1,n.createDataLayerObject("googleMapSearchEvent",{search_query:B.value,search_map_location:o.getCenter().toString(),search_results_count:u.places.length,search_usage_index:P.searchesCount}),Ce("map_search"))},{once:!0}),P.showDestinations=!1,P.showCategories=!0)}async function $e(O){const{AdvancedMarkerElement:F}=await importLibrary("marker"),{LatLngBounds:z}=await importLibrary("core");if(O!==Q)return;const q=vue.ref();w.value==="nearby"?q.value=l:w.value==="text"?q.value=u:console.error("Unrecognised Search type"),q.value.places.length===0?(H.value=!0,q.value.style.display="none"):(H.value=!1,q.value.style.display="block");const U=new z;q.value.places&&(q.value.places.forEach(W=>{const Z=document.createElement("div");Z.classList.add("vs-map-marker");const te=document.createElement("i");te.classList.add("fa-solid","fa-location-dot"),Z.appendChild(te);const oe=new F({map:o,position:W.location,content:Z,title:"Map pin"});oe.addEventListener("gmp-placeclick",()=>{ye(W)}),oe.addListener("click",()=>{ye(W)}),oe.metadata={id:W.id},g[W.id]=oe,U.extend(W.location),q.value.places.length===1?(Y(()=>o.setCenter({lat:W.location.lat(),lng:W.location.lng()})),Y(()=>o.setZoom(14)),Y(()=>o.fitBounds(W.viewport))):(Y(()=>o.setCenter(U.getCenter())),Y(()=>o.fitBounds(U)))}),se.value=ie(o))}async function Ve(){const{AdvancedMarkerElement:O}=await importLibrary("marker");Le(),s.value.forEach(F=>{const z=document.createElement("div");z.classList.add("vs-map-marker");const q=document.createElement("i");q.classList.add("fa-solid","fa-location-dot"),z.appendChild(q);const U=new O({map:o,position:{lat:F.properties.locationCentre.latitude,lng:F.properties.locationCentre.longitude},content:z,title:F.properties.title});U.addListener("gmp-click",()=>Be(F)),g[F.properties.title]=U})}function fe(O,F){P.showCategories=!1,Le(),w.value="",d.includedTypes=null,d.excludedTypes=null,d.locationRestriction=null,l.style.display="none",c.includedType=null,c.locationRestriction=null,c.locationBias=null,c.textQuery=null,u.style.display="none",D.value=!1,m&&m.close&&m.close(),H.value=void 0,O&&(ke(),_e(),pe("clear_all"),Ve(),P.showDestinations=!0),F&&(Y(()=>o.setCenter(t.center)),Y(()=>o.setZoom(t.zoom)),Y(()=>o.fitBounds(ee)),pe("reset_map"))}function ke(){B.value=null,p.value=""}function _e(){h.value=void 0,_.value=new Set,k.value=new Set,N.value=new Set,L.value=new Set,S.value=new Set,E.value=new Set,R.value=void 0,M.value=void 0}function Le(){for(const O in g)g[O]&&(g[O].map=null);g={}}function ye(O){m.isOpen&&(m.close(),pe("card_close",f.place)),f.place=O,window.innerWidth<=768?(v.style.width="85vw",v.style.height="32em",P.sidebarOpen=!1):(v.style.width="20em",v.style.height="32em"),v.style.display="block",v.style.overflowY="auto",v.style.overflowX="hidden",v.style.boxSizing="border-box",v.style.maxHeight="32em",m.setOptions({content:v,maxWidth:"25em",position:O.location,pixelOffset:new google.maps.Size(0,-32)}),m.open({map:o}),google.maps.event.addListenerOnce(o,"idle",()=>{o.getZoom()>MAX_ZOOM&&Y(()=>o.setZoom(MAX_ZOOM)),pe("card_open",O)}),Y(()=>o.setCenter(O.location))}async function pe(O,F){let z="",q="",U="",W="";F&&(await F.fetchFields({fields:["displayName","primaryType","rating","websiteURI"]}),z=F.displayName,q=F.rating,U=F.websiteURI,W=F.primaryType),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:O,search_query:p.value.trim(),map_location:o.getCenter().toString(),visible_attractions_count:b,card_attraction_name:z,card_attraction_category:W,card_attraction_rating:q,card_attraction_url:U,interaction_timestamp_ms:Date.now()}),Ce(O)}function Ce(O){if(!P.firstInteraction){const z=Date.now()-P.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:z,first_interaction_type:O}),P.firstInteraction=!0}}function Me(){const O=o.getBounds();if(!O)return 0;let F=0;for(let z=0;z<Object.keys(g).length;z++){const U=g[Object.keys(g)[z]].position;O.contains(U)&&(F+=1)}return F}const ae=vue.ref("");function Be(O){P.showDestinations=!1,ae.value=O.properties.title,Y(()=>o.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(O.properties.viewport.low.latitude,O.properties.viewport.low.longitude),new google.maps.LatLng(O.properties.viewport.high.latitude,O.properties.viewport.high.longitude)))),Y(()=>o.setCenter(new google.maps.LatLng(O.properties.locationCentre.latitude,O.properties.locationCentre.longitude))),ve("things-to-do",2)}function Ie(){if(P.showDestinations=!1,P.sidebarOpen=!0,ae.value="",de.value=!1,_.value.size>0){ge({includedTypes:Array.from(L.value),excludedTypes:Array.from(S.value)});const O=[];_.value.forEach(F=>{O.push(he(_.value,F).value)}),B.value=O.join(", "),p.value=B.value,P.showCategories=!0;return}if(h.value){ve(h.value,R.value);return}if(p.value){Se();return}ve("things-to-do",2)}return(O,F)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(j)?"d-none":""])},[vue.withDirectives(vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{categories:vue.unref(X),"category-data":vue.unref(G),query:B.value,"selected-category":h.value,"selected-subcategories":_.value,"sidebar-labels":ue,onCategorySelected:F[1]||(F[1]=z=>Ee(z.id,z.key)),onResetMap:F[2]||(F[2]=z=>fe(!0)),onResetLocation:F[3]||(F[3]=z=>fe(!0,!0)),onSearchInputChanged:Se,onSubcategorySelected:F[4]||(F[4]=z=>Te(z.id,z.key))},{"vs-map-sidebar-search-results":vue.withCtx(()=>[H.value||t.alertText&&H.value===!1?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3,[H.value?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,id:"vs-map__alert",size:"small"},{default:vue.withCtx(()=>[vue.createElementVNode("span",null,[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage)+" ",1),vue.createElementVNode("a",{href:"#",onClick:F[0]||(F[0]=vue.withModifiers(z=>fe(!0,!0),["prevent"]))},vue.toDisplayString(e.resetMapNoResultsMessage),1)])]),_:1})):(vue.openBlock(),vue.createBlock(vue.unref(VsDetail),{key:1,class:"mb-150",color:"secondary",icon:"vs-icon-feedback-information","icon-variant":"highlight",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.alertText),1)]),_:1}))])):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>[...F[5]||(F[5]=[vue.createElementVNode("div",{id:"search-container"},[vue.createElementVNode("gmp-place-search",{id:"nearbySearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-nearby-search-request",{id:"nearbySearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])]),vue.createElementVNode("gmp-place-search",{id:"textSearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-text-search-request",{id:"textSearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])]),_:1}))]),_:1},8,["categories","category-data","query","selected-category","selected-subcategories"])],512),[[vue.vShow,$.value]]),vue.createElementVNode("div",_hoisted_4,[vue.createElementVNode("div",_hoisted_5,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>[...F[6]||(F[6]=[vue.createElementVNode("div",{id:"detail-container"},[vue.createElementVNode("gmp-place-details",{id:"placeDetails",style:{display:"none"}},[vue.createElementVNode("gmp-place-details-place-request",{id:"placeRequest"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-website"),vue.createElementVNode("gmp-place-phone-number"),vue.createElementVNode("gmp-place-summary"),vue.createElementVNode("gmp-place-type-specific-highlights"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-feature-list"),vue.createElementVNode("gmp-place-media",{"lightbox-preferred":""}),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])]),_:1})),vue.unref(de)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6,[vue.createVNode(vue.unref(LoadingSpinner.VsButton),{icon:"vs-icon-control-search",variant:"secondary",onClick:Ie},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.searchAreaButton),1)]),_:1})])):vue.createCommentVNode("",!0)])],2),vue.unref(j)&&J.value==="noCookie"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0,type:"cookie",class:vue.normalizeClass(["vs-map__error vs-map__error--no-cookies",vue.unref(j)?"d-block":"d-none"]),"data-test":"vs-map__warning--no-cookies"},{"button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noCookiesMessage)+" ",1)]),_:1},8,["class"])):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsWarning),{class:"vs-map__warning vs-map__warning--no-js","data-test":"vs-map__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noJsMessage),1)]),_:1})]))}};exports.VsBody=LoadingSpinner.VsBody;exports.VsButton=LoadingSpinner.VsButton;exports.VsButtonToggleGroup=LoadingSpinner.VsButtonToggleGroup;exports.VsCol=LoadingSpinner.VsCol;exports.VsContainer=LoadingSpinner.VsContainer;exports.VsHeading=LoadingSpinner.VsHeading;exports.VsIcon=LoadingSpinner.VsIcon;exports.VsImg=LoadingSpinner.VsImg;exports.VsLoadingSpinner=LoadingSpinner.VsLoading;exports.VsRow=LoadingSpinner.VsRow;exports.VsWarning=LoadingSpinner.VsWarning;exports.VsAccordion=VsAccordion;exports.VsAccordionItem=VsAccordionItem;exports.VsAccordionToggle=VsAccordionToggle;exports.VsAddress=Address;exports.VsAlert=VsAlert;exports.VsArticle=Article;exports.VsArticleDetails=ArticleDetails;exports.VsArticleSection=ArticleSection;exports.VsArticleSidebar=ArticleSidebar;exports.VsBackToTop=_sfc_main$2v;exports.VsBadge=VsBadge;exports.VsBanner=Banner;exports.VsBreadcrumb=Breadcrumb;exports.VsBreadcrumbItem=BreadcrumbItem;exports.VsCannedSearch=CannedSearch;exports.VsCaption=Caption;exports.VsCarbonCalculator=CarbonCalculator;exports.VsCard=VsCard;exports.VsCardGroup=VsCardGroup;exports.VsCarousel=VsCarousel;exports.VsCarouselSlide=CarouselSlide;exports.VsCheckbox=VsCheckbox;exports.VsContentSwiper=ContentSwiper;exports.VsContentSwiperSlide=SwiperSlide;exports.VsDescriptionList=DescriptionList;exports.VsDescriptionListItem=DescriptionListItem;exports.VsDetail=VsDetail;exports.VsDropdown=VsDropdown;exports.VsDropdownItem=VsDropdownItem;exports.VsEmbedWrapper=EmbedWrapper;exports.VsEventCard=EventCard;exports.VsFederatedSearch=_sfc_main$4;exports.VsFederatedSearchInput=_sfc_main$6;exports.VsFilter=_sfc_main$1K;exports.VsFilterSection=_sfc_main$1J;exports.VsFooter=Footer;exports.VsFooterAccordionItem=FooterAccordionItem;exports.VsFooterCopyright=FooterCopyright;exports.VsFooterNavListItem=FooterNavListItem;exports.VsFooterSocialItem=FooterSocialItem;exports.VsFooterSocialMenu=FooterSocialMenu;exports.VsFooterUtilityList=FooterUtilityList;exports.VsForm=Form;exports.VsGlobalMenu=GlobalMenu;exports.VsGlobalMenuLanguage=GlobalMenuLanguage;exports.VsGlobalMenuLanguageItem=GlobalMenuLanguageItem;exports.VsHeroSection=HeroSection;exports.VsHtmlError=HtmlError;exports.VsIconList=IconList;exports.VsIconListItem=IconListItem;exports.VsIllustratedMap=IllustratedMap;exports.VsImageWithCaption=ImageWithCaption;exports.VsInput=VsInput;exports.VsItinerary=Itinerary;exports.VsItineraryBorderOverlapWrapper=ItineraryBorderOverlapWrapper;exports.VsItineraryDay=ItineraryDay;exports.VsItineraryStop=ItineraryStop;exports.VsItineraryStopInfo=ItineraryStopInfo;exports.VsItineraryTips=ItineraryTips;exports.VsLink=VsLink;exports.VsLinkList=VsLinkList;exports.VsLinkListItem=LinkListItem;exports.VsList=VsList;exports.VsListicleItem=ListicleItem;exports.VsMainMap=_sfc_main;exports.VsMediaCaption=VsMediaCaption;exports.VsMegaNavAccordionItem=MegaNavAccordionItem;exports.VsMegaNavDropdownContainer=MegaNavDropdownContainer;exports.VsMegaNavFeaturedEvent=MegaNavFeaturedEvent;exports.VsMegaNavFeaturedItem=MegaNavFeaturedItem;exports.VsMegaNavList=MegaNavList;exports.VsMegaNavListItem=MegaNavListItem;exports.VsMegaNavStaticLink=MegaNavStaticLink;exports.VsMegalinkLinkList=MegalinkLinkList;exports.VsMegalinkMultiImage=MegalinkMultiImage;exports.VsMegalinkSingleImage=MegalinkSingleImage;exports.VsMegalinks=Megalinks;exports.VsMeganav=MegaNav;exports.VsModal=Modal;exports.VsModuleWrapper=VsModuleWrapper;exports.VsNavigationBar=NavigationBar;exports.VsNavigationBarMenu=NavigationBarMenu;exports.VsNavigationBarMenuDropdown=NavigationBarMenuDropdown;exports.VsNavigationBarMenuItem=NavigationBarMenuItem;exports.VsNavigationBarSearch=NavigationBarSearch;exports.VsNavigationBarSidebar=VsNavigationSidebar;exports.VsNavigationBarSidebarButton=VsNavigationBarSidebarButton;exports.VsNumberInput=VsNumberInput;exports.VsPageIntro=PageIntro;exports.VsPagination=_sfc_main$D;exports.VsPanel=Panel;exports.VsProductSearch=ProductSearch;exports.VsProgressBar=VsProgressBar;exports.VsQuote=Quote;exports.VsRadioButton=VsRadioButton;exports.VsRecaptcha=VsRecaptcha;exports.VsSectionHeader=SectionHeader;exports.VsSelect=VsSelect;exports.VsSiteSearch=VsSiteSearch;exports.VsSiteSearchForm=VsSiteSearchForm;exports.VsSkiScotlandCard=SkiScotlandCard;exports.VsSkiScotlandStatus=SkiScotlandStatus;exports.VsSkipTo=SkipTo;exports.VsSocialCreditLink=SocialCreditLink;exports.VsSocialShare=SocialShare;exports.VsSocialShareItem=SocialShareItem;exports.VsSpotlightSection=SpotlightSection;exports.VsStretchedLinkCard=VsStretchedLinkCard;exports.VsStretchedLinkPanel=VsStretchedLinkPanels;exports.VsStyledList=_sfc_main$g;exports.VsStyledListItem=_sfc_main$f;exports.VsSummaryBoxDistanceListItem=SummaryBoxDistanceListItem;exports.VsSummaryBoxList=SummaryBoxList;exports.VsSummaryBoxListItem=SummaryBoxListItem;exports.VsSvg=VsSvg;exports.VsSvgLink=VsSvgLink;exports.VsTabItem=TabItem;exports.VsTable=VsTable;exports.VsTableBody=VsTableBody;exports.VsTableDataCell=VsTableDataCell;exports.VsTableFooter=VsTableFooter;exports.VsTableHead=VsTableHead;exports.VsTableHeaderCell=VsTableHeaderCell;exports.VsTableRow=VsTableRow;exports.VsTabs=Tabs;exports.VsTag=Tag;exports.VsTagManagerWrapper=TagManagerWrapper;exports.VsTextarea=VsTextarea;exports.VsToggleButton=VsToggleButton;exports.VsTooltip=VsTooltip;exports.VsTourismInfo=TourismInfo;exports.VsVideo=VsVideo;exports.VsVideoCaption=VsVideoCaption;
|
|
154
|
+
Install the correct version for Vue 2.x: "npm i vue-combo-blocks@vue2"`);var VueComboBlocks=vue.defineComponent({name:"vue-combo-blocks",emits:{select:null,"update:modelValue":null,"input-value-change":null,"is-open-change":null,"hovered-index-change":null,"state-change":null,change:null,"show-list":null,focus:null,hover:null},props:getProps(isVue3),watch:{modelValue:function e(n){isControlledProp(this.$props,"modelValue")&&(this.inputValue=this.itemToString(n),this.selectedItem=n)}},beforeCreate,data:function e(){return getInitialData(this.modelValue,this.itemToString)},computed:Object.assign({},computed),methods:Object.assign({},{setState:function e(n,t){var a=this.$data,r=this.stateReducer(a,{changes:n,type:t}),s=hasOwnProperty(r,"selectedItem"),o=r.selectedItem!==a.selectedItem;s&&(this.$emit("select",r.selectedItem,t),o&&this.$emit("update:modelValue",r.selectedItem,t));var i={};for(var l in r)hasOwnProperty(r,l)&&a[l]!==r[l]&&(i[l]=r[l],this[l]=i[l],l==="inputValue"?this.$emit("input-value-change",r[l],t):l==="isOpen"?this.$emit("is-open-change",r[l],t):l==="hoveredIndex"&&this.$emit("hovered-index-change",r[l],t));this.$emit("state-change",i,t)}},methods),render:function e(){return this.$slots.default(slot(this))}});VueComboBlocks.stateChangeTypes=sct;const _hoisted_1$r={"data-test":"vs-autocomplete",class:"vs-autocomplete mb-100"},_hoisted_2$l=["for"],_hoisted_3$f=["placeholder","onClick"],_hoisted_4$c=["name"],_sfc_main$B=vue.defineComponent({__name:"Autocomplete",props:{id:{},label:{},mode:{},multiselectLabel:{},name:{},options:{},placeholder:{},trackBy:{},isTourLocation:{type:Boolean},defaultVal:{}},emits:["changeValue"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref([]),s=vue.ref(t.options),o=v=>v?v[u.value]:"",i=v=>{s.value=t.options.filter(f=>f[u.value].toLowerCase().includes(v.toLowerCase()))},l=v=>{typeof t.trackBy<"u"?a("changeValue",v[t.trackBy]):a("changeValue",v.label)},u=vue.computed(()=>typeof t.multiselectLabel<"u"?t.multiselectLabel:"name"),c=vue.computed(()=>{if(typeof r.value=="string"){if(t.isTourLocation){const v=t.options.find(f=>f.name===r.value);if(typeof v<"u")return v.slug.trim()}return r.value.trim()}else if(typeof r.value=="object"&&Object.keys(r.value).length>0)return o(r.value).trim()}),d=vue.computed(()=>!!(c.value&&c.value.length>0));return vue.watch(()=>r.value,()=>{r.value===null&&(r.value=[])}),vue.onMounted(()=>{typeof t.defaultVal<"u"&&(r.value=t.defaultVal)}),(v,f)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[vue.createElementVNode("label",{for:e.id},vue.toDisplayString(e.label),9,_hoisted_2$l),vue.createVNode(vue.unref(VueComboBlocks),{"input-id":e.id,modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=p=>r.value=p),itemToString:o,items:s.value,onInputValueChange:i,onSelect:l},{default:vue.withCtx(({getInputProps:p,getInputEventListeners:m,hoveredIndex:g,isOpen:b,getMenuProps:h,getMenuEventListeners:_,getItemProps:V,getItemEventListeners:k,getComboboxProps:N,openMenu:L})=>[vue.createElementVNode("div",vue.mergeProps(N(),{class:"vs-autocomplete__list-wrapper"}),[vue.createElementVNode("input",vue.mergeProps({class:"vs-input form-control"},p(),vue.toHandlers(m(),!0),{placeholder:e.placeholder,onClick:S=>L()}),null,16,_hoisted_3$f),vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-expand",variant:"cta",size:"sm"}),vue.withDirectives(vue.createElementVNode("ul",vue.mergeProps(h(),vue.toHandlers(_(),!0),{class:"vs-autocomplete__list"}),[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.value,(S,R)=>(vue.openBlock(),vue.createElementBlock("li",vue.mergeProps({key:S.id},{ref_for:!0},V({item:S,index:R}),vue.toHandlers(k({item:S,index:R}),!0),{class:["vs-autocomplete__list-item",{"vs-autocomplete__list-item--hover":g===R}]}),vue.toDisplayString(S[u.value]),17))),128))],16),[[vue.vShow,b]])],16)]),_:1},8,["input-id","modelValue","items"]),d.value?vue.withDirectives((vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:e.name,"onUpdate:modelValue":f[1]||(f[1]=p=>c.value=p)},null,8,_hoisted_4$c)),[[vue.vModelText,c.value]]):vue.createCommentVNode("",!0)]))}}),_hoisted_1$q={class:"vs-date-input","data-test":"vs-date-input"},_hoisted_2$k=["for"],_hoisted_3$e=["min","name","id"],_sfc_main$A=vue.defineComponent({__name:"DateInput",props:{label:{},id:{},name:{},value:{},minDate:{}},emits:["changeDate"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.value),s=vue.computed(()=>new Date().toISOString().split("T")[0]);return vue.watch(()=>t.value,o=>{r.value=o,a("changeDate",r.value)}),(o,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createElementVNode("label",{for:e.id},vue.toDisplayString(e.label),9,_hoisted_2$k),vue.withDirectives(vue.createElementVNode("input",{type:"date",min:typeof e.minDate<"u"&&e.minDate.length>0?e.minDate:s.value,name:e.name,id:e.id,"onUpdate:modelValue":i[0]||(i[0]=l=>r.value=l),onChange:i[1]||(i[1]=l=>o.$emit("changeDate",r.value)),class:"form-control vs-input"},null,40,_hoisted_3$e),[[vue.vModelText,r.value]])]))}}),_hoisted_1$p={class:"vs-date-range","data-test":"vs-date-range"},_hoisted_2$j={class:"row align-items-center"},_hoisted_3$d={class:"col-12 col-sm-5 order-1"},_hoisted_4$b={class:"col-12 col-sm-5 order-2"},_hoisted_5$b={class:"col-12 col-sm-2 order-first order-sm-3 text-sm-right"},_hoisted_6$b={key:1,type:"hidden",name:"refine-date",value:"on"},_hoisted_7$9=["value"],_sfc_main$z=vue.defineComponent({__name:"DateRange",props:{startLabel:{type:String,required:!1,default:"Start Date"},endLabel:{type:String,required:!1,default:"End Date"},defaultDates:{type:Boolean,default:!1},selectedProd:{type:String,required:!0}},emits:["dateUpdated"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(""),s=vue.ref(""),o=vue.computed(()=>!!r.value||!!s.value),i=vue.computed(()=>{const h=new Date(s.value),_=new Date(r.value),V=h.getTime()-_.getTime();return isNaN(V)?1:V/(1e3*3600*24)});function l(){r.value="",s.value=""}const u=h=>{const _=h.toLocaleString("default",{year:"numeric"}),V=h.toLocaleString("default",{month:"2-digit"}),k=h.toLocaleString("default",{day:"2-digit"});return`${_}-${V}-${k}`},c=vue.computed(()=>r.value===""?u(new Date):""),d=vue.computed(()=>{let h;if(r.value!==""){const _=new Date(r.value);_.setDate(_.getDate()+1),h=u(_)}else if(t.defaultDates){const _=new Date,V=new Date(_);V.setDate(V.getDate()+1),h=u(V)}return h}),v=vue.computed(()=>{let h;if(r.value===""){const _=new Date,V=new Date(_);V.setDate(V.getDate()+1),h=u(V)}else{const _=new Date,V=new Date(r.value);_.setDate(V.getDate()+1),h=u(_)}return h});function f(){const h=new Date(r.value);new Date(s.value)<=h&&(s.value="")}function p(){const h=!(!r.value&&!s.value);a("dateUpdated",h)}function m(){p(),f()}const g=vue.computed(()=>t.selectedProd==="acco"?"stay":"isostartdate"),b=vue.computed(()=>t.selectedProd==="acco"?"endDate":"isoenddate");return(h,_)=>(vue.openBlock(),vue.createElementBlock("fieldset",_hoisted_1$p,[vue.createElementVNode("div",_hoisted_2$j,[vue.createElementVNode("div",_hoisted_3$d,[vue.createVNode(_sfc_main$A,{label:e.startLabel,value:e.defaultDates&&r.value===""&&s.value?c.value:r.value,name:g.value,id:"startDate",onChangeDate:_[0]||(_[0]=V=>{r.value=V,m()}),class:"mb-100"},null,8,["label","value","name"])]),vue.createElementVNode("div",_hoisted_4$b,[vue.createVNode(_sfc_main$A,{label:e.endLabel,value:e.defaultDates&&s.value===""&&r.value?d.value:s.value,"min-date":v.value,name:b.value,id:"endDate",onChangeDate:_[1]||(_[1]=V=>{s.value=V,m()}),class:"mb-100"},null,8,["label","value","min-date","name"])]),vue.createElementVNode("div",_hoisted_5$b,[o.value?(vue.openBlock(),vue.createElementBlock("button",{key:0,id:"clearDateRange",type:"button",onClick:l,class:"vs-date-range__clear"},vue.toDisplayString(vue.unref(getLabelText)("reset","Clear")),1)):vue.createCommentVNode("",!0),e.selectedProd!=="acco"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_6$b)):vue.createCommentVNode("",!0),vue.createElementVNode("input",{type:"hidden",name:"nights",value:i.value},null,8,_hoisted_7$9)])])]))}}),_hoisted_1$o={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},_hoisted_2$i={key:0,class:"container"},_hoisted_3$c={class:"row"},_hoisted_4$a={class:"col-12"},_hoisted_5$a=["action"],_hoisted_6$a={class:"form-group product-search__type mb-100"},_hoisted_7$8={for:"prodtypes"},_hoisted_8$6={class:"product-search__in d-none d-md-block mt-100"},_hoisted_9$5={"aria-live":"polite"},_hoisted_10$5=["disabled","value"],_hoisted_11$4=["disabled","value"],_hoisted_12$2=["value"],_hoisted_13$2={key:4,type:"hidden",name:"areaproxdist",value:"10"},_hoisted_14$1={key:5},_hoisted_15$1={key:0,class:"form-group"},_hoisted_16$1={for:"search-keyword"},_hoisted_17$1={key:6},_hoisted_18={key:0},_hoisted_19=["value"],__default__=vue.defineComponent({mixins:[LoadingSpinner.dataLayerMixin],methods:{trackSubmit(e,n){this.createDataLayerObject("productSearchDataEvent",{searchType:e,searchLocation:n.name},this.href)}}}),_sfc_main$y=vue.defineComponent({...__default__,__name:"ProductSearchEmbed",props:{defaultProd:{type:String,default:"acti,attr,reta",validator(e){return["acco","cate","even","tour","acti,attr,reta"].includes(e)}},defaultLocale:{type:String,default:"",validator(e){return["en","fr","de","es","it","nl",""].includes(e)}},defaultLocation:{type:String,default:""}},setup(e){const n=e,t=vue.ref(!1),a=vue.ref(),r=vue.ref([]);vue.ref(null);let s=vue.ref();s.value={id:"",key:"",name:"",type:""};const o=vue.ref("off"),i=vue.ref(!1),l=vue.computed(()=>{const $=typeof a.value>"u"?"see-do":a.value;return`/info/${LoadingSpinner.paths[$]}`});let u=vue.ref(!1);const c={en:{localeUrl:""},fr:{localeUrl:"fr-fr"},de:{localeUrl:"de-de"},es:{localeUrl:"es-es"},it:{localeUrl:"it-it"},nl:{localeUrl:"nl-nl"}},d=vue.computed(()=>{let $=n.defaultLocale.length>0?n.defaultLocale:getLocale();return $==="en"&&($=""),$}),v=vue.computed(()=>{if(typeof window<"u"){let $=window.location.origin;return $.includes("localhost")?"https://www.visitscotland.com":$}return"https://www.visitscotland.com"}),f=vue.computed(()=>`${v.value}${d.value?"/"+d.value:""}${l.value}/search-results`),m="https://www.visitscotland.com/data/locations"+`?locale=${d.value}`,g=vue.ref([]),b="https://www.visitscotland.com/tms-api/v1/attractions",h=vue.ref([]),_="https://www.visitscotland.com/tms-api/v1/origins?active=1",V=vue.ref([]),k=vue.ref([]),N=()=>{const $=getProductTypes(),I=[];$.forEach(P=>{I.push(P)}),k.value=I},L=vue.computed(()=>t.value?[]:k.value.map(I=>({...I,text:getProductName(I.value,I.text)}))),S=async()=>{const $=await getData(m);$&&(g.value=$.data)},R=async()=>{const $=await getData(_);$&&(V.value=$.data)},M=async()=>{const $=await getData(b);$&&(h.value=$.data)},C=($,I)=>{I==="key"?s.value=g.value.find(P=>P.key===$):I==="id"?s.value=g.value.find(P=>P.id===$):s.value=g.value.find(P=>P.name===$.trim())},D=$=>{const I=$.value;a.value=I,I==="tour"&&(R(),M())},B=()=>c[n.defaultLocale]||"",E=()=>{t.value=!0,vue.nextTick(()=>{t.value=!1,n.defaultLocation!==""&&u&&C(n.defaultLocation,"id")})},w=vue.computed(()=>a.value!=="cate"&&a.value!=="acti,attr,reta"?"d-lg-flex":"");vue.onBeforeMount(async()=>{window.VS={};const $=document.createElement("script");$.async=!1,$.onload=E,$.setAttribute("src",`https://www.visitscotland.com/${B().localeUrl}/data/template/search.js`),document.head.appendChild($)}),vue.onMounted(async()=>{S(),u.value=!0,a.value=n.defaultProd,a.value==="tour"&&(R(),M()),N()});const T=$=>{o.value=$?"on":"off"},A=$=>{i.value=!0;const I=$.currentTarget;setTimeout(function(){I.submit()},500)};return($,I)=>{var P,H,j,J,ee,G;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$o,[t.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$i,[vue.createElementVNode("div",_hoisted_3$c,[vue.createElementVNode("div",_hoisted_4$a,[vue.unref(u)?(vue.openBlock(),vue.createElementBlock("form",{key:0,action:f.value,onSubmit:vue.withModifiers(A,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[vue.createElementVNode("div",_hoisted_6$a,[vue.createElementVNode("label",_hoisted_7$8,vue.toDisplayString(vue.unref(getLabelText)("search_for","I'm looking for")),1),vue.createElementVNode("div",{class:vue.normalizeClass(w.value)},[vue.createVNode(VsSelect,{options:L.value,value:e.defaultProd,onUpdated:I[0]||(I[0]=X=>D(X)),"field-name":"prodtypes"},null,8,["options","value"]),vue.createElementVNode("div",_hoisted_8$6,vue.toDisplayString(vue.unref(getLabelText)("in","in")),1)],2)]),vue.createElementVNode("div",_hoisted_9$5,[a.value!="tour"&&vue.unref(u)?(vue.openBlock(),vue.createBlock(_sfc_main$B,{key:0,id:"search-location",label:vue.unref(getLabelText)("location","Location"),"multiselect-label":"name",name:"loc",options:g.value,placeholder:vue.unref(getLabelText)("location_placeholder","Enter a location"),"track-by":"name",onChangeValue:I[1]||(I[1]=X=>C(X)),"default-val":vue.unref(s),"data-chromatic":"ignore"},null,8,["label","options","placeholder","default-val"])):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"locplace",disabled:((P=vue.unref(s))==null?void 0:P.type)==="POLYGON",value:((H=vue.unref(s))==null?void 0:H.key)||""},null,8,_hoisted_10$5)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:2,type:"hidden",name:"locpoly",disabled:((j=vue.unref(s))==null?void 0:j.type)!=="POLYGON",value:((J=vue.unref(s))==null?void 0:J.key)||""},null,8,_hoisted_11$4)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:3,type:"hidden",name:"locprox",value:((ee=vue.unref(s))==null?void 0:ee.type)==="DISTRICT"?1:0},null,8,_hoisted_12$2)):vue.createCommentVNode("",!0),a.value!=="tour"&&((G=vue.unref(s))==null?void 0:G.type)==="DISTRICT"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_13$2)):vue.createCommentVNode("",!0),a.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[vue.createVNode(_sfc_main$z,{"start-label":vue.unref(getLabelText)("startdate","Start Date","dates"),"end-label":vue.unref(getLabelText)("enddate","End Date","dates"),onDateUpdated:I[2]||(I[2]=X=>T(X)),"default-dates":i.value,"selected-prod":a.value},null,8,["start-label","end-label","default-dates","selected-prod"]),a.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15$1,[vue.createElementVNode("label",_hoisted_16$1,vue.toDisplayString(vue.unref(getLabelText)("keywords","Keywords")),1),vue.createVNode(VsInput,{"field-name":"search-keyword",placeholder:vue.unref(getLabelText)("events_keywords_placeholder","Highland games, music festivals etc"),name:"name"},null,8,["placeholder"])])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$1,[...I[4]||(I[4]=[vue.createElementVNode("input",{hidden:"true",name:"avail",value:"off"},null,-1)])])):vue.createCommentVNode("",!0)]),a.value==="tour"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_18,[vue.createVNode(_sfc_main$B,{id:"tour-origin",label:vue.unref(getLabelText)("tour_origin","Starting point"),"multiselect-label":"name",name:"origins[]",options:V.value,placeholder:vue.unref(getLabelText)("tour_origin_placeholder","Location"),"track-by":"name","is-tour-location":!0},null,8,["label","options","placeholder"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.value,X=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",name:"attractions[]",value:X},null,8,_hoisted_19))),256)),vue.createVNode(_sfc_main$B,{id:"tour-month",label:vue.unref(getLabelText)("tour_month","I'm traveling in"),"multiselect-label":"label",name:"when",options:vue.unref(getLabelText)("months",vue.unref(LoadingSpinner.monthsEnglish)),placeholder:vue.unref(getLabelText)("tour_month_placeholder","Select month"),"track-by":"value"},null,8,["label","options","placeholder"])])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"mt-150","data-test":"psw-submit",type:"submit",onClick:I[3]||(I[3]=X=>$.trackSubmit(a.value,typeof vue.unref(s)>"u"?"":vue.unref(s)))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("search","Search")),1)]),_:1})],40,_hoisted_5$a)):vue.createCommentVNode("",!0),vue.unref(u)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsLoading,{key:1,variant:"dark"}))])])]))])}}}),_sfc_main$x={name:"VsProductSearch",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsProductSearchEmbed:_sfc_main$y,VsHeading:LoadingSpinner.VsHeading,VsWarning:LoadingSpinner.VsWarning},props:{noJsMessage:{type:String,required:!0},defaultLocation:{type:String,default:""},defaultProd:{type:String,default:"acti,attr,reta"},defaultLocale:{type:String,default:"en"}}},_hoisted_1$n={class:"vs-product-search","data-test":"vs-product-search"},_hoisted_2$h={class:"vs-product-search__intro"};function _sfc_render$n(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsProductSearchEmbed"),u=vue.resolveComponent("VsWarning"),c=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-product-search__col vs-product-search__col--left",xl:"7"},{default:vue.withCtx(()=>[vue.createVNode(o,{level:"2",headingStyle:"heading-l",class:"vs-product-search__heading mt-0"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-module-heading")]),_:3}),vue.createElementVNode("div",_hoisted_2$h,[vue.renderSlot(e.$slots,"vs-module-intro")])]),_:3}),vue.createVNode(i,{class:"vs-product-search__col vs-product-search__col--right",xl:"5"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-product-search__widget","default-location":t.defaultLocation,"default-locale":t.defaultLocale,"default-prod":t.defaultProd},null,8,["default-location","default-locale","default-prod"]),vue.createVNode(u,{class:"vs-product-search__no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})]),_:1})]),_:3})]),_:3})])}const ProductSearch=LoadingSpinner._export_sfc(_sfc_main$x,[["render",_sfc_render$n]]),_sfc_main$w={name:"VsQuote",status:"prototype",release:"0.0.1",components:{VsDetail,VsBody:LoadingSpinner.VsBody},props:{quoteText:{type:String,default:""},quoteName:{type:String,default:""},useLegacy:{type:Boolean,default:!0},variant:{type:String,default:"narrow",validator:e=>e.match(/(narrow|wide)/)},withBorder:{type:Boolean,default:!1}},computed:{hasAuthorName(){return!!this.$slots["quote-author-name"]},hasAuthorTitle(){return!!this.$slots["quote-author-title"]},hasAuthorImage(){return!!this.$slots["quote-image"]},variantClass(){return[{"vs-quote--narrow":this.variant==="narrow","vs-quote--wide":this.variant==="wide","vs-quote--with-border":this.withBorder}]}}},_hoisted_1$m={key:0,class:"vs-quote-new vs-quote-new--blockquote","data-test":"vs-quote-new"},_hoisted_2$g={class:"vs-quote-new__wrapper"},_hoisted_3$b={class:"vs-quote__text"},_hoisted_4$9={key:0,class:"vs-quote__name"},_hoisted_5$9={key:0},_hoisted_6$9={key:0,class:"vs-quote__speech-container"},_hoisted_7$7={key:1,class:"vs-quote__author-container"},_hoisted_8$5={class:"vs-quote__content-container"},_hoisted_9$4={class:"vs-quote__content"},_hoisted_10$4={key:0,class:"vs-quote__author-name"},_hoisted_11$3={key:2,class:"vs-quote__quote-link"};function _sfc_render$m(e,n,t,a,r,s){const o=vue.resolveComponent("VsBody"),i=vue.resolveComponent("VsDetail");return t.useLegacy?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(["vs-quote",s.variantClass]),"data-test":"vs-quote"},[t.withBorder?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$9,[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-quote__speech-mark"},"“",-1)])])),s.hasAuthorImage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$7,[vue.renderSlot(e.$slots,"quote-image")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_8$5,[vue.createElementVNode("div",_hoisted_9$4,[vue.renderSlot(e.$slots,"quote-content")]),s.hasAuthorName?(vue.openBlock(),vue.createElementBlock("p",_hoisted_10$4,[vue.renderSlot(e.$slots,"quote-author-name")])):vue.createCommentVNode("",!0),s.hasAuthorTitle?(vue.openBlock(),vue.createElementBlock("p",{key:1,class:vue.normalizeClass(["vs-quote__author-title",t.variant==="narrow"?"vs-quote__author-title--narrow-margin":null])},[vue.renderSlot(e.$slots,"quote-author-title")],2)):vue.createCommentVNode("",!0),e.$slots["quote-link"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11$3,[vue.renderSlot(e.$slots,"quote-link",{if:"$slots['quote-link']"})])):vue.createCommentVNode("",!0)])],2)):(vue.openBlock(),vue.createElementBlock("blockquote",_hoisted_1$m,[vue.createElementVNode("div",_hoisted_2$g,[vue.createVNode(o,null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_3$b,vue.toDisplayString(t.quoteText),1)]),_:1}),t.quoteName||e.$slots["quote-details"]?(vue.openBlock(),vue.createBlock(i,{key:0,color:"secondary",size:"small"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,[t.quoteName?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$9,[vue.createTextVNode(vue.toDisplayString(t.quoteName),1),e.$slots["quote-details"]?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$9,", ")):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"quote-details")])]),_:3})):vue.createCommentVNode("",!0)])]))}const Quote=LoadingSpinner._export_sfc(_sfc_main$w,[["render",_sfc_render$m]]),_sfc_main$v={name:"VsSectionHeader",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol},props:{anchorId:{type:String,default:null},heading:{type:String,required:!0}}},_hoisted_1$l={class:"vs-section-header","data-test":"vs-section-header"},_hoisted_2$f={key:1,class:"mt-175","data-test":"vs-section-header__actions"};function _sfc_render$l(e,n,t,a,r,s){const o=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsHeading"),u=vue.resolveComponent("VsBody"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(o,null,{default:vue.withCtx(()=>[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-section-header__divider"},null,-1)])]),_:1})]),_:1}),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(o,{cols:"12",sm:"7",md:"6",lg:"4"},{default:vue.withCtx(()=>[vue.createVNode(l,{level:"2","heading-style":"heading-l","no-margins":"",class:"mb-175 mb-lg-0",id:t.anchorId},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.heading),1)]),_:1},8,["id"])]),_:1}),vue.createVNode(o,{cols:"12",sm:"10",md:"9",lg:"8"},{default:vue.withCtx(()=>[e.$slots["section-header-lede"]?(vue.openBlock(),vue.createBlock(u,{key:0,variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"section-header-lede")]),_:3})):vue.createCommentVNode("",!0),e.$slots["section-header-actions"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$f,[vue.renderSlot(e.$slots,"section-header-actions")])):vue.createCommentVNode("",!0)]),_:3})]),_:3})]),_:3})])}const SectionHeader=LoadingSpinner._export_sfc(_sfc_main$v,[["render",_sfc_render$l]]),_sfc_main$u={name:"VsTable",status:"prototype",release:"0.0.1",components:{BTableSimple:LoadingSpinner.ol},props:{tableCaption:{type:String,required:!0},tableType:{type:String,default:"responsive",validator:e=>e.match(/(responsive|stacked)/)}},computed:{responsive(){return this.tableType==="responsive"},stacked(){return this.tableType==="stacked"}}},_hoisted_1$k={class:"visually-hidden","data-test":"vs-table__caption"};function _sfc_render$k(e,n,t,a,r,s){const o=vue.resolveComponent("BTableSimple");return vue.openBlock(),vue.createBlock(o,{class:"vs-table","data-test":"vs-table",small:"","caption-top":"",responsive:s.responsive,stacked:s.stacked},{default:vue.withCtx(()=>[vue.createElementVNode("caption",_hoisted_1$k,vue.toDisplayString(t.tableCaption),1),vue.renderSlot(e.$slots,"default")]),_:3},8,["responsive","stacked"])}const VsTable=LoadingSpinner._export_sfc(_sfc_main$u,[["render",_sfc_render$k]]),_sfc_main$t={name:"VsTableHead",status:"prototype",release:"0.0.1",components:{BThead:LoadingSpinner.wn}};function _sfc_render$j(e,n,t,a,r,s){const o=vue.resolveComponent("BThead");return vue.openBlock(),vue.createBlock(o,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableHead=LoadingSpinner._export_sfc(_sfc_main$t,[["render",_sfc_render$j]]),_sfc_main$s={name:"VsTableHeaderCell",status:"prototype",release:"0.0.1",components:{BTh:LoadingSpinner.Ea},props:{stackedHeading:{type:String,default:void 0}}};function _sfc_render$i(e,n,t,a,r,s){const o=vue.resolveComponent("BTh");return vue.openBlock(),vue.createBlock(o,vue.mergeProps({"data-test":"vs-table-header-cell","stacked-heading":t.stackedHeading},e.$attrs),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableHeaderCell=LoadingSpinner._export_sfc(_sfc_main$s,[["render",_sfc_render$i]]),_sfc_main$r={name:"VsTableBody",status:"prototype",release:"0.0.1",components:{BTbody:LoadingSpinner.Bn}};function _sfc_render$h(e,n,t,a,r,s){const o=vue.resolveComponent("BTbody");return vue.openBlock(),vue.createBlock(o,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableBody=LoadingSpinner._export_sfc(_sfc_main$r,[["render",_sfc_render$h]]),_sfc_main$q={name:"VsTableRow",status:"prototype",release:"0.0.1",components:{BTr:LoadingSpinner.Je}};function _sfc_render$g(e,n,t,a,r,s){const o=vue.resolveComponent("BTr");return vue.openBlock(),vue.createBlock(o,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableRow=LoadingSpinner._export_sfc(_sfc_main$q,[["render",_sfc_render$g]]),_sfc_main$p={name:"VsTableDataCell",status:"prototype",release:"0.0.1",components:{BTd:LoadingSpinner.St},props:{stackedHeading:{type:String,default:null}}};function _sfc_render$f(e,n,t,a,r,s){const o=vue.resolveComponent("BTd");return vue.openBlock(),vue.createBlock(o,vue.mergeProps({"data-test":"vs-table-data-cell","stacked-heading":t.stackedHeading},e.$attrs,{scope:null}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableDataCell=LoadingSpinner._export_sfc(_sfc_main$p,[["render",_sfc_render$f]]),_sfc_main$o={name:"VsTableFooter",status:"prototype",release:"0.0.1",components:{BTfoot:LoadingSpinner.Pa}};function _sfc_render$e(e,n,t,a,r,s){const o=vue.resolveComponent("BTfoot");return vue.openBlock(),vue.createBlock(o,vue.mergeProps(e.$attrs,{role:"rowgroup"}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableFooter=LoadingSpinner._export_sfc(_sfc_main$o,[["render",_sfc_render$e]]),_sfc_main$n={name:"VsSkiScotlandCard",status:"prototype",release:"0.0.1",components:{VsImg:LoadingSpinner.VsImg,VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,VsWarning:LoadingSpinner.VsWarning,VsLoadingSpinner:LoadingSpinner.VsLoading,VsButton:LoadingSpinner.VsButton,VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter},props:{centreInfoUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},lastUpdatedLabel:{type:String,default:"Last Updated"},liftsLabel:{type:String,default:"Lifts"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},imgSrc:{required:!0,type:String},imgAlt:{type:String,default:""},pisteMapLabel:{type:String,default:"View Piste Map"},moreDetailsLabel:{type:String,default:"More Details"},pisteMapLink:{type:String,default:""},moreDetailsLink:{type:String,required:!0,default:"#"}},data(){return{statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},runs:[],lifts:[],lastUpdate:"",jsDisabled:!0,isLoading:!0,displayError:!1}},mounted(){this.centreInfoUrl&&this.retrieveCentreInfo(),this.jsDisabled=!1},methods:{retrieveCentreInfo(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.centreInfoUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,s)=>r===s.findIndex(o=>o.name===a.name));n.runs=t}return n},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1;break}this.runs=e}}},_hoisted_1$j={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},_hoisted_2$e={class:"vs-ski-scotland-card__img-container"},_hoisted_3$a={class:"card-body"},_hoisted_4$8={key:0,class:"text-center pb-200 position-relative"},_hoisted_5$8={"data-test":"vs-ski__status-label"},_hoisted_6$8={"data-test":"vs-ski__runs-label"},_hoisted_7$6={"data-test":"vs-ski__lifts-label"},_hoisted_8$4={"data-test":"vs-ski__open-label"},_hoisted_9$3={"data-test":"vs-ski__limited-patrol-label"},_hoisted_10$3={"data-test":"vs-ski__opening-label"},_hoisted_11$2={"data-test":"vs-ski__closed-label"},_hoisted_12$1={"data-test":"vs-ski__on-hold-label"},_hoisted_13$1={"data-test":"vs-ski__last-updated-label"};function _sfc_render$d(e,n,t,a,r,s){const o=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsLoadingSpinner"),u=vue.resolveComponent("VsWarning"),c=vue.resolveComponent("VsTableHeaderCell"),d=vue.resolveComponent("VsTableHead"),v=vue.resolveComponent("VsIcon"),f=vue.resolveComponent("VsTableDataCell"),p=vue.resolveComponent("VsTableRow"),m=vue.resolveComponent("VsTableBody"),g=vue.resolveComponent("VsTableFooter"),b=vue.resolveComponent("VsTable"),h=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createElementVNode("div",_hoisted_2$e,[t.imgSrc?(vue.openBlock(),vue.createBlock(o,{key:0,src:t.imgSrc,alt:t.imgAlt,class:"vs-ski-scotland-card__img","data-test":"vs-ski-scotland-card__img"},null,8,["src","alt"])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_3$a,[vue.createVNode(i,{level:"3","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-name")]),_:3}),r.jsDisabled||r.isLoading||r.displayError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$8,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(l,{class:"mb-100 d-block"}),vue.renderSlot(e.$slots,"data-loading")],64)):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(u,{key:1,size:"small","data-test":"vs-ski-scotland-card__error"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})):vue.createCommentVNode("",!0),r.jsDisabled?(vue.openBlock(),vue.createBlock(u,{key:2,size:"small","data-test":"vs-ski-scotland-card__js-disabled"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(b,{key:1,"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$8,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(c,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_6$8,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_7$6,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-check",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_8$4,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_9$3,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-timer",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_10$3,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-ban",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_11$2,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(p,{key:1},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_12$1,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_13$1,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])):vue.createCommentVNode("",!0),vue.createVNode(h,{variant:"secondary",href:t.pisteMapLink,class:"mb-050",disabled:!t.pisteMapLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.pisteMapLabel),1)]),_:1},8,["href","disabled"]),vue.createVNode(h,{href:t.moreDetailsLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.moreDetailsLabel),1)]),_:1},8,["href"])])])}const SkiScotlandCard=LoadingSpinner._export_sfc(_sfc_main$n,[["render",_sfc_render$d]]),_sfc_main$m={name:"VsSkiScotlandStatus",status:"prototype",release:"0.0.1",components:{VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsAccordion,VsAccordionItem,VsIcon:LoadingSpinner.VsIcon,VsLink,VsHeading:LoadingSpinner.VsHeading,VsLoadingSpinner:LoadingSpinner.VsLoading,VsWarning:LoadingSpinner.VsWarning},props:{skiStatusUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},currentWeatherLabel:{type:String,default:"Current Weather"},detailedStatusLabel:{type:String,default:"Detailed Status"},difficultLabel:{type:String,default:"Difficult"},easyLabel:{type:String,default:"Easy"},intermediateLabel:{type:String,default:"Intermediate"},itinerariesLabel:{type:String,default:"Itineraries"},lastUpdatedLabel:{type:String,default:"Last Updated"},liftLabel:{type:String,default:"Lift"},liftsLabel:{type:String,default:"Lifts"},liftStatusLabel:{type:String,default:"Lift Status"},newsLabel:{type:String,default:"News From The Slopes"},otherLabel:{type:String,default:"Other"},roadsLabel:{type:String,default:"Road Status"},runLabel:{type:String,default:"Run"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},runStatusLabel:{type:String,default:"Run Status"},snowConditionsLabel:{type:String,default:"Snow Conditions Full Report"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},statusClosedLabel:{type:String,default:"Closed"},statusOpenLabel:{type:String,default:"Open"},statusOpeningLabel:{type:String,default:"Opening"},statusLimitedPatrolLabel:{type:String,default:"Limited Patrol"},statusOnHoldLabel:{type:String,default:"On Hold"},veryDifficultLabel:{type:String,default:"Very Difficult"},weatherForecastLabel:{type:String,default:"Weather Forecast"},greenLabel:{type:String,default:"Green"},blueLabel:{type:String,default:"Blue"},redLabel:{type:String,default:"Red"},blackLabel:{type:String,default:"Black"},orangeLabel:{type:String,default:"Orange"},greyLabel:{type:String,default:"Grey"}},data(){return{tokens:LoadingSpinner.designTokens,componentId:0,statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},lifts:[],runs:[],lastUpdate:"",report:"",currentWeather:"",weatherForecast:"",roadStatus:"",news:"",runLevels:[{colour:"green",colourToken:"",id:"easy",name:this.easyLabel,runs:[]},{colour:"blue",colourToken:"",id:"intermediate",name:this.intermediateLabel,runs:[]},{colour:"red",colourToken:"",id:"difficult",name:this.difficultLabel,runs:[]},{colour:"black",colourToken:"",id:"very-difficult",name:this.veryDifficultLabel,runs:[]},{colour:"orange",colourToken:"",id:"itineraries",name:this.itinerariesLabel,runs:[]},{colour:"grey",colourToken:"",id:"other",name:this.otherLabel,runs:[]}],jsDisabled:!0,isLoading:!0,displayError:!1,isCairngorms:!1}},computed:{filteredRunLevels(){return this.setColourToken().filter(n=>n.runs.length>0)}},mounted(){this.skiStatusUrl&&this.retrieveSkiStatus(),this.id=this._uid,this.jsDisabled=!1},methods:{retrieveSkiStatus(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.skiStatusUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.processFullReport(t.report),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,s)=>r===s.findIndex(o=>o.name===a.name));n.runs=t}if(n.runs)for(let t=0;t<n.runs.length;t++)n.runs[t].difficulty===null&&(n.runs[t].difficulty="orange");return n},processFullReport(e){this.report=e.runs,this.currentWeather=e.current_weather_conditions,this.weatherForecast=e.weather_forecast,this.roadStatus=e.access_roads,this.news=e.news_from_the_slopes},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++){switch(e[n].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1;break}for(let t=0;t<this.runLevels.length;t++)this.runLevels[t].colour===e[n].difficulty&&this.runLevels[t].runs.push(e[n])}this.runs=e},getColourLabel(e){return this[`${e}Label`]},setColourToken(){return this.runLevels.map(({...e})=>({...e,colourToken:this.tokens[`vs-color-icon-ski-${e.id}`]}))}}},_hoisted_1$i={class:"vs-ski-scotland-status","data-test":"vs-ski-scotland-status"},_hoisted_2$d={"data-test":"vs-ski__status-label"},_hoisted_3$9={"data-test":"vs-ski__runs-label"},_hoisted_4$7={"data-test":"vs-ski__lifts-label"},_hoisted_5$7={"data-test":"vs-ski__open-label"},_hoisted_6$7={"data-test":"vs-ski__open-label"},_hoisted_7$5={"data-test":"vs-ski__opening-label"},_hoisted_8$3={"data-test":"vs-ski__closed-label"},_hoisted_9$2={"data-test":"vs-ski__open-label"},_hoisted_10$2={"data-test":"vs-ski__last-updated-label"},_hoisted_11$1=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14=["innerHTML"],_hoisted_15=["innerHTML"],_hoisted_16=["data-test"],_hoisted_17={class:"visually-hidden"};function _sfc_render$c(e,n,t,a,r,s){const o=vue.resolveComponent("VsLoadingSpinner"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsWarning"),d=vue.resolveComponent("VsHeading"),v=vue.resolveComponent("VsTableHeaderCell"),f=vue.resolveComponent("VsTableHead"),p=vue.resolveComponent("VsIcon"),m=vue.resolveComponent("VsTableDataCell"),g=vue.resolveComponent("VsTableRow"),b=vue.resolveComponent("VsTableBody"),h=vue.resolveComponent("VsTableFooter"),_=vue.resolveComponent("VsTable"),V=vue.resolveComponent("VsLink"),k=vue.resolveComponent("VsAccordionItem"),N=vue.resolveComponent("VsAccordion");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createBlock(u,{key:0},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(o),vue.renderSlot(e.$slots,"data-loading")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(u,{key:1},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[r.jsDisabled?(vue.openBlock(),vue.createBlock(i,{key:0,cols:"12",md:"6","data-test":"vs-ski__js-disabled"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(i,{key:1,cols:"12",md:"6"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-xs","data-test":"vs-ski__runs-lifts-status-label",class:"d-none d-md-block"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runsLiftsStatusLabel),1)]),_:1}),vue.createVNode(_,{"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$d,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(v,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$9,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$7,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(b,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_5$7,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_6$7,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_7$5,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$3,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(g,{key:1},{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_9$2,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_10$2,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"]),vue.createVNode(V,{href:`#vs-ski-scotland-status__detailed-status-${e.id}`,type:"default",class:"vs-ski-scotland-status__detailed-status-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.detailedStatusLabel),1)]),_:1},8,["href"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,{cols:"12",md:"5","offset-md":"1",class:"vs-ski-scotland-status__centre-info"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-information")]),_:3})]),_:3}),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(l,{key:0},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9",class:"vs-ski-scotland-status__full-report"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__snow-conditions-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.snowConditionsLabel),1)]),_:1}),vue.createElementVNode("div",{innerHTML:r.report},null,8,_hoisted_11$1),r.currentWeather.length?(vue.openBlock(),vue.createBlock(d,{key:0,level:"4","heading-style":"heading-xs","data-test":"vs-ski__current-weather-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.currentWeatherLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.currentWeather.length?(vue.openBlock(),vue.createElementBlock("div",{key:1,innerHTML:r.currentWeather},null,8,_hoisted_12)):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createBlock(d,{key:2,level:"4","heading-style":"heading-xs","data-test":"vs-ski__weather-forecast-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.weatherForecastLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createElementBlock("div",{key:3,innerHTML:r.weatherForecast},null,8,_hoisted_13)):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createBlock(d,{key:4,level:"4","heading-style":"heading-xs","data-test":"vs-ski__roads-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.roadsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createElementBlock("div",{key:5,innerHTML:r.roadStatus},null,8,_hoisted_14)):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createBlock(d,{key:6,level:"4","heading-style":"heading-xs","data-test":"vs-ski__news-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.newsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createElementBlock("div",{key:7,innerHTML:r.news},null,8,_hoisted_15)):vue.createCommentVNode("",!0)]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(l,{key:1},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__lift-status-label",id:`vs-ski-scotland-status__detailed-status-${e.id}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftStatusLabel),1)]),_:1},8,["id"]),vue.createVNode(_,{"table-caption":t.liftStatusLabel,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftLabel),1)]),_:1})]),_:1}),vue.createVNode(b,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.lifts,L=>(vue.openBlock(),vue.createBlock(g,{key:L.name},{default:vue.withCtx(()=>[L.status==="0"||L.status===0?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),L.status==="1"||L.status===1?(vue.openBlock(),vue.createBlock(m,{key:1},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),L.status==="2"||L.status===2?(vue.openBlock(),vue.createBlock(m,{key:2},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),L.status==="3"||L.status===3?(vue.openBlock(),vue.createBlock(m,{key:3},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),L.status==="4"||L.status===4?(vue.openBlock(),vue.createBlock(m,{key:4},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(L.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError&&r.runs.length?(vue.openBlock(),vue.createBlock(l,{key:2},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__run-status-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runStatusLabel),1)]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.filteredRunLevels,L=>(vue.openBlock(),vue.createElementBlock("div",{key:L.name},[vue.createVNode(N,null,{default:vue.withCtx(()=>[vue.createVNode(k,{variant:"subtle","control-id":`accordion_item_${L.name}`,"colour-badge":L.colourToken},{title:vue.withCtx(()=>[vue.createElementVNode("div",{"data-test":`vs-ski__${L.name}-label`,class:"d-inline-block"},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(s.getColourLabel(L.colour)),1),vue.createTextVNode(" "+vue.toDisplayString(L.name),1)],8,_hoisted_16)]),default:vue.withCtx(()=>[vue.createVNode(_,{"table-caption":`${L.colour} - ${L.name}`,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runLabel),1)]),_:1})]),_:1}),vue.createVNode(b,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(L.runs,S=>(vue.openBlock(),vue.createBlock(g,{key:S.name,"data-test":`vs-ski__${L.name}-row`},{default:vue.withCtx(()=>[S.status==="0"||S.status===0?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),S.status==="1"||S.status===1?(vue.openBlock(),vue.createBlock(m,{key:1},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),S.status==="2"||S.status===2?(vue.openBlock(),vue.createBlock(m,{key:2},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),S.status==="3"||S.status===3?(vue.openBlock(),vue.createBlock(m,{key:3},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),S.status==="4"||S.status===4?(vue.openBlock(),vue.createBlock(m,{key:4},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(S.name),1)]),_:2},1024)]),_:2},1032,["data-test"]))),128))]),_:2},1024),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:2},1032,["table-caption"])]),_:2},1032,["control-id","colour-badge"])]),_:2},1024)]))),128))]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:3})])}const SkiScotlandStatus=LoadingSpinner._export_sfc(_sfc_main$m,[["render",_sfc_render$c]]),_sfc_main$l={name:"VsSkipTo",status:"prototype",release:"0.0.1",components:{VsLink},props:{skipToText:{type:String,required:!0},hasSearchLink:{type:Boolean,default:!0}},methods:{mainMenuFocus(){const e=document.getElementsByClassName("vs-mega-nav__menu__mobile")[0],n=document.getElementsByClassName("vs-mega-nav-dropdown")[0];if(!this.isUndefined(n)){let t=n.getElementsByClassName("btn")[0];e.offsetParent!==null?(e.querySelectorAll(".btn.dropdown-toggle")[0].click(),t=document.getElementsByClassName("vs-mega-nav-accordion-item--level-1")[0].querySelectorAll(".vs-button.vs-accordion-toggle")[0],setTimeout(()=>{t.focus()},200)):t.focus()}},footerFocus(){const e=document.getElementsByClassName("vs-footer")[0];if(!this.isUndefined(e)){const n=e.getElementsByClassName("vs-footer-accordion-item")[0],t=n.getElementsByClassName("vs-link")[0],a=n.getElementsByClassName("vs-accordion-toggle")[0];a.offsetParent!==null&&!this.isUndefined(a)&&a.click(),!this.isUndefined(e)&&!this.isUndefined(t)&&(e.scrollIntoView(!0),setTimeout(()=>{t.focus()},200))}},isUndefined(e){return typeof e>"u"}}},_hoisted_1$h=["aria-label"],_hoisted_2$c={class:"vs-skip-to__label",id:"skip-to-label"};function _sfc_render$b(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-skip-to d-flex","data-test":"vs-skip-to","aria-label":t.skipToText},[vue.createElementVNode("p",_hoisted_2$c,vue.toDisplayString(t.skipToText)+": ",1),vue.createVNode(o,{href:"#main-nav","data-test":"vs-skip-to-main-menu",onClick:n[0]||(n[0]=i=>s.mainMenuFocus()),id:"main-menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-menu-text")]),_:3}),t.hasSearchLink?(vue.openBlock(),vue.createBlock(o,{key:0,href:"#site-search-btn","data-test":"vs-skip-to-search",class:"vs-skip-to__search"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"search-text")]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(o,{href:"#main-heading","data-test":"vs-skip-to-main-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-content-text")]),_:3}),vue.createVNode(o,{href:"#site-footer",onClick:n[1]||(n[1]=i=>s.footerFocus()),"data-test":"vs-skip-to-footer"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"footer-text")]),_:3})],8,_hoisted_1$h)}const SkipTo=LoadingSpinner._export_sfc(_sfc_main$l,[["render",_sfc_render$b]]),_sfc_main$k={name:"VsSocialCreditLink",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon:LoadingSpinner.VsIcon},props:{credit:{type:String,required:!0},socialPostUrl:{type:String,required:!0},source:{type:String,required:!0,validator:e=>e.match(/(instagram)/)}}},_hoisted_1$g={class:"social-credit","data-test":"vs-social-credit-link"};function _sfc_render$a(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$g,[t.source?(vue.openBlock(),vue.createBlock(o,{key:0,icon:`fa-brands fa-${t.source}`,variant:"inverse",size:"xs",class:"me-025","data-test":"vs-social-credit-link__icon"},null,8,["icon"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"social-credit__link","data-test":"vs-social-credit-link__link",href:t.socialPostUrl,variant:"on-dark",type:"external"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.credit),1)]),_:1},8,["href"])])}const SocialCreditLink=LoadingSpinner._export_sfc(_sfc_main$k,[["render",_sfc_render$a]]),_sfc_main$j={name:"VsSocialShare",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsHeading:LoadingSpinner.VsHeading,VsModuleWrapper,BPopover:LoadingSpinner.Ka,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol},provide(){return{referringPageUrl:this.pageUrl,pageTitle:this.pageTitle,noJs:this.noJs}},props:{shareBtnText:{type:String,required:!0},sharePopoverTitle:{type:String,required:!0},pageUrl:{type:String,required:!0},pageTitle:{type:String,default:""},closeAltText:{type:String,required:!0},id:{type:String,required:!0},noJs:{type:Boolean,default:!1}},data(){return{copyLink:!1,renderPopover:!1}},mounted(){this.renderPopover=!0},methods:{onClose(e){this.$refs.popover.hide(e)},onShown(){this.focusFirst()},onHidden(){this.focusRef(this.$refs.shareButton)},onHide(e){this.copyLink&&(e.preventDefault(),this.focusFirst(),this.copyLink=!1)},onCopyLink(){this.copyLink=!0},focusRef(e){this.$nextTick(()=>{this.$nextTick(()=>{(e.$el||e).focus()})})},focusFirst(){this.$nextTick(()=>{this.$nextTick(()=>{this.$refs.popoverShareRow.$el.querySelector(".vs-social-share-item a ").focus()})})},tabFromClose(e){e.shiftKey||(e.preventDefault(),this.focusFirst())},tabBackFromHidden(e){e.shiftKey&&(e.preventDefault(),this.focusRef(this.$refs.closeButton))}}};function _sfc_render$9(e,n,t,a,r,s){const o=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("BPopover"),c=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsContainer"),v=vue.resolveComponent("VsModuleWrapper");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-social-share",t.noJs?"vs-module-wrapper__outer--hidden":"vs-module-wrapper__outer--light"]),"data-test":"vs-social-share",ref:"socialShareContainer"},[t.noJs?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(o,{key:0,class:"vs-social-share__share-btn",variant:"subtle",icon:"fa-regular fa-share-nodes",id:`vs-social-share-popover--${t.id}`,ref:"shareButton"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.shareBtnText),1)]),_:1},8,["id"])),!t.noJs&&r.renderPopover?(vue.openBlock(),vue.createBlock(u,{key:1,"custom-class":"vs-social-share__popover",target:`vs-social-share-popover--${t.id}`,click:!0,container:"body",placement:"left-end",offset:"-100",onShown:s.onShown,onHidden:s.onHidden,onHide:s.onHide,ref:"popover"},{default:vue.withCtx(()=>[vue.createVNode(i,{level:"3",tabindex:"0","heading-style":"heading-m",ref:"shareHeader",class:"vs-social-share__header",onKeydown:n[0]||(n[0]=vue.withKeys(f=>s.tabBackFromHidden(f),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1},512),vue.createVNode(l,{ref:"popoverShareRow"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{onCopyLink:s.onCopyLink})]),_:3},512),vue.createVNode(o,{"icon-only":"",class:"vs-social-share__close-btn",icon:"vs-icon-control-dismiss",variant:"subtle",ref:"closeButton",onClick:s.onClose,onKeydown:n[1]||(n[1]=vue.withKeys(f=>s.tabFromClose(f),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeAltText),1)]),_:1},8,["onClick"])]),_:3},8,["target","onShown","onHidden","onHide"])):vue.createCommentVNode("",!0),t.noJs?(vue.openBlock(),vue.createBlock(v,{key:2,class:"vs-social-share--module-list"},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(c,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(i,{level:"2","heading-style":"heading-l",class:"mb-300 mt-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1})]),_:1})]),_:1}),vue.createVNode(l,{class:"justify-content-center"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0)],2)}const SocialShare=LoadingSpinner._export_sfc(_sfc_main$j,[["render",_sfc_render$9]]),socialMediaData={facebook:{color:"#1877f2",icon:"fa-brands fa-facebook",getUrl:(e,n)=>`https://www.facebook.com/sharer/sharer.php?u=${e}&t=${n}`},"x-twitter":{color:"#0F1419",icon:"fa-brands fa-x-twitter",getUrl:(e,n)=>`https://twitter.com/intent/tweet?text=${n}%20@VisitScotland&url=${e}`},pinterest:{color:"#E60023",icon:"fa-brands fa-pinterest",getUrl:e=>`https://www.pinterest.com/pin/create/button/?url=${e}`},whatsapp:{color:"#455a64",icon:"fa-brands fa-whatsapp",getUrl:(e,n)=>`https://wa.me/?text=${n}%20-%20${e}`},email:{color:"#000000",icon:"fa-regular fa-envelope",getUrl:(e,n)=>`mailto:?body=${n}%20-%20${e}&subject=${n}`},link:{color:"#000000",icon:"fa-regular fa-link",getUrl:()=>"#"}},_sfc_main$i={name:"VsSocialShareItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsLink,VsIcon:LoadingSpinner.VsIcon},mixins:[LoadingSpinner.dataLayerMixin],inject:{referringPageUrl:{default:""},pageTitle:{default:""},noJs:{default:""}},props:{name:{type:String,required:!0,validator:e=>e.match(/(facebook|twitter|pinterest|link|email|whatsapp)/)},linkText:{type:String,required:!0},linkCopiedText:{type:String,default:""}},emits:["copyLinkClicked"],data(){return{show:!1}},computed:{iconColour(){var e;return((e=socialMediaData[this.name])==null?void 0:e.color)||"#200F2E"},iconName(){var e;return((e=socialMediaData[this.name])==null?void 0:e.icon)||"fa-solid fa-link"},shareUrl(){const e=socialMediaData[this.name];return(e==null?void 0:e.getUrl(this.referringPageUrl,this.encodedPageTitle))||"#"},encodedPageTitle(){return encodeURI(this.pageTitle)}},methods:{copyToClipboard(e){if(this.name==="link"){if(this.$emit("copyLinkClicked"),!navigator.clipboard)return;navigator.clipboard.writeText&&navigator.clipboard.writeText(this.referringPageUrl),this.show=!0,setTimeout(()=>{this.show=!1},2e3)}this.trackShareClick(e)},trackShareClick(e){this.createDataLayerObject("socialShareDataEvent",e,this.href)}}},_hoisted_1$f={class:"vs-social-share-item__text"};function _sfc_render$8(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink"),l=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(l,{class:"vs-social-share-item","data-test":"vs-social-share-item",cols:4,md:s.noJs?2:4},{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-social-share-item__link",href:s.shareUrl,onClick:n[0]||(n[0]=u=>s.copyToClipboard(u)),id:`vs-share-${t.name}`},{default:vue.withCtx(()=>[vue.createVNode(o,{icon:s.iconName,"custom-colour":s.iconColour,size:"xl","small-size":"lg"},null,8,["icon","custom-colour"]),vue.createElementVNode("span",_hoisted_1$f,vue.toDisplayString(r.show?t.linkCopiedText:t.linkText),1)]),_:1},8,["href","id"])]),_:1},8,["md"])}const SocialShareItem=LoadingSpinner._export_sfc(_sfc_main$i,[["render",_sfc_render$8]]),_sfc_main$h={name:"VsSpotlightSection",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsButton:LoadingSpinner.VsButton},props:{heading:{type:String,required:!0},description:{type:String,default:""},ctaLink:{type:String,required:!0},ctaText:{type:String,required:!0},imageSrc:{type:String,default:""},compact:{type:Boolean,default:!1}},computed:{spotlightSectionClasses(){return{"vs-spotlight-section":!0,"vs-spotlight-section--compact":this.compact,"vs-spotlight-section--standard":!this.compact,"vs-spotlight-section--no-image":!this.imageSrc}}}},_hoisted_1$e={class:"vs-spotlight-section__content-overlay"},_hoisted_2$b={class:"row w-100 m-0"},_hoisted_3$8={class:"col-12 col-sm-7 col-md-8 col-lg-7 col-xl-6 align-self-end p-0"},_hoisted_4$6={key:0,class:"col-12 col-sm-5 col-md-4 col-lg-5 col-xl-6 align-self-sm-end text-sm-end p-0"},_hoisted_5$6={key:0,class:"vs-spotlight-section__media"},_hoisted_6$6={key:1,class:"vs-spotlight-section__overlay-controls"};function _sfc_render$7(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(s.spotlightSectionClasses),style:vue.normalizeStyle(t.imageSrc?{backgroundImage:`url(${t.imageSrc})`}:{}),"data-test":"vs-spotlight-section"},[vue.createElementVNode("div",_hoisted_1$e,[vue.createElementVNode("div",_hoisted_2$b,[vue.createElementVNode("div",_hoisted_3$8,[vue.createVNode(o,{class:"vs-spotlight-section__heading",level:"2","no-margins":"","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.heading),1)]),_:1}),t.description?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-spotlight-section__description","no-margins":""},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.description),1)]),_:1})):vue.createCommentVNode("",!0),t.compact?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(l,{key:1,class:"vs-spotlight-section__cta-button",href:t.ctaLink,size:"sm",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"]))]),t.compact?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$6,[vue.createVNode(l,{class:"vs-spotlight-section__cta-button",href:t.ctaLink,size:"sm",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])])):vue.createCommentVNode("",!0)])]),e.$slots["vs-spotlight-section-media"]&&e.$slots["vs-spotlight-section-media"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$6,[vue.renderSlot(e.$slots,"vs-spotlight-section-media")])):vue.createCommentVNode("",!0),e.$slots["vs-spotlight-section-overlay-controls"]&&e.$slots["vs-spotlight-section-overlay-controls"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$6,[vue.renderSlot(e.$slots,"vs-spotlight-section-overlay-controls")])):vue.createCommentVNode("",!0),n[0]||(n[0]=vue.createElementVNode("div",{class:"vs-spotlight-section__gradient-overlay"},null,-1))],6)}const SpotlightSection=LoadingSpinner._export_sfc(_sfc_main$h,[["render",_sfc_render$7]]),_hoisted_1$d={class:"vs-styled-list__list"},_hoisted_2$a={class:"vs-styled-list__source"},_sfc_main$g={__name:"StyledList",props:{source:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-styled-list",`vs-styled-list--${n.variant}`]),"data-test":"vs-styled-list"},[vue.createVNode(vue.unref(LoadingSpinner.VsContainer),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="icon"?"8":null},{default:vue.withCtx(()=>[vue.createElementVNode("ul",_hoisted_1$d,[vue.renderSlot(t.$slots,"default")])]),_:3},8,["md"])]),_:3}),t.$slots["list-source"]&&t.$slots["list-source"]()?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsRow),{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$a,[vue.renderSlot(t.$slots,"list-source")])]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2))}},_hoisted_1$c={class:"vs-styled-list__item","data-test":"vs-styled-list__item"},_sfc_main$f={__name:"StyledListItem",props:{heading:{type:String,required:!0},headingLevel:{type:Number,default:3,validator:e=>LoadingSpinner.lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},imageSrc:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)},anchorLink:{type:String,default:""}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("li",_hoisted_1$c,[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[n.variant==="image"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsCol),{key:0,cols:"12",md:"2"},{default:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{src:n.imageSrc},null,8,["src"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="image"?"10":"12"},{default:vue.withCtx(()=>[n.variant==="image-horizontal"?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsImg,{key:0,src:n.imageSrc},null,8,["src"])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsHeading,{level:n.headingLevel,"heading-style":"heading-xxs",id:e.anchorLink?e.anchorLink:""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.heading),1)]),_:1},8,["level","id"]),vue.createVNode(LoadingSpinner.VsBody,null,{default:vue.withCtx(()=>[vue.renderSlot(t.$slots,"default")]),_:3})]),_:3},8,["md"])]),_:3})]))}},_sfc_main$e={name:"VsSummaryBoxList",status:"prototype",release:"0.0.1"},_hoisted_1$b={class:"vs-summary-box","data-test":"vs-summary-box-list"},_hoisted_2$9={class:"vs-summary-box__list list-unstyled d-flex flex-wrap p-050 p-sm-075"};function _sfc_render$6(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createElementVNode("ul",_hoisted_2$9,[vue.renderSlot(e.$slots,"default")])])}const SummaryBoxList=LoadingSpinner._export_sfc(_sfc_main$e,[["render",_sfc_render$6]]),_sfc_main$d={name:"VsSummaryBoxListItem",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{text:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},iconLabel:{type:String,default:""}}},_hoisted_1$a={class:"vs-summary-box-item position-relative","data-test":"vs-summary-box-list-item"},_hoisted_2$8={key:0,class:"text-center vs-summary-box-item__label d-block position-absolute w-100","data-test":"vs-summary-box-list-item-label"},_hoisted_3$7={class:"vs-summary-box-item__label-inner"},_hoisted_4$5={key:1,class:"vs-summary-box-item__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-list-item-display"},_hoisted_5$5={key:2,class:"vs-summary-box-item__icon d-flex align-items-center position-absolute justify-content-center w-100","data-test":"vs-summary-box-list-item-icon-with-label"},_hoisted_6$5={class:"icon-wrapper text-end"},_hoisted_7$4={class:"text-wrapper d-block w-auto pt-100"};function _sfc_render$5(e,n,t,a,r,s){const o=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$a,[t.label?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,[vue.createElementVNode("span",_hoisted_3$7,vue.toDisplayString(t.label),1)])):vue.createCommentVNode("",!0),t.text?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$5,[vue.createElementVNode("span",null,vue.toDisplayString(t.text),1)])):vue.createCommentVNode("",!0),t.icon?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$5,[vue.createElementVNode("div",_hoisted_6$5,[vue.createVNode(o,{icon:t.icon,size:"xl"},null,8,["icon"])]),vue.createElementVNode("div",_hoisted_7$4,[vue.createElementVNode("span",null,vue.toDisplayString(t.iconLabel),1)])])):vue.createCommentVNode("",!0)])}const SummaryBoxListItem=LoadingSpinner._export_sfc(_sfc_main$d,[["render",_sfc_render$5],["__scopeId","data-v-eab4f595"]]),_sfc_main$c={name:"VsSummaryBoxDistanceListItem",status:"prototype",release:"0.0.1",props:{miles:{type:String,default:""},kilometres:{type:String,default:""},distanceLabel:{type:String,default:"Distance"},milesLabel:{type:String,default:"miles"},kilometresLabel:{type:String,default:"km"},showMiles:{type:Boolean,default:!0}}},_hoisted_1$9={class:"vs-summary-box-distance position-relative","data-test":"vs-summary-box-distance-list-item"},_hoisted_2$7={key:0,class:"text-center vs-summary-box-distance__label d-block position-absolute w-100","data-test":"vs-summary-box-distance-list-item-label"},_hoisted_3$6={class:"vs-summary-box-distance__label-inner"},_hoisted_4$4={class:"vs-summary-box-distance__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-distance-display"},_hoisted_5$4={class:"vs-summary-box-distance__display-entry"},_hoisted_6$4={class:"vs-summary-box-distance__display-value"},_hoisted_7$3={class:"vs-summary-box-distance__display-label"},_hoisted_8$2={class:"vs-summary-box-distance__display-entry"},_hoisted_9$1={class:"vs-summary-box-distance__display-value"},_hoisted_10$1={class:"vs-summary-box-distance__display-label"};function _sfc_render$4(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$9,[t.distanceLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$7,[vue.createElementVNode("span",_hoisted_3$6,vue.toDisplayString(t.distanceLabel),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$4,[vue.createElementVNode("div",_hoisted_5$4,[vue.createElementVNode("span",_hoisted_6$4,vue.toDisplayString(t.miles),1),vue.createElementVNode("span",_hoisted_7$3,vue.toDisplayString(t.milesLabel),1)]),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-summary-box-distance__divider"},null,-1)),vue.createElementVNode("div",_hoisted_8$2,[vue.createElementVNode("span",_hoisted_9$1,vue.toDisplayString(t.kilometres),1),vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(t.kilometresLabel),1)])])])}const SummaryBoxDistanceListItem=LoadingSpinner._export_sfc(_sfc_main$c,[["render",_sfc_render$4],["__scopeId","data-v-f36a8377"]]),_sfc_main$b={name:"VsTabs",status:"prototype",release:"0.0.1",components:{BTabs:LoadingSpinner.vc},provide(){return{noContainer:vue.computed(()=>this.noContainer)}},props:{noContainer:{type:Boolean,default:!1}}};function _sfc_render$3(e,n,t,a,r,s){const o=vue.resolveComponent("BTabs");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(t.noContainer?"vs-tabs--no-container":"vs-tabs"),"data-test":"vs-tabs"},[vue.createVNode(o,{"no-container":t.noContainer,align:t.noContainer?"center":null},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["no-container","align"])],2)}const Tabs=LoadingSpinner._export_sfc(_sfc_main$b,[["render",_sfc_render$3]]),_sfc_main$a={name:"VsTabItem",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,BTab:LoadingSpinner.dc},mixins:[LoadingSpinner.dataLayerMixin],inject:["noContainer"],props:{title:{type:String,required:!0}},methods:{trackClick(e){this.createDataLayerObject("tabClickEvent",e,null)}}};function _sfc_render$2(e,n,t,a,r,s){const o=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("BTab");return vue.openBlock(),vue.createBlock(i,{class:"vs-tab__item","data-test":"vs-tab__item","title-link-class":s.noContainer?"vs-tab-link--no-container vs-heading":"vs-tab-link vs-heading",title:t.title,onClick:s.trackClick},{default:vue.withCtx(()=>[vue.createVNode(o,{level:"3","heading-style":"heading-xxs",class:"vs-tab__item__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1}),vue.renderSlot(e.$slots,"default")]),_:3},8,["title-link-class","title","onClick"])}const TabItem=LoadingSpinner._export_sfc(_sfc_main$a,[["render",_sfc_render$2]]),_sfc_main$9={name:"VsTag",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,required:!0}}};function _sfc_render$1(e,n,t,a,r,s){const o=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createBlock(o,{class:"vs-tag me-050 mb-100","data-test":"vs-tag",href:t.href},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])}const Tag=LoadingSpinner._export_sfc(_sfc_main$9,[["render",_sfc_render$1]]),_sfc_main$8={name:"VsTagManagerWrapper",status:"prototype",release:"0.0.1",mixins:[LoadingSpinner.dataLayerMixin],props:{payload:{type:Object,default:()=>{}}},mounted(){this.processPayload(this.payload),document.addEventListener("DOMContentLoaded",()=>{this.dataLayerStore.setTestRun(!0),this.dataLayerStore.setPageUrl(window.location.href)}),this.createDataLayerObject("pageViewTemplateDataEvent")},methods:{processPayload(e){e!==void 0&&Object.keys(e).forEach(n=>{const t=n.replace(/-/g,"_");this.dataLayerStore.processPayload({key:t,value:e[n]})})}}},_hoisted_1$8={"data-test":"vs-tag-manager-wrapper",class:"d-none"};function _sfc_render(e,n,t,a,r,s){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$8)}const TagManagerWrapper=LoadingSpinner._export_sfc(_sfc_main$8,[["render",_sfc_render]]);function cleanData$1(e){return e.TypedDocuments.map(a=>{var r;return{id:a.Fields.Id.Value||"",title:a.Fields.Title.Value||"",description:a.Fields.Description.Value||"",imgSrc:((r=a.Fields.Image)==null?void 0:r.Value)||"",url:a.Fields.Url.Value||"",dataSrc:"cludo",categoryCard:a.Fields.categoryCard.Value||""}})}async function cludoSearch(e,n,t,a,r,s){const{apiKey:o,customerId:i,engineId:l}=n,u=`https://api-eu1.cludo.com/api/v3/${i}/${l}/search`,c=`${i}:${o}`,d=useFederatedSearchStore();if(d.eventsApiError=!1,d.cludoError=!1,!n)return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0};if(r==="events")return{results:[],totalResults:0};try{const v=await fetch(u,{method:"POST",body:JSON.stringify({query:e||"*",operator:s,responseType:"JsonObject",perPage:6,page:t,facets:{Category:r?[r]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(c)}`}});if(!v.ok)throw d.cludoError=!0,d.isLoading=!1,new Error(`Cludo response message: ${v.status}`);const f=await v.json();return{results:cleanData$1(f),totalResults:f.TotalDocument}}catch{return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0}}}function cleanData(e){return e.events.map(a=>{var r,s,o,i,l,u,c;return{id:a.id,parentId:a.parentId,title:a.name,description:((s=(r=a.descriptions)==null?void 0:r[0])==null?void 0:s.description)||"",imgSrc:((i=(o=a.images)==null?void 0:o[0])==null?void 0:i.url)||"",url:((u=(l=a.performances)==null?void 0:l[0])==null?void 0:u.url)||"",placeUrl:a.place.website,location:a.place.town,startDate:a.startFormatted,endDate:a.endFormatted,minPrice:(c=a.minPrice)==null?void 0:c.toString(),dataSrc:"data-thistle",categoryCard:a.categoryCard||""}})}async function eventSearch(e,n,t,a,r,s,o,i,l,u,c,d,v){const f=useFederatedSearchStore();f.eventsApiError=!1,f.cludoError=!1;let p=`${e}?query=${n}&lang=${l}`;p=t>1?`${p}&page=${t}`:p,p=s!==""?`${p}&startDate=${s}`:p,p=o!==""?`${p}&endDate=${o}`:p,p=i?`${p}&sort=${i}`:p,p=a==="events"?`${p}&pageSize=12`:`${p}&pageSize=6`,p=u?`${p}&postcode=${u}`:p,p=c?`${p}&location=${c}`:p,p=d?`${p}&radius=${d}`:p,p=v?`${p}&postcodeareas=${v}`:p,r.forEach(m=>{p+=`&category=${m}`}),a&&a!=="events"&&(p+=`&category=${a}`);try{const m=await fetch(p);if(!m.ok)throw f.isLoading=!1,f.eventsApiError=!0,new Error(`Events response message: ${m.status}`);const g=await m.json();return{results:cleanData(g),totalResults:g.totalResults}}catch{return f.isLoading=!1,f.eventsApiError=!0,{results:[],totalResults:0}}}async function cludoAutocomplete(e,n){const{apiKey:t,customerId:a,engineId:r}=n,o=`https://api-eu1.cludo.com/api/v3/${a}/${r}/Autocomplete`,i=`${a}:${t}`;try{const l=await fetch(o,{method:"POST",body:JSON.stringify({text:e}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(i)}`}});if(!l.ok)throw new Error(`Autocomplete search error ${l.status}`);return await l.json()}catch(l){throw new Error(`Autocomplete search error: ${l}`)}}const useFederatedSearchStore=pinia.defineStore("federatedSearch",()=>{const e=vue.ref(null),n=vue.ref(void 0),t=vue.ref(!1),a=vue.ref(1),r=vue.ref(void 0),s=vue.ref(!1),o=vue.ref(!1),i=vue.ref(null),l=vue.ref(""),u=vue.ref(null),c=vue.ref(null),d=vue.ref([]),v=vue.ref([]),f=vue.ref(void 0),p=vue.ref(void 0),m=vue.ref(void 0),g=vue.ref(!1),b=vue.ref(""),h=vue.ref(""),_=vue.ref(void 0),V=vue.ref(void 0),k=vue.ref(void 0),N=vue.ref(-1),L=vue.ref(""),S=vue.ref(""),R=vue.ref(""),M=vue.ref(0),C=vue.ref(""),D=vue.ref("or");async function B(T=!1){o.value=!0,T||(N.value+=1);const A=await cludoSearch(l.value,n.value,a.value,u.value,c.value,D.value),$=await eventSearch(r.value,l.value,a.value,c.value,v.value,b.value,h.value,_.value,k.value,S.value,R.value,M.value,C.value);i.value=[...A.results,...$.results],p.value=A.totalResults,m.value=$.totalResults,f.value=A.totalResults+$.totalResults,o.value=!1}async function E(){return cludoAutocomplete(l.value,n.value)}async function w(T,A){const $=new URL(window.location.href);if(A?L.value="Autosuggestion":L.value="User input",l.value?$.searchParams.set("search-term",l.value):$.searchParams.delete("search-term"),c.value?$.searchParams.set("category",encodeURIComponent(c.value)):$.searchParams.delete("category"),v.value.length>0?$.searchParams.set("sub-category",encodeURIComponent(v.value.join(","))):$.searchParams.delete("sub-category"),T?(a.value=1,$.searchParams.set("page",a.value.toString())):a.value&&a.value>1?$.searchParams.set("page",a.value.toString()):$.searchParams.delete("page"),b.value?$.searchParams.set("start-date",b.value):$.searchParams.delete("start-date"),h.value?$.searchParams.set("end-date",h.value):$.searchParams.delete("end-date"),_.value?$.searchParams.set("sort-by",_.value):$.searchParams.delete("sort-by"),!g.value)window.history.pushState({},"",$),await B();else{const I=`${V.value}/${$.search}`;window.location.href=I}}return{filters:e,currentPage:a,cludoCredentials:n,cludoError:t,eventsApi:r,eventsApiError:s,getAutoComplete:E,getSearchResults:B,isLoading:o,results:i,searchTerm:l,searchUrl:V,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:v,totalResults:f,totalResultsCludo:p,totalResultsEvents:m,navigateToResultsPage:w,isHomePage:g,startDate:b,endDate:h,sortBy:_,siteLanguage:k,searchInSessionCount:N,queryInput:L,postcode:S,location:R,radius:M,postcodeareas:C,cludoApiOperator:D}}),_hoisted_1$7={class:"vs-fed-filter"},_hoisted_2$6={class:"vs-fed-filter__scroll-container"},_hoisted_3$5=["id"],_sfc_main$7=Object.assign({status:"deprecated"},{__name:"FedFilter",props:{filterCategories:{type:Array,required:!0},variant:{type:String,default:"primary",validator:e=>/^(primary|secondary)$/.test(e)},wrap:{type:Boolean,default:!1},activeFilter:{type:[String,Array],default:""},scrollButtons:{type:Boolean,default:!1},scrollLeftText:{type:String,default:""},scrollRightText:{type:String,default:""}},emits:["filter-updated"],setup(e,{expose:n}){const t=e,a=vue.ref(null);function r(c){return typeof t.activeFilter=="string"?t.activeFilter===c:t.activeFilter&&typeof t.activeFilter=="object"?t.activeFilter.includes(c):!1}function s(c){var d,v;c==="left"?(d=a.value)==null||d.scrollBy(-200,0):c==="right"&&((v=a.value)==null||v.scrollBy(200,0))}function o(){var c;(c=a.value)==null||c.scrollTo(0,0)}n({resetScroll:o});function i(){return[`vs-fed-filter__scroll-rail--${t.variant}`,t.wrap?"vs-fed-filter__scroll-rail--wrap":""]}const l=vue.computed(()=>[...t.filterCategories].sort((d,v)=>{const f=(d.Label||d.Key||"").toLowerCase(),p=(v.Label||v.Key||"").toLowerCase();return f<p?-1:f>p?1:0}));function u(c){let d;switch(c){case"accommodation":d="fa-regular fa-bed";break;case"active-adventure":d="fa-kit fa-vs-landscape";break;case"city-break":d="fa-regular fa-city";break;case"culture-history":d="fa-regular fa-chess-rook";break;case"events":d="fa-regular fa-calendar-range";break;case"family-friendly":d="fa-regular fa-family";break;case"food-drink":d="fa-regular fa-utensils";break;case"nature-outdoors":d="fa-regular fa-leaf";break;case"tours":d="fa-regular fa-binoculars";break;case"travel-information":d="fa-regular fa-circle-info";break;case"wellness":d="fa-regular fa-spa";break;default:d=null;break}return d}return(c,d)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[c.$slots["fed-filter-header"]&&c.$slots["fed-filter-header"]()?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsBody,{key:0,class:"vs-fed-filter__header mb-025 ms-025","data-test":"vs-fed-filter__header"},{default:vue.withCtx(()=>[vue.renderSlot(c.$slots,"fed-filter-header")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$6,[e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,variant:"secondary",icon:"fa-regular fa-chevron-left","icon-only":"",class:"vs-fed-filter__scroll-button me-050","data-test":"vs-fed-filter__scroll-button--left",onClick:d[0]||(d[0]=v=>s("left")),"aria-label":t.scrollLeftText},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.scrollLeftText),1)]),_:1},8,["aria-label"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-fed-filter__scroll-rail",i()]),id:`vs-fed-filter__scroll-rail--${t.variant}`,ref_key:"scrollRail",ref:a},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(l.value,(v,f)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:f,class:"vs-fed-filter__category-button","data-test":`vs-fed-filter__category-button--${v.Key}`,icon:t.variant==="primary"?u(v.Key):null,variant:r(v.Key)?"primary":"secondary",size:t.variant==="secondary"?"sm":"md",onClick:p=>c.$emit("filter-updated",v)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(v.Label||v.Key),1)]),_:2},1032,["data-test","icon","variant","size","onClick"]))),128))],10,_hoisted_3$5),e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:1,variant:"secondary",icon:"fa-regular fa-chevron-right","icon-only":"",class:"vs-fed-filter__scroll-button ms-050","data-test":"vs-fed-filter__scroll-button--right",onClick:d[1]||(d[1]=v=>s("right")),"aria-label":t.scrollRightText},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.scrollRightText),1)]),_:1},8,["aria-label"])):vue.createCommentVNode("",!0)])]))}});function dataLayerComposable$1(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function a(l,u){const c={};return l.forEach(d=>{c[d]=u[d]||void 0,d==="language"&&c[d]===void 0&&(c[d]=u.site_language||void 0)}),c}function r(){return new Date(Date.now()).toISOString()}function s(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function o(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,v,f;switch(l){case"siteSearchOpenEvent":c="site_search_open",d={event:c,referrer_page:u.referrer_page},v=s(d),f=a(LoadingSpinner.siteSearchOpenTemplate,v);break;case"siteSearchUsageEvent":c="site_search_event",d={event:c,search_query:u.search_query,query_input:u.query_input,results_count:u.results_count,search_usage_index:u.search_usage_index,search_type:u.search_type,search_origin:u.search_origin||"results_page",interaction_type:"search_input"},v=s(d),f=a(LoadingSpinner.siteSearchUsageTemplate,v);break;case"siteSearchClickEvent":c="site_search_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,page_navigation_direction:u.page_navigation_direction,click_text:u.click_text,click_url:u.click_url,click_category:u.click_category,search_usage_index:u.search_usage_index,results_count:u.results_count},v=s(d),f=a(LoadingSpinner.siteSearchClickTemplate,v);break;case"siteSearchCloseEvent":c="site_search_close",d={event:c,search_usage_index:u.search_usage_index,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,results_count:u.results_count},v=s(d),f=a(LoadingSpinner.siteSearchCloseTemplate,v);break}f&&o(f)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:s,returnIsoDate:r,pushToDataLayer:o,dataLayerStore:e}}const _hoisted_1$6={class:"vs-fed-search-input"},_hoisted_2$5={class:"vs-fed-search__input"},_hoisted_3$4={class:"vs-fed-search__text-input"},_hoisted_4$3={for:"federated-search",class:"vs-federated-search__label"},_hoisted_5$3={key:0,class:"position-relative"},_hoisted_6$3={class:"vs-fed-search-input__autocomplete"},_hoisted_7$2=["onClick","onKeyup","innerHTML"],_sfc_main$6=Object.assign({status:"deprecated"},{__name:"FedSearchInput",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},isHomePage:{type:Boolean,default:!1},searchUrl:{type:String,default:void 0},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},labels:{type:Object,required:!0}},setup(e){const n=dataLayerComposable$1(),t=e,a=useFederatedSearchStore(),{isLoading:r}=pinia.storeToRefs(a),s=vue.ref(),o=vue.ref(null),i=vue.ref(null);async function l(h){a.currentPage=1,a.searchTerm=h.value.trim();const _=window.location.search,V=new URLSearchParams(_);a.searchTerm&&V.get("search-term")!==a.searchTerm&&(s.value=await a.getAutoComplete()),a.searchTerm||(s.value=null)}async function u(){s.value=null,await a.navigateToResultsPage(),n.createDataLayerObject("siteSearchUsageEvent",{search_query:a.searchTerm,query_input:a.queryInput,results_count:a.totalResults,search_usage_index:a.searchInSessionCount,search_type:a.searchInSessionCount===1?"initial":"follow-up"})}function c(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_autosuggest",search_query:a.searchTerm,page_number:a.currentPage,search_usage_index:a.searchInSessionCount,results_count:a.totalResults,click_text:h,query_input:a.queryInput})}function d(h){a.searchTerm=h,s.value=null,a.navigateToResultsPage(!1,!0),c(h)}function v(h){return h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function f(h){return h.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function p(h){const _=(a.searchTerm||"").trim();if(!_)return f(h);const V=new RegExp(`(${v(_)})`,"gi");return f(h).replace(V,"<strong>$1</strong>")}function m(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"facet_click",search_query:a.searchTerm,page_number:a.currentPage,search_usage_index:a.searchInSessionCount,results_count:a.totalResults,click_text:h.Label||h.Key})}async function g(h){const _=new URL(window.location);_.searchParams.delete("page"),a.currentPage=1,_.searchParams.delete("start-date"),_.searchParams.delete("end-date"),a.startDate="",a.endDate="",a.sortBy=void 0,a.selectedSubCategory=[],a.selectedSubCategoryKey=[],a.selectedCategory=a.selectedCategory!==h.Label?h.Label:"",a.selectedCategoryKey=a.selectedCategoryKey!==h.Key?h.Key:"",await a.navigateToResultsPage(!0),m(h)}function b(h){if(!a.selectedSubCategoryKey.includes(h.Key))a.selectedSubCategory.push(h.Label),a.selectedSubCategoryKey.push(h.Key);else{const _=a.selectedSubCategoryKey.indexOf(h.Key);_>=0&&(a.selectedSubCategory.splice(_,1),a.selectedSubCategoryKey.splice(_,1))}a.navigateToResultsPage(!0),m(h)}return vue.onMounted(()=>{a.cludoCredentials={apiKey:t.cludoApiKey,customerId:t.cludoCustomerId,engineId:t.cludoEngineId},a.isHomePage=t.isHomePage,t.searchUrl&&(a.searchUrl=t.searchUrl);const h=window.location.search,_=new URLSearchParams(h);_.has("search-term")&&(a.searchTerm=_.get("search-term")),_.has("category")&&(a.selectedCategoryKey=decodeURIComponent(_.get("category"))),_.has("sub-category")&&decodeURIComponent(_.get("sub-category")).split(",").forEach(k=>a.selectedSubCategoryKey.push(k)),_.has("category")&&_.get("category")==="events"&&_.has("sort-by")&&(a.sortBy=_.get("sort-by")),_.has("start-date")&&(a.startDate=_.get("start-date")),_.has("end-date")&&(a.endDate=_.get("end-date")),_.has("postcode")&&(a.postcode=_.get("postcode")),_.has("location")&&(a.location=_.get("location")),_.has("radius")&&(a.radius=_.get("radius")),_.has("postcodeareas")&&(a.postcodeareas=_.get("postcodeareas")),(_.has("search-term")||_.has("category"))&&a.getSearchResults()}),vue.watch(r,h=>{var _,V;h||((_=o.value)==null||_.resetScroll(),(V=i.value)==null||V.resetScroll())}),(h,_)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("div",_hoisted_3$4,[vue.createElementVNode("label",_hoisted_4$3,[_[0]||(_[0]=vue.createElementVNode("span",{class:"visually-hidden"}," Search for something ",-1)),vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"vs-icon-control-search",size:"xs"})]),vue.createVNode(vue.unref(VsInput),{"auto-complete":!1,class:"vs-federated-search__input w-100","field-name":"federated-search",name:"searchrequest",placeholder:t.labels.searchLabel,type:"search",value:vue.unref(a).searchTerm,onUpdated:l,onKeyup:vue.withKeys(u,["enter"])},null,8,["placeholder","value"])]),vue.createVNode(vue.unref(LoadingSpinner.VsButton),{class:"d-none d-lg-block px-200",disabled:vue.unref(r),onClick:u},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.search),1)]),_:1},8,["disabled"])]),s.value&&s.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$3,[vue.createElementVNode("div",_hoisted_6$3,[vue.createVNode(vue.unref(VsList),{unstyled:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.value,V=>(vue.openBlock(),vue.createElementBlock("li",{key:V,class:"vs-fed-search-input__autocomplete__suggestion",onClick:k=>d(V),onKeyup:vue.withKeys(k=>d(V),["enter"]),tabindex:"0",innerHTML:p(V)},null,40,_hoisted_7$2))),128))]),_:1})])])):vue.createCommentVNode("",!0),t.filters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:1,"active-filter":vue.unref(a).selectedCategoryKey,"filter-categories":t.filters,ref_key:"categoryFilter",ref:o,wrap:!0,onFilterUpdated:g},null,8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0),vue.unref(a).selectedCategoryKey==="events"&&t.subFilters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:2,"active-filter":vue.unref(a).selectedSubCategoryKey,class:"mt-200","filter-categories":t.subFilters,ref_key:"subCategoryFilter",ref:i,variant:"secondary",onFilterUpdated:b},{"fed-filter-header":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.refine),1)]),_:1},8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0)]))}}),_hoisted_1$5={key:0,for:"vs-fed-search-sort__from-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__from-date-label"},_hoisted_2$4={key:0,for:"vs-fed-search-sort__to-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__to-date-label"},_sfc_main$5=Object.assign({status:"deprecated"},{__name:"FedSearchSort",props:{dateFilterVisible:{type:Boolean,default:!1},sortOptions:{type:Array,required:!0},fromDateLabel:{type:String,required:!0},toDateLabel:{type:String,required:!0},sortLabel:{type:String,required:!0}},emits:["from-date-updated","end-date-updated","sort-order-updated"],setup(e){const n=useFederatedSearchStore(),t=e,a=vue.computed(()=>t.sortOptions.find(r=>r.key===n.sortBy));return(r,s)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsRow,{class:"vs-fed-search-sort"},{default:vue.withCtx(()=>[t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:0,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.fromDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_1$5,vue.toDisplayString(t.fromDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__from-date",value:vue.unref(n).startDate||new Date().toJSON().slice(0,10),type:"date","auto-complete":!1,onInput:s[0]||(s[0]=o=>r.$emit("from-date-updated",o.target.value)),"data-chromatic":"ignore"},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:1,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.toDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_2$4,vue.toDisplayString(t.toDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__to-date",type:"date","auto-complete":!1,onInput:s[1]||(s[1]=o=>r.$emit("end-date-updated",o.target.value)),value:vue.unref(n).endDate||""},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsCol,{cols:"12",md:"4",class:"vs-fed-search-sort__dropdown-wrapper"},{default:vue.withCtx(()=>[vue.createVNode(VsDropdown,{variant:"secondary",id:"vs-fed-search-sort__dropdown",name:"vs-fed-search-sort__dropdown",text:vue.unref(n).sortBy?`${t.sortLabel}: ${a.value.label}`:t.sortLabel},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.sortOptions,(o,i)=>(vue.openBlock(),vue.createBlock(VsDropdownItem,{key:i,onClick:l=>{r.$emit("sort-order-updated",o.key)},active:vue.unref(n).sortBy===o.key,"data-test":`vs-fed-search-sort__dropdown-item--${o.key}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.label),1)]),_:2},1032,["onClick","active","data-test"]))),128))]),_:1},8,["text"])]),_:1})]),_:1}))}}),_hoisted_1$4={class:"vs-federated-search","data-test":"vs-federated-search"},_hoisted_2$3={class:"vs-federated-search__container"},_hoisted_3$3={key:0,class:"vs-federated-search__results","data-chromatic":"ignore"},_hoisted_4$2={key:2,"data-chromatic":"ignore"},_hoisted_5$2={class:"position-relative"},_hoisted_6$2={class:"position-absolute bottom-0 start-0 d-flex gap-2"},_hoisted_7$1={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8$1={class:"truncate-3-lines text-break"},_hoisted_9={class:"d-flex justify-content-end align-items-end mt-050"},_hoisted_10={key:0,class:"d-flex align-items-start flex-grow-1"},_hoisted_11={key:3,class:"vs-federated-search__warning mb-300"},fallbackImg="https://static.visitscotland.com/img/fallback-img.png",_sfc_main$4=Object.assign({status:"deprecated"},{__name:"FederatedSearch",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},eventsApi:{type:String,default:getEnvValue("EVENTS_API_URL")},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},errorMessages:{type:Object,required:!0},fromText:{type:String,default:""},paginationLabels:{type:Object,required:!0},searchLabels:{type:Object,required:!0},sortLabels:{type:Object,required:!0},cardCategoryLabels:{type:Object,required:!0,default:()=>{}},siteLanguage:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},cludoApiOperator:{type:String,default:"or",validator:e=>["and","or"].includes(e)}},setup(e){const n=dataLayerComposable$1(),t=useFederatedSearchStore(),a=vue.ref({message:"",error:!1}),r=e,s=vue.ref(!1),o=vue.computed(()=>{let h;return t.selectedCategoryKey==="events"?h=Math.ceil(t.totalResultsEvents/12):h=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),h});function i(){t.endDate&&t.startDate>t.endDate?(a.value.error=!0,a.value.message=r.errorMessages.incorrectDateOrder):t.selectedCategoryKey==="events"&&t.eventsApiError&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.eventError):(t.searchTerm||t.selectedCategory)&&t.selectedCategoryKey!=="events"&&t.cludoError&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.cludoError):t.totalResults===0&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.noResults):(a.value.error=!1,a.value.message="")}vue.onMounted(async()=>{if(n.createDataLayerObject("siteSearchOpenEvent",{referrer_page:document.referrer}),t.cludoCredentials={apiKey:r.cludoApiKey,customerId:r.cludoCustomerId,engineId:r.cludoEngineId},t.eventsApi=r.eventsApi,t.filters=r.filters,t.siteLanguage=r.siteLanguage,t.cludoApiOperator=r.cludoApiOperator,i(),typeof window<"u"&&typeof document<"u"){window.onbeforeunload=()=>{b()};const h=new URLSearchParams(document.location.search),_=h.get("search-term"),V=parseInt(h.get("page"),10);V&&(t.currentPage=V),_&&(t.searchTerm=_),await t.getSearchResults(),_&&n.createDataLayerObject("siteSearchUsageEvent",{search_query:t.searchTerm,query_input:t.queryInput,results_count:t.totalResults,search_usage_index:t.searchInSessionCount,search_type:"initial",search_origin:"home_page"})}});function l(h){t.startDate=h,t.navigateToResultsPage(!0)}function u(h){t.endDate=h,t.navigateToResultsPage(!0)}function c(h){t.sortBy=h,t.navigateToResultsPage(!0)}function d(h){let _=!1;h>t.currentPage&&(_=!0),t.currentPage=h,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),g(_)}function v(h,_){return h===_?h:`${h} - ${_}`}function f(h){return h===null?"":h.match(/\b\d+\.\d\b/)?`£${h}0`:`£${h}`}function p(h){if(h.url)return h.url;if(h.placeUrl)return h.placeUrl;const _="https://www.datathistle.com/event/",V=encodeURIComponent(h.title.replaceAll(" ","-").toLowerCase());return`${_}${h.parentId}-${V}`}function m(h){s.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:h.title,click_url:p(h),click_category:h.categoryCard&&r.cardCategoryLabels[h.categoryCard]?r.cardCategoryLabels[h.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function g(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:h?"forward":"back",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function b(){s.value||n.createDataLayerObject("siteSearchCloseEvent",{search_query:t.searchTerm,search_usage_index:t.searchInSessionCount,query_input:t.queryInput,page_number:t.currentPage,results_count:t.totalResults})}return vue.onUpdated(()=>{i()}),(h,_)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("div",_hoisted_2$3,[vue.createVNode(_sfc_main$6,{"cludo-api-key":r.cludoApiKey,"cludo-customer-id":r.cludoCustomerId,"cludo-engine-id":r.cludoEngineId,filters:r.filters,"sub-filters":r.subFilters,labels:r.searchLabels},null,8,["cludo-api-key","cludo-customer-id","cludo-engine-id","filters","sub-filters","labels"]),vue.createVNode(_sfc_main$2C,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(V,k)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:k,class:"mb-200"},[vue.renderSlot(h.$slots,`federated-search__spotlight-${V.Key}`)],512)),[[vue.vShow,vue.unref(t).selectedCategoryKey===V.Key]])),128)),vue.unref(t).results?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$3,[vue.createElementVNode("div",null,[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{"heading-style":"heading-m",level:2,class:"my-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.searchResults),1)]),_:1}),vue.unref(t).totalResults!==0?(vue.openBlock(),vue.createBlock(vue.unref(VsDetail),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.resultsFirst)+" "+vue.toDisplayString(vue.unref(t).totalResults)+" "+vue.toDisplayString(r.searchLabels.resultsSecond),1)]),_:1})):vue.createCommentVNode("",!0)]),vue.unref(t).selectedCategoryKey==="events"?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:0,"date-filter-visible":!0,"sort-options":r.sortLabels.sortOptions,"from-date-label":r.sortLabels.dateFrom,"to-date-label":r.sortLabels.dateTo,"sort-label":r.sortLabels.sort,onFromDateUpdated:l,onEndDateUpdated:u,onSortOrderUpdated:c},null,8,["sort-options","from-date-label","to-date-label","sort-label"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),vue.unref(t).isLoading?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsLoading),{key:1})):vue.createCommentVNode("",!0),!vue.unref(t).isLoading&&vue.unref(t).results&&!vue.unref(t).eventsApiError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[vue.createVNode(vue.unref(VsCardGroup),{"cards-per-row":3,class:vue.normalizeClass(vue.unref(t).results&&o.value<=1?"mb-300":null)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).results,V=>(vue.openBlock(),vue.createBlock(vue.unref(VsCard),{key:V.id},{"vs-card-header":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createVNode(vue.unref(LoadingSpinner.VsImg),{src:V.imgSrc||fallbackImg,class:"w-100 aspect-ratio-3-2 rounded-1 object-fit-cover img-zoom-on-hover"},null,8,["src"]),vue.createElementVNode("div",_hoisted_6$2,[V.minPrice?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"information",class:"rounded-top-end rounded-bottom-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.fromText)+" "+vue.toDisplayString(f(V.minPrice)),1)]),_:2},1024)):vue.createCommentVNode("",!0),V.startDate?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:1,variant:"information",class:"rounded-top-end rounded-top-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(v(V.startDate,V.endDate)),1)]),_:2},1024)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_7$1,[V.categoryCard&&e.cardCategoryLabels[V.categoryCard]?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"highlight",class:"rounded-top-start rounded-bottom-start mx-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.cardCategoryLabels[V.categoryCard]),1)]),_:2},1024)):vue.createCommentVNode("",!0)])])]),"vs-card-body":vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsLink),{href:p(V),onClick:k=>m(V),class:"stretched-link",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(V.title),1)]),_:2},1032,["href","onClick"])]),_:2},1024),vue.createVNode(vue.unref(LoadingSpinner.VsBody),null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_8$1,vue.toDisplayString(V.description),1)]),_:2},1024)]),"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[V.location?(vue.openBlock(),vue.createElementBlock("div",_hoisted_10,[vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"fa-solid fa-location-dot",variant:"highlight",class:"me-050",size:"sm"}),vue.createVNode(vue.unref(VsDetail),{"no-margins":"",color:"tertiary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(V.location),1)]),_:2},1024)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[V.dataSrc==="data-thistle"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsIcon),{key:0,icon:"vs-icon-control-external-link",variant:"highlight",size:"sm"})):vue.createCommentVNode("",!0)])])]),_:2},1024))),128))]),_:1},8,["class"]),vue.unref(t).results&&o.value>1?(vue.openBlock(),vue.createBlock(vue.unref(_sfc_main$D),{key:0,class:"vs-federated-search__pagination","number-of-pages":o.value,"next-button-label":r.paginationLabels.nextButtonLabel,"previous-button-label":r.paginationLabels.previousButtonLabel,"page-label":r.paginationLabels.pageLabel,"of-label":r.paginationLabels.ofLabel,modelValue:vue.unref(t).currentPage,"onUpdate:modelValue":_[0]||(_[0]=V=>vue.unref(t).currentPage=V),onPageClick:d},null,8,["number-of-pages","next-button-label","previous-button-label","page-label","of-label","modelValue"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),a.value.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11,[a.value.error?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.value.message),1)]),_:1})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(LoadingSpinner.VsWarning),{"data-test":"vs-federated-search__error--no-js",class:"vs-federated-search__error--no-js mb-300"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.noJs),1)]),_:1})]))}});var define_process_env_default={};function setScriptSrc(e,n){e.src=n}const bootstrap=e=>{var n,t,a,r="The Google Maps JavaScript API",s="google",o="importLibrary",i="__ib__",l=document,u=window,c=u[s]||(u[s]={}),d=c.maps||(c.maps={}),v=new Set,f=new URLSearchParams,p=()=>n||(n=new Promise(async(m,g)=>{var b;await(t=l.createElement("script")),f.set("libraries",[...v]+"");for(a in e)f.set(a.replace(/[A-Z]/g,h=>"_"+h[0].toLowerCase()),e[a]);f.set("callback",s+".maps."+i),setScriptSrc(t,"https://maps.googleapis.com/maps/api/js?"+f),d[i]=m,t.onerror=()=>n=g(Error(r+" could not load.")),t.nonce=((b=l.querySelector("script[nonce]"))==null?void 0:b.nonce)||"",l.head.append(t)}));d[o]?console.warn(r+" only loads once. Ignoring:",e):d[o]=(m,...g)=>v.add(m)&&p().then(()=>d[o](m,...g))},MSG_REPEATED_SET_OPTIONS=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,MSG_IMPORT_LIBRARY_EXISTS=e=>`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(e)}) will be ignored.`,MSG_SET_OPTIONS_NOT_CALLED="No options were set before calling importLibrary. Make sure to configure the loader using setOptions().",MSG_SCRIPT_ELEMENT_EXISTS="There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.",__DEV__$1=define_process_env_default.NODE_ENV!=="production",logDevWarning=__DEV__$1?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=__DEV__$1?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},__DEV__=define_process_env_default.NODE_ENV!=="production";let setOptionsWasCalled_=!1;function setOptions(e){if(setOptionsWasCalled_){logDevWarning(MSG_REPEATED_SET_OPTIONS(e));return}installImportLibrary_(e),setOptionsWasCalled_=!0}async function importLibrary(e){var n,t;if(setOptionsWasCalled_||logDevWarning(MSG_SET_OPTIONS_NOT_CALLED),!((t=(n=window==null?void 0:window.google)==null?void 0:n.maps)!=null&&t.importLibrary))throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function installImportLibrary_(e){var t,a;const n=!!((a=(t=window.google)==null?void 0:t.maps)!=null&&a.importLibrary);n?logDevNotice(MSG_IMPORT_LIBRARY_EXISTS(e)):__DEV__&&document.querySelector('script[src*="maps.googleapis.com/maps/api/js"]')&&logDevWarning(MSG_SCRIPT_ELEMENT_EXISTS),n||bootstrap(e)}const useGoogleMapStore=pinia.defineStore("googleMap",()=>{const e=vue.ref(!0),n=vue.ref(Date.now()),t=vue.ref(!1),a=vue.ref(0),r=vue.ref(0),s=vue.ref(!0),o=vue.ref(!1),i=vue.ref(void 0);return{sidebarOpen:e,timeMounted:n,firstInteraction:t,searchesCount:a,filterUsesCount:r,showDestinations:s,showCategories:o,selectedDestinationType:i}}),_hoisted_1$3={class:"px-125 pb-125"},_sfc_main$3={__name:"MapFeaturedLocationItem",props:{place:{type:Object,default:()=>{}}},setup(e){const n=e,t=useGoogleMapStore(),a=vue.inject("onFeaturedLocationClick");function r(s){t.showDestinations=!1,a(s)}return(s,o)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{cols:"6"},{default:vue.withCtx(()=>[vue.createVNode(VsCard,{"card-style":"overlay",class:"vs-map__controls-featured-place-card",onClick:o[2]||(o[2]=i=>r(n.place))},vue.createSlots({"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$3,[vue.createVNode(LoadingSpinner.VsHeading,{class:"vs-map__controls-featured-place-card-heading","heading-style":"heading-xxxs",level:"2","no-margins":""},{default:vue.withCtx(()=>[vue.createVNode(VsLink,{class:"stretched-link text-decoration-none",href:"#",variant:"on-dark",onKeyup:[o[0]||(o[0]=vue.withKeys(vue.withModifiers(i=>r(n.place),["prevent"]),["enter"])),o[1]||(o[1]=vue.withKeys(vue.withModifiers(i=>r(n.place),["prevent"]),["space"]))]},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.place.properties.title),1)]),_:1})]),_:1})])]),_:2},[n.place.properties.image?{name:"vs-card-image",fn:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{class:"vs-map__controls-featured-place-img w-100 rounded-1 object-fit-cover img-zoom-on-hover",src:n.place.properties.image,"use-lazy-loading":!1},null,8,["src"])]),key:"0"}:void 0]),1024)]),_:1}))}},_hoisted_1$2={class:"mb-100"},_hoisted_2$2={class:"vs-map__destination-types"},_hoisted_3$2={"aria-live":"polite"},_sfc_main$2={__name:"MapFeaturedLocation",props:{locationSelectLabel:{type:String,required:!0}},setup(e){const{categories:n,places:t}=vue.inject("featuredPlaces"),a=vue.inject("addDestinationMarkers"),r=useGoogleMapStore(),s=e;vue.onMounted(()=>{r.selectedDestinationType=n[0].id});const o=u=>r.selectedDestinationType===u?"primary":"secondary",i={cities:"fa-regular fa-city",regions:"fa-regular fa-map-location-dot",islands:"fa-regular fa-island-tropical",towns:"fa-regular fa-house-chimney-window","national-parks":"fa-kit fa-vs-icon-national-park"};function l(u){r.selectedDestinationType=u,a()}return(u,c)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createVNode(VsDetail,{color:"secondary",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.locationSelectLabel),1)]),_:1}),vue.createElementVNode("div",_hoisted_2$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(n),d=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:d.id,icon:i[d.id],size:"sm",variant:o(d.id),onClick:v=>l(d.id)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(d.label),1)]),_:2},1032,["icon","variant","onClick"]))),128))]),vue.createElementVNode("div",_hoisted_3$2,[vue.createVNode(LoadingSpinner.VsRow,{class:"vs-map__destinations"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t),d=>(vue.openBlock(),vue.createBlock(_sfc_main$3,{key:d.properties.id,place:d},null,8,["place"]))),128))]),_:1})])]))}},_hoisted_1$1={class:"vs-map-sidebar__header d-flex"},_hoisted_2$1={class:"vs-map-sidebar__content"},_hoisted_3$1={class:"vs-map-sidebar__input d-flex mt-050 mb-050"},_hoisted_4$1={key:3},_hoisted_5$1={class:"vs-map__categories"},_hoisted_6$1={class:"vs-map-sidebar__sub-filters"},_hoisted_7={class:"vs-map-sidebar__search-results"},_hoisted_8={class:"vs-map-sidebar__google-maps-container"},_sfc_main$1={__name:"MapSidebar",props:{query:{type:String,default:""},selectedCategory:{type:String,default:""},selectedSubcategories:{type:Object,default:void 0},sidebarLabels:{type:Object,required:!0},categories:{type:Object,required:!0},categoryData:{type:Object,default:()=>{}}},emits:["category-selected","reset-location","reset-map","search-input-changed","subcategory-selected"],setup(e){const n=useGoogleMapStore(),t=e,a=vue.computed(()=>t.selectedCategory?t.categories.find(i=>i.id===t.selectedCategory).subCategory:null);function r(o){return Array.from(t.selectedSubcategories).includes(o)?"primary":"secondary"}function s(o){if(!t.categoryData)return null;const i=t.categoryData[o];return i?i.icon:null}return(o,i)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map-sidebar px-125",vue.unref(n).sidebarOpen?"d-block":"d-none"]),"data-test":"vs-map-sidebar"},[vue.createElementVNode("div",_hoisted_1$1,[t.sidebarLabels.headerLabel?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,class:"flex-grow-1","data-test":"vs-map-sidebar__heading","heading-style":"heading-xxs",id:"vs-map-sidebar__heading",level:"1"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.headerLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__sidebar-control vs-map-siderbar__sidebar-control--dismiss","data-test":"vs-map-siderbar__sidebar-control--dismiss",icon:"vs-icon-control-dismiss","icon-only":"",variant:"subtle",onClick:i[0]||(i[0]=l=>vue.unref(n).sidebarOpen=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.closeSidebarButtonLabel),1)]),_:1})]),vue.createElementVNode("div",_hoisted_2$1,[t.query||t.selectedCategory?(vue.openBlock(),vue.createElementBlock("a",{key:0,href:"#","data-test":"vs-map-sidebar__hard-reset-map",onClick:i[1]||(i[1]=vue.withModifiers(l=>o.$emit("reset-location"),["prevent"])),onKeyup:i[2]||(i[2]=vue.withKeys(vue.withModifiers(l=>o.$emit("reset-location"),["prevent"]),["enter"]))},vue.toDisplayString(t.sidebarLabels.resetLocationLabel),33)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$1,[vue.createVNode(VsInput,{"aria-label":t.sidebarLabels.searchBarAriaLabel,autocomplete:"off",class:"vs-map-sidebar__input flex-grow-1","data-test":"vs-map-search-input","field-name":"vs-map-search-input",placeholder:t.sidebarLabels.inputPlaceholderLabel,onKeyup:i[3]||(i[3]=vue.withKeys(vue.withModifiers(l=>o.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["aria-label","placeholder"]),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__search-button","data-test":"vs-map-sidebar__search-button",icon:"vs-icon-control-search","icon-only":"",rounded:!1,size:"lg",onClick:i[4]||(i[4]=vue.withModifiers(l=>o.$emit("search-input-changed"),["prevent"])),onKeyup:i[5]||(i[5]=vue.withKeys(vue.withModifiers(l=>o.$emit("search-input-changed"),["prevent"]),["enter"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.searchButtonLabel),1)]),_:1})]),t.query||t.selectedCategory?(vue.openBlock(),vue.createElementBlock("a",{key:1,class:"d-block",href:"#","data-test":"vs-map-sidebar__reset-map",onClick:i[6]||(i[6]=vue.withModifiers(l=>o.$emit("reset-map"),["prevent"])),onKeyup:i[7]||(i[7]=vue.withKeys(vue.withModifiers(l=>o.$emit("reset-map"),["prevent"]),["enter"]))},vue.toDisplayString(t.sidebarLabels.clearMapLabel),33)):vue.createCommentVNode("",!0),vue.unref(n).showDestinations?(vue.openBlock(),vue.createBlock(_sfc_main$2,{key:2,"location-select-label":t.sidebarLabels.locationSelectLabel},null,8,["location-select-label"])):vue.createCommentVNode("",!0),vue.unref(n).showCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createElementVNode("div",_hoisted_5$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(t.categories,(l,u)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:u},[l.cmsData?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,class:"vs-map__filter-controls-button",icon:s(l.id),size:"sm",variant:t.selectedCategory===l.id?"primary":"secondary",onClick:c=>o.$emit("category-selected",{id:l.id,key:u})},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(l.label),1)]),_:2},1032,["icon","variant","onClick"]))],64))),128))]),vue.createVNode(VsDetail,{class:"vs-map-sidebar__sub-filter-header",color:"secondary",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.subFilterHeaderLabel),1)]),_:1}),vue.createElementVNode("div",_hoisted_6$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.value,(l,u)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:u,size:"sm",variant:r(l.id),onClick:c=>o.$emit("subcategory-selected",{id:l.id,key:u})},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(l.label),1)]),_:2},1032,["variant","onClick"]))),128))])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_7,[o.$props.query||o.$props.selectedCategory?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"2","heading-style":"heading-xxxs","data-test":"vs-map-sidebar__search-result-query"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.searchResultsLabel)+' "'+vue.toDisplayString(t.query||t.selectedCategory)+'" ',1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_8,[vue.renderSlot(o.$slots,"vs-map-sidebar-search-results")])])]),i[9]||(i[9]=vue.createElementVNode("div",{class:"vs-map-sidebar__footer"},[vue.createElementVNode("hr",{class:"vs-map-sidebar__swipe-tab"})],-1))],2),vue.createVNode(LoadingSpinner.VsButton,{class:vue.normalizeClass(["vs-map-sidebar__sidebar-control vs-map-sidebar__sidebar-control--open",vue.unref(n).sidebarOpen?"d-none":"d-block"]),"data-test":"vs-map-sidebar__sidebar-control--open",size:"sm",icon:"fa-regular fa-sliders","icon-only":"",onClick:i[8]||(i[8]=l=>vue.unref(n).sidebarOpen=!0)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarLabels.openSidebarButtonLabel),1)]),_:1},8,["class"])],64))}},cookieCheckerComposable=()=>{const e=vue.ref([]),n=vue.ref(!1),t=vue.ref(!1),a=vue.computed(()=>typeof window<"u"&&window.bypassCookiesRequired?!0:n.value),r=vue.computed(()=>typeof window<"u"&&window.bypassCookiesLoaded?!0:{cookieManagerLoaded:t});function s(){t.value=!0}function o(){let i=!1;typeof CookieControl<"u"&&e.value&&(i=e.value.every(l=>CookieControl.getCategoryConsent(l)===!0)),n.value=i}return vue.onMounted(()=>{window.addEventListener("cookieManagerLoaded",()=>{s()}),window.addEventListener("cookiesUpdated",()=>{o()})}),{requiredCookies:e,cookiesAllowed:a,cookiesLoaded:r}};function dataLayerComposable(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function a(l,u){const c={};return l.forEach(d=>{c[d]=u[d]||void 0,d==="language"&&c[d]===void 0&&(c[d]=u.site_language||void 0)}),c}function r(){return new Date(Date.now()).toISOString()}function s(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function o(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,v,f;switch(l){case"googleMapSearchEvent":c="map_search",d={event:c,search_query:u.search_query,search_map_location:u.search_map_location,search_results_count:u.search_results_count,search_usage_index:u.search_usage_index},v=s(d),f=a(LoadingSpinner.googleMapSearchTemplate,v);break;case"googleMapFilterEvent":c="map_filter_interaction",d={event:c,filter_type:u.filter_type,search_map_location:u.search_map_location,filter_selection:u.filter_selection,results_count:u.results_count,filter_usage_index:u.filter_usage_index},v=s(d),f=a(LoadingSpinner.googleMapFilterInteractionTemplate,v);break;case"googleMapTimeToFirstInteractionEvent":c="map_time_to_first_interaction",d={event:c,time_to_first_interaction_ms:u.time_to_first_interaction_ms,first_interaction_type:u.first_interaction_type},v=s(d),f=a(LoadingSpinner.googleMapTimeToFirstInteractionTemplate,v);break;case"googleMapInteractionEvent":c="map_interaction_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,map_location:u.map_location,visible_attractions_count:u.visible_attractions_count,card_attraction_name:u.card_attraction_name,card_attraction_category:u.card_attraction_category,card_attraction_url:u.card_attraction_url,card_attraction_rating:u.card_attraction_rating,interaction_timestamp_ms:u.interaction_timestamp_ms},v=s(d),f=a(LoadingSpinner.googleMapInteractionTemplate,v);break}f&&o(f)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:s,returnIsoDate:r,pushToDataLayer:o,dataLayerStore:e}}function useViewportController(){const e=vue.ref(void 0),n=vue.ref(!1),t=vue.ref(!1),a=vue.ref(!1),r=1;function s(d){return{bounds:d.getBounds(),center:d.getCenter(),zoom:d.getZoom()}}function o(d,v){const p=(v.lat-d.lat)*(Math.PI/180),m=(v.lng-d.lng)*(Math.PI/180),g=d.lat*(Math.PI/180),b=v.lat*(Math.PI/180),h=m*Math.cos((g+b)/2);return Math.sqrt(h*h+p*p)*6371e3}function i(d){return d<6?1e4:d<10?2500:d<14?800:300}function l(d){if(!e.value)return!1;const v={lat:e.value.center.lat(),lng:e.value.center.lng()},f={lat:d.center.lat(),lng:d.center.lng()},p=o(v,f),m=i(d.zoom),g=Math.abs(e.value.zoom-d.zoom);return p>m||g>=r}let u=null;function c(d){t.value=!0,d(),u&&clearTimeout(u),u=setTimeout(()=>{t.value=!1},200)}return{getViewport:s,hasViewportChanged:l,isProgrammaticMove:t,isUserMove:a,lastSearchViewport:e,runProgrammaticMove:c,showSearchAreaButton:n}}const _hoisted_1={class:"vs-map"},_hoisted_2={class:"vs-map__controls"},_hoisted_3={key:0,class:"mt-075 mb-150"},_hoisted_4={class:"vs-map__wrapper"},_hoisted_5={id:"vs-map","map-id":"vs-map",ref:"vsMap","data-chromatic":"ignore"},_hoisted_6={key:0,class:"vs-map__search-area"},MAX_ZOOM=17,CATEGORY_VISIBLE_ZOOM=11,NUMBER_OF_RESULTS=20,_sfc_main={__name:"MainMap",props:{apiKey:{type:String,default:getEnvValue("GOOGLE_MAPS_API_KEY")},mapId:{type:String,default:"vs-map"},mapTypeVector:{type:Boolean,default:!1},center:{type:Object,default:()=>({lat:56.490153,lng:-4.10959})},zoom:{type:Number,default:6},radius:{type:Number,default:1e3},labels:{type:Object,default:()=>{}},languageCode:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},categoriesLocation:{type:String,default:""},categoryLabels:{type:Object,default:()=>{}},featuredPlaces:{type:Object,default:void 0},noJsMessage:{type:String,required:!0},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noResultsMessage:{type:String,required:!0},resetMapNoResultsMessage:{type:String,required:!0},alertText:{type:String,default:void 0}},setup(e){const n=dataLayerComposable(),t=e,a=t.categoryLabels.find(O=>O.id==="destinations"),r=a?a.subCategory:null,s=vue.computed(()=>t.featuredPlaces.filter(O=>O.properties.category.id===P.selectedDestinationType));vue.provide("featuredPlaces",{categories:r,places:s}),vue.provide("onFeaturedLocationClick",Ne),vue.provide("addDestinationMarkers",Se);let o,i,l,u,c,d,v,f,p,m,g={},b;const h=vue.ref(),_=vue.ref(new Set),V=vue.ref(),k=vue.ref(new Set),N=vue.ref(new Set),L=vue.ref(new Set),S=vue.ref(new Set),R=vue.ref(),M=vue.ref(),C=vue.ref(t.zoom),D=vue.ref(!1),B=vue.ref(),E=vue.ref(new Set),w=vue.ref(),T=vue.ref(!1),A=vue.ref(void 0),$=vue.ref(!1),I=vue.computed(()=>{const O=new Map,F=G[h.value].subCategory;return Object.values(F).forEach(z=>{O.set(z.id,{includedTypes:z.includedType,excludedTypes:z.excludedType})}),O}),P=useGoogleMapStore(),H=vue.ref(void 0);let j;const J=vue.ref(void 0),ee={north:61,south:54.6,west:-8.7,east:.3};let G={};const X=t.categoryLabels;let Q=0;const ue={headerLabel:t.labels.heading,closeSidebarButtonLabel:t.labels.closeSidebarBtn,searchBarAriaLabel:t.labels.searchBarAriaLabel,inputPlaceholderLabel:t.labels.inputPlaceholder,searchButtonLabel:t.labels.searchButton,clearMapLabel:t.labels.clearMap,resetLocationLabel:t.labels.resetLocation,subFilterHeaderLabel:t.labels.subFilterHeader,searchResultsLabel:t.labels.searchResults,openSidebarButtonLabel:t.labels.openSidebarButton,locationSelectLabel:t.labels.locationSelect},{getViewport:ie,hasViewportChanged:me,isProgrammaticMove:le,isUserMove:ce,lastSearchViewport:se,runProgrammaticMove:Y,showSearchAreaButton:de}=useViewportController();vue.onBeforeMount(()=>{const O=cookieCheckerComposable();O.requiredCookies.value=cookieValues$5.google_maps,j=vue.computed(()=>!O.cookiesAllowed.value&&O.cookiesLoaded.value===!0||!O.cookiesLoaded.value?(J.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(F=>{G=F.data,A.value=F.data.accommodation.keywords}).catch(()=>{}),j.value===!1){setOptions({key:t.apiKey,v:"quarterly",libraries:["maps","places","marker","core","geometry"],region:"GB",language:t.languageCode});try{await importLibrary("maps"),await importLibrary("places"),await importLibrary("marker"),await importLibrary("core"),await importLibrary("geometry")}catch{console.error("Google Maps Library load error")}}i=document.getElementById("vs-map"),l=document.getElementById("nearbySearch"),u=document.getElementById("textSearch"),c=document.querySelector("gmp-place-text-search-request"),d=document.querySelector("gmp-place-nearby-search-request"),v=document.querySelector("gmp-place-details"),f=document.getElementById("placeRequest"),p=document.getElementById("vs-map-search-input");async function O(){try{const F={center:{lat:t.center.lat,lng:t.center.lng},renderingType:t.mapTypeVector?google.maps.RenderingType.VECTOR:google.maps.RenderingType.RASTER,zoom:t.zoom,isFractionalZoomEnabled:!0,mapId:t.mapId,restriction:{latLngBounds:ee},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1,gestureHandling:"greedy"};if(i)o=new google.maps.Map(i,F),Y(()=>o.fitBounds(ee));else throw new Error("Init error, mapContainer undefined")}catch(F){console.error("Maps init error",F.message)}m=new google.maps.InfoWindow,m.addListener("closeclick",()=>{pe("card_close",f.place)}),ye(),o.addListener("zoom_changed",()=>{C.value=o.getZoom(),C.value<CATEGORY_VISIBLE_ZOOM?ye():ye(!0),ce.value=!le.value,C.value>7&&!le.value&&ce.value&&(de.value=!0)}),o.addListener("dragstart",()=>{ce.value=!0}),o.addListener("tilesloaded",()=>{$.value||($.value=!0,Se())}),o.addListener("idle",()=>{b=Me(),!le.value&&ce.value&&me(ie(o))&&(de.value=!0,ce.value=!1)}),l.addEventListener("gmp-select",({place:F})=>{g[F.id]&&_e(F,g[F.id])}),u.addEventListener("gmp-select",({place:F})=>{g[F.id]&&_e(F,g[F.id])})}P.firstInteraction=!1,P.searchesCount=0,P.filterUsesCount=0,j.value===!1&&await O()});function ye(O){const F={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},z=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ7Q8cbLY0ZEgRouilirxxux4","ChIJ1YEuRDCFY0gRDeDw8bxbAuo","ChIJv-VNj0VoEkYRK9BkuJ07sKE","ChIJ-1-U7rYnS0YRzZLgw9BDh1I","ChIJ8fA1bTmyXEYRYm-tjaLruCI","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8","ChIJa76xwh5ymkcRW-WRjmtd6HU","ChIJu-SH28MJxkcRnwq9_851obM","ChIJuwtkpGSZAEcR6lXMScpzdQk","ChIJl5fz7WR9wUcR8g_mObTy60c","ChIJMVd4MymgVA0R99lHx5Y__Ws","ChIJ_ZqKe2cw6UYREPzyaM3PAAA","ChIJE74zDxSU3UYRubpdpdNUCvM","ChIJ4wsuREWc40YRewI60MRYJR4","ChIJ_UuggpyUkkYRwyW0T7qf6kA","ChIJ3fYyS9_KgUYREKh1PNZGAQA","ChIJQ2Dro1Ir0kgRmkXB5TQEim8","ChIJFXfA47sNok4RGOIUAYOdzzQ","ChIJI9HkgQm_ikYR8i7GR23fEbY","ChIJUXXYvLMei0YR7zdFQUIM8bA","ChIJRyEhyrlFlUcR75LTAvZg22Q"],q=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8"],U=o.getFeatureLayer(google.maps.FeatureType.COUNTRY),W=o.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);O?(U.style=null,W.style=null,U.style=Z=>{if(q.includes(Z.feature.placeId))return F},W.style=Z=>{if(q.includes(Z.feature.placeId))return F}):(U.style=Z=>{if(z.includes(Z.feature.placeId))return F},W.style=Z=>{if(z.includes(Z.feature.placeId))return F})}function Te(O,F){se.value&&(Y(()=>o.setCenter(se.value.center)),Y(()=>o.setZoom(se.value.zoom))),ae.value="",ve(O,F)}function ve(O,F){ke(),h.value=O,G[O].includedType&&k.value.add(G[O].includedType),Object.values(G[O].subCategory).forEach(q=>k.value.add(q.includedType)),Object.values(G[O].subCategory).forEach(q=>{q.excludedType&&N.value.add(q.excludedType)}),k.value=new Set(Array.from(k.value).flat()),N.value=new Set(Array.from(N.value).flat()),k.value.forEach(q=>{N.value.has(q)&&N.value.delete(q)}),V.value=G[O],R.value=F,ge({includedTypes:Array.from(k.value),excludedTypes:Array.from(N.value)});const z=Object.fromEntries(X.map(q=>[q.id,q.label]));B.value=`${z[O]} ${ae.value}`,p.value=B.value,P.showCategories=!0,de.value=!1}function he(O,F){const z=vue.ref([]),q=vue.ref();return O.forEach(()=>{X.forEach(U=>{U.id===h.value&&(z.value=U)}),Object.values(z.value).forEach(U=>{Object.values(U).forEach(W=>{F===W.id&&(q.value=W.label)})})}),q}function we(){L.value.forEach(O=>{S.value.has(O)&&S.value.delete(O)})}function xe(O,{includeTypes:F=!1,excludeTypes:z=!1,removeIncludedTypes:q=!1,removeExcludedTypes:U=!1}={}){var Z;const W=I.value.get(O);F&&W.includedTypes.forEach(te=>{F&&L.value.add(te),q&&L.value.delete(te)}),(z||U)&&((Z=W.excludedTypes)==null||Z.forEach(te=>{z&&S.value.add(te),U&&S.value.delete(te)}))}function De(O,F){se.value&&(Y(()=>o.setCenter(se.value.center)),Y(()=>o.setZoom(se.value.zoom))),ae.value="",$e(O,F)}function $e(O,F){if(M.value=F,ae.value="",O==="self-catering"&&!_.value.has("self-catering")){T.value=!0,Ve(),_.value=new Set,_.value.add(O);const z=he(_.value,O).value;B.value=z,p.value=`${B.value} ${ae.value}`,be(),p.value=z}else _.value.has(O)?(_.value.delete("self-catering"),_.value.delete(O),L.value=new Set,S.value=new Set,_.value.forEach(z=>{xe(z,{includeTypes:!0,excludeTypes:!0})}),we(),E.value.delete(he(_.value,O).value),_.value.size===0?(E.value=new Set,ve(h.value,R.value)):(ge({includedTypes:Array.from(L.value).flat(),excludedTypes:Array.from(S.value).flat()}),B.value=Array.from(E.value).join(", "),p.value=B.value)):(_.value.delete("self-catering"),_.value.add(O),xe(O,{includeTypes:!0,excludeTypes:!0}),we(),ge({includedTypes:Array.from(L.value).flat(),excludedTypes:Array.from(S.value).flat()}),E.value.add(he(_.value,O).value),B.value=`${Array.from(E.value).join(", ")} ${ae.value}`,p.value=B.value,P.showCategories=!0)}async function ge({includedTypes:O=[],excludedTypes:F=[]}={}){fe(),Ve(),Q+=1;const z=Q;P.filterUsesCount+=1,w.value="nearby";const q=o.getBounds(),U=q.getNorthEast(),W=q.getSouthWest(),Z=google.maps.geometry.spherical.computeDistanceBetween(U,W),te=Math.min(Z/2,25e3);d.includedTypes=O,d.excludedTypes=F??[],d.maxResultCount=NUMBER_OF_RESULTS,d.locationRestriction={center:o.getCenter(),radius:te},l.style.display="block",l.addEventListener("gmp-load",()=>{if(z!==Q)return;Le(z);let oe="main",Ee=h.value;_.value.size&&(oe="sub",Ee=Array.from(_.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:oe,search_map_location:o.getCenter().toString(),filter_selection:Ee,results_count:l.places.length,filter_usage_index:P.filterUsesCount}),Ce("map_filter")},{once:!0})}async function be(){fe(),ke(),Q+=1;const O=Q;P.searchesCount+=1,w.value="text",B.value=p.value.trim(),B.value&&(T.value?(c.locationBias=null,c.locationRestriction=o.getBounds(),h.value="accommodation",_.value.add("self-catering")):(c.locationRestriction=null,c.locationBias=o.getCenter()),c.includedType=A.value.some(F=>B.value.toLowerCase().includes(F))?"lodging":null,c.textQuery=`${B.value} in Scotland`,c.maxResultCount=NUMBER_OF_RESULTS,u.style.display="block",u.addEventListener("gmp-load",()=>{O===Q&&(Le(O),T.value=!1,n.createDataLayerObject("googleMapSearchEvent",{search_query:B.value,search_map_location:o.getCenter().toString(),search_results_count:u.places.length,search_usage_index:P.searchesCount}),Ce("map_search"))},{once:!0}),P.showDestinations=!1,P.showCategories=!0)}async function Le(O){const{AdvancedMarkerElement:F}=await importLibrary("marker"),{LatLngBounds:z}=await importLibrary("core");if(O!==Q)return;const q=vue.ref();w.value==="nearby"?q.value=l:w.value==="text"?q.value=u:console.error("Unrecognised Search type"),q.value.places.length===0?(H.value=!0,q.value.style.display="none"):(H.value=!1,q.value.style.display="block");const U=new z;q.value.places&&(q.value.places.forEach(W=>{const Z=document.createElement("div");Z.classList.add("vs-map-marker");const te=document.createElement("i");te.classList.add("fa-solid","fa-location-dot"),Z.appendChild(te);const oe=new F({map:o,position:W.location,content:Z,title:"Map pin"});oe.addEventListener("gmp-placeclick",()=>{_e(W)}),oe.addListener("click",()=>{_e(W)}),oe.metadata={id:W.id},g[W.id]=oe,U.extend(W.location),q.value.places.length===1?(Y(()=>o.setCenter({lat:W.location.lat(),lng:W.location.lng()})),Y(()=>o.setZoom(14)),Y(()=>o.fitBounds(W.viewport))):(Y(()=>o.setCenter(U.getCenter())),Y(()=>o.fitBounds(U)))}),se.value=ie(o))}async function Se(){const{AdvancedMarkerElement:O}=await importLibrary("marker");Be(),s.value.forEach(F=>{const z=document.createElement("div");z.classList.add("vs-map-marker");const q=document.createElement("i");q.classList.add("fa-solid","fa-location-dot"),z.appendChild(q);const U=new O({map:o,position:{lat:F.properties.locationCentre.latitude,lng:F.properties.locationCentre.longitude},content:z,title:F.properties.title});U.addListener("gmp-click",()=>Ne(F)),g[F.properties.title]=U})}function fe(O,F){P.showCategories=!1,Be(),w.value="",d.includedTypes=null,d.excludedTypes=null,d.locationRestriction=null,l.style.display="none",c.includedType=null,c.locationRestriction=null,c.locationBias=null,c.textQuery=null,u.style.display="none",D.value=!1,m&&m.close&&m.close(),H.value=void 0,O&&(Ve(),ke(),pe("clear_all"),Se(),P.showDestinations=!0),F&&(Y(()=>o.setCenter(t.center)),Y(()=>o.setZoom(t.zoom)),Y(()=>o.fitBounds(ee)),pe("reset_map"))}function Ve(){B.value=null,p.value=""}function ke(){h.value=void 0,_.value=new Set,k.value=new Set,N.value=new Set,L.value=new Set,S.value=new Set,E.value=new Set,R.value=void 0,M.value=void 0}function Be(){for(const O in g)g[O]&&(g[O].map=null);g={}}function _e(O){m.isOpen&&(m.close(),pe("card_close",f.place)),f.place=O,window.innerWidth<=768?(v.style.width="85vw",v.style.height="32em",P.sidebarOpen=!1):(v.style.width="20em",v.style.height="32em"),v.style.display="block",v.style.overflowY="auto",v.style.overflowX="hidden",v.style.boxSizing="border-box",v.style.maxHeight="32em",m.setOptions({content:v,maxWidth:"25em",position:O.location,pixelOffset:new google.maps.Size(0,-32)}),m.open({map:o}),google.maps.event.addListenerOnce(o,"idle",()=>{o.getZoom()>MAX_ZOOM&&Y(()=>o.setZoom(MAX_ZOOM)),pe("card_open",O)}),Y(()=>o.setCenter(O.location))}async function pe(O,F){let z="",q="",U="",W="";F&&(await F.fetchFields({fields:["displayName","primaryType","rating","websiteURI"]}),z=F.displayName,q=F.rating,U=F.websiteURI,W=F.primaryType),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:O,search_query:p.value.trim(),map_location:o.getCenter().toString(),visible_attractions_count:b,card_attraction_name:z,card_attraction_category:W,card_attraction_rating:q,card_attraction_url:U,interaction_timestamp_ms:Date.now()}),Ce(O)}function Ce(O){if(!P.firstInteraction){const z=Date.now()-P.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:z,first_interaction_type:O}),P.firstInteraction=!0}}function Me(){const O=o.getBounds();if(!O)return 0;let F=0;for(let z=0;z<Object.keys(g).length;z++){const U=g[Object.keys(g)[z]].position;O.contains(U)&&(F+=1)}return F}const ae=vue.ref("");function Ne(O){P.showDestinations=!1,ae.value=O.properties.title,Y(()=>o.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(O.properties.viewport.low.latitude,O.properties.viewport.low.longitude),new google.maps.LatLng(O.properties.viewport.high.latitude,O.properties.viewport.high.longitude)))),Y(()=>o.setCenter(new google.maps.LatLng(O.properties.locationCentre.latitude,O.properties.locationCentre.longitude))),ve("things-to-do",2)}function Ie(){if(P.showDestinations=!1,P.sidebarOpen=!0,ae.value="",de.value=!1,_.value.size>0){if(_.value.has("self-catering"))_.value.delete("self-catering"),$e("self-catering",0);else{ge({includedTypes:Array.from(L.value),excludedTypes:Array.from(S.value)});const O=[];_.value.forEach(F=>{O.push(he(_.value,F).value)}),B.value=O.join(", "),p.value=B.value,P.showCategories=!0}return}if(h.value){ve(h.value,R.value);return}if(p.value){be();return}ve("things-to-do",2)}return(O,F)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(j)?"d-none":""])},[vue.withDirectives(vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{categories:vue.unref(X),"category-data":vue.unref(G),query:B.value,"selected-category":h.value,"selected-subcategories":_.value,"sidebar-labels":ue,onCategorySelected:F[1]||(F[1]=z=>Te(z.id,z.key)),onResetMap:F[2]||(F[2]=z=>fe(!0)),onResetLocation:F[3]||(F[3]=z=>fe(!0,!0)),onSearchInputChanged:be,onSubcategorySelected:F[4]||(F[4]=z=>De(z.id,z.key))},{"vs-map-sidebar-search-results":vue.withCtx(()=>[H.value||t.alertText&&H.value===!1?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3,[H.value?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,id:"vs-map__alert",size:"small"},{default:vue.withCtx(()=>[vue.createElementVNode("span",null,[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage)+" ",1),vue.createElementVNode("a",{href:"#",onClick:F[0]||(F[0]=vue.withModifiers(z=>fe(!0,!0),["prevent"]))},vue.toDisplayString(e.resetMapNoResultsMessage),1)])]),_:1})):(vue.openBlock(),vue.createBlock(vue.unref(VsDetail),{key:1,class:"mb-150",color:"secondary",icon:"vs-icon-feedback-information","icon-variant":"highlight",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.alertText),1)]),_:1}))])):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>[...F[5]||(F[5]=[vue.createElementVNode("div",{id:"search-container"},[vue.createElementVNode("gmp-place-search",{id:"nearbySearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-nearby-search-request",{id:"nearbySearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])]),vue.createElementVNode("gmp-place-search",{id:"textSearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-text-search-request",{id:"textSearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])]),_:1}))]),_:1},8,["categories","category-data","query","selected-category","selected-subcategories"])],512),[[vue.vShow,$.value]]),vue.createElementVNode("div",_hoisted_4,[vue.createElementVNode("div",_hoisted_5,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>[...F[6]||(F[6]=[vue.createElementVNode("div",{id:"detail-container"},[vue.createElementVNode("gmp-place-details",{id:"placeDetails",style:{display:"none"}},[vue.createElementVNode("gmp-place-details-place-request",{id:"placeRequest"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-website"),vue.createElementVNode("gmp-place-phone-number"),vue.createElementVNode("gmp-place-summary"),vue.createElementVNode("gmp-place-type-specific-highlights"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-feature-list"),vue.createElementVNode("gmp-place-media",{"lightbox-preferred":""}),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])]),_:1})),vue.unref(de)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6,[vue.createVNode(vue.unref(LoadingSpinner.VsButton),{icon:"vs-icon-control-search",variant:"secondary",onClick:Ie},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.searchAreaButton),1)]),_:1})])):vue.createCommentVNode("",!0)])],2),vue.unref(j)&&J.value==="noCookie"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0,type:"cookie",class:vue.normalizeClass(["vs-map__error vs-map__error--no-cookies",vue.unref(j)?"d-block":"d-none"]),"data-test":"vs-map__warning--no-cookies"},{"button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noCookiesMessage)+" ",1)]),_:1},8,["class"])):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsWarning),{class:"vs-map__warning vs-map__warning--no-js","data-test":"vs-map__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noJsMessage),1)]),_:1})]))}};exports.VsBody=LoadingSpinner.VsBody;exports.VsButton=LoadingSpinner.VsButton;exports.VsButtonToggleGroup=LoadingSpinner.VsButtonToggleGroup;exports.VsCol=LoadingSpinner.VsCol;exports.VsContainer=LoadingSpinner.VsContainer;exports.VsHeading=LoadingSpinner.VsHeading;exports.VsIcon=LoadingSpinner.VsIcon;exports.VsImg=LoadingSpinner.VsImg;exports.VsLoadingSpinner=LoadingSpinner.VsLoading;exports.VsRow=LoadingSpinner.VsRow;exports.VsWarning=LoadingSpinner.VsWarning;exports.VsAccordion=VsAccordion;exports.VsAccordionItem=VsAccordionItem;exports.VsAccordionToggle=VsAccordionToggle;exports.VsAddress=Address;exports.VsAlert=VsAlert;exports.VsArticle=Article;exports.VsArticleDetails=ArticleDetails;exports.VsArticleSection=ArticleSection;exports.VsArticleSidebar=ArticleSidebar;exports.VsBackToTop=_sfc_main$2v;exports.VsBadge=VsBadge;exports.VsBanner=Banner;exports.VsBreadcrumb=Breadcrumb;exports.VsBreadcrumbItem=BreadcrumbItem;exports.VsCannedSearch=CannedSearch;exports.VsCaption=Caption;exports.VsCarbonCalculator=CarbonCalculator;exports.VsCard=VsCard;exports.VsCardGroup=VsCardGroup;exports.VsCarousel=VsCarousel;exports.VsCarouselSlide=CarouselSlide;exports.VsCheckbox=VsCheckbox;exports.VsContentSwiper=ContentSwiper;exports.VsContentSwiperSlide=SwiperSlide;exports.VsDescriptionList=DescriptionList;exports.VsDescriptionListItem=DescriptionListItem;exports.VsDetail=VsDetail;exports.VsDropdown=VsDropdown;exports.VsDropdownItem=VsDropdownItem;exports.VsEmbedWrapper=EmbedWrapper;exports.VsEventCard=EventCard;exports.VsFederatedSearch=_sfc_main$4;exports.VsFederatedSearchInput=_sfc_main$6;exports.VsFilter=_sfc_main$1K;exports.VsFilterSection=_sfc_main$1J;exports.VsFooter=Footer;exports.VsFooterAccordionItem=FooterAccordionItem;exports.VsFooterCopyright=FooterCopyright;exports.VsFooterNavListItem=FooterNavListItem;exports.VsFooterSocialItem=FooterSocialItem;exports.VsFooterSocialMenu=FooterSocialMenu;exports.VsFooterUtilityList=FooterUtilityList;exports.VsForm=Form;exports.VsGlobalMenu=GlobalMenu;exports.VsGlobalMenuLanguage=GlobalMenuLanguage;exports.VsGlobalMenuLanguageItem=GlobalMenuLanguageItem;exports.VsHeroSection=HeroSection;exports.VsHtmlError=HtmlError;exports.VsIconList=IconList;exports.VsIconListItem=IconListItem;exports.VsIllustratedMap=IllustratedMap;exports.VsImageWithCaption=ImageWithCaption;exports.VsInput=VsInput;exports.VsItinerary=Itinerary;exports.VsItineraryBorderOverlapWrapper=ItineraryBorderOverlapWrapper;exports.VsItineraryDay=ItineraryDay;exports.VsItineraryStop=ItineraryStop;exports.VsItineraryStopInfo=ItineraryStopInfo;exports.VsItineraryTips=ItineraryTips;exports.VsLink=VsLink;exports.VsLinkList=VsLinkList;exports.VsLinkListItem=LinkListItem;exports.VsList=VsList;exports.VsListicleItem=ListicleItem;exports.VsMainMap=_sfc_main;exports.VsMediaCaption=VsMediaCaption;exports.VsMegaNavAccordionItem=MegaNavAccordionItem;exports.VsMegaNavDropdownContainer=MegaNavDropdownContainer;exports.VsMegaNavFeaturedEvent=MegaNavFeaturedEvent;exports.VsMegaNavFeaturedItem=MegaNavFeaturedItem;exports.VsMegaNavList=MegaNavList;exports.VsMegaNavListItem=MegaNavListItem;exports.VsMegaNavStaticLink=MegaNavStaticLink;exports.VsMegalinkLinkList=MegalinkLinkList;exports.VsMegalinkMultiImage=MegalinkMultiImage;exports.VsMegalinkSingleImage=MegalinkSingleImage;exports.VsMegalinks=Megalinks;exports.VsMeganav=MegaNav;exports.VsModal=Modal;exports.VsModuleWrapper=VsModuleWrapper;exports.VsNavigationBar=NavigationBar;exports.VsNavigationBarMenu=NavigationBarMenu;exports.VsNavigationBarMenuDropdown=NavigationBarMenuDropdown;exports.VsNavigationBarMenuItem=NavigationBarMenuItem;exports.VsNavigationBarSearch=NavigationBarSearch;exports.VsNavigationBarSidebar=VsNavigationSidebar;exports.VsNavigationBarSidebarButton=VsNavigationBarSidebarButton;exports.VsNumberInput=VsNumberInput;exports.VsPageIntro=PageIntro;exports.VsPagination=_sfc_main$D;exports.VsPanel=Panel;exports.VsProductSearch=ProductSearch;exports.VsProgressBar=VsProgressBar;exports.VsQuote=Quote;exports.VsRadioButton=VsRadioButton;exports.VsRecaptcha=VsRecaptcha;exports.VsSectionHeader=SectionHeader;exports.VsSelect=VsSelect;exports.VsSiteSearch=VsSiteSearch;exports.VsSiteSearchForm=VsSiteSearchForm;exports.VsSkiScotlandCard=SkiScotlandCard;exports.VsSkiScotlandStatus=SkiScotlandStatus;exports.VsSkipTo=SkipTo;exports.VsSocialCreditLink=SocialCreditLink;exports.VsSocialShare=SocialShare;exports.VsSocialShareItem=SocialShareItem;exports.VsSpotlightSection=SpotlightSection;exports.VsStretchedLinkCard=VsStretchedLinkCard;exports.VsStretchedLinkPanel=VsStretchedLinkPanels;exports.VsStyledList=_sfc_main$g;exports.VsStyledListItem=_sfc_main$f;exports.VsSummaryBoxDistanceListItem=SummaryBoxDistanceListItem;exports.VsSummaryBoxList=SummaryBoxList;exports.VsSummaryBoxListItem=SummaryBoxListItem;exports.VsSvg=VsSvg;exports.VsSvgLink=VsSvgLink;exports.VsTabItem=TabItem;exports.VsTable=VsTable;exports.VsTableBody=VsTableBody;exports.VsTableDataCell=VsTableDataCell;exports.VsTableFooter=VsTableFooter;exports.VsTableHead=VsTableHead;exports.VsTableHeaderCell=VsTableHeaderCell;exports.VsTableRow=VsTableRow;exports.VsTabs=Tabs;exports.VsTag=Tag;exports.VsTagManagerWrapper=TagManagerWrapper;exports.VsTextarea=VsTextarea;exports.VsToggleButton=VsToggleButton;exports.VsTooltip=VsTooltip;exports.VsTourismInfo=TourismInfo;exports.VsVideo=VsVideo;exports.VsVideoCaption=VsVideoCaption;
|