PageSourceSearch

https://luhta.com/_nuxt/DqjDBUUy.js

js luhta.com collected 2026-10-02 12:12:40 UTC 3,023 bytes, 1 lines download raw bytes

1import{a as e}from"./COL-CwaA.js";import{D as t,On as n,Qn as r,_ as i,g as a,k as o,mt as s,nr as c,qt as l,v as u,vn as d,y as f}from"./DgB56D7c.js";import{o as p}from"./cKsVBMeP.js";import{t as m}from"./C3z5i9ag.js";import{t as h}from"./BLZGR5O_.js";import"./CpKR36MF.js";import"./CLpz5KT_.js";import{n as g,t as _}from"./BqTkm4Lo.js";import{t as v}from"./BDNMzG2s.js";import{t as y}from"./Dfm_Z0D0.js";import{C as b}from"./Cln68Kn7.js";var x={class:`sr-only`},S=Object.assign(v(o({__name:`ProductWishlistButton`,props:{product:{},selectedColor:{},selectedSize:{},elevate:{type:Boolean,default:!1},requireAllOptions:{type:Boolean,default:!1}},setup(o){let{$i18n:v,$mitter:S,$notify:C}=e(),w=m(),T=h(),E=b(),{loggedIn:D}=p(w),{enabledBrands:O,shoppingDisabled:k,disableShoppingExceptions:A}=p(T),j=d(`idle`),M=a(()=>{let e=[];return o.selectedColor&&e.push(o.selectedColor.uid),o.selectedSize&&e.push(o.selectedSize.uid),e}),N=a(()=>{if(o.elevate){let e=o.product.custom?.sku?.[0]?.id||o.product.key.split(`-`)[0]||``;return E.productInWishlist(e,M.value)}return E.productInWishlist(o.product.sku,M.value)}),P=a(()=>o.elevate?o.product.custom?.brandView?.map(e=>e.id)||[]:o.product.brand_view?.split(`,`)||[]),F=a(()=>{if(o.product.__typename===`GiftCardProduct`)return!1;let e=O.value.filter(e=>P.value.includes(e.integration_code)),t=o.elevate?o.product.custom?.sku?.[0]?.id||o.product.key.split(`-`)[0]||``:o.product.sku;return!k.value&&(!e.some(e=>e.disable_shopping)||A.value.includes(t.toLowerCase()))});async function I(e){e.preventDefault();let t=N.value;t?await L(t):await R()}async function L(e){if(!D.value)return;j.value=`loading`;let t={wishlistId:0,wishlistItemsIds:[parseInt(e.id)]};await E.removeFromWishlist({wishlistData:t}),j.value=`idle`}async function R(){if(!D.value){S.emit(`login:open`,{extraText:``});return}j.value=`loading`;let e=o.elevate?o.product.custom?.sku?.[0]?.id||o.product.key.split(`-`)[0]||``:o.product.sku,t={wishlistId:`0`,wishlistItems:[]};if(o.elevate?o.product.variants.length:o.product.__typename===`ConfigurableProduct`){if(o.requireAllOptions&&(!o.selectedColor||!o.selectedSize)){C.error(v.t(`cartError.allOptions`)),j.value=`idle`;return}Array.isArray(t.wishlistItems)&&t.wishlistItems.push({sku:e,selected_options:M.value,quantity:1})}else Array.isArray(t.wishlistItems)&&t.wishlistItems.push({sku:e,quantity:1});await E.addToWishlist({wishlistData:t}),j.value=`idle`}return(e,a)=>{let o=_,d=y;return n(F)?(s(),u(d,{key:0,full:!1,plain:``,"aria-haspopup":n(D)?void 0:`dialog`,status:n(j),class:r(`wishlist-button ${n(N)?`remove`:`add`}`),onClick:I},{default:l(()=>[t(o,{class:`wishlist-icon wishlist-icon--active`,code:`favorite-solid-black`,size:n(g).M},null,8,[`size`]),t(o,{class:`wishlist-icon wishlist-icon--inactive`,code:`favorite-border-black`,size:n(g).M},null,8,[`size`]),i(`span`,x,c(e.$t(`product.addToWishlist`)),1)]),_:1},8,[`aria-haspopup`,`status`,`class`])):f(``,!0)}}}),[[`__scopeId`,`data-v-c1806768`]]),{__name:`ProductWishlistButton`});export{S as t};

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.