@visitscotland/component-library 5.47.0 → 5.49.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.
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
pointer-events: none;
|
|
148
148
|
opacity: 0.3;
|
|
149
149
|
}
|
|
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:"prototype",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:"prototype",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;/**
|
|
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
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.
|