PageSourceSearch

https://www.marieclaire.it/_assets/fre/scopes/hdm/_next/static/chunks/96609-9ba86d473d384432.js

js marieclaire.it collected 2026-09-24 09:40:05 UTC 21,394 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[96609],{3449:(e,t,r)=>{r.d(t,{D0:()=>d,ar:()=>u,gf:()=>s,sH:()=>c,wK:()=>f});var i=r(47382),n=r(75523),o=r(59652);let a=new i.default("SESSION-WISHLIST-STORAGE");function l(){try{window.dispatchEvent(new CustomEvent(n.Qr))}catch{}}function s(){try{let e=localStorage.getItem(n.vH);if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t))return[];let r=Date.now(),i=(t||[]).filter(e=>r-("number"==typeof e.savedAt?e.savedAt:0)<=n.lM);if(t.length!==i.length)try{localStorage.setItem(n.vH,JSON.stringify(i)),l()}catch(e){a.error("Error persisting pruned session wishlist:",e)}return[...i].sort((e,t)=>{let r="number"==typeof e?.savedAt?e.savedAt:0;return("number"==typeof t?.savedAt?t.savedAt:0)-r})}catch(e){return a.error("Error reading session wishlist:",e),[]}}function u(e){let t,r,i,u=e?.productId!=null?String(e.productId):"";if(!u)return!1;let c=e.articleUrl??"",d=(0,o.dR)(c),f=null!=e.contentProductId&&""!==e.contentProductId?String(e.contentProductId):null,m=(t=null!=f&&""!==f?String(f):"",r=null!=u&&""!==u?String(u):"",i=encodeURIComponent((0,o.dR)(d)),`local:${t||r}:${i}`),p=Date.now();try{let t=s().filter(e=>String(e.productId)!==u||(0,o.dR)(e.articleUrl)!==d),r={id:m,productId:u,contentProductId:f||void 0,productName:e.productName,productImageUrl:e.productImageUrl,productUrl:e.productUrl,articleUrl:d||c,articleTitle:e.articleTitle,savedAt:p};if(localStorage.setItem(n.vH,JSON.stringify([...t,r])),l(),!u||!d)return!1;let i=String(u),a=(0,o.dR)(d);return s().some(e=>String(e.productId)===i&&(0,o.dR)(e.articleUrl)===a)}catch(e){return a.error("Error upserting session wishlist item:",e),!1}}function c(e,t){if(null==e||""===e)return;let r=String(e),i=(0,o.dR)(t);try{let e=s().filter(e=>String(e.productId)!==r||(0,o.dR)(e.articleUrl)!==i);localStorage.setItem(n.vH,JSON.stringify(e)),l()}catch(e){a.error("Error removing session wishlist item:",e)}}function d(e){if(null==e||""===e)return;let t=String(e);try{let e=s().filter(e=>String(e.id)!==t);localStorage.setItem(n.vH,JSON.stringify(e)),l()}catch(e){a.error("Error removing session wishlist item by id:",e)}}function f(e){let t=t=>{(t.key===n.vH||null===t.key)&&e(t)},r=t=>{e(t)};return window.addEventListener("storage",t),window.addEventListener(n.Qr,r),()=>{window.removeEventListener("storage",t),window.removeEventListener(n.Qr,r)}}},25632:(e,t,r)=>{r.d(t,{r:()=>l});var i=r(94263),n=r(27199),o=r(29538),a=r(29278);function l({pianoLoginEnabled:e,isHearstIdEnabled:t}){let{isLoggedInPiano:r}=(0,n.id)(),s=(0,i.useUserAuthorizedStatus)(),u=(0,o.G)(a.ym.HEARSTID_STATUS)===a.tG.AUTHORIZED;return e&&!t?r:t?u:s}},57401:(e,t,r)=>{r.d(t,{D9:()=>I,Gg:()=>A,Su:()=>s,TC:()=>R,Ul:()=>M,Wo:()=>D,Yt:()=>d,cj:()=>u,ei:()=>w,gC:()=>O,h:()=>l,iX:()=>b,jN:()=>h,jV:()=>v,jw:()=>E,kN:()=>y,ml:()=>L,mp:()=>c,oL:()=>U,qc:()=>P,w_:()=>T,xR:()=>_});var i=r(93682),n=r(174);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}let l="wishlist",s="commerce",u="wishlist",c={SAVE_CLICK:"save_click",SAVE_SUCCESS:"save_success",SAVE_MODAL_CLOSE:"save_modal_close",SAVE_MODAL_SIGNIN:"save_modal_signin",SAVE_MODAL_SIGNUP:"save_modal_signup",UNSAVE_CLICK:"unsave_click",SAVE_EMAIL_MODAL_VIEW:"save_email_modal_view",HYPERLINK:"hyperlink"},d={HEART_CLICKED:"Wishlist Heart Clicked",EMAIL_PROMPT_SHOWN:"Wishlist Email Prompt Shown",EMAIL_SUBMITTED:"Wishlist Email Submitted",SIGN_IN_CLICKED:"Wishlist Sign In Clicked",EMAIL_PROMPT_CLOSED:"Wishlist Email Prompt Closed",PRODUCT_SAVED:"Product Saved",ACCOUNT_CREATION_COMPLETED:"Account Creation Completed",SAVED_FOR_LATER_VIEWED:"Saved for Later Viewed",SAVED_PRODUCT_CLICKED:"Saved Product Clicked",READ_FULL_REVIEW_CLICKED:"Read Full Review Clicked",PRODUCT_REMOVAL:"Product Removal",PRODUCT_REMOVAL_UNDONE:"Product Removal Undone",VIEW_LIST_CLICKED:"View List Clicked",SAVE_CONFIRMATION_DISMISSED:"Save Confirmation Dismissed",SAVED_TAB_SWITCHED:"Saved Tab Switched",ACCOUNT_SETUP_BANNER_CLICKED:"Account Setup Banner Clicked"},f={[c.SAVE_EMAIL_MODAL_VIEW]:d.EMAIL_PROMPT_SHOWN,[c.SAVE_MODAL_SIGNUP]:d.EMAIL_SUBMITTED,[c.SAVE_MODAL_SIGNIN]:d.SIGN_IN_CLICKED,[c.SAVE_MODAL_CLOSE]:d.EMAIL_PROMPT_CLOSED},m=/[ag]\d{8}/;function p(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>null!=e&&""!==e))}function g(e){return null==e||""===e?"":String(e)}function S(e){return g(e?.productId||e?.product?.id||e?.product_id||e?.catalogProduct?.id||e?.id)}function E({articleId:e,articleUrl:t}={}){return g(("string"==typeof t?t.match(m)?.[0]:"")||e)}
1function w({isAuthorized:e,hasCapturedEmail:t}={}){return e?"logged_in":t?"email_captured":"logged_out"}function h({isAuthorized:e}={}){return e?"known":"anonymous"}function I({product:e,productId:t}={}){return p({productId:g(t)||S(e),primaryUx:l})}function _({product:e,productId:t,articleId:r,articleUrl:i}={}){return p(a(a({},I({product:e,productId:t})),{},{articleId:E({articleId:r,articleUrl:i})}))}function v({product:e,productId:t,articleId:r,articleUrl:i,site:n,userState:o,device:a,clickTarget:s,activeTab:u,action:c,source:d,saveType:f}={}){return p({site:g(n),articleId:E({articleId:r,articleUrl:i}),productId:g(t)||S(e),contentProductId:g(e?.contentProductId!=null&&e?.contentProductId!==""?e.contentProductId:e?.id),device:g(a)||(window.matchMedia("(max-width: 767px)").matches?"mobile":"desktop"),userState:g(o),clickTarget:g(s),activeTab:g(u),action:g(c),source:g(d),saveType:g(f),primaryUx:l})}function y(){let e=new URLSearchParams(window.location.search),t=e.get("utm_source")||e.get("source");if(t)return t.slice(0,99);try{return(document.referrer?new URL(document.referrer).hostname:"").replace(/^www\./,"").slice(0,99)}catch{return""}}function C(e,t={},{enabled:r=!0}={}){r&&e&&(window.Nitrous=window.Nitrous||[],window.Nitrous.push(()=>{window.Nitrous.logEvent({event_name:e,custom_attributes:Object.fromEntries(Object.entries(p(t)).map(([e,t])=>[e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),t]))})}))}function O(e){if(!e)return;let[t,r=""]=e.split("?"),i=new URLSearchParams(r);return i.set("minor_source",u),`${t}?${i.toString()}`}function A(e,t={}){C(e,a({primaryUx:l},t))}function P({product:e,articleId:t,articleUrl:r}={}){D(c.SAVE_SUCCESS,a(a({},_({product:e,articleId:t,articleUrl:r})),{},{contentSaveSuccess:1}))}function D(e,t={},{amplitudeEnabled:r=!0}={}){let i=p(a({primaryUx:l},t));(0,n.A)({eventName:e,eventParameters:i});let o=f[e];r&&o&&C(o,i,{enabled:!0})}function L(e={},{enabled:t=!0}={}){C(d.HEART_CLICKED,e,{enabled:t})}function T(e={},{enabled:t=!0}={}){C(d.PRODUCT_SAVED,e,{enabled:t})}function U(e={},{enabled:t=!0}={}){C(d.SAVED_FOR_LATER_VIEWED,e,{enabled:t})}function R(e={},{enabled:t=!0}={}){C(d.SAVED_PRODUCT_CLICKED,e,{enabled:t})}function b(e={},{enabled:t=!0}={}){C(d.READ_FULL_REVIEW_CLICKED,e,{enabled:t})}function M(e={},{enabled:t=!0}={}){C(d.ACCOUNT_CREATION_COMPLETED,e,{enabled:t})}},65571:(e,t,r)=>{r.d(t,{OY:()=>n,TF:()=>a});let i=new(r(47382)).default("WISHLIST_SAILTHRU_EVENT_CLIENT");function n(e,t){let r="string"==typeof e?e.trim():"";return r||("string"==typeof t?t.trim():"")}async function o({event:e,email:t,clientId:r,locale:n,brandCode:a,customEventVars:l={}}={}){if(!e)return i.warn("Wishlist Sailthru event skipped — missing event",{event:e}),!1;let s="string"==typeof a?a.trim():"",u="string"==typeof t?t.trim().toLowerCase():"",c="string"==typeof r?r.trim():"",d="string"==typeof n?n.trim().toLowerCase():"";if(!u)return i.warn("Wishlist Sailthru event skipped — missing email",{event:e}),!1;if(!c||!d)return i.warn("Wishlist Sailthru event skipped — missing client context",{event:e}),!1;let f={event:e,email:u,client_id:c,locale:d};s&&(f.brandCode=s),f.customEventVars=l;try{let t=await fetch("/api/wishlist/sailthru-event",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)});if(!t.ok)return i.warn("Wishlist Sailthru event request failed",{event:e,status:t.status}),!1;return!0}catch(e){return i.error("Wishlist Sailthru event request error",e),!1}}function a({email:e,clientId:t,locale:r,brandCode:i,wishlistCount:n}){return o({event:"wishlist_trigger",clientId:t,locale:r,email:e,brandCode:i,customEventVars:{track_wishlist:(Number.isFinite(n)?n:0)>0}})}},75523:(e,t,r)=>{r.d(t,{Me:()=>f,Qr:()=>s,Tf:()=>d,eq:()=>o,lM:()=>u,oy:()=>c,rQ:()=>a,t_:()=>n,vH:()=>l,vk:()=>i});let i="commerce.enable-product-wishlist",n="commerce.enable-wishlist-save-for-later-products",o="wishlist-email-captured",a="wishlist-email-captured-updated",l="commerce-product-wishlist-session",s="commerce-session-wishlist-updated",u=6048e5,c=1e3,d=3e3,f={saved:"Saved!",removed:"Removed!",saveFailed:"Something went wrong. Please try again."}},96609:(e,t,r)=>{r.d(t,{NB:()=>b,_S:()=>ei,yk:()=>Y,Jm:()=>M,O0:()=>J,Q0:()=>R,Nd:()=>V});var i=r(93682),n=r(71055),o=r(46827),a=r(12625),l=r(56317),s=r(38644),u=r(6351),c=r(62110),d=r(94263),f=r(46928),m=r(800),p=r(86385),g=r(53225),S=r(25632),E=r(47382),w=r(27199),h=r(81840),I=r(59652),_=r(75523);let v=new E.default("HOLDOUT-OVERRIDE"),y=(0,l.eU)(!1),C=new Map;async function O(e,t){let r=await (0,h.Lr)(e,t,1,1).catch(()=>null);return!!(r&&!r.error&&r.total>0)}let A=null;var P=r(57401),D=r(3449),L=r(65571);function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?T(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function R(){let[e,t]=(0,g._P)(["fre.piano.login","fre.piano.enable-auth-via-hearst-id"]);return(0,S.r)({pianoLoginEnabled:e,isHearstIdEnabled:t})}function b(){let e=(0,g._P)(_.vk),t=(0,g._P)(_.t_),r=(0,p.A)("product_wishlist"),i=e||t||"on"===r,o=function(e){let[t,r]=(0,g._P)(["fre.piano.login","fre.piano.enable-auth-via-hearst-id"]),i=(0,S.r)({pianoLoginEnabled:t,isHearstIdEnabled:r}),{clientId:o,accessToken:l}=(0,u.MV)(),s=(0,n.useMemo)(()=>(0,f.O2)(o,l),[o,l]),c=!!(i&&l&&s),[d,m]=(0,a.fp)(y);return(0,n.useEffect)(()=>{let t,r;if(e)return;if(!c){m(!1),A=null;return}let i=`${s}:${l}`;A!==i&&(m(!1),A=i);let n=!1;return(t=`${s}:${l}`,!(r=C.get(t))&&(r=O(s,l).finally(()=>{C.delete(t)}),C.set(t,r)),r).then(e=>{n||m(e)}).catch(e=>{v.error("Error checking existing saved content:",e)}),()=>{n=!0}},[e,c,s,l,m]),!e&&d}(i);return i||o}function M(){let e=(0,g._P)("fre.enable-my-stuff"),t=b();return e&&t}function N(){return U(U({},function(){try{let e=localStorage.getItem(_.eq);if(e){let t=JSON.parse(e);if(t&&"string"==typeof t.email&&""!==t.email.trim())return{hasCapturedEmail:!0,capturedEmail:t.email.trim()}}}catch{}return{hasCapturedEmail:!1,capturedEmail:null}}()),{},{isReady:!0})}function V(){let{0:e,1:t}=(0,n.useState)({hasCapturedEmail:!1,capturedEmail:null,isReady:!1});return(0,n.useEffect)(()=>{t(N())},[]),(0,n.useEffect)(()=>{let e=()=>{t(N())},r=t=>{(t.key===_.eq||null===t.key)&&e()};return window.addEventListener("storage",r),window.addEventListener(_.rQ,e),()=>{window.removeEventListener("storage",r),window.removeEventListener(_.rQ,e)}},[]),e}function k(e){return`${e||""}`.trim().toLowerCase()}function j(e,t){return`${String(e||"")}::${(0,I.dR)(t)}`}let W=new E.default("PRODUCT-WISHLIST-MIGRATION"),H=null,x=null;async function F({accessToken:e,authenticatedEmail:t,capturedEmail:r,resolvedClientId:i}){let n=k(t),o=k(r),a={migrated:!1,savedAny:!1,wishlistCount:0};if(!n||!o||n!==o)return a;let l=(0,D.gf)();if(!l.length)return a;let s=await (0,I.JA)(i,e);if(s?.error)throw Error(s.error);let u=new Set((s?.data||[]).map(e=>j(e?.productId,e?.articleUrl))),c=[],d=!1,f=!1;for(let t of l){if(!t?.productId||!t?.articleUrl){c.push(t),d=!0;continue}let r=j(t.productId,t.articleUrl);if(u.has(r)){c.push(t),d=!0;continue}await (0,h.T3)(i,e,t)&&(f=!0,u.add(r),c.push(t),d=!0)}return d?(c.forEach(e=>{(0,D.D0)(e.id)}),(0,D.gf)().length||function(){try{localStorage.removeItem(_.eq),window.dispatchEvent(new CustomEvent(_.rQ))}catch{}}(),{migrated:!0,savedAny:f,wishlistCount:u.size}):a}function $(){let{accessToken:e,ready:t,resolvedClientId:r}=K(),{capturedEmail:i,hasCapturedEmail:o}=V(),a=(0,d.useUserData)(),{isLoggedInPiano:l}=(0,w.id)(),s=(0,w.u5)(l),u=(0,w.L9)(),c=(0,m.Q6)("sailthru.brand_code",""),f=(0,m.BV)("layoutContextProps.siteData.metadata.siteAcronym",""),p=(0,L.OY)(c,f),g=((0,m.BV)("layoutContextProps.siteData.metadata.ciam")||{}).clientId||r,S=(0,m.BV)("layoutContextProps.siteData.locale.country",""),E=(0,n.useMemo)(()=>k(a?.email||s?.email||u?.email),[a?.email,s?.email,u?.email]),{0:h,1:I}=(0,n.useState)("idle");return(0,n.useEffect)(()=>{let n=!0;if(!t||!o||!i||!E||!(0,D.gf)().length)return I("idle"),()=>{n=!1};let a=`${r}:${E}`,l=H===a&&x?x:null;return l||(l=F({accessToken:e,authenticatedEmail:E,capturedEmail:i,resolvedClientId:r}).then(e=>(e?.savedAny&&E&&p&&(0,L.TF)({clientId:g,locale:S,email:E,brandCode:p,wishlistCount:e.wishlistCount??0}),e)),H=a,x=l.finally(()=>{H=null,x=null})),I("migrating"),x.then(()=>{n&&I("idle")}).catch(e=>{W.error("Failed to migrate session product wishlist",e),n&&I("error")}),()=>{n=!1}},[e,E,p,S,i,o,t,r,g]),h}function K(){let e=R(),{clientId:t,accessToken:r}=(0,u.MV)(),i=(0,n.useMemo)(()=>(0,f.O2)(t,r),[t,r]),o=!!(e&&r&&i);return{isAuthorized:e,accessToken:r,resolvedClientId:i,ready:o}}let B=new E.default("PRODUCT-WISHLIST-SYNC-ALL");function q(e,t){e(t.error?{status:"error",items:[],error:t.error}:{status:"ready",items:t.data,error:null})}function J(){let{isAuthorized:e,accessToken:t,resolvedClientId:r,ready:i}
1=K(),[,o]=(0,a.fp)(I.PC),l=$(),s=i&&"migrating"!==l;(0,n.useEffect)(()=>{if(!s)return void(0,I.qI)(o);let e=!1;return o(e=>"loading"===e.status?e:{status:"loading",items:e.items||[],error:null}),(async()=>{try{let i=await (0,I.JA)(r,t);if(e)return;q(o,i)}catch(t){e||(B.error("Error syncing full product wishlist:",t),o({status:"error",items:[],error:t?.message||String(t)}))}})(),()=>{e=!0}},[t,s,e,r,o])}let G=new E.default("PRODUCT-WISHLIST-DATA"),Q={persistSize:!1,revalidateAll:!0,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateFirstPage:!0},Y=()=>{let{isAuthorized:e,accessToken:t,resolvedClientId:r,ready:i}=K(),{hasCapturedEmail:l}=V(),u=$(),{0:d,1:f}=(0,n.useState)(0),{0:m,1:p}=(0,n.useState)(!1);(0,n.useEffect)(()=>{p(!0)},[]),(0,n.useEffect)(()=>{if(!e&&l)return(0,D.wK)(()=>{f(e=>e+1)})},[e,l]);let{data:g,error:S,mutate:E,size:w,setSize:_,isLoading:v}=(0,o.Ay)(i&&"migrating"!==u?e=>i&&"migrating"!==u?{resolvedClientId:r,accessToken:t,page:e+1,itemsPerPage:c.re}:null:null,async({resolvedClientId:e,accessToken:t,page:r,itemsPerPage:i})=>{try{return await (0,h.X9)(e,t,r,i)}catch(e){return G.error("Error fetching product wishlist:",e),{error:e.message||"Failed to fetch product wishlist",data:[]}}},U(U({},s.fF),Q)),y=(0,a.md)(I.f8),C=(0,a.md)(I.PC),O=(0,n.useMemo)(()=>m&&!e&&l?(0,D.gf)():[],[m,e,l,d]),A=(0,n.useMemo)(()=>e?g?g.flatMap(e=>e?.error?[]:e?.data||[]):[]:l?O:[],[g,e,l,O]),P=(0,n.useMemo)(()=>e?g?.[0]?.total||0:l?O.length:0,[g,e,l,O]),L=(0,n.useMemo)(()=>e&&"ready"===C.status?C.items.length:P,[e,C.status,C.items.length,P]),T=(0,n.useMemo)(()=>Math.max(0,L-y),[L,y]),R=(0,n.useMemo)(()=>!!e&&P>c.re*w,[e,P,w]),b=(0,n.useCallback)(async()=>{if(e)return E();f(e=>e+1)},[e,E]);return{products:A,isLoading:!!e&&"error"!==u&&("migrating"===u||(v??(!g&&!S))),error:e?S:void 0,mutate:b,total:T,hasNextPage:R,size:w,setSize:_}},z=new E.default("PRODUCT-WISHLIST-HOOK");function Z(e,t,r){let i=e?.product?.id||e?.product_id,n=e?.id!=null&&e?.id!==""?String(e.id):null,o=e?.product?.name||e?.custom_name||e?.name||"",a=e?.image?.aws_url||"";return{productId:i,contentProductId:n,productName:o,productImageUrl:a,productUrl:e?.retailer?.url||e?.retailer?.full_url||null,articleUrl:t,articleTitle:r,product:U(U({},e),{},{offers:e?.offers||e?.product?.offers||null,product:e?.product?U(U({},e.product),{},{offers:e.product.offers||e.offers||null}):e.product})}}function X(){return(0,l.zp)().get(I.PC).items?.length??0}function ee({email:e,clientId:t,locale:r,brandCode:i,wishlistCount:n}){(0,L.TF)({clientId:t,locale:r,email:e,brandCode:i,wishlistCount:n})}function et({setAll:e,setAddedProduct:t,setLastAction:r,savedId:i,productId:n,productData:o,articleUrl:a,normalizedArticleUrl:l,product:s,productSavedProperties:u,clientId:c,locale:d,email:f,brandCode:m}){(0,I.JY)(e,{id:i,productId:String(n),productName:o.productName,productImageUrl:o.productImageUrl,productUrl:o.productUrl,articleUrl:l||a,articleTitle:o.articleTitle,contentProductId:o.contentProductId}),t({visible:!0,product:s}),r("saved"),(0,P.w_)(u),ee({clientId:c,locale:d,email:f,brandCode:m,wishlistCount:X()})}async function er({resolvedClientId:e,accessToken:t,setAll:r,productId:i,normalizedArticleUrl:n}){try{var o;let a,l=await (0,I.JA)(e,t);if(q(r,l),l.error)return null;return o=l.data,a=String(i),(o||[]).find(e=>String(e.productId)===a&&(0,I.dR)(e.articleUrl)===n)}catch(e){return z.error("Error reconciling product wishlist save:",e),null}}let ei=e=>{let{isAuthorized:t,accessToken:r,resolvedClientId:i,ready:o}=K(),{hasCapturedEmail:l}=V(),s=(0,d.useUserData)()||{},{isLoggedInPiano:u}=(0,w.id)(),c=(0,w.u5)(u),f=s.email||c?.email||"",p=(0,m.Q6)("sailthru.brand_code",""),g=(0,m.BV)("layoutContextProps.siteData.metadata.siteAcronym",""),S=(0,L.OY)(p,g),E=((0,m.BV)("layoutContextProps.siteData.metadata.ciam")||{}).clientId||i,_=(0,m.BV)("layoutContextProps.siteData.locale.country",""),{0:v,1:y}=(0,n.useState)(!1),{0:C,1:O}
1=(0,n.useState)(null),{0:A,1:T}=(0,n.useState)(0),[,U]=(0,a.fp)(I.j9),{0:R,1:b}=(0,n.useState)(!1);(0,n.useEffect)(()=>{b(!0)},[]);let M=e?.product?.id||e?.product_id,N=(0,m.BV)("layoutContextProps.canonicalUrl",""),k=(0,m.BV)("titleText",""),j=(0,m.BV)("data.content.0.display_id",""),W=(0,m.BV)("layoutContextProps.siteData.metadata.domain",""),H=(0,n.useMemo)(()=>(0,I.dR)(N),[N]),x=(0,n.useMemo)(()=>(0,P.jV)({product:e,articleId:j,articleUrl:N,site:W,userState:(0,P.jN)({isAuthorized:t}),saveType:t?"account":"session"}),[e,j,N,W,t]);J(),(0,n.useEffect)(()=>{if(!t&&l)return(0,D.wK)(()=>{T(e=>e+1)})},[t,l]);let F=(0,a.md)(I.PC),$=(0,a.Xr)(I.PC),B=(0,n.useMemo)(()=>(0,I.u9)(F.items,H),[F.items,H]),{isSaved:q,wishlistItemId:G}=(0,n.useMemo)(()=>{if(!M||!H)return{isSaved:!1,wishlistItemId:null};let e=String(M);if(!t){if(!R||!l)return{isSaved:!1,wishlistItemId:null};let t=(0,D.gf)().find(t=>String(t.productId)===e&&(0,I.dR)(t.articleUrl)===H);return{isSaved:!!t,wishlistItemId:t?.id??null}}if("ready"!==F.status)return{isSaved:!1,wishlistItemId:null};let r=B.find(t=>String(t.productId)===e);return{isSaved:!!r,wishlistItemId:r?.id??null}},[M,H,t,l,R,F.status,B,A]),Q=(0,n.useCallback)(async()=>{if(M&&H){if(!t){if(!l)return;y(!0);try{if(q)(0,D.sH)(M,H),O("removed");else{let t=Z(e,N,k);(0,D.ar)(t)?(U({visible:!0,product:e}),O("saved"),(0,P.qc)({product:e,articleId:j,articleUrl:N}),(0,P.w_)(x)):(z.error("Error toggling session product wishlist: upsertSessionWishlistItem failed",{productId:M,articleUrl:H}),O("saveFailed"))}}catch(e){z.error("Error toggling session product wishlist:",e),q||O("saveFailed")}finally{y(!1)}return}if(o){y(!0);try{if(q)if(G)if(await (0,h.RD)(i,r,G)){let e=Math.max(0,X()-1);(0,I.qE)($,G),O("removed"),ee({clientId:E,locale:_,email:f,brandCode:S,wishlistCount:e})}else z.error("Error toggling product wishlist: removeProductFromWishlist returned false (CIAM/network failure)"),O("saveFailed");else{let e=Math.max(0,X()-1);(0,I.$x)($,M,H),O("removed"),ee({clientId:E,locale:_,email:f,brandCode:S,wishlistCount:e})}else{let t=Z(e,N,k),n=await (0,h.T3)(i,r,t);if(n)et({setAll:$,setAddedProduct:U,setLastAction:O,savedId:n,productId:M,productData:t,articleUrl:N,normalizedArticleUrl:H,product:e,productSavedProperties:x,clientId:E,locale:_,email:f,brandCode:S}),(0,P.qc)({product:e,articleId:j,articleUrl:N});else{let n=await er({resolvedClientId:i,accessToken:r,setAll:$,productId:M,normalizedArticleUrl:H});n?.id?(et({setAll:$,setAddedProduct:U,setLastAction:O,savedId:n.id,productId:M,productData:t,articleUrl:N,normalizedArticleUrl:H,product:e,productSavedProperties:x,clientId:E,locale:_,email:f,brandCode:S}),(0,P.qc)({product:e,articleId:j,articleUrl:N})):(z.error("Error toggling product wishlist: saveProductToWishlist returned no id",{productId:M,articleUrl:H,clientId:E}),O("saveFailed"))}}}catch(e){z.error("Error toggling product wishlist:",e),q||O("saveFailed")}finally{y(!1)}}}},[M,e,q,t,l,o,r,i,G,N,k,j,H,$,U,x,f,_,E,S]);return{isSaved:q,handleToggle:Q,isLoading:v,lastAction:C,clearLastAction:(0,n.useCallback)(()=>O(null),[]),isAuthorized: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.