1import{cL as g,aN as S,aO as m,aR as k,aW as I,aX as T,b2 as b,bc as z,b1 as C,aV as c,bx as F,bh as M}from"./DWRlW3ze.js";import{u as v}from"./Cw3U8Kq6.js";import{u as x}from"./DQ0V1XvE.js";async function h(e){const s=v();return x({...e,async mutationFn(t,u){const{shoppingList:i,loading:a}=await s;if(a.value)throw new Error("Concurrent modification of customer / cart / shopping list");if(a.value=!0,!i.value){const p=await t.sdk.ct.createMyShoppingList({name:[{locale:"en",value:"tamron.eu"}]});i.value=p.wishlist}const r=await e.mutationFn({shoppingList:i.value,...t},u);return i.value=r.wishlist,a.value=!1,r}})}const A=()=>h({key:g(),mutationFn:({sdk:e,shoppingList:s},{sku:t})=>e.ct.addToMyShoppingList({id:s.id,version:s.version,product:{sku:t}}),notification:{success:"messages.success.shoppingList.addToShoppingList",type:"view-shopping-list"}}),B=()=>h({key:g(),mutationFn:({sdk:e,shoppingList:s},{lineItemId:t})=>e.ct.removeFromMyShoppingList({id:s.id,version:s.version,products:[{id:t}]}),notification:{success:"messages.success.shoppingList.removeFromShoppingList",type:"view-shopping-list"}}),V=S({__name:"AddToShoppingList",props:{variant:{},size:{}},async setup(e){let s,t;const{shoppingList:u}=([s,t]=m(()=>v()),s=await s,t(),s),{mutate:i,loading:a}=([s,t]=m(()=>A()),s=await s,t(),s),{mutate:r,loading:p}=([s,t]=m(()=>B()),s=await s,t(),s),l=e,n=k(()=>{var o;return(o=u.value)==null?void 0:o.lineItems.find(d=>d.variant.sku===l.variant.sku)}),f=async()=>{n.value||await i({sku:l.variant.sku})},L=async()=>{n.value&&await r({lineItemId:n.value.id})},_=()=>n.value?L():f();return(o,d)=>{const w=F,y=M;return T(),I(y,{type:"secondary",loading:c(a)||c(p),size:o.size,onClick:_},{default:b(()=>[z(w,{icon:c(n)?"heart_fill":"heart",class:C({"text-blue":c(n),"text-3xl":o.size==="regular","text-base":o.size==="small"})},null,8,["icon","class"])]),_:1},8,["loading","size"])}}});export{V as _};
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.