@visitscotland/component-library 5.49.0 → 5.50.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.
@@ -150,5 +150,5 @@
150
150
  `;styleInject(css_248z);script$4.render=render$4;script$4.__scopeId="data-v-43da20c6";script$4.__file="src/components/Tooltip/index.vue";var script$3=vue.defineComponent({props:{stacked:{type:Boolean,default:!1},maxWidth:{type:Number,default:-1}},setup(e){vue.provide("layerProps",e)}});function render$3(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",null,[vue.renderSlot(e.$slots,"default")])}script$3.render=render$3;script$3.__file="src/components/Group/index.vue";var script$2=vue.defineComponent({name:"Grid",props:{value:{type:Number},label:{type:String,default:""},color:{type:String,default:"red"},strokeDasharray:{type:String,default:()=>"3"},strokeWidth:{type:Number,default:1},strokeOpacity:{type:Number,default:.5}},setup(e){const n=useChart(),t=vue.ref(0),o=vue.ref("horizontal"),a=vue.ref({});return vue.watch(n.updates,()=>{e.value!==void 0&&(t.value=n.scales.secondary.scale(e.value)),a.value=n.canvas,o.value=n.config.direction},{immediate:!0}),vue.watch(()=>e.value,()=>{t.value=n.scales.secondary.scale(e.value)},{immediate:!0}),{y:t,canvas:a,direction:o}}});const _hoisted_1$2$1={key:0,class:"layer-marker"},_hoisted_2$2$1=["x","y","fill"],_hoisted_3$1$1=["x1","y1","x2","y2","stroke","stroke-opacity","stroke-width","stroke-dasharray"],_hoisted_4$1$1={key:1,class:"layer-marker"},_hoisted_5$1$1=["x","y","fill"],_hoisted_6$1$1=["x1","y1","x2","y2","stroke","stroke-opacity","stroke-width","stroke-dasharray"];function render$2(e,n,t,o,a,r){return e.direction==="horizontal"?(vue.openBlock(),vue.createElementBlock("g",_hoisted_1$2$1,[vue.createElementVNode("text",{x:e.canvas.x+5,y:e.y-5,"text-anchor":"start",fill:e.color},vue.toDisplayString(e.label),9,_hoisted_2$2$1),vue.createElementVNode("line",{x1:e.canvas.x,y1:e.y,x2:e.canvas.width,y2:e.y,stroke:e.color,"stroke-opacity":e.strokeOpacity,"stroke-width":e.strokeWidth,"stroke-dasharray":e.strokeDasharray},null,8,_hoisted_3$1$1)])):(vue.openBlock(),vue.createElementBlock("g",_hoisted_4$1$1,[vue.createElementVNode("text",{x:e.y+10,y:e.canvas.y+5,"text-anchor":"start",fill:e.color,style:{"writing-mode":"tb"}},vue.toDisplayString(e.label),9,_hoisted_5$1$1),vue.createElementVNode("line",{x1:e.y,y1:e.canvas.y,x2:e.y,y2:e.canvas.height,stroke:e.color,"stroke-opacity":e.strokeOpacity,"stroke-width":e.strokeWidth,"stroke-dasharray":e.strokeDasharray},null,8,_hoisted_6$1$1)]))}script$2.render=render$2;script$2.__file="src/components/Marker/index.vue";function count(e){var n=0,t=e.children,o=t&&t.length;if(!o)n=1;else for(;--o>=0;)n+=t[o].value;e.value=n}function node_count(){return this.eachAfter(count)}function node_each(e,n){let t=-1;for(const o of this)e.call(n,o,++t,this);return this}function node_eachBefore(e,n){for(var t=this,o=[t],a,r,s=-1;t=o.pop();)if(e.call(n,t,++s,this),a=t.children)for(r=a.length-1;r>=0;--r)o.push(a[r]);return this}function node_eachAfter(e,n){for(var t=this,o=[t],a=[],r,s,i,l=-1;t=o.pop();)if(a.push(t),r=t.children)for(s=0,i=r.length;s<i;++s)o.push(r[s]);for(;t=a.pop();)e.call(n,t,++l,this);return this}function node_find(e,n){let t=-1;for(const o of this)if(e.call(n,o,++t,this))return o}function node_sum(e){return this.eachAfter(function(n){for(var t=+e(n.data)||0,o=n.children,a=o&&o.length;--a>=0;)t+=o[a].value;n.value=t})}function node_sort(e){return this.eachBefore(function(n){n.children&&n.children.sort(e)})}function node_path(e){for(var n=this,t=leastCommonAncestor(n,e),o=[n];n!==t;)n=n.parent,o.push(n);for(var a=o.length;e!==t;)o.splice(a,0,e),e=e.parent;return o}function leastCommonAncestor(e,n){if(e===n)return e;var t=e.ancestors(),o=n.ancestors(),a=null;for(e=t.pop(),n=o.pop();e===n;)a=e,e=t.pop(),n=o.pop();return a}function node_ancestors(){for(var e=this,n=[e];e=e.parent;)n.push(e);return n}function node_descendants(){return Array.from(this)}function node_leaves(){var e=[];return this.eachBefore(function(n){n.children||e.push(n)}),e}function node_links(){var e=this,n=[];return e.each(function(t){t!==e&&n.push({source:t.parent,target:t})}),n}function*node_iterator(){var e=this,n,t=[e],o,a,r;do for(n=t.reverse(),t=[];e=n.pop();)if(yield e,o=e.children)for(a=0,r=o.length;a<r;++a)t.push(o[a]);while(t.length)}function hierarchy(e,n){e instanceof Map?(e=[void 0,e],n===void 0&&(n=mapChildren)):n===void 0&&(n=objectChildren);for(var t=new Node$1(e),o,a=[t],r,s,i,l;o=a.pop();)if((s=n(o.data))&&(l=(s=Array.from(s)).length))for(o.children=s,i=l-1;i>=0;--i)a.push(r=s[i]=new Node$1(s[i])),r.parent=o,r.depth=o.depth+1;return t.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function objectChildren(e){return e.children}function mapChildren(e){return Array.isArray(e)?e[1]:null}function copyData(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function computeHeight(e){var n=0;do e.height=n;while((e=e.parent)&&e.height<++n)}function Node$1(e){this.data=e,this.depth=this.height=0,this.parent=null}Node$1.prototype=hierarchy.prototype={constructor:Node$1,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,find:node_find,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy,[Symbol.iterator]:node_iterator};function optional(e){return e==null?null:required$2(e)}function required$2(e){if(typeof e!="function")throw new Error;return e}function constantZero(){return 0}function constant(e){return function(){return e}}function roundNode(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function treemapDice(e,n,t,o,a){for(var r=e.children,s,i=-1,l=r.length,u=e.value&&(o-n)/e.value;++i<l;)s=r[i],s.y0=t,s.y1=a,s.x0=n,s.x1=n+=s.value*u}var preroot={depth:-1},ambiguous={},imputed={};function defaultId(e){return e.id}function defaultParentId(e){return e.parentId}function stratify(){var e=defaultId,n=defaultParentId,t;function o(a){var r=Array.from(a),s=e,i=n,l,u,c,d,v,m,f,p,g=new Map;if(t!=null){const _=r.map((V,S)=>normalize(t(V,S,a))),h=_.map(parentof),b=new Set(_).add("");for(const V of h)b.has(V)||(b.add(V),_.push(V),h.push(parentof(V)),r.push(imputed));s=(V,S)=>_[S],i=(V,S)=>h[S]}for(c=0,l=r.length;c<l;++c)u=r[c],m=r[c]=new Node$1(u),(f=s(u,c,a))!=null&&(f+="")&&(p=m.id=f,g.set(p,g.has(p)?ambiguous:m)),(f=i(u,c,a))!=null&&(f+="")&&(m.parent=f);for(c=0;c<l;++c)if(m=r[c],f=m.parent){if(v=g.get(f),!v)throw new Error("missing: "+f);if(v===ambiguous)throw new Error("ambiguous: "+f);v.children?v.children.push(m):v.children=[m],m.parent=v}else{if(d)throw new Error("multiple roots");d=m}if(!d)throw new Error("no root");if(t!=null){for(;d.data===imputed&&d.children.length===1;)d=d.children[0],--l;for(let _=r.length-1;_>=0&&(m=r[_],m.data===imputed);--_)m.data=null}if(d.parent=preroot,d.eachBefore(function(_){_.depth=_.parent.depth+1,--l}).eachBefore(computeHeight),d.parent=null,l>0)throw new Error("cycle");return d}return o.id=function(a){return arguments.length?(e=optional(a),o):e},o.parentId=function(a){return arguments.length?(n=optional(a),o):n},o.path=function(a){return arguments.length?(t=optional(a),o):t},o}function normalize(e){e=`${e}`;let n=e.length;return slash(e,n-1)&&!slash(e,n-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function parentof(e){let n=e.length;if(n<2)return"";for(;--n>1&&!slash(e,n););return e.slice(0,n)}function slash(e,n){if(e[n]==="/"){let t=0;for(;n>0&&e[--n]==="\\";)++t;if(!(t&1))return!0}return!1}function treemapSlice(e,n,t,o,a){for(var r=e.children,s,i=-1,l=r.length,u=e.value&&(a-t)/e.value;++i<l;)s=r[i],s.x0=n,s.x1=o,s.y0=t,s.y1=t+=s.value*u}var phi=(1+Math.sqrt(5))/2;function squarifyRatio(e,n,t,o,a,r){for(var s=[],i=n.children,l,u,c=0,d=0,v=i.length,m,f,p=n.value,g,_,h,b,V,S,$;c<v;){m=a-t,f=r-o;do g=i[d++].value;while(!g&&d<v);for(_=h=g,S=Math.max(f/m,m/f)/(p*e),$=g*g*S,V=Math.max(h/$,$/_);d<v;++d){if(g+=u=i[d].value,u<_&&(_=u),u>h&&(h=u),$=g*g*S,b=Math.max(h/$,$/_),b>V){g-=u;break}V=b}s.push(l={value:g,dice:m<f,children:i.slice(c,d)}),l.dice?treemapDice(l,t,o,a,p?o+=f*g/p:r):treemapSlice(l,t,o,p?t+=m*g/p:a,r),p-=g,c=d}return s}var squarify=function e(n){function t(o,a,r,s,i){squarifyRatio(n,o,a,r,s,i)}return t.ratio=function(o){return e((o=+o)>1?o:1)},t}(phi);function treemap(){var e=squarify,n=!1,t=1,o=1,a=[0],r=constantZero,s=constantZero,i=constantZero,l=constantZero,u=constantZero;function c(v){return v.x0=v.y0=0,v.x1=t,v.y1=o,v.eachBefore(d),a=[0],n&&v.eachBefore(roundNode),v}function d(v){var m=a[v.depth],f=v.x0+m,p=v.y0+m,g=v.x1-m,_=v.y1-m;g<f&&(f=g=(f+g)/2),_<p&&(p=_=(p+_)/2),v.x0=f,v.y0=p,v.x1=g,v.y1=_,v.children&&(m=a[v.depth+1]=r(v)/2,f+=u(v)-m,p+=s(v)-m,g-=i(v)-m,_-=l(v)-m,g<f&&(f=g=(f+g)/2),_<p&&(p=_=(p+_)/2),e(v,f,p,g,_))}return c.round=function(v){return arguments.length?(n=!!v,c):n},c.size=function(v){return arguments.length?(t=+v[0],o=+v[1],c):[t,o]},c.tile=function(v){return arguments.length?(e=required$2(v),c):e},c.padding=function(v){return arguments.length?c.paddingInner(v).paddingOuter(v):c.paddingInner()},c.paddingInner=function(v){return arguments.length?(r=typeof v=="function"?v:constant(+v),c):r},c.paddingOuter=function(v){return arguments.length?c.paddingTop(v).paddingRight(v).paddingBottom(v).paddingLeft(v):c.paddingTop()},c.paddingTop=function(v){return arguments.length?(s=typeof v=="function"?v:constant(+v),c):s},c.paddingRight=function(v){return arguments.length?(i=typeof v=="function"?v:constant(+v),c):i},c.paddingBottom=function(v){return arguments.length?(l=typeof v=="function"?v:constant(+v),c):l},c.paddingLeft=function(v){return arguments.length?(u=typeof v=="function"?v:constant(+v),c):u},c}var script$1=vue.defineComponent({name:"Treemap",props:{size:{type:Object,default:()=>({width:500,height:400}),required:!1},margin:{type:Object,default:()=>({top:0,right:0,bottom:0,left:0})},padding:{type:Number,default:8},data:{type:Array,default:()=>[]},dataKeys:{type:Object,required:!0},colorFn:{type:Function,default:()=>interpolateHcl("#60c96e","#6b46c1")},rcStyle:{type:Function,required:!1}},setup(e){const n=vue.ref(null),t=vue.ref(e.data),o=vue.ref(null),a=vue.ref({x:e.margin.left,y:e.margin.top,width:e.size.width-e.margin.right,height:e.size.height-e.margin.bottom}),r=vue.ref([]);function s(){const m=extent(t.value.map(g=>g[e.dataKeys[1]])),f=linear().domain(m).range([0,100]).nice(),p=sequential().domain(m).interpolator(e.colorFn());return{x:f,y:p}}function i(){const{y:m}=s();return l(t.value).leaves().map((p,g)=>({idx:g,x0:a.value.x+p.x0,x1:a.value.x+p.x1,y0:a.value.y+p.y0,y1:a.value.y+p.y1,width:p.x1-p.x0,height:p.y1-p.y0,data:p.data,color:m(p.value)}))}function l(m){const{x:f}=s(),p=treemap().size([a.value.width-a.value.x,a.value.height-a.value.y]).padding(e.padding),_=stratify().id(h=>h.name).parentId(h=>h.parent)([{name:"root"}].concat(m.map(h=>({name:h[e.dataKeys[0]],value:h[e.dataKeys[1]],parent:"root"}))));return _.sum(h=>f(h.value)),p(_),_}const u=m=>mapKeys(kebabize,m),c=m=>{const f={stroke:m.color,strokeWidth:5,fill:m.color,fillOpacity:.9};return e.rcStyle&&typeof e.rcStyle=="function"?Object.assign(Object.assign({},f),e.rcStyle(m)):f};function d(m){o.value=m}function v(){o.value=null}return vue.watch(e,()=>{t.value=e.data,a.value={x:e.margin.left,y:e.margin.top,width:e.size.width-e.margin.right,height:e.size.height-e.margin.bottom},r.value=i()},{immediate:!0}),{el:n,rectangles:r,selected:o,getStyle:c,toKebabCase:u,onMouseOver:d,onMouseOut:v}}});const _hoisted_1$1$1={class:"treemap",style:{display:"flex",position:"relative"}},_hoisted_2$1$1=["width","height","viewBox"],_hoisted_3$T={class:"layer-rectangles"},_hoisted_4$E=["transform","onMouseover"],_hoisted_5$t=["width","height"],_hoisted_6$k={x:10,y:20,"font-size":"15px",fill:"white","font-weight":"bold"};function render$1(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1$1,[(vue.openBlock(),vue.createElementBlock("svg",{width:e.size.width,height:e.size.height,viewBox:`0 0 ${e.size.width} ${e.size.height}`,ref:"el"},[vue.createElementVNode("g",_hoisted_3$T,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.rectangles,(s,i)=>(vue.openBlock(),vue.createElementBlock("g",{class:vue.normalizeClass(["rectangle",{selected:e.selected===i}]),key:i,transform:`translate(${s.x0}, ${s.y0})`,onMouseover:()=>e.onMouseOver(i),onMouseleave:n[0]||(n[0]=(...l)=>e.onMouseOut&&e.onMouseOut(...l))},[vue.renderSlot(e.$slots,"default",{r:s,selected:e.selected===i},()=>[vue.createElementVNode("rect",vue.mergeProps(e.toKebabCase(e.getStyle(s)),{x:0,y:0,width:s.width,height:s.height}),null,16,_hoisted_5$t),vue.renderSlot(e.$slots,"text",{r:s,selected:e.selected===i},()=>[vue.createElementVNode("text",_hoisted_6$k,vue.toDisplayString(s.data.name),1)])])],42,_hoisted_4$E))),128))])],8,_hoisted_2$1$1)),vue.renderSlot(e.$slots,"widgets")])}script$1.render=render$1;script$1.__file="src/components/Treemap/index.vue";var script=vue.defineComponent({name:"HoverBar",props:{barStyle:{type:Object,default:()=>({"fill-opacity":.05})}},setup(){const e=useChart(),n=useMouse(),t=vue.ref({x:0,y:0,width:0,height:0}),o=vue.ref("horizontal"),a=vue.ref({x:0,y:0,width:0,height:0});return vue.watch(e.updates,()=>{a.value=e.canvas,o.value=e.config.direction},{immediate:!0}),vue.watch(n,()=>{if(e.bandScale){const r=e.getData(e.getKeys(0)),[s]=e.bandScale.map([r[n.index]]),i=e.bandScale.bandwidth();s&&(e.config.direction==="horizontal"?t.value={x:s-i/2,y:0,width:i,height:a.value.height}:t.value={x:40,y:s-i/2,width:a.value.width-40,height:i})}}),{bar:t,canvas:a,direction:o,mouse:n}}});const _hoisted_1$1A={key:0,class:"layer-hover-bar"},_hoisted_2$16=["x","y","width","height"];function render(e,n,t,o,a,r){return e.mouse.hover?(vue.openBlock(),vue.createElementBlock("g",_hoisted_1$1A,[vue.createElementVNode("rect",vue.mergeProps({class:"hover-bar"},e.barStyle,{x:e.bar.x,y:e.bar.y,width:e.bar.width>0?e.bar.width:0,height:e.bar.height>0?e.bar.height:0}),null,16,_hoisted_2$16)])):vue.createCommentVNode("v-if",!0)}script.render=render;script.__file="src/components/HoverBar/index.vue";const _sfc_main$22={name:"VsCarbonCalculatorResults",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,Chart:script$c,Grid:script$5,Bar:script$8,Responsive:script$6},mixins:[LoadingSpinner.dataLayerMixin],inject:["labelsMap"],props:{totalKilos:{type:Number,default:0},foodKilos:{type:Number,default:0},transportKilos:{type:Number,default:0},accommodationKilos:{type:Number,default:0},stayDuration:{type:Number,default:1},comparisonReplacements:{type:Array,default:()=>[]},language:{type:String,default:"en-gb"}},data(){return{chartDirection:vue.ref("horizontal"),chartAxis:vue.ref({primary:{type:"band"}}),cssProps:`--chart-label: '${this.labelsMap.kgsOf}'`,tokens:LoadingSpinner.designTokens}},computed:{chartData(){return[{name:this.labelsMap.transport,emissions:this.transportKilos},{name:this.labelsMap.accommodation,emissions:this.accommodationKilos},{name:this.labelsMap.food,emissions:this.foodKilos}]},interpolComparison(){let e=this.labelsMap.comparison;for(let n=0;n<this.comparisonReplacements.length;n++)e=e.replace(this.comparisonReplacements[n].repl,(this.totalKilos/this.comparisonReplacements[n].divisor).toLocaleString(this.language,{minimumFractionDigits:3}));return e},interpolKGsPerDay(){return this.labelsMap.kgsPerDay.replace("xxx",this.totalPerDay)},interpolPerDaySuccess(){return this.labelsMap.perDaySuccess.replace("xxx",this.labelsMap.perDayTarget)},transportPercent(){return this.transportKilos/this.totalKilos*100},accommodationPercent(){return this.accommodationKilos/this.totalKilos*100},foodPercent(){return this.foodKilos/this.totalKilos*100},totalPerDay(){return this.totalKilos/Math.max(this.stayDuration,1)}},mounted(){this.createDataLayerObject("carbonCompleteEvent",{totalEmissions:this.totalKilos,totalPerDay:this.totalPerDay,travelPercent:this.transportPercent.toFixed(3)||0,accommodationPercent:this.accommodationPercent.toFixed(3)||0,foodPercent:this.foodPercent.toFixed(3)||0})},methods:{responsiveMargin(e){return e>300?{left:20,top:20,right:20,bottom:20}:{left:5,top:5,right:5,bottom:5}}}},_hoisted_1$1z={class:"vs-carbon-calculator-results__headline"},_hoisted_2$15={class:"mb-050"},_hoisted_3$S={class:"vs-carbon-calculator-results__total"},_hoisted_4$D=["innerHTML"],_hoisted_5$s={class:"vs-carbon-calculator-results__unicorn-icon-container"},_hoisted_6$j={class:"vs-carbon-calculator-results__unicorn-content"};function _sfc_render$1N(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsIcon"),c=vue.resolveComponent("Grid"),d=vue.resolveComponent("Bar"),v=vue.resolveComponent("Chart"),m=vue.resolveComponent("Responsive");return vue.openBlock(),vue.createBlock(l,{"data-test":"vs-carbon-calculator-results",style:vue.normalizeStyle(a.cssProps)},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(s,{level:"2","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.labelsMap.results),1)]),_:1})]),_:1}),vue.createVNode(i,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-carbon-calculator-results__summary"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"6"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$1z,[vue.createElementVNode("p",_hoisted_2$15,vue.toDisplayString(r.labelsMap.resultsIntro),1),vue.createElementVNode("p",null,[vue.createElementVNode("span",_hoisted_3$S,vue.toDisplayString(t.totalKilos.toLocaleString(t.language,{minimumFractionDigits:3})),1),vue.createTextVNode(" "+vue.toDisplayString(r.labelsMap.kgsOf),1)])])]),_:1}),vue.createVNode(i,{cols:"12",md:"6",class:"vs-carbon-calculator-results__comparison"},{default:vue.withCtx(()=>[vue.createElementVNode("p",{innerHTML:r.interpolComparison},null,8,_hoisted_4$D)]),_:1})]),_:1})]),_:1}),r.totalPerDay<=r.labelsMap.perDayTarget?(vue.openBlock(),vue.createBlock(i,{key:0,cols:"12",class:"vs-carbon-calculator-results__unicorn"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$s,[vue.createVNode(u,{icon:"fa-kit fa-vs-unicorn",size:"lg",variant:"highlight",class:"vs-carbon-calculator-results__unicorn-icon"})]),vue.createElementVNode("div",_hoisted_6$j,[vue.createVNode(s,{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.labelsMap.perDayCongratulations),1)]),_:1}),vue.createElementVNode("p",null,vue.toDisplayString(r.interpolPerDaySuccess),1)])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.labelsMap.chartTitle),1)]),_:1})]),_:1}),vue.createVNode(i,{class:"vs-carbon-calculator-results__chart-wrapper",cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(m,null,{main:vue.withCtx(({width:f})=>[vue.createVNode(v,{class:"vs-carbon-calculator-results__chart",size:{width:f,height:420},data:r.chartData,margin:r.responsiveMargin(f),direction:a.chartDirection,axis:a.chartAxis},{layers:vue.withCtx(()=>[vue.createVNode(c,{"stroke-dasharray":"2,2"}),vue.createVNode(d,{"data-keys":["name","emissions"],"bar-style":{fill:a.tokens["vs-color-background-highlight"]},gap:20},null,8,["bar-style"])]),_:1},8,["size","data","margin","direction","axis"])]),_:1})]),_:1})]),_:1},8,["style"])}const VsCarbonCalculatorResults=LoadingSpinner._export_sfc(_sfc_main$22,[["render",_sfc_render$1N]]),_sfc_main$21={name:"VsCarbonCalculatorRunningTotal",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},inject:["labelsMap"],props:{totalKilos:{type:Number,default:0},language:{type:String,default:"en-gb"}}},_hoisted_1$1y={class:"vs-carbon-calculator-running-total","data-test":"vs-carbon-calculator-running-total"},_hoisted_2$14={class:"vs-carbon-calculator-running-total__icon"},_hoisted_3$R={class:"vs-carbon-calculator-running-total__content"},_hoisted_4$C={class:"vs-carbon-calculator-running-total__value"};function _sfc_render$1M(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1y,[vue.createElementVNode("div",_hoisted_2$14,[vue.createVNode(s,{icon:"fa-regular fa-pen-field",size:"md"})]),vue.createElementVNode("div",_hoisted_3$R,[vue.createElementVNode("p",null,vue.toDisplayString(r.labelsMap.soFar),1),vue.createElementVNode("p",null,[vue.createElementVNode("span",_hoisted_4$C,vue.toDisplayString(t.totalKilos.toLocaleString(t.language,{minimumFractionDigits:3})),1),vue.createTextVNode(" "+vue.toDisplayString(r.labelsMap.kgsOf),1)])])])}const VsCarbonCalculatorRunningTotal=LoadingSpinner._export_sfc(_sfc_main$21,[["render",_sfc_render$1M]]),_sfc_main$20={name:"VsCarbonCalculatorIntro",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading},inject:["labelsMap"]},_hoisted_1$1x={class:"vs-carbon-calculator-intro","data-test":"vs-carbon-calculator-intro"};function _sfc_render$1L(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1x,[vue.createVNode(s,{level:"2","heading-style":"heading-l"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.labelsMap.introHeading),1)]),_:1}),vue.createElementVNode("p",null,vue.toDisplayString(r.labelsMap.introContent),1)])}const VsCarbonCalculatorIntro=LoadingSpinner._export_sfc(_sfc_main$20,[["render",_sfc_render$1L]]);function ownKeys$1(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,o)}return t}function _objectSpread2$1(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};n%2?ownKeys$1(Object(t),!0).forEach(function(o){_defineProperty$1(e,o,t[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys$1(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))})}return e}function _defineProperty$1(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function unwrapObj(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return Object.keys(e).reduce((t,o)=>(n.includes(o)||(t[o]=vue.unref(e[o])),t),{})}function isFunction$2(e){return typeof e=="function"}function isProxy(e){return vue.isReactive(e)||vue.isReadonly(e)}function get(e,n,t){let o=e;const a=n.split(".");for(let r=0;r<a.length;r++){if(!o[a[r]])return t;o=o[a[r]]}return o}function gatherBooleanGroupProperties(e,n,t){return vue.computed(()=>e.some(o=>get(n,o,{[t]:!1})[t]))}function gatherArrayGroupProperties(e,n,t){return vue.computed(()=>e.reduce((o,a)=>{const r=get(n,a,{[t]:!1})[t]||[];return o.concat(r)},[]))}function callRule(e,n,t,o){return e.call(o,vue.unref(n),vue.unref(t),o)}function normalizeValidatorResponse(e){return e.$valid!==void 0?!e.$valid:!e}function createAsyncResult(e,n,t,o,a,r,s){let{$lazy:i,$rewardEarly:l}=a,u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],c=arguments.length>8?arguments[8]:void 0,d=arguments.length>9?arguments[9]:void 0,v=arguments.length>10?arguments[10]:void 0;const m=vue.ref(!!o.value),f=vue.ref(0);t.value=!1;const p=vue.watch([n,o].concat(u,v),()=>{if(i&&!o.value||l&&!d.value&&!t.value)return;let g;try{g=callRule(e,n,c,s)}catch(_){g=Promise.reject(_)}f.value++,t.value=!!f.value,m.value=!1,Promise.resolve(g).then(_=>{f.value--,t.value=!!f.value,r.value=_,m.value=normalizeValidatorResponse(_)}).catch(_=>{f.value--,t.value=!!f.value,r.value=_,m.value=!0})},{immediate:!0,deep:typeof n=="object"});return{$invalid:m,$unwatch:p}}function createSyncResult(e,n,t,o,a,r,s,i){let{$lazy:l,$rewardEarly:u}=o;const c=()=>({}),d=vue.computed(()=>{if(l&&!t.value||u&&!i.value)return!1;let v=!0;try{const m=callRule(e,n,s,r);a.value=m,v=normalizeValidatorResponse(m)}catch(m){a.value=m}return v});return{$unwatch:c,$invalid:d}}function createValidatorResult(e,n,t,o,a,r,s,i,l,u,c){const d=vue.ref(!1),v=e.$params||{},m=vue.ref(null);let f,p;e.$async?{$invalid:f,$unwatch:p}=createAsyncResult(e.$validator,n,d,t,o,m,a,e.$watchTargets,l,u,c):{$invalid:f,$unwatch:p}=createSyncResult(e.$validator,n,t,o,m,a,l,u);const g=e.$message;return{$message:isFunction$2(g)?vue.computed(()=>g(unwrapObj({$pending:d,$invalid:f,$params:unwrapObj(v),$model:n,$response:m,$validator:r,$propertyPath:i,$property:s}))):g||"",$params:v,$pending:d,$invalid:f,$response:m,$unwatch:p}}function sortValidations(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=vue.unref(e),t=Object.keys(n),o={},a={},r={};let s=null;return t.forEach(i=>{const l=n[i];switch(!0){case isFunction$2(l.$validator):o[i]=l;break;case isFunction$2(l):o[i]={$validator:l};break;case i==="$validationGroups":s=l;break;case i.startsWith("$"):r[i]=l;break;default:a[i]=l}}),{rules:o,nestedValidators:a,config:r,validationGroups:s}}const ROOT_PATH="__root";function createValidationResults(e,n,t,o,a,r,s,i,l){const u=Object.keys(e),c=o.get(a,e),d=vue.ref(!1),v=vue.ref(!1),m=vue.ref(0);if(c){if(!c.$partial)return c;c.$unwatch(),d.value=c.$dirty.value}const f={$dirty:d,$path:a,$touch:()=>{d.value||(d.value=!0)},$reset:()=>{d.value&&(d.value=!1)},$commit:()=>{}};return u.length?(u.forEach(p=>{f[p]=createValidatorResult(e[p],n,f.$dirty,r,s,p,t,a,l,v,m)}),f.$externalResults=vue.computed(()=>i.value?[].concat(i.value).map((p,g)=>({$propertyPath:a,$property:t,$validator:"$externalResults",$uid:`${a}-externalResult-${g}`,$message:p,$params:{},$response:null,$pending:!1})):[]),f.$invalid=vue.computed(()=>{const p=u.some(g=>vue.unref(f[g].$invalid));return v.value=p,!!f.$externalResults.value.length||p}),f.$pending=vue.computed(()=>u.some(p=>vue.unref(f[p].$pending))),f.$error=vue.computed(()=>f.$dirty.value?f.$pending.value||f.$invalid.value:!1),f.$silentErrors=vue.computed(()=>u.filter(p=>vue.unref(f[p].$invalid)).map(p=>{const g=f[p];return vue.reactive({$propertyPath:a,$property:t,$validator:p,$uid:`${a}-${p}`,$message:g.$message,$params:g.$params,$response:g.$response,$pending:g.$pending})}).concat(f.$externalResults.value)),f.$errors=vue.computed(()=>f.$dirty.value?f.$silentErrors.value:[]),f.$unwatch=()=>u.forEach(p=>{f[p].$unwatch()}),f.$commit=()=>{v.value=!0,m.value=Date.now()},o.set(a,e,f),f):(c&&o.set(a,e,f),f)}function collectNestedValidationResults(e,n,t,o,a,r,s){const i=Object.keys(e);return i.length?i.reduce((l,u)=>(l[u]=setValidations({validations:e[u],state:n,key:u,parentKey:t,resultsCache:o,globalConfig:a,instance:r,externalResults:s}),l),{}):{}}function createMetaFields(e,n,t){const o=vue.computed(()=>[n,t].filter(f=>f).reduce((f,p)=>f.concat(Object.values(vue.unref(p))),[])),a=vue.computed({get(){return e.$dirty.value||(o.value.length?o.value.every(f=>f.$dirty):!1)},set(f){e.$dirty.value=f}}),r=vue.computed(()=>{const f=vue.unref(e.$silentErrors)||[],p=o.value.filter(g=>(vue.unref(g).$silentErrors||[]).length).reduce((g,_)=>g.concat(..._.$silentErrors),[]);return f.concat(p)}),s=vue.computed(()=>{const f=vue.unref(e.$errors)||[],p=o.value.filter(g=>(vue.unref(g).$errors||[]).length).reduce((g,_)=>g.concat(..._.$errors),[]);return f.concat(p)}),i=vue.computed(()=>o.value.some(f=>f.$invalid)||vue.unref(e.$invalid)||!1),l=vue.computed(()=>o.value.some(f=>vue.unref(f.$pending))||vue.unref(e.$pending)||!1),u=vue.computed(()=>o.value.some(f=>f.$dirty)||o.value.some(f=>f.$anyDirty)||a.value),c=vue.computed(()=>a.value?l.value||i.value:!1),d=()=>{e.$touch(),o.value.forEach(f=>{f.$touch()})},v=()=>{e.$commit(),o.value.forEach(f=>{f.$commit()})},m=()=>{e.$reset(),o.value.forEach(f=>{f.$reset()})};return o.value.length&&o.value.every(f=>f.$dirty)&&d(),{$dirty:a,$errors:s,$invalid:i,$anyDirty:u,$error:c,$pending:l,$touch:d,$reset:m,$silentErrors:r,$commit:v}}function setValidations(e){let{validations:n,state:t,key:o,parentKey:a,childResults:r,resultsCache:s,globalConfig:i={},instance:l,externalResults:u}=e;const c=a?`${a}.${o}`:o,{rules:d,nestedValidators:v,config:m,validationGroups:f}=sortValidations(n),p=_objectSpread2$1(_objectSpread2$1({},i),m),g=o?vue.computed(()=>{const R=vue.unref(t);return R?vue.unref(R[o]):void 0}):t,_=_objectSpread2$1({},vue.unref(u)||{}),h=vue.computed(()=>{const R=vue.unref(u);return o?R?vue.unref(R[o]):void 0:R}),b=createValidationResults(d,g,o,s,c,p,l,h,t),V=collectNestedValidationResults(v,g,c,s,p,l,h),S={};f&&Object.entries(f).forEach(R=>{let[G,U]=R;S[G]={$invalid:gatherBooleanGroupProperties(U,V,"$invalid"),$error:gatherBooleanGroupProperties(U,V,"$error"),$pending:gatherBooleanGroupProperties(U,V,"$pending"),$errors:gatherArrayGroupProperties(U,V,"$errors"),$silentErrors:gatherArrayGroupProperties(U,V,"$silentErrors")}});const{$dirty:$,$errors:w,$invalid:k,$anyDirty:P,$error:O,$pending:B,$touch:T,$reset:L,$silentErrors:E,$commit:z}=createMetaFields(b,V,r),F=o?vue.computed({get:()=>vue.unref(g),set:R=>{$.value=!0;const G=vue.unref(t),U=vue.unref(u);U&&(U[o]=_[o]),vue.isRef(G[o])?G[o].value=R:G[o]=R}}):null;o&&p.$autoDirty&&vue.watch(g,()=>{$.value||T();const R=vue.unref(u);R&&(R[o]=_[o])},{flush:"sync"});async function A(){return T(),p.$rewardEarly&&(z(),await vue.nextTick()),await vue.nextTick(),new Promise(R=>{if(!B.value)return R(!k.value);const G=vue.watch(B,()=>{R(!k.value),G()})})}function C(R){return(r.value||{})[R]}function D(){vue.isRef(u)?u.value=_:Object.keys(_).length===0?Object.keys(u).forEach(R=>{delete u[R]}):Object.assign(u,_)}return vue.reactive(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({},b),{},{$model:F,$dirty:$,$error:O,$errors:w,$invalid:k,$anyDirty:P,$pending:B,$touch:T,$reset:L,$path:c||ROOT_PATH,$silentErrors:E,$validate:A,$commit:z},r&&{$getResultsForChild:C,$clearExternalResults:D,$validationGroups:S}),V))}class ResultsStorage{constructor(){this.storage=new Map}set(n,t,o){this.storage.set(n,{rules:t,result:o})}checkRulesValidity(n,t,o){const a=Object.keys(o),r=Object.keys(t);return r.length!==a.length||!r.every(i=>a.includes(i))?!1:r.every(i=>t[i].$params?Object.keys(t[i].$params).every(l=>vue.unref(o[i].$params[l])===vue.unref(t[i].$params[l])):!0)}get(n,t){const o=this.storage.get(n);if(!o)return;const{rules:a,result:r}=o,s=this.checkRulesValidity(n,t,a),i=r.$unwatch?r.$unwatch:()=>({});return s?r:{$dirty:r.$dirty,$partial:!0,$unwatch:i}}}const CollectFlag={COLLECT_ALL:!0,COLLECT_NONE:!1},VuelidateInjectChildResults=Symbol("vuelidate#injectChildResults"),VuelidateRemoveChildResults=Symbol("vuelidate#removeChildResults");function nestedValidations(e){let{$scope:n,instance:t}=e;const o={},a=vue.ref([]),r=vue.computed(()=>a.value.reduce((c,d)=>(c[d]=vue.unref(o[d]),c),{}));function s(c,d){let{$registerAs:v,$scope:m,$stopPropagation:f}=d;f||n===CollectFlag.COLLECT_NONE||m===CollectFlag.COLLECT_NONE||n!==CollectFlag.COLLECT_ALL&&n!==m||(o[v]=c,a.value.push(v))}t.__vuelidateInjectInstances=[].concat(t.__vuelidateInjectInstances||[],s);function i(c){a.value=a.value.filter(d=>d!==c),delete o[c]}t.__vuelidateRemoveInstances=[].concat(t.__vuelidateRemoveInstances||[],i);const l=vue.inject(VuelidateInjectChildResults,[]);vue.provide(VuelidateInjectChildResults,t.__vuelidateInjectInstances);const u=vue.inject(VuelidateRemoveChildResults,[]);return vue.provide(VuelidateRemoveChildResults,t.__vuelidateRemoveInstances),{childResults:r,sendValidationResultsToParent:l,removeValidationResultsFromParent:u}}function ComputedProxyFactory(e){return new Proxy(e,{get(n,t){return typeof n[t]=="object"?ComputedProxyFactory(n[t]):vue.computed(()=>n[t])}})}let uid=0;function useVuelidate(e,n){var t;let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};arguments.length===1&&(o=e,e=void 0,n=void 0);let{$registerAs:a,$scope:r=CollectFlag.COLLECT_ALL,$stopPropagation:s,$externalResults:i,currentVueInstance:l}=o;const u=l||((t=vue.getCurrentInstance())===null||t===void 0?void 0:t.proxy),c=u?u.$options:{};a||(uid+=1,a=`_vuelidate_${uid}`);const d=vue.ref({}),v=new ResultsStorage,{childResults:m,sendValidationResultsToParent:f,removeValidationResultsFromParent:p}=u?nestedValidations({$scope:r,instance:u}):{childResults:vue.ref({})};if(!e&&c.validations){const g=c.validations;n=vue.ref({}),vue.onBeforeMount(()=>{n.value=u,vue.watch(()=>isFunction$2(g)?g.call(n.value,new ComputedProxyFactory(n.value)):g,_=>{d.value=setValidations({validations:_,state:n,childResults:m,resultsCache:v,globalConfig:o,instance:u,externalResults:i||u.vuelidateExternalResults})},{immediate:!0})}),o=c.validationsConfig||o}else{const g=vue.isRef(e)||isProxy(e)?e:vue.reactive(e||{});vue.watch(g,_=>{d.value=setValidations({validations:_,state:n,childResults:m,resultsCache:v,globalConfig:o,instance:u??{},externalResults:i})},{immediate:!0})}return u&&(f.forEach(g=>g(d,{$registerAs:a,$scope:r,$stopPropagation:s})),vue.onBeforeUnmount(()=>p.forEach(g=>g(a)))),vue.computed(()=>_objectSpread2$1(_objectSpread2$1({},vue.unref(d.value)),m.value))}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,o)}return t}function _objectSpread2(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};n%2?ownKeys(Object(t),!0).forEach(function(o){_defineProperty(e,o,t[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))})}return e}function _defineProperty(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function isFunction$1(e){return typeof e=="function"}function isObject$1(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function normalizeValidatorObject(e){return isFunction$1(e.$validator)?_objectSpread2({},e):{$validator:e}}function unwrapValidatorResponse(e){return typeof e=="object"?e.$valid:e}function unwrapNormalizedValidator(e){return e.$validator||e}function withParams(e,n){if(!isObject$1(e))throw new Error(`[@vuelidate/validators]: First parameter to "withParams" should be an object, provided ${typeof e}`);if(!isObject$1(n)&&!isFunction$1(n))throw new Error("[@vuelidate/validators]: Validator must be a function or object with $validator parameter");const t=normalizeValidatorObject(n);return t.$params=_objectSpread2(_objectSpread2({},t.$params||{}),e),t}function withMessage(e,n){if(!isFunction$1(e)&&typeof vue.unref(e)!="string")throw new Error(`[@vuelidate/validators]: First parameter to "withMessage" should be string or a function returning a string, provided ${typeof e}`);if(!isObject$1(n)&&!isFunction$1(n))throw new Error("[@vuelidate/validators]: Validator must be a function or object with $validator parameter");const t=normalizeValidatorObject(n);return t.$message=e,t}function withAsync(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];const t=normalizeValidatorObject(e);return _objectSpread2(_objectSpread2({},t),{},{$async:!0,$watchTargets:n})}function forEach(e){return{$validator(n){for(var t=arguments.length,o=new Array(t>1?t-1:0),a=1;a<t;a++)o[a-1]=arguments[a];return vue.unref(n).reduce((r,s,i)=>{const l=Object.entries(s).reduce((u,c)=>{let[d,v]=c;const m=e[d]||{},f=Object.entries(m).reduce((p,g)=>{let[_,h]=g;const V=unwrapNormalizedValidator(h).call(this,v,s,i,...o),S=unwrapValidatorResponse(V);if(p.$data[_]=V,p.$data.$invalid=!S||!!p.$data.$invalid,p.$data.$error=p.$data.$invalid,!S){let $=h.$message||"";const w=h.$params||{};typeof $=="function"&&($=$({$pending:!1,$invalid:!S,$params:w,$model:v,$response:V})),p.$errors.push({$property:d,$message:$,$params:w,$response:V,$model:v,$pending:!1,$validator:_})}return{$valid:p.$valid&&S,$data:p.$data,$errors:p.$errors}},{$valid:!0,$data:{},$errors:[]});return u.$data[d]=f.$data,u.$errors[d]=f.$errors,{$valid:u.$valid&&f.$valid,$data:u.$data,$errors:u.$errors}},{$valid:!0,$data:{},$errors:{}});return{$valid:r.$valid&&l.$valid,$data:r.$data.concat(l.$data),$errors:r.$errors.concat(l.$errors)}},{$valid:!0,$data:[],$errors:[]})},$message:n=>{let{$response:t}=n;return t?t.$errors.map(o=>Object.values(o).map(a=>a.map(r=>r.$message)).reduce((a,r)=>a.concat(r),[])):[]}}}const req=e=>{if(e=vue.unref(e),Array.isArray(e))return!!e.length;if(e==null)return!1;if(e===!1)return!0;if(e instanceof Date)return!isNaN(e.getTime());if(typeof e=="object"){for(let n in e)return!0;return!1}return!!String(e).length},len=e=>(e=vue.unref(e),Array.isArray(e)?e.length:typeof e=="object"?Object.keys(e).length:String(e).length);function regex(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return o=>(o=vue.unref(o),!req(o)||n.every(a=>(a.lastIndex=0,a.test(o))))}var common$1=Object.freeze({__proto__:null,forEach,len,normalizeValidatorObject,regex,req,unwrap:vue.unref,unwrapNormalizedValidator,unwrapValidatorResponse,withAsync,withMessage,withParams});regex(/^[a-zA-Z]*$/);regex(/^[a-zA-Z0-9]*$/);regex(/^\d*(\.\d+)?$/);const emailRegex=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;var email$1=regex(emailRegex),email={$validator:email$1,$message:"Value is not a valid email address",$params:{type:"email"}};function maxLength$1(e){return n=>!req(n)||len(n)<=vue.unref(e)}function maxLength(e){return{$validator:maxLength$1(e),$message:n=>{let{$params:t}=n;return`The maximum length allowed is ${t.max}`},$params:{max:e,type:"maxLength"}}}function minLength$1(e){return n=>!req(n)||len(n)>=vue.unref(e)}function minLength(e){return{$validator:minLength$1(e),$message:n=>{let{$params:t}=n;return`This field should be at least ${t.min} characters long`},$params:{min:e,type:"minLength"}}}function required$1(e){return typeof e=="string"&&(e=e.trim()),req(e)}var required={$validator:required$1,$message:"Value is required",$params:{type:"required"}};const urlRegex=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i;regex(urlRegex);regex(/(^[0-9]*$)|(^-[0-9]+$)/);regex(/^[-]?\d*(\.\d+)?$/);const postcode=common$1.regex(/^([A-Za-z][A-HJ-Ya-hj-y]?\d[A-Za-z\d]? ?\d[A-Za-z]{2}|GIR ?0A{2})$/),validateFormElementMixin={emits:["status-update"],data(){return{inputVal:this.value,isInvalid:this.invalid}},computed:{isRequired(){return typeof required<"u"&&"required"in this.validationRules},rules(){let e={};for(const[n,t]of Object.entries(this.validationRules))n==="required"?e={...e,required}:n==="email"?e={...e,email}:n==="minLength"?e={...e,minLength:minLength(t)}:n==="maxLength"?e={...e,maxLength:maxLength(t)}:n==="invalidVal"?e={...e,noInvalid:()=>this.inputVal.indexOf(this.validationRules.invalidVal)===-1}:n==="postcode"&&(e={...e,postcode});return typeof e<"u"?(e={...e},{inputVal:e}):{}},errorsList(){const e=[];return Object.keys(this.rules.inputVal).forEach(t=>{this.v$.$errors&&this.v$.$errors.forEach(o=>{o.$validator===t&&e.push(t)})}),e}},watch:{errorsList(e){e.length?this.isInvalid=!0:this.isInvalid=!1}},methods:{manualValidate(){if(this.isInvalid=!1,"required"in this.rules.inputVal){let e=!1;typeof this.inputVal=="string"?/\S/.test(this.inputVal)||(e=!0):this.inputVal||(e=!0),e&&this.errorsList.indexOf("required")===-1&&this.errorsList.push("required")}else this.errorsList.forEach((e,n)=>{e==="required"&&this.errorsList.splice(n,1)});this.errorsList.length&&(this.isInvalid=!0),this.touched=!0,this.$emit("status-update",{field:this.fieldName,value:this.inputVal,errors:this.errorsList})},emitStatus(){setTimeout(()=>{this.manualValidate(),this.touched=!0,this.v$.$touch()},50)}}},ariaDescriptionMixin={computed:{ariaDescription(){return this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?`error-${this.fieldName}`:this.hintText?`hint-${this.fieldName}`:null}}},_sfc_main$1$={name:"VsRadioButton",status:"prototype",release:"0.0.1",components:{BFormRadioGroup:LoadingSpinner.Ou,BFormRadio:LoadingSpinner.pn},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},reAlertErrors:{type:Boolean,default:!1},options:{type:Array,required:!0},hintText:{type:String,default:""}},emits:["updated","updateFieldData"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1,checkedValue:this.value}},computed:{elementClass(){const e=this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?"vs-input--error":"",n=`vs-input--${this.fieldName}`;return`${e} ${n}`},showClearButton(){return!!(this.inputVal.length&&this.clearButtonText!=="")},errorClass(){return this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?"vs-input--error":""}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0},valueChanged(e){this.checkedValue=e.value,this.$emit("updateFieldData",e)}},validations(){return this.rules}},_hoisted_1$1w={class:"vs-radio-button","data-test":"vs-radio-button"},_hoisted_2$13=["id"],_hoisted_3$Q={class:"visually-hidden"},_hoisted_4$B=["id"];function _sfc_render$1K(e,n,t,o,a,r){const s=vue.resolveComponent("BFormRadio"),i=vue.resolveComponent("BFormRadioGroup");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1w,[e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:0,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,l=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:l,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_3$Q,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!a.clearErrorsOnFocus]])),128))],8,_hoisted_2$13)):vue.createCommentVNode("",!0),vue.createVNode(i,{id:t.fieldName,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,onBlur:r.validateErrors,onChange:r.validateErrors,onFocus:r.resetErrors},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(t.options,(l,u)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-radio-button__option",[a.checkedValue===l.value?"vs-radio-button__option--checked":"",{"vs-radio-button__option--disabled":l.disabled}]]),key:u},[vue.createVNode(s,{value:l.value,name:t.fieldName,id:t.fieldName+l.value,onChange:c=>r.valueChanged({field:t.fieldName,value:l.value}),disabled:l.disabled},{default:vue.withCtx(()=>[vue.createElementVNode("span",null,vue.toDisplayString(l.text),1)]),_:2},1032,["value","name","id","onChange","disabled"])],2))),128))]),_:1},8,["id","aria-invalid","aria-describedby","onBlur","onChange","onFocus"]),t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:1,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_4$B)):vue.createCommentVNode("",!0)])}const VsRadioButton=LoadingSpinner._export_sfc(_sfc_main$1$,[["render",_sfc_render$1K]]),_sfc_main$1_={name:"VsInput",status:"prototype",release:"0.0.1",components:{BFormInput:LoadingSpinner.Tu,VsButton:LoadingSpinner.VsButton},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:Number,default:0},fieldName:{type:String,required:!0},minimumNumber:{type:Number,default:0},maximumNumber:{type:Number,default:10},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},clearButtonText:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){const e=this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?"vs-input--error":"",n=`vs-input--${this.fieldName}`;return`${e} ${n}`},showClearButton(){return!!(this.inputVal.length&&this.clearButtonText!=="")},errorClass(){return this.v$.inputVal&&this.v$.inputVal.$anyError||this.invalid?"vs-input--error":""}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=0},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},controlBlurred(){this.inputVal<this.minimumNumber&&(this.inputVal=this.minimumNumber),this.inputVal>this.maximumNumber&&(this.inputVal=this.maximumNumber),this.validateErrors()},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0},decrementValue(e){e&&e.preventDefault(),this.inputVal=Math.max(this.inputVal-1,this.minimumNumber)},incrementValue(e){e&&e.preventDefault(),this.inputVal=Math.min(this.inputVal+1,this.maximumNumber)}},validations(){return this.rules}},_hoisted_1$1v={"data-test":"vs-number-input"},_hoisted_2$12=["id"],_hoisted_3$P=["id"],_hoisted_4$A={class:"visually-hidden"},_hoisted_5$r={class:"visually-hidden"};function _sfc_render$1J(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("BFormInput");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1v,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$12)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,l=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:l,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$A,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!a.clearErrorsOnFocus]])),128))],8,_hoisted_3$P)):vue.createCommentVNode("",!0),vue.createVNode(s,{class:"vs-number-input__increment","icon-only":!0,size:"sm",icon:"fa-regular fa-minus",disabled:a.inputVal<=t.minimumNumber?!0:null,onClick:r.decrementValue},{default:vue.withCtx(()=>[...n[2]||(n[2]=[vue.createTextVNode(" Remove 1 ",-1)])]),_:1},8,["disabled","onClick"]),vue.createVNode(i,{ref:"input",type:"Number",class:vue.normalizeClass(["vs-number-input",r.elementClass]),modelValue:a.inputVal,"onUpdate:modelValue":n[0]||(n[0]=l=>a.inputVal=l),id:t.fieldName,name:t.fieldName,required:e.isRequired,v:a.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,maxlength:t.validationRules.maxLength?t.validationRules.maxLength:null,minlength:t.validationRules.minLength?t.validationRules.minLength:null,min:t.minimumNumber||null,max:t.maximumNumber||null,onBlur:r.controlBlurred,onChange:r.validateErrors,onFocus:r.resetErrors},null,8,["modelValue","class","id","name","required","v","aria-invalid","aria-describedby","maxlength","minlength","min","max","onBlur","onChange","onFocus"]),vue.createVNode(s,{class:"vs-number-input__increment","icon-only":!0,size:"sm",icon:"fa-regular fa-plus",disabled:a.inputVal>=t.maximumNumber?!0:null,onClick:r.incrementValue},{default:vue.withCtx(()=>[...n[3]||(n[3]=[vue.createTextVNode(" Add 1 ",-1)])]),_:1},8,["disabled","onClick"]),r.showClearButton?(vue.openBlock(),vue.createBlock(s,{key:2,class:"vs-number-input__clear-button d-none d-lg-block","data-test":"input-clear-button",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:n[1]||(n[1]=vue.withModifiers(l=>r.clearInputAndFocus(),["prevent"]))},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$r,vue.toDisplayString(t.clearButtonText),1)]),_:1})):vue.createCommentVNode("",!0)])}const VsNumberInput=LoadingSpinner._export_sfc(_sfc_main$1_,[["render",_sfc_render$1J]]),_sfc_main$1Z={name:"VsCarbonCalculatorQuestion",status:"prototype",release:"0.0.1",components:{BFormGroup:LoadingSpinner.ku,VsRadioButton,VsNumberInput},props:{label:{type:String,required:!0},labelFor:{type:String,required:!0},hint:{type:String,default:""},fieldClass:{type:String,required:!0},fieldType:{type:String,default:"radio",validator:e=>e.match(/(radio|number)/)},fieldName:{type:String,required:!0},options:{type:Array,required:!0},minimum:{type:Number,default:0},maximum:{type:Number,default:0}},emits:["updateFieldData"],methods:{valueChanged(e){this.$emit("updateFieldData",e)}}},_hoisted_1$1u=["for"];function _sfc_render$1I(e,n,t,o,a,r){const s=vue.resolveComponent("VsRadioButton"),i=vue.resolveComponent("VsNumberInput"),l=vue.resolveComponent("BFormGroup");return vue.openBlock(),vue.createBlock(l,{class:vue.normalizeClass([t.fieldClass,"vs-carbon-calculator-question"]),"data-test":"vs-carbon-calculator-question"},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(t.fieldClass)},[vue.createElementVNode("label",{class:"vs-carbon-calculator-question__label mb-200",for:t.fieldName},vue.toDisplayString(t.label),9,_hoisted_1$1u),t.fieldType==="radio"?(vue.openBlock(),vue.createBlock(s,{key:0,"field-name":t.fieldName,options:t.options,required:!0,"hint-text":t.hint,onUpdateFieldData:r.valueChanged},null,8,["field-name","options","hint-text","onUpdateFieldData"])):vue.createCommentVNode("",!0),t.fieldType==="number"?(vue.openBlock(),vue.createBlock(i,{key:1,"field-name":t.fieldName,"increment-controls":!0,value:0,"minimum-number":t.minimum,"maximum-number":t.maximum,"hint-text":t.hint,onUpdated:r.valueChanged},null,8,["field-name","minimum-number","maximum-number","hint-text","onUpdated"])):vue.createCommentVNode("",!0)],2)]),_:1},8,["class"])}const VsCarbonCalculatorQuestion=LoadingSpinner._export_sfc(_sfc_main$1Z,[["render",_sfc_render$1I]]),_sfc_main$1Y={name:"VsCarbonCalculator",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsWarning:LoadingSpinner.VsWarning,VsProgressBar,VsHeading:LoadingSpinner.VsHeading,VsCarbonCalculatorResults,VsCarbonCalculatorTip,VsCarbonCalculatorRunningTotal,VsCarbonCalculatorIntro,VsCarbonCalculatorQuestion},mixins:[LoadingSpinner.dataLayerMixin],provide(){return{labelsMap:this.labelsMap}},props:{labelsMap:{type:Object,required:!0},language:{type:String,default:"en-gb"}},data(){return this.initialState()},computed:{currentQuestion(){return!this.formData||!this.activeStage?null:this.formData.fields[this.activeStage-1]},currentTip(){return this.activeStage&&this.labelsMap[`stage-${this.activeStage}.tip`]?this.labelsMap[`stage-${this.activeStage}.tip`]:""},stayDuration(){return this.form.howLongStay?parseInt(this.form.howLongStay,10):0},currentCategory(){return this.labelsMap[`stage-${this.activeStage}.title`]?this.labelsMap[`stage-${this.activeStage}.title`]:""},activeStageRepeatable(){return this.labelsMap[`stage-${this.activeStage}.repeat`]?this.labelsMap[`stage-${this.activeStage}.repeat`]:""}},mounted(){this.getFormData()},methods:{initialState(){return{formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,conditionalFields:{},reAlertErrors:!1,totalKilos:0,transportKilos:0,accommodationKilos:0,foodKilos:0,transportTip:null,foodTip:null,accommodationTip:null,transportInternalTip:null,activeStage:0,answerSet:!1,repeatableStages:{}}},restart(){const{formData:e,repeatableStages:n}=this;Object.assign(this.$data,this.initialState()),this.$data.formData=e,this.$data.repeatableStages=n,this.cleanFields()},cleanFields(){for(let e=this.formData.fields.length-1;e>=0;e--)this.formData.fields[e].isClone&&this.formData.fields.splice(e,1);for(let e=0;e<Object.keys(this.repeatableStages).length;e++)this.repeatableStages[Object.keys(this.repeatableStages)[e]].generations=0},getFormData(){LoadingSpinner.axios.get(this.labelsMap.formUrl).then(e=>{if(this.formData=e.data,e.data.fields.forEach(n=>{this.form[n.name]="",n.conditional&&(this.conditionalFields[n.name]=!1)}),this.repeatableStages={},e.data.repeatableStages)for(let n=0;n<e.data.repeatableStages.length;n++)this.repeatableStages[e.data.repeatableStages[n]]={generations:0}})},getMessagingData(e,n){return Object.keys(this.messagingData).length>0?this.messagingData[n][e]:e==="validation"?{}:""},getQuestionLabel(e,n){if(e.isClone){if(this.labelsMap[`question-${e.originalNumber+1}.clone-question`])return this.labelsMap[`question-${e.originalNumber+1}.clone-question`];if(this.labelsMap[`question-${e.originalNumber+1}.question`])return this.labelsMap[`question-${e.originalNumber+1}.question`]}return this.labelsMap[`question-${n+1}.question`]?this.labelsMap[`question-${n+1}.question`]:""},getQuestionHint(e,n){if(e.isClone){if(this.labelsMap[`question-${e.originalNumber+1}.clone-hint`])return this.labelsMap[`question-${e.originalNumber+1}.clone-hint`];if(this.labelsMap[`question-${e.originalNumber+1}.hint`])return this.labelsMap[`question-${e.originalNumber+1}.hint`]}return this.labelsMap[`question-${n+1}.hint`]?this.labelsMap[`question-${n+1}.hint`]:""},getQuestionOptions(e,n){let t;if(e.isClone?t=e.originalNumber:t=n,e.element==="radio"){const{options:o}=e;for(let a=0;a<o.length;a++)o[a].text=this.labelsMap[`question-${t+1}.option-${a+1}`];return o}return[]},updateFieldData(e){this.form[e.field]=e.value||"",e.value?this.answerSet=!0:this.answerSet=!1,this.manageErrorStatus(e.field,e.errors),this.checkConditionalFields(),this.calculateEmissions()},manageErrorStatus(e,n){const t=this.errorFields.indexOf(e);t!==-1?(!n||n.length<1)&&this.errorFields.splice(t,1):n&&n.length>0&&this.errorFields.push(e)},getRadioValue(e,n){if(!n)return 0;let t;for(let a=0;a<this.formData.fields.length;a++)this.formData.fields[a].name===e&&(t=this.formData.fields[a]);const o=t.values[n];if(t.multiplyByNumber)return o*t.multiplyByNumber;if(t.multiplyByAnswer){let a=this.form[t.multiplyByAnswer.question]||0;return a=Math.max(a,t.multiplyByAnswer.minimum),o*a}if(t.multiplyByValue&&e!==t.multiplyByValue){let a=this.getNumberValue(t.multiplyByValue.question,this.form[t.multiplyByValue.question])||0;return a=Math.max(a,t.multiplyByValue.minimum),o*a}return o},getNumberValue(e,n){if(!n)return 0;let t;for(let o=0;o<this.formData.fields.length;o++)this.formData.fields[o].name===e&&(t=this.formData.fields[o]);if(t.multiplyByNumber)return parseInt(n,10)*t.multiplyByNumber;if(t.multiplyByAnswer){const o=this.form[t.multiplyByAnswer.question]||0;return parseInt(n,10)*o}if(t.multiplyByValue&&e!==t.multiplyByValue){const o=this.getNumberValue(t.multiplyByValue.question,this.form[t.multiplyByValue.question]);return parseInt(n,10)*o}return 0},getFieldValue(e){return e.element==="radio"?this.getRadioValue(e.name,this.form[e.name]):e.element==="number"?this.getNumberValue(e.name,this.form[e.name]):0},calculateEmissions(){this.transportKilos=0,this.accommodationKilos=0,this.foodKilos=0;for(let e=0;e<this.formData.fields.length;e++){const n=this.formData.fields[e];switch(n.stage){case 1:case 3:this.transportKilos+=this.getFieldValue(n);break;case 2:this.accommodationKilos+=this.getFieldValue(n);break;case 4:this.foodKilos+=this.getFieldValue(n);break}}this.totalKilos=this.transportKilos+this.accommodationKilos+this.foodKilos},checkConditionalFields(){Object.keys(this.conditionalFields).forEach(e=>{const n=this.formData.fields.find(o=>o.name===e);let t=!0;Object.keys(n.conditional).forEach(o=>{const a=n.conditional[o];Array.isArray(a)?a.indexOf(this.form[o])===-1&&(t=!1):this.form[o]!==a&&(t=!1),t?this.conditionalFields[e]=!0:(this.conditionalFields[e]=!1,this.manageErrorStatus(e,[]))})})},forwardPage(e){e&&e.preventDefault(),this.activeStage&&this.createDataLayerObject("carbonQuestionEvent",{questionNumber:this.activeStage,answer:this.form[this.currentQuestion.name]}),this.activeStage+=1,this.checkNewAnswerSet(),this.resetFocus()},backwardPage(e){e&&e.preventDefault(),this.activeStage-=1,this.checkNewAnswerSet(),this.resetFocus()},checkNewAnswerSet(){if(this.activeStage>this.formData.stages){this.answerSet=!0;return}this.answerSet=!0;for(let e=0;e<this.formData.fields.length;e++)if(this.formData.fields[e].stage===this.activeStage){const n=this.formData.fields[e];n.element==="radio"&&!this.form[n.name]?this.answerSet=!1:n.element==="number"&&!this.form[n.name]&&(this.form[n.name]=n.validation.min)}},isRepeatable(e){return!!(this.repeatableStages[e]&&this.repeatableStages[e].generations<3)},conditionalElementClass(e){return this.conditionalFields[e]===!0||typeof this.conditionalFields[e]>"u"?"":"d-none"},resetFocus(){this.$nextTick(()=>{this.$nextTick(()=>{try{this.$refs.questions[this.activeStage-1].$el.focus(),this.$refs.progress.$el.scrollIntoView()}catch{}})})},duplicateCurrentStage(e){e&&e.preventDefault();const n=this.repeatableStages[this.activeStage].generations+1;for(let t=0;t<this.formData.fields.length;t++){const o=this.formData.fields[t];if(o.stage===this.activeStage&&!o.isClone){const a=JSON.parse(JSON.stringify(o));a.isClone=!0;const r=`${o.name}${n}`;a.name=r,a.originalNumber=t,this.form[r]="",this.formData.fields.push(a)}}this.repeatableStages[this.activeStage].generations=n}}},_hoisted_1$1t={class:"vs-carbon-calculator__wrapper"},_hoisted_2$11={key:1};function _sfc_render$1H(e,n,t,o,a,r){const s=vue.resolveComponent("VsCarbonCalculatorIntro"),i=vue.resolveComponent("VsProgressBar"),l=vue.resolveComponent("VsHeading"),u=vue.resolveComponent("VsCarbonCalculatorQuestion"),c=vue.resolveComponent("VsButton"),d=vue.resolveComponent("VsCarbonCalculatorTip"),v=vue.resolveComponent("VsCol"),m=vue.resolveComponent("VsCarbonCalculatorRunningTotal"),f=vue.resolveComponent("VsCarbonCalculatorResults"),p=vue.resolveComponent("VsRow"),g=vue.resolveComponent("VsContainer"),_=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1t,[vue.createVNode(g,{class:"vs-carbon-calculator","data-test":"vs-carbon-calculator"},{default:vue.withCtx(()=>[e.formData&&e.formData.fields?(vue.openBlock(),vue.createBlock(p,{key:0,class:"vs-carbon-calculator__survey"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[e.activeStage?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(s,{key:0})),e.activeStage?(vue.openBlock(),vue.createElementBlock("form",_hoisted_2$11,[vue.createElementVNode("fieldset",null,[vue.createVNode(i,{max:e.formData.stages,"current-step":e.activeStage<=e.formData.stages?e.activeStage:e.formData.stages,"is-stepped":!0,"is-full":e.activeStage>e.formData.stages,"progress-label":t.labelsMap.progress,ref:"progress"},null,8,["max","current-step","is-full","progress-label"]),vue.withDirectives(vue.createElementVNode("div",null,[r.currentCategory?(vue.openBlock(),vue.createBlock(l,{key:0,level:"2","heading-style":"heading-m",class:"vs-carbon-calculator__category-heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.currentCategory),1)]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.formData.fields,(h,b)=>vue.withDirectives((vue.openBlock(),vue.createBlock(u,{ref_for:!0,ref:"questions",tabindex:"0",key:h.name,label:r.getQuestionLabel(h,b),"label-for":h.name,hint:r.getQuestionHint(h,b),"field-class":r.conditionalElementClass(h.name),"field-type":h.element,"field-name":h.name,options:r.getQuestionOptions(h,b),minimum:h.element==="number"?h.validation.min:0,maximum:h.element==="number"?h.validation.max:0,onUpdateFieldData:r.updateFieldData},null,8,["label","label-for","hint","field-class","field-type","field-name","options","minimum","maximum","onUpdateFieldData"])),[[vue.vShow,h.stage===e.activeStage]])),128))],512),[[vue.vShow,e.activeStage<=e.formData.fields.length]])])])):vue.createCommentVNode("",!0),r.isRepeatable(e.activeStage)?(vue.openBlock(),vue.createBlock(c,{key:2,class:"my-100",variant:"secondary",icon:"fa-regular fa-plus",onClick:n[0]||(n[0]=h=>r.duplicateCurrentStage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.activeStageRepeatable),1)]),_:1})):vue.createCommentVNode("",!0),r.currentTip?(vue.openBlock(),vue.createBlock(d,{key:3,tip:r.currentTip},null,8,["tip"])):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(v,{cols:"12"},{default:vue.withCtx(()=>[e.activeStage>0&&e.activeStage<=e.formData.stages?(vue.openBlock(),vue.createBlock(m,{key:0,"total-kilos":e.totalKilos,language:t.language},null,8,["total-kilos","language"])):vue.createCommentVNode("",!0),e.activeStage>e.formData.stages?(vue.openBlock(),vue.createBlock(f,{key:1,"total-kilos":e.totalKilos,"transport-kilos":e.transportKilos,"food-kilos":e.foodKilos,"accommodation-kilos":e.accommodationKilos,"stay-duration":r.stayDuration,"comparison-replacements":e.formData.comparisonReplacements,language:t.language},null,8,["total-kilos","transport-kilos","food-kilos","accommodation-kilos","stay-duration","comparison-replacements","language"])):vue.createCommentVNode("",!0)]),_:1}),e.activeStage===0?(vue.openBlock(),vue.createBlock(v,{key:0,class:"text-center",cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(c,{variant:"primary",type:"submit",class:"vs-form__submit mt-300",onClick:n[1]||(n[1]=h=>r.forwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labelsMap.begin),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),e.activeStage>0?(vue.openBlock(),vue.createBlock(v,{key:1,cols:"12"},{default:vue.withCtx(()=>[e.activeStage>1?(vue.openBlock(),vue.createBlock(c,{key:0,variant:"secondary",type:"submit",class:"vs-form__submit mt-300 float-start",ref:"backPage",onClick:n[2]||(n[2]=h=>r.backwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labelsMap.previous),1)]),_:1},512)):vue.createCommentVNode("",!0),e.activeStage<e.formData.stages?(vue.openBlock(),vue.createBlock(c,{key:1,variant:"primary",type:"submit",class:"vs-form__submit mt-300 float-end",ref:"forwardPage",disabled:e.activeStage>0&&!e.answerSet,onClick:n[3]||(n[3]=h=>r.forwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labelsMap.next),1)]),_:1},8,["disabled"])):vue.createCommentVNode("",!0),e.activeStage===e.formData.stages?(vue.openBlock(),vue.createBlock(c,{key:2,variant:"primary",type:"submit",class:"vs-form__submit mt-300 float-end",disabled:!e.answerSet,onClick:n[4]||(n[4]=h=>r.forwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labelsMap.results),1)]),_:1},8,["disabled"])):vue.createCommentVNode("",!0),e.activeStage>e.formData.stages?(vue.openBlock(),vue.createBlock(c,{key:3,variant:"primary",type:"submit",class:"vs-form__submit mt-300 float-end",onClick:n[5]||(n[5]=h=>r.restart())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labelsMap.restart),1)]),_:1})):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labelsMap.noJsMessage),1)]),_:1})])}const CarbonCalculator=LoadingSpinner._export_sfc(_sfc_main$1Y,[["render",_sfc_render$1H]]),_sfc_main$1X={name:"VsCard",status:"prototype",release:"0.1.0",provide(){return{registerMedia:e=>{this.mediaComponent=e}}},props:{cardStyle:{type:String,default:null,validator:e=>e.match(/(elevated|outlined|overlay)/)},fillColor:{type:String,default:"vs-color-interaction-cta-subtle"},accentBar:{type:Boolean,default:!1},horizontal:{type:Boolean,default:!1}},data(){return{tokens:LoadingSpinner.designTokens,mediaComponent:null}},computed:{cardClasses(){return[{"vs-card--horizontal":this.horizontal,"vs-card--accent-bar":this.accentBar},this.cardStyle?`vs-card--${this.cardStyle}`:null]},cardStyles(){return this.fillColor?{"background-color":this.tokens[this.fillColor]||this.fillColor}:null}},methods:{toggle(){var e,n;this.mediaComponent&&((n=(e=this.mediaComponent)==null?void 0:e.toggleVideo)==null||n.call(e))}}},_hoisted_1$1s={key:0,class:"vs-card__header"},_hoisted_2$10={class:"vs-card__body"},_hoisted_3$O={key:1,class:"vs-card__footer"},_hoisted_4$z={key:2,class:"vs-card__media"},_hoisted_5$q={key:3,class:"vs-card__overlay-controls"};function _sfc_render$1G(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-card",r.cardClasses]),"data-test":"vs-card",style:vue.normalizeStyle(r.cardStyles)},[e.$slots["vs-card-header"]&&e.$slots["vs-card-header"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1s,[vue.renderSlot(e.$slots,"vs-card-header")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$10,[vue.renderSlot(e.$slots,"vs-card-body")]),e.$slots["vs-card-footer"]&&e.$slots["vs-card-footer"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$O,[vue.renderSlot(e.$slots,"vs-card-footer")])):vue.createCommentVNode("",!0),t.cardStyle==="overlay"&&e.$slots["vs-card-image"]&&e.$slots["vs-card-image"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$z,[vue.renderSlot(e.$slots,"vs-card-image")])):vue.createCommentVNode("",!0),e.$slots["vs-card-overlay-controls"]&&e.$slots["vs-card-overlay-controls"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$q,[vue.renderSlot(e.$slots,"vs-card-overlay-controls")])):vue.createCommentVNode("",!0)],6)}const VsCard=LoadingSpinner._export_sfc(_sfc_main$1X,[["render",_sfc_render$1G]]),_sfc_main$1W={name:"VsCardGroup",status:"prototype",release:"0.1.0",props:{variant:{type:String,default:"grid",validator:e=>e.match(/(grid)/)},cardsPerRow:{type:Number,default:3,validator:e=>[3,4].includes(e)},scrollSnap:{type:[Boolean,String],default:!1,validator:e=>[!1,!0,"always"].includes(e)}},computed:{cardGroupClasses(){return["vs-card-group",{"is-scroll-snap-responsive":this.scrollSnap===!0,"is-scroll-snap-always":this.scrollSnap==="always","is-grid":this.variant==="grid"}]}}};function _sfc_render$1F(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(r.cardGroupClasses),style:vue.normalizeStyle({"--cards-in-row":t.cardsPerRow}),"data-test":"vs-card-group"},[vue.renderSlot(e.$slots,"default")],6)}const VsCardGroup=LoadingSpinner._export_sfc(_sfc_main$1W,[["render",_sfc_render$1F]]),noJsClass="no-js",jsIsDisabled=()=>document.getElementsByClassName(noJsClass).length>0,useVideoStore=pinia.defineStore("video",{state:()=>({videos:{}}),actions:{addVideo(e){this.videos[e.videoId]={...e}}}}),cookieCheckerMixin={data(){return{requiredCookies:[],requiredCookiesAllowed:!1,cookieManagerLoaded:!1}},methods:{managerLoaded(){this.cookieManagerLoaded=!0},cookiesUpdated(){let e=!1;typeof CookieControl<"u"&&this.requiredCookies&&(e=this.requiredCookies.every(n=>CookieControl&&CookieControl.getCategoryConsent(n)===!0)),this.requiredCookiesAllowed=e,typeof this.callbackOnUpdated<"u"&&this.callbackOnUpdated()}},computed:{cookiesAllowed(){return typeof window<"u"&&window.bypassCookiesRequired?!0:this.requiredCookiesAllowed},cookiesLoaded(){return typeof window<"u"&&window.bypassCookiesLoaded?!0:this.cookieManagerLoaded}},mounted(){window.addEventListener("cookieManagerLoaded",()=>{this.managerLoaded()}),window.addEventListener("cookiesUpdated",()=>{this.cookiesUpdated()})}},cookieCategories=Object.freeze({analytical:0,marketing:1}),cookieValues$5={youtube:[cookieCategories.marketing],embed:[cookieCategories.analytical,cookieCategories.marketing],google_maps:[cookieCategories.analytical,cookieCategories.marketing]},cookieValues$4=cookieValues$5.youtube,_sfc_main$1V={name:"VsStretchedLinkCard",status:"deprecated",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsLink,VsImg:LoadingSpinner.VsImg,VsButton:LoadingSpinner.VsButton,VsWarning:LoadingSpinner.VsWarning},mixins:[cookieCheckerMixin],inject:{noJsMessage:{default:null},theme:{default:null},noCookiesMessage:{default:null},cookieLinkText:{default:null}},props:{link:{type:String,required:!0,default:"#"},headingLevel:{type:[String,Number],default:"3",validator:e=>e.match(/(1|2|3|4|5|6)/)},headingStyle:{type:[String,Number],default:"heading-xs",validator:e=>e.match(/(display-m|display-s|heading-xl|heading-l|heading-m|heading-s|heading-xs|heading-xxs)/)},type:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},imgSrc:{type:String,default:void 0},imgAlt:{type:String,default:""},disabled:{type:Boolean,default:!1},videoId:{type:String,default:""},videoBtnText:{type:String,default:""},errorMessage:{type:String,default:""},errorType:{type:String,default:"image",validator:e=>e.match(/(image|full)/)},warningSize:{type:String,default:"small",validator:e=>e.match(/(normal|small)/)},businessSupport:{type:Boolean,default:!1},isHomePage:{type:Boolean,default:!1}},setup(){return{videoStore:useVideoStore()}},data(){return{jsDisabled:!0,requiredCookies:cookieValues$4}},computed:{formattedVideoBtnText(){return`${this.videoBtnText} | `},formattedVideoDuration(){let e=`${this.videoDetails.videoFullDuration.seconds}`;return e.length===1&&(e=`0${e}`),`${this.videoDetails.videoFullDuration.minutes}:${e}`},stretchedLinkCardClasses(){let e="";return this.disabled&&(e+="vs-stretched-link-card--disabled"),this.type==="video"&&(e+=" vs-stretched-link-card--video"),this.showWarning&&this.type==="video"&&(e+=" vs-stretched-link-card--warning"),e},videoDetails(){return this.videoStore?this.videoStore.videos[this.videoId]:null},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0},warningClass(){let e="";return this.videoId&&(this.jsDisabled||!this.cookiesAllowed)&&(e="vs-stretched-link-card__img-container--warning ",this.errorType==="full"&&(this.cookiesLoaded||this.jsDisabled)&&(e+="vs-stretched-link-card__img-container--warning-full")),e},showCookieWarning(){return!!(this.videoId&&!this.jsDisabled&&!this.cookiesAllowed&&this.cookiesLoaded)},showError(){return!!(this.videoId&&this.errorMessage!==""&&!this.cookiesLoaded)},showWarning(){return this.showError||this.showCookieWarning?this.errorType:!!this.jsDisabled},warningMessage(){let e="";return this.showCookieWarning?e=this.noCookiesMessage:e=this.errorMessage,e},warningAttrs(){const e={};return this.type==="cookie"&&(e.class="vs-warning__cookie-trigger"),this.size==="small"&&(e.size="sm"),e},isSvg(){return!!(this.imgSrc&&this.imgSrc.includes(".svg"))}},mounted(){this.jsDisabled=jsIsDisabled()},methods:{emitShowModal(){!this.videoId||!this.cookiesAllowed||this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$1r={key:0,class:"vs-stretched-link-card__video-btn-text"},_hoisted_2$$={key:4,class:"card-body"},_hoisted_3$N={key:0,class:"vs-stretched-link-card__category","data-test":"vs-stretched-link-card__category"},_hoisted_4$y={class:"vs-stretched-link-card__content","data-test":"vs-stretched-link-card__content"},_hoisted_5$p={key:2,class:"vs-stretched-link-card__badges","data-test":"vs-stretched-link-card__badges"};function _sfc_render$1E(e,n,t,o,a,r){const s=vue.resolveComponent("VsWarning"),i=vue.resolveComponent("VsImg"),l=vue.resolveComponent("VsButton"),u=vue.resolveComponent("VsLink"),c=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["card vs-stretched-link-card",r.stretchedLinkCardClasses]),"data-test":"vs-stretched-link-card",onClick:n[0]||(n[0]=(...d)=>r.emitShowModal&&r.emitShowModal(...d)),onKeypress:n[1]||(n[1]=(...d)=>r.emitShowModal&&r.emitShowModal(...d))},[r.showWarning==="full"?(vue.openBlock(),vue.createBlock(s,{key:0,size:t.warningSize,type:r.showCookieWarning?"cookie":"normal","data-test":"vs-stretched-link-card__full-warning",class:"vs-stretched-link-card__full-warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.warningMessage)+" ",1)]),_:2},[r.cookieLinkText!==""&&r.showCookieWarning?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.cookieLinkText),1)]),key:"0"}:void 0]),1032,["size","type"])):vue.createCommentVNode("",!0),t.errorType==="full"&&t.videoId!==""?(vue.openBlock(),vue.createBlock(s,{key:1,size:t.warningSize,"data-test":"vs-stretched-link-card__full-warning",class:"vs-stretched-link-card__full-warning vs-stretched-link-card__full-warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.noJsMessage),1)]),_:1},8,["size"])):vue.createCommentVNode("",!0),t.imgSrc?(vue.openBlock(),vue.createElementBlock("div",{key:2,class:vue.normalizeClass(["vs-stretched-link-card__img-container",r.warningClass])},[t.imgSrc?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(i,{src:t.imgSrc,alt:t.imgAlt,class:vue.normalizeClass(["vs-stretched-link-card__img",r.isSvg?"vs-stretched-link-card__img--svg":""]),"data-test":"vs-stretched-link-card__img","data-chromatic":"ignore"},null,8,["src","alt","class"]),t.videoId&&r.videoLoaded&&e.cookiesAllowed?(vue.openBlock(),vue.createBlock(l,{key:0,class:"vs-stretched-link-card__video-button","data-test":"vs-stretched-link-card__video-button",icon:"fa-regular fa-play","icon-position":"left",size:"md",ref:"videoShow",rounded:!1,onClick:r.emitShowModal},{default:vue.withCtx(()=>[t.videoBtnText?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$1r,vue.toDisplayString(r.formattedVideoBtnText),1)):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(r.formattedVideoDuration),1)]),_:1},8,["onClick"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),r.showWarning==="image"?(vue.openBlock(),vue.createBlock(s,{key:1,size:t.warningSize,type:r.showCookieWarning?"cookie":"normal","data-test":"vs-stretched-link-card__image-warning",class:"vs-stretched-link-card__image-warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.warningMessage)+" ",1)]),_:2},[r.cookieLinkText!==""&&r.showCookieWarning?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.cookieLinkText),1)]),key:"0"}:void 0]),1032,["size","type"])):vue.createCommentVNode("",!0),t.videoId!==""&&t.errorType==="image"?(vue.openBlock(),vue.createBlock(s,{key:2,size:t.warningSize,"data-test":"vs-stretched-link-card__warning",class:"vs-stretched-link-card__image-warning vs-stretched-link-card__image-warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.noJsMessage),1)]),_:1},8,["size"])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),e.$slots["stretched-card-panels"]&&e.$slots["stretched-card-panels"]()?vue.renderSlot(e.$slots,"stretched-card-panels",{key:3}):vue.createCommentVNode("",!0),r.showWarning!=="full"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$$,[e.$slots["stretched-card-category"]&&e.$slots["stretched-card-category"]()?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$N,[vue.renderSlot(e.$slots,"stretched-card-category")])):vue.createCommentVNode("",!0),e.$slots["stretched-card-header"]&&e.$slots["stretched-card-header"]()?(vue.openBlock(),vue.createBlock(c,{key:1,level:t.headingLevel,"heading-style":t.headingStyle,class:"card-title vs-stretched-link-card__title","data-test":"vs-stretched-link-card__title"},{default:vue.withCtx(()=>[e.$slots["stretched-card-link"]&&e.$slots["stretched-card-link"]()?vue.renderSlot(e.$slots,"stretched-card-header",{key:0}):!t.businessSupport&&t.type==="video"?vue.renderSlot(e.$slots,"stretched-card-header",{key:1}):(vue.openBlock(),vue.createBlock(u,{key:2,href:t.link,type:t.type,class:vue.normalizeClass(["stretched-link",t.disabled?"stretched-link--disabled":""]),variant:r.theme==="dark"?"on-dark":"primary","data-test":"vs-stretched-link",disabled:t.disabled,tabindex:(t.videoId||t.disabled)&&!t.businessSupport?"-1":"0"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stretched-card-header")]),_:3},8,["href","type","class","variant","disabled","tabindex"]))]),_:3},8,["level","heading-style"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$y,[vue.renderSlot(e.$slots,"stretched-card-content")]),e.$slots["stretched-card-badges"]&&e.$slots["stretched-card-badges"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$p,[vue.renderSlot(e.$slots,"stretched-card-badges")])):vue.createCommentVNode("",!0),e.$slots["stretched-card-link"]&&e.$slots["stretched-card-link"]()?(vue.openBlock(),vue.createBlock(u,{key:3,href:t.link,class:"vs-stretched-link-card__link stretched-link","data-test":"vs-stretched-link-card__link"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stretched-card-link")]),_:3},8,["href"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],34)}const VsStretchedLinkCard=LoadingSpinner._export_sfc(_sfc_main$1V,[["render",_sfc_render$1E]]),_sfc_main$1U={name:"VsStretchedLinkPanels",status:"deprecated",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{days:{type:String,default:""},transport:{type:String,default:""},daysLabel:{type:String,default:"days"},transportName:{type:String,default:""}}},_hoisted_1$1q={class:"vs-stretched-link-panels"},_hoisted_2$_={class:"vs-stretched-link-panels__panel vs-stretched-link-panels__panel--days","data-test":"vs-stretched-link-panel--days"},_hoisted_3$M={"data-test":""},_hoisted_4$x={class:"vs-stretched-link-panels__days"},_hoisted_5$o={class:"vs-stretched-link-panels__panel","data-test":"vs-stretched-link-panel"},_hoisted_6$i={"data-test":"vs-stretched-link-panel__icon"};function _sfc_render$1D(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1q,[vue.createElementVNode("div",_hoisted_2$_,[vue.createElementVNode("p",_hoisted_3$M,[vue.createElementVNode("span",_hoisted_4$x,vue.toDisplayString(t.days),1),vue.createTextVNode(vue.toDisplayString(t.daysLabel),1)])]),vue.createElementVNode("div",_hoisted_5$o,[vue.createVNode(s,{icon:t.transport,variant:"inverse",size:"sm",class:"vs-stretched-link-panels__icon"},null,8,["icon"]),vue.createElementVNode("p",_hoisted_6$i,vue.toDisplayString(t.transportName),1)])])}const VsStretchedLinkPanels=LoadingSpinner._export_sfc(_sfc_main$1U,[["render",_sfc_render$1D]]),_sfc_main$1T={name:"VsCarouselSlide",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsStretchedLinkPanels,VsCol:LoadingSpinner.VsCol},inject:["slideCols","visibleSlides"],props:{imgSrc:{required:!0,type:String},imgAlt:{type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download)/)},linkUrl:{type:String,required:!0},categoryLabel:{type:String,default:null},category:{type:String,default:null},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},slideIndex:{type:String,required:!0}},methods:{isVisible(e){const n=parseInt(e,10);return this.visibleSlides.indexOf(n)>=0}}},_hoisted_1$1p={class:"vs-carousel-slide"},_hoisted_2$Z={class:"visually-hidden"},_hoisted_3$L={class:"vs-carousel-slide__title","data-test":"vs-carousel-slide__title"};function _sfc_render$1C(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsStretchedLinkCard"),l=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(l,{cols:r.slideCols.xs,sm:r.slideCols.sm,lg:r.slideCols.md,xl:r.slideCols.lg,"data-test":"vs-carousel-slide","aria-disabled":!r.isVisible(t.slideIndex)},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$1p,[vue.createVNode(i,{link:t.linkUrl,type:t.linkType,"img-src":t.imgSrc,"img-alt":t.imgAlt,class:vue.normalizeClass([r.isVisible(t.slideIndex)?"vs-carousel-slide__card--active":"vs-carousel-slide__card--disabled","vs-carousel-slide__card"]),disabled:!r.isVisible(t.slideIndex),"data-test":"vs-carousel-card"},vue.createSlots({"stretched-card-category":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$Z,vue.toDisplayString(t.categoryLabel)+": ",1),vue.createTextVNode(vue.toDisplayString(t.category),1)]),"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$L,[vue.renderSlot(e.$slots,"vs-carousel-slide-heading")])]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(s,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0]),1032,["link","type","img-src","img-alt","class","disabled"])])]),_:3},8,["cols","sm","lg","xl","aria-disabled"])}const CarouselSlide=LoadingSpinner._export_sfc(_sfc_main$1T,[["render",_sfc_render$1C]]),_sfc_main$1S={name:"VsCheckbox",status:"prototype",release:"0.0.1",components:{BFormCheckbox:LoadingSpinner.fn},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{fieldName:{type:String,required:!0},value:{type:String,default:""},label:{type:String,required:!0},validationRules:{type:Object,default(){return{}}},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},infoText:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1},size:{type:String,default:void 0,validator:e=>e.match(/(sm|md|lg)/)}},setup:()=>({v$:useVuelidate()}),data(){return{inputVal:"",errors:[]}},computed:{checkBoxClasses(){return{"vs-checkbox":!0,"vs-checkbox--error":this.isInvalid,"vs-checkbox--small":this.size==="sm"}}},watch:{value(e){this.inputVal=e},triggerValidate(){this.manualValidate()}},validations(){return this.rules}},_hoisted_1$1o=["id"],_hoisted_2$Y=["innerHTML"],_hoisted_3$K=["id"],_hoisted_4$w={class:"visually-hidden"},_hoisted_5$n={class:"vs-checkbox__label"};function _sfc_render$1B(e,n,t,o,a,r){const s=vue.resolveComponent("BFormCheckbox");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(r.checkBoxClasses)},[vue.createElementVNode("p",{class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_1$1o),t.infoText!==""?(vue.openBlock(),vue.createElementBlock("div",{key:0,innerHTML:t.infoText},null,8,_hoisted_2$Y)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,i=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:i,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$w,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors]])),128))],8,_hoisted_3$K)):vue.createCommentVNode("",!0),t.fieldName?(vue.openBlock(),vue.createBlock(s,vue.mergeProps({key:2,modelValue:a.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>a.inputVal=i),class:"me-100",name:t.fieldName,id:t.fieldName,value:t.value,unchecked_value:`not_${t.value}`},e.$attrs,{"data-test":"vs-checkbox",onBlur:e.emitStatus,onChange:e.emitStatus,required:e.isRequired,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription}),{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$n,vue.toDisplayString(t.label),1)]),_:1},16,["modelValue","name","id","value","unchecked_value","onBlur","onChange","required","aria-invalid","aria-describedby"])):vue.createCommentVNode("",!0)],2)}const VsCheckbox=LoadingSpinner._export_sfc(_sfc_main$1S,[["render",_sfc_render$1B]]),_sfc_main$1R={name:"VsDescriptionList",status:"prototype",release:"0.0.1",provide(){return{inline:vue.computed(()=>this.inline)}},props:{inline:{type:Boolean,default:!1}}};function _sfc_render$1A(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("dl",{class:vue.normalizeClass(["vs-description-list",{"list-inline":t.inline}])},[vue.renderSlot(e.$slots,"default")],2)}const DescriptionList=LoadingSpinner._export_sfc(_sfc_main$1R,[["render",_sfc_render$1A]]),_sfc_main$1Q={name:"VsDescriptionListItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol},inject:["inline"],props:{title:{type:Boolean,default:!1}}};function _sfc_render$1z(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(s,{tag:t.title?"dt":"dd",class:vue.normalizeClass({"list-inline-item":r.inline,"vs-description-list__detail":!t.title,"vs-description-list__detail--styled":!r.inline&&!t.title,"vs-description-list__term":t.title,"vs-description-list__term--styled":!r.inline&&t.title})},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{},void 0,!0)]),_:3},8,["tag","class"])}const DescriptionListItem=LoadingSpinner._export_sfc(_sfc_main$1Q,[["render",_sfc_render$1z],["__scopeId","data-v-46cd5138"]]),_sfc_main$1P={name:"VsDetail",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{size:{type:String,default:"medium",validator:e=>e.match(/(small|medium|large)/)},color:{type:String,default:"primary",validator:e=>e.match(/(primary|secondary|tertiary)/)},noMargins:{type:Boolean,default:!1},icon:{type:String,default:""},iconVariant:{type:String,default:"primary",validator:e=>e.match(/(primary|secondary|tertiary|cta|inverse|disabled|highlight|error|warning|success)/)}},computed:{detailClasses(){return["vs-detail",`vs-detail--${this.size}`,`vs-detail--${this.color}`,...this.icon?["d-flex","align-items-baseline"]:[],...this.noMargins?[]:["vs-detail--with-margins"]]},iconSize(){return this.size==="small"?"xxs":"xs"}}};function _sfc_render$1y(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("p",{class:vue.normalizeClass(r.detailClasses)},[t.icon?(vue.openBlock(),vue.createBlock(s,{key:0,class:"me-050 flex-shrink-0",icon:t.icon,size:r.iconSize,variant:t.iconVariant},null,8,["icon","size","variant"])):vue.createCommentVNode("",!0),vue.createElementVNode("span",null,[vue.renderSlot(e.$slots,"default")])],2)}const VsDetail=LoadingSpinner._export_sfc(_sfc_main$1P,[["render",_sfc_render$1y]]),_sfc_main$1O={name:"VsDropdown",status:"prototype",release:"0.0.1",components:{BDropdown:LoadingSpinner.un},props:{text:{type:String,default:""},variant:{type:String,default:"primary",validator:e=>e.match(/(primary|secondary)/)}},computed:{nonButtonContentSlots(){return LoadingSpinner.lodashExports.reject(this.$slots,{name:"button-content"})}}},_hoisted_1$1n={class:"dropdown-menu overflow-auto",role:"menu"};function _sfc_render$1x(e,n,t,o,a,r){const s=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(s,vue.mergeProps(e.$attrs,{variant:t.variant,class:"vs-dropdown"}),vue.createSlots({"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content",{},()=>[vue.createTextVNode(vue.toDisplayString(t.text),1)])]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:2},[vue.renderList(r.nonButtonContentSlots,(i,l)=>({name:l,fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,l)])}))]),1040,["variant"]),vue.createElementVNode("div",{class:vue.normalizeClass([e.$attrs.class,"dropdown vs-dropdown vs-dropdown--fallback"])},[vue.createElementVNode("ul",_hoisted_1$1n,[vue.renderSlot(e.$slots,"default")])],2)],64)}const VsDropdown=LoadingSpinner._export_sfc(_sfc_main$1O,[["render",_sfc_render$1x]]),_sfc_main$1N={name:"VsDropdownItem",status:"prototype",release:"0.0.1",components:{BDropdownItem:LoadingSpinner.Xi}};function _sfc_render$1w(e,n,t,o,a,r){const s=vue.resolveComponent("BDropdownItem");return vue.openBlock(),vue.createBlock(s,vue.mergeProps(e.$attrs,{role:"menuitem"}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsDropdownItem=LoadingSpinner._export_sfc(_sfc_main$1N,[["render",_sfc_render$1w]]),cookieValues$3=cookieValues$5.embed,_sfc_main$1M={name:"VsEmbedWrapper",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsBody:LoadingSpinner.VsBody,VsWarning:LoadingSpinner.VsWarning},mixins:[cookieCheckerMixin],props:{noCookiesRequired:{type:Boolean,default:!1},noCookieText:{type:String,required:!0},errorText:{type:String,required:!0},noJsText:{type:String,required:!0},extraContent:{type:String,default:""},embeddedScript:{type:String,default:""}},data(){return{requiredCookies:this.noCookiesRequired?null:cookieValues$3}},computed:{showError(){return this.noCookiesRequired?!1:!this.cookiesAllowed&&this.cookiesLoaded===!0||!this.cookiesLoaded},warningText(){let e="";return this.cookiesLoaded||(e=this.errorText),!this.cookiesAllowed&&this.cookiesLoaded===!0&&(e=this.noCookieText),e}},mounted(){this.embeddedScript&&this.noCookiesRequired&&this.loadScript()},methods:{loadScript(){const e=document.createElement("script");e.src=this.embeddedScript,document.head.appendChild(e)},callbackOnUpdated(){this.embeddedScript&&this.cookiesLoaded&&this.requiredCookiesAllowed&&this.loadScript()}}},_hoisted_1$1m={"data-test":"vs-embed-wrapper",class:"vs-embed-wrapper"},_hoisted_2$X={class:"vs-embed-wrapper__container",key:"embeddedContent"},_hoisted_3$J={key:"fallback"},_hoisted_4$v=["innerHTML"];function _sfc_render$1v(e,n,t,o,a,r){const s=vue.resolveComponent("VsBody"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsWarning"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1m,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",sm:"10","offset-sm":"1",md:"6","offset-md":"3"},{default:vue.withCtx(()=>[e.$slots["embed-intro-copy"]&&e.$slots["embed-intro-copy"]()&&!r.showError?(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-module-wrapper__intro vs-embed-wrapper__intro","data-test":"vs-module-wrapper__intro"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"embed-intro-copy")]),_:3})):vue.createCommentVNode("",!0)]),_:3}),vue.createVNode(i,{cols:"12"},{default:vue.withCtx(()=>[e.cookiesAllowed||t.noCookiesRequired?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$X,[vue.renderSlot(e.$slots,"embed-widget")])):vue.createCommentVNode("",!0),r.showError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$J,[vue.createVNode(l,{type:e.cookiesLoaded===!0?"cookie":"normal",class:"vs-embed-wrapper__error","data-test":"vs-embed-wrapper__error"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.warningText)+" ",1)]),_:2},[t.extraContent?{name:"extra-content",fn:vue.withCtx(()=>[vue.createElementVNode("div",{innerHTML:t.extraContent},null,8,_hoisted_4$v)]),key:"0"}:void 0,!e.cookiesAllowed&&e.cookiesLoaded===!0?{name:"button-text",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"embed-button-text")]),key:"1"}:void 0]),1032,["type"])])):vue.createCommentVNode("",!0),vue.createVNode(l,{type:"normal","data-test":"vs-embed-wrapper__error--no-js",class:"vs-embed-wrapper__error vs-embed-wrapper__error--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsText),1)]),_:1})]),_:3})]),_:3})]),_:3})])}const EmbedWrapper=LoadingSpinner._export_sfc(_sfc_main$1M,[["render",_sfc_render$1v]]),_sfc_main$1L={name:"VsEventCard",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsButton:LoadingSpinner.VsButton,VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow},props:{ctaHref:{type:String,default:"#"},ctaLabel:{type:String,default:""},ctaIcon:{type:String,default:""}}},_hoisted_1$1l={class:"card vs-event-card","data-test":"vs-event-card"},_hoisted_2$W={class:"card-body"},_hoisted_3$I={class:"vs-event-card__date"},_hoisted_4$u={key:0,class:"vs-event-card__content","data-test":"vs-event-card__content"},_hoisted_5$m={key:1,class:"vs-event-card__cta","data-test":"vs-event-card__cta"};function _sfc_render$1u(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1l,[vue.createElementVNode("div",_hoisted_2$W,[vue.createVNode(l,{class:"vs-event-card__header"},{default:vue.withCtx(()=>[vue.createVNode(i,{sm:"12",md:"9",class:"p-0"},{default:vue.withCtx(()=>[vue.createVNode(s,{class:"vs-event-card__heading","heading-style":"heading-xs",level:"3","data-test":"vs-event-card__heading"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"event-card-header")]),_:3})]),_:3}),e.$slots["event-card-date"]?(vue.openBlock(),vue.createBlock(i,{key:0,sm:"12",md:"3",class:"my-auto p-0","data-test":"vs-event-card__date"},{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_3$I,[vue.renderSlot(e.$slots,"event-card-date")])]),_:3})):vue.createCommentVNode("",!0)]),_:3}),e.$slots["event-card-content"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$u,[vue.renderSlot(e.$slots,"event-card-content")])):vue.createCommentVNode("",!0),t.ctaHref&&t.ctaLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$m,[vue.createVNode(u,{href:t.ctaHref,icon:t.ctaIcon,"icon-position":"right","data-test":"vs-event-card__cta"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaLabel),1)]),_:1},8,["href","icon"])])):vue.createCommentVNode("",!0)])])}const EventCard=LoadingSpinner._export_sfc(_sfc_main$1L,[["render",_sfc_render$1u]]),_hoisted_1$1k=["id"],_hoisted_2$V={class:"vs-filter__panel-wrapper"},_hoisted_3$H={class:"vs-filter__legend"},_sfc_main$1K={__name:"VsFilter",props:{filterId:{type:String,required:!0},filterLabel:{type:String,required:!0}},emits:["filter-updated"],setup(e,{expose:n}){const t=e,o=vue.ref(),a=i=>{const l=i;l.type==="checkbox"?l.checked=!1:l.type==="date"&&(l.value="")};return n({clearFilter:a,resetAll:()=>{o.value.querySelectorAll('input[type="checkbox"], input[type="date"]').forEach(l=>{a(l)})},resetOne:i=>{const l=o.value.querySelector(`#${i}`);a(l)}}),(i,l)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{class:"vs-filter","data-test":"vs-filter",id:t.filterId,ref_key:"filter",ref:o},[vue.createElementVNode("div",_hoisted_2$V,[vue.createElementVNode("fieldset",{class:"vs-filter__panel","data-test":"vs-filter__panel",onChange:l[0]||(l[0]=u=>i.$emit("filter-updated",u))},[vue.createElementVNode("legend",_hoisted_3$H,[vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-filters",size:"sm"}),vue.createTextVNode(" "+vue.toDisplayString(t.filterLabel),1)]),vue.renderSlot(i.$slots,"default")],32)])],8,_hoisted_1$1k),i.$slots["no-js"]?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsWarning,{key:0,class:"vs-filter__warning"},{default:vue.withCtx(()=>[vue.renderSlot(i.$slots,"no-js")]),_:3})):vue.createCommentVNode("",!0)],64))}},_hoisted_1$1j={key:0,class:"vs-filter-section__details"},_hoisted_2$U={class:"vs-filter-section__summary"},_hoisted_3$G={key:1,class:"vs-filter-section__section"},_sfc_main$1J={__name:"VsFilterSection",props:{sectionTitle:{type:String,default:void 0},type:{type:String,default:"list",validator:e=>e.match(/(inline|group|list)/)}},setup(e){const n=e,t=vue.computed(()=>({"vs-filter-section":!0,"vs-filter-section--inline":n.type==="inline"}));return(o,a)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(t.value),"data-test":"vs-filter-section"},[n.type==="group"?(vue.openBlock(),vue.createElementBlock("details",_hoisted_1$1j,[vue.createElementVNode("summary",_hoisted_2$U,[vue.createTextVNode(vue.toDisplayString(n.sectionTitle)+" ",1),vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-expand",variant:"highlight"})]),vue.renderSlot(o.$slots,"default")])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$G,[vue.renderSlot(o.$slots,"default")]))],2))}};function createHydrationCleanup(){let e=[];return{cleanup:()=>{e=e.filter(o=>(o(),!1))},onCleanup:o=>{e.push(o)}}}function createHydrationPromise(e){let n=()=>{};const t=new Promise(a=>{n=()=>{e(),a()}});return{promise:t,resolvePromise:n,onResolvedPromise:a=>{t.then(a)}}}function trackDepsOnRender(e){const n=e.effect.fn,t=e.render;e.render=(...o)=>{e.effect.fn=()=>t(...o);const a=e.effect.run();return e.effect.fn=n,e.render=t,a}}const isFunction=e=>typeof e=="function",isObject=e=>e!==null&&typeof e=="object";function traverseChildren(e,n){if(vue.isVNode(e)&&(n(e),e.children!==null)){if(Array.isArray(e.children)){e.children.forEach(t=>traverseChildren(t,n));return}isObject(e.children)&&Object.keys(e.children).forEach(t=>{if(!isFunction(e.children[t]))return;const o=e.children[t]();if(Array.isArray(o)){o.forEach(a=>traverseChildren(a,n));return}traverseChildren(o,n)})}}function isAsyncWrapper(e){var n,t;return((n=e.type)==null?void 0:n.__asyncLoader)&&((t=e.type)==null?void 0:t.name)==="AsyncComponentWrapper"}function waitForAsyncComponents({subTree:e},n){const t=[];if(traverseChildren(e,o=>{isAsyncWrapper(o)&&t.push(o.type.__asyncLoader())}),t.length>0){Promise.all(t).then(n);return}n()}function ensureParentHasSubTreeEl(e){if(!e||!e.subTree)return;const n=e.subTree.el,t=e.u;e.u===null&&(e.u=[]),e.u.push(()=>{e.subTree.el===null&&(e.subTree.el=n),e.u=t})}function useLazyHydration(){const e=vue.getCurrentInstance();if(!e||e.isMounted)throw new Error("useLazyHydration must be called from the setup method.");const n=e.vnode.el!==null;if(e.vnode.type.__isLazilyHydrated=!0,!n)return{willPerformHydration:n,onHydrated:()=>{}};const{cleanup:t,onCleanup:o}=createHydrationCleanup(),{promise:a,resolvePromise:r,onResolvedPromise:s}=createHydrationPromise(t),i=l=>s(()=>vue.nextTick(()=>waitForAsyncComponents(e,l)));return e.type.__asyncLoader=()=>a,ensureParentHasSubTreeEl(e.parent),vue.onBeforeMount(()=>{e.asyncDep=new Promise(l=>{l(!0)})}),s(()=>{trackDepsOnRender(e),e.asyncDep=null}),vue.onUnmounted(t),{willPerformHydration:n,hydrate:r,onHydrated:i,onCleanup:o}}function useHydrateWhenIdle({willPerformHydration:e,hydrate:n,onCleanup:t},o=2e3){if(!e)return;if(!vue.getCurrentInstance())throw new Error("useHydrateWhenIdle must be called from the setup or lifecycle hook methods.");if(!("requestIdleCallback"in window)){n();return}const a=requestIdleCallback(()=>{n()},{timeout:o});t(()=>{cancelIdleCallback(a)})}const DOMNodeTypes={ELEMENT:1,COMMENT:8},isElement=e=>e&&e.nodeType===DOMNodeTypes.ELEMENT,isComment=e=>e&&e.nodeType===DOMNodeTypes.COMMENT,isFragmentStart=e=>isComment(e)&&(e==null?void 0:e.data)==="[",isFragmentEnd=e=>isComment(e)&&(e==null?void 0:e.data)==="]";function getRootElements({vnode:e,subTree:n}){if(!e||e.el===null)return[];if(isElement(e.el))return[e.el];const t=[];if(n&&isFragmentStart(n.el)&&isFragmentEnd(n.anchor)){let o=e.el.nextSibling;for(;o;){if(o&&isElement(o)&&t.push(o),o===n.anchor)return t;o=o.nextSibling}}return t}function useHydrateOnInteraction({willPerformHydration:e,hydrate:n,onCleanup:t},o=["focus"]){if(!e)return;const a=vue.getCurrentInstance();if(!a||a.isMounted)throw new Error("useHydrateOnInteraction must be called from the setup method.");const r=vue.unref(o);vue.onMounted(()=>{const s=getRootElements(a),i=s.length>1?s[0].parentElement||document:s[0],l={capture:!0,once:!1,passive:!0},u=c=>{c.stopPropagation();const d=c.composedPath&&c.composedPath()||c.path;if(!d){let v=c.target;for(;v;){if(s.includes(v)){n();return}if(v===i)return;v=v.parentElement}return}s.forEach(v=>{d.includes(v)&&n()})};r.forEach(c=>{i.addEventListener(c,u,l)}),t(()=>{r.forEach(c=>{i.removeEventListener(c,u,l)})})})}function useHydrateWhenTriggered({willPerformHydration:e,hydrate:n,onCleanup:t},o){if(!e)return;if(!vue.getCurrentInstance())throw new Error("useHydrateWhenTriggered must be called from the setup or lifecycle hook methods.");const a=vue.watch(vue.isRef(o)?o:()=>o,r=>{r&&n()},{immediate:!0});t(a)}const observers=new Map;function createHydrationObserver(e){const n=typeof IntersectionObserver<"u";if(!n)return{supported:n};const t=JSON.stringify(e);if(observers.has(t))return{supported:n,observer:observers.get(t)};const o=new IntersectionObserver(a=>{a.forEach(r=>{!(r.isIntersecting||r.intersectionRatio>0)||!r.target.hydrate||r.target.hydrate()})},e);return observers.set(t,o),{supported:n,observer:o}}function useHydrateWhenVisible({willPerformHydration:e,hydrate:n,onCleanup:t},o){if(!e)return;const a=vue.getCurrentInstance();if(!a||a.isMounted)throw new Error("useHydrateWhenVisible must be called from the setup method.");const{supported:r,observer:s}=createHydrationObserver(o);if(!r){n();return}vue.onMounted(()=>{const i=getRootElements(a);i.forEach(l=>{l.hydrate=n,s.observe(l)}),t(()=>{i.forEach(l=>{delete l.hydrate,s.unobserve(l)})})})}const normalizeSlot=e=>e.length===1?e[0]:e,LazyHydrationWrapper=vue.defineComponent({name:"LazyHydrationWrapper",inheritAttrs:!1,suspensible:!1,props:{whenIdle:{default:!1,type:[Boolean,Number]},whenVisible:{default:!1,type:[Boolean,Object]},onInteraction:{default:!1,type:[Array,Boolean,String]},whenTriggered:{default:void 0,type:[Boolean,Object]}},emits:["hydrated"],setup(e,{slots:n,emit:t}){const o=useLazyHydration();if(!o.willPerformHydration)return()=>normalizeSlot(n.default());if(o.onHydrated(()=>t("hydrated")),e.whenIdle&&useHydrateWhenIdle(o,e.whenIdle!==!0?e.whenIdle:void 0),e.whenVisible&&useHydrateWhenVisible(o,e.whenVisible!==!0?e.whenVisible:void 0),e.onInteraction){let a;e.onInteraction!==!0&&(a=vue.computed(()=>Array.isArray(e.onInteraction)?e.onInteraction:[e.onInteraction]).value),useHydrateOnInteraction(o,a)}return e.whenTriggered!==void 0&&useHydrateWhenTriggered(o,vue.toRef(e,"whenTriggered")),()=>normalizeSlot(n.default())}}),LazyHydrationWrapper$1=vue.markRaw(LazyHydrationWrapper),_sfc_main$1I={name:"VsFooterNavList",status:"prototype",release:"0.0.1",components:{VsAccordion,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,LazyHydrationWrapper:LazyHydrationWrapper$1},props:{breakPoint:{type:String,default:null,validator:e=>e.match(/(xs|sm|md|lg|xl|xxl)/)}}},_hoisted_1$1i={class:"vs-footer-nav-list"};function _sfc_render$1t(e,n,t,o,a,r){const s=vue.resolveComponent("VsRow"),i=vue.resolveComponent("VsAccordion"),l=vue.resolveComponent("LazyHydrationWrapper"),u=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createBlock(u,{class:"vs-footer-nav-list","data-test":"vs-footer-nav-list"},{default:vue.withCtx(()=>[vue.createVNode(l,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$1i,[vue.createVNode(i,{"break-point":t.breakPoint},{default:vue.withCtx(()=>[vue.createVNode(s,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3},8,["break-point"])])]),_:3})]),_:3})}const VsFooterNavList=LoadingSpinner._export_sfc(_sfc_main$1I,[["render",_sfc_render$1t]]),_sfc_main$1H={name:"VsFooter",status:"prototype",release:"0.1.0",components:{VsFooterNavList,VsCol:LoadingSpinner.VsCol,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow}},_hoisted_1$1h={class:"vs-footer pt-150 pt-md-300","data-unique-id":"vs-footer",id:"site-footer"},_hoisted_2$T={class:"vs-footer__social-menu-wrapper"};function _sfc_render$1s(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsFooterNavList"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("footer",_hoisted_1$1h,[vue.createVNode(i,{"break-point":"md"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"accordion-items"),vue.createVNode(s,{cols:"12",lg:"3",xl:"2",class:"d-none d-lg-block","data-unique-id":"vs-footer-social_links"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"social-menu")]),_:3})]),_:3}),vue.createElementVNode("div",_hoisted_2$T,[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"12",class:"d-block d-lg-none","data-unique-id":"vs-footer-mobile_social_links"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"social-menu")]),_:3})]),_:3})]),_:3})]),vue.renderSlot(e.$slots,"default")])}const Footer=LoadingSpinner._export_sfc(_sfc_main$1H,[["render",_sfc_render$1s]]),_sfc_main$1G={name:"VsFooterAccordionItem",status:"prototype",release:"0.0.1",components:{VsAccordionItem},props:{controlId:{type:String,required:!0},itemBreakPoint:{type:String,default:e=>e.breakPoint,validator:e=>e.match(/(xs|sm|md|lg|xl|xxl)/)},openByDefault:{type:Boolean,default:!1},title:{type:String,required:!0},variant:{type:String,default:"primary"}},computed:{getUniqueId(){let e=this.title.toLowerCase();return e=e.replace(/\s+/g,"-"),`vs-footer-${e}`}}};function _sfc_render$1r(e,n,t,o,a,r){const s=vue.resolveComponent("VsAccordionItem");return vue.openBlock(),vue.createBlock(s,{class:"vs-footer-accordion-item mb-md-150","data-test":"vs-footer-accordion-item","data-unique-id":r.getUniqueId,"control-id":t.controlId,"item-break-point":t.itemBreakPoint,"open-by-default":t.openByDefault,variant:t.variant},{title:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),"icon-open":vue.withCtx(()=>[vue.renderSlot(e.$slots,"icon-open")]),"icon-closed":vue.withCtx(()=>[vue.renderSlot(e.$slots,"icon-closed")]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["data-unique-id","control-id","item-break-point","open-by-default","variant"])}const FooterAccordionItem=LoadingSpinner._export_sfc(_sfc_main$1G,[["render",_sfc_render$1r]]),_sfc_main$1F={name:"VsFooterNavListItem",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,default:null},type:{type:String,default:"default",validator:e=>e.match(/(default|external|internal|download)/)},linkText:{type:String,default:""}}},_hoisted_1$1g={class:"vs-footer-nav-list-item","data-test":"vs-footer-nav-list-item",role:"menuitem"};function _sfc_render$1q(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$1g,[vue.createVNode(s,{href:t.href,type:t.type,variant:"on-dark","data-test":"vs-footer-nav-list-item__link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.linkText),1)]),_:1},8,["href","type"])])}const FooterNavListItem=LoadingSpinner._export_sfc(_sfc_main$1F,[["render",_sfc_render$1q]]),_sfc_main$1E={name:"VsList",status:"prototype",release:"0.0.1",props:{ordered:{type:Boolean,default:!1},unstyled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1}}};function _sfc_render$1p(e,n,t,o,a,r){return vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(t.ordered?"ol":"ul"),vue.mergeProps({class:["vs-list",{"vs-list--unstyled":t.unstyled,"vs-list--inline":t.inline,"vs-list--ordered":t.ordered}]},e.$attrs),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["class"])}const VsList=LoadingSpinner._export_sfc(_sfc_main$1E,[["render",_sfc_render$1p]]),_sfc_main$1D={name:"VsFooterSocialMenu",status:"prototype",release:"0.0.1",components:{VsList,VsHeading:LoadingSpinner.VsHeading}},_hoisted_1$1f={class:"vs-footer-social-menu px-0 py-150 py-md-200 py-lg-0 px-lg-075","data-test":"vs-footer-social-menu"};function _sfc_render$1o(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsList");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1f,[vue.createVNode(s,{level:"2","heading-style":"heading-xxs",class:"vs-footer-social-menu__title"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"title")]),_:3}),vue.createVNode(i,{unstyled:"",class:"mt-125 mt-md-0 mt-lg-125 pe-lg-400 pe-xl-300"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})])}const FooterSocialMenu=LoadingSpinner._export_sfc(_sfc_main$1D,[["render",_sfc_render$1o]]),_sfc_main$1C={name:"VsFooterSocialItem",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon:LoadingSpinner.VsIcon},mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,required:!0},icon:{type:String,required:!0},ariaLabelOverride:{type:String,default:""}}},_hoisted_1$1e={class:"vs-footer-social-item","data-test":"vs-footer-social-item"};function _sfc_render$1n(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$1e,[vue.createVNode(i,{"data-test":"vs-footer-social-item__link",href:t.href,type:"external","aria-label":t.ariaLabelOverride?t.ariaLabelOverride:t.icon,"data-layer-value":"socialMediaExternalLinkDataEvent"},{default:vue.withCtx(()=>[vue.createVNode(s,{icon:t.icon,variant:"inverse",size:"sm"},null,8,["icon"])]),_:1},8,["href","aria-label"])])}const FooterSocialItem=LoadingSpinner._export_sfc(_sfc_main$1C,[["render",_sfc_render$1n]]),_sfc_main$1B={name:"VsFooterUtilityList",status:"prototype",release:"0.0.1",components:{VsList,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol}},_hoisted_1$1d={class:"vs-footer-utility-list","data-test":"vs-footer-utility-list","data-unique-id":"vs-footer-utility_links"};function _sfc_render$1m(e,n,t,o,a,r){const s=vue.resolveComponent("VsList"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1d,[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",sm:"7",md:"12"},{default:vue.withCtx(()=>[vue.createVNode(s,{unstyled:"",role:"menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3})])}const FooterUtilityList=LoadingSpinner._export_sfc(_sfc_main$1B,[["render",_sfc_render$1m]]),files=Object.assign({"../assets/svg/brandscotland-logo.svg":()=>Promise.resolve().then(()=>require("./brandscotland-logo-BbDMkgti.js")).then(e=>e.default),"../assets/svg/cookie-coo.svg":()=>Promise.resolve().then(()=>require("./cookie-coo-Bc1O8aR_.js")).then(e=>e.default),"../assets/svg/highland-cow.svg":()=>Promise.resolve().then(()=>require("./highland-cow-CRm5ANrL.js")).then(e=>e.default),"../assets/svg/iCentre.svg":()=>Promise.resolve().then(()=>require("./iCentre-BeepnBTk.js")).then(e=>e.default),"../assets/svg/icons/docs/deprecated.svg":()=>Promise.resolve().then(()=>require("./deprecated-Cl9osRH8.js")).then(e=>e.default),"../assets/svg/icons/docs/prototype.svg":()=>Promise.resolve().then(()=>require("./prototype-ggLuAMuB.js")).then(e=>e.default),"../assets/svg/icons/docs/ready.svg":()=>Promise.resolve().then(()=>require("./ready-DSUouF6L.js")).then(e=>e.default),"../assets/svg/icons/docs/review.svg":()=>Promise.resolve().then(()=>require("./review-Bi0lAugE.js")).then(e=>e.default),"../assets/svg/icons/instagram-filled.svg":()=>Promise.resolve().then(()=>require("./instagram-filled-CvF3WA5q.js")).then(e=>e.default),"../assets/svg/no-js-coo.svg":()=>Promise.resolve().then(()=>require("./no-js-coo-BEt1aICD.js")).then(e=>e.default),"../assets/svg/os-logo-maps-white.svg":()=>Promise.resolve().then(()=>require("./os-logo-maps-white-DOUatF7F.js")).then(e=>e.default),"../assets/svg/os-logo-maps.svg":()=>Promise.resolve().then(()=>require("./os-logo-maps-CF9QEvIX.js")).then(e=>e.default),"../assets/svg/visitscotland-logo.svg":()=>Promise.resolve().then(()=>require("./visitscotland-logo-yAzNpi5x.js")).then(e=>e.default)}),newFiles={};for(const[e,n]of Object.entries(files)){const t=e.replace("../assets/svg",".");newFiles[t]=n}const output=newFiles,_sfc_main$1A={name:"VsSvg",release:"0.1.1",status:"prototype",props:{path:{type:String,required:!0},fill:{type:String,default:""},height:{type:[Number,String],default:""},width:{type:[Number,String],default:""}},data(){return{svg:null}},computed:{nativeAttrs(){if(this.svg){const n=LoadingSpinner.lodashExports.first(this.svg.match(/<svg[^>]+.*?>/)).match(/(\S+)=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?/g),t=LoadingSpinner.lodashExports.fromPairs(LoadingSpinner.lodashExports.map(n,LoadingSpinner.lodashExports.partial(LoadingSpinner.lodashExports.split,LoadingSpinner.lodashExports.partial.placeholder,"=",2)));return LoadingSpinner.lodashExports.mapValues(t,LoadingSpinner.lodashExports.partial(LoadingSpinner.lodashExports.replace,LoadingSpinner.lodashExports.partial.placeholder,/"/g,""))}return null},attributes(){if(this.svg){const e={};let n={};return this.fill&&(LoadingSpinner.lodashExports.has(this.nativeAttrs,"style")?(n=this.nativeStyleAttrMap,n.fill=this.fill):n={fill:this.fill},e.style=LoadingSpinner.lodashExports.join(LoadingSpinner.lodashExports.map(LoadingSpinner.lodashExports.toPairs(n),LoadingSpinner.lodashExports.partial(LoadingSpinner.lodashExports.join,LoadingSpinner.lodashExports.partial.placeholder,":")),";")),this.height&&(e.height=this.height),this.width&&(e.width=this.width),LoadingSpinner.lodashExports.extend({},this.nativeAttrs,e)}return null},nativeStyleAttrMap(){if(this.svg){const e=LoadingSpinner.lodashExports.map(LoadingSpinner.lodashExports.split(this.nativeAttrs.style,";"),LoadingSpinner.lodashExports.ary(LoadingSpinner.lodashExports.partial(LoadingSpinner.lodashExports.split,LoadingSpinner.lodashExports.partial.placeholder,":"),1));return LoadingSpinner.lodashExports.fromPairs(e)}return null},children(){return this.svg?LoadingSpinner.lodashExports.nth(this.svg.match(/(<svg[^>]+.*?>)([\s\S]*)(<\/svg>)/),2):null}},mounted(){typeof output=="function"?this.svg=output(`./${this.path}.svg`):output[`./${this.path}.svg`]().then(e=>{this.svg=e})}},_hoisted_1$1c=["innerHTML"];function _sfc_render$1l(e,n,t,o,a,r){return a.svg?(vue.openBlock(),vue.createElementBlock("svg",vue.mergeProps({key:0},r.attributes,{innerHTML:r.children,focusable:"false"}),null,16,_hoisted_1$1c)):vue.createCommentVNode("",!0)}const VsSvg=LoadingSpinner._export_sfc(_sfc_main$1A,[["render",_sfc_render$1l]]),_sfc_main$1z={name:"VsSvgLink",status:"prototype",release:"0.0.1",components:{VsSvg,VsLink},props:{linkAltText:{type:String,required:!0},href:{type:String,required:!0},svgFill:{type:String,default:""},svgPath:{type:String,required:!0},svgHeight:{type:[Number,String],default:""},svgWidth:{type:[Number,String],default:""},dataLayerValue:{type:String,default:null},linkVariant:{type:String,default:"primary",validator:e=>e.match(/(primary|on-dark)/)}}},_hoisted_1$1b={class:"visually-hidden","data-test":"link-alt-text"};function _sfc_render$1k(e,n,t,o,a,r){const s=vue.resolveComponent("VsSvg"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createBlock(i,{class:"vs-svg-link","data-test":"vs-svg-link",href:t.href,"data-layer-value":t.dataLayerValue,variant:t.linkVariant},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$1b,vue.toDisplayString(t.linkAltText),1),vue.createVNode(s,{"data-test":"vs-svg-link__svg",focusable:"false",path:t.svgPath,fill:t.svgFill,width:t.svgWidth,height:t.svgHeight},null,8,["path","fill","width","height"])]),_:1},8,["href","data-layer-value","variant"])}const VsSvgLink=LoadingSpinner._export_sfc(_sfc_main$1z,[["render",_sfc_render$1k]]),_sfc_main$1y={name:"VsFooterCopyright",status:"prototype",release:"0.0.1",components:{VsSvgLink,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol},props:{linkAltText:{type:String,required:!0},href:{type:String,required:!0}},data(){return{currentYear:""}},computed:{getCurrentYear(){return new Date().getFullYear()}}},_hoisted_1$1a={class:"vs-footer-copyright","data-unique-id":"vs-footer-sub_footer","data-test":"vs-footer-copyright"},_hoisted_2$S={class:"vs-footer-copyright__text"};function _sfc_render$1j(e,n,t,o,a,r){const s=vue.resolveComponent("VsSvgLink"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1a,[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",class:"text-center"},{default:vue.withCtx(()=>[vue.createVNode(s,{class:"vs-footer-copyright__logo mb-100","data-test":"vs-footer-copyright-logo","link-alt-text":t.linkAltText,href:t.href,"svg-fill":"#ffffff","svg-path":"brandscotland-logo","link-variant":"on-dark"},null,8,["link-alt-text","href"]),vue.createElementVNode("p",_hoisted_2$S,[vue.createTextVNode(" © "+vue.toDisplayString(r.getCurrentYear)+" ",1),vue.renderSlot(e.$slots,"copyright")])]),_:3})]),_:3})]),_:3})])}const FooterCopyright=LoadingSpinner._export_sfc(_sfc_main$1y,[["render",_sfc_render$1j]]),_sfc_main$1x={name:"VsGlobalMenu",status:"deprecated",release:"0.1.0",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,LazyHydrationWrapper:LazyHydrationWrapper$1},props:{dropdownLabel:{type:String,default:"Our Websites"}},data(){return{websites:[{siteName:"VisitScotland",siteUrl:"https://www.visitscotland.com/"},{siteName:"Business Events",siteUrl:"https://businessevents.visitscotland.com/"},{siteName:"Travel Trade",siteUrl:"https://traveltrade.visitscotland.org/"},{siteName:"Toolkit",siteUrl:"https://toolkit.visitscotland.org/"},{siteName:"Corporate",siteUrl:"https://www.visitscotland.org/"}]}}},_hoisted_1$19={class:"vs-global-menu"};function _sfc_render$1i(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer"),u=vue.resolveComponent("LazyHydrationWrapper");return vue.openBlock(),vue.createElementBlock("nav",_hoisted_1$19,[vue.createVNode(u,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createVNode(l,{fluid:"lg",class:"px-025 px-sm-075"},{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"12",class:"vs-global-menu__wrapper"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"third-menu-item")]),_:3})]),_:3})]),_:3})]),_:3})])}const GlobalMenu=LoadingSpinner._export_sfc(_sfc_main$1x,[["render",_sfc_render$1i]]),_sfc_main$1w={name:"VsGlobalMenuLanguage",status:"prototype",release:"0.1.0",components:{VsDropdown,VsIcon:LoadingSpinner.VsIcon},mixins:[cookieMixin],props:{languageLabel:{type:String,default:"Language"},language:{type:String,default:"en"}},mounted(){this.cookieExists("vs_locale")||this.setCookie("vs_locale",this.localeCookie,!0),this.cookieExists("googtrans")||this.setCookie("googtrans",this.translationCookie,!0)}},_hoisted_1$18={class:"vs-global-menu__languages__text"},_hoisted_2$R={class:"vs-global-menu__languages__selected"},_hoisted_3$F={class:"vs-global-menu__languages__label",role:"menuitem"};function _sfc_render$1h(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsDropdown");return vue.openBlock(),vue.createBlock(i,{variant:"primary",class:"vs-global-menu__languages"},{"button-content":vue.withCtx(()=>[vue.createVNode(s,{class:"vs-global-menu__languages__icon",icon:"fa-regular fa-globe",variant:"inverse",size:"xxs",focusable:"false"}),vue.createElementVNode("span",_hoisted_1$18,vue.toDisplayString(t.languageLabel),1),vue.createElementVNode("span",_hoisted_2$R,vue.toDisplayString(e.selectedLanguage),1)]),default:vue.withCtx(()=>[vue.createElementVNode("li",_hoisted_3$F,[vue.createVNode(s,{icon:"fa-regular fa-globe",variant:"inverse",size:"xxs",focusable:"false"}),vue.createTextVNode(" "+vue.toDisplayString(t.languageLabel),1)]),vue.renderSlot(e.$slots,"default")]),_:3})}const GlobalMenuLanguage=LoadingSpinner._export_sfc(_sfc_main$1w,[["render",_sfc_render$1h]]),_sfc_main$1v={name:"VsGlobalMenuLanguageItem",status:"prototype",release:"0.1.0",components:{VsDropdownItem},mixins:[cookieMixin],props:{languageName:{type:String,default:null},languageLink:{type:String,default:null},language:{type:String,default:null}},methods:{setLanguage(){const e=this.cookieExists("vs_locale"),n=this.cookieExists("googtrans");this.setCookie("vs_locale",this.localeCookie,!e),this.setCookie("googtrans",this.translationCookie,!n)}}};function _sfc_render$1g(e,n,t,o,a,r){const s=vue.resolveComponent("VsDropdownItem");return vue.openBlock(),vue.createBlock(s,{class:"vs-global-menu__languages__item",href:t.languageLink,onClick:n[0]||(n[0]=i=>r.setLanguage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.languageName),1)]),_:1},8,["href"])}const GlobalMenuLanguageItem=LoadingSpinner._export_sfc(_sfc_main$1v,[["render",_sfc_render$1g]]),_sfc_main$1u={name:"VsMediaCaption",status:"prototype",release:"0.0.1",components:{VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsContainer:LoadingSpinner.VsContainer},props:{videoId:{type:String,default:""},rightAlign:{type:Boolean,default:!1}},setup(){return{videoStore:useVideoStore()}},computed:{videoDetails(){var e,n;return(n=(e=this.videoStore)==null?void 0:e.videos)==null?void 0:n[this.videoId]},captionClasses(){return[{"text-end":this.rightAlign}]}}},_hoisted_1$17={key:0,class:"vs-media-caption__image-caption"},_hoisted_2$Q={key:1,class:"vs-media-caption__image-credit"},_hoisted_3$E={key:0};function _sfc_render$1f(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",{"data-test":"vs-media-caption",class:vue.normalizeClass(["vs-media-caption",r.captionClasses])},[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,null,{default:vue.withCtx(()=>{var u,c;return[e.$slots.caption?(vue.openBlock(),vue.createElementBlock("p",_hoisted_1$17,[vue.renderSlot(e.$slots,"caption")])):vue.createCommentVNode("",!0),e.$slots.credit||t.videoId&&((u=r.videoDetails)!=null&&u.videoDurationMsg)?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$Q,[t.videoId&&((c=r.videoDetails)!=null&&c.videoDurationMsg)?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$E,vue.toDisplayString(r.videoDetails.videoDurationMsg),1)):vue.createCommentVNode("",!0),e.$slots.credit&&!t.videoId?vue.renderSlot(e.$slots,"credit",{key:1}):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]}),_:3})]),_:3})]),_:3})],2)}const VsMediaCaption=LoadingSpinner._export_sfc(_sfc_main$1u,[["render",_sfc_render$1f]]),_sfc_main$1t={name:"VsHeroSectionImage",status:"prototype",release:"0.0.1",components:{VsMediaCaption,VsImg:LoadingSpinner.VsImg},props:{src:{type:String,required:!0},imgAlt:{type:String,default:""},imgCaption:{type:String,default:""},imgCredit:{type:String,default:""},split:{type:Boolean,default:!1}},computed:{isSplit(){return this.split?"vs-hero-section-image--split":""}}};function _sfc_render$1e(e,n,t,o,a,r){const s=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsMediaCaption");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-hero-section-image",r.isSplit]),"data-test":"vs-hero-section-image"},[vue.createVNode(s,{class:"vs-hero-section-image__img",src:t.src,alt:t.imgAlt},null,8,["src","alt"]),t.imgCaption||t.imgCredit?(vue.openBlock(),vue.createBlock(i,{key:0,"data-test":"vs-hero-section-image__caption","right-align":t.split},vue.createSlots({credit:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.imgCredit),1)]),_:2},[t.split?void 0:{name:"caption",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.imgCaption),1)]),key:"0"}]),1032,["right-align"])):vue.createCommentVNode("",!0)],2)}const VsHeroSectionImage=LoadingSpinner._export_sfc(_sfc_main$1t,[["render",_sfc_render$1e]]);var dist={exports:{}},Sister;/**
151
151
  * @link https://github.com/gajus/sister for the canonical source repository
152
152
  * @license https://github.com/gajus/sister/blob/master/LICENSE BSD 3-Clause
153
- */Sister=function(){var e={},n={};return e.on=function(t,o){var a={name:t,handler:o};return n[t]=n[t]||[],n[t].unshift(a),a},e.off=function(t){var o=n[t.name].indexOf(t);o!==-1&&n[t.name].splice(o,1)},e.trigger=function(t,o){var a=n[t],r;if(a)for(r=a.length;r--;)a[r].handler(o)},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,o=t*24,a=o*7,r=o*365.25;ms=function(c,d){d=d||{};var v=typeof c;if(v==="string"&&c.length>0)return s(c);if(v==="number"&&isFinite(c))return d.long?l(c):i(c);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function 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 v=parseFloat(d[1]),m=(d[2]||"ms").toLowerCase();switch(m){case"years":case"year":case"yrs":case"yr":case"y":return v*r;case"weeks":case"week":case"w":return v*a;case"days":case"day":case"d":return v*o;case"hours":case"hour":case"hrs":case"hr":case"h":return v*t;case"minutes":case"minute":case"mins":case"min":case"m":return v*n;case"seconds":case"second":case"secs":case"sec":case"s":return v*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return v;default:return}}}}function i(c){var d=Math.abs(c);return d>=o?Math.round(c/o)+"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>=o?u(c,d,o,"day"):d>=t?u(c,d,t,"hour"):d>=n?u(c,d,n,"minute"):d>=e?u(c,d,e,"second"):c+" ms"}function u(c,d,v,m){var f=d>=v*1.5;return Math.round(c/v)+" "+m+(f?"s":"")}return ms}function setup(e){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=a,t.enabled=i,t.humanize=requireMs(),t.destroy=u,Object.keys(e).forEach(c=>{t[c]=e[c]}),t.names=[],t.skips=[],t.formatters={};function n(c){let d=0;for(let v=0;v<c.length;v++)d=(d<<5)-d+c.charCodeAt(v),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=n;function t(c){let d,v=null,m,f;function p(...g){if(!p.enabled)return;const _=p,h=Number(new Date),b=h-(d||h);_.diff=b,_.prev=d,_.curr=h,d=h,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let V=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,($,w)=>{if($==="%%")return"%";V++;const k=t.formatters[w];if(typeof k=="function"){const P=g[V];$=k.call(_,P),g.splice(V,1),V--}return $}),t.formatArgs.call(_,g),(_.log||t.log).apply(_,g)}return p.namespace=c,p.useColors=t.useColors(),p.color=t.selectColor(c),p.extend=o,p.destroy=t.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(m!==t.namespaces&&(m=t.namespaces,f=t.enabled(c)),f),set:g=>{v=g}}),typeof t.init=="function"&&t.init(p),p}function o(c,d){const v=t(this.namespace+(typeof d>"u"?":":d)+c);return v.log=this.log,v}function a(c){t.save(c),t.namespaces=c,t.names=[],t.skips=[];const d=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const v of d)v[0]==="-"?t.skips.push(v.slice(1)):t.names.push(v)}function r(c,d){let v=0,m=0,f=-1,p=0;for(;v<c.length;)if(m<d.length&&(d[m]===c[v]||d[m]==="*"))d[m]==="*"?(f=m,p=v,m++):(v++,m++);else if(f!==-1)m=f+1,p++,v=p;else return!1;for(;m<d.length&&d[m]==="*";)m++;return m===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(r(c,d))return!1;for(const d of t.names)if(r(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=a,n.save=r,n.load=s,n.useColors=o,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 o(){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 a(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;u.splice(1,0,c,"color: inherit");let d=0,v=0;u[0].replace(/%[a-zA-Z%]/g,m=>{m!=="%%"&&(d++,m==="%c"&&(v=d))}),u.splice(v,0,c)}n.log=console.debug||console.log||(()=>{});function r(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,o=a(t);function a(r){return r&&r.__esModule?r:{default:r}}n.default={pauseVideo:{acceptableStates:[o.default.ENDED,o.default.PAUSED],stateChangeRequired:!1},playVideo:{acceptableStates:[o.default.ENDED,o.default.PLAYING],stateChangeRequired:!1},seekTo:{acceptableStates:[o.default.ENDED,o.default.PLAYING,o.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,o=c(t),a=FunctionStateMapExports,r=c(a),s=eventNamesExports,i=c(s),l=functionNamesExports,u=c(l);function c(m){return m&&m.__esModule?m:{default:m}}const d=(0,o.default)("youtube-player"),v={};v.proxyEvents=m=>{const f={};for(const p of i.default){const g="on"+p.slice(0,1).toUpperCase()+p.slice(1);f[g]=_=>{d('event "%s"',g,_),m.trigger(p,_)}}return f},v.promisifyPlayer=(m,f=!1)=>{const p={};for(const g of u.default)f&&r.default[g]?p[g]=(..._)=>m.then(h=>{const b=r.default[g],V=h.getPlayerState(),S=h[g].apply(h,_);return b.stateChangeRequired||Array.isArray(b.acceptableStates)&&!b.acceptableStates.includes(V)?new Promise($=>{const w=()=>{const k=h.getPlayerState();let P;typeof b.timeout=="number"&&(P=setTimeout(()=>{h.removeEventListener("onStateChange",w),$()},b.timeout)),Array.isArray(b.acceptableStates)&&b.acceptableStates.includes(k)&&(h.removeEventListener("onStateChange",w),clearTimeout(P),$())};h.addEventListener("onStateChange",w)}).then(()=>S):S}):p[g]=(..._)=>m.then(h=>h[g].apply(h,_));return p},n.default=v,e.exports=n.default})(YouTubePlayer,YouTubePlayer.exports);var YouTubePlayerExports=YouTubePlayer.exports,loadYouTubeIframeApi={exports:{}},loadScript=function e(n,t,o){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("script");typeof t=="function"&&(o=t,t={}),t=t||{},o=o||function(){},r.type=t.type||"text/javascript",r.charset=t.charset||"utf8",r.async="async"in t?!!t.async:!0,r.src=n,t.attrs&&setAttributes(r,t.attrs),t.text&&(r.text=""+t.text);var s="onload"in r?stdOnEnd:ieOnEnd;s(r,o),r.onload||stdOnEnd(r,o),a.appendChild(r)};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,o=a(t);function a(r){return r&&r.__esModule?r:{default:r}}n.default=r=>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,o.default)(u+"//www.youtube.com/iframe_api",c=>{c&&r.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,o=l(t),a=YouTubePlayerExports,r=l(a),s=loadYouTubeIframeApiExports,i=l(s);function l(c){return c&&c.__esModule?c:{default:c}}let u;n.default=(c,d={},v=!1)=>{const m=(0,o.default)();if(u||(u=(0,i.default)(m)),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=r.default.proxyEvents(m);const f=new Promise(g=>{typeof c=="object"&&c.playVideo instanceof Function?g(c):u.then(_=>{const h=new _.Player(c,d);return m.on("ready",()=>{g(h)}),null})}),p=r.default.promisifyPlayer(f,v);return p.on=m.on,p.off=m.off,p},e.exports=n.default})(dist,dist.exports);var distExports=dist.exports;const player=LoadingSpinner.getDefaultExportFromCjs(distExports),UNSTARTED=-1,ENDED=0,PLAYING=1,PAUSED=2,BUFFERING=3,CUED=5,VueYoutube={name:"Youtube",props:{videoId:String,playerVars:{type:Object,default:()=>({})},height:{type:[Number,String],default:360},width:{type:[Number,String],default:640},resize:{type:Boolean,default:!1},resizeDelay:{type:Number,default:100},nocookie:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!1}},data(){return{player:{},events:{[UNSTARTED]:"unstarted",[PLAYING]:"playing",[PAUSED]:"paused",[ENDED]:"ended",[BUFFERING]:"buffering",[CUED]:"cued"},resizeTimeout:null}},computed:{aspectRatio(){return this.width/this.height}},methods:{playerReady(e){this.$emit("ready",e.target)},playerStateChange(e){e.data!==null&&e.data!==UNSTARTED&&this.$emit(this.events[e.data],e.target)},playerError(e){this.$emit("error",e.target)},updatePlayer(e){if(!e){this.player.stopVideo();return}const n={videoId:e};if(typeof this.playerVars.start=="number"&&(n.startSeconds=this.playerVars.start),typeof this.playerVars.end=="number"&&(n.endSeconds=this.playerVars.end),this.playerVars.autoplay===1){this.player.loadVideoById(n);return}this.player.cueVideoById(n)},resizeProportionally(){this.player.getIframe().then(e=>{const n=this.fitParent?e.parentElement.offsetWidth:e.offsetWidth,t=n/this.aspectRatio;this.player.setSize(n,t)})},onResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(this.resizeProportionally,this.resizeDelay)}},watch:{videoId:"updatePlayer",resize(e){e?(window.addEventListener("resize",this.onResize),this.resizeProportionally()):(window.removeEventListener("resize",this.onResize),this.player.setSize(this.width,this.height))},width(e){this.player.setSize(e,this.height)},height(e){this.player.setSize(this.width,e)}},beforeUnmount(){this.player!==null&&this.player.destroy&&(this.player.destroy(),delete this.player),this.resize&&window.removeEventListener("resize",this.onResize)},mounted(){window.YTConfig={host:"https://www.youtube.com/iframe_api"};const e=this.nocookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";this.player=player(this.$el,{host:e,width:this.width,height:this.height,videoId:this.videoId,playerVars:this.playerVars}),this.player.on("ready",this.playerReady),this.player.on("stateChange",this.playerStateChange),this.player.on("error",this.playerError),this.resize&&window.addEventListener("resize",this.onResize),this.fitParent&&this.resizeProportionally()},render(){return vue.h("div")}},cookieValues$2=cookieValues$5.youtube;let videoStore=null;const _sfc_main$1s={name:"VsVideoYoutube",components:{VueYoutube,VsWarning:LoadingSpinner.VsWarning},mixins:[LoadingSpinner.dataLayerMixin,cookieCheckerMixin],props:{videoId:{type:String,required:!0},videoTitle:{type:String,default:""},language:{type:String,default:"en"},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noJsMessage:{type:String,required:!0},lazyLoad:{type:Boolean,default:!1}},data(){return{playerVars:{hl:this.language},requiredCookies:cookieValues$2,duration:{minutes:0,seconds:0,roundedMinutes:""},jsDisabled:!0,isLoaded:!1,observer:null}},computed:{player(){return this.$refs.youtube?this.$refs.youtube.player:null},showError(){return!this.cookiesAllowed&&this.cookiesLoaded===!0||this.cookiesLoaded===!1},warningText(){let e="";return this.videoId&&this.jsDisabled&&(e=this.noJsMessage),!this.cookiesAllowed&&this.cookiesLoaded===!0&&(e=this.noCookiesMessage),e}},mounted(){this.jsDisabled=jsIsDisabled(),videoStore=useVideoStore(),this.setEventListeners(),this.lazyLoad?this.setupIntersectionObserver():this.isLoaded=!0},beforeUnmount(){this.observer&&this.observer.disconnect()},methods:{async playerReady(){await this.getPlayerDetails(),this.shouldAutoPlay&&(this.shouldAutoPlay=!1,this.playVideo())},async playVideo(){this.player&&await this.player.playVideo()},async pauseVideo(){this.player&&await this.player.pauseVideo()},async toggleVideo(){if(!this.player)return;await this.player.getPlayerState()===1?this.pauseVideo():this.playVideo()},async stopVideo(){this.player&&await this.player.stopVideo()},youtubePlaying(){this.analyticsEvent("play")},youtubePaused(){this.analyticsEvent("pause")},youtubeEnded(){this.analyticsEvent("ended")},analyticsEvent(e){let n=0,t=0;this.player.getCurrentTime().then(o=>(n=o,this.player?this.player.getDuration():null)).then(o=>{t=o}).then(()=>{const o=n/t*100;this.createDataLayerObject("videoTrackingDataEvent",{title:this.videoTitle,status:e,percent:Math.round(o)})})},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 o=this.getRoundedMinutes(n,t);this.duration.roundedMinutes=this.formatSingularOrPlural(o)},getRoundedMinutes(e,n){return n<30&&e!==0?e:e+1},formatSingularOrPlural(e){return e===1?this.singleMinuteDescriptor.replace("%s",e):this.pluralMinuteDescriptor.replace("%s",e)},pad(e){return e>=10?e:`0${e}`},storeVideoDetails(){videoStore.addVideo({videoId:this.videoId,videoDurationMsg:this.duration.roundedMinutes,videoDuration:this.duration.minutes*60+this.duration.seconds,videoFullDuration:this.duration})},setEventListeners(){this.emitter&&this.emitter.on("video-controls",e=>{e.id===this.videoId&&(e.action==="modal-opened"&&this.playVideo(),e.action==="modal-closed"&&this.stopVideo(),e.action==="play"?this.playVideo():e.action==="pause"&&this.pauseVideo())})},setupIntersectionObserver(){if(!("IntersectionObserver"in window)){this.isLoaded=!0;return}this.observer=new IntersectionObserver(e=>{e[0].intersectionRatio>0&&(this.observer.unobserve(this.$el),this.isLoaded=!0,this.$nextTick(()=>{this.playVideo()}))},{rootMargin:"50px",threshold:0}),this.observer.observe(this.$el)}}},_hoisted_1$16={class:"vs-video-youtube","data-test":"vs-video-youtube"},_hoisted_2$P={key:0};function _sfc_render$1d(e,n,t,o,a,r){const s=vue.resolveComponent("VueYoutube"),i=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$16,[e.cookiesAllowed&&(!t.lazyLoad||a.isLoaded)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$P,[vue.createVNode(s,{autoplay:0,"video-id":t.videoId,vars:a.playerVars,ref:"youtube",nocookie:!0,class:"vs-video-youtube__player",onPlaying:r.youtubePlaying,onPaused:r.youtubePaused,onEnded:r.youtubeEnded,onReady:r.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"])])):vue.createCommentVNode("",!0),r.showError?(vue.openBlock(),vue.createBlock(i,{key:1,type:e.cookiesLoaded===!0?"cookie":"normal",class:"vs-video-youtube__warning","data-test":"vs-video-youtube__warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.warningText)+" ",1)]),_:2},[!e.cookiesAllowed&&e.cookiesLoaded===!0?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),key:"0"}:void 0]),1032,["type"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"vs-video-youtube__warning vs-video-youtube__warning--no-js","data-test":"vs-video-youtube__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})])}const VsVideoYoutube=LoadingSpinner._export_sfc(_sfc_main$1s,[["render",_sfc_render$1d]]),_sfc_main$1r={name:"VsToggleButton",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,BButton:LoadingSpinner.vt,VsIcon:LoadingSpinner.VsIcon},props:{toggleId:{type:String,default:""},variant:{type:String,default:"default",validator:e=>e.match(/(default|overlay|overlay-strong)/)},icon:{type:String,default:""},pressedIcon:{type:String,default:null},modelValue:{type:Boolean,default:void 0},label:{type:String,default:""},pressedLabel:{type:String,default:""},labelBreakpoint:{type:String,default:null,validator:e=>e===null||/^(xs|sm|md|lg|xl|xxl)$/.test(e)}},emits:["toggleAction","update:modelValue","click"],data(){return{show:!1,internalPressed:!1}},computed:{isLegacyMode(){return!this.icon&&!this.pressedIcon},isPressed(){return this.modelValue!==void 0?this.modelValue:this.internalPressed},buttonClasses(){return{"vs-toggle-button--pressed":this.isPressed,[`vs-toggle-button--label-${this.labelBreakpoint}-up`]:this.labelBreakpoint}},buttonLabelClasses(){return{[`visible-${this.labelBreakpoint}-up`]:this.labelBreakpoint}},currentIcon(){return this.isPressed&&this.pressedIcon?this.pressedIcon:this.icon},computedLabel(){return this.isPressed&&this.pressedLabel?this.pressedLabel:this.label}},methods:{toggleLegacy(e){this.show=!this.show,this.$emit("toggleAction",this.show),this.$emit("click",e)},handleClick(e){const n=!this.isPressed;this.modelValue!==void 0?this.$emit("update:modelValue",n):this.internalPressed=n,this.$emit("click",e)}}};function _sfc_render$1c(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("BButton"),l=vue.resolveComponent("VsButton");return r.isLegacyMode?(vue.openBlock(),vue.createBlock(l,{key:1,class:"vs-toggle-btn","data-test":"vs-toggle-btn",variant:"subtle","aria-controls":t.toggleId,"aria-expanded":a.show?"true":"false",onClick:r.toggleLegacy},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default"),a.show?(vue.openBlock(),vue.createBlock(s,{key:0,class:"fa-icon-colours fa-icon-colours--white",icon:"fa-duotone fa-solid fa-circle-xmark"})):vue.renderSlot(e.$slots,"toggle-icon",{key:1},()=>[vue.createVNode(s,{class:"fa-icon-colours",icon:"fa-duotone fa-solid fa-circle-info"})])]),_:3},8,["aria-controls","aria-expanded","onClick"])):(vue.openBlock(),vue.createBlock(i,{key:0,variant:t.variant,class:vue.normalizeClass(["vs-toggle-button",r.buttonClasses]),size:"sm","aria-label":r.computedLabel,onClick:r.handleClick},{default:vue.withCtx(()=>[vue.createVNode(s,{icon:r.currentIcon,size:"xs",padding:0},null,8,["icon"]),t.label?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(["visually-hidden",r.buttonLabelClasses])},vue.toDisplayString(r.computedLabel),3)):vue.createCommentVNode("",!0)]),_:1},8,["variant","class","aria-label","onClick"]))}const VsToggleButton=LoadingSpinner._export_sfc(_sfc_main$1r,[["render",_sfc_render$1c]]),prefersReducedMotion=()=>window&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,_sfc_main$1q={name:"VsVideoHtml5",status:"prototype",release:"0.0.1",components:{VsToggleButton,VsImg:LoadingSpinner.VsImg},inject:{registerMedia:{default:null}},props:{videoSrc:{type:String,required:!0},videoId:{type:String,required:!0},posterImageSrc:{type:String,default:""},lazyLoad:{type:Boolean,default:!1},playButtonLabel:{type:String,default:""},pauseButtonLabel:{type:String,default:""},showToggle:{type:Boolean,default:!0}},data(){return{isLoaded:!1,isPlaying:!1,observer:null,isReducedMotion:prefersReducedMotion()}},mounted(){var e;(e=this.registerMedia)==null||e.call(this,this),this.lazyLoad?this.setupIntersectionObserver():(this.isLoaded=!0,this.isPlaying=!0)},beforeUnmount(){this.observer&&this.observer.disconnect()},methods:{playVideo(){const e=this.$refs.videoRef;e&&e.play()},pauseVideo(){const e=this.$refs.videoRef;e&&e.pause()},stopVideo(){const e=this.$refs.videoRef;e&&(e.pause(),e.currentTime=0)},toggleVideo(){const e=this.$refs.videoRef;e&&(e.paused?e.play():e.pause())},setupIntersectionObserver(){if(!("IntersectionObserver"in window)){this.isLoaded=!0;return}this.observer=new IntersectionObserver(e=>{e[0].intersectionRatio>0&&(this.observer.unobserve(this.$el),this.isLoaded=!0,this.$nextTick(()=>{var n;(n=this.$refs.videoRef)==null||n.play()}))},{rootMargin:"50px",threshold:0}),this.observer.observe(this.$el)}}},_hoisted_1$15={class:"vs-video-html5","data-test":"vs-video-html5"},_hoisted_2$O=["id","poster","loop","muted","autoplay","preload","fetchpriority"],_hoisted_3$D=["src"];function _sfc_render$1b(e,n,t,o,a,r){const s=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsToggleButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$15,[a.isReducedMotion||!t.videoSrc?(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-video-html5__fallback-image",src:t.posterImageSrc},null,8,["src"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("video",{ref:"videoRef",onPlay:n[0]||(n[0]=l=>a.isPlaying=!0),onPause:n[1]||(n[1]=l=>a.isPlaying=!1),onEnded:n[2]||(n[2]=l=>a.isPlaying=!1),id:t.videoId,class:"vs-video-html5__player img-zoom-on-hover",poster:t.posterImageSrc,"aria-hidden":"true",loop:!t.lazyLoad||a.isLoaded,muted:!t.lazyLoad||a.isLoaded,autoplay:!t.lazyLoad||a.isLoaded,playsinline:"",preload:t.lazyLoad?"none":"auto",fetchpriority:t.lazyLoad?"low":"high"},[vue.createElementVNode("source",{src:t.videoSrc,type:"video/mp4"},null,8,_hoisted_3$D)],40,_hoisted_2$O),t.showToggle?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-video-html5__toggle-video",variant:"overlay",icon:"vs-icon-control-pause","pressed-icon":"vs-icon-control-play",label:t.pauseButtonLabel,"pressed-label":t.playButtonLabel,"aria-controls":t.videoId,"model-value":!a.isPlaying,onClick:r.toggleVideo},null,8,["label","pressed-label","aria-controls","model-value","onClick"])):vue.createCommentVNode("",!0)],64))])}const VsVideoHtml5=LoadingSpinner._export_sfc(_sfc_main$1q,[["render",_sfc_render$1b]]),_sfc_main$1p={name:"VsVideo",props:{videoType:{type:String,default:"youtube",validator:e=>["youtube","html5"].includes(e)},videoSrc:{type:String,default:""},posterImageSrc:{type:String,default:""},videoId:{type:String,default:""},videoTitle:{type:String,default:""},language:{type:String,default:"en"},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,default:""},cookieBtnText:{type:String,default:""},noJsMessage:{type:String,default:""},playButtonLabel:{type:String,default:"Play video"},pauseButtonLabel:{type:String,default:"Pause video"},showToggle:{type:Boolean,default:!0},lazyLoad:{type:Boolean,default:!1}},data(){return{reRendering:!1}},computed:{playerComponent(){return this.videoType==="html5"?VsVideoHtml5:VsVideoYoutube}},methods:{playVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.playVideo)==null||n.call(e)},pauseVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.pauseVideo)==null||n.call(e)},stopVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.stopVideo)==null||n.call(e)},toggleVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.toggleVideo)==null||n.call(e)}}},_hoisted_1$14={key:0,class:"vs-video","data-test":"vs-video"};function _sfc_render$1a(e,n,t,o,a,r){return a.reRendering?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$14,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(r.playerComponent),vue.mergeProps({ref:"player"},e.$props,{"lazy-load":t.lazyLoad}),null,16,["lazy-load"]))]))}const VsVideo=LoadingSpinner._export_sfc(_sfc_main$1p,[["render",_sfc_render$1a]]),_sfc_main$1o={name:"VsHeroSection",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsHeroSectionImage,VsVideo},provide(){return{videoPlayingStatus:this.videoPlayingStatus,videoPausedStatus:this.videoPausedStatus}},props:{heading:{type:String,default:"",required:!0},lede:{type:String,default:"",required:!0},imgSrc:{type:String,default:""},imgAlt:{type:String,default:""},imgCaption:{type:String,default:""},imgCredit:{type:String,default:""},inset:{type:Boolean,default:!1},split:{type:Boolean,default:!1},videoSrc:{type:String,default:""},videoBtnText:{type:String,default:""},videoPlayingStatus:{type:String,default:""},videoPausedStatus:{type:String,default:""},playButtonLabel:{type:String,default:""},pauseButtonLabel:{type:String,default:""}},computed:{imageClasses(){return{"vs-hero-section__image--inset":this.inset}},textContainerClasses(){return[{"vs-hero-section__text-container--video":this.videoSrc},"vs-hero-section__text-container"]}}},_hoisted_1$13={class:"vs-hero-section__grid"},_hoisted_2$N={key:1,class:"vs-hero-section__video-wrapper"},_hoisted_3$C={key:2,class:"vs-hero-section__divider"},_hoisted_4$t={class:"vs-hero-section__text"},_hoisted_5$l=["innerHTML"],_hoisted_6$h={class:"mb-0"},_hoisted_7$f={key:1,class:"vs-hero-section__article-details","data-test":"vs-hero-section__article-details"};function _sfc_render$19(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeroSectionImage"),i=vue.resolveComponent("VsVideo"),l=vue.resolveComponent("VsHeading"),u=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-hero-section",{"vs-hero-section--split":t.split}]),"data-test":"vs-hero-section"},[vue.createElementVNode("div",_hoisted_1$13,[t.imgSrc&&!t.videoSrc?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-hero-section__image",r.imageClasses])},[vue.createVNode(s,{"img-alt":t.imgAlt,src:t.imgSrc,"img-caption":t.imgCaption,"img-credit":t.imgCredit,split:t.split},null,8,["img-alt","src","img-caption","img-credit","split"])],2)):t.videoSrc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$N,[vue.createVNode(i,{"video-type":"html5","video-id":"hero-video","poster-image-src":t.imgSrc,"video-src":t.videoSrc,"play-button-label":t.videoPlayingStatus?t.videoPlayingStatus:t.playButtonLabel,"pause-button-label":t.videoPausedStatus?t.videoPausedStatus:t.pauseButtonLabel,class:"vs-hero-section__video"},null,8,["poster-image-src","video-src","play-button-label","pause-button-label"]),n[0]||(n[0]=vue.createElementVNode("div",{class:"vs-hero-section__video-overlay"},null,-1))])):(vue.openBlock(),vue.createElementBlock("hr",_hoisted_3$C)),vue.createElementVNode("div",{class:vue.normalizeClass(r.textContainerClasses)},[vue.createElementVNode("div",_hoisted_4$t,[vue.createVNode(l,{class:"vs-hero-section__heading","data-test":"vs-hero-section__heading",level:"1","heading-style":"display-s",id:"main-heading"},{default:vue.withCtx(()=>[vue.createElementVNode("span",{innerHTML:t.heading},null,8,_hoisted_5$l)]),_:1}),t.lede?(vue.openBlock(),vue.createBlock(u,{key:0,class:"vs-hero-section__lede","data-test":"vs-hero-section__lede",variant:"lead"},{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_6$h,vue.toDisplayString(t.lede),1)]),_:1})):vue.createCommentVNode("",!0),e.$slots["hero-section-article-details"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$f,[vue.renderSlot(e.$slots,"hero-section-article-details")])):vue.createCommentVNode("",!0)])],2)])],2)}const HeroSection=LoadingSpinner._export_sfc(_sfc_main$1o,[["render",_sfc_render$19]]),_sfc_main$1n={name:"VsHtmlError",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],props:{statusCode:{type:String,required:!0}},mounted(){this.createDataLayerObject("errorDataEvent",{error_type:"System Error",error_details:this.statusCode})}},_hoisted_1$12={class:"d-none"};function _sfc_render$18(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$12)}const HtmlError=LoadingSpinner._export_sfc(_sfc_main$1n,[["render",_sfc_render$18]]),_sfc_main$1m={name:"VsTourismInfo",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol}},_hoisted_1$11={class:"vs-tourism-info","data-test":"vs-tourism-info"},_hoisted_2$M={key:0,class:"vs-tourism-info__links","data-test":"vs-tourism-info__standalone-links"},_hoisted_3$B={class:"vs-tourism-info__quote-block"},_hoisted_4$s={key:0,class:"vs-tourism-info__links-contained","data-test":"vs-tourism-info__embedded-links"};function _sfc_render$17(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$11,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"10",offset:"1",md:"8","offset-md":"2",lg:"6","offset-lg":"3",class:"vs-tourism-info__intro-content"},{default:vue.withCtx(()=>[e.$slots["tourism-info-links"]&&e.$slots["tourism-info-links"]()&&!(e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]())?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$M,[vue.renderSlot(e.$slots,"tourism-info-links")])):vue.createCommentVNode("",!0)]),_:3}),vue.createVNode(s,{cols:"12",md:"10","offset-md":"1",class:vue.normalizeClass({"vs-tourism-info__image-offset":e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]()})},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"tourism-info-image-with-caption")]),_:3},8,["class"]),e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]()?(vue.openBlock(),vue.createBlock(s,{key:0,cols:"12",md:"10","offset-md":"1",lg:"7","offset-lg":"5",class:"vs-tourism-info__quote-block-container"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$B,[vue.renderSlot(e.$slots,"tourism-info-quote"),e.$slots["tourism-info-links"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$s,[vue.renderSlot(e.$slots,"tourism-info-links")])):vue.createCommentVNode("",!0)])]),_:3})):vue.createCommentVNode("",!0)]),_:3})]),_:3})])}const TourismInfo=LoadingSpinner._export_sfc(_sfc_main$1m,[["render",_sfc_render$17]]),_sfc_main$1l={name:"VsIconList",status:"prototype",release:"0.0.1",props:{title:{type:String,default:""}}},_hoisted_1$10={class:"vs-icon-list","data-test":"vs-icon-list"},_hoisted_2$L={key:0,class:"vs-icon-list__title"},_hoisted_3$A={class:"vs-icon-list__list mb-0"};function _sfc_render$16(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$10,[t.title?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$L,vue.toDisplayString(t.title),1)):vue.createCommentVNode("",!0),vue.createElementVNode("ul",_hoisted_3$A,[vue.renderSlot(e.$slots,"default")])])}const IconList=LoadingSpinner._export_sfc(_sfc_main$1l,[["render",_sfc_render$16]]),_sfc_main$1k={name:"VsIconListItem",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{label:{type:String,required:!0},icon:{type:String,required:!0}}},_hoisted_1$$={class:"vs-icon-list__item","data-test":"vs-icon-list__item"};function _sfc_render$15(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$$,[vue.createVNode(s,{icon:t.icon,size:"md",class:"d-block mx-auto"},null,8,["icon"]),vue.createTextVNode(" "+vue.toDisplayString(t.label),1)])}const IconListItem=LoadingSpinner._export_sfc(_sfc_main$1k,[["render",_sfc_render$15]]),cookieValues$1=cookieValues$5.youtube,_sfc_main$1j={name:"VsVideoCaption",status:"deprecated",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsToggleButton,VsWarning:LoadingSpinner.VsWarning},mixins:[cookieCheckerMixin],inject:{noJsMessage:{default:""},noCookiesMessage:{default:""},cookieLinkText:{default:""},errorMessage:{default:""}},props:{videoBtnText:{type:String,default:""},withToggleBtn:{type:Boolean,default:!1},videoId:{type:String,required:!0},variant:{type:String,default:"wide",validator:e=>e.match(/(wide|narrow)/)}},emits:["toggleAction"],setup(){return{videoStore:useVideoStore()}},data(){return{showErrorMessage:!1,requiredCookies:cookieValues$1}},computed:{videoDetails(){return this.videoStore.videos[this.videoId]},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0},showCookieMessage(){return!!(!this.cookiesAllowed&&this.noCookiesMessage)}},methods:{emitToggle(){this.$emit("toggleAction")},emitShowModal(){this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$_={key:0,class:"vs-video-caption__buttons-container"},_hoisted_2$K={class:"container"},_hoisted_3$z={key:1,class:"vs-video-caption__details"},_hoisted_4$r={class:"vs-video-caption__title"},_hoisted_5$k={class:"vs-video-caption__duration"},_hoisted_6$g={key:1,class:"vs-video-caption vs-video-caption--warning"},_hoisted_7$e={key:2,class:"vs-video-caption vs-video-caption--no-js vs-video-caption--warning","data-test":"video-caption-nojs"};function _sfc_render$14(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsToggleButton"),l=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",{"data-test":"video-caption",class:vue.normalizeClass(["vs-video-caption__wrapper",`vs-video-caption__wrapper--${t.variant}`])},[r.videoLoaded&&e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",{"data-test":"video-caption-variants",class:vue.normalizeClass(["vs-video-caption",`vs-video-caption--${t.variant}`]),key:"video-caption"},[t.videoBtnText?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$_,[vue.createElementVNode("div",_hoisted_2$K,[vue.createVNode(s,{class:"vs-video-caption__button",icon:"vs-icon-control-play","icon-position":"left",size:"md",ref:"videoShow",rounded:!1,onClick:r.emitShowModal},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.videoBtnText),1)]),_:1},8,["onClick"])]),t.withToggleBtn?(vue.openBlock(),vue.createBlock(i,{key:0,onToggleAction:r.emitToggle},{default:vue.withCtx(()=>[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"visually-hidden"}," Toggle caption ",-1)])]),_:1},8,["onToggleAction"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$z,[vue.createElementVNode("p",_hoisted_4$r,[vue.renderSlot(e.$slots,"video-title")]),vue.createElementVNode("p",_hoisted_5$k,vue.toDisplayString(r.videoDetails.videoDurationMsg),1)])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),!(r.videoLoaded&&e.cookiesAllowed)&&r.showCookieMessage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$g,[vue.createVNode(l,{size:"small",type:"cookie"},{"button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.cookieLinkText),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.noCookiesMessage)+" ",1)]),_:1})])):vue.createCommentVNode("",!0),r.noJsMessage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$e,[vue.createVNode(l,{size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.noJsMessage),1)]),_:1})])):vue.createCommentVNode("",!0)],2)}const VsVideoCaption=LoadingSpinner._export_sfc(_sfc_main$1j,[["render",_sfc_render$14]]),cookieValues=cookieValues$5.youtube,_sfc_main$1i={name:"VsImageWithCaption",status:"prototype",release:"0.0.1",components:{VsImg:LoadingSpinner.VsImg,VsToggleButton,VsVideoCaption},mixins:[cookieCheckerMixin],provide(){return{noJsMessage:this.noJsMessage,errorMessage:this.errorMessage,noCookiesMessage:this.noCookiesMessage,cookieLinkText:this.cookieLinkText}},props:{altText:{type:String,default:""},closedDefaultCaption:{type:Boolean,default:!1},imageSrc:{type:String,default:""},isHeroImage:{type:Boolean,default:!1},isVideo:{type:Boolean,default:!1},mobileOverlap:{type:Boolean,default:!1},toggleButtonText:{type:String,default:""},playButtonText:{type:String,default:""},videoId:{type:String,default:""},smallPlayButton:{type:Boolean,default:!1},noCookiesMessage:{type:String,default:""},cookieLinkText:{type:String,default:""},noJsMessage:{type:String,default:""},useLazyLoading:{type:Boolean,default:!0},errorMessage:{type:String,default:""},showToggle:{type:Boolean,default:!0}},data(){return{showCaption:!1,uniqueCaptionId:"",requiredCookies:cookieValues}},computed:{isSvg(){return this.imageSrc.endsWith(".svg")},imageWithCaptionClasses(){return{"vs-image-with-caption--closed-default":this.closedDefaultCaption,"vs-image-with-caption--hero":this.isHeroImage,"vs-image-with-caption--show-caption":!this.cookiesAllowed&&this.cookiesLoaded,"vs-image-with-caption--video":this.isVideo,"vs-image-with-caption--svg":this.isSvg}},captionWrapperClasses(){return{"d-block":this.showCaption&&!this.isHeroImage,"d-flex":this.showCaption&&this.isHeroImage||this.showCaption&&this.isVideo,container:this.isHeroImage}}},mounted(){this.uniqueCaptionId=this._uid},methods:{toggleCaption(){this.showCaption=!this.showCaption}}},_hoisted_1$Z={class:"visually-hidden"},_hoisted_2$J={class:"vs-image-with-caption__captions"},_hoisted_3$y=["id"];function _sfc_render$13(e,n,t,o,a,r){const s=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsToggleButton"),l=vue.resolveComponent("VsVideoCaption");return vue.openBlock(),vue.createElementBlock("figure",{class:vue.normalizeClass(["vs-image-with-caption",r.imageWithCaptionClasses]),"data-test":"vs-image-with-caption"},[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-image-with-caption__image-wrapper",t.mobileOverlap?"vs-image-with-caption--overlapped":""])},[vue.renderSlot(e.$slots,"default",{},()=>[t.imageSrc?(vue.openBlock(),vue.createBlock(s,{key:0,src:t.imageSrc,alt:t.altText,"use-lazy-loading":t.useLazyLoading},null,8,["src","alt","use-lazy-loading"])):vue.createCommentVNode("",!0)]),t.showToggle?(vue.openBlock(),vue.createBlock(i,{key:0,"img-src":t.imageSrc,"toggle-id":a.uniqueCaptionId,onToggleAction:r.toggleCaption},{"toggle-icon":vue.withCtx(()=>[vue.renderSlot(e.$slots,"toggle-icon")]),default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$Z,vue.toDisplayString(t.toggleButtonText),1)]),_:3},8,["img-src","toggle-id","onToggleAction"])):vue.createCommentVNode("",!0)],2),vue.createElementVNode("figcaption",_hoisted_2$J,[t.isVideo?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-image-with-caption__video-caption-wrapper",t.isHeroImage?"container-lg":""])},[vue.createVNode(l,{"video-btn-text":t.playButtonText,"with-toggle-btn":t.showToggle,onToggleAction:r.toggleCaption,"video-id":t.videoId,"cookie-link-text":t.cookieLinkText,"error-message":t.errorMessage,variant:t.smallPlayButton?"narrow":"wide"},{"video-title":vue.withCtx(()=>[vue.renderSlot(e.$slots,"video-title")]),_:3},8,["video-btn-text","with-toggle-btn","onToggleAction","video-id","cookie-link-text","error-message","variant"])],2)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-image-with-caption__caption-wrapper",r.captionWrapperClasses]),id:a.uniqueCaptionId},[vue.renderSlot(e.$slots,"img-caption")],10,_hoisted_3$y)])],2)}const ImageWithCaption=LoadingSpinner._export_sfc(_sfc_main$1i,[["render",_sfc_render$13]]),_sfc_main$1h={name:"VsIllustratedMap",props:{highlightedRegions:{type:Array,default:()=>[],validator:e=>e.every(n=>/^(borders|dumfries|highlands|outerhebs|shetland|orkney|edinburgh|glasgow|fife|dundee|aberdeen|perth|lomond|arranayr|argyll)$/.test(n))},ariaLabel:{type:String,default:()=>"Illustrated map of Scotland showing regions"},title:{type:String,default:()=>"Map of Scotland"},width:{type:String,default:null}},methods:{isHighlighted(e){return this.highlightedRegions.includes(e)}}},_hoisted_1$Y=["aria-label","width"];function _sfc_render$12(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("svg",{class:"vs-illustrated-map",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 147 259",fill:"none","aria-label":t.ariaLabel,width:t.width},[vue.createElementVNode("title",null,vue.toDisplayString(t.title),1),vue.createElementVNode("path",{id:"region-borders",d:"M94.8908 215.531L93.0078 228.835L107.675 235.709V243.242L113.032 241.534L128.139 211.014L120.114 207.334L105.422 215.196L94.8908 215.531Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("borders")})},null,2),vue.createElementVNode("path",{id:"region-dumfries",d:"M107.678 243.242V235.709L93.0105 228.835L82.3684 227.947L56.8945 246.364L61.8447 258.049L107.678 243.242Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("dumfries")})},null,2),vue.createElementVNode("path",{id:"region-highlands",d:"M76.3875 143.097L95.2198 133.991L113.324 133.608L97.0838 160.469L75.7941 169.254L55.0816 173.951L39.152 171.715L42.8855 166.308L22.8906 149.472L26.9695 134.771L40.5413 142.884L40.5683 128.034L58.977 94.2952L75.2383 98.8575L103.725 94.2952L103.831 105.06L76.3875 143.097Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("highlands")})},null,2),vue.createElementVNode("path",{id:"region-outerhebs",d:"M32.2773 100.625L28.2335 123.863L12.5575 138.325L6.67127 161.517L0 166.276L2.87299 130.376L15.7839 111.868L32.2773 100.625Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("outerhebs")})},null,2),vue.createElementVNode("path",{id:"region-shetland",d:"M137.044 28.8822L146.094 6.08942L143.526 0L123.234 20.1191L130.38 32.3789L137.044 28.8822Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("shetland")})},null,2),vue.createElementVNode("path",{id:"region-orkney",d:"M122.546 56.7442L104.383 67.0074L102.082 77.7078L110.938 85.416L123.687 65.4372L122.546 56.7442Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("orkney")})},null,2),vue.createElementVNode("path",{id:"region-edinburgh",d:"M91.4266 205.144L85.8047 209.876L88.6156 214.643L94.893 215.531L105.425 215.196L120.116 207.334L109.493 202.467L96.7193 207.453L91.4266 205.144Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("edinburgh")})},null,2),vue.createElementVNode("path",{id:"region-glasgow",d:"M82.3716 227.947L61.3516 207.458L69.5119 201.782L85.8084 209.876L88.6193 214.643L94.8967 215.531L93.0138 228.835L82.3716 227.947Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("glasgow")})},null,2),vue.createElementVNode("path",{id:"region-fife",d:"M87.6797 202.205L92.2306 196.904L96.9973 195.69L98.0602 189.406L110.434 188.702L114.378 195.922L98.7427 203.034L87.6797 202.205Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("fife")})},null,2),vue.createElementVNode("path",{id:"region-dundee",d:"M104.384 186.969L95.3438 167.854L109.865 163.084L113.858 171.955L120.915 172.433L116.269 182.388L104.384 186.969Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("dundee")})},null,2),vue.createElementVNode("path",{id:"region-aberdeen",d:"M113.318 133.608L126.213 133.333L135.806 140.523L120.907 172.433L113.85 171.955L109.857 163.084L95.336 167.854L83.0078 166.276L97.0787 160.47L113.318 133.608Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("aberdeen")})},null,2),vue.createElementVNode("path",{id:"region-perth",d:"M75.7936 169.255L69.8615 170.601L65.6289 186.368L73.8324 183.044L78.7125 185.704L76.1605 192.023L92.2357 196.904L97.0025 195.69L98.0653 189.406L104.381 186.97L95.3407 167.854L83.0125 166.276L75.7936 169.255Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("perth")})},null,2),vue.createElementVNode("path",{id:"region-lomond",d:"M62.4171 188.701L65.63 186.368L73.8335 183.044L78.7136 185.704L76.1616 192.023L92.2368 196.903L87.6859 202.205H85.0072L91.4303 205.143L85.8084 209.875L69.5119 201.781L61.3516 207.458L61.5296 202.467L63.1914 194.13L62.4171 188.701Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("lomond")})},null,2),vue.createElementVNode("path",{id:"region-arran",d:"M51.7287 220.725L49.1875 231.015C49.1875 231.015 54.9712 233.435 55.1709 233.168C55.3732 232.898 61.1542 222.611 60.9546 222.543C60.755 222.476 51.7287 220.728 51.7287 220.728V220.725Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("arranayr")})},null,2),vue.createElementVNode("path",{id:"region-ayrshire",d:"M61.3483 207.458L60.9653 218.253L66.8434 223.663L56.8945 246.364L82.3684 227.947L61.3483 207.458Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("arranayr")})},null,2),vue.createElementVNode("path",{id:"region-argyll",d:"M42.2625 231.565L48.5831 221.483L52.2519 210.237L60.9598 218.253L61.521 202.467L63.1827 194.13L62.4085 188.702L65.6214 186.368L69.854 170.601L55.0736 173.952L39.144 171.715L27.6386 179.013L26.6485 193.901L39.2061 192.377L52.0981 177.832L42.8937 196.909L25.9768 208.276L23.9023 213.801L28.5207 221.82L43.2148 204.755L44.364 206.684L37.396 224.232L42.2625 231.565Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("argyll")})},null,2)],8,_hoisted_1$Y)}const IllustratedMap=LoadingSpinner._export_sfc(_sfc_main$1h,[["render",_sfc_render$12],["__scopeId","data-v-b671fd04"]]),_sfc_main$1g={name:"VsInput",status:"prototype",release:"0.0.1",components:{BFormInput:LoadingSpinner.Tu,VsButton:LoadingSpinner.VsButton},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},name:{type:String,default:""},type:{type:String,default:"text"},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},ariaLabel:{type:String,default:""},disabled:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},clearButtonText:{type:String,default:""},placeholder:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){let e="";return(this.isInvalid||this.errorsList.length)&&(e="vs-input--error"),`${`vs-input--${this.fieldName}`} ${e}`},showClearButton(){return!!(this.inputVal.length&&this.clearButtonText!=="")}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},autocompleteValue(e){let n;switch(e){case"firstName":n="given-name";break;case"lastName":n="family-name";break;case"Email":n="email";break;case"PostalCode":n="postal-code";break;default:n=this.autoComplete?"on":"off";break}return n},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0}},validations(){return this.rules}},_hoisted_1$X={"data-test":"vs-input"},_hoisted_2$I=["id"],_hoisted_3$x=["id"],_hoisted_4$q={class:"visually-hidden"};function _sfc_render$11(e,n,t,o,a,r){const s=vue.resolveComponent("BFormInput"),i=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$X,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$I)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,l=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:l,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$q,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!a.clearErrorsOnFocus]])),128))],8,_hoisted_3$x)):vue.createCommentVNode("",!0),vue.createVNode(s,{ref:"input",type:t.type,class:vue.normalizeClass(["vs-input",[a.inputVal?"show-cancel":"",r.elementClass]]),modelValue:a.inputVal,"onUpdate:modelValue":n[0]||(n[0]=l=>a.inputVal=l),id:t.fieldName,name:t.name?t.name:t.fieldName,placeholder:t.placeholder,required:e.isRequired,autocomplete:r.autocompleteValue(t.fieldName),v:a.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-label":t.ariaLabel?t.ariaLabel:null,"aria-describedby":e.ariaDescription,maxlength:t.validationRules.maxLength?t.validationRules.maxLength:null,minlength:t.validationRules.minLength?t.validationRules.minLength:null,min:t.validationRules.min!==void 0?t.validationRules.min:null,max:t.validationRules.max!==void 0?t.validationRules.max:null,disabled:t.disabled,onBlur:r.validateErrors,onChange:r.validateErrors,onFocus:r.resetErrors},null,8,["type","modelValue","class","id","name","placeholder","required","autocomplete","v","aria-invalid","aria-label","aria-describedby","maxlength","minlength","min","max","disabled","onBlur","onChange","onFocus"]),r.showClearButton?(vue.openBlock(),vue.createBlock(i,{key:2,class:"vs-input__clear-button d-none d-lg-block","data-test":"input-clear-button",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:n[1]||(n[1]=vue.withModifiers(l=>r.clearInputAndFocus(),["prevent"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.clearButtonText),1)]),_:1})):vue.createCommentVNode("",!0)])}const VsInput=LoadingSpinner._export_sfc(_sfc_main$1g,[["render",_sfc_render$11]]),_sfc_main$1f={name:"VsItinerary",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsAccordion,VsButton:LoadingSpinner.VsButton},props:{listViewText:{type:String,default:"List view"},mapViewText:{type:String,default:"Map view"}},data(){return{showMap:!1,isDesktop:!1,withinItineraryMain:!1}},mounted(){const e=document.querySelector(".vds-example");window.addEventListener("resize",this.resizeWidth),e===null?window.addEventListener("scroll",this.onScroll):e.addEventListener("scroll",this.onScroll),this.resizeWidth()},unmounted(){window.removeEventListener("resize",this.resizeWidth)},methods:{resizeWidth(){this.isDesktop=window.innerWidth>=1200,this.showMap=window.innerWidth>=1200},onScroll(){const e=this.$el.getBoundingClientRect(),n=e.top<=(window.innerHeight||document.documentElement.clientHeight),t=e.bottom<=(window.innerHeight||document.documentElement.clientHeight);this.withinItineraryMain=!!(n&&!t)},toggleShowMap(){this.showMap=!this.showMap}}},_hoisted_1$W={class:"vs-itinerary","data-test":"vs-itinerary"},_hoisted_2$H={class:"fixed-bottom"},_hoisted_3$w={class:"d-flex justify-content-center pb-050"},_hoisted_4$p={key:0,class:"vs-itinerary__map-container","data-chromatic":"ignore"};function _sfc_render$10(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsAccordion"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$W,[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$H,[vue.createElementVNode("div",_hoisted_3$w,[vue.createVNode(s,{class:"vs-itinerary__map-toggle-button",onClick:n[0]||(n[0]=d=>r.toggleShowMap()),icon:a.showMap?"fa-regular fa-list":"fa-regular fa-map","data-test":"vs-itinerary-btn"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.showMap?t.listViewText:t.mapViewText),1)]),_:1},8,["icon"])])],512),[[vue.vShow,!a.isDesktop&&a.withinItineraryMain]]),a.isDesktop||a.showMap?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$p,[vue.renderSlot(e.$slots,"map")])):vue.createCommentVNode("",!0),vue.createVNode(c,{class:"vs-itinerary__outer-container"},{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",class:"p-0 vs-itinerary__accordion-container"},{default:vue.withCtx(()=>[vue.createVNode(i,{"break-point":"lg"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"list")]),_:3})]),_:3})]),_:3})]),_:3})])}const Itinerary=LoadingSpinner._export_sfc(_sfc_main$1f,[["render",_sfc_render$10]]),_sfc_main$1e={name:"VsItineraryDay",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsIcon:LoadingSpinner.VsIcon,VsAccordionItem},props:{defaultShow:{type:Boolean,default:!0},dayLabel:{type:String,required:!0},dayNumber:{type:String,required:!0},dayTitle:{type:String,required:!0}},data(){return{show:this.defaultShow}}},_hoisted_1$V={class:"vs-itinerary-day"},_hoisted_2$G={class:"vs-itinerary-day__header"},_hoisted_3$v={class:"vs-itinerary-day__title"},_hoisted_4$o={class:"vs-itinerary-day__sub-heading"},_hoisted_5$j=["id"],_hoisted_6$f={class:"vs-itinerary-day__intro-content"},_hoisted_7$d={class:"list-unstyled"};function _sfc_render$$(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsAccordionItem"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$V,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{"open-by-default":a.show,"control-id":`itinerary-day-${t.dayNumber}`,variant:"subtle","item-break-point":"lg",class:"vs-itinerary-day__list-item"},{title:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$G,[vue.createElementVNode("span",_hoisted_3$v,vue.toDisplayString(t.dayLabel)+" "+vue.toDisplayString(t.dayNumber),1),vue.createElementVNode("span",_hoisted_4$o,vue.toDisplayString(t.dayTitle),1)])]),"icon-open":vue.withCtx(()=>[vue.createVNode(s,{icon:"vs-icon-control-collapse",size:"lg",padding:3,class:"vs-itinerary-day__toggle-button"})]),"icon-closed":vue.withCtx(()=>[vue.createVNode(s,{icon:"vs-icon-control-expand",size:"lg",padding:3,class:"vs-itinerary-day__toggle-button"})]),default:vue.withCtx(()=>[vue.createElementVNode("div",{id:`dayPanel_${t.dayNumber}`,class:"vs-itinerary-day__panel"},[vue.createElementVNode("div",_hoisted_6$f,[vue.renderSlot(e.$slots,"day-transport"),vue.renderSlot(e.$slots,"day-introduction")]),vue.createElementVNode("ul",_hoisted_7$d,[vue.renderSlot(e.$slots,"stops")])],8,_hoisted_5$j)]),_:3},8,["open-by-default","control-id"])]),_:3})]),_:3})]),_:3})])}const ItineraryDay=LoadingSpinner._export_sfc(_sfc_main$1e,[["render",_sfc_render$$]]),_sfc_main$1d={name:"VsItineraryStop",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,VsBody:LoadingSpinner.VsBody,VsDetail},props:{stopLabel:{type:String,required:!0},stopNumber:{type:String,required:!0},stopTitle:{type:String,required:!0}}},_hoisted_1$U={class:"vs-itinerary-stop","data-test":"vs-itinerary-stop"},_hoisted_2$F={class:"vs-itinerary-stop__border"},_hoisted_3$u={class:"vs-itinerary-stop__header","data-test":"vs-itinerary-stop-heading"},_hoisted_4$n={class:"vs-itinerary-stop__marker"},_hoisted_5$i={class:"vs-itinerary-stop__count","aria-hidden":"true","data-test":"vs-itinerary-stop-marker"},_hoisted_6$e={class:"vs-itinerary-stop__details-container","data-chromatic":"ignore"},_hoisted_7$c={key:0,class:"vs-itinerary-stop__address","data-test":"vs-itinerary-stop-address"};function _sfc_render$_(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsDetail"),u=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$U,[vue.createElementVNode("div",_hoisted_2$F,[vue.createElementVNode("div",_hoisted_3$u,[vue.createElementVNode("div",_hoisted_4$n,[vue.createVNode(s,{icon:"fa-solid fa-location-pin",variant:"highlight",size:"xl"}),vue.createElementVNode("span",_hoisted_5$i,vue.toDisplayString(t.stopNumber),1)]),vue.createVNode(i,{level:"3","heading-style":"heading-s",class:"vs-itinerary-stop__title mb-025","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.stopLabel),1)]),_:1}),vue.createVNode(l,{class:"vs-itinerary-stop__detail","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.stopTitle),1)]),_:1})]),vue.renderSlot(e.$slots,"default"),vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stop-description")]),_:3}),vue.renderSlot(e.$slots,"stop-time-to-explore"),vue.renderSlot(e.$slots,"stop-tips"),vue.createElementVNode("div",_hoisted_6$e,[e.$slots["stop-address"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$c,[vue.renderSlot(e.$slots,"stop-address")])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"stop-info")]),vue.renderSlot(e.$slots,"stop-facilities")]),e.$slots["stop-buttons"]?vue.renderSlot(e.$slots,"stop-buttons",{key:0}):vue.createCommentVNode("",!0)])}const ItineraryStop=LoadingSpinner._export_sfc(_sfc_main$1d,[["render",_sfc_render$_]]),_sfc_main$1c={name:"VsItineraryStopInfo",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon,VsLink},props:{openingHours:{type:[String,Object],required:!1,default:null},openingTimesLink:{type:String,required:!1,default:null},closedText:{type:String,required:!0},closingSoonText:{type:String,required:!0},openText:{type:String,required:!0},usualText:{type:String,required:!0},provisionalText:{type:String,required:!0},temporarilyClosedText:{type:String,required:!0},toText:{type:String,required:!0},andText:{type:String,required:!0}},data(){return{openingMessage:"",currentDayData:{},currentTime:{},dayDataIndex:0,closedLongTerm:!1,ukDate:"",isCurrentTimeframe:!1,parsedHours:{}}},computed:{hoursMessage(){let e="";if(this.closedLongTerm)e=this.temporarilyClosedText;else if(this.currentDayData.length>0)switch(this.openingMessage){case"closed":e=this.closedText;break;case"closing soon":e=this.closingSoonText;break;case"open":e=this.openText;break;default:e=""}return e},provisionalMessage(){let e="";if(typeof this.currentDayData[0]<"u"){const n=this.currentDayData[0].state==="open"?this.openText:this.closedText;this.currentDayData[0].provisional?e=`${this.provisionalText} ${n.toLowerCase()} ${this.currentDayData[0].day}`:e=`${this.usualText} ${n.toLowerCase()} ${this.currentDayData[0].day}`,this.currentDayData[0].state!=="closed"&&typeof this.currentDayData[this.dayDataIndex]<"u"&&typeof this.currentDayData[this.dayDataIndex].startTime<"u"&&typeof this.currentDayData[this.dayDataIndex].endTime<"u"&&this.currentDayData[this.dayDataIndex].startTime!==""&&this.currentDayData[this.dayDataIndex].endTime!==""&&this.currentDayData.forEach((t,o)=>{e+=` ${t.startTime} ${this.toText} ${t.endTime}`,o+1<this.currentDayData.length&&(e+=` ${this.andText} `)})}return e}},created(){this.parseIncomingData(),this.getCurrentTime(),this.isActiveDate(),this.getCurrentHoursInfo()},methods:{parseIncomingData(){if(typeof this.openingHours!="object"){const e=this.openingHours.replace(/'/g,'"');this.parsedHours=JSON.parse(e)}else this.parsedHours=this.openingHours;this.parsedHours.closedLongTerm&&(this.closedLongTerm=!0)},getCurrentTime(){const e=new Date,n=e.toLocaleTimeString("en-GB",{timeZone:"Europe/London"});this.ukDate=e.toLocaleDateString("en-GB",{timeZone:"Europe/London"});const t=n.substring(0,2),o=n.substring(3,6),a=e.getDay();this.currentTime.hours=parseInt(t,10),this.currentTime.minutes=parseInt(o,10),this.currentTime.day=a},isActiveDate(){if(typeof this.parsedHours.period<"u"){const e=`${this.ukDate.substring(3,5)}/${this.ukDate.substring(0,2)}/${this.ukDate.substring(6,10)}`,n=new Date(this.parsedHours.period.startDay),t=new Date(this.parsedHours.period.endDay),o=new Date(e);o<t&&o>n?this.isCurrentTimeframe=!0:this.isCurrentTimeframe=!1}else this.isCurrentTimeframe=!0},getCurrentHoursInfo(){const e=this.returnDayName(this.currentTime.day);if(typeof this.parsedHours.days<"u"){const n=this.parsedHours.days.filter(t=>t.key===e);typeof n<"u"&&(this.currentDayData=n,this.compareTimes(this.currentTime,this.currentDayData,this.dayDataIndex))}},compareTimes(e,n,t){if(typeof n[t].startTime<"u"&&typeof n[t].endTime<"u"&&n[t].startTime.length>0&&n[t].endTime.length>0){const o=n[t].startTime,a=n[t].endTime,r=parseInt(o.substring(0,o.indexOf(":")),10),s=parseInt(o.substring(o.indexOf(":")+1,o.length),10),i=parseInt(a.substring(0,a.indexOf(":")),10),l=parseInt(a.substring(a.indexOf(":")+1,a.length),10),u=this.calculateClosingSoon(i,l);n[t].state==="closed"?this.openingMessage="closed":r>e.hours||r===e.hours&&s>e.minutes||i<e.hours||i===e.hours&&l<e.minutes?this.openingMessage="closed":this.withinClosingSoonTime(e,u)?this.openingMessage="closing soon":this.openingMessage="open",this.openingMessage==="closed"&&n.length>t+1&&(this.dayDataIndex+=1,this.compareTimes(this.currentTime,this.currentDayData,this.dayDataIndex))}else n[t].state==="closed"&&(this.openingMessage="closed")},returnDayName(e){let n="";switch(e){case 1:n="monday";break;case 2:n="tuesday";break;case 3:n="wednesday";break;case 4:n="thursday";break;case 5:n="friday";break;case 6:n="saturday";break;case 7:n="sunday";break;default:n=""}return n},calculateClosingSoon(e,n){let t,o;return n<30?(t=e-1,o=60+(n-30)):(t=e,o=n-30),{hours:t,mins:o}},withinClosingSoonTime(e,n){return!(n.hours>e.hours||n.hours===e.hours&&n.mins>e.minutes)}}},_hoisted_1$T={class:"vs-itinerary-stop-info","data-test":"vs-itinerary-stop-info"},_hoisted_2$E={key:0,class:"itinerary-stop-info__times mb-0","data-test":"vs-itinerary-stop-status"},_hoisted_3$t={key:1,"data-test":"vs-itinerary-stop-hours"},_hoisted_4$m={key:1,"data-test":"vs-stop-link"},_hoisted_5$h={key:2,"data-test":"vs-stop-charge-text"};function _sfc_render$Z(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$T,[vue.createVNode(s,{icon:"vs-icon-feedback-information",class:"vs-address__map-marker me-050"}),vue.createElementVNode("div",null,[a.isCurrentTimeframe?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[r.hoursMessage.length>0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$E,[vue.createTextVNode(vue.toDisplayString(r.hoursMessage),1),n[0]||(n[0]=vue.createElementVNode("br",null,null,-1))])):vue.createCommentVNode("",!0),!a.closedLongTerm&&typeof a.currentDayData[0]<"u"&&typeof a.currentDayData[0].state<"u"&&r.provisionalMessage.length>0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_3$t,vue.toDisplayString(r.provisionalMessage)+". ",1)):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),e.$slots["stop-link-text"]&&t.openingTimesLink!==null?(vue.openBlock(),vue.createElementBlock("p",_hoisted_4$m,[vue.createVNode(i,{href:t.openingTimesLink},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stop-link-text")]),_:3},8,["href"])])):vue.createCommentVNode("",!0),e.$slots["stop-charge-text"]?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$h,[vue.renderSlot(e.$slots,"stop-charge-text")])):vue.createCommentVNode("",!0)])])}const ItineraryStopInfo=LoadingSpinner._export_sfc(_sfc_main$1c,[["render",_sfc_render$Z]]),_sfc_main$1b={name:"VsItineraryTips",status:"prototype",release:"0.0.1",components:{},props:{}},_hoisted_1$S={class:"vs-itinerary-tips position-relative my-175"},_hoisted_2$D={class:"vs-itinerary-tips__text"},_hoisted_3$s={class:"vs-itinerary-tips__svg position-absolute"};function _sfc_render$Y(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$S,[vue.createElementVNode("div",_hoisted_2$D,[vue.renderSlot(e.$slots,"text")]),vue.createElementVNode("div",_hoisted_3$s,[vue.renderSlot(e.$slots,"svg")])])}const ItineraryTips=LoadingSpinner._export_sfc(_sfc_main$1b,[["render",_sfc_render$Y]]),_sfc_main$1a={name:"VsItineraryBorderOverlapWrapper",status:"prototype",release:"0.0.1",components:{},props:{}},_hoisted_1$R={class:"vs-itinerary-border-overlap__wrapper d-flex d-sm-inline-flex flex-column justify-content-start border-left"};function _sfc_render$X(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$R,[vue.renderSlot(e.$slots,"default")])}const ItineraryBorderOverlapWrapper=LoadingSpinner._export_sfc(_sfc_main$1a,[["render",_sfc_render$X]]),_sfc_main$19={name:"VsLinkList",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading},props:{toc:{type:Boolean,default:!1}},computed:{classes(){return{"link-list":!0,"link-list--toc":this.toc}},dataTest(){return this.toc?"link-list--toc":"link-list"},hasHeadingSlot(){return!!this.$slots.heading}}},_hoisted_1$Q=["data-test"],_hoisted_2$C={class:"link-list__list"};function _sfc_render$W(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(r.classes),"data-test":r.dataTest},[vue.createElementVNode("nav",null,[r.hasHeadingSlot?(vue.openBlock(),vue.createBlock(s,{key:0,level:"2","no-margins":"","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"heading")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("ul",_hoisted_2$C,[vue.renderSlot(e.$slots,"default")])])],10,_hoisted_1$Q)}const VsLinkList=LoadingSpinner._export_sfc(_sfc_main$19,[["render",_sfc_render$W]]),_sfc_main$18={name:"VsLinkListItem",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,default:null},type:{type:String,default:"default",validator:e=>e.match(/(default|external|internal|download|video)/)},videoId:{type:String,default:null},videoDescriptor:{type:String,default:null}},setup(){return{videoStore:useVideoStore()}},computed:{formattedVideoDuration(){if(this.videoDetails){let e=`${this.videoDetails.videoFullDuration.seconds}`;return e.length===1&&(e=`0${e}`),`${this.videoDetails.videoFullDuration.minutes}:${e}`}return""},videoDetails(){return this.videoStore.videos[this.videoId]},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0}},methods:{emitShowModal(){this.videoId&&this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$P={class:"link-list-item"};function _sfc_render$V(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$P,[vue.createVNode(s,{href:t.href,type:t.type==="video"?"default":t.type,role:t.type==="video"?"button":null,onClick:r.emitShowModal},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default"),t.type==="video"&&r.videoLoaded?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(" | "+vue.toDisplayString(t.videoDescriptor)+" "+vue.toDisplayString(r.formattedVideoDuration),1)],64)):vue.createCommentVNode("",!0)]),_:3},8,["href","type","role","onClick"])])}const LinkListItem=LoadingSpinner._export_sfc(_sfc_main$18,[["render",_sfc_render$V]]),_sfc_main$17={name:"VsListicleItem",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsBody:LoadingSpinner.VsBody,VsDetail},props:{index:{type:String,default:""},title:{type:String,default:""},subTitle:{type:String,default:""}},computed:{hasKeyFacilitiesSlot(){return!!this.$slots["facilities-slot"]}}},_hoisted_1$O={class:"vs-listicle-item border","data-test":"vs-listicle-item"},_hoisted_2$B={class:"vs-listicle-item__header","data-test":"vs-listicle-item-heading"},_hoisted_3$r={class:"count__bg"},_hoisted_4$l={class:"count","aria-hidden":"true"};function _sfc_render$U(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsDetail"),l=vue.resolveComponent("VsBody"),u=vue.resolveComponent("VsCol"),c=vue.resolveComponent("VsRow");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$O,[vue.renderSlot(e.$slots,"hippo-details"),vue.createElementVNode("div",_hoisted_2$B,[vue.createElementVNode("div",_hoisted_3$r,[vue.createElementVNode("span",_hoisted_4$l,vue.toDisplayString(t.index),1)]),vue.createVNode(s,{level:"2","heading-style":"heading-s",class:"vs-listicle-item__title mb-025","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1}),vue.createVNode(i,{class:"vs-listicle-item__detail","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subTitle),1)]),_:1})]),vue.renderSlot(e.$slots,"image-slot"),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"12",lg:"8",class:"mt-050 mt-sm-300 mb-100 mt-lg-050 pe-lg-300"},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"description-slot")]),_:3})]),_:3}),vue.createVNode(u,{cols:"12",lg:"4",class:vue.normalizeClass(["key-facilities-list mt-lg-400",[r.hasKeyFacilitiesSlot?"has-facilities":""]])},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"facilities-slot")]),_:3},8,["class"])]),_:3})])}const ListicleItem=LoadingSpinner._export_sfc(_sfc_main$17,[["render",_sfc_render$U]]),__vite_import_meta_env__={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var define_process_env_default$2={};const getEnvValue=e=>define_process_env_default$2?define_process_env_default$2[e]:__vite_import_meta_env__[e],_sfc_main$16={name:"VsSelect",status:"prototype",release:"0.0.1",components:{BFormSelect:LoadingSpinner.Lu},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{options:{type:Array,required:!0},fieldName:{type:String,required:!0},value:{type:String,default:""},validationRules:{type:Object,default(){return{}}},triggerValidate:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},countryListUrl:{type:String,default:""},hintText:{type:String,default:""},countries:{type:Boolean,default:!1},genericValidation:{type:Object,default(){return{}}},reAlertErrors:{type:Boolean,default:!1}},emits:["toggleAction","updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,touched:!1,countryList:[]}},computed:{errorClass(){return this.errorsList.length>0&&this.v$.inputVal&&this.v$.inputVal.$anyDirty||this.invalid?"vs-select__element--error":""},fieldOptions(){return this.countries?this.countryList:this.options}},watch:{inputVal(e){this.emitStatus(),this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e},triggerValidate(){this.manualValidate()}},beforeMount(){this.countries&&LoadingSpinner.axios.get(this.countryListUrl).then(e=>{this.countryList=e.data.countries})},methods:{autocompleteValue(e){let n;switch(e){case"Country":n="country-name";break;default:n="on";break}return n}},validations(){return this.rules}},_hoisted_1$N={class:"vs-select"},_hoisted_2$A=["id"],_hoisted_3$q=["id"],_hoisted_4$k={class:"visually-hidden"},_hoisted_5$g={class:"vs-select__container mt-050"};function _sfc_render$T(e,n,t,o,a,r){const s=vue.resolveComponent("BFormSelect");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$N,[vue.createElementVNode("p",{class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$A),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:0,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,i=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:i,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$k,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors]])),128))],8,_hoisted_3$q)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$g,[vue.createVNode(s,vue.mergeProps({modelValue:a.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>a.inputVal=i)},e.$attrs,{options:r.fieldOptions,name:t.fieldName,id:t.fieldName,onChange:e.emitStatus,onBlur:e.emitStatus,"data-test":"vs-select","data-testid":"vs-select",class:["vs-select__element",r.errorClass],required:e.isRequired,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,autocomplete:r.autocompleteValue(t.fieldName)}),null,16,["modelValue","options","name","id","onChange","onBlur","required","aria-invalid","aria-describedby","class","autocomplete"]),n[1]||(n[1]=vue.createElementVNode("span",{class:"vs-select__focus"},null,-1))])])}const VsSelect=LoadingSpinner._export_sfc(_sfc_main$16,[["render",_sfc_render$T]]);function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},_extends.apply(this,arguments)}var defer=function e(){var n=!1,t=[],o=function(){if(!n){n=!0;for(var i=0,l=t.length;i<l;i++)t[i]()}},a=function(i){if(!n){t.push(i);return}i()},r={resolved:function(){return n},resolve:o,promise:{then:a}};return r},ownProp=Object.prototype.hasOwnProperty;function createRecaptcha(){var e=defer();return{notify:function(){e.resolve()},wait:function(){return e.promise},render:function(t,o,a){this.wait().then(function(){a(window.grecaptcha.render(t,o))})},reset:function(t){typeof t>"u"||(this.assertLoaded(),this.wait().then(function(){return window.grecaptcha.reset(t)}))},execute:function(t){typeof t>"u"||(this.assertLoaded(),this.wait().then(function(){return window.grecaptcha.execute(t)}))},checkRecaptchaLoad:function(){ownProp.call(window,"grecaptcha")&&ownProp.call(window.grecaptcha,"render")&&this.notify()},assertLoaded:function(){if(!e.resolved())throw new Error("ReCAPTCHA has not been loaded")}}}var recaptcha=createRecaptcha();typeof window<"u"&&(window.vueRecaptchaApiLoaded=recaptcha.notify);var Recaptcha=vue.defineComponent({name:"VueRecaptcha",props:{sitekey:{type:String,required:!0},theme:{type:String},badge:{type:String},type:{type:String},size:{type:String},tabindex:{type:String},loadRecaptchaScript:{type:Boolean,default:!0},recaptchaScriptId:{type:String,default:"__RECAPTCHA_SCRIPT"},recaptchaHost:{type:String,default:"www.google.com"},language:{type:String,default:""}},emits:["render","verify","expired","error"],setup:function e(n,t){var o=t.slots,a=t.emit,r=vue.ref(null),s=vue.ref(null),i=function(d){a("verify",d)},l=function(){a("expired")},u=function(){a("error")};return vue.onMounted(function(){if(recaptcha.checkRecaptchaLoad(),n.loadRecaptchaScript&&!document.getElementById(n.recaptchaScriptId)){var c=document.createElement("script");c.id=n.recaptchaScriptId,c.src="https://"+n.recaptchaHost+"/recaptcha/api.js?onload=vueRecaptchaApiLoaded&render=explicit&hl="+n.language,c.async=!0,c.defer=!0,document.head.appendChild(c)}var d=_extends({},n,{callback:i,"expired-callback":l,"error-callback":u}),v=r.value,m=o.default?v.children[0]:v;recaptcha.render(m,d,function(f){s.value=f,a("render",f)})}),{root:r,widgetId:s,reset:function(){recaptcha.reset(s.value)},execute:function(){recaptcha.execute(s.value)}}},render:function e(){var n=this.$slots.default,t;return typeof n=="function"?t=n():t=n,vue.h("div",{ref:"root"},t)}});const _sfc_main$15={name:"VsRecaptcha",status:"prototype",release:"0.0.1",components:{VueRecaptcha:Recaptcha},props:{siteKey:{type:String,default:""},invalid:{type:Boolean,default:!1},language:{type:String,default:"en"},errorMsg:{type:String,default:""},textareaLabel:{type:String,default:"Does not need any text"},reAlertErrors:{type:Boolean,default:!1}},emits:["verified"],data(){return{response:null,recaptchaSiteKey:""}},created(){this.siteKey?this.recaptchaSiteKey=this.siteKey:this.recaptchaSiteKey=getEnvValue("RECAPTCHA_TOKEN")},methods:{verified(e){this.$emit("verified",e)},render(){const e=document.querySelectorAll('[id^="g-recaptcha-response"]');if(e.length){const n=e[0].parentNode,t=document.querySelector('label[for="g-recaptcha-response"]'),o=document.createElement("label");o.setAttribute("for","g-recaptcha-response"),o.setAttribute("class","visually-hidden"),o.textContent=this.textareaLabel,t||n.insertBefore(o,e[0])}}}},_hoisted_1$M={class:"vs-recaptcha","aria-live":"assertive"},_hoisted_2$z={key:0,class:"error"};function _sfc_render$S(e,n,t,o,a,r){const s=vue.resolveComponent("VueRecaptcha");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$M,[t.invalid&&!t.reAlertErrors?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$z,vue.toDisplayString(t.errorMsg),1)):vue.createCommentVNode("",!0),a.recaptchaSiteKey?(vue.openBlock(),vue.createBlock(s,{key:1,sitekey:a.recaptchaSiteKey,onVerify:r.verified,onRender:r.render,class:vue.normalizeClass(["vs-recaptcha__embed",t.invalid?"vs-recaptcha__embed--error":""]),language:t.language},null,8,["sitekey","onVerify","onRender","class","language"])):vue.createCommentVNode("",!0)])}const VsRecaptcha=LoadingSpinner._export_sfc(_sfc_main$15,[["render",_sfc_render$S]]),_sfc_main$14={name:"VsTextarea",status:"prototype",release:"0.0.1",components:{BFormTextarea:LoadingSpinner.ld},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},name:{type:String,default:""},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},placeholder:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1},rows:{type:Number||String,default:2}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){let e="";return(this.isInvalid||this.errorsList.length)&&(e="vs-input--error"),`${`vs-input--${this.fieldName}`} ${e}`}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},autocompleteValue(){return this.autoComplete?"on":"off"},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0}},validations(){return this.rules}},_hoisted_1$L={"data-test":"vs-textarea"},_hoisted_2$y=["id"],_hoisted_3$p=["id"],_hoisted_4$j={class:"visually-hidden"};function _sfc_render$R(e,n,t,o,a,r){const s=vue.resolveComponent("BFormTextarea");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$L,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$y)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,i=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:i,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$j,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors&&!a.clearErrorsOnFocus]])),128))],8,_hoisted_3$p)):vue.createCommentVNode("",!0),vue.createVNode(s,{ref:"input",class:vue.normalizeClass(["vs-textarea",r.elementClass]),modelValue:a.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>a.inputVal=i),id:t.fieldName,name:t.name?t.name:t.fieldName,placeholder:t.placeholder,required:e.isRequired,autocomplete:r.autocompleteValue(t.fieldName),v:a.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,disabled:t.disabled,rows:t.rows,onBlur:r.validateErrors,onChange:r.validateErrors,onFocus:r.resetErrors},null,8,["class","modelValue","id","name","placeholder","required","autocomplete","v","aria-invalid","aria-describedby","disabled","rows","onBlur","onChange","onFocus"])])}const VsTextarea=LoadingSpinner._export_sfc(_sfc_main$14,[["render",_sfc_render$R]]),_sfc_main$13={name:"VsForm",status:"prototype",release:"0.0.1",components:{VsInput,VsSelect,VsCheckbox,BFormGroup:LoadingSpinner.ku,VsRecaptcha,VsButton:LoadingSpinner.VsButton,VsHeading:LoadingSpinner.VsHeading,VsWarning:LoadingSpinner.VsWarning,VsTextarea},mixins:[LoadingSpinner.dataLayerMixin],props:{isMarketo:{type:Boolean,default:!0},submissionType:{type:String,default:"breg"},submitUrl:{type:String,default:""},dataUrl:{type:String,required:!0},usesRecaptcha:{type:Boolean,default:!0},recaptchaKey:{type:String,default:getEnvValue("RECAPTCHA_TOKEN")},recaptchaTextareaLabel:{type:String,default:"Does not need any text"},isProd:{type:Boolean,default:!1},munchkinId:{type:String,default:""},marketoInstance:{type:String,default:""},language:{type:String,default:"en"},messagingUrl:{type:String,required:!0},countryListUrl:{type:String,default:""},isTest:{type:Boolean,default:!0},consentList:{type:Array,required:!1,default:null}},data(){return{submitted:!1,submitting:!1,submitError:!1,formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,recaptchaVerified:!1,conditionalFields:{},inputVal:"",reAlertErrors:!1,emailFieldName:""}},computed:{formId(){return this.isProd?this.formData.formLiveId:this.formData.formSandboxId},showFormHeading(){return!this.isUndefined(this.getTranslatedContent)&&!this.isUndefined(this.getTranslatedContent("heading"))}},created(){this.getFormData(),this.getGlobalMessaging()},methods:{getFormData(){LoadingSpinner.axios.get(this.dataUrl).then(e=>{this.formData=e.data,this.isMarketo&&window.MktoForms2&&window.MktoForms2.loadForm(this.marketoInstance,this.munchkinId,this.formId),e.data.fields.forEach(n=>{this.form[n.name]="",n.conditional&&(this.conditionalFields[n.name]=!1)}),this.checkConditionalFields()}).catch(()=>{})},getGlobalMessaging(){LoadingSpinner.axios.get(this.messagingUrl).then(e=>{this.messagingData=e.data}).catch(()=>{})},getLanguageObj(){let e;return this.isUndefined(this.formData[this.language])?e={}:e=this.formData[this.language]||void 0,e},getTranslatedLabel(e,n){const t=this.getLanguageObj();let o="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].label)?o=t[e].label:o=this.formData.fields[n].label,this.showOptionalText(this.formData.fields[n])&&!this.isUndefined(this.getMessagingData("optional",this.language))&&(o=`${o} (${this.getMessagingData("optional",this.language)})`),o},getTranslatedLegend(e,n){const t=this.getLanguageObj();let o="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].descriptor)?o=t[e].descriptor:o=this.formData.fields[n].descriptor,o},getTranslatedInfo(e,n){const t=this.getLanguageObj();let o="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].info)?o=t[e].info:o=this.formData.fields[n].info,o},getTranslatedValidation(e,n){const t=this.getLanguageObj();let o;return this.language==="en"&&!this.isUndefined(this.formData.fields[n].validationMessages)?o=this.formData.fields[n].validationMessages:!this.isUndefined(t[e])&&!this.isUndefined(t[e].validationMessages)?o=t[e].validationMessages:this.language==="en"&&(o=this.formData.fields[n].validationMessages),o},getTranslatedOptions(e,n){const t=this.getLanguageObj();let o=[];return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined([e].options)?o=t[e].options:o=this.formData.fields[n].options,typeof o>"u"&&(o=[]),o},getTranslatedHint(e,n){const t=this.getLanguageObj();let o="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].hint)?o=t[e].hint:this.isUndefined(this.formData.fields[n].hint)?o="":o=this.formData.fields[n].hint,o},getTranslatedContent(e){let n;const t=this.getLanguageObj();return this.language==="en"&&!this.isUndefined(this.formData.content)&&!this.isUndefined(this.formData.content[e])?n=this.formData.content[e]:!this.isUndefined(t.content)&&!this.isUndefined(t.content[e])?n=t.content[e]:n=this.getMessagingData(e,this.language),n},getMessagingData(e,n){return Object.keys(this.messagingData).length>0?this.messagingData[n][e]:e==="validation"?{}:""},getHiddenFields(){return[...this.$el.querySelectorAll("input[type=hidden]")].map(this.parseBooleanStringsFromInputField).reduce((e,n)=>(e[n.name]=n.value,e),{})},parseBooleanStringsFromInputField(e){let n=e.value;return n==="true"?n=!0:n==="false"&&(n=!1),{name:e.name,value:n}},isUndefined(e){return typeof e>"u"},updateFieldData(e){this.form[e.field]=e.value||"",Array.isArray(e.errors)?this.formIsInvalid=e.errors.length>0:this.formIsInvalid=e.errors!==null,this.manageErrorStatus(e.field,e.errors),this.checkConditionalFields()},manageErrorStatus(e,n){const t=this.errorFields.indexOf(e);t!==-1?(!n||n.length<1)&&this.errorFields.splice(t,1):n&&n.length>0&&this.errorFields.push(e)},showOptionalText(e){return!!(this.isUndefined(e.validation)||this.isUndefined(e.validation.required))},needsLabel(e){return!(e.element==="radio"||e.element==="submit"||e.element==="checkbox")},preSubmit(e){e.preventDefault(),this.submitError=!1;function n(o){return o.validation&&o.validation.required}this.usesRecaptcha&&!this.isTest&&this.onRecaptchaVerify(),this.triggerValidate=!0;const t=this.formData.fields.filter(n);t.length===0?this.formIsInvalid=!1:t.forEach(o=>{if(!/\S/.test(this.form[o.name])){let a=!0;o.name in this.conditionalFields&&!this.conditionalFields[o.name]&&(a=!1),this.formIsInvalid=a}}),this.showErrorMessage=this.formIsInvalid,Object.entries(this.conditionalFields).forEach(([o,a])=>{a||(this.form[o]="")}),this.errorFields.length>0&&(this.formIsInvalid=!0),!this.formIsInvalid&&(this.recaptchaVerified||!this.usesRecaptcha)?this.isMarketo?this.marketoSubmit():this.axiosSubmit():(this.showErrorMessage=!0,this.reAlertErrors=!0,setTimeout(()=>{this.reAlertErrors=!1},100))},marketoSubmit(){this.createDataLayerObject("formsDataEvent");const e=window.MktoForms2.allForms()[0];e.addHiddenFields(this.form),window.grecaptcha&&e.addHiddenFields({lastReCAPTCHAUserFingerprint:window.grecaptcha.getResponse(),lastRecaptchaEnabledFormID:this.formId}),e.onSuccess(()=>(this.submitting=!1,this.submitted=!0,!1)),e.onSubmit(()=>{this.submitting=!0}),e.submit()},axiosSubmit(){this.createDataLayerObject("formsDataEvent"),this.submitting=!0;let e="";window.grecaptcha&&(e=window.grecaptcha.getResponse());const n=this.getHiddenFields();LoadingSpinner.axios.post(this.submitUrl,{...this.form,...n,formType:this.formData.content?this.formData.content.formType:"","g-recaptcha-response":e,consentList:this.consentList}).then(()=>(this.submitting=!1,this.submitted=!0,this.attachEmail(),!1)).catch(()=>(this.submitError=!0,!1))},attachEmail(){this.submissionType&&this.submissionType==="breg"&&(this.formData.fields.forEach(e=>{e.type==="email"&&!this.emailFieldName&&(this.emailFieldName=e.name)}),this.emailFieldName&&typeof exponea<"u"&&exponea.identify({email_id:this.form[this.emailFieldName]},{},()=>{},()=>{},!0))},onRecaptchaVerify(){window.grecaptcha&&typeof window.grecaptcha.getResponse=="function"&&window.grecaptcha.getResponse()!==""?this.recaptchaVerified=!0:this.recaptchaVerified=!1},checkConditionalFields(){Object.keys(this.conditionalFields).forEach(e=>{const n=this.formData.fields.find(o=>o.name===e);let t=!0;Object.keys(n.conditional).forEach(o=>{const a=n.conditional[o];Array.isArray(a)?a.indexOf(this.form[o])===-1&&(t=!1):this.form[o]!==a&&(t=!1),t?this.conditionalFields[e]||(this.conditionalFields[e]=!0,this.$refs[e]&&this.$refs[e][0].manualValidate()):(this.manageErrorStatus(e,[]),this.conditionalFields[e]=!1)})})},conditionalElementClass(e){return this.conditionalFields[e]===!0||typeof this.conditionalFields[e]>"u"?"":"d-none"}}},_hoisted_1$K={class:"vs-form","data-test":"vs-form"},_hoisted_2$x={class:"vs-form__main-heading vs-heading vs-heading--heading-l float-none","data-test":"vs-form__main-heading"},_hoisted_3$o={key:0},_hoisted_4$i={"aria-live":"assertive"},_hoisted_5$f={key:0},_hoisted_6$d=["innerHTML"],_hoisted_7$b={key:2,class:"mt-200"};function _sfc_render$Q(e,n,t,o,a,r){const s=vue.resolveComponent("VsInput"),i=vue.resolveComponent("VsSelect"),l=vue.resolveComponent("VsCheckbox"),u=vue.resolveComponent("VsTextarea"),c=vue.resolveComponent("BFormGroup"),d=vue.resolveComponent("VsRecaptcha"),v=vue.resolveComponent("VsButton"),m=vue.resolveComponent("VsWarning"),f=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$K,[n[1]||(n[1]=vue.createElementVNode("form",{class:"d-none"},null,-1)),a.submitted?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("form",{key:0,onSubmit:n[0]||(n[0]=vue.withModifiers((...p)=>r.preSubmit&&r.preSubmit(...p),["prevent"]))},[vue.createElementVNode("fieldset",null,[vue.createElementVNode("legend",_hoisted_2$x,vue.toDisplayString(r.getTranslatedContent("heading")),1),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.formData.fields,(p,g)=>(vue.openBlock(),vue.createBlock(c,{key:p.name,label:r.needsLabel(p)?r.getTranslatedLabel(p.name,g):"","label-for":r.needsLabel(p)?p.name:"",class:vue.normalizeClass(r.conditionalElementClass(p.name))},{default:vue.withCtx(()=>[!r.isUndefined(p.descriptor)&&p.element==="checkbox"?(vue.openBlock(),vue.createElementBlock("legend",_hoisted_3$o,vue.toDisplayString(r.getTranslatedLegend(p.name,g)),1)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(r.conditionalElementClass(p.name))},[p.element==="input"?(vue.openBlock(),vue.createBlock(s,{key:0,ref_for:!0,ref:p.name,onStatusUpdate:r.updateFieldData,"field-name":p.name,type:p.type,"validation-rules":p.validation||{},"validation-messages":r.getTranslatedValidation(p.name,g)||{},"generic-validation":r.getMessagingData("validation",t.language),invalid:a.errorFields.indexOf(p.name)>-1,"trigger-validate":a.triggerValidate,"hint-text":r.getTranslatedHint(p.name,g),placeholder:p.placeholder||"","re-alert-errors":a.reAlertErrors},null,8,["onStatusUpdate","field-name","type","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors"])):vue.createCommentVNode("",!0),p.element==="select"?(vue.openBlock(),vue.createBlock(i,{key:1,options:r.getTranslatedOptions(p.name,g),ref_for:!0,ref:p.name,onStatusUpdate:r.updateFieldData,"field-name":p.name,"validation-rules":p.validation||{},"validation-messages":r.getTranslatedValidation(p.name,g)||{},"generic-validation":r.getMessagingData("validation",t.language),invalid:a.errorFields.indexOf(p.name)>-1,"trigger-validate":a.triggerValidate,"country-list-url":t.countryListUrl,countries:p.countries,"hint-text":r.getTranslatedHint(p.name,g),"re-alert-errors":a.reAlertErrors},null,8,["options","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","country-list-url","countries","hint-text","re-alert-errors"])):vue.createCommentVNode("",!0),p.element==="checkbox"?(vue.openBlock(),vue.createBlock(l,{key:p.name,ref_for:!0,ref:p.name,name:p.name,value:p.value,label:r.getTranslatedLabel(p.name,g),onStatusUpdate:r.updateFieldData,"field-name":p.name,"validation-rules":p.validation||{},"validation-messages":r.getTranslatedValidation(p.name,g)||{},"generic-validation":r.getMessagingData("validation",t.language),invalid:a.errorFields.indexOf(p.name)>-1,"trigger-validate":a.triggerValidate,"optional-text":r.getMessagingData("optional",t.language),"hint-text":r.getTranslatedHint(p.name,g),"info-text":r.getTranslatedInfo(p.name,g),"re-alert-errors":a.reAlertErrors},null,8,["name","value","label","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","optional-text","hint-text","info-text","re-alert-errors"])):vue.createCommentVNode("",!0),p.element==="textarea"?(vue.openBlock(),vue.createBlock(u,{key:3,ref_for:!0,ref:p.name,onStatusUpdate:r.updateFieldData,"field-name":p.name,"validation-rules":p.validation||{},"validation-messages":r.getTranslatedValidation(p.name,g)||{},"generic-validation":r.getMessagingData("validation",t.language),invalid:a.errorFields.indexOf(p.name)>-1,"trigger-validate":a.triggerValidate,"hint-text":r.getTranslatedHint(p.name,g),placeholder:p.placeholder||"","re-alert-errors":a.reAlertErrors,rows:p.rows||null},null,8,["onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors","rows"])):vue.createCommentVNode("",!0)],2)]),_:2},1032,["label","label-for","class"]))),128))]),vue.renderSlot(e.$slots,"hidden-fields"),t.usesRecaptcha?(vue.openBlock(),vue.createBlock(d,{key:0,onVerified:r.onRecaptchaVerify,"site-key":t.recaptchaKey,invalid:!a.recaptchaVerified&&a.showErrorMessage,language:t.language,"error-msg":r.getMessagingData("recaptchaError",t.language),class:"mt-300","textarea-label":t.recaptchaTextareaLabel,"re-alert-errors":a.reAlertErrors},null,8,["onVerified","site-key","invalid","language","error-msg","textarea-label","re-alert-errors"])):vue.createCommentVNode("",!0),vue.createVNode(v,{variant:"primary",type:"submit",class:"vs-form__submit mt-300",onClick:r.preSubmit},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.getTranslatedContent("submit")),1)]),_:1},8,["onClick"])],32)),vue.createVNode(m,{class:"vs-form__no-js"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"no-js")]),_:3}),vue.createElementVNode("div",_hoisted_4$i,[a.submitting?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$f,[vue.renderSlot(e.$slots,"submitting")])):vue.createCommentVNode("",!0),a.submitted?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[r.getTranslatedContent("successHeading")?(vue.openBlock(),vue.createBlock(f,{key:0,level:"2","heading-style":"heading-l"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.getTranslatedContent("successHeading")),1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("p",{class:"vs-form__content",innerHTML:r.getTranslatedContent("successContent")},null,8,_hoisted_6$d)],64)):vue.createCommentVNode("",!0),a.submitError?(vue.openBlock(),vue.createElementBlock("p",_hoisted_7$b,[vue.renderSlot(e.$slots,"submit-error")])):vue.createCommentVNode("",!0)])])}const Form=LoadingSpinner._export_sfc(_sfc_main$13,[["render",_sfc_render$Q]]),_sfc_main$12={name:"VsMegaNavTopMenu",status:"prototype",release:"0.1.0",components:{VsList},inject:["isStatic"]};function _sfc_render$P(e,n,t,o,a,r){const s=vue.resolveComponent("VsList");return vue.openBlock(),vue.createBlock(s,{unstyled:"",class:"vs-mega-nav-top-menu","data-test":"vs-mega-nav-top-menu",role:"menubar"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})}const VsMegaNavTopMenu=LoadingSpinner._export_sfc(_sfc_main$12,[["render",_sfc_render$P]]),_sfc_main$11={name:"VsMegaNavMobileMenu",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],mounted(){this.emitter&&this.emitter.on("navAccordionClick",e=>{this.dataLayerSubmit(e)})},methods:{dataLayerSubmit(e){const n={target:{text:e}};this.createDataLayerObject("menuNavigationDataEvent",n,null)}}},_hoisted_1$J={class:"mega-nav-mobile-menu","data-test":"vs-mega-nav-mobile-menu"};function _sfc_render$O(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$J,[vue.renderSlot(e.$slots,"default")])}const VsMegaNavMobileMenu=LoadingSpinner._export_sfc(_sfc_main$11,[["render",_sfc_render$O]]),_sfc_main$10={name:"VsSiteSearch",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton},props:{isShowing:{type:Boolean,default:!1}},emits:["toggleAction"],data(){return{showSearchForm:!0}},methods:{toggleAction(){this.showSearchForm=!this.showSearchForm,this.$emit("toggleAction",this.showSearchForm)}}},_hoisted_1$I={class:"visually-hidden-xxl-down"};function _sfc_render$N(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createBlock(s,{"data-test":"vs-site-search",class:vue.normalizeClass(["vs-site-search",t.isShowing?"vs-site-search--active":""]),icon:"vs-icon-control-search",size:"md",animate:!1,onClick:r.toggleAction,id:"site-search-btn",rounded:!1},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$I,[vue.renderSlot(e.$slots,"default")])]),_:3},8,["class","onClick"])}const VsSiteSearch=LoadingSpinner._export_sfc(_sfc_main$10,[["render",_sfc_render$N]]),_sfc_main$$={name:"VsSiteSearchForm",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon,VsInput,VsButton:LoadingSpinner.VsButton,VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer},props:{isShowing:{type:Boolean,default:!1},labelText:{type:String,default:""},submitButtonText:{type:String,default:""},closeButtonText:{type:String,default:""}},emits:["toggleAction"],data(){return{searchTerm:"",showSearchForm:!0}},watch:{isShowing(e){e&&this.focusOnInput()}},methods:{focusOnInput(){this.$nextTick(()=>this.$refs.searchInput.$refs.input.focus())},tabFromClose(e){e.shiftKey||this.closeSearchForm()},updateVal(e){this.searchTerm=e.value},onSubmit(e){this.searchTerm===""&&e.preventDefault()},closeSearchForm(){this.$emit("toggleAction",this.showSearchForm)}}},_hoisted_1$H={key:0,class:"vs-site-search-form","data-test":"vs-site-search-form"},_hoisted_2$w={class:"cludo-input-form d-flex pe-075 align-items-start",role:"search",id:"cludo-search-input"},_hoisted_3$n={class:"d-flex flex-column flex-grow-1 position-relative"},_hoisted_4$h={for:"site-search",class:"vs-site-search-form__label"},_hoisted_5$e={class:"visually-hidden"};function _sfc_render$M(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsInput"),l=vue.resolveComponent("VsButton"),u=vue.resolveComponent("VsCol"),c=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer");return a.showSearchForm?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$H,[vue.createVNode(d,{fluid:"lg"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"12"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$w,[vue.createElementVNode("div",_hoisted_3$n,[vue.createElementVNode("label",_hoisted_4$h,[vue.createElementVNode("span",_hoisted_5$e,vue.toDisplayString(t.labelText),1),vue.createVNode(s,{icon:"vs-icon-control-search",size:"xs"})]),vue.createVNode(i,{class:"vs-site-search-form__input cludo-input-form__input",ref:"searchInput",name:"searchrequest",type:"search","field-name":"site-search",placeholder:t.labelText,"auto-complete":!1,onUpdated:r.updateVal},null,8,["placeholder","onUpdated"])]),vue.createVNode(l,{type:"submit",class:"vs-site-search-form__search-button cludo-input-form__search-button",variant:"primary",size:"lg",rounded:!1,onClick:r.closeSearchForm},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.submitButtonText),1)]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1}),vue.createVNode(l,{class:"vs-site-search-form__close-button d-none d-lg-block",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:r.closeSearchForm,onKeydown:vue.withKeys(r.tabFromClose,["tab"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeButtonText),1)]),_:1},8,["onClick","onKeydown"])])):vue.createCommentVNode("",!0)}const VsSiteSearchForm=LoadingSpinner._export_sfc(_sfc_main$$,[["render",_sfc_render$M]]),clickOutside={mounted(e,n){e.clickOutsideEvent=t=>{e===t.target||e.contains(t.target)||n.value(t)},document.body.addEventListener("click",e.clickOutsideEvent)},unmounted(e){document.body.removeEventListener("click",e.clickOutsideEvent)}},_sfc_main$_={name:"VsMegaNav",status:"deprecated",release:"0.1.0",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsSvgLink,VsMegaNavTopMenu,VsMegaNavMobileMenu,VsSiteSearch,VsSiteSearchForm,VsButton:LoadingSpinner.VsButton},directives:{clickOutside},mixins:[LoadingSpinner.dataLayerMixin],provide(){return{isStatic:this.isStatic}},props:{href:{type:String,required:!0},menuToggleAltText:{type:String,required:!0},logoAltText:{type:String,default:"VisitScotland Home"},searchButtonText:{type:String,required:!0},searchLabelText:{type:String,default:"What are you looking for?"},searchClearButtonText:{type:String,default:"Clear form"},searchCloseButtonText:{type:String,default:"Close search form"},mapButtonText:{type:String,default:void 0},noSearch:{type:Boolean,default:!1},searchLink:{type:String,default:void 0},mapLink:{type:String,default:void 0},isStatic:{type:Boolean,default:!1}},data(){return{isOpen:!1,showSearch:!1,tokens:LoadingSpinner.designTokens}},mounted(){this.addTabClose()},methods:{menuToggle(){this.isOpen=!this.isOpen},toggleSearch(){this.showSearch=!this.showSearch},closeMenu(e){const n=document.getElementsByClassName("vs-mega-nav__menu-mobile")[0];this.isOpen&&!n.contains(e.target)&&(this.isOpen=!1)},addTabClose(){document.body.addEventListener("focusin",e=>{this.isOpen&&(e.target.closest("#vs-mega-nav__menu-mobile")||(this.isOpen=!1))})}}},_hoisted_1$G={class:"vs-mega-nav bg-white","aria-label":"main nav","data-test":"vs-mega-nav",id:"main-nav"},_hoisted_2$v={class:"visually-hidden-xxl-down"},_hoisted_3$m={class:"vs-mega-nav__menu-mobile d-lg-none",id:"vs-mega-nav__menu-mobile","data-test":"vs-mega-nav-mobile-container"};function _sfc_render$L(e,n,t,o,a,r){const s=vue.resolveComponent("VsSvgLink"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsMegaNavTopMenu"),u=vue.resolveComponent("VsButton"),c=vue.resolveComponent("VsSiteSearch"),d=vue.resolveComponent("VsMegaNavMobileMenu"),v=vue.resolveComponent("VsRow"),m=vue.resolveComponent("VsContainer"),f=vue.resolveComponent("VsSiteSearchForm"),p=vue.resolveDirective("click-outside");return vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("nav",_hoisted_1$G,[vue.createVNode(m,{fluid:"lg",class:"h-100"},{default:vue.withCtx(()=>[vue.createVNode(v,{class:"align-items-center h-100 vs-mega-nav__main-row"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"7",md:"4",lg:"3"},{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[vue.createVNode(s,{class:"vs-mega-nav__logo","data-test":"vs-mega-nav__logo","link-alt-text":t.logoAltText,href:t.href,"svg-fill":a.tokens["vs-color-background-brand"],"svg-path":"visitscotland-logo","data-layer-value":"homePageLogoClickDataEvent"},null,8,["link-alt-text","href","svg-fill"])])]),_:1}),vue.createVNode(i,{cols:"4",md:"6",lg:t.noSearch?7:5,class:"vs-mega-nav__menu d-none d-lg-block"},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"mega-nav-top-menu-items")]),_:3})]),_:3},8,["lg"]),vue.createVNode(i,{cols:"5",md:"8",lg:"4",class:"justify-content-end align-items-center position-static d-flex h-100"},{default:vue.withCtx(()=>[t.mapButtonText&&t.mapLink?(vue.openBlock(),vue.createBlock(u,{key:0,variant:"subtle",icon:"fa-regular fa-map","icon-only":"",size:"md",rounded:!1,href:t.mapLink,class:"vs-mega-nav__map-button d-flex","data-test":"vs-mega-nav__map-button"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.mapButtonText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),!t.noSearch&&!t.searchLink?(vue.openBlock(),vue.createBlock(c,{key:1,onToggleAction:r.toggleSearch,"is-showing":a.showSearch},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonText),1)]),_:1},8,["onToggleAction","is-showing"])):vue.createCommentVNode("",!0),!t.noSearch&&t.searchLink?(vue.openBlock(),vue.createBlock(u,{key:2,animate:!1,class:"vs-site-search",href:t.searchLink,icon:"vs-icon-control-search",id:"site-search-btn",rounded:!1},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$v,vue.toDisplayString(t.searchButtonText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$m,[vue.createVNode(u,{class:"vs-mega-nav__mobile-menu-toggle p-0","icon-only":"",icon:a.isOpen?"vs-icon-control-dismiss":"vs-icon-control-menu",variant:"subtle",onClick:n[0]||(n[0]=g=>r.menuToggle()),ref:"toggleButton",rounded:!1,"aria-haspopup":"true"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["icon"]),a.isOpen?vue.withDirectives((vue.openBlock(),vue.createBlock(d,{key:0},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"mega-nav-accordion-items")]),_:3})),[[p,r.closeMenu]]):vue.createCommentVNode("",!0)])]),_:3})]),_:3})]),_:3})]),vue.withDirectives(vue.createVNode(f,{onToggleAction:r.toggleSearch,"is-showing":a.showSearch,"label-text":t.searchLabelText,"submit-button-text":t.searchButtonText,"close-button-text":t.searchCloseButtonText},null,8,["onToggleAction","is-showing","label-text","submit-button-text","close-button-text"]),[[vue.vShow,a.showSearch]])])}const MegaNav=LoadingSpinner._export_sfc(_sfc_main$_,[["render",_sfc_render$L]]),_sfc_main$Z={name:"VsMegaNavDropdown",status:"prototype",release:"0.1.0",components:{BDropdown:LoadingSpinner.un,VsCol:LoadingSpinner.VsCol,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsButton:LoadingSpinner.VsButton},mixins:[LoadingSpinner.dataLayerMixin],props:{menuToggleAltText:{type:String,required:!0}},emits:["menuToggled"],mounted(){this.emitter&&(this.emitter.on("bv::dropdown::show",()=>{this.$emit("menuToggled")}),this.emitter.on("bv::dropdown::hide",()=>{this.$emit("menuToggled")})),window.addEventListener("resize",this.closeMenu)},beforeUnmount(){window.removeEventListener("resize",this.closeMenu)},methods:{closeMenu(){this.$refs.dropdown.hide()},tabFromClose(e){e.shiftKey||this.closeMenu()},dataLayerSubmit(){if(this.$slots["button-content"]()[1]&&this.$slots["button-content"]()[1].children[0]){const n={target:{text:this.$slots["button-content"]()[1].children[0].children}};this.createDataLayerObject("menuNavigationDataEvent",n,null)}}}},_hoisted_1$F={class:"vs-mega-nav-dropdown","data-test":"vs-mega-nav-dropdown",role:"menuitem"},_hoisted_2$u={role:"menuitem"},_hoisted_3$l={class:"dropdown-menu dropdown-menu--fallback overflow-auto",role:"menu"},_hoisted_4$g={role:"menuitem"};function _sfc_render$K(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$F,[vue.createVNode(c,{variant:"subtle",ref:"dropdown",onShow:n[0]||(n[0]=d=>r.dataLayerSubmit(d))},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),default:vue.withCtx(()=>[vue.createElementVNode("li",_hoisted_2$u,[vue.createVNode(u,{fluid:"lg",class:"px-0 px-lg-075"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"g-0"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",class:"position-relative"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"cta-link"),vue.renderSlot(e.$slots,"dropdown-content"),vue.createVNode(s,{class:"vs-mega-nav-dropdown__close-btn d-none d-lg-block position-absolute",icon:"vs-icon-control-dismiss","icon-only":"",size:"sm",variant:"subtle",onClick:r.closeMenu,onKeydown:vue.withKeys(r.tabFromClose,["tab"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["onClick","onKeydown"])]),_:3})]),_:3})]),_:3})])]),_:3},512),vue.createElementVNode("ul",_hoisted_3$l,[vue.createElementVNode("li",_hoisted_4$g,[vue.createVNode(u,{fluid:"lg",class:"px-0 px-lg-075"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"g-0"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",class:"position-relative"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"cta-link"),vue.renderSlot(e.$slots,"dropdown-content"),vue.createVNode(s,{class:"vs-mega-nav-dropdown__close-btn d-none d-lg-block position-absolute",icon:"vs-icon-control-dismiss","icon-only":"",size:"sm",variant:"subtle",onClick:r.closeMenu},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["onClick"])]),_:3})]),_:3})]),_:3})])])])}const VsMegaNavDropdown=LoadingSpinner._export_sfc(_sfc_main$Z,[["render",_sfc_render$K]]),_sfc_main$Y={name:"VsMegaNavDropdownContainer",status:"prototype",release:"0.1.0",components:{VsMegaNavDropdown,VsLink,LazyHydrationWrapper:LazyHydrationWrapper$1},props:{href:{type:String,default:""},ctaText:{type:String,default:""},align:{type:String,default:"top",validator:e=>e.match(/(left|bottom|top)/)}},computed:{hasFeaturedItem(){return this.$slots["nav-featured-item"]&&this.$slots["nav-featured-item"]()},hasFeaturedItemLeft(){return this.$slots["nav-featured-item-left"]&&this.$slots["nav-featured-item-left"]()},hasFeaturedEvent(){return this.$slots["nav-featured-event"]&&this.$slots["nav-featured-event"]()},alignmentClass(){return this.align==="bottom"?"vs-mega-nav-dropdown-container__featured--bottom":""}}},_hoisted_1$E={class:"vs-mega-nav-dropdown-container","data-test":"vs-mega-nav-dropdown-container",ref:"menuToggle",role:"presentation"},_hoisted_2$t={class:"vs-mega-nav-dropdown-container__columns-wrapper"},_hoisted_3$k={key:2,class:"vs-mega-nav-dropdown-container__featured-event","data-test":"vs-mega-nav-dropdown-container__featured-event"};function _sfc_render$J(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink"),i=vue.resolveComponent("VsMegaNavDropdown"),l=vue.resolveComponent("LazyHydrationWrapper");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$E,[vue.createVNode(l,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createVNode(i,{"menu-toggle-alt-text":"Toggle Menu"},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),"cta-link":vue.withCtx(()=>[t.href&&t.ctaText?(vue.openBlock(),vue.createBlock(s,{key:0,href:t.href,"data-test":"vs-mega-nav-dropdown-container__cta-link",class:"vs-mega-nav-dropdown-container__cta-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-mega-nav-dropdown-container__divider"},null,-1))]),"dropdown-content":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$t,[vue.renderSlot(e.$slots,"dropdown-content"),r.hasFeaturedItemLeft?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-mega-nav-dropdown-container__featured vs-mega-nav-dropdown-container__featured--left",r.alignmentClass]),"data-test":"vs-mega-nav-dropdown-container__featured"},[vue.renderSlot(e.$slots,"nav-featured-item-left")],2)):vue.createCommentVNode("",!0),r.hasFeaturedItem?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(["vs-mega-nav-dropdown-container__featured",r.alignmentClass]),"data-test":"vs-mega-nav-dropdown-container__featured"},[vue.renderSlot(e.$slots,"nav-featured-item")],2)):vue.createCommentVNode("",!0),r.hasFeaturedEvent?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$k,[vue.renderSlot(e.$slots,"nav-featured-event")])):vue.createCommentVNode("",!0)])]),_:3})]),_:3})],512)}const MegaNavDropdownContainer=LoadingSpinner._export_sfc(_sfc_main$Y,[["render",_sfc_render$J]]),_sfc_main$X={name:"VsMegaNavList",status:"prototype",release:"0.1.0",components:{VsList,VsHeading:LoadingSpinner.VsHeading},props:{listHeading:{type:String,default:""}},computed:{listHeadingId(){return this.listHeading?`vsMeganav${this.listHeading.replace(/\W/g,"")}`:""}}},_hoisted_1$D=["aria-label"];function _sfc_render$I(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsList");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-mega-nav-list","data-test":"vs-mega-nav-list","aria-label":r.listHeadingId},[t.listHeading?(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-mega-nav-list__heading",id:r.listHeadingId,level:"2","heading-style":"heading-xxxs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.listHeading),1)]),_:1},8,["id"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"vs-mega-nav-list__list",role:"menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"nav-heading-cta-link"),vue.renderSlot(e.$slots,"nav-list-items")]),_:3})],8,_hoisted_1$D)}const MegaNavList=LoadingSpinner._export_sfc(_sfc_main$X,[["render",_sfc_render$I]]),_sfc_main$W={name:"VsMegaNavListItem",status:"prototype",release:"0.1.0",components:{VsLink},mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,default:"#"},subheadingLink:{type:Boolean,default:!1}},computed:{navItemClasses(){return{"vs-mega-nav-list-item__heading":this.href==="#","vs-mega-nav-list-item__link":this.href!=="#","vs-mega-nav-list-item__subheading-link":this.subheadingLink}}},methods:{clickHandler(e){e.preventDefault(),this.dataLayerValue&&this.createDataLayerObject(this.dataLayerValue,e,this.href),setTimeout(()=>{this.navigateToUrl()},500)},navigateToUrl(){this.href!=="#"&&this.href!==null&&(window.location.href=this.href)},keyHandler(e){(e.keyCode===13||e.keyCode===32)&&(e.preventDefault(),this.clickHandler(e))}}};function _sfc_render$H(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(["vs-mega-nav-list-item",r.navItemClasses]),"data-test":"vs-mega-nav-list-item",role:"presentation"},[vue.createVNode(s,{href:t.href,role:"menuitem","data-layer-value":"menuNavigationDataEvent"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])],2)}const MegaNavListItem=LoadingSpinner._export_sfc(_sfc_main$W,[["render",_sfc_render$H]]),_sfc_main$V={name:"VsMegaNavAccordionItem",status:"prototype",release:"0.1.0",components:{VsAccordionItem,VsLink},props:{controlId:{type:String,required:!0},title:{type:String,required:!0},level:{type:String,required:!0,validator:e=>e.match(/(1|2)/)},ctaLink:{type:String,default:""},ctaText:{type:String,default:""}},computed:{getUniqueId(){let e=this.title.toLowerCase();return e=e.replace(/\s+/g,"-"),`vs-mega-nav-${e}`},accordionItemClasses(){return[`vs-mega-nav-accordion-item--level-${this.level}`]}}};function _sfc_render$G(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink"),i=vue.resolveComponent("VsAccordionItem");return vue.openBlock(),vue.createBlock(i,{class:vue.normalizeClass(["vs-mega-nav-accordion-item",r.accordionItemClasses]),"data-test":"vs-mega-nav-accordion-item","data-unique-id":r.getUniqueId,"control-id":`vs-mega-nav-accordion-item-${r.getUniqueId}-${t.controlId}`},{title:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),default:vue.withCtx(()=>[t.ctaLink&&t.ctaText?(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-mega-nav-accordion-item__cta-link","data-test":"vs-mega-nav-accordion-item__cta-link",href:t.ctaLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"default")]),_:3},8,["class","data-unique-id","control-id"])}const MegaNavAccordionItem=LoadingSpinner._export_sfc(_sfc_main$V,[["render",_sfc_render$G]]),_sfc_main$U={name:"VsMegaNavFeaturedItem",status:"prototype",release:"0.1.0",components:{VsStretchedLinkCard},props:{link:{type:String,required:!0},imgUrl:{type:String,required:!0},imgAlt:{type:String,default:""}}};function _sfc_render$F(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createBlock(s,{link:t.link,type:"internal","img-src":t.imgUrl,"img-alt":t.imgAlt,class:"vs-mega-nav-featured-item","data-test":"vs-mega-nav-featured-item","heading-level":"2","heading-style":"heading-xxs"},{"stretched-card-header":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-header")]),"stretched-card-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-content")]),"stretched-card-link":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-link")]),_:3},8,["link","img-src","img-alt"])}const MegaNavFeaturedItem=LoadingSpinner._export_sfc(_sfc_main$U,[["render",_sfc_render$F]]),_sfc_main$T={name:"VsMegaNavFeaturedEvent",status:"prototype",release:"0.1.0",components:{VsStretchedLinkCard},props:{sourceUrl:{type:String,default:""}},data(){return{featuredEvent:null}},mounted(){this.sourceUrl&&this.retrieveFeaturedEvent()},methods:{retrieveFeaturedEvent(){LoadingSpinner.axios.get(this.sourceUrl).then(e=>{e.data.data.products&&e.data.data.products.length&&([this.featuredEvent]=e.data.data.products)}).catch(()=>{this.featuredEvent=null})}}},_hoisted_1$C={key:0,class:"vs-mega-nav-featured-event__date-range"},_hoisted_2$s={class:"vs-mega-nav-featured-event__date-detail"},_hoisted_3$j={class:"vs-mega-nav-featured-event__title"},_hoisted_4$f={key:1,class:"vs-mega-nav-featured-event__location"};function _sfc_render$E(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkCard");return a.featuredEvent?(vue.openBlock(),vue.createBlock(s,{key:0,link:a.featuredEvent.productLink.link,type:"internal","img-src":a.featuredEvent.images[0].mediaUrl,"img-alt":a.featuredEvent.name,class:"vs-mega-nav-featured-event","data-test":"vs-mega-nav-featured-event","data-chromatic":"ignore"},{"stretched-card-content":vue.withCtx(()=>[a.featuredEvent&&a.featuredEvent.opening?(vue.openBlock(),vue.createElementBlock("p",_hoisted_1$C,[vue.createTextVNode(vue.toDisplayString(a.featuredEvent.opening.period.label)+"  ",1),vue.createElementVNode("span",_hoisted_2$s,vue.toDisplayString(a.featuredEvent.opening.period.startDay),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("p",_hoisted_3$j,vue.toDisplayString(a.featuredEvent.name),1),a.featuredEvent&&a.featuredEvent.address?(vue.openBlock(),vue.createElementBlock("p",_hoisted_4$f,vue.toDisplayString(a.featuredEvent.address.shortAddress),1)):vue.createCommentVNode("",!0)]),"stretched-card-link":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.featuredEvent.productLink.label),1)]),_:1},8,["link","img-src","img-alt"])):vue.createCommentVNode("",!0)}const MegaNavFeaturedEvent=LoadingSpinner._export_sfc(_sfc_main$T,[["render",_sfc_render$E]]),_sfc_main$S={name:"VsMegaNavStaticLink",status:"prototype",release:"0.1.0",components:{VsLink},mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,default:"#"},isFullWidth:{type:Boolean,default:!1}}};function _sfc_render$D(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(["vs-mega-nav-static-link",t.isFullWidth?"vs-mega-nav-static-link--full-width":""]),"data-test":"vs-mega-nav-static-link",role:"presentation"},[vue.createVNode(s,{class:"vs-mega-nav-static-link__inner",href:t.href,role:"menuitem","data-layer-value":"menuNavigationDataEvent"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])],2)}const MegaNavStaticLink=LoadingSpinner._export_sfc(_sfc_main$S,[["render",_sfc_render$D]]),_sfc_main$R={name:"VsMegalinks",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsHeading:LoadingSpinner.VsHeading,VsButton:LoadingSpinner.VsButton,VsBody:LoadingSpinner.VsBody},provide(){return{noJsMessage:this.noJsMessage,noCookiesMessage:this.noCookiesMessage,cookieLinkText:this.cookieLinkText,theme:this.theme}},props:{title:{type:String,required:!1,default:null},sectionId:{type:String,required:!1,default:null},buttonLink:{type:String,required:!1,default:null},variant:{type:String,required:!1,default:null,validator:e=>e.match(/(multi-image|single-image|link-list)/)},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},noJsMessage:{type:String,default:""},noCookiesMessage:{type:String,default:""},cookieLinkText:{type:String,default:""},headingLevel:{type:Number,default:2,validator:e=>LoadingSpinner.lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},headingStyle:{type:String,default:"heading-xl",validator:e=>e.match(/(display-m|display-s|heading-xl|heading-l|heading-m|heading-s|heading-xs|heading-xxs|heading-xxxs)/)}},computed:{megalinksClasses(){return[this.variant?`vs-megalinks--${this.variant}`:"",`vs-megalinks--${this.theme}`]}}},_hoisted_1$B={key:0,class:"vs-megalinks__intro","data-test":"vs-megalinks__intro"},_hoisted_2$r={class:"row vs-megalinks__links-wrapper"},_hoisted_3$i={class:"vs-megalinks__button","data-test":"vs-megalinks__button"};function _sfc_render$C(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsButton"),d=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(["vs-megalinks",r.megalinksClasses]),"data-test":"megalinks"},[vue.createVNode(d,{fluid:"lg"},{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"8","offset-md":"2"},{default:vue.withCtx(()=>[t.title?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$B,[vue.createVNode(s,{level:t.headingLevel,"heading-style":t.headingStyle,class:"vs-megalinks__heading","data-test":"vs-megalinks__heading",id:t.sectionId},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1},8,["level","heading-style","id"]),e.$slots["vs-megalinks-intro"]&&e.$slots["vs-megalinks-intro"]()?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-megalinks__intro-content",variant:"lead","data-test":"vs-megalinks__intro-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-megalinks-intro")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),_:3})]),_:3}),vue.createElementVNode("div",_hoisted_2$r,[vue.renderSlot(e.$slots,"default")]),t.buttonLink&&t.variant!=="single-image"?(vue.openBlock(),vue.createBlock(u,{key:0},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$i,[vue.createVNode(c,{href:t.buttonLink},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-megalinks-button")]),_:3},8,["href"])])]),_:3})]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2)}const Megalinks=LoadingSpinner._export_sfc(_sfc_main$R,[["render",_sfc_render$C]]),_sfc_main$Q={name:"VsMegalinkLinkList",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsBody:LoadingSpinner.VsBody,VsStretchedLinkPanels},props:{imgSrc:{required:!0,type:String},imgAlt:{required:!1,type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},linkUrl:{type:String,required:!0},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},videoId:{type:String,default:""},videoBtnText:{type:String,default:"Play Video"},errorMessage:{type:String,default:""},businessSupport:{type:Boolean,default:!1},isHomePage:{type:Boolean,default:!1}},computed:{megalinkClass(){let e="";return this.theme&&(e+=`vs-megalink-link-list--${this.theme} `),this.isHomePage||(e+="vs-megalink-link-list--internal-page "),this.businessSupport&&(e+="vs-megalink-link-list--business-support "),e}}},_hoisted_1$A={class:"vs-megalink-link-list__title","data-test":"megalink-link-list__title"};function _sfc_render$B(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-megalink-link-list",r.megalinkClass]),"data-test":"vs-megalink-link-list"},[vue.createVNode(l,{link:t.linkUrl,type:t.linkType,class:"vs-megalink-link-list__wrapper","img-src":t.imgSrc,"img-alt":t.imgAlt,theme:t.theme,"video-id":t.videoId,"video-btn-text":t.videoBtnText,"error-message":t.errorMessage,"error-type":"full","business-support":t.businessSupport,"is-home-page":t.isHomePage},vue.createSlots({"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$A,[vue.renderSlot(e.$slots,"vs-link-list-heading")])]),"stretched-card-content":vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.businessSupport?"d-block":"vs-megalink-link-list__content"),"data-test":"megalink-link-list__content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-link-list-content")]),_:3},8,["class"])]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(s,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel,"data-test":"vs-itinerary-panels"},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0,t.businessSupport&&!t.isHomePage?{name:"stretched-card-badges",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-link-list-badges")]),key:"1"}:void 0]),1032,["link","type","img-src","img-alt","theme","video-id","video-btn-text","error-message","business-support","is-home-page"])],2)}const MegalinkLinkList=LoadingSpinner._export_sfc(_sfc_main$Q,[["render",_sfc_render$B]]),_sfc_main$P={name:"VsMegalinkMultiImage",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsBody:LoadingSpinner.VsBody,VsStretchedLinkPanels},props:{featured:{required:!1,type:Boolean,default:!1},lastFeatured:{required:!1,type:Boolean,default:!1},imgSrc:{required:!0,type:String},imgAlt:{required:!1,type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},linkUrl:{type:String,required:!0},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},videoId:{type:String,default:""},videoBtnText:{type:String,default:"Play Video"},errorMessage:{type:String,default:""}},computed:{multiImageClasses(){return[`vs-megalink-multi-image-card--${this.theme}`,{"vs-megalink-multi-image-card--featured":this.featured,"vs-megalink-multi-image-card--featured-last":this.lastFeatured}]}}},_hoisted_1$z={class:"vs-megalink-multi-image"},_hoisted_2$q={class:"vs-megalink-multi-image-card__title","data-test":"megalink-multi-image-card__title"};function _sfc_render$A(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$z,[vue.createVNode(l,{link:t.linkUrl,type:t.linkType,class:vue.normalizeClass(["vs-megalink-multi-image-card p-050",r.multiImageClasses]),"heading-style":t.featured?"heading-s":"heading-xs","img-src":t.imgSrc,"img-alt":t.imgAlt,"data-test":t.featured?"megalink-multi-image-featured":"megalink-multi-image-card",theme:t.theme,"video-id":t.videoId,"video-btn-text":t.videoBtnText,"error-message":t.errorMessage,"warning-size":t.featured?"normal":"small"},vue.createSlots({"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$q,[vue.renderSlot(e.$slots,"vs-multi-image-heading")])]),"stretched-card-content":vue.withCtx(()=>[vue.createVNode(i,{class:"vs-megalink-multi-image-card__content","data-test":"megalink-multi-image-card__content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-multi-image-content")]),_:3})]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(s,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel,"data-test":"vs-itinerary-panels"},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0,e.$slots["vs-multi-image-badges"]&&e.$slots["vs-multi-image-badges"]()?{name:"stretched-card-badges",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-multi-image-badges")]),key:"1"}:void 0]),1032,["link","type","class","heading-style","img-src","img-alt","data-test","theme","video-id","video-btn-text","error-message","warning-size"])])}const MegalinkMultiImage=LoadingSpinner._export_sfc(_sfc_main$P,[["render",_sfc_render$A]]),_sfc_main$O={name:"VsMegalinkSingleImage",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsButton:LoadingSpinner.VsButton,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsLinkList},props:{alternate:{type:Boolean,default:!1},title:{type:String,default:null},buttonLink:{type:String,default:""}},data(){return{negativeMargin:"200px",imageHeight:"400px"}},computed:{singleImageClasses(){return[this.alternate?"vs-megalink-single-image--alternate":""]},cssVars(){return{"--negative-margin":`-${this.negativeMargin}`,"--image-height":`${this.imageHeight}`}}},mounted(){const e=this.$el.querySelector(".vs-image-with-caption");if(e){const n=e.querySelector("img");n.addEventListener("load",()=>{const t=n.clientHeight/2.5/n.clientWidth;this.negativeMargin=`${t*100}%`,this.imageHeight=`${n.clientHeight}px`})}}},_hoisted_1$y={class:"vs-megalink-single-image__image-container"},_hoisted_2$p={class:"vs-megalink-single-image__content","data-test":"megalink-single-image__content"},_hoisted_3$h={class:"vs-megalink-single-image__button"};function _sfc_render$z(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsLinkList"),u=vue.resolveComponent("VsButton"),c=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-megalink-single-image",r.singleImageClasses]),"data-test":"megalink-single-image",style:vue.normalizeStyle(r.cssVars)},[vue.createElementVNode("div",_hoisted_1$y,[vue.renderSlot(e.$slots,"vs-single-image")]),vue.createVNode(d,{class:"vs-megalink-single-image__text-container"},{default:vue.withCtx(()=>[vue.createVNode(c,{cols:"12",sm:"10",lg:"6",class:vue.normalizeClass(["offset-sm-1",t.alternate?"offset-lg-6":"offset-lg-0"])},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$p,[t.title?(vue.openBlock(),vue.createBlock(s,{key:0,level:"3","heading-style":"heading-m",class:"vs-megalink-single-image__title","data-test":"megalink-single-image__title"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,{variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-content")]),_:3}),vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-links")]),_:3}),vue.createElementVNode("div",_hoisted_3$h,[t.buttonLink?(vue.openBlock(),vue.createBlock(u,{key:0,href:t.buttonLink,variant:"secondary"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-button-text")]),_:3},8,["href"])):vue.createCommentVNode("",!0)])])]),_:3},8,["class"])]),_:3})],6)}const MegalinkSingleImage=LoadingSpinner._export_sfc(_sfc_main$O,[["render",_sfc_render$z]]),_sfc_main$N={name:"VsBackdrop",props:{show:{type:Boolean,required:!0},zIndex:{type:[String,Number],default:1040},clickable:{type:Boolean,default:!0}},emits:["click","update:show"],computed:{backdropStyle(){return{zIndex:this.zIndex}}},unmounted(){this.show&&this.unlockScroll()},methods:{onClick(){this.clickable&&(this.$emit("click"),this.$emit("update:show",!1))},lockScroll(){document.body.style.overflow="hidden"},unlockScroll(){document.body.style.overflow=""}}};function _sfc_render$y(e,n,t,o,a,r){return vue.openBlock(),vue.createBlock(vue.Transition,{name:"vs-backdrop-fade",onEnter:r.lockScroll,onAfterLeave:r.unlockScroll},{default:vue.withCtx(()=>[t.show?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"vs-backdrop",style:vue.normalizeStyle(r.backdropStyle),role:"presentation",onClick:n[0]||(n[0]=(...s)=>r.onClick&&r.onClick(...s))},null,4)):vue.createCommentVNode("",!0)]),_:1},8,["onEnter","onAfterLeave"])}const VsBackdrop=LoadingSpinner._export_sfc(_sfc_main$N,[["render",_sfc_render$y]]),_sfc_main$M={name:"VsModal",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsButton:LoadingSpinner.VsButton,BModal:LoadingSpinner._a,VsBackdrop},props:{modalId:{type:String,required:!0},closeBtnText:{type:String,required:!0},isVideoModal:{type:Boolean,default:!1},autoMount:{type:Boolean,default:!1}},data(){return{show:!1,mounted:this.autoMount}},mounted(){this.mounted=!0,this.emitter&&(this.emitter.on("showModal",e=>this.showModal(e)),this.emitter.on("hideModal",()=>this.hideModal()),this.isVideoModal&&this.emitter.on("showModal",e=>{this.emitter.emit("video-controls",{action:"modal-opened",id:e})}))},methods:{hideModal(){this.emitter&&this.emitter.emit("video-controls",{action:"modal-closed",id:this.modalId}),this.show=!1},showModal(e){e===this.modalId&&(this.show=!0)}}};function _sfc_render$x(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsBackdrop"),d=vue.resolveComponent("BModal");return a.mounted?(vue.openBlock(),vue.createBlock(d,{key:0,"modal-class":"vs-modal","data-test":"vs-modal",ref:`modal-${t.modalId}`,id:t.modalId,size:"xl","hide-footer":"","hide-header":"",static:t.isVideoModal,modelValue:a.show,"onUpdate:modelValue":n[1]||(n[1]=v=>a.show=v),onHidden:r.hideModal},{backdrop:vue.withCtx(()=>[vue.createVNode(c,{show:a.show,onClick:n[0]||(n[0]=v=>r.hideModal())},null,8,["show"])]),default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",lg:"1",class:"d-flex justify-content-end align-items-start order-lg-1"},{default:vue.withCtx(()=>[vue.createVNode(s,{class:"vs-modal__close-btn mb-125 mb-lg-0","data-test":"vs-modal__close-btn",variant:"subtle","icon-only":"",icon:"vs-icon-control-dismiss",onClick:r.hideModal},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeBtnText),1)]),_:1},8,["onClick"])]),_:1}),vue.createVNode(i,{cols:"12",lg:"11"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["id","static","modelValue","onHidden"])):vue.createCommentVNode("",!0)}const Modal=LoadingSpinner._export_sfc(_sfc_main$M,[["render",_sfc_render$x]]),_sfc_main$L={name:"VsNavigationBarSidebarButton",status:"prototype",release:"0.1.0",components:{VsButton:LoadingSpinner.VsButton,VsTooltip},props:{sidebarOpenLabel:{type:String,required:!0},expanded:{type:Boolean,default:!1},controlsId:{type:String,required:!0}},emits:["sidebar-open"],methods:{sidebarOpen(){this.$emit("sidebar-open",!0)}}};function _sfc_render$w(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsTooltip");return vue.openBlock(),vue.createBlock(i,{title:t.sidebarOpenLabel,subtle:"",position:"bottom","use-legacy":!1},{default:vue.withCtx(()=>[vue.createVNode(s,{"icon-only":"",icon:"vs-icon-control-menu",size:"sm",variant:"subtle",class:"d-block vs-navigation-bar-sidebar-button","data-test":"vs-navigation-bar-sidebar-button",onClick:n[0]||(n[0]=l=>r.sidebarOpen()),"aria-haspopup":"dialog","aria-controls":t.controlsId,"aria-expanded":String(t.expanded)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarOpenLabel),1)]),_:1},8,["aria-controls","aria-expanded"])]),_:1},8,["title"])}const VsNavigationBarSidebarButton=LoadingSpinner._export_sfc(_sfc_main$L,[["render",_sfc_render$w]]),_sfc_main$K={name:"VsNavigationBarSidebar",status:"prototype",release:"0.1.0",components:{BOffcanvas:LoadingSpinner.Md,VsButton:LoadingSpinner.VsButton,VsBackdrop},props:{show:{type:Boolean,default:!1},sidebarTitle:{type:String,required:!0},sidebarCloseLabel:{type:String,required:!0}},emits:["update:show"],methods:{sidebarClose(){this.$emit("update:show",!1)}}},_hoisted_1$x={id:"navigation-sidebar-title",class:"visually-hidden"};function _sfc_render$v(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsBackdrop"),l=vue.resolveComponent("BOffcanvas");return vue.openBlock(),vue.createBlock(l,{class:"vs-navigation-bar-sidebar border-0","model-value":t.show,"aria-labelledby":"navigation-sidebar-title","onUpdate:modelValue":n[1]||(n[1]=u=>e.$emit("update:show",u)),id:"navigation-sidebar",placement:"end","no-backdrop":!0,lazy:""},{header:vue.withCtx(()=>[vue.createElementVNode("h2",_hoisted_1$x,vue.toDisplayString(t.sidebarTitle),1),vue.createVNode(s,{"icon-only":"",icon:"vs-icon-control-dismiss",variant:"subtle",size:"sm",onClick:r.sidebarClose},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarCloseLabel),1)]),_:1},8,["onClick"])]),footer:vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-footer")]),backdrop:vue.withCtx(()=>[vue.createVNode(i,{show:t.show,onClick:n[0]||(n[0]=u=>r.sidebarClose())},null,8,["show"])]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["model-value"])}const VsNavigationSidebar=LoadingSpinner._export_sfc(_sfc_main$K,[["render",_sfc_render$v]]),_sfc_main$J={name:"VsNavigationBar",status:"prototype",release:"0.1.0",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsNavigationBarSidebarButton,VsNavigationSidebar},props:{sidebarBreakpoint:{type:String,default:"md",validator:e=>/^(xs|sm|md|lg|xl)$/.test(e)},sidebarCloseLabel:{type:String,required:!0},sidebarOpenLabel:{type:String,required:!0},sidebarTitle:{type:String,required:!0}},data(){return{sidebarOpen:!1}},computed:{breakpointMap(){return{xs:"sm",sm:"md",md:"lg",lg:"xl",xl:"xxl"}},menuBreakpoint(){return this.breakpointMap[this.sidebarBreakpoint]||"lg"},menuClasses(){return`d-none d-${this.menuBreakpoint}-block flex-grow-1`},sidebarButtonClasses(){return`d-${this.menuBreakpoint}-none`},utilityClasses(){return`d-flex justify-content-end align-items-center col col-${this.menuBreakpoint}-auto`}},methods:{onSidebarOpen(){this.sidebarOpen=!0}}},_hoisted_1$w={class:"vs-navigation-bar","data-test":"vs-navigation-bar"};function _sfc_render$u(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsNavigationBarSidebarButton"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsNavigationSidebar");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("header",_hoisted_1$w,[vue.createVNode(u,{fluid:"lg",class:"h-100"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"align-items-center h-100"},{default:vue.withCtx(()=>[vue.createVNode(s,{class:"col-auto"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"logo-link")]),_:3}),vue.createVNode(s,{class:vue.normalizeClass(r.menuClasses),"data-test":"vs-navigation-bar__menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"navigation-bar-menu")]),_:3},8,["class"]),vue.createVNode(s,{class:vue.normalizeClass(r.utilityClasses),"data-test":"vs-navigation-bar__utilities"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"navigation-bar-utilities"),vue.createVNode(i,{class:vue.normalizeClass(r.sidebarButtonClasses),"data-test":"vs-navigation-bar__sidebar-button",onSidebarOpen:r.onSidebarOpen,"sidebar-open-label":t.sidebarOpenLabel,expanded:a.sidebarOpen,"controls-id":"navigation-sidebar"},null,8,["class","onSidebarOpen","sidebar-open-label","expanded"])]),_:3},8,["class"])]),_:3})]),_:3})]),vue.createVNode(c,{show:a.sidebarOpen,"onUpdate:show":n[0]||(n[0]=d=>a.sidebarOpen=d),"sidebar-close-label":t.sidebarCloseLabel,"sidebar-title":t.sidebarTitle},{"sidebar-footer":vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-footer")]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-body")]),_:3},8,["show","sidebar-close-label","sidebar-title"])],64)}const NavigationBar=LoadingSpinner._export_sfc(_sfc_main$J,[["render",_sfc_render$u]]),_sfc_main$I={name:"VsNavigationBarMenu",status:"prototype",release:"0.1.0",props:{menuAriaLabel:{type:String,required:!0}}},_hoisted_1$v=["aria-label"];function _sfc_render$t(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-navigation-bar-menu","data-test":"vs-navigation-bar-menu","aria-label":t.menuAriaLabel},[vue.createElementVNode("ul",null,[vue.renderSlot(e.$slots,"default")])],8,_hoisted_1$v)}const NavigationBarMenu=LoadingSpinner._export_sfc(_sfc_main$I,[["render",_sfc_render$t]]),_sfc_main$H={name:"VsNavigationBarMenuDropdown",status:"prototype",release:"0.1.0",components:{BDropdown:LoadingSpinner.un},mixins:[LoadingSpinner.dataLayerMixin],props:{subtle:{type:Boolean,default:!1}},computed:{menuDropdownClasses(){return[this.subtle?"vs-navigation-bar-menu-dropdown--subtle":"","vs-navigation-bar-menu-dropdown"]}},methods:{dataLayerSubmit(){var n,t,o,a;const e=((a=(o=(t=(n=this.$refs.dropdown)==null?void 0:n.$el)==null?void 0:t.querySelector(".dropdown-toggle"))==null?void 0:o.innerText)==null?void 0:a.trim())||"";e&&this.createDataLayerObject("menuNavigationDataEvent",{target:{text:e,innerText:e,closest:()=>null}},null)}}};function _sfc_render$s(e,n,t,o,a,r){const s=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createBlock(s,{class:vue.normalizeClass(r.menuDropdownClasses),"data-test":"vs-navigation-bar-menu-dropdown",variant:"subtle",ref:"dropdown",role:"presentation",onShow:r.dataLayerSubmit},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["class","onShow"])}const NavigationBarMenuDropdown=LoadingSpinner._export_sfc(_sfc_main$H,[["render",_sfc_render$s]]),_sfc_main$G={name:"VsNavigationBarMenuItem",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,required:!0},variant:{type:String,default:"secondary-menu-item",validator:e=>e.match(/(primary-menu-item|primary-sidebar-item|secondary-menu-item)/)}},computed:{menuItemLinkClasses(){return[`vs-navigation-bar-menu-item__link--${this.variant}`,"vs-navigation-bar-menu-item__link"]}},methods:{clickHandler(e){e.preventDefault(),this.dataLayerValue&&this.createDataLayerObject(this.dataLayerValue,e,this.href),setTimeout(()=>{this.navigateToUrl()},500)},navigateToUrl(){this.href!=="#"&&this.href!==null&&(window.location.href=this.href)},keyHandler(e){(e.keyCode===13||e.keyCode===32)&&(e.preventDefault(),this.clickHandler(e))}}},_hoisted_1$u={class:"vs-navigation-bar-menu-item","data-test":"vs-navigation-bar-menu-item"},_hoisted_2$o=["href"];function _sfc_render$r(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$u,[vue.createElementVNode("a",{class:vue.normalizeClass(r.menuItemLinkClasses),href:t.href,"data-layer-value":"menuNavigationDataEvent",onClick:n[0]||(n[0]=s=>r.clickHandler(s)),onKeydown:n[1]||(n[1]=s=>r.keyHandler(s))},[vue.renderSlot(e.$slots,"default")],42,_hoisted_2$o)])}const NavigationBarMenuItem=LoadingSpinner._export_sfc(_sfc_main$G,[["render",_sfc_render$r]]),_sfc_main$F={name:"VsNavigationBarSearch",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsSiteSearchForm},props:{buttonText:{type:String,default:"Search"},labelText:{type:String,default:"Search"},submitButtonText:{type:String,default:"Submit"},closeButtonText:{type:String,default:"Close"},showLabelBreakpoint:{type:String,default:"md",validator:e=>/^(xs|sm|md|lg|xl|xxl)$/.test(e)}},data(){return{showSearch:!1}}};function _sfc_render$q(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsSiteSearchForm");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(s,{"data-test":"vs-navigation-bar-search",id:"site-search-btn",variant:"secondary",size:"sm",icon:"vs-icon-control-search",active:a.showSearch,"show-label-breakpoint":t.showLabelBreakpoint,onClick:n[0]||(n[0]=l=>a.showSearch=!a.showSearch)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.buttonText),1)]),_:1},8,["active","show-label-breakpoint"]),(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[vue.withDirectives(vue.createVNode(i,{onToggleAction:n[1]||(n[1]=l=>a.showSearch=!1),"is-showing":a.showSearch,"label-text":t.labelText,"submit-button-text":t.submitButtonText,"close-button-text":t.closeButtonText},null,8,["is-showing","label-text","submit-button-text","close-button-text"]),[[vue.vShow,a.showSearch]])]))],64)}const NavigationBarSearch=LoadingSpinner._export_sfc(_sfc_main$F,[["render",_sfc_render$q]]),_sfc_main$E={name:"VsPageIntro",status:"deprecated",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol},props:{background:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},heroIntro:{type:Boolean,default:!1},isItinerary:{type:Boolean,default:!1},fullscreenMobile:{type:Boolean,default:!1},hasToc:{type:Boolean,default:!1}},computed:{introClasses(){return[`vs-page-intro--${this.background}`,this.heroIntro?"vs-page-intro--hero":"",this.fullscreenMobile?"vs-page-intro__fullscreen-mobile-header":""]},contentColProps(){const e={};return this.isItinerary?(e.md="6",e.lg="5",e.xl="6",e["offset-lg"]="1"):this.heroIntro?(e.md="12",e.lg="7",e.xl="8",e["offset-lg"]="1"):this.hasToc?e.md="7":e.md="8",e}}},_hoisted_1$t={key:0,class:"vs-page-intro__fs-mobile-heading-wrapper","data-test":"vs-page-intro__mobile-breadcrumb"},_hoisted_2$n={class:"vs-page-intro__wrapper"},_hoisted_3$g={class:"vs-page-intro__share"},_hoisted_4$e={key:0,class:"list-inline"},_hoisted_5$d={key:0,class:"vs-page-intro__lower py-300","data-test":"vs-page-intro__lower"};function _sfc_render$p(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer"),u=vue.resolveComponent("VsHeading"),c=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-page-intro",r.introClasses]),"data-test":"vs-page-intro"},[t.fullscreenMobile?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$t,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.fullscreenMobile?"d-none-md":"")},{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"9",lg:t.heroIntro?"8":"","offset-lg":t.heroIntro?"1":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-page-intro__breadcrumb",t.heroIntro?"mt-lg-100":"mt-lg-200"])},[vue.renderSlot(e.$slots,"vs-intro-breadcrumb")],2)]),_:3},8,["lg","offset-lg"])]),_:3},8,["class"])]),_:3})])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"vs-intro-hero"),vue.createElementVNode("div",_hoisted_2$n,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.fullscreenMobile?"d-none d-lg-flex":"")},{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"9",lg:t.heroIntro?"8":"","offset-lg":t.heroIntro?"1":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-page-intro__breadcrumb",t.heroIntro?"mt-lg-100":"mt-lg-200"])},[vue.renderSlot(e.$slots,"vs-intro-breadcrumb")],2)]),_:3},8,["lg","offset-lg"])]),_:3},8,["class"]),vue.createElementVNode("div",_hoisted_3$g,[vue.renderSlot(e.$slots,"vs-share-button")]),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"11",md:t.heroIntro?"11":"10",lg:t.heroIntro?"7":"10",xl:t.heroIntro?"8":"10","offset-lg":t.heroIntro?"1":"0",class:"mt-050"},{default:vue.withCtx(()=>[vue.createVNode(u,{level:"1","heading-style":"display-s",id:"main-heading"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-heading")]),_:3}),vue.renderSlot(e.$slots,"vs-article-data")]),_:3},8,["md","lg","xl","offset-lg"])]),_:3}),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,vue.mergeProps({"data-test":"vs-page-intro__content",cols:"12"},r.contentColProps),{default:vue.withCtx(()=>[vue.createVNode(c,{variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-content")]),_:3}),e.$slots["vs-intro-start-finish"]&&e.$slots["vs-intro-start-finish"]()?(vue.openBlock(),vue.createElementBlock("dl",_hoisted_4$e,[vue.renderSlot(e.$slots,"vs-intro-start-finish")])):vue.createCommentVNode("",!0)]),_:3},16),e.$slots["vs-intro-table-of-contents"]&&e.$slots["vs-intro-table-of-contents"]()?(vue.openBlock(),vue.createBlock(s,{key:0,cols:"12",md:"5"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-table-of-contents")]),_:3})):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"vs-intro-summary-box")]),_:3})]),_:3}),e.$slots["vs-intro-lower"]&&e.$slots["vs-intro-lower"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$d,[vue.renderSlot(e.$slots,"vs-intro-lower")])):vue.createCommentVNode("",!0)])],2)}const PageIntro=LoadingSpinner._export_sfc(_sfc_main$E,[["render",_sfc_render$p]]),_hoisted_1$s={"aria-label":"Pagination",class:"vs-pagination","data-test":"vs-pagination"},_hoisted_2$m={"aria-live":"polite",class:"vs-pagination__count"},_hoisted_3$f={class:"vs-pagination__controls"},_hoisted_4$d={class:"vs-pagination__prev"},_hoisted_5$c={class:"vs-pagination__list"},_hoisted_6$c={key:0},_hoisted_7$a={class:"vs-pagination__next"},limit=7,_sfc_main$D={__name:"VsPagination",props:vue.mergeModels({nextButtonLabel:{type:String,required:!0},numberOfPages:{type:Number,required:!0},pageLabel:{type:String,required:!0},ofLabel:{type:String,required:!0},previousButtonLabel:{type:String,required:!0}},{modelValue:{type:Number,default:1},modelModifiers:{}}),emits:vue.mergeModels(["page-click"],["update:modelValue"]),setup(e,{emit:n}){const t=e,o=n,a=vue.useModel(e,"modelValue"),r=vue.computed(()=>`${t.pageLabel} ${a.value} ${t.ofLabel} ${t.numberOfPages}`),s=u=>({"vs-pagination__item":!0,"vs-pagination__item--active":a.value===u,"vs-pagination__item--ellipses":u==="ellipses"}),i=vue.computed(()=>{if(t.numberOfPages<=limit)return Array.from({length:t.numberOfPages},(d,v)=>v+1);let u=[];const c=Math.floor(limit/2);if(a.value<=c){for(let d=1;d<limit-1;d++)u=[...u,d];u=[...u,"ellipses",t.numberOfPages]}else if(a.value>t.numberOfPages-c){u=[1,"ellipses"];const d=t.numberOfPages-limit+2;for(let v=1;v<limit-1;v++)u=[...u,d+v]}else{const d=a.value-c+1;u=[1,"ellipses"];for(let v=1;v<limit-3;v++)u=[...u,d+v];u=[...u,"ellipses",t.numberOfPages]}return u}),l=(u,c)=>{a.value!==c&&(o("page-click",c),a.value=c)};return vue.watch(()=>t.numberOfPages,()=>{a.value=1}),(u,c)=>(vue.openBlock(),vue.createElementBlock("nav",_hoisted_1$s,[vue.createElementVNode("div",_hoisted_2$m,[vue.createElementVNode("p",null,vue.toDisplayString(r.value),1)]),vue.createElementVNode("div",_hoisted_3$f,[vue.createElementVNode("div",_hoisted_4$d,[vue.createVNode(LoadingSpinner.VsButton,{disabled:a.value===1,icon:"fa-regular fa-arrow-left",size:"sm",variant:"subtle",onClick:c[0]||(c[0]=d=>l(d,a.value-1))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.previousButtonLabel),1)]),_:1},8,["disabled"])]),vue.createElementVNode("ul",_hoisted_5$c,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(i.value,(d,v)=>(vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(s(d)),key:v},[d==="ellipses"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$c,"⋯")):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:1,"aria-current":a.value===d?"page":null,"aria-label":`Page ${d}`,size:"sm",onClick:m=>l(m,d)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(d),1)]),_:2},1032,["aria-current","aria-label","onClick"]))],2))),128))]),vue.createElementVNode("div",_hoisted_7$a,[vue.createVNode(LoadingSpinner.VsButton,{disabled:a.value===t.numberOfPages,icon:"fa-regular fa-arrow-right","icon-position":"right",size:"sm",variant:"subtle",onClick:c[1]||(c[1]=d=>l(d,a.value+1))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.nextButtonLabel),1)]),_:1},8,["disabled"])])])]))}},_sfc_main$C={name:"VsPanel",status:"prototype",release:"0.0.1",props:{variant:{type:String,default:"secondary",validator:e=>e.match(/(secondary|information)/)}},computed:{panelClasses(){return`vs-panel--${this.variant}`}}};function _sfc_render$o(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-panel",r.panelClasses]),"data-test":"vs-panel"},[vue.renderSlot(e.$slots,"vs-panel-title"),vue.renderSlot(e.$slots,"default")],2)}const Panel=LoadingSpinner._export_sfc(_sfc_main$C,[["render",_sfc_render$o]]);let VS$1;function setWindowObj(){typeof window<"u"?VS$1=typeof window.VS=="object"?window.VS:{}:VS$1={}}function getLabelText(e,n,t){setWindowObj();let o="";return Object.keys(VS$1).length>0&&(typeof t<"u"?o=VS$1.search_config.basic_config.search_module[t][e]:o=VS$1.search_config.basic_config.search_module[e]),o||n}function getProductName(e,n){setWindowObj();const t={};return Object.keys(VS$1).length>0&&Object.keys(VS$1.search_config.basic_config.productTypes).forEach(o=>{const a=VS$1.search_config.basic_config.productTypes[o];t[a.value]=a.text}),t[e]?t[e]:n}function getLocale(){let e=document.documentElement.lang.toLocaleLowerCase().slice(0,2)||"";return e==="en"&&(e=""),e}let VS;typeof window<"u"?VS=typeof window.VS=="object"?window.VS:{}:VS={};function getProductTypes(){if(Object.keys(VS).length<=0)return LoadingSpinner.products;const e=VS.search_config.basic_config.productTypes,n=[];return Object.keys(e).forEach(o=>{n.push({key:e[o].value,text:e[o].text,value:e[o].value})}),n}async function getData(e){try{const{data:n}=await LoadingSpinner.axios.get(e);return n}catch(n){console.error(`Axios error: ${n}`)}}var define_process_env_default$1={},controls={arrowUpKey:38,arrowDownKey:40,escKey:27,enterKey:13};function isFn(e){return typeof e=="function"}function isControlledProp(e,n){return e[n]!==void 0}function hasKeyCode(e,n){return e===n.keyCode}function getItemIndex(e,n,t){return e!==void 0?e:t.length?t.indexOf(n):-1}function hasOwnProperty(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function requiredProp(e,n){console.error('The property "'+n+'" is required in "'+e+'"')}function getNextNonDisabledIndex(e,n,t,o,a){var r=o(n);if(!r||!r.hasAttribute("disabled"))return n;if(e>0)for(var s=n+1;s<t;s+=1){var i=o(s),l=i.hasAttribute("disabled");if(!l)return s}else for(var u=n-1;u>=0;u-=1)if(!o(u).hasAttribute("disabled"))return u;return a?e>0?getNextNonDisabledIndex(1,0,t,o,!1):getNextNonDisabledIndex(-1,t-1,t,o,!1):-1}function scrollToElement(e,n,t){var o=n.clientHeight,a=n.scrollTop,r=e.offsetHeight,s=e.offsetTop;if(s<a)t===0?n.scrollTop=0:n.scrollTop=s;else{var i=s+r,l=a+o;i>l&&(n.scrollTop=i-o)}}function getProps(e){return Object.assign({},e?{modelValue:{default:null}}:{value:{default:null}},{items:{type:Array,required:!0},itemToString:{type:Function,default:function(n){return n?String(n):""}},stateReducer:{type:Function,default:function(n,t){return t.changes}},getItemId:{type:Function,default:function(t){return"v-"+this.idCounter+"-vue-combo-blocks-item-"+t}},menuId:{type:String,default:""},inputId:{type:String,default:""},labelId:{type:String,default:""},scrollIntoView:{type:Boolean,default:!0},circular:{type:Boolean,default:!0}})}function getInitialData(e,n){return{hovered:null,isOpen:!1,hoveredIndex:-1,selectedItem:e,inputValue:n(e)}}var computed={menuElement:function e(){return document.querySelector("#"+this.computedMenuId)},computedMenuId:function e(){return this.menuId||"v-"+this.idCounter+"-vue-combo-blocks-menu"},computedInputId:function e(){return this.inputId||"v-"+this.idCounter+"-vue-combo-blocks-input"},computedLabelId:function e(){return this.labelId||"v-"+this.idCounter+"-vue-combo-blocks-label"},selectedIndex:function e(){return this.items.indexOf(this.selectedItem)}},InputKeyDownArrowDown="InputKeyDownArrowDown",InputKeyDownArrowUp="InputKeyDownArrowUp",InputKeyDownTab="InputKeyDownTab",InputKeyUpEscape="InputKeyUpEscape",InputKeyUpEnter="InputKeyUpEnter",InputChange="InputChange",InputBlur="InputBlur",MenuMouseLeave="MenuMouseLeave",ItemMouseMove="ItemMouseMove",ItemClick="ItemClick",FunctionOpenMenu="FunctionOpenMenu",FunctionCloseMenu="FunctionCloseMenu",FunctionSelectItem="FunctionSelectItem",FunctionSetInputValue="FunctionSetInputValue",FunctionReset="FunctionReset",ControlledPropUpdatedSelectedItem="ControlledPropUpdatedSelectedItem",sct=Object.freeze({__proto__:null,ControlledPropUpdatedSelectedItem,FunctionCloseMenu,FunctionOpenMenu,FunctionReset,FunctionSelectItem,FunctionSetInputValue,InputBlur,InputChange,InputKeyDownArrowDown,InputKeyDownArrowUp,InputKeyDownTab,InputKeyUpEnter,InputKeyUpEscape,ItemClick,ItemMouseMove,MenuMouseLeave}),inputPropsAndListeners={getInputProps:function e(){return{value:this.inputValue||"","aria-activedescendant":this.hovered?this.getItemId(this.hoveredIndex):"","aria-autocomplete":"list","aria-controls":this.computedMenuId,"aria-labelledby":this.computedLabelId,id:this.computedInputId,autocomplete:"off"}},getInputEventListeners:function e(n){n===void 0&&(n={});var t=n.blur,o=n.input,a=n.keydown,r=n.keyup;return{blur:isFn(t)?t:this.onInputBlur,input:isFn(o)?o:this.onInput,keydown:isFn(a)?a:this.onInputKeyDown,keyup:isFn(r)?r:this.onInputKeyUp}},onInputKeyDown:function e(n){n.key==="Enter"&&this.isOpen?n.preventDefault():hasKeyCode(controls.arrowDownKey,n)&&!this.isOpen?(this.setState({isOpen:!0},InputKeyDownArrowDown),this.moveSelection(n)):this.moveSelection(n)},onInputKeyUp:function e(n){var t=controls.enterKey,o=controls.escKey;if(this.isOpen)if(hasKeyCode(t,n)){if(this.hoveredIndex>=0){n.preventDefault();var a=this.getItemNodeFromIndex(this.hoveredIndex);if(a&&a.hasAttribute("disabled"))return;this.setState({inputValue:this.itemToString(this.hovered),selectedItem:this.hovered,hoveredIndex:-1,hovered:null,isOpen:!1},InputKeyUpEnter)}}else hasKeyCode(o,n)&&this.setState({hoveredIndex:-1,hovered:null,isOpen:!1},InputKeyUpEscape)},onInputBlur:function e(){this.setState({isOpen:!1,inputValue:this.itemToString(this.selectedItem),hovered:null,hoveredIndex:-1},InputBlur)},onInput:function e(n){var t=n.target?n.target.value:n;this.setState({inputValue:t,hovered:null,isOpen:!0},InputChange)}},itemPropsAndListeners={getItemEventListeners:function e(n){var t=this;n===void 0&&(n={});var o=n.index,a=n.disabled,r=n.item;r===void 0&&(r=define_process_env_default$1.NODE_ENV==="production"?void 0:requiredProp("getItemEventListeners","item"));var s=n.mousemove,i=n.mousedown,l=n.click;return a?{}:{mousemove:isFn(s)?s:function(){return t.onItemMouseMove(o,r)},mousedown:isFn(i)?i:this.onItemMouseDown,click:isFn(l)?l:function(){return t.onItemClick(r)}}},onItemMouseMove:function e(n,t){var o=getItemIndex(n,t,this.items);this.hoveredIndex!==o&&this.setState({hoveredIndex:o,hovered:t},ItemMouseMove)},onItemMouseDown:function e(n){n.preventDefault()},onItemClick:function e(n){this.setState({inputValue:this.itemToString(n),selectedItem:n,isOpen:!1,hoveredIndex:-1,hovered:null},ItemClick)},getItemProps:function e(n){n===void 0&&(n={});var t=n.index,o=n.disabled,a=n.item;a===void 0&&(a=define_process_env_default$1.NODE_ENV==="production"?void 0:requiredProp("getItemProps","item"));var r=getItemIndex(t,a,this.items),s=this.getItemId(r);return{id:s,disabled:o?!0:void 0,role:"option","aria-selected":this.hoveredIndex===r||this.selectedItem===a?"true":"false"}}},menuPropsAndListeners={getMenuProps:function e(){return{id:this.computedMenuId,role:"listbox","aria-labelledby":this.computedLabelId}},getMenuEventListeners:function e(n){n===void 0&&(n={});var t=n.mouseleave,o=n.mousedown;return{mouseleave:isFn(t)?t:this.onMenuMouseLeave,mousedown:isFn(o)?o:this.onMenuMouseDown}},onMenuMouseLeave:function e(){this.setState({hoveredIndex:-1,hovered:null},MenuMouseLeave)},onMenuMouseDown:function e(n){n.preventDefault()}},methods=Object.assign({},inputPropsAndListeners,itemPropsAndListeners,menuPropsAndListeners,{getComboboxProps:function e(){return{role:"combobox","aria-haspopup":"listbox","aria-owns":this.computedMenuId,"aria-expanded":this.isOpen?"true":"false"}},getLabelProps:function e(){return{id:this.computedLabelId,for:this.computedInputId}},autocompleteText:function e(n){this.setInputValue(this.itemToString(n))},reset:function e(){this.setState({selectedItem:null,inputValue:""},FunctionReset)},select:function e(n){this.setState({inputValue:this.itemToString(n),selectedItem:n,isOpen:!1,hoveredIndex:-1,hovered:null},FunctionSelectItem)},setHoveredItem:function e(n,t,o){n&&n!==this.hovered&&this.$emit("hover",n,o),this.hovered=n,this.hoveredIndex=typeof t=="number"?t:-1},closeMenu:function e(){this.setState({isOpen:!1,hoveredIndex:-1,hovered:null},FunctionCloseMenu)},openMenu:function e(){this.setState({isOpen:!0},FunctionOpenMenu)},getItemNodeFromIndex:function e(n){return this.menuElement.querySelector("#"+this.getItemId(n))},scrollItemIntoView:function e(n){var t=this.getItemNodeFromIndex(n);scrollToElement(t,this.menuElement,n)},moveSelection:function e(n){var t=this,o=this.items.length;if(!(!this.isOpen||!o)){var a=hasKeyCode(controls.arrowDownKey,n),r=hasKeyCode(controls.arrowUpKey,n);if(a||r){n.preventDefault();var s=a*2-1,i=a?0:o-1,l=a?this.hoveredIndex<o-1:this.hoveredIndex>0,u=l?this.hoveredIndex+s:i,c=getNextNonDisabledIndex(s,u,o,this.getItemNodeFromIndex,this.circular);if(!this.circular&&(r&&c>this.hoveredIndex||a&&c<this.hoveredIndex))return;var d=this.items[c];this.scrollIntoView&&this.$nextTick(function(){t.scrollItemIntoView(u)}),this.setState({hoveredIndex:c,hovered:d},a?InputKeyDownArrowDown:InputKeyDownArrowUp)}}},setInputValue:function e(n){this.inputValue!==n&&this.setState({inputValue:n},FunctionSetInputValue)}});function slot(e){return{getInputProps:e.getInputProps,getItemProps:e.getItemProps,getMenuProps:e.getMenuProps,getComboboxProps:e.getComboboxProps,getLabelProps:e.getLabelProps,getInputEventListeners:e.getInputEventListeners,getMenuEventListeners:e.getMenuEventListeners,getItemEventListeners:e.getItemEventListeners,isOpen:e.isOpen,selectedItem:e.selectedItem,hoveredIndex:e.hoveredIndex,inputValue:e.inputValue,reset:e.reset,select:e.select,setInputValue:e.setInputValue,openMenu:e.openMenu,closeMenu:e.closeMenu}}var idCounter=0;function beforeCreate(){this.idCounter=idCounter.toString(),idCounter+=1}var isVue3=!!vue.defineComponent;!isVue3&&define_process_env_default$1.NODE_ENV!=="production"&&console.error(`Looks like your Vue version is 2.x, but you are using VueComboBlocks for Vue 3.
153
+ */Sister=function(){var e={},n={};return e.on=function(t,o){var a={name:t,handler:o};return n[t]=n[t]||[],n[t].unshift(a),a},e.off=function(t){var o=n[t.name].indexOf(t);o!==-1&&n[t.name].splice(o,1)},e.trigger=function(t,o){var a=n[t],r;if(a)for(r=a.length;r--;)a[r].handler(o)},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,o=t*24,a=o*7,r=o*365.25;ms=function(c,d){d=d||{};var v=typeof c;if(v==="string"&&c.length>0)return s(c);if(v==="number"&&isFinite(c))return d.long?l(c):i(c);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function 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 v=parseFloat(d[1]),m=(d[2]||"ms").toLowerCase();switch(m){case"years":case"year":case"yrs":case"yr":case"y":return v*r;case"weeks":case"week":case"w":return v*a;case"days":case"day":case"d":return v*o;case"hours":case"hour":case"hrs":case"hr":case"h":return v*t;case"minutes":case"minute":case"mins":case"min":case"m":return v*n;case"seconds":case"second":case"secs":case"sec":case"s":return v*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return v;default:return}}}}function i(c){var d=Math.abs(c);return d>=o?Math.round(c/o)+"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>=o?u(c,d,o,"day"):d>=t?u(c,d,t,"hour"):d>=n?u(c,d,n,"minute"):d>=e?u(c,d,e,"second"):c+" ms"}function u(c,d,v,m){var f=d>=v*1.5;return Math.round(c/v)+" "+m+(f?"s":"")}return ms}function setup(e){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=a,t.enabled=i,t.humanize=requireMs(),t.destroy=u,Object.keys(e).forEach(c=>{t[c]=e[c]}),t.names=[],t.skips=[],t.formatters={};function n(c){let d=0;for(let v=0;v<c.length;v++)d=(d<<5)-d+c.charCodeAt(v),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=n;function t(c){let d,v=null,m,f;function p(...g){if(!p.enabled)return;const _=p,h=Number(new Date),b=h-(d||h);_.diff=b,_.prev=d,_.curr=h,d=h,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let V=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,($,w)=>{if($==="%%")return"%";V++;const k=t.formatters[w];if(typeof k=="function"){const P=g[V];$=k.call(_,P),g.splice(V,1),V--}return $}),t.formatArgs.call(_,g),(_.log||t.log).apply(_,g)}return p.namespace=c,p.useColors=t.useColors(),p.color=t.selectColor(c),p.extend=o,p.destroy=t.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(m!==t.namespaces&&(m=t.namespaces,f=t.enabled(c)),f),set:g=>{v=g}}),typeof t.init=="function"&&t.init(p),p}function o(c,d){const v=t(this.namespace+(typeof d>"u"?":":d)+c);return v.log=this.log,v}function a(c){t.save(c),t.namespaces=c,t.names=[],t.skips=[];const d=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const v of d)v[0]==="-"?t.skips.push(v.slice(1)):t.names.push(v)}function r(c,d){let v=0,m=0,f=-1,p=0;for(;v<c.length;)if(m<d.length&&(d[m]===c[v]||d[m]==="*"))d[m]==="*"?(f=m,p=v,m++):(v++,m++);else if(f!==-1)m=f+1,p++,v=p;else return!1;for(;m<d.length&&d[m]==="*";)m++;return m===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(r(c,d))return!1;for(const d of t.names)if(r(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=a,n.save=r,n.load=s,n.useColors=o,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 o(){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 a(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;u.splice(1,0,c,"color: inherit");let d=0,v=0;u[0].replace(/%[a-zA-Z%]/g,m=>{m!=="%%"&&(d++,m==="%c"&&(v=d))}),u.splice(v,0,c)}n.log=console.debug||console.log||(()=>{});function r(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,o=a(t);function a(r){return r&&r.__esModule?r:{default:r}}n.default={pauseVideo:{acceptableStates:[o.default.ENDED,o.default.PAUSED],stateChangeRequired:!1},playVideo:{acceptableStates:[o.default.ENDED,o.default.PLAYING],stateChangeRequired:!1},seekTo:{acceptableStates:[o.default.ENDED,o.default.PLAYING,o.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,o=c(t),a=FunctionStateMapExports,r=c(a),s=eventNamesExports,i=c(s),l=functionNamesExports,u=c(l);function c(m){return m&&m.__esModule?m:{default:m}}const d=(0,o.default)("youtube-player"),v={};v.proxyEvents=m=>{const f={};for(const p of i.default){const g="on"+p.slice(0,1).toUpperCase()+p.slice(1);f[g]=_=>{d('event "%s"',g,_),m.trigger(p,_)}}return f},v.promisifyPlayer=(m,f=!1)=>{const p={};for(const g of u.default)f&&r.default[g]?p[g]=(..._)=>m.then(h=>{const b=r.default[g],V=h.getPlayerState(),S=h[g].apply(h,_);return b.stateChangeRequired||Array.isArray(b.acceptableStates)&&!b.acceptableStates.includes(V)?new Promise($=>{const w=()=>{const k=h.getPlayerState();let P;typeof b.timeout=="number"&&(P=setTimeout(()=>{h.removeEventListener("onStateChange",w),$()},b.timeout)),Array.isArray(b.acceptableStates)&&b.acceptableStates.includes(k)&&(h.removeEventListener("onStateChange",w),clearTimeout(P),$())};h.addEventListener("onStateChange",w)}).then(()=>S):S}):p[g]=(..._)=>m.then(h=>h[g].apply(h,_));return p},n.default=v,e.exports=n.default})(YouTubePlayer,YouTubePlayer.exports);var YouTubePlayerExports=YouTubePlayer.exports,loadYouTubeIframeApi={exports:{}},loadScript=function e(n,t,o){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("script");typeof t=="function"&&(o=t,t={}),t=t||{},o=o||function(){},r.type=t.type||"text/javascript",r.charset=t.charset||"utf8",r.async="async"in t?!!t.async:!0,r.src=n,t.attrs&&setAttributes(r,t.attrs),t.text&&(r.text=""+t.text);var s="onload"in r?stdOnEnd:ieOnEnd;s(r,o),r.onload||stdOnEnd(r,o),a.appendChild(r)};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,o=a(t);function a(r){return r&&r.__esModule?r:{default:r}}n.default=r=>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,o.default)(u+"//www.youtube.com/iframe_api",c=>{c&&r.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,o=l(t),a=YouTubePlayerExports,r=l(a),s=loadYouTubeIframeApiExports,i=l(s);function l(c){return c&&c.__esModule?c:{default:c}}let u;n.default=(c,d={},v=!1)=>{const m=(0,o.default)();if(u||(u=(0,i.default)(m)),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=r.default.proxyEvents(m);const f=new Promise(g=>{typeof c=="object"&&c.playVideo instanceof Function?g(c):u.then(_=>{const h=new _.Player(c,d);return m.on("ready",()=>{g(h)}),null})}),p=r.default.promisifyPlayer(f,v);return p.on=m.on,p.off=m.off,p},e.exports=n.default})(dist,dist.exports);var distExports=dist.exports;const player=LoadingSpinner.getDefaultExportFromCjs(distExports),UNSTARTED=-1,ENDED=0,PLAYING=1,PAUSED=2,BUFFERING=3,CUED=5,VueYoutube={name:"Youtube",props:{videoId:String,playerVars:{type:Object,default:()=>({})},height:{type:[Number,String],default:360},width:{type:[Number,String],default:640},resize:{type:Boolean,default:!1},resizeDelay:{type:Number,default:100},nocookie:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!1}},data(){return{player:{},events:{[UNSTARTED]:"unstarted",[PLAYING]:"playing",[PAUSED]:"paused",[ENDED]:"ended",[BUFFERING]:"buffering",[CUED]:"cued"},resizeTimeout:null}},computed:{aspectRatio(){return this.width/this.height}},methods:{playerReady(e){this.$emit("ready",e.target)},playerStateChange(e){e.data!==null&&e.data!==UNSTARTED&&this.$emit(this.events[e.data],e.target)},playerError(e){this.$emit("error",e.target)},updatePlayer(e){if(!e){this.player.stopVideo();return}const n={videoId:e};if(typeof this.playerVars.start=="number"&&(n.startSeconds=this.playerVars.start),typeof this.playerVars.end=="number"&&(n.endSeconds=this.playerVars.end),this.playerVars.autoplay===1){this.player.loadVideoById(n);return}this.player.cueVideoById(n)},resizeProportionally(){this.player.getIframe().then(e=>{const n=this.fitParent?e.parentElement.offsetWidth:e.offsetWidth,t=n/this.aspectRatio;this.player.setSize(n,t)})},onResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(this.resizeProportionally,this.resizeDelay)}},watch:{videoId:"updatePlayer",resize(e){e?(window.addEventListener("resize",this.onResize),this.resizeProportionally()):(window.removeEventListener("resize",this.onResize),this.player.setSize(this.width,this.height))},width(e){this.player.setSize(e,this.height)},height(e){this.player.setSize(this.width,e)}},beforeUnmount(){this.player!==null&&this.player.destroy&&(this.player.destroy(),delete this.player),this.resize&&window.removeEventListener("resize",this.onResize)},mounted(){window.YTConfig={host:"https://www.youtube.com/iframe_api"};const e=this.nocookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";this.player=player(this.$el,{host:e,width:this.width,height:this.height,videoId:this.videoId,playerVars:this.playerVars}),this.player.on("ready",this.playerReady),this.player.on("stateChange",this.playerStateChange),this.player.on("error",this.playerError),this.resize&&window.addEventListener("resize",this.onResize),this.fitParent&&this.resizeProportionally()},render(){return vue.h("div")}},cookieValues$2=cookieValues$5.youtube;let videoStore=null;const _sfc_main$1s={name:"VsVideoYoutube",components:{VueYoutube,VsWarning:LoadingSpinner.VsWarning},mixins:[LoadingSpinner.dataLayerMixin,cookieCheckerMixin],props:{videoId:{type:String,required:!0},videoTitle:{type:String,default:""},language:{type:String,default:"en"},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noJsMessage:{type:String,required:!0},lazyLoad:{type:Boolean,default:!1}},data(){return{playerVars:{hl:this.language},requiredCookies:cookieValues$2,duration:{minutes:0,seconds:0,roundedMinutes:""},jsDisabled:!0,isLoaded:!1,observer:null}},computed:{player(){return this.$refs.youtube?this.$refs.youtube.player:null},showError(){return!this.cookiesAllowed&&this.cookiesLoaded===!0||this.cookiesLoaded===!1},warningText(){let e="";return this.videoId&&this.jsDisabled&&(e=this.noJsMessage),!this.cookiesAllowed&&this.cookiesLoaded===!0&&(e=this.noCookiesMessage),e}},mounted(){this.jsDisabled=jsIsDisabled(),videoStore=useVideoStore(),this.setEventListeners(),this.lazyLoad?this.setupIntersectionObserver():this.isLoaded=!0},beforeUnmount(){this.observer&&this.observer.disconnect()},methods:{async playerReady(){await this.getPlayerDetails(),this.shouldAutoPlay&&(this.shouldAutoPlay=!1,this.playVideo())},async playVideo(){this.player&&await this.player.playVideo()},async pauseVideo(){this.player&&await this.player.pauseVideo()},async toggleVideo(){if(!this.player)return;await this.player.getPlayerState()===1?this.pauseVideo():this.playVideo()},async stopVideo(){this.player&&await this.player.stopVideo()},youtubePlaying(){this.analyticsEvent("play")},youtubePaused(){this.analyticsEvent("pause")},youtubeEnded(){this.analyticsEvent("ended")},analyticsEvent(e){let n=0,t=0;this.player.getCurrentTime().then(o=>(n=o,this.player?this.player.getDuration():null)).then(o=>{t=o}).then(()=>{const o=n/t*100;this.createDataLayerObject("videoTrackingDataEvent",{title:this.videoTitle,status:e,percent:Math.round(o)})})},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 o=this.getRoundedMinutes(n,t);this.duration.roundedMinutes=this.formatSingularOrPlural(o)},getRoundedMinutes(e,n){return n<30&&e!==0?e:e+1},formatSingularOrPlural(e){return e===1?this.singleMinuteDescriptor.replace("%s",e):this.pluralMinuteDescriptor.replace("%s",e)},pad(e){return e>=10?e:`0${e}`},storeVideoDetails(){videoStore.addVideo({videoId:this.videoId,videoDurationMsg:this.duration.roundedMinutes,videoDuration:this.duration.minutes*60+this.duration.seconds,videoFullDuration:this.duration})},setEventListeners(){this.emitter&&this.emitter.on("video-controls",e=>{e.id===this.videoId&&(e.action==="modal-opened"&&this.playVideo(),e.action==="modal-closed"&&this.stopVideo(),e.action==="play"?this.playVideo():e.action==="pause"&&this.pauseVideo())})},setupIntersectionObserver(){if(!("IntersectionObserver"in window)){this.isLoaded=!0;return}this.observer=new IntersectionObserver(e=>{e[0].intersectionRatio>0&&(this.observer.unobserve(this.$el),this.isLoaded=!0,this.$nextTick(()=>{this.playVideo()}))},{rootMargin:"50px",threshold:0}),this.observer.observe(this.$el)}}},_hoisted_1$16={class:"vs-video-youtube","data-test":"vs-video-youtube"},_hoisted_2$P={key:0};function _sfc_render$1d(e,n,t,o,a,r){const s=vue.resolveComponent("VueYoutube"),i=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$16,[e.cookiesAllowed&&(!t.lazyLoad||a.isLoaded)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$P,[vue.createVNode(s,{autoplay:0,"video-id":t.videoId,vars:a.playerVars,ref:"youtube",nocookie:!0,class:"vs-video-youtube__player",onPlaying:r.youtubePlaying,onPaused:r.youtubePaused,onEnded:r.youtubeEnded,onReady:r.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"])])):vue.createCommentVNode("",!0),r.showError?(vue.openBlock(),vue.createBlock(i,{key:1,type:e.cookiesLoaded===!0?"cookie":"normal",class:"vs-video-youtube__warning","data-test":"vs-video-youtube__warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.warningText)+" ",1)]),_:2},[!e.cookiesAllowed&&e.cookiesLoaded===!0?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),key:"0"}:void 0]),1032,["type"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"vs-video-youtube__warning vs-video-youtube__warning--no-js","data-test":"vs-video-youtube__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})])}const VsVideoYoutube=LoadingSpinner._export_sfc(_sfc_main$1s,[["render",_sfc_render$1d]]),_sfc_main$1r={name:"VsToggleButton",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,BButton:LoadingSpinner.vt,VsIcon:LoadingSpinner.VsIcon},props:{toggleId:{type:String,default:""},variant:{type:String,default:"default",validator:e=>e.match(/(default|overlay|overlay-strong)/)},icon:{type:String,default:""},pressedIcon:{type:String,default:null},modelValue:{type:Boolean,default:void 0},label:{type:String,default:""},pressedLabel:{type:String,default:""},labelBreakpoint:{type:String,default:null,validator:e=>e===null||/^(xs|sm|md|lg|xl|xxl)$/.test(e)}},emits:["toggleAction","update:modelValue","click"],data(){return{show:!1,internalPressed:!1}},computed:{isLegacyMode(){return!this.icon&&!this.pressedIcon},isPressed(){return this.modelValue!==void 0?this.modelValue:this.internalPressed},buttonClasses(){return{"vs-toggle-button--pressed":this.isPressed,[`vs-toggle-button--label-${this.labelBreakpoint}-up`]:this.labelBreakpoint}},buttonLabelClasses(){return{[`visible-${this.labelBreakpoint}-up`]:this.labelBreakpoint}},currentIcon(){return this.isPressed&&this.pressedIcon?this.pressedIcon:this.icon},computedLabel(){return this.isPressed&&this.pressedLabel?this.pressedLabel:this.label}},methods:{toggleLegacy(e){this.show=!this.show,this.$emit("toggleAction",this.show),this.$emit("click",e)},handleClick(e){const n=!this.isPressed;this.modelValue!==void 0?this.$emit("update:modelValue",n):this.internalPressed=n,this.$emit("click",e)}}};function _sfc_render$1c(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("BButton"),l=vue.resolveComponent("VsButton");return r.isLegacyMode?(vue.openBlock(),vue.createBlock(l,{key:1,class:"vs-toggle-btn","data-test":"vs-toggle-btn",variant:"subtle","aria-controls":t.toggleId,"aria-expanded":a.show?"true":"false",onClick:r.toggleLegacy},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default"),a.show?(vue.openBlock(),vue.createBlock(s,{key:0,class:"fa-icon-colours fa-icon-colours--white",icon:"fa-duotone fa-solid fa-circle-xmark"})):vue.renderSlot(e.$slots,"toggle-icon",{key:1},()=>[vue.createVNode(s,{class:"fa-icon-colours",icon:"fa-duotone fa-solid fa-circle-info"})])]),_:3},8,["aria-controls","aria-expanded","onClick"])):(vue.openBlock(),vue.createBlock(i,{key:0,variant:t.variant,class:vue.normalizeClass(["vs-toggle-button",r.buttonClasses]),size:"sm","aria-label":r.computedLabel,onClick:r.handleClick},{default:vue.withCtx(()=>[vue.createVNode(s,{icon:r.currentIcon,size:"xs",padding:0},null,8,["icon"]),t.label?(vue.openBlock(),vue.createElementBlock("span",{key:0,class:vue.normalizeClass(["visually-hidden",r.buttonLabelClasses])},vue.toDisplayString(r.computedLabel),3)):vue.createCommentVNode("",!0)]),_:1},8,["variant","class","aria-label","onClick"]))}const VsToggleButton=LoadingSpinner._export_sfc(_sfc_main$1r,[["render",_sfc_render$1c]]),prefersReducedMotion=()=>window&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,_sfc_main$1q={name:"VsVideoHtml5",status:"prototype",release:"0.0.1",components:{VsToggleButton,VsImg:LoadingSpinner.VsImg},inject:{registerMedia:{default:null}},props:{videoSrc:{type:String,required:!0},videoId:{type:String,required:!0},posterImageSrc:{type:String,default:""},lazyLoad:{type:Boolean,default:!1},playButtonLabel:{type:String,default:""},pauseButtonLabel:{type:String,default:""},showToggle:{type:Boolean,default:!0}},data(){return{isLoaded:!1,isPlaying:!1,observer:null,isReducedMotion:prefersReducedMotion()}},mounted(){var e;(e=this.registerMedia)==null||e.call(this,this),this.lazyLoad?this.setupIntersectionObserver():(this.isLoaded=!0,this.isPlaying=!0)},beforeUnmount(){this.observer&&this.observer.disconnect()},methods:{playVideo(){const e=this.$refs.videoRef;e&&e.play()},pauseVideo(){const e=this.$refs.videoRef;e&&e.pause()},stopVideo(){const e=this.$refs.videoRef;e&&(e.pause(),e.currentTime=0)},toggleVideo(){const e=this.$refs.videoRef;e&&(e.paused?e.play():e.pause())},setupIntersectionObserver(){if(!("IntersectionObserver"in window)){this.isLoaded=!0;return}this.observer=new IntersectionObserver(e=>{e[0].intersectionRatio>0&&(this.observer.unobserve(this.$el),this.isLoaded=!0,this.$nextTick(()=>{var n;(n=this.$refs.videoRef)==null||n.play()}))},{rootMargin:"50px",threshold:0}),this.observer.observe(this.$el)}}},_hoisted_1$15={class:"vs-video-html5","data-test":"vs-video-html5"},_hoisted_2$O=["id","poster","loop","muted","autoplay","preload","fetchpriority"],_hoisted_3$D=["src"];function _sfc_render$1b(e,n,t,o,a,r){const s=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsToggleButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$15,[a.isReducedMotion||!t.videoSrc?(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-video-html5__fallback-image",src:t.posterImageSrc},null,8,["src"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createElementVNode("video",{ref:"videoRef",onPlay:n[0]||(n[0]=l=>a.isPlaying=!0),onPause:n[1]||(n[1]=l=>a.isPlaying=!1),onEnded:n[2]||(n[2]=l=>a.isPlaying=!1),id:t.videoId,class:"vs-video-html5__player img-zoom-on-hover",poster:t.posterImageSrc,"aria-hidden":"true",loop:!t.lazyLoad||a.isLoaded,muted:!t.lazyLoad||a.isLoaded,autoplay:!t.lazyLoad||a.isLoaded,playsinline:"",preload:t.lazyLoad?"none":"auto",fetchpriority:t.lazyLoad?"low":"high",tabindex:"-1"},[vue.createElementVNode("source",{src:t.videoSrc,type:"video/mp4"},null,8,_hoisted_3$D)],40,_hoisted_2$O),t.showToggle?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-video-html5__toggle-video",variant:"overlay",icon:"vs-icon-control-pause","pressed-icon":"vs-icon-control-play",label:t.pauseButtonLabel,"pressed-label":t.playButtonLabel,"aria-controls":t.videoId,"model-value":!a.isPlaying,onClick:r.toggleVideo},null,8,["label","pressed-label","aria-controls","model-value","onClick"])):vue.createCommentVNode("",!0)],64))])}const VsVideoHtml5=LoadingSpinner._export_sfc(_sfc_main$1q,[["render",_sfc_render$1b]]),_sfc_main$1p={name:"VsVideo",props:{videoType:{type:String,default:"youtube",validator:e=>["youtube","html5"].includes(e)},videoSrc:{type:String,default:""},posterImageSrc:{type:String,default:""},videoId:{type:String,default:""},videoTitle:{type:String,default:""},language:{type:String,default:"en"},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,default:""},cookieBtnText:{type:String,default:""},noJsMessage:{type:String,default:""},playButtonLabel:{type:String,default:"Play video"},pauseButtonLabel:{type:String,default:"Pause video"},showToggle:{type:Boolean,default:!0},lazyLoad:{type:Boolean,default:!1}},data(){return{reRendering:!1}},computed:{playerComponent(){return this.videoType==="html5"?VsVideoHtml5:VsVideoYoutube}},methods:{playVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.playVideo)==null||n.call(e)},pauseVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.pauseVideo)==null||n.call(e)},stopVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.stopVideo)==null||n.call(e)},toggleVideo(){var e,n;(n=(e=this.$refs.player)==null?void 0:e.toggleVideo)==null||n.call(e)}}},_hoisted_1$14={key:0,class:"vs-video","data-test":"vs-video"};function _sfc_render$1a(e,n,t,o,a,r){return a.reRendering?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$14,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(r.playerComponent),vue.mergeProps({ref:"player"},e.$props,{"lazy-load":t.lazyLoad}),null,16,["lazy-load"]))]))}const VsVideo=LoadingSpinner._export_sfc(_sfc_main$1p,[["render",_sfc_render$1a]]),_sfc_main$1o={name:"VsHeroSection",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsHeroSectionImage,VsVideo},provide(){return{videoPlayingStatus:this.videoPlayingStatus,videoPausedStatus:this.videoPausedStatus}},props:{heading:{type:String,default:"",required:!0},lede:{type:String,default:"",required:!0},imgSrc:{type:String,default:""},imgAlt:{type:String,default:""},imgCaption:{type:String,default:""},imgCredit:{type:String,default:""},inset:{type:Boolean,default:!1},split:{type:Boolean,default:!1},videoSrc:{type:String,default:""},videoBtnText:{type:String,default:""},videoPlayingStatus:{type:String,default:""},videoPausedStatus:{type:String,default:""},playButtonLabel:{type:String,default:""},pauseButtonLabel:{type:String,default:""}},computed:{imageClasses(){return{"vs-hero-section__image--inset":this.inset}},textContainerClasses(){return[{"vs-hero-section__text-container--video":this.videoSrc},"vs-hero-section__text-container"]}}},_hoisted_1$13={class:"vs-hero-section__grid"},_hoisted_2$N={key:1,class:"vs-hero-section__video-wrapper"},_hoisted_3$C={key:2,class:"vs-hero-section__divider"},_hoisted_4$t={class:"vs-hero-section__text"},_hoisted_5$l=["innerHTML"],_hoisted_6$h={class:"mb-0"},_hoisted_7$f={key:1,class:"vs-hero-section__article-details","data-test":"vs-hero-section__article-details"};function _sfc_render$19(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeroSectionImage"),i=vue.resolveComponent("VsVideo"),l=vue.resolveComponent("VsHeading"),u=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-hero-section",{"vs-hero-section--split":t.split}]),"data-test":"vs-hero-section"},[vue.createElementVNode("div",_hoisted_1$13,[t.imgSrc&&!t.videoSrc?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-hero-section__image",r.imageClasses])},[vue.createVNode(s,{"img-alt":t.imgAlt,src:t.imgSrc,"img-caption":t.imgCaption,"img-credit":t.imgCredit,split:t.split},null,8,["img-alt","src","img-caption","img-credit","split"])],2)):t.videoSrc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$N,[vue.createVNode(i,{"video-type":"html5","video-id":"hero-video","poster-image-src":t.imgSrc,"video-src":t.videoSrc,"play-button-label":t.videoPlayingStatus?t.videoPlayingStatus:t.playButtonLabel,"pause-button-label":t.videoPausedStatus?t.videoPausedStatus:t.pauseButtonLabel,class:"vs-hero-section__video"},null,8,["poster-image-src","video-src","play-button-label","pause-button-label"]),n[0]||(n[0]=vue.createElementVNode("div",{class:"vs-hero-section__video-overlay"},null,-1))])):(vue.openBlock(),vue.createElementBlock("hr",_hoisted_3$C)),vue.createElementVNode("div",{class:vue.normalizeClass(r.textContainerClasses)},[vue.createElementVNode("div",_hoisted_4$t,[vue.createVNode(l,{class:"vs-hero-section__heading","data-test":"vs-hero-section__heading",level:"1","heading-style":"display-s",id:"main-heading"},{default:vue.withCtx(()=>[vue.createElementVNode("span",{innerHTML:t.heading},null,8,_hoisted_5$l)]),_:1}),t.lede?(vue.openBlock(),vue.createBlock(u,{key:0,class:"vs-hero-section__lede","data-test":"vs-hero-section__lede",variant:"lead"},{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_6$h,vue.toDisplayString(t.lede),1)]),_:1})):vue.createCommentVNode("",!0),e.$slots["hero-section-article-details"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$f,[vue.renderSlot(e.$slots,"hero-section-article-details")])):vue.createCommentVNode("",!0)])],2)])],2)}const HeroSection=LoadingSpinner._export_sfc(_sfc_main$1o,[["render",_sfc_render$19]]),_sfc_main$1n={name:"VsHtmlError",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],props:{statusCode:{type:String,required:!0}},mounted(){this.createDataLayerObject("errorDataEvent",{error_type:"System Error",error_details:this.statusCode})}},_hoisted_1$12={class:"d-none"};function _sfc_render$18(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$12)}const HtmlError=LoadingSpinner._export_sfc(_sfc_main$1n,[["render",_sfc_render$18]]),_sfc_main$1m={name:"VsTourismInfo",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol}},_hoisted_1$11={class:"vs-tourism-info","data-test":"vs-tourism-info"},_hoisted_2$M={key:0,class:"vs-tourism-info__links","data-test":"vs-tourism-info__standalone-links"},_hoisted_3$B={class:"vs-tourism-info__quote-block"},_hoisted_4$s={key:0,class:"vs-tourism-info__links-contained","data-test":"vs-tourism-info__embedded-links"};function _sfc_render$17(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$11,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"10",offset:"1",md:"8","offset-md":"2",lg:"6","offset-lg":"3",class:"vs-tourism-info__intro-content"},{default:vue.withCtx(()=>[e.$slots["tourism-info-links"]&&e.$slots["tourism-info-links"]()&&!(e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]())?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$M,[vue.renderSlot(e.$slots,"tourism-info-links")])):vue.createCommentVNode("",!0)]),_:3}),vue.createVNode(s,{cols:"12",md:"10","offset-md":"1",class:vue.normalizeClass({"vs-tourism-info__image-offset":e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]()})},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"tourism-info-image-with-caption")]),_:3},8,["class"]),e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]()?(vue.openBlock(),vue.createBlock(s,{key:0,cols:"12",md:"10","offset-md":"1",lg:"7","offset-lg":"5",class:"vs-tourism-info__quote-block-container"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$B,[vue.renderSlot(e.$slots,"tourism-info-quote"),e.$slots["tourism-info-links"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$s,[vue.renderSlot(e.$slots,"tourism-info-links")])):vue.createCommentVNode("",!0)])]),_:3})):vue.createCommentVNode("",!0)]),_:3})]),_:3})])}const TourismInfo=LoadingSpinner._export_sfc(_sfc_main$1m,[["render",_sfc_render$17]]),_sfc_main$1l={name:"VsIconList",status:"prototype",release:"0.0.1",props:{title:{type:String,default:""}}},_hoisted_1$10={class:"vs-icon-list","data-test":"vs-icon-list"},_hoisted_2$L={key:0,class:"vs-icon-list__title"},_hoisted_3$A={class:"vs-icon-list__list mb-0"};function _sfc_render$16(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$10,[t.title?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$L,vue.toDisplayString(t.title),1)):vue.createCommentVNode("",!0),vue.createElementVNode("ul",_hoisted_3$A,[vue.renderSlot(e.$slots,"default")])])}const IconList=LoadingSpinner._export_sfc(_sfc_main$1l,[["render",_sfc_render$16]]),_sfc_main$1k={name:"VsIconListItem",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{label:{type:String,required:!0},icon:{type:String,required:!0}}},_hoisted_1$$={class:"vs-icon-list__item","data-test":"vs-icon-list__item"};function _sfc_render$15(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$$,[vue.createVNode(s,{icon:t.icon,size:"md",class:"d-block mx-auto"},null,8,["icon"]),vue.createTextVNode(" "+vue.toDisplayString(t.label),1)])}const IconListItem=LoadingSpinner._export_sfc(_sfc_main$1k,[["render",_sfc_render$15]]),cookieValues$1=cookieValues$5.youtube,_sfc_main$1j={name:"VsVideoCaption",status:"deprecated",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsToggleButton,VsWarning:LoadingSpinner.VsWarning},mixins:[cookieCheckerMixin],inject:{noJsMessage:{default:""},noCookiesMessage:{default:""},cookieLinkText:{default:""},errorMessage:{default:""}},props:{videoBtnText:{type:String,default:""},withToggleBtn:{type:Boolean,default:!1},videoId:{type:String,required:!0},variant:{type:String,default:"wide",validator:e=>e.match(/(wide|narrow)/)}},emits:["toggleAction"],setup(){return{videoStore:useVideoStore()}},data(){return{showErrorMessage:!1,requiredCookies:cookieValues$1}},computed:{videoDetails(){return this.videoStore.videos[this.videoId]},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0},showCookieMessage(){return!!(!this.cookiesAllowed&&this.noCookiesMessage)}},methods:{emitToggle(){this.$emit("toggleAction")},emitShowModal(){this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$_={key:0,class:"vs-video-caption__buttons-container"},_hoisted_2$K={class:"container"},_hoisted_3$z={key:1,class:"vs-video-caption__details"},_hoisted_4$r={class:"vs-video-caption__title"},_hoisted_5$k={class:"vs-video-caption__duration"},_hoisted_6$g={key:1,class:"vs-video-caption vs-video-caption--warning"},_hoisted_7$e={key:2,class:"vs-video-caption vs-video-caption--no-js vs-video-caption--warning","data-test":"video-caption-nojs"};function _sfc_render$14(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsToggleButton"),l=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",{"data-test":"video-caption",class:vue.normalizeClass(["vs-video-caption__wrapper",`vs-video-caption__wrapper--${t.variant}`])},[r.videoLoaded&&e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",{"data-test":"video-caption-variants",class:vue.normalizeClass(["vs-video-caption",`vs-video-caption--${t.variant}`]),key:"video-caption"},[t.videoBtnText?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$_,[vue.createElementVNode("div",_hoisted_2$K,[vue.createVNode(s,{class:"vs-video-caption__button",icon:"vs-icon-control-play","icon-position":"left",size:"md",ref:"videoShow",rounded:!1,onClick:r.emitShowModal},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.videoBtnText),1)]),_:1},8,["onClick"])]),t.withToggleBtn?(vue.openBlock(),vue.createBlock(i,{key:0,onToggleAction:r.emitToggle},{default:vue.withCtx(()=>[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"visually-hidden"}," Toggle caption ",-1)])]),_:1},8,["onToggleAction"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$z,[vue.createElementVNode("p",_hoisted_4$r,[vue.renderSlot(e.$slots,"video-title")]),vue.createElementVNode("p",_hoisted_5$k,vue.toDisplayString(r.videoDetails.videoDurationMsg),1)])):vue.createCommentVNode("",!0)],2)):vue.createCommentVNode("",!0),!(r.videoLoaded&&e.cookiesAllowed)&&r.showCookieMessage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$g,[vue.createVNode(l,{size:"small",type:"cookie"},{"button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.cookieLinkText),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.noCookiesMessage)+" ",1)]),_:1})])):vue.createCommentVNode("",!0),r.noJsMessage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$e,[vue.createVNode(l,{size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.noJsMessage),1)]),_:1})])):vue.createCommentVNode("",!0)],2)}const VsVideoCaption=LoadingSpinner._export_sfc(_sfc_main$1j,[["render",_sfc_render$14]]),cookieValues=cookieValues$5.youtube,_sfc_main$1i={name:"VsImageWithCaption",status:"prototype",release:"0.0.1",components:{VsImg:LoadingSpinner.VsImg,VsToggleButton,VsVideoCaption},mixins:[cookieCheckerMixin],provide(){return{noJsMessage:this.noJsMessage,errorMessage:this.errorMessage,noCookiesMessage:this.noCookiesMessage,cookieLinkText:this.cookieLinkText}},props:{altText:{type:String,default:""},closedDefaultCaption:{type:Boolean,default:!1},imageSrc:{type:String,default:""},isHeroImage:{type:Boolean,default:!1},isVideo:{type:Boolean,default:!1},mobileOverlap:{type:Boolean,default:!1},toggleButtonText:{type:String,default:""},playButtonText:{type:String,default:""},videoId:{type:String,default:""},smallPlayButton:{type:Boolean,default:!1},noCookiesMessage:{type:String,default:""},cookieLinkText:{type:String,default:""},noJsMessage:{type:String,default:""},useLazyLoading:{type:Boolean,default:!0},errorMessage:{type:String,default:""},showToggle:{type:Boolean,default:!0}},data(){return{showCaption:!1,uniqueCaptionId:"",requiredCookies:cookieValues}},computed:{isSvg(){return this.imageSrc.endsWith(".svg")},imageWithCaptionClasses(){return{"vs-image-with-caption--closed-default":this.closedDefaultCaption,"vs-image-with-caption--hero":this.isHeroImage,"vs-image-with-caption--show-caption":!this.cookiesAllowed&&this.cookiesLoaded,"vs-image-with-caption--video":this.isVideo,"vs-image-with-caption--svg":this.isSvg}},captionWrapperClasses(){return{"d-block":this.showCaption&&!this.isHeroImage,"d-flex":this.showCaption&&this.isHeroImage||this.showCaption&&this.isVideo,container:this.isHeroImage}}},mounted(){this.uniqueCaptionId=this._uid},methods:{toggleCaption(){this.showCaption=!this.showCaption}}},_hoisted_1$Z={class:"visually-hidden"},_hoisted_2$J={class:"vs-image-with-caption__captions"},_hoisted_3$y=["id"];function _sfc_render$13(e,n,t,o,a,r){const s=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsToggleButton"),l=vue.resolveComponent("VsVideoCaption");return vue.openBlock(),vue.createElementBlock("figure",{class:vue.normalizeClass(["vs-image-with-caption",r.imageWithCaptionClasses]),"data-test":"vs-image-with-caption"},[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-image-with-caption__image-wrapper",t.mobileOverlap?"vs-image-with-caption--overlapped":""])},[vue.renderSlot(e.$slots,"default",{},()=>[t.imageSrc?(vue.openBlock(),vue.createBlock(s,{key:0,src:t.imageSrc,alt:t.altText,"use-lazy-loading":t.useLazyLoading},null,8,["src","alt","use-lazy-loading"])):vue.createCommentVNode("",!0)]),t.showToggle?(vue.openBlock(),vue.createBlock(i,{key:0,"img-src":t.imageSrc,"toggle-id":a.uniqueCaptionId,onToggleAction:r.toggleCaption},{"toggle-icon":vue.withCtx(()=>[vue.renderSlot(e.$slots,"toggle-icon")]),default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$Z,vue.toDisplayString(t.toggleButtonText),1)]),_:3},8,["img-src","toggle-id","onToggleAction"])):vue.createCommentVNode("",!0)],2),vue.createElementVNode("figcaption",_hoisted_2$J,[t.isVideo?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-image-with-caption__video-caption-wrapper",t.isHeroImage?"container-lg":""])},[vue.createVNode(l,{"video-btn-text":t.playButtonText,"with-toggle-btn":t.showToggle,onToggleAction:r.toggleCaption,"video-id":t.videoId,"cookie-link-text":t.cookieLinkText,"error-message":t.errorMessage,variant:t.smallPlayButton?"narrow":"wide"},{"video-title":vue.withCtx(()=>[vue.renderSlot(e.$slots,"video-title")]),_:3},8,["video-btn-text","with-toggle-btn","onToggleAction","video-id","cookie-link-text","error-message","variant"])],2)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-image-with-caption__caption-wrapper",r.captionWrapperClasses]),id:a.uniqueCaptionId},[vue.renderSlot(e.$slots,"img-caption")],10,_hoisted_3$y)])],2)}const ImageWithCaption=LoadingSpinner._export_sfc(_sfc_main$1i,[["render",_sfc_render$13]]),_sfc_main$1h={name:"VsIllustratedMap",props:{highlightedRegions:{type:Array,default:()=>[],validator:e=>e.every(n=>/^(borders|dumfries|highlands|outerhebs|shetland|orkney|edinburgh|glasgow|fife|dundee|aberdeen|perth|lomond|arranayr|argyll)$/.test(n))},ariaLabel:{type:String,default:()=>"Illustrated map of Scotland showing regions"},title:{type:String,default:()=>"Map of Scotland"},width:{type:String,default:null}},methods:{isHighlighted(e){return this.highlightedRegions.includes(e)}}},_hoisted_1$Y=["aria-label","width"];function _sfc_render$12(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("svg",{class:"vs-illustrated-map",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 147 259",fill:"none","aria-label":t.ariaLabel,width:t.width},[vue.createElementVNode("title",null,vue.toDisplayString(t.title),1),vue.createElementVNode("path",{id:"region-borders",d:"M94.8908 215.531L93.0078 228.835L107.675 235.709V243.242L113.032 241.534L128.139 211.014L120.114 207.334L105.422 215.196L94.8908 215.531Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("borders")})},null,2),vue.createElementVNode("path",{id:"region-dumfries",d:"M107.678 243.242V235.709L93.0105 228.835L82.3684 227.947L56.8945 246.364L61.8447 258.049L107.678 243.242Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("dumfries")})},null,2),vue.createElementVNode("path",{id:"region-highlands",d:"M76.3875 143.097L95.2198 133.991L113.324 133.608L97.0838 160.469L75.7941 169.254L55.0816 173.951L39.152 171.715L42.8855 166.308L22.8906 149.472L26.9695 134.771L40.5413 142.884L40.5683 128.034L58.977 94.2952L75.2383 98.8575L103.725 94.2952L103.831 105.06L76.3875 143.097Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("highlands")})},null,2),vue.createElementVNode("path",{id:"region-outerhebs",d:"M32.2773 100.625L28.2335 123.863L12.5575 138.325L6.67127 161.517L0 166.276L2.87299 130.376L15.7839 111.868L32.2773 100.625Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("outerhebs")})},null,2),vue.createElementVNode("path",{id:"region-shetland",d:"M137.044 28.8822L146.094 6.08942L143.526 0L123.234 20.1191L130.38 32.3789L137.044 28.8822Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("shetland")})},null,2),vue.createElementVNode("path",{id:"region-orkney",d:"M122.546 56.7442L104.383 67.0074L102.082 77.7078L110.938 85.416L123.687 65.4372L122.546 56.7442Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("orkney")})},null,2),vue.createElementVNode("path",{id:"region-edinburgh",d:"M91.4266 205.144L85.8047 209.876L88.6156 214.643L94.893 215.531L105.425 215.196L120.116 207.334L109.493 202.467L96.7193 207.453L91.4266 205.144Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("edinburgh")})},null,2),vue.createElementVNode("path",{id:"region-glasgow",d:"M82.3716 227.947L61.3516 207.458L69.5119 201.782L85.8084 209.876L88.6193 214.643L94.8967 215.531L93.0138 228.835L82.3716 227.947Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("glasgow")})},null,2),vue.createElementVNode("path",{id:"region-fife",d:"M87.6797 202.205L92.2306 196.904L96.9973 195.69L98.0602 189.406L110.434 188.702L114.378 195.922L98.7427 203.034L87.6797 202.205Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("fife")})},null,2),vue.createElementVNode("path",{id:"region-dundee",d:"M104.384 186.969L95.3438 167.854L109.865 163.084L113.858 171.955L120.915 172.433L116.269 182.388L104.384 186.969Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("dundee")})},null,2),vue.createElementVNode("path",{id:"region-aberdeen",d:"M113.318 133.608L126.213 133.333L135.806 140.523L120.907 172.433L113.85 171.955L109.857 163.084L95.336 167.854L83.0078 166.276L97.0787 160.47L113.318 133.608Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("aberdeen")})},null,2),vue.createElementVNode("path",{id:"region-perth",d:"M75.7936 169.255L69.8615 170.601L65.6289 186.368L73.8324 183.044L78.7125 185.704L76.1605 192.023L92.2357 196.904L97.0025 195.69L98.0653 189.406L104.381 186.97L95.3407 167.854L83.0125 166.276L75.7936 169.255Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("perth")})},null,2),vue.createElementVNode("path",{id:"region-lomond",d:"M62.4171 188.701L65.63 186.368L73.8335 183.044L78.7136 185.704L76.1616 192.023L92.2368 196.903L87.6859 202.205H85.0072L91.4303 205.143L85.8084 209.875L69.5119 201.781L61.3516 207.458L61.5296 202.467L63.1914 194.13L62.4171 188.701Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("lomond")})},null,2),vue.createElementVNode("path",{id:"region-arran",d:"M51.7287 220.725L49.1875 231.015C49.1875 231.015 54.9712 233.435 55.1709 233.168C55.3732 232.898 61.1542 222.611 60.9546 222.543C60.755 222.476 51.7287 220.728 51.7287 220.728V220.725Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("arranayr")})},null,2),vue.createElementVNode("path",{id:"region-ayrshire",d:"M61.3483 207.458L60.9653 218.253L66.8434 223.663L56.8945 246.364L82.3684 227.947L61.3483 207.458Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("arranayr")})},null,2),vue.createElementVNode("path",{id:"region-argyll",d:"M42.2625 231.565L48.5831 221.483L52.2519 210.237L60.9598 218.253L61.521 202.467L63.1827 194.13L62.4085 188.702L65.6214 186.368L69.854 170.601L55.0736 173.952L39.144 171.715L27.6386 179.013L26.6485 193.901L39.2061 192.377L52.0981 177.832L42.8937 196.909L25.9768 208.276L23.9023 213.801L28.5207 221.82L43.2148 204.755L44.364 206.684L37.396 224.232L42.2625 231.565Z",class:vue.normalizeClass({"is-highlighted":r.isHighlighted("argyll")})},null,2)],8,_hoisted_1$Y)}const IllustratedMap=LoadingSpinner._export_sfc(_sfc_main$1h,[["render",_sfc_render$12],["__scopeId","data-v-b671fd04"]]),_sfc_main$1g={name:"VsInput",status:"prototype",release:"0.0.1",components:{BFormInput:LoadingSpinner.Tu,VsButton:LoadingSpinner.VsButton},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},name:{type:String,default:""},type:{type:String,default:"text"},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},ariaLabel:{type:String,default:""},disabled:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},clearButtonText:{type:String,default:""},placeholder:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){let e="";return(this.isInvalid||this.errorsList.length)&&(e="vs-input--error"),`${`vs-input--${this.fieldName}`} ${e}`},showClearButton(){return!!(this.inputVal.length&&this.clearButtonText!=="")}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},autocompleteValue(e){let n;switch(e){case"firstName":n="given-name";break;case"lastName":n="family-name";break;case"Email":n="email";break;case"PostalCode":n="postal-code";break;default:n=this.autoComplete?"on":"off";break}return n},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0}},validations(){return this.rules}},_hoisted_1$X={"data-test":"vs-input"},_hoisted_2$I=["id"],_hoisted_3$x=["id"],_hoisted_4$q={class:"visually-hidden"};function _sfc_render$11(e,n,t,o,a,r){const s=vue.resolveComponent("BFormInput"),i=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$X,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$I)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,l=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:l,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$q,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!a.clearErrorsOnFocus]])),128))],8,_hoisted_3$x)):vue.createCommentVNode("",!0),vue.createVNode(s,{ref:"input",type:t.type,class:vue.normalizeClass(["vs-input",[a.inputVal?"show-cancel":"",r.elementClass]]),modelValue:a.inputVal,"onUpdate:modelValue":n[0]||(n[0]=l=>a.inputVal=l),id:t.fieldName,name:t.name?t.name:t.fieldName,placeholder:t.placeholder,required:e.isRequired,autocomplete:r.autocompleteValue(t.fieldName),v:a.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-label":t.ariaLabel?t.ariaLabel:null,"aria-describedby":e.ariaDescription,maxlength:t.validationRules.maxLength?t.validationRules.maxLength:null,minlength:t.validationRules.minLength?t.validationRules.minLength:null,min:t.validationRules.min!==void 0?t.validationRules.min:null,max:t.validationRules.max!==void 0?t.validationRules.max:null,disabled:t.disabled,onBlur:r.validateErrors,onChange:r.validateErrors,onFocus:r.resetErrors},null,8,["type","modelValue","class","id","name","placeholder","required","autocomplete","v","aria-invalid","aria-label","aria-describedby","maxlength","minlength","min","max","disabled","onBlur","onChange","onFocus"]),r.showClearButton?(vue.openBlock(),vue.createBlock(i,{key:2,class:"vs-input__clear-button d-none d-lg-block","data-test":"input-clear-button",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:n[1]||(n[1]=vue.withModifiers(l=>r.clearInputAndFocus(),["prevent"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.clearButtonText),1)]),_:1})):vue.createCommentVNode("",!0)])}const VsInput=LoadingSpinner._export_sfc(_sfc_main$1g,[["render",_sfc_render$11]]),_sfc_main$1f={name:"VsItinerary",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsAccordion,VsButton:LoadingSpinner.VsButton},props:{listViewText:{type:String,default:"List view"},mapViewText:{type:String,default:"Map view"}},data(){return{showMap:!1,isDesktop:!1,withinItineraryMain:!1}},mounted(){const e=document.querySelector(".vds-example");window.addEventListener("resize",this.resizeWidth),e===null?window.addEventListener("scroll",this.onScroll):e.addEventListener("scroll",this.onScroll),this.resizeWidth()},unmounted(){window.removeEventListener("resize",this.resizeWidth)},methods:{resizeWidth(){this.isDesktop=window.innerWidth>=1200,this.showMap=window.innerWidth>=1200},onScroll(){const e=this.$el.getBoundingClientRect(),n=e.top<=(window.innerHeight||document.documentElement.clientHeight),t=e.bottom<=(window.innerHeight||document.documentElement.clientHeight);this.withinItineraryMain=!!(n&&!t)},toggleShowMap(){this.showMap=!this.showMap}}},_hoisted_1$W={class:"vs-itinerary","data-test":"vs-itinerary"},_hoisted_2$H={class:"fixed-bottom"},_hoisted_3$w={class:"d-flex justify-content-center pb-050"},_hoisted_4$p={key:0,class:"vs-itinerary__map-container","data-chromatic":"ignore"};function _sfc_render$10(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsAccordion"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$W,[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$H,[vue.createElementVNode("div",_hoisted_3$w,[vue.createVNode(s,{class:"vs-itinerary__map-toggle-button",onClick:n[0]||(n[0]=d=>r.toggleShowMap()),icon:a.showMap?"fa-regular fa-list":"fa-regular fa-map","data-test":"vs-itinerary-btn"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.showMap?t.listViewText:t.mapViewText),1)]),_:1},8,["icon"])])],512),[[vue.vShow,!a.isDesktop&&a.withinItineraryMain]]),a.isDesktop||a.showMap?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$p,[vue.renderSlot(e.$slots,"map")])):vue.createCommentVNode("",!0),vue.createVNode(c,{class:"vs-itinerary__outer-container"},{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",class:"p-0 vs-itinerary__accordion-container"},{default:vue.withCtx(()=>[vue.createVNode(i,{"break-point":"lg"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"list")]),_:3})]),_:3})]),_:3})]),_:3})])}const Itinerary=LoadingSpinner._export_sfc(_sfc_main$1f,[["render",_sfc_render$10]]),_sfc_main$1e={name:"VsItineraryDay",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsIcon:LoadingSpinner.VsIcon,VsAccordionItem},props:{defaultShow:{type:Boolean,default:!0},dayLabel:{type:String,required:!0},dayNumber:{type:String,required:!0},dayTitle:{type:String,required:!0}},data(){return{show:this.defaultShow}}},_hoisted_1$V={class:"vs-itinerary-day"},_hoisted_2$G={class:"vs-itinerary-day__header"},_hoisted_3$v={class:"vs-itinerary-day__title"},_hoisted_4$o={class:"vs-itinerary-day__sub-heading"},_hoisted_5$j=["id"],_hoisted_6$f={class:"vs-itinerary-day__intro-content"},_hoisted_7$d={class:"list-unstyled"};function _sfc_render$$(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsAccordionItem"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$V,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{"open-by-default":a.show,"control-id":`itinerary-day-${t.dayNumber}`,variant:"subtle","item-break-point":"lg",class:"vs-itinerary-day__list-item"},{title:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$G,[vue.createElementVNode("span",_hoisted_3$v,vue.toDisplayString(t.dayLabel)+" "+vue.toDisplayString(t.dayNumber),1),vue.createElementVNode("span",_hoisted_4$o,vue.toDisplayString(t.dayTitle),1)])]),"icon-open":vue.withCtx(()=>[vue.createVNode(s,{icon:"vs-icon-control-collapse",size:"lg",padding:3,class:"vs-itinerary-day__toggle-button"})]),"icon-closed":vue.withCtx(()=>[vue.createVNode(s,{icon:"vs-icon-control-expand",size:"lg",padding:3,class:"vs-itinerary-day__toggle-button"})]),default:vue.withCtx(()=>[vue.createElementVNode("div",{id:`dayPanel_${t.dayNumber}`,class:"vs-itinerary-day__panel"},[vue.createElementVNode("div",_hoisted_6$f,[vue.renderSlot(e.$slots,"day-transport"),vue.renderSlot(e.$slots,"day-introduction")]),vue.createElementVNode("ul",_hoisted_7$d,[vue.renderSlot(e.$slots,"stops")])],8,_hoisted_5$j)]),_:3},8,["open-by-default","control-id"])]),_:3})]),_:3})]),_:3})])}const ItineraryDay=LoadingSpinner._export_sfc(_sfc_main$1e,[["render",_sfc_render$$]]),_sfc_main$1d={name:"VsItineraryStop",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,VsBody:LoadingSpinner.VsBody,VsDetail},props:{stopLabel:{type:String,required:!0},stopNumber:{type:String,required:!0},stopTitle:{type:String,required:!0}}},_hoisted_1$U={class:"vs-itinerary-stop","data-test":"vs-itinerary-stop"},_hoisted_2$F={class:"vs-itinerary-stop__border"},_hoisted_3$u={class:"vs-itinerary-stop__header","data-test":"vs-itinerary-stop-heading"},_hoisted_4$n={class:"vs-itinerary-stop__marker"},_hoisted_5$i={class:"vs-itinerary-stop__count","aria-hidden":"true","data-test":"vs-itinerary-stop-marker"},_hoisted_6$e={class:"vs-itinerary-stop__details-container","data-chromatic":"ignore"},_hoisted_7$c={key:0,class:"vs-itinerary-stop__address","data-test":"vs-itinerary-stop-address"};function _sfc_render$_(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsDetail"),u=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$U,[vue.createElementVNode("div",_hoisted_2$F,[vue.createElementVNode("div",_hoisted_3$u,[vue.createElementVNode("div",_hoisted_4$n,[vue.createVNode(s,{icon:"fa-solid fa-location-pin",variant:"highlight",size:"xl"}),vue.createElementVNode("span",_hoisted_5$i,vue.toDisplayString(t.stopNumber),1)]),vue.createVNode(i,{level:"3","heading-style":"heading-s",class:"vs-itinerary-stop__title mb-025","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.stopLabel),1)]),_:1}),vue.createVNode(l,{class:"vs-itinerary-stop__detail","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.stopTitle),1)]),_:1})]),vue.renderSlot(e.$slots,"default"),vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stop-description")]),_:3}),vue.renderSlot(e.$slots,"stop-time-to-explore"),vue.renderSlot(e.$slots,"stop-tips"),vue.createElementVNode("div",_hoisted_6$e,[e.$slots["stop-address"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$c,[vue.renderSlot(e.$slots,"stop-address")])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"stop-info")]),vue.renderSlot(e.$slots,"stop-facilities")]),e.$slots["stop-buttons"]?vue.renderSlot(e.$slots,"stop-buttons",{key:0}):vue.createCommentVNode("",!0)])}const ItineraryStop=LoadingSpinner._export_sfc(_sfc_main$1d,[["render",_sfc_render$_]]),_sfc_main$1c={name:"VsItineraryStopInfo",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon,VsLink},props:{openingHours:{type:[String,Object],required:!1,default:null},openingTimesLink:{type:String,required:!1,default:null},closedText:{type:String,required:!0},closingSoonText:{type:String,required:!0},openText:{type:String,required:!0},usualText:{type:String,required:!0},provisionalText:{type:String,required:!0},temporarilyClosedText:{type:String,required:!0},toText:{type:String,required:!0},andText:{type:String,required:!0}},data(){return{openingMessage:"",currentDayData:{},currentTime:{},dayDataIndex:0,closedLongTerm:!1,ukDate:"",isCurrentTimeframe:!1,parsedHours:{}}},computed:{hoursMessage(){let e="";if(this.closedLongTerm)e=this.temporarilyClosedText;else if(this.currentDayData.length>0)switch(this.openingMessage){case"closed":e=this.closedText;break;case"closing soon":e=this.closingSoonText;break;case"open":e=this.openText;break;default:e=""}return e},provisionalMessage(){let e="";if(typeof this.currentDayData[0]<"u"){const n=this.currentDayData[0].state==="open"?this.openText:this.closedText;this.currentDayData[0].provisional?e=`${this.provisionalText} ${n.toLowerCase()} ${this.currentDayData[0].day}`:e=`${this.usualText} ${n.toLowerCase()} ${this.currentDayData[0].day}`,this.currentDayData[0].state!=="closed"&&typeof this.currentDayData[this.dayDataIndex]<"u"&&typeof this.currentDayData[this.dayDataIndex].startTime<"u"&&typeof this.currentDayData[this.dayDataIndex].endTime<"u"&&this.currentDayData[this.dayDataIndex].startTime!==""&&this.currentDayData[this.dayDataIndex].endTime!==""&&this.currentDayData.forEach((t,o)=>{e+=` ${t.startTime} ${this.toText} ${t.endTime}`,o+1<this.currentDayData.length&&(e+=` ${this.andText} `)})}return e}},created(){this.parseIncomingData(),this.getCurrentTime(),this.isActiveDate(),this.getCurrentHoursInfo()},methods:{parseIncomingData(){if(typeof this.openingHours!="object"){const e=this.openingHours.replace(/'/g,'"');this.parsedHours=JSON.parse(e)}else this.parsedHours=this.openingHours;this.parsedHours.closedLongTerm&&(this.closedLongTerm=!0)},getCurrentTime(){const e=new Date,n=e.toLocaleTimeString("en-GB",{timeZone:"Europe/London"});this.ukDate=e.toLocaleDateString("en-GB",{timeZone:"Europe/London"});const t=n.substring(0,2),o=n.substring(3,6),a=e.getDay();this.currentTime.hours=parseInt(t,10),this.currentTime.minutes=parseInt(o,10),this.currentTime.day=a},isActiveDate(){if(typeof this.parsedHours.period<"u"){const e=`${this.ukDate.substring(3,5)}/${this.ukDate.substring(0,2)}/${this.ukDate.substring(6,10)}`,n=new Date(this.parsedHours.period.startDay),t=new Date(this.parsedHours.period.endDay),o=new Date(e);o<t&&o>n?this.isCurrentTimeframe=!0:this.isCurrentTimeframe=!1}else this.isCurrentTimeframe=!0},getCurrentHoursInfo(){const e=this.returnDayName(this.currentTime.day);if(typeof this.parsedHours.days<"u"){const n=this.parsedHours.days.filter(t=>t.key===e);typeof n<"u"&&(this.currentDayData=n,this.compareTimes(this.currentTime,this.currentDayData,this.dayDataIndex))}},compareTimes(e,n,t){if(typeof n[t].startTime<"u"&&typeof n[t].endTime<"u"&&n[t].startTime.length>0&&n[t].endTime.length>0){const o=n[t].startTime,a=n[t].endTime,r=parseInt(o.substring(0,o.indexOf(":")),10),s=parseInt(o.substring(o.indexOf(":")+1,o.length),10),i=parseInt(a.substring(0,a.indexOf(":")),10),l=parseInt(a.substring(a.indexOf(":")+1,a.length),10),u=this.calculateClosingSoon(i,l);n[t].state==="closed"?this.openingMessage="closed":r>e.hours||r===e.hours&&s>e.minutes||i<e.hours||i===e.hours&&l<e.minutes?this.openingMessage="closed":this.withinClosingSoonTime(e,u)?this.openingMessage="closing soon":this.openingMessage="open",this.openingMessage==="closed"&&n.length>t+1&&(this.dayDataIndex+=1,this.compareTimes(this.currentTime,this.currentDayData,this.dayDataIndex))}else n[t].state==="closed"&&(this.openingMessage="closed")},returnDayName(e){let n="";switch(e){case 1:n="monday";break;case 2:n="tuesday";break;case 3:n="wednesday";break;case 4:n="thursday";break;case 5:n="friday";break;case 6:n="saturday";break;case 7:n="sunday";break;default:n=""}return n},calculateClosingSoon(e,n){let t,o;return n<30?(t=e-1,o=60+(n-30)):(t=e,o=n-30),{hours:t,mins:o}},withinClosingSoonTime(e,n){return!(n.hours>e.hours||n.hours===e.hours&&n.mins>e.minutes)}}},_hoisted_1$T={class:"vs-itinerary-stop-info","data-test":"vs-itinerary-stop-info"},_hoisted_2$E={key:0,class:"itinerary-stop-info__times mb-0","data-test":"vs-itinerary-stop-status"},_hoisted_3$t={key:1,"data-test":"vs-itinerary-stop-hours"},_hoisted_4$m={key:1,"data-test":"vs-stop-link"},_hoisted_5$h={key:2,"data-test":"vs-stop-charge-text"};function _sfc_render$Z(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$T,[vue.createVNode(s,{icon:"vs-icon-feedback-information",class:"vs-address__map-marker me-050"}),vue.createElementVNode("div",null,[a.isCurrentTimeframe?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[r.hoursMessage.length>0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$E,[vue.createTextVNode(vue.toDisplayString(r.hoursMessage),1),n[0]||(n[0]=vue.createElementVNode("br",null,null,-1))])):vue.createCommentVNode("",!0),!a.closedLongTerm&&typeof a.currentDayData[0]<"u"&&typeof a.currentDayData[0].state<"u"&&r.provisionalMessage.length>0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_3$t,vue.toDisplayString(r.provisionalMessage)+". ",1)):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),e.$slots["stop-link-text"]&&t.openingTimesLink!==null?(vue.openBlock(),vue.createElementBlock("p",_hoisted_4$m,[vue.createVNode(i,{href:t.openingTimesLink},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stop-link-text")]),_:3},8,["href"])])):vue.createCommentVNode("",!0),e.$slots["stop-charge-text"]?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$h,[vue.renderSlot(e.$slots,"stop-charge-text")])):vue.createCommentVNode("",!0)])])}const ItineraryStopInfo=LoadingSpinner._export_sfc(_sfc_main$1c,[["render",_sfc_render$Z]]),_sfc_main$1b={name:"VsItineraryTips",status:"prototype",release:"0.0.1",components:{},props:{}},_hoisted_1$S={class:"vs-itinerary-tips position-relative my-175"},_hoisted_2$D={class:"vs-itinerary-tips__text"},_hoisted_3$s={class:"vs-itinerary-tips__svg position-absolute"};function _sfc_render$Y(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$S,[vue.createElementVNode("div",_hoisted_2$D,[vue.renderSlot(e.$slots,"text")]),vue.createElementVNode("div",_hoisted_3$s,[vue.renderSlot(e.$slots,"svg")])])}const ItineraryTips=LoadingSpinner._export_sfc(_sfc_main$1b,[["render",_sfc_render$Y]]),_sfc_main$1a={name:"VsItineraryBorderOverlapWrapper",status:"prototype",release:"0.0.1",components:{},props:{}},_hoisted_1$R={class:"vs-itinerary-border-overlap__wrapper d-flex d-sm-inline-flex flex-column justify-content-start border-left"};function _sfc_render$X(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$R,[vue.renderSlot(e.$slots,"default")])}const ItineraryBorderOverlapWrapper=LoadingSpinner._export_sfc(_sfc_main$1a,[["render",_sfc_render$X]]),_sfc_main$19={name:"VsLinkList",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading},props:{toc:{type:Boolean,default:!1}},computed:{classes(){return{"link-list":!0,"link-list--toc":this.toc}},dataTest(){return this.toc?"link-list--toc":"link-list"},hasHeadingSlot(){return!!this.$slots.heading}}},_hoisted_1$Q=["data-test"],_hoisted_2$C={class:"link-list__list"};function _sfc_render$W(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(r.classes),"data-test":r.dataTest},[vue.createElementVNode("nav",null,[r.hasHeadingSlot?(vue.openBlock(),vue.createBlock(s,{key:0,level:"2","no-margins":"","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"heading")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("ul",_hoisted_2$C,[vue.renderSlot(e.$slots,"default")])])],10,_hoisted_1$Q)}const VsLinkList=LoadingSpinner._export_sfc(_sfc_main$19,[["render",_sfc_render$W]]),_sfc_main$18={name:"VsLinkListItem",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,default:null},type:{type:String,default:"default",validator:e=>e.match(/(default|external|internal|download|video)/)},videoId:{type:String,default:null},videoDescriptor:{type:String,default:null}},setup(){return{videoStore:useVideoStore()}},computed:{formattedVideoDuration(){if(this.videoDetails){let e=`${this.videoDetails.videoFullDuration.seconds}`;return e.length===1&&(e=`0${e}`),`${this.videoDetails.videoFullDuration.minutes}:${e}`}return""},videoDetails(){return this.videoStore.videos[this.videoId]},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0}},methods:{emitShowModal(){this.videoId&&this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$P={class:"link-list-item"};function _sfc_render$V(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$P,[vue.createVNode(s,{href:t.href,type:t.type==="video"?"default":t.type,role:t.type==="video"?"button":null,onClick:r.emitShowModal},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default"),t.type==="video"&&r.videoLoaded?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(" | "+vue.toDisplayString(t.videoDescriptor)+" "+vue.toDisplayString(r.formattedVideoDuration),1)],64)):vue.createCommentVNode("",!0)]),_:3},8,["href","type","role","onClick"])])}const LinkListItem=LoadingSpinner._export_sfc(_sfc_main$18,[["render",_sfc_render$V]]),_sfc_main$17={name:"VsListicleItem",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsBody:LoadingSpinner.VsBody,VsDetail},props:{index:{type:String,default:""},title:{type:String,default:""},subTitle:{type:String,default:""}},computed:{hasKeyFacilitiesSlot(){return!!this.$slots["facilities-slot"]}}},_hoisted_1$O={class:"vs-listicle-item border","data-test":"vs-listicle-item"},_hoisted_2$B={class:"vs-listicle-item__header","data-test":"vs-listicle-item-heading"},_hoisted_3$r={class:"count__bg"},_hoisted_4$l={class:"count","aria-hidden":"true"};function _sfc_render$U(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsDetail"),l=vue.resolveComponent("VsBody"),u=vue.resolveComponent("VsCol"),c=vue.resolveComponent("VsRow");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$O,[vue.renderSlot(e.$slots,"hippo-details"),vue.createElementVNode("div",_hoisted_2$B,[vue.createElementVNode("div",_hoisted_3$r,[vue.createElementVNode("span",_hoisted_4$l,vue.toDisplayString(t.index),1)]),vue.createVNode(s,{level:"2","heading-style":"heading-s",class:"vs-listicle-item__title mb-025","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1}),vue.createVNode(i,{class:"vs-listicle-item__detail","no-margins":""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subTitle),1)]),_:1})]),vue.renderSlot(e.$slots,"image-slot"),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"12",lg:"8",class:"mt-050 mt-sm-300 mb-100 mt-lg-050 pe-lg-300"},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"description-slot")]),_:3})]),_:3}),vue.createVNode(u,{cols:"12",lg:"4",class:vue.normalizeClass(["key-facilities-list mt-lg-400",[r.hasKeyFacilitiesSlot?"has-facilities":""]])},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"facilities-slot")]),_:3},8,["class"])]),_:3})])}const ListicleItem=LoadingSpinner._export_sfc(_sfc_main$17,[["render",_sfc_render$U]]),__vite_import_meta_env__={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var define_process_env_default$2={};const getEnvValue=e=>define_process_env_default$2?define_process_env_default$2[e]:__vite_import_meta_env__[e],_sfc_main$16={name:"VsSelect",status:"prototype",release:"0.0.1",components:{BFormSelect:LoadingSpinner.Lu},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{options:{type:Array,required:!0},fieldName:{type:String,required:!0},value:{type:String,default:""},validationRules:{type:Object,default(){return{}}},triggerValidate:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},countryListUrl:{type:String,default:""},hintText:{type:String,default:""},countries:{type:Boolean,default:!1},genericValidation:{type:Object,default(){return{}}},reAlertErrors:{type:Boolean,default:!1}},emits:["toggleAction","updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,touched:!1,countryList:[]}},computed:{errorClass(){return this.errorsList.length>0&&this.v$.inputVal&&this.v$.inputVal.$anyDirty||this.invalid?"vs-select__element--error":""},fieldOptions(){return this.countries?this.countryList:this.options}},watch:{inputVal(e){this.emitStatus(),this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e},triggerValidate(){this.manualValidate()}},beforeMount(){this.countries&&LoadingSpinner.axios.get(this.countryListUrl).then(e=>{this.countryList=e.data.countries})},methods:{autocompleteValue(e){let n;switch(e){case"Country":n="country-name";break;default:n="on";break}return n}},validations(){return this.rules}},_hoisted_1$N={class:"vs-select"},_hoisted_2$A=["id"],_hoisted_3$q=["id"],_hoisted_4$k={class:"visually-hidden"},_hoisted_5$g={class:"vs-select__container mt-050"};function _sfc_render$T(e,n,t,o,a,r){const s=vue.resolveComponent("BFormSelect");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$N,[vue.createElementVNode("p",{class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$A),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:0,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,i=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:i,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$k,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors]])),128))],8,_hoisted_3$q)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$g,[vue.createVNode(s,vue.mergeProps({modelValue:a.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>a.inputVal=i)},e.$attrs,{options:r.fieldOptions,name:t.fieldName,id:t.fieldName,onChange:e.emitStatus,onBlur:e.emitStatus,"data-test":"vs-select","data-testid":"vs-select",class:["vs-select__element",r.errorClass],required:e.isRequired,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,autocomplete:r.autocompleteValue(t.fieldName)}),null,16,["modelValue","options","name","id","onChange","onBlur","required","aria-invalid","aria-describedby","class","autocomplete"]),n[1]||(n[1]=vue.createElementVNode("span",{class:"vs-select__focus"},null,-1))])])}const VsSelect=LoadingSpinner._export_sfc(_sfc_main$16,[["render",_sfc_render$T]]);function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},_extends.apply(this,arguments)}var defer=function e(){var n=!1,t=[],o=function(){if(!n){n=!0;for(var i=0,l=t.length;i<l;i++)t[i]()}},a=function(i){if(!n){t.push(i);return}i()},r={resolved:function(){return n},resolve:o,promise:{then:a}};return r},ownProp=Object.prototype.hasOwnProperty;function createRecaptcha(){var e=defer();return{notify:function(){e.resolve()},wait:function(){return e.promise},render:function(t,o,a){this.wait().then(function(){a(window.grecaptcha.render(t,o))})},reset:function(t){typeof t>"u"||(this.assertLoaded(),this.wait().then(function(){return window.grecaptcha.reset(t)}))},execute:function(t){typeof t>"u"||(this.assertLoaded(),this.wait().then(function(){return window.grecaptcha.execute(t)}))},checkRecaptchaLoad:function(){ownProp.call(window,"grecaptcha")&&ownProp.call(window.grecaptcha,"render")&&this.notify()},assertLoaded:function(){if(!e.resolved())throw new Error("ReCAPTCHA has not been loaded")}}}var recaptcha=createRecaptcha();typeof window<"u"&&(window.vueRecaptchaApiLoaded=recaptcha.notify);var Recaptcha=vue.defineComponent({name:"VueRecaptcha",props:{sitekey:{type:String,required:!0},theme:{type:String},badge:{type:String},type:{type:String},size:{type:String},tabindex:{type:String},loadRecaptchaScript:{type:Boolean,default:!0},recaptchaScriptId:{type:String,default:"__RECAPTCHA_SCRIPT"},recaptchaHost:{type:String,default:"www.google.com"},language:{type:String,default:""}},emits:["render","verify","expired","error"],setup:function e(n,t){var o=t.slots,a=t.emit,r=vue.ref(null),s=vue.ref(null),i=function(d){a("verify",d)},l=function(){a("expired")},u=function(){a("error")};return vue.onMounted(function(){if(recaptcha.checkRecaptchaLoad(),n.loadRecaptchaScript&&!document.getElementById(n.recaptchaScriptId)){var c=document.createElement("script");c.id=n.recaptchaScriptId,c.src="https://"+n.recaptchaHost+"/recaptcha/api.js?onload=vueRecaptchaApiLoaded&render=explicit&hl="+n.language,c.async=!0,c.defer=!0,document.head.appendChild(c)}var d=_extends({},n,{callback:i,"expired-callback":l,"error-callback":u}),v=r.value,m=o.default?v.children[0]:v;recaptcha.render(m,d,function(f){s.value=f,a("render",f)})}),{root:r,widgetId:s,reset:function(){recaptcha.reset(s.value)},execute:function(){recaptcha.execute(s.value)}}},render:function e(){var n=this.$slots.default,t;return typeof n=="function"?t=n():t=n,vue.h("div",{ref:"root"},t)}});const _sfc_main$15={name:"VsRecaptcha",status:"prototype",release:"0.0.1",components:{VueRecaptcha:Recaptcha},props:{siteKey:{type:String,default:""},invalid:{type:Boolean,default:!1},language:{type:String,default:"en"},errorMsg:{type:String,default:""},textareaLabel:{type:String,default:"Does not need any text"},reAlertErrors:{type:Boolean,default:!1}},emits:["verified"],data(){return{response:null,recaptchaSiteKey:""}},created(){this.siteKey?this.recaptchaSiteKey=this.siteKey:this.recaptchaSiteKey=getEnvValue("RECAPTCHA_TOKEN")},methods:{verified(e){this.$emit("verified",e)},render(){const e=document.querySelectorAll('[id^="g-recaptcha-response"]');if(e.length){const n=e[0].parentNode,t=document.querySelector('label[for="g-recaptcha-response"]'),o=document.createElement("label");o.setAttribute("for","g-recaptcha-response"),o.setAttribute("class","visually-hidden"),o.textContent=this.textareaLabel,t||n.insertBefore(o,e[0])}}}},_hoisted_1$M={class:"vs-recaptcha","aria-live":"assertive"},_hoisted_2$z={key:0,class:"error"};function _sfc_render$S(e,n,t,o,a,r){const s=vue.resolveComponent("VueRecaptcha");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$M,[t.invalid&&!t.reAlertErrors?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$z,vue.toDisplayString(t.errorMsg),1)):vue.createCommentVNode("",!0),a.recaptchaSiteKey?(vue.openBlock(),vue.createBlock(s,{key:1,sitekey:a.recaptchaSiteKey,onVerify:r.verified,onRender:r.render,class:vue.normalizeClass(["vs-recaptcha__embed",t.invalid?"vs-recaptcha__embed--error":""]),language:t.language},null,8,["sitekey","onVerify","onRender","class","language"])):vue.createCommentVNode("",!0)])}const VsRecaptcha=LoadingSpinner._export_sfc(_sfc_main$15,[["render",_sfc_render$S]]),_sfc_main$14={name:"VsTextarea",status:"prototype",release:"0.0.1",components:{BFormTextarea:LoadingSpinner.ld},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},name:{type:String,default:""},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},placeholder:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1},rows:{type:Number||String,default:2}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){let e="";return(this.isInvalid||this.errorsList.length)&&(e="vs-input--error"),`${`vs-input--${this.fieldName}`} ${e}`}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},autocompleteValue(){return this.autoComplete?"on":"off"},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0}},validations(){return this.rules}},_hoisted_1$L={"data-test":"vs-textarea"},_hoisted_2$y=["id"],_hoisted_3$p=["id"],_hoisted_4$j={class:"visually-hidden"};function _sfc_render$R(e,n,t,o,a,r){const s=vue.resolveComponent("BFormTextarea");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$L,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$y)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,i=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:i,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$j,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors&&!a.clearErrorsOnFocus]])),128))],8,_hoisted_3$p)):vue.createCommentVNode("",!0),vue.createVNode(s,{ref:"input",class:vue.normalizeClass(["vs-textarea",r.elementClass]),modelValue:a.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>a.inputVal=i),id:t.fieldName,name:t.name?t.name:t.fieldName,placeholder:t.placeholder,required:e.isRequired,autocomplete:r.autocompleteValue(t.fieldName),v:a.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,disabled:t.disabled,rows:t.rows,onBlur:r.validateErrors,onChange:r.validateErrors,onFocus:r.resetErrors},null,8,["class","modelValue","id","name","placeholder","required","autocomplete","v","aria-invalid","aria-describedby","disabled","rows","onBlur","onChange","onFocus"])])}const VsTextarea=LoadingSpinner._export_sfc(_sfc_main$14,[["render",_sfc_render$R]]),_sfc_main$13={name:"VsForm",status:"prototype",release:"0.0.1",components:{VsInput,VsSelect,VsCheckbox,BFormGroup:LoadingSpinner.ku,VsRecaptcha,VsButton:LoadingSpinner.VsButton,VsHeading:LoadingSpinner.VsHeading,VsWarning:LoadingSpinner.VsWarning,VsTextarea},mixins:[LoadingSpinner.dataLayerMixin],props:{isMarketo:{type:Boolean,default:!0},submissionType:{type:String,default:"breg"},submitUrl:{type:String,default:""},dataUrl:{type:String,required:!0},usesRecaptcha:{type:Boolean,default:!0},recaptchaKey:{type:String,default:getEnvValue("RECAPTCHA_TOKEN")},recaptchaTextareaLabel:{type:String,default:"Does not need any text"},isProd:{type:Boolean,default:!1},munchkinId:{type:String,default:""},marketoInstance:{type:String,default:""},language:{type:String,default:"en"},messagingUrl:{type:String,required:!0},countryListUrl:{type:String,default:""},isTest:{type:Boolean,default:!0},consentList:{type:Array,required:!1,default:null}},data(){return{submitted:!1,submitting:!1,submitError:!1,formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,recaptchaVerified:!1,conditionalFields:{},inputVal:"",reAlertErrors:!1,emailFieldName:""}},computed:{formId(){return this.isProd?this.formData.formLiveId:this.formData.formSandboxId},showFormHeading(){return!this.isUndefined(this.getTranslatedContent)&&!this.isUndefined(this.getTranslatedContent("heading"))}},created(){this.getFormData(),this.getGlobalMessaging()},methods:{getFormData(){LoadingSpinner.axios.get(this.dataUrl).then(e=>{this.formData=e.data,this.isMarketo&&window.MktoForms2&&window.MktoForms2.loadForm(this.marketoInstance,this.munchkinId,this.formId),e.data.fields.forEach(n=>{this.form[n.name]="",n.conditional&&(this.conditionalFields[n.name]=!1)}),this.checkConditionalFields()}).catch(()=>{})},getGlobalMessaging(){LoadingSpinner.axios.get(this.messagingUrl).then(e=>{this.messagingData=e.data}).catch(()=>{})},getLanguageObj(){let e;return this.isUndefined(this.formData[this.language])?e={}:e=this.formData[this.language]||void 0,e},getTranslatedLabel(e,n){const t=this.getLanguageObj();let o="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].label)?o=t[e].label:o=this.formData.fields[n].label,this.showOptionalText(this.formData.fields[n])&&!this.isUndefined(this.getMessagingData("optional",this.language))&&(o=`${o} (${this.getMessagingData("optional",this.language)})`),o},getTranslatedLegend(e,n){const t=this.getLanguageObj();let o="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].descriptor)?o=t[e].descriptor:o=this.formData.fields[n].descriptor,o},getTranslatedInfo(e,n){const t=this.getLanguageObj();let o="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].info)?o=t[e].info:o=this.formData.fields[n].info,o},getTranslatedValidation(e,n){const t=this.getLanguageObj();let o;return this.language==="en"&&!this.isUndefined(this.formData.fields[n].validationMessages)?o=this.formData.fields[n].validationMessages:!this.isUndefined(t[e])&&!this.isUndefined(t[e].validationMessages)?o=t[e].validationMessages:this.language==="en"&&(o=this.formData.fields[n].validationMessages),o},getTranslatedOptions(e,n){const t=this.getLanguageObj();let o=[];return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined([e].options)?o=t[e].options:o=this.formData.fields[n].options,typeof o>"u"&&(o=[]),o},getTranslatedHint(e,n){const t=this.getLanguageObj();let o="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].hint)?o=t[e].hint:this.isUndefined(this.formData.fields[n].hint)?o="":o=this.formData.fields[n].hint,o},getTranslatedContent(e){let n;const t=this.getLanguageObj();return this.language==="en"&&!this.isUndefined(this.formData.content)&&!this.isUndefined(this.formData.content[e])?n=this.formData.content[e]:!this.isUndefined(t.content)&&!this.isUndefined(t.content[e])?n=t.content[e]:n=this.getMessagingData(e,this.language),n},getMessagingData(e,n){return Object.keys(this.messagingData).length>0?this.messagingData[n][e]:e==="validation"?{}:""},getHiddenFields(){return[...this.$el.querySelectorAll("input[type=hidden]")].map(this.parseBooleanStringsFromInputField).reduce((e,n)=>(e[n.name]=n.value,e),{})},parseBooleanStringsFromInputField(e){let n=e.value;return n==="true"?n=!0:n==="false"&&(n=!1),{name:e.name,value:n}},isUndefined(e){return typeof e>"u"},updateFieldData(e){this.form[e.field]=e.value||"",Array.isArray(e.errors)?this.formIsInvalid=e.errors.length>0:this.formIsInvalid=e.errors!==null,this.manageErrorStatus(e.field,e.errors),this.checkConditionalFields()},manageErrorStatus(e,n){const t=this.errorFields.indexOf(e);t!==-1?(!n||n.length<1)&&this.errorFields.splice(t,1):n&&n.length>0&&this.errorFields.push(e)},showOptionalText(e){return!!(this.isUndefined(e.validation)||this.isUndefined(e.validation.required))},needsLabel(e){return!(e.element==="radio"||e.element==="submit"||e.element==="checkbox")},preSubmit(e){e.preventDefault(),this.submitError=!1;function n(o){return o.validation&&o.validation.required}this.usesRecaptcha&&!this.isTest&&this.onRecaptchaVerify(),this.triggerValidate=!0;const t=this.formData.fields.filter(n);t.length===0?this.formIsInvalid=!1:t.forEach(o=>{if(!/\S/.test(this.form[o.name])){let a=!0;o.name in this.conditionalFields&&!this.conditionalFields[o.name]&&(a=!1),this.formIsInvalid=a}}),this.showErrorMessage=this.formIsInvalid,Object.entries(this.conditionalFields).forEach(([o,a])=>{a||(this.form[o]="")}),this.errorFields.length>0&&(this.formIsInvalid=!0),!this.formIsInvalid&&(this.recaptchaVerified||!this.usesRecaptcha)?this.isMarketo?this.marketoSubmit():this.axiosSubmit():(this.showErrorMessage=!0,this.reAlertErrors=!0,setTimeout(()=>{this.reAlertErrors=!1},100))},marketoSubmit(){this.createDataLayerObject("formsDataEvent");const e=window.MktoForms2.allForms()[0];e.addHiddenFields(this.form),window.grecaptcha&&e.addHiddenFields({lastReCAPTCHAUserFingerprint:window.grecaptcha.getResponse(),lastRecaptchaEnabledFormID:this.formId}),e.onSuccess(()=>(this.submitting=!1,this.submitted=!0,!1)),e.onSubmit(()=>{this.submitting=!0}),e.submit()},axiosSubmit(){this.createDataLayerObject("formsDataEvent"),this.submitting=!0;let e="";window.grecaptcha&&(e=window.grecaptcha.getResponse());const n=this.getHiddenFields();LoadingSpinner.axios.post(this.submitUrl,{...this.form,...n,formType:this.formData.content?this.formData.content.formType:"","g-recaptcha-response":e,consentList:this.consentList}).then(()=>(this.submitting=!1,this.submitted=!0,this.attachEmail(),!1)).catch(()=>(this.submitError=!0,!1))},attachEmail(){this.submissionType&&this.submissionType==="breg"&&(this.formData.fields.forEach(e=>{e.type==="email"&&!this.emailFieldName&&(this.emailFieldName=e.name)}),this.emailFieldName&&typeof exponea<"u"&&exponea.identify({email_id:this.form[this.emailFieldName]},{},()=>{},()=>{},!0))},onRecaptchaVerify(){window.grecaptcha&&typeof window.grecaptcha.getResponse=="function"&&window.grecaptcha.getResponse()!==""?this.recaptchaVerified=!0:this.recaptchaVerified=!1},checkConditionalFields(){Object.keys(this.conditionalFields).forEach(e=>{const n=this.formData.fields.find(o=>o.name===e);let t=!0;Object.keys(n.conditional).forEach(o=>{const a=n.conditional[o];Array.isArray(a)?a.indexOf(this.form[o])===-1&&(t=!1):this.form[o]!==a&&(t=!1),t?this.conditionalFields[e]||(this.conditionalFields[e]=!0,this.$refs[e]&&this.$refs[e][0].manualValidate()):(this.manageErrorStatus(e,[]),this.conditionalFields[e]=!1)})})},conditionalElementClass(e){return this.conditionalFields[e]===!0||typeof this.conditionalFields[e]>"u"?"":"d-none"}}},_hoisted_1$K={class:"vs-form","data-test":"vs-form"},_hoisted_2$x={class:"vs-form__main-heading vs-heading vs-heading--heading-l float-none","data-test":"vs-form__main-heading"},_hoisted_3$o={key:0},_hoisted_4$i={"aria-live":"assertive"},_hoisted_5$f={key:0},_hoisted_6$d=["innerHTML"],_hoisted_7$b={key:2,class:"mt-200"};function _sfc_render$Q(e,n,t,o,a,r){const s=vue.resolveComponent("VsInput"),i=vue.resolveComponent("VsSelect"),l=vue.resolveComponent("VsCheckbox"),u=vue.resolveComponent("VsTextarea"),c=vue.resolveComponent("BFormGroup"),d=vue.resolveComponent("VsRecaptcha"),v=vue.resolveComponent("VsButton"),m=vue.resolveComponent("VsWarning"),f=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$K,[n[1]||(n[1]=vue.createElementVNode("form",{class:"d-none"},null,-1)),a.submitted?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("form",{key:0,onSubmit:n[0]||(n[0]=vue.withModifiers((...p)=>r.preSubmit&&r.preSubmit(...p),["prevent"]))},[vue.createElementVNode("fieldset",null,[vue.createElementVNode("legend",_hoisted_2$x,vue.toDisplayString(r.getTranslatedContent("heading")),1),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.formData.fields,(p,g)=>(vue.openBlock(),vue.createBlock(c,{key:p.name,label:r.needsLabel(p)?r.getTranslatedLabel(p.name,g):"","label-for":r.needsLabel(p)?p.name:"",class:vue.normalizeClass(r.conditionalElementClass(p.name))},{default:vue.withCtx(()=>[!r.isUndefined(p.descriptor)&&p.element==="checkbox"?(vue.openBlock(),vue.createElementBlock("legend",_hoisted_3$o,vue.toDisplayString(r.getTranslatedLegend(p.name,g)),1)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(r.conditionalElementClass(p.name))},[p.element==="input"?(vue.openBlock(),vue.createBlock(s,{key:0,ref_for:!0,ref:p.name,onStatusUpdate:r.updateFieldData,"field-name":p.name,type:p.type,"validation-rules":p.validation||{},"validation-messages":r.getTranslatedValidation(p.name,g)||{},"generic-validation":r.getMessagingData("validation",t.language),invalid:a.errorFields.indexOf(p.name)>-1,"trigger-validate":a.triggerValidate,"hint-text":r.getTranslatedHint(p.name,g),placeholder:p.placeholder||"","re-alert-errors":a.reAlertErrors},null,8,["onStatusUpdate","field-name","type","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors"])):vue.createCommentVNode("",!0),p.element==="select"?(vue.openBlock(),vue.createBlock(i,{key:1,options:r.getTranslatedOptions(p.name,g),ref_for:!0,ref:p.name,onStatusUpdate:r.updateFieldData,"field-name":p.name,"validation-rules":p.validation||{},"validation-messages":r.getTranslatedValidation(p.name,g)||{},"generic-validation":r.getMessagingData("validation",t.language),invalid:a.errorFields.indexOf(p.name)>-1,"trigger-validate":a.triggerValidate,"country-list-url":t.countryListUrl,countries:p.countries,"hint-text":r.getTranslatedHint(p.name,g),"re-alert-errors":a.reAlertErrors},null,8,["options","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","country-list-url","countries","hint-text","re-alert-errors"])):vue.createCommentVNode("",!0),p.element==="checkbox"?(vue.openBlock(),vue.createBlock(l,{key:p.name,ref_for:!0,ref:p.name,name:p.name,value:p.value,label:r.getTranslatedLabel(p.name,g),onStatusUpdate:r.updateFieldData,"field-name":p.name,"validation-rules":p.validation||{},"validation-messages":r.getTranslatedValidation(p.name,g)||{},"generic-validation":r.getMessagingData("validation",t.language),invalid:a.errorFields.indexOf(p.name)>-1,"trigger-validate":a.triggerValidate,"optional-text":r.getMessagingData("optional",t.language),"hint-text":r.getTranslatedHint(p.name,g),"info-text":r.getTranslatedInfo(p.name,g),"re-alert-errors":a.reAlertErrors},null,8,["name","value","label","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","optional-text","hint-text","info-text","re-alert-errors"])):vue.createCommentVNode("",!0),p.element==="textarea"?(vue.openBlock(),vue.createBlock(u,{key:3,ref_for:!0,ref:p.name,onStatusUpdate:r.updateFieldData,"field-name":p.name,"validation-rules":p.validation||{},"validation-messages":r.getTranslatedValidation(p.name,g)||{},"generic-validation":r.getMessagingData("validation",t.language),invalid:a.errorFields.indexOf(p.name)>-1,"trigger-validate":a.triggerValidate,"hint-text":r.getTranslatedHint(p.name,g),placeholder:p.placeholder||"","re-alert-errors":a.reAlertErrors,rows:p.rows||null},null,8,["onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors","rows"])):vue.createCommentVNode("",!0)],2)]),_:2},1032,["label","label-for","class"]))),128))]),vue.renderSlot(e.$slots,"hidden-fields"),t.usesRecaptcha?(vue.openBlock(),vue.createBlock(d,{key:0,onVerified:r.onRecaptchaVerify,"site-key":t.recaptchaKey,invalid:!a.recaptchaVerified&&a.showErrorMessage,language:t.language,"error-msg":r.getMessagingData("recaptchaError",t.language),class:"mt-300","textarea-label":t.recaptchaTextareaLabel,"re-alert-errors":a.reAlertErrors},null,8,["onVerified","site-key","invalid","language","error-msg","textarea-label","re-alert-errors"])):vue.createCommentVNode("",!0),vue.createVNode(v,{variant:"primary",type:"submit",class:"vs-form__submit mt-300",onClick:r.preSubmit},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.getTranslatedContent("submit")),1)]),_:1},8,["onClick"])],32)),vue.createVNode(m,{class:"vs-form__no-js"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"no-js")]),_:3}),vue.createElementVNode("div",_hoisted_4$i,[a.submitting?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$f,[vue.renderSlot(e.$slots,"submitting")])):vue.createCommentVNode("",!0),a.submitted?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[r.getTranslatedContent("successHeading")?(vue.openBlock(),vue.createBlock(f,{key:0,level:"2","heading-style":"heading-l"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.getTranslatedContent("successHeading")),1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("p",{class:"vs-form__content",innerHTML:r.getTranslatedContent("successContent")},null,8,_hoisted_6$d)],64)):vue.createCommentVNode("",!0),a.submitError?(vue.openBlock(),vue.createElementBlock("p",_hoisted_7$b,[vue.renderSlot(e.$slots,"submit-error")])):vue.createCommentVNode("",!0)])])}const Form=LoadingSpinner._export_sfc(_sfc_main$13,[["render",_sfc_render$Q]]),_sfc_main$12={name:"VsMegaNavTopMenu",status:"prototype",release:"0.1.0",components:{VsList},inject:["isStatic"]};function _sfc_render$P(e,n,t,o,a,r){const s=vue.resolveComponent("VsList");return vue.openBlock(),vue.createBlock(s,{unstyled:"",class:"vs-mega-nav-top-menu","data-test":"vs-mega-nav-top-menu",role:"menubar"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})}const VsMegaNavTopMenu=LoadingSpinner._export_sfc(_sfc_main$12,[["render",_sfc_render$P]]),_sfc_main$11={name:"VsMegaNavMobileMenu",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],mounted(){this.emitter&&this.emitter.on("navAccordionClick",e=>{this.dataLayerSubmit(e)})},methods:{dataLayerSubmit(e){const n={target:{text:e}};this.createDataLayerObject("menuNavigationDataEvent",n,null)}}},_hoisted_1$J={class:"mega-nav-mobile-menu","data-test":"vs-mega-nav-mobile-menu"};function _sfc_render$O(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$J,[vue.renderSlot(e.$slots,"default")])}const VsMegaNavMobileMenu=LoadingSpinner._export_sfc(_sfc_main$11,[["render",_sfc_render$O]]),_sfc_main$10={name:"VsSiteSearch",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton},props:{isShowing:{type:Boolean,default:!1}},emits:["toggleAction"],data(){return{showSearchForm:!0}},methods:{toggleAction(){this.showSearchForm=!this.showSearchForm,this.$emit("toggleAction",this.showSearchForm)}}},_hoisted_1$I={class:"visually-hidden-xxl-down"};function _sfc_render$N(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createBlock(s,{"data-test":"vs-site-search",class:vue.normalizeClass(["vs-site-search",t.isShowing?"vs-site-search--active":""]),icon:"vs-icon-control-search",size:"md",animate:!1,onClick:r.toggleAction,id:"site-search-btn",rounded:!1},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$I,[vue.renderSlot(e.$slots,"default")])]),_:3},8,["class","onClick"])}const VsSiteSearch=LoadingSpinner._export_sfc(_sfc_main$10,[["render",_sfc_render$N]]),_sfc_main$$={name:"VsSiteSearchForm",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon,VsInput,VsButton:LoadingSpinner.VsButton,VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer},props:{isShowing:{type:Boolean,default:!1},labelText:{type:String,default:""},submitButtonText:{type:String,default:""},closeButtonText:{type:String,default:""}},emits:["toggleAction"],data(){return{searchTerm:"",showSearchForm:!0}},watch:{isShowing(e){e&&this.focusOnInput()}},methods:{focusOnInput(){this.$nextTick(()=>this.$refs.searchInput.$refs.input.focus())},tabFromClose(e){e.shiftKey||this.closeSearchForm()},updateVal(e){this.searchTerm=e.value},onSubmit(e){this.searchTerm===""&&e.preventDefault()},closeSearchForm(){this.$emit("toggleAction",this.showSearchForm)}}},_hoisted_1$H={key:0,class:"vs-site-search-form","data-test":"vs-site-search-form"},_hoisted_2$w={class:"cludo-input-form d-flex pe-075 align-items-start",role:"search",id:"cludo-search-input"},_hoisted_3$n={class:"d-flex flex-column flex-grow-1 position-relative"},_hoisted_4$h={for:"site-search",class:"vs-site-search-form__label"},_hoisted_5$e={class:"visually-hidden"};function _sfc_render$M(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsInput"),l=vue.resolveComponent("VsButton"),u=vue.resolveComponent("VsCol"),c=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer");return a.showSearchForm?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$H,[vue.createVNode(d,{fluid:"lg"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"12"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$w,[vue.createElementVNode("div",_hoisted_3$n,[vue.createElementVNode("label",_hoisted_4$h,[vue.createElementVNode("span",_hoisted_5$e,vue.toDisplayString(t.labelText),1),vue.createVNode(s,{icon:"vs-icon-control-search",size:"xs"})]),vue.createVNode(i,{class:"vs-site-search-form__input cludo-input-form__input",ref:"searchInput",name:"searchrequest",type:"search","field-name":"site-search",placeholder:t.labelText,"auto-complete":!1,onUpdated:r.updateVal},null,8,["placeholder","onUpdated"])]),vue.createVNode(l,{type:"submit",class:"vs-site-search-form__search-button cludo-input-form__search-button",variant:"primary",size:"lg",rounded:!1,onClick:r.closeSearchForm},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.submitButtonText),1)]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1}),vue.createVNode(l,{class:"vs-site-search-form__close-button d-none d-lg-block",variant:"subtle",icon:"vs-icon-control-dismiss",size:"md","icon-only":"",onClick:r.closeSearchForm,onKeydown:vue.withKeys(r.tabFromClose,["tab"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeButtonText),1)]),_:1},8,["onClick","onKeydown"])])):vue.createCommentVNode("",!0)}const VsSiteSearchForm=LoadingSpinner._export_sfc(_sfc_main$$,[["render",_sfc_render$M]]),clickOutside={mounted(e,n){e.clickOutsideEvent=t=>{e===t.target||e.contains(t.target)||n.value(t)},document.body.addEventListener("click",e.clickOutsideEvent)},unmounted(e){document.body.removeEventListener("click",e.clickOutsideEvent)}},_sfc_main$_={name:"VsMegaNav",status:"deprecated",release:"0.1.0",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsSvgLink,VsMegaNavTopMenu,VsMegaNavMobileMenu,VsSiteSearch,VsSiteSearchForm,VsButton:LoadingSpinner.VsButton},directives:{clickOutside},mixins:[LoadingSpinner.dataLayerMixin],provide(){return{isStatic:this.isStatic}},props:{href:{type:String,required:!0},menuToggleAltText:{type:String,required:!0},logoAltText:{type:String,default:"VisitScotland Home"},searchButtonText:{type:String,required:!0},searchLabelText:{type:String,default:"What are you looking for?"},searchClearButtonText:{type:String,default:"Clear form"},searchCloseButtonText:{type:String,default:"Close search form"},mapButtonText:{type:String,default:void 0},noSearch:{type:Boolean,default:!1},searchLink:{type:String,default:void 0},mapLink:{type:String,default:void 0},isStatic:{type:Boolean,default:!1}},data(){return{isOpen:!1,showSearch:!1,tokens:LoadingSpinner.designTokens}},mounted(){this.addTabClose()},methods:{menuToggle(){this.isOpen=!this.isOpen},toggleSearch(){this.showSearch=!this.showSearch},closeMenu(e){const n=document.getElementsByClassName("vs-mega-nav__menu-mobile")[0];this.isOpen&&!n.contains(e.target)&&(this.isOpen=!1)},addTabClose(){document.body.addEventListener("focusin",e=>{this.isOpen&&(e.target.closest("#vs-mega-nav__menu-mobile")||(this.isOpen=!1))})}}},_hoisted_1$G={class:"vs-mega-nav bg-white","aria-label":"main nav","data-test":"vs-mega-nav",id:"main-nav"},_hoisted_2$v={class:"visually-hidden-xxl-down"},_hoisted_3$m={class:"vs-mega-nav__menu-mobile d-lg-none",id:"vs-mega-nav__menu-mobile","data-test":"vs-mega-nav-mobile-container"};function _sfc_render$L(e,n,t,o,a,r){const s=vue.resolveComponent("VsSvgLink"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsMegaNavTopMenu"),u=vue.resolveComponent("VsButton"),c=vue.resolveComponent("VsSiteSearch"),d=vue.resolveComponent("VsMegaNavMobileMenu"),v=vue.resolveComponent("VsRow"),m=vue.resolveComponent("VsContainer"),f=vue.resolveComponent("VsSiteSearchForm"),p=vue.resolveDirective("click-outside");return vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("nav",_hoisted_1$G,[vue.createVNode(m,{fluid:"lg",class:"h-100"},{default:vue.withCtx(()=>[vue.createVNode(v,{class:"align-items-center h-100 vs-mega-nav__main-row"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"7",md:"4",lg:"3"},{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[vue.createVNode(s,{class:"vs-mega-nav__logo","data-test":"vs-mega-nav__logo","link-alt-text":t.logoAltText,href:t.href,"svg-fill":a.tokens["vs-color-background-brand"],"svg-path":"visitscotland-logo","data-layer-value":"homePageLogoClickDataEvent"},null,8,["link-alt-text","href","svg-fill"])])]),_:1}),vue.createVNode(i,{cols:"4",md:"6",lg:t.noSearch?7:5,class:"vs-mega-nav__menu d-none d-lg-block"},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"mega-nav-top-menu-items")]),_:3})]),_:3},8,["lg"]),vue.createVNode(i,{cols:"5",md:"8",lg:"4",class:"justify-content-end align-items-center position-static d-flex h-100"},{default:vue.withCtx(()=>[t.mapButtonText&&t.mapLink?(vue.openBlock(),vue.createBlock(u,{key:0,variant:"subtle",icon:"fa-regular fa-map","icon-only":"",size:"md",rounded:!1,href:t.mapLink,class:"vs-mega-nav__map-button d-flex","data-test":"vs-mega-nav__map-button"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.mapButtonText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),!t.noSearch&&!t.searchLink?(vue.openBlock(),vue.createBlock(c,{key:1,onToggleAction:r.toggleSearch,"is-showing":a.showSearch},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonText),1)]),_:1},8,["onToggleAction","is-showing"])):vue.createCommentVNode("",!0),!t.noSearch&&t.searchLink?(vue.openBlock(),vue.createBlock(u,{key:2,animate:!1,class:"vs-site-search",href:t.searchLink,icon:"vs-icon-control-search",id:"site-search-btn",rounded:!1},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$v,vue.toDisplayString(t.searchButtonText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$m,[vue.createVNode(u,{class:"vs-mega-nav__mobile-menu-toggle p-0","icon-only":"",icon:a.isOpen?"vs-icon-control-dismiss":"vs-icon-control-menu",variant:"subtle",onClick:n[0]||(n[0]=g=>r.menuToggle()),ref:"toggleButton",rounded:!1,"aria-haspopup":"true"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["icon"]),a.isOpen?vue.withDirectives((vue.openBlock(),vue.createBlock(d,{key:0},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"mega-nav-accordion-items")]),_:3})),[[p,r.closeMenu]]):vue.createCommentVNode("",!0)])]),_:3})]),_:3})]),_:3})]),vue.withDirectives(vue.createVNode(f,{onToggleAction:r.toggleSearch,"is-showing":a.showSearch,"label-text":t.searchLabelText,"submit-button-text":t.searchButtonText,"close-button-text":t.searchCloseButtonText},null,8,["onToggleAction","is-showing","label-text","submit-button-text","close-button-text"]),[[vue.vShow,a.showSearch]])])}const MegaNav=LoadingSpinner._export_sfc(_sfc_main$_,[["render",_sfc_render$L]]),_sfc_main$Z={name:"VsMegaNavDropdown",status:"prototype",release:"0.1.0",components:{BDropdown:LoadingSpinner.un,VsCol:LoadingSpinner.VsCol,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsButton:LoadingSpinner.VsButton},mixins:[LoadingSpinner.dataLayerMixin],props:{menuToggleAltText:{type:String,required:!0}},emits:["menuToggled"],mounted(){this.emitter&&(this.emitter.on("bv::dropdown::show",()=>{this.$emit("menuToggled")}),this.emitter.on("bv::dropdown::hide",()=>{this.$emit("menuToggled")})),window.addEventListener("resize",this.closeMenu)},beforeUnmount(){window.removeEventListener("resize",this.closeMenu)},methods:{closeMenu(){this.$refs.dropdown.hide()},tabFromClose(e){e.shiftKey||this.closeMenu()},dataLayerSubmit(){if(this.$slots["button-content"]()[1]&&this.$slots["button-content"]()[1].children[0]){const n={target:{text:this.$slots["button-content"]()[1].children[0].children}};this.createDataLayerObject("menuNavigationDataEvent",n,null)}}}},_hoisted_1$F={class:"vs-mega-nav-dropdown","data-test":"vs-mega-nav-dropdown",role:"menuitem"},_hoisted_2$u={role:"menuitem"},_hoisted_3$l={class:"dropdown-menu dropdown-menu--fallback overflow-auto",role:"menu"},_hoisted_4$g={role:"menuitem"};function _sfc_render$K(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$F,[vue.createVNode(c,{variant:"subtle",ref:"dropdown",onShow:n[0]||(n[0]=d=>r.dataLayerSubmit(d))},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),default:vue.withCtx(()=>[vue.createElementVNode("li",_hoisted_2$u,[vue.createVNode(u,{fluid:"lg",class:"px-0 px-lg-075"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"g-0"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",class:"position-relative"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"cta-link"),vue.renderSlot(e.$slots,"dropdown-content"),vue.createVNode(s,{class:"vs-mega-nav-dropdown__close-btn d-none d-lg-block position-absolute",icon:"vs-icon-control-dismiss","icon-only":"",size:"sm",variant:"subtle",onClick:r.closeMenu,onKeydown:vue.withKeys(r.tabFromClose,["tab"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["onClick","onKeydown"])]),_:3})]),_:3})]),_:3})])]),_:3},512),vue.createElementVNode("ul",_hoisted_3$l,[vue.createElementVNode("li",_hoisted_4$g,[vue.createVNode(u,{fluid:"lg",class:"px-0 px-lg-075"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"g-0"},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",class:"position-relative"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"cta-link"),vue.renderSlot(e.$slots,"dropdown-content"),vue.createVNode(s,{class:"vs-mega-nav-dropdown__close-btn d-none d-lg-block position-absolute",icon:"vs-icon-control-dismiss","icon-only":"",size:"sm",variant:"subtle",onClick:r.closeMenu},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["onClick"])]),_:3})]),_:3})]),_:3})])])])}const VsMegaNavDropdown=LoadingSpinner._export_sfc(_sfc_main$Z,[["render",_sfc_render$K]]),_sfc_main$Y={name:"VsMegaNavDropdownContainer",status:"prototype",release:"0.1.0",components:{VsMegaNavDropdown,VsLink,LazyHydrationWrapper:LazyHydrationWrapper$1},props:{href:{type:String,default:""},ctaText:{type:String,default:""},align:{type:String,default:"top",validator:e=>e.match(/(left|bottom|top)/)}},computed:{hasFeaturedItem(){return this.$slots["nav-featured-item"]&&this.$slots["nav-featured-item"]()},hasFeaturedItemLeft(){return this.$slots["nav-featured-item-left"]&&this.$slots["nav-featured-item-left"]()},hasFeaturedEvent(){return this.$slots["nav-featured-event"]&&this.$slots["nav-featured-event"]()},alignmentClass(){return this.align==="bottom"?"vs-mega-nav-dropdown-container__featured--bottom":""}}},_hoisted_1$E={class:"vs-mega-nav-dropdown-container","data-test":"vs-mega-nav-dropdown-container",ref:"menuToggle",role:"presentation"},_hoisted_2$t={class:"vs-mega-nav-dropdown-container__columns-wrapper"},_hoisted_3$k={key:2,class:"vs-mega-nav-dropdown-container__featured-event","data-test":"vs-mega-nav-dropdown-container__featured-event"};function _sfc_render$J(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink"),i=vue.resolveComponent("VsMegaNavDropdown"),l=vue.resolveComponent("LazyHydrationWrapper");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$E,[vue.createVNode(l,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createVNode(i,{"menu-toggle-alt-text":"Toggle Menu"},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),"cta-link":vue.withCtx(()=>[t.href&&t.ctaText?(vue.openBlock(),vue.createBlock(s,{key:0,href:t.href,"data-test":"vs-mega-nav-dropdown-container__cta-link",class:"vs-mega-nav-dropdown-container__cta-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-mega-nav-dropdown-container__divider"},null,-1))]),"dropdown-content":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$t,[vue.renderSlot(e.$slots,"dropdown-content"),r.hasFeaturedItemLeft?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-mega-nav-dropdown-container__featured vs-mega-nav-dropdown-container__featured--left",r.alignmentClass]),"data-test":"vs-mega-nav-dropdown-container__featured"},[vue.renderSlot(e.$slots,"nav-featured-item-left")],2)):vue.createCommentVNode("",!0),r.hasFeaturedItem?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(["vs-mega-nav-dropdown-container__featured",r.alignmentClass]),"data-test":"vs-mega-nav-dropdown-container__featured"},[vue.renderSlot(e.$slots,"nav-featured-item")],2)):vue.createCommentVNode("",!0),r.hasFeaturedEvent?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$k,[vue.renderSlot(e.$slots,"nav-featured-event")])):vue.createCommentVNode("",!0)])]),_:3})]),_:3})],512)}const MegaNavDropdownContainer=LoadingSpinner._export_sfc(_sfc_main$Y,[["render",_sfc_render$J]]),_sfc_main$X={name:"VsMegaNavList",status:"prototype",release:"0.1.0",components:{VsList,VsHeading:LoadingSpinner.VsHeading},props:{listHeading:{type:String,default:""}},computed:{listHeadingId(){return this.listHeading?`vsMeganav${this.listHeading.replace(/\W/g,"")}`:""}}},_hoisted_1$D=["aria-label"];function _sfc_render$I(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsList");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-mega-nav-list","data-test":"vs-mega-nav-list","aria-label":r.listHeadingId},[t.listHeading?(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-mega-nav-list__heading",id:r.listHeadingId,level:"2","heading-style":"heading-xxxs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.listHeading),1)]),_:1},8,["id"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"vs-mega-nav-list__list",role:"menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"nav-heading-cta-link"),vue.renderSlot(e.$slots,"nav-list-items")]),_:3})],8,_hoisted_1$D)}const MegaNavList=LoadingSpinner._export_sfc(_sfc_main$X,[["render",_sfc_render$I]]),_sfc_main$W={name:"VsMegaNavListItem",status:"prototype",release:"0.1.0",components:{VsLink},mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,default:"#"},subheadingLink:{type:Boolean,default:!1}},computed:{navItemClasses(){return{"vs-mega-nav-list-item__heading":this.href==="#","vs-mega-nav-list-item__link":this.href!=="#","vs-mega-nav-list-item__subheading-link":this.subheadingLink}}},methods:{clickHandler(e){e.preventDefault(),this.dataLayerValue&&this.createDataLayerObject(this.dataLayerValue,e,this.href),setTimeout(()=>{this.navigateToUrl()},500)},navigateToUrl(){this.href!=="#"&&this.href!==null&&(window.location.href=this.href)},keyHandler(e){(e.keyCode===13||e.keyCode===32)&&(e.preventDefault(),this.clickHandler(e))}}};function _sfc_render$H(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(["vs-mega-nav-list-item",r.navItemClasses]),"data-test":"vs-mega-nav-list-item",role:"presentation"},[vue.createVNode(s,{href:t.href,role:"menuitem","data-layer-value":"menuNavigationDataEvent"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])],2)}const MegaNavListItem=LoadingSpinner._export_sfc(_sfc_main$W,[["render",_sfc_render$H]]),_sfc_main$V={name:"VsMegaNavAccordionItem",status:"prototype",release:"0.1.0",components:{VsAccordionItem,VsLink},props:{controlId:{type:String,required:!0},title:{type:String,required:!0},level:{type:String,required:!0,validator:e=>e.match(/(1|2)/)},ctaLink:{type:String,default:""},ctaText:{type:String,default:""}},computed:{getUniqueId(){let e=this.title.toLowerCase();return e=e.replace(/\s+/g,"-"),`vs-mega-nav-${e}`},accordionItemClasses(){return[`vs-mega-nav-accordion-item--level-${this.level}`]}}};function _sfc_render$G(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink"),i=vue.resolveComponent("VsAccordionItem");return vue.openBlock(),vue.createBlock(i,{class:vue.normalizeClass(["vs-mega-nav-accordion-item",r.accordionItemClasses]),"data-test":"vs-mega-nav-accordion-item","data-unique-id":r.getUniqueId,"control-id":`vs-mega-nav-accordion-item-${r.getUniqueId}-${t.controlId}`},{title:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),default:vue.withCtx(()=>[t.ctaLink&&t.ctaText?(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-mega-nav-accordion-item__cta-link","data-test":"vs-mega-nav-accordion-item__cta-link",href:t.ctaLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"default")]),_:3},8,["class","data-unique-id","control-id"])}const MegaNavAccordionItem=LoadingSpinner._export_sfc(_sfc_main$V,[["render",_sfc_render$G]]),_sfc_main$U={name:"VsMegaNavFeaturedItem",status:"prototype",release:"0.1.0",components:{VsStretchedLinkCard},props:{link:{type:String,required:!0},imgUrl:{type:String,required:!0},imgAlt:{type:String,default:""}}};function _sfc_render$F(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createBlock(s,{link:t.link,type:"internal","img-src":t.imgUrl,"img-alt":t.imgAlt,class:"vs-mega-nav-featured-item","data-test":"vs-mega-nav-featured-item","heading-level":"2","heading-style":"heading-xxs"},{"stretched-card-header":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-header")]),"stretched-card-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-content")]),"stretched-card-link":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-link")]),_:3},8,["link","img-src","img-alt"])}const MegaNavFeaturedItem=LoadingSpinner._export_sfc(_sfc_main$U,[["render",_sfc_render$F]]),_sfc_main$T={name:"VsMegaNavFeaturedEvent",status:"prototype",release:"0.1.0",components:{VsStretchedLinkCard},props:{sourceUrl:{type:String,default:""}},data(){return{featuredEvent:null}},mounted(){this.sourceUrl&&this.retrieveFeaturedEvent()},methods:{retrieveFeaturedEvent(){LoadingSpinner.axios.get(this.sourceUrl).then(e=>{e.data.data.products&&e.data.data.products.length&&([this.featuredEvent]=e.data.data.products)}).catch(()=>{this.featuredEvent=null})}}},_hoisted_1$C={key:0,class:"vs-mega-nav-featured-event__date-range"},_hoisted_2$s={class:"vs-mega-nav-featured-event__date-detail"},_hoisted_3$j={class:"vs-mega-nav-featured-event__title"},_hoisted_4$f={key:1,class:"vs-mega-nav-featured-event__location"};function _sfc_render$E(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkCard");return a.featuredEvent?(vue.openBlock(),vue.createBlock(s,{key:0,link:a.featuredEvent.productLink.link,type:"internal","img-src":a.featuredEvent.images[0].mediaUrl,"img-alt":a.featuredEvent.name,class:"vs-mega-nav-featured-event","data-test":"vs-mega-nav-featured-event","data-chromatic":"ignore"},{"stretched-card-content":vue.withCtx(()=>[a.featuredEvent&&a.featuredEvent.opening?(vue.openBlock(),vue.createElementBlock("p",_hoisted_1$C,[vue.createTextVNode(vue.toDisplayString(a.featuredEvent.opening.period.label)+"  ",1),vue.createElementVNode("span",_hoisted_2$s,vue.toDisplayString(a.featuredEvent.opening.period.startDay),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("p",_hoisted_3$j,vue.toDisplayString(a.featuredEvent.name),1),a.featuredEvent&&a.featuredEvent.address?(vue.openBlock(),vue.createElementBlock("p",_hoisted_4$f,vue.toDisplayString(a.featuredEvent.address.shortAddress),1)):vue.createCommentVNode("",!0)]),"stretched-card-link":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.featuredEvent.productLink.label),1)]),_:1},8,["link","img-src","img-alt"])):vue.createCommentVNode("",!0)}const MegaNavFeaturedEvent=LoadingSpinner._export_sfc(_sfc_main$T,[["render",_sfc_render$E]]),_sfc_main$S={name:"VsMegaNavStaticLink",status:"prototype",release:"0.1.0",components:{VsLink},mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,default:"#"},isFullWidth:{type:Boolean,default:!1}}};function _sfc_render$D(e,n,t,o,a,r){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(["vs-mega-nav-static-link",t.isFullWidth?"vs-mega-nav-static-link--full-width":""]),"data-test":"vs-mega-nav-static-link",role:"presentation"},[vue.createVNode(s,{class:"vs-mega-nav-static-link__inner",href:t.href,role:"menuitem","data-layer-value":"menuNavigationDataEvent"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])],2)}const MegaNavStaticLink=LoadingSpinner._export_sfc(_sfc_main$S,[["render",_sfc_render$D]]),_sfc_main$R={name:"VsMegalinks",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsHeading:LoadingSpinner.VsHeading,VsButton:LoadingSpinner.VsButton,VsBody:LoadingSpinner.VsBody},provide(){return{noJsMessage:this.noJsMessage,noCookiesMessage:this.noCookiesMessage,cookieLinkText:this.cookieLinkText,theme:this.theme}},props:{title:{type:String,required:!1,default:null},sectionId:{type:String,required:!1,default:null},buttonLink:{type:String,required:!1,default:null},variant:{type:String,required:!1,default:null,validator:e=>e.match(/(multi-image|single-image|link-list)/)},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},noJsMessage:{type:String,default:""},noCookiesMessage:{type:String,default:""},cookieLinkText:{type:String,default:""},headingLevel:{type:Number,default:2,validator:e=>LoadingSpinner.lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},headingStyle:{type:String,default:"heading-xl",validator:e=>e.match(/(display-m|display-s|heading-xl|heading-l|heading-m|heading-s|heading-xs|heading-xxs|heading-xxxs)/)}},computed:{megalinksClasses(){return[this.variant?`vs-megalinks--${this.variant}`:"",`vs-megalinks--${this.theme}`]}}},_hoisted_1$B={key:0,class:"vs-megalinks__intro","data-test":"vs-megalinks__intro"},_hoisted_2$r={class:"row vs-megalinks__links-wrapper"},_hoisted_3$i={class:"vs-megalinks__button","data-test":"vs-megalinks__button"};function _sfc_render$C(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsCol"),u=vue.resolveComponent("VsRow"),c=vue.resolveComponent("VsButton"),d=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(["vs-megalinks",r.megalinksClasses]),"data-test":"megalinks"},[vue.createVNode(d,{fluid:"lg"},{default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"8","offset-md":"2"},{default:vue.withCtx(()=>[t.title?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$B,[vue.createVNode(s,{level:t.headingLevel,"heading-style":t.headingStyle,class:"vs-megalinks__heading","data-test":"vs-megalinks__heading",id:t.sectionId},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1},8,["level","heading-style","id"]),e.$slots["vs-megalinks-intro"]&&e.$slots["vs-megalinks-intro"]()?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-megalinks__intro-content",variant:"lead","data-test":"vs-megalinks__intro-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-megalinks-intro")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),_:3})]),_:3}),vue.createElementVNode("div",_hoisted_2$r,[vue.renderSlot(e.$slots,"default")]),t.buttonLink&&t.variant!=="single-image"?(vue.openBlock(),vue.createBlock(u,{key:0},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$i,[vue.createVNode(c,{href:t.buttonLink},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-megalinks-button")]),_:3},8,["href"])])]),_:3})]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2)}const Megalinks=LoadingSpinner._export_sfc(_sfc_main$R,[["render",_sfc_render$C]]),_sfc_main$Q={name:"VsMegalinkLinkList",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsBody:LoadingSpinner.VsBody,VsStretchedLinkPanels},props:{imgSrc:{required:!0,type:String},imgAlt:{required:!1,type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},linkUrl:{type:String,required:!0},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},videoId:{type:String,default:""},videoBtnText:{type:String,default:"Play Video"},errorMessage:{type:String,default:""},businessSupport:{type:Boolean,default:!1},isHomePage:{type:Boolean,default:!1}},computed:{megalinkClass(){let e="";return this.theme&&(e+=`vs-megalink-link-list--${this.theme} `),this.isHomePage||(e+="vs-megalink-link-list--internal-page "),this.businessSupport&&(e+="vs-megalink-link-list--business-support "),e}}},_hoisted_1$A={class:"vs-megalink-link-list__title","data-test":"megalink-link-list__title"};function _sfc_render$B(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-megalink-link-list",r.megalinkClass]),"data-test":"vs-megalink-link-list"},[vue.createVNode(l,{link:t.linkUrl,type:t.linkType,class:"vs-megalink-link-list__wrapper","img-src":t.imgSrc,"img-alt":t.imgAlt,theme:t.theme,"video-id":t.videoId,"video-btn-text":t.videoBtnText,"error-message":t.errorMessage,"error-type":"full","business-support":t.businessSupport,"is-home-page":t.isHomePage},vue.createSlots({"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$A,[vue.renderSlot(e.$slots,"vs-link-list-heading")])]),"stretched-card-content":vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.businessSupport?"d-block":"vs-megalink-link-list__content"),"data-test":"megalink-link-list__content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-link-list-content")]),_:3},8,["class"])]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(s,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel,"data-test":"vs-itinerary-panels"},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0,t.businessSupport&&!t.isHomePage?{name:"stretched-card-badges",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-link-list-badges")]),key:"1"}:void 0]),1032,["link","type","img-src","img-alt","theme","video-id","video-btn-text","error-message","business-support","is-home-page"])],2)}const MegalinkLinkList=LoadingSpinner._export_sfc(_sfc_main$Q,[["render",_sfc_render$B]]),_sfc_main$P={name:"VsMegalinkMultiImage",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsBody:LoadingSpinner.VsBody,VsStretchedLinkPanels},props:{featured:{required:!1,type:Boolean,default:!1},lastFeatured:{required:!1,type:Boolean,default:!1},imgSrc:{required:!0,type:String},imgAlt:{required:!1,type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},linkUrl:{type:String,required:!0},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},videoId:{type:String,default:""},videoBtnText:{type:String,default:"Play Video"},errorMessage:{type:String,default:""}},computed:{multiImageClasses(){return[`vs-megalink-multi-image-card--${this.theme}`,{"vs-megalink-multi-image-card--featured":this.featured,"vs-megalink-multi-image-card--featured-last":this.lastFeatured}]}}},_hoisted_1$z={class:"vs-megalink-multi-image"},_hoisted_2$q={class:"vs-megalink-multi-image-card__title","data-test":"megalink-multi-image-card__title"};function _sfc_render$A(e,n,t,o,a,r){const s=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$z,[vue.createVNode(l,{link:t.linkUrl,type:t.linkType,class:vue.normalizeClass(["vs-megalink-multi-image-card p-050",r.multiImageClasses]),"heading-style":t.featured?"heading-s":"heading-xs","img-src":t.imgSrc,"img-alt":t.imgAlt,"data-test":t.featured?"megalink-multi-image-featured":"megalink-multi-image-card",theme:t.theme,"video-id":t.videoId,"video-btn-text":t.videoBtnText,"error-message":t.errorMessage,"warning-size":t.featured?"normal":"small"},vue.createSlots({"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$q,[vue.renderSlot(e.$slots,"vs-multi-image-heading")])]),"stretched-card-content":vue.withCtx(()=>[vue.createVNode(i,{class:"vs-megalink-multi-image-card__content","data-test":"megalink-multi-image-card__content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-multi-image-content")]),_:3})]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(s,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel,"data-test":"vs-itinerary-panels"},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0,e.$slots["vs-multi-image-badges"]&&e.$slots["vs-multi-image-badges"]()?{name:"stretched-card-badges",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-multi-image-badges")]),key:"1"}:void 0]),1032,["link","type","class","heading-style","img-src","img-alt","data-test","theme","video-id","video-btn-text","error-message","warning-size"])])}const MegalinkMultiImage=LoadingSpinner._export_sfc(_sfc_main$P,[["render",_sfc_render$A]]),_sfc_main$O={name:"VsMegalinkSingleImage",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsButton:LoadingSpinner.VsButton,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsLinkList},props:{alternate:{type:Boolean,default:!1},title:{type:String,default:null},buttonLink:{type:String,default:""}},data(){return{negativeMargin:"200px",imageHeight:"400px"}},computed:{singleImageClasses(){return[this.alternate?"vs-megalink-single-image--alternate":""]},cssVars(){return{"--negative-margin":`-${this.negativeMargin}`,"--image-height":`${this.imageHeight}`}}},mounted(){const e=this.$el.querySelector(".vs-image-with-caption");if(e){const n=e.querySelector("img");n.addEventListener("load",()=>{const t=n.clientHeight/2.5/n.clientWidth;this.negativeMargin=`${t*100}%`,this.imageHeight=`${n.clientHeight}px`})}}},_hoisted_1$y={class:"vs-megalink-single-image__image-container"},_hoisted_2$p={class:"vs-megalink-single-image__content","data-test":"megalink-single-image__content"},_hoisted_3$h={class:"vs-megalink-single-image__button"};function _sfc_render$z(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsLinkList"),u=vue.resolveComponent("VsButton"),c=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-megalink-single-image",r.singleImageClasses]),"data-test":"megalink-single-image",style:vue.normalizeStyle(r.cssVars)},[vue.createElementVNode("div",_hoisted_1$y,[vue.renderSlot(e.$slots,"vs-single-image")]),vue.createVNode(d,{class:"vs-megalink-single-image__text-container"},{default:vue.withCtx(()=>[vue.createVNode(c,{cols:"12",sm:"10",lg:"6",class:vue.normalizeClass(["offset-sm-1",t.alternate?"offset-lg-6":"offset-lg-0"])},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$p,[t.title?(vue.openBlock(),vue.createBlock(s,{key:0,level:"3","heading-style":"heading-m",class:"vs-megalink-single-image__title","data-test":"megalink-single-image__title"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,{variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-content")]),_:3}),vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-links")]),_:3}),vue.createElementVNode("div",_hoisted_3$h,[t.buttonLink?(vue.openBlock(),vue.createBlock(u,{key:0,href:t.buttonLink,variant:"secondary"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-button-text")]),_:3},8,["href"])):vue.createCommentVNode("",!0)])])]),_:3},8,["class"])]),_:3})],6)}const MegalinkSingleImage=LoadingSpinner._export_sfc(_sfc_main$O,[["render",_sfc_render$z]]),_sfc_main$N={name:"VsBackdrop",props:{show:{type:Boolean,required:!0},zIndex:{type:[String,Number],default:1040},clickable:{type:Boolean,default:!0}},emits:["click","update:show"],computed:{backdropStyle(){return{zIndex:this.zIndex}}},unmounted(){this.show&&this.unlockScroll()},methods:{onClick(){this.clickable&&(this.$emit("click"),this.$emit("update:show",!1))},lockScroll(){document.body.style.overflow="hidden"},unlockScroll(){document.body.style.overflow=""}}};function _sfc_render$y(e,n,t,o,a,r){return vue.openBlock(),vue.createBlock(vue.Transition,{name:"vs-backdrop-fade",onEnter:r.lockScroll,onAfterLeave:r.unlockScroll},{default:vue.withCtx(()=>[t.show?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"vs-backdrop",style:vue.normalizeStyle(r.backdropStyle),role:"presentation",onClick:n[0]||(n[0]=(...s)=>r.onClick&&r.onClick(...s))},null,4)):vue.createCommentVNode("",!0)]),_:1},8,["onEnter","onAfterLeave"])}const VsBackdrop=LoadingSpinner._export_sfc(_sfc_main$N,[["render",_sfc_render$y]]),_sfc_main$M={name:"VsModal",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsButton:LoadingSpinner.VsButton,BModal:LoadingSpinner._a,VsBackdrop},props:{modalId:{type:String,required:!0},closeBtnText:{type:String,required:!0},isVideoModal:{type:Boolean,default:!1},autoMount:{type:Boolean,default:!1}},data(){return{show:!1,mounted:this.autoMount}},mounted(){this.mounted=!0,this.emitter&&(this.emitter.on("showModal",e=>this.showModal(e)),this.emitter.on("hideModal",()=>this.hideModal()),this.isVideoModal&&this.emitter.on("showModal",e=>{this.emitter.emit("video-controls",{action:"modal-opened",id:e})}))},methods:{hideModal(){this.emitter&&this.emitter.emit("video-controls",{action:"modal-closed",id:this.modalId}),this.show=!1},showModal(e){e===this.modalId&&(this.show=!0)}}};function _sfc_render$x(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsBackdrop"),d=vue.resolveComponent("BModal");return a.mounted?(vue.openBlock(),vue.createBlock(d,{key:0,"modal-class":"vs-modal","data-test":"vs-modal",ref:`modal-${t.modalId}`,id:t.modalId,size:"xl","hide-footer":"","hide-header":"",static:t.isVideoModal,modelValue:a.show,"onUpdate:modelValue":n[1]||(n[1]=v=>a.show=v),onHidden:r.hideModal},{backdrop:vue.withCtx(()=>[vue.createVNode(c,{show:a.show,onClick:n[0]||(n[0]=v=>r.hideModal())},null,8,["show"])]),default:vue.withCtx(()=>[vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",lg:"1",class:"d-flex justify-content-end align-items-start order-lg-1"},{default:vue.withCtx(()=>[vue.createVNode(s,{class:"vs-modal__close-btn mb-125 mb-lg-0","data-test":"vs-modal__close-btn",variant:"subtle","icon-only":"",icon:"vs-icon-control-dismiss",onClick:r.hideModal},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeBtnText),1)]),_:1},8,["onClick"])]),_:1}),vue.createVNode(i,{cols:"12",lg:"11"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["id","static","modelValue","onHidden"])):vue.createCommentVNode("",!0)}const Modal=LoadingSpinner._export_sfc(_sfc_main$M,[["render",_sfc_render$x]]),_sfc_main$L={name:"VsNavigationBarSidebarButton",status:"prototype",release:"0.1.0",components:{VsButton:LoadingSpinner.VsButton,VsTooltip},props:{sidebarOpenLabel:{type:String,required:!0},expanded:{type:Boolean,default:!1},controlsId:{type:String,required:!0}},emits:["sidebar-open"],methods:{sidebarOpen(){this.$emit("sidebar-open",!0)}}};function _sfc_render$w(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsTooltip");return vue.openBlock(),vue.createBlock(i,{title:t.sidebarOpenLabel,subtle:"",position:"bottom","use-legacy":!1},{default:vue.withCtx(()=>[vue.createVNode(s,{"icon-only":"",icon:"vs-icon-control-menu",size:"sm",variant:"subtle",class:"d-block vs-navigation-bar-sidebar-button","data-test":"vs-navigation-bar-sidebar-button",onClick:n[0]||(n[0]=l=>r.sidebarOpen()),"aria-haspopup":"dialog","aria-controls":t.controlsId,"aria-expanded":String(t.expanded)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarOpenLabel),1)]),_:1},8,["aria-controls","aria-expanded"])]),_:1},8,["title"])}const VsNavigationBarSidebarButton=LoadingSpinner._export_sfc(_sfc_main$L,[["render",_sfc_render$w]]),_sfc_main$K={name:"VsNavigationBarSidebar",status:"prototype",release:"0.1.0",components:{BOffcanvas:LoadingSpinner.Md,VsButton:LoadingSpinner.VsButton,VsBackdrop},props:{show:{type:Boolean,default:!1},sidebarTitle:{type:String,required:!0},sidebarCloseLabel:{type:String,required:!0}},emits:["update:show"],methods:{sidebarClose(){this.$emit("update:show",!1)}}},_hoisted_1$x={id:"navigation-sidebar-title",class:"visually-hidden"};function _sfc_render$v(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsBackdrop"),l=vue.resolveComponent("BOffcanvas");return vue.openBlock(),vue.createBlock(l,{class:"vs-navigation-bar-sidebar border-0","model-value":t.show,"aria-labelledby":"navigation-sidebar-title","onUpdate:modelValue":n[1]||(n[1]=u=>e.$emit("update:show",u)),id:"navigation-sidebar",placement:"end","no-backdrop":!0,lazy:""},{header:vue.withCtx(()=>[vue.createElementVNode("h2",_hoisted_1$x,vue.toDisplayString(t.sidebarTitle),1),vue.createVNode(s,{"icon-only":"",icon:"vs-icon-control-dismiss",variant:"subtle",size:"sm",onClick:r.sidebarClose},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sidebarCloseLabel),1)]),_:1},8,["onClick"])]),footer:vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-footer")]),backdrop:vue.withCtx(()=>[vue.createVNode(i,{show:t.show,onClick:n[0]||(n[0]=u=>r.sidebarClose())},null,8,["show"])]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["model-value"])}const VsNavigationSidebar=LoadingSpinner._export_sfc(_sfc_main$K,[["render",_sfc_render$v]]),_sfc_main$J={name:"VsNavigationBar",status:"prototype",release:"0.1.0",components:{VsCol:LoadingSpinner.VsCol,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsNavigationBarSidebarButton,VsNavigationSidebar},props:{sidebarBreakpoint:{type:String,default:"md",validator:e=>/^(xs|sm|md|lg|xl)$/.test(e)},sidebarCloseLabel:{type:String,required:!0},sidebarOpenLabel:{type:String,required:!0},sidebarTitle:{type:String,required:!0}},data(){return{sidebarOpen:!1}},computed:{breakpointMap(){return{xs:"sm",sm:"md",md:"lg",lg:"xl",xl:"xxl"}},menuBreakpoint(){return this.breakpointMap[this.sidebarBreakpoint]||"lg"},menuClasses(){return`d-none d-${this.menuBreakpoint}-block flex-grow-1`},sidebarButtonClasses(){return`d-${this.menuBreakpoint}-none`},utilityClasses(){return`d-flex justify-content-end align-items-center col col-${this.menuBreakpoint}-auto`}},methods:{onSidebarOpen(){this.sidebarOpen=!0}}},_hoisted_1$w={class:"vs-navigation-bar","data-test":"vs-navigation-bar"};function _sfc_render$u(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsNavigationBarSidebarButton"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsNavigationSidebar");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("header",_hoisted_1$w,[vue.createVNode(u,{fluid:"lg",class:"h-100"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"align-items-center h-100"},{default:vue.withCtx(()=>[vue.createVNode(s,{class:"col-auto"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"logo-link")]),_:3}),vue.createVNode(s,{class:vue.normalizeClass(r.menuClasses),"data-test":"vs-navigation-bar__menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"navigation-bar-menu")]),_:3},8,["class"]),vue.createVNode(s,{class:vue.normalizeClass(r.utilityClasses),"data-test":"vs-navigation-bar__utilities"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"navigation-bar-utilities"),vue.createVNode(i,{class:vue.normalizeClass(r.sidebarButtonClasses),"data-test":"vs-navigation-bar__sidebar-button",onSidebarOpen:r.onSidebarOpen,"sidebar-open-label":t.sidebarOpenLabel,expanded:a.sidebarOpen,"controls-id":"navigation-sidebar"},null,8,["class","onSidebarOpen","sidebar-open-label","expanded"])]),_:3},8,["class"])]),_:3})]),_:3})]),vue.createVNode(c,{show:a.sidebarOpen,"onUpdate:show":n[0]||(n[0]=d=>a.sidebarOpen=d),"sidebar-close-label":t.sidebarCloseLabel,"sidebar-title":t.sidebarTitle},{"sidebar-footer":vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-footer")]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"sidebar-body")]),_:3},8,["show","sidebar-close-label","sidebar-title"])],64)}const NavigationBar=LoadingSpinner._export_sfc(_sfc_main$J,[["render",_sfc_render$u]]),_sfc_main$I={name:"VsNavigationBarMenu",status:"prototype",release:"0.1.0",props:{menuAriaLabel:{type:String,required:!0}}},_hoisted_1$v=["aria-label"];function _sfc_render$t(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-navigation-bar-menu","data-test":"vs-navigation-bar-menu","aria-label":t.menuAriaLabel},[vue.createElementVNode("ul",null,[vue.renderSlot(e.$slots,"default")])],8,_hoisted_1$v)}const NavigationBarMenu=LoadingSpinner._export_sfc(_sfc_main$I,[["render",_sfc_render$t]]),_sfc_main$H={name:"VsNavigationBarMenuDropdown",status:"prototype",release:"0.1.0",components:{BDropdown:LoadingSpinner.un},mixins:[LoadingSpinner.dataLayerMixin],props:{subtle:{type:Boolean,default:!1}},computed:{menuDropdownClasses(){return[this.subtle?"vs-navigation-bar-menu-dropdown--subtle":"","vs-navigation-bar-menu-dropdown"]}},methods:{dataLayerSubmit(){var n,t,o,a;const e=((a=(o=(t=(n=this.$refs.dropdown)==null?void 0:n.$el)==null?void 0:t.querySelector(".dropdown-toggle"))==null?void 0:o.innerText)==null?void 0:a.trim())||"";e&&this.createDataLayerObject("menuNavigationDataEvent",{target:{text:e,innerText:e,closest:()=>null}},null)}}};function _sfc_render$s(e,n,t,o,a,r){const s=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createBlock(s,{class:vue.normalizeClass(r.menuDropdownClasses),"data-test":"vs-navigation-bar-menu-dropdown",variant:"subtle",ref:"dropdown",role:"presentation",onShow:r.dataLayerSubmit},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["class","onShow"])}const NavigationBarMenuDropdown=LoadingSpinner._export_sfc(_sfc_main$H,[["render",_sfc_render$s]]),_sfc_main$G={name:"VsNavigationBarMenuItem",status:"prototype",release:"0.1.0",mixins:[LoadingSpinner.dataLayerMixin],props:{href:{type:String,required:!0},variant:{type:String,default:"secondary-menu-item",validator:e=>e.match(/(primary-menu-item|primary-sidebar-item|secondary-menu-item)/)}},computed:{menuItemLinkClasses(){return[`vs-navigation-bar-menu-item__link--${this.variant}`,"vs-navigation-bar-menu-item__link"]}},methods:{clickHandler(e){e.preventDefault(),this.dataLayerValue&&this.createDataLayerObject(this.dataLayerValue,e,this.href),setTimeout(()=>{this.navigateToUrl()},500)},navigateToUrl(){this.href!=="#"&&this.href!==null&&(window.location.href=this.href)},keyHandler(e){(e.keyCode===13||e.keyCode===32)&&(e.preventDefault(),this.clickHandler(e))}}},_hoisted_1$u={class:"vs-navigation-bar-menu-item","data-test":"vs-navigation-bar-menu-item"},_hoisted_2$o=["href"];function _sfc_render$r(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$u,[vue.createElementVNode("a",{class:vue.normalizeClass(r.menuItemLinkClasses),href:t.href,"data-layer-value":"menuNavigationDataEvent",onClick:n[0]||(n[0]=s=>r.clickHandler(s)),onKeydown:n[1]||(n[1]=s=>r.keyHandler(s))},[vue.renderSlot(e.$slots,"default")],42,_hoisted_2$o)])}const NavigationBarMenuItem=LoadingSpinner._export_sfc(_sfc_main$G,[["render",_sfc_render$r]]),_sfc_main$F={name:"VsNavigationBarSearch",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsSiteSearchForm},props:{buttonText:{type:String,default:"Search"},labelText:{type:String,default:"Search"},submitButtonText:{type:String,default:"Submit"},closeButtonText:{type:String,default:"Close"},showLabelBreakpoint:{type:String,default:"md",validator:e=>/^(xs|sm|md|lg|xl|xxl)$/.test(e)}},data(){return{showSearch:!1}}};function _sfc_render$q(e,n,t,o,a,r){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsSiteSearchForm");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(s,{"data-test":"vs-navigation-bar-search",id:"site-search-btn",variant:"secondary",size:"sm",icon:"vs-icon-control-search",active:a.showSearch,"show-label-breakpoint":t.showLabelBreakpoint,onClick:n[0]||(n[0]=l=>a.showSearch=!a.showSearch)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.buttonText),1)]),_:1},8,["active","show-label-breakpoint"]),(vue.openBlock(),vue.createBlock(vue.Teleport,{to:"body"},[vue.withDirectives(vue.createVNode(i,{onToggleAction:n[1]||(n[1]=l=>a.showSearch=!1),"is-showing":a.showSearch,"label-text":t.labelText,"submit-button-text":t.submitButtonText,"close-button-text":t.closeButtonText},null,8,["is-showing","label-text","submit-button-text","close-button-text"]),[[vue.vShow,a.showSearch]])]))],64)}const NavigationBarSearch=LoadingSpinner._export_sfc(_sfc_main$F,[["render",_sfc_render$q]]),_sfc_main$E={name:"VsPageIntro",status:"deprecated",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol},props:{background:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},heroIntro:{type:Boolean,default:!1},isItinerary:{type:Boolean,default:!1},fullscreenMobile:{type:Boolean,default:!1},hasToc:{type:Boolean,default:!1}},computed:{introClasses(){return[`vs-page-intro--${this.background}`,this.heroIntro?"vs-page-intro--hero":"",this.fullscreenMobile?"vs-page-intro__fullscreen-mobile-header":""]},contentColProps(){const e={};return this.isItinerary?(e.md="6",e.lg="5",e.xl="6",e["offset-lg"]="1"):this.heroIntro?(e.md="12",e.lg="7",e.xl="8",e["offset-lg"]="1"):this.hasToc?e.md="7":e.md="8",e}}},_hoisted_1$t={key:0,class:"vs-page-intro__fs-mobile-heading-wrapper","data-test":"vs-page-intro__mobile-breadcrumb"},_hoisted_2$n={class:"vs-page-intro__wrapper"},_hoisted_3$g={class:"vs-page-intro__share"},_hoisted_4$e={key:0,class:"list-inline"},_hoisted_5$d={key:0,class:"vs-page-intro__lower py-300","data-test":"vs-page-intro__lower"};function _sfc_render$p(e,n,t,o,a,r){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsContainer"),u=vue.resolveComponent("VsHeading"),c=vue.resolveComponent("VsBody");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-page-intro",r.introClasses]),"data-test":"vs-page-intro"},[t.fullscreenMobile?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$t,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.fullscreenMobile?"d-none-md":"")},{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"9",lg:t.heroIntro?"8":"","offset-lg":t.heroIntro?"1":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-page-intro__breadcrumb",t.heroIntro?"mt-lg-100":"mt-lg-200"])},[vue.renderSlot(e.$slots,"vs-intro-breadcrumb")],2)]),_:3},8,["lg","offset-lg"])]),_:3},8,["class"])]),_:3})])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"vs-intro-hero"),vue.createElementVNode("div",_hoisted_2$n,[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:vue.normalizeClass(t.fullscreenMobile?"d-none d-lg-flex":"")},{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"9",lg:t.heroIntro?"8":"","offset-lg":t.heroIntro?"1":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-page-intro__breadcrumb",t.heroIntro?"mt-lg-100":"mt-lg-200"])},[vue.renderSlot(e.$slots,"vs-intro-breadcrumb")],2)]),_:3},8,["lg","offset-lg"])]),_:3},8,["class"]),vue.createElementVNode("div",_hoisted_3$g,[vue.renderSlot(e.$slots,"vs-share-button")]),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"11",md:t.heroIntro?"11":"10",lg:t.heroIntro?"7":"10",xl:t.heroIntro?"8":"10","offset-lg":t.heroIntro?"1":"0",class:"mt-050"},{default:vue.withCtx(()=>[vue.createVNode(u,{level:"1","heading-style":"display-s",id:"main-heading"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-heading")]),_:3}),vue.renderSlot(e.$slots,"vs-article-data")]),_:3},8,["md","lg","xl","offset-lg"])]),_:3}),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,vue.mergeProps({"data-test":"vs-page-intro__content",cols:"12"},r.contentColProps),{default:vue.withCtx(()=>[vue.createVNode(c,{variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-content")]),_:3}),e.$slots["vs-intro-start-finish"]&&e.$slots["vs-intro-start-finish"]()?(vue.openBlock(),vue.createElementBlock("dl",_hoisted_4$e,[vue.renderSlot(e.$slots,"vs-intro-start-finish")])):vue.createCommentVNode("",!0)]),_:3},16),e.$slots["vs-intro-table-of-contents"]&&e.$slots["vs-intro-table-of-contents"]()?(vue.openBlock(),vue.createBlock(s,{key:0,cols:"12",md:"5"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-table-of-contents")]),_:3})):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"vs-intro-summary-box")]),_:3})]),_:3}),e.$slots["vs-intro-lower"]&&e.$slots["vs-intro-lower"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$d,[vue.renderSlot(e.$slots,"vs-intro-lower")])):vue.createCommentVNode("",!0)])],2)}const PageIntro=LoadingSpinner._export_sfc(_sfc_main$E,[["render",_sfc_render$p]]),_hoisted_1$s={"aria-label":"Pagination",class:"vs-pagination","data-test":"vs-pagination"},_hoisted_2$m={"aria-live":"polite",class:"vs-pagination__count"},_hoisted_3$f={class:"vs-pagination__controls"},_hoisted_4$d={class:"vs-pagination__prev"},_hoisted_5$c={class:"vs-pagination__list"},_hoisted_6$c={key:0},_hoisted_7$a={class:"vs-pagination__next"},limit=7,_sfc_main$D={__name:"VsPagination",props:vue.mergeModels({nextButtonLabel:{type:String,required:!0},numberOfPages:{type:Number,required:!0},pageLabel:{type:String,required:!0},ofLabel:{type:String,required:!0},previousButtonLabel:{type:String,required:!0}},{modelValue:{type:Number,default:1},modelModifiers:{}}),emits:vue.mergeModels(["page-click"],["update:modelValue"]),setup(e,{emit:n}){const t=e,o=n,a=vue.useModel(e,"modelValue"),r=vue.computed(()=>`${t.pageLabel} ${a.value} ${t.ofLabel} ${t.numberOfPages}`),s=u=>({"vs-pagination__item":!0,"vs-pagination__item--active":a.value===u,"vs-pagination__item--ellipses":u==="ellipses"}),i=vue.computed(()=>{if(t.numberOfPages<=limit)return Array.from({length:t.numberOfPages},(d,v)=>v+1);let u=[];const c=Math.floor(limit/2);if(a.value<=c){for(let d=1;d<limit-1;d++)u=[...u,d];u=[...u,"ellipses",t.numberOfPages]}else if(a.value>t.numberOfPages-c){u=[1,"ellipses"];const d=t.numberOfPages-limit+2;for(let v=1;v<limit-1;v++)u=[...u,d+v]}else{const d=a.value-c+1;u=[1,"ellipses"];for(let v=1;v<limit-3;v++)u=[...u,d+v];u=[...u,"ellipses",t.numberOfPages]}return u}),l=(u,c)=>{a.value!==c&&(o("page-click",c),a.value=c)};return vue.watch(()=>t.numberOfPages,()=>{a.value=1}),(u,c)=>(vue.openBlock(),vue.createElementBlock("nav",_hoisted_1$s,[vue.createElementVNode("div",_hoisted_2$m,[vue.createElementVNode("p",null,vue.toDisplayString(r.value),1)]),vue.createElementVNode("div",_hoisted_3$f,[vue.createElementVNode("div",_hoisted_4$d,[vue.createVNode(LoadingSpinner.VsButton,{disabled:a.value===1,icon:"fa-regular fa-arrow-left",size:"sm",variant:"subtle",onClick:c[0]||(c[0]=d=>l(d,a.value-1))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.previousButtonLabel),1)]),_:1},8,["disabled"])]),vue.createElementVNode("ul",_hoisted_5$c,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(i.value,(d,v)=>(vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(s(d)),key:v},[d==="ellipses"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$c,"⋯")):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:1,"aria-current":a.value===d?"page":null,"aria-label":`Page ${d}`,size:"sm",onClick:m=>l(m,d)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(d),1)]),_:2},1032,["aria-current","aria-label","onClick"]))],2))),128))]),vue.createElementVNode("div",_hoisted_7$a,[vue.createVNode(LoadingSpinner.VsButton,{disabled:a.value===t.numberOfPages,icon:"fa-regular fa-arrow-right","icon-position":"right",size:"sm",variant:"subtle",onClick:c[1]||(c[1]=d=>l(d,a.value+1))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.nextButtonLabel),1)]),_:1},8,["disabled"])])])]))}},_sfc_main$C={name:"VsPanel",status:"prototype",release:"0.0.1",props:{variant:{type:String,default:"secondary",validator:e=>e.match(/(secondary|information)/)}},computed:{panelClasses(){return`vs-panel--${this.variant}`}}};function _sfc_render$o(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-panel",r.panelClasses]),"data-test":"vs-panel"},[vue.renderSlot(e.$slots,"vs-panel-title"),vue.renderSlot(e.$slots,"default")],2)}const Panel=LoadingSpinner._export_sfc(_sfc_main$C,[["render",_sfc_render$o]]);let VS$1;function setWindowObj(){typeof window<"u"?VS$1=typeof window.VS=="object"?window.VS:{}:VS$1={}}function getLabelText(e,n,t){setWindowObj();let o="";return Object.keys(VS$1).length>0&&(typeof t<"u"?o=VS$1.search_config.basic_config.search_module[t][e]:o=VS$1.search_config.basic_config.search_module[e]),o||n}function getProductName(e,n){setWindowObj();const t={};return Object.keys(VS$1).length>0&&Object.keys(VS$1.search_config.basic_config.productTypes).forEach(o=>{const a=VS$1.search_config.basic_config.productTypes[o];t[a.value]=a.text}),t[e]?t[e]:n}function getLocale(){let e=document.documentElement.lang.toLocaleLowerCase().slice(0,2)||"";return e==="en"&&(e=""),e}let VS;typeof window<"u"?VS=typeof window.VS=="object"?window.VS:{}:VS={};function getProductTypes(){if(Object.keys(VS).length<=0)return LoadingSpinner.products;const e=VS.search_config.basic_config.productTypes,n=[];return Object.keys(e).forEach(o=>{n.push({key:e[o].value,text:e[o].text,value:e[o].value})}),n}async function getData(e){try{const{data:n}=await LoadingSpinner.axios.get(e);return n}catch(n){console.error(`Axios error: ${n}`)}}var define_process_env_default$1={},controls={arrowUpKey:38,arrowDownKey:40,escKey:27,enterKey:13};function isFn(e){return typeof e=="function"}function isControlledProp(e,n){return e[n]!==void 0}function hasKeyCode(e,n){return e===n.keyCode}function getItemIndex(e,n,t){return e!==void 0?e:t.length?t.indexOf(n):-1}function hasOwnProperty(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function requiredProp(e,n){console.error('The property "'+n+'" is required in "'+e+'"')}function getNextNonDisabledIndex(e,n,t,o,a){var r=o(n);if(!r||!r.hasAttribute("disabled"))return n;if(e>0)for(var s=n+1;s<t;s+=1){var i=o(s),l=i.hasAttribute("disabled");if(!l)return s}else for(var u=n-1;u>=0;u-=1)if(!o(u).hasAttribute("disabled"))return u;return a?e>0?getNextNonDisabledIndex(1,0,t,o,!1):getNextNonDisabledIndex(-1,t-1,t,o,!1):-1}function scrollToElement(e,n,t){var o=n.clientHeight,a=n.scrollTop,r=e.offsetHeight,s=e.offsetTop;if(s<a)t===0?n.scrollTop=0:n.scrollTop=s;else{var i=s+r,l=a+o;i>l&&(n.scrollTop=i-o)}}function getProps(e){return Object.assign({},e?{modelValue:{default:null}}:{value:{default:null}},{items:{type:Array,required:!0},itemToString:{type:Function,default:function(n){return n?String(n):""}},stateReducer:{type:Function,default:function(n,t){return t.changes}},getItemId:{type:Function,default:function(t){return"v-"+this.idCounter+"-vue-combo-blocks-item-"+t}},menuId:{type:String,default:""},inputId:{type:String,default:""},labelId:{type:String,default:""},scrollIntoView:{type:Boolean,default:!0},circular:{type:Boolean,default:!0}})}function getInitialData(e,n){return{hovered:null,isOpen:!1,hoveredIndex:-1,selectedItem:e,inputValue:n(e)}}var computed={menuElement:function e(){return document.querySelector("#"+this.computedMenuId)},computedMenuId:function e(){return this.menuId||"v-"+this.idCounter+"-vue-combo-blocks-menu"},computedInputId:function e(){return this.inputId||"v-"+this.idCounter+"-vue-combo-blocks-input"},computedLabelId:function e(){return this.labelId||"v-"+this.idCounter+"-vue-combo-blocks-label"},selectedIndex:function e(){return this.items.indexOf(this.selectedItem)}},InputKeyDownArrowDown="InputKeyDownArrowDown",InputKeyDownArrowUp="InputKeyDownArrowUp",InputKeyDownTab="InputKeyDownTab",InputKeyUpEscape="InputKeyUpEscape",InputKeyUpEnter="InputKeyUpEnter",InputChange="InputChange",InputBlur="InputBlur",MenuMouseLeave="MenuMouseLeave",ItemMouseMove="ItemMouseMove",ItemClick="ItemClick",FunctionOpenMenu="FunctionOpenMenu",FunctionCloseMenu="FunctionCloseMenu",FunctionSelectItem="FunctionSelectItem",FunctionSetInputValue="FunctionSetInputValue",FunctionReset="FunctionReset",ControlledPropUpdatedSelectedItem="ControlledPropUpdatedSelectedItem",sct=Object.freeze({__proto__:null,ControlledPropUpdatedSelectedItem,FunctionCloseMenu,FunctionOpenMenu,FunctionReset,FunctionSelectItem,FunctionSetInputValue,InputBlur,InputChange,InputKeyDownArrowDown,InputKeyDownArrowUp,InputKeyDownTab,InputKeyUpEnter,InputKeyUpEscape,ItemClick,ItemMouseMove,MenuMouseLeave}),inputPropsAndListeners={getInputProps:function e(){return{value:this.inputValue||"","aria-activedescendant":this.hovered?this.getItemId(this.hoveredIndex):"","aria-autocomplete":"list","aria-controls":this.computedMenuId,"aria-labelledby":this.computedLabelId,id:this.computedInputId,autocomplete:"off"}},getInputEventListeners:function e(n){n===void 0&&(n={});var t=n.blur,o=n.input,a=n.keydown,r=n.keyup;return{blur:isFn(t)?t:this.onInputBlur,input:isFn(o)?o:this.onInput,keydown:isFn(a)?a:this.onInputKeyDown,keyup:isFn(r)?r:this.onInputKeyUp}},onInputKeyDown:function e(n){n.key==="Enter"&&this.isOpen?n.preventDefault():hasKeyCode(controls.arrowDownKey,n)&&!this.isOpen?(this.setState({isOpen:!0},InputKeyDownArrowDown),this.moveSelection(n)):this.moveSelection(n)},onInputKeyUp:function e(n){var t=controls.enterKey,o=controls.escKey;if(this.isOpen)if(hasKeyCode(t,n)){if(this.hoveredIndex>=0){n.preventDefault();var a=this.getItemNodeFromIndex(this.hoveredIndex);if(a&&a.hasAttribute("disabled"))return;this.setState({inputValue:this.itemToString(this.hovered),selectedItem:this.hovered,hoveredIndex:-1,hovered:null,isOpen:!1},InputKeyUpEnter)}}else hasKeyCode(o,n)&&this.setState({hoveredIndex:-1,hovered:null,isOpen:!1},InputKeyUpEscape)},onInputBlur:function e(){this.setState({isOpen:!1,inputValue:this.itemToString(this.selectedItem),hovered:null,hoveredIndex:-1},InputBlur)},onInput:function e(n){var t=n.target?n.target.value:n;this.setState({inputValue:t,hovered:null,isOpen:!0},InputChange)}},itemPropsAndListeners={getItemEventListeners:function e(n){var t=this;n===void 0&&(n={});var o=n.index,a=n.disabled,r=n.item;r===void 0&&(r=define_process_env_default$1.NODE_ENV==="production"?void 0:requiredProp("getItemEventListeners","item"));var s=n.mousemove,i=n.mousedown,l=n.click;return a?{}:{mousemove:isFn(s)?s:function(){return t.onItemMouseMove(o,r)},mousedown:isFn(i)?i:this.onItemMouseDown,click:isFn(l)?l:function(){return t.onItemClick(r)}}},onItemMouseMove:function e(n,t){var o=getItemIndex(n,t,this.items);this.hoveredIndex!==o&&this.setState({hoveredIndex:o,hovered:t},ItemMouseMove)},onItemMouseDown:function e(n){n.preventDefault()},onItemClick:function e(n){this.setState({inputValue:this.itemToString(n),selectedItem:n,isOpen:!1,hoveredIndex:-1,hovered:null},ItemClick)},getItemProps:function e(n){n===void 0&&(n={});var t=n.index,o=n.disabled,a=n.item;a===void 0&&(a=define_process_env_default$1.NODE_ENV==="production"?void 0:requiredProp("getItemProps","item"));var r=getItemIndex(t,a,this.items),s=this.getItemId(r);return{id:s,disabled:o?!0:void 0,role:"option","aria-selected":this.hoveredIndex===r||this.selectedItem===a?"true":"false"}}},menuPropsAndListeners={getMenuProps:function e(){return{id:this.computedMenuId,role:"listbox","aria-labelledby":this.computedLabelId}},getMenuEventListeners:function e(n){n===void 0&&(n={});var t=n.mouseleave,o=n.mousedown;return{mouseleave:isFn(t)?t:this.onMenuMouseLeave,mousedown:isFn(o)?o:this.onMenuMouseDown}},onMenuMouseLeave:function e(){this.setState({hoveredIndex:-1,hovered:null},MenuMouseLeave)},onMenuMouseDown:function e(n){n.preventDefault()}},methods=Object.assign({},inputPropsAndListeners,itemPropsAndListeners,menuPropsAndListeners,{getComboboxProps:function e(){return{role:"combobox","aria-haspopup":"listbox","aria-owns":this.computedMenuId,"aria-expanded":this.isOpen?"true":"false"}},getLabelProps:function e(){return{id:this.computedLabelId,for:this.computedInputId}},autocompleteText:function e(n){this.setInputValue(this.itemToString(n))},reset:function e(){this.setState({selectedItem:null,inputValue:""},FunctionReset)},select:function e(n){this.setState({inputValue:this.itemToString(n),selectedItem:n,isOpen:!1,hoveredIndex:-1,hovered:null},FunctionSelectItem)},setHoveredItem:function e(n,t,o){n&&n!==this.hovered&&this.$emit("hover",n,o),this.hovered=n,this.hoveredIndex=typeof t=="number"?t:-1},closeMenu:function e(){this.setState({isOpen:!1,hoveredIndex:-1,hovered:null},FunctionCloseMenu)},openMenu:function e(){this.setState({isOpen:!0},FunctionOpenMenu)},getItemNodeFromIndex:function e(n){return this.menuElement.querySelector("#"+this.getItemId(n))},scrollItemIntoView:function e(n){var t=this.getItemNodeFromIndex(n);scrollToElement(t,this.menuElement,n)},moveSelection:function e(n){var t=this,o=this.items.length;if(!(!this.isOpen||!o)){var a=hasKeyCode(controls.arrowDownKey,n),r=hasKeyCode(controls.arrowUpKey,n);if(a||r){n.preventDefault();var s=a*2-1,i=a?0:o-1,l=a?this.hoveredIndex<o-1:this.hoveredIndex>0,u=l?this.hoveredIndex+s:i,c=getNextNonDisabledIndex(s,u,o,this.getItemNodeFromIndex,this.circular);if(!this.circular&&(r&&c>this.hoveredIndex||a&&c<this.hoveredIndex))return;var d=this.items[c];this.scrollIntoView&&this.$nextTick(function(){t.scrollItemIntoView(u)}),this.setState({hoveredIndex:c,hovered:d},a?InputKeyDownArrowDown:InputKeyDownArrowUp)}}},setInputValue:function e(n){this.inputValue!==n&&this.setState({inputValue:n},FunctionSetInputValue)}});function slot(e){return{getInputProps:e.getInputProps,getItemProps:e.getItemProps,getMenuProps:e.getMenuProps,getComboboxProps:e.getComboboxProps,getLabelProps:e.getLabelProps,getInputEventListeners:e.getInputEventListeners,getMenuEventListeners:e.getMenuEventListeners,getItemEventListeners:e.getItemEventListeners,isOpen:e.isOpen,selectedItem:e.selectedItem,hoveredIndex:e.hoveredIndex,inputValue:e.inputValue,reset:e.reset,select:e.select,setInputValue:e.setInputValue,openMenu:e.openMenu,closeMenu:e.closeMenu}}var idCounter=0;function beforeCreate(){this.idCounter=idCounter.toString(),idCounter+=1}var isVue3=!!vue.defineComponent;!isVue3&&define_process_env_default$1.NODE_ENV!=="production"&&console.error(`Looks like your Vue version is 2.x, but you are using VueComboBlocks for Vue 3.
154
154
  Install the correct version for Vue 2.x: "npm i vue-combo-blocks@vue2"`);var VueComboBlocks=vue.defineComponent({name:"vue-combo-blocks",emits:{select:null,"update:modelValue":null,"input-value-change":null,"is-open-change":null,"hovered-index-change":null,"state-change":null,change:null,"show-list":null,focus:null,hover:null},props:getProps(isVue3),watch:{modelValue:function e(n){isControlledProp(this.$props,"modelValue")&&(this.inputValue=this.itemToString(n),this.selectedItem=n)}},beforeCreate,data:function e(){return getInitialData(this.modelValue,this.itemToString)},computed:Object.assign({},computed),methods:Object.assign({},{setState:function e(n,t){var o=this.$data,a=this.stateReducer(o,{changes:n,type:t}),r=hasOwnProperty(a,"selectedItem"),s=a.selectedItem!==o.selectedItem;r&&(this.$emit("select",a.selectedItem,t),s&&this.$emit("update:modelValue",a.selectedItem,t));var i={};for(var l in a)hasOwnProperty(a,l)&&o[l]!==a[l]&&(i[l]=a[l],this[l]=i[l],l==="inputValue"?this.$emit("input-value-change",a[l],t):l==="isOpen"?this.$emit("is-open-change",a[l],t):l==="hoveredIndex"&&this.$emit("hovered-index-change",a[l],t));this.$emit("state-change",i,t)}},methods),render:function e(){return this.$slots.default(slot(this))}});VueComboBlocks.stateChangeTypes=sct;const _hoisted_1$r={"data-test":"vs-autocomplete",class:"vs-autocomplete mb-100"},_hoisted_2$l=["for"],_hoisted_3$e=["placeholder","onClick"],_hoisted_4$c=["name"],_sfc_main$B=vue.defineComponent({__name:"Autocomplete",props:{id:{},label:{},mode:{},multiselectLabel:{},name:{},options:{},placeholder:{},trackBy:{},isTourLocation:{type:Boolean},defaultVal:{}},emits:["changeValue"],setup(e,{emit:n}){const t=e,o=n,a=vue.ref([]),r=vue.ref(t.options),s=v=>v?v[u.value]:"",i=v=>{r.value=t.options.filter(m=>m[u.value].toLowerCase().includes(v.toLowerCase()))},l=v=>{typeof t.trackBy<"u"?o("changeValue",v[t.trackBy]):o("changeValue",v.label)},u=vue.computed(()=>typeof t.multiselectLabel<"u"?t.multiselectLabel:"name"),c=vue.computed(()=>{if(typeof a.value=="string"){if(t.isTourLocation){const v=t.options.find(m=>m.name===a.value);if(typeof v<"u")return v.slug.trim()}return a.value.trim()}else if(typeof a.value=="object"&&Object.keys(a.value).length>0)return s(a.value).trim()}),d=vue.computed(()=>!!(c.value&&c.value.length>0));return vue.watch(()=>a.value,()=>{a.value===null&&(a.value=[])}),vue.onMounted(()=>{typeof t.defaultVal<"u"&&(a.value=t.defaultVal)}),(v,m)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[vue.createElementVNode("label",{for:e.id},vue.toDisplayString(e.label),9,_hoisted_2$l),vue.createVNode(vue.unref(VueComboBlocks),{"input-id":e.id,modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=f=>a.value=f),itemToString:s,items:r.value,onInputValueChange:i,onSelect:l},{default:vue.withCtx(({getInputProps:f,getInputEventListeners:p,hoveredIndex:g,isOpen:_,getMenuProps:h,getMenuEventListeners:b,getItemProps:V,getItemEventListeners:S,getComboboxProps:$,openMenu:w})=>[vue.createElementVNode("div",vue.mergeProps($(),{class:"vs-autocomplete__list-wrapper"}),[vue.createElementVNode("input",vue.mergeProps({class:"vs-input form-control"},f(),vue.toHandlers(p(),!0),{placeholder:e.placeholder,onClick:k=>w()}),null,16,_hoisted_3$e),vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-expand",variant:"cta",size:"sm"}),vue.withDirectives(vue.createElementVNode("ul",vue.mergeProps(h(),vue.toHandlers(b(),!0),{class:"vs-autocomplete__list"}),[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.value,(k,P)=>(vue.openBlock(),vue.createElementBlock("li",vue.mergeProps({key:k.id},{ref_for:!0},V({item:k,index:P}),vue.toHandlers(S({item:k,index:P}),!0),{class:["vs-autocomplete__list-item",{"vs-autocomplete__list-item--hover":g===P}]}),vue.toDisplayString(k[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:e.name,"onUpdate:modelValue":m[1]||(m[1]=f=>c.value=f)},null,8,_hoisted_4$c)),[[vue.vModelText,c.value]]):vue.createCommentVNode("",!0)]))}}),_hoisted_1$q={class:"vs-date-input","data-test":"vs-date-input"},_hoisted_2$k=["for"],_hoisted_3$d=["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,o=n,a=vue.ref(t.value),r=vue.computed(()=>new Date().toISOString().split("T")[0]);return vue.watch(()=>t.value,s=>{a.value=s,o("changeDate",a.value)}),(s,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createElementVNode("label",{for:e.id},vue.toDisplayString(e.label),9,_hoisted_2$k),vue.withDirectives(vue.createElementVNode("input",{type:"date",min:typeof e.minDate<"u"&&e.minDate.length>0?e.minDate:r.value,name:e.name,id:e.id,"onUpdate:modelValue":i[0]||(i[0]=l=>a.value=l),onChange:i[1]||(i[1]=l=>s.$emit("changeDate",a.value)),class:"form-control vs-input"},null,40,_hoisted_3$d),[[vue.vModelText,a.value]])]))}}),_hoisted_1$p={class:"vs-date-range","data-test":"vs-date-range"},_hoisted_2$j={class:"row align-items-center"},_hoisted_3$c={class:"col-12 col-sm-5 order-1"},_hoisted_4$b={class:"col-12 col-sm-5 order-2"},_hoisted_5$b={class:"col-12 col-sm-2 order-first order-sm-3 text-sm-right"},_hoisted_6$b={key:1,type:"hidden",name:"refine-date",value:"on"},_hoisted_7$9=["value"],_sfc_main$z=vue.defineComponent({__name:"DateRange",props:{startLabel:{type:String,required:!1,default:"Start Date"},endLabel:{type:String,required:!1,default:"End Date"},defaultDates:{type:Boolean,default:!1},selectedProd:{type:String,required:!0}},emits:["dateUpdated"],setup(e,{emit:n}){const t=e,o=n,a=vue.ref(""),r=vue.ref(""),s=vue.computed(()=>!!a.value||!!r.value),i=vue.computed(()=>{const h=new Date(r.value),b=new Date(a.value),V=h.getTime()-b.getTime();return isNaN(V)?1:V/(1e3*3600*24)});function l(){a.value="",r.value=""}const u=h=>{const b=h.toLocaleString("default",{year:"numeric"}),V=h.toLocaleString("default",{month:"2-digit"}),S=h.toLocaleString("default",{day:"2-digit"});return`${b}-${V}-${S}`},c=vue.computed(()=>a.value===""?u(new Date):""),d=vue.computed(()=>{let h;if(a.value!==""){const b=new Date(a.value);b.setDate(b.getDate()+1),h=u(b)}else if(t.defaultDates){const b=new Date,V=new Date(b);V.setDate(V.getDate()+1),h=u(V)}return h}),v=vue.computed(()=>{let h;if(a.value===""){const b=new Date,V=new Date(b);V.setDate(V.getDate()+1),h=u(V)}else{const b=new Date,V=new Date(a.value);b.setDate(V.getDate()+1),h=u(b)}return h});function m(){const h=new Date(a.value);new Date(r.value)<=h&&(r.value="")}function f(){const h=!(!a.value&&!r.value);o("dateUpdated",h)}function p(){f(),m()}const g=vue.computed(()=>t.selectedProd==="acco"?"stay":"isostartdate"),_=vue.computed(()=>t.selectedProd==="acco"?"endDate":"isoenddate");return(h,b)=>(vue.openBlock(),vue.createElementBlock("fieldset",_hoisted_1$p,[vue.createElementVNode("div",_hoisted_2$j,[vue.createElementVNode("div",_hoisted_3$c,[vue.createVNode(_sfc_main$A,{label:e.startLabel,value:e.defaultDates&&a.value===""&&r.value?c.value:a.value,name:g.value,id:"startDate",onChangeDate:b[0]||(b[0]=V=>{a.value=V,p()}),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&&r.value===""&&a.value?d.value:r.value,"min-date":v.value,name:_.value,id:"endDate",onChangeDate:b[1]||(b[1]=V=>{r.value=V,p()}),class:"mb-100"},null,8,["label","value","min-date","name"])]),vue.createElementVNode("div",_hoisted_5$b,[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$b)):vue.createCommentVNode("",!0),vue.createElementVNode("input",{type:"hidden",name:"nights",value:i.value},null,8,_hoisted_7$9)])])]))}}),_hoisted_1$o={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},_hoisted_2$i={key:0,class:"container"},_hoisted_3$b={class:"row"},_hoisted_4$a={class:"col-12"},_hoisted_5$a=["action"],_hoisted_6$a={class:"form-group product-search__type mb-100"},_hoisted_7$8={for:"prodtypes"},_hoisted_8$4={class:"product-search__in d-none d-md-block mt-100"},_hoisted_9$4={"aria-live":"polite"},_hoisted_10$4=["disabled","value"],_hoisted_11$3=["disabled","value"],_hoisted_12$2=["value"],_hoisted_13$2={key:4,type:"hidden",name:"areaproxdist",value:"10"},_hoisted_14$1={key:5},_hoisted_15$1={key:0,class:"form-group"},_hoisted_16$1={for:"search-keyword"},_hoisted_17$1={key:6},_hoisted_18={key:0},_hoisted_19=["value"],__default__=vue.defineComponent({mixins:[LoadingSpinner.dataLayerMixin],methods:{trackSubmit(e,n){this.createDataLayerObject("productSearchDataEvent",{searchType:e,searchLocation:n.name},this.href)}}}),_sfc_main$y=vue.defineComponent({...__default__,__name:"ProductSearchEmbed",props:{defaultProd:{type:String,default:"acti,attr,reta",validator(e){return["acco","cate","even","tour","acti,attr,reta"].includes(e)}},defaultLocale:{type:String,default:"",validator(e){return["en","fr","de","es","it","nl",""].includes(e)}},defaultLocation:{type:String,default:""}},setup(e){const n=e,t=vue.ref(!1),o=vue.ref(),a=vue.ref([]);vue.ref(null);let r=vue.ref();r.value={id:"",key:"",name:"",type:""};const s=vue.ref("off"),i=vue.ref(!1),l=vue.computed(()=>{const C=typeof o.value>"u"?"see-do":o.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}),v=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"}),m=vue.computed(()=>`${v.value}${d.value?"/"+d.value:""}${l.value}/search-results`),p="https://www.visitscotland.com/data/locations"+`?locale=${d.value}`,g=vue.ref([]),_="https://www.visitscotland.com/tms-api/v1/attractions",h=vue.ref([]),b="https://www.visitscotland.com/tms-api/v1/origins?active=1",V=vue.ref([]),S=vue.ref([]),$=()=>{const C=getProductTypes(),D=[];C.forEach(R=>{D.push(R)}),S.value=D},w=vue.computed(()=>t.value?[]:S.value.map(D=>({...D,text:getProductName(D.value,D.text)}))),k=async()=>{const C=await getData(p);C&&(g.value=C.data)},P=async()=>{const C=await getData(b);C&&(V.value=C.data)},O=async()=>{const C=await getData(_);C&&(h.value=C.data)},B=(C,D)=>{D==="key"?r.value=g.value.find(R=>R.key===C):D==="id"?r.value=g.value.find(R=>R.id===C):r.value=g.value.find(R=>R.name===C.trim())},T=C=>{const D=C.value;o.value=D,D==="tour"&&(P(),O())},L=()=>c[n.defaultLocale]||"",E=()=>{t.value=!0,vue.nextTick(()=>{t.value=!1,n.defaultLocation!==""&&u&&B(n.defaultLocation,"id")})},z=vue.computed(()=>o.value!=="cate"&&o.value!=="acti,attr,reta"?"d-lg-flex":"");vue.onBeforeMount(async()=>{window.VS={};const C=document.createElement("script");C.async=!1,C.onload=E,C.setAttribute("src",`https://www.visitscotland.com/${L().localeUrl}/data/template/search.js`),document.head.appendChild(C)}),vue.onMounted(async()=>{k(),u.value=!0,o.value=n.defaultProd,o.value==="tour"&&(P(),O()),$()});const F=C=>{s.value=C?"on":"off"},A=C=>{i.value=!0;const D=C.currentTarget;setTimeout(function(){D.submit()},500)};return(C,D)=>{var R,G,U,Y,X,W;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$o,[t.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$i,[vue.createElementVNode("div",_hoisted_3$b,[vue.createElementVNode("div",_hoisted_4$a,[vue.unref(u)?(vue.openBlock(),vue.createElementBlock("form",{key:0,action:m.value,onSubmit:vue.withModifiers(A,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[vue.createElementVNode("div",_hoisted_6$a,[vue.createElementVNode("label",_hoisted_7$8,vue.toDisplayString(vue.unref(getLabelText)("search_for","I'm looking for")),1),vue.createElementVNode("div",{class:vue.normalizeClass(z.value)},[vue.createVNode(VsSelect,{options:w.value,value:e.defaultProd,onUpdated:D[0]||(D[0]=Z=>T(Z)),"field-name":"prodtypes"},null,8,["options","value"]),vue.createElementVNode("div",_hoisted_8$4,vue.toDisplayString(vue.unref(getLabelText)("in","in")),1)],2)]),vue.createElementVNode("div",_hoisted_9$4,[o.value!="tour"&&vue.unref(u)?(vue.openBlock(),vue.createBlock(_sfc_main$B,{key:0,id:"search-location",label:vue.unref(getLabelText)("location","Location"),"multiselect-label":"name",name:"loc",options:g.value,placeholder:vue.unref(getLabelText)("location_placeholder","Enter a location"),"track-by":"name",onChangeValue:D[1]||(D[1]=Z=>B(Z)),"default-val":vue.unref(r),"data-chromatic":"ignore"},null,8,["label","options","placeholder","default-val"])):vue.createCommentVNode("",!0),o.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"locplace",disabled:((R=vue.unref(r))==null?void 0:R.type)==="POLYGON",value:((G=vue.unref(r))==null?void 0:G.key)||""},null,8,_hoisted_10$4)):vue.createCommentVNode("",!0),o.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:2,type:"hidden",name:"locpoly",disabled:((U=vue.unref(r))==null?void 0:U.type)!=="POLYGON",value:((Y=vue.unref(r))==null?void 0:Y.key)||""},null,8,_hoisted_11$3)):vue.createCommentVNode("",!0),o.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:3,type:"hidden",name:"locprox",value:((X=vue.unref(r))==null?void 0:X.type)==="DISTRICT"?1:0},null,8,_hoisted_12$2)):vue.createCommentVNode("",!0),o.value!=="tour"&&((W=vue.unref(r))==null?void 0:W.type)==="DISTRICT"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_13$2)):vue.createCommentVNode("",!0),o.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[vue.createVNode(_sfc_main$z,{"start-label":vue.unref(getLabelText)("startdate","Start Date","dates"),"end-label":vue.unref(getLabelText)("enddate","End Date","dates"),onDateUpdated:D[2]||(D[2]=Z=>F(Z)),"default-dates":i.value,"selected-prod":o.value},null,8,["start-label","end-label","default-dates","selected-prod"]),o.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15$1,[vue.createElementVNode("label",_hoisted_16$1,vue.toDisplayString(vue.unref(getLabelText)("keywords","Keywords")),1),vue.createVNode(VsInput,{"field-name":"search-keyword",placeholder:vue.unref(getLabelText)("events_keywords_placeholder","Highland games, music festivals etc"),name:"name"},null,8,["placeholder"])])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),o.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$1,[...D[4]||(D[4]=[vue.createElementVNode("input",{hidden:"true",name:"avail",value:"off"},null,-1)])])):vue.createCommentVNode("",!0)]),o.value==="tour"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_18,[vue.createVNode(_sfc_main$B,{id:"tour-origin",label:vue.unref(getLabelText)("tour_origin","Starting point"),"multiselect-label":"name",name:"origins[]",options:V.value,placeholder:vue.unref(getLabelText)("tour_origin_placeholder","Location"),"track-by":"name","is-tour-location":!0},null,8,["label","options","placeholder"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.value,Z=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",name:"attractions[]",value:Z},null,8,_hoisted_19))),256)),vue.createVNode(_sfc_main$B,{id:"tour-month",label:vue.unref(getLabelText)("tour_month","I'm traveling in"),"multiselect-label":"label",name:"when",options:vue.unref(getLabelText)("months",vue.unref(LoadingSpinner.monthsEnglish)),placeholder:vue.unref(getLabelText)("tour_month_placeholder","Select month"),"track-by":"value"},null,8,["label","options","placeholder"])])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"mt-150","data-test":"psw-submit",type:"submit",onClick:D[3]||(D[3]=Z=>C.trackSubmit(o.value,typeof vue.unref(r)>"u"?"":vue.unref(r)))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("search","Search")),1)]),_:1})],40,_hoisted_5$a)):vue.createCommentVNode("",!0),vue.unref(u)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsLoading,{key:1,variant:"dark"}))])])]))])}}}),_sfc_main$x={name:"VsProductSearch",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsProductSearchEmbed:_sfc_main$y,VsHeading:LoadingSpinner.VsHeading,VsWarning:LoadingSpinner.VsWarning},props:{noJsMessage:{type:String,required:!0},defaultLocation:{type:String,default:""},defaultProd:{type:String,default:"acti,attr,reta"},defaultLocale:{type:String,default:"en"}}},_hoisted_1$n={class:"vs-product-search","data-test":"vs-product-search"},_hoisted_2$h={class:"vs-product-search__intro"};function _sfc_render$n(e,n,t,o,a,r){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$n,[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-product-search__col vs-product-search__col--left",xl:"7"},{default:vue.withCtx(()=>[vue.createVNode(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$n]]),_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$m={key:0,class:"vs-quote__speech-container"},_hoisted_2$g={key:1,class:"vs-quote__author-container"},_hoisted_3$a={class:"vs-quote__content-container"},_hoisted_4$9={class:"vs-quote__content"},_hoisted_5$9={key:0,class:"vs-quote__author-name"},_hoisted_6$9={key:2,class:"vs-quote__quote-link"};function _sfc_render$m(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-quote",r.variantClass]),"data-test":"vs-quote"},[t.withBorder?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$m,[...n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-quote__speech-mark"},"“",-1)])])),r.hasAuthorImage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[vue.renderSlot(e.$slots,"quote-image")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$a,[vue.createElementVNode("div",_hoisted_4$9,[vue.renderSlot(e.$slots,"quote-content")]),r.hasAuthorName?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$9,[vue.renderSlot(e.$slots,"quote-author-name")])):vue.createCommentVNode("",!0),r.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$9,[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$m]]),_sfc_main$v={name:"VsSectionHeader",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol},props:{anchorId:{type:String,default:null},heading:{type:String,required:!0}}},_hoisted_1$l={class:"vs-section-header","data-test":"vs-section-header"},_hoisted_2$f={key:1,class:"mt-175","data-test":"vs-section-header__actions"};function _sfc_render$l(e,n,t,o,a,r){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$l,[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})]),_: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$l]]),_sfc_main$u={name:"VsTable",status:"prototype",release:"0.0.1",components:{BTableSimple:LoadingSpinner.ol},props:{tableCaption:{type:String,required:!0},tableType:{type:String,default:"responsive",validator:e=>e.match(/(responsive|stacked)/)}},computed:{responsive(){return this.tableType==="responsive"},stacked(){return this.tableType==="stacked"}}},_hoisted_1$k={class:"visually-hidden","data-test":"vs-table__caption"};function _sfc_render$k(e,n,t,o,a,r){const s=vue.resolveComponent("BTableSimple");return vue.openBlock(),vue.createBlock(s,{class:"vs-table","data-test":"vs-table",small:"","caption-top":"",responsive:r.responsive,stacked:r.stacked},{default:vue.withCtx(()=>[vue.createElementVNode("caption",_hoisted_1$k,vue.toDisplayString(t.tableCaption),1),vue.renderSlot(e.$slots,"default")]),_:3},8,["responsive","stacked"])}const VsTable=LoadingSpinner._export_sfc(_sfc_main$u,[["render",_sfc_render$k]]),_sfc_main$t={name:"VsTableHead",status:"prototype",release:"0.0.1",components:{BThead:LoadingSpinner.wn}};function _sfc_render$j(e,n,t,o,a,r){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$j]]),_sfc_main$s={name:"VsTableHeaderCell",status:"prototype",release:"0.0.1",components:{BTh:LoadingSpinner.Ea},props:{stackedHeading:{type:String,default:void 0}}};function _sfc_render$i(e,n,t,o,a,r){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$i]]),_sfc_main$r={name:"VsTableBody",status:"prototype",release:"0.0.1",components:{BTbody:LoadingSpinner.Bn}};function _sfc_render$h(e,n,t,o,a,r){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$h]]),_sfc_main$q={name:"VsTableRow",status:"prototype",release:"0.0.1",components:{BTr:LoadingSpinner.Je}};function _sfc_render$g(e,n,t,o,a,r){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$g]]),_sfc_main$p={name:"VsTableDataCell",status:"prototype",release:"0.0.1",components:{BTd:LoadingSpinner.St},props:{stackedHeading:{type:String,default:null}}};function _sfc_render$f(e,n,t,o,a,r){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$f]]),_sfc_main$o={name:"VsTableFooter",status:"prototype",release:"0.0.1",components:{BTfoot:LoadingSpinner.Pa}};function _sfc_render$e(e,n,t,o,a,r){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$e]]),_sfc_main$n={name:"VsSkiScotlandCard",status:"prototype",release:"0.0.1",components:{VsImg:LoadingSpinner.VsImg,VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,VsWarning:LoadingSpinner.VsWarning,VsLoadingSpinner:LoadingSpinner.VsLoading,VsButton:LoadingSpinner.VsButton,VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter},props:{centreInfoUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},lastUpdatedLabel:{type:String,default:"Last Updated"},liftsLabel:{type:String,default:"Lifts"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},imgSrc:{required:!0,type:String},imgAlt:{type:String,default:""},pisteMapLabel:{type:String,default:"View Piste Map"},moreDetailsLabel:{type:String,default:"More Details"},pisteMapLink:{type:String,default:""},moreDetailsLink:{type:String,required:!0,default:"#"}},data(){return{statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},runs:[],lifts:[],lastUpdate:"",jsDisabled:!0,isLoading:!0,displayError:!1}},mounted(){this.centreInfoUrl&&this.retrieveCentreInfo(),this.jsDisabled=!1},methods:{retrieveCentreInfo(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.centreInfoUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(o=>o.runs).reduce((o,a)=>o.concat(a)).filter((o,a,r)=>a===r.findIndex(s=>s.name===o.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"},o=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${o}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1;break}this.runs=e}}},_hoisted_1$j={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},_hoisted_2$e={class:"vs-ski-scotland-card__img-container"},_hoisted_3$9={class:"card-body"},_hoisted_4$8={key:0,class:"text-center pb-200 position-relative"},_hoisted_5$8={"data-test":"vs-ski__status-label"},_hoisted_6$8={"data-test":"vs-ski__runs-label"},_hoisted_7$7={"data-test":"vs-ski__lifts-label"},_hoisted_8$3={"data-test":"vs-ski__open-label"},_hoisted_9$3={"data-test":"vs-ski__limited-patrol-label"},_hoisted_10$3={"data-test":"vs-ski__opening-label"},_hoisted_11$2={"data-test":"vs-ski__closed-label"},_hoisted_12$1={"data-test":"vs-ski__on-hold-label"},_hoisted_13$1={"data-test":"vs-ski__last-updated-label"};function _sfc_render$d(e,n,t,o,a,r){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"),v=vue.resolveComponent("VsIcon"),m=vue.resolveComponent("VsTableDataCell"),f=vue.resolveComponent("VsTableRow"),p=vue.resolveComponent("VsTableBody"),g=vue.resolveComponent("VsTableFooter"),_=vue.resolveComponent("VsTable"),h=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createElementVNode("div",_hoisted_2$e,[t.imgSrc?(vue.openBlock(),vue.createBlock(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$9,[vue.createVNode(i,{level:"3","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-name")]),_:3}),a.jsDisabled||a.isLoading||a.displayError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$8,[!a.jsDisabled&&a.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),!a.jsDisabled&&a.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),a.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),!a.jsDisabled&&!a.isLoading&&!a.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$8,vue.toDisplayString(t.statusLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(c,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_6$8,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_7$7,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-check",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_8$3,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.open)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.open)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1}),a.statusSummary.runs.limitedPatrol||a.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_9$3,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-timer",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_10$3,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.opening)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.opening)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-ban",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_11$2,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.closed)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.closed)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1}),a.statusSummary.runs.onHold||a.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(f,{key:1},{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(v,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_12$1,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.onHold)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(m,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_13$1,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(a.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])):vue.createCommentVNode("",!0),vue.createVNode(h,{variant:"secondary",href:t.pisteMapLink,class:"mb-050",disabled:!t.pisteMapLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.pisteMapLabel),1)]),_:1},8,["href","disabled"]),vue.createVNode(h,{href:t.moreDetailsLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.moreDetailsLabel),1)]),_:1},8,["href"])])])}const SkiScotlandCard=LoadingSpinner._export_sfc(_sfc_main$n,[["render",_sfc_render$d]]),_sfc_main$m={name:"VsSkiScotlandStatus",status:"prototype",release:"0.0.1",components:{VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsAccordion,VsAccordionItem,VsIcon:LoadingSpinner.VsIcon,VsLink,VsHeading:LoadingSpinner.VsHeading,VsLoadingSpinner:LoadingSpinner.VsLoading,VsWarning:LoadingSpinner.VsWarning},props:{skiStatusUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},currentWeatherLabel:{type:String,default:"Current Weather"},detailedStatusLabel:{type:String,default:"Detailed Status"},difficultLabel:{type:String,default:"Difficult"},easyLabel:{type:String,default:"Easy"},intermediateLabel:{type:String,default:"Intermediate"},itinerariesLabel:{type:String,default:"Itineraries"},lastUpdatedLabel:{type:String,default:"Last Updated"},liftLabel:{type:String,default:"Lift"},liftsLabel:{type:String,default:"Lifts"},liftStatusLabel:{type:String,default:"Lift Status"},newsLabel:{type:String,default:"News From The Slopes"},otherLabel:{type:String,default:"Other"},roadsLabel:{type:String,default:"Road Status"},runLabel:{type:String,default:"Run"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},runStatusLabel:{type:String,default:"Run Status"},snowConditionsLabel:{type:String,default:"Snow Conditions Full Report"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},statusClosedLabel:{type:String,default:"Closed"},statusOpenLabel:{type:String,default:"Open"},statusOpeningLabel:{type:String,default:"Opening"},statusLimitedPatrolLabel:{type:String,default:"Limited Patrol"},statusOnHoldLabel:{type:String,default:"On Hold"},veryDifficultLabel:{type:String,default:"Very Difficult"},weatherForecastLabel:{type:String,default:"Weather Forecast"},greenLabel:{type:String,default:"Green"},blueLabel:{type:String,default:"Blue"},redLabel:{type:String,default:"Red"},blackLabel:{type:String,default:"Black"},orangeLabel:{type:String,default:"Orange"},greyLabel:{type:String,default:"Grey"}},data(){return{tokens:LoadingSpinner.designTokens,componentId:0,statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},lifts:[],runs:[],lastUpdate:"",report:"",currentWeather:"",weatherForecast:"",roadStatus:"",news:"",runLevels:[{colour:"green",colourToken:"",id:"easy",name:this.easyLabel,runs:[]},{colour:"blue",colourToken:"",id:"intermediate",name:this.intermediateLabel,runs:[]},{colour:"red",colourToken:"",id:"difficult",name:this.difficultLabel,runs:[]},{colour:"black",colourToken:"",id:"very-difficult",name:this.veryDifficultLabel,runs:[]},{colour:"orange",colourToken:"",id:"itineraries",name:this.itinerariesLabel,runs:[]},{colour:"grey",colourToken:"",id:"other",name:this.otherLabel,runs:[]}],jsDisabled:!0,isLoading:!0,displayError:!1,isCairngorms:!1}},computed:{filteredRunLevels(){return this.setColourToken().filter(n=>n.runs.length>0)}},mounted(){this.skiStatusUrl&&this.retrieveSkiStatus(),this.id=this._uid,this.jsDisabled=!1},methods:{retrieveSkiStatus(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.skiStatusUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.processFullReport(t.report),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(o=>o.runs).reduce((o,a)=>o.concat(a)).filter((o,a,r)=>a===r.findIndex(s=>s.name===o.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"},o=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${o}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++){switch(e[n].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1;break}for(let t=0;t<this.runLevels.length;t++)this.runLevels[t].colour===e[n].difficulty&&this.runLevels[t].runs.push(e[n])}this.runs=e},getColourLabel(e){return this[`${e}Label`]},setColourToken(){return this.runLevels.map(({...e})=>({...e,colourToken:this.tokens[`vs-color-icon-ski-${e.id}`]}))}}},_hoisted_1$i={class:"vs-ski-scotland-status","data-test":"vs-ski-scotland-status"},_hoisted_2$d={"data-test":"vs-ski__status-label"},_hoisted_3$8={"data-test":"vs-ski__runs-label"},_hoisted_4$7={"data-test":"vs-ski__lifts-label"},_hoisted_5$7={"data-test":"vs-ski__open-label"},_hoisted_6$7={"data-test":"vs-ski__open-label"},_hoisted_7$6={"data-test":"vs-ski__opening-label"},_hoisted_8$2={"data-test":"vs-ski__closed-label"},_hoisted_9$2={"data-test":"vs-ski__open-label"},_hoisted_10$2={"data-test":"vs-ski__last-updated-label"},_hoisted_11$1=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14=["innerHTML"],_hoisted_15=["innerHTML"],_hoisted_16=["data-test"],_hoisted_17={class:"visually-hidden"};function _sfc_render$c(e,n,t,o,a,r){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"),v=vue.resolveComponent("VsTableHeaderCell"),m=vue.resolveComponent("VsTableHead"),f=vue.resolveComponent("VsIcon"),p=vue.resolveComponent("VsTableDataCell"),g=vue.resolveComponent("VsTableRow"),_=vue.resolveComponent("VsTableBody"),h=vue.resolveComponent("VsTableFooter"),b=vue.resolveComponent("VsTable"),V=vue.resolveComponent("VsLink"),S=vue.resolveComponent("VsAccordionItem"),$=vue.resolveComponent("VsAccordion");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[!a.jsDisabled&&a.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),!a.jsDisabled&&a.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(()=>[a.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),!a.jsDisabled&&!a.isLoading&&!a.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(m,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$d,vue.toDisplayString(t.statusLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(v,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$8,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$7,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_5$7,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.open)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.open)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1}),a.statusSummary.runs.limitedPatrol||a.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_6$7,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_7$6,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.opening)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.opening)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$2,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.closed)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.closed)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1}),a.statusSummary.runs.onHold||a.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(g,{key:1},{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_9$2,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),a.runs.length?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.runs.onHold)+"/"+vue.toDisplayString(a.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(a.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_10$2,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(a.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"]),vue.createVNode(V,{href:`#vs-ski-scotland-status__detailed-status-${e.id}`,type:"default",class:"vs-ski-scotland-status__detailed-status-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.detailedStatusLabel),1)]),_:1},8,["href"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,{cols:"12",md:"5","offset-md":"1",class:"vs-ski-scotland-status__centre-info"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-information")]),_:3})]),_:3}),!a.jsDisabled&&!a.isLoading&&!a.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:a.report},null,8,_hoisted_11$1),a.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),a.currentWeather.length?(vue.openBlock(),vue.createElementBlock("div",{key:1,innerHTML:a.currentWeather},null,8,_hoisted_12)):vue.createCommentVNode("",!0),a.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),a.weatherForecast.length?(vue.openBlock(),vue.createElementBlock("div",{key:3,innerHTML:a.weatherForecast},null,8,_hoisted_13)):vue.createCommentVNode("",!0),a.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),a.roadStatus.length?(vue.openBlock(),vue.createElementBlock("div",{key:5,innerHTML:a.roadStatus},null,8,_hoisted_14)):vue.createCommentVNode("",!0),a.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),a.news.length?(vue.openBlock(),vue.createElementBlock("div",{key:7,innerHTML:a.news},null,8,_hoisted_15)):vue.createCommentVNode("",!0)]),_:1})]),_:1})):vue.createCommentVNode("",!0),!a.jsDisabled&&!a.isLoading&&!a.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(m,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.lifts,w=>(vue.openBlock(),vue.createBlock(g,{key:w.name},{default:vue.withCtx(()=>[w.status==="0"||w.status===0?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),w.status==="1"||w.status===1?(vue.openBlock(),vue.createBlock(p,{key:1},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),w.status==="2"||w.status===2?(vue.openBlock(),vue.createBlock(p,{key:2},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),w.status==="3"||w.status===3?(vue.openBlock(),vue.createBlock(p,{key:3},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),w.status==="4"||w.status===4?(vue.openBlock(),vue.createBlock(p,{key:4},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(w.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(a.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])]),_:1})]),_:1})):vue.createCommentVNode("",!0),!a.jsDisabled&&!a.isLoading&&!a.displayError&&a.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(r.filteredRunLevels,w=>(vue.openBlock(),vue.createElementBlock("div",{key:w.name},[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,{variant:"subtle","control-id":`accordion_item_${w.name}`,"colour-badge":w.colourToken},{title:vue.withCtx(()=>[vue.createElementVNode("div",{"data-test":`vs-ski__${w.name}-label`,class:"d-inline-block"},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(r.getColourLabel(w.colour)),1),vue.createTextVNode(" "+vue.toDisplayString(w.name),1)],8,_hoisted_16)]),default:vue.withCtx(()=>[vue.createVNode(b,{"table-caption":`${w.colour} - ${w.name}`,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(w.runs,k=>(vue.openBlock(),vue.createBlock(g,{key:k.name,"data-test":`vs-ski__${w.name}-row`},{default:vue.withCtx(()=>[k.status==="0"||k.status===0?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),k.status==="1"||k.status===1?(vue.openBlock(),vue.createBlock(p,{key:1},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),k.status==="2"||k.status===2?(vue.openBlock(),vue.createBlock(p,{key:2},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),k.status==="3"||k.status===3?(vue.openBlock(),vue.createBlock(p,{key:3},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),k.status==="4"||k.status===4?(vue.openBlock(),vue.createBlock(p,{key:4},{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(k.name),1)]),_:2},1024)]),_:2},1032,["data-test"]))),128))]),_:2},1024),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(a.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:2},1032,["table-caption"])]),_:2},1032,["control-id","colour-badge"])]),_:2},1024)]))),128))]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:3})])}const SkiScotlandStatus=LoadingSpinner._export_sfc(_sfc_main$m,[["render",_sfc_render$c]]),_sfc_main$l={name:"VsSkipTo",status:"prototype",release:"0.0.1",components:{VsLink},props:{skipToText:{type:String,required:!0},hasSearchLink:{type:Boolean,default:!0}},methods:{mainMenuFocus(){const e=document.getElementsByClassName("vs-mega-nav__menu__mobile")[0],n=document.getElementsByClassName("vs-mega-nav-dropdown")[0];if(!this.isUndefined(n)){let t=n.getElementsByClassName("btn")[0];e.offsetParent!==null?(e.querySelectorAll(".btn.dropdown-toggle")[0].click(),t=document.getElementsByClassName("vs-mega-nav-accordion-item--level-1")[0].querySelectorAll(".vs-button.vs-accordion-toggle")[0],setTimeout(()=>{t.focus()},200)):t.focus()}},footerFocus(){const e=document.getElementsByClassName("vs-footer")[0];if(!this.isUndefined(e)){const n=e.getElementsByClassName("vs-footer-accordion-item")[0],t=n.getElementsByClassName("vs-link")[0],o=n.getElementsByClassName("vs-accordion-toggle")[0];o.offsetParent!==null&&!this.isUndefined(o)&&o.click(),!this.isUndefined(e)&&!this.isUndefined(t)&&(e.scrollIntoView(!0),setTimeout(()=>{t.focus()},200))}},isUndefined(e){return typeof e>"u"}}},_hoisted_1$h=["aria-label"],_hoisted_2$c={class:"vs-skip-to__label",id:"skip-to-label"};function _sfc_render$b(e,n,t,o,a,r){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=>r.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=>r.footerFocus()),"data-test":"vs-skip-to-footer"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"footer-text")]),_:3})],8,_hoisted_1$h)}const SkipTo=LoadingSpinner._export_sfc(_sfc_main$l,[["render",_sfc_render$b]]),_sfc_main$k={name:"VsSocialCreditLink",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon:LoadingSpinner.VsIcon},props:{credit:{type:String,required:!0},socialPostUrl:{type:String,required:!0},source:{type:String,required:!0,validator:e=>e.match(/(instagram)/)}}},_hoisted_1$g={class:"social-credit","data-test":"vs-social-credit-link"};function _sfc_render$a(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$g,[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$a]]),_sfc_main$j={name:"VsSocialShare",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsHeading:LoadingSpinner.VsHeading,VsModuleWrapper,BPopover:LoadingSpinner.Ka,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol},provide(){return{referringPageUrl:this.pageUrl,pageTitle:this.pageTitle,noJs:this.noJs}},props:{shareBtnText:{type:String,required:!0},sharePopoverTitle:{type:String,required:!0},pageUrl:{type:String,required:!0},pageTitle:{type:String,default:""},closeAltText:{type:String,required:!0},id:{type:String,required:!0},noJs:{type:Boolean,default:!1}},data(){return{copyLink:!1,renderPopover:!1}},mounted(){this.renderPopover=!0},methods:{onClose(e){this.$refs.popover.hide(e)},onShown(){this.focusFirst()},onHidden(){this.focusRef(this.$refs.shareButton)},onHide(e){this.copyLink&&(e.preventDefault(),this.focusFirst(),this.copyLink=!1)},onCopyLink(){this.copyLink=!0},focusRef(e){this.$nextTick(()=>{this.$nextTick(()=>{(e.$el||e).focus()})})},focusFirst(){this.$nextTick(()=>{this.$nextTick(()=>{this.$refs.popoverShareRow.$el.querySelector(".vs-social-share-item a ").focus()})})},tabFromClose(e){e.shiftKey||(e.preventDefault(),this.focusFirst())},tabBackFromHidden(e){e.shiftKey&&(e.preventDefault(),this.focusRef(this.$refs.closeButton))}}};function _sfc_render$9(e,n,t,o,a,r){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"),v=vue.resolveComponent("VsModuleWrapper");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-social-share",t.noJs?"vs-module-wrapper__outer--hidden":"vs-module-wrapper__outer--light"]),"data-test":"vs-social-share",ref:"socialShareContainer"},[t.noJs?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(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&&a.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:r.onShown,onHidden:r.onHidden,onHide:r.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(m=>r.tabBackFromHidden(m),["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:r.onCopyLink})]),_:3},512),vue.createVNode(s,{"icon-only":"",class:"vs-social-share__close-btn",icon:"vs-icon-control-dismiss",variant:"subtle",ref:"closeButton",onClick:r.onClose,onKeydown:n[1]||(n[1]=vue.withKeys(m=>r.tabFromClose(m),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeAltText),1)]),_:1},8,["onClick"])]),_:3},8,["target","onShown","onHidden","onHide"])):vue.createCommentVNode("",!0),t.noJs?(vue.openBlock(),vue.createBlock(v,{key:2,class:"vs-social-share--module-list"},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(c,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(i,{level:"2","heading-style":"heading-l",class:"mb-300 mt-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1})]),_:1})]),_:1}),vue.createVNode(l,{class:"justify-content-center"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0)],2)}const SocialShare=LoadingSpinner._export_sfc(_sfc_main$j,[["render",_sfc_render$9]]),socialMediaData={facebook:{color:"#1877f2",icon:"fa-brands fa-facebook",getUrl:(e,n)=>`https://www.facebook.com/sharer/sharer.php?u=${e}&t=${n}`},"x-twitter":{color:"#0F1419",icon:"fa-brands fa-x-twitter",getUrl:(e,n)=>`https://twitter.com/intent/tweet?text=${n}%20@VisitScotland&url=${e}`},pinterest:{color:"#E60023",icon:"fa-brands fa-pinterest",getUrl:e=>`https://www.pinterest.com/pin/create/button/?url=${e}`},whatsapp:{color:"#455a64",icon:"fa-brands fa-whatsapp",getUrl:(e,n)=>`https://wa.me/?text=${n}%20-%20${e}`},email:{color:"#000000",icon:"fa-regular fa-envelope",getUrl:(e,n)=>`mailto:?body=${n}%20-%20${e}&subject=${n}`},link:{color:"#000000",icon:"fa-regular fa-link",getUrl:()=>"#"}},_sfc_main$i={name:"VsSocialShareItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsLink,VsIcon:LoadingSpinner.VsIcon},mixins:[LoadingSpinner.dataLayerMixin],inject:{referringPageUrl:{default:""},pageTitle:{default:""},noJs:{default:""}},props:{name:{type:String,required:!0,validator:e=>e.match(/(facebook|twitter|pinterest|link|email|whatsapp)/)},linkText:{type:String,required:!0},linkCopiedText:{type:String,default:""}},emits:["copyLinkClicked"],data(){return{show:!1}},computed:{iconColour(){var e;return((e=socialMediaData[this.name])==null?void 0:e.color)||"#200F2E"},iconName(){var e;return((e=socialMediaData[this.name])==null?void 0:e.icon)||"fa-solid fa-link"},shareUrl(){const e=socialMediaData[this.name];return(e==null?void 0:e.getUrl(this.referringPageUrl,this.encodedPageTitle))||"#"},encodedPageTitle(){return encodeURI(this.pageTitle)}},methods:{copyToClipboard(e){if(this.name==="link"){if(this.$emit("copyLinkClicked"),!navigator.clipboard)return;navigator.clipboard.writeText&&navigator.clipboard.writeText(this.referringPageUrl),this.show=!0,setTimeout(()=>{this.show=!1},2e3)}this.trackShareClick(e)},trackShareClick(e){this.createDataLayerObject("socialShareDataEvent",e,this.href)}}},_hoisted_1$f={class:"vs-social-share-item__text"};function _sfc_render$8(e,n,t,o,a,r){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:r.noJs?2:4},{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-social-share-item__link",href:r.shareUrl,onClick:n[0]||(n[0]=u=>r.copyToClipboard(u)),id:`vs-share-${t.name}`},{default:vue.withCtx(()=>[vue.createVNode(s,{icon:r.iconName,"custom-colour":r.iconColour,size:"xl","small-size":"lg"},null,8,["icon","custom-colour"]),vue.createElementVNode("span",_hoisted_1$f,vue.toDisplayString(a.show?t.linkCopiedText:t.linkText),1)]),_:1},8,["href","id"])]),_:1},8,["md"])}const SocialShareItem=LoadingSpinner._export_sfc(_sfc_main$i,[["render",_sfc_render$8]]),_sfc_main$h={name:"VsSpotlightSection",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsButton:LoadingSpinner.VsButton},props:{heading:{type:String,required:!0},description:{type:String,default:""},ctaLink:{type:String,required:!0},ctaText:{type:String,required:!0},imageSrc:{type:String,default:""},compact:{type:Boolean,default:!1}},computed:{spotlightSectionClasses(){return{"vs-spotlight-section":!0,"vs-spotlight-section--compact":this.compact,"vs-spotlight-section--standard":!this.compact,"vs-spotlight-section--no-image":!this.imageSrc}}}},_hoisted_1$e={class:"vs-spotlight-section__content-overlay"},_hoisted_2$b={class:"row w-100 m-0"},_hoisted_3$7={class:"col-12 col-sm-7 col-md-8 col-lg-7 col-xl-6 align-self-end p-0"},_hoisted_4$6={key:0,class:"col-12 col-sm-5 col-md-4 col-lg-5 col-xl-6 align-self-sm-end text-sm-end p-0"},_hoisted_5$6={key:0,class:"vs-spotlight-section__media"},_hoisted_6$6={key:1,class:"vs-spotlight-section__overlay-controls"};function _sfc_render$7(e,n,t,o,a,r){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(r.spotlightSectionClasses),style:vue.normalizeStyle(t.imageSrc?{backgroundImage:`url(${t.imageSrc})`}:{}),"data-test":"vs-spotlight-section"},[vue.createElementVNode("div",_hoisted_1$e,[vue.createElementVNode("div",_hoisted_2$b,[vue.createElementVNode("div",_hoisted_3$7,[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)])]),e.$slots["vs-spotlight-section-media"]&&e.$slots["vs-spotlight-section-media"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$6,[vue.renderSlot(e.$slots,"vs-spotlight-section-media")])):vue.createCommentVNode("",!0),e.$slots["vs-spotlight-section-overlay-controls"]&&e.$slots["vs-spotlight-section-overlay-controls"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$6,[vue.renderSlot(e.$slots,"vs-spotlight-section-overlay-controls")])):vue.createCommentVNode("",!0),n[0]||(n[0]=vue.createElementVNode("div",{class:"vs-spotlight-section__gradient-overlay"},null,-1))],6)}const SpotlightSection=LoadingSpinner._export_sfc(_sfc_main$h,[["render",_sfc_render$7]]),_hoisted_1$d={class:"vs-styled-list__list"},_hoisted_2$a={class:"vs-styled-list__source"},_sfc_main$g={__name:"StyledList",props:{source:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)}},setup(e){const n=e;return(t,o)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-styled-list",`vs-styled-list--${n.variant}`]),"data-test":"vs-styled-list"},[vue.createVNode(vue.unref(LoadingSpinner.VsContainer),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="icon"?"8":null},{default:vue.withCtx(()=>[vue.createElementVNode("ul",_hoisted_1$d,[vue.renderSlot(t.$slots,"default")])]),_:3},8,["md"])]),_:3}),t.$slots["list-source"]&&t.$slots["list-source"]()?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsRow),{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$a,[vue.renderSlot(t.$slots,"list-source")])]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2))}},_hoisted_1$c={class:"vs-styled-list__item","data-test":"vs-styled-list__item"},_sfc_main$f={__name:"StyledListItem",props:{heading:{type:String,required:!0},headingLevel:{type:Number,default:3,validator:e=>LoadingSpinner.lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},imageSrc:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)},anchorLink:{type:String,default:""}},setup(e){const n=e;return(t,o)=>(vue.openBlock(),vue.createElementBlock("li",_hoisted_1$c,[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[n.variant==="image"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsCol),{key:0,cols:"12",md:"2"},{default:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{src:n.imageSrc},null,8,["src"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="image"?"10":"12"},{default:vue.withCtx(()=>[n.variant==="image-horizontal"?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsImg,{key:0,src:n.imageSrc},null,8,["src"])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsHeading,{level:n.headingLevel,"heading-style":"heading-xxs",id:e.anchorLink?e.anchorLink:""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.heading),1)]),_:1},8,["level","id"]),vue.createVNode(LoadingSpinner.VsBody,null,{default:vue.withCtx(()=>[vue.renderSlot(t.$slots,"default")]),_:3})]),_:3},8,["md"])]),_:3})]))}},_sfc_main$e={name:"VsSummaryBoxList",status:"prototype",release:"0.0.1"},_hoisted_1$b={class:"vs-summary-box","data-test":"vs-summary-box-list"},_hoisted_2$9={class:"vs-summary-box__list list-unstyled d-flex flex-wrap p-050 p-sm-075"};function _sfc_render$6(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createElementVNode("ul",_hoisted_2$9,[vue.renderSlot(e.$slots,"default")])])}const SummaryBoxList=LoadingSpinner._export_sfc(_sfc_main$e,[["render",_sfc_render$6]]),_sfc_main$d={name:"VsSummaryBoxListItem",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{text:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},iconLabel:{type:String,default:""}}},_hoisted_1$a={class:"vs-summary-box-item position-relative","data-test":"vs-summary-box-list-item"},_hoisted_2$8={key:0,class:"text-center vs-summary-box-item__label d-block position-absolute w-100","data-test":"vs-summary-box-list-item-label"},_hoisted_3$6={class:"vs-summary-box-item__label-inner"},_hoisted_4$5={key:1,class:"vs-summary-box-item__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-list-item-display"},_hoisted_5$5={key:2,class:"vs-summary-box-item__icon d-flex align-items-center position-absolute justify-content-center w-100","data-test":"vs-summary-box-list-item-icon-with-label"},_hoisted_6$5={class:"icon-wrapper text-end"},_hoisted_7$5={class:"text-wrapper d-block w-auto pt-100"};function _sfc_render$5(e,n,t,o,a,r){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$a,[t.label?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,[vue.createElementVNode("span",_hoisted_3$6,vue.toDisplayString(t.label),1)])):vue.createCommentVNode("",!0),t.text?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$5,[vue.createElementVNode("span",null,vue.toDisplayString(t.text),1)])):vue.createCommentVNode("",!0),t.icon?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$5,[vue.createElementVNode("div",_hoisted_6$5,[vue.createVNode(s,{icon:t.icon,size:"xl"},null,8,["icon"])]),vue.createElementVNode("div",_hoisted_7$5,[vue.createElementVNode("span",null,vue.toDisplayString(t.iconLabel),1)])])):vue.createCommentVNode("",!0)])}const SummaryBoxListItem=LoadingSpinner._export_sfc(_sfc_main$d,[["render",_sfc_render$5],["__scopeId","data-v-eab4f595"]]),_sfc_main$c={name:"VsSummaryBoxDistanceListItem",status:"prototype",release:"0.0.1",props:{miles:{type:String,default:""},kilometres:{type:String,default:""},distanceLabel:{type:String,default:"Distance"},milesLabel:{type:String,default:"miles"},kilometresLabel:{type:String,default:"km"},showMiles:{type:Boolean,default:!0}}},_hoisted_1$9={class:"vs-summary-box-distance position-relative","data-test":"vs-summary-box-distance-list-item"},_hoisted_2$7={key:0,class:"text-center vs-summary-box-distance__label d-block position-absolute w-100","data-test":"vs-summary-box-distance-list-item-label"},_hoisted_3$5={class:"vs-summary-box-distance__label-inner"},_hoisted_4$4={class:"vs-summary-box-distance__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-distance-display"},_hoisted_5$4={class:"vs-summary-box-distance__display-entry"},_hoisted_6$4={class:"vs-summary-box-distance__display-value"},_hoisted_7$4={class:"vs-summary-box-distance__display-label"},_hoisted_8$1={class:"vs-summary-box-distance__display-entry"},_hoisted_9$1={class:"vs-summary-box-distance__display-value"},_hoisted_10$1={class:"vs-summary-box-distance__display-label"};function _sfc_render$4(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$9,[t.distanceLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$7,[vue.createElementVNode("span",_hoisted_3$5,vue.toDisplayString(t.distanceLabel),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$4,[vue.createElementVNode("div",_hoisted_5$4,[vue.createElementVNode("span",_hoisted_6$4,vue.toDisplayString(t.miles),1),vue.createElementVNode("span",_hoisted_7$4,vue.toDisplayString(t.milesLabel),1)]),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-summary-box-distance__divider"},null,-1)),vue.createElementVNode("div",_hoisted_8$1,[vue.createElementVNode("span",_hoisted_9$1,vue.toDisplayString(t.kilometres),1),vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(t.kilometresLabel),1)])])])}const SummaryBoxDistanceListItem=LoadingSpinner._export_sfc(_sfc_main$c,[["render",_sfc_render$4],["__scopeId","data-v-f36a8377"]]),_sfc_main$b={name:"VsTabs",status:"prototype",release:"0.0.1",components:{BTabs:LoadingSpinner.vc},provide(){return{noContainer:vue.computed(()=>this.noContainer)}},props:{noContainer:{type:Boolean,default:!1}}};function _sfc_render$3(e,n,t,o,a,r){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$3]]),_sfc_main$a={name:"VsTabItem",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,BTab:LoadingSpinner.dc},mixins:[LoadingSpinner.dataLayerMixin],inject:["noContainer"],props:{title:{type:String,required:!0}},methods:{trackClick(e){this.createDataLayerObject("tabClickEvent",e,null)}}};function _sfc_render$2(e,n,t,o,a,r){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":r.noContainer?"vs-tab-link--no-container vs-heading":"vs-tab-link vs-heading",title:t.title,onClick:r.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$2]]),_sfc_main$9={name:"VsTag",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,required:!0}}};function _sfc_render$1(e,n,t,o,a,r){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$1]]),_sfc_main$8={name:"VsTagManagerWrapper",status:"prototype",release:"0.0.1",mixins:[LoadingSpinner.dataLayerMixin],props:{payload:{type:Object,default:()=>{}}},mounted(){this.processPayload(this.payload),document.addEventListener("DOMContentLoaded",()=>{this.dataLayerStore.setTestRun(!0),this.dataLayerStore.setPageUrl(window.location.href)}),this.createDataLayerObject("pageViewTemplateDataEvent")},methods:{processPayload(e){e!==void 0&&Object.keys(e).forEach(n=>{const t=n.replace(/-/g,"_");this.dataLayerStore.processPayload({key:t,value:e[n]})})}}},_hoisted_1$8={"data-test":"vs-tag-manager-wrapper",class:"d-none"};function _sfc_render(e,n,t,o,a,r){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$8)}const TagManagerWrapper=LoadingSpinner._export_sfc(_sfc_main$8,[["render",_sfc_render]]);function cleanData$1(e){return e.TypedDocuments.map(o=>{var a;return{id:o.Fields.Id.Value||"",title:o.Fields.Title.Value||"",description:o.Fields.Description.Value||"",imgSrc:((a=o.Fields.Image)==null?void 0:a.Value)||"",url:o.Fields.Url.Value||"",dataSrc:"cludo",categoryCard:o.Fields.categoryCard.Value||""}})}async function cludoSearch(e,n,t,o,a,r){const{apiKey:s,customerId:i,engineId:l}=n,u=`https://api-eu1.cludo.com/api/v3/${i}/${l}/search`,c=`${i}:${s}`,d=useFederatedSearchStore();if(d.eventsApiError=!1,d.cludoError=!1,!n)return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0};if(a==="events")return{results:[],totalResults:0};try{const v=await fetch(u,{method:"POST",body:JSON.stringify({query:e||"*",operator:r,responseType:"JsonObject",perPage:6,page:t,facets:{Category:a?[a]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(c)}`}});if(!v.ok)throw d.cludoError=!0,d.isLoading=!1,new Error(`Cludo response message: ${v.status}`);const m=await v.json();return{results:cleanData$1(m),totalResults:m.TotalDocument}}catch{return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0}}}function cleanData(e){return e.events.map(o=>{var a,r,s,i,l,u,c;return{id:o.id,parentId:o.parentId,title:o.name,description:((r=(a=o.descriptions)==null?void 0:a[0])==null?void 0:r.description)||"",imgSrc:((i=(s=o.images)==null?void 0:s[0])==null?void 0:i.url)||"",url:((u=(l=o.performances)==null?void 0:l[0])==null?void 0:u.url)||"",placeUrl:o.place.website,location:o.place.town,startDate:o.startFormatted,endDate:o.endFormatted,minPrice:(c=o.minPrice)==null?void 0:c.toString(),dataSrc:"data-thistle",categoryCard:o.categoryCard||""}})}async function eventSearch(e,n,t,o,a,r,s,i,l,u,c,d,v){const m=useFederatedSearchStore();m.eventsApiError=!1,m.cludoError=!1;let f=`${e}?query=${n}&lang=${l}`;f=t>1?`${f}&page=${t}`:f,f=r!==""?`${f}&startDate=${r}`:f,f=s!==""?`${f}&endDate=${s}`:f,f=i?`${f}&sort=${i}`:f,f=o==="events"?`${f}&pageSize=12`:`${f}&pageSize=6`,f=u?`${f}&postcode=${u}`:f,f=c?`${f}&location=${c}`:f,f=d?`${f}&radius=${d}`:f,f=v?`${f}&postcodeareas=${v}`:f,a.forEach(p=>{f+=`&category=${p}`}),o&&o!=="events"&&(f+=`&category=${o}`);try{const p=await fetch(f);if(!p.ok)throw m.isLoading=!1,m.eventsApiError=!0,new Error(`Events response message: ${p.status}`);const g=await p.json();return{results:cleanData(g),totalResults:g.totalResults}}catch{return m.isLoading=!1,m.eventsApiError=!0,{results:[],totalResults:0}}}async function cludoAutocomplete(e,n){const{apiKey:t,customerId:o,engineId:a}=n,s=`https://api-eu1.cludo.com/api/v3/${o}/${a}/Autocomplete`,i=`${o}:${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),o=vue.ref(1),a=vue.ref(void 0),r=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([]),v=vue.ref([]),m=vue.ref(void 0),f=vue.ref(void 0),p=vue.ref(void 0),g=vue.ref(!1),_=vue.ref(""),h=vue.ref(""),b=vue.ref(void 0),V=vue.ref(void 0),S=vue.ref(void 0),$=vue.ref(-1),w=vue.ref(""),k=vue.ref(""),P=vue.ref(""),O=vue.ref(0),B=vue.ref(""),T=vue.ref("or");async function L(F=!1){s.value=!0,F||($.value+=1);const A=await cludoSearch(l.value,n.value,o.value,u.value,c.value,T.value),C=await eventSearch(a.value,l.value,o.value,c.value,v.value,_.value,h.value,b.value,S.value,k.value,P.value,O.value,B.value);i.value=[...A.results,...C.results],f.value=A.totalResults,p.value=C.totalResults,m.value=A.totalResults+C.totalResults,s.value=!1}async function E(){return cludoAutocomplete(l.value,n.value)}async function z(F,A){const C=new URL(window.location.href);if(A?w.value="Autosuggestion":w.value="User input",l.value?C.searchParams.set("search-term",l.value):C.searchParams.delete("search-term"),c.value?C.searchParams.set("category",encodeURIComponent(c.value)):C.searchParams.delete("category"),v.value.length>0?C.searchParams.set("sub-category",encodeURIComponent(v.value.join(","))):C.searchParams.delete("sub-category"),F?(o.value=1,C.searchParams.set("page",o.value.toString())):o.value&&o.value>1?C.searchParams.set("page",o.value.toString()):C.searchParams.delete("page"),_.value?C.searchParams.set("start-date",_.value):C.searchParams.delete("start-date"),h.value?C.searchParams.set("end-date",h.value):C.searchParams.delete("end-date"),b.value?C.searchParams.set("sort-by",b.value):C.searchParams.delete("sort-by"),!g.value)window.history.pushState({},"",C),await L();else{const D=`${V.value}/${C.search}`;window.location.href=D}}return{filters:e,currentPage:o,cludoCredentials:n,cludoError:t,eventsApi:a,eventsApiError:r,getAutoComplete:E,getSearchResults:L,isLoading:s,results:i,searchTerm:l,searchUrl:V,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:v,totalResults:m,totalResultsCludo:f,totalResultsEvents:p,navigateToResultsPage:z,isHomePage:g,startDate:_,endDate:h,sortBy:b,siteLanguage:S,searchInSessionCount:$,queryInput:w,postcode:k,location:P,radius:O,postcodeareas:B,cludoApiOperator:T}}),_hoisted_1$7={class:"vs-fed-filter"},_hoisted_2$6={class:"vs-fed-filter__scroll-container"},_hoisted_3$4=["id"],_sfc_main$7={__name:"FedFilter",props:{filterCategories:{type:Array,required:!0},variant:{type:String,default:"primary",validator:e=>/^(primary|secondary)$/.test(e)},wrap:{type:Boolean,default:!1},activeFilter:{type:[String,Array],default:""},scrollButtons:{type:Boolean,default:!1},scrollLeftText:{type:String,default:""},scrollRightText:{type:String,default:""}},emits:["filter-updated"],setup(e,{expose:n}){const t=e,o=vue.ref(null);function a(c){return typeof t.activeFilter=="string"?t.activeFilter===c:t.activeFilter&&typeof t.activeFilter=="object"?t.activeFilter.includes(c):!1}function r(c){var d,v;c==="left"?(d=o.value)==null||d.scrollBy(-200,0):c==="right"&&((v=o.value)==null||v.scrollBy(200,0))}function s(){var c;(c=o.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,v)=>{const m=(d.Label||d.Key||"").toLowerCase(),f=(v.Label||v.Key||"").toLowerCase();return m<f?-1:m>f?1:0}));function u(c){let d;switch(c){case"accommodation":d="fa-regular fa-bed";break;case"active-adventure":d="fa-kit fa-vs-landscape";break;case"city-break":d="fa-regular fa-city";break;case"culture-history":d="fa-regular fa-chess-rook";break;case"events":d="fa-regular fa-calendar-range";break;case"family-friendly":d="fa-regular fa-family";break;case"food-drink":d="fa-regular fa-utensils";break;case"nature-outdoors":d="fa-regular fa-leaf";break;case"tours":d="fa-regular fa-binoculars";break;case"travel-information":d="fa-regular fa-circle-info";break;case"wellness":d="fa-regular fa-spa";break;default:d=null;break}return d}return(c,d)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[c.$slots["fed-filter-header"]&&c.$slots["fed-filter-header"]()?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsBody,{key:0,class:"vs-fed-filter__header mb-025 ms-025","data-test":"vs-fed-filter__header"},{default:vue.withCtx(()=>[vue.renderSlot(c.$slots,"fed-filter-header")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$6,[e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,variant:"secondary",icon:"fa-regular fa-chevron-left","icon-only":"",class:"vs-fed-filter__scroll-button me-050","data-test":"vs-fed-filter__scroll-button--left",onClick:d[0]||(d[0]=v=>r("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:o},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(l.value,(v,m)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:m,class:"vs-fed-filter__category-button","data-test":`vs-fed-filter__category-button--${v.Key}`,icon:t.variant==="primary"?u(v.Key):null,variant:a(v.Key)?"primary":"secondary",size:t.variant==="secondary"?"sm":"md",onClick:f=>c.$emit("filter-updated",v)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(v.Label||v.Key),1)]),_:2},1032,["data-test","icon","variant","size","onClick"]))),128))],10,_hoisted_3$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]=v=>r("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 o(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 a(){return new Date(Date.now()).toISOString()}function r(l){const c={...e.GTMData,...l};return c.hit_timestamp=a(),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,v,m;switch(l){case"siteSearchOpenEvent":c="site_search_open",d={event:c,referrer_page:u.referrer_page},v=r(d),m=o(LoadingSpinner.siteSearchOpenTemplate,v);break;case"siteSearchUsageEvent":c="site_search_event",d={event:c,search_query:u.search_query,query_input:u.query_input,results_count:u.results_count,search_usage_index:u.search_usage_index,search_type:u.search_type,search_origin:u.search_origin||"results_page",interaction_type:"search_input"},v=r(d),m=o(LoadingSpinner.siteSearchUsageTemplate,v);break;case"siteSearchClickEvent":c="site_search_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,page_navigation_direction:u.page_navigation_direction,click_text:u.click_text,click_url:u.click_url,click_category:u.click_category,search_usage_index:u.search_usage_index,results_count:u.results_count},v=r(d),m=o(LoadingSpinner.siteSearchClickTemplate,v);break;case"siteSearchCloseEvent":c="site_search_close",d={event:c,search_usage_index:u.search_usage_index,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,results_count:u.results_count},v=r(d),m=o(LoadingSpinner.siteSearchCloseTemplate,v);break}m&&s(m)}return{pageUrl:t,createDataLayerObject:i,templateFiller:o,compileFullTemplate:r,returnIsoDate:a,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1$6={class:"vs-fed-search-input"},_hoisted_2$5={class:"vs-fed-search__input"},_hoisted_3$3={class:"vs-fed-search__text-input"},_hoisted_4$3={for:"federated-search",class:"vs-federated-search__label"},_hoisted_5$3={key:0,class:"position-relative"},_hoisted_6$3={class:"vs-fed-search-input__autocomplete"},_hoisted_7$3=["onClick","onKeyup","innerHTML"],_sfc_main$6={__name:"FedSearchInput",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},isHomePage:{type:Boolean,default:!1},searchUrl:{type:String,default:void 0},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},labels:{type:Object,required:!0}},setup(e){const n=dataLayerComposable$1(),t=e,o=useFederatedSearchStore(),{isLoading:a}=pinia.storeToRefs(o),r=vue.ref(),s=vue.ref(null),i=vue.ref(null);async function l(h){o.currentPage=1,o.searchTerm=h.value.trim();const b=window.location.search,V=new URLSearchParams(b);o.searchTerm&&V.get("search-term")!==o.searchTerm&&(r.value=await o.getAutoComplete()),o.searchTerm||(r.value=null)}async function u(){r.value=null,await o.navigateToResultsPage(),n.createDataLayerObject("siteSearchUsageEvent",{search_query:o.searchTerm,query_input:o.queryInput,results_count:o.totalResults,search_usage_index:o.searchInSessionCount,search_type:o.searchInSessionCount===1?"initial":"follow-up"})}function c(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_autosuggest",search_query:o.searchTerm,page_number:o.currentPage,search_usage_index:o.searchInSessionCount,results_count:o.totalResults,click_text:h,query_input:o.queryInput})}function d(h){o.searchTerm=h,r.value=null,o.navigateToResultsPage(!1,!0),c(h)}function v(h){return h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function m(h){return h.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function f(h){const b=(o.searchTerm||"").trim();if(!b)return m(h);const V=new RegExp(`(${v(b)})`,"gi");return m(h).replace(V,"<strong>$1</strong>")}function p(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"facet_click",search_query:o.searchTerm,page_number:o.currentPage,search_usage_index:o.searchInSessionCount,results_count:o.totalResults,click_text:h.Label||h.Key})}async function g(h){const b=new URL(window.location);b.searchParams.delete("page"),o.currentPage=1,b.searchParams.delete("start-date"),b.searchParams.delete("end-date"),o.startDate="",o.endDate="",o.sortBy=void 0,o.selectedSubCategory=[],o.selectedSubCategoryKey=[],o.selectedCategory=o.selectedCategory!==h.Label?h.Label:"",o.selectedCategoryKey=o.selectedCategoryKey!==h.Key?h.Key:"",await o.navigateToResultsPage(!0),p(h)}function _(h){if(!o.selectedSubCategoryKey.includes(h.Key))o.selectedSubCategory.push(h.Label),o.selectedSubCategoryKey.push(h.Key);else{const b=o.selectedSubCategoryKey.indexOf(h.Key);b>=0&&(o.selectedSubCategory.splice(b,1),o.selectedSubCategoryKey.splice(b,1))}o.navigateToResultsPage(!0),p(h)}return vue.onMounted(()=>{o.cludoCredentials={apiKey:t.cludoApiKey,customerId:t.cludoCustomerId,engineId:t.cludoEngineId},o.isHomePage=t.isHomePage,t.searchUrl&&(o.searchUrl=t.searchUrl);const h=window.location.search,b=new URLSearchParams(h);b.has("search-term")&&(o.searchTerm=b.get("search-term")),b.has("category")&&(o.selectedCategoryKey=decodeURIComponent(b.get("category"))),b.has("sub-category")&&decodeURIComponent(b.get("sub-category")).split(",").forEach(S=>o.selectedSubCategoryKey.push(S)),b.has("category")&&b.get("category")==="events"&&b.has("sort-by")&&(o.sortBy=b.get("sort-by")),b.has("start-date")&&(o.startDate=b.get("start-date")),b.has("end-date")&&(o.endDate=b.get("end-date")),b.has("postcode")&&(o.postcode=b.get("postcode")),b.has("location")&&(o.location=b.get("location")),b.has("radius")&&(o.radius=b.get("radius")),b.has("postcodeareas")&&(o.postcodeareas=b.get("postcodeareas")),(b.has("search-term")||b.has("category"))&&o.getSearchResults()}),vue.watch(a,h=>{var b,V;h||((b=s.value)==null||b.resetScroll(),(V=i.value)==null||V.resetScroll())}),(h,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("div",_hoisted_3$3,[vue.createElementVNode("label",_hoisted_4$3,[b[0]||(b[0]=vue.createElementVNode("span",{class:"visually-hidden"}," Search for something ",-1)),vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"vs-icon-control-search",size:"xs"})]),vue.createVNode(vue.unref(VsInput),{"auto-complete":!1,class:"vs-federated-search__input w-100","field-name":"federated-search",name:"searchrequest",placeholder:t.labels.searchLabel,type:"search",value:vue.unref(o).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(a),onClick:u},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.search),1)]),_:1},8,["disabled"])]),r.value&&r.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$3,[vue.createElementVNode("div",_hoisted_6$3,[vue.createVNode(vue.unref(VsList),{unstyled:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.value,V=>(vue.openBlock(),vue.createElementBlock("li",{key:V,class:"vs-fed-search-input__autocomplete__suggestion",onClick:S=>d(V),onKeyup:vue.withKeys(S=>d(V),["enter"]),tabindex:"0",innerHTML:f(V)},null,40,_hoisted_7$3))),128))]),_:1})])])):vue.createCommentVNode("",!0),t.filters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:1,"active-filter":vue.unref(o).selectedCategoryKey,"filter-categories":t.filters,ref_key:"categoryFilter",ref:s,wrap:!0,onFilterUpdated:g},null,8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0),vue.unref(o).selectedCategoryKey==="events"&&t.subFilters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:2,"active-filter":vue.unref(o).selectedSubCategoryKey,class:"mt-200","filter-categories":t.subFilters,ref_key:"subCategoryFilter",ref:i,variant:"secondary",onFilterUpdated:_},{"fed-filter-header":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.refine),1)]),_:1},8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0)]))}},_hoisted_1$5={key:0,for:"vs-fed-search-sort__from-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__from-date-label"},_hoisted_2$4={key:0,for:"vs-fed-search-sort__to-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__to-date-label"},_sfc_main$5={__name:"FedSearchSort",props:{dateFilterVisible:{type:Boolean,default:!1},sortOptions:{type:Array,required:!0},fromDateLabel:{type:String,required:!0},toDateLabel:{type:String,required:!0},sortLabel:{type:String,required:!0}},emits:["from-date-updated","end-date-updated","sort-order-updated"],setup(e){const n=useFederatedSearchStore(),t=e,o=vue.computed(()=>t.sortOptions.find(a=>a.key===n.sortBy));return(a,r)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsRow,{class:"vs-fed-search-sort"},{default:vue.withCtx(()=>[t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:0,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.fromDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_1$5,vue.toDisplayString(t.fromDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__from-date",value:vue.unref(n).startDate||new Date().toJSON().slice(0,10),type:"date","auto-complete":!1,onInput:r[0]||(r[0]=s=>a.$emit("from-date-updated",s.target.value)),"data-chromatic":"ignore"},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:1,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.toDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_2$4,vue.toDisplayString(t.toDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__to-date",type:"date","auto-complete":!1,onInput:r[1]||(r[1]=s=>a.$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}: ${o.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=>{a.$emit("sort-order-updated",s.key)},active:vue.unref(n).sortBy===s.key,"data-test":`vs-fed-search-sort__dropdown-item--${s.key}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.label),1)]),_:2},1032,["onClick","active","data-test"]))),128))]),_:1},8,["text"])]),_:1})]),_:1}))}},_hoisted_1$4={class:"vs-federated-search","data-test":"vs-federated-search"},_hoisted_2$3={class:"vs-federated-search__container"},_hoisted_3$2={key:0,class:"vs-federated-search__results","data-chromatic":"ignore"},_hoisted_4$2={key:2,"data-chromatic":"ignore"},_hoisted_5$2={class:"position-relative"},_hoisted_6$2={class:"position-absolute bottom-0 start-0 d-flex gap-2"},_hoisted_7$2={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8={class:"truncate-3-lines text-break"},_hoisted_9={class:"d-flex justify-content-end align-items-end mt-050"},_hoisted_10={key:0,class:"d-flex align-items-start flex-grow-1"},_hoisted_11={key:3,class:"vs-federated-search__warning mb-300"},fallbackImg="https://static.visitscotland.com/img/fallback-img.png",_sfc_main$4={__name:"FederatedSearch",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},eventsApi:{type:String,default:getEnvValue("EVENTS_API_URL")},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},errorMessages:{type:Object,required:!0},fromText:{type:String,default:""},paginationLabels:{type:Object,required:!0},searchLabels:{type:Object,required:!0},sortLabels:{type:Object,required:!0},cardCategoryLabels:{type:Object,required:!0,default:()=>{}},siteLanguage:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},cludoApiOperator:{type:String,default:"or",validator:e=>["and","or"].includes(e)}},setup(e){const n=dataLayerComposable$1(),t=useFederatedSearchStore(),o=vue.ref({message:"",error:!1}),a=e,r=vue.ref(!1),s=vue.computed(()=>{let h;return t.selectedCategoryKey==="events"?h=Math.ceil(t.totalResultsEvents/12):h=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),h});function i(){t.endDate&&t.startDate>t.endDate?(o.value.error=!0,o.value.message=a.errorMessages.incorrectDateOrder):t.selectedCategoryKey==="events"&&t.eventsApiError&&!t.isLoading?(o.value.error=!0,o.value.message=a.errorMessages.eventError):(t.searchTerm||t.selectedCategory)&&t.selectedCategoryKey!=="events"&&t.cludoError&&!t.isLoading?(o.value.error=!0,o.value.message=a.errorMessages.cludoError):t.totalResults===0&&!t.isLoading?(o.value.error=!0,o.value.message=a.errorMessages.noResults):(o.value.error=!1,o.value.message="")}vue.onMounted(async()=>{if(n.createDataLayerObject("siteSearchOpenEvent",{referrer_page:document.referrer}),t.cludoCredentials={apiKey:a.cludoApiKey,customerId:a.cludoCustomerId,engineId:a.cludoEngineId},t.eventsApi=a.eventsApi,t.filters=a.filters,t.siteLanguage=a.siteLanguage,t.cludoApiOperator=a.cludoApiOperator,i(),typeof window<"u"&&typeof document<"u"){window.onbeforeunload=()=>{_()};const h=new URLSearchParams(document.location.search),b=h.get("search-term"),V=parseInt(h.get("page"),10);V&&(t.currentPage=V),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(h){t.startDate=h,t.navigateToResultsPage(!0)}function u(h){t.endDate=h,t.navigateToResultsPage(!0)}function c(h){t.sortBy=h,t.navigateToResultsPage(!0)}function d(h){let b=!1;h>t.currentPage&&(b=!0),t.currentPage=h,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),g(b)}function v(h,b){return h===b?h:`${h} - ${b}`}function m(h){return h===null?"":h.match(/\b\d+\.\d\b/)?`£${h}0`:`£${h}`}function f(h){if(h.url)return h.url;if(h.placeUrl)return h.placeUrl;const b="https://www.datathistle.com/event/",V=encodeURIComponent(h.title.replaceAll(" ","-").toLowerCase());return`${b}${h.parentId}-${V}`}function p(h){r.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:h.title,click_url:f(h),click_category:h.categoryCard&&a.cardCategoryLabels[h.categoryCard]?a.cardCategoryLabels[h.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function g(h){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:h?"forward":"back",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function _(){r.value||n.createDataLayerObject("siteSearchCloseEvent",{search_query:t.searchTerm,search_usage_index:t.searchInSessionCount,query_input:t.queryInput,page_number:t.currentPage,results_count:t.totalResults})}return vue.onUpdated(()=>{i()}),(h,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("div",_hoisted_2$3,[vue.createVNode(_sfc_main$6,{"cludo-api-key":a.cludoApiKey,"cludo-customer-id":a.cludoCustomerId,"cludo-engine-id":a.cludoEngineId,filters:a.filters,"sub-filters":a.subFilters,labels:a.searchLabels},null,8,["cludo-api-key","cludo-customer-id","cludo-engine-id","filters","sub-filters","labels"]),vue.createVNode(_sfc_main$2B,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(V,S)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:S,class:"mb-200"},[vue.renderSlot(h.$slots,`federated-search__spotlight-${V.Key}`)],512)),[[vue.vShow,vue.unref(t).selectedCategoryKey===V.Key]])),128)),vue.unref(t).results?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$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(a.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(a.searchLabels.resultsFirst)+" "+vue.toDisplayString(vue.unref(t).totalResults)+" "+vue.toDisplayString(a.searchLabels.resultsSecond),1)]),_:1})):vue.createCommentVNode("",!0)]),vue.unref(t).selectedCategoryKey==="events"?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:0,"date-filter-visible":!0,"sort-options":a.sortLabels.sortOptions,"from-date-label":a.sortLabels.dateFrom,"to-date-label":a.sortLabels.dateTo,"sort-label":a.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,V=>(vue.openBlock(),vue.createBlock(vue.unref(VsCard),{key:V.id},{"vs-card-header":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createVNode(vue.unref(LoadingSpinner.VsImg),{src:V.imgSrc||fallbackImg,class:"w-100 aspect-ratio-3-2 rounded-1 object-fit-cover img-zoom-on-hover"},null,8,["src"]),vue.createElementVNode("div",_hoisted_6$2,[V.minPrice?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"information",class:"rounded-top-end rounded-bottom-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.fromText)+" "+vue.toDisplayString(m(V.minPrice)),1)]),_:2},1024)):vue.createCommentVNode("",!0),V.startDate?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:1,variant:"information",class:"rounded-top-end rounded-top-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(v(V.startDate,V.endDate)),1)]),_:2},1024)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_7$2,[V.categoryCard&&e.cardCategoryLabels[V.categoryCard]?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"highlight",class:"rounded-top-start rounded-bottom-start mx-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.cardCategoryLabels[V.categoryCard]),1)]),_:2},1024)):vue.createCommentVNode("",!0)])])]),"vs-card-body":vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsLink),{href:f(V),onClick:S=>p(V),class:"stretched-link",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(V.title),1)]),_:2},1032,["href","onClick"])]),_:2},1024),vue.createVNode(vue.unref(LoadingSpinner.VsBody),null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_8,vue.toDisplayString(V.description),1)]),_:2},1024)]),"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[V.location?(vue.openBlock(),vue.createElementBlock("div",_hoisted_10,[vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"fa-solid fa-location-dot",variant:"highlight",class:"me-050",size:"sm"}),vue.createVNode(vue.unref(VsDetail),{"no-margins":"",color:"tertiary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(V.location),1)]),_:2},1024)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[V.dataSrc==="data-thistle"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsIcon),{key:0,icon:"vs-icon-control-external-link",variant:"highlight",size:"sm"})):vue.createCommentVNode("",!0)])])]),_:2},1024))),128))]),_:1},8,["class"]),vue.unref(t).results&&s.value>1?(vue.openBlock(),vue.createBlock(vue.unref(_sfc_main$D),{key:0,class:"vs-federated-search__pagination","number-of-pages":s.value,"next-button-label":a.paginationLabels.nextButtonLabel,"previous-button-label":a.paginationLabels.previousButtonLabel,"page-label":a.paginationLabels.pageLabel,"of-label":a.paginationLabels.ofLabel,modelValue:vue.unref(t).currentPage,"onUpdate:modelValue":b[0]||(b[0]=V=>vue.unref(t).currentPage=V),onPageClick:d},null,8,["number-of-pages","next-button-label","previous-button-label","page-label","of-label","modelValue"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),o.value.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11,[o.value.error?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.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(a.searchLabels.noJs),1)]),_:1})]))}};var define_process_env_default={};function setScriptSrc(e,n){e.src=n}const bootstrap=e=>{var n,t,o,a="The Google Maps JavaScript API",r="google",s="importLibrary",i="__ib__",l=document,u=window,c=u[r]||(u[r]={}),d=c.maps||(c.maps={}),v=new Set,m=new URLSearchParams,f=()=>n||(n=new Promise(async(p,g)=>{var _;await(t=l.createElement("script")),m.set("libraries",[...v]+"");for(o in e)m.set(o.replace(/[A-Z]/g,h=>"_"+h[0].toLowerCase()),e[o]);m.set("callback",r+".maps."+i),setScriptSrc(t,"https://maps.googleapis.com/maps/api/js?"+m),d[i]=p,t.onerror=()=>n=g(Error(a+" could not load.")),t.nonce=((_=l.querySelector("script[nonce]"))==null?void 0:_.nonce)||"",l.head.append(t)}));d[s]?console.warn(a+" only loads once. Ignoring:",e):d[s]=(p,...g)=>v.add(p)&&f().then(()=>d[s](p,...g))},MSG_REPEATED_SET_OPTIONS=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,MSG_IMPORT_LIBRARY_EXISTS=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,MSG_SET_OPTIONS_NOT_CALLED="No options were set before calling importLibrary. Make sure to configure the loader using setOptions().",MSG_SCRIPT_ELEMENT_EXISTS="There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.",logDevWarning=define_process_env_default.NODE_ENV!=="production"?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=define_process_env_default.NODE_ENV!=="production"?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{};let setOptionsWasCalled_=!1;function setOptions(e){if(setOptionsWasCalled_){logDevWarning(MSG_REPEATED_SET_OPTIONS(e));return}installImportLibrary_(e),setOptionsWasCalled_=!0}async function importLibrary(e){var n,t;if(setOptionsWasCalled_||logDevWarning(MSG_SET_OPTIONS_NOT_CALLED),!((t=(n=window==null?void 0:window.google)==null?void 0:n.maps)!=null&&t.importLibrary))throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function installImportLibrary_(e){var t,o;const n=!!((o=(t=window.google)==null?void 0:t.maps)!=null&&o.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),o=vue.ref(0),a=vue.ref(0);return{sidebarOpen:e,timeMounted:n,firstInteraction:t,searchesCount:o,filterUsesCount:a}}),_hoisted_1$3={class:"px-125 pb-125"},_sfc_main$3={__name:"MapFeaturedLocationItem",props:{place:{type:Object,default:()=>{}}},setup(e){const n=e,t=vue.inject("onFeaturedLocationClick");function o(a){t(a)}return(a,r)=>(vue.openBlock(),vue.createBlock(VsCard,{"card-style":"overlay",class:"vs-map__controls-featured-place-card",onClick:r[2]||(r[2]=s=>o(n.place))},vue.createSlots({"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$3,[vue.createVNode(LoadingSpinner.VsHeading,{class:"vs-map__controls-featured-place-card-heading","heading-style":"heading-xxxs",level:"2","no-margins":""},{default:vue.withCtx(()=>[vue.createVNode(VsLink,{class:"stretched-link text-decoration-none",href:"#",variant:"on-dark",onKeyup:[r[0]||(r[0]=vue.withKeys(vue.withModifiers(s=>o(n.place),["prevent"]),["enter"])),r[1]||(r[1]=vue.withKeys(vue.withModifiers(s=>o(n.place),["prevent"]),["space"]))]},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.place.properties.title),1)]),_:1})]),_:1})])]),_:2},[n.place.properties.image?{name:"vs-card-image",fn:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{class:"vs-map__controls-featured-place-img w-100 rounded-1 object-fit-cover img-zoom-on-hover",src:n.place.properties.image,"use-lazy-loading":!1},null,8,["src"])]),key:"0"}:void 0]),1024))}},_hoisted_1$2={class:"category-title"},_hoisted_2$2={class:"vs-map__controls-featured-place-accordion-content p-075"},_sfc_main$2={__name:"MapFeaturedLocation",setup(e){const{categories:n,places:t}=vue.inject("featuredPlaces");function o(a){switch(a){case"cities":return"fa-regular fa-city";case"regions":return"fa-regular fa-map-location-dot";case"islands":return"fa-regular fa-island-tropical";case"towns":return"fa-regular fa-house-chimney-window";case"national-parks":return"fa-kit fa-vs-icon-national-park";default:return null}}return(a,r)=>vue.unref(n)&&vue.unref(t)?(vue.openBlock(),vue.createBlock(VsAccordion,{key:0},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(n),(s,i)=>(vue.openBlock(),vue.createBlock(VsAccordionItem,{key:i,"control-id":s.id,"open-by-default":s.id==="cities"},{title:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsIcon,{class:"me-025 fa-fw","custom-colour":"#200F2E",icon:o(s.id),size:"sm",variant:"highlight"},null,8,["icon"]),vue.createElementVNode("span",_hoisted_1$2,vue.toDisplayString(s.label),1)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(VsCardGroup,{"scroll-snap":"always"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t),l=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[l.properties.category.id===s.id?(vue.openBlock(),vue.createBlock(_sfc_main$3,{key:l.properties.id,place:l},null,8,["place"])):vue.createCommentVNode("",!0)],64))),256))]),_:2},1024)])]),_:2},1032,["control-id","open-by-default"]))),128))]),_:1})):vue.createCommentVNode("",!0)}},_hoisted_1$1={class:"vs-map-sidebar__header d-flex"},_hoisted_2$1={class:"vs-map-sidebar__content"},_hoisted_3$1={class:"vs-map-sidebar__input d-flex mt-100 mb-050"},_hoisted_4$1={key:1,class:"vs-map-sidebar__sub-filters-wrapper"},_hoisted_5$1={class:"vs-map-sidebar__search-results"},_hoisted_6$1={class:"vs-map-sidebar__google-maps-container mt-075"},_hoisted_7$1={key:0,class:"vs-map-sidebar__footer"},_sfc_main$1=vue.defineComponent({__name:"MapSidebar",props:{query:{type:String,default:""},selectedCategories:{type:String,default:""},headerLabel:{type:String,default:""},closeSidebarButtonLabel:{type:String,default:""},searchBarAriaLabel:{type:String,default:""},inputPlaceholderLabel:{type:String,default:""},searchButtonLabel:{type:String,default:""},clearMapLabel:{type:String,default:""},subFilterHeaderLabel:{type:String,default:""},searchResultsLabel:{type:String,default:""},openSidebarButtonLabel:{type:String,default:""}},emits:["search-input-changed","reset-map"],setup(e){const n=useGoogleMapStore(),t=e;return(o,a)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map-sidebar px-125",vue.unref(n).sidebarOpen?"d-block":"d-none"]),"data-test":"vs-map-sidebar",ref:"vsMapSidebar"},[vue.createElementVNode("div",_hoisted_1$1,[t.headerLabel?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"1","heading-style":"heading-xxs",class:"flex-grow-1",id:"vs-map-sidebar__heading","data-test":"vs-map-sidebar__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.headerLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__sidebar-control vs-map-siderbar__sidebar-control--dismiss","data-test":"vs-map-siderbar__sidebar-control--dismiss",icon:"vs-icon-control-dismiss","icon-only":"",variant:"subtle",onClick:a[0]||(a[0]=r=>vue.unref(n).sidebarOpen=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeSidebarButtonLabel),1)]),_:1})]),vue.createElementVNode("div",_hoisted_2$1,[vue.createElementVNode("div",_hoisted_3$1,[vue.createVNode(VsInput,{type:"text",autocomplete:"off","field-name":"vs-map-search-input","data-test":"vs-map-search-input",ref:"vs-search-input",placeholder:t.inputPlaceholderLabel,class:"vs-map-sidebar__input flex-grow-1","aria-label":t.searchBarAriaLabel,onKeyup:a[1]||(a[1]=vue.withKeys(vue.withModifiers(r=>o.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["placeholder","aria-label"]),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__search-button","data-test":"vs-map-sidebar__search-button",icon:"vs-icon-control-search","icon-only":"",rounded:!1,size:"lg",onClick:a[2]||(a[2]=vue.withModifiers(r=>o.$emit("search-input-changed"),["prevent"])),onKeyup:a[3]||(a[3]=vue.withKeys(vue.withModifiers(r=>o.$emit("search-input-changed"),["prevent"]),["enter"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonLabel),1)]),_:1})]),o.$props.query||o.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("a",{key:0,href:"#",class:"d-block","data-test":"vs-map-sidebar__reset-map",onClick:a[4]||(a[4]=vue.withModifiers(r=>o.$emit("reset-map"),["prevent"])),onKeyup:a[5]||(a[5]=vue.withKeys(vue.withModifiers(r=>o.$emit("reset-map"),["prevent"]),["enter"]))},vue.toDisplayString(t.clearMapLabel),33)):vue.createCommentVNode("",!0),o.$slots["vs-map-sidebar-sub-filters"]&&o.$slots["vs-map-sidebar-sub-filters"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createVNode(VsDetail,{class:"vs-map-sidebar__sub-filter-header",size:"small",color:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subFilterHeaderLabel),1)]),_:1}),vue.renderSlot(o.$slots,"vs-map-sidebar-sub-filters")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$1,[o.$props.query||o.$props.selectedCategories?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"2","heading-style":"heading-xxxs","data-test":"vs-map-sidebar__search-result-query"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchResultsLabel)+' "'+vue.toDisplayString(t.query||t.selectedCategories)+'" ',1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6$1,[vue.renderSlot(o.$slots,"vs-map-sidebar-search-results")])]),vue.createVNode(_sfc_main$2,{class:vue.normalizeClass(["mb-100",o.$props.query||o.$props.selectedCategories?"d-none":"d-block"])},null,8,["class"])]),o.$props.query||o.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$1,[...a[7]||(a[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:a[6]||(a[6]=r=>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),o=vue.computed(()=>typeof window<"u"&&window.bypassCookiesRequired?!0:n.value),a=vue.computed(()=>typeof window<"u"&&window.bypassCookiesLoaded?!0:{cookieManagerLoaded:t});function r(){t.value=!0}function s(){let i=!1;typeof CookieControl<"u"&&e.value&&(i=e.value.every(l=>CookieControl.getCategoryConsent(l)===!0)),n.value=i}return vue.onMounted(()=>{window.addEventListener("cookieManagerLoaded",()=>{r()}),window.addEventListener("cookiesUpdated",()=>{s()})}),{requiredCookies:e,cookiesAllowed:o,cookiesLoaded:a}};function dataLayerComposable(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function o(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 a(){return new Date(Date.now()).toISOString()}function r(l){const c={...e.GTMData,...l};return c.hit_timestamp=a(),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,v,m;switch(l){case"googleMapSearchEvent":c="map_search",d={event:c,search_query:u.search_query,search_map_location:u.search_map_location,search_results_count:u.search_results_count,search_usage_index:u.search_usage_index},v=r(d),m=o(LoadingSpinner.googleMapSearchTemplate,v);break;case"googleMapFilterEvent":c="map_filter_interaction",d={event:c,filter_type:u.filter_type,search_map_location:u.search_map_location,filter_selection:u.filter_selection,results_count:u.results_count,filter_usage_index:u.filter_usage_index},v=r(d),m=o(LoadingSpinner.googleMapFilterInteractionTemplate,v);break;case"googleMapTimeToFirstInteractionEvent":c="map_time_to_first_interaction",d={event:c,time_to_first_interaction_ms:u.time_to_first_interaction_ms,first_interaction_type:u.first_interaction_type},v=r(d),m=o(LoadingSpinner.googleMapTimeToFirstInteractionTemplate,v);break;case"googleMapInteractionEvent":c="map_interaction_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,map_location:u.map_location,visible_attractions_count:u.visible_attractions_count,card_attraction_name:u.card_attraction_name,card_attraction_category:u.card_attraction_category,card_attraction_url:u.card_attraction_url,card_attraction_rating:u.card_attraction_rating,interaction_timestamp_ms:u.interaction_timestamp_ms},v=r(d),m=o(LoadingSpinner.googleMapInteractionTemplate,v);break}m&&s(m)}return{pageUrl:t,createDataLayerObject:i,templateFiller:o,compileFullTemplate:r,returnIsoDate:a,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1={class:"vs-map"},_hoisted_2={class:"vs-map__controls"},_hoisted_3={class:"vs-map-sidebar__sub-filters"},_hoisted_4={key:0},_hoisted_5={key:0,class:"vs-map__filter-controls"},_hoisted_6={class:"vs-map__wrapper"},_hoisted_7={id:"vs-map","map-id":"vs-map",ref:"vsMap"},MAX_ZOOM=17,CATEGORY_VISIBLE_ZOOM=11,NUMBER_OF_RESULTS=20,_sfc_main={__name:"MainMap",props:{apiKey:{type:String,default:getEnvValue("GOOGLE_MAPS_API_KEY")},mapId:{type:String,default:"vs-map"},mapTypeVector:{type:Boolean,default:!1},center:{type:Object,default:()=>({lat:56.490153,lng:-4.10959})},zoom:{type:Number,default:6},radius:{type:Number,default:1e3},labels:{type:Object,default:()=>{}},languageCode:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},categoriesLocation:{type:String,default:""},categoryLabels:{type:Object,default:()=>{}},featuredPlaces:{type:Object,default:void 0},jsDisabled:{type:Boolean,required:!0},noJsMessage:{type:String,required:!0},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noResultsMessage:{type:String,required:!0},resetMapNoResultsMessage:{type:String,required:!0},alertText:{type:String,default:void 0}},setup(e){const n=dataLayerComposable(),t=e,o=t.categoryLabels.find(N=>N.id==="destinations"),a=o?o.subCategory:null;vue.provide("featuredPlaces",{categories:a,places:t.featuredPlaces}),vue.provide("onFeaturedLocationClick",ye);let r,s,i,l,u,c,d,v,m,f,p={},g;const _=vue.ref(),h=vue.ref(new Set),b=vue.ref(),V=vue.ref(new Set),S=vue.ref(new Set),$=vue.ref(new Set),w=vue.ref(new Set),k=vue.ref(),P=vue.ref(),O=vue.ref(t.zoom),B=vue.ref(!1),T=vue.ref(),L=vue.ref(new Set),E=vue.ref(),z=vue.ref(!1),F=vue.ref(void 0),A=vue.computed(()=>{const N=new Map,I=Y[_.value].subCategory;return Object.values(I).forEach(M=>{N.set(M.id,{includedTypes:M.includedType,excludedTypes:M.excludedType})}),N}),C=useGoogleMapStore(),D=vue.ref(void 0);let R;const G=vue.ref(void 0),U={north:60.8,south:54.8,west:-8.5,east:-.7};let Y={};const X=t.categoryLabels;let W=0;vue.onBeforeMount(()=>{const N=cookieCheckerComposable();N.requiredCookies.value=cookieValues$5.google_maps,R=vue.computed(()=>!N.cookiesAllowed.value&&N.cookiesLoaded.value===!0||!N.cookiesLoaded.value?(G.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(I=>{Y=I.data,F.value=I.data.accommodation.keywords}).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")}}s=document.getElementById("vs-map"),i=document.getElementById("nearbySearch"),l=document.getElementById("textSearch"),u=document.querySelector("gmp-place-text-search-request"),c=document.querySelector("gmp-place-nearby-search-request"),d=document.querySelector("gmp-place-details"),v=document.getElementById("placeRequest"),m=document.getElementById("vs-map-search-input");async function N(){try{const I={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:U},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1,gestureHandling:"greedy"};if(s)r=new google.maps.Map(s,I),r.fitBounds(U);else throw new Error("Init error, mapContainer undefined")}catch(I){console.error("Maps init error",I.message)}f=new google.maps.InfoWindow,f.addListener("closeclick",()=>{se("card_close",v.place)}),Z(),r.addListener("zoom_changed",()=>{O.value=r.getZoom(),O.value<CATEGORY_VISIBLE_ZOOM?Z():Z(!0)}),r.addListener("idle",()=>{g=_e()}),i.addEventListener("gmp-select",({place:I})=>{p[I.id]&&ce(I,p[I.id])}),l.addEventListener("gmp-select",({place:I})=>{p[I.id]&&ce(I,p[I.id])})}C.firstInteraction=!1,C.searchesCount=0,C.filterUsesCount=0,R.value===!1&&await N()});function Z(N){const I={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},M=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ7Q8cbLY0ZEgRouilirxxux4","ChIJ1YEuRDCFY0gRDeDw8bxbAuo","ChIJv-VNj0VoEkYRK9BkuJ07sKE","ChIJ-1-U7rYnS0YRzZLgw9BDh1I","ChIJ8fA1bTmyXEYRYm-tjaLruCI","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8","ChIJa76xwh5ymkcRW-WRjmtd6HU","ChIJu-SH28MJxkcRnwq9_851obM","ChIJuwtkpGSZAEcR6lXMScpzdQk","ChIJl5fz7WR9wUcR8g_mObTy60c","ChIJMVd4MymgVA0R99lHx5Y__Ws","ChIJ_ZqKe2cw6UYREPzyaM3PAAA","ChIJE74zDxSU3UYRubpdpdNUCvM","ChIJ4wsuREWc40YRewI60MRYJR4","ChIJ_UuggpyUkkYRwyW0T7qf6kA","ChIJ3fYyS9_KgUYREKh1PNZGAQA","ChIJQ2Dro1Ir0kgRmkXB5TQEim8","ChIJFXfA47sNok4RGOIUAYOdzzQ","ChIJI9HkgQm_ikYR8i7GR23fEbY","ChIJUXXYvLMei0YR7zdFQUIM8bA","ChIJRyEhyrlFlUcR75LTAvZg22Q"],q=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8"],H=r.getFeatureLayer(google.maps.FeatureType.COUNTRY),j=r.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);N?(H.style=null,j.style=null,H.style=J=>{if(q.includes(J.feature.placeId))return I},j.style=J=>{if(q.includes(J.feature.placeId))return I}):(H.style=J=>{if(M.includes(J.feature.placeId))return I},j.style=J=>{if(M.includes(J.feature.placeId))return I})}function te(N,I){ue(),_.value=N,Y[N].includedType&&V.value.add(Y[N].includedType),Object.values(Y[N].subCategory).forEach(M=>V.value.add(M.includedType)),Object.values(Y[N].subCategory).forEach(M=>{M.excludedType&&S.value.add(M.excludedType)}),V.value=new Set(Array.from(V.value).flat()),S.value=new Set(Array.from(S.value).flat()),V.value.forEach(M=>{S.value.has(M)&&S.value.delete(M)}),b.value=Y[N],k.value=I,de({includedTypes:Array.from(V.value),excludedTypes:Array.from(S.value)}),T.value=X[k.value].label,m.value=T.value}function ee(N,I){const M=vue.ref([]),q=vue.ref();return N.forEach(()=>{X.forEach(H=>{H.id===_.value&&(M.value=H)}),Object.values(M.value).forEach(H=>{Object.values(H).forEach(j=>{I===j.id&&(q.value=j.label)})})}),q}function oe(){$.value.forEach(N=>{w.value.has(N)&&w.value.delete(N)})}function ae(N,{includeTypes:I=!1,excludeTypes:M=!1,removeIncludedTypes:q=!1,removeExcludedTypes:H=!1}={}){var J;const j=A.value.get(N);I&&j.includedTypes.forEach(Q=>{I&&$.value.add(Q),q&&$.value.delete(Q)}),(M||H)&&((J=j.excludedTypes)==null||J.forEach(Q=>{M&&w.value.add(Q),H&&w.value.delete(Q)}))}function ie(N,I){if(P.value=I,N==="self-catering"){z.value=!0,ve(),h.value=new Set,h.value.add(N);const M=ee(h.value,N).value;T.value=ee(h.value,N).value,ue(),m.value=T.value,fe(),m.value=M}else h.value.has(N)?(h.value.delete(N),$.value=new Set,w.value=new Set,h.value.forEach(M=>{ae(M,{includeTypes:!0,excludeTypes:!0})}),oe(),L.value.delete(ee(h.value,N).value),h.value.size===0?(L.value=new Set,te(_.value,k.value)):(de({includedTypes:Array.from($.value).flat(),excludedTypes:Array.from(w.value).flat()}),T.value=Array.from(L.value).join(", "),m.value=T.value)):(h.value.add(N),ae(N,{includeTypes:!0,excludeTypes:!0}),oe(),de({includedTypes:Array.from($.value).flat(),excludedTypes:Array.from(w.value).flat()}),L.value.add(ee(h.value,N).value),T.value=Array.from(L.value).join(", "),m.value=T.value)}async function de({includedTypes:N=[],excludedTypes:I=[]}={}){le(),ve(),W+=1;const M=W;C.filterUsesCount+=1,E.value="nearby";const q=r.getBounds(),H=q.getNorthEast(),j=q.getSouthWest(),J=google.maps.geometry.spherical.computeDistanceBetween(H,j),Q=Math.min(J/2,25e3);c.includedTypes=N,c.excludedTypes=I??[],c.maxResultCount=NUMBER_OF_RESULTS,c.locationRestriction={center:r.getCenter(),radius:Q},i.style.display="block",i.addEventListener("gmp-load",()=>{if(M!==W)return;pe(M);let ne="main",he=_.value;h.value.size&&(ne="sub",he=Array.from(h.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:ne,search_map_location:r.getCenter().toString(),filter_selection:he,results_count:i.places.length,filter_usage_index:C.filterUsesCount}),me("map_filter")},{once:!0})}async function fe(){le(),ue(),W+=1;const N=W;C.searchesCount+=1,E.value="text",T.value=m.value.trim(),T.value&&(z.value?(u.locationBias=null,u.locationRestriction=r.getBounds()):(u.locationRestriction=null,u.locationBias=r.getCenter()),u.includedType=F.value.some(I=>T.value.toLowerCase().includes(I))?"lodging":null,u.textQuery=`${T.value} in Scotland`,u.maxResultCount=NUMBER_OF_RESULTS,l.style.display="block",l.addEventListener("gmp-load",()=>{N===W&&(pe(N),z.value=!1,n.createDataLayerObject("googleMapSearchEvent",{search_query:T.value,search_map_location:r.getCenter().toString(),search_results_count:l.places.length,search_usage_index:C.searchesCount}),me("map_search"))},{once:!0}))}async function pe(N){const{AdvancedMarkerElement:I}=await importLibrary("marker"),{LatLngBounds:M}=await importLibrary("core");if(N!==W)return;const q=vue.ref();E.value==="nearby"?q.value=i:E.value==="text"?q.value=l:console.error("Unrecognised Search type"),q.value.places.length===0?(D.value=!0,q.value.style.display="none"):(D.value=!1,q.value.style.display="block");const H=new M;q.value.places&&q.value.places.forEach(j=>{const J=document.createElement("div");J.classList.add("vs-map-marker");const Q=document.createElement("i");Q.classList.add("fa-solid","fa-location-dot"),J.appendChild(Q);const ne=new I({map:r,position:j.location,content:J,title:"Map pin"});ne.addEventListener("gmp-placeclick",()=>{ce(j)}),ne.addListener("click",()=>{ce(j)}),ne.metadata={id:j.id},p[j.id]=ne,H.extend(j.location),q.value.places.length===1?(r.setCenter({lat:j.location.lat(),lng:j.location.lng()}),r.setZoom(14),r.fitBounds(j.viewport)):(r.setCenter(H.getCenter()),r.fitBounds(H))})}function le(N,I){ge(),E.value="",i.style.display="none",l.style.display="none",u.textQuery=null,B.value=!1,f&&f.close&&f.close(),D.value=void 0,N&&(ve(),ue(),se("clear_all")),I&&(r.setCenter(t.center),r.setZoom(t.zoom),r.fitBounds(U),se("reset_map"))}function ve(){T.value=null,m.value=""}function ue(){_.value=void 0,h.value=new Set,V.value=new Set,S.value=new Set,$.value=new Set,w.value=new Set,L.value=new Set,k.value=void 0,P.value=void 0}function ge(){for(const N in p)p[N]&&(p[N].map=null);p={}}function ce(N){f.isOpen&&(f.close(),se("card_close",v.place)),v.place=N,window.innerWidth<=768?(d.style.width="85vw",d.style.height="32em",C.sidebarOpen=!1):(d.style.width="20em",d.style.height="32em"),d.style.display="block",d.style.overflowY="auto",d.style.overflowX="hidden",d.style.boxSizing="border-box",d.style.maxHeight="32em",f.setOptions({content:d,maxWidth:"25em",position:N.location,pixelOffset:new google.maps.Size(0,-32)}),f.open({map:r}),google.maps.event.addListenerOnce(r,"idle",()=>{r.getZoom()>MAX_ZOOM&&r.setZoom(MAX_ZOOM),se("card_open",N)}),r.setCenter(N.location)}async function se(N,I){let M="",q="",H="",j="";I&&(await I.fetchFields({fields:["displayName","primaryType","rating","websiteURI"]}),M=I.displayName,q=I.rating,H=I.websiteURI,j=I.primaryType),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:N,search_query:m.value.trim(),map_location:r.getCenter().toString(),visible_attractions_count:g,card_attraction_name:M,card_attraction_category:j,card_attraction_rating:q,card_attraction_url:H,interaction_timestamp_ms:Date.now()}),me(N)}function me(N){if(!C.firstInteraction){const M=Date.now()-C.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:M,first_interaction_type:N}),C.firstInteraction=!0}}function _e(){const N=r.getBounds();if(!N)return 0;let I=0;for(let M=0;M<Object.keys(p).length;M++){const H=p[Object.keys(p)[M]].position;N.contains(H)&&(I+=1)}return I}function ye(N){r.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(N.properties.viewport.low.latitude,N.properties.viewport.low.longitude),new google.maps.LatLng(N.properties.viewport.high.latitude,N.properties.viewport.high.longitude))),r.setCenter(new google.maps.LatLng(N.properties.locationCentre.latitude,N.properties.locationCentre.longitude)),te("things-to-do",2),B.value=!0}return(N,I)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(R)?"d-none":""])},[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{query:T.value,"selected-categories":_.value,"header-label":t.labels.heading,"close-sidebar-button-label":t.labels.closeSidebarBtn,"search-bar-aria-label":t.labels.searchBarAriaLabel,"input-placeholder-label":t.labels.inputPlaceholder,"search-button-label":t.labels.searchButton,"clear-map-label":t.labels.clearMap,"sub-filter-header-label":t.labels.subFilterHeader,"search-results-label":t.labels.searchResults,"open-sidebar-button-label":t.labels.openSidebarButton,onSearchInputChanged:fe,onResetMap:I[1]||(I[1]=M=>le(!0))},vue.createSlots({"vs-map-sidebar-search-results":vue.withCtx(()=>[D.value||t.alertText&&D.value===!1?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,class:"mt-075 mb-150",id:"vs-map__alert",size:"small"},{default:vue.withCtx(()=>[D.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4,[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage)+" ",1),vue.createElementVNode("a",{href:"#",onClick:I[0]||(I[0]=vue.withModifiers(M=>le(!0,!0),["prevent"]))},vue.toDisplayString(e.resetMapNoResultsMessage),1)])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createTextVNode(vue.toDisplayString(e.alertText),1)],64))]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>[...I[2]||(I[2]=[vue.createElementVNode("div",{id:"search-container"},[vue.createElementVNode("gmp-place-search",{id:"nearbySearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-nearby-search-request",{id:"nearbySearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])]),vue.createElementVNode("gmp-place-search",{id:"textSearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-text-search-request",{id:"textSearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])]),_:1}))]),_:2},[_.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(X)[k.value].subCategory,(M,q)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:q,variant:h.value.has(M.id)?"primary":"secondary",size:"sm",onClick:H=>ie(M.id,q)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(M.label),1)]),_:2},1032,["variant","onClick"]))),128))])]),key:"0"}:void 0]),1032,["query","selected-categories","header-label","close-sidebar-button-label","search-bar-aria-label","input-placeholder-label","search-button-label","clear-map-label","sub-filter-header-label","search-results-label","open-sidebar-button-label"]),(O.value>=CATEGORY_VISIBLE_ZOOM||B.value)&&vue.unref(C).sidebarOpen&&Object.keys(vue.unref(Y)).length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(X),(M,q)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:q},[M.cmsData?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:0,class:"vs-map__filter-controls-button",variant:_.value===M.id?"primary":"secondary",onClick:vue.withModifiers(H=>te(M.id,q),["prevent"]),icon:Object.values(vue.unref(Y))[q].icon},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(M.label),1)]),_:2},1032,["variant","onClick","icon"]))],64))),128))])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("div",_hoisted_7,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>[...I[3]||(I[3]=[vue.createElementVNode("div",{id:"detail-container"},[vue.createElementVNode("gmp-place-details",{id:"placeDetails",style:{display:"none"}},[vue.createElementVNode("gmp-place-details-place-request",{id:"placeRequest"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-website"),vue.createElementVNode("gmp-place-phone-number"),vue.createElementVNode("gmp-place-summary"),vue.createElementVNode("gmp-place-type-specific-highlights"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-feature-list"),vue.createElementVNode("gmp-place-media",{"lightbox-preferred":""}),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])]),_:1}))])],2),vue.unref(R)&&G.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.createVNode(vue.unref(LoadingSpinner.VsWarning),{class:"vs-map__warning vs-map__warning--no-js","data-test":"vs-map__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noJsMessage),1)]),_:1})]))}};exports.VsBody=LoadingSpinner.VsBody;exports.VsButton=LoadingSpinner.VsButton;exports.VsButtonToggleGroup=LoadingSpinner.VsButtonToggleGroup;exports.VsCol=LoadingSpinner.VsCol;exports.VsContainer=LoadingSpinner.VsContainer;exports.VsHeading=LoadingSpinner.VsHeading;exports.VsIcon=LoadingSpinner.VsIcon;exports.VsImg=LoadingSpinner.VsImg;exports.VsLoadingSpinner=LoadingSpinner.VsLoading;exports.VsRow=LoadingSpinner.VsRow;exports.VsWarning=LoadingSpinner.VsWarning;exports.VsAccordion=VsAccordion;exports.VsAccordionItem=VsAccordionItem;exports.VsAccordionToggle=VsAccordionToggle;exports.VsAddress=Address;exports.VsAlert=VsAlert;exports.VsArticle=Article;exports.VsArticleDetails=ArticleDetails;exports.VsArticleSection=ArticleSection;exports.VsArticleSidebar=ArticleSidebar;exports.VsBackToTop=_sfc_main$2u;exports.VsBadge=VsBadge;exports.VsBanner=Banner;exports.VsBreadcrumb=Breadcrumb;exports.VsBreadcrumbItem=BreadcrumbItem;exports.VsCannedSearch=CannedSearch;exports.VsCaption=Caption;exports.VsCarbonCalculator=CarbonCalculator;exports.VsCard=VsCard;exports.VsCardGroup=VsCardGroup;exports.VsCarousel=VsCarousel;exports.VsCarouselSlide=CarouselSlide;exports.VsCheckbox=VsCheckbox;exports.VsDescriptionList=DescriptionList;exports.VsDescriptionListItem=DescriptionListItem;exports.VsDetail=VsDetail;exports.VsDropdown=VsDropdown;exports.VsDropdownItem=VsDropdownItem;exports.VsEmbedWrapper=EmbedWrapper;exports.VsEventCard=EventCard;exports.VsFederatedSearch=_sfc_main$4;exports.VsFederatedSearchInput=_sfc_main$6;exports.VsFilter=_sfc_main$1K;exports.VsFilterSection=_sfc_main$1J;exports.VsFooter=Footer;exports.VsFooterAccordionItem=FooterAccordionItem;exports.VsFooterCopyright=FooterCopyright;exports.VsFooterNavListItem=FooterNavListItem;exports.VsFooterSocialItem=FooterSocialItem;exports.VsFooterSocialMenu=FooterSocialMenu;exports.VsFooterUtilityList=FooterUtilityList;exports.VsForm=Form;exports.VsGlobalMenu=GlobalMenu;exports.VsGlobalMenuLanguage=GlobalMenuLanguage;exports.VsGlobalMenuLanguageItem=GlobalMenuLanguageItem;exports.VsHeroSection=HeroSection;exports.VsHtmlError=HtmlError;exports.VsIconList=IconList;exports.VsIconListItem=IconListItem;exports.VsIllustratedMap=IllustratedMap;exports.VsImageWithCaption=ImageWithCaption;exports.VsInput=VsInput;exports.VsItinerary=Itinerary;exports.VsItineraryBorderOverlapWrapper=ItineraryBorderOverlapWrapper;exports.VsItineraryDay=ItineraryDay;exports.VsItineraryStop=ItineraryStop;exports.VsItineraryStopInfo=ItineraryStopInfo;exports.VsItineraryTips=ItineraryTips;exports.VsLink=VsLink;exports.VsLinkList=VsLinkList;exports.VsLinkListItem=LinkListItem;exports.VsList=VsList;exports.VsListicleItem=ListicleItem;exports.VsMainMap=_sfc_main;exports.VsMediaCaption=VsMediaCaption;exports.VsMegaNavAccordionItem=MegaNavAccordionItem;exports.VsMegaNavDropdownContainer=MegaNavDropdownContainer;exports.VsMegaNavFeaturedEvent=MegaNavFeaturedEvent;exports.VsMegaNavFeaturedItem=MegaNavFeaturedItem;exports.VsMegaNavList=MegaNavList;exports.VsMegaNavListItem=MegaNavListItem;exports.VsMegaNavStaticLink=MegaNavStaticLink;exports.VsMegalinkLinkList=MegalinkLinkList;exports.VsMegalinkMultiImage=MegalinkMultiImage;exports.VsMegalinkSingleImage=MegalinkSingleImage;exports.VsMegalinks=Megalinks;exports.VsMeganav=MegaNav;exports.VsModal=Modal;exports.VsModuleWrapper=VsModuleWrapper;exports.VsNavigationBar=NavigationBar;exports.VsNavigationBarMenu=NavigationBarMenu;exports.VsNavigationBarMenuDropdown=NavigationBarMenuDropdown;exports.VsNavigationBarMenuItem=NavigationBarMenuItem;exports.VsNavigationBarSearch=NavigationBarSearch;exports.VsNavigationBarSidebar=VsNavigationSidebar;exports.VsNavigationBarSidebarButton=VsNavigationBarSidebarButton;exports.VsNumberInput=VsNumberInput;exports.VsPageIntro=PageIntro;exports.VsPagination=_sfc_main$D;exports.VsPanel=Panel;exports.VsProductSearch=ProductSearch;exports.VsProgressBar=VsProgressBar;exports.VsQuote=Quote;exports.VsRadioButton=VsRadioButton;exports.VsRecaptcha=VsRecaptcha;exports.VsSectionHeader=SectionHeader;exports.VsSelect=VsSelect;exports.VsSiteSearch=VsSiteSearch;exports.VsSiteSearchForm=VsSiteSearchForm;exports.VsSkiScotlandCard=SkiScotlandCard;exports.VsSkiScotlandStatus=SkiScotlandStatus;exports.VsSkipTo=SkipTo;exports.VsSocialCreditLink=SocialCreditLink;exports.VsSocialShare=SocialShare;exports.VsSocialShareItem=SocialShareItem;exports.VsSpotlightSection=SpotlightSection;exports.VsStretchedLinkCard=VsStretchedLinkCard;exports.VsStretchedLinkPanel=VsStretchedLinkPanels;exports.VsStyledList=_sfc_main$g;exports.VsStyledListItem=_sfc_main$f;exports.VsSummaryBoxDistanceListItem=SummaryBoxDistanceListItem;exports.VsSummaryBoxList=SummaryBoxList;exports.VsSummaryBoxListItem=SummaryBoxListItem;exports.VsSvg=VsSvg;exports.VsSvgLink=VsSvgLink;exports.VsTabItem=TabItem;exports.VsTable=VsTable;exports.VsTableBody=VsTableBody;exports.VsTableDataCell=VsTableDataCell;exports.VsTableFooter=VsTableFooter;exports.VsTableHead=VsTableHead;exports.VsTableHeaderCell=VsTableHeaderCell;exports.VsTableRow=VsTableRow;exports.VsTabs=Tabs;exports.VsTag=Tag;exports.VsTagManagerWrapper=TagManagerWrapper;exports.VsTextarea=VsTextarea;exports.VsToggleButton=VsToggleButton;exports.VsTooltip=VsTooltip;exports.VsTourismInfo=TourismInfo;exports.VsVideo=VsVideo;exports.VsVideoCaption=VsVideoCaption;