PageSourceSearch

https://www.tomsguide.com/shop-assets/_next/static/chunks/dda2f36c8c39a68b.js

js tomsguide.com collected 2026-10-01 08:33:34 UTC 117,607 bytes, 14 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,66027,e=>{"use strict";let t;var r=e.i(75555),a=e.i(40143),s=e.i(86491),l=e.i(15823),i=e.i(93803),n=e.i(19273),o=e.i(80166),c=class extends l.Subscribable{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#r=(0,i.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#e;#a=void 0;#s=void 0;#l=void 0;#i;#n;#r;#t;#o;#c;#d;#u;#m;#h;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#a.addObserver(this),d(this.#a,this.options)?this.#f():this.updateResult(),this.#x())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return u(this.#a,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return u(this.#a,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#g(),this.#a.removeObserver(this)}setOptions(e){let t=this.options,r=this.#a;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,n.resolveEnabled)(this.options.enabled,this.#a))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#v(),this.#a.setOptions(this.options),t._defaulted&&!(0,n.shallowEqualObjects)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#a,observer:this});let a=this.hasListeners();a&&m(this.#a,r,this.options,t)&&this.#f(),this.updateResult(),a&&(this.#a!==r||(0,n.resolveEnabled)(this.options.enabled,this.#a)!==(0,n.resolveEnabled)(t.enabled,this.#a)||(0,n.resolveStaleTime)(this.options.staleTime,this.#a)!==(0,n.resolveStaleTime)(t.staleTime,this.#a))&&this.#y();let s=this.#w();a&&(this.#a!==r||(0,n.resolveEnabled)(this.options.enabled,this.#a)!==(0,n.resolveEnabled)(t.enabled,this.#a)||s!==this.#h)&&this.#j(s)}getOptimisticResult(e){var t,r;let a=this.#e.getQueryCache().build(this.#e,e),s=this.createResult(a,e);return t=this,r=s,(0,n.shallowEqualObjects)(t.getCurrentResult(),r)||(this.#l=s,this.#n=this.options,this.#i=this.#a.state),s}getCurrentResult(){return this.#l}trackResult(e,t){return new Proxy(e,{get:(e,r)=>(this.trackProp(r),t?.(r),"promise"===r&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#r.status||this.#r.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,r))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#a}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),r=this.#e.getQueryCache().build(this.#e,t);return r.fetch().then(()=>this.createResult(r,t))}fetch(e){return this.#f({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#l))}#f(e){this.#v();let t=this.#a.fetch(this.options,e);return e?.throwOnError||(t=t.catch(n.noop)),t}#y(){this.#b();let e=(0,n.resolveStaleTime)(this.options.staleTime,this.#a);if(n.isServer||this.#l.isStale||!(0,n.isValidTimeout)(e))return;let t=(0,n.timeUntilStale)(this.#l.dataUpdatedAt,e);this.#u=o.timeoutManager.setTimeout(()=>{this.#l.isStale||this.updateResult()},t+1)}#w(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#a):this.options.refetchInterval)??!1}#j(e){this.#g(),this.#h=e,!n.isServer&&!1!==(0,n.resolveEnabled)(this.options.enabled,this.#a)&&(0,n.isValidTimeout)(this.#h)&&0!==this.#h&&(this.#m=o.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||r.focusManager.isFocused())&&this.#f()},this.#h))}#x(){this.#y(),this.#j(this.#w())}#b(){this.#u&&(o.timeoutManager.clearTimeout(this.#u),this.#u=void 0)}#g(){this.#m&&(o.timeoutManager.clearInterval(this.#m),this.#m=void 0)}createResult(e,t){let r,a=this.#a,l=this.options,o=this.#l,c=this.#i,u=this.#n,p=e!==a?e.state:this.#s,{state:f}=e,x={...f},b=!1;if(t._optimisticResults){let r=this.hasListeners(),i=!r&&d(e,t),n=r&&m(e,a,t,l);(i||n)&&(x={...x,...(0,s.fetchState)(f.data,e.options)}),"isRestoring"===t._optimisticResults&&(x.fetchStatus="idle")}let{error:g,errorUpdatedAt:v,status:y}=x;r=x.data;let w=!1;if(void 0!==t.placeholderData&&void 0===r&&"pending"===y){let e;o?.isPlaceholderData&&t.placeholderData===u?.placeholderData?(e=
1o.data,w=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#d?.state.data,this.#d):t.placeholderData,void 0!==e&&(y="success",r=(0,n.replaceData)(o?.data,e,t),b=!0)}if(t.select&&void 0!==r&&!w)if(o&&r===c?.data&&t.select===this.#o)r=this.#c;else try{this.#o=t.select,r=t.select(r),r=(0,n.replaceData)(o?.data,r,t),this.#c=r,this.#t=null}catch(e){this.#t=e}this.#t&&(g=this.#t,r=this.#c,v=Date.now(),y="error");let j="fetching"===x.fetchStatus,N="pending"===y,k="error"===y,S=N&&j,C=void 0!==r,I={status:y,fetchStatus:x.fetchStatus,isPending:N,isSuccess:"success"===y,isError:k,isInitialLoading:S,isLoading:S,data:r,dataUpdatedAt:x.dataUpdatedAt,error:g,errorUpdatedAt:v,failureCount:x.fetchFailureCount,failureReason:x.fetchFailureReason,errorUpdateCount:x.errorUpdateCount,isFetched:x.dataUpdateCount>0||x.errorUpdateCount>0,isFetchedAfterMount:x.dataUpdateCount>p.dataUpdateCount||x.errorUpdateCount>p.errorUpdateCount,isFetching:j,isRefetching:j&&!N,isLoadingError:k&&!C,isPaused:"paused"===x.fetchStatus,isPlaceholderData:b,isRefetchError:k&&C,isStale:h(e,t),refetch:this.refetch,promise:this.#r,isEnabled:!1!==(0,n.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==I.data,r="error"===I.status&&!t,s=e=>{r?e.reject(I.error):t&&e.resolve(I.data)},l=()=>{s(this.#r=I.promise=(0,i.pendingThenable)())},n=this.#r;switch(n.status){case"pending":e.queryHash===a.queryHash&&s(n);break;case"fulfilled":(r||I.data!==n.value)&&l();break;case"rejected":r&&I.error===n.reason||l()}}return I}updateResult(){let e=this.#l,t=this.createResult(this.#a,this.options);if(this.#i=this.#a.state,this.#n=this.options,void 0!==this.#i.data&&(this.#d=this.#a),(0,n.shallowEqualObjects)(t,e))return;this.#l=t;let r=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,r="function"==typeof t?t():t;if("all"===r||!r&&!this.#p.size)return!0;let a=new Set(r??this.#p);return this.options.throwOnError&&a.add("error"),Object.keys(this.#l).some(t=>this.#l[t]!==e[t]&&a.has(t))};this.#N({listeners:r()})}#v(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#a)return;let t=this.#a;this.#a=e,this.#s=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#x()}#N(e){a.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#l)}),this.#e.getQueryCache().notify({query:this.#a,type:"observerResultsUpdated"})})}};function d(e,t){return!1!==(0,n.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&u(e,t,t.refetchOnMount)}function u(e,t,r){if(!1!==(0,n.resolveEnabled)(t.enabled,e)&&"static"!==(0,n.resolveStaleTime)(t.staleTime,e)){let a="function"==typeof r?r(e):r;return"always"===a||!1!==a&&h(e,t)}return!1}function m(e,t,r,a){return(e!==t||!1===(0,n.resolveEnabled)(a.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&h(e,r)}function h(e,t){return!1!==(0,n.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,n.resolveStaleTime)(t.staleTime,e))}e.i(47167);var p=e.i(71645),f=e.i(12598);e.i(43476);var x=p.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),b=p.createContext(!1);b.Provider;var g=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset()});function v(e,t){return function(e,t,r){let s,l=p.useContext(b),i=p.useContext(x),o=(0,f.useQueryClient)(r),c=o.defaultQueryOptions(e);o.getDefaultOptions().queries?._experimental_beforeQuery?.(c);let d=o.getQueryCache().get(c.queryHash);if(c._optimisticResults=l?"isRestoring":"optimistic",c.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=c.staleTime;c.staleTime="function"==typeof t?(...r)=>e(t(...r)):e(t),"number"==typeof c.gcTime&&(c.gcTime=Math.max(c.gcTime,1e3))}s=d?.state.error&&"function"==typeof c.throwOnError?(0,n.shouldThrowError)(c.throwOnError,[d.state.error,d]):c.throwOnError,(c.suspense||c.experimental_prefetchInRender||s)&&!i.isReset()&&(c.retryOnMount=!1),p.useEffect(()=>{i.clearReset()},[i]);let u=!o.getQueryCache().get(c.queryHash),[m]=p.useState(()=>new t(o,c)),h=m.getOptimisticResult(c),v=!l&&!1!==e.subscribed;if(p.useSyncExternalStore(p.useCallback(e=>{let t=v?m.subscribe(a.notifyManager.batchCalls(e)):n.noop;return m.updateResult(),t},[m,v]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),p.useEffect(()=>{m.setOptions(c)},[c,m]),c?.suspense&&h.isPending)throw g(c,m,i);if((({result:e,errorResetBoundary:t,throwOnError:r,query:a,suspense:s}
1)=>e.isError&&!t.isReset()&&!e.isFetching&&a&&(s&&void 0===e.data||(0,n.shouldThrowError)(r,[e.error,a])))({result:h,errorResetBoundary:i,throwOnError:c.throwOnError,query:d,suspense:c.suspense}))throw h.error;if(o.getDefaultOptions().queries?._experimental_afterQuery?.(c,h),c.experimental_prefetchInRender&&!n.isServer&&h.isLoading&&h.isFetching&&!l){let e=u?g(c,m,i):d?.promise;e?.catch(n.noop).finally(()=>{m.updateResult()})}return c.notifyOnChangeProps?h:m.trackResult(h)}(e,c,t)}e.s(["useQuery",()=>v],66027)},17943,30644,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(17751),s=e.i(12598),l=e.i(75299),i=e.i(73988);function n(e,t){let r=e.offers[0];return{offers:e.offers,viewSimilarOffer:e.viewSimilarOffer,bestPrice:e.bestPrice,currency:(0,i.pricingRegionToCurrencySymbol)(t),merchant:r?.merchantName||"",link:r?.affiliateLink||"",modelId:e.modelId,modelInfo:e.modelInfo,canonicalSpecs:e.canonicalSpecs,marketStats:e.marketStats,model:e.model,loading:!1,fetched:!0,matchedVia:e.matchedVia}}function o({displayOffer:e,displayDealLink:t,viewSimilarOffer:r,viewSimilarDealLink:a}){return e&&t?"price":r&&a?"view-similar":"none"}function c(e,t){return{offers:e.offers,viewSimilarOffer:e.viewSimilarOffer,bestPriceUSD:"US"===t?e.bestPrice:null,bestPriceGBP:"GB"===t?e.bestPrice:null,modelInfo:e.modelInfo,canonicalSpecs:e.canonicalSpecs,marketStats:e.marketStats,modelId:e.modelId,model:e.model}}e.s(["batchProductPricingToPricingData",()=>n,"getProductPagePricingDisplayKind",()=>o,"productPricingDataToPricingResult",()=>c],30644);var d=e.i(22146);let u={offers:[],bestPrice:null,currency:"$",merchant:"",link:"",loading:!0,fetched:!1},m=(0,r.createContext)(null);function h({children:e,initialByProductName:i}){let[o]=(0,r.useState)(()=>new a.QueryClient({defaultOptions:{queries:{staleTime:3e5,gcTime:18e5,retry:2,refetchOnWindowFocus:!1}}})),{enabled:c,addApiCall:h,updateApiCall:p}=(0,l.useDebugSafe)(),f=(0,r.useRef)({enabled:c,addApiCall:h,updateApiCall:p});(0,r.useEffect)(()=>{f.current={enabled:c,addApiCall:h,updateApiCall:p}},[c,h,p]);let[x,b]=(0,r.useState)(()=>{let e=new Map;if(i)for(let[t,r]of Object.entries(i))e.set(t,r);return e}),g=(0,r.useRef)(new Set),[v,y]=(0,r.useState)(0),[w,j]=(0,r.useState)(()=>!!(i&&Object.keys(i).length>0)),[N,k]=(0,r.useState)(!1),S=(0,r.useRef)(null),C=(0,r.useCallback)(e=>x.get(e)||u,[x]),I=(0,r.useCallback)(e=>{let t=x.get(e);return t?.fetched??!1},[x]),P=(0,r.useCallback)(e=>{b(t=>{let r=new Map(t);return e.forEach((e,t)=>{r.get(t)?.fetched||r.set(t,e)}),r}),j(!0)},[]),$=(0,r.useCallback)(async(e,t,r=!1,a)=>{let s=e.map(e=>"string"==typeof e?{name:e}:e),l=s.filter(e=>{let t=x.get(e.name);return!(t?.fetched||g.current.has(e.name))});if(0===l.length){s.length>0&&s.every(e=>x.get(e.name)?.fetched)&&(j(!0),k(!1));return}k(!1),j(!1),S.current={productNames:l,region:t,useArs:r,categorySlug:a};let i=`${(0,d.getBrowserShopBasePath)()}/api/pricing/batch`,o=f.current,c=o.enabled?o.addApiCall({type:"app-api",method:"POST",endpoint:i,requestParams:{region:t,useArs:r,productCount:l.length,sampleKeys:l.slice(0,8).map(e=>e.name)},status:"pending",productName:`Batch pricing (${l.length} products)`,upstreamNote:"Server route runs parallel Hawk widget.php fetches (see response._debug for site, use_ars, area)"}):void 0;l.forEach(e=>g.current.add(e.name)),b(e=>{let t=new Map(e);return l.forEach(e=>{t.set(e.name,{...u,loading:!0})}),t});let m=Date.now();try{let e,s=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({productNames:l,region:t,...r?{useArs:!0}:{},...a?{category:a}:{}}),signal:AbortSignal.timeout(15e3)});if(!s.ok)throw Error(`Batch pricing failed: ${s.status}`);let o=await s.text();try{if(!o)throw Error("Empty response body");e=JSON.parse(o)}catch(e){throw console.error("[PricingContext] Batch pricing invalid JSON:",e),k(!0),c&&f.current.updateApiCall(c,{status:"error",error:e instanceof Error?e.message:String(e),responseTime:Date.now()-m}),e}y(e=>e+Math.max(0,l.length-1)),c&&e._debug?f.current.updateApiCall(c,{status:"success",responseTime:Date.now()-m,response:{resultCount:e.results.length,errorCount:e.errors.length,_debug:e._debug},upstreamEndpoint:e._debug.hawkWidgetEndpoint,upstreamMethod:"GET",upstreamParams:{commonQueryParams:e._debug.hawkWidgetCommonQueryParams,exampleFullUrl:e._debug.hawkWidgetExampleQuery,region:e._debug.region}}):c&&f.current.updateApiCall(c,{status:"success",responseTime:Date.now()-m,response:{resultCount:e.results.length,errorCount:e.errors.length}}),b(r=>{let a=new Map(r);
1return e.results.forEach(e=>{a.set(e.productName,n(e,t))}),e.errors.forEach(e=>{console.warn(`[PricingContext] Failed to fetch pricing for "${e.productName}":`,e.error),a.set(e.productName,{...u,loading:!1,fetched:!0})}),a}),k(!1)}catch(e){e instanceof DOMException&&"TimeoutError"===e.name?console.warn("[PricingContext] Batch pricing timed out — no pricing data available"):console.error("[PricingContext] Batch pricing error:",e),k(!0),c&&f.current.updateApiCall(c,{status:"error",error:e instanceof Error?e.message:String(e),responseTime:Date.now()-m}),b(e=>{let t=new Map(e);return l.forEach(e=>{t.set(e.name,{...u,loading:!1,fetched:!0})}),t})}finally{l.forEach(e=>g.current.delete(e.name)),j(!0)}},[x]),R=(0,r.useCallback)(()=>{let e=S.current;e&&(k(!1),b(t=>{let r=new Map(t);return e.productNames.forEach(e=>r.delete(e.name)),r}),e.productNames.forEach(e=>g.current.delete(e.name)),$(e.productNames,e.region,e.useArs,e.categorySlug))},[$]);return(0,t.jsx)(s.QueryClientProvider,{client:o,children:(0,t.jsx)(m.Provider,{value:{getPricing:C,fetchBatchPricing:$,preloadPricing:P,hasPricing:I,apiCallsSaved:v,initialBatchLoaded:w,batchError:N,retryBatchPricing:R},children:e})})}function p(){let e=(0,r.useContext)(m);if(!e)throw Error("usePricingContext must be used within a PricingProvider");return e}function f(){return(0,r.useContext)(m)}e.s(["PricingProvider",()=>h,"usePricingContext",()=>p,"usePricingContextSafe",()=>f],17943)},83944,76346,e=>{"use strict";var t=e.i(47167);function r(e){let t=e.match(/(\d+)/);return t?parseInt(t[1],10):0}function a(e){return e?r(e):0}function s(e){return e.map(e=>({size:e.screenSize,sizeValue:e.sizeValue,bestPrice:e.bestPrice,currency:e.currency,offer:e.bestOffer,modelId:e.modelId}))}function l(e){let t=new Map;e.forEach(e=>{let a=function(e){let t=e.labels?.find(e=>"screen_size"===e.type),a=t?.display_value;if(!a)return null;let s=r(a);return s>=3&&s<=120?a:null}(e);if(!a)return;let s=t.get(a)??[];s.push(e),t.set(a,s)});let a=[];return t.forEach((e,t)=>{let s=[...e].sort((e,t)=>e.price-t.price),l=s[0];l&&a.push({screenSize:t,sizeValue:r(t),offers:s,bestOffer:l,bestPrice:l.price,currency:l.currencySymbol,modelId:l.modelId})}),a.sort((e,t)=>e.sizeValue-t.sizeValue)}function i(e){return"0"!==e}e.s(["groupOffersBySizeWithAllOffers",()=>l,"parseHawkScreenSize",()=>a,"toSizeOptions",()=>s],76346),e.i(22658),t.default.env.HAWK_API_URL,e.s(["shouldUseHawkArsFromUrlParam",()=>i],83944)},96593,14956,e=>{"use strict";var t=e.i(66027),r=e.i(17943),a=e.i(80127);e.i(83944);var s=e.i(22146);async function l(e,t="US",r,i){let n=Date.now(),o=encodeURIComponent(e),c=new URLSearchParams;c.set("region",t);let d=(0,a.toPositiveHawkModelId)(i?.hawkModelId);for(let e of(null!=d&&c.set("hawkModelId",String(d)),i?.useArs&&c.set("use_ars","1"),i?.fallbackNames??[]))e.trim()&&c.append("fallbackName",e);let u=`${(0,s.getBrowserShopBasePath)()}/api/pricing/${o}?${c.toString()}`,m=r?.onStart?.({endpoint:u,requestParams:{modelName:e,region:t,hawkModelId:d??void 0,useArs:i?.useArs},productName:e});try{let t=await fetch(u,{signal:AbortSignal.timeout(15e3)}),a=Date.now()-n;if(!t.ok){let e=`Pricing API error: ${t.status}`;return r?.onError?.(m||"",e,a),{offers:[],viewSimilarOffer:void 0,bestPriceUSD:null,bestPriceGBP:null}}let s=await t.json();return 0!==s.offers.length||s.viewSimilarOffer?r?.onSuccess?.(m||"",s,a):r?.onNoData?.(m||"",e,a,s),s}catch(s){let t=Date.now()-n,a=s instanceof Error?s.message:String(s);return s instanceof DOMException&&"TimeoutError"===s.name?console.warn(`[HawkService] Pricing timed out for ${e} — no pricing data available`):console.error(`[HawkService] Error fetching pricing for ${e}:`,s),r?.onError?.(m||"",a,t),{offers:[],viewSimilarOffer:void 0,bestPriceUSD:null,bestPriceGBP:null}}}e.s(["fetchPricing",()=>l],14956);var i=e.i(75299);function n(e,s="GB",o){let c=(0,r.usePricingContextSafe)(),d=(0,i.useDebugSafe)(),u=(0,a.toPositiveHawkModelId)(o?.hawkModelId),m=null!=u,h=o?.useArs===!0,p=o?.fallbackNames,f=m?void 0:c?.getPricing(e),x=f?.fetched??!1,b=o?.initialPricing,g=!!b&&!m&&(b.offers.length>0||!!b.viewSimilarOffer),{data:v,isLoading:y,error:w,refetch:j}=(0,t.useQuery)({queryKey:["pricing",e,s,u??null,h,p??[]],queryFn:async()=>{let t=d.enabled?{onStart:e=>d.addApiCall({type:"pricing",method:"GET",endpoint:e.endpoint,requestParam
1s:e.requestParams,productName:e.productName,status:"pending"}),onSuccess:(e,t,r)=>d.updateApiCall(e,{status:"success",response:{...t,...t._debug&&{upstream:t._debug}},responseTime:r,...t._debug&&{upstreamEndpoint:t._debug.upstreamUrl,upstreamMethod:t._debug.upstreamMethod,upstreamParams:{searchParams:t._debug.upstreamSearchParams},upstreamNote:"Server-side GET to Hawk widget.php (see upstream URL)"}}),onError:(e,t,r)=>d.updateApiCall(e,{status:"error",error:t,responseTime:r}),onNoData:(e,t,r,a)=>d.updateApiCall(e,{status:"no-data",response:{message:`No offers found for "${t}"`,...a?._debug&&{upstream:a._debug}},responseTime:r,hasMismatch:!0,mismatchReason:`No Hawk offers for "${t}"`,...a?._debug&&{upstreamEndpoint:a._debug.upstreamUrl,upstreamMethod:a._debug.upstreamMethod,upstreamParams:{searchParams:a._debug.upstreamSearchParams},upstreamNote:"Server-side GET to Hawk widget.php (see upstream URL)"}})}:void 0;if(m)return l(e,s,t,{hawkModelId:u,useArs:h});let r=await l(e,s,t,{useArs:h,fallbackNames:p}),i=(0,a.toPositiveHawkModelId)(r.modelId);return null!=i?l(e,s,t,{hawkModelId:i,useArs:h}):r},staleTime:3e5,enabled:!!e&&(!x||m)&&!g});return x&&f?function(e,t=()=>{}){return{offers:e.offers,bestOffer:e.offers[0]||null,viewSimilarOffer:e.viewSimilarOffer??null,isLoading:e.loading,fetched:e.fetched??!1,error:null,refetch:t,modelId:e.modelId??null,modelInfo:e.modelInfo??null,canonicalSpecs:e.canonicalSpecs??null,marketStats:e.marketStats??null,model:e.model??null}}(f,()=>{}):g&&b?{offers:b.offers,bestOffer:b.offers[0]||null,viewSimilarOffer:b.viewSimilarOffer??null,isLoading:!1,fetched:!0,error:null,refetch:j,modelId:b.modelId??null,modelInfo:b.modelInfo??null,canonicalSpecs:b.canonicalSpecs??null,marketStats:b.marketStats??null,model:b.model??null}:{offers:v?.offers||[],bestOffer:v?.offers?.[0]||null,viewSimilarOffer:v?.viewSimilarOffer??null,isLoading:y&&!x,fetched:!!v,error:w,refetch:j,modelId:v?.modelId??null,modelInfo:v?.modelInfo??null,canonicalSpecs:v?.canonicalSpecs??null,marketStats:v?.marketStats??null,model:v?.model??null}}e.s(["usePricing",()=>n],96593)},57938,26889,e=>{"use strict";var t=e.i(71645),r=e.i(66027),a=e.i(22146);async function s(e,t="USD",r=6,n,o="US",c=!1){if(!e||e<=0)return i();let d=Date.now(),u=`${(0,a.getBrowserShopBasePath)()}/api/price-history/${e}?currency=${t}&months=${r}&region=${o}${c?"&use_ars=1":""}`,m=n?.onStart?.({endpoint:u,requestParams:{modelId:e,currency:t,months:r,useArs:c},modelId:e});try{let t=await fetch(u,{signal:AbortSignal.timeout(1e4)}),r=Date.now()-d;if(!t.ok){let a=`API returned ${t.status} for model ${e}`;return n?.onError?.(m||"",a,r),i()}let a=await t.json();if(a.error)return n?.onError?.(m||"",a.error,r),i();let s={history:a.history||[],stats:a.stats||l(),...a._debug&&"object"==typeof a._debug?{_debug:
1a._debug}:{}};return 0===s.history.length?n?.onNoData?.(m||"",e,r,s):n?.onSuccess?.(m||"",s,r),s}catch(a){let t=Date.now()-d,r=a instanceof Error?a.message:String(a);return console.error(`[PriceHistoryService] Error fetching model ${e}:`,a),n?.onError?.(m||"",r,t),i()}}function l(){return{average:null,lowest:null,highest:null,currentPrice:null}}function i(){return{history:[],stats:l()}}function n(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric"})}catch{return e}}e.s(["fetchPriceHistory",()=>s,"formatHistoryDate",()=>n],26889);var o=e.i(76346),c=e.i(85149),d=e.i(73988);function u({offers:e,bestOffer:a,model:l,modelId:i,region:n,pricingFetched:u,sizeBucket:m,preferredSizeValue:h,preferredSizeHint:p,sizeBuckets:f=c.SIZE_BUCKETS,fetchPriceHistory:x=!0,debugCallbacks:b,useArs:g=!1}){let v=(0,d.shopRegionToDisplayCurrency)(n),y=(0,t.useMemo)(()=>l?.sizeVariants&&l.sizeVariants.length>0?(0,o.toSizeOptions)(l.sizeVariants):(0,o.toSizeOptions)((0,o.groupOffersBySizeWithAllOffers)(e)),[l,e]),w=y.length>1,[j,N]=(0,t.useState)(void 0);(0,t.useEffect)(()=>{if(0===y.length)return;let e=m?f.find(e=>e.id===m):null,t=(e?y.filter(t=>t.sizeValue>=e.min&&t.sizeValue<=e.max):[])[0]??null,r=h?[...y].map(e=>({option:e,distance:Math.abs(e.sizeValue-h)})).sort((e,t)=>e.distance-t.distance||e.option.sizeValue-t.option.sizeValue)[0]:null,a=r&&r.distance<=2?r.option:null,s=[...y].sort((e,t)=>e.bestPrice-t.bestPrice)[0],l=[...y].sort((e,t)=>t.sizeValue-e.sizeValue)[0],i=[...y].sort((e,t)=>e.sizeValue-t.sizeValue)[0],n=a??t??s;t||"largest"!==p||(n=l),t||"smallest"!==p||(n=i);let o=m||h||p?n:void 0;queueMicrotask(()=>{N(e=>void 0!==o?o:void 0===e?n:e)})},[y,m,h,p,u,f]);let k=(0,t.useCallback)(e=>{N(e)},[]),S=(0,t.useMemo)(()=>{if(!j||!w)return e;let t=l?.sizeVariants?.find(e=>e.screenSize===j.size);return t?.offers?.length?t.offers:e},[e,j,w,l]),{effectiveModelId:C,priceHistory:I,priceStats:P,noDataForSelectedSize:$}=function({selectedSizeOption:e,modelId:a,currency:l,region:i,offersForDetailsCount:n,enabled:o=!0,debugCallbacks:c,useArs:d=!1}){let u=(0,t.useMemo)(()=>e?.modelId??a??null,[e,a]),{data:m}=function(e,t="USD",a=6,l=!0,i="US",n,o=!1){return(0,r.useQuery)({queryKey:["priceHistory",e,t,a,i,o],queryFn:()=>s(e,t,a,n,i,o),enabled:l&&!!e&&e>0,staleTime:9e5,gcTime:36e5})}(u,l,6,o&&!!u,i,c,d),h=m?.history??[],p=m?.stats??null,f=(0,t.useMemo)(()=>!!(e&&(0===n||!u)),[e,n,u]);return{effectiveModelId:u,priceHistory:h,priceStats:p,priceHistoryData:m,noDataForSelectedSize:f}}({selectedSizeOption:j,modelId:i??null,currency:v,region:n,offersForDetailsCount:S.length,enabled:x,debugCallbacks:b,useArs:g}),R=j?.offer??a;return{sizeOptions:y,hasMultipleSizes:w,selectedSizeOption:j,handleSizeChange:k,offersForDetails:S,displayOffer:R,effectiveModelId:C,priceHistory:I,priceStats:P,noDataForSelectedSize:$}}e.s(["useProductVariants",()=>u],57938)},87592,e=>{"use strict";var t=e.i(73988);e.s(["formatCurrency",0,(e,r,a=(0,t.pricingRegionToNumberFormatLocale)("GB"))=>{if(null==r)return{major:"???",minor:null,full:"???"};let s="string"==typeof r?parseFloat(r):r;if(isNaN(s))return{major:"???",minor:null,full:"???"};let l=Math.round(s).toLocaleString(a);return{major:`${e}${l}`,minor:null,full:`${e}${l}`}}])},50851,31158,36023,e=>{"use strict";var t=e.i(71645),r=e.i(12696);async function a(e){let t=new Date,r=JSON.stringify({...e,date:`${t.getDate()}/${t.getMonth()}/${t.getFullYear()}`,site:"signal-shop",userAgent:"undefined"!=typeof navigator?navigator.userAgent:"server"}),a=new TextEncoder().encode(r),s=Array.from(new Uint8Array(await crypto.subtle.digest("SHA-1",a))).map(e=>e.toString(16).padStart(2,"0")).join(""),l=`${s.length%2?"0":""}${s}`;return BigInt(`0x${l}`).toString(10).substring(0,19)}function s(e){let t=new Date,r=JSON.stringify({...e,date:`${t.getDate()}/${t.getMonth()}/${t.getFullYear()}`,site:"signal-shop"}),a=5381;for(let e=0;e<r.length;e++)a=(a<<5)+a+r.charCodeAt(e)>>>0;let s=0x9e3779b1*a>>>0;return`${a}${s}`.padEnd(19,"0").substring(0,19)}e.s(["generateRevenueId",()=>a,"generateRevenueIdSync",()=>s],31158);var l=e.i(22658);function i(e){let{affiliateLink:t,productName:r,merchantName:a,modelId:i,region:n="GB",affiliateTrackingPrefix:o}=e;if(!t)return{rewrittenLink:"",revenueId:""};let c=s({pageUrl:window.location.href,productName:r,merchantName:a,modelId:i});return{rewrittenLink:function(e,t){var r;if(!e)return e;let{territory:a,revenueId:s}=t,i=(r=t.affiliateTrackingPrefix,r?.trim()||(0,l.getDefaultBrand)().affiliateTrackingPrefix),n=`${i}-${a}
1-${s}`;return e.replace(/hawk-custom-tracking/g,n)}(t,{territory:"GB"===n?"gb":"AU"===n?"au":"CA"===n?"ca":"us",revenueId:c,affiliateTrackingPrefix:o}),revenueId:c}}function n(e,a,s,l,o="GB"){let c=(0,r.useBrandOptional)(),d=c?.brand.affiliateTrackingPrefix,[u,m]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{queueMicrotask(()=>{m(!0)})},[]),(0,t.useMemo)(()=>e?.trim()&&s?.trim()?u?i({affiliateLink:e,productName:a,merchantName:s,modelId:l,region:o,affiliateTrackingPrefix:d}):{rewrittenLink:e,revenueId:""}:null,[u,e,a,s,l,o,d])}e.s(["buildDealLink",()=>i],36023),e.s(["useClientDealLink",()=>n],50851)},96054,78917,84614,38532,14741,22602,23945,76838,38982,e=>{"use strict";var t=e.i(66027),r=e.i(22146);let a=[];function s(e,s){let l=s&&!!e,{data:i,isLoading:n}=(0,t.useQuery)({queryKey:["other-site-article-images",e],queryFn:async()=>{let t=`${(0,r.getBrowserShopBasePath)()}/api/product/other-site-article-images/${encodeURIComponent(e)}`,a=await fetch(t,{signal:AbortSignal.timeout(15e3)});if(!a.ok)throw Error(`Other-site article images API error: ${a.status}`);return(await a.json()).images},enabled:l,staleTime:3e5});return{images:i??a,isLoading:l&&n}}e.s(["useOtherSiteArticleImages",()=>s],96054);var l=e.i(43476),i=e.i(71645),n=e.i(43531),o=e.i(37727);e.i(58013);var c=e.i(31763),d=e.i(57688),u=e.i(52571),m=e.i(75254);let h=(0,m.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>h],78917);let p=(0,m.default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>p],84614);var f=e.i(12696),x=e.i(63305),b=e.i(70273);let g=(0,m.default)("star-half",[["path",{d:"M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2",key:"2ksp49"}]]);function v({score:e}){if(null===e)return(0,l.jsx)("span",{className:"brand-star-rating-unrated text-xs",children:"Not rated"});let t="brand-star-rating-filled",r=e/2,a=Math.floor(r),s=r%1>=.5;return(0,l.jsx)("div",{className:"flex items-center gap-1",children:(0,l.jsx)("span",{className:"flex items-center gap-0.5",children:[void 0,void 0,void 0,void 0,void 0].map((e,r)=>r<a?(0,l.jsx)(b.Star,{size:14,className:t},r):r===a&&s?(0,l.jsx)(g,{size:14,className:t},r):(0,l.jsx)(b.Star,{size:14,className:"brand-star-rating-empty"},r))})})}function y(e){let t=e.trim().toLowerCase();return t.endsWith(".")?t.slice(0,-1):t}function w(e,t){if(!e)return!1;if(!t)return!0;let r=function(e){let t=e.trim();if(!t)return null;let r=/^[a-z][a-z\d+.-]*:\/\//i.test(t)?t:t.startsWith("//")?`https:${t}`:`https://${t}`;try{let e=new URL(r);if("http:"!==e.protocol&&"https:"!==e.protocol)return null;return y(e.hostname)}catch{return null}}(e);return!!r&&t.some(e=>y(e)===r)}function j({verdict:e,reviewer:t,rating:r,reviewUrl:a,allowedReviewHostnames:s,onReviewClick:i,headingOverride:o,headingAccentColor:c}){let m=(0,f.useBrandOptional)(),b=w(a,s)?a??void 0:void 0,g=m?{src:m.assetPath(m.brand.logos.quoteMarkSrc),alt:`${m.brand.displayName} logo`}:null,y=o??m?.brand.verdictHeading??"Verdict";return(0,l.jsxs)("div",{children:[(0,l.jsxs)("h4",{className:"brand-verdict-heading mb-4 flex items-center gap-2",children:[c?(0,l.jsx)("span",{"aria-hidden":"true",className:"inline-block h-2.5 w-2.5 shrink-0 rounded-full",style:{backgroundColor:c}}):(0,l.jsx)(x.BrandIcon,{name:"info",defaultIcon:u.Info,className:"brand-verdict-icon h-4 w-4"})," ",y]}),e?(0,l.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,l.jsxs)("div",{className:"flex items-start gap-3 pl-1",children:[(0,l.jsxs)("div",{className:"relative",children:[t.avatar?(0,l.jsx)(d.default,{src:t.avatar,alt:t.name,width:56,height:56,className:"brand-verdict-avatar h-14 w-14"}):(0,l.jsx)("div",{className:"brand-verdict-avatar-fallback flex h-14 w-14 items-center justify-center",children:g?(0,l.jsx)(d.default,{src:g.src,alt:g.alt,width:40,height:40,className:"h-10 w-10 object-contain",unoptimized:!0}):(0,l.jsx)(p,{size:28,className:"brand-verdict-avatar-fallback-icon"})}),(0,l.jsx)("div",{className:"brand-verdict-badge absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center",children:(0,l.jsx)(x.BrandIcon,{name:"check",defaultIcon:n.Check,className:"brand-verdict-badge-icon h-[10px] w-[10px]"})})]}),(0,l.jsxs)("div",{className:"pt-0.5",children:[(0,l.jsx)("div",{className:"brand-verdict-reviewer-name",children:t.name}),(0,l.jsx)("div",{className:"brand-verdict-reviewer-title mb-1.5 mt-1.5",children:t.jobTitle||" "}),(0,l.jsx)(v,{score:r})]})]}),(0,l.jsxs)("div",{className:"brand-verdict-quote-bubble relative ml-2 p-5",children:[(0,l.jsx)("div",{className:"brand-verdict-quote-arrow-border"}),(0,l.jsx)("div",{className:"brand-verdict-quote-arrow-fill"}),(0,l.jsxs)("p",{className:"brand-verdict-quote-text",children:["“",e,"”"]}),b&&(0,l.jsx)("div",{className:"mt-3 flex justify-end",children:(0,l.jsxs)("a",{href:b,target:"_blank",rel:"noopener noreferrer",onClick:i,className:"brand-verdict-review-link inline-flex items-center gap-1 px-2 py-1",children:["Read Full Review ",(0,l.jsx)(h,{size:10})]})})]})]}):(0,l.jsx)("div",{className:"brand-verdict-empty pl-2",children:"No expert verdict available."})]})}function N(e,t){let r=t?.trim().toLowerCase()||null,a=e?.find(e=>e?.url?.trim().toLowerCase()===r)||e?.find(e=>{let t=e?.site?.trim().toLowerCase();return e?.type==="review"&&("tomsguide"===t||"tomsguide.com"===t)}),s=a?.authors?.[0],l=function(e){if("string"!=typeof e)return null;
1let t=e.trim(),r=t.toLowerCase();if(!t||"null"===r||"undefined"===r)return null;try{let e=new URL(t);return"http:"===e.protocol||"https:"===e.protocol?t:null}catch{return null}}(s?.image?.url);return{name:s?.name||"Expert Reviewer",avatar:l,jobTitle:s?.role&&"null"!==s.role?s.role:null}}e.s(["default",()=>v],38532),e.s(["default",()=>j,"extractReviewer",()=>N,"shouldShowReviewLink",()=>w],14741);var k=e.i(25092);function S({site:e,size:t=16}){let r=(0,c.getSiteFaviconUrl)(e);return r?(0,l.jsx)("img",{src:r,alt:"","aria-hidden":"true",width:t,height:t,className:"rounded-full bg-white"}):null}function C({entries:e,onReviewClick:t,isMobile:r=!1}){let[a,s]=(0,i.useState)(0),d=a<e.length?a:0,u=e[d];if(!u)return(0,l.jsx)(j,{verdict:null,reviewer:{name:"Expert Reviewer",avatar:null,jobTitle:null},rating:null});let m=e.length>1,h=m||!u.isOwnSite;return(0,l.jsxs)("div",{className:"space-y-4",children:[m?(0,l.jsx)(k.default,{scrollClassName:"gap-2",showArrowsOnMobile:!0,children:e.map((e,t)=>{let r=t===d,a=(0,c.resolveSiteAccentColor)(e.site,e.isOwnSite);return(0,l.jsxs)("button",{type:"button",onClick:()=>s(t),"aria-pressed":r,className:`flex shrink-0 items-center gap-1.5 whitespace-nowrap rounded-full border px-3 py-1.5 text-xs font-bold uppercase tracking-[0.04em] transition-colors ${r?"text-white":"bg-white text-slate-600 hover:text-slate-900"}`,style:r?{backgroundColor:"var(--brand-primary)",borderColor:"var(--brand-primary)"}:{borderColor:`color-mix(in srgb, ${a} 40%, transparent)`},children:[(0,l.jsx)(S,{site:e.site}),e.displayName]},e.site)})}):null,(0,l.jsxs)("div",{className:r?"space-y-8":"grid gap-0 md:grid-cols-2 md:items-stretch md:divide-x md:divide-slate-200",children:[(0,l.jsx)("div",{className:"min-w-0 md:h-full md:pr-6",children:(0,l.jsx)(j,{verdict:u.verdict,reviewer:u.reviewer,rating:u.rating,reviewUrl:u.reviewUrl,allowedReviewHostnames:u.allowedReviewHostnames,headingOverride:h?`${u.displayName} Verdict`:void 0,headingAccentColor:h?"var(--brand-primary)":void 0,onReviewClick:t?e=>t(e,u):void 0})}),u.pros.length>0||u.cons.length>0?(0,l.jsxs)("div",{className:`min-w-0 md:h-full md:pl-6 ${r?"pt-2 sm:pt-0":""}`,children:[(0,l.jsx)("h4",{className:"brand-verdict-heading mb-4",children:"Pros & Cons"}),(0,l.jsxs)("div",{className:"space-y-2",children:[u.pros.map((e,t)=>(0,l.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,l.jsx)("div",{className:"mt-0.5 min-w-[14px]",children:(0,l.jsx)(n.Check,{size:14,className:"brand-positive-icon stroke-[3]"})}),(0,l.jsx)("span",{className:"brand-muted-copy text-sm leading-5",children:e})]},`pro-${t}`)),u.cons.map((e,t)=>(0,l.jsxs)("div",{className:"flex items-start gap-2.5 pt-1",children:[(0,l.jsx)("div",{className:"mt-0.5 min-w-[14px]",children:(0,l.jsx)(o.X,{size:14,className:"brand-negative-icon stroke-[3]"})}),(0,l.jsx)("span",{className:"brand-muted-copy text-sm leading-5",children:e})]},`con-${t}`))]})]}):null]})]})}e.s(["default",()=>C],22602);let I=(0,m.default)("store",[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]]);e.s(["Store",()=>I],23945);let P=(0,m.default)("badge-check",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["BadgeCheck",()=>P],76838);let $=(0,m.default)("flask-conical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]);e.s(["FlaskConical",()=>$],38982)},36086,e=>{"use strict";var t,r,a=e.i(71645),s=e.i(28356),l=e.i(31158),i=((t={}).RETAILER="retailer",t.PRODUCT="product",t.SHARE="share",t.EXPAND="expand",t.REVIEW="review",t),n=((r={}).CLICK_FROM="Click from",r.IMPRESSION="impression",r);let o={"£":"GBP",$:"USD",A$:"AUD",CA$:"CAD","€":"EUR"};function c(e={}){let{totalProducts:t=0}=e,r=(0,a.useMemo)(()=>crypto.randomUUID(),[]),d=(0,a.useCallback)(async e=>{var a;let{clickType:s,eventType:i=n.CLICK_FROM,areaClicked:c,index:d=null,totalDeals:u=t,product:m,merchant:h,revenueId:p}=e,f=p;return!f&&m&&h&&(f=await (0,l.generateRevenueId)({pageUrl:window.location.href,productName:m.name,merchantName:h.name,modelId:m.modelId})),{name:"hawkEvent",data:{category:"Affiliates",affiliate:{action:{type:s,id:r,event:i,timestamp:Date.now()},component:{flag:"Editor",product:"TVs",category:"Signal Shop",type:"signal product",label:m?.name||"",index:d,linkCount:u,blockLayout:null,areaCl
1icked:c}},products:m&&h?[{product:{primary:{id:m.modelId||null,name:m.name,type:"TVs",price:m.price,previousPrice:m.previousPrice||null,currency:o[a=m.currency]||a,preorder:!1,labels:[],link:m.link,originalLink:m.originalLink||null,revenueId:f||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:null,voucherMoneySaving:null,voucherType:null,offerExclusive:null,offerScope:null,globalId:null,inStock:m.inStock??null,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:null}},merchant:{id:h.id||null,name:h.name,url:h.url||null,network:h.network||null},model:{id:m.modelId||null,brand:m.brand||null,name:m.name,parent:null}}]:[],reviews:[]}}},[r,t]),u=(0,a.useCallback)(async e=>{let t=await d(e);(0,s.sendEvent)(t)},[d]),m=(0,a.useCallback)(async e=>{await u({...e,clickType:i.RETAILER,areaClicked:"Signal Product Card"})},[u]),h=(0,a.useCallback)(async e=>{await u({...e,clickType:i.RETAILER,areaClicked:"Signal Product Card View Similar"})},[u]),p=(0,a.useCallback)(async e=>{await u({...e,clickType:i.EXPAND,eventType:n.CLICK_FROM,areaClicked:"Signal Product Card Expand"})},[u]),f=(0,a.useCallback)(async e=>{await u({...e,clickType:i.SHARE,areaClicked:"Signal Product Card Share"})},[u]),x=(0,a.useCallback)(async e=>{await u({...e,clickType:i.REVIEW,areaClicked:"Signal Product Card Review Link"})},[u]),b=(0,a.useCallback)(async e=>{await u({...e,clickType:i.RETAILER,areaClicked:"Signal Price Comparison"})},[u]);return(0,a.useMemo)(()=>({sendAnalytics:u,trackDealClick:m,trackViewSimilarClick:h,trackExpand:p,trackShare:f,trackReviewClick:x,trackPriceComparisonClick:b}),[u,m,h,p,f,x,b])}e.s(["useAnalytics",()=>c],36086)},94765,27577,77611,13486,29120,63804,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(57688),s=e.i(73708),l=e.i(75254);let i=(0,l.default)("image-off",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);function n(e){return e.replace(/^http:\/\//i,"https://")}function o({src:e,alt:l,className:o="",fallbackType:c="tv",fallbackIcon:d,fill:u=!1,sizes:m="100vw",priority:h=!1,width:p,height:f,unoptimized:x=!1}){var b;let g="generic"===c?i:d??s.Image,[v,y]=(0,r.useState)(null),[w,j]=(0,r.useState)(null),N=(0,r.useCallback)(e=>{y(e)},[]),k=(0,r.useCallback)(e=>{j(e)},[]),S=null!=e&&w===e;if(!e||S)return(0,t.jsx)("div",{className:`flex flex-col items-center justify-center bg-slate-50 text-slate-300 h-full w-full ${o}`,children:(0,t.jsx)(g,{size:24,strokeWidth:1.5})});let C=n(e),I=!!((b={fill:u,width:p,height:f}).fill||null!=b.width&&null!=b.height);if(!u||!I){let r=v===e;return(0,t.jsxs)("div",{className:"relative w-full h-full flex items-center justify-center",children:[!r&&(0,t.jsx)("div",{className:"absolute inset-0 bg-slate-100 animate-pulse rounded z-0"}),I?(0,t.jsx)(a.default,{src:C,alt:l,width:p,height:f,priority:h,unoptimized:x,onLoad:()=>N(e),onError:()=>k(e),className:`${o} object-contain`}):(0,t.jsx)("img",{src:C,alt:l,loading:h?"eager":"lazy",fetchPriority:h?"high":"auto",onLoad:()=>N(e),onError:()=>k(e),className:o})]})}let P=v===e,$=null!==v&&!P;return(0,t.jsxs)("div",{className:"relative w-full h-full flex items-center justify-center",children:[null===v&&(0,t.jsx)("div",{className:"absolute inset-0 bg-slate-100 animate-pulse rounded z-0"}),$?(0,t.jsx)(a.default,{src:n(v),alt:l,fill:!0,sizes:m,unoptimized:x,className:`${o} object-contain absolute inset-0`},v):null,(0,t.jsx)(a.default,{src:C,alt:l,fill:!0,sizes:m,priority:h,unoptimized:x,onLoad:()=>N(e),onError:()=>k(e),className:`${o} object-contain absolute inset-0 ${P?"":"opacity-0"}`},C)]})}e.s(["default",()=>o],94765);var c=e.i(21218),d=e.i(52571),u=e.i(51975);let m=(0,l.default)("trending-down",[["path",{d:"M16 17h6v-6",key:"t6n2it"}],["path",{d:"m22 17-8.5-8.5-5 5L2 7",key:"x473p"}]]),h=(0,l.default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]),p=(0,l.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var f=e.i(87592),x=e.i(26889),b=e.i(73988);function g({currentPrice:e,currencySymbol:a,averagePrice:s=null,lowestPrice:l=null,lowestDate:i=null,highestPrice:n=null,highestDate:o=null,numberFormatLocale:g=(0,b.pricingRegionToNumberFormatLocale)("GB")}){let v=(0,r.useId)(),y=(0,f.formatCurrency)(a,e,g),w=s?(0,f.formatCurrency)(a,s,g):null,j=l?(0,f.formatCurrency)(a,l,g):null,N=n?(0,f.formatCurrency)(a,n,g):null,k=s?s-e:null,S=k&&k>0;return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-5",children:[(0,t.jsx)(c.Activity,{size:20,className:"brand-market-heading-icon","aria-hidden":"true"}),(0,t.jsx)("h4",{className:"brand-market-heading text-sm font-bold uppercase tracking-wide",children:"Market Stats"}),(0,t.jsxs)("button",{type:"button","aria-label":"About market stats price data","aria-describedby":v,className:"brand-market-tooltip-button group/market-tooltip relative inline-flex h-5 w-5 items-center justify-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-offset-1",children:[(0,t.jsx)(d.Info,{size:14,"aria-hidden":"true"}),(0,t.jsx)("span",{id:v,role:"tooltip",className:"brand-market-tooltip pointer-events-none absolute left-1/2 top-full z-20 mt-2 w-64 -translate-x-1/2 roun
1ded-lg border bg-white px-3 py-2 text-left text-xs font-medium normal-case leading-snug tracking-normal opacity-0 shadow-lg transition-opacity group-hover/market-tooltip:opacity-100 group-focus/market-tooltip:opacity-100 group-focus-visible/market-tooltip:opacity-100",children:"Market stats based on historical pricing across tracked retailers over the last 60 days."})]})]}),(0,t.jsx)("div",{className:"flex-grow",children:(0,t.jsxs)("div",{className:"brand-market-panel flex h-full flex-col overflow-hidden rounded-lg border shadow-sm",children:[(0,t.jsxs)("div",{className:"brand-market-row group relative flex flex-1 items-center justify-between p-4 transition-colors",children:[(0,t.jsx)("div",{className:"brand-market-accent absolute bottom-0 left-0 top-0 w-1 bg-current"}),(0,t.jsxs)("div",{className:"flex items-center gap-3 pl-2",children:[(0,t.jsx)("div",{className:"brand-market-icon rounded-md p-2",children:(0,t.jsx)(u.Tag,{size:18,"aria-hidden":"true"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"brand-market-current-label block text-xs font-bold uppercase tracking-wide",children:"Current Price"}),S&&k&&(0,t.jsxs)("div",{className:"brand-market-below-average flex items-center gap-1 text-[10px] font-bold",children:[(0,t.jsx)(p,{size:10,strokeWidth:3,"aria-hidden":"true"}),a,Math.round(k)," below avg"]})]})]}),(0,t.jsx)("span",{className:"brand-heading brand-market-current-value text-xl font-extrabold",children:y.full})]}),(0,t.jsxs)("div",{className:"brand-market-row group flex flex-1 items-center justify-between p-4 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"brand-market-icon rounded-md p-2",children:(0,t.jsx)(c.Activity,{size:18,"aria-hidden":"true"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"brand-market-label block text-xs font-bold uppercase tracking-wide",children:"Average"}),(0,t.jsx)("span",{className:"brand-market-subtle block text-[10px] font-medium",children:"Past 60 days"})]})]}),(0,t.jsx)("span",{className:"brand-market-value text-sm font-bold",children:w?w.full:(0,t.jsx)("span",{className:"brand-market-empty text-xs italic",children:"No data"})})]}),(0,t.jsxs)("div",{className:"brand-market-row group flex flex-1 items-center justify-between p-4 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"brand-market-icon-low rounded-md p-2",children:(0,t.jsx)(m,{size:18,"aria-hidden":"true"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"brand-market-label block text-xs font-bold uppercase tracking-wide",children:"Lowest"}),(0,t.jsx)("span",{className:"brand-market-subtle block text-[10px] font-medium",children:i?(0,x.formatHistoryDate)(i):"—"})]})]}),(0,t.jsx)("span",{className:"brand-market-value text-sm font-bold",children:j?j.full:(0,t.jsx)("span",{className:"brand-market-empty text-xs italic",children:"No data"})})]}),(0,t.jsxs)("div",{className:"brand-market-row group flex flex-1 items-center justify-between p-4 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"brand-market-icon-high rounded-md p-2",children:(0,t.jsx)(h,{size:18,"aria-hidden":"true"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"brand-market-high-label block text-xs font-bold uppercase tracking-wide",children:"Highest"}),(0,t.jsx)("span",{className:"brand-market-subtle block text-[10px] font-medium",children:o?(0,x.formatHistoryDate)(o):"—"})]})]}),(0,t.jsx)("span",{className:"brand-market-high-value text-sm font-bold",children:N?N.full:(0,t.jsx)("span",{className:"brand-market-empty text-xs italic",children:"No data"})})]})]})})]})}e.s(["default",()=>g],27577);let v=(0,l.default)("chart-line",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]);function y({history:e,currentPrice:a,currencySymbol:s,days:l=60,today:i,numberFormatLocale:n=(0,b.pricingRegionToNumberFormatLocale)("GB")}){let o="var(--brand-primary)",c=(0,r.useMemo)(()=>{let t=i??new Date().toISOString().split("T")[0];return[...e.filter(e=>e.date!==t),{date:t,price:a}].sort((e,t)=>
1new Date(e.date).getTime()-new Date(t.date).getTime())},[e,a,i]),u=(0,r.useMemo)(()=>{if(0===c.length)return{min:a,max:a,avg:a,prices:[]};let e=c.map(e=>e.price),t=Math.min(...e);return{min:t,max:Math.max(...e),avg:e.reduce((e,t)=>e+t,0)/e.length,prices:e}},[c,a]),p=a<=u.min,f=a>=u.max,x=(0,r.useMemo)(()=>{if(c.length<2)return null;let e=u.max-u.min,t=0===e?.1*u.min:.1*e,r=u.min-t,a=u.max+t,s=a-r||1,l=c.map(e=>new Date(e.date).getTime()),i=Math.min(...l),n=Math.max(...l)-i||1,o=c.map(e=>({x:(new Date(e.date).getTime()-i)/n*100,y:100-(e.price-r)/s*100,price:e.price,date:e.date})),d=o.map((e,t)=>{if(0===t)return`M ${e.x},${e.y}`;let r=o[t-1];return`L ${e.x},${r.y} L ${e.x},${e.y}`}).join(" "),m=`${d} L ${o[o.length-1].x},100 L ${o[0].x},100 Z`;return{linePath:d,areaPath:m,points:o,minAxis:r,maxAxis:a}},[c,u]),g=e=>`${s}${Math.round(e).toLocaleString(n)}`;if(!e||0===e.length)return(0,t.jsxs)("div",{children:[(0,t.jsxs)("h4",{className:"font-bold uppercase text-sm text-slate-700 tracking-wide mb-4 flex items-center gap-2",children:[(0,t.jsx)(v,{size:20,className:"text-[var(--brand-primary)]","aria-hidden":"true"}),"Price Trends (",l," Days)"]}),(0,t.jsxs)("div",{className:"p-6 rounded-lg border bg-slate-50 border-slate-200 text-center",children:[(0,t.jsx)(d.Info,{size:24,className:"mx-auto text-slate-400 mb-2"}),(0,t.jsx)("p",{className:"text-sm text-slate-500",children:"No price history available for this product."}),(0,t.jsx)("p",{className:"text-xs text-slate-400 mt-1",children:"History may not be tracked for all models."})]})]});let y=x?.points.findIndex(e=>e.price===u.min)??-1,w=x?.points.findIndex(e=>e.price===u.max)??-1;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("h4",{className:"font-bold uppercase text-sm text-slate-700 tracking-wide mb-4 flex items-center gap-2",children:[(0,t.jsx)(v,{size:20,className:"text-[var(--brand-primary)]","aria-hidden":"true"}),"Price Trends (",l," Days)"]}),p&&(0,t.jsxs)("div",{className:"brand-price-history-low-verdict mb-4 flex items-start gap-3 rounded-lg border p-3 text-foreground",children:[(0,t.jsx)("div",{className:"mt-0.5 shrink-0",children:(0,t.jsx)(m,{size:16,className:"brand-price-history-low-verdict-icon","aria-hidden":"true"})}),(0,t.jsxs)("div",{className:"text-xs font-medium leading-relaxed",children:[(0,t.jsx)("span",{className:"mr-1 text-[10px] font-bold uppercase tracking-wide text-[#143c14]",children:"Verdict:"}),"This is the lowest price recorded in the last 6 months. Excellent time to buy."]})]}),f&&!p&&(0,t.jsxs)("div",{className:"p-3 rounded-lg border mb-4 flex items-start gap-3 bg-red-50 text-red-800 border-red-100",children:[(0,t.jsx)("div",{className:"mt-0.5 shrink-0",children:(0,t.jsx)(h,{size:16,className:"text-red-600","aria-hidden":"true"})}),(0,t.jsxs)("div",{className:"text-xs font-medium leading-relaxed",children:[(0,t.jsx)("span",{className:"font-bold uppercase opacity-80 mr-1 text-[10px] tracking-wide",children:"Verdict:"}),"This is the highest price in the last 6 months. Consider waiting for a drop."]})]}),(0,t.jsx)("div",{className:"h-[300px] bg-panel-bg border border-slate-200 shadow-sm rounded-lg p-2 relative",children:(0,t.jsxs)("div",{className:"w-full h-full relative group select-none cursor-crosshair",children:[(0,t.jsxs)("div",{className:"absolute inset-0 pointer-events-none text-[9px] font-bold text-slate-400 z-0",children:[(0,t.jsx)("div",{className:"absolute top-0 right-0 bg-white/70 px-1 rounded-bl",children:g(u.max)}),(0,t.jsx)("div",{className:"absolute top-1/2 right-0 transform -translate-y-1/2 bg-white/70 px-1 rounded",children:g(u.avg)}),(0,t.jsx)("div",{className:"absolute bottom-0 right-0 bg-white/70 px-1 rounded-tl",children:g(u.min)})]}),x&&(0,t.jsxs)("svg",{className:"w-full h-full overflow-visible z-0",viewBox:"0 0 100 100",preserveAspectRatio:"none",children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"chartGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:o,stopOpacity:"0.15"}),(0,t.jsx)("stop",{offset:"100%",stopColor:o,stopOpacity:"0.0"})]})}),(0,t.jsx)("line",{x1:"0",y1:"0",x2:"100",y2:"0",stroke:"#f1f5f9",strokeWidth:"1",vectorEffect:"non-scaling-stroke"}),(0,t.jsx)("line",{x1:"0",y1:"50",x2:"100",y2:"50",stroke:"#f1f5f9",strokeWidth:"1",strokeDasharray:"4 4",vectorEffect:"non-scaling-stroke"}),(0,t.jsx)("line",{x1:"0",y1:"100",x2:"100",y2:"100",stroke:"#f1f5f9",strokeWidth:"1",vectorEffect:"non-scaling-stroke"}),(0,t.jsx)("line",{x1:"0",y1:50,x2:"100",y2:50,stroke:"#94a3b8",strokeWidth:"1",strokeDasharray:"2 2",opacity:"0.3",vectorEffect:"non-scaling-stroke"}),(0,t.jsx)("path",{d:x.areaPath,fill:"url(#chartGradient)"}),(0,t.jsx)("path",{d:x.linePath,fill:"none",stroke:o,strokeWidth:"2",vectorEffect:"non-scaling-stroke",strokeLinejoin:"round",className:"drop-shadow-sm"})]}),x&&x.points[y]&&(0,t.jsx)("div",{className:"absolute w-2.5 h-2.5 bg-accent-green rounded-full border border-white shadow-sm z-10 pointer-events-none",style:{left:`${x.points[y].x}%`,top:`${x.points[y].y}%`,transform:"translate(-50%, -50%)"}}),x&&x.points[w]&&(0,t.jsx)("div",{className:"absolute w-2.5 h-2.5 bg-red-500 rounded-full border border-white shadow-sm z-10 pointer-events-none",style:{left:`${x.points[w].x}%`,top:`${x.points[w].y}%`,transform:"translate(-50%, -50%)"}})]})})]})}e.s(["default",()=>y],77611);var w=e.i(74080),j=e.i(37727),N=e.i(43531),k=e.i(62031);e.i(58013);var S=e.i(95412);e.i(80127);var S=S,C=e.i(90261),I=e.i(12696),P=e.i(22146),$=e.i(74539),R=e.i(63305);let L=[{name:"Email",getHref:(e,t)=>`mailto:?subject=${encodeURIComponent(`Check out: ${e}`)}&body=${encodeURIComponent(`I found this great deal: ${e}
2
3${t}`)}`,bgClass:"bg-slate-100 hover:bg-slate-200",icon:(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-slate-600",children:[(0,t.jsx)("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),(0,t.jsx)("path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"})]}),external:!1},{name:"WhatsApp",getHref:(e,t)=>`https://wa.me/?text=${encodeURIComponent(`Check out this deal: ${e} - ${t}`)}`,bgClass:"bg-[#25D366] hover:bg-[#20bd5a]",icon:(0,t.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"white",children:(0,t.jsx)("path",{d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.
3198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"})}),external:!0},{name:"Instagram",getHref:()=>"https://instagram.com",bgClass:"bg-gradient-to-br from-[#833AB4] via-[#E1306C] to-[#F77737] hover:opacity-90",icon:(0,t.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"white",children:(0,t.jsx)("path",{d:"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"})}),external:!0},{name:"X",getHref:(e,t)=>`https://twitter.com/intent/tweet?text=${encodeURIComponent(`Check out: ${e}`)}&url=${encodeURIComponent(t)}`,bgClass:"bg-black hover:bg-slate-800",icon:(0,t.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"white",children:(0,t.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),external:!0},{name:"Facebook",getHref:(e,t)=>`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(t)}`,bgClass:"bg-[#1877F2] hover:bg-[#166fe5]",icon:(0,t.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"white",children:(0,t.jsx)("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"})}),external:!0}],z="0.75em";function E({isOpen:e,onClose:a,productTitle:s,productImage:l,price:i,shareUrl:n,zIndex:c=50}){let[d,u]=(0,r.useState)("idle");(0,r.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=t}},[e]);let m=(0,r.useCallback)(async e=>{if(e.stopPropagation(),n)try{await navigator.clipboard.writeText(n),u("copied"),setTimeout(()=>u("idle"),2e3)}catch(e){console.error("Failed to copy link:",e)}},[n]),h=(0,r.useCallback)(e=>{e.stopPropagation(),a()},[a]);return e&&"undefined"!=typeof document?(0,w.createPortal)((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50",style:{zIndex:c},onClick:h}),(0,t.jsxs)("div",{className:"fixed left-1/2 top-1/2 w-[90vw] max-w-[380px] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-2xl bg-panel-bg shadow-2xl",style:{zIndex:c+1},onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"brand-soft-border flex items-center justify-between border-b px-5 py-4",children:[(0,t.jsx)($.default,{className:"h-5 w-auto",color:"blue"}),(0,t.jsx)("button",{onClick:h,className:"brand-icon-button rounded-full p-1 transition-colors focus:outline-none focus-visible:ring-2","aria-label":"Close",children:(0,t.jsx)(R.BrandIcon,{name:"close",defaultIcon:j.X,className:"h-5 w-5"})})]}),(0,t.jsxs)("div",{className:"brand-soft-border flex items-center gap-4 border-b px-5 py-4",children:[(0,t.jsx)("div",{className:"brand-soft-border relative h-16 w-16 shrink-0 rounded border bg-panel-bg p-1",children:(0,t.jsx)(o,{src:l,alt:s,fill:!0,sizes:"64px",className:"object-contain"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h4",{className:"text-sm font-bold text-foreground line-clamp-2 leading-tight",children:s}),i&&(0,t.jsxs)("div",{className:"flex items-baseline gap-1.5 mt-1",children:[(0,t.jsx)("span",{className:"brand-price-value text-lg font-extrabold",children:i.full}),(0,t.jsxs)("span",{className:"brand-muted-copy text-xs",children:["at ",i.merchant]})]})]})]}),(0,t.jsxs)("div",{className:"brand-soft-border border-b px-5 py-4",children:[(0,t.jsx)("div",{className:"brand-label-copy mb-2 text-[10px]",children:"Share Link"}),(0,t.jsxs)("div",{className:"brand-share-url-surface flex items-center gap-2 rounded-full border px-4 py-2.5",children:[(0,t.jsx)(R.BrandIcon,{name:"share",defaultIcon:k.Share2,className:"h-4 w-4 shrink-0 text-text-muted"}),(0,t.jsx)("span",{className:"brand-muted-copy brand-share-url-text flex-1 truncate text-sm",children:n}),(0,t.jsx)("button",{onClick:m,className:`shrink-0 flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-bold uppercase transition-colors ${"copied"===d?"brand-share-copy-button-copied":"bg-slate-200 text-text-muted hover:bg-slate-300"}`,children:"copied"===d?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(R.BrandIcon,{name:"check",defaultIcon:N.Check,className:"h-3 w-3"}),"Copied"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})]}),"Copy"]})})]})]}),(0,t.jsxs)("div",{className:"px-5 py-4",children:[(0,t.jsx)("div",{className:"brand-label-copy mb-3 text-[10px]",children:"Social"}),(0,t.jsx)("div",{className:"brand-muted-surface flex items-center gap-3 border p-3",style:{borderRadius:z},children:L.map(e=>(0,t.jsx)("a",{href:e.getHref(s,n),target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,onClick:e=>e.stopPropagation(),className:`w-11 h-11 ${e.bgClass} flex items-center justify-center transition-colors`,style:{borderRadius:z},"aria-label":`Share via ${e.name}`,children:e.icon},e.name))})]})]})]}),document.body):null}function T({productId:e,productUrl:t,hawkModelId:a,enabled:s=!0}={}){let[l,i]=(0,r.useState)(!1),{productPathSegment:n}=(0,C.useCategoryDefinition)(),o=(0,I.useBrandOptional)(),c=(0,r.useMemo)(()=>(function(e,t,r=!0,a,s,l){if(!r)return"";if(t){let e=l?(0,P.shopPathForBrand)(t,l):t;return`${window.location.origin}${e}`}if(e){let t={hawkModelId:a,productPathSegment:s??"tv"},r=l?(0,S.buildPublicProductSharePath)(e,l,t):(0,S.buildProductSharePath)(e,t);return`${window.location.origin}${r}`}return window.location.href})(e,t,s,a,n,o?.brand),[e,t,s,a,n,o]),d=(0,r.useCallback)(e=>{e?.stopPropagation(),i(!0)},[]);return{isOpen:l,open:d,close:(0,r.useCallback)(()=>{i(!1)},[]),toggle:(0,r.useCallback)(e=>{e?.stopPropagation(),i(e=>!e)},[]),shareUrl:c}}e.s(["default",()=>E,"useSharePopup",()=>T],13486);var M=e.i(56918);
3function D(e){let t=e.trim(),r=t.match(/^(\d+(?:\.\d+)?)\s*-?\s*in(?:ch(?:es)?)?$/i);return r?`${r[1]}"`:t.replace(/(\d+(?:\.\d+)?)\s*-\s*inch(?:es)?\b/gi,'$1"').replace(/(\d+(?:\.\d+)?)\s*-\s*in\b/gi,'$1"')}function O({sizeOptions:e,selectedSize:a,onSizeChange:s,productName:l,compact:i=!1,className:n="",numberFormatLocale:o=(0,b.pricingRegionToNumberFormatLocale)("GB")}){let c=[...e].sort((e,t)=>e.bestPrice-t.bestPrice)[0],[d,u]=(0,r.useState)(a||c?.size||""),m=a??d;if((0,r.useEffect)(()=>{!a&&c&&s&&s(c)},[]),0===e.length)return null;if(1===e.length){let r=e[0],a=D(r.size);return(0,t.jsx)("span",{className:`
4          inline-flex ${i?"px-2 py-1 text-[10px]":"px-2.5 py-1 text-xs"}
5          brand-size-option rounded-md font-medium transition-all ${n}
6        `,"data-selected":"true",title:`${r.size} - ${r.currency}${r.bestPrice.toLocaleString(o)}`,children:a})}return(0,t.jsx)("div",{className:`flex flex-wrap gap-1.5 ${n}`,children:e.map((e,r)=>{let a,n=e.size===m,c=D(e.size);return(0,t.jsx)("button",{onClick:()=>{(0,M.trackElementInteraction)({id:"product-size-selector",name:"Size",label:e.size,text:l??void 0}),u(e.size),s?.(e)},className:`
7              ${i?"px-2 py-1 text-[10px]":"px-2.5 py-1 text-xs"}
8              brand-size-option rounded-md font-medium transition-all
9            `,"data-selected":n?"true":void 0,title:`${e.size} - ${e.currency}${e.bestPrice.toLocaleString(o)}`,children:c},(a=e.offer.id||e.offer.productKey||e.offer.affiliateLink||e.offer.price.toString(),`${e.size}-${e.modelId??"model"}-${a}-${r}`))})})}function _(e,t){let r=t?.sharedModelInfo;if(!e&&!r)return e??void 0;let a={...e??{}};return r?.screen_type&&!a.screen_type&&(a.screen_type=r.screen_type),r?.resolution&&!a.resolution&&(a.resolution=r.resolution),r?.brand&&!a.brand&&(a.brand=r.brand),a}function A({sizeOptions:e,selectedSize:a,onSizeChange:s,productName:l,modelInfo:i,model:n,compact:o=!1,className:c="",numberFormatLocale:d}){let u=e.length>0,m=(0,r.useMemo)(()=>_(i,n),[i,n]),h=m?.screen_size?.trim(),p=m?.screen_type?.trim();return u&&h&&p?(0,t.jsxs)("div",{className:`flex flex-wrap items-center gap-3 ${c}`,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"brand-size-label text-[10px]",children:"Size"}),(0,t.jsx)(O,{sizeOptions:e,selectedSize:a,onSizeChange:s,productName:l,compact:o,numberFormatLocale:d})]}),(0,t.jsxs)("div",{className:"brand-spec-pill flex items-center gap-1.5 rounded border px-2 py-1",children:[(0,t.jsx)("span",{className:"brand-size-label text-[10px]",children:"Type"}),(0,t.jsx)("span",{className:"brand-size-value text-xs font-semibold",children:p})]})]}):null}e.s(["default",()=>A,"mergeDisplayModelInfo",()=>_],29120);let B=(0,l.default)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]);e.s(["ListChecks",()=>B],63804)},24095,e=>{"use strict";function t(e){let t=e.match(/^([\d.]+)\s*(GB|TB)/i);if(!t)return 1/0;let r=parseFloat(t[1]);return"TB"===t[2].toUpperCase()?1024*r:r}function r(e,r,a){return"natural"===a?e.localeCompare(r,void 0,{numeric:!0,sensitivity:"base"}):"size"===a?t(e)-t(r):0}e.s(["compareSpecValues",()=>r])},83773,e=>{"use strict";var t=e.i(85149);function r(e){let r=(0,t.getFilterParamValues)(e,"q")[0]??"";return r||((0,t.getFilterParamValues)(e,"utm_term")[0]??"")}function a(e){e.delete("q"),e.delete("utm_term")}e.s(["clearSearchQueryUrlParams",()=>a,"resolveSearchQueryFromURLSearchParams",()=>r])},28266,6945,39841,66894,16599,e=>{"use strict";var t=e.i(43476),r=e.i(71645),a=e.i(74080);e.i(58013);var s=e.i(31763),l=e.i(78454),i=e.i(96054),n=e.i(22602),o=e.i(8145),c=e.i(80127),d=e.i(73988),u=e.i(36023),m=e.i(23945),h=e.i(37727),p=e.i(62031),f=e.i(73708),x=e.i(73375),b=e.i(63059),g=e.i(98361),v=e.i(76838),y=e.i(38982),w=e.i(87592),j=e.i(36086),N=e.i(12696),k=e.i(22658),S=e.i(90261),C=e.i(38532),I=e.i(94765),P=e.i(21439),$=e.i(59583),R=e.i(27577),L=e.i(77611),z=e.i(13486),E=e.i(14741),T=e.i(29120),M=e.i(63804),D=e.i(55436),O=e.i(24095);let _=new Set(["screen_size","available_sizes"]),A=new Set(["model_image_url","product_name","product_alias","price","estimated_value","availability","product_availability","free_shipping_us","order_code","brand"]),B=/price|msrp/i,F=/warranty/i,U=/^(not applicable|not available|n\/?a|unknown|tbd|null|undefined)$/i;function Q(e){let t=e.trim().match(/^([\d.]+)\s*(.*)$/);return t?{num:parseFloat(t[1]),rest:t[2].trim().toLowerCase()}:null}function q(e,t){if(!e)return[];let r=new Map((t??[]).map(e=>[e.hawkLabelType,e.sortMode])),a=new Map((t??[]).map(e=>[e.hawkLabelType,e.label])),s=[];for(let[t,l]of Object.entries(e)){if(A.has(t)||_.has(t)||B.test(t)||F.test(t)||"string"!=typeof l||!l.trim()||/^https?:\/\//i.test(l)||U.test(l.trim()))continue;let e=(a.get(t)??t.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())).replace(/\bColour(s?)\b/gi,"Color$1").replace(/\bGrey\b/gi,"Gray"),i=function(e,t){let r=e.split(", ").filter(
9Boolean);return r.length<2?e:"natural"===t||"size"===t?[...r].sort((e,r)=>(0,O.compareSpecValues)(e,r,t)).join(", "):(function(e){let t=e.map(Q);if(t.every(e=>null!==e)){let r=new Set(t.map(e=>e.rest));if(r.size<=1)return[...e].sort((e,t)=>Q(e).num-Q(t).num);if([...r].every(e=>"gb"===e||"tb"===e))return[...e].sort((e,t)=>(0,O.compareSpecValues)(e,t,"size"))}return[...e].sort((e,t)=>(0,O.compareSpecValues)(e,t,"natural"))})(r).join(", ")}(l.trim(),r.get(t));s.push({key:t,label:e,value:i})}let l=e=>e.toLowerCase().split(/\s+/),i=s.filter(e=>!s.some(t=>{var r,a;let s,i;return t.label!==e.label&&t.value===e.value&&(r=t.label,a=e.label,s=l(r),i=l(a),s.length<i.length&&s.every((e,t)=>e===i[t]))})),n=new Map;for(let{key:e,label:t,value:r}of i){let a=n.get(t);a?(a.keys.push(e),a.values.includes(r)||a.values.push(r)):n.set(t,{keys:[e],values:[r]})}return Array.from(n.entries()).map(([e,{keys:t,values:r}])=>({key:t.join("+"),label:e,value:r.join(", ")})).sort((e,t)=>e.label.localeCompare(t.label))}function H(e,r){if(!r)return e;let a=e.toLowerCase().indexOf(r);return -1===a?e:(0,t.jsxs)(t.Fragment,{children:[e.slice(0,a),(0,t.jsx)("mark",{className:"rounded-sm bg-[var(--brand-primary)]/20 px-0.5 text-inherit",children:e.slice(a,a+r.length)}),e.slice(a+r.length)]})}function V({label:e,value:r,query:a,zebra:s}){return(0,t.jsxs)("div",{className:`flex items-start justify-between gap-3 px-5 py-2 text-sm transition-colors hover:bg-slate-100 ${s?"bg-[var(--brand-page-bg-alt)]":""}`,children:[(0,t.jsx)("dt",{className:"text-text-muted font-medium",children:H(e,a)}),(0,t.jsx)("dd",{className:"max-w-[50%] font-semibold text-foreground text-right",children:H(r,a)})]})}function W({modelInfo:e,model:a,specFilters:s,className:l=""}){let[i,n]=(0,r.useState)(""),o=(0,r.useMemo)(()=>(0,T.mergeDisplayModelInfo)(e,a),[e,a]),c=(0,r.useMemo)(()=>q(o,s),[o,s]);if(0===c.length)return null;let d=c.length>=8,u=d?i.trim().toLowerCase():"",m=u?c.filter(e=>e.label.toLowerCase().includes(u)||e.value.toLowerCase().includes(u)):c;return(0,t.jsxs)("div",{className:l,children:[(0,t.jsx)("style",{children:`
10        .product-specs-scroll::-webkit-scrollbar { width: 6px; }
11        .product-specs-scroll::-webkit-scrollbar-track { background: transparent; }
12        .product-specs-scroll::-webkit-scrollbar-thumb { background: var(--brand-primary); opacity: 0.25; border-radius: 999px; }
13        .product-specs-scroll { scrollbar-width: thin; scrollbar-color: var(--brand-primary) transparent; }
14      `}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,t.jsx)(M.ListChecks,{size:20,className:"text-[var(--brand-primary)]"}),(0,t.jsx)("h4",{className:"font-bold uppercase text-sm text-foreground tracking-wide",children:"Specifications"}),(0,t.jsx)("span",{className:"text-xs font-medium text-text-muted",children:u?`${m.length} of ${c.length}`:c.length})]}),(0,t.jsxs)("div",{className:"brand-soft-border overflow-hidden rounded-xl border bg-panel-bg shadow-sm",children:[d&&(0,t.jsx)("div",{className:"p-5 pb-3",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(D.Search,{size:14,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-text-muted"}),(0,t.jsx)("input",{type:"text",value:i,onChange:e=>n(e.target.value),placeholder:`Search ${c.length} specs…`,"aria-label":"Search specifications",className:"w-full rounded-lg border border-slate-200 bg-white py-2 pl-9 pr-8 text-sm text-foreground outline-none transition-colors placeholder:text-text-muted focus:border-[var(--brand-primary)] focus:ring-2 focus:ring-[var(--brand-primary)]/15"}),i&&(0,t.jsx)("button",{type:"button",onClick:()=>n(""),"aria-label":"Clear search",className:"absolute right-2.5 top-1/2 -translate-y-1/2 rounded-full p-0.5 text-text-muted transition-colors hover:bg-slate-100 hover:text-foreground",children:(0,t.jsx)(h.X,{size:14})})]})}),(0,t.jsx)("div",{className:`product-specs-scroll overflow-visible sm:max-h-[260px] sm:overflow-y-auto ${d?"":"pt-5"}`,children:m.length>0?(0,t.jsx)("dl",{className:"pb-3",children:m.map((e,r)=>(0,t.jsx)(V,{label:e.label,value:e.value,query:u,zebra:r%2==1},e.key))}):(0,t.jsxs)("div",{className:"px-5 py-8 text-center",children:[(0,t.jsxs)("p",{className:"text-sm text-text-muted",children:["No specs match “",i,"”."]}),(0,t.jsx)("button",{type:"button",onClick:()=>n(""),className:"mt-1 text-xs font-bold uppercase tracking-wide text-[var(--brand-primary)] hover:underline",children:"Clear search"})]})})]})]})}e.s(["getDisplaySpecs",()=>q],6945);var G=e.i(66027),K=e.i(14956);function X(e,t,r,a){let s=a&&null!=e&&!!t,{data:l,isLoading:i}=(0,G.useQuery)({queryKey:["refined-model-info",e,t,r],queryFn:()=>(0,K.fetchPricing)(t,r,void 0,{hawkModelId:e??void 0}),enabled:s,staleTime:3e5});return{canonicalSpecs:l?.canonicalSpecs??null,model:l?.model??null,isLoading:s&&i}}e.s(["useRefinedModelInfo",()=>X],39841);var J=e.i(22146),Y=e.i(57688),Z=e.i(18566),ee=e.i(83773);function et({quote:e,specHighlights:r=[],variant:a="compact"}){let s,{brand:l,assetPath:i}=(0,N.useBrand)(),{label:n,keepUppercase:o}=(s=(0,Z.useSearchParams)(),(0,ee.resolveSearchQueryFromURLSearchParams)(s).trim()?{label:"Why we picked this for you",keepUppercase:!0}:{label:"Why it's right for you",keepUppercase:!0}),c=i(l.logos.quoteMarkSrc),d=r.slice(0,3),u=`brand-ai-quote-label min-w-0 text-[10px] font-bold tracking-wide ${o?"uppercase":"normal-case"}`;return"expanded"===a?(0,t.jsxs)("div",{className:"brand-ai-quote mb-6 rounded-xl p-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsx)("div",{className:"w-6 h-6 rounded-full overflow-hidden border-2 border-white bg-[var(--brand-surface-primary)] p-[3px] shadow-md flex items-center justify-center shrink-0",children:(0,t.jsx)(Y.default,{src:c,alt:l.displayName,width:24,height:24,unoptimized:!0,className:"w-full h-full object-contain"})}),(0,t.jsx)("p",{className:u,children:n})]}),(0,t.jsx)("p",{className:"text-sm text-foreground leading-relaxed",children:e}),d.length>0&&(0,t.jsxs)("div",{className:"brand-ai-highlight-section mt-3 border-t pt-3",children:[(0,t.jsx)("p",{className:"brand-ai-quote-label mb-2 text-[10px] font-bold uppercase tracking-wide",children:"AI matched specs"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:d.map((e,r)=>
14(0,t.jsxs)("span",{className:"brand-ai-spec-pill rounded-md px-2 py-1 text-[11px] leading-tight text-foreground",children:[(0,t.jsxs)("span",{className:"brand-ai-spec-label font-bold",children:[e.label,":"]})," ",e.value]},`${e.label}-${r}`))})]})]}):(0,t.jsxs)("div",{className:"brand-ai-quote mb-4 rounded-lg p-2.5 sm:mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,t.jsx)("div",{className:"w-5 h-5 rounded-full overflow-hidden border-2 border-white bg-[var(--brand-surface-primary)] p-[2px] shadow-md flex items-center justify-center shrink-0",children:(0,t.jsx)(Y.default,{src:c,alt:l.displayName,width:20,height:20,unoptimized:!0,className:"w-full h-full object-contain"})}),(0,t.jsx)("p",{className:u,children:n})]}),(0,t.jsx)("p",{className:"text-[11px] text-foreground leading-relaxed",children:e}),d.length>0&&(0,t.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:d.map((e,r)=>(0,t.jsxs)("span",{className:"brand-ai-spec-pill rounded px-1.5 py-1 text-[10px] leading-tight text-foreground",children:[(0,t.jsxs)("span",{className:"brand-ai-spec-label font-bold",children:[e.label,":"]})," ",e.value]},`${e.label}-${r}`))})]})}e.s(["default",()=>et],66894);var er=e.i(74539),ea=e.i(63305),es=e.i(25092);let el={overview:"Overview",specifications:"Specs",retailers:"Prices",marketStats:"Market Stats",priceHistory:"Price Trends",pictures:"Pictures"},ei=["screen_size","size","colour","color","memory_storage_options","storage_options","storage","memory","ram","deal","offer"],en=new Map(ei.map((e,t)=>[e,t]));function eo(e){let t=new Map;for(let r of e.labels??[]){let e=String(r.display_value??(null!=r.value?String(r.value):"")).replace(/\s+/g," ").trim();if(!e)continue;let a=r.type?.toLowerCase()??"",s=en.has(a),l=/\b\d+\s*(?:gb|tb|inch|inches)\b/i.test(e)||/\b(?:oled|amoled|qled|lcd|ssd|sim\s*free|contract|student|deal|black|white|silver|grey|gray|blue|green|red|pink)\b/i.test(e);if(!s&&!l)continue;let i=en.get(a)??ei.length+t.size,n=`${a}:${e.toLowerCase()}`;t.has(n)||t.set(n,{text:e,priority:i})}return Array.from(t.values()).sort((e,t)=>e.priority-t.priority||e.text.localeCompare(t.text)).map(e=>e.text).slice(0,4)}function ec({product:e,offers:M=[],bestOffer:D,marketStats:O,modelInfo:_,priceHistory:A=[],priceStats:B,onClose:F,isFullPage:U=!1,index:Q=0,region:H="GB",aiQuote:V,aiSpecHighlights:K,today:Y,sizeOptions:Z,selectedSize:ee,onSizeChange:ei,modelId:en,noDataForSelectedSize:ec=!1,hideRankings:ed=!1,model:eu,activeTab:em="overview",availableTabs:eh,onTabChange:ep,onSpecsAvailabilityChange:ef}){let ex=(0,N.useBrandOptional)(),eb=ex?.brand.affiliateTrackingPrefix,eg=ex.brand.contentSource,ev=(0,k.getBrandByContentSource)(eg),ey=(0,S.useCategoryDefinition)(),{canonicalSpecs:ew,isLoading:ej}=X(en??eu?.modelId??null,(0,l.getProductPricingLookupKey)(e),H,!0),eN=(0,r.useMemo)(()=>q(ew,ey.specFilters).length>0,[ew,ey.specFilters]);(0,r.useEffect)(()=>{ej||ef?.(eN)},[ej,eN,ef]);let ek=(0,r.useSyncExternalStore)(e=>{let t=window.matchMedia("(max-width: 639px)");return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},()=>window.matchMedia("(max-width: 639px)").matches,()=>!1),eS=ek&&!U,[eC,eI]=(0,r.useState)(!1),[eP,e$]=(0,r.useState)("overview"),eR=(U?eP:em)==="pictures",eL=(0,r.useMemo)(()=>(0,s.getReviewArticleId)(e),[e]),{images:ez,isLoading:eE}=function(e,t){let r=t&&!!e,{data:a,isLoading:s}=(0,G.useQuery)({queryKey:["article-gallery-images",e],queryFn:async()=>{let t=`${(0,J.getBrowserShopBasePath)()}/api/content/article-images/${encodeURIComponent(e)}`,r=await fetch(t,{signal:AbortSignal.timeout(15e3)});if(!r.ok)throw Error(`Article images API error: ${r.status}`);return(await r.json()).images},enabled:r,staleTime:3e5});return{images:a??[],isLoading:r&&s}}(eL,eR),eT=(0,N.useEnableMultiSiteReviews)(),eM=(0,r.useMemo)(()=>eL?null:(0,s.getPrimaryReviewArticle)(e,eT,eg)?.article.id??null,[e,eT,eg,eL]),{images:eD,isLoading:eO}=(0,i.useOtherSiteArticleImages)(eM,eR),e_=(0,r.useRef)(null),[eA,eB]=(0,r.useState)(!1);(0,r.useEffect)(()=>{queueMicrotask(()=>{eB(!0)})},[]),(0,r.useEffect)(()=>
14{if(eS){let e=setTimeout(()=>{eI(!0)},50);return()=>clearTimeout(e)}},[eS]),(0,r.useEffect)(()=>{if(!eS||!ep||!e_.current)return;let e=window.requestAnimationFrame(()=>{let e=e_.current?.querySelector("[data-mobile-active-tab='true']");e?.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})});return()=>{window.cancelAnimationFrame(e)}},[em,ep,eS]),(0,r.useEffect)(()=>{if(!eS)return;let e=window.scrollY,t={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,right:document.body.style.right,overflow:document.body.style.overflow};return document.body.style.position="fixed",document.body.style.top=`-${e}px`,document.body.style.left="0",document.body.style.right="0",document.body.style.overflow="hidden",()=>{document.body.style.position=t.position,document.body.style.top=t.top,document.body.style.left=t.left,document.body.style.right=t.right,document.body.style.overflow=t.overflow,window.scrollTo(0,e)}},[eS]);let eF=()=>{eS?(eI(!1),setTimeout(()=>{F()},300)):F()},eU=e.name||e.id||e.articles?.[0]?.id||"",{isOpen:eQ,toggle:eq,close:eH,shareUrl:eV}=(0,z.useSharePopup)({productId:eU||void 0,enabled:!!eU,hawkModelId:(0,c.toPositiveHawkModelId)(en)}),{trackPriceComparisonClick:eW,trackReviewClick:eG,trackShare:eK}=(0,j.useAnalytics)({totalProducts:M.length}),eX=(0,l.getProductPricingLookupKey)(e),eJ=(0,r.useMemo)(()=>{let e=new Map;return M.forEach(t=>{let r,a,s=(r=t.merchantName.trim().toLowerCase(),a=eo(t).join("|"),`${r}::${a||"base"}`);if(e.has(s)){let r=e.get(s);t.price<r.price&&e.set(s,t)}else e.set(s,t)}),Array.from(e.values()).sort((e,t)=>e.price-t.price)},[M]),eY=(0,r.useMemo)(()=>D?eA?(0,u.buildDealLink)({affiliateLink:D.affiliateLink,productName:eX,merchantName:D.merchantName,modelId:D.id?parseInt(D.id,10):void 0,region:H,affiliateTrackingPrefix:eb}):{rewrittenLink:D.affiliateLink,revenueId:""}:null,[eA,D,eX,H,eb]),eZ=(0,r.useMemo)(()=>(0,d.pricingRegionToNumberFormatLocale)(H),[H]),e0=D?(0,w.formatCurrency)((0,d.pricingRegionToCurrencySymbol)(H),D.price,eZ):null,e1={backgroundColor:"var(--ui-retailer-banner-background-color, var(--brand-surface-secondary))"},e2={color:"var(--ui-retailer-banner-copy-color, var(--brand-text-primary))"},e4=(0,r.useMemo)(()=>{let e=new Map;return eJ.forEach(t=>{let r=eA?(0,u.buildDealLink)({affiliateLink:t.affiliateLink,productName:eX,merchantName:t.merchantName,modelId:t.id?parseInt(t.id,10):void 0,region:H,affiliateTrackingPrefix:eb}):{rewrittenLink:t.affiliateLink,revenueId:""};e.set(t.id,r)}),e},[eA,eJ,eX,H,eb]),e5=(0,r.useCallback)((t,r)=>{r.stopPropagation();let a=e4.get(t.id)||(0,u.buildDealLink)({affiliateLink:t.affiliateLink,productName:eX,merchantName:t.merchantName,modelId:t.id?parseInt(t.id,10):void 0,region:H,affiliateTrackingPrefix:eb});eW({product:{name:eX,price:t.price,currency:(0,d.shopRegionToDisplayCurrency)(H??"US"),link:a.rewrittenLink,modelId:t.id?parseInt(t.id,10):void 0,brand:e.brand||void 0,inStock:!0},merchant:{name:t.merchantName},index:Q,revenueId:a.revenueId||void 0})},[eW,e.brand,Q,eX,H,eb,e4]),e3=(0,s.getSiteProductReview)(e,eg),e6=(0,r.useCallback)((t,r)=>{t.stopPropagation(),D&&eG({product:{name:eX,price:D.price,currency:(0,d.shopRegionToDisplayCurrency)(H??"US"),link:r?.reviewUrl||e3?.url||"",modelId:D.id?parseInt(D.id,10):void 0,brand:e.brand||void 0},merchant:{name:D.merchantName},index:Q})},[eG,eX,e.brand,e3?.url,D,Q,H]),e8=(0,r.useCallback)(t=>{t.currentTarget.blur(),eq(t),D&&eY&&eK({product:{name:eX,price:D.price,currency:(0,d.shopRegionToDisplayCurrency)(H??"US"),link:eY.rewrittenLink,modelId:D.id?parseInt(D.id,10):void 0,brand:e.brand||void 0},merchant:{name:D.merchantName},index:Q})},[eq,eK,e.brand,D,eY,Q,eX,H]),e7=(0,r.useCallback)(e=>{D&&e5(D,e)},[D,e5]),e9=eu?.images?.[0]??_?.model_image_url??eu?.model_image_url??"",te=(0,$.normalizeImageUrl)(e9,{width:$.IMAGE_RENDER_WIDTHS.productDetail})??"",tt=(0,r.useMemo)(()=>{let t=Array.isArray(eu?.images)&&eu.images.length>0?[{url:eu.images[0]}]:e9?[{url:e9}]:[],r=e=>{let t=e?.trim();return t&&"null"!==t.toLowerCase()?t:void 0},a=ez.map(e=>({url:e.src,alt:r(e.alt),caption:r(e.caption)})),s=(e.articles??[]).flatMap(e=>(e.images??[]).map(e=>({url:e.url,alt:r(e.alt),caption:r(e.caption)}))),l=eD.map(e=>({url:e.url,alt:r(e.alt),caption:r(e.caption)})),i=e=>"string"==typeof e&&e.trim().length>0,n=new Set,o=[];for(let e of t)!i(e.url)||n.has(e.url)||(n.add(e.url),o.push(e));let c=o.length;for(let e of[...a,...s,...l])!i(e.url)||n.has(e.url)||(n.add(e.url),o.push(e));return{images:o.map(e=>(0,$.normalizeImageUrl)(e.url,{width:$.IMAGE_RENDER_WIDTHS.productDetail})),officialCount:c,descriptions:o.map(e=>e.caption||e.alt)}},[ez,eD,eu,e9,e]),tr=tt.images,ta=tt.officialCount,ts=tt.descriptions,[tl,ti]=(0,r.useState)(null),[tn,to]=(0,r.useState)(!1),tc=tl&&tr.includes(tl)?tl:tr[0]??te,td=Math.max(tr.indexOf(tc),0),tu=ts[td],tm=td<ta,th=e=>(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 text-center",children:[(0,t.jsxs)("span",{className:`inline-flex items-center gap-1.5 rounded-full px-3 py-1 text-[10px] font-bold uppercase tracking-[0.16em] ${tm?"dark"===e?"border border-white/25 bg-white/10 text-white backdrop-blur-sm":"border border-[var(--brand-primary)]/20 bg-[var(--brand-primary)]/10 text-[var(--brand-primary)]":"dark"===e?"border border-amber-300/30 bg-amber-400/15 text-amber-300 backdrop-blur-sm":"border border-amber-200 bg-amber-50 text-amber-700"}`,children:[tm?(0,t.jsx)(v.BadgeCheck,{className:"h-3 w-3"}):(0,t.jsx)(y.FlaskConical,{className:"h-3 w-3"}),tm?"Official Product Image":"Test Images"]}),tu?(0,t.jsxs)("p",{className:"dark"===e?"max-w-2xl text-sm italic leading-relaxed text-white/90":"max-w-md text-sm italic leading-relaxed text-slate-600",children:["“",tu,"”"]}):null]}),tp=tr.length>1,tf=(0,r.useRef)(null),tx=(0,r.useCallback)(()=>
14{if(0===tr.length)return;let e=0===td?tr.length-1:td-1;ti(tr[e]??null)},[tr,td]),tb=(0,r.useCallback)(()=>{if(0===tr.length)return;let e=td===tr.length-1?0:td+1;ti(tr[e]??null)},[tr,td]),tg=(0,r.useCallback)(e=>{tf.current=e.touches[0]?.clientX??null},[]),tv=(0,r.useCallback)(e=>{let t=tf.current,r=e.changedTouches[0]?.clientX??null;if(tf.current=null,null==t||null==r||tr.length<2)return;let a=r-t;if(!(32>Math.abs(a))){if(a<0)return void tb();tx()}},[tr.length,tb,tx]);(0,r.useEffect)(()=>{if(!tn)return;let e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[tn]);let ty=(0,s.normalizeRating)(e3?.rating),tw=(0,r.useMemo)(()=>e3?.pros||[],[e3]),tj=(0,r.useMemo)(()=>e3?.cons||[],[e3]),tN=(0,r.useMemo)(()=>(0,E.extractReviewer)(e.articles,e3?.url),[e.articles,e3?.url]),tk=(0,r.useMemo)(()=>{let t=[],r=new Set;if(e3&&(t.push({site:eg,displayName:(0,s.getSiteDisplayName)(eg),verdict:e3.verdict||null,rating:ty,reviewUrl:e3.url,reviewer:tN,pros:tw,cons:tj,allowedReviewHostnames:ev?.site.hostnames,isOwnSite:!0}),r.add(eg)),eT)for(let[a,l]of Object.entries((0,s.getAllSiteArticlesWithReview)(e)))!r.has(a)&&l.productReview&&(r.add(a),t.push({site:a,displayName:(0,s.getSiteDisplayName)(a),verdict:l.productReview.verdict||null,rating:(0,s.normalizeRating)(l.productReview.rating),reviewUrl:l.productReview.url,reviewer:(0,E.extractReviewer)([l],l.productReview.url),pros:l.productReview.pros||[],cons:l.productReview.cons||[],isOwnSite:a===eg}));return 0===t.length&&t.push({site:eg,displayName:(0,s.getSiteDisplayName)(eg),verdict:null,rating:null,reviewUrl:void 0,reviewer:tN,pros:[],cons:[],allowedReviewHostnames:ex?.brand.site.hostnames,isOwnSite:!0}),t},[e,eT,eg,e3,ty,tN,tw,tj,ex,ev]),tS=(0,r.useMemo)(()=>tk.filter(e=>null!==e.rating),[tk]),tC=(0,r.useMemo)(()=>tS.length<1?null:{averageRating10:tS.reduce((e,t)=>e+t.rating,0)/tS.length,sites:tS.map(e=>e.site)},[tS]),tI=tC?.averageRating10??tS[0]?.rating??ty,tP=(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,t.jsx)(m.Store,{size:20,className:"text-[var(--brand-primary)]"}),(0,t.jsx)("h4",{className:"font-bold uppercase text-sm text-foreground tracking-wide",children:"Price Comparison"})]}),(0,t.jsx)("div",{className:ek?"overflow-hidden":"brand-soft-border overflow-hidden rounded-xl border bg-panel-bg shadow-sm",children:(0,t.jsx)("div",{className:"divide-y divide-slate-100 overflow-y-auto max-h-[288px]",children:eJ.length>0?eJ.map((e,r)=>{let a=(0,w.formatCurrency)((0,d.pricingRegionToCurrencySymbol)(H),e.price,eZ),s=eo(e);return(0,t.jsxs)("div",{className:"grid grid-cols-[2rem_1fr_auto_auto] items-center gap-2 p-4 text-center transition-colors hover:bg-[var(--brand-page-bg-alt)] sm:grid-cols-[3rem_minmax(140px,1fr)_minmax(220px,1.35fr)_minmax(120px,0.7fr)_minmax(104px,0.55fr)] sm:gap-4 sm:p-5",children:[(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)("div",{className:"brand-comparison-rank flex h-8 w-8 items-center justify-center rounded-full border text-sm font-bold",children:r+1})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-col items-center justify-center text-center",children:[(0,t.jsx)("div",{className:"flex min-w-0 flex-col items-center justify-center text-center",children:e.merchantLogo?(0,t.jsx)("div",{className:"flex min-h-[36px] w-[108px] items-center justify-center self-center sm:min-h-[48px] sm:w-[132px]",children:(0,t.jsx)(I.default,{src:(0,$.normalizeImageUrl)(e.merchantLogo,{width:480}),alt:e.merchantName,className:"h-auto max-h-[32px] w-auto max-w-full object-contain object-center sm:max-h-[40px]",fallbackType:"generic",width:480,height:120})}):null}),s.length>0?(0,t.jsx)("div",{className:"mt-1 flex max-w-full flex-wrap items-center justify-center gap-x-2 gap-y-1 text-center text-xs leading-4 text-[var(--brand-text-secondary)] [font-family:var(--font-brand-sans),ui-sans-serif,system-ui,sans-serif] sm:hidden",children:s.map(r=>(0,t.jsx)("span",{className:"whitespace-nowrap",children:r}
14,`${e.id}-${r}`))}):null]}),(0,t.jsx)("div",{className:"hidden min-w-0 sm:flex sm:flex-wrap sm:items-center sm:justify-start sm:gap-x-2 sm:gap-y-1 sm:text-left sm:text-[13px] sm:leading-5 sm:text-[var(--brand-text-secondary)] sm:[font-family:var(--font-brand-sans),ui-sans-serif,system-ui,sans-serif]",children:s.length>0?s.map(r=>(0,t.jsx)("span",{className:"whitespace-nowrap",children:r},`${e.id}-desktop-${r}`)):(0,t.jsx)("span",{className:"text-transparent",children:"."})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-col items-center justify-center text-center sm:min-w-[120px]",children:[0===r&&(0,t.jsx)("span",{className:"brand-lowest-label mb-1 whitespace-nowrap text-[9px] font-extrabold uppercase leading-none sm:text-[10px]",children:"LOWEST PRICE"}),(0,t.jsxs)("div",{className:"flex items-start text-foreground leading-none justify-center",children:[(0,t.jsx)("span",{className:"font-extrabold text-lg sm:text-2xl",children:a.major}),a.minor&&(0,t.jsx)("sup",{className:"text-[10px] sm:text-xs font-bold mt-1",children:a.minor})]})]}),(0,t.jsx)("div",{className:"flex w-full justify-center sm:justify-end",children:(0,t.jsx)("a",{href:e4.get(e.id)?.rewrittenLink??e.affiliateLink,target:"_blank",rel:"noopener noreferrer",onClick:t=>e5(e,t),className:"brand-comparison-button block w-full max-w-[120px] whitespace-nowrap rounded-[8px] px-2 py-3 text-center text-xs font-bold uppercase shadow-sm transition-all hover:shadow-md sm:max-w-[104px] sm:text-sm",...null!=en&&{"data-model-id":String(en)},...null!=e.merchantId&&{"data-merchant-id":String(e.merchantId)},...e.productKey&&{"data-product-key":e.productKey},...e.merchantName&&{"data-merchant-name":e.merchantName},children:"View"})})]},e.id)}):(0,t.jsx)("div",{className:"p-8 text-center text-text-muted italic text-sm",children:"No other offers found."})})})]}),t$=D?(0,t.jsx)(R.default,{currentPrice:D.price,currencySymbol:(0,d.pricingRegionToCurrencySymbol)(H),averagePrice:B?.average,lowestPrice:B?.lowest?.price,lowestDate:B?.lowest?.date,highestPrice:B?.highest?.price,highestDate:B?.highest?.date,numberFormatLocale:eZ}):null,tR=D?(0,t.jsx)(L.default,{history:A,currentPrice:D.price,currencySymbol:(0,d.pricingRegionToCurrencySymbol)(H),days:60,today:Y,numberFormatLocale:eZ}):null,tL=(0,t.jsxs)("div",{className:`${ek?"":"brand-soft-border rounded-lg border bg-panel-bg"} p-6 text-center`,children:[(0,t.jsx)("p",{className:"text-text-muted font-medium",children:"Data not available for this screen size."}),(0,t.jsx)("p",{className:"text-text-muted text-sm mt-1",children:"Price history and comparison are not tracked for this variant."})]}),tz=(e,r)=>(0,t.jsxs)("div",{className:`${ek?"":"brand-soft-border rounded-lg border bg-panel-bg"} p-6 text-center`,children:[(0,t.jsx)("p",{className:"text-foreground font-semibold",children:e}),(0,t.jsx)("p",{className:"text-text-muted mt-1 text-sm",children:r})]}),tE=function(e){let t=new Map;for(let r of e){let e=function(e){let t=e.trim().toLowerCase().replace(/\s+/g," ");return t.replace(/\btv\b/gi,"").replace(/\s+/g," ").trim()}(r.label);if(!e)continue;let a=t.get(e);a?a.push(r.label):t.set(e,[r.label])}let r=[];for(let[e,a]of t)r.push({key:e,displayLabel:0===a.length?"":[...a].sort((e,t)=>{let r=e.length-t.length;return 0!==r?r:e.localeCompare(t,"en")})[0],count:a.length});return r.sort((e,t)=>{let r=t.count-e.count;return 0!==r?r:e.displayLabel.localeCompare(t.displayLabel,"en")}),r}(e.rankings??[]),tT=!ed&&tE.length>0?(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("h4",{className:"brand-muted-copy mb-4 flex items-center gap-2 text-xs font-bold uppercase tracking-wider",children:[(0,t.jsx)(er.default,{className:"h-4 w-auto",color:"blue"})," Rankings"]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:tE.map(e=>(0,t.jsxs)("span",{className:`${e.count>1?"relative inline-flex items-center pl-3 pr-11 pt-1.5 pb-1.5":"inline-flex items-center px-3 py-1.5"} brand-ranking-pill rounded-lg border text-sm`,children:[(0,t.jsx)("span",{className:"font-bold",children:e.displayLabel}),e.count>1?(0,t.jsx)("span",{className:"brand-ranking-count absolute -top-2 right-[-5px] flex size-5 items-center justify-center rounded-full border text-s font-bold tabular-nums leading-none","aria-label":`${e.count} guides`,children:e.count}):null]},e.key))})]}):null,tM=tn&&"undefined"!=typeof document?(0,a.createPortal)((0,t.jsxs)("div",{className:"fixed inset-0 z-[90] bg-black/95",children:[(0,t.jsx)("button",{type:"button",onClick:()=>to(!1),className:"absolute right-4 top-4 z-10 flex h-11 w-11 items-center justify-center rounded-full border border-white/15 bg-black/55 text-white backdrop-blur transition-colors hover:bg-black/75 focus:outline-none focus-visible:outline-none","aria-label":`Close fullscreen gallery for ${eX}
14`,children:(0,t.jsx)(ea.BrandIcon,{name:"close",defaultIcon:h.X,className:"h-5 w-5"})}),(0,t.jsx)("div",{className:"flex h-full w-full items-center justify-center p-4 sm:p-6",children:(0,t.jsxs)("div",{className:"relative h-full w-full max-w-6xl overflow-hidden rounded-2xl bg-black",onTouchStart:tg,onTouchEnd:tv,children:[(0,t.jsx)(I.default,{src:tc,alt:tu||eX,fill:!0,sizes:"100vw",className:"object-contain",fallbackType:"generic"}),tp?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:tx,className:"absolute left-4 top-1/2 z-10 flex h-11 w-11 -translate-y-1/2 items-center justify-center rounded-full border border-white/15 bg-black/55 text-white shadow-sm transition-colors hover:bg-black/75 focus:outline-none focus-visible:outline-none","aria-label":`View previous image for ${eX}`,children:(0,t.jsx)(ea.BrandIcon,{name:"chevronLeft",defaultIcon:x.ChevronLeft,className:"h-5 w-5"})}),(0,t.jsx)("button",{type:"button",onClick:tb,className:"absolute right-4 top-1/2 z-10 flex h-11 w-11 -translate-y-1/2 items-center justify-center rounded-full border border-white/15 bg-black/55 text-white shadow-sm transition-colors hover:bg-black/75 focus:outline-none focus-visible:outline-none","aria-label":`View next image for ${eX}`,children:(0,t.jsx)(ea.BrandIcon,{name:"chevronRight",defaultIcon:b.ChevronRight,className:"h-5 w-5"})})]}):null,tr.length>0?(0,t.jsxs)("div",{className:"absolute bottom-4 right-4 z-10 rounded-full bg-black/70 px-3 py-1 text-xs font-bold uppercase tracking-[0.18em] text-white",children:[td+1," / ",tr.length]}):null,tr.length>0?(0,t.jsx)("div",{className:"absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/85 via-black/50 to-transparent px-4 pb-5 pt-14 sm:px-6",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl",children:th("dark")})}):null]})})]}),document.body):null,tD=(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f.Image,{size:20,className:"text-[var(--brand-primary)]"}),(0,t.jsx)("h4",{className:"text-lg font-semibold text-foreground",children:"Product Gallery"})]}),(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-[0.16em] text-slate-400",children:eE||eO?"Loading…":1===tr.length?"1 Image":`${tr.length} Images`})]}),eE||eO?(0,t.jsxs)("div",{className:`animate-pulse overflow-hidden p-4 sm:p-6 ${ek?"":"brand-soft-border rounded-xl border bg-panel-bg shadow-sm"}`,children:[(0,t.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,t.jsx)("div",{className:"aspect-[4/3] rounded-lg bg-slate-100 sm:aspect-square"})}),(0,t.jsx)("div",{className:"mt-4 flex gap-3 overflow-x-auto pb-1",children:[0,1,2,3].map(e=>(0,t.jsx)("div",{className:"h-16 w-24 shrink-0 rounded-xl bg-slate-100"},e))})]}):(0,t.jsxs)("div",{className:`overflow-hidden p-4 sm:p-6 ${ek?"":"brand-soft-border rounded-xl border bg-panel-bg shadow-sm"}`,children:[(0,t.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,t.jsxs)("div",{className:"brand-product-image-frame relative aspect-[4/3] overflow-hidden rounded-lg bg-[var(--ui-muted-surface-background-color,var(--color-slate-50))] p-4 shadow-sm sm:aspect-square sm:p-6",onTouchStart:tg,onTouchEnd:tv,children:[(0,t.jsx)(I.default,{src:tc,alt:tu||eX,fill:!0,sizes:"(max-width: 640px) 90vw, 640px",className:"object-contain mix-blend-multiply",fallbackType:"generic"}),tr.length>0?(0,t.jsxs)("button",{type:"button",onClick:()=>to(!0),className:"absolute right-3 top-3 z-10 flex items-center gap-2 rounded-full border border-black/10 bg-white/90 px-3 py-1.5 text-[11px] font-bold uppercase tracking-[0.14em] text-slate-700 shadow-sm transition-colors hover:bg-white focus:outline-none focus-visible:outline-none","aria-label":`Open fullscreen gallery for ${eX}`,children:[(0,t.jsx)(g.Maximize2,{className:"h-3.5 w-3.5"}),"Full Screen"]}):null,tp?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:tx,className:"absolute left-3 top-1/2 z-10 flex h-10 w-10 -translate-y-1/2 items-center justify-center rounded-full border border-black/10 bg-black/60 text-white shadow-sm transition-colors hover:bg-black/75 focus:outline-none focus-visible:outline-none","aria-label":`View previous image for ${eX}
14`,children:(0,t.jsx)(ea.BrandIcon,{name:"chevronLeft",defaultIcon:x.ChevronLeft,className:"h-5 w-5"})}),(0,t.jsx)("button",{type:"button",onClick:tb,className:"absolute right-3 top-1/2 z-10 flex h-10 w-10 -translate-y-1/2 items-center justify-center rounded-full border border-black/10 bg-black/60 text-white shadow-sm transition-colors hover:bg-black/75 focus:outline-none focus-visible:outline-none","aria-label":`View next image for ${eX}`,children:(0,t.jsx)(ea.BrandIcon,{name:"chevronRight",defaultIcon:b.ChevronRight,className:"h-5 w-5"})})]}):null,tr.length>0?(0,t.jsxs)("div",{className:"absolute bottom-3 right-3 rounded-full bg-black/70 px-3 py-1 text-[10px] font-bold uppercase tracking-[0.18em] text-white",children:[td+1," / ",tr.length]}):null]})}),(0,t.jsx)("div",{className:"mt-4 border-t border-slate-200 pt-4",children:th("light")}),(0,t.jsx)("div",{className:"mt-4 flex gap-3 overflow-x-auto pb-1",children:tr.map((e,r)=>{let a=r===td,s=r<ta;return(0,t.jsx)("button",{type:"button",onClick:()=>ti(e),className:`rounded-xl border-2 bg-white p-1 shadow-sm ${a?"border-[var(--brand-primary)]":"border-transparent"}`,"aria-label":a?`Selected ${s?"official product":"test"} image ${r+1} for ${eX}`:`View ${s?"official product":"test"} image ${r+1} for ${eX}`,"aria-pressed":a,children:(0,t.jsx)("div",{className:"relative h-16 w-24 overflow-hidden rounded-lg bg-[var(--ui-muted-surface-background-color,var(--color-slate-50))] p-1",children:(0,t.jsx)(I.default,{src:e,alt:ts[r]||eX,fill:!0,sizes:"96px",className:"object-contain mix-blend-multiply",fallbackType:"generic"})})},`${e}-${r}`)})})]}),tM]}),tO=(0,t.jsxs)("div",{className:"space-y-6",children:[tT,(0,t.jsx)(n.default,{entries:tk,isMobile:ek,onReviewClick:e6}),U&&V?(0,t.jsx)(et,{quote:V,specHighlights:K,variant:"expanded"}):null]}),t_=ej?(0,t.jsxs)("div",{className:"brand-soft-border animate-pulse rounded-xl border bg-panel-bg p-5 shadow-sm",children:[(0,t.jsx)("div",{className:"mb-4 h-4 w-32 rounded bg-slate-200"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("div",{className:"h-3 w-full rounded bg-slate-100"}),(0,t.jsx)("div",{className:"h-3 w-5/6 rounded bg-slate-100"}),(0,t.jsx)("div",{className:"h-3 w-4/6 rounded bg-slate-100"})]})]}):eN?(0,t.jsx)(W,{modelInfo:ew,specFilters:ey.specFilters}):null,tA=e=>{switch(e){case"specifications":return t_;case"retailers":if(!D)return null;return ec?tL:tP;case"marketStats":if(!D||!t$)return null;return ec?tL:t$;case"priceHistory":if(!D||!tR)return null;return ec?tL:tR;case"pictures":return tD;default:return tO}},tB=tA(em)??tz("Section is not available.","We do not currently have enough data to show this panel."),tF=(0,r.useMemo)(()=>{let e=["overview"];return eN&&e.push("specifications"),D&&e.push("retailers","marketStats","priceHistory"),(te||eL||eM||tt.images.length>0)&&e.push("pictures"),e},[D,eN,te,eL,eM,tt]),tU=eh&&eh.length>0?eh:tF,tQ=U?tU.includes(eP)?eP:tU[0]??"overview":em,tq=tA(tQ)??tz("Section is not available.","We do not currently have enough data to show this panel."),tH=(0,t.jsx)("div",{className:"relative mb-5 sm:mb-6",children:(0,t.jsx)(es.default,{className:"w-full",scrollClassName:"min-h-0 items-stretch gap-0 border-b border-slate-200 px-0",showArrowsOnMobile:!0,children:tU.map(e=>{let r=tQ===e;return(0,t.jsx)("button",{type:"button",onClick:()=>{U?e$(e):ep?.(e)},className:`relative self-stretch shrink-0 whitespace-nowrap border-b-2 border-r border-slate-200 px-5 py-2 first:pl-0 text-[11px] font-bold uppercase tracking-[0.08em] transition-colors last:border-r-0 sm:basis-0 sm:flex-1 sm:px-0 sm:text-center ${r?"border-b-transparent bg-white text-[var(--brand-primary)]":"border-b-transparent bg-white text-slate-600"}`,style:r?{boxShadow:"inset 0 -2px 0 0 var(--brand-primary)"}:void 0,"aria-pressed":r,"data-mobile-active-tab":r?"true":"false",children:(e=>{if("retailers"===e){let e=eJ.length;return e>0?`Prices (${e})`:"Prices"}return el[e]})(e)},e)})})}),tV=!U&&!!D&&!!eY&&!!e0,tW=tV?(0,t.jsx)("div",{className:"sticky top-0 z-10 -mx-8 mb-6 bg-panel-bg/95 backdrop-blur",children:(0,t.jsx)("div",{style:e1,children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-6 px-8 py-3",children:[(0,t.jsx)("div",{className:"min-w-0",children:(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1 text-sm",children:[(0,t.jsx)("span",{className:"brand-label-copy text-sm",style:e2,children:"Best Current Price"}),(0,t.jsx)("span",{className:"brand-price-value text-base font-extrabold leading-none",style:{color:"var(--ui-retailer-banner-price-color, var(--brand-text-primary))"},children:e0.full}),(0,t.jsxs)("span",{className:"truncate text-sm font-medium",style:e2,children:["at ",D.merchantName]})]})}),(0,t.jsxs)("div",{className:"ml-6 flex items-center gap-2",children:[eU?(0,t.jsx)("button",{type:"button",onClick:e8,className:"inline-flex h-11 w-11 items-center justify-center rounded-full border border-[var(--brand-primary)] bg-white text-[var(--brand-primary)] transition-colors hover:bg-[var(--brand-page-bg-alt)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--brand-primary)]/40","aria-pressed":eQ,"aria-label":"Share this deal",children:(0,t.jsx)(ea.Brand
14Icon,{name:"share",defaultIcon:p.Share2,className:"h-5 w-5"})}):null,(0,t.jsx)(P.default,{href:eY.rewrittenLink,target:"_blank",rel:"noopener noreferrer",onClick:e7,className:"min-h-[44px] whitespace-nowrap !border-0 px-5 py-3 text-sm",...null!=en&&{"data-model-id":String(en)},...null!=D.merchantId&&{"data-merchant-id":String(D.merchantId)},...D.productKey&&{"data-product-key":D.productKey},...D.merchantName&&{"data-merchant-name":D.merchantName},children:"Go to Retailer"})]})]})})}):null;if(eS){let r=D?(0,w.formatCurrency)((0,d.pricingRegionToCurrencySymbol)(H),D.price,eZ):null;return(0,a.createPortal)((0,t.jsxs)("div",{className:"fixed inset-0 z-[60] flex items-end justify-center sm:hidden",children:[(0,t.jsx)("div",{className:`absolute inset-0 bg-black/70 backdrop-blur-sm transition-opacity duration-300 ease-out ${eC?"opacity-100":"opacity-0"}`,onClick:e=>{e.stopPropagation(),eF()}}),(0,t.jsxs)("div",{className:`relative z-10 flex h-[100dvh] max-h-[100dvh] w-full transform flex-col overflow-hidden rounded-t-2xl bg-white shadow-2xl transition-transform duration-300 ease-out ${eC?"translate-y-0":"translate-y-full"}`,onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-slate-100 bg-white px-5 py-3 shrink-0 rounded-t-2xl relative",children:[(0,t.jsx)("span",{className:"pl-1 pt-2 text-xs font-bold uppercase tracking-[0.2em] text-text-muted",children:"Product Details"}),(0,t.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[eU?(0,t.jsx)("button",{onClick:e8,className:"rounded-full bg-slate-100 p-2 text-text-muted transition-colors hover:bg-slate-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-radar-blue","aria-pressed":eQ,"aria-label":"Share this deal",children:(0,t.jsx)(ea.BrandIcon,{name:"share",defaultIcon:p.Share2,className:"h-5 w-5"})}):null,(0,t.jsx)("button",{onClick:eF,className:"rounded-full bg-slate-100 p-2 text-text-muted transition-colors hover:bg-slate-200 hover:text-radar-blue-dark focus:text-radar-blue-dark focus:outline-none focus-visible:ring-2 focus-visible:ring-radar-blue","aria-label":"Close product details",children:(0,t.jsx)(h.X,{size:20})})]})]}),eU?(0,t.jsx)(z.default,{isOpen:eQ,onClose:eH,productTitle:eX,productImage:te,price:D&&r?{full:r.full,merchant:D.merchantName}:null,shareUrl:eV,zIndex:70}):null,(0,t.jsxs)("div",{className:"flex-grow overflow-y-auto pb-24 pt-4",children:[(0,t.jsxs)("div",{className:"mb-4 px-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-5",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"text-[1.75rem] font-extrabold leading-tight text-foreground",children:eX}),(0,t.jsxs)("div",{className:"mt-2 flex items-center",children:[(0,t.jsx)(C.default,{score:tI}),eT&&tC&&(0,t.jsx)(o.default,{sites:tC.sites,minSites:1})]}),D&&eY&&r?(0,t.jsxs)("a",{href:eY.rewrittenLink,target:"_blank",rel:"noopener noreferrer",onClick:e7,className:"group mt-4 inline-flex flex-col",...null!=en&&{"data-model-id":String(en)},...null!=D.merchantId&&{"data-merchant-id":String(D.merchantId)},...D.productKey&&{"data-product-key":D.productKey},...D.merchantName&&{"data-merchant-name":D.merchantName},children:[(0,t.jsx)("div",{className:"brand-label-copy text-[10px]",children:"Best Current Price"}),(0,t.jsx)("div",{className:"brand-price-value brand-price-heading mt-1 flex items-start text-3xl font-extrabold leading-none transition-colors group-hover:text-[var(--brand-primary)]",children:r.full}),(0,t.jsxs)("div",{className:"brand-label-copy mt-1 text-[10px]",children:["at ",D.merchantName]})]}):null]}),(0,t.jsx)("div",{className:"relative h-24 w-28 shrink-0 overflow-hidden rounded-xl border border-slate-100 bg-[var(--brand-surface-primary)] p-2",children:(0,t.jsx)(I.default,{src:te,alt:e.name,fill:!0,sizes:"112px",className:"object-contain mix-blend-multiply",fallbackType:"generic"})})]}),Z&&Z.length>0&&(0,t.jsx)(T.default,{sizeOptions:Z,selectedSize:ee,onSizeChange:ei,productName:e.name,modelInfo:_,model:eu,brand:e.brand,compact:!0,className:"mt-4",numberFormatLocale:eZ})]}),tU.length>1&&ep?(0,t.jsx)("div",{ref:e_,className:"relative mb-5 px-2",children:tH}):null,(0,t.jsx)("div",{className:"px-4 pb-4",children:tB})]}),D&&eY&&r?(0,t.jsx)("div",{className:"shrink-0 bg-white/95 px-4 pb-5 pt-4 shadow-[0_-8px_24px_rgba(15,23,42,0.08)] backdrop-blur",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 roun
14ded-xl px-4 py-3",style:e1,children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"brand-label-copy text-[10px]",children:"Best Current Price"}),(0,t.jsx)("div",{className:"brand-price-value brand-price-heading mt-1 text-2xl font-extrabold leading-none",children:r.full}),(0,t.jsxs)("div",{className:"mt-1 truncate text-xs font-medium text-[var(--brand-text-secondary)]",children:["at ",D.merchantName]})]}),(0,t.jsx)(P.default,{href:eY.rewrittenLink,target:"_blank",rel:"noopener noreferrer",onClick:e7,className:"min-h-[44px] whitespace-nowrap !border-0 px-5 py-3 text-sm",...null!=en&&{"data-model-id":String(en)},...null!=D.merchantId&&{"data-merchant-id":String(D.merchantId)},...D.productKey&&{"data-product-key":D.productKey},...D.merchantName&&{"data-merchant-name":D.merchantName},children:"Go to Retailer"})]})}):null]})]}),document.body)}return(0,t.jsx)("div",{className:`${U?"block px-4 py-6 pb-12 sm:px-8 sm:py-8 sm:pb-16":`hidden px-8 pb-16 ${tV?"pt-0":"pt-8"} sm:block`} brand-section-top-border border-t bg-panel-bg`,onClick:e=>e.stopPropagation(),children:U?(0,t.jsxs)("div",{children:[tU.length>1?tH:null,tq]}):(0,t.jsxs)(t.Fragment,{children:[eU?(0,t.jsx)(z.default,{isOpen:eQ,onClose:eH,productTitle:eX,productImage:te,price:D&&e0?{full:e0.full,merchant:D.merchantName}:null,shareUrl:eV,zIndex:70}):null,tW,tB]})})}e.s(["PRODUCT_DETAILS_TAB_LABELS",0,el,"default",()=>ec],28266);var ed=e.i(78917);function eu(e){let t={};return null!=e.dataModelId&&(t["data-model-id"]=String(e.dataModelId)),null!=e.dataMerchantId&&(t["data-merchant-id"]=String(e.dataMerchantId)),null!=e.dataProductKey&&(t["data-product-key"]=e.dataProductKey),null!=e.dataMerchantName&&(t["data-merchant-name"]=e.dataMerchantName),t}function em({price:e,currency:r,merchant:a,link:s,size:l="md",layout:i="vertical",onDealClick:n,ariaLabel:o,dataModelId:c,dataMerchantId:u,dataProductKey:m,dataMerchantName:h,numberFormatLocale:p=(0,d.pricingRegionToNumberFormatLocale)("GB"),priceAsLink:f=!1}){let x=(0,w.formatCurrency)(r,e,p),b=eu({dataModelId:c,dataMerchantId:u,dataProductKey:m,dataMerchantName:h}),g={sm:"text-xl",md:"text-2xl",lg:"text-3xl"},v={sm:"text-[10px]",md:"text-xs",lg:"text-sm"},y={sm:"text-[9px]",md:"text-[10px]",lg:"text-xs"},j={sm:"py-2 px-3 text-[10px]",md:"py-3 px-4 text-xs",lg:"py-3 px-4 text-sm"};return"horizontal"===i?(0,t.jsx)("div",{className:"flex items-center justify-between gap-4",children:f?(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noopener noreferrer",onClick:n,className:"group","aria-label":o,...b,children:[(0,t.jsx)("div",{className:`brand-label-copy ${y[l]}`,children:"Total Price"}),(0,t.jsxs)("div",{className:`brand-price-value brand-price-heading ${g[l]} flex items-start leading-none font-extrabold transition-colors group-hover:text-[var(--brand-primary)]`,children:[x.major,x.minor&&(0,t.jsx)("sup",{className:`${v[l]} font-bold mt-1`,children:x.minor})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:`brand-label-copy ${y[l]}`,children:"Total Price"}),(0,t.jsxs)("div",{className:`brand-price-value brand-price-heading ${g[l]} flex items-start leading-none font-extrabold`,children:[x.major,x.minor&&(0,t.jsx)("sup",{className:`${v[l]} font-bold mt-1`,children:x.minor})]})]}),(0,t.jsxs)(P.default,{href:s,target:"_blank",rel:"noopener noreferrer",onClick:n,className:`brand-deal-shadow flex flex-1 ${j[l]}`,"aria-label":o,...b,children:["View Deal ",(0,t.jsx)(ed.ExternalLink,{size:"sm"===l?12:"md"===l?14:16})]})]})}):(0,t.jsx)("div",{className:"flex flex-col items-end",children:f?(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noopener noreferrer",onClick:n,className:"group text-right","aria-label":o,...b,children:[(0,t.jsx)("div",{className:`brand-label-copy ${y[l]} mb-1`,children:"Best Current Price"}),(0,t.jsxs)("div",{className:`brand-price-value brand-price-heading ${g[l]} flex items-start justify-end leading-none font-extrabold transition-colors group-hover:text-[var(--brand-primary)]`,children:[x.major,x.minor&&(0,t.jsx)("sup",{className:`${v[l]} font-bold mt-1.5`,children:x.minor})]}),(0,t.jsxs)("div",{className:`${y[l]} mt-1 text-[var(--brand-text-secondary)] font-medium`,children:["at ",a]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:`brand-label-copy ${y[l]} mb-1`,children:"Best Current Price"}),(0,t.jsxs)("div",{className:`brand-price-value brand-price-heading ${g[l]} flex items-start justify-end leading-none font-extrabold`,children:[x.major,x.minor&&(0,t.jsx)("sup",{className:`${v[l]} font-bold mt-1.5`,children:x.minor})]}),(0,t.jsxs)("div",{className:`${y[l]} mt-1 text-[var(--brand-text-secondary)] font-medium`,children:["at ",a]})]}),(0,t.jsx)("div",{className:"flex flex-col gap-2 w-full mt-4",children:(0,t.jsxs)(P.default,{href:s,target:"_blank",rel:"noopener noreferrer",onClick:n,className:`flex ${j[l]}`,...b,"aria-label":o,children:["View Deal ",(0,t.jsx)(ed.ExternalLink,{size:"sm"===l?12:14})]})})]})})}function eh(e,t){return/^check\b/i.test(e.trim())?`Search ${t}`:e}function ep(e){return({sm:"py-2 px-1 text-[10px]",md:"py-3 px-1 text-xs",lg:"py-3 px-1 text-sm"})[e]}function ef({ctaText:e,merchant:r,merchantLogo:a,link:s,label:l="Currently unavailable",size:i="md",layout:n="vertical",onDealClick:o,ariaLabel:c,dataModelId:d,dataMerchantId:u,dataProductKey:m,dataMerchantName:h,mobileGridPlacement:p=!1}){var f;let x,b=eu({dataModelId:d,dataMerchantId:u,dataProductKey:m,dataMerchantName:h}),g=eh(e,r),v=l&&"No price information"!==l.trim()?l:"Currently unavailable",y=eh(e,r).toLowerCase()===`search ${r}`.toLowerCase()?"min-w-0 max-w-full whitespace-normal leading-tight":"",w={sm:"text-[9px]",md:"text-[10px]",lg:"text-xs"},j="sm"===i?12:"md"===i?14:16,N=r.trim().toLowerCase().includes("amazon")||(x=r.trim().toLowerCase()).includes("best buy")||x.includes("bestbuy"),k=(f=i,N?"sm"===f?"h-10":"md"===f?"h-12":"h-14":"sm"===f?"h-6":"md"===f?"h-7":"h-8"),S=N?280:$.IMAGE_RENDER_WIDTHS.merchantLogo,C=a?(0,$.normalizeImageUrl)(a,{width:S})??a:null,I=C?(0,t.jsx)(Y.default,{src:C,alt:`${r} logo`,width:S,height:N?70:32,className:`${k} w-auto object-contain`}):(0,t.jsx)("span",{className:`brand-label-copy ${w[i]}`,children:r}),R=(0,t.jsx)("span",{className:y,children:g});return"horizontal"===n?(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:`brand-label-copy ${w[i]}`,children:v}),(0,t.jsx)("div",{className:"mt-1 flex items-center",children:I})]}),(0,t.jsxs)(P.default,{href:s,target:"_blank",rel:"sponsored noopener noreferrer",onClick:o,className:`brand-deal-shadow min-w-0 flex-1 ${ep(i)}`,"aria-label":c,...b,children:[R," ",(0,t.jsx)(ed.ExternalLink,{size:j,className:"shrink-0"})]})]}):p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"col-start-2 row-start-1 text-right",children:[(0,t.jsx)("div",{className:`brand-label-copy ${w[i]} mb-2`,children:v}),(0,t.jsx)("div",{className:"flex justify-end",children:I})]}),(0,t.jsxs)(P.default,{href:s,target:"_blank",rel:"sponsored noopener noreferrer",onClick:o,className:`col-start-2 row-start-2 flex h-full min-w-0 ${ep(i)}`,"aria-label":c,...b,children:[R," ",(0,t.jsx)(ed.ExternalLink,{size:j,className:"shrink-0"})]})]}):(0,t.jsxs)("div",{className:"flex w-full flex-col items-stretch",children:[(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:`brand-label-copy ${w[i]} mb-2`,children:v}),(0,t.jsx)("div",{className:"flex justify-end",children:I})]}),(0,t.jsx)("div",{className:"flex flex-col gap-2 w-full mt-4",children:(0,t.jsxs)(P.default,{href:s,target:"_blank",rel:"sponsored noopener noreferrer",onClick:o,className:`min-w-0 ${ep(i)}`,"aria-label":c,...b,children:[R," ",(0,t.jsx)(ed.ExternalLink,{size:j,className:"shrink-0"})]})})]})}function ex({size:e="md",layout:r="vertical"}){let a={sm:"h-6",md:"h-8",lg:"h-10"},s={sm:"h-10",md:"h-12",lg:"h-12"};return"horizontal"===r?(0,t.jsxs)("div",{className:"animate-pulse flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"h-3 w-16 bg-gray-200 rounded mb-1"}),(0,t.jsx)("div",{className:`${a[e]} w-24 bg-gray-200 rounded`})]}),(0,t.jsx)("div",{className:`flex-1 ${s[e]} bg-gray-200 rounded-[8px] max-w-[160px]`})]}):(0,t.jsxs)("div",{className:"animate-pulse w-full",children:[(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"h-3 w-24 bg-gray-200 rounded mb-1 ml-auto"}),(0,t.jsx)("div",{className:`${a[e]} w-28 bg-gray-200 rounded ml-auto`}),(0,t.jsx)("div",{className:"h-4 w-20 bg-gray-200 rounded mt-1 ml-auto"})]}),(0,t.jsx)("div",{className:"flex flex-col gap-2 w-full mt-4",children:(0,t.jsx)("div",{className:`${s[e]} w-full bg-gray-200 rounded-[8px]`})})]})}function eb(){return(0,t.jsxs)("div",{className:"animate-pulse flex flex-col items-center gap-2 w-full",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center",children:[(0,t.jsx)("div",{className:"h-8 w-20 bg-gray-200 rounded"}),(0,t.jsx)("div",{className:"h-3 w-16 bg-gray-200 rounded mt-1"})]}),(0,t.jsx)("div",{className:"w-full h-12 bg-gray-200 rounded-[8px]"})]})}e.s(["MobilePriceSkeleton",()=>eb,"PriceDisplay",()=>em,"PriceSkeleton",()=>ex,"ViewSimilarCTA",()=>ef,"hawkXDataAttrs",()=>eu],16599)},55432,e=>{"use strict";var t=e.i(43476),r=e.i(63209);function a({message:e,onRetry:a,className:s=""}){return(0,t.jsx)("div",{className:`rounded-lg border border-slate-200 bg-tg-pale-blue p-4 sm:p-5 text-text-muted ${s}`,role:"alert",children:(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 flex-1",children:[(0,t.jsx)(r.AlertCircle,{className:"shrink-0 w-5 h-5 text-amber-500 mt-0.5","aria-hidden":!0}),(0,t.jsx)("p",{className:"text-sm sm:text-base",children:e})]}),a&&(0,t.jsx)("button",{type:"button",onClick:a,className:"shrink-0 px-4 py-2 bg-panel-bg border border-slate-300 text-text-muted font-medium text-sm rounded-full hover:bg-tg-pale-blue hover:text-radar-blue hover:border-radar-blue transition-colors",children:"Try again"})]})})}e.s(["default",()=>a])},8391,e=>{"use strict";var t=e.i(73264),r=e.i(56490);let a=(0,r.getCategoryFromLoader)("tv");
14function s(e,s){let l,i,{urlPath:n,apiCategory:o,displayNamePlural:c}=e,d=(l=s.shopBasePath.replace(/\/+$/,"")||"/",(i=n.replace(/^\/+|\/+$/g,""))?"/"===l?`/${i}`:`${l}/${i}`:l),u=function(e){let t=(0,r.getAllCategories)().filter(t=>e===t.urlPath||e.startsWith(`${t.urlPath}/`));if(0!==t.length)return t.reduce((e,t)=>t.urlPath.length>e.urlPath.length?t:e)}(n),m=t.LayoutGrid,h=c.toLowerCase(),p={brand:s,urlPath:n,apiCategory:o,displayNamePlural:c,displayNameLower:h},f=e=>{let t;return t={"brand.displayName":p.brand.displayName,"brand.productFinderName":p.brand.productFinderName,"category.urlPath":p.urlPath,"category.apiCategory":p.apiCategory,"category.displayNamePlural":p.displayNamePlural,"category.displayNameLower":p.displayNameLower},e.replace(/\{([^}]+)\}/g,(e,r)=>t[r]??e)},x=s.lightweightCategory.searchSuggestions.map(e=>({label:f(e.label),query:f(e.query),icon:m,iconColor:"text-radar-blue"}));return{slug:"lightweight",urlPath:n,apiCategory:o,apiCategoryAliases:function(e,t){let r=e.split("/").filter(Boolean).pop();if(!r)return[];let a=r.split(/[-_\s]+/).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1).toLowerCase()}`).join(" ");return a&&a!==t?[a]:[]}(n,o),sites:[s.contentSource],usePaginatedListing:!0,basePath:d,productPathSegment:n,displayNamePlural:c,defaultPageTitle:f(s.lightweightCategory.defaultPageTitle),heroHeading:f(s.lightweightCategory.heroHeading),siteCategoryLabel:c,nlSearchDescription:f(s.lightweightCategory.nlSearchDescription),compareDealsDescription:f(s.lightweightCategory.compareDealsDescription),searchAriaLabel:f(s.lightweightCategory.searchAriaLabel),aiSearchAriaLabel:f(s.lightweightCategory.aiSearchAriaLabel),aiSearchPlaceholder:f(s.lightweightCategory.aiSearchPlaceholder),searchPlaceholders:s.lightweightCategory.searchPlaceholders.map(f),searchSuggestions:x,buyingGuides:[],heroBuyingGuideIds:[],stripGuideIcons:{},sizeBuckets:[],sizeFilterSectionTitle:"Size",sizeRenderer:"chip",dynamicPriceBuckets:!0,priceBuckets:[...a.priceBuckets],specFilters:u?.specFilters??(0,r.mergeDefaultSpecFilters)()}}e.s(["buildLightweightCategoryDefinition",()=>s])},82171,e=>{"use strict";var t=e.i(43476),r=e.i(90261),a=e.i(56490),s=e.i(8391),l=e.i(12696),i=e.i(22146);function n({slug:e,lightweight:n,children:o}){let{brand:c}=(0,l.useBrand)();if(n){let e=(0,s.buildLightweightCategoryDefinition)(n,c);return(0,t.jsx)(r.CategoryProvider,{definition:e,isDynamic:!0,children:o},e.basePath)}if(!e)throw Error("CategoryRoot: pass slug for registered categories or provide lightweight.");let d=(0,a.getBrandCategoryFromLoader)(c.id,e)??(0,a.getCategoryFromLoader)(e);if(!d)throw Error(`CategoryRoot: unknown slug "${e}". Add a JSON file to src/config/categories/brands/tomsguide/.`);let u={...d,basePath:(0,i.shopPathForBrand)(d.basePath,c)};return(0,t.jsx)(r.CategoryProvider,{definition:u,isDynamic:u.dynamicPriceBuckets,children:o},u.basePath)}e.s(["CategoryRoot",()=>n])}]);

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.