PageSourceSearch

https://www.jan-magazine.nl/_assets/fre/scopes/hdm/_next/static/chunks/59338.cf5b364c07fd1736.js

js jan-magazine.nl collected 2026-10-03 19:46:18 UTC 31,247 bytes, 156 lines download raw bytes

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.