@visitscotland/component-library 5.21.2 → 5.23.0

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$t={"data-test":"vs-autocomplete",class:"vs-autocomplete mb-100"},_hoisted_2$o=["for"],_hoisted_3$i=["placeholder","onClick"],_hoisted_4$f=["name"],_sfc_main$E=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$t,[vue.createElementVNode("label",{for:f.id},vue.toDisplayString(f.label),9,_hoisted_2$o),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:m,isOpen:_,getMenuProps:g,getMenuEventListeners:b,getItemProps:S,getItemEventListeners:k,getComboboxProps:V,openMenu:N})=>[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:$=>N()}),null,16,_hoisted_3$i),vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-expand",variant:"cta",size:"sm"}),vue.withDirectives(vue.createElementVNode("ul",vue.mergeProps(g(),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(k({item:$,index:D}),!0),{class:["vs-autocomplete__list-item",{"vs-autocomplete__list-item--hover":m===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$f)),[[vue.vModelText,c.value]]):vue.createCommentVNode("",!0)]))}}),_hoisted_1$s={class:"vs-guest-selector-number-group","data-test":"vs-guest-selector-number-group"},_hoisted_2$n={class:"vs-guest-selector-number-group__label"},_hoisted_3$h={class:"vs-guest-selector-number-group__buttons justify-content-end"},_hoisted_4$e=["disabled"],_hoisted_5$d=["name","disabled"],_sfc_main$D=vue.defineComponent({__name:"GuestSelectorNumberGroup",props:{adultCount:{},childrenCount:{},count:{},disabled:{type:Boolean},id:{},infantCount:{},inputType:{},maxValue:{},minValue:{},name:{},rowName:{},rowLabel:{},unitRemoved:{type:Boolean}},emits:["changeHandler"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(0),o=vue.ref(!1),s=vue.ref(t.name),i=()=>{r.value>t.minValue&&(r.value--,o.value=!0,u("decrease"))},l=()=>{r.value<t.maxValue&&(r.value++,o.value=!0,u("increase"))},u=c=>{a("changeHandler",t.name,r.value,c,t.id)};return vue.onMounted(()=>{o.value||(r.value=t.minValue),r.value<=t.maxValue&&(r.value=t.count),t.unitRemoved&&(t.name.includes("children")?(r.value=t.childrenCount,s.value=t.rowName+"children"):t.name.includes("infants")?(r.value=t.infantCount,s.value=t.rowName+"infants"):(r.value=t.adultCount,s.value=t.rowName+"a"))}),(c,d)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createElementVNode("span",_hoisted_2$n,vue.toDisplayString(c.rowLabel),1),vue.createElementVNode("div",_hoisted_3$h,[vue.createVNode(LoadingSpinner.VsButton,{class:"vs-guest-selector-number-group__button--remove",size:"sm",icon:"fa-regular fa-minus","icon-only":"",value:"-",onClick:vue.withModifiers(i,["prevent"]),disabled:r.value===c.minValue},{default:vue.withCtx(()=>d[2]||(d[2]=[vue.createTextVNode(" Remove ")])),_:1,__:[2]},8,["disabled"]),vue.withDirectives(vue.createElementVNode("input",{class:"vs-guest-selector-number-group__input",disabled:c.disabled,pattern:"[0-9]*",readonly:"",tabIndex:"-1",type:"text","onUpdate:modelValue":d[0]||(d[0]=f=>r.value=f)},null,8,_hoisted_4$e),[[vue.vModelText,r.value]]),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-guest-selector-number-group__button--add",size:"sm",icon:"fa-regular fa-plus","icon-only":"",value:"+",onClick:vue.withModifiers(l,["prevent"]),disabled:r.value===c.maxValue},{default:vue.withCtx(()=>d[3]||(d[3]=[vue.createTextVNode(" Add ")])),_:1,__:[3]},8,["disabled"]),vue.withDirectives(vue.createElementVNode("input",{type:"hidden","onUpdate:modelValue":d[1]||(d[1]=f=>r.value=f),name:(c.unitRemoved&&c.rowName!=="r1",s.value),disabled:c.disabled},null,8,_hoisted_5$d),[[vue.vModelText,r.value]])])]))}}),_hoisted_1$r={class:"vs-guest-selector-row","data-test":"vs-guest-selector-row"},_hoisted_2$m={class:"vs-guest-selector-row__title"},_hoisted_3$g={key:1,class:"c-search__rooms-guests-picker__row"},_hoisted_4$d=["name"],_hoisted_5$c=["name"],_hoisted_6$c=["name"],_sfc_main$C=vue.defineComponent({__name:"GuestSelectorRow",props:{name:{},showRemoveBtn:{type:Boolean},unitLabel:{},unitOptions:{},unitRemoved:{type:Boolean}},emits:["numberChange","onRemove"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.unitOptions.numberGroups.adults.count),o=vue.ref(t.unitOptions.numberGroups.children.count),s=vue.ref(t.unitOptions.numberGroups.infants.count),i=getLabelText("remove","Remove","guests_rooms"),l=vue.computed(()=>o.value+s.value),u=(d,f,v,p)=>{let h="";d.includes("children")&&(o.value=f,h="children"),d.includes("infants")&&(s.value=f,h="infants"),(d.includes("r1a")||d.includes("r2a")||d.includes("r3a")||d.includes("r4a")||d.includes("r5a"))&&(r.value=f,h="adults"),a("numberChange",v,h,p)},c=()=>{a("onRemove",s.value+o.value+r.value,s.value+o.value,t.unitOptions.id)};return(d,f)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[vue.createElementVNode("div",_hoisted_2$m,vue.toDisplayString(d.unitLabel),1),d.name!=="r1"?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,class:"vs-guest-selector-row__remove",onClick:vue.withModifiers(c,["prevent"]),variant:"subtle",icon:"vs-icon-control-dismiss","icon-size":"sm","icon-position":"left","icon-only":"",size:"sm"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(i)),1)]),_:1})):vue.createCommentVNode("",!0),d.unitOptions?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$g,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(d.unitOptions.numberGroups,(v,p)=>(vue.openBlock(),vue.createBlock(_sfc_main$D,{"adult-count":r.value,"children-count":o.value,count:v.count,disabled:!1,id:d.unitOptions.id,"infant-count":s.value,"input-type":v,key:`${d.name}_${p}`,"max-value":v.maxCount,"min-value":v.minCount,name:v.name,"row-label":v.unitLabel,"row-name":d.name,"unit-removed":d.unitRemoved,onChangeHandler:u},null,8,["adult-count","children-count","count","id","infant-count","input-type","max-value","min-value","name","row-label","row-name","unit-removed"]))),128)),vue.withDirectives(vue.createElementVNode("input",{type:"hidden",name:`${d.name}c`,"onUpdate:modelValue":f[0]||(f[0]=v=>l.value=v)},null,8,_hoisted_4$d),[[vue.vModelText,l.value]])])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,(v,p)=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",key:`${d.name}c${p}`,name:`${d.name}c${p}`,value:"10"},null,8,_hoisted_5$c))),128)),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.value,(v,p)=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",key:`${d.name}c${p}`,name:`${d.name}c${p+o.value}`,value:"1"},null,8,_hoisted_6$c))),128))]))}}),_hoisted_1$q={class:"form-group vs-guest-selector","data-test":"vs-guest-selector"},_hoisted_2$l={class:"vs-guest-selector__label"},_hoisted_3$f=["disabled"],_hoisted_4$c={class:"vs-guest-selector__button-row mb-075"},_hoisted_5$b={class:"d-flex justify-content-between"},_hoisted_6$b=["value","disabled"],_hoisted_7$9=["value","disabled"],adultDefaultCount=1,unitLimit=5,_sfc_main$B=vue.defineComponent({__name:"GuestSelector",props:{availability:{type:Boolean}},setup(e){const n=vue.getCurrentInstance(),t=getLabelText("add_room_label","Add a Room","guests_rooms"),a=getLabelText("save_changes","Save","guests_rooms"),r=vue.ref(2),o=getLabelText("guest","Guest","guests_rooms"),s=getLabelText("guests","Guests","guests_rooms"),i=vue.ref(!1),l=vue.ref(0),u=vue.ref([{id:`${n.uid}`,showRemoveBtn:!1,numberGroups:{adults:{minCount:1,maxCount:30,count:2,name:"r1a",unitLabel:getLabelText("adults","Adults","guests_rooms")},children:{minCount:0,maxCount:30,count:0,name:"r1children",unitLabel:getLabelText("children","Children","guests_rooms")},infants:{minCount:0,maxCount:30,count:0,name:"r1infants",unitLabel:getLabelText("infants","Infants","guests_rooms")}}}]),c=vue.ref(1),d=getLabelText("room","Room","guests_rooms"),f=getLabelText("rooms","Rooms","guests_rooms"),v=vue.ref(!1),p=vue.ref(!1),h=()=>{p.value=!1},m=()=>{p.value=!p.value},_=()=>{if(u.value.length<unitLimit){const S={id:`${n.uid}`,showRemoveBtn:!0,numberGroups:{adults:{minCount:1,maxCount:30,count:1,name:"r"+(u.value.length+1)+"a",unitLabel:getLabelText("adults","Adults","guests_rooms")},children:{minCount:0,maxCount:30,count:0,name:"r"+(u.value.length+1)+"children",unitLabel:getLabelText("children","Children","guests_rooms")},infants:{minCount:0,maxCount:30,count:0,name:"r"+(u.value.length+1)+"infants",unitLabel:getLabelText("infants","Infants","guests_rooms")}}};let k=u.value.slice();k.push(S),u.value=k,c.value=k.length,i.value=!0,r.value=r.value+adultDefaultCount}},g=(S,k,V)=>{const N=u.value.findIndex($=>$.id===V);u.value.splice(N,1),c.value=u.value.length,v.value=!0,r.value=r.value-S,l.value=l.value-k,u.value.length===1&&(i.value=!1)},b=(S,k,V)=>{r.value=S==="increase"?r.value+1:r.value-1,k!=="adults"&&(l.value=S==="increase"?l.value+1:l.value-1);const N=u.value.findIndex($=>$.id===V);u.value[N].numberGroups[k].count=S==="increase"?u.value[N].numberGroups[k].count+1:u.value[N].numberGroups[k].count-1};return(S,k)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createElementVNode("span",_hoisted_2$l,vue.toDisplayString(vue.unref(s)),1),vue.createElementVNode("button",{tabIndex:"availability ? '0' : ''",class:"vs-guest-selector__trigger form-control vs-input",onClick:vue.withModifiers(m,["prevent"]),disabled:!S.availability},[vue.createElementVNode("span",null,vue.toDisplayString(c.value)+" ",1),vue.createElementVNode("span",null,vue.toDisplayString(c.value>1?vue.unref(f):vue.unref(d)),1),k[0]||(k[0]=vue.createTextVNode(",  ")),vue.createElementVNode("span",null,vue.toDisplayString(r.value)+" ",1),vue.createElementVNode("span",null,vue.toDisplayString(r.value>1?vue.unref(s):vue.unref(o)),1)],8,_hoisted_3$f),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-guest-selector__modal",p.value?"vs-guest-selector__modal--visible":""])},[vue.createVNode(LoadingSpinner.VsButton,{class:"align-self-end","data-test":"vs-guest-selector__close-btn",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:vue.withModifiers(h,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("close","Close","guests_rooms")),1)]),_:1}),vue.createElementVNode("div",_hoisted_4$c,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,(V,N)=>(vue.openBlock(),vue.createBlock(_sfc_main$C,{key:V.id,name:"r"+(N+1),"show-remove-btn":i.value,"unit-label":vue.unref(getLabelText)("room","Room","guests_rooms")+" "+(N+1),"unit-options":V,"unit-removed":v.value,onNumberChange:b,onOnRemove:g},null,8,["name","show-remove-btn","unit-label","unit-options","unit-removed"]))),128))]),vue.createElementVNode("div",_hoisted_5$b,[u.value.length<unitLimit?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,variant:"secondary",class:"c-search__popup__btn-link me-050 align-self-start",onClick:vue.withModifiers(_,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(t)),1)]),_:1})):vue.createCommentVNode("",!0),u.value.length<unitLimit?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:1,class:"c-search__popup__btn-link c-search__popup__btn-link--pull-right align-self-end",onClick:vue.withModifiers(h,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(a)),1)]),_:1})):vue.createCommentVNode("",!0)])],2),u.value?(vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:"rooms",id:"room-count",value:c.value,disabled:!S.availability},null,8,_hoisted_6$b)):vue.createCommentVNode("",!0),u.value?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"guests",id:"guest-count",value:r.value,disabled:!S.availability},null,8,_hoisted_7$9)):vue.createCommentVNode("",!0)]))}}),_hoisted_1$p={class:"vs-date-input","data-test":"vs-date-input"},_hoisted_2$k=["for"],_hoisted_3$e=["min","name","id"],_sfc_main$A=vue.defineComponent({__name:"DateInput",props:{label:{},id:{},name:{},value:{},minDate:{}},emits:["changeDate"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.value),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$p,[vue.createElementVNode("label",{for:s.id},vue.toDisplayString(s.label),9,_hoisted_2$k),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$o={class:"vs-date-range","data-test":"vs-date-range"},_hoisted_2$j={class:"row align-items-center"},_hoisted_3$d={class:"col-12 col-sm-5 order-1"},_hoisted_4$b={class:"col-12 col-sm-5 order-2"},_hoisted_5$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$8=["value"],_sfc_main$z=vue.defineComponent({__name:"DateRange",props:{startLabel:{type:String,required:!1,default:"Start Date"},endLabel:{type:String,required:!1,default:"End Date"},defaultDates:{type:Boolean,default:!1},selectedProd:{type:String,required:!0}},emits:["dateUpdated"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(""),o=vue.ref(""),s=vue.computed(()=>!!r.value||!!o.value),i=vue.computed(()=>{const g=new Date(o.value),b=new Date(r.value),S=g.getTime()-b.getTime();return isNaN(S)?1:S/(1e3*3600*24)});function l(){r.value="",o.value=""}const u=g=>{const b=g.toLocaleString("default",{year:"numeric"}),S=g.toLocaleString("default",{month:"2-digit"}),k=g.toLocaleString("default",{day:"2-digit"});return`${b}-${S}-${k}`},c=vue.computed(()=>r.value===""?u(new Date):""),d=vue.computed(()=>{let g;if(r.value!==""){const b=new Date(r.value);b.setDate(b.getDate()+1),g=u(b)}else if(t.defaultDates){const b=new Date,S=new Date(b);S.setDate(S.getDate()+1),g=u(S)}return g}),f=vue.computed(()=>{let g;if(r.value===""){const b=new Date,S=new Date(b);S.setDate(S.getDate()+1),g=u(S)}else{const b=new Date,S=new Date(r.value);b.setDate(S.getDate()+1),g=u(b)}return g});function v(){const g=new Date(r.value);new Date(o.value)<=g&&(o.value="")}function p(){const g=!(!r.value&&!o.value);a("dateUpdated",g)}function h(){p(),v()}const m=vue.computed(()=>t.selectedProd==="acco"?"stay":"isostartdate"),_=vue.computed(()=>t.selectedProd==="acco"?"endDate":"isoenddate");return(g,b)=>(vue.openBlock(),vue.createElementBlock("fieldset",_hoisted_1$o,[vue.createElementVNode("div",_hoisted_2$j,[vue.createElementVNode("div",_hoisted_3$d,[vue.createVNode(_sfc_main$A,{label:e.startLabel,value:e.defaultDates&&r.value===""&&o.value?c.value:r.value,name:m.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$A,{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$8)])])]))}}),_hoisted_1$n={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},_hoisted_2$i={key:0,class:"container"},_hoisted_3$c={class:"row"},_hoisted_4$a={class:"col-12"},_hoisted_5$9=["action"],_hoisted_6$9={class:"form-group product-search__type mb-100"},_hoisted_7$7={for:"prodtypes"},_hoisted_8$5={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:2},_hoisted_18=["value"],_hoisted_19={key:0},_hoisted_20=["value"],__default__$1=vue.defineComponent({mixins:[LoadingSpinner.dataLayerMixin],methods:{trackSubmit(e,n){this.createDataLayerObject("productSearchDataEvent",{searchType:e,searchLocation:n.name},this.href)}}}),_sfc_main$y=vue.defineComponent({...__default__$1,__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 C=typeof a.value>"u"?"see-do":a.value;return`/info/${LoadingSpinner.paths[C]}`});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 C=n.defaultLocale.length>0?n.defaultLocale:getLocale();return C==="en"&&(C=""),C}),f=vue.computed(()=>{if(typeof window<"u"){let C=window.location.origin;return C.includes("localhost")?"https://www.visitscotland.com":C}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}`,m=vue.ref([]),_="https://www.visitscotland.com/tms-api/v1/attractions",g=vue.ref([]),b="https://www.visitscotland.com/tms-api/v1/origins?active=1",S=vue.ref([]),k=vue.ref([]),V=()=>{const C=getProductTypes(),B=[];C.forEach(T=>{B.push(T)}),k.value=B},N=vue.computed(()=>t.value?[]:k.value.map(B=>({...B,text:getProductName(B.value,B.text)}))),$=async()=>{const C=await getData(h);C&&(m.value=C.data)},D=async()=>{const C=await getData(b);C&&(S.value=C.data)},P=async()=>{const C=await getData(_);C&&(g.value=C.data)},O=(C,B)=>{B==="key"?o.value=m.value.find(T=>T.key===C):B==="id"?o.value=m.value.find(T=>T.id===C):o.value=m.value.find(T=>T.name===C.trim())},R=C=>{const B=C.value;a.value=B,B==="tour"&&(D(),P())},M=()=>c[n.defaultLocale]||"",j=()=>{t.value=!0,vue.nextTick(()=>{t.value=!1,n.defaultLocation!==""&&u&&O(n.defaultLocation,"id")})},ee=vue.computed(()=>a.value!=="cate"&&a.value!=="acti,attr,reta"?"d-lg-flex":"");vue.onBeforeMount(async()=>{window.VS={};const C=document.createElement("script");C.async=!1,C.onload=j,C.setAttribute("src",`https://www.visitscotland.com/${M().localeUrl}/data/template/search.js`),document.head.appendChild(C)}),vue.onMounted(async()=>{$(),u.value=!0,a.value=n.defaultProd,a.value==="tour"&&(D(),P()),V()});const Z=C=>{s.value=C?"on":"off"},G=C=>{i.value=!0;const B=C.currentTarget;setTimeout(function(){B.submit()},500)};return(C,B)=>{var T,q,Q,w,L,E;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[t.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$i,[vue.createElementVNode("div",_hoisted_3$c,[vue.createElementVNode("div",_hoisted_4$a,[vue.unref(u)?(vue.openBlock(),vue.createElementBlock("form",{key:0,action:v.value,onSubmit:vue.withModifiers(G,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[vue.createElementVNode("div",_hoisted_6$9,[vue.createElementVNode("label",_hoisted_7$7,vue.toDisplayString(vue.unref(getLabelText)("search_for","I'm looking for")),1),vue.createElementVNode("div",{class:vue.normalizeClass(ee.value)},[vue.createVNode(VsSelect,{options:N.value,value:e.defaultProd,onUpdated:B[0]||(B[0]=F=>R(F)),"field-name":"prodtypes"},null,8,["options","value"]),vue.createElementVNode("div",_hoisted_8$5,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$E,{key:0,id:"search-location",label:vue.unref(getLabelText)("location","Location"),"multiselect-label":"name",name:"loc",options:m.value,placeholder:vue.unref(getLabelText)("location_placeholder","Enter a location"),"track-by":"name",onChangeValue:B[1]||(B[1]=F=>O(F)),"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:((q=vue.unref(o))==null?void 0:q.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:((L=vue.unref(o))==null?void 0:L.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"||a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[vue.createVNode(_sfc_main$z,{"start-label":vue.unref(getLabelText)("startdate","Start Date","dates"),"end-label":vue.unref(getLabelText)("enddate","End Date","dates"),onDateUpdated:B[2]||(B[2]=F=>Z(F)),"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),a.value==="acco"?(vue.openBlock(),vue.createBlock(_sfc_main$B,{key:1,availability:!0,id:"guest-selector"})):vue.createCommentVNode("",!0),a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$1,[vue.createElementVNode("input",{hidden:"true",name:"avail",value:s.value},null,8,_hoisted_18)])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),a.value==="tour"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19,[vue.createVNode(_sfc_main$E,{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,F=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",name:"attractions[]",value:F},null,8,_hoisted_20))),256)),vue.createVNode(_sfc_main$E,{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:B[3]||(B[3]=F=>C.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$x={name:"VsProductSearch",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsProductSearchEmbed:_sfc_main$y,VsHeading:LoadingSpinner.VsHeading,VsWarning:LoadingSpinner.VsWarning},props:{noJsMessage:{type:String,required:!0},defaultLocation:{type:String,default:""},defaultProd:{type:String,default:"acti,attr,reta"},defaultLocale:{type:String,default:"en"}}},_hoisted_1$m={class:"vs-product-search","data-test":"vs-product-search"},_hoisted_2$h={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$m,[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$h,[vue.renderSlot(e.$slots,"vs-module-intro")])]),_:3}),vue.createVNode(i,{class:"vs-product-search__col vs-product-search__col--right",xl:"5"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-product-search__widget","default-location":t.defaultLocation,"default-locale":t.defaultLocale,"default-prod":t.defaultProd},null,8,["default-location","default-locale","default-prod"]),vue.createVNode(u,{class:"vs-product-search__no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})]),_:1})]),_:3})]),_:3})])}const ProductSearch=LoadingSpinner._export_sfc(_sfc_main$x,[["render",_sfc_render$o]]),_sfc_main$w={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$l={key:0,class:"vs-quote__speech-container"},_hoisted_2$g={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$l,n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-quote__speech-mark"},"“",-1)]))),o.hasAuthorImage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[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$w,[["render",_sfc_render$n]]),_sfc_main$v={name:"VsSectionHeader",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol},props:{anchorId:{type:String,default:null},heading:{type:String,required:!0}}},_hoisted_1$k={class:"vs-section-header","data-test":"vs-section-header"},_hoisted_2$f={key:1,class:"mt-175","data-test":"vs-section-header__actions"};function _sfc_render$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$k,[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$f,[vue.renderSlot(e.$slots,"section-header-actions")])):vue.createCommentVNode("",!0)]),_:3})]),_:3})]),_:3})])}const SectionHeader=LoadingSpinner._export_sfc(_sfc_main$v,[["render",_sfc_render$m]]),_sfc_main$u={name:"VsTable",status:"prototype",release:"0.0.1",components:{BTableSimple:LoadingSpinner.ol},props:{tableCaption:{type:String,required:!0},tableType:{type:String,default:"responsive",validator:e=>e.match(/(responsive|stacked)/)}},computed:{responsive(){return this.tableType==="responsive"},stacked(){return this.tableType==="stacked"}}},_hoisted_1$j={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$j,vue.toDisplayString(t.tableCaption),1),vue.renderSlot(e.$slots,"default")]),_:3},8,["responsive","stacked"])}const VsTable=LoadingSpinner._export_sfc(_sfc_main$u,[["render",_sfc_render$l]]),_sfc_main$t={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$t,[["render",_sfc_render$k]]),_sfc_main$s={name:"VsTableHeaderCell",status:"prototype",release:"0.0.1",components:{BTh:LoadingSpinner.Ea},props:{stackedHeading:{type:String,default:void 0}}};function _sfc_render$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$s,[["render",_sfc_render$j]]),_sfc_main$r={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$r,[["render",_sfc_render$i]]),_sfc_main$q={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$q,[["render",_sfc_render$h]]),_sfc_main$p={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$p,[["render",_sfc_render$g]]),_sfc_main$o={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$o,[["render",_sfc_render$f]]),_sfc_main$n={name:"VsSkiScotlandCard",status:"prototype",release:"0.0.1",components:{VsImg:LoadingSpinner.VsImg,VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,VsWarning:LoadingSpinner.VsWarning,VsLoadingSpinner:LoadingSpinner.VsLoading,VsButton:LoadingSpinner.VsButton,VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter},props:{centreInfoUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},lastUpdatedLabel:{type:String,default:"Last Updated"},liftsLabel:{type:String,default:"Lifts"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},imgSrc:{required:!0,type:String},imgAlt:{type:String,default:""},pisteMapLabel:{type:String,default:"View Piste Map"},moreDetailsLabel:{type:String,default:"More Details"},pisteMapLink:{type:String,default:""},moreDetailsLink:{type:String,required:!0,default:"#"}},data(){return{statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},runs:[],lifts:[],lastUpdate:"",jsDisabled:!0,isLoading:!0,displayError:!1}},mounted(){this.centreInfoUrl&&this.retrieveCentreInfo(),this.jsDisabled=!1},methods:{retrieveCentreInfo(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.centreInfoUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,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$i={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},_hoisted_2$e={class:"vs-ski-scotland-card__img-container"},_hoisted_3$a={class:"card-body"},_hoisted_4$8={key:0,class:"text-center pb-200 position-relative"},_hoisted_5$7={"data-test":"vs-ski__status-label"},_hoisted_6$7={"data-test":"vs-ski__runs-label"},_hoisted_7$6={"data-test":"vs-ski__lifts-label"},_hoisted_8$4={"data-test":"vs-ski__open-label"},_hoisted_9$3={"data-test":"vs-ski__limited-patrol-label"},_hoisted_10$3={"data-test":"vs-ski__opening-label"},_hoisted_11$2={"data-test":"vs-ski__closed-label"},_hoisted_12$1={"data-test":"vs-ski__on-hold-label"},_hoisted_13$1={"data-test":"vs-ski__last-updated-label"};function _sfc_render$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"),m=vue.resolveComponent("VsTableFooter"),_=vue.resolveComponent("VsTable"),g=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[vue.createElementVNode("div",_hoisted_2$e,[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$6,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$4,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(m,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(g,{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(g,{href:t.moreDetailsLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.moreDetailsLabel),1)]),_:1},8,["href"])])])}const SkiScotlandCard=LoadingSpinner._export_sfc(_sfc_main$n,[["render",_sfc_render$e]]),_sfc_main$m={name:"VsSkiScotlandStatus",status:"prototype",release:"0.0.1",components:{VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsAccordion,VsAccordionItem,VsIcon:LoadingSpinner.VsIcon,VsLink,VsHeading:LoadingSpinner.VsHeading,VsLoadingSpinner:LoadingSpinner.VsLoading,VsWarning:LoadingSpinner.VsWarning},props:{skiStatusUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},currentWeatherLabel:{type:String,default:"Current Weather"},detailedStatusLabel:{type:String,default:"Detailed Status"},difficultLabel:{type:String,default:"Difficult"},easyLabel:{type:String,default:"Easy"},intermediateLabel:{type:String,default:"Intermediate"},itinerariesLabel:{type:String,default:"Itineraries"},lastUpdatedLabel:{type:String,default:"Last Updated"},liftLabel:{type:String,default:"Lift"},liftsLabel:{type:String,default:"Lifts"},liftStatusLabel:{type:String,default:"Lift Status"},newsLabel:{type:String,default:"News From The Slopes"},otherLabel:{type:String,default:"Other"},roadsLabel:{type:String,default:"Road Status"},runLabel:{type:String,default:"Run"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},runStatusLabel:{type:String,default:"Run Status"},snowConditionsLabel:{type:String,default:"Snow Conditions Full Report"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},statusClosedLabel:{type:String,default:"Closed"},statusOpenLabel:{type:String,default:"Open"},statusOpeningLabel:{type:String,default:"Opening"},statusLimitedPatrolLabel:{type:String,default:"Limited Patrol"},statusOnHoldLabel:{type:String,default:"On Hold"},veryDifficultLabel:{type:String,default:"Very Difficult"},weatherForecastLabel:{type:String,default:"Weather Forecast"},greenLabel:{type:String,default:"Green"},blueLabel:{type:String,default:"Blue"},redLabel:{type:String,default:"Red"},blackLabel:{type:String,default:"Black"},orangeLabel:{type:String,default:"Orange"},greyLabel:{type:String,default:"Grey"}},data(){return{tokens:LoadingSpinner.designTokens,componentId:0,statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},lifts:[],runs:[],lastUpdate:"",report:"",currentWeather:"",weatherForecast:"",roadStatus:"",news:"",runLevels:[{colour:"green",colourToken:"",id:"easy",name:this.easyLabel,runs:[]},{colour:"blue",colourToken:"",id:"intermediate",name:this.intermediateLabel,runs:[]},{colour:"red",colourToken:"",id:"difficult",name:this.difficultLabel,runs:[]},{colour:"black",colourToken:"",id:"very-difficult",name:this.veryDifficultLabel,runs:[]},{colour:"orange",colourToken:"",id:"itineraries",name:this.itinerariesLabel,runs:[]},{colour:"grey",colourToken:"",id:"other",name:this.otherLabel,runs:[]}],jsDisabled:!0,isLoading:!0,displayError:!1,isCairngorms:!1}},computed:{filteredRunLevels(){return this.setColourToken().filter(n=>n.runs.length>0)}},mounted(){this.skiStatusUrl&&this.retrieveSkiStatus(),this.id=this._uid,this.jsDisabled=!1},methods:{retrieveSkiStatus(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.skiStatusUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.processFullReport(t.report),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,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$h={class:"vs-ski-scotland-status","data-test":"vs-ski-scotland-status"},_hoisted_2$d={"data-test":"vs-ski__status-label"},_hoisted_3$9={"data-test":"vs-ski__runs-label"},_hoisted_4$7={"data-test":"vs-ski__lifts-label"},_hoisted_5$6={"data-test":"vs-ski__open-label"},_hoisted_6$6={"data-test":"vs-ski__open-label"},_hoisted_7$5={"data-test":"vs-ski__opening-label"},_hoisted_8$3={"data-test":"vs-ski__closed-label"},_hoisted_9$2={"data-test":"vs-ski__open-label"},_hoisted_10$2={"data-test":"vs-ski__last-updated-label"},_hoisted_11$1=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14=["innerHTML"],_hoisted_15=["innerHTML"],_hoisted_16=["data-test"],_hoisted_17={class:"visually-hidden"};function _sfc_render$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"),m=vue.resolveComponent("VsTableRow"),_=vue.resolveComponent("VsTableBody"),g=vue.resolveComponent("VsTableFooter"),b=vue.resolveComponent("VsTable"),S=vue.resolveComponent("VsLink"),k=vue.resolveComponent("VsAccordionItem"),V=vue.resolveComponent("VsAccordion");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$h,[!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$d,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(m,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(m,{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(m,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$5,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(m,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$3,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(m,{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(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,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,N=>(vue.openBlock(),vue.createBlock(m,{key:N.name},{default:vue.withCtx(()=>[N.status==="0"||N.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),N.status==="1"||N.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),N.status==="2"||N.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),N.status==="3"||N.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),N.status==="4"||N.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(N.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,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,N=>(vue.openBlock(),vue.createElementBlock("div",{key:N.name},[vue.createVNode(V,null,{default:vue.withCtx(()=>[vue.createVNode(k,{variant:"subtle","control-id":`accordion_item_${N.name}`,"colour-badge":N.colourToken},{title:vue.withCtx(()=>[vue.createElementVNode("div",{"data-test":`vs-ski__${N.name}-label`,class:"d-inline-block"},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(o.getColourLabel(N.colour)),1),vue.createTextVNode(" "+vue.toDisplayString(N.name),1)],8,_hoisted_16)]),default:vue.withCtx(()=>[vue.createVNode(b,{"table-caption":`${N.colour} - ${N.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(N.runs,$=>(vue.openBlock(),vue.createBlock(m,{key:$.name,"data-test":`vs-ski__${N.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(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,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$m,[["render",_sfc_render$d]]),_sfc_main$l={name:"VsSkipTo",status:"prototype",release:"0.0.1",components:{VsLink},props:{skipToText:{type:String,required:!0},hasSearchLink:{type:Boolean,default:!0}},methods:{mainMenuFocus(){const e=document.getElementsByClassName("vs-mega-nav__menu__mobile")[0],n=document.getElementsByClassName("vs-mega-nav-dropdown")[0];if(!this.isUndefined(n)){let t=n.getElementsByClassName("btn")[0];e.offsetParent!==null?(e.querySelectorAll(".btn.dropdown-toggle")[0].click(),t=document.getElementsByClassName("vs-mega-nav-accordion-item--level-1")[0].querySelectorAll(".vs-button.vs-accordion-toggle")[0],setTimeout(()=>{t.focus()},200)):t.focus()}},footerFocus(){const e=document.getElementsByClassName("vs-footer")[0];if(!this.isUndefined(e)){const n=e.getElementsByClassName("vs-footer-accordion-item")[0],t=n.getElementsByClassName("vs-link")[0],a=n.getElementsByClassName("vs-accordion-toggle")[0];a.offsetParent!==null&&!this.isUndefined(a)&&a.click(),!this.isUndefined(e)&&!this.isUndefined(t)&&(e.scrollIntoView(!0),setTimeout(()=>{t.focus()},200))}},isUndefined(e){return typeof e>"u"}}},_hoisted_1$g=["aria-label"],_hoisted_2$c={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$c,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$g)}const SkipTo=LoadingSpinner._export_sfc(_sfc_main$l,[["render",_sfc_render$c]]),_sfc_main$k={name:"VsSocialCreditLink",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon:LoadingSpinner.VsIcon},props:{credit:{type:String,required:!0},socialPostUrl:{type:String,required:!0},source:{type:String,required:!0,validator:e=>e.match(/(instagram)/)}}},_hoisted_1$f={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$f,[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$k,[["render",_sfc_render$b]]),_sfc_main$j={name:"VsSocialShare",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsHeading:LoadingSpinner.VsHeading,VsModuleWrapper,BPopover:LoadingSpinner.Ka,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol},provide(){return{referringPageUrl:this.pageUrl,pageTitle:this.pageTitle,noJs:this.noJs}},props:{shareBtnText:{type:String,required:!0},sharePopoverTitle:{type:String,required:!0},pageUrl:{type:String,required:!0},pageTitle:{type:String,default:""},closeAltText:{type:String,required:!0},id:{type:String,required:!0},noJs:{type:Boolean,default:!1}},data(){return{copyLink:!1,renderPopover:!1}},mounted(){this.renderPopover=!0},methods:{onClose(e){this.$refs.popover.hide(e)},onShown(){this.focusFirst()},onHidden(){this.focusRef(this.$refs.shareButton)},onHide(e){this.copyLink&&(e.preventDefault(),this.focusFirst(),this.copyLink=!1)},onCopyLink(){this.copyLink=!0},focusRef(e){this.$nextTick(()=>{this.$nextTick(()=>{(e.$el||e).focus()})})},focusFirst(){this.$nextTick(()=>{this.$nextTick(()=>{this.$refs.popoverShareRow.$el.querySelector(".vs-social-share-item a ").focus()})})},tabFromClose(e){e.shiftKey||(e.preventDefault(),this.focusFirst())},tabBackFromHidden(e){e.shiftKey&&(e.preventDefault(),this.focusRef(this.$refs.closeButton))}}};function _sfc_render$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$j,[["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$i={name:"VsSocialShareItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsLink,VsIcon:LoadingSpinner.VsIcon},mixins:[LoadingSpinner.dataLayerMixin],inject:{referringPageUrl:{default:""},pageTitle:{default:""},noJs:{default:""}},props:{name:{type:String,required:!0,validator:e=>e.match(/(facebook|twitter|pinterest|link|email|whatsapp)/)},linkText:{type:String,required:!0},linkCopiedText:{type:String,default:""}},emits:["copyLinkClicked"],data(){return{show:!1}},computed:{iconColour(){var e;return((e=socialMediaData[this.name])==null?void 0:e.color)||"#200F2E"},iconName(){var e;return((e=socialMediaData[this.name])==null?void 0:e.icon)||"fa-solid fa-link"},shareUrl(){const e=socialMediaData[this.name];return(e==null?void 0:e.getUrl(this.referringPageUrl,this.encodedPageTitle))||"#"},encodedPageTitle(){return encodeURI(this.pageTitle)}},methods:{copyToClipboard(e){if(this.name==="link"){if(this.$emit("copyLinkClicked"),!navigator.clipboard)return;navigator.clipboard.writeText&&navigator.clipboard.writeText(this.referringPageUrl),this.show=!0,setTimeout(()=>{this.show=!1},2e3)}this.trackShareClick(e)},trackShareClick(e){this.createDataLayerObject("socialShareDataEvent",e,this.href)}}},_hoisted_1$e={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$e,vue.toDisplayString(r.show?t.linkCopiedText:t.linkText),1)]),_:1},8,["href","id"])]),_:1},8,["md"])}const SocialShareItem=LoadingSpinner._export_sfc(_sfc_main$i,[["render",_sfc_render$9]]),_sfc_main$h={name:"VsSpotlightSection",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsButton:LoadingSpinner.VsButton},props:{heading:{type:String,required:!0},description:{type:String,default:""},ctaLink:{type:String,required:!0},ctaText:{type:String,required:!0},imageSrc:{type:String,default:""},compact:{type:Boolean,default:!1}},computed:{spotlightSectionClasses(){return{"vs-spotlight-section":!0,"vs-spotlight-section--compact":this.compact,"vs-spotlight-section--standard":!this.compact,"vs-spotlight-section--no-image":!this.imageSrc}}}},_hoisted_1$d={class:"vs-spotlight-section__overlay"},_hoisted_2$b={class:"row w-100 m-0"},_hoisted_3$8={class:"col-12 col-sm-7 col-md-8 col-lg-7 col-xl-6 align-self-end p-0"},_hoisted_4$6={key:0,class:"col-12 col-sm-5 col-md-4 col-lg-5 col-xl-6 align-self-sm-end text-sm-end p-0"};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$d,[vue.createElementVNode("div",_hoisted_2$b,[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$h,[["render",_sfc_render$8]]),_hoisted_1$c={class:"vs-styled-list__list"},_hoisted_2$a={class:"vs-styled-list__source"},_sfc_main$g={__name:"StyledList",props:{source:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-styled-list",`vs-styled-list--${n.variant}`]),"data-test":"vs-styled-list"},[vue.createVNode(vue.unref(LoadingSpinner.VsContainer),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="icon"?"8":null},{default:vue.withCtx(()=>[vue.createElementVNode("ul",_hoisted_1$c,[vue.renderSlot(t.$slots,"default")])]),_:3},8,["md"])]),_:3}),t.$slots["list-source"]&&t.$slots["list-source"]()?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsRow),{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$a,[vue.renderSlot(t.$slots,"list-source")])]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2))}},_hoisted_1$b={class:"vs-styled-list__item","data-test":"vs-styled-list__item"},_sfc_main$f={__name:"StyledListItem",props:{heading:{type:String,required:!0},headingLevel:{type:Number,default:3,validator:e=>LoadingSpinner.lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},imageSrc:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)},anchorLink:{type:String,default:""}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("li",_hoisted_1$b,[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[n.variant==="image"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsCol),{key:0,cols:"12",md:"2"},{default:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{src:n.imageSrc},null,8,["src"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="image"?"10":"12"},{default:vue.withCtx(()=>[n.variant==="image-horizontal"?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsImg,{key:0,src:n.imageSrc},null,8,["src"])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsHeading,{level:n.headingLevel,"heading-style":"heading-xxs",id:e.anchorLink?e.anchorLink:""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.heading),1)]),_:1},8,["level","id"]),vue.createVNode(LoadingSpinner.VsBody,null,{default:vue.withCtx(()=>[vue.renderSlot(t.$slots,"default")]),_:3})]),_:3},8,["md"])]),_:3})]))}},_sfc_main$e={name:"VsSummaryBoxList",status:"prototype",release:"0.0.1"},_hoisted_1$a={class:"vs-summary-box","data-test":"vs-summary-box-list"},_hoisted_2$9={class:"vs-summary-box__list list-unstyled d-flex flex-wrap p-050 p-sm-075"};function _sfc_render$7(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[vue.createElementVNode("ul",_hoisted_2$9,[vue.renderSlot(e.$slots,"default")])])}const SummaryBoxList=LoadingSpinner._export_sfc(_sfc_main$e,[["render",_sfc_render$7]]),_sfc_main$d={name:"VsSummaryBoxListItem",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{text:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},iconLabel:{type:String,default:""}}},_hoisted_1$9={class:"vs-summary-box-item position-relative","data-test":"vs-summary-box-list-item"},_hoisted_2$8={key:0,class:"text-center vs-summary-box-item__label d-block position-absolute w-100","data-test":"vs-summary-box-list-item-label"},_hoisted_3$7={class:"vs-summary-box-item__label-inner"},_hoisted_4$5={key:1,class:"vs-summary-box-item__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-list-item-display"},_hoisted_5$5={key:2,class:"vs-summary-box-item__icon d-flex align-items-center position-absolute justify-content-center w-100","data-test":"vs-summary-box-list-item-icon-with-label"},_hoisted_6$5={class:"icon-wrapper text-end"},_hoisted_7$4={class:"text-wrapper d-block w-auto pt-100"};function _sfc_render$6(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$9,[t.label?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,[vue.createElementVNode("span",_hoisted_3$7,vue.toDisplayString(t.label),1)])):vue.createCommentVNode("",!0),t.text?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$5,[vue.createElementVNode("span",null,vue.toDisplayString(t.text),1)])):vue.createCommentVNode("",!0),t.icon?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$5,[vue.createElementVNode("div",_hoisted_6$5,[vue.createVNode(s,{icon:t.icon,size:"xl"},null,8,["icon"])]),vue.createElementVNode("div",_hoisted_7$4,[vue.createElementVNode("span",null,vue.toDisplayString(t.iconLabel),1)])])):vue.createCommentVNode("",!0)])}const SummaryBoxListItem=LoadingSpinner._export_sfc(_sfc_main$d,[["render",_sfc_render$6],["__scopeId","data-v-eab4f595"]]),_sfc_main$c={name:"VsSummaryBoxDistanceListItem",status:"prototype",release:"0.0.1",props:{miles:{type:String,default:""},kilometres:{type:String,default:""},distanceLabel:{type:String,default:"Distance"},milesLabel:{type:String,default:"miles"},kilometresLabel:{type:String,default:"km"},showMiles:{type:Boolean,default:!0}}},_hoisted_1$8={class:"vs-summary-box-distance position-relative","data-test":"vs-summary-box-distance-list-item"},_hoisted_2$7={key:0,class:"text-center vs-summary-box-distance__label d-block position-absolute w-100","data-test":"vs-summary-box-distance-list-item-label"},_hoisted_3$6={class:"vs-summary-box-distance__label-inner"},_hoisted_4$4={class:"vs-summary-box-distance__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-distance-display"},_hoisted_5$4={class:"vs-summary-box-distance__display-entry"},_hoisted_6$4={class:"vs-summary-box-distance__display-value"},_hoisted_7$3={class:"vs-summary-box-distance__display-label"},_hoisted_8$2={class:"vs-summary-box-distance__display-entry"},_hoisted_9$1={class:"vs-summary-box-distance__display-value"},_hoisted_10$1={class:"vs-summary-box-distance__display-label"};function _sfc_render$5(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$8,[t.distanceLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$7,[vue.createElementVNode("span",_hoisted_3$6,vue.toDisplayString(t.distanceLabel),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$4,[vue.createElementVNode("div",_hoisted_5$4,[vue.createElementVNode("span",_hoisted_6$4,vue.toDisplayString(t.miles),1),vue.createElementVNode("span",_hoisted_7$3,vue.toDisplayString(t.milesLabel),1)]),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-summary-box-distance__divider"},null,-1)),vue.createElementVNode("div",_hoisted_8$2,[vue.createElementVNode("span",_hoisted_9$1,vue.toDisplayString(t.kilometres),1),vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(t.kilometresLabel),1)])])])}const SummaryBoxDistanceListItem=LoadingSpinner._export_sfc(_sfc_main$c,[["render",_sfc_render$5],["__scopeId","data-v-f36a8377"]]),_sfc_main$b={name:"VsTabs",status:"prototype",release:"0.0.1",components:{BTabs:LoadingSpinner.vc},provide(){return{noContainer:vue.computed(()=>this.noContainer)}},props:{noContainer:{type:Boolean,default:!1}}};function _sfc_render$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$b,[["render",_sfc_render$4]]),_sfc_main$a={name:"VsTabItem",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,BTab:LoadingSpinner.dc},mixins:[LoadingSpinner.dataLayerMixin],inject:["noContainer"],props:{title:{type:String,required:!0}},methods:{trackClick(e){this.createDataLayerObject("tabClickEvent",e,null)}}};function _sfc_render$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$a,[["render",_sfc_render$3]]),_sfc_main$9={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$9,[["render",_sfc_render$2]]),_sfc_main$8={name:"VsTagManagerWrapper",status:"prototype",release:"0.0.1",mixins:[LoadingSpinner.dataLayerMixin],props:{payload:{type:Object,default:()=>{}}},mounted(){this.processPayload(this.payload),document.addEventListener("DOMContentLoaded",()=>{this.dataLayerStore.setTestRun(!0),this.dataLayerStore.setPageUrl(window.location.href)}),this.createDataLayerObject("pageViewTemplateDataEvent")},methods:{processPayload(e){e!==void 0&&Object.keys(e).forEach(n=>{const t=n.replace(/-/g,"_");this.dataLayerStore.processPayload({key:t,value:e[n]})})}}},_hoisted_1$7={"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$7)}const TagManagerWrapper=LoadingSpinner._export_sfc(_sfc_main$8,[["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(...m){if(!h.enabled)return;const _=h,g=Number(new Date),b=g-(d||g);_.diff=b,_.prev=d,_.curr=g,d=g,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let S=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(V,N)=>{if(V==="%%")return"%";S++;const $=t.formatters[N];if(typeof $=="function"){const D=m[S];V=$.call(_,D),m.splice(S,1),S--}return V}),t.formatArgs.call(_,m),(_.log||t.log).apply(_,m)}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:m=>{f=m}}),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 m="on"+h.slice(0,1).toUpperCase()+h.slice(1);p[m]=_=>{d('event "%s"',m,_),v.trigger(h,_)}}return p},f.promisifyPlayer=(v,p=!1)=>{const h={};for(const m of u.default)p&&o.default[m]?h[m]=(..._)=>v.then(g=>{const b=o.default[m],S=g.getPlayerState(),k=g[m].apply(g,_);return b.stateChangeRequired||Array.isArray(b.acceptableStates)&&!b.acceptableStates.includes(S)?new Promise(V=>{const N=()=>{const $=g.getPlayerState();let D;typeof b.timeout=="number"&&(D=setTimeout(()=>{g.removeEventListener("onStateChange",N),V()},b.timeout)),Array.isArray(b.acceptableStates)&&b.acceptableStates.includes($)&&(g.removeEventListener("onStateChange",N),clearTimeout(D),V())};g.addEventListener("onStateChange",N)}).then(()=>k):k}):h[m]=(..._)=>v.then(g=>g[m].apply(g,_));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(m=>{typeof c=="object"&&c.playVideo instanceof Function?m(c):u.then(_=>{const g=new _.Player(c,d);return v.on("ready",()=>{m(g)}),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$7={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$6={key:0,class:"vs-video","data-test":"vs-video"},_hoisted_2$6={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$6,[vue.createElementVNode("div",_hoisted_2$6,[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$7,[["render",_sfc_render]]),__default__={name:"VsDivider"},_sfc_main$6=Object.assign(__default__,{props:{variant:{type:String,required:!1,validator:e=>e.match(/(primary|secondary|inverse)/),default:"primary"}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("hr",{class:vue.normalizeClass(["vs-divider",n.variant?`vs-divider--variant-${n.variant}`:null]),"data-test":"vs-divider"},null,2))}});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){const{apiKey:o,customerId:s,engineId:i}=n,l=`https://api-eu1.cludo.com/api/v3/${s}/${i}/search`,u=`${s}:${o}`,c=useFederatedSearchStore();if(c.eventsApiError=!1,c.cludoError=!1,!n)return c.cludoError=!0,c.isLoading=!1,{results:[],totalResults:0};if(r==="events")return{results:[],totalResults:0};try{const d=await fetch(l,{method:"POST",body:JSON.stringify({query:e||"*",operator:"or",responseType:"JsonObject",perPage:r?12:6,page:t,facets:{Category:r?[r]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(u)}`}});if(!d.ok)throw c.cludoError=!0,c.isLoading=!1,new Error(`Cludo response message: ${d.status}`);const f=await d.json();return{results:cleanData$1(f),totalResults:f.TotalDocument}}catch{return c.cludoError=!0,c.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){const u=useFederatedSearchStore();if(u.eventsApiError=!1,u.cludoError=!1,a==="events"||!a){let c=`${e}?query=${n}&lang=${l}`;c=t>1?`${c}&page=${t}`:c,c=o!==""?`${c}&startDate=${o}`:c,c=s!==""?`${c}&endDate=${s}`:c,c=i?`${c}&sort=${i}`:c,c=a==="events"?`${c}&pageSize=12`:`${c}&pageSize=6`,r.forEach(d=>{c+=`&category=${d}`});try{const d=await fetch(c);if(!d.ok)throw u.isLoading=!1,u.eventsApiError=!0,new Error(`Events response message: ${d.status}`);const f=await d.json();return{results:cleanData(f),totalResults:f.totalResults}}catch{return u.isLoading=!1,u.eventsApiError=!0,{results:[],totalResults:0}}}else return{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),m=vue.ref(!1),_=vue.ref(""),g=vue.ref(""),b=vue.ref(void 0),S=vue.ref(void 0),k=vue.ref(void 0),V=vue.ref(-1),N=vue.ref("");async function $(O=!1){s.value=!0,O||(V.value+=1);const R=await cludoSearch(l.value,n.value,a.value,u.value,c.value),M=await eventSearch(r.value,l.value,a.value,c.value,f.value,_.value,g.value,b.value,k.value);i.value=[...R.results,...M.results],p.value=R.totalResults,h.value=M.totalResults,v.value=R.totalResults+M.totalResults,s.value=!1}async function D(){return cludoAutocomplete(l.value,n.value)}async function P(O,R){const M=new URL(window.location.href);if(R?N.value="Autosuggestion":N.value="User input",l.value?M.searchParams.set("search-term",l.value):M.searchParams.delete("search-term"),c.value?M.searchParams.set("category",encodeURIComponent(c.value)):M.searchParams.delete("category"),f.value.length>0?M.searchParams.set("sub-category",encodeURIComponent(f.value.join(","))):M.searchParams.delete("sub-category"),O?(a.value=1,M.searchParams.set("page",a.value.toString())):a.value&&a.value>1?M.searchParams.set("page",a.value.toString()):M.searchParams.delete("page"),_.value?M.searchParams.set("start-date",_.value):M.searchParams.delete("start-date"),g.value?M.searchParams.set("end-date",g.value):M.searchParams.delete("end-date"),b.value?M.searchParams.set("sort-by",b.value):M.searchParams.delete("sort-by"),!m.value)window.history.pushState({},"",M),await $();else{const j=`${S.value}/${M.search}`;window.location.href=j}}return{filters:e,currentPage:a,cludoCredentials:n,cludoError:t,eventsApi:r,eventsApiError:o,getAutoComplete:D,getSearchResults:$,isLoading:s,results:i,searchTerm:l,searchUrl:S,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:f,totalResults:v,totalResultsCludo:p,totalResultsEvents:h,navigateToResultsPage:P,isHomePage:m,startDate:_,endDate:g,sortBy:b,siteLanguage:k,searchInSessionCount:V,queryInput:N}}),_hoisted_1$5={class:"vs-fed-filter"},_hoisted_2$5={class:"vs-fed-filter__scroll-container"},_hoisted_3$4=["id"],_sfc_main$5={__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$5,[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$5,[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$4={class:"vs-fed-search-input"},_hoisted_2$4={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={class:"position-relative"},_hoisted_6$3={key:0,class:"vs-fed-search-input__autocomplete"},_hoisted_7$2=["onClick","onKeyup","innerHTML"],_sfc_main$4={__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(g){a.currentPage=1,a.searchTerm=g.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(g){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:g,query_input:a.queryInput})}function d(g){a.searchTerm=g,o.value=null,a.navigateToResultsPage(!1,!0),c(g)}function f(g){return g.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function v(g){return g.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function p(g){const b=(a.searchTerm||"").trim();if(!b)return v(g);const S=new RegExp(`(${f(b)})`,"gi");return v(g).replace(S,"<strong>$1</strong>")}function h(g){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:g.Label||g.Key})}async function m(g){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!==g.Label?g.Label:"",a.selectedCategoryKey=a.selectedCategoryKey!==g.Key?g.Key:"",await a.navigateToResultsPage(!0),h(g)}function _(g){if(!a.selectedSubCategoryKey.includes(g.Key))a.selectedSubCategory.push(g.Label),a.selectedSubCategoryKey.push(g.Key);else{const b=a.selectedSubCategoryKey.indexOf(g.Key);b>=0&&(a.selectedSubCategory.splice(b,1),a.selectedSubCategoryKey.splice(b,1))}a.navigateToResultsPage(!0),h(g)}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 g=window.location.search,b=new URLSearchParams(g);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(k=>a.selectedSubCategoryKey.push(k)),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("search-term")||b.has("category"))&&a.getSearchResults()}),vue.watch(r,g=>{var b,S;g||((b=s.value)==null||b.resetScroll(),(S=i.value)==null||S.resetScroll())}),(g,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("div",_hoisted_2$4,[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"])]),vue.createElementVNode("div",_hoisted_5$3,[o.value?(vue.openBlock(),vue.createElementBlock("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:k=>d(S),onKeyup:vue.withKeys(k=>d(S),["enter"]),tabindex:"0",innerHTML:p(S)},null,40,_hoisted_7$2))),128))]),_:1})])):vue.createCommentVNode("",!0)]),t.filters?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:0,"active-filter":vue.unref(a).selectedCategoryKey,"filter-categories":t.filters,ref_key:"categoryFilter",ref:s,wrap:!0,onFilterUpdated:m},null,8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0),vue.unref(a).selectedCategoryKey==="events"&&t.subFilters?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:1,"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$3={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$3={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$3={__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$3,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$3,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$2={class:"vs-federated-search","data-test":"vs-federated-search"},_hoisted_2$2={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$1={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8$1={class:"truncate-3-lines text-break"},_hoisted_9={class:"d-flex justify-content-end align-items-end mt-050"},_hoisted_10={key:0,class:"d-flex align-items-start flex-grow-1"},_hoisted_11={key:3,class:"vs-federated-search__warning mb-300"},fallbackImg="https://static.visitscotland.com/img/fallback-img.png",_sfc_main$2={__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)/)}},setup(e){const n=dataLayerComposable$1(),t=useFederatedSearchStore(),a=vue.ref({message:"",error:!1}),r=e,o=vue.ref(!1),s=vue.computed(()=>{let g;return t.selectedCategoryKey?t.selectedCategoryKey!=="events"?g=Math.ceil(t.totalResultsCludo/12):t.selectedCategoryKey==="events"&&(g=Math.ceil(t.totalResultsEvents/12)):g=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),g});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,i(),typeof window<"u"&&typeof document<"u"){window.onbeforeunload=()=>{_()};const g=new URLSearchParams(document.location.search),b=g.get("search-term"),S=parseInt(g.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(g){t.startDate=g,t.navigateToResultsPage(!0)}function u(g){t.endDate=g,t.navigateToResultsPage(!0)}function c(g){t.sortBy=g,t.navigateToResultsPage(!0)}function d(g){let b=!1;g>t.currentPage&&(b=!0),t.currentPage=g,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),m(b)}function f(g,b){return g===b?g:`${g} - ${b}`}function v(g){return g===null?"":g.match(/\b\d+\.\d\b/)?`£${g}0`:`£${g}`}function p(g){if(g.url)return g.url;if(g.placeUrl)return g.placeUrl;const b="https://www.datathistle.com/event/",S=encodeURIComponent(g.title.replaceAll(" ","-").toLowerCase());return`${b}${g.parentId}-${S}`}function h(g){o.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:g.title,click_url:p(g),click_category:g.categoryCard&&r.cardCategoryLabels[g.categoryCard]?r.cardCategoryLabels[g.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function m(g){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:g?"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()}),(g,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(_sfc_main$4,{"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$6,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(S,k)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:k,class:"mb-200"},[vue.renderSlot(g.$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$3,{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$1,[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:k=>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$1,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$G),{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,m)=>{var _;await(t=l.createElement("script")),v.set("libraries",[...f]+"");for(a in e)v.set(a.replace(/[A-Z]/g,g=>"_"+g[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=m(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,...m)=>f.add(h)&&p().then(()=>d[s](h,...m))},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$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={for:"vs-map-search-input",class:"visually-hidden"},_hoisted_5$1={key:1,class:"vs-map-sidebar__sub-filters-wrapper"},_hoisted_6$1={class:"vs-map-sidebar__search-results"},_hoisted_7={class:"vs-map-sidebar__google-maps-container mt-075"},_hoisted_8={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:""},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","aria-hidden":"true"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.headerLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{variant:"tertiary",icon:"vs-icon-control-dismiss","icon-only":"",class:"vs-map-sidebar__sidebar-control vs-map-siderbar__sidebar-control--dismiss","data-test":"vs-map-siderbar__sidebar-control--dismiss",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.createElementVNode("label",_hoisted_4$1,vue.toDisplayString(t.headerLabel),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-describedby":"vs-map-sidebar__heading",onKeyup:r[1]||(r[1]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["placeholder"]),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__search-button","data-test":"vs-map-sidebar__search-button",icon:"vs-icon-control-search","icon-only":"",rounded:!1,size:"lg",onClick: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.createBlock(VsLink,{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"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.clearMapLabel),1)]),_:1})):vue.createCommentVNode("",!0),a.$slots["vs-map-sidebar-sub-filters"]&&a.$slots["vs-map-sidebar-sub-filters"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$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_6$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_7,[vue.renderSlot(a.$slots,"vs-map-sidebar-search-results")])])]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8,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_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,class:"vs-map__filter-controls"},_hoisted_5={class:"vs-map__wrapper"},_hoisted_6={id:"vs-map","map-id":"vs-map",ref:"vsMap"},MAX_ZOOM=19,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"},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:()=>{}},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}},setup(e){const n=dataLayerComposable(),t=e;let a,r,o,s,i,l,u,c,d,f,v={},p;const h=vue.ref(),m=vue.ref(new Set),_=vue.ref(),g=vue.ref(new Set),b=vue.ref(new Set),S=vue.ref(),k=vue.ref(),V=vue.ref(t.zoom),N=vue.ref(),$=vue.ref(new Set),D=vue.ref(),P=useGoogleMapStore(),O=vue.ref(!1);let R;const M=vue.ref(void 0),j={north:61.865,south:54.62185,west:-8.651,east:.71};let ee={};const Z=t.categoryLabels;vue.onBeforeMount(()=>{const W=cookieCheckerComposable();W.requiredCookies.value=cookieValues$5.google_maps,R=vue.computed(()=>t.jsDisabled===!0?(M.value="noJS",!0):!W.cookiesAllowed.value&&W.cookiesLoaded.value===!0||!W.cookiesLoaded.value?(M.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(U=>{ee=U.data}).catch(()=>{}),R.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")}}r=document.getElementById("vs-map"),o=document.getElementById("nearbySearch"),s=document.getElementById("textSearch"),i=document.querySelector("gmp-place-text-search-request"),l=document.querySelector("gmp-place-nearby-search-request"),u=document.querySelector("gmp-place-details"),c=document.getElementById("placeRequest"),d=document.getElementById("vs-map-search-input");async function W(){try{const U={center:{lat:t.center.lat,lng:t.center.lng},renderingType:google.maps.RenderingType.VECTOR,zoom:t.zoom,isFractionalZoomEnabled:!0,mapId:t.mapId,restriction:{latLngBounds:j},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1};if(r)a=new google.maps.Map(r,U);else throw new Error("Init error, mapContainer undefined")}catch(U){console.error("Maps init error",U.message)}f=new google.maps.InfoWindow,f.addListener("closeclick",()=>{J("card_close",c.place)}),G(),a.addListener("zoom_changed",()=>{V.value=a.getZoom(),V.value<CATEGORY_VISIBLE_ZOOM?G():G(!0)}),a.addListener("idle",()=>{p=X()}),o.addEventListener("gmp-select",({place:U})=>{v[U.id]&&z(U,v[U.id])}),s.addEventListener("gmp-select",({place:U})=>{v[U.id]&&z(U,v[U.id])})}P.firstInteraction=!1,P.searchesCount=0,P.filterUsesCount=0,R.value===!1&&await W()});function G(W){const U={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},Y=["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"],te=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc"],ne=a.getFeatureLayer(google.maps.FeatureType.COUNTRY),oe=a.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);W?(ne.style=null,oe.style=null,oe.style=ae=>{if(te.includes(ae.feature.placeId))return U}):(ne.style=ae=>{if(Y.includes(ae.feature.placeId))return U},oe.style=ae=>{if(Y.includes(ae.feature.placeId))return U})}function C(W,U){F(),h.value=W,Object.values(ee[W].subCategory).forEach(Y=>g.value.add(Y.type)),_.value=ee[W],S.value=U,q(Array.from(g.value).flat()),N.value=Z[S.value].label,d.value=N.value}function B(W,U){const Y=vue.ref([]),te=vue.ref();return W.forEach(()=>{Z.forEach(ne=>{ne.id===h.value&&(Y.value=ne)}),Object.values(Y.value).forEach(ne=>{Object.values(ne).forEach(oe=>{U===oe.id&&(te.value=oe.label)})})}),te}function T(W,U){k.value=U,W==="self-catering"?(E(),m.value=new Set,m.value.add(W),N.value=B(m.value,W).value,F(),d.value=N.value,Q()):m.value.has(W)?(m.value.delete(W),Object.values(ee[h.value].subCategory).forEach(Y=>{Y.id===W&&Y.type.forEach(te=>b.value.delete(te))}),$.value.delete(B(m.value,W).value),m.value.size===0?($.value=new Set,C(h.value,S.value)):(q(Array.from(b.value).flat()),N.value=Array.from($.value).join(", "),d.value=N.value)):(m.value.add(W),Object.values(ee[h.value].subCategory).forEach(Y=>{Y.id===W&&Y.type.forEach(te=>b.value.add(te))}),q(Array.from(b.value).flat()),$.value.add(B(m.value,W).value),N.value=Array.from($.value).join(", "),d.value=N.value)}async function q(W){L(),E(),O.value=!1,P.filterUsesCount+=1,D.value="nearby";const U=a.getBounds(),Y=U.getNorthEast(),te=U.getSouthWest(),ne=google.maps.geometry.spherical.computeDistanceBetween(Y,te),oe=Math.min(ne/2,25e3);l.includedTypes=W,l.maxResultCount=NUMBER_OF_RESULTS,l.locationRestriction={center:a.getCenter(),radius:oe},o.style.display="block",o.addEventListener("gmp-load",()=>{w();let ae="main",I=h.value;m.value.size&&(ae="sub",I=Array.from(m.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:ae,search_map_location:a.getCenter().toString(),filter_selection:I,results_count:o.places.length,filter_usage_index:P.filterUsesCount}),H("map_filter")},{once:!0})}async function Q(){L(),F(),O.value=!1,P.searchesCount+=1,D.value="text",N.value=d.value.trim(),N.value&&(i.textQuery=N.value,i.locationRestriction=a.getBounds(),i.maxResultCount=NUMBER_OF_RESULTS,s.style.display="block",s.addEventListener("gmp-load",()=>{w(),n.createDataLayerObject("googleMapSearchEvent",{search_query:N.value,search_map_location:a.getCenter().toString(),search_results_count:s.places.length,search_usage_index:P.searchesCount}),H("map_search")},{once:!0}))}async function w(){const{AdvancedMarkerElement:W}=await importLibrary("marker"),{LatLngBounds:U}=await importLibrary("core"),Y=vue.ref();D.value==="nearby"?Y.value=o:D.value==="text"?Y.value=s:console.error("Unrecognised Search type"),Y.value.places.length===0?(O.value=!0,Y.value.style.display="none"):Y.value.style.display="block";const te=new U;Y.value.places&&Y.value.places.forEach(ne=>{const oe=document.createElement("div");oe.classList.add("vs-map-marker");const ae=document.createElement("i");ae.classList.add("fa-solid","fa-location-dot"),oe.appendChild(ae);const I=new W({map:a,position:ne.location,content:oe,title:"Map pin"});I.addEventListener("gmp-placeclick",()=>{z(ne,I)}),I.addListener("click",()=>{z(ne,I)}),I.metadata={id:ne.id},v[ne.id]=I,te.extend(ne.location),Y.value.places.length===1?(a.setCenter({lat:ne.location.lat(),lng:ne.location.lng()}),a.setZoom(14),a.fitBounds(ne.viewport)):(a.setCenter(te.getCenter()),a.fitBounds(te))})}function L(W){A(),D.value="",o.style.display="none",s.style.display="none",i.textQuery=null,f&&f.close&&f.close(),O.value=!1,W&&(E(),F(),J("clear_all"))}function E(){N.value=null,d.value=""}function F(){h.value=void 0,m.value=new Set,g.value=new Set,b.value=new Set,$.value=new Set,S.value=void 0,k.value=void 0}function A(){for(const W in v)v[W]&&(v[W].map=null);v={}}function z(W,U){f.isOpen&&(f.close(),J("card_close",c.place)),c.place=W,window.innerWidth<=768?(u.style.width="85vw",u.style.height="32em",P.sidebarOpen=!1):(u.style.width="20em",u.style.height="32em"),u.style.display="block",u.style.overflowY="auto",u.style.overflowX="hidden",u.style.boxSizing="border-box",u.style.maxHeight="32em",f.setOptions({content:u,maxWidth:"25em",pixelOffset:null}),f.open({anchor:U,map:a}),a.fitBounds(W.viewport,{top:200,right:150}),google.maps.event.addListenerOnce(a,"idle",()=>{a.getZoom()>MAX_ZOOM&&a.setZoom(MAX_ZOOM),J("card_open",W)})}async function J(W,U){let Y="",te="",ne="";U&&(await U.fetchFields({fields:["displayName","rating","websiteURI"]}),Y=U.displayName,te=U.rating,ne=U.websiteURI),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:W,search_query:d.value.trim(),map_location:a.getCenter().toString(),visible_attractions_count:p,card_attraction_name:Y,card_attraction_rating:te,card_attraction_url:ne,interaction_timestamp_ms:Date.now()}),H(W)}function H(W){if(!P.firstInteraction){const Y=Date.now()-P.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:Y,first_interaction_type:W}),P.firstInteraction=!0}}function X(){const W=a.getBounds();if(!W)return 0;let U=0;for(let Y=0;Y<Object.keys(v).length;Y++){const ne=v[Object.keys(v)[Y]].position;W.contains(ne)&&(U+=1)}return U}return(W,U)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(R)?"d-none":"d-block"])},[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{query:N.value,"selected-categories":h.value,"header-label":t.labels.heading,"close-sidebar-button-label":t.labels.closeSidebarBtn,"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:Q,onResetMap:U[0]||(U[0]=Y=>L(!0))},vue.createSlots({"vs-map-sidebar-search-results":vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>U[1]||(U[1]=[vue.createElementVNode("div",{id:"search-container"},[vue.createElementVNode("gmp-place-search",{id:"nearbySearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-nearby-search-request",{id:"nearbySearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])]),vue.createElementVNode("gmp-place-search",{id:"textSearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-text-search-request",{id:"textSearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])),_:1,__:[1]})),O.value?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,id:"vs-map__no-results-alert",class:"mt-075 mb-150",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage),1)]),_:1})):vue.createCommentVNode("",!0)]),_:2},[h.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(Z)[S.value].subCategory,(Y,te)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:te,variant:m.value.has(Y.id)?"primary":"secondary",size:"sm",onClick:ne=>T(Y.id,te)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(Y.label),1)]),_:2},1032,["variant","onClick"]))),128))])]),key:"0"}:void 0]),1032,["query","selected-categories","header-label","close-sidebar-button-label","input-placeholder-label","search-button-label","clear-map-label","sub-filter-header-label","search-results-label","open-sidebar-button-label"]),V.value>=CATEGORY_VISIBLE_ZOOM&&vue.unref(P).sidebarOpen?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Z),(Y,te)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:te,class:"vs-map__filter-controls-button",icon:vue.unref(ee)[Y.id].icon,variant:h.value===Y.id?"primary":"secondary",onClick:vue.withModifiers(ne=>C(Y.id,te),["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(Y.label),1)]),_:2},1032,["icon","variant","onClick"]))),128))])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_5,[vue.createElementVNode("div",_hoisted_6,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>U[2]||(U[2]=[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,__:[2]}))])],2),vue.unref(R)&&M.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(R)?"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.unref(R)&&M.value==="noJS"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:1,"data-test":"vs-map__warning--no-js",class:"vs-map__warning vs-map__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noJsMessage),1)]),_:1})):vue.createCommentVNode("",!0)]))}};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$2l;exports.VsBadge=VsBadge;exports.VsBanner=Banner;exports.VsBreadcrumb=Breadcrumb;exports.VsBreadcrumbItem=BreadcrumbItem;exports.VsCannedSearch=CannedSearch;exports.VsCaption=VsCaption;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$2;exports.VsFederatedSearchInput=_sfc_main$4;exports.VsFilter=_sfc_main$1B;exports.VsFilterSection=_sfc_main$1A;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.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.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.VsNumberInput=VsNumberInput;exports.VsPageIntro=PageIntro;exports.VsPagination=_sfc_main$G;exports.VsPanel=Panel;exports.VsProductSearch=ProductSearch;exports.VsProgressBar=VsProgressBar;exports.VsQuote=Quote;exports.VsRadioButton=VsRadioButton;exports.VsRecaptcha=VsRecaptcha;exports.VsSectionHeader=SectionHeader;exports.VsSelect=VsSelect;exports.VsSiteSearch=VsSiteSearch;exports.VsSiteSearchForm=VsSiteSearchForm;exports.VsSkiScotlandCard=SkiScotlandCard;exports.VsSkiScotlandStatus=SkiScotlandStatus;exports.VsSkipTo=SkipTo;exports.VsSocialCreditLink=SocialCreditLink;exports.VsSocialShare=SocialShare;exports.VsSocialShareItem=SocialShareItem;exports.VsSpotlightSection=SpotlightSection;exports.VsStretchedLinkCard=VsStretchedLinkCard;exports.VsStretchedLinkPanel=VsStretchedLinkPanels;exports.VsStyledList=_sfc_main$g;exports.VsStyledListItem=_sfc_main$f;exports.VsSummaryBoxDistanceListItem=SummaryBoxDistanceListItem;exports.VsSummaryBoxList=SummaryBoxList;exports.VsSummaryBoxListItem=SummaryBoxListItem;exports.VsSvg=VsSvg;exports.VsSvgLink=VsSvgLink;exports.VsTabItem=TabItem;exports.VsTable=VsTable;exports.VsTableBody=VsTableBody;exports.VsTableDataCell=VsTableDataCell;exports.VsTableFooter=VsTableFooter;exports.VsTableHead=VsTableHead;exports.VsTableHeaderCell=VsTableHeaderCell;exports.VsTableRow=VsTableRow;exports.VsTabs=Tabs;exports.VsTag=Tag;exports.VsTagManagerWrapper=TagManagerWrapper;exports.VsTextarea=VsTextarea;exports.VsToggleButton=VsToggleButton;exports.VsTooltip=VsTooltip;exports.VsTourismInfo=TourismInfo;exports.VsVideo=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(...m){if(!h.enabled)return;const _=h,g=Number(new Date),b=g-(d||g);_.diff=b,_.prev=d,_.curr=g,d=g,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let S=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(V,N)=>{if(V==="%%")return"%";S++;const $=t.formatters[N];if(typeof $=="function"){const D=m[S];V=$.call(_,D),m.splice(S,1),S--}return V}),t.formatArgs.call(_,m),(_.log||t.log).apply(_,m)}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:m=>{f=m}}),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 m="on"+h.slice(0,1).toUpperCase()+h.slice(1);p[m]=_=>{d('event "%s"',m,_),v.trigger(h,_)}}return p},f.promisifyPlayer=(v,p=!1)=>{const h={};for(const m of u.default)p&&o.default[m]?h[m]=(..._)=>v.then(g=>{const b=o.default[m],S=g.getPlayerState(),k=g[m].apply(g,_);return b.stateChangeRequired||Array.isArray(b.acceptableStates)&&!b.acceptableStates.includes(S)?new Promise(V=>{const N=()=>{const $=g.getPlayerState();let D;typeof b.timeout=="number"&&(D=setTimeout(()=>{g.removeEventListener("onStateChange",N),V()},b.timeout)),Array.isArray(b.acceptableStates)&&b.acceptableStates.includes($)&&(g.removeEventListener("onStateChange",N),clearTimeout(D),V())};g.addEventListener("onStateChange",N)}).then(()=>k):k}):h[m]=(..._)=>v.then(g=>g[m].apply(g,_));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(m=>{typeof c=="object"&&c.playVideo instanceof Function?m(c):u.then(_=>{const g=new _.Player(c,d);return v.on("ready",()=>{m(g)}),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$7={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$6={key:0,class:"vs-video","data-test":"vs-video"},_hoisted_2$6={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$6,[vue.createElementVNode("div",_hoisted_2$6,[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$7,[["render",_sfc_render]]),__default__={name:"VsDivider"},_sfc_main$6=Object.assign(__default__,{props:{variant:{type:String,required:!1,validator:e=>e.match(/(primary|secondary|inverse)/),default:"primary"}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("hr",{class:vue.normalizeClass(["vs-divider",n.variant?`vs-divider--variant-${n.variant}`:null]),"data-test":"vs-divider"},null,2))}});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){const{apiKey:o,customerId:s,engineId:i}=n,l=`https://api-eu1.cludo.com/api/v3/${s}/${i}/search`,u=`${s}:${o}`,c=useFederatedSearchStore();if(c.eventsApiError=!1,c.cludoError=!1,!n)return c.cludoError=!0,c.isLoading=!1,{results:[],totalResults:0};if(r==="events")return{results:[],totalResults:0};try{const d=await fetch(l,{method:"POST",body:JSON.stringify({query:e||"*",operator:"or",responseType:"JsonObject",perPage:r?12:6,page:t,facets:{Category:r?[r]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(u)}`}});if(!d.ok)throw c.cludoError=!0,c.isLoading=!1,new Error(`Cludo response message: ${d.status}`);const f=await d.json();return{results:cleanData$1(f),totalResults:f.TotalDocument}}catch{return c.cludoError=!0,c.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){const u=useFederatedSearchStore();if(u.eventsApiError=!1,u.cludoError=!1,a==="events"||!a){let c=`${e}?query=${n}&lang=${l}`;c=t>1?`${c}&page=${t}`:c,c=o!==""?`${c}&startDate=${o}`:c,c=s!==""?`${c}&endDate=${s}`:c,c=i?`${c}&sort=${i}`:c,c=a==="events"?`${c}&pageSize=12`:`${c}&pageSize=6`,r.forEach(d=>{c+=`&category=${d}`});try{const d=await fetch(c);if(!d.ok)throw u.isLoading=!1,u.eventsApiError=!0,new Error(`Events response message: ${d.status}`);const f=await d.json();return{results:cleanData(f),totalResults:f.totalResults}}catch{return u.isLoading=!1,u.eventsApiError=!0,{results:[],totalResults:0}}}else return{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),m=vue.ref(!1),_=vue.ref(""),g=vue.ref(""),b=vue.ref(void 0),S=vue.ref(void 0),k=vue.ref(void 0),V=vue.ref(-1),N=vue.ref("");async function $(O=!1){s.value=!0,O||(V.value+=1);const R=await cludoSearch(l.value,n.value,a.value,u.value,c.value),M=await eventSearch(r.value,l.value,a.value,c.value,f.value,_.value,g.value,b.value,k.value);i.value=[...R.results,...M.results],p.value=R.totalResults,h.value=M.totalResults,v.value=R.totalResults+M.totalResults,s.value=!1}async function D(){return cludoAutocomplete(l.value,n.value)}async function P(O,R){const M=new URL(window.location.href);if(R?N.value="Autosuggestion":N.value="User input",l.value?M.searchParams.set("search-term",l.value):M.searchParams.delete("search-term"),c.value?M.searchParams.set("category",encodeURIComponent(c.value)):M.searchParams.delete("category"),f.value.length>0?M.searchParams.set("sub-category",encodeURIComponent(f.value.join(","))):M.searchParams.delete("sub-category"),O?(a.value=1,M.searchParams.set("page",a.value.toString())):a.value&&a.value>1?M.searchParams.set("page",a.value.toString()):M.searchParams.delete("page"),_.value?M.searchParams.set("start-date",_.value):M.searchParams.delete("start-date"),g.value?M.searchParams.set("end-date",g.value):M.searchParams.delete("end-date"),b.value?M.searchParams.set("sort-by",b.value):M.searchParams.delete("sort-by"),!m.value)window.history.pushState({},"",M),await $();else{const j=`${S.value}/${M.search}`;window.location.href=j}}return{filters:e,currentPage:a,cludoCredentials:n,cludoError:t,eventsApi:r,eventsApiError:o,getAutoComplete:D,getSearchResults:$,isLoading:s,results:i,searchTerm:l,searchUrl:S,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:f,totalResults:v,totalResultsCludo:p,totalResultsEvents:h,navigateToResultsPage:P,isHomePage:m,startDate:_,endDate:g,sortBy:b,siteLanguage:k,searchInSessionCount:V,queryInput:N}}),_hoisted_1$5={class:"vs-fed-filter"},_hoisted_2$5={class:"vs-fed-filter__scroll-container"},_hoisted_3$4=["id"],_sfc_main$5={__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$5,[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$5,[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$4={class:"vs-fed-search-input"},_hoisted_2$4={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={class:"position-relative"},_hoisted_6$3={key:0,class:"vs-fed-search-input__autocomplete"},_hoisted_7$2=["onClick","onKeyup","innerHTML"],_sfc_main$4={__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(g){a.currentPage=1,a.searchTerm=g.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(g){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:g,query_input:a.queryInput})}function d(g){a.searchTerm=g,o.value=null,a.navigateToResultsPage(!1,!0),c(g)}function f(g){return g.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function v(g){return g.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function p(g){const b=(a.searchTerm||"").trim();if(!b)return v(g);const S=new RegExp(`(${f(b)})`,"gi");return v(g).replace(S,"<strong>$1</strong>")}function h(g){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:g.Label||g.Key})}async function m(g){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!==g.Label?g.Label:"",a.selectedCategoryKey=a.selectedCategoryKey!==g.Key?g.Key:"",await a.navigateToResultsPage(!0),h(g)}function _(g){if(!a.selectedSubCategoryKey.includes(g.Key))a.selectedSubCategory.push(g.Label),a.selectedSubCategoryKey.push(g.Key);else{const b=a.selectedSubCategoryKey.indexOf(g.Key);b>=0&&(a.selectedSubCategory.splice(b,1),a.selectedSubCategoryKey.splice(b,1))}a.navigateToResultsPage(!0),h(g)}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 g=window.location.search,b=new URLSearchParams(g);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(k=>a.selectedSubCategoryKey.push(k)),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("search-term")||b.has("category"))&&a.getSearchResults()}),vue.watch(r,g=>{var b,S;g||((b=s.value)==null||b.resetScroll(),(S=i.value)==null||S.resetScroll())}),(g,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("div",_hoisted_2$4,[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"])]),vue.createElementVNode("div",_hoisted_5$3,[o.value?(vue.openBlock(),vue.createElementBlock("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:k=>d(S),onKeyup:vue.withKeys(k=>d(S),["enter"]),tabindex:"0",innerHTML:p(S)},null,40,_hoisted_7$2))),128))]),_:1})])):vue.createCommentVNode("",!0)]),t.filters?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:0,"active-filter":vue.unref(a).selectedCategoryKey,"filter-categories":t.filters,ref_key:"categoryFilter",ref:s,wrap:!0,onFilterUpdated:m},null,8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0),vue.unref(a).selectedCategoryKey==="events"&&t.subFilters?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:1,"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$3={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$3={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$3={__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$3,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$3,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$2={class:"vs-federated-search","data-test":"vs-federated-search"},_hoisted_2$2={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$1={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8$1={class:"truncate-3-lines text-break"},_hoisted_9={class:"d-flex justify-content-end align-items-end mt-050"},_hoisted_10={key:0,class:"d-flex align-items-start flex-grow-1"},_hoisted_11={key:3,class:"vs-federated-search__warning mb-300"},fallbackImg="https://static.visitscotland.com/img/fallback-img.png",_sfc_main$2={__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)/)}},setup(e){const n=dataLayerComposable$1(),t=useFederatedSearchStore(),a=vue.ref({message:"",error:!1}),r=e,o=vue.ref(!1),s=vue.computed(()=>{let g;return t.selectedCategoryKey?t.selectedCategoryKey!=="events"?g=Math.ceil(t.totalResultsCludo/12):t.selectedCategoryKey==="events"&&(g=Math.ceil(t.totalResultsEvents/12)):g=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),g});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,i(),typeof window<"u"&&typeof document<"u"){window.onbeforeunload=()=>{_()};const g=new URLSearchParams(document.location.search),b=g.get("search-term"),S=parseInt(g.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(g){t.startDate=g,t.navigateToResultsPage(!0)}function u(g){t.endDate=g,t.navigateToResultsPage(!0)}function c(g){t.sortBy=g,t.navigateToResultsPage(!0)}function d(g){let b=!1;g>t.currentPage&&(b=!0),t.currentPage=g,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),m(b)}function f(g,b){return g===b?g:`${g} - ${b}`}function v(g){return g===null?"":g.match(/\b\d+\.\d\b/)?`£${g}0`:`£${g}`}function p(g){if(g.url)return g.url;if(g.placeUrl)return g.placeUrl;const b="https://www.datathistle.com/event/",S=encodeURIComponent(g.title.replaceAll(" ","-").toLowerCase());return`${b}${g.parentId}-${S}`}function h(g){o.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:g.title,click_url:p(g),click_category:g.categoryCard&&r.cardCategoryLabels[g.categoryCard]?r.cardCategoryLabels[g.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function m(g){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:g?"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()}),(g,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(_sfc_main$4,{"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$6,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(S,k)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:k,class:"mb-200"},[vue.renderSlot(g.$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$3,{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$1,[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:k=>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$1,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$G),{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,m)=>{var _;await(t=l.createElement("script")),v.set("libraries",[...f]+"");for(a in e)v.set(a.replace(/[A-Z]/g,g=>"_"+g[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=m(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,...m)=>f.add(h)&&p().then(()=>d[s](h,...m))},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$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={for:"vs-map-search-input",class:"visually-hidden"},_hoisted_5$1={key:1,class:"vs-map-sidebar__sub-filters-wrapper"},_hoisted_6$1={class:"vs-map-sidebar__search-results"},_hoisted_7={class:"vs-map-sidebar__google-maps-container mt-075"},_hoisted_8={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:""},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","aria-hidden":"true"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.headerLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{variant:"tertiary",icon:"vs-icon-control-dismiss","icon-only":"",class:"vs-map-sidebar__sidebar-control vs-map-siderbar__sidebar-control--dismiss","data-test":"vs-map-siderbar__sidebar-control--dismiss",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.createElementVNode("label",_hoisted_4$1,vue.toDisplayString(t.headerLabel),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-describedby":"vs-map-sidebar__heading",onKeyup:r[1]||(r[1]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["placeholder"]),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__search-button","data-test":"vs-map-sidebar__search-button",icon:"vs-icon-control-search","icon-only":"",rounded:!1,size:"lg",onClick: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.createBlock(VsLink,{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"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.clearMapLabel),1)]),_:1})):vue.createCommentVNode("",!0),a.$slots["vs-map-sidebar-sub-filters"]&&a.$slots["vs-map-sidebar-sub-filters"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$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_6$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_7,[vue.renderSlot(a.$slots,"vs-map-sidebar-search-results")])])]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8,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_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,class:"vs-map__filter-controls"},_hoisted_5={class:"vs-map__wrapper"},_hoisted_6={id:"vs-map","map-id":"vs-map",ref:"vsMap"},MAX_ZOOM=19,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:()=>{}},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}},setup(e){const n=dataLayerComposable(),t=e;let a,r,o,s,i,l,u,c,d,f,v={},p;const h=vue.ref(),m=vue.ref(new Set),_=vue.ref(),g=vue.ref(new Set),b=vue.ref(new Set),S=vue.ref(),k=vue.ref(),V=vue.ref(t.zoom),N=vue.ref(),$=vue.ref(new Set),D=vue.ref(),P=useGoogleMapStore(),O=vue.ref(!1);let R;const M=vue.ref(void 0),j={north:61.865,south:54.62185,west:-8.651,east:.71};let ee={};const Z=t.categoryLabels;vue.onBeforeMount(()=>{const W=cookieCheckerComposable();W.requiredCookies.value=cookieValues$5.google_maps,R=vue.computed(()=>t.jsDisabled===!0?(M.value="noJS",!0):!W.cookiesAllowed.value&&W.cookiesLoaded.value===!0||!W.cookiesLoaded.value?(M.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(U=>{ee=U.data}).catch(()=>{}),R.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")}}r=document.getElementById("vs-map"),o=document.getElementById("nearbySearch"),s=document.getElementById("textSearch"),i=document.querySelector("gmp-place-text-search-request"),l=document.querySelector("gmp-place-nearby-search-request"),u=document.querySelector("gmp-place-details"),c=document.getElementById("placeRequest"),d=document.getElementById("vs-map-search-input");async function W(){try{const U={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:j},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1};if(r)a=new google.maps.Map(r,U);else throw new Error("Init error, mapContainer undefined")}catch(U){console.error("Maps init error",U.message)}f=new google.maps.InfoWindow,f.addListener("closeclick",()=>{J("card_close",c.place)}),G(),a.addListener("zoom_changed",()=>{V.value=a.getZoom(),V.value<CATEGORY_VISIBLE_ZOOM?G():G(!0)}),a.addListener("idle",()=>{p=X()}),o.addEventListener("gmp-select",({place:U})=>{v[U.id]&&z(U,v[U.id])}),s.addEventListener("gmp-select",({place:U})=>{v[U.id]&&z(U,v[U.id])})}P.firstInteraction=!1,P.searchesCount=0,P.filterUsesCount=0,R.value===!1&&await W()});function G(W){const U={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},Y=["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"],te=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc"],ne=a.getFeatureLayer(google.maps.FeatureType.COUNTRY),oe=a.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);W?(ne.style=null,oe.style=null,oe.style=ae=>{if(te.includes(ae.feature.placeId))return U}):(ne.style=ae=>{if(Y.includes(ae.feature.placeId))return U},oe.style=ae=>{if(Y.includes(ae.feature.placeId))return U})}function C(W,U){F(),h.value=W,Object.values(ee[W].subCategory).forEach(Y=>g.value.add(Y.type)),_.value=ee[W],S.value=U,q(Array.from(g.value).flat()),N.value=Z[S.value].label,d.value=N.value}function B(W,U){const Y=vue.ref([]),te=vue.ref();return W.forEach(()=>{Z.forEach(ne=>{ne.id===h.value&&(Y.value=ne)}),Object.values(Y.value).forEach(ne=>{Object.values(ne).forEach(oe=>{U===oe.id&&(te.value=oe.label)})})}),te}function T(W,U){k.value=U,W==="self-catering"?(E(),m.value=new Set,m.value.add(W),N.value=B(m.value,W).value,F(),d.value=N.value,Q()):m.value.has(W)?(m.value.delete(W),Object.values(ee[h.value].subCategory).forEach(Y=>{Y.id===W&&Y.type.forEach(te=>b.value.delete(te))}),$.value.delete(B(m.value,W).value),m.value.size===0?($.value=new Set,C(h.value,S.value)):(q(Array.from(b.value).flat()),N.value=Array.from($.value).join(", "),d.value=N.value)):(m.value.add(W),Object.values(ee[h.value].subCategory).forEach(Y=>{Y.id===W&&Y.type.forEach(te=>b.value.add(te))}),q(Array.from(b.value).flat()),$.value.add(B(m.value,W).value),N.value=Array.from($.value).join(", "),d.value=N.value)}async function q(W){L(),E(),O.value=!1,P.filterUsesCount+=1,D.value="nearby";const U=a.getBounds(),Y=U.getNorthEast(),te=U.getSouthWest(),ne=google.maps.geometry.spherical.computeDistanceBetween(Y,te),oe=Math.min(ne/2,25e3);l.includedTypes=W,l.maxResultCount=NUMBER_OF_RESULTS,l.locationRestriction={center:a.getCenter(),radius:oe},o.style.display="block",o.addEventListener("gmp-load",()=>{w();let ae="main",I=h.value;m.value.size&&(ae="sub",I=Array.from(m.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:ae,search_map_location:a.getCenter().toString(),filter_selection:I,results_count:o.places.length,filter_usage_index:P.filterUsesCount}),H("map_filter")},{once:!0})}async function Q(){L(),F(),O.value=!1,P.searchesCount+=1,D.value="text",N.value=d.value.trim(),N.value&&(i.textQuery=N.value,i.locationRestriction=a.getBounds(),i.maxResultCount=NUMBER_OF_RESULTS,s.style.display="block",s.addEventListener("gmp-load",()=>{w(),n.createDataLayerObject("googleMapSearchEvent",{search_query:N.value,search_map_location:a.getCenter().toString(),search_results_count:s.places.length,search_usage_index:P.searchesCount}),H("map_search")},{once:!0}))}async function w(){const{AdvancedMarkerElement:W}=await importLibrary("marker"),{LatLngBounds:U}=await importLibrary("core"),Y=vue.ref();D.value==="nearby"?Y.value=o:D.value==="text"?Y.value=s:console.error("Unrecognised Search type"),Y.value.places.length===0?(O.value=!0,Y.value.style.display="none"):Y.value.style.display="block";const te=new U;Y.value.places&&Y.value.places.forEach(ne=>{const oe=document.createElement("div");oe.classList.add("vs-map-marker");const ae=document.createElement("i");ae.classList.add("fa-solid","fa-location-dot"),oe.appendChild(ae);const I=new W({map:a,position:ne.location,content:oe,title:"Map pin"});I.addEventListener("gmp-placeclick",()=>{z(ne,I)}),I.addListener("click",()=>{z(ne,I)}),I.metadata={id:ne.id},v[ne.id]=I,te.extend(ne.location),Y.value.places.length===1?(a.setCenter({lat:ne.location.lat(),lng:ne.location.lng()}),a.setZoom(14),a.fitBounds(ne.viewport)):(a.setCenter(te.getCenter()),a.fitBounds(te))})}function L(W){A(),D.value="",o.style.display="none",s.style.display="none",i.textQuery=null,f&&f.close&&f.close(),O.value=!1,W&&(E(),F(),J("clear_all"))}function E(){N.value=null,d.value=""}function F(){h.value=void 0,m.value=new Set,g.value=new Set,b.value=new Set,$.value=new Set,S.value=void 0,k.value=void 0}function A(){for(const W in v)v[W]&&(v[W].map=null);v={}}function z(W,U){f.isOpen&&(f.close(),J("card_close",c.place)),c.place=W,window.innerWidth<=768?(u.style.width="85vw",u.style.height="32em",P.sidebarOpen=!1):(u.style.width="20em",u.style.height="32em"),u.style.display="block",u.style.overflowY="auto",u.style.overflowX="hidden",u.style.boxSizing="border-box",u.style.maxHeight="32em",f.setOptions({content:u,maxWidth:"25em",pixelOffset:null}),f.open({anchor:U,map:a}),a.fitBounds(W.viewport,{top:200,right:150}),google.maps.event.addListenerOnce(a,"idle",()=>{a.getZoom()>MAX_ZOOM&&a.setZoom(MAX_ZOOM),J("card_open",W)})}async function J(W,U){let Y="",te="",ne="";U&&(await U.fetchFields({fields:["displayName","rating","websiteURI"]}),Y=U.displayName,te=U.rating,ne=U.websiteURI),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:W,search_query:d.value.trim(),map_location:a.getCenter().toString(),visible_attractions_count:p,card_attraction_name:Y,card_attraction_rating:te,card_attraction_url:ne,interaction_timestamp_ms:Date.now()}),H(W)}function H(W){if(!P.firstInteraction){const Y=Date.now()-P.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:Y,first_interaction_type:W}),P.firstInteraction=!0}}function X(){const W=a.getBounds();if(!W)return 0;let U=0;for(let Y=0;Y<Object.keys(v).length;Y++){const ne=v[Object.keys(v)[Y]].position;W.contains(ne)&&(U+=1)}return U}return(W,U)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(R)?"d-none":"d-block"])},[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{query:N.value,"selected-categories":h.value,"header-label":t.labels.heading,"close-sidebar-button-label":t.labels.closeSidebarBtn,"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:Q,onResetMap:U[0]||(U[0]=Y=>L(!0))},vue.createSlots({"vs-map-sidebar-search-results":vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>U[1]||(U[1]=[vue.createElementVNode("div",{id:"search-container"},[vue.createElementVNode("gmp-place-search",{id:"nearbySearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-nearby-search-request",{id:"nearbySearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])]),vue.createElementVNode("gmp-place-search",{id:"textSearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-text-search-request",{id:"textSearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])),_:1,__:[1]})),O.value?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,id:"vs-map__no-results-alert",class:"mt-075 mb-150",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage),1)]),_:1})):vue.createCommentVNode("",!0)]),_:2},[h.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(Z)[S.value].subCategory,(Y,te)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:te,variant:m.value.has(Y.id)?"primary":"secondary",size:"sm",onClick:ne=>T(Y.id,te)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(Y.label),1)]),_:2},1032,["variant","onClick"]))),128))])]),key:"0"}:void 0]),1032,["query","selected-categories","header-label","close-sidebar-button-label","input-placeholder-label","search-button-label","clear-map-label","sub-filter-header-label","search-results-label","open-sidebar-button-label"]),V.value>=CATEGORY_VISIBLE_ZOOM&&vue.unref(P).sidebarOpen?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Z),(Y,te)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:te,class:"vs-map__filter-controls-button",icon:vue.unref(ee)[Y.id].icon,variant:h.value===Y.id?"primary":"secondary",onClick:vue.withModifiers(ne=>C(Y.id,te),["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(Y.label),1)]),_:2},1032,["icon","variant","onClick"]))),128))])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_5,[vue.createElementVNode("div",_hoisted_6,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>U[2]||(U[2]=[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,__:[2]}))])],2),vue.unref(R)&&M.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(R)?"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.unref(R)&&M.value==="noJS"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:1,"data-test":"vs-map__warning--no-js",class:"vs-map__warning vs-map__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noJsMessage),1)]),_:1})):vue.createCommentVNode("",!0)]))}};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$2l;exports.VsBadge=VsBadge;exports.VsBanner=Banner;exports.VsBreadcrumb=Breadcrumb;exports.VsBreadcrumbItem=BreadcrumbItem;exports.VsCannedSearch=CannedSearch;exports.VsCaption=VsCaption;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$2;exports.VsFederatedSearchInput=_sfc_main$4;exports.VsFilter=_sfc_main$1B;exports.VsFilterSection=_sfc_main$1A;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.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.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.VsNumberInput=VsNumberInput;exports.VsPageIntro=PageIntro;exports.VsPagination=_sfc_main$G;exports.VsPanel=Panel;exports.VsProductSearch=ProductSearch;exports.VsProgressBar=VsProgressBar;exports.VsQuote=Quote;exports.VsRadioButton=VsRadioButton;exports.VsRecaptcha=VsRecaptcha;exports.VsSectionHeader=SectionHeader;exports.VsSelect=VsSelect;exports.VsSiteSearch=VsSiteSearch;exports.VsSiteSearchForm=VsSiteSearchForm;exports.VsSkiScotlandCard=SkiScotlandCard;exports.VsSkiScotlandStatus=SkiScotlandStatus;exports.VsSkipTo=SkipTo;exports.VsSocialCreditLink=SocialCreditLink;exports.VsSocialShare=SocialShare;exports.VsSocialShareItem=SocialShareItem;exports.VsSpotlightSection=SpotlightSection;exports.VsStretchedLinkCard=VsStretchedLinkCard;exports.VsStretchedLinkPanel=VsStretchedLinkPanels;exports.VsStyledList=_sfc_main$g;exports.VsStyledListItem=_sfc_main$f;exports.VsSummaryBoxDistanceListItem=SummaryBoxDistanceListItem;exports.VsSummaryBoxList=SummaryBoxList;exports.VsSummaryBoxListItem=SummaryBoxListItem;exports.VsSvg=VsSvg;exports.VsSvgLink=VsSvgLink;exports.VsTabItem=TabItem;exports.VsTable=VsTable;exports.VsTableBody=VsTableBody;exports.VsTableDataCell=VsTableDataCell;exports.VsTableFooter=VsTableFooter;exports.VsTableHead=VsTableHead;exports.VsTableHeaderCell=VsTableHeaderCell;exports.VsTableRow=VsTableRow;exports.VsTabs=Tabs;exports.VsTag=Tag;exports.VsTagManagerWrapper=TagManagerWrapper;exports.VsTextarea=VsTextarea;exports.VsToggleButton=VsToggleButton;exports.VsTooltip=VsTooltip;exports.VsTourismInfo=TourismInfo;exports.VsVideo=Video;exports.VsVideoCaption=VsVideoCaption;