PageSourceSearch

https://st1.fi/_nuxt/CYNTQabV.js

js st1.fi collected 2026-09-24 09:35:11 UTC 260,290 bytes, 3 lines download raw bytes

vendor: 1,909 bytes, line 1
1import{$ as e,$t as t,A as n,At as r,B as i,Bt as a,C as o,Cn as s,Ct as c,D as l,Dt as u,E as d,Et as f,F as p,Ft as m,G as h,Gt as g,H as _,Ht as v,I as y,It as b,J as x,Jt as S,K as C,Kt as w,L as T,Lt as E,M as ee,Mt as D,N as O,Nt as k,O as te,Ot as ne,P as re,Pt as A,Q as ie,Qt as ae,R as oe,Rt as j,S as se,Sn as M,St as ce,T as N,Tn as P,Tt as le,U as ue,Ut as F,V as de,Vt as I,W as fe,Wt as L,X as pe,Xt as R,Y as me,Yt as z,Z as he,Zt as ge,_ as B,_n as _e,_t as ve,a as ye,an as be,at as xe,b as V,bn as Se,bt as Ce,c as we,cn as Te,ct as Ee,d as De,dn as Oe,dt as ke,en as Ae,et as je,f as Me,fn as Ne,ft as Pe,g as Fe,gn as Ie,gt as Le,h as Re,hn as ze,ht as Be,i as Ve,in as H,it as He,j as Ue,jt as We,k as Ge,kt as Ke,l as qe,ln as Je,lt as Ye,m as U,mn as Xe,mt as Ze,n as Qe,nn as $e,nt as et,o as W,on as G,ot as tt,p as K,pn as q,pt as nt,q as rt,qt as it,r as at,rn as J,rt as ot,s as st,sn as ct,st as lt,t as ut,tn as Y,tt as dt,u as ft,un as X,ut as pt,v as mt,vn as Z,vt as ht,w as gt,wn as _t,wt as vt,x as yt,xn as Q,xt as bt,y as xt,yn as St,yt as Ct,z as wt,zt as $}from"#entry";var Tt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Et=/^\w*$/;function Dt(t,n){if(e(t))return!1;var r=typeof t;return r==`number`||r==`symbol`||r==`boolean`||t==null||dt(t)?!0:Et.test(t)||!Tt.test(t)||n!=null&&t in Object(n)}var Ot=`Expected a function`;function kt(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(Ot);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(kt.Cache||oe),n}kt.Cache=oe;var At=500;function jt(e){var t=kt(e,function(e){return n.size===At&&n.clear(),e}),n=t.cache;return t}var Mt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Nt=/\\(\\)?/g,Pt=jt(function(e){var t=[];
1return e.charCodeAt(0)===46&&t.push(``),e.replace(Mt,function(e,n,r,i){t.push(r?i.replace(Nt,`$1`):n||e)}),t});function Ft(t,n){return e(t)?t:Dt(t,n)?[t]:Pt(T(t))}var It=1/0;function Lt(e){if(typeof e==`string`||dt(e))return e;var t=e+``;return t==`0`&&1/e==-It?`-0`:t}function Rt(e,t){t=Ft(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[Lt(t[n++])];return n&&n==r?e:void 0}function zt(e,t,n){var r=e==null?void 0:Rt(e,t);return r===void 0?n:r}var Bt=et?et.isConcatSpreadable:void 0;function Vt(t){return e(t)||de(t)||!!(Bt&&t&&t[Bt])}function Ht(e,t,n,r,i){var a=-1,o=e.length;for(n||=Vt,i||=[];++a<o;){var s=e[a];t>0&&n(s)?t>1?Ht(s,t-1,n,r,i):y(i,s):r||(i[i.length]=s)}return i}function Ut(e){return e!=null&&e.length?Ht(e,1):[]}function Wt(e){return pe(C(e,void 0,Ut),e+``)}var Gt=1,Kt=2;function qt(e,t,n,r){var i=n.length,a=i,o=!r;if(e==null)return!a;for(e=Object(e);i--;){var s=n[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=n[i];var c=s[0],l=e[c],u=s[1];if(o&&s[2]){if(l===void 0&&!(c in e))return!1}else{var d=new p;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?re(u,l,Gt|Kt,r,d):f))return!1}}return!0}function Jt(e){return e===e&&!ie(e)}function Yt(e){for(var t=wt(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,Jt(i)]}return t}function Xt(e,t){return function(n){return n!=null&&n[e]===t&&(t!==void 0||e in Object(n))}}function Zt(e){var t=Yt(e);return t.length==1&&t[0][2]?Xt(t[0][0],t[0][1]):function(n){return n===e||qt(n,e,t)}}function Qt(e,t){return e!=null&&t in Object(e)}function $t(t,n,r){n=Ft(n,t);for(var i=-1,a=n.length,o=!1;++i<a;){var s=Lt(n[i]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++i!=a?o:(a=t==null?0:t.length,!!a&&fe(a)&&me(s,a)&&(e(t)||de(t)))}function en(e,t){return e!=null&&$t(e,t,Qt)}var tn=1,nn=2;function rn(e,t){return Dt(e)&&Jt(t)?Xt(Lt(e),t):function(n){var r=zt(n,e);return r===void 0&&r===t?en(n,e):re(t,r,tn|nn)}}function an(e){return function(t){return t?.[e]}}function on(e){return function(t){return Rt(t,e)}}function sn(e){return Dt(e)?an(Lt(e)):on(e)}function cn(t){return typeof t==`function`?t:t==null?he:typeof t==`object`?e(t)?rn(t[0],t[1]):Zt(t):sn(t)}function ln(e,t){return function(n,r){if(n==null)return n;if(!ue(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}var un=ln(O);function dn(e,t){var n=-1,r=ue(e)?Array(e.length):[];return un(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function fn(e,t){var n={};return t=cn(t,3),O(e,function(e,r,i){x(n,r,t(e,r,i))}),n}function pn(e,t,n,r){if(!ie(e))return e;t=Ft(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i<a;){var c=Lt(t[i]),l=n;if(c===`__proto__`||c===`constructor`||c===`prototype`)return e;if(i!=o){var u=s[c];l=r?r(u,c,s):void 0,l===void 0&&(l=ie(u)?u:me(t[i+1])?[]:{})}rt(s,c,l),s=s[c]}return e}function mn(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Rt(e,o);n(s,o)&&pn(a,Ft(o,e),s)}return a}function hn(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function gn(e,t){if(e!==t){var n=e!==void 0,r=e===null,i=e===e,a=dt(e),o=t!==void 0,s=t===null,c=t===t,l=dt(t);if(!s&&!l&&!a&&e>t||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e<t||l&&n&&i&&!r&&!a||s&&n&&i||!o&&i||!c)return-1}return 0}function _n(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=gn(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function vn(t,n,r){n=n.length?je(n,function(t){return e(t)?function(e){return Rt(e,t.length===1?t[0]:t)}:t}):[he];var a=-1;return n=je(n,i(cn)),hn(dn(t,function(e,t,r){return{criteria:je(n,function(t){return t(e)}),index:++a,value:e}}),function(e,t){return _n(e,t,r)})}function yn(e,t){return mn(e,t,function(t,n){return en(e,n)})}var bn=Wt(function(e,t){return e==null?{}:yn(e,t)}),xn=h(function(e,t){if(e==null)return[];var n=t.length;return n>1&&_(e,t[0],t[1])?t=[]:n>2&&_(t[0],t[1],t[2])&&(t=[t[0]]),vn(e,Ht(t,1),[])}),Sn={__name:`DSSEOHeading`,props:{isFirst:{type:Boolean,default:!1},fallback:{type:String,default:`h2`},isPrimary:{type:Boolean,default:!0}},setup(e){let t=e,n=E(()=>t.isFirst&&t.isPrimary?`h1`:t.fallback);return(e,t)=>(Y(),$(G(Q(n)),null,{default:q(()=>[H(e.$slots,`default`)]),_:3}))}},Cn={class:`outer`},wn=U({__name:`DSRowExpand`,props:{rows:{type:[Number,String],default:5},arrow:{type:Boolean,default:!0}},setup(e){u(e=>({v152a7848:Q(c),v5d2c2fed:Q(d),v1ca20fe5:Q(l)}));let t=Je(`container`),n=Je(`expand`),r=Je(`internal`),i=Z(!1),s=e,c=E(()=>
1{if(!window||!t.value)return`0px`;let{height:e}=r.value?.getBoundingClientRect()||{},n=Math.ceil(Number(getComputedStyle(t.value).lineHeight.replace(/px$/,``)));return e<=n*s.rows?`auto`:`${s.rows*n}px`}),l=E(()=>{if(!window||!t.value)return`0px`;let{height:e}=r.value?.getBoundingClientRect()||{};return e<=Math.ceil(Number(getComputedStyle(t.value).lineHeight.replace(/px$/,``)))*s.rows?`auto`:`${e}px`}),d=E(()=>{if(!window)return`.75s`;let{height:e}=r.value?.getBoundingClientRect()||{};return`${e/500*.75}s`}),f=E(()=>{if(!window||!t.value)return!1;let{height:e}=r.value?.getBoundingClientRect()||{};return e>Math.ceil(Number(getComputedStyle(t.value).lineHeight.replace(/px$/,``)))*s.rows});function p(){i.value=!i.value}let{t:m}=o({scope:`global`,messages:{"en-EU":{more:`Show more`,less:`Show less`},"fi-FI":{more:`Näytä lisää`,less:`Näytä vähemmän`},"sv-SE":{more:`Visa mer`,less:`Visa mindre`},"no-NO":{more:`Vis mer`,less:`Vis mindre`},en:{more:`Show more`,less:`Show less`},fi:{more:`Näytä lisää`,less:`Näytä vähemmän`},sv:{more:`Visa mer`,less:`Visa mindre`}}});return(o,s)=>{let c=K;return Y(),I(`div`,{ref_key:`container`,ref:t,class:`row-expand expand-component`},[j(`div`,{ref_key:`expand`,ref:n,class:M([`expand`,{expanded:Q(i),"no-grad":!Q(f)}])},[j(`div`,Cn,[j(`div`,{ref_key:`internal`,ref:r,class:`internal`},[H(o.$slots,`default`,{},void 0,!0)],512)])],2),Q(f)?(Y(),I(`button`,{key:0,class:`button`,onClick:p},[j(`span`,null,P(Q(m)(Q(i)?`less`:`more`)),1),e.arrow?(Y(),$(c,{key:0,code:`chevron-down`,size:`s`})):a(``,!0)])):a(``,!0)],512)}}},[[`__scopeId`,`data-v-a4758512`]]),Tn=[`src`,`alt`],En=U({__name:`DSAdeonaImage`,props:{image:{type:Object,default:()=>({})},alt:{type:String,default:``}},setup(e){let n=Z(null),r=Je(`container`);t(()=>{n.value=r.value?.getBoundingClientRect()?.width||0});let i=e,o=E(()=>i.image?.conversions?.map((e,t)=>({index:t,url:e.url}))?.map(e=>({...e,order:e.url.split(`/`).reverse()[1]}))?.map(e=>({...e,order:e.order.match(/^Full/)?1920:Number(e.order)}))?.sort((e,t)=>e.order-t.order))||[],s=E(()=>n.value?o.value.reduce((e,t)=>Math.abs(t.order-n.value)<Math.abs(e.order-n.value)?t:e):o.value[1]);return(t,n)=>Q(s).url?(Y(),I(`img`,{key:0,ref_key:`container`,ref:r,fit:`contain`,class:`image`,draggable:`false`,src:Q(s).url,alt:e.alt},null,8,Tn)):a(``,!0)}},[[`__scopeId`,`data-v-b428f183`]]),Dn=He(`checkout`,{state:()=>({step:1,customerData:{email:``,emailConfirmation:``,firstname:``,lastname:``,telephonePrefix:`FIN|358`,telephoneNumber:``,marketing:[]},sendSms:!1,busy:!1,orderId:``,paymentMethodType:``,bank:``,card:``}),actions:{clear(){this.customerData={email:``,emailConfirmation:``,firstname:``,lastname:``,telephonePrefix:`FIN|358`,telephoneNumber:``,marketing:[]},localStorage.clear()},loadFromLocal(){window&&window.localStorage.getItem(`userinfo`)&&(this.customerData=JSON.parse(window.localStorage.getItem(`userinfo`)))},saveToLocal(){localStorage.setItem(`userinfo`,JSON.stringify(this.customerData))}},getters:{getCustomerData:e=>e.customerData,getBusy:e=>e.busy,getOrderId:e=>e.orderId}}),On=He(`cart`,{state:()=>({cart:[],totals:{discount:0,taxAmount:0,totalWithTax:0,totalWithoutTax:0},cartAmounts:0,discountCode:``}),actions:{deleteProduct(e){this.cart=this.cart.filter(t=>t.code!==e),this.setTotals(),this.saveToLocal()},reset(){this.cart=[],this.setTotals(),this.saveToLocal()},async addToCart(e,t){let{$i18n:n,$dsc:r}=c(),i=e.bundleMembers?.length>0,a=i?``:`1 ${n.t(`pcs`)}`,o=e.attributes?.price?e.attributes.price:e.unitPrice,s=e.attributes?.product_name?`${e.attributes.product_name} ${a}`:e.name,l=i?e.bundleMembers.map(t=>({amount:t.amount,globalName:t.product?.globalName??``,sku:e.bundleMembers.map(e=>e.product.code)})):[],u={id:r.uuidv4(),code:e.code,name:s,image:e.image??e.images,amount:1,price:o,includes:l,attributes:{price:o,tax_class:e.attributes?.tax_class},showUpsell:e.showUpsell||e.showUpsell===void 0},d=!1;this.cart.length&&(this.cart.forEach(e=>{e.code===u.code&&(e.amount+=1,d=!0)}),t||c().$dsc.msg.success(`addToCartNotification.addedToCart`)),d||this.cart.push(u),(t===!1||this.cart.length===1)&&ft(B()).setNameAndOpe
1n(`firstInCart`);let f=this.setTotals();this.saveToLocal(),await f&&c().callHook(`dsc:cart:add-product:success`,{cart:this.cart,product:u})},async setTotals(){let e={discount:0,taxAmount:0,totalWithTax:0,totalWithoutTax:0};if(!this.cart?.length){this.cartAmounts=0,this.totals=e;return}let t=n(B()),r=Dn(B());try{let n=this.cart.map(e=>({quantity:e.amount?parseInt(e.amount):1,code:e.code,showUpsell:e.showUpsell??!1})),i=t.loggedIn?t.user.email:r.customerData.email,{data:a,error:o}=await d(`digital-order/v1/cart/validate`,{method:`post`,body:{items:n,...this.discountCode&&{discountCode:this.discountCode},...i.length&&{customerEmail:i}}});if(o?.value)throw o.value;return a.value?.items?.forEach(e=>{try{let t=this.cart.find(t=>t.code===e.product?.code),n=!1;if(t.includes?.length===1&&e.upsellProducts?.length===1&&e.upsellProducts[0].product?.bundleMembers?.length===1){let r=[...t.includes.map(e=>e.sku)],i=e.upsellProducts.map(e=>e.product.bundleMembers.map(e=>e.product.code)),a=t.amount*t.includes[0].amount,o=e.upsellProducts[0].quantity*e.upsellProducts[0].product.bundleMembers[0].amount;JSON.stringify(r)===JSON.stringify(i)&&a>Number(o)+1&&(n=!0)}n?this.cart[this.cart.indexOf(t)].upsells=[]:this.cart[this.cart.indexOf(t)].upsells=e.upsellProducts}catch{}}),this.totals=a.value?.totals||e,n.length>0&&(this.cartAmounts=n.map(e=>e.quantity).reduce((e,t)=>e+t,0)),this.saveToLocal(),!0}catch(e){return console.error(e),this.cart=[],this.saveToLocal(),c().$dsc.msg.error(`addToCartNotification.cartValidationFailed`),!1}},saveToLocal(){localStorage.setItem(`cart`,JSON.stringify(this.cart))},async loadFromLocal(){window&&window.localStorage.getItem(`cart`)&&(this.cart=JSON.parse(window.localStorage.getItem(`cart`)),await this.setTotals())},setDiscountCode(e){this.discountCode=e,this.setTotals(),this.saveToLocal()},async submitOrder(e,t){let{$paths:n}=c();try{return await d(n.getEndpoint(e),{method:`POST`,client:!0,body:t})}catch(e){return Ye(e),{error:e,data:null}}}},getters:{getCart:e=>e.cart,getCartAnalytics:e=>e.cart.map(e=>{let{$analytics:t}=c();return t.productToAnalytics(e)}),getProductCount:e=>e.cart.length,getProductItemCount:e=>e.cart.length>0?e.cart.map(e=>e.includes.length>0?e.includes.map(t=>e.amount*t.amount).reduce((e,t)=>e+t):e.amount).reduce((e,t)=>e+t):0,getTotals:e=>e.totals,getdiscountCode:e=>e.discountCode,getCartAmounts:e=>e.cartAmounts,getCartProductByCode:e=>t=>e.cart.find(e=>e.code===t)}}),kn={class:`prices`},An=[`onClick`],jn={key:0,class:`save`},Mn={class:`bold`},Nn={class:`price-details`},Pn={key:0,class:`price-amount`},Fn={class:`price-price`},In={class:`buy`},Ln={key:0,class:`bundle-description`},Rn={class:`h5`},zn=U({__name:`BlocksPrice`,props:{products:{type:Array,default:()=>[]}},setup(e){let{addToCart:t}=On(),n=e;o({useScope:`global`,messages:{"fi-FI":{bundleContains:`Pesupaketti sisältää`,pcs:`kpl`,save:`Säästä`,buy:`Osta`}}});function r(){return n.products.filter(e=>e.isBundle===!0).length===n.products.length}function i(e){return e.isBundle&&e.bundleMembers?.length===1?e.bundleMembers[0]?.amount:1}return(n,o)=>(Y(),I(`div`,kn,[(Y(!0),I(m,null,J(e.products,(e,o)=>(Y(),I(m,{key:`product-${o}`},[j(`button`,{class:M([`price`,{bundle:r()}]),onClick:n=>Q(t)(e)},[e.attributes?.discount?(Y(),I(`div`,jn,[j(`span`,Mn,P(n.$t(`save`)),1),F(` `+P(n.$cms.formatPrice(e.attributes?.discount)),1)])):a(``,!0),j(`div`,Nn,[r()?a(``,!0):(Y(),I(`div`,Pn,P(i(e))+` `+P(n.$t(`pcs`)),1)),j(`div`,Fn,P(n.$cms.formatPrice(e.attributes?.price)),1)]),j(`div`,In,P(n.$t(`buy`)),1)],10,An),r()?(Y(),I(`div`,Ln,[j(`h3`,Rn,P(n.$t(`bundleContains`))+`:`,1),(Y(!0),I(m,null,J(e.bundleMembers,(e,t)=>(Y(),I(`span`,{key:`bundle-${o}-${t}`},P(e.amount??1)+` `+P(n.$t(`pcs`))+` `+P(e.product?.globalName),1))),128))])):a(``,!0)],64))),128))]))}},[[`__scopeId`,`data-v-dfef7ccd`]]),Bn={class:`highlight`},Vn={class:`row`},Hn={class:`h4`},Un={key:0,class:`carwash-drops`},Wn={key:0,class:`description`},Gn={class:`h5`},Kn=U({__name:`BlocksCLCardsAdeonaProduct`,props:{id:{type:String,default:``},internal:{type:String,default:``},contentType:{type:String,default:`card`},byline:{type:String,default:``},title:{type:String,default:``},text:{type:Object,default:()=>({})},products:{type:Array,default:()=>[]},highlight:{type:Boolean,default:null}},setup(e){let t=e,n=E(()=>t.products.find(e=>e.isBundle===!1&&e.attributes?.product_name)||(t.products[0]?t.products[0]:{})),r=E(()=>n.value?.attributes?.product_name?n.value.attributes.product_name:t.title),i=E(()=>t.products?.map(e=>e.image)?.[0]||null),{t:s}=o({useScope:`global`,messages:{"fi-FI":{highlight:`Sopivin pesu autollesi`,washIncludes:`Pesuohjelma sisältää`}}});return(t,o)=>{let c=En,l=K,u=zn,d=wn;return Y(),I(`div`,{class:M([`product-card`,{highlighted:e.highlight,clinic:e.highlight!==null}])},[j(`span`,Bn,[e.highlight?(Y(),I(m,{key:0}
1,[F(P(Q(s)(`highlight`)),1)],64)):a(``,!0)]),L(c,{image:Q(i)},null,8,[`image`]),j(`div`,Vn,[j(`h3`,Hn,P(Q(r)),1),Q(n).attributes?.drops?(Y(),I(`div`,Un,[(Y(!0),I(m,null,J(Q(n).attributes?.drops,e=>(Y(),$(l,{key:`drop-${e}`,code:`drop`}))),128))])):a(``,!0)]),Q(n).attributes?.short_description?(Y(),I(`p`,Wn,P(Q(n).attributes?.short_description),1)):a(``,!0),L(u,{products:e.products},null,8,[`products`]),o[0]||=j(`hr`,{"aria-hidden":`true`},null,-1),j(`h4`,Gn,P(Q(s)(`washIncludes`)),1),L(d,{rows:`7`},{default:q(()=>[j(`ul`,null,[(Y(!0),I(m,null,J(Q(n).attributes?.features,(e,t)=>(Y(),I(`li`,{key:`feature-${t}`},[L(l,{code:`check`}),j(`span`,null,P(Q(s)(`features.${e}`)),1)]))),128))])]),_:1})],2)}}},[[`__scopeId`,`data-v-0776ea3e`]]),qn={class:`inner`},Jn={class:`heading-content`},Yn={key:1,class:`heading-description`},Xn={class:`heading-actions`},Zn={key:0,class:`external-link`},Qn={key:1,class:`arrow-controls`},$n=[`aria-label`,`disabled`],er=[`aria-label`,`disabled`],tr={key:1,class:`byline`},nr={key:2,class:`h5`},rr={key:0,class:`text`},ir={key:1,class:`text`},ar={key:4,class:`buttons`},or={class:`label`},sr={__name:`BlocksCLCards`,props:{...xt,id:{type:String,default:null},countOverride:{type:[Number,String],default:``},display:{type:Object,default:()=>({component:`cards`,background:`none`})},description:{type:String,default:``},products:{type:Array,default:()=>[]},tag:{type:String,default:`section`},flickingIndex:{type:Number,default:0}},setup(e){u(t=>({v1e9d5229:e.display.background}));let{$bp:t,$dsc:n}=c(),r=e,i=Z(0),s=Je(`flick`),l=z(`layout`);o({useScope:`global`,messages:{"fi-FI":{button:{left:`Nuoli vasen`,right:`Nuoli oikea`}},fi:{button:{left:`Nuoli vasen`,right:`Nuoli oikea`}},"en-EU":{button:{left:`Arrow left`,right:`Arrow right`}},"sv-SE":{button:{left:`Pil vänster`,right:`Pil höger`}},"no-NO":{button:{left:`Pil venstre`,right:`Pil høyre`}}}});let d=E(()=>r.countOverride?r.countOverride:r.cards.length<5?r.cards.length:`many`);X(()=>r.flickingIndex,e=>{d.value===`many`&&s.value.moveTo(e)});let f=E(()=>d.value===`many`?{autoInit:!0,preventEventsBeforeInit:!0,align:`prev`,bound:!0,defaultIndex:r.flickingIndex}:null);function p(){s.value.prev().catch(e=>{if(e.name!==`FlickingError`)throw e})}function h(){s.value.next().catch(e=>{if(e.name!==`FlickingError`)throw e})}let g=E(()=>t.bps.isDesktop?i.value>=r.cards.length-4:t.bps.isSmallDesktop?i.value>=r.cards.length-2:i.value>=r.cards.length-1);function _(e){i.value=e.index}return(t,r)=>{let o=Sn,c=K,u=st,v=W,y=wn,b=gt,x=Kn;return Y(),$(G(e.tag),{id:e.id?e.id:Q(n).uuidv4(),key:`cards-${e.id?e.id:Q(n).uuidv4()}`,ref:`container`,class:M([`cards-list-cards`,{[`cards-${Q(d)}`]:!0,inline:e.tag!==`section`}])},{default:q(()=>[j(`div`,qn,[t.title||Q(d)===`many`?(Y(),I(`div`,{key:0,class:M([`heading`,{"title-only":!t.$slots[`external-link`]&&Q(d)!==`many`}])},[j(`div`,Jn,[t.title?(Y(),$(o,{key:0,"is-first":t.isFirst,class:`heading-title h3`},{default:q(()=>[F(P(t.title),1)]),_:1},8,[`is-first`])):a(``,!0),e.description?(Y(),I(`p`,Yn,P(e.description),1)):a(``,!0)]),j(`div`,Xn,[t.$slots[`external-link`]?(Y(),I(`div`,Zn,[H(t.$slots,`external-link`,{},void 0,!0)])):a(``,!0),Q(d)===`many`?(Y(),I(`div`,Qn,[j(`button`,{class:`ds-btn ds-btn--primary`,"aria-label":t.$t(`button.left`),disabled:Q(i)<1,onClick:r[0]||=e=>p()},[L(c,{code:`arrow-left`})],8,$n),j(`button`,{class:`ds-btn ds-btn--primary`,"aria-label":t.$t(`button.right`),disabled:Q(g),onClick:r[1]||=e=>h()},[L(c,{code:`arrow-right`})],8,er)])):a(``,!0)])],2)):a(``,!0),(Y(),$(G(Q(d)===`many`?`flicking`:`div`),{ref_key:`flick`,ref:s,options:Q(f),class:`cards`,onChanged:_},{default:q(()=>[(Y(!0),I(m,null,J(t.cards,(n,r)=>(Y(),I(`div`,{key:`card-${n.id}-${r}`,class:M([`card`,{[t.$cms.computedBackgroundClass(e.display,Q(l)?.name)]:!0}])},[H(t.$slots,`card-content-${r}`,{},()=>[Array.isArray(n.products)?(Y(),$(x,R({key:1,ref_for:!0},n),null,16)):(Y(),I(m,{key:0},[n.image?(Y(),$(u,{key:0,asset:n.image,fill:`cover`},null,8,[`asset`])):a(``,!0),n.byline?(Y(),I(`div`,tr,P(n.byline),1)):a(``,!0),n.title?(Y(),I(`h3`,nr,P(n.title),1)):a(``,!0),L(y,{rows:`5`},{default:q(()=>[n.text&&typeof n.text==`object`?(Y(),I(`div`,rr,[L(v,{ref_for:!0,ref:`text-${n.id}-${r}`,content:n.text,class:M({"full-width":!n.links})},null,8,[`content`,`class`])])):(Y(),I(`div`,ir,P(n.text),1))]),_:2},1024),t.$slots[`after-content`]?H(t.$slots,`after-content`,R({ref_for:!0},{slotClass:`after-content`,card:n}),void 0,!0,3):a(``,!0),n.links?(Y(),I(`div`,ar,[(Y(!0),I(m,null,J(n.links.filter(e=>e.title),(e,n)=>(Y(),$(b,R({key:`link-${r}-${n}`,class:[`ds-btn`,{"ds-btn--primary":n===0,"ds-btn--secondary":n>0}]},{ref_for:!0},t.$cms.parseLink(e)),{default:q(()=>
1[j(`span`,or,P(e.title),1),e.icon||e.openInNewTab?(Y(),$(c,{key:0,code:`default-${e.iconStyle||`line`}/${e.icon||`external-link`}`,class:`some-icon`},null,8,[`code`])):a(``,!0)]),_:2},1040,[`class`]))),128))])):a(``,!0)],64))],!0)],2))),128))]),_:3},40,[`options`]))])]),_:3},8,[`id`,`class`])}}},cr=U(sr,[[`__scopeId`,`data-v-ab60ee31`]]),lr={class:`content`},ur={key:0,class:`h5`},dr={key:2,class:`text`},fr={key:0,class:`buttons`},pr=U({__name:`BlocksCLGridFoodMenu`,props:{index:{type:Number,default:0},id:{type:String,default:``},contentType:{type:String,default:`card`},internal:{type:String,default:``},title:{type:String,default:``},byline:{type:String,default:``},style:{type:Object,default:()=>({})},text:{type:Object,default:()=>({})},image:{type:Array,default:()=>[]},alt:{type:String,default:``},productSelection:{type:Array,default:()=>[]},links:{type:Array,default:()=>[]},price:{type:Object,default:()=>({})},tags:{type:[Array,null],default:null},specialties:{type:Object,default:()=>({})}},setup(e){return(t,n)=>{let r=W,i=K,o=st;return Y(),I(`div`,{key:`card-${e.id}-${e.index}`,class:M([`card`,{"has-image":e.image}]),style:_t(e.style)},[j(`div`,lr,[j(`div`,null,[e.title?(Y(),I(`h3`,ur,P(e.title),1)):a(``,!0),e.text&&typeof e.text==`object`?(Y(),$(r,{key:1,class:`text`,content:e.text},null,8,[`content`])):e.text?(Y(),I(`div`,dr,P(e.text),1)):a(``,!0)]),e.links&&e.links.length>0?(Y(),I(`div`,fr,[(Y(!0),I(m,null,J(e.links?.filter((e,t)=>t===0).filter(e=>e.title),(e,t)=>(Y(),I(`div`,{key:`link-${t}`,class:`ds-btn ds-btn--primary ds-btn--rounded`},[L(i,{code:`arrow-right`,size:`l`})]))),128))])):a(``,!0)]),e.image?(Y(),$(o,{key:0,asset:e.image,fill:`cover`,class:M({icon:e.image[0]?.ext===`svg`})},null,8,[`asset`,`class`])):a(``,!0)],6)}}},[[`__scopeId`,`data-v-04487e43`]]),mr=[`tabindex`],hr={class:`content`},gr={key:0,class:`h5`},_r={key:2,class:`text`},vr={key:3,class:`buttons`},yr=U({__name:`BlocksCLGridQuickLink`,props:{index:{type:Number,default:0},id:{type:String,default:``},contentType:{type:String,default:`card`},internal:{type:String,default:``},title:{type:String,default:``},byline:{type:String,default:``},style:{type:Object,default:()=>({})},text:{type:Object,default:()=>({})},image:{type:Array,default:()=>[]},alt:{type:String,default:``},productSelection:{type:Array,default:()=>[]},links:{type:Array,default:()=>[]}},setup(e){let{$cms:t}=c(),n=Pe(),r=e=>{let r=t.parseLink(e);return r?.to?(n.push(r.to),!0):r?.href?(navigateTo(r.href,{external:!0}),!0):!1};return(n,i)=>{let o=W,s=K,c=st;return Y(),I(`button`,{key:`card-${e.id}-${e.index}`,class:M([`card`,{"has-link":e.links?.[0],"has-image":e.image,"has-text-content":Q(t).hasTextContent({text:e.text,title:e.title})}]),draggable:`false`,tabindex:e.links?.[0]?0:-1,style:_t(e.style),onClick:i[0]||=t=>r(e.links?.[0])},[j(`div`,hr,[e.title?(Y(),I(`h3`,gr,P(e.title),1)):a(``,!0),e.text&&typeof e.text==`object`?(Y(),$(o,{key:1,class:`text`,content:e.text},null,8,[`content`])):e.text?(Y(),I(`div`,_r,P(e.text),1)):a(``,!0),e.links&&e.links.length>0?(Y(),I(`div`,vr,[(Y(!0),I(m,null,J(e.links?.filter((e,t)=>t===0).filter(e=>e.title),(e,t)=>(Y(),I(`div`,{key:`link-${t}`,class:`ds-btn ds-btn--primary ds-btn--rounded`},[L(s,{code:`arrow-right`,size:`l`})]))),128))])):a(``,!0)]),e.image?(Y(),$(c,{key:0,asset:e.image,fill:`cover`,class:M({icon:e.image[0]?.ext===`svg`})},null,8,[`asset`,`class`])):a(``,!0)],14,mr)}}},[[`__scopeId`,`data-v-74d42204`]]),br={class:`grid-container`},xr=U({__name:`BlocksCLGrid`,props:{cards:{type:Array,default:()=>[]},display:{type:Object,default:()=>({})},cardType:{type:String,default:`QuickLink`},overflow:{type:String,default:`clamp`}},setup(e){u(e=>({aa11d1f6:Q(g)}));let{$bp:n,$cms:r}=c(),i=z(`layout`),a=Je(`container`),o=e,s=E(()=>o.display.count||{}),l=E(()=>{let{type:e}=o.display.count?.desktop||{type:`1col`},{type:t}=o.display.count?.mobile||{type:`1col`};return n.bps.atMostSmallDesktop?t:e}),d=E(()=>{switch(o.cardType){case`Card`:return be(`BlocksCLGridCard`);case`FoodMenu`:return pr;default:return yr}});t(()=>{_()});let f=E(()=>l.value===`slider`?{options:{align:`prev`,defaultIndex:5,autoInit:!0,preventEventsBeforeInit:!0,bound:!0}}:null),p=E(()=>({type:l.value===`slider`?`flicking`:`div`,attrs:{class:l.value===`slider`?`slider`:null,style:l.value===`grid`?{"grid-template-columns":`repeat(${n.bps.atMostSmallDesktop?s.value.mobile?.cols:s.value.desktop?.cols}, 1fr)`,"grid-template-rows":`repeat(${n.bps.atMostSmallDesktop?s.value.mobile?.rows:s.value.desktop?.rows}, auto)`}:null,...f.value}})),h=E(()=>o.cards.slice(0,s.value.desktop?.blocks?.length||o.cards?.length).map((e,t)=>({...e,style:l.value===`grid`?{"grid-column-end":`span ${n.bps.atMostSmallDesktop?s.value.mobile?.blocks?.[t]?.cols:s.value.desktop?.blocks?.[t]?.cols}`,"grid-row-end":`span ${n.bps.atMostSmallDesktop?s.value.mobile?.blocks?.[t]?.rows:s.value.desktop?.blocks?.[t]?.rows}`}:{}}))),g=E(()=>{let e=o.display?.count,{cols:t}=e.desktop||1,{cols:r}=e.mobile||1;return`calc(100% / ${n.bps.atMostSmallDesktop?r:t})`});X(()=>JSON.stringify(n.bps),()=>{_()});function _(){l.value===`slider`&&typeof(a.value?.resize===`function`)&&a.value.resize()}return(t,n)=>(Y(),I(`div`,br,[(Y(),$(G(Q(p).type),R({ref_key:`container`,ref:a,class:`grid`},Q(p).attrs),{default:q(()=>[(Y(!0),I(m,null,J(Q(h),(t,n)=>(Y(),$(G(Q(d)),R({key:`card-${t.id}-${n}`},{ref_for:!0},{index:n,...t}
1,{class:{[Q(r).computedBackgroundClass(e.display,Q(i)?.name)]:!0}}),null,16,[`class`]))),128))]),_:1},16))]))}},[[`__scopeId`,`data-v-ceb35611`]]),Sr={class:`inner`},Cr={key:0,class:`heading`},wr={key:1,class:`arrow-controls`},Tr=[`disabled`],Er=[`disabled`],Dr=[`tabindex`,`onClick`],Or={class:`content`},kr={key:0,class:`h5`},Ar={key:2,class:`text`},jr={key:0,class:`buttons`},Mr={__name:`BlocksCLQuickLinks`,props:{...xt,internal:{type:[String,null],default:`Card List`},display:{type:Object,default:()=>({component:`list`,alternating:`false`})},countOverride:{type:[String,Number],default:``},tag:{type:String,default:`section`}},setup(e){u(t=>({v2c99a456:e.display.background}));let{$bp:t,$cms:n}=c(),r=z(`layout`),i=Pe(),o=e,l=Z(null),d=Z(0),f=E(()=>o.countOverride?o.countOverride:typeof o.display.count==`object`?`grid`:o.display.count&&o.display.count!==`many`?o.display.count:o.cards.length<3?2:o.cards.length<5?o.cards.length:`many`),p=E(()=>f.value===`many`),h=E(()=>p.value?{align:`prev`,circular:!1,bound:!0}:null),g=E(()=>{if(t.bps.isDesktop){if(o.cards.length>4&&d.value<o.cards.length-4)return!0}else if(o.cards.length>1&&d.value<o.cards.length-1)return!0;return!1}),_=()=>{l.value.prev()},v=()=>{l.value.next()},y=e=>{d.value=e.index},b=e=>{let t=n.parseLink(e);return t?.to?(i.push(t.to),!0):t?.href?(pt(t.href,{external:!0}),!0):!1};return(t,i)=>{let o=Sn,c=K,u=xr,x=W,S=st;return Y(),$(G(e.tag),{key:`quick-links-${t.$attrs.id}`,class:M([`cards-list quick-links`,{[`cards-${Q(f)}`]:!0,[e.display.component]:!0,inline:e.tag!==`section`}])},{default:q(()=>[j(`div`,Sr,[t.title||Q(p)?(Y(),I(`div`,Cr,[t.title?(Y(),$(o,{key:0,"is-first":t.isFirst,class:`h4`},{default:q(()=>[F(P(t.title),1)]),_:1},8,[`is-first`])):a(``,!0),Q(p)?(Y(),I(`div`,wr,[j(`button`,{class:`ds-btn ds-btn--primary left`,disabled:Q(d)<1,onClick:i[0]||=e=>_()},[L(c,{code:`arrow-left`})],8,Tr),j(`button`,{class:`ds-btn ds-btn--primary right`,disabled:!Q(g),onClick:i[1]||=e=>v()},[L(c,{code:`arrow-right`})],8,Er)])):a(``,!0)])):a(``,!0),Q(f)===`grid`?(Y(),$(u,s(R({key:1},{display:e.display,overflow:`clamp`,cards:t.cards})),null,16)):(Y(),$(G(Q(p)?`Flicking`:`div`),{key:2,ref_key:`slider`,ref:l,options:Q(h),class:`card-container`,onChanged:y},{default:q(()=>[(Y(!0),I(m,null,J(t.cards,(t,i)=>(Y(),I(`button`,{key:i,class:M([`card`,{"has-link":t.links?.[0],"has-image":t.image,"has-text-content":Q(n).hasTextContent(t),[Q(n).computedBackgroundClass(e.display,Q(r)?.name)]:!0}]),draggable:`false`,tabindex:t.links?.[0]?0:-1,onClick:e=>b(t.links?.[0])},[j(`div`,Or,[j(`div`,null,[t.title?(Y(),I(`h3`,kr,P(t.title),1)):a(``,!0),t.text&&typeof t.text==`object`?(Y(),$(x,{key:1,class:`text`,content:t.text},null,8,[`content`])):t.text?(Y(),I(`div`,Ar,P(t.text),1)):a(``,!0)]),t.links&&t.links.length>0?(Y(),I(`div`,jr,[(Y(!0),I(m,null,J(t.links?.filter((e,t)=>t===0).filter(e=>e.title),(e,t)=>(Y(),I(`div`,{key:`link-${t}`,class:`ds-btn ds-btn--primary ds-btn--rounded`},[L(c,{code:`arrow-right`,size:`l`})]))),128))])):a(``,!0)]),t.image?(Y(),$(S,{key:0,asset:t.image,fill:`cover`,class:M({icon:t.image[0].ext===`svg`})},null,8,[`asset`,`class`])):a(``,!0)],10,Dr))),128))]),_:1},40,[`options`]))])]),_:1},8,[`class`])}}},Nr=U(Mr,[[`__scopeId`,`data-v-becebe53`]]),Pr=[`id`],Fr={ref:`article-header`,class:`inner`},Ir={key:0,class:`search-bar`},Lr={key:0,class:`tags`},Rr=[`onClick`],zr={key:1,class:`search`},Br={__name:`BlocksArticleList`,props:{...xt,contentType:{type:[String,null],default:`articleList`},display:{type:Object,default:()=>({tags:[]})}},setup(e){let{$paths:t}=c(),n=Z([]),r=Z(``),i=Je(`article-header`),s=Z(1),l=e;l.display.tags&&(n.value=[...l.display.tags]);let u=Z([]),f=E(()=>({key:`articles-${l.id}`,method:`post`,body:{textQuery:r.value,page:s.value,limit:9,filter:{category:`Article`,tags:n.value.length>0?n.value.map(e=>e.value):l.display.tags},sort:{sortBy:`created`,sortDirection:`DESC`}}}));b();let p=ee(()=>{b(!0)},300);X(r,p),X([()=>n.value.length,s],()=>{b(!0)});let h=o({useScope:`global`,messages:{"fi-FI":{searchPlaceholder:`Haku`,viewAll:`Näytä kaikki`,fetchError:`Virhe, artikkeleiden lataaminen epäonnistui`,stories:{"Liquid biofuels":`Nestemäiset polttoaineet`,Refinery:`Jalostus`,Partnerships:`Yhteistyö`,People:`Ihmiset`,Electrification:`Sähköistys`,Biogas:`Biokaasu`,"Retail network":`Jälleenmyynti`,"Energy transition":`Energiasiirtymä`}},"en-EU":{searchPlaceholder:`Search`,viewAll:`View all`,fetchError:`There was an error, could not load articles`,stories:{"Liquid biofuels":`Liquid biofuels`,Refinery:`Refinery`,Partnerships:`Partnerships`,People:`People`,Electrification:`Electrification`,Biogas:`Biogas`,"Retail network":`Retail network`,"Energy transition":`Energy transition`}},"sv-SE":{searchPlaceholder:`Sök`,viewAll:`Se alla`,fetchError:`Ett fel uppstod, kunde inte ladda artiklar`,stories:{"Liquid biofuels":`Flytande biobränslen`,Refinery:`Raffinaderi`,Partnerships:`Partnerskap`,People:`Medarbetare`,Electrification:`Elektrifiering`,Biogas:`Biogas`,"Retail network":`Marknadsplats`,"Energy transition":`Energiomställning`}},"no-NO":{searchPlaceholder:`Søk`,viewAll:`Se alle`,fetchError:`Det oppsto en feil, kunne ikke laste inn artikler`,stories:{"Liquid biofuels":`Flytende biodrivstoff`,Refinery:`Raffineri`,Partnerships:`Samarbeidspartner`,People:`Mennesker`,Electrification:`Elektrifisering`,Biogas:`Biogass`,"Retail network":`Detaljhandel nettverk`,"Energy transition":`Energiomstilling`}}}}),g=E(()=>({modelValue:s.value,pageCount:Math.ceil(u.value?.total/f.value.body?.limit),scrollTop:i?.value?.offsetTop-window?.document?.querySelector(`header`)?.getBoundingClientRect()?.height||0})),_=e=>{n.value.length===l.display.tags.length?n.value=[e]:n.value.includes(e)?(n.value.splice(n.value.indexOf(e),1),n.value.length===0&&(n.value=[...l.display.tags])):n.value.push(e)},v=E(()=>
1l.display.mode?l.display.mode:`cards`),y=E(()=>({id:l.id,contentType:l.contentType,createdAt:l.createdAt,updatedAt:l.updatedAt,internal:l.internal,title:void 0,display:{...l.display,...v.value===`cards`?{background:`secondary`}:{background:`fullbg`}},countOverride:u.value?.results?.length>3?3:``,cards:u.value?.results?.map(e=>({...e.content,text:e.content.description,byline:`${V.fromISO(e.content.created).toFormat(`d.M.yyyy`)}${e.content.byline?` | ${e.content.byline}`:``}`,links:[{title:h.t(`readMore`),url:{contentType:`link`,type:`internal`,url:e.localizedPagePaths[h.locale.value]}}]}))}));async function b(e=!1){try{let n=await d(t.getEndpoint(`search`),{...f.value,client:e});if(n?.error?.value)throw n?.error.value;u.value=e?n:n?.data?.value||{}}catch(e){console.error(e),Fe().addNotification({type:`error`,message:h.t(`fetchError`)})}}return(t,i)=>{let o=Sn,c=ye,l=K,u=cr,d=Nr,f=at;return Y(),I(`section`,{id:t.id,class:`article-list`},[j(`div`,Fr,[L(o,{"is-first":t.isFirst,class:`h4`},{default:q(()=>[F(P(t.title),1)]),_:1},8,[`is-first`]),e.display.toolbar!==`false`||e.display.tagbar!==`false`?(Y(),I(`div`,Ir,[e.display.tagbar!==`false`&&e.display.tags?.length>1?(Y(),I(`div`,Lr,[j(`button`,{class:M([`tag ds-btn`,{selected:Q(n).length===e.display.tags.length}]),onClick:i[0]||=t=>n.value=[...e.display.tags]},P(Q(h).t(`viewAll`)),3),(Y(!0),I(m,null,J(e.display.tags,(t,r)=>(Y(),I(`button`,{key:`tag-${t}-${r}`,class:M([`tag ds-btn`,{selected:Q(n).length<e.display.tags.length&&Q(n).includes(t)}]),onClick:e=>_(t)},P(Q(h).t(`stories.${t.name}`)),11,Rr))),128))])):a(``,!0),e.display.toolbar===`false`?a(``,!0):(Y(),I(`div`,zr,[L(c,{modelValue:Q(r),"onUpdate:modelValue":i[1]||=e=>Ie(r)?r.value=e:null,class:`search-input`,label:Q(h).t(`searchPlaceholder`)},null,8,[`modelValue`,`label`]),L(le,{name:`fade`},{default:q(()=>[Q(r).length>0?(Y(),I(`button`,{key:0,class:`reset`,onClick:i[2]||=e=>r.value=``},[L(l,{code:`close`,"icon-style":`line`,size:`l`})])):a(``,!0)]),_:1})]))])):a(``,!0),Q(v)===`cards`?(Y(),$(u,R({key:1,tag:`div`},Q(y)),null,16)):Q(v)===`quicklinks`?(Y(),$(d,R({key:2,tag:`div`},Q(y)),null,16)):a(``,!0)],512),Q(g).pageCount>1?(Y(),$(f,R({key:0},Q(g),{"onUpdate:modelValue":i[3]||=e=>s.value=e}),null,16)):a(``,!0)],8,Pr)}}},Vr=U(Br,[[`__scopeId`,`data-v-db5e1b3a`]]),Hr=He(`carwashClinicStore`,{state:()=>({products:[],questions:[{question:`Kuinka likainen autosi on?`,answers:[{selected:!1,answer:`Melko puhdas (kevyttä pölyä, pisaravalumia)`,points:1},{selected:!1,answer:`Melko likainen (siitepölyä, tuoretta rapaa)`,points:2},{selected:!1,answer:`Likainen (tiesuolaa, hyönteisiä, lintujen jätöksiä)`,points:4},{selected:!1,answer:`Todella likainen (piki, pinttynyt rapa, jarrupölyä)`,points:8}]},{question:`Kuinka kauan edellisestä autopesustasi on?`,answers:[{selected:!1,answer:`Alle viikko`,points:0},{selected:!1,answer:`Alle kuukausi`,points:2},{selected:!1,answer:`Alle 2 kk`,points:3},{selected:!1,answer:`Yli 2 kk`,points:8}]},{question:`Säilytätkö autoasi ajoittain lämpimässä tilassa?`,answers:[{selected:!1,answer:`Ei`,points:0},{selected:!1,answer:`Kyllä`,points:3}]}],points:[],step:0,recommendedProductId:null}),actions:{reset(){this.points=[],this.step=0,this.recommendedProductId=null,this.questions.forEach(e=>e.answers.map(e=>e.selected=!1))},nextStep(){this.step+=1,this.step>=this.questions.length&&(this.step=this.questions.length-1)},prevStep(){this.step!==0&&--this.step},setStep(e){this.step=e},toggleSelect(e,t,n){this.questions[e].answers.forEach(e=>{e.selected=!1}),this.questions[e].answers[t].selected=!0,this.points[e]=n,this.setRecommended(),this.nextStep()},getStepStatus(e){return{answered:this.questions[e].answers.map(e=>e.selected).includes(!0),active:this.step===e}},isCompleted(){return!this.questions.map((e,t)=>this.getStepStatus(t).answered===!0).includes(!1)},setRecommended(){let e=this.points.reduce((e,t)=>e+t,0);this.products.forEach(t=>{let[n]=t.products.filter(e=>!e.isBundle);n?n.attributes.CarwashSurveyPoints>=e&&(this.recommendedProductId=n.code):this.recommendedProductId=`tornado-3`})},setProducts(e){this.products=e}},getters:{getSum:e=>e.points.reduce((e,t)=>
1e+t,0)}}),Ur={class:`clinic`},Wr={class:`steps-header`},Gr=[`aria-label`,`disabled`,`onClick`],Kr={key:0,class:`step-indicator done`},qr={key:0,class:`question`},Jr={class:`h5`},Yr={class:`answers`},Xr={class:`steps-footer`},Zr=U({__name:`BlocksCarwashClinicSurvey`,emits:[`completed`],setup(e,{emit:t}){u(e=>({v3ec057ce:r.value,v56803148:i.value}));let n=Hr(B()),r=Z(`repeat(${n.questions.length}, 1fr)`),i=E(()=>`repeat(${n.questions[n.step].answers.length}, 1fr)`),s=n.questions.length,c=t,l=(e,t,r)=>{n.toggleSelect(e,t,r),n.isCompleted()&&c(`completed`)};return o({useScope:`global`,messages:{"fi-FI":{clinic:{next:`Seuraava`,prev:`Edellinen`,reset:`Tee uudelleen`,step:`Olet kyselyn "Kuinka likainen autosi on?" kohdassa {index} / {steps}`}},"en-EU":{clinic:{next:`Next`,prev:`Previous`,reset:`Reset`,step:`You are on the step {index} / {steps} of the Carwash survey`}}}}),(e,t)=>{let r=K,i=gt;return Y(),I(`div`,Ur,[j(`div`,Wr,[(Y(!0),I(m,null,J(Q(n).questions,(t,i)=>(Y(),I(`button`,{key:i,class:`step`,"aria-label":e.$t(`clinic.step`,{index:i+1,steps:Q(n).questions.length}),disabled:!Q(n).getStepStatus(i).answered,onClick:e=>Q(n).setStep(i)},[Q(n).getStepStatus(i).answered?(Y(),I(`div`,Kr,[L(r,{code:`default-line/check`,size:`l`,"aria-hidden":`true`})])):Q(n).getStepStatus(i)?(Y(),I(`div`,{key:1,class:M([`step-indicator`,{active:Q(n).getStepStatus(i).active}])},P(i+1),3)):a(``,!0),j(`div`,{class:M([`step-underline`,{active:i===Q(n).step}])},null,2)],8,Gr))),128))]),(Y(!0),I(m,null,J(Q(n).questions,(e,t)=>(Y(),I(`div`,{key:t,class:`steps-main`}
1,[Q(n).step===t?(Y(),I(`div`,qr,[j(`h2`,Jr,P(t+1)+`. `+P(e.question),1),j(`div`,Yr,[(Y(!0),I(m,null,J(e.answers,(e,n)=>(Y(),$(i,{key:n,class:M([`ds-btn ds-btn--secondary`,{"ds-btn--primary":e.selected}]),onClick:r=>l(t,n,e.points)},{default:q(()=>[F(P(e.answer),1)]),_:2},1032,[`class`,`onClick`]))),128))])])):a(``,!0)]))),128)),j(`div`,Xr,[Q(n).step>0?(Y(),$(i,{key:0,class:`ds-btn ds-btn-large ds-btn--secondary prev`,onClick:t[0]||=e=>Q(n).prevStep()},{default:q(()=>[L(r,{code:`chevron-left`,size:`s`}),F(` `+P(e.$t(`clinic.prev`)),1)]),_:1})):a(``,!0),Q(n).getStepStatus(Q(n).step).answered&&Q(n).step<Q(s)-1?(Y(),$(i,{key:1,class:`ds-btn ds-btn-large ds-btn--primary next`,onClick:t[1]||=e=>Q(n).nextStep()},{default:q(()=>[F(P(e.$t(`clinic.next`))+` `,1),L(r,{code:`chevron-right`,size:`s`})]),_:1})):Q(n).isCompleted()?(Y(),$(i,{key:2,class:`ds-btn ds-btn-large ds-btn--primary reset`,onClick:t[2]||=e=>Q(n).reset()},{default:q(()=>[F(P(e.$t(`clinic.reset`)),1)]),_:1})):a(``,!0)])])}}},[[`__scopeId`,`data-v-965e4b2d`]]),Qr={class:`inner`},$r={class:`text-content`},ei={key:0,class:`byline h6`},ti={key:1,class:`byline h6`},ni={key:5,class:`buttons`},ri=Object.assign({name:`CLHero`},{props:{...xt,contentType:{type:[String,null],default:`heroBanner`},display:{type:Object,default:()=>({component:`hero`,type:`horizontal`,alignment:`left`,background:`none`})},internal:{type:[String,null],default:`Hero banner`}},emits:[`addProduct`],setup(e,{emit:t}){u(e=>({v412acb9c:Q(f)}));let{$bp:n,$cms:r}=c(),i=e,o=z(`layout`),s=t,l=E(()=>i.display.type===`overlay`?i.cards.slice(0,2):i.cards.slice(0,1)),d=E(()=>{let e=[];return i?.display?.alignment?.match(/top/gi)?e.push(`top`):i?.display?.alignment?.match(/middle/gi)?e.push(`middle`):e.push(`bottom`),i?.display?.alignment?.match(/center/gi)?e.push(`center`):i?.display?.alignment?.match(/right/gi)?e.push(`right`):e.push(`left`),e.join(` `)}),f=E(()=>i.display.background&&i.display.background!==`none`?i.display.background:null);function p(e){s(`addProduct`,e),r.addProduct(e)}function h(e){return[`ds-btn`,`ds-btn--${n.bps.isSmallDesktop?`large`:`small`}`,`ds-btn--${e===0?`primary`:`secondary`}`]}return(t,n)=>{let i=st,s=Sn,c=W,u=zn,f=gt;return Q(l)?(Y(),I(`section`,{key:0,class:M([`hero-banner`,{[e.display.type]:!0,"no-image":e.display.type!==`overlay`&&Q(l).length===1&&!Q(l)[0].image,many:Q(l).length>1,[Q(d)]:!0}])},[j(`div`,Qr,[(Y(!0),I(m,null,J(Q(l),(n,d)=>(Y(),I(`div`,{key:`item-${d}`,class:M([`card`,{[Q(r).computedBackgroundClass(e.display,Q(o)?.name)]:!0}])},[n.image?(Y(),$(i,{key:0,fill:`cover`,asset:n.image,class:M({"no-darken":!Q(r).hasTextContent(n)})},null,8,[`asset`,`class`])):a(``,!0),j(`div`,$r,[n.byline?(Y(),I(`p`,ei,P(n.byline),1)):n.products?(Y(),I(`p`,ti,P(Q(r).productArticle(n.products).attributes.short_description),1)):a(``,!0),n.title||n.products?(Y(),$(s,{key:2,"is-first":t.isFirst,"is-primary":d===0,class:M({h1:Q(l).length===1,h2:e.display.type===`overlay`&&Q(l).length>1})},{default:q(()=>[n.title?(Y(),I(m,{key:0},[F(P(n.title),1)],64)):n.products?(Y(),I(m,{key:1},[F(P(Q(r).productArticle(n.products)?.attributes?.product_name??``),1)],64)):a(``,!0)]),_:2},1032,[`is-first`,`is-primary`,`class`])):a(``,!0),n.text?(Y(),$(c,{key:3,content:n.text},null,8,[`content`])):a(``,!0),n.products?(Y(),$(u,{key:4,products:n.products,onAddProduct:p},null,8,[`products`])):a(``,!0),n.links&&n.links.length>0||t.$slots.buttons?(Y(),I(`div`,ni,[H(t.$slots,`buttons`,{},()=>[(Y(!0),I(m,null,J(n.links.filter(e=>e.title),(e,t)=>(Y(),$(f,R({key:`link-${t}`},{ref_for:!0},Q(r).parseLink(e),{class:h(t)}),{default:q(()=>[j(`span`,null,P(e.title),1)]),_:2},1040,[`class`]))),128))],!0)])):a(``,!0)])],2))),128))])],2)):a(``,!0)}}}),ii=Object.assign(U(ri,[[`__scopeId`,`data-v-1d136a69`]]),{__name:`BlocksCLHero`}),ai={class:`accordion-item`},oi={class:`icon accordion-toggle-icon`},si={class:`icon-list`},ci={class:`content cards`},li={class:`card-details`},ui={class:`cl-card-title`},di=U({__name:`BlocksCLAccordionCards`,props:{cards:{type:Array,default:()=>[]},title:{type:[String,null],default:``},isOpen:{type:Boolean,default:!1}},setup(e){let t=Z(e.isOpen??!1),n=()=>t.value=!t.value,r=e=>e?.links?.length>0&&e.links[0],i=e=>
1r(e)?gt:`div`,o=e=>{let t=r(e);return t?.url?.value??t?.url?.url},s=e=>r(e)?.openInNewTab?`_blank`:`_self`;return(c,l)=>{let u=st,d=W,f=ut;return Y(),I(`div`,ai,[j(`button`,{class:`accordion-toggle`,onClick:n},[j(`h2`,{class:M([`accordion-heading h5`,{"is-open":t.value}])},P(e.title),3),j(`div`,oi,[j(`div`,si,[L(K,{class:M([`open-icons`,{active:t.value}]),code:`minus`,size:`xxxxl`},null,8,[`class`]),L(K,{class:M([`close-icons`,{active:!t.value}]),code:`plus`,size:`xxxxl`},null,8,[`class`])])])]),L(f,{open:t.value},{default:q(()=>[j(`div`,ci,[(Y(!0),I(m,null,J(e.cards,e=>(Y(),$(G(i(e)),{key:e.id,to:o(e),target:s(e),class:`cl-card`},{default:q(()=>[e.image?(Y(),$(u,{key:0,fill:`cover`,asset:e.image,class:`cl-card-image`},null,8,[`asset`])):a(``,!0),j(`div`,li,[j(`h2`,ui,P(e.title),1),L(d,{class:`cl-card-description`,content:e.text},null,8,[`content`]),r(e)?(Y(),$(K,{key:0,class:`card-icon`,code:`st1website-fill/arrow-right`})):a(``,!0)])]),_:2},1032,[`to`,`target`]))),128))])]),_:1},8,[`open`])])}}},[[`__scopeId`,`data-v-86dc8bac`]]),fi=[`onClick`],pi={class:`h5`},mi={class:`fade-list`},hi={class:`content`},gi={class:`text`},_i={key:0,class:`byline`},vi={key:1,class:`buttons`},yi={key:1,class:`products`},bi={class:`cl-product-name`},xi={class:`cl-product-description`},Si={key:2,class:`links`},Ci=U({__name:`BlocksCLAccordionDefault`,props:{cards:{type:Array,default:()=>[]},firstOpen:{type:Boolean,default:!1}},setup(e){let t=Z(e.firstOpen?0:-1),n=Z([]),r=e=>(e.links??[]).filter(e=>e.title&&e.url),i=e=>r(e).length,o=e=>e?.products?.length,s=e=>!o(e),c=e=>{e===t.value?t.value=-1:t.value=e,n.value.includes(e)||n.value.push(e)};return(l,u)=>{let d=K,f=W,p=gt,h=st,g=En,_=ut;return Y(!0),I(m,null,J(e.cards,(e,u)=>(Y(),I(`div`,{key:`accordion-item-${u}`,class:`item`},[j(`button`,{class:M([`heading`,{open:u===t.value}]),onClick:e=>c(u)},[j(`h2`,pi,P(e.title),1),j(`div`,mi,[(Y(),$(d,{key:e.id,class:M([`open-icons`,{active:u===t.value}
1]),code:`minus`,size:`xxxxl`},null,8,[`class`])),(Y(),$(d,{key:`${e.id}-control-closed`,class:M([`close-icons`,{active:u!==t.value}]),code:`plus`,size:`xxxxl`},null,8,[`class`]))])],10,fi),L(_,{open:u===t.value},{default:q(()=>[j(`div`,hi,[j(`div`,gi,[e.byline?(Y(),I(`h3`,_i,P(e.byline),1)):a(``,!0),L(f,{content:e.text},null,8,[`content`]),i(e)&&s(e)?(Y(),I(`div`,vi,[(Y(!0),I(m,null,J(r(e),(t,n)=>(Y(),$(p,R({key:`card-${e.id}-${n}`,class:`ds-btn ds-btn--large`},{ref_for:!0},l.$cms.parseLink(t),{class:{"ds-btn--primary":n===0,"ds-btn--secondary":n===1}}),{default:q(()=>[j(`span`,null,P(t.title),1)]),_:2},1040,[`class`]))),128))])):a(``,!0)]),e.image?(Y(),$(h,{key:`image-${u}${n.value.includes(u)?`-opened`:``}`,fill:`cover`,asset:e.image},null,8,[`asset`])):a(``,!0),o(e)?(Y(),I(`div`,yi,[(Y(!0),I(m,null,J(e.products,e=>(Y(),I(`div`,{key:e.code,class:`cl-product-card`},[e.image?(Y(),$(g,{key:0,image:e.image,alt:l.$t(`products.graphic`,{productName:e.attributes.product_name}),class:`cl-product-image`},null,8,[`image`,`alt`])):a(``,!0),j(`h2`,bi,P(e.attributes.product_name),1),j(`p`,xi,P(e.attributes.short_description),1)]))),128))])):a(``,!0),i(e)&&!s(e)?(Y(),I(`div`,Si,[(Y(!0),I(m,null,J(r(e),(t,n)=>(Y(),$(p,R({key:`card-${e.id}-${n}`,class:`ds-btn`},{ref_for:!0},l.$cms.parseLink(t),{class:{"ds-btn--primary":n===0,"ds-btn--secondary":n===1}}),{default:q(()=>[F(P(t.title),1)]),_:2},1040,[`class`]))),128))])):a(``,!0)])]),_:2},1032,[`open`])]))),128)}}},[[`__scopeId`,`data-v-abecf4b0`]]),wi={class:`inner`},Ti={__name:`BlocksCLAccordion`,props:{...xt,type:{type:[String,null],default:`accordion`},internal:{type:[String,null],default:`Accordion Title`},display:{type:Object,default:()=>({component:`accordion`})}},setup(e){let t=e,n=E(()=>t.display.displayType??`default`),r=E(()=>n.value===`cards`);return(t,i)=>{let o=Sn,s=di,c=Ci;return Y(),I(`section`,{class:M(`accordion accordion-${n.value}`)},[j(`div`,wi,[t.title&&!r.value?(Y(),$(o,{key:0,"is-first":t.isFirst,class:`h2`},{default:q(()=>[F(P(t.title),1)]),_:1},8,[`is-first`])):a(``,!0),r.value?(Y(),$(s,{key:1,title:t.title,cards:t.cards,"is-open":e.display?.firstOpen===`true`},null,8,[`title`,`cards`,`is-open`])):(Y(),$(c,{key:2,cards:t.cards,"first-open":e.display?.firstOpen===`true`},null,8,[`cards`,`first-open`]))])],2)}}},Ei=U(Ti,[[`__scopeId`,`data-v-d1d944d0`]]),Di={class:`inner`},Oi={key:0,class:`h6 byline`},ki={key:2,class:`buttons`},Ai={__name:`BlocksCLText`,props:{...xt,internal:{type:[String,null],default:`Text block`},display:{type:Object,default:()=>({variation:`short`,component:`plain-text`,alignment:`center`})},title:{type:[String,null],default:null}},setup(e){let t=e,n=E(()=>t.cards.length<4?t.cards.length:4),r=E(()=>({[`columns-${n.value}`]:!0,[`variation-${t.display.variation||`short`}`]:!0})),i=e=>({"ds-btn":!0,"ds-btn--large":!0,[`ds-btn--${e===0?`primary`:`secondary`}`]:!0});return(t,n)=>{let o=Sn,s=W,c=gt;return t.cards.length>0?(Y(),I(`section`,{key:0,class:M([`text-block`,r.value])},[j(`div`,Di,[(Y(!0),I(m,null,J(t.cards,(n,r)=>(Y(),I(`div`,{key:n.id,class:M([`card`,{[`align-${e.display[`text-alignment`]}`]:!0}])},[n.byline?(Y(),I(`p`,Oi,P(n.byline),1)):a(``,!0),n.title?(Y(),$(o,{key:1,"is-first":t.isFirst,"is-primary":r===0,class:`h2 title`},{default:q(()=>[F(P(n.title),1)]),_:2},1032,[`is-first`,`is-primary`])):a(``,!0),L(s,{class:`content`,content:n.text},null,8,[`content`]),n.links?.length>0?(Y(),I(`div`,ki,[(Y(!0),I(m,null,J(n.links.filter(e=>e.title),(e,n)=>(Y(),$(c,R({key:e.id},{ref_for:!0},t.$cms.parseLink(e),{class:i(n)}),{default:q(()=>[j(`span`,null,P(e.title),1)]),_:2},1040,[`class`]))),128))])):a(``,!0)],2))),128))])],2)):a(``,!0)}}},ji=U(Ai,[[`__scopeId`,`data-v-4eec49e2`]]),Mi=U({__name:`SLMap`,props:{mapId:{type:String,default:`gmap-instance`},gMapConfig:{type:Object,default:()=>({})}},emits:[`mapReady`],setup(e,{expose:t,emit:n}){let r=Z(null),i=vt().public?.locator?.apikey||``,a=n,o={backgroundColor:`#fff`,disableDefaultUI:!0,fullscreenControl:!1,mapTypeControl:!1,zoomControl:!1,noClear:!0,streetViewControl:!1,gestureHandling:`greedy`,maxZoom:14,minZoom:5,clickableIcons:!1,scrollwheel:!1},s=Z(null),c=Z({lat:52.52,lng:13.405}),l=Z(5),u=(e=[])=>new Promise(t=>{if(!r.value?.map||!r.value?.api){t(!1);return}
1let n=new r.value.api.LatLngBounds;e.length>0?(e.forEach(e=>{n.extend(e.position)}),r.value.map.fitBounds(n),r.value.api.event.addListenerOnce(r.value.map,`idle`,()=>t(!0))):t(!0)});return Oe(async()=>{r?.value?.ready&&(s.value=await r.value?.api?.importLibrary?.(`geometry`),await r.value?.api?.importLibrary?.(`marker`),r.value.map.addListener(`zoom_changed`,()=>{let e=r.value.map.getZoom?.();typeof e==`number`&&(l.value=e)}),a(`mapReady`,r.value.map))}),t({fitMapViewToMarkers:u,fitMapToClosestMarkers:async(e,t,n=5)=>{if(!s.value&&r?.value?.api?.importLibrary)try{s.value=await r.value.api.importLibrary(`geometry`)}catch(e){console.error(e)}if(!s.value?.spherical?.computeDistanceBetween){await u(t);return}let i=t.map(t=>({...t,distance:s.value.spherical.computeDistanceBetween(t.position,e)})).sort((e,t)=>e.distance-t.distance).slice(0,n);await u(i)},zoomLevel:l,setZoom:e=>{l.value=e,r.value?.map?.setZoom(e)},setCenter:e=>{c.value=e,r.value?.map?.setCenter(e)},googleMap:r,geometryAPI:s}),(t,n)=>{let a=be(`GoogleMap`);return Y(),$(a,R({ref_key:`googleMap`,ref:r,class:`map gmap`,testtargetid:`station-map`,"api-key":Q(i),center:c.value,zoom:l.value},{...o,...e.gMapConfig},{"map-id":e.mapId}),{default:q(()=>[H(t.$slots,`default`,{},void 0,!0)]),_:3},16,[`api-key`,`center`,`zoom`,`map-id`])}}},[[`__scopeId`,`data-v-31956862`]]),Ni=Z(!1),Pi=Z(!1),Fi=Z(null),Ii=Z(!1);function Li(){let e=()=>new Promise(e=>{Pi.value=!0,navigator.geolocation?navigator.geolocation.getCurrentPosition(t=>{Pi.value=!1;let{coords:{latitude:n,longitude:r}}=t;e({lat:n,lng:r})},t=>{Pi.value=!1,t.code===1&&(Ii.value=!0),e(null)},{enableHighAccuracy:!0,timeout:1e4,maximumAge:5e3}):(Pi.value=!1,e(null))}),t=async t=>{Fi.value=await e(),Fi.value&&!Ni.value?(Ni.value=!0,t?.()):Fi.value&&t?.()};return{userLocationEnabled:Ni,userLocationRequestPending:Pi,userLocation:Fi,userLocationPermissionDenied:Ii,requestGeolocation:e,findUserLocation:t,toggleUserLocation:async(e,n)=>{if(Ii.value){n?.({reason:`permissionDenied`});return}Pi.value||(Fi.value?(Fi.value=null,Ni.value=!1,n?.()):await t(e))}}}var Ri={class:`zoom-controls`},zi=[`aria-label`],Bi=[`aria-label`],Vi=U({__name:`SLZoom`,emits:[`increaseZoom`,`decreaseZoom`],setup(e,{emit:t}){let{t:n}=o({useScope:`global`,messages:{"en-EU":{zoomIn:`Zoom in`,zoomOut:`Zoom out`},"fi-FI":{zoomIn:`Lähennä`,zoomOut:`Loitonna`},"sv-SE":{zoomIn:`Zooma in`,zoomOut:`Zooma ut`},"no-NO":{zoomIn:`Zoom inn`,zoomOut:`Zoom ut`}}}),r=t;return(e,t)=>(Y(),I(`div`,Ri,[j(`button`,{"aria-label":Q(n)(`zoomIn`),class:`zoom-control zoom-control-increase`,onClick:t[0]||=e=>r(`increaseZoom`)},[...t[2]||=[j(`span`,null,`+`,-1)]],8,zi),j(`button`,{"aria-label":Q(n)(`zoomOut`),class:`zoom-control zoom-control-decrease`,onClick:t[1]||=e=>r(`decreaseZoom`)},[...t[3]||=[j(`span`,null,`-`,-1)]],8,Bi)]))}},[[`__scopeId`,`data-v-8541f4c2`]]),Hi={__name:`SLLocation`,emits:[`locationToggle`],setup(e,{emit:t}){let n=t,{userLocationEnabled:r,userLocationRequestPending:i}=Li(),a=E(()=>r.value?`default-line/current-location-on`:i.value?`default-line/current-location-pending`:`default-line/current-location-off`);return(e,t)=>{let r=K;return Y(),I(`button`,{type:`button`,class:`location-toggle`,onClick:t[0]||=()=>n(`locationToggle`)},[H(e.$slots,`default`,{},()=>[L(r,{code:a.value},null,8,[`code`])])])}}},Ui=[`src`,`alt`],Wi={class:`title`},Gi=U({__name:`SLStation`,props:{marker:{type:Object,required:!0},revealNameOnHover:{type:Boolean,default:!1}},emits:[`onStationClick`],setup(e,{emit:t}){let n=z(`layout`,{}),r=e,i=E(()=>({"station-pin":!0,maintenance:r.marker.isClosed,"reveal-name":r.revealNameOnHover})),a=t;function o(e=``){let t=e.toLowerCase();switch(n?.name??``){case`ploq`:switch(t){case`välkommen in`:return`/images/st1-dsc/stationlocator/welcomein.png`;default:return`/images/st1-dsc/stationlocator/ploq-logo.svg`}case`realmat`:return`/images/st1-dsc/stationlocator/real-logo.png`;default:switch(t){case`shell`:return`/images/st1-dsc/stationlocator/shell-logo.png`;default:return`/images/st1-dsc/stationlocator/st1-logo.webp`}}}return(t,n)=>{let r=be(`GoogleMapCustomMarker`);return Y(),$(r,{key:`marker-${e.marker.id}`,options:{collisionBehavior:`OPTIONAL_AND_HIDES_LOWER_PRIORITY`,position:{...e.marker.position},zIndex:2},"aria-label":e.marker.name??`station`,onClick:n[0]||=()=>a(`onStationClick`,e.marker)},{default:q(()=>[j(`div`,{class:M(i.value)},[j(`img`,{src:o(e.marker.brand),alt:`${e.marker.brand??``} Station`},null,8,Ui),j(`span`,Wi,P(e.marker.name),1)],2)]),_:1},8,[`options`,`aria-label`])}}},[[`__scopeId`,`data-v-394b1abf`]]),Ki=U({__name:`SLUserLocation`,setup(e){let{userLocation:t}=Li();return(e,n)=>{let r=be(`GoogleMapCustomMarker`);return Y(),$(r,{options:{position:Q(t),zIndex:3}},{default:q(()=>[...n[0]||=[j(`div`,{class:`user-pin`},null,-1)]]),_:1},8,[`options`])}}},[[`__scopeId`,`data-v-4ad3d369`]]),qi={ref:`dsstationlocator`,class:`embed-station-locator`},Ji=U({__name:`SLEmbed`,props:{card:{type:Object,required:!0}},setup(e){let{toggleUserLocation:t,findUserLocation:n,userLocation:r,userLocationPermissionDenied:i}=Li(),s=(e.card?.data??[]).filter(({station:e})=>{let t=Number(e?.location?.lat),n=Number(e?.location?.lon);return!Number.isFinite(t)||!Number.isFinite(n)?!1:t!==0||n!==0}).filter(({station:t})=>{let n=Array.isArray(e.card?.filters)?e.card.filters:[];if(n.length===0)return!0;let r=[...t.services??[],...t.stationTypes??[],...t.fuels??[],...t.chargings??[]].map(e=>String(e).split(`/`).pop());return n.some(({code:e})=>r.includes(e))}).map(({station:e,path:t})=>({id:e.id,brand:e.brand,name:e.name,isClosed:e.isClosed,position:{lat:Number(e.location?.lat),lng:Number(e.location?.lon)},path:t})),c=Z(null),l=()=>c.value.fitMapToClosestMarkers(r.value,s.map(({position:e})=>({position:e}))),u=async()=>{await c.value.fitMapViewToMarkers(s),n(()=>{l()})},d=e=>{e?.reason===`permissionDenied`&&useNuxtApp().$dsc.msg.warn(`locationPermissionDenied`),c.value.fitMapViewToMarkers(s)};return X(i,e=>{e===!0&&useNuxtApp().$dsc.msg.warn(`locationPermissionDenied`)},{once:!0}),o({useScope:`global`,messages:{"en-EU":{locationPermissionDenied:`User location permission has been denied, please allow location to see your nearby stations.`}
1,"fi-FI":{locationPermissionDenied:`Sijainnin jakoa ei ole sallittu käyttäjän toimesta, salli sijainti nähdäksesi lähimmät asemat.`},"sv-SE":{locationPermissionDenied:`Användarens platsbehörighet har nekats, vänligen tillåt plats för att se dina närmaste stationer.`},"no-NO":{locationPermissionDenied:`Brukerens plasseringstillatelse er nektet, vennligst tillat plassering for å se dine nærmeste stasjoner.`}}}),(n,i)=>{let o=Mi;return Y(),I(`div`,qi,[L(Q(Vi),{class:`zoom`,onIncreaseZoom:i[0]||=()=>c.value.zoomLevel++,onDecreaseZoom:i[1]||=()=>c.value.zoomLevel--}),L(Q(Hi),{class:`location`,onLocationToggle:i[2]||=()=>Q(t)(l,d)}),L(o,{ref_key:`map`,ref:c,"map-id":`embed-station-locator-${e.card.id}`,onMapReady:u},{default:q(()=>[Q(r)?(Y(),$(Q(Ki),{key:0})):a(``,!0),(Y(!0),I(m,null,J(Q(s),e=>(Y(),$(Q(Gi),{key:`marker-${e.id}`,marker:e,onOnStationClick:i[3]||=e=>Q(pt)(`${e.path}`)},null,8,[`marker`]))),128))]),_:1},8,[`map-id`])],512)}}},[[`__scopeId`,`data-v-9b8561bf`]]),Yi={key:0,class:`byline h6`},Xi={key:1,class:`byline h6`},Zi={key:6,class:`buttons`},Qi=U({__name:`BlocksCLBannerCardDefault`,props:{card:{type:Object,required:!0},display:{type:Object,default:()=>({type:`banner`,alignment:`center`,size:`normal`,background:`primary`})}},setup(e){u(t=>({v27aba24f:e.display.background}));let{$cms:t}=c(),n=z(`layout`,{}),r=z(`addProductGTM`,()=>({})),i=e,o=Array.isArray(i.card?.image)&&i.card?.image.length&&i.display.size!==`small`&&i.display.alignment!==`center`,s=Array.isArray(i.card?.products)&&i.card?.products.length;function l(e){return`ds-btn ds-btn--large ds-btn--${e===0?`primary`:`secondary`}`}let d=e=>{t.addProduct(e),r(e)};return(r,i)=>{let c=W,u=zn,f=gt,p=st;return Y(),I(`div`,{class:M([`card`,{[Q(t).computedBackgroundClass(e.display,Q(n)?.name)]:!0,[`size-${e.display.size}`]:!0}])},[j(`div`,{class:M([`card-grid`,{"card-grid-center":e.display.alignment===`center`,"card-grid-prices":Q(s),"card-grid-right":e.display.alignment===`right`}])},[j(`div`,{class:M([`content`,{[`alignment-${e.display.alignment}`]:!0,"no-text":!e.card.text}])},[e.card.byline?(Y(),I(`p`,Yi,P(e.card.byline),1)):Array.isArray(e.card.products)&&e.card.products.length?(Y(),I(`p`,Xi,P(Q(t).productArticle(e.card.products)?.attributes?.short_description??``),1)):a(``,!0),e.card.title?(Y(),I(`h3`,{key:2,class:M([`title`,e.display.size===`full-width`?`h2`:`h3`])},P(e.card.title),3)):Array.isArray(e.card.products)&&e.card.products.length?(Y(),I(`h3`,{key:3,class:M([`title`,r.size===`full-width`?`h2`:`h3`])},P(Q(t).productArticle(e.card.products)?.attributes?.product_name??``),3)):a(``,!0),e.card.text?(Y(),$(c,{key:4,class:`text`,content:e.card.text},null,8,[`content`])):a(``,!0),Array.isArray(e.card.products)&&e.card.products.length?(Y(),$(u,{key:5,products:e.card.products,onAddProduct:d},null,8,[`products`])):a(``,!0),Array.isArray(e.card.links)&&e.card.links.length?(Y(),I(`div`,Zi,[(Y(!0),I(m,null,J(e.card.links.filter(e=>e.title),(e,n)=>(Y(),$(f,R({key:n},{ref_for:!0},Q(t).parseLink(e),{class:l(n)}),{default:q(()=>[j(`span`,null,P(e.title),1)]),_:2},1040,[`class`]))),128))])):a(``,!0)],2),Q(o)?(Y(),$(p,{key:0,asset:e.card.image,fill:`cover`},null,8,[`asset`])):a(``,!0)],2)],2)}}},[[`__scopeId`,`data-v-56435642`]]),$i={__name:`BlocksCLBanner`,props:{...xt,internal:{type:[String,null],default:`Card List`},display:{type:Object,default:()=>({component:`list`,background:`primary`,foreground:`light`})}},setup(e){let t=e,n=e=>String(e?.contentType).toLowerCase()===`externaldatasource`&&String(e?.type).toLowerCase()===`stationlocator`,r=t.cards.some(n),i=e=>n(e)?Ji:Qi;return(t,n)=>{let o=Sn;return t.cards.length>0?(Y(),I(`section`,{key:0,class:M([`cards-list-banner`,{[`size-${e.display.size}`]:!0}])},[j(`div`,{class:M([`inner`,{"has-locator":Q(r)}])},[t.title?(Y(),$(o,{key:0,"is-first":t.isFirst,class:`h2 title`},{default:q(()=>[F(P(t.title),1)]),_:1},8,[`is-first`])):a(``,!0),(Y(!0),I(m,null,J(t.cards,t=>(Y(),$(G(i(t)),R({ref_for:!0},{key:t.id,card:t,display:e.display}),null,16))),256))],2)],2)):a(``,!0)}}},ea=U($i,[[`__scopeId`,`data-v-4ee9749a`]]),ta={class:`inner`},na={class:`container`},ra={key:0,class:`arrows`},ia=[`inert`],aa={class:`text`},oa={key:0,class:`h6 byline`},sa={class:`h2`},ca={key:2},la={key:3,class:`buttons`},ua={key:1,class:`arrows`},da={key:1,class:`controls`},fa=[`aria-label`,`onClick`],pa=[`aria-label`],ma={__name:`BlocksCLSlider`,props:{...xt,display:{type:Object,default:()=>({component:`slider`,background:`primary`,variation:2})}},setup(e){let{$cms:n,$dsc:r,$bp:i}=c(),o=Z(0),s=Z(0),l=Z(null),u=Z(!1),d=Je(`flicking`),f=e,p=E(()=>f.cards.map(e=>({img:e.image,byline:e.byline,title:e.title,text:typeof e.text==`object`&&r.object.isEmpty(e.text)?!1:e.text,links:e.links}))??[]);function h(e){o.value=e.index,s.value=0}t(()=>{p.value.length>1&&g()}),Ae(()=>{l.value&&clearTimeout(l.value),d.value&&(d.value.stopAnimation(),d.value.destroy())});function g(){l.value&&clearTimeout(l.value),l.value=setTimeout(()=>{u.value||(s.value+=1),s.value<100?g():d.value!==null&&(d.value.stopAnimation(),d.value.next(),g(),s.value=0)},60)}function _(e){return!!(e.title||e.byline||e.text)}return X(()=>JSON.stringify(i.bps),()=>{d.value?.resize()}),(t,r)=>{let c=Sn,l=K,f=W,g=gt,v=st,y=be(`flicking`),b=Qe;return Q(p).length>0?(Y(),I(`section`,{key:`slider-${t.$attrs.id}`,class:M([`slider-block`,{[`variation-${e.display?.variation||1}
1`]:!0,"fg-light":e.display.variation===2,"fg-dark bg-none":e.display.variation!==2}])},[j(`div`,ta,[t.title?(Y(),$(c,{key:0,"is-first":t.isFirst,class:`h3`},{default:q(()=>[F(P(t.title),1)]),_:1},8,[`is-first`])):a(``,!0),j(`div`,na,[Q(i).bps.atMostSmallDesktop?a(``,!0):(Y(),I(`div`,ra,[Q(p).length>1?(Y(),I(`button`,{key:0,class:`button-arrows left`,"aria-label":`Previous`,onClick:r[0]||=e=>{Q(d)?.stopAnimation(),Q(d)?.prev()}},[L(l,{code:`chevron-left`})])):a(``,!0)])),L(b,null,{default:q(()=>[L(y,{ref:`flicking`,options:{circular:!0,horizontal:!0,adaptive:!0,panelsPerView:1,interruptable:!0},onWillChange:h,onChange:r[1]||=e=>s.value=0},{default:q(()=>[(Y(!0),I(m,null,J(Q(p),(e,t)=>(Y(),I(`div`,{key:t,class:M([`panel`,{active:t===Q(o)}]),inert:t!==Q(o)},[j(`div`,{class:M([`slide`,{overlay:_(e)}])},[j(`div`,aa,[e.byline?(Y(),I(`h4`,oa,P(e.byline),1)):a(``,!0),j(`h2`,sa,P(e.title),1),typeof e.text==`object`&&e.text?.nodeType===`document`?(Y(),$(f,{key:1,content:e.text},null,8,[`content`])):e.text?(Y(),I(`p`,ca,P(e.text),1)):a(``,!0),e.links?(Y(),I(`div`,la,[(Y(!0),I(m,null,J(e.links.filter(e=>e.title),(e,t)=>(Y(),$(g,R({key:e.id,class:[`ds-btn ds-btn--large`,t===0?`ds-btn--primary`:`ds-btn--secondary`]},{ref_for:!0},Q(n).parseLink(e)),{default:q(()=>[F(P(e.title),1)]),_:2},1040,[`class`]))),128))])):a(``,!0)]),L(v,{class:`image`,asset:e.img},null,8,[`asset`])],2)],10,ia))),128))]),_:1},512)]),_:1}),Q(i).bps.atMostSmallDesktop?a(``,!0):(Y(),I(`div`,ua,[!Q(i).bps.atMostSmallDesktop&&Q(p).length>1?(Y(),I(`button`,{key:0,class:`button-arrows right`,"aria-label":`Next`,onClick:r[2]||=e=>{Q(d)?.stopAnimation(),Q(d)?.next()}},[L(l,{code:`chevron-right`})])):a(``,!0)]))]),Q(p).length>1?(Y(),I(`div`,da,[j(`ul`,{class:`bullets`,style:_t({"--progress":`${Q(s)}%`})},[(Y(!0),I(m,null,J(Q(p),(e,n)=>(Y(),I(`li`,{key:`control-${t.$attrs.id}-${n}`,class:M({active:n===Q(o)})},[j(`button`,{"aria-label":`Navigate to slide ${n+1}`,onClick:e=>Q(d)?.moveTo(n)},null,8,fa)],2))),128))],4),j(`button`,{class:M([`pause`,{play:Q(u)}]),"aria-label":Q(u)?`Continue`:`Pause`,onClick:r[3]||=e=>u.value=!Q(u)},[L(l,{code:Q(u)?`play`:`pause`},null,8,[`code`])],10,pa)])):a(``,!0)])],2)):a(``,!0)}}},ha=U(ma,[[`__scopeId`,`data-v-782583bc`]]),ga={class:`lunch-list`},_a={key:0,class:`inner`},va=[`aria-hidden`],ya={class:`h4`},ba={key:0},xa={key:1},Sa=U({__name:`BlocksStationsLunchList`,props:{stations:{type:Object,required:!1,default:()=>({})}},setup(e){let{$cms:t,$bp:n}=c(),r=N(B()),i=Z(!1),s=E(()=>{let e=r?.station?.lunch??{},t=e?.currentLunchTimeStamp??V.now().toMillis(),n=V.fromMillis(t).weekday-1,{days:i=[]}=e?.week??{days:[]},a=V.fromMillis(t).startOf(`week`);return[0,1,2,3,4,5,6].map(e=>({date:a.plus({days:e}),items:i[e]??[],activeLunch:e===n}))}),l=E(()=>s.value.some(e=>e?.items?.id)),{t:u}=o({useScope:`global`,messages:{"fi-FI":{open:`Avaa viikon lounaslista`},"en-EU":{open:`Open weekly lunch menu`},"sv-SE":{open:`Öppna veckans lunchmeny`}}});return(e,r)=>{let o=K,c=W,d=ut;return Y(),I(`div`,ga,[Q(l)?(Y(),I(`div`,_a,[j(`button`,{class:M([`ds-btn ds-btn--primary btn-open`,{"is-open":Q(i)}]),type:`button`,onClick:r[0]||=e=>i.value=!Q(i)},[j(`span`,null,P(Q(u)(`open`)),1),L(o,{id:`weekly-lunch-list-toggle`,class:`toggle-icon`,size:`s`,code:`chevron-down`,"aria-hidden":`true`,"aria-expanded":Q(i),"aria-controls":`weekly-lunch-list`},null,8,[`aria-expanded`])],2),L(d,{open:Q(i)},{default:q(()=>[j(`div`,{id:`weekly-lunch-list`,class:`list`,"aria-labelledby":`weekly-lunch-list-toggle`,"aria-hidden":!Q(i)},[(Y(!0),I(m,null,J(Q(s),(e,r)=>(Y(),I(`div`,{key:`item-${r}`,class:M([`lunch-list-item`,{today:e.activeLunch}])}
1,[j(`h3`,ya,P(`${Q(u)(`weekday.${e.date.toFormat(`cccc`)}`)} ${e.date.toFormat(`d.M.`)}`),1),(Y(!0),I(m,null,J(e.items.products,(e,r)=>(Y(),I(`div`,{key:`menu-item-${r}`,class:`item`},[j(`span`,null,[F(P(e.name),1),Q(n).bps.isSmallDesktop?e.specialties?(Y(),I(`span`,xa,`, `)):a(``,!0):(Y(),I(`br`,ba)),F(` `+P(e.specialties?e.specialties.join(`, `):``),1)]),j(`strong`,null,P(Q(t).formatPrice(e.price)),1)]))),128)),e.items.placeholderText?(Y(),$(c,{key:0,content:e.items.placeholderText},null,8,[`content`])):a(``,!0)],2))),128))],8,va)]),_:1},8,[`open`])])):a(``,!0)])}}},[[`__scopeId`,`data-v-8d7dec8c`]]),Ca={key:0,class:`todays-lunch`},wa={class:`inner`},Ta={class:`list`},Ea={class:`date`},Da={class:`h3`},Oa={key:0,class:`h6`},ka={class:`price`},Aa={key:0,class:`attributes`},ja={key:1,class:`pdf-download`},Ma={class:`title`},Na=U({__name:`BlocksStationsLunch`,props:{stations:{type:Object,required:!1,default:()=>({})},lunch:{type:Array,required:!1,default:null}},setup(e){let{$cms:t}=c(),{t:n}=o({useScope:`global`,messages:{"fi-FI":{load:`Lataa`,lunch:`Päivän lounas`,soup:`Päivän keitto`,cutlet:`Päivän leike`,time:`klo`,day:{Monday:`Maanantai`,Tuesday:`Tiistai`,Wednesday:`Keskiviikko`,Thursday:`Torstai`,Friday:`Perjantai`,Saturday:`Lauantai`,Sunday:`Sunnuntai`}}}}),r=e,i=N(B()),s=E(()=>i.station),l=E(()=>(r.lunch?.[0]||s.value?.lunch)?.currentLunch),u=E(()=>(r.lunch?.[0]||s.value?.lunch)?.currentLunchTimeStamp),d=E(()=>
1{if(u.value){let e=V.fromMillis(u.value);return[o().t(`day.${e.toFormat(`cccc`)}`),e.toFormat(`d.M.`)].join(` `)}return null}),f=E(()=>r.lunch!==null&&r.lunch?.[0]?.pdf?r.lunch[0].pdf:s.value.lunch?.pdf?s.value.lunch.pdf:!1);function p(e){return e?.toLowerCase().includes(`päivän keitto`)?o().t(`soup`):e?.toLowerCase().includes(`päivän leike`)?o().t(`cutlet`):!1}return(e,r)=>{let i=W,o=st,s=K,c=gt,u=Sa;return l.value?(Y(),I(`section`,Ca,[j(`div`,wa,[j(`div`,Ta,[j(`div`,Ea,P(d.value),1),j(`h3`,Da,P(Q(n)(`lunch`)),1),(Y(!0),I(m,null,J(l.value.products,(e,n)=>(Y(),I(`div`,{key:`item-${n}`,class:`menu-item`},[j(`div`,null,[p(e.lunchCategory?.title)?(Y(),I(`p`,Oa,P(p(e.lunchCategory?.title)),1)):a(``,!0),j(`strong`,null,P(e.name),1)]),j(`strong`,ka,P(Q(t).formatPrice(e.price)),1),e.specialties?(Y(),I(`span`,Aa,P(e.specialties.join(`, `)),1)):a(``,!0)]))),128)),l.value.placeholderText?(Y(),$(i,{key:0,content:l.value.placeholderText},null,8,[`content`])):a(``,!0)]),l.value.image===null?a(``,!0):(Y(),$(o,{key:0,asset:l.value.image,fill:`cover`,class:`todays-lunch-image`},null,8,[`asset`])),f.value?(Y(),I(`div`,ja,[j(`span`,Ma,P(f.value.title),1),L(c,{class:`ds-btn ds-btn--primary`,href:f.value.url,target:`_blank`},{default:q(()=>[F(P(Q(n)(`load`))+` `,1),L(s,{code:`download`,size:`l`})]),_:1},8,[`href`])])):a(``,!0)]),L(u)])):a(``,!0)}}},[[`__scopeId`,`data-v-e231d2b3`]]),Pa={name:`CardListLunchMenu`,props:{contentType:{type:String,default:`cardList`},internal:{type:String,default:``},display:{type:Object,default:()=>({component:`lunch`})},title:{type:String,default:``},cards:{type:Array,default:()=>[]}}};function Fa(e,t,n,r,i,a){let o=Na;return Y(),$(o,{lunch:n.cards},null,8,[`lunch`])}var Ia=Object.assign(U(Pa,[[`render`,Fa]]),{__name:`BlocksCLLunchMenu`}),La={class:`input`},Ra=[`for`],za={key:0,class:`required`},Ba=[`id`,`type`,`aria-controls`,`aria-expanded`,`aria-autocomplete`,`aria-activedescendant`,`disabled`,`onKeydown`],Va=[`aria-controls`,`aria-expanded`],Ha=[`onKeydown`],Ua=[`id`,`aria-label`],Wa=[`id`,`onClick`],Ga={key:0,class:`item-before`},Ka=U({__name:`DSCombobox`,props:{modelValue:{type:null,required:!0},label:{type:String,default:``},options:{type:Array,default:()=>[]},toggleIcon:{type:String,default:``},error:{type:String,default:null},helpText:{type:String,default:null},searchable:{type:[Boolean,Array],default:!1},minimal:{type:Boolean},searchbox:{type:Boolean},searchboxValue:{type:String,default:null},iconBefore:{type:[Boolean,String,Object],default:!1},disabled:{type:Boolean,default:!1},eagerListIcons:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`,`update:searchboxValue`],setup(e,{emit:t}){let n=e,r=t,i=ct(),o=Te(),s=Z(null),c=Z(null),l=Z([]),u=Z(!1),d=Z(``),f=Z(!1),p=Z(0),h=Z([]),g=E({get:()=>n.searchbox?n.searchboxValue:d.value,set:e=>n.searchbox?r(`update:searchboxValue`,e):d.value=e}),_=E(()=>n.searchbox||!!n.searchable),v=E(()=>n.searchbox||n.minimal),y=E(()=>n.toggleIcon?n.toggleIcon:n.searchbox?`default-line/delete`:v.value?`default-line/chevron-down`:`default-fill/chevron-double`),b=E(()=>({code:n.options.find(e=>e.label===g.value)?.iconBefore?.code||n.options.find(e=>e.label===g.value)?.iconBefore||``,size:n.options.find(e=>e.label===g.value)?.iconBefore?.size||`xl`,iconStyle:n.options.find(e=>e.label===g.value)?.iconBefore?.iconStyle||`line`})),x=E(()=>i.id||o);X(()=>n.modelValue,N,{immediate:!0});let S=E(()=>{if(!u.value||!g.value)return n.options;let e=new RegExp(g.value.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`),`i`);return n.options.filter(t=>Array.isArray(n.searchable)?n.searchable.some(n=>e.test(t[n])):e.test(t.label))}),C=E(()=>v.value&&g.value),w=E(()=>S.value[p.value]);Oe(()=>{f.value?u.value=!1:N()});function T(e=!0){p.value=n.options.findIndex(e=>e.value===n.modelValue),s.value.focus(),e&&(f.value=_.value?!0:!f.value)}function ee(){n.disabled||(n.searchbox?(g.value=``,r(`update:modelValue`,null)):f.value=!f.value,T(!1))}function O(){f.value&&w.value&&ce(w.value)}let te=()=>c.value.scrollTop=0,ne=()=>c.value.scrollTop=c.value.scrollHeight;function re(e){g.value&&_.value||(e.preventDefault(),p.value=0,te())}function ie(e){g.value&&_.value||(e.preventDefault(),p.value=S.value.length-1,ne())}function ae(){if(p.value>0){p.value--;let e=c.value,t=l.value[p.value];if(!e||!t)return;let n=t.offsetTop<e.scrollTop;(t.offsetTop>e.scrollTop+e.clientHeight||n)&&(e.scrollTop=t.offsetTop)}else te()}function oe(){if(f.value=!0,p.value<S.value.length-1){p.value++;let e=c.value,t=l.value[p.value];if(!e||!t)return;let n=t.offsetTop+t.clientHeight,r=t.offsetTop<e.scrollTop,i=n>e.clientHeight+e.scrollTop;(r||i)&&(e.scrollTop=n-e.clientHeight)}else ne()}function se(){f.value=!0,u.value=!0,c.value?.scrollTo(0,0)}function ce(e){r(`update:modelValue`,e.value),s.value.focus(),f.value=!1}function N(){if(n.searchbox)return;let e=n.options.find(e=>e.value===Q(n.modelValue));g.value=e?.label??``}let ue=E(()=>n.options.some(e=>e.iconBefore));return!n.eagerListIcons&&ue.value&&Oe(()=>
1{l.value.forEach(e=>{let{stop:t}=we(e,([e])=>{e?.isIntersecting&&!h.value.includes(e.target)&&(h.value.push(e.target),n.searchable||t())},{root:c})})}),(t,n)=>{let r=K;return e.options?Xe((Y(),I(`div`,{key:0,class:M([`ds-select`,{"is-active":e.modelValue!==null,"is-underlined":Q(f),"is-open":Q(f),"is-searchable":Q(_),"has-value":Q(g),"has-error":e.error,"has-icon-before":e.iconBefore||Q(b)?.code||e.searchbox,basic:!Q(v)&&!e.searchbox,minimal:Q(v),searchbox:e.searchbox}])},[j(`div`,La,[e.searchbox||e.iconBefore||Q(b)?.code?(Y(),$(r,{key:0,code:e.iconBefore?.code||e.iconBefore||Q(b)?.code||`default-line/search`,size:e.iconBefore?.size||Q(b)?.size||`l`,class:`icon-before`},null,8,[`code`,`size`])):a(``,!0),j(`label`,{for:`combobox-input-${Q(x)}`,class:M([`label`,{"sr-only":Q(C)}])},[F(P(e.label),1),e.required?(Y(),I(`span`,za,`*`)):a(``,!0)],10,Ra),Xe(j(`input`,{id:`combobox-input-${Q(x)}`,ref_key:`inputRef`,ref:s,"onUpdate:modelValue":n[0]||=e=>Ie(g)?g.value=e:null,role:`combobox`,class:`native-input`,type:Q(_)?`text`:`button`,autofill:`false`,autocomplete:`off`,"data-lpignore":`true`,"aria-controls":`list-${Q(x)}`,"aria-expanded":Q(f),"aria-autocomplete":Q(v)?null:`list`,"aria-activedescendant":Q(f)?`option-${Q(x)}-${Q(p)}`:null,disabled:e.disabled,onClick:A(T,[`prevent`]),onKeydown:[k(A(O,[`prevent`]),[`enter`]),n[1]||=k(e=>f.value=!1,[`esc`]),k(A(ae,[`prevent`]),[`up`]),k(A(oe,[`prevent`]),[`down`]),k(A(re,[`stop`]),[`home`]),k(A(ie,[`stop`]),[`end`])],onKeydownCapture:n[2]||=(...e)=>t.onKeydown&&t.onKeydown(...e),onInput:se},null,40,Ba),[[Ke,Q(g)]]),L(le,{name:`fade`},{default:q(()=>[Xe(j(`button`,{ref:`list-toggle`,class:M([`list-toggle-btn`,e.searchbox?`clear-btn`:`toggle-btn`]),type:`button`,"aria-controls":`list-${Q(x)}`,"aria-expanded":Q(f),tabindex:`-1`,onClick:ee},[L(r,{code:Q(y)},null,8,[`code`])],10,Va),[[D,!e.searchbox||Q(g)]])]),_:1})]),L(le,{name:`fade-height`},{default:q(()=>[Xe(j(`div`,{ref_key:`scrollableListRef`,ref:c,class:`scrollable-list`,tabindex:`0`,onClick:n[3]||=A(e=>{T(),f.value=!1},[`prevent`]),onKeydown:[k(A(O,[`prevent`]),[`enter`]),n[4]||=k(e=>f.value=!1,[`esc`]),k(A(ae,[`prevent`]),[`up`]),k(A(oe,[`prevent`]),[`down`]),k(A(re,[`prevent`]),[`home`]),k(A(ie,[`prevent`]),[`end`])],onKeydownCapture:n[5]||=(...e)=>t.onKeydown&&t.onKeydown(...e)},[j(`ul`,{id:`list-${Q(x)}`,class:`list`,"aria-label":e.label,role:`listbox`},[(Y(!0),I(m,null,J(Q(S),(n,i)=>(Y(),I(`li`,{id:`option-${Q(x)}-${i}`,ref_for:!0,ref:e=>Q(l)[i]=e,key:`item-${n.key||n.label}`,class:M([`list-item`,{"is-active":i===Q(p),default:!t.$slots.listItem}]),role:`option`,onClick:e=>ce(n)},[Q(ue)&&n.iconBefore&&(e.eagerListIcons||Q(h).includes(Q(l)[i]))?(Y(),I(`div`,Ga,[L(r,{code:n.iconBefore.code||n.iconBefore,size:n.iconBefore?.size||`xl`,"icon-style":n.iconBefore?.iconStyle||`line`},null,8,[`code`,`size`,`icon-style`])])):a(``,!0),H(t.$slots,`listItem`,{item:n},()=>[F(P(n.label),1)],!0)],10,Wa))),128))],8,Ua)],40,Ha),[[D,e.searchbox?Q(f)&&Q(S).length&&Q(g):Q(f)]])]),_:3}),e.error||e.helpText?(Y(),I(`div`,{key:0,class:M([`text-after`,{error:e.error,"is-active":e.error||e.helpText}])},P(e.error||e.helpText),3)):a(``,!0)],2)),[[Q(De),{handler:()=>f.value=!1}]]):a(``,!0)}}},[[`__scopeId`,`data-v-9e307c69`]]),qa={key:0,class:`menu-selection`},Ja={key:0,class:`root-list`},Ya=[`aria-label`,`onClick`],Xa={key:1,class:`root-list short-menu`},Za=[`onClick`],Qa=U(Object.assign({name:`CLFoodMenuSelection`},{__name:`BlocksCLFoodMenuSelection`,props:{menu:{type:Array,required:!1,default:()=>[]}},setup(e){let t=z(`selected`),n=e,r=E(()=>n.menu.map(e=>({value:e.index,label:e.title})));return o({useScope:`global`,messages:{"fi-FI":{selectMenu:`Valitse kategoria`},"en-EU":{selectMenu:`Select Category`},"sv-SE":{selectMenu:`Välj kategori`},"no-NO":{selectMenu:`Velg kategori`}}}),(n,i)=>{let o=Ka;return e.menu.length>1?(Y(),I(`div`,qa,[e.menu.length<4?(Y(),I(`div`,Ja,[(Y(!0),I(m,null,J(e.menu,({id:e,title:n},r)=>(Y(),I(`button`,{key:`item-${r}-${e}`,class:M([`ds-btn tab`,{selected:Q(t).root===r}]),"aria-label":n,onClick:e=>t.value={root:r,category:0}},P(n),11,Ya))),128))])):(Y(),I(`div`,Xa,[L(o,{modelValue:Q(t).root,"onUpdate:modelValue":i[0]||=e=>Q(t).root=e,label:n.$t(`selectMenu`),options:Q(r)},null,8,[`modelValue`,`label`,`options`])])),L(f,{class:`category-list`,name:`button-list`,tag:`div`},{default:q(()=>[(Y(!0),I(m,null,J(e.menu[Q(t).root]?.items??[],({title:e,id:n},r)=>(Y(),I(`button`,{key:`item-${r}-${n}`,class:M([`ds-btn ds-btn--secondary ds-btn--small`,{selected:Q(t).category===r}]),onClick:e=>Q(t).category=r},P(e),11,Za))),128))]),_:1})])):a(``,!0)}}}),[[`__scopeId`,`data-v-c78aab70`]]),$a={class:`food-menu`},eo={class:`inner`},to={key:0,class:`allergens`},no={key:1,class:`description`},ro={class:`card-inner`},io={class:`badge`},ao={class:`price`},oo={class:`title`},so=Object.assign({name:`CLFoodMenu`},{__name:`BlocksCLFoodMenu`,props:{...xt,display:{type:Object,default:()=>({component:`foodMenu`,count:`many`})},menu:{type:Array,default:()=>[]},stations:{type:Object,default:()=>({})},cards:{type:Object,default:()=>({})},id:{type:String,default:null}},setup(e){let t=Pe(),n=ke(),{$paths:r,$i18n:i}=c(),l=e,u=z(`station`,{}),d=E(()=>typeof l.display.count==`object`),f=Te(),p=E(()=>l.id||`food-menu-${f}`),h=E(()=>u&&u.value?.menu?.items?u.value?.menu.items:l.menu?.[0]?.items?l.menu[0].items:[]),g=(()=>{let{menuId:e}=n.query;return e?h.value.findIndex(t=>t.id===e):-1})(),_=Z({root:g>-1?g:0,category:0});$e(`selected`,_);let y=e=>e?.shorthand===`V`,b=({contentType:e})=>[`productMenu`,`helmisimpukkaProductMenu`].includes(e),x=({contentType:e})=>[`product`,`helmisimpukkaProduct`].includes(e),S=[{shorthand:`G`,code:`default-fill/gluten-free`,label:`allergens.glutenfree`},{shorthand:`L`,code:`default-fill/lactose-free`,label:`allergens.lactosefree`},{shorthand:`M`,code:`default-fill/milkless`,label:`allergens.milkless`},{shorthand:`V`,code:`default-fill/vegan`,label:`allergens.vegan`},{shorthand:`VL`,code:`default-fill/low-lactose`,label:`allergens.lowlactose`}],C=E(()=>{let e=[],t=[];
1if(h.value?.filter(x).length===h.value?.length)e=h.value;else{let n=h.value?.[_.value.root];t=n?.items?.filter(x);let r=n?.items?.[_.value.category]?.items;r?e=r:t&&(e=t)}return e.length?e.map(e=>({id:e.id,internal:e.internal,specialties:e.specialties?.map(e=>S.find(t=>t.shorthand===e)).filter(Boolean),title:e.name,image:e.image,text:e.description,tags:e.tags,price:e.variations?e.variations.map(e=>({title:e.name,price:e.price})):[{title:i.t(`price`),price:e.price}]})):[]}),w=E(()=>Array.from(new Set(C.value.flatMap(e=>e.specialties))).filter(e=>e)),T=E(()=>h.value.filter(b).length>0?h.value.map((e,t)=>({id:e.id,index:t,title:e.title,description:e[t]?.description??u.value?.menu?.description,items:e.items?.filter(b).map(({id:e,title:t,description:n},r)=>({id:e,index:r,title:t,description:n}))}))??[]:[]),ee=E(()=>u.value?.stationTypes?.includes(`helmisimpukkarestaurant`)?`${r.getPath(`preorder`)}?station=${u.value?.slug}`:!1),D=E(()=>h.value?.filter(x).length===h.value?.length&&l.menu?.length>0?l.menu?.[0]?.description??null:h.value?.[_.value.root]?.items?.length>0?h.value?.[_.value.root]?.items?.[_.value.category]?.title:h.value?.[_.value.root]?.title?h.value?.[_.value.root].title:u?.value?.menu?.title?u?.value?.menu?.title:``),O=E(()=>{if(h.value?.filter(x).length===h.value?.length)return h.value.description;let e=l.menu?.[0]?.description||u.value?.menu?.description||i.t(`listPriceNotification`);h.value?.[_.value.root]?.description&&({description:e}=h.value[_.value.root]);let t=h.value?.[_.value.root]?.items?.[_.value.category];return t?.items&&t.description||e});return X(_,e=>{let r=h.value[e.root];r?.id&&t.replace({query:{...n.query,menuId:r.id}})},{deep:!0}),o({useScope:`global`,messages:{"fi-FI":{price:`suositushinta`,listPriceNotification:`Verkossa näkyvät hinnat ovat suositushintoja. Varmista hinnat tilauksen yhteydessä asemalta.`,allergens:{glutenfree:`Gluteeniton`,lactosefree:`Laktoositon`,lowlactose:`Vähälaktoosinen`,milk:`Maidoton`,milkless:`Maidoton`,vegan:`Vegaaninen`},badge:{vegan:`Veg`}},"en-EU":{price:`price`,listPriceNotification:`Prices shown offline are recommendation prices. Ensure final pricing when ordering from station`,allergens:{glutenfree:`Glutenfree`,lactosefree:`Lactosefree`,lowlactose:`Low Lactose`,milk:`Milk`,milkless:`Milkless`,vegan:`Vegan`},badge:{vegan:`Veg`}},"sv-SE":{price:`Listpris`,listPriceNotification:``,allergens:{glutenfree:`Glutenfri`,lactosefree:`Laktosfri`,lowlactose:`Låglaktos`,milk:`Mjölk`,milkless:`Mjölkfri`,vegan:`Vegansk`},badge:{vegan:`Veg`}},"no-NO":{price:``,listPriceNotification:`Prisene som vises på nettet er anbefalte priser. Bekreft prisene ved bestilling på stasjonen.`,allergens:{glutenfree:`Glutenfri`,lactosefree:`Laktosefri`,lowlactose:`Lav laktose`,milk:`Melk`,milkless:`Melkefri`,vegan:`Vegansk`},badge:{vegan:`Veg`}}}}),(t,n)=>{let r=Qa,o=K,c=st,l=W,u=gt,f=cr,h=xr;return Y(),I(`section`,$a,[j(`div`,eo,[L(r,{menu:Q(T)},null,8,[`menu`]),Q(w).length?(Y(),I(`p`,to,[(Y(!0),I(m,null,J(Q(w),(e,n)=>(Y(),I(`span`,{key:`allergen-${n}`},[L(o,{code:e.code,size:`l`},null,8,[`code`]),F(` `+P(t.$t(e.label)),1)]))),128))])):a(``,!0),Q(O)?(Y(),I(`p`,no,P(Q(O)),1)):a(``,!0),Q(C).length>0&&!Q(d)?(Y(),$(f,{id:Q(p),key:`food-list-${Q(p)}`,class:`product-cards`,"count-override":e.display.count,title:Q(D),cards:Q(C),"card-background":e.display.transparentBackground===`true`?`none`:`white`,"food-menu":e.display.component===`foodMenu`,tag:`div`},v({"external-link":q(()=>[Q(ee)?(Y(),$(u,{key:0,class:`preorder-link`,to:Q(ee)},{default:q(()=>[F(P(Q(i).t(`preorderLink`)),1)]),_:1},8,[`to`])):a(``,!0)]),_:2},[J(Q(C),(n,r)=>({name:`card-content-${r}`,fn:q(()=>[j(`div`,ro,[(Y(!0),I(m,null,J((n?.specialties??[]).filter(y),({label:e},n)=>(Y(),I(`div`,{key:`tag-${r}-${n}`,class:`badges`},[j(`div`,io,P(t.$t(e).substring(0,3)),1)]))),128)),n.image?(Y(),$(c,{key:0,asset:n.image,size:e.display.size,fill:`cover`},null,8,[`asset`,`size`])):a(``,!0),n.title?(Y(),I(`h3`,{key:`title-${r}`,class:`h4`},P(n.title),1)):a(``,!0),L(l,{content:n.text},null,8,[`content`]),n.specialties?(Y(),I(`div`,{key:`specialties-${r}`,class:`specialties`},[(Y(!0),I(m,null,J(n.specialties,({code:e,label:n},r)=>(Y(),$(o,{key:`specialty-${r}`,code:e,"aria-label":t.$t(n),class:`allergen-icon`,size:`l`},null,8,[`code`,`aria-label`]))),128))])):a(``,!0),n.price?.map(e=>e.price).filter(e=>e).length>0?(Y(),I(`div`,{key:`prices-${r}`,class:`prices`},[(Y(!0),I(m,null,J(n.price,(e,n)=>(Y(),I(`div`,{key:`price-${r}-${n}`,class:`item`},[j(`span`,ao,P(t.$cms.formatPrice(e.price)),1),j(`span`,oo,P(e.title),
11)]))),128))])):a(``,!0)])])}))]),1032,[`id`,`count-override`,`title`,`cards`,`card-background`,`food-menu`])):(Y(),$(h,s(R({key:3},{display:e.display,overflow:`clamp`,cardType:`FoodMenu`,cards:Q(C)})),null,16))])])}}}),co=U(so,[[`__scopeId`,`data-v-2bf56718`]]),lo={key:0,class:`embedded-html`},uo={class:`inner`},fo=[`innerHTML`],po={__name:`BlocksCLEmbedded`,props:{...xt,display:{type:Object,default:()=>({component:`embedded`,title:null,alignment:`center`})},internal:{type:[String,null],default:`Embedded Html`}},setup(e){let n=Je(`embedHtml`),r=e,i=E(()=>({[`text--${r.display.alignment}`]:!0})),o=E(()=>{if(RegExp(`https://www\\.youtube\\.com/embed`).test(r.display.htmlsnippet))try{let e=(r.display.htmlsnippet.match(/<iframe.+?>/)?.[0]).replace(/<iframe |>/gi,``).split(`" `),t={};return e.forEach(e=>{let[n,r]=e.split(`="`);t[n]=r??null}),{attrs:{frameborder:t.frameborder,allow:t.allow,referrerpolicy:t.referrerpolicy,src:t.src},aspect:Number(t.width)/Number(t.height)||1.7777}}catch(e){console.warn(e)}return!1}),c=(e=10)=>{ge(()=>{if(n.value){let e=function(e){let t=document.createElement(`script`);[...e.attributes].forEach(({name:e,value:n})=>t.setAttribute(e,n));let n=document.createTextNode(e.innerHTML);return t.appendChild(n),t},t=function(t){t.parentNode.replaceChild(e(t),t)};[...n.value.querySelectorAll(`script`)].forEach(t)}else e>0&&c(e-1)})};return t(()=>c()),(e,t)=>{let c=Sn,l=te;return r.display.htmlsnippet?(Y(),I(`section`,lo,[j(`div`,uo,[r.display.title?(Y(),$(c,{key:0,"is-first":e.isFirst,class:M([`h3`,Q(i)])},{default:q(()=>[F(P(r.display.title),1)]),_:1},8,[`is-first`,`class`])):a(``,!0),L(l,{placeholder:`Loading...`},{default:q(()=>[Q(o)?(Y(),I(`div`,{key:0,class:`embedded-youtube`,style:_t({"aspect-ratio":Q(o).aspect})},[j(`iframe`,s(it(Q(o).attrs)),null,16)],4)):(Y(),I(`div`,{key:1,ref_key:`embedHtml`,ref:n,class:`embed-container`,innerHTML:r.display.htmlsnippet},null,8,fo))]),_:1})])])):a(``,!0)}}},mo=U(po,[[`__scopeId`,`data-v-8b668a7d`]]),ho={class:`key-figures`},go={class:`inner`},_o={class:`cards`},vo={key:0,class:`byline h6`},yo={class:`h2 figure`},bo={__name:`BlocksCLKeyFigures`,props:{...xt,contentType:{type:[String,null],default:`key-figures`},display:{type:Object,default:()=>({component:`key-figures`})},internal:{type:[String,null],default:`Key Figures`},title:{type:[String,null],default:null}},setup(e){return(t,n)=>{let r=Sn,i=W;return Y(),I(`section`,ho,[j(`div`,go,[e.title?(Y(),$(r,{key:0,"is-first":t.isFirst,class:`h1 title`},{default:q(()=>[F(P(e.title),1)]),_:1},8,[`is-first`])):a(``,!0),j(`div`,_o,[(Y(!0),I(m,null,J(t.cards,(e,t)=>(Y(),I(`div`,{key:`key-${t}`,class:`card`},[e.byline?(Y(),I(`h4`,vo,P(e.byline),1)):a(``,!0),j(`h3`,yo,P(e.title),1),e.text?(Y(),$(i,{key:1,class:`description`,content:e.text},null,8,[`content`])):a(``,!0)]))),128))])])])}}},xo=U(bo,[[`__scopeId`,`data-v-cb67806b`]]),So={class:`cards-list-list`},Co={class:`inner`},wo={key:2,class:`list`},To={class:`content`},Eo={class:`h3`},Do={key:0,class:`buttons`},Oo={key:0,class:`link`},ko={class:`label`},Ao={key:3,class:`actions`},jo={__name:`BlocksCLList`,props:{...xt,display:{type:Object,default:()=>({variation:`content`,title:null,body:null,buttonurl:null,buttontext:null})},id:{type:String,required:!0},contentType:{type:String,required:!0}},setup(e){let{$cms:t}=c(),n=gt;return(r,i)=>{let o=Sn,s=W,c=gt,l=K;return Y(),I(`section`,So,[j(`div`,Co,[e.display.title?(Y(),$(o,{key:0,"is-first":r.isFirst,class:`title h2`},{default:q(()=>[F(P(e.display.title),1)]),_:1},8,[`is-first`])):a(``,!0),e.display.body?(Y(!0),I(m,{key:1},J(e.display.body.split(/\r\n|\r|\n/),(e,t)=>(Y(),I(`p`,{key:`part-${t}`,class:`list-body`},P(e),1))),128)):a(``,!0),e.display.variation?(Y(),I(`div`,wo,[(Y(!0),I(m,null,J(r.cards,(r,i)=>(Y(),$(G(e.display.variation===`content`?`div`:Q(n)),R({key:`card-${r.id}-${i}`,class:[`item`,{[`${e.display.variation}`]:!0}]},{ref_for:!0},e.display.variation===`content`?null:Q(t).parseLink(r.links?.[0])),{default:q(()=>[j(`span`,To,[j(`h3`,Eo,P(r.title),1),L(s,{content:r.text},null,8,[`content`]),e.display.variation===`content`?(Y(),I(`div`,Do,[(Y(!0),I(m,null,J(r.links,(e,n)=>(Y(),$(c,R({key:`link-${e.id}-${n}`,class:[`ds-btn ds-btn--large`,{"ds-btn--primary":n===0,"ds-btn--secondary":n>0}]},{ref_for:!0},Q(t).parseLink(e)),{default:q(()=>
1[j(`span`,null,P(e.title),1)]),_:2},1040,[`class`]))),128))])):a(``,!0)]),e.display.variation===`content`?a(``,!0):(Y(),I(`span`,Oo,[j(`span`,ko,P(r.links?.[0]?.title),1),L(l,{code:e.display.variation===`downloadablecontent`?`default-fill/download`:`st1website-fill/arrow-right`,size:`xxxxl`},null,8,[`code`])]))]),_:2},1040,[`class`]))),128))])):a(``,!0),e.display.buttontext&&e.display.buttonurl?(Y(),I(`div`,Ao,[L(c,{class:`ds-btn ds-btn--large ds-btn--primary`,to:e.display.buttonurl},{default:q(()=>[F(P(e.display.buttontext),1)]),_:1},8,[`to`])])):a(``,!0)])])}}},Mo=U(jo,[[`__scopeId`,`data-v-7e3cb38b`]]),No={key:0},Po={key:1},Fo={class:`image-container`},Io={class:`product-info`},Lo=[`aria-label`],Ro={key:2,class:`short-description`},zo={class:`disclaimer`},Bo={style:{color:`#e4031f`}},Vo={class:`info`},Ho={class:`info-content`},Uo={class:`info-text`},Wo={class:`info-content`},Go={class:`info-text`},Ko={class:`info-content`},qo={class:`info-text`},Jo={class:`description`},Yo={key:1,class:`features`},Xo={class:`title h4`},Zo={class:`feature-name`},Qo={__name:`BlocksCLProduct`,props:{...xt,internal:{type:[String,null],default:`Product Page`},display:{type:Object,default:()=>({component:`product`})},block:{type:Boolean,default:!0}},emits:[`addProduct`],setup(e,{emit:t}){let r=Hr(B()),{$cms:i,$analytics:l}=c(),{loggedIn:u}=xe(n(B())),{gtm:d}=Re(),f=e,p=t,h=E(()=>{let{0:e}={...f.cards};return e||{}}),g=E(()=>{if(Object.keys(h.value).length>0){let e=h.value.products?.find(e=>!e.isBundle);if(e)return e}return h.value?.products?.[0]}),_=E(()=>h?.value?.products),v=E(()=>g?.value?.guarantee),y=E(()=>r.recommendedProductId===g?.value?.code);function b(e){d().trackEvent({event:`add_to_cart`,event_function:`general`,logged_in_status:u.value?`logged_in`:`logged_out`,user_type:`consumer`,action:`click`,currency:e.attributes?.currency?.[0]??l.getCurrency(),value:l.priceWithoutTax(e),items:[l.productToAnalytics(e)]}),p(`addProduct`,e),i.addProduct(e)}return o({useScope:`global`,messages:{"fi-FI":{products:{save:`Säästä`,recommended:`Sopivin pesu autollesi`,guarantee:`Takuulla puhdasta`,pcs:`kpl`,buy:`Osta`,disclaimer:`Tämä pesu ei sovi autoille, joissa on suksiboksi. Suksiboksipesu on ostettavissa vain asemalla. Ota yhteyttä henkilökuntaan {ennenPesua}, mikäli autossasi on ulkoinen vararengas, karjapuskuri, lisävalot tai vastaavia lisävarusteita tai autosi on pick-up, avoauto tai muu erikoisauto.`,disclaimerBefore:`ennen pesua`,info1:`Pesukoodit ovat voimassa 5 kuukautta kaikilla St1 Autopesuasemilla.`,info2:`Nopea tapa hyödyntää pesuedut – lataa äppi!`,info3:`Miten St1 Autopesu toimii? Tutustu autopesuohjeisiimme.`,findNearest:`Etsi lähin autopesula`,readMoreApp:`Tutustu sovellukseen`,featuresTitle:`Pesuohjelma sisältää:`,expand:`Näytä enemmän`,shrink:`Näytä vähemmän`,drops:`Pesun tehokkuus {drops} pisaraa`,includes:`Sisältää`,graphic:`Tuotteen "{productName}" kuva`}},"en-EU":{products:{save:`Save`,recommended:`Recommended wash`,guarantee:`Clean guarante`,pcs:`pcs`,buy:`Buy`,expand:`Näytä enemmän`,shrink:`Näytä vähemmän`,graphic:`A graphic of {productName}`}}}}),(t,n)=>{let o=En,c=gt,l=Sn,u=K,d=zn,p=be(`i18n-t`);return Array.isArray(f.cards?.[0]?.products)?(Y(),I(`section`,{key:0,class:M([`product`,{block:e.block}])},[Q(v)||Q(y)?(Y(),I(`div`,{key:0,class:M([`tag`,{guarantee:Q(v),recommended:Q(y)}])},[Q(y)?(Y(),I(`h6`,No,P(t.$t(`products.recommended`)),1)):Q(v)?(Y(),I(`h6`,Po,P(t.$t(`products.guarantee`)),1)):a(``,!0)],2)):a(``,!0),Q(g)?(Y(),I(`div`,{key:1,class:M([`content`,{highlight:Q(r).recommendedProductId===Q(g).code}])},[j(`div`,Fo,[L(c,s(it(Q(h).links?Q(i).parseLink(Q(h)?.links?.[0]):{})),{default:q(()=>[Q(g).attributes?.product_name?(Y(),$(o,{key:0,image:Q(g).image,alt:t.$t(`products.graphic`,{productName:Q(g).attributes.product_name})},null,8,[`image`,`alt`])):a(``,!0)]),_:1},16)]),j(`div`,Io,[L(c,R({class:`product-name`},Q(i).parseLink(Q(h)?.links?.[0])),{default:q(()=>[Q(g).attributes?.product_name?(Y(),$(l,{key:0,"is-first":t.isFirst,class:`h4 name`},{default:q(()=>[F(P(Q(g).attributes?.product_name),1)]),_:1},8,[`is-first`])):a(``,!0),Q(g).attributes?.drops?(Y(),I(`div`,{key:1,class:`carwash-drops`,"aria-label":t.$t(`products.drops`,{drops:Q(g).attributes?.drops?.length??0})},[(Y(!0),I(m,null,J(Q(g).attributes?.drops,e=>(Y(),$(u,{key:`drop-${e}`,code:`drop`,size:`xl`}))),128))],8,Lo)):a(``,!0),Q(g).attributes?.short_description?(Y(),I(`p`,Ro,P(Q(g).attributes?.short_description),1)):a(``,!0)]),_:1},16),Q(_)?(Y(),$(d,{key:0,products:Q(_),onAddProduct:b},null,8,[`products`])):a(``,!0),j(`div`,zo,[L(u,{code:`default-fill/exclamation`,size:`xxxl`,"aria-hidden":`true`}),j(`div`,null,[L(p,{scope:`global`,keypath:`products.disclaimer`},{ennenPesua:q(()=>[j(`span`,Bo,[L(p,{scope:`global`,keypath:`products.disclaimerBefore`})])]),_:1})])])]),f.block?(Y(),I(m,{key:0},[j(`div`,Vo,[j(`div`,Ho,[L(u,{class:`info-icon`,code:`car-wash`,"aria-hidden":`true`,size:`xxl`}),j(`div`,Uo,P(t.$t(`products.info1`)),1),L(c,{class:`info-link`,to:t.$paths.getPath(`stationLocator`)},{default:q(()=>[F(P(t.$t(`products.findNearest`)),1)]),_:1},8,[`to`])]),j(`div`,Wo,[L(u,{class:`info-icon`,code:`mobile`,"aria-hidden":`true`,size:`xxl`}),j(`div`,Go,P(t.$t(`products.info2`)),1),L(c,{class:`info-link`,to:t.$paths.getPath(`st1wayApp`)},{default:q(()=>[F(P(t.$t(`products.readMoreApp`)),1)]),_:1},8,[`to`])]),j(`div`,Ko,[L(u,{class:`info-icon`,code:`info`,"aria-hidden":`true`,size:`xxl`}),j(`div`,qo,P(t.$t(`products.info3`)),1),L(c,{class:`info-link`,to:t.$paths.getPath(`washingInstructions`)},{default:q(()=>[F(P(t.$t(`readMore`)),1)]),_:1},8,[`to`])])]),j(`div`,Jo,P(Q(g).attributes?.long_description),1)],64)):a(``,!0),Q(g).attributes?.features?.length>0?(Y(),I(`div`,Yo,[j(`h2`,Xo,P(t.$t(`products.featuresTitle`)),1),(Y(!0),I(m,null,J(Q(g).attributes.features,(e,n)=>(Y(),I(`div`,{key:n,class:`feature`},[L(u,{code:`check`,class:`success`,"aria-label":t.$t(`products.includes`),"aria-hidden":`true`,size:`l`},null,8,[`aria-label`]),j(`div`,Zo,P(t.$t(`features.${e}`)),1)]))),128))])):a(``,!0)],2)):a(``,!0)],2)):a(``,!0)}}},$o=U(Qo,[[`__scopeId`,`data-v-c570fce5`]]),es=[`id`],ts={class:`inner`},ns={class:`content`},rs={key:2,class:`buttons with-text`},is={key:1},as={__name:`BlocksCLDefault`,props:{...xt,internal:{type:[String,null],default:`Card List`},display:{type:Object,default:()=>({component:`list`,alternating:`false`})}},setup(e){let t=z(`layout`),n=e,r=E(()=>{let e={root:`display-${n.display.component}`};switch(n.display.component){case`half-content`:Object.assign(e,{heading:`h2`,card:{heading:`h4`}}
1),n.display.alternating===`false`&&(e.root+=` not-alternating`);break;case`banner`:Object.assign(e,{heading:`h2`,card:{heading:`h4`}});break;default:case`list`:Object.assign(e,{root:`${e.root}${n.display.alternating===`true`?` alternating`:``}`,heading:`h2`,card:{heading:`h4`}})}return e}),i=e=>n.display.component===`banner`?`ds-btn ds-btn--small ds-btn--${e===0?`primary`:`secondary`}`:`ds-btn ds-btn--large ds-btn--${e===0?`primary`:`secondary`}`;return(n,o)=>{let s=Sn,c=W,l=K,u=gt,d=st;return n.cards.length>0?(Y(),I(`section`,{key:0,id:n.id,class:M([`cards-list`,Q(r).root])},[j(`div`,ts,[n.title?(Y(),$(s,{key:0,"is-first":n.isFirst,class:M(Q(r).heading)},{default:q(()=>[F(P(n.title),1)]),_:1},8,[`is-first`,`class`])):a(``,!0),(Y(!0),I(m,null,J(n.cards,(o,s)=>(Y(),I(`div`,{key:`card-${n.id}-${o.id}-${s}`,class:M([`card`,{[n.$cms.computedBackgroundClass(e.display,Q(t)?.name)]:!0}])},[j(`div`,ns,[o.title?(Y(),I(`h3`,{key:0,class:M(Q(r).card.heading)},P(o.title),3)):a(``,!0),o.text?(Y(),$(c,{key:1,class:`text`,content:o.text},null,8,[`content`])):a(``,!0),o.links?(Y(),I(`div`,rs,[(Y(!0),I(m,null,J(o.links.filter(e=>e.title),(r,a)=>(Y(),$(u,R({key:a},{ref_for:!0},n.$cms.parseLink(r),{class:i(a)}),{default:q(()=>[e.display.component===`quick-links`?(Y(),$(l,{key:0,code:`default-${Q(t)?.button?.ctaIconStyle??`line`}/${Q(t)?.button?.ctaIcon??`chevron-right`}`},null,8,[`code`])):(Y(),I(`span`,is,P(r.title),1))]),_:2},1040,[`class`]))),128))])):a(``,!0)]),o.image?(Y(),$(d,{key:0,asset:o.image,fill:`cover`},null,8,[`asset`])):a(``,!0)],2))),128))])],10,es)):a(``,!0)}}},os=U(as,[[`__scopeId`,`data-v-c9421ed9`]]),ss={key:0,class:`debug`},cs=U(Object.assign({inheritAttrs:!1},{__name:`BlocksDefaultContent`,setup(e){let t=E(()=>!1),n=E(()=>({...ct()}));return(e,r)=>t.value?(Y(),I(`pre`,ss,P(n.value),1)):a(``,!0)}}),[[`__scopeId`,`data-v-b66e664a`]]),ls=Object.assign({inheritAttrs:!1},{__name:`BlocksCardList`,props:{...xt,internal:{type:[String,null],default:`Card List`},display:{type:Object,default:()=>({component:`hero`})}},setup(e){let{$analytics:t,$paths:r}=c(),{loggedIn:i}=xe(n(B())),{gtm:l}=Re(),u=ct(),d=o(),f=e,p=E(()=>f.display.component===`foodMenu`?{...u,...f,menu:f.cards}:{...u,...f,cards:f.cards.filter(e=>e.contentType!==`helmisimpukkaProductMenu`).map(e=>e.contentType===`articlePage`?Object.assign({},e,{links:[{url:{contentType:`link`,type:`internal`,url:`${r.getPath(`articles`).replace(/^\//,``)}/${e.slug}`},title:d.t(`readMore`)}],text:e.description}):e)}),m=e=>{l().trackEvent({event:`select_item`,action:`click`,item_list_id:f.id,item_list_name:f.title&&f.title!==``?f.title:f.internal,items:[t.productToAnalytics(e)],event_function:`general`,logged_in_status:i.value?`logged_in`:`logged_out`,user_type:`consumer`})};return $e(`addProductGTM`,m),$e(`display`,f.display),(t,n)=>{let r=ii,i=Ei,o=ji,c=ea,l=ha,u=Ia,d=cr,f=Nr,h=co,g=mo,_=xo,y=Mo,b=$o,x=os,S=cs;return e.display.component===`hero`?(Y(),$(r,R({key:0},Q(p),{onAddProduct:m}),null,16)):e.display.component===`accordion`?(Y(),$(i,s(R({key:1},Q(p))),null,16)):e.display.component===`plain-text`?(Y(),$(o,s(R({key:2},Q(p))),null,16)):e.display.component===`banner`?(Y(),$(c,R({key:3},Q(p),{onAddProduct:m}),null,16)):e.display.component===`slider`?(Y(),$(l,s(R({key:4},Q(p))),null,16)):e.display.component===`lunch`?(Y(),$(u,s(R({key:5},Q(p))),null,16)):e.display.component===`cards`?(Y(),$(d,R({key:6,"count-override":e.display.count},Q(p),{onAddProduct:m}),v({_:2},[J(t.$slots,(e,n)=>({name:n,fn:q(e=>[H(t.$slots,n,s(it(e||{})))])}))]),1040,[`count-override`])):[`icon-cards`,`quick-links`].includes(e.display.component)?(Y(),$(f,s(R({key:7},Q(p))),null,16)):e.display.component===`foodMenu`?(Y(),$(h,R({key:8,class:`block`},Q(p)),null,16)):e.display.component===`embedded`?(Y(),$(g,s(R({key:9},Q(p))),null,16)):e.display.component===`key-figures`?(Y(),$(_,s(R({key:10},Q(p))),null,16)):e.display.component===`contentlist`?(Y(),$(y,s(R({key:11},Q(p))),null,16)):e.display.component===`product`?(Y(),$(b,R({key:12},Q(p),{onAddProduct:m}),null,16)):[`half-content`,`list`].includes(e.display.component)?(Y(),$(x,s(R({key:13},Q(p))),null,16)):e.display.component===`redirect`?a(``,!0):(Y(),$(S,s(R({key:14},Q(p))),null,16))}}}),us={class:`carwash-clinic`},ds={class:`inner`},fs={class:`h3`},ps={__name:`BlocksCarwashClinic`,props:{...xt},setup(e){let n=Hr(B()),r=e,i=Je(`results`),a=()=>{let e=window.document.querySelector(`header`),t=i.value;window&&e&&t&&window.scrollTo({behavior:`smooth`,top:t.offsetTop-e.getBoundingClientRect().height})},{recommendedProductId:s}=xe(n),c=E(()=>r.cards.map(e=>({...e,highlight:Number(e.products?.[0]?.code)===Number(s.value)}))),l=E(()=>{let e=r.cards.findIndex(e=>e?.products&&Array.isArray(e.products)&&e.products.length>0&&e.products[0]?.code===s.value);return e>-1?e:0});return t(()=>{n.setProducts(r.cards)}),o({useScope:`global`,messages:{"fi-FI":{clinic:{heading:`Mikä pesu autollesi sopii? Tee testi!`}},"en-EU":{clinic:{heading:`Mikä pesu autollesi sopii? Tee testi!`}}}}),(e,t)=>{let n=Zr,o=ls;return Y(),I(`section`,us,[j(`div`,ds,[j(`h1`,fs,P(e.$t(`clinic.heading`)),1),L(n,{onCompleted:t[0]||=e=>a()})]),j(`div`,{ref_key:`results`,ref:i},[L(o,R(r,{display:{component:`cards`},cards:Q(c),"flicking-index":Q(l)}),null,16,[`cards`,`flicking-index`])],512)])}}},ms=U(ps,[[`__scopeId`,`data-v-9b41bd27`]]),hs={baidu:`http://cang.baidu.com/do/add?iu=@u&it=@t`,bluesky:`https://bsky.app/intent/compose?text=@t%0A@u`,buffer:`https://bufferapp.com/add?text=@t&url=@u`,email:`mailto:?subject=@t&body=@u%0D%0A@d`,evernote:`https://www.evernote.com/clip.action?url=@u&title=@t`,facebook:`https://www.facebook.com/sharer/sharer.php?u=@u&title=@t&description=@d&quote=@q&hashtag=@h`,flipboard:`https://share.flipboard.com/bookmarklet/popout?v=2&url=@u&title=@t`,hackernews:`https://news.ycombinator.com/submitlink?u=@u&t=@t`,instapaper:`http://www.instapaper.com/edit?url=@u&title=@t&description=@d`,line:`http://line.me/R/msg/text/?@t%0D%0A@u%0D%0A@d`,linkedin:`https://www.linkedin.com/sharing/share-offsite/?url=@u`,messenger:`fb-messenger://share/?link=@u`,odnoklassniki:`https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=@u&st.comments=@t`,pinterest:`https://pinterest.com/pin/create/button/?url=@u&media=@m&description=@t`,pocket:`https://getpocket.com/save?url=@u&title=@t`,quora:`https://www.quora.com/share?url=@u&title=@t`,reddit:`https://www.reddit.com/submit?url=@u&title=@t`,skype:`https://web.skype.com/share?url=@t%0D%0A@u%0D%0A@d`,sms:`sms:?body=@t%0D%0A@u%0D%0A@d`,stumbleupon:`https://www.stumbleupon.com/submit?url=@u&title=@t`,telegram:`https://t.me/share/url?url=@u&text=@t%0D%0A@d`,tumblr:`https://www.tumblr.com/share/link?url=@u&name=@t&description=@d`,twitter:`https://twitter.com/intent/tweet?text=@t&url=@u&hashtags=@h&via=@tu`,x:`https://x.com/intent/post?text=@t&url=@u&hashtags=@h&via=@tu`,viber:`viber://forward?text=@t%0D%0A@u%0D%0A@d`,vk:`https://vk.com/share.php?url=@u&title=@t&image=@m&noparse=true`,weibo:`http://service.weibo.com/share/share.php?url=@u&title=@t&pic=@m`,whatsapp:`https://api.whatsapp.com/se
1nd?text=@t%0D%0A@u%0D%0A@d`,wordpress:`https://wordpress.com/press-this.php?u=@u&t=@t&s=@d&i=@m`,xing:`https://www.xing.com/social/share/spi?op=share&url=@u&title=@t`,yammer:`https://www.yammer.com/messages/new?login=true&status=@t%0D%0A@u%0D%0A@d`,threads:`https://www.threads.net/intent/post?url=@u&text=@t`},gs=()=>typeof window<`u`,_s=(e,t)=>{if(!gs())return null;let n=window.innerWidth||document.documentElement.clientWidth||window.screenX,r=window.innerHeight||document.documentElement.clientHeight||window.screenY,i=n/window.screen.availWidth,a=(n-e)/2/i+(window.screenLeft===void 0?window.screenX:window.screenLeft);return{top:(r-t)/2/i+(window.screenTop===void 0?window.screenY:window.screenTop),left:a,width:e,height:t}},vs=e=>Object.entries(e).map(([e,t])=>t?`${e}=${t}`:``).filter(e=>e).join(`,`),ys=e=>{if(!gs())return null;if(e.substring(0,4)!==`http`)return window.open(e,`_blank`);let t=_s(500,500);return t?window.open(e,`sharer`,vs(t)):null},bs=(e,t)=>{let n=window.navigator.userAgent.toLowerCase();return e===`sms`&&(n.includes(`iphone`)||n.includes(`ipad`))?t[e].replace(`:?`,`:&`):t[e]},xs=(e,t)=>t===`facebook`&&e&&e.length>0?`%23${e.split(`,`)[0]}`:e,Ss=()=>({network:``,url:``,title:``,description:``,quote:``,hashtags:``,twitterUser:``,media:``}),Cs=e=>{let t=Ss();return Object.fromEntries(Object.keys(t).map(n=>{let r=Se(e[n])||t[n];return r=n===`hashtags`?xs(r,n):encodeURIComponent(r),[n,r]}))},ws=(e,t)=>e.replace(/@tu/g,t.twitterUser).replace(/@u/g,t.url).replace(/@t/g,t.title).replace(/@d/g,t.description).replace(/@q/g,t.quote).replace(/@h/g,t.hashtags).replace(/@m/g,t.media),Ts=()=>{let e=Object.assign({},hs,z(`share-networks`,{})),t=t=>{let n=Cs(t);if(!n.network||!e[n.network])throw Error(`Network ${n.network} does not exist`);let r=bs(n.network,e);return n.network===`twitter`&&(n.hashtags.length||(r=r.replace(`&hashtags=@h`,``)),n.twitterUser.length||(r=r.replace(`&via=@tu`,``))),ws(r,n)};return{getSharingLink:t,shareLink:e=>ys(t(e))}};g({props:{network:{type:String,required:!0},url:{type:String,default:``},title:{type:String,default:``},description:{type:String,default:``},quote:{type:String,default:``},hashtags:{type:String,default:``},twitterUser:{type:String,default:``},media:{type:String,default:``}},setup(e,t){let{shareLink:n}=Ts();return()=>t.slots.default?t.slots.default({share:()=>n(e)}):S(`div`,{onClick:()=>n(e)},`Share`)}});var Es={class:`some-share`},Ds={key:0,class:`label`},Os=[`onClick`],ks={class:`sr-only`},As=Object.assign(U(Object.assign({name:`SomeShare`},{props:{label:{type:Boolean,required:!1,default:!1},sharing:{type:Object,required:!0},channels:{type:Array,required:!1,default:()=>[{network:`whatsapp`,icon:`default-fill/whatsapp`},{network:`facebook`,icon:`default-fill/facebook`},{network:`twitter`,icon:`default-fill/x`}]},size:{type:String,required:!1,default:`xl`}},setup(e){let{shareLink:t}=Ts(),n=e,r=e=>{t({network:e,...n.sharing})};return(t,n)=>{let i=K;return Y(),I(`div`,Es,[e.label?(Y(),I(`span`,Ds,P(t.$t(`dssomeshare.share`))+`:`,1)):a(``,!0),(Y(!0),I(m,null,J(e.channels,n=>(Y(),I(`button`,{key:`share-${n.network}`,type:`button`,class:`channel`,onClick:e=>r(n.network)},[L(i,{code:n.icon,size:e.size},null,8,[`code`,`size`]),j(`span`,ks,P(`${t.$t(`dssomeshare.share`)}: ${n.network}`),1)],8,Os))),128))])}}}),[[`__scopeId`,`data-v-7738c62a`]]),{__name:`DSSomeShare`}),js={class:`article`},Ms={class:`inner`},Ns={class:`article-header`},Ps={class:`h6 byline`},Fs={class:`h1`},Is={class:`meta-row`},Ls={class:`h6`},Rs={key:0,class:`tags`},zs={key:1,class:`separator`,"aria-hidden":`true`},Bs={key:2,class:`date`},Vs={class:`article-body`},Hs={class:`share`},Us=U({__name:`BlocksArticle`,props:{id:{type:String,default:``},contentType:{type:String,default:`articleBlock`},title:{type:String,default:``},byline:{type:String,default:``},image:{type:Array,default:()=>[]},alt:{type:String,default:null},created:{type:String,default:``},articleContent:{type:Object,default:()=>({})},tags:{type:Array,default:()=>[]}},setup(e){let n=N(B()),r=ke(),{gtm:i}=Re(),o=e;lt({bodyAttrs:{class:`article`}});let s=E(()=>{let e=V.fromISO(o.created);return e.isValid?e.toFormat(`d.M.yyyy`):``});t(()=>{i().push({event:`article_loaded`,article_name:o.title,article_category:o.tags.join(`, `),article_published:s.value})});let c=E(()=>({title:o.title,url:`${window?.location.protocol}//${window?.location.host}${r.path}`,description:n.meta.description,quote:``,hashtags:``}));return(t,n)=>{let r=As,i=st,o=W;return Y(),I(`article`,js,[j(`div`,Ms,[j(`div`,Ns,[j(`h4`,Ps,P(e.byline),1),j(`h1`,Fs,P(e.title),
11),j(`div`,Is,[j(`h6`,Ls,[e.tags.length?(Y(),I(`span`,Rs,P(e.tags.join(`, `)),1)):a(``,!0),e.tags.length&&Q(s)?(Y(),I(`span`,zs,`|`)):a(``,!0),Q(s)?(Y(),I(`span`,Bs,P(Q(s)),1)):a(``,!0)]),L(r,{sharing:Q(c)},null,8,[`sharing`])])]),L(i,{asset:e.image.map(t=>({...t,alt:e.alt})),class:`main-image`},null,8,[`asset`]),j(`div`,Vs,[L(o,{content:e.articleContent,"hide-some-icons":``},null,8,[`content`]),n[0]||=j(`hr`,{"aria-hidden":`true`},null,-1),j(`div`,Hs,[L(r,{sharing:Q(c)},null,8,[`sharing`])])])])])}}},[[`__scopeId`,`data-v-694f3a72`]]),Ws={class:`search-header`},Gs={class:`quick-filter-list`},Ks=[`onClick`],qs={class:`label`},Js=U({__name:`SLHeader`,props:{selected:{type:Array,required:!1,default:()=>[]},filters:{type:Object,required:!1,default:()=>({})}},emits:[`input`,`select`,`blur`],setup(e,{expose:t,emit:n}){let r=Z(``),i=Z(null),a=e,s=n,c=E(()=>{let e=[];for(let t in a.filters){let n=a.filters[t]?.filters?.filter(e=>e.quickFilter)||[];n.length>=1&&e.push(...n.map(e=>({...e,category:t})))}return e.sort((e,t)=>e.quickFilterPosition-t.quickFilterPosition),e}),l=E({get:()=>r.value,set:e=>{r.value=e,i.value&&clearTimeout(i.value),i.value=setTimeout(()=>{s(`input`,r.value)},250)}}),u=E(()=>({code:l.value.length>0?`delete`:`search`})),d=e=>typeof e==`object`?a.selected.map(e=>JSON.stringify(e)).includes(JSON.stringify(e)):a.selected.includes(e),f=()=>{l.value=``};return o({useScope:`global`,messages:{"en-EU":{searchStation:`Search stations`},"fi-FI":{searchStation:`Hae asemaa`},"de-DE":{searchStation:`Stationssuche`},"sv-SE":{searchStation:`Sök station`},"no-NO":{searchStation:`Søk stasjon`},"ru-RU":{searchStation:`Поиск станций`}}}),t({reset:f}),(e,t)=>{let n=ye,r=K;return Y(),I(`div`,Ws,[L(n,{id:`sl-search`,ref:`searchInput`,modelValue:Q(l),"onUpdate:modelValue":[t[0]||=e=>Ie(l)?l.value=e:null,t[1]||=t=>e.doSearch=!0],class:`search-input`,testtargetid:`station-locator-search-input`,label:e.$t(`searchStation`),"icon-after":Q(u),"on-click-after":f,onBlur:t[2]||=e=>s(`blur`)},null,8,[`modelValue`,`label`,`icon-after`]),t[3]||=j(`hr`,{"aria-hidden":`true`},null,-1),j(`ul`,Gs,[(Y(!0),I(m,null,J(Q(c),(t,n)=>(Y(),I(`li`,{key:`quick-filter-${n}`},[j(`button`,{class:M({selected:d(t.code)}),onClick:n=>e.$emit(`select`,t.code)},[L(r,{code:t.quickFilterIcon??t.icon,size:`xxxxl`,set:`svg`},null,8,[`code`]),j(`span`,qs,P(t.label?t.label:e.$t(`labels.${t.code}`)),1)],10,Ks)]))),128))])])}}},[[`__scopeId`,`data-v-32b9ea98`]]),Ys={key:0,class:`opening-hours`},Xs={key:0},Zs=Object.assign(U(Object.assign({name:`OpeningHours`},{props:{name:{type:String,default:null},openingHours:{type:[Array,null],required:!0}},setup(e){let{t}=o(),n=e=>[...new Set([t(`weekday.short.${e?.from.toLowerCase()}`),t(`weekday.short.${e.to.toLowerCase()}`)])].join(` - `),r=e=>e.hours.map(e=>i(e.startTime,e.endTime)).join(`, `)||`-`,i=(e,t=null)=>t?`${s(e)} - ${s(t)}`:s(e),s=e=>{let t=typeof e==`string`?e:``;return/^\d{1,2}:\d{2}:\d{2}$/.test(t)?t.slice(0,-3):t};return(t,i)=>e.openingHours?.length>0?(Y(),I(`div`,Ys,[e.name?(Y(),I(`strong`,Xs,P(e.name),1)):a(``,!0),(Y(!0),I(m,null,J(e.openingHours,(e,t)=>(Y(),I(`span`,{key:`open-hour-${t}`,class:`open-hour`},[j(`span`,null,P(n(e)),1),j(`span`,null,P(r(e)),1)]))),128))])):a(``,!0)}}),[[`__scopeId`,`data-v-da8d63e7`]]),{__name:`BlocksOpeningHours`}),Qs={class:`toggle-container`},$s={class:`text`},ec={class:`list`},tc={class:`content`},nc={class:`title h3`},rc={key:0},ic={key:1,class:`address`},ac={key:0},oc={key:1},sc={class:`h5`},cc={class:`h5`},lc={class:`fuels`},uc={class:`h5`},dc={class:`carwash-dimensions`},fc={class:`h5 title`},pc={key:0,class:`empty-list`},mc=[`onClick`],hc={class:`text`},gc={class:`title`},_c=[`onClick`],vc=[`src`],yc={class:`text`},bc={class:`title`},xc={class:`description`},Sc={key:0,class:`maintenance`},Cc={key:1,class:`open-hours`},wc={key:0,class:`direction-link`},Tc={class:`label`},Ec={class:`close`},Dc=U({__name:`SLList`,props:{closed:{type:[Boolean,null],default:null},cities:{type:Array,default:()=>[]},stations:{type:Array,default:()=>[]}},emits:[`toggleOpen`,`selectStation`,`setMap`,`clearFilters`],setup(e,{emit:t}){let{$gtm:n,$bp:r,$locator:i}=c(),s=Z(null),l=t,u=z(`selectedStation`),d=z(`layout`),f=e;s.value=f.closed??r.bps.atMostSmallDesktop??!0,X(r.bps,()=>{s.value=r.bps.atMostSmallDesktop??!1}),X(()=>s.value,e=>{l(`toggleOpen`,!e)});let p=o({useScope:`global`,messages:{"en-EU":{title:`Search station`,stationList:`Station list`,open24h:`Open 24h`,maintenance:`Maintenance`,route:`Route`,back:`Back`,noResults:`No results found`,clearFilters:`Clear Filters`},"fi-FI":{title:`Hae asemaa`,stationList:`Asemalista`,open24h:`Avoinna 24h`,helmisimpukka:`HelmiSimpukka`,fuelsHeading:`Polttoaineet`,carwash:{heading:`Autopesu`,"dimension-0":`Pesukoneen korkeus {cm} cm`,"dimension-1":`Pesukoneen leveys {cm} cm`},maintenance:`Ylläpito`,route:`Reitti`,back:`Takaisin`,noResults:`Tuloksia ei löytynyt`,clearFilters:`Tyhjennä suodattimet`},"sv-SE":{title:`Sök station`,stationList:`Stationslista`,open24h:`Öppen 24h`,maintenance:`Underhåll`,route:`Rutt`,back:`Tillbaka`,noResults:`Inga resultat hittades`,clearFilters:`Rensa filter`},"sv-FI":{title:`Sök station`,stationList:`Stationslista`,open24h:`Öppen 24h`,maintenance:`Underhåll`,route:`Rutt`,back:`Tillbaka`,noResults:`Inga resultat hittades`,clearFilters:`Rensa filter`},"no-NO":{title:`Søk stasjon`,open24h:`Åpen 24 timer`,stationList:`Stasjonsliste`,maintenance:`Vedlikehold`,route:`Rute`,back:`Tilbake`,noResults:`Ingen resultater funnet`,clearFilters:`Tøm filtre`},"de-DE":{title:`Station suchen`,stationList:`Senderliste`,open24h:`24 Stunden geöffnet`,maintenance:`Wartung`,route:`Route`,back:`Zurück`,noResults:`Keine Ergebnisse gefunden`,clearFilters:`Filter zurücksetzen`},"ru-RU":{stationList:`Список станций`,title:`Выберите станцию`,open24h:`Открыто 24ч`,maintenance:`обслуживание`,route:`Маршрут`,back:`назад`,
1noResults:`Результаты не найдены`,clearFilters:`Сбросить фильтры`}}}),h=E(()=>[...f.cities,...f.stations]),g=E(()=>{if(u.value.storeOpeningHours?.filter(e=>e?.openHours?.[0]?.startTime===`00:00:00`&&e?.openHours?.[0]?.endTime===`24:00:00`)?.length===8)return[{from:`mon`,to:`sun`,hours:[{startTime:`00:00:00`,endTime:`24:00:00`}]}];let e=[...u.value.storeOpeningHours];e.forEach((t,n)=>{e[n].day=Number(V.fromString(t.date,`yyyy-MM-dd`).toFormat(`c`))});let t=xn(e,[`day`]),n=[],r=0;return t.forEach((e,i)=>{n[r]||(n[r]={}),n[r].from||(n[r].from=V.fromString(e.date,`yyyy-MM-dd`).toFormat(`ccc`).toLowerCase()),n[r].hours=e.openHours,(!t[i+1]||JSON.stringify(e.openHours)!==JSON.stringify(t[i+1].openHours))&&(n[r].to=V.fromString(e.date,`yyyy-MM-dd`).toFormat(`ccc`).toLowerCase(),r++)}),n}),_=async e=>{try{let{results:t}=await(await new google.maps.Geocoder).geocode({placeId:e}),{0:n}=t;l(`setMap`,{lat:n.geometry.location.lat(),lng:n.geometry.location.lng(),zoom:11})}catch{throw Error(`Geocoder lookup failed`)}},v=e=>{let{lat:t,lon:n}={...e.location};return t&&n?`https://maps.google.com/?daddr=${t},${n}`:null},y=(e,t)=>{e.stopPropagation(),n&&n.push({content_type:`directions`,link_label:t,outbound:`true`,event:`click`})};function b(e=``){let t=e.toLowerCase();switch(d?.name??``){case`ploq`:switch(t){case`välkommen in`:return`/images/st1-dsc/stationlocator/welcomein.png`;default:return`/images/st1-dsc/stationlocator/ploq-logo.svg`}case`realmat`:return`/images/st1-dsc/stationlocator/real-logo.png`;default:switch(t){case`shell`:return`/images/st1-dsc/stationlocator/shell-logo.png`;default:return`/images/st1-dsc/stationlocator/st1-logo.webp`}}}return(e,t)=>{let n=K,r=Zs,o=ut,c=gt;return Y(),I(`div`,{class:M([`station-list`,{closed:s.value}])},[j(`div`,Qs,[j(`button`,{class:`toggle`,onClick:t[0]||=()=>{s.value=!s.value}},[L(n,{code:`chevron-right`,size:`s`}),j(`span`,$s,P(e.$t(`stationList`)),1)]),H(e.$slots,`toggle-container`,{},void 0,!0)]),j(`div`,ec,[L(o,{class:`single-station`,"override-overflow":!0,open:Object.keys(Q(u)).length>0},{default:q(()=>[j(`div`,null,[j(`button`,{class:`header back`,onClick:t[1]||=e=>u.value={}},[L(n,{code:`caret-right`,size:`l`}),j(`span`,null,P(e.$t(`back`)),1)]),j(`div`,tc,[j(`h3`,nc,P(Q(u).name),1),Q(u).description?(Y(),I(`p`,rc,P(Q(u).description),1)):a(``,!0),Q(u).street?(Y(),I(`p`,ic,[Q(u).street?(Y(),I(`span`,ac,P(Q(u).street),1)):a(``,!0),Q(u).postcode&&Q(u).municipality?(Y(),I(`span`,oc,P(`${Q(u).postcode} ${Q(u).municipality}`),1)):a(``,!0)])):a(``,!0),Q(u).storeOpeningHours?(Y(),I(m,{key:2},[t[4]||=j(`hr`,{"aria-hidden":`true`},null,-1),j(`h4`,sc,P(e.$t(`openingHours`)),1),g.value?(Y(),$(r,{key:0,icon:`clock`,"opening-hours":g.value},null,8,[`opening-hours`])):a(``,!0)],64)):a(``,!0),Q(u).fuels?.length>0?(Y(),I(m,{key:3},[t[5]||=j(`hr`,{"aria-hidden":`true`},null,-1),j(`h4`,cc,P(e.$t(`fuelsHeading`)),1),j(`div`,lc,[(Y(!0),I(m,null,J(Q(u).fuels,(t,n)=>(Y(),I(`span`,{key:`fuel-${n}`},P(e.$t(`stationAttributes.${t}`)),1))),128))])],64)):a(``,!0),Q(u).carWashSize?(Y(),I(m,{key:4},[t[6]||=j(`hr`,{"aria-hidden":`true`},null,-1),j(`h4`,uc,P(e.$t(`carwash.heading`)),1),j(`div`,dc,[(Y(!0),I(m,null,J(Q(u).carWashSize.split(`/`),(t,n)=>(Y(),I(`span`,{key:`dimension-${n}`},P(e.$t(`carwash.dimension-${n}`,{cm:t})),1))),128))])],64)):a(``,!0)])])]),_:1},8,[`open`]),L(o,{"override-overflow":!0,open:Object.keys(Q(u)).length===0},{default:q(()=>[j(`h1`,fc,P(Q(p).t(`title`)),1),h.value.length?a(``,!0):(Y(),I(`div`,pc,[j(`p`,null,P(Q(p).t(`noResults`)),1),j(`button`,{class:`ds-btn ds-btn--primary`,onClick:t[2]||=()=>l(`clearFilters`)},P(Q(p).t(`clearFilters`)),1)])),(Y(!0),I(m,null,J(h.value,(e,t)=>(Y(),I(m,null,[e.placeId?(Y(),I(`button`,{key:`city-${e.placeId}`,class:`station`,onClick:t=>_(e.placeId)},[L(n,{code:`default-fill/city`,size:`xxxxl`}),j(`div`,hc,[j(`h4`,gc,P(e.title),1)])],8,mc)):(Y(),I(`button`,{key:`station-${e.id}-${t}`,class:M([`station`,{selected:Q(u).id===e.id}]),onClick:t=>l(`selectStation`,e)},[j(`img`,{class:`logo`,src:b(e.brand)},null,8,vc),j(`div`,yc,[j(`h4`,bc,P(e.name),1),j(`span`,xc,P(e.description),1),e.isClosed?(Y(),I(`span`,Sc,[L(n,{code:`default-fill/exclamation`}),F(` `+P(Q(p).t(`maintenance`)),1)])):(Y(),I(`span`,Cc,P(Q(i).getTodayOpeningHours(e.storeOpeningHours,Q(p))),1))]),Number(e.location?.lat)!==0&&Number(e.location?.lon)!==0?(Y(),I(`div`,wc,[L(c,{href:v(e),class:`direction-icon`,onClick:t=>y(t,e.title)},{default:q(()=>[L(n,{code:`default-fill/directions`,size:`xl`})]),_:1},8,[`href`,`onClick`]),j(`span`,Tc,P(Q(p).t(`route`)),1)])):a(``,!0)],10,_c))],64))),256))]),_:1},8,[`open`])]),j(`div`,{class:`mobile-background`,onClick:t[3]||=()=>s.value=!s.value},[j(`button`,Ec,[L(n,{code:`chevron-right`,size:`s`})])])],2)}}},[[`__scopeId`,`data-v-35911c25`]]),Oc={class:`text`},kc={key:0,class:`count`},Ac={class:`detailed-filters`},jc={class:`heading`},Mc={class:`h5`},Nc={class:`count`,testtargetid:`station-locator-count-badge`},Pc=[`testtargetid`],Fc=[`testtargetid`,`onClick`],Ic={class:`title`},Lc={class:`close`},Rc=U({__name:`SLFilters`,props:{selected:{type:Array,required:!1,default:()=>[]},count:{type:Object,required:!1,default:()=>({filtered:0,total:0})},filters:{type:Object,required:!1,default:()=>({})}},emits:[`select`],setup(e){let t=Z(!1);return o({useScope:`global`,messages:{"en-EU":{filters:`Filters`,filtering:`Filter stations`},"fi-FI":{filters:`Suodatin`,filtering:`Suodata asemia`},"sv-SE":{filters:`Filter`,filtering:`Filtrera stationer`},"no-NO":{filters:`Filter`,filtering:`Filter`},"de-DE":{filters:`Filter`,filtering:`Auswahl eingrenzen`},"ru-RU":{filters:`фильтры`,filtering:`Поиск по станциям`}}}),(n,r)=>{let i=K;return Y(),I(`div`,{class:M([`filters-list`,{open:t.value}])},[j(`button`,{class:`toggle`,onClick:r[0]||=()=>t.value=!t.value},[L(i,{code:`default-line/filter`,size:`l`}),j(`span`,Oc,P(n.$t(`filters`)),1),e.count.filtered>0?(Y(),I(`span`,kc,P(e.count.filtered),1)):a(``,!0)]),j(`div`,Ac,[j(`div`,jc,[j(`h3`,Mc,P(n.$t(`filtering`)),1
1),j(`span`,Nc,P(e.count.filtered)+` / `+P(e.count.total),1)]),(Y(!0),I(m,null,J(e.filters,({filters:t},r)=>(Y(),I(`div`,{key:r,class:`filter-group`},[j(`h4`,{class:`h5`,testtargetid:`station-locator-filter-group-${r}`},P(r),9,Pc),(Y(!0),I(m,null,J(t,(t,o)=>(Y(),I(`button`,{key:`button-${r}-${o}`,class:M([`ds-btn filter`,{selected:e.selected.includes(t.code)}]),testtargetid:`station-locator-filter-${t.code}`,onClick:e=>n.$emit(`select`,t.code)},[t.icon?(Y(),$(i,{key:0,size:`xl`,code:t.icon,set:`svg`},null,8,[`code`])):a(``,!0),j(`span`,Ic,P(t.label),1)],10,Fc))),128))]))),128))]),j(`div`,{class:`mobile-background`,onClick:r[1]||=()=>t.value=!t.value},[j(`button`,Lc,[L(i,{code:`chevron-left`,size:`s`})])])],2)}}},[[`__scopeId`,`data-v-556ca12c`]]),zc=[`id`],Bc=U({__name:`SLMain`,props:{id:{type:String,required:!1,default:``},contentType:{type:String,required:!1,default:`externalDatasource`},type:{type:String,required:!1,default:`stationlocator`},filters:{type:Object,required:!1,default:()=>({})},data:{type:Array,required:!1,default:()=>[]}},setup(e){u(e=>({v1aca4525:Q(f)}));let{$bp:n}=c(),r=Z(null),i=Z(null),{stationPages:{enabled:s}={enabled:!1}}={...vt().public.locator},l=ke(),d=Z({}),f=Z(`100vh`),p=Z(``),{toggleUserLocation:h,findUserLocation:g,userLocation:_,userLocationPermissionDenied:v}=Li(),y=e,b=o({useScope:`global`,messages:{"en-EU":{back:`Back`,open24h:`Open 24h`,helmisimpukka:`HelmiSimpukka`,openingHours:`Opening hours`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,day:{today:`Today`,tomorrow:`Tomorrow`,1:`Monday`,2:`Tuesday`,3:`Wednesday`,4:`Thursday`,5:`Friday`,6:`Saturday`,7:`Sunday`},locationPermissionDenied:`User location permission has been denied, please allow location to see your nearby stations.`},"fi-FI":{back:`Takaisin`,open24h:`Avoinna 24h`,helmisimpukka:`HelmiSimpukka`,zoomIn:`Suurenna`,zoomOut:`Pienennä`,openingHours:`Aukioloajat`,day:{today:`Tänään`,tomorrow:`Huomenna`,1:`Maanantai`,2:`Tiistai`,3:`Keskiviikko`,4:`Torstai`,5:`Perjantai`,6:`Lauantai`,7:`Sunnuntai`},locationPermissionDenied:`Sijainnin jakoa ei ole sallittu käyttäjän toimesta, salli sijainti nähdäksesi lähimmät asemat.`},"sv-SE":{helmisimpukka:`HelmiSimpukka`,zoomIn:`Zooma in`,zoomOut:`Zooma ut`,day:{today:`Idag`,tomorrow:`Imorgon`,1:`Måndag`,2:`Tisdag`,3:`Onsdag`,4:`Torsdag`,5:`Fredag`,6:`Lördag`,7:`Söndag`},locationPermissionDenied:`Användarens platsbehörighet har nekats, vänligen tillåt plats för att se dina närmaste stationer.`},"no-NO":{helmisimpukka:`HelmiSimpukka`,zoomIn:`Forstørr`,zoomOut:`Zoom ut`,day:{today:`I dag`,tomorrow:`I morgen`,1:`Mandag`,2:`Tirsdag`,3:`Onsdag`,4:`Torsdag`,5:`Fredag`,6:`Lørdag`,7:`Søndag`},locationPermissionDenied:`Brukerens plasseringstillatelse er nektet, vennligst tillat plassering for å se dine nærmeste stasjoner.`},"de-DE":{helmisimpukka:`HelmiSimpukka`,zoomIn:`Vergrößern`,zoomOut:`Herauszoomen`},"ru-RU":{helmisimpukka:`HelmiSimpukka`,zoomIn:`увеличить`,zoomOut:`уменьшить масштаб`}}}),x=e=>String(e).replace(/^(finland|sweden|norway)\//,``),S=E(()=>y.data.map(({path:e,station:t})=>{let n=(t.services??[]).map(x),r=(t.fuels??[]).map(x),i=(t.stationTypes??[]).map(x),a=(t.trucks??[]).map(x),o=(t.chargings??[]).map(x);return{path:e,...t,brand:n.includes(`ploq`)?`ploq`:t?.brand,fuels:r,stationAttributes:[...n,...i,...r,...a,...o]}})),C=Z([]),w=E(()=>{if(y.filters&&typeof y.filters==`object`){let{hideFilters:e,...t}=y.filters;if(Object.keys(t).length>0)return t}return{}}),T=E(()=>Object.values(w.value).flatMap(({filters:e})=>e.flatMap(({code:e,inclusive:t=!1})=>e.split(`,`).map(e=>({code:e,inclusive:t}))))),ee=E(()=>{let e=new Map;return T.value.forEach(({code:t,inclusive:n})=>{e.has(t)||e.set(t,n)}),e}),D=E(()=>C.value.flatMap(e=>e.split(`,`)).reduce((e,t)=>(ee.value.get(t)?e.inclusive.push(t):e.exclusive.push(t),e),{inclusive:[],exclusive:[]})),O=E(()=>{let e=C.value.length===0,t=p.value===``,n=[`veneasema`,`cbg`,`lbg`],r=[`veneasema`,`cbg`,`lbg`],i=[`cng`,`lbg`],a=b.locale.value,o=e=>t=>{if(a===`fi-FI`){if(t===`servicestation`)return e.stationAttributes.includes(`servicestation`)&&n.every(t=>!e.stationAttributes.includes(t));if(t===`service24hours`)return e.stationAttributes.includes(`service24hours`)&&r.every(t=>!e.stationAttributes.includes(t))}else if(a===`sv-SE`){if(t===`laddstation`)return e.stationAttributes.includes(`laddstation`)&&!e.name.toLowerCase().includes(`laddning`);if(t===`shell`)return e.stationAttributes.includes(`shell`)&&i.every(t=>!e.stationAttributes.includes(t))}else if(a===`no-NO`&&t===`expressautomaticstation`)return e.stationAttributes.includes(`expressautomaticstation`)&&!e.name.toLowerCase().includes(` crt `);return e.stationAttributes.includes(t)},s=e=>{let{inclusive:t,exclusive:n}=D.value;return(n.length===0||n.every(o(e)))&&(t.length===0||t.some(o(e)))},c=e=>e.name.toLowerCase().includes(p.value.toLowerCase())||e.fullAddress?.toLowerCase().includes(p.value.toLowerCase());return(e&&t?S.value:S.value.filter(e=>t||c(e)).filter(t=>e||s(t))).sort((e,t)=>
1e.name.toUpperCase()<t.name.toUpperCase()?-1:1)}),k=E(()=>r?.value?.googleMap?.ready&&O.value.length>0?O.value.filter(e=>!isNaN(Number(e.location?.lat))&&!isNaN(Number(e.location?.lon))&&Number(e.location?.lat)!==0&&Number(e.location?.lon)!==0).map(e=>({id:e.id,name:e.name,brand:e.brand,isClosed:e.isClosed,description:P(e.stationAttributes),position:{lat:Number(e.location?.lat),lng:Number(e.location?.lon)},path:e.path})):[]),te=()=>{r.value.fitMapToClosestMarkers(_.value,k.value.map(({position:e})=>({position:e})))},ne=e=>{e?.reason===`permissionDenied`&&c().$dsc.msg.warn(`locationPermissionDenied`),r.value.fitMapViewToMarkers(k.value)};X(v,e=>{e===!0&&c().$dsc.msg.warn(`locationPermissionDenied`)},{once:!0});let{gtm:re}=Re();$e(`selectedStation`,d);let A={lat:62,lng:18,zoom:5},ie=Z(!0),ae=Z({lat:62,lng:18}),oe=Z(5),j=E(()=>!!y.filters?.hideFilters),se=Array.isArray(l.query.q)?l.query.q[0]:Array.isArray(l.query.filters)?l.query.filters[0]:l.query.q??l.query.filters;typeof se==`string`&&se.length>0&&(C.value=se.split(`|`)),X(k,e=>{r.value&&r.value.fitMapViewToMarkers(e)}),X(()=>JSON.stringify(n.bps),()=>{n.bps.isSmallDesktop?ie.value=!0:ie.value=!1;let{height:e}=window.document.querySelector(`header`).getBoundingClientRect();e&&(f.value=`calc(100vh - ${Math.round(e)}px)`)});let ce=async()=>{await r.value.fitMapViewToMarkers(k.value),C.value.length===0&&Object.keys(w.value).length>0&&Object.values(w.value).forEach(e=>{typeof e.filters==`object`&&e.filters.filter(e=>e.selected).forEach(e=>{C.value.push(e.code)})}),g(()=>{te()})},N=Z([]);t(()=>{let{height:e}=window.document.querySelector(`header`).getBoundingClientRect();e&&(f.value=`calc(100vh - ${e}px)`)});function P(e){return Object.values(e).includes(`helmisimpukka`)?b.t(`helmisimpukka`):Object.values(e).includes(`helmisimpukkaexpress`)?b.t(`helmisimpukkaexpress`):``}async function le(e){let{places:t}=await r.value.googleMap.api;N.value=[],new t.AutocompleteService().getPlacePredictions({input:e,componentRestrictions:{country:[`fi`,`se`,`no`]},types:[`(cities)`]},e=>{N.value=e?.map(e=>({placeId:e.place_id,title:e.structured_formatting?.main_text})).splice(0,3)??[]})}function ue(e){if(me(`view`,{station_id:e.id,station_name:e.name}),s)return pt(`/${e.path}`),!1;let{lat:t,lon:n}={...e.location};F({lat:Number(t),lng:Number(n),zoom:11}),d.value=S.value.find(t=>t.id===e.id)}function F(e){e.lat&&e.lng&&(ae.value={lat:e.lat,lng:e.lng},r.value.setCenter(e)),e.zoom&&(oe.value=e.zoom,r.value.setZoom(e.zoom))}let de=()=>r.value?{renderer:{render({count:e,position:t}){return new r.value.googleMap.api.Marker({label:{text:String(e),color:`#000`,fontWeight:`bold`},position:t,icon:{url:`/images/st1-dsc/stationlocator/cluster-pin.png`}})}}}:{};function fe(e){if(p.value=e,e===``){N.value=[],F(A);return}le(e)}function pe(e){let{value:t}=C,n=t.map(e=>JSON.stringify(e)),r=JSON.stringify(e),i=`off`;if(n.includes(r)){let e=n.indexOf(r);t.splice(e,1)}else t.includes(e)?t.splice(t.indexOf(e),1):(i=`on`,t.push(e));me(`filter`,{station_search:{filters:e,filter_state:i}}),R()}function R(){let{path:e}=l,{value:t}=C;if(t.length>0){history.pushState({},document.title,`${e}?q=${t.join(`|`)}`);return}history.pushState({},document.title,`${e}`)}function me(e,t){let n={station_search:{filters:C.value.length?C.value.join(`|`):`unfiltered`}};switch(e!==`view`&&(n.search_term=p.value.length>0?p.value.toLowerCase():`no search term`),e){case`search`:O.value.length===0?me(`empty`):re().push({event:`station_search`,...n});break;case`filter`:p.value&&me(`search`),re().push({event:`station_search_filter`,...n,...t});break;case`view`:re().push({event:`station_view`,...t});break;case`empty`:re().push({event:`struggle`,...n,gtm:{error_status:Ue.NO_CONTENT,error_code:`failed.station.search`,error_text:`station search with zero results`,error_type:`struggle`}})}}let z=()=>{C.value=[],i.value.reset(),R()};return(t,n)=>{let o=Js,s=Dc,c=Rc,l=be(`GoogleMapMarkerCluster`),u=Mi;return Y(),I(`section`,{id:`station-locator-${e.id}`,ref:`dsstationlocator`,class:M([`station-locator`,{"pin-hover-active":Q(oe)>7}])},[L(o,{ref_key:`header`,ref:i,filters:Q(w),selected:Q(C),onInput:fe,onSelect:pe,onBlur:n[0]||=e=>me(`search`)},null,8,[`filters`,`selected`]),L(s,{cities:Q(N),stations:Q(O),onSelectStation:ue,onSetMap:F,onToggleOpen:n[2]||=e=>ie.value=e,onClearFilters:z},{"toggle-container":q(()=>[L(Q(Hi),{class:`location`,onLocationToggle:n[1]||=()=>Q(h)(te,ne)})]),_:1},8,[`cities`,`stations`]),Q(j)?a(``,!0):(Y(),$(c,{key:0,count:{filtered:Q(O).length,total:Q(S).length},filters:Q(w),selected:Q(C),onSelect:pe},null,8,[`count`,`filters`,`selected`])),L(Q(Vi),{class:`zoom`,onIncreaseZoom:n[3]||=()=>Q(r).zoomLevel++,onDecreaseZoom:n[4]||=()=>Q(r).zoomLevel--}),L(Q(Hi),{class:`location`,onLocationToggle:n[5]||=()=>Q(h)(te,ne)}),L(u,{ref_key:`map`,ref:r,class:M([`map-container`,{"sidebar-open":Q(ie)}]),"map-id":`station-locator-${e.id}`,onMapReady:ce},{default:q(()=>[Q(_)?(Y(),$(Q(Ki),{key:0})):a(``,!0),L(l,{options:de()},{default:q(()=>[(Y(!0),I(m,null,J(Q(k),e=>(Y(),$(Q(Gi),{key:`marker-${e.id}`,marker:e,"reveal-name-on-hover":Q(r)?.zoomLevel>7,onOnStationClick:t=>ue(e)},null,8,[`marker`,`reveal-name-on-hover`,`onOnStationClick`]))),128))]),_:1},8,[`options`])]),_:1},8,[`map-id`,`class`])],10,zc)}}},[[`__scopeId`,`data-v-468d41e1`]]),Vc={key:0},Hc={key:0},Uc={key:1},Wc={key:1,class:`complete`},Gc={class:`h2`},Kc={class:`h4`},qc={key:0},Jc={class:`city`},Yc={class:`h4`},Xc=U({__name:`BlocksMunkkimellakkaSummary`,props:{step:{type:Number,required:!1,default:0},station:{type:[Object,null],required:!1,default:null},dateString:{type:[String,null],required:!1,default:null},selectedProducts:{type:[Array,null],required:!1,default:null}},setup(e){let t=z(`order`),n=e,r=E(()=>!n.dateString||!t.data.value.time?``:`${n.dateString}, ${t.data.value.time}`),{t:i}=o({useScope:`global`,messages:{"fi-FI":{summary:`Yhteenveto`,station:`Asema`,when:`Milloin`,whenAndWhere:`Missä ja milloin`,order:`Tilaus`,details:`Lisätiedot`,pickupTime:`Noutoaika`,contactPerson:`Yhteyshenkilö`,phone:`Puhelinnumero`,email:`Sähköposti`}}});return(n,o)=>e.step>1&&e.step<4?(Y(),I(`div`,Vc,[e.station?(Y(),I(`div`,Hc,[F(P(Q(i)(`station`))+`: `,1),j(`strong`,null,P(e.station.name),1)])):a(``,!0),e.step>2?(Y(),I(`div`,Uc,[F(P(Q(i)(`when`))+`: `,1),j(`strong`,null,P(Q(r)),1)])):a(``,!0)])):e.step===4?(Y(),I(`div`,Wc,[j(`h2`,Gc,P(Q(i)(`summary`)),1),j(`p`,null,P(Q(i)(`paymentOnLocation`)),1),j(`p`,null,P(Q(i)(`orderIsConfirmed`)),1),j(`h3`,Kc,P(Q(i)(`whenAndWhere`)),1),j(`div`,null,P(Q(i)(`station`))+`:`,1),e.station?(Y(),I(`address`,qc,[j(`strong`,null,P(e.station.name),1),j(`strong`,null,[F(P(e.station.street)+`, `+P(e.station.postcode)+` `,1),j(`span`,Jc,P(e.station.city?.toLowerCase()),1)]),j(`strong`,null,P(e.station.telep
1hone),1)])):a(``,!0),j(`div`,null,P(Q(i)(`order`))+`:`,1),j(`ul`,null,[(Y(!0),I(m,null,J(e.selectedProducts,(e,t)=>(Y(),I(`li`,{key:`product-${t}`},[j(`strong`,null,P(e),1)]))),128))]),Q(t).data.value.details?(Y(),I(m,{key:1},[j(`div`,null,P(Q(i)(`details`))+`:`,1),j(`strong`,null,P(Q(t).data.value.details),1)],64)):a(``,!0),j(`div`,null,P(Q(i)(`pickupTime`))+`:`,1),j(`strong`,null,P(Q(r)),1),j(`h3`,Yc,P(Q(i)(`step3.title`)),1),j(`div`,null,P(Q(i)(`contactPerson`))+`:`,1),j(`strong`,null,P(Q(t).data.value.contact),1),j(`div`,null,P(Q(i)(`phone`))+`:`,1),j(`strong`,null,P(Q(t).data.value.phone),1),j(`div`,null,P(Q(i)(`email`))+`:`,1),j(`strong`,null,P(Q(t).data.value.email),1)])):a(``,!0)}},[[`__scopeId`,`data-v-be9b698c`]]),Zc={class:`h2`},Qc=[`onClick`],$c=U(Object.assign({name:`MMStep1`,inheritAttrs:!1},{__name:`BlocksMunkkimellakkaStep1`,props:{stations:{type:Array,required:!1,default:()=>[]},selected:{type:[Object,null],required:!1,default:null}},setup(e){let t=z(`order`),n=Z(``),r=e,i=E(()=>r.stations.filter(e=>!n.value||e.name.toLowerCase().includes(n.value.toLowerCase())).sort(a));function a(e,t){let n=e=>{let[,...t]=e.split(` `);return t.join(``).toLowerCase()},r=n(e.name),i=n(t.name);return r<i?-1:+(r>i)}let{t:s}=o({useScope:`global`,messages:{"fi-FI":{step1:{title:`Mistä haluatte hakea?`,text:`Valitse asema alla olevasta listasta`,chooseStation:`Hae asema`,selectedStation:`Valittu asema`}}}});return(r,a)=>{let o=ye;return Y(),I(m,null,[j(`h2`,Zc,P(Q(s)(`step1.title`)),1),j(`p`,null,[F(P(e.selected?Q(s)(`step1.selectedStation`):Q(s)(`step1.text`))+`: `,1),j(`strong`,null,P(e.selected?.name),1)]),L(o,{modelValue:Q(n),"onUpdate:modelValue":a[0]||=e=>Ie(n)?n.value=e:null,label:Q(s)(`step1.chooseStation`)},null,8,[`modelValue`,`label`]),(Y(!0),I(m,null,J(Q(i),e=>(Y(),I(`button`,{key:e.name,class:M([{active:Q(t).data.value.station===e.id},`result`]),onClick:n=>Q(t).data.value.station=e.id},[j(`div`,null,P(e.name),1)],10,Qc))),128))],64)}}}),[[`__scopeId`,`data-v-133316ab`]]),el=[`disabled`],tl={class:`label`},nl=[`min`,`max`,`step`,`value`,`disabled`],rl=[`disabled`],il=2,al=U({__name:`DSNumber`,props:{cssClass:{type:[String,Array,Object],required:!1,default:void 0},minValue:{type:Number,required:!1,default:0,validator:e=>Number.isInteger(e)},maxValue:{type:Number,required:!1,default:1e3,validator:e=>Number.isInteger(e)},step:{type:Number,required:!1,default:1,validator:e=>Number.isInteger(e)},modelValue:{type:[String,Number],default:0},error:{type:[String],required:!1,default:null},disabled:{type:Boolean,required:!1,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){u(e=>({c5513926:Q(p)}));let{abs:n,ceil:r,floor:i,max:a}=Math,{$dsc:o}=c(),s=e;o.production||(s.maxValue<=s.minValue&&console.warn(`DSNumber: min-value must be smaller than max-value.`),n(i(s.maxValue)-r(s.minValue))/s.step<il&&console.warn(`DSNumber: step is possibly incorrect.`));let l=t,d=Z(null),f=Z(!1),p=E(()=>{let e=+(s.maxValue<0||s.minValue<0),t=e=>String(e).length;return`${a(t(s.minValue),t(s.maxValue))+e+2}ch`}),m=e=>Number(e.replace(/-\D/g,``)),h=E({get:()=>String(s.modelValue),set:e=>{if([``,`-`].includes(d.value?.value))return;let t=e>s.maxValue?s.maxValue:e<s.minValue?s.minValue:e;d.value.value=t,l(`update:modelValue`,t)}});return(t,n)=>{let r=K;return Y(),I(`div`,{class:M([`ds-number`,{"has-error":e.error,disabled:e.disabled,"is-active":Q(f),...e.cssClass}])},[j(`button`,{class:`ds-btn ds-btn--primary`,disabled:e.disabled||e.modelValue!==``&&Number(e.modelValue)<=e.minValue,type:`button`,"aria-label":`Reduce`,onClick:n[0]||=t=>h.value=m(Q(h))-e.step,onFocus:n[1]||=e=>f.value=!0,onBlur:n[2]||=e=>f.value=!1}
1,[L(r,{code:`minus`})],40,el),j(`div`,tl,[j(`input`,{ref_key:`numberInput`,ref:d,type:`number`,min:e.minValue,max:e.maxValue,step:e.step,value:Q(h),disabled:e.disabled,onInput:n[3]||=e=>h.value=e.target.value,onFocus:n[4]||=e=>f.value=!0,onBlur:n[5]||=e=>f.value=!1},null,40,nl)]),j(`button`,{class:`ds-btn ds-btn--primary`,disabled:e.disabled||e.modelValue!==``&&Number(e.modelValue)>=e.maxValue,type:`button`,"aria-label":`Increase`,onClick:n[6]||=t=>h.value=m(Q(h))+e.step,onFocus:n[7]||=e=>f.value=!0,onBlur:n[8]||=e=>f.value=!1},[L(r,{code:`plus`})],40,rl)],2)}}},[[`__scopeId`,`data-v-206686ed`]]),ol={class:`h2`},sl={class:`station-opening-hours`},cl={class:`menu`},ll={class:`h5`},ul={class:`price`},dl={class:`sum`},fl={class:`sum-products`},pl={class:`h5`},ml={key:0},hl={class:`price`},gl=U({__name:`BlocksMunkkimellakkaStep2`,props:{station:{type:[Object,null],required:!0}},setup(e){let t=z(`order`),n=z(`products`),r=z(`total`),i=z(`date`),s=e,c=E(()=>{let[e,t]=i.split(`.`).map(Number),n=new Date().getFullYear(),r=new Date(n,t-1,e).getDay(),a=s.station.storeOpeningHours.find(e=>new Date(e.date).getDay()===r);function o(e){let t=typeof e==`string`?e:``;return/^\d{1,2}:\d{2}:\d{2}$/.test(t)?t.slice(0,-3):t}let{startTime:c,endTime:l}=a?.openHours?.[0]||{};return`${o(c)} - ${o(l)}`}),{t:l}=o({useScope:`global`,messages:{"fi-FI":{step2:{title:`Valitse munkkipaketti ja noutoaika`,date:`Päivämäärä`,time:`Noutoaika`,sum:`Yhteensä`,pcsSummary:`{amount}kpl ({pcs} munkkia)`,details:`Lisätoiveita / muita huomioita`,productAmountError:`Valitse vähintään yksi tuote`,"opening-hours":`Aseman aukioloajat`}}}});return(e,o)=>{let s=ye,u=al;return Y(),I(m,null,[j(`h2`,ol,P(Q(l)(`step2.title`)),1),L(s,{modelValue:Q(i),"onUpdate:modelValue":o[0]||=e=>Ie(i)?i.value=e:null,label:Q(l)(`step2.date`),readonly:``},null,8,[`modelValue`,`label`]),j(`div`,sl,[j(`h3`,null,P(Q(l)(`step2.opening-hours`))+`:`,1),j(`span`,null,P(Q(c)),1)]),L(s,{modelValue:Q(t).data.value.time,"onUpdate:modelValue":o[1]||=e=>Q(t).data.value.time=e,autofocus:``,label:Q(l)(`step2.time`)},null,8,[`modelValue`,`label`]),L(s,{modelValue:Q(t).data.value.details,"onUpdate:modelValue":o[2]||=e=>Q(t).data.value.details=e,label:Q(l)(`step2.details`)},null,8,[`modelValue`,`label`]),j(`div`,cl,[(Y(!0),I(m,null,J(Q(n),(n,r)=>(Y(),I(`div`,{key:`product-${r}`,class:`product`},[j(`h3`,ll,P(n.product),1),j(`span`,ul,P(e.$cms.formatPrice(n.price)),1),L(u,{modelValue:Q(t).data.value.products[r],"onUpdate:modelValue":e=>Q(t).data.value.products[r]=e,class:`amount`,type:`number`,"max-value":200},null,8,[`modelValue`,`onUpdate:modelValue`])]))),128)),j(`div`,dl,[j(`div`,fl,[j(`h3`,pl,P(Q(l)(`step2.sum`)),1),Q(r).amount?(Y(),I(`span`,ml,P(Q(l)(`step2.pcsSummary`,Q(r))),1)):a(``,!0)]),j(`span`,hl,P(e.$cms.formatPrice(Q(r).price)),1)])])],64)}}},[[`__scopeId`,`data-v-d06caae5`]]),_l={class:`h2`},vl={__name:`BlocksMunkkimellakkaStep3`,setup(e){let t=z(`order`),{t:n}=o({useScope:`global`,messages:{"fi-FI":{step3:{title:`Tilaajan yhteystiedot`,contactPerson:`Yhteyshenkilö`,address:`Osoite`,phone:`Puhelinnumero`,email:`Sähköposti`,confirmEmail:`Asema varmistaa tilauksesi sähköpostitse, varmista sähköpostiosoitteesi`,emailConfirmed:`Olen tarkistanut sähköpostiosoitteeni`}}}});return(e,r)=>{let i=ye;return Y(),I(`div`,null,[j(`h2`,_l,P(Q(n)(`step3.title`)),1),j(`p`,null,P(Q(n)(`paymentOnLocation`)),1),j(`p`,null,P(Q(n)(`orderIsConfirmed`)),1),L(i,{modelValue:Q(t).data.value.contact,"onUpdate:modelValue":r[0]||=e=>Q(t).data.value.contact=e,label:Q(n)(`step3.contactPerson`),"help-text":Q(n)(`dsform.required`),error:Q(t).errors.value.contact},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(i,{modelValue:Q(t).data.value.phone,"onUpdate:modelValue":r[1]||=e=>Q(t).data.value.phone=e,label:Q(n)(`step3.phone`),"help-text":Q(n)(`dsform.required`),error:Q(t).errors.value.phone},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(i,{modelValue:Q(t).data.value.email,"onUpdate:modelValue":r[2]||=e=>Q(t).data.value.email=e,label:Q(n)(`step3.email`),"help-text":Q(n)(`dsform.required`),error:Q(t).errors.value.email},null,8,[`modelValue`,`label`,`help-text`,`error`])])}}},yl={__name:`DSWrapper`,props:{wrap:{type:Boolean,required:!0},tag:{type:String,default:`div`},role:{type:String,default:null}},setup(e){return(t,n)=>e.wrap?(Y(),$(G(e.tag),{key:0,role:e.role},{default:q(()=>[H(t.$slots,`default`)]),_:3},8,[`role`])):H(t.$slots,`default`,{},void 0,void 0,1)}},bl=[`onClick`],xl=[`id`,`name`,`disabled`,`value`],Sl=[`id`,`name`,`value`],Cl={class:`ds-switch__slider`},wl=[`id`,`name`,`disabled`,`value`],Tl={key:0,class:`text-after error`},El={__name:`DSSwitches`,props:{type:{type:String,default:`checkbox`},label:{type:String,default:``},options:{type:[Array,Object],default:()=>[]},modelValue:{type:null,required:!0},name:{type:String,default:null},error:{type:String,default:``},wrap:{type:Boolean,default:null},boxed:{type:Boolean,default:!1},showValidationError:{type:Boolean,default:!1},bypassInputFocus:{type:Boolean,default:!1},deferInputRender:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}
1){let n=e,i=t,o=Z(!1),s=E(()=>!n.options?.length&&n.label?[{label:n.label,name:n.name}]:(mt(n.options)?Object.entries(n.options).map(([e,t])=>({value:e,label:t})):n.options).map(e=>{let t=mt(e)?e:{value:e};return{label:t.value,key:t.value,name:n.name,...t}})),c=E(()=>n.wrap??s.value.length>1),l=E({get:()=>n.modelValue,set:e=>i(`update:modelValue`,e)});function u(e){return n.type===`radio`?ze(l.value)?l.value===_e(e.value):l.value===e.value:Array.isArray(l.value)?l.value.includes(e.value):l.value}let d=(e,t)=>{if(n.bypassInputFocus){if(t.disabled)return;if(e.preventDefault(),n.type===`radio`)return i(`update:modelValue`,t.value);if(!Array.isArray(n.modelValue))return i(`update:modelValue`,!n.modelValue);let r=[...n.modelValue],a=r.indexOf(t.value);a<0?r.push(t.value):r.splice(a,1),i(`update:modelValue`,r)}};return(t,n)=>{let i=yl;return Y(),$(i,{wrap:c.value,role:e.type===`radio`?`radiogroup`:`group`},{default:q(()=>[(Y(!0),I(m,null,J(s.value,i=>(Y(),I(`label`,{key:i.key,class:M([{"ds-input-checkbox":e.type===`checkbox`,"ds-input-radio":e.type===`radio`,"ds-input-radio--boxed":e.type===`radio`&&e.boxed,"ds-switch":e.type===`switch`,"is-checked":u(i),"is-disabled":i.disabled,"is-focused":o.value,"has-error":e.error,...i.class},`ds-switches`]),onClick:e=>d(e,i)},[e.type===`checkbox`?(Y(),I(m,{key:0},[e.deferInputRender?a(``,!0):Xe((Y(),I(`input`,{key:0,id:i.id,"onUpdate:modelValue":n[0]||=e=>l.value=e,class:`sr-only`,type:`checkbox`,tabindex:`0`,name:i.name,disabled:i.disabled,value:i.value,onBlur:n[1]||=e=>o.value=!1,onFocus:n[2]||=e=>o.value=!0},null,40,xl)),[[ne,l.value]]),H(t.$slots,`label`,{option:i},()=>[F(P(i.label),1)])],64)):e.type===`switch`?(Y(),I(m,{key:1},[e.deferInputRender?a(``,!0):Xe((Y(),I(`input`,{key:0,id:i.id,"onUpdate:modelValue":n[3]||=e=>l.value=e,class:`sr-only`,type:`checkbox`,role:`switch`,name:i.name,value:i.value,onBlur:n[4]||=e=>o.value=!1,onFocus:n[5]||=e=>o.value=!0},null,40,Sl)),[[ne,l.value]]),j(`span`,Cl,[H(t.$slots,`label`,{option:i},()=>[F(P(i.label),1)])])],64)):e.type===`radio`?(Y(),I(m,{key:2},[e.deferInputRender?a(``,!0):Xe((Y(),I(`input`,{key:0,id:i.id,"onUpdate:modelValue":n[6]||=e=>l.value=e,class:`sr-only`,type:`radio`,name:i.name,disabled:i.disabled,value:i.value,onBlur:n[7]||=e=>o.value=!1,onFocus:n[8]||=e=>o.value=!0},null,40,wl)),[[r,l.value]]),H(t.$slots,`label`,{option:i},()=>[F(P(i.label),1)])],64)):a(``,!0)],10,bl))),128)),e.showValidationError&&e.error?(Y(),I(`div`,Tl,P(e.error),1)):a(``,!0)]),_:3},8,[`wrap`,`role`])}}},Dl={class:`terms-link`,href:`https://helmisimpukka.fi/ennakkotilaus/ennakko-ja-ryhmatilauksen-ehdot`,target:`_blank`,rel:`noopener noreferrer`},Ol=U({__name:`BlocksMunkkimellakkaStep4`,setup(e){let t=z(`order`),{t:n}=o({useScope:`global`,messages:{"fi-FI":{step4:{emailVerified:`Olen tarkistanut sähköpostiosoitteeni.`,termsAndConditions:`Hyväksyn ryhmätilauksen ehdot`,readTerms:`Lue käyttöehdot`}}}}),r=[{label:n(`step4.emailVerified`),value:`emailVerified`},{label:n(`step4.termsAndConditions`),value:`terms`}];return(e,i)=>{let a=El;return Y(),I(m,null,[(Y(),I(m,null,J(r,e=>L(a,{key:`checkbox-${e.value}`,modelValue:Q(t).data.value[e.value],"onUpdate:modelValue":n=>Q(t).data.value[e.value]=n,type:`checkbox`,options:[e]},null,8,[`modelValue`,`onUpdate:modelValue`,`options`])),64)),j(`a`,Dl,P(Q(n)(`step4.readTerms`)),1)],64)}}},[[`__scopeId`,`data-v-0d88de32`]]),kl={class:`icon-wrapper`},Al={class:`h2`},jl={class:`city`},Ml={key:0,class:`phone`},Nl=U({__name:`BlocksMunkkimellakkaStep5`,props:{station:{type:Object,required:!1,default:()=>({})}},setup(e){let{$i18n:t}=c();return o({useScope:`global`,messages:{"fi-FI":{step5:{title:`Kiitos!`,text1:`Tilaus on vahvistettu, kun saat vahvistusviestin sähköpostiin.`,text2:`Jos teit tilauksesi väärin tiedoin ja se pitää peruuttaa tai tarvitset muuten apua tilauksesi kanssa, niin ole yhteydessä suoraan kyseiseen asemaan.`,phoneNumber:`Puhelinnumero`}}}}),(n,r)=>{let i=K;return Y(),I(m,null,[j(`div`,kl,[L(i,{code:`default-line/like`,size:`custom`,class:`success-icon`})]),j(`h2`,Al,P(Q(t).t(`step5.title`)),1),j(`p`,null,P(Q(t).t(`step5.text1`)),1),j(`p`,null,P(Q(t).t(`step5.text2`)),1),j(`p`,null,[j(`strong`,null,P(e.station.name),1),r[2]||=j(`br`,null,null,-1),e.station.street?(Y(),I(m,{key:0},[F(P(e.station.street),1),r[0]||=j(`br`,null,null,-1)],64)):a(``,!0),e.station.postcode&&e.station.city?(Y(),I(m,{key:1},[F(P(e.station.postcode)+` `,1),j(`span`,jl,P(e.station.city?.toLowerCase()),1),r[1]||=j(`br`,null,null,-1)],64)):a(``,!0)]),e.station.telep
1hone?(Y(),I(`div`,Ml,[F(P(Q(t).t(`step5.phoneNumber`)),1),r[3]||=j(`br`,null,null,-1),j(`strong`,null,P(e.station.telephone),1)])):a(``,!0)],64)}}},[[`__scopeId`,`data-v-85c2ca77`]]),Pl={class:``},Fl={class:`h2`},Il=Object.assign({name:`CancelOrder`},{__name:`BlocksMunkkimellakkaCancel`,setup(e){let{t}=o({useScope:`global`,messages:{"fi-FI":{cancel:{title:`Haluatko varmasti keskeyttää?`,text:`Täyttämäsi tiedot poistetaan etkä voi palata niihin myöhemmin.`}}}});return(e,n)=>(Y(),I(`div`,Pl,[j(`h2`,Fl,P(Q(t)(`cancel.title`)),1),j(`p`,null,P(Q(t)(`cancel.text`)),1)]))}}),Ll=Symbol(`form`),Rl=Symbol(`formApi`),zl=/^([a-zA-Z0-9_\-.+]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/,Bl=/^[0-9+\s]+$/,Vl=/^\+[0-9\s]+$/,Hl=/^\+[0-9]+$/,Ul=/^[0-9]*$/,Wl=/^(0|[1-9]\d*)((\.|,)\d+)?$/,Gl=/[^a-zA-ZåäöéüøæÅÄÖÉÜØÆ0-9-/. '",&]/g,Kl=/[^a-zA-ZåäöéüøæÅÄÖÉÜØÆ '-]/g,ql={notEmpty(e){if(!e)return`dsform.empty`},notBlank(e){if(!e?.trim())return`dsform.empty`},email(e){if(!zl.test(e)||e.includes(` `))return`dsform.email`},phone(e){if(!Bl.test(e))return`dsform.phone`},phoneIntl(e){if(!Hl.test(e))return`dsform.phoneInternational`},phoneInternational(e){if(!Vl.test(e))return`dsform.phoneInternational`},number(e){if(!Ul.test(e))return`dsform.number`},positiveFracNumber(e){if(!Wl.test(e))return`dsform.number`},maxDecimals(e,t){if((String(e)?.replace(`,`,`.`)?.split(`.`)?.[1]||[])?.length>Number(t.value))return`dsform.maxDecimals`},minLength(e,t){if(String(e).length<Number(t.value))return`dsform.minLength`},maxLength(e,t){if(String(e).length>Number(t.value))return`dsform.maxLength`},allowedNordicChars(e){if(e.replace(Kl,``).length!==e.length)return`dsform.containsForbiddenSymbols`},GFNAllowedChars(e){if(e.replace(Gl,``).length!==e.length)return`dsform.containsForbiddenSymbols`},equals(e,t){if(e!==t.value)return`dsform.equals`},matches(e,t,{fieldName:n,fieldsState:r,state:i,allowErrors:a}){let o=String(e),s=String(i[String(t.value)]);if(o&&s&&o.length===s.length&&!r?.[n]?.visible&&a(n),o!==s)return t.message??`dsform.matches`},checkedAmount(e,t){if(e.length!==Number(t.value))return`dsform.checkedAmount`},minValue(e,t){if(Number(e)<Number(t.value))return t.message??`dsform.minValue`},maxValue(e,t){if(Number(e)>Number(t.value))return t.message??`dsform.maxValue`},roundTo(e,t){if(Number(e)%Number(t.value)!==0)return`dsform.roundTo`},custom(e,t){if(typeof t.method==`function`&&!t.method(e))return t.message}},Jl=(e,t={})=>{let{$i18n:n}=c(),r=Z({}),i=Z({}),a={},o=Z({}),s=Object.assign({behavior:`delay`,delay:500},t),l=(t=null)=>{t&&Array.isArray(t)&&t.forEach(t=>{let{validators:a}=e.find(e=>e.key===t)||{};if(a)try{a.forEach(e=>{let n;switch(typeof e){case`object`:n=ql[e.type](i.value[t],e.rule);break;default:case`string`:n=ql[e](i.value[t])}if(typeof n==`string`)throw{msg:n,validator:e}}),o.value[t]=!0,setTimeout(()=>{delete r.value[t]},s.behavior===`delay`?s.delay:0)}catch(e){o.value[t]=!1,setTimeout(()=>{r.value[t]=n.t(e.msg,{ruleValue:e.validator?.rule?.value||null})},s.behavior===`delay`?s.delay:0)}})};if(!Array.isArray(e))throw Error(`useFormData expects an array of form field configurations`);if(Array.isArray(e)){e.forEach(e=>{if(!e||typeof e!=`object`||!e.key)throw Error(`Each form field must be an object with a key property`);i.value[e.key]=Array.isArray(e.value)?[...e.value]:e.value,a[e.key]=Array.isArray(e.value)?[...e.value]:e.value,e.validators&&(o.value[e.key]=!1)});let t=e.filter(e=>e.validators&&e.value!==null&&e.value!==``&&e.value!==void 0).map(e=>e.key);t.length&&l(t)}return X(()=>JSON.stringify(i.value),()=>{Object.keys(i.value).forEach(e=>{Array.isArray(i.value[e])||i.value[e]!==a[e]&&l([e])})}),{options:s,errors:r,data:i,validState:o,fieldsConfiguration:e,isValid:(e=null)=>e?o.value[e]??!0:Object.values(o.value).every(e=>e===!0),validate:l,reset:()=>{Object.keys(i.value).forEach(e=>{a[e]?Array.isArray(a[e])?i.value[e]=[...a[e]]:i.value[e]=a[e]:i.value[e]=null}),e.forEach(e=>{e.validators&&(o.value[e.key]=!1)}),r.value={}}}},Yl={class:`ds-modal-content size-small`},Xl={class:`header`},Zl={class:`h6 uppercase`},Ql={class:`body`},$l={class:`footer`},eu=[`disabled`],tu=U(Object.assign({name:`MunkkimellakkaForm`,inheritAttrs:!1},{__name:`BlocksMunkkimellakkaForm`,props:{data:{type:Object,required:!1,default:()=>({})},content:{type:Object,required:!1,default:()=>({})},id:{type:String,required:!0}},setup(e){let{gtm:t}=Re(),{$cms:n,$paths:r}=c(),i=ft(B()),l=Fe(B()),u=e,d=Jl([{key:`station`,value:null,validators:[`notEmpty`]},{key:`time`,value:null,validators:[`notEmpty`]},{key:`details`,value:null},{key:`contact`,value:null,validators:[`notEmpty`]},{key:`phone`,value:null,validators:[`notEmpty`,`phone`]},{key:`email`,value:null,validators:[`notEmpty`,`email`]},{key:`products`,value:[0]},{key:`terms`,value:null,validators:[`notEmpty`]},{key:`emailVerified`,value:null,validators:[`notEmpty`]}]),f=Z(1),p=Z(4),h=u.content.date??``,g=Z(null),_=Z([{product:`6 kpl Itse tehtyä sokeroitua munkkia`,pcs:6,price:8}]),v=Z(!1);
1$e(`order`,d),$e(`products`,_),$e(`date`,h);let y=E(()=>u.data.find(e=>e.id===d.data.value.station)||null),{t:x,locale:S}=o({useScope:`global`,messages:{"fi-FI":{buttons:{order:`Tilaa tästä`,cancel:`Keskeytä`,next:`Seuraava`,continue:`Jatka`,back:`Takaisin`,send:`Lähetä`,close:`Sulje`},step:`Vaihe`,title:`Munkkimellakka`,paymentOnLocation:`Maksu tapahtuu paikan päällä.`,orderIsConfirmed:`Tilaus on vahvistettu, kun saat vahvistusviestin sähköpostiin. Asema ottaa yhteyttä jos tilaukseen tarvitaan lisätietoja.`,package:`{n} paketti | {n} pakettia`,pcs:`{n} kpl`,orderFailed:`Tilauksen lähettäminen ei onnistunut, kokeile myöhemmin uudelleen tai ole yhteydessä asemaan.`}}}),C=E(()=>f.value===5?x(`buttons.close`):f.value===4?x(`buttons.send`):f.value?x(`buttons.next`):x(`buttons.continue`)),w=E(()=>({cards:[{contentType:`card`,image:[{ext:`jpg`,width:1440,height:1200,generic_url:`${u.content.image??`https://media.ffycdn.net/eu/st1/ve9R2iwKNYW6RqNBvFKX.jpg`}?width={width}`,fill:`cover`}],alt:u.content.title??`Munkit ovat irti!`,byline:u.content.byline??`MUNKKI VAI KUPPONEN?`,title:u.content.title??`Tilaa munkit ennakkoon!`,text:{nodeType:`document`,content:(u.content.body===null?[]:u.content.body.split(`
2`)).map(e=>({nodeType:`paragraph`,content:[{nodeType:`text`,value:e,marks:[]}]}))}}],display:{type:`horizontal`,alignment:`left`,component:`hero`,background:`secondary`}})),T=E(()=>f.value!==0&&f.value<=p.value?`${x(`title`)} ${h}${f.value>0?`, ${x(`step`)} ${f.value}/${p.value}`:``}`:x(`title`)),ee=E(()=>({amount:d.data.value.products.reduce((e,t)=>e+t),pcs:_.value.map((e,t)=>e.pcs*d.data.value.products[t]).reduce((e,t)=>e+t),price:_.value.map((e,t)=>e.price*d.data.value.products[t]).reduce((e,t)=>e+t)}));$e(`total`,ee);let D=E(()=>f.value===null?!0:f.value===1?d.isValid(`station`):f.value===2?d.isValid(`time`)&&ee.value.pcs>0:f.value===3?d.isValid(`contact`)&&d.isValid(`phone`)&&d.isValid(`email`):f.value===4?d.isValid(`emailVerified`)&&d.isValid(`terms`):f.value===5),O=E(()=>_.value.map((e,t)=>{let r=parseInt(d.data.value.products[t]),i=e.pcs>1?`package`:`pcs`,a=r*e.price;return r>0?`${e.product} x ${x(i,r)}, ${n.formatPrice(a)}`:null}).filter(e=>e));function k(){f.value=1,i.setNameAndOpen(`munkkimellakka-form`)}function te(){if(f.value===null){i.unsetNameAndClose(),A();return}g.value=f.value,f.value=null}function ne(){--f.value}async function re(){if(!f.value){f.value=g.value,g.value=null;return}if(f.value===4){await ie();return}if(f.value===5){i.unsetNameAndClose(),A();return}f.value+=1}function A(){g.value=null,f.value=1,d.reset()}async function ie(){v.value=!0;let{email:e,phone:n,time:i,contact:a,details:o}=d.data.value,s={stationId:y.value.id,formId:u.id,customer:{name:a,email:e,phone:n,contactMethod:`email`},order:{products:O.value,type:`munkkimellakka`,pickupTime:`${h} ${i}`}};o&&(s.order.details=o);try{await $fetch(`/proxy/${r.getEndpoint(`groupOrder`)}`,{method:`post`,body:s,headers:{"x-st1-locale":S.value}}),t().push({event:`form_submit`,form_id:`7pKtpQzd9LQiBPt9qS72NM`,form_description:`Munkkimellakka`,form_value:ee.value.price??`0`,form_station_id:y.value.id??``,form_station_name:y.value.name??``}),f.value+=1}catch{l.addNotification({type:`error`,message:x(`orderFailed`)})}v.value=!1}return(t,n)=>{let r=ii,o=K,c=Xc,l=$c,u=gl,d=vl,p=Ol,g=Nl,_=Il;return Y(),I(m,null,[j(`section`,null,[L(r,s(it(Q(w))),{buttons:q(()=>[j(`button`,{class:`ds-btn ds-btn--primary ds-btn--large`,onClick:k},P(Q(x)(`buttons.order`)),1)]),_:1},16)]),Q(i).name===`munkkimellakka-form`?(Y(),$(b,{key:0,to:Q(i).modalTarget},[j(`div`,Yl,[j(`div`,Xl,[j(`h5`,Zl,P(Q(T)),1),j(`button`,{onClick:n[0]||=e=>{Q(i).unsetNameAndClose(),A()}},[L(o,{code:`close`,size:`m`})])]),j(`div`,Ql,[L(c,{step:Q(f),station:Q(y),"date-string":Q(h),"selected-products":Q(O)},null,8,[`step`,`station`,`date-string`,`selected-products`]),Q(f)===1?(Y(),$(l,{key:0,stations:e.data,selected:Q(y)},null,8,[`stations`,`selected`])):Q(f)===2?(Y(),$(u,{key:1,station:Q(y)},null,8,[`station`])):Q(f)===3?(Y(),$(d,{key:2})):Q(f)===4?(Y(),$(p,{key:3})):Q(f)===5?(Y(),$(g,{key:4,station:Q(y)},null,8,[`station`])):(Y(),$(_,{key:5}))]),j(`div`,$l,[Q(f)<5?(Y(),I(m,{key:0},[Q(f)>1?(Y(),I(`button`,{key:0,class:`ds-btn ds-btn--large ds-btn--secondary`,onClick:n[1]||=e=>ne()},P(Q(x)(`buttons.back`)),1)):a(``,!0),j(`button`,{class:`ds-btn ds-btn--large ds-btn--secondary`,onClick:te},P(Q(x)(`buttons.cancel`)),1)],64)):a(``,!0),j(`button`,{class:`ds-btn ds-btn--large ds-btn--primary`,disabled:!Q(D),onClick:n[2]||=e=>re()},P(Q(C)),9,eu)])])],8,[`to`])):a(``,!0)],64)}}}),[[`__scopeId`,`data-v-05eacb9e`]]),nu={class:`summary`},ru={class:`h4`},iu={class:`summary-list`},au={class:`h4`},ou={class:`summary-list`},su={class:`h4`},cu={class:`summary-list`},lu={key:0,class:`invoice-details`},uu={class:`summary-list`},du={class:`h4`},fu={class:`summary-list`},pu={key:1,class:`summary-list summary-list--compact`},mu=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderSummary`,props:{step:{type:Number,required:!1,default:0},station:{type:Object,required:!1,default:()=>({})}},setup(e){let t=z(`order`),{t:n}=o({useScope:`global`,messages:{"fi-FI":{whenAndWhere:`Missä ja milloin`,station:`Asema`,when:`Päivämäärä`,people:`Henkilömäärä`,personsUnder12Years:`Henkilömäärä alle 12v.`,food:`Ruokatoive`,foodChoice:`Ruokatoiveet`,allergies:`Allergiat / erityisruokavaliot`,contactInfo:`Yhteystiedot`,crosssell:`Lisätuotteet`,pcs:`kpl`,payment:`Maksu`,paymentMethod:`Maksutapa`,CASHIER:`Maksu kassalla`,INVOICE:`Laskulla`,contactPerson:`Yhteyshenkilö`,address:`Osoite`,phone:`Puhelinnumero`,email:`Sähköposti`,hour:`klo`,businessId:`Y-tunnus`,companyName:`Yrityksen nimi`,officialBillingAddress:`Virallinen laskutusosoite`,eInvoicingAddress:`Verkkolaskuosoite`,invoiceReference:`Laskun viite`},"en-EU":{whenAndWhere:`Where and when`,station:`Station`,when:`Date`,people:`Number of people`,personsUnder12Years:`Number of people under 12`,food:`Food preference`,foodChoice:`Food preferences`,allergies:`Allergies / special diets`,contactInfo:`Contact information`,crosssell:`Additional products`,pcs:`pcs`,payment:`Payment`,paymentMethod:`Payment method`,CASHIER:`Pay at cashier`,INVOICE:`By invoice`,contactPerson:`Contact person`,address:`Address`,phone:`Phone number`,email:`Email`,hour:`at`,businessId:`Business ID`,companyName:`Company name`,officialBillingAddress:`Official billing address`,eInvoicingAddress:`E-invoicing address`,invoiceReference:`Invoice reference`}}}),r=E(()=>t.data.value.date&&t.data.value.time?`${t.data.value.date} ${n(`hour`)} ${t.data.value.time}`:null);return(i,o)=>(Y(),I(`div`,nu,[e.step===6?(Y(),I(m,{key:0},[j(`h4`,ru,P(Q(n)(`whenAndWhere`)),1),j(`dl`,iu,[j(`dt`,null,P(Q(n)(`station`)),1),j(`dd`,null,[F(P(e.station.name),1),o[0]||=j(`br`,null,null,-1),F(` `+P(e.station.street)+`, `+P(e.station.postcode)+` `+P(e.station.city),1),o[1]||=j(`br`,null,null,-1),F(` `+P(e.station.telep
2hone),1)]),j(`dt`,null,P(Q(n)(`when`)),1),j(`dd`,null,P(Q(r)),1),j(`dt`,null,P(Q(n)(`people`)),1),j(`dd`,null,[F(P(Q(t).data.value.persons)+` `,1),Q(t).data.value.personsUnder12Years>0?(Y(),I(m,{key:0},[F(` (`+P(Q(t).data.value.personsUnder12Years)+` `+P(Q(n)(`personsUnder12Years`))+`) `,1)],64)):a(``,!0)])]),j(`h4`,au,P(Q(n)(`food`)),1),j(`dl`,ou,[j(`dt`,null,P(Q(n)(`foodChoice`)),1),j(`dd`,null,[F(P(Q(n)(Q(t).data.value.food))+` `,1),Q(t).data.value.food===`groupmenu`?(Y(),I(m,{key:0},[o[2]||=j(`br`,null,null,-1),F(P(Q(t).data.value.groupmenuchoice),1)],64)):a(``,!0)]),j(`dt`,null,P(Q(n)(`details`)),1),j(`dd`,null,P(Q(t).data.value.details),1),j(`dt`,null,P(Q(n)(`crosssell`)),1),j(`dd`,null,[(Y(!0),I(m,null,J(Q(t).data.value.crossSell.filter(e=>e.qty>0),e=>(Y(),I(`div`,{key:e.name,class:`crosssell-item`},[j(`strong`,null,P(e.name)+` `+P(i.$cms.formatPrice(e.retailPrice))+` * `+P(e.qty)+P(Q(n)(`pcs`)),1)]))),128)),(Y(!0),I(m,null,J(Q(t).data.value.crossSellOptions,e=>(Y(),I(`div`,{key:e,class:`crosssell-option`},P(Q(n)(e)),1))),128))])]),j(`h4`,su,P(Q(n)(`payment`)),1),j(`dl`,cu,[j(`dt`,null,P(Q(n)(`paymentMethod`)),1),j(`dd`,null,P(Q(n)(Q(t).data.value.paymentMethod)),1)]),Q(t).data.value.paymentMethod===`INVOICE`?(Y(),I(`div`,lu,[j(`dl`,uu,[j(`dt`,null,P(Q(n)(`businessId`)),1),j(`dd`,null,P(Q(t).data.value.businessId),1),j(`dt`,null,P(Q(n)(`companyName`)),1),j(`dd`,null,P(Q(t).data.value.companyName),1),j(`dt`,null,P(Q(n)(`officialBillingAddress`)),1),j(`dd`,null,P(Q(t).data.value.officialBillingAddress),1),j(`dt`,null,P(Q(n)(`eInvoicingAddress`)),1),j(`dd`,null,P(Q(t).data.value.eInvoicingAddress),1),j(`dt`,null,P(Q(n)(`invoiceReference`)),1),j(`dd`,null,P(Q(t).data.value.invoiceReference),1)])])):a(``,!0),j(`h4`,du,P(Q(n)(`contactInfo`)),1),j(`dl`,fu,[j(`dt`,null,P(Q(n)(`contactPerson`)),1),j(`dd`,null,P(Q(t).data.value.contact),1),j(`dt`,null,P(Q(n)(`phone`)),1),j(`dd`,null,P(Q(t).data.value.phone),1),j(`dt`,null,P(Q(n)(`email`)),1),j(`dd`,null,P(Q(t).data.value.email),1)])],64)):e.step>=2&&e.step<6?(Y(),I(`dl`,pu,[Q(t).data.value.station?(Y(),I(m,{key:0},[j(`dt`,null,P(Q(n)(`station`)),1),j(`dd`,null,P(e.station.name),1)],64)):a(``,!0),Q(t).data.value.date&&Q(t).data.value.time?(Y(),I(m,{key:1},[j(`dt`,null,P(Q(n)(`when`)),1),j(`dd`,null,P(Q(r)),1)],64)):a(``,!0)])):a(``,!0)]))}}),[[`__scopeId`,`data-v-cdd6e9ca`]]),hu={class:`content`},gu={class:`h3`},_u=[`onClick`],vu=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderStepsStep1`,props:{stations:{type:Array,required:!1,default:()=>[]}},setup(e){let t=z(`order`),{t:n}=o({useScope:`global`,messages:{"fi-FI":{title:`Missä haluatte syödä?`,text:`Valitse asema alla olevasta listasta`,chooseStation:`Hae asema`,selectedStation:`Valittu asema:`},"en-EU":{title:`Where would you like to eat?`,text:`Choose a station from the list below`,chooseStation:`Search station`,selectedStation:`Selected station:`}}}),r=e,i=E(()=>t.data.value.station?r.stations.find(e=>e.id===t.data.value.station):{}),a=Z(``),s=Z(null),c=E(()=>a.value.length>0&&r.stations.length>0?r.stations.filter(e=>e.name.toLowerCase().indexOf(a.value.toLowerCase())>=0):r.stations??[]);function l(e=null){t.data.value.station=e}return(e,r)=>{let o=ye;
2return Y(),I(`div`,hu,[j(`h2`,gu,P(Q(n)(`title`)),1),j(`p`,null,[F(P(Q(t).data.value.station?Q(n)(`selectedStation`):Q(n)(`text`))+` `,1),j(`strong`,null,P(Q(i).name),1)]),L(o,{modelValue:Q(a),"onUpdate:modelValue":r[0]||=e=>Ie(a)?a.value=e:null,"trailing-icon":`search`,"disable-icon-click":``,label:Q(n)(`chooseStation`),error:Q(s)},null,8,[`modelValue`,`label`,`error`]),(Y(!0),I(m,null,J(Q(c),e=>(Y(),I(`div`,{key:e.name,class:`results`},[j(`button`,{class:M([`result`,{active:Q(i).name===e.name}]),onClick:t=>l(e.id)},[j(`div`,null,P(e.name),1)],10,_u)]))),128))])}}}),[[`__scopeId`,`data-v-e2474249`]]),yu={class:`ds-calendar`},bu={key:0,class:`titlebar`},xu={class:`head`},Su=[`aria-label`,`disabled`],Cu={key:0},wu={key:1},Tu={key:2},Eu=[`aria-label`,`disabled`],Du={key:0,class:`weekdays`},Ou={key:0,class:`days`},ku=[`aria-selected`,`aria-label`,`disabled`,`onClick`],Au={key:1,class:`months`},ju=[`disabled`,`aria-label`,`onClick`],Mu={key:2,class:`years`},Nu=[`disabled`,`aria-label`,`onClick`],Pu={key:0,class:`controls`},Fu=[`disabled`],Iu=[`disabled`],Lu=7,Ru=12,zu=U({__name:`DSCalendar`,props:{modelValue:{type:[null,Object],required:!0,validator:e=>{let t=e?.isLuxonDateTime||e?.isLuxonInterval||e===null,n=!e?.isLuxonInterval||e.start.startOf(`day`).ts===e.start.ts,r=!e?.isLuxonInterval||e.end.endOf(`day`).ts===e.end.ts;return t||console.warn(`[DSCalendar]: luxon DateTime/Interval or null expected`),n||console.warn(`[DSCalendar]: range start date is expected to be exactly start of the day`),r||console.warn(`[DSCalendar]: range end date is expected to be exactly end of the day`),t&&n&&r}},rangeSelect:{type:Boolean,default:e=>!!e.modelValue?.isLuxonInterval},minDate:{type:Object,default:null,validator:e=>e?.isLuxonDateTime},maxDate:{type:Object,default:null,validator:e=>e?.isLuxonDateTime},specialDates:{type:Array,default:()=>[]},title:{type:[String,Boolean,Object],default:!1},controls:{type:Boolean,default:!1},locale:{type:Object,default:()=>({default:null,fallback:`en-EU`})}},emits:[`update:modelValue`,`close`],setup(e,{expose:t,emit:n}){let{$i18n:r}=c(),i=e,o=n,s=E(()=>i.locale.default||r?.locale.value||i.locale.fallback),l=Z((i.rangeSelect?i.modelValue?.start:i.modelValue)||V.now().startOf(`day`)),u=Z(i.rangeSelect?i.modelValue||se.fromDateTimes(V.now().startOf(`day`),V.now().endOf(`day`)):null),d=Z(!1),p=Z(`day`),h=Z(``),g=Z([V.now().ts]),_=e=>{g.value=[V.now().ts],h.value=`slide-${e}`};X(p,()=>h.value=`blink`);let v=Z(void 0),y=()=>{let e={firstWeekday:l.value.startOf(`month`).weekday,lastWeekday:l.value.endOf(`month`).weekday},t=l.value.startOf(`month`).minus({day:e.firstWeekday-1}),n=l.value.endOf(`month`).plus({day:Lu-e.lastWeekday});v.value=se.fromDateTimes(t,n).splitBy({days:1}).map(e=>e.start)};y();let b=(e=`plus`,t=`month`)=>{l.value=l.value[e]({[t]:1}),t===`month`&&y(),_(e)},x=e=>{l.value=l.value[e]({month:144}),_(e)},S=E(()=>{let e=l.value.year%Ru,t=l.value.startOf(`year`).minus({year:e}),n=l.value.endOf(`year`).plus({year:Ru-e});return[...Array(n.year-t.year)].map((e,n)=>t.year+n)}),C=E(()=>{switch(p.value){case`month`:return{prev:{ariaLabel:r.t(`dsCalendar.prevYear`),disabled:l.value.year<=i.minDate?.year,onClick:()=>b(`minus`,`year`)},next:{ariaLabel:r.t(`dsCalendar.nextYear`),disabled:l.value.year>=i.maxDate?.year,onClick:()=>b(`plus`,`year`)}};case`year`:return{prev:{ariaLabel:r.t(`dsCalendar.prevYear`,{period:Ru},Ru),disabled:S.value[0]<=i.minDate?.year,onClick:()=>x(`minus`)},next:{ariaLabel:r.t(`dsCalendar.nextYear`,{period:Ru},Ru),disabled:S.value.at(-1)>=i.maxDate?.year,onClick:()=>x(`plus`)}};default:return{prev:{ariaLabel:r.t(`dsCalendar.prevMonth`),disabled:l.value.startOf(`month`)<=i.minDate?.startOf(`month`),onClick:()=>b(`minus`,`month`)},next:{ariaLabel:r.t(`dsCalendar.nextMonth`),disabled:l.value.endOf(`month`)>=i.maxDate?.endOf(`month`),onClick:()=>b(`plus`,`month`)}}}}),w,T,ee=e=>{if(l.value=e.startOf(`day`),!i.rangeSelect)return o(`update:modelValue`,l.value);d.value?(T=e.endOf(`day`),w>T&&([T,w]=[w.endOf(`day`),T.startOf(`day`)]),o(`update:modelValue`,se.fromDateTimes(w,T))):(w=e.startOf(`day`),T=w.endOf(`day`)),u.value=se.fromDateTimes(w,T),d.value=!d.value},D=(e,t=`day`)=>i.rangeSelect?se.fromDateTimes(e.startOf(t),e.endOf(t)).overlaps(u.value):i.modelValue?.startOf(t).ts===e?.startOf(t).ts,O=e=>e.ts<i.minDate?.ts||e.ts>i.maxDate?.ts,k=(e,t,n=`month`)=>{let r=V.fromFormat(`1.${e}.${t}`,`d.M.yyyy`);if(!i.rangeSelect&&l.value.startOf(n).ts===r.ts)return!1;if(i.rangeSelect){let e=r.endOf(n);if(se.fromDateTimes(r,e).overlaps(u.value))return!1}return O(r)},te=(e,t=`disabled`)=>i.specialDates.some(({type:n,days:r,repeat:i})=>n===t?r?.some(t=>t.startOf(`day`).ts===e.ts)||i?.weekDays.includes(e.setLocale(s.value).localWeekday):!1),ne=e=>i.specialDates.reduce((t,{type:n},r)=>{let i=n?`${n}-day`:`selected-day-${r}`;return t[i]=te(e,n),t},{}),re=(e,t=`month`,n=`day`)=>{l.value=l.value.set({[t]:e}).startOf(t),p.value=n},A=e=>re(e),ie=e=>re(e,`year`,`month`),ae=E(()=>{let{month:e}=V.now().startOf(`day`);return p.value===`day`&&e===l.value.month}),oe=()=>{let{month:e,year:t}=V.now().startOf(`day`);l.value=l.value.set({month:e,year:t}).startOf(`month`),p.value=`day`,_(e>
2l.value.month?`plus`:`minus`),y()},ce=()=>{d.value||=!1,i.modelValue!==null&&o(`update:modelValue`,null)};return t({range:u,editRangeMode:d,clearSelection:ce,moveToCurrentMonth:oe,setDay:ee,setMonth:A,setYear:ie}),(t,n)=>{let r=K;return Y(),I(`div`,yu,[e.title?(Y(),I(`div`,bu,[j(`div`,null,P(e.title.text||e.title),1),e.title.static?a(``,!0):(Y(),I(`button`,{key:0,type:`button`,class:`btn-titlebar`,onClick:n[0]||=e=>t.$emit(`close`)},[L(r,{code:`default-line/close`})]))])):a(``,!0),j(`div`,{class:M([`calendar`,{"single-select":!e.rangeSelect,"range-select":e.rangeSelect}])},[j(`div`,xu,[j(`button`,{"aria-label":Q(C).prev.ariaLabel,disabled:Q(C).prev.disabled,type:`button`,onClick:n[1]||=(...e)=>Q(C).prev.onClick&&Q(C).prev.onClick(...e)},[L(r,{code:`default-line/chevron-left`})],8,Su),j(`button`,{class:`period`,type:`button`,onClick:n[2]||=e=>p.value=Q(p)===`month`?`year`:`month`},[L(f,{name:Q(h)},{default:q(()=>[(Y(!0),I(m,null,J(Q(g),e=>(Y(),I(m,{key:e},[Q(p)===`day`?(Y(),I(`span`,Cu,P(Q(l).setLocale(Q(s)).monthLong)+` `+P(Q(l).toFormat(`yyyy`)),1)):a(``,!0),Q(p)===`month`?(Y(),I(`span`,wu,P(Q(l).year),1)):a(``,!0),Q(p)===`year`?(Y(),I(`span`,Tu,P(Q(S)[0])+` - `+P(Q(S).at(-1)),1)):a(``,!0)],64))),128))]),_:1},8,[`name`])]),j(`button`,{"aria-label":Q(C).next.ariaLabel,disabled:Q(C).next.disabled,type:`button`,onClick:n[3]||=(...e)=>Q(C).next.onClick&&Q(C).next.onClick(...e)},[L(r,{code:`default-line/chevron-right`})],8,Eu)]),L(le,{name:`blink`},{default:q(()=>[Q(p)===`day`?(Y(),I(`div`,Du,[(Y(!0),I(m,null,J(Q(yt).weekdays(`short`,{locale:Q(s)}),e=>(Y(),I(`div`,{key:e},P(e),1))),128))])):a(``,!0)]),_:1}),L(f,{name:Q(h)},{default:q(()=>[(Y(!0),I(m,null,J(Q(g),t=>(Y(),I(m,{key:t},[Q(p)===`day`?(Y(),I(`div`,Ou,[(Y(!0),I(m,null,J(Q(v),t=>(Y(),I(`button`,{key:t,type:`button`,class:M([`day`,{today:t.ts===Q(V).now().startOf(`day`).ts,"another-month":t.month!==Q(l).month,"range-start":e.modelValue&&e.rangeSelect&&!Q(d)&&t.ts===Q(u).start.startOf(`day`).ts,selected:e.modelValue&&!Q(d)&&D(t),"picked-for-new-range":e.rangeSelect&&Q(d)&&t.ts===Q(u).start.startOf(`day`).ts,"range-end":e.modelValue&&e.rangeSelect&&!Q(d)&&t.ts===Q(u).end.startOf(`day`).ts,...ne(t)}]),"aria-selected":D(t),"aria-label":t.setLocale(Q(s)).toLocaleString(Q(V).DATE_HUGE),disabled:O(t)||te(t),onClick:e=>ee(t)},P(t.day),11,ku))),128))])):a(``,!0),Q(p)===`month`?(Y(),I(`div`,Au,[(Y(!0),I(m,null,J(Q(yt).months(`short`,{locale:Q(s)}),(t,n)=>(Y(),I(`button`,{key:n,type:`button`,class:M([`month`,{selected:e.modelValue&&D(Q(V).fromObject({month:n+1,year:Q(l).year}),`month`),"range-start":e.modelValue&&e.rangeSelect&&Q(V).fromObject({month:n+1,year:Q(l).year}).ts===Q(u).start.startOf(`month`).ts,"range-end":e.modelValue&&e.rangeSelect&&Q(V).fromObject({month:n+1,year:Q(l).year}).ts===Q(u).end.startOf(`month`).ts}]),disabled:k(n+1,Q(l).year,`month`),"aria-label":Q(V).fromObject({month:n+1,year:Q(l).year}).setLocale(Q(s)).monthLong,onClick:e=>{A(n+1),y()}},P(t),11,ju))),128))])):a(``,!0),Q(p)===`year`?(Y(),I(`div`,Mu,[(Y(!0),I(m,null,J(Q(S),t=>(Y(),I(`button`,{key:t,type:`button`,class:M([`year`,{selected:e.modelValue&&D(Q(V).fromObject({year:t}),`year`),"range-start":e.modelValue&&e.rangeSelect&&Q(V).fromObject({year:t}).ts===Q(u).start.startOf(`year`).ts,"range-end":e.modelValue&&e.rangeSelect&&Q(V).fromObject({year:t}).ts===Q(u).end.startOf(`year`).ts}]),disabled:k(1,t,`year`),"aria-label":t,onClick:e=>ie(t)},P(t),11,Nu))),128))])):a(``,!0)],64))),128))]),_:1},8,[`name`])],2),H(t.$slots,`footer`,{},()=>[e.controls?(Y(),I(`div`,Pu,[j(`button`,{type:`button`,class:`ds-btn ds-btn--primary ds-btn--large`,disabled:e.modelValue===null,onClick:ce},P(t.$t(`dsCalendar.clear`)),9,Fu),j(`button`,{type:`button`,class:`ds-btn ds-btn--primary ds-btn--large`,disabled:Q(ae),onClick:oe},P(t.$t(`dsCalendar.today`)),9,Iu)])):a(``,!0)],!0)])}}},[[`__scopeId`,`data-v-bb390997`]]),Bu={class:`content`},Vu={class:`h2`},Hu={class:`dateinput`},Uu={class:`persons`},Wu={style:{"margin-bottom":`0`}},Gu=[`href`],Ku={key:0},qu={class:`city`},Ju={key:1},Yu={key:2},Xu=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderStepsStep2`,props:{station:{type:Object,required:!1,default:()=>({})}},setup(e){let t=Z(!1),n=z(`order`),r=Z(!1),i=Z(V.now().plus({days:3}).set({hours:0,minutes:0}));function s(e){let t=e.toFormat(`d.M.yyyy`);n.data.value.date=t,r.value=!1}let{t:c}=o({useScope:`global`,messages:{"fi-FI":{title:`Valitse aika ja henkilömäärä`,date:`Päivämäärä`,time:`Ruokailuaika`,amountOfPeople:`Ryhmässä aikuisia`,amountOfPeopleText:`Pakollinen, yhteensä vähintään 10 henkeä`,amountOfPeopleUnder12:`Ryhmässä alle 12 v.`,onlyByCallingHeading:`Tarjouspyyntö samalle tai seuraavalle 2 päivälle vain soittamalla`,callStation:`Soita asemalle`,phoneNumber:`Puhelinnumero`,stationOpeningHours:`Aseman aukioloajat`,stationInfo:`Asematiedot`},"en-EU":{title:`Choose when you would like to dine`,date:`Date`,time:`Dining time`,amountOfPeople:`Number of people`,amountOfPeopleText:`Required, combined total at least 10`,amountOfPeopleUnder12:`In group under 12 years`,onlyByCallingHeading:`Requests for the same day or next 2 days are only possible by phone`,callStation:`Call station`,phoneNumber:`Phone number`,stationOpeningHours:`Station opening hours`,stationInfo:`Station information`}}});return(o,l)=>{let u=ye,d=zu,f=Zs,p=ut;return Y(),I(`div`,Bu,[j(`h2`,Vu,P(Q(c)(`title`)),1),Xe((Y(),I(`div`,Hu,[L(u,{modelValue:Q(n).data.value.date,"onUpdate:modelValue":l[0]||=e=>Q(n).data.value.date=e,type:`text`,label:Q(c)(`date`),"help-text":Q(c)(`required`),readonly:``,onKeydown:l[1]||=k(e=>r.value=!Q(r),[`enter`]),onClick:l[2]||=e=>r.value=!Q(r)},null,8,[`modelValue`,`label`,`help-text`]),Q(r)?(Y(),$(d,{key:0,modelValue:Q(i),"onUpdate:modelValue":[l[3]||=e=>Ie(i)?i.value=e:null,s],"min-date":Q(V).now().plus({days:2})},null,8,[`modelValue`,`min-date`])):a(``,!0)])),[[Q(De),{handler:()=>r.value=!1}]]),L(u,{modelValue:Q(n).data.value.time,"onUpdate:modelValue":l[4]||=e=>Q(n).data.value.time=e,class:`time`,label:Q(c)(`time`),"help-text":Q(c)(`required`)},null,8,[`modelValue`,`label`,`help-text`]),j(`div`,Uu,[L(u,{modelValue:Q(n).data.value.persons,"onUpdate:modelValue":l[5]||=e=>Q(n).data.value.persons=e,type:`number`,label:Q(c)(`amountOfPeople`),"help-text":Q(c)(`amountOfPeopleText`),error:Q(n).errors.value.persons},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(u,{modelValue:Q(n).data.value.personsUnder12Years,"onUpdate:modelValue":l[6]||=e=>Q(n).data.value.personsUnder12Years=e,type:`number`,label:Q(c)(`amountOfPeopleUnder12`),error:Q(n).errors.value.personsUnder12Years},null,8,[`modelValue`,`label`,`error`])]),e.station?(Y(),I(m,{key:0},[j(`p`,Wu,[j(`strong`,null,P(Q(c)(`onlyByCallingHeading`)),1),l[8]||=j(`br`,null,null,-1),j(`button`,{class:`station-info`,onClick:l[7]||=e=>t.value=!Q(t)},P(Q(c)(`stationInfo`)),1)]),L(p,{open:Q(t)},{default:q(()=>
2[e.station.telephone?(Y(),I(`a`,{key:0,href:`tel:${e.station.telephone}`,class:`ds-btn ds-btn--large ds-btn--primary phone-link`},P(Q(c)(`callStation`)),9,Gu)):a(``,!0),j(`p`,null,[j(`strong`,null,P(e.station.name),1),l[9]||=j(`br`,null,null,-1),F(` `+P(e.station.street),1),e.station.street?(Y(),I(`br`,Ku)):a(``,!0),F(` `+P(e.station.postcode)+` `,1),j(`span`,qu,P(e.station.city?.toLowerCase()),1)]),e.station.telephone?(Y(),I(`p`,Ju,[F(P(Q(c)(`phoneNumber`)),1),l[10]||=j(`br`,null,null,-1),j(`strong`,null,P(e.station.telephone),1)])):a(``,!0),e.station.openingHoursTable?.station?(Y(),I(`p`,Yu,[F(P(Q(c)(`stationOpeningHours`)),1),l[11]||=j(`br`,null,null,-1),L(f,{"opening-hours":e.station.openingHoursTable?.station},null,8,[`opening-hours`])])):a(``,!0)]),_:1},8,[`open`])],64)):a(``,!0)])}}}),[[`__scopeId`,`data-v-def57005`]]),Zu=[`id`,`name`,`placeholder`,`aria-placeholder`,`aria-multiline`,`aria-readonly`,`aria-disabled`,`role`,`maxlength`,`rows`,`readonly`,`required`,`disabled`],Qu=[`for`],$u={key:0,class:`after`},ed=[`id`],td={__name:`DSTextarea`,props:{id:{type:String,default:``},modelValue:{type:String,default:``},label:{type:String,default:``},placeholder:{type:String,default:``},resizable:{type:Boolean,default:!1},helpText:{type:String,default:null},error:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},iconAfter:{type:[Boolean,String,Object],default:!1},onClickAfter:{type:[Function,null],default:null},resetBtn:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let{$dsc:n}=c(),r=e,i=Z(),o=t,s=E(()=>`textarea-${r.id||Te()}`),l=E({get:()=>r.modelValue,set:e=>o(`update:modelValue`,e)}),u=({icon:e})=>e?typeof e==`string`?{code:e||e.code,size:e.size||`m`}:e:!1,d=E(()=>u({icon:r.iconAfter,leading:!1})),f=E(()=>!!r.modelValue||i),p=E(()=>r.id?`error-helper-${r.id}`:n.uuidv4());return(t,n)=>{let r=K;return Y(),I(`div`,{class:M([`ds-textarea`,{"is-disabled":e.disabled||e.readonly,"has-error":e.error,"is-active":Q(f),"has-value":!!e.modelValue}])},[Xe(j(`textarea`,{id:Q(s),"onUpdate:modelValue":n[0]||=e=>Ie(l)?l.value=e:null,class:M({"resize-none":!e.resizable}),name:Q(s),placeholder:e.placeholder,"aria-placeholder":e.label,"aria-multiline":t.$attrs[`aria-multiline`]||!0,"aria-readonly":e.readonly,"aria-disabled":e.disabled,role:t.$attrs.role||`textbox`,maxlength:t.$attrs.maxlength||1e3,rows:t.$attrs.rows||3,readonly:e.readonly,required:!!t.$attrs.required,disabled:e.disabled,onFocus:n[1]||=e=>i.value=!0,onBlur:n[2]||=e=>i.value=!1},null,42,Zu),[[We,Q(l)]]),j(`label`,{class:`label textarea-label`,for:Q(s)},P(e.label),9,Qu),L(le,{name:`fade`},{default:q(()=>[e.iconAfter&&!e.resetBtn?(Y(),I(`div`,$u,[H(t.$slots,`after`,{},()=>[e.iconAfter?(Y(),$(G(e.onClickAfter?`button`:`div`),{key:0,type:e.onClickAfter?`button`:null,class:`icon-button`,onClick:e.onClickAfter},{default:q(()=>[L(r,{code:Q(d)?.code,size:Q(d)?.size},null,8,[`code`,`size`])]),_:1},8,[`type`,`onClick`])):a(``,!0)])])):e.resetBtn&&e.modelValue?(Y(),I(`button`,{key:1,class:`after`,onClick:n[3]||=e=>l.value=``},[L(r,{code:Q(d)?.code||`default-line/delete`,size:Q(d)?.size||`m`},null,8,[`code`,`size`])])):a(``,!0)]),_:3}),e.error||e.helpText?(Y(),I(`div`,{key:0,id:Q(p),class:M([`text-after`,{"help-text":e.helpText,error:e.error}])},P(e.error?e.error:e.helpText),11,ed)):a(``,!0)],2)}}},nd={class:`content`},rd={class:`h2`},id={class:`food-choice-label`},ad={class:`choice-option todays-lunch-details`},od={class:`lunch-lists`},sd={class:`ds-btn ds-btn--primary`,target:`_blank`,rel:`noopener noreferrer`,href:`https://assets.ctfassets.net/tdbcl9glzvzo/5pj2zXXCNeJvZKZ6NY5QOA/f697014aaabc674dadd36a5245cc1dfa/HelmiSimpukka-lounaslista-2026-fi__1_.pdf`},cd={"aria-hidden":`true`},ld={class:`choice-option group-menu`},ud={class:`food-choice-label`},dd={class:`price-disclaimer`},fd=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderStepsStep3`,props:{stepTitle:{type:String,required:!1,default:``}},setup(e){let t=z(`order`),n=t.fieldsConfiguration.find(({key:e})=>e===`details`),r=e=>{let t=e?.validators?.find(e=>e?.type===`maxLength`);return t?t.rule.value:1e3},i=E(()=>`${t?.data?.value?.details?.length??0} / ${r(n)}`),a=E(()=>t?.data?.value?.food),s=E(()=>!a.value||a.value===`todayslunch`),c=E(()=>!a.value||a.value===`groupmenu`),l=[`Lounasbuffet 13,50 € arkisin, viikonloppuna 14,50 €`,`Lihapullat ja perunamuusi L, G- 14,50 €`,`Pasta valinnan mukaan: kana, kinkku-pekoni tai bolognese L 14,50 €`,`Broilerin paistileikkeet valinnan mukaan: kerma-, yrtti- tai bearnaisekastikkeessa ja riisi L, G 14,50 €`,`Lasagne L 14,50 €`,`Porsaanleike, pippurikastike ja valitsemanne perunalisuke (ranskalaiset, kermaperunat, perunamuusi, lankkuperunat) L - 14,90 €`],{t:u}=o({useScope:`global`,messages:{"fi-FI":{title:`Mitä haluaisitte tilata?`,text1:`Huomioithan, että ryhmätilauksissa valitaan yksi yhtenäinen menu (erityisruokavaliot huomioidaan).`,text2:`Valitse Päivän Lounas tai yksi ruokalaji Ryhmäruokailusta.`,food:`Ruokatoive`,todayslunch:`Päivän Lounas`,lunchListLabel:`KATSO LOUNASLISTA`,groupmenu:`Ryhmäruokailu`,groupmenuDescription:`Voit valita yhden annoksista koko ryhmälle. Kirjoita lisätietokenttään haluamasi kastike- tai lisukevaihtoehto, jos valittavissa on useita.`,details:`Lisätiedot`,detailsComment:`Kerro tarkemmat toiveet tähän`,pricedisclaimer:`Hinnat ovat suositusmyyntihintoja`},"en-EU":{title:`What would you like to order?`,text1:`Please note that group orders require one shared menu selection (special diets are taken into account).`,text2:`Choose Today's Lunch or one dish from the Group Menu.`,food:`Food preference`,todayslunch:`Today's lunch`,lunchListLabel:`SEE LUNCH LIST`,groupmenu:`Group menu`,groupmenuDescription:`Minimum order 10 meals. You can choose one of the meals.`,details:`Details`,detailsComment:`Write additional details here`,pricedisclaimer:`Prices are recommended retail prices`}}});return(e,n)=>{let r=K,a=El,o=ut,d=td;return Y(),I(`div`,nd,[j(`h2`,rd,P(Q(u)(`title`)),1),j(`p`,null,P(Q(u)(`text1`)),1),j(`p`,null,P(Q(u)(`text2`)),1),L(a,{modelValue:Q(t).data.value.food,"onUpdate:modelValue":n[0]||=e=>
2Q(t).data.value.food=e,type:`radio`,boxed:``,options:{todayslunch:Q(u)(`todayslunch`),groupmenu:Q(u)(`groupmenu`)},class:`food-choice`},{label:q(({option:e})=>[j(`div`,id,[j(`span`,null,P(e.label),1),L(le,{name:`fade`,mode:`out-in`},{default:q(()=>[Xe(L(r,{code:`default-line/check-circle`,size:`l`},null,512),[[D,e.value===Q(t).data.value.food]])]),_:2},1024)])]),_:1},8,[`modelValue`,`options`]),n[3]||=j(`hr`,{"aria-hidden":`true`},null,-1),L(o,{open:Q(s)},{default:q(()=>[j(`div`,ad,[j(`h2`,null,P(Q(u)(`todayslunch`)),1),j(`div`,od,[j(`a`,sd,P(Q(u)(`lunchListLabel`)),1)])])]),_:1},8,[`open`]),Xe(j(`hr`,cd,null,512),[[D,Q(s)&&Q(c)]]),L(o,{open:Q(c)},{default:q(()=>[j(`div`,ld,[j(`h2`,null,P(Q(u)(`groupmenu`)),1),j(`p`,null,P(Q(u)(`groupmenuDescription`)),1),L(a,{modelValue:Q(t).data.value.groupmenuchoice,"onUpdate:modelValue":n[1]||=e=>Q(t).data.value.groupmenuchoice=e,type:`radio`,boxed:``,options:l},{label:q(({option:e})=>[j(`div`,ud,[j(`span`,null,P(e.label),1),L(le,{name:`fade`,mode:`out-in`},{default:q(()=>[Xe(L(r,{code:`default-line/check-circle`,size:`l`},null,512),[[D,e.value===Q(t).data.value.groupmenuchoice]])]),_:2},1024)])]),_:1},8,[`modelValue`])])]),_:1},8,[`open`]),L(d,{modelValue:Q(t).data.value.details,"onUpdate:modelValue":n[2]||=e=>Q(t).data.value.details=e,label:Q(u)(`details`),error:Q(t).errors.value.details,"help-text":`${Q(u)(`detailsComment`)} - ${Q(i)}`},null,8,[`modelValue`,`label`,`error`,`help-text`]),j(`p`,dd,P(Q(u)(`pricedisclaimer`)),1)])}}}),[[`__scopeId`,`data-v-0f89c841`]]),pd={class:`content`},md={class:`h2`},hd={class:`cross-sell-products`},gd={class:`food-choice-label`},_d={class:`takeaway`},vd=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderStepsStep4`,props:{stepTitle:{type:String,required:!1,default:``}},setup(e){let t=z(`order`),{t:n,n:r}=o({useScope:`global`,messages:{"fi-FI":{title:`Maistuisiko itse tehty munkki?`,text1:`Nämä tuotteet ovat saatavilla myös mukaan.`,takeaway:`Pakataan mukaan otettavaksi`},"en-EU":{title:`Would you like a handmade doughnut?`,text1:`These products are also available for takeaway.`,takeaway:`Pack for takeaway`}}});return(e,i)=>{let a=al,o=El;return Y(),I(`div`,pd,[j(`h2`,md,P(Q(n)(`title`)),1),j(`p`,null,P(Q(n)(`text1`)),1),j(`div`,hd,[(Y(!0),I(m,null,J(Q(t).data.value.crossSell,(e,n)=>(Y(),I(`div`,{key:e.name,class:`choice-option`},[j(`label`,gd,[j(`span`,null,P(e.name),1),j(`span`,null,P(Q(r)(Number(e.retailPrice),`currency`)),1)]),L(a,{modelValue:Q(t).data.value.crossSell[n].qty,"onUpdate:modelValue":e=>Q(t).data.value.crossSell[n].qty=e,class:`qty`},null,8,[`modelValue`,`onUpdate:modelValue`])]))),128)),j(`div`,_d,[L(o,{modelValue:Q(t).data.value.crossSellOptions,"onUpdate:modelValue":i[0]||=e=>Q(t).data.value.crossSellOptions=e,options:[{value:`takeaway`,label:Q(n)(`takeaway`)}]},null,8,[`modelValue`,`options`])])])])}}}),[[`__scopeId`,`data-v-6952f521`]]),yd={class:`h2`},bd={class:`payment`},xd={class:`invoice-details`},Sd={class:`h2`},Cd={class:`contact-method`},wd=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderStepsStep5`,props:{stepTitle:{type:String,required:!1,default:``}},setup(e){let t=z(`order`);X(()=>t.data.value.paymentMethod,e=>{e===`CASHIER`&&(t.data.value.businessId=null,t.data.value.companyName=null,t.data.value.officialBillingAddress=null,t.data.value.eInvoicingAddress=null,t.data.value.invoiceReference=null,t.errors.value.businessId=null,t.errors.value.companyName=null,t.errors.value.officialBillingAddress=null,t.errors.value.eInvoicingAddress=null,t.errors.value.invoiceReference=null)});let{t:n}=o({useScope:`global`,messages:{"fi-FI":{title:`Tilaajan yhteystiedot`,paymentDetails:`Maksutapa`,text1:`Maksu tapahtuu paikan päällä.`,text2:`Asema on yhteydessä, kun tilaus on käsitelty ja vahvistaa vielä tilauksen`,contactPerson:`Yhteyshenkilö`,address:`Osoite`,phone:`Puhelinnumero`,email:`Sähköposti`,contactMethod:`Haluan yhteydenoton ensisijaisesti (voi valita vain toisen)`,viaPhone:`Puhelimella`,viaEmail:`Sähköpostitse`,paymentToCashier:`Maksu kassalla`,invoice:`Laskulla`,required:`Pakollinen`,businessId:`Y-tunnus`,companyName:`Yrityksen nimi`,officialBillingAddress:`Virallinen laskutusosoite`,eInvoicingAddress:`Verkkolaskutusosoite`,invoiceReference:`Laskuviite`},"en-EU":{title:`Orderer contact details`,paymentDetails:`Payment method`,text1:`Payment is made on site.`,text2:`The station will contact you once the order has been processed and confirmed.`,contactPerson:`Contact person`,address:`Address`,phone:`Phone number`,email:`Email`,contactMethod:`I prefer to be contacted via (only one can be selected)`,viaPhone:`By phone`,viaEmail:`By email`,paymentToCashier:`Pay at cashier`,invoice:`By invoice`,required:`Required`,businessId:`Business ID`,companyName:`Company name`,officialBillingAddress:`Official billing address`,eInvoicingAddress:`E-invoicing address`,invoiceReference:`Invoice reference`}}});return(e,r)=>{let i=El,a=ye,o=ut;return Y(),I(`div`,null,[j(`h2`,yd,P(Q(n)(`paymentDetails`)),1),j(`div`,bd,[L(i,{modelValue:Q(t).data.value.paymentMethod,"onUpdate:modelValue":r[0]||=e=>Q(t).data.value.paymentMethod=e,type:`radio`,options:[{value:`CASHIER`,label:Q(n)(`paymentToCashier`)},{value:`INVOICE`,label:Q(n)(`invoice`)}]},null,8,[`modelValue`,`options`])]),L(o,{open:Q(t).data.value.paymentMethod===`INVOICE`},{default:q(()=>[j(`div`,xd,[L(a,{modelValue:Q(t).data.value.businessId,"onUpdate:modelValue":r[1]||=e=>Q(t).data.value.businessId=e,label:Q(n)(`businessId`),"help-text":Q(n)(`required`),error:Q(t).errors.value.businessId},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(a,{modelValue:Q(t).data.value.companyName,"onUpdate:modelValue":r[2]||=e=>Q(t).data.value.companyName=e,label:Q(n)(`companyName`),"help-text":Q(n)(`required`),error:Q(t).errors.value.companyName},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(a,{modelValue:Q(t).data.value.officialBillingAddress,"onUpdate:modelValue":r[3]||=e=>Q(t).data.value.officialBillingAddress=e,label:Q(n)(`officialBillingAddress`),"help-text":Q(n)(`required`),error:Q(t).errors.value.officialBillingAddress},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(a,{modelValue:Q(t).data.value.eInvoicingAddress,"onUpdate:modelValue":r[4]||=e=>Q(t).data.value.eInvoicingAddress=e,label:Q(n)(`eInvoicingAddress`),"help-text":Q(n)(`required`),error:Q(t).errors.value.eInvoicingAddress},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(a,{modelValue:Q(t).data.value.invoiceReference,"onUpdate:modelValue":r[5]||=e=>Q(t).data.value.invoiceReference=e,label:Q(n)(`invoiceReference`),"help-text":Q(n)(`required`),error:Q(t).errors.value.invoiceReference},null,8,[`modelValue`,`label`,`help-text`,`error`])])]),_:1},8,[`open`]),j(`h2`,Sd,P(Q(n)(`title`)),1),j(`p`,null,P(Q(n)(`text2`)),1),L(a,{modelValue:Q(t).data.value.contact,"onUpdate:modelValue":r[6]||=e=>Q(t).data.value.contact=e,label:Q(n)(`contactPerson`),"help-text":Q(n)(`required`),error:Q(t).errors.value.contact},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(a,{modelValue:Q(t).data.value.phone,"onUpdate:modelValue":r[7]||=e=>Q(t).data.value.phone=e,label:Q(n)(`phone`),"help-text":Q(n)(`required`),error:Q(t).errors.value.phone},null,8,[`modelValue`,`label`,`help-text`,`error`]),L(a,{modelValue:Q(t).data.value.email,"onUpdate:modelValue":r[8]||=e=>Q(t).data.value.email=e,label:Q(n)(`email`),"help-text":Q(n)(`required`),error:Q(t).errors.value.email},null,8,[`modelValue`,`label`,`help-text`,`error`]),j(`p`,Cd,P(Q(n)(`contactMethod`)),1),L(i,{modelValue:Q(t).data.value.contactMethod,"onUpdate:modelValue":r[9]||=e=>Q(t).data.value.contactMethod=e,type:`radio`,options:[{value:`phone`,label:Q(n)(`viaPhone`)},{value:`email`,label:Q(n)(`viaEmail`)}]},null,8,[`modelValue`,`options`])])}}}),[[`__scopeId`,`data-v-03edc9d8`]]),Td={class:`terms-link`,href:`https://helmisimpukka.fi/ennakkotilaus/ennakko-ja-ryhmatilauksen-ehdot`,target:`_blank`,rel:`noopener noreferrer`},Ed={key:0,class:`validation-error`},Dd=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderStepsStep6`,setup(e){let{$i18n:t}=c(),n=z(`order`),r=Z(!1),{t:i}=o({useScope:`global`,messages:{"fi-FI":{termsAndConditions:`Hyväksyn Ennakko- ja r
2yhmätilauksen ehdot.`,readTerms:`Lue käyttöehdot`},"en-EU":{termsAndConditions:`I accept the advance and group order terms and conditions.`,readTerms:`Read terms and conditions`}}}),s=Z([{label:i(`termsAndConditions`),value:`terms`}]);return(e,i)=>{let o=El;return Y(),I(`div`,null,[j(`div`,{class:M([`terms`,{"has-error":Q(r)}])},[L(o,{modelValue:Q(n).data.value.terms,"onUpdate:modelValue":i[0]||=e=>Q(n).data.value.terms=e,type:`checkbox`,options:Q(s)},null,8,[`modelValue`,`options`]),j(`a`,Td,P(Q(t).t(`readTerms`)),1)],2),Q(r)?(Y(),I(`p`,Ed,P(Q(t).t(`groupOrderForm.agreeTerms`)),1)):a(``,!0)])}}}),[[`__scopeId`,`data-v-130ea267`]]),Od={class:`icon-wrapper`},kd={class:`h2`},Ad={key:0,class:`contact-info`},jd={class:`city`},Md=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderStepsStep7`,props:{station:{type:Object,required:!1,default:null}},setup(e){let{t}=o({useScope:`global`,messages:{"fi-FI":{title:`Kiitos!`,text1:`Asema on yhteydessä, kun tilaus on vahvistettu.`,text2:`Jos teit tilauksesi väärin tiedoin ja se pitää peruuttaa tai tarvitset muuten apua tilauksesi kanssa, niin ole yhteydessä suoraan kyseiseen asemaan.`,text3:`Jos teit tilauksesi väärin tiedoin ja se pitää peruuttaa tai tarvitset muuten apua tilauksesi kanssa, ota yhteyttä asiakaspalveluumme 0800131 031`,phoneAbbrev:`Puh:`},"en-EU":{title:`Thank you!`,text1:`The offer request has been submitted successfully.`,text2:`The station will be in contact after the offer request has been processed.`,text3:`If your order was submitted with incorrect information and needs to be canceled, or if you otherwise need help with your order, please contact our customer service at 0800131 031`,phoneAbbrev:`Tel.`}}});return(n,r)=>{let i=K;return Y(),I(`div`,null,[j(`div`,Od,[L(i,{code:`default-line/like`,size:`custom`,class:`success-icon`})]),j(`h2`,kd,P(Q(t)(`title`)),1),j(`p`,null,P(Q(t)(`text1`)),1),j(`p`,null,P(Q(t)(`text2`)),1),e.station?(Y(),I(`div`,Ad,[j(`strong`,null,P(e.station.name),1),r[0]||=j(`br`,null,null,-1),F(P(e.station.street)+` `,1),r[1]||=j(`br`,null,null,-1),F(P(e.station.postcode)+`, `,1),j(`span`,jd,P(e.station.city?.toLowerCase()),1),r[2]||=j(`br`,null,null,-1),F(P(Q(t)(`phoneAbbrev`))+` `+P(e.station.telephone),1)])):a(``,!0)])}}}),[[`__scopeId`,`data-v-a804cf7e`]]),Nd={class:`h2`},Pd=Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderStepsCancel`,props:{stepTitle:{type:String,required:!1,default:``}},setup(e){let{t}=o({useScope:`global`,messages:{"fi-FI":{groupOrderForm:{title:`Haluatko varmasti keskeyttää?`,text:`Täyttämäsi tiedot poistetaan etkä voi palata niihin myöhemmin.`}},"en-EU":{groupOrderForm:{title:`Are you sure you want to cancel?`,text:`The information you entered will be deleted and cannot be restored later.`}}}});return(e,n)=>(Y(),I(`div`,null,[j(`h2`,Nd,P(Q(t)(`groupOrderForm.title`)),1),j(`p`,null,P(Q(t)(`groupOrderForm.text`)),1)]))}}),Fd={class:`ds-modal-content size-small`},Id={class:`header`},Ld={class:`h6 uppercase`},Rd={class:`body`},zd={class:`h2`},Bd={class:`footer`},Vd=[`disabled`],Hd=U(Object.assign({inheritAttrs:!1},{__name:`BlocksGroupOrderForm`,props:{data:{type:Array,required:!1,default:()=>[]},id:{type:String,required:!0}},setup(e){let t=ft(B()),n=Fe(B()),{$paths:r}=c(),{gtm:i}=Re(),s=Jl([{key:`station`,value:null,validators:[`notEmpty`]},{key:`date`,value:null,validators:[`notEmpty`]},{key:`time`,value:`14:00`,validators:[`notEmpty`]},{key:`persons`,value:``,validators:[]},{key:`personsUnder12Years`,value:``,validators:[]},{key:`crossSell`,value:[{name:`Itse tehty munkki`,retailPrice:2.8,description:``}].map(e=>({...e,qty:0})),validators:[]},{key:`crossSellOptions`,value:[],validators:[]},{key:`food`,value:null,validators:[`notEmpty`,{type:`maxLength`,rule:{value:1e3}}]},{key:`paymentMethod`,value:`CASHIER`,validators:[]},{key:`businessId`,value:null,validators:[`notEmpty`]},{key:`companyName`,value:null,validators:[`notEmpty`]},{key:`officialBillingAddress`,value:null,validators:[`notEmpty`]},{key:`eInvoicingAddress`,value:null,validators:[`notEmpty`]},{key:`invoiceReference`,value:null,validators:[`notEmpty`]},{key:`details`,value:null,validators:[{type:`maxLength`,rule:{value:1e3}}]},{key:`contact`,value:null,validators:[`notEmpty`]},{key:`phone`,value:null,validators:[`notEmpty`,`phone`]},{key:`email`,value:null,validators:[`notEmpty`,`email`]},{key:`contactMethod`,value:`phone`},{key:`terms`,value:null,validators:[`notEmpty`]}]),l=Z(1),u=Z(null),d=Z(6),f=Z(!1),p=e;$e(`order`,s);let h=E(()=>p.data.find(e=>e.id===s.data.value.station)||null),g=E(()=>Number(s.data.value.persons||0)+Number(s.data.value.personsUnder12Years||0)),_=E(()=>{let e=s.isValid(`businessId`)&&s.isValid(`companyName`)&&s.isValid(`officialBillingAddress`)&&s.isValid(`eInvoicingAddress`)&&s.isValid(`invoiceReference`),t=s.data.value.paymentMethod!==`INVOICE`||e;return l.value===1&&s.isValid(`station`)||l.value===2&&s.isValid(`date`)&&s.isValid(`time`)&&Number(s.data.value.persons)>=0&&Number(s.data.value.personsUnder12Years)>=0&&g.value>=10||l.value===3&&s.isValid(`food`)||l.value===4||l.value===5&&s.isValid(`contact`)&&s.isValid(`phone`)&&s.isValid(`email`)&&t||l.value===6&&s.isValid(`terms`)||l.value===7?!1:l.value!==0&&l.value!==null}),v=E(()=>({cards:[{contentType:`card`,image:[{ext:`jpg`,width:3600,height:2700,generic_url:`https://cdn-assets-eu.frontify.com/s3/frontify-enterprise-files-eu/eyJwYXRoIjoic3QxXC9maWxlXC90MUZl
2NWFja3NDRDEzblIybnNGcS5qcGcifQ:st1:EyJX0o8rSaeOWwT70dZXtHJENjGizXZ6Z1vudeiTrsA?width={width}`,fill:`cover`}],alt:`HelmiSimpukan ruokalista tarjoaa astetta parempaa huoltoasemaruokaa.`,text:{nodeType:`document`,content:[{nodeType:`heading-2`,content:[{nodeType:`text`,value:`Tee ryhmätilaus ennakkoon`,marks:[]}]},{nodeType:`paragraph`,content:[{nodeType:`text`,value:`HelmiSimpukassa ryhmäsi syö edullisesti ja sujuvasti ennakkotilauksella. Tutustu herkulliseen annosvalikoimaan ja tilaa ennakkoon eväät ryhmämatkalle, pelireissulle tai vaikka firman palaveriin.`,marks:[]}]}]}}],display:{type:`horizontal`,alignment:`left`,component:`hero`,background:`primary`}})),{t:y,locale:x}=o({useScope:`global`,messages:{"fi-FI":{buttons:{send:`Lähetä`,back:`Takaisin`,continue:`Jatka`,cancel:`Keskeytä`,next:`Seuraava`,close:`Sulje`,order:`Tilaa tästä`},groupOrdering:`Ryhmätilaukset`,step:`Vaihe`,required:`Pakollinen`,summary:`Yhteenveto`,text1:`Maksu tapahtuu paikan päällä.`,text2:`Asema on yhteydessä, kun tilaus on käsitelty ja vahvistaa vielä tilauksen`,orderFailed:`Tilauksen lähettäminen epäonnistui. Yritä uudelleen tai ota yhteyttä asiakaspalveluun.`}}}),S=E(()=>l.value===7?y(`buttons.close`):l.value===6?y(`buttons.send`):l.value?y(`buttons.next`):y(`buttons.continue`)),C=E(()=>l.value!==0&&l.value<=d.value?`${y(`groupOrdering`)}, ${y(`step`)} ${l.value}/${d.value}`:y(`groupOrdering`)),w=e=>{let t={form_name:`group-order-form-${p.id}`,form_description:`fi-b2m-helmisimpukka-group-order`,form_id:p.id,event_function:`conversion`,market_segment:`b2m`};h?.value?.id&&h?.value?.name&&(t.form_station_id=h.value.id,t.form_station_name=h.value.name),i().push(Object.assign(t,e))};function T(){w({event:`form_start`}),l.value=1,t.setNameAndOpen(`group-order-form`),w({event:`form_view`})}function ee(){if(l.value===null){t.unsetNameAndClose(),k(),w({event:`form_abort`});return}u.value=l.value,l.value=null}async function D(){if(!l.value){l.value=u.value,u.value=null;return}if(l.value===6){await te();return}if(l.value===7){t.unsetNameAndClose(),k();return}l.value+=1,w({event:`form_step`})}function O(){--l.value}function k(){u.value=null,l.value=1,s.reset()}async function te(){f.value=!0;let e=s.data.value.crossSell.filter(e=>e.qty>0).map(e=>`${e.name} * ${e.qty}${y(`pcs`)}`).join(`, `),t=s.data.value.crossSellOptions?.map(e=>y(e)).join(`, `),i={stationId:h.value.id,formId:p.id,customer:{name:s.data.value.contact,email:s.data.value.email,phone:s.data.value.phone,contactMethod:s.data.value.contactMethod},order:{type:`groupv2`,food:s.data.value.food===`groupmenu`?s.data.value.groupmenuchoice:y(s.data.value.food),crossSell:`${e} ${t}`.trim(),groupSize:Number(s.data.value.persons),personsUnder12Years:Number(s.data.value.personsUnder12Years),details:s.data.value.details,deliveryDate:`${s.data.value.date} ${s.data.value.time}`},payment:{method:s.data.value.paymentMethod,businessId:s.data.value.businessId,companyName:s.data.value.companyName,officialBillingAddress:s.data.value.officialBillingAddress,eInvoicingAddress:s.data.value.eInvoicingAddress,invoiceReference:s.data.value.invoiceReference}};try{await $fetch(`/proxy/${r.getEndpoint(`groupOrder`)}`,{method:`post`,body:i,headers:{"x-st1-locale":x.value}}),l.value+=1;let e={stationId:h.value.id,formId:p.id,groupSize:Number(s.data.value.persons),personsUnder12Years:Number(s.data.value.personsUnder12Years),food:s.data.value.food,crossSellCount:s.data.value.crossSell.filter(e=>e.qty>0).length,paymentMethod:s.data.value.paymentMethod};w({event:`form_submit`,value:e})}catch{n.addNotification({type:`error`,message:y(`orderFailed`)})}f.value=!1}return(n,r)=>{let i=ii,o=K,s=mu,c=vu,u=Xu,d=fd,f=vd,g=wd,x=Dd,w=Md,E=Pd;return Y(),I(m,null,[L(i,R({id:p.id},Q(v)),{buttons:q(()=>[j(`button`,{class:`ds-btn ds-btn--primary ds-btn--large`,onClick:T},[j(`span`,null,P(Q(y)(`buttons.order`)),1)])]),_:1},16,[`id`]),j(`div`,null,[Q(t).name===`group-order-form`?(Y(),$(b,{key:0,to:Q(t).modalTarget},[j(`div`,Fd,[j(`div`,Id,[j(`h5`,Ld,P(Q(C)),1),j(`button`,{onClick:r[0]||=e=>{Q(t).unsetNameAndClose(),k()}}
2,[L(o,{code:`close`,size:`m`})])]),j(`div`,Rd,[Q(l)===6?(Y(),I(m,{key:0},[j(`h2`,zd,P(Q(y)(`summary`)),1),j(`p`,null,P(Q(y)(`text1`)),1),j(`p`,null,P(Q(y)(`text2`)),1)],64)):a(``,!0),L(s,{step:Q(l),station:Q(h)},null,8,[`step`,`station`]),Q(l)===1?(Y(),$(c,{key:1,stations:e.data},null,8,[`stations`])):Q(l)===2?(Y(),$(u,{key:2,station:Q(h)},null,8,[`station`])):Q(l)===3?(Y(),$(d,{key:3})):Q(l)===4?(Y(),$(f,{key:4})):Q(l)===5?(Y(),$(g,{key:5})):Q(l)===6?(Y(),$(x,{key:6})):Q(l)===7?(Y(),$(w,{key:7,station:Q(h)},null,8,[`station`])):(Y(),$(E,{key:8}))]),j(`div`,Bd,[Q(l)<7?(Y(),I(m,{key:0},[Q(l)>1?(Y(),I(`button`,{key:0,class:`ds-btn ds-btn--large ds-btn--secondary`,onClick:r[1]||=e=>O()},P(Q(y)(`buttons.back`)),1)):a(``,!0),j(`button`,{class:`ds-btn ds-btn--large ds-btn--secondary`,onClick:ee},P(Q(y)(`buttons.cancel`)),1)],64)):a(``,!0),j(`button`,{class:`ds-btn ds-btn--large ds-btn--primary`,disabled:Q(_),onClick:r[2]||=e=>D()},P(Q(S)),9,Vd)])])],8,[`to`])):a(``,!0)])],64)}}}),[[`__scopeId`,`data-v-21d26a0d`]]),Ud=Object.assign({name:`GroupOrder`,inheritAttrs:!1},{__name:`BlocksGroupOrder`,props:{formType:{type:String,required:!1,default:`grouporder`}},setup(e){let t=e,n=E(()=>{switch(t.formType){case`munkkimellakka`:return tu;default:return Hd}});return(e,t)=>(Y(),$(G(Q(n)),s(it(e.$attrs)),null,16))}}),Wd=[`aria-busy`,`disabled`],Gd={__name:`DSButton`,props:{busy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){return(t,n)=>{let r=Ve;return Y(),I(`button`,{class:M(t.$attrs.class||`ds-btn`),"aria-live":`assertive`,"aria-busy":e.busy,disabled:e.busy||e.disabled||null},[e.busy?(Y(),$(r,{key:0,indicator:``})):a(``,!0),j(`span`,{class:M(e.busy?`busy`:`idle`)},[H(t.$slots,`default`)],2)],10,Wd)}}};async function Kd(e,t){return await qd(t).catch(e=>(console.error(`Failed to get image meta for `+t,e+``),{width:0,height:0,ratio:0}))}async function qd(e){if(typeof Image>`u`)throw TypeError(`Image not supported`);return new Promise((t,n)=>{let r=new Image;r.onload=()=>{t({width:r.width,height:r.height,ratio:r.width/r.height})},r.onerror=e=>n(e),r.src=e})}function Jd(e){return(t=>t===void 0?e.missingValue:e[t]||t)}function Yd(e={}){let t=e.formatter,n=e.keyMap&&typeof e.keyMap!=`function`?Jd(e.keyMap):e.keyMap,r={};for(let t in e.valueMap){let n=t,i=e.valueMap[n];r[n]=typeof i==`object`?Jd(i):i}return i=>{let a=[];for(let e in i){let t=e;if(i[t]===void 0)continue;let o=typeof r[t]==`function`?r[t](i[t]):i[t];a.push([n?n(t):t,o])}return t?a.map(e=>t(...e)).join(e.joinWith??`&`):new URLSearchParams(a).toString()}}function Xd(e=``){if(e===void 0||!e.length)return[];let t=new Set;for(let n of e.split(` `)){let e=Number.parseInt(n.replace(`x`,``));e&&t.add(e)}return Array.from(t)}function Zd(e){if(e.length===0)throw Error("`densities` must not be empty, configure to `1` to render regular size only (DPR 1.0)")}function Qd(e=``){if(typeof e==`number`)return e;if(typeof e==`string`&&e.replace(`px`,``).match(/^\d+$/g))return Number.parseInt(e,10)}function $d(e){let t={};if(typeof e==`string`)for(let n of e.split(/[\s,]+/).filter(e=>e)){let e=n.split(`:`);e.length===2?t[e[0].trim()]=e[1].trim():t[`1px`]=e[0].trim()}else Object.assign(t,e);return t}function ef(e){let t={options:e},n=(e,n={})=>nf(t,e,n),r=((e,t,r)=>n(e,Be({modifiers:t},r)).url);for(let t in e.presets)r[t]=((n,i,a)=>r(n,i,{...e.presets[t],...a}));return r.options=e,r.getImage=n,r.getMeta=((e,n)=>tf(t,e,n)),r.getSizes=((e,n)=>of(t,e,n)),t.$img=r,r}async function tf(e,t,n){let r=nf(e,t,{...n});return typeof r.getMeta==`function`?await r.getMeta():await Kd(e,r.url)}function nf(e,t,n){if(t&&typeof t!=`string`)throw TypeError(`input must be a string (received ${typeof t}: ${JSON.stringify(t)})`);if(!t||t.startsWith(`data:`))return{url:t};let{setup:r,defaults:i}=rf(e,n.provider||e.options.provider),a=r(),o=af(e,n.preset);if(t=ht(t)?t:bt(t),!a.supportsAlias){for(let n in e.options.alias)if(t.startsWith(n)){let r=e.options.alias[n];r&&(t=Ct(r,t.slice(n.length)))}}if(a.validateDomains&&ht(t)){let n=Ce(t).host;if(!e.options.domains.find(e=>e===n))return{url:t}}let s=Be(n,o,i),c={...s,modifiers:{...s.modifiers,width:s.modifiers?.width?Qd(s.modifiers.width):void 0,height:s.modifiers?.height?Qd(s.modifiers.height):void 0}},l=a.getImage(t,c,e);return l.format||=c.modifiers.format||``,l}function rf(e,t){let n=e.options.providers[t];if(!n)throw Error(`Unknown provider: `+t);return n}function af(e,t){if(!t)return{};if(!e.options.presets[t])throw Error(`Unknown preset: `+t);return e.options.presets[t]}function of(e,t,n){let r=af(e,n.preset),i=Be(n,r),a=Qd(i.modifiers?.width),o=Qd(i.modifiers?.height),s=i.sizes?$d(i.sizes):{},c=i.densities?.trim(),l=c?Xd(c):e.options.densities;Zd(l);let u=a&&o?o/a:0,d=[],f=[];if(Object.keys(s).length>=1){for(let r in s){let i=sf(r,String(s[r]),o,u,e);if(i!==void 0){d.push({size:i.size,screenMaxWidth:i.screenMaxWidth,media:`(max-width: ${i.screenMaxWidth-1}px)`});for(let r of l)f.push({width:i._cWidth*r,src:cf(e,t,n,i,r)})}}lf(d)}else for(let r of l){let i=Object.keys(s)[0],a=i?sf(i,String(s[i]),o,u,e):void 0;a===void 0&&(a={size:``,screenMaxWidth:0,_cWidth:n.modifiers?.width,_cHeight:n.modifiers?.height}),f.push({width:r,src:cf(e,t,n,a,r)})}uf(f);let p=f[f.length-1],m=d.length?d.map(e=>`${e.media?e.media+` `:``}${e.size}`).join(`, `):void 0,h=m?`w`:`x`;return{sizes:m,srcset:f.map(e=>`${e.src}
2 ${e.width}${h}`).join(`, `),src:p?.src}}function sf(e,t,n,r,i){let a=i.options.screens&&i.options.screens[e]||Number.parseInt(e),o=t.endsWith(`vw`);if(!o&&/^\d+$/.test(t)&&(t+=`px`),!o&&!t.endsWith(`px`))return;let s=Number.parseInt(t);if(!a||!s)return;o&&(s=Math.round(s/100*a));let c=r?Math.round(s*r):n;return{size:t,screenMaxWidth:a,_cWidth:s,_cHeight:c}}function cf(e,t,n,r,i){return e.$img(t,{...n.modifiers,width:r._cWidth?r._cWidth*i:void 0,height:r._cHeight?r._cHeight*i:void 0},n)}function lf(e){e.sort((e,t)=>e.screenMaxWidth-t.screenMaxWidth);let t=null;for(let n=e.length-1;n>=0;n--){let r=e[n];r.media===t&&e.splice(n,1),t=r.media}for(let t=0;t<e.length;t++)e[t].media=e[t+1]?.media||``}function uf(e){e.sort((e,t)=>e.width-t.width);let t=null;for(let n=e.length-1;n>=0;n--){let r=e[n];r.width===t&&e.splice(n,1),t=r.width}}function df(e){let t;return()=>t||(t=typeof e==`function`?e():e,t)}var ff=Yd({keyMap:{format:`f`,width:`w`,height:`h`,resize:`s`,quality:`q`,background:`b`,position:`pos`},formatter:(e,t)=>Le(e)+`_`+Le(t.toString())}),pf={screens:{sm:640,md:768,lg:1024,xl:1280,"2xl":1536},presets:{},domains:[],alias:{},densities:[1,2],format:[`webp`],quality:void 0,provider:`ipx`,providers:{ipx:{setup:df({validateDomains:!0,supportsAlias:!0,getImage:(e,{modifiers:t,baseURL:n},r)=>{t.width&&t.height&&(t.resize=`${t.width}x${t.height}`,delete t.width,delete t.height);let i=ff(t)||`_`;return n||=Ct(r.options.nuxt.baseURL,`/_ipx`),{url:Ct(n,i,ve(e))}}}),defaults:{}}}},mf=e=>{let t=vt(),n=c();return n.$img||n._img||(n._img=ef({...pf,event:e||n.ssrContext?.event,nuxt:{baseURL:t.app.baseURL},runtimeConfig:t}))};function hf(e){performance?.mark?.(`mark_feature_usage`,{detail:{feature:e}})}var gf=e=>{let t=mf();return{providerOptions:E(()=>({provider:e.provider,preset:e.preset})),normalizedAttrs:E(()=>({width:Qd(e.width),height:Qd(e.height),crossorigin:e.crossorigin===!0?`anonymous`:e.crossorigin||void 0,nonce:e.nonce})),imageModifiers:E(()=>({...e.modifiers,width:e.width,height:e.height,format:e.format,quality:e.quality||t.options.quality,background:e.background,fit:e.fit}))}},_f=[`src`],vf={__name:`NuxtImg`,props:{custom:{type:Boolean,required:!1},placeholder:{type:[Boolean,String,Number,Array],required:!1},placeholderClass:{type:String,required:!1},src:{type:String,required:!1},format:{type:String,required:!1},quality:{type:[String,Number],required:!1},background:{type:String,required:!1},fit:{type:String,required:!1},modifiers:{type:Object,required:!1},preset:{type:String,required:!1},provider:{type:null,required:!1},sizes:{type:[String,Object],required:!1},densities:{type:String,required:!1},preload:{type:[Boolean,Object],required:!1},width:{type:[String,Number],required:!1},height:{type:[String,Number],required:!1},crossorigin:{type:[String,Boolean],required:!1},nonce:{type:String,required:!1}},emits:[`load`,`error`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=mf(),{providerOptions:l,normalizedAttrs:u,imageModifiers:d}=gf(i),f=E(()=>o.getSizes(i.src,{...l.value,sizes:i.sizes,densities:i.densities,modifiers:d.value})),p=Z(!1),m=ct(),h=E(()=>({...u.value,"data-nuxt-img":``,...!i.placeholder||p.value?{sizes:f.value.sizes,srcset:f.value.srcset}:{},...m})),g=E(()=>{if(p.value)return!1;let e=i.placeholder===``?[10,10]:i.placeholder;if(!e)return!1;if(typeof e==`string`)return e;let[t=10,n=t,r=50,a=3]=Array.isArray(e)?e:typeof e==`number`?[e]:[];return o(i.src,{...d.value,width:t,height:n,quality:r,blur:a},l.value)}),_=E(()=>i.sizes?f.value.src:o(i.src,d.value,l.value)),v=E(()=>g.value||_.value),y=c().isHydrating,b=Je(`imgEl`);return n({imgEl:b}),t(()=>{if(g.value||i.custom){let e=new Image;_.value&&(e.src=_.value),i.sizes&&(e.sizes=f.value.sizes||``,e.srcset=f.value.srcset),e.decode?e.decode().then(()=>{p.value=!0,a(`load`,new Event(`load`))}).catch(e=>{a(`error`,e)}):(e.onload=e=>{p.value=!0,a(`load`,e)},e.onerror=e=>{a(`error`,e)}),hf(`nuxt-image`);return}b.value&&(b.value.complete&&y&&(b.value.getAttribute(`data-error`)?a(`error`,new Event(`error`)):a(`load`,new Event(`load`))),b.value.onload=e=>{a(`load`,e)},b.value.onerror=e=>{a(`error`,e)})}),(t,n)=>e.custom?H(t.$slots,`default`,s(it({imgAttrs:h.value,isLoaded:p.value,src:v.value}
2)),void 0,void 0,1):(Y(),I(`img`,R({key:0,ref_key:`imgEl`,ref:b,class:g.value?e.placeholderClass:void 0},h.value,{src:v.value}),null,16,_f))}},yf={class:`title-and-company`},bf={class:`contact-details`},xf=[`href`],Sf={key:0},Cf=[`href`],wf={key:1},Tf=[`href`],Ef=U({__name:`BlocksContact`,props:{contact:{type:Object,required:!0},tag:{type:String,default:`li`}},setup(e){return(t,n)=>{let r=vf;return Y(),$(G(e.tag),{class:`contact`},{default:q(()=>[e.contact?.image?.thumbnail_square?(Y(),$(r,{key:0,class:`contact-image ds-avatar`,src:e.contact?.image?.thumbnail_square,alt:e.contact?.name},null,8,[`src`,`alt`])):a(``,!0),j(`dl`,yf,[j(`dt`,null,[j(`strong`,null,P(e.contact.name),1)]),j(`dt`,null,P(e.contact.title),1),j(`dt`,null,P(e.contact.companyDepartment),1)]),j(`dl`,bf,[j(`dt`,null,[j(`a`,{href:`mailto:${e.contact.email}`},P(e.contact.email),9,xf)]),e.contact.phone?(Y(),I(`dt`,Sf,[j(`a`,{href:`tel:${e.contact.phone}`},P(e.contact.phone),9,Cf)])):a(``,!0),e.contact.mobile?(Y(),I(`dt`,wf,[j(`a`,{href:`tel:${e.contact.mobile}`},P(e.contact.mobile),9,Tf)])):a(``,!0)])]),_:1})}}},[[`__scopeId`,`data-v-74ca15a9`]]),Df={class:`release`},Of={class:`title`},kf={class:`byline`},Af={class:`lead`},jf=[`innerHTML`],Mf={key:1,class:`contacts`},Nf={class:`h4`},Pf={class:`contacts-list`},Ff=U({__name:`BlocksRelease`,props:{release:{type:Object,required:!0}},setup(e){let t=e,n=ke(),r=E(()=>{let{origin:e}=Ge();return{title:t.release.title,url:new URL(`${n.path}?release=${t.release.id}`,e).toString(),description:t.release.lead,quote:``,hashtags:``}}),i=[{network:`facebook`,icon:`default-fill/facebook`},{network:`linkedin`,icon:`default-fill/linked-in`},{network:`x`,icon:`default-fill/x`},{network:`whatsapp`,icon:`default-fill/whatsapp`},{network:`email`,icon:`default-fill/email`}],{t:s}=o({useScope:`global`,messages:{"fi-FI":{contacts:`Yhteyshenkilöt`},"en-EU":{contacts:`Contacts`},"sv-SE":{contacts:`Kontakter`},"no-NO":{contacts:`Kontakter`}}});return(t,n)=>{let o=As,c=vf;return Y(),I(`div`,Df,[j(`h2`,Of,P(e.release.title),1),j(`h3`,kf,P(e.release.byline),1),j(`p`,Af,P(e.release.lead),1),L(o,{label:``,sharing:Q(r),channels:i,class:`social-sharing social-sharing--header`},null,8,[`sharing`]),e.release.image?(Y(),$(c,{key:0,src:e.release.image.url,class:`image`,alt:e.release.title},null,8,[`src`,`alt`])):a(``,!0),j(`div`,{class:`body`,innerHTML:e.release.text},null,8,jf),n[0]||=j(`hr`,{"aria-hidden":`true`},null,-1),e.release?.contacts?.persons?(Y(),I(`div`,Mf,[j(`h4`,Nf,P(Q(s)(`contacts`)),1),j(`ul`,Pf,[(Y(!0),I(m,null,J(e.release.contacts.persons,e=>(Y(),$(Ef,{key:e.email,contact:e,tag:`li`},null,8,[`contact`]))),128))])])):a(``,!0),n[1]||=j(`hr`,{"aria-hidden":`true`},null,-1),L(o,{label:``,sharing:Q(r),channels:i,class:`social-sharing social-sharing--footer`},null,8,[`sharing`])])}}},[[`__scopeId`,`data-v-748ae35c`]]),If={class:`releases`},Lf=[`id`],Rf={class:`release-contents`},zf={class:`release-byline`},Bf={class:`release-title`},Vf=[`innerHTML`],Hf={class:`read-more`},Uf=U({__name:`BlocksList`,props:{releases:{type:Array,required:!1,default:()=>[]}},setup(e){let t=Pe(),n=e=>{let{query:n}=ke();t.push({query:{...n,release:e}})};return(t,r)=>{let i=vf,o=Gd;return Y(),I(`div`,If,[(Y(!0),I(m,null,J(e.releases,e=>(Y(),I(`article`,{id:`release-${e.id}`,key:e.id,class:`release-card`},[e.image?.thumbnail_16_9?(Y(),$(i,{key:0,src:e.image?.thumbnail_16_9,alt:e.title,class:`release-image`},null,8,[`src`,`alt`])):a(``,!0),j(`div`,Rf,[j(`h5`,zf,P(e.byline),1),j(`h2`,Bf,P(e.title),1),j(`div`,{class:`release-lead`,innerHTML:e.leadTextOrBodyStrip},null,8,Vf)]),j(`div`,Hf,[L(o,{class:`ds-btn ds-btn--primary read-more-action`,"aria-label":`${t.$t(`readMore`)}
2: ${e.title}`,onClick:t=>n(e.id)},{default:q(()=>[F(P(t.$t(`readMore`)),1)]),_:1},8,[`aria-label`,`onClick`])])],8,Lf))),128))])}}},[[`__scopeId`,`data-v-93766efd`]]),Wf=[`id`],Gf={class:`inner`},Kf={class:`toolbar`},qf={key:0,class:`search`},Jf={key:0},Yf={key:2,class:`list`},Xf=U({__name:`BlocksSTTApi`,props:{id:{type:String,default:``},contentType:{type:String,default:``},createdAt:{type:String,default:``},updatedAt:{type:String,default:``},internalTitle:{type:String,default:``},externalData:{type:Object,required:!0,validator(e){return!e||typeof e!=`object`||!e.config||typeof e.config!=`object`?(console.warn(`STTApi component: externalData.config is missing or invalid.`),!1):[`url`,`filter`,`channels`,`publisher`].every(t=>Object.prototype.hasOwnProperty.call(e.config,t)?!0:(console.warn(`STTApi component: externalData is missing required key '${t}'.`),!1))}}},async setup(e){let n,r,{pageTitle:i}=xe(N()),s=e,{t:u}=o({useScope:`global`,messages:{"en-EU":{stt:{search:`Search`,back:`Back`,error:`Something went wrong. Please try again later.`,releasesError:`Something went wrong and the articles could not be loaded. Please try again later.`,articleNotFound:`Article not found.`}},"fi-FI":{stt:{search:`Hae`,back:`Takaisin`,error:`Jokin meni vikaan. Yritä myöhemmin uudelleen.`,releasesError:`Jokin meni vikaan, eikä artikkeleita voitu ladata. Yritä myöhemmin uudelleen.`,articleNotFound:`Artikkelia ei löydy.`}},"sv-SE":{stt:{search:`Sök`,back:`Tillbaka`,error:`Något gick fel. Vänligen försök igen senare.`,releasesError:`Något gick fel och artiklarna kunde inte laddas. Vänligen försök igen senare.`,articleNotFound:`Artikeln hittades inte.`}},"no-NO":{stt:{search:`Søk`,back:`Tilbake`,error:`Noe gikk galt. Vennligst prøv igjen senere.`,releasesError:`Noe gikk galt og artiklene kunne ikke lastes. Vennligst prøv igjen senere.`,articleNotFound:`Artikkelen ble ikke funnet.`}}}}),d=Je(`releasesContainer`),f=e=>({title:e.title,lead:e.leadtext,leadTextOrBodyStrip:e.leadTextOrBodyStrip,id:e.id,image:e.mainImage,text:e.body,links:[],byline:V.fromISO(e.published).toFormat(`d.M.yyyy`),contacts:e.contacts}),p=ke(),m=E(()=>p.query?.release),h=Z(p?.query?.search??``),g=Z(p?.query?.page?Number(p.query.page):0),_=E(()=>s.externalData?.config?.size??10),v=E(()=>({...s.externalData?.config??{},...p?.query?.search&&{search:p.query.search},...g.value!==void 0&&{page:g.value},..._.value&&{size:_.value},...m.value&&{currentReleaseId:m.value}})),{data:y,status:b,error:x}=([n,r]=Ne(()=>l(`/api/v1/stt/releases`,{method:`GET`,key:JSON.stringify(v.value),query:v,default:()=>({nextPage:null,totalCount:0,releases:[]}),transform:e=>({nextPage:e.nextPage,totalCount:e.totalCount??0,releases:e.releases.map(f)})},`$7du4LvmdXk`)),n=await n,r(),n),S=E(()=>b.value===`pending`),C=E(()=>Math.ceil(y.value.totalCount/_.value));qe(h,()=>{g.value=0,Pe().push({query:{...p.query,page:g.value,search:h.value?h.value:void 0}})},{debounce:500,maxWait:2e3});let{data:w}=l(`/api/v1/stt/release`,{query:v,transform:f,immediate:!!m.value,onResponseError:({response:e})=>c().$dsc.msg.error(e.status===404?`stt.articleNotFound`:`stt.error`)},`$Pp0OZCvEn-`),T=E(()=>{let{query:{release:e}}=p;return e?y.value.releases?.find(({id:t})=>t===Number(e))??w.value:!1}),ee=e=>
2lt({titleTemplate:`${e} | ${u(`site.title`)}`}),O=()=>{d.value&&d.value.scrollIntoView({behavior:`smooth`})};X(T,e=>{e?.title&&ee(e.title),O()});let k=()=>{Pe().push({query:{...p.query,release:void 0}}),ee(i.value)},te=()=>{Pe().push({query:{...p.query,page:g.value}})};return Ee({description:T.value?.lead??null,ogTitle:T.value?.title??null,ogImage:T.value?.image?.url??null}),T.value?.title&&ee(T.value.title),t(()=>{T.value&&O()}),(t,n)=>{let r=ye,i=Ve,o=K,s=Gd,c=Me,l=at;return Y(),I(`section`,{id:e.id,ref:`releasesContainer`,class:`stt-releases`},[j(`div`,Gf,[j(`div`,Kf,[Q(T)?(Y(),$(s,{key:1,class:`ds-btn ds-btn--secondary previous-action`,"aria-label":Q(u)(`stt.back`),onClick:n[1]||=e=>k()},{default:q(()=>[L(o,{code:`chevron-left`,"icon-style":`line`}),F(` `+P(Q(u)(`stt.back`)),1)]),_:1},8,[`aria-label`])):(Y(),I(`div`,qf,[L(r,{modelValue:Q(h),"onUpdate:modelValue":n[0]||=e=>Ie(h)?h.value=e:null,name:`search`,label:Q(u)(`stt.search`),"reset-btn":``,class:`search-input`},null,8,[`modelValue`,`label`]),L(le,{name:`slide-fade`},{default:q(()=>[Xe(L(i,{class:`preloader`,indicator:``},null,512),[[D,Q(S)]])]),_:1})]))]),Q(x)?(Y(),I(`div`,Jf,[L(c,{type:`error`,dismissable:!1},{default:q(()=>[F(P(t.$t(`stt.releasesError`)),1)]),_:1})])):a(``,!0),Q(T)?(Y(),$(Ff,{key:1,release:Q(T)},null,8,[`release`])):(Y(),I(`div`,Yf,[L(Uf,{releases:Q(y).releases},null,8,[`releases`]),Q(C)>1?(Y(),$(l,{key:0,modelValue:Q(g),"onUpdate:modelValue":[n[2]||=e=>Ie(g)?g.value=e:null,te],modelModifiers:{"zero-index":!0},"page-count":Q(C),class:`pagination`},null,8,[`modelValue`,`page-count`])):a(``,!0)]))])],8,Wf)}}},[[`__scopeId`,`data-v-f47ff504`]]),Zf={name:`StationSelection`,props:{stations:{type:Array,required:!1,default:()=>[]}},emits:[`change`],data:()=>({value:0}),computed:{stationSelections(){return this.stations.length>0?[{value:0,name:`-`},...this.stations.map(e=>({value:e.id,name:e.title}))]:null}},mounted(){if((this._.provides[ce]||this.$route).query&&(this._.provides[ce]||this.$route).query.station){let e=this.stations.find(e=>e.links.find(e=>e.to.replace(/^\/asemat\//,``)===(this._.provides[ce]||this.$route).query.station));e&&(this.value=e.id)}},methods:{stationSelected(e){this.$emit(`change`,{id:e.value})}},i18n:{messages:{fi:{default:{byline:`Tilaa Helmisimpukoiden`,heading:`Herkut ennakkoon soittamalla`,text:`Valitse asema ja näet saatavilla olevan ruokalistan. Voit tilata herkut ennakkoon soittamalla asemalle.`,terms:`Ennakko- ja ryhmätilauksen ehdot`,selectStation:`Valitse asema`,step1:`Valitse asema ja tuotteet`,step2:`Tarkista tilauksesi tuotteet`,step3:`Soita asemalle tehdäksesi tilauksen`,step4:`Nouda tilauksesi ja maksa asemalla`}}}}},Qf={class:`station-selection`},$f={class:`inner`},ep={class:`selection`},tp={class:`byline`},np={class:`h1`},rp={class:`terms`,href:`/palvelut/ennakkotilaus/ennakko-ja-ryhmatilauksen-ehdot`,target:`_Blank`},ip={class:`progress`},ap={class:`number`},op={class:`title`};function sp(e,t,n,r,i,a){let o=Ka;return Y(),I(`div`,Qf,[j(`div`,$f,[j(`div`,ep,[j(`p`,tp,P(e.$t(`byline`)),1),j(`h2`,np,P(e.$t(`heading`)),1),j(`p`,null,P(e.$t(`text`)),1),j(`a`,rp,P(e.$t(`terms`)),1),(Y(),$(o,{key:`combobox-${e.station?e.station.id:0}`,label:e.$t(`selectStation`),options:a.stationSelections,"initial-value":e.station?e.station.id:0,onChange:a.stationSelected},null,8,[`label`,`options`,`initial-value`,`onChange`]))]),j(`div`,ip,[t[0]||=j(`div`,{class:`connector`},null,-1),(Y(),I(m,null,J([1,2,3,4],(t,n)=>(Y(),I(m,{key:`number-${n}`},[j(`span`,ap,P(t),1),j(`span`,op,P(e.$t(`step${t}`)),1)],64))),64))])])])}var cp=Object.assign(U(Zf,[[`render`,sp],[`__scopeId`,`data-v-f2d7ff5a`]]),{__name:`BlocksStationsPreorderStationSelection`}),lp={class:`station-info`},up={class:`address`},dp={class:`call`},fp=[`href`],pp={key:0,class:`email`},mp=[`href`],hp=U({__name:`BlocksStationsHeaderInfo`,props:{station:{type:Object,default:()=>({id:``,name:`Station`,street:`Street Address`,postcode:`00000`,city:`City`,telephone:`N/A`,email:`N/A`,openingHoursTable:{}})}},setup(e){let{t}=o({useScope:`global`,messages:{"en-EU":{opens:`Opening hours`,contact:`Contact`,phoneNumber:`Phone number`,email:`Email`,openingHours:{breakfast:`Breakfast`,kitchen:`Kitchen`,lunch:`Lunch`,station:`Station`}},"fi-FI":{opens:`Aukioloajat`,contact:`Yhteystiedot`,phoneNumber:`Puhelinnumero`,email:`Sähköposti`,openingHours:{breakfast:`Aamiainen`,kitchen:`Koko ruokalista`,lunch:`Lounas`,station:`Asema`}}
2,"sv-SE":{opens:`Öppettider`,contact:`Hitta hit`,phoneNumber:`Telefonnummer`,email:`E-post`,openingHours:{breakfast:`Frukost`,kitchen:`Kök`,lunch:`Lunchtid`,station:`Öppettider`}},"no-NO":{opens:`Åpningstider`,contact:`Kontakt`,phoneNumber:`Telefonnummer`,email:`E-post`,openingHours:{breakfast:`Frokost`,kitchen:`Kjøkken`,lunch:`Lunsj`,station:`Stasjon`}}}}),n=e,r=E(()=>[n?.station?.name,n?.station?.street,`${n?.station?.postcode} ${n?.station?.city}`]),i=E(()=>[`station`,`kitchen`,`lunch`,`breakfast`].reduce((e,t)=>(n?.station?.openingHoursTable?.[t]?.length>0&&e.push({type:t,hours:n.station.openingHoursTable[t]}),e),[])),s=E(()=>({"--hours-length":i.value.length}));return lt({bodyAttrs:{class:`station-${n?.station?.id}`}}),(e,o)=>{let c=K,l=Zs;return Y(),I(`div`,lp,[j(`div`,up,[L(c,{code:`default-fill/pin`,size:`xxl`}),j(`h4`,null,P(Q(t)(`contact`)),1),j(`p`,null,[(Y(!0),I(m,null,J(r.value,e=>(Y(),I(`span`,{key:e,class:`address-line`},P(e),1))),128))])]),j(`div`,dp,[L(c,{code:`default-fill/call`,size:`xxl`}),j(`h4`,null,P(Q(t)(`phoneNumber`)),1),j(`p`,null,[j(`a`,{href:`tel:${n?.station?.telephone}`},P(n?.station?.telephone),9,fp)])]),n?.station?.email?(Y(),I(`div`,pp,[L(c,{code:`default-fill/mail`,size:`xxl`}),j(`h4`,null,P(Q(t)(`email`)),1),j(`p`,null,[j(`a`,{href:`mailto:${n?.station?.email}`},P(n?.station?.email),9,mp)])])):a(``,!0),i.value.length>0?(Y(),I(`div`,{key:1,class:`opening-hours-table`,style:_t(s.value)},[(Y(!0),I(m,null,J(i.value,({type:e,hours:n})=>(Y(),I(`div`,{key:`open-hour-${e}`,class:M(`open-hours open-hours-${e}`)},[L(c,{code:e===`station`?`default-fill/clock`:`default-fill/restaurant-stations`,size:`xxl`},null,8,[`code`]),L(l,{name:Q(t)(`openingHours.${e}`),"opening-hours":n},null,8,[`name`,`opening-hours`])],2))),128))],4)):a(``,!0)])}}},[[`__scopeId`,`data-v-17287be3`]]),gp={name:`StationsPreorderSelection`,props:{station:{type:Object,required:!1,default:()=>({})}},data:()=>({page:`selection`,selection:{root:0,category:0}}),computed:{computedMenu(){return(this.station?.menu?.items??[]).map((e,t)=>({id:e.id,index:t,title:e.title,items:(e?.items??[]).filter(this.isProductMenu).map((e,t)=>({id:e.id,index:t,title:e.title}))}))},selectedList(){let e;return this.station?.menu?.items?.[this.selection.root]?.items&&this.station?.menu?.items?.[this.selection.root]?.items?.[this.selection.category].items?e=this.station?.menu?.items[this.selection.root]?.items[this.selection.category]:this.station?.menu?.items?.[this.selection.root]?.items&&(e=this.station?.menu?.items[this.selection.root]),{id:e.id,category:this.station?.menu?.items?.[this.selection.root]?.title,list:e.title}},selectedItems(){try{let e;if(this.station?.menu?.items[this.selection.root]?.items&&this.station?.menu?.items[this.selection.root]?.items[this.selection.category].items?e=this.station?.menu?.items[this.selection.root]?.items[this.selection.category].items:this.station?.menu?.items[this.selection.root]?.items&&(e=this.station?.menu?.items[this.selection.root]?.items),e)return e.flatMap(e=>e.variations&&e.variations.length>0?e.variations.map(t=>Object.assign(JSON.parse(JSON.stringify(e)),{id:e.id,variation:t.id,variationName:t.name,name:`${e.name}, ${t.name.toLowerCase()}`,price:t.price})):e)}catch{return[]}return[]}},mounted(){this.gtmSelection()},methods:{select(e){this.$set(this,`selection`,e),this.gtmSelection()},navigate(e){if(this.page=e,this.setLoading({loading:!0}),this.$nextTick(()=>{this.setLoading({loading:!1})}),e===`checkout`){let e=this.products.flatMap(e=>{let t=[];return e.extras&&(t=e.extras.map(e=>({item_id:e.id,item_name:e.title,item_category:e.list.category,item_list_id:e.list.id,item_list_name:e.list.list,item_variant:e.variationName??``,price:e.price,quantity:e.amount}))),[{item_id:e.id,item_name:e.title,item_category:e.list.category,item_list_id:e.list.id,item_list_name:e.list.list,item_variant:e.variationName??``,price:e.price,quantity:e.amount},...t]});this.$gtm.push({ecommerce:null}),this.$gtm.push({event:`view_cart`,ecommerce:{currency:`EUR`,value:this.productsTotal,items:e}})}},gtmSelection(){let e=this.selectedList,t=this.selectedItems;this.$gtm.push({ecommerce:null}),this.$gtm.push({event:`view_item_list`,ecommerce:{item_list_id:e.id,item_list_name:e.list,items:t.map(t=>({item_id:t.id,item_name:t.name,item_category:e.category??``,item_list_id:e.id,item_list_name:e.list,item_variant:t.variationName??``,price:t.price}))}})},isProductMenu({contentType:e}){return[`productMenu`,`helmisimpukkaProductMenu`].includes(e)}}},_p={class:`preorder-selection`}
2,vp={key:`selection`,class:`selection`},yp={class:`content`},bp={class:`text`},xp={class:`h5`},Sp={key:1,class:`specialties`},Cp={class:`price-group`},wp={class:`price`},Tp={key:0,class:`variation`},Ep={class:`padding`},Dp={class:`extras`},Op={class:`add`},kp={class:`content`},Ap={class:`h5`},jp={class:`price-group`},Mp={class:`price`},Np={key:`checkout`,class:`checkout`},Pp={class:`item`},Fp={class:`content`},Ip={class:`h5`},Lp={key:1,class:`specialties`},Rp={class:`price-group`},zp={class:`price`},Bp={class:`amount`},Vp={class:`add`},Hp={class:`content`},Up={class:`h5`},Wp={class:`price-group`},Gp={class:`price`},Kp={class:`amount`},qp={class:`disclaimer`},Jp={key:0,class:`totals`},Yp=[`disabled`],Xp=[`href`];function Zp(e,t,n,r,i,o){let s=st,c=W,l=al,u=K,d=ut,p=be(`portal`);return Y(),I(`div`,_p,[L(f,{name:`fade`},{default:q(()=>[e.page===`selection`?(Y(),I(`div`,vp,[(Y(!0),I(m,null,J(o.selectedItems,t=>(Y(),I(m,{key:`item-${t.id}-${t.variation}`},[j(`div`,{class:M([{selected:e.productAmount(t.id,t.variation)>0},`item`])},[L(s,{fill:`cover`,asset:t.image},null,8,[`asset`]),j(`div`,yp,[j(`div`,bp,[j(`h3`,xp,P(t.name),1),t.description?(Y(),$(c,{key:0,content:t.description},null,8,[`content`])):a(``,!0),t.specialties?(Y(),I(`span`,Sp,P(t.specialties.join(`, `)),1)):a(``,!0)]),j(`div`,Cp,[j(`span`,wp,P(e.$cms.formatPrice(t.price)),1),t.variation?(Y(),I(`span`,Tp,P(t.variationName),1)):a(``,!0)]),L(l,{"data-key":t.id,value:e.productAmount(t.id,t.variation),onChange:n=>e.setProduct({id:n.dataKey,variation:t.variation,variationName:t.variationName,description:t.description,specialties:t.specialties,image:t.image,title:t.name,amount:n.value,price:t.price,list:{...o.selectedList}})},null,8,[`data-key`,`value`,`onChange`])])],2),j(`div`,Ep,[L(d,{open:e.productAmount(t.id,t.variation)>0},{default:q(()=>[j(`div`,Dp,[(Y(!0),I(m,null,J(t.extras,n=>(Y(),I(`div`,{key:`extra-${t.id}-${t.variation}-${n.id}`,class:`extra`},[j(`span`,Op,[L(u,{code:`default-fill/add`})]),j(`div`,kp,[j(`h4`,Ap,P(n.name),1),n.description?(Y(),$(c,{key:0,class:`description`,content:n.description},null,8,[`content`])):a(``,!0)]),j(`div`,jp,[j(`p`,Mp,P(e.$cms.formatPrice(n.price)),1)]),(Y(),$(l,{key:`${t.id}-${t.variation}-${n.id}`,"data-key":`${t.id}-${t.variation}-${n.id}`,value:e.productAmount(t.id,t.variation,n.id),onChange:r=>e.setProduct({id:t.id,variation:t.variation,extra:n.id,category:o.selectedList.category,description:n.description,specialties:n.specialties,image:n.image,title:n.name,amount:r.value,price:n.price,list:{...o.selectedList}})},null,8,[`data-key`,`value`,`onChange`]))]))),128))])]),_:2},1032,[`open`])])],64))),128))])):e.page===`checkout`?(Y(),I(`div`,Np,[(Y(!0),I(m,null,J(e.products,t=>(Y(),I(m,{key:t.id},[j(`div`,Pp,[L(s,{fill:`cover`,asset:t.image},null,8,[`asset`]),j(`div`,Fp,[j(`h3`,Ip,P(t.title),1),t.description?(Y(),$(c,{key:0,class:`description`,content:t.description},null,8,[`content`])):a(``,!0),t.specialties?(Y(),I(`span`,Lp,P(t.specialties.join(`, `)),1)):a(``,!0),j(`div`,Rp,[j(`div`,zp,P(e.$cms.formatPrice(t.price*t.amount)),1),j(`div`,Bp,P(`${t.amount} ${e.$t(`amount`)}`),1)])])]),t.extras?(Y(),I(`div`,{key:`extras-${t.id}-${t.variation}`,class:`extras`},[(Y(!0),I(m,null,J(t.extras,n=>(Y(),I(`div`,{key:`extra-${t.id}-${t.variation}-${n.extra}`,class:`extra`},[j(`span`,Vp,[L(u,{code:`default-fill/add`})]),j(`div`,Hp,[j(`h4`,Up,P(n.title),1),n.description?(Y(),$(c,{key:0,class:`description`,content:n.description},null,8,[`content`])):a(``,!0)]),j(`div`,Wp,[j(`div`,Gp,P(e.$cms.formatPrice(n.amount*n.price)),1),j(`div`,Kp,P(n.amount)+` `+P(e.$t(`amount`)),1)])]))),128))])):a(``,!0)],64))),128)),t[2]||=j(`hr`,{class:`checkout-divider`,"aria-hidden":`true`},null,-1),j(`p`,qp,P(e.$t(`listPriceNotification`)),1)])):a(``,!0)]),_:1}),L(p,{to:`footer-toolbar`},{default:q(()=>[(Y(),I(`div`,{key:`${e.page}`,class:`toolbar`},[L(le,{name:`fade`},{default:q(()=>[n.station.id?(Y(),I(`div`,Jp,[L(f,{name:`fade`,tag:`div`,class:`inner`},{default:q(()=>[e.page===`selection`?(Y(),I(`button`,{key:`to-checkout`,class:`ds-btn ds-btn--secondary`,disabled:e.products.length===0,onClick:t[0]||=e=>o.navigate(`checkout`)},P(e.$t(`order`)),9,Yp)):(Y(),I(`button`,{key:`back`,class:`ds-btn ds-btn--secondary`,onClick:t[1]||=e=>o.navigate(`selection`)},[L(u,{code:`default-line/arrow-left`}
2),F(` `+P(e.$t(`back`)),1)])),n.station.telephone?(Y(),I(`a`,{key:`phone`,class:`ds-btn ds-btn--primary phone`,href:`tel:${n.station.telephone}`},[L(u,{code:`default-fill/call`,size:`l`}),F(` `+P(e.$t(`call`))+`: `+P(n.station.telephone),1)],8,Xp)):a(``,!0)]),_:1})])):a(``,!0)]),_:1})]))]),_:1})])}var Qp=Object.assign(U(gp,[[`render`,Zp],[`__scopeId`,`data-v-143a6f30`]]),{__name:`BlocksStationsPreorderSelection`}),$p={key:0,class:`station-container info`},em={class:`station-container padded`},tm={class:`ds-modal-content size-small confirm-nav`},nm={class:`head`},rm=[`aria-label`],im={class:`content`},am={class:`h4`},om={class:`foot`},sm=U(Object.assign({inheritAttrs:!1},{__name:`BlocksStationsPreorder`,props:{stations:{type:Array,required:!1,default:()=>[]}},setup(e){let t=ke(),n=Z({}),{station:r}=xe(N(B())),i=e;lt({link:{rel:`canonical`,href:`<set host here>${t.path}`}});let s=E(()=>Object.keys(r).length>0),c=E(()=>i.stations.length?xn(i.stations,`title`):[]);return o({useScope:`global`,messages:{"fi-FI":{confirmNav:{title:`Oletko varma että haluat vaihtaa asemaa?`,text:`Vaihtamalla asemaa valitsemasi tuotteet poistuvat listalta.`,close:`Peruuta`,ok:`Vaihda asemaa`}},"en-EU":{confirmNav:{title:`Are you sure you want to change station?`,text:`By changing station the products in cart will be reset.`,close:`Cancel`,ok:`Change station`}}}}),(e,t)=>{let i=cp,o=hp,l=Qp,u=K,d=be(`portal`);return Y(),I(`section`,{key:`preorder-${Q(r)?Q(r).id:0}`,class:`preorder`},[L(i,{stations:Q(c),onChange:e.selectStation},null,8,[`stations`,`onChange`]),L(le,{name:`fade`},{default:q(()=>[Q(s)?(Y(),I(`div`,$p,[L(o,{station:Q(r)},null,8,[`station`])])):a(``,!0)]),_:1}),L(le,{name:`fade`},{default:q(()=>[Xe(j(`div`,em,[Q(s)?(Y(),$(l,{key:`selection-${Q(r)?Q(r).id:0}`,station:Q(r)},null,8,[`station`])):a(``,!0)],512),[[D,Q(s)]])]),_:1}),L(d,{to:`preorder-confirm-nav`},{default:q(()=>[j(`div`,tm,[j(`div`,nm,[j(`button`,{class:`close`,"aria-label":e.$t(`confirmNav.close`),onClick:t[0]||=(...t)=>e.closeModal&&e.closeModal(...t)},[L(u,{code:`default-line/close`})],8,rm)]),j(`div`,im,[j(`h2`,am,P(e.$t(`confirmNav.title`)),1),j(`p`,null,P(e.$t(`confirmNav.text`)),1)]),j(`div`,om,[j(`button`,{class:`ds-btn ds-btn--secondary`,onClick:t[1]||=(...t)=>e.closeModal&&e.closeModal(...t)},P(e.$t(`confirmNav.close`)),1),j(`button`,{class:`ds-btn ds-btn--primary`,onClick:t[2]||=t=>e.navigate(Q(n))},P(e.$t(`confirmNav.ok`)),1)])])]),_:1})])}}}),[[`__scopeId`,`data-v-5eb2954a`]]),cm={class:`inner`},lm={class:`illustration`},um={class:`header-content`},dm={class:`left`},fm={class:`brand`},pm={class:`h1`},mm={class:`label`},hm=U(Object.assign({name:`StationsHeader`},{__name:`BlocksStationsHeader`,props:{image:{type:Object,required:!1,default:()=>({})},stations:{type:Object,required:!1,default:()=>({})}},setup(e){let{$paths:t}=c(),n=z(`station`,{}),{t:r}=o({useScope:`global`,messages:{"en-EU":{back:`Back`,"get-directions":`Get directions`,"station-under-maintenance":`This station is under maintenance`},"fi-FI":{back:`Takaisin`,"get-directions":`Hae reittiohjeet`,"station-under-maintenance":`Tämä asema on väliaikaisesti suljettu`},"sv-SE":{back:`Tillbaka`,"get-directions":`Hämta vägbeskrivning`,"station-under-maintenance":`Denna station är under underhåll`},"no-NO":{back:`Tilbake`,"get-directions":`Hent veibeskrivelse`,"station-under-maintenance":`Denne stasjonen er under vedlikehold`}}}),i=E(()=>n.value?.services?.includes(`ploq`)?`ploq`:n.value?.services?.includes(`dirtcarwash`)?`dirt carwash`:n.value?.services?.includes(`welcomein`)?`välkommen in`:n.value?.brand),s=E(()=>n.value?.name?.replace(/^St1\s|Shell\s|PLOQ\s|Välkommen\sin\s/,``)??``),l=()=>{let e=Pe();if(e?.options?.history?.state?.back){e.back();return}pt(t.getPath(`stationLocator`))};return(e,t)=>{let o=st,c=K,u=gt,d=Me,f=hp;return Y(),I(`section`,{class:M([`stations-header`,{"has-image":Q(n)?.image}])},[j(`div`,cm,[j(`div`,lm,[Q(n)?.image?(Y(),$(o,{key:0,asset:Q(n)?.image,class:`illustration-image`,fill:`cover`},null,8,[`asset`])):a(``,!0),j(`div`,um,[j(`button`,{class:`ds-btn ds-btn--secondary btn-back`,onClick:t[0]||=e=>l()},[L(c,{code:`arrow-left`,set:`st1website`,size:`l`}),j(`span`,null,P(Q(r)(`back`)),1)]),j(`div`,dm,[j(`p`,fm,P(Q(i)),1),j(`h1`,pm,P(Q(s)),1)]),Number(Q(n)?.location?.lat)!==0&&Number(Q(n)?.location?.lon)!==0?(Y(),$(u,{key:0,href:`https://maps.google.com/?daddr=${Q(n)?.location?.lat},${Q(n)?.location?.lon}`,class:`directions ds-btn ds-btn--primary`,target:`_blank`,"aria-label":Q(r)(`get-directions`)},{default:q(()=>[j(`span`,mm,P(Q(r)(`get-directions`)),1),L(c,{size:`xl`,code:`directions`})]),_:1},8,[`href`,`aria-label`])):a(``,!0)])]),Q(n).isClosed?(Y(),$(d,{key:0,t
2ype:`warning`,variation:`2`},{default:q(()=>[F(P(Q(r)(`station-under-maintenance`)),1)]),_:1})):a(``,!0),L(f,{station:Q(n)},null,8,[`station`])])],2)}}}),[[`__scopeId`,`data-v-b9470ea3`]]),gm={class:`service-item`},_m={class:`service-item-title`},vm={key:0,class:`details`},ym=U({__name:`BlocksStationAttributeItem`,props:{title:{type:String,required:!0},icon:{type:Object,default:()=>({code:`approved`,style:`fill`})},details:{type:Array,default:()=>[]}},setup(e){let{t}=o({useScope:`global`});return(n,r)=>{let i=K;return Y(),I(`div`,gm,[L(i,R(e.icon,{size:`l`,set:`svg`}),null,16),j(`span`,_m,P(Q(t)(`stationAttributes.${e.title}`)),1),e.details.length?(Y(),I(`ul`,vm,[(Y(!0),I(m,null,J(e.details,e=>(Y(),I(`li`,{key:e},P(e),1))),128))])):a(``,!0)])}}},[[`__scopeId`,`data-v-4d8bed45`]]),bm={key:0,class:`station-attributes`},xm={class:`inner`},Sm={class:`attributes`},Cm=U(Object.assign({inheritAttrs:!1},{__name:`BlocksStationsAttributes`,setup(e){let t=Z(null),{locale:n,t:r}=o({useScope:`global`,messages:{"fi-FI":{services:`Palvelut`,fuels:`Polttoaineet`,carwashHeight:`Korkeus: {height} cm`,carwashWidth:`Leveys: {width} cm`},"sv-SE":{services:`Tjänster`,fuels:`Drivmedel`,carwashHeight:`Höjd: {height} cm`,carwashWidth:`Bredd: {width} cm`},"no-NO":{services:`Tjenester`,fuels:`Drivstoff`,carwashHeight:`Høyde: {height} cm`,carwashWidth:`Bredde: {width} cm`}}}),i=z(`station`,{}),s=[`trucklengthunder14`,`trucklengthunder2525`,`trucklengthunder345`],c=E(()=>Array.from(new Set((i.value?.fuels??[]).map(d).filter(Boolean))).map(e=>({icon:{code:`refuel`},title:e}))),l=E(()=>{let e={servicefueling:{icon:`serviced-fueling`,iconStyle:`fill`},adblueprivatecars:{icon:`ad-blue`,iconStyle:`fill`},adblue:{icon:`ad-blue`,iconStyle:`fill`},carmaintenance:{icon:`vehicle-maintenance`,iconStyle:`fill`},trailerrent:{icon:`trailer`,iconStyle:`fill`},post:{icon:`mail`,iconStyle:`fill`},matkahuolto:{icon:`package-pickup`,iconStyle:`fill`},automatedmatkahuolto:{icon:`package-pickup`,iconStyle:`fill`},sauna:{icon:`sauna`,iconStyle:`fill`},shower:{icon:`shower`,iconStyle:`fill`},truckfuelingpoint:{icon:`truck`,iconStyle:`fill`},selfservicecarwash:{icon:`car-wash-self-service`,iconStyle:`fill`},carwash:{icon:`car-wash`,iconStyle:`fill`},perfectcarwash:{icon:`car-wash`,iconStyle:`fill`},carwash24h:{icon:`car-wash24`,iconStyle:`fill`},perfectcarwash24hours:{icon:`car-wash24`,iconStyle:`fill`},selfservicepaymentterminal:{icon:`payment-cards`,iconStyle:`fill`},burgerking:{icon:`hamburger`,iconStyle:`fill`},kotipizza:{icon:`pizza`,iconStyle:`fill`},lunch:{icon:`restaurant-stations`,iconStyle:`fill`},weekendlunch:{icon:`restaurant-stations`,iconStyle:`fill`},cafeteria:{icon:`cafe`,iconStyle:`line`},driverspremium:{icon:`hamburger`,iconStyle:`fill`},goldenrax:{icon:`pizza`,iconStyle:`fill`},othershop:{icon:`services`,iconStyle:`fill`},restaurantnotconcept:{icon:`restaurant-stations`,iconStyle:`fill`},meetingroom:{icon:`whiteboard`,iconStyle:`fill`},drivers:{icon:`hotdog`,iconStyle:`fill`},freewifi:{icon:`network`,iconStyle:`fill`},pizza:{icon:`pizza`,iconStyle:`fill`},truck:{icon:`truck`,iconStyle:`fill`},food:{icon:`restaurant-stations`,iconStyle:`fill`},coffee:{icon:`cafe`,iconStyle:`line`},boutique:{icon:`services`,iconStyle:`fill`},fueling:{icon:`refuel`,iconStyle:`fill`},laddstation:{icon:`recharge`,iconStyle:`fill`},toilet:{icon:`toilet`,iconStyle:`fill`},wifi:{icon:`network`,iconStyle:`fill`},nestekaasu:{icon:`bottled-gas`,iconStyle:`fill`},accessibletoilet:{icon:`disability-toilet`,iconStyle:`fill`},changingtable:{icon:`family-room`,iconStyle:`fill`},devicecharging:{icon:`battery-charge`,iconStyle:`fill`},seatingarea:{icon:`outdoor-seat`,iconStyle:`fill`},schenker:{icon:`package-pickup`,iconStyle:`fill`},budbee:{icon:`package-pickup`,iconStyle:`fill`},ups:{icon:`package-pickup`,iconStyle:`fill`},helmisimpukka:{icon:`helmisimpukka`,iconStyle:`fill`},helmisimpukkarestaurant:{icon:`helmisimpukka`,iconStyle:`fill`},veneasema:{icon:`marine-depot`,iconStyle:`fill`},automatedposti:{icon:`package`,iconStyle:`fill`},evCharging:{icon:`recharge`,iconStyle:`fill`},twoqualitydiesel:{icon:`refuel`,iconStyle:`fill`},dieselHVO:{icon:`refuel`,iconStyle:`fill`},diesel20:{icon:`refuel`,iconStyle:`fill`},diesel35:{icon:`refuel`,iconStyle:`fill`},diesel38:{icon:`refuel`,iconStyle:`fill`},re85:{icon:`refuel`,iconStyle:`fill`},lbg:{icon:`refuel`,iconStyle:`fill`},trucklengthunder14:{icon:`crt-truck`,iconStyle:`fill`},trucklengthunder2525:{icon:`crt-truck`,iconStyle:`fill`},trucklengthunder345:{icon:`crt-truck`,iconStyle:`fill`},noshop:{icon:`no-shop`,iconStyle:`fill`},depot:{icon:`depot`,iconStyle:`fill`},defibrillator:{icon:`defibrillator`,iconStyle:`fill`},bottlerec:{icon:`bottle-recycle`,iconStyle:`fill`},dirtcarwash:{icon:`car-wash`,iconStyle:`fill`},realfood:{icon:`restaurant-stations`,iconStyle:`fill`}},t=[`welcomein`,`ploq`],a=e=>!t.includes(e.title),o=e=>n.value!==`sv-SE`||![`coffee`,`othershop`,`butik-ploq`,`butik-welcomein`].includes(e.title),c=t=>{let n=t.replace(/^finland\//,``).replace(/^sweden\//,``).replace(/^norway\//,``);
2return{icon:{code:e[n]?.icon??`approved`,style:e[n]?.iconStyle??`fill`},title:n}},l=e=>t=>{if(t.details=[],t.title===`perfectcarwash`&&e.value?.carWashSize){let[n,i]=(e.value?.carWashSize??``).split(`/`).map(e=>e.trim());n&&t.details.push(r(`carwashHeight`,{height:n})),i&&t.details.push(r(`carwashWidth`,{width:i}))}return t},{services:u,truckLengths:f}=(i.value?.trucks??[]).map(d).reduce((e,t)=>(s.includes(t)?e.truckLengths.push(t):e.services.push(t),e),{services:[],truckLengths:[]}),p=f.length===1?f[0]:f.includes(`trucklengthunder345`)?`trucklengthunder345`:f.includes(`trucklengthunder2525`)?`trucklengthunder2525`:f.includes(`trucklengthunder14`)?`trucklengthunder14`:null;return Array.from(new Set([...i.value?.services??[],...u,...p?[p]:[]])).map(d).map(c).map(l(i)).filter(a).filter(o).filter(Boolean)}),u=E(()=>{let e=[];return l.value.length>0&&e.push({title:r(`services`),items:l.value}),c.value.length>0&&e.push({title:r(`fuels`),items:c.value}),e});function d(e){return(e??``).replace(/^finland\//,``).replace(/^sweden\//,``).replace(/^norway\//,``)}return(e,n)=>{let r=K,i=ym;return Q(u).length>0?(Y(),I(`section`,bm,[j(`div`,xm,[(Y(!0),I(m,null,J(Q(u),(n,o)=>(Y(),I(m,{key:`entry-${o}`},[(Y(),$(G(e.$bp.bps.atMostMobile?`button`:`h2`),{class:`h5`,onClick:e=>t.value=Q(t)===n.title?null:n.title},{default:q(()=>[j(`span`,null,P(n.title),1),e.$bp.bps.atMostMobile?(Y(),$(r,{key:0,code:Q(t)===n.title?`minus`:`plus`,size:`l`},null,8,[`code`])):a(``,!0)]),_:2},1032,[`onClick`])),j(`div`,{class:M([`list`,{open:Q(t)===n.title}])},[j(`div`,Sm,[(Y(!0),I(m,null,J(n.items,(e,t)=>(Y(),$(i,R({key:`item-${t}`},{ref_for:!0},e),null,16))),128))])],2)],64))),128))])])):a(``,!0)}}}),[[`__scopeId`,`data-v-e01540b5`]]),wm={class:`station-map station-locator`},Tm={class:`inner`},Em=U(Object.assign({name:`StationMap`},{__name:`BlocksStationMap`,setup(e){let t=z(`station`,{location:{}}),{userLocation:n}=Li(),r=Z(null),i=Z({id:t.value?.id,name:t.value?.name,brand:t.value?.brand,isClosed:t.value?.isClosed,position:{lat:Number(t.value?.location?.lat),lng:Number(t.value?.location?.lon)}});return(e,o)=>{let s=Mi;return Y(),I(`section`,wm,[j(`div`,Tm,[L(s,{ref_key:`map`,ref:r,"map-id":`embed-station-locator-${Q(t).id}`,"g-map-config":{center:{lat:Number(Q(t).location.lat),lng:Number(Q(t).location.lon)},zoom:12}},{default:q(()=>[Q(n)?(Y(),$(Q(Ki),{key:0})):a(``,!0),L(Q(Gi),{marker:i.value},null,8,[`marker`])]),_:1},8,[`map-id`,`g-map-config`])])])}}}),[[`__scopeId`,`data-v-6f0a618f`]]),Dm={key:0,class:`station-list`},Om={class:`inner`},km={key:0,class:`h3`},Am={class:`stations`},jm=[`src`,`alt`],Mm={class:`title`},Nm=U({__name:`BlocksStationsList`,props:{type:{type:String,required:!1,default:`list`},title:{type:String,required:!1,default:``},stations:{type:Array,required:!1,default:()=>[]}},setup(e){let t=e=>e?.type.some(e=>e.name===`shell`)?`/images/st1-dsc/stationlocator/shell-logo.png`:`/images/st1-dsc/stationlocator/st1-logo.webp`;return(n,r)=>{let i=gt,o=K;return e.stations?(Y(),I(`div`,Dm,[j(`div`,Om,[e.title?(Y(),I(`h2`,km,P(e.title),1)):a(``,!0),j(`div`,Am,[(Y(!0),I(m,null,J(e.stations,e=>(Y(),I(`div`,{key:e.id,class:`station`},[j(`img`,{src:t(e),alt:e.name},null,8,jm),(Y(!0),I(m,null,J(e?.links,(t,n)=>(Y(),I(m,{key:`${e.id}-link-${n}`},[L(i,{class:`link`,to:t.to,external:``},{default:q(()=>[j(`span`,Mm,P(e.title),1)]),_:2},1032,[`to`]),F(` `+P(t.title)+` `,1),L(o,{code:`default-line/chevron-right`,size:`l`})],64))),128))]))),128))])])])):a(``,!0)}}},[[`__scopeId`,`data-v-a89faf37`]]),Pm=U(Object.assign({inheritAttrs:!1},{__name:`BlocksStations`,props:{contentType:{type:String,default:`stationLocator`},type:{type:String,default:`list`},data:{type:Array,default:()=>[]},prefix:{type:String,default:`/asemat/`},filters:{type:Object,default:()=>void 0}},setup(e){let{station:t}=xe(N(B())),{t:n}=o({useScope:`global`}),r=e,i=ct(),a=E(()=>xn(r.data.map(({station:{id:e,stationTypes:t=[],name:n},path:r})=>({id:e,type:t,title:n,links:[{to:`/${r}`,title:u(t)}]})),`title`)),c=E(()=>({id:i.id,stations:r.type===`list`?a:t,filters:r.filters,class:{"station-page-content":!0,block:r.type===`foodMenu`}})),l=E(()=>{switch(r.type.toLowerCase()){case`preorder`:return sm;case`header`:return hm;case`lunch`:return Na;case`attributes`:return Cm;case`foodmenu`:return co;case`map`:return Em;case`grouporder`:return be(`BlocksStationsGrouporder`);case`list`:return Nm}return null});function u(e=[]){return e.includes(`helmisimpukkarestaurant`)?n(`restaurant`):e.includes(`helmisimpukka`)?n(`express`):n(`station`)}return lt({bodyAttrs:{class:`station-page`}}),(e,t)=>(Y(),$(G(Q(l)),s(it(Q(c))),null,16))}}),[[`__scopeId`,`data-v-ede91538`]]),Fm={class:`range-info`},Im=[`min`,`max`,`step`,`value`,`disabled`,`aria-valuemin`,`aria-valuenow`,`aria-valuemax`],Lm=[`min`,`max`,`step`,`value`,`disabled`,`aria-valuemin`,`aria-valuenow`,`aria-valuemax`],Rm=U({__name:`DSRangeSlider`,props:{double:{type:Boolean,default:!1},gap:{type:Number,default:e=>+!!e.double},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},minValue:{type:Number,required:!0},maxValue:{type:Number,default:e=>e.maxValue||e.max},disabled:{type:Boolean,default:!1},error:{type:String,default:null},helpText:{type:String,default:null},updateImmediately:{type:Boolean,default:!1}},emits:[`update:min-value`,`update:max-value`],setup(e,{emit:t}){let n=e,r=Z(null),i=Z(null),o=Z(null),s=Z(null),c=Z({min:n.minValue,max:n.maxValue}),l=t,u=e=>`${(e-n.min)/(n.max-n.min)*100}%`,d=(e,t=!0)=>l(t?`update:min-value`:`update:max-value`,e),f=(e,t=!0)=>{let a=Number(e instanceof Event?e.target.value:e);
2t?(c.value.max-a<=n.gap&&(r.value.value=a=c.value.max-n.gap),c.value.min=a,n.updateImmediately&&d(a)):(a-c.value.min<=n.gap&&(i.value.value=a=c.value.min+n.gap),c.value.max=a,n.updateImmediately&&d(a,!1))},p=e=>{try{return JSON.parse(e)}catch{return e}},m=e=>e instanceof Array,h=E(()=>p(n.error));return X(()=>n.step,async()=>{await ge(),f(r.value.value),n.double&&f(i.value.value,!1)}),(t,n)=>(Y(),I(`div`,{class:M([`ds-range-slider`,{error:Q(h)&&!m(Q(h)),disabled:e.disabled}])},[j(`div`,Fm,[j(`div`,{ref_key:`rangeStartInfoRef`,ref:o,class:M([`range-info-start`,{error:m(Q(h))?Q(h)[0]:null}]),style:_t(`left: ${u(Q(c).min)}`)},P(Q(c).min),7),e.double?(Y(),I(`div`,{key:0,ref_key:`rangeEndInfoRef`,ref:s,class:M([`range-info-end`,{error:m(Q(h))?Q(h)[1]:null}]),style:_t(`left: ${u(Q(c).max)}`)},P(Q(c).max),7)):a(``,!0)]),n[3]||=j(`div`,{class:`track`},null,-1),j(`input`,{ref_key:`rangeStartRef`,ref:r,class:`range-start`,type:`range`,min:e.min,max:e.max,step:e.step,value:Q(c).min,disabled:e.disabled,role:`slider`,tabindex:`0`,"aria-valuemin":e.min,"aria-valuenow":e.minValue,"aria-valuemax":e.max,onInput:f,onChange:n[0]||=t=>e.updateImmediately?null:d(Number(t.target.value))},null,40,Im),e.double?(Y(),I(`input`,{key:0,ref_key:`rangeEndRef`,ref:i,type:`range`,class:`range-end`,min:e.min,max:e.max,step:e.step,value:Q(c).max,disabled:e.disabled,role:`slider`,tabindex:`0`,"aria-valuemin":e.min,"aria-valuenow":e.maxValue,"aria-valuemax":e.max,onInput:n[1]||=e=>f(e,!1),onChange:n[2]||=t=>e.updateImmediately?null:d(Number(t.target.value),!1)},null,40,Lm)):a(``,!0),e.error||e.helpText?(Y(),I(`div`,{key:1,class:M([`text-after`,{"help-text":e.helpText,error:e.error}])},P(e.error?m(Q(h))?Q(h).find(e=>!!e):e.error:e.helpText),3)):a(``,!0)],2))}},[[`__scopeId`,`data-v-2557de1e`]]),zm={__name:`DSField`,props:{name:{type:String,required:!0},type:{type:String,required:!1,default:`text`},id:{type:String,required:!1,default:void 0},custom:{type:null,required:!1,default:null}},setup(e,{expose:t}){let n=ct(),r=e,i=z(Ll),o=z(Rl);if(!i||!o)throw Error(`[DSForm]: DSField must be used inside DSForm`);let c=E(()=>i.value.fieldsState[r.name]),l=E(()=>c.value.visible&&Array.isArray(c.value.errors)?c.value.errors[0]:void 0),u=E(()=>n.required===void 0&&i.value.rules?.[r.name]?.includes?.(`notEmpty`)),d=E(()=>r.custom?`custom`:r.type),f=r.id?r.id:`${d.value}-${Te()}`,p=E(()=>i.value.state[r.name]),m=E(()=>i.value.state[r.name]),h=E(()=>i.value.state[r.name]),g=E(()=>i.value.state[r.name]??null);if(!c.value)throw Error(`[DSForm]: Couldn't find field named ${r.name}`);let _=e=>o.commitValue(r.name,e),y=Z(null);return t(new Proxy({},{get:(e,t)=>y.value?.[t],has:(e,t)=>t in(y.value??{})})),(t,n)=>{let r=ye,c=td,b=Ka,x=El,S=al,C=Rm,w=zu;return[`text`,`password`,`email`,`number`].includes(Q(d))?(Y(),$(r,R({key:0,id:Q(f),ref_key:`fieldRef`,ref:y,type:Q(d),name:e.name,required:Q(u),"model-value":Q(p),error:Q(l)},t.$attrs,{onSubmit:Q(o).submit,"onUpdate:modelValue":_,onBlur:n[0]||=t=>Q(o).touch(e.name)}),null,16,[`id`,`type`,`name`,`required`,`model-value`,`error`,`onSubmit`])):[`textarea`].includes(Q(d))?(Y(),$(c,R({key:1,id:Q(f),ref_key:`fieldRef`,ref:y,name:e.name,"model-value":Q(h),error:Q(l)},t.$attrs,{"onUpdate:modelValue":_,onBlur:n[1]||=t=>Q(o).touch(e.name)}),null,16,[`id`,`name`,`model-value`,`error`])):[`combobox`,`select`].includes(Q(d))?(Y(),$(b,R({key:2,id:Q(f),ref_key:`fieldRef`,ref:y,name:e.name,required:Q(u),"model-value":Q(i).state[e.name],error:Q(l)},t.$attrs,{"onUpdate:modelValue":_,onFocusout:n[2]||=t=>Q(o).touch(e.name)}),v({_:2},[J(t.$slots,(e,n)=>({name:n,fn:q(e=>[H(t.$slots,n,s(it(e??{})))])}))]),1040,[`id`,`name`,`required`,`model-value`,`error`])):[`checkbox`,`switch`,`radio`].includes(Q(d))?(Y(),$(x,R({key:3,ref_key:`fieldRef`,ref:y,type:Q(d),name:e.name,"model-value":Q(i).state[e.name],error:Q(l)},t.$attrs,{"onUpdate:modelValue":_}),v({_:2},[J(t.$slots,(e,n)=>({name:n,fn:q(e=>[H(t.$slots,n,s(it(e??{})))])}))]),1040,[`type`,`name`,`model-value`,`error`])):Q(d)===`dsnumber`?(Y(),$(S,R({key:4,id:Q(f),ref_key:`fieldRef`,ref:y,"model-value":Q(p),error:Q(l)},t.$attrs,{"onUpdate:modelValue":_}),null,16,[`id`,`model-value`,`error`])):Q(d)===`range`?(Y(),$(C,R({key:5,id:Q(f),ref_key:`fieldRef`,ref:y,"min-value":Q(m)instanceof Array?Q(m)[0]:Q(m),"max-value":Q(m)instanceof Array?Q(m)[1]:Q(m),error:Q(l)},t.$attrs,{"onUpdate:minValue":n[3]||=e=>_(Q(m)instanceof Array?[e,Q(m)[1]]:e),"onUpdate:maxValue":n[4]||=e=>_(Q(m)instanceof Array?[Q(m)[0],e]:e)}),null,16,[`id`,`min-value`,`max-value`,`error`])):[`calendar`].includes(Q(d))?(Y(),$(w,R({key:6,id:Q(f),ref_key:`fieldRef`,ref:y,"model-value":Q(g)},t.$attrs,{"onUpdate:modelValue":_}),null,16,[`id`,`model-value`])):Q(d)===`custom`?(Y(),$(G(e.custom),R({key:7,id:Q(f),ref_key:`fieldRef`,ref:y,name:e.name,"model-value":Q(i).state[e.name],error:Q(l)},t.$attrs,{"onUpdate:modelValue":_}),v({_:2},[J(t.$slots,(e,n)=>({name:n,fn:q(e=>[H(t.$slots,n,s(it(e??{})))])}))]),1040,[`id`,`name`,`model-value`,`error`])):a(``,!0)}}},Bm={__name:`DSForm`,props:{modelValue:{type:Object,required:!0},rules:{type:Object,required:!0},trackKeys:{type:[Boolean,Array],required:!1}},emits:[`update`,`visuallyValid`,`error`,`submit`,`valid`,`modified`,`submittable`],setup(e,{expose:t,emit:n}){let{$i18n:r,$dsc:i}=c(),{info:a}=console,o=e,s={debug:!1},l=z(`dsFormConfig`,Z(s));E(()=>({...s,...l.value}));let u=n,d=Z(!1),f=_e({}),p,m=0,h=e=>e?.some(e=>typeof e==`string`||!e.opts),g=e=>f[e].visible=!0,_=(e,{forceErrors:t=!1}={})=>{let n=o.rules[e]??[];
2if(!h(n))return;let i=o.modelValue[e],a=[];for(let t of n){let n=typeof t==`string`?{type:t}:t;if(n.opts)continue;let s=n.type,c=ql[s];if(typeof c!=`function`)throw Error(`[DSForm] Invalid validator rule ${s}.`);let l=c(i,n,{fieldName:e,fieldsState:f,state:o.modelValue,allowErrors:g});l&&a.push(n.plural===void 0?r.t(l,{value:i,ruleValue:n.value}):r.t(l,{value:i,ruleValue:n.value},n.plural))}let s=f[e],c=!a.length;s.errors=c?null:a,c?Object.assign(s,{valid:!0}):s.valid&&(s.visible=!0),t&&(s.visible=!0)};X(()=>o.rules,e=>{for(let[t,n]of Object.entries(e)){let e=f[t],r=h(n),[i]=n,a=i&&typeof i!=`string`?i.opts:void 0;e?r?a?.visible&&(e.visible=!0):Object.assign(e,{errors:null,visible:!1}):f[t]={errors:null,visible:!!a?.visible,valid:!1}}ge(()=>{for(let[t,n]of Object.entries(e))h(n)&&_(t)})},{deep:!0,immediate:!0});let v=E(()=>fn(f,e=>e.visible?e.errors:null)),y=E(()=>o.trackKeys===!0?Object.keys(o.modelValue):o.trackKeys===!1?[]:o.trackKeys||[]),b=E(()=>!Object.values(f).some(e=>e.visible&&e.errors!==null)),x=E(()=>!Object.values(f).some((e,t)=>{let n=Object.keys(f)[t];return h(o.rules[n]??[])&&e.errors!==null})),S=E(()=>y.value.length?x.value&&d.value:x.value);X(b,e=>u(`visuallyValid`,e),{immediate:!0}),X(x,e=>u(`valid`,e),{immediate:!0}),X(S,e=>u(`submittable`,e),{immediate:!0}),X(y,e=>p=e.length?bn(St(o.modelValue),e):{},{immediate:!0});let C=e=>{f[e].visible=!0,_(e,{forceErrors:!0})},w=(e,t)=>{m++,o.modelValue[e]=t,u(`update`),ge(()=>{_(e),m--})},T=[null,void 0,``],ee=e=>h(o.rules[e]??[])&&!T.includes(o.modelValue[e]),D={none:()=>!1,all:()=>!0,filledOnly:({fieldName:e})=>ee(e),allIfSomeFilled:({fieldNames:e})=>e.some(ee)},O=({fields:e=[],forceErrors:t=`none`}={})=>{let n=e.length?e:Object.keys(o.rules),r=t===!0?`all`:t===!1?`none`:t;if(!Object.keys(D).includes(r))throw Error(`[DSForm] invalid forceError method.`);for(let e of n)_(e,{forceErrors:D[r]?.({fieldName:e,fieldNames:n})})};X(()=>o.modelValue,e=>{if(m||ge(()=>Object.keys(o.rules).forEach(e=>_(e))),y.value.length){let t=bn(St(e),y.value),n=!i.object.same(t,p);n!==d.value&&(d.value=n,u(`modified`,d.value))}},{deep:!0});let k=()=>{O({forceErrors:!0}),x.value?u(`submit`):u(`error`,v.value)};return $e(Rl,{commitValue:w,validateField:_,touch:C,submit:k}),$e(Ll,E(()=>({state:o.modelValue,rules:o.rules,fieldsState:f}))),t({validateForm:O}),(e,t)=>(Y(),I(`form`,{onSubmit:A(k,[`prevent`])},[H(e.$slots,`default`,{errors:Q(v),visuallyValid:Q(b),valid:Q(x)})],32))}},Vm={class:`form-builder`},Hm={class:`form-builder__body inner`},Um={class:`form-builder__form-control inner`},Wm={key:0,class:`form-builder-success`},Gm={key:0,class:`form-topics`},Km={key:0,class:`options-input`},qm={key:1,class:`options-input`},Jm={class:`actions`},Ym=`dsc:form-builder-submit`,Xm=U({__name:`BlocksFormbuilder`,props:{id:{type:String,required:!1,default:``},contentType:{type:String,required:!1,default:``},createdAt:{type:String,required:!1,default:``},updatedAt:{type:String,required:!1,default:``},title:{type:String,required:!1,default:``},body:{type:Object,required:!1,default:()=>({})},formBuilderConfiguration:{type:Object,required:!1,default:()=>({})},isFirst:{type:Boolean,required:!1,default:!1}},setup(e){let{gtm:t}=Re(),n=[`radio`,`checkbox`,`select`],r=e,i=Z(!1),s=Z(!1),l=Z(!1),u=E(()=>({topics:r.formBuilderConfiguration.topics??[],options:{topicsDisplay:r.formBuilderConfiguration.options?.topicsDisplay??`select`,...r.formBuilderConfiguration.options??{}},fields:r.formBuilderConfiguration.fields??[]})),d=E(()=>u.value.topics),f=E(()=>u.value.options),p=E(()=>d.value.length>1),h=E(()=>d.value.map(({code:e,label:t})=>({value:e,label:t}))),g=Z(u.value.fields.reduce((e,t)=>(t.type===`calendar`?e[t.name]=null:t.type===`checkbox`&&t.options.length>1?e[t.name]=[]:e[t.name]=``,e),{topic:h.value[0]?.value??``})),_=Z(u.value.fields.reduce((e,t)=>(e[t.name]=t.validations.map(({rule:e,value:t})=>({type:e,value:t})),e),{topic:[`notEmpty`]})),v=e=>({...e,value:`${e.label} (${e.value})`}),y=(e,t)=>{if(Array.isArray(t))return t.join(`, `);if(typeof t==`boolean`){let[n]=e.options;return t?n?`${n.label} (${n.value})`:`true`:``}return t??``},b=e=>{i.value=e},x=()=>{t()?.trackEvent?.({event:`form_begin`,form_id:`form-${r.id}
2`,form_name:r.title,form_description:g.value.topic})},S=e=>{for(let[n,r]of Object.entries(e))if(r){let e=n===`form-submit`;t()?.trackEvent?.({event:`struggle`,gtm:{error_status:e?500:200,error_code:e?`form submission failed`:`missing required fields`,error_text:r,error_type:`struggle`,fatal:`false`}})}},C=async()=>{s.value=!0;try{let e={entryId:r.id,topic:g.value.topic,fields:u.value.fields.map(e=>({name:e.name,label:e.label,value:y(e,g.value[e.name])??``}))};await c().callHook(Ym,e),l.value=!0;let n={event:`form_send`,form_id:`form-${r.id}`,form_name:r.title,form_description:g.value.topic},i=[`email`,`sähköpostiosoite`],a=Object.keys(g.value).find(e=>i.includes(e.toLowerCase()));a&&(n.email=g.value[a]),t()?.trackEvent?.(n)}catch(e){console.error(e);let t=e instanceof Error?e.message:String(e);S({"form-submit":`Form submission failed, ${t}`})}finally{s.value=!1}};return o({useScope:`global`,messages:{"fi-FI":{"form-builder":{topic:`Asia`,submit:`Lähetä`,"submit-success":`Lomake lähetettiin onnistuneesti`}},"en-EU":{"form-builder":{topic:`Topic`,submit:`Submit`,"submit-success":`Form submitted successfully`}},"sv-SE":{"form-builder":{topic:`Ämne`,submit:`Skicka`,"submit-success":`Formuläret har skickats`}},"sv-FI":{"form-builder":{topic:`Ämne`,submit:`Skicka`,"submit-success":`Formuläret har skickats`}},"no-NO":{"form-builder":{topic:`Emne`,submit:`Send inn`,"submit-success":`Skjemaet ble sendt inn`}},"nb-NO":{"form-builder":{topic:`Emne`,submit:`Send inn`,"submit-success":`Skjemaet ble sendt inn`}},"de-DE":{"form-builder":{topic:`Thema`,submit:`Senden`,"submit-success":`Das Formular wurde erfolgreich gesendet`}},"ru-RU":{"form-builder":{topic:`Тема`,submit:`Отправить`,"submit-success":`Форма успешно отправлена`}}}}),(t,r)=>{let i=Sn,o=W,c=Me,d=zm,y=Gd,w=Bm;return Y(),I(`section`,Vm,[j(`div`,Hm,[e.title?(Y(),$(i,{key:0,"is-first":e.isFirst,class:`form-title h2`},{default:q(()=>[F(P(e.title),1)]),_:1},8,[`is-first`])):a(``,!0),e.body?(Y(),$(o,{key:1,content:e.body,class:`body`},null,8,[`content`])):a(``,!0)]),j(`div`,Um,[l.value?(Y(),I(`div`,Wm,[L(c,{type:`success`,dismissable:!1},{default:q(()=>[F(P(t.$t(`form-builder.submit-success`)),1)]),_:1})])):a(``,!0),L(w,{id:`form-${e.id}`,ref:`formBuilder${e.id}`,name:`form-${e.id}`,class:M([`form-builder__form`,{submitted:l.value}]),"model-value":g.value,rules:_.value,onSubmit:C,onUpdateOnce:x,onError:S,onValid:b},{default:q(()=>[p.value?(Y(),I(`fieldset`,Gm,[L(d,{id:`topic`,name:`topic`,type:f.value.topicsDisplay,label:t.$t(`form-builder.topic`),options:h.value},null,8,[`type`,`label`,`options`])])):a(``,!0),(Y(!0),I(m,null,J(u.value.fields,t=>(Y(),I(`div`,{key:`${e.id}-${t.name}`,class:`field-wrapper`},[n.includes(t.type)?(Y(),I(`fieldset`,Km,[j(`legend`,null,P(t.label),1),L(d,{id:`${e.id}-${t.name}`,name:t.name,type:t.type,label:t.label,options:t.options.map(v)??[],"show-validation-error":!0},null,8,[`id`,`name`,`type`,`label`,`options`])])):t.type===`calendar`?(Y(),I(`fieldset`,qm,[j(`legend`,null,P(t.label),1),L(d,{id:`${e.id}-${t.name}`,name:t.name,type:t.type,label:t.label},null,8,[`id`,`name`,`type`,`label`])])):(Y(),$(d,{key:2,id:`${e.id}-${t.name}`,name:t.name,type:t.type,label:t.label,options:t.options??[]},null,8,[`id`,`name`,`type`,`label`,`options`]))]))),128)),j(`div`,Jm,[L(y,{busy:s.value,type:`submit`,class:`submit ds-btn ds-btn--primary ds-btn--large`},{default:q(()=>[F(P(t.$t(`form-builder.submit`)),1)]),_:1},8,[`busy`])])]),_:1},8,[`id`,`name`,`class`,`model-value`,`rules`])])])}}},[[`__scopeId`,`data-v-53e451bd`]]),Zm={class:`list-prices`},Qm={key:0,class:`inner align-left`},$m={class:`inner`},eh={class:`table`},th={class:`h4`},nh={class:`h4`},rh=U({__name:`BlocksListPrices`,props:{id:{type:String,default:``},contentType:{type:String,default:``},createdAt:{type:String,default:``},updatedAt:{type:String,default:``},internalTitle:{type:String,default:``},externalData:{type:Object,default:()=>({})},title:{type:String,default:null},type:{type:String,default:null},filter:{type:String,default:``},data:{type:Object,default:()=>({})},isFirst:{type:Boolean,default:!1}},setup(e){let{$cms:t}=c(),n={no:{fleet:!1,crt:!1,bulk:!0},se:{fleet:!0,crt:!0,bulk:!0},fi:{fleet:!1,crt:!1,bulk:!1}},r=(e=``,t=``)=>n?.[e.toLowerCase()]?.[t.toLowerCase()]??!1,i=e,{t:s,locale:l}=o({useScope:`global`,messages:{"en-EU":{product:{CRT:`Product`,fleet:`Product`,bulk:`Product`},intro:{listPricesValidFrom:`List prices valid {date}`,pricePerLiterInclVat:`Price per liter incl. VAT`,pricePerLiterExclVat:`Price per liter excl. VAT`},download:{fleet:`Download price history for St1-Business (Excel)`,CRT:`Download price history for Truckdiesel (Excel)`,bulk:`Download price history (Excel)`,filename:`Price history`}},"fi-FI":{product:{CRT:`Tuote`,fleet:`Tuote`,bulk:`Tuote`},intro:{listPricesValidFrom:`Listahinnat haettu viimeksi {date}`,pricePerLiterInclVat:`Hinta per litra sis. ALV`,pricePerLiterExclVat:`Hinta per litra ilman ALV`},download:{fleet:`Lataa hintahistoria St1-Business (Excel)`,CRT:`Lataa hintahistoria Truckdiesel (Excel)`,bulk:`Lataa hintahistoria (Excel)`,filename:`Hintahistoria`}},"sv-SE":{product:{CRT:`Produkt`,fleet:`Produkt`,bulk:`Produkt`},intro:{listPricesValidFrom:`Listpriser gällande {date}`,pricePerLiterInclVat:`Pris per liter inkl. moms`,pricePerLiterExclVat:`Pris per liter exkl. moms`},download:{fleet:`Ladda ner prishistorik för St1-Business (Excel)`,CRT:`Ladda ner prishistorik för Truckdiesel (Excel)`,bulk:`Ladda ner prishistorik (Excel)`,filename:`Prishistorik`}},"no-NO":{product:{CRT:`Produkt`,fleet:`Produkt`,bulk:`Produkt`},intro:{listPricesValidFrom:`Listepriser oppdatert {date}`,pricePerLiterInclVat:`Pris per liter inkl. mva`,pricePerLiterExclVat:`Pris per liter eks. mva`},download:{fleet:`Last ned prishistorikk for St1-Business (Excel)`,CRT:`Last ned prishistorikk for Truckdiesel (Excel)`,bulk:`Last ned prishistorikk (Excel)`,filename:`Prishistorikk`}}}}),u=E(()=>i.data?.current?.map((e,t)=>({list:e,history:i.data?.history?.[t]}))||[]),d=(e,t)=>{let n=V.fromISO(e).setLocale(l.value.split(`-`)[0]);if(l.value===`no-NO`||l.value===`sv-SE`&&t===`fleet`)return n.toFormat(`d LLL yyyy`);let r=n.startOf(`week`),i=r.plus({days:6});return r.month===i.month?`${r.toFormat(`d`)} - ${i.toFormat(`d LLL yyyy`)}`:`${r.toFormat(`d LLL`)} - ${i.toFormat(`d LLL yyyy`)}`},f=e=>({download:`${s(`download.filename`)} ${d(e.date,e.priceGroup)}.${e.fileExtension}`,href:`data:${e.mimeType};base64,${e.content}`});return(n,i)=>{let o=Sn;return Y(),I(`section`,Zm,[e.title?(Y(),I(`div`,Qm,[L(o,{"is-first":e.isFirst,class:`title h2`},{default:q(()=>
2[F(P(e.title),1)]),_:1},8,[`is-first`])])):a(``,!0),j(`div`,$m,[(Y(!0),I(m,null,J(Q(u),({list:e,history:i},o)=>(Y(),I(m,{key:`group-${o}`},[j(`p`,null,P(n.$t(`intro.listPricesValidFrom`,{date:d(e.date,e.priceGroup)})),1),j(`p`,null,P(e.priceGroup===`bulk`?n.$t(`intro.pricePerLiterExclVat`):n.$t(`intro.pricePerLiterInclVat`)),1),j(`table`,eh,[j(`thead`,null,[j(`tr`,null,[j(`th`,null,[j(`h4`,th,P(n.$t(`product.${e.priceGroup}`)),1)]),j(`th`,null,[j(`h4`,nh,P(d(e.date,e.priceGroup)),1)])])]),j(`tbody`,null,[(Y(!0),I(m,null,J(e.products,({productCode:n,productName:r,unitPrice:i})=>(Y(),I(`tr`,{key:`row-${n}`},[j(`td`,null,P(r),1),j(`td`,null,P(i?`${Q(t).formatPrice(i,e.countryCode?.toUpperCase()===`NO`?2:3)}`:``),1)]))),128))])]),i&&r(i.countryCode,i.priceGroup)?(Y(),I(`a`,R({key:0,class:`download ds-btn ds-btn--primary`},{ref_for:!0},f(i)),P(n.$t(`download.${i.priceGroup}`)),17)):a(``,!0)],64))),128))])])}}},[[`__scopeId`,`data-v-9cf2c39a`]]),ih={class:`content`},ah=U({__name:`LayoutContentRouter`,props:{content:{type:Array,default:()=>[]}},setup(e){let t=e=>{if(!e||typeof e!=`object`)return null;let{contentType:t,type:n,display:r}=e;return t===`cardList`&&r?.component===`articleList`?Vr:t===`cardList`&&r?.component===`carwashClinic`?ms:t===`cardList`?ls:t===`articleBlock`?Us:t===`externalDatasource`&&n===`stationlocator`?Bc:t===`groupOrder`&&n===`grouporder`?Ud:t===`externalDatasource`&&n===`sttapi`?Xf:[`externalDatasource`,`stations`].includes(t)?Pm:t===`formBuilder`?Xm:t===`listprices`?rh:null};return(n,r)=>(Y(),I(`div`,ih,[(Y(!0),I(m,null,J(e.content,(e,n)=>(Y(),$(G(t(e)),R({key:`block-${n}`},{ref_for:!0},e,{"is-first":n===0}),null,16,[`is-first`]))),128))]))}},[[`__scopeId`,`data-v-4801b854`]]);function oh(e=null){let{pageData:t,pageBuffer:n}=N(),r=e??ke(),i=n.find(e=>e.contentType===`cardList`&&e.display?.component===`redirect`);if(i&&r.path!==i.display?.url){let e=new RegExp(/^http/);try{return pt(i.display.url,{external:e.test(i.display.url),redirectCode:[Ue.TEMPORARY_REDIRECT,Ue.MOVED_PERMANENTLY].includes(i.display?.type)?i.display.type:Ue.TEMPORARY_REDIRECT})}catch{}}}var sh={enabled:`index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1`,disabled:`noindex, nofollow`,index:`index`,noindex:`noindex`,follow:`follow`,nofollow:`nofollow`,none:`none`,all:`all`,noai:`noai`,noimageai:`noimageai`};function ch(e){return`max-image-preview:${e}`}function lh(e){return`max-snippet:${e}`}function uh(e){return`max-video-preview:${e}`}Ze((e,t,n)=>(Array.isArray(e[t])&&Array.isArray(n)&&(e[t]=Array.from(new Set([...e[t],...n]))),e[t]));function dh(e){let t=[];for(let[n,r]of Object.entries(e))r!==!1&&r!=null&&(n in sh&&typeof r==`boolean`&&r?t.push(sh[n]):n===`max-image-preview`&&typeof r==`string`?t.push(ch(r)):n===`max-snippet`&&typeof r==`number`?t.push(lh(r)):n===`max-video-preview`&&typeof r==`number`&&t.push(uh(r)));return t}function fh(e){let t=tt(),n=w();if(t){let e=Z(document.querySelector(`meta[name="robots"]`)?.getAttribute(`content`)||``),n=t.hooks?.hook(`dom:rendered`,()=>{e.value=document.querySelector(`meta[name="robots"]`)?.getAttribute(`content`)||``});return ae(n),e}let r=vt(),i=ot();function a(e){let a=Se(e);if(!i||a===void 0)return;let o;if(typeof a==`boolean`){let e=r[`nuxt-robots`];o=a?e.robotsEnabledValue:e.robotsDisabledValue}else if(typeof a==`object`&&a){let e=r[`nuxt-robots`];o=dh(a).join(`, `)||e.robotsEnabledValue}else o=a;i.context.robots.rule=o,r[`nuxt-robots`].header&&nt(i,`X-Robots-Tag`,o),n?.type?.__file,lt({meta:[{name:`robots`,content:o,"data-hint":void 0}]},{head:t})}return a(e),E({set(e){a(e)},get(){return i?.context?.robots?.rule}})}function ph(){let e=vt();return Be(e.public[`nuxt-schema-org`],{scriptAttributes:{}})}function mh(e){let t=ph(),n=c(),r=e;Ie(e)&&(r=()=>n.runWithContext(()=>Se(e)));let i={type:`application/ld+json`,key:`schema-org-graph`,nodes:r,tagPriority:`high`,...t.scriptAttributes};if(t?.reactive)return lt({script:[i]})}var hh=500;function gh(e=``,t={},n=!0){let r=vt(),{$i18n:i,$dsc:a}=c(),{station:o}=xe(N()),s=E(()=>Se(e)??``),l=E(()=>Se(t)??{}),u=E(()=>Se(n)??!0),d=E(()=>typeof l.value.ogImage?.[0]==`object`?l.value.ogImage[0].src.replace(/width=[^&]*/,`width=${hh}`):null),f=E(()=>u.value?s.value?`${s.value}
2 | ${i.t(`site.title`)}`:i.t(`site.title`):s.value);lt({htmlAttrs:{lang:i.localeProperties.value.code},titleTemplate:f});let p=E(()=>r.public?.production===!0&&l.value.noIndex!==!0);if(fh(p),Ee({robots:()=>p.value?`index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1`:`noindex, nofollow`,description:()=>l.value.description??null,ogTitle:()=>l.value.ogTitle??null,ogDescription:()=>l.value.ogDescription??null,ogImage:()=>d.value??null}),o.value?.name){let e=e=>e.replace(`finland/`,``).replace(`sweden/`,``).replace(`norway/`,``),t={};t.address={},o.value?.name&&(t.name=o.value.name),o.value?.countryCode&&(t.address.addressCountry=o.value.countryCode),o.value?.street&&(t.address.streetAddress=o.value.street),o.value?.postcode&&(t.address.postalCode=o.value.postcode),o.value?.municipality&&(t.address.addressLocality=o.value?.municipality),o.value?.telephone&&(t.telephone=o.value?.telephone),o.value?.openingHoursTable?.station&&(t.openingHours=o.value.openingHoursTable.station.map(e=>`${[...new Set([a.string.ucFirst(e.from.slice(0,-1)),a.string.ucFirst(e.to.slice(0,-1))])].join(`-`)}, ${e.hours.map(e=>`${e.startTime?.slice(0,-3)}-${e.endTime?.slice(0,-3)}`).join(`, `)}`)),o.value?.location&&(t.latitude=Number(o.value.location.lat),t.longitude=Number(o.value.location.lon)),(o.value?.services||o.value?.fuels)&&(t.hasOfferCatalog={"@type":`OfferCatalog`,name:i.t(`stationAttributes.services`),itemListElement:[]},o.value?.services&&t.hasOfferCatalog.itemListElement.push({"@type":`OfferCatalog`,name:i.t(`stationAttributes.services`),itemListElement:o.value.services.map(t=>({"@type":`Offer`,itemOffered:{"@type":`Service`,name:i.t(`stationAttributes.${e(t)}`)}}))}),o.value?.fuels&&t.hasOfferCatalog.itemListElement.push({"@type":`OfferCatalog`,name:i.t(`stationAttributes.fuels`),itemListElement:o.value.fuels.map(t=>({"@type":`Offer`,itemOffered:{"@type":`Service`,name:i.t(`stationAttributes.${e(t)}`)}}))})),mh({"@type":`LocalBusiness`,...t})}}var _h=U({__name:`cms`,async setup(e){let r,i,{$analytics:a}=c(),{gtm:o}=Re(),s=ke();try{[r,i]=Ne(()=>N().pageLoad(s)),await r,i(),oh(s)}catch(e){console.error(e),Ye(e)}let{loggedIn:l}=xe(n()),{pageTitle:u,useSiteTitle:d,meta:f,pageData:p,pageBuffer:m,slug:h,station:g}=xe(N());return p?.value?.length===0&&N().present(),gh(u,f,d),lt({title:u,bodyAttrs:{class:`page-${h.value}`}}),t(()=>{try{let e=(m.value??[]).filter(e=>e.contentType===`cardList`&&e.cards?.length&&e.cards.flatMap(e=>e.products??[]).filter(e=>e).length>0);e.length&&e.forEach(e=>{e.display?.component===`product`?o().trackEvent({event:`view_item`,action:`load`,item_list_id:e.id,item_list_name:e.title&&e.title!==``?e.title:e.internal,value:[...e.cards.flatMap(e=>e.products.map(e=>a.priceWithoutTax(e)))].reduce((e,t)=>e+t,0),items:[...e.cards.flatMap(e=>e.products.map(e=>a.productToAnalytics(e)))],event_function:`general`,logged_in_status:l.value?`logged_in`:`logged_out`,user_type:`consumer`}):o().trackEvent({event:`view_item_list`,action:`load`,item_list_id:e.id,item_list_name:e.title&&e.title!==``?e.title:e.internal,items:[...e.cards.flatMap(e=>e.products.map(e=>a.productToAnalytics(e)))],event_function:`general`,logged_in_status:l.value?`logged_in`:`logged_out`,user_type:`consumer`})})}catch{}}),$e(`station`,g),(e,t)=>{let n=ah,r=Qe;return Y(),I(`div`,null,[L(r,{onError:Q(Ye)},{default:q(()=>[L(n,{content:Q(p)},null,8,[`content`])]),_:1},8,[`onError`])])}}},[[`__scopeId`,`data-v-16af39bb`]]);export{_h as default};
3//# sourceMappingURL=CYNTQabV.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.