import Y from"./BMc5KkT2.js";import{d as tt,a as z,ab as ot,Z as et,O as rt,r as L,e as g,j as nt,b8 as ct,b7 as at,t as dt,C as h,o as m,h as c,i as a,g as d,V as st,a0 as it,f as I,x as k,v,A as O,ac as ut,aL as pt,_ as mt}from"./BxiWQxwE.js";import{_ as lt}from"./4HfP1VOY.js";import _t from"./BpaGfDpb.js";import{_ as ft}from"./CCb6Ii9b.js";import"./QMEN6lyk.js";import"./CxeYIrhH.js";import"./DKUQAchG.js";const gt={class:"toggle"},ht=["src","alt"],It={key:0},kt={class:"price"},vt={key:1,class:"error"},yt={class:"product__card--price"},xt={key:0,class:"loading"},y="Boodschappenlijst",bt=tt({__name:"card",props:{product:{type:Object,required:!0},loading:{type:Boolean,required:!1,default:!1},error:{type:Boolean,required:!1,default:!1}},emits:["observed","removed-from-basket","striked"],setup(e,{emit:N}){var A,B,C,q,E;const{$messages:R}=z(),t=e,U=st(),{$gtm:j}=z(),{add:V,remove:D,update:M}=ot(),{lastItemRemoved:Q}=et(),{strikeShoppingListItem:W}=rt(),x=L(null),l=N,Z=async({product:o,quantity:n})=>{const r={product:o,quantity:n,listName:y,gtmItem:s.value};await M(r)},_=async()=>{const o={product:t.product,quantity:0,listName:y,gtmItem:s.value};Q.value=t.product,await D(o),l("removed-from-basket",t.product)},F=async o=>{const n={product:t.product,quantity:o,listName:y,gtmItem:s.value};await V(n)},G=async()=>{var o,n;try{const r=await W(String(t.product.id),null);(o=r.strikeShoppingListItem)!=null&&o.isSuccess&&l("striked",!!((n=r.strikeShoppingListItem)!=null&&n.isSuccess))}catch(r){console.error("Error while trying to strike product",r)}},b=g(()=>pt(`/producten/${t.product.productInformation.department}/${t.product.productInformation.webgroup}/${encodeURIComponent(t.product.productInformation.headerText??"")}/${t.product.productId}`)??""),f=L(),S=()=>{var o;return(o=f.value)==null?void 0:o.classList.remove("lazy_img--unloaded")};nt(()=>{f.value.complete&&S()}),ct(()=>w());const $={normalPrice:t.product.productInformation.productAssortment.normalPrice,offerPrice:t.product.productInformation.productAssortment.offerPrice,isOffer:!!t.product.productInformation.productAssortment.offerPrice,priceToShow:t.product.productInformation.productAssortment.offerPrice||t.product.productInformation.productAssortment.normalPrice,textPriceSign:(C=(B=(A=t.product.productInformation)==null?void 0:A.productAssortment)==null?void 0:B.productOffer)!=null&&C.textPriceSign?(E=(q=t.product.productInformation.productAssortment.productOffer.textPriceSign.split("_"))==null?void 0:q.join(" "))==null?void 0:E.trim():""},P=g(()=>({...t.product,price:$})),{stop:w}=at(x,([{isIntersecting:o}])=>{o&&(l("observed",s.value),w())},{threshold:.8}),s=g(()=>{var o,n,r,i,u;return{item_id:t.product.productId,item_brand:(o=t.product.productInformation)==null?void 0:o.brand,item_category:(n=t.product.productInformation)==null?void 0:n.department,item_category2:(r=t.product.productInformation)==null?void 0:r.webgroup,item_name:(i=t.product.productInformation)==null?void 0:i.headerText,item_variant:(u=t.product.productInformation)==null?void 0:u.packaging,item_list_name:"shopping-list",item_list_id:"shopping-list",price:$.priceToShow,quantity:t.product.quantity}}),H=()=>{j("products.select_item",{ecommerce:{items:[s.value]}})};return(o,n)=>{const r=Y,i=it,u=lt,J=_t,K=ut,X=ft;return m(),dt(X,{onDragged:_},{default:h(()=>[c("div",{ref_key:"productElement",ref:x,class:O(["product__card",{"product__card--strike-option":o.$device.isMobile,striked:e.product.strike&&o.$device.isMobile}])},[c("div",gt,[a(r,{id:`item__${e.product.productId}`,checked:e.product.strike,onInput:G},null,8,["id","checked"])]),a(i,{to:d(b),class:"product__card--image"},{default:h(()=>{var p;return[c("img",{ref_key:"imgEl",ref:f,class:"image lazy_img lazy_img--unloaded",src:`${d(U).public.files}/${e.product.productInformation.image}?width=190`,alt:(p=e.product.productInformation.headerText)==null?void 0:p.trim(),loading:"lazy",onLoad:S},null,40,ht)]}),_:1},8,["to"]),a(i,{class:"product__card--content",to:d(b),onClick:H},{default:h(()=>{var p,T;return[c("h4",null,v(e.product.productInformation.headerText),1),(T=(p=e.product)==null?void 0:p.productInformation)!=null&&T.packaging?(m(),I("p",It,v(e.product.productInformation.packaging),1)):k("",!0),c("div",kt,[a(u,{product:d(P)},null,8,["product"])]),e.error?(m(),I("small",vt,v(d(R)("error.common")),1)):k("",!0)]}),_:1},8,["to"]),c("div",yt,[a(u,{product:d(P)},null,8,["product"])]),c("div",{class:O(["product__card--actions",{loading:e.loading}])},[e.loading?(m(),I("span",xt)):k("",!0),a(J,{pending:e.loading,onDelete:_},null,8,["pending"]),a(K,{product:e.product,onAdd:F,onUpdate:Z,onRemove:_},null,8,["product"])],2)],2)]),_:1})}}}),Et=mt(bt,[["__scopeId","data-v-89cb6ff3"]]);export{Et as default};
