@visitscotland/component-library 5.41.3 → 5.41.5
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.
- package/dist/client/manifest.json +35 -35
- package/dist/client/scripts/2290109a2b19f24f7f67.js +1 -0
- package/dist/client/scripts/{afc9f6feeeb6ccee3444.js → 650a4d8c173040ed7812.js} +1 -1
- package/dist/client/scripts/66d53fffb25ec07a1aa7.js +1 -0
- package/dist/client/scripts/{71b241071729dc532d67.js → a1d3f1a72e58f869f748.js} +1 -1
- package/dist/client/scripts/{bbaf958fabd4d44ef24a.js → b83b6b4191840a25baa5.js} +1 -1
- package/dist/client/scripts/{138b618288d7622af472.js → ee1d435693f0ce65b853.js} +1 -1
- package/dist/components/src/components/embed-wrapper/EmbedWrapper.vue.d.ts +1 -0
- package/dist/components/vs-component-library-maps.js +12 -12
- package/dist/components/vs-component-library-maps.mjs +3 -0
- package/dist/components/vs-component-library.js +2 -2
- package/dist/components/vs-component-library.mjs +407 -400
- package/dist/ssr/index.js +1 -1
- package/dist/ssr/manifest.json +1 -1
- package/package.json +1 -1
- package/dist/client/scripts/8abb35c450930c27b128.js +0 -1
- package/dist/client/scripts/d6f35cfcf4b0aafd6e5d.js +0 -1
- /package/dist/client/styles/{8abb35c450930c27b128.css → 2290109a2b19f24f7f67.css} +0 -0
- /package/dist/client/styles/{afc9f6feeeb6ccee3444.css → 650a4d8c173040ed7812.css} +0 -0
- /package/dist/client/styles/{d6f35cfcf4b0aafd6e5d.css → 66d53fffb25ec07a1aa7.css} +0 -0
- /package/dist/client/styles/{bbaf958fabd4d44ef24a.css → b83b6b4191840a25baa5.css} +0 -0
- /package/dist/client/styles/{138b618288d7622af472.css → ee1d435693f0ce65b853.css} +0 -0
- /package/dist/ssr/styles/{65288c66f791dd6126f4.css → c46f7f8ca1912b03befc.css} +0 -0
|
@@ -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,a,r,o){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),a=vue.ref("horizontal"),r=vue.ref({});return vue.watch(n.updates,()=>{e.value!==void 0&&(t.value=n.scales.secondary.scale(e.value)),r.value=n.canvas,a.value=n.config.direction},{immediate:!0}),vue.watch(()=>e.value,()=>{t.value=n.scales.secondary.scale(e.value)},{immediate:!0}),{y:t,canvas:r,direction:a}}});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,a,r,o){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,a=t&&t.length;if(!a)n=1;else for(;--a>=0;)n+=t[a].value;e.value=n}function node_count(){return this.eachAfter(count)}function node_each(e,n){let t=-1;for(const a of this)e.call(n,a,++t,this);return this}function node_eachBefore(e,n){for(var t=this,a=[t],r,o,s=-1;t=a.pop();)if(e.call(n,t,++s,this),r=t.children)for(o=r.length-1;o>=0;--o)a.push(r[o]);return this}function node_eachAfter(e,n){for(var t=this,a=[t],r=[],o,s,i,l=-1;t=a.pop();)if(r.push(t),o=t.children)for(s=0,i=o.length;s<i;++s)a.push(o[s]);for(;t=r.pop();)e.call(n,t,++l,this);return this}function node_find(e,n){let t=-1;for(const a of this)if(e.call(n,a,++t,this))return a}function node_sum(e){return this.eachAfter(function(n){for(var t=+e(n.data)||0,a=n.children,r=a&&a.length;--r>=0;)t+=a[r].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),a=[n];n!==t;)n=n.parent,a.push(n);for(var r=a.length;e!==t;)a.splice(r,0,e),e=e.parent;return a}function leastCommonAncestor(e,n){if(e===n)return e;var t=e.ancestors(),a=n.ancestors(),r=null;for(e=t.pop(),n=a.pop();e===n;)r=e,e=t.pop(),n=a.pop();return r}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],a,r,o;do for(n=t.reverse(),t=[];e=n.pop();)if(yield e,a=e.children)for(r=0,o=a.length;r<o;++r)t.push(a[r]);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$2(e),a,r=[t],o,s,i,l;a=r.pop();)if((s=n(a.data))&&(l=(s=Array.from(s)).length))for(a.children=s,i=l-1;i>=0;--i)r.push(o=s[i]=new Node$2(s[i])),o.parent=a,o.depth=a.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$2(e){this.data=e,this.depth=this.height=0,this.parent=null}Node$2.prototype=hierarchy.prototype={constructor:Node$2,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,a,r){for(var o=e.children,s,i=-1,l=o.length,u=e.value&&(a-n)/e.value;++i<l;)s=o[i],s.y0=t,s.y1=r,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 a(r){var o=Array.from(r),s=e,i=n,l,u,c,d,f,v,p,h,g=new Map;if(t!=null){const _=o.map((S,C)=>normalize(t(S,C,r))),m=_.map(parentof),b=new Set(_).add("");for(const S of m)b.has(S)||(b.add(S),_.push(S),m.push(parentof(S)),o.push(imputed));s=(S,C)=>_[C],i=(S,C)=>m[C]}for(c=0,l=o.length;c<l;++c)u=o[c],v=o[c]=new Node$2(u),(p=s(u,c,r))!=null&&(p+="")&&(h=v.id=p,g.set(h,g.has(h)?ambiguous:v)),(p=i(u,c,r))!=null&&(p+="")&&(v.parent=p);for(c=0;c<l;++c)if(v=o[c],p=v.parent){if(f=g.get(p),!f)throw new Error("missing: "+p);if(f===ambiguous)throw new Error("ambiguous: "+p);f.children?f.children.push(v):f.children=[v],v.parent=f}else{if(d)throw new Error("multiple roots");d=v}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 _=o.length-1;_>=0&&(v=o[_],v.data===imputed);--_)v.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 a.id=function(r){return arguments.length?(e=optional(r),a):e},a.parentId=function(r){return arguments.length?(n=optional(r),a):n},a.path=function(r){return arguments.length?(t=optional(r),a):t},a}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,a,r){for(var o=e.children,s,i=-1,l=o.length,u=e.value&&(r-t)/e.value;++i<l;)s=o[i],s.x0=n,s.x1=a,s.y0=t,s.y1=t+=s.value*u}var phi=(1+Math.sqrt(5))/2;function squarifyRatio(e,n,t,a,r,o){for(var s=[],i=n.children,l,u,c=0,d=0,f=i.length,v,p,h=n.value,g,_,m,b,S,C,V;c<f;){v=r-t,p=o-a;do g=i[d++].value;while(!g&&d<f);for(_=m=g,C=Math.max(p/v,v/p)/(h*e),V=g*g*C,S=Math.max(m/V,V/_);d<f;++d){if(g+=u=i[d].value,u<_&&(_=u),u>m&&(m=u),V=g*g*C,b=Math.max(m/V,V/_),b>S){g-=u;break}S=b}s.push(l={value:g,dice:v<p,children:i.slice(c,d)}),l.dice?treemapDice(l,t,a,r,h?a+=p*g/h:o):treemapSlice(l,t,a,h?t+=v*g/h:r,o),h-=g,c=d}return s}var squarify=function e(n){function t(a,r,o,s,i){squarifyRatio(n,a,r,o,s,i)}return t.ratio=function(a){return e((a=+a)>1?a:1)},t}(phi);function treemap(){var e=squarify,n=!1,t=1,a=1,r=[0],o=constantZero,s=constantZero,i=constantZero,l=constantZero,u=constantZero;function c(f){return f.x0=f.y0=0,f.x1=t,f.y1=a,f.eachBefore(d),r=[0],n&&f.eachBefore(roundNode),f}function d(f){var v=r[f.depth],p=f.x0+v,h=f.y0+v,g=f.x1-v,_=f.y1-v;g<p&&(p=g=(p+g)/2),_<h&&(h=_=(h+_)/2),f.x0=p,f.y0=h,f.x1=g,f.y1=_,f.children&&(v=r[f.depth+1]=o(f)/2,p+=u(f)-v,h+=s(f)-v,g-=i(f)-v,_-=l(f)-v,g<p&&(p=g=(p+g)/2),_<h&&(h=_=(h+_)/2),e(f,p,h,g,_))}return c.round=function(f){return arguments.length?(n=!!f,c):n},c.size=function(f){return arguments.length?(t=+f[0],a=+f[1],c):[t,a]},c.tile=function(f){return arguments.length?(e=required$2(f),c):e},c.padding=function(f){return arguments.length?c.paddingInner(f).paddingOuter(f):c.paddingInner()},c.paddingInner=function(f){return arguments.length?(o=typeof f=="function"?f:constant(+f),c):o},c.paddingOuter=function(f){return arguments.length?c.paddingTop(f).paddingRight(f).paddingBottom(f).paddingLeft(f):c.paddingTop()},c.paddingTop=function(f){return arguments.length?(s=typeof f=="function"?f:constant(+f),c):s},c.paddingRight=function(f){return arguments.length?(i=typeof f=="function"?f:constant(+f),c):i},c.paddingBottom=function(f){return arguments.length?(l=typeof f=="function"?f:constant(+f),c):l},c.paddingLeft=function(f){return arguments.length?(u=typeof f=="function"?f:constant(+f),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),a=vue.ref(null),r=vue.ref({x:e.margin.left,y:e.margin.top,width:e.size.width-e.margin.right,height:e.size.height-e.margin.bottom}),o=vue.ref([]);function s(){const v=extent(t.value.map(g=>g[e.dataKeys[1]])),p=linear().domain(v).range([0,100]).nice(),h=sequential().domain(v).interpolator(e.colorFn());return{x:p,y:h}}function i(){const{y:v}=s();return l(t.value).leaves().map((h,g)=>({idx:g,x0:r.value.x+h.x0,x1:r.value.x+h.x1,y0:r.value.y+h.y0,y1:r.value.y+h.y1,width:h.x1-h.x0,height:h.y1-h.y0,data:h.data,color:v(h.value)}))}function l(v){const{x:p}=s(),h=treemap().size([r.value.width-r.value.x,r.value.height-r.value.y]).padding(e.padding),_=stratify().id(m=>m.name).parentId(m=>m.parent)([{name:"root"}].concat(v.map(m=>({name:m[e.dataKeys[0]],value:m[e.dataKeys[1]],parent:"root"}))));return _.sum(m=>p(m.value)),h(_),_}const u=v=>mapKeys(kebabize,v),c=v=>{const p={stroke:v.color,strokeWidth:5,fill:v.color,fillOpacity:.9};return e.rcStyle&&typeof e.rcStyle=="function"?Object.assign(Object.assign({},p),e.rcStyle(v)):p};function d(v){a.value=v}function f(){a.value=null}return vue.watch(e,()=>{t.value=e.data,r.value={x:e.margin.left,y:e.margin.top,width:e.size.width-e.margin.right,height:e.size.height-e.margin.bottom},o.value=i()},{immediate:!0}),{el:n,rectangles:o,selected:a,getStyle:c,toKebabCase:u,onMouseOver:d,onMouseOut:f}}});const _hoisted_1$1$1={class:"treemap",style:{display:"flex",position:"relative"}},_hoisted_2$1$1=["width","height","viewBox"],_hoisted_3$U={class:"layer-rectangles"},_hoisted_4$F=["transform","onMouseover"],_hoisted_5$r=["width","height"],_hoisted_6$j={x:10,y:20,"font-size":"15px",fill:"white","font-weight":"bold"};function render$1(e,n,t,a,r,o){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$U,[(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$r),vue.renderSlot(e.$slots,"text",{r:s,selected:e.selected===i},()=>[vue.createElementVNode("text",_hoisted_6$j,vue.toDisplayString(s.data.name),1)])])],42,_hoisted_4$F))),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}),a=vue.ref("horizontal"),r=vue.ref({x:0,y:0,width:0,height:0});return vue.watch(e.updates,()=>{r.value=e.canvas,a.value=e.config.direction},{immediate:!0}),vue.watch(n,()=>{if(e.bandScale){const o=e.getData(e.getKeys(0)),[s]=e.bandScale.map([o[n.index]]),i=e.bandScale.bandwidth();s&&(e.config.direction==="horizontal"?t.value={x:s-i/2,y:0,width:i,height:r.value.height}:t.value={x:40,y:s-i/2,width:r.value.width-40,height:i})}}),{bar:t,canvas:r,direction:a,mouse:n}}});const _hoisted_1$1z={key:0,class:"layer-hover-bar"},_hoisted_2$16=["x","y","width","height"];function render(e,n,t,a,r,o){return e.mouse.hover?(vue.openBlock(),vue.createElementBlock("g",_hoisted_1$1z,[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$21={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$1y={class:"vs-carbon-calculator-results__headline"},_hoisted_2$15={class:"mb-050"},_hoisted_3$T={class:"vs-carbon-calculator-results__total"},_hoisted_4$E=["innerHTML"],_hoisted_5$q={class:"vs-carbon-calculator-results__unicorn-icon-container"},_hoisted_6$i={class:"vs-carbon-calculator-results__unicorn-content"};function _sfc_render$1M(e,n,t,a,r,o){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"),f=vue.resolveComponent("Chart"),v=vue.resolveComponent("Responsive");return vue.openBlock(),vue.createBlock(l,{"data-test":"vs-carbon-calculator-results",style:vue.normalizeStyle(r.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(o.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$1y,[vue.createElementVNode("p",_hoisted_2$15,vue.toDisplayString(o.labelsMap.resultsIntro),1),vue.createElementVNode("p",null,[vue.createElementVNode("span",_hoisted_3$T,vue.toDisplayString(t.totalKilos.toLocaleString(t.language,{minimumFractionDigits:3})),1),vue.createTextVNode(" "+vue.toDisplayString(o.labelsMap.kgsOf),1)])])]),_:1}),vue.createVNode(i,{cols:"12",md:"6",class:"vs-carbon-calculator-results__comparison"},{default:vue.withCtx(()=>[vue.createElementVNode("p",{innerHTML:o.interpolComparison},null,8,_hoisted_4$E)]),_:1})]),_:1})]),_:1}),o.totalPerDay<=o.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$q,[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$i,[vue.createVNode(s,{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.labelsMap.perDayCongratulations),1)]),_:1}),vue.createElementVNode("p",null,vue.toDisplayString(o.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(o.labelsMap.chartTitle),1)]),_:1})]),_:1}),vue.createVNode(i,{class:"vs-carbon-calculator-results__chart-wrapper",cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{main:vue.withCtx(({width:p})=>[vue.createVNode(f,{class:"vs-carbon-calculator-results__chart",size:{width:p,height:420},data:o.chartData,margin:o.responsiveMargin(p),direction:r.chartDirection,axis:r.chartAxis},{layers:vue.withCtx(()=>[vue.createVNode(c,{"stroke-dasharray":"2,2"}),vue.createVNode(d,{"data-keys":["name","emissions"],"bar-style":{fill:r.tokens["vs-color-background-highlight"]},gap:20},null,8,["bar-style"])]),_:2},1032,["size","data","margin","direction","axis"])]),_:1})]),_:1})]),_:1},8,["style"])}const VsCarbonCalculatorResults=LoadingSpinner._export_sfc(_sfc_main$21,[["render",_sfc_render$1M]]),_sfc_main$20={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$1x={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$S={class:"vs-carbon-calculator-running-total__content"},_hoisted_4$D={class:"vs-carbon-calculator-running-total__value"};function _sfc_render$1L(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1x,[vue.createElementVNode("div",_hoisted_2$14,[vue.createVNode(s,{icon:"fa-regular fa-pen-field",size:"md"})]),vue.createElementVNode("div",_hoisted_3$S,[vue.createElementVNode("p",null,vue.toDisplayString(o.labelsMap.soFar),1),vue.createElementVNode("p",null,[vue.createElementVNode("span",_hoisted_4$D,vue.toDisplayString(t.totalKilos.toLocaleString(t.language,{minimumFractionDigits:3})),1),vue.createTextVNode(" "+vue.toDisplayString(o.labelsMap.kgsOf),1)])])])}const VsCarbonCalculatorRunningTotal=LoadingSpinner._export_sfc(_sfc_main$20,[["render",_sfc_render$1L]]),_sfc_main$1$={name:"VsCarbonCalculatorIntro",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading},inject:["labelsMap"]},_hoisted_1$1w={class:"vs-carbon-calculator-intro","data-test":"vs-carbon-calculator-intro"};function _sfc_render$1K(e,n,t,a,r,o){const s=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1w,[vue.createVNode(s,{level:"2","heading-style":"heading-l"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.labelsMap.introHeading),1)]),_:1}),vue.createElementVNode("p",null,vue.toDisplayString(o.labelsMap.introContent),1)])}const VsCarbonCalculatorIntro=LoadingSpinner._export_sfc(_sfc_main$1$,[["render",_sfc_render$1K]]);function ownKeys$1(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,a)}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(a){_defineProperty$2(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys$1(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}return e}function _defineProperty$2(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,a)=>(n.includes(a)||(t[a]=vue.unref(e[a])),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 a=e;const r=n.split(".");for(let o=0;o<r.length;o++){if(!a[r[o]])return t;a=a[r[o]]}return a}function gatherBooleanGroupProperties(e,n,t){return vue.computed(()=>e.some(a=>get(n,a,{[t]:!1})[t]))}function gatherArrayGroupProperties(e,n,t){return vue.computed(()=>e.reduce((a,r)=>{const o=get(n,r,{[t]:!1})[t]||[];return a.concat(o)},[]))}function callRule(e,n,t,a){return e.call(a,vue.unref(n),vue.unref(t),a)}function normalizeValidatorResponse(e){return e.$valid!==void 0?!e.$valid:!e}function createAsyncResult(e,n,t,a,r,o,s){let{$lazy:i,$rewardEarly:l}=r,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,f=arguments.length>10?arguments[10]:void 0;const v=vue.ref(!!a.value),p=vue.ref(0);t.value=!1;const h=vue.watch([n,a].concat(u,f),()=>{if(i&&!a.value||l&&!d.value&&!t.value)return;let g;try{g=callRule(e,n,c,s)}catch(_){g=Promise.reject(_)}p.value++,t.value=!!p.value,v.value=!1,Promise.resolve(g).then(_=>{p.value--,t.value=!!p.value,o.value=_,v.value=normalizeValidatorResponse(_)}).catch(_=>{p.value--,t.value=!!p.value,o.value=_,v.value=!0})},{immediate:!0,deep:typeof n=="object"});return{$invalid:v,$unwatch:h}}function createSyncResult(e,n,t,a,r,o,s,i){let{$lazy:l,$rewardEarly:u}=a;const c=()=>({}),d=vue.computed(()=>{if(l&&!t.value||u&&!i.value)return!1;let f=!0;try{const v=callRule(e,n,s,o);r.value=v,f=normalizeValidatorResponse(v)}catch(v){r.value=v}return f});return{$unwatch:c,$invalid:d}}function createValidatorResult(e,n,t,a,r,o,s,i,l,u,c){const d=vue.ref(!1),f=e.$params||{},v=vue.ref(null);let p,h;e.$async?{$invalid:p,$unwatch:h}=createAsyncResult(e.$validator,n,d,t,a,v,r,e.$watchTargets,l,u,c):{$invalid:p,$unwatch:h}=createSyncResult(e.$validator,n,t,a,v,r,l,u);const g=e.$message;return{$message:isFunction$2(g)?vue.computed(()=>g(unwrapObj({$pending:d,$invalid:p,$params:unwrapObj(f),$model:n,$response:v,$validator:o,$propertyPath:i,$property:s}))):g||"",$params:f,$pending:d,$invalid:p,$response:v,$unwatch:h}}function sortValidations(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=vue.unref(e),t=Object.keys(n),a={},r={},o={};let s=null;return t.forEach(i=>{const l=n[i];switch(!0){case isFunction$2(l.$validator):a[i]=l;break;case isFunction$2(l):a[i]={$validator:l};break;case i==="$validationGroups":s=l;break;case i.startsWith("$"):o[i]=l;break;default:r[i]=l}}),{rules:a,nestedValidators:r,config:o,validationGroups:s}}const ROOT_PATH="__root";function createValidationResults(e,n,t,a,r,o,s,i,l){const u=Object.keys(e),c=a.get(r,e),d=vue.ref(!1),f=vue.ref(!1),v=vue.ref(0);if(c){if(!c.$partial)return c;c.$unwatch(),d.value=c.$dirty.value}const p={$dirty:d,$path:r,$touch:()=>{d.value||(d.value=!0)},$reset:()=>{d.value&&(d.value=!1)},$commit:()=>{}};return u.length?(u.forEach(h=>{p[h]=createValidatorResult(e[h],n,p.$dirty,o,s,h,t,r,l,f,v)}),p.$externalResults=vue.computed(()=>i.value?[].concat(i.value).map((h,g)=>({$propertyPath:r,$property:t,$validator:"$externalResults",$uid:`${r}-externalResult-${g}`,$message:h,$params:{},$response:null,$pending:!1})):[]),p.$invalid=vue.computed(()=>{const h=u.some(g=>vue.unref(p[g].$invalid));return f.value=h,!!p.$externalResults.value.length||h}),p.$pending=vue.computed(()=>u.some(h=>vue.unref(p[h].$pending))),p.$error=vue.computed(()=>p.$dirty.value?p.$pending.value||p.$invalid.value:!1),p.$silentErrors=vue.computed(()=>u.filter(h=>vue.unref(p[h].$invalid)).map(h=>{const g=p[h];return vue.reactive({$propertyPath:r,$property:t,$validator:h,$uid:`${r}-${h}`,$message:g.$message,$params:g.$params,$response:g.$response,$pending:g.$pending})}).concat(p.$externalResults.value)),p.$errors=vue.computed(()=>p.$dirty.value?p.$silentErrors.value:[]),p.$unwatch=()=>u.forEach(h=>{p[h].$unwatch()}),p.$commit=()=>{f.value=!0,v.value=Date.now()},a.set(r,e,p),p):(c&&a.set(r,e,p),p)}function collectNestedValidationResults(e,n,t,a,r,o,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:a,globalConfig:r,instance:o,externalResults:s}),l),{}):{}}function createMetaFields(e,n,t){const a=vue.computed(()=>[n,t].filter(p=>p).reduce((p,h)=>p.concat(Object.values(vue.unref(h))),[])),r=vue.computed({get(){return e.$dirty.value||(a.value.length?a.value.every(p=>p.$dirty):!1)},set(p){e.$dirty.value=p}}),o=vue.computed(()=>{const p=vue.unref(e.$silentErrors)||[],h=a.value.filter(g=>(vue.unref(g).$silentErrors||[]).length).reduce((g,_)=>g.concat(..._.$silentErrors),[]);return p.concat(h)}),s=vue.computed(()=>{const p=vue.unref(e.$errors)||[],h=a.value.filter(g=>(vue.unref(g).$errors||[]).length).reduce((g,_)=>g.concat(..._.$errors),[]);return p.concat(h)}),i=vue.computed(()=>a.value.some(p=>p.$invalid)||vue.unref(e.$invalid)||!1),l=vue.computed(()=>a.value.some(p=>vue.unref(p.$pending))||vue.unref(e.$pending)||!1),u=vue.computed(()=>a.value.some(p=>p.$dirty)||a.value.some(p=>p.$anyDirty)||r.value),c=vue.computed(()=>r.value?l.value||i.value:!1),d=()=>{e.$touch(),a.value.forEach(p=>{p.$touch()})},f=()=>{e.$commit(),a.value.forEach(p=>{p.$commit()})},v=()=>{e.$reset(),a.value.forEach(p=>{p.$reset()})};return a.value.length&&a.value.every(p=>p.$dirty)&&d(),{$dirty:r,$errors:s,$invalid:i,$anyDirty:u,$error:c,$pending:l,$touch:d,$reset:v,$silentErrors:o,$commit:f}}function setValidations(e){let{validations:n,state:t,key:a,parentKey:r,childResults:o,resultsCache:s,globalConfig:i={},instance:l,externalResults:u}=e;const c=r?`${r}.${a}`:a,{rules:d,nestedValidators:f,config:v,validationGroups:p}=sortValidations(n),h=_objectSpread2$1(_objectSpread2$1({},i),v),g=a?vue.computed(()=>{const T=vue.unref(t);return T?vue.unref(T[a]):void 0}):t,_=_objectSpread2$1({},vue.unref(u)||{}),m=vue.computed(()=>{const T=vue.unref(u);return a?T?vue.unref(T[a]):void 0:T}),b=createValidationResults(d,g,a,s,c,h,l,m,t),S=collectNestedValidationResults(f,g,c,s,h,l,m),C={};p&&Object.entries(p).forEach(T=>{let[F,Q]=T;C[F]={$invalid:gatherBooleanGroupProperties(Q,S,"$invalid"),$error:gatherBooleanGroupProperties(Q,S,"$error"),$pending:gatherBooleanGroupProperties(Q,S,"$pending"),$errors:gatherArrayGroupProperties(Q,S,"$errors"),$silentErrors:gatherArrayGroupProperties(Q,S,"$silentErrors")}});const{$dirty:V,$errors:B,$invalid:$,$anyDirty:D,$error:R,$pending:M,$touch:A,$reset:O,$silentErrors:q,$commit:ee}=createMetaFields(b,S,o),Y=a?vue.computed({get:()=>vue.unref(g),set:T=>{V.value=!0;const F=vue.unref(t),Q=vue.unref(u);Q&&(Q[a]=_[a]),vue.isRef(F[a])?F[a].value=T:F[a]=T}}):null;a&&h.$autoDirty&&vue.watch(g,()=>{V.value||A();const T=vue.unref(u);T&&(T[a]=_[a])},{flush:"sync"});async function W(){return A(),h.$rewardEarly&&(ee(),await vue.nextTick()),await vue.nextTick(),new Promise(T=>{if(!M.value)return T(!$.value);const F=vue.watch(M,()=>{T(!$.value),F()})})}function k(T){return(o.value||{})[T]}function L(){vue.isRef(u)?u.value=_:Object.keys(_).length===0?Object.keys(u).forEach(T=>{delete u[T]}):Object.assign(u,_)}return vue.reactive(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({},b),{},{$model:Y,$dirty:V,$error:R,$errors:B,$invalid:$,$anyDirty:D,$pending:M,$touch:A,$reset:O,$path:c||ROOT_PATH,$silentErrors:q,$validate:W,$commit:ee},o&&{$getResultsForChild:k,$clearExternalResults:L,$validationGroups:C}),S))}class ResultsStorage{constructor(){this.storage=new Map}set(n,t,a){this.storage.set(n,{rules:t,result:a})}checkRulesValidity(n,t,a){const r=Object.keys(a),o=Object.keys(t);return o.length!==r.length||!o.every(i=>r.includes(i))?!1:o.every(i=>t[i].$params?Object.keys(t[i].$params).every(l=>vue.unref(a[i].$params[l])===vue.unref(t[i].$params[l])):!0)}get(n,t){const a=this.storage.get(n);if(!a)return;const{rules:r,result:o}=a,s=this.checkRulesValidity(n,t,r),i=o.$unwatch?o.$unwatch:()=>({});return s?o:{$dirty:o.$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 a={},r=vue.ref([]),o=vue.computed(()=>r.value.reduce((c,d)=>(c[d]=vue.unref(a[d]),c),{}));function s(c,d){let{$registerAs:f,$scope:v,$stopPropagation:p}=d;p||n===CollectFlag.COLLECT_NONE||v===CollectFlag.COLLECT_NONE||n!==CollectFlag.COLLECT_ALL&&n!==v||(a[f]=c,r.value.push(f))}t.__vuelidateInjectInstances=[].concat(t.__vuelidateInjectInstances||[],s);function i(c){r.value=r.value.filter(d=>d!==c),delete a[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:o,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 a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};arguments.length===1&&(a=e,e=void 0,n=void 0);let{$registerAs:r,$scope:o=CollectFlag.COLLECT_ALL,$stopPropagation:s,$externalResults:i,currentVueInstance:l}=a;const u=l||((t=vue.getCurrentInstance())===null||t===void 0?void 0:t.proxy),c=u?u.$options:{};r||(uid+=1,r=`_vuelidate_${uid}`);const d=vue.ref({}),f=new ResultsStorage,{childResults:v,sendValidationResultsToParent:p,removeValidationResultsFromParent:h}=u?nestedValidations({$scope:o,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:v,resultsCache:f,globalConfig:a,instance:u,externalResults:i||u.vuelidateExternalResults})},{immediate:!0})}),a=c.validationsConfig||a}else{const g=vue.isRef(e)||isProxy(e)?e:vue.reactive(e||{});vue.watch(g,_=>{d.value=setValidations({validations:_,state:n,childResults:v,resultsCache:f,globalConfig:a,instance:u??{},externalResults:i})},{immediate:!0})}return u&&(p.forEach(g=>g(d,{$registerAs:r,$scope:o,$stopPropagation:s})),vue.onBeforeUnmount(()=>h.forEach(g=>g(r)))),vue.computed(()=>_objectSpread2$1(_objectSpread2$1({},vue.unref(d.value)),v.value))}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,a)}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(a){_defineProperty$1(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}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 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,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];return vue.unref(n).reduce((o,s,i)=>{const l=Object.entries(s).reduce((u,c)=>{let[d,f]=c;const v=e[d]||{},p=Object.entries(v).reduce((h,g)=>{let[_,m]=g;const S=unwrapNormalizedValidator(m).call(this,f,s,i,...a),C=unwrapValidatorResponse(S);if(h.$data[_]=S,h.$data.$invalid=!C||!!h.$data.$invalid,h.$data.$error=h.$data.$invalid,!C){let V=m.$message||"";const B=m.$params||{};typeof V=="function"&&(V=V({$pending:!1,$invalid:!C,$params:B,$model:f,$response:S})),h.$errors.push({$property:d,$message:V,$params:B,$response:S,$model:f,$pending:!1,$validator:_})}return{$valid:h.$valid&&C,$data:h.$data,$errors:h.$errors}},{$valid:!0,$data:{},$errors:[]});return u.$data[d]=p.$data,u.$errors[d]=p.$errors,{$valid:u.$valid&&p.$valid,$data:u.$data,$errors:u.$errors}},{$valid:!0,$data:{},$errors:{}});return{$valid:o.$valid&&l.$valid,$data:o.$data.concat(l.$data),$errors:o.$errors.concat(l.$errors)}},{$valid:!0,$data:[],$errors:[]})},$message:n=>{let{$response:t}=n;return t?t.$errors.map(a=>Object.values(a).map(r=>r.map(o=>o.$message)).reduce((r,o)=>r.concat(o),[])):[]}}}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 a=>(a=vue.unref(a),!req(a)||n.every(r=>(r.lastIndex=0,r.test(a))))}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(a=>{a.$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$1v={class:"vs-radio-button","data-test":"vs-radio-button"},_hoisted_2$13=["id"],_hoisted_3$R={class:"visually-hidden"},_hoisted_4$C=["id"];function _sfc_render$1J(e,n,t,a,r,o){const s=vue.resolveComponent("BFormRadio"),i=vue.resolveComponent("BFormRadioGroup");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1v,[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$R,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!r.clearErrorsOnFocus]])),128))],8,_hoisted_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:o.validateErrors,onChange:o.validateErrors,onFocus:o.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",[r.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=>o.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$C)):vue.createCommentVNode("",!0)])}const VsRadioButton=LoadingSpinner._export_sfc(_sfc_main$1_,[["render",_sfc_render$1J]]),_sfc_main$1Z={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$1u={"data-test":"vs-number-input"},_hoisted_2$12=["id"],_hoisted_3$Q=["id"],_hoisted_4$B={class:"visually-hidden"},_hoisted_5$p={class:"visually-hidden"};function _sfc_render$1I(e,n,t,a,r,o){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("BFormInput");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1u,[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$B,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!r.clearErrorsOnFocus]])),128))],8,_hoisted_3$Q)):vue.createCommentVNode("",!0),vue.createVNode(s,{class:"vs-number-input__increment","icon-only":!0,size:"sm",icon:"fa-regular fa-minus",disabled:r.inputVal<=t.minimumNumber?!0:null,onClick:o.decrementValue},{default:vue.withCtx(()=>n[2]||(n[2]=[vue.createTextVNode(" Remove 1 ")])),_:1,__:[2]},8,["disabled","onClick"]),vue.createVNode(i,{ref:"input",type:"Number",class:vue.normalizeClass(["vs-number-input",o.elementClass]),modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=l=>r.inputVal=l),id:t.fieldName,name:t.fieldName,required:e.isRequired,v:r.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:o.controlBlurred,onChange:o.validateErrors,onFocus:o.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:r.inputVal>=t.maximumNumber?!0:null,onClick:o.incrementValue},{default:vue.withCtx(()=>n[3]||(n[3]=[vue.createTextVNode(" Add 1 ")])),_:1,__:[3]},8,["disabled","onClick"]),o.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=>o.clearInputAndFocus(),["prevent"]))},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$p,vue.toDisplayString(t.clearButtonText),1)]),_:1})):vue.createCommentVNode("",!0)])}const VsNumberInput=LoadingSpinner._export_sfc(_sfc_main$1Z,[["render",_sfc_render$1I]]),_sfc_main$1Y={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$1t=["for"];function _sfc_render$1H(e,n,t,a,r,o){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$1t),t.fieldType==="radio"?(vue.openBlock(),vue.createBlock(s,{key:0,"field-name":t.fieldName,options:t.options,required:!0,"hint-text":t.hint,onUpdateFieldData:o.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:o.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$1Y,[["render",_sfc_render$1H]]),_sfc_main$1X={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:a}=e;for(let r=0;r<a.length;r++)a[r].text=this.labelsMap[`question-${t+1}.option-${r+1}`];return a}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 r=0;r<this.formData.fields.length;r++)this.formData.fields[r].name===e&&(t=this.formData.fields[r]);const a=t.values[n];if(t.multiplyByNumber)return a*t.multiplyByNumber;if(t.multiplyByAnswer){let r=this.form[t.multiplyByAnswer.question]||0;return r=Math.max(r,t.multiplyByAnswer.minimum),a*r}if(t.multiplyByValue&&e!==t.multiplyByValue){let r=this.getNumberValue(t.multiplyByValue.question,this.form[t.multiplyByValue.question])||0;return r=Math.max(r,t.multiplyByValue.minimum),a*r}return a},getNumberValue(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]);if(t.multiplyByNumber)return parseInt(n,10)*t.multiplyByNumber;if(t.multiplyByAnswer){const a=this.form[t.multiplyByAnswer.question]||0;return parseInt(n,10)*a}if(t.multiplyByValue&&e!==t.multiplyByValue){const a=this.getNumberValue(t.multiplyByValue.question,this.form[t.multiplyByValue.question]);return parseInt(n,10)*a}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(a=>a.name===e);let t=!0;Object.keys(n.conditional).forEach(a=>{const r=n.conditional[a];Array.isArray(r)?r.indexOf(this.form[a])===-1&&(t=!1):this.form[a]!==r&&(t=!1),t?this.conditionalFields[e]=!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 a=this.formData.fields[t];if(a.stage===this.activeStage&&!a.isClone){const r=JSON.parse(JSON.stringify(a));r.isClone=!0;const o=`${a.name}${n}`;r.name=o,r.originalNumber=t,this.form[o]="",this.formData.fields.push(r)}}this.repeatableStages[this.activeStage].generations=n}}},_hoisted_1$1s={class:"vs-carbon-calculator__wrapper"},_hoisted_2$11={key:1};function _sfc_render$1G(e,n,t,a,r,o){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"),f=vue.resolveComponent("VsCol"),v=vue.resolveComponent("VsCarbonCalculatorRunningTotal"),p=vue.resolveComponent("VsCarbonCalculatorResults"),h=vue.resolveComponent("VsRow"),g=vue.resolveComponent("VsContainer"),_=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1s,[vue.createVNode(g,{class:"vs-carbon-calculator","data-test":"vs-carbon-calculator"},{default:vue.withCtx(()=>[e.formData&&e.formData.fields?(vue.openBlock(),vue.createBlock(h,{key:0,class:"vs-carbon-calculator__survey"},{default:vue.withCtx(()=>[vue.createVNode(f,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,[o.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(o.currentCategory),1)]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.formData.fields,(m,b)=>vue.withDirectives((vue.openBlock(),vue.createBlock(u,{ref_for:!0,ref:"questions",tabindex:"0",key:m.name,label:o.getQuestionLabel(m,b),"label-for":m.name,hint:o.getQuestionHint(m,b),"field-class":o.conditionalElementClass(m.name),"field-type":m.element,"field-name":m.name,options:o.getQuestionOptions(m,b),minimum:m.element==="number"?m.validation.min:0,maximum:m.element==="number"?m.validation.max:0,onUpdateFieldData:o.updateFieldData},null,8,["label","label-for","hint","field-class","field-type","field-name","options","minimum","maximum","onUpdateFieldData"])),[[vue.vShow,m.stage===e.activeStage]])),128))],512),[[vue.vShow,e.activeStage<=e.formData.fields.length]])])])):vue.createCommentVNode("",!0),o.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]=m=>o.duplicateCurrentStage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.activeStageRepeatable),1)]),_:1})):vue.createCommentVNode("",!0),o.currentTip?(vue.openBlock(),vue.createBlock(d,{key:3,tip:o.currentTip},null,8,["tip"])):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(f,{cols:"12"},{default:vue.withCtx(()=>[e.activeStage>0&&e.activeStage<=e.formData.stages?(vue.openBlock(),vue.createBlock(v,{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(p,{key:1,"total-kilos":e.totalKilos,"transport-kilos":e.transportKilos,"food-kilos":e.foodKilos,"accommodation-kilos":e.accommodationKilos,"stay-duration":o.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(f,{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]=m=>o.forwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labelsMap.begin),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),e.activeStage>0?(vue.openBlock(),vue.createBlock(f,{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]=m=>o.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]=m=>o.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]=m=>o.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]=m=>o.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$1X,[["render",_sfc_render$1G]]),_sfc_main$1W={name:"VsCard",status:"prototype",release:"0.1.0",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}},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}}},_hoisted_1$1r={key:0,class:"vs-card__header"},_hoisted_2$10={class:"vs-card__body"},_hoisted_3$P={key:1,class:"vs-card__footer"},_hoisted_4$A={key:2,class:"vs-card__image"};function _sfc_render$1F(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-card",o.cardClasses]),"data-test":"vs-card",style:vue.normalizeStyle(o.cardStyles)},[e.$slots["vs-card-header"]&&e.$slots["vs-card-header"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1r,[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$P,[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$A,[vue.renderSlot(e.$slots,"vs-card-image")])):vue.createCommentVNode("",!0)],6)}const VsCard=LoadingSpinner._export_sfc(_sfc_main$1W,[["render",_sfc_render$1F]]),_sfc_main$1V={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$1E(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(o.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$1V,[["render",_sfc_render$1E]]),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"&&(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$1U={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$1q={key:0,class:"vs-stretched-link-card__video-btn-text"},_hoisted_2$$={key:4,class:"card-body"},_hoisted_3$O={key:0,class:"vs-stretched-link-card__category","data-test":"vs-stretched-link-card__category"},_hoisted_4$z={class:"vs-stretched-link-card__content","data-test":"vs-stretched-link-card__content"},_hoisted_5$o={key:2,class:"vs-stretched-link-card__badges","data-test":"vs-stretched-link-card__badges"};function _sfc_render$1D(e,n,t,a,r,o){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",o.stretchedLinkCardClasses]),"data-test":"vs-stretched-link-card",onClick:n[0]||(n[0]=(...d)=>o.emitShowModal&&o.emitShowModal(...d)),onKeypress:n[1]||(n[1]=(...d)=>o.emitShowModal&&o.emitShowModal(...d))},[o.showWarning==="full"?(vue.openBlock(),vue.createBlock(s,{key:0,size:t.warningSize,type:o.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(o.warningMessage)+" ",1)]),_:2},[o.cookieLinkText!==""&&o.showCookieWarning?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.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(o.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",o.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",o.isSvg?"vs-stretched-link-card__img--svg":""]),"data-test":"vs-stretched-link-card__img","data-chromatic":"ignore"},null,8,["src","alt","class"]),t.videoId&&o.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:o.emitShowModal},{default:vue.withCtx(()=>[t.videoBtnText?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$1q,vue.toDisplayString(o.formattedVideoBtnText),1)):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(o.formattedVideoDuration),1)]),_:1},8,["onClick"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),o.showWarning==="image"?(vue.openBlock(),vue.createBlock(s,{key:1,size:t.warningSize,type:o.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(o.warningMessage)+" ",1)]),_:2},[o.cookieLinkText!==""&&o.showCookieWarning?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.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(o.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),o.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$O,[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:o.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$z,[vue.renderSlot(e.$slots,"stretched-card-content")]),e.$slots["stretched-card-badges"]&&e.$slots["stretched-card-badges"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$o,[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$1U,[["render",_sfc_render$1D]]),_sfc_main$1T={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$1p={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$N={"data-test":""},_hoisted_4$y={class:"vs-stretched-link-panels__days"},_hoisted_5$n={class:"vs-stretched-link-panels__panel","data-test":"vs-stretched-link-panel"},_hoisted_6$h={"data-test":"vs-stretched-link-panel__icon"};function _sfc_render$1C(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1p,[vue.createElementVNode("div",_hoisted_2$_,[vue.createElementVNode("p",_hoisted_3$N,[vue.createElementVNode("span",_hoisted_4$y,vue.toDisplayString(t.days),1),vue.createTextVNode(vue.toDisplayString(t.daysLabel),1)])]),vue.createElementVNode("div",_hoisted_5$n,[vue.createVNode(s,{icon:t.transport,variant:"inverse",size:"sm",class:"vs-stretched-link-panels__icon"},null,8,["icon"]),vue.createElementVNode("p",_hoisted_6$h,vue.toDisplayString(t.transportName),1)])])}const VsStretchedLinkPanels=LoadingSpinner._export_sfc(_sfc_main$1T,[["render",_sfc_render$1C]]),_sfc_main$1S={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$1o={class:"vs-carousel-slide"},_hoisted_2$Z={class:"visually-hidden"},_hoisted_3$M={class:"vs-carousel-slide__title","data-test":"vs-carousel-slide__title"};function _sfc_render$1B(e,n,t,a,r,o){const s=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsStretchedLinkCard"),l=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(l,{cols:o.slideCols.xs,sm:o.slideCols.sm,lg:o.slideCols.md,xl:o.slideCols.lg,"data-test":"vs-carousel-slide","aria-disabled":!o.isVisible(t.slideIndex)},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$1o,[vue.createVNode(i,{link:t.linkUrl,type:t.linkType,"img-src":t.imgSrc,"img-alt":t.imgAlt,class:vue.normalizeClass([o.isVisible(t.slideIndex)?"vs-carousel-slide__card--active":"vs-carousel-slide__card--disabled","vs-carousel-slide__card"]),disabled:!o.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$M,[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$1S,[["render",_sfc_render$1B]]),_sfc_main$1R={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$1n=["id"],_hoisted_2$Y=["innerHTML"],_hoisted_3$L=["id"],_hoisted_4$x={class:"visually-hidden"},_hoisted_5$m={class:"vs-checkbox__label"};function _sfc_render$1A(e,n,t,a,r,o){const s=vue.resolveComponent("BFormCheckbox");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(o.checkBoxClasses)},[vue.createElementVNode("p",{class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_1$1n),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$x,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors]])),128))],8,_hoisted_3$L)):vue.createCommentVNode("",!0),t.fieldName?(vue.openBlock(),vue.createBlock(s,vue.mergeProps({key:2,modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>r.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$m,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$1R,[["render",_sfc_render$1A]]),_sfc_main$1Q={name:"VsDescriptionList",status:"prototype",release:"0.0.1",provide(){return{inline:vue.computed(()=>this.inline)}},props:{inline:{type:Boolean,default:!1}}};function _sfc_render$1z(e,n,t,a,r,o){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$1Q,[["render",_sfc_render$1z]]),_sfc_main$1P={name:"VsDescriptionListItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol},inject:["inline"],props:{title:{type:Boolean,default:!1}}};function _sfc_render$1y(e,n,t,a,r,o){const s=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(s,{tag:t.title?"dt":"dd",class:vue.normalizeClass({"list-inline-item":o.inline,"vs-description-list__detail":!t.title,"vs-description-list__detail--styled":!o.inline&&!t.title,"vs-description-list__term":t.title,"vs-description-list__term--styled":!o.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$1P,[["render",_sfc_render$1y],["__scopeId","data-v-46cd5138"]]),_sfc_main$1O={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$1x(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("p",{class:vue.normalizeClass(o.detailClasses)},[t.icon?(vue.openBlock(),vue.createBlock(s,{key:0,class:"me-050 flex-shrink-0",icon:t.icon,size:o.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$1O,[["render",_sfc_render$1x]]),_sfc_main$1N={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$1m={class:"dropdown-menu overflow-auto",role:"menu"};function _sfc_render$1w(e,n,t,a,r,o){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(o.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$1m,[vue.renderSlot(e.$slots,"default")])],2)],64)}const VsDropdown=LoadingSpinner._export_sfc(_sfc_main$1N,[["render",_sfc_render$1w]]),_sfc_main$1M={name:"VsDropdownItem",status:"prototype",release:"0.0.1",components:{BDropdownItem:LoadingSpinner.Xi}};function _sfc_render$1v(e,n,t,a,r,o){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$1M,[["render",_sfc_render$1v]]),cookieValues$3=cookieValues$5.embed,_sfc_main$1L={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}},methods:{callbackOnUpdated(){if(this.embeddedScript&&(this.cookiesLoaded&&this.requiredCookiesAllowed||this.noCookiesRequired)){const e=document.createElement("script");e.src=this.embeddedScript,document.head.appendChild(e)}}}},_hoisted_1$1l={"data-test":"vs-embed-wrapper",class:"vs-embed-wrapper"},_hoisted_2$X={class:"vs-embed-wrapper__container",key:"embeddedContent"},_hoisted_3$K={key:"fallback"},_hoisted_4$w=["innerHTML"];function _sfc_render$1u(e,n,t,a,r,o){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$1l,[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"]()&&!o.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),o.showError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$K,[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(o.warningText)+" ",1)]),_:2},[t.extraContent?{name:"extra-content",fn:vue.withCtx(()=>[vue.createElementVNode("div",{innerHTML:t.extraContent},null,8,_hoisted_4$w)]),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$1L,[["render",_sfc_render$1u]]),_sfc_main$1K={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$1k={class:"card vs-event-card","data-test":"vs-event-card"},_hoisted_2$W={class:"card-body"},_hoisted_3$J={class:"vs-event-card__date"},_hoisted_4$v={key:0,class:"vs-event-card__content","data-test":"vs-event-card__content"},_hoisted_5$l={key:1,class:"vs-event-card__cta","data-test":"vs-event-card__cta"};function _sfc_render$1t(e,n,t,a,r,o){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$1k,[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$J,[vue.renderSlot(e.$slots,"event-card-date")])]),_:3})):vue.createCommentVNode("",!0)]),_:3}),e.$slots["event-card-content"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$v,[vue.renderSlot(e.$slots,"event-card-content")])):vue.createCommentVNode("",!0),t.ctaHref&&t.ctaLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$l,[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$1K,[["render",_sfc_render$1t]]),_hoisted_1$1j=["id"],_hoisted_2$V={class:"vs-filter__panel-wrapper"},_hoisted_3$I={class:"vs-filter__legend"},_sfc_main$1J={__name:"VsFilter",props:{filterId:{type:String,required:!0},filterLabel:{type:String,required:!0}},emits:["filter-updated"],setup(e,{expose:n}){const t=e,a=vue.ref(),r=i=>{const l=i;l.type==="checkbox"?l.checked=!1:l.type==="date"&&(l.value="")};return n({clearFilter:r,resetAll:()=>{a.value.querySelectorAll('input[type="checkbox"], input[type="date"]').forEach(l=>{r(l)})},resetOne:i=>{const l=a.value.querySelector(`#${i}`);r(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:a},[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$I,[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$1j),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$1i={key:0,class:"vs-filter-section__details"},_hoisted_2$U={class:"vs-filter-section__summary"},_hoisted_3$H={key:1,class:"vs-filter-section__section"},_sfc_main$1I={__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(a,r)=>(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$1i,[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(a.$slots,"default")])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$H,[vue.renderSlot(a.$slots,"default")]))],2))}};function createHydrationCleanup(){let e=[];return{cleanup:()=>{e=e.filter(a=>(a(),!1))},onCleanup:a=>{e.push(a)}}}function createHydrationPromise(e){let n=()=>{};const t=new Promise(r=>{n=()=>{e(),r()}});return{promise:t,resolvePromise:n,onResolvedPromise:r=>{t.then(r)}}}function trackDepsOnRender(e){const n=e.effect.fn,t=e.render;e.render=(...a)=>{e.effect.fn=()=>t(...a);const r=e.effect.run();return e.effect.fn=n,e.render=t,r}}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 a=e.children[t]();if(Array.isArray(a)){a.forEach(r=>traverseChildren(r,n));return}traverseChildren(a,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,a=>{isAsyncWrapper(a)&&t.push(a.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:a}=createHydrationCleanup(),{promise:r,resolvePromise:o,onResolvedPromise:s}=createHydrationPromise(t),i=l=>s(()=>vue.nextTick(()=>waitForAsyncComponents(e,l)));return e.type.__asyncLoader=()=>r,ensureParentHasSubTreeEl(e.parent),vue.onBeforeMount(()=>{e.asyncDep=new Promise(l=>{l(!0)})}),s(()=>{trackDepsOnRender(e),e.asyncDep=null}),vue.onUnmounted(t),{willPerformHydration:n,hydrate:o,onHydrated:i,onCleanup:a}}function useHydrateWhenIdle({willPerformHydration:e,hydrate:n,onCleanup:t},a=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 r=requestIdleCallback(()=>{n()},{timeout:a});t(()=>{cancelIdleCallback(r)})}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 a=e.el.nextSibling;for(;a;){if(a&&isElement(a)&&t.push(a),a===n.anchor)return t;a=a.nextSibling}}return t}function useHydrateOnInteraction({willPerformHydration:e,hydrate:n,onCleanup:t},a=["focus"]){if(!e)return;const r=vue.getCurrentInstance();if(!r||r.isMounted)throw new Error("useHydrateOnInteraction must be called from the setup method.");const o=vue.unref(a);vue.onMounted(()=>{const s=getRootElements(r),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 f=c.target;for(;f;){if(s.includes(f)){n();return}if(f===i)return;f=f.parentElement}return}s.forEach(f=>{d.includes(f)&&n()})};o.forEach(c=>{i.addEventListener(c,u,l)}),t(()=>{o.forEach(c=>{i.removeEventListener(c,u,l)})})})}function useHydrateWhenTriggered({willPerformHydration:e,hydrate:n,onCleanup:t},a){if(!e)return;if(!vue.getCurrentInstance())throw new Error("useHydrateWhenTriggered must be called from the setup or lifecycle hook methods.");const r=vue.watch(vue.isRef(a)?a:()=>a,o=>{o&&n()},{immediate:!0});t(r)}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 a=new IntersectionObserver(r=>{r.forEach(o=>{!(o.isIntersecting||o.intersectionRatio>0)||!o.target.hydrate||o.target.hydrate()})},e);return observers.set(t,a),{supported:n,observer:a}}function useHydrateWhenVisible({willPerformHydration:e,hydrate:n,onCleanup:t},a){if(!e)return;const r=vue.getCurrentInstance();if(!r||r.isMounted)throw new Error("useHydrateWhenVisible must be called from the setup method.");const{supported:o,observer:s}=createHydrationObserver(a);if(!o){n();return}vue.onMounted(()=>{const i=getRootElements(r);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 a=useLazyHydration();if(!a.willPerformHydration)return()=>normalizeSlot(n.default());if(a.onHydrated(()=>t("hydrated")),e.whenIdle&&useHydrateWhenIdle(a,e.whenIdle!==!0?e.whenIdle:void 0),e.whenVisible&&useHydrateWhenVisible(a,e.whenVisible!==!0?e.whenVisible:void 0),e.onInteraction){let r;e.onInteraction!==!0&&(r=vue.computed(()=>Array.isArray(e.onInteraction)?e.onInteraction:[e.onInteraction]).value),useHydrateOnInteraction(a,r)}return e.whenTriggered!==void 0&&useHydrateWhenTriggered(a,vue.toRef(e,"whenTriggered")),()=>normalizeSlot(n.default())}}),LazyHydrationWrapper$1=vue.markRaw(LazyHydrationWrapper),_sfc_main$1H={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$1h={class:"vs-footer-nav-list"};function _sfc_render$1s(e,n,t,a,r,o){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$1h,[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$1H,[["render",_sfc_render$1s]]),_sfc_main$1G={name:"VsFooter",status:"prototype",release:"0.1.0",components:{VsFooterNavList,VsCol:LoadingSpinner.VsCol,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow}},_hoisted_1$1g={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$1r(e,n,t,a,r,o){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$1g,[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$1G,[["render",_sfc_render$1r]]),_sfc_main$1F={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$1q(e,n,t,a,r,o){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":o.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$1F,[["render",_sfc_render$1q]]),_sfc_main$1E={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$1f={class:"vs-footer-nav-list-item","data-test":"vs-footer-nav-list-item",role:"menuitem"};function _sfc_render$1p(e,n,t,a,r,o){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$1f,[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$1E,[["render",_sfc_render$1p]]),_sfc_main$1D={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$1o(e,n,t,a,r,o){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$1D,[["render",_sfc_render$1o]]),_sfc_main$1C={name:"VsFooterSocialMenu",status:"prototype",release:"0.0.1",components:{VsList,VsHeading:LoadingSpinner.VsHeading}},_hoisted_1$1e={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$1n(e,n,t,a,r,o){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsList");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1e,[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$1C,[["render",_sfc_render$1n]]),_sfc_main$1B={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$1d={class:"vs-footer-social-item","data-test":"vs-footer-social-item"};function _sfc_render$1m(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$1d,[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$1B,[["render",_sfc_render$1m]]),_sfc_main$1A={name:"VsFooterUtilityList",status:"prototype",release:"0.0.1",components:{VsList,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol}},_hoisted_1$1c={class:"vs-footer-utility-list","data-test":"vs-footer-utility-list","data-unique-id":"vs-footer-utility_links"};function _sfc_render$1l(e,n,t,a,r,o){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$1c,[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$1A,[["render",_sfc_render$1l]]);function commonjsRequire(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var dist$3={exports:{}},interopRequireDefault={exports:{}};(function(e){function n(t){return t&&t.__esModule?t:{default:t}}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports})(interopRequireDefault);var interopRequireDefaultExports=interopRequireDefault.exports,_extends$1={exports:{}},hasRequired_extends;function require_extends(){return hasRequired_extends||(hasRequired_extends=1,function(e){function n(){return e.exports=n=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var o in r)({}).hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},e.exports.__esModule=!0,e.exports.default=e.exports,n.apply(null,arguments)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(_extends$1)),_extends$1.exports}var objectWithoutPropertiesLoose={exports:{}},hasRequiredObjectWithoutPropertiesLoose;function requireObjectWithoutPropertiesLoose(){return hasRequiredObjectWithoutPropertiesLoose||(hasRequiredObjectWithoutPropertiesLoose=1,function(e){function n(t,a){if(t==null)return{};var r={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(a.indexOf(o)!==-1)continue;r[o]=t[o]}return r}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(objectWithoutPropertiesLoose)),objectWithoutPropertiesLoose.exports}var path$2={exports:{}},util$3={},isBufferBrowser$1,hasRequiredIsBufferBrowser$1;function requireIsBufferBrowser$1(){return hasRequiredIsBufferBrowser$1||(hasRequiredIsBufferBrowser$1=1,isBufferBrowser$1=function(n){return n&&typeof n=="object"&&typeof n.copy=="function"&&typeof n.fill=="function"&&typeof n.readUInt8=="function"}),isBufferBrowser$1}var inherits_browser$1={exports:{}},hasRequiredInherits_browser$1;function requireInherits_browser$1(){return hasRequiredInherits_browser$1||(hasRequiredInherits_browser$1=1,typeof Object.create=="function"?inherits_browser$1.exports=function(n,t){n.super_=t,n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})}:inherits_browser$1.exports=function(n,t){n.super_=t;var a=function(){};a.prototype=t.prototype,n.prototype=new a,n.prototype.constructor=n}),inherits_browser$1.exports}var hasRequiredUtil$1;function requireUtil$1(){return hasRequiredUtil$1||(hasRequiredUtil$1=1,function(e){var n={},t=/%[sdj%]/g;e.format=function(k){if(!S(k)){for(var L=[],T=0;T<arguments.length;T++)L.push(o(arguments[T]));return L.join(" ")}for(var T=1,F=arguments,Q=F.length,w=String(k).replace(t,function(E){if(E==="%%")return"%";if(T>=Q)return E;switch(E){case"%s":return String(F[T++]);case"%d":return Number(F[T++]);case"%j":try{return JSON.stringify(F[T++])}catch{return"[Circular]"}default:return E}}),N=F[T];T<Q;N=F[++T])_(N)||!$(N)?w+=" "+N:w+=" "+o(N);return w},e.deprecate=function(k,L){if(V(LoadingSpinner.commonjsGlobal.process))return function(){return e.deprecate(k,L).apply(this,arguments)};if(process.noDeprecation===!0)return k;var T=!1;function F(){if(!T){if(process.throwDeprecation)throw new Error(L);process.traceDeprecation?console.trace(L):console.error(L),T=!0}return k.apply(this,arguments)}return F};var a={},r;e.debuglog=function(k){if(V(r)&&(r=n.NODE_DEBUG||""),k=k.toUpperCase(),!a[k])if(new RegExp("\\b"+k+"\\b","i").test(r)){var L=process.pid;a[k]=function(){var T=e.format.apply(e,arguments);console.error("%s %d: %s",k,L,T)}}else a[k]=function(){};return a[k]};function o(k,L){var T={seen:[],stylize:i};return arguments.length>=3&&(T.depth=arguments[2]),arguments.length>=4&&(T.colors=arguments[3]),g(L)?T.showHidden=L:L&&e._extend(T,L),V(T.showHidden)&&(T.showHidden=!1),V(T.depth)&&(T.depth=2),V(T.colors)&&(T.colors=!1),V(T.customInspect)&&(T.customInspect=!0),T.colors&&(T.stylize=s),u(T,k,T.depth)}e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function s(k,L){var T=o.styles[L];return T?"\x1B["+o.colors[T][0]+"m"+k+"\x1B["+o.colors[T][1]+"m":k}function i(k,L){return k}function l(k){var L={};return k.forEach(function(T,F){L[T]=!0}),L}function u(k,L,T){if(k.customInspect&&L&&M(L.inspect)&&L.inspect!==e.inspect&&!(L.constructor&&L.constructor.prototype===L)){var F=L.inspect(T,k);return S(F)||(F=u(k,F,T)),F}var Q=c(k,L);if(Q)return Q;var w=Object.keys(L),N=l(w);if(k.showHidden&&(w=Object.getOwnPropertyNames(L)),R(L)&&(w.indexOf("message")>=0||w.indexOf("description")>=0))return d(L);if(w.length===0){if(M(L)){var E=L.name?": "+L.name:"";return k.stylize("[Function"+E+"]","special")}if(B(L))return k.stylize(RegExp.prototype.toString.call(L),"regexp");if(D(L))return k.stylize(Date.prototype.toString.call(L),"date");if(R(L))return d(L)}var j="",P=!1,z=["{","}"];if(h(L)&&(P=!0,z=["[","]"]),M(L)){var G=L.name?": "+L.name:"";j=" [Function"+G+"]"}if(B(L)&&(j=" "+RegExp.prototype.toString.call(L)),D(L)&&(j=" "+Date.prototype.toUTCString.call(L)),R(L)&&(j=" "+d(L)),w.length===0&&(!P||L.length==0))return z[0]+j+z[1];if(T<0)return B(L)?k.stylize(RegExp.prototype.toString.call(L),"regexp"):k.stylize("[Object]","special");k.seen.push(L);var H;return P?H=f(k,L,T,N,w):H=w.map(function(Z){return v(k,L,T,N,Z,P)}),k.seen.pop(),p(H,j,z)}function c(k,L){if(V(L))return k.stylize("undefined","undefined");if(S(L)){var T="'"+JSON.stringify(L).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return k.stylize(T,"string")}if(b(L))return k.stylize(""+L,"number");if(g(L))return k.stylize(""+L,"boolean");if(_(L))return k.stylize("null","null")}function d(k){return"["+Error.prototype.toString.call(k)+"]"}function f(k,L,T,F,Q){for(var w=[],N=0,E=L.length;N<E;++N)W(L,String(N))?w.push(v(k,L,T,F,String(N),!0)):w.push("");return Q.forEach(function(j){j.match(/^\d+$/)||w.push(v(k,L,T,F,j,!0))}),w}function v(k,L,T,F,Q,w){var N,E,j;if(j=Object.getOwnPropertyDescriptor(L,Q)||{value:L[Q]},j.get?j.set?E=k.stylize("[Getter/Setter]","special"):E=k.stylize("[Getter]","special"):j.set&&(E=k.stylize("[Setter]","special")),W(F,Q)||(N="["+Q+"]"),E||(k.seen.indexOf(j.value)<0?(_(T)?E=u(k,j.value,null):E=u(k,j.value,T-1),E.indexOf(`
|
|
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,a,r,o){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),a=vue.ref("horizontal"),r=vue.ref({});return vue.watch(n.updates,()=>{e.value!==void 0&&(t.value=n.scales.secondary.scale(e.value)),r.value=n.canvas,a.value=n.config.direction},{immediate:!0}),vue.watch(()=>e.value,()=>{t.value=n.scales.secondary.scale(e.value)},{immediate:!0}),{y:t,canvas:r,direction:a}}});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,a,r,o){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,a=t&&t.length;if(!a)n=1;else for(;--a>=0;)n+=t[a].value;e.value=n}function node_count(){return this.eachAfter(count)}function node_each(e,n){let t=-1;for(const a of this)e.call(n,a,++t,this);return this}function node_eachBefore(e,n){for(var t=this,a=[t],r,o,s=-1;t=a.pop();)if(e.call(n,t,++s,this),r=t.children)for(o=r.length-1;o>=0;--o)a.push(r[o]);return this}function node_eachAfter(e,n){for(var t=this,a=[t],r=[],o,s,i,l=-1;t=a.pop();)if(r.push(t),o=t.children)for(s=0,i=o.length;s<i;++s)a.push(o[s]);for(;t=r.pop();)e.call(n,t,++l,this);return this}function node_find(e,n){let t=-1;for(const a of this)if(e.call(n,a,++t,this))return a}function node_sum(e){return this.eachAfter(function(n){for(var t=+e(n.data)||0,a=n.children,r=a&&a.length;--r>=0;)t+=a[r].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),a=[n];n!==t;)n=n.parent,a.push(n);for(var r=a.length;e!==t;)a.splice(r,0,e),e=e.parent;return a}function leastCommonAncestor(e,n){if(e===n)return e;var t=e.ancestors(),a=n.ancestors(),r=null;for(e=t.pop(),n=a.pop();e===n;)r=e,e=t.pop(),n=a.pop();return r}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],a,r,o;do for(n=t.reverse(),t=[];e=n.pop();)if(yield e,a=e.children)for(r=0,o=a.length;r<o;++r)t.push(a[r]);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$2(e),a,r=[t],o,s,i,l;a=r.pop();)if((s=n(a.data))&&(l=(s=Array.from(s)).length))for(a.children=s,i=l-1;i>=0;--i)r.push(o=s[i]=new Node$2(s[i])),o.parent=a,o.depth=a.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$2(e){this.data=e,this.depth=this.height=0,this.parent=null}Node$2.prototype=hierarchy.prototype={constructor:Node$2,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,a,r){for(var o=e.children,s,i=-1,l=o.length,u=e.value&&(a-n)/e.value;++i<l;)s=o[i],s.y0=t,s.y1=r,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 a(r){var o=Array.from(r),s=e,i=n,l,u,c,d,f,v,p,h,g=new Map;if(t!=null){const _=o.map((S,C)=>normalize(t(S,C,r))),m=_.map(parentof),b=new Set(_).add("");for(const S of m)b.has(S)||(b.add(S),_.push(S),m.push(parentof(S)),o.push(imputed));s=(S,C)=>_[C],i=(S,C)=>m[C]}for(c=0,l=o.length;c<l;++c)u=o[c],v=o[c]=new Node$2(u),(p=s(u,c,r))!=null&&(p+="")&&(h=v.id=p,g.set(h,g.has(h)?ambiguous:v)),(p=i(u,c,r))!=null&&(p+="")&&(v.parent=p);for(c=0;c<l;++c)if(v=o[c],p=v.parent){if(f=g.get(p),!f)throw new Error("missing: "+p);if(f===ambiguous)throw new Error("ambiguous: "+p);f.children?f.children.push(v):f.children=[v],v.parent=f}else{if(d)throw new Error("multiple roots");d=v}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 _=o.length-1;_>=0&&(v=o[_],v.data===imputed);--_)v.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 a.id=function(r){return arguments.length?(e=optional(r),a):e},a.parentId=function(r){return arguments.length?(n=optional(r),a):n},a.path=function(r){return arguments.length?(t=optional(r),a):t},a}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,a,r){for(var o=e.children,s,i=-1,l=o.length,u=e.value&&(r-t)/e.value;++i<l;)s=o[i],s.x0=n,s.x1=a,s.y0=t,s.y1=t+=s.value*u}var phi=(1+Math.sqrt(5))/2;function squarifyRatio(e,n,t,a,r,o){for(var s=[],i=n.children,l,u,c=0,d=0,f=i.length,v,p,h=n.value,g,_,m,b,S,C,V;c<f;){v=r-t,p=o-a;do g=i[d++].value;while(!g&&d<f);for(_=m=g,C=Math.max(p/v,v/p)/(h*e),V=g*g*C,S=Math.max(m/V,V/_);d<f;++d){if(g+=u=i[d].value,u<_&&(_=u),u>m&&(m=u),V=g*g*C,b=Math.max(m/V,V/_),b>S){g-=u;break}S=b}s.push(l={value:g,dice:v<p,children:i.slice(c,d)}),l.dice?treemapDice(l,t,a,r,h?a+=p*g/h:o):treemapSlice(l,t,a,h?t+=v*g/h:r,o),h-=g,c=d}return s}var squarify=function e(n){function t(a,r,o,s,i){squarifyRatio(n,a,r,o,s,i)}return t.ratio=function(a){return e((a=+a)>1?a:1)},t}(phi);function treemap(){var e=squarify,n=!1,t=1,a=1,r=[0],o=constantZero,s=constantZero,i=constantZero,l=constantZero,u=constantZero;function c(f){return f.x0=f.y0=0,f.x1=t,f.y1=a,f.eachBefore(d),r=[0],n&&f.eachBefore(roundNode),f}function d(f){var v=r[f.depth],p=f.x0+v,h=f.y0+v,g=f.x1-v,_=f.y1-v;g<p&&(p=g=(p+g)/2),_<h&&(h=_=(h+_)/2),f.x0=p,f.y0=h,f.x1=g,f.y1=_,f.children&&(v=r[f.depth+1]=o(f)/2,p+=u(f)-v,h+=s(f)-v,g-=i(f)-v,_-=l(f)-v,g<p&&(p=g=(p+g)/2),_<h&&(h=_=(h+_)/2),e(f,p,h,g,_))}return c.round=function(f){return arguments.length?(n=!!f,c):n},c.size=function(f){return arguments.length?(t=+f[0],a=+f[1],c):[t,a]},c.tile=function(f){return arguments.length?(e=required$2(f),c):e},c.padding=function(f){return arguments.length?c.paddingInner(f).paddingOuter(f):c.paddingInner()},c.paddingInner=function(f){return arguments.length?(o=typeof f=="function"?f:constant(+f),c):o},c.paddingOuter=function(f){return arguments.length?c.paddingTop(f).paddingRight(f).paddingBottom(f).paddingLeft(f):c.paddingTop()},c.paddingTop=function(f){return arguments.length?(s=typeof f=="function"?f:constant(+f),c):s},c.paddingRight=function(f){return arguments.length?(i=typeof f=="function"?f:constant(+f),c):i},c.paddingBottom=function(f){return arguments.length?(l=typeof f=="function"?f:constant(+f),c):l},c.paddingLeft=function(f){return arguments.length?(u=typeof f=="function"?f:constant(+f),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),a=vue.ref(null),r=vue.ref({x:e.margin.left,y:e.margin.top,width:e.size.width-e.margin.right,height:e.size.height-e.margin.bottom}),o=vue.ref([]);function s(){const v=extent(t.value.map(g=>g[e.dataKeys[1]])),p=linear().domain(v).range([0,100]).nice(),h=sequential().domain(v).interpolator(e.colorFn());return{x:p,y:h}}function i(){const{y:v}=s();return l(t.value).leaves().map((h,g)=>({idx:g,x0:r.value.x+h.x0,x1:r.value.x+h.x1,y0:r.value.y+h.y0,y1:r.value.y+h.y1,width:h.x1-h.x0,height:h.y1-h.y0,data:h.data,color:v(h.value)}))}function l(v){const{x:p}=s(),h=treemap().size([r.value.width-r.value.x,r.value.height-r.value.y]).padding(e.padding),_=stratify().id(m=>m.name).parentId(m=>m.parent)([{name:"root"}].concat(v.map(m=>({name:m[e.dataKeys[0]],value:m[e.dataKeys[1]],parent:"root"}))));return _.sum(m=>p(m.value)),h(_),_}const u=v=>mapKeys(kebabize,v),c=v=>{const p={stroke:v.color,strokeWidth:5,fill:v.color,fillOpacity:.9};return e.rcStyle&&typeof e.rcStyle=="function"?Object.assign(Object.assign({},p),e.rcStyle(v)):p};function d(v){a.value=v}function f(){a.value=null}return vue.watch(e,()=>{t.value=e.data,r.value={x:e.margin.left,y:e.margin.top,width:e.size.width-e.margin.right,height:e.size.height-e.margin.bottom},o.value=i()},{immediate:!0}),{el:n,rectangles:o,selected:a,getStyle:c,toKebabCase:u,onMouseOver:d,onMouseOut:f}}});const _hoisted_1$1$1={class:"treemap",style:{display:"flex",position:"relative"}},_hoisted_2$1$1=["width","height","viewBox"],_hoisted_3$U={class:"layer-rectangles"},_hoisted_4$F=["transform","onMouseover"],_hoisted_5$r=["width","height"],_hoisted_6$j={x:10,y:20,"font-size":"15px",fill:"white","font-weight":"bold"};function render$1(e,n,t,a,r,o){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$U,[(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$r),vue.renderSlot(e.$slots,"text",{r:s,selected:e.selected===i},()=>[vue.createElementVNode("text",_hoisted_6$j,vue.toDisplayString(s.data.name),1)])])],42,_hoisted_4$F))),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}),a=vue.ref("horizontal"),r=vue.ref({x:0,y:0,width:0,height:0});return vue.watch(e.updates,()=>{r.value=e.canvas,a.value=e.config.direction},{immediate:!0}),vue.watch(n,()=>{if(e.bandScale){const o=e.getData(e.getKeys(0)),[s]=e.bandScale.map([o[n.index]]),i=e.bandScale.bandwidth();s&&(e.config.direction==="horizontal"?t.value={x:s-i/2,y:0,width:i,height:r.value.height}:t.value={x:40,y:s-i/2,width:r.value.width-40,height:i})}}),{bar:t,canvas:r,direction:a,mouse:n}}});const _hoisted_1$1z={key:0,class:"layer-hover-bar"},_hoisted_2$16=["x","y","width","height"];function render(e,n,t,a,r,o){return e.mouse.hover?(vue.openBlock(),vue.createElementBlock("g",_hoisted_1$1z,[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$21={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$1y={class:"vs-carbon-calculator-results__headline"},_hoisted_2$15={class:"mb-050"},_hoisted_3$T={class:"vs-carbon-calculator-results__total"},_hoisted_4$E=["innerHTML"],_hoisted_5$q={class:"vs-carbon-calculator-results__unicorn-icon-container"},_hoisted_6$i={class:"vs-carbon-calculator-results__unicorn-content"};function _sfc_render$1M(e,n,t,a,r,o){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"),f=vue.resolveComponent("Chart"),v=vue.resolveComponent("Responsive");return vue.openBlock(),vue.createBlock(l,{"data-test":"vs-carbon-calculator-results",style:vue.normalizeStyle(r.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(o.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$1y,[vue.createElementVNode("p",_hoisted_2$15,vue.toDisplayString(o.labelsMap.resultsIntro),1),vue.createElementVNode("p",null,[vue.createElementVNode("span",_hoisted_3$T,vue.toDisplayString(t.totalKilos.toLocaleString(t.language,{minimumFractionDigits:3})),1),vue.createTextVNode(" "+vue.toDisplayString(o.labelsMap.kgsOf),1)])])]),_:1}),vue.createVNode(i,{cols:"12",md:"6",class:"vs-carbon-calculator-results__comparison"},{default:vue.withCtx(()=>[vue.createElementVNode("p",{innerHTML:o.interpolComparison},null,8,_hoisted_4$E)]),_:1})]),_:1})]),_:1}),o.totalPerDay<=o.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$q,[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$i,[vue.createVNode(s,{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.labelsMap.perDayCongratulations),1)]),_:1}),vue.createElementVNode("p",null,vue.toDisplayString(o.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(o.labelsMap.chartTitle),1)]),_:1})]),_:1}),vue.createVNode(i,{class:"vs-carbon-calculator-results__chart-wrapper",cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{main:vue.withCtx(({width:p})=>[vue.createVNode(f,{class:"vs-carbon-calculator-results__chart",size:{width:p,height:420},data:o.chartData,margin:o.responsiveMargin(p),direction:r.chartDirection,axis:r.chartAxis},{layers:vue.withCtx(()=>[vue.createVNode(c,{"stroke-dasharray":"2,2"}),vue.createVNode(d,{"data-keys":["name","emissions"],"bar-style":{fill:r.tokens["vs-color-background-highlight"]},gap:20},null,8,["bar-style"])]),_:2},1032,["size","data","margin","direction","axis"])]),_:1})]),_:1})]),_:1},8,["style"])}const VsCarbonCalculatorResults=LoadingSpinner._export_sfc(_sfc_main$21,[["render",_sfc_render$1M]]),_sfc_main$20={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$1x={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$S={class:"vs-carbon-calculator-running-total__content"},_hoisted_4$D={class:"vs-carbon-calculator-running-total__value"};function _sfc_render$1L(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1x,[vue.createElementVNode("div",_hoisted_2$14,[vue.createVNode(s,{icon:"fa-regular fa-pen-field",size:"md"})]),vue.createElementVNode("div",_hoisted_3$S,[vue.createElementVNode("p",null,vue.toDisplayString(o.labelsMap.soFar),1),vue.createElementVNode("p",null,[vue.createElementVNode("span",_hoisted_4$D,vue.toDisplayString(t.totalKilos.toLocaleString(t.language,{minimumFractionDigits:3})),1),vue.createTextVNode(" "+vue.toDisplayString(o.labelsMap.kgsOf),1)])])])}const VsCarbonCalculatorRunningTotal=LoadingSpinner._export_sfc(_sfc_main$20,[["render",_sfc_render$1L]]),_sfc_main$1$={name:"VsCarbonCalculatorIntro",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading},inject:["labelsMap"]},_hoisted_1$1w={class:"vs-carbon-calculator-intro","data-test":"vs-carbon-calculator-intro"};function _sfc_render$1K(e,n,t,a,r,o){const s=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1w,[vue.createVNode(s,{level:"2","heading-style":"heading-l"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.labelsMap.introHeading),1)]),_:1}),vue.createElementVNode("p",null,vue.toDisplayString(o.labelsMap.introContent),1)])}const VsCarbonCalculatorIntro=LoadingSpinner._export_sfc(_sfc_main$1$,[["render",_sfc_render$1K]]);function ownKeys$1(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,a)}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(a){_defineProperty$2(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys$1(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}return e}function _defineProperty$2(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,a)=>(n.includes(a)||(t[a]=vue.unref(e[a])),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 a=e;const r=n.split(".");for(let o=0;o<r.length;o++){if(!a[r[o]])return t;a=a[r[o]]}return a}function gatherBooleanGroupProperties(e,n,t){return vue.computed(()=>e.some(a=>get(n,a,{[t]:!1})[t]))}function gatherArrayGroupProperties(e,n,t){return vue.computed(()=>e.reduce((a,r)=>{const o=get(n,r,{[t]:!1})[t]||[];return a.concat(o)},[]))}function callRule(e,n,t,a){return e.call(a,vue.unref(n),vue.unref(t),a)}function normalizeValidatorResponse(e){return e.$valid!==void 0?!e.$valid:!e}function createAsyncResult(e,n,t,a,r,o,s){let{$lazy:i,$rewardEarly:l}=r,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,f=arguments.length>10?arguments[10]:void 0;const v=vue.ref(!!a.value),p=vue.ref(0);t.value=!1;const h=vue.watch([n,a].concat(u,f),()=>{if(i&&!a.value||l&&!d.value&&!t.value)return;let g;try{g=callRule(e,n,c,s)}catch(_){g=Promise.reject(_)}p.value++,t.value=!!p.value,v.value=!1,Promise.resolve(g).then(_=>{p.value--,t.value=!!p.value,o.value=_,v.value=normalizeValidatorResponse(_)}).catch(_=>{p.value--,t.value=!!p.value,o.value=_,v.value=!0})},{immediate:!0,deep:typeof n=="object"});return{$invalid:v,$unwatch:h}}function createSyncResult(e,n,t,a,r,o,s,i){let{$lazy:l,$rewardEarly:u}=a;const c=()=>({}),d=vue.computed(()=>{if(l&&!t.value||u&&!i.value)return!1;let f=!0;try{const v=callRule(e,n,s,o);r.value=v,f=normalizeValidatorResponse(v)}catch(v){r.value=v}return f});return{$unwatch:c,$invalid:d}}function createValidatorResult(e,n,t,a,r,o,s,i,l,u,c){const d=vue.ref(!1),f=e.$params||{},v=vue.ref(null);let p,h;e.$async?{$invalid:p,$unwatch:h}=createAsyncResult(e.$validator,n,d,t,a,v,r,e.$watchTargets,l,u,c):{$invalid:p,$unwatch:h}=createSyncResult(e.$validator,n,t,a,v,r,l,u);const g=e.$message;return{$message:isFunction$2(g)?vue.computed(()=>g(unwrapObj({$pending:d,$invalid:p,$params:unwrapObj(f),$model:n,$response:v,$validator:o,$propertyPath:i,$property:s}))):g||"",$params:f,$pending:d,$invalid:p,$response:v,$unwatch:h}}function sortValidations(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=vue.unref(e),t=Object.keys(n),a={},r={},o={};let s=null;return t.forEach(i=>{const l=n[i];switch(!0){case isFunction$2(l.$validator):a[i]=l;break;case isFunction$2(l):a[i]={$validator:l};break;case i==="$validationGroups":s=l;break;case i.startsWith("$"):o[i]=l;break;default:r[i]=l}}),{rules:a,nestedValidators:r,config:o,validationGroups:s}}const ROOT_PATH="__root";function createValidationResults(e,n,t,a,r,o,s,i,l){const u=Object.keys(e),c=a.get(r,e),d=vue.ref(!1),f=vue.ref(!1),v=vue.ref(0);if(c){if(!c.$partial)return c;c.$unwatch(),d.value=c.$dirty.value}const p={$dirty:d,$path:r,$touch:()=>{d.value||(d.value=!0)},$reset:()=>{d.value&&(d.value=!1)},$commit:()=>{}};return u.length?(u.forEach(h=>{p[h]=createValidatorResult(e[h],n,p.$dirty,o,s,h,t,r,l,f,v)}),p.$externalResults=vue.computed(()=>i.value?[].concat(i.value).map((h,g)=>({$propertyPath:r,$property:t,$validator:"$externalResults",$uid:`${r}-externalResult-${g}`,$message:h,$params:{},$response:null,$pending:!1})):[]),p.$invalid=vue.computed(()=>{const h=u.some(g=>vue.unref(p[g].$invalid));return f.value=h,!!p.$externalResults.value.length||h}),p.$pending=vue.computed(()=>u.some(h=>vue.unref(p[h].$pending))),p.$error=vue.computed(()=>p.$dirty.value?p.$pending.value||p.$invalid.value:!1),p.$silentErrors=vue.computed(()=>u.filter(h=>vue.unref(p[h].$invalid)).map(h=>{const g=p[h];return vue.reactive({$propertyPath:r,$property:t,$validator:h,$uid:`${r}-${h}`,$message:g.$message,$params:g.$params,$response:g.$response,$pending:g.$pending})}).concat(p.$externalResults.value)),p.$errors=vue.computed(()=>p.$dirty.value?p.$silentErrors.value:[]),p.$unwatch=()=>u.forEach(h=>{p[h].$unwatch()}),p.$commit=()=>{f.value=!0,v.value=Date.now()},a.set(r,e,p),p):(c&&a.set(r,e,p),p)}function collectNestedValidationResults(e,n,t,a,r,o,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:a,globalConfig:r,instance:o,externalResults:s}),l),{}):{}}function createMetaFields(e,n,t){const a=vue.computed(()=>[n,t].filter(p=>p).reduce((p,h)=>p.concat(Object.values(vue.unref(h))),[])),r=vue.computed({get(){return e.$dirty.value||(a.value.length?a.value.every(p=>p.$dirty):!1)},set(p){e.$dirty.value=p}}),o=vue.computed(()=>{const p=vue.unref(e.$silentErrors)||[],h=a.value.filter(g=>(vue.unref(g).$silentErrors||[]).length).reduce((g,_)=>g.concat(..._.$silentErrors),[]);return p.concat(h)}),s=vue.computed(()=>{const p=vue.unref(e.$errors)||[],h=a.value.filter(g=>(vue.unref(g).$errors||[]).length).reduce((g,_)=>g.concat(..._.$errors),[]);return p.concat(h)}),i=vue.computed(()=>a.value.some(p=>p.$invalid)||vue.unref(e.$invalid)||!1),l=vue.computed(()=>a.value.some(p=>vue.unref(p.$pending))||vue.unref(e.$pending)||!1),u=vue.computed(()=>a.value.some(p=>p.$dirty)||a.value.some(p=>p.$anyDirty)||r.value),c=vue.computed(()=>r.value?l.value||i.value:!1),d=()=>{e.$touch(),a.value.forEach(p=>{p.$touch()})},f=()=>{e.$commit(),a.value.forEach(p=>{p.$commit()})},v=()=>{e.$reset(),a.value.forEach(p=>{p.$reset()})};return a.value.length&&a.value.every(p=>p.$dirty)&&d(),{$dirty:r,$errors:s,$invalid:i,$anyDirty:u,$error:c,$pending:l,$touch:d,$reset:v,$silentErrors:o,$commit:f}}function setValidations(e){let{validations:n,state:t,key:a,parentKey:r,childResults:o,resultsCache:s,globalConfig:i={},instance:l,externalResults:u}=e;const c=r?`${r}.${a}`:a,{rules:d,nestedValidators:f,config:v,validationGroups:p}=sortValidations(n),h=_objectSpread2$1(_objectSpread2$1({},i),v),g=a?vue.computed(()=>{const T=vue.unref(t);return T?vue.unref(T[a]):void 0}):t,_=_objectSpread2$1({},vue.unref(u)||{}),m=vue.computed(()=>{const T=vue.unref(u);return a?T?vue.unref(T[a]):void 0:T}),b=createValidationResults(d,g,a,s,c,h,l,m,t),S=collectNestedValidationResults(f,g,c,s,h,l,m),C={};p&&Object.entries(p).forEach(T=>{let[F,Q]=T;C[F]={$invalid:gatherBooleanGroupProperties(Q,S,"$invalid"),$error:gatherBooleanGroupProperties(Q,S,"$error"),$pending:gatherBooleanGroupProperties(Q,S,"$pending"),$errors:gatherArrayGroupProperties(Q,S,"$errors"),$silentErrors:gatherArrayGroupProperties(Q,S,"$silentErrors")}});const{$dirty:V,$errors:B,$invalid:$,$anyDirty:D,$error:R,$pending:M,$touch:A,$reset:O,$silentErrors:q,$commit:ee}=createMetaFields(b,S,o),Y=a?vue.computed({get:()=>vue.unref(g),set:T=>{V.value=!0;const F=vue.unref(t),Q=vue.unref(u);Q&&(Q[a]=_[a]),vue.isRef(F[a])?F[a].value=T:F[a]=T}}):null;a&&h.$autoDirty&&vue.watch(g,()=>{V.value||A();const T=vue.unref(u);T&&(T[a]=_[a])},{flush:"sync"});async function W(){return A(),h.$rewardEarly&&(ee(),await vue.nextTick()),await vue.nextTick(),new Promise(T=>{if(!M.value)return T(!$.value);const F=vue.watch(M,()=>{T(!$.value),F()})})}function k(T){return(o.value||{})[T]}function L(){vue.isRef(u)?u.value=_:Object.keys(_).length===0?Object.keys(u).forEach(T=>{delete u[T]}):Object.assign(u,_)}return vue.reactive(_objectSpread2$1(_objectSpread2$1(_objectSpread2$1({},b),{},{$model:Y,$dirty:V,$error:R,$errors:B,$invalid:$,$anyDirty:D,$pending:M,$touch:A,$reset:O,$path:c||ROOT_PATH,$silentErrors:q,$validate:W,$commit:ee},o&&{$getResultsForChild:k,$clearExternalResults:L,$validationGroups:C}),S))}class ResultsStorage{constructor(){this.storage=new Map}set(n,t,a){this.storage.set(n,{rules:t,result:a})}checkRulesValidity(n,t,a){const r=Object.keys(a),o=Object.keys(t);return o.length!==r.length||!o.every(i=>r.includes(i))?!1:o.every(i=>t[i].$params?Object.keys(t[i].$params).every(l=>vue.unref(a[i].$params[l])===vue.unref(t[i].$params[l])):!0)}get(n,t){const a=this.storage.get(n);if(!a)return;const{rules:r,result:o}=a,s=this.checkRulesValidity(n,t,r),i=o.$unwatch?o.$unwatch:()=>({});return s?o:{$dirty:o.$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 a={},r=vue.ref([]),o=vue.computed(()=>r.value.reduce((c,d)=>(c[d]=vue.unref(a[d]),c),{}));function s(c,d){let{$registerAs:f,$scope:v,$stopPropagation:p}=d;p||n===CollectFlag.COLLECT_NONE||v===CollectFlag.COLLECT_NONE||n!==CollectFlag.COLLECT_ALL&&n!==v||(a[f]=c,r.value.push(f))}t.__vuelidateInjectInstances=[].concat(t.__vuelidateInjectInstances||[],s);function i(c){r.value=r.value.filter(d=>d!==c),delete a[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:o,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 a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};arguments.length===1&&(a=e,e=void 0,n=void 0);let{$registerAs:r,$scope:o=CollectFlag.COLLECT_ALL,$stopPropagation:s,$externalResults:i,currentVueInstance:l}=a;const u=l||((t=vue.getCurrentInstance())===null||t===void 0?void 0:t.proxy),c=u?u.$options:{};r||(uid+=1,r=`_vuelidate_${uid}`);const d=vue.ref({}),f=new ResultsStorage,{childResults:v,sendValidationResultsToParent:p,removeValidationResultsFromParent:h}=u?nestedValidations({$scope:o,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:v,resultsCache:f,globalConfig:a,instance:u,externalResults:i||u.vuelidateExternalResults})},{immediate:!0})}),a=c.validationsConfig||a}else{const g=vue.isRef(e)||isProxy(e)?e:vue.reactive(e||{});vue.watch(g,_=>{d.value=setValidations({validations:_,state:n,childResults:v,resultsCache:f,globalConfig:a,instance:u??{},externalResults:i})},{immediate:!0})}return u&&(p.forEach(g=>g(d,{$registerAs:r,$scope:o,$stopPropagation:s})),vue.onBeforeUnmount(()=>h.forEach(g=>g(r)))),vue.computed(()=>_objectSpread2$1(_objectSpread2$1({},vue.unref(d.value)),v.value))}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,a)}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(a){_defineProperty$1(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}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 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,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];return vue.unref(n).reduce((o,s,i)=>{const l=Object.entries(s).reduce((u,c)=>{let[d,f]=c;const v=e[d]||{},p=Object.entries(v).reduce((h,g)=>{let[_,m]=g;const S=unwrapNormalizedValidator(m).call(this,f,s,i,...a),C=unwrapValidatorResponse(S);if(h.$data[_]=S,h.$data.$invalid=!C||!!h.$data.$invalid,h.$data.$error=h.$data.$invalid,!C){let V=m.$message||"";const B=m.$params||{};typeof V=="function"&&(V=V({$pending:!1,$invalid:!C,$params:B,$model:f,$response:S})),h.$errors.push({$property:d,$message:V,$params:B,$response:S,$model:f,$pending:!1,$validator:_})}return{$valid:h.$valid&&C,$data:h.$data,$errors:h.$errors}},{$valid:!0,$data:{},$errors:[]});return u.$data[d]=p.$data,u.$errors[d]=p.$errors,{$valid:u.$valid&&p.$valid,$data:u.$data,$errors:u.$errors}},{$valid:!0,$data:{},$errors:{}});return{$valid:o.$valid&&l.$valid,$data:o.$data.concat(l.$data),$errors:o.$errors.concat(l.$errors)}},{$valid:!0,$data:[],$errors:[]})},$message:n=>{let{$response:t}=n;return t?t.$errors.map(a=>Object.values(a).map(r=>r.map(o=>o.$message)).reduce((r,o)=>r.concat(o),[])):[]}}}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 a=>(a=vue.unref(a),!req(a)||n.every(r=>(r.lastIndex=0,r.test(a))))}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(a=>{a.$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$1v={class:"vs-radio-button","data-test":"vs-radio-button"},_hoisted_2$13=["id"],_hoisted_3$R={class:"visually-hidden"},_hoisted_4$C=["id"];function _sfc_render$1J(e,n,t,a,r,o){const s=vue.resolveComponent("BFormRadio"),i=vue.resolveComponent("BFormRadioGroup");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1v,[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$R,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!r.clearErrorsOnFocus]])),128))],8,_hoisted_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:o.validateErrors,onChange:o.validateErrors,onFocus:o.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",[r.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=>o.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$C)):vue.createCommentVNode("",!0)])}const VsRadioButton=LoadingSpinner._export_sfc(_sfc_main$1_,[["render",_sfc_render$1J]]),_sfc_main$1Z={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$1u={"data-test":"vs-number-input"},_hoisted_2$12=["id"],_hoisted_3$Q=["id"],_hoisted_4$B={class:"visually-hidden"},_hoisted_5$p={class:"visually-hidden"};function _sfc_render$1I(e,n,t,a,r,o){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("BFormInput");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1u,[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$B,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!r.clearErrorsOnFocus]])),128))],8,_hoisted_3$Q)):vue.createCommentVNode("",!0),vue.createVNode(s,{class:"vs-number-input__increment","icon-only":!0,size:"sm",icon:"fa-regular fa-minus",disabled:r.inputVal<=t.minimumNumber?!0:null,onClick:o.decrementValue},{default:vue.withCtx(()=>n[2]||(n[2]=[vue.createTextVNode(" Remove 1 ")])),_:1,__:[2]},8,["disabled","onClick"]),vue.createVNode(i,{ref:"input",type:"Number",class:vue.normalizeClass(["vs-number-input",o.elementClass]),modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=l=>r.inputVal=l),id:t.fieldName,name:t.fieldName,required:e.isRequired,v:r.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:o.controlBlurred,onChange:o.validateErrors,onFocus:o.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:r.inputVal>=t.maximumNumber?!0:null,onClick:o.incrementValue},{default:vue.withCtx(()=>n[3]||(n[3]=[vue.createTextVNode(" Add 1 ")])),_:1,__:[3]},8,["disabled","onClick"]),o.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=>o.clearInputAndFocus(),["prevent"]))},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$p,vue.toDisplayString(t.clearButtonText),1)]),_:1})):vue.createCommentVNode("",!0)])}const VsNumberInput=LoadingSpinner._export_sfc(_sfc_main$1Z,[["render",_sfc_render$1I]]),_sfc_main$1Y={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$1t=["for"];function _sfc_render$1H(e,n,t,a,r,o){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$1t),t.fieldType==="radio"?(vue.openBlock(),vue.createBlock(s,{key:0,"field-name":t.fieldName,options:t.options,required:!0,"hint-text":t.hint,onUpdateFieldData:o.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:o.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$1Y,[["render",_sfc_render$1H]]),_sfc_main$1X={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:a}=e;for(let r=0;r<a.length;r++)a[r].text=this.labelsMap[`question-${t+1}.option-${r+1}`];return a}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 r=0;r<this.formData.fields.length;r++)this.formData.fields[r].name===e&&(t=this.formData.fields[r]);const a=t.values[n];if(t.multiplyByNumber)return a*t.multiplyByNumber;if(t.multiplyByAnswer){let r=this.form[t.multiplyByAnswer.question]||0;return r=Math.max(r,t.multiplyByAnswer.minimum),a*r}if(t.multiplyByValue&&e!==t.multiplyByValue){let r=this.getNumberValue(t.multiplyByValue.question,this.form[t.multiplyByValue.question])||0;return r=Math.max(r,t.multiplyByValue.minimum),a*r}return a},getNumberValue(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]);if(t.multiplyByNumber)return parseInt(n,10)*t.multiplyByNumber;if(t.multiplyByAnswer){const a=this.form[t.multiplyByAnswer.question]||0;return parseInt(n,10)*a}if(t.multiplyByValue&&e!==t.multiplyByValue){const a=this.getNumberValue(t.multiplyByValue.question,this.form[t.multiplyByValue.question]);return parseInt(n,10)*a}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(a=>a.name===e);let t=!0;Object.keys(n.conditional).forEach(a=>{const r=n.conditional[a];Array.isArray(r)?r.indexOf(this.form[a])===-1&&(t=!1):this.form[a]!==r&&(t=!1),t?this.conditionalFields[e]=!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 a=this.formData.fields[t];if(a.stage===this.activeStage&&!a.isClone){const r=JSON.parse(JSON.stringify(a));r.isClone=!0;const o=`${a.name}${n}`;r.name=o,r.originalNumber=t,this.form[o]="",this.formData.fields.push(r)}}this.repeatableStages[this.activeStage].generations=n}}},_hoisted_1$1s={class:"vs-carbon-calculator__wrapper"},_hoisted_2$11={key:1};function _sfc_render$1G(e,n,t,a,r,o){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"),f=vue.resolveComponent("VsCol"),v=vue.resolveComponent("VsCarbonCalculatorRunningTotal"),p=vue.resolveComponent("VsCarbonCalculatorResults"),h=vue.resolveComponent("VsRow"),g=vue.resolveComponent("VsContainer"),_=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1s,[vue.createVNode(g,{class:"vs-carbon-calculator","data-test":"vs-carbon-calculator"},{default:vue.withCtx(()=>[e.formData&&e.formData.fields?(vue.openBlock(),vue.createBlock(h,{key:0,class:"vs-carbon-calculator__survey"},{default:vue.withCtx(()=>[vue.createVNode(f,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,[o.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(o.currentCategory),1)]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.formData.fields,(m,b)=>vue.withDirectives((vue.openBlock(),vue.createBlock(u,{ref_for:!0,ref:"questions",tabindex:"0",key:m.name,label:o.getQuestionLabel(m,b),"label-for":m.name,hint:o.getQuestionHint(m,b),"field-class":o.conditionalElementClass(m.name),"field-type":m.element,"field-name":m.name,options:o.getQuestionOptions(m,b),minimum:m.element==="number"?m.validation.min:0,maximum:m.element==="number"?m.validation.max:0,onUpdateFieldData:o.updateFieldData},null,8,["label","label-for","hint","field-class","field-type","field-name","options","minimum","maximum","onUpdateFieldData"])),[[vue.vShow,m.stage===e.activeStage]])),128))],512),[[vue.vShow,e.activeStage<=e.formData.fields.length]])])])):vue.createCommentVNode("",!0),o.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]=m=>o.duplicateCurrentStage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.activeStageRepeatable),1)]),_:1})):vue.createCommentVNode("",!0),o.currentTip?(vue.openBlock(),vue.createBlock(d,{key:3,tip:o.currentTip},null,8,["tip"])):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(f,{cols:"12"},{default:vue.withCtx(()=>[e.activeStage>0&&e.activeStage<=e.formData.stages?(vue.openBlock(),vue.createBlock(v,{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(p,{key:1,"total-kilos":e.totalKilos,"transport-kilos":e.transportKilos,"food-kilos":e.foodKilos,"accommodation-kilos":e.accommodationKilos,"stay-duration":o.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(f,{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]=m=>o.forwardPage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labelsMap.begin),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),e.activeStage>0?(vue.openBlock(),vue.createBlock(f,{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]=m=>o.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]=m=>o.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]=m=>o.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]=m=>o.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$1X,[["render",_sfc_render$1G]]),_sfc_main$1W={name:"VsCard",status:"prototype",release:"0.1.0",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}},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}}},_hoisted_1$1r={key:0,class:"vs-card__header"},_hoisted_2$10={class:"vs-card__body"},_hoisted_3$P={key:1,class:"vs-card__footer"},_hoisted_4$A={key:2,class:"vs-card__image"};function _sfc_render$1F(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-card",o.cardClasses]),"data-test":"vs-card",style:vue.normalizeStyle(o.cardStyles)},[e.$slots["vs-card-header"]&&e.$slots["vs-card-header"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1r,[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$P,[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$A,[vue.renderSlot(e.$slots,"vs-card-image")])):vue.createCommentVNode("",!0)],6)}const VsCard=LoadingSpinner._export_sfc(_sfc_main$1W,[["render",_sfc_render$1F]]),_sfc_main$1V={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$1E(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(o.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$1V,[["render",_sfc_render$1E]]),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"&&(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$1U={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$1q={key:0,class:"vs-stretched-link-card__video-btn-text"},_hoisted_2$$={key:4,class:"card-body"},_hoisted_3$O={key:0,class:"vs-stretched-link-card__category","data-test":"vs-stretched-link-card__category"},_hoisted_4$z={class:"vs-stretched-link-card__content","data-test":"vs-stretched-link-card__content"},_hoisted_5$o={key:2,class:"vs-stretched-link-card__badges","data-test":"vs-stretched-link-card__badges"};function _sfc_render$1D(e,n,t,a,r,o){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",o.stretchedLinkCardClasses]),"data-test":"vs-stretched-link-card",onClick:n[0]||(n[0]=(...d)=>o.emitShowModal&&o.emitShowModal(...d)),onKeypress:n[1]||(n[1]=(...d)=>o.emitShowModal&&o.emitShowModal(...d))},[o.showWarning==="full"?(vue.openBlock(),vue.createBlock(s,{key:0,size:t.warningSize,type:o.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(o.warningMessage)+" ",1)]),_:2},[o.cookieLinkText!==""&&o.showCookieWarning?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.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(o.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",o.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",o.isSvg?"vs-stretched-link-card__img--svg":""]),"data-test":"vs-stretched-link-card__img","data-chromatic":"ignore"},null,8,["src","alt","class"]),t.videoId&&o.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:o.emitShowModal},{default:vue.withCtx(()=>[t.videoBtnText?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$1q,vue.toDisplayString(o.formattedVideoBtnText),1)):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(o.formattedVideoDuration),1)]),_:1},8,["onClick"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),o.showWarning==="image"?(vue.openBlock(),vue.createBlock(s,{key:1,size:t.warningSize,type:o.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(o.warningMessage)+" ",1)]),_:2},[o.cookieLinkText!==""&&o.showCookieWarning?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.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(o.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),o.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$O,[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:o.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$z,[vue.renderSlot(e.$slots,"stretched-card-content")]),e.$slots["stretched-card-badges"]&&e.$slots["stretched-card-badges"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$o,[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$1U,[["render",_sfc_render$1D]]),_sfc_main$1T={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$1p={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$N={"data-test":""},_hoisted_4$y={class:"vs-stretched-link-panels__days"},_hoisted_5$n={class:"vs-stretched-link-panels__panel","data-test":"vs-stretched-link-panel"},_hoisted_6$h={"data-test":"vs-stretched-link-panel__icon"};function _sfc_render$1C(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1p,[vue.createElementVNode("div",_hoisted_2$_,[vue.createElementVNode("p",_hoisted_3$N,[vue.createElementVNode("span",_hoisted_4$y,vue.toDisplayString(t.days),1),vue.createTextVNode(vue.toDisplayString(t.daysLabel),1)])]),vue.createElementVNode("div",_hoisted_5$n,[vue.createVNode(s,{icon:t.transport,variant:"inverse",size:"sm",class:"vs-stretched-link-panels__icon"},null,8,["icon"]),vue.createElementVNode("p",_hoisted_6$h,vue.toDisplayString(t.transportName),1)])])}const VsStretchedLinkPanels=LoadingSpinner._export_sfc(_sfc_main$1T,[["render",_sfc_render$1C]]),_sfc_main$1S={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$1o={class:"vs-carousel-slide"},_hoisted_2$Z={class:"visually-hidden"},_hoisted_3$M={class:"vs-carousel-slide__title","data-test":"vs-carousel-slide__title"};function _sfc_render$1B(e,n,t,a,r,o){const s=vue.resolveComponent("VsStretchedLinkPanels"),i=vue.resolveComponent("VsStretchedLinkCard"),l=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(l,{cols:o.slideCols.xs,sm:o.slideCols.sm,lg:o.slideCols.md,xl:o.slideCols.lg,"data-test":"vs-carousel-slide","aria-disabled":!o.isVisible(t.slideIndex)},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$1o,[vue.createVNode(i,{link:t.linkUrl,type:t.linkType,"img-src":t.imgSrc,"img-alt":t.imgAlt,class:vue.normalizeClass([o.isVisible(t.slideIndex)?"vs-carousel-slide__card--active":"vs-carousel-slide__card--disabled","vs-carousel-slide__card"]),disabled:!o.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$M,[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$1S,[["render",_sfc_render$1B]]),_sfc_main$1R={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$1n=["id"],_hoisted_2$Y=["innerHTML"],_hoisted_3$L=["id"],_hoisted_4$x={class:"visually-hidden"},_hoisted_5$m={class:"vs-checkbox__label"};function _sfc_render$1A(e,n,t,a,r,o){const s=vue.resolveComponent("BFormCheckbox");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(o.checkBoxClasses)},[vue.createElementVNode("p",{class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_1$1n),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$x,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[i]||t.genericValidation[i]),1)])),[[vue.vShow,!t.reAlertErrors]])),128))],8,_hoisted_3$L)):vue.createCommentVNode("",!0),t.fieldName?(vue.openBlock(),vue.createBlock(s,vue.mergeProps({key:2,modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=i=>r.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$m,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$1R,[["render",_sfc_render$1A]]),_sfc_main$1Q={name:"VsDescriptionList",status:"prototype",release:"0.0.1",provide(){return{inline:vue.computed(()=>this.inline)}},props:{inline:{type:Boolean,default:!1}}};function _sfc_render$1z(e,n,t,a,r,o){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$1Q,[["render",_sfc_render$1z]]),_sfc_main$1P={name:"VsDescriptionListItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol},inject:["inline"],props:{title:{type:Boolean,default:!1}}};function _sfc_render$1y(e,n,t,a,r,o){const s=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(s,{tag:t.title?"dt":"dd",class:vue.normalizeClass({"list-inline-item":o.inline,"vs-description-list__detail":!t.title,"vs-description-list__detail--styled":!o.inline&&!t.title,"vs-description-list__term":t.title,"vs-description-list__term--styled":!o.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$1P,[["render",_sfc_render$1y],["__scopeId","data-v-46cd5138"]]),_sfc_main$1O={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$1x(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("p",{class:vue.normalizeClass(o.detailClasses)},[t.icon?(vue.openBlock(),vue.createBlock(s,{key:0,class:"me-050 flex-shrink-0",icon:t.icon,size:o.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$1O,[["render",_sfc_render$1x]]),_sfc_main$1N={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$1m={class:"dropdown-menu overflow-auto",role:"menu"};function _sfc_render$1w(e,n,t,a,r,o){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(o.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$1m,[vue.renderSlot(e.$slots,"default")])],2)],64)}const VsDropdown=LoadingSpinner._export_sfc(_sfc_main$1N,[["render",_sfc_render$1w]]),_sfc_main$1M={name:"VsDropdownItem",status:"prototype",release:"0.0.1",components:{BDropdownItem:LoadingSpinner.Xi}};function _sfc_render$1v(e,n,t,a,r,o){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$1M,[["render",_sfc_render$1v]]),cookieValues$3=cookieValues$5.embed,_sfc_main$1L={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$1l={"data-test":"vs-embed-wrapper",class:"vs-embed-wrapper"},_hoisted_2$X={class:"vs-embed-wrapper__container",key:"embeddedContent"},_hoisted_3$K={key:"fallback"},_hoisted_4$w=["innerHTML"];function _sfc_render$1u(e,n,t,a,r,o){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$1l,[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"]()&&!o.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),o.showError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$K,[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(o.warningText)+" ",1)]),_:2},[t.extraContent?{name:"extra-content",fn:vue.withCtx(()=>[vue.createElementVNode("div",{innerHTML:t.extraContent},null,8,_hoisted_4$w)]),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$1L,[["render",_sfc_render$1u]]),_sfc_main$1K={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$1k={class:"card vs-event-card","data-test":"vs-event-card"},_hoisted_2$W={class:"card-body"},_hoisted_3$J={class:"vs-event-card__date"},_hoisted_4$v={key:0,class:"vs-event-card__content","data-test":"vs-event-card__content"},_hoisted_5$l={key:1,class:"vs-event-card__cta","data-test":"vs-event-card__cta"};function _sfc_render$1t(e,n,t,a,r,o){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$1k,[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$J,[vue.renderSlot(e.$slots,"event-card-date")])]),_:3})):vue.createCommentVNode("",!0)]),_:3}),e.$slots["event-card-content"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$v,[vue.renderSlot(e.$slots,"event-card-content")])):vue.createCommentVNode("",!0),t.ctaHref&&t.ctaLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$l,[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$1K,[["render",_sfc_render$1t]]),_hoisted_1$1j=["id"],_hoisted_2$V={class:"vs-filter__panel-wrapper"},_hoisted_3$I={class:"vs-filter__legend"},_sfc_main$1J={__name:"VsFilter",props:{filterId:{type:String,required:!0},filterLabel:{type:String,required:!0}},emits:["filter-updated"],setup(e,{expose:n}){const t=e,a=vue.ref(),r=i=>{const l=i;l.type==="checkbox"?l.checked=!1:l.type==="date"&&(l.value="")};return n({clearFilter:r,resetAll:()=>{a.value.querySelectorAll('input[type="checkbox"], input[type="date"]').forEach(l=>{r(l)})},resetOne:i=>{const l=a.value.querySelector(`#${i}`);r(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:a},[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$I,[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$1j),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$1i={key:0,class:"vs-filter-section__details"},_hoisted_2$U={class:"vs-filter-section__summary"},_hoisted_3$H={key:1,class:"vs-filter-section__section"},_sfc_main$1I={__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(a,r)=>(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$1i,[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(a.$slots,"default")])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$H,[vue.renderSlot(a.$slots,"default")]))],2))}};function createHydrationCleanup(){let e=[];return{cleanup:()=>{e=e.filter(a=>(a(),!1))},onCleanup:a=>{e.push(a)}}}function createHydrationPromise(e){let n=()=>{};const t=new Promise(r=>{n=()=>{e(),r()}});return{promise:t,resolvePromise:n,onResolvedPromise:r=>{t.then(r)}}}function trackDepsOnRender(e){const n=e.effect.fn,t=e.render;e.render=(...a)=>{e.effect.fn=()=>t(...a);const r=e.effect.run();return e.effect.fn=n,e.render=t,r}}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 a=e.children[t]();if(Array.isArray(a)){a.forEach(r=>traverseChildren(r,n));return}traverseChildren(a,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,a=>{isAsyncWrapper(a)&&t.push(a.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:a}=createHydrationCleanup(),{promise:r,resolvePromise:o,onResolvedPromise:s}=createHydrationPromise(t),i=l=>s(()=>vue.nextTick(()=>waitForAsyncComponents(e,l)));return e.type.__asyncLoader=()=>r,ensureParentHasSubTreeEl(e.parent),vue.onBeforeMount(()=>{e.asyncDep=new Promise(l=>{l(!0)})}),s(()=>{trackDepsOnRender(e),e.asyncDep=null}),vue.onUnmounted(t),{willPerformHydration:n,hydrate:o,onHydrated:i,onCleanup:a}}function useHydrateWhenIdle({willPerformHydration:e,hydrate:n,onCleanup:t},a=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 r=requestIdleCallback(()=>{n()},{timeout:a});t(()=>{cancelIdleCallback(r)})}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 a=e.el.nextSibling;for(;a;){if(a&&isElement(a)&&t.push(a),a===n.anchor)return t;a=a.nextSibling}}return t}function useHydrateOnInteraction({willPerformHydration:e,hydrate:n,onCleanup:t},a=["focus"]){if(!e)return;const r=vue.getCurrentInstance();if(!r||r.isMounted)throw new Error("useHydrateOnInteraction must be called from the setup method.");const o=vue.unref(a);vue.onMounted(()=>{const s=getRootElements(r),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 f=c.target;for(;f;){if(s.includes(f)){n();return}if(f===i)return;f=f.parentElement}return}s.forEach(f=>{d.includes(f)&&n()})};o.forEach(c=>{i.addEventListener(c,u,l)}),t(()=>{o.forEach(c=>{i.removeEventListener(c,u,l)})})})}function useHydrateWhenTriggered({willPerformHydration:e,hydrate:n,onCleanup:t},a){if(!e)return;if(!vue.getCurrentInstance())throw new Error("useHydrateWhenTriggered must be called from the setup or lifecycle hook methods.");const r=vue.watch(vue.isRef(a)?a:()=>a,o=>{o&&n()},{immediate:!0});t(r)}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 a=new IntersectionObserver(r=>{r.forEach(o=>{!(o.isIntersecting||o.intersectionRatio>0)||!o.target.hydrate||o.target.hydrate()})},e);return observers.set(t,a),{supported:n,observer:a}}function useHydrateWhenVisible({willPerformHydration:e,hydrate:n,onCleanup:t},a){if(!e)return;const r=vue.getCurrentInstance();if(!r||r.isMounted)throw new Error("useHydrateWhenVisible must be called from the setup method.");const{supported:o,observer:s}=createHydrationObserver(a);if(!o){n();return}vue.onMounted(()=>{const i=getRootElements(r);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 a=useLazyHydration();if(!a.willPerformHydration)return()=>normalizeSlot(n.default());if(a.onHydrated(()=>t("hydrated")),e.whenIdle&&useHydrateWhenIdle(a,e.whenIdle!==!0?e.whenIdle:void 0),e.whenVisible&&useHydrateWhenVisible(a,e.whenVisible!==!0?e.whenVisible:void 0),e.onInteraction){let r;e.onInteraction!==!0&&(r=vue.computed(()=>Array.isArray(e.onInteraction)?e.onInteraction:[e.onInteraction]).value),useHydrateOnInteraction(a,r)}return e.whenTriggered!==void 0&&useHydrateWhenTriggered(a,vue.toRef(e,"whenTriggered")),()=>normalizeSlot(n.default())}}),LazyHydrationWrapper$1=vue.markRaw(LazyHydrationWrapper),_sfc_main$1H={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$1h={class:"vs-footer-nav-list"};function _sfc_render$1s(e,n,t,a,r,o){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$1h,[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$1H,[["render",_sfc_render$1s]]),_sfc_main$1G={name:"VsFooter",status:"prototype",release:"0.1.0",components:{VsFooterNavList,VsCol:LoadingSpinner.VsCol,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow}},_hoisted_1$1g={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$1r(e,n,t,a,r,o){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$1g,[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$1G,[["render",_sfc_render$1r]]),_sfc_main$1F={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$1q(e,n,t,a,r,o){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":o.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$1F,[["render",_sfc_render$1q]]),_sfc_main$1E={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$1f={class:"vs-footer-nav-list-item","data-test":"vs-footer-nav-list-item",role:"menuitem"};function _sfc_render$1p(e,n,t,a,r,o){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$1f,[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$1E,[["render",_sfc_render$1p]]),_sfc_main$1D={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$1o(e,n,t,a,r,o){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$1D,[["render",_sfc_render$1o]]),_sfc_main$1C={name:"VsFooterSocialMenu",status:"prototype",release:"0.0.1",components:{VsList,VsHeading:LoadingSpinner.VsHeading}},_hoisted_1$1e={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$1n(e,n,t,a,r,o){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsList");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1e,[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$1C,[["render",_sfc_render$1n]]),_sfc_main$1B={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$1d={class:"vs-footer-social-item","data-test":"vs-footer-social-item"};function _sfc_render$1m(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$1d,[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$1B,[["render",_sfc_render$1m]]),_sfc_main$1A={name:"VsFooterUtilityList",status:"prototype",release:"0.0.1",components:{VsList,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol}},_hoisted_1$1c={class:"vs-footer-utility-list","data-test":"vs-footer-utility-list","data-unique-id":"vs-footer-utility_links"};function _sfc_render$1l(e,n,t,a,r,o){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$1c,[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$1A,[["render",_sfc_render$1l]]);function commonjsRequire(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var dist$3={exports:{}},interopRequireDefault={exports:{}};(function(e){function n(t){return t&&t.__esModule?t:{default:t}}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports})(interopRequireDefault);var interopRequireDefaultExports=interopRequireDefault.exports,_extends$1={exports:{}},hasRequired_extends;function require_extends(){return hasRequired_extends||(hasRequired_extends=1,function(e){function n(){return e.exports=n=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var o in r)({}).hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},e.exports.__esModule=!0,e.exports.default=e.exports,n.apply(null,arguments)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(_extends$1)),_extends$1.exports}var objectWithoutPropertiesLoose={exports:{}},hasRequiredObjectWithoutPropertiesLoose;function requireObjectWithoutPropertiesLoose(){return hasRequiredObjectWithoutPropertiesLoose||(hasRequiredObjectWithoutPropertiesLoose=1,function(e){function n(t,a){if(t==null)return{};var r={};for(var o in t)if({}.hasOwnProperty.call(t,o)){if(a.indexOf(o)!==-1)continue;r[o]=t[o]}return r}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(objectWithoutPropertiesLoose)),objectWithoutPropertiesLoose.exports}var path$2={exports:{}},util$3={},isBufferBrowser$1,hasRequiredIsBufferBrowser$1;function requireIsBufferBrowser$1(){return hasRequiredIsBufferBrowser$1||(hasRequiredIsBufferBrowser$1=1,isBufferBrowser$1=function(n){return n&&typeof n=="object"&&typeof n.copy=="function"&&typeof n.fill=="function"&&typeof n.readUInt8=="function"}),isBufferBrowser$1}var inherits_browser$1={exports:{}},hasRequiredInherits_browser$1;function requireInherits_browser$1(){return hasRequiredInherits_browser$1||(hasRequiredInherits_browser$1=1,typeof Object.create=="function"?inherits_browser$1.exports=function(n,t){n.super_=t,n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}})}:inherits_browser$1.exports=function(n,t){n.super_=t;var a=function(){};a.prototype=t.prototype,n.prototype=new a,n.prototype.constructor=n}),inherits_browser$1.exports}var hasRequiredUtil$1;function requireUtil$1(){return hasRequiredUtil$1||(hasRequiredUtil$1=1,function(e){var n={},t=/%[sdj%]/g;e.format=function(k){if(!S(k)){for(var L=[],T=0;T<arguments.length;T++)L.push(o(arguments[T]));return L.join(" ")}for(var T=1,F=arguments,Q=F.length,w=String(k).replace(t,function(E){if(E==="%%")return"%";if(T>=Q)return E;switch(E){case"%s":return String(F[T++]);case"%d":return Number(F[T++]);case"%j":try{return JSON.stringify(F[T++])}catch{return"[Circular]"}default:return E}}),N=F[T];T<Q;N=F[++T])_(N)||!$(N)?w+=" "+N:w+=" "+o(N);return w},e.deprecate=function(k,L){if(V(LoadingSpinner.commonjsGlobal.process))return function(){return e.deprecate(k,L).apply(this,arguments)};if(process.noDeprecation===!0)return k;var T=!1;function F(){if(!T){if(process.throwDeprecation)throw new Error(L);process.traceDeprecation?console.trace(L):console.error(L),T=!0}return k.apply(this,arguments)}return F};var a={},r;e.debuglog=function(k){if(V(r)&&(r=n.NODE_DEBUG||""),k=k.toUpperCase(),!a[k])if(new RegExp("\\b"+k+"\\b","i").test(r)){var L=process.pid;a[k]=function(){var T=e.format.apply(e,arguments);console.error("%s %d: %s",k,L,T)}}else a[k]=function(){};return a[k]};function o(k,L){var T={seen:[],stylize:i};return arguments.length>=3&&(T.depth=arguments[2]),arguments.length>=4&&(T.colors=arguments[3]),g(L)?T.showHidden=L:L&&e._extend(T,L),V(T.showHidden)&&(T.showHidden=!1),V(T.depth)&&(T.depth=2),V(T.colors)&&(T.colors=!1),V(T.customInspect)&&(T.customInspect=!0),T.colors&&(T.stylize=s),u(T,k,T.depth)}e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function s(k,L){var T=o.styles[L];return T?"\x1B["+o.colors[T][0]+"m"+k+"\x1B["+o.colors[T][1]+"m":k}function i(k,L){return k}function l(k){var L={};return k.forEach(function(T,F){L[T]=!0}),L}function u(k,L,T){if(k.customInspect&&L&&M(L.inspect)&&L.inspect!==e.inspect&&!(L.constructor&&L.constructor.prototype===L)){var F=L.inspect(T,k);return S(F)||(F=u(k,F,T)),F}var Q=c(k,L);if(Q)return Q;var w=Object.keys(L),N=l(w);if(k.showHidden&&(w=Object.getOwnPropertyNames(L)),R(L)&&(w.indexOf("message")>=0||w.indexOf("description")>=0))return d(L);if(w.length===0){if(M(L)){var E=L.name?": "+L.name:"";return k.stylize("[Function"+E+"]","special")}if(B(L))return k.stylize(RegExp.prototype.toString.call(L),"regexp");if(D(L))return k.stylize(Date.prototype.toString.call(L),"date");if(R(L))return d(L)}var j="",P=!1,z=["{","}"];if(h(L)&&(P=!0,z=["[","]"]),M(L)){var G=L.name?": "+L.name:"";j=" [Function"+G+"]"}if(B(L)&&(j=" "+RegExp.prototype.toString.call(L)),D(L)&&(j=" "+Date.prototype.toUTCString.call(L)),R(L)&&(j=" "+d(L)),w.length===0&&(!P||L.length==0))return z[0]+j+z[1];if(T<0)return B(L)?k.stylize(RegExp.prototype.toString.call(L),"regexp"):k.stylize("[Object]","special");k.seen.push(L);var H;return P?H=f(k,L,T,N,w):H=w.map(function(Z){return v(k,L,T,N,Z,P)}),k.seen.pop(),p(H,j,z)}function c(k,L){if(V(L))return k.stylize("undefined","undefined");if(S(L)){var T="'"+JSON.stringify(L).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return k.stylize(T,"string")}if(b(L))return k.stylize(""+L,"number");if(g(L))return k.stylize(""+L,"boolean");if(_(L))return k.stylize("null","null")}function d(k){return"["+Error.prototype.toString.call(k)+"]"}function f(k,L,T,F,Q){for(var w=[],N=0,E=L.length;N<E;++N)W(L,String(N))?w.push(v(k,L,T,F,String(N),!0)):w.push("");return Q.forEach(function(j){j.match(/^\d+$/)||w.push(v(k,L,T,F,j,!0))}),w}function v(k,L,T,F,Q,w){var N,E,j;if(j=Object.getOwnPropertyDescriptor(L,Q)||{value:L[Q]},j.get?j.set?E=k.stylize("[Getter/Setter]","special"):E=k.stylize("[Getter]","special"):j.set&&(E=k.stylize("[Setter]","special")),W(F,Q)||(N="["+Q+"]"),E||(k.seen.indexOf(j.value)<0?(_(T)?E=u(k,j.value,null):E=u(k,j.value,T-1),E.indexOf(`
|
|
151
151
|
`)>-1&&(w?E=E.split(`
|
|
152
152
|
`).map(function(P){return" "+P}).join(`
|
|
153
153
|
`).substr(2):E=`
|
|
@@ -330,4 +330,4 @@ ${c.message}`,c}}};return loaders.loaders=s,loaders}var getPropertyByPath={},has
|
|
|
330
330
|
Install the correct version for Vue 2.x: "npm i vue-combo-blocks@vue2"`);var VueComboBlocks=vue.defineComponent({name:"vue-combo-blocks",emits:{select:null,"update:modelValue":null,"input-value-change":null,"is-open-change":null,"hovered-index-change":null,"state-change":null,change:null,"show-list":null,focus:null,hover:null},props:getProps(isVue3),watch:{modelValue:function e(n){isControlledProp(this.$props,"modelValue")&&(this.inputValue=this.itemToString(n),this.selectedItem=n)}},beforeCreate,data:function e(){return getInitialData(this.modelValue,this.itemToString)},computed:Object.assign({},computed),methods:Object.assign({},{setState:function e(n,t){var a=this.$data,r=this.stateReducer(a,{changes:n,type:t}),o=hasOwnProperty(r,"selectedItem"),s=r.selectedItem!==a.selectedItem;o&&(this.$emit("select",r.selectedItem,t),s&&this.$emit("update:modelValue",r.selectedItem,t));var i={};for(var l in r)hasOwnProperty(r,l)&&a[l]!==r[l]&&(i[l]=r[l],this[l]=i[l],l==="inputValue"?this.$emit("input-value-change",r[l],t):l==="isOpen"?this.$emit("is-open-change",r[l],t):l==="hoveredIndex"&&this.$emit("hovered-index-change",r[l],t));this.$emit("state-change",i,t)}},methods),render:function e(){return this.$slots.default(slot(this))}});VueComboBlocks.stateChangeTypes=sct;const _hoisted_1$s={"data-test":"vs-autocomplete",class:"vs-autocomplete mb-100"},_hoisted_2$m=["for"],_hoisted_3$f=["placeholder","onClick"],_hoisted_4$c=["name"],_sfc_main$C=vue.defineComponent({__name:"Autocomplete",props:{id:{},label:{},mode:{},multiselectLabel:{},name:{},options:{},placeholder:{},trackBy:{},isTourLocation:{type:Boolean},defaultVal:{}},emits:["changeValue"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref([]),o=vue.ref(t.options),s=f=>f?f[u.value]:"",i=f=>{o.value=t.options.filter(v=>v[u.value].toLowerCase().includes(f.toLowerCase()))},l=f=>{typeof t.trackBy<"u"?a("changeValue",f[t.trackBy]):a("changeValue",f.label)},u=vue.computed(()=>typeof t.multiselectLabel<"u"?t.multiselectLabel:"name"),c=vue.computed(()=>{if(typeof r.value=="string"){if(t.isTourLocation){const f=t.options.find(v=>v.name===r.value);if(typeof f<"u")return f.slug.trim()}return r.value.trim()}else if(typeof r.value=="object"&&Object.keys(r.value).length>0)return s(r.value).trim()}),d=vue.computed(()=>!!(c.value&&c.value.length>0));return vue.watch(()=>r.value,()=>{r.value===null&&(r.value=[])}),vue.onMounted(()=>{typeof t.defaultVal<"u"&&(r.value=t.defaultVal)}),(f,v)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createElementVNode("label",{for:f.id},vue.toDisplayString(f.label),9,_hoisted_2$m),vue.createVNode(vue.unref(VueComboBlocks),{"input-id":f.id,modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=p=>r.value=p),itemToString:s,items:o.value,onInputValueChange:i,onSelect:l},{default:vue.withCtx(({getInputProps:p,getInputEventListeners:h,hoveredIndex:g,isOpen:_,getMenuProps:m,getMenuEventListeners:b,getItemProps:S,getItemEventListeners:C,getComboboxProps:V,openMenu:B})=>[vue.createElementVNode("div",vue.mergeProps(V(),{class:"vs-autocomplete__list-wrapper"}),[vue.createElementVNode("input",vue.mergeProps({class:"vs-input form-control"},p(),vue.toHandlers(h(),!0),{placeholder:f.placeholder,onClick:$=>B()}),null,16,_hoisted_3$f),vue.createVNode(LoadingSpinner.VsIcon,{icon:"vs-icon-control-expand",variant:"cta",size:"sm"}),vue.withDirectives(vue.createElementVNode("ul",vue.mergeProps(m(),vue.toHandlers(b(),!0),{class:"vs-autocomplete__list"}),[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,($,D)=>(vue.openBlock(),vue.createElementBlock("li",vue.mergeProps({key:$.id},{ref_for:!0},S({item:$,index:D}),vue.toHandlers(C({item:$,index:D}),!0),{class:["vs-autocomplete__list-item",{"vs-autocomplete__list-item--hover":g===D}]}),vue.toDisplayString($[u.value]),17))),128))],16),[[vue.vShow,_]])],16)]),_:1},8,["input-id","modelValue","items"]),d.value?vue.withDirectives((vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:f.name,"onUpdate:modelValue":v[1]||(v[1]=p=>c.value=p)},null,8,_hoisted_4$c)),[[vue.vModelText,c.value]]):vue.createCommentVNode("",!0)]))}}),_hoisted_1$r={class:"vs-date-input","data-test":"vs-date-input"},_hoisted_2$l=["for"],_hoisted_3$e=["min","name","id"],_sfc_main$B=vue.defineComponent({__name:"DateInput",props:{label:{},id:{},name:{},value:{},minDate:{}},emits:["changeDate"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.value),o=vue.computed(()=>new Date().toISOString().split("T")[0]);return vue.watch(()=>t.value,s=>{r.value=s,a("changeDate",r.value)}),(s,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[vue.createElementVNode("label",{for:s.id},vue.toDisplayString(s.label),9,_hoisted_2$l),vue.withDirectives(vue.createElementVNode("input",{type:"date",min:typeof s.minDate<"u"&&s.minDate.length>0?s.minDate:o.value,name:s.name,id:s.id,"onUpdate:modelValue":i[0]||(i[0]=l=>r.value=l),onChange:i[1]||(i[1]=l=>s.$emit("changeDate",r.value)),class:"form-control vs-input"},null,40,_hoisted_3$e),[[vue.vModelText,r.value]])]))}}),_hoisted_1$q={class:"vs-date-range","data-test":"vs-date-range"},_hoisted_2$k={class:"row align-items-center"},_hoisted_3$d={class:"col-12 col-sm-5 order-1"},_hoisted_4$b={class:"col-12 col-sm-5 order-2"},_hoisted_5$a={class:"col-12 col-sm-2 order-first order-sm-3 text-sm-right"},_hoisted_6$a={key:1,type:"hidden",name:"refine-date",value:"on"},_hoisted_7$9=["value"],_sfc_main$A=vue.defineComponent({__name:"DateRange",props:{startLabel:{type:String,required:!1,default:"Start Date"},endLabel:{type:String,required:!1,default:"End Date"},defaultDates:{type:Boolean,default:!1},selectedProd:{type:String,required:!0}},emits:["dateUpdated"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(""),o=vue.ref(""),s=vue.computed(()=>!!r.value||!!o.value),i=vue.computed(()=>{const m=new Date(o.value),b=new Date(r.value),S=m.getTime()-b.getTime();return isNaN(S)?1:S/(1e3*3600*24)});function l(){r.value="",o.value=""}const u=m=>{const b=m.toLocaleString("default",{year:"numeric"}),S=m.toLocaleString("default",{month:"2-digit"}),C=m.toLocaleString("default",{day:"2-digit"});return`${b}-${S}-${C}`},c=vue.computed(()=>r.value===""?u(new Date):""),d=vue.computed(()=>{let m;if(r.value!==""){const b=new Date(r.value);b.setDate(b.getDate()+1),m=u(b)}else if(t.defaultDates){const b=new Date,S=new Date(b);S.setDate(S.getDate()+1),m=u(S)}return m}),f=vue.computed(()=>{let m;if(r.value===""){const b=new Date,S=new Date(b);S.setDate(S.getDate()+1),m=u(S)}else{const b=new Date,S=new Date(r.value);b.setDate(S.getDate()+1),m=u(b)}return m});function v(){const m=new Date(r.value);new Date(o.value)<=m&&(o.value="")}function p(){const m=!(!r.value&&!o.value);a("dateUpdated",m)}function h(){p(),v()}const g=vue.computed(()=>t.selectedProd==="acco"?"stay":"isostartdate"),_=vue.computed(()=>t.selectedProd==="acco"?"endDate":"isoenddate");return(m,b)=>(vue.openBlock(),vue.createElementBlock("fieldset",_hoisted_1$q,[vue.createElementVNode("div",_hoisted_2$k,[vue.createElementVNode("div",_hoisted_3$d,[vue.createVNode(_sfc_main$B,{label:e.startLabel,value:e.defaultDates&&r.value===""&&o.value?c.value:r.value,name:g.value,id:"startDate",onChangeDate:b[0]||(b[0]=S=>{r.value=S,h()}),class:"mb-100"},null,8,["label","value","name"])]),vue.createElementVNode("div",_hoisted_4$b,[vue.createVNode(_sfc_main$B,{label:e.endLabel,value:e.defaultDates&&o.value===""&&r.value?d.value:o.value,"min-date":f.value,name:_.value,id:"endDate",onChangeDate:b[1]||(b[1]=S=>{o.value=S,h()}),class:"mb-100"},null,8,["label","value","min-date","name"])]),vue.createElementVNode("div",_hoisted_5$a,[s.value?(vue.openBlock(),vue.createElementBlock("button",{key:0,id:"clearDateRange",type:"button",onClick:l,class:"vs-date-range__clear"},vue.toDisplayString(vue.unref(getLabelText)("reset","Clear")),1)):vue.createCommentVNode("",!0),e.selectedProd!=="acco"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_6$a)):vue.createCommentVNode("",!0),vue.createElementVNode("input",{type:"hidden",name:"nights",value:i.value},null,8,_hoisted_7$9)])])]))}}),_hoisted_1$p={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},_hoisted_2$j={key:0,class:"container"},_hoisted_3$c={class:"row"},_hoisted_4$a={class:"col-12"},_hoisted_5$9=["action"],_hoisted_6$9={class:"form-group product-search__type mb-100"},_hoisted_7$8={for:"prodtypes"},_hoisted_8$4={class:"product-search__in d-none d-md-block mt-100"},_hoisted_9$4={"aria-live":"polite"},_hoisted_10$4=["disabled","value"],_hoisted_11$3=["disabled","value"],_hoisted_12$2=["value"],_hoisted_13$2={key:4,type:"hidden",name:"areaproxdist",value:"10"},_hoisted_14$1={key:5},_hoisted_15$1={key:0,class:"form-group"},_hoisted_16$1={for:"search-keyword"},_hoisted_17$1={key:6},_hoisted_18={key:0},_hoisted_19=["value"],__default__=vue.defineComponent({mixins:[LoadingSpinner.dataLayerMixin],methods:{trackSubmit(e,n){this.createDataLayerObject("productSearchDataEvent",{searchType:e,searchLocation:n.name},this.href)}}}),_sfc_main$z=vue.defineComponent({...__default__,__name:"ProductSearchEmbed",props:{defaultProd:{type:String,default:"acti,attr,reta",validator(e){return["acco","cate","even","tour","acti,attr,reta"].includes(e)}},defaultLocale:{type:String,default:"",validator(e){return["en","fr","de","es","it","nl",""].includes(e)}},defaultLocation:{type:String,default:""}},setup(e){const n=e,t=vue.ref(!1),a=vue.ref(),r=vue.ref([]);vue.ref(null);let o=vue.ref();o.value={id:"",key:"",name:"",type:""};const s=vue.ref("off"),i=vue.ref(!1),l=vue.computed(()=>{const k=typeof a.value>"u"?"see-do":a.value;return`/info/${LoadingSpinner.paths[k]}`});let u=vue.ref(!1);const c={en:{localeUrl:""},fr:{localeUrl:"fr-fr"},de:{localeUrl:"de-de"},es:{localeUrl:"es-es"},it:{localeUrl:"it-it"},nl:{localeUrl:"nl-nl"}},d=vue.computed(()=>{let k=n.defaultLocale.length>0?n.defaultLocale:getLocale();return k==="en"&&(k=""),k}),f=vue.computed(()=>{if(typeof window<"u"){let k=window.location.origin;return k.includes("localhost")?"https://www.visitscotland.com":k}return"https://www.visitscotland.com"}),v=vue.computed(()=>`${f.value}${d.value?"/"+d.value:""}${l.value}/search-results`),h="https://www.visitscotland.com/data/locations"+`?locale=${d.value}`,g=vue.ref([]),_="https://www.visitscotland.com/tms-api/v1/attractions",m=vue.ref([]),b="https://www.visitscotland.com/tms-api/v1/origins?active=1",S=vue.ref([]),C=vue.ref([]),V=()=>{const k=getProductTypes(),L=[];k.forEach(T=>{L.push(T)}),C.value=L},B=vue.computed(()=>t.value?[]:C.value.map(L=>({...L,text:getProductName(L.value,L.text)}))),$=async()=>{const k=await getData(h);k&&(g.value=k.data)},D=async()=>{const k=await getData(b);k&&(S.value=k.data)},R=async()=>{const k=await getData(_);k&&(m.value=k.data)},M=(k,L)=>{L==="key"?o.value=g.value.find(T=>T.key===k):L==="id"?o.value=g.value.find(T=>T.id===k):o.value=g.value.find(T=>T.name===k.trim())},A=k=>{const L=k.value;a.value=L,L==="tour"&&(D(),R())},O=()=>c[n.defaultLocale]||"",q=()=>{t.value=!0,vue.nextTick(()=>{t.value=!1,n.defaultLocation!==""&&u&&M(n.defaultLocation,"id")})},ee=vue.computed(()=>a.value!=="cate"&&a.value!=="acti,attr,reta"?"d-lg-flex":"");vue.onBeforeMount(async()=>{window.VS={};const k=document.createElement("script");k.async=!1,k.onload=q,k.setAttribute("src",`https://www.visitscotland.com/${O().localeUrl}/data/template/search.js`),document.head.appendChild(k)}),vue.onMounted(async()=>{$(),u.value=!0,a.value=n.defaultProd,a.value==="tour"&&(D(),R()),V()});const Y=k=>{s.value=k?"on":"off"},W=k=>{i.value=!0;const L=k.currentTarget;setTimeout(function(){L.submit()},500)};return(k,L)=>{var T,F,Q,w,N,E;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$p,[t.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$j,[vue.createElementVNode("div",_hoisted_3$c,[vue.createElementVNode("div",_hoisted_4$a,[vue.unref(u)?(vue.openBlock(),vue.createElementBlock("form",{key:0,action:v.value,onSubmit:vue.withModifiers(W,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[vue.createElementVNode("div",_hoisted_6$9,[vue.createElementVNode("label",_hoisted_7$8,vue.toDisplayString(vue.unref(getLabelText)("search_for","I'm looking for")),1),vue.createElementVNode("div",{class:vue.normalizeClass(ee.value)},[vue.createVNode(VsSelect,{options:B.value,value:e.defaultProd,onUpdated:L[0]||(L[0]=j=>A(j)),"field-name":"prodtypes"},null,8,["options","value"]),vue.createElementVNode("div",_hoisted_8$4,vue.toDisplayString(vue.unref(getLabelText)("in","in")),1)],2)]),vue.createElementVNode("div",_hoisted_9$4,[a.value!="tour"&&vue.unref(u)?(vue.openBlock(),vue.createBlock(_sfc_main$C,{key:0,id:"search-location",label:vue.unref(getLabelText)("location","Location"),"multiselect-label":"name",name:"loc",options:g.value,placeholder:vue.unref(getLabelText)("location_placeholder","Enter a location"),"track-by":"name",onChangeValue:L[1]||(L[1]=j=>M(j)),"default-val":vue.unref(o),"data-chromatic":"ignore"},null,8,["label","options","placeholder","default-val"])):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"locplace",disabled:((T=vue.unref(o))==null?void 0:T.type)==="POLYGON",value:((F=vue.unref(o))==null?void 0:F.key)||""},null,8,_hoisted_10$4)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:2,type:"hidden",name:"locpoly",disabled:((Q=vue.unref(o))==null?void 0:Q.type)!=="POLYGON",value:((w=vue.unref(o))==null?void 0:w.key)||""},null,8,_hoisted_11$3)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:3,type:"hidden",name:"locprox",value:((N=vue.unref(o))==null?void 0:N.type)==="DISTRICT"?1:0},null,8,_hoisted_12$2)):vue.createCommentVNode("",!0),a.value!=="tour"&&((E=vue.unref(o))==null?void 0:E.type)==="DISTRICT"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_13$2)):vue.createCommentVNode("",!0),a.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[vue.createVNode(_sfc_main$A,{"start-label":vue.unref(getLabelText)("startdate","Start Date","dates"),"end-label":vue.unref(getLabelText)("enddate","End Date","dates"),onDateUpdated:L[2]||(L[2]=j=>Y(j)),"default-dates":i.value,"selected-prod":a.value},null,8,["start-label","end-label","default-dates","selected-prod"]),a.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15$1,[vue.createElementVNode("label",_hoisted_16$1,vue.toDisplayString(vue.unref(getLabelText)("keywords","Keywords")),1),vue.createVNode(VsInput,{"field-name":"search-keyword",placeholder:vue.unref(getLabelText)("events_keywords_placeholder","Highland games, music festivals etc"),name:"name"},null,8,["placeholder"])])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$1,L[4]||(L[4]=[vue.createElementVNode("input",{hidden:"true",name:"avail",value:"off"},null,-1)]))):vue.createCommentVNode("",!0)]),a.value==="tour"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_18,[vue.createVNode(_sfc_main$C,{id:"tour-origin",label:vue.unref(getLabelText)("tour_origin","Starting point"),"multiselect-label":"name",name:"origins[]",options:S.value,placeholder:vue.unref(getLabelText)("tour_origin_placeholder","Location"),"track-by":"name","is-tour-location":!0},null,8,["label","options","placeholder"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.value,j=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",name:"attractions[]",value:j},null,8,_hoisted_19))),256)),vue.createVNode(_sfc_main$C,{id:"tour-month",label:vue.unref(getLabelText)("tour_month","I'm traveling in"),"multiselect-label":"label",name:"when",options:vue.unref(getLabelText)("months",vue.unref(LoadingSpinner.monthsEnglish)),placeholder:vue.unref(getLabelText)("tour_month_placeholder","Select month"),"track-by":"value"},null,8,["label","options","placeholder"])])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"mt-150","data-test":"psw-submit",type:"submit",onClick:L[3]||(L[3]=j=>k.trackSubmit(a.value,typeof vue.unref(o)>"u"?"":vue.unref(o)))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("search","Search")),1)]),_:1})],40,_hoisted_5$9)):vue.createCommentVNode("",!0),vue.unref(u)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(LoadingSpinner.VsLoading,{key:1,variant:"dark"}))])])]))])}}}),_sfc_main$y={name:"VsProductSearch",status:"prototype",release:"0.0.1",components:{VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsProductSearchEmbed:_sfc_main$z,VsHeading:LoadingSpinner.VsHeading,VsWarning:LoadingSpinner.VsWarning},props:{noJsMessage:{type:String,required:!0},defaultLocation:{type:String,default:""},defaultProd:{type:String,default:"acti,attr,reta"},defaultLocale:{type:String,default:"en"}}},_hoisted_1$o={class:"vs-product-search","data-test":"vs-product-search"},_hoisted_2$i={class:"vs-product-search__intro"};function _sfc_render$o(e,n,t,a,r,o){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsProductSearchEmbed"),u=vue.resolveComponent("VsWarning"),c=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$o,[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-product-search__col vs-product-search__col--left",xl:"7"},{default:vue.withCtx(()=>[vue.createVNode(s,{level:"2",headingStyle:"heading-l",class:"vs-product-search__heading mt-0"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-module-heading")]),_:3}),vue.createElementVNode("div",_hoisted_2$i,[vue.renderSlot(e.$slots,"vs-module-intro")])]),_:3}),vue.createVNode(i,{class:"vs-product-search__col vs-product-search__col--right",xl:"5"},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-product-search__widget","default-location":t.defaultLocation,"default-locale":t.defaultLocale,"default-prod":t.defaultProd},null,8,["default-location","default-locale","default-prod"]),vue.createVNode(u,{class:"vs-product-search__no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})]),_:1})]),_:3})]),_:3})])}const ProductSearch=LoadingSpinner._export_sfc(_sfc_main$y,[["render",_sfc_render$o]]),_sfc_main$x={name:"VsQuote",status:"prototype",release:"0.0.1",props:{variant:{type:String,default:"narrow",validator:e=>e.match(/(narrow|wide)/)},withBorder:{type:Boolean,default:!1}},computed:{hasAuthorName(){return!!this.$slots["quote-author-name"]},hasAuthorTitle(){return!!this.$slots["quote-author-title"]},hasAuthorImage(){return!!this.$slots["quote-image"]},variantClass(){return[{"vs-quote--narrow":this.variant==="narrow","vs-quote--wide":this.variant==="wide","vs-quote--with-border":this.withBorder}]}}},_hoisted_1$n={key:0,class:"vs-quote__speech-container"},_hoisted_2$h={key:1,class:"vs-quote__author-container"},_hoisted_3$b={class:"vs-quote__content-container"},_hoisted_4$9={class:"vs-quote__content"},_hoisted_5$8={key:0,class:"vs-quote__author-name"},_hoisted_6$8={key:2,class:"vs-quote__quote-link"};function _sfc_render$n(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-quote",o.variantClass]),"data-test":"vs-quote"},[t.withBorder?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-quote__speech-mark"},"“",-1)]))),o.hasAuthorImage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$h,[vue.renderSlot(e.$slots,"quote-image")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$b,[vue.createElementVNode("div",_hoisted_4$9,[vue.renderSlot(e.$slots,"quote-content")]),o.hasAuthorName?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$8,[vue.renderSlot(e.$slots,"quote-author-name")])):vue.createCommentVNode("",!0),o.hasAuthorTitle?(vue.openBlock(),vue.createElementBlock("p",{key:1,class:vue.normalizeClass(["vs-quote__author-title",t.variant==="narrow"?"vs-quote__author-title--narrow-margin":null])},[vue.renderSlot(e.$slots,"quote-author-title")],2)):vue.createCommentVNode("",!0),e.$slots["quote-link"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$8,[vue.renderSlot(e.$slots,"quote-link",{if:"$slots['quote-link']"})])):vue.createCommentVNode("",!0)])],2)}const Quote=LoadingSpinner._export_sfc(_sfc_main$x,[["render",_sfc_render$n]]),_sfc_main$w={name:"VsSectionHeader",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol},props:{anchorId:{type:String,default:null},heading:{type:String,required:!0}}},_hoisted_1$m={class:"vs-section-header","data-test":"vs-section-header"},_hoisted_2$g={key:1,class:"mt-175","data-test":"vs-section-header__actions"};function _sfc_render$m(e,n,t,a,r,o){const s=vue.resolveComponent("VsCol"),i=vue.resolveComponent("VsRow"),l=vue.resolveComponent("VsHeading"),u=vue.resolveComponent("VsBody"),c=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$m,[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,null,{default:vue.withCtx(()=>n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-section-header__divider"},null,-1)])),_:1,__:[0]})]),_:1}),vue.createVNode(i,null,{default:vue.withCtx(()=>[vue.createVNode(s,{cols:"12",sm:"7",md:"6",lg:"4"},{default:vue.withCtx(()=>[vue.createVNode(l,{level:"2","heading-style":"heading-l","no-margins":"",class:"mb-175 mb-lg-0",id:t.anchorId},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.heading),1)]),_:1},8,["id"])]),_:1}),vue.createVNode(s,{cols:"12",sm:"10",md:"9",lg:"8"},{default:vue.withCtx(()=>[e.$slots["section-header-lede"]?(vue.openBlock(),vue.createBlock(u,{key:0,variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"section-header-lede")]),_:3})):vue.createCommentVNode("",!0),e.$slots["section-header-actions"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[vue.renderSlot(e.$slots,"section-header-actions")])):vue.createCommentVNode("",!0)]),_:3})]),_:3})]),_:3})])}const SectionHeader=LoadingSpinner._export_sfc(_sfc_main$w,[["render",_sfc_render$m]]),_sfc_main$v={name:"VsTable",status:"prototype",release:"0.0.1",components:{BTableSimple:LoadingSpinner.ol},props:{tableCaption:{type:String,required:!0},tableType:{type:String,default:"responsive",validator:e=>e.match(/(responsive|stacked)/)}},computed:{responsive(){return this.tableType==="responsive"},stacked(){return this.tableType==="stacked"}}},_hoisted_1$l={class:"visually-hidden","data-test":"vs-table__caption"};function _sfc_render$l(e,n,t,a,r,o){const s=vue.resolveComponent("BTableSimple");return vue.openBlock(),vue.createBlock(s,{class:"vs-table","data-test":"vs-table",small:"","caption-top":"",responsive:o.responsive,stacked:o.stacked},{default:vue.withCtx(()=>[vue.createElementVNode("caption",_hoisted_1$l,vue.toDisplayString(t.tableCaption),1),vue.renderSlot(e.$slots,"default")]),_:3},8,["responsive","stacked"])}const VsTable=LoadingSpinner._export_sfc(_sfc_main$v,[["render",_sfc_render$l]]),_sfc_main$u={name:"VsTableHead",status:"prototype",release:"0.0.1",components:{BThead:LoadingSpinner.wn}};function _sfc_render$k(e,n,t,a,r,o){const s=vue.resolveComponent("BThead");return vue.openBlock(),vue.createBlock(s,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableHead=LoadingSpinner._export_sfc(_sfc_main$u,[["render",_sfc_render$k]]),_sfc_main$t={name:"VsTableHeaderCell",status:"prototype",release:"0.0.1",components:{BTh:LoadingSpinner.Ea},props:{stackedHeading:{type:String,default:void 0}}};function _sfc_render$j(e,n,t,a,r,o){const s=vue.resolveComponent("BTh");return vue.openBlock(),vue.createBlock(s,vue.mergeProps({"data-test":"vs-table-header-cell","stacked-heading":t.stackedHeading},e.$attrs),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableHeaderCell=LoadingSpinner._export_sfc(_sfc_main$t,[["render",_sfc_render$j]]),_sfc_main$s={name:"VsTableBody",status:"prototype",release:"0.0.1",components:{BTbody:LoadingSpinner.Bn}};function _sfc_render$i(e,n,t,a,r,o){const s=vue.resolveComponent("BTbody");return vue.openBlock(),vue.createBlock(s,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableBody=LoadingSpinner._export_sfc(_sfc_main$s,[["render",_sfc_render$i]]),_sfc_main$r={name:"VsTableRow",status:"prototype",release:"0.0.1",components:{BTr:LoadingSpinner.Je}};function _sfc_render$h(e,n,t,a,r,o){const s=vue.resolveComponent("BTr");return vue.openBlock(),vue.createBlock(s,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableRow=LoadingSpinner._export_sfc(_sfc_main$r,[["render",_sfc_render$h]]),_sfc_main$q={name:"VsTableDataCell",status:"prototype",release:"0.0.1",components:{BTd:LoadingSpinner.St},props:{stackedHeading:{type:String,default:null}}};function _sfc_render$g(e,n,t,a,r,o){const s=vue.resolveComponent("BTd");return vue.openBlock(),vue.createBlock(s,vue.mergeProps({"data-test":"vs-table-data-cell","stacked-heading":t.stackedHeading},e.$attrs,{scope:null}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableDataCell=LoadingSpinner._export_sfc(_sfc_main$q,[["render",_sfc_render$g]]),_sfc_main$p={name:"VsTableFooter",status:"prototype",release:"0.0.1",components:{BTfoot:LoadingSpinner.Pa}};function _sfc_render$f(e,n,t,a,r,o){const s=vue.resolveComponent("BTfoot");return vue.openBlock(),vue.createBlock(s,vue.mergeProps(e.$attrs,{role:"rowgroup"}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableFooter=LoadingSpinner._export_sfc(_sfc_main$p,[["render",_sfc_render$f]]),_sfc_main$o={name:"VsSkiScotlandCard",status:"prototype",release:"0.0.1",components:{VsImg:LoadingSpinner.VsImg,VsHeading:LoadingSpinner.VsHeading,VsIcon:LoadingSpinner.VsIcon,VsWarning:LoadingSpinner.VsWarning,VsLoadingSpinner:LoadingSpinner.VsLoading,VsButton:LoadingSpinner.VsButton,VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter},props:{centreInfoUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},lastUpdatedLabel:{type:String,default:"Last Updated"},liftsLabel:{type:String,default:"Lifts"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},imgSrc:{required:!0,type:String},imgAlt:{type:String,default:""},pisteMapLabel:{type:String,default:"View Piste Map"},moreDetailsLabel:{type:String,default:"More Details"},pisteMapLink:{type:String,default:""},moreDetailsLink:{type:String,required:!0,default:"#"}},data(){return{statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},runs:[],lifts:[],lastUpdate:"",jsDisabled:!0,isLoading:!0,displayError:!1}},mounted(){this.centreInfoUrl&&this.retrieveCentreInfo(),this.jsDisabled=!1},methods:{retrieveCentreInfo(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.centreInfoUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,o)=>r===o.findIndex(s=>s.name===a.name));n.runs=t}return n},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1;break}this.runs=e}}},_hoisted_1$k={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},_hoisted_2$f={class:"vs-ski-scotland-card__img-container"},_hoisted_3$a={class:"card-body"},_hoisted_4$8={key:0,class:"text-center pb-200 position-relative"},_hoisted_5$7={"data-test":"vs-ski__status-label"},_hoisted_6$7={"data-test":"vs-ski__runs-label"},_hoisted_7$7={"data-test":"vs-ski__lifts-label"},_hoisted_8$3={"data-test":"vs-ski__open-label"},_hoisted_9$3={"data-test":"vs-ski__limited-patrol-label"},_hoisted_10$3={"data-test":"vs-ski__opening-label"},_hoisted_11$2={"data-test":"vs-ski__closed-label"},_hoisted_12$1={"data-test":"vs-ski__on-hold-label"},_hoisted_13$1={"data-test":"vs-ski__last-updated-label"};function _sfc_render$e(e,n,t,a,r,o){const s=vue.resolveComponent("VsImg"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsLoadingSpinner"),u=vue.resolveComponent("VsWarning"),c=vue.resolveComponent("VsTableHeaderCell"),d=vue.resolveComponent("VsTableHead"),f=vue.resolveComponent("VsIcon"),v=vue.resolveComponent("VsTableDataCell"),p=vue.resolveComponent("VsTableRow"),h=vue.resolveComponent("VsTableBody"),g=vue.resolveComponent("VsTableFooter"),_=vue.resolveComponent("VsTable"),m=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[vue.createElementVNode("div",_hoisted_2$f,[t.imgSrc?(vue.openBlock(),vue.createBlock(s,{key:0,src:t.imgSrc,alt:t.imgAlt,class:"vs-ski-scotland-card__img","data-test":"vs-ski-scotland-card__img"},null,8,["src","alt"])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_3$a,[vue.createVNode(i,{level:"3","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-name")]),_:3}),r.jsDisabled||r.isLoading||r.displayError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$8,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(l,{class:"mb-100 d-block"}),vue.renderSlot(e.$slots,"data-loading")],64)):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(u,{key:1,size:"small","data-test":"vs-ski-scotland-card__error"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})):vue.createCommentVNode("",!0),r.jsDisabled?(vue.openBlock(),vue.createBlock(u,{key:2,size:"small","data-test":"vs-ski-scotland-card__js-disabled"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(_,{key:1,"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$7,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(c,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_6$7,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_7$7,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-check",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_8$3,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(v,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_9$3,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(v,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-timer",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_10$3,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(v,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-ban",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_11$2,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(v,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(p,{key:1},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050 fa-fw"}),vue.createElementVNode("span",_hoisted_12$1,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(v,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(v,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_13$1,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])):vue.createCommentVNode("",!0),vue.createVNode(m,{variant:"secondary",href:t.pisteMapLink,class:"mb-050",disabled:!t.pisteMapLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.pisteMapLabel),1)]),_:1},8,["href","disabled"]),vue.createVNode(m,{href:t.moreDetailsLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.moreDetailsLabel),1)]),_:1},8,["href"])])])}const SkiScotlandCard=LoadingSpinner._export_sfc(_sfc_main$o,[["render",_sfc_render$e]]),_sfc_main$n={name:"VsSkiScotlandStatus",status:"prototype",release:"0.0.1",components:{VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter,VsContainer:LoadingSpinner.VsContainer,VsRow:LoadingSpinner.VsRow,VsCol:LoadingSpinner.VsCol,VsAccordion,VsAccordionItem,VsIcon:LoadingSpinner.VsIcon,VsLink,VsHeading:LoadingSpinner.VsHeading,VsLoadingSpinner:LoadingSpinner.VsLoading,VsWarning:LoadingSpinner.VsWarning},props:{skiStatusUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},currentWeatherLabel:{type:String,default:"Current Weather"},detailedStatusLabel:{type:String,default:"Detailed Status"},difficultLabel:{type:String,default:"Difficult"},easyLabel:{type:String,default:"Easy"},intermediateLabel:{type:String,default:"Intermediate"},itinerariesLabel:{type:String,default:"Itineraries"},lastUpdatedLabel:{type:String,default:"Last Updated"},liftLabel:{type:String,default:"Lift"},liftsLabel:{type:String,default:"Lifts"},liftStatusLabel:{type:String,default:"Lift Status"},newsLabel:{type:String,default:"News From The Slopes"},otherLabel:{type:String,default:"Other"},roadsLabel:{type:String,default:"Road Status"},runLabel:{type:String,default:"Run"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},runStatusLabel:{type:String,default:"Run Status"},snowConditionsLabel:{type:String,default:"Snow Conditions Full Report"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},statusClosedLabel:{type:String,default:"Closed"},statusOpenLabel:{type:String,default:"Open"},statusOpeningLabel:{type:String,default:"Opening"},statusLimitedPatrolLabel:{type:String,default:"Limited Patrol"},statusOnHoldLabel:{type:String,default:"On Hold"},veryDifficultLabel:{type:String,default:"Very Difficult"},weatherForecastLabel:{type:String,default:"Weather Forecast"},greenLabel:{type:String,default:"Green"},blueLabel:{type:String,default:"Blue"},redLabel:{type:String,default:"Red"},blackLabel:{type:String,default:"Black"},orangeLabel:{type:String,default:"Orange"},greyLabel:{type:String,default:"Grey"}},data(){return{tokens:LoadingSpinner.designTokens,componentId:0,statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},lifts:[],runs:[],lastUpdate:"",report:"",currentWeather:"",weatherForecast:"",roadStatus:"",news:"",runLevels:[{colour:"green",colourToken:"",id:"easy",name:this.easyLabel,runs:[]},{colour:"blue",colourToken:"",id:"intermediate",name:this.intermediateLabel,runs:[]},{colour:"red",colourToken:"",id:"difficult",name:this.difficultLabel,runs:[]},{colour:"black",colourToken:"",id:"very-difficult",name:this.veryDifficultLabel,runs:[]},{colour:"orange",colourToken:"",id:"itineraries",name:this.itinerariesLabel,runs:[]},{colour:"grey",colourToken:"",id:"other",name:this.otherLabel,runs:[]}],jsDisabled:!0,isLoading:!0,displayError:!1,isCairngorms:!1}},computed:{filteredRunLevels(){return this.setColourToken().filter(n=>n.runs.length>0)}},mounted(){this.skiStatusUrl&&this.retrieveSkiStatus(),this.id=this._uid,this.jsDisabled=!1},methods:{retrieveSkiStatus(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);LoadingSpinner.axios.get(this.skiStatusUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.processFullReport(t.report),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,o)=>r===o.findIndex(s=>s.name===a.name));n.runs=t}if(n.runs)for(let t=0;t<n.runs.length;t++)n.runs[t].difficulty===null&&(n.runs[t].difficulty="orange");return n},processFullReport(e){this.report=e.runs,this.currentWeather=e.current_weather_conditions,this.weatherForecast=e.weather_forecast,this.roadStatus=e.access_roads,this.news=e.news_from_the_slopes},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++){switch(e[n].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1;break}for(let t=0;t<this.runLevels.length;t++)this.runLevels[t].colour===e[n].difficulty&&this.runLevels[t].runs.push(e[n])}this.runs=e},getColourLabel(e){return this[`${e}Label`]},setColourToken(){return this.runLevels.map(({...e})=>({...e,colourToken:this.tokens[`vs-color-icon-ski-${e.id}`]}))}}},_hoisted_1$j={class:"vs-ski-scotland-status","data-test":"vs-ski-scotland-status"},_hoisted_2$e={"data-test":"vs-ski__status-label"},_hoisted_3$9={"data-test":"vs-ski__runs-label"},_hoisted_4$7={"data-test":"vs-ski__lifts-label"},_hoisted_5$6={"data-test":"vs-ski__open-label"},_hoisted_6$6={"data-test":"vs-ski__open-label"},_hoisted_7$6={"data-test":"vs-ski__opening-label"},_hoisted_8$2={"data-test":"vs-ski__closed-label"},_hoisted_9$2={"data-test":"vs-ski__open-label"},_hoisted_10$2={"data-test":"vs-ski__last-updated-label"},_hoisted_11$1=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14=["innerHTML"],_hoisted_15=["innerHTML"],_hoisted_16=["data-test"],_hoisted_17={class:"visually-hidden"};function _sfc_render$d(e,n,t,a,r,o){const s=vue.resolveComponent("VsLoadingSpinner"),i=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("VsContainer"),c=vue.resolveComponent("VsWarning"),d=vue.resolveComponent("VsHeading"),f=vue.resolveComponent("VsTableHeaderCell"),v=vue.resolveComponent("VsTableHead"),p=vue.resolveComponent("VsIcon"),h=vue.resolveComponent("VsTableDataCell"),g=vue.resolveComponent("VsTableRow"),_=vue.resolveComponent("VsTableBody"),m=vue.resolveComponent("VsTableFooter"),b=vue.resolveComponent("VsTable"),S=vue.resolveComponent("VsLink"),C=vue.resolveComponent("VsAccordionItem"),V=vue.resolveComponent("VsAccordion");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createBlock(u,{key:0},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(s),vue.renderSlot(e.$slots,"data-loading")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(u,{key:1},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(i,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(u,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[r.jsDisabled?(vue.openBlock(),vue.createBlock(i,{key:0,cols:"12",md:"6","data-test":"vs-ski__js-disabled"},{default:vue.withCtx(()=>[vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(i,{key:1,cols:"12",md:"6"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-xs","data-test":"vs-ski__runs-lifts-status-label",class:"d-none d-md-block"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runsLiftsStatusLabel),1)]),_:1}),vue.createVNode(b,{"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$e,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$9,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$7,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_5$6,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_6$6,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_7$6,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$2,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(g,{key:1},{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_9$2,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_10$2,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"]),vue.createVNode(S,{href:`#vs-ski-scotland-status__detailed-status-${e.id}`,type:"default",class:"vs-ski-scotland-status__detailed-status-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.detailedStatusLabel),1)]),_:1},8,["href"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(i,{cols:"12",md:"5","offset-md":"1",class:"vs-ski-scotland-status__centre-info"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-information")]),_:3})]),_:3}),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(l,{key:0},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9",class:"vs-ski-scotland-status__full-report"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__snow-conditions-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.snowConditionsLabel),1)]),_:1}),vue.createElementVNode("div",{innerHTML:r.report},null,8,_hoisted_11$1),r.currentWeather.length?(vue.openBlock(),vue.createBlock(d,{key:0,level:"4","heading-style":"heading-xs","data-test":"vs-ski__current-weather-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.currentWeatherLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.currentWeather.length?(vue.openBlock(),vue.createElementBlock("div",{key:1,innerHTML:r.currentWeather},null,8,_hoisted_12)):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createBlock(d,{key:2,level:"4","heading-style":"heading-xs","data-test":"vs-ski__weather-forecast-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.weatherForecastLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createElementBlock("div",{key:3,innerHTML:r.weatherForecast},null,8,_hoisted_13)):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createBlock(d,{key:4,level:"4","heading-style":"heading-xs","data-test":"vs-ski__roads-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.roadsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createElementBlock("div",{key:5,innerHTML:r.roadStatus},null,8,_hoisted_14)):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createBlock(d,{key:6,level:"4","heading-style":"heading-xs","data-test":"vs-ski__news-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.newsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createElementBlock("div",{key:7,innerHTML:r.news},null,8,_hoisted_15)):vue.createCommentVNode("",!0)]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(l,{key:1},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__lift-status-label",id:`vs-ski-scotland-status__detailed-status-${e.id}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftStatusLabel),1)]),_:1},8,["id"]),vue.createVNode(b,{"table-caption":t.liftStatusLabel,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.lifts,B=>(vue.openBlock(),vue.createBlock(g,{key:B.name},{default:vue.withCtx(()=>[B.status==="0"||B.status===0?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),B.status==="1"||B.status===1?(vue.openBlock(),vue.createBlock(h,{key:1},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),B.status==="2"||B.status===2?(vue.openBlock(),vue.createBlock(h,{key:2},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),B.status==="3"||B.status===3?(vue.openBlock(),vue.createBlock(h,{key:3},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),B.status==="4"||B.status===4?(vue.openBlock(),vue.createBlock(h,{key:4},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(B.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError&&r.runs.length?(vue.openBlock(),vue.createBlock(l,{key:2},{default:vue.withCtx(()=>[vue.createVNode(i,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(d,{level:"3","heading-style":"heading-l","data-test":"vs-ski__run-status-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runStatusLabel),1)]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.filteredRunLevels,B=>(vue.openBlock(),vue.createElementBlock("div",{key:B.name},[vue.createVNode(V,null,{default:vue.withCtx(()=>[vue.createVNode(C,{variant:"subtle","control-id":`accordion_item_${B.name}`,"colour-badge":B.colourToken},{title:vue.withCtx(()=>[vue.createElementVNode("div",{"data-test":`vs-ski__${B.name}-label`,class:"d-inline-block"},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(o.getColourLabel(B.colour)),1),vue.createTextVNode(" "+vue.toDisplayString(B.name),1)],8,_hoisted_16)]),default:vue.withCtx(()=>[vue.createVNode(b,{"table-caption":`${B.colour} - ${B.name}`,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runLabel),1)]),_:1})]),_:1}),vue.createVNode(_,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(B.runs,$=>(vue.openBlock(),vue.createBlock(g,{key:$.name,"data-test":`vs-ski__${B.name}-row`},{default:vue.withCtx(()=>[$.status==="0"||$.status===0?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ban",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),$.status==="1"||$.status===1?(vue.openBlock(),vue.createBlock(h,{key:1},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-check",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),$.status==="2"||$.status===2?(vue.openBlock(),vue.createBlock(h,{key:2},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-timer",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),$.status==="3"||$.status===3?(vue.openBlock(),vue.createBlock(h,{key:3},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),$.status==="4"||$.status===4?(vue.openBlock(),vue.createBlock(h,{key:4},{default:vue.withCtx(()=>[vue.createVNode(p,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString($.name),1)]),_:2},1024)]),_:2},1032,["data-test"]))),128))]),_:2},1024),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(h,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:2},1032,["table-caption"])]),_:2},1032,["control-id","colour-badge"])]),_:2},1024)]))),128))]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:3})])}const SkiScotlandStatus=LoadingSpinner._export_sfc(_sfc_main$n,[["render",_sfc_render$d]]),_sfc_main$m={name:"VsSkipTo",status:"prototype",release:"0.0.1",components:{VsLink},props:{skipToText:{type:String,required:!0},hasSearchLink:{type:Boolean,default:!0}},methods:{mainMenuFocus(){const e=document.getElementsByClassName("vs-mega-nav__menu__mobile")[0],n=document.getElementsByClassName("vs-mega-nav-dropdown")[0];if(!this.isUndefined(n)){let t=n.getElementsByClassName("btn")[0];e.offsetParent!==null?(e.querySelectorAll(".btn.dropdown-toggle")[0].click(),t=document.getElementsByClassName("vs-mega-nav-accordion-item--level-1")[0].querySelectorAll(".vs-button.vs-accordion-toggle")[0],setTimeout(()=>{t.focus()},200)):t.focus()}},footerFocus(){const e=document.getElementsByClassName("vs-footer")[0];if(!this.isUndefined(e)){const n=e.getElementsByClassName("vs-footer-accordion-item")[0],t=n.getElementsByClassName("vs-link")[0],a=n.getElementsByClassName("vs-accordion-toggle")[0];a.offsetParent!==null&&!this.isUndefined(a)&&a.click(),!this.isUndefined(e)&&!this.isUndefined(t)&&(e.scrollIntoView(!0),setTimeout(()=>{t.focus()},200))}},isUndefined(e){return typeof e>"u"}}},_hoisted_1$i=["aria-label"],_hoisted_2$d={class:"vs-skip-to__label",id:"skip-to-label"};function _sfc_render$c(e,n,t,a,r,o){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-skip-to d-flex","data-test":"vs-skip-to","aria-label":t.skipToText},[vue.createElementVNode("p",_hoisted_2$d,vue.toDisplayString(t.skipToText)+": ",1),vue.createVNode(s,{href:"#main-nav","data-test":"vs-skip-to-main-menu",onClick:n[0]||(n[0]=i=>o.mainMenuFocus()),id:"main-menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-menu-text")]),_:3}),t.hasSearchLink?(vue.openBlock(),vue.createBlock(s,{key:0,href:"#site-search-btn","data-test":"vs-skip-to-search",class:"vs-skip-to__search"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"search-text")]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(s,{href:"#main-heading","data-test":"vs-skip-to-main-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-content-text")]),_:3}),vue.createVNode(s,{href:"#site-footer",onClick:n[1]||(n[1]=i=>o.footerFocus()),"data-test":"vs-skip-to-footer"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"footer-text")]),_:3})],8,_hoisted_1$i)}const SkipTo=LoadingSpinner._export_sfc(_sfc_main$m,[["render",_sfc_render$c]]),_sfc_main$l={name:"VsSocialCreditLink",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon:LoadingSpinner.VsIcon},props:{credit:{type:String,required:!0},socialPostUrl:{type:String,required:!0},source:{type:String,required:!0,validator:e=>e.match(/(instagram)/)}}},_hoisted_1$h={class:"social-credit","data-test":"vs-social-credit-link"};function _sfc_render$b(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$h,[t.source?(vue.openBlock(),vue.createBlock(s,{key:0,icon:`fa-brands fa-${t.source}`,variant:"inverse",size:"xs",class:"me-025","data-test":"vs-social-credit-link__icon"},null,8,["icon"])):vue.createCommentVNode("",!0),vue.createVNode(i,{class:"social-credit__link","data-test":"vs-social-credit-link__link",href:t.socialPostUrl,variant:"on-dark",type:"external"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.credit),1)]),_:1},8,["href"])])}const SocialCreditLink=LoadingSpinner._export_sfc(_sfc_main$l,[["render",_sfc_render$b]]),_sfc_main$k={name:"VsSocialShare",status:"prototype",release:"0.0.1",components:{VsButton:LoadingSpinner.VsButton,VsHeading:LoadingSpinner.VsHeading,VsModuleWrapper,BPopover:LoadingSpinner.Ka,VsRow:LoadingSpinner.VsRow,VsContainer:LoadingSpinner.VsContainer,VsCol:LoadingSpinner.VsCol},provide(){return{referringPageUrl:this.pageUrl,pageTitle:this.pageTitle,noJs:this.noJs}},props:{shareBtnText:{type:String,required:!0},sharePopoverTitle:{type:String,required:!0},pageUrl:{type:String,required:!0},pageTitle:{type:String,default:""},closeAltText:{type:String,required:!0},id:{type:String,required:!0},noJs:{type:Boolean,default:!1}},data(){return{copyLink:!1,renderPopover:!1}},mounted(){this.renderPopover=!0},methods:{onClose(e){this.$refs.popover.hide(e)},onShown(){this.focusFirst()},onHidden(){this.focusRef(this.$refs.shareButton)},onHide(e){this.copyLink&&(e.preventDefault(),this.focusFirst(),this.copyLink=!1)},onCopyLink(){this.copyLink=!0},focusRef(e){this.$nextTick(()=>{this.$nextTick(()=>{(e.$el||e).focus()})})},focusFirst(){this.$nextTick(()=>{this.$nextTick(()=>{this.$refs.popoverShareRow.$el.querySelector(".vs-social-share-item a ").focus()})})},tabFromClose(e){e.shiftKey||(e.preventDefault(),this.focusFirst())},tabBackFromHidden(e){e.shiftKey&&(e.preventDefault(),this.focusRef(this.$refs.closeButton))}}};function _sfc_render$a(e,n,t,a,r,o){const s=vue.resolveComponent("VsButton"),i=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsRow"),u=vue.resolveComponent("BPopover"),c=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsContainer"),f=vue.resolveComponent("VsModuleWrapper");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-social-share",t.noJs?"vs-module-wrapper__outer--hidden":"vs-module-wrapper__outer--light"]),"data-test":"vs-social-share",ref:"socialShareContainer"},[t.noJs?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(s,{key:0,class:"vs-social-share__share-btn",variant:"subtle",icon:"fa-regular fa-share-nodes",id:`vs-social-share-popover--${t.id}`,ref:"shareButton"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.shareBtnText),1)]),_:1},8,["id"])),!t.noJs&&r.renderPopover?(vue.openBlock(),vue.createBlock(u,{key:1,"custom-class":"vs-social-share__popover",target:`vs-social-share-popover--${t.id}`,click:!0,container:"body",placement:"left-end",offset:"-100",onShown:o.onShown,onHidden:o.onHidden,onHide:o.onHide,ref:"popover"},{default:vue.withCtx(()=>[vue.createVNode(i,{level:"3",tabindex:"0","heading-style":"heading-m",ref:"shareHeader",class:"vs-social-share__header",onKeydown:n[0]||(n[0]=vue.withKeys(v=>o.tabBackFromHidden(v),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1},512),vue.createVNode(l,{ref:"popoverShareRow"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{onCopyLink:o.onCopyLink})]),_:3},512),vue.createVNode(s,{"icon-only":"",class:"vs-social-share__close-btn",icon:"vs-icon-control-dismiss",variant:"subtle",ref:"closeButton",onClick:o.onClose,onKeydown:n[1]||(n[1]=vue.withKeys(v=>o.tabFromClose(v),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeAltText),1)]),_:1},8,["onClick"])]),_:3},8,["target","onShown","onHidden","onHide"])):vue.createCommentVNode("",!0),t.noJs?(vue.openBlock(),vue.createBlock(f,{key:2,class:"vs-social-share--module-list"},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(c,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(i,{level:"2","heading-style":"heading-l",class:"mb-300 mt-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1})]),_:1})]),_:1}),vue.createVNode(l,{class:"justify-content-center"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0)],2)}const SocialShare=LoadingSpinner._export_sfc(_sfc_main$k,[["render",_sfc_render$a]]),socialMediaData={facebook:{color:"#1877f2",icon:"fa-brands fa-facebook",getUrl:(e,n)=>`https://www.facebook.com/sharer/sharer.php?u=${e}&t=${n}`},"x-twitter":{color:"#0F1419",icon:"fa-brands fa-x-twitter",getUrl:(e,n)=>`https://twitter.com/intent/tweet?text=${n}%20@VisitScotland&url=${e}`},pinterest:{color:"#E60023",icon:"fa-brands fa-pinterest",getUrl:e=>`https://www.pinterest.com/pin/create/button/?url=${e}`},whatsapp:{color:"#455a64",icon:"fa-brands fa-whatsapp",getUrl:(e,n)=>`https://wa.me/?text=${n}%20-%20${e}`},email:{color:"#000000",icon:"fa-regular fa-envelope",getUrl:(e,n)=>`mailto:?body=${n}%20-%20${e}&subject=${n}`},link:{color:"#000000",icon:"fa-regular fa-link",getUrl:()=>"#"}},_sfc_main$j={name:"VsSocialShareItem",status:"prototype",release:"0.0.1",components:{VsCol:LoadingSpinner.VsCol,VsLink,VsIcon:LoadingSpinner.VsIcon},mixins:[LoadingSpinner.dataLayerMixin],inject:{referringPageUrl:{default:""},pageTitle:{default:""},noJs:{default:""}},props:{name:{type:String,required:!0,validator:e=>e.match(/(facebook|twitter|pinterest|link|email|whatsapp)/)},linkText:{type:String,required:!0},linkCopiedText:{type:String,default:""}},emits:["copyLinkClicked"],data(){return{show:!1}},computed:{iconColour(){var e;return((e=socialMediaData[this.name])==null?void 0:e.color)||"#200F2E"},iconName(){var e;return((e=socialMediaData[this.name])==null?void 0:e.icon)||"fa-solid fa-link"},shareUrl(){const e=socialMediaData[this.name];return(e==null?void 0:e.getUrl(this.referringPageUrl,this.encodedPageTitle))||"#"},encodedPageTitle(){return encodeURI(this.pageTitle)}},methods:{copyToClipboard(e){if(this.name==="link"){if(this.$emit("copyLinkClicked"),!navigator.clipboard)return;navigator.clipboard.writeText&&navigator.clipboard.writeText(this.referringPageUrl),this.show=!0,setTimeout(()=>{this.show=!1},2e3)}this.trackShareClick(e)},trackShareClick(e){this.createDataLayerObject("socialShareDataEvent",e,this.href)}}},_hoisted_1$g={class:"vs-social-share-item__text"};function _sfc_render$9(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon"),i=vue.resolveComponent("VsLink"),l=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(l,{class:"vs-social-share-item","data-test":"vs-social-share-item",cols:4,md:o.noJs?2:4},{default:vue.withCtx(()=>[vue.createVNode(i,{class:"vs-social-share-item__link",href:o.shareUrl,onClick:n[0]||(n[0]=u=>o.copyToClipboard(u)),id:`vs-share-${t.name}`},{default:vue.withCtx(()=>[vue.createVNode(s,{icon:o.iconName,"custom-colour":o.iconColour,size:"xl","small-size":"lg"},null,8,["icon","custom-colour"]),vue.createElementVNode("span",_hoisted_1$g,vue.toDisplayString(r.show?t.linkCopiedText:t.linkText),1)]),_:1},8,["href","id"])]),_:1},8,["md"])}const SocialShareItem=LoadingSpinner._export_sfc(_sfc_main$j,[["render",_sfc_render$9]]),_sfc_main$i={name:"VsSpotlightSection",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,VsBody:LoadingSpinner.VsBody,VsButton:LoadingSpinner.VsButton},props:{heading:{type:String,required:!0},description:{type:String,default:""},ctaLink:{type:String,required:!0},ctaText:{type:String,required:!0},imageSrc:{type:String,default:""},compact:{type:Boolean,default:!1}},computed:{spotlightSectionClasses(){return{"vs-spotlight-section":!0,"vs-spotlight-section--compact":this.compact,"vs-spotlight-section--standard":!this.compact,"vs-spotlight-section--no-image":!this.imageSrc}}}},_hoisted_1$f={class:"vs-spotlight-section__overlay"},_hoisted_2$c={class:"row w-100 m-0"},_hoisted_3$8={class:"col-12 col-sm-7 col-md-8 col-lg-7 col-xl-6 align-self-end p-0"},_hoisted_4$6={key:0,class:"col-12 col-sm-5 col-md-4 col-lg-5 col-xl-6 align-self-sm-end text-sm-end p-0"};function _sfc_render$8(e,n,t,a,r,o){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("VsBody"),l=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(o.spotlightSectionClasses),style:vue.normalizeStyle(t.imageSrc?{backgroundImage:`url(${t.imageSrc})`}:{}),"data-test":"vs-spotlight-section"},[vue.createElementVNode("div",_hoisted_1$f,[vue.createElementVNode("div",_hoisted_2$c,[vue.createElementVNode("div",_hoisted_3$8,[vue.createVNode(s,{class:"vs-spotlight-section__heading",level:"2","no-margins":"","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.heading),1)]),_:1}),t.description?(vue.openBlock(),vue.createBlock(i,{key:0,class:"vs-spotlight-section__description","no-margins":""},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.description),1)]),_:1})):vue.createCommentVNode("",!0),t.compact?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(l,{key:1,class:"vs-spotlight-section__cta-button",href:t.ctaLink,size:"sm",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"]))]),t.compact?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$6,[vue.createVNode(l,{class:"vs-spotlight-section__cta-button",href:t.ctaLink,size:"sm",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])])):vue.createCommentVNode("",!0)])])],6)}const SpotlightSection=LoadingSpinner._export_sfc(_sfc_main$i,[["render",_sfc_render$8]]),_hoisted_1$e={class:"vs-styled-list__list"},_hoisted_2$b={class:"vs-styled-list__source"},_sfc_main$h={__name:"StyledList",props:{source:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-styled-list",`vs-styled-list--${n.variant}`]),"data-test":"vs-styled-list"},[vue.createVNode(vue.unref(LoadingSpinner.VsContainer),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="icon"?"8":null},{default:vue.withCtx(()=>[vue.createElementVNode("ul",_hoisted_1$e,[vue.renderSlot(t.$slots,"default")])]),_:3},8,["md"])]),_:3}),t.$slots["list-source"]&&t.$slots["list-source"]()?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsRow),{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$b,[vue.renderSlot(t.$slots,"list-source")])]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2))}},_hoisted_1$d={class:"vs-styled-list__item","data-test":"vs-styled-list__item"},_sfc_main$g={__name:"StyledListItem",props:{heading:{type:String,required:!0},headingLevel:{type:Number,default:3,validator:e=>LoadingSpinner.lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},imageSrc:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)},anchorLink:{type:String,default:""}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("li",_hoisted_1$d,[vue.createVNode(vue.unref(LoadingSpinner.VsRow),null,{default:vue.withCtx(()=>[n.variant==="image"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsCol),{key:0,cols:"12",md:"2"},{default:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{src:n.imageSrc},null,8,["src"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsCol),{md:n.variant==="image"?"10":"12"},{default:vue.withCtx(()=>[n.variant==="image-horizontal"?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsImg,{key:0,src:n.imageSrc},null,8,["src"])):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsHeading,{level:n.headingLevel,"heading-style":"heading-xxs",id:e.anchorLink?e.anchorLink:""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.heading),1)]),_:1},8,["level","id"]),vue.createVNode(LoadingSpinner.VsBody,null,{default:vue.withCtx(()=>[vue.renderSlot(t.$slots,"default")]),_:3})]),_:3},8,["md"])]),_:3})]))}},_sfc_main$f={name:"VsSummaryBoxList",status:"prototype",release:"0.0.1"},_hoisted_1$c={class:"vs-summary-box","data-test":"vs-summary-box-list"},_hoisted_2$a={class:"vs-summary-box__list list-unstyled d-flex flex-wrap p-050 p-sm-075"};function _sfc_render$7(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$c,[vue.createElementVNode("ul",_hoisted_2$a,[vue.renderSlot(e.$slots,"default")])])}const SummaryBoxList=LoadingSpinner._export_sfc(_sfc_main$f,[["render",_sfc_render$7]]),_sfc_main$e={name:"VsSummaryBoxListItem",status:"prototype",release:"0.0.1",components:{VsIcon:LoadingSpinner.VsIcon},props:{text:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},iconLabel:{type:String,default:""}}},_hoisted_1$b={class:"vs-summary-box-item position-relative","data-test":"vs-summary-box-list-item"},_hoisted_2$9={key:0,class:"text-center vs-summary-box-item__label d-block position-absolute w-100","data-test":"vs-summary-box-list-item-label"},_hoisted_3$7={class:"vs-summary-box-item__label-inner"},_hoisted_4$5={key:1,class:"vs-summary-box-item__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-list-item-display"},_hoisted_5$5={key:2,class:"vs-summary-box-item__icon d-flex align-items-center position-absolute justify-content-center w-100","data-test":"vs-summary-box-list-item-icon-with-label"},_hoisted_6$5={class:"icon-wrapper text-end"},_hoisted_7$5={class:"text-wrapper d-block w-auto pt-100"};function _sfc_render$6(e,n,t,a,r,o){const s=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$b,[t.label?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$9,[vue.createElementVNode("span",_hoisted_3$7,vue.toDisplayString(t.label),1)])):vue.createCommentVNode("",!0),t.text?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$5,[vue.createElementVNode("span",null,vue.toDisplayString(t.text),1)])):vue.createCommentVNode("",!0),t.icon?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$5,[vue.createElementVNode("div",_hoisted_6$5,[vue.createVNode(s,{icon:t.icon,size:"xl"},null,8,["icon"])]),vue.createElementVNode("div",_hoisted_7$5,[vue.createElementVNode("span",null,vue.toDisplayString(t.iconLabel),1)])])):vue.createCommentVNode("",!0)])}const SummaryBoxListItem=LoadingSpinner._export_sfc(_sfc_main$e,[["render",_sfc_render$6],["__scopeId","data-v-eab4f595"]]),_sfc_main$d={name:"VsSummaryBoxDistanceListItem",status:"prototype",release:"0.0.1",props:{miles:{type:String,default:""},kilometres:{type:String,default:""},distanceLabel:{type:String,default:"Distance"},milesLabel:{type:String,default:"miles"},kilometresLabel:{type:String,default:"km"},showMiles:{type:Boolean,default:!0}}},_hoisted_1$a={class:"vs-summary-box-distance position-relative","data-test":"vs-summary-box-distance-list-item"},_hoisted_2$8={key:0,class:"text-center vs-summary-box-distance__label d-block position-absolute w-100","data-test":"vs-summary-box-distance-list-item-label"},_hoisted_3$6={class:"vs-summary-box-distance__label-inner"},_hoisted_4$4={class:"vs-summary-box-distance__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-distance-display"},_hoisted_5$4={class:"vs-summary-box-distance__display-entry"},_hoisted_6$4={class:"vs-summary-box-distance__display-value"},_hoisted_7$4={class:"vs-summary-box-distance__display-label"},_hoisted_8$1={class:"vs-summary-box-distance__display-entry"},_hoisted_9$1={class:"vs-summary-box-distance__display-value"},_hoisted_10$1={class:"vs-summary-box-distance__display-label"};function _sfc_render$5(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$a,[t.distanceLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,[vue.createElementVNode("span",_hoisted_3$6,vue.toDisplayString(t.distanceLabel),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$4,[vue.createElementVNode("div",_hoisted_5$4,[vue.createElementVNode("span",_hoisted_6$4,vue.toDisplayString(t.miles),1),vue.createElementVNode("span",_hoisted_7$4,vue.toDisplayString(t.milesLabel),1)]),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-summary-box-distance__divider"},null,-1)),vue.createElementVNode("div",_hoisted_8$1,[vue.createElementVNode("span",_hoisted_9$1,vue.toDisplayString(t.kilometres),1),vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(t.kilometresLabel),1)])])])}const SummaryBoxDistanceListItem=LoadingSpinner._export_sfc(_sfc_main$d,[["render",_sfc_render$5],["__scopeId","data-v-f36a8377"]]),_sfc_main$c={name:"VsTabs",status:"prototype",release:"0.0.1",components:{BTabs:LoadingSpinner.vc},provide(){return{noContainer:vue.computed(()=>this.noContainer)}},props:{noContainer:{type:Boolean,default:!1}}};function _sfc_render$4(e,n,t,a,r,o){const s=vue.resolveComponent("BTabs");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(t.noContainer?"vs-tabs--no-container":"vs-tabs"),"data-test":"vs-tabs"},[vue.createVNode(s,{"no-container":t.noContainer,align:t.noContainer?"center":null},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["no-container","align"])],2)}const Tabs=LoadingSpinner._export_sfc(_sfc_main$c,[["render",_sfc_render$4]]),_sfc_main$b={name:"VsTabItem",status:"prototype",release:"0.0.1",components:{VsHeading:LoadingSpinner.VsHeading,BTab:LoadingSpinner.dc},mixins:[LoadingSpinner.dataLayerMixin],inject:["noContainer"],props:{title:{type:String,required:!0}},methods:{trackClick(e){this.createDataLayerObject("tabClickEvent",e,null)}}};function _sfc_render$3(e,n,t,a,r,o){const s=vue.resolveComponent("VsHeading"),i=vue.resolveComponent("BTab");return vue.openBlock(),vue.createBlock(i,{class:"vs-tab__item","data-test":"vs-tab__item","title-link-class":o.noContainer?"vs-tab-link--no-container vs-heading":"vs-tab-link vs-heading",title:t.title,onClick:o.trackClick},{default:vue.withCtx(()=>[vue.createVNode(s,{level:"3","heading-style":"heading-xxs",class:"vs-tab__item__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1}),vue.renderSlot(e.$slots,"default")]),_:3},8,["title-link-class","title","onClick"])}const TabItem=LoadingSpinner._export_sfc(_sfc_main$b,[["render",_sfc_render$3]]),_sfc_main$a={name:"VsTag",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,required:!0}}};function _sfc_render$2(e,n,t,a,r,o){const s=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createBlock(s,{class:"vs-tag me-050 mb-100","data-test":"vs-tag",href:t.href},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])}const Tag=LoadingSpinner._export_sfc(_sfc_main$a,[["render",_sfc_render$2]]),_sfc_main$9={name:"VsTagManagerWrapper",status:"prototype",release:"0.0.1",mixins:[LoadingSpinner.dataLayerMixin],props:{payload:{type:Object,default:()=>{}}},mounted(){this.processPayload(this.payload),document.addEventListener("DOMContentLoaded",()=>{this.dataLayerStore.setTestRun(!0),this.dataLayerStore.setPageUrl(window.location.href)}),this.createDataLayerObject("pageViewTemplateDataEvent")},methods:{processPayload(e){e!==void 0&&Object.keys(e).forEach(n=>{const t=n.replace(/-/g,"_");this.dataLayerStore.processPayload({key:t,value:e[n]})})}}},_hoisted_1$9={"data-test":"vs-tag-manager-wrapper",class:"d-none"};function _sfc_render$1(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$9)}const TagManagerWrapper=LoadingSpinner._export_sfc(_sfc_main$9,[["render",_sfc_render$1]]);var dist={exports:{}},Sister;/**
|
|
331
331
|
* @link https://github.com/gajus/sister for the canonical source repository
|
|
332
332
|
* @license https://github.com/gajus/sister/blob/master/LICENSE BSD 3-Clause
|
|
333
|
-
*/Sister=function(){var e={},n={};return e.on=function(t,a){var r={name:t,handler:a};return n[t]=n[t]||[],n[t].unshift(r),r},e.off=function(t){var a=n[t.name].indexOf(t);a!==-1&&n[t.name].splice(a,1)},e.trigger=function(t,a){var r=n[t],o;if(r)for(o=r.length;o--;)r[o].handler(a)},e};var sister=Sister,YouTubePlayer={exports:{}},browser={exports:{}},ms,hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var e=1e3,n=e*60,t=n*60,a=t*24,r=a*7,o=a*365.25;ms=function(c,d){d=d||{};var f=typeof c;if(f==="string"&&c.length>0)return s(c);if(f==="number"&&isFinite(c))return d.long?l(c):i(c);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function s(c){if(c=String(c),!(c.length>100)){var d=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(c);if(d){var f=parseFloat(d[1]),v=(d[2]||"ms").toLowerCase();switch(v){case"years":case"year":case"yrs":case"yr":case"y":return f*o;case"weeks":case"week":case"w":return f*r;case"days":case"day":case"d":return f*a;case"hours":case"hour":case"hrs":case"hr":case"h":return f*t;case"minutes":case"minute":case"mins":case"min":case"m":return f*n;case"seconds":case"second":case"secs":case"sec":case"s":return f*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return f;default:return}}}}function i(c){var d=Math.abs(c);return d>=a?Math.round(c/a)+"d":d>=t?Math.round(c/t)+"h":d>=n?Math.round(c/n)+"m":d>=e?Math.round(c/e)+"s":c+"ms"}function l(c){var d=Math.abs(c);return d>=a?u(c,d,a,"day"):d>=t?u(c,d,t,"hour"):d>=n?u(c,d,n,"minute"):d>=e?u(c,d,e,"second"):c+" ms"}function u(c,d,f,v){var p=d>=f*1.5;return Math.round(c/f)+" "+v+(p?"s":"")}return ms}function setup(e){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=r,t.enabled=i,t.humanize=requireMs(),t.destroy=u,Object.keys(e).forEach(c=>{t[c]=e[c]}),t.names=[],t.skips=[],t.formatters={};function n(c){let d=0;for(let f=0;f<c.length;f++)d=(d<<5)-d+c.charCodeAt(f),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=n;function t(c){let d,f=null,v,p;function h(...g){if(!h.enabled)return;const _=h,m=Number(new Date),b=m-(d||m);_.diff=b,_.prev=d,_.curr=m,d=m,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(V,B)=>{if(V==="%%")return"%";S++;const $=t.formatters[B];if(typeof $=="function"){const D=g[S];V=$.call(_,D),g.splice(S,1),S--}return V}),t.formatArgs.call(_,g),(_.log||t.log).apply(_,g)}return h.namespace=c,h.useColors=t.useColors(),h.color=t.selectColor(c),h.extend=a,h.destroy=t.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(v!==t.namespaces&&(v=t.namespaces,p=t.enabled(c)),p),set:g=>{f=g}}),typeof t.init=="function"&&t.init(h),h}function a(c,d){const f=t(this.namespace+(typeof d>"u"?":":d)+c);return f.log=this.log,f}function r(c){t.save(c),t.namespaces=c,t.names=[],t.skips=[];const d=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const f of d)f[0]==="-"?t.skips.push(f.slice(1)):t.names.push(f)}function o(c,d){let f=0,v=0,p=-1,h=0;for(;f<c.length;)if(v<d.length&&(d[v]===c[f]||d[v]==="*"))d[v]==="*"?(p=v,h=f,v++):(f++,v++);else if(p!==-1)v=p+1,h++,f=h;else return!1;for(;v<d.length&&d[v]==="*";)v++;return v===d.length}function s(){const c=[...t.names,...t.skips.map(d=>"-"+d)].join(",");return t.enable(""),c}function i(c){for(const d of t.skips)if(o(c,d))return!1;for(const d of t.names)if(o(c,d))return!0;return!1}function l(c){return c instanceof Error?c.stack||c.message:c}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}var common=setup;(function(e,n){var t={};n.formatArgs=r,n.save=o,n.load=s,n.useColors=a,n.storage=i(),n.destroy=(()=>{let u=!1;return()=>{u||(u=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),n.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function a(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let u;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(u=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(u[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;u.splice(1,0,c,"color: inherit");let d=0,f=0;u[0].replace(/%[a-zA-Z%]/g,v=>{v!=="%%"&&(d++,v==="%c"&&(f=d))}),u.splice(f,0,c)}n.log=console.debug||console.log||(()=>{});function o(u){try{u?n.storage.setItem("debug",u):n.storage.removeItem("debug")}catch{}}function s(){let u;try{u=n.storage.getItem("debug")||n.storage.getItem("DEBUG")}catch{}return!u&&typeof process<"u"&&"env"in process&&(u=t.DEBUG),u}function i(){try{return localStorage}catch{}}e.exports=common(n);const{formatters:l}=e.exports;l.j=function(u){try{return JSON.stringify(u)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}})(browser,browser.exports);var browserExports=browser.exports,FunctionStateMap={exports:{}},PlayerStates={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default={BUFFERING:3,ENDED:0,PAUSED:2,PLAYING:1,UNSTARTED:-1,VIDEO_CUED:5},e.exports=n.default})(PlayerStates,PlayerStates.exports);var PlayerStatesExports=PlayerStates.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=PlayerStatesExports,a=r(t);function r(o){return o&&o.__esModule?o:{default:o}}n.default={pauseVideo:{acceptableStates:[a.default.ENDED,a.default.PAUSED],stateChangeRequired:!1},playVideo:{acceptableStates:[a.default.ENDED,a.default.PLAYING],stateChangeRequired:!1},seekTo:{acceptableStates:[a.default.ENDED,a.default.PLAYING,a.default.PAUSED],stateChangeRequired:!0,timeout:3e3}},e.exports=n.default})(FunctionStateMap,FunctionStateMap.exports);var FunctionStateMapExports=FunctionStateMap.exports,eventNames={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=["ready","stateChange","playbackQualityChange","playbackRateChange","error","apiChange","volumeChange"],e.exports=n.default})(eventNames,eventNames.exports);var eventNamesExports=eventNames.exports,functionNames={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=["cueVideoById","loadVideoById","cueVideoByUrl","loadVideoByUrl","playVideo","pauseVideo","stopVideo","getVideoLoadedFraction","cuePlaylist","loadPlaylist","nextVideo","previousVideo","playVideoAt","setShuffle","setLoop","getPlaylist","getPlaylistIndex","setOption","mute","unMute","isMuted","setVolume","getVolume","seekTo","getPlayerState","getPlaybackRate","setPlaybackRate","getAvailablePlaybackRates","getPlaybackQuality","setPlaybackQuality","getAvailableQualityLevels","getCurrentTime","getDuration","removeEventListener","getVideoUrl","getVideoEmbedCode","getOptions","getOption","addEventListener","destroy","setSize","getIframe","getSphericalProperties","setSphericalProperties"],e.exports=n.default})(functionNames,functionNames.exports);var functionNamesExports=functionNames.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=browserExports,a=c(t),r=FunctionStateMapExports,o=c(r),s=eventNamesExports,i=c(s),l=functionNamesExports,u=c(l);function c(v){return v&&v.__esModule?v:{default:v}}const d=(0,a.default)("youtube-player"),f={};f.proxyEvents=v=>{const p={};for(const h of i.default){const g="on"+h.slice(0,1).toUpperCase()+h.slice(1);p[g]=_=>{d('event "%s"',g,_),v.trigger(h,_)}}return p},f.promisifyPlayer=(v,p=!1)=>{const h={};for(const g of u.default)p&&o.default[g]?h[g]=(..._)=>v.then(m=>{const b=o.default[g],S=m.getPlayerState(),C=m[g].apply(m,_);return b.stateChangeRequired||Array.isArray(b.acceptableStates)&&!b.acceptableStates.includes(S)?new Promise(V=>{const B=()=>{const $=m.getPlayerState();let D;typeof b.timeout=="number"&&(D=setTimeout(()=>{m.removeEventListener("onStateChange",B),V()},b.timeout)),Array.isArray(b.acceptableStates)&&b.acceptableStates.includes($)&&(m.removeEventListener("onStateChange",B),clearTimeout(D),V())};m.addEventListener("onStateChange",B)}).then(()=>C):C}):h[g]=(..._)=>v.then(m=>m[g].apply(m,_));return h},n.default=f,e.exports=n.default})(YouTubePlayer,YouTubePlayer.exports);var YouTubePlayerExports=YouTubePlayer.exports,loadYouTubeIframeApi={exports:{}},loadScript=function e(n,t,a){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("script");typeof t=="function"&&(a=t,t={}),t=t||{},a=a||function(){},o.type=t.type||"text/javascript",o.charset=t.charset||"utf8",o.async="async"in t?!!t.async:!0,o.src=n,t.attrs&&setAttributes(o,t.attrs),t.text&&(o.text=""+t.text);var s="onload"in o?stdOnEnd:ieOnEnd;s(o,a),o.onload||stdOnEnd(o,a),r.appendChild(o)};function setAttributes(e,n){for(var t in n)e.setAttribute(t,n[t])}function stdOnEnd(e,n){e.onload=function(){this.onerror=this.onload=null,n(null,e)},e.onerror=function(){this.onerror=this.onload=null,n(new Error("Failed to load "+this.src),e)}}function ieOnEnd(e,n){e.onreadystatechange=function(){this.readyState!="complete"&&this.readyState!="loaded"||(this.onreadystatechange=null,n(null,e))}}(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=loadScript,a=r(t);function r(o){return o&&o.__esModule?o:{default:o}}n.default=o=>new Promise(i=>{if(window.YT&&window.YT.Player&&window.YT.Player instanceof Function){i(window.YT);return}else{const u=window.location.protocol==="http:"?"http:":"https:";(0,a.default)(u+"//www.youtube.com/iframe_api",c=>{c&&o.trigger("error",c)})}const l=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{l&&l(),i(window.YT)}}),e.exports=n.default})(loadYouTubeIframeApi,loadYouTubeIframeApi.exports);var loadYouTubeIframeApiExports=loadYouTubeIframeApi.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=sister,a=l(t),r=YouTubePlayerExports,o=l(r),s=loadYouTubeIframeApiExports,i=l(s);function l(c){return c&&c.__esModule?c:{default:c}}let u;n.default=(c,d={},f=!1)=>{const v=(0,a.default)();if(u||(u=(0,i.default)(v)),d.events)throw new Error("Event handlers cannot be overwritten.");if(typeof c=="string"&&!document.getElementById(c))throw new Error('Element "'+c+'" does not exist.');d.events=o.default.proxyEvents(v);const p=new Promise(g=>{typeof c=="object"&&c.playVideo instanceof Function?g(c):u.then(_=>{const m=new _.Player(c,d);return v.on("ready",()=>{g(m)}),null})}),h=o.default.promisifyPlayer(p,f);return h.on=v.on,h.off=v.off,h},e.exports=n.default})(dist,dist.exports);var distExports=dist.exports;const player=LoadingSpinner.getDefaultExportFromCjs(distExports),UNSTARTED=-1,ENDED=0,PLAYING=1,PAUSED=2,BUFFERING=3,CUED=5,VueYoutube={name:"Youtube",props:{videoId:String,playerVars:{type:Object,default:()=>({})},height:{type:[Number,String],default:360},width:{type:[Number,String],default:640},resize:{type:Boolean,default:!1},resizeDelay:{type:Number,default:100},nocookie:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!1}},data(){return{player:{},events:{[UNSTARTED]:"unstarted",[PLAYING]:"playing",[PAUSED]:"paused",[ENDED]:"ended",[BUFFERING]:"buffering",[CUED]:"cued"},resizeTimeout:null}},computed:{aspectRatio(){return this.width/this.height}},methods:{playerReady(e){this.$emit("ready",e.target)},playerStateChange(e){e.data!==null&&e.data!==UNSTARTED&&this.$emit(this.events[e.data],e.target)},playerError(e){this.$emit("error",e.target)},updatePlayer(e){if(!e){this.player.stopVideo();return}const n={videoId:e};if(typeof this.playerVars.start=="number"&&(n.startSeconds=this.playerVars.start),typeof this.playerVars.end=="number"&&(n.endSeconds=this.playerVars.end),this.playerVars.autoplay===1){this.player.loadVideoById(n);return}this.player.cueVideoById(n)},resizeProportionally(){this.player.getIframe().then(e=>{const n=this.fitParent?e.parentElement.offsetWidth:e.offsetWidth,t=n/this.aspectRatio;this.player.setSize(n,t)})},onResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(this.resizeProportionally,this.resizeDelay)}},watch:{videoId:"updatePlayer",resize(e){e?(window.addEventListener("resize",this.onResize),this.resizeProportionally()):(window.removeEventListener("resize",this.onResize),this.player.setSize(this.width,this.height))},width(e){this.player.setSize(e,this.height)},height(e){this.player.setSize(this.width,e)}},beforeUnmount(){this.player!==null&&this.player.destroy&&(this.player.destroy(),delete this.player),this.resize&&window.removeEventListener("resize",this.onResize)},mounted(){window.YTConfig={host:"https://www.youtube.com/iframe_api"};const e=this.nocookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";this.player=player(this.$el,{host:e,width:this.width,height:this.height,videoId:this.videoId,playerVars:this.playerVars}),this.player.on("ready",this.playerReady),this.player.on("stateChange",this.playerStateChange),this.player.on("error",this.playerError),this.resize&&window.addEventListener("resize",this.onResize),this.fitParent&&this.resizeProportionally()},render(){return vue.h("div")}};let videoStore=null;const cookieValues=cookieValues$5.youtube,_sfc_main$8={name:"VsVideo",status:"prototype",release:"0.0.1",components:{VsWarning:LoadingSpinner.VsWarning,VueYoutube},mixins:[LoadingSpinner.dataLayerMixin,cookieCheckerMixin],props:{language:{type:String,default:"en"},videoId:{type:String,required:!0},videoTitle:{type:String,default:""},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noJsMessage:{type:String,required:!0},errorMessage:{type:String,default:""}},data(){return{duration:{minutes:0,seconds:0,roundedMinutes:""},playerVars:{hl:this.language},requiredCookies:cookieValues,reRendering:!1,shouldAutoPlay:!1,jsDisabled:!0}},computed:{showError(){return!this.cookiesAllowed&&this.cookiesLoaded===!0||this.cookiesLoaded===!1},warningText(){let e="";return this.videoId&&this.jsDisabled&&(e=this.noJsMessage),!this.cookiesAllowed&&this.cookiesLoaded===!0&&(e=this.noCookiesMessage),e},player(){return this.$refs.youtube?this.$refs.youtube.player:null}},mounted(){this.jsDisabled=jsIsDisabled(),videoStore=useVideoStore(),this.setEventListeners()},methods:{async playerReady(){await this.getPlayerDetails(),this.shouldAutoPlay&&(this.shouldAutoPlay=!1,this.playVideo())},async playVideo(){this.player&&await this.player.playVideo()},async pauseVideo(){this.player&&await this.player.pauseVideo()},async stopVideo(){this.player&&await this.player.stopVideo()},youtubePlaying(){this.analyticsEvent("play")},youtubePaused(){this.analyticsEvent("pause")},youtubeEnded(){this.analyticsEvent("ended")},analyticsEvent(e){let n=0,t=0;this.player.getCurrentTime().then(a=>(n=a,this.player?this.player.getDuration():null)).then(a=>{t=a}).then(()=>{const a=n/t*100;this.createDataLayerObject("videoTrackingDataEvent",{title:this.videoTitle,status:e,percent:Math.round(a)})})},async getPlayerDetails(){this.player&&await this.player.getDuration().then(e=>{this.formatTime(e),this.storeVideoDetails()})},formatTime(e){const n=Math.floor(e/60),t=Math.round(e-n*60);this.duration.minutes=n,this.duration.seconds=t;const a=this.getRoundedMinutes(n,t);this.duration.roundedMinutes=this.formatSingularOrPlural(a)},getRoundedMinutes(e,n){return n<30&&e!==0?e:e+1},formatSingularOrPlural(e){return e===1?this.singleMinuteDescriptor.replace("%s",e):this.pluralMinuteDescriptor.replace("%s",e)},pad(e){return e>=10?e:`0${e}`},storeVideoDetails(){videoStore.addVideo({videoId:this.videoId,videoDurationMsg:this.duration.roundedMinutes,videoDuration:this.duration.minutes*60+this.duration.seconds,videoFullDuration:this.duration})},setEventListeners(){this.emitter&&this.emitter.on("video-controls",e=>{e.id===this.videoId&&(e.action==="modal-opened"&&this.playVideo(),e.action==="modal-closed"&&this.stopVideo(),e.action==="play"?this.playVideo():e.action==="pause"&&this.pauseVideo())})}}},_hoisted_1$8={key:0,class:"vs-video","data-test":"vs-video"},_hoisted_2$7={class:"vs-video__iframe-wrapper"},_hoisted_3$5={key:0};function _sfc_render(e,n,t,a,r,o){const s=vue.resolveComponent("VueYoutube"),i=vue.resolveComponent("VsWarning");return r.reRendering?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[vue.createElementVNode("div",_hoisted_2$7,[e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$5,[vue.createVNode(s,{autoplay:0,"video-id":t.videoId,vars:r.playerVars,ref:"youtube",nocookie:!0,onPlaying:o.youtubePlaying,onPaused:o.youtubePaused,onEnded:o.youtubeEnded,onReady:o.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"])])):vue.createCommentVNode("",!0),o.showError?(vue.openBlock(),vue.createBlock(i,{key:1,type:e.cookiesLoaded===!0?"cookie":"normal","data-test":"vs-video__warning",class:"vs-video__warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.warningText)+" ",1)]),_:2},[!e.cookiesAllowed&&e.cookiesLoaded===!0?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),key:"0"}:void 0]),1032,["type"])):vue.createCommentVNode("",!0),vue.createVNode(i,{"data-test":"vs-video__warning--no-js",class:"vs-video__warning vs-video__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})])]))}const Video=LoadingSpinner._export_sfc(_sfc_main$8,[["render",_sfc_render]]);function cleanData$1(e){return e.TypedDocuments.map(a=>{var r;return{id:a.Fields.Id.Value||"",title:a.Fields.Title.Value||"",description:a.Fields.Description.Value||"",imgSrc:((r=a.Fields.Image)==null?void 0:r.Value)||"",url:a.Fields.Url.Value||"",dataSrc:"cludo",categoryCard:a.Fields.categoryCard.Value||""}})}async function cludoSearch(e,n,t,a,r,o){const{apiKey:s,customerId:i,engineId:l}=n,u=`https://api-eu1.cludo.com/api/v3/${i}/${l}/search`,c=`${i}:${s}`,d=useFederatedSearchStore();if(d.eventsApiError=!1,d.cludoError=!1,!n)return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0};if(r==="events")return{results:[],totalResults:0};try{const f=await fetch(u,{method:"POST",body:JSON.stringify({query:e||"*",operator:o,responseType:"JsonObject",perPage:6,page:t,facets:{Category:r?[r]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(c)}`}});if(!f.ok)throw d.cludoError=!0,d.isLoading=!1,new Error(`Cludo response message: ${f.status}`);const v=await f.json();return{results:cleanData$1(v),totalResults:v.TotalDocument}}catch{return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0}}}function cleanData(e){return e.events.map(a=>{var r,o,s,i,l,u,c;return{id:a.id,parentId:a.parentId,title:a.name,description:((o=(r=a.descriptions)==null?void 0:r[0])==null?void 0:o.description)||"",imgSrc:((i=(s=a.images)==null?void 0:s[0])==null?void 0:i.url)||"",url:((u=(l=a.performances)==null?void 0:l[0])==null?void 0:u.url)||"",placeUrl:a.place.website,location:a.place.town,startDate:a.startFormatted,endDate:a.endFormatted,minPrice:(c=a.minPrice)==null?void 0:c.toString(),dataSrc:"data-thistle",categoryCard:a.categoryCard||""}})}async function eventSearch(e,n,t,a,r,o,s,i,l,u,c,d,f){const v=useFederatedSearchStore();v.eventsApiError=!1,v.cludoError=!1;let p=`${e}?query=${n}&lang=${l}`;p=t>1?`${p}&page=${t}`:p,p=o!==""?`${p}&startDate=${o}`:p,p=s!==""?`${p}&endDate=${s}`:p,p=i?`${p}&sort=${i}`:p,p=a==="events"?`${p}&pageSize=12`:`${p}&pageSize=6`,p=u?`${p}&postcode=${u}`:p,p=c?`${p}&location=${c}`:p,p=d?`${p}&radius=${d}`:p,p=f?`${p}&postcodeareas=${f}`:p,r.forEach(h=>{p+=`&category=${h}`}),a&&a!=="events"&&(p+=`&category=${a}`);try{const h=await fetch(p);if(!h.ok)throw v.isLoading=!1,v.eventsApiError=!0,new Error(`Events response message: ${h.status}`);const g=await h.json();return{results:cleanData(g),totalResults:g.totalResults}}catch{return v.isLoading=!1,v.eventsApiError=!0,{results:[],totalResults:0}}}async function cludoAutocomplete(e,n){const{apiKey:t,customerId:a,engineId:r}=n,s=`https://api-eu1.cludo.com/api/v3/${a}/${r}/Autocomplete`,i=`${a}:${t}`;try{const l=await fetch(s,{method:"POST",body:JSON.stringify({text:e}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(i)}`}});if(!l.ok)throw new Error(`Autocomplete search error ${l.status}`);return await l.json()}catch(l){throw new Error(`Autocomplete search error: ${l}`)}}const useFederatedSearchStore=pinia.defineStore("federatedSearch",()=>{const e=vue.ref(null),n=vue.ref(void 0),t=vue.ref(!1),a=vue.ref(1),r=vue.ref(void 0),o=vue.ref(!1),s=vue.ref(!1),i=vue.ref(null),l=vue.ref(""),u=vue.ref(null),c=vue.ref(null),d=vue.ref([]),f=vue.ref([]),v=vue.ref(void 0),p=vue.ref(void 0),h=vue.ref(void 0),g=vue.ref(!1),_=vue.ref(""),m=vue.ref(""),b=vue.ref(void 0),S=vue.ref(void 0),C=vue.ref(void 0),V=vue.ref(-1),B=vue.ref(""),$=vue.ref(""),D=vue.ref(""),R=vue.ref(0),M=vue.ref(""),A=vue.ref("or");async function O(Y=!1){s.value=!0,Y||(V.value+=1);const W=await cludoSearch(l.value,n.value,a.value,u.value,c.value,A.value),k=await eventSearch(r.value,l.value,a.value,c.value,f.value,_.value,m.value,b.value,C.value,$.value,D.value,R.value,M.value);i.value=[...W.results,...k.results],p.value=W.totalResults,h.value=k.totalResults,v.value=W.totalResults+k.totalResults,s.value=!1}async function q(){return cludoAutocomplete(l.value,n.value)}async function ee(Y,W){const k=new URL(window.location.href);if(W?B.value="Autosuggestion":B.value="User input",l.value?k.searchParams.set("search-term",l.value):k.searchParams.delete("search-term"),c.value?k.searchParams.set("category",encodeURIComponent(c.value)):k.searchParams.delete("category"),f.value.length>0?k.searchParams.set("sub-category",encodeURIComponent(f.value.join(","))):k.searchParams.delete("sub-category"),Y?(a.value=1,k.searchParams.set("page",a.value.toString())):a.value&&a.value>1?k.searchParams.set("page",a.value.toString()):k.searchParams.delete("page"),_.value?k.searchParams.set("start-date",_.value):k.searchParams.delete("start-date"),m.value?k.searchParams.set("end-date",m.value):k.searchParams.delete("end-date"),b.value?k.searchParams.set("sort-by",b.value):k.searchParams.delete("sort-by"),!g.value)window.history.pushState({},"",k),await O();else{const L=`${S.value}/${k.search}`;window.location.href=L}}return{filters:e,currentPage:a,cludoCredentials:n,cludoError:t,eventsApi:r,eventsApiError:o,getAutoComplete:q,getSearchResults:O,isLoading:s,results:i,searchTerm:l,searchUrl:S,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:f,totalResults:v,totalResultsCludo:p,totalResultsEvents:h,navigateToResultsPage:ee,isHomePage:g,startDate:_,endDate:m,sortBy:b,siteLanguage:C,searchInSessionCount:V,queryInput:B,postcode:$,location:D,radius:R,postcodeareas:M,cludoApiOperator:A}}),_hoisted_1$7={class:"vs-fed-filter"},_hoisted_2$6={class:"vs-fed-filter__scroll-container"},_hoisted_3$4=["id"],_sfc_main$7={__name:"FedFilter",props:{filterCategories:{type:Array,required:!0},variant:{type:String,default:"primary",validator:e=>/^(primary|secondary)$/.test(e)},wrap:{type:Boolean,default:!1},activeFilter:{type:[String,Array],default:""},scrollButtons:{type:Boolean,default:!1},scrollLeftText:{type:String,default:""},scrollRightText:{type:String,default:""}},emits:["filter-updated"],setup(e,{expose:n}){const t=e,a=vue.ref(null);function r(c){return typeof t.activeFilter=="string"?t.activeFilter===c:t.activeFilter&&typeof t.activeFilter=="object"?t.activeFilter.includes(c):!1}function o(c){var d,f;c==="left"?(d=a.value)==null||d.scrollBy(-200,0):c==="right"&&((f=a.value)==null||f.scrollBy(200,0))}function s(){var c;(c=a.value)==null||c.scrollTo(0,0)}n({resetScroll:s});function i(){return[`vs-fed-filter__scroll-rail--${t.variant}`,t.wrap?"vs-fed-filter__scroll-rail--wrap":""]}const l=vue.computed(()=>[...t.filterCategories].sort((d,f)=>{const v=(d.Label||d.Key||"").toLowerCase(),p=(f.Label||f.Key||"").toLowerCase();return v<p?-1:v>p?1:0}));function u(c){let d;switch(c){case"accommodation":d="fa-regular fa-bed";break;case"active-adventure":d="fa-kit fa-vs-landscape";break;case"city-break":d="fa-regular fa-city";break;case"culture-history":d="fa-regular fa-chess-rook";break;case"events":d="fa-regular fa-calendar-range";break;case"family-friendly":d="fa-regular fa-family";break;case"food-drink":d="fa-regular fa-utensils";break;case"nature-outdoors":d="fa-regular fa-leaf";break;case"tours":d="fa-regular fa-binoculars";break;case"travel-information":d="fa-regular fa-circle-info";break;case"wellness":d="fa-regular fa-spa";break;default:d=null;break}return d}return(c,d)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[c.$slots["fed-filter-header"]&&c.$slots["fed-filter-header"]()?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsBody,{key:0,class:"vs-fed-filter__header mb-025 ms-025","data-test":"vs-fed-filter__header"},{default:vue.withCtx(()=>[vue.renderSlot(c.$slots,"fed-filter-header")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$6,[e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,variant:"secondary",icon:"fa-regular fa-chevron-left","icon-only":"",class:"vs-fed-filter__scroll-button me-050","data-test":"vs-fed-filter__scroll-button--left",onClick:d[0]||(d[0]=f=>o("left")),"aria-label":t.scrollLeftText},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.scrollLeftText),1)]),_:1},8,["aria-label"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-fed-filter__scroll-rail",i()]),id:`vs-fed-filter__scroll-rail--${t.variant}`,ref_key:"scrollRail",ref:a},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(l.value,(f,v)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:v,class:"vs-fed-filter__category-button","data-test":`vs-fed-filter__category-button--${f.Key}`,icon:t.variant==="primary"?u(f.Key):null,variant:r(f.Key)?"primary":"secondary",size:t.variant==="secondary"?"sm":"md",onClick:p=>c.$emit("filter-updated",f)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(f.Label||f.Key),1)]),_:2},1032,["data-test","icon","variant","size","onClick"]))),128))],10,_hoisted_3$4),e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:1,variant:"secondary",icon:"fa-regular fa-chevron-right","icon-only":"",class:"vs-fed-filter__scroll-button ms-050","data-test":"vs-fed-filter__scroll-button--right",onClick:d[1]||(d[1]=f=>o("right")),"aria-label":t.scrollRightText},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.scrollRightText),1)]),_:1},8,["aria-label"])):vue.createCommentVNode("",!0)])]))}};function dataLayerComposable$1(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function a(l,u){const c={};return l.forEach(d=>{c[d]=u[d]||void 0,d==="language"&&c[d]===void 0&&(c[d]=u.site_language||void 0)}),c}function r(){return new Date(Date.now()).toISOString()}function o(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function s(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,f,v;switch(l){case"siteSearchOpenEvent":c="site_search_open",d={event:c,referrer_page:u.referrer_page},f=o(d),v=a(LoadingSpinner.siteSearchOpenTemplate,f);break;case"siteSearchUsageEvent":c="site_search_event",d={event:c,search_query:u.search_query,query_input:u.query_input,results_count:u.results_count,search_usage_index:u.search_usage_index,search_type:u.search_type,search_origin:u.search_origin||"results_page",interaction_type:"search_input"},f=o(d),v=a(LoadingSpinner.siteSearchUsageTemplate,f);break;case"siteSearchClickEvent":c="site_search_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,page_navigation_direction:u.page_navigation_direction,click_text:u.click_text,click_url:u.click_url,click_category:u.click_category,search_usage_index:u.search_usage_index,results_count:u.results_count},f=o(d),v=a(LoadingSpinner.siteSearchClickTemplate,f);break;case"siteSearchCloseEvent":c="site_search_close",d={event:c,search_usage_index:u.search_usage_index,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,results_count:u.results_count},f=o(d),v=a(LoadingSpinner.siteSearchCloseTemplate,f);break}v&&s(v)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:o,returnIsoDate:r,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1$6={class:"vs-fed-search-input"},_hoisted_2$5={class:"vs-fed-search__input"},_hoisted_3$3={class:"vs-fed-search__text-input"},_hoisted_4$3={for:"federated-search",class:"vs-federated-search__label"},_hoisted_5$3={key:0,class:"position-relative"},_hoisted_6$3={class:"vs-fed-search-input__autocomplete"},_hoisted_7$3=["onClick","onKeyup","innerHTML"],_sfc_main$6={__name:"FedSearchInput",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},isHomePage:{type:Boolean,default:!1},searchUrl:{type:String,default:void 0},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},labels:{type:Object,required:!0}},setup(e){const n=dataLayerComposable$1(),t=e,a=useFederatedSearchStore(),{isLoading:r}=pinia.storeToRefs(a),o=vue.ref(),s=vue.ref(null),i=vue.ref(null);async function l(m){a.currentPage=1,a.searchTerm=m.value.trim();const b=window.location.search,S=new URLSearchParams(b);a.searchTerm&&S.get("search-term")!==a.searchTerm&&(o.value=await a.getAutoComplete()),a.searchTerm||(o.value=null)}async function u(){o.value=null,await a.navigateToResultsPage(),n.createDataLayerObject("siteSearchUsageEvent",{search_query:a.searchTerm,query_input:a.queryInput,results_count:a.totalResults,search_usage_index:a.searchInSessionCount,search_type:a.searchInSessionCount===1?"initial":"follow-up"})}function c(m){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_autosuggest",search_query:a.searchTerm,page_number:a.currentPage,search_usage_index:a.searchInSessionCount,results_count:a.totalResults,click_text:m,query_input:a.queryInput})}function d(m){a.searchTerm=m,o.value=null,a.navigateToResultsPage(!1,!0),c(m)}function f(m){return m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function v(m){return m.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function p(m){const b=(a.searchTerm||"").trim();if(!b)return v(m);const S=new RegExp(`(${f(b)})`,"gi");return v(m).replace(S,"<strong>$1</strong>")}function h(m){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"facet_click",search_query:a.searchTerm,page_number:a.currentPage,search_usage_index:a.searchInSessionCount,results_count:a.totalResults,click_text:m.Label||m.Key})}async function g(m){const b=new URL(window.location);b.searchParams.delete("page"),a.currentPage=1,b.searchParams.delete("start-date"),b.searchParams.delete("end-date"),a.startDate="",a.endDate="",a.sortBy=void 0,a.selectedSubCategory=[],a.selectedSubCategoryKey=[],a.selectedCategory=a.selectedCategory!==m.Label?m.Label:"",a.selectedCategoryKey=a.selectedCategoryKey!==m.Key?m.Key:"",await a.navigateToResultsPage(!0),h(m)}function _(m){if(!a.selectedSubCategoryKey.includes(m.Key))a.selectedSubCategory.push(m.Label),a.selectedSubCategoryKey.push(m.Key);else{const b=a.selectedSubCategoryKey.indexOf(m.Key);b>=0&&(a.selectedSubCategory.splice(b,1),a.selectedSubCategoryKey.splice(b,1))}a.navigateToResultsPage(!0),h(m)}return vue.onMounted(()=>{a.cludoCredentials={apiKey:t.cludoApiKey,customerId:t.cludoCustomerId,engineId:t.cludoEngineId},a.isHomePage=t.isHomePage,t.searchUrl&&(a.searchUrl=t.searchUrl);const m=window.location.search,b=new URLSearchParams(m);b.has("search-term")&&(a.searchTerm=b.get("search-term")),b.has("category")&&(a.selectedCategoryKey=decodeURIComponent(b.get("category"))),b.has("sub-category")&&decodeURIComponent(b.get("sub-category")).split(",").forEach(C=>a.selectedSubCategoryKey.push(C)),b.has("category")&&b.get("category")==="events"&&b.has("sort-by")&&(a.sortBy=b.get("sort-by")),b.has("start-date")&&(a.startDate=b.get("start-date")),b.has("end-date")&&(a.endDate=b.get("end-date")),b.has("postcode")&&(a.postcode=b.get("postcode")),b.has("location")&&(a.location=b.get("location")),b.has("radius")&&(a.radius=b.get("radius")),b.has("postcodeareas")&&(a.postcodeareas=b.get("postcodeareas")),(b.has("search-term")||b.has("category"))&&a.getSearchResults()}),vue.watch(r,m=>{var b,S;m||((b=s.value)==null||b.resetScroll(),(S=i.value)==null||S.resetScroll())}),(m,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("div",_hoisted_3$3,[vue.createElementVNode("label",_hoisted_4$3,[b[0]||(b[0]=vue.createElementVNode("span",{class:"visually-hidden"}," Search for something ",-1)),vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"vs-icon-control-search",size:"xs"})]),vue.createVNode(vue.unref(VsInput),{"auto-complete":!1,class:"vs-federated-search__input w-100","field-name":"federated-search",name:"searchrequest",placeholder:t.labels.searchLabel,type:"search",value:vue.unref(a).searchTerm,onUpdated:l,onKeyup:vue.withKeys(u,["enter"])},null,8,["placeholder","value"])]),vue.createVNode(vue.unref(LoadingSpinner.VsButton),{class:"d-none d-lg-block px-200",disabled:vue.unref(r),onClick:u},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.search),1)]),_:1},8,["disabled"])]),o.value&&o.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$3,[vue.createElementVNode("div",_hoisted_6$3,[vue.createVNode(vue.unref(VsList),{unstyled:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,S=>(vue.openBlock(),vue.createElementBlock("li",{key:S,class:"vs-fed-search-input__autocomplete__suggestion",onClick:C=>d(S),onKeyup:vue.withKeys(C=>d(S),["enter"]),tabindex:"0",innerHTML:p(S)},null,40,_hoisted_7$3))),128))]),_:1})])])):vue.createCommentVNode("",!0),t.filters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:1,"active-filter":vue.unref(a).selectedCategoryKey,"filter-categories":t.filters,ref_key:"categoryFilter",ref:s,wrap:!0,onFilterUpdated:g},null,8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0),vue.unref(a).selectedCategoryKey==="events"&&t.subFilters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:2,"active-filter":vue.unref(a).selectedSubCategoryKey,class:"mt-200","filter-categories":t.subFilters,ref_key:"subCategoryFilter",ref:i,variant:"secondary",onFilterUpdated:_},{"fed-filter-header":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.refine),1)]),_:1},8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0)]))}},_hoisted_1$5={key:0,for:"vs-fed-search-sort__from-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__from-date-label"},_hoisted_2$4={key:0,for:"vs-fed-search-sort__to-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__to-date-label"},_sfc_main$5={__name:"FedSearchSort",props:{dateFilterVisible:{type:Boolean,default:!1},sortOptions:{type:Array,required:!0},fromDateLabel:{type:String,required:!0},toDateLabel:{type:String,required:!0},sortLabel:{type:String,required:!0}},emits:["from-date-updated","end-date-updated","sort-order-updated"],setup(e){const n=useFederatedSearchStore(),t=e,a=vue.computed(()=>t.sortOptions.find(r=>r.key===n.sortBy));return(r,o)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsRow,{class:"vs-fed-search-sort"},{default:vue.withCtx(()=>[t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:0,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.fromDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_1$5,vue.toDisplayString(t.fromDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__from-date",value:vue.unref(n).startDate||new Date().toJSON().slice(0,10),type:"date","auto-complete":!1,onInput:o[0]||(o[0]=s=>r.$emit("from-date-updated",s.target.value)),"data-chromatic":"ignore"},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:1,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.toDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_2$4,vue.toDisplayString(t.toDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__to-date",type:"date","auto-complete":!1,onInput:o[1]||(o[1]=s=>r.$emit("end-date-updated",s.target.value)),value:vue.unref(n).endDate||""},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsCol,{cols:"12",md:"4",class:"vs-fed-search-sort__dropdown-wrapper"},{default:vue.withCtx(()=>[vue.createVNode(VsDropdown,{variant:"secondary",id:"vs-fed-search-sort__dropdown",name:"vs-fed-search-sort__dropdown",text:vue.unref(n).sortBy?`${t.sortLabel}: ${a.value.label}`:t.sortLabel},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.sortOptions,(s,i)=>(vue.openBlock(),vue.createBlock(VsDropdownItem,{key:i,onClick:l=>{r.$emit("sort-order-updated",s.key)},active:vue.unref(n).sortBy===s.key,"data-test":`vs-fed-search-sort__dropdown-item--${s.key}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.label),1)]),_:2},1032,["onClick","active","data-test"]))),128))]),_:1},8,["text"])]),_:1})]),_:1}))}},_hoisted_1$4={class:"vs-federated-search","data-test":"vs-federated-search"},_hoisted_2$3={class:"vs-federated-search__container"},_hoisted_3$2={key:0,class:"vs-federated-search__results","data-chromatic":"ignore"},_hoisted_4$2={key:2,"data-chromatic":"ignore"},_hoisted_5$2={class:"position-relative"},_hoisted_6$2={class:"position-absolute bottom-0 start-0 d-flex gap-2"},_hoisted_7$2={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8={class:"truncate-3-lines text-break"},_hoisted_9={class:"d-flex justify-content-end align-items-end mt-050"},_hoisted_10={key:0,class:"d-flex align-items-start flex-grow-1"},_hoisted_11={key:3,class:"vs-federated-search__warning mb-300"},fallbackImg="https://static.visitscotland.com/img/fallback-img.png",_sfc_main$4={__name:"FederatedSearch",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},eventsApi:{type:String,default:getEnvValue("EVENTS_API_URL")},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},errorMessages:{type:Object,required:!0},fromText:{type:String,default:""},paginationLabels:{type:Object,required:!0},searchLabels:{type:Object,required:!0},sortLabels:{type:Object,required:!0},cardCategoryLabels:{type:Object,required:!0,default:()=>{}},siteLanguage:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},cludoApiOperator:{type:String,default:"or",validator:e=>["and","or"].includes(e)}},setup(e){const n=dataLayerComposable$1(),t=useFederatedSearchStore(),a=vue.ref({message:"",error:!1}),r=e,o=vue.ref(!1),s=vue.computed(()=>{let m;return t.selectedCategoryKey==="events"?m=Math.ceil(t.totalResultsEvents/12):m=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),m});function i(){t.endDate&&t.startDate>t.endDate?(a.value.error=!0,a.value.message=r.errorMessages.incorrectDateOrder):t.selectedCategoryKey==="events"&&t.eventsApiError&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.eventError):(t.searchTerm||t.selectedCategory)&&t.selectedCategoryKey!=="events"&&t.cludoError&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.cludoError):t.totalResults===0&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.noResults):(a.value.error=!1,a.value.message="")}vue.onMounted(async()=>{if(n.createDataLayerObject("siteSearchOpenEvent",{referrer_page:document.referrer}),t.cludoCredentials={apiKey:r.cludoApiKey,customerId:r.cludoCustomerId,engineId:r.cludoEngineId},t.eventsApi=r.eventsApi,t.filters=r.filters,t.siteLanguage=r.siteLanguage,t.cludoApiOperator=r.cludoApiOperator,i(),typeof window<"u"&&typeof document<"u"){window.onbeforeunload=()=>{_()};const m=new URLSearchParams(document.location.search),b=m.get("search-term"),S=parseInt(m.get("page"),10);S&&(t.currentPage=S),b&&(t.searchTerm=b),await t.getSearchResults(),b&&n.createDataLayerObject("siteSearchUsageEvent",{search_query:t.searchTerm,query_input:t.queryInput,results_count:t.totalResults,search_usage_index:t.searchInSessionCount,search_type:"initial",search_origin:"home_page"})}});function l(m){t.startDate=m,t.navigateToResultsPage(!0)}function u(m){t.endDate=m,t.navigateToResultsPage(!0)}function c(m){t.sortBy=m,t.navigateToResultsPage(!0)}function d(m){let b=!1;m>t.currentPage&&(b=!0),t.currentPage=m,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),g(b)}function f(m,b){return m===b?m:`${m} - ${b}`}function v(m){return m===null?"":m.match(/\b\d+\.\d\b/)?`£${m}0`:`£${m}`}function p(m){if(m.url)return m.url;if(m.placeUrl)return m.placeUrl;const b="https://www.datathistle.com/event/",S=encodeURIComponent(m.title.replaceAll(" ","-").toLowerCase());return`${b}${m.parentId}-${S}`}function h(m){o.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:m.title,click_url:p(m),click_category:m.categoryCard&&r.cardCategoryLabels[m.categoryCard]?r.cardCategoryLabels[m.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function g(m){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:m?"forward":"back",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function _(){o.value||n.createDataLayerObject("siteSearchCloseEvent",{search_query:t.searchTerm,search_usage_index:t.searchInSessionCount,query_input:t.queryInput,page_number:t.currentPage,results_count:t.totalResults})}return vue.onUpdated(()=>{i()}),(m,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("div",_hoisted_2$3,[vue.createVNode(_sfc_main$6,{"cludo-api-key":r.cludoApiKey,"cludo-customer-id":r.cludoCustomerId,"cludo-engine-id":r.cludoEngineId,filters:r.filters,"sub-filters":r.subFilters,labels:r.searchLabels},null,8,["cludo-api-key","cludo-customer-id","cludo-engine-id","filters","sub-filters","labels"]),vue.createVNode(_sfc_main$2A,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(S,C)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:C,class:"mb-200"},[vue.renderSlot(m.$slots,`federated-search__spotlight-${S.Key}`)],512)),[[vue.vShow,vue.unref(t).selectedCategoryKey===S.Key]])),128)),vue.unref(t).results?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$2,[vue.createElementVNode("div",null,[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{"heading-style":"heading-m",level:2,class:"my-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.searchResults),1)]),_:1}),vue.unref(t).totalResults!==0?(vue.openBlock(),vue.createBlock(vue.unref(VsDetail),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.resultsFirst)+" "+vue.toDisplayString(vue.unref(t).totalResults)+" "+vue.toDisplayString(r.searchLabels.resultsSecond),1)]),_:1})):vue.createCommentVNode("",!0)]),vue.unref(t).selectedCategoryKey==="events"?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:0,"date-filter-visible":!0,"sort-options":r.sortLabels.sortOptions,"from-date-label":r.sortLabels.dateFrom,"to-date-label":r.sortLabels.dateTo,"sort-label":r.sortLabels.sort,onFromDateUpdated:l,onEndDateUpdated:u,onSortOrderUpdated:c},null,8,["sort-options","from-date-label","to-date-label","sort-label"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),vue.unref(t).isLoading?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsLoading),{key:1})):vue.createCommentVNode("",!0),!vue.unref(t).isLoading&&vue.unref(t).results&&!vue.unref(t).eventsApiError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[vue.createVNode(vue.unref(VsCardGroup),{"cards-per-row":3,class:vue.normalizeClass(vue.unref(t).results&&s.value<=1?"mb-300":null)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).results,S=>(vue.openBlock(),vue.createBlock(vue.unref(VsCard),{key:S.id},{"vs-card-header":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createVNode(vue.unref(LoadingSpinner.VsImg),{src:S.imgSrc||fallbackImg,class:"w-100 aspect-ratio-3-2 rounded-1 object-fit-cover img-zoom-on-hover"},null,8,["src"]),vue.createElementVNode("div",_hoisted_6$2,[S.minPrice?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"information",class:"rounded-top-end rounded-bottom-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.fromText)+" "+vue.toDisplayString(v(S.minPrice)),1)]),_:2},1024)):vue.createCommentVNode("",!0),S.startDate?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:1,variant:"information",class:"rounded-top-end rounded-top-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(f(S.startDate,S.endDate)),1)]),_:2},1024)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_7$2,[S.categoryCard&&e.cardCategoryLabels[S.categoryCard]?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"highlight",class:"rounded-top-start rounded-bottom-start mx-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.cardCategoryLabels[S.categoryCard]),1)]),_:2},1024)):vue.createCommentVNode("",!0)])])]),"vs-card-body":vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsLink),{href:p(S),onClick:C=>h(S),class:"stretched-link",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(S.title),1)]),_:2},1032,["href","onClick"])]),_:2},1024),vue.createVNode(vue.unref(LoadingSpinner.VsBody),null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_8,vue.toDisplayString(S.description),1)]),_:2},1024)]),"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[S.location?(vue.openBlock(),vue.createElementBlock("div",_hoisted_10,[vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"fa-solid fa-location-dot",variant:"highlight",class:"me-050",size:"sm"}),vue.createVNode(vue.unref(VsDetail),{"no-margins":"",color:"tertiary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(S.location),1)]),_:2},1024)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[S.dataSrc==="data-thistle"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsIcon),{key:0,icon:"vs-icon-control-external-link",variant:"highlight",size:"sm"})):vue.createCommentVNode("",!0)])])]),_:2},1024))),128))]),_:1},8,["class"]),vue.unref(t).results&&s.value>1?(vue.openBlock(),vue.createBlock(vue.unref(_sfc_main$E),{key:0,class:"vs-federated-search__pagination","number-of-pages":s.value,"next-button-label":r.paginationLabels.nextButtonLabel,"previous-button-label":r.paginationLabels.previousButtonLabel,"page-label":r.paginationLabels.pageLabel,"of-label":r.paginationLabels.ofLabel,modelValue:vue.unref(t).currentPage,"onUpdate:modelValue":b[0]||(b[0]=S=>vue.unref(t).currentPage=S),onPageClick:d},null,8,["number-of-pages","next-button-label","previous-button-label","page-label","of-label","modelValue"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),a.value.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11,[a.value.error?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.value.message),1)]),_:1})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(LoadingSpinner.VsWarning),{"data-test":"vs-federated-search__error--no-js",class:"vs-federated-search__error--no-js mb-300"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.noJs),1)]),_:1})]))}};var define_process_env_default={};function setScriptSrc(e,n){e.src=n}const bootstrap=e=>{var n,t,a,r="The Google Maps JavaScript API",o="google",s="importLibrary",i="__ib__",l=document,u=window,c=u[o]||(u[o]={}),d=c.maps||(c.maps={}),f=new Set,v=new URLSearchParams,p=()=>n||(n=new Promise(async(h,g)=>{var _;await(t=l.createElement("script")),v.set("libraries",[...f]+"");for(a in e)v.set(a.replace(/[A-Z]/g,m=>"_"+m[0].toLowerCase()),e[a]);v.set("callback",o+".maps."+i),setScriptSrc(t,"https://maps.googleapis.com/maps/api/js?"+v),d[i]=h,t.onerror=()=>n=g(Error(r+" could not load.")),t.nonce=((_=l.querySelector("script[nonce]"))==null?void 0:_.nonce)||"",l.head.append(t)}));d[s]?console.warn(r+" only loads once. Ignoring:",e):d[s]=(h,...g)=>f.add(h)&&p().then(()=>d[s](h,...g))},MSG_REPEATED_SET_OPTIONS=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,MSG_IMPORT_LIBRARY_EXISTS=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,MSG_SET_OPTIONS_NOT_CALLED="No options were set before calling importLibrary. Make sure to configure the loader using setOptions().",MSG_SCRIPT_ELEMENT_EXISTS="There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.",logDevWarning=define_process_env_default.NODE_ENV!=="production"?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=define_process_env_default.NODE_ENV!=="production"?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{};let setOptionsWasCalled_=!1;function setOptions(e){if(setOptionsWasCalled_){logDevWarning(MSG_REPEATED_SET_OPTIONS(e));return}installImportLibrary_(e),setOptionsWasCalled_=!0}async function importLibrary(e){var n,t;if(setOptionsWasCalled_||logDevWarning(MSG_SET_OPTIONS_NOT_CALLED),!((t=(n=window==null?void 0:window.google)==null?void 0:n.maps)!=null&&t.importLibrary))throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function installImportLibrary_(e){var t,a;const n=!!((a=(t=window.google)==null?void 0:t.maps)!=null&&a.importLibrary);n?logDevNotice(MSG_IMPORT_LIBRARY_EXISTS(e)):define_process_env_default.NODE_ENV!=="production"&&document.querySelector('script[src*="maps.googleapis.com/maps/api/js"]')&&logDevWarning(MSG_SCRIPT_ELEMENT_EXISTS),n||bootstrap(e)}const useGoogleMapStore=pinia.defineStore("googleMap",()=>{const e=vue.ref(!0),n=vue.ref(Date.now()),t=vue.ref(!1),a=vue.ref(0),r=vue.ref(0);return{sidebarOpen:e,timeMounted:n,firstInteraction:t,searchesCount:a,filterUsesCount:r}}),_hoisted_1$3={class:"px-125 pb-125"},_sfc_main$3={__name:"MapFeaturedLocationItem",props:{place:{type:Object,default:()=>{}}},setup(e){const n=e,t=vue.inject("onFeaturedLocationClick");function a(r){t(r)}return(r,o)=>(vue.openBlock(),vue.createBlock(VsCard,{"card-style":"overlay",class:"vs-map__controls-featured-place-card",onClick:o[1]||(o[1]=s=>a(n.place))},vue.createSlots({"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$3,[vue.createVNode(LoadingSpinner.VsHeading,{class:"vs-map__controls-featured-place-card-heading","heading-style":"heading-xxxs",level:"2","no-margins":""},{default:vue.withCtx(()=>[vue.createVNode(VsLink,{class:"stretched-link text-decoration-none",href:"#",variant:"on-dark",onKeypress:o[0]||(o[0]=vue.withKeys(vue.withModifiers(s=>a(n.place),["prevent"]),["enter"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.place.properties.title),1)]),_:1})]),_:1})])]),_:2},[n.place.properties.image?{name:"vs-card-image",fn:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{class:"vs-map__controls-featured-place-img w-100 rounded-1 object-fit-cover img-zoom-on-hover",src:n.place.properties.image,"use-lazy-loading":!1},null,8,["src"])]),key:"0"}:void 0]),1024))}},_hoisted_1$2={class:"category-title"},_hoisted_2$2={class:"vs-map__controls-featured-place-accordion-content p-075"},_sfc_main$2={__name:"MapFeaturedLocation",setup(e){const{categories:n,places:t}=vue.inject("featuredPlaces");function a(r){switch(r){case"cities":return"fa-regular fa-city";case"regions":return"fa-regular fa-map-location-dot";case"islands":return"fa-regular fa-island-tropical";case"towns":return"fa-regular fa-house-chimney-window";case"national-parks":return"fa-kit fa-vs-icon-national-park";default:return null}}return(r,o)=>vue.unref(n)&&vue.unref(t)?(vue.openBlock(),vue.createBlock(VsAccordion,{key:0},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(n),(s,i)=>(vue.openBlock(),vue.createBlock(VsAccordionItem,{key:i,"control-id":s.id,"open-by-default":s.id==="cities"},{title:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsIcon,{class:"me-025 fa-fw","custom-colour":"#200F2E",icon:a(s.id),size:"sm",variant:"highlight"},null,8,["icon"]),vue.createElementVNode("span",_hoisted_1$2,vue.toDisplayString(s.label),1)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(VsCardGroup,{"scroll-snap":"always"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t),l=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[l.properties.category.id===s.id?(vue.openBlock(),vue.createBlock(_sfc_main$3,{key:l.properties.id,place:l},null,8,["place"])):vue.createCommentVNode("",!0)],64))),256))]),_:2},1024)])]),_:2},1032,["control-id","open-by-default"]))),128))]),_:1})):vue.createCommentVNode("",!0)}},_hoisted_1$1={class:"vs-map-sidebar__header d-flex"},_hoisted_2$1={class:"vs-map-sidebar__content"},_hoisted_3$1={class:"vs-map-sidebar__input d-flex mt-100 mb-050"},_hoisted_4$1={key:1,class:"vs-map-sidebar__sub-filters-wrapper"},_hoisted_5$1={class:"vs-map-sidebar__search-results"},_hoisted_6$1={class:"vs-map-sidebar__google-maps-container mt-075"},_hoisted_7$1={key:0,class:"vs-map-sidebar__footer"},_sfc_main$1=vue.defineComponent({__name:"MapSidebar",props:{query:{type:String,default:""},selectedCategories:{type:String,default:""},headerLabel:{type:String,default:""},closeSidebarButtonLabel:{type:String,default:""},searchBarAriaLabel:{type:String,default:""},inputPlaceholderLabel:{type:String,default:""},searchButtonLabel:{type:String,default:""},clearMapLabel:{type:String,default:""},subFilterHeaderLabel:{type:String,default:""},searchResultsLabel:{type:String,default:""},openSidebarButtonLabel:{type:String,default:""}},emits:["search-input-changed","reset-map"],setup(e){const n=useGoogleMapStore(),t=e;return(a,r)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map-sidebar px-125",vue.unref(n).sidebarOpen?"d-block":"d-none"]),"data-test":"vs-map-sidebar",ref:"vsMapSidebar"},[vue.createElementVNode("div",_hoisted_1$1,[t.headerLabel?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"1","heading-style":"heading-xxs",class:"flex-grow-1",id:"vs-map-sidebar__heading","data-test":"vs-map-sidebar__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.headerLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__sidebar-control vs-map-siderbar__sidebar-control--dismiss","data-test":"vs-map-siderbar__sidebar-control--dismiss",icon:"vs-icon-control-dismiss","icon-only":"",variant:"subtle",onClick:r[0]||(r[0]=o=>vue.unref(n).sidebarOpen=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeSidebarButtonLabel),1)]),_:1})]),vue.createElementVNode("div",_hoisted_2$1,[vue.createElementVNode("div",_hoisted_3$1,[vue.createVNode(VsInput,{type:"text",autocomplete:"off","field-name":"vs-map-search-input","data-test":"vs-map-search-input",ref:"vs-search-input",placeholder:t.inputPlaceholderLabel,class:"vs-map-sidebar__input flex-grow-1","aria-label":t.searchBarAriaLabel,onKeyup:r[1]||(r[1]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["placeholder","aria-label"]),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__search-button","data-test":"vs-map-sidebar__search-button",icon:"vs-icon-control-search","icon-only":"",rounded:!1,size:"lg",onClick:r[2]||(r[2]=vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"])),onKeyup:r[3]||(r[3]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonLabel),1)]),_:1})]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("a",{key:0,href:"#",class:"d-block","data-test":"vs-map-sidebar__reset-map",onClick:r[4]||(r[4]=vue.withModifiers(o=>a.$emit("reset-map"),["prevent"])),onKeyup:r[5]||(r[5]=vue.withKeys(vue.withModifiers(o=>a.$emit("reset-map"),["prevent"]),["enter"]))},vue.toDisplayString(t.clearMapLabel),33)):vue.createCommentVNode("",!0),a.$slots["vs-map-sidebar-sub-filters"]&&a.$slots["vs-map-sidebar-sub-filters"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createVNode(VsDetail,{class:"vs-map-sidebar__sub-filter-header",size:"small",color:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subFilterHeaderLabel),1)]),_:1}),vue.renderSlot(a.$slots,"vs-map-sidebar-sub-filters")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$1,[a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"2","heading-style":"heading-xxxs","data-test":"vs-map-sidebar__search-result-query"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchResultsLabel)+' "'+vue.toDisplayString(t.query||t.selectedCategories)+'" ',1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6$1,[vue.renderSlot(a.$slots,"vs-map-sidebar-search-results")])]),vue.createVNode(_sfc_main$2,{class:vue.normalizeClass(["mb-100",a.$props.query||a.$props.selectedCategories?"d-none":"d-block"])},null,8,["class"])]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$1,r[7]||(r[7]=[vue.createElementVNode("hr",{class:"vs-map-sidebar__swipe-tab"},null,-1)]))):vue.createCommentVNode("",!0)],2),vue.createVNode(LoadingSpinner.VsButton,{class:vue.normalizeClass(["vs-map-sidebar__sidebar-control vs-map-sidebar__sidebar-control--open",vue.unref(n).sidebarOpen?"d-none":"d-block"]),"data-test":"vs-map-sidebar__sidebar-control--open",size:"sm",icon:"fa-regular fa-sliders","icon-only":"",onClick:r[6]||(r[6]=o=>vue.unref(n).sidebarOpen=!0)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.openSidebarButtonLabel),1)]),_:1},8,["class"])],64))}}),cookieCheckerComposable=()=>{const e=vue.ref([]),n=vue.ref(!1),t=vue.ref(!1),a=vue.computed(()=>typeof window<"u"&&window.bypassCookiesRequired?!0:n.value),r=vue.computed(()=>typeof window<"u"&&window.bypassCookiesLoaded?!0:{cookieManagerLoaded:t});function o(){t.value=!0}function s(){let i=!1;typeof CookieControl<"u"&&(i=e.value.every(l=>CookieControl.getCategoryConsent(l)===!0)),n.value=i}return vue.onMounted(()=>{window.addEventListener("cookieManagerLoaded",()=>{o()}),window.addEventListener("cookiesUpdated",()=>{s()})}),{requiredCookies:e,cookiesAllowed:a,cookiesLoaded:r}};function dataLayerComposable(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function a(l,u){const c={};return l.forEach(d=>{c[d]=u[d]||void 0,d==="language"&&c[d]===void 0&&(c[d]=u.site_language||void 0)}),c}function r(){return new Date(Date.now()).toISOString()}function o(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function s(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,f,v;switch(l){case"googleMapSearchEvent":c="map_search",d={event:c,search_query:u.search_query,search_map_location:u.search_map_location,search_results_count:u.search_results_count,search_usage_index:u.search_usage_index},f=o(d),v=a(LoadingSpinner.googleMapSearchTemplate,f);break;case"googleMapFilterEvent":c="map_filter_interaction",d={event:c,filter_type:u.filter_type,search_map_location:u.search_map_location,filter_selection:u.filter_selection,results_count:u.results_count,filter_usage_index:u.filter_usage_index},f=o(d),v=a(LoadingSpinner.googleMapFilterInteractionTemplate,f);break;case"googleMapTimeToFirstInteractionEvent":c="map_time_to_first_interaction",d={event:c,time_to_first_interaction_ms:u.time_to_first_interaction_ms,first_interaction_type:u.first_interaction_type},f=o(d),v=a(LoadingSpinner.googleMapTimeToFirstInteractionTemplate,f);break;case"googleMapInteractionEvent":c="map_interaction_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,map_location:u.map_location,visible_attractions_count:u.visible_attractions_count,card_attraction_name:u.card_attraction_name,card_attraction_category:u.card_attraction_category,card_attraction_url:u.card_attraction_url,card_attraction_rating:u.card_attraction_rating,interaction_timestamp_ms:u.interaction_timestamp_ms},f=o(d),v=a(LoadingSpinner.googleMapInteractionTemplate,f);break}v&&s(v)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:o,returnIsoDate:r,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1={class:"vs-map"},_hoisted_2={class:"vs-map__controls"},_hoisted_3={class:"vs-map-sidebar__sub-filters"},_hoisted_4={key:0},_hoisted_5={key:0,class:"vs-map__filter-controls"},_hoisted_6={class:"vs-map__wrapper"},_hoisted_7={id:"vs-map","map-id":"vs-map",ref:"vsMap"},MAX_ZOOM=17,CATEGORY_VISIBLE_ZOOM=11,NUMBER_OF_RESULTS=20,_sfc_main={__name:"MainMap",props:{apiKey:{type:String,default:getEnvValue("GOOGLE_MAPS_API_KEY")},mapId:{type:String,default:"vs-map"},mapTypeVector:{type:Boolean,default:!1},center:{type:Object,default:()=>({lat:56.490153,lng:-4.10959})},zoom:{type:Number,default:6},radius:{type:Number,default:1e3},labels:{type:Object,default:()=>{}},languageCode:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},categoriesLocation:{type:String,default:""},categoryLabels:{type:Object,default:()=>{}},featuredPlaces:{type:Object,default:void 0},jsDisabled:{type:Boolean,required:!0},noJsMessage:{type:String,required:!0},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noResultsMessage:{type:String,required:!0},resetMapNoResultsMessage:{type:String,required:!0},alertText:{type:String,default:void 0}},setup(e){const n=dataLayerComposable(),t=e,a=t.categoryLabels.find(U=>U.id==="destinations"),r=a?a.subCategory:null;vue.provide("featuredPlaces",{categories:r,places:t.featuredPlaces}),vue.provide("onFeaturedLocationClick",ve);let o,s,i,l,u,c,d,f,v,p,h={},g;const _=vue.ref(),m=vue.ref(new Set),b=vue.ref(),S=vue.ref(new Set),C=vue.ref(new Set),V=vue.ref(new Set),B=vue.ref(new Set),$=vue.ref(),D=vue.ref(),R=vue.ref(t.zoom),M=vue.ref(!1),A=vue.ref(),O=vue.ref(new Set),q=vue.ref(),ee=vue.computed(()=>{const U=new Map,J=F[_.value].subCategory;return Object.values(J).forEach(X=>{U.set(X.id,{includedTypes:X.includedType,excludedTypes:X.excludedType})}),U}),Y=useGoogleMapStore(),W=vue.ref(void 0);let k;const L=vue.ref(void 0),T={north:60.8,south:54.8,west:-8.5,east:-.7};let F={};const Q=t.categoryLabels;let w=0;vue.onBeforeMount(()=>{const U=cookieCheckerComposable();U.requiredCookies.value=cookieValues$5.google_maps,k=vue.computed(()=>!U.cookiesAllowed.value&&U.cookiesLoaded.value===!0||!U.cookiesLoaded.value?(L.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(J=>{F=J.data}).catch(()=>{}),k.value===!1){setOptions({key:t.apiKey,v:"quarterly",libraries:["maps","places","marker","core","geometry"],region:"GB",language:t.languageCode});try{await importLibrary("maps"),await importLibrary("places"),await importLibrary("marker"),await importLibrary("core"),await importLibrary("geometry")}catch{console.error("Google Maps Library load error")}}s=document.getElementById("vs-map"),i=document.getElementById("nearbySearch"),l=document.getElementById("textSearch"),u=document.querySelector("gmp-place-text-search-request"),c=document.querySelector("gmp-place-nearby-search-request"),d=document.querySelector("gmp-place-details"),f=document.getElementById("placeRequest"),v=document.getElementById("vs-map-search-input");async function U(){try{const J={center:{lat:t.center.lat,lng:t.center.lng},renderingType:t.mapTypeVector?google.maps.RenderingType.VECTOR:google.maps.RenderingType.RASTER,zoom:t.zoom,isFractionalZoomEnabled:!0,mapId:t.mapId,restriction:{latLngBounds:T},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1,gestureHandling:"greedy"};if(s)o=new google.maps.Map(s,J),o.fitBounds(T);else throw new Error("Init error, mapContainer undefined")}catch(J){console.error("Maps init error",J.message)}p=new google.maps.InfoWindow,p.addListener("closeclick",()=>{ue("card_close",f.place)}),N(),o.addListener("zoom_changed",()=>{R.value=o.getZoom(),R.value<CATEGORY_VISIBLE_ZOOM?N():N(!0)}),o.addListener("idle",()=>{g=he()}),i.addEventListener("gmp-select",({place:J})=>{h[J.id]&&fe(J,h[J.id])}),l.addEventListener("gmp-select",({place:J})=>{h[J.id]&&fe(J,h[J.id])})}Y.firstInteraction=!1,Y.searchesCount=0,Y.filterUsesCount=0,k.value===!1&&await U()});function N(U){const J={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},X=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ7Q8cbLY0ZEgRouilirxxux4","ChIJ1YEuRDCFY0gRDeDw8bxbAuo","ChIJv-VNj0VoEkYRK9BkuJ07sKE","ChIJ-1-U7rYnS0YRzZLgw9BDh1I","ChIJ8fA1bTmyXEYRYm-tjaLruCI","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8","ChIJa76xwh5ymkcRW-WRjmtd6HU","ChIJu-SH28MJxkcRnwq9_851obM","ChIJuwtkpGSZAEcR6lXMScpzdQk","ChIJl5fz7WR9wUcR8g_mObTy60c","ChIJMVd4MymgVA0R99lHx5Y__Ws","ChIJ_ZqKe2cw6UYREPzyaM3PAAA","ChIJE74zDxSU3UYRubpdpdNUCvM","ChIJ4wsuREWc40YRewI60MRYJR4","ChIJ_UuggpyUkkYRwyW0T7qf6kA","ChIJ3fYyS9_KgUYREKh1PNZGAQA","ChIJQ2Dro1Ir0kgRmkXB5TQEim8","ChIJFXfA47sNok4RGOIUAYOdzzQ","ChIJI9HkgQm_ikYR8i7GR23fEbY","ChIJUXXYvLMei0YR7zdFQUIM8bA","ChIJRyEhyrlFlUcR75LTAvZg22Q"],te=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8"],se=o.getFeatureLayer(google.maps.FeatureType.COUNTRY),ie=o.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);U?(se.style=null,ie.style=null,se.style=de=>{if(te.includes(de.feature.placeId))return J},ie.style=de=>{if(te.includes(de.feature.placeId))return J}):(se.style=de=>{if(X.includes(de.feature.placeId))return J},ie.style=de=>{if(X.includes(de.feature.placeId))return J})}function E(U,J){le(),_.value=U,Object.values(F[U].subCategory).forEach(X=>S.value.add(X.includedType)),Object.values(F[U].subCategory).forEach(X=>{X.excludedType&&C.value.add(X.excludedType)}),S.value=new Set(Array.from(S.value).flat()),C.value=new Set(Array.from(C.value).flat()),S.value.forEach(X=>{C.value.has(X)&&C.value.delete(X)}),b.value=F[U],$.value=J,H({includedTypes:Array.from(S.value),excludedTypes:Array.from(C.value)}),A.value=Q[$.value].label,v.value=A.value}function j(U,J){const X=vue.ref([]),te=vue.ref();return U.forEach(()=>{Q.forEach(se=>{se.id===_.value&&(X.value=se)}),Object.values(X.value).forEach(se=>{Object.values(se).forEach(ie=>{J===ie.id&&(te.value=ie.label)})})}),te}function P(){V.value.forEach(U=>{B.value.has(U)&&B.value.delete(U)})}function z(U,{includeTypes:J=!1,excludeTypes:X=!1,removeIncludedTypes:te=!1,removeExcludedTypes:se=!1}={}){var de;const ie=ee.value.get(U);J&&ie.includedTypes.forEach(pe=>{J&&V.value.add(pe),te&&V.value.delete(pe)}),(X||se)&&((de=ie.excludedTypes)==null||de.forEach(pe=>{X&&B.value.add(pe),se&&B.value.delete(pe)}))}function G(U,J){D.value=J,U==="self-catering"?(oe(),m.value=new Set,m.value.add(U),A.value=j(m.value,U).value,le(),v.value=A.value,Z()):m.value.has(U)?(m.value.delete(U),V.value=new Set,B.value=new Set,m.value.forEach(X=>{z(X,{includeTypes:!0,excludeTypes:!0})}),P(),O.value.delete(j(m.value,U).value),m.value.size===0?(O.value=new Set,E(_.value,$.value)):(H({includedTypes:Array.from(V.value).flat(),excludedTypes:Array.from(B.value).flat()}),A.value=Array.from(O.value).join(", "),v.value=A.value)):(m.value.add(U),z(U,{includeTypes:!0,excludeTypes:!0}),P(),H({includedTypes:Array.from(V.value).flat(),excludedTypes:Array.from(B.value).flat()}),O.value.add(j(m.value,U).value),A.value=Array.from(O.value).join(", "),v.value=A.value)}async function H({includedTypes:U=[],excludedTypes:J=[]}={}){ne(),oe(),w+=1;const X=w;Y.filterUsesCount+=1,q.value="nearby";const te=o.getBounds(),se=te.getNorthEast(),ie=te.getSouthWest(),de=google.maps.geometry.spherical.computeDistanceBetween(se,ie),pe=Math.min(de/2,25e3);c.includedTypes=U,c.excludedTypes=J??[],c.maxResultCount=NUMBER_OF_RESULTS,c.locationRestriction={center:o.getCenter(),radius:pe},i.style.display="block",i.addEventListener("gmp-load",()=>{if(X!==w)return;ae(X);let me="main",ge=_.value;m.value.size&&(me="sub",ge=Array.from(m.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:me,search_map_location:o.getCenter().toString(),filter_selection:ge,results_count:i.places.length,filter_usage_index:Y.filterUsesCount}),I("map_filter")},{once:!0})}async function Z(){ne(),le(),w+=1;const U=w;Y.searchesCount+=1,q.value="text",A.value=v.value.trim(),A.value&&(u.textQuery=A.value,u.locationRestriction=o.getBounds(),u.maxResultCount=NUMBER_OF_RESULTS,l.style.display="block",l.addEventListener("gmp-load",()=>{U===w&&(ae(U),n.createDataLayerObject("googleMapSearchEvent",{search_query:A.value,search_map_location:o.getCenter().toString(),search_results_count:l.places.length,search_usage_index:Y.searchesCount}),I("map_search"))},{once:!0}))}async function ae(U){const{AdvancedMarkerElement:J}=await importLibrary("marker"),{LatLngBounds:X}=await importLibrary("core");if(U!==w)return;const te=vue.ref();q.value==="nearby"?te.value=i:q.value==="text"?te.value=l:console.error("Unrecognised Search type"),te.value.places.length===0?(W.value=!0,te.value.style.display="none"):(W.value=!1,te.value.style.display="block");const se=new X;te.value.places&&te.value.places.forEach(ie=>{const de=document.createElement("div");de.classList.add("vs-map-marker");const pe=document.createElement("i");pe.classList.add("fa-solid","fa-location-dot"),de.appendChild(pe);const me=new J({map:o,position:ie.location,content:de,title:"Map pin"});me.addEventListener("gmp-placeclick",()=>{fe(ie)}),me.addListener("click",()=>{fe(ie)}),me.metadata={id:ie.id},h[ie.id]=me,se.extend(ie.location),te.value.places.length===1?(o.setCenter({lat:ie.location.lat(),lng:ie.location.lng()}),o.setZoom(14),o.fitBounds(ie.viewport)):(o.setCenter(se.getCenter()),o.fitBounds(se))})}function ne(U,J){ce(),q.value="",i.style.display="none",l.style.display="none",u.textQuery=null,M.value=!1,p&&p.close&&p.close(),W.value=void 0,U&&(oe(),le(),ue("clear_all")),J&&(o.setCenter(t.center),o.setZoom(t.zoom),o.fitBounds(T),ue("reset_map"))}function oe(){A.value=null,v.value=""}function le(){_.value=void 0,m.value=new Set,S.value=new Set,C.value=new Set,V.value=new Set,B.value=new Set,O.value=new Set,$.value=void 0,D.value=void 0}function ce(){for(const U in h)h[U]&&(h[U].map=null);h={}}function fe(U){p.isOpen&&(p.close(),ue("card_close",f.place)),f.place=U,window.innerWidth<=768?(d.style.width="85vw",d.style.height="32em",Y.sidebarOpen=!1):(d.style.width="20em",d.style.height="32em"),d.style.display="block",d.style.overflowY="auto",d.style.overflowX="hidden",d.style.boxSizing="border-box",d.style.maxHeight="32em",p.setOptions({content:d,maxWidth:"25em",position:U.location,pixelOffset:new google.maps.Size(0,-32)}),p.open({map:o}),google.maps.event.addListenerOnce(o,"idle",()=>{o.getZoom()>MAX_ZOOM&&o.setZoom(MAX_ZOOM),ue("card_open",U)}),o.setCenter(U.location)}async function ue(U,J){let X="",te="",se="",ie="";J&&(await J.fetchFields({fields:["displayName","primaryType","rating","websiteURI"]}),X=J.displayName,te=J.rating,se=J.websiteURI,ie=J.primaryType),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:U,search_query:v.value.trim(),map_location:o.getCenter().toString(),visible_attractions_count:g,card_attraction_name:X,card_attraction_category:ie,card_attraction_rating:te,card_attraction_url:se,interaction_timestamp_ms:Date.now()}),I(U)}function I(U){if(!Y.firstInteraction){const X=Date.now()-Y.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:X,first_interaction_type:U}),Y.firstInteraction=!0}}function he(){const U=o.getBounds();if(!U)return 0;let J=0;for(let X=0;X<Object.keys(h).length;X++){const se=h[Object.keys(h)[X]].position;U.contains(se)&&(J+=1)}return J}function ve(U){o.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(U.properties.viewport.low.latitude,U.properties.viewport.low.longitude),new google.maps.LatLng(U.properties.viewport.high.latitude,U.properties.viewport.high.longitude))),o.setCenter(new google.maps.LatLng(U.properties.locationCentre.latitude,U.properties.locationCentre.longitude)),E("things-to-do",2),M.value=!0}return(U,J)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(k)?"d-none":""])},[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{query:A.value,"selected-categories":_.value,"header-label":t.labels.heading,"close-sidebar-button-label":t.labels.closeSidebarBtn,"search-bar-aria-label":t.labels.searchBarAriaLabel,"input-placeholder-label":t.labels.inputPlaceholder,"search-button-label":t.labels.searchButton,"clear-map-label":t.labels.clearMap,"sub-filter-header-label":t.labels.subFilterHeader,"search-results-label":t.labels.searchResults,"open-sidebar-button-label":t.labels.openSidebarButton,onSearchInputChanged:Z,onResetMap:J[1]||(J[1]=X=>ne(!0))},vue.createSlots({"vs-map-sidebar-search-results":vue.withCtx(()=>[W.value||t.alertText&&W.value===!1?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,class:"mt-075 mb-150",id:"vs-map__alert",size:"small"},{default:vue.withCtx(()=>[W.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4,[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage)+" ",1),vue.createElementVNode("a",{href:"#",onClick:J[0]||(J[0]=vue.withModifiers(X=>ne(!0,!0),["prevent"]))},vue.toDisplayString(e.resetMapNoResultsMessage),1)])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createTextVNode(vue.toDisplayString(e.alertText),1)],64))]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>J[2]||(J[2]=[vue.createElementVNode("div",{id:"search-container"},[vue.createElementVNode("gmp-place-search",{id:"nearbySearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-nearby-search-request",{id:"nearbySearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])]),vue.createElementVNode("gmp-place-search",{id:"textSearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-text-search-request",{id:"textSearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])),_:1,__:[2]}))]),_:2},[_.value?{name:"vs-map-sidebar-sub-filters",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Q)[$.value].subCategory,(X,te)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:te,variant:m.value.has(X.id)?"primary":"secondary",size:"sm",onClick:se=>G(X.id,te)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(X.label),1)]),_:2},1032,["variant","onClick"]))),128))])]),key:"0"}:void 0]),1032,["query","selected-categories","header-label","close-sidebar-button-label","search-bar-aria-label","input-placeholder-label","search-button-label","clear-map-label","sub-filter-header-label","search-results-label","open-sidebar-button-label"]),(R.value>=CATEGORY_VISIBLE_ZOOM||M.value)&&vue.unref(Y).sidebarOpen&&Object.keys(vue.unref(F)).length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Q),(X,te)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:te},[X.cmsData?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:0,class:"vs-map__filter-controls-button",variant:_.value===X.id?"primary":"secondary",onClick:vue.withModifiers(se=>E(X.id,te),["prevent"]),icon:Object.values(vue.unref(F))[te].icon},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(X.label),1)]),_:2},1032,["variant","onClick","icon"]))],64))),128))])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("div",_hoisted_7,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>J[3]||(J[3]=[vue.createElementVNode("div",{id:"detail-container"},[vue.createElementVNode("gmp-place-details",{id:"placeDetails",style:{display:"none"}},[vue.createElementVNode("gmp-place-details-place-request",{id:"placeRequest"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-website"),vue.createElementVNode("gmp-place-phone-number"),vue.createElementVNode("gmp-place-summary"),vue.createElementVNode("gmp-place-type-specific-highlights"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-feature-list"),vue.createElementVNode("gmp-place-media",{"lightbox-preferred":""}),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])),_:1,__:[3]}))])],2),vue.unref(k)&&L.value==="noCookie"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0,type:"cookie",class:vue.normalizeClass(["vs-map__error vs-map__error--no-cookies",vue.unref(k)?"d-block":"d-none"]),"data-test":"vs-map__warning--no-cookies"},{"button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noCookiesMessage)+" ",1)]),_:1},8,["class"])):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsWarning),{class:"vs-map__warning vs-map__warning--no-js","data-test":"vs-map__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noJsMessage),1)]),_:1})]))}};exports.VsBody=LoadingSpinner.VsBody;exports.VsButton=LoadingSpinner.VsButton;exports.VsButtonToggleGroup=LoadingSpinner.VsButtonToggleGroup;exports.VsCol=LoadingSpinner.VsCol;exports.VsContainer=LoadingSpinner.VsContainer;exports.VsHeading=LoadingSpinner.VsHeading;exports.VsIcon=LoadingSpinner.VsIcon;exports.VsImg=LoadingSpinner.VsImg;exports.VsLoadingSpinner=LoadingSpinner.VsLoading;exports.VsRow=LoadingSpinner.VsRow;exports.VsWarning=LoadingSpinner.VsWarning;exports.VsAccordion=VsAccordion;exports.VsAccordionItem=VsAccordionItem;exports.VsAccordionToggle=VsAccordionToggle;exports.VsAddress=Address;exports.VsAlert=VsAlert;exports.VsArticle=Article;exports.VsArticleDetails=ArticleDetails;exports.VsArticleSection=ArticleSection;exports.VsArticleSidebar=ArticleSidebar;exports.VsBackToTop=_sfc_main$2t;exports.VsBadge=VsBadge;exports.VsBanner=Banner;exports.VsBreadcrumb=Breadcrumb;exports.VsBreadcrumbItem=BreadcrumbItem;exports.VsCannedSearch=CannedSearch;exports.VsCaption=Caption;exports.VsCarbonCalculator=CarbonCalculator;exports.VsCard=VsCard;exports.VsCardGroup=VsCardGroup;exports.VsCarousel=VsCarousel;exports.VsCarouselSlide=CarouselSlide;exports.VsCheckbox=VsCheckbox;exports.VsDescriptionList=DescriptionList;exports.VsDescriptionListItem=DescriptionListItem;exports.VsDetail=VsDetail;exports.VsDropdown=VsDropdown;exports.VsDropdownItem=VsDropdownItem;exports.VsEmbedWrapper=EmbedWrapper;exports.VsEventCard=EventCard;exports.VsFederatedSearch=_sfc_main$4;exports.VsFederatedSearchInput=_sfc_main$6;exports.VsFilter=_sfc_main$1J;exports.VsFilterSection=_sfc_main$1I;exports.VsFooter=Footer;exports.VsFooterAccordionItem=FooterAccordionItem;exports.VsFooterCopyright=FooterCopyright;exports.VsFooterNavListItem=FooterNavListItem;exports.VsFooterSocialItem=FooterSocialItem;exports.VsFooterSocialMenu=FooterSocialMenu;exports.VsFooterUtilityList=FooterUtilityList;exports.VsForm=Form;exports.VsGlobalMenu=GlobalMenu;exports.VsGlobalMenuLanguage=GlobalMenuLanguage;exports.VsGlobalMenuLanguageItem=GlobalMenuLanguageItem;exports.VsHeroSection=HeroSection;exports.VsHtmlError=HtmlError;exports.VsIconList=IconList;exports.VsIconListItem=IconListItem;exports.VsIllustratedMap=IllustratedMap;exports.VsImageWithCaption=ImageWithCaption;exports.VsInput=VsInput;exports.VsItinerary=Itinerary;exports.VsItineraryBorderOverlapWrapper=ItineraryBorderOverlapWrapper;exports.VsItineraryDay=ItineraryDay;exports.VsItineraryStop=ItineraryStop;exports.VsItineraryStopInfo=ItineraryStopInfo;exports.VsItineraryTips=ItineraryTips;exports.VsLink=VsLink;exports.VsLinkList=VsLinkList;exports.VsLinkListItem=LinkListItem;exports.VsList=VsList;exports.VsListicleItem=ListicleItem;exports.VsMainMap=_sfc_main;exports.VsMediaCaption=VsMediaCaption;exports.VsMegaNavAccordionItem=MegaNavAccordionItem;exports.VsMegaNavDropdownContainer=MegaNavDropdownContainer;exports.VsMegaNavFeaturedEvent=MegaNavFeaturedEvent;exports.VsMegaNavFeaturedItem=MegaNavFeaturedItem;exports.VsMegaNavList=MegaNavList;exports.VsMegaNavListItem=MegaNavListItem;exports.VsMegaNavStaticLink=MegaNavStaticLink;exports.VsMegalinkLinkList=MegalinkLinkList;exports.VsMegalinkMultiImage=MegalinkMultiImage;exports.VsMegalinkSingleImage=MegalinkSingleImage;exports.VsMegalinks=Megalinks;exports.VsMeganav=MegaNav;exports.VsModal=Modal;exports.VsModuleWrapper=VsModuleWrapper;exports.VsNavigationBar=NavigationBar;exports.VsNavigationBarMenu=NavigationBarMenu;exports.VsNavigationBarMenuDropdown=NavigationBarMenuDropdown;exports.VsNavigationBarMenuItem=NavigationBarMenuItem;exports.VsNavigationBarSearch=NavigationBarSearch;exports.VsNavigationBarSidebar=VsNavigationSidebar;exports.VsNavigationBarSidebarButton=VsNavigationBarSidebarButton;exports.VsNumberInput=VsNumberInput;exports.VsPageIntro=PageIntro;exports.VsPagination=_sfc_main$E;exports.VsPanel=Panel;exports.VsProductSearch=ProductSearch;exports.VsProgressBar=VsProgressBar;exports.VsQuote=Quote;exports.VsRadioButton=VsRadioButton;exports.VsRecaptcha=VsRecaptcha;exports.VsSectionHeader=SectionHeader;exports.VsSelect=VsSelect;exports.VsSiteSearch=VsSiteSearch;exports.VsSiteSearchForm=VsSiteSearchForm;exports.VsSkiScotlandCard=SkiScotlandCard;exports.VsSkiScotlandStatus=SkiScotlandStatus;exports.VsSkipTo=SkipTo;exports.VsSocialCreditLink=SocialCreditLink;exports.VsSocialShare=SocialShare;exports.VsSocialShareItem=SocialShareItem;exports.VsSpotlightSection=SpotlightSection;exports.VsStretchedLinkCard=VsStretchedLinkCard;exports.VsStretchedLinkPanel=VsStretchedLinkPanels;exports.VsStyledList=_sfc_main$h;exports.VsStyledListItem=_sfc_main$g;exports.VsSummaryBoxDistanceListItem=SummaryBoxDistanceListItem;exports.VsSummaryBoxList=SummaryBoxList;exports.VsSummaryBoxListItem=SummaryBoxListItem;exports.VsSvg=VsSvg;exports.VsSvgLink=VsSvgLink;exports.VsTabItem=TabItem;exports.VsTable=VsTable;exports.VsTableBody=VsTableBody;exports.VsTableDataCell=VsTableDataCell;exports.VsTableFooter=VsTableFooter;exports.VsTableHead=VsTableHead;exports.VsTableHeaderCell=VsTableHeaderCell;exports.VsTableRow=VsTableRow;exports.VsTabs=Tabs;exports.VsTag=Tag;exports.VsTagManagerWrapper=TagManagerWrapper;exports.VsTextarea=VsTextarea;exports.VsToggleButton=VsToggleButton;exports.VsTooltip=VsTooltip;exports.VsTourismInfo=TourismInfo;exports.VsVideo=Video;exports.VsVideoCaption=VsVideoCaption;
|
|
333
|
+
*/Sister=function(){var e={},n={};return e.on=function(t,a){var r={name:t,handler:a};return n[t]=n[t]||[],n[t].unshift(r),r},e.off=function(t){var a=n[t.name].indexOf(t);a!==-1&&n[t.name].splice(a,1)},e.trigger=function(t,a){var r=n[t],o;if(r)for(o=r.length;o--;)r[o].handler(a)},e};var sister=Sister,YouTubePlayer={exports:{}},browser={exports:{}},ms,hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var e=1e3,n=e*60,t=n*60,a=t*24,r=a*7,o=a*365.25;ms=function(c,d){d=d||{};var f=typeof c;if(f==="string"&&c.length>0)return s(c);if(f==="number"&&isFinite(c))return d.long?l(c):i(c);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function s(c){if(c=String(c),!(c.length>100)){var d=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(c);if(d){var f=parseFloat(d[1]),v=(d[2]||"ms").toLowerCase();switch(v){case"years":case"year":case"yrs":case"yr":case"y":return f*o;case"weeks":case"week":case"w":return f*r;case"days":case"day":case"d":return f*a;case"hours":case"hour":case"hrs":case"hr":case"h":return f*t;case"minutes":case"minute":case"mins":case"min":case"m":return f*n;case"seconds":case"second":case"secs":case"sec":case"s":return f*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return f;default:return}}}}function i(c){var d=Math.abs(c);return d>=a?Math.round(c/a)+"d":d>=t?Math.round(c/t)+"h":d>=n?Math.round(c/n)+"m":d>=e?Math.round(c/e)+"s":c+"ms"}function l(c){var d=Math.abs(c);return d>=a?u(c,d,a,"day"):d>=t?u(c,d,t,"hour"):d>=n?u(c,d,n,"minute"):d>=e?u(c,d,e,"second"):c+" ms"}function u(c,d,f,v){var p=d>=f*1.5;return Math.round(c/f)+" "+v+(p?"s":"")}return ms}function setup(e){t.debug=t,t.default=t,t.coerce=l,t.disable=s,t.enable=r,t.enabled=i,t.humanize=requireMs(),t.destroy=u,Object.keys(e).forEach(c=>{t[c]=e[c]}),t.names=[],t.skips=[],t.formatters={};function n(c){let d=0;for(let f=0;f<c.length;f++)d=(d<<5)-d+c.charCodeAt(f),d|=0;return t.colors[Math.abs(d)%t.colors.length]}t.selectColor=n;function t(c){let d,f=null,v,p;function h(...g){if(!h.enabled)return;const _=h,m=Number(new Date),b=m-(d||m);_.diff=b,_.prev=d,_.curr=m,d=m,g[0]=t.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(V,B)=>{if(V==="%%")return"%";S++;const $=t.formatters[B];if(typeof $=="function"){const D=g[S];V=$.call(_,D),g.splice(S,1),S--}return V}),t.formatArgs.call(_,g),(_.log||t.log).apply(_,g)}return h.namespace=c,h.useColors=t.useColors(),h.color=t.selectColor(c),h.extend=a,h.destroy=t.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(v!==t.namespaces&&(v=t.namespaces,p=t.enabled(c)),p),set:g=>{f=g}}),typeof t.init=="function"&&t.init(h),h}function a(c,d){const f=t(this.namespace+(typeof d>"u"?":":d)+c);return f.log=this.log,f}function r(c){t.save(c),t.namespaces=c,t.names=[],t.skips=[];const d=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const f of d)f[0]==="-"?t.skips.push(f.slice(1)):t.names.push(f)}function o(c,d){let f=0,v=0,p=-1,h=0;for(;f<c.length;)if(v<d.length&&(d[v]===c[f]||d[v]==="*"))d[v]==="*"?(p=v,h=f,v++):(f++,v++);else if(p!==-1)v=p+1,h++,f=h;else return!1;for(;v<d.length&&d[v]==="*";)v++;return v===d.length}function s(){const c=[...t.names,...t.skips.map(d=>"-"+d)].join(",");return t.enable(""),c}function i(c){for(const d of t.skips)if(o(c,d))return!1;for(const d of t.names)if(o(c,d))return!0;return!1}function l(c){return c instanceof Error?c.stack||c.message:c}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}var common=setup;(function(e,n){var t={};n.formatArgs=r,n.save=o,n.load=s,n.useColors=a,n.storage=i(),n.destroy=(()=>{let u=!1;return()=>{u||(u=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),n.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function a(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let u;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(u=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(u[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;u.splice(1,0,c,"color: inherit");let d=0,f=0;u[0].replace(/%[a-zA-Z%]/g,v=>{v!=="%%"&&(d++,v==="%c"&&(f=d))}),u.splice(f,0,c)}n.log=console.debug||console.log||(()=>{});function o(u){try{u?n.storage.setItem("debug",u):n.storage.removeItem("debug")}catch{}}function s(){let u;try{u=n.storage.getItem("debug")||n.storage.getItem("DEBUG")}catch{}return!u&&typeof process<"u"&&"env"in process&&(u=t.DEBUG),u}function i(){try{return localStorage}catch{}}e.exports=common(n);const{formatters:l}=e.exports;l.j=function(u){try{return JSON.stringify(u)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}})(browser,browser.exports);var browserExports=browser.exports,FunctionStateMap={exports:{}},PlayerStates={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default={BUFFERING:3,ENDED:0,PAUSED:2,PLAYING:1,UNSTARTED:-1,VIDEO_CUED:5},e.exports=n.default})(PlayerStates,PlayerStates.exports);var PlayerStatesExports=PlayerStates.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=PlayerStatesExports,a=r(t);function r(o){return o&&o.__esModule?o:{default:o}}n.default={pauseVideo:{acceptableStates:[a.default.ENDED,a.default.PAUSED],stateChangeRequired:!1},playVideo:{acceptableStates:[a.default.ENDED,a.default.PLAYING],stateChangeRequired:!1},seekTo:{acceptableStates:[a.default.ENDED,a.default.PLAYING,a.default.PAUSED],stateChangeRequired:!0,timeout:3e3}},e.exports=n.default})(FunctionStateMap,FunctionStateMap.exports);var FunctionStateMapExports=FunctionStateMap.exports,eventNames={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=["ready","stateChange","playbackQualityChange","playbackRateChange","error","apiChange","volumeChange"],e.exports=n.default})(eventNames,eventNames.exports);var eventNamesExports=eventNames.exports,functionNames={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=["cueVideoById","loadVideoById","cueVideoByUrl","loadVideoByUrl","playVideo","pauseVideo","stopVideo","getVideoLoadedFraction","cuePlaylist","loadPlaylist","nextVideo","previousVideo","playVideoAt","setShuffle","setLoop","getPlaylist","getPlaylistIndex","setOption","mute","unMute","isMuted","setVolume","getVolume","seekTo","getPlayerState","getPlaybackRate","setPlaybackRate","getAvailablePlaybackRates","getPlaybackQuality","setPlaybackQuality","getAvailableQualityLevels","getCurrentTime","getDuration","removeEventListener","getVideoUrl","getVideoEmbedCode","getOptions","getOption","addEventListener","destroy","setSize","getIframe","getSphericalProperties","setSphericalProperties"],e.exports=n.default})(functionNames,functionNames.exports);var functionNamesExports=functionNames.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=browserExports,a=c(t),r=FunctionStateMapExports,o=c(r),s=eventNamesExports,i=c(s),l=functionNamesExports,u=c(l);function c(v){return v&&v.__esModule?v:{default:v}}const d=(0,a.default)("youtube-player"),f={};f.proxyEvents=v=>{const p={};for(const h of i.default){const g="on"+h.slice(0,1).toUpperCase()+h.slice(1);p[g]=_=>{d('event "%s"',g,_),v.trigger(h,_)}}return p},f.promisifyPlayer=(v,p=!1)=>{const h={};for(const g of u.default)p&&o.default[g]?h[g]=(..._)=>v.then(m=>{const b=o.default[g],S=m.getPlayerState(),C=m[g].apply(m,_);return b.stateChangeRequired||Array.isArray(b.acceptableStates)&&!b.acceptableStates.includes(S)?new Promise(V=>{const B=()=>{const $=m.getPlayerState();let D;typeof b.timeout=="number"&&(D=setTimeout(()=>{m.removeEventListener("onStateChange",B),V()},b.timeout)),Array.isArray(b.acceptableStates)&&b.acceptableStates.includes($)&&(m.removeEventListener("onStateChange",B),clearTimeout(D),V())};m.addEventListener("onStateChange",B)}).then(()=>C):C}):h[g]=(..._)=>v.then(m=>m[g].apply(m,_));return h},n.default=f,e.exports=n.default})(YouTubePlayer,YouTubePlayer.exports);var YouTubePlayerExports=YouTubePlayer.exports,loadYouTubeIframeApi={exports:{}},loadScript=function e(n,t,a){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("script");typeof t=="function"&&(a=t,t={}),t=t||{},a=a||function(){},o.type=t.type||"text/javascript",o.charset=t.charset||"utf8",o.async="async"in t?!!t.async:!0,o.src=n,t.attrs&&setAttributes(o,t.attrs),t.text&&(o.text=""+t.text);var s="onload"in o?stdOnEnd:ieOnEnd;s(o,a),o.onload||stdOnEnd(o,a),r.appendChild(o)};function setAttributes(e,n){for(var t in n)e.setAttribute(t,n[t])}function stdOnEnd(e,n){e.onload=function(){this.onerror=this.onload=null,n(null,e)},e.onerror=function(){this.onerror=this.onload=null,n(new Error("Failed to load "+this.src),e)}}function ieOnEnd(e,n){e.onreadystatechange=function(){this.readyState!="complete"&&this.readyState!="loaded"||(this.onreadystatechange=null,n(null,e))}}(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=loadScript,a=r(t);function r(o){return o&&o.__esModule?o:{default:o}}n.default=o=>new Promise(i=>{if(window.YT&&window.YT.Player&&window.YT.Player instanceof Function){i(window.YT);return}else{const u=window.location.protocol==="http:"?"http:":"https:";(0,a.default)(u+"//www.youtube.com/iframe_api",c=>{c&&o.trigger("error",c)})}const l=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{l&&l(),i(window.YT)}}),e.exports=n.default})(loadYouTubeIframeApi,loadYouTubeIframeApi.exports);var loadYouTubeIframeApiExports=loadYouTubeIframeApi.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=sister,a=l(t),r=YouTubePlayerExports,o=l(r),s=loadYouTubeIframeApiExports,i=l(s);function l(c){return c&&c.__esModule?c:{default:c}}let u;n.default=(c,d={},f=!1)=>{const v=(0,a.default)();if(u||(u=(0,i.default)(v)),d.events)throw new Error("Event handlers cannot be overwritten.");if(typeof c=="string"&&!document.getElementById(c))throw new Error('Element "'+c+'" does not exist.');d.events=o.default.proxyEvents(v);const p=new Promise(g=>{typeof c=="object"&&c.playVideo instanceof Function?g(c):u.then(_=>{const m=new _.Player(c,d);return v.on("ready",()=>{g(m)}),null})}),h=o.default.promisifyPlayer(p,f);return h.on=v.on,h.off=v.off,h},e.exports=n.default})(dist,dist.exports);var distExports=dist.exports;const player=LoadingSpinner.getDefaultExportFromCjs(distExports),UNSTARTED=-1,ENDED=0,PLAYING=1,PAUSED=2,BUFFERING=3,CUED=5,VueYoutube={name:"Youtube",props:{videoId:String,playerVars:{type:Object,default:()=>({})},height:{type:[Number,String],default:360},width:{type:[Number,String],default:640},resize:{type:Boolean,default:!1},resizeDelay:{type:Number,default:100},nocookie:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!1}},data(){return{player:{},events:{[UNSTARTED]:"unstarted",[PLAYING]:"playing",[PAUSED]:"paused",[ENDED]:"ended",[BUFFERING]:"buffering",[CUED]:"cued"},resizeTimeout:null}},computed:{aspectRatio(){return this.width/this.height}},methods:{playerReady(e){this.$emit("ready",e.target)},playerStateChange(e){e.data!==null&&e.data!==UNSTARTED&&this.$emit(this.events[e.data],e.target)},playerError(e){this.$emit("error",e.target)},updatePlayer(e){if(!e){this.player.stopVideo();return}const n={videoId:e};if(typeof this.playerVars.start=="number"&&(n.startSeconds=this.playerVars.start),typeof this.playerVars.end=="number"&&(n.endSeconds=this.playerVars.end),this.playerVars.autoplay===1){this.player.loadVideoById(n);return}this.player.cueVideoById(n)},resizeProportionally(){this.player.getIframe().then(e=>{const n=this.fitParent?e.parentElement.offsetWidth:e.offsetWidth,t=n/this.aspectRatio;this.player.setSize(n,t)})},onResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(this.resizeProportionally,this.resizeDelay)}},watch:{videoId:"updatePlayer",resize(e){e?(window.addEventListener("resize",this.onResize),this.resizeProportionally()):(window.removeEventListener("resize",this.onResize),this.player.setSize(this.width,this.height))},width(e){this.player.setSize(e,this.height)},height(e){this.player.setSize(this.width,e)}},beforeUnmount(){this.player!==null&&this.player.destroy&&(this.player.destroy(),delete this.player),this.resize&&window.removeEventListener("resize",this.onResize)},mounted(){window.YTConfig={host:"https://www.youtube.com/iframe_api"};const e=this.nocookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";this.player=player(this.$el,{host:e,width:this.width,height:this.height,videoId:this.videoId,playerVars:this.playerVars}),this.player.on("ready",this.playerReady),this.player.on("stateChange",this.playerStateChange),this.player.on("error",this.playerError),this.resize&&window.addEventListener("resize",this.onResize),this.fitParent&&this.resizeProportionally()},render(){return vue.h("div")}};let videoStore=null;const cookieValues=cookieValues$5.youtube,_sfc_main$8={name:"VsVideo",status:"prototype",release:"0.0.1",components:{VsWarning:LoadingSpinner.VsWarning,VueYoutube},mixins:[LoadingSpinner.dataLayerMixin,cookieCheckerMixin],props:{language:{type:String,default:"en"},videoId:{type:String,required:!0},videoTitle:{type:String,default:""},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noJsMessage:{type:String,required:!0},errorMessage:{type:String,default:""}},data(){return{duration:{minutes:0,seconds:0,roundedMinutes:""},playerVars:{hl:this.language},requiredCookies:cookieValues,reRendering:!1,shouldAutoPlay:!1,jsDisabled:!0}},computed:{showError(){return!this.cookiesAllowed&&this.cookiesLoaded===!0||this.cookiesLoaded===!1},warningText(){let e="";return this.videoId&&this.jsDisabled&&(e=this.noJsMessage),!this.cookiesAllowed&&this.cookiesLoaded===!0&&(e=this.noCookiesMessage),e},player(){return this.$refs.youtube?this.$refs.youtube.player:null}},mounted(){this.jsDisabled=jsIsDisabled(),videoStore=useVideoStore(),this.setEventListeners()},methods:{async playerReady(){await this.getPlayerDetails(),this.shouldAutoPlay&&(this.shouldAutoPlay=!1,this.playVideo())},async playVideo(){this.player&&await this.player.playVideo()},async pauseVideo(){this.player&&await this.player.pauseVideo()},async stopVideo(){this.player&&await this.player.stopVideo()},youtubePlaying(){this.analyticsEvent("play")},youtubePaused(){this.analyticsEvent("pause")},youtubeEnded(){this.analyticsEvent("ended")},analyticsEvent(e){let n=0,t=0;this.player.getCurrentTime().then(a=>(n=a,this.player?this.player.getDuration():null)).then(a=>{t=a}).then(()=>{const a=n/t*100;this.createDataLayerObject("videoTrackingDataEvent",{title:this.videoTitle,status:e,percent:Math.round(a)})})},async getPlayerDetails(){this.player&&await this.player.getDuration().then(e=>{this.formatTime(e),this.storeVideoDetails()})},formatTime(e){const n=Math.floor(e/60),t=Math.round(e-n*60);this.duration.minutes=n,this.duration.seconds=t;const a=this.getRoundedMinutes(n,t);this.duration.roundedMinutes=this.formatSingularOrPlural(a)},getRoundedMinutes(e,n){return n<30&&e!==0?e:e+1},formatSingularOrPlural(e){return e===1?this.singleMinuteDescriptor.replace("%s",e):this.pluralMinuteDescriptor.replace("%s",e)},pad(e){return e>=10?e:`0${e}`},storeVideoDetails(){videoStore.addVideo({videoId:this.videoId,videoDurationMsg:this.duration.roundedMinutes,videoDuration:this.duration.minutes*60+this.duration.seconds,videoFullDuration:this.duration})},setEventListeners(){this.emitter&&this.emitter.on("video-controls",e=>{e.id===this.videoId&&(e.action==="modal-opened"&&this.playVideo(),e.action==="modal-closed"&&this.stopVideo(),e.action==="play"?this.playVideo():e.action==="pause"&&this.pauseVideo())})}}},_hoisted_1$8={key:0,class:"vs-video","data-test":"vs-video"},_hoisted_2$7={class:"vs-video__iframe-wrapper"},_hoisted_3$5={key:0};function _sfc_render(e,n,t,a,r,o){const s=vue.resolveComponent("VueYoutube"),i=vue.resolveComponent("VsWarning");return r.reRendering?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[vue.createElementVNode("div",_hoisted_2$7,[e.cookiesAllowed?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$5,[vue.createVNode(s,{autoplay:0,"video-id":t.videoId,vars:r.playerVars,ref:"youtube",nocookie:!0,onPlaying:o.youtubePlaying,onPaused:o.youtubePaused,onEnded:o.youtubeEnded,onReady:o.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"])])):vue.createCommentVNode("",!0),o.showError?(vue.openBlock(),vue.createBlock(i,{key:1,type:e.cookiesLoaded===!0?"cookie":"normal","data-test":"vs-video__warning",class:"vs-video__warning"},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.warningText)+" ",1)]),_:2},[!e.cookiesAllowed&&e.cookiesLoaded===!0?{name:"button-text",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),key:"0"}:void 0]),1032,["type"])):vue.createCommentVNode("",!0),vue.createVNode(i,{"data-test":"vs-video__warning--no-js",class:"vs-video__warning vs-video__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})])]))}const Video=LoadingSpinner._export_sfc(_sfc_main$8,[["render",_sfc_render]]);function cleanData$1(e){return e.TypedDocuments.map(a=>{var r;return{id:a.Fields.Id.Value||"",title:a.Fields.Title.Value||"",description:a.Fields.Description.Value||"",imgSrc:((r=a.Fields.Image)==null?void 0:r.Value)||"",url:a.Fields.Url.Value||"",dataSrc:"cludo",categoryCard:a.Fields.categoryCard.Value||""}})}async function cludoSearch(e,n,t,a,r,o){const{apiKey:s,customerId:i,engineId:l}=n,u=`https://api-eu1.cludo.com/api/v3/${i}/${l}/search`,c=`${i}:${s}`,d=useFederatedSearchStore();if(d.eventsApiError=!1,d.cludoError=!1,!n)return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0};if(r==="events")return{results:[],totalResults:0};try{const f=await fetch(u,{method:"POST",body:JSON.stringify({query:e||"*",operator:o,responseType:"JsonObject",perPage:6,page:t,facets:{Category:r?[r]:null}}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(c)}`}});if(!f.ok)throw d.cludoError=!0,d.isLoading=!1,new Error(`Cludo response message: ${f.status}`);const v=await f.json();return{results:cleanData$1(v),totalResults:v.TotalDocument}}catch{return d.cludoError=!0,d.isLoading=!1,{results:[],totalResults:0}}}function cleanData(e){return e.events.map(a=>{var r,o,s,i,l,u,c;return{id:a.id,parentId:a.parentId,title:a.name,description:((o=(r=a.descriptions)==null?void 0:r[0])==null?void 0:o.description)||"",imgSrc:((i=(s=a.images)==null?void 0:s[0])==null?void 0:i.url)||"",url:((u=(l=a.performances)==null?void 0:l[0])==null?void 0:u.url)||"",placeUrl:a.place.website,location:a.place.town,startDate:a.startFormatted,endDate:a.endFormatted,minPrice:(c=a.minPrice)==null?void 0:c.toString(),dataSrc:"data-thistle",categoryCard:a.categoryCard||""}})}async function eventSearch(e,n,t,a,r,o,s,i,l,u,c,d,f){const v=useFederatedSearchStore();v.eventsApiError=!1,v.cludoError=!1;let p=`${e}?query=${n}&lang=${l}`;p=t>1?`${p}&page=${t}`:p,p=o!==""?`${p}&startDate=${o}`:p,p=s!==""?`${p}&endDate=${s}`:p,p=i?`${p}&sort=${i}`:p,p=a==="events"?`${p}&pageSize=12`:`${p}&pageSize=6`,p=u?`${p}&postcode=${u}`:p,p=c?`${p}&location=${c}`:p,p=d?`${p}&radius=${d}`:p,p=f?`${p}&postcodeareas=${f}`:p,r.forEach(h=>{p+=`&category=${h}`}),a&&a!=="events"&&(p+=`&category=${a}`);try{const h=await fetch(p);if(!h.ok)throw v.isLoading=!1,v.eventsApiError=!0,new Error(`Events response message: ${h.status}`);const g=await h.json();return{results:cleanData(g),totalResults:g.totalResults}}catch{return v.isLoading=!1,v.eventsApiError=!0,{results:[],totalResults:0}}}async function cludoAutocomplete(e,n){const{apiKey:t,customerId:a,engineId:r}=n,s=`https://api-eu1.cludo.com/api/v3/${a}/${r}/Autocomplete`,i=`${a}:${t}`;try{const l=await fetch(s,{method:"POST",body:JSON.stringify({text:e}),headers:{"Content-Type":"application/json",Authorization:`Basic ${btoa(i)}`}});if(!l.ok)throw new Error(`Autocomplete search error ${l.status}`);return await l.json()}catch(l){throw new Error(`Autocomplete search error: ${l}`)}}const useFederatedSearchStore=pinia.defineStore("federatedSearch",()=>{const e=vue.ref(null),n=vue.ref(void 0),t=vue.ref(!1),a=vue.ref(1),r=vue.ref(void 0),o=vue.ref(!1),s=vue.ref(!1),i=vue.ref(null),l=vue.ref(""),u=vue.ref(null),c=vue.ref(null),d=vue.ref([]),f=vue.ref([]),v=vue.ref(void 0),p=vue.ref(void 0),h=vue.ref(void 0),g=vue.ref(!1),_=vue.ref(""),m=vue.ref(""),b=vue.ref(void 0),S=vue.ref(void 0),C=vue.ref(void 0),V=vue.ref(-1),B=vue.ref(""),$=vue.ref(""),D=vue.ref(""),R=vue.ref(0),M=vue.ref(""),A=vue.ref("or");async function O(Y=!1){s.value=!0,Y||(V.value+=1);const W=await cludoSearch(l.value,n.value,a.value,u.value,c.value,A.value),k=await eventSearch(r.value,l.value,a.value,c.value,f.value,_.value,m.value,b.value,C.value,$.value,D.value,R.value,M.value);i.value=[...W.results,...k.results],p.value=W.totalResults,h.value=k.totalResults,v.value=W.totalResults+k.totalResults,s.value=!1}async function q(){return cludoAutocomplete(l.value,n.value)}async function ee(Y,W){const k=new URL(window.location.href);if(W?B.value="Autosuggestion":B.value="User input",l.value?k.searchParams.set("search-term",l.value):k.searchParams.delete("search-term"),c.value?k.searchParams.set("category",encodeURIComponent(c.value)):k.searchParams.delete("category"),f.value.length>0?k.searchParams.set("sub-category",encodeURIComponent(f.value.join(","))):k.searchParams.delete("sub-category"),Y?(a.value=1,k.searchParams.set("page",a.value.toString())):a.value&&a.value>1?k.searchParams.set("page",a.value.toString()):k.searchParams.delete("page"),_.value?k.searchParams.set("start-date",_.value):k.searchParams.delete("start-date"),m.value?k.searchParams.set("end-date",m.value):k.searchParams.delete("end-date"),b.value?k.searchParams.set("sort-by",b.value):k.searchParams.delete("sort-by"),!g.value)window.history.pushState({},"",k),await O();else{const L=`${S.value}/${k.search}`;window.location.href=L}}return{filters:e,currentPage:a,cludoCredentials:n,cludoError:t,eventsApi:r,eventsApiError:o,getAutoComplete:q,getSearchResults:O,isLoading:s,results:i,searchTerm:l,searchUrl:S,selectedCategory:u,selectedCategoryKey:c,selectedSubCategory:d,selectedSubCategoryKey:f,totalResults:v,totalResultsCludo:p,totalResultsEvents:h,navigateToResultsPage:ee,isHomePage:g,startDate:_,endDate:m,sortBy:b,siteLanguage:C,searchInSessionCount:V,queryInput:B,postcode:$,location:D,radius:R,postcodeareas:M,cludoApiOperator:A}}),_hoisted_1$7={class:"vs-fed-filter"},_hoisted_2$6={class:"vs-fed-filter__scroll-container"},_hoisted_3$4=["id"],_sfc_main$7={__name:"FedFilter",props:{filterCategories:{type:Array,required:!0},variant:{type:String,default:"primary",validator:e=>/^(primary|secondary)$/.test(e)},wrap:{type:Boolean,default:!1},activeFilter:{type:[String,Array],default:""},scrollButtons:{type:Boolean,default:!1},scrollLeftText:{type:String,default:""},scrollRightText:{type:String,default:""}},emits:["filter-updated"],setup(e,{expose:n}){const t=e,a=vue.ref(null);function r(c){return typeof t.activeFilter=="string"?t.activeFilter===c:t.activeFilter&&typeof t.activeFilter=="object"?t.activeFilter.includes(c):!1}function o(c){var d,f;c==="left"?(d=a.value)==null||d.scrollBy(-200,0):c==="right"&&((f=a.value)==null||f.scrollBy(200,0))}function s(){var c;(c=a.value)==null||c.scrollTo(0,0)}n({resetScroll:s});function i(){return[`vs-fed-filter__scroll-rail--${t.variant}`,t.wrap?"vs-fed-filter__scroll-rail--wrap":""]}const l=vue.computed(()=>[...t.filterCategories].sort((d,f)=>{const v=(d.Label||d.Key||"").toLowerCase(),p=(f.Label||f.Key||"").toLowerCase();return v<p?-1:v>p?1:0}));function u(c){let d;switch(c){case"accommodation":d="fa-regular fa-bed";break;case"active-adventure":d="fa-kit fa-vs-landscape";break;case"city-break":d="fa-regular fa-city";break;case"culture-history":d="fa-regular fa-chess-rook";break;case"events":d="fa-regular fa-calendar-range";break;case"family-friendly":d="fa-regular fa-family";break;case"food-drink":d="fa-regular fa-utensils";break;case"nature-outdoors":d="fa-regular fa-leaf";break;case"tours":d="fa-regular fa-binoculars";break;case"travel-information":d="fa-regular fa-circle-info";break;case"wellness":d="fa-regular fa-spa";break;default:d=null;break}return d}return(c,d)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[c.$slots["fed-filter-header"]&&c.$slots["fed-filter-header"]()?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsBody,{key:0,class:"vs-fed-filter__header mb-025 ms-025","data-test":"vs-fed-filter__header"},{default:vue.withCtx(()=>[vue.renderSlot(c.$slots,"fed-filter-header")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$6,[e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:0,variant:"secondary",icon:"fa-regular fa-chevron-left","icon-only":"",class:"vs-fed-filter__scroll-button me-050","data-test":"vs-fed-filter__scroll-button--left",onClick:d[0]||(d[0]=f=>o("left")),"aria-label":t.scrollLeftText},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.scrollLeftText),1)]),_:1},8,["aria-label"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-fed-filter__scroll-rail",i()]),id:`vs-fed-filter__scroll-rail--${t.variant}`,ref_key:"scrollRail",ref:a},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(l.value,(f,v)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:v,class:"vs-fed-filter__category-button","data-test":`vs-fed-filter__category-button--${f.Key}`,icon:t.variant==="primary"?u(f.Key):null,variant:r(f.Key)?"primary":"secondary",size:t.variant==="secondary"?"sm":"md",onClick:p=>c.$emit("filter-updated",f)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(f.Label||f.Key),1)]),_:2},1032,["data-test","icon","variant","size","onClick"]))),128))],10,_hoisted_3$4),e.scrollButtons?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsButton,{key:1,variant:"secondary",icon:"fa-regular fa-chevron-right","icon-only":"",class:"vs-fed-filter__scroll-button ms-050","data-test":"vs-fed-filter__scroll-button--right",onClick:d[1]||(d[1]=f=>o("right")),"aria-label":t.scrollRightText},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.scrollRightText),1)]),_:1},8,["aria-label"])):vue.createCommentVNode("",!0)])]))}};function dataLayerComposable$1(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function a(l,u){const c={};return l.forEach(d=>{c[d]=u[d]||void 0,d==="language"&&c[d]===void 0&&(c[d]=u.site_language||void 0)}),c}function r(){return new Date(Date.now()).toISOString()}function o(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function s(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,f,v;switch(l){case"siteSearchOpenEvent":c="site_search_open",d={event:c,referrer_page:u.referrer_page},f=o(d),v=a(LoadingSpinner.siteSearchOpenTemplate,f);break;case"siteSearchUsageEvent":c="site_search_event",d={event:c,search_query:u.search_query,query_input:u.query_input,results_count:u.results_count,search_usage_index:u.search_usage_index,search_type:u.search_type,search_origin:u.search_origin||"results_page",interaction_type:"search_input"},f=o(d),v=a(LoadingSpinner.siteSearchUsageTemplate,f);break;case"siteSearchClickEvent":c="site_search_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,page_navigation_direction:u.page_navigation_direction,click_text:u.click_text,click_url:u.click_url,click_category:u.click_category,search_usage_index:u.search_usage_index,results_count:u.results_count},f=o(d),v=a(LoadingSpinner.siteSearchClickTemplate,f);break;case"siteSearchCloseEvent":c="site_search_close",d={event:c,search_usage_index:u.search_usage_index,search_query:u.search_query,query_input:u.query_input,page_number:u.page_number,results_count:u.results_count},f=o(d),v=a(LoadingSpinner.siteSearchCloseTemplate,f);break}v&&s(v)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:o,returnIsoDate:r,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1$6={class:"vs-fed-search-input"},_hoisted_2$5={class:"vs-fed-search__input"},_hoisted_3$3={class:"vs-fed-search__text-input"},_hoisted_4$3={for:"federated-search",class:"vs-federated-search__label"},_hoisted_5$3={key:0,class:"position-relative"},_hoisted_6$3={class:"vs-fed-search-input__autocomplete"},_hoisted_7$3=["onClick","onKeyup","innerHTML"],_sfc_main$6={__name:"FedSearchInput",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},isHomePage:{type:Boolean,default:!1},searchUrl:{type:String,default:void 0},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},labels:{type:Object,required:!0}},setup(e){const n=dataLayerComposable$1(),t=e,a=useFederatedSearchStore(),{isLoading:r}=pinia.storeToRefs(a),o=vue.ref(),s=vue.ref(null),i=vue.ref(null);async function l(m){a.currentPage=1,a.searchTerm=m.value.trim();const b=window.location.search,S=new URLSearchParams(b);a.searchTerm&&S.get("search-term")!==a.searchTerm&&(o.value=await a.getAutoComplete()),a.searchTerm||(o.value=null)}async function u(){o.value=null,await a.navigateToResultsPage(),n.createDataLayerObject("siteSearchUsageEvent",{search_query:a.searchTerm,query_input:a.queryInput,results_count:a.totalResults,search_usage_index:a.searchInSessionCount,search_type:a.searchInSessionCount===1?"initial":"follow-up"})}function c(m){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_autosuggest",search_query:a.searchTerm,page_number:a.currentPage,search_usage_index:a.searchInSessionCount,results_count:a.totalResults,click_text:m,query_input:a.queryInput})}function d(m){a.searchTerm=m,o.value=null,a.navigateToResultsPage(!1,!0),c(m)}function f(m){return m.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function v(m){return m.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function p(m){const b=(a.searchTerm||"").trim();if(!b)return v(m);const S=new RegExp(`(${f(b)})`,"gi");return v(m).replace(S,"<strong>$1</strong>")}function h(m){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"facet_click",search_query:a.searchTerm,page_number:a.currentPage,search_usage_index:a.searchInSessionCount,results_count:a.totalResults,click_text:m.Label||m.Key})}async function g(m){const b=new URL(window.location);b.searchParams.delete("page"),a.currentPage=1,b.searchParams.delete("start-date"),b.searchParams.delete("end-date"),a.startDate="",a.endDate="",a.sortBy=void 0,a.selectedSubCategory=[],a.selectedSubCategoryKey=[],a.selectedCategory=a.selectedCategory!==m.Label?m.Label:"",a.selectedCategoryKey=a.selectedCategoryKey!==m.Key?m.Key:"",await a.navigateToResultsPage(!0),h(m)}function _(m){if(!a.selectedSubCategoryKey.includes(m.Key))a.selectedSubCategory.push(m.Label),a.selectedSubCategoryKey.push(m.Key);else{const b=a.selectedSubCategoryKey.indexOf(m.Key);b>=0&&(a.selectedSubCategory.splice(b,1),a.selectedSubCategoryKey.splice(b,1))}a.navigateToResultsPage(!0),h(m)}return vue.onMounted(()=>{a.cludoCredentials={apiKey:t.cludoApiKey,customerId:t.cludoCustomerId,engineId:t.cludoEngineId},a.isHomePage=t.isHomePage,t.searchUrl&&(a.searchUrl=t.searchUrl);const m=window.location.search,b=new URLSearchParams(m);b.has("search-term")&&(a.searchTerm=b.get("search-term")),b.has("category")&&(a.selectedCategoryKey=decodeURIComponent(b.get("category"))),b.has("sub-category")&&decodeURIComponent(b.get("sub-category")).split(",").forEach(C=>a.selectedSubCategoryKey.push(C)),b.has("category")&&b.get("category")==="events"&&b.has("sort-by")&&(a.sortBy=b.get("sort-by")),b.has("start-date")&&(a.startDate=b.get("start-date")),b.has("end-date")&&(a.endDate=b.get("end-date")),b.has("postcode")&&(a.postcode=b.get("postcode")),b.has("location")&&(a.location=b.get("location")),b.has("radius")&&(a.radius=b.get("radius")),b.has("postcodeareas")&&(a.postcodeareas=b.get("postcodeareas")),(b.has("search-term")||b.has("category"))&&a.getSearchResults()}),vue.watch(r,m=>{var b,S;m||((b=s.value)==null||b.resetScroll(),(S=i.value)==null||S.resetScroll())}),(m,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("div",_hoisted_3$3,[vue.createElementVNode("label",_hoisted_4$3,[b[0]||(b[0]=vue.createElementVNode("span",{class:"visually-hidden"}," Search for something ",-1)),vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"vs-icon-control-search",size:"xs"})]),vue.createVNode(vue.unref(VsInput),{"auto-complete":!1,class:"vs-federated-search__input w-100","field-name":"federated-search",name:"searchrequest",placeholder:t.labels.searchLabel,type:"search",value:vue.unref(a).searchTerm,onUpdated:l,onKeyup:vue.withKeys(u,["enter"])},null,8,["placeholder","value"])]),vue.createVNode(vue.unref(LoadingSpinner.VsButton),{class:"d-none d-lg-block px-200",disabled:vue.unref(r),onClick:u},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.search),1)]),_:1},8,["disabled"])]),o.value&&o.value.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$3,[vue.createElementVNode("div",_hoisted_6$3,[vue.createVNode(vue.unref(VsList),{unstyled:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,S=>(vue.openBlock(),vue.createElementBlock("li",{key:S,class:"vs-fed-search-input__autocomplete__suggestion",onClick:C=>d(S),onKeyup:vue.withKeys(C=>d(S),["enter"]),tabindex:"0",innerHTML:p(S)},null,40,_hoisted_7$3))),128))]),_:1})])])):vue.createCommentVNode("",!0),t.filters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:1,"active-filter":vue.unref(a).selectedCategoryKey,"filter-categories":t.filters,ref_key:"categoryFilter",ref:s,wrap:!0,onFilterUpdated:g},null,8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0),vue.unref(a).selectedCategoryKey==="events"&&t.subFilters?(vue.openBlock(),vue.createBlock(_sfc_main$7,{key:2,"active-filter":vue.unref(a).selectedSubCategoryKey,class:"mt-200","filter-categories":t.subFilters,ref_key:"subCategoryFilter",ref:i,variant:"secondary",onFilterUpdated:_},{"fed-filter-header":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.labels.refine),1)]),_:1},8,["active-filter","filter-categories"])):vue.createCommentVNode("",!0)]))}},_hoisted_1$5={key:0,for:"vs-fed-search-sort__from-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__from-date-label"},_hoisted_2$4={key:0,for:"vs-fed-search-sort__to-date",class:"vs-fed-search-sort__label","data-test":"vs-fed-search-sort__to-date-label"},_sfc_main$5={__name:"FedSearchSort",props:{dateFilterVisible:{type:Boolean,default:!1},sortOptions:{type:Array,required:!0},fromDateLabel:{type:String,required:!0},toDateLabel:{type:String,required:!0},sortLabel:{type:String,required:!0}},emits:["from-date-updated","end-date-updated","sort-order-updated"],setup(e){const n=useFederatedSearchStore(),t=e,a=vue.computed(()=>t.sortOptions.find(r=>r.key===n.sortBy));return(r,o)=>(vue.openBlock(),vue.createBlock(LoadingSpinner.VsRow,{class:"vs-fed-search-sort"},{default:vue.withCtx(()=>[t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:0,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.fromDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_1$5,vue.toDisplayString(t.fromDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__from-date",value:vue.unref(n).startDate||new Date().toJSON().slice(0,10),type:"date","auto-complete":!1,onInput:o[0]||(o[0]=s=>r.$emit("from-date-updated",s.target.value)),"data-chromatic":"ignore"},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),t.dateFilterVisible?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsCol,{key:1,cols:"6",md:"4"},{default:vue.withCtx(()=>[t.toDateLabel?(vue.openBlock(),vue.createElementBlock("label",_hoisted_2$4,vue.toDisplayString(t.toDateLabel),1)):vue.createCommentVNode("",!0),vue.createVNode(VsInput,{"field-name":"vs-fed-search-sort__to-date",type:"date","auto-complete":!1,onInput:o[1]||(o[1]=s=>r.$emit("end-date-updated",s.target.value)),value:vue.unref(n).endDate||""},null,8,["value"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsCol,{cols:"12",md:"4",class:"vs-fed-search-sort__dropdown-wrapper"},{default:vue.withCtx(()=>[vue.createVNode(VsDropdown,{variant:"secondary",id:"vs-fed-search-sort__dropdown",name:"vs-fed-search-sort__dropdown",text:vue.unref(n).sortBy?`${t.sortLabel}: ${a.value.label}`:t.sortLabel},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.sortOptions,(s,i)=>(vue.openBlock(),vue.createBlock(VsDropdownItem,{key:i,onClick:l=>{r.$emit("sort-order-updated",s.key)},active:vue.unref(n).sortBy===s.key,"data-test":`vs-fed-search-sort__dropdown-item--${s.key}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(s.label),1)]),_:2},1032,["onClick","active","data-test"]))),128))]),_:1},8,["text"])]),_:1})]),_:1}))}},_hoisted_1$4={class:"vs-federated-search","data-test":"vs-federated-search"},_hoisted_2$3={class:"vs-federated-search__container"},_hoisted_3$2={key:0,class:"vs-federated-search__results","data-chromatic":"ignore"},_hoisted_4$2={key:2,"data-chromatic":"ignore"},_hoisted_5$2={class:"position-relative"},_hoisted_6$2={class:"position-absolute bottom-0 start-0 d-flex gap-2"},_hoisted_7$2={class:"position-absolute bottom-0 end-0 d-flex"},_hoisted_8={class:"truncate-3-lines text-break"},_hoisted_9={class:"d-flex justify-content-end align-items-end mt-050"},_hoisted_10={key:0,class:"d-flex align-items-start flex-grow-1"},_hoisted_11={key:3,class:"vs-federated-search__warning mb-300"},fallbackImg="https://static.visitscotland.com/img/fallback-img.png",_sfc_main$4={__name:"FederatedSearch",props:{cludoApiKey:{type:String,default:getEnvValue("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number(getEnvValue("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number(getEnvValue("CLUDO_ENGINE_ID"))},eventsApi:{type:String,default:getEnvValue("EVENTS_API_URL")},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},errorMessages:{type:Object,required:!0},fromText:{type:String,default:""},paginationLabels:{type:Object,required:!0},searchLabels:{type:Object,required:!0},sortLabels:{type:Object,required:!0},cardCategoryLabels:{type:Object,required:!0,default:()=>{}},siteLanguage:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},cludoApiOperator:{type:String,default:"or",validator:e=>["and","or"].includes(e)}},setup(e){const n=dataLayerComposable$1(),t=useFederatedSearchStore(),a=vue.ref({message:"",error:!1}),r=e,o=vue.ref(!1),s=vue.computed(()=>{let m;return t.selectedCategoryKey==="events"?m=Math.ceil(t.totalResultsEvents/12):m=t.totalResultsCludo>=t.totalResultsEvents?Math.ceil(t.totalResultsCludo/6):Math.ceil(t.totalResultsEvents/6),m});function i(){t.endDate&&t.startDate>t.endDate?(a.value.error=!0,a.value.message=r.errorMessages.incorrectDateOrder):t.selectedCategoryKey==="events"&&t.eventsApiError&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.eventError):(t.searchTerm||t.selectedCategory)&&t.selectedCategoryKey!=="events"&&t.cludoError&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.cludoError):t.totalResults===0&&!t.isLoading?(a.value.error=!0,a.value.message=r.errorMessages.noResults):(a.value.error=!1,a.value.message="")}vue.onMounted(async()=>{if(n.createDataLayerObject("siteSearchOpenEvent",{referrer_page:document.referrer}),t.cludoCredentials={apiKey:r.cludoApiKey,customerId:r.cludoCustomerId,engineId:r.cludoEngineId},t.eventsApi=r.eventsApi,t.filters=r.filters,t.siteLanguage=r.siteLanguage,t.cludoApiOperator=r.cludoApiOperator,i(),typeof window<"u"&&typeof document<"u"){window.onbeforeunload=()=>{_()};const m=new URLSearchParams(document.location.search),b=m.get("search-term"),S=parseInt(m.get("page"),10);S&&(t.currentPage=S),b&&(t.searchTerm=b),await t.getSearchResults(),b&&n.createDataLayerObject("siteSearchUsageEvent",{search_query:t.searchTerm,query_input:t.queryInput,results_count:t.totalResults,search_usage_index:t.searchInSessionCount,search_type:"initial",search_origin:"home_page"})}});function l(m){t.startDate=m,t.navigateToResultsPage(!0)}function u(m){t.endDate=m,t.navigateToResultsPage(!0)}function c(m){t.sortBy=m,t.navigateToResultsPage(!0)}function d(m){let b=!1;m>t.currentPage&&(b=!0),t.currentPage=m,typeof window<"u"&&window.scrollTo({top:0,left:0,behavior:"smooth"}),t.navigateToResultsPage(),g(b)}function f(m,b){return m===b?m:`${m} - ${b}`}function v(m){return m===null?"":m.match(/\b\d+\.\d\b/)?`£${m}0`:`£${m}`}function p(m){if(m.url)return m.url;if(m.placeUrl)return m.placeUrl;const b="https://www.datathistle.com/event/",S=encodeURIComponent(m.title.replaceAll(" ","-").toLowerCase());return`${b}${m.parentId}-${S}`}function h(m){o.value=!0,n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,click_text:m.title,click_url:p(m),click_category:m.categoryCard&&r.cardCategoryLabels[m.categoryCard]?r.cardCategoryLabels[m.categoryCard]:"",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function g(m){n.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:t.searchTerm,page_number:t.currentPage,page_navigation_direction:m?"forward":"back",search_usage_index:t.searchInSessionCount,results_count:t.totalResults,query_input:t.queryInput})}function _(){o.value||n.createDataLayerObject("siteSearchCloseEvent",{search_query:t.searchTerm,search_usage_index:t.searchInSessionCount,query_input:t.queryInput,page_number:t.currentPage,results_count:t.totalResults})}return vue.onUpdated(()=>{i()}),(m,b)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("div",_hoisted_2$3,[vue.createVNode(_sfc_main$6,{"cludo-api-key":r.cludoApiKey,"cludo-customer-id":r.cludoCustomerId,"cludo-engine-id":r.cludoEngineId,filters:r.filters,"sub-filters":r.subFilters,labels:r.searchLabels},null,8,["cludo-api-key","cludo-customer-id","cludo-engine-id","filters","sub-filters","labels"]),vue.createVNode(_sfc_main$2A,{class:"my-200"}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).filters,(S,C)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{key:C,class:"mb-200"},[vue.renderSlot(m.$slots,`federated-search__spotlight-${S.Key}`)],512)),[[vue.vShow,vue.unref(t).selectedCategoryKey===S.Key]])),128)),vue.unref(t).results?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$2,[vue.createElementVNode("div",null,[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{"heading-style":"heading-m",level:2,class:"my-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.searchResults),1)]),_:1}),vue.unref(t).totalResults!==0?(vue.openBlock(),vue.createBlock(vue.unref(VsDetail),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.resultsFirst)+" "+vue.toDisplayString(vue.unref(t).totalResults)+" "+vue.toDisplayString(r.searchLabels.resultsSecond),1)]),_:1})):vue.createCommentVNode("",!0)]),vue.unref(t).selectedCategoryKey==="events"?(vue.openBlock(),vue.createBlock(_sfc_main$5,{key:0,"date-filter-visible":!0,"sort-options":r.sortLabels.sortOptions,"from-date-label":r.sortLabels.dateFrom,"to-date-label":r.sortLabels.dateTo,"sort-label":r.sortLabels.sort,onFromDateUpdated:l,onEndDateUpdated:u,onSortOrderUpdated:c},null,8,["sort-options","from-date-label","to-date-label","sort-label"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),vue.unref(t).isLoading?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsLoading),{key:1})):vue.createCommentVNode("",!0),!vue.unref(t).isLoading&&vue.unref(t).results&&!vue.unref(t).eventsApiError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[vue.createVNode(vue.unref(VsCardGroup),{"cards-per-row":3,class:vue.normalizeClass(vue.unref(t).results&&s.value<=1?"mb-300":null)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t).results,S=>(vue.openBlock(),vue.createBlock(vue.unref(VsCard),{key:S.id},{"vs-card-header":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$2,[vue.createVNode(vue.unref(LoadingSpinner.VsImg),{src:S.imgSrc||fallbackImg,class:"w-100 aspect-ratio-3-2 rounded-1 object-fit-cover img-zoom-on-hover"},null,8,["src"]),vue.createElementVNode("div",_hoisted_6$2,[S.minPrice?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"information",class:"rounded-top-end rounded-bottom-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.fromText)+" "+vue.toDisplayString(v(S.minPrice)),1)]),_:2},1024)):vue.createCommentVNode("",!0),S.startDate?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:1,variant:"information",class:"rounded-top-end rounded-top-start"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(f(S.startDate,S.endDate)),1)]),_:2},1024)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_7$2,[S.categoryCard&&e.cardCategoryLabels[S.categoryCard]?(vue.openBlock(),vue.createBlock(vue.unref(VsBadge),{key:0,variant:"highlight",class:"rounded-top-start rounded-bottom-start mx-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.cardCategoryLabels[S.categoryCard]),1)]),_:2},1024)):vue.createCommentVNode("",!0)])])]),"vs-card-body":vue.withCtx(()=>[vue.createVNode(vue.unref(LoadingSpinner.VsHeading),{level:"3","heading-style":"heading-xs"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsLink),{href:p(S),onClick:C=>h(S),class:"stretched-link",variant:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(S.title),1)]),_:2},1032,["href","onClick"])]),_:2},1024),vue.createVNode(vue.unref(LoadingSpinner.VsBody),null,{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_8,vue.toDisplayString(S.description),1)]),_:2},1024)]),"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_9,[S.location?(vue.openBlock(),vue.createElementBlock("div",_hoisted_10,[vue.createVNode(vue.unref(LoadingSpinner.VsIcon),{icon:"fa-solid fa-location-dot",variant:"highlight",class:"me-050",size:"sm"}),vue.createVNode(vue.unref(VsDetail),{"no-margins":"",color:"tertiary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(S.location),1)]),_:2},1024)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[S.dataSrc==="data-thistle"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsIcon),{key:0,icon:"vs-icon-control-external-link",variant:"highlight",size:"sm"})):vue.createCommentVNode("",!0)])])]),_:2},1024))),128))]),_:1},8,["class"]),vue.unref(t).results&&s.value>1?(vue.openBlock(),vue.createBlock(vue.unref(_sfc_main$E),{key:0,class:"vs-federated-search__pagination","number-of-pages":s.value,"next-button-label":r.paginationLabels.nextButtonLabel,"previous-button-label":r.paginationLabels.previousButtonLabel,"page-label":r.paginationLabels.pageLabel,"of-label":r.paginationLabels.ofLabel,modelValue:vue.unref(t).currentPage,"onUpdate:modelValue":b[0]||(b[0]=S=>vue.unref(t).currentPage=S),onPageClick:d},null,8,["number-of-pages","next-button-label","previous-button-label","page-label","of-label","modelValue"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),a.value.error?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11,[a.value.error?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(a.value.message),1)]),_:1})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(LoadingSpinner.VsWarning),{"data-test":"vs-federated-search__error--no-js",class:"vs-federated-search__error--no-js mb-300"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.searchLabels.noJs),1)]),_:1})]))}};var define_process_env_default={};function setScriptSrc(e,n){e.src=n}const bootstrap=e=>{var n,t,a,r="The Google Maps JavaScript API",o="google",s="importLibrary",i="__ib__",l=document,u=window,c=u[o]||(u[o]={}),d=c.maps||(c.maps={}),f=new Set,v=new URLSearchParams,p=()=>n||(n=new Promise(async(h,g)=>{var _;await(t=l.createElement("script")),v.set("libraries",[...f]+"");for(a in e)v.set(a.replace(/[A-Z]/g,m=>"_"+m[0].toLowerCase()),e[a]);v.set("callback",o+".maps."+i),setScriptSrc(t,"https://maps.googleapis.com/maps/api/js?"+v),d[i]=h,t.onerror=()=>n=g(Error(r+" could not load.")),t.nonce=((_=l.querySelector("script[nonce]"))==null?void 0:_.nonce)||"",l.head.append(t)}));d[s]?console.warn(r+" only loads once. Ignoring:",e):d[s]=(h,...g)=>f.add(h)&&p().then(()=>d[s](h,...g))},MSG_REPEATED_SET_OPTIONS=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,MSG_IMPORT_LIBRARY_EXISTS=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,MSG_SET_OPTIONS_NOT_CALLED="No options were set before calling importLibrary. Make sure to configure the loader using setOptions().",MSG_SCRIPT_ELEMENT_EXISTS="There already is a script loading the Google Maps JavaScript API, and no google.maps.importLibrary function is defined. @googlemaps/js-api-loader will proceed to bootstrap the API with the specified options, but the existing script might cause problems using the API. Make sure to remove the script loading the API.",logDevWarning=define_process_env_default.NODE_ENV!=="production"?e=>{console.warn(`[@googlemaps/js-api-loader] ${e}`)}:()=>{},logDevNotice=define_process_env_default.NODE_ENV!=="production"?e=>{console.info(`[@googlemaps/js-api-loader] ${e}`)}:()=>{};let setOptionsWasCalled_=!1;function setOptions(e){if(setOptionsWasCalled_){logDevWarning(MSG_REPEATED_SET_OPTIONS(e));return}installImportLibrary_(e),setOptionsWasCalled_=!0}async function importLibrary(e){var n,t;if(setOptionsWasCalled_||logDevWarning(MSG_SET_OPTIONS_NOT_CALLED),!((t=(n=window==null?void 0:window.google)==null?void 0:n.maps)!=null&&t.importLibrary))throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function installImportLibrary_(e){var t,a;const n=!!((a=(t=window.google)==null?void 0:t.maps)!=null&&a.importLibrary);n?logDevNotice(MSG_IMPORT_LIBRARY_EXISTS(e)):define_process_env_default.NODE_ENV!=="production"&&document.querySelector('script[src*="maps.googleapis.com/maps/api/js"]')&&logDevWarning(MSG_SCRIPT_ELEMENT_EXISTS),n||bootstrap(e)}const useGoogleMapStore=pinia.defineStore("googleMap",()=>{const e=vue.ref(!0),n=vue.ref(Date.now()),t=vue.ref(!1),a=vue.ref(0),r=vue.ref(0);return{sidebarOpen:e,timeMounted:n,firstInteraction:t,searchesCount:a,filterUsesCount:r}}),_hoisted_1$3={class:"px-125 pb-125"},_sfc_main$3={__name:"MapFeaturedLocationItem",props:{place:{type:Object,default:()=>{}}},setup(e){const n=e,t=vue.inject("onFeaturedLocationClick");function a(r){t(r)}return(r,o)=>(vue.openBlock(),vue.createBlock(VsCard,{"card-style":"overlay",class:"vs-map__controls-featured-place-card",onClick:o[2]||(o[2]=s=>a(n.place))},vue.createSlots({"vs-card-footer":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$3,[vue.createVNode(LoadingSpinner.VsHeading,{class:"vs-map__controls-featured-place-card-heading","heading-style":"heading-xxxs",level:"2","no-margins":""},{default:vue.withCtx(()=>[vue.createVNode(VsLink,{class:"stretched-link text-decoration-none",href:"#",variant:"on-dark",onKeyup:[o[0]||(o[0]=vue.withKeys(vue.withModifiers(s=>a(n.place),["prevent"]),["enter"])),o[1]||(o[1]=vue.withKeys(vue.withModifiers(s=>a(n.place),["prevent"]),["space"]))]},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(n.place.properties.title),1)]),_:1})]),_:1})])]),_:2},[n.place.properties.image?{name:"vs-card-image",fn:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsImg,{class:"vs-map__controls-featured-place-img w-100 rounded-1 object-fit-cover img-zoom-on-hover",src:n.place.properties.image,"use-lazy-loading":!1},null,8,["src"])]),key:"0"}:void 0]),1024))}},_hoisted_1$2={class:"category-title"},_hoisted_2$2={class:"vs-map__controls-featured-place-accordion-content p-075"},_sfc_main$2={__name:"MapFeaturedLocation",setup(e){const{categories:n,places:t}=vue.inject("featuredPlaces");function a(r){switch(r){case"cities":return"fa-regular fa-city";case"regions":return"fa-regular fa-map-location-dot";case"islands":return"fa-regular fa-island-tropical";case"towns":return"fa-regular fa-house-chimney-window";case"national-parks":return"fa-kit fa-vs-icon-national-park";default:return null}}return(r,o)=>vue.unref(n)&&vue.unref(t)?(vue.openBlock(),vue.createBlock(VsAccordion,{key:0},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(n),(s,i)=>(vue.openBlock(),vue.createBlock(VsAccordionItem,{key:i,"control-id":s.id,"open-by-default":s.id==="cities"},{title:vue.withCtx(()=>[vue.createVNode(LoadingSpinner.VsIcon,{class:"me-025 fa-fw","custom-colour":"#200F2E",icon:a(s.id),size:"sm",variant:"highlight"},null,8,["icon"]),vue.createElementVNode("span",_hoisted_1$2,vue.toDisplayString(s.label),1)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(VsCardGroup,{"scroll-snap":"always"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(t),l=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[l.properties.category.id===s.id?(vue.openBlock(),vue.createBlock(_sfc_main$3,{key:l.properties.id,place:l},null,8,["place"])):vue.createCommentVNode("",!0)],64))),256))]),_:2},1024)])]),_:2},1032,["control-id","open-by-default"]))),128))]),_:1})):vue.createCommentVNode("",!0)}},_hoisted_1$1={class:"vs-map-sidebar__header d-flex"},_hoisted_2$1={class:"vs-map-sidebar__content"},_hoisted_3$1={class:"vs-map-sidebar__input d-flex mt-100 mb-050"},_hoisted_4$1={key:1,class:"vs-map-sidebar__sub-filters-wrapper"},_hoisted_5$1={class:"vs-map-sidebar__search-results"},_hoisted_6$1={class:"vs-map-sidebar__google-maps-container mt-075"},_hoisted_7$1={key:0,class:"vs-map-sidebar__footer"},_sfc_main$1=vue.defineComponent({__name:"MapSidebar",props:{query:{type:String,default:""},selectedCategories:{type:String,default:""},headerLabel:{type:String,default:""},closeSidebarButtonLabel:{type:String,default:""},searchBarAriaLabel:{type:String,default:""},inputPlaceholderLabel:{type:String,default:""},searchButtonLabel:{type:String,default:""},clearMapLabel:{type:String,default:""},subFilterHeaderLabel:{type:String,default:""},searchResultsLabel:{type:String,default:""},openSidebarButtonLabel:{type:String,default:""}},emits:["search-input-changed","reset-map"],setup(e){const n=useGoogleMapStore(),t=e;return(a,r)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map-sidebar px-125",vue.unref(n).sidebarOpen?"d-block":"d-none"]),"data-test":"vs-map-sidebar",ref:"vsMapSidebar"},[vue.createElementVNode("div",_hoisted_1$1,[t.headerLabel?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"1","heading-style":"heading-xxs",class:"flex-grow-1",id:"vs-map-sidebar__heading","data-test":"vs-map-sidebar__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.headerLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__sidebar-control vs-map-siderbar__sidebar-control--dismiss","data-test":"vs-map-siderbar__sidebar-control--dismiss",icon:"vs-icon-control-dismiss","icon-only":"",variant:"subtle",onClick:r[0]||(r[0]=o=>vue.unref(n).sidebarOpen=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeSidebarButtonLabel),1)]),_:1})]),vue.createElementVNode("div",_hoisted_2$1,[vue.createElementVNode("div",_hoisted_3$1,[vue.createVNode(VsInput,{type:"text",autocomplete:"off","field-name":"vs-map-search-input","data-test":"vs-map-search-input",ref:"vs-search-input",placeholder:t.inputPlaceholderLabel,class:"vs-map-sidebar__input flex-grow-1","aria-label":t.searchBarAriaLabel,onKeyup:r[1]||(r[1]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},null,8,["placeholder","aria-label"]),vue.createVNode(LoadingSpinner.VsButton,{class:"vs-map-sidebar__search-button","data-test":"vs-map-sidebar__search-button",icon:"vs-icon-control-search","icon-only":"",rounded:!1,size:"lg",onClick:r[2]||(r[2]=vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"])),onKeyup:r[3]||(r[3]=vue.withKeys(vue.withModifiers(o=>a.$emit("search-input-changed"),["prevent"]),["enter"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonLabel),1)]),_:1})]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("a",{key:0,href:"#",class:"d-block","data-test":"vs-map-sidebar__reset-map",onClick:r[4]||(r[4]=vue.withModifiers(o=>a.$emit("reset-map"),["prevent"])),onKeyup:r[5]||(r[5]=vue.withKeys(vue.withModifiers(o=>a.$emit("reset-map"),["prevent"]),["enter"]))},vue.toDisplayString(t.clearMapLabel),33)):vue.createCommentVNode("",!0),a.$slots["vs-map-sidebar-sub-filters"]&&a.$slots["vs-map-sidebar-sub-filters"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createVNode(VsDetail,{class:"vs-map-sidebar__sub-filter-header",size:"small",color:"secondary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subFilterHeaderLabel),1)]),_:1}),vue.renderSlot(a.$slots,"vs-map-sidebar-sub-filters")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$1,[a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createBlock(LoadingSpinner.VsHeading,{key:0,level:"2","heading-style":"heading-xxxs","data-test":"vs-map-sidebar__search-result-query"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchResultsLabel)+' "'+vue.toDisplayString(t.query||t.selectedCategories)+'" ',1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_6$1,[vue.renderSlot(a.$slots,"vs-map-sidebar-search-results")])]),vue.createVNode(_sfc_main$2,{class:vue.normalizeClass(["mb-100",a.$props.query||a.$props.selectedCategories?"d-none":"d-block"])},null,8,["class"])]),a.$props.query||a.$props.selectedCategories?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$1,r[7]||(r[7]=[vue.createElementVNode("hr",{class:"vs-map-sidebar__swipe-tab"},null,-1)]))):vue.createCommentVNode("",!0)],2),vue.createVNode(LoadingSpinner.VsButton,{class:vue.normalizeClass(["vs-map-sidebar__sidebar-control vs-map-sidebar__sidebar-control--open",vue.unref(n).sidebarOpen?"d-none":"d-block"]),"data-test":"vs-map-sidebar__sidebar-control--open",size:"sm",icon:"fa-regular fa-sliders","icon-only":"",onClick:r[6]||(r[6]=o=>vue.unref(n).sidebarOpen=!0)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.openSidebarButtonLabel),1)]),_:1},8,["class"])],64))}}),cookieCheckerComposable=()=>{const e=vue.ref([]),n=vue.ref(!1),t=vue.ref(!1),a=vue.computed(()=>typeof window<"u"&&window.bypassCookiesRequired?!0:n.value),r=vue.computed(()=>typeof window<"u"&&window.bypassCookiesLoaded?!0:{cookieManagerLoaded:t});function o(){t.value=!0}function s(){let i=!1;typeof CookieControl<"u"&&(i=e.value.every(l=>CookieControl.getCategoryConsent(l)===!0)),n.value=i}return vue.onMounted(()=>{window.addEventListener("cookieManagerLoaded",()=>{o()}),window.addEventListener("cookiesUpdated",()=>{s()})}),{requiredCookies:e,cookiesAllowed:a,cookiesLoaded:r}};function dataLayerComposable(){const e=LoadingSpinner.useDataLayerStore(),n=vue.ref(!1),t=vue.computed(()=>e.pageUrl);function a(l,u){const c={};return l.forEach(d=>{c[d]=u[d]||void 0,d==="language"&&c[d]===void 0&&(c[d]=u.site_language||void 0)}),c}function r(){return new Date(Date.now()).toISOString()}function o(l){const c={...e.GTMData,...l};return c.hit_timestamp=r(),c}function s(l){n.value?window.dataLayer.push(l):LoadingSpinner.checkVendorLibrary("dataLayer",()=>{n.value=!0,window.dataLayer.push(l)})}function i(l,u){let c,d,f,v;switch(l){case"googleMapSearchEvent":c="map_search",d={event:c,search_query:u.search_query,search_map_location:u.search_map_location,search_results_count:u.search_results_count,search_usage_index:u.search_usage_index},f=o(d),v=a(LoadingSpinner.googleMapSearchTemplate,f);break;case"googleMapFilterEvent":c="map_filter_interaction",d={event:c,filter_type:u.filter_type,search_map_location:u.search_map_location,filter_selection:u.filter_selection,results_count:u.results_count,filter_usage_index:u.filter_usage_index},f=o(d),v=a(LoadingSpinner.googleMapFilterInteractionTemplate,f);break;case"googleMapTimeToFirstInteractionEvent":c="map_time_to_first_interaction",d={event:c,time_to_first_interaction_ms:u.time_to_first_interaction_ms,first_interaction_type:u.first_interaction_type},f=o(d),v=a(LoadingSpinner.googleMapTimeToFirstInteractionTemplate,f);break;case"googleMapInteractionEvent":c="map_interaction_click",d={event:c,interaction_type:u.interaction_type,search_query:u.search_query,map_location:u.map_location,visible_attractions_count:u.visible_attractions_count,card_attraction_name:u.card_attraction_name,card_attraction_category:u.card_attraction_category,card_attraction_url:u.card_attraction_url,card_attraction_rating:u.card_attraction_rating,interaction_timestamp_ms:u.interaction_timestamp_ms},f=o(d),v=a(LoadingSpinner.googleMapInteractionTemplate,f);break}v&&s(v)}return{pageUrl:t,createDataLayerObject:i,templateFiller:a,compileFullTemplate:o,returnIsoDate:r,pushToDataLayer:s,dataLayerStore:e}}const _hoisted_1={class:"vs-map"},_hoisted_2={class:"vs-map__controls"},_hoisted_3={class:"vs-map-sidebar__sub-filters"},_hoisted_4={key:0},_hoisted_5={key:0,class:"vs-map__filter-controls"},_hoisted_6={class:"vs-map__wrapper"},_hoisted_7={id:"vs-map","map-id":"vs-map",ref:"vsMap"},MAX_ZOOM=17,CATEGORY_VISIBLE_ZOOM=11,NUMBER_OF_RESULTS=20,_sfc_main={__name:"MainMap",props:{apiKey:{type:String,default:getEnvValue("GOOGLE_MAPS_API_KEY")},mapId:{type:String,default:"vs-map"},mapTypeVector:{type:Boolean,default:!1},center:{type:Object,default:()=>({lat:56.490153,lng:-4.10959})},zoom:{type:Number,default:6},radius:{type:Number,default:1e3},labels:{type:Object,default:()=>{}},languageCode:{type:String,default:"en",validator:e=>e.match(/(en|es|it|de|nl|fr)/)},categoriesLocation:{type:String,default:""},categoryLabels:{type:Object,default:()=>{}},featuredPlaces:{type:Object,default:void 0},jsDisabled:{type:Boolean,required:!0},noJsMessage:{type:String,required:!0},noCookiesMessage:{type:String,required:!0},cookieBtnText:{type:String,required:!0},noResultsMessage:{type:String,required:!0},resetMapNoResultsMessage:{type:String,required:!0},alertText:{type:String,default:void 0}},setup(e){const n=dataLayerComposable(),t=e,a=t.categoryLabels.find(U=>U.id==="destinations"),r=a?a.subCategory:null;vue.provide("featuredPlaces",{categories:r,places:t.featuredPlaces}),vue.provide("onFeaturedLocationClick",ve);let o,s,i,l,u,c,d,f,v,p,h={},g;const _=vue.ref(),m=vue.ref(new Set),b=vue.ref(),S=vue.ref(new Set),C=vue.ref(new Set),V=vue.ref(new Set),B=vue.ref(new Set),$=vue.ref(),D=vue.ref(),R=vue.ref(t.zoom),M=vue.ref(!1),A=vue.ref(),O=vue.ref(new Set),q=vue.ref(),ee=vue.computed(()=>{const U=new Map,J=F[_.value].subCategory;return Object.values(J).forEach(X=>{U.set(X.id,{includedTypes:X.includedType,excludedTypes:X.excludedType})}),U}),Y=useGoogleMapStore(),W=vue.ref(void 0);let k;const L=vue.ref(void 0),T={north:60.8,south:54.8,west:-8.5,east:-.7};let F={};const Q=t.categoryLabels;let w=0;vue.onBeforeMount(()=>{const U=cookieCheckerComposable();U.requiredCookies.value=cookieValues$5.google_maps,k=vue.computed(()=>!U.cookiesAllowed.value&&U.cookiesLoaded.value===!0||!U.cookiesLoaded.value?(L.value="noCookie",!0):!1)}),vue.onMounted(async()=>{if(t.categoriesLocation&&LoadingSpinner.axios.get(t.categoriesLocation).then(J=>{F=J.data}).catch(()=>{}),k.value===!1){setOptions({key:t.apiKey,v:"quarterly",libraries:["maps","places","marker","core","geometry"],region:"GB",language:t.languageCode});try{await importLibrary("maps"),await importLibrary("places"),await importLibrary("marker"),await importLibrary("core"),await importLibrary("geometry")}catch{console.error("Google Maps Library load error")}}s=document.getElementById("vs-map"),i=document.getElementById("nearbySearch"),l=document.getElementById("textSearch"),u=document.querySelector("gmp-place-text-search-request"),c=document.querySelector("gmp-place-nearby-search-request"),d=document.querySelector("gmp-place-details"),f=document.getElementById("placeRequest"),v=document.getElementById("vs-map-search-input");async function U(){try{const J={center:{lat:t.center.lat,lng:t.center.lng},renderingType:t.mapTypeVector?google.maps.RenderingType.VECTOR:google.maps.RenderingType.RASTER,zoom:t.zoom,isFractionalZoomEnabled:!0,mapId:t.mapId,restriction:{latLngBounds:T},zoomControl:!0,fullscreenControl:!1,mapTypeControl:!1,cameraControl:!1,streetViewControl:!1,gestureHandling:"greedy"};if(s)o=new google.maps.Map(s,J),o.fitBounds(T);else throw new Error("Init error, mapContainer undefined")}catch(J){console.error("Maps init error",J.message)}p=new google.maps.InfoWindow,p.addListener("closeclick",()=>{ue("card_close",f.place)}),N(),o.addListener("zoom_changed",()=>{R.value=o.getZoom(),R.value<CATEGORY_VISIBLE_ZOOM?N():N(!0)}),o.addListener("idle",()=>{g=he()}),i.addEventListener("gmp-select",({place:J})=>{h[J.id]&&fe(J,h[J.id])}),l.addEventListener("gmp-select",({place:J})=>{h[J.id]&&fe(J,h[J.id])})}Y.firstInteraction=!1,Y.searchesCount=0,Y.filterUsesCount=0,k.value===!1&&await U()});function N(U){const J={strokeColor:"#A3A3CC",strokeOpacity:1,strokeWeight:1,fillColor:"#A3A3CC",fillOpacity:.5},X=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ7Q8cbLY0ZEgRouilirxxux4","ChIJ1YEuRDCFY0gRDeDw8bxbAuo","ChIJv-VNj0VoEkYRK9BkuJ07sKE","ChIJ-1-U7rYnS0YRzZLgw9BDh1I","ChIJ8fA1bTmyXEYRYm-tjaLruCI","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8","ChIJa76xwh5ymkcRW-WRjmtd6HU","ChIJu-SH28MJxkcRnwq9_851obM","ChIJuwtkpGSZAEcR6lXMScpzdQk","ChIJl5fz7WR9wUcR8g_mObTy60c","ChIJMVd4MymgVA0R99lHx5Y__Ws","ChIJ_ZqKe2cw6UYREPzyaM3PAAA","ChIJE74zDxSU3UYRubpdpdNUCvM","ChIJ4wsuREWc40YRewI60MRYJR4","ChIJ_UuggpyUkkYRwyW0T7qf6kA","ChIJ3fYyS9_KgUYREKh1PNZGAQA","ChIJQ2Dro1Ir0kgRmkXB5TQEim8","ChIJFXfA47sNok4RGOIUAYOdzzQ","ChIJI9HkgQm_ikYR8i7GR23fEbY","ChIJUXXYvLMei0YR7zdFQUIM8bA","ChIJRyEhyrlFlUcR75LTAvZg22Q"],te=["ChIJ39UebIqp0EcRqI4tMyWV4fQ","ChIJdZmmmcoQXkgR2OO3bu8o5fc","ChIJ-ydAXOS6WUgRCPTbzjQSfM8","ChIJ6_ktdpMVvEgRJBv3ZEgxsD8"],se=o.getFeatureLayer(google.maps.FeatureType.COUNTRY),ie=o.getFeatureLayer(google.maps.FeatureType.ADMINISTRATIVE_AREA_LEVEL_1);U?(se.style=null,ie.style=null,se.style=de=>{if(te.includes(de.feature.placeId))return J},ie.style=de=>{if(te.includes(de.feature.placeId))return J}):(se.style=de=>{if(X.includes(de.feature.placeId))return J},ie.style=de=>{if(X.includes(de.feature.placeId))return J})}function E(U,J){le(),_.value=U,Object.values(F[U].subCategory).forEach(X=>S.value.add(X.includedType)),Object.values(F[U].subCategory).forEach(X=>{X.excludedType&&C.value.add(X.excludedType)}),S.value=new Set(Array.from(S.value).flat()),C.value=new Set(Array.from(C.value).flat()),S.value.forEach(X=>{C.value.has(X)&&C.value.delete(X)}),b.value=F[U],$.value=J,H({includedTypes:Array.from(S.value),excludedTypes:Array.from(C.value)}),A.value=Q[$.value].label,v.value=A.value}function j(U,J){const X=vue.ref([]),te=vue.ref();return U.forEach(()=>{Q.forEach(se=>{se.id===_.value&&(X.value=se)}),Object.values(X.value).forEach(se=>{Object.values(se).forEach(ie=>{J===ie.id&&(te.value=ie.label)})})}),te}function P(){V.value.forEach(U=>{B.value.has(U)&&B.value.delete(U)})}function z(U,{includeTypes:J=!1,excludeTypes:X=!1,removeIncludedTypes:te=!1,removeExcludedTypes:se=!1}={}){var de;const ie=ee.value.get(U);J&&ie.includedTypes.forEach(pe=>{J&&V.value.add(pe),te&&V.value.delete(pe)}),(X||se)&&((de=ie.excludedTypes)==null||de.forEach(pe=>{X&&B.value.add(pe),se&&B.value.delete(pe)}))}function G(U,J){D.value=J,U==="self-catering"?(oe(),m.value=new Set,m.value.add(U),A.value=j(m.value,U).value,le(),v.value=A.value,Z()):m.value.has(U)?(m.value.delete(U),V.value=new Set,B.value=new Set,m.value.forEach(X=>{z(X,{includeTypes:!0,excludeTypes:!0})}),P(),O.value.delete(j(m.value,U).value),m.value.size===0?(O.value=new Set,E(_.value,$.value)):(H({includedTypes:Array.from(V.value).flat(),excludedTypes:Array.from(B.value).flat()}),A.value=Array.from(O.value).join(", "),v.value=A.value)):(m.value.add(U),z(U,{includeTypes:!0,excludeTypes:!0}),P(),H({includedTypes:Array.from(V.value).flat(),excludedTypes:Array.from(B.value).flat()}),O.value.add(j(m.value,U).value),A.value=Array.from(O.value).join(", "),v.value=A.value)}async function H({includedTypes:U=[],excludedTypes:J=[]}={}){ne(),oe(),w+=1;const X=w;Y.filterUsesCount+=1,q.value="nearby";const te=o.getBounds(),se=te.getNorthEast(),ie=te.getSouthWest(),de=google.maps.geometry.spherical.computeDistanceBetween(se,ie),pe=Math.min(de/2,25e3);c.includedTypes=U,c.excludedTypes=J??[],c.maxResultCount=NUMBER_OF_RESULTS,c.locationRestriction={center:o.getCenter(),radius:pe},i.style.display="block",i.addEventListener("gmp-load",()=>{if(X!==w)return;ae(X);let me="main",ge=_.value;m.value.size&&(me="sub",ge=Array.from(m.value).join(", ")),n.createDataLayerObject("googleMapFilterEvent",{filter_type:me,search_map_location:o.getCenter().toString(),filter_selection:ge,results_count:i.places.length,filter_usage_index:Y.filterUsesCount}),I("map_filter")},{once:!0})}async function Z(){ne(),le(),w+=1;const U=w;Y.searchesCount+=1,q.value="text",A.value=v.value.trim(),A.value&&(u.textQuery=A.value,u.locationRestriction=o.getBounds(),u.maxResultCount=NUMBER_OF_RESULTS,l.style.display="block",l.addEventListener("gmp-load",()=>{U===w&&(ae(U),n.createDataLayerObject("googleMapSearchEvent",{search_query:A.value,search_map_location:o.getCenter().toString(),search_results_count:l.places.length,search_usage_index:Y.searchesCount}),I("map_search"))},{once:!0}))}async function ae(U){const{AdvancedMarkerElement:J}=await importLibrary("marker"),{LatLngBounds:X}=await importLibrary("core");if(U!==w)return;const te=vue.ref();q.value==="nearby"?te.value=i:q.value==="text"?te.value=l:console.error("Unrecognised Search type"),te.value.places.length===0?(W.value=!0,te.value.style.display="none"):(W.value=!1,te.value.style.display="block");const se=new X;te.value.places&&te.value.places.forEach(ie=>{const de=document.createElement("div");de.classList.add("vs-map-marker");const pe=document.createElement("i");pe.classList.add("fa-solid","fa-location-dot"),de.appendChild(pe);const me=new J({map:o,position:ie.location,content:de,title:"Map pin"});me.addEventListener("gmp-placeclick",()=>{fe(ie)}),me.addListener("click",()=>{fe(ie)}),me.metadata={id:ie.id},h[ie.id]=me,se.extend(ie.location),te.value.places.length===1?(o.setCenter({lat:ie.location.lat(),lng:ie.location.lng()}),o.setZoom(14),o.fitBounds(ie.viewport)):(o.setCenter(se.getCenter()),o.fitBounds(se))})}function ne(U,J){ce(),q.value="",i.style.display="none",l.style.display="none",u.textQuery=null,M.value=!1,p&&p.close&&p.close(),W.value=void 0,U&&(oe(),le(),ue("clear_all")),J&&(o.setCenter(t.center),o.setZoom(t.zoom),o.fitBounds(T),ue("reset_map"))}function oe(){A.value=null,v.value=""}function le(){_.value=void 0,m.value=new Set,S.value=new Set,C.value=new Set,V.value=new Set,B.value=new Set,O.value=new Set,$.value=void 0,D.value=void 0}function ce(){for(const U in h)h[U]&&(h[U].map=null);h={}}function fe(U){p.isOpen&&(p.close(),ue("card_close",f.place)),f.place=U,window.innerWidth<=768?(d.style.width="85vw",d.style.height="32em",Y.sidebarOpen=!1):(d.style.width="20em",d.style.height="32em"),d.style.display="block",d.style.overflowY="auto",d.style.overflowX="hidden",d.style.boxSizing="border-box",d.style.maxHeight="32em",p.setOptions({content:d,maxWidth:"25em",position:U.location,pixelOffset:new google.maps.Size(0,-32)}),p.open({map:o}),google.maps.event.addListenerOnce(o,"idle",()=>{o.getZoom()>MAX_ZOOM&&o.setZoom(MAX_ZOOM),ue("card_open",U)}),o.setCenter(U.location)}async function ue(U,J){let X="",te="",se="",ie="";J&&(await J.fetchFields({fields:["displayName","primaryType","rating","websiteURI"]}),X=J.displayName,te=J.rating,se=J.websiteURI,ie=J.primaryType),n.createDataLayerObject("googleMapInteractionEvent",{interaction_type:U,search_query:v.value.trim(),map_location:o.getCenter().toString(),visible_attractions_count:g,card_attraction_name:X,card_attraction_category:ie,card_attraction_rating:te,card_attraction_url:se,interaction_timestamp_ms:Date.now()}),I(U)}function I(U){if(!Y.firstInteraction){const X=Date.now()-Y.timeMounted;n.createDataLayerObject("googleMapTimeToFirstInteractionEvent",{time_to_first_interaction_ms:X,first_interaction_type:U}),Y.firstInteraction=!0}}function he(){const U=o.getBounds();if(!U)return 0;let J=0;for(let X=0;X<Object.keys(h).length;X++){const se=h[Object.keys(h)[X]].position;U.contains(se)&&(J+=1)}return J}function ve(U){o.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(U.properties.viewport.low.latitude,U.properties.viewport.low.longitude),new google.maps.LatLng(U.properties.viewport.high.latitude,U.properties.viewport.high.longitude))),o.setCenter(new google.maps.LatLng(U.properties.locationCentre.latitude,U.properties.locationCentre.longitude)),E("things-to-do",2),M.value=!0}return(U,J)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-map__container",vue.unref(k)?"d-none":""])},[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(_sfc_main$1,{query:A.value,"selected-categories":_.value,"header-label":t.labels.heading,"close-sidebar-button-label":t.labels.closeSidebarBtn,"search-bar-aria-label":t.labels.searchBarAriaLabel,"input-placeholder-label":t.labels.inputPlaceholder,"search-button-label":t.labels.searchButton,"clear-map-label":t.labels.clearMap,"sub-filter-header-label":t.labels.subFilterHeader,"search-results-label":t.labels.searchResults,"open-sidebar-button-label":t.labels.openSidebarButton,onSearchInputChanged:Z,onResetMap:J[1]||(J[1]=X=>ne(!0))},vue.createSlots({"vs-map-sidebar-search-results":vue.withCtx(()=>[W.value||t.alertText&&W.value===!1?(vue.openBlock(),vue.createBlock(vue.unref(VsAlert),{key:0,class:"mt-075 mb-150",id:"vs-map__alert",size:"small"},{default:vue.withCtx(()=>[W.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4,[vue.createTextVNode(vue.toDisplayString(e.noResultsMessage)+" ",1),vue.createElementVNode("a",{href:"#",onClick:J[0]||(J[0]=vue.withModifiers(X=>ne(!0,!0),["prevent"]))},vue.toDisplayString(e.resetMapNoResultsMessage),1)])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createTextVNode(vue.toDisplayString(e.alertText),1)],64))]),_:1})):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>J[2]||(J[2]=[vue.createElementVNode("div",{id:"search-container"},[vue.createElementVNode("gmp-place-search",{id:"nearbySearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-nearby-search-request",{id:"nearbySearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])]),vue.createElementVNode("gmp-place-search",{id:"textSearch",orientation:"vertical",selectable:"",style:{display:"none"}},[vue.createElementVNode("gmp-place-text-search-request",{id:"textSearchQuery"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])),_:1,__:[2]}))]),_:2},[_.value?{name:"vs-map-sidebar-sub-filters",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Q)[$.value].subCategory,(X,te)=>(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:te,variant:m.value.has(X.id)?"primary":"secondary",size:"sm",onClick:se=>G(X.id,te)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(X.label),1)]),_:2},1032,["variant","onClick"]))),128))])]),key:"0"}:void 0]),1032,["query","selected-categories","header-label","close-sidebar-button-label","search-bar-aria-label","input-placeholder-label","search-button-label","clear-map-label","sub-filter-header-label","search-results-label","open-sidebar-button-label"]),(R.value>=CATEGORY_VISIBLE_ZOOM||M.value)&&vue.unref(Y).sidebarOpen&&Object.keys(vue.unref(F)).length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Q),(X,te)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:te},[X.cmsData?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsButton),{key:0,class:"vs-map__filter-controls-button",variant:_.value===X.id?"primary":"secondary",onClick:vue.withModifiers(se=>E(X.id,te),["prevent"]),icon:Object.values(vue.unref(F))[te].icon},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(X.label),1)]),_:2},1032,["variant","onClick","icon"]))],64))),128))])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("div",_hoisted_7,null,512),(vue.openBlock(),vue.createBlock(vue.Suspense,null,{default:vue.withCtx(()=>J[3]||(J[3]=[vue.createElementVNode("div",{id:"detail-container"},[vue.createElementVNode("gmp-place-details",{id:"placeDetails",style:{display:"none"}},[vue.createElementVNode("gmp-place-details-place-request",{id:"placeRequest"}),vue.createElementVNode("gmp-place-content-config",null,[vue.createElementVNode("gmp-place-address"),vue.createElementVNode("gmp-place-rating"),vue.createElementVNode("gmp-place-type"),vue.createElementVNode("gmp-place-price"),vue.createElementVNode("gmp-place-accessible-entrance-icon"),vue.createElementVNode("gmp-place-opening-hours"),vue.createElementVNode("gmp-place-website"),vue.createElementVNode("gmp-place-phone-number"),vue.createElementVNode("gmp-place-summary"),vue.createElementVNode("gmp-place-type-specific-highlights"),vue.createElementVNode("gmp-place-reviews"),vue.createElementVNode("gmp-place-feature-list"),vue.createElementVNode("gmp-place-media",{"lightbox-preferred":""}),vue.createElementVNode("gmp-place-attribution",{"light-scheme-color":"gray","dark-scheme-color":"gray"})])])],-1)])),_:1,__:[3]}))])],2),vue.unref(k)&&L.value==="noCookie"?(vue.openBlock(),vue.createBlock(vue.unref(LoadingSpinner.VsWarning),{key:0,type:"cookie",class:vue.normalizeClass(["vs-map__error vs-map__error--no-cookies",vue.unref(k)?"d-block":"d-none"]),"data-test":"vs-map__warning--no-cookies"},{"button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.cookieBtnText),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noCookiesMessage)+" ",1)]),_:1},8,["class"])):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(LoadingSpinner.VsWarning),{class:"vs-map__warning vs-map__warning--no-js","data-test":"vs-map__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.noJsMessage),1)]),_:1})]))}};exports.VsBody=LoadingSpinner.VsBody;exports.VsButton=LoadingSpinner.VsButton;exports.VsButtonToggleGroup=LoadingSpinner.VsButtonToggleGroup;exports.VsCol=LoadingSpinner.VsCol;exports.VsContainer=LoadingSpinner.VsContainer;exports.VsHeading=LoadingSpinner.VsHeading;exports.VsIcon=LoadingSpinner.VsIcon;exports.VsImg=LoadingSpinner.VsImg;exports.VsLoadingSpinner=LoadingSpinner.VsLoading;exports.VsRow=LoadingSpinner.VsRow;exports.VsWarning=LoadingSpinner.VsWarning;exports.VsAccordion=VsAccordion;exports.VsAccordionItem=VsAccordionItem;exports.VsAccordionToggle=VsAccordionToggle;exports.VsAddress=Address;exports.VsAlert=VsAlert;exports.VsArticle=Article;exports.VsArticleDetails=ArticleDetails;exports.VsArticleSection=ArticleSection;exports.VsArticleSidebar=ArticleSidebar;exports.VsBackToTop=_sfc_main$2t;exports.VsBadge=VsBadge;exports.VsBanner=Banner;exports.VsBreadcrumb=Breadcrumb;exports.VsBreadcrumbItem=BreadcrumbItem;exports.VsCannedSearch=CannedSearch;exports.VsCaption=Caption;exports.VsCarbonCalculator=CarbonCalculator;exports.VsCard=VsCard;exports.VsCardGroup=VsCardGroup;exports.VsCarousel=VsCarousel;exports.VsCarouselSlide=CarouselSlide;exports.VsCheckbox=VsCheckbox;exports.VsDescriptionList=DescriptionList;exports.VsDescriptionListItem=DescriptionListItem;exports.VsDetail=VsDetail;exports.VsDropdown=VsDropdown;exports.VsDropdownItem=VsDropdownItem;exports.VsEmbedWrapper=EmbedWrapper;exports.VsEventCard=EventCard;exports.VsFederatedSearch=_sfc_main$4;exports.VsFederatedSearchInput=_sfc_main$6;exports.VsFilter=_sfc_main$1J;exports.VsFilterSection=_sfc_main$1I;exports.VsFooter=Footer;exports.VsFooterAccordionItem=FooterAccordionItem;exports.VsFooterCopyright=FooterCopyright;exports.VsFooterNavListItem=FooterNavListItem;exports.VsFooterSocialItem=FooterSocialItem;exports.VsFooterSocialMenu=FooterSocialMenu;exports.VsFooterUtilityList=FooterUtilityList;exports.VsForm=Form;exports.VsGlobalMenu=GlobalMenu;exports.VsGlobalMenuLanguage=GlobalMenuLanguage;exports.VsGlobalMenuLanguageItem=GlobalMenuLanguageItem;exports.VsHeroSection=HeroSection;exports.VsHtmlError=HtmlError;exports.VsIconList=IconList;exports.VsIconListItem=IconListItem;exports.VsIllustratedMap=IllustratedMap;exports.VsImageWithCaption=ImageWithCaption;exports.VsInput=VsInput;exports.VsItinerary=Itinerary;exports.VsItineraryBorderOverlapWrapper=ItineraryBorderOverlapWrapper;exports.VsItineraryDay=ItineraryDay;exports.VsItineraryStop=ItineraryStop;exports.VsItineraryStopInfo=ItineraryStopInfo;exports.VsItineraryTips=ItineraryTips;exports.VsLink=VsLink;exports.VsLinkList=VsLinkList;exports.VsLinkListItem=LinkListItem;exports.VsList=VsList;exports.VsListicleItem=ListicleItem;exports.VsMainMap=_sfc_main;exports.VsMediaCaption=VsMediaCaption;exports.VsMegaNavAccordionItem=MegaNavAccordionItem;exports.VsMegaNavDropdownContainer=MegaNavDropdownContainer;exports.VsMegaNavFeaturedEvent=MegaNavFeaturedEvent;exports.VsMegaNavFeaturedItem=MegaNavFeaturedItem;exports.VsMegaNavList=MegaNavList;exports.VsMegaNavListItem=MegaNavListItem;exports.VsMegaNavStaticLink=MegaNavStaticLink;exports.VsMegalinkLinkList=MegalinkLinkList;exports.VsMegalinkMultiImage=MegalinkMultiImage;exports.VsMegalinkSingleImage=MegalinkSingleImage;exports.VsMegalinks=Megalinks;exports.VsMeganav=MegaNav;exports.VsModal=Modal;exports.VsModuleWrapper=VsModuleWrapper;exports.VsNavigationBar=NavigationBar;exports.VsNavigationBarMenu=NavigationBarMenu;exports.VsNavigationBarMenuDropdown=NavigationBarMenuDropdown;exports.VsNavigationBarMenuItem=NavigationBarMenuItem;exports.VsNavigationBarSearch=NavigationBarSearch;exports.VsNavigationBarSidebar=VsNavigationSidebar;exports.VsNavigationBarSidebarButton=VsNavigationBarSidebarButton;exports.VsNumberInput=VsNumberInput;exports.VsPageIntro=PageIntro;exports.VsPagination=_sfc_main$E;exports.VsPanel=Panel;exports.VsProductSearch=ProductSearch;exports.VsProgressBar=VsProgressBar;exports.VsQuote=Quote;exports.VsRadioButton=VsRadioButton;exports.VsRecaptcha=VsRecaptcha;exports.VsSectionHeader=SectionHeader;exports.VsSelect=VsSelect;exports.VsSiteSearch=VsSiteSearch;exports.VsSiteSearchForm=VsSiteSearchForm;exports.VsSkiScotlandCard=SkiScotlandCard;exports.VsSkiScotlandStatus=SkiScotlandStatus;exports.VsSkipTo=SkipTo;exports.VsSocialCreditLink=SocialCreditLink;exports.VsSocialShare=SocialShare;exports.VsSocialShareItem=SocialShareItem;exports.VsSpotlightSection=SpotlightSection;exports.VsStretchedLinkCard=VsStretchedLinkCard;exports.VsStretchedLinkPanel=VsStretchedLinkPanels;exports.VsStyledList=_sfc_main$h;exports.VsStyledListItem=_sfc_main$g;exports.VsSummaryBoxDistanceListItem=SummaryBoxDistanceListItem;exports.VsSummaryBoxList=SummaryBoxList;exports.VsSummaryBoxListItem=SummaryBoxListItem;exports.VsSvg=VsSvg;exports.VsSvgLink=VsSvgLink;exports.VsTabItem=TabItem;exports.VsTable=VsTable;exports.VsTableBody=VsTableBody;exports.VsTableDataCell=VsTableDataCell;exports.VsTableFooter=VsTableFooter;exports.VsTableHead=VsTableHead;exports.VsTableHeaderCell=VsTableHeaderCell;exports.VsTableRow=VsTableRow;exports.VsTabs=Tabs;exports.VsTag=Tag;exports.VsTagManagerWrapper=TagManagerWrapper;exports.VsTextarea=VsTextarea;exports.VsToggleButton=VsToggleButton;exports.VsTooltip=VsTooltip;exports.VsTourismInfo=TourismInfo;exports.VsVideo=Video;exports.VsVideoCaption=VsVideoCaption;
|