@visitscotland/component-library 5.41.5 → 5.41.6

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.
@@ -330,4 +330,4 @@ ${c.message}`,c}}};return loaders.loaders=s,loaders}var getPropertyByPath={},has
330
330
  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}),o=hasOwnProperty(r,"selectedItem"),s=r.selectedItem!==a.selectedItem;o&&(this.$emit("select",r.selectedItem,t),s&&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$s={"data-test":"vs-autocomplete",class:"vs-autocomplete mb-100"},_hoisted_2$m=["for"],_hoisted_3$f=["placeholder","onClick"],_hoisted_4$c=["name"],_sfc_main$C=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([]),o=vue.ref(t.options),s=f=>f?f[u.value]:"",i=f=>{o.value=t.options.filter(v=>v[u.value].toLowerCase().includes(f.toLowerCase()))},l=f=>{typeof t.trackBy<"u"?a("changeValue",f[t.trackBy]):a("changeValue",f.label)},u=vue.computed(()=>typeof t.multiselectLabel<"u"?t.multiselectLabel:"name"),c=vue.computed(()=>{if(typeof r.value=="string"){if(t.isTourLocation){const f=t.options.find(v=>v.name===r.value);if(typeof f<"u")return f.slug.trim()}return r.value.trim()}else if(typeof r.value=="object"&&Object.keys(r.value).length>0)return s(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)}),(f,v)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createElementVNode("label",{for:f.id},vue.toDisplayString(f.label),9,_hoisted_2$m),vue.createVNode(vue.unref(VueComboBlocks),{"input-id":f.id,modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=p=>r.value=p),itemToString:s,items:o.value,onInputValueChange:i,onSelect:l},{default:vue.withCtx(({getInputProps:p,getInputEventListeners:h,hoveredIndex:g,isOpen:_,getMenuProps:m,getMenuEventListeners:b,getItemProps:S,getItemEventListeners:C,getComboboxProps:V,openMenu:B})=>[vue.createElementVNode("div",vue.mergeProps(V(),{class:"vs-autocomplete__list-wrapper"}),[vue.createElementVNode("input",vue.mergeProps({class:"vs-input form-control"},p(),vue.toHandlers(h(),!0),{placeholder:f.placeholder,onClick:$=>B()}),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(m(),vue.toHandlers(b(),!0),{class:"vs-autocomplete__list"}),[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,($,D)=>(vue.openBlock(),vue.createElementBlock("li",vue.mergeProps({key:$.id},{ref_for:!0},S({item:$,index:D}),vue.toHandlers(C({item:$,index:D}),!0),{class:["vs-autocomplete__list-item",{"vs-autocomplete__list-item--hover":g===D}]}),vue.toDisplayString($[u.value]),17))),128))],16),[[vue.vShow,_]])],16)]),_:1},8,["input-id","modelValue","items"]),d.value?vue.withDirectives((vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:f.name,"onUpdate:modelValue":v[1]||(v[1]=p=>c.value=p)},null,8,_hoisted_4$c)),[[vue.vModelText,c.value]]):vue.createCommentVNode("",!0)]))}}),_hoisted_1$r={class:"vs-date-input","data-test":"vs-date-input"},_hoisted_2$l=["for"],_hoisted_3$e=["min","name","id"],_sfc_main$B=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),o=vue.computed(()=>new Date().toISOString().split("T")[0]);return vue.watch(()=>t.value,s=>{r.value=s,a("changeDate",r.value)}),(s,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[vue.createElementVNode("label",{for:s.id},vue.toDisplayString(s.label),9,_hoisted_2$l),vue.withDirectives(vue.createElementVNode("input",{type:"date",min:typeof s.minDate<"u"&&s.minDate.length>0?s.minDate:o.value,name:s.name,id:s.id,"onUpdate:modelValue":i[0]||(i[0]=l=>r.value=l),onChange:i[1]||(i[1]=l=>s.$emit("changeDate",r.value)),class:"form-control vs-input"},null,40,_hoisted_3$e),[[vue.vModelText,r.value]])]))}}),_hoisted_1$q={class:"vs-date-range","data-test":"vs-date-range"},_hoisted_2$k={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$a={class:"col-12 col-sm-2 order-first order-sm-3 text-sm-right"},_hoisted_6$a={key:1,type:"hidden",name:"refine-date",value:"on"},_hoisted_7$9=["value"],_sfc_main$A=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(""),o=vue.ref(""),s=vue.computed(()=>!!r.value||!!o.value),i=vue.computed(()=>{const m=new Date(o.value),b=new Date(r.value),S=m.getTime()-b.getTime();return isNaN(S)?1:S/(1e3*3600*24)});function l(){r.value="",o.value=""}const u=m=>{const b=m.toLocaleString("default",{year:"numeric"}),S=m.toLocaleString("default",{month:"2-digit"}),C=m.toLocaleString("default",{day:"2-digit"});return`${b}-${S}-${C}`},c=vue.computed(()=>r.value===""?u(new Date):""),d=vue.computed(()=>{let m;if(r.value!==""){const b=new Date(r.value);b.setDate(b.getDate()+1),m=u(b)}else if(t.defaultDates){const b=new Date,S=new Date(b);S.setDate(S.getDate()+1),m=u(S)}return m}),f=vue.computed(()=>{let m;if(r.value===""){const b=new Date,S=new Date(b);S.setDate(S.getDate()+1),m=u(S)}else{const b=new Date,S=new Date(r.value);b.setDate(S.getDate()+1),m=u(b)}return m});function v(){const m=new Date(r.value);new Date(o.value)<=m&&(o.value="")}function p(){const m=!(!r.value&&!o.value);a("dateUpdated",m)}function h(){p(),v()}const g=vue.computed(()=>t.selectedProd==="acco"?"stay":"isostartdate"),_=vue.computed(()=>t.selectedProd==="acco"?"endDate":"isoenddate");return(m,b)=>(vue.openBlock(),vue.createElementBlock("fieldset",_hoisted_1$q,[vue.createElementVNode("div",_hoisted_2$k,[vue.createElementVNode("div",_hoisted_3$d,[vue.createVNode(_sfc_main$B,{label:e.startLabel,value:e.defaultDates&&r.value===""&&o.value?c.value:r.value,name:g.value,id:"startDate",onChangeDate:b[0]||(b[0]=S=>{r.value=S,h()}),class:"mb-100"},null,8,["label","value","name"])]),vue.createElementVNode("div",_hoisted_4$b,[vue.createVNode(_sfc_main$B,{label:e.endLabel,value:e.defaultDates&&o.value===""&&r.value?d.value:o.value,"min-date":f.value,name:_.value,id:"endDate",onChangeDate:b[1]||(b[1]=S=>{o.value=S,h()}),class:"mb-100"},null,8,["label","value","min-date","name"])]),vue.createElementVNode("div",_hoisted_5$a,[s.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$a)):vue.createCommentVNode("",!0),vue.createElementVNode("input",{type:"hidden",name:"nights",value:i.value},null,8,_hoisted_7$9)])])]))}}),_hoisted_1$p={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},_hoisted_2$j={key:0,class:"container"},_hoisted_3$c={class:"row"},_hoisted_4$a={class:"col-12"},_hoisted_5$9=["action"],_hoisted_6$9={class:"form-group product-search__type mb-100"},_hoisted_7$8={for:"prodtypes"},_hoisted_8$4={class:"product-search__in d-none d-md-block mt-100"},_hoisted_9$4={"aria-live":"polite"},_hoisted_10$4=["disabled","value"],_hoisted_11$3=["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$z=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 o=vue.ref();o.value={id:"",key:"",name:"",type:""};const s=vue.ref("off"),i=vue.ref(!1),l=vue.computed(()=>{const k=typeof a.value>"u"?"see-do":a.value;return`/info/${LoadingSpinner.paths[k]}`});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 k=n.defaultLocale.length>0?n.defaultLocale:getLocale();return k==="en"&&(k=""),k}),f=vue.computed(()=>{if(typeof window<"u"){let k=window.location.origin;return k.includes("localhost")?"https://www.visitscotland.com":k}return"https://www.visitscotland.com"}),v=vue.computed(()=>`${f.value}${d.value?"/"+d.value:""}${l.value}/search-results`),h="https://www.visitscotland.com/data/locations"+`?locale=${d.value}`,g=vue.ref([]),_="https://www.visitscotland.com/tms-api/v1/attractions",m=vue.ref([]),b="https://www.visitscotland.com/tms-api/v1/origins?active=1",S=vue.ref([]),C=vue.ref([]),V=()=>{const k=getProductTypes(),L=[];k.forEach(T=>{L.push(T)}),C.value=L},B=vue.computed(()=>t.value?[]:C.value.map(L=>({...L,text:getProductName(L.value,L.text)}))),$=async()=>{const k=await getData(h);k&&(g.value=k.data)},D=async()=>{const k=await getData(b);k&&(S.value=k.data)},R=async()=>{const k=await getData(_);k&&(m.value=k.data)},M=(k,L)=>{L==="key"?o.value=g.value.find(T=>T.key===k):L==="id"?o.value=g.value.find(T=>T.id===k):o.value=g.value.find(T=>T.name===k.trim())},A=k=>{const L=k.value;a.value=L,L==="tour"&&(D(),R())},O=()=>c[n.defaultLocale]||"",q=()=>{t.value=!0,vue.nextTick(()=>{t.value=!1,n.defaultLocation!==""&&u&&M(n.defaultLocation,"id")})},ee=vue.computed(()=>a.value!=="cate"&&a.value!=="acti,attr,reta"?"d-lg-flex":"");vue.onBeforeMount(async()=>{window.VS={};const k=document.createElement("script");k.async=!1,k.onload=q,k.setAttribute("src",`https://www.visitscotland.com/${O().localeUrl}/data/template/search.js`),document.head.appendChild(k)}),vue.onMounted(async()=>{$(),u.value=!0,a.value=n.defaultProd,a.value==="tour"&&(D(),R()),V()});const Y=k=>{s.value=k?"on":"off"},W=k=>{i.value=!0;const L=k.currentTarget;setTimeout(function(){L.submit()},500)};return(k,L)=>{var T,F,Q,w,N,E;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$p,[t.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$j,[vue.createElementVNode("div",_hoisted_3$c,[vue.createElementVNode("div",_hoisted_4$a,[vue.unref(u)?(vue.openBlock(),vue.createElementBlock("form",{key:0,action:v.value,onSubmit:vue.withModifiers(W,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[vue.createElementVNode("div",_hoisted_6$9,[vue.createElementVNode("label",_hoisted_7$8,vue.toDisplayString(vue.unref(getLabelText)("search_for","I'm looking for")),1),vue.createElementVNode("div",{class:vue.normalizeClass(ee.value)},[vue.createVNode(VsSelect,{options:B.value,value:e.defaultProd,onUpdated:L[0]||(L[0]=j=>A(j)),"field-name":"prodtypes"},null,8,["options","value"]),vue.createElementVNode("div",_hoisted_8$4,vue.toDisplayString(vue.unref(getLabelText)("in","in")),1)],2)]),vue.createElementVNode("div",_hoisted_9$4,[a.value!="tour"&&vue.unref(u)?(vue.openBlock(),vue.createBlock(_sfc_main$C,{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:L[1]||(L[1]=j=>M(j)),"default-val":vue.unref(o),"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:((T=vue.unref(o))==null?void 0:T.type)==="POLYGON",value:((F=vue.unref(o))==null?void 0:F.key)||""},null,8,_hoisted_10$4)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:2,type:"hidden",name:"locpoly",disabled:((Q=vue.unref(o))==null?void 0:Q.type)!=="POLYGON",value:((w=vue.unref(o))==null?void 0:w.key)||""},null,8,_hoisted_11$3)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:3,type:"hidden",name:"locprox",value:((N=vue.unref(o))==null?void 0:N.type)==="DISTRICT"?1:0},null,8,_hoisted_12$2)):vue.createCommentVNode("",!0),a.value!=="tour"&&((E=vue.unref(o))==null?void 0:E.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$A,{"start-label":vue.unref(getLabelText)("startdate","Start Date","dates"),"end-label":vue.unref(getLabelText)("enddate","End Date","dates"),onDateUpdated:L[2]||(L[2]=j=>Y(j)),"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,L[4]||(L[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$C,{id:"tour-origin",label:vue.unref(getLabelText)("tour_origin","Starting point"),"multiselect-label":"name",name:"origins[]",options:S.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,j=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",name:"attractions[]",value:j},null,8,_hoisted_19))),256)),vue.createVNode(_sfc_main$C,{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:L[3]||(L[3]=j=>k.trackSubmit(a.value,typeof vue.unref(o)>"u"?"":vue.unref(o)))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("search","Search")),1)]),_:1})],40,_hoisted_5$9)):vue.createCommentVNode("",!0),vue.unref(u)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsLoading,{key:1,variant:"dark"}))])])]))])}}}),_sfc_main$y={name:"VsProductSearch",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsProductSearchEmbed:_sfc_main$z,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$o={class:"vs-product-search","data-test":"vs-product-search"},_hoisted_2$i={class:"vs-product-search__intro"};function _sfc_render$o(e,n,t,a,r,o){const s=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$o,[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(s,{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$i,[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$y,[["render",_sfc_render$o]]),_sfc_main$x={name:"VsQuote",status:"prototype",release:"0.0.1",props:{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$n={key:0,class:"vs-quote__speech-container"},_hoisted_2$h={key:1,class:"vs-quote__author-container"},_hoisted_3$b={class:"vs-quote__content-container"},_hoisted_4$9={class:"vs-quote__content"},_hoisted_5$8={key:0,class:"vs-quote__author-name"},_hoisted_6$8={key:2,class:"vs-quote__quote-link"};function _sfc_render$n(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-quote",o.variantClass]),"data-test":"vs-quote"},[t.withBorder?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-quote__speech-mark"},"“",-1)]))),o.hasAuthorImage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$h,[vue.renderSlot(e.$slots,"quote-image")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$b,[vue.createElementVNode("div",_hoisted_4$9,[vue.renderSlot(e.$slots,"quote-content")]),o.hasAuthorName?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$8,[vue.renderSlot(e.$slots,"quote-author-name")])):vue.createCommentVNode("",!0),o.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_6$8,[vue.renderSlot(e.$slots,"quote-link",{if:"$slots['quote-link']"})])):vue.createCommentVNode("",!0)])],2)}const Quote=LoadingSpinner._export_sfc(_sfc_main$x,[["render",_sfc_render$n]]),_sfc_main$w={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$m={class:"vs-section-header","data-test":"vs-section-header"},_hoisted_2$g={key:1,class:"mt-175","data-test":"vs-section-header__actions"};function _sfc_render$m(e,n,t,a,r,o){const s=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$m,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,null,{default:vue.withCtx(()=>n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-section-header__divider"},null,-1)])),_:1,__:[0]})]),_:1}),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{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(s,{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$g,[vue.renderSlot(e.$slots,"section-header-actions")])):vue.createCommentVNode("",!0)]),_:3})]),_:3})]),_:3})])}const SectionHeader=LoadingSpinner._export_sfc(_sfc_main$w,[["render",_sfc_render$m]]),_sfc_main$v={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$l={class:"visually-hidden","data-test":"vs-table__caption"};function _sfc_render$l(e,n,t,a,r,o){const s=vue.resolveComponent("BTableSimple");return vue.openBlock(),vue.createBlock(s,{class:"vs-table","data-test":"vs-table",small:"","caption-top":"",responsive:o.responsive,stacked:o.stacked},{default:vue.withCtx(()=>[vue.createElementVNode("caption",_hoisted_1$l,vue.toDisplayString(t.tableCaption),1),vue.renderSlot(e.$slots,"default")]),_:3},8,["responsive","stacked"])}const VsTable=LoadingSpinner._export_sfc(_sfc_main$v,[["render",_sfc_render$l]]),_sfc_main$u={name:"VsTableHead",status:"prototype",release:"0.0.1",components:{BThead:LoadingSpinner.wn}};function _sfc_render$k(e,n,t,a,r,o){const s=vue.resolveComponent("BThead");return vue.openBlock(),vue.createBlock(s,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableHead=LoadingSpinner._export_sfc(_sfc_main$u,[["render",_sfc_render$k]]),_sfc_main$t={name:"VsTableHeaderCell",status:"prototype",release:"0.0.1",components:{BTh:LoadingSpinner.Ea},props:{stackedHeading:{type:String,default:void 0}}};function _sfc_render$j(e,n,t,a,r,o){const s=vue.resolveComponent("BTh");return vue.openBlock(),vue.createBlock(s,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$t,[["render",_sfc_render$j]]),_sfc_main$s={name:"VsTableBody",status:"prototype",release:"0.0.1",components:{BTbody:LoadingSpinner.Bn}};function _sfc_render$i(e,n,t,a,r,o){const s=vue.resolveComponent("BTbody");return vue.openBlock(),vue.createBlock(s,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableBody=LoadingSpinner._export_sfc(_sfc_main$s,[["render",_sfc_render$i]]),_sfc_main$r={name:"VsTableRow",status:"prototype",release:"0.0.1",components:{BTr:LoadingSpinner.Je}};function _sfc_render$h(e,n,t,a,r,o){const s=vue.resolveComponent("BTr");return vue.openBlock(),vue.createBlock(s,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableRow=LoadingSpinner._export_sfc(_sfc_main$r,[["render",_sfc_render$h]]),_sfc_main$q={name:"VsTableDataCell",status:"prototype",release:"0.0.1",components:{BTd:LoadingSpinner.St},props:{stackedHeading:{type:String,default:null}}};function _sfc_render$g(e,n,t,a,r,o){const s=vue.resolveComponent("BTd");return vue.openBlock(),vue.createBlock(s,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$q,[["render",_sfc_render$g]]),_sfc_main$p={name:"VsTableFooter",status:"prototype",release:"0.0.1",components:{BTfoot:LoadingSpinner.Pa}};function _sfc_render$f(e,n,t,a,r,o){const s=vue.resolveComponent("BTfoot");return vue.openBlock(),vue.createBlock(s,vue.mergeProps(e.$attrs,{role:"rowgroup"}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableFooter=LoadingSpinner._export_sfc(_sfc_main$p,[["render",_sfc_render$f]]),_sfc_main$o={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,o)=>r===o.findIndex(s=>s.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$k={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},_hoisted_2$f={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$7={"data-test":"vs-ski__status-label"},_hoisted_6$7={"data-test":"vs-ski__runs-label"},_hoisted_7$7={"data-test":"vs-ski__lifts-label"},_hoisted_8$3={"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$e(e,n,t,a,r,o){const s=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsLoadingSpinner"),u=vue.resolveComponent("VsWarning"),c=vue.resolveComponent("VsTableHeaderCell"),d=vue.resolveComponent("VsTableHead"),f=vue.resolveComponent("VsIcon"),v=vue.resolveComponent("VsTableDataCell"),p=vue.resolveComponent("VsTableRow"),h=vue.resolveComponent("VsTableBody"),g=vue.resolveComponent("VsTableFooter"),_=vue.resolveComponent("VsTable"),m=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[vue.createElementVNode("div",_hoisted_2$f,[t.imgSrc?(vue.openBlock(),vue.createBlock(s,{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(_,{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$7,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(c,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_6$7,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_7$7,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-check",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_8$3,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(v,{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(v,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(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{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(v,{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(v,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(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{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(v,{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(v,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(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{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(v,{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(v,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(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{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(v,{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(v,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(v,{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(m,{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(m,{href:t.moreDetailsLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.moreDetailsLabel),1)]),_:1},8,["href"])])])}const SkiScotlandCard=LoadingSpinner._export_sfc(_sfc_main$o,[["render",_sfc_render$e]]),_sfc_main$n={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,o)=>r===o.findIndex(s=>s.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$j={class:"vs-ski-scotland-status","data-test":"vs-ski-scotland-status"},_hoisted_2$e={"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$6={"data-test":"vs-ski__open-label"},_hoisted_6$6={"data-test":"vs-ski__open-label"},_hoisted_7$6={"data-test":"vs-ski__opening-label"},_hoisted_8$2={"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$d(e,n,t,a,r,o){const s=vue.resolveComponent("VsLoadingSpinner"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsWarning"),d=vue.resolveComponent("VsHeading"),f=vue.resolveComponent("VsTableHeaderCell"),v=vue.resolveComponent("VsTableHead"),p=vue.resolveComponent("VsIcon"),h=vue.resolveComponent("VsTableDataCell"),g=vue.resolveComponent("VsTableRow"),_=vue.resolveComponent("VsTableBody"),m=vue.resolveComponent("VsTableFooter"),b=vue.resolveComponent("VsTable"),S=vue.resolveComponent("VsLink"),C=vue.resolveComponent("VsAccordionItem"),V=vue.resolveComponent("VsAccordion");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[!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(s),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(b,{"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$e,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$9,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$7,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_5$6,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{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(h,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(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_6$6,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{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(h,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(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_7$6,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{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(h,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(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$2,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{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(h,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(h,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(h,{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(h,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(m,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,{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(S,{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(b,{"table-caption":t.liftStatusLabel,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.lifts,B=>(vue.openBlock(),vue.createBlock(g,{key:B.name},{default:vue.withCtx(()=>[B.status==="0"||B.status===0?(vue.openBlock(),vue.createBlock(h,{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),B.status==="1"||B.status===1?(vue.openBlock(),vue.createBlock(h,{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),B.status==="2"||B.status===2?(vue.openBlock(),vue.createBlock(h,{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),B.status==="3"||B.status===3?(vue.openBlock(),vue.createBlock(h,{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),B.status==="4"||B.status===4?(vue.openBlock(),vue.createBlock(h,{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(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(B.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,{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(o.filteredRunLevels,B=>(vue.openBlock(),vue.createElementBlock("div",{key:B.name},[vue.createVNode(V,null,{default:vue.withCtx(()=>[vue.createVNode(C,{variant:"subtle","control-id":`accordion_item_${B.name}`,"colour-badge":B.colourToken},{title:vue.withCtx(()=>[vue.createElementVNode("div",{"data-test":`vs-ski__${B.name}-label`,class:"d-inline-block"},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(o.getColourLabel(B.colour)),1),vue.createTextVNode(" "+vue.toDisplayString(B.name),1)],8,_hoisted_16)]),default:vue.withCtx(()=>[vue.createVNode(b,{"table-caption":`${B.colour} - ${B.name}`,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(B.runs,$=>(vue.openBlock(),vue.createBlock(g,{key:$.name,"data-test":`vs-ski__${B.name}-row`},{default:vue.withCtx(()=>[$.status==="0"||$.status===0?(vue.openBlock(),vue.createBlock(h,{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),$.status==="1"||$.status===1?(vue.openBlock(),vue.createBlock(h,{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),$.status==="2"||$.status===2?(vue.openBlock(),vue.createBlock(h,{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),$.status==="3"||$.status===3?(vue.openBlock(),vue.createBlock(h,{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),$.status==="4"||$.status===4?(vue.openBlock(),vue.createBlock(h,{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(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString($.name),1)]),_:2},1024)]),_:2},1032,["data-test"]))),128))]),_:2},1024),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,{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$n,[["render",_sfc_render$d]]),_sfc_main$m={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$i=["aria-label"],_hoisted_2$d={class:"vs-skip-to__label",id:"skip-to-label"};function _sfc_render$c(e,n,t,a,r,o){const s=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$d,vue.toDisplayString(t.skipToText)+": ",1),vue.createVNode(s,{href:"#main-nav","data-test":"vs-skip-to-main-menu",onClick:n[0]||(n[0]=i=>o.mainMenuFocus()),id:"main-menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-menu-text")]),_:3}),t.hasSearchLink?(vue.openBlock(),vue.createBlock(s,{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(s,{href:"#main-heading","data-test":"vs-skip-to-main-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-content-text")]),_:3}),vue.createVNode(s,{href:"#site-footer",onClick:n[1]||(n[1]=i=>o.footerFocus()),"data-test":"vs-skip-to-footer"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"footer-text")]),_:3})],8,_hoisted_1$i)}const SkipTo=LoadingSpinner._export_sfc(_sfc_main$m,[["render",_sfc_render$c]]),_sfc_main$l={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$h={class:"social-credit","data-test":"vs-social-credit-link"};function _sfc_render$b(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$h,[t.source?(vue.openBlock(),vue.createBlock(s,{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$l,[["render",_sfc_render$b]]),_sfc_main$k={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$a(e,n,t,a,r,o){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("BPopover"),c=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsContainer"),f=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(s,{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:o.onShown,onHidden:o.onHidden,onHide:o.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(v=>o.tabBackFromHidden(v),["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:o.onCopyLink})]),_:3},512),vue.createVNode(s,{"icon-only":"",class:"vs-social-share__close-btn",icon:"vs-icon-control-dismiss",variant:"subtle",ref:"closeButton",onClick:o.onClose,onKeydown:n[1]||(n[1]=vue.withKeys(v=>o.tabFromClose(v),["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(f,{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$k,[["render",_sfc_render$a]]),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$j={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$g={class:"vs-social-share-item__text"};function _sfc_render$9(e,n,t,a,r,o){const s=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:o.noJs?2:4},{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-social-share-item__link",href:o.shareUrl,onClick:n[0]||(n[0]=u=>o.copyToClipboard(u)),id:`vs-share-${t.name}`},{default:vue.withCtx(()=>[vue.createVNode(s,{icon:o.iconName,"custom-colour":o.iconColour,size:"xl","small-size":"lg"},null,8,["icon","custom-colour"]),vue.createElementVNode("span",_hoisted_1$g,vue.toDisplayString(r.show?t.linkCopiedText:t.linkText),1)]),_:1},8,["href","id"])]),_:1},8,["md"])}const SocialShareItem=LoadingSpinner._export_sfc(_sfc_main$j,[["render",_sfc_render$9]]),_sfc_main$i={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$f={class:"vs-spotlight-section__overlay"},_hoisted_2$c={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"};function _sfc_render$8(e,n,t,a,r,o){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(o.spotlightSectionClasses),style:vue.normalizeStyle(t.imageSrc?{backgroundImage:`url(${t.imageSrc})`}:{}),"data-test":"vs-spotlight-section"},[vue.createElementVNode("div",_hoisted_1$f,[vue.createElementVNode("div",_hoisted_2$c,[vue.createElementVNode("div",_hoisted_3$8,[vue.createVNode(s,{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)])])],6)}const SpotlightSection=LoadingSpinner._export_sfc(_sfc_main$i,[["render",_sfc_render$8]]),_hoisted_1$e={class:"vs-styled-list__list"},_hoisted_2$b={class:"vs-styled-list__source"},_sfc_main$h={__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$e,[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$b,[vue.renderSlot(t.$slots,"list-source")])]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2))}},_hoisted_1$d={class:"vs-styled-list__item","data-test":"vs-styled-list__item"},_sfc_main$g={__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$d,[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$f={name:"VsSummaryBoxList",status:"prototype",release:"0.0.1"},_hoisted_1$c={class:"vs-summary-box","data-test":"vs-summary-box-list"},_hoisted_2$a={class:"vs-summary-box__list list-unstyled d-flex flex-wrap p-050 p-sm-075"};function _sfc_render$7(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$c,[vue.createElementVNode("ul",_hoisted_2$a,[vue.renderSlot(e.$slots,"default")])])}const SummaryBoxList=LoadingSpinner._export_sfc(_sfc_main$f,[["render",_sfc_render$7]]),_sfc_main$e={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$b={class:"vs-summary-box-item position-relative","data-test":"vs-summary-box-list-item"},_hoisted_2$9={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$5={class:"text-wrapper d-block w-auto pt-100"};function _sfc_render$6(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$b,[t.label?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$9,[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(s,{icon:t.icon,size:"xl"},null,8,["icon"])]),vue.createElementVNode("div",_hoisted_7$5,[vue.createElementVNode("span",null,vue.toDisplayString(t.iconLabel),1)])])):vue.createCommentVNode("",!0)])}const SummaryBoxListItem=LoadingSpinner._export_sfc(_sfc_main$e,[["render",_sfc_render$6],["__scopeId","data-v-eab4f595"]]),_sfc_main$d={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$a={class:"vs-summary-box-distance position-relative","data-test":"vs-summary-box-distance-list-item"},_hoisted_2$8={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$4={class:"vs-summary-box-distance__display-label"},_hoisted_8$1={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$5(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$a,[t.distanceLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,[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$4,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$1,[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$d,[["render",_sfc_render$5],["__scopeId","data-v-f36a8377"]]),_sfc_main$c={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$4(e,n,t,a,r,o){const s=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(s,{"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$c,[["render",_sfc_render$4]]),_sfc_main$b={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$3(e,n,t,a,r,o){const s=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":o.noContainer?"vs-tab-link--no-container vs-heading":"vs-tab-link vs-heading",title:t.title,onClick:o.trackClick},{default:vue.withCtx(()=>[vue.createVNode(s,{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$b,[["render",_sfc_render$3]]),_sfc_main$a={name:"VsTag",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,required:!0}}};function _sfc_render$2(e,n,t,a,r,o){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createBlock(s,{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$a,[["render",_sfc_render$2]]),_sfc_main$9={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$9={"data-test":"vs-tag-manager-wrapper",class:"d-none"};function _sfc_render$1(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$9)}const TagManagerWrapper=LoadingSpinner._export_sfc(_sfc_main$9,[["render",_sfc_render$1]]);var dist={exports:{}},Sister;/**
