PageSourceSearch

https://www.eismann.de/_assets/5fa8650556263775811c395caab0211f/js/sw-frontends.DNj2XcmK.js?1790069710

js eismann.de collected 2026-09-24 11:10:00 UTC 31,353 bytes, 1 lines download raw bytes

1import{B as e,C as t,E as n,H as r,N as i,O as a,S as o,T as s,V as c,a as l,b as u,c as d,ct as f,d as p,f as m,ft as h,g,j as _,k as v,l as y,lt as b,m as x,n as S,p as C,s as w,t as T,u as E,ut as D,v as O,w as k,x as A,z as j}from"./runtime-dom.esm-bundler.BwqAlJKX.js";import"./vue.esm-bundler.DikZzt7q.js";import{C as M,E as N,S as P,T as F,a as I,b as L,c as R,d as z,f as B,g as V,i as H,l as U,n as ee,o as W,p as te,r as ne,t as re,u as ie,v as ae,w as oe,y as G}from"./wishlist.CaD1PTpE.js";import{t as se}from"./js.cookie.LuQ0sRX_.js";import{t as ce}from"./module-manager.CqXtpMP0.js";import{n as le,t as ue}from"./bootstrap.esm.BtP2Tfbk.js";import{t as de}from"./check-required.TddlXx3J.js";var fe=g({__name:`AddressManagement`,setup(n){let{customerAddresses:i,loadCustomerAddresses:a,createCustomerAddress:o,updateCustomerAddress:c,deleteCustomerAddress:l,setDefaultCustomerBillingAddress:u,setDefaultCustomerShippingAddress:d}=L(),{defaultShippingAddressId:f,refreshUser:p}=te(),m=e(null),h=e(null),g=e(null),x=e(!1),S=e(null),w=e=>e?.country?.id||null,T=e=>e===f.value,E=j({company:``,firstName:``,lastName:``,street:``,zipcode:``,city:``,country:{name:``,id:null},defaultShippingAddress:!1}),D=j({...E,id:null}),k=y(()=>i.value?.length||0),A=(e,t=!1)=>{let n=t?{...e.country}:{name:``,id:null};Object.assign(e,{company:``,firstName:``,lastName:``,street:``,zipcode:``,city:``,country:n})},M=async e=>{try{let t={...e,countryId:w(h.value)};await o(t),await a(),x.value=!1,A(E)}catch(e){B(e)}},N=async e=>{try{await c(e),await a(),S.value=null,A(D)}catch(e){B(e)}},P=async e=>{try{await u(e),await d(e),await p(),await a()}catch(e){B(e)}},F=e=>{m.value=m.value===e?null:e},I=async e=>{if(e)try{let e=m.value===g.value;m.value===f.value&&await P(i.value[0].id),await l(m.value),await a(),e&&V(!0)}catch(e){B(e)}m.value=null},R=()=>{x.value=!x.value,x.value||A(E,!0)},z=e=>{S.value=S.value===e.id?null:e.id,S.value&&Object.assign(D,{...e,country:{...e.country||{name:``}}})},B=e=>{console.error(e)};_(i,e=>{e&&e.length>0&&V()},{immediate:!0,deep:!0});let V=(e=!1)=>{if(!i.value)return[];!g.value||e?(i.value.sort((e,t)=>e.id===f.value?-1:+(t.id===f.value)),i.value.length>0&&(g.value=i.value[0].id)):i.value.sort((e,t)=>e.id===g.value?-1:+(t.id===g.value))};return t(async()=>{await a(),await p(),i.value?.length&&(h.value=i.value[0],E.country={name:h.value.country?.name||``,id:h.value.country?.id||null}),V(!0)}),(e,t)=>(s(),C(`div`,null,[v(e.$slots,`default`,b(O({addAddress:M,addressFormData:E,addressIdMarkedForDeletion:m.value,confirmDeletion:I,customerAddresses:r(i),editFormData:D,editingAddressId:S.value,isDefaultShippingAddress:T,markForDeletion:F,showAddForm:x.value,toggleAddAddress:R,toggleEditAddress:z,totalAddresses:k.value,updateAddress:N,updateDefaultShippingAddress:P})))]))}}),pe=(e,t)=>{let{swConnect:n}=N(),{cart:r}=G();return{quantity:y(()=>
1{if(!n)return t||0;if(!r.value?.lineItems)return 0;let i=r.value.lineItems.find(t=>t.referencedId===e);return i?i.quantity:0})}},me=[`data-id`],he={key:0,type:`button`,class:`btn btn-primary card-cta`,disabled:``},ge={class:`card-cta-label`},_e={class:`card-cta-icon`},ve=[`data-loading`],ye={class:`card-cta-icon`},be={class:`card-cta-icon`},xe=[`data-loading`],Se={class:`card-cta-icon`},Ce={class:`card-cta-icon`},we=g({__name:`AddToCartButton`,props:{dataProductId:{},dataQuantity:{},dataOutOfStock:{type:[Number,Boolean]}},setup(e){let t=e,n=t.dataProductId,a=y(()=>!!t.dataOutOfStock),{quantity:o}=pe(n,t.dataQuantity?parseInt(t.dataQuantity):0),c=y(()=>I(n));return(t,u)=>(s(),C(`span`,{"data-id":e.dataProductId},[a.value?(s(),C(`button`,he,[E(`span`,ge,[v(t.$slots,`label-out-of-stock`)]),E(`span`,_e,[v(t.$slots,`icon-shopping-cart-disabled`)])])):r(o)==0?i((s(),C(`button`,{key:1,type:`button`,class:`btn btn-primary card-cta`,"data-loading":c.value},[E(`span`,{class:f([`card-cta-label`,{"visually-hidden":c.value}])},[v(t.$slots,`label-add`)],2),i(E(`span`,ye,[v(t.$slots,`icon-shopping-cart-loading`)],512),[[l,c.value]]),i(E(`span`,be,[v(t.$slots,`icon-shopping-cart-add`)],512),[[l,!c.value]])],8,ve)),[[r(W),r(n)]]):r(o)>0?i((s(),C(`button`,{key:2,type:`button`,class:`btn btn-success card-cta`,"data-loading":c.value},[E(`span`,{class:f([`card-cta-label`,{"visually-hidden":c.value}])},[x(h(r(o))+`x `,1),v(t.$slots,`label-in-cart`)],2),i(E(`span`,Se,[v(t.$slots,`icon-shopping-cart-loading`)],512),[[l,c.value]]),i(E(`span`,Ce,[v(t.$slots,`icon-shopping-cart-filled`)],512),[[l,!c.value]])],8,xe)),[[r(W),r(n)]]):m(``,!0)],8,me))}}),Te=JSON.parse(document.getElementById(`translations`)?.textContent||`{}`)?.buttons||{},Ee=()=>({buttons:Te,toggleFavorites:e=>e?Te.removeFromFavorites:Te.addToFavorites}),De=[`data-id`],Oe=[`aria-label`],ke={class:`badge badge-icon`},Ae=[`aria-label`,`data-loading`],je={class:`badge badge-icon`},Me={key:0},Ne={key:1},Pe=[`aria-label`,`data-loading`],Fe={class:`badge badge-icon`},Ie={key:0},Le={key:1},Re=g({__name:`CartIconButton`,props:{dataProductId:{},dataQuantity:{},dataOutOfStock:{type:[Number,Boolean]}},setup(t){let{buttons:n}=Ee(),a=t,o=a.dataProductId,c=e(a.dataOutOfStock||0),{quantity:l}=pe(o,a.dataQuantity?parseInt(a.dataQuantity):0),u=y(()=>I(o));return(e,a)=>(s(),C(`span`,{"data-id":t.dataProductId},[c.value?(s(),C(`button`,{key:0,type:`button`,class:`btn btn-badge btn-floating btn-primary`,"aria-label":r(n).outOfStock,disabled:``},[E(`span`,ke,[v(e.$slots,`icon-shopping-cart-add`)])],8,Oe)):r(l)==0?i((s(),C(`button`,{key:1,type:`button`,class:`btn btn-badge btn-floating btn-primary`,"aria-label":r(n).addToCart,"data-loading":u.value},[E(`span`,je,[u.value?(s(),C(`span`,Me,[v(e.$slots,`icon-shopping-cart-loading`,{},()=>[a[0]||=x(`...`,-1)])])):(s(),C(`span`,Ne,[v(e.$slots,`icon-shopping-cart-add`)]))])],8,Ae)),[[r(W),r(o)]]):r(l)>0?i((s(),C(`button`,{key:2,type:`button`,class:`btn btn-badge btn-floating btn-success`,"aria-label":r(n).addToCart,"data-loading":u.value},[E(`span`,Fe,[u.value?(s(),C(`span`,Ie,[v(e.$slots,`icon-shopping-cart-loading`,{},()=>[a[1]||=x(`...`,-1)])])):(s(),C(`span`,Le,[v(e.$slots,`icon-shopping-cart-filled`)]))])],8,Pe)),[[r(W),r(o)]]):m(``,!0)],8,De))}}),ze=g({__name:`DomTools`,props:{removeId:{type:String,required:!1}},setup(e){let n=e,r=e=>{let t=document.getElementById(e);t&&t.remove()};return t(()=>{n.removeId&&r(n.removeId)}),(e,t)=>null}}),Be=`known-user`,Ve=()=>{let e=()=>se.get(Be)===`1`;return{isKnownUser:e,rememberOnLogin:()=>{let{isLoggedIn:t}=H(),{swCookieOptions:n}=N();_(()=>t.value,t=>{t&&!e()&&se.set(Be,`1`,n)},{immediate:!0})}}},He=`login-nudge-dismissed`,Ue=(t={})=>{let{delayMs:n=3e3,scrollThreshold:r=.3,cooldownDays:i=7}=t,{isLoggedIn:a,loadingUser:s}=H(),{swCookieOptions:c}=N(),{isKnownUser:l}=Ve(),u=e(!1),d,f,p=()=>{d!==void 0&&(window.clearTimeout(d),d=void 0),f&&=(window.removeEventListener(`scroll`,f),void 0)},m=()=>!a.value&&l()&&se.get(He)!==`1`,h=()=>{p(),m()&&(u.value=!0)};return _([()=>a.value,()=>s.value],()=>{p(),!s.value&&m()&&(d=window.setTimeout(h,n),f=()=>{let e=document.documentElement.scrollHeight;e<=0||(window.scrollY+window.innerHeight)/e>=r&&h()},window.addEventListener(`scroll`,f,{passive:!0}))},{immediate:!0}),o(p),{shouldShow:u,dismiss:()=>{se.set(He,`1`,{...c,expires:i}),u.value=!1,p()}}},We=g({__name:`LoginNudgePopup`,props:{delaySeconds:{type:Number,default:3},scrollPercent:{type:Number,default:30},cooldownDays:{type:Number,default:7}},setup(n){let r=n,i=e(null),{shouldShow:a,dismiss:c}=Ue({delayMs:r.delaySeconds*1e3,scrollThreshold:r.scrollPercent/100,cooldownDays:r.cooldownDays}),l=null,u=null,d=()=>c();return t(()=>{u=i.value?.querySelector(`.modal`),u&&(l=new ue(u),u.addEventListener(`hidden.bs.modal`,d))}),_(a,e=>{e&&l&&l.show()}),o(()=>{u&&u.removeEventListener(`hidden.bs.modal`,d),l?.dispose()}),(e,t)=>(s(),C(`div`,{ref_key:`root`,ref:i},[v(e.$slots,`default`)],512))}}),Ge=e(``),Ke=e(``),K=e(1),q=e(1),qe=e(q.value.toString()),Je=e(0),Ye=e(``),Xe=e([]),Ze=e(!1),Qe=``,J=`POST`,Y=null,X=null,$e=null,Z=null,et=async e=>{let t=0;t=e?1:q.value>=K.value?K.value:q.value+1,q.value=t,qe.value=t.toString(),await A()},tt=()=>(async()=>
1{if(!$e)return;let e=``,t=new FormData($e);Ze.value=!0,Ge.value=``,Ke.value=``,Je.value=0;let n=new AbortController;Z&&Z.abort(),Z=n;try{let r=Qe,i={method:J,signal:n.signal};if(J===`GET`){let e=new URLSearchParams(t).toString();r+=(Qe.includes(`?`)?`&`:`?`)+e}else J===`POST`&&(i.headers={"Content-Type":`application/x-www-form-urlencoded`},i.body=new URLSearchParams(t).toString());let a=await fetch(r,i);if(a.ok){let t=await a.json();q.value=parseInt(t.page)||1,K.value=parseInt(t.maxPages)||1,Ke.value=t.message||``,e=t.products||``,Je.value=parseInt(t.total)||0,e=e.replace(/<(\/?add-to-cart-button)([^>]*)>/gi,`<$1-element$2>`),e=e.replace(/<\/?template\b[^>]*>/gi,``),Ge.value=e,Ze.value=!1}}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;console.error(`Error fetching html contents:`,e)}finally{Z===n&&(Z=null)}Ge.value=e})(),Q=()=>({loadItems:async(e=!1)=>{let t=q.value<K.value||e;if(e&&(Y&&(Y.innerHTML=``),X&&(X.innerHTML=``)),await et(e),t){await tt(),e&&(Y&&(Y.innerHTML=``),X&&(Ke.value?X.innerHTML=Ke.value:X.innerHTML=``));let t=document.createElement(`div`);t.innerHTML=Ge.value;let n=[];for(;t.firstChild;){let e=t.firstChild;if(e.nodeType===Node.ELEMENT_NODE)n.push(e),Y&&Y.appendChild(e);else{t.removeChild(e);continue}t.firstChild===e&&t.removeChild(e)}Xe.value=n}},elementList:Xe,maxPages:K,page:qe,pageNum:q,sortCriterium:Ye,setSortCriterium:e=>{Ye.value=e},setMaxPages:e=>{K.value=Math.max(1,e)},total:Je,init:e=>{if(Qe.length>0){console.error(`The init method was already called. This composable may be only used once per page. Calling it again could causes malfunction.`);return}Qe=e.url,J=e.method||J,$e=document.querySelector(e.formSelector),Y=document.querySelector(e.targetSelector),X=document.querySelector(e.messageSelector)},loading:Ze}),nt={class:`badge total`},rt={key:0,class:`count-plus`},it=g({__name:`ProductFilter`,props:{filterKeys:{type:Array,default:[]}},setup(n){let i=n,a=e(null),{loadItems:o,page:c,sortCriterium:l}=Q(),u=!0,f=j((()=>{let e={};return i.filterKeys.forEach(t=>e[t]=[]),e})()),g=async()=>{(a.value?.querySelectorAll(`[data-filter]`)||[]).forEach(e=>{let t=e.getAttribute(`data-filter`),n=e.querySelectorAll(`input[type="checkbox"]`);Array.from(n).forEach((e,n)=>{f[t][n]=e.checked})})},y=e({sum:0,...Object.fromEntries(Object.keys(f).map(e=>[e,0]))}),S=()=>{let e=0,t={};for(let n of Object.keys(f)){let r=f[n],i=Array.isArray(r)?r.filter(e=>e===!0).length:0;t[n]=i,e+=i}y.value={sum:e,...t}},w=async e=>{u=!0,Array.isArray(f[e])&&(f[e]=f[e].map(()=>!1)),await A(),T(),u=!1},T=async()=>{await A(),await o(!0)};return _(f,async()=>{S(),u||T()},{deep:!0,immediate:!0}),t(async()=>{g(),await A(),u=!1}),(e,t)=>(s(),C(`div`,{ref_key:`root`,ref:a},[v(e.$slots,`default`,b(O({totals:y.value,filters:f,clearFilters:w,page:r(c),sortCriterium:r(l)}))),y.value.sum>0?(s(),p(d,{key:0,to:`#btn-filter .badge-total-wrapper`,defer:``},[E(`span`,nt,[x(h(Math.min(y.value.sum,9)),1),y.value.sum>9?(s(),C(`span`,rt,`+`)):m(``,!0)])])):m(``,!0)],512))}}),at=()=>{let e=null;return k(()=>{e&&=(e.disconnect(),null)}),{setupInfiniteScroll:(t,n,r={root:null,rootMargin:`0px 0px -25% 0px`,threshold:0})=>{t&&(e=new IntersectionObserver(e=>{e[0].isIntersecting&&n()},r),e.observe(t))}}},ot=g({__name:`ProductList`,props:{maxPages:{},url:{},formSelector:{},targetSelector:{},messageSelector:{}},setup(n){let i=n,a=e(null),{loadItems:o,init:c,loading:l,setMaxPages:u}=Q(),{setupInfiniteScroll:d}=at(),f=async()=>{l.value||(await A(),await o(!1))};return t(()=>{c({url:i.url||``,formSelector:`form#product-filter`,targetSelector:`#product-list`,messageSelector:`#product-list-message`}),u(i.maxPages||1),a.value&&d(a.value,f)}),(e,t)=>(s(),C(`div`,{ref_key:`sentinel`,ref:a},[v(e.$slots,`default`,b(O({loading:r(l)})))],512))}}),st={class:`btn-group`},ct=[`disabled`],lt={key:1},ut=[`disabled`],dt=[`disabled`],ft=[`disabled`],pt={key:0},mt={key:1,class:`quantity-wrapper`},ht={class:`text-in-the-cart`},gt=[`disabled`],_t={key:0,type:`button`,class:`btn btn-primary btn-badge btn-floating disabled`,disabled:``},vt=[`data-loading`],yt=[`data-quantity`,`data-loading`],bt={key:0,type:`button`,class:`btn btn-primary btn-badge btn-floating disabled`,disabled:``},xt=[`disabled`],St=[`disabled`],Ct=g({__name:`ProductQuantityButton`,props:{dataQuantity:{},dataOutOfStock:{type:Boolean},productId:{}},setup(n){let o=n,c=o.productId||``,l=e(o.dataOutOfStock||0),{quantity:u}
1=pe(c,o.dataQuantity?parseInt(o.dataQuantity):0),f=e(0),g=e(!1),_=y(()=>I(c));return t(()=>{f.value=document.querySelectorAll(`.swiper-product-hero .product-badge-wrapper`).length,g.value=document.querySelector(`#product-detail-sticky .btn-wrapper`)!==null}),(e,t)=>(s(),C(`div`,st,[!l.value&&r(u)?i((s(),C(`button`,{key:0,type:`button`,class:`btn btn-success btn-remove`,disabled:_.value},[r(u)>1?v(e.$slots,`icon-minus`,{},void 0,void 0,0):r(u)==1?(s(),C(`span`,lt,[v(e.$slots,`icon-trash`)])):m(``,!0)],8,ct)),[[r(R),r(c)]]):m(``,!0),l.value?(s(),C(`button`,{key:1,type:`button`,class:`btn btn-primary btn-quantity disabled`,disabled:_.value},[v(e.$slots,`text-not-available`)],8,ut)):r(u)==0?i((s(),C(`button`,{key:2,type:`button`,class:`btn btn-primary btn-quantity`,disabled:_.value},[E(`span`,null,[_.value?v(e.$slots,`text-loading`,{},()=>[t[0]||=x(`...`,-1)],void 0,0):v(e.$slots,`text-add-to-cart`,{},void 0,void 0,1)])],8,dt)),[[r(W),r(c)]]):r(u)>0?i((s(),C(`button`,{key:3,type:`button`,class:`btn btn-quantity btn-success`,disabled:_.value},[_.value?(s(),C(`span`,pt,[v(e.$slots,`text-loading`,{},()=>[t[1]||=x(`...`,-1)])])):(s(),C(`span`,mt,[x(h(r(u))+` `,1),E(`span`,ht,[v(e.$slots,`text-in-the-cart`)])]))],8,ft)),[[r(W),r(c)]]):m(``,!0),!l.value&&r(u)>0?i((s(),C(`button`,{key:4,type:`button`,class:`btn btn-add btn-success`,disabled:_.value},[v(e.$slots,`icon-plus`)],8,gt)),[[r(W),r(c)]]):m(``,!0),g.value?(s(),p(d,{key:5,to:`#product-detail-sticky .btn-wrapper`,defer:``},[l.value?(s(),C(`button`,_t,[v(e.$slots,`icon-shopping-cart-empty`)])):r(u)==0?i((s(),C(`button`,{key:1,type:`button`,class:`btn btn-primary btn-badge btn-floating`,"data-loading":_.value},[_.value?v(e.$slots,`text-loading`,{},()=>[t[2]||=x(`...`,-1)],void 0,0):v(e.$slots,`icon-shopping-cart-add`,{},void 0,void 0,1)],8,vt)),[[r(W),r(c)]]):r(u)>0?i((s(),C(`button`,{key:2,type:`button`,class:`btn btn-quantity btn-badge btn-floating btn-success`,"data-quantity":r(u),"data-loading":_.value},[_.value?v(e.$slots,`text-loading`,{},()=>[t[3]||=x(`...`,-1)],void 0,0):v(e.$slots,`icon-shopping-cart-empty`,{},void 0,void 0,1)],8,yt)),[[r(W),r(c)]]):m(``,!0)])):m(``,!0),(s(!0),C(w,null,a(f.value,n=>(s(),p(d,{key:n,to:`.swiper-product-hero .swiper-slide:nth-child(${n}) .product-badge-wrapper`,defer:``},[l.value?(s(),C(`button`,bt,[v(e.$slots,`icon-shopping-cart-empty`)])):r(u)==0?i((s(),C(`button`,{key:1,type:`button`,class:`btn btn-primary btn-badge btn-floating`,disabled:_.value},[_.value?v(e.$slots,`text-loading`,{},()=>[t[4]||=x(`...`,-1)],void 0,0):v(e.$slots,`icon-shopping-cart-add`,{},void 0,void 0,1)],8,xt)),[[r(W),r(c)]]):r(u)>0?i((s(),C(`button`,{key:2,type:`button`,class:`btn btn-badge btn-floating btn-success`,disabled:_.value},[_.value?v(e.$slots,`text-loading`,{},()=>[t[5]||=x(`...`,-1)],void 0,0):v(e.$slots,`icon-shopping-cart-filled`,{},void 0,void 0,1)],8,St)),[[r(W),r(c)]]):m(``,!0)],8,[`to`]))),128))]))}}),wt={class:`rating-icons`},Tt=[`xlink:href`],Et=g({__name:`ProductRatingStars`,props:{rating:{}},setup(e){let t=e,n=e=>{let n=Math.round(t.rating%1*10);return e<=Math.floor(t.rating)?`#icon-star-10`:e-1<t.rating?`#icon-star-`+n:`#icon-star-0`};return(e,r)=>(s(),C(`span`,wt,[(s(),C(w,null,a(5,e=>E(`svg`,{key:e+`-`+t.rating,class:`icon text-primary`},[E(`use`,{"xlink:href":n(e)},null,8,Tt)])),64))]))}}),Dt=[`onClick`,`onMouseenter`],Ot=[`xlink:href`],kt=g({__name:`ProductRatingStarsInteractive`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,o=e(0),c=e=>{i(`update:modelValue`,e)},l=e=>e<=(o.value?o.value:r.modelValue)?`#icon-star-10`:`#icon-star-0`,u=e=>e<=r.modelValue?1:.7;return(e,t)=>(s(),C(`span`,{class:`rating-icons-interactive`,onMouseleave:t[0]||=e=>o.value=0},[(s(),C(w,null,a(5,e=>E(`svg`,{key:e,class:`icon text-primary mb-0`,onClick:t=>c(e),onMouseenter:t=>o.value=e,style:D([{cursor:`pointer`},{opacity:u(e)}])},[E(`use`,{"xlink:href":l(e)},null,8,Ot)],44,Dt)),64))],32))}}),At=g({__name:`ProductReviewForm`,props:{reviews:{}},setup(t){let n=t,{isGuest:i}=H(),a=c(n,`reviews`),o=u(`addReview`),s=e(!1),l=e({title:``,content:``,points:5}),d=e(!0),f=e(!1),p=e(!1),m=e(!1),h=e(null),g=null;_(()=>[l.value.title,l.value.content],async()=>{await A(),g?d.value=!f.value&&g.isFormValid():d.value=!0});let x=async()=>
1{if(g&&=(g.destroy(),null),s.value=!s.value,s.value){await A();let e=document.querySelector(`form#submit-review`);g=new de(e)}},S=async()=>{f.value=!0,p.value=!1,m.value=!1,h.value=null;try{await o({title:l.value.title,content:l.value.content,points:l.value.points}),p.value=!0,l.value={title:``,content:``,points:5},s.value=!1}catch(e){m.value=!0,e instanceof F&&e.details&&(h.value=e.details||``)}finally{f.value=!1}},C=y(()=>h.value?.errors?h.value?.errors.some(e=>e.code===`VIOLATION::ENTITY_EXISTS`):!1),w=y(()=>e=>h.value&&h.value.errors&&h.value.errors.some(t=>t.source.pointer===e)?`is-invalid`:``);return(e,t)=>v(e.$slots,`default`,b(O({errorReviewExist:C.value,hasErrorClass:w.value,isGuest:r(i),reviewForm:l.value,reviewSubmitBtnEnabled:d.value,reviewSubmitError:m.value,reviewSubmitSuccess:p.value,reviews:a.value,showReviewForm:s.value,submitReview:S,toggleForm:x})))}}),jt=t=>{let n=V(t),r=u(`apiClient`);if(!r)throw Error(`apiClient not provided. Make sure it is injected in app setup.`);let i=e([]),a=e(0),o=t.value?.id;if(!o)throw Error(`Product ID is missing in useProductReviews`);return{productReviews:i,totalReviews:a,loadProductReviews:async e=>{e={...e,"total-count-mode":`exact`};let t={productId:o,...e},n=await r.invoke(`eismannReviews get /eismann-reviews`,{query:t});return n.data.elements.forEach(e=>{e.firstname&&e.lastname&&(e.author=`${e.firstname} ${e.lastname}`)}),i.value=n.data.elements,a.value=n.data.total||0,n},addReview:n.addReview}},Mt=e=>e.toFixed(1).replace(`.`,`,`),Nt=(e,t=`de-DE`)=>e.customFields&&e.customFields.dateCreated?e.customFields.dateCreated:new Date(e.createdAt.date).toLocaleDateString(t,{year:`numeric`,month:`2-digit`,day:`2-digit`}).replace(`,`,``),Pt={class:`product-reviews-component`},Ft=g({__name:`ProductReviews`,props:{productId:{},productRating:{},productReviewsOffcanvasLimit:{}},setup(i){let{locale:a}=N(),l=i,u=c(l.productId),f=e({id:u.value}),g=e(l.productRating?Mt(l.productRating):``),{addReview:_,loadProductReviews:y,productReviews:S,totalReviews:T}=jt(f),D=e(!1),k=e(null),A=e([]),j=e([]),M=e(!1),P=e(l.productRating||0);n(`addReview`,_);let F=e(1),I=l.productReviewsOffcanvasLimit||2,L=e(!0),R=e(null),z=null,B=async(e=!1)=>{if(e&&(F.value=1,L.value=!0,A.value=[]),L.value){D.value=!0,k.value=null;try{await y({limit:I,page:F.value,"total-count-mode":`exact`});let t=S.value;if(t.length<I&&(L.value=!1),e)A.value=t,j.value=t&&t.length?t.slice(0,5):[],M.value=!0;else{let e=new Set(A.value.map(e=>e.reviewId));A.value.push(...t.filter(t=>!e.has(t.reviewId)))}}catch(e){console.log(e),k.value=e.message||`Error loading reviews.`}finally{D.value=!1}}},V=()=>{R.value&&(z=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(F.value++,B())})}),z.observe(R.value))};return t(()=>{B(!0),V()}),o(()=>{z?.disconnect()}),(e,t)=>(s(),C(`div`,Pt,[v(e.$slots,`rating`,b(O({formatedRating:g.value,productRating:P.value,totalReviews:r(T)}))),v(e.$slots,`swiper`,b(O({getFormattedDate:r(Nt),locale:r(a),productDetailReviews:j.value,productRating:P.value,productReviewsLoaded:M.value}))),(s(),p(d,{to:`#product-rating-star`,defer:``},[P.value&&P.value>0?(s(),C(w,{key:0},[x(h(r(Mt)(P.value)),1)],64)):m(``,!0)])),(s(),p(d,{to:`#masonry-rating-card`,defer:``},[v(e.$slots,`masonry-rating-card`,b(O({formatedRating:g.value,productRating:P.value})))])),(s(),p(d,{to:`#offcanvas-reviews`,defer:``},[v(e.$slots,`reviews-header`,b(O({formatedRating:g.value,productRating:P.value,totalReviews:r(T)}))),v(e.$slots,`reviews-add-form`,b(O({reviews:A.value}))),v(e.$slots,`offcanvas-review-list`,b(O({error:k.value,getFormattedDate:r(Nt),hasMore:L.value,loading:D.value,locale:r(a),reviews:A.value}))),E(`div`,{ref_key:`loadMoreTrigger`,ref:R,class:`invisible`},null,512)]))]))}}),It=g({__name:`ProductSort`,setup(n){let r=e(null),{loadItems:i,setSortCriterium:a}=Q(),o=!0,c=e(`#btn-sort .label`),l=()=>{let e=r.value?.querySelector(`input:checked`)||null;return e?e.value:``},u=j({value:l()}),d=async()=>{await A(),await i(!0)};return _(()=>u.value,async e=>{if(!e)return;a(e);let t=(r.value?.querySelector(`input:checked`))?.getAttribute(`id`),n=t?r.value?.querySelector(`label[for="${t}"]`):null,i=document.querySelector(c.value);n&&i&&(i.innerHTML=n.textContent?.trim()||``),o||d()},{immediate:!0}),t(async()=>{u.value=l(),await A(),o=!1}),(e,t)=>(s(),C(`div`,{ref_key:`root`,ref:r},[v(e.$slots,`default`,b(O({criterium:u})))],512))}}),Lt=g({__name:`RecommendedModal`,setup(n){let{cart:i,count:a}=G(),{productId:o,product:c,searchProduct:l}=ne(),u=e(!1),d=e(null),f=a.value||0,p=!1;_(()=>a.value,e=>{e-f,p=e-f>1,f=e});let m=null;return t(()=>{let e=d.value?.querySelector(`.modal`);e&&(m=new ue(e),e.addEventListener(`hidden.bs.modal`,()=>{u.value=!1,o.value=``}),e.addEventListener(`shown.bs.modal`,()=>{u.value=!0}))}),_(()=>i.value?.lineItems,async(e,t)=>{if(!e||!t)return;let n=document.querySelector(`.james-search-box`);if(!(n&&(n.offsetWidth>0||n.offsetHeight>0))&&!p&&e.length>t.length){let n=e.find(e=>!t.some(t=>t.id===e.id));n&&!u.value&&m&&(o.value=n.referencedId,await l(),m.show())}},{deep:!0}),(e,t)=>(s(),C(`div`,{ref_key:`root`,ref:d},[v(e.$slots,`default`,b(O({product:r(c)})))],512))}}),Rt=e=>{let t=[],n=e?.customFields??{};return n.volus&&t.push(n.volus),n.content_additional_text&&t.push(n.content_additional_text),t.length?` / ${t.join(`, `)}`:``},$=e=>
1e.toLocaleString([],{minimumFractionDigits:2,maximumFractionDigits:2}),zt=g({__name:`RecommendedProducts`,props:{product:{}},setup(e){let n=e,{swUrl:i,language:a}=N(),o=y(()=>n.product),{load:s,isLoading:c,productAssociations:l}=ee(o),u=(e,t)=>{let n=``;return n=$(t?e.calculatedCheapestPrice?.unitPrice||0:e.calculatedPrice?.unitPrice||0),n},d=e=>{let{calculatedPrice:t,translated:n,unit:r}=e,i=t.referencePrice;if(n&&i&&r){let{price:e,referenceUnit:t}=i,o=$(e||0),s=r.shortCode||r.name;return`${o} € ${a.value===`de`?`je`:(a.value===`it`||a.value,`per`)} ${t}${s}${Rt(n)}`}return``};return t(async()=>{await s()}),(e,t)=>v(e.$slots,`default`,b(O({formatUnitPrice:u,formatReferencePrice:d,getSmallestThumbnailUrl:r(M),getSrcSetForMedia:r(oe),getProductUrl:r(P),isLoading:r(c),productAssociations:r(l),swUrl:r(i)})))}}),Bt=g({__name:`ResetPw`,props:{errorTmpl:{},successTmpl:{}},setup(t){let{swStorefrontUrl:n}=N(),{resetPassword:r}=ae(),i=t,a=e(``),o=e(!1),s=e(!1),c=e(``),l=e=>{a.value=e},u=e=>{let t=document.querySelector(`#`+i.successTmpl)?.textContent||``,n=document.querySelector(`#`+i.errorTmpl)?.textContent||``;s.value?c.value=t:o.value&&(c.value=e||n)},d=async()=>{o.value=!1,s.value=!1;try{await r({email:a.value,storefrontUrl:n}),s.value=!0,u()}catch(e){o.value=!0,u(e.details?.errors[0]?.detail||e.message)}};return(e,t)=>v(e.$slots,`default`,b(O({email:a.value,error:o.value,feedbackMessage:c.value,submit:d,success:s.value,updateEmail:l})))}}),Vt=g({__name:`SearchResults`,props:{url:{}},setup(n){let i=n,a=e(null),{loadItems:o,init:c,loading:l,page:u,total:f}=Q(),{setupInfiniteScroll:m}=at(),g=null;_(()=>u,async e=>{if(e){let t=document.querySelector(`form#search-results input[name="page"]`);t&&(t.value=e.value)}},{immediate:!0,deep:!0});let y=async(e=!1)=>{l.value||(await A(),await o(e),g&&(g.classList.toggle(`d-none`,f.value===0),g.querySelector(`.plural`)?.classList.toggle(`d-none`,f.value<=1)))};return t(()=>{g=document.querySelector(`#search-results-metadata`),c({url:i.url||``,method:`GET`,formSelector:`form#search-results`,targetSelector:`#search-results-target`,messageSelector:`#search-results-message`}),y(!0),a.value&&m(a.value,y)}),(e,t)=>(s(),C(`div`,{ref_key:`sentinel`,ref:a},[v(e.$slots,`default`,b(O({loading:r(l)}))),(s(),p(d,{to:`#search-results-metadata .total`,defer:``},[x(h(r(f)),1)]))],512))}}),Ht=(e,t=`de-DE`)=>{let n=new Date(e),r={weekday:`long`,day:`2-digit`,month:`2-digit`,year:`numeric`},i={hour:`2-digit`,minute:`2-digit`,hour12:!1},a=n.toLocaleDateString(t,r),o=n.toLocaleTimeString(t,i),s=new Date(n.getTime()+72e5).toLocaleTimeString(t,i);return t===`de-DE`||t===`de-AT`?`am ${a}, ${o}-${s} Uhr`:`${a}, ${o}-${s}`},Ut=g({__name:`ShoppingCart`,setup(n){let{cartItems:i,consumeCartErrors:a,isEmpty:o,shippingCosts:c,totalPrice:l}=G(),{initCart:u}=ie(),{resolveCartError:d}=B(),{locale:p}=N(),{isLoggedIn:m}=H(),{pushEcommerceEvent:h}=U(),g=e(!0),x=e(0),S=e(``),w=y(()=>i.value.filter(e=>e.type===`product`)),T=y(()=>i.value.filter(e=>e.type===`promotion`||e.type===`discount`)),E=y(()=>T.value.length>0),D=y(()=>w.value.reduce((e,t)=>e+(t.price?.totalPrice||0),0)),k=y(()=>$(D.value)),A=y(()=>T.value.reduce((e,t)=>e+(t.price?.totalPrice||0),0)),j=y(()=>$(A.value)),M=y(()=>$(l.value-A.value)),P=y(()=>$(l.value+A.value)),F=y(()=>Ht(c.value[0]?.deliveryDate?.earliest||``,p.value)),I=y(()=>$(c.value[0]?.shippingCosts?.totalPrice||0));_(()=>({items:i.value,total:l.value}),async()=>{let e=a();if(e&&`minimum-order-value-not-reached`in e){let t=e[`minimum-order-value-not-reached`],n=d(t),r=(n?.params?.parameters?.requiredValue).replace(/[^\d.-]/g,``)||`0`;x.value=parseInt(r,10)||0,S.value=n?.params?.message||``}else x.value=0,S.value=``},{deep:!0,immediate:!0}),_(()=>i.value,()=>{g.value=!1});let L=()=>{let e=T.value.map(e=>e.payload?.code||e.referencedId).filter(Boolean).join(`, `);h(`view_cart`,{currency:`EUR`,value:Number((l.value+A.value).toFixed(2)),...e?{coupon:e}:{},items:w.value.map(e=>({item_id:e.payload?.productNumber,item_name:e.label,price:e.price?.unitPrice,quantity:e.quantity}))})};return t(async()=>{await u(),L()}),(e,t)=>(s(),C(`div`,{class:f([`cart-page-content`,{"is-empty":r(o)}])},[v(e.$slots,`default`,b(O({cartItems:r(i),formattedDeliveryDate:F.value,formattedDeliveryPrice:I.value,formattedProductsTotal:k.value,formattedSubtotalPrice:M.value,formattedTotalPrice:P.value,formattedVoucherTotal:j.value,hasVoucher:E.value,isEmpty:r(o),isLoading:g.value,isLoggedIn:r(m),productItems:w.value,requiredValue:x.value,tooltipMessage:S.value,voucherItems:T.value})))],2))}}),Wt=g({__name:`ShoppingCartCheckoutButton`,props:{requiredValue:{type:Number,default:0},tooltipMessage:{type:String,default:``}},setup(n){let i=n,{totalPrice:a}=G(),o=e(null),c=y(()=>a.value<=0||a.value<i.requiredValue),l=e=>{if(c.value)return 0;window.location.href=e},u=()=>{let e=o.value?.querySelector(`span`);e&&(le.getInstance(e)?.dispose(),c.value&&i.tooltipMessage&&(e.setAttribute(`data-bs-title`,i.tooltipMessage||``),new le(e,{html:!0})))};return _(()=>
1[c.value,a.value],()=>{u()}),t(()=>{u()}),(e,t)=>(s(),C(`div`,{ref_key:`root`,ref:o},[v(e.$slots,`default`,b(O({isDisabled:c.value,navigateTo:l,totalPrice:r(a)})))],512))}}),Gt={class:`position-relative`},Kt={key:2,class:`counter position-absolute translate-middle badge rounded`},qt={key:0,class:`count-plus`},Jt=9,Yt=g({__name:`ShoppingCartHeader`,props:{quantity:{}},setup(n){let{swConnect:r}=N(),{cartItems:i,count:a}=G(),{initCart:o}=ie(),c=n,l=e(!r&&c.quantity?parseInt(c.quantity):0),u=y(()=>Math.min(l.value,Jt));return t(async()=>{await o()}),_(i,()=>{l.value=a.value}),(e,t)=>(s(),C(`span`,Gt,[l.value>0?v(e.$slots,`icon-shopping-cart-empty`,{},void 0,void 0,0):v(e.$slots,`icon-shopping-cart-empty`,{},void 0,void 0,1),l.value?(s(),C(`span`,Kt,[x(h(u.value),1),l.value>Jt?(s(),C(`span`,qt,`+`)):m(``,!0),t[0]||=E(`span`,{class:`visually-hidden`},`items`,-1)])):m(``,!0)]))}}),Xt=g({__name:`ShoppingCartItem`,props:{item:{}},setup(n){let i=n,{removeItem:a,changeProductQuantity:o}=G(),c=e(!0),l=e(null),u=e($(i.item.price?.unitPrice||0)),d=e($(i.item.price?.totalPrice||0)),f=e($(i.item.price?.listPrice?.price||0)),p=e=>Rt(e.translated),m=async()=>{await o({id:i.item.id,quantity:i.item.quantity}),d.value=$(i.item.price?.totalPrice||0),f.value=$(i.item.price?.listPrice?.price||0)},h=y(()=>i.item?.payload?.productNumber);return t(()=>{if(l.value){let e=new CustomEvent(`init-choices`,{detail:{container:l.value}});document.dispatchEvent(e)}}),_(()=>i.item.quantity,async(e,t)=>{e!==t&&(d.value=$(i.item.price?.totalPrice||0))}),(e,t)=>(s(),C(`div`,{ref_key:`container`,ref:l},[v(e.$slots,`default`,b(O({changeQuantity:m,formattedUnitListPrice:f.value,formattedTotalItemPrice:d.value,formattedUnitPrice:u.value,getSmallestThumbnailUrl:r(M),getSrcSetForMedia:r(oe),item:n.item,removeItem:r(a),productLoading:c.value,getAdditionalText:p,getProductUrl:h.value})))],512))}}),Zt=g({__name:`WishlistSync`,setup(e){let{fetchWishlist:n,inWishlist:r,toggleWishlist:i,wishlistItems:a}=re(),{elementList:o}=Q(),{toggleFavorites:s}=Ee(),{trackAddToWishlist:c}=U(),l=[],u=(e,t)=>{let n=r(t);n?e.classList.add(`active`):e.classList.remove(`active`),e.setAttribute(`aria-label`,s(n))},d=e=>{e.addEventListener(`click`,async e=>{let t=e.currentTarget,n=t.getAttribute(`data-product-id`),a=t.getAttribute(`data-product-number`),o=r(n),s=i(n);u(t,n);try{await s,o||c(t,a)}catch{u(t,n)}})},f=e=>{e.setAttribute(`aria-label`,s(!1)),d(e),e.classList.add(`ready`)},p=e=>{e.querySelectorAll(`.btn-favorite:not(.ready)`).forEach(e=>{f(e)}),e.querySelectorAll(`.btn-favorite.ready`).forEach(e=>{let t=e.getAttribute(`data-product-id`);u(e,t)})},h=()=>{if(a.value)for(;l.length>0;){let e=l.shift();e&&p(e)}};return _(a,async(e,t)=>{e&&e!==t&&h()}),_(o,async(e,t)=>{e&&e!==t&&(l.push(...e),h())}),t(async()=>{p(document),await n(),p(document)}),(e,t)=>m(``,!0)}}),Qt=!1,$t=()=>{Qt||typeof document>`u`||(Qt=!0,document.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-ecommerce-item]`);if(!n)return;let r=t.closest(`a[href]`);!r||!n.contains(r)||U().trackSelectItem(n)},!0))},en=S(we,{shadowRoot:!1});customElements.define(`add-to-cart-button-element`,en);var tn=T({components:{AddressManagement:fe,AddToCartButton:we,CartIconButton:Re,DomTools:ze,LoginNudgePopup:We,ProductFilter:it,ProductList:ot,ProductQuantityButton:Ct,ProductRatingStars:Et,ProductRatingStarsInteractive:kt,ProductReviewForm:At,ProductReviews:Ft,ProductSort:It,RecommendedModal:Lt,RecommendedProducts:zt,ResetPw:Bt,SearchResults:Vt,ShoppingCart:Ut,ShoppingCartCheckoutButton:Wt,ShoppingCartHeader:Yt,ShoppingCartItem:Xt,WishlistSync:Zt},directives:{addToCart:W,removeFromCart:R},slots:{default:[]},setup(){Ve().rememberOnLogin(),U().trackViewItem();let{elementList:e}=Q();_(e,e=>U().trackViewItemListBatch(e))},mounted(){ce.init(),U().trackViewItemList(),$t()}}),{swAccessToken:nn,swBaseURL:rn,swCookieName:an,swCookieOptions:on}=N();tn.use(z,{accessToken:nn,baseURL:rn,cookieName:an,cookieOptions:on,apiDefaults:{}}),tn.config.compilerOptions.delimiters=[`$%`,`%`];var sn=()=>{tn.mount(`#body-container`)};document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,()=>{sn()}):sn();

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.