1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4860,59338],{4860:(r,t,e)=>{e.d(t,{$:()=>O});var o=e(93682),n=e(53520),i=e(71055),l=e(92944);function a(r){let t=r.indexOf("-"),e=r.slice(0,t),o=r.slice(t+1);return{scheme:e,style:"transparent"===o?"transp":o}}let c={md:{gap:"gap-(--comp-btn-md-dim-gap-mobile)",padding:"px-(--comp-btn-md-dim-padding-inline-mobile) py-(--comp-btn-md-dim-padding-block-mobile)",paddingIcon:"p-(--comp-btn-md-dim-padding-block-mobile)",iconSize:"h-(--comp-btn-md-dim-icon-size-mobile) w-(--comp-btn-md-dim-icon-size-mobile)",labelOffset:"translate-y-(--comp-btn-md-dim-offset-y)"},lg:{gap:"gap-(--comp-btn-lg-dim-gap-mobile)",padding:"px-(--comp-btn-lg-dim-padding-inline-mobile) py-(--comp-btn-lg-dim-padding-block-mobile)",paddingIcon:"p-(--comp-btn-lg-dim-padding-block-mobile)",iconSize:"h-(--comp-btn-lg-dim-icon-size-mobile) w-(--comp-btn-lg-dim-icon-size-mobile)",labelOffset:"translate-y-(--comp-btn-lg-dim-offset-y)"},xl:{gap:"gap-(--comp-btn-xl-dim-gap-mobile)",padding:"px-(--comp-btn-xl-dim-padding-inline-mobile) py-(--comp-btn-xl-dim-padding-block-mobile)",paddingIcon:"p-(--comp-btn-xl-dim-padding-block-mobile)",iconSize:"h-(--comp-btn-xl-dim-icon-size-mobile) w-(--comp-btn-xl-dim-icon-size-mobile)",labelOffset:"translate-y-(--comp-btn-xl-dim-offset-y)"}},d={primary:{md:"font-(family-name:--comp-btn-primary-md-type-family-mobile) font-(--comp-btn-primary-md-type-weight-mobile) text-(length:--comp-btn-primary-md-type-size-mobile) leading-(--comp-btn-primary-md-type-line-height-mobile) tracking-(--comp-btn-primary-md-type-letter-spacing-mobile) [text-transform:var(--comp-btn-primary-md-type-txt-case-mobile)]",lg:"font-(family-name:--comp-btn-primary-lg-type-family-mobile) font-(--comp-btn-primary-lg-type-weight-mobile) text-(length:--comp-btn-primary-lg-type-size-mobile) leading-(--comp-btn-primary-lg-type-line-height-mobile) tracking-(--comp-btn-primary-lg-type-letter-spacing-mobile) [text-transform:var(--comp-btn-primary-lg-type-txt-case-mobile)]",xl:"font-(family-name:--comp-btn-primary-xl-type-family-mobile) font-(--comp-btn-primary-xl-type-weight-mobile) text-(length:--comp-btn-primary-xl-type-size-mobile) leading-(--comp-btn-primary-xl-type-line-height-mobile) tracking-(--comp-btn-primary-xl-type-letter-spacing-mobile) [text-transform:var(--comp-btn-primary-xl-type-txt-case-mobile)]"},secondary:{md:"font-(family-name:--comp-btn-secondary-md-type-family-mobile) font-(--comp-btn-secondary-md-type-weight-mobile) text-(length:--comp-btn-secondary-md-type-size-mobile) leading-(--comp-btn-secondary-md-type-line-height-mobile) tracking-(--comp-btn-secondary-md-type-letter-spacing-mobile) [text-transform:var(--comp-btn-secondary-md-type-txt-case-mobile)]",lg:"font-(family-name:--comp-btn-secondary-lg-type-family-mobile) font-(--comp-btn-secondary-lg-type-weight-mobile) text-(length:--comp-btn-secondary-lg-type-size-mobile) leading-(--comp-btn-secondary-lg-type-line-height-mobile) tracking-(--comp-btn-secondary-lg-type-letter-spacing-mobile) [text-transform:var(--comp-btn-secondary-lg-type-txt-case-mobile)]",xl:"font-(family-name:--comp-btn-secondary-xl-type-family-mobile) font-(--comp-btn-secondary-xl-type-weight-mobile) text-(length:--comp-btn-secondary-xl-type-size-mobile) leading-(--comp-btn-secondary-xl-type-line-height-mobile) tracking-(--comp-btn-secondary-xl-type-letter-spacing-mobile) [text-transform:var(--comp-btn-secondary-xl-type-txt-case-mobile)]"},neutral:{md:"font-(family-name:--comp-btn-neutral-md-type-family-mobile) font-(--comp-btn-neutral-md-type-weight-mobile) text-(length:--comp-btn-neutral-md-type-size-mobile) leading-(--comp-btn-neutral-md-type-line-height-mobile) tracking-(--comp-btn-neutral-md-type-letter-spacing-mobile) [text-transform:var(--comp-btn-neutral-md-type-txt-case-mobile)]",lg:"font-(family-name:--comp-btn-neutral-lg-type-family-mobile) font-(--comp-btn-neutral-lg-type-weight-mobile) text-(length:--comp-btn-neutral-lg-type-size-mobile) leading-(--comp-btn-neutral-lg-type-line-height-mobile) tracking-(--comp-btn-neutral-lg-type-letter-spacing-mobile) [text-transform:var(--comp-btn-neutral-lg-type-txt-case-mobile)]",xl:"font-(family-name:--comp-btn-neutral-xl-type-family-mobile) font-(--comp-btn-neutral-xl-type-weight-mobile) text-(length:--comp-btn-neutral-xl-type-size-mobile) leading-(--comp-btn-neutral-xl-type-line-height-mobile) tracking-(--comp-btn-neutral-xl-type-letter-spacing-mobile) [text-transform:var(--comp-btn-neutral-xl-type-txt-case-mobile)]"}},p={"primary-solid":["bg-(--comp-btn-primary-color-bg-solid)","text-(--comp-btn-primary-color-txt-solid)","border-(--comp-btn-primary-color-border-solid)"],"primary-outlined":["bg-(--comp-btn-primary-color-bg-outlined)","text-(--comp-btn-primary-color-txt-outlined)","border-(--comp-btn-primary-color-border-outlined)"],"primary-transparent":["bg-(--comp-btn-primary-color-bg-transp)","text-(--comp-btn-primary-color-txt-transp)","border-(--comp-btn-primary-color-border-transp)"],"secondary-solid":["bg-(--comp-btn-secondary-color-bg-solid)","text-(--comp-btn-secondary-color-txt-solid)","border-(--comp-btn-secondary-color-border-solid)"],"neutral-
1outlined":["bg-(--comp-btn-neutral-color-bg-outlined)","text-(--comp-btn-neutral-color-txt-outlined)","border-(--comp-btn-neutral-color-border-outlined)"],"neutral-transparent":["bg-(--comp-btn-neutral-color-bg-transp)","text-(--comp-btn-neutral-color-txt-transp)","border-(--comp-btn-neutral-color-border-transp)"]},s={"primary-solid":["hover:bg-(--comp-btn-primary-color-bg-solid-hover)","active:bg-(--comp-btn-primary-color-bg-solid-active)","hover:text-(--comp-btn-primary-color-txt-solid-hover)","active:text-(--comp-btn-primary-color-txt-solid-active)","hover:border-(--comp-btn-primary-color-border-solid-hover)","active:border-(--comp-btn-primary-color-border-solid-active)"],"primary-outlined":["hover:bg-(--comp-btn-primary-color-bg-outlined-hover)","active:bg-(--comp-btn-primary-color-bg-outlined-active)","hover:text-(--comp-btn-primary-color-txt-outlined-hover)","active:text-(--comp-btn-primary-color-txt-outlined-active)","hover:border-(--comp-btn-primary-color-border-outlined-hover)","active:border-(--comp-btn-primary-color-border-outlined-active)"],"primary-transparent":["hover:bg-(--comp-btn-primary-color-bg-transp-hover)","active:bg-(--comp-btn-primary-color-bg-transp-active)","hover:text-(--comp-btn-primary-color-txt-transp-hover)","active:text-(--comp-btn-primary-color-txt-transp-active)","hover:border-(--comp-btn-primary-color-border-transp-hover)","active:border-(--comp-btn-primary-color-border-transp-active)"],"secondary-solid":["hover:bg-(--comp-btn-secondary-color-bg-solid-hover)","active:bg-(--comp-btn-secondary-color-bg-solid-active)","hover:text-(--comp-btn-secondary-color-txt-solid-hover)","active:text-(--comp-btn-secondary-color-txt-solid-active)","hover:border-(--comp-btn-secondary-color-border-solid-hover)","active:border-(--comp-btn-secondary-color-border-solid-active)"],"neutral-outlined":["hover:bg-(--comp-btn-neutral-color-bg-outlined-hover)","active:bg-(--comp-btn-neutral-color-bg-outlined-active)","hover:text-(--comp-btn-neutral-color-txt-outlined-hover)","active:text-(--comp-btn-neutral-color-txt-outlined-active)","hover:border-(--comp-btn-neutral-color-border-outlined-hover)","active:border-(--comp-btn-neutral-color-border-outlined-active)"],"neutral-transparent":["hover:bg-(--comp-btn-neutral-color-bg-transp-hover)","active:bg-(--comp-btn-neutral-color-bg-transp-active)","hover:text-(--comp-btn-neutral-color-txt-transp-hover)","active:text-(--comp-btn-neutral-color-txt-transp-active)","hover:border-(--comp-btn-neutral-color-border-transp-hover)","active:border-(--comp-btn-neutral-color-border-transp-active)"]},m={"primary-solid":["disabled:bg-(--comp-btn-primary-color-bg-solid)","disabled:text-(--comp-btn-primary-color-txt-solid)","disabled:border-(--comp-btn-primary-color-border-solid)"],"primary-outlined":["disabled:bg-(--comp-btn-primary-color-bg-outlined)","disabled:text-(--comp-btn-primary-color-txt-outlined)","disabled:border-(--comp-btn-primary-color-border-outlined)"],"primary-transparent":["disabled:bg-(--comp-btn-primary-color-bg-transp)","disabled:text-(--comp-btn-primary-color-txt-transp)","disabled:border-(--comp-btn-primary-color-border-transp)"],"secondary-solid":["disabled:bg-(--comp-btn-secondary-color-bg-solid)","disabled:text-(--comp-btn-secondary-color-txt-solid)","disabled:border-(--comp-btn-secondary-color-border-solid)"],"neutral-outlined":["disabled:bg-(--comp-btn-neutral-color-bg-outlined)","disabled:text-(--comp-btn-neutral-color-txt-outlined)","disabled:border-(--comp-btn-neutral-color-border-outlined)"],"neutral-transparent":["disabled:bg-(--comp-btn-neutral-color-bg-transp)","disabled:text-(--comp-btn-neutral-color-txt-transp)","disabled:border-(--comp-btn-neutral-color-border-transp)"]},b={"primary-solid":["bg-(--comp-btn-primary-inverse-color-bg-solid)","text-(--comp-btn-primary-inverse-color-txt-solid)","border-(--comp-btn-primary-inverse-color-border-solid)"],"primary-outlined":["bg-(--comp-btn-primary-inverse-color-bg-outlined)","text-(--comp-btn-primary-inverse-color-txt-outlined)","border-(--comp-btn-primary-inverse-color-border-outlined)"],"primary-transparent":["bg-(--comp-btn-primary-inverse-color-bg-transp)","text-(--comp-btn-primary-inverse-color-txt-transp)","border-(--comp-btn-primary-inverse-color-border-transp)"],"neutral-
1outlined":["bg-(--comp-btn-neutral-inverse-color-bg-outlined)","text-(--comp-btn-neutral-inverse-color-txt-outlined)","border-(--comp-btn-neutral-inverse-color-border-outlined)"],"neutral-transparent":["bg-(--comp-btn-neutral-inverse-color-bg-transp)","text-(--comp-btn-neutral-inverse-color-txt-transp)","border-(--comp-btn-neutral-inverse-color-border-transp)"]},u={"primary-solid":["hover:bg-(--comp-btn-primary-inverse-color-bg-solid-hover)","active:bg-(--comp-btn-primary-inverse-color-bg-solid-active)","hover:text-(--comp-btn-primary-inverse-color-txt-solid-hover)","active:text-(--comp-btn-primary-inverse-color-txt-solid-active)","hover:border-(--comp-btn-primary-inverse-color-border-solid-hover)","active:border-(--comp-btn-primary-inverse-color-border-solid-active)"],"primary-outlined":["hover:bg-(--comp-btn-primary-inverse-color-bg-outlined-hover)","active:bg-(--comp-btn-primary-inverse-color-bg-outlined-active)","hover:text-(--comp-btn-primary-inverse-color-txt-outlined-hover)","active:text-(--comp-btn-primary-inverse-color-txt-outlined-active)","hover:border-(--comp-btn-primary-inverse-color-border-outlined-hover)","active:border-(--comp-btn-primary-inverse-color-border-outlined-active)"],"primary-transparent":["hover:bg-(--comp-btn-primary-inverse-color-bg-transp-hover)","active:bg-(--comp-btn-primary-inverse-color-bg-transp-active)","hover:text-(--comp-btn-primary-inverse-color-txt-transp-hover)","active:text-(--comp-btn-primary-inverse-color-txt-transp-active)","hover:border-(--comp-btn-primary-inverse-color-border-transp-hover)","active:border-(--comp-btn-primary-inverse-color-border-transp-active)"],"neutral-outlined":["hover:bg-(--comp-btn-neutral-inverse-color-bg-outlined-hover)","active:bg-(--comp-btn-neutral-inverse-color-bg-outlined-active)","hover:text-(--comp-btn-neutral-inverse-color-txt-outlined-hover)","active:text-(--comp-btn-neutral-inverse-color-txt-outlined-active)","hover:border-(--comp-btn-neutral-inverse-color-border-outlined-hover)","active:border-(--comp-btn-neutral-inverse-color-border-outlined-active)"],"neutral-transparent":["hover:bg-(--comp-btn-neutral-inverse-color-bg-transp-hover)","active:bg-(--comp-btn-neutral-inverse-color-bg-transp-active)","hover:text-(--comp-btn-neutral-inverse-color-txt-transp-hover)","active:text-(--comp-btn-neutral-inverse-color-txt-transp-active)","hover:border-(--comp-btn-neutral-inverse-color-border-transp-hover)","active:border-(--comp-btn-neutral-inverse-color-border-transp-active)"]},g={"primary-solid":["disabled:bg-(--comp-btn-primary-inverse-color-bg-solid)","disabled:text-(--comp-btn-primary-inverse-color-txt-solid)","disabled:border-(--comp-btn-primary-inverse-color-border-solid)"],"primary-outlined":["disabled:bg-(--comp-btn-primary-inverse-color-bg-outlined)","disabled:text-(--comp-btn-primary-inverse-color-txt-outlined)","disabled:border-(--comp-btn-primary-inverse-color-border-outlined)"],"primary-transparent":["disabled:bg-(--comp-btn-primary-inverse-color-bg-transp)","disabled:text-(--comp-btn-primary-inverse-color-txt-transp)","disabled:border-(--comp-btn-primary-inverse-color-border-transp)"],"neutral-outlined":["disabled:bg-(--comp-btn-neutral-inverse-color-bg-outlined)","disabled:text-(--comp-btn-neutral-inverse-color-txt-outlined)","disabled:border-(--comp-btn-neutral-inverse-color-border-outlined)"],"neutral-transparent":["disabled:bg-(--comp-btn-neutral-inverse-color-bg-transp)","disabled:text-(--comp-btn-neutral-inverse-color-txt-transp)","disabled:border-(--comp-btn-neutral-inverse-color-border-transp)"]};function y(r){return"string"==typeof r&&Object.prototype.hasOwnProperty.call(p,r)?r:"primary-solid"}var v=e(94711);let f=["size","radius","variant","isDisabled","elementStart","children","elementEnd","isIconOnly","isFullWidth","isInverse","height","colorOverrides","as","href"];function h(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),e.push.apply(e,o)}return e}function x(r){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};
1t%2?h(Object(e),!0).forEach(function(t){(0,o.A)(r,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):h(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))})}return r}function _(r){r.stopPropagation()}function O(r){let{size:t="md",radius:e="default",variant:o,isDisabled:h=!1,elementStart:O,children:w,elementEnd:P,isIconOnly:$=!1,isFullWidth:S=!1,isInverse:C=!1,height:E="auto",colorOverrides:k,as:I="button",href:A}=r,j=(0,n.A)(r,f),D=y(o),U=function(r,t,e,o,n,i,v,f){var h;let x,_,O=y(e),w=r||"default",{scheme:P}=a(O),$=!!f&&!!Object.prototype.hasOwnProperty.call(b,O);return(0,l.$)("hds-do-not-use inline-flex items-center justify-center not-italic border-solid border-(length:--comp-btn-dim-border-width) no-underline duration-300 ease-out transition-colors",v?"cursor-not-allowed opacity-(--_opacity-32)":"cursor-pointer","disabled:cursor-not-allowed disabled:opacity-(--_opacity-32)",n&&"w-full","constrained"===(i||"auto")&&"!py-0 max-h-full h-full","default"===w&&"rounded-(--comp-btn-dim-radius-default)","square"===w&&"rounded-(--comp-btn-dim-radius-square)","rounded"===w&&"rounded-(--comp-btn-dim-radius-round)","md"===w&&"rounded-(--comp-btn-dim-radius-sm)",(x=c[h=t||"md"]??c.md,_=d[P]?.[h]??d.primary[h]??d.primary.md,(0,l.$)(x.gap,_,o?x.paddingIcon:x.padding)),$?b[O]:p[O],!v&&($?u[O]:s[O]),!v&&($?g[O]:m[O]))}(e,t,D,$,S,E,h,C),N=(c[t??"md"]??c.md).iconSize,T=(c[t??"md"]??c.md).labelOffset,z=function(r,t){if(!t)return{};let{scheme:e,style:o}=a(r),n=`--comp-btn-${e}-color`,i={},l=(r,t,e)=>{t&&t!==r&&(t.startsWith("--comp-btn-")||t.startsWith("--comp-nav-navbar-")||t.startsWith("--comp-nav-utility-"))&&(i[r]=`var(${t})`)};return l(`${n}-bg-${o}`,t.backgroundColor,"backgroundColor"),l(`${n}-bg-${o}-hover`,t.backgroundColorHover,"backgroundColorHover"),l(`${n}-bg-${o}-active`,t.backgroundColorActive,"backgroundColorActive"),l(`${n}-txt-${o}`,t.textColor,"textColor"),l(`${n}-txt-${o}-hover`,t.textColorHover,"textColorHover"),l(`${n}-txt-${o}-active`,t.textColorActive,"textColorActive"),l(`${n}-border-${o}`,t.borderColor,"borderColor"),l(`${n}-border-${o}-hover`,t.borderColorHover,"borderColorHover"),l(`${n}-border-${o}-active`,t.borderColorActive,"borderColorActive"),i}(D,k),W=x(x({},j.style),z),B="a"===I?"a":"button",J="a"===B?x({href:h?void 0:A,"aria-disabled":h||void 0},h&&{role:"link",tabIndex:-1,onClick:_}):{disabled:h};return(0,i.createElement)(B,x(x(x({},j),J),{},{className:U,style:W}),[O?(0,v.j)(O,N,"elementStart"):null,!$&&w?(0,i.createElement)("span",{key:"label",className:T},w):null,P?(0,v.j)(P,N,"elementEnd"):null])}O.displayName="Button"},24918:(r,t,e)=>{e.d(t,{A:()=>a});var o=e(1873),n=e(61546),i=e(64781),l=e(9954);let a=function(r){return(0,l.Y)(i.default,(0,o.A)({type:n.PV.Stylized,relativeUrl:"/static/icons/heart-regular.svg",alt:"Heart Icon"},r))}},43029:(r,t,e)=>{e.d(t,{u:()=>n});var o=e(20608);let n=(0,o.J1)` 2 query config( 3 $resourceId: String! 4 $resource_type: String 5 $slugs: String 6 $debug: String 7 $config_type: String 8 ) { 9 config( 10 resource_id: $resourceId 11 slugs: $slugs 12 debug: $debug 13 resource_type: $resource_type 14 consumer: "fre" 15 config_type: $config_type 16 ) 17 } 18`},50804:(r,t,e)=>{e.d(t,{FL:()=>k,GV:()=>$,PP:()=>N,Wf:()=>A,h7:()=>j,hJ:()=>I,hN:()=>D,ho:()=>E,sn:()=>C,xm:()=>U});var o=e(53520),n=e(93682),i=e(71055),l=e(53225),a=e(800),c=e(53647),d=e(78860),p=e(22730),s=e(86385),m=e(7144),b=e(83222),u=e(174),g=e(82981),y=e(87301);let v=["productId","primaryUx"];function f(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),e.push.apply(e,o)}return e}function h(r){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?f(Object(e),!0).forEach(function(t){(0,n.A)(r,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):f(Object(e)).forEac
18h(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))})}return r}let x={},_=new WeakSet;function O(r){return Object.fromEntries(Object.entries(r).filter(([,r])=>null!=r&&""!==r))}function w(r){return null==r||""===r?"":String(r)}function P(r,t={},{enabled:e=!0}={}){e&&r&&(window.Nitrous=window.Nitrous||[],window.Nitrous.push(()=>{window.Nitrous.logEvent({event_name:r,custom_attributes:O(t)})}))}function $(){let r=(0,a.BV)("data.content.0.id"),t=(0,a.BV)("layoutContextProps.siteData.metadata.domain",""),e=function({isMobile:r}={}){return!r}({isMobile:(0,p.Ay)("<sm")}),o=(0,i.useCallback)(e=>(function({articleId:r,site:t,selectedProductCount:e}={}){return O({article_id:w(r),site:w(t),selected_product_count:e})})({articleId:r,site:t,selectedProductCount:e}),[r,t]),n=(0,i.useCallback)(({source:r})=>{P(y.EC.OPENED,h({source:r},o()),{enabled:e})},[e,o]),l=(0,i.useCallback)(({action:r,productId:t,selectedProductCount:n})=>{P(y.EC.SELECTION_UPDATED,h({action:r,product_id:w(t)},o(n)),{enabled:e})},[e,o]),c=(0,i.useCallback)(({selectedProductIds:r})=>{P(y.EC.STARTED,h(h({},o(r?.length??0)),{},{selected_product_ids:r}),{enabled:e})},[e,o]),d=(0,i.useCallback)(({productId:r,section:t,selectedProductCount:n,state:i})=>{P(y.EC.SECTION_TOGGLED,h(h({},o(n)),{},{section:t,state:i,product_id:w(r)}),{enabled:e})},[e,o]),s=(0,i.useCallback)(({selectedProductCount:r})=>{P(y.EC.ADD_SLOT_CLICKED,h({},o(r)),{enabled:e})},[e,o]);return{trackOpened:n,trackSelectionUpdated:l,trackStarted:c,trackSectionToggled:d,trackAddSlotClicked:s,trackBuyingOptionsOpened:(0,i.useCallback)(({productId:r,selectedProductCount:t})=>{P(y.EC.BUYING_OPTIONS_OPENED,h({product_id:w(r)},o(t)),{enabled:e})},[e,o]),trackClosed:(0,i.useCallback)(({selectedProductCount:r,comparisonStarted:t})=>{P(y.EC.CLOSED,h(h({},o(r)),{},{comparison_started:!!t}),{enabled:e})},[e,o])}}function S(r){return h(h({},r),{},{badge:h({},r.badge),image:h({},r.image),product:h({},r),retailer:h({},r.retailer),retailers:r.retailers?.map(r=>h({},r)),product_metadata:h(h({},r.product_metadata),{},{feature_specs:r.product_metadata?.feature_specs.map(r=>h({},r))}),statements:Object.entries(r.statements||[]).map(([r,t])=>({[r]:h({},t)})).reduce((r,t)=>h(h({},r),t),{}),offers:r?.offers?.filter(r=>r.is_active).map(r=>h({},r))})}function C(){return Object.values((0,a.BV)("products")??{}).map(S)}function E(){let r=(0,p.Ay)("<sm"),t=(0,s.A)(y.d2),e=(0,s.A)(y.dR),o=r?e:t,n=(0,l._P)(g.QB),i=(0,a.BV)(g.dl),m=(0,a.BV)("products")??x;return(e&&e!==y.Zu||n&&(0,d.z)(i))&&function(r){if(r&&"object"==typeof r&&!_.has(r))for(let t of(_.add(r),(0,c.iv)(r),Object.values(r)))S(t)}(m),{variation:o,isControl:o===y.Zu,isDisplayGrid:o===y.OD||o===y.f2,isDisplayGridTopPicks:o===y.f2,isMobile:r}}function k(){let[,r]=(0,m.A)(y.Av),[,t]=(0,m.A)(y.pt),[,e]=(0,m.A)(y.Wk),[,o]=(0,m.A)(y.$G),[,n]=(0,m.A)(y.gj),[,i]=(0,m.A)(y.K5),[,l]=(0,m.A)(y.DY),[,a]=(0,m.A)(y.bB),[,c]=(0,m.A)(y.aF);return{trackViewableProductImpression:r,trackProdClick:t,trackProductCardCompareClick:e,trackProductGridAddProducts2:o,trackProductGridAddProducts3:n,trackProductGridReadMore:i,trackProductGridMaxminClick:l,trackProductGridQuickCompare:a,trackProductGridCompareClick:c}}function I(r,t={}){(0,u.A)({eventName:r,eventParameters:t})}function A(r={}){let{productId:t,primaryUx:e=y.Hw}=r,n=(0,o.A)(r,v);return h(h({primaryUx:e},t?{rovProdId:t}:{}),n)}function j({articleId:r,isOpen:t,products:e,onTrackViewableProductImpression:o}){(0,i.useEffect)(()=>{if(!t||!r||!e?.length)return;let n=function(){try{let r=window.sessionStorage.getItem(y.Zb);return new Set(r?JSON.parse(r):[])}catch{return new Set}}(),i=!1;e.forEach((t,e)=>{let l=t?.id;if(!l)return;let a=`${r}:${l}`;n.has(a)||(I(y.Av,A({productId:l,pos:e+1})),o?.(),n.add(a),i=!0)}),i&&function(r){try{window.sessionStorage.setItem(y.Zb,JSON.stringify([...r]))}catch{}}(n)},[r,t,o,e])}function D(r){let[,t]=(0,m.A)(y.$G),[,e]=(0,m.A)(y.gj),o=(0,i.useRef)(r);(0,i.useEffect)(()=>{let n=o.current;o.current=r,r>n&&(n<2&&r>=2&&t(),n<3&&r>=3&&e())},[r,t,e])}function U(){let[,r]=(0,m.A)(y.Av),{inView:t,observer:e,ref:o}=(0,b.A)({rootMargin:"0px 0px",threshold:.5}),{0:n,1:l}=(0,i.useState)(null);return(0,i.useEffect)(()=>{t?null===n&&l(setTimeout(()=>{l(null),r(),e.current.unobserve(o.current),e.current.reset()},1e3)):null!==n&&(clearTimeout(n),l(null))},[t]),o}function N(){let[r,t]=(0,m.A)(y.ap),e=(0,i.useRef)(!1);(0,i.useEffect)(()=>{r&&!e.current&&(t(),e.current=!0)},[r,t])}},59652:(r,t,e)=>{e.d(t,{$x:()=>f,JA:()=>m,JY:()=>y,PC:()=>b,Xh:()=>x,dR:()=>p,f8:()=>u,j9:()=>_,qE:()=>v,qI:()=>g,u9:()=>s,vI:()=>h});var o=e(93682),n=e(56317),i=e(84239),l=e(81840);function a(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);
18t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),e.push.apply(e,o)}return e}function c(r){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?a(Object(e),!0).forEach(function(t){(0,o.A)(r,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):a(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))})}return r}let d=new Map;function p(r){return String(r||"").trim()}function s(r,t){return t?(r||[]).filter(r=>p(r.articleUrl)===t):[]}function m(r,t){let e=`${r}`,o=d.get(e);return o||(o=(0,l.EU)(r,t).finally(()=>{d.delete(e)}),d.set(e,o)),o}let b=(0,n.eU)({status:"idle",items:[],error:null}),u=(0,n.eU)(0);function g(r){r({status:"idle",items:[],error:null})}function y(r,t){let e=null!=t.productId?String(t.productId):"",o=p(t.articleUrl);r(r=>{let n=[...r.items||[]],i=n.findIndex(r=>String(r.productId)===e&&p(r.articleUrl)===o);return i>=0?n[i]=c(c({},n[i]),t):n.push(t),c(c({},r),{},{status:"ready",items:n,error:null})})}function v(r,t){if(null==t||""===t)return;let e=String(t);r(r=>c(c({},r),{},{items:(r.items||[]).filter(r=>String(r.id)!==e)}))}function f(r,t,e){if(null==t||""===t)return;let o=String(t),n=p(e);r(r=>c(c({},r),{},{items:(r.items||[]).filter(r=>String(r.productId)!==o||p(r.articleUrl)!==n)}))}let h=(0,i.tG)("tooltipsProductsWishlist",{}),x=(0,n.eU)(null),_=(0,n.eU)({visible:!1,product:{}})},80587:(r,t,e)=>{e.d(t,{A:()=>a});var o=e(1873),n=e(61546),i=e(64781),l=e(9954);let a=function(r){return(0,l.Y)(i.default,(0,o.A)({type:n.PV.Stylized,relativeUrl:"/static/icons/heart-fill.svg",alt:"Heart Icon"},r))}},81840:(r,t,e)=>{e.d(t,{nP:()=>h,EU:()=>f,oM:()=>x,Lr:()=>y,X9:()=>v,RD:()=>g,T3:()=>u});var o=e(20608);(0,o.J1)` 19 query WishlistContentProducts($ids: [UUID]!, $useAlto: Boolean = false) { 20 content_products(IDs: $ids) { 21 id 22 call_to_action 23 custom_brand 24 custom_currency 25 custom_name 26 custom_price 27 custom_retailer 28 show_price 29 product_metadata: metadata 30 image { 31 aws_url 32 } 33 retailer { 34 affiliate 35 affiliate_url 36 display_name 37 full_url 38 id 39 is_active 40 listprice 41 listprice_currency 42 price 43 price_currency 44 retailer_name 45 sem3_id 46 url 47 metadata 48 is_custom 49 } 50 product { 51 name 52 brand 53 retailers { 54 affiliate 55 affiliate_url 56 display_name 57 full_url 58 id 59 is_active 60 listprice 61 listprice_currency 62 price 63 price_currency 64 retailer_name 65 sem3_id 66 url 67 metadata 68 is_custom 69 } 70 } 71 swapped_retailer { 72 affiliate 73 affiliate_url 74 display_name 75 full_url 76 id 77 is_active 78 listprice 79 listprice_currency 80 price 81 price_currency 82 retailer_name 83 sem3_id 84 url 85 metadata 86 is_custom 87 } 88 offers @include(if: $useAlto) { 89 affiliate 90 affiliate_url 91 display_name 92 full_url 93 id 94 is_active 95 listprice 96 listprice_currency 97 price 98 price_currency 99 retailer_name 100 sem3_id 101 url 102 metadata 103 is_custom 104 } 105 } 106 } 107`;let n=` 108 mutation addProductToWishlist( 109 $productId: String! 110 $productName: String! 111 $productImageUrl: String 112 $productUrl: String 113 $articleUrl: String! 114 $articleTitle: String! 115 $contentProductId: String! 116 ) { 117 addProductToWishlist( 118 productId: $productId 119 productName: $productName 120 productImageUrl: $productImageUrl 121 productUrl: $productUrl 122 articleUrl: $articleUrl 123 articleTitle: $articleTitle 124 contentProductId: $contentProductId 125 ) { 126 id 127 productId 128 created 129 } 130 } 131`,i=` 132 mutation removeProductFromWishlist($id: ID!) { 133 deleteProductFromWishlist(id: $id) 134 } 135`,l=` 136 query getProductWishlist($filters: JSON, $order: Order, $page: Int, $size: Int, $sortBy: String) { 137 productWishlistPage(filters: $filters, order: $order, page: $page, size: $size, sortBy: $sortBy) { 138 data { 139 articleTitle 140 articleUrl 141 clientId 142 contentProductId 143 created 144 id 145 productId 146 productImageUrl 147 productName 148 productUrl 149 updated 150 userId 151 } 152 total 153 totalCount 154 } 155 } 156`;var a=e(62110),c=e(81718),d=e(47382),p=e(82511),s=e(4093);let m=new d.default("Product Wishlist Utils"),b=async(r,t,e,o,n)=>{try{return await (0,c.z)(r,t,e,n)}catch(t){let r=t?.message||t?.toString()||"Unknown error";return m.error(`${o} ${r}`,t),{error:r}}},u=async(r,t,e)=>{let{productId:o,productName:i,productImageUrl:l,productUrl:a,articleUrl:c,articleTitle:d,contentProductId:s}=e,u={productId:o,productName:i,productImageUrl:l,productUrl:function(r){if(null==r)return null;let t=String(r);return t.length<=255?t:t.slice(0,255)}(a),articleUrl:c,articleTitle:d,contentProductId:s??null},g="Error saving product to wishlist:",y=await b(r,t,n,g,u),v=(0,p.J)(y,"data.addProductToWishlist.id",null);if(!v){let r=(0,p.J)(y,"error",null);m.error(`${g} mutation returned no id`,{productId:o,articleUrl:c,error:r})}return v},g=async(r,t,e)=>{let o=await b(r,t,i,"Error removing product from wishlist:",{id:e});return!(0,p.J)(o,"error",!1)},y=async(r,t,e=1,o=40,n=null)=>{let i=await b(r,t,l,"Error fetching product wishlist:",{page:e,size:o,order:"ASC",sortBy:null,filters:n});return{data:(0,p.J)(i,"data.productWishlistPage.data",[]),total:(0,p.J)(i,"data.productWishlistPage.total",0),totalCount:(0,p.J)(i,"data.productWishlistPage.totalCount",null),error:(0,p.J)(i,"error",null)}},v=async(r,t,e=1,o=40,n=null)=>{let i=await b(r,t,l,"Error fetching most recent product wishlist:",{page:e,size:o,order:"DESC",sortBy:"created",filters:n});return{data:(0,p.J)(i,"data.productWishlistPage.data",[]),total:(0,p.J)(i,"data.productWishlistPage.total",0),totalCount:(0,p.J)(i,"data.productWishlistPage.totalCount",null),error:(0,p.J)(i,"error",null)}},f=async(r,t,e=a.re)=>{let o=[],n=null;for(let i=1;i<=500;i++){let l=await y(r,t,i,e,null);if(l.error)return{data:o,error:l.error};if(1===i){let{totalCount:r,total:t}=l;n="number"==typeof r&&r>0?r:"number"==typeof t&&t>0?t:null}o.push(...l.data);let a=l.data.length;if(0===a||a<e||null!=n&&o.length>=n)break;if(500===i){m.warn("getAllProductWishlist: stopped at page cap",{page:500});break}}return{data:o,error:null}},h=async r=>{if(!r?.length)return{};try{let t=new URLSearchParams({ids:r.join(",")}),e=await fetch(`/api/content-products?${t}`);if(!e.ok)return{};return await e.json()}catch(r){return m.error("Error fetching content products for wishlist:",r),{}}};function x(r,t=!1){return{name:(r?(0,s.rj)(r,t):"")||r?.product?.name||r?.custom_name||r?.name||"",imageUrl:r?.image?.aws_url||""}}},87301:(r,t,e)=>{e.d(t,{$5:()=>J,$7:()=>L,$G:()=>w,$h:()=>W,Av:()=>x,DY:()=>S,EC:()=>N,Gf:()=>n,Hw:()=>k,I1:()=>m,K5:()=>$,L5:()=>T,Mp:()=>D,OD:()=>v,QQ:()=>I,Rz:()=>l,So:()=>A,Uc:()=>U,V2:()=>b,W$:()=>B,Wk:()=>O,Xf:()=>R,Zb:()=>j,Zu:()=>y,Zx:()=>o,aF:()=>E,ap:()=>h,bB:()=>C,d2:()=>u,dQ:()=>G,dR:()=>g,e4:()=>d,f2:()=>f,gj:()=>P,j4:()=>a,pt:()=>_,qD:()=>c,r4:()=>z,rJ:()=>i,rf:()=>s,uK:()=>V,zm:()=>p});let o=5,n=3,i=4,l=3,a=40,c=111,d=160,p=173,s=100,m=250,b=3,u="product_comparison_grid_desktop",g="product_comparison_grid_mobile",y="control",v="display_pc_grid",f="display_pc_grid_top_picks",h="page_view",x="viewable_product_impression",_="ProdClick",O="product_card_compare_click",w="product_grid_add_products_2",P="product_grid_add_products_3",$="product_grid_read_more",S="product_grid_maxmin_click",C="product_grid_quick_compare",E="product_grid_compare_click",k="product_comparison",I="product_card",A="comparison_grid",j="product-comparison-grid-viewable-impressions",D="action_bar",U="product_card",N={OPENED:"Product Comparison Opened",SELECTION_UPDATED:"Product Comparison Selection Updated",STARTED:"Product Comparison Started",SECTION_TOGGLED:"Product Comparison Section Toggled",ADD_SLOT_CLICKED:"Product Comparison Add Slot Clicked",BUYING_OPTIONS_OPENED:"Product Comparison Buying Options Opened",CLOSED:"Product Comparison Closed"},T={EDITORS_REVIEW:"editors_review",PROS_CONS:"pros_cons",KEY_SPECS:"key_specs",LAB_TEST:"lab_test"},z={EXPANDED:"expanded",COLLAPSED:"collapsed"},W="comparison_grid_entry_click",B="comparison_grid_add_click",J="comparison_grid_remove_click",L="comparison_grid_read_more_click",G="comparison_grid_toggle_click",R="comparison_grid_exit_click",V="comparison_grid_buying_options_click"},92944:(r,t,e)=>{e.d(t,{$:()=>o});function o(){for(var r,t,e=0,o="",n=arguments.length;e<n;e++)(r=arguments[e])&&(t=function r(t){var e,o,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var i=t.length;for(e=0;e<i;e++)t[e]&&(o=r(t[e]))&&(n&&(n+=" "),n+=o)}else for(o in t)t[o]&&(n&&(n+=" "),n+=o);return n}(r))&&(o&&(o+=" "),o+=t);return o}},94711:(r,t,e)=>{e.d(t,{j:()=>n});var o=e(71055);let n=(r,t,e)=>o.default.createElement("span",{key:e,className:t,"aria-hidden":!0},r)}}]);
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.