331
331
  * @link https://github.com/gajus/sister for the canonical source repository
332
332
  * @license https://github.com/gajus/sister/blob/master/LICENSE BSD 3-Clause
333
- */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],o;if(r)for(o=r.length;o--;)r[o].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,o=a*365.25;ms=function(c,d){d=d||{};var f=typeof c;if(f==="string"&&c.length>0)return s(c);if(f==="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 s(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 f=parseFloat(d[1]),v=(d[2]||"ms").toLowerCase();switch(v){case"years":case"year":case"yrs":case"yr":case"y":return f*o;case"weeks":case"week":case"w":return f*r;case"days":case"day":case"d":return f*a;case"hours":case"hour":case"hrs":case"hr":case"h":return f*t;case"minutes":case"minute":case"mins":case"min":case"m":return f*n;case"seconds":case"second":case"secs":case"sec":case"s":return f*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return f;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,f,v){var p=d>=f*1.5;return Math.round(c/f)+" "+v+(p?"s":"")}return ms}function setup(e){t.debug=t,t.default=t,t.coerce=l,t.disable=s,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 f=0;f<c.length;f++)d=(d<<5)-d+c.charCodeAt(f),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=n;function t(c){let d,f=null,v,p;function h(...g){if(!h.enabled)return;const _=h,m=Number(new Date),b=m-(d||m);_.diff=b,_.prev=d,_.curr=m,d=m,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(V,B)=>{if(V==="%%")return"%";S++;const $=t.formatters[B];if(typeof $=="function"){const D=g[S];V=$.call(_,D),g.splice(S,1),S--}return V}),t.formatArgs.call(_,g),(_.log||t.log).apply(_,g)}return h.namespace=c,h.useColors=t.useColors(),h.color=t.selectColor(c),h.extend=a,h.destroy=t.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(v!==t.namespaces&&(v=t.namespaces,p=t.enabled(c)),p),set:g=>{f=g}}),typeof t.init=="function"&&t.init(h),h}function a(c,d){const f=t(this.namespace+(typeof d>"u"?":":d)+c);return f.log=this.log,f}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 f of d)f[0]==="-"?t.skips.push(f.slice(1)):t.names.push(f)}function o(c,d){let f=0,v=0,p=-1,h=0;for(;f<c.length;)if(v<d.length&&(d[v]===c[f]||d[v]==="*"))d[v]==="*"?(p=v,h=f,v++):(f++,v++);else if(p!==-1)v=p+1,h++,f=h;else return!1;for(;v<d.length&&d[v]==="*";)v++;return v===d.length}function s(){const c=[...t.names,...t.skips.map(d=>"-"+d)].join(",");return t.enable(""),c}function i(c){for(const d of t.skips)if(o(c,d))return!1;for(const d of t.names)if(o(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=o,n.load=s,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,f=0;u[0].replace(/%[a-zA-Z%]/g,v=>{v!=="%%"&&(d++,v==="%c"&&(f=d))}),u.splice(f,0,c)}n.log=console.debug||console.log||(()=>{});function o(u){try{u?n.storage.setItem("debug",u):n.storage.removeItem("debug")}catch{}}function s(){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(o){return o&&o.__esModule?o:{default:o}}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,o=c(r),s=eventNamesExports,i=c(s),l=functionNamesExports,u=c(l);function c(v){return v&&v.__esModule?v:{default:v}}const d=(0,a.default)("youtube-player"),f={};f.proxyEvents=v=>{const p={};for(const h of i.default){const g="on"+h.slice(0,1).toUpperCase()+h.slice(1);p[g]=_=>{d('event "%s"',g,_),v.trigger(h,_)}}return p},f.promisifyPlayer=(v,p=!1)=>{const h={};for(const g of u.default)p&&o.default[g]?h[g]=(..._)=>v.then(m=>{const b=o.default[g],S=m.getPlayerState(),C=m[g].apply(m,_);return b.stateChangeRequired||Array.isArray(b.acceptableStates)&&!b.acceptableStates.includes(S)?new Promise(V=>{const B=()=>{const $=m.getPlayerState();let D;typeof b.timeout=="number"&&(D=setTimeout(()=>{m.removeEventListener("onStateChange",B),V()},b.timeout)),Array.isArray(b.acceptableStates)&&b.acceptableStates.includes($)&&(m.removeEventListener("onStateChange",B),clearTimeout(D),V())};m.addEventListener("onStateChange",B)}).then(()=>C):C}):h[g]=(..._)=>v.then(m=>m[g].apply(m,_));return h},n.default=f,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],o=document.createElement("script");typeof t=="function"&&(a=t,t={}),t=t||{},a=a||function(){},o.type=t.type||"text/javascript",o.charset=t.charset||"utf8",o.async="async"in t?!!t.async:!0,o.src=n,t.attrs&&setAttributes(o,t.attrs),t.text&&(o.text=""+t.text);var s="onload"in o?stdOnEnd:ieOnEnd;s(o,a),o.onload||stdOnEnd(o,a),r.appendChild(o)};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(o){return o&&o.__esModule?o:{default:o}}n.default=o=>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&&o.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,o=l(r),s=loadYouTubeIframeApiExports,i=l(s);function l(c){return c&&c.__esModule?c:{default:c}}let u;n.default=(c,d={},f=!1)=>{const v=(0,a.default)();if(u||(u=(0,i.default)(v)),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=o.default.proxyEvents(v);const p=new Promise(g=>{typeof c=="object"&&c.playVideo instanceof Function?g(c):u.then(_=>{const m=new _.Player(c,d);return v.on("ready",()=>{g(m)}),null})}),h=o.default.promisifyPlayer(p,f);return h.on=v.on,h.off=v.off,h},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")}};let videoStore=null;const cookieValues=cookieValues$5.youtube,_sfc_main$8={name:"VsVideo",status:"prototype",release:"0.0.1",components:{VsWarning:LoadingSpinner.VsWarning,VueYoutube},mixins:[LoadingSpinner.dataLayerMixin,cookieCheckerMixin],props:{language:{type:String,default:"en"},videoId:{type:String,required:!0},videoTitle:{type:String,default:""},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},errorMessage:{type:String,default:""}},data(){return{duration:{minutes:0,seconds:0,roundedMinutes:""},playerVars:{hl:this.language},requiredCookies:cookieValues,reRendering:!1,shouldAutoPlay:!1,jsDisabled:!0}},computed:{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},player(){return this.$refs.youtube?this.$refs.youtube.player:null}},mounted(){this.jsDisabled=jsIsDisabled(),videoStore=useVideoStore(),this.setEventListeners()},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 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())})}}},_hoisted_1$8={key:0,class:"vs-video","data-test":"vs-video"},_hoisted_2$7={class:"vs-video__iframe-wrapper"},_hoisted_3$5={key:0};function _sfc_render(e,n,t,a,r,o){const s=vue.resolveComponent("VueYoutube"),i=vue.resolveComponent("VsWarning");return r.reRendering?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[vue.createElementVNode("div",_hoisted_2$7,[e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$5,[vue.createVNode(s,{autoplay:0,"video-id":t.videoId,vars:r.playerVars,ref:"youtube",nocookie:!0,onPlaying:o.youtubePlaying,onPaused:o.youtubePaused,onEnded:o.youtubeEnded,onReady:o.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"])])):vue.createCommentVNode("",!0),o.showError?(vue.openBlock(),vue.createBlock(i,{key:1,type:e.cookiesLoaded===!0?"cookie":"normal","data-test":"vs-video__warning",class:"vs-video__warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.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,{"data-test":"vs-video__warning--no-js",class:"vs-video__warning vs-video__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})])]))}const Video=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,o){const{apiKey:s,customerId:i,engineId:l}=n,u=`https://api-eu1.cludo.com/api/v3/${i}/${l}/search`,c=`${i}:${s}`,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 f=await fetch(u,{method:"POST",body:JSON.stringify({query:e||"*",operator:o,responseType:"JsonObject",perPage:6,page:t,facets:{Category:r?[r]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(c)}`}});if(!f.ok)throw d.cludoError=!0,d.isLoading=!1,new Error(`Cludo response message: ${f.status}`);const v=await f.json();return{results:cleanData$1(v),totalResults:v.TotalDocument}}catch{return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0}}}function cleanData(e){return e.events.map(a=>{var r,o,s,i,l,u,c;return{id:a.id,parentId:a.parentId,title:a.name,description:((o=(r=a.descriptions)==null?void 0:r[0])==null?void 0:o.description)||"",imgSrc:((i=(s=a.images)==null?void 0:s[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,o,s,i,l,u,c,d,f){const v=useFederatedSearchStore();v.eventsApiError=!1,v.cludoError=!1;let p=`${e}?query=${n}&lang=${l}`;p=t>1?`${p}&page=${t}`:p,p=o!==""?`${p}&startDate=${o}`:p,p=s!==""?`${p}&endDate=${s}`: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=f?`${p}&postcodeareas=${f}`:p,r.forEach(h=>{p+=`&category=${h}`}),a&&a!=="events"&&(p+=`&category=${a}`);try{const h=await fetch(p);if(!h.ok)throw v.isLoading=!1,v.eventsApiError=!0,new Error(`Events response message: ${h.status}`);const g=await h.json();return{results:cleanData(g),totalResults:g.totalResults}}catch{return v.isLoading=!1,v.eventsApiError=!0,{results:[],totalResults:0}}}async function cludoAutocomplete(e,n){const{apiKey:t,customerId:a,engineId:r}=n,s=`https://api-eu1.cludo.com/api/v3/${a}/${r}/Autocomplete`,i=`${a}:${t}`;try{const l=await fetch(s,{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),o=vue.ref(!1),s=vue.ref(!1),i=vue.ref(null),l=vue.ref(""),u=vue.ref(null),c=vue.ref(null),d=vue.ref([]),f=vue.ref([]),v=vue.ref(void 0),p=vue.ref(void 0),h=vue.ref(void 0),g=vue.ref(!1),_=vue.ref(""),m=vue.ref(""),b=vue.ref(void 0),S=vue.ref(void 0),C=vue.ref(void 0),V=vue.ref(-1),B=vue.ref(""),$=vue.ref(""),D=vue.ref(""),R=vue.ref(0),M=vue.ref(""),A=vue.ref("or");async function O(Y=!1){s.value=!0,Y||(V.value+=1);const W=await cludoSearch(l.value,n.value,a.value,u.value,c.value,A.value),k=await eventSearch(r.value,l.value,a.value,c.value,f.value,_.value,m.value,b.value,C.value,$.value,D.value,R.value,M.value);i.value=[...W.results,...k.results],p.value=W.totalResults,h.value=k.totalResults,v.value=W.totalResults+k.totalResults,s.value=!1}async function q(){return cludoAutocomplete(l.value,n.value)}async function ee(Y,W){const k=new URL(window.location.href);if(W?B.value="Autosuggestion":B.value="User input",l.value?k.searchParams.set("search-term",l.value):k.searchParams.delete("search-term"),c.value?k.searchParams.set("category",encodeURIComponent(c.value)):k.searchParams.delete("category"),f.value.length>0?k.searchParams.set("sub-category",encodeURIComponent(f.value.join(","))):k.searchParams.delete("sub-category"),Y?(a.value=1,k.searchParams.set("page",a.value.toString())):a.value&&a.value>1?k.searchParams.set("page",a.value.toString()):k.searchParams.delete("page"),_.value?k.searchParams.set("start-date",_.value):k.searchParams.delete("start-date"),m.value?k.searchParams.set("end-date",m.value):k.searchParams.delete("end-date"),b.value?k.searchParams.set("sort-by",b.value):k.searchParams.delete("sort-by"),!g.value)window.history.pushState({},"",k),await O();else{const L=`${S.value}/${k.search}`;window.location.href=L}}return{filters:e,currentPage:a,cludoCredentials:n,cludoError:t,eventsApi:r,eventsApiError:o,getAutoComplete:q,getSearchResults:O,isLoading:s,results:i,searchTerm:l,searchUrl:S,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:f,totalResults:v,totalResultsCludo:p,totalResultsEvents:h,navigateToResultsPage:ee,isHomePage:g,startDate:_,endDate:m,sortBy:b,siteLanguage:C,searchInSessionCount:V,queryInput:B,postcode:$,location:D,radius:R,postcodeareas:M,cludoApiOperator:A}}),_hoisted_1$7={class:"vs-fed-filter"},_hoisted_2$6={class:"vs-fed-filter__scroll-container"},_hoisted_3$4=["id"],_sfc_main$7={__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 o(c){var d,f;c==="left"?(d=a.value)==null||d.scrollBy(-200,0):c==="right"&&((f=a.value)==null||f.scrollBy(200,0))}function s(){var c;(c=a.value)==null||c.scrollTo(0,0)}n({resetScroll:s});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,f)=>{const v=(d.Label||d.Key||"").toLowerCase(),p=(f.Label||f.Key||"").toLowerCase();return v<p?-1:v>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]=f=>o("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,(f,v)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:v,class:"vs-fed-filter__category-button","data-test":`vs-fed-filter__category-button--${f.Key}`,icon:t.variant==="primary"?u(f.Key):null,variant:r(f.Key)?"primary":"secondary",size:t.variant==="secondary"?"sm":"md",onClick:p=>c.$emit("filter-updated",f)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(f.Label||f.Key),1)]),_:2},1032,["data-test","icon","variant","size","onClick"]))),128))],10,_hoisted_3$4),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]=f=>o("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 o(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function s(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,f,v;switch(l){case"siteSearchOpenEvent":c="site_search_open",d={event:c,referrer_page:u.referrer_page},f=o(d),v=a(LoadingSpinner.siteSearchOpenTemplate,f);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"},f=o(d),v=a(LoadingSpinner.siteSearchUsageTemplate,f);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},f=o(d),v=a(LoadingSpinner.siteSearchClickTemplate,f);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},f=o(d),v=a(LoadingSpinner.siteSearchCloseTemplate,f);break}v&&s(v)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:o,returnIsoDate:r,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1$6={class:"vs-fed-search-input"},_hoisted_2$5={class:"vs-fed-search__input"},_hoisted_3$3={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$3=["onClick","onKeyup","innerHTML"],_sfc_main$6={__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),o=vue.ref(),s=vue.ref(null),i=vue.ref(null);async function l(m){a.currentPage=1,a.searchTerm=m.value.trim();const b=window.location.search,S=new URLSearchParams(b);a.searchTerm&&S.get("search-term")!==a.searchTerm&&(o.value=await a.getAutoComplete()),a.searchTerm||(o.value=null)}async function u(){o.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(m){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:m,query_input:a.queryInput})}function d(m){a.searchTerm=m,o.value=null,a.navigateToResultsPage(!1,!0),c(m)}function f(m){return m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function v(m){return m.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function p(m){const b=(a.searchTerm||"").trim();if(!b)return v(m);const S=new RegExp(`(${f(b)})`,"gi");return v(m).replace(S,"<strong>$1</strong>")}function h(m){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:m.Label||m.Key})}async function g(m){const b=new URL(window.location);b.searchParams.delete("page"),a.currentPage=1,b.searchParams.delete("start-date"),b.searchParams.delete("end-date"),a.startDate="",a.endDate="",a.sortBy=void 0,a.selectedSubCategory=[],a.selectedSubCategoryKey=[],a.selectedCategory=a.selectedCategory!==m.Label?m.Label:"",a.selectedCategoryKey=a.selectedCategoryKey!==m.Key?m.Key:"",await a.navigateToResultsPage(!0),h(m)}function _(m){if(!a.selectedSubCategoryKey.includes(m.Key))a.selectedSubCategory.push(m.Label),a.selectedSubCategoryKey.push(m.Key);else{const b=a.selectedSubCategoryKey.indexOf(m.Key);b>=0&&(a.selectedSubCategory.splice(b,1),a.selectedSubCategoryKey.splice(b,1))}a.navigateToResultsPage(!0),h(m)}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 m=window.location.search,b=new URLSearchParams(m);b.has("search-term")&&(a.searchTerm=b.get("search-term")),b.has("category")&&(a.selectedCategoryKey=decodeURIComponent(b.get("category"))),b.has("sub-category")&&decodeURIComponent(b.get("sub-category")).split(",").forEach(C=>a.selectedSubCategoryKey.push(C)),b.has("category")&&b.get("category")==="events"&&b.has("sort-by")&&(a.sortBy=b.get("sort-by")),b.has("start-date")&&(a.startDate=b.get("start-date")),b.has("end-date")&&(a.endDate=b.get("end-date")),b.has("postcode")&&(a.postcode=b.get("postcode")),b.has("location")&&(a.location=b.get("location")),b.has("radius")&&(a.radius=b.get("radius")),b.has("postcodeareas")&&(a.postcodeareas=b.get("postcodeareas")),(b.has("search-term")||b.has("category"))&&a.getSearchResults()}),vue.watch(r,m=>{var b,S;m||((b=s.value)==null||b.resetScroll(),(S=i.value)==null||S.resetScroll())}),(m,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("div",_hoisted_3$3,[vue.createElementVNode("label",_hoisted_4$3,[b[0]||(b[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"])]),o.value&&o.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(o.value,S=>(vue.openBlock(),vue.createElementBlock("li",{key:S,class:"vs-fed-search-input__autocomplete__suggestion",onClick:C=>d(S),onKeyup:vue.withKeys(C=>d(S),["enter"]),tabindex:"0",innerHTML:p(S)},null,40,_hoisted_7$3))),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:s,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:_},{"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={__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,o)=>(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:o[0]||(o[0]=s=>r.$emit("from-date-updated",s.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:o[1]||(o[1]=s=>r.$emit("end-date-updated",s.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,(s,i)=>(vue.openBlock(),vue.createBlock(VsDropdownItem,{key:i,onClick:l=>{r.$emit("sort-order-updated",s.key)},active:vue.unref(n).sortBy===s.key,"data-test":`vs-fed-search-sort__dropdown-item--${s.key}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.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$2={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$2={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8={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={__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,o=vue.ref(!1),s=vue.computed(()=>{let m;return t.selectedCategoryKey==="events"?m=Math.ceil(t.totalResultsEvents/12):m=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),m});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=()=>{_()};const m=new URLSearchParams(document.location.search),b=m.get("search-term"),S=parseInt(m.get("page"),10);S&&(t.currentPage=S),b&&(t.searchTerm=b),await t.getSearchResults(),b&&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(m){t.startDate=m,t.navigateToResultsPage(!0)}function u(m){t.endDate=m,t.navigateToResultsPage(!0)}function c(m){t.sortBy=m,t.navigateToResultsPage(!0)}function d(m){let b=!1;m>t.currentPage&&(b=!0),t.currentPage=m,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),g(b)}function f(m,b){return m===b?m:`${m} - ${b}`}function v(m){return m===null?"":m.match(/\b\d+\.\d\b/)?`£${m}0`:`£${m}`}function p(m){if(m.url)return m.url;if(m.placeUrl)return m.placeUrl;const b="https://www.datathistle.com/event/",S=encodeURIComponent(m.title.replaceAll(" ","-").toLowerCase());return`${b}${m.parentId}-${S}`}function h(m){o.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:m.title,click_url:p(m),click_category:m.categoryCard&&r.cardCategoryLabels[m.categoryCard]?r.cardCategoryLabels[m.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function g(m){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:m?"forward":"back",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function _(){o.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()}),(m,b)=>(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$2A,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(S,C)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:C,class:"mb-200"},[vue.renderSlot(m.$slots,`federated-search__spotlight-${S.Key}`)],512)),[[vue.vShow,vue.unref(t).selectedCategoryKey===S.Key]])),128)),vue.unref(t).results?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$2,[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&&s.value<=1?"mb-300":null)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).results,S=>(vue.openBlock(),vue.createBlock(vue.unref(VsCard),{key:S.id},{"vs-card-header":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createVNode(vue.unref(LoadingSpinner.VsImg),{src:S.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,[S.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(v(S.minPrice)),1)]),_:2},1024)):vue.createCommentVNode("",!0),S.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(f(S.startDate,S.endDate)),1)]),_:2},1024)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_7$2,[S.categoryCard&&e.cardCategoryLabels[S.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[S.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(S),onClick:C=>h(S),class:"stretched-link",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(S.title),1)]),_:2},1032,["href","onClick"])]),_:2},1024),vue.createVNode(vue.unref(LoadingSpinner.VsBody),null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_8,vue.toDisplayString(S.description),1)]),_:2},1024)]),"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[S.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(S.location),1)]),_:2},1024)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[S.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&&s.value>1?(vue.openBlock(),vue.createBlock(vue.unref(_sfc_main$E),{key:0,class:"vs-federated-search__pagination","number-of-pages":s.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":b[0]||(b[0]=S=>vue.unref(t).currentPage=S),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",o="google",s="importLibrary",i="__ib__",l=document,u=window,c=u[o]||(u[o]={}),d=c.maps||(c.maps={}),f=new Set,v=new URLSearchParams,p=()=>n||(n=new Promise(async(h,g)=>{var _;await(t=l.createElement("script")),v.set("libraries",[...f]+"");for(a in e)v.set(a.replace(/[A-Z]/g,m=>"_"+m[0].toLowerCase()),e[a]);v.set("callback",o+".maps."+i),setScriptSrc(t,"https://maps.googleapis.com/maps/api/js?"+v),d[i]=h,t.onerror=()=>n=g(Error(r+" could not load.")),t.nonce=((_=l.querySelector("script[nonce]"))==null?void 0:_.nonce)||"",l.head.append(t)}));d[s]?console.warn(r+" only loads once. Ignoring:",e):d[s]=(h,...g)=>f.add(h)&&p().then(()=>d[s](h,...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.",logDevWarning=define_process_env_default.NODE_ENV!=="production"?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=define_process_env_default.NODE_ENV!=="production"?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{};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)):define_process_env_default.NODE_ENV!=="production"&&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);return{sidebarOpen:e,timeMounted:n,firstInteraction:t,searchesCount:a,filterUsesCount:r}}),_hoisted_1$3={class:"px-125 pb-125"},_sfc_main$3={__name:"MapFeaturedLocationItem",props:{place:{type:Object,default:()=>{}}},setup(e){const n=e,t=vue.inject("onFeaturedLocationClick");function a(r){t(r)}return(r,o)=>(vue.openBlock(),vue.createBlock(VsCard,{"card-style":"overlay",class:"vs-map__controls-featured-place-card",onClick:o[2]||(o[2]=s=>a(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(s=>a(n.place),["prevent"]),["enter"])),o[1]||(o[1]=vue.withKeys(vue.withModifiers(s=>a(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))}},_hoisted_1$2={class:"category-title"},_hoisted_2$2={class:"vs-map__controls-featured-place-accordion-content p-075"},_sfc_main$2={__name:"MapFeaturedLocation",setup(e){const{categories:n,places:t}=vue.inject("featuredPlaces");function a(r){switch(r){case"cities":return"fa-regular fa-city";case"regions":return"fa-regular fa-map-location-dot";case"islands":return"fa-regular fa-island-tropical";case"towns":return"fa-regular fa-house-chimney-window";case"national-parks":return"fa-kit fa-vs-icon-national-park";default:return null}}return(r,o)=>vue.unref(n)&&vue.unref(t)?(vue.openBlock(),vue.createBlock(VsAccordion,{key:0},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(n),(s,i)=>(vue.openBlock(),vue.createBlock(VsAccordionItem,{key:i,"control-id":s.id,"open-by-default":s.id==="cities"},{title:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsIcon,{class:"me-025 fa-fw","custom-colour":"#200F2E",icon:a(s.id),size:"sm",variant:"highlight"},null,8,["icon"]),vue.createElementVNode("span",_hoisted_1$2,vue.toDisplayString(s.label),1)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(VsCardGroup,{"scroll-snap":"always"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t),l=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[l.properties.category.id===s.id?(vue.openBlock(),vue.createBlock(_sfc_main$3,{key:l.properties.id,place:l},null,8,["place"])):vue.createCommentVNode("",!0)],64))),256))]),_:2},1024)])]),_:2},1032,["control-id","open-by-default"]))),128))]),_:1})):vue.createCommentVNode("",!0)}},_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-100 mb-050"},_hoisted_4$1={key:1,class:"vs-map-sidebar__sub-filters-wrapper"},_hoisted_5$1={class:"vs-map-sidebar__search-results"},_hoisted_6$1={class:"vs-map-sidebar__google-maps-container mt-075"},_hoisted_7$1={key:0,class:"vs-map-sidebar__footer"},_sfc_main$1=vue.defineComponent({__name:"MapSidebar",props:{query:{type:String,default:""},selectedCategories:{type:String,default:""},headerLabel:{type:String,default:""},closeSidebarButtonLabel:{type:String,default:""},searchBarAriaLabel:{type:String,default:""},inputPlaceholderLabel:{type:String,default:""},searchButtonLabel:{type:String,default:""},clearMapLabel:{type:String,default:""},subFilterHeaderLabel:{type:String,default:""},searchResultsLabel:{type:String,default:""},openSidebarButtonLabel:{type:String,default:""}},emits:["search-input-changed","reset-map"],setup(e){const n=useGoogleMapStore(),t=e;return(a,r)=>(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",ref:"vsMapSidebar"},[vue.createElementVNode("div",_hoisted_1$1,[t.headerLabel?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"1","heading-style":"heading-xxs",class:"flex-grow-1",id:"vs-map-sidebar__heading","data-test":"vs-map-sidebar__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.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:r[0]||(r[0]=o=>vue.unref(n).sidebarOpen=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeSidebarButtonLabel),1)]),_:1})]),vue.createElementVNode("div",_hoisted_2$1,[vue.createElementVNode("div",_hoisted_3$1,[vue.createVNode(VsInput,{type:"text",autocomplete:"off","field-name":"vs-map-search-input","data-test":"vs-map-search-input",ref:"vs-search-input",placeholder:t.inputPlaceholderLabel,class:"vs-map-sidebar__input flex-grow-1","aria-label":t.searchBarAriaLabel,onKeyup:r[1]||(r[1]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["placeholder","aria-label"]),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:r[2]||(r[2]=vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"])),onKeyup:r[3]||(r[3]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonLabel),1)]),_:1})]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("a",{key:0,href:"#",class:"d-block","data-test":"vs-map-sidebar__reset-map",onClick:r[4]||(r[4]=vue.withModifiers(o=>a.$emit("reset-map"),["prevent"])),onKeyup:r[5]||(r[5]=vue.withKeys(vue.withModifiers(o=>a.$emit("reset-map"),["prevent"]),["enter"]))},vue.toDisplayString(t.clearMapLabel),33)):vue.createCommentVNode("",!0),a.$slots["vs-map-sidebar-sub-filters"]&&a.$slots["vs-map-sidebar-sub-filters"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createVNode(VsDetail,{class:"vs-map-sidebar__sub-filter-header",size:"small",color:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subFilterHeaderLabel),1)]),_:1}),vue.renderSlot(a.$slots,"vs-map-sidebar-sub-filters")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$1,[a.$props.query||a.$props.selectedCategories?(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.searchResultsLabel)+' "'+vue.toDisplayString(t.query||t.selectedCategories)+'" ',1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6$1,[vue.renderSlot(a.$slots,"vs-map-sidebar-search-results")])]),vue.createVNode(_sfc_main$2,{class:vue.normalizeClass(["mb-100",a.$props.query||a.$props.selectedCategories?"d-none":"d-block"])},null,8,["class"])]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$1,r[7]||(r[7]=[vue.createElementVNode("hr",{class:"vs-map-sidebar__swipe-tab"},null,-1)]))):vue.createCommentVNode("",!0)],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:r[6]||(r[6]=o=>vue.unref(n).sidebarOpen=!0)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.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 o(){t.value=!0}function s(){let i=!1;typeof CookieControl<"u"&&(i=e.value.every(l=>CookieControl.getCategoryConsent(l)===!0)),n.value=i}return vue.onMounted(()=>{window.addEventListener("cookieManagerLoaded",()=>{o()}),window.addEventListener("cookiesUpdated",()=>{s()})}),{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 o(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function s(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,f,v;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},f=o(d),v=a(LoadingSpinner.googleMapSearchTemplate,f);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},f=o(d),v=a(LoadingSpinner.googleMapFilterInteractionTemplate,f);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},f=o(d),v=a(LoadingSpinner.googleMapTimeToFirstInteractionTemplate,f);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},f=o(d),v=a(LoadingSpinner.googleMapInteractionTemplate,f);break}v&&s(v)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:o,returnIsoDate:r,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1={class:"vs-map"},_hoisted_2={class:"vs-map__controls"},_hoisted_3={class:"vs-map-sidebar__sub-filters"},_hoisted_4={key:0},_hoisted_5={key:0,class:"vs-map__filter-controls"},_hoisted_6={class:"vs-map__wrapper"},_hoisted_7={id:"vs-map","map-id":"vs-map",ref:"vsMap"},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},jsDisabled:{type:Boolean,required:!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(U=>U.id==="destinations"),r=a?a.subCategory:null;vue.provide("featuredPlaces",{categories:r,places:t.featuredPlaces}),vue.provide("onFeaturedLocationClick",ve);let o,s,i,l,u,c,d,f,v,p,h={},g;const _=vue.ref(),m=vue.ref(new Set),b=vue.ref(),S=vue.ref(new Set),C=vue.ref(new Set),V=vue.ref(new Set),B=vue.ref(new Set),$=vue.ref(),D=vue.ref(),R=vue.ref(t.zoom),M=vue.ref(!1),A=vue.ref(),O=vue.ref(new Set),q=vue.ref(),ee=vue.computed(()=>{const U=new Map,J=F[_.value].subCategory;return Object.values(J).forEach(X=>{U.set(X.id,{includedTypes:X.includedType,excludedTypes:X.excludedType})}),U}),Y=useGoogleMapStore(),W=vue.ref(void 0);let k;const L=vue.ref(void 0),T={north:60.8,south:54.8,west:-8.5,east:-.7};let F={};const Q=t.categoryLabels;let w=0;vue.onBeforeMount(()=>{const U=cookieCheckerComposable();U.requiredCookies.value=cookieValues$5.google_maps,k=vue.computed(()=>!U.cookiesAllowed.value&&U.cookiesLoaded.value===!0||!U.cookiesLoaded.value?(L.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(J=>{F=J.data}).catch(()=>{}),k.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")}}s=document.getElementById("vs-map"),i=document.getElementById("nearbySearch"),l=document.getElementById("textSearch"),u=document.querySelector("gmp-place-text-search-request"),c=document.querySelector("gmp-place-nearby-search-request"),d=document.querySelector("gmp-place-details"),f=document.getElementById("placeRequest"),v=document.getElementById("vs-map-search-input");async function U(){try{const J={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:T},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1,gestureHandling:"greedy"};if(s)o=new google.maps.Map(s,J),o.fitBounds(T);else throw new Error("Init error, mapContainer undefined")}catch(J){console.error("Maps init error",J.message)}p=new google.maps.InfoWindow,p.addListener("closeclick",()=>{ue("card_close",f.place)}),N(),o.addListener("zoom_changed",()=>{R.value=o.getZoom(),R.value<CATEGORY_VISIBLE_ZOOM?N():N(!0)}),o.addListener("idle",()=>{g=he()}),i.addEventListener("gmp-select",({place:J})=>{h[J.id]&&fe(J,h[J.id])}),l.addEventListener("gmp-select",({place:J})=>{h[J.id]&&fe(J,h[J.id])})}Y.firstInteraction=!1,Y.searchesCount=0,Y.filterUsesCount=0,k.value===!1&&await U()});function N(U){const J={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},X=["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"],te=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8"],se=o.getFeatureLayer(google.maps.FeatureType.COUNTRY),ie=o.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);U?(se.style=null,ie.style=null,se.style=de=>{if(te.includes(de.feature.placeId))return J},ie.style=de=>{if(te.includes(de.feature.placeId))return J}):(se.style=de=>{if(X.includes(de.feature.placeId))return J},ie.style=de=>{if(X.includes(de.feature.placeId))return J})}function E(U,J){le(),_.value=U,Object.values(F[U].subCategory).forEach(X=>S.value.add(X.includedType)),Object.values(F[U].subCategory).forEach(X=>{X.excludedType&&C.value.add(X.excludedType)}),S.value=new Set(Array.from(S.value).flat()),C.value=new Set(Array.from(C.value).flat()),S.value.forEach(X=>{C.value.has(X)&&C.value.delete(X)}),b.value=F[U],$.value=J,H({includedTypes:Array.from(S.value),excludedTypes:Array.from(C.value)}),A.value=Q[$.value].label,v.value=A.value}function j(U,J){const X=vue.ref([]),te=vue.ref();return U.forEach(()=>{Q.forEach(se=>{se.id===_.value&&(X.value=se)}),Object.values(X.value).forEach(se=>{Object.values(se).forEach(ie=>{J===ie.id&&(te.value=ie.label)})})}),te}function P(){V.value.forEach(U=>{B.value.has(U)&&B.value.delete(U)})}function z(U,{includeTypes:J=!1,excludeTypes:X=!1,removeIncludedTypes:te=!1,removeExcludedTypes:se=!1}={}){var de;const ie=ee.value.get(U);J&&ie.includedTypes.forEach(pe=>{J&&V.value.add(pe),te&&V.value.delete(pe)}),(X||se)&&((de=ie.excludedTypes)==null||de.forEach(pe=>{X&&B.value.add(pe),se&&B.value.delete(pe)}))}function G(U,J){D.value=J,U==="self-catering"?(oe(),m.value=new Set,m.value.add(U),A.value=j(m.value,U).value,le(),v.value=A.value,Z()):m.value.has(U)?(m.value.delete(U),V.value=new Set,B.value=new Set,m.value.forEach(X=>{z(X,{includeTypes:!0,excludeTypes:!0})}),P(),O.value.delete(j(m.value,U).value),m.value.size===0?(O.value=new Set,E(_.value,$.value)):(H({includedTypes:Array.from(V.value).flat(),excludedTypes:Array.from(B.value).flat()}),A.value=Array.from(O.value).join(", "),v.value=A.value)):(m.value.add(U),z(U,{includeTypes:!0,excludeTypes:!0}),P(),H({includedTypes:Array.from(V.value).flat(),excludedTypes:Array.from(B.value).flat()}),O.value.add(j(m.value,U).value),A.value=Array.from(O.value).join(", "),v.value=A.value)}async function H({includedTypes:U=[],excludedTypes:J=[]}={}){ne(),oe(),w+=1;const X=w;Y.filterUsesCount+=1,q.value="nearby";const te=o.getBounds(),se=te.getNorthEast(),ie=te.getSouthWest(),de=google.maps.geometry.spherical.computeDistanceBetween(se,ie),pe=Math.min(de/2,25e3);c.includedTypes=U,c.excludedTypes=J??[],c.maxResultCount=NUMBER_OF_RESULTS,c.locationRestriction={center:o.getCenter(),radius:pe},i.style.display="block",i.addEventListener("gmp-load",()=>{if(X!==w)return;ae(X);let me="main",ge=_.value;m.value.size&&(me="sub",ge=Array.from(m.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:me,search_map_location:o.getCenter().toString(),filter_selection:ge,results_count:i.places.length,filter_usage_index:Y.filterUsesCount}),I("map_filter")},{once:!0})}async function Z(){ne(),le(),w+=1;const U=w;Y.searchesCount+=1,q.value="text",A.value=v.value.trim(),A.value&&(u.textQuery=A.value,u.locationRestriction=o.getBounds(),u.maxResultCount=NUMBER_OF_RESULTS,l.style.display="block",l.addEventListener("gmp-load",()=>{U===w&&(ae(U),n.createDataLayerObject("googleMapSearchEvent",{search_query:A.value,search_map_location:o.getCenter().toString(),search_results_count:l.places.length,search_usage_index:Y.searchesCount}),I("map_search"))},{once:!0}))}async function ae(U){const{AdvancedMarkerElement:J}=await importLibrary("marker"),{LatLngBounds:X}=await importLibrary("core");if(U!==w)return;const te=vue.ref();q.value==="nearby"?te.value=i:q.value==="text"?te.value=l:console.error("Unrecognised Search type"),te.value.places.length===0?(W.value=!0,te.value.style.display="none"):(W.value=!1,te.value.style.display="block");const se=new X;te.value.places&&te.value.places.forEach(ie=>{const de=document.createElement("div");de.classList.add("vs-map-marker");const pe=document.createElement("i");pe.classList.add("fa-solid","fa-location-dot"),de.appendChild(pe);const me=new J({map:o,position:ie.location,content:de,title:"Map pin"});me.addEventListener("gmp-placeclick",()=>{fe(ie)}),me.addListener("click",()=>{fe(ie)}),me.metadata={id:ie.id},h[ie.id]=me,se.extend(ie.location),te.value.places.length===1?(o.setCenter({lat:ie.location.lat(),lng:ie.location.lng()}),o.setZoom(14),o.fitBounds(ie.viewport)):(o.setCenter(se.getCenter()),o.fitBounds(se))})}function ne(U,J){ce(),q.value="",i.style.display="none",l.style.display="none",u.textQuery=null,M.value=!1,p&&p.close&&p.close(),W.value=void 0,U&&(oe(),le(),ue("clear_all")),J&&(o.setCenter(t.center),o.setZoom(t.zoom),o.fitBounds(T),ue("reset_map"))}function oe(){A.value=null,v.value=""}function le(){_.value=void 0,m.value=new Set,S.value=new Set,C.value=new Set,V.value=new Set,B.value=new Set,O.value=new Set,$.value=void 0,D.value=void 0}function ce(){for(const U in h)h[U]&&(h[U].map=null);h={}}function fe(U){p.isOpen&&(p.close(),ue("card_close",f.place)),f.place=U,window.innerWidth<=768?(d.style.width="85vw",d.style.height="32em",Y.sidebarOpen=!1):(d.style.width="20em",d.style.height="32em"),d.style.display="block",d.style.overflowY="auto",d.style.overflowX="hidden",d.style.boxSizing="border-box",d.style.maxHeight="32em",p.setOptions({content:d,maxWidth:"25em",position:U.location,pixelOffset:new google.maps.Size(0,-32)}),p.open({map:o}),google.maps.event.addListenerOnce(o,"idle",()=>{o.getZoom()>MAX_ZOOM&&o.setZoom(MAX_ZOOM),ue("card_open",U)}),o.setCenter(U.location)}async function ue(U,J){let X="",te="",se="",ie="";J&&(await J.fetchFields({fields:["displayName","primaryType","rating","websiteURI"]}),X=J.displayName,te=J.rating,se=J.websiteURI,ie=J.primaryType),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:U,search_query:v.value.trim(),map_location:o.getCenter().toString(),visible_attractions_count:g,card_attraction_name:X,card_attraction_category:ie,card_attraction_rating:te,card_attraction_url:se,interaction_timestamp_ms:Date.now()}),I(U)}function I(U){if(!Y.firstInteraction){const X=Date.now()-Y.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:X,first_interaction_type:U}),Y.firstInteraction=!0}}function he(){const U=o.getBounds();if(!U)return 0;let J=0;for(let X=0;X<Object.keys(h).length;X++){const se=h[Object.keys(h)[X]].position;U.contains(se)&&(J+=1)}return J}function ve(U){o.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(U.properties.viewport.low.latitude,U.properties.viewport.low.longitude),new google.maps.LatLng(U.properties.viewport.high.latitude,U.properties.viewport.high.longitude))),o.setCenter(new google.maps.LatLng(U.properties.locationCentre.latitude,U.properties.locationCentre.longitude)),E("things-to-do",2),M.value=!0}return(U,J)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(k)?"d-none":""])},[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{query:A.value,"selected-categories":_.value,"header-label":t.labels.heading,"close-sidebar-button-label":t.labels.closeSidebarBtn,"search-bar-aria-label":t.labels.searchBarAriaLabel,"input-placeholder-label":t.labels.inputPlaceholder,"search-button-label":t.labels.searchButton,"clear-map-label":t.labels.clearMap,"sub-filter-header-label":t.labels.subFilterHeader,"search-results-label":t.labels.searchResults,"open-sidebar-button-label":t.labels.openSidebarButton,onSearchInputChanged:Z,onResetMap:J[1]||(J[1]=X=>ne(!0))},vue.createSlots({"vs-map-sidebar-search-results":vue.withCtx(()=>[W.value||t.alertText&&W.value===!1?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,class:"mt-075 mb-150",id:"vs-map__alert",size:"small"},{default:vue.withCtx(()=>[W.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4,[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage)+" ",1),vue.createElementVNode("a",{href:"#",onClick:J[0]||(J[0]=vue.withModifiers(X=>ne(!0,!0),["prevent"]))},vue.toDisplayString(e.resetMapNoResultsMessage),1)])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createTextVNode(vue.toDisplayString(e.alertText),1)],64))]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>J[2]||(J[2]=[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,__:[2]}))]),_:2},[_.value?{name:"vs-map-sidebar-sub-filters",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Q)[$.value].subCategory,(X,te)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:te,variant:m.value.has(X.id)?"primary":"secondary",size:"sm",onClick:se=>G(X.id,te)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(X.label),1)]),_:2},1032,["variant","onClick"]))),128))])]),key:"0"}:void 0]),1032,["query","selected-categories","header-label","close-sidebar-button-label","search-bar-aria-label","input-placeholder-label","search-button-label","clear-map-label","sub-filter-header-label","search-results-label","open-sidebar-button-label"]),(R.value>=CATEGORY_VISIBLE_ZOOM||M.value)&&vue.unref(Y).sidebarOpen&&Object.keys(vue.unref(F)).length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Q),(X,te)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:te},[X.cmsData?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:0,class:"vs-map__filter-controls-button",variant:_.value===X.id?"primary":"secondary",onClick:vue.withModifiers(se=>E(X.id,te),["prevent"]),icon:Object.values(vue.unref(F))[te].icon},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(X.label),1)]),_:2},1032,["variant","onClick","icon"]))],64))),128))])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("div",_hoisted_7,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>J[3]||(J[3]=[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,__:[3]}))])],2),vue.unref(k)&&L.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(k)?"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$2t;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.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$1J;exports.VsFilterSection=_sfc_main$1I;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$E;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$h;exports.VsStyledListItem=_sfc_main$g;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=Video;exports.VsVideoCaption=VsVideoCaption;
333
+ */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],o;if(r)for(o=r.length;o--;)r[o].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,o=a*365.25;ms=function(c,d){d=d||{};var f=typeof c;if(f==="string"&&c.length>0)return s(c);if(f==="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 s(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 f=parseFloat(d[1]),v=(d[2]||"ms").toLowerCase();switch(v){case"years":case"year":case"yrs":case"yr":case"y":return f*o;case"weeks":case"week":case"w":return f*r;case"days":case"day":case"d":return f*a;case"hours":case"hour":case"hrs":case"hr":case"h":return f*t;case"minutes":case"minute":case"mins":case"min":case"m":return f*n;case"seconds":case"second":case"secs":case"sec":case"s":return f*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return f;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,f,v){var p=d>=f*1.5;return Math.round(c/f)+" "+v+(p?"s":"")}return ms}function setup(e){t.debug=t,t.default=t,t.coerce=l,t.disable=s,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 f=0;f<c.length;f++)d=(d<<5)-d+c.charCodeAt(f),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=n;function t(c){let d,f=null,v,p;function h(...g){if(!h.enabled)return;const _=h,m=Number(new Date),b=m-(d||m);_.diff=b,_.prev=d,_.curr=m,d=m,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(V,B)=>{if(V==="%%")return"%";S++;const $=t.formatters[B];if(typeof $=="function"){const D=g[S];V=$.call(_,D),g.splice(S,1),S--}return V}),t.formatArgs.call(_,g),(_.log||t.log).apply(_,g)}return h.namespace=c,h.useColors=t.useColors(),h.color=t.selectColor(c),h.extend=a,h.destroy=t.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(v!==t.namespaces&&(v=t.namespaces,p=t.enabled(c)),p),set:g=>{f=g}}),typeof t.init=="function"&&t.init(h),h}function a(c,d){const f=t(this.namespace+(typeof d>"u"?":":d)+c);return f.log=this.log,f}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 f of d)f[0]==="-"?t.skips.push(f.slice(1)):t.names.push(f)}function o(c,d){let f=0,v=0,p=-1,h=0;for(;f<c.length;)if(v<d.length&&(d[v]===c[f]||d[v]==="*"))d[v]==="*"?(p=v,h=f,v++):(f++,v++);else if(p!==-1)v=p+1,h++,f=h;else return!1;for(;v<d.length&&d[v]==="*";)v++;return v===d.length}function s(){const c=[...t.names,...t.skips.map(d=>"-"+d)].join(",");return t.enable(""),c}function i(c){for(const d of t.skips)if(o(c,d))return!1;for(const d of t.names)if(o(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=o,n.load=s,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,f=0;u[0].replace(/%[a-zA-Z%]/g,v=>{v!=="%%"&&(d++,v==="%c"&&(f=d))}),u.splice(f,0,c)}n.log=console.debug||console.log||(()=>{});function o(u){try{u?n.storage.setItem("debug",u):n.storage.removeItem("debug")}catch{}}function s(){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(o){return o&&o.__esModule?o:{default:o}}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,o=c(r),s=eventNamesExports,i=c(s),l=functionNamesExports,u=c(l);function c(v){return v&&v.__esModule?v:{default:v}}const d=(0,a.default)("youtube-player"),f={};f.proxyEvents=v=>{const p={};for(const h of i.default){const g="on"+h.slice(0,1).toUpperCase()+h.slice(1);p[g]=_=>{d('event "%s"',g,_),v.trigger(h,_)}}return p},f.promisifyPlayer=(v,p=!1)=>{const h={};for(const g of u.default)p&&o.default[g]?h[g]=(..._)=>v.then(m=>{const b=o.default[g],S=m.getPlayerState(),C=m[g].apply(m,_);return b.stateChangeRequired||Array.isArray(b.acceptableStates)&&!b.acceptableStates.includes(S)?new Promise(V=>{const B=()=>{const $=m.getPlayerState();let D;typeof b.timeout=="number"&&(D=setTimeout(()=>{m.removeEventListener("onStateChange",B),V()},b.timeout)),Array.isArray(b.acceptableStates)&&b.acceptableStates.includes($)&&(m.removeEventListener("onStateChange",B),clearTimeout(D),V())};m.addEventListener("onStateChange",B)}).then(()=>C):C}):h[g]=(..._)=>v.then(m=>m[g].apply(m,_));return h},n.default=f,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],o=document.createElement("script");typeof t=="function"&&(a=t,t={}),t=t||{},a=a||function(){},o.type=t.type||"text/javascript",o.charset=t.charset||"utf8",o.async="async"in t?!!t.async:!0,o.src=n,t.attrs&&setAttributes(o,t.attrs),t.text&&(o.text=""+t.text);var s="onload"in o?stdOnEnd:ieOnEnd;s(o,a),o.onload||stdOnEnd(o,a),r.appendChild(o)};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(o){return o&&o.__esModule?o:{default:o}}n.default=o=>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&&o.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,o=l(r),s=loadYouTubeIframeApiExports,i=l(s);function l(c){return c&&c.__esModule?c:{default:c}}let u;n.default=(c,d={},f=!1)=>{const v=(0,a.default)();if(u||(u=(0,i.default)(v)),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=o.default.proxyEvents(v);const p=new Promise(g=>{typeof c=="object"&&c.playVideo instanceof Function?g(c):u.then(_=>{const m=new _.Player(c,d);return v.on("ready",()=>{g(m)}),null})}),h=o.default.promisifyPlayer(p,f);return h.on=v.on,h.off=v.off,h},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")}};let videoStore=null;const cookieValues=cookieValues$5.youtube,_sfc_main$8={name:"VsVideo",status:"prototype",release:"0.0.1",components:{VsWarning:LoadingSpinner.VsWarning,VueYoutube},mixins:[LoadingSpinner.dataLayerMixin,cookieCheckerMixin],props:{language:{type:String,default:"en"},videoId:{type:String,required:!0},videoTitle:{type:String,default:""},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},errorMessage:{type:String,default:""}},data(){return{duration:{minutes:0,seconds:0,roundedMinutes:""},playerVars:{hl:this.language},requiredCookies:cookieValues,reRendering:!1,shouldAutoPlay:!1,jsDisabled:!0}},computed:{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},player(){return this.$refs.youtube?this.$refs.youtube.player:null}},mounted(){this.jsDisabled=jsIsDisabled(),videoStore=useVideoStore(),this.setEventListeners()},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 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())})}}},_hoisted_1$8={key:0,class:"vs-video","data-test":"vs-video"},_hoisted_2$7={class:"vs-video__iframe-wrapper"},_hoisted_3$5={key:0};function _sfc_render(e,n,t,a,r,o){const s=vue.resolveComponent("VueYoutube"),i=vue.resolveComponent("VsWarning");return r.reRendering?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[vue.createElementVNode("div",_hoisted_2$7,[e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$5,[vue.createVNode(s,{autoplay:0,"video-id":t.videoId,vars:r.playerVars,ref:"youtube",nocookie:!0,onPlaying:o.youtubePlaying,onPaused:o.youtubePaused,onEnded:o.youtubeEnded,onReady:o.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"])])):vue.createCommentVNode("",!0),o.showError?(vue.openBlock(),vue.createBlock(i,{key:1,type:e.cookiesLoaded===!0?"cookie":"normal","data-test":"vs-video__warning",class:"vs-video__warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.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,{"data-test":"vs-video__warning--no-js",class:"vs-video__warning vs-video__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})])]))}const Video=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,o){const{apiKey:s,customerId:i,engineId:l}=n,u=`https://api-eu1.cludo.com/api/v3/${i}/${l}/search`,c=`${i}:${s}`,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 f=await fetch(u,{method:"POST",body:JSON.stringify({query:e||"*",operator:o,responseType:"JsonObject",perPage:6,page:t,facets:{Category:r?[r]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(c)}`}});if(!f.ok)throw d.cludoError=!0,d.isLoading=!1,new Error(`Cludo response message: ${f.status}`);const v=await f.json();return{results:cleanData$1(v),totalResults:v.TotalDocument}}catch{return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0}}}function cleanData(e){return e.events.map(a=>{var r,o,s,i,l,u,c;return{id:a.id,parentId:a.parentId,title:a.name,description:((o=(r=a.descriptions)==null?void 0:r[0])==null?void 0:o.description)||"",imgSrc:((i=(s=a.images)==null?void 0:s[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,o,s,i,l,u,c,d,f){const v=useFederatedSearchStore();v.eventsApiError=!1,v.cludoError=!1;let p=`${e}?query=${n}&lang=${l}`;p=t>1?`${p}&page=${t}`:p,p=o!==""?`${p}&startDate=${o}`:p,p=s!==""?`${p}&endDate=${s}`: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=f?`${p}&postcodeareas=${f}`:p,r.forEach(h=>{p+=`&category=${h}`}),a&&a!=="events"&&(p+=`&category=${a}`);try{const h=await fetch(p);if(!h.ok)throw v.isLoading=!1,v.eventsApiError=!0,new Error(`Events response message: ${h.status}`);const g=await h.json();return{results:cleanData(g),totalResults:g.totalResults}}catch{return v.isLoading=!1,v.eventsApiError=!0,{results:[],totalResults:0}}}async function cludoAutocomplete(e,n){const{apiKey:t,customerId:a,engineId:r}=n,s=`https://api-eu1.cludo.com/api/v3/${a}/${r}/Autocomplete`,i=`${a}:${t}`;try{const l=await fetch(s,{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),o=vue.ref(!1),s=vue.ref(!1),i=vue.ref(null),l=vue.ref(""),u=vue.ref(null),c=vue.ref(null),d=vue.ref([]),f=vue.ref([]),v=vue.ref(void 0),p=vue.ref(void 0),h=vue.ref(void 0),g=vue.ref(!1),_=vue.ref(""),m=vue.ref(""),b=vue.ref(void 0),S=vue.ref(void 0),C=vue.ref(void 0),V=vue.ref(-1),B=vue.ref(""),$=vue.ref(""),D=vue.ref(""),R=vue.ref(0),M=vue.ref(""),A=vue.ref("or");async function O(Y=!1){s.value=!0,Y||(V.value+=1);const W=await cludoSearch(l.value,n.value,a.value,u.value,c.value,A.value),k=await eventSearch(r.value,l.value,a.value,c.value,f.value,_.value,m.value,b.value,C.value,$.value,D.value,R.value,M.value);i.value=[...W.results,...k.results],p.value=W.totalResults,h.value=k.totalResults,v.value=W.totalResults+k.totalResults,s.value=!1}async function q(){return cludoAutocomplete(l.value,n.value)}async function ee(Y,W){const k=new URL(window.location.href);if(W?B.value="Autosuggestion":B.value="User input",l.value?k.searchParams.set("search-term",l.value):k.searchParams.delete("search-term"),c.value?k.searchParams.set("category",encodeURIComponent(c.value)):k.searchParams.delete("category"),f.value.length>0?k.searchParams.set("sub-category",encodeURIComponent(f.value.join(","))):k.searchParams.delete("sub-category"),Y?(a.value=1,k.searchParams.set("page",a.value.toString())):a.value&&a.value>1?k.searchParams.set("page",a.value.toString()):k.searchParams.delete("page"),_.value?k.searchParams.set("start-date",_.value):k.searchParams.delete("start-date"),m.value?k.searchParams.set("end-date",m.value):k.searchParams.delete("end-date"),b.value?k.searchParams.set("sort-by",b.value):k.searchParams.delete("sort-by"),!g.value)window.history.pushState({},"",k),await O();else{const L=`${S.value}/${k.search}`;window.location.href=L}}return{filters:e,currentPage:a,cludoCredentials:n,cludoError:t,eventsApi:r,eventsApiError:o,getAutoComplete:q,getSearchResults:O,isLoading:s,results:i,searchTerm:l,searchUrl:S,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:f,totalResults:v,totalResultsCludo:p,totalResultsEvents:h,navigateToResultsPage:ee,isHomePage:g,startDate:_,endDate:m,sortBy:b,siteLanguage:C,searchInSessionCount:V,queryInput:B,postcode:$,location:D,radius:R,postcodeareas:M,cludoApiOperator:A}}),_hoisted_1$7={class:"vs-fed-filter"},_hoisted_2$6={class:"vs-fed-filter__scroll-container"},_hoisted_3$4=["id"],_sfc_main$7={__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 o(c){var d,f;c==="left"?(d=a.value)==null||d.scrollBy(-200,0):c==="right"&&((f=a.value)==null||f.scrollBy(200,0))}function s(){var c;(c=a.value)==null||c.scrollTo(0,0)}n({resetScroll:s});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,f)=>{const v=(d.Label||d.Key||"").toLowerCase(),p=(f.Label||f.Key||"").toLowerCase();return v<p?-1:v>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]=f=>o("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,(f,v)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:v,class:"vs-fed-filter__category-button","data-test":`vs-fed-filter__category-button--${f.Key}`,icon:t.variant==="primary"?u(f.Key):null,variant:r(f.Key)?"primary":"secondary",size:t.variant==="secondary"?"sm":"md",onClick:p=>c.$emit("filter-updated",f)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(f.Label||f.Key),1)]),_:2},1032,["data-test","icon","variant","size","onClick"]))),128))],10,_hoisted_3$4),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]=f=>o("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 o(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function s(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,f,v;switch(l){case"siteSearchOpenEvent":c="site_search_open",d={event:c,referrer_page:u.referrer_page},f=o(d),v=a(LoadingSpinner.siteSearchOpenTemplate,f);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"},f=o(d),v=a(LoadingSpinner.siteSearchUsageTemplate,f);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},f=o(d),v=a(LoadingSpinner.siteSearchClickTemplate,f);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},f=o(d),v=a(LoadingSpinner.siteSearchCloseTemplate,f);break}v&&s(v)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:o,returnIsoDate:r,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1$6={class:"vs-fed-search-input"},_hoisted_2$5={class:"vs-fed-search__input"},_hoisted_3$3={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$3=["onClick","onKeyup","innerHTML"],_sfc_main$6={__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),o=vue.ref(),s=vue.ref(null),i=vue.ref(null);async function l(m){a.currentPage=1,a.searchTerm=m.value.trim();const b=window.location.search,S=new URLSearchParams(b);a.searchTerm&&S.get("search-term")!==a.searchTerm&&(o.value=await a.getAutoComplete()),a.searchTerm||(o.value=null)}async function u(){o.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(m){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:m,query_input:a.queryInput})}function d(m){a.searchTerm=m,o.value=null,a.navigateToResultsPage(!1,!0),c(m)}function f(m){return m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function v(m){return m.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function p(m){const b=(a.searchTerm||"").trim();if(!b)return v(m);const S=new RegExp(`(${f(b)})`,"gi");return v(m).replace(S,"<strong>$1</strong>")}function h(m){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:m.Label||m.Key})}async function g(m){const b=new URL(window.location);b.searchParams.delete("page"),a.currentPage=1,b.searchParams.delete("start-date"),b.searchParams.delete("end-date"),a.startDate="",a.endDate="",a.sortBy=void 0,a.selectedSubCategory=[],a.selectedSubCategoryKey=[],a.selectedCategory=a.selectedCategory!==m.Label?m.Label:"",a.selectedCategoryKey=a.selectedCategoryKey!==m.Key?m.Key:"",await a.navigateToResultsPage(!0),h(m)}function _(m){if(!a.selectedSubCategoryKey.includes(m.Key))a.selectedSubCategory.push(m.Label),a.selectedSubCategoryKey.push(m.Key);else{const b=a.selectedSubCategoryKey.indexOf(m.Key);b>=0&&(a.selectedSubCategory.splice(b,1),a.selectedSubCategoryKey.splice(b,1))}a.navigateToResultsPage(!0),h(m)}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 m=window.location.search,b=new URLSearchParams(m);b.has("search-term")&&(a.searchTerm=b.get("search-term")),b.has("category")&&(a.selectedCategoryKey=decodeURIComponent(b.get("category"))),b.has("sub-category")&&decodeURIComponent(b.get("sub-category")).split(",").forEach(C=>a.selectedSubCategoryKey.push(C)),b.has("category")&&b.get("category")==="events"&&b.has("sort-by")&&(a.sortBy=b.get("sort-by")),b.has("start-date")&&(a.startDate=b.get("start-date")),b.has("end-date")&&(a.endDate=b.get("end-date")),b.has("postcode")&&(a.postcode=b.get("postcode")),b.has("location")&&(a.location=b.get("location")),b.has("radius")&&(a.radius=b.get("radius")),b.has("postcodeareas")&&(a.postcodeareas=b.get("postcodeareas")),(b.has("search-term")||b.has("category"))&&a.getSearchResults()}),vue.watch(r,m=>{var b,S;m||((b=s.value)==null||b.resetScroll(),(S=i.value)==null||S.resetScroll())}),(m,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("div",_hoisted_3$3,[vue.createElementVNode("label",_hoisted_4$3,[b[0]||(b[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"])]),o.value&&o.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(o.value,S=>(vue.openBlock(),vue.createElementBlock("li",{key:S,class:"vs-fed-search-input__autocomplete__suggestion",onClick:C=>d(S),onKeyup:vue.withKeys(C=>d(S),["enter"]),tabindex:"0",innerHTML:p(S)},null,40,_hoisted_7$3))),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:s,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:_},{"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={__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,o)=>(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:o[0]||(o[0]=s=>r.$emit("from-date-updated",s.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:o[1]||(o[1]=s=>r.$emit("end-date-updated",s.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,(s,i)=>(vue.openBlock(),vue.createBlock(VsDropdownItem,{key:i,onClick:l=>{r.$emit("sort-order-updated",s.key)},active:vue.unref(n).sortBy===s.key,"data-test":`vs-fed-search-sort__dropdown-item--${s.key}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.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$2={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$2={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8={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={__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,o=vue.ref(!1),s=vue.computed(()=>{let m;return t.selectedCategoryKey==="events"?m=Math.ceil(t.totalResultsEvents/12):m=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),m});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=()=>{_()};const m=new URLSearchParams(document.location.search),b=m.get("search-term"),S=parseInt(m.get("page"),10);S&&(t.currentPage=S),b&&(t.searchTerm=b),await t.getSearchResults(),b&&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(m){t.startDate=m,t.navigateToResultsPage(!0)}function u(m){t.endDate=m,t.navigateToResultsPage(!0)}function c(m){t.sortBy=m,t.navigateToResultsPage(!0)}function d(m){let b=!1;m>t.currentPage&&(b=!0),t.currentPage=m,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),g(b)}function f(m,b){return m===b?m:`${m} - ${b}`}function v(m){return m===null?"":m.match(/\b\d+\.\d\b/)?`£${m}0`:`£${m}`}function p(m){if(m.url)return m.url;if(m.placeUrl)return m.placeUrl;const b="https://www.datathistle.com/event/",S=encodeURIComponent(m.title.replaceAll(" ","-").toLowerCase());return`${b}${m.parentId}-${S}`}function h(m){o.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:m.title,click_url:p(m),click_category:m.categoryCard&&r.cardCategoryLabels[m.categoryCard]?r.cardCategoryLabels[m.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function g(m){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:m?"forward":"back",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function _(){o.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()}),(m,b)=>(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$2A,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(S,C)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:C,class:"mb-200"},[vue.renderSlot(m.$slots,`federated-search__spotlight-${S.Key}`)],512)),[[vue.vShow,vue.unref(t).selectedCategoryKey===S.Key]])),128)),vue.unref(t).results?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$2,[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&&s.value<=1?"mb-300":null)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).results,S=>(vue.openBlock(),vue.createBlock(vue.unref(VsCard),{key:S.id},{"vs-card-header":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createVNode(vue.unref(LoadingSpinner.VsImg),{src:S.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,[S.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(v(S.minPrice)),1)]),_:2},1024)):vue.createCommentVNode("",!0),S.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(f(S.startDate,S.endDate)),1)]),_:2},1024)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_7$2,[S.categoryCard&&e.cardCategoryLabels[S.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[S.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(S),onClick:C=>h(S),class:"stretched-link",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(S.title),1)]),_:2},1032,["href","onClick"])]),_:2},1024),vue.createVNode(vue.unref(LoadingSpinner.VsBody),null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_8,vue.toDisplayString(S.description),1)]),_:2},1024)]),"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[S.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(S.location),1)]),_:2},1024)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[S.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&&s.value>1?(vue.openBlock(),vue.createBlock(vue.unref(_sfc_main$E),{key:0,class:"vs-federated-search__pagination","number-of-pages":s.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":b[0]||(b[0]=S=>vue.unref(t).currentPage=S),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",o="google",s="importLibrary",i="__ib__",l=document,u=window,c=u[o]||(u[o]={}),d=c.maps||(c.maps={}),f=new Set,v=new URLSearchParams,p=()=>n||(n=new Promise(async(h,g)=>{var _;await(t=l.createElement("script")),v.set("libraries",[...f]+"");for(a in e)v.set(a.replace(/[A-Z]/g,m=>"_"+m[0].toLowerCase()),e[a]);v.set("callback",o+".maps."+i),setScriptSrc(t,"https://maps.googleapis.com/maps/api/js?"+v),d[i]=h,t.onerror=()=>n=g(Error(r+" could not load.")),t.nonce=((_=l.querySelector("script[nonce]"))==null?void 0:_.nonce)||"",l.head.append(t)}));d[s]?console.warn(r+" only loads once. Ignoring:",e):d[s]=(h,...g)=>f.add(h)&&p().then(()=>d[s](h,...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.",logDevWarning=define_process_env_default.NODE_ENV!=="production"?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=define_process_env_default.NODE_ENV!=="production"?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{};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)):define_process_env_default.NODE_ENV!=="production"&&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);return{sidebarOpen:e,timeMounted:n,firstInteraction:t,searchesCount:a,filterUsesCount:r}}),_hoisted_1$3={class:"px-125 pb-125"},_sfc_main$3={__name:"MapFeaturedLocationItem",props:{place:{type:Object,default:()=>{}}},setup(e){const n=e,t=vue.inject("onFeaturedLocationClick");function a(r){t(r)}return(r,o)=>(vue.openBlock(),vue.createBlock(VsCard,{"card-style":"overlay",class:"vs-map__controls-featured-place-card",onClick:o[2]||(o[2]=s=>a(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(s=>a(n.place),["prevent"]),["enter"])),o[1]||(o[1]=vue.withKeys(vue.withModifiers(s=>a(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))}},_hoisted_1$2={class:"category-title"},_hoisted_2$2={class:"vs-map__controls-featured-place-accordion-content p-075"},_sfc_main$2={__name:"MapFeaturedLocation",setup(e){const{categories:n,places:t}=vue.inject("featuredPlaces");function a(r){switch(r){case"cities":return"fa-regular fa-city";case"regions":return"fa-regular fa-map-location-dot";case"islands":return"fa-regular fa-island-tropical";case"towns":return"fa-regular fa-house-chimney-window";case"national-parks":return"fa-kit fa-vs-icon-national-park";default:return null}}return(r,o)=>vue.unref(n)&&vue.unref(t)?(vue.openBlock(),vue.createBlock(VsAccordion,{key:0},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(n),(s,i)=>(vue.openBlock(),vue.createBlock(VsAccordionItem,{key:i,"control-id":s.id,"open-by-default":s.id==="cities"},{title:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsIcon,{class:"me-025 fa-fw","custom-colour":"#200F2E",icon:a(s.id),size:"sm",variant:"highlight"},null,8,["icon"]),vue.createElementVNode("span",_hoisted_1$2,vue.toDisplayString(s.label),1)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(VsCardGroup,{"scroll-snap":"always"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t),l=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[l.properties.category.id===s.id?(vue.openBlock(),vue.createBlock(_sfc_main$3,{key:l.properties.id,place:l},null,8,["place"])):vue.createCommentVNode("",!0)],64))),256))]),_:2},1024)])]),_:2},1032,["control-id","open-by-default"]))),128))]),_:1})):vue.createCommentVNode("",!0)}},_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-100 mb-050"},_hoisted_4$1={key:1,class:"vs-map-sidebar__sub-filters-wrapper"},_hoisted_5$1={class:"vs-map-sidebar__search-results"},_hoisted_6$1={class:"vs-map-sidebar__google-maps-container mt-075"},_hoisted_7$1={key:0,class:"vs-map-sidebar__footer"},_sfc_main$1=vue.defineComponent({__name:"MapSidebar",props:{query:{type:String,default:""},selectedCategories:{type:String,default:""},headerLabel:{type:String,default:""},closeSidebarButtonLabel:{type:String,default:""},searchBarAriaLabel:{type:String,default:""},inputPlaceholderLabel:{type:String,default:""},searchButtonLabel:{type:String,default:""},clearMapLabel:{type:String,default:""},subFilterHeaderLabel:{type:String,default:""},searchResultsLabel:{type:String,default:""},openSidebarButtonLabel:{type:String,default:""}},emits:["search-input-changed","reset-map"],setup(e){const n=useGoogleMapStore(),t=e;return(a,r)=>(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",ref:"vsMapSidebar"},[vue.createElementVNode("div",_hoisted_1$1,[t.headerLabel?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"1","heading-style":"heading-xxs",class:"flex-grow-1",id:"vs-map-sidebar__heading","data-test":"vs-map-sidebar__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.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:r[0]||(r[0]=o=>vue.unref(n).sidebarOpen=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeSidebarButtonLabel),1)]),_:1})]),vue.createElementVNode("div",_hoisted_2$1,[vue.createElementVNode("div",_hoisted_3$1,[vue.createVNode(VsInput,{type:"text",autocomplete:"off","field-name":"vs-map-search-input","data-test":"vs-map-search-input",ref:"vs-search-input",placeholder:t.inputPlaceholderLabel,class:"vs-map-sidebar__input flex-grow-1","aria-label":t.searchBarAriaLabel,onKeyup:r[1]||(r[1]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["placeholder","aria-label"]),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:r[2]||(r[2]=vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"])),onKeyup:r[3]||(r[3]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonLabel),1)]),_:1})]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("a",{key:0,href:"#",class:"d-block","data-test":"vs-map-sidebar__reset-map",onClick:r[4]||(r[4]=vue.withModifiers(o=>a.$emit("reset-map"),["prevent"])),onKeyup:r[5]||(r[5]=vue.withKeys(vue.withModifiers(o=>a.$emit("reset-map"),["prevent"]),["enter"]))},vue.toDisplayString(t.clearMapLabel),33)):vue.createCommentVNode("",!0),a.$slots["vs-map-sidebar-sub-filters"]&&a.$slots["vs-map-sidebar-sub-filters"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createVNode(VsDetail,{class:"vs-map-sidebar__sub-filter-header",size:"small",color:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subFilterHeaderLabel),1)]),_:1}),vue.renderSlot(a.$slots,"vs-map-sidebar-sub-filters")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$1,[a.$props.query||a.$props.selectedCategories?(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.searchResultsLabel)+' "'+vue.toDisplayString(t.query||t.selectedCategories)+'" ',1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6$1,[vue.renderSlot(a.$slots,"vs-map-sidebar-search-results")])]),vue.createVNode(_sfc_main$2,{class:vue.normalizeClass(["mb-100",a.$props.query||a.$props.selectedCategories?"d-none":"d-block"])},null,8,["class"])]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$1,r[7]||(r[7]=[vue.createElementVNode("hr",{class:"vs-map-sidebar__swipe-tab"},null,-1)]))):vue.createCommentVNode("",!0)],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:r[6]||(r[6]=o=>vue.unref(n).sidebarOpen=!0)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.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 o(){t.value=!0}function s(){let i=!1;typeof CookieControl<"u"&&(i=e.value.every(l=>CookieControl.getCategoryConsent(l)===!0)),n.value=i}return vue.onMounted(()=>{window.addEventListener("cookieManagerLoaded",()=>{o()}),window.addEventListener("cookiesUpdated",()=>{s()})}),{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 o(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function s(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,f,v;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},f=o(d),v=a(LoadingSpinner.googleMapSearchTemplate,f);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},f=o(d),v=a(LoadingSpinner.googleMapFilterInteractionTemplate,f);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},f=o(d),v=a(LoadingSpinner.googleMapTimeToFirstInteractionTemplate,f);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},f=o(d),v=a(LoadingSpinner.googleMapInteractionTemplate,f);break}v&&s(v)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:o,returnIsoDate:r,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1={class:"vs-map"},_hoisted_2={class:"vs-map__controls"},_hoisted_3={class:"vs-map-sidebar__sub-filters"},_hoisted_4={key:0},_hoisted_5={key:0,class:"vs-map__filter-controls"},_hoisted_6={class:"vs-map__wrapper"},_hoisted_7={id:"vs-map","map-id":"vs-map",ref:"vsMap"},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},jsDisabled:{type:Boolean,required:!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(U=>U.id==="destinations"),r=a?a.subCategory:null;vue.provide("featuredPlaces",{categories:r,places:t.featuredPlaces}),vue.provide("onFeaturedLocationClick",ve);let o,s,i,l,u,c,d,f,v,p,h={},g;const _=vue.ref(),m=vue.ref(new Set),b=vue.ref(),S=vue.ref(new Set),C=vue.ref(new Set),V=vue.ref(new Set),B=vue.ref(new Set),$=vue.ref(),D=vue.ref(),R=vue.ref(t.zoom),M=vue.ref(!1),A=vue.ref(),O=vue.ref(new Set),q=vue.ref(),ee=vue.computed(()=>{const U=new Map,J=F[_.value].subCategory;return Object.values(J).forEach(X=>{U.set(X.id,{includedTypes:X.includedType,excludedTypes:X.excludedType})}),U}),Y=useGoogleMapStore(),W=vue.ref(void 0);let k;const L=vue.ref(void 0),T={north:60.8,south:54.8,west:-8.5,east:-.7};let F={};const Q=t.categoryLabels;let w=0;vue.onBeforeMount(()=>{const U=cookieCheckerComposable();U.requiredCookies.value=cookieValues$5.google_maps,k=vue.computed(()=>!U.cookiesAllowed.value&&U.cookiesLoaded.value===!0||!U.cookiesLoaded.value?(L.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(J=>{F=J.data}).catch(()=>{}),k.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")}}s=document.getElementById("vs-map"),i=document.getElementById("nearbySearch"),l=document.getElementById("textSearch"),u=document.querySelector("gmp-place-text-search-request"),c=document.querySelector("gmp-place-nearby-search-request"),d=document.querySelector("gmp-place-details"),f=document.getElementById("placeRequest"),v=document.getElementById("vs-map-search-input");async function U(){try{const J={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:T},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1,gestureHandling:"greedy"};if(s)o=new google.maps.Map(s,J),o.fitBounds(T);else throw new Error("Init error, mapContainer undefined")}catch(J){console.error("Maps init error",J.message)}p=new google.maps.InfoWindow,p.addListener("closeclick",()=>{ue("card_close",f.place)}),N(),o.addListener("zoom_changed",()=>{R.value=o.getZoom(),R.value<CATEGORY_VISIBLE_ZOOM?N():N(!0)}),o.addListener("idle",()=>{g=he()}),i.addEventListener("gmp-select",({place:J})=>{h[J.id]&&fe(J,h[J.id])}),l.addEventListener("gmp-select",({place:J})=>{h[J.id]&&fe(J,h[J.id])})}Y.firstInteraction=!1,Y.searchesCount=0,Y.filterUsesCount=0,k.value===!1&&await U()});function N(U){const J={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},X=["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"],te=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8"],se=o.getFeatureLayer(google.maps.FeatureType.COUNTRY),ie=o.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);U?(se.style=null,ie.style=null,se.style=de=>{if(te.includes(de.feature.placeId))return J},ie.style=de=>{if(te.includes(de.feature.placeId))return J}):(se.style=de=>{if(X.includes(de.feature.placeId))return J},ie.style=de=>{if(X.includes(de.feature.placeId))return J})}function E(U,J){le(),_.value=U,Object.values(F[U].subCategory).forEach(X=>S.value.add(X.includedType)),Object.values(F[U].subCategory).forEach(X=>{X.excludedType&&C.value.add(X.excludedType)}),S.value=new Set(Array.from(S.value).flat()),C.value=new Set(Array.from(C.value).flat()),S.value.forEach(X=>{C.value.has(X)&&C.value.delete(X)}),b.value=F[U],$.value=J,H({includedTypes:Array.from(S.value),excludedTypes:Array.from(C.value)}),A.value=Q[$.value].label,v.value=A.value}function j(U,J){const X=vue.ref([]),te=vue.ref();return U.forEach(()=>{Q.forEach(se=>{se.id===_.value&&(X.value=se)}),Object.values(X.value).forEach(se=>{Object.values(se).forEach(ie=>{J===ie.id&&(te.value=ie.label)})})}),te}function P(){V.value.forEach(U=>{B.value.has(U)&&B.value.delete(U)})}function z(U,{includeTypes:J=!1,excludeTypes:X=!1,removeIncludedTypes:te=!1,removeExcludedTypes:se=!1}={}){var de;const ie=ee.value.get(U);J&&ie.includedTypes.forEach(pe=>{J&&V.value.add(pe),te&&V.value.delete(pe)}),(X||se)&&((de=ie.excludedTypes)==null||de.forEach(pe=>{X&&B.value.add(pe),se&&B.value.delete(pe)}))}function G(U,J){D.value=J,U==="self-catering"?(oe(),m.value=new Set,m.value.add(U),A.value=j(m.value,U).value,le(),v.value=A.value,Z()):m.value.has(U)?(m.value.delete(U),V.value=new Set,B.value=new Set,m.value.forEach(X=>{z(X,{includeTypes:!0,excludeTypes:!0})}),P(),O.value.delete(j(m.value,U).value),m.value.size===0?(O.value=new Set,E(_.value,$.value)):(H({includedTypes:Array.from(V.value).flat(),excludedTypes:Array.from(B.value).flat()}),A.value=Array.from(O.value).join(", "),v.value=A.value)):(m.value.add(U),z(U,{includeTypes:!0,excludeTypes:!0}),P(),H({includedTypes:Array.from(V.value).flat(),excludedTypes:Array.from(B.value).flat()}),O.value.add(j(m.value,U).value),A.value=Array.from(O.value).join(", "),v.value=A.value)}async function H({includedTypes:U=[],excludedTypes:J=[]}={}){ne(),oe(),w+=1;const X=w;Y.filterUsesCount+=1,q.value="nearby";const te=o.getBounds(),se=te.getNorthEast(),ie=te.getSouthWest(),de=google.maps.geometry.spherical.computeDistanceBetween(se,ie),pe=Math.min(de/2,25e3);c.includedTypes=U,c.excludedTypes=J??[],c.maxResultCount=NUMBER_OF_RESULTS,c.locationRestriction={center:o.getCenter(),radius:pe},i.style.display="block",i.addEventListener("gmp-load",()=>{if(X!==w)return;ae(X);let me="main",ge=_.value;m.value.size&&(me="sub",ge=Array.from(m.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:me,search_map_location:o.getCenter().toString(),filter_selection:ge,results_count:i.places.length,filter_usage_index:Y.filterUsesCount}),I("map_filter")},{once:!0})}async function Z(){ne(),le(),w+=1;const U=w;Y.searchesCount+=1,q.value="text",A.value=v.value.trim(),A.value&&(u.textQuery=`${A.value} in Scotland`,u.locationRestriction=o.getBounds(),u.maxResultCount=NUMBER_OF_RESULTS,l.style.display="block",l.addEventListener("gmp-load",()=>{U===w&&(ae(U),n.createDataLayerObject("googleMapSearchEvent",{search_query:A.value,search_map_location:o.getCenter().toString(),search_results_count:l.places.length,search_usage_index:Y.searchesCount}),I("map_search"))},{once:!0}))}async function ae(U){const{AdvancedMarkerElement:J}=await importLibrary("marker"),{LatLngBounds:X}=await importLibrary("core");if(U!==w)return;const te=vue.ref();q.value==="nearby"?te.value=i:q.value==="text"?te.value=l:console.error("Unrecognised Search type"),te.value.places.length===0?(W.value=!0,te.value.style.display="none"):(W.value=!1,te.value.style.display="block");const se=new X;te.value.places&&te.value.places.forEach(ie=>{const de=document.createElement("div");de.classList.add("vs-map-marker");const pe=document.createElement("i");pe.classList.add("fa-solid","fa-location-dot"),de.appendChild(pe);const me=new J({map:o,position:ie.location,content:de,title:"Map pin"});me.addEventListener("gmp-placeclick",()=>{fe(ie)}),me.addListener("click",()=>{fe(ie)}),me.metadata={id:ie.id},h[ie.id]=me,se.extend(ie.location),te.value.places.length===1?(o.setCenter({lat:ie.location.lat(),lng:ie.location.lng()}),o.setZoom(14),o.fitBounds(ie.viewport)):(o.setCenter(se.getCenter()),o.fitBounds(se))})}function ne(U,J){ce(),q.value="",i.style.display="none",l.style.display="none",u.textQuery=null,M.value=!1,p&&p.close&&p.close(),W.value=void 0,U&&(oe(),le(),ue("clear_all")),J&&(o.setCenter(t.center),o.setZoom(t.zoom),o.fitBounds(T),ue("reset_map"))}function oe(){A.value=null,v.value=""}function le(){_.value=void 0,m.value=new Set,S.value=new Set,C.value=new Set,V.value=new Set,B.value=new Set,O.value=new Set,$.value=void 0,D.value=void 0}function ce(){for(const U in h)h[U]&&(h[U].map=null);h={}}function fe(U){p.isOpen&&(p.close(),ue("card_close",f.place)),f.place=U,window.innerWidth<=768?(d.style.width="85vw",d.style.height="32em",Y.sidebarOpen=!1):(d.style.width="20em",d.style.height="32em"),d.style.display="block",d.style.overflowY="auto",d.style.overflowX="hidden",d.style.boxSizing="border-box",d.style.maxHeight="32em",p.setOptions({content:d,maxWidth:"25em",position:U.location,pixelOffset:new google.maps.Size(0,-32)}),p.open({map:o}),google.maps.event.addListenerOnce(o,"idle",()=>{o.getZoom()>MAX_ZOOM&&o.setZoom(MAX_ZOOM),ue("card_open",U)}),o.setCenter(U.location)}async function ue(U,J){let X="",te="",se="",ie="";J&&(await J.fetchFields({fields:["displayName","primaryType","rating","websiteURI"]}),X=J.displayName,te=J.rating,se=J.websiteURI,ie=J.primaryType),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:U,search_query:v.value.trim(),map_location:o.getCenter().toString(),visible_attractions_count:g,card_attraction_name:X,card_attraction_category:ie,card_attraction_rating:te,card_attraction_url:se,interaction_timestamp_ms:Date.now()}),I(U)}function I(U){if(!Y.firstInteraction){const X=Date.now()-Y.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:X,first_interaction_type:U}),Y.firstInteraction=!0}}function he(){const U=o.getBounds();if(!U)return 0;let J=0;for(let X=0;X<Object.keys(h).length;X++){const se=h[Object.keys(h)[X]].position;U.contains(se)&&(J+=1)}return J}function ve(U){o.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(U.properties.viewport.low.latitude,U.properties.viewport.low.longitude),new google.maps.LatLng(U.properties.viewport.high.latitude,U.properties.viewport.high.longitude))),o.setCenter(new google.maps.LatLng(U.properties.locationCentre.latitude,U.properties.locationCentre.longitude)),E("things-to-do",2),M.value=!0}return(U,J)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(k)?"d-none":""])},[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{query:A.value,"selected-categories":_.value,"header-label":t.labels.heading,"close-sidebar-button-label":t.labels.closeSidebarBtn,"search-bar-aria-label":t.labels.searchBarAriaLabel,"input-placeholder-label":t.labels.inputPlaceholder,"search-button-label":t.labels.searchButton,"clear-map-label":t.labels.clearMap,"sub-filter-header-label":t.labels.subFilterHeader,"search-results-label":t.labels.searchResults,"open-sidebar-button-label":t.labels.openSidebarButton,onSearchInputChanged:Z,onResetMap:J[1]||(J[1]=X=>ne(!0))},vue.createSlots({"vs-map-sidebar-search-results":vue.withCtx(()=>[W.value||t.alertText&&W.value===!1?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,class:"mt-075 mb-150",id:"vs-map__alert",size:"small"},{default:vue.withCtx(()=>[W.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4,[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage)+" ",1),vue.createElementVNode("a",{href:"#",onClick:J[0]||(J[0]=vue.withModifiers(X=>ne(!0,!0),["prevent"]))},vue.toDisplayString(e.resetMapNoResultsMessage),1)])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createTextVNode(vue.toDisplayString(e.alertText),1)],64))]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>J[2]||(J[2]=[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,__:[2]}))]),_:2},[_.value?{name:"vs-map-sidebar-sub-filters",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Q)[$.value].subCategory,(X,te)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:te,variant:m.value.has(X.id)?"primary":"secondary",size:"sm",onClick:se=>G(X.id,te)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(X.label),1)]),_:2},1032,["variant","onClick"]))),128))])]),key:"0"}:void 0]),1032,["query","selected-categories","header-label","close-sidebar-button-label","search-bar-aria-label","input-placeholder-label","search-button-label","clear-map-label","sub-filter-header-label","search-results-label","open-sidebar-button-label"]),(R.value>=CATEGORY_VISIBLE_ZOOM||M.value)&&vue.unref(Y).sidebarOpen&&Object.keys(vue.unref(F)).length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Q),(X,te)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:te},[X.cmsData?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:0,class:"vs-map__filter-controls-button",variant:_.value===X.id?"primary":"secondary",onClick:vue.withModifiers(se=>E(X.id,te),["prevent"]),icon:Object.values(vue.unref(F))[te].icon},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(X.label),1)]),_:2},1032,["variant","onClick","icon"]))],64))),128))])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("div",_hoisted_7,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>J[3]||(J[3]=[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,__:[3]}))])],2),vue.unref(k)&&L.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(k)?"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$2t;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.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$1J;exports.VsFilterSection=_sfc_main$1I;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$E;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$h;exports.VsStyledListItem=_sfc_main$g;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=Video;exports.VsVideoCaption=VsVideoCaption;