efficient-web-builder 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/chunks/{PreviewFooter-TTWVSN7F.js → PreviewFooter-SNJQZ6JZ.js} +1 -1
- package/dist/chunks/{SectionEditorShell-QHF74BM4.js → SectionEditorShell-U5FUJW2M.js} +1 -1
- package/dist/chunks/{StorefrontEditorChrome-VAFMI23Y.js → StorefrontEditorChrome-6OQOFCL6.js} +1 -1
- package/dist/chunks/{chunk-5WIA75VU.js → chunk-6VNEBJKI.js} +1 -1
- package/dist/chunks/{chunk-FEL3RPX5.js → chunk-CZ46NWN5.js} +1 -1
- package/dist/chunks/{chunk-2Z43RC3L.js → chunk-RTCXXI5U.js} +2 -2
- package/dist/chunks/{chunk-23HYGLAH.js → chunk-TX7ND7AF.js} +1 -1
- package/dist/chunks/{chunk-X2DL3VCU.js → chunk-WQ7W4AXL.js} +6 -6
- package/dist/chunks/{render-client-3H6QYWG7.js → render-client-ISZ5CGAI.js} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- /package/dist/chunks/{chunk-2Z43RC3L.js.LEGAL.txt → chunk-RTCXXI5U.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-X2DL3VCU.js.LEGAL.txt → chunk-WQ7W4AXL.js.LEGAL.txt} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as Oz,G as ir,J as qz,L as Wz,a as F1,d as P1,e as Eb,f as Z1,g as E1,i as Rb,k as _b,l as Ob,n as xz,o as O3,p as wz,q as Fc,r as le,s as Q4,u as Tc,v as rr}from"./chunk-XMRSKZIR.js";import{a as Db}from"./chunk-
|
|
1
|
+
import{F as Oz,G as ir,J as qz,L as Wz,a as F1,d as P1,e as Eb,f as Z1,g as E1,i as Rb,k as _b,l as Ob,n as xz,o as O3,p as wz,q as Fc,r as le,s as Q4,u as Tc,v as rr}from"./chunk-XMRSKZIR.js";import{a as Db}from"./chunk-6VNEBJKI.js";import{$ as X7,$a as G9,$b as Pd,$c as fv,$d as m0,$f as ib,$g as wb,$i as lz,$j as Ec,A as ag,Ab as zd,Ac as jd,Ad as Bo,Ae as Gv,Ag as v,Ah as D5,B as cg,Bb as xd,Bc as Yd,Be as Da,Bf as Gf,Bg as v4,Bh as Cb,C as sg,Cb as wd,Cc as Xd,Cd as kv,Ce as Y9,Cf as qf,Cg as K1,Ch as Lb,D as lg,Da as Zg,Db as yd,Dc as E5,De as qv,Df as Wf,Dg as mb,Di as Gb,E as og,Eb as W9,Ec as l8,Ee as Oa,Ef as Uf,Eg as d8,Eh as G6,F as ho,Fb as kd,Fc as Jd,Fe as Wv,Ff as Kf,Fg as _5,Fh as x8,Fj as or,G as rg,Gb as m4,Gc as Qd,Ge as Uv,Gf as $f,Gg as ic,Gh as w8,Gi as ce,Gj as H8,H as ig,Hb as F5,Hc as Va,Hd as r8,He as Do,Hf as jf,Hh as y8,Hi as qb,Hj as F8,Ib as V6,Ic as ev,Ie as Kv,If as p8,Ih as k8,Ii as se,Ij as zz,Ja as Ig,Jb as P6,Jc as tv,Je as $v,Jf as Yf,Jg as J,Jh as Sb,Jj as yz,K as la,Ka as ga,Kb as Ma,Kc as Fo,Ke as jv,Kf as Xf,Kg as t3,Kh as Ab,Ki as Wb,Kj as kz,La as Rg,Lb as Ca,Lc as av,Ld as Mv,Le as Yv,Lf as Jf,Lg as pb,Lh as Hb,Li as Ub,Lj as Mz,M as g3,Ma as O9,Mb as a8,Mc as cv,Md as Cv,Me as Xv,Mf as Qf,Mg as nc,Mh as fc,Mi as Kb,Mj as Cz,N as ng,Nb as Md,Nc as sv,Nd as Lv,Ne as sf,Nf as eb,Ng as ub,Ni as $b,Nj as Lz,O as mo,Oa as _g,Ob as c8,Oc as lv,Od as Sv,Oe as Wa,Of as tb,Og as gb,Oh as bc,Oi as jb,Oj as Sz,P as mg,Pa as Q7,Pb as Cd,Pc as ov,Pd as Av,Pe as lf,Pf as ac,Pg as hc,Ph as Fb,Pi as Yb,Pj as Az,Q as pg,Qb as Ld,Qc as rv,Qd as No,Qe as _6,Qf as ab,Qg as mc,Qh as Tb,Qi as Cc,Qj as Hz,R as ug,Rb as Sd,Rc as iv,Rd as Zo,Re as of,Rf as d4,Rg as pc,Rh as M8,Ri as Lc,Rj as Fz,S as gg,Sb as U9,Sc as nv,Sd as Io,Se as rf,Sf as cb,Sg as db,Si as Sc,Sj as Tz,T as dg,Tb as Ad,Tc as N6,Tf as $o,Tg as vb,Th as Vb,Ti as Xb,Tj as Vz,Ub as Hd,Uc as hv,Ud as Hv,Uf as cc,Ug as fb,Uh as Pb,Ui as Jb,Uj as Pz,Vb as Fd,Vc as mv,Vd as Fv,Vf as sb,Vg as bb,Vh as C8,Vi as Qb,Vj as Ez,W as zg,Wb as Ao,Wc as gv,Wd as Tv,Wf as lb,Wg as ee,Wh as L8,Wi as ez,Wj as Bz,X as K0,Xb as Sa,Xc as dv,Xd as R6,Xe as nf,Xf as sc,Xg as zb,Xh as zc,Xi as tz,Xj as Vc,Y as oa,Yb as Td,Yc as Vo,Yd as k,Ye as hf,Yf as lc,Yg as f4,Yi as az,Yj as Pc,Z as Lg,Za as Dg,Zb as Vd,Zc as vv,Zd as z0,Zf as ob,Zg as b4,Zi as cz,Zj as Nz,_ as Sg,_a as Mo,_b as Ho,_c as o8,_d as U,_f as rb,_g as xb,_i as sz,_j as Zz,a as o2,aa as J7,ab as Og,ac as Ed,ad as A3,ae as B5,ag as nb,ah as e1,aj as oz,ak as Iz,b as Y,ba as Ag,bb as da,bc as Bd,bd as bv,bg as oc,bh as yb,bi as S8,bj as rz,bk as Rz,c as i4,ca as Hg,cb as va,cc as Nd,cd as zv,ce as Vv,cg as Z5,ch as te,cj as a3,da as ha,db as Gg,dc as Zd,dd as xv,de as p4,dg as Q9,dh as kb,di as xc,dj as iz,ec as K9,ed as Po,ee as Ba,ef as mf,eg as I5,eh as z4,ej as nz,f as aa,fc as Id,fe as Na,ff as pf,fg as jo,fh as v8,fi as wc,fj as hz,fk as _z,g as _u,gc as Rd,gd as wv,ge as e3,gg as u2,gh as X4,gi as Jo,gj as mz,h as Du,ha as Fg,hc as _d,he as Za,hg as v0,hh as Mb,hi as Bb,hj as er,hk as Dz,i as Ou,ia as go,ib as ed,ic as Aa,ie as Pv,ih as uc,ij as tr,j as qu,ja as ma,jb as L3,jc as Dd,je as Ev,jg as O6,jh as h1,jj as ar,k as Wu,ka as Tg,kb as id,kc as T5,ke as j9,kf as g4,kg as hb,kh as f8,ki as Qo,kj as pz,kk as Bc,l as U2,la as Vg,lb as nd,lc as Od,le as Ro,lf as If,lg as u8,lh as x4,lj as Ac,lk as Gz,m as Uu,ma as pa,mb as hd,mc as E6,me as Nv,mf as Rf,mg as L2,mh as E0,mi as Nb,mj as uz,na as vo,nb as md,nc as Gd,ne as Zv,nf as _f,ni as yc,nj as gz,o as Ku,oa as Pg,ob as pd,oc as V5,oe as Iv,of as Ko,og as g8,oh as gc,oi as O5,oj as F3,p as $u,pa as fo,pb as ya,pc as s8,pd as j4,pe as i0,pg as rc,ph as p1,pi as kc,pj as Hc,pk as T8,q as ju,qa as bo,qb as ud,qc as Ha,qd as I6,qe as Rv,qf as C2,qg as R5,qi as A8,qj as G5,qk as Uz,r as Yu,ra as Eg,rb as gd,rc as B6,rd as $9,re as _o,rf as m8,rg as A,rh as V1,ri as Mc,rj as d3,s as Xu,sa as zo,sb as Co,sc as qd,sd as Y4,se as T0,sg as V,sh as dc,si as ae,sj as dz,t as no,ta as xo,tb as ka,tc as P5,te as Ia,tg as P,ti as I1,tj as j1,u as Ju,ua as wo,ub as dd,uc as Wd,ue as n8,uf as Df,ug as n1,uh as Xo,ui as J4,uj as vz,v as Qu,va as yo,vb as Lo,vc as Ud,vd as yv,ve as Ra,vf as ec,vg as w1,vh as r2,vj as fz,w as ca,wa as ko,wb as vd,wc as Kd,we as _v,wg as C1,wj as cr,x as sa,xa as Bg,xb as fd,xc as $d,xe as Dv,xh as b8,xi as Zb,xj as sr,y as eg,ya as Ng,yb as So,yc as Fa,ye as Ov,yf as tc,yh as z8,yj as lr,z as tg,za as ua,zb as bd,zc as Ta,zd as Eo,ze as _a,zf as Of,zg as Yo,zh as vc,zj as bz}from"./chunk-WQ7W4AXL.js";import{a as q6,b as Ib}from"./chunk-DN65SLZM.js";import{$b as Z6,$c as Ff,Ab as t8,Ac as vf,Ba as n4,Bb as ld,Ca as U7,Cb as od,Cc as N5,D as ro,Dc as ff,E as Tu,Ec as bf,Fb as ba,Fc as Ya,Gc as zf,H as Vu,Hc as xf,I as Pu,Ia as K7,Ic as wf,J as io,Ja as $7,Jb as za,Jc as yf,Ka as vg,Kb as xa,Kc as kf,La as fg,Lb as wa,Ma as bg,Mb as rd,Mc as Wo,Nb as S3,Ob as La,Oc as D6,Pb as F0,Pc as Mf,Qa as uo,Qc as Cf,Ra as d0,Rb as pv,Rc as Lf,Sa as T6,Sc as Sf,Ta as e8,Ua as A5,Ub as Pa,Vb as uv,W as Eu,Wa as q9,Wc as Af,X as Bu,Xc as Hf,Y as Nu,Ya as qg,Yc as Xa,Z as Zu,Zb as To,Zc as H3,_b as Ea,_c as Uo,aa as Iu,ab as Wg,ac as Bv,ad as Tf,bc as i8,bd as Vf,cb as Ug,cd as Pf,db as Kg,dd as J9,eb as $g,ed as Ja,fb as jg,fc as Jv,fd as h8,gb as Yg,hb as Xg,hc as Oo,ia as Ru,ib as Jg,ic as Qv,id as Ef,jb as Qg,jc as Go,jd as Bf,kb as r0,kc as Ga,kd as Nf,lb as H5,lc as qa,mb as td,mc as ef,nc as tf,nd as Qa,ob as ad,oc as af,p as ta,pb as cd,pc as qo,q as ao,qc as cf,rc as uf,s as co,ta as Gu,tc as Ua,uc as Ka,ud as D3,v as so,vc as $a,vd as Zf,w as lo,wb as sd,wc as X9,x as oo,xb as fa,xc as gf,ya as hg,yc as ja,za as po,zb as I2,zc as df}from"./chunk-764WH3TY.js";import{A as Z2,C as kg,D as na,E as Mg,H as j7,I as Cg,O as Y7,P as D0,T as h4,d as xg,e as Q2,f as wg,h as D9,q as yg,r as ra,s as M2,u as ia,w as $4}from"./chunk-4MT74TMP.js";import{b as u4}from"./chunk-UBYBQ3KR.js";import{a as qP,b as WP}from"./chunk-Y6SLVHK3.js";var VC=qP((ah1,TC)=>{"use strict";function gC(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,c=Array(t);a<t;a++)c[a]=e[a];return c}function wD(e){if(Array.isArray(e))return e}function yD(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var c,s,l,o,r=[],i=!0,n=!1;try{if(l=(a=a.call(e)).next,t!==0)for(;!(i=(c=l.call(a)).done)&&(r.push(c.value),r.length!==t);i=!0);}catch(h){n=!0,s=h}finally{try{if(!i&&a.return!=null&&(o=a.return(),Object(o)!==o))return}finally{if(n)throw s}}return r}}function kD(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MD(e,t){return wD(e)||yD(e,t)||CD(e,t)||kD()}function CD(e,t){if(e){if(typeof e=="string")return gC(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?gC(e,t):void 0}}var AC=Object.entries,dC=Object.setPrototypeOf,LD=Object.isFrozen,SD=Object.getPrototypeOf,AD=Object.getOwnPropertyDescriptor,V2=Object.freeze,P2=Object.seal,t9=Object.create,HC=typeof Reflect<"u"&&Reflect,kn=HC.apply,Mn=HC.construct;V2||(V2=function(t){return t});P2||(P2=function(t){return t});kn||(kn=function(t,a){for(var c=arguments.length,s=new Array(c>2?c-2:0),l=2;l<c;l++)s[l-2]=arguments[l];return t.apply(a,s)});Mn||(Mn=function(t){for(var a=arguments.length,c=new Array(a>1?a-1:0),s=1;s<a;s++)c[s-1]=arguments[s];return new t(...c)});var qe=c2(Array.prototype.forEach),HD=c2(Array.prototype.lastIndexOf),vC=c2(Array.prototype.pop),e9=c2(Array.prototype.push),FD=c2(Array.prototype.splice),i6=Array.isArray,Ke=c2(String.prototype.toLowerCase),bn=c2(String.prototype.toString),fC=c2(String.prototype.match),We=c2(String.prototype.replace),bC=c2(String.prototype.indexOf),TD=c2(String.prototype.trim),VD=c2(Number.prototype.toString),PD=c2(Boolean.prototype.toString),zC=typeof BigInt>"u"?null:c2(BigInt.prototype.toString),xC=typeof Symbol>"u"?null:c2(Symbol.prototype.toString),v2=c2(Object.prototype.hasOwnProperty),Ue=c2(Object.prototype.toString),T2=c2(RegExp.prototype.test),p7=ED(TypeError);function c2(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,c=new Array(a>1?a-1:0),s=1;s<a;s++)c[s-1]=arguments[s];return kn(e,t,c)}}function ED(e){return function(){for(var t=arguments.length,a=new Array(t),c=0;c<t;c++)a[c]=arguments[c];return Mn(e,a)}}function Q1(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ke;if(dC&&dC(e,null),!i6(t))return e;let c=t.length;for(;c--;){let s=t[c];if(typeof s=="string"){let l=a(s);l!==s&&(LD(t)||(t[c]=l),s=l)}e[s]=!0}return e}function BD(e){for(let t=0;t<e.length;t++)v2(e,t)||(e[t]=null);return e}function K2(e){let t=t9(null);for(let c of AC(e)){var a=MD(c,2);let s=a[0],l=a[1];v2(e,s)&&(i6(l)?t[s]=BD(l):l&&typeof l=="object"&&l.constructor===Object?t[s]=K2(l):t[s]=l)}return t}function ND(e){switch(typeof e){case"string":return e;case"number":return VD(e);case"boolean":return PD(e);case"bigint":return zC?zC(e):"0";case"symbol":return xC?xC(e):"Symbol()";case"undefined":return Ue(e);case"function":case"object":{if(e===null)return Ue(e);let t=e,a=L4(t,"toString");if(typeof a=="function"){let c=a(t);return typeof c=="string"?c:Ue(c)}return Ue(e)}default:return Ue(e)}}function L4(e,t){for(;e!==null;){let c=AD(e,t);if(c){if(c.get)return c2(c.get);if(typeof c.value=="function")return c2(c.value)}e=SD(e)}function a(){return null}return a}function ZD(e){try{return T2(e,""),!0}catch{return!1}}var wC=V2(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),zn=V2(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),xn=V2(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),ID=V2(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),wn=V2(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),RD=V2(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),yC=V2(["#text"]),kC=V2(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),yn=V2(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),MC=V2(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Fs=V2(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),_D=P2(/{{[\w\W]*|^[\w\W]*}}/g),DD=P2(/<%[\w\W]*|^[\w\W]*%>/g),OD=P2(/\${[\w\W]*/g),GD=P2(/^data-[\-\w.\u00B7-\uFFFF]+$/),qD=P2(/^aria-[\-\w]+$/),CC=P2(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),WD=P2(/^(?:\w+script|data):/i),UD=P2(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),KD=P2(/^html$/i),$D=P2(/^[a-z][.\w]*(-[.\w]+)+$/i),LC=P2(/<[/\w!]/g),jD=P2(/<[/\w]/g),YD=P2(/<\/no(script|embed|frames)/i),XD=P2(/\/>/i),C4={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},JD=function(){return typeof window>"u"?null:window},QD=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let c=null,s="data-tt-policy-suffix";a&&a.hasAttribute(s)&&(c=a.getAttribute(s));let l="dompurify"+(c?"#"+c:"");try{return t.createPolicy(l,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+l+" could not be created."),null}},SC=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},r6=function(t,a,c,s){return v2(t,a)&&i6(t[a])?Q1(s.base?K2(s.base):{},t[a],s.transform):c};function FC(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:JD(),t=r1=>FC(r1);if(t.version="3.4.11",t.removed=[],!e||!e.document||e.document.nodeType!==C4.document||!e.Element)return t.isSupported=!1,t;let a=e.document,c=a,s=c.currentScript;e.DocumentFragment;let l=e.HTMLTemplateElement,o=e.Node,r=e.Element,i=e.NodeFilter,n=e.NamedNodeMap;n===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let h=e.DOMParser,m=e.trustedTypes,p=r.prototype,u=L4(p,"cloneNode"),d=L4(p,"remove"),g=L4(p,"nextSibling"),z=L4(p,"childNodes"),f=L4(p,"parentNode"),b=L4(p,"shadowRoot"),y=L4(p,"attributes"),C=o&&o.prototype?L4(o.prototype,"nodeType"):null,S=o&&o.prototype?L4(o.prototype,"nodeName"):null;if(typeof l=="function"){let r1=a.createElement("template");r1.content&&r1.content.ownerDocument&&(a=r1.content.ownerDocument)}let H,_="",Z,q=!1,j=0,B=function(){if(j>0)throw p7('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},N=function(w){B(),j++;try{return H.createHTML(w)}finally{j--}},D=function(w){B(),j++;try{return H.createScriptURL(w)}finally{j--}},T=function(){return q||(Z=QD(m,s),q=!0),Z},R=a,i1=R.implementation,O=R.createNodeIterator,m1=R.createDocumentFragment,Q=R.getElementsByTagName,K=c.importNode,a1=SC();t.isSupported=typeof AC=="function"&&typeof f=="function"&&i1&&i1.createHTMLDocument!==void 0;let B1=_D,X=DD,D1=OD,t0=GD,I=qD,H1=WD,f1=UD,J2=$D,G0=CC,q1=null,p3=Q1({},[...wC,...zn,...xn,...wn,...yC]),h0=null,R3=Q1({},[...kC,...yn,...MC,...Fs]),g0=Object.seal(t9(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),k3=null,l4=null,E2=Object.seal(t9(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),g1=!0,W1=!0,_0=!1,q0=!0,o0=!1,W0=!0,$=!1,N1=!1,y0=null,B2=null,R7=!1,M5=!1,_7=!1,H6=!1,$t=!0,jt=!1,Yt="user-content-",P9=!0,E9=!1,C5={},l2=null,o4=Q1({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),D7=null,B9=Q1({},["audio","video","img","source","image","track"]),O7=null,N9=Q1({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),r4="http://www.w3.org/1998/Math/MathML",G7="http://www.w3.org/2000/svg",u3="http://www.w3.org/1999/xhtml",L5=u3,Z9=!1,T1=null,M3=Q1({},[r4,G7,u3],bn),N2=V2(["mi","mo","mn","ms","mtext"]),I9=Q1({},N2),Xt=V2(["annotation-xml"]),Xl=Q1({},Xt),HP=Q1({},["title","style","font","a","script"]),R9=null,FP=["application/xhtml+xml","text/html"],TP="text/html",U0=null,q7=null,VP=a.createElement("form"),wu=function(w){return w instanceof RegExp||w instanceof Function},Jl=function(){let w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(q7&&q7===w)return;(!w||typeof w!="object")&&(w={}),w=K2(w),R9=FP.indexOf(w.PARSER_MEDIA_TYPE)===-1?TP:w.PARSER_MEDIA_TYPE,U0=R9==="application/xhtml+xml"?bn:Ke,q1=r6(w,"ALLOWED_TAGS",p3,{transform:U0}),h0=r6(w,"ALLOWED_ATTR",R3,{transform:U0}),T1=r6(w,"ALLOWED_NAMESPACES",M3,{transform:bn}),O7=r6(w,"ADD_URI_SAFE_ATTR",N9,{transform:U0,base:N9}),D7=r6(w,"ADD_DATA_URI_TAGS",B9,{transform:U0,base:B9}),l2=r6(w,"FORBID_CONTENTS",o4,{transform:U0}),k3=r6(w,"FORBID_TAGS",K2({}),{transform:U0}),l4=r6(w,"FORBID_ATTR",K2({}),{transform:U0}),C5=v2(w,"USE_PROFILES")?w.USE_PROFILES&&typeof w.USE_PROFILES=="object"?K2(w.USE_PROFILES):w.USE_PROFILES:!1,g1=w.ALLOW_ARIA_ATTR!==!1,W1=w.ALLOW_DATA_ATTR!==!1,_0=w.ALLOW_UNKNOWN_PROTOCOLS||!1,q0=w.ALLOW_SELF_CLOSE_IN_ATTR!==!1,o0=w.SAFE_FOR_TEMPLATES||!1,W0=w.SAFE_FOR_XML!==!1,$=w.WHOLE_DOCUMENT||!1,M5=w.RETURN_DOM||!1,_7=w.RETURN_DOM_FRAGMENT||!1,H6=w.RETURN_TRUSTED_TYPE||!1,R7=w.FORCE_BODY||!1,$t=w.SANITIZE_DOM!==!1,jt=w.SANITIZE_NAMED_PROPS||!1,P9=w.KEEP_CONTENT!==!1,E9=w.IN_PLACE||!1,G0=ZD(w.ALLOWED_URI_REGEXP)?w.ALLOWED_URI_REGEXP:CC,L5=typeof w.NAMESPACE=="string"?w.NAMESPACE:u3,I9=v2(w,"MATHML_TEXT_INTEGRATION_POINTS")&&w.MATHML_TEXT_INTEGRATION_POINTS&&typeof w.MATHML_TEXT_INTEGRATION_POINTS=="object"?K2(w.MATHML_TEXT_INTEGRATION_POINTS):Q1({},N2),Xl=v2(w,"HTML_INTEGRATION_POINTS")&&w.HTML_INTEGRATION_POINTS&&typeof w.HTML_INTEGRATION_POINTS=="object"?K2(w.HTML_INTEGRATION_POINTS):Q1({},Xt);let E=v2(w,"CUSTOM_ELEMENT_HANDLING")&&w.CUSTOM_ELEMENT_HANDLING&&typeof w.CUSTOM_ELEMENT_HANDLING=="object"?K2(w.CUSTOM_ELEMENT_HANDLING):t9(null);if(g0=t9(null),v2(E,"tagNameCheck")&&wu(E.tagNameCheck)&&(g0.tagNameCheck=E.tagNameCheck),v2(E,"attributeNameCheck")&&wu(E.attributeNameCheck)&&(g0.attributeNameCheck=E.attributeNameCheck),v2(E,"allowCustomizedBuiltInElements")&&typeof E.allowCustomizedBuiltInElements=="boolean"&&(g0.allowCustomizedBuiltInElements=E.allowCustomizedBuiltInElements),P2(g0),o0&&(W1=!1),_7&&(M5=!0),C5&&(q1=Q1({},yC),h0=t9(null),C5.html===!0&&(Q1(q1,wC),Q1(h0,kC)),C5.svg===!0&&(Q1(q1,zn),Q1(h0,yn),Q1(h0,Fs)),C5.svgFilters===!0&&(Q1(q1,xn),Q1(h0,yn),Q1(h0,Fs)),C5.mathMl===!0&&(Q1(q1,wn),Q1(h0,MC),Q1(h0,Fs))),E2.tagCheck=null,E2.attributeCheck=null,v2(w,"ADD_TAGS")&&(typeof w.ADD_TAGS=="function"?E2.tagCheck=w.ADD_TAGS:i6(w.ADD_TAGS)&&(q1===p3&&(q1=K2(q1)),Q1(q1,w.ADD_TAGS,U0))),v2(w,"ADD_ATTR")&&(typeof w.ADD_ATTR=="function"?E2.attributeCheck=w.ADD_ATTR:i6(w.ADD_ATTR)&&(h0===R3&&(h0=K2(h0)),Q1(h0,w.ADD_ATTR,U0))),v2(w,"ADD_URI_SAFE_ATTR")&&i6(w.ADD_URI_SAFE_ATTR)&&Q1(O7,w.ADD_URI_SAFE_ATTR,U0),v2(w,"FORBID_CONTENTS")&&i6(w.FORBID_CONTENTS)&&(l2===o4&&(l2=K2(l2)),Q1(l2,w.FORBID_CONTENTS,U0)),v2(w,"ADD_FORBID_CONTENTS")&&i6(w.ADD_FORBID_CONTENTS)&&(l2===o4&&(l2=K2(l2)),Q1(l2,w.ADD_FORBID_CONTENTS,U0)),P9&&(q1["#text"]=!0),$&&Q1(q1,["html","head","body"]),q1.table&&(Q1(q1,["tbody"]),delete k3.tbody),w.TRUSTED_TYPES_POLICY){if(typeof w.TRUSTED_TYPES_POLICY.createHTML!="function")throw p7('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof w.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw p7('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let l1=H;H=w.TRUSTED_TYPES_POLICY;try{_=N("")}catch(b1){throw H=l1,b1}}else w.TRUSTED_TYPES_POLICY===null?(H=void 0,_=""):(H===void 0&&(H=T()),H&&typeof _=="string"&&(_=N("")));V2&&V2(w),q7=w},yu=Q1({},[...zn,...xn,...ID]),ku=Q1({},[...wn,...RD]),PP=function(w,E,l1){return E.namespaceURI===u3?w==="svg":E.namespaceURI===r4?w==="svg"&&(l1==="annotation-xml"||I9[l1]):!!yu[w]},EP=function(w,E,l1){return E.namespaceURI===u3?w==="math":E.namespaceURI===G7?w==="math"&&Xl[l1]:!!ku[w]},BP=function(w,E,l1){return E.namespaceURI===G7&&!Xl[l1]||E.namespaceURI===r4&&!I9[l1]?!1:!ku[w]&&(HP[w]||!yu[w])},NP=function(w){let E=f(w);(!E||!E.tagName)&&(E={namespaceURI:L5,tagName:"template"});let l1=Ke(w.tagName),b1=Ke(E.tagName);return T1[w.namespaceURI]?w.namespaceURI===G7?PP(l1,E,b1):w.namespaceURI===r4?EP(l1,E,b1):w.namespaceURI===u3?BP(l1,E,b1):!!(R9==="application/xhtml+xml"&&T1[w.namespaceURI]):!1},S5=function(w){e9(t.removed,{element:w});try{f(w).removeChild(w)}catch{if(d(w),!f(w))throw p7("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Mu=function(w){let E=z(w);if(E){let b1=[];qe(E,$1=>{e9(b1,$1)}),qe(b1,$1=>{try{d($1)}catch{}})}let l1=y(w);if(l1)for(let b1=l1.length-1;b1>=0;--b1){let $1=l1[b1],a0=$1&&$1.name;if(typeof a0=="string")try{w.removeAttribute(a0)}catch{}}},F6=function(w,E){try{e9(t.removed,{attribute:E.getAttributeNode(w),from:E})}catch{e9(t.removed,{attribute:null,from:E})}if(E.removeAttribute(w),w==="is")if(M5||_7)try{S5(E)}catch{}else try{E.setAttribute(w,"")}catch{}},ZP=function(w){let E=y(w);if(E)for(let l1=E.length-1;l1>=0;--l1){let b1=E[l1],$1=b1&&b1.name;if(!(typeof $1!="string"||h0[U0($1)]))try{w.removeAttribute($1)}catch{}}},IP=function(w){let E=[w];for(;E.length>0;){let l1=E.pop();(C?C(l1):l1.nodeType)===C4.element&&ZP(l1);let $1=z(l1);if($1)for(let a0=$1.length-1;a0>=0;--a0)E.push($1[a0])}},Cu=function(w){let E=null,l1=null;if(R7)w="<remove></remove>"+w;else{let a0=fC(w,/^[\r\n\t ]+/);l1=a0&&a0[0]}R9==="application/xhtml+xml"&&L5===u3&&(w='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+w+"</body></html>");let b1=H?N(w):w;if(L5===u3)try{E=new h().parseFromString(b1,R9)}catch{}if(!E||!E.documentElement){E=i1.createDocument(L5,"template",null);try{E.documentElement.innerHTML=Z9?_:b1}catch{}}let $1=E.body||E.documentElement;return w&&l1&&$1.insertBefore(a.createTextNode(l1),$1.childNodes[0]||null),L5===u3?Q.call(E,$?"html":"body")[0]:$?E.documentElement:$1},Lu=function(w){return O.call(w.ownerDocument||w,w,i.SHOW_ELEMENT|i.SHOW_COMMENT|i.SHOW_TEXT|i.SHOW_PROCESSING_INSTRUCTION|i.SHOW_CDATA_SECTION,null)},Jt=function(w){return w=We(w,B1," "),w=We(w,X," "),w=We(w,D1," "),w},Ql=function(w){var E;w.normalize();let l1=O.call(w.ownerDocument||w,w,i.SHOW_TEXT|i.SHOW_COMMENT|i.SHOW_CDATA_SECTION|i.SHOW_PROCESSING_INSTRUCTION,null),b1=l1.nextNode();for(;b1;)b1.data=Jt(b1.data),b1=l1.nextNode();let $1=(E=w.querySelectorAll)===null||E===void 0?void 0:E.call(w,"template");$1&&qe($1,a0=>{W7(a0.content)&&Ql(a0.content)})},Qt=function(w){let E=S?S(w):null;return typeof E!="string"||U0(E)!=="form"?!1:typeof w.nodeName!="string"||typeof w.textContent!="string"||typeof w.removeChild!="function"||w.attributes!==y(w)||typeof w.removeAttribute!="function"||typeof w.setAttribute!="function"||typeof w.namespaceURI!="string"||typeof w.insertBefore!="function"||typeof w.hasChildNodes!="function"||w.nodeType!==C(w)||w.childNodes!==z(w)},W7=function(w){if(!C||typeof w!="object"||w===null)return!1;try{return C(w)===C4.documentFragment}catch{return!1}},_9=function(w){if(!C||typeof w!="object"||w===null)return!1;try{return typeof C(w)=="number"}catch{return!1}};function K4(r1,w,E){r1.length!==0&&qe(r1,l1=>{l1.call(t,w,E,q7)})}let RP=function(w,E){return!!(W0&&w.hasChildNodes()&&!_9(w.firstElementChild)&&T2(LC,w.textContent)&&T2(LC,w.innerHTML)||W0&&w.namespaceURI===u3&&E==="style"&&_9(w.firstElementChild)||w.nodeType===C4.processingInstruction||W0&&w.nodeType===C4.comment&&T2(jD,w.data))},_P=function(w,E){if(!k3[E]&&Hu(E)&&(g0.tagNameCheck instanceof RegExp&&T2(g0.tagNameCheck,E)||g0.tagNameCheck instanceof Function&&g0.tagNameCheck(E)))return!1;if(P9&&!l2[E]){let l1=f(w),b1=z(w);if(b1&&l1){let $1=b1.length;for(let a0=$1-1;a0>=0;--a0){let p2=E9?b1[a0]:u(b1[a0],!0);l1.insertBefore(p2,g(w))}}}return S5(w),!0},Su=function(w){if(K4(a1.beforeSanitizeElements,w,null),Qt(w))return S5(w),!0;let E=U0(S?S(w):w.nodeName);if(K4(a1.uponSanitizeElement,w,{tagName:E,allowedTags:q1}),RP(w,E))return S5(w),!0;if(k3[E]||!(E2.tagCheck instanceof Function&&E2.tagCheck(E))&&!q1[E])return _P(w,E);if((C?C(w):w.nodeType)===C4.element&&!NP(w)||(E==="noscript"||E==="noembed"||E==="noframes")&&T2(YD,w.innerHTML))return S5(w),!0;if(o0&&w.nodeType===C4.text){let b1=Jt(w.textContent);w.textContent!==b1&&(e9(t.removed,{element:w.cloneNode()}),w.textContent=b1)}return K4(a1.afterSanitizeElements,w,null),!1},Au=function(w,E,l1){if(l4[E]||$t&&(E==="id"||E==="name")&&(l1 in a||l1 in VP))return!1;let b1=h0[E]||E2.attributeCheck instanceof Function&&E2.attributeCheck(E,w);if(!(W1&&T2(t0,E))){if(!(g1&&T2(I,E))){if(b1){if(!O7[E]){if(!T2(G0,We(l1,f1,""))){if(!((E==="src"||E==="xlink:href"||E==="href")&&w!=="script"&&bC(l1,"data:")===0&&D7[w])){if(!(_0&&!T2(H1,We(l1,f1,"")))){if(l1)return!1}}}}}else if(!(Hu(w)&&(g0.tagNameCheck instanceof RegExp&&T2(g0.tagNameCheck,w)||g0.tagNameCheck instanceof Function&&g0.tagNameCheck(w))&&(g0.attributeNameCheck instanceof RegExp&&T2(g0.attributeNameCheck,E)||g0.attributeNameCheck instanceof Function&&g0.attributeNameCheck(E,w))||E==="is"&&g0.allowCustomizedBuiltInElements&&(g0.tagNameCheck instanceof RegExp&&T2(g0.tagNameCheck,l1)||g0.tagNameCheck instanceof Function&&g0.tagNameCheck(l1))))return!1}}return!0},DP=Q1({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Hu=function(w){return!DP[Ke(w)]&&T2(J2,w)},OP=function(w,E,l1,b1){if(H&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!l1)switch(m.getAttributeType(w,E)){case"TrustedHTML":return N(b1);case"TrustedScriptURL":return D(b1)}return b1},GP=function(w,E,l1,b1){try{l1?w.setAttributeNS(l1,E,b1):w.setAttribute(E,b1),Qt(w)?S5(w):vC(t.removed)}catch{F6(E,w)}},Fu=function(w){K4(a1.beforeSanitizeAttributes,w,null);let E=w.attributes;if(!E||Qt(w))return;let l1={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:h0,forceKeepAttr:void 0},b1=E.length,$1=U0(w.nodeName);for(;b1--;){let a0=E[b1],p2=a0.name,a2=a0.namespaceURI,C3=a0.value,_3=U0(p2),to=C3,W2=p2==="value"?to:TD(to);if(l1.attrName=_3,l1.attrValue=W2,l1.keepAttr=!0,l1.forceKeepAttr=void 0,K4(a1.uponSanitizeAttribute,w,l1),W2=l1.attrValue,jt&&(_3==="id"||_3==="name")&&bC(W2,Yt)!==0&&(F6(p2,w),W2=Yt+W2),W0&&T2(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,W2)){F6(p2,w);continue}if(_3==="attributename"&&fC(W2,"href")){F6(p2,w);continue}if(!l1.forceKeepAttr){if(!l1.keepAttr){F6(p2,w);continue}if(!q0&&T2(XD,W2)){F6(p2,w);continue}if(o0&&(W2=Jt(W2)),!Au($1,_3,W2)){F6(p2,w);continue}W2=OP($1,_3,a2,W2),W2!==to&&GP(w,p2,a2,W2)}}K4(a1.afterSanitizeAttributes,w,null)},ea=function(w){let E=null,l1=Lu(w);for(K4(a1.beforeSanitizeShadowDOM,w,null);E=l1.nextNode();)if(K4(a1.uponSanitizeShadowNode,E,null),Su(E),Fu(E),W7(E.content)&&ea(E.content),(C?C(E):E.nodeType)===C4.element){let $1=b(E);W7($1)&&(eo($1),ea($1))}K4(a1.afterSanitizeShadowDOM,w,null)},eo=function(w){let E=[{node:w,shadow:null}];for(;E.length>0;){let l1=E.pop();if(l1.shadow){ea(l1.shadow);continue}let b1=l1.node,a0=(C?C(b1):b1.nodeType)===C4.element,p2=z(b1);if(p2)for(let a2=p2.length-1;a2>=0;--a2)E.push({node:p2[a2],shadow:null});if(a0){let a2=S?S(b1):null;if(typeof a2=="string"&&U0(a2)==="template"){let C3=b1.content;W7(C3)&&E.push({node:C3,shadow:null})}}if(a0){let a2=b(b1);W7(a2)&&E.push({node:null,shadow:a2},{node:a2,shadow:null})}}};return t.sanitize=function(r1){let w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},E=null,l1=null,b1=null,$1=null;if(Z9=!r1,Z9&&(r1="<!-->"),typeof r1!="string"&&!_9(r1)&&(r1=ND(r1),typeof r1!="string"))throw p7("dirty is not a string, aborting");if(!t.isSupported)return r1;N1?(q1=y0,h0=B2):Jl(w),(a1.uponSanitizeElement.length>0||a1.uponSanitizeAttribute.length>0)&&(q1=K2(q1)),a1.uponSanitizeAttribute.length>0&&(h0=K2(h0)),t.removed=[];let a0=E9&&typeof r1!="string"&&_9(r1);if(a0){let C3=S?S(r1):r1.nodeName;if(typeof C3=="string"){let _3=U0(C3);if(!q1[_3]||k3[_3])throw p7("root node is forbidden and cannot be sanitized in-place")}if(Qt(r1))throw p7("root node is clobbered and cannot be sanitized in-place");try{eo(r1)}catch(_3){throw Mu(r1),_3}}else if(_9(r1))E=Cu("<!---->"),l1=E.ownerDocument.importNode(r1,!0),l1.nodeType===C4.element&&l1.nodeName==="BODY"||l1.nodeName==="HTML"?E=l1:E.appendChild(l1),eo(l1);else{if(!M5&&!o0&&!$&&r1.indexOf("<")===-1)return H&&H6?N(r1):r1;if(E=Cu(r1),!E)return M5?null:H6?_:""}E&&R7&&S5(E.firstChild);let p2=Lu(a0?r1:E);try{for(;b1=p2.nextNode();)Su(b1),Fu(b1),W7(b1.content)&&ea(b1.content)}catch(C3){throw a0&&Mu(r1),C3}if(a0)return qe(t.removed,C3=>{C3.element&&IP(C3.element)}),o0&&Ql(r1),r1;if(M5){if(o0&&Ql(E),_7)for($1=m1.call(E.ownerDocument);E.firstChild;)$1.appendChild(E.firstChild);else $1=E;return(h0.shadowroot||h0.shadowrootmode)&&($1=K.call(c,$1,!0)),$1}let a2=$?E.outerHTML:E.innerHTML;return $&&q1["!doctype"]&&E.ownerDocument&&E.ownerDocument.doctype&&E.ownerDocument.doctype.name&&T2(KD,E.ownerDocument.doctype.name)&&(a2="<!DOCTYPE "+E.ownerDocument.doctype.name+`>
|
|
3
3
|
`+a2),o0&&(a2=Jt(a2)),H&&H6?N(a2):a2},t.setConfig=function(){let r1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Jl(r1),N1=!0,y0=q1,B2=h0},t.clearConfig=function(){q7=null,N1=!1,y0=null,B2=null,H=Z,_=""},t.isValidAttribute=function(r1,w,E){q7||Jl({});let l1=U0(r1),b1=U0(w);return Au(l1,b1,E)},t.addHook=function(r1,w){typeof w=="function"&&v2(a1,r1)&&e9(a1[r1],w)},t.removeHook=function(r1,w){if(v2(a1,r1)){if(w!==void 0){let E=HD(a1[r1],w);return E===-1?void 0:FD(a1[r1],E,1)[0]}return vC(a1[r1])}},t.removeHooks=function(r1){v2(a1,r1)&&(a1[r1]=[])},t.removeAllHooks=function(){a1=SC()},t}var eO=FC();TC.exports=eO});function UP(e,t){let a=Ko(t),c=a?a.inner:t;if(Yo(c))return!1;if(c?.type==="slot")return!0;let s=Rf(c);return s==="always"?!1:s==="authored-copy"?wv(e):!0}function Kz(e){let t=Ko(e),a=t?t.inner:e,c=Yo(a);return c?mb(a)?0:c.level:null}function KP(e,t,a){return a&&t===0&&e===G6.Content}var $P=new WeakMap,jP=new WeakMap;function V8(e,t="section"){let a=t==="page"?jP:$P,c=a.get(e);if(c)return c;let s=Object.entries(e).map(([m,p])=>({key:m,field:p,level:Kz(p),draws:UP(m,p)||t==="page"&&Kz(p)===null&&Bo(m,p)})),l=t==="section"&&s.some(m=>Bo(m.key,m.field)),o=new Set;for(let m=0;m<s.length;m++){let p=s[m].level;if(p===null)continue;let u=0;for(let d=m+1;d<s.length;d++){let g=s[d].level;if(g!==null&&g<=p)break;s[d].draws&&(u+=1)}u===0&&!KP(s[m].key,p,l)&&o.add(s[m].key)}let r=l&&Tb(e),i=r&&!(G6.Content in e);if(!o.size&&!i)return a.set(e,e),e;let n={};for(let m of s)o.has(m.key)||(n[m.key]=m.field);let h=M8(r?Fb(n):n);return a.set(e,h),h}var $z={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(O9,e),draw(e,t){e.label=O9[t]}};function jz(e,t){let a=e.props?.id,c=t.appState?.data?.content;return!Array.isArray(c)||typeof a!="string"?!0:!c.some(s=>s?.props?.id===a)}function Nc(e,t){let a=e?.data?.content;if(!Array.isArray(a)||typeof t!="string")return;let c=(s,l)=>{for(let o of s){if(o?.props?.id===t)return l;for(let r of Object.values(o?.props??{}))if(Array.isArray(r)&&r.length>0&&typeof r[0]=="object"&&r[0]!==null&&"type"in r[0]){let i=c(r,o);if(i!==void 0)return i}}};return c(a,null)}var Yz={name:"sectionGroupAllow",applies:e=>zc.includes(e),panel(e,t,a,c){let s=e.fields?.sections;s&&(s.allow=[...c.sectionGroupAllow])}},nr=new Set(Object.keys(F1)),Xz={name:"openSlotDisallow",applies:()=>!0,panel(e,t,a,c){let s=c.contentSectionKeys;if(e?.fields)for(let l of Object.values(e.fields)){let o=l;if(o.type!=="slot"||o.allow)continue;let r=t==="Flex"?s.filter(i=>!nr.has(i)):s;o.disallow=Array.from(new Set([...o.disallow??[],...r]))}}};import{jsx as XP}from"react/jsx-runtime";var YP=Array.from(new Set([...Vb.map(e=>e.type),...nr,...ga,"GalleryItem"])),Jz={name:"cellWidth",applies:(e,t,a)=>YP.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let c=a.cellWidthFields;e.fields={...e.fields,...c()};let s=e.resolveFields;e.resolveFields=(l,o)=>{let r=s?s(l,o):o.fields,i=Nc(o.appState,l.props?.id);if(i===void 0||ag(i))return r;let n={...r};for(let h of Object.keys(c()))delete n[h];return n}},draw(e){let t=e.render;e.render=a=>{let c=eg(a.gridSpan),s=t(a);return c==null?s:XP("div",{className:"sf-grid-cell",[tg]:String(c),children:s})}}};import{useEffect as QP,useRef as eE}from"react";var oe="data-puck-component";function hr(e,t){return e.closest(`[${oe}]`)?.getAttribute(oe)===t}function JP(e,t,a){let c=e.querySelectorAll("*"),s=[],l=new Set;for(let u=0;u<c.length;u+=1){let d=c[u];if(!hr(d,t))continue;let g=d.getAttribute($9);g&&(s.push({element:d,partId:Y4(t,g)}),l.add(d))}let o=[];for(let u=0;u<c.length;u+=1){let d=c[u];if(!hr(d,t)||l.has(d))continue;let g=yv(d.textContent??"");g&&o.push({element:d,text:g})}let r=new Map,i=[],n=u=>u.row?`${u.key}.${u.row.rowKey}`:null,h=new Map;for(let u of a){let d=n(u);if(!d)continue;let g=h.get(d);g?g.push(u):h.set(d,[u])}let m=new Set;for(let[u,d]of h){if(d.length<2)continue;let g=d.flatMap(b=>b.texts);if(new Set(g).size===g.length)continue;let z=o.filter(b=>g.includes(b.text));if(z.length!==d.length)continue;let f=[...d].sort((b,y)=>(b.row?.index??0)-(y.row?.index??0));for(let b=0;b<f.length;b+=1){let y=f[b],C=z[b].element,S={key:y.key,partKey:Po(y.key,y.row),exact:!0},H=r.get(C);H?H.push(S):(r.set(C,[S]),i.push(C))}m.add(u)}for(let u of a){if(m.has(n(u)??""))continue;let d=Po(u.key,u.row);for(let g of u.texts){let z=[],f=null;for(let C of o)C.text===g?z.push(C.element):!z.length&&C.text.includes(g)&&(!f||C.text.length<=f.length)&&(f={element:C.element,length:C.text.length});let b=z.length?z:f?[f.element]:[],y=b.filter(C=>!b.some(S=>S!==C&&C.contains(S)));for(let C of y){let S={key:u.key,partKey:d,exact:z.length>0},H=r.get(C);H?H.push(S):(r.set(C,[S]),i.push(C))}}}let p=[...s];for(let u of i){let d=r.get(u)??[],g=d.some(z=>z.exact)?d.filter(z=>z.exact):d;if(new Set(g.map(z=>z.partKey)).size===1){p.push({element:u,partId:Y4(t,g[0].partKey)});continue}new Set(g.map(z=>z.key)).size===1&&p.push({element:u,partId:Y4(t,g[0].key)})}return p}function Qz(e,t,a){let c=e.querySelectorAll(`[${j4}]`);for(let l=0;l<c.length;l+=1){let o=c[l];hr(o,t)&&o.removeAttribute(j4)}let s=[];for(let{element:l,partId:o}of a)l.setAttribute(j4,o),s.push(l);return s}function ex(e,t,a,c,s){let l=null,o=null,r=()=>{let i=a(),n=i?.getAttribute(oe)??null;if(!i||!n)return!1;l=n;let h=Qz(e,n,JP(e,n,t));return s(i,n,h),!0};return r()||(o=c(()=>{(l||r())&&(o?.(),o=null)})),()=>{o?.(),o=null,l&&Qz(e,l,[])}}function tx(e,t){return e?.closest(`[${j4}]`)?.getAttribute(j4)??Y4(t,null)}function ax(e,t){return e!==Y4(t,null)}import{jsx as tE}from"react/jsx-runtime";function mr(e){let t=null,a=null;for(let c=e;c&&(t===null||a===null);c=c.parentElement){let s=c.getAttribute("class");t??=fg(s),a??=oo(s)}return{faceRole:t??"body",sizeGroup:a}}function Zc(e){let t=e.style,a={};for(let o of No)a[o]=t[o]??"",t[o]="";let c=getComputedStyle(e),s=getComputedStyle(e.ownerDocument.documentElement),l=Cv({fontSize:c.fontSize,fontWeight:c.fontWeight,lineHeight:c.lineHeight,letterSpacing:c.letterSpacing,textAlign:c.textAlign,textTransform:c.textTransform,paddingTop:c.paddingTop,maxWidth:c.maxWidth},Lv(c.fontFamily,o=>s.getPropertyValue(o)));for(let o of No)t[o]=a[o];return l}function pr({needles:e,styles:t,type:a,children:c}){let s=eE(null),{selectedPartId:l,select:o}=xc(),{setPartStyle:r}=wc(),i=JSON.stringify(e),n=JSON.stringify(t);return QP(()=>{let h=s.current;if(!h)return;let m=[],p=()=>h.parentElement,u=f=>{let b=p();if(!b)return null;let y=new MutationObserver(f);return y.observe(b,{attributes:!0,attributeFilter:[oe]}),()=>y.disconnect()},d=JSON.parse(i),g=JSON.parse(n),z=ex(h,d,p,u,(f,b,y)=>{let C=[];for(let Z of y){let q=Z,j=S8(q);j&&m.push(j),q.getAttribute(j4)===l?(q.setAttribute(I6,""),C.push(q)):q.removeAttribute(I6)}let S=Sv(b,l,C,Z=>bg(Z)!==null||oo(Z)!==null);if(S&&l){let Z=S;r({partId:l,...mr(Z),base:Zc(Z)})}Av(y.map(Z=>({element:Z,partId:Z.getAttribute(j4)??""})),g,Z=>Zc(Z),Z=>Hv(a,Z));let H=Z=>{let q=tx(Z.target,b);ax(q,b)&&(Z.stopPropagation(),Z.preventDefault()),o(q)},_=f;_.addEventListener("click",H,{capture:!0}),m.push(()=>_.removeEventListener("click",H,{capture:!0}))});return()=>{z();for(let f of m)f()}},[i,n,l,o,r]),tE("div",{ref:s,style:{display:"contents"},children:c})}import{jsx as cx}from"react/jsx-runtime";var sx={name:"clickableParts",applies:(e,t,a)=>typeof a?.render=="function",draw(e,t){let a=e,c=a.render;a.render=s=>{let l=r8(s);return s.puck?.isEditing?cx(pr,{needles:Eo(a.fields,s),styles:l,type:t,children:c(s)}):Object.keys(l).length?cx(Fv,{needles:Eo(a.fields,s),styles:l,type:t,children:c(s)}):c(s)}}};import{jsx as rx}from"react/jsx-runtime";var lx={name:"sectionCorners",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.sectionShapeFields()}},draw(e){let t=e.render;e.render=a=>{let c=aa(a.sectionCorners,a.sectionCornerSides),s=t(a),l=v0(a)?`sf-section-corners ${_u}`:"sf-section-corners";return c?rx("div",{className:l,style:{display:"contents",...c},children:s}):s}}},aE=["CollectionCard"],ox={name:"cardCorners",applies:(e,t,a)=>aE.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.cardShapeFields()}},draw(e){let t=e.render;e.render=a=>{let c=Du(a.cardCorners,a.cardCornerSides),s=t(a);return c?rx("div",{className:"sf-card-corners",style:{display:"contents",...c},children:s}):s}}};var ix={name:"emptyHeadings",applies:()=>!0,panel(e,t,a){let c=a.dropEmptyHeadings,s=e.resolveFields;e.resolveFields=s?(l,o)=>{let r=s(l,o);return r instanceof Promise?r.then(i=>c(i??o.fields)):c(r??o.fields)}:(l,o)=>c(o.fields)}};var nx={name:"hiddenNodes",applies:(e,t,a)=>typeof a?.render=="function",draw(e){let t=e.render;e.render=a=>a._hidden?null:t(a)}};import{Fragment as sE,jsx as mx,jsxs as lE}from"react/jsx-runtime";function cE({anchor:e}){let t=qf(typeof e=="string"?e:"");return t?mx("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var hx={name:"sectionAnchor",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let c=a.anchorFields;e.fields={...e.fields,...c()}},draw(e){e.defaultProps={...e.defaultProps,anchor:""};let t=e.render;e.render=a=>lE(sE,{children:[mx(cE,{anchor:a.anchor}),t(a)]})}};import{useEffect as oE,useRef as px}from"react";import{jsx as rE}from"react/jsx-runtime";function ux({motion:e,editing:t,children:a}){let c=px(null),s=px(e);return oE(()=>{let l=c.current;if(l){if(t){if(s.current===e)return;s.current=e,gg(l);return}return ug(l)}},[e,t]),rE("div",{ref:c,[pg]:e,children:a})}import{jsx as iE}from"react/jsx-runtime";var gx={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!dg.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let c=a.sectionAnimationFields;e.fields={...e.fields,...c()}},draw(e){let t=e,a=t.render;t.render=c=>{let s=mg(c.sectionAnimation);return s?iE(ux,{motion:s,editing:!!c.puck?.isEditing,children:a(c)}):a(c)}}};import{jsx as nE}from"react/jsx-runtime";var fx={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!Jf.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let c=a.heightFields;e.fields={...e.fields,...c()};let s=e.resolveFields;e.resolveFields=(l,o)=>{let r=s?s(l,o):o.fields,i=l?.props??{},n=Xf(i),h=Qf(i)?eb(i):null;return r&&typeof r.then=="function"?r.then(m=>vx(dx(m,n),h)):vx(dx(r,n),h)}},draw(e){let t=e.render;e.render=a=>{let c=tb(a);return c?nE("div",{className:c.className,style:c.style,children:t(a)}):t(a)}}};function dx(e,t){if(!e||!("sectionHeightMode"in e))return e;let a={...e};if(t.mode==="auto")return delete a.sectionHeightValue,delete a.sectionHeightUnit,a;t.mode==="screen"&&delete a.sectionHeightUnit;let c=a.sectionHeightValue;return c&&(a.sectionHeightValue={...c,unit:t.unit}),a}function vx(e,t){if(!e||!("sectionHeightModePhone"in e))return e;let a={...e};if(!t||t.mode==="auto")return delete a.sectionHeightValuePhone,delete a.sectionHeightUnitPhone,a;t.mode==="screen"&&delete a.sectionHeightUnitPhone;let c=a.sectionHeightValuePhone;return c&&(a.sectionHeightValuePhone={...c,unit:t.unit}),a}var Ic="sf-card",i2={min:0,max:90,step:5,fallback:0,unit:"%"},q5=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],hE="68%",c3={desktop:20,phone:20,side:40,sidePhone:24},bx="sf-box-sides",zx={min:0,max:200,step:10};function P8(e){return typeof e=="string"&&e.trim()!==""}function Rc(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(i2.max,Math.max(i2.min,a))/100).toFixed(2);return t!=="bottom"?{background:`rgba(0,0,0,${s})`}:{background:`linear-gradient(0deg, rgba(0,0,0,${s}) 0%, rgba(0,0,0,0) ${hE})`}}function _c(e,t){let a={"top-left":["start","start"],"top-center":["center","start"],"top-right":["end","start"],left:["start","center"],center:["center","center"],right:["end","center"],"bottom-left":["start","end"],"bottom-center":["center","end"],"bottom-right":["end","end"]},[c,s]=a[e]??a.center,[l,o]=t==="column"?[s,c]:[c,s],r={start:"justify-start",center:"justify-center",end:"justify-end"},i={start:"items-start",center:"items-center",end:"items-end"};return`${r[l]} ${i[o]}`}import{jsx as uE}from"react/jsx-runtime";var Dc={ParagraphsA:{top:60,bottom:80},StatsParagraph:{top:120,bottom:120},Timeline:{top:120,bottom:120},Footprint:{top:120,bottom:120},TimelineTrack:{top:120,bottom:120},TitleWithButtons:{top:140,bottom:140},ProcessSteps:{top:120,bottom:120},DetailRows:{top:100,bottom:100}},xx=new Set(Object.keys(Dc)),mE=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),wx=new Set(["ProductGrid"]);function ur(e,t){let a=e.render;e.render=c=>{if(t?.(c))return a(c);let s=p8(c.sectionPaddingTop,c.sectionPaddingBottom,c.sectionPaddingTopPhone,c.sectionPaddingBottomPhone),l=a(c);return s?uE("div",{className:s.className,style:s.style,children:l}):l}}var yx={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!mE.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){xx.has(t)||wx.has(t)||(e.fields={...e.fields,...a.spacingFields({phone:!0})})},draw(e,t){if(xx.has(t)){let a=e.render,c=Dc[t];e.render=s=>{let l=Yf(s,c);return a({...s,padTop:l.top,padBottom:l.bottom})};return}if(wx.has(t)){ur(e);return}ur(e,t==="Flex"?a=>P8(a.bgImage):void 0)}},pE=["Heading","Text"],kx={name:"blockPadding",applies:(e,t,a)=>pE.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.spacingFields({phone:!0})}},draw(e){ur(e)}};import{jsx as gE}from"react/jsx-runtime";var Mx={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!hg.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:c,SECTION_THEME_FOLLOW_LABEL:s}=a,l=po.has(t);e.fields={...e.fields,...l?c(n4,s):c()}},draw(e,t){let a=po.has(t),c=e.render;e.render=s=>{let l=U7(a?{...s,sectionAccent:n4(s.sectionAccent)}:s),o=c(s);return l?gE("div",{className:l.className,style:l.style,children:o}):o}}},Cx={name:"slideTheme",applies:e=>e==="HeroSlide",panel(e,t,a){let{sectionThemeFields:c,BLOCK_THEME_FOLLOW_LABEL:s}=a;e?.fields&&(e.fields={...e.fields,...c(n4,s)})}};import{WidthIcon as fE}from"efficient-easel/icons";var W6={min:40,max:2e3,step:10,fallback:2e3,unit:"px"};function Lx(e){return typeof e!="number"?null:{width:`${e}${W6.unit}`,maxWidth:"100%"}}var dE=new Set(["Flex","Grid"]);function gr(e,t){return e&&!t}var vE=e=>Array.isArray(e)&&e.length>0&&typeof e[0]=="object"&&e[0]!==null&&"type"in e[0];function Sx(e,t){if(!Array.isArray(e)||typeof t!="string")return;let a=(c,s)=>{for(let l of c){let o=l?.props??{};if(o.id===t)return s;let r=String(l?.type??""),i=dE.has(r)&&gr(u2(o,"page").mode!=="full",s);for(let n of Object.values(o)){if(!vE(n))continue;let h=a(n,s||i);if(h!==void 0)return h}}};return a(e,!1)}import{jsx as Oc}from"react/jsx-runtime";var bE=new Set(["SectionHeader","ProductGrid","IntroBleed","RelatedProducts","Banner","Stats","Logos","Divider","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA","Ticker","CategoryBar","DocTabs","CustomHTML","Spacer","Flex","Grid"]),zE=new Set(["Hero","HeroSingle","Manifesto","ProductHero"]),xE=new Set(["ProductHero"]),Ax={name:"sectionWidth",applies:(e,t,a)=>t.isSection(e)&&!bE.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let c=a.widthField;e.fields={...e.fields,...c("full")};let s=e.resolveFields;e.resolveFields=(l,o)=>{let r=s?s(l,o):o.fields,i=u2(l?.props??{},"full");return r&&typeof r.then=="function"?r.then(n=>W5(n,i)):W5(r,i)}},draw(e,t){let a=zE.has(t),c=e.render;e.render=s=>{let{mode:l,inherited:o}=u2(s,"full"),r=c(s);if(l==="full")return a&&!o&&!xE.has(t)?Oc("div",{style:{[Ug]:"none",[Kg]:"initial",[$g]:"initial"},children:r}):r;let i=A5(q9);return a?Oc("div",{style:{"--sf-page-cap":q9},children:r}):Oc("div",{style:i,children:r})}}};function W5(e,t){if(!e||!("widthMode"in e))return e;let a={...e},c=a.widthMode;return c&&(a.widthMode={...c,currentValue:t.mode,inherited:t.inherited}),a}var wE=new Set(["Heading","Text","ImageBlock","ButtonBlock","Banner","Stats","Logos","Divider","Flex","Grid","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA"]),Hx={name:"containedWidth",applies:(e,t,a)=>wE.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let c=a.widthField;e.fields={...e.fields,...c("page")};let s=e.resolveFields;e.resolveFields=(l,o)=>{let r=s?s(l,o):o.fields,i=u2(l?.props??{},"page"),n=h=>kE(W5(h,i),l,o);return r&&typeof r.then=="function"?r.then(n):n(r)}},draw(e){let t=e.render;e.render=a=>{let{mode:c}=u2(a,"page");return t({...a,contained:c!=="full"})}}},Fx={name:"buttonAlignInRow",applies:e=>e==="ButtonBlock",panel(e){let t=e,a=t?.resolveFields;t.resolveFields=(c,s)=>{let l=a?a(c,s):s.fields,o=r=>{let i=Nc(s.appState,c.props?.id);if(!i||i.type!=="HeroGroup"||cc("HeroGroup",i.props?.direction)!=="row")return r;let n={...r};return delete n.align,n};return l&&typeof l.then=="function"?l.then(o):o(l)}}};function yE(e){return Object.values(e).some(t=>!!t&&typeof t=="object"&&t.type==="slot")}function kE(e,t,a){if(yE(e)){let s=a.appState?.data?.content;if(Sx(s,t.props?.id)!==!0)return e;let l={...e};return delete l.widthMode,delete l.pageWidth,l}if("parent"in a){if(!Eb(a.parent))return e}else if(!jz({props:t.props??{}},a))return e;let c={...e};return delete c.widthMode,delete c.pageWidth,c}var Tx={name:"imageWidth",applies:e=>e==="ImageBlock",panel(e,t,a){let c=a.slider;if(e?.fields){let s=c("Image width",Oc(fE,{}),W6.min,W6.max,W6.step,W6.fallback,W6.unit),l="focal",o=Object.entries(e.fields),r=o.findIndex(([i])=>i===l);e.fields=Object.fromEntries(r===-1?[...o,["width",s]]:[...o.slice(0,r+1),["width",s],...o.slice(r+1)])}}};var ME=new Set(["Reviews","Cards","FAQ","Prose","ProductHero","SpecTable","ProductGrid","ParagraphsA","KeyFeatures","Stats","StatsParagraph","Chart","Mockup","Testimonials","Logos","ContactRouting","ContactLocations","SubmitBuild","ReviewForm","Form","AppointmentBooking","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA","Collections","AlloyWheelsListing","CatalogFilterBar","FitmentFinder","GalleryB","BrandStrip","DocMasthead","DocBody","DocMetaCards","Masthead","FeaturedCover","LongRead","Series","Events","SectionHeader","Grid","Flex","Spacer","Divider","CustomHTML","Breadcrumb","CategoryBar","DocTabs","Hero","HeroSingle","IntroBleed","Manifesto","Timeline","TimelineTrack","Footprint","Banner","TitleWithButtons","Ticker","SubscribeBlogs","TyreSizes","TyreFitment","EuTyreLabel","SpecStrip","ProcessSteps","DetailRows","FitmentTable","CompatibleTyres","RelatedProducts","BundleOffer","Split","Gallery","Subscribe"]),Vx={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(ME.has(e)||t.isHostBlock(e)),panel(e,t,a){let c=a.assignSectionGroups;e?.fields&&(e.fields=c(e.fields,t))}},CE=new Set(["HeroSlide","Heading","Text","ImageBlock","ButtonBlock","HeroGroup","GalleryItem","Footer","FooterLogo","FooterMenu","FooterGroup","FooterText","PostCard","LogoBlock","CollectionCard","Eyebrow","BookingBox","SubmitBox","FooterSocial","MenuBlock","SocialLogosBlock","EmailFormBlock","SearchBlock","CartBlock"]),Px={name:"blockGroups",applies:e=>CE.has(e),panel(e,t,a){let c=a.assignSectionGroups;e?.fields&&(e.fields=c(e.fields,t))}};var LE=["Form","Stats"];function dr(e,t){let a=new Set(e),c=Rg.filter(i=>a.has(i)),s=c.filter(i=>i!=="Header"&&i!=="Footer"&&!zc.includes(i)),l=new Set([...t,...ga,...LE]),o=c.filter(i=>!l.has(i)),r=new Set(c);return{isSection:i=>r.has(i),isHostBlock:()=>!1,sectionGroupAllow:s,contentSectionKeys:o}}var SE=[Yz,Xz,yx,lx,ox,kx,Jz,Ax,Hx,Fx,Tx,fx,hx,Mx,gx,Cx,Vx,Px,ix,sx,nx,$z];function Ex(e,t,a){let c=t;for(let s of SE)s.applies(e,a,c)&&(a.inspector&&s.panel?.(c,e,a.inspector,a),s.draw?.(c,e,a));return t}var Bx={spacingFields:f4,sectionShapeFields:nc,cardShapeFields:gb,cellWidthFields:zb,widthField:b4,heightFields:xb,anchorFields:wb,sectionThemeFields:ic,sectionAnimationFields:ub,slider:J,assignSectionGroups:bc,dropEmptyHeadings:V8,SECTION_THEME_FOLLOW_LABEL:tc,BLOCK_THEME_FOLLOW_LABEL:Of};import{SettingsField as AE,SettingsSegmented as HE}from"efficient-easel/panel";import{WidthIcon as FE}from"efficient-easel/icons";import{jsx as Gc}from"react/jsx-runtime";function re({value:e,resolved:t,onChange:a,label:c="Width",labelId:s,followsLabel:l,hint:o}){let r=e===void 0,i=r?t:e;return Gc(AE,{label:c,labelId:s,icon:Gc(FE,{}),value:r?l:void 0,changed:!r,action:r?void 0:Gc(Wu,{label:c,what:"change",onClear:()=>a(void 0)}),hint:o,children:Gc(HE,{options:[{label:jo.page,id:"content"},{label:jo.full,id:"full"}],value:i,ariaLabel:c,onChange:a})})}import{createContext as TE,useContext as VE,useMemo as PE}from"react";import{jsx as EE}from"react/jsx-runtime";var Nx=TE({originData:null,originSlug:null,exitFocus:()=>{}});function Q11({children:e,originData:t,originSlug:a,exitFocus:c}){let s=PE(()=>({originData:t,originSlug:a,exitFocus:c}),[t,a,c]);return EE(Nx.Provider,{value:s,children:e})}var Zx=()=>VE(Nx);import{useEffect as $x,useRef as KE,useState as jx}from"react";import{createContext as BE,useContext as vr,useEffect as NE,useState as ZE,useSyncExternalStore as IE}from"react";import{jsx as DE}from"react/jsx-runtime";var Rx=[];function RE(){let e=Rx,t=new Set,a=c=>{e=c;for(let s of t)s()};return{offer:c=>(a([...e,c]),()=>{let s=e.indexOf(c);s>=0&&a([...e.slice(0,s),...e.slice(s+1)])}),subscribe:c=>(t.add(c),()=>t.delete(c)),offered:()=>e}}var qc=BE(null);function _x({children:e}){let[t]=ZE(RE);return DE(qc.Provider,{value:t,children:e})}var Wc=()=>vr(qc)!==null;function fr(e){let t=vr(qc);NE(()=>{if(!(!t||!e))return t.offer(e)},[t,e])}var _E=()=>()=>{},Ix=()=>Rx;function Dx(){let e=vr(qc),t=IE(e?.subscribe??_E,e?.offered??Ix,Ix);return e?{search:t.includes("search"),region:t.includes("region")}:null}import{createContext as OE,useCallback as Ox,useContext as GE,useMemo as qE,useState as WE}from"react";import{jsx as UE}from"react/jsx-runtime";var Gx=OE({live:Qo,ready:!1,primeLive:()=>{},setLive:()=>{}});function r01({children:e}){let[t,a]=WE({live:Qo,ready:!1}),c=Ox(o=>a(r=>r.ready?r:{live:o,ready:!0}),[]),s=Ox(o=>a({live:o,ready:!0}),[]),l=qE(()=>({...t,primeLive:c,setLive:s}),[t,c,s]);return UE(Gx.Provider,{value:l,children:e})}var qx=()=>GE(Gx);import{jsx as c0,jsxs as w4}from"react/jsx-runtime";var $E=e=>/^https?:\/\//i.test(e),Yx="flex list-none flex-col gap-2.5 text-[13px]",br="mb-4 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",Wx="text-[12px] italic text-fg-dim/70",Xx=(e,t)=>e&&t>0?"border-t border-line pt-2.5":"";function jE({showDividers:e}){return c0("ul",{className:Yx,children:Array.from({length:4},(t,a)=>c0("li",{className:`text-fg ${Xx(e,a)}`,children:c0(Wo,{})},a))})}function Jx({item:e,label:t,link:a,onNavigate:c}){return df(e.url)?c0("span",{className:t,children:k(e.label)}):$E(e.url)?c0("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:a,onClick:c,children:k(e.label)}):c0(r0,{href:e.url,className:a,onClick:c,children:k(e.label)})}function Ux({items:e,showDividers:t}){return c0("ul",{className:Yx,children:e.map((a,c)=>c0("li",{className:Xx(t,c),children:c0(Jx,{item:a,label:"text-fg",link:"text-fg transition-colors hover:text-accent"})},`${a.label}-${c}`))})}var YE="opacity-80 transition-opacity hover:opacity-100";function XE({items:e,label:t,editing:a}){let[c,s]=jx(!1),l=KE(null),o=Dx(),{open:r}=Ua(),i=t||"Menu",n=()=>s(!1);$x(()=>{if(!c)return;let p=l.current?.ownerDocument.body;if(!p)return;let u=p.style.overflow;return p.style.overflow="hidden",()=>{p.style.overflow=u}},[c]);let h=(p,u,d)=>e===null?Array.from({length:4},(g,z)=>c0("li",{className:u,children:c0(Wo,{})},z)):e.map((g,z)=>c0("li",{className:u,children:c0(Jx,{item:g,label:p,link:`${p} ${YE}`,onNavigate:d})},`${g.label}-${z}`)),m=o&&(o.search||o.region)?o:null;return w4("nav",{ref:l,"aria-label":i,"data-menu-row":"",className:"min-w-0",children:[c0("ul",{className:"m-0 hidden list-none flex-wrap items-center gap-x-[30px] gap-y-2 p-0 font-mono text-[13px] uppercase tracking-[0.18em] min-[801px]:flex",children:h("","")}),c0("button",{type:"button",className:"flex h-11 w-11 items-center justify-center min-[801px]:hidden","aria-expanded":c,"aria-label":c?"Close the menu":"Open the menu",onClick:()=>s(p=>!p),children:c0("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round","aria-hidden":"true",children:c?c0("path",{d:"M6 6l12 12M18 6L6 18"}):c0("path",{d:"M4 7h16M4 12h16M4 17h16"})})}),c?w4("div",{role:"dialog","aria-label":i,className:"fixed inset-x-0 bottom-0 top-[var(--sf-header-h,60px)] z-[60] flex flex-col overflow-y-auto bg-bg text-fg min-[801px]:hidden",onKeyDown:p=>{p.key==="Escape"&&n()},children:[c0("ul",{className:"m-0 flex list-none flex-col px-5 py-3 font-mono text-[16px] uppercase tracking-[0.18em]",children:h("","flex min-h-14 items-center border-b border-line",n)}),m?w4("div",{className:"mt-auto flex flex-col gap-3.5 border-t border-line bg-surface p-5",children:[m.search?w4("button",{type:"button",className:"flex h-12 items-center gap-3 border border-line bg-bg px-3.5 text-left text-[15px]",onClick:a?void 0:()=>{n(),r()},children:[c0(D6,{name:"search",size:18,strokeWidth:1.6,rounded:!0}),Mf.search]}):null,m.region?w4("div",{className:"flex items-center justify-between",children:[c0("span",{className:"mono-eyebrow text-fg-dim",children:"Region"}),c0(ja,{})]}):null]}):null]}):null]})}function ie({menu:e,heading:t,accordionMobile:a=!1,showDividers:c=!1,editing:s=!1,layout:l="column"}){let{live:o,ready:r}=qx(),i=Nb({id:e?.id,handle:e?.handle,editing:s,ready:r,live:o}),n=i?[]:e?.items??[],h=t||e?.name||"",[m,p]=jx(!1);return $x(()=>{if(!a)return;let u=window.matchMedia("(max-width: 800px)"),d=()=>p(u.matches);return d(),u.addEventListener("change",d),()=>u.removeEventListener("change",d)},[a]),l==="row"?c0(XE,{items:i?null:n,label:h,editing:s}):i?w4("div",{className:"min-w-0",children:[c0("h4",{className:br,children:t?z0(t):zf}),c0(jE,{showDividers:c}),c0("p",{className:`mt-3 ${Wx}`,children:xf})]}):n.length===0?w4("div",{className:"min-w-0",children:[h?c0("h4",{className:br,children:z0(h)}):null,s?c0("p",{className:Wx,children:wf}):null]}):a&&m?w4("details",{className:"min-w-0 border-b border-line",children:[w4("summary",{className:"flex cursor-pointer list-none items-center justify-between py-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:[z0(h),c0("span",{"aria-hidden":!0,children:"\uFF0B"})]}),c0("div",{className:"pb-3",children:c0(Ux,{items:n,showDividers:c})})]}):w4("div",{className:"min-w-0",children:[h?c0("h4",{className:br,children:z0(h)}):null,c0(Ux,{items:n,showDividers:c})]})}import{createContext as tB,useContext as aB}from"react";var Qx="grayscale(1) contrast(1.03)",ew="Black and white";function JE(e){return e===!0?{filter:Qx}:{}}function QE(e){let{filter:t}=JE(e);return t?{style:{filter:t}}:{}}var ne="sf-photo-grayscale",eB=`@media (hover:hover){.${ne}{filter:${Qx};transition:filter 160ms ease}.${ne}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${ne}{transition:none}}`;function E8(e,t){return typeof e=="boolean"?e?QE(!0):{}:t===!0?{className:ne}:{}}function tw(e){return e===!0?{[ne]:eB}:{}}import{jsx as cB,jsxs as sB}from"react/jsx-runtime";var aw=tB(!1);function B8(){return aB(aw)}function cw({grayscale:e,children:t}){let a=e===!0;return sB(aw.Provider,{value:a,children:[Object.entries(tw(e)).map(([c,s])=>cB("style",{children:s},c)),t]})}var Uc="";function ow(e){if(typeof e=="string"||typeof e=="number")return e;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return typeof t=="string"?t:null}return null}function sw(e){let t=ow(e);if(t===null||typeof t=="string"&&t.trim()==="")return null;let a=Number(t);return Number.isSafeInteger(a)&&a>0?a:null}function lw(e){let t=ow(e);if(t===null||typeof t=="string"&&t.trim()==="")return null;let a=Number(t);return Number.isFinite(a)&&a>=0?a:null}function lB(e){return i8.some(t=>t.f===e)?e:null}function oB(e){return typeof e=="string"&&e!==""?e:null}function rw(e){return e?{...Ro,process:oB(e.openingProcess),size:sw(e.openingSize),lugs:sw(e.openingLugs),finish:lB(e.openingFinish),priceMin:lw(e.openingPriceMin),priceMax:lw(e.openingPriceMax)}:Ro}var iw={value:Uc,label:"Any"},nw=[iw,...i8.map(e=>({value:e.f,label:e.label}))],hw=[iw,...G9.map(e=>({value:e.key,label:e.key}))];import{useCallback as MB,useEffect as jc,useRef as Cw,useState as he}from"react";var rB={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function mw(e,t){let a={};for(let c of pa){let s=e[c];if(!s)continue;let l=Mv({role:s},rB,t);l.fontFamily&&(a[fo[c].font]=l.fontFamily),l.fontSize&&(a[fo[c].size]=l.fontSize)}return a}import{useEffect as iB}from"react";import{jsx as Y0,jsxs as N8}from"react/jsx-runtime";var pw="w-full border-2 border-line bg-bg px-4 py-3.5 font-display text-[17px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent";function nB({label:e,required:t,children:a}){return N8("label",{className:"flex flex-col gap-2",children:[N8("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-fg",children:[e,t?Y0("span",{className:"text-accent",children:" *"}):null]}),a]})}function hB({field:e,value:t,onChange:a}){let c={field:e,value:t,onChange:a};return e.type==="checkbox"?N8("label",{className:"flex items-start gap-3",children:[Y0(ae,{...c,className:"mt-1 size-4 accent-accent"}),N8("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.16em] text-fg",children:[e.label,e.required?Y0("span",{className:"text-accent",children:" *"}):null]})]}):Y0(nB,{label:e.label,required:e.required,children:Y0(ae,{...c,className:e.type==="textarea"?pw+" resize-y":pw})})}function uw({children:e}){return Y0("section",{className:"relative z-[2] border-t border-line bg-surface",children:Y0("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:Y0("p",{className:"font-mono text-[12px] uppercase tracking-[0.22em] text-fg-dim",children:e})})})}function zr({formSlug:e,heading:t,intro:a,submitText:c,finePrint:s,form:l,editing:o=!1}={}){let r=O5(e,l);if(r===void 0)return Y0(uw,{children:"Loading form\u2026"});if(r===null)return Y0(uw,{children:o?"Choose a form in the inspector, under Form.":"This form is unavailable."});let i=(t??"").trim()||r.title;return Y0("section",{className:"relative z-[2] border-t border-line bg-surface",children:N8("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[i&&Y0("h2",{className:"mb-4 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:i}),(a??"").trim()&&Y0("p",{className:"mb-11 max-w-[640px] font-display text-[16px] leading-[1.6] text-fg-dim",children:a}),Y0(xr,{form:r,formSlug:e,submitText:c,finePrint:s,editing:o})]})})}function xr({form:e,formSlug:t,submitText:a,finePrint:c,editing:s=!1,onSent:l}){let{valueOf:o,set:r,honeypot:i,setHoneypot:n,submitting:h,done:m,error:p,handleSubmit:u}=A8({form:e,formSlug:t,editing:s});iB(()=>{m&&l?.()},[m]);let d=(a??"").trim()||e.submitButtonText?.trim()||"Submit";return m?Y0("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:kc(e)}):N8("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:u,children:[e.fields.map(g=>Y0(hB,{field:g,value:o(g.key),onChange:z=>r(g.key,z)},g.key)),Y0(Mc,{value:i,onChange:n}),p&&Y0("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:p}),Y0("button",{type:s?"button":"submit",disabled:h,className:"cursor-pointer self-start bg-btn px-8 py-4 font-mono text-[14px] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg hover:text-bg disabled:cursor-wait disabled:opacity-60",children:h?"Sending\u2026":d}),e.consentText?.trim()&&Y0("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:e.consentText}),(c??"").trim()&&Y0("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:c})]})}import{useCallback as gw,useRef as mB,useState as dw}from"react";function Kc({source:e,dryRun:t=!1}){let[a,c]=dw("idle"),[s,l]=dw(null),o=mB(!1),r=gw(()=>{o.current=!1,l(null),c("idle")},[]),i=gw(async n=>{if(!o.current){if(!Pa(n.email)){c("invalid");return}o.current=!0,l(null),c("sending");try{t||await D0.createNewsletterSubscription(fv(n,e))}catch(h){o.current=!1,l(h),c("error");return}o.current=!1,c("sent")}},[e,t]);return{status:a,error:s,submit:i,reset:r}}import{createContext as dB,useCallback as $c,useContext as vB,useEffect as fB,useMemo as bB,useRef as zB,useState as kr}from"react";var vw="/edit";function fw(e){return e===vw||e.startsWith(`${vw}/`)}var zw="storefront-subscribe-seen",xw="storefront-popup-closed-at",pB=1440*60*1e3,uB=["/checkout","/cart"];function bw(e){let t=e.split(/[?#]/)[0]||"/",a=t.startsWith("/")?t:`/${t}`;return a.length>1?a.replace(/\/+$/,"")||"/":a}function wr(e,t,a){let c=bw(e);return uB.some(s=>c===s||c.startsWith(`${s}/`))?!1:t==="all"?!0:a.some(s=>bw(s)===c)}function gB(e,t,a,c){if(e==="never")return!1;if(a.session.getItem(zw)==="1")return!0;if(e==="visit")return!1;let s=Number(a.local.getItem(xw));return!Number.isFinite(s)||s<=0?!1:c-s<t*pB}function yr(e,t){e.session.setItem(zw,"1"),e.local.setItem(xw,String(t))}function ww(e,t){return e==="exit"&&!t?"delay":e}function yw(e,t,a){let c=a-t;return c<=0?100:Math.min(100,Math.max(0,e/c*100))}function kw(e,t,a){return!e.autoOpen||e.inEditor||!wr(e.path,e.showOn,e.showOnPages)||e.hideAfter!=="never"&&!xg(t.session)?!1:!gB(e.hideAfter,e.hideDays,t,a)}import{jsx as kB}from"react/jsx-runtime";var Mw=dB(null),Mr={session:wg,local:Q2};function xB(){try{return window.matchMedia("(hover: hover) and (pointer: fine)").matches}catch{return!1}}var wB=15,yB=[];function t21({children:e,disableAutoTrigger:t,autoOpen:a=!1,autoOpenDelaySec:c=wB,trigger:s="delay",scrollPercent:l=50,showOn:o="all",showOnPages:r=yB,hideAfter:i="visit",hideDays:n=7}){let[h,m]=kr(!1),[p,u]=kr("chosen"),[d,g]=kr({}),z=uf()??"/",f=fw(z),b=wr(z,o,r),y=zB(!1),C=$c(q=>{g(q??{}),u("newsletter"),m(!0)},[]),S=$c(()=>{y.current=!0,g({}),u("chosen"),m(!0)},[]),H=$c(()=>yr(Mr,Date.now()),[]),_=$c(()=>{m(!1),yr(Mr,Date.now())},[]);fB(()=>{if(t||y.current||!kw({autoOpen:a,inEditor:f,path:z,showOn:o,showOnPages:r,hideAfter:i,hideDays:n},Mr,Date.now()))return;let j=ww(s,xB());if(j==="scroll"){let N=()=>{yw(window.scrollY,window.innerHeight,document.documentElement.scrollHeight)>=l&&(window.removeEventListener("scroll",N),S())};return window.addEventListener("scroll",N,{passive:!0}),()=>window.removeEventListener("scroll",N)}if(j==="exit"){let N=D=>{D.relatedTarget===null&&D.clientY<=0&&(document.removeEventListener("mouseout",N),S())};return document.addEventListener("mouseout",N),()=>document.removeEventListener("mouseout",N)}let B=window.setTimeout(S,Math.max(0,c)*1e3);return()=>window.clearTimeout(B)},[t,a,f,b,s,c,l,i,n,S]);let Z=bB(()=>({isOpen:h,mode:p,open:C,close:_,markSent:H,prefillEmail:d.email??"",signupSource:d.source??A3.popup}),[h,p,C,_,H,d]);return kB(Mw.Provider,{value:Z,children:e})}function Cr(){let e=vB(Mw);if(!e)throw new Error("useSubscribePopup() must be called inside <SubscribePopupProvider>. Mount the provider in app/layout.tsx.");return e}import{Fragment as SB,jsx as U1,jsxs as $0}from"react/jsx-runtime";var CB=50;function LB(e){let t=U7({sectionAccent:n4(e.sectionAccent)}),a=aa(e.sectionCorners,e.sectionCornerSides);return{className:t?.className??"",style:{...t?.style??{},...a??{},...mw(e.textStyles)}}}function Sw({content:e,open:t=!0,onClose:a,onSent:c,inline:s=!1,prefillEmail:l="",source:o=A3.popup,mode:r="chosen",form:i}){let n=r==="chosen"?e.formSlug:"",h=O5(n||void 0,s?void 0:i??null),m=!!n&&!!h,[p,u]=he(""),[d,g]=he(""),[z,f]=he(()=>new Set(e.interests.slice(0,1))),[b,y]=he(e.frequencies[0]??""),{status:C,error:S,submit:H,reset:_}=Kc({source:o,dryRun:s}),Z=C==="sending",q=C==="invalid"?e.emailInvalidText:C==="error"?S instanceof Mg?S.message:e.submitErrorText:null,[j,B]=he(""),N=Cw(null),D=Cw(null);jc(()=>{t&&_()},[t,_]),jc(()=>{C==="sent"&&!s&&c?.()},[C]);let T=MB(()=>a?.(),[a]);if(o8({active:!s&&t,onDismiss:T}),jc(()=>{if(s||!t)return;let I=window.setTimeout(()=>D.current?.focus(),CB);return()=>window.clearTimeout(I)},[s,t]),jc(()=>{!t||!l||g(l)},[t,l]),!s&&!t)return null;function R(I){f(H1=>{let f1=new Set(H1);return f1.has(I)?f1.delete(I):f1.add(I),f1})}function i1(I){I.target===N.current&&a?.()}function O(I){I.preventDefault();let H1=d.trim().toLowerCase();B(H1),H({email:H1,firstName:p,interests:[...z],frequency:b})}let m1=e.successBody.replace(/\{email\}/g,j).replace(/\{issue\}/g,e.issueNumber),Q=LB(e),K=e.formSide==="left",a1=$0("div",{className:"flex flex-wrap items-center justify-between gap-5 uppercase tracking-[0.18em] text-fg-dim",children:[$0("span",{className:"flex items-center gap-2 font-[family-name:var(--pp-fineprint-font,var(--font-mono))] text-[length:var(--pp-fineprint-size,12px)]",children:[U1("span",{className:"block h-1.5 w-1.5 rounded-full bg-accent"}),k(e.finePrint)]}),!s&&U1("button",{type:"button",onClick:a,className:"font-[family-name:var(--pp-dismiss-font,var(--font-mono))] text-[length:var(--pp-dismiss-size,12px)] uppercase tracking-[0.18em] text-fg-dim underline underline-offset-[3px] transition-colors hover:text-fg",children:k(e.dismissText)})]}),B1=$0(SB,{children:[U1("span",{className:"contents [&>span]:font-[family-name:var(--pp-formeyebrow-font,var(--font-mono))] [&>span]:text-[length:var(--pp-formeyebrow-size,var(--size-label,13px))]",children:U1(I1,{text:e.formLabel,scaled:!1,className:"mb-[18px]"})}),U1("h2",{id:"subscribe-modal-title",className:"font-[family-name:var(--pp-formheading-font,var(--font-display))] text-[length:var(--pp-formheading-size,34px)] font-medium uppercase leading-none tracking-[-0.025em] [&_em]:font-serif [&_em]:normal-case [&_em]:tracking-[-0.02em]",children:U(e.formHeading)}),U1("p",{className:"mt-3.5 font-[family-name:var(--pp-formintro-font,var(--font-serif))] text-[length:var(--pp-formintro-size,17px)] italic leading-[1.55] text-fg-dim",children:k(e.formIntro,!0)})]}),X="px-11 py-12 max-[880px]:px-[26px] max-[880px]:py-8",D1;m&&h?D1=$0("div",{className:`relative flex min-h-[560px] flex-col max-[880px]:min-h-0 ${X}`,children:[B1,U1("div",{className:"mt-8",children:U1(xr,{form:h,formSlug:n,editing:s,onSent:c})}),U1("div",{className:"mt-auto pt-7",children:a1})]}):C!=="sent"?D1=$0("form",{onSubmit:O,noValidate:!0,className:`relative flex min-h-[560px] flex-col max-[880px]:min-h-0 ${X}`,children:[B1,$0("div",{className:"mt-8 flex flex-col gap-[18px]",children:[U1(Lw,{label:e.firstNameLabel,required:!0,children:U1("input",{type:"text",value:p,onChange:I=>u(I.target.value),placeholder:e.firstNamePlaceholder,required:!0,className:"border border-line bg-surface px-4 py-3.5 font-display text-[15px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:tracking-[0.04em] placeholder:text-fg-dim focus:border-accent"})}),U1(Lw,{label:e.emailLabel,required:!0,children:U1("input",{type:"email",value:d,onChange:I=>g(I.target.value),placeholder:e.emailPlaceholder,required:!0,className:"border border-line bg-surface px-4 py-3.5 font-display text-[15px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:tracking-[0.04em] placeholder:text-fg-dim focus:border-accent"})}),$0("div",{className:"mt-1.5 flex flex-col gap-2.5",children:[U1("span",{className:"font-[family-name:var(--pp-fieldlabel-font,var(--font-mono))] text-[length:var(--pp-fieldlabel-size,12px)] uppercase tracking-[0.28em] text-fg-dim",children:k(e.interestsLabel)}),U1("div",{className:"flex flex-wrap gap-2",children:e.interests.map((I,H1)=>{let f1=z.has(I);return U1("button",{type:"button",onClick:()=>R(I),"aria-pressed":f1,className:["select-none border px-3.5 py-2.5 font-[family-name:var(--pp-option-font,var(--font-mono))] text-[length:var(--pp-option-size,12px)] uppercase tracking-[0.22em] transition-all",f1?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:I},`${I}-${H1}`)})})]}),e.frequencies.length>0&&$0("div",{className:"mt-1.5 flex flex-col gap-2.5",children:[U1("span",{className:"font-[family-name:var(--pp-fieldlabel-font,var(--font-mono))] text-[length:var(--pp-fieldlabel-size,12px)] uppercase tracking-[0.28em] text-fg-dim",children:k(e.frequencyLabel)}),U1("div",{className:"flex border border-line",children:e.frequencies.map((I,H1)=>{let f1=b===I;return U1("button",{type:"button",onClick:()=>y(I),"aria-pressed":f1,className:["flex-1 px-2.5 py-3.5 font-[family-name:var(--pp-option-font,var(--font-mono))] text-[length:var(--pp-option-size,12px)] uppercase tracking-[0.24em] transition-all",H1<e.frequencies.length-1?"border-r border-line":"",f1?"bg-accent text-bg":"text-fg-dim hover:text-fg"].join(" "),children:I},`${I}-${H1}`)})})]})]}),$0("div",{className:"mt-auto flex flex-col gap-3.5 pt-7",children:[q&&U1("p",{role:"alert",className:"border border-red-300 bg-red-50 px-4 py-3 font-mono text-[12px] uppercase tracking-[0.18em] text-red-700",children:q}),$0("button",{type:"submit",disabled:Z,className:"group flex items-center justify-between gap-[18px] border border-btn bg-btn px-6 py-[18px] font-mono text-[14px] uppercase tracking-[0.3em] text-btn-ink transition-colors hover:border-fg hover:bg-fg disabled:cursor-wait disabled:opacity-60 disabled:hover:border-btn disabled:hover:bg-btn",children:[U1("span",{children:e.submitText}),U1("span",{className:"transition-transform group-hover:translate-x-[4px]",children:Z?"\u2026":"\u2192"})]}),a1]})]}):D1=$0("div",{className:"flex min-h-[560px] flex-col justify-center gap-6 px-11 py-12 max-[880px]:min-h-0 max-[880px]:px-[26px] max-[880px]:py-8",style:{animation:"subscribe-fade 0.25s ease"},children:[U1("div",{className:"flex h-16 w-16 items-center justify-center border border-accent font-display text-[32px] text-accent",children:"\u2713"}),U1("h3",{className:"font-[family-name:var(--pp-doneheading-font,var(--font-display))] text-[length:var(--pp-doneheading-size,38px)] font-medium uppercase leading-none tracking-[-0.025em] [&_em]:font-serif [&_em]:normal-case [&_em]:tracking-[-0.02em]",children:U(e.successHeading)}),U1("p",{className:"max-w-[440px] font-[family-name:var(--pp-donebody-font,var(--font-serif))] text-[length:var(--pp-donebody-size,18px)] italic leading-[1.55] text-fg-dim",children:k(m1,!0)}),!s&&U1("button",{type:"button",onClick:a,className:"self-start border border-line px-6 py-[18px] font-mono text-[14px] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:k(e.keepBrowsingText)})]});let t0=$0("div",{className:`relative w-[min(1100px,100%)] overflow-hidden border border-line bg-bg [border-radius:var(--sf-section-radius,0px)] max-[880px]:border-x-0 max-[880px]:border-b-0 ${Q.className}`.trim(),style:{...Q.style,background:"var(--bg)",color:"var(--fg)",boxShadow:s?"0 30px 80px -30px rgba(0,0,0,0.5)":"0 60px 120px -20px rgba(0,0,0,0.7)",animation:s?void 0:"subscribe-rise 0.35s cubic-bezier(.2,.7,.2,1)"},children:[!s&&U1("button",{ref:D,type:"button",onClick:a,"aria-label":"Close popup",className:"absolute right-[18px] top-[18px] z-[5] flex h-[38px] w-[38px] items-center justify-center border border-line font-mono text-[14px] text-fg-dim transition-colors hover:border-accent hover:text-fg max-[880px]:right-3 max-[880px]:top-3 max-[880px]:h-11 max-[880px]:w-11",style:{background:"color-mix(in oklab, var(--bg) 85%, transparent)"},children:"\u2715"}),$0("div",{className:["grid max-h-[calc(100vh-48px)] overflow-hidden max-[880px]:max-h-[88dvh] max-[880px]:grid-cols-1 max-[880px]:overflow-auto",K?"grid-cols-[1fr_1.05fr]":"grid-cols-[1.05fr_1fr]"].join(" "),children:[$0("aside",{className:["relative flex min-h-[560px] flex-col justify-between overflow-hidden border-line px-[var(--sf-site-gutter,40px)] py-11 max-[880px]:min-h-[380px] max-[880px]:border-r-0 max-[880px]:border-l-0 max-[880px]:border-b max-[880px]:px-[26px] max-[880px]:py-8",K?"order-2 border-l max-[880px]:order-none":"border-r",e.valuePanelOnPhone?"":"max-[880px]:hidden"].join(" "),style:{background:"var(--subscribe-panel-bg)"},children:[U1("div",{className:"pointer-events-none absolute inset-0",style:{backgroundImage:"repeating-linear-gradient(0deg, transparent 0 28px, color-mix(in oklab, var(--accent) 4%, transparent) 28px 29px), repeating-linear-gradient(90deg, transparent 0 28px, color-mix(in oklab, var(--accent) 3%, transparent) 28px 29px)"}}),$0("div",{"aria-hidden":!0,className:"pointer-events-none absolute -right-[120px] -bottom-[120px] z-[1] h-[520px] w-[520px] rounded-full border opacity-50 max-[880px]:-right-[100px] max-[880px]:-bottom-[100px] max-[880px]:h-[340px] max-[880px]:w-[340px]",style:{borderColor:"color-mix(in oklab, var(--accent) 22%, transparent)"},children:[U1("div",{className:"absolute inset-[60px] rounded-full border",style:{borderColor:"color-mix(in oklab, var(--accent) 18%, transparent)"}}),U1("div",{className:"absolute inset-[140px] rounded-full border",style:{borderColor:"color-mix(in oklab, var(--accent) 14%, transparent)"}})]}),$0("div",{className:["relative z-[2] flex items-start justify-between font-[family-name:var(--pp-meta-font,var(--font-mono))] text-[length:var(--pp-meta-size,12px)] uppercase tracking-[0.3em] text-fg-dim",K&&!s?"pr-[52px]":""].join(" "),children:[U1("span",{children:k(e.metaLabel)}),(e.issueLabel||e.issueNumber)&&$0("span",{children:[k(e.issueLabel)," ",U1("strong",{className:"font-normal text-accent",children:e.issueNumber})]})]}),$0("div",{className:"relative z-[2] flex flex-col gap-[18px] py-8",children:[U1("span",{className:"contents [&>span]:font-[family-name:var(--pp-eyebrow-font,var(--font-mono))] [&>span]:text-[length:var(--pp-eyebrow-size,var(--size-label,12px))]",children:U1(I1,{text:e.kicker,size:12,scaled:!1})}),U1("h2",{className:"font-[family-name:var(--pp-heading-font,var(--font-display))] text-[length:var(--pp-heading-size,clamp(40px,4.8vw,68px))] font-medium uppercase leading-[0.92] tracking-[-0.04em] text-fg [&_em]:font-serif [&_em]:normal-case [&_em]:tracking-[-0.03em]",children:U(e.heading)}),U1("p",{className:"max-w-[420px] font-[family-name:var(--pp-body-font,var(--font-serif))] text-[length:var(--pp-body-size,18px)] italic leading-[1.5]",style:{color:"color-mix(in oklab, var(--fg) 85%, transparent)"},children:k(e.deck,!0)})]}),e.stats.length>0&&U1("div",{className:"relative z-[2] grid grid-cols-2 gap-[18px] border-t pt-6",style:{borderColor:"color-mix(in oklab, var(--accent) 18%, var(--line))"},children:e.stats.map((I,H1)=>$0("div",{children:[U1("div",{className:"mb-1.5 font-[family-name:var(--pp-statname-font,var(--font-mono))] text-[length:var(--pp-statname-size,11px)] uppercase tracking-[0.24em] text-fg-dim",children:k(I.label)}),U1("div",{className:"font-[family-name:var(--pp-statvalue-font,var(--font-display))] text-[length:var(--pp-statvalue-size,22px)] font-medium tracking-[-0.015em] text-fg",children:k(I.value)})]},`${I.label}-${H1}`))})]}),D1]})]});return s?U1("div",{className:"flex w-full justify-center p-6","data-subscribe-preview":!0,children:t0}):$0("div",{ref:N,onClick:i1,role:"dialog","aria-modal":"true","aria-labelledby":"subscribe-modal-title",className:"fixed inset-0 z-[90] flex items-center justify-center p-6 backdrop-blur-[8px] max-[880px]:items-end max-[880px]:p-0",style:{background:"color-mix(in oklab, var(--bg) 78%, transparent)",animation:"subscribe-fade 0.25s ease"},children:[t0,U1("style",{children:`
|
|
4
4
|
@keyframes subscribe-fade { from { opacity: 0 } to { opacity: 1 } }
|
|
@@ -140,4 +140,4 @@ ${s}`:t.push({type:"p",text:s})});return t}var zZ=[{label:"First section",headin
|
|
|
140
140
|
*your favourite apps.*`,r),body:a,apps:c,statValue:s,statLabel:l,note:o,editing:r?.isEditing})};import{useContext as bO}from"react";import{jsx as qL}from"react/jsx-runtime";function Bn({src:e,alt:t,href:a,heightPx:c=N5,reverse:s=!0}){let l=Ja(),o=(e??"").trim(),r=o?{src:M2(o),reversedSrc:null,inkIsDark:null,wordmark:t?.trim()||null}:{src:l.src,reversedSrc:l.reversedSrc,inkIsDark:l.inkIsDark,wordmark:l.wordmark},i=bO(mi),n=Wc(),h=qL(Ya,{variant:"footer",sizePx:c,src:r.src,reverse:s,reversedSrc:r.reversedSrc,inkIsDark:r.inkIsDark,wordmark:r.wordmark,siteName:l.siteName,fitToContainer:n,...i?.dark?{onLightSurface:!1}:{}});return a?qL(i0,{href:a,className:"inline-flex",children:h}):h}import{jsx as zO}from"react/jsx-runtime";var WL={label:"Logo",defaultProps:{heightPx:N5,reverse:"auto"},render:({src:e,alt:t,href:a,heightPx:c,reverse:s})=>zO(Bn,{src:e||void 0,alt:o2(t).text||void 0,href:a||void 0,heightPx:c,reverse:s!=="off"})};import{jsx as $e,jsxs as xO}from"react/jsx-runtime";function Nn({items:e,contained:t,heading:a,columns:c,grayscale:s,logoHeight:l,bandPadding:o}){let r=c!=null?{flex:`0 0 calc((100% - ${(c-1)*3.5}rem) / ${c})`}:void 0;return xO(S0,{contained:t,className:o==null?"py-10":"",style:o==null?void 0:{paddingTop:`${o}px`,paddingBottom:`${o}px`},children:[a!=null&&a!==""?$e("h2",{className:"mb-8 text-center font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:U(a,!1)}):null,$e("div",{className:"flex flex-wrap items-center justify-center gap-x-14 gap-y-8",children:(e??[]).map((i,n)=>$e("div",{className:"text-center",style:r,children:i.src?$e("img",{src:M2(i.src),alt:i.alt,className:["mx-auto w-auto opacity-60 transition-opacity hover:opacity-100",l==null?"h-7":"",s===!1?"":"grayscale"].filter(Boolean).join(" "),style:l==null?void 0:{height:`${l}px`}}):$e("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:z0(i.alt||"Logo")})},n))})]})}import{jsx as yO}from"react/jsx-runtime";var wO=[{src:"",alt:"Logo one"},{src:"",alt:"Logo two"},{src:"",alt:"Logo three"},{src:"",alt:"Logo four"},{src:"",alt:"Logo five"}],UL={label:"Logos",defaultProps:{items:[],contained:!0},render:({items:e,contained:t,heading:a,columns:c,logoHeight:s,bandPadding:l,grayscale:o,puck:r})=>yO(Nn,{items:d1(e,wO,r),contained:t,heading:x(a,"Trusted by *teams worldwide*",r),columns:c,logoHeight:s,bandPadding:l,grayscale:o})};import{jsx as KL,jsxs as kO}from"react/jsx-runtime";function Zn({target:e,label:t}){let a=e.match(/^(\d+)(.*)$/),c=a?parseInt(a[1],10):0,s=a?a[2]:"",{ref:l,value:o}=X8(c),r=a?o+s:e;return kO("div",{ref:l,className:"min-w-0",children:[KL("div",{className:"font-heading2 text-[length:var(--size-headingMedium,40px)] font-medium leading-none tracking-[-0.02em] tabular-nums","aria-label":e,children:r}),KL("div",{className:"mt-1 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:t})]})}import{jsx as m5,jsxs as $L}from"react/jsx-runtime";function In({eyebrow:e,heading:t,body:a,stats:c,imageSrc:s,grayscale:l,...o}={}){let r=E8(l,B8()),i=e||null,n=t||null,h=a||null,m=(c??[]).filter(p=>(p.value??"").trim()!==""||(p.label??"").trim()!=="");return m5("section",{className:"relative z-[2] bg-bg p-0",children:$L("div",{className:"grid h-screen min-h-[100vh] grid-cols-2 border-y border-line max-[960px]:h-auto max-[960px]:grid-cols-1",children:[m5("div",{className:"flex flex-col justify-center border-r border-line px-[var(--sf-site-gutter,40px)] py-[100px] max-[960px]:order-2 max-[960px]:border-r-0 max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[960px]:py-[60px]",children:$L("div",{className:v0(o)?"flex w-full flex-col gap-7":"ml-auto flex w-full flex-col gap-7 max-w-[calc(var(--sf-site-width,1600px)/2_-_var(--sf-site-gutter,40px)*2_-_1px)] max-[960px]:ml-0 max-[960px]:max-w-none",children:[i!==null&&m5(I1,{text:i,size:14}),n!==null&&m5("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))] font-normal leading-[1.05] tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))] max-[800px]:leading-[1]",children:U(n,!0)}),h!==null&&m0(h).map((p,u)=>m5("p",{className:"max-w-[520px] text-[length:var(--size-body,16px)] leading-[1.7] text-fg-dim",children:k(p)},u)),m.length>0&&m5("div",{className:"mt-4 grid max-w-[520px] gap-6 border-t border-line pt-7",style:{gridTemplateColumns:`repeat(${m.length}, minmax(0, 1fr))`},children:m.map((p,u)=>m5(Zn,{target:p.value??"",label:p.label??""},u))})]})}),m5("div",{className:"sf-card relative flex items-center justify-center bg-surface overflow-hidden max-[960px]:aspect-[4/3]",children:m5(T0,{label:"manifesto",src:s||void 0,objectFit:"cover",objectPosition:"center",treatment:r})})]})})}import{jsx as CO}from"react/jsx-runtime";var MO=[{value:"00",label:L.label},{value:"00",label:L.label},{value:"00",label:L.label}],jL={label:"Brand Text",defaultProps:{eyebrow:"",imageSrc:"",stats:[]},render:({eyebrow:e,heading:t,body:a,stats:c,imageSrc:s,grayscale:l,widthMode:o,fullWidth:r,pageWidth:i,puck:n})=>CO(In,{eyebrow:V0(e,L.eyebrow,n),heading:V0(t,L.heading,n),body:V0(a,L.body,n),stats:d1(c,MO,n),imageSrc:s||void 0,grayscale:l,widthMode:o,fullWidth:r,pageWidth:i})};import{Fragment as JL,jsx as v1,jsxs as k0}from"react/jsx-runtime";var Rn="#ffffff",S4="#16181d",n6="#5b6470",Vs="#9aa3ae",a9="#f4f6f8",g7="#e3e7ec",Ps="#1f9d55";function LO({rows:e}){return v1("div",{className:"flex flex-col gap-3",children:e.map((t,a)=>{let c=t.state??"ok",s=c==="no";return k0("div",{className:"flex items-center gap-3 rounded-lg border px-4 py-3",style:{background:s?"#fbfbfc":a9,borderColor:g7},children:[c==="no"?v1("span",{"aria-hidden":!0,className:"text-[15px] font-bold",style:{color:Vs},children:"\u2715"}):v1("span",{"aria-hidden":!0,className:"h-[11px] w-[11px] flex-shrink-0 rounded-full",style:{background:c==="warn"?"var(--accent)":Ps}}),v1("span",{className:"text-[14px] font-semibold",style:{color:s?Vs:S4},children:t.lead}),v1("span",{className:"text-[13px]",style:{color:s?Vs:n6},children:t.detail}),(t.status??"").trim()&&v1("span",{className:"ml-auto whitespace-nowrap text-[12px] font-bold",style:{color:c==="ok"?Ps:c==="warn"?"var(--accent)":Vs},children:t.status})]},a)})})}var YL=["#c7cdd5","var(--accent)","#c7cdd5",Ps];function SO({columns:e}){return v1("div",{className:"grid gap-2 rounded-xl p-3",style:{background:a9,gridTemplateColumns:`repeat(${e.length}, minmax(0, 1fr))`},children:e.map((t,a)=>k0("div",{className:"flex flex-col gap-2",children:[k0("div",{className:"flex items-baseline justify-between px-1",children:[v1("span",{className:"font-mono text-[9px] font-semibold uppercase tracking-[0.14em]",style:{color:n6},children:t.title}),v1("span",{className:"font-mono text-[9px] font-bold",style:{color:"var(--accent)"},children:t.cards.length})]}),t.cards.map((c,s)=>k0("div",{className:"rounded-md border px-2.5 py-2",style:{background:Rn,borderColor:a===e.length-1?"#bfe3ce":g7},children:[v1("span",{"aria-hidden":!0,className:"mb-1.5 block h-[8px] w-[8px] rounded-full",style:{background:YL[a%YL.length]}}),v1("span",{className:"block text-[11px] font-semibold leading-snug",style:{color:S4},children:c})]},s))]},a))})}function AO({heading:e,bars:t}){let a=Math.max(...t.map(s=>s.value),0)||1,c=t.findIndex(s=>s.value===a);return k0("div",{className:"border-t pt-4",style:{borderColor:g7},children:[e.trim()&&v1("div",{className:"mb-3 font-mono text-[10px] font-semibold uppercase tracking-[0.18em]",style:{color:n6},children:e}),v1("div",{className:"flex flex-col gap-2.5",children:t.map((s,l)=>k0("div",{className:"flex items-center gap-3",children:[v1("span",{className:"w-[84px] flex-shrink-0 text-[12px] font-bold",style:{color:S4},children:s.label}),v1("span",{className:"h-[12px] rounded-full",style:{width:`${Math.max(s.value/a*60,4)}%`,background:l===c?"var(--accent)":l%2?"#c7cdd5":"#9aa3ae"}}),k0("span",{className:"text-[12px]",style:{color:n6},children:[s.value,"%"]})]},l))})]})}function XL({size:e}){let t=e/2;return k0("svg",{width:e,height:e,viewBox:`0 0 ${e} ${e}`,"aria-hidden":!0,children:[v1("circle",{cx:t,cy:t,r:t*.82,fill:"none",stroke:"#9aa3ae",strokeWidth:"2.5"}),v1("circle",{cx:t,cy:t,r:t*.5,fill:"none",stroke:"var(--accent)",strokeWidth:"2"}),v1("circle",{cx:t,cy:t,r:t*.14,fill:"var(--accent)"})]})}function HO({header:e,lines:t}){return k0("div",{style:{background:"#0c0e11"},children:[k0("div",{className:"relative flex items-center gap-2 px-4 py-3",style:{background:"#161a20"},children:[v1("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] rounded-full",style:{background:"#e85d5d"}}),v1("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] rounded-full",style:{background:"#efc65a"}}),v1("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] rounded-full",style:{background:"#6fcf7e"}}),e.trim()&&v1("span",{className:"absolute inset-x-0 text-center font-mono text-[11px]",style:{color:"rgba(244,246,242,0.45)"},children:e})]}),k0("div",{className:"flex flex-col gap-1.5 px-5 py-5 font-mono text-[13px] leading-relaxed",children:[t.map((a,c)=>a.startsWith("$ ")?k0("div",{children:[v1("span",{style:{color:"var(--accent)"},children:"$ "}),v1("span",{style:{color:"#f4f6f2"},children:a.slice(2)})]},c):a.startsWith("\u2713")?v1("div",{style:{color:"#6fcf7e"},children:a},c):v1("div",{style:{color:"rgba(244,246,242,0.55)"},children:a},c)),v1("div",{"aria-hidden":!0,className:"mt-1 h-[15px] w-[8px]",style:{background:"var(--accent)"}})]})]})}function FO({urlText:e,heroTitle:t,heroButton:a,products:c}){return k0("div",{children:[k0("div",{className:"flex items-center gap-2 px-4 py-3",style:{background:a9},children:[v1("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] rounded-full",style:{background:"#e85d5d"}}),v1("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] rounded-full",style:{background:"#efc65a"}}),v1("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] rounded-full",style:{background:"#6fcf7e"}}),e.trim()&&v1("span",{className:"mx-auto rounded-full border px-6 py-1 text-[11px]",style:{background:Rn,borderColor:g7,color:n6},children:e}),v1("span",{className:"w-[54px]","aria-hidden":!0})]}),k0("div",{className:"relative overflow-hidden px-5 py-6",style:{background:S4},children:[v1("div",{className:"absolute -right-4 top-1/2 -translate-y-1/2 opacity-90",children:v1(XL,{size:104})}),t.trim()&&v1("div",{className:"max-w-[240px] text-[15px] font-bold uppercase leading-snug tracking-wide text-white",children:t}),a.trim()&&v1("div",{className:"mt-3 inline-block rounded px-3.5 py-1.5 text-[11px] font-bold text-white",style:{background:"var(--accent)"},"aria-hidden":!0,children:a})]}),c.length>0&&v1("div",{className:"grid grid-cols-3 gap-3 p-4",children:c.map((s,l)=>k0("div",{className:"overflow-hidden rounded-lg border",style:{borderColor:g7},children:[v1("div",{className:"flex items-center justify-center py-3",style:{background:a9},children:v1(XL,{size:56})}),k0("div",{className:"flex flex-col gap-1 p-2.5",children:[v1("span",{className:"text-[10.5px] font-bold leading-tight",style:{color:S4},children:s.name}),v1("span",{className:"text-[11px] font-bold",style:{color:"var(--accent)"},children:s.price}),v1("span",{className:"mt-0.5 rounded px-2 py-1 text-center text-[9px] font-bold text-white",style:{background:S4},"aria-hidden":!0,children:"Add to cart"})]})]},l))})]})}function _n({eyebrow:e,title:t,body:a,variant:c="spec-card",cardHeader:s,badge:l,cardTitle:o,cardSubtitle:r,pills:i,tiles:n,rows:h,button:m,footnote:p,col1Title:u,col1Cards:d,col2Title:g,col2Cards:z,col3Title:f,col3Cards:b,col4Title:y,col4Cards:C,barsHeading:S,bars:H,termLines:_,urlText:Z,heroTitle:q,heroButton:j,products:B,align:N="right",editing:D=!1}={}){let T=(i??[]).filter(I=>D||(I.value??"").trim()),R=(n??[]).filter(I=>D||(I.label??"").trim()),i1=(h??[]).filter(I=>D||(I.lead??"").trim()),O=[[u,d],[g,z],[f,b],[y,C]].map(([I,H1])=>({title:(I??"").trim(),cards:(H1??[]).map(f1=>(f1.text??"").trim()).filter(Boolean)})).filter(I=>I.title||I.cards.length>0),m1=(H??[]).map(I=>({label:(I.label??"").trim(),value:parseFloat(I.value??"")})).filter(I=>I.label&&Number.isFinite(I.value)),Q=(_??[]).map(I=>I.text??"").filter(I=>D||I.trim()),K=(B??[]).map(I=>({name:(I.name??"").trim(),price:(I.price??"").trim()})).filter(I=>I.name),a1=!!(e??"").trim()||!!(t??"").trim(),B1=!!(s??"").trim()||!!(o??"").trim()||T.length>0||R.length>0||i1.length>0||O.length>0||m1.length>0||K.length>0||Q.length>0||!!(q??"").trim();if(!D&&!a1&&!B1)return null;let D1=k0("div",{className:`w-full overflow-hidden rounded-2xl shadow-[0_24px_60px_rgba(0,0,0,0.35)] ${c==="kanban"||c==="browser"||c==="terminal"?"max-w-[600px]":"max-w-[520px]"}`,style:{background:Rn},children:[c!=="terminal"&&(s??"").trim()&&k0("div",{className:"flex items-center justify-between px-6 py-4",style:{background:S4},children:[v1("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-white",children:s}),(l??"").trim()&&k0("span",{className:"flex items-center gap-2 font-mono text-[11px] font-semibold uppercase tracking-[0.16em] text-white",children:[v1("span",{"aria-hidden":!0,className:"h-[9px] w-[9px] rounded-full",style:{background:Ps}}),l]})]}),c==="terminal"?v1(HO,{header:s??"",lines:Q}):c==="browser"?v1(FO,{urlText:Z??"",heroTitle:q??"",heroButton:j??"",products:K}):k0("div",{className:"flex flex-col gap-5 p-6",children:[((o??"").trim()||(r??"").trim())&&k0("div",{children:[(o??"").trim()&&v1("div",{className:"text-[22px] font-bold leading-tight",style:{color:S4},children:o}),(r??"").trim()&&v1("div",{className:"mt-1 text-[14px]",style:{color:n6},children:r})]}),c==="fitment"&&T.length>0&&v1("div",{className:"flex flex-wrap gap-2.5",children:T.map((I,H1)=>k0("span",{className:"flex items-baseline gap-2 rounded-full border px-4 py-2",style:{background:a9,borderColor:g7},children:[v1("span",{className:"text-[11px]",style:{color:n6},children:I.label}),v1("span",{className:"text-[13px] font-bold",style:{color:S4},children:I.value})]},H1))}),c!=="fitment"&&R.length>0&&v1("div",{className:"grid grid-cols-2 gap-3",children:R.map((I,H1)=>k0("div",{className:"rounded-lg px-4 py-3",style:{background:a9},children:[v1("div",{className:"font-mono text-[10px] font-semibold uppercase tracking-[0.18em]",style:{color:n6},children:I.label}),v1("div",{className:"mt-1 text-[17px] font-bold",style:{color:S4},children:I.value})]},H1))}),i1.length>0&&v1(LO,{rows:i1}),(m??"").trim()&&v1("div",{className:"self-start rounded-lg px-6 py-2.5 text-[14px] font-bold text-white",style:{background:"var(--accent)"},"aria-hidden":!0,children:m}),c==="kanban"&&O.length>0&&v1(SO,{columns:O}),c==="claims"&&m1.length>0&&v1(AO,{heading:S??"",bars:m1}),(p??"").trim()&&v1("div",{className:"border-t pt-4",style:{borderColor:g7},children:v1("span",{className:"text-[15px] font-bold",style:{color:"var(--accent)"},children:p})})]})]}),t0=k0("div",{children:[(e??"").trim()&&v1("span",{className:"inline-block bg-accent px-3.5 py-1.5 font-mono text-[12px] font-semibold uppercase tracking-[0.16em] text-bg",children:k(e??"")}),(t??"").trim()&&v1("h2",{className:"mt-5 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-[1.04] tracking-[-0.02em] text-fg max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:U(t??"",!1)}),(a??"").trim()&&v1("p",{className:"mt-5 max-w-[46ch] text-[15px] leading-relaxed text-fg/65",children:a})]});return v1("section",{className:"relative z-[2] border-y border-line bg-surface",children:v1("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] items-center gap-14 px-[var(--sf-site-gutter,40px)] py-[76px] min-[960px]:grid-cols-2 max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:N==="left"?k0(JL,{children:[v1("div",{className:"flex justify-center min-[960px]:justify-start",children:D1}),t0]}):k0(JL,{children:[t0,v1("div",{className:"flex justify-center min-[960px]:justify-end",children:D1})]})})})}import{jsx as TO}from"react/jsx-runtime";var QL={label:"Mockup Card",defaultProps:{eyebrow:"",title:"",body:"",variant:"spec-card",cardHeader:"",badge:"",cardTitle:"",cardSubtitle:"",pills:[],tiles:[],rows:[],button:"",footnote:"",col1Title:"",col1Cards:[],col2Title:"",col2Cards:[],col3Title:"",col3Cards:[],col4Title:"",col4Cards:[],barsHeading:"",bars:[],termLines:[],urlText:"",heroTitle:"",heroButton:"",products:[],align:"right"},render:({eyebrow:e,title:t,body:a,variant:c,cardHeader:s,badge:l,cardTitle:o,cardSubtitle:r,pills:i,tiles:n,rows:h,button:m,footnote:p,col1Title:u,col1Cards:d,col2Title:g,col2Cards:z,col3Title:f,col3Cards:b,col4Title:y,col4Cards:C,barsHeading:S,bars:H,termLines:_,urlText:Z,heroTitle:q,heroButton:j,products:B,align:N,puck:D})=>TO(_n,{eyebrow:x(e,"In the product",D),title:x(t,`Seen from
|
|
141
141
|
*the counter.*`,D),body:a,variant:c,cardHeader:s,badge:l,cardTitle:o,cardSubtitle:r,pills:i,tiles:n,rows:h,button:m,footnote:p,col1Title:u,col1Cards:d,col2Title:g,col2Cards:z,col3Title:f,col3Cards:b,col4Title:y,col4Cards:C,barsHeading:S,bars:H,termLines:_,urlText:Z,heroTitle:q,heroButton:j,products:B,align:N,editing:D?.isEditing})};import{jsx as h6}from"react/jsx-runtime";var eS={label:"Section Header",defaultProps:{headStyle:Re,num:"01 / Section",numStyle:Ac,title:"Section *title*",description:"",logoSrc:"",logoAlt:"",linkText:"",linkHref:"",fullWidth:!0,pageWidth:e8.default},render:({headStyle:e,num:t,numStyle:a,eyebrowLook:c,title:s,description:l,logoSrc:o,logoAlt:r,linkText:i,linkHref:n,rowGap:h,descriptionSize:m,widthMode:p,fullWidth:u,pageWidth:d,puck:g})=>{let z=x(i,"View all",g),f=u2({widthMode:p,fullWidth:u,pageWidth:d},"full"),b=Cs(e);return h6("section",{className:"px-[var(--sf-site-gutter,40px)] pt-10 max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-6",children:h6("div",{className:f.mode==="page"?He:void 0,children:b==="editorial"?h6(n2,{num:x(t,"01 / Section",g),title:(()=>{let y=x(s,"Section *title*",g);return y?U(y,!0):void 0})(),desc:(()=>{let y=x(l,"Short supporting line",g);return y?k(y):void 0})(),spaceBelow:""}):b==="simple"?h6(j1,{look:"simple",num:x(t,"01 / Section",g),title:x(s,"Section *title*",g),eyebrowLook:d3(c,"SectionHeader")}):b==="statement"?h6(j1,{look:"statement",num:x(t,"01 / Section",g),title:x(s,"Section *title*",g),eyebrowLook:d3(c,"SectionHeader")}):b==="natural"?h6(j1,{look:"natural",num:x(t,"01 / Section",g),title:x(s,"Section *title*",g),description:x(l,"Short supporting line",g),eyebrowLook:d3(c,"SectionHeader"),rowGap:yM(h),descriptionSize:kM(m)}):b==="essay"?h6(j1,{look:"essay",num:x(t,"01 / Section",g),title:x(s,"Section *title*",g),eyebrowLook:d3(c,"SectionHeader")}):h6(j1,{num:x(t,"01 / Section",g),title:x(s,"Section *title*",g),description:x(l,"Short supporting line",g),logo:o?{src:o,alt:Y(r)}:void 0,link:z?{text:z,href:Y(n)||"#"}:void 0,numStyle:a,accent:!0})})})}};import{jsx as PO}from"react/jsx-runtime";var VO={sm:"h-6",md:"h-12",lg:"h-24",xl:"h-40"};function Dn({size:e}){return PO("div",{"aria-hidden":!0,className:VO[e]})}import{jsx as EO}from"react/jsx-runtime";var tS={label:"Spacer",defaultProps:{size:"md"},render:({size:e})=>EO(Dn,{size:e})};import{jsx as je}from"react/jsx-runtime";var BO=[{text:"Spec label",tone:"normal"},{text:"Spec value",tone:"muted"},{text:"Spec label",tone:"normal"},{text:"Spec value",tone:"muted"}];function On({cells:e,fill:t="dark",editing:a=!1}){let c=(e??[]).filter(r=>(r?.text??"").trim()),s=c.length>0?c:a?BO:[];if(s.length===0)return null;let l=t!=="none",o=je("div",{className:"mx-auto flex max-w-[min(var(--sf-page-cap,var(--sf-site-width,1600px)),var(--sf-site-width,1600px))] flex-wrap items-baseline justify-between gap-x-8 gap-y-1 px-[var(--sf-site-gutter,40px)] py-4 text-[length:var(--size-label,12px)] uppercase tracking-[0.1em] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-3",children:s.map((r,i)=>je("span",{className:l?r.tone==="muted"?"text-plate-band-fg-dim":"text-plate-band-fg":r.tone==="muted"?"text-fg-dim":"text-fg",children:r.text},i))});return je("section",{className:"w-full",children:l?je("div",{className:"bg-plate-band",children:o}):je("div",{className:"border-t border-line",children:o})})}import{jsx as NO}from"react/jsx-runtime";var aS={label:"Spec Strip",defaultProps:{cells:[{text:"",tone:"normal"},{text:"",tone:"normal"}],fill:"dark"},render:({cells:e,fill:t,puck:a})=>NO(On,{cells:e,fill:t,editing:a?.isEditing})};import{Fragment as ZO,jsx as cS,jsxs as IO}from"react/jsx-runtime";function Gn({value:e}){let t=e.match(/^(\d+)(.*)$/),{ref:a,value:c}=X8(t?Number.parseInt(t[1],10):0);return!t||K0(e)!==e?cS(ZO,{children:k(e)}):cS(R6,{value:e,children:IO("span",{ref:a,children:[c,t[2]]})})}import{jsx as d7,jsxs as sS}from"react/jsx-runtime";var RO="grid grid-cols-4 gap-8 max-[800px]:grid-cols-2",_O={2:"grid grid-cols-2 gap-8",3:"grid grid-cols-3 gap-8 max-[800px]:grid-cols-2",4:"grid grid-cols-4 gap-8 max-[800px]:grid-cols-2"};function qn({items:e,contained:t,heading:a,columns:c,background:s,editing:l}){let o=c===void 0?RO:_O[c],r=d7("div",{className:o,children:(e??[]).map((i,n)=>sS("div",{className:"border-t border-line pt-5",children:[d7("div",{className:"font-heading2 text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))] font-medium leading-none tracking-[-0.03em] text-fg max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",children:l?k(i.value):d7(Gn,{value:i.value})}),d7("div",{className:"mt-2 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:k(i.label)})]},n))});return a===void 0&&s===void 0?d7(S0,{contained:t,className:"py-12",children:r}):d7(S0,{contained:t,className:"py-12",children:sS("div",{style:s?{backgroundColor:s}:void 0,children:[a?d7("div",{className:"mb-6 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:k(a)}):null,r]})})}import{jsx as OO}from"react/jsx-runtime";var DO=[{value:"00",label:L.label},{value:"00",label:L.label},{value:"00",label:L.label},{value:"00",label:L.label}],lS={label:"Stats",defaultProps:{items:[],contained:!0},render:({items:e,contained:t,heading:a,columns:c,background:s,puck:l})=>OO(qn,{items:d1(e,DO,l),contained:t,heading:x(a,"By the *numbers*",l),columns:c,background:Z5(s,S2.Stats),editing:l?.isEditing})};import{jsx as Wn}from"react/jsx-runtime";var GO={left:"text-left",center:"text-center mx-auto",right:"text-right ml-auto"},qO="max-w-[380px] text-[length:var(--size-body,15px)] leading-[1.5] opacity-80 max-[800px]:text-[length:var(--size-body,14px)]",WO={default:"text-fg",dim:"text-fg-dim"};function Un({text:e,align:t,tone:a,contained:c,hero:s=!1}){if(s)return Wn("p",{className:qO,children:k(e)});let l=`max-w-[680px] whitespace-pre-line text-[length:var(--size-body,17px)] leading-[1.7] ${GO[t]} ${WO[a]}`;return Wn(S0,{contained:c,className:"py-4",children:m0(e).map((o,r)=>Wn("p",{className:l,children:k(o)},r))})}import{Fragment as UO,jsx as oS}from"react/jsx-runtime";var rS={label:"Text",defaultProps:{text:"",align:"left",tone:"default",contained:!0},render:({text:e,align:t,tone:a,contained:c,puck:s})=>o2(e).hidden?oS(UO,{}):oS(Un,{text:G3(Y(e),L.body,s)??"",align:t,tone:a,contained:c})};var iS={Banner:iC,Breadcrumb:ty,ButtonBlock:nC,Cards:ly,CategoryBar:hC,Chart:my,ContactLocations:uC,CustomHTML:EC,Divider:BC,DocBody:Cy,DocMasthead:Sy,DocMetaCards:Hy,DocTabs:Ty,Eyebrow:ZC,FAQ:By,FeaturedCover:Gy,Flex:Xy,Footprint:nk,Grid:uk,Heading:RC,Hero:fk,HeroGroup:yk,HeroSingle:Hk,HeroSlide:Vk,ImageBlock:_C,Integrations:GL,IntroBleed:Rk,KeyFeatures:Ok,LogoBlock:WL,Logos:UL,LongRead:$k,Manifesto:jL,Masthead:Xk,Mockup:QL,OrderSummary:tM,ParagraphsA:cM,PaymentBadges:oM,PostCard:nM,ProcessSteps:uM,Prose:fM,SectionHeader:eS,Series:LM,Spacer:tS,SpecStrip:aS,Split:TM,Stats:lS,StatsParagraph:NM,Testimonials:IM,Text:rS,Ticker:KM,Timeline:eC,TimelineTrack:aC,TitleWithButtons:lC};var KO={Banner:ey,Breadcrumb:ay,ButtonBlock:sy,Cards:ry,CategoryBar:iy,Chart:py,ContactLocations:zy,CustomHTML:xy,Divider:My,DocBody:Ly,DocMasthead:Ay,DocMetaCards:Fy,DocTabs:Vy,Eyebrow:Py,FAQ:Ny,FeaturedCover:qy,Flex:Qy,Footprint:mk,Grid:dk,Heading:vk,Hero:xk,HeroGroup:Sk,HeroSingle:Tk,HeroSlide:Pk,ImageBlock:Zk,Integrations:Ik,IntroBleed:Dk,KeyFeatures:qk,LogoBlock:Wk,Logos:Uk,LongRead:jk,Manifesto:Yk,Masthead:Jk,Mockup:eM,OrderSummary:aM,ParagraphsA:sM,PaymentBadges:rM,PostCard:hM,ProcessSteps:dM,Prose:bM,SectionHeader:CM,Series:SM,Spacer:AM,SpecStrip:FM,Split:VM,Stats:PM,StatsParagraph:ZM,Testimonials:_M,Text:DM,Ticker:$M,Timeline:tC,TimelineTrack:cC,TitleWithButtons:rC},A1=D8(iS,KO);import{SettingsField as $O}from"efficient-easel/panel";import{ColumnsIcon as jO}from"efficient-easel/icons";import{Fragment as nS,jsx as c9,jsxs as Kn}from"react/jsx-runtime";function YO(e,t,a,c){let s=a.indexOf(e[t]),l=s>=0?s:0,o=a[Math.min(Math.max(l+c,0),a.length-1)];return{...e,[t]:o}}function Ye({label:e,unit:t,steps:a,value:c,onChange:s,format:l=String,note:o}){let r=g4(),i=a.indexOf(c[r]),n=i>=0?i:0,h=m=>s(YO(c,r,a,m));return c9($O,{label:e,icon:c9(jO,{}),action:Kn("div",{className:"sf-colstep",children:[c9("button",{type:"button",className:"sf-colstep-btn","aria-label":`Fewer ${t} on ${d4[r]}`,disabled:n<=0,onClick:()=>h(-1),children:"\u2212"}),c9("span",{className:"sf-colstep-value","aria-live":"polite",children:l(a[n])}),c9("button",{type:"button",className:"sf-colstep-btn","aria-label":`More ${t} on ${d4[r]}`,disabled:n>=a.length-1,onClick:()=>h(1),children:"+"})]}),hint:Kn(nS,{children:["Sets the ",c9("strong",{children:d4[r]})," view \u2014 switch views in the top bar to set each one.",o?Kn(nS,{children:[" ",o]}):null]})})}var p5="auto",jn=1,hS=6,Yn={desktop:p5,tablet:p5,mobile:p5},mS=[p5,...Array.from({length:hS-jn+1},(e,t)=>jn+t)],XO="1rem",pS=`var(--sf-block-gap-rem, var(--sf-card-gap, ${XO}))`,Xn=240,Jn=150,JO=.5,QO=e=>`--plp-grid-cols-${e}`,eG="--plp-grid-gap";function uS(e){return e===p5?"Auto":String(e)}function $n(e){if(e===p5)return p5;let t=typeof e=="number"?e:NaN;return Number.isFinite(t)?Math.min(Math.max(Math.round(t),jn),hS):p5}function Es(e){if(!e||typeof e!="object")return{...Yn};let t=e;return{desktop:$n(t.desktop),tablet:$n(t.tablet),mobile:$n(t.mobile)}}function tG(e){if(e===p5)return`repeat(auto-fill, minmax(${Xn}px, 1fr))`;let a=`calc((100% - ${`${e-1} * ${pS}`}) / ${e} - ${JO}px)`;return`repeat(auto-fill, minmax(max(${Jn}px, ${a}), 1fr))`}function gS(e,t=null){let a={[eG]:pS};for(let c of ab)a[QO(c)]=tG(e[t??c]);return a}import{Fragment as aG,jsx as dS,jsxs as cG}from"react/jsx-runtime";function Qn({value:e,onChange:t}){return dS(Ye,{label:"Columns",unit:"items per row",steps:mS,value:Es(e),format:uS,onChange:t,note:cG(aG,{children:[dS("strong",{children:"Auto"})," fits as many ",Xn,"px-wide cards as the width allows. A number is a maximum: where it would squeeze cards under"," ",Jn,"px the row shows fewer."]})})}import{useCallback as Y3,useEffect as VG,useId as PG,useMemo as j2,useRef as EG,useState as BG}from"react";function sG(e){return e.length===1?E6[e[0]]:"Products"}function Bs(e){return e.length===1?e[0]:null}function lG(e){switch(Bs(e)){case"alloy-wheel":return"Only wheels that bolt on";case"tyre":return"Only sizes your car takes";default:return"Only what fits your car"}}function oG(e){switch(Bs(e)){case"alloy-wheel":return{heading:"Let's find wheels that fit your car.",intro:"Tell us what you drive and we'll show you every set that bolts straight on \u2014 bolt pattern, offset and hub bore checked for you."};case"tyre":return{heading:"Let's find tyres that fit your car.",intro:"Tell us what you drive and we'll show you every tyre made in your car's factory sizes \u2014 front and rear checked for you."};default:return{heading:"Let's find products that fit your car.",intro:"Tell us what you drive and we'll show you what fits. Wheels are checked on bolt pattern, offset and hub bore. Tyres are checked on the sizes your car takes."}}}function rG(e){switch(Bs(e)){case"alloy-wheel":return"We only list a wheel here once its bolt pattern and hub bore are confirmed against your car. Nothing in this range is confirmed for it yet \u2014 browse everything, or ask us and we'll check by hand.";case"tyre":return"We only list a tyre here once one of its sizes is confirmed for your car. Nothing in this range is confirmed for it yet \u2014 browse everything, or ask us and we'll check by hand.";default:return"We only list a product here once it is confirmed against your car: a wheel on its bolt pattern and hub bore, a tyre on the sizes your car takes. Nothing in this range is confirmed for it yet \u2014 browse everything, or ask us and we'll check by hand."}}var iG="We don't have factory tyre data for this exact car, so we can't promise a fit. Here are all tyres instead \u2014 the size is printed on your current tyre's sidewall.";function Xe(e){let t=V5(e),a=oG(e),c=`showing every ${t.one}`;return{promise:lG(e),showAll:`Show all ${t.many}`,browseInstead:`Browse all ${t.many} instead`,showingEvery:c,eyebrow:`${sG(e)} \xB7 checked fitment`,gateHeading:a.heading,gateIntro:a.intro,nothingFits:rG(e),noData:Bs(e)==="tyre"?iG:`No fitment data for this car \u2014 ${c}`,cascadeDown:`Vehicle data is unavailable right now \u2014 browse all ${t.many} and we'll help you check fitment at checkout.`,countFits:s=>`${s} ${s===1?t.one:t.many} fit${s===1?"s":""}`}}function vS(e,t,a,c){let s=Xe(a),l=a.length!==c.length;return{heading:!l&&e||s.gateHeading,intro:!l&&t||s.gateIntro}}import{jsx as Ns,jsxs as nG}from"react/jsx-runtime";function eh({filters:e,onToggle:t,onPriceMax:a,onInStockOnly:c,onPickType:s}){let{currency:l}=F0(),o=iv(e,l,I2);return o.length===0?null:Ns("ul",{className:"flex list-none flex-wrap items-center gap-1.5",children:o.map(r=>Ns("li",{children:nG("button",{type:"button",onClick:()=>r.key==="price"?a(null):r.key==="inStock"?c(!1):r.key==="kind"?s(null):t(r.key,r.value),className:`flex cursor-pointer items-center gap-1.5 px-2 py-1 font-mono text-[10px] uppercase tracking-[0.14em] text-bg hover:bg-fg ${r.key==="inStock"?"bg-green":"bg-accent"}`,children:[r.label,Ns("span",{"aria-hidden":"true",children:"\u2715"}),Ns("span",{className:"sr-only",children:"Remove filter"})]})},`${r.key}:${r.value}`))})}import{useState as hG}from"react";import{Fragment as pG,jsx as m6,jsxs as fS}from"react/jsx-runtime";var mG=[];function th({wheel:e,colours:t,fit:a=null,editing:c=!1,brandPlate:s=!1,kindLabel:l=null,showBrand:o=!0,showProcess:r=!1,coverIndex:i=1,fieldUsage:n=mG,spinOnHover:h=!1,imageBackgroundFill:m=da,showBadge:p=!0,outline:u=F5,indexBadge:d=m4,showCardSizes:g=!0,showCardBuy:z=!0,showCardPage:f=!0,showCardPrice:b=!0,showCardFinishes:y=!0}){let{currency:C}=F0(),S=_d(e,t),H=Sd(e,i,S.finish?.name,S.shownSrc,a?.holes),_=za(e,S.selectedVariant,C,1),Z=wa(_,C),[q,j]=hG(()=>new Set),B=I=>j(H1=>H1.has(I)?H1:new Set(H1).add(I)),N=Ld({overrideSrc:H,hookSrc:S.shownSrc,failed:q}),D=Wd(e),T=yd(e,a),R=zv({wheel:e,sel:S,price:_,editing:c,href:`/wheels/${e.slug}`,show:{sizes:g,buy:z,page:f}}),i1=S.detailState==="ready",O=S.unsellable,m1=h?"transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] group-hover:rotate-[72deg]":"",Q=N?m6(H5,{src:N,alt:S.finish?`${e.name} \u2014 ${S.finish.name}`:e.name,width:800,height:800,sizes:"(max-width: 640px) 90vw, (max-width: 1024px) 45vw, 300px",className:["block h-full w-full object-contain",m1].filter(Boolean).join(" "),draggable:!1,onError:()=>B(N)},N):m6(Nd,{imageLabel:e.name}),K=d!=="off"?m6("span",{"aria-hidden":!0,className:`${Ma} ${Ca}`}):null,a1=p?e.badge:null,B1=_.onSale||a1?fS("div",{className:`${dv} pointer-events-none flex flex-col items-end gap-1`,children:[_.onSale&&m6(Vo,{tone:"solid",children:"Sale"}),a1&&m6(Vo,{tone:a1==="new"?"solid":"outline",children:a1==="new"?"New":"Bestseller"})]}):null,X=y&&S.finishes.length>0&&S.availability.some(Boolean)?m6(Bd,{finishes:S.finishes,availability:S.availability,selectedIdx:S.selectedIdx,hoverIdx:S.hoverIdx,activeFinish:S.finish,onSelect:S.setSelectedIdx,onHover:S.setHoverIdx,showLabel:!1}):null,D1=Ad(T.length>0?T:wd(e),n).map(I=>I.text),t0=_.priced?["each",_.setTotal!=null&&S.selectedVariant?`${Id(S.selectedVariant)} \xB7 ${I2(_.setTotal,C)}`:null].filter(Boolean).join(" \xB7 "):null;return fS(pG,{children:[m6(vv,{href:`/wheels/${e.slug}`,identityLink:!0,containerProps:{onPointerEnter:S.arm,onTouchStart:S.arm,onFocusCapture:S.arm},probes:S.probes,outline:u,imageBackgroundFill:m,indexBadge:K,badges:B1,image:Q,plate:s?m6(Iv,{brand:D,logo:e.brandLogo}):null,eyebrow:Ed({kindLabel:l,brand:o&&D?d0(D):null,process:r&&e.process?d0(e.process):null},n),reserveEyebrow:Pd({kind:!!l,brand:o,process:r},n),name:d0(e.name),spec:gv(D1,xd),was:Z,price:xa(_,C),metaLine:t0,swatches:X,reserveSwatches:y,showPrice:b,extras:R.extras}),R.dialog]})}import{jsx as Je,jsxs as Zs}from"react/jsx-runtime";function ah({page:e,pageCount:t,onPage:a}){if(t<=1)return null;let c=hv(t,e),s="flex h-9 w-9 cursor-pointer items-center justify-center border border-line font-mono text-[13px] transition-colors hover:border-accent hover:text-accent disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:border-line disabled:hover:text-fg";return Zs("div",{className:"mt-8 flex flex-wrap items-center justify-between gap-4 border-t border-line pt-4",children:[Zs("div",{className:"flex items-center gap-1.5",children:[Je("button",{type:"button",onClick:()=>a(e-1),disabled:e<=1,"aria-label":"Previous page",className:s,children:"\u2039"}),c.map((l,o)=>l===null?Je("span",{className:"px-1 font-mono text-[13px] text-fg-dim",children:"\u2026"},`gap-${o}`):Je("button",{type:"button",onClick:()=>a(l),"aria-current":l===e?"page":void 0,className:["h-9 min-w-9 cursor-pointer border px-2 font-mono text-[13px] tabular-nums transition-colors",l===e?"border-accent bg-accent text-bg":"border-line hover:border-accent hover:text-accent"].join(" "),children:l},l)),Je("button",{type:"button",onClick:()=>a(e+1),disabled:e>=t,"aria-label":"Next page",className:s,children:"\u203A"})]}),Zs("label",{className:"flex items-center gap-2 font-mono text-[11px] uppercase tracking-[0.16em] text-fg-dim",children:["Jump to",Je("select",{value:e,onChange:l=>a(Number(l.target.value)),className:"cursor-pointer border border-line bg-transparent px-2 py-1.5 font-mono text-[12px] text-fg",children:Array.from({length:t},(l,o)=>o+1).map(l=>Zs("option",{value:l,children:["Page ",l," of ",t]},l))})]})]})}import{useState as vG}from"react";import{useState as uG}from"react";import{jsx as Qe,jsxs as gG}from"react/jsx-runtime";function ch({checked:e,count:t,noun:a,onChange:c}){let[s,l]=uG(!1);return gG("label",{className:"flex cursor-pointer items-center gap-2.5 py-1 text-[13px]",children:[Qe("input",{type:"checkbox",role:"switch",checked:e,onChange:o=>c(o.target.checked),onFocus:o=>l(o.target.matches(":focus-visible")),onBlur:()=>l(!1),className:"sr-only","aria-label":`In stock only (${t} ${a})`}),Qe("span",{"aria-hidden":"true",className:`relative inline-block h-[17px] w-[30px] flex-none rounded-full transition-colors ${e?"bg-green":"bg-line"} ${s?"outline outline-2 outline-offset-2 outline-accent":""}`,children:Qe("span",{className:`absolute left-[2px] top-[2px] h-[13px] w-[13px] rounded-full bg-bg transition-transform ${e?"translate-x-[13px]":""}`})}),Qe("span",{className:"flex-1",children:"In stock only"}),Qe("span",{className:"font-mono text-[11px] tabular-nums text-fg-dim",children:t})]})}import{useId as dG}from"react";import{jsx as et,jsxs as bS}from"react/jsx-runtime";function sh({options:e,noun:t,onPick:a}){let c=dG();return e.length===0?null:bS("fieldset",{className:"rounded-lg border border-accent/35 bg-accent/[0.05] px-3 pb-3 pt-2.5",children:[et("legend",{className:"px-0 font-mono text-[11px] uppercase tracking-[0.2em] text-accent",children:"Product type"}),et("div",{className:"flex flex-col pt-1.5",children:e.map(s=>{let l=s.count===0&&!s.checked;return bS("label",{className:`flex items-center gap-2.5 py-1 text-[13.5px] ${l?"opacity-40":"cursor-pointer"}`,children:[et("input",{type:"radio",name:c,checked:s.checked,disabled:l,onChange:()=>a(s.kind),"aria-label":`${s.label} (${s.count} ${t})`,className:"h-[15px] w-[15px] flex-none accent-[var(--accent)]"}),et("span",{className:`flex-1 ${s.checked?"text-accent":""}`,children:s.label}),et("span",{className:"font-mono text-[11px] tabular-nums text-fg-dim",children:s.count})]},s.kind??"all")})})]})}import{jsx as lh,jsxs as s9}from"react/jsx-runtime";function oh({boxes:e,composed:t,matches:a,noun:c,onPick:s}){return s9("div",{className:"grid grid-cols-3 gap-1.5",children:[e.map(l=>s9("label",{className:"flex flex-col gap-1",children:[lh("span",{className:"font-mono text-[9.5px] uppercase tracking-[0.14em] text-fg-dim",children:l.label}),s9("select",{value:l.value??"",onChange:o=>s(l.part,o.target.value?Number(o.target.value):null),"aria-label":`Tyre ${l.label.toLowerCase()}`,className:`w-full cursor-pointer rounded border bg-surface px-2 py-1.5 text-[13px] ${l.value===null?"border-line":"border-accent text-accent"}`,children:[lh("option",{value:"",children:"Any"}),l.options.map(o=>s9("option",{value:o.value,children:[o.label,o.count===0?" \xB7 0":""]},o.value))]})]},l.part)),t&&s9("p",{className:"col-span-3 flex items-baseline gap-2 pt-0.5",children:[lh("span",{className:"font-mono text-[12px] tracking-[0.04em] text-accent",children:t}),a!==null&&s9("span",{className:"text-[11.5px] text-fg-dim",children:["\xB7 ",a," ",c]})]})]})}import{jsx as s2,jsxs as g5}from"react/jsx-runtime";function rh({facets:e,filters:t,typeOptions:a,sizeBoxes:c,sizeMatches:s,noun:l,priceBounds:o,inStockCount:r,onToggle:i,onPickType:n,onPickSize:h,onPriceMax:m,onInStockOnly:p,onClearAll:u}){let{currency:d}=F0(),[g,z]=vG({});return g5("aside",{className:"w-full flex-none lg:sticky lg:[--sf-plp-rail-gap:16px] lg:[--sf-plp-rail-top:calc(var(--sf-header-h,88px)+var(--sf-plp-rail-gap))] lg:top-[var(--sf-plp-rail-top)] lg:max-h-[calc(100svh-var(--sf-plp-rail-top)-var(--sf-plp-rail-gap))] lg:w-[268px] lg:overflow-y-auto lg:overscroll-contain lg:pr-2.5",children:[g5("div",{className:"flex items-center justify-between pb-2",children:[s2("h2",{className:"font-display text-[18px] font-medium uppercase tracking-[-0.01em]",children:"Filter"}),Va(t)&&s2("button",{type:"button",onClick:u,className:"cursor-pointer font-mono text-[11px] uppercase tracking-[0.16em] text-accent hover:text-fg",children:"Clear all"})]}),a.length>0&&s2("div",{className:"pb-1 pt-1",children:s2(sh,{options:a,noun:l.many,onPick:n})}),r!==null&&s2("div",{className:"border-t border-line py-2",children:s2(ch,{checked:t.inStockOnly,count:r,noun:l.many,onChange:p})}),c&&s2(zS,{label:ev.tyreSizes,open:!g.tyreSizes,onToggle:()=>z(f=>({...f,tyreSizes:!f.tyreSizes})),children:!g.tyreSizes&&s2("div",{className:"pb-3",children:s2(oh,{boxes:c,composed:t.tyreSizes[0]??"",matches:s,noun:l.many,onPick:h})})}),e.map(f=>{if(f.options.length===0)return null;let b=!g[f.key];return s2(zS,{label:f.label,open:b,onToggle:()=>z(y=>({...y,[f.key]:!y[f.key]})),children:b&&s2("ul",{className:"flex flex-col pb-3",children:f.options.map(y=>{let C=y.count===0&&!y.checked;return s2("li",{children:g5("label",{className:`flex items-center gap-2.5 py-1 text-[13px] ${C?"opacity-40":"cursor-pointer"}`,children:[s2("input",{type:"checkbox",checked:y.checked,disabled:C,onChange:()=>i(f.key,y.value),"aria-label":`${f.label}: ${y.label} (${y.count} ${l.many})`,className:"h-[16px] w-[16px] flex-none accent-[var(--accent)]"}),y.swatch&&s2("span",{className:"inline-block h-[13px] w-[13px] flex-none rounded-full shadow-[inset_0_0_0_1px_var(--line)]",style:{background:y.swatch}}),s2("span",{className:"flex-1 capitalize",children:y.label}),s2("span",{className:"font-mono text-[11px] tabular-nums text-fg-dim",children:y.count})]})},y.value)})})},f.key)}),o&&g5("div",{className:"border-t border-line py-3",children:[g5("span",{className:"font-mono text-[11px] uppercase tracking-[0.2em]",children:["Price \xB7 per ",l.one]}),s2("input",{type:"range",min:o.min,max:o.max,step:5,value:t.priceMax??o.max,onChange:f=>{let b=Number(f.target.value);m(b>=o.max?null:b)},className:"mt-2 w-full accent-[var(--accent)]","aria-label":`Maximum price per ${l.one}`}),g5("div",{className:"mt-1.5 flex justify-between font-mono text-[11px] tabular-nums",children:[s2("span",{className:"text-fg-dim",children:I2(o.min,d)}),g5("span",{children:["Up to ",I2(t.priceMax??o.max,d)]})]})]})]})}function zS({label:e,open:t,onToggle:a,children:c}){return g5("div",{className:"border-t border-line",children:[g5("button",{type:"button",onClick:a,"aria-expanded":t,"aria-label":`${t?"Collapse":"Expand"} ${e} filters`,className:"flex w-full cursor-pointer items-center justify-between py-3 text-left",children:[s2("span",{className:"font-mono text-[11px] uppercase tracking-[0.2em]",children:e}),s2("span",{"aria-hidden":"true",className:`font-mono text-[10px] text-fg-dim transition-transform ${t?"rotate-180":""}`,children:"\u25BE"})]}),c]})}import{Fragment as fG,jsx as xS}from"react/jsx-runtime";function Is({kind:e,children:t}){let a=Tv(e);return a?xS("span",{[kv]:a.stamp,children:t}):xS(fG,{children:t})}import{jsx as l9,jsxs as wS}from"react/jsx-runtime";function ih(e,t){return[{value:"",label:t??"\u2014"},...e.map(a=>({value:a.value,label:a.label}))]}function tt({label:e,value:t,options:a,onChange:c,placeholder:s,disabled:l,compact:o=!1,editing:r=!1}){let n=(a.find(u=>u.value===t)?.label??t)||s||"\u2014",h=ih(a,s),m=Ka({items:h,value:t,onPick:c}),p=m.open;return wS("div",{ref:m.wrapRef,className:"relative",children:[wS("div",{ref:u=>{m.triggerRef.current=u},role:"button",tabIndex:l?-1:0,"aria-haspopup":"listbox","aria-expanded":p,"aria-controls":p?m.listId:void 0,"aria-activedescendant":m.activeId,"aria-label":e,"aria-disabled":l||void 0,onClick:()=>!l&&m.toggle(),onKeyDown:u=>!l&&m.onTriggerKeyDown(u),className:["relative flex flex-col bg-bg transition-colors",o?"gap-1 px-3.5 py-2.5":"min-h-[160px] gap-3.5 px-6 py-7",l?"opacity-50":"cursor-pointer hover:bg-surface"].join(" "),children:[l9("span",{...r?{[$9]:Zo}:{},className:["font-mono uppercase text-accent",o?"text-[length:var(--size-label,10px)] tracking-[0.2em]":"text-[length:var(--size-label,12px)] tracking-[0.3em]"].join(" "),children:l9(Is,{kind:Zo,children:e})}),l9("span",{className:["font-display font-medium tracking-[-0.02em]",o?"truncate pr-4 text-[length:var(--size-body,15px)] leading-[1.2]":"mt-auto text-[length:var(--size-headingSmall,24px)] leading-[1.1]",t?"text-fg":"text-fg-dim"].join(" "),...r?{[$9]:Io}:{},children:l9(Is,{kind:Io,children:n})}),l9("span",{className:["pointer-events-none absolute font-mono text-accent",o?"right-3 top-3 text-[length:var(--size-label,11px)]":"right-[22px] top-[22px] text-[length:var(--size-label,14px)]"].join(" "),children:"\u25BE"})]}),p&&!l&&l9($a,{id:m.listId,tone:"cell",items:h,value:t,focusIdx:m.focusIdx,onFocus:m.setFocusIdx,onPick:m.pick,listRef:m.listRef})]})}var at=["make","model","year","trim"],v7={make:"Make",model:"Model",year:"Year",trim:"Trim"};function yS(e,t){switch(e){case"make":return t.make!=="";case"model":return t.model!=="";case"year":return t.year!==null;case"trim":return t.modification!==""}}function kS(e,t){for(let a of at){if(a===e)break;if(!yS(a,t))return a}return e}function MS(e){return at.find(t=>!yS(t,e))??null}var ct={make:"Pick a make first",model:"Pick a model first",year:"Pick a year first",trim:"Pick a trim first"};function Rs({parentPicked:e,loading:t,options:a,waiting:c,loadingLabel:s,readyLabel:l,emptyLabel:o}){return e?t?{placeholder:s,disabled:!0}:a.length===0?{placeholder:o,disabled:!0}:{placeholder:l,disabled:!1}:{placeholder:c,disabled:!0}}function _s(e){let{vehicle:t,loading:a}=e;return{make:Rs({parentPicked:!0,loading:a.makes,options:e.makeOptions,waiting:"",loadingLabel:"Loading makes\u2026",readyLabel:"Select make",emptyLabel:"Vehicle list unavailable"}),model:Rs({parentPicked:!!t.make,loading:a.models,options:e.modelOptions,waiting:ct.make,loadingLabel:"Loading models\u2026",readyLabel:"Select model",emptyLabel:"No models listed"}),year:Rs({parentPicked:!!t.model,loading:a.years,options:e.yearOptions,waiting:ct.model,loadingLabel:"Loading years\u2026",readyLabel:"Select year",emptyLabel:"No years listed"}),trim:Rs({parentPicked:t.year!==null,loading:a.modifications,options:e.modOptions,waiting:ct.year,loadingLabel:"Loading trims\u2026",readyLabel:"Select trim",emptyLabel:"No trims listed"})}}function CS(e){return{make:e.makeOptions,model:e.modelOptions,year:e.yearOptions,trim:e.modOptions}}function LS(e){return{make:e.setMake,model:e.setModel,year:e.setYear,trim:e.setModification}}function SS(e){let{vehicle:t}=e;return{make:t.make,model:t.model,year:t.year!==null?String(t.year):"",trim:t.modification}}function AS(e){let{vehicle:t}=e;return{make:t.make?e.makeName:"",model:t.model?e.modelName:"",year:t.year!==null?String(t.year):"",trim:t.modification?e.modName:""}}import{jsx as Ds,jsxs as bG}from"react/jsx-runtime";function i3({cascade:e,compact:t=!1,editing:a=!1}){let{vehicle:c}=e,s=_s(e);return bG("div",{className:["grid gap-[2px] border border-line bg-line",t?"grid-cols-4 max-[900px]:grid-cols-2":"grid-cols-4 max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1"].join(" "),children:[Ds(tt,{label:v7.make,placeholder:s.make.placeholder,disabled:s.make.disabled,value:c.make,options:e.makeOptions,onChange:e.setMake,compact:t,editing:a}),Ds(tt,{label:v7.model,placeholder:s.model.placeholder,disabled:s.model.disabled,value:c.model,options:e.modelOptions,onChange:e.setModel,compact:t,editing:a}),Ds(tt,{label:v7.year,placeholder:s.year.placeholder,disabled:s.year.disabled,value:c.year!==null?String(c.year):"",options:e.yearOptions,onChange:e.setYear,compact:t,editing:a}),Ds(tt,{label:v7.trim,placeholder:s.trim.placeholder,disabled:s.trim.disabled,value:c.modification,options:e.modOptions,onChange:e.setModification,compact:t,editing:a})]})}import{jsx as f2,jsxs as d5}from"react/jsx-runtime";function nh({cascade:e,appliedName:t,fit:a,fitSummary:c=null,resolving:s,unresolved:l,matchCount:o,copy:r,onAmend:i,onClear:n}){return f2("div",{className:"border-b border-line bg-surface px-5 py-4 md:px-10",children:!(t!=="")?d5("div",{className:"flex flex-wrap items-end gap-4",children:[d5("div",{className:"flex-none",children:[d5("div",{className:"flex items-center gap-2",children:[f2(HS,{}),f2("h2",{className:"font-display text-[18px] font-medium uppercase tracking-[-0.01em]",children:"Select your car"})]}),f2("p",{className:"mt-0.5 font-mono text-[11px] uppercase tracking-[0.14em] text-fg-dim",children:r.promise})]}),f2("div",{className:"min-w-[280px] flex-1",children:f2(i3,{cascade:e,compact:!0})})]}):d5("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-3",children:[d5("div",{className:"flex items-center gap-2.5",children:[f2(HS,{}),d5("div",{children:[f2("p",{className:"font-mono text-[10px] uppercase tracking-[0.2em] text-fg-dim",children:"Fitment for"}),f2("p",{className:"font-display text-[16px] font-medium uppercase leading-[1.1] tracking-[-0.01em]",children:t})]})]}),s?f2("p",{className:"font-mono text-[11px] uppercase tracking-[0.16em] text-fg-dim",children:"Checking fitment\u2026"}):l?f2("p",{className:"font-mono text-[11px] uppercase tracking-[0.16em] text-fg-dim",children:r.noData}):d5("div",{className:"flex flex-wrap items-center gap-1.5",children:[f2("span",{className:"border border-line px-2 py-1 font-mono text-[10px] uppercase tracking-[0.14em] text-fg-dim",children:c??kd(a)}),f2("span",{className:"bg-accent px-2 py-1 font-mono text-[10px] font-bold uppercase tracking-[0.14em] text-bg",children:r.countFits(o)})]}),d5("div",{className:"ml-auto flex items-center gap-4",children:[f2("button",{type:"button",onClick:i,className:"cursor-pointer border border-line px-4 py-2.5 font-mono text-[11px] uppercase tracking-[0.16em] hover:border-accent hover:text-accent",children:"Amend search"}),f2("button",{type:"button",onClick:n,className:"cursor-pointer font-mono text-[11px] uppercase tracking-[0.16em] text-fg-dim underline-offset-4 hover:text-fg hover:underline",children:r.showAll})]})]})})}function HS(){return d5("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"2","aria-hidden":"true",className:"flex-none",children:[f2("path",{d:"M5 17h14l1.5-5.5a2 2 0 0 0-1.4-2.4L17 8l-1.6-3.2A2 2 0 0 0 13.6 3.7H10.4A2 2 0 0 0 8.6 4.8L7 8l-2.1.6a2 2 0 0 0-1.4 2.4L5 17Z"}),f2("circle",{cx:"7.5",cy:"17.5",r:"1.8"}),f2("circle",{cx:"16.5",cy:"17.5",r:"1.8"})]})}import{useId as zG,useRef as xG}from"react";import{jsx as v5,jsxs as wG}from"react/jsx-runtime";function hh({cascade:e,heading:t,intro:a,ready:c,copy:s,onSkip:l}){let o=zG(),r=xG(null);return o8({active:c,onDismiss:l,focusRef:r}),v5("div",{role:"dialog","aria-modal":"true","aria-labelledby":o,"aria-hidden":c?void 0:!0,className:["fixed inset-x-0 bottom-0 top-[var(--sf-header-h,88px)] z-40 overflow-y-auto bg-bg","transition-opacity duration-200",c?"opacity-100":"pointer-events-none opacity-0"].join(" "),children:v5("div",{className:"flex min-h-full items-center justify-center px-6 py-14 max-[700px]:px-5 max-[700px]:py-10",children:wG("div",{ref:r,tabIndex:-1,className:"w-full max-w-[720px] outline-none",children:[v5("p",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.3em] text-accent",children:s.eyebrow}),v5("h2",{id:o,className:"mt-3 max-w-[16ch] font-display text-[min(clamp(30px,5vw,50px),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] leading-[1.05] tracking-[-0.02em]",children:d0(t)}),v5("p",{className:"mt-4 max-w-[52ch] text-[15px] leading-[1.6] text-fg-dim",children:d0(a)}),v5("div",{className:"mt-8",children:v5(i3,{cascade:e})}),e.cascadeError&&v5("p",{className:"mt-3 font-mono text-[11px] uppercase tracking-[0.16em] text-fg-dim",children:s.cascadeDown}),v5("button",{type:"button",onClick:l,className:"mt-6 w-full cursor-pointer py-3 font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim underline-offset-4 hover:text-fg hover:underline",children:s.browseInstead})]})})})}import{useEffect as kG,useMemo as MG,useState as CG}from"react";var f5={year:null,make:"",model:"",modification:""};var A4={make:"make",model:"model",year:"year",trim:"trim"};function z3(e){return!!e.make&&!!e.model&&e.year!==null&&!!e.modification}function FS(e){let t=Number(e.get(A4.year)),a={...f5,make:e.get(A4.make)??"",model:e.get(A4.model)??"",year:Number.isFinite(t)&&t>0?Math.floor(t):null,modification:e.get(A4.trim)??""};return z3(a)?a:null}function H4(e,t){return!t||!z3(t)||(e.set(A4.make,t.make),e.set(A4.model,t.model),e.set(A4.year,String(t.year)),e.set(A4.trim,t.modification)),e}var yG=["tyre"];function TS(e){return yG.filter(t=>e.includes(t))}function VS(e){return!e||!z3(e)||e.year===null?null:{make:e.make,model:e.model,year:e.year,modification:e.modification}}function PS(e,t,a){return e.length===0||!t&&!a?null:{kinds:[...e],vehicle:t}}function ES(e,t,a){if(a===null||t.length===0)return[...e];let c=new Set(a);return e.filter(s=>!t.includes(B6(s))||c.has(P5(s)))}function BS({catalog:e,shownKinds:t,vehicle:a,editing:c=!1}){let s=TS(t),l=c?null:VS(a),[o,r]=CG(null),i=PS(s,l,o!==null),n=i?JSON.stringify(i):"";kG(()=>{if(!n)return;let p=JSON.parse(n),u=!0;return D0.listCatalog(p.kinds,p.vehicle).then(d=>{u&&r({key:n,slugs:d.map(P5)})}).catch(d=>{console.error("[useVehicleCatalog] catalog refetch failed",d)}),()=>{u=!1}},[n]);let h=o?.slugs??null,m=s.join(",");return MG(()=>ES(e,m?m.split(","):[],h),[e,m,h])}import{useCallback as ph,useEffect as st,useMemo as AG,useRef as HG,useState as IS}from"react";import{useCallback as Os,useEffect as o9,useMemo as Gs,useState as p6}from"react";function qs(e){return e instanceof Error?e.message:String(e)}function NS(e=[],t=!0){let[a,c]=p6(f5),[s,l]=p6(e),[o,r]=p6([]),[i,n]=p6([]),[h,m]=p6([]),[p,u]=p6(null),[d,g]=p6({makes:t&&e.length===0}),[z,f]=p6(null);o9(()=>{t&&e.length===0&&(g(T=>({...T,makes:!0})),Y7.listMakes().then(l).catch(()=>{}).finally(()=>g(T=>({...T,makes:!1}))))},[t,e.length]),o9(()=>{if(!a.make){r([]);return}let T=!1;return g(R=>({...R,models:!0})),Y7.listModels(a.make).then(R=>{T||r(R)}).catch(R=>{T||f(qs(R))}).finally(()=>{T||g(R=>({...R,models:!1}))}),()=>{T=!0}},[a.make]),o9(()=>{if(!a.make||!a.model){n([]);return}let T=!1;return g(R=>({...R,years:!0})),Y7.listYears(a.make,a.model).then(R=>{T||n(R)}).catch(R=>{T||f(qs(R))}).finally(()=>{T||g(R=>({...R,years:!1}))}),()=>{T=!0}},[a.make,a.model]),o9(()=>{if(!a.make||!a.model||a.year===null){m([]);return}let T=!1;return g(R=>({...R,modifications:!0})),Y7.listModifications(a.make,a.model,a.year).then(R=>{T||m(R)}).catch(R=>{T||f(qs(R))}).finally(()=>{T||g(R=>({...R,modifications:!1}))}),()=>{T=!0}},[a.make,a.model,a.year]),o9(()=>{if(!(a.year!==null&&a.make&&a.model&&a.modification)){u(null);return}let R=!1;return g(i1=>({...i1,stock:!0})),f(null),Y7.getStockFitment(a.make,a.model,a.year,a.modification).then(i1=>{R||u(i1)}).catch(i1=>{R||f(qs(i1))}).finally(()=>{R||g(i1=>({...i1,stock:!1}))}),()=>{R=!0}},[a.make,a.model,a.year,a.modification]),o9(()=>{a.year!==null&&a.make&&a.model&&!a.modification&&h.length===1&&c(T=>({...T,modification:h[0].slug}))},[a.year,a.make,a.model,a.modification,h]);let b=Os(T=>c(R=>({...R,make:T,model:"",year:null,modification:""})),[]),y=Os(T=>c(R=>({...R,model:T,year:null,modification:""})),[]),C=Os(T=>c(R=>({...R,year:T?Number(T):null,modification:""})),[]),S=Os(T=>c(R=>({...R,modification:T})),[]),H=Gs(()=>i.map(T=>({value:String(T),label:String(T)})),[i]),_=Gs(()=>s.map(T=>({value:T.slug,label:T.name})),[s]),Z=Gs(()=>o.map(T=>({value:T.slug,label:T.name})),[o]),q=Gs(()=>h.map(T=>({value:T.slug,label:T.name})),[h]),j=a.year!==null&&!!a.make&&!!a.model&&!!a.modification,B=s.find(T=>T.slug===a.make)?.name??a.make,N=o.find(T=>T.slug===a.model)?.name??a.model,D=h.find(T=>T.slug===a.modification)?.name??a.modification;return{vehicle:a,setVehicle:c,setMake:b,setModel:y,setYear:C,setModification:S,makeOptions:_,modelOptions:Z,yearOptions:H,modOptions:q,loading:d,cascadeError:z,stock:p,fullyPicked:j,makeName:B,modelName:N,modName:D}}var mh="storefront-vehicle";function LG(e){if(!e||typeof e!="object")return null;let t=e,a={...f5,...t.vehicle??{}};return z3(a)?{vehicle:a,labels:{make:t.labels?.make??a.make,model:t.labels?.model??a.model,modification:t.labels?.modification??a.modification}}:null}function SG(e){let t,a=new Set,c=()=>{for(let s of[...a])s()};return{read(){if(t!==void 0)return t;try{let s=e()?.getItem(mh);t=s?LG(JSON.parse(s)):null}catch{t=null}return t},write(s){t=s;try{e()?.setItem(mh,JSON.stringify(s))}catch{}c()},clear(){t=null;try{e()?.removeItem(mh)}catch{}c()},subscribe(s){return a.add(s),()=>{a.delete(s)}}}}var u6=SG(()=>Q2);function ZS(){u6.clear()}function uh(e,t,a){return e!==t?e:a||t}function FG(e,t){return e.make===t.make&&e.model===t.model&&e.modification===t.modification}function r9(e,t){return e.make===t.make&&e.model===t.model&&e.year===t.year&&e.modification===t.modification}function E3({initialMakes:e=[],editing:t=!1,enabled:a=!0,autoApply:c=!1}={}){let s=NS(e,a),{setVehicle:l}=s,[o,r]=IS(null),[i,n]=IS(!1),h=ph(()=>({make:s.makeName,model:s.modelName,modification:s.modName}),[s.makeName,s.modelName,s.modName]);st(()=>{if(t||!a){n(!0);return}let f=FS(new URLSearchParams(window.location.search)),b=f?null:u6.read(),y=f??b?.vehicle??null;y&&(l(y),r({vehicle:y,labels:b?.labels??{make:y.make,model:y.model,modification:y.modification},stock:null})),n(!0)},[t,a,l]),st(()=>{if(!(t||!a))return u6.subscribe(()=>{let f=u6.read();r(y=>f?y&&r9(y.vehicle,f.vehicle)?FG(y.labels,f.labels)?y:{...y,labels:f.labels}:{vehicle:f.vehicle,labels:f.labels,stock:null}:null);let b=f?.vehicle??f5;l(y=>r9(y,b)?y:b)})},[t,a,l]),st(()=>{!c||!z3(s.vehicle)||o&&r9(o.vehicle,s.vehicle)||r({vehicle:s.vehicle,labels:h(),stock:s.stock})},[c,o,s.vehicle,s.stock,h]),st(()=>{if(!o||!r9(s.vehicle,o.vehicle))return;let f={make:uh(s.makeName,s.vehicle.make,o.labels.make),model:uh(s.modelName,s.vehicle.model,o.labels.model),modification:uh(s.modName,s.vehicle.modification,o.labels.modification)};(o.stock!==s.stock||o.labels.make!==f.make||o.labels.model!==f.model||o.labels.modification!==f.modification)&&r(y=>y&&r9(s.vehicle,y.vehicle)?{...y,stock:s.stock,labels:f}:y)},[o,s.vehicle,s.stock,s.makeName,s.modelName,s.modName]);let m=HG("");st(()=>{if(!(t||!a))try{if(!o){m.current!==""&&(u6.clear(),m.current="");return}let f=JSON.stringify({vehicle:o.vehicle,labels:o.labels});if(f===m.current)return;u6.write({vehicle:o.vehicle,labels:o.labels}),m.current=f}catch{}},[o,t,a]);let p=ph(()=>{z3(s.vehicle)&&r({vehicle:s.vehicle,labels:h(),stock:s.stock})},[s.vehicle,s.stock,h]),u=ph(()=>{r(null),l(f5),!t&&a&&ZS()},[t,a,l]),d=AG(()=>dd(o?.stock),[o?.stock]),g=!!o&&r9(s.vehicle,o.vehicle)&&s.loading.stock!==!1,z=o?[o.vehicle.year,o.labels.make,o.labels.model,o.labels.modification].filter(Boolean).join(" "):"";return{cascade:s,applied:o,fit:d,resolving:g,unresolved:!!o&&d===null&&!g,apply:p,clear:u,canApply:z3(s.vehicle),appliedName:z,restored:i}}import{useEffect as RS,useState as _S}from"react";var gh="plp:locationchange",DS=!1;function TG(e){if(typeof window>"u")return()=>{};if(!DS){DS=!0;for(let t of["pushState","replaceState"]){let a=window.history[t];window.history[t]=function(...s){a.apply(this,s),window.dispatchEvent(new Event(gh))}}}return window.addEventListener("popstate",e),window.addEventListener(gh,e),()=>{window.removeEventListener("popstate",e),window.removeEventListener(gh,e)}}function OS({editing:e,openingSort:t,appliedVehicle:a,vehicleRestored:c}){let[s,l]=_S({...E5,sort:t}),[o,r]=_S(!1);return RS(()=>{if(e||typeof window>"u")return;let i=()=>{let h=nv(new URLSearchParams(window.location.search));return N6(h).toString()===""?{...E5,sort:t}:h},n=()=>{let h=i();l(m=>N6(m).toString()===N6(h).toString()?m:h)};return n(),r(!0),TG(n)},[e,t]),RS(()=>{if(e||!o||!c||typeof window>"u")return;let i=N6(s);H4(i,a);let n=i.toString();window.history.replaceState(null,"",`${window.location.pathname}${n?`?${n}`:""}`)},[e,o,c,s,a]),[s,l]}import{Fragment as GS,jsx as Q0,jsxs as b2}from"react/jsx-runtime";var dh={heading:"Let's find wheels that fit your car.",intro:"Tell us what you drive and we'll show you every set that bolts straight on \u2014 bolt pattern, offset and hub bore checked for you."};function NG({level:e,className:t,children:a}){return Q0(e===2?"h2":"h1",{className:t,children:a})}var ZG=[];function vh({heading:e="",intro:t="",askForCar:a=!0,gateHeading:c="",gateIntro:s="",perPage:l=24,columns:o,defaultSort:r="recommended",hiddenFacets:i=[],fieldUsage:n=ZG,showPrice:h=!0,showInStock:m=!0,kinds:p,products:u,wheels:d,editing:g=!1,coverIndex:z=1,cardImage:f,spinOnHover:b=!1,imageBackground:y,showBadge:C=!0,showCardSizes:S,showCardBuy:H,showCardPage:_,showCardPrice:Z,showCardFinishes:q,outline:j=F5,indexBadge:B=m4,titleLevel:N}){let{currency:D}=F0(),T=va(y,da),R=Ha(p),i1=g4(),O=gS(Es(o),g?i1:null),m1=`plp-${PG().replace(/:/g,"")}`,Q=a8(m1,B),K=Pv(),a1=u??d??K??[],B1=j2(()=>qd(a1,R),[a1,R.join(",")]),X=E3({editing:g,enabled:a,autoApply:!0}),[D1,t0]=BG(!1),I=Yd(r,R),H1=X.applied?.vehicle??null,[f1,J2]=OS({editing:g,openingSort:I,appliedVehicle:H1,vehicleRestored:X.restored}),G0=Xd(R,f1.kind),q1=Y3(T1=>J2(T1),[J2]),p3=Y3((T1,M3)=>{let N2=f1[T1],I9=N2.map(String).includes(M3)?N2.filter(Xt=>String(Xt)!==M3):[...N2,T1==="diameters"?Number(M3):M3];q1({...f1,[T1]:I9,page:1})},[f1,q1]),h0=Y3(T1=>q1({...f1,priceMax:T1,page:1}),[f1,q1]),R3=Y3(T1=>q1({...f1,inStockOnly:T1,page:1}),[f1,q1]),g0=Y3(T1=>q1({...E5,kind:T1,inStockOnly:f1.inStockOnly,priceMax:f1.priceMax,sort:f1.sort}),[f1.inStockOnly,f1.priceMax,f1.sort,q1]),k3=Y3(T1=>q1({...f1,sort:T1,page:1}),[f1,q1]),l4=Y3(T1=>{q1({...f1,page:T1}),typeof window<"u"&&window.scrollTo({top:0,behavior:J4()})},[f1,q1]),E2=Y3(()=>q1({...E5,sort:f1.sort}),[f1.sort,q1]),{clear:g1}=X,W1=Y3(()=>{g1(),t0(!0),J2(T1=>({...T1,page:1}))},[g1]),_0=Y3(()=>{g1(),t0(!1),J2(T1=>({...T1,page:1}))},[g1]),q0=H1?[H1.make,H1.model,H1.year,H1.modification].join("|"):"",o0=EG(null);VG(()=>{if(X.restored){if(o0.current===null){o0.current=q0;return}o0.current!==q0&&(o0.current=q0,J2(T1=>T1.page===1?T1:{...T1,page:1}))}},[X.restored,q0,J2]);let W0=BS({catalog:B1,shownKinds:R,vehicle:H1,editing:g}),$=j2(()=>{if(!X.fit)return W0;let T1=W0.filter(N2=>B6(N2)==="alloy-wheel"),M3=new Set(zd(T1,X.fit).map(N2=>N2.slug));return W0.filter(N2=>B6(N2)!=="alloy-wheel"||M3.has(P5(N2)))},[W0,X.fit]),N1=i.join(","),y0=j2(()=>{let T1=new Set(N1?N1.split(","):[]);return tv($,f1,D,G0,n).filter(M3=>!T1.has(M3.key))},[$,f1,D,N1,G0.join(","),n]),B2=j2(()=>Qd($,f1,D),[$,f1,D]),R7=G0.length>1,M5=j2(()=>U9(n,"alloy-wheel"),[n]),_7=j2(()=>U9(n,"tyre"),[n]),H6=j2(()=>Ud(B2),[B2]),$t=j2(()=>Kd(B2),[B2]),jt=j2(()=>h?rv($,D):null,[$,D,h]),Yt=j2(()=>Jd($,f1,D),[$,f1,D]),P9=j2(()=>ov($,R,f1,D),[$,R.join(","),f1,D]),E9=Y3((T1,M3)=>{let N2=lv($.flatMap($d),f1.tyreSizes[0]??"",T1,M3);q1({...f1,tyreSizes:N2?[N2]:[],page:1})},[$,f1,q1]),C5=j2(()=>{let T1=new Set(N1?N1.split(","):[]);return!cv($,G0)||T1.has("tyreSizes")?null:sv($,f1,D)},[$,f1,D,N1,G0.join(","),n]),l2=j2(()=>mv(B2,f1.page,l),[B2,f1.page,l]),o4=V5(G0),D7=Xe(G0),B9=vS(c,s,G0,R),O7=G0.length===1&&G0[0]==="tyre",N9=X.applied?.stock??null,r4=j2(()=>Dv(N9),[N9]),G7=j2(()=>$.filter(T1=>G0.includes(B6(T1))).length,[$,G0.join(",")]),u3=B1.length===0,L5=!u3&&$.length===0,Z9=a&&!g&&!X.applied&&!D1;return R.length===0?null:b2("section",{style:U2(f),children:[a&&Q0(nh,{cascade:X.cascade,appliedName:X.appliedName,fit:X.fit,fitSummary:O7&&r4.length>0?`Takes ${r4.join(" \xB7 ")}`:null,resolving:X.resolving,unresolved:O7?!!X.applied&&!X.resolving&&r4.length===0:X.unresolved,matchCount:G7,copy:D7,onAmend:_0,onClear:W1}),Z9&&Q0(hh,{cascade:X.cascade,heading:B9.heading,intro:B9.intro,ready:X.restored,copy:D7,onSkip:()=>t0(!0)}),b2("div",{className:"px-5 py-10 md:px-10",children:[(e||t)&&b2("header",{className:"mb-6",children:[e&&Q0(NG,{level:N,className:"font-display text-[clamp(28px,4vw,40px)] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] leading-[1.05] tracking-[-0.02em]",children:d0(e)}),t&&Q0("p",{className:"mt-2 max-w-[60ch] text-[15px] text-fg-dim",children:d0(t)})]}),b2("div",{className:"flex flex-col gap-8 lg:flex-row lg:items-start",children:[Q0(rh,{facets:y0,filters:f1,typeOptions:P9,sizeBoxes:C5,sizeMatches:f1.tyreSizes.length>0?B2.length:null,noun:o4,priceBounds:jt,inStockCount:m?Yt:null,onToggle:p3,onPickType:g0,onPickSize:E9,onPriceMax:h0,onInStockOnly:R3,onClearAll:E2}),b2("div",{className:"min-w-0 flex-1",children:[b2("div",{className:"mb-4 flex min-h-[34px] flex-wrap items-center justify-between gap-x-4 gap-y-2 border-b border-line pb-3",children:[b2("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-4 gap-y-2",children:[Q0("p",{className:"font-mono text-[12px] tabular-nums tracking-[0.08em]",children:l2.total===0?b2("span",{className:"text-fg-dim",children:["No ",o4.many]}):b2(GS,{children:[b2("span",{children:[l2.from,"\u2013",l2.to]}),b2("span",{className:"text-fg-dim",children:[" of ",l2.total," ",o4.many]})]})}),Q0(eh,{filters:f1,onToggle:p3,onPriceMax:h0,onInStockOnly:R3,onPickType:g0})]}),b2("label",{className:"flex items-center gap-2 font-mono text-[11px] uppercase tracking-[0.16em] text-fg-dim",children:["Sort by",Q0("select",{value:f1.sort,onChange:T1=>k3(Ta(T1.target.value)),className:"cursor-pointer border border-line bg-transparent px-2 py-1.5 font-mono text-[12px] normal-case tracking-normal text-fg",children:jd(R).map(T1=>Q0("option",{value:T1,children:Fa[T1]},T1))})]})]}),u3?Q0("div",{className:"border border-dashed border-line p-10",children:Q0("p",{className:"font-mono text-[12px] uppercase tracking-[0.16em] text-fg-dim",children:g?`No ${o4.many} in this website's catalog yet \u2014 curate products to see them here.`:"Our catalog is being updated. Please check back shortly."})}):L5?b2("div",{className:"border border-line p-10",children:[b2("h3",{className:"font-display text-[22px] font-medium uppercase tracking-[-0.01em]",children:["No confirmed fit for your ",X.appliedName]}),Q0("p",{className:"mt-2 max-w-[52ch] text-[14px] text-fg-dim",children:D7.nothingFits}),b2("button",{type:"button",onClick:W1,className:"mt-4 cursor-pointer bg-btn px-4 py-2.5 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-btn-ink hover:bg-fg",children:["Show all ",o4.many]})]}):l2.total===0?b2("div",{className:"border border-line p-10",children:[b2("h3",{className:"font-display text-[22px] font-medium uppercase tracking-[-0.01em]",children:["No ",o4.many," match those filters"]}),Q0("p",{className:"mt-2 max-w-[46ch] text-[14px] text-fg-dim",children:"Try widening the price range or clearing a filter."}),Va(f1)&&Q0("button",{type:"button",onClick:E2,className:"mt-4 cursor-pointer bg-btn px-4 py-2.5 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-btn-ink hover:bg-fg",children:"Clear all filters"})]}):b2(GS,{children:[Q&&Q0("style",{children:Q}),Q0("div",{className:Q?`${m1} plp-card-grid`:"plp-card-grid",style:O,children:l2.items.map(T1=>B6(T1)==="tyre"?Q0(Xv,{item:T1,currency:D,fitSize:r4.length>0?Ov(T1.sizes,r4):null,kindLabel:R7?V5(["tyre"]).one:null,showBrand:H6,editing:g,fieldUsage:_7},`tyre:${P5(T1)}`):Q0(th,{wheel:T1,colours:f1.finishes,fit:X.fit,editing:g,kindLabel:R7?V5(["alloy-wheel"]).one:null,showBrand:H6,coverIndex:z,fieldUsage:M5,showProcess:$t,spinOnHover:b,imageBackgroundFill:T,showBadge:C,outline:j,indexBadge:B,showCardSizes:S??!0,showCardBuy:H??!0,showCardPage:_??!0,showCardPrice:Z??!0,showCardFinishes:q??!0},`wheel:${P5(T1)}`))})]}),Q0(ah,{page:l2.page,pageCount:l2.pageCount,onPage:l4}),Q0(Vv,{editing:g})]})]})]})]})}import{SortIcon as RG,CarIcon as _G,HashIcon as DG}from"efficient-easel/icons";import{useEasel as OG}from"efficient-easel/easel";import{jsx as IG}from"react/jsx-runtime";var lt={heading:"Alloy wheels",intro:"Filter by brand, colour, size and fitment to find your set."},qS={label:"List",defaultProps:{heading:"",intro:"",askForCar:!0,gateHeading:"",gateIntro:"",kinds:[...Od],perPage:24,columns:Yn,defaultSort:"recommended",coverIndex:String(1),showInStock:!0,showCollection:!0,showPrice:!0},render:e=>IG(vh,{titleLevel:e.titleLevel,heading:x(e.heading,lt.heading,e.puck),intro:x(e.intro,lt.intro,e.puck),askForCar:e.askForCar!==!1,gateHeading:Y(e.gateHeading),gateIntro:Y(e.gateIntro),perPage:e.perPage,columns:e.columns,defaultSort:Ta(e.defaultSort),coverIndex:c8(e.coverIndex),cardImage:e.cardImage,spinOnHover:e.spinOnHover===!0,imageBackground:e.imageBackground,showBadge:e.showBadge!==!1,showCardPrice:e.showCardPrice,showCardFinishes:e.showCardFinishes,showCardSizes:e.showCardSizes,showCardBuy:e.showCardBuy,showCardPage:e.showCardPage,outline:P6(e.outline),indexBadge:V6(e.indexBadge),hiddenFacets:av(e),showPrice:e.showPrice,showInStock:e.showInStock!==!1,kinds:e.kinds,products:e.products,wheels:e.wheels,fieldUsage:e.fieldUsage,editing:e.puck?.isEditing})};import{jsx as f7}from"react/jsx-runtime";var Ws=[{value:"showInStock",label:"In stock"},{value:"showCollection",label:"Collection"},{value:"showPrice",label:"Price"}],GG="Brand, Color, Size and PCD follow the product type. Set them in Product types.",WS="root:default-zone";function qG(){let{appState:e,dispatch:t}=OG(i=>i),a=e.ui.itemSelector,c=e.data.content??[],s=a&&(a.zone===void 0||a.zone===WS)?a.index:-1,l=s>=0?c[s]:void 0,o=l?.props??{},r=Ws.filter(i=>o[i.value]!==!1).map(i=>i.value);return f7(ec,{label:"Filters",options:Ws,value:r,onChange:i=>{if(!l||l.type!=="AlloyWheelsListing")return;let n={};for(let h of Ws){let m=i.includes(h.value);o[h.value]!==!1!==m&&(n[h.value]=m)}Object.keys(n).length&&t({type:"replace",destinationZone:WS,destinationIndex:s,data:{...l,props:{...l.props,...n}}})}})}var US=()=>_f({type:"custom",render:()=>f7(If,{})},"always"),KS={fields:{_gHeader:v("Header"),heading:A("Heading",lt.heading),intro:V("Intro",lt.intro),_gResults:v("Products"),kinds:f8("Product types",s8,"None \u2014 this section will be empty"),defaultSort:h1("Opening sort",f7(RG,{}),Object.entries(Fa).map(([e,t])=>({value:e,label:t})),"recommended"),_gFilters:v("Filters"),showInStock:{type:"custom",label:"Filters",options:Ws,render:()=>f7(qG,{})},showCollection:US(),showPrice:US(),_nFieldFilters:v4(GG),_gVehicle:v("Car prompt"),askForCar:e1("Ask for the car first",!0,f7(_G,{})),gateHeading:P("Welcome heading",dh.heading),gateIntro:C1("Welcome intro",dh.intro),...vc({bottomDefault:!0}),...b8({coverHint:"A card's opening picture \u2014 picking another color opens that color's first picture.",spinDefault:!1}),...z8(),_gGrid:v("Grid"),columns:{type:"custom",render:({value:e,onChange:t})=>f7(Qn,{value:e,onChange:t})},perPage:J("Products per page",f7(DG,{}),8,60,4,24)},resolveFields:(e,{fields:t})=>{let a=Xe(Ha(e.props.kinds));return{...t,gateHeading:P("Welcome heading",a.gateHeading),gateIntro:C1("Welcome intro",a.gateIntro)}}};import{useEffect as KG,useState as $G}from"react";function WG(e){return{name:e.name,logo:e.logo,count:e.count}}var ot=null,fh=null;function Us(e=!1){let t=Z2();return!e&&ot&&fh===t||(fh=t,ot=UG(t).catch(()=>(fh===t&&(ot=null),null))),ot}async function UG(e){return e?(await D0.listBrandsForSite(e)).map(WG):null}import{Fragment as jG,jsx as Ks,jsxs as YG}from"react/jsx-runtime";function bh({value:e,onChange:t}){let[a,c]=$G(void 0);KG(()=>{let r=!1;return Us().then(i=>{r||c(i)}),()=>{r=!0}},[]);let s=Array.isArray(e)?e:[],o=[...a??[],...s.filter(r=>!(a??[]).some(i=>i.name===r)).map(r=>({name:r,logo:"",count:0}))].map(r=>({value:r.name,label:r.name,note:String(r.count)}));return YG(jG,{children:[Ks(ec,{label:"Brands",options:o,value:s,onChange:t,emptyLabel:"None"}),a===void 0?Ks("p",{className:"sf-field-hint",children:"Reading this website\u2019s brands\u2026"}):a===null?Ks("p",{className:"sf-field-hint",children:"Could not read this website\u2019s brands. The list above shows only what is already picked \u2014 reopen the panel to try again."}):a.length===0?Ks("p",{className:"sf-field-hint",children:"This website has no brands yet. A brand appears here once it has a product in the catalog."}):null]})}var rt="picks",$S="available",jS=()=>[];function YS(e,t){let a=new Set((e??[]).map(o=>(o??"").trim()).filter(Boolean));if(a.size===0)return[];let c=t??[],s=[],l=new Set;for(let o of c)a.has(o.name)&&(s.push(o),l.add(o.name));for(let o of e??[]){let r=(o??"").trim();!r||l.has(r)||(l.add(r),s.push({name:r,logo:"",count:0}))}return s}import{LogoIcon as XG,HashIcon as JG}from"efficient-easel/icons";import{jsx as XS}from"react/jsx-runtime";var JS={fields:{_gContent:v("Content"),heading:A("Heading","Shop by brand"),button:A("Button","All brands"),link:w1("Link"),[rt]:E0(bh),_gStyle:v("Style"),face:p1("Tile",XS(XG,{}),[{label:"Name",value:"name"},{label:"Mark",value:"mark"}],"name"),showCount:e1("Count",!0,XS(JG,{})),_gLayout:v("Layout")}};import{ColumnsIcon as QG}from"efficient-easel/icons";var M0={num:L.sectionNumber,link:L.viewAll};import{jsx as eq}from"react/jsx-runtime";var QS={fields:{_gHeader:v("Header"),num:A("Number",M0.num),title:V("Heading",L.sectionHeading),description:V("Body",L.body),_gLayout:v("Layout"),columns:J("Columns",eq(QG,{}),2,3,1,3),cardImage:D5()},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.BundleOffer.headRows)};import{StylesIcon as tq}from"efficient-easel/icons";var $s=[{label:"Icon",value:"icon"},{label:"Text",value:"text"}];import{jsx as aq}from"react/jsx-runtime";var eA={fields:{_gStyle:v("Style"),style:p1("Show as",aq(tq,{}),$s,"icon")}};import{HashIcon as lq,SortIcon as oq,LayoutIcon as rq}from"efficient-easel/icons";var tA="The results link is off while the Lugs filter is on. The product listing page filters on bolt pattern and has no lug filter, so a shopper's lug choice could not be carried across \u2014 they would land on a wider set of products than they asked for. Turn Lugs off to use the results link.";function aA(e){let t=[];return e.lugs!=null&&t.push("lugs"),e.priceMin!=null&&t.push("priceMin"),t}function cq(e){return e==="default"?"recommended":e}function sq(e){return{...E5,collections:e.process?[e.process]:[],diameters:e.size!=null?[e.size]:[],finishes:e.finish?[e.finish]:[],priceMax:e.priceMax,sort:cq(e.sort)}}function cA(e,t,a){let c=e.indexOf("#"),s=c===-1?"":e.slice(c),l=c===-1?e:e.slice(0,c),o=l.indexOf("?"),r=o===-1?l:l.slice(0,o),i=new URLSearchParams(o===-1?"":l.slice(o+1));for(let[h,m]of N6(sq(t)))i.set(h,m);H4(i,a);let n=i.toString();return`${r}${n?`?${n}`:""}${s}`}var b7="pills",zh=[{label:"Pills",value:"pills"},{label:"Columns",value:"columns"}];function sA(e){return S3(zh,b7,e)}import{jsx as xh}from"react/jsx-runtime";var iq="follow the product type. Set them in Product types.",lA={fields:{_gPills:v("Filters shown"),showProcess:te("process",!0),showLugs:te("lugs",!0),showPrice:te("price",!0),showVehicle:te("vehicle",!0),_nFieldFilters:kb(["size","finish"],iq),_gBar:v("Bar"),showCount:e1("Result count",!0,xh(lq,{})),showSort:e1("Sort + Clear all",!0,xh(oq,{})),resultsLabel:P("Results button","See all results"),resultsHref:w1("Results link"),resultsBlocked:v4(tA),layout:h1("Layout",xh(rq,{}),zh,b7)},resolveFields:(e,{fields:t})=>{let a=e.props,c={...t};return a.showLugs?(delete c.resultsHref,delete c.resultsLabel):delete c.resultsBlocked,c}};import{jsx as i9,jsxs as oA}from"react/jsx-runtime";function wh({eyebrow:e,title:t,body:a,ctaText:c,ctaHref:s,secondaryText:l,secondaryHref:o,contained:r}){return i9(S0,{contained:r,className:"py-6",children:oA("div",{className:"flex flex-col items-center gap-5 px-6 py-16 text-center max-[800px]:py-10",children:[e&&i9(I1,{text:e,scaled:!1}),t&&i9("h2",{className:"max-w-[720px] font-display text-[min(44px,var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-[800px]:text-[min(30px,var(--sf-heading-max,9999px))]",children:U(t,!1)}),a&&m0(a).map((i,n)=>i9("p",{className:"max-w-[560px] text-[16px] leading-[1.6] opacity-85",children:k(i)},n)),(c||l)&&oA("div",{className:"mt-2 flex items-center gap-6",children:[c&&i9(a3,{href:s||"/checkout",variant:"primary",children:k(c)}),l&&i9("a",{href:o||"#",className:"font-mono text-[13px] uppercase tracking-[0.2em] underline underline-offset-4 opacity-70 hover:opacity-100",children:k(l)})]})]})})}import{jsx as nq}from"react/jsx-runtime";var it={title:"Ready when *you are.*",secondary:"Questions? Talk to us"},rA={label:"Ready-to-Order Banner",defaultProps:{eyebrow:"",title:"",body:"",ctaText:"",ctaHref:"",secondaryText:"",secondaryHref:"",contained:!0},render:({eyebrow:e,title:t,body:a,ctaText:c,ctaHref:s,secondaryText:l,secondaryHref:o,contained:r,puck:i})=>{let n=s3(c,s,i);return nq(wh,{eyebrow:x(e,L.eyebrow,i),title:x(t,it.title,i),body:x(a,L.body,i),ctaText:n.text,ctaHref:n.href||"/checkout",secondaryText:x(l,it.secondary,i),secondaryHref:Y(o)||"#",contained:r})}};var iA={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",L.eyebrow),title:V("Heading",it.title),body:V("Body",L.body),_gButton:v("Button"),...T3,secondaryText:A("Secondary button",it.secondary),secondaryHref:w1("Secondary link"),_gLayout:v("Layout")}};import{SettingsField as hq}from"efficient-easel/panel";import{CategoryIcon as mq}from"efficient-easel/icons";import{useEffect as nA,useRef as yh,useState as pq}from"react";var x3=Ba({fetch:(e,t)=>h4.listCategories(e,{visibleOnly:!0,siteId:t}),keyBy:Z2});import{jsx as n3,jsxs as g6}from"react/jsx-runtime";function hA(e){return{id:e.id,name:e.name,slug:e.slug,description:e.description??"",image:e.image??""}}function kh({value:e,onChange:t}){let a=u4(),[c,s]=pq(null),l=yh(!0),o=yh(e);o.current=e;let r=yh(t);r.current=t;let i=(g=!1)=>x3(g).then(z=>(l.current&&s(z),z)),n=g=>{let z=o.current;if(!z?.id)return;let f=g.find(y=>y.id===z.id);if(!f)return;let b=hA(f);a5(b,z)&&r.current(b)};nA(()=>(l.current=!0,i().then(n),()=>{l.current=!1}),[]),nA(()=>nf(()=>{i(!0).then(n)}),[]);let h=g=>{if(!g){t(null);return}let z=(c??[]).find(f=>f.id===g);z&&t(hA(z))},m=()=>{e?.id&&a.send("storefront-editor:open-category",{categoryId:e.id,name:e.name})},p=c===null,u=!!e?.id&&!(c??[]).some(g=>g.id===e.id),d=Kb(e?.image);return g6("div",{children:[n3(hq,{label:"Collection",icon:n3(mq,{}),children:g6("select",{value:e?.id??"",onChange:g=>h(g.target.value),disabled:p,children:[n3("option",{value:"",children:p?"Loading\u2026":"None"}),u?g6("option",{value:e.id,children:[e.name," (unavailable)"]}):null,(c??[]).map(g=>n3("option",{value:g.id,children:g.name},g.id))]})}),e?.id?g6("div",{className:"sf-blogsource",style:{marginTop:9},children:[g6("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[g6("div",{children:[n3("div",{className:"sf-field-label",style:{opacity:.6},children:"Name"}),n3("div",{style:{fontWeight:600},children:e.name})]}),g6("div",{children:[n3("div",{className:"sf-field-label",style:{opacity:.6},children:"Description"}),n3("div",{style:{fontSize:13,opacity:e.description?.85:.5},children:e.description||"No description yet"})]}),g6("div",{children:[n3("div",{className:"sf-field-label",style:{opacity:.6},children:"Image"}),d?n3("img",{src:d,alt:"",style:{width:"100%",height:96,objectFit:"cover",borderRadius:8}}):n3("div",{style:{fontSize:13,opacity:.5},children:"No image yet"})]})]}),n3("button",{type:"button",className:"sf-blogsource-btn",style:{marginTop:10},onClick:m,children:"Edit category \u270E"}),n3("p",{className:"sf-blogsource-hint",children:"Name, description and image come from Storefront \u2192 Categories. Edit them there \u2014 this card updates to match."})]}):n3("p",{className:"sf-blogsource-hint",style:{marginTop:7},children:"Pick a category from Storefront \u2192 Categories to fill this card\u2019s name, description and image. That content is edited in the category."})]})}import{jsx as uq}from"react/jsx-runtime";var mA={fields:{_gContent:v("Content"),collection:{type:"custom",render:({value:e,onChange:t})=>uq(kh,{value:e,onChange:t})},altName:g8(n1("Alt name")),tag:A("Tag",L.eyebrow),_gLink:v("Link"),href:w1("Link")}};import{ColumnsIcon as xq,HashIcon as wq}from"efficient-easel/icons";import{useId as gq}from"react";import{Fragment as pA,jsx as z7,jsxs as Mh}from"react/jsx-runtime";function dq({editing:e,nodeId:t,children:a}){return!e||!t?z7(pA,{children:a}):z7(Y6,{nodeId:t,sectionType:"Collections",children:a})}var vq="px-[var(--sf-site-gutter,40px)] py-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-[70px]",fq="px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-0 max-[800px]:pb-[70px]",bq={2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5"};function Ch({eyebrow:e,heading:t,columns:a,showPrice:c,cardStyle:s,layout:l,limit:o,cards:r,omitHead:i=!1,nodeId:n,partStyles:h,editing:m=!1}={}){let p=`cg-${gq().replace(/:/g,"")}`,u=typeof o=="number"&&o>0,d=l==="list"?"grid-cols-1":a===void 0?"grid-cols-3":bq[Math.min(5,Math.max(2,Math.round(a)))]??"grid-cols-3";return Mh("section",{className:i?fq:vq,children:[i?null:z7(j1,{num:e!==void 0?e:"01 / Collections",accentNum:!0,title:t!==void 0?U(t,!1):Mh(pA,{children:["Three ranges,",z7("br",{}),"one standard."]}),link:{text:"View all",href:"/wheels"}}),r&&z7(dq,{editing:m,nodeId:n,children:Mh($b.Provider,{value:{showPrice:c,cardStyle:s,partStyles:h,editing:m},children:[u&&z7("style",{children:`.${p} > *:nth-child(n+${o+1}){display:none}`}),z7(r,{className:`${p} grid ${d} gap-4 max-[800px]:grid-cols-1 max-[800px]:gap-3`,minEmptyHeight:260})]})})]})}import{jsx as zq}from"react/jsx-runtime";var Lh={cards:{type:"slot"}},uA={label:"Collections",fields:Lh,defaultProps:{columns:3,limit:6},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return zq(Ch,{eyebrow:a(V0(e.eyebrow,L.sectionNumber,e.puck)),heading:a(V0(e.heading,L.sectionHeading,e.puck)),omitHead:t,nodeId:typeof e.id=="string"?e.id:void 0,partStyles:r8(e),editing:e.puck?.isEditing,columns:e.columns,limit:e.limit,cards:e.cards})}};import{jsx as gA}from"react/jsx-runtime";var dA={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",L.sectionNumber),heading:V("Heading",L.sectionHeading),cardList:N0("Collections","Cards"),cards:Lh.cards,_gLayout:v("Layout"),columns:J("Columns",gA(xq,{}),2,5,1,3),limit:J("Collections to display",gA(wq,{}),1,8,1,6)},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.Collections.headRows)};import{useEffect as tW,useId as aW,useState as cW}from"react";import{useId as Aq}from"react";import{Fragment as Cq,jsx as F4,jsxs as n9}from"react/jsx-runtime";var yq=[],kq="View tyre",Mq="flex flex-col bg-[var(--card-bg)] p-5";function vA(e,t){let a=e?Md(e):"";return[Mq,t?"relative":"",a].filter(Boolean).join(" ")}function nt({outline:e,showIndex:t=!1,size:a,specs:c,prices:s,image:l,inStock:o,href:r,linkLabel:i=kq,imageSizes:n="(max-width: 720px) 100vw, (max-width: 1100px) 50vw, 33vw",fieldUsage:h=yq,currency:m,formatPrice:p}){let u=od(s,m),d=u===null?t8:p(u),g=Hd(h),z=[["load_index","Load index",c.loadIndex],["speed_rating","Speed",c.speedRating],["construction","Construction",c.construction],["tire_type","Type",c.tireType]].filter(([,,y])=>!!y).filter(([y])=>g(y)),f=n9(Cq,{children:[F4(n8,{image:l,size:a,type:c.tireType,sizes:n}),F4("h3",{className:"mt-4 font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-tight",children:a}),c.treadPattern?F4("div",{className:"mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-accent",children:c.treadPattern}):null,z.length>0&&F4("dl",{className:"mt-3 flex flex-col gap-1.5 font-mono text-[length:var(--size-label,12px)]",children:z.map(([y,C,S])=>n9("div",{className:"flex items-baseline justify-between gap-3",children:[F4("dt",{className:"uppercase tracking-[0.14em] text-fg-dim",children:C}),F4("dd",{className:"text-right text-fg",children:S})]},y))}),n9("div",{className:"mt-4 flex items-baseline justify-between gap-3 border-t border-line pt-3 font-mono text-[length:var(--size-label,13px)]",children:[F4("span",{className:"text-fg",children:d}),F4("span",{style:o?{color:"var(--green)"}:void 0,className:o?void 0:"text-fg-dim",children:o?"In stock":"Out of stock"})]})]}),b=t?F4("span",{"aria-hidden":!0,className:`${Ma} ${Ca}`}):null;return r?n9(r0,{href:r,"aria-label":a?`View ${a} tyre`:"View this tyre",className:`group ${vA(e,t)}`,children:[b,f,n9("span",{className:"mt-3 inline-flex items-center gap-2 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent transition-colors group-hover:text-fg",children:[i,F4("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]})]}):n9("div",{className:vA(e,t),children:[b,f]})}import{jsx as Lq,jsxs as Sq}from"react/jsx-runtime";function ht({href:e,label:t}){return Sq(r0,{href:e,"data-view-more":!0,className:"inline-flex items-center gap-3 self-start border-b border-line pb-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg transition-colors hover:text-fg-dim",children:[t,Lq("span",{"aria-hidden":!0,children:"\u2192"})]})}import{Fragment as Tq,jsx as T4,jsxs as Sh}from"react/jsx-runtime";var Hq="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",fA={2:"grid grid-cols-2 gap-2 max-[720px]:grid-cols-1",3:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",4:"grid grid-cols-4 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1"};function Ah({num:e,title:t,description:a,tyres:c,footnote:s,footnoteLinkText:l,footnoteLinkHref:o,viewMore:r,editing:i=!1,frameClassName:n=Hq,omitHead:h=!1,columns:m=3,capWidth:p,cardImage:u,outline:d,indexBadge:g}){let{currency:z,formatPrice:f}=F0(),b=c??[],y=`ct-${Aq().replace(/:/g,"")}`,C=g??m4,S=a8(y,C),H=b.some(q=>!q.image),_=[s,H?Ia:null].filter(Boolean).join(" "),Z=h?null:T4(j1,{num:e!=null?k(e):void 0,title:t!=null?U(t,!1):void 0,description:a!=null?k(a):void 0,accent:!0});return b.length===0?i?Sh("section",{className:n,children:[Z,T4("p",{className:"border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"No compatible tyres found for this wheel\u2019s sizes yet \u2014 tyres appear automatically when a matching size is active and priced in the catalog."})]}):null:Sh("section",{className:n,style:U2(u),children:[S&&T4("style",{children:S}),Sh(Fq,{px:p,children:[Z,T4("div",{className:`${S?`${y} `:""}${fA[m]??fA[3]}`,children:b.map(q=>T4(nt,{outline:d,showIndex:C!=="off",size:q.size,specs:q.specs,prices:q.prices,image:q.image,inStock:q.inStock,href:Gv(q.slug),currency:z,formatPrice:f},q.sku))}),r&&T4("div",{className:"mt-10 flex",children:T4(ht,{href:r.href,label:r.label})}),T4(B5,{text:_,linkText:l,linkHref:o})]})]})}function Fq({px:e,children:t}){return typeof e!="number"?T4(Tq,{children:t}):T4("div",{style:A5(e),children:t})}import{createContext as Vq,useContext as Pq,useMemo as Eq}from"react";function bA(e,t=[]){let a=$f(Wf(),e),c=t.find(s=>{let l=(s?.url??"").trim();return!l||l==="#"||Kf(l)!==e?!1:Uf(l).startsWith("/")});return c?c.url:a}function zA(e){let t=[];for(let a of e??[]){typeof a?.url=="string"&&t.push({url:a.url});for(let c of a?.dropdownItems??[])typeof c?.url=="string"&&t.push({url:c.url})}return t}import{jsx as Bq}from"react/jsx-runtime";var xA=Vq([]);function Vx1({items:e,children:t}){let a=Eq(()=>zA(e),[e]);return Bq(xA.Provider,{value:a,children:t})}function wA(){return Pq(xA)}import{createContext as Oq,useContext as Gq,useMemo as Jx1}from"react";import{jsx as Hh,jsxs as Nq}from"react/jsx-runtime";function h9({item:e,onClose:t}){return e?Nq("div",{role:"dialog","aria-modal":"true","aria-label":e.alt,onClick:t,className:"fixed inset-0 z-[100] flex cursor-zoom-out items-center justify-center bg-overlay-scrim/90 p-6 backdrop-blur-sm max-[720px]:p-3",children:[Hh("img",{src:e.src,alt:e.alt,className:"block max-h-[92vh] max-w-[92vw] cursor-zoom-out object-contain"}),Hh("button",{type:"button",onClick:t,"aria-label":"Close",className:"absolute right-5 top-5 flex h-10 w-10 items-center justify-center border border-fg-dim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\xD7"}),Hh("span",{className:"absolute bottom-5 left-5 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:e.alt})]}):null}import{useEffect as Zq,useState as Iq}from"react";function mt(){let[e,t]=Iq(null);return Zq(()=>{if(!e)return;let a=s=>{s.key==="Escape"&&t(null)};window.addEventListener("keydown",a);let c=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",a),document.body.style.overflow=c}},[e]),{item:e,open:(a,c)=>t({src:a,alt:c}),close:()=>t(null)}}import{useEffect as Dq,useState as m9}from"react";function Rq(e,t,a){let c=new Map;for(let s of e){let l=JSON.stringify(t.map(i=>s.options[i]??null)),o=c.get(l);o||c.set(l,o=new Set);let r=s.options[a];r!==void 0&&o.add(r)}return[...c.values()]}function yA(e,t,a){return a.every(c=>t[c]===void 0||e.options[c]===t[c])}function Fh(e,t){let a={};for(let c of e.optionFields){let s=t[c.key]??c.defaultValue;s!==void 0&&(a[c.key]=s)}return a}function js(e,t){return MA(e,t).rows}function kA(e,t){return MA(e,t).facts}function MA(e,t){let a=Fh(e,t),c=e.optionFields.filter(r=>r.role==="resolves").map(r=>r.key),s=[],l=[],o=[];for(let r of e.optionFields){let i=e.optionValues[r.key]??[],n=e.parts.filter(d=>yA(d,a,o)),h=new Set(n.map(d=>d.options[r.key]).filter(d=>d!==void 0)),m=new Set(e.parts.map(d=>d.options[r.key]).filter(d=>d!==void 0)),p=i.filter(d=>h.has(d.value)||!m.has(d.value));if(r.role==="resolves"?!0:Rq(n,c,r.key).some(d=>d.size>1))s.push({key:r.key,label:r.label,prompt:r.prompt,role:r.role,display:r.display,values:p,chosen:t[r.key]??null,empty:r.empty}),o.push(r.key);else if(h.size===1){let[d]=[...h];l.push({key:r.key,label:r.label,value:i.find(g=>g.value===d)??{value:d,label:d}})}}return{rows:s,facts:l}}function _q(e,t){return js(e,t).map(a=>a.key)}function CA(e,t){let a=_q(e,t);if(a.length===0||a.some(s=>t[s]===void 0))return null;let c=e.parts.filter(s=>yA(s,t,a));return c.length===1?c[0]:null}function LA(e,t){let a=js(e,t);return Object.keys(t).filter(c=>{let s=a.find(l=>l.key===c);return s?!s.values.some(l=>l.value===t[c]):!1})}function Ys(e,t){return e.filter(a=>!t||a.values.length>0).filter(a=>a.role==="resolves").every(a=>a.chosen!==null)}function SA({variants:e,inStock:t,priced:a}){return a&&t===!0&&(e??[]).length===0}function pt(e,{editing:t=!1}={}){let[a,c]=m9({}),[s,l]=m9(Do.qty),[o,r]=m9(Do.choice),[i,n]=m9(0),[h,m]=m9(!1),[p,u]=m9(!1),d=E3({editing:t,autoApply:!0}),g=qv(e,p?null:d.fit),z=js(g,a),f=kA(g,a),b=Fh(g,a),y=CA(g,a),C=y!=null&&!y.inStock,S=LA(g,a).join("|");Dq(()=>{if(!S)return;let Q=new Set(S.split("|"));c(K=>{let a1={...K};for(let B1 of Q)delete a1[B1];return a1})},[S]);let{currency:H}=F0(),Z=$v(g,y,{choice:o,qty:s}),q=za({prices:e.anchorPrices,msrpPrices:e.anchorMsrpPrices},y?{components:Z.components}:null,H,s),j=q.unit??0,B=q.setTotal??0,N=wa(q,H),D=p||d.appliedName!=="",T=Uv(e)==="required"?D:!0,i1=z.every(Q=>Q.chosen!==null)&&T&&y!=null&&y.inStock&&q.priced,O=SA({variants:e.parts,inStock:e.inStock,priced:q.priced});function m1(Q,K){c(a1=>({...a1,[Q]:K}))}return{picked:a,shown:b,pick:m1,qty:s,setQty:l,choice:o,setChoice:r,angleIdx:i,setAngleIdx:n,showValidation:h,setShowValidation:m,manualMode:p,setManualMode:u,vehicle:d,fitmentSet:D,rows:z,facts:f,part:y,outOfStock:C,offer:Z,preOrder:O,canAddToCart:i1,currency:H,price:q,unit:j,set:B,msrpLabel:N}}import{jsx as sw1,jsxs as lw1}from"react/jsx-runtime";var qq=Oq(null);function A0(){return Gq(qq)}import{Fragment as Wq,jsx as AA,jsxs as Uq}from"react/jsx-runtime";function e2({kinds:e,type:t,editing:a=!1,children:c}){let s=A0();return!s||e.includes(s.product.kind)?AA(Wq,{children:c}):a?AA("section",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-14 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-10",children:Uq("p",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:[O9[t]??t," does not apply to ",E6[s.product.kind],". It is hidden on the live page."]})}):null}var Th=2,ut=6,gt=12;function Xs(e){return typeof e!="number"||!Number.isFinite(e)?ut:Math.min(gt,Math.max(Th,Math.round(e)))}function HA(e,t=[]){return{href:bA(e.to,t),label:`View more ${V5([e.to]).many}`}}var Kq={kind:"tyre",tyres:[]},$q={kind:"alloy-wheel",wheels:[]},FA=[{key:"tyres-that-fit",label:"Tyres that fit this product",from:["alloy-wheel"],to:"tyre",heading:"Compatible *tyres.*",resolve:e=>e.kind==="alloy-wheel"?{kind:"tyre",tyres:e.source.compatibleTyres??[]}:Kq},{key:"wheels-that-fit",label:"Wheels this product fits",from:["tyre"],to:"alloy-wheel",heading:"Wheels that *fit.*",resolve:(e,t)=>e.kind==="tyre"?{kind:"alloy-wheel",wheels:t}:$q},{key:"more-like-this",label:"More like this",from:["alloy-wheel"],to:"alloy-wheel",heading:"Others you might *like.*",resolve:(e,t)=>({kind:"alloy-wheel",wheels:t})}],V4="more-like-this",TA=FA.map(e=>({value:e.key,label:e.label}));function Vh(e){return FA.find(t=>t.key===e)}function VA(e,t){return e.from.includes(t)}var PA=["coverIndex","imageBackground","spinOnHover","showBadge"];function EA(e){return Vh(e)?.to==="tyre"}var Ph={GBP:0,USD:0,AUD:0},Yq=[{diameter:18,width:8.5,boltPattern:"5\xD7112",centreBore:66.6,et:35},{diameter:19,width:9,boltPattern:"5\xD7112",centreBore:66.6,et:38},{diameter:20,width:9.5,boltPattern:"5\xD7112",centreBore:66.6,et:40}],NA=[{name:"Finish 1",color:"#171717",family:"black",src:"",features:[1,2,3].map(e=>({eyebrow:"Feature eyebrow",heading:"Feature title",description:"Feature description \u2014 replace this with your own copy.",mark:`0${e} \xB7 Feature`,image:""}))},{name:"Finish 2",color:"#cccccc",family:"silver",src:""},{name:"Finish 3",color:"#8a6438",family:"bronze",src:""}],Xq=[{partNumber:"SAMPLE-18",diameter:18,width:8.5,holes:5,pcd:"112",et:35,cb:66.6,cap:"\u2014",boltPattern:"5\xD7112",loadRating:"000 kg",inStock:!0},{partNumber:"SAMPLE-19",diameter:19,width:9,holes:5,pcd:"112",et:38,cb:66.6,cap:"\u2014",boltPattern:"5\xD7112",loadRating:"000 kg",inStock:!0},{partNumber:"SAMPLE-20",diameter:20,width:9.5,holes:5,pcd:"112",et:40,cb:66.6,cap:"\u2014",boltPattern:"5\xD7112",loadRating:"000 kg",inStock:!0}],Jq=NA.flatMap(e=>Yq.map((t,a)=>({finishName:e.name,size:`${t.diameter}" \xD7 ${t.width} \xB7 ${t.boltPattern} \xB7 ${t.centreBore} bore \xB7 ET ${t.et}`,kind:"squared",directional:!1,components:[{partNumber:`SAMPLE-${e.name.replace(/\s+/g,"")}-${a}`,wheels:4,prices:{...Ph},hand:null}],inStock:!0,rearWidth:null,rearEt:null,...t}))),BA=e=>`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="640" height="640"><rect width="640" height="640" fill="#e6e6e6"/><text x="320" y="332" font-family="sans-serif" font-size="30" fill="#8f8f8f" text-anchor="middle">${e}</text></svg>`)}`,p9=e=>({url:BA(e),thumbnailUrl:BA(e),kind:"image"}),Qq={photos:[{name:"Studio set",finish:"Finish 1",items:[p9("Sample photo 1"),p9("Sample photo 2"),p9("Sample photo 3")]}],lifestyle:[{name:"On location",finish:"",items:[p9("Lifestyle 1"),p9("Lifestyle 2")]},{name:"In the city",finish:"",items:[p9("Lifestyle 3")]}],videos:[],accessories:[],others:[]},eW=[1,2].map(e=>({sku:`SAMPLE-TYRE-${e}`,size:"000/00 R00",specs:{loadIndex:"00",speedRating:"\u2014",construction:"\u2014",treadPattern:"Tyre model",tireType:"\u2014"},prices:{...Ph},image:null,inStock:!0,slug:null})),Eh={bundles:[],name:"Product Name",slug:"sample-product",process:"Precision Forged",categories:["Precision Forged"],sizes:[18,19,20],prices:{...Ph},msrpPrices:{GBP:null,USD:null,AUD:null},spokes:5,mesh:!1,badge:null,finishes:NA,spec:{lugs:5,sizes:[18,19,20],widths:[8.5,9,9.5],pcds:["5\xD7112"],etRange:[35,42],centreBores:[66.6],loadRating:"000 kg / 000 lbs",cap:"",bumpProfile:"",rimProfile:""},coverImage:null,defaultFinish:null,description:"Product description \u2014 replace this with your own copy.",fitments:Xq,photoSets:[],carPhotos:[],details:[],videos:[],mediaGroups:Qq,relatedProducts:[],variants:Jq,pdpTemplateSlug:null,compatibleTyres:eW},Bh=Array.from({length:gt},(e,t)=>t+1).map(e=>({...Eh,name:`Product ${e}`,slug:`sample-product-${e}`}));import{Fragment as rW,jsx as D2,jsxs as Js}from"react/jsx-runtime";var sW=T5,ZA={2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1"};function x7(e){return D2(e2,{kinds:sW,type:"RelatedProducts",editing:e.editing,children:D2(lW,{...e})})}function lW({num:e,title:t,description:a,columns:c=3,cardCount:s,relationship:l=V4,footnote:o,footnoteLinkText:r,footnoteLinkHref:i,editing:n=!1,omitHead:h=!1,cardImage:m,outline:p,indexBadge:u,showBadge:d,showCardPrice:g,showCardFinishes:z,showCardSizes:f,showCardBuy:b,showCardPage:y,coverIndex:C,imageBackground:S,spinOnHover:H,capWidth:_}){let Z=A0(),q=wA(),j=Xs(s),[B,N]=cW([]);tW(()=>{if(Z||!n)return;let O=!1;return e3().then(m1=>{let Q=m1.length>0?m1:Bh;O||N(Q)}).catch(()=>{O||N(Bh)}),()=>{O=!0}},[Z,n]);let D=Vh(l);if(!D)return null;let T=HA(D,q),R=h?null:D2(j1,{num:e?k(e):void 0,title:U(t||D.heading,!1),description:a?k(a):void 0,accent:!0});if(!Z)return n?D2(IA,{header:R,wheels:B.slice(0,j),columns:c,viewMore:T,cardImage:m,outline:p,indexBadge:u,showBadge:d,showCardPrice:g,showCardFinishes:z,showCardSizes:f,showCardBuy:b,showCardPage:y,coverIndex:C,imageBackground:S,spinOnHover:H,capWidth:_}):null;if(!VA(D,Z.product.kind))return n?D2("section",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-14 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-10",style:U2(m),children:Js("p",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:["\u201C",D.label,"\u201D does not apply to this product. It is hidden on the live page."]})}):null;let i1=D.resolve(Z.product,Z.relatedWheels);return i1.kind==="tyre"?D2(Ah,{omitHead:h,columns:c,capWidth:_,cardImage:m,outline:p,indexBadge:u,num:e,title:t||D.heading,description:a,tyres:[...i1.tyres].slice(0,j),footnote:o,footnoteLinkText:r,footnoteLinkHref:i,viewMore:T,editing:n}):i1.wheels.length===0?n?Js("section",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",style:U2(m),children:[R,D2("p",{className:"border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"Related products appear here on a product page."})]}):null:D2(IA,{header:R,wheels:[...i1.wheels].slice(0,j),columns:c,viewMore:T,cardImage:m,outline:p,indexBadge:u,showBadge:d,showCardPrice:g,showCardFinishes:z,showCardSizes:f,showCardBuy:b,showCardPage:y,coverIndex:C,imageBackground:S,spinOnHover:H,capWidth:_})}function IA({header:e,wheels:t,columns:a,viewMore:c,cardImage:s,outline:l,indexBadge:o,showBadge:r,showCardPrice:i,showCardFinishes:n,showCardSizes:h,showCardBuy:m,showCardPage:p,coverIndex:u,imageBackground:d,spinOnHover:g,capWidth:z}){let f=`rp-${aW().replace(/:/g,"")}`;if(t.length===0)return null;let b=ZA[Math.min(4,Math.max(2,a))]??ZA[3],y=o??m4,C=a8(f,y);return Js("section",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",style:U2(s),children:[C&&D2("style",{children:C}),Js(oW,{px:z,children:[e,D2(Zd,{imageBackgroundFill:va(d,Og),spinOnHover:g??!0,coverIndex:u??1,outline:l??F5,indexBadge:y,showBadge:r??!0,showCardPrice:i??!0,showCardFinishes:n??!0,showCardSizes:h??!1,showCardBuy:m??!1,showCardPage:p??!1,children:D2("div",{className:`${f} grid gap-[2px] bg-[var(--catalog-grid-bg)] ${b}`,children:t.map((S,H)=>D2(xv,{wheel:S,variant:"catalog"},`${S.slug}-${H}`))})}),D2("div",{className:"mt-10 flex",children:D2(ht,{href:c.href,label:c.label})})]})]})}function oW({px:e,children:t}){return typeof e!="number"?D2(rW,{children:t}):D2("div",{style:A5(e),children:t})}import{jsx as iW}from"react/jsx-runtime";var X3={num:L.sectionNumber,title:"Compatible *tyres.*",description:L.body,footnote:"Tyres shown are fitment-matched companions.",footnoteLinkText:"Enquire about tyres"},RA={label:"Compatible Tyres",defaultProps:{num:"",title:"",description:"",footnote:"",footnoteLinkText:"",footnoteLinkHref:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return iW(x7,{num:a(x(e.num,X3.num,e.puck)),title:a(x(e.title,X3.title,e.puck)),description:a(x(e.description,X3.description,e.puck)),omitHead:t,footnote:x(e.footnote,X3.footnote,e.puck),footnoteLinkText:x(e.footnoteLinkText,X3.footnoteLinkText,e.puck),footnoteLinkHref:Y(e.footnoteLinkHref),relationship:"tyres-that-fit",cardImage:e.cardImage,editing:e.puck?.isEditing})}};var _A={fields:{_gContent:v("Header"),num:A("Number",X3.num),title:A("Heading",X3.title),description:V("Body",X3.description),_gFootnote:v("Footnote"),footnote:V("Footnote",X3.footnote),footnoteLinkText:A("Footnote button",X3.footnoteLinkText),footnoteLinkHref:w1("Footnote link"),_gCards:v("Cards"),cardImage:D5()},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.CompatibleTyres.headRows)};var DA={fields:{}};import{SettingsIcon as dW,AccentIcon as vW}from"efficient-easel/icons";import{jsx as P4,jsxs as Nh}from"react/jsx-runtime";var nW="py-6",hW="pt-0 pb-6";function dt({eyebrow:e,title:t,body:a,options:c=[],highlightBadge:s,contained:l,omitHead:o=!1}){return P4(S0,{contained:l,className:o?hW:nW,children:Nh("div",{className:"flex flex-col gap-6",children:[o?null:e||t||a?Nh("div",{className:"flex max-w-[680px] flex-col gap-3",children:[e&&P4(I1,{text:e,scaled:!1}),t&&P4("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:U(t,!1)}),a&&m0(a).map((r,i)=>P4("p",{className:"text-[15px] leading-[1.6] opacity-85",children:k(r)},i))]}):null,c.length>0&&P4("ul",{className:"grid grid-cols-3 gap-4 max-[800px]:grid-cols-1",children:c.map((r,i)=>Nh("li",{className:`sf-card relative flex flex-col gap-2 border bg-surface px-6 py-6 ${r.highlighted?"border-accent":"border-line"}`,children:[r.highlighted&&s&&P4("span",{className:"absolute -top-2.5 left-5 bg-bg px-2 font-mono text-[10px] uppercase tracking-[0.25em] text-accent",children:k(s)}),r.name&&P4("span",{className:"text-[17px] font-medium",children:k(r.name)}),r.eta&&P4("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] opacity-60",children:k(r.eta)}),r.blurb&&P4("p",{className:"text-[13.5px] leading-[1.6] opacity-75",children:k(r.blurb)}),r.price&&P4("span",{className:"mt-auto pt-2 font-display text-[20px] font-medium text-accent",children:k(r.price)})]},i))})]})})}import{useEffect as mW,useState as pW}from"react";import{jsx as uW}from"react/jsx-runtime";function Zh({eyebrow:e,title:t,body:a,highlightBadge:c,contained:s,omitHead:l=!1}){let{currency:o,formatMoney:r}=F0(),[i,n]=pW(null);mW(()=>{let m=!1;return D0.listShippingMethods().then(p=>{m||n(p)}).catch(()=>{m||n([])}),()=>{m=!0}},[]);let h=(i??[]).filter(m=>m.prices[o]!=null).map(m=>{let p=m.prices[o],u=p===0?"Free":r(p,o),d=m.pickupLocation;return{name:d?`${m.name} \u2014 ${d.name}`:m.name,eta:d?d.openingHours||void 0:m.description||void 0,price:m.requiresQuote&&p!==0?`From ${u}`:u,blurb:d&&[d.address,d.city,d.state].filter(Boolean).join(", ")||void 0}});return uW(dt,{eyebrow:e,title:t,body:a,options:h,highlightBadge:c,contained:s,omitHead:l})}import{jsx as OA}from"react/jsx-runtime";var w7={title:"Delivery, your way",badge:"Recommended"},gW=[{name:"Standard",eta:"5\u20137 business days",price:"Free",blurb:"Tracked to your door."},{name:"Express",eta:"2\u20133 business days",price:"$00",blurb:"Priority handling.",highlighted:!0},{name:"Pickup",eta:"Same day",price:"Free",blurb:"Collect from the warehouse."}],GA={label:"Delivery Options",defaultProps:{eyebrow:"",title:"",body:"",options:[],live:!0,highlightBadge:"",contained:!0},render:e=>{let t=P1(e.headPlacement)==="own-box",a=m=>t?void 0:m,{eyebrow:c,title:s,body:l,options:o,live:r,highlightBadge:i,contained:n,puck:h}=e;return r?OA(Zh,{eyebrow:a(x(c,L.eyebrow,h)),title:a(x(s,w7.title,h)),body:a(x(l,L.body,h)),omitHead:t,highlightBadge:x(i,w7.badge,h),contained:n}):OA(dt,{eyebrow:a(x(c,L.eyebrow,h)),title:a(x(s,w7.title,h)),body:a(x(l,L.body,h)),omitHead:t,options:d1(o,gW,h),highlightBadge:x(i,w7.badge,h),contained:n})}};import{jsx as qA}from"react/jsx-runtime";var WA={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",L.eyebrow),title:V("Heading",w7.title),body:V("Body",L.body),_gOptions:v("Options"),live:e1("Use my real delivery options",!0,qA(dW,{})),options:{type:"array",label:"Delivery options",arrayFields:{name:n1("Name"),eta:n1("Window"),price:n1("Price"),blurb:C1("Body"),highlighted:e1("Highlight",!1,qA(vW,{}))},getItemSummary:e=>e.name||"Option"},highlightBadge:A("Highlight badge",w7.badge),_gLayout:v("Layout")},resolveFields:(e,{fields:t})=>E1(t,e.props.headPlacement,F1.DeliveryOptions.headRows)};import{ProductFieldIcon as EW,WordsFromIcon as BW,SquareIcon as sH,ImageIcon as NW}from"efficient-easel/icons";import{jsx as E4,jsxs as Qs}from"react/jsx-runtime";function vt({rows:e,startLeft:t=!1,layout:a="even",padTop:c,padBottom:s,editing:l=!1}){let o=a==="narrow",r=typeof c=="number"?c:100,i=typeof s=="number"?s:100,n=(e??[]).filter(m=>(m?.eyebrow??"").trim()||(m?.title??"").trim()||(m?.copy??"").trim()||(m?.tag??"").trim()||(m?.image??"").trim()),h=n.length>0?n:l?[{tag:"Row 1"},{tag:"Row 2"},{tag:"Row 3"}]:[];return h.length===0?null:E4("section",{className:"relative z-[2] mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line bg-bg px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",style:{paddingTop:r,paddingBottom:i},children:h.map((m,p)=>{let u=p%2===1!==t;return Qs("div",{className:["grid items-center py-[60px]",o?"grid-cols-[1fr_460px] gap-[72px]":"grid-cols-2 gap-12","max-[1100px]:grid-cols-1",u?"[direction:rtl] max-[1100px]:[direction:ltr]":"",p>0?"border-t border-line":""].join(" "),children:[Qs("div",{className:["[direction:ltr] flex flex-col gap-4",o?"max-w-[560px]":"",o&&!u?"ml-auto max-[1100px]:ml-0":""].join(" "),children:[m.eyebrow?.trim()&&E4("div",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-accent",children:d0(m.eyebrow)}),m.title?.trim()&&E4("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(28px,3vw,42px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[1.1] tracking-[-0.02em]",children:k(m.title,!0)}),m.copy?.trim()&&E4("p",{className:"text-[length:var(--size-body,15px)] leading-[1.6] text-fg-dim",children:k(m.copy,!1)}),(()=>{let d=(m.specs??[]).filter(g=>(g?.label??"").trim()||(g?.value??"").trim());return d.length===0?null:E4("dl",{className:"mt-2 border-t border-line pt-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.1em] leading-[2.1]",children:d.map((g,z)=>Qs("div",{className:"flex items-baseline justify-between gap-6",children:[E4("dt",{className:"text-fg-dim",children:d0(g.label??"")}),E4("dd",{className:"text-fg",children:d0(g.value??"")})]},z))})})()]}),Qs("div",{className:["[direction:ltr] flex flex-col gap-3",o?u?"items-end":"items-start":"",o?"max-[1100px]:items-start":""].join(" "),children:[E4("div",{className:["relative overflow-hidden max-w-full",o?m.imageShape==="wide"?"w-[460px] aspect-[16/9]":"w-[360px] aspect-square":"aspect-square"].join(" "),children:E4(T0,{label:m.tag?.trim()||m.title?.trim()||`row-${p+1}`,src:m.image||void 0,objectFit:"contain",sizes:o?"(max-width: 1100px) 100vw, 460px":"(max-width: 1100px) 100vw, 50vw"})}),m.tag?.trim()&&E4("span",{className:`font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.2em] text-fg-dim ${u?"text-left":"text-right"}`,children:d0(m.tag)})]})]},p)})})}function UA(e,t){let a=e?.detailShots;if(!Array.isArray(a)||a.length===0)return[];let c=a.filter(r=>!!r&&typeof r.url=="string"&&!!r.url&&typeof r.title=="string"&&!!r.title);if(c.length===0)return[];let s=r=>Array.isArray(r.lugs)?r.lugs.filter(i=>typeof i=="number"):[],l=c.filter(r=>s(r).length>0),o=t;if(o==null){let r=l.flatMap(s);o=r.length?Math.min(...r):null}return c.filter(r=>{let i=s(r);return i.length===0?!0:o!=null&&i.includes(o)})}function KA(e,t){let a=Array.isArray(e.lugs)?e.lugs:[];if(a.length===0)return!1;let c=new Set;for(let s of t)for(let l of s.lugs??[])c.add(l);return a.length<c.size}function el(e){return e.manualMode?ka(e.shown.boltPattern).holes:e.vehicle.fit?.holes??null}import{useEffect as CW,useState as LW}from"react";var Ih=[{key:"loadIndex",label:"Load index",prompt:"Select a load index",spec:"loadIndex"},{key:"speedRating",label:"Speed rating",prompt:"Select a speed rating",spec:"speedRating"},{key:"tyreType",label:"Type",prompt:"Select a type",spec:"tireType"}];function tl(e){let t=e.variants??[],a=[];for(let o of t)a.some(r=>r.value===o.size)||a.push({value:o.size,label:o.size});let c={size:a};for(let o of Ih){let r=[];for(let i of t){let n=i.specs[o.spec];!n||r.some(h=>h.value===n)||r.push({value:n,label:n})}c[o.key]=r}let s=t.map(o=>({id:o.sku,options:{size:o.size,...Object.fromEntries(Ih.map(r=>[r.key,o.specs[r.spec]]).filter(([,r])=>!!r))},inStock:o.inStock,image:o.image??null,components:[{partNumber:o.sku,wheels:1,prices:o.prices}]})),l=[{key:"size",label:"Size",prompt:"Select a size",role:"resolves",display:"pill"},...Ih.map(o=>({key:o.key,label:o.label,prompt:o.prompt,role:"describes",display:"pill"}))];return{kind:"tyre",source:e,slug:e.slug,name:e.name,eyebrow:e.brand,badge:"",href:`/tyres/${e.slug}`,crumbs:[{label:"Home",href:"/"},{label:e.name}],cover:e.coverImage??null,inStock:e.inStock,mediaGroups:e.mediaGroups,optionFields:l,optionValues:c,parts:s,anchorPrices:fW(t),anchorMsrpPrices:{}}}function fW(e){let t={};for(let a of e)for(let[c,s]of Object.entries(a.prices??{})){if(typeof s!="number"||!Number.isFinite(s)||s<=0)continue;let l=t[c];(l==null||s<l)&&(t[c]=s)}return t}import{useSyncExternalStore as bW}from"react";var $A="sf-editor-preview-pick",u9=null,Rh=new Set;function _h(){if(u9)return u9;u9={};let e=Q2.getItem($A);if(!e)return u9;try{let t=JSON.parse(e);if(t&&typeof t=="object"&&!Array.isArray(t))for(let[a,c]of Object.entries(t))typeof c=="string"&&(u9[a]=c)}catch{}return u9}function zW(){Q2.setItem($A,JSON.stringify(_h()))}function xW(e,t){return`${e??""}::${t??""}`}function wW(e){return _h()[e]}function jA(e,t){let a=_h();if(a[e]!==t){a[e]=t,zW();for(let c of Rh)c()}}function yW(e){return Rh.add(e),()=>Rh.delete(e)}function YA(e,t){let a=e??t??"";return a.trim()?a:null}function Dh(){return xW(Z2(),_w())}function al(){let e=Dh();return bW(yW,()=>wW(e),()=>{})}var kW={GBP:0,USD:0,AUD:0},MW={loadIndex:"00",speedRating:"\u2014",construction:"Radial",treadPattern:"Tread pattern",tireType:"Season"},XA=["205/55 R16","225/45 R17","245/40 R19"],JA={slug:"sample-tyre",name:"Tyre Model",brand:"Brand",designCode:"SAMPLE",description:"",shortDescription:"Tyre description \u2014 replace this with your own copy.",seoTitle:"",seoDescription:"",coverImage:null,inStock:!0,sizes:[...XA],variants:XA.map(e=>({sku:`SAMPLE-${e.replace(/[^0-9]/g,"")}`,size:e,specs:{...MW},prices:{...kW},image:null,inStock:!0,eprelRegistrationNumber:""})),mediaGroups:{photos:[],lifestyle:[],videos:[],accessories:[],others:[]},compatibleWheels:[],pdpTemplateSlug:null};var QA=null,eH=null,Oh=new Map;function SW(e){let t=p4(),a=Z2();(t!==QA||a!==eH)&&(QA=t,eH=a,Oh.clear());let c=Oh.get(e);return c||(c=t?h4.getWheelDetail(t,e,{siteId:a}).catch(()=>null):Promise.resolve(null),Oh.set(e,c)),c}function AW(e){return e==="tyre"?tl(JA):Y9(Eh)}var ft=["alloy-wheel"];function HW(e,t){return e?Y9(e):AW(t)}function O2(e){let t=YA(al(),qw()),a=Kw(),[c,s]=LW(null);return CW(()=>{if(!e||!t||!ft.includes(a)){s(null);return}let l=!1;return SW(t).then(o=>{l||s(o)}),()=>{l=!0}},[e,t,a]),e?HW(c,a):null}import{jsx as bt}from"react/jsx-runtime";var FW=["alloy-wheel"];function tH(e,t){return e.finishes.find(a=>a.name===t)??e.finishes[0]}function TW(e,t){return(tH(e,t)?.features??[]).map(a=>({eyebrow:a.eyebrow,title:a.heading,copy:a.description,tag:a.mark,image:a.image||void 0}))}function VW(e,t,a){let c=UA(tH(e,t),a);return c.map(s=>({title:s.title,copy:s.line||void 0,image:s.url,tag:a!=null&&KA(s,c)?`Shown for your ${a} lug`:void 0,imageShape:"square"}))}function Gh(e){return bt(e2,{kinds:FW,type:"DetailRows",editing:e.editing,children:bt(PW,{...e})})}function PW({rowsFrom:e,startLeft:t,padTop:a,padBottom:c,editing:s=!1}){let l=A0(),o=O2(s&&!l),r=l?.product??o,i=r?.kind==="alloy-wheel"?r.source:null,n=l?l.selection.shown.finish:void 0,h=l?el(l.selection):null,m=e==="details",p=i?m?VW(i,n,h):TW(i,n):[];return m&&p.length===0?s?bt("section",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-14 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-10",children:bt("p",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"No detail shots on this finish yet. Tick a close-up on the design's renderings and give it a title. This section is hidden on the live page until then."})}):null:bt(vt,{rows:p,startLeft:t,padTop:a,padBottom:c,editing:s})}import{jsx as aH}from"react/jsx-runtime";var qh=[{image:"",eyebrow:"Feature eyebrow",title:"Feature *one.*",copy:"Describe this feature in a sentence or two.",tag:"01 \xB7 Detail"},{image:"",eyebrow:"Feature eyebrow",title:"Feature *two.*",copy:"Describe this feature in a sentence or two.",tag:"02 \xB7 Detail"},{image:"",eyebrow:"Feature eyebrow",title:"Feature *three.*",copy:"Describe this feature in a sentence or two.",tag:"03 \xB7 Detail"}],cH={label:"Feature Rows",defaultProps:{dynamic:!1,rows:[],startLeft:!1,layout:"even",padTop:100,padBottom:100},render:e=>e.dynamic?aH(Gh,{rowsFrom:e.rowsFrom==="details"?"details":"story",startLeft:e.startLeft,padTop:typeof e.padTop=="number"?e.padTop:100,padBottom:typeof e.padBottom=="number"?e.padBottom:100,editing:e.puck?.isEditing}):aH(vt,{rows:d1(e.rows,qh,e.puck),startLeft:e.startLeft,layout:e.layout,padTop:typeof e.padTop=="number"?e.padTop:100,padBottom:typeof e.padBottom=="number"?e.padBottom:100,editing:e.puck?.isEditing})};import{jsx as zt}from"react/jsx-runtime";var lH={fields:{_sDynamic:K1("Product page"),dynamic:e1("Connect to product data",!1,zt(EW,{})),rowsFrom:p1("Rows from",zt(BW,{}),[{label:"Product story",value:"story"},{label:"Detail shots",value:"details"}],"story"),_sRows:K1("Rows"),rows:u8({type:"array",label:"Rows",arrayFields:{image:V1("Image","image/*"),imageShape:p1("Image shape",zt(sH,{}),[{label:"Square",value:"square"},{label:"Wide",value:"wide"}],"square"),eyebrow:P("Eyebrow"),title:n1("Title"),copy:C1("Body"),specs:{type:"array",label:"Specs",arrayFields:{label:P("Label","Offset"),value:P("Value","ET -10")},defaultItemProps:{label:"",value:""},getItemSummary:(e,t)=>e?.label||`Spec ${(t??0)+1}`,max:8},tag:P("Image tag")},defaultItemProps:{image:"",imageShape:"square",eyebrow:"",title:"",copy:"",specs:[],tag:""},getItemSummary:(e,t)=>e?.title||e?.eyebrow||`Row ${(t??0)+1}`},qh),_sStyle:K1("Style"),layout:p1("Row shape",zt(sH,{}),[{label:"Even columns",value:"even"},{label:"Narrow image",value:"narrow"}],"even"),startLeft:e1("First image on the left",!1,zt(NW,{})),...R2("DetailRows")},resolveFields:(e,{fields:t})=>{let a=l=>{if(e.props.layout==="narrow")return l;let o=l,r=o.rows;if(!r?.arrayFields)return l;let{imageShape:i,...n}=r.arrayFields;return{...o,rows:{...r,arrayFields:n}}};if(!g2()){let l={...a(t)};return delete l._sDynamic,delete l.dynamic,delete l.rowsFrom,l}if(!e.props.dynamic){let{rowsFrom:l,...o}=a(t);return o}let c=new Set(["_sRows","rows"]),s={};for(let[l,o]of Object.entries(t))c.has(l)||(s[l]=o);return s}};var oH={fields:{_gHeader:v("Header"),num:A("Number",M0.num)}};import{SquareIcon as GW}from"efficient-easel/icons";import{useEffect as IW,useMemo as RW,useRef as _W}from"react";var Wh="/shop";function rH({shopperPicked:e,fullyPicked:t,editing:a,pathname:c}){return a||!e||!t?!1:!ZW(c)}function ZW(e){return(e.split("?")[0]??"").replace(/\/+$/,"")===Wh}function iH(e){let a=H4(new URLSearchParams,e).toString();return a?`${Wh}?${a}`:Wh}import{jsx as B4,jsxs as Uh}from"react/jsx-runtime";function Kh({loading:e,error:t,data:a}){return e?B4("div",{className:"mt-9 border border-line bg-bg p-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.24em] text-fg-dim",children:"Loading stock fitment\u2026"}):t?Uh("div",{className:"mt-9 border border-line bg-bg p-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.22em] text-fg-dim",children:["Couldn't load stock fitment \u2014 ",B4("span",{className:"text-accent",children:t})]}):a?Uh("div",{className:"mt-9 grid grid-cols-6 gap-[2px] border border-line bg-line max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1",children:[B4(g9,{label:"Bolt pattern",value:a.boltPattern??"\u2014"}),B4(g9,{label:"PCD",value:a.pcd??"\u2014"}),B4(g9,{label:"Hub bore",value:a.centreBore?`${a.centreBore} mm`:"\u2014"}),B4(g9,{label:"ET range",value:a.etRange&&a.etRange.length===2?`${a.etRange[0]} \u2013 ${a.etRange[1]}`:"\u2014"}),B4(g9,{label:"OEM front",value:a.frontWheels.length?a.frontWheels.join(" \xB7 "):"\u2014"}),B4(g9,{label:"OEM rear",value:a.rearWheels.length?a.rearWheels.join(" \xB7 "):"\u2014"})]}):null}function g9({label:e,value:t}){return Uh("div",{className:"flex min-h-[96px] flex-col gap-1.5 bg-bg px-[18px] py-5",children:[B4("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.26em] text-fg-dim",children:e}),B4("span",{className:"mt-auto font-display text-[length:var(--size-body,17px)] font-medium tracking-[-0.01em] text-fg",children:t})]})}import{Fragment as nH,jsx as J3,jsxs as y7}from"react/jsx-runtime";function DW(e,t,a){if(!a)return e;let[c,s=""]=e.split("?"),o=H4(new URLSearchParams(s),t).toString();return o?`${c}?${o}`:c}function $h({num:e,title:t,description:a,ctaText:c,ctaHref:s,layout:l="full",omitHead:o=!1,initialMakes:r=[],editing:i=!1,...n}){let{cascade:h}=E3({initialMakes:r,editing:i,autoApply:!0}),m=l==="bar",p=_W(!1),u=RW(()=>{if(!m)return h;let f=b=>(...y)=>{p.current=!0,b(...y)};return{...h,setMake:f(h.setMake),setModel:f(h.setModel),setYear:f(h.setYear),setModification:f(h.setModification)}},[m,h]);IW(()=>{m&&(typeof window>"u"||rH({shopperPicked:p.current,fullyPicked:h.fullyPicked,editing:i,pathname:window.location.pathname})&&window.location.assign(iH(h.vehicle)))},[m,h.fullyPicked,h.vehicle,i]);let d=!o&&!m&&!!(e||t||a),g=!m&&c&&s?{text:c,href:s}:null,z=g?DW(g.href,h.vehicle,h.fullyPicked):null;return y7("section",{className:[v0(n)?"px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",m?o?"pt-0 pb-[30px] max-[1100px]:pb-5":"py-[30px] max-[1100px]:py-5":o?"pt-0 pb-20 max-[1100px]:pb-[60px]":"py-20 max-[1100px]:py-[60px]"].join(" "),children:[d&&J3(j1,{num:e,title:t,description:a,accent:!0}),m?y7("div",{className:"flex flex-wrap items-center gap-[18px]",children:[!o&&t?.trim()&&J3("p",{className:"font-heading3 text-[length:var(--size-headingSmall,30px)] [font-weight:var(--sf-heading-weight-strong,600)] leading-none tracking-[-0.02em] whitespace-nowrap",children:d0(t)}),J3("div",{className:"min-w-[320px] flex-1 basis-0",children:J3(i3,{cascade:u,compact:!0,editing:i})})]}):J3(i3,{cascade:h,editing:i}),!m&&J3(Kh,{loading:h.loading.stock,error:h.cascadeError,data:h.fullyPicked?h.stock:null}),!m&&y7("div",{className:"mt-9 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-8",children:[J3("p",{className:"max-w-[680px] font-serif text-[length:var(--size-body,18px)] italic leading-[1.55] text-fg-dim",children:h.fullyPicked?y7(nH,{children:["Your car \xB7"," ",y7("strong",{className:"font-display [font-weight:var(--sf-heading-weight-strong,500)] not-italic text-fg",children:[h.vehicle.year," ",h.makeName," ",h.modelName," ",h.modName]}),h.stock&&J3("span",{className:"ml-3 not-italic text-accent",children:"OEM fitment loaded."})]}):y7(nH,{children:["Tell us four things \u2014 ",J3("em",{className:"not-italic text-accent",children:"make, model, year, trim"})," \u2014 and we'll show the OEM stock fitment for your car."]})}),g&&z&&y7(r0,{href:z,className:"group inline-flex items-center gap-3.5 border border-btn bg-btn px-[30px] py-[18px] font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em] text-btn-ink transition-colors hover:border-fg hover:bg-fg",children:[g.text,J3("span",{className:"transition-transform group-hover:translate-x-[4px]",children:"\u2192"})]})]}),i&&h.makeOptions.length===0&&!h.loading.models&&J3("p",{className:"mt-4 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-fg-dim",children:"Vehicle catalog unavailable in this preview \u2014 the picker fills from the live fitment API on the published site."})]})}import{jsx as OW}from"react/jsx-runtime";var b5={num:L.sectionNumber,title:"Find your *match.*",description:"A few quick picks and we show the right option for you.",ctaText:"Browse all products"},hH={label:"Fitment Form",defaultProps:{num:"",title:"",description:"",ctaText:"",ctaHref:"",layout:"full"},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return OW($h,{num:a(x(e.num,b5.num,e.puck)),title:a(x(e.title,b5.title,e.puck)),description:a(x(e.description,b5.description,e.puck)),omitHead:t,ctaText:x(e.ctaText,b5.ctaText,e.puck),ctaHref:Y(e.ctaHref)||"#",layout:e.layout,editing:e.puck?.isEditing})}};import{jsx as qW}from"react/jsx-runtime";var mH={fields:{_gHeader:v("Header"),num:A("Number",b5.num),title:A("Heading",b5.title),description:V("Body",b5.description),_gCta:v("Call to action"),ctaText:A("Button",b5.ctaText),ctaHref:w1("Button link"),_gStyle:v("Style"),layout:p1("Section shape",qW(GW,{}),[{label:"Stacked",value:"full"},{label:"One row",value:"bar"}],"full")},resolveFields:(e,{fields:t,parent:a})=>{let c=e.props??{},s={...t};return c.layout==="bar"&&(delete s._gCta,delete s.ctaText,delete s.ctaHref),s=E1(Z1(s,a,R1),c.headPlacement,F1.FitmentFinder.headRows),s}};var M=(e,t,a,c,s,l,o,r,i)=>({diameter:e,width:t,holes:a,pcd:c,et:s,cb:l,cap:o,boltPattern:r,loadRating:i}),z2="CP509PS73",x2="32x15x60\xB0",w2="880kg / 1,940 lbs",d6="CP506AL82",v6="34x16x60\xB0",f6="915kg / 2,000 lbs",W="CP506AL68",G="32x15x60\xB0",o1="690kg / 1,520 lbs",p0="880kg / 1,940 lbs",WW="34x15x60\xB0",UW="1,060kg / 2,335 lbs",b6="CP507PS68",z6="825kg / 1,820 lbs",t1="CP595AL68",c1="32x15x60\xB0",s1="690kg / 1,520 lbs",jh="34x15x60\xB0",Yh="1,060kg / 2,335 lbs",N4="CP506AL82",Z4="34x16x60\xB0",I4="880kg / 1,940 lbs",KW={rotor:[M(20,8.5,5,"112",35,73.1,z2,x2,w2),M(20,8.5,5,"114.3",35,73.1,z2,x2,w2),M(20,8.5,5,"120",35,72.6,z2,x2,w2),M(20,8.5,5,"127",20,71.5,z2,x2,w2),M(20,10,5,"112",40,73.1,z2,x2,w2),M(20,10,5,"114.3",40,73.1,z2,x2,w2),M(20,10,5,"120",40,72.6,z2,x2,w2),M(20,10,5,"127",20,71.5,z2,x2,w2),M(22,9,5,"112",35,73.1,z2,x2,w2),M(22,9,5,"114.3",35,73.1,z2,x2,w2),M(22,9,5,"115",15,71.5,z2,x2,w2),M(22,9,5,"120",35,72.6,z2,x2,w2),M(22,9,5,"127",20,71.5,z2,x2,w2),M(22,10.5,5,"112",40,73.1,z2,x2,w2),M(22,10.5,5,"114.3",40,73.1,z2,x2,w2),M(22,10.5,5,"115",20,71.5,z2,x2,w2),M(22,10.5,5,"120",40,72.6,z2,x2,w2),M(22,10.5,5,"127",20,71.5,z2,x2,w2)],"frixion-6":[M(20,9,6,"135",20,87.1,d6,v6,f6),M(20,9,6,"139.7",20,87.1,d6,v6,f6),M(22,9.5,6,"135",25,87.1,d6,v6,f6),M(22,9.5,6,"139.7",25,87.1,d6,v6,f6),M(22,9.5,6,"135",20,87.1,d6,v6,f6),M(22,9.5,6,"139.7",20,87.1,d6,v6,f6),M(24,10,6,"135",25,87.1,d6,v6,f6),M(24,10,6,"139.7",25,87.1,d6,v6,f6)],"frixion-5":[M(18,8,5,"108",42,73.1,W,G,o1),M(18,8,5,"112",42,73.1,W,G,o1),M(18,8,5,"114.3",42,73.1,W,G,o1),M(18,8,5,"120",35,72.6,W,G,o1),M(19,8.5,5,"112",42,73.1,W,G,o1),M(19,8.5,5,"114.3",42,73.1,W,G,o1),M(19,8.5,5,"112",35,73.1,W,G,o1),M(19,8.5,5,"114.3",35,73.1,W,G,o1),M(19,8.5,5,"120",35,73.1,W,G,o1),M(19,8.5,5,"120",35,72.6,W,G,o1),M(19,9.5,5,"112",38,73.1,W,G,o1),M(19,9.5,5,"114.3",38,73.1,W,G,o1),M(19,9.5,5,"112",40,73.1,W,G,o1),M(19,9.5,5,"114.3",40,73.1,W,G,o1),M(19,9.5,5,"120",38,72.6,W,G,o1),M(20,8.5,5,"112",35,73.1,W,G,o1),M(20,8.5,5,"114.3",35,73.1,W,G,o1),M(20,8.5,5,"120",42,72.6,W,G,o1),M(20,8.5,5,"120",35,72.6,W,G,o1),M(20,8.5,5,"120",33,72.6,W,G,o1),M(20,10,5,"112",40,73.1,W,G,o1),M(20,10,5,"114.3",40,73.1,W,G,o1),M(20,10,5,"120",40,72.6,W,G,o1)],"vector-ii":[M(19,8.5,5,"112",38,73.1,W,G,p0),M(19,8.5,5,"114.3",38,73.1,W,G,p0),M(19,8.5,5,"112",45,73.1,W,G,p0),M(19,8.5,5,"114.3",45,73.1,W,G,p0),M(19,8.5,5,"120",38,72.6,W,G,p0),M(19,9.5,5,"112",42,73.1,W,G,p0),M(19,9.5,5,"114.3",42,73.1,W,G,p0),M(19,9.5,5,"120",42,72.6,W,G,p0),M(20,8.5,5,"112",38,73.1,W,G,p0),M(20,8.5,5,"114.3",38,73.1,W,G,p0),M(20,8.5,5,"120",38,72.6,W,G,p0),M(20,10,5,"112",40,73.1,W,G,p0),M(20,10,5,"114.3",40,73.1,W,G,p0),M(20,10,5,"120",40,72.6,W,G,p0)],"turbine-ii":[M(20,8.5,5,"112",38,73.1,W,G,p0),M(20,8.5,5,"114.3",38,73.1,W,G,p0),M(20,8.5,5,"112",35,73.1,W,G,p0),M(20,8.5,5,"114.3",35,73.1,W,G,p0),M(20,8.5,5,"112",30,73.1,W,G,p0),M(20,8.5,5,"114.3",30,73.1,W,G,p0),M(20,8.5,5,"112",25,73.1,W,G,p0),M(20,8.5,5,"114.3",25,73.1,W,G,p0),M(20,8.5,5,"120",32,72.6,W,G,p0),M(20,8.5,5,"120",35,72.6,W,G,p0),M(20,10,5,"112",40,73.1,W,G,p0),M(20,10,5,"114.3",40,73.1,W,G,p0),M(20,10,5,"112",30,73.1,W,G,p0),M(20,10,5,"114.3",30,73.1,W,G,p0),M(20,10,5,"120",38,72.6,W,G,p0),M(20,10,5,"120",37,72.6,W,G,p0),M(22,10.5,5,"127",35,71.5,W,WW,UW)],torque:[M(18,8,5,"108",42,73.1,W,G,o1),M(18,8,5,"112",42,73.1,W,G,o1),M(18,8,5,"114.3",42,73.1,W,G,o1),M(18,8,5,"120",35,72.6,W,G,o1),M(19,8.5,5,"112",42,73.1,W,G,o1),M(19,8.5,5,"114.3",42,73.1,W,G,o1),M(19,8.5,5,"120",38,72.6,W,G,o1),M(19,9.5,5,"112",35,73.1,W,G,o1),M(19,9.5,5,"114.3",35,73.1,W,G,o1),M(19,9.5,5,"112",38,73.1,W,G,o1),M(19,9.5,5,"114.3",38,73.1,W,G,o1),M(19,9.5,5,"120",40,72.6,W,G,o1),M(20,8.5,5,"112",35,73.1,W,G,o1),M(20,8.5,5,"114.3",35,73.1,W,G,o1),M(20,8.5,5,"120",32,72.6,W,G,o1),M(20,8.5,5,"120",35,72.6,W,G,o1),M(20,10,5,"112",40,73.1,W,G,o1),M(20,10,5,"114.3",40,73.1,W,G,o1),M(20,10,5,"120",40,72.6,W,G,o1)],blitz:[M(18,8,5,"108",40,73.1,W,G,o1),M(18,8,5,"112-114.3",40,73.1,W,G,o1),M(18,8,5,"120",35,72.6,W,G,o1),M(18,8,5,"120",38,72.6,W,G,o1),M(19,8.5,5,"112-114.3",32,73.1,W,G,o1),M(19,8.5,5,"112-114.3",40,73.1,W,G,o1),M(19,8.5,5,"112-114.3",38,73.1,W,G,o1),M(19,8.5,5,"114.3",35,73.1,W,G,o1),M(19,8.5,5,"120",33,72.6,W,G,o1),M(19,9.5,5,"112-114.3",38,73.1,W,G,o1),M(19,9.5,5,"114.3",40,73.1,W,G,o1),M(19,9.5,5,"120",38,72.6,W,G,o1),M(20,8.5,5,"112-114.3",32,73.1,W,G,o1),M(20,8.5,5,"112-114.3",38,73.1,W,G,o1),M(20,8.5,5,"120",32,72.6,W,G,o1),M(20,10,5,"112-114.3",40,73.1,W,G,o1),M(20,10,5,"112-114.3",38,73.1,W,G,o1),M(20,10,5,"120",40,72.6,W,G,o1),M(20,10,5,"120",38,72.6,W,G,o1)],"speed-ii":[M(18,8,5,"108",40,73.1,W,G,o1),M(18,8,5,"112",40,73.1,W,G,o1),M(18,8,5,"114.3",40,73.1,W,G,o1),M(18,8,5,"120",38,72.6,W,G,o1),M(18,8,5,"120",35,72.6,W,G,o1),M(19,8.5,5,"112",40,73.1,W,G,o1),M(19,8.5,5,"114.3",40,73.1,W,G,o1),M(19,8.5,5,"112",32,73.1,W,G,o1),M(19,8.5,5,"114.3",32,73.1,W,G,o1),M(19,8.5,5,"120",33,72.6,W,G,o1),M(19,9.5,5,"112",38,73.1,W,G,o1),M(19,9.5,5,"114.3",38,73.1,W,G,o1),M(19,9.5,5,"120",38,72.6,W,G,o1),M(20,8.5,5,"112",35,73.1,W,G,o1),M(20,8.5,5,"114.3",35,73.1,W,G,o1),M(20,8.5,5,"112",32,73.1,W,G,o1),M(20,8.5,5,"114.3",32,73.1,W,G,o1),M(20,8.5,5,"120",33,72.6,W,G,o1),M(20,10,5,"112",38,73.1,W,G,o1),M(20,10,5,"114.3",38,73.1,W,G,o1),M(20,10,5,"120",38,72.6,W,G,o1)],"force-6":[M(20,9,6,"135",20,87.1,N4,Z4,I4),M(20,9,6,"135",25,87.1,N4,Z4,I4),M(20,9,6,"135",20,87.1,N4,Z4,I4),M(20,9,6,"139.7",20,87.1,N4,Z4,I4),M(20,9,6,"139.7",20,87.1,N4,Z4,I4),M(20,9,6,"139.7",25,87.1,N4,Z4,I4),M(22,9.5,6,"135",20,87.1,N4,Z4,I4),M(22,9.5,6,"139.7",20,87.1,N4,Z4,I4),M(24,10,6,"135",25,87.1,N4,Z4,I4),M(24,10,6,"139.7",25,87.1,N4,Z4,I4)],"haste-ii":[M(20,8.5,5,"112",27,73.1,b6,G,z6),M(20,8.5,5,"114.3",27,73.1,b6,G,z6),M(20,8.5,5,"112",34,73.1,b6,G,z6),M(20,8.5,5,"114.3",34,73.1,b6,G,z6),M(20,8.5,5,"120",32,72.6,b6,G,z6),M(20,10,5,"112",38,73.1,b6,G,z6),M(20,10,5,"114.3",38,73.1,b6,G,z6),M(20,10,5,"120",37,72.6,b6,G,z6)],"thrust-ii":[M(18,8,5,"108",40,73.1,t1,c1,s1),M(18,8,5,"112",40,73.1,t1,c1,s1),M(18,8,5,"114.3",40,73.1,t1,c1,s1),M(18,8,5,"120",35,72.6,t1,c1,s1),M(18,8,5,"120",38,72.6,t1,c1,s1),M(19,8.5,5,"112",40,73.1,t1,c1,s1),M(19,8.5,5,"114.3",40,73.1,t1,c1,s1),M(19,8.5,5,"112",38,73.1,t1,c1,s1),M(19,8.5,5,"114.3",38,73.1,t1,c1,s1),M(19,8.5,5,"112",32,73.1,t1,c1,s1),M(19,8.5,5,"114.3",32,73.1,t1,c1,s1),M(19,8.5,5,"114.3",35,73.1,t1,c1,s1),M(19,8.5,5,"120",33,72.6,t1,c1,s1),M(19,9.5,5,"112",38,73.1,t1,c1,s1),M(19,9.5,5,"114.3",38,73.1,t1,c1,s1),M(19,9.5,5,"114.3",40,73.1,t1,c1,s1),M(19,9.5,5,"120",38,72.6,t1,c1,s1),M(20,8.5,5,"112",32,73.1,t1,c1,s1),M(20,8.5,5,"114.3",32,73.1,t1,c1,s1),M(20,8.5,5,"112",38,73.1,t1,c1,s1),M(20,8.5,5,"114.3",38,73.1,t1,c1,s1),M(20,8.5,5,"120",32,72.6,t1,c1,s1),M(20,10,5,"112",40,73.1,t1,c1,s1),M(20,10,5,"114.3",40,73.1,t1,c1,s1),M(20,10,5,"112",38,73.1,t1,c1,s1),M(20,10,5,"114.3",38,73.1,t1,c1,s1),M(20,10,5,"120",38,72.6,t1,c1,s1),M(20,10,5,"120",40,72.6,t1,c1,s1),M(22,10.5,5,"127",35,71.5,t1,jh,Yh)],"vector-iii":[M(18,8,5,"108",40,73.1,t1,c1,s1),M(18,8,5,"112",40,73.1,t1,c1,s1),M(18,8,5,"114.3",40,73.1,t1,c1,s1),M(18,8,5,"120",38,72.6,t1,c1,s1),M(18,8,5,"120",35,72.6,t1,c1,s1),M(19,8.5,5,"112",32,73.1,t1,c1,s1),M(19,8.5,5,"114.3",32,73.1,t1,c1,s1),M(19,8.5,5,"112",40,73.1,t1,c1,s1),M(19,8.5,5,"114.3",40,73.1,t1,c1,s1),M(19,8.5,5,"112",38,73.1,t1,c1,s1),M(19,8.5,5,"114.3",38,73.1,t1,c1,s1),M(19,8.5,5,"114.3",35,73.1,t1,c1,s1),M(19,8.5,5,"120",33,72.6,t1,c1,s1),M(19,9.5,5,"112",38,73.1,t1,c1,s1),M(19,9.5,5,"114.3",38,73.1,t1,c1,s1),M(19,9.5,5,"114.3",40,73.1,t1,c1,s1),M(19,9.5,5,"120",38,72.6,t1,c1,s1),M(20,8.5,5,"112",32,73.1,t1,c1,s1),M(20,8.5,5,"114.3",32,73.1,t1,c1,s1),M(20,8.5,5,"112",38,73.1,t1,c1,s1),M(20,8.5,5,"114.3",38,73.1,t1,c1,s1),M(20,8.5,5,"120",32,72.6,t1,c1,s1),M(20,10,5,"112",40,73.1,t1,c1,s1),M(20,10,5,"114.3",40,73.1,t1,c1,s1),M(20,10,5,"112",38,73.1,t1,c1,s1),M(20,10,5,"114.3",38,73.1,t1,c1,s1),M(20,10,5,"120",38,72.6,t1,c1,s1),M(20,10,5,"120",40,72.6,t1,c1,s1),M(22,10.5,5,"127",35,71.5,t1,jh,Yh)],"blitz-ii":[M(18,8,5,"108",40,73.1,t1,c1,s1),M(18,8,5,"112",40,73.1,t1,c1,s1),M(18,8,5,"114.3",40,73.1,t1,c1,s1),M(18,8,5,"120",38,72.6,t1,c1,s1),M(18,8,5,"120",35,72.6,t1,c1,s1),M(19,8.5,5,"112",32,73.1,t1,c1,s1),M(19,8.5,5,"114.3",32,73.1,t1,c1,s1),M(19,8.5,5,"112",40,73.1,t1,c1,s1),M(19,8.5,5,"114.3",40,73.1,t1,c1,s1),M(19,8.5,5,"112",38,73.1,t1,c1,s1),M(19,8.5,5,"114.3",38,73.1,t1,c1,s1),M(19,8.5,5,"114.3",35,73.1,t1,c1,s1),M(19,8.5,5,"120",33,72.6,t1,c1,s1),M(19,9.5,5,"112",38,73.1,t1,c1,s1),M(19,9.5,5,"114.3",38,73.1,t1,c1,s1),M(19,9.5,5,"114.3",40,73.1,t1,c1,s1),M(19,9.5,5,"120",38,72.6,t1,c1,s1),M(20,8.5,5,"112",32,73.1,t1,c1,s1),M(20,8.5,5,"114.3",32,73.1,t1,c1,s1),M(20,8.5,5,"112",38,73.1,t1,c1,s1),M(20,8.5,5,"114.3",38,73.1,t1,c1,s1),M(20,8.5,5,"120",32,72.6,t1,c1,s1),M(20,10,5,"112",40,73.1,t1,c1,s1),M(20,10,5,"114.3",40,73.1,t1,c1,s1),M(20,10,5,"112",38,73.1,t1,c1,s1),M(20,10,5,"114.3",38,73.1,t1,c1,s1),M(20,10,5,"120",38,72.6,t1,c1,s1),M(20,10,5,"120",40,72.6,t1,c1,s1),M(22,10.5,5,"127",35,71.5,t1,jh,Yh)]};function d9(e){return KW[e]??[]}var S1={hyperBlack:"#1a1a1c",blackSatin:"#0d0d0d",blackMachined:"#2a2a2a",silverSatin:"#a8a8a8",silverMachined:"#b5b5b5",bronze:"#7a5a3a",anthracite:"#3a3a3a",candyRed:"#9a1f1f",gunmetal:"#4a4d52"},F="/media/images/products",Xh="/media/videos/products",pH=["0","20-20","25","35"],uH=["Detail 1","Detail 2","Detail 3"];function x0(e,t,a,c=!0){let s=`${F}/${e}/${a}${t}`,l=pH.map(o=>`${s}${o}.png`);return{src:l[0],angles:l,...c?{details:uH.map(o=>`${s}${o}.png`)}:{}}}function R4(e,t,a,c){let s=pH.map((o,r)=>`${F}/${e}/${t}.${o}.${a[r]}.png`),l={src:s[0],angles:s};return c&&(l.details=uH.map((o,r)=>`${F}/${e}/${t}.${o}.${c[r]}.png`)),l}var $W=[{name:"HASTE II",slug:"haste-ii",process:"FusionForge\xAE",sizes:[18,19,20],price:1450,spokes:5,mesh:!1,badge:"bestseller",finishes:[{name:"Silver Satin Lacquer",color:S1.silverSatin,family:"silver",...x0("Haste II",".","Haste II.Ssl"),wheelPhotos:Array.from({length:9},(e,t)=>`${F}/Haste II/haste II Ssl wheel (${t+1}).jpg`)},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",...x0("Haste II",".","Haste II.Ksl"),carPhotos:[...[5,6,7,8,9].map(e=>`${F}/Haste II/HasteII ksl 2024 BMW(G83)M4 Competition Convertible (${e}).jpg`),...[1,2,5,6,9].map(e=>`${F}/Haste II/HasteII ksl car 2020 Chevrolet Camaro ZL1 (${e}).jpg`)]}]},{name:"FORCE 6",slug:"force-6",process:"FusionForge\xAE",sizes:[19,20,21],price:2950,spokes:6,mesh:!1,badge:null,finishes:[{name:"Silver Machined Carbon Satin Lacquer",color:S1.silverMachined,family:"silver",...x0("force 6",".","Froce6.Smfcbtm")},{name:"Black Machined Carbon Dark Tint Satin Lacquer",color:S1.blackMachined,family:"black",...x0("force 6",".","Froce6.Kmfcbtdtm")},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",...x0("force 6",".","Froce6.Ktm")},{name:"Candy Red",color:S1.candyRed,family:"red",...x0("force 6",".","Froce6.R")}]},{name:"SPEED II",slug:"speed-ii",process:"FusionForge\xAE",sizes:[18,19,20],price:3400,spokes:5,mesh:!1,badge:"new",finishes:[{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",...x0("speed_II",".","Speed II.Smftm")},{name:"Black Machined Face Dark Tint Satin Lacquer",color:S1.blackMachined,family:"black",...x0("speed_II",".","Speed II.Kmftdtm")},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",...x0("speed_II",".","Speed II.Ktm")},{name:"Candy Red",color:S1.candyRed,family:"red",...x0("speed_II",".","Speed II.R")}]},{name:"VORTEX II",slug:"vortex-ii",process:"FusionForge\xAE",sizes:[19,20],price:3200,spokes:5,mesh:!0,badge:null,finishes:[{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",...x0("Vortex II","-","Vortex II-SMFTM")},{name:"Black Machined Face Satin Lacquer Dark Tint",color:S1.blackMachined,family:"black",...x0("Vortex II","-","Vortex II-KMFTMTD")},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",...x0("Vortex II","-","Vortex II-KTM")}]},{name:"VECTOR III",slug:"vector-iii",process:"Precision Forged",sizes:[18,19,20,21],price:4200,spokes:7,mesh:!1,badge:null,finishes:[{name:"Hyper Black",color:S1.hyperBlack,family:"black",...x0("vector_III","-","Vector III-H")},{name:"Anthracite",color:S1.anthracite,family:"graphite",...x0("vector_III","-","Vector III-ATM")},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",...x0("vector_III","-","Vector III-KTM")},{name:"Silver Satin Lacquer",color:S1.silverSatin,family:"silver",...x0("vector_III","-","Vector III-STM")},{name:"Bronze",color:S1.bronze,family:"bronze",...x0("vector_III","-","Vector III- N")}]},{name:"BLITZ II",slug:"blitz-ii",process:"Precision Forged",sizes:[18,19,20,22],price:4400,spokes:8,mesh:!0,badge:null,finishes:[{name:"Hyper Black",color:S1.hyperBlack,family:"black",src:`${F}/blitz_II/Blitz II.H.0.752 (3).png`,angles:[`${F}/blitz_II/Blitz II.H.0.752 (3).png`,`${F}/blitz_II/Blitz II.H.20-20752 (4).png`,`${F}/blitz_II/Blitz II.H.25.752 (2).png`,`${F}/blitz_II/Blitz II.H.35.752 (1).png`],details:[`${F}/blitz_II/Blitz II.H.Detail 1.1923.png`,`${F}/blitz_II/Blitz II.H.Detail 2.1916.png`,`${F}/blitz_II/Blitz II.H.Detail FusionForge.1930.png`]},{name:"Anthracite",color:S1.anthracite,family:"graphite",src:`${F}/blitz_II/Blitz II.A.0.756 (3).png`,angles:[`${F}/blitz_II/Blitz II.A.0.756 (3).png`,`${F}/blitz_II/Blitz II.A.20-20.756 (4).png`,`${F}/blitz_II/Blitz II.A.25.756 (2).png`,`${F}/blitz_II/Blitz II.A.35.756 (1).png`],details:[`${F}/blitz_II/Blitz II.A.Detail 1.1924.png`,`${F}/blitz_II/Blitz II.A.Detail 2.1917.png`,`${F}/blitz_II/Blitz II.A.Detail FusionForge.1931.png`]},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",src:`${F}/blitz_II/Blitz II.Ktm.0.760 (3).png`,angles:[`${F}/blitz_II/Blitz II.Ktm.0.760 (3).png`,`${F}/blitz_II/Blitz II.Ktm.20-20760 (4).png`,`${F}/blitz_II/Blitz II.Ktm.25.760 (2).png`,`${F}/blitz_II/Blitz II.Ktm.35.760 (1).png`],details:[`${F}/blitz_II/Blitz II.K TM.Detail 1.1925.png`,`${F}/blitz_II/Blitz II.K TM.Detail 2.1918.png`,`${F}/blitz_II/Blitz II.K TM.Detail FusionForge.1932.png`]},{name:"Silver Satin Lacquer",color:S1.silverSatin,family:"silver",src:`${F}/blitz_II/Blitz II.Stm.0.748 (3).png`,angles:[`${F}/blitz_II/Blitz II.Stm.0.748 (3).png`,`${F}/blitz_II/Blitz II.Stm 20-20.748 (4).png`,`${F}/blitz_II/Blitz II.Stm.25.748 (2).png`,`${F}/blitz_II/Blitz II.Stm.35.748 (1).png`],details:[`${F}/blitz_II/Blitz II.S TM.Detail 1.1922.png`,`${F}/blitz_II/Blitz II.S TM.Detail 2.1915.png`,`${F}/blitz_II/Blitz II.S TM.Detail FusionForge.1929.png`]},{name:"Bronze",color:S1.bronze,family:"bronze",src:`${F}/blitz_II/Blitz II.n.0.764 (3).png`,angles:[`${F}/blitz_II/Blitz II.n.0.764 (3).png`,`${F}/blitz_II/Blitz II.n.20-20.764 (4).png`,`${F}/blitz_II/Blitz II.n.25.764 (2).png`,`${F}/blitz_II/Blitz II.n.35.764 (1).png`],details:[`${F}/blitz_II/Blitz II.N.Detail 1.1926.png`,`${F}/blitz_II/Blitz II.N.Detail 2.1919.png`,`${F}/blitz_II/Blitz II.N.Detail FusionForge.1933.png`]}]},{name:"THRUST II",slug:"thrust-ii",process:"Precision Forged",sizes:[18,19,20,22],price:4500,spokes:7,mesh:!1,badge:"bestseller",finishes:[{name:"Hyper Black",color:S1.hyperBlack,family:"black",src:`${F}/thrust_II/Thrust II v2 2010 H.0.719.png`,angles:[`${F}/thrust_II/Thrust II v2 2010 H.0.719.png`,`${F}/thrust_II/Thrust II v2 2010 H.30.720.png`,`${F}/thrust_II/Thrust II v2 2010 H.30-30.722.png`,`${F}/thrust_II/Thrust II v2 2010 H.45.721.png`],details:[`${F}/thrust_II/Thrust II.bip-Thrust II v2 2010 H-Detail 1.png`,`${F}/thrust_II/Thrust II.bip-Thrust II v2 2010 H-Detail 2.png`,`${F}/thrust_II/Thrust II v2 2010 H.30-30.722.png`]},{name:"Anthracite",color:S1.anthracite,family:"graphite",src:`${F}/thrust_II/Thrust II v2 2010 A.0.735.png`,angles:[`${F}/thrust_II/Thrust II v2 2010 A.0.735.png`,`${F}/thrust_II/Thrust II v2 2010 A.30.736.png`,`${F}/thrust_II/Thrust II v2 2010 A.30-30.738.png`,`${F}/thrust_II/Thrust II v2 2010 A.45.737.png`],details:[`${F}/thrust_II/Thrust II.bip-Thrust II v2 2010 A-Detail 1.png`,`${F}/thrust_II/Thrust II.bip-Thrust II v2 2010 A-Detail 2.png`,`${F}/thrust_II/Thrust II v2 2010 A.30-30.738.png`]},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",src:`${F}/thrust_II/Thrust II v2 2010 K.0.730.png`,angles:[`${F}/thrust_II/Thrust II v2 2010 K.0.730.png`,`${F}/thrust_II/Thrust II v2 2010 K.30.731.png`,`${F}/thrust_II/Thrust II v2 2010 K.30-30.733.png`,`${F}/thrust_II/Thrust II v2 2010 K.45.732.png`],details:[`${F}/thrust_II/Thrust II.bip-Thrust II v2 2010 K-Detail 1.png`,`${F}/thrust_II/Thrust II.bip-Thrust II v2 2010 K-Detail 2.png`,`${F}/thrust_II/Thrust II v2 2010 K.30-30.733.png`]},{name:"Silver Satin Lacquer",color:S1.silverSatin,family:"silver",src:`${F}/thrust_II/Thrust II v2 2010 S.0.725.png`,angles:[`${F}/thrust_II/Thrust II v2 2010 S.0.725.png`,`${F}/thrust_II/Thrust II v2 2010 S.30.726.png`,`${F}/thrust_II/Thrust II v2 2010 S.30-30.728.png`,`${F}/thrust_II/Thrust II v2 2010 S.45.727.png`],details:[`${F}/thrust_II/Thrust II.bip-Thrust II v2 2010 S-Detail 1.png`,`${F}/thrust_II/Thrust II.bip-Thrust II v2 2010 S-Detail 2.png`,`${F}/thrust_II/Thrust II v2 2010 S.30-30.728.png`]},{name:"Bronze",color:S1.bronze,family:"bronze",src:`${F}/thrust_II/Thrust II v2 2010 N.0.740.png`,angles:[`${F}/thrust_II/Thrust II v2 2010 N.0.740.png`,`${F}/thrust_II/Thrust II v2 2010 N.30.741.png`,`${F}/thrust_II/Thrust II v2 2010 N.30-30.743.png`,`${F}/thrust_II/Thrust II v2 2010 N.45.742.png`]}]},{name:"TORQUE II",slug:"torque-ii",process:"Precision Forged",sizes:[18,19,20,22],price:4300,spokes:7,mesh:!1,badge:null,finishes:[{name:"Hyper Black",color:S1.hyperBlack,family:"black",src:`${F}/torque_II/Torque II-H-0-2195.png`,angles:[`${F}/torque_II/Torque II-H-0-2195.png`,`${F}/torque_II/Torque II-H-20-20-2198.png`,`${F}/torque_II/Torque II-H-25-2196.png`,`${F}/torque_II/Torque II-H-35-2197.png`],details:[`${F}/torque_II/Torque II-H-Detail 1-2199.png`,`${F}/torque_II/Torque II-H-Detail 2-2200.png`,`${F}/torque_II/Torque II-H-Detail 3-2201.png`]},{name:"Anthracite",color:S1.anthracite,family:"graphite",src:`${F}/torque_II/Torque II-A-0-2174.png`,angles:[`${F}/torque_II/Torque II-A-0-2174.png`,`${F}/torque_II/Torque II-A-20-20-2177.png`,`${F}/torque_II/Torque II-A-25-2175.png`,`${F}/torque_II/Torque II-A-35-2176.png`],details:[`${F}/torque_II/Torque II-A-Detail 1-2178.png`,`${F}/torque_II/Torque II-A-Detail 2-2179.png`,`${F}/torque_II/Torque II-A-Detail 3-2180.png`]},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",src:`${F}/torque_II/Torque II-Ktm-0-2202.png`,angles:[`${F}/torque_II/Torque II-Ktm-0-2202.png`,`${F}/torque_II/Torque II-Ktm-20-20-2205.png`,`${F}/torque_II/Torque II-Ktm-25-2203.png`,`${F}/torque_II/Torque II-Ktm-35-2204.png`],details:[`${F}/torque_II/Torque II-Ktm-Detail 1-2206.png`,`${F}/torque_II/Torque II-Ktm-Detail 2-2207.png`,`${F}/torque_II/Torque II-Ktm-Detail 3-2208.png`]},{name:"Silver Satin Lacquer",color:S1.silverSatin,family:"silver",src:`${F}/torque_II/Torque II-S-0-2181.png`,angles:[`${F}/torque_II/Torque II-S-0-2181.png`,`${F}/torque_II/Torque II-S-20-20-2184.png`,`${F}/torque_II/Torque II-S-25-2182.png`,`${F}/torque_II/Torque II-S-35-2183.png`],details:[`${F}/torque_II/Torque II-S-Detail 1-2185.png`,`${F}/torque_II/Torque II-S-Detail 2-2186.png`,`${F}/torque_II/Torque II-S-Detail 3-2187.png`]},{name:"Bronze",color:S1.bronze,family:"bronze",src:`${F}/torque_II/Torque II-N-0-2188.png`,angles:[`${F}/torque_II/Torque II-N-0-2188.png`,`${F}/torque_II/Torque II-N-20-20-2191.png`,`${F}/torque_II/Torque II-N-25-2189.png`,`${F}/torque_II/Torque II-N-35-2190.png`],details:[`${F}/torque_II/Torque II-N-Detail 1-2192.png`,`${F}/torque_II/Torque II-N-Detail 2-2193.png`,`${F}/torque_II/Torque II-N-Detail 3-2194.png`]}]},{name:"TURBINE II",slug:"turbine-ii",process:"Monoblock Cast",sizes:[19,20,21],price:1650,spokes:9,mesh:!0,badge:null,finishes:[{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",src:`${F}/turbine II/Turbine II L S MF TM.0.png`,angles:[`${F}/turbine II/Turbine II L S MF TM.0.png`,`${F}/turbine II/Turbine II L S MF TM.25.png`,`${F}/turbine II/Turbine II L S MF TM.35.png`,`${F}/turbine II/Turbine II L S MF TM.45.png`],details:[`${F}/turbine II/Turbine II L S MF TM.Detail 1.png`,`${F}/turbine II/Turbine II.L S MF TM.Detail 2.2239.png`,`${F}/turbine II/Turbine II L S MF TM.Detail 3.png`]},{name:"Black Machined Face Dark Tint Satin Lacquer",color:S1.blackMachined,family:"black",src:`${F}/turbine II/Turbine II L K MF TD TM.0.png`,angles:[`${F}/turbine II/Turbine II L K MF TD TM.0.png`,`${F}/turbine II/Turbine II L K MF TD TM.25.png`,`${F}/turbine II/Turbine II L K MF TD TM.35.png`,`${F}/turbine II/Turbine II L K MF TD TM.45.png`],details:[`${F}/turbine II/Turbine II L K MF TD TM.Detail 1.png`,`${F}/turbine II/Turbine II L K MF TD TM.LR Detail 2.png`,`${F}/turbine II/Turbine II L K MF TD TM.Detail 3.png`]}]},{name:"BLITZ",slug:"blitz",process:"Monoblock Cast",sizes:[18,19,20],price:1380,spokes:8,mesh:!0,badge:null,finishes:[{name:"Silver Satin Lacquer",color:S1.silverSatin,family:"silver",...R4("blitz","Blitz.Stm",["2167","2170","2168","2169"],["2171","2172","2173"]),wheelPhotos:Array.from({length:8},(e,t)=>`${F}/blitz/Blitz stm wheel(${t+19}).jpg`),video:`${Xh}/blitz/Blitz stm wheel.mp4`},{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",...R4("blitz","Blitz.Smftm",["2160","2163","2161","2162"],["2164","2165","2166"])},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",...R4("blitz","Blitz.Ktm",["2146","2149","2147","2148"],["2150","2151","2152"]),wheelPhotos:Array.from({length:8},(e,t)=>`${F}/blitz/Blitz ktm wheel (${t+1}).jpg`),carPhotos:Array.from({length:6},(e,t)=>`${F}/blitz/Blitz ktm Car AUDI 03-03 (${t+1}).png`),video:`${Xh}/blitz/Blitz ktm wheel.mp4`},{name:"Black Machined Face Dark Tint Satin Lacquer",color:S1.blackMachined,family:"black",...R4("blitz","Blitz.Kmftdtm",["2139","2142","2140","2141"],["2143","2144","2145"]),carPhotos:[5,7,8,9,10].map(e=>`${F}/blitz/Blitz kmftdtm Car 2018 Mercedes-AMG GT R (${e}).jpg`)},{name:"Candy Red",color:S1.candyRed,family:"red",...R4("blitz","Blitz.Rmftr",["2153","2156","2154","2155"],["2157","2158","2159"])}]},{name:"FRIXION 5",slug:"frixion-5",process:"Monoblock Cast",sizes:[18,19,20],price:1320,spokes:5,mesh:!1,badge:null,finishes:[{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",...R4("frixion 5","Frixion5 S MF",["1969","1972","1970","1971"]),details:[`${F}/frixion 5/Frixion5.Smf.Detail 1.2108.png`,`${F}/frixion 5/Frixion5.Smf.Detail 2.2109.png`,`${F}/frixion 5/Frixion5.Smf.Detail 3.2110.png`],wheelPhotos:Array.from({length:11},(e,t)=>`${F}/frixion 5/Frixion 5 Smf wheel (${t+1}).jpg`),carPhotos:[4,5,6,7].map(e=>`${F}/frixion 5/Frixion5 smftm car 2019 Jaguar XE SV Project 8 (${e}).jpg`),video:`${Xh}/frixion 5/frixion 5 kmftdtm smftm .mp4`},{name:"Black Machined Face",color:S1.blackMachined,family:"black",...R4("frixion 5","Frixion5 K TM",["1995","1998","1996","1997"]),details:[`${F}/frixion 5/Frixion 5.bip.Frixion5 K TM.Detail 1.1999.png`,`${F}/frixion 5/Frixion 5.bip.Frixion5 K TM.Detail 2.2000.png`,`${F}/frixion 5/Frixion 5.bip.Frixion5 K TM.Detail 3.2001.png`],wheelPhotos:[`${F}/frixion 5/Frixion 5 kmftdtm wheel (2).jpg`,`${F}/frixion 5/Frixion 5 kmftdtm wheel (3).jpg`]},{name:"Candy Red",color:S1.candyRed,family:"red",...R4("frixion 5","Frixion5 R ",["1973","1976","1974","1975"]),details:[`${F}/frixion 5/Frixion5 R .Detail 1.1960.png`,`${F}/frixion 5/Frixion5 R .Detail 2.1961.png`,`${F}/frixion 5/Frixion5 R .Detail 3.1962.png`],carPhotos:[5,6,7,8,9].map(e=>`${F}/frixion 5/Frixion5 R car 2021 Ferrari Roma (${e}).jpg`)}]},{name:"FRIXION 6",slug:"frixion-6",process:"Monoblock Cast",sizes:[18,19,20,22],price:1380,spokes:6,mesh:!1,badge:null,finishes:[{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",...R4("frixion 6","Frixion6 S MF TM",["2044","2047","2045","2046"]),details:[`${F}/frixion 6/Frixion6 S MF TM-ALUGS.Detail 1.2048.png`,`${F}/frixion 6/Frixion6 S MF TM-ALUGS.Detail 2.2049.png`,`${F}/frixion 6/Frixion6 S MF TM-ALUGS.Detail 3.2050.png`]},{name:"Black Machined Face Dark Tint",color:S1.blackMachined,family:"black",src:`${F}/frixion 6/Frixion6 K MF TD.0.2030.png`,angles:[`${F}/frixion 6/Frixion6 K MF TD.0.2030.png`,`${F}/frixion 6/Frixion6 K MF TD.20-20.2033.png`,`${F}/frixion 6/Frixion6 K MF TD.25.png`,`${F}/frixion 6/Frixion6 K MF TD.35.2032.png`],details:[`${F}/frixion 6/Frixion6 K MF TD-ALUGS.Detail 1.2034.png`,`${F}/frixion 6/Frixion6 K MF TD-ALUGS.Detail 2.2035.png`,`${F}/frixion 6/Frixion6 K MF TD-ALUGS.Detail 3.2036.png`]},{name:"Candy Red",color:S1.candyRed,family:"red",...R4("frixion 6","Frixion6 R MF TR",["2037","2040","2038","2039"]),details:[`${F}/frixion 6/Frixion6 R MF TR-ALUGS.Detail 1.2041.png`,`${F}/frixion 6/Frixion6 R MF TR-ALUGS.Detail 2.2042.png`,`${F}/frixion 6/Frixion6 R MF TR-ALUGS.Detail 3.2043.png`]}]},{name:"ROTOR",slug:"rotor",process:"Monoblock Cast",sizes:[18,19,20,22],price:1450,spokes:5,mesh:!1,badge:"bestseller",finishes:[{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",...x0("rotor",".","Rotor.Smftm")},{name:"Black Machined Face Dark Tint",color:S1.blackMachined,family:"black",...x0("rotor",".","Rotor.Kmftdtm")},{name:"Candy Red",color:S1.candyRed,family:"red",...x0("rotor",".","Rotor.Rmftr")}]},{name:"VECTOR II",slug:"vector-ii",process:"Monoblock Cast",sizes:[18,19,20],price:1420,spokes:7,mesh:!1,badge:null,finishes:[{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",...x0("vector II","-","Vector II-Smftm")},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",...x0("vector II","-","Vector II-Ktm")},{name:"Candy Red",color:S1.candyRed,family:"red",...x0("vector II","-","Vector II-Rmftr")}]},{name:"TORQUE",slug:"torque",process:"Monoblock Cast",sizes:[18,19,20],price:1390,spokes:7,mesh:!1,badge:null,finishes:[{name:"Silver Machined Face",color:S1.silverMachined,family:"silver",...x0("torque","-","Torque-Smftm")},{name:"Black Machined Face Dark Tint Satin Lacquer",color:S1.blackMachined,family:"black",...x0("torque","-","Torque-Kmftdtm")},{name:"Black Satin Lacquer",color:S1.blackSatin,family:"black",...x0("torque","-","Torque-Ktm")},{name:"Anthracite",color:S1.anthracite,family:"graphite",...x0("torque","-","Torque-A")}]}];function jW(e){return{GBP:e,USD:Math.round(e*1.28/10)*10,AUD:Math.round(e*1.92/10)*10}}var YW={"haste-ii":"A featherweight FusionForge\xAE 5-spoke built for the road \u2014 the HASTE II is our bestselling all-rounder, precise under load and unmistakable at the kerb.","force-6":"Six clean FusionForge\xAE spokes carry the FORCE 6: a wide, planted stance engineered for big-brake clearance and effortless high-speed composure.","speed-ii":"New for the season, the SPEED II sharpens the FusionForge\xAE silhouette into a taut, motorsport-inspired 5-spoke tuned for lightness and response.","vortex-ii":"The VORTEX II wraps a FusionForge\xAE core in a split-mesh face \u2014 aggressive brake cooling and a deep, dimensional look that shifts with the light.","vector-iii":"Elevate your drive with the VECTOR III: a fully forged, race-inspired open 7-spoke that aids brake cooling and cuts unsprung mass \u2014 a commitment to performance and handling.","blitz-ii":"The BLITZ II fans eight Precision Forged spokes into a fine mesh \u2014 track-bred cooling and a technical face that reads fast even at a standstill.","thrust-ii":"Our Precision Forged bestseller, the THRUST II balances a rigid 7-spoke structure with real weight savings for confident turn-in and long-haul comfort.","torque-ii":"The TORQUE II is Precision Forged for strength where it counts \u2014 a muscular 7-spoke that stays composed under power without the weight penalty.","turbine-ii":"Nine turbine-like spokes give the Monoblock Cast TURBINE II its motion \u2014 an accessible, durable wheel with a mesh face that never sits still.",blitz:"The original BLITZ: a Monoblock Cast 8-spoke mesh that brings a technical, layered look to everyday miles at a keen price.","frixion-5":"Clean, honest and Monoblock Cast \u2014 the FRIXION 5's simple 5-spoke face suits daily driving and takes finishes beautifully.","frixion-6":"The FRIXION 6 adds a spoke and a wider fitment range to the Frixion line \u2014 a versatile Monoblock Cast wheel for road and light track use.",rotor:"Our Monoblock Cast bestseller, the ROTOR pairs a bold 5-spoke face with a broad fitment range \u2014 the easy, everyday upgrade.","vector-ii":"The VECTOR II brings the Vector line's open 7-spoke geometry to a Monoblock Cast build \u2014 a lighter look and a friendlier price.",torque:"The TORQUE keeps things purposeful: a sturdy Monoblock Cast 7-spoke tuned for a planted stance and dependable street manners."},Jh=$W.map(({price:e,...t})=>({...t,prices:jW(e),description:YW[t.slug]??"",compatibleTyres:[],finishes:t.finishes.map(a=>({...a,src:a.src?M2(a.src):a.src,angles:a.angles?.map(M2),details:a.details?.map(M2),wheelPhotos:a.wheelPhotos?.map(M2),carPhotos:a.carPhotos?.map(M2),video:a.video?M2(a.video):a.video}))})),XW=new Map(Jh.map(e=>[e.slug,e]));function cl(e){return XW.get(e)}import{ProductFieldIcon as nU,BlockProductIcon as hU,ProductSizeIcon as mU,NoteIcon as pU}from"efficient-easel/icons";import{useEffect as aU,useState as yH}from"react";import{Fragment as gH,jsx as JW,jsxs as dH}from"react/jsx-runtime";function Qh({answer:e}){let t=e.tone==="no-fit"?"text-[color:var(--alert)]":e.tone==="ask"||e.tone==="checking"||e.tone==="unknown"?"text-fg":"text-accent";return dH(gH,{children:[JW("span",{className:`uppercase tracking-[0.18em] ${t}`,children:e.lead}),e.detail?dH(gH,{children:[" ",e.detail]}):null]})}function fH({wheel:e,applied:t,fit:a,resolving:c}){if(!t)return{state:"unasked"};if(c)return{state:"checking"};if(!a)return{state:"unknown",missing:"vehicle"};if(!e)return{state:"unknown",missing:"wheel"};let s=e.variants??[],l=s.length===0?So(e,a):QW(s,a);if(l===null)return{state:"fits",checks:W9(a)};let o=s.length===0?null:So(e,a),r=o!==null&&o.key===l.key?o:l;return r.key==="unverifiable"?{state:"unknown",missing:"wheel"}:r.key==="et"?{state:"fits-with-warning",checks:W9(a),warning:r}:{state:"no-fit",failure:r}}var vH=["unverifiable","pcd","bore","et"];function QW(e,t){let a=null,c=null,s=!1;for(let l of e){let o=fd(vd(l),t);if(o===null){let r=bd(l,t);if(r===null)return null;s=!0,c=c??r;continue}(a===null||vH.indexOf(o.key)>vH.indexOf(a.key))&&(a=o)}return s?c:a}function k7(e){switch(e.key){case"pcd":return`This car is ${e.vehicle} and this wheel is drilled ${e.wheel}. A different bolt pattern cannot be made to fit.`;case"et":return`This wheel is made in ${e.wheel} and this car takes ${e.vehicle}.`;case"bore":return`This wheel is bored ${e.wheel} and this car needs at least ${e.vehicle} to seat on its hub.`;default:return""}}var eU="Pick your car",tU="and we will check this size against it.";function bH(e){let t=(e.pcd??"").trim();return{pcds:t?[e.holes>0?`${e.holes}\xD7${t}`:t]:[],lugs:e.holes>0?e.holes:null,etRange:Number.isFinite(e.et)?[e.et,e.et]:null,centreBores:Number.isFinite(e.cb)&&e.cb>0?[e.cb]:[]}}function zH(e,t){let a=t.appliedName;if(a==="")return{tone:"ask",lead:eU,detail:tU};if(t.resolving)return{tone:"checking",lead:"Checking",detail:`your ${a}\u2026`};if(!t.fit)return{tone:"unknown",lead:"Cannot check",detail:`We have no factory wheel data for the ${a}, and we will not guess at a fit.`};let c=Lo(bH(e),t.fit);if(c===null)return{tone:"fits",lead:`Fits your ${a}`,detail:""};if(c.key==="unverifiable")return{tone:"unknown",lead:"Cannot check",detail:"We do not hold a bolt pattern for this size, and we will not guess at a fit."};if(c.key==="et"){let s=Lo(bH(e),{...t.fit,etRange:null});return s===null?{tone:"warn",lead:`Fits your ${a}`,detail:`Check the offset. ${k7(c)}`}:{tone:"no-fit",lead:`Does not fit your ${a}`,detail:k7(s)}}return{tone:"no-fit",lead:`Does not fit your ${a}`,detail:k7(c)}}var xH=[{fieldKey:"diameter",header:"Diameter",cell:e=>e.diameter},{fieldKey:"width",header:"Width",cell:e=>e.width},{fieldKey:"holes",header:"Holes",cell:e=>e.holes},{fieldKey:"pcd",header:"PCD",cell:e=>e.pcd},{fieldKey:"et",header:"ET",cell:e=>e.et},{fieldKey:"center_bore",header:"C/B",cell:e=>e.cb},{fieldKey:"cap_code",header:"Cap",cell:e=>e.cap},{fieldKey:"bolt_pattern",header:"Bolt Pattern",cell:e=>e.boltPattern},{fieldKey:"load_rating",header:"Load Rating",cell:e=>e.loadRating}];function wH(e){if(e.length===0)return xH;let t=Fd(e),a=xH.filter(c=>t(c.fieldKey));return Sa(a,c=>c.fieldKey,e,"fitmentOrder")}import{Fragment as lU,jsx as h2,jsxs as z5}from"react/jsx-runtime";var cU=[],sU="whitespace-nowrap border-b border-line px-4 py-3.5",kH="relative cursor-pointer border-2 px-3.5 py-2 font-mono text-[length:var(--size-label,12px)] font-semibold uppercase tracking-[0.18em] text-fg transition-colors",MH="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",CH="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-0 max-[1100px]:pb-20",LH={background:"color-mix(in oklab, var(--accent) 14%, transparent)"},SH=(e,t)=>t.map(a=>a.cell(e)).join("|");function xt({num:e,title:t,description:a,rows:c,showFilter:s=!0,tooltipDefaultOn:l=!0,footnote:o,footnoteLinkText:r,footnoteLinkHref:i,editing:n=!1,omitHead:h=!1,fieldUsage:m=cU}){let p=c??[],u=wH(m),[d,g]=yH(null),[z,f]=yH(l);aU(()=>f(l),[l]);let b=E3({editing:n}),y=u.length===0;if(p.length===0||y)return n?z5("section",{className:h?CH:MH,children:[h?null:h2(j1,{num:e!=null?k(e):void 0,title:t!=null?U(t,!1):void 0,description:a!=null?k(a):void 0,accent:!0}),h2("p",{className:"border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:y?"Every fitment column is hidden in Product Types \u2014 show one to draw this table.":"No fitment data for this wheel \u2014 pick a wheel with fitment specs."})]}):null;let C=new Set,S=p.filter(B=>{let N=SH(B,u);return C.has(N)?!1:(C.add(N),!0)}),H=Array.from(new Set(S.map(B=>B.diameter))).sort((B,N)=>B-N),_=d!==null&&H.includes(d)?d:null,Z=_===null?S:S.filter(B=>B.diameter===_),q=s&&H.length>1,j=B=>{if(B===0)return!1;let N=Z[B-1],D=Z[B];return N.diameter!==D.diameter||N.width!==D.width};return z5("section",{className:h?CH:MH,children:[h?null:h2(j1,{num:e!=null?k(e):void 0,title:t!=null?U(t,!1):void 0,description:a!=null?k(a):void 0,accent:!0}),z5("div",{className:"mb-6 flex flex-wrap items-center gap-x-2 gap-y-3",children:[q&&z5(lU,{children:[h2("span",{className:"mr-2 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-fg-dim max-[720px]:mr-0 max-[720px]:mb-1 max-[720px]:w-full",children:"Filter by size:"}),z5("button",{type:"button",onClick:()=>g(null),className:`${kH} ${_===null?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"}`,style:_===null?LH:void 0,children:[_===null&&h2("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),"All"]}),H.map(B=>{let N=B===_;return z5("button",{type:"button",onClick:()=>g(N?null:B),className:`${kH} ${N?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"}`,style:N?LH:void 0,children:[N&&h2("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),B,'"']},B)})]}),z5("button",{type:"button",onClick:()=>f(B=>!B),"aria-pressed":z,"aria-label":z?"Hide vehicle tooltip":"Show vehicle tooltip",className:"ml-auto inline-flex items-center gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-fg-dim transition-colors hover:text-fg max-[720px]:hidden",children:[h2("span",{children:"Vehicle tooltip"}),h2("span",{className:`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 transition-colors ${z?"border-accent":"border-fg-dim/50"}`,style:z?{background:"color-mix(in oklab, var(--accent) 30%, transparent)"}:void 0,"aria-hidden":!0,children:h2("span",{className:`block h-3 w-3 rounded-full transition-transform ${z?"translate-x-[18px] bg-accent":"translate-x-[2px] bg-fg-dim"}`})}),h2("span",{className:z?"text-accent":"text-fg-dim",children:z?"On":"Off"})]})]}),h2("div",{className:"-mx-1 overflow-x-auto",children:z5("table",{className:"w-full border-collapse font-mono text-[length:var(--size-label,14px)] tracking-[0.06em] text-fg",children:[h2("thead",{children:h2("tr",{children:u.map(({header:B},N)=>h2("th",{className:"whitespace-nowrap border-b border-line bg-surface px-4 py-3.5 text-left text-[length:var(--size-body,12px)] font-normal uppercase tracking-[0.22em] text-fg-dim",children:B},N))})}),h2("tbody",{children:Z.map((B,N)=>h2("tr",{className:`group transition-colors hover:[&>td]:bg-surface ${j(N)?"[&>td]:border-t [&>td]:border-line":""}`,children:u.map((D,T)=>{let R=T===u.length-1,i1=D.fieldKey==="diameter";return z5("td",{className:`${R?"relative ":""}${sU}${i1?" text-accent":""}`,children:[D.cell(B),R&&z&&h2("span",{role:"tooltip",className:"pointer-events-none absolute top-1/2 right-0 z-20 hidden w-[520px] -translate-y-1/2 whitespace-normal bg-[var(--tooltip-bg)] px-3 py-2 text-right font-mono text-[length:var(--size-label,11px)] normal-case tracking-[0.12em] text-fg shadow-lg group-hover:block max-[720px]:!hidden",children:h2(Qh,{answer:zH(B,b)})})]},D.fieldKey)})},SH(B,u)))})]})}),h2(B5,{text:o,linkText:r,linkHref:i})]})}import{jsx as em}from"react/jsx-runtime";var oU=["alloy-wheel"];function tm(e){return em(e2,{kinds:oU,type:"FitmentTable",editing:e.editing,children:em(rU,{...e})})}function rU({num:e,title:t,description:a,showFilter:c,tooltipDefaultOn:s,footnote:l,footnoteLinkText:o,footnoteLinkHref:r,editing:i=!1,omitHead:n=!1}){let h=A0(),m=O2(i&&!h),p=h?.product??m,u=p?.kind==="alloy-wheel"?p.source.fitments??[]:[];return em(xt,{num:e,title:t,description:a,rows:u,showFilter:c,tooltipDefaultOn:s,footnote:l,footnoteLinkText:o,footnoteLinkHref:r,editing:i,omitHead:n,fieldUsage:h?.fieldUsage})}function AH(e,t){return t||e.dynamic===!0}import{jsx as HH}from"react/jsx-runtime";function am({dynamic:e,wheel:t,omitHead:a=!1,...c}){let s=A0()!==null||!!c.editing&&g2();return AH({dynamic:e,wheel:t},s)?HH(tm,{...c,omitHead:a}):HH(xt,{...c,omitHead:a,rows:d9(typeof t=="string"?t:"")})}import{jsx as iU}from"react/jsx-runtime";var Q3={num:L.sectionNumber,title:"Specifications *table.*",description:L.body,footnote:"Add a short footnote here.",footnoteLinkText:"Contact us"},FH={label:"Fitment Table",defaultProps:{dynamic:!1,num:"",title:"",description:"",wheel:"",showFilter:!0,tooltipDefaultOn:!0,footnote:"",footnoteLinkText:"",footnoteLinkHref:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return iU(am,{dynamic:e.dynamic,wheel:e.wheel,num:a(x(e.num,Q3.num,e.puck)),title:a(x(e.title,Q3.title,e.puck)),description:a(x(e.description,Q3.description,e.puck)),omitHead:t,showFilter:e.showFilter,tooltipDefaultOn:e.tooltipDefaultOn,footnote:x(e.footnote,Q3.footnote,e.puck),footnoteLinkText:x(e.footnoteLinkText,Q3.footnoteLinkText,e.puck),footnoteLinkHref:Y(e.footnoteLinkHref),editing:e.puck?.isEditing})}};import{jsx as sl}from"react/jsx-runtime";var uU=Jh.filter(e=>d9(e.slug).length>0).map(e=>({value:e.slug,label:e.name})),TH={fields:{_gDynamic:v("Product page"),dynamic:e1("Connect to product data",!1,sl(nU,{})),_gContent:v("Header"),num:A("Number",Q3.num),title:A("Heading",Q3.title),description:V("Body",Q3.description),_gData:v("Wheel"),wheel:h1("Product",sl(hU,{}),uU,"vector-iii"),_gOptions:v("Controls"),showFilter:e1("Size-filter chips",!0,sl(mU,{})),tooltipDefaultOn:e1("Detail tooltip on by default",!0,sl(pU,{})),_gFootnote:v("Footnote"),footnote:V("Footnote",Q3.footnote),footnoteLinkText:A("Footnote button",Q3.footnoteLinkText),footnoteLinkHref:w1("Footnote link")},resolveFields:(e,{fields:t,parent:a})=>{let c={...t},s=l=>E1(Z1(l,a,R1),e.props.headPlacement,F1.FitmentTable.headRows);return delete c._gDynamic,delete c.dynamic,g2()&&(delete c._gData,delete c.wheel),s(c)}};import{SettingsField as PH}from"efficient-easel/panel";import{BlockProductIcon as fU,CategoryIcon as bU}from"efficient-easel/icons";import{useEffect as sm,useMemo as zU,useRef as ll,useState as ol}from"react";import{useEffect as gU,useMemo as VH,useState as dU}from"react";var x5="__all__";function vU(e,t){let a=new Set((e??[]).map(c=>c.name));return t!==x5&&a.add(t),[...a].sort((c,s)=>c.localeCompare(s))}function cm(e,t){return t===x5?e??[]:(e??[]).filter(a=>a.process===t)}function x6(e,t,a){let[c,s]=dU(x5);gU(()=>{a?.process&&s(a.process)},[a]);let l=VH(()=>vU(t,c),[t,c]),o=VH(()=>cm(e,c),[e,c]);return{category:c,setCategory:s,categoryNames:l,filtered:o}}import{Fragment as EH,jsx as y2,jsxs as M7}from"react/jsx-runtime";var e4="__all__";function xU(e,t){return t===e4?e:e.filter(a=>a.process===t)}function v9(e,t){return e.map(a=>({image:a.items[0]?.url,photos:a.items.map(c=>({src:c.url})),href:`/wheels/${t.slug}`,process:t.process,eyebrow:a.name,name:t.name,meta:a.finish})).filter(a=>!!a.image)}function BH(e){let t=p4();return t?h4.getWheelDetail(t,e,{siteId:Z2()}):Promise.reject(new Error("editor not authenticated"))}async function wU(e){let t=await BH(e),a={slug:t.slug,name:t.name,process:t.process},c=t.mediaGroups??{photos:[],lifestyle:[],videos:[],accessories:[],others:[]};return{...a,vehicleCards:v9(c.lifestyle??[],a),wheelCards:v9(c.photos??[],a),othersCards:v9(c.others??[],a)}}async function yU(e,t){let a=await Promise.all(e.map(o=>BH(o.slug).catch(()=>null))),c=[],s=[],l=[];for(let o of a){if(!o)continue;let r={slug:o.slug,name:o.name,process:o.process},i=o.mediaGroups??{photos:[],lifestyle:[],videos:[],accessories:[],others:[]};c.push(...v9(i.lifestyle??[],r)),s.push(...v9(i.photos??[],r)),l.push(...v9(i.others??[],r))}return{slug:e4,name:t===e4?"All products":t,process:"",vehicleCards:c,wheelCards:s,othersCards:l,category:t}}function lm({value:e,onChange:t}){let a=u4(),[c,s]=ol(null),[l,o]=ol(null),[r,i]=ol(!1),[n,h]=ol(!1),m=ll(!0),p=ll(e);p.current=e;let u=ll(t);u.current=t;let d=(O,m1=!1)=>{i(!0),m1||h(!1),O().then(Q=>{m.current&&(a5(Q,p.current)&&u.current(Q),h(!1))}).catch(()=>{m.current&&!m1&&h(!0)}).finally(()=>{m.current&&i(!1)})},g=(O,m1=!1)=>d(()=>wU(O),m1),z=(O,m1=!1)=>d(()=>yU(xU(c??[],O),O),m1);sm(()=>(m.current=!0,e3().then(O=>{m.current&&s(O)}),x3().then(O=>{m.current&&o(O)}),()=>{m.current=!1}),[]);let f=ll(!1);sm(()=>{if(f.current)return;let O=p.current;if(!O?.slug){f.current=!0;return}if(O.slug===e4){if(c===null)return;f.current=!0,z(O.category??e4,!0)}else f.current=!0,g(O.slug,!0)},[c]);let b=e?.slug===e4,y=zU(()=>c&&e?.slug&&!b?c.find(O=>O.slug===e.slug)??null:null,[c,e?.slug,b]),{category:C,setCategory:S,categoryNames:H,filtered:_}=x6(c,l);sm(()=>{b?e?.category&&S(e.category):y?.process&&S(y.process)},[y,b,e?.category]);let Z=c===null,q=!!e?.slug&&!b&&c!==null&&!y,j=O=>{if(!O){t(null);return}if(O===e4){z(C);return}g(O)},B=O=>{S(O),p.current?.slug===e4&&z(O)},N=()=>{e?.slug&&(e3(!0).then(O=>{m.current&&s(O)}),b?z(e.category??e4):g(e.slug))},D=()=>{e?.slug&&a.send("storefront-editor:open-product",{slug:e.slug,name:e.name})},T=(e?.vehicleCards.length??0)+(e?.wheelCards.length??0)+(e?.othersCards?.length??0),R=n?"error":r?"loading":"idle",i1=n?"Couldn\u2019t reach the product catalog.":r?"Syncing media from the catalog\u2026":q?`Linked to \u201C${e?.name??""}\u201D \u2014 no longer in the catalog.`:`Linked to \u201C${e?.name??""}\u201D \xB7 ${T} card${T===1?"":"s"} from ${b?"all products\u2019":"its"} media groups.`;return M7("div",{children:[y2(PH,{label:"Category",icon:y2(bU,{}),children:M7("select",{value:C,onChange:O=>B(O.target.value),disabled:Z,children:[y2("option",{value:e4,children:"All products"}),H.map(O=>y2("option",{value:O,children:O},O))]})}),y2(PH,{label:"Product",icon:y2(fU,{}),children:M7("select",{value:e?.slug??"",onChange:O=>j(O.target.value),disabled:Z||r,children:[y2("option",{value:"",children:Z?"Loading\u2026":"None (write the cards yourself)"}),y2("option",{value:e4,children:"All products"}),q?M7("option",{value:e.slug,children:[e.name," (unavailable)"]}):null,_.map(O=>y2("option",{value:O.slug,children:O.name},O.slug))]})}),e?.slug?y2(v3,{status:R,statusText:i1,onRefresh:N,busy:r,edit:b?void 0:{label:"Edit product \u270E",onClick:D},hint:b?M7(EH,{children:["Pools ",y2("strong",{children:"every product\u2019s"})," grouped media: each one\u2019s"," ",y2("strong",{children:"Relative / lifestyle photos"})," feed Gallery A, its"," ",y2("strong",{children:"Product photos"})," Gallery B and its ",y2("strong",{children:"Others"})," the Others gallery. Every media group becomes a card, attributed to its own product (title, link and tag). Narrow the set with the Category filter above. Headings, intro copy and stats stay yours."]}):M7(EH,{children:["Gallery A comes from the product\u2019s ",y2("strong",{children:"Relative / lifestyle photos"}),", Gallery B from its ",y2("strong",{children:"Product photos"})," and the Others gallery from its ",y2("strong",{children:"Others"})," \u2014 edit those in the product\u2019s Media tab and refresh. Each media group is a card: its name is the eyebrow, its finish the meta line; the card\u2019s title is the product name and its tag the category. Headings, intro copy and stats stay yours."]})}):M7("p",{className:"sf-blogsource-hint",style:{marginTop:7},children:["Pick a product \u2014 or ",y2("strong",{children:"All products"})," \u2014 to build the galleries from media groups, or keep \u201CNone\u201D to author the cards yourself."]})]})}import{EyeIcon as CU,TabsIcon as IH,BreadcrumbIcon as LU,HashIcon as RH,SortIcon as SU}from"efficient-easel/icons";import{useEffect as kU,useMemo as NH,useState as rl}from"react";import{Fragment as il,jsx as O1,jsxs as P0}from"react/jsx-runtime";function om(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function rm(e){let t=[e.image,...(e.photos??[]).map(a=>a?.src)].filter(a=>!!a);return t.length?t:[""]}var im=Array.from({length:6},(e,t)=>({image:"",process:"Tag",eyebrow:"Category",name:"Item name",meta:`0${t+1} photos`}));function nm({mode:e="both",kicker:t,breadcrumbLabel:a,vehicleTabLabel:c="Gallery A",vehicleTitle:s,vehicleBody1:l,vehicleBody2:o,vehicleStats:r,vehicleCards:i,wheelTabLabel:n="Gallery B",wheelTitle:h,wheelBody1:m,wheelBody2:p,wheelStats:u,wheelCards:d,othersTitle:g,othersBody1:z,othersBody2:f,othersStats:b,othersCards:y,showBreadcrumb:C=!0,showStats:S=!0,showIntro:H=!0,showTabs:_=!0,showFilters:Z=!0,showCount:q=!0,showSort:j=!0,previewTab:B,previewHover:N=!1,editing:D=!1}){let T=e==="both",R=T?["vehicles","wheels"]:e==="wheels"?["wheels"]:e==="others"?["others"]:["vehicles"],[i1,O]=rl(R[0]),Q=(D&&T&&B&&R.includes(B)?B:null)??(R.includes(i1)?i1:R[0]),K=D&&N,[a1,B1]=rl("all"),[X,D1]=rl("newest"),[t0,I]=rl(null);kU(()=>{if(!t0)return;let g1=rm(t0.card).length,W1=q0=>{q0.key==="Escape"?I(null):q0.key==="ArrowLeft"&&g1>1?I(o0=>o0&&{...o0,index:(o0.index-1+g1)%g1}):q0.key==="ArrowRight"&&g1>1&&I(o0=>o0&&{...o0,index:(o0.index+1)%g1})};window.addEventListener("keydown",W1);let _0=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",W1),document.body.style.overflow=_0}},[t0]);let H1=Q==="vehicles"?{title:s,body1:l,body2:o,stats:r??[],cards:i??[],unit:"items",word:c}:Q==="others"?{title:g,body1:z,body2:f,stats:b??[],cards:y??[],unit:"items",word:"Others"}:{title:h,body1:m,body2:p,stats:u??[],cards:d??[],unit:"items",word:n},f1=NH(()=>{let g1=[];for(let W1 of H1.cards)W1.process&&!g1.includes(W1.process)&&g1.push(W1.process);return g1},[H1.cards]),J2=a1!=="all"&&f1.includes(a1)?a1:"all",G0=J2==="all"?H1.cards:H1.cards.filter(g1=>g1.process===J2),q1=NH(()=>{let g1=[...G0];return X==="name"&&g1.sort((W1,_0)=>(W1.name??"").localeCompare(_0.name??"")),g1},[G0,X]),p3=H1.cards.length===0,h0=D&&p3,R3=h0?im:q1,g0=h0?im.length:H1.cards.length,k3=h0?im.length:q1.length,l4=t?`${t} \xB7 ${K0(H1.word)}`:void 0;function E2(g1){g1!==Q&&(O(g1),B1("all"))}return P0("section",{className:"relative z-[2] bg-bg",children:[C&&P0("nav",{className:"mx-auto flex max-w-[var(--sf-site-width,1600px)] items-center gap-4 border-b border-line px-[var(--sf-site-gutter,40px)] py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[720px]:py-4",children:[O1("span",{className:"hover:text-fg",children:"Home"}),O1("span",{className:"opacity-40",children:"/"}),O1("span",{className:"text-fg",children:a?z0(a):"Gallery"})]}),P0("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[auto_1fr_auto] items-end gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] pt-[100px] pb-[60px] max-[1100px]:grid-cols-1 max-[1100px]:gap-5 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-[60px]",children:[O1("span",{className:"pb-3.5 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em] text-accent",children:l4?k(l4):null}),O1("h2",{className:"font-display text-[length:min(var(--size-headingLarge,clamp(64px,9vw,140px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.9] tracking-[-0.04em]",children:H1.title?U(H1.title,!0):null}),O1("div",{className:"pb-3.5 text-right font-mono text-[length:var(--size-label,13px)] uppercase leading-[1.8] tracking-[0.18em] text-fg-dim max-[1100px]:text-left",children:S&&H1.stats.map((g1,W1)=>P0("div",{children:[g1.value?O1("strong",{className:"font-normal text-fg",children:k(g1.value)}):null," ",g1.label?k(g1.label):null]},W1))})]}),H&&(H1.body1||H1.body2)&&P0("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-2 gap-[60px] px-[var(--sf-site-gutter,40px)] pt-7 max-[1100px]:grid-cols-1 max-[1100px]:gap-4 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[H1.body1&&O1("p",{className:"max-w-[540px] font-display text-[length:var(--size-body,17px)] leading-[1.6] text-fg-dim",children:k(H1.body1)}),H1.body2&&O1("p",{className:"max-w-[540px] font-display text-[length:var(--size-body,17px)] leading-[1.6] text-fg-dim",children:k(H1.body2)})]}),T&&_&&O1("div",{className:"mx-auto mt-10 flex max-w-[var(--sf-site-width,1600px)] items-stretch border-y border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[720px]:px-3",children:["vehicles","wheels"].map((g1,W1)=>{let _0=Q===g1,q0=g1==="vehicles"?c:n,o0=g1==="vehicles"?(i??[]).length:(d??[]).length,W0=(q0||"").trim().split(/\s+/),$=W0.slice(0,-1).join(" "),N1=W0.slice(-1)[0]??"";return P0("button",{type:"button",onClick:()=>E2(g1),className:["group relative grid flex-1 cursor-pointer grid-cols-[auto_1fr_auto] items-end gap-5 px-6 py-7 text-left transition-colors",W1===0?"border-r border-line":"","max-[720px]:grid-cols-[auto_1fr] max-[720px]:items-center max-[720px]:gap-2 max-[720px]:px-3 max-[720px]:py-3",_0?"bg-surface":"hover:bg-fg/[0.04]"].join(" "),children:[O1("span",{className:["pb-1.5 font-mono text-[length:var(--size-label,13px)] tracking-[0.3em] max-[720px]:pb-0 max-[720px]:text-[length:var(--size-label,11px)] max-[720px]:tracking-[0.24em]",_0?"text-accent":"text-fg-dim group-hover:text-accent"].join(" "),children:W1===0?"A":"B"}),P0("span",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(28px,3.6vw,48px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] max-[720px]:text-[length:var(--size-body,15px)]",children:[$?P0(il,{children:[z0($)," "]}):null,O1("em",{className:"font-normal italic text-accent",children:z0(N1)})]}),P0("span",{className:"pb-1.5 text-right font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.7] tracking-[0.24em] text-fg-dim max-[720px]:hidden",children:[O1("strong",{className:"font-normal text-fg",children:o0})," ","items",O1("br",{}),g1==="vehicles"?"Community photos":"Featured photos"]}),_0&&O1("span",{className:"pointer-events-none absolute inset-x-0 -bottom-px h-0.5 bg-accent"})]},g1)})}),(Z||q||j)&&P0("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[auto_1fr_auto] items-center gap-7 border-b border-line px-[var(--sf-site-gutter,40px)] py-5 max-[720px]:grid-cols-1 max-[720px]:gap-3.5 max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[720px]:py-3",style:{background:"color-mix(in oklab, var(--bg) 92%, transparent)"},children:[O1("div",{className:"flex flex-wrap gap-1",children:Z&&["all",...f1].map(g1=>{let W1=J2===g1,_0=g1==="all"?"All":g1;return O1("button",{type:"button",onClick:()=>B1(g1),className:["cursor-pointer border px-3.5 py-2.5 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] transition-colors",W1?"border-fg bg-fg text-bg":"border-transparent text-fg-dim hover:text-fg"].join(" "),children:z0(_0)},g1)})}),q?P0("div",{className:"text-center font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:[O1("strong",{className:"font-normal text-accent",children:k3})," / ",g0," ",H1.unit]}):O1("div",{}),j?P0("div",{className:"flex items-center gap-3 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:[O1("span",{children:"Sort"}),P0(X9,{value:X,onChange:g1=>D1(g1.target.value),className:"cursor-pointer border border-line bg-bg px-2.5 py-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg",children:[O1("option",{value:"newest",children:"Newest"}),O1("option",{value:"featured",children:"Featured"}),O1("option",{value:"name",children:"Name A\u2013Z"})]})]}):O1("div",{})]}),O1("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-5 pb-20 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))]",children:R3.length>0?O1("div",{className:"grid grid-cols-6 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:R3.map((g1,W1)=>{let _0=rm(g1)[0],o0=`group relative block aspect-[4/3] w-full overflow-hidden bg-surface-2 text-left ${W1<2?"col-span-3 max-[1100px]:col-span-1":"col-span-2 max-[1100px]:col-span-1"}`,W0=`${g1.name??"card"}-${W1}`,$=P0(il,{children:[O1(T0,{label:om(g1.name,`gallery-card-${W1+1}`),src:_0||void 0,alt:K0(g1.name??""),sizes:"(max-width: 720px) 100vw, (max-width: 1100px) 50vw, 33vw",className:`transition-transform duration-700 ${K?"scale-[1.04]":"group-hover:scale-[1.04]"}`}),P0("div",{className:"pointer-events-none absolute inset-0 z-10 flex flex-col justify-between p-[22px] max-[720px]:p-[11px]",style:{background:"linear-gradient(180deg, rgba(10,10,10,.55) 0%, transparent 35%, transparent 55%, rgba(10,10,10,.92) 100%)"},children:[P0("div",{className:"flex items-start justify-between font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em]",children:[g1.process?O1("span",{className:"text-accent",children:k(g1.process)}):O1("span",{}),P0("span",{className:"text-overlay-fg/70",children:[String(W1+1).padStart(2,"0")," / ",String(R3.length).padStart(2,"0")]})]}),P0("div",{className:"flex flex-col gap-1.5",children:[g1.eyebrow&&O1("div",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:k(g1.eyebrow)}),g1.name&&O1("div",{className:"font-heading3 text-[length:var(--size-headingSmall,clamp(22px,2.4vw,32px))] font-medium uppercase leading-none tracking-[-0.02em] text-overlay-fg",children:k(g1.name)}),g1.meta&&O1("div",{className:"flex flex-wrap gap-3 pt-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.2em] text-overlay-fg/70",children:O1("span",{children:k(g1.meta)})})]})]})]});return D?O1("div",{className:o0,children:$},W0):O1("button",{type:"button",onClick:()=>I({card:g1,index:0}),"aria-label":`Open ${g1.name??"gallery item"}`,className:`${o0} cursor-pointer focus:outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2`,children:$},W0)})}):O1("div",{className:"py-20 text-center font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em] text-fg-dim",children:p3?"No items in this gallery yet.":"No items match this filter."})}),t0&&(()=>{let g1=rm(t0.card),{card:W1,index:_0}=t0,q0=g1.length,o0=g1[_0]??g1[0]??"",W0=N1=>I(y0=>y0&&{...y0,index:(y0.index+N1+q0)%q0}),$=[W1.process,W1.meta].filter(Boolean).join(" \xB7 ");return P0("div",{role:"dialog","aria-modal":"true","aria-label":W1.name??"Gallery item",onClick:()=>I(null),className:"fixed inset-0 z-[100] flex cursor-zoom-out flex-col items-center justify-center bg-overlay-scrim/92 p-6 backdrop-blur-sm max-[720px]:p-3",children:[P0("div",{className:"relative flex w-full flex-1 items-center justify-center",children:[O1("div",{className:"relative h-full max-h-[72vh] w-full max-w-[92vw]",children:O1(T0,{label:om(W1.name,"gallery-photo"),src:o0||void 0,alt:K0(W1.name??""),objectFit:"contain",sizes:"92vw"})}),q0>1&&P0(il,{children:[O1("button",{type:"button","aria-label":"Previous photo",onClick:N1=>{N1.stopPropagation(),W0(-1)},className:"absolute left-2 top-1/2 flex h-12 w-12 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u25C1"}),O1("button",{type:"button","aria-label":"Next photo",onClick:N1=>{N1.stopPropagation(),W0(1)},className:"absolute right-2 top-1/2 flex h-12 w-12 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u25B7"})]})]}),P0("div",{className:"mt-5 flex flex-col items-center gap-3 text-center font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",onClick:N1=>N1.stopPropagation(),children:[P0("div",{className:"flex flex-col items-center gap-1",children:[W1.name&&O1("span",{className:"text-accent",children:k(W1.name)}),W1.eyebrow&&O1("span",{children:k(W1.eyebrow)}),P0("span",{className:"text-fg-dim/70",children:[$?P0(il,{children:[k($)," \xB7 "]}):null,_0+1," / ",q0]})]}),W1.href&&O1(r0,{href:W1.href,onClick:()=>I(null),className:"cursor-pointer border border-btn bg-btn/[0.08] px-5 py-2.5 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.28em] text-btn transition-colors hover:bg-btn hover:text-btn-ink",children:"View Product \u2192"})]}),q0>1&&O1("div",{onClick:N1=>N1.stopPropagation(),className:"mt-5 flex max-w-[92vw] gap-1.5 overflow-x-auto pb-1",children:g1.map((N1,y0)=>O1("button",{type:"button","aria-label":`Photo ${y0+1}`,onClick:()=>I(B2=>B2&&{...B2,index:y0}),className:["relative h-16 w-24 shrink-0 cursor-pointer overflow-hidden border transition-colors max-[720px]:h-12 max-[720px]:w-16",y0===_0?"border-accent":"border-line opacity-60 hover:border-fg-dim hover:opacity-100"].join(" "),children:O1(T0,{label:om(W1.name,"gallery-photo"),src:N1||void 0,alt:"",sizes:"120px"})},`${N1}-${y0}`))}),O1("button",{type:"button",onClick:()=>I(null),"aria-label":"Close",className:"absolute right-5 top-5 flex h-10 w-10 cursor-pointer items-center justify-center border border-fg-dim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\xD7"})]})})()]})}import{jsx as MU}from"react/jsx-runtime";var t2={kicker:L.eyebrow,vehicleTitle:L.headingAccent,wheelTitle:L.headingAccent,vehicleBody1:L.body,vehicleBody2:"Add a second, shorter line if you need one.",wheelBody1:L.body,wheelBody2:"Add a second, shorter line if you need one.",othersTitle:L.headingAccent,othersBody1:L.body,othersBody2:"Add a second, shorter line if you need one."},hm=[{value:"00",label:L.label},{value:"00",label:L.label},{value:"00",label:L.label}],mm=[{image:"",href:"#",process:L.category,eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:L.category,eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:L.category,eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:L.category,eyebrow:"Subtitle",name:"Item name",meta:"Detail"}],ZH={label:"Tabbed Gallery",defaultProps:{mode:"both",source:null,kicker:"",breadcrumbLabel:"Gallery",vehicleTabLabel:"Gallery A",vehicleTitle:"",vehicleBody1:"",vehicleBody2:"",vehicleStats:[],vehicleCards:[],wheelTabLabel:"Gallery B",wheelTitle:"",wheelBody1:"",wheelBody2:"",wheelStats:[],wheelCards:[],othersTitle:"",othersBody1:"",othersBody2:"",othersStats:[],othersCards:[],showBreadcrumb:!0,showStats:!0,showIntro:!0,showTabs:!0,showFilters:!0,showCount:!0,showSort:!0,previewTab:"vehicles",previewHover:!1},render:e=>{let t=e.source;return MU(nm,{mode:e.mode,kicker:x(e.kicker,t2.kicker,e.puck),breadcrumbLabel:Y(e.breadcrumbLabel)||"Gallery",vehicleTabLabel:Y(e.vehicleTabLabel)||"Gallery A",vehicleTitle:x(e.vehicleTitle,t2.vehicleTitle,e.puck),vehicleBody1:x(e.vehicleBody1,t2.vehicleBody1,e.puck),vehicleBody2:x(e.vehicleBody2,t2.vehicleBody2,e.puck),vehicleStats:d1(e.vehicleStats,hm,e.puck),vehicleCards:d1(t?.vehicleCards??e.vehicleCards,mm,e.puck),wheelTabLabel:Y(e.wheelTabLabel)||"Gallery B",wheelTitle:x(e.wheelTitle,t2.wheelTitle,e.puck),wheelBody1:x(e.wheelBody1,t2.wheelBody1,e.puck),wheelBody2:x(e.wheelBody2,t2.wheelBody2,e.puck),wheelStats:d1(e.wheelStats,hm,e.puck),wheelCards:d1(t?.wheelCards??e.wheelCards,mm,e.puck),othersTitle:x(e.othersTitle,t2.othersTitle,e.puck),othersBody1:x(e.othersBody1,t2.othersBody1,e.puck),othersBody2:x(e.othersBody2,t2.othersBody2,e.puck),othersStats:d1(e.othersStats,hm,e.puck),othersCards:d1(t?.othersCards??e.othersCards,mm,e.puck),showBreadcrumb:e.showBreadcrumb,showStats:e.showStats,showIntro:e.showIntro,showTabs:e.showTabs,showFilters:e.showFilters,showCount:e.showCount,showSort:e.showSort,previewTab:e.previewTab,previewHover:e.previewHover,editing:e.puck?.isEditing})}};import{jsx as w5}from"react/jsx-runtime";var _H={fields:{_sSetup:K1("Setup"),_gGallery:v("Gallery"),mode:p1("Show",w5(CU,{}),[{label:"Gallery A",value:"vehicles"},{label:"Gallery B",value:"wheels"},{label:"Others",value:"others"},{label:"Both",value:"both"}],"both"),kicker:A("Eyebrow",t2.kicker),breadcrumbLabel:P("Breadcrumb label","Gallery"),_gSource:v("Source product"),source:E0(lm),_sPreview:K1("Preview"),_gPreview:v(fc),previewTab:p1("Show tab",w5(IH,{}),[{label:"Gallery A",value:"vehicles"},{label:"Gallery B",value:"wheels"}],"vehicles"),_sVehicle:K1("Gallery A"),_gVehicleContent:v("Content"),vehicleTabLabel:P("Tab label","Gallery A"),vehicleTitle:V("Heading",t2.vehicleTitle),vehicleBody1:V("Intro",t2.vehicleBody1),vehicleBody2:V("Body",t2.vehicleBody2),_gVehicleStats:v("Stats"),vehicleStats:{type:"array",label:"Stats",arrayFields:{value:n1("Value"),label:n1("Label")},getItemSummary:e=>e.label||e.value||"stat"},_gVehicleCards:v("Cards"),vehicleCards:{type:"array",label:"Cards",arrayFields:{image:V1("Cover image","image/*"),photos:{type:"array",label:"More images",arrayFields:{src:V1("Image","image/*")},getItemSummary:(e,t)=>`Image ${(t??0)+1}`},href:w1("Product link"),process:n1("Tag"),eyebrow:n1("Eyebrow"),name:n1("Title"),meta:n1("Meta line")},getItemSummary:e=>e.name||e.eyebrow||"card"},_sWheel:K1("Gallery B"),_gWheelContent:v("Content"),wheelTabLabel:P("Tab label","Gallery B"),wheelTitle:V("Heading",t2.wheelTitle),wheelBody1:V("Intro",t2.wheelBody1),wheelBody2:V("Body",t2.wheelBody2),_gWheelStats:v("Stats"),wheelStats:{type:"array",label:"Stats",arrayFields:{value:n1("Value"),label:n1("Label")},getItemSummary:e=>e.label||e.value||"stat"},_gWheelCards:v("Cards"),wheelCards:{type:"array",label:"Cards",arrayFields:{image:V1("Cover image","image/*"),photos:{type:"array",label:"More images",arrayFields:{src:V1("Image","image/*")},getItemSummary:(e,t)=>`Image ${(t??0)+1}`},href:w1("Product link"),process:n1("Tag"),eyebrow:n1("Eyebrow"),name:n1("Title"),meta:n1("Meta line")},getItemSummary:e=>e.name||e.eyebrow||"card"},_sOthers:K1("Others gallery"),_gOthersContent:v("Content"),othersTitle:V("Heading",t2.othersTitle),othersBody1:V("Intro",t2.othersBody1),othersBody2:V("Body",t2.othersBody2),_gOthersStats:v("Stats"),othersStats:{type:"array",label:"Stats",arrayFields:{value:n1("Value"),label:n1("Label")},getItemSummary:e=>e.label||e.value||"stat"},_gOthersCards:v("Cards"),othersCards:{type:"array",label:"Cards",arrayFields:{image:V1("Cover image","image/*"),photos:{type:"array",label:"More images",arrayFields:{src:V1("Image","image/*")},getItemSummary:(e,t)=>`Image ${(t??0)+1}`},href:w1("Product link"),process:n1("Tag"),eyebrow:n1("Eyebrow"),name:n1("Title"),meta:n1("Meta line")},getItemSummary:e=>e.name||e.eyebrow||"card"},_sVisibility:K1("Visibility"),_gElements:v("Show / hide elements"),showBreadcrumb:e1("Breadcrumb",!0,w5(LU,{})),showStats:e1("Stats",!0,w5(RH,{})),showIntro:e1("Intro text",!0,w5(g3,{noun:"intro"})),showTabs:e1("Tab switcher",!0,w5(IH,{})),showFilters:e1("Tag filters",!0,w5(g3,{noun:"tag"})),showCount:e1("Result count",!0,w5(RH,{})),showSort:e1("Sort control",!0,w5(SU,{}))},resolveFields:(e,{fields:t})=>{let a=e.props,c={...t};a.mode!=="both"&&(delete c._sPreview,delete c._gPreview,delete c.previewTab);let s=["_sVehicle","_gVehicleContent","vehicleTabLabel","vehicleTitle","vehicleBody1","vehicleBody2","_gVehicleStats","vehicleStats","_gVehicleCards","vehicleCards"],l=["_sWheel","_gWheelContent","wheelTabLabel","wheelTitle","wheelBody1","wheelBody2","_gWheelStats","wheelStats","_gWheelCards","wheelCards"];return a.mode==="vehicles"&&l.forEach(o=>delete c[o]),a.mode==="wheels"&&s.forEach(o=>delete c[o]),a.source?.slug&&(delete c._gVehicleCards,delete c.vehicleCards,delete c._gWheelCards,delete c.wheelCards,delete c._gOthersCards,delete c.othersCards),c}};import{ProductFieldIcon as EU,ImageIcon as BU,EyeIcon as NU}from"efficient-easel/icons";import{jsx as y5,jsxs as qH}from"react/jsx-runtime";var AU=T5,DH=["photos","lifestyle","accessories","others"];function HU(e,t){if(!e)return[];if(t==="all")return DH.flatMap(c=>e[c]??[]);let a=DH.includes(t)?t:null;return a?e[a]??[]:[]}var OH="relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] py-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-[70px]",GH="relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-0 max-[800px]:pb-[70px]";function pm(e){return y5(e2,{kinds:AU,type:"GalleryB",editing:e.editing,children:y5(FU,{...e})})}function FU({omitHead:e=!1,num:t,title:a,linkText:c,linkHref:s,galleryHref:l="/gallery",submitHref:o="/contact",zone:r="all",photoDisplay:i="covers",previewHover:n,editing:h=!1}){let m=A0(),p=O2(h&&!m),u=m?.product??p,d=HU(u?.mediaGroups,r).map(C=>({images:(C.items??[]).filter(S=>S.kind==="image").map(S=>S.url),name:C.name,finish:C.finish})).filter(C=>C.images.length>0),z=(i==="auto"?d.length>=4?"covers":"all":i)==="all"?d.flatMap(C=>C.images.map(S=>({images:[S],name:C.name,finish:C.finish}))):d,f=c?{text:c,href:s||"#"}:void 0,b=a?U(a,!1):void 0,y=e?null:y5(j1,{num:t,title:b,link:f});return!u||z.length===0?h?qH("section",{className:e?GH:OH,children:[y,y5("p",{className:"mt-8 border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"This product\u2019s photos appear here on a product page. Add media groups in the product\u2019s Media tab."})]}):null:qH("section",{className:e?GH:OH,children:[y,y5(Cc.Provider,{value:{galleryHref:l,submitHref:o,previewHover:n},children:y5("div",{[Lc]:"",className:"grid grid-cols-4 gap-2 max-[1500px]:grid-cols-3 max-[800px]:grid-cols-1 max-[800px]:gap-1",children:z.map((C,S)=>y5(Sc,{image:C.images[0],photos:C.images.slice(1).map(H=>({src:H})),href:u.href,process:u.eyebrow,eyebrow:C.name,name:u.name,meta:C.finish,editing:h},`${C.name}-${S}`))})}),y5("div",{className:"mt-12 flex flex-col items-center gap-3",children:y5(a3,{href:l,variant:"ghost",children:"See Gallery"})})]})}import{jsx as C7,jsxs as PU}from"react/jsx-runtime";var TU="relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] py-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-[70px]",VU="relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-0 max-[800px]:pb-[70px]";function um({items:e,num:t,title:a,linkText:c,linkHref:s,galleryHref:l="/gallery",submitHref:o="/contact",previewHover:r,layout:i,columns:n,columnsMobile:h,gap:m,omitHead:p=!1}){let u=$u(i),d=u?i:null,g=!u&&n!=null&&n!=="",z=L3("GalleryB",m,"both"),f=d?{className:`sf-card-grid sf-gallery-zone ${ju(d)} grid${z.className}`,style:z.style}:g?{className:`sf-card-grid sf-grid-zone grid${z.className}`,style:{...z.style,"--sf-grid-cols":String(ca(n)),"--sf-grid-cols-phone":String(sa(h,n))}}:{className:`sf-card-grid grid grid-cols-4${z.className} max-[1500px]:grid-cols-3 max-[800px]:grid-cols-1`,style:z.style},b=c?{text:c,href:s||"#"}:void 0,y=a?U(a,!1):void 0;return PU("section",{className:p?VU:TU,children:[p?null:C7(j1,{num:t,title:y,link:b}),d&&C7("style",{dangerouslySetInnerHTML:{__html:Yu(d)}}),e&&C7(Cc.Provider,{value:{galleryHref:l,submitHref:o,previewHover:r},children:C7("div",{[Lc]:"",style:{display:"contents"},children:C7(e,{...f,minEmptyHeight:320})})}),C7("div",{className:"mt-12 flex flex-col items-center gap-3",children:C7(a3,{href:l,variant:"ghost",children:"See Gallery"})})]})}import{jsx as WH}from"react/jsx-runtime";var _4={num:L.sectionNumber,title:L.headingAccent,link:L.viewAll},gm={items:{type:"slot",allow:["GalleryItem"]}},UH={label:"Customer Photo Grid",fields:gm,defaultProps:{dynamic:!1,mediaZone:"all",photoDisplay:"covers",num:"",title:"",linkText:"",linkHref:"/contact",galleryHref:"/gallery",previewHover:!1},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return e.dynamic?WH(pm,{num:a(x(e.num,_4.num,e.puck)),title:a(x(e.title,_4.title,e.puck)),linkText:a(x(e.linkText,_4.link,e.puck)),linkHref:a(Y(e.linkHref)||"/contact"),omitHead:t,galleryHref:Y(e.galleryHref)||"/gallery",zone:e.mediaZone||"all",photoDisplay:e.photoDisplay||"covers",previewHover:e.previewHover,editing:e.puck?.isEditing}):WH(um,{num:a(x(e.num,_4.num,e.puck)),title:a(x(e.title,_4.title,e.puck)),omitHead:t,linkText:a(x(e.linkText,_4.link,e.puck)),linkHref:a(Y(e.linkHref)||"/contact"),galleryHref:Y(e.galleryHref)||"/gallery",previewHover:e.previewHover,layout:e.layout,columns:e.columns,columnsMobile:e.columnsMobile,gap:e.gap,items:e.items})}};import{jsx as dm}from"react/jsx-runtime";var ZU=[{label:"All media groups",value:"all"},{label:"Lifestyle photos",value:"lifestyle"},{label:"Product photos",value:"photos"},{label:"Accessories",value:"accessories"},{label:"Others",value:"others"}],IU=[{label:"Group covers",value:"covers"},{label:"Every photo",value:"all"},{label:"Auto (covers if 4+ groups)",value:"auto"}],KH={fields:{_gDynamic:v("Product page"),dynamic:e1("Connect to product data",!1,dm(EU,{})),mediaZone:h1("Images from",dm(BU,{}),ZU,"all"),photoDisplay:h1("Show",dm(NU,{}),IU,"covers"),_gHeader:v("Header"),num:A("Section number",_4.num),title:V("Heading",_4.title),_gHeaderLink:v("Header link"),linkText:A("Header button",_4.link),linkHref:w1("Header link"),_gImages:v("Images"),imageList:N0("GalleryB"),items:gm.items,_gGalleryLink:v("Gallery link"),galleryHref:w1("\u201CSee gallery\u201D link"),_gArrangement:v("Arrangement"),layout:Lb(),gap:t3("GalleryB")},resolveFields:(e,{fields:t,parent:a})=>{let c=e.props,s={...t},l=o=>E1(Z1(o,a,R1),e.props.headPlacement,F1.GalleryB.headRows);return g2()?(c.dynamic?(delete s._gImages,delete s.items,delete s.imageList):(delete s.mediaZone,delete s.photoDisplay),l(s)):(delete s._gDynamic,delete s.dynamic,delete s.mediaZone,delete s.photoDisplay,l(s))}};import{useEffect as YH,useMemo as vm,useState as fm}from"react";import{SettingsField as XH}from"efficient-easel/panel";import{BlockProductIcon as RU,MediaIcon as _U}from"efficient-easel/icons";var $H=new Map;function jH(e){if(!e)return Promise.resolve(null);let t=$H.get(e);return t||(t=D0.getWheel(e).then(a=>a.mediaGroups??null).catch(()=>null),$H.set(e,t)),t}import{Fragment as bm,jsx as R0,jsxs as w3}from"react/jsx-runtime";function nl({label:e,hidden:t,onToggle:a}){return w3("div",{className:"sf-field-head",children:[R0("span",{className:"sf-field-label sf-field-label--inline",children:e}),a&&R0("button",{type:"button",className:"sf-field-eye","aria-pressed":!!t,"aria-label":t?"Show on the card":"Hide on the card",title:t?"Show on the card":"Hide on the card",onClick:a,children:t?R0(D6,{name:"eye-off",size:14}):R0(D6,{name:"eye",size:14})})]})}var DU=[["photos","Photos"],["lifestyle","Lifestyle"],["accessories","Accessories"],["others","Others"],["videos","Videos"]];function OU(e){if(!e)return[];let t=[];for(let[a,c]of DU)(e[a]??[]).forEach((s,l)=>{let o=(s.items??[]).filter(r=>r.kind==="image").map(r=>r.url);o.length!==0&&t.push({key:`${String(a)}:${l}`,label:s.name?`${c} \xB7 ${s.name}`:c,name:s.name||c,images:o})});return t}function JH(e){return e?e.categories&&e.categories.length?e.categories:e.process?[e.process]:[]:[]}function GU(e,t,a){let c=t?.find(i=>i.slug===e.code)??null;if(!c)return{name:void 0,href:void 0,cover:void 0,photos:[],eyebrow:void 0};let s=e.group?a.find(i=>i.name===e.group):void 0,l=e.finish?c.finishes.find(i=>i.name===e.finish&&i.src):void 0,o,r=[];return s&&s.images.length?(o=s.images[0],r=s.images.slice(1)):(o=l?.src||c.coverImage||void 0,r=[]),{name:c.name,href:`/wheels/${c.slug}`,cover:o,photos:r,eyebrow:e.group||void 0}}function zm({value:e,onChange:t}){let a=vm(()=>e??{},[e]),[c,s]=fm(null),[l,o]=fm([]),[r,i]=fm(!1);YH(()=>{let g=!1;return e3().then(z=>{g||s(z)}),()=>{g=!0}},[]),YH(()=>{let g=!1;if(!a.code){o([]);return}return i(!0),jH(a.code).then(z=>{g||(o(OU(z)),i(!1))}),()=>{g=!0}},[a.code]);let n=vm(()=>c?.find(g=>g.slug===a.code)??null,[c,a.code]),h=vm(()=>JH(n),[n]),m=c===null;function p(g,z=l){let f={...a,...g};t({...f,...GU(f,c,z)})}function u(g){if(!g){t({});return}let z=c?.find(f=>f.slug===g)??null;p({code:g,category:JH(z)[0]??"",finish:"",group:""},[])}function d(g){t({...a,[g]:!a[g]})}return w3("div",{children:[R0(XH,{label:"Product",icon:R0(RU,{}),children:w3("select",{value:a.code??"",disabled:m,onChange:g=>u(g.target.value),children:[R0("option",{value:"",children:m?"Loading\u2026":"Select a product\u2026"}),(c??[]).map(g=>R0("option",{value:g.slug,children:g.name},g.slug))]})}),a.code&&w3(bm,{children:[w3("div",{className:`sf-field${a.hideName?" is-hidden":""}`,children:[R0(nl,{label:"Title / product",hidden:a.hideName,onToggle:()=>d("hideName")}),w3("div",{style:{display:"flex",alignItems:"center",gap:6,minHeight:30,padding:"0 8px",borderRadius:6,border:"1px solid var(--sf-field-border, rgba(128,128,128,0.3))",opacity:.75,fontSize:13},children:[n?.name??a.name??"\u2014",R0("span",{style:{opacity:.6},children:"(auto)"})]})]}),w3("div",{className:`sf-field${a.hideProcess?" is-hidden":""}`,children:[R0(nl,{label:"Category",hidden:a.hideProcess,onToggle:()=>d("hideProcess")}),w3("select",{value:a.category??"",disabled:h.length===0,onChange:g=>p({category:g.target.value}),children:[h.length===0&&R0("option",{value:"",children:"No categories on this product"}),h.map(g=>R0("option",{value:g,children:g},g))]})]}),R0(XH,{label:"Media group",icon:R0(_U,{}),hint:R0(bm,{children:"Its name fills the Eyebrow below, and its photos become the card cover and lightbox. No group \u2192 the product\u2019s cover image."}),children:w3("select",{value:a.group??"",disabled:r,onChange:g=>p({group:g.target.value}),children:[R0("option",{value:"",children:r?"Loading\u2026":l.length===0?"Cover image only (no media groups)":"Cover image only"}),l.map(g=>R0("option",{value:g.name,children:g.label},g.key))]})}),w3("div",{className:`sf-field${a.hideEyebrow?" is-hidden":""}`,children:[R0(nl,{label:w3(bm,{children:["Eyebrow ",R0("span",{style:{fontWeight:400,opacity:.6},children:"(from media group)"})]}),hidden:a.hideEyebrow,onToggle:()=>d("hideEyebrow")}),R0("div",{style:{display:"flex",alignItems:"center",gap:6,minHeight:30,padding:"0 8px",borderRadius:6,border:"1px solid var(--sf-field-border, rgba(128,128,128,0.3))",opacity:.75,fontSize:13},children:a.group||"\u2014"})]}),w3("div",{className:`sf-field${a.hideFinish?" is-hidden":""}`,children:[R0(nl,{label:"Finish",hidden:a.hideFinish,onToggle:()=>d("hideFinish")}),w3("select",{value:a.finish??"",onChange:g=>p({finish:g.target.value}),children:[R0("option",{value:"",children:"Default (the product\u2019s default finish)"}),(n?.finishes??[]).map(g=>R0("option",{value:g.name,disabled:!g.src,children:g.src?g.name:`${g.name} \u2014 no render`},g.name))]})]})]})]})}import{ProductFieldIcon as qU,SquareIcon as WU,PlacementIcon as UU}from"efficient-easel/icons";import{jsx as hl}from"react/jsx-runtime";var QH={fields:{_gSource:v("Content source"),fromProduct:e1("Fill from a product",!1,hl(qU,{})),product:{type:"custom",render:({value:e,onChange:t})=>hl(zm,{value:e,onChange:t})},_gMedia:v("Media"),image:V1("Cover image","image/*"),photos:{type:"array",label:"More images",arrayFields:{src:V1("Image","image/*")},getItemSummary:(e,t)=>`Image ${(t??0)+1}`},_gText:v("Text"),process:A("Tag"),eyebrow:A("Eyebrow"),name:A("Heading"),meta:A("Meta line"),_gLink:v("Link"),href:w1("Product link"),ratio:h1("Shape",hl(WU,{}),[{label:"Square",value:"square"},{label:"Wide (2:1)",value:"wide"},{label:"Landscape (4:3)",value:"landscape"},{label:"Portrait (4:5)",value:"portrait"},{label:"The photo's own shape",value:"auto"}],"square"),captionPlace:h1("Card text",hl(UU,{}),[{label:"On the photo",value:"overlay"},{label:"Below the photo",value:"below"}],"overlay")},resolveFields:(e,{fields:t})=>{let a=e.props.fromProduct===!0,c={...t};return a?(delete c._gMedia,delete c.image,delete c.photos,delete c._gText,delete c.process,delete c.eyebrow,delete c.name,delete c.meta,delete c._gLink,delete c.href):delete c.product,c}};var eF={fields:{}};import{SettingsField as KU}from"efficient-easel/panel";import{CategoryIcon as $U}from"efficient-easel/icons";import{useEffect as tF,useRef as jU,useState as ml}from"react";import{Fragment as YU,jsx as D4,jsxs as km}from"react/jsx-runtime";var Cm=60,Mm="collection:";function aF(e){return Mm+Mo(e)}function pl(e){if(!e||!e.startsWith(Mm))return;let t=e.slice(Mm.length);return G9.find(a=>Mo(a.key)===t)?.key}function L7(e){return e.slug&&e.slug.trim()?e.slug:`cat-${e.id}`}function xm(e,t){return{slug:L7(e),name:e.name,wheels:t.filter(a=>(a.categories??[a.process]).includes(e.name)).slice(0,Cm)}}function wm(e){return{slug:_6,name:of,wheels:e.slice(0,Cm)}}function ym(e,t){return{slug:aF(e),name:e,process:e,wheels:t.filter(a=>a.process===e).slice(0,Cm)}}function Lm({value:e,onChange:t}){let[a,c]=ml(null),[s,l]=ml(null),[o,r]=ml(!1),[i,n]=ml(!1),h=jU(!0);tF(()=>(h.current=!0,e3().then(b=>{h.current&&l(b)}),x3().then(b=>{h.current&&c(b)}),()=>{h.current=!1}),[]),tF(()=>{if(!e?.slug||a===null||s===null)return;let b,y=pl(e.slug);if(y)b=ym(y,s);else if(e.slug===_6)b=wm(s);else{let C=a.find(S=>L7(S)===e.slug);b=C?xm(C,s):null}b&&a5(b,e)&&t(b)},[a,s]);let m=b=>{if(!b){t(null);return}let y=pl(b);if(y){s&&t(ym(y,s));return}if(b===_6){s&&t(wm(s));return}let C=(a??[]).find(S=>L7(S)===b);C&&s&&t(xm(C,s))},p=()=>{e?.slug&&(r(!0),n(!1),Promise.all([x3(!0),e3(!0)]).then(([b,y])=>{if(!h.current)return;c(b),l(y);let C=pl(e.slug);if(C)t(ym(C,y));else if(e.slug===_6)t(wm(y));else{let S=b.find(H=>L7(H)===e.slug);S&&t(xm(S,y))}}).catch(()=>{h.current&&n(!0)}).finally(()=>{h.current&&r(!1)}))},u=s===null,d=e?.wheels?.length??0,g=e?.slug&&e.slug!==_6&&!pl(e.slug)&&!(a??[]).some(b=>L7(b)===e.slug),z=i?"error":o?"loading":"idle",f=i?"Couldn\u2019t reach Storefront \u2192 Categories.":o?"Syncing from Storefront \u2192 Categories\u2026":`Linked to \u201C${e?.name??""}\u201D \xB7 ${d} product${d===1?"":"s"}`;return km(KU,{label:"Products source",icon:D4($U,{}),children:[km("select",{value:e?.slug??"",onChange:b=>m(b.target.value),disabled:u,children:[D4("option",{value:"",children:"None"}),D4("option",{value:_6,children:"All products"}),D4("optgroup",{label:"Collections",children:G9.map(b=>D4("option",{value:aF(b.key),children:b.key},b.key))}),g?km("option",{value:e.slug,children:[e.name," (unavailable)"]}):null,(a??[]).length>0?D4("optgroup",{label:"Categories",children:(a??[]).map(b=>D4("option",{value:L7(b),children:b.name},L7(b)))}):null]}),e?.slug?D4(v3,{status:z,statusText:f,onRefresh:p,busy:o,hint:D4(YU,{children:"Auto-fills this grid each time you open the editor. Set how many appear with \u201CWheels to display\u201D. The wheels you pick below are ignored while a source is linked."})}):D4("p",{className:"sf-blogsource-hint",style:{marginTop:7},children:"Pick \u201CAll products\u201D or a category from Storefront \u2192 Categories to auto-fill this grid, or keep \u201CNone\u201D to choose wheels yourself below."})]})}import{ProductFieldIcon as XU,TextSizeIcon as JU,ColumnsIcon as QU,ListIcon as eK,HashIcon as tK}from"efficient-easel/icons";import{jsx as Sm}from"react/jsx-runtime";var Am={products:{type:"slot"}},cF={label:"Product Grid",fields:Am,defaultProps:{dynamic:!1,num:"",title:"",titleSize:Wa,padTop:120,description:"",linkText:"",linkHref:"",columns:4,limit:8,showAll:!1,spinOnHover:!0,coverIndex:String(1),outline:F5,indexBadge:m4,showBadge:!0,source:null,fullWidth:!0,pageWidth:e8.default},render:e=>{if(e.dynamic)return Sm(x7,{num:x(e.num,M0.num,e.puck),title:x(e.title,L.sectionHeading,e.puck),description:x(e.description,L.body,e.puck),columns:typeof e.columns=="number"?e.columns:3,relationship:V4,cardImage:e.cardImage,outline:P6(e.outline),indexBadge:V6(e.indexBadge),showBadge:e.showBadge??!0,imageBackground:Gg(e.imageBackground),showCardPrice:e.showCardPrice,showCardFinishes:e.showCardFinishes,showCardSizes:e.showCardSizes,showCardBuy:e.showCardBuy,showCardPage:e.showCardPage,editing:e.puck?.isEditing});let t=x(e.linkText,M0.link,e.puck),a=e.source,c=u2(e,"full"),s=P1(e.headPlacement)==="own-box",l=r=>s?void 0:r,o=Sm(lf,{gap:e.gap,capWidth:c.mode==="page"?c.pageWidth:void 0,num:l(x(e.num,M0.num,e.puck)),title:l(x(e.title,L.sectionHeading,e.puck)),titleSize:e.titleSize,padTop:s?0:e.padTop,description:l(x(e.description,L.body,e.puck)),link:l(t?{text:t,href:Y(e.linkHref)||"#"}:void 0),products:e.products,source:a?.slug?a:void 0,catalog:e.catalog,kinds:e.kinds,fieldUsage:e.fieldUsage,columns:e.columns,limit:e.showAll?void 0:e.limit,editing:e.puck?.isEditing,imageBackground:e.imageBackground,cardImage:e.cardImage,spinOnHover:e.spinOnHover,coverIndex:c8(e.coverIndex),outline:P6(e.outline),indexBadge:V6(e.indexBadge),showBadge:e.showBadge??!0,showCardPrice:e.showCardPrice,showCardFinishes:e.showCardFinishes,showCardSizes:e.showCardSizes,showCardBuy:e.showCardBuy,showCardPage:e.showCardPage});return c.mode==="page"?Sm("div",{className:He,children:o}):o}};import{jsx as wt}from"react/jsx-runtime";var sF=f4({top:120,keys:{top:"padTop",bottom:"padBottom"},group:!1,only:"top"}),lF={fields:{_gDynamic:v("Product page"),dynamic:e1("Connect to product data",!1,wt(XU,{})),_gHeader:v("Header"),num:A("Number",M0.num),title:V("Heading",L.sectionHeading),titleSize:h1("Heading size",wt(JU,{}),sf,Wa),description:V("Body",L.body),_gProducts:v("Products"),kinds:f8("Product types",s8,"None \u2014 this section will be empty"),source:E0(Lm),productList:N0("ProductGrid"),products:Am.products,_gLink:v("Link"),linkText:A("Button",M0.link),linkHref:w1("Link"),...vc({bottomDefault:!1}),...b8(),...z8(),_gLayout:v("Grid"),columns:J("Columns",wt(QU,{}),1,6,1,4),showAll:e1("Show all items",!1,wt(eK,{})),limit:J("Items to display",wt(tK,{}),1,12,1,8),gap:t3("ProductGrid"),...sF,...b4("full")},resolveFields:(e,{fields:t,parent:a})=>{let c=Z1(t,a,R1),s=e.props,l=E1(c,s.headPlacement,F1.ProductGrid.headRows);if(!g2()){let r={...l};return delete r._gDynamic,delete r.dynamic,r}if(s.dynamic){let r=new Set([G6.Content,"_gDynamic","dynamic","_gHeader","num","title","titleSize","description","_gLayout","columns",...Object.keys(sF),...x8,...w8,...y8,...k8,...Ab,...Sb,...Hb]),i={};for(let[n,h]of Object.entries(l))r.has(n)&&(i[n]=h);return W5(i,u2(e?.props??{},"full"))}let o={...l};return rf(s.source)||delete o.kinds,s.source?.slug&&(delete o.products,delete o.productList),s.showAll&&delete o.limit,o2(s.linkText).hidden&&delete o.linkHref,W5(o,u2(e?.props??{},"full"))}};import{SettingsField as aK}from"efficient-easel/panel";import{CategoryIcon as cK}from"efficient-easel/icons";import{useEffect as sK,useMemo as Hm,useState as lK}from"react";import{Fragment as iK,jsx as w6,jsxs as iF}from"react/jsx-runtime";var Tm=e=>e.kind==="tyre"?"tyre":"alloy-wheel",yt=e=>`${e.kind}:${e.slug}`;function oF(e){return e.kind==="tyre"?{kind:"tyre",slug:e.slug,name:e.name,description:e.description??"",eyebrow:e.brand??"",image:e.coverImage??null,finishes:[],prices:e.prices,href:`/tyres/${e.slug}`}:{kind:"wheel",slug:e.slug,name:e.name,description:e.description??"",eyebrow:e.process,image:e.coverImage??null,finishes:e.finishes.filter(ra).map(t=>({name:t.name,color:t.color,src:t.src})),prices:e.prices,href:`/wheels/${e.slug}`}}function Fm(e,t){let a=Tm(t);return e.find(c=>c.kind===a&&c.slug===t.slug)}function rF(e){return e?.some(t=>t.kind==="tyre")&&e.some(t=>t.kind==="alloy-wheel")?"Category \u2014 wheels only":"Category"}var oK=e=>e===1?"1 size":`${e} sizes`;function rK({rows:e,category:t,value:a,loading:c,currency:s}){let l=e??[],o=l.filter(u=>u.kind==="alloy-wheel"),r=l.filter(u=>u.kind==="tyre"),i=o.length>0&&r.length>0,n={value:"",label:c?"Loading\u2026":"Pick a product\u2026"},h=a&&!(e!==null&&Fm(e,a))?[{value:yt({kind:Tm(a),slug:a.slug}),label:c?a.name:`${a.name} (unavailable)`}]:[],m=cm(o,t).map(u=>{let d=ba(u.prices[s],u.msrpPrices?.[s]);return{value:yt({kind:"alloy-wheel",slug:u.slug}),label:u.name,...i?{group:"Wheels"}:{},thumb:u.coverImage??null,...d.priced?{meta:I2(d.unit,s)}:{}}}),p=r.map(u=>({value:yt(u),label:u.name,...i?{group:"Tyres"}:{},thumb:u.coverImage??null,meta:oK(u.variantCount)}));return[n,...h,...m,...p]}function Vm({value:e,onChange:t}){let a=u4(),{rows:c,loading:s,refreshing:l,errored:o,refresh:r}=W8({load:Na,resolve:Fm,snapshot:oF,value:e,onChange:t}),[i,n]=lK(null);sK(()=>{let H=!1;return x3().then(_=>{H||n(_)}),()=>{H=!0}},[]);let{currency:h}=F0(),m=Hm(()=>c&&e?Fm(c,e)??null:null,[c,e]),p=Hm(()=>(c??[]).filter(H=>H.kind==="alloy-wheel"),[c]),{category:u,setCategory:d,categoryNames:g}=x6(p,i,m?.kind==="alloy-wheel"?m:null),z=!!e?.slug&&c!==null&&!m,f=Hm(()=>rK({rows:c,category:u,value:e,loading:s,currency:h}),[c,u,e,s,h]),b=H=>{if(!H){t(null);return}let _=(c??[]).find(Z=>yt(Z)===H);_&&t(oF(_))},y=()=>{e?.slug&&a.send("storefront-editor:open-product",{slug:e.slug,name:e.name})},C=o?"error":l?"loading":"idle",S=o?"Couldn\u2019t reach the product catalog.":l?"Syncing from the catalog\u2026":z?`Linked to \u201C${e?.name??""}\u201D \u2014 no longer in the catalog.`:`Linked to \u201C${e?.name??""}\u201D \xB7 title, description, category, price & image follow the product.`;return iF("div",{children:[w6(oa,{label:"Product",options:f,fallback:"",value:e?yt({kind:Tm(e),slug:e.slug}):"",onChange:b,placeholder:"Search products\u2026"}),w6(aK,{label:rF(c),icon:w6(cK,{}),children:iF("select",{value:u,onChange:H=>d(H.target.value),disabled:s,children:[w6("option",{value:x5,children:rF(c)==="Category"?"All products":"All wheel categories"}),g.map(H=>w6("option",{value:H,children:H},H))]})}),e?.slug?w6(v3,{status:C,statusText:S,onRefresh:r,busy:l,edit:{label:"Edit product \u270E",onClick:y},hint:w6(iK,{children:"The whole hero comes from the product record \u2014 title, price, pictures, options and Add to Cart. Edit the product in the Products database and this hero updates to match."})}):w6("p",{className:"sf-blogsource-hint",style:{marginTop:7},children:"This hero always shows a real product. Pick one to fill the title, price, pictures, options and Add to Cart from the catalog."})]})}import{useEffect as nF,useMemo as hF,useState as Pm}from"react";import{SettingsField as nK}from"efficient-easel/panel";import{Fragment as gK,jsx as kt}from"react/jsx-runtime";var S7="__all__",Em="";function hK(e){return(e??[]).filter(t=>ft.includes(t.kind))}var mK=O6("one row per level from one list \u2014 the gutter would repeat one mark down the column and say nothing; the group heading carries it once GG, 2026-09-23"),ul=e=>typeof e.brand=="string"?e.brand.trim():"";function mF(e,t){if(e.kind!=="alloy-wheel"||!t)return;let a=e,c=ba(a.prices?.[t],a.msrpPrices?.[t]);return c.priced?I2(c.unit,t):void 0}function pK({rows:e,brand:t,kind:a,slug:c,loading:s=!1,currency:l=""}){let o=e??[],r=[...new Set(o.map(ul).filter(Boolean))].sort((g,z)=>g.localeCompare(z)),i=t===S7?o:o.filter(g=>ul(g)===t),n=T5.filter(g=>i.some(z=>z.kind===g)),h=a===S7?i:i.filter(g=>g.kind===a),m=new Set(h.map(g=>g.kind)).size>1,p=h.map(g=>({value:g.slug,label:g.name,...m?{group:E6[g.kind]}:{},thumb:g.coverImage??null,...mF(g,l)?{meta:mF(g,l)}:{}})),u=c&&!h.some(g=>g.slug===c)?[{value:c,label:s?c:`${c} (not in this list)`}]:[],d=[];return r.length>1&&d.push({key:"brand",label:"Brand",options:[{value:S7,label:"All brands"},...r.map(g=>({value:g,label:g}))]}),n.length>1&&d.push({key:"kind",label:"Product type",options:[{value:S7,label:Gd},...n.map(g=>({value:g,label:E6[g]}))]}),d.push({key:"product",label:"Product",options:[{value:Em,label:s?"Loading\u2026":"Generic placeholder"},...u,...p]}),d}function Bm(){let[e,t]=Pm(null),[a,c]=Pm(S7),[s,l]=Pm(S7),o=Dh(),r=al()??Em;nF(()=>{let p=!1;return Na().then(u=>{p||t(u)}).catch(()=>{p||t([])}),()=>{p=!0}},[]);let{currency:i}=F0(),n=hF(()=>hK(e),[e]);nF(()=>{let p=n.find(u=>u.slug===r);p&&ul(p)&&c(ul(p))},[r,n]);let h=hF(()=>pK({rows:n,brand:a,kind:s,slug:r,loading:e===null,currency:i}),[n,a,s,r,e,i]),m={brand:p=>{c(p),l(S7)},kind:l,product:p=>jA(o,p)};return kt(gK,{children:h.map(p=>kt(nK,{label:p.label,icon:hb(mK),hint:p.key==="product"?uK:void 0,children:p.key==="product"?kt(oa,{bare:!0,label:p.label,options:p.options,fallback:Em,value:r,onChange:m.product,placeholder:"Search your catalog\u2026"}):kt("select",{value:p.key==="brand"?a:s,onChange:u=>m[p.key](u.target.value),children:p.options.map(u=>kt("option",{value:u.value,children:u.label},u.value))})},p.key))})}var uK="Only for looking at while you design. Shoppers always see the product they opened.";import{PlacementIcon as bK,CarIcon as zK,LayoutIcon as xK,ColumnWidthsIcon as wK,AlignLeftIcon as yK,SpecTableIcon as kK,DollarIcon as MK,GridIcon as CK,ImageIcon as LK}from"efficient-easel/icons";var f9="top",Nm=[{label:"Under the title",value:"top"},{label:"Below the specs",value:"belowSpecs"}];function pF(e){return S3(Nm,f9,e)}var dK=["split","imageRight","stacked"],y6="split";function b9(e){return dK.includes(e)?e:y6}var A7="left";function gl(e){return e==="center"?"center":"left"}var Zm=35,Im=70,k6=50;function dl(e){let t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?Math.min(Im,Math.max(Zm,Math.round(t))):k6}var vK=["main","thumbs","tiled"],M6="thumbs";function vl(e){return vK.includes(e)?e:M6}var fK=["contain","cover"],C6="contain";function fl(e){return j8(e,C6)}function uF(){return fK.map(e=>({label:Hi[e],value:e}))}function gF(e,t){return t?"contain":e}import{jsx as O4}from"react/jsx-runtime";var SK=()=>({type:"custom",render:()=>O4(Bm,{})});function AK(e){let t=e?.data?.root;return ft.includes(Dw(t?.props))}var dF={fields:{_gSource:v("Product"),source:E0(Vm),_gPreview:v(fc),previewPick:SK(),_gPriceLine:v("Price"),pricePlacement:h1("Price position",O4(bK,{}),Nm,f9),_gBehaviour:v("Behavior"),showVehicleFitment:e1("Vehicle fitment",!0,O4(zK,{})),_gArrangement:v("Arrangement"),heroLayout:p1("Layout",O4(xK,{}),[{label:"Split",value:"split"},{label:"Image right",value:"imageRight"},{label:"Stacked",value:"stacked"}],y6),imageRatio:J("Image / buy ratio",O4(wK,{}),Zm,Im,1,k6,"%"),textAlign:p1("Alignment",O4(yK,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"}],A7),_gShow:v("Show in the buy box"),showSpecTable:e1("Spec table",!0,O4(kK,{})),showPriceQuote:e1("Price / quote",!0,O4(MK,{})),_gImageGallery:v("Image gallery"),galleryMode:p1("Gallery",O4(CK,{}),[{label:"Main only",value:"main"},{label:"Main + thumbs",value:"thumbs"},{label:"Tiled",value:"tiled"}],M6),imageFit:p1(zs,O4(LK,{}),uF(),C6)},resolveFields:(e,{fields:t,appState:a})=>{let c=e.props,s={...t};if(b9(c.heroLayout)==="stacked"&&delete s.imageRatio,!g2())return delete s._gPreview,delete s.previewPick,s;let l=s,o=new Set([...x8,...w8,...y8,...k8,"_gPreview","previewPick","_gPriceLine","pricePlacement","_gBehaviour","showVehicleFitment","_gArrangement","heroLayout","imageRatio","textAlign","_gShow","showSpecTable","showPriceQuote","_gImageGallery","galleryMode","imageFit"]);AK(a)||(o.delete("_gPreview"),o.delete("previewPick"));let r={};for(let[i,n]of Object.entries(l))o.has(i)&&(r[i]=n);return M8(r)}};import{useEasel as FK}from"efficient-easel/easel";import{useEasel as HK}from"efficient-easel/easel";function bl(){let{selectedItem:e,getSelectorForId:t,getItemById:a}=HK(i=>i),c=e?.props?.id;if(!c)return null;let s=t(c)?.zone,l=s&&s.includes(":")?s.split(":")[0]:null,r=(l?a(l):void 0)?.props?.source;return r?.slug?r.name||"the selected source":null}import{jsx as vF,jsxs as TK}from"react/jsx-runtime";function Rm(){let e=u4(),t=Za(),{selectedItem:a}=FK(r=>r),c=a?.props?.code??"",s=(t??[]).find(r=>r.slug===c)??null,l=bl()!==null;return!s||l?null:TK("div",{className:"sf-blogsource",children:[vF("button",{type:"button",className:"sf-blogsource-btn",onClick:()=>e.send("storefront-editor:open-product",{slug:s.slug,name:s.name}),children:"Edit product \u270E"}),vF("p",{className:"sf-blogsource-hint",children:"Price and details come from the product record \u2014 edit them in the Products database and this block updates to match. The name follows the product\u2019s design name unless it\u2019s overridden per storefront in Storefront \u2192 Catalog."})]})}import{useEasel as VK}from"efficient-easel/easel";import{SettingsField as PK}from"efficient-easel/panel";import{FinishIcon as EK}from"efficient-easel/icons";import{jsx as z9,jsxs as fF}from"react/jsx-runtime";function _m({value:e,onChange:t}){let a=Za(),{selectedItem:c}=VK(n=>n),s=c?.props?.code??"",l=a===null,o=(a??[]).find(n=>n.slug===s)?.finishes??[],r=o.filter(ra).map(n=>n.name),i=r.includes(e??"")?e:"";return fF("div",{children:[z9(PK,{label:"Finish",icon:z9(EK,{}),hint:"Pinning one overrides the section\u2019s Cover image.",children:fF("select",{value:i,onChange:n=>t(n.target.value),disabled:l||o.length===0,children:[z9("option",{value:"",children:l?"Loading\u2026":o.length===0?"No finishes on this product":"Default (the product's default finish)"}),o.map(n=>z9("option",{value:n.name,disabled:!n.src,children:n.src?n.name:`${n.name} \u2014 no image`},n.name))]})}),!l&&o.length===0&&s&&z9("p",{className:"sf-blogsource-hint",children:"This product has no finishes yet, so its card falls back to the product image \u2014 or an empty placeholder when it has none. Add finishes to the product record, then give each one an image."}),!l&&o.length>0&&r.length===0&&z9("p",{className:"sf-blogsource-hint",children:"None of this product\u2019s finishes has an image, so none can be shown on the card. Add an image to a finish on the product record to pick it here."})]})}import{SettingsField as bF}from"efficient-easel/panel";import{BlockProductIcon as BK,CategoryIcon as NK}from"efficient-easel/icons";import{useEffect as ZK,useMemo as IK,useState as zF}from"react";import{jsx as G4,jsxs as Mt}from"react/jsx-runtime";function Dm({value:e,onChange:t}){let[a,c]=zF(null),[s,l]=zF(null);ZK(()=>{let d=!1;return e3().then(g=>{d||c(g)}),x3().then(g=>{d||l(g)}),()=>{d=!0}},[]);let o=IK(()=>a&&e?a.find(d=>d.slug===e)??null:null,[a,e]),{category:r,setCategory:i,categoryNames:n,filtered:h}=x6(a,s,o),m=a===null,p=bl(),u=p!==null;return Mt("div",{children:[u&&Mt("p",{className:"sf-blogsource-hint",style:{marginBottom:8},children:["Disabled because this grid\u2019s ",G4("strong",{children:"Products source"})," is set to \u201C",p,"\u201D. The grid fills itself from that source automatically. To pick wheels here, set"," ",G4("strong",{children:"Products source"})," back to \u201CNone\u201D."]}),Mt("div",{className:u?"sf-locked":void 0,children:[G4(bF,{label:"Category",icon:G4(NK,{}),children:Mt("select",{value:r,onChange:d=>i(d.target.value),disabled:m||u,children:[G4("option",{value:x5,children:"All products"}),n.map(d=>G4("option",{value:d,children:d},d))]})}),G4(bF,{label:"Product",icon:G4(BK,{}),children:Mt("select",{value:e??"",onChange:d=>t(d.target.value),disabled:m||u,children:[G4("option",{value:"",children:m?"Loading\u2026":h.length===0?"No products in this category":"Select a product\u2026"}),h.map(d=>G4("option",{value:d.slug,children:d.name},d.slug))]})})]})]})}import{jsx as Om}from"react/jsx-runtime";var xF={fields:{code:{type:"custom",render:({value:e,onChange:t})=>Om(Dm,{value:e,onChange:t})},finish:{type:"custom",render:({value:e,onChange:t})=>Om(_m,{value:e,onChange:t})},_editProduct:{type:"custom",render:()=>Om(Rm,{})}},resolveFields:(e,{fields:t,parent:a})=>{let c={...t},s=a?.props?.source,l=typeof e.props.code=="string"?e.props.code:"";return(s?.slug||!l)&&(delete c.finish,delete c._editProduct),c}};import{EyeIcon as _K,HashIcon as DK,ColumnsIcon as OK}from"efficient-easel/icons";import{jsx as RK}from"react/jsx-runtime";var Ct={footnote:"A note about how these are matched.",footnoteLinkText:"Enquire"},wF={label:"Related Products",defaultProps:{num:"",title:"",description:"",footnote:"",footnoteLinkText:"",footnoteLinkHref:"",cardCount:ut,columns:3,relationship:V4},render:e=>{let t=P1(e.headPlacement)==="own-box",a=s=>t?void 0:s,c=u2(e,"full");return RK(x7,{num:a(x(e.num,M0.num,e.puck)),title:a(x(e.title,L.sectionHeading,e.puck)),description:a(x(e.description,L.body,e.puck)),omitHead:t,capWidth:c.mode==="page"?c.pageWidth:void 0,columns:typeof e.columns=="number"?e.columns:3,cardCount:Xs(e.cardCount),relationship:typeof e.relationship=="string"?e.relationship:V4,footnote:x(e.footnote,Ct.footnote,e.puck),footnoteLinkText:x(e.footnoteLinkText,Ct.footnoteLinkText,e.puck),footnoteLinkHref:Y(e.footnoteLinkHref),cardImage:e.cardImage,coverIndex:c8(e.coverIndex),imageBackground:e.imageBackground,spinOnHover:e.spinOnHover,outline:P6(e.outline),indexBadge:V6(e.indexBadge),showBadge:e.showBadge,editing:e.puck?.isEditing})}};import{jsx as Gm}from"react/jsx-runtime";var yF={fields:{_gHeader:v("Header"),num:A("Number",M0.num),title:V("Heading",L.sectionHeading),description:V("Body",L.body),_gFootnote:v("Footnote"),footnote:V("Footnote",Ct.footnote),footnoteLinkText:A("Footnote button",Ct.footnoteLinkText),footnoteLinkHref:w1("Footnote link"),...b8(),...z8(),_gLayout:v("Grid"),relationship:h1("Show",Gm(_K,{}),TA,V4),cardCount:J("Cards to show",Gm(DK,{}),Th,gt,1,ut),columns:J("Columns",Gm(OK,{}),2,4,1,3),...b4("full")},resolveFields:(e,{fields:t,parent:a})=>{let c=e.props,s={...t};if(EA(typeof c.relationship=="string"?c.relationship:V4))for(let l of PA)delete s[l];return E1(Z1(s,a,R1),c.headPlacement,F1.RelatedProducts.headRows)}};import{StylesIcon as GK}from"efficient-easel/icons";import{jsx as qK}from"react/jsx-runtime";var kF={fields:{_gStyle:v("Style"),style:p1("Show as",qK(GK,{}),$s,"icon")}};import{SettingsField as MF}from"efficient-easel/panel";import{BlockProductIcon as WK,CategoryIcon as UK}from"efficient-easel/icons";import{useEffect as KK,useMemo as $K,useState as jK}from"react";import{Fragment as YK,jsx as t4,jsxs as zl}from"react/jsx-runtime";function CF(e){return{slug:e.slug,name:e.name,process:e.process,spokes:e.spokes,mesh:e.mesh,spec:e.spec,finishes:e.finishes.map(t=>({name:t.name,image:$4(t.angles?.[0]??t.src)??null}))}}function qm({value:e,onChange:t}){let a=u4(),{rows:c,loading:s,refreshing:l,errored:o,refresh:r}=W8({load:e3,resolve:(S,H)=>S.find(_=>_.slug===H.slug),snapshot:CF,value:e,onChange:t}),[i,n]=jK(null);KK(()=>{let S=!1;return x3().then(H=>{S||n(H)}),()=>{S=!0}},[]);let h=$K(()=>c&&e?.slug?c.find(S=>S.slug===e.slug)??null:null,[c,e?.slug]),{category:m,setCategory:p,categoryNames:u,filtered:d}=x6(c,i,h),g=!!e?.slug&&c!==null&&!h,z=S=>{if(!S){t(null);return}let H=(c??[]).find(_=>_.slug===S);H&&t(CF(H))},f=()=>{e?.slug&&a.send("storefront-editor:open-product",{slug:e.slug,name:e.name})},b=!!e?.spec,y=o?"error":l?"loading":"idle",C=o?"Couldn\u2019t reach the product catalog.":l?"Syncing from the catalog\u2026":g?`Linked to \u201C${e?.name??""}\u201D \u2014 no longer in the catalog.`:b?`Linked to \u201C${e?.name??""}\u201D \xB7 every spec row follows the product.`:`Linked to \u201C${e?.name??""}\u201D \u2014 this product has no spec data yet.`;return zl("div",{children:[t4(MF,{label:"Category",icon:t4(UK,{}),children:zl("select",{value:m,onChange:S=>p(S.target.value),disabled:s,children:[t4("option",{value:x5,children:"All products"}),u.map(S=>t4("option",{value:S,children:S},S))]})}),t4(MF,{label:"Product",icon:t4(WK,{}),children:zl("select",{value:e?.slug??"",onChange:S=>z(S.target.value),disabled:s,children:[t4("option",{value:"",children:s?"Loading\u2026":"None (write the rows yourself)"}),g?zl("option",{value:e.slug,children:[e.name," (unavailable)"]}):null,d.map(S=>t4("option",{value:S.slug,children:S.name},S.slug))]})}),e?.slug?t4(v3,{status:y,statusText:C,onRefresh:r,busy:l,edit:{label:"Edit product \u270E",onClick:f},hint:t4(YK,{children:"Every spec row (lug count, bolt pattern, offset, center bore, load rating, bump profile\u2026) comes from the product record \u2014 edit its part numbers in the Products database and this table updates to match. You still choose which finish to picture and an optional size."})}):t4("p",{className:"sf-blogsource-hint",style:{marginTop:7},children:"Pick a product to fill the spec table from the catalog, or keep \u201CNone\u201D to write the rows yourself."})]})}import{ProductFieldIcon as f$,FinishIcon as ZF,DiagramIcon as b$}from"efficient-easel/icons";import{useId as QK,useState as e$}from"react";import{jsx as xl,jsxs as XK}from"react/jsx-runtime";function Wm({id:e}){return XK("defs",{children:[xl("marker",{id:`${e}-L`,viewBox:"0 0 10 10",refX:2,refY:5,markerWidth:6,markerHeight:6,orient:"auto",children:xl("path",{d:"M10,0 L0,5 L10,10 z",fill:"currentColor"})}),xl("marker",{id:`${e}-R`,viewBox:"0 0 10 10",refX:8,refY:5,markerWidth:6,markerHeight:6,orient:"auto",children:xl("path",{d:"M0,0 L10,5 L0,10 z",fill:"currentColor"})})]})}import{jsx as JK}from"react/jsx-runtime";function Um({nodeId:e,children:t}){return JK(Y6,{nodeId:e,sectionType:"SpecTable",children:t})}import{Fragment as c$,jsx as C0,jsxs as X2}from"react/jsx-runtime";function Y2(e,t){return e?{[kz]:t}:{}}function t$({editing:e,nodeId:t,children:a}){return!e||!t?C0(c$,{children:a}):C0(Um,{nodeId:t,children:a})}function LF({row:e,topBorder:t,editing:a}){return X2("div",{className:`flex items-baseline justify-between gap-6 py-3.5 font-mono text-[length:var(--size-label,14px)] tracking-[0.05em] ${t?"border-t border-line":""}`,children:[C0("span",{...Y2(a,"rowLabel"),className:"uppercase text-fg-dim",children:e.label}),C0("span",{...Y2(a,"rowValue"),className:`text-right ${e.accent?"text-accent":"text-fg"}`,children:e.value})]})}function a$({diagram:e,editing:t}){let[a,c]=e$(!1),s=`spec-${QK().replace(/:/g,"")}`,{wheelName:l,imageSrc:o,diameter:r,width:i,offset:n,holes:h,pcd:m,spokes:p,mesh:u,bore:d}=e,g=!!o&&!a;return X2("div",{className:"sf-card bg-surface p-6 max-[1100px]:mt-8",children:[C0("div",{...Y2(t,"diagramTitle"),className:"mb-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.25em] text-fg-dim",children:"Wheel Dimension Diagram"}),X2("div",{className:"relative flex aspect-square items-center justify-center",children:[X2("svg",{viewBox:"0 0 320 320",className:"absolute inset-0 h-full w-full text-fg-dim",fill:"none",stroke:"currentColor",children:[C0("line",{x1:40,y1:20,x2:280,y2:20,strokeWidth:1,markerStart:`url(#${s}-L)`,markerEnd:`url(#${s}-R)`}),C0("line",{x1:40,y1:15,x2:40,y2:25,strokeWidth:1}),C0("line",{x1:280,y1:15,x2:280,y2:25,strokeWidth:1}),C0(Wm,{id:s})]}),g?C0("img",{src:o,alt:`${l} \u2014 face`,onError:()=>c(!0),loading:"lazy",className:"relative z-[1] block h-[80%] w-[80%] object-contain"}):C0(q6,{spokes:p,mesh:u,className:"relative z-[1] block h-[72%] w-[72%] text-accent"}),X2("span",{...Y2(t,"diagramCallout"),className:"absolute top-1.5 left-1/2 z-20 -translate-x-1/2 bg-surface px-2 font-mono text-[length:var(--size-label,12px)] tracking-[0.2em] text-accent",children:["\u2300 ",Co(r)]}),X2("span",{...Y2(t,"diagramCallout"),className:"absolute bottom-1.5 left-1/2 z-20 -translate-x-1/2 bg-surface px-2 font-mono text-[length:var(--size-label,12px)] tracking-[0.2em] text-fg",children:["WIDTH ",Co(i)]})]}),X2("div",{className:"mt-4 grid grid-cols-5 gap-3 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.2em] text-fg-dim max-[480px]:grid-cols-3",children:[X2("div",{children:[C0("div",{...Y2(t,"diagramStatLabel"),className:"text-fg-dim/60",children:"Holes"}),C0("div",{...Y2(t,"diagramStatValue"),className:"mt-1 text-fg",children:h})]}),X2("div",{children:[C0("div",{...Y2(t,"diagramStatLabel"),className:"text-fg-dim/60",children:"PCD"}),C0("div",{...Y2(t,"diagramStatValue"),className:"mt-1 text-fg",children:m})]}),X2("div",{children:[C0("div",{...Y2(t,"diagramStatLabel"),className:"text-fg-dim/60",children:"Spokes"}),X2("div",{...Y2(t,"diagramStatValue"),className:"mt-1 text-fg",children:[p,u?" + Mesh":""]})]}),X2("div",{children:[C0("div",{...Y2(t,"diagramStatLabel"),className:"text-fg-dim/60",children:"Bore"}),C0("div",{...Y2(t,"diagramStatValue"),className:"mt-1 text-fg",children:d})]}),X2("div",{children:[C0("div",{...Y2(t,"diagramStatLabel"),className:"text-fg-dim/60",children:"ET"}),C0("div",{...Y2(t,"diagramStatValue"),className:"mt-1 text-accent",children:n})]})]})]})}function x9({num:e,title:t,description:a,rows:c,diagram:s,editing:l=!1,omitHead:o=!1,nodeId:r,...i}){let n=(c??[]).filter(m=>(m?.label??"").trim()||(m?.value??"").trim()),h=n.length>0?n:l?[{label:"Label",value:"Value"}]:[];return C0("section",{className:v0(i)?o?"border-b border-line px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-0 max-[1100px]:pb-20":"border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20":o?"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-0 max-[1100px]:pb-20":"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",children:X2(t$,{editing:l,nodeId:r,children:[o?null:C0(j1,{num:e?k(e):void 0,title:t?U(t,!1):void 0,description:a?k(a):void 0,accent:!0}),s?X2("div",{className:"grid grid-cols-[1fr_400px] gap-12 max-[1100px]:grid-cols-1",children:[C0("div",{children:h.map((m,p)=>C0(LF,{row:m,topBorder:p>0,editing:l},p))}),C0(a$,{diagram:s,editing:l})]}):C0("div",{className:"grid grid-cols-2 gap-x-16 max-[900px]:grid-cols-1",children:h.map((m,p)=>C0(LF,{row:m,topBorder:!0,editing:l},p))})]})})}import{useEffect as r$,useState as i$}from"react";function wl(e){return e.rollingNoiseDb===null?null:e.rollingNoiseClass?`${e.rollingNoiseDb} dB (${e.rollingNoiseClass})`:`${e.rollingNoiseDb} dB`}function s$(e){return`/api/tire-catalog/models/${encodeURIComponent(e)}/`}function l$(e,t,a){let c=(a.eprel_url??"").trim();if(!c)return null;let s=(a.energy_class??"").trim(),l=(a.wet_grip_class??"").trim(),o=typeof a.external_rolling_noise_value=="number"?a.external_rolling_noise_value:null;return!s&&!l&&o===null?null:{size:e,registrationNumber:t,fuelClass:s,wetGripClass:l,rollingNoiseDb:o,rollingNoiseClass:(a.external_rolling_noise_class??"").trim(),iceGrip:a.ice_tire===!0,severeSnow:a.severe_snow_tire===!0,loadIndicator:(a.load_indicator??"").trim(),eprelUrl:c}}async function o$(e){let t=(e.eprelRegistrationNumber??"").trim();if(!t)return null;try{let a=await j7(s$(t),{baseUrl:na});return l$(e.size,t,a)}catch{return null}}async function SF(e){return(await Promise.all(e.map(o$))).filter(a=>a!==null)}function yl(e){let[t,a]=i$([]),c=e.map(s=>s.eprelRegistrationNumber??"").join(",");return r$(()=>{let s=!0;return SF(e).then(l=>{s&&a(l)}),()=>{s=!1}},[c]),t}var n$={"haste-ii":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[33,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"force-6":{lugs:6,sizes:[20,22,24],widths:[9,9.5,10],pcds:["6\xD7135","6\xD7139.7","6\xD7135-139.7"],etRange:[20,25],centreBores:[87.1],loadRating:"880 kg / 1,940 lbs",cap:"CP506AL82",bumpProfile:"H2",rimProfile:"34\xD716\xD760\xB0"},"speed-ii":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[33,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"vortex-ii":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[35,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"vector-iii":{lugs:5,sizes:[18,19,20,22],widths:[8,8.5,9.5,10,10.5],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[32,42],centreBores:[71.5,72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"blitz-ii":{lugs:5,sizes:[18,19,20,22],widths:[8,8.5,9.5,10,10.5],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[38,42],centreBores:[71.5,72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"thrust-ii":{lugs:5,sizes:[18,19,20,22],widths:[8,8.5,9.5,10,10.5],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[33,42],centreBores:[71.5,72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"torque-ii":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[42,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP506AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"turbine-ii":{lugs:5,sizes:[20,22],widths:[8.5,10,10.5],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[35,42],centreBores:[71.5,72.6,73.1],loadRating:"880 kg / 1,940 lbs",cap:"CP506AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},blitz:{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[38,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"frixion-5":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[35,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"frixion-6":{lugs:6,sizes:[20,22,24],widths:[9,9.5,10],pcds:["6\xD7135","6\xD7139.7","6\xD7135-139.7"],etRange:[20,25],centreBores:[87.1],loadRating:"690\u2013880 kg / 1,520\u20131,940 lbs",cap:"CP506AL82",bumpProfile:"EH2+",rimProfile:"34\xD716\xD760\xB0"},rotor:{lugs:5,sizes:[20,22],widths:[8.5,9,10,10.5],pcds:["5\xD7112-114.3","5\xD7115","5\xD7120","5\xD7127"],etRange:[15,40],centreBores:[71.5,72.6,73.1],loadRating:"880 kg / 1,940 lbs",cap:"CP509PS73",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},"vector-ii":{lugs:5,sizes:[19,20],widths:[8.5,9.5,10],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[38,42],centreBores:[72.6,73.1],loadRating:"880 kg / 1,940 lbs",cap:"CP506AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"},torque:{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5\xD7112-114.3","5\xD7120"],etRange:[35,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP506AL68",bumpProfile:"EH2+",rimProfile:"32\xD715\xD760\xB0"}};function AF(e){return n$[e]}function L6(e){return e&&e.trim()?e:"\u2014"}function HF(e){return e[0]?.replace(/^\s*\d+\s*[×x]\s*/,"")||"\u2014"}function FF(e,t,a,c,s){let l=ka(s?.boltPattern).holes,o=l!=null&&l>0?l:e.lugs,r=ya(o),i=e.pcds.length?e.pcds.join(" \xB7 "):"\u2014",n=e.centreBores.length?`${e.centreBores.join(" / ")} mm`:"\u2014",h=e.etRange.length>=2?gd(e.etRange[0],e.etRange[1]):"\u2014",m=c??"",p=s?K9(s):"\u2014";return{rows:[{label:"Your Selection",value:"\u2014",accent:!0},{label:"Finish",value:a,fieldKey:"wheel_finish_ref"},{label:"Size",value:m},{label:"Wheel Spec",value:p},{label:"Lug Count",value:L6(r&&`${r}-lug`),fieldKey:"holes"},{label:"Bolt Pattern",value:i,fieldKey:"bolt_pattern"},{label:"Offset (ET)",value:h,fieldKey:"et"},{label:"Process",value:L6(t),fieldKey:Vd},{label:"Centre Bore",value:n,fieldKey:"center_bore"},{label:"Load Rating",value:L6(e.loadRating),fieldKey:"load_rating"},{label:"Bump Profile",value:L6(e.bumpProfile),fieldKey:"hump"},{label:"Rim Profile",value:L6(e.rimProfile),fieldKey:"flange"},{label:"Cap Code",value:L6(e.cap),fieldKey:"cap_code"}],size:m}}function Km(e){return e.length?e[Math.ceil(e.length/2)-1]:void 0}function h$(e,t){let a=e?.diameter??Km(t?.sizes??[]),c=e?.width??Km(t?.widths??[]),s=t?.etRange??[],[l,o]=s,r=e?.et??(s.length>=2&&l===o?l:void 0),i=n=>L6(n!=null?ud(n):void 0);return{diameter:i(a),width:i(c),offset:i(r)}}function TF(e,t){let a=e?.centreBore??Km(t.centreBores);return{...h$(e,t),bore:L6(a!=null?`${a} mm`:void 0)}}function VF(e){return{slug:e.slug,name:e.name,process:e.process,spokes:e.spokes,mesh:e.mesh,spec:e.spec??null,finishes:e.finishes.map(t=>({name:t.name,image:t.src||t.angles?.[0]||null})),coverImage:e.coverImage??null,variants:e.variants}}function kl(e,t,a){let c=e?.spec;if(!e||!c)return{rows:[],diagram:null};let s=e.finishes.find(h=>h.name===t)??e.finishes[0],l=Rd(e.variants??[],s?.name,a),{rows:o,size:r}=FF(c,e.process,s?.name??"\u2014",a,l),i=TF(l,c),n={wheelName:e.name,imageSrc:s?.image??e.coverImage??null,...i,holes:ya(c.lugs),pcd:HF(c.pcds),spokes:e.spokes,mesh:e.mesh};return{rows:o,diagram:n}}function PF(e,t,a){let c=cl(e),s=AF(e);if(!c||!s)return{rows:[],diagram:null};let l=d9(e),o=c.finishes.find(m=>m.name===t)??c.finishes[0],{rows:r,size:i}=FF(s,c.process,o?.name??"\u2014",a,void 0),n=TF(void 0,s),h={wheelName:c.name,imageSrc:o?.angles?.[0]??o?.src??null,...n,holes:l[0]?.holes?.toString()??ya(s.lugs),pcd:l[0]?.pcd??HF(s.pcds),spokes:c.spokes,mesh:c.mesh};return{rows:r,diagram:h}}function m$(e){let{brand:t,variant:a,euLabel:c}=e;if(!a)return[];let s=Aa(a.size),l=a.specs,o=l;return[["size","Size",a.size],["section_width","Section Width",s?`${s.width} mm`:""],["aspect_ratio","Aspect Ratio",s?`${s.profile}`:""],["rim_diameter","Rim Diameter",s?`${s.rim}"`:""],["construction","Construction",l.construction],["load_index","Load Index",l.loadIndex],["speed_rating","Speed Rating",l.speedRating],["max_load_lbs","Max Load",o.maxLoad??""],["max_psi","Max Pressure",o.maxPressure??""],["tread_depth","Tread Depth",o.treadDepth??""],["overall_diameter","Overall Diameter",o.overallDiameter??""],["tread_pattern","Tread Pattern",l.treadPattern],["tire_type","Type",l.tireType],["brand","Manufacturer",t],["","Fuel Efficiency",c?.fuelClass??""],["","Wet Grip",c?.wetGripClass??""],["","Noise",c&&wl(c)||""],["","Snow Grip",c?.severeSnow?"Yes":""],["","Ice Grip",c?.iceGrip?"Yes":""],["","Reinforced",c?.loadIndicator??""]]}function EF(e){let t=[];for(let[a,c,s]of m$(e)){let l=(s??"").trim();l&&t.push(a?{label:c,value:l,fieldKey:a}:{label:c,value:l})}return{rows:t}}import{jsx as Ml}from"react/jsx-runtime";var p$=["alloy-wheel","tyre"],u$=[],g$=[];function d$(e,t,a){let c=e.variants??[];return(t?c.find(s=>s.sku===t):void 0)??(a?c.find(s=>s.size===a):void 0)??c[0]??null}function $m(e){return Ml(e2,{kinds:p$,type:"SpecTable",editing:e.editing,children:Ml(v$,{...e})})}function v$({num:e,title:t,description:a,showDiagram:c=!0,editing:s=!1,nodeId:l,omitHead:o=!1}){let r=A0(),i=O2(s&&!r),n=r?.product??i,h=n?.kind==="tyre"?n.source:null,m=yl(h?.variants??u$),p=r?.fieldUsage??g$;if(h){let f=d$(h,r?.selection.part?.id,r?.selection.shown.size),b=m.find(C=>C.size===f?.size)??null,y=EF({brand:h.brand,variant:f,euLabel:b});return Ml(x9,{num:e,title:t,description:a,rows:Ao(y.rows,p),diagram:null,editing:s,nodeId:l,omitHead:o})}let u=n?.kind==="alloy-wheel"?n.source:null,d=r?r.selection.shown.finish:u?.finishes[0]?.name,g=r&&u?Oa(u,r.selection.part)?.size??void 0:void 0,z=u?kl(VF(u),d,g):{rows:[],diagram:null};return Ml(x9,{num:e,title:t,description:a,rows:Ao(z.rows,p),diagram:c?z.diagram:null,editing:s,nodeId:l,omitHead:o})}import{jsx as BF}from"react/jsx-runtime";var q4={num:L.sectionNumber,title:"Specifications *table.*",description:L.body},NF={label:"Spec Table",defaultProps:{dynamic:!1,num:"",title:"",description:"",source:null,finish:"",size:"",showDiagram:!0,rows:[]},render:e=>{let t=P1(e.headPlacement)==="own-box",a=h=>t?void 0:h;if(e.dynamic)return BF($m,{nodeId:typeof e.id=="string"?e.id:void 0,num:a(x(e.num,q4.num,e.puck)),title:a(x(e.title,q4.title,e.puck)),description:a(x(e.description,q4.description,e.puck)),showDiagram:e.showDiagram!==!1,omitHead:t,editing:e.puck?.isEditing});let c=e.source??null,s=e.wheel,l=!c?.slug&&typeof s=="string"?s:"",o=typeof e.finish=="string"?e.finish:"",r=typeof e.size=="string"?e.size:"",i,n=null;if(c?.slug&&c.spec){let h=kl(c,o,r);i=h.rows,n=e.showDiagram===!1?null:h.diagram}else if(l){let h=PF(l,o,r);i=h.rows,n=e.showDiagram===!1?null:h.diagram}else i=e.rows??[];return BF(x9,{nodeId:typeof e.id=="string"?e.id:void 0,num:a(x(e.num,q4.num,e.puck)),title:a(x(e.title,q4.title,e.puck)),description:a(x(e.description,q4.description,e.puck)),rows:i,diagram:n,omitHead:t,editing:e.puck?.isEditing})}};import{jsx as Cl}from"react/jsx-runtime";var z$="Size (blank = none selected)",IF={fields:{_gDynamic:v("Product page"),dynamic:e1("Connect to product data",!1,Cl(f$,{})),_gHeader:v("Header"),num:A("Number",q4.num),title:V("Heading",q4.title),description:V("Body",q4.description),_gData:v("Product"),source:E0(qm),finish:h1("Finish",Cl(ZF,{}),[],""),size:{type:"text",label:z$},_gDiagram:v("Diagram"),showDiagram:e1("Dimension diagram",!0,Cl(b$,{})),_gRows:v("Rows"),rows:{type:"array",label:"Rows",arrayFields:{label:P("Label"),value:P("Value")},defaultItemProps:{label:"Label",value:""},getItemSummary:e=>e?.label||e?.value||"Row"}},resolveFields:(e,{fields:t,parent:a})=>{let c=e.props,s=g2(),l=m=>E1(Z1(m,a,R1),e.props.headPlacement,F1.SpecTable.headRows);if(s&&c.dynamic){let m=new Set([G6.Content,"_gDynamic","dynamic","_gHeader","num","title","description","_gDiagram","showDiagram",...x8,...w8,...y8,...k8]),p={};for(let[u,d]of Object.entries(t))m.has(u)&&(p[u]=d);return l(p)}let o=c.source,r=!o?.slug&&typeof c.wheel=="string"?c.wheel:"",i={...t};if(s||(delete i._gDynamic,delete i.dynamic),!(o?.slug&&o.spec)&&!r)return delete i.finish,delete i.size,delete i._gDiagram,delete i.showDiagram,l(i);let n=o?.slug?o.finishes.map(m=>m.name):(cl(r)?.finishes??[]).map(m=>m.name),h=[{value:"",label:"Default (first finish)"},...n.map(m=>({value:m,label:m}))];return i.finish=h1("Finish",Cl(ZF,{}),h,""),delete i._gRows,delete i.rows,l(i)}};var x$={link:"Know your size? Pick it below"},RF={fields:{_gHeader:v("Header"),num:A("Number",M0.num),title:A("Heading",L.sectionHeading),description:V("Body",L.body),_gCta:v("Call to action"),escapeText:A("Button",x$.link),escapeHref:w1("Button link")},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.TyreFitment.headRows)};var _F={fields:{_gHeader:v("Header"),num:A("Number",M0.num),title:A("Heading",L.sectionHeading),description:V("Body",L.body)},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.TyreSizes.headRows)};import{useEffect as k$,useState as GF}from"react";import{useState as w$}from"react";function DF(e,t){return t==="mark"?(e.logo??"").trim():(e.name??"").trim()}import{jsx as jm,jsxs as y$}from"react/jsx-runtime";function Ym({tile:e,face:t,showCount:a,selected:c,onSelect:s}){let[l,o]=w$(!1),r=DF(e,t),i=t==="mark"&&!l?$4(r):void 0;return y$("button",{type:"button","data-sf-brand-tile":"","data-sf-brand-face":t,"aria-pressed":c?"true":"false",onClick:s,className:"flex flex-1 flex-col items-center justify-center gap-[7px] rounded-[9px] px-[10px] py-[14px]",children:[jm("span",{className:"flex h-[22px] items-center justify-center",children:t==="mark"?i&&jm("img",{src:i,alt:e.name,className:"max-h-full max-w-[78%] object-contain",draggable:!1,onError:()=>o(!0)}):r}),a&&jm("span",{children:e.count})]})}import{jsx as Lt,jsxs as OF}from"react/jsx-runtime";function Xm({heading:e,button:t,link:a,brands:c=[],face:s="name",showCount:l=!0,picked:o,onPick:r}){let i=o||c[0]?.name;return OF("section",{className:"sf-brandstrip","data-sf-brand-strip":"",children:[(e||t)&&OF("div",{className:"sf-brandstrip-head",children:[Lt("span",{className:"sf-brandstrip-heading",children:e??""}),a?Lt("a",{className:"sf-brandstrip-all",href:a,children:t??""}):Lt("span",{className:"sf-brandstrip-all",children:t??""})]}),Lt("div",{className:"sf-brandstrip-track",children:c.map(n=>Lt(Ym,{tile:n,face:s,showCount:l,selected:n.name===i,onSelect:r?()=>r(n.name):void 0},n.name))})]})}import{jsx as M$}from"react/jsx-runtime";function Jm({heading:e,button:t,link:a,picks:c,available:s,face:l="name",showCount:o=!0}){let[r,i]=GF(null),n=Array.isArray(c)?c:[],h=!s&&n.length>0;k$(()=>{if(!h)return;let d=!1;return Us().then(g=>g??D0.listBrands()).then(g=>{d||i(g)}).catch(()=>{}),()=>{d=!0}},[h]);let m=YS(n,s??r??[]),[p,u]=GF(void 0);return M$(Xm,{heading:e,button:t,link:a,brands:m,face:l,showCount:o,picked:p,onPick:u})}import{jsx as C$}from"react/jsx-runtime";var qF={label:"Brand Strip",defaultProps:{heading:"Shop by brand",button:"All brands",link:"",[rt]:jS(),face:"name",showCount:!0},render:({heading:e,button:t,link:a,face:c,showCount:s,...l})=>C$(Jm,{heading:Y(e),button:Y(t),link:Y(a),picks:l[rt],available:l[$S],face:c,showCount:s})};import{jsx as St,jsxs as Ll}from"react/jsx-runtime";function L$(e,t){let a=e.savings[t];if(a===void 0)return null;let c=I2(a,t);return e.savingIsFrom?`Save from ${c}`:`Save ${c}`}function Qm({bundle:e,currency:t}){let a=L$(e,t);return Ll(r0,{href:`/bundles/${e.slug}`,className:"sf-card group flex flex-col border border-line bg-bg transition-colors hover:border-accent",children:[Ll("div",{className:"sf-card-image relative aspect-[4/3] overflow-hidden bg-surface",children:[e.image?St(H5,{src:e.image,alt:e.name,fill:!0,sizes:"(max-width: 640px) 100vw, 33vw",className:"object-cover transition-transform duration-500 group-hover:scale-[1.03]"}):Ll("div",{className:"flex h-full items-center justify-center font-mono text-[10px] uppercase tracking-[0.3em] text-fg-dim",children:[e.components.length," piece",e.components.length===1?"":"s"]}),a&&St("span",{className:"absolute left-0 top-4 bg-accent px-3 py-1.5 font-mono text-[10px] uppercase tracking-[0.24em] text-bg",children:a})]}),Ll("div",{className:"flex flex-1 flex-col gap-1.5 px-5 py-4",children:[St("span",{className:"font-display text-[18px] font-medium tracking-[-0.015em] text-fg",children:e.name}),e.subtitle&&St("span",{className:"text-[13px] leading-snug text-fg-dim",children:e.subtitle}),!e.inStock&&St("span",{className:"mt-1 font-mono text-[9px] uppercase tracking-[0.24em] text-fg-dim",children:"Currently unavailable"})]})]})}import{jsx as w9,jsxs as $F}from"react/jsx-runtime";var WF="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",UF="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-0 max-[1100px]:pb-20",S$=["alloy-wheel"],KF={2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1"};function ep(e){return w9(e2,{kinds:S$,type:"BundleOffer",editing:e.editing,children:w9(A$,{...e})})}function A$({num:e,title:t,description:a,columns:c=3,editing:s=!1,omitHead:l=!1,cardImage:o}){let r=A0(),{currency:i}=F0(),n=r?.product.kind==="alloy-wheel"?r.product.source.bundles??[]:[],h=l?null:w9(j1,{num:e?k(e):void 0,title:t?U(t,!1):void 0,description:a?k(a):void 0,accent:!0});return n.length===0?s?$F("section",{className:l?UF:WF,style:U2(o),children:[h,w9("p",{className:"border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"Bundles containing this product appear here on a product page."})]}):null:$F("section",{className:l?UF:WF,style:U2(o),children:[h,w9("div",{className:`mt-10 grid gap-6 ${KF[c]??KF[3]}`,children:n.slice(0,c).map(m=>w9(Qm,{bundle:m,currency:i},m.slug))})]})}import{jsx as H$}from"react/jsx-runtime";var jF={label:"Bundle Products",defaultProps:{num:"",title:"",description:"",columns:3},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return H$(ep,{num:a(x(e.num,M0.num,e.puck)),title:a(x(e.title,L.sectionHeading,e.puck)),description:a(x(e.description,L.body,e.puck)),omitHead:t,columns:typeof e.columns=="number"?e.columns:3,cardImage:e.cardImage,editing:e.puck?.isEditing})}};import{createContext as F$,useContext as At}from"react";var tp=F$(null);function YF(){let e=At(J9),t=At(tp),a=Bc();return e?e.socialLinks??Ef:t?t.socialLinks:a.links}function XF(){return At(tp)?.commerceEnabled??!0}function JF(){let e=At(J9),t=At(tp),a=D3();return e?Qa({legalName:e.legalName,foundedYear:e.foundedYear,siteName:e.siteName}):t?Qa({legalName:t.legalName,foundedYear:t.foundedYear,siteName:t.siteName}):Qa({siteName:a.websiteName?.trim()||vf})}import{jsx as y9}from"react/jsx-runtime";function QF({style:e="icon",editing:t=!1}){let{open:a}=Ua();return fr("search"),y9("span",{"data-phone-menu-tool":"search",className:"contents",children:y9(Lf,{onClick:t?void 0:a,asText:e==="text"})})}function eT({style:e="icon",editing:t=!1}){let{open:a,totals:c}=Z6();return XF()?y9(Cf,{onClick:t?()=>{}:a,count:c.sets,asText:e==="text"}):null}function tT({editing:e=!1}){let t=gf();return fr(t?"region":null),t?y9("span",{"data-phone-menu-tool":"region",className:"contents",children:y9(ja,{})}):e?y9("div",{"data-country-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:"No regions yet"}):null}import{jsx as T$}from"react/jsx-runtime";var aT={label:"Cart",defaultProps:{style:"icon"},render:({style:e,puck:t})=>T$(eT,{style:e,editing:t?.isEditing})};import{useEffect as gT,useMemo as I$}from"react";import{useState as rT}from"react";import{useEffect as V$,useRef as P$}from"react";import{Fragment as E$,jsx as G2,jsxs as H7}from"react/jsx-runtime";function cT({picker:e,onClose:t}){let{cascade:a}=e,c=P$(z3(a.vehicle));return V$(()=>{let s=z3(a.vehicle);s&&!c.current&&t(),c.current=s},[a.vehicle,t]),H7("div",{className:"border-t border-line bg-surface px-[var(--sf-site-gutter,40px)] py-4 max-[720px]:px-4",children:[G2("div",{className:"mb-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.32em] text-fg-dim",children:"Your car \xB7 only wheels that bolt on"}),G2(i3,{cascade:a,compact:!0}),a.cascadeError&&G2("p",{className:"mt-2.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-fg-dim",children:"Vehicle data is unavailable right now \u2014 browse all wheels and we'll help you check fitment at checkout."}),G2("div",{className:"mt-3.5 flex flex-wrap items-center gap-3",children:G2("button",{type:"button",onClick:t,className:"cursor-pointer font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-fg-dim underline-offset-4 hover:text-fg hover:underline",children:"Close"})})]})}var sT="flex w-full items-center justify-between gap-4 border-b py-3 text-left text-[length:var(--size-body,14px)] transition-colors";function lT({field:e,picker:t,open:a,onOpenRequest:c,onClose:s}){let{cascade:l}=t,o=_s(l),r=CS(l)[e],i=LS(l)[e],n=SS(l)[e],h=AS(l)[e],m=v7[e],p=kS(e,l.vehicle),u=h||o[e].placeholder,d=ih(r,o[e].placeholder),g=Ka({items:d,value:n,onPick:i,open:a,onOpen:()=>c(p),onClose:s});return H7("div",{ref:g.wrapRef,className:"relative",children:[H7("button",{ref:z=>{g.triggerRef.current=z},type:"button","data-vehicle-field":e,"aria-haspopup":"listbox","aria-expanded":a,"aria-controls":a?g.listId:void 0,"aria-activedescendant":g.activeId,"aria-label":`${m}, ${u} \u2014 pick your ${p}`,onClick:()=>c(p),onKeyDown:g.onTriggerKeyDown,className:`${sT} ${a?"border-fg text-fg":"border-line"}`,children:[G2("span",{className:"text-fg-dim",children:m}),G2("span",{"data-vehicle-value":u,className:`truncate ${h?"text-fg":"text-fg-dim"}`,children:u})]}),a&&G2($a,{id:g.listId,tone:"hairline",items:d,value:n,focusIdx:g.focusIdx,onFocus:g.setFocusIdx,onPick:g.pick,listRef:g.listRef})]})}function oT({picker:e,onOpenRequest:t}){let a=MS(e.cascade.vehicle);if(!a)return null;let c=ct[a];return G2("button",{type:"button","data-vehicle-next":!0,"aria-label":`${c} \u2014 pick your ${a}`,onClick:()=>t(a),className:`${sT} border-line text-fg-dim`,children:G2("span",{"data-vehicle-value":c,children:c})})}function ap({picker:e,total:t}){let{appliedName:a,fit:c,resolving:s,unresolved:l,clear:o}=e;if(!a)return null;let r=W9(c),i=c!==null&&!s&&t===0;return H7("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2 border-t border-line px-[var(--sf-site-gutter,40px)] py-2.5 max-[720px]:px-4",children:[H7("span",{className:"inline-flex items-center gap-2 bg-accent px-2.5 py-1.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-bg",children:[a,G2("button",{type:"button",onClick:o,"aria-label":`Clear ${a} and show all wheels`,className:"cursor-pointer leading-none text-bg hover:opacity-70",children:"\u2715"})]}),s?G2("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-fg-dim",children:"Checking fitment\u2026"}):l?G2("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-fg-dim",children:"We have no fitment data for this car \u2014 showing every wheel"}):G2(E$,{children:r.map(n=>n.value!==null?G2("span",{className:"border border-line px-2 py-1 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.14em] text-fg-dim",children:n.value},n.key):H7("span",{className:"border border-dashed border-line px-2 py-1 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.14em] text-fg-dim",children:[n.name," not published \u2014 not checked"]},n.key))}),i&&H7("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-fg-dim",children:["No wheels here fit this car \u2014"," ",G2("button",{type:"button",onClick:o,className:"cursor-pointer uppercase text-accent underline underline-offset-4",children:"show all wheels"})]})]})}import{Fragment as lp,jsx as x1,jsxs as u0}from"react/jsx-runtime";var B$=["FusionForge\xAE","Precision Forged","Monoblock Cast"];function iT(e){return e==="FusionForge\xAE"?u0(lp,{children:["FusionForge",x1(T6,{})]}):e}var sp={size:Ho("diameters","alloy-wheel"),finish:Ho("finishes","alloy-wheel")};function nT(e,t){return Sa(e,a=>sp[String(a.key)],t??[],"filterOrder")}function N$({processCount:e,sizeCount:t,lugCount:a,finishCount:c,optionsReported:s,fieldUsage:l}){let o=i=>!s||i>Fo,r=Td(l??[]);return{process:e>Fo,size:r(sp.size)&&o(t),lugs:o(a),finish:r(sp.finish)&&o(c)}}function k9(e,t){return e===t?null:t}function hT({href:e,label:t}){return x1("a",{href:e,"data-results-link":!0,className:"inline-block self-start border-0 border-b border-line bg-transparent pb-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg transition-colors hover:text-fg-dim",children:t})}function op({filters:e,setProcess:t,setSize:a,setLugs:c,setFinish:s,setPriceMin:l,setPriceMax:o,setSort:r,clearAll:i,total:n,scrollProcess:h,show:m,picker:p,lugOptions:u=[],sizeOptions:d=[],finishOptions:g,layout:z=b7,processOptions:f=B$,resultsLink:b,optionsReported:y=!1,fieldUsage:C}){let[S,H]=rT(null),[_,Z]=rT(null),q=Ku(),{process:j,size:B,lugs:N,finish:D,priceMin:T,priceMax:R,sort:i1}=e,O=g?i8.filter(X=>g.includes(X.f)):i8,m1=N$({processCount:f.length,sizeCount:d.length,lugCount:u.length,finishCount:O.length,optionsReported:y,fieldUsage:C}),Q={process:(m?.process??!0)&&m1.process,size:(m?.size??!0)&&m1.size,lugs:(m?.lugs??!0)&&m1.lugs,finish:(m?.finish??!0)&&m1.finish,price:m?.price??!0,vehicle:(m?.vehicle??!0)&&!!p,count:m?.count??!0,sort:m?.sort??!0},K={process:j?1:0,size:B?1:0,lugs:N?1:0,finish:D?1:0,price:T!=null||R!=null?1:0,vehicle:p?.appliedName?1:0},a1=()=>{i(),p?.clear(),H(null),Z(null)};if(z==="columns"){let X=I=>Z(_===I?null:I),D1=[];Q.vehicle&&p&&D1.push(u0(M9,{name:"vehicle",label:q.vehicle,children:[at.map(I=>x1(lT,{field:I,picker:p,open:_===I,onOpenRequest:X,onClose:()=>Z(null)},I)),x1(oT,{picker:p,onOpenRequest:X})]},"vehicle"));let t0=[];return Q.process&&t0.push(x1(M9,{name:"process",label:q.process,rowsAreOptions:!0,children:f.map(I=>x1(Sl,{active:j===I,onClick:()=>t(k9(j,I)),children:iT(I)},I))},"process")),Q.size&&t0.push(x1(M9,{name:"size",label:q.size,rowsAreOptions:!0,children:d.map(I=>u0(Sl,{active:B===I,onClick:()=>a(k9(B,I)),children:[I,'"']},I))},"size")),Q.lugs&&t0.push(x1(M9,{name:"lugs",label:q.lugs,rowsAreOptions:!0,children:u.map(I=>u0(Sl,{active:N===I,onClick:()=>c(k9(N,I)),children:[I,"-Lug"]},I))},"lugs")),Q.finish&&t0.push(x1(M9,{name:"finish",label:q.finish,rowsAreOptions:!0,children:O.map(I=>x1(Sl,{active:D===I.f,onClick:()=>s(D===I.f?null:I.f),children:I.label},I.f))},"finish")),D1.push(...nT(t0,C)),Q.price&&D1.push(u0(M9,{name:"price",label:q.price,children:[x1(mT,{label:"Min",value:T,onChange:l,ariaLabel:"Minimum price per wheel"}),x1(mT,{label:"Max",value:R,onChange:o,ariaLabel:"Maximum price per wheel"})]},"price")),u0("div",{className:"@container",children:[u0("div",{className:"border-t border-line px-[var(--sf-site-gutter,40px)] pb-12 pt-10 @max-[720px]:px-4 @max-[720px]:pb-10 @max-[720px]:pt-8",children:[(Q.count||Q.sort)&&u0("div",{className:"mb-9 flex flex-wrap items-center gap-x-6 gap-y-3 @max-[720px]:mb-7",children:[Q.count&&u0("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:[n," ",n===1?"result":"results"]}),Q.sort&&u0("div",{className:"ml-auto flex items-center gap-5",children:[x1("button",{type:"button",onClick:a1,className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg",children:"Clear All"}),x1(X9,{value:i1,onChange:I=>r(I.target.value),className:"border-b border-line bg-transparent pb-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg",children:Object.keys(j9).map(I=>x1("option",{value:I,children:j9[I]},I))})]})]}),x1("div",{"data-filter-columns":!0,className:`grid grid-cols-1 gap-x-[72px] gap-y-10 ${Z$[D1.length]??""}`,children:D1}),b&&x1("div",{className:"mt-10 flex",children:x1(hT,{href:b.href,label:b.label})})]}),Q.vehicle&&p&&x1(ap,{picker:p,total:n})]})}let B1=[];return Q.process&&B1.push(u0(Ht,{name:"process",label:h?u0(lp,{children:[x1("span",{className:"text-accent @min-[720px]:hidden",children:h==="FusionForge\xAE"?u0(lp,{children:["FusionForge",x1(T6,{})]}):h}),x1("span",{className:"hidden @min-[720px]:inline",children:q.process})]}):q.process,badge:K.process,open:S==="process",onToggle:()=>H(S==="process"?null:"process"),children:[x1(Ft,{children:"Series \xB7 single-select"}),x1("div",{className:"flex flex-wrap gap-1.5",role:"radiogroup","aria-label":"Process series",children:f.map(X=>{let D1=j===X;return x1(cp,{active:D1,role:"radio",ariaChecked:D1,onClick:()=>t(k9(j,X)),children:iT(X)},X)})})]},"process")),Q.size&&B1.push(u0(Ht,{name:"size",label:q.size,badge:K.size,open:S==="size",onToggle:()=>H(S==="size"?null:"size"),children:[x1(Ft,{children:"Diameter \xB7 single-select"}),x1("div",{className:"flex flex-wrap gap-1.5",role:"radiogroup","aria-label":"Wheel diameter",children:d.map(X=>{let D1=B===X;return u0(cp,{active:D1,role:"radio",ariaChecked:D1,onClick:()=>a(k9(B,X)),children:[X,'"']},X)})})]},"size")),Q.lugs&&B1.push(u0(Ht,{name:"lugs",label:q.lugs,badge:K.lugs,open:S==="lugs",onToggle:()=>H(S==="lugs"?null:"lugs"),children:[x1(Ft,{children:"Lug count \xB7 single-select"}),x1("div",{className:"flex flex-wrap gap-1.5",role:"radiogroup","aria-label":"Lug count",children:u.map(X=>{let D1=N===X;return u0(cp,{active:D1,role:"radio",ariaChecked:D1,onClick:()=>c(k9(N,X)),children:[X,"-Lug"]},X)})})]},"lugs")),Q.finish&&B1.push(u0(Ht,{name:"finish",label:q.finish,badge:K.finish,open:S==="finish",onToggle:()=>H(S==="finish"?null:"finish"),children:[x1(Ft,{children:"Color family \xB7 single-select"}),x1("div",{className:"flex flex-col gap-1.5",role:"radiogroup","aria-label":"Finish color family",children:O.map(X=>{let D1=D===X.f;return u0("button",{type:"button",role:"radio","aria-checked":D1,onClick:()=>s(D1?null:X.f),className:["flex items-center gap-2.5 border px-3 py-2 text-left transition-colors",D1?"border-accent text-fg":"border-line hover:border-fg-dim"].join(" "),children:[x1("span",{className:"block h-3.5 w-3.5 shrink-0 rounded-full border border-line",style:{background:X.hex}}),x1("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em]",style:D1?void 0:{color:"color-mix(in oklab, currentColor 80%, transparent)"},children:X.label}),D1&&x1("span",{"aria-hidden":!0,className:"ml-auto text-accent",children:"\u25CF"})]},X.f)})})]},"finish")),u0("div",{className:"@container sticky top-[67px] z-40 border-b border-line backdrop-blur",style:{background:"color-mix(in oklab, var(--bg) 92%, transparent)"},children:[u0("div",{className:"flex items-center gap-6 px-[var(--sf-site-gutter,40px)] py-3.5 @max-[720px]:flex-wrap @max-[720px]:items-stretch @max-[720px]:gap-2 @max-[720px]:px-4 @max-[720px]:py-2.5",children:[u0("div",{className:"flex flex-wrap items-center gap-1 @max-[720px]:gap-1.5",children:[Q.count&&u0("span",{className:"mr-3 border-r border-line pr-4 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim @max-[720px]:hidden",children:[n," ",n===1?"result":"results"]}),nT(B1,C),Q.price&&u0(Ht,{name:"price",label:q.price,badge:K.price,open:S==="price",onToggle:()=>H(S==="price"?null:"price"),children:[x1(Ft,{children:"Price range (per wheel)"}),u0("div",{className:"mt-1 flex items-center gap-2",children:[x1("input",{type:"number",placeholder:"$ Min",value:T??"",onChange:X=>l(X.target.value?Number(X.target.value):null),className:"w-full bg-bg border border-line px-3 py-2.5 font-mono text-[length:var(--size-label,14px)] text-fg"}),x1("span",{className:"font-mono text-[length:var(--size-label,12px)] text-fg-dim",children:"\u2014"}),x1("input",{type:"number",placeholder:"$ Max",value:R??"",onChange:X=>o(X.target.value?Number(X.target.value):null),className:"w-full bg-bg border border-line px-3 py-2.5 font-mono text-[length:var(--size-label,14px)] text-fg"})]})]}),Q.vehicle&&p&&x1(uT,{label:q.vehicle,badge:K.vehicle,open:S==="vehicle",onToggle:()=>H(S==="vehicle"?null:"vehicle")})]}),b&&x1("div",{className:`flex items-center @max-[720px]:hidden ${Q.sort?"":"ml-auto"}`,children:x1(hT,{href:b.href,label:b.label})}),Q.sort&&u0("div",{className:"ml-auto flex items-center gap-3 @max-[720px]:hidden",children:[x1("button",{type:"button",onClick:a1,className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-accent",children:"Clear All"}),x1(X9,{value:i1,onChange:X=>r(X.target.value),className:"border border-line bg-transparent px-4 py-2.5 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg",children:Object.keys(j9).map(X=>x1("option",{value:X,children:j9[X]},X))})]})]}),Q.vehicle&&p&&S==="vehicle"&&x1(cT,{picker:p,onClose:()=>H(null)}),Q.vehicle&&p&&x1(ap,{picker:p,total:n})]})}var Z$={1:"@min-[720px]:grid-cols-1",2:"@min-[720px]:grid-cols-2",3:"@min-[720px]:grid-cols-2 @min-[1100px]:grid-cols-3",4:"@min-[720px]:grid-cols-2 @min-[1100px]:grid-cols-4",5:"@min-[720px]:grid-cols-2 @min-[1100px]:grid-cols-3 @min-[1400px]:grid-cols-5",6:"@min-[720px]:grid-cols-2 @min-[1100px]:grid-cols-3 @min-[1400px]:grid-cols-6"},pT="flex w-full items-center justify-between gap-4 border-b py-3 text-left text-[length:var(--size-body,14px)]";function M9({name:e,label:t,rowsAreOptions:a,children:c}){return u0("div",{"data-filter-column":e,className:"flex flex-col gap-[22px]",children:[x1("div",{className:"font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.34em] text-fg-dim",children:t}),x1("div",{role:a?"radiogroup":void 0,"aria-label":a?t:void 0,children:c})]})}function Sl({active:e,onClick:t,children:a}){return x1("button",{type:"button",role:"radio","aria-checked":e,onClick:t,className:[pT,"transition-colors",e?"border-fg text-fg":"border-line text-fg-dim hover:text-fg"].join(" "),children:x1("span",{children:a})})}function mT({label:e,value:t,onChange:a,ariaLabel:c}){return u0("label",{className:`${pT} border-line`,children:[x1("span",{className:"text-fg-dim",children:e}),x1("input",{type:"number",inputMode:"numeric","aria-label":c,placeholder:"Any",value:t??"",onChange:s=>a(s.target.value?Number(s.target.value):null),className:"w-24 bg-transparent text-right text-fg outline-none placeholder:text-fg-dim"})]})}function uT({label:e,badge:t,open:a,onToggle:c}){let s=t>0;return u0("button",{type:"button",onClick:c,className:["inline-flex items-center gap-2 whitespace-nowrap border px-4 py-2.5 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] transition-colors",s?"border-accent text-accent":"border-line hover:border-fg-dim"].join(" "),style:s?void 0:{color:"color-mix(in oklab, currentColor 80%, transparent)"},children:[e,t>0&&x1("span",{className:"px-1.5 text-[length:var(--size-body,11px)] tracking-[0.1em] text-bg",style:{background:"var(--accent)"},children:t}),x1("span",{className:`text-[length:var(--size-body,11px)] opacity-65 transition-transform ${a?"rotate-180":""}`,children:"\u25BE"})]})}function Ht({label:e,badge:t,open:a,onToggle:c,children:s}){return u0("div",{className:"relative",children:[x1(uT,{label:e,badge:t,open:a,onToggle:c}),a&&x1("div",{className:"absolute left-0 top-[calc(100%+6px)] z-[60] min-w-[280px] border border-line bg-surface p-[18px] shadow-[0_24px_60px_rgba(0,0,0,0.4)]",onClick:l=>l.stopPropagation(),children:s})]})}function Ft({children:e}){return x1("div",{className:"mb-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.32em] text-fg-dim",children:e})}function cp({active:e,onClick:t,children:a,role:c,ariaChecked:s}){return x1("button",{type:"button",role:c,"aria-checked":c==="radio"?s:void 0,onClick:t,className:["border px-3 py-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] transition-colors",e?"border-accent bg-accent text-bg":"border-line hover:border-fg-dim"].join(" "),style:e?void 0:{color:"color-mix(in oklab, currentColor 75%, transparent)"},children:a})}import{jsx as R$}from"react/jsx-runtime";function rp({show:e,layout:t,processOptions:a,fieldUsage:c,editing:s=!1,resultsHref:l,resultsLabel:o}){let{filters:r,setProcess:i,setSize:n,setLugs:h,setFinish:m,setPriceMin:p,setPriceMax:u,setSort:d,clearAll:g,total:z,scrollProcess:f,publishVehicle:b,lugOptions:y,sizeOptions:C,finishOptions:S,optionsReported:H}=Zv(),_=I$(()=>c?U9(c,"alloy-wheel"):void 0,[c]),Z=E3({editing:s,autoApply:!0});gT(()=>{b({fit:Z.fit,name:Z.appliedName,resolving:Z.resolving,unresolved:Z.unresolved})},[b,Z.fit,Z.appliedName,Z.resolving,Z.unresolved]);let q=Z.applied?.vehicle??null;gT(()=>{if(s||!Z.restored||typeof window>"u")return;let D=new URLSearchParams(window.location.search);for(let R of Object.values(A4))D.delete(R);H4(D,q);let T=D.toString();window.history.replaceState(null,"",`${window.location.pathname}${T?`?${T}`:""}`)},[s,Z.restored,q]);let j=aA(r),B=(o??"").trim()||"See all results",N=l&&!s&&j.length===0?{href:cA(l,r,q),label:B}:void 0;return R$(op,{resultsLink:N,filters:r,setProcess:i,setSize:n,setLugs:h,setFinish:m,setPriceMin:p,setPriceMax:u,setSort:d,clearAll:g,total:z,lugOptions:y,sizeOptions:C,finishOptions:S,scrollProcess:f,show:e,layout:t,processOptions:a,optionsReported:H,fieldUsage:_,picker:Z})}import{jsx as _$}from"react/jsx-runtime";var dT={label:"Catalog Filter Bar",defaultProps:{showProcess:!0,showLugs:!0,showPrice:!0,showVehicle:!0,showCount:!0,showSort:!0,layout:b7,resultsHref:"",resultsLabel:""},render:e=>_$(rp,{show:{process:e.showProcess,size:!0,lugs:e.showLugs,finish:!0,price:e.showPrice,vehicle:e.showVehicle,count:e.showCount,sort:e.showSort},layout:sA(e.layout),processOptions:e.processOptions,fieldUsage:e.fieldUsage,resultsHref:Y(e.resultsHref)||void 0,resultsLabel:Y(e.resultsLabel)||void 0,editing:e.puck?.isEditing})};import{jsx as D$}from"react/jsx-runtime";var vT={label:"Collection Card",defaultProps:{collection:null},render:({collection:e,altName:t,tag:a,href:c,puck:s})=>{let l=e&&typeof e=="object"?e:null,o=(i,n)=>o2(i).hidden?"":Y(i)||(s?.isEditing?n:void 0),r=Gz({type:"CollectionCard",props:{altName:t,collection:l}});return D$(jb,{tag:o(a,L.eyebrow),name:r||(s?.isEditing?"Card title":void 0),desc:l?.description||(s?.isEditing?L.body:void 0),href:Y(c)||void 0,imageSrc:l?.image||void 0,imageLabel:l?.name||void 0})}};import{jsx as O$}from"react/jsx-runtime";var fT={label:"Country Switch",render:({puck:e})=>O$(tT,{editing:e?.isEditing})};import{jsx as F7,jsxs as ip}from"react/jsx-runtime";function G$(e){let t=[];e.fuelClass&&t.push({key:"Fuel efficiency",value:e.fuelClass}),e.wetGripClass&&t.push({key:"Wet grip",value:e.wetGripClass});let a=wl(e);return a&&t.push({key:"Rolling noise",value:a}),t}function q$(e){let t=[];return e.severeSnow&&t.push("3PMSF severe snow"),e.iceGrip&&t.push("Ice grip"),t}function np({label:e}){let t=G$(e),a=q$(e);return ip("div",{className:"flex flex-col bg-[var(--card-bg)] p-5",children:[F7("h3",{className:"font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-tight",children:e.size}),F7("dl",{className:"mt-3 flex flex-col gap-1.5 font-mono text-[length:var(--size-label,12px)]",children:t.map(c=>ip("div",{className:"flex items-baseline justify-between gap-3",children:[F7("dt",{className:"uppercase tracking-[0.14em] text-fg-dim",children:c.key}),F7("dd",{className:"text-right text-fg",children:c.value})]},c.key))}),a.length>0?F7("ul",{className:"mt-3 flex flex-wrap gap-2",children:a.map(c=>F7("li",{className:"border border-line px-2 py-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim",children:c},c))}):null,ip("a",{href:e.eprelUrl,target:"_blank",rel:"noopener noreferrer",className:"group mt-4 inline-flex items-center gap-2 border-t border-line pt-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent transition-colors hover:text-fg",children:[`EPREL ${e.registrationNumber}`,F7("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]})]})}import{jsx as Al,jsxs as W$}from"react/jsx-runtime";function hp({labels:e,num:t}){return e.length===0?null:W$("section",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",children:[Al(j1,{num:t,title:"EU tyre *label.*",description:"The registered grades for this tyre, read live from the EU product registry.",accent:!0}),Al("div",{className:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:e.map(a=>Al(np,{label:a},a.registrationNumber))}),Al(B5,{text:"Source: *EPREL*, the European Product Registry for Energy Labelling. Grades are shown as registered; the registry is the authority."})]})}import{jsx as Tt}from"react/jsx-runtime";var U$=["tyre"];function mp(e){return Tt(e2,{kinds:U$,type:"EuTyreLabel",editing:e.editing,children:Tt(K$,{...e})})}function K$({num:e,editing:t=!1}){let a=A0(),c=O2(t&&!a),s=a?.product??c,l=s?.kind==="tyre"?s.source.variants:[],o=yl(l);return o.length===0&&t?Tt("section",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",children:Tt("p",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"The EU label appears here for every size with an EPREL registration number. It is read live from the registry and never stored."})}):Tt(hp,{labels:o,num:e??""})}import{jsx as $$}from"react/jsx-runtime";var bT={label:"EU Tyre Label",defaultProps:{num:""},render:e=>$$(mp,{num:x(e.num,M0.num,e.puck),editing:e.puck?.isEditing})};import{jsx as j$}from"react/jsx-runtime";var zT={label:"Gallery Item",defaultProps:{image:"",href:"",process:"",eyebrow:"",name:"",meta:"",fromProduct:!1,product:{},previewHover:!1},render:e=>{let t=e.product??{},a=e.fromProduct===!0&&!!t.code;return j$(Sc,{image:a?t.cover:e.image,photos:a?(t.photos??[]).map(c=>({src:c})):e.photos,href:a?t.href:e.href,process:a?t.hideProcess?void 0:t.category:x(e.process,"",e.puck),eyebrow:a?t.hideEyebrow?void 0:t.eyebrow:x(e.eyebrow,"",e.puck),name:a?t.hideName?void 0:t.name:x(e.name,"",e.puck),meta:a?t.hideFinish?void 0:t.finish:x(e.meta,"",e.puck),previewHover:e.previewHover,ratio:e.ratio,captionPlace:e.captionPlace,editing:e.puck?.isEditing})}};import{Render as Q$}from"efficient-easel/render";import{jsx as J$}from"react/jsx-runtime";var Y$=["none","always","on_scroll_up"],X$=e=>Y$.includes(e)?e:"always";function pp({sticky:e,topTextColor:t,children:a}){let c=X$(e),{headerRef:s,scrolled:l,navHidden:o}=Sf({stickyMode:c,heightPx:Jv.default}),r=Pf(t),i=r==="auto"?null:{[Tf]:r};return J$("header",{ref:s,"data-scrolled":l||void 0,"data-box-header":"",...i,className:["sf-site-header","flex flex-col justify-center",c==="none"?"absolute":"fixed","inset-x-0 top-0 z-50",l?"border-b border-line backdrop-blur-md":"border-b border-transparent","transition-[background,border-color,transform] duration-300 ease-out"].join(" "),style:{minHeight:Qv,...o?{transform:"translateY(-100%)"}:null,...l?{background:"var(--bg)",color:"var(--fg)"}:{color:"var(--sf-header-overlay-fg)"}},children:a})}import{Fragment as aj,jsx as up}from"react/jsx-runtime";var ej=null,tj=()=>ej??={...gp,root:{...gp.root,render:({children:e})=>up(aj,{children:e})}};function dp({group:e}){let t=mf({root:{props:{}},content:[e],zones:{}}),a=e.props??{};return up(pp,{sticky:a.sticky,topTextColor:a.topTextColor,children:up(Q$,{config:tj(),data:t})})}import{jsx as xT}from"react/jsx-runtime";function vp({editing:e=!1}){let{headerGroup:t}=qz();return e?t?xT(dp,{group:t}):xT(Zf,{}):null}import{jsx as cj}from"react/jsx-runtime";var wT={label:"Header",render:({puck:e})=>cj(vp,{editing:e?.isEditing})};import{useEffect as Tj,useState as KT}from"react";var yT="flex items-stretch gap-3.5 max-[720px]:flex-wrap max-[720px]:[&>.flex-1]:order-last max-[720px]:[&>.flex-1]:basis-full";import{useEffect as kp,useRef as yj,useState as WT}from"react";import{jsx as fp,jsxs as kT}from"react/jsx-runtime";var sj="Please enter a valid email address.";function Vt({email:e,onEmailChange:t,status:a,onResetVerdict:c,onSubmit:s,submitLabel:l,errorMessage:o,inputAriaLabel:r,buttonClassName:i,className:n,placeholder:h="you@example.com"}){return kT("form",{className:[n,"flex flex-col gap-2"].filter(Boolean).join(" "),noValidate:!0,onSubmit:m=>{m.preventDefault(),s()},children:[kT("div",{className:"flex items-stretch gap-2",children:[fp("input",{type:"email",value:e,onChange:m=>{t(m.target.value),(a==="invalid"||a==="error")&&c()},placeholder:h,"aria-label":r,disabled:a==="sending",className:"min-w-0 flex-1 border-2 border-line bg-bg px-3.5 py-3 font-display text-[15px] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent disabled:opacity-60"}),fp("button",{type:"submit",disabled:a==="sending",className:i,children:a==="sending"?"Sending\u2026":l})]}),(a==="error"||a==="invalid")&&fp("p",{role:"alert",className:"font-mono text-[11px] uppercase tracking-[0.18em]",style:{color:"var(--alert)"},children:a==="invalid"?sj:o})]})}import{jsx as W4,jsxs as C9}from"react/jsx-runtime";function Pt({vehicle:e,escape:t,override:a,verdict:c,showChangeCar:s,cascadeErrorNote:l,askNote:o}){let r=e.appliedName!=="";return C9("div",{className:"pb-2",children:[C9("div",{className:"mb-3 flex items-center justify-between gap-4 font-mono text-[13px] font-semibold uppercase tracking-[0.2em] text-fg",children:[W4("span",{children:"Vehicle Fitment"}),t]}),a?W4("div",{className:"flex flex-col gap-3",children:a}):r?C9("div",{className:"flex flex-col gap-3",children:[c,s&&W4("div",{children:W4("button",{type:"button",onClick:e.clear,"aria-label":`Change car - forget ${e.appliedName} and ask again`,className:"cursor-pointer font-mono text-[12px] uppercase tracking-[0.16em] text-accent underline underline-offset-4 hover:text-fg",children:"Change car"})})]}):C9("div",{className:"flex flex-col gap-3",children:[W4(i3,{cascade:e.cascade,compact:!0}),e.cascade.cascadeError&&W4("p",{className:"font-mono text-[12px] leading-relaxed tracking-[0.1em] text-fg-dim",children:l}),W4("span",{className:"font-mono text-[12px] tracking-[0.1em] text-fg-dim",children:o})]})]})}function bp({vehicle:e}){return e.appliedName?C9("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 border border-accent px-3 py-2 font-mono text-[12px] tracking-[0.1em] text-fg-dim",style:{background:"color-mix(in oklab, var(--accent) 8%, transparent)"},children:[C9("span",{children:["Showing fitment for your"," ",W4("strong",{className:"font-semibold text-fg",children:e.appliedName})]}),W4("button",{type:"button",onClick:e.clear,"aria-label":`Change car - forget ${e.appliedName} and ask again`,className:"ml-auto cursor-pointer uppercase tracking-[0.16em] text-accent underline underline-offset-4 hover:text-fg",children:"Change car"})]}):null}function a4({tone:e,children:t}){return W4("div",{className:["border px-3 py-2.5 font-mono text-[13px] leading-relaxed tracking-[0.1em] text-fg-dim",e==="good"?"border-accent":e==="bad"?"border-alert":"border-dashed border-line"].join(" "),children:t})}import{useEffect as lj,useState as MT}from"react";function Hl(e,t){let[a,c]=MT(null),[s,l]=MT(!1),o=t?.make??"",r=t?.model??"",i=t?.year??null,n=t?.modification??"",h=t!==null;return lj(()=>{if(!h||i===null){c(null),l(!1);return}let m=!0;return c(null),l(!0),_v(e,{make:o,model:r,year:i,modification:n}).then(p=>{if(!m)return;let u=p.vehicle;u.make!==o||u.model!==r||u.year!==i||u.modification!==n||(c(p),l(!1))}),()=>{m=!1}},[e,o,r,i,n,h]),{answer:a,loading:s}}function Fl(e){let t=e.oemSizes.length>0?` Your car takes ${e.oemSizes.join(", ")}.`:"";return e.status==="fits"?`This tyre is made in a size your car takes.${t}`:e.status==="doesNotFit"?`This tyre is not made in a size your car takes.${t}`:"We don\u2019t hold factory tyre sizes for this car, so we can\u2019t tell you whether this tyre fits it. Please check your car\u2019s door placard or ask us before ordering."}var Tl={fits:"Fits",doesNotFit:"Not your size",unknown:"Unknown"};function oj(e,t,a){if(!e)return"unknown";let c=t.filter(l=>l.size===a);if(c.length===0)return"unknown";let s=c.map(l=>_a(e,l.sku));return s.includes("fits")?"fits":s.every(l=>l==="doesNotFit")?"doesNotFit":"unknown"}var zp={fits:{color:"var(--accent)",dashed:!1},doesNotFit:{color:void 0,dashed:!1},unknown:{color:void 0,dashed:!0}};function CT(e,t){if(!e)return[];let a=[];for(let n of t)a.includes(n.size)||a.push(n.size);let c=a.filter(n=>oj(e,t,n)==="fits"),s=n=>{let h=Aa(n);return h?Dd(h):null},l=new Map;for(let n of c){let h=s(n);h!==null&&!l.has(h)&&l.set(h,n)}let o=[],r=new Set,i=new Set;for(let n of e.oemSizes){let h=s(n),m=h===null?void 0:l.get(h),p=m??n;r.has(p)||(r.add(p),h!==null&&i.add(h),o.push({size:p,made:m!==void 0}))}for(let n of c){let h=s(n);h!==null&&i.has(h)||r.has(n)||(r.add(n),o.push({size:n,made:!0}))}return o}import{Fragment as LT,jsx as N3,jsxs as B3}from"react/jsx-runtime";function xp({slug:e,variants:t,vehicle:a,manualMode:c,setManualMode:s}){let{answer:l,loading:o}=Hl(e,c?null:Ra(a.applied?.vehicle)),r=a.appliedName;return N3(Pt,{vehicle:a,escape:N3("button",{type:"button",className:"cursor-pointer text-right text-accent hover:underline",onClick:()=>s(i=>!i),children:c?"\u2190 Find by vehicle":"Select by specs instead \u2192"}),override:c?B3(a4,{tone:"quiet",children:[N3("strong",{className:"font-semibold text-fg",children:"You are choosing by size."}),B3("span",{className:"mt-1.5 block",children:["Pick the size above. We have not checked it against any car \u2014 make sure it matches the placard on your door."," ",N3(r0,{href:"/contact",className:"text-accent hover:underline",children:"Ask us if you are unsure \u2192"})]})]}):null,verdict:N3(rj,{answer:l,loading:o,car:r,variants:t,onChange:a.clear}),showChangeCar:!1,cascadeErrorNote:B3(LT,{children:["Vehicle data is unavailable right now. Pick your size above, or"," ",N3(r0,{href:"/contact",className:"text-accent hover:underline",children:"ask us to check it \u2192"})]}),askNote:"Asked once. Every tyre after this one is already filled in."})}function rj({answer:e,loading:t,car:a,variants:c,onChange:s}){if(t||!e)return B3(a4,{tone:"quiet",children:[N3("strong",{className:"font-semibold text-fg",children:"Checking your car\u2026"})," ",B3("span",{children:["Reading the factory tyre sizes for your ",a,"."]})]});let l=CT(e,c),o=e.status==="doesNotFit"?"You can still order any size here \u2014 check it suits your car first.":"",r=l.length===0?Fl(e):"",i=r&&o?`${r} ${o}`:r||o;return B3(a4,{tone:e.status==="fits"?"good":"quiet",children:[B3("span",{className:"block",children:[e.status==="fits"?B3("strong",{className:"font-semibold text-accent",children:["\u2713 Made in a size your ",a," takes"]}):e.status==="doesNotFit"?B3("strong",{className:"font-semibold text-fg",children:["Not made in a size your ",a," takes"]}):B3("strong",{className:"font-semibold text-fg",children:["We cannot check this tyre against your ",a]}),B3("span",{className:"whitespace-nowrap",children:[" \xB7 ",N3("button",{type:"button",onClick:s,"aria-label":`Change car - forget ${a} and ask again`,className:"cursor-pointer uppercase tracking-[0.16em] text-accent underline underline-offset-4 hover:text-fg",children:"Change car"})]})]}),i?N3("span",{className:"mt-1.5 block",children:i}):null,l.length>0?B3(LT,{children:[N3("span",{className:"mt-1.5 block",children:"Your car takes:"}),N3("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:l.map(n=>{let h=n.made?zp.fits:zp.doesNotFit;return N3("li",{className:"border border-line px-2 py-1 text-[11px] uppercase tracking-[0.14em]",style:h.color?{color:h.color,borderColor:h.color}:void 0,children:n.made?`${n.size} \xB7 ${Tl.fits}`:n.size},n.size)})})]}):null]})}import{useEffect as ST,useState as AT}from"react";var Vl="(max-width: 720px) 88vw, (max-width: 1100px) 44vw, 700px";function HT(e,t,a){return a<=1?0:((e+t)%a+a)%a}function FT(e,t,a){return[{glyph:"\u25C1",label:"Previous angle",onClick:()=>a(HT(e,-1,t))},{glyph:"\u27F3",label:"Reset to first angle",onClick:()=>a(0)},{glyph:"\u25B7",label:"Next angle",onClick:()=>a(HT(e,1,t))}]}function ij(e){let{props:t}=td({src:e,alt:"",fill:!0,sizes:Vl}),a=new window.Image;return t.sizes&&(a.sizes=t.sizes),t.srcSet&&(a.srcset=t.srcSet),a.src=t.src,a.decode()}function TT(e,t,a=ij){let[c,s]=AT(()=>new Set),[l,o]=AT(t),r=e.join(`
|
|
142
142
|
`);ST(()=>{let n=!0,h=m=>{n&&s(p=>p.has(m)?p:new Set(p).add(m))};for(let m of r?r.split(`
|
|
143
|
-
`):[])a(m).then(()=>h(m),()=>h(m));return()=>{n=!1}},[r]);let i=t===void 0||c.has(t)||l===void 0;return ST(()=>{i&&l!==t&&o(t)},[i,l,t]),i?t:l}import{Fragment as hj,jsx as q2,jsxs as h3}from"react/jsx-runtime";function wp({selection:e,spec:t,vehicle:a,wheel:c}){let{manualMode:s,setManualMode:l}=e,o=Ys(e.rows,e.preOrder),r=a.appliedName!=="",i=(c?.variants??[]).some(id),n=fH({wheel:c,applied:r,fit:a.fit,resolving:a.resolving});return q2(Pt,{vehicle:a,escape:q2("button",{type:"button",className:"cursor-pointer text-right text-accent hover:underline",onClick:()=>l(h=>!h),children:s?"\u2190 Find by vehicle":"Select by specs instead \u2192"}),override:s?h3(a4,{tone:"quiet",children:[q2("strong",{className:"font-semibold text-fg",children:"You are choosing by the numbers."}),h3("span",{className:"mt-1.5 block",children:[t?`${i?"The set is":"All four wheels are"} ${t}. We have not checked that against any car \u2014 make sure it matches yours.`:o?"Answer the bolt pattern and the offset below. We will not check them against a car.":"Pick a finish and a size below. The bolt pattern and the offset come next, and we will not check them against a car."," ",q2(r0,{href:"/fitment",className:"text-accent hover:underline",children:"Talk to an engineer \u2192"})]})]}):null,verdict:q2(nj,{verdict:n,car:a.appliedName}),showChangeCar:n.state!=="fits"&&n.state!=="checking",cascadeErrorNote:h3(hj,{children:["Vehicle data is unavailable right now. Pick your wheel by its specs instead, or"," ",q2(r0,{href:"/contact",className:"text-accent hover:underline",children:"ask us to check it \u2192"})]}),askNote:"Asked once. Every wheel after this one is already filled in."})}function nj({verdict:e,car:t}){switch(e.state){case"checking":return h3(a4,{tone:"quiet",children:[q2("strong",{className:"font-semibold text-fg",children:"Checking fitment\u2026"})," ",h3("span",{children:["Reading the factory wheel specs for your ",t,"."]})]});case"fits":return h3(a4,{tone:"good",children:[h3("strong",{className:"font-semibold text-accent",children:["\u2713 Fits your ",t]}),q2("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:e.checks.map(a=>q2("li",{className:["px-2 py-1 text-[11px] uppercase tracking-[0.14em] text-fg-dim",a.value!==null?"border border-line":"border border-dashed border-line"].join(" "),children:a.value??`${a.name} not published, not checked`},a.key))})]});case"fits-with-warning":return h3(a4,{tone:"good",children:[h3("strong",{className:"font-semibold text-accent",children:["\u2713 Fits your ",t]}),q2("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:e.checks.map(a=>q2("li",{className:["px-2 py-1 text-[11px] uppercase tracking-[0.14em] text-fg-dim",a.value!==null?"border border-line":"border border-dashed border-line"].join(" "),children:a.value??`${a.name} not published, not checked`},a.key))}),h3("span",{className:"mt-2 block border-l-2 border-alert pl-2.5",children:[q2("strong",{className:"font-semibold text-fg",children:"Check the offset. "}),k7(e.warning)," An offset this far out is what an aftermarket wheel is for, but it changes how far the wheel sits from the guard."," ",q2(r0,{href:"/contact",className:"text-accent hover:underline",children:"Ask us if you are unsure \u2192"})]})]});case"no-fit":return h3(a4,{tone:"bad",children:[h3("strong",{className:"font-semibold",style:{color:"var(--alert)"},children:["\u2717 Does not fit your ",t]}),q2("span",{className:"mt-1.5 block",children:k7(e.failure)})]});case"unknown":return h3(a4,{tone:"quiet",children:[q2("strong",{className:"font-semibold text-fg",children:e.missing==="vehicle"?`We cannot check this wheel against your ${t}`:"We cannot check this wheel"}),h3("span",{className:"mt-1.5 block",children:[e.missing==="vehicle"?`We have no factory wheel data for the ${t}, and we will not guess at a fit.`:"We do not hold a bolt pattern for this wheel, and we will not guess at a fit."," ",q2(r0,{href:"/contact",className:"text-accent hover:underline",children:"Ask us before you order \u2192"})]})]});default:return null}}import{useState as BT}from"react";import{useCallback as PT,useRef as mj,useState as pj}from"react";function VT(e,t,a){return{productSlug:e,email:a.trim(),size:t?l8(t):""}}function ET(){let[e,t]=pj("idle"),a=mj(!1),c=PT(()=>{a.current=!1,t("idle")},[]),s=PT(async({productSlug:l,size:o,email:r,dryRun:i=!1})=>{if(!a.current){if(!Pa(r)){t("invalid");return}a.current=!0,t("sending");try{i||await D0.createPreOrderIntent(VT(l,o,r))}catch{a.current=!1,t("error");return}a.current=!1,t("sent")}},[]);return{status:e,submit:s,reset:c}}import{jsx as L9,jsxs as S9}from"react/jsx-runtime";function yp({wheel:e,editing:t=!1}){let a=e.sizePairs??[],[c,s]=BT(a.length>0?0:-1),[l,o]=BT(""),{status:r,submit:i,reset:n}=ET(),h=c>=0?a[c]??null:null;function m(){i({productSlug:e.slug,size:h,email:l,dryRun:t})}return S9("div",{className:"flex flex-col gap-5 border-t border-line pt-[18px]",children:[S9("div",{className:"border-2 border-accent/40 px-4 py-3.5 font-mono text-[12px] leading-relaxed tracking-[0.08em] text-fg",style:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:[L9("span",{className:"font-bold uppercase tracking-[0.2em] text-accent",children:"Pre-order"})," ","\u2014 this design isn't available to add to cart right now. Leave your email to pre-order it. No payment is taken now."]}),a.length>0&&S9("div",{children:[S9("div",{className:"mb-3.5 font-mono text-[13px] font-semibold uppercase tracking-[0.22em] text-fg",children:["Size \xB7"," ",L9("span",{className:"text-accent",children:h?l8(h):"Select a size"})]}),L9("div",{className:"flex flex-wrap gap-1.5",children:a.map((p,u)=>{let d=u===c;return S9("button",{type:"button",onClick:()=>{s(u),r==="sent"&&n()},className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",d?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:d?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[d&&L9("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),L9("span",{className:"block text-[14px] tracking-[0.18em]",children:l8(p)})]},l8(p))})})]}),r==="sent"?S9("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-accent",children:["Thanks \u2014 we've registered your pre-order for the ",e.name,"."]}):L9(Vt,{email:l,onEmailChange:o,status:r,onResetVerdict:n,onSubmit:m,inputAriaLabel:"Email to pre-order this design",submitLabel:"Pre-order",buttonClassName:"cursor-pointer whitespace-nowrap border-2 border-btn bg-btn px-6 font-mono text-[12px] font-bold uppercase tracking-[0.22em] text-btn-ink transition-colors hover:bg-fg hover:border-fg disabled:cursor-not-allowed disabled:opacity-50",errorMessage:"Couldn't register that \u2014 please try again."})]})}import{useState as uj}from"react";import{Fragment as gj,jsx as Pl}from"react/jsx-runtime";function El({src:e,alt:t,fallback:a,fill:c=!1,width:s,height:l,sizes:o,className:r,style:i,priority:n,draggable:h,imageKey:m,imageWrapperClassName:p,onImageClick:u,imageButtonClassName:d,imageButtonLabel:g}){let[z,f]=uj(null),b=e||"";if(!(b!==""&&z!==b))return Pl(gj,{children:a});let C=Pl(H5,{src:b,alt:t,...c?{fill:!0}:{width:s??1e3,height:l??1e3},sizes:o,className:r,style:i,priority:n,draggable:h,onError:()=>f(b)},m??b),S=p?Pl("div",{className:p,children:C}):C;return u?Pl("button",{type:"button",onClick:u,"aria-label":g,className:d,children:S}):S}function NT(e){let t=e.angles??(e.src?[e.src]:[]),a=[],c=[];for(let s of t)(s.split("/").pop()??"").includes("20-20")?a.push(s):c.push(s);return[...c,...a]}import{Fragment as ZT,jsx as Z3,jsxs as vj}from"react/jsx-runtime";function Bl(e,t){return e.captions[t]?.trim()||`Photo ${t+1}`}function Nl({text:e}){return e==="FusionForge\xAE"?vj(ZT,{children:["FusionForge",Z3(T6,{})]}):Z3(ZT,{children:e})}function IT(e,t,a){if(e.kind==="tyre"){let h=e.source,m=t.shown.size??h.sizes[0]??"",p=h.variants.find(g=>g.size===m),u=p?.specs.tireType??h.variants[0]?.specs.tireType??null,d=[p?.image,h.coverImage].filter(g=>!!g);return{heading:Yv(h.brand,h.name),photos:d.slice(0,1),tint:void 0,stageImage:()=>Z3(n8,{image:p?.image??h.coverImage,size:m,type:u,sizes:Vl,priority:!0,className:"h-full w-full"}),thumbImage:()=>null,captions:[],thumbFallbackCells:0,galleryHint:"",metaValue:m,specCaption:p?[p.specs.loadIndex,p.specs.speedRating].filter(Boolean).join(""):"",originCaption:h.brand,unitLabel:"per tyre",vehicle:Z3(xp,{slug:h.slug,variants:h.variants,vehicle:t.vehicle,manualMode:t.manualMode,setManualMode:t.setManualMode}),vehicleMemory:t.manualMode?null:Z3(bp,{vehicle:t.vehicle}),vehicleAnswersSpecs:!1,preOrder:null}}let c=e.source,s=Wv(c,t.shown.finish),l=Oa(c,t.part),o=el(t),r=Cd(s,o),i=r?[...r]:NT(s),n=i.length>0?i:c.coverImage?[c.coverImage]:[];return{heading:e.name,photos:n,tint:s.color,stageImage:({photo:h,alt:m,label:p,onZoom:u,fit:d})=>Z3(El,{src:h,alt:m,fill:!0,sizes:Vl,className:d==="cover"?"object-cover":"object-contain",priority:!0,onImageClick:u,imageButtonClassName:"relative block h-[88%] w-[88%] cursor-zoom-in",imageButtonLabel:p,fallback:Z3(q6,{spokes:c.spokes,mesh:c.mesh,className:"block h-[70%] w-[70%]"})}),thumbImage:({photo:h,alt:m})=>Z3(El,{src:h,alt:m,fill:!0,sizes:"(max-width: 720px) 20vw, (max-width: 1100px) 10vw, 120px",className:"object-contain",imageWrapperClassName:"relative h-[80%] w-[80%]",fallback:Z3(q6,{spokes:c.spokes,mesh:c.mesh,className:"block h-[55%] w-[55%]"})}),captions:n.map(h=>s.captions?.[h]),thumbFallbackCells:4,galleryHint:dj(n,s,o,t.manualMode),metaValue:s.name,specCaption:l?K9(l):"",originCaption:c.process==="FusionForge\xAE"?"FusionForge\xAE \xB7 Hybrid":`${c.process} \xB7 1-piece`,unitLabel:"per wheel",vehicle:Z3(wp,{selection:t,spec:l?K9(l):"",vehicle:t.vehicle,wheel:c}),vehicleMemory:t.manualMode?null:Z3(bp,{vehicle:t.vehicle}),vehicleAnswersSpecs:!0,preOrder:Z3(yp,{wheel:c,editing:a})}}function dj(e,t,a,c){return e.length>=2||a!=null||!Object.values(t.lugRenderings??{}).some(l=>Array.isArray(l)&&l.filter(Boolean).length>=2)?"":c?"Pick a bolt pattern to see every angle":"Pick your vehicle to see every angle"}import{createContext as fj,useContext as bj,useEffect as zj,useState as RT}from"react";import{jsx as wj}from"react/jsx-runtime";var _T="storefront-wishlist";function xj(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var DT=fj(null);function tB1({children:e}){let[t,a]=RT([]),[c,s]=RT(!1);zj(()=>{let r=Q2.getItem(_T);try{r&&a(xj(r))}catch{}s(!0)},[]);function l(r){let i=t.includes(r)?t.filter(n=>n!==r):[...t,r];a(i),Q2.setItem(_T,JSON.stringify(i))}let o={slugs:t,ready:c,has:r=>t.includes(r),toggle:l,count:t.length};return wj(DT.Provider,{value:o,children:e})}function OT(){let e=bj(DT);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}var GT="data-option-row";import{Fragment as c4,jsx as u1,jsxs as G1}from"react/jsx-runtime";var kj=4e3;function Mj(e){return e?[e.year,e.make,e.model,e.modification].join("-"):""}function A9({product:e,selection:t,onLightbox:a,editing:c=!1,pricePlacement:s="top",showVehicleFitment:l=!0,heroLayout:o=y6,imageRatio:r=k6,textAlign:i=A7,showSpecTable:n=!0,showPriceQuote:h=!0,galleryMode:m=M6,imageFit:p=C6}){let u=b9(o),d=gl(i),g=dl(r),z=vl(m),f=gF(fl(p),md(e)),b=u==="imageRight"?`${100-g}fr ${g}fr`:`${g}fr ${100-g}fr`,{picked:y,pick:C,qty:S,setQty:H,choice:_,setChoice:Z,angleIdx:q,setAngleIdx:j,showValidation:B,setShowValidation:N,manualMode:D,vehicle:T,rows:R,facts:i1,part:O,outOfStock:m1,offer:Q,preOrder:K,canAddToCart:a1,currency:B1,price:X,set:D1,msrpLabel:t0}=t,I=IT(e,t,c),{bullets:H1}=Jw(),f1=nd(e),J2=hd(e),G0=l?I.vehicle:null,q1=l?I.vehicleMemory:null,[p3,h0]=WT(!1);kp(()=>{let $=()=>{h0(document.documentElement.getAttribute("data-theme")==="light")};$();let N1=new MutationObserver($);return N1.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>N1.disconnect()},[]);let{add:R3,open:g0,warmCatalog:k3}=Z6();kp(()=>{c||k3(e.kind)},[c,e.kind,k3]);let l4=R.filter($=>!K||$.values.length>0),E2=l4.filter($=>$.role==="resolves"),g1=l4.filter($=>$.role==="describes"&&!pd(J2,$.key)),W1=g1.findIndex($=>$.chosen===null),_0=(!G0||!I.vehicleAnswersSpecs||t.fitmentSet)&&Ys(R,K)?W1===-1?g1:g1.slice(0,W1+1):[],q0=[...E2,..._0],o0=G1("div",{className:"flex items-baseline gap-5 border-t border-line pt-[18px]",children:[t0&&u1("div",{className:"font-mono text-[length:var(--size-label,15px)] text-fg-dim line-through",children:t0}),u1("div",{className:"font-heading2 text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))] font-bold leading-none tracking-[-0.01em] text-fg",children:f1?rd(X,B1):xa(X,B1)}),X.priced&&u1("div",{className:"font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:I.unitLabel}),X.setTotal!=null&&G1("div",{className:"ml-auto border border-accent px-3 py-2 font-mono text-[length:var(--size-label,13px)] font-bold uppercase tracking-[0.18em] text-accent",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)"},children:[Q.quantityLabel,": ",I2(D1,B1)]})]}),W0=yj(null);return kp(()=>{c||W0.current===e.slug||(W0.current=e.slug,uv({itemId:O?`${e.slug}|${O.id}`:e.slug,itemName:e.name,variant:I.metaValue,pricePerSet:X.setTotal??X.fromSetTotal??0,currency:B1}))},[c,e.slug,e.name,I.metaValue,O,X,B1]),G1(c4,{children:[u1("nav",{className:"border-b border-line px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-page-cap,100%))/2_+_var(--sf-site-gutter,40px)))] pt-4 pb-4 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:p3?void 0:{background:"var(--section-bg)"},children:e.crumbs.map(($,N1)=>G1("span",{children:[N1>0&&G1(c4,{children:[u1("span",{className:"mx-3 text-accent",children:"/"}),u1("wbr",{})]}),$.href?u1(r0,{href:$.href,className:"hover:text-fg",children:u1(Nl,{text:$.label})}):u1("span",{className:"text-fg",children:u1(Nl,{text:$.label})})]},`${$.label}-${N1}`))}),G1("section",{"data-hero-layout":u,"data-hero-align":d,className:["grid gap-10 px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-page-cap,100%))/2_+_var(--sf-site-gutter,40px)))] py-14 max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[720px]:py-8",u==="stacked"?"grid-cols-1":"[grid-template-columns:var(--hero-cols)] max-[1100px]:[grid-template-columns:1fr]"].join(" "),style:{...p3?{}:{background:"var(--section-bg)"},...u==="stacked"?{}:{"--hero-cols":b}},children:[G1("div",{"data-hero-gallery":z,"data-hero-fit":f,className:z==="tiled"?"flex items-start gap-3 max-[720px]:gap-2":void 0,style:u==="imageRight"?{order:2}:void 0,children:[G1("div",{className:z==="tiled"?"min-w-0 flex-1":void 0,children:[u1(Sj,{name:e.name,view:I,angleIdx:q,onSelect:j,isLight:p3,onLightbox:a,fit:f}),I.galleryHint&&u1("p",{"data-hero-gallery-hint":!0,className:"mt-2 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.18em] text-fg-dim",children:I.galleryHint})]}),z!=="main"&&u1(Aj,{name:e.name,view:I,angleIdx:q,onSelect:j,isLight:p3,tiled:z==="tiled"})]}),G1("div",{className:["flex flex-col gap-7",d==="center"?"items-center text-center":""].filter(Boolean).join(" "),style:u==="imageRight"?{order:1}:void 0,children:[G1("div",{children:[G1("div",{className:"mb-2.5 flex items-center gap-2.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.2em] text-accent",children:[u1("span",{children:u1(Nl,{text:e.eyebrow})}),e.badge&&G1(c4,{children:[u1("span",{children:"\xB7"}),u1("span",{children:e.badge})]})]}),u1("h1",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(48px,5.5vw,84px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] uppercase leading-[0.92] tracking-[-0.035em]",children:(()=>{let $=I.heading.lastIndexOf(" ");if($===-1)return I.heading;let N1=I.heading.slice(0,$),y0=I.heading.slice($+1);return G1(c4,{children:[N1," ",G1("em",{className:"font-normal italic text-accent",children:[y0,"."]})]})})()})]}),s!=="belowSpecs"&&h&&o0,q1,E2.map($=>u1(qT,{row:$,onPick:C},$.key)),K&&I.preOrder?G1(c4,{children:[s==="belowSpecs"&&h&&o0,I.preOrder]}):G1(c4,{children:[G0,_0.map($=>u1(qT,{row:$,onPick:C},$.key)),n&&u1(Cj,{facts:i1}),(Q.packs.length>0||Q.extra||Q.spareCounts.length>0)&&G1("div",{className:"border-b border-line pb-[26px]",children:[Q.packs.length>0&&G1(c4,{children:[u1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:"How many"}),u1("div",{className:"flex flex-wrap gap-1.5",children:Q.packs.map($=>G1("button",{type:"button",onClick:()=>Z(N1=>({...N1,unit:$.value})),"aria-pressed":_.unit===$.value,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",_.unit===$.value?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:_.unit===$.value?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[_.unit===$.value&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),u1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:$.label})]},$.value))})]}),Q.extra&&G1("label",{className:`${Q.packs.length>0?"mt-3.5 ":""}flex cursor-pointer items-center gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-fg`,children:[u1("input",{type:"checkbox",checked:_.spares>0,onChange:$=>Z(N1=>({...N1,spares:$.target.checked?cd:0})),className:"h-4 w-4 cursor-pointer accent-[var(--accent)]"}),Q.extra.label]}),Q.spareCounts.length>0&&G1(c4,{children:[u1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:Kv.howMany}),u1("div",{className:"flex flex-col gap-1.5 sm:flex-row sm:flex-wrap",children:Q.spareCounts.map($=>{let N1=$.value-ad,y0=_.spares===N1;return G1("button",{type:"button",onClick:()=>Z(B2=>({...B2,spares:N1})),"aria-pressed":y0,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",y0?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:y0?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[y0&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),G1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:[$.value," \xB7 ",$.label]})]},$.value)})})]}),Q.spareSide&&G1(c4,{children:[u1("div",{className:"mb-3.5 mt-[26px] font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:Q.spareSide.label}),u1("div",{className:"flex flex-wrap gap-1.5",children:Q.spareSide.options.map($=>{let N1=_.spareSide===$.value;return G1("button",{type:"button",onClick:()=>Z(y0=>({...y0,spareSide:$.value})),"aria-pressed":N1,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",N1?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:N1?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[N1&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),u1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:$.label})]},$.value)})})]})]}),s==="belowSpecs"&&h&&o0,G1("div",{className:yT,children:[!(f1&&!X.priced)&&G1("div",{className:"flex items-center border-2 border-fg-dim/50",children:[u1("button",{type:"button",onClick:()=>S>1&&H(S-1),className:"h-12 w-12 cursor-pointer bg-transparent font-mono text-[length:var(--size-label,16px)] font-bold text-fg transition-colors hover:bg-surface hover:text-accent",children:"\u2212"}),u1("span",{className:"w-11 text-center font-mono text-[length:var(--size-label,15px)] font-bold tracking-[0.1em] text-fg",children:S}),u1("button",{type:"button",onClick:()=>S<fa&&H(S+1),className:"h-12 w-12 cursor-pointer bg-transparent font-mono text-[length:var(--size-label,16px)] font-bold text-fg transition-colors hover:bg-surface hover:text-accent",children:"+"})]}),f1&&!X.priced?u1(r0,{href:"/contact",className:"flex-1 cursor-pointer bg-btn px-6 py-4 text-center font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg",children:ld}):X.priced?m1?u1("button",{type:"button",disabled:!0,"aria-disabled":!0,className:"flex-1 cursor-not-allowed border-2 border-dashed border-fg-dim/20 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-fg-dim/40",children:"Out of stock"}):G1("button",{type:"button",[sd]:"",onClick:()=>{if(!a1){N(!0),window.setTimeout(()=>N(!1),kj);return}if(N(!1),c)return;let $=jv(e,O,y,{choice:_,qty:S},{fitmentLabel:D?I.specCaption:T.appliedName?`For ${T.appliedName}`:"",fitmentKey:D?`manual|${I.specCaption}`:`vehicle|${Mj(T.applied?.vehicle)}`});$&&(R3($),g0())},"aria-disabled":!a1,className:["flex-1 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] transition-colors",a1?"cursor-pointer bg-btn text-btn-ink hover:bg-fg hover:text-bg":"cursor-pointer border-2 border-dashed border-accent/50 text-accent/80 hover:border-accent hover:text-accent"].join(" "),style:a1?void 0:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:["Add to Cart",X.setTotal!=null?` \xB7 ${I2(D1,B1)}`:""]}):u1("button",{type:"button",disabled:!0,"aria-disabled":!0,className:"flex-1 cursor-not-allowed border-2 border-dashed border-fg-dim/20 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-fg-dim/40",children:t8}),u1(Hj,{slug:e.slug,name:e.name})]}),m1&&O&&u1(Fj,{partNumbers:O.components.map($=>$.partNumber),productSlug:e.slug},O.id),B&&(()=>{let $=q0.filter(y0=>y0.chosen===null).map(y0=>y0.prompt.replace(/^Select\s+/i,""));if(G0&&I.vehicleAnswersSpecs&&!t.fitmentSet&&$.push("vehicle fitment"),$.length===0)return null;let N1=$.length===1?$[0]:$.length===2?`${$[0]} and ${$[1]}`:`${$.slice(0,-1).join(", ")}, and ${$.at(-1)}`;return G1("p",{role:"alert",className:"-mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em]",style:{color:"var(--alert)"},children:["Please select ",N1," first."]})})()]}),H1.length>0&&u1("ul",{className:"flex flex-wrap items-center gap-x-6 gap-y-2 border-t border-line pt-5 font-mono text-[length:var(--size-label,13px)] tracking-[0.05em] text-fg",children:H1.map(($,N1)=>G1("li",{children:[u1("strong",{className:"font-bold text-accent",children:$.label}),$.detail?` ${de} ${$.detail}`:""]},`${$.label}-${N1}`))})]})]})]})}function Cj({facts:e}){return e.length===0?null:G1("div",{className:"border-b border-line pb-[26px]",children:[u1("dl",{className:"flex flex-col gap-2",children:e.map(t=>G1("div",{className:"flex flex-wrap items-baseline gap-x-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.22em]",children:[G1("dt",{className:"text-fg-dim",children:[t.label," \xB7"]}),u1("dd",{className:"font-semibold text-fg",children:t.value.label})]},t.key))}),u1("p",{className:"mt-3 font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:"Only one of each is left, so there is nothing to choose here."})]})}function qT({row:e,onPick:t}){if(e.values.length===0&&!e.empty)return null;let a=e.values.find(s=>s.value===e.chosen),c=a&&[a.label,a.note].filter(Boolean).join(" \xB7 ");return G1("div",{className:"border-b border-line pb-[26px]",[GT]:e.key,children:[G1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:[e.label," \xB7 ",u1("span",{className:"text-accent",children:c??e.prompt})]}),e.values.length===0?G1("p",{className:"font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:[e.empty.text," ",u1(r0,{href:e.empty.href,className:"text-accent hover:underline",children:e.empty.linkText})]}):e.display==="swatch"?u1("div",{className:"grid grid-cols-2 gap-2",children:e.values.map(s=>{let l=s.value===e.chosen;return G1("button",{type:"button",onClick:()=>t(e.key,s.value),className:["relative flex items-center gap-3 border-2 px-3 py-3 text-left transition-colors",l?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"].join(" "),style:l?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[l&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),u1("span",{className:"block h-5 w-5 shrink-0 rounded-full border border-fg-dim",style:{background:s.swatch}}),u1("span",{className:"block min-w-0 flex-1 truncate font-mono text-[length:var(--size-label,12px)] font-bold uppercase tracking-[0.18em] text-fg",children:s.label})]},s.value)})}):u1("div",{className:"flex flex-wrap gap-1.5",children:e.values.map(s=>{let l=s.value===e.chosen;return G1("button",{type:"button",onClick:()=>t(e.key,s.value),className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",l?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:l?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[l&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),u1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:s.label}),s.note&&u1("span",{className:"mt-1 block text-[length:var(--size-label,11px)] tracking-[0.12em] text-fg-dim",children:s.note})]},s.value)})})]})}function UT(e){return e.photos.length>0?e.photos.length:e.thumbFallbackCells}var Lj=6;function Sj({name:e,view:t,angleIdx:a,onSelect:c,isLight:s,onLightbox:l,fit:o}){let r=t.photos[Math.min(a,t.photos.length-1)],i=TT(t.photos,r),n=UT(t),h=n>=2,m=String(n).padStart(2,"0"),p=Math.min(a,Math.max(t.photos.length-1,0)),u=h||t.captions[p]?Bl(t,p):"",d=[e,t.metaValue,u].filter(Boolean).join(" \u2014 "),g="max-[720px]:static",z=["relative flex aspect-square items-center justify-center overflow-hidden max-[720px]:col-span-2",s?"bg-bg":""].join(" ");return G1("div",{className:"relative max-[720px]:grid max-[720px]:grid-cols-[minmax(0,1fr)_auto] max-[720px]:items-start max-[720px]:gap-x-3 max-[720px]:gap-y-2",style:{color:t.tint},children:[G1("div",{className:`absolute left-0 top-0 z-10 flex items-center gap-3 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.2em] text-fg ${g} max-[720px]:min-w-0 max-[720px]:flex-wrap max-[720px]:gap-x-2 max-[720px]:gap-y-1`,children:[h&&G1(c4,{children:[G1("span",{className:"text-accent",children:[String(a+1).padStart(2,"0")," / ",m]}),u1("span",{className:"text-fg-dim",children:"\xB7"})]}),u1("span",{children:e}),t.metaValue&&G1(c4,{children:[u1("span",{className:"text-fg-dim",children:"\xB7"}),u1("span",{className:"text-accent",children:t.metaValue})]})]}),h&&u1("div",{className:`absolute right-5 top-5 z-10 flex gap-1 ${g}`,children:FT(a,n,c).map(b=>u1("button",{type:"button","aria-label":b.label,title:b.label,onClick:b.onClick,className:"flex h-7 w-7 items-center justify-center border border-fg-dim/60 text-fg transition-colors hover:border-accent hover:text-accent",children:b.glyph},b.label))}),G1("div",{className:z,children:[["top-3 left-3","top-3 right-3","bottom-3 left-3","bottom-3 right-3"].map((b,y)=>u1("span",{className:`absolute ${b} h-3 w-3 border border-fg-dim/40`,style:{borderTop:b.includes("top")?"1px solid var(--line)":"none",borderBottom:b.includes("bottom")?"1px solid var(--line)":"none",borderLeft:b.includes("left")?"1px solid var(--line)":"none",borderRight:b.includes("right")?"1px solid var(--line)":"none"}},y)),t.stageImage({photo:i,alt:d,label:`Open ${[e,t.metaValue].filter(Boolean).join(" ")} at full resolution`,onZoom:()=>l(i,d),fit:o})]}),G1("div",{className:`absolute bottom-5 left-5 right-5 z-10 flex items-center justify-between gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim ${g} max-[720px]:col-span-2 max-[720px]:flex-wrap`,children:[u1("span",{children:t.specCaption}),u1("span",{children:t.originCaption})]})]})}function Aj({name:e,view:t,angleIdx:a,onSelect:c,isLight:s,tiled:l=!1}){let o=UT(t);return o<2?null:u1("div",{className:l?"order-[-1] flex w-16 flex-col gap-2 max-[720px]:w-12 max-[720px]:gap-1":"mt-2 grid grid-cols-4 gap-2 max-[720px]:gap-1",style:!l&&o>4?{gridTemplateColumns:`repeat(${Math.min(o,Lj)}, minmax(0, 1fr))`}:void 0,children:Array.from({length:o}).map((r,i)=>{let n=t.photos[i];return G1("button",{type:"button",onClick:()=>c(i),"aria-label":`View ${Bl(t,i)}`,className:["relative flex aspect-square items-center justify-center overflow-hidden transition-colors",s?"bg-bg":"",i===a?"border border-accent":"border border-transparent hover:border-fg-dim"].join(" "),style:{color:t.tint},children:[u1("span",{className:"absolute top-1.5 left-2 z-10 font-mono text-[length:var(--size-label,8px)] uppercase tracking-[0.18em] text-fg-dim",children:String(i+1).padStart(2,"0")}),t.thumbImage({photo:n,alt:`${e} \u2014 ${Bl(t,i)}`})]},i)})})}function Hj({slug:e,name:t}){let{has:a,toggle:c}=OT(),s=a(e);return u1("button",{type:"button",title:s?"Saved":"Save","aria-label":s?`Remove ${t} from wishlist`:`Save ${t} to wishlist`,"aria-pressed":s,onClick:()=>c(e),className:["h-12 w-12 cursor-pointer border-2 bg-transparent transition-colors",s?"border-accent text-accent":"border-fg-dim/50 text-fg hover:border-accent hover:text-accent"].join(" "),children:s?"\u2665":"\u2661"})}function Fj({partNumbers:e,productSlug:t}){let[a,c]=WT(""),{status:s,submit:l,reset:o}=bv();function r(){l({partNumbers:e,email:a,productSlug:t})}return s==="sent"?u1("p",{className:"-mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-accent",children:"We'll email you when it's back."}):u1(Vt,{className:"-mt-1",email:a,onEmailChange:c,status:s,onResetVerdict:o,onSubmit:r,inputAriaLabel:"Email for the back-in-stock alert",submitLabel:"Notify me when back",buttonClassName:"cursor-pointer whitespace-nowrap border-2 border-btn px-4 font-mono text-[length:var(--size-label,11px)] font-bold uppercase tracking-[0.22em] text-btn transition-colors hover:bg-btn hover:text-btn-ink disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-btn",errorMessage:"Couldn't save that \u2014 please try again."})}import{Fragment as Pj,jsx as T7,jsxs as Ej}from"react/jsx-runtime";function Mp({slug:e,kind:t="wheel",editing:a=!1,pricePlacement:c,showVehicleFitment:s=!0,...l}){let[o,r]=KT(null),[i,n]=KT(!1);return Tj(()=>{let h=!1;return r(null),n(!1),(t==="tyre"?D0.getTyre(e).then(p=>({kind:"tyre",tyre:p})):D0.getWheel(e).then(p=>({kind:"wheel",wheel:p}))).then(p=>{h||r(p)}).catch(()=>{h||n(!0)}),()=>{h=!0}},[e,t]),i?T7($T,{message:"Couldn\u2019t load this product."}):o?T7(Vj,{record:o,editing:a,pricePlacement:c,showVehicleFitment:s,...l}):T7($T,{message:"Loading product\u2026"})}function Vj({record:e,editing:t=!1,pricePlacement:a,showVehicleFitment:c=!0,...s}){let l=e.kind==="tyre"?tl(e.tyre):Y9(e.wheel),o=pt(l,{editing:t}),r=mt();return Ej(Pj,{children:[T7(A9,{product:l,selection:o,onLightbox:r.open,editing:t,pricePlacement:a,showVehicleFitment:c,...s}),T7(h9,{item:r.item,onClose:r.close})]})}function $T({message:e}){return T7("section",{className:"grid min-h-[70vh] place-items-center border-b border-line px-[var(--sf-site-gutter,40px)] pt-[104px] pb-14",style:{background:"var(--section-bg)"},children:T7("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:e})})}import{Fragment as Ij,jsx as U4,jsxs as Rj}from"react/jsx-runtime";var Bj=T5;function Zl({editing:e=!1,pricePlacement:t,showVehicleFitment:a=!0,...c}){let s=A0();return U4(e2,{kinds:Bj,type:"ProductHero",editing:e,children:s?U4(A9,{product:s.product,selection:s.selection,onLightbox:s.openLightbox,editing:e,pricePlacement:t,showVehicleFitment:a,...c}):e?U4(Nj,{pricePlacement:t,showVehicleFitment:a,...c}):U4(Il,{message:"Bound to the current product \u2014 preview on a product page."})})}function Nj({pricePlacement:e,showVehicleFitment:t,...a}){let c=O2(!0);return c?U4(Zj,{product:c,pricePlacement:e,showVehicleFitment:t,...a}):U4(Il,{message:"Loading sample product\u2026"})}function Zj({product:e,pricePlacement:t,showVehicleFitment:a,...c}){let s=pt(e,{editing:!0}),l=mt();return Rj(Ij,{children:[U4(A9,{product:e,selection:s,onLightbox:l.open,editing:!0,pricePlacement:t,showVehicleFitment:a,...c}),U4(h9,{item:l.item,onClose:l.close})]})}function Il({message:e}){return U4("section",{className:"grid min-h-[70vh] place-items-center border-b border-line px-[var(--sf-site-gutter,40px)] pt-[104px] pb-14",style:{background:"var(--section-bg)"},children:U4("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:e})})}import{jsx as Et}from"react/jsx-runtime";function _j({source:e,editing:t=!1,pricePlacement:a=f9,showVehicleFitment:c=!0,heroLayout:s=y6,imageRatio:l=k6,textAlign:o=A7,showSpecTable:r=!0,showPriceQuote:i=!0,galleryMode:n=M6,imageFit:h=C6}){let m={heroLayout:s,imageRatio:l,textAlign:o,showSpecTable:r,showPriceQuote:i,galleryMode:n,imageFit:h};return A0()||t&&g2()?Et(Zl,{editing:t,pricePlacement:a,showVehicleFitment:c,...m}):e?.slug?Et(Mp,{slug:e.slug,kind:e.kind??"wheel",editing:t,pricePlacement:a,showVehicleFitment:c,...m}):t?Et(Il,{message:"Pick a product in the panel to fill this hero."}):Et(Zl,{pricePlacement:a,showVehicleFitment:c,...m})}var jT={label:"Product Hero",defaultProps:{source:null,pricePlacement:f9,showVehicleFitment:!0,heroLayout:y6,imageRatio:k6,textAlign:A7,showSpecTable:!0,showPriceQuote:!0,galleryMode:M6,imageFit:C6},render:e=>Et(_j,{source:e.source,editing:e.puck?.isEditing,pricePlacement:pF(e.pricePlacement),showVehicleFitment:e.showVehicleFitment??!0,heroLayout:b9(e.heroLayout),imageRatio:dl(e.imageRatio),textAlign:gl(e.textAlign),showSpecTable:e.showSpecTable??!0,showPriceQuote:e.showPriceQuote??!0,galleryMode:vl(e.galleryMode),imageFit:fl(e.imageFit)})};import{jsx as Dj}from"react/jsx-runtime";var YT={label:"Product",defaultProps:{code:"",finish:""},render:e=>Dj(Ev,{code:e.code||void 0,finish:e.finish||void 0,wheel:e.wheel})};import{jsx as Oj}from"react/jsx-runtime";var XT={label:"Search",defaultProps:{style:"icon"},render:({style:e,puck:t})=>Oj(QF,{style:e,editing:t?.isEditing})};import{useEffect as qj,useRef as Wj}from"react";import{jsx as Bt,jsxs as JT}from"react/jsx-runtime";var Gj={fits:{className:"font-medium",style:{color:"var(--green)"}},doesNotFit:{className:"text-fg-dim"},unknown:{className:"text-fg-dim"}};function Cp({variants:e,answer:t,loading:a=!1}){return t?JT("div",{className:"mt-9",children:[Bt("p",{className:"max-w-[68ch] font-serif text-[length:var(--size-body,18px)] italic leading-[1.55] text-fg-dim",children:Fl(t)}),Bt("ul",{className:"mt-6 grid gap-[2px] border border-line bg-line",children:e.map(c=>{let s=_a(t,c.sku),l=Gj[s];return JT("li",{className:"flex items-baseline justify-between gap-6 bg-bg px-[18px] py-4",children:[Bt("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.14em] text-fg",children:c.size}),Bt("span",{className:`font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] ${l.className}`,style:l.style,children:Tl[s]})]},c.sku)})})]}):a?Bt("p",{className:"mt-9 border border-line bg-bg p-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.24em] text-fg-dim",children:"Checking your car\u2026"}):null}import{jsx as Lp,jsxs as QT}from"react/jsx-runtime";var Sp="Will it fit *your car?*",Ap="Pick your vehicle and we\u2019ll tell you which of these sizes matches what it came on.",Hp="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",Fp="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-0 max-[1100px]:pb-20";function Tp({num:e,title:t=Sp,description:a=Ap,escapeText:c,escapeHref:s,omitHead:l=!1,slug:o,variants:r,onAnswer:i}){let n=E3({autoApply:!0}),{answer:h,loading:m}=Hl(o,Ra(n.applied?.vehicle)),p=Wj(i);return p.current=i,qj(()=>{p.current?.(h)},[h]),QT("section",{className:l?Fp:Hp,children:[l?null:Lp(j1,{num:e,title:t,description:a,accent:!0}),Lp(i3,{cascade:n.cascade}),c&&s?QT("a",{href:s,className:"mt-6 inline-block font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-accent underline-offset-4 hover:underline",children:[c," \u2192"]}):null,Lp(Cp,{variants:r,answer:h,loading:m})]})}import{jsx as Nt,jsxs as $j}from"react/jsx-runtime";var Uj=["tyre"];function Vp(e){return Nt(e2,{kinds:Uj,type:"TyreFitment",editing:e.editing,children:Nt(Kj,{...e})})}function Kj({num:e,title:t,description:a,escapeText:c,escapeHref:s,omitHead:l=!1,editing:o=!1}){let r=A0(),i=O2(o&&!r),n=r?.product??i,h=n?.kind==="tyre"?n.source:null;return!h||h.variants.length===0?o?$j("section",{className:l?Fp:Hp,children:[l?null:Nt(j1,{num:e,title:t||Sp,description:a||Ap,accent:!0}),Nt("p",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"The vehicle question appears here on a tyre product page, with one verdict per size."})]}):null:Nt(Tp,{num:e,title:t||void 0,description:a||void 0,escapeText:c,escapeHref:s,omitHead:l,slug:h.slug,variants:h.variants})}import{jsx as jj}from"react/jsx-runtime";var eV={label:"Tyre Fitment Form",defaultProps:{num:"",title:"",description:"",escapeText:"",escapeHref:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=l=>t?void 0:l,c=Y(e.escapeText),s=Y(e.escapeHref);return jj(Vp,{num:a(x(e.num,M0.num,e.puck)),title:a(x(e.title,L.sectionHeading,e.puck)),description:a(x(e.description,L.body,e.puck)),escapeText:c,escapeHref:s,omitHead:t,editing:e.puck?.isEditing})}};import{jsx as S6,jsxs as cV}from"react/jsx-runtime";var tV="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",aV="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-0 max-[1100px]:pb-20",Yj=[],Xj=["tyre"];function Pp(e){return S6(e2,{kinds:Xj,type:"TyreSizes",editing:e.editing,children:S6(Jj,{...e})})}function Jj({num:e,title:t,description:a,editing:c=!1,omitHead:s=!1}){let l=A0(),o=O2(c&&!l),r=l?.product??o,i=r?.kind==="tyre"?r.source.variants:[],n=s?null:S6(j1,{num:e?k(e):void 0,title:U(t||"Available *sizes.*",!1),description:k(a||"Every size this tyre is made in, with its own price and stock."),accent:!0});if(i.length===0)return c?cV("section",{className:s?aV:tV,children:[n,S6("p",{className:"border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"This product\u2019s sizes appear here on a product page."})]}):null;let h=i.some(m=>!m.image);return cV("section",{className:s?aV:tV,children:[n,S6(Qj,{variants:i,fieldUsage:l?.fieldUsage??Yj}),S6(B5,{text:h?Ia:""})]})}function Qj({variants:e,fieldUsage:t}){let{currency:a,formatPrice:c}=F0();return S6("div",{className:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:e.map(s=>S6(nt,{fieldUsage:t,size:s.size,specs:s.specs,prices:s.prices,image:s.image,inStock:s.inStock,currency:a,formatPrice:c},s.sku))})}import{jsx as eY}from"react/jsx-runtime";var sV={label:"Tyre Sizes",defaultProps:{num:"",title:"",description:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return eY(Pp,{num:a(x(e.num,M0.num,e.puck)),title:a(x(e.title,L.sectionHeading,e.puck)),description:a(x(e.description,L.body,e.puck)),omitHead:t,editing:e.puck?.isEditing})}};var lV={AlloyWheelsListing:qS,BrandStrip:qF,BundleOffer:jF,CartBlock:aT,CatalogFilterBar:dT,CheckoutCTA:rA,CollectionCard:vT,Collections:uA,CompatibleTyres:RA,CountrySwitchBlock:fT,DeliveryOptions:GA,DetailRows:cH,EuTyreLabel:bT,FitmentFinder:hH,FitmentTable:FH,Gallery:ZH,GalleryB:UH,GalleryItem:zT,Header:wT,ProductGrid:cF,ProductHero:jT,ProductRef:YT,RelatedProducts:wF,SearchBlock:XT,SpecTable:NF,TyreFitment:eV,TyreSizes:sV};var tY={AlloyWheelsListing:KS,BrandStrip:JS,BundleOffer:QS,CartBlock:eA,CatalogFilterBar:lA,CheckoutCTA:iA,CollectionCard:mA,Collections:dA,CompatibleTyres:_A,CountrySwitchBlock:DA,DeliveryOptions:WA,DetailRows:lH,EuTyreLabel:oH,FitmentFinder:mH,FitmentTable:TH,Gallery:_H,GalleryB:KH,GalleryItem:QH,Header:eF,ProductGrid:lF,ProductHero:dF,ProductRef:xF,RelatedProducts:yF,SearchBlock:kF,SpecTable:IF,TyreFitment:RF,TyreSizes:_F},w0=D8(lV,tY);import{jsx as y3,jsxs as Rl}from"react/jsx-runtime";function Bp(e={}){let t=Wz();return y3(rz,{editing:e.editing,previewConfirmation:!!e.nodeId&&t===e.nodeId,children:y3(aY,{...e})})}var oV="mx-auto max-w-[var(--sf-site-width,1600px)] px-[min(24px,var(--sf-site-gutter,40px))] py-16 min-[800px]:px-[var(--sf-site-gutter,40px)] min-[800px]:py-[88px]",Ep="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function aY({eyebrow:e,heading:t,intro:a,buttonLabel:c,successMessage:s,boxes:l,inBoxes:o=!1}){let{fieldPrefix:r,editing:i,services:n,currency:h,serviceId:m,setServiceId:p,requiresPayment:u,date:d,earliestDate:g,setDate:z,setDateTouched:f,availability:b,loadingSlots:y,noSlotsMessage:C,selectedStart:S,setSelectedStart:H,customerTimezone:_,name:Z,setName:q,email:j,setEmail:B,phone:N,setPhone:D,notes:T,setNotes:R,confirmation:i1,submitting:O,error:m1,canSubmit:Q,handleSubmit:K,sample:a1}=oz(),B1=a1?y3("p",{className:"mb-6 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:"Example form \u2014 add an active service in Storefront \u2192 Booking Services."}):null,X=n===void 0?y3("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments\u2026"}):n?.length===0?y3("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:i?"Add an active service in Storefront \u2192 Booking Services.":"Appointments are not available right now."}):null;return o&&l?y3("section",{className:"relative z-[2] border-t border-line bg-surface",children:Rl("div",{className:oV,children:[B1,i1?y3(l,{className:`${Ep} items-start`}):Rl("form",{onSubmit:K,children:[y3(l,{className:`${Ep} items-start`}),X]})]})}):y3("section",{className:"relative z-[2] border-t border-line bg-surface",children:Rl("div",{className:oV,children:[B1,y3(iz,{eyebrow:e,heading:t,intro:a}),i1?y3(mz,{successMessage:s}):X||Rl("form",{onSubmit:K,className:Ep,children:[y3(nz,{}),y3(hz,{buttonLabel:c})]})]})})}import{jsx as cY}from"react/jsx-runtime";var Np={boxes:{type:"slot",allow:["BookingBox"]}},rV={label:"Booking Form",fields:Np,defaultProps:{eyebrow:"",heading:"",intro:"",buttonLabel:"",successMessage:""},render:e=>cY(Bp,{eyebrow:x(e.eyebrow,L.eyebrow,e.puck),heading:x(e.heading,L.heading,e.puck),intro:x(e.intro,L.body,e.puck),buttonLabel:x(e.buttonLabel,L.button,e.puck),successMessage:x(e.successMessage,L.bookingConfirmation,e.puck),boxes:e.boxes,inBoxes:e.layout==="boxes",nodeId:typeof e.id=="string"?e.id:void 0,editing:e.puck?.isEditing})};var iV={fields:{_gContent:v("Content"),eyebrow:P("Eyebrow"),heading:C1("Heading"),intro:C1("Introduction"),buttonLabel:P("Submit button"),successMessage:C1("Confirmation message"),boxes:Np.boxes},resolveFields:(e,{fields:t})=>{if(e.props.layout!=="boxes")return t;let{eyebrow:a,heading:c,intro:s,buttonLabel:l,successMessage:o,...r}=t;return r}};var nV={fields:{_gTextStyle:v("Text style"),...Object.fromEntries(er.map(e=>[ar[e],h1(tr[e],_8(tr[e]),[{label:"Section's own",value:""},...K7.map(t=>({label:$7[t],value:t}))],"")])),_gContent:v("Content"),eyebrow:P("Eyebrow"),heading:C1("Heading"),intro:C1("Introduction"),buttonLabel:P("Submit button"),successMessage:C1("Confirmation message")},resolveFields:(e,{fields:t})=>{let a=e.props.region,c=t,s=er.map(o=>ar[o]),l=o=>Object.fromEntries(Object.entries(c).filter(([r])=>r.startsWith("_")||s.includes(r)||o.includes(r)));return l(a==="head"?["eyebrow","heading","intro"]:a==="details"?["buttonLabel"]:a==="confirm"?["successMessage"]:[])}};import{EyeIcon as sY,LinkIcon as hV,EyeOffIcon as lY}from"efficient-easel/icons";import{jsx as Zt}from"react/jsx-runtime";var mV={fields:{_gTop:v("Routing groups"),routingNumber:A("Section number",J1.routingNumber),routingTagline:A("Eyebrow",J1.routingTagline),groups:{type:"array",label:"Groups",arrayFields:{eyebrow:P("Eyebrow"),title:C1("Title"),copy:C1("Body"),response:P("Response time")},getItemSummary:e=>e?.title||e?.eyebrow||"Group"},_gForm:v("Message form"),formSlug:x4(),formNumber:A("Section number",J1.formNumber),formHeading:V("Heading",J1.formHeading),metaItems:r2("Meta lines",Zt(g3,{noun:"meta"}),"Encrypted in transit","verbatim"),_gOther:v("\u201COther\u201D reason"),showOther:e1("Show \u201COther\u201D reason",J1.showOther,Zt(sY,{})),otherLabel:P("\u201COther\u201D chip label",J1.otherLabel),otherNoteTitle:A("\u201COther\u201D note title",J1.otherNoteTitle),otherNoteBody:V("\u201COther\u201D note body",J1.otherNoteBody),_gSubmit:v("Submit button"),buttonText:P("Submit button",J1.buttonText),consent:V("Consent line",J1.consent),_gChannels:v("Contact info"),channels:{type:"array",label:"Channels",arrayFields:{label:P("Label"),value:P("Value"),href:L2(P("Link")),sub:P("Sub line"),groupId:h1("Link to group",Zt(hV,{}),[{label:"\u2014 Not linked \u2014",value:""},...J1.groups.map(e=>({label:e.title,value:e.id}))],""),hidden:e1("Hidden",!1,Zt(lY,{}))},getItemSummary:e=>`${e?.label||e?.value||"Channel"}${e?.hidden?" \xB7 hidden":""}`}},resolveData:e=>{let t=e.props.groups??[];if(!t.some(s=>!s?.id))return e;let a=new Set,c=t.map((s,l)=>{if(s?.id)return a.add(s.id),s;let o=Wr(s?.title)||`group-${l+1}`;for(;a.has(o);)o=`${o}-${l+1}`;return a.add(o),{...s,id:o}});return{...e,props:{...e.props,groups:c}}},resolveFields:(e,{fields:t})=>{let a=e.props.groups??[],c=[{label:"\u2014 Not linked \u2014",value:""},...a.map((o,r)=>({label:o?.title||o?.eyebrow||`Group ${r+1}`,value:o?.id||Wr(o?.title)||`group-${r+1}`}))],s=t,l=s.channels;return l?.type==="array"&&l.arrayFields&&(s.channels={...l,arrayFields:{...l.arrayFields,groupId:h1("Link to group",Zt(hV,{}),c,"")}}),t}};import{useEffect as oY,useRef as rY,useState as iY}from"react";import{Fragment as uY,jsx as Zp,jsxs as gY}from"react/jsx-runtime";var nY=12,_l=null,pV=null;function hY(e=!1){let t=Z2();if((e||pV!==t)&&(_l=null),!_l){let a=p4();pV=t,_l=h4.listBlogPosts(a,{visibleOnly:!0,siteId:t}).catch(()=>null)}return _l}function mY(e){if(!e)return"";let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"2-digit"})}function pY(e){return{slug:e.slug,title:e.title,excerpt:e.excerpt,cover:e.cover_image?ia(e.cover_image)??"":"",meta:e.category||void 0,dateLabel:mY(e.published_at)||void 0}}function V7({value:e,onChange:t,snapshotCount:a=nY}){let[c,s]=iY("idle"),l=Array.isArray(e),o=l?e.length:0,r=rY(!0),i=h=>{s("loading"),hY(h).then(m=>{if(!r.current)return;if(m===null){s("error");return}s("idle");let p=m.slice(0,a).map(pY);a5(p,e??null)&&t(p)})};oY(()=>(r.current=!0,i(!1),()=>{r.current=!1}),[]);let n=c==="loading"?"Syncing from Storefront \u2192 Blog\u2026":c==="error"?"Couldn\u2019t reach Storefront \u2192 Blog.":l?`Auto-synced from Storefront \u2192 Blog \xB7 ${o} post${o===1?"":"s"}`:"Linking to Storefront \u2192 Blog\u2026";return gY("div",{children:[Zp(d8,{label:"Blog posts"}),Zp(v3,{status:c,statusText:n,onRefresh:()=>i(!0),busy:c==="loading",spaced:!1,hint:Zp(uY,{children:"Auto-refreshes from the most-recent visible posts each time you open the editor. Set how many appear with \u201CPosts to display\u201D."})})]})}import{jsx as H9,jsxs as dV}from"react/jsx-runtime";var uV=3,vV="featured",fV=[{label:"Even grid",value:"even"},{label:"Featured first",value:vV}],bV="even",k5={min:2,max:11,step:1,fallback:7,unit:"of 12"},dY="bottom-left",vY=55,fY="bottom";function bY(e){let t=typeof e=="number"?e:Number.parseFloat(String(e??"")),a=Number.isFinite(t)?Math.min(k5.max,Math.max(k5.min,Math.round(t))):k5.fallback;return`${a}fr ${12-a}fr`}var gV={1:"grid-cols-1",2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[800px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1"},zY="relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] py-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-[70px]",xY="relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-0 max-[800px]:pb-[70px]";function Ip({num:e,title:t,link:a,posts:c,columns:s,limit:l,showAll:o=!1,editing:r=!1,cardImage:i,gap:n,layout:h,featuredWidth:m,listCover:p=!0,featuredDarken:u,omitHead:d=!1}){let g=c??[],z=o?g.length:typeof l=="number"&&l>0?l:uV,f=g.slice(0,z),b=r&&f.length===0;if(f.length===0&&!r)return null;let y=b?Array.from({length:o?uV:z},(_,Z)=>({slug:`placeholder-${Z}`,title:"Blog post title",excerpt:"A short summary of the post appears here.",cover:"",meta:"Journal",dateLabel:"Date"})):f,C=L3("Events",n,"both"),S=h===vV&&y.length>1,H=bY(m);return dV("section",{className:d?xY:zY,style:U2(i),children:[d?null:H9(j1,{num:e!==void 0?k(e):void 0,title:t!==void 0?U(t,!1):void 0,link:a?{text:k(a.text),href:a.href}:void 0}),S?dV("div",{className:`sf-card-grid grid grid-cols-[var(--sf-events-split)] max-[800px]:grid-cols-1${C.className}`,style:{...C.style,"--sf-events-split":H},children:[H9(r7,{post:y[0],scaffold:b,layout:"cover",darken:u??vY,darkenStyle:fY,placement:dY},`${y[0].slug}-0`),H9("div",{className:`grid auto-rows-min${C.className}`,style:C.style,children:y.slice(1).map((_,Z)=>H9(r7,{post:_,scaffold:b,showCover:p},`${_.slug}-${Z+1}`))})]}):H9("div",{className:`sf-card-grid grid${C.className} ${gV[Math.min(4,Math.max(1,s??3))]??gV[3]}`,style:C.style,children:y.map((_,Z)=>H9(r7,{post:_,scaffold:b},`${_.slug}-${Z}`))})]})}import{LayoutIcon as yY,ColumnsIcon as kY,WidthIcon as MY,ImageIcon as CY,OpacityIcon as LY,ListIcon as SY,HashIcon as AY}from"efficient-easel/icons";import{jsx as wY}from"react/jsx-runtime";var P7={num:L.sectionNumber,title:"Section title",link:L.viewAll},zV={label:"Latest Posts",defaultProps:{num:"",title:"",linkText:"",linkHref:"/journal",columns:3,limit:3,showAll:!1},render:e=>{let t=P1(e.headPlacement)==="own-box",a=s=>t?void 0:s,c=x(e.linkText,P7.link,e.puck);return wY(Ip,{num:a(x(e.num,P7.num,e.puck)),title:a(x(e.title,P7.title,e.puck)),link:a(c?{text:c,href:Y(e.linkHref)||"/journal"}:void 0),omitHead:t,posts:e.posts,columns:e.columns,limit:e.limit,showAll:e.showAll,layout:e.layout,featuredWidth:e.featuredWidth,listCover:e.listCover,featuredDarken:e.featuredDarken,cardImage:e.cardImage,gap:e.gap,editing:e.puck?.isEditing})}};import{jsx as E7}from"react/jsx-runtime";var HY=50,xV={fields:{_gContent:v("Content"),num:A("Number",P7.num),title:V("Heading",P7.title),linkText:A("Button",P7.link),linkHref:w1("Link"),_gPosts:v("Blog posts"),posts:E0(V7,{snapshotCount:HY}),_gLayout:v("Layout"),layout:h1("Arrangement",E7(yY,{}),fV,bV),columns:J("Columns",E7(kY,{}),2,4,1,3),featuredWidth:J("Featured width",E7(MY,{}),k5.min,k5.max,k5.step,k5.fallback,k5.unit),listCover:e1("Show cover image on the smaller cards",!0,E7(CY,{})),featuredDarken:J("Darken",E7(LY,{}),i2.min,i2.max,i2.step,55,i2.unit),gap:t3("Events"),showAll:e1("Show all blog posts",!1,E7(SY,{})),limit:J("Posts to display",E7(AY,{}),1,20,1,3),cardImage:D5()},resolveFields:(e,{fields:t,parent:a})=>{let c=e.props,s={...t},l=o=>E1(Z1(o,a,R1),e.props.headPlacement,F1.Events.headRows);if(c.showAll&&delete s.limit,c.layout==="featured")delete s.columns;else for(let o of["featuredWidth","listCover","featuredDarken"])delete s[o];return l(s)}};import{SettingsField as FY,SettingsSwitch as TY}from"efficient-easel/panel";import{BlockColumnIcon as VY}from"efficient-easel/icons";import{Fragment as PY,jsx as Dl,jsxs as EY}from"react/jsx-runtime";function Rp({value:e,onChange:t}){let a=g4(),c={...X7,...e},s=c[a];return Dl(FY,{label:"Logo fills its column",icon:Dl(VY,{}),action:Dl(TY,{checked:s,onChange:l=>t({...c,[a]:l}),ariaLabel:`Logo fills its column on ${d4[a]}`}),hint:EY(PY,{children:["Sets the ",Dl("strong",{children:d4[a]})," view \u2014 switch views in the top bar to set each one."]})})}import{SettingsField as BY,SettingsSwitch as NY}from"efficient-easel/panel";import{FullWidthIcon as ZY}from"efficient-easel/icons";import{Fragment as IY,jsx as Ol,jsxs as RY}from"react/jsx-runtime";function _p({value:e,onChange:t}){let a=g4(),c={...J7,...e},s=c[a];return Ol(BY,{label:"Logo fills its row",icon:Ol(ZY,{}),action:Ol(NY,{checked:s,onChange:l=>t({...c,[a]:l}),ariaLabel:`Logo fills its row on ${d4[a]}`}),hint:RY(IY,{children:["Sets the ",Ol("strong",{children:d4[a]})," view \u2014 switch views in the top bar to set each one."]})})}import{jsx as _Y}from"react/jsx-runtime";function Dp({value:e,onChange:t}){return _Y(Ye,{label:"Columns per line",unit:"columns",steps:Ag,value:ha(e),onChange:t})}import{useContext as DY,useEffect as OY,useRef as GY,useState as yV}from"react";import{jsx as F9,jsxs as wV}from"react/jsx-runtime";function It(){let e=JF();return wV("div",{className:"flex flex-wrap justify-between gap-x-6 gap-y-3 border-t border-line pt-6 font-mono text-[13px] uppercase tracking-[0.15em] text-fg-dim max-[800px]:flex-col max-[800px]:gap-3",children:[F9("span",{children:e}),wV("span",{className:"flex flex-wrap items-center gap-3",children:[F9("span",{children:"Privacy"}),F9("span",{"aria-hidden":!0,children:"\xB7"}),F9("span",{children:"Terms"}),F9("span",{"aria-hidden":!0,children:"\xB7"}),F9("span",{children:"Cookies"})]})]})}import{jsx as Op,jsxs as UY}from"react/jsx-runtime";var kV={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},qY={1:"min-[720px]:grid-cols-1",2:"min-[720px]:grid-cols-2",3:"min-[720px]:grid-cols-3",4:"min-[720px]:grid-cols-4",5:"min-[720px]:grid-cols-5",6:"min-[720px]:grid-cols-6"},WY={1:"min-[1100px]:grid-cols-1",2:"min-[1100px]:grid-cols-2",3:"min-[1100px]:grid-cols-3",4:"min-[1100px]:grid-cols-4",5:"min-[1100px]:grid-cols-5",6:"min-[1100px]:grid-cols-6"};function Gp({blocks:e,editing:t=!1,width:a,columns:c,logoFill:s,logoRowFill:l}){let o=DY(J9),{desktop:r,tablet:i,mobile:n}=ha(c),{desktop:h,tablet:m,mobile:p}={...X7,...s},{desktop:u,tablet:d,mobile:g}={...J7,...l},z=g4(),b=t?kV[z==="desktop"?r:z==="tablet"?i:n]:`${kV[n]} ${qY[i]} ${WY[r]}`,y=GY(null),[C,S]=yV(1),[H,_]=yV(!1);if(OY(()=>{if(!t&&!o)return;let q=y.current;if(!q)return;let j=()=>{let i1=q.querySelector(".footer-block-grid");if(!i1)return;let O=t?z:cb(window.innerWidth),m1=O==="desktop"?u:O==="tablet"?d:g;_(m1);let Q=O==="desktop"?h:O==="tablet"?m:p,K=getComputedStyle(i1).gridTemplateColumns.split(" ").filter(Boolean).length-1,a1=Math.max(i1.childElementCount-1,0);S(!m1&&Q&&K>=1?Math.max(Math.ceil(a1/K),1):1)},B,N=()=>{clearTimeout(B),B=setTimeout(j,0)},D=[0,80,250,600].map(i1=>setTimeout(j,i1)),T=new MutationObserver(N);T.observe(q,{childList:!0,subtree:!0});let R=new ResizeObserver(N);return R.observe(q),()=>{clearTimeout(B),D.forEach(clearTimeout),T.disconnect(),R.disconnect()}},[r,i,n,t,o,z,h,m,p,u,d,g]),!t&&!o)return null;let Z=Jg(Qg(a))??void 0;return Op("footer",{ref:y,className:"border-t border-line bg-bg px-[var(--sf-site-gutter,40px)] pb-10 pt-20 max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-14",style:{"--footer-logo-rows":C,"--footer-logo-col":H?"1 / -1":"1"},children:UY("div",{style:Z,children:[Op(e,{className:`footer-block-grid mb-[60px] grid items-start gap-x-10 gap-y-12 ${b}`,minEmptyHeight:160}),Op(It,{})]})})}import{jsx as KY}from"react/jsx-runtime";var qp={blocks:{type:"slot",allow:["FooterLogo","FooterMenu","FooterDivider","FooterGroup","FooterText","FooterEmailSignup","FooterSocial"]}},MV={label:"Footer",fields:qp,defaultProps:{columns:Hg,logoFill:X7,logoRowFill:J7},render:({blocks:e,width:t,columns:a,logoFill:c,logoRowFill:s,puck:l})=>KY(Gp,{blocks:e,width:t,columns:a,logoFill:c,logoRowFill:s,editing:l?.isEditing})};import{jsx as Gl}from"react/jsx-runtime";var CV={fields:{_gLayout:v("Layout"),width:{type:"custom",render:({value:e,onChange:t})=>Gl(re,{value:e==="full"?"full":e==="page"||e==="content"?"content":void 0,resolved:"content",followsLabel:"Follows the page",hint:"Whether the footer's blocks sit on the page's column, or run edge to edge. The background always spans the screen.",onChange:a=>t(a)})},columns:{type:"custom",render:({value:e,onChange:t})=>Gl(Dp,{value:e,onChange:t})},logoFill:{type:"custom",render:({value:e,onChange:t})=>Gl(Rp,{value:e,onChange:t})},logoRowFill:{type:"custom",render:({value:e,onChange:t})=>Gl(_p,{value:e,onChange:t})},_gBlocks:v("Blocks"),blockList:N0("Footer"),blocks:qp.blocks}};import{WeightIcon as $Y,WidthIcon as jY,PhoneIcon as YY}from"efficient-easel/icons";import{jsx as Wp}from"react/jsx-runtime";var LV={fields:{_gStyle:v("Style"),thickness:J("Thickness",Wp($Y,{}),1,8,1,1,"px"),lengthPct:J("Length",Wp(jY,{}),10,100,1,100,"%"),hideOnMobile:e1("Hide on mobile",!1,Wp(YY,{}))}};var SV={fields:{_gContent:v("Content"),heading:C1("Heading","Join our email list"),placeholder:P("Field placeholder","Email address"),buttonLabel:P("Button","Subscribe")}};import{AlignLeftIcon as QY}from"efficient-easel/icons";import{jsx as AV}from"react/jsx-runtime";var XY={start:"items-start",center:"items-center",end:"items-end"};function Up({direction:e="vertical",gap:t,align:a="start",content:c}){let s=L3("FooterGroup",t,e==="horizontal"?"inline":"block");return AV("div",{className:"min-w-0",children:AV(c,{className:`flex ${e==="horizontal"?"flex-row flex-wrap":"flex-col"} ${XY[a]}${s.className}`,style:s.style,minEmptyHeight:80})})}import{jsx as JY}from"react/jsx-runtime";var Kp={blocks:{type:"slot",allow:["FooterText","FooterEmailSignup","FooterMenu","FooterDivider","FooterSocial"]}},HV={label:"Footer Box",fields:Kp,defaultProps:{direction:"vertical",align:"start"},render:({direction:e,gap:t,align:a,blocks:c})=>JY(Up,{direction:e,gap:t,align:a,content:c})};import{jsx as eX}from"react/jsx-runtime";var FV={fields:{_gLayout:v("Layout"),direction:p1("Direction",O6("`Direction` names how a container's children run \u2014 a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),[{label:"Vertical",value:"vertical"},{label:"Horizontal",value:"horizontal"}],"vertical"),gap:t3("FooterGroup"),align:p1("Alignment",eX(QY,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),_gBlocks:v("Blocks"),blockList:N0("FooterGroup"),blocks:Kp.blocks}};import{WidthIcon as tX,AlignLeftIcon as aX,LogoIcon as cX,PaddingTopIcon as sX,PaddingRightIcon as lX,PaddingBottomIcon as oX,PaddingLeftIcon as rX}from"efficient-easel/icons";import{jsx as B7}from"react/jsx-runtime";var TV={fields:{_gContent:v("Content"),tagline:C1("Body","Short brand tagline"),_gStyle:v("Style"),widthPct:J("Width",B7(tX,{}),40,400,1,100,"%"),align:p1("Alignment",B7(aX,{}),[{label:"Start",value:"left"},{label:"Center",value:"center"},{label:"End",value:"right"}],"left"),reverse:p1("Logo color",B7(cX,{}),[{label:"Auto contrast",value:"auto"},{label:"As uploaded",value:"off"}],"auto"),padTop:J("Padding top",B7(sX,{}),0,120,2,0,"px"),padRight:J("Padding right",B7(lX,{}),0,120,2,0,"px"),padBottom:J("Padding bottom",B7(oX,{}),0,120,2,0,"px"),padLeft:J("Padding left",B7(rX,{}),0,120,2,0,"px")}};import{SettingsField as iX}from"efficient-easel/panel";import{MenuIcon as nX}from"efficient-easel/icons";import{useCallback as hX,useEffect as VV,useState as $p}from"react";import{jsx as T9,jsxs as Rt}from"react/jsx-runtime";function jp({value:e,onChange:t}){let[a,c]=$p(null),[s,l]=$p(!1),o=hX(f=>{c(f),l(!0)},[]);VV(()=>{let f=!1;return Jo(p4()).then(b=>{f||o(b)}).catch(()=>{f||c([])}),()=>{f=!0}},[o]),VV(()=>{let f=!1,b=hf(()=>{Bb(p4()).then(y=>{f||o(y)}).catch(()=>{})});return()=>{f=!0,b()}},[o]);let r=a===null,i=!!(e?.id||e?.handle),n=s&&i&&!yc(a??[],e),h=!i&&(e?.items?.length??0)>0,m=n?"":yc(a??[],e)?.id??"",p=f=>t({id:f.id,handle:f.handle,name:f.name,items:f.items.map(b=>({label:b.label,url:b.url}))}),u=f=>{if(!f){t(null);return}let b=(a??[]).find(y=>y.id===f);b&&p(b)},[d,g]=$p(!1),z=()=>{i&&(g(!0),Jo(p4(),!0).then(f=>{o(f);let b=yc(f,e);b&&p(b)}).catch(()=>{}).finally(()=>g(!1)))};return Rt("div",{children:[T9(iX,{label:"Menu",icon:T9(nX,{}),hint:!r&&a&&a.length===0?"Create menus in Storefront \u2192 Menus, then pick one here.":void 0,children:Rt("select",{value:m,onChange:f=>u(f.target.value),disabled:r||(a?.length??0)===0,children:[T9("option",{value:"",children:r?"Loading menus\u2026":a&&a.length===0?"No menus found":"Select a menu\u2026"}),(a??[]).map(f=>Rt("option",{value:f.id,children:[f.name," (",f.item_count??f.items.length,")"]},f.id))]})}),h?T9("p",{className:"mt-1.5 text-[12px] text-[var(--sf-warning,#b45309)]",children:yf}):null,n?T9("p",{className:"mt-1.5 text-[12px] text-[var(--sf-warning,#b45309)]",children:kf(e?.name??"The linked menu")}):null,i&&!n?Rt("div",{className:"mt-1.5 flex items-center justify-between gap-2",children:[Rt("p",{className:"text-[12px] text-fg-dim",children:["Linked to \u201C",e?.name,"\u201D \u2014 ",e?.items?.length??0," link",(e?.items?.length??0)===1?"":"s",". Re-pull after editing the menu:"]}),T9("button",{type:"button",className:"shrink-0 text-[12px] font-medium text-[var(--sf-accent,#0f7c4f)] underline-offset-2 hover:underline disabled:opacity-50",onClick:z,disabled:d,children:d?"Updating\u2026":"Update links"})]}):null]})}import{PhoneIcon as mX,LineBetweenIcon as pX}from"efficient-easel/icons";import{jsx as Yp}from"react/jsx-runtime";var PV={fields:{_gContent:v("Content"),menu:{type:"custom",render:({value:e,onChange:t})=>Yp(jp,{value:e,onChange:t})},heading:P("Heading","Column heading"),_gStyle:v("Style"),accordionMobile:e1("Show as accordion on mobile",!1,Yp(mX,{})),showDividers:e1("Dividers between links",!1,Yp(pX,{}))}};import{jsx as _t}from"react/jsx-runtime";var EV={small:16,medium:20,large:24},Xp=0,Jp=32,NV=2,Dt=0,BV={start:"justify-start",center:"justify-center",end:"justify-end"};function Qp({iconStyle:e=T8,iconSize:t="medium",align:a="start",gap:c=Dt,editing:s=!1}){let l=YF(),o=Nf(Bf(l));if(o.length===0)return s?_t("div",{"data-social-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:"Add your social links"}):null;let r=EV[t]??EV.medium,n={gap:Math.min(Jp,Math.max(Xp,Number.isFinite(c)?c:0)),"--social-mark":`${r}px`};return _t("ul",{"data-social-block":"","aria-label":"Social media",className:`flex list-none flex-wrap p-0 [margin:calc((44px-var(--social-mark))/-2)] max-[800px]:[margin:calc((40px-var(--social-mark))/-2)] ${BV[a]??BV.start}`,style:n,children:o.map(({platform:h,href:m,label:p})=>_t("li",{children:_t("a",{href:m,target:"_blank",rel:"noopener noreferrer","aria-label":`${p} (opens in a new tab)`,className:"grid h-11 w-11 place-items-center rounded text-fg transition-colors hover:text-accent focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-4px] focus-visible:outline-current motion-reduce:transition-none max-[800px]:h-10 max-[800px]:w-10",children:_t(Uz,{platform:h,iconStyle:e,size:r})})},h))})}import{Fragment as uX,jsx as eu,jsxs as gX}from"react/jsx-runtime";function tu(){let{openPanel:e}=Bc();return gX(uX,{children:[eu(d8,{label:"Social links"}),eu("p",{className:"sf-field-hint",children:"The links are typed once for the whole website, in Site settings."}),eu("button",{type:"button",className:"sf-part-link",onClick:e,children:"Edit social links \u2192"})]})}import{StylesIcon as dX,TextSizeIcon as vX,AlignLeftIcon as fX,GapIcon as bX}from"efficient-easel/icons";import{jsx as Ot}from"react/jsx-runtime";var ZV={fields:{_gStyle:v("Style"),iconStyle:p1("Icon style",Ot(dX,{}),[{label:"Outline",value:"outline"},{label:"Solid",value:"solid"}],T8),iconSize:p1("Icon size",Ot(vX,{}),[{label:"Small",value:"small"},{label:"Medium",value:"medium"},{label:"Large",value:"large"}],"medium"),_socialLinks:{type:"custom",render:()=>Ot(tu,{})},_gLayout:v("Layout"),align:p1("Alignment",Ot(fX,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),gap:J("Gap",Ot(bX,{}),Xp,Jp,NV,Dt,"px")}};import{TextSizeIcon as zX}from"efficient-easel/icons";import{jsx as xX}from"react/jsx-runtime";var IV={fields:{_gContent:v("Content"),text:C1("Body","Footer text"),_gStyle:v("Style"),size:p1("Size",xX(zX,{}),[{label:"S",value:"sm"},{label:"M",value:"md"},{label:"L",value:"lg"}],"md"),tone:Jc()}};var RV={fields:{_gForm:v("Form"),formSlug:x4(),_gContent:v("Content"),heading:P("Heading override"),intro:C1("Intro"),submitText:P("Submit button"),finePrint:P("Fine print")}};var _V={fields:{}};var ql="e.g. D00123 \xB7 blank = the whole store";import{useState as A6}from"react";import{Fragment as kX,jsx as k2,jsxs as V9}from"react/jsx-runtime";var Wl="w-full border-2 border-line bg-bg px-4 py-3.5 font-display text-[17px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent",wX="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",yX="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function Ul({label:e,children:t}){return V9("label",{className:"flex flex-col gap-2",children:[k2("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-fg",children:e}),t]})}function au({eyebrow:e,title:t,designCode:a,omitHead:c=!1,editing:s=!1}={}){let[l,o]=A6(""),[r,i]=A6(""),[n,h]=A6(0),[m,p]=A6(""),[u,d]=A6(""),[g,z]=A6(!1),[f,b]=A6(!1),[y,C]=A6(null);async function S(H){if(H.preventDefault(),!(s||g)){if(n<1){C("Choose a star rating.");return}z(!0),C(null);try{await D0.submitReview({authorName:l.trim(),...r.trim()?{email:r.trim()}:{},rating:n,...m.trim()?{title:m.trim()}:{},body:u.trim(),...a?.trim()?{designCode:a.trim()}:{}}),b(!0)}catch{C("Something went wrong \u2014 your review wasn't sent. Please try again.")}finally{z(!1)}}}return k2("section",{className:"relative z-[2] border-t border-line bg-surface",children:V9("div",{className:c?yX:wX,children:[c?null:V9(kX,{children:[(e??"").trim()&&k2(I1,{text:e??"",scaled:!1,className:"mb-4 block"}),(t??"").trim()&&k2("h2",{className:"mb-11 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:U(t??"",!1)})]}),f?k2("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:"Thanks \u2014 your review will appear once approved."}):V9("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:S,children:[V9("div",{className:"grid grid-cols-2 gap-3 max-[640px]:grid-cols-1",children:[k2(Ul,{label:"Name",children:k2("input",{type:"text",required:!0,value:l,onChange:H=>o(H.target.value),className:Wl})}),k2(Ul,{label:"Email \u2014 never shown publicly",children:k2("input",{type:"email",value:r,onChange:H=>i(H.target.value),className:Wl})})]}),V9("div",{className:"flex flex-col gap-2",children:[k2("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-fg",children:"Rating"}),k2("div",{role:"group","aria-label":"Rating",className:"flex gap-1",children:[1,2,3,4,5].map(H=>k2("button",{type:"button","aria-pressed":n>=H,"aria-label":`${H} star${H===1?"":"s"}`,onClick:()=>{h(H),C(null)},className:["cursor-pointer text-[30px] leading-none transition-colors",n>=H?"text-accent":"text-fg-dim/30 hover:text-fg-dim"].join(" "),children:"\u2605"},H))})]}),k2(Ul,{label:"Review title (optional)",children:k2("input",{type:"text",value:m,onChange:H=>p(H.target.value),className:Wl})}),k2(Ul,{label:"Your review",children:k2("textarea",{required:!0,rows:5,value:u,onChange:H=>d(H.target.value),className:Wl+" resize-y"})}),y&&k2("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:y}),k2("button",{type:s?"button":"submit",disabled:g,className:"cursor-pointer self-start bg-btn px-8 py-4 font-mono text-[14px] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg hover:text-bg disabled:cursor-wait disabled:opacity-60",children:g?"Sending\u2026":"Submit review \u2192"})]})]})})}import{jsx as MX}from"react/jsx-runtime";var Gt={eyebrow:"Your turn",title:"Leave a *review.*"},DV={label:"Review Form",defaultProps:{eyebrow:"",title:"",designCode:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return MX(au,{eyebrow:a(x(e.eyebrow,Gt.eyebrow,e.puck)),title:a(x(e.title,Gt.title,e.puck)),omitHead:t,designCode:Y(e.designCode)||void 0,editing:e.puck?.isEditing})}};var OV={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",Gt.eyebrow),title:V("Heading",Gt.title),_gSource:v("Reviews"),designCode:L2(P("Design code",ql))},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.ReviewForm.headRows)};import{StylesIcon as PX,HashIcon as EX,ColumnsIcon as BX}from"efficient-easel/icons";import{useEffect as CX,useState as LX}from"react";function GV(e,t){let[a,c]=LX(null);return CX(()=>{let s=!1;return c(null),D0.listReviews({...e?{limit:e}:{},...t?{designCode:t}:{}}).then(l=>{s||c(l)}),()=>{s=!0}},[e,t]),a}import{Fragment as TX,jsx as I3,jsxs as Kl}from"react/jsx-runtime";var qV=[{id:"sample-review-1",authorName:"Sample reviewer",rating:5,title:"Sample review title",body:"Approved customer reviews appear here automatically \u2014 this card is only a preview of the section's shape.",designCode:"",createdAt:""},{id:"sample-review-2",authorName:"Sample reviewer",rating:4,title:"",body:"Reviews are collected by the Review Form section and wait for your approval before they show.",designCode:"",createdAt:""},{id:"sample-review-3",authorName:"Sample reviewer",rating:5,title:"Another sample",body:"Set a product design code on this section to show one product's reviews; leave it blank for the whole store.",designCode:"",createdAt:""}];function SX(e){let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-US",{month:"long",year:"numeric"})}function AX({rating:e}){let t=Math.min(5,Math.max(0,Math.round(e)));return I3("div",{role:"img","aria-label":`${t} out of 5 stars`,className:"flex gap-1 text-[length:var(--size-body,17px)] leading-none",children:Array.from({length:5}).map((a,c)=>I3("span",{"aria-hidden":!0,className:c<t?"text-accent":"text-fg-dim/30",children:"\u2605"},c))})}var HX="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",FX="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function cu({look:e,eyebrow:t,title:a,columns:c,limit:s,designCode:l,omitHead:o=!1,editing:r=!1}={}){let i=GV(s??6,l),n=Math.min(3,Math.max(1,c??3)),h=i&&i.length>0?i:r?qV:[],m=h===qV;return!r&&h.length===0?null:I3("section",{className:"relative z-[2] border-t border-line bg-surface",children:Kl("div",{className:o?FX:HX,children:[o?null:Kl(TX,{children:[(t??"").trim()&&I3(I1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&I3("h2",{className:"mb-11 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:U(a??"",!1)})]}),I3("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--rv-cols),minmax(0,1fr))]",style:{"--rv-cols":String(n)},children:h.map(p=>Kl("article",{className:["flex flex-col gap-4 bg-bg p-9 max-[800px]:p-7",m?"opacity-60":""].join(" "),children:[I3(AX,{rating:p.rating}),p.title.trim()&&I3("h3",{className:"font-display text-[length:var(--size-body,19px)] font-medium uppercase leading-[1.2] tracking-[-0.01em] text-fg",children:p.title}),I3("div",{className:"flex-1 font-serif text-[length:var(--size-body,15px)] leading-[1.65] text-fg-dim",children:m0(p.body).map((u,d)=>I3("p",{className:d?"mt-3":"",children:u},d))}),Kl("footer",{className:"flex items-baseline justify-between gap-4 border-t border-line pt-[18px]",children:[I3("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg",children:p.authorName}),I3("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:SX(p.createdAt)})]})]},p.id))})]})})}import{jsx as VX}from"react/jsx-runtime";var qt={eyebrow:"Reviews",title:"From our *customers.*"},WV={label:"Reviews",defaultProps:{eyebrow:"",title:"",columns:3,limit:6,designCode:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return VX(cu,{look:d3(e.eyebrowLook,"Reviews"),eyebrow:a(x(e.eyebrow,qt.eyebrow,e.puck)),title:a(x(e.title,qt.title,e.puck)),omitHead:t,columns:e.columns,limit:e.limit,designCode:Y(e.designCode)||void 0,editing:e.puck?.isEditing})}};import{jsx as su}from"react/jsx-runtime";var UV={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",qt.eyebrow),eyebrowLook:h1("Eyebrow style",su(PX,{}),[...F3],G5("Reviews")),title:V("Heading",qt.title),_gSource:v("Reviews"),limit:J("Reviews to display",su(EX,{}),3,12,1,6),designCode:L2(P("Design code",ql)),_gStyle:v("Style"),columns:J("Columns",su(BX,{}),1,3,1,3)},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.Reviews.headRows)};import{jsx as lu,jsxs as NX}from"react/jsx-runtime";function Wt({place:e,sections:t,editing:a=!1}){let s=NX(e==="footer"?"footer":"div",{"data-section-group":e,children:[a?lu("p",{className:"px-5 pt-3 font-mono text-[11px] uppercase tracking-[0.15em] text-fg-dim",children:e==="header"?"Site header \u2014 above every page":"Site footer \u2014 below every page"}):null,lu(t,{minEmptyHeight:120})]});return e==="header"?lu(_x,{children:s}):s}import{jsx as ZX}from"react/jsx-runtime";var ou={sections:{type:"slot"}},KV={label:"Site Footer",fields:ou,render:({sections:e,puck:t})=>ZX(Wt,{place:"footer",sections:e,editing:t?.isEditing})};var $V={fields:{sections:ou.sections}};import{StickyIcon as RX,ContrastIcon as _X}from"efficient-easel/icons";import{jsx as IX}from"react/jsx-runtime";var ru={sections:{type:"slot"}},jV={label:"Site Header",fields:ru,defaultProps:{sticky:"always",topTextColor:"auto",sections:[]},render:({sections:e,puck:t})=>IX(Wt,{place:"header",sections:e,editing:t?.isEditing})};import{jsx as YV}from"react/jsx-runtime";var XV={fields:{sticky:p1("Sticky header",YV(RX,{}),[{label:"None",value:"none"},{label:"Always",value:"always"},{label:"On scroll up",value:"on_scroll_up"}],"always"),topTextColor:p1("Text color at the top",YV(_X,{}),[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],"auto"),sections:ru.sections}};import{jsx as $l,jsxs as DX}from"react/jsx-runtime";var e0={eyebrow:"Section number",title:"Show *us yours.*",body:"Tell people what they get for submitting, and what you do with what they send.",buttonText:"Submit \u2192",consent:"By submitting, you agree to our privacy policy. We never share contact details with third parties."};function Ut(e,t){return e===void 0?t:e}function iu({eyebrow:e,title:t,body:a,buttonText:c,consent:s,formSlug:l,form:o,editing:r=!1,boxes:i,inBoxes:n=!1,...h}){let m=Ut(e,e0.eyebrow),p=Ut(t,e0.title),u=Ut(a,e0.body),d=Ut(c,e0.buttonText),g=Ut(s,e0.consent),z=O5(l,o),f=A8({form:z,formSlug:l,editing:r}),b=z===void 0,y=!!z||r;return!y&&!m&&!p&&!u?null:n&&i?$l("section",{className:v0(h)?"border-y border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]":"mx-auto max-w-[var(--sf-site-width,1600px)] border-y border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]",children:$l(i,{className:"grid grid-cols-2 items-start gap-[60px] max-[1100px]:grid-cols-1 max-[1100px]:gap-9"})}):DX("section",{className:v0(h)?"grid grid-cols-2 items-end gap-[60px] border-y border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:grid-cols-1 max-[1100px]:gap-9 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]":"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-2 items-end gap-[60px] border-y border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:grid-cols-1 max-[1100px]:gap-9 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]",children:[$l(vz,{eyebrow:m,title:p}),$l(fz,{body:u,buttonLabel:d,consent:g,form:z,submission:f,showForm:y,resolving:b,editing:r})]})}var JV={fields:{_gTextStyle:v("Text style"),...Object.fromEntries(cr.map(e=>[lr[e],h1(sr[e],_8(sr[e]),[{label:"Section's own",value:""},...K7.map(t=>({label:$7[t],value:t}))],"")])),_gContent:v("Content"),eyebrow:A("Eyebrow",e0.eyebrow),title:V("Heading",e0.title),body:V("Body",e0.body),formSlug:x4(),buttonText:A("Button",e0.buttonText),consent:V("Consent line",e0.consent)},resolveFields:(e,{fields:t})=>{let a=e.props.region,c=t,s=["eyebrow","title"],l=["body","formSlug","buttonText","consent"],o=cr.map(n=>lr[n]),r=a==="head"?s:l,i={};for(let[n,h]of Object.entries(c)){if(n.startsWith("_")){i[n]=h;continue}if(o.includes(n)){a!=="head"&&(i[n]=h);continue}r.includes(n)&&(i[n]=h)}return i}};import{jsx as OX}from"react/jsx-runtime";var nu={boxes:{type:"slot",allow:["SubmitBox"]}},QV={label:"Photo Submission Form",fields:nu,defaultProps:{eyebrow:e0.eyebrow,title:e0.title,body:e0.body,formSlug:"",buttonText:e0.buttonText,consent:e0.consent},render:e=>OX(iu,{boxes:e.boxes,inBoxes:e.layout==="boxes",eyebrow:V0(e.eyebrow,e0.eyebrow,e.puck),title:V0(e.title,e0.title,e.puck),body:V0(e.body,e0.body,e.puck),buttonText:V0(e.buttonText,e0.buttonText,e.puck),consent:V0(e.consent,e0.consent,e.puck),formSlug:Y(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing})};var eP={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",e0.eyebrow),title:V("Heading",e0.title),body:V("Body",e0.body),_gForm:v("Form"),formSlug:x4(),_gButton:v("Button"),buttonText:A("Button",e0.buttonText),_gFootnote:v("Footnote"),consent:V("Consent line",e0.consent),boxes:nu.boxes},resolveFields:(e,{fields:t})=>{if(e.props.layout!=="boxes")return t;let{_gContent:a,eyebrow:c,title:s,body:l,_gForm:o,formSlug:r,_gButton:i,buttonText:n,_gFootnote:h,consent:m,...p}=t;return p}};var GX=["issues","posts"],tP=[{label:"Issues",value:"issues"},{label:"Blog posts",value:"posts"}],hu="issues";function mu(e){return GX.includes(e)?e:hu}var qX={issues:["issues"],_gPosts:["posts"],posts:["posts"],limit:["posts"]};function aP(e,t){let a=mu(t),c={...e};for(let[s,l]of Object.entries(qX))l.includes(a)||delete c[s];return c}import{CategoryIcon as UX,HashIcon as KX}from"efficient-easel/icons";var b0={headNum:L.sectionNumber,headTitle:L.headingAccent,headDesc:"A short description of your newsletter or publication.",kicker:"\u2192 Newsletter",leadTitle:"Get it in the *inbox.*",intro:"Tell readers what they get and how often. One email, straight to the inbox. We will never sell your address.",emailPlaceholder:"your@email.com",submitText:"Subscribe \u2192",subscribedText:"Subscribed \u2713",finePrint:"Approx. 1 email per week \xB7 Unsubscribe in one click",issuesHeading:"Recent issues",archiveText:"View the full archive \u2192",archiveHref:j0.href},cP=[{n:"N\xB0 04",title:"Issue title",small:"Short description",date:"Month YYYY"},{n:"N\xB0 03",title:"Issue title",small:"Short description",date:"Month YYYY"},{n:"N\xB0 02",title:"Issue title",small:"Short description",date:"Month YYYY"},{n:"N\xB0 01",title:"Issue title",small:"Short description",date:"Month YYYY"}];function WX(e){return e.map((t,a)=>({n:`N\xB0 ${String(e.length-a).padStart(2,"0")}`,title:t.title,small:t.meta,date:t.dateLabel}))}function jl(e,t){if(e==="issues")return d1(t.issues,cP,t.puck);let a=t.posts,c=typeof t.limit=="number"&&t.limit>0?t.limit:4,s=Array.isArray(a)?WX(a.slice(0,c)):[];return d1(s,cP,t.puck)}import{jsx as sP}from"react/jsx-runtime";var lP={fields:{_sHead:K1("Section header"),_gHeadCopy:v("Content"),headNum:A("Number",b0.headNum),headTitle:V("Heading",b0.headTitle),headDesc:V("Body",b0.headDesc),_sLeft:K1("Newsletter panel"),_gLeftCopy:v("Content"),kicker:A("Eyebrow",b0.kicker),leadTitle:V("Heading",b0.leadTitle),intro:V("Intro",b0.intro),_gForm:v("Signup form"),emailPlaceholder:P("Email placeholder",b0.emailPlaceholder),submitText:P("Submit button",b0.submitText),subscribedText:P("Subscribed button",b0.subscribedText),finePrint:V("Fine print",b0.finePrint),_sRight:K1("Recent issues"),_gRightCopy:v("Content"),contentType:p1("Type",sP(UX,{}),[...tP],hu),issuesHeading:A("Panel heading",b0.issuesHeading),issues:{type:"array",label:"Issues",arrayFields:{n:n1("Number"),title:n1("Title"),small:n1("Sub-line"),date:n1("Date")},getItemSummary:e=>[e?.n,e?.title].filter(Boolean).join(" \xB7 ")||"Issue"},_gPosts:v("Blog posts"),posts:E0(V7),limit:J("Posts to display",sP(KX,{}),1,6,1,4),_gArchive:v("Archive link"),archiveText:A("Archive button",b0.archiveText),archiveHref:w1("Archive link")},resolveFields:(e,{fields:t})=>aP(t,e.props.contentType)};import{HashIcon as XX}from"efficient-easel/icons";import{useState as $X}from"react";import{jsx as m3,jsxs as N7}from"react/jsx-runtime";var jX="That didn't go through \u2014 please try again.";function Kt({headNum:e,headTitle:t,headDesc:a,kicker:c,leadTitle:s,intro:l,emailPlaceholder:o,submitText:r,subscribedText:i,finePrint:n,issuesHeading:h,issues:m,archiveText:p,archiveHref:u,source:d=A3.subscribeSection,editing:g=!1,...z}){let[f,b]=$X(""),{status:y,submit:C}=Kc({source:d,dryRun:g}),S=y==="sent",H=y==="sending",_=y==="error"||y==="invalid",Z=(m??[]).filter(N=>(N?.n??"").trim()||(N?.title??"").trim()||(N?.date??"").trim()),q=Z.length>0,j=S?i||"Subscribed \u2713":H?"Sending\u2026":r||"Subscribe \u2192";function B(N){N.preventDefault(),!S&&C({email:f})}return N7("section",{className:v0(z)?"border-b border-line px-[var(--sf-site-gutter,40px)] py-[140px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20":"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[140px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",children:[m3(n2,{num:e,title:t?U(t,!0):void 0,desc:a,accentTracking:"-0.025em"}),N7("div",{className:q?"grid min-h-[460px] grid-cols-[1.1fr_1fr] border border-line max-[1100px]:grid-cols-1":"grid min-h-[460px] grid-cols-1 border border-line",children:[N7("div",{className:q?"flex flex-col justify-center gap-6 border-r border-line px-14 py-16 max-[1100px]:border-r-0 max-[1100px]:border-b max-[1100px]:px-7 max-[1100px]:py-12":"flex flex-col justify-center gap-6 px-14 py-16 max-[1100px]:px-7 max-[1100px]:py-12",children:[c&&m3(I1,{text:c}),s&&m3("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,72px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.035em]",children:U(s,!0)}),l&&m3("p",{className:"max-w-[480px] font-serif text-[length:var(--size-body,19px)] italic leading-[1.5] text-fg-dim",children:k(l,!0)}),N7("form",{className:"mt-2 flex max-w-[520px]",onSubmit:B,children:[m3("input",{type:"email",placeholder:o||"your@email.com",required:!0,value:f,onChange:N=>b(N.target.value),disabled:S,className:"flex-1 border border-r-0 border-line bg-bg px-5 py-[18px] font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.18em] text-fg placeholder:text-fg-dim outline-none focus:border-accent"}),m3("button",{type:"submit",disabled:S||H,className:"border border-btn bg-btn px-7 py-[18px] font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-btn-ink transition-colors hover:bg-fg hover:border-fg disabled:cursor-default disabled:opacity-90",children:z0(j)})]}),_&&m3("p",{role:"alert",className:"max-w-[480px] font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.7] tracking-[0.18em] text-alert",children:jX}),n&&m3("p",{className:"max-w-[480px] font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.7] tracking-[0.18em] text-fg-dim",children:k(n)})]}),q&&N7("div",{id:"sub-recent-issues",className:"grid grid-rows-[auto_1fr_auto] gap-6 bg-[var(--journal-panel-bg)] px-11 py-12 scroll-mt-[160px] max-[1100px]:px-7 max-[1100px]:py-9",children:[h&&m3(I1,{text:h,size:12}),m3("div",{className:"flex flex-col",children:Z.map((N,D)=>N7("div",{className:["grid grid-cols-[60px_1fr_auto] items-start gap-[18px] border-b border-line py-[18px]",D===0?"border-t border-line":""].join(" "),children:[m3("span",{className:"font-mono text-[length:var(--size-label,13px)] tracking-[0.22em] text-accent",children:N.n?k(N.n):""}),N7("span",{className:"font-display text-[length:var(--size-body,16px)] font-medium leading-[1.3] tracking-[-0.01em]",children:[N.title?k(N.title):"",N.small?.trim()&&m3("small",{className:"mt-1 block font-serif text-[length:var(--size-body,13px)] font-normal italic text-fg-dim",children:k(N.small,!0)})]}),m3("span",{className:"whitespace-nowrap pt-[3px] text-right font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:N.date?k(N.date):""})]},D))}),p&&m3(i0,{href:u||"/journal",className:"flex items-center justify-end gap-2.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-accent hover:text-fg",children:k(p)})]})]})]})}import{jsx as YX}from"react/jsx-runtime";var H0={...b0,issuesHeading:"Recent posts",archiveText:"Read all posts \u2192"},oP={label:"Subscribe with Posts",defaultProps:{headNum:"",headTitle:"",headDesc:"",kicker:"",leadTitle:"",intro:"",emailPlaceholder:"",submitText:"",subscribedText:"",finePrint:"",issuesHeading:"",limit:4,archiveText:"",archiveHref:""},render:e=>{let t=jl("posts",e);return YX(Kt,{headNum:x(e.headNum,H0.headNum,e.puck),headTitle:x(e.headTitle,H0.headTitle,e.puck),headDesc:x(e.headDesc,H0.headDesc,e.puck),kicker:x(e.kicker,H0.kicker,e.puck),leadTitle:x(e.leadTitle,H0.leadTitle,e.puck),intro:x(e.intro,H0.intro,e.puck),emailPlaceholder:Y(e.emailPlaceholder)||H0.emailPlaceholder,submitText:Y(e.submitText)||H0.submitText,subscribedText:Y(e.subscribedText)||H0.subscribedText,finePrint:x(e.finePrint,H0.finePrint,e.puck),issuesHeading:x(e.issuesHeading,H0.issuesHeading,e.puck),issues:t,source:A3.subscribeBlogsSection,editing:e.puck?.isEditing,archiveText:x(e.archiveText,H0.archiveText,e.puck),archiveHref:Y(e.archiveHref)||H0.archiveHref})}};import{jsx as JX}from"react/jsx-runtime";var rP={fields:{_sHead:K1("Section header"),_gHeadCopy:v("Content"),headNum:A("Number",H0.headNum),headTitle:V("Heading",H0.headTitle),headDesc:V("Body",H0.headDesc),_sLeft:K1("Newsletter panel"),_gLeftCopy:v("Content"),kicker:A("Eyebrow",H0.kicker),leadTitle:V("Heading",H0.leadTitle),intro:V("Intro",H0.intro),_gForm:v("Signup form"),emailPlaceholder:P("Email placeholder",H0.emailPlaceholder),submitText:P("Submit button",H0.submitText),subscribedText:P("Subscribed button",H0.subscribedText),finePrint:V("Fine print",H0.finePrint),_sRight:K1("Recent posts"),_gRightCopy:v("Content"),issuesHeading:A("Panel heading",H0.issuesHeading),_gPosts:v("Blog posts"),posts:E0(V7),limit:J("Posts to display",JX(XX,{}),1,6,1,4),_gArchive:v("Archive link"),archiveText:A("Archive button",H0.archiveText),archiveHref:w1("Archive link")}};import{jsx as QX}from"react/jsx-runtime";var iP={label:"Booking box",defaultProps:{},render:e=>QX(pz,{region:typeof e.region=="string"?e.region:void 0,eyebrow:x(e.eyebrow,L.eyebrow,e.puck),heading:x(e.heading,L.heading,e.puck),intro:x(e.intro,L.body,e.puck),buttonLabel:x(e.buttonLabel,L.button,e.puck),successMessage:x(e.successMessage,L.bookingConfirmation,e.puck),styleStep:e.styleStep,styleName:e.styleName,styleValue:e.styleValue,styleNote:e.styleNote})};import{useEffect as pu,useState as uu}from"react";import{Fragment as tJ,jsx as l0,jsxs as m2}from"react/jsx-runtime";var nP="border-b border-line bg-transparent py-3.5 font-display text-[length:var(--size-body,18px)] tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent";function eJ({label:e,required:t,full:a,children:c}){return m2("div",{className:["flex flex-col gap-2",a?"col-span-2 max-[700px]:col-span-1":""].join(" "),children:[m2("label",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-fg-dim",children:[e," ",t&&l0("span",{className:"text-accent",children:"*"})]}),c]})}function gu({routingNumber:e,routingTagline:t,groups:a,formNumber:c,formHeading:s,metaLines:l,showOther:o=!0,otherLabel:r="Other",otherNoteTitle:i,otherNoteBody:n,buttonText:h,consent:m,channels:p,formSlug:u,form:d,editing:g,initialActiveId:z,onActiveChange:f,reasonExtras:b,...y}){let C=[...a.map(K=>K.id),...o?[U6]:[]],S=z&&C.includes(z)?z:C[0]??U6,[H,_]=uu(S);pu(()=>{C.includes(H)||_(C[0]??U6)},[C.join("|")]),pu(()=>{z&&C.includes(z)&&_(z)},[z]);let Z=K=>{_(K),j(null),f?.(K)},[q,j]=uu(null),B=(p??[]).filter(K=>!K.hidden),N=B.find(K=>K.groupId===H)?.value??null,D=q??N,T=O5(u,d),R=A8({form:T,formSlug:u,editing:g}),i1=T===void 0,O=!!T||!!g,[m1,Q]=uu(!1);return pu(()=>{let K=()=>Q(document.documentElement.getAttribute("data-theme")==="light");K();let a1=new MutationObserver(K);return a1.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>a1.disconnect()},[]),m2(tJ,{children:[m2("section",{className:v0(y)?"border-b border-line px-[var(--sf-site-gutter,40px)] py-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",style:m1?void 0:{background:"var(--section-bg)"},children:[(e||t)&&m2("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[e&&l0(I1,{text:e}),t&&l0("span",{className:"font-display text-[length:var(--size-body,14px)] uppercase tracking-[0.04em] text-fg-dim",children:k(t)})]}),l0("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1",children:a.map(K=>{let a1=H===K.id;return m2("button",{type:"button",onClick:()=>{Z(K.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:J4(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-3.5 px-7 py-9 text-left transition-colors",a1?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[K.eyebrow&&l0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:K.eyebrow}),l0("h3",{className:"whitespace-pre-line font-heading3 text-[length:var(--size-headingSmall,26px)] font-medium uppercase leading-[1.05] tracking-[-0.02em]",children:K.title}),K.copy&&l0("p",{className:"mt-auto font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim",children:K.copy}),K.response&&m2("div",{className:"mt-2 flex justify-between border-t border-line pt-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:[l0("span",{children:"Response"}),l0("strong",{className:"font-normal text-fg",children:K.response})]})]},K.id)})})]}),(O||B.length>0)&&m2("section",{id:"contact-form",className:["mx-auto grid max-w-[var(--sf-site-width,1600px)] scroll-mt-[80px] gap-20 border-b border-line px-[var(--sf-site-gutter,40px)] py-20 max-[1100px]:grid-cols-1 max-[1100px]:gap-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]",O&&B.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[O&&m2("div",{children:[m2("div",{className:"mb-7 flex items-end justify-between gap-6 border-b border-line pb-6",children:[m2("div",{children:[c&&l0("div",{className:"pb-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-accent",children:k(c)}),s&&l0("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:U(s,!0)})]}),!!(l&&l.length)&&l0("div",{className:"text-right font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left",children:l.map((K,a1)=>l0("div",{children:K},a1))})]}),T?R.done?l0("div",{className:"border border-accent bg-accent/[0.08] p-8 font-display text-[length:var(--size-body,15px)] leading-[1.6] text-fg-dim",children:kc(T,"Thanks \u2014 we've received your message.")}):m2("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:R.handleSubmit,children:[T.fields.map(K=>l0(eJ,{label:K.label,required:K.required,full:K.type==="textarea"||K.type==="checkbox",children:l0(ae,{field:K,value:R.valueOf(K.key),onChange:a1=>R.set(K.key,a1),className:K.type==="textarea"?`${nP} min-h-[140px] resize-y leading-[1.5]`:K.type==="checkbox"?"size-4 self-start accent-accent":nP})},K.key)),m2("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[m2("label",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-fg-dim",children:["Reason ",l0("span",{className:"text-accent",children:"*"})]}),m2("div",{className:"mt-1 flex flex-wrap gap-2",children:[a.map(K=>{let a1=H===K.id;return l0("button",{type:"button",onClick:()=>Z(K.id),className:["cursor-pointer border px-3.5 py-2.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] transition-colors",a1?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:K.title},K.id)}),o&&l0("button",{type:"button",onClick:()=>Z(U6),className:["cursor-pointer border px-3.5 py-2.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] transition-colors",H===U6?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:z0(r)})]})]}),b?.(H),H===U6&&(i||n)&&m2("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[i&&l0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:k(i)}),n&&m0(n).map((K,a1)=>l0("p",{className:"font-display text-[length:var(--size-body,15px)] leading-[1.55] text-fg-dim",children:k(K)},a1))]}),l0(Mc,{value:R.honeypot,onChange:R.setHoneypot}),R.error&&l0("p",{role:"alert",className:"col-span-2 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1",children:R.error}),m2("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[m&&l0("span",{className:"max-w-[380px] font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.6] tracking-[0.18em] text-fg-dim",children:k(m)}),l0("button",{type:g?"button":"submit",disabled:R.submitting,className:"cursor-pointer bg-btn px-8 py-[18px] font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full",children:R.submitting?"Sending\u2026":h?z0(h):"Send Message \u2192"})]})]}):l0("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:i1?"Loading form\u2026":"Choose a form in the inspector, under Message form \u2014 until then this column is hidden on the live page and no message can be sent."})]}),B.length>0&&l0("aside",{className:"flex flex-col gap-0 max-[1100px]:hidden",children:B.map((K,a1)=>{let B1=D===K.value,D1=!!!K.groupId;return m2("div",{onClick:D1?()=>j(K.value):void 0,className:["relative flex flex-col gap-2.5 border-b border-line border-l-2 px-5 py-7 transition-all",D1?"cursor-pointer border-t-2 border-t-accent":"",B1?"border-l-accent pl-6":D1?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:B1?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[B1&&m2("span",{className:"absolute right-[18px] top-6 flex flex-col items-end gap-0.5 text-right",children:[l0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:"\u2192 Message routes here"}),l0("span",{className:"font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.18em] text-fg-dim",children:"Other inboxes filter as spam"})]}),l0("span",{className:["font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] transition-colors",B1?"text-fg":"text-accent"].join(" "),children:K.label}),D1?l0("a",{href:K.href,onClick:t0=>t0.stopPropagation(),className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent",B1?"text-accent":"text-fg"].join(" "),children:K.value}):l0("span",{className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium leading-[1.2] tracking-[-0.02em]",B1?"text-accent":"text-fg"].join(" "),children:K.value}),K.sub&&l0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:K.sub})]},`${K.value}-${a1}`)})})]})]})}import{jsx as aJ}from"react/jsx-runtime";var hP={label:"Contact Form",defaultProps:{routingNumber:J1.routingNumber,routingTagline:J1.routingTagline,groups:J1.groups,formSlug:"",formNumber:J1.formNumber,formHeading:J1.formHeading,metaItems:J1.metaLines.map(e=>({text:e})),showOther:J1.showOther,otherLabel:J1.otherLabel,otherNoteTitle:J1.otherNoteTitle,otherNoteBody:J1.otherNoteBody,buttonText:J1.buttonText,consent:J1.consent,channels:J1.channels},render:e=>aJ(gu,{routingNumber:x(e.routingNumber,J1.routingNumber,e.puck),routingTagline:x(e.routingTagline,J1.routingTagline,e.puck),groups:e.groups??[],formNumber:x(e.formNumber,J1.formNumber,e.puck),formHeading:x(e.formHeading,J1.formHeading,e.puck),metaLines:(e.metaItems??[]).map(t=>t?.text??"").filter(Boolean),showOther:e.showOther,otherLabel:Y(e.otherLabel)||J1.otherLabel,otherNoteTitle:x(e.otherNoteTitle,J1.otherNoteTitle,e.puck),otherNoteBody:x(e.otherNoteBody,J1.otherNoteBody,e.puck),buttonText:Y(e.buttonText)||J1.buttonText,consent:x(e.consent,J1.consent,e.puck),channels:e.channels??[],formSlug:Y(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing})};import{jsx as mP}from"react/jsx-runtime";function du({thickness:e=1,lengthPct:t=100,hideOnMobile:a=!1}){return mP("div",{className:`col-span-full w-full basis-full ${a?"max-[800px]:hidden":""}`,"aria-hidden":"true",children:mP("div",{className:"bg-line",style:{height:`${e}px`,width:`${t}%`}})})}import{jsx as cJ}from"react/jsx-runtime";var pP={label:"Divider",defaultProps:{thickness:1,lengthPct:100,hideOnMobile:!1},render:({thickness:e,lengthPct:t,hideOnMobile:a})=>cJ(du,{thickness:e,lengthPct:t,hideOnMobile:a})};import{useState as sJ}from"react";import{jsx as vu,jsxs as uP}from"react/jsx-runtime";function fu({heading:e,placeholder:t="Email address",buttonLabel:a="Subscribe"}){let{open:c}=Cr(),[s,l]=sJ("");return uP("div",{className:"w-full min-w-0",children:[e?vu("h4",{className:"mb-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:U(e,!1)}):null,uP("form",{className:"flex max-w-[320px] flex-wrap items-stretch gap-2",onSubmit:o=>{o.preventDefault(),c({email:s.trim(),source:A3.footerSignup})},children:[vu("input",{type:"email",placeholder:t,value:s,onChange:o=>l(o.target.value),className:"w-0 min-w-[7rem] flex-1 border border-line bg-transparent px-3 py-2 text-[13px] text-fg placeholder:text-fg-dim/70 focus:border-accent focus:outline-none","aria-label":K0(e??"")||"Email address"}),vu("button",{type:"submit",className:"shrink-0 border border-btn bg-btn px-4 py-2 text-[13px] font-medium text-btn-ink transition-opacity hover:opacity-90",children:z0(a)})]})]})}import{jsx as lJ}from"react/jsx-runtime";var gP={label:"Email Form",defaultProps:{heading:"",placeholder:"Email address",buttonLabel:"Subscribe"},render:({heading:e,placeholder:t,buttonLabel:a,puck:c})=>lJ(fu,{heading:G3(e,"Join our email list",c),placeholder:t||void 0,buttonLabel:a||void 0})};import{jsx as Yl,jsxs as rJ}from"react/jsx-runtime";var oJ={left:"items-start text-left",center:"items-center text-center",right:"items-end text-right"};function bu({tagline:e,widthPct:t=100,align:a="left",reverse:c=!0,padTop:s=0,padRight:l=0,padBottom:o=0,padLeft:r=0,editing:i=!1}){let{src:n,reversedSrc:h,inkIsDark:m,wordmark:p,siteName:u}=Ja(),d=Math.round(N5*(t/100)),g={...s?{paddingTop:s}:{},...l?{paddingRight:l}:{},...o?{paddingBottom:o}:{},...r?{paddingLeft:r}:{}};return rJ("div",{className:`flex min-w-0 flex-col ${oJ[a]}`,style:g,children:[Yl(r0,{href:"/","aria-label":u?`${u} home`:"Home",className:"inline-flex",children:Yl(Ya,{variant:"footer",sizePx:d,src:n,reverse:c,reversedSrc:h,inkIsDark:m,wordmark:p,siteName:u})}),e?Yl("p",{className:"mt-3.5 max-w-[280px] text-[13px] leading-[1.5] text-fg-dim",children:k(e)}):i?Yl("p",{className:"mt-3.5 max-w-[280px] text-[13px] italic leading-[1.5] text-fg-dim/60",children:"Add a short brand tagline \u2192"}):null]})}import{jsx as iJ}from"react/jsx-runtime";var dP={label:"Logo",defaultProps:{widthPct:100,align:"left",reverse:"auto",padTop:0,padRight:0,padBottom:0,padLeft:0},render:({tagline:e,widthPct:t,align:a,reverse:c,padTop:s,padRight:l,padBottom:o,padLeft:r,puck:i})=>iJ(bu,{tagline:e||void 0,widthPct:t,align:a,reverse:c!=="off",padTop:s,padRight:l,padBottom:o,padLeft:r,editing:i?.isEditing})};import{jsx as nJ}from"react/jsx-runtime";var vP={label:"Menu",defaultProps:{accordionMobile:!1,showDividers:!1},render:({menu:e,heading:t,accordionMobile:a,showDividers:c,puck:s})=>nJ(ie,{menu:e,heading:t||void 0,accordionMobile:a,showDividers:c,editing:s?.isEditing})};import{jsx as hJ}from"react/jsx-runtime";var fP={label:"Social Logos",defaultProps:{iconStyle:T8,iconSize:"medium",align:"start",gap:Dt},render:({iconStyle:e,iconSize:t,align:a,gap:c,puck:s})=>hJ(Qp,{iconStyle:e,iconSize:t,align:a,gap:c,editing:s?.isEditing})};import{jsx as pJ}from"react/jsx-runtime";var mJ={sm:"text-[12px]",md:"text-[13px]",lg:"text-[15px]"};function zu({text:e,size:t="md",tone:a="default",editing:c=!1}){let s=e||(c?"Add a line of footer text.":"");return s?pJ("p",{className:`${mJ[t]} leading-[1.5] ${a==="dim"?"text-fg-dim":"text-fg"}`,children:k(s)}):null}import{jsx as uJ}from"react/jsx-runtime";var bP={label:"Text",defaultProps:{size:"md",tone:"default"},render:({text:e,size:t,tone:a,puck:c})=>uJ(zu,{text:e||void 0,size:t,tone:a,editing:c?.isEditing})};import{jsx as gJ}from"react/jsx-runtime";var zP={label:"Form",defaultProps:{formSlug:"",heading:"",intro:"",submitText:"",finePrint:""},render:e=>gJ(zr,{formSlug:Y(e.formSlug)||void 0,heading:Y(e.heading)||void 0,intro:Y(e.intro)||void 0,submitText:Y(e.submitText)||void 0,finePrint:Y(e.finePrint)||void 0,form:e.form,editing:e.puck?.isEditing})};import{jsx as dJ}from"react/jsx-runtime";var xP={label:"Legal Line",render:()=>dJ(It,{})};import{jsx as vJ}from"react/jsx-runtime";var wP={label:"Submit box",defaultProps:{},render:e=>vJ(bz,{region:typeof e.region=="string"?e.region:void 0,eyebrow:V0(e.eyebrow,e0.eyebrow,e.puck),title:V0(e.title,e0.title,e.puck),body:V0(e.body,e0.body,e.puck),buttonText:V0(e.buttonText,e0.buttonText,e.puck),consent:V0(e.consent,e0.consent,e.puck),formSlug:Y(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing,styleField:e.styleField,styleTick:e.styleTick,styleThanks:e.styleThanks})};import{jsx as fJ}from"react/jsx-runtime";var yP={label:"Subscribe Form",defaultProps:{headNum:"",headTitle:"",headDesc:"",kicker:"",leadTitle:"",intro:"",emailPlaceholder:"",submitText:"",subscribedText:"",finePrint:"",issuesHeading:"",issues:[],archiveText:"",archiveHref:""},render:({headNum:e,headTitle:t,headDesc:a,kicker:c,leadTitle:s,intro:l,emailPlaceholder:o,submitText:r,subscribedText:i,finePrint:n,issuesHeading:h,issues:m,contentType:p,posts:u,limit:d,archiveText:g,archiveHref:z,puck:f})=>fJ(Kt,{headNum:x(e,b0.headNum,f),headTitle:x(t,b0.headTitle,f),headDesc:x(a,b0.headDesc,f),kicker:x(c,b0.kicker,f),leadTitle:x(s,b0.leadTitle,f),intro:x(l,b0.intro,f),emailPlaceholder:Y(o)||b0.emailPlaceholder,submitText:Y(r)||b0.submitText,subscribedText:Y(i)||b0.subscribedText,finePrint:x(n,b0.finePrint,f),issuesHeading:x(h,b0.issuesHeading,f),issues:jl(mu(p),{issues:m,posts:u,limit:d,puck:f}),source:A3.subscribeSection,editing:f?.isEditing,archiveText:x(g,b0.archiveText,f),archiveHref:Y(z)||b0.archiveHref})};var kP={AppointmentBooking:rV,BookingBox:iP,ContactRouting:hP,Events:zV,Footer:MV,FooterDivider:pP,FooterEmailSignup:gP,FooterGroup:HV,FooterLogo:dP,FooterMenu:vP,FooterSocial:fP,FooterText:bP,Form:zP,LegalLineBlock:xP,ReviewForm:DV,Reviews:WV,[L8]:KV,[C8]:jV,SubmitBox:wP,SubmitBuild:QV,Subscribe:yP,SubscribeBlogs:oP};var bJ={AppointmentBooking:iV,BookingBox:nV,ContactRouting:mV,Events:xV,Footer:CV,FooterDivider:LV,FooterEmailSignup:SV,FooterGroup:FV,FooterLogo:TV,FooterMenu:PV,FooterSocial:ZV,FooterText:IV,Form:RV,LegalLineBlock:_V,ReviewForm:OV,Reviews:UV,[L8]:$V,[C8]:XV,SubmitBox:JV,SubmitBuild:eP,Subscribe:lP,SubscribeBlogs:rP},O0=D8(kP,bJ);import{Fragment as WJ,jsx as _1,jsxs as Z7}from"react/jsx-runtime";var VU1=[{value:"00",label:L.label},{value:"00",label:L.label},{value:"00",label:L.label}],FJ="color-mix(in oklab, var(--bg) 40%, #ffffff)",TJ="12vh",VJ=_o(()=>import("./PreviewFooter-TTWVSN7F.js")),PJ=_o(()=>import("./render-client-3H6QYWG7.js"));function EJ({style:e,frameClass:t,children:a}){let{appState:c}=HJ(u=>u),s=c.data.content,l=c.data.root;if(ef(s))return _1("div",{className:`sf-themed-content${t?` ${t}`:""}`,style:{...e,background:FJ,minHeight:"100vh",paddingBottom:TJ},children:_1("div",{style:{background:"var(--bg)"},children:a})});let o=qa(s)&&qo(l,s),r=qa(s)?cf(l,s):null,i=r?{[af]:r}:null,n=Xg(l?.widthChoice),h=n?{[Yg]:n}:null,m=o?null:Vf(s),p=m?{[Ff]:m}:null;return _1("div",{className:`sf-themed-content${o?` ${Go}`:""}${t?` ${t}`:""}`,style:e,...p,...i,...h,children:_1("div",{style:{background:"var(--bg)",minHeight:"100%"},children:a})})}function CP(e){return{frameClass:void 0,style:{"--sf-page-width":q9}}}function LP({w:e,children:t}){let{frameClass:a,style:c}=CP(e);return _1("div",{className:a,style:c,children:t})}function SP({propsTheme:e,propsFonts:t,propsCornerStyle:a,propsCornerRadiusPx:c,propsHeadingCompression:s,propsHeadingTypography:l,widthMode:o,fullWidth:r,pageWidth:i,pageBackground:n,chromeInheritsSiteBackground:h,suppressPreviewNav:m,footer:p,overlay:u,children:d}){let{theme:g,fonts:z,sizes:f,cornerRadiusPx:b,cardShadow:y,shadowColor:C,cardGap:S,hoverEffect:H,headingCompression:_,siteWidth:Z,siteGutter:q,blockGap:j,headingTypography:B,heroBackgroundFollowsWidth:N,photographyGrayscale:D,themeFromDocument:T}=D3(),R=T?e:g,i1=T?t:z,O=T?void 0:f,m1=T?c===void 0?Vu[Tu(a)]:Pu(c):b,Q=T?s:_,K=T?l:B,a1=CP({widthMode:o,fullWidth:r,pageWidth:i}),B1={...ta(R),...ro(O),...Ru(K),...a1.style,...h?{}:mo(n)};return _1("div",{className:"sf-theme-surfaces sf-theme-accent",style:{...uo(i1),...ao(R),...co(R),...so(R),...lo(R),...io(m1),...Ou(io(m1)),...Zu(T?void 0:y,T?void 0:C,T?void 0:H),...qg(T?void 0:Z),...Wg(T?void 0:q),...ed(T?void 0:j),...jg(T?void 0:N)},"data-sf-headings":Iu(Q),"data-sf-card-shadow":T?void 0:Eu(y),"data-sf-card-gap":T?void 0:Bu(S),"data-sf-card-hover":T?void 0:Nu(H),onClickCapture:m,children:Z7(cw,{grayscale:T?void 0:D,children:[_1(EJ,{style:B1,frameClass:a1.frameClass,children:d}),p,u]})})}var BJ={padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--line, #e5e5e5)"};function NJ({propsTheme:e,propsFonts:t,widthMode:a,fullWidth:c,pageWidth:s,pageBackground:l,chromeInheritsSiteBackground:o,suppressPreviewNav:r,children:i}){let{originData:n,exitFocus:h}=Zx(),{theme:m,fonts:p,sizes:u,themeFromDocument:d}=D3();if(!n)return Z7(SP,{propsTheme:e,propsFonts:t,widthMode:a,fullWidth:c,pageWidth:s,pageBackground:l,chromeInheritsSiteBackground:o,suppressPreviewNav:r,footer:null,children:[_1("div",{style:BJ,children:"This is your site footer \u2014 it shows at the bottom of every page."}),i]});let g=d?e:m,z=d?t:p,f=n.content??[],b=n.root,y=qa(f)&&qo(b,f);return Z7("div",{className:"sf-theme-accent",style:{...uo(z),...ao(g),...co(g),...so(g)},onClickCapture:r,children:[Z7("div",{style:{position:"relative"},children:[_1("div",{className:y?Go:void 0,style:{...ta(g),...ro(d?void 0:u),pointerEvents:"none",userSelect:"none"},"aria-hidden":"true",children:_1(PJ,{data:n})}),_1("button",{type:"button",onClick:()=>h(),title:"Click the page to go back","aria-label":"Go back to the page",style:{position:"absolute",inset:0,width:"100%",height:"100%",cursor:"pointer",background:"transparent",border:0,padding:0}})]}),_1("div",{className:"sf-theme-surfaces",style:{...ta(g),...lo(g)},children:_1(LP,{w:{widthMode:a,fullWidth:c,pageWidth:s},children:i})})]})}var n0=yo,ZJ={formSlug:x4(void 0,"Newsletter (built in)"),_gLeft:v("Left panel"),metaLabel:P("Meta label",n0.metaLabel),issueLabel:P("Issue label",n0.issueLabel),issueNumber:P("Issue number",n0.issueNumber),kicker:P("Eyebrow",n0.kicker),heading:C1("Heading",n0.heading),deck:C1("Deck",n0.deck),stats:{type:"array",label:"Stats",arrayFields:{label:P("Label"),value:P("Value")},getItemSummary:e=>e?.label||e?.value||"Stat"},_gForm:v("Right panel \xB7 form"),formLabel:P("Section label",n0.formLabel),formHeading:P("Heading",n0.formHeading),formIntro:C1("Intro",n0.formIntro),firstNameLabel:P("First-name label",n0.firstNameLabel),firstNamePlaceholder:P("First-name placeholder",n0.firstNamePlaceholder),emailLabel:P("Email label",n0.emailLabel),emailPlaceholder:P("Email placeholder",n0.emailPlaceholder),_gChoices:v("Right panel \xB7 choices"),interestsLabel:P("Interests label",n0.interestsLabel),interests:r2("Interest chips",_1(g3,{noun:"tag"}),"Chip label","verbatim"),frequencyLabel:P("Frequency label",n0.frequencyLabel),frequencies:r2("Frequency options",_1(kJ,{}),"Option label","verbatim"),_gActions:v("Right panel \xB7 actions"),submitText:P("Submit button",n0.submitText),finePrint:P("Fine print",n0.finePrint),dismissText:P("Dismiss link",n0.dismissText),emailInvalidText:P("Invalid-email error",n0.emailInvalidText),submitErrorText:P("Submit-failed error",n0.submitErrorText),_gSuccess:v("Success state"),successHeading:P("Heading",n0.successHeading),successBody:C1("Message",n0.successBody),keepBrowsingText:P("Dismiss button",n0.keepBrowsingText),...ic(n4,tc),...nc(),_gTextStyle:v("Text style"),...Object.fromEntries(pa.map(e=>[Pg[e],h1(vo[e],_8(vo[e]),[{label:"Popup's own",value:""},...K7.map(t=>({label:$7[t],value:t}))],"")])),_gBehaviour:v("Behavior"),autoOpen:e1("Show by itself",n0.autoOpen,_1(yJ,{})),trigger:p1("Trigger",_1(AJ,{}),[{label:"Delay",value:"delay"},{label:"Scroll",value:"scroll"},{label:"Exit",value:"exit"}],n0.trigger),autoOpenDelaySec:J("Delay",_1(xu,{}),zo.min,zo.max,1,n0.autoOpenDelaySec,"s"),scrollPercent:J("Scroll",_1(SJ,{}),xo.min,xo.max,5,n0.scrollPercent,"%"),showOn:p1("Pages",_1(CJ,{}),[{label:"All",value:"all"},{label:"Chosen",value:"chosen"}],n0.showOn),showOnPages:f8("Chosen pages",[],"None"),hideAfter:p1("After close",_1(xu,{}),[{label:"This visit",value:"visit"},{label:"Days",value:"days"},{label:"Never",value:"never"}],n0.hideAfter),hideDays:J("Days",_1(xu,{}),wo.min,wo.max,1,n0.hideDays),_gArrangement:v("Arrangement"),formSide:p1("Form side",_1(LJ,{}),[{label:"Right",value:"right"},{label:"Left",value:"left"}],n0.formSide),_gPhone:v("On a phone"),valuePanelOnPhone:e1("Left panel",n0.valuePanelOnPhone,_1(xJ,{}))},IJ=bc(ZJ,"SubscribePopup");async function RJ(){return(await jf(Z2()??"")).filter(t=>!Eg(t.slug)).map(t=>({label:Zg(t),value:Gf(t.slug)}))}async function _J(e){let t=ko(e),a=new Set;t.autoOpen||["trigger","autoOpenDelaySec","scrollPercent","showOn","showOnPages","hideAfter","hideDays"].forEach(s=>a.add(s)),t.trigger==="scroll"&&a.add("autoOpenDelaySec"),t.trigger!=="scroll"&&a.add("scrollPercent"),t.showOn!=="chosen"&&a.add("showOnPages"),t.hideAfter!=="days"&&a.add("hideDays");let c={};for(let[s,l]of Object.entries(IJ))a.has(s)||(c[s]=s==="showOnPages"?{...l,options:await RJ().catch(()=>[])}:l);return M8(c)}var s4=ma,DJ={_gHeader:v("Header"),kickerBadge:P("Eyebrow badge",s4.kickerBadge),kickerText:P("Eyebrow text",s4.kickerText),titleLead:P("Heading",s4.titleLead),titleAccent:P("Heading accent",s4.titleAccent),subtitleEmpty:C1("Sub-line \xB7 empty",s4.subtitleEmpty),subtitleOne:C1("Sub-line \xB7 one set",s4.subtitleOne),subtitleMany:C1("Sub-line \xB7 several sets",s4.subtitleMany,"{count} becomes the number of sets"),_gStatus:v("Status rail"),leadTimeValue:P("Lead time",s4.leadTimeValue),shipsToFallback:P("Ships to \xB7 fallback",s4.shipsToFallback,"Shown only while the site serves no countries \u2014 otherwise the site's default country is stated"),_gPromises:v("Promise row"),promises:r2("Trust markers",_1(MP,{}),"Marker","verbatim"),_gEmpty:v("Empty basket"),emptyKicker:P("Eyebrow",s4.emptyKicker),emptyBody:C1("Message",s4.emptyBody)};function OJ(){return{type:"custom",render:({value:e,onChange:t})=>_1(re,{value:e==="full"?"full":e==="content"?"content":void 0,resolved:"content",followsLabel:"Follows the site",hint:"Whether this page sits on the site's content column, or runs edge to edge.",onChange:a=>t(a)})}}var GJ=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],I7={root:{fields:{title:P("Page Title"),pageBackground:yb(),topSpace:h1("Top space",_1(MJ,{}),GJ,tf),widthChoice:OJ(),_gOpening:v("Opening filter"),openingProcess:h1("Process",O6("A facet's options grow out of the merchant's CATALOGUE, so the set of rows is not ours to count and an icon-per-facet queue never empties. Owner, 2026-08-29, on the `Opening filter` group: \u300Cfilter \u91CC\u4E0D\u52A0 icon\u2026\u4E0D\u7136\u6CA1\u5B8C\u6CA1\u4E86\u3002\u300D"),hw,Uc),openingSize:P("Size","Any"),openingLugs:P("Lugs","Any"),openingFinish:h1("Finish",O6("A facet's options grow out of the merchant's CATALOGUE, so the set of rows is not ours to count and an icon-per-facet queue never empties. Owner, 2026-08-29, on the `Opening filter` group: \u300Cfilter \u91CC\u4E0D\u52A0 icon\u2026\u4E0D\u7136\u6CA1\u5B8C\u6CA1\u4E86\u3002\u300D"),nw,Uc),openingPriceMin:P("Price from","Any"),openingPriceMax:P("Price to","Any")},resolveFields:async(e,{fields:t})=>{if(e?.props?.kind===bo)return _J(e.props);if(e?.props?.kind===go)return DJ;let a=t;return g2()?{[Ng]:h1("Product type",_1(zJ,{}),s8,"alloy-wheel"),...a,_gHeroBullets:v("Product hero"),_nHeroBullets:v4("The promises under Add to Cart. Text before the \xB7 is bold. Leave the list empty to show no promises at all."),[Nr]:r2("Trust bullets",_1(MP,{}),$w(ve.bullets[0]),"verbatim")}:a},render:e=>{let{children:t,puck:a,widthMode:c,fullWidth:s,pageWidth:l,pageBackground:o,theme:r,fonts:i,scales:n,kind:h,previewProduct:m}=e,p=ua(typeof h=="string"?h:"",e);if(h===bo){let b=ko(e);return Z7("div",{style:{background:"var(--bg)",minHeight:"100%"},children:[a?.isEditing?_1("div",{style:{padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--line, #e5e5e5)"},children:"This is the site popup \u2014 edit it in the Settings panel \u2192"}):null,_1(Sw,{inline:!0,content:b})]})}if(h===go){let b=Vg(e);return Z7("div",{style:{background:"var(--bg)",minHeight:"100%"},children:[a?.isEditing?_1("div",{style:{padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--line, #e5e5e5)"},children:"This is the cart drawer \u2014 edit its copy in the Settings panel \u2192"}):null,_1(La,{children:_1(Ea,{preview:!0,children:_1(ue,{content:b})})})]})}let u=!!a?.isEditing,d=_1(Uw,{kind:p,children:_1(Xw,{content:jw(e),children:_1(Gw,{slug:u?m:null,children:_1(Nv,{initial:rw(e),children:t})})})}),g=h===Sg&&!ng(o);if(!u)return _1("div",{style:{...g?{}:mo(o),background:"var(--bg)",minHeight:"100%",overflowX:"clip"},children:_1(LP,{w:{widthMode:c,fullWidth:s,pageWidth:l},children:d})});let z=h===Lg,f=b=>{b.target?.closest?.("a")&&b.preventDefault()};return z?_1(NJ,{propsTheme:r,propsFonts:i,widthMode:c,fullWidth:s,pageWidth:l,pageBackground:typeof o=="string"?o:void 0,chromeInheritsSiteBackground:g,suppressPreviewNav:f,children:d}):_1(SP,{propsTheme:r,propsFonts:i,widthMode:c,fullWidth:s,pageWidth:l,pageBackground:typeof o=="string"?o:void 0,suppressPreviewNav:f,footer:_1(VJ,{}),overlay:Z7(WJ,{children:[_1(Tr,{}),_1(Br,{})]}),children:d})}},categories:Ig(),components:{Heading:A1.Heading,Text:A1.Text,Eyebrow:A1.Eyebrow,ImageBlock:A1.ImageBlock,LogoBlock:A1.LogoBlock,ButtonBlock:A1.ButtonBlock,Spacer:A1.Spacer,Divider:A1.Divider,Grid:A1.Grid,Flex:A1.Flex,Breadcrumb:A1.Breadcrumb,Masthead:A1.Masthead,CategoryBar:A1.CategoryBar,FeaturedCover:A1.FeaturedCover,LongRead:A1.LongRead,Series:A1.Series,Subscribe:O0.Subscribe,SubscribeBlogs:O0.SubscribeBlogs,Banner:A1.Banner,ParagraphsA:A1.ParagraphsA,StatsParagraph:A1.StatsParagraph,Timeline:A1.Timeline,Footprint:A1.Footprint,TimelineTrack:A1.TimelineTrack,TitleWithButtons:A1.TitleWithButtons,Stats:A1.Stats,Integrations:A1.Integrations,Mockup:A1.Mockup,Chart:A1.Chart,KeyFeatures:A1.KeyFeatures,Testimonials:A1.Testimonials,Reviews:O0.Reviews,Prose:A1.Prose,Cards:A1.Cards,Logos:A1.Logos,Ticker:A1.Ticker,ContactRouting:O0.ContactRouting,ContactLocations:A1.ContactLocations,HeroSingle:A1.HeroSingle,Hero:A1.Hero,HeroSlide:A1.HeroSlide,HeroGroup:A1.HeroGroup,Collections:w0.Collections,CollectionCard:w0.CollectionCard,Events:O0.Events,PostCard:A1.PostCard,DocMetaCards:A1.DocMetaCards,DocTabs:A1.DocTabs,DocMasthead:A1.DocMasthead,DocBody:A1.DocBody,FAQ:A1.FAQ,Gallery:w0.Gallery,GalleryB:w0.GalleryB,BrandStrip:w0.BrandStrip,SpecStrip:A1.SpecStrip,GalleryItem:w0.GalleryItem,Manifesto:A1.Manifesto,SectionHeader:A1.SectionHeader,IntroBleed:A1.IntroBleed,Split:A1.Split,SubmitBuild:O0.SubmitBuild,SubmitBox:O0.SubmitBox,ReviewForm:O0.ReviewForm,Form:O0.Form,AppointmentBooking:O0.AppointmentBooking,BookingBox:O0.BookingBox,CatalogFilterBar:w0.CatalogFilterBar,AlloyWheelsListing:w0.AlloyWheelsListing,ProductGrid:w0.ProductGrid,ProductHero:w0.ProductHero,SpecTable:w0.SpecTable,ProcessSteps:A1.ProcessSteps,DetailRows:w0.DetailRows,FitmentTable:w0.FitmentTable,RelatedProducts:w0.RelatedProducts,BundleOffer:w0.BundleOffer,CompatibleTyres:w0.CompatibleTyres,TyreSizes:w0.TyreSizes,TyreFitment:w0.TyreFitment,EuTyreLabel:w0.EuTyreLabel,FitmentFinder:w0.FitmentFinder,OrderSummary:A1.OrderSummary,DeliveryOptions:w0.DeliveryOptions,PaymentBadges:A1.PaymentBadges,CheckoutCTA:w0.CheckoutCTA,ProductRef:w0.ProductRef,CustomHTML:A1.CustomHTML,Header:w0.Header,Footer:O0.Footer,FooterLogo:O0.FooterLogo,FooterMenu:O0.FooterMenu,FooterDivider:O0.FooterDivider,FooterGroup:O0.FooterGroup,FooterText:O0.FooterText,FooterEmailSignup:O0.FooterEmailSignup,FooterSocial:O0.FooterSocial,LegalLineBlock:O0.LegalLineBlock,SearchBlock:w0.SearchBlock,CartBlock:w0.CartBlock,CountrySwitchBlock:w0.CountrySwitchBlock,[C8]:O0.SiteHeader,[L8]:O0.SiteFooter}},qJ={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial"};for(let[e,t]of Object.entries(qJ)){let a=I7.components;a[e]={...a[t]}}{let e=I7.components.MenuBlock;e.fields={...e.fields,direction:p1("Direction",_1(wJ,{}),[{label:$o.column,value:"column"},{label:$o.row,value:"row"}],"column")},e.defaultProps={...e.defaultProps,direction:"column"},e.render=({menu:t,heading:a,accordionMobile:c,showDividers:s,direction:l,puck:o})=>_1(ie,{menu:t,heading:a||void 0,accordionMobile:c,showDividers:s,layout:l==="row"?"row":"column",editing:o?.isEditing})}var AP={...dr(Object.keys(I7.components),I7.categories?.structure?.components??[]),inspector:Bx};for(let[e,t]of Object.entries(I7.components))Ex(e,t,AP);var PU1=AP.sectionGroupAllow;{let e=I7.root,t=e.resolveFields;e.resolveFields=t?(a,c)=>{let s=t(a,c);return s instanceof Promise?s.then(l=>V8(l??c.fields,"page")):V8(s??c.fields,"page")}:(a,c)=>V8(c.fields,"page")}var gp=I7;export{h91 as a,m91 as b,p91 as c,u91 as d,g91 as e,Vr as f,dr as g,Ex as h,Bx as i,Q11 as j,r01 as k,qx as l,t21 as m,oN as n,H31 as o,Vx1 as p,tB1 as q,gp as r};
|
|
143
|
+
`):[])a(m).then(()=>h(m),()=>h(m));return()=>{n=!1}},[r]);let i=t===void 0||c.has(t)||l===void 0;return ST(()=>{i&&l!==t&&o(t)},[i,l,t]),i?t:l}import{Fragment as hj,jsx as q2,jsxs as h3}from"react/jsx-runtime";function wp({selection:e,spec:t,vehicle:a,wheel:c}){let{manualMode:s,setManualMode:l}=e,o=Ys(e.rows,e.preOrder),r=a.appliedName!=="",i=(c?.variants??[]).some(id),n=fH({wheel:c,applied:r,fit:a.fit,resolving:a.resolving});return q2(Pt,{vehicle:a,escape:q2("button",{type:"button",className:"cursor-pointer text-right text-accent hover:underline",onClick:()=>l(h=>!h),children:s?"\u2190 Find by vehicle":"Select by specs instead \u2192"}),override:s?h3(a4,{tone:"quiet",children:[q2("strong",{className:"font-semibold text-fg",children:"You are choosing by the numbers."}),h3("span",{className:"mt-1.5 block",children:[t?`${i?"The set is":"All four wheels are"} ${t}. We have not checked that against any car \u2014 make sure it matches yours.`:o?"Answer the bolt pattern and the offset below. We will not check them against a car.":"Pick a finish and a size below. The bolt pattern and the offset come next, and we will not check them against a car."," ",q2(r0,{href:"/fitment",className:"text-accent hover:underline",children:"Talk to an engineer \u2192"})]})]}):null,verdict:q2(nj,{verdict:n,car:a.appliedName}),showChangeCar:n.state!=="fits"&&n.state!=="checking",cascadeErrorNote:h3(hj,{children:["Vehicle data is unavailable right now. Pick your wheel by its specs instead, or"," ",q2(r0,{href:"/contact",className:"text-accent hover:underline",children:"ask us to check it \u2192"})]}),askNote:"Asked once. Every wheel after this one is already filled in."})}function nj({verdict:e,car:t}){switch(e.state){case"checking":return h3(a4,{tone:"quiet",children:[q2("strong",{className:"font-semibold text-fg",children:"Checking fitment\u2026"})," ",h3("span",{children:["Reading the factory wheel specs for your ",t,"."]})]});case"fits":return h3(a4,{tone:"good",children:[h3("strong",{className:"font-semibold text-accent",children:["\u2713 Fits your ",t]}),q2("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:e.checks.map(a=>q2("li",{className:["px-2 py-1 text-[11px] uppercase tracking-[0.14em] text-fg-dim",a.value!==null?"border border-line":"border border-dashed border-line"].join(" "),children:a.value??`${a.name} not published, not checked`},a.key))})]});case"fits-with-warning":return h3(a4,{tone:"good",children:[h3("strong",{className:"font-semibold text-accent",children:["\u2713 Fits your ",t]}),q2("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:e.checks.map(a=>q2("li",{className:["px-2 py-1 text-[11px] uppercase tracking-[0.14em] text-fg-dim",a.value!==null?"border border-line":"border border-dashed border-line"].join(" "),children:a.value??`${a.name} not published, not checked`},a.key))}),h3("span",{className:"mt-2 block border-l-2 border-alert pl-2.5",children:[q2("strong",{className:"font-semibold text-fg",children:"Check the offset. "}),k7(e.warning)," An offset this far out is what an aftermarket wheel is for, but it changes how far the wheel sits from the guard."," ",q2(r0,{href:"/contact",className:"text-accent hover:underline",children:"Ask us if you are unsure \u2192"})]})]});case"no-fit":return h3(a4,{tone:"bad",children:[h3("strong",{className:"font-semibold",style:{color:"var(--alert)"},children:["\u2717 Does not fit your ",t]}),q2("span",{className:"mt-1.5 block",children:k7(e.failure)})]});case"unknown":return h3(a4,{tone:"quiet",children:[q2("strong",{className:"font-semibold text-fg",children:e.missing==="vehicle"?`We cannot check this wheel against your ${t}`:"We cannot check this wheel"}),h3("span",{className:"mt-1.5 block",children:[e.missing==="vehicle"?`We have no factory wheel data for the ${t}, and we will not guess at a fit.`:"We do not hold a bolt pattern for this wheel, and we will not guess at a fit."," ",q2(r0,{href:"/contact",className:"text-accent hover:underline",children:"Ask us before you order \u2192"})]})]});default:return null}}import{useState as BT}from"react";import{useCallback as PT,useRef as mj,useState as pj}from"react";function VT(e,t,a){return{productSlug:e,email:a.trim(),size:t?l8(t):""}}function ET(){let[e,t]=pj("idle"),a=mj(!1),c=PT(()=>{a.current=!1,t("idle")},[]),s=PT(async({productSlug:l,size:o,email:r,dryRun:i=!1})=>{if(!a.current){if(!Pa(r)){t("invalid");return}a.current=!0,t("sending");try{i||await D0.createPreOrderIntent(VT(l,o,r))}catch{a.current=!1,t("error");return}a.current=!1,t("sent")}},[]);return{status:e,submit:s,reset:c}}import{jsx as L9,jsxs as S9}from"react/jsx-runtime";function yp({wheel:e,editing:t=!1}){let a=e.sizePairs??[],[c,s]=BT(a.length>0?0:-1),[l,o]=BT(""),{status:r,submit:i,reset:n}=ET(),h=c>=0?a[c]??null:null;function m(){i({productSlug:e.slug,size:h,email:l,dryRun:t})}return S9("div",{className:"flex flex-col gap-5 border-t border-line pt-[18px]",children:[S9("div",{className:"border-2 border-accent/40 px-4 py-3.5 font-mono text-[12px] leading-relaxed tracking-[0.08em] text-fg",style:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:[L9("span",{className:"font-bold uppercase tracking-[0.2em] text-accent",children:"Pre-order"})," ","\u2014 this design isn't available to add to cart right now. Leave your email to pre-order it. No payment is taken now."]}),a.length>0&&S9("div",{children:[S9("div",{className:"mb-3.5 font-mono text-[13px] font-semibold uppercase tracking-[0.22em] text-fg",children:["Size \xB7"," ",L9("span",{className:"text-accent",children:h?l8(h):"Select a size"})]}),L9("div",{className:"flex flex-wrap gap-1.5",children:a.map((p,u)=>{let d=u===c;return S9("button",{type:"button",onClick:()=>{s(u),r==="sent"&&n()},className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",d?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:d?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[d&&L9("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),L9("span",{className:"block text-[14px] tracking-[0.18em]",children:l8(p)})]},l8(p))})})]}),r==="sent"?S9("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-accent",children:["Thanks \u2014 we've registered your pre-order for the ",e.name,"."]}):L9(Vt,{email:l,onEmailChange:o,status:r,onResetVerdict:n,onSubmit:m,inputAriaLabel:"Email to pre-order this design",submitLabel:"Pre-order",buttonClassName:"cursor-pointer whitespace-nowrap border-2 border-btn bg-btn px-6 font-mono text-[12px] font-bold uppercase tracking-[0.22em] text-btn-ink transition-colors hover:bg-fg hover:border-fg disabled:cursor-not-allowed disabled:opacity-50",errorMessage:"Couldn't register that \u2014 please try again."})]})}import{useState as uj}from"react";import{Fragment as gj,jsx as Pl}from"react/jsx-runtime";function El({src:e,alt:t,fallback:a,fill:c=!1,width:s,height:l,sizes:o,className:r,style:i,priority:n,draggable:h,imageKey:m,imageWrapperClassName:p,onImageClick:u,imageButtonClassName:d,imageButtonLabel:g}){let[z,f]=uj(null),b=e||"";if(!(b!==""&&z!==b))return Pl(gj,{children:a});let C=Pl(H5,{src:b,alt:t,...c?{fill:!0}:{width:s??1e3,height:l??1e3},sizes:o,className:r,style:i,priority:n,draggable:h,onError:()=>f(b)},m??b),S=p?Pl("div",{className:p,children:C}):C;return u?Pl("button",{type:"button",onClick:u,"aria-label":g,className:d,children:S}):S}function NT(e){let t=e.angles??(e.src?[e.src]:[]),a=[],c=[];for(let s of t)(s.split("/").pop()??"").includes("20-20")?a.push(s):c.push(s);return[...c,...a]}import{Fragment as ZT,jsx as Z3,jsxs as vj}from"react/jsx-runtime";function Bl(e,t){return e.captions[t]?.trim()||`Photo ${t+1}`}function Nl({text:e}){return e==="FusionForge\xAE"?vj(ZT,{children:["FusionForge",Z3(T6,{})]}):Z3(ZT,{children:e})}function IT(e,t,a){if(e.kind==="tyre"){let h=e.source,m=t.shown.size??h.sizes[0]??"",p=h.variants.find(g=>g.size===m),u=p?.specs.tireType??h.variants[0]?.specs.tireType??null,d=[p?.image,h.coverImage].filter(g=>!!g);return{heading:Yv(h.brand,h.name),photos:d.slice(0,1),tint:void 0,stageImage:()=>Z3(n8,{image:p?.image??h.coverImage,size:m,type:u,sizes:Vl,priority:!0,className:"h-full w-full"}),thumbImage:()=>null,captions:[],thumbFallbackCells:0,galleryHint:"",metaValue:m,specCaption:p?[p.specs.loadIndex,p.specs.speedRating].filter(Boolean).join(""):"",originCaption:h.brand,unitLabel:"per tyre",vehicle:Z3(xp,{slug:h.slug,variants:h.variants,vehicle:t.vehicle,manualMode:t.manualMode,setManualMode:t.setManualMode}),vehicleMemory:t.manualMode?null:Z3(bp,{vehicle:t.vehicle}),vehicleAnswersSpecs:!1,preOrder:null}}let c=e.source,s=Wv(c,t.shown.finish),l=Oa(c,t.part),o=el(t),r=Cd(s,o),i=r?[...r]:NT(s),n=i.length>0?i:c.coverImage?[c.coverImage]:[];return{heading:e.name,photos:n,tint:s.color,stageImage:({photo:h,alt:m,label:p,onZoom:u,fit:d})=>Z3(El,{src:h,alt:m,fill:!0,sizes:Vl,className:d==="cover"?"object-cover":"object-contain",priority:!0,onImageClick:u,imageButtonClassName:"relative block h-[88%] w-[88%] cursor-zoom-in",imageButtonLabel:p,fallback:Z3(q6,{spokes:c.spokes,mesh:c.mesh,className:"block h-[70%] w-[70%]"})}),thumbImage:({photo:h,alt:m})=>Z3(El,{src:h,alt:m,fill:!0,sizes:"(max-width: 720px) 20vw, (max-width: 1100px) 10vw, 120px",className:"object-contain",imageWrapperClassName:"relative h-[80%] w-[80%]",fallback:Z3(q6,{spokes:c.spokes,mesh:c.mesh,className:"block h-[55%] w-[55%]"})}),captions:n.map(h=>s.captions?.[h]),thumbFallbackCells:4,galleryHint:dj(n,s,o,t.manualMode),metaValue:s.name,specCaption:l?K9(l):"",originCaption:c.process==="FusionForge\xAE"?"FusionForge\xAE \xB7 Hybrid":`${c.process} \xB7 1-piece`,unitLabel:"per wheel",vehicle:Z3(wp,{selection:t,spec:l?K9(l):"",vehicle:t.vehicle,wheel:c}),vehicleMemory:t.manualMode?null:Z3(bp,{vehicle:t.vehicle}),vehicleAnswersSpecs:!0,preOrder:Z3(yp,{wheel:c,editing:a})}}function dj(e,t,a,c){return e.length>=2||a!=null||!Object.values(t.lugRenderings??{}).some(l=>Array.isArray(l)&&l.filter(Boolean).length>=2)?"":c?"Pick a bolt pattern to see every angle":"Pick your vehicle to see every angle"}import{createContext as fj,useContext as bj,useEffect as zj,useState as RT}from"react";import{jsx as wj}from"react/jsx-runtime";var _T="storefront-wishlist";function xj(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var DT=fj(null);function tB1({children:e}){let[t,a]=RT([]),[c,s]=RT(!1);zj(()=>{let r=Q2.getItem(_T);try{r&&a(xj(r))}catch{}s(!0)},[]);function l(r){let i=t.includes(r)?t.filter(n=>n!==r):[...t,r];a(i),Q2.setItem(_T,JSON.stringify(i))}let o={slugs:t,ready:c,has:r=>t.includes(r),toggle:l,count:t.length};return wj(DT.Provider,{value:o,children:e})}function OT(){let e=bj(DT);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}var GT="data-option-row";import{Fragment as c4,jsx as u1,jsxs as G1}from"react/jsx-runtime";var kj=4e3;function Mj(e){return e?[e.year,e.make,e.model,e.modification].join("-"):""}function A9({product:e,selection:t,onLightbox:a,editing:c=!1,pricePlacement:s="top",showVehicleFitment:l=!0,heroLayout:o=y6,imageRatio:r=k6,textAlign:i=A7,showSpecTable:n=!0,showPriceQuote:h=!0,galleryMode:m=M6,imageFit:p=C6}){let u=b9(o),d=gl(i),g=dl(r),z=vl(m),f=gF(fl(p),md(e)),b=u==="imageRight"?`${100-g}fr ${g}fr`:`${g}fr ${100-g}fr`,{picked:y,pick:C,qty:S,setQty:H,choice:_,setChoice:Z,angleIdx:q,setAngleIdx:j,showValidation:B,setShowValidation:N,manualMode:D,vehicle:T,rows:R,facts:i1,part:O,outOfStock:m1,offer:Q,preOrder:K,canAddToCart:a1,currency:B1,price:X,set:D1,msrpLabel:t0}=t,I=IT(e,t,c),{bullets:H1}=Jw(),f1=nd(e),J2=hd(e),G0=l?I.vehicle:null,q1=l?I.vehicleMemory:null,[p3,h0]=WT(!1);kp(()=>{let $=()=>{h0(document.documentElement.getAttribute("data-theme")==="light")};$();let N1=new MutationObserver($);return N1.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>N1.disconnect()},[]);let{add:R3,open:g0,warmCatalog:k3}=Z6();kp(()=>{c||k3(e.kind)},[c,e.kind,k3]);let l4=R.filter($=>!K||$.values.length>0),E2=l4.filter($=>$.role==="resolves"),g1=l4.filter($=>$.role==="describes"&&!pd(J2,$.key)),W1=g1.findIndex($=>$.chosen===null),_0=(!G0||!I.vehicleAnswersSpecs||t.fitmentSet)&&Ys(R,K)?W1===-1?g1:g1.slice(0,W1+1):[],q0=[...E2,..._0],o0=G1("div",{className:"flex items-baseline gap-5 border-t border-line pt-[18px]",children:[t0&&u1("div",{className:"font-mono text-[length:var(--size-label,15px)] text-fg-dim line-through",children:t0}),u1("div",{className:"font-heading2 text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))] font-bold leading-none tracking-[-0.01em] text-fg",children:f1?rd(X,B1):xa(X,B1)}),X.priced&&u1("div",{className:"font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:I.unitLabel}),X.setTotal!=null&&G1("div",{className:"ml-auto border border-accent px-3 py-2 font-mono text-[length:var(--size-label,13px)] font-bold uppercase tracking-[0.18em] text-accent",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)"},children:[Q.quantityLabel,": ",I2(D1,B1)]})]}),W0=yj(null);return kp(()=>{c||W0.current===e.slug||(W0.current=e.slug,uv({itemId:O?`${e.slug}|${O.id}`:e.slug,itemName:e.name,variant:I.metaValue,pricePerSet:X.setTotal??X.fromSetTotal??0,currency:B1}))},[c,e.slug,e.name,I.metaValue,O,X,B1]),G1(c4,{children:[u1("nav",{className:"border-b border-line px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-page-cap,100%))/2_+_var(--sf-site-gutter,40px)))] pt-4 pb-4 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:p3?void 0:{background:"var(--section-bg)"},children:e.crumbs.map(($,N1)=>G1("span",{children:[N1>0&&G1(c4,{children:[u1("span",{className:"mx-3 text-accent",children:"/"}),u1("wbr",{})]}),$.href?u1(r0,{href:$.href,className:"hover:text-fg",children:u1(Nl,{text:$.label})}):u1("span",{className:"text-fg",children:u1(Nl,{text:$.label})})]},`${$.label}-${N1}`))}),G1("section",{"data-hero-layout":u,"data-hero-align":d,className:["grid gap-10 px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-page-cap,100%))/2_+_var(--sf-site-gutter,40px)))] py-14 max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[720px]:py-8",u==="stacked"?"grid-cols-1":"[grid-template-columns:var(--hero-cols)] max-[1100px]:[grid-template-columns:1fr]"].join(" "),style:{...p3?{}:{background:"var(--section-bg)"},...u==="stacked"?{}:{"--hero-cols":b}},children:[G1("div",{"data-hero-gallery":z,"data-hero-fit":f,className:z==="tiled"?"flex items-start gap-3 max-[720px]:gap-2":void 0,style:u==="imageRight"?{order:2}:void 0,children:[G1("div",{className:z==="tiled"?"min-w-0 flex-1":void 0,children:[u1(Sj,{name:e.name,view:I,angleIdx:q,onSelect:j,isLight:p3,onLightbox:a,fit:f}),I.galleryHint&&u1("p",{"data-hero-gallery-hint":!0,className:"mt-2 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.18em] text-fg-dim",children:I.galleryHint})]}),z!=="main"&&u1(Aj,{name:e.name,view:I,angleIdx:q,onSelect:j,isLight:p3,tiled:z==="tiled"})]}),G1("div",{className:["flex flex-col gap-7",d==="center"?"items-center text-center":""].filter(Boolean).join(" "),style:u==="imageRight"?{order:1}:void 0,children:[G1("div",{children:[G1("div",{className:"mb-2.5 flex items-center gap-2.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.2em] text-accent",children:[u1("span",{children:u1(Nl,{text:e.eyebrow})}),e.badge&&G1(c4,{children:[u1("span",{children:"\xB7"}),u1("span",{children:e.badge})]})]}),u1("h1",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(48px,5.5vw,84px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] uppercase leading-[0.92] tracking-[-0.035em]",children:(()=>{let $=I.heading.lastIndexOf(" ");if($===-1)return I.heading;let N1=I.heading.slice(0,$),y0=I.heading.slice($+1);return G1(c4,{children:[N1," ",G1("em",{className:"font-normal italic text-accent",children:[y0,"."]})]})})()})]}),s!=="belowSpecs"&&h&&o0,q1,E2.map($=>u1(qT,{row:$,onPick:C},$.key)),K&&I.preOrder?G1(c4,{children:[s==="belowSpecs"&&h&&o0,I.preOrder]}):G1(c4,{children:[G0,_0.map($=>u1(qT,{row:$,onPick:C},$.key)),n&&u1(Cj,{facts:i1}),(Q.packs.length>0||Q.extra||Q.spareCounts.length>0)&&G1("div",{className:"border-b border-line pb-[26px]",children:[Q.packs.length>0&&G1(c4,{children:[u1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:"How many"}),u1("div",{className:"flex flex-wrap gap-1.5",children:Q.packs.map($=>G1("button",{type:"button",onClick:()=>Z(N1=>({...N1,unit:$.value})),"aria-pressed":_.unit===$.value,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",_.unit===$.value?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:_.unit===$.value?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[_.unit===$.value&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),u1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:$.label})]},$.value))})]}),Q.extra&&G1("label",{className:`${Q.packs.length>0?"mt-3.5 ":""}flex cursor-pointer items-center gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-fg`,children:[u1("input",{type:"checkbox",checked:_.spares>0,onChange:$=>Z(N1=>({...N1,spares:$.target.checked?cd:0})),className:"h-4 w-4 cursor-pointer accent-[var(--accent)]"}),Q.extra.label]}),Q.spareCounts.length>0&&G1(c4,{children:[u1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:Kv.howMany}),u1("div",{className:"flex flex-col gap-1.5 sm:flex-row sm:flex-wrap",children:Q.spareCounts.map($=>{let N1=$.value-ad,y0=_.spares===N1;return G1("button",{type:"button",onClick:()=>Z(B2=>({...B2,spares:N1})),"aria-pressed":y0,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",y0?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:y0?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[y0&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),G1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:[$.value," \xB7 ",$.label]})]},$.value)})})]}),Q.spareSide&&G1(c4,{children:[u1("div",{className:"mb-3.5 mt-[26px] font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:Q.spareSide.label}),u1("div",{className:"flex flex-wrap gap-1.5",children:Q.spareSide.options.map($=>{let N1=_.spareSide===$.value;return G1("button",{type:"button",onClick:()=>Z(y0=>({...y0,spareSide:$.value})),"aria-pressed":N1,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",N1?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:N1?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[N1&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),u1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:$.label})]},$.value)})})]})]}),s==="belowSpecs"&&h&&o0,G1("div",{className:yT,children:[!(f1&&!X.priced)&&G1("div",{className:"flex items-center border-2 border-fg-dim/50",children:[u1("button",{type:"button",onClick:()=>S>1&&H(S-1),className:"h-12 w-12 cursor-pointer bg-transparent font-mono text-[length:var(--size-label,16px)] font-bold text-fg transition-colors hover:bg-surface hover:text-accent",children:"\u2212"}),u1("span",{className:"w-11 text-center font-mono text-[length:var(--size-label,15px)] font-bold tracking-[0.1em] text-fg",children:S}),u1("button",{type:"button",onClick:()=>S<fa&&H(S+1),className:"h-12 w-12 cursor-pointer bg-transparent font-mono text-[length:var(--size-label,16px)] font-bold text-fg transition-colors hover:bg-surface hover:text-accent",children:"+"})]}),f1&&!X.priced?u1(r0,{href:"/contact",className:"flex-1 cursor-pointer bg-btn px-6 py-4 text-center font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg",children:ld}):X.priced?m1?u1("button",{type:"button",disabled:!0,"aria-disabled":!0,className:"flex-1 cursor-not-allowed border-2 border-dashed border-fg-dim/20 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-fg-dim/40",children:"Out of stock"}):G1("button",{type:"button",[sd]:"",onClick:()=>{if(!a1){N(!0),window.setTimeout(()=>N(!1),kj);return}if(N(!1),c)return;let $=jv(e,O,y,{choice:_,qty:S},{fitmentLabel:D?I.specCaption:T.appliedName?`For ${T.appliedName}`:"",fitmentKey:D?`manual|${I.specCaption}`:`vehicle|${Mj(T.applied?.vehicle)}`});$&&(R3($),g0())},"aria-disabled":!a1,className:["flex-1 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] transition-colors",a1?"cursor-pointer bg-btn text-btn-ink hover:bg-fg hover:text-bg":"cursor-pointer border-2 border-dashed border-accent/50 text-accent/80 hover:border-accent hover:text-accent"].join(" "),style:a1?void 0:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:["Add to Cart",X.setTotal!=null?` \xB7 ${I2(D1,B1)}`:""]}):u1("button",{type:"button",disabled:!0,"aria-disabled":!0,className:"flex-1 cursor-not-allowed border-2 border-dashed border-fg-dim/20 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-fg-dim/40",children:t8}),u1(Hj,{slug:e.slug,name:e.name})]}),m1&&O&&u1(Fj,{partNumbers:O.components.map($=>$.partNumber),productSlug:e.slug},O.id),B&&(()=>{let $=q0.filter(y0=>y0.chosen===null).map(y0=>y0.prompt.replace(/^Select\s+/i,""));if(G0&&I.vehicleAnswersSpecs&&!t.fitmentSet&&$.push("vehicle fitment"),$.length===0)return null;let N1=$.length===1?$[0]:$.length===2?`${$[0]} and ${$[1]}`:`${$.slice(0,-1).join(", ")}, and ${$.at(-1)}`;return G1("p",{role:"alert",className:"-mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em]",style:{color:"var(--alert)"},children:["Please select ",N1," first."]})})()]}),H1.length>0&&u1("ul",{className:"flex flex-wrap items-center gap-x-6 gap-y-2 border-t border-line pt-5 font-mono text-[length:var(--size-label,13px)] tracking-[0.05em] text-fg",children:H1.map(($,N1)=>G1("li",{children:[u1("strong",{className:"font-bold text-accent",children:$.label}),$.detail?` ${de} ${$.detail}`:""]},`${$.label}-${N1}`))})]})]})]})}function Cj({facts:e}){return e.length===0?null:G1("div",{className:"border-b border-line pb-[26px]",children:[u1("dl",{className:"flex flex-col gap-2",children:e.map(t=>G1("div",{className:"flex flex-wrap items-baseline gap-x-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.22em]",children:[G1("dt",{className:"text-fg-dim",children:[t.label," \xB7"]}),u1("dd",{className:"font-semibold text-fg",children:t.value.label})]},t.key))}),u1("p",{className:"mt-3 font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:"Only one of each is left, so there is nothing to choose here."})]})}function qT({row:e,onPick:t}){if(e.values.length===0&&!e.empty)return null;let a=e.values.find(s=>s.value===e.chosen),c=a&&[a.label,a.note].filter(Boolean).join(" \xB7 ");return G1("div",{className:"border-b border-line pb-[26px]",[GT]:e.key,children:[G1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:[e.label," \xB7 ",u1("span",{className:"text-accent",children:c??e.prompt})]}),e.values.length===0?G1("p",{className:"font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:[e.empty.text," ",u1(r0,{href:e.empty.href,className:"text-accent hover:underline",children:e.empty.linkText})]}):e.display==="swatch"?u1("div",{className:"grid grid-cols-2 gap-2",children:e.values.map(s=>{let l=s.value===e.chosen;return G1("button",{type:"button",onClick:()=>t(e.key,s.value),className:["relative flex items-center gap-3 border-2 px-3 py-3 text-left transition-colors",l?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"].join(" "),style:l?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[l&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),u1("span",{className:"block h-5 w-5 shrink-0 rounded-full border border-fg-dim",style:{background:s.swatch}}),u1("span",{className:"block min-w-0 flex-1 truncate font-mono text-[length:var(--size-label,12px)] font-bold uppercase tracking-[0.18em] text-fg",children:s.label})]},s.value)})}):u1("div",{className:"flex flex-wrap gap-1.5",children:e.values.map(s=>{let l=s.value===e.chosen;return G1("button",{type:"button",onClick:()=>t(e.key,s.value),className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",l?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:l?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[l&&u1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),u1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:s.label}),s.note&&u1("span",{className:"mt-1 block text-[length:var(--size-label,11px)] tracking-[0.12em] text-fg-dim",children:s.note})]},s.value)})})]})}function UT(e){return e.photos.length>0?e.photos.length:e.thumbFallbackCells}var Lj=6;function Sj({name:e,view:t,angleIdx:a,onSelect:c,isLight:s,onLightbox:l,fit:o}){let r=t.photos[Math.min(a,t.photos.length-1)],i=TT(t.photos,r),n=UT(t),h=n>=2,m=String(n).padStart(2,"0"),p=Math.min(a,Math.max(t.photos.length-1,0)),u=h||t.captions[p]?Bl(t,p):"",d=[e,t.metaValue,u].filter(Boolean).join(" \u2014 "),g="max-[720px]:static",z=["relative flex aspect-square items-center justify-center overflow-hidden max-[720px]:col-span-2",s?"bg-bg":""].join(" ");return G1("div",{className:"relative max-[720px]:grid max-[720px]:grid-cols-[minmax(0,1fr)_auto] max-[720px]:items-start max-[720px]:gap-x-3 max-[720px]:gap-y-2",style:{color:t.tint},children:[G1("div",{className:`absolute left-0 top-0 z-10 flex items-center gap-3 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.2em] text-fg ${g} max-[720px]:min-w-0 max-[720px]:flex-wrap max-[720px]:gap-x-2 max-[720px]:gap-y-1`,children:[h&&G1(c4,{children:[G1("span",{className:"text-accent",children:[String(a+1).padStart(2,"0")," / ",m]}),u1("span",{className:"text-fg-dim",children:"\xB7"})]}),u1("span",{children:e}),t.metaValue&&G1(c4,{children:[u1("span",{className:"text-fg-dim",children:"\xB7"}),u1("span",{className:"text-accent",children:t.metaValue})]})]}),h&&u1("div",{className:`absolute right-5 top-5 z-10 flex gap-1 ${g}`,children:FT(a,n,c).map(b=>u1("button",{type:"button","aria-label":b.label,title:b.label,onClick:b.onClick,className:"flex h-7 w-7 items-center justify-center border border-fg-dim/60 text-fg transition-colors hover:border-accent hover:text-accent",children:b.glyph},b.label))}),G1("div",{className:z,children:[["top-3 left-3","top-3 right-3","bottom-3 left-3","bottom-3 right-3"].map((b,y)=>u1("span",{className:`absolute ${b} h-3 w-3 border border-fg-dim/40`,style:{borderTop:b.includes("top")?"1px solid var(--line)":"none",borderBottom:b.includes("bottom")?"1px solid var(--line)":"none",borderLeft:b.includes("left")?"1px solid var(--line)":"none",borderRight:b.includes("right")?"1px solid var(--line)":"none"}},y)),t.stageImage({photo:i,alt:d,label:`Open ${[e,t.metaValue].filter(Boolean).join(" ")} at full resolution`,onZoom:()=>l(i,d),fit:o})]}),G1("div",{className:`absolute bottom-5 left-5 right-5 z-10 flex items-center justify-between gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim ${g} max-[720px]:col-span-2 max-[720px]:flex-wrap`,children:[u1("span",{children:t.specCaption}),u1("span",{children:t.originCaption})]})]})}function Aj({name:e,view:t,angleIdx:a,onSelect:c,isLight:s,tiled:l=!1}){let o=UT(t);return o<2?null:u1("div",{className:l?"order-[-1] flex w-16 flex-col gap-2 max-[720px]:w-12 max-[720px]:gap-1":"mt-2 grid grid-cols-4 gap-2 max-[720px]:gap-1",style:!l&&o>4?{gridTemplateColumns:`repeat(${Math.min(o,Lj)}, minmax(0, 1fr))`}:void 0,children:Array.from({length:o}).map((r,i)=>{let n=t.photos[i];return G1("button",{type:"button",onClick:()=>c(i),"aria-label":`View ${Bl(t,i)}`,className:["relative flex aspect-square items-center justify-center overflow-hidden transition-colors",s?"bg-bg":"",i===a?"border border-accent":"border border-transparent hover:border-fg-dim"].join(" "),style:{color:t.tint},children:[u1("span",{className:"absolute top-1.5 left-2 z-10 font-mono text-[length:var(--size-label,8px)] uppercase tracking-[0.18em] text-fg-dim",children:String(i+1).padStart(2,"0")}),t.thumbImage({photo:n,alt:`${e} \u2014 ${Bl(t,i)}`})]},i)})})}function Hj({slug:e,name:t}){let{has:a,toggle:c}=OT(),s=a(e);return u1("button",{type:"button",title:s?"Saved":"Save","aria-label":s?`Remove ${t} from wishlist`:`Save ${t} to wishlist`,"aria-pressed":s,onClick:()=>c(e),className:["h-12 w-12 cursor-pointer border-2 bg-transparent transition-colors",s?"border-accent text-accent":"border-fg-dim/50 text-fg hover:border-accent hover:text-accent"].join(" "),children:s?"\u2665":"\u2661"})}function Fj({partNumbers:e,productSlug:t}){let[a,c]=WT(""),{status:s,submit:l,reset:o}=bv();function r(){l({partNumbers:e,email:a,productSlug:t})}return s==="sent"?u1("p",{className:"-mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-accent",children:"We'll email you when it's back."}):u1(Vt,{className:"-mt-1",email:a,onEmailChange:c,status:s,onResetVerdict:o,onSubmit:r,inputAriaLabel:"Email for the back-in-stock alert",submitLabel:"Notify me when back",buttonClassName:"cursor-pointer whitespace-nowrap border-2 border-btn px-4 font-mono text-[length:var(--size-label,11px)] font-bold uppercase tracking-[0.22em] text-btn transition-colors hover:bg-btn hover:text-btn-ink disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-btn",errorMessage:"Couldn't save that \u2014 please try again."})}import{Fragment as Pj,jsx as T7,jsxs as Ej}from"react/jsx-runtime";function Mp({slug:e,kind:t="wheel",editing:a=!1,pricePlacement:c,showVehicleFitment:s=!0,...l}){let[o,r]=KT(null),[i,n]=KT(!1);return Tj(()=>{let h=!1;return r(null),n(!1),(t==="tyre"?D0.getTyre(e).then(p=>({kind:"tyre",tyre:p})):D0.getWheel(e).then(p=>({kind:"wheel",wheel:p}))).then(p=>{h||r(p)}).catch(()=>{h||n(!0)}),()=>{h=!0}},[e,t]),i?T7($T,{message:"Couldn\u2019t load this product."}):o?T7(Vj,{record:o,editing:a,pricePlacement:c,showVehicleFitment:s,...l}):T7($T,{message:"Loading product\u2026"})}function Vj({record:e,editing:t=!1,pricePlacement:a,showVehicleFitment:c=!0,...s}){let l=e.kind==="tyre"?tl(e.tyre):Y9(e.wheel),o=pt(l,{editing:t}),r=mt();return Ej(Pj,{children:[T7(A9,{product:l,selection:o,onLightbox:r.open,editing:t,pricePlacement:a,showVehicleFitment:c,...s}),T7(h9,{item:r.item,onClose:r.close})]})}function $T({message:e}){return T7("section",{className:"grid min-h-[70vh] place-items-center border-b border-line px-[var(--sf-site-gutter,40px)] pt-[104px] pb-14",style:{background:"var(--section-bg)"},children:T7("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:e})})}import{Fragment as Ij,jsx as U4,jsxs as Rj}from"react/jsx-runtime";var Bj=T5;function Zl({editing:e=!1,pricePlacement:t,showVehicleFitment:a=!0,...c}){let s=A0();return U4(e2,{kinds:Bj,type:"ProductHero",editing:e,children:s?U4(A9,{product:s.product,selection:s.selection,onLightbox:s.openLightbox,editing:e,pricePlacement:t,showVehicleFitment:a,...c}):e?U4(Nj,{pricePlacement:t,showVehicleFitment:a,...c}):U4(Il,{message:"Bound to the current product \u2014 preview on a product page."})})}function Nj({pricePlacement:e,showVehicleFitment:t,...a}){let c=O2(!0);return c?U4(Zj,{product:c,pricePlacement:e,showVehicleFitment:t,...a}):U4(Il,{message:"Loading sample product\u2026"})}function Zj({product:e,pricePlacement:t,showVehicleFitment:a,...c}){let s=pt(e,{editing:!0}),l=mt();return Rj(Ij,{children:[U4(A9,{product:e,selection:s,onLightbox:l.open,editing:!0,pricePlacement:t,showVehicleFitment:a,...c}),U4(h9,{item:l.item,onClose:l.close})]})}function Il({message:e}){return U4("section",{className:"grid min-h-[70vh] place-items-center border-b border-line px-[var(--sf-site-gutter,40px)] pt-[104px] pb-14",style:{background:"var(--section-bg)"},children:U4("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim",children:e})})}import{jsx as Et}from"react/jsx-runtime";function _j({source:e,editing:t=!1,pricePlacement:a=f9,showVehicleFitment:c=!0,heroLayout:s=y6,imageRatio:l=k6,textAlign:o=A7,showSpecTable:r=!0,showPriceQuote:i=!0,galleryMode:n=M6,imageFit:h=C6}){let m={heroLayout:s,imageRatio:l,textAlign:o,showSpecTable:r,showPriceQuote:i,galleryMode:n,imageFit:h};return A0()||t&&g2()?Et(Zl,{editing:t,pricePlacement:a,showVehicleFitment:c,...m}):e?.slug?Et(Mp,{slug:e.slug,kind:e.kind??"wheel",editing:t,pricePlacement:a,showVehicleFitment:c,...m}):t?Et(Il,{message:"Pick a product in the panel to fill this hero."}):Et(Zl,{pricePlacement:a,showVehicleFitment:c,...m})}var jT={label:"Product Hero",defaultProps:{source:null,pricePlacement:f9,showVehicleFitment:!0,heroLayout:y6,imageRatio:k6,textAlign:A7,showSpecTable:!0,showPriceQuote:!0,galleryMode:M6,imageFit:C6},render:e=>Et(_j,{source:e.source,editing:e.puck?.isEditing,pricePlacement:pF(e.pricePlacement),showVehicleFitment:e.showVehicleFitment??!0,heroLayout:b9(e.heroLayout),imageRatio:dl(e.imageRatio),textAlign:gl(e.textAlign),showSpecTable:e.showSpecTable??!0,showPriceQuote:e.showPriceQuote??!0,galleryMode:vl(e.galleryMode),imageFit:fl(e.imageFit)})};import{jsx as Dj}from"react/jsx-runtime";var YT={label:"Product",defaultProps:{code:"",finish:""},render:e=>Dj(Ev,{code:e.code||void 0,finish:e.finish||void 0,wheel:e.wheel})};import{jsx as Oj}from"react/jsx-runtime";var XT={label:"Search",defaultProps:{style:"icon"},render:({style:e,puck:t})=>Oj(QF,{style:e,editing:t?.isEditing})};import{useEffect as qj,useRef as Wj}from"react";import{jsx as Bt,jsxs as JT}from"react/jsx-runtime";var Gj={fits:{className:"font-medium",style:{color:"var(--green)"}},doesNotFit:{className:"text-fg-dim"},unknown:{className:"text-fg-dim"}};function Cp({variants:e,answer:t,loading:a=!1}){return t?JT("div",{className:"mt-9",children:[Bt("p",{className:"max-w-[68ch] font-serif text-[length:var(--size-body,18px)] italic leading-[1.55] text-fg-dim",children:Fl(t)}),Bt("ul",{className:"mt-6 grid gap-[2px] border border-line bg-line",children:e.map(c=>{let s=_a(t,c.sku),l=Gj[s];return JT("li",{className:"flex items-baseline justify-between gap-6 bg-bg px-[18px] py-4",children:[Bt("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.14em] text-fg",children:c.size}),Bt("span",{className:`font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] ${l.className}`,style:l.style,children:Tl[s]})]},c.sku)})})]}):a?Bt("p",{className:"mt-9 border border-line bg-bg p-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.24em] text-fg-dim",children:"Checking your car\u2026"}):null}import{jsx as Lp,jsxs as QT}from"react/jsx-runtime";var Sp="Will it fit *your car?*",Ap="Pick your vehicle and we\u2019ll tell you which of these sizes matches what it came on.",Hp="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",Fp="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-0 max-[1100px]:pb-20";function Tp({num:e,title:t=Sp,description:a=Ap,escapeText:c,escapeHref:s,omitHead:l=!1,slug:o,variants:r,onAnswer:i}){let n=E3({autoApply:!0}),{answer:h,loading:m}=Hl(o,Ra(n.applied?.vehicle)),p=Wj(i);return p.current=i,qj(()=>{p.current?.(h)},[h]),QT("section",{className:l?Fp:Hp,children:[l?null:Lp(j1,{num:e,title:t,description:a,accent:!0}),Lp(i3,{cascade:n.cascade}),c&&s?QT("a",{href:s,className:"mt-6 inline-block font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-accent underline-offset-4 hover:underline",children:[c," \u2192"]}):null,Lp(Cp,{variants:r,answer:h,loading:m})]})}import{jsx as Nt,jsxs as $j}from"react/jsx-runtime";var Uj=["tyre"];function Vp(e){return Nt(e2,{kinds:Uj,type:"TyreFitment",editing:e.editing,children:Nt(Kj,{...e})})}function Kj({num:e,title:t,description:a,escapeText:c,escapeHref:s,omitHead:l=!1,editing:o=!1}){let r=A0(),i=O2(o&&!r),n=r?.product??i,h=n?.kind==="tyre"?n.source:null;return!h||h.variants.length===0?o?$j("section",{className:l?Fp:Hp,children:[l?null:Nt(j1,{num:e,title:t||Sp,description:a||Ap,accent:!0}),Nt("p",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"The vehicle question appears here on a tyre product page, with one verdict per size."})]}):null:Nt(Tp,{num:e,title:t||void 0,description:a||void 0,escapeText:c,escapeHref:s,omitHead:l,slug:h.slug,variants:h.variants})}import{jsx as jj}from"react/jsx-runtime";var eV={label:"Tyre Fitment Form",defaultProps:{num:"",title:"",description:"",escapeText:"",escapeHref:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=l=>t?void 0:l,c=Y(e.escapeText),s=Y(e.escapeHref);return jj(Vp,{num:a(x(e.num,M0.num,e.puck)),title:a(x(e.title,L.sectionHeading,e.puck)),description:a(x(e.description,L.body,e.puck)),escapeText:c,escapeHref:s,omitHead:t,editing:e.puck?.isEditing})}};import{jsx as S6,jsxs as cV}from"react/jsx-runtime";var tV="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",aV="mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-0 max-[1100px]:pb-20",Yj=[],Xj=["tyre"];function Pp(e){return S6(e2,{kinds:Xj,type:"TyreSizes",editing:e.editing,children:S6(Jj,{...e})})}function Jj({num:e,title:t,description:a,editing:c=!1,omitHead:s=!1}){let l=A0(),o=O2(c&&!l),r=l?.product??o,i=r?.kind==="tyre"?r.source.variants:[],n=s?null:S6(j1,{num:e?k(e):void 0,title:U(t||"Available *sizes.*",!1),description:k(a||"Every size this tyre is made in, with its own price and stock."),accent:!0});if(i.length===0)return c?cV("section",{className:s?aV:tV,children:[n,S6("p",{className:"border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:"This product\u2019s sizes appear here on a product page."})]}):null;let h=i.some(m=>!m.image);return cV("section",{className:s?aV:tV,children:[n,S6(Qj,{variants:i,fieldUsage:l?.fieldUsage??Yj}),S6(B5,{text:h?Ia:""})]})}function Qj({variants:e,fieldUsage:t}){let{currency:a,formatPrice:c}=F0();return S6("div",{className:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:e.map(s=>S6(nt,{fieldUsage:t,size:s.size,specs:s.specs,prices:s.prices,image:s.image,inStock:s.inStock,currency:a,formatPrice:c},s.sku))})}import{jsx as eY}from"react/jsx-runtime";var sV={label:"Tyre Sizes",defaultProps:{num:"",title:"",description:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return eY(Pp,{num:a(x(e.num,M0.num,e.puck)),title:a(x(e.title,L.sectionHeading,e.puck)),description:a(x(e.description,L.body,e.puck)),omitHead:t,editing:e.puck?.isEditing})}};var lV={AlloyWheelsListing:qS,BrandStrip:qF,BundleOffer:jF,CartBlock:aT,CatalogFilterBar:dT,CheckoutCTA:rA,CollectionCard:vT,Collections:uA,CompatibleTyres:RA,CountrySwitchBlock:fT,DeliveryOptions:GA,DetailRows:cH,EuTyreLabel:bT,FitmentFinder:hH,FitmentTable:FH,Gallery:ZH,GalleryB:UH,GalleryItem:zT,Header:wT,ProductGrid:cF,ProductHero:jT,ProductRef:YT,RelatedProducts:wF,SearchBlock:XT,SpecTable:NF,TyreFitment:eV,TyreSizes:sV};var tY={AlloyWheelsListing:KS,BrandStrip:JS,BundleOffer:QS,CartBlock:eA,CatalogFilterBar:lA,CheckoutCTA:iA,CollectionCard:mA,Collections:dA,CompatibleTyres:_A,CountrySwitchBlock:DA,DeliveryOptions:WA,DetailRows:lH,EuTyreLabel:oH,FitmentFinder:mH,FitmentTable:TH,Gallery:_H,GalleryB:KH,GalleryItem:QH,Header:eF,ProductGrid:lF,ProductHero:dF,ProductRef:xF,RelatedProducts:yF,SearchBlock:kF,SpecTable:IF,TyreFitment:RF,TyreSizes:_F},w0=D8(lV,tY);import{jsx as y3,jsxs as Rl}from"react/jsx-runtime";function Bp(e={}){let t=Wz();return y3(rz,{editing:e.editing,previewConfirmation:!!e.nodeId&&t===e.nodeId,children:y3(aY,{...e})})}var oV="mx-auto max-w-[var(--sf-site-width,1600px)] px-[min(24px,var(--sf-site-gutter,40px))] py-16 min-[800px]:px-[var(--sf-site-gutter,40px)] min-[800px]:py-[88px]",Ep="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function aY({eyebrow:e,heading:t,intro:a,buttonLabel:c,successMessage:s,boxes:l,inBoxes:o=!1}){let{fieldPrefix:r,editing:i,services:n,currency:h,serviceId:m,setServiceId:p,requiresPayment:u,date:d,earliestDate:g,setDate:z,setDateTouched:f,availability:b,loadingSlots:y,noSlotsMessage:C,selectedStart:S,setSelectedStart:H,customerTimezone:_,name:Z,setName:q,email:j,setEmail:B,phone:N,setPhone:D,notes:T,setNotes:R,confirmation:i1,submitting:O,error:m1,canSubmit:Q,handleSubmit:K,sample:a1}=oz(),B1=a1?y3("p",{className:"mb-6 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:"Example form \u2014 add an active service in Storefront \u2192 Booking Services."}):null,X=n===void 0?y3("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments\u2026"}):n?.length===0?y3("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:i?"Add an active service in Storefront \u2192 Booking Services.":"Appointments are not available right now."}):null;return o&&l?y3("section",{className:"relative z-[2] border-t border-line bg-surface",children:Rl("div",{className:oV,children:[B1,i1?y3(l,{className:`${Ep} items-start`}):Rl("form",{onSubmit:K,children:[y3(l,{className:`${Ep} items-start`}),X]})]})}):y3("section",{className:"relative z-[2] border-t border-line bg-surface",children:Rl("div",{className:oV,children:[B1,y3(iz,{eyebrow:e,heading:t,intro:a}),i1?y3(mz,{successMessage:s}):X||Rl("form",{onSubmit:K,className:Ep,children:[y3(nz,{}),y3(hz,{buttonLabel:c})]})]})})}import{jsx as cY}from"react/jsx-runtime";var Np={boxes:{type:"slot",allow:["BookingBox"]}},rV={label:"Booking Form",fields:Np,defaultProps:{eyebrow:"",heading:"",intro:"",buttonLabel:"",successMessage:""},render:e=>cY(Bp,{eyebrow:x(e.eyebrow,L.eyebrow,e.puck),heading:x(e.heading,L.heading,e.puck),intro:x(e.intro,L.body,e.puck),buttonLabel:x(e.buttonLabel,L.button,e.puck),successMessage:x(e.successMessage,L.bookingConfirmation,e.puck),boxes:e.boxes,inBoxes:e.layout==="boxes",nodeId:typeof e.id=="string"?e.id:void 0,editing:e.puck?.isEditing})};var iV={fields:{_gContent:v("Content"),eyebrow:P("Eyebrow"),heading:C1("Heading"),intro:C1("Introduction"),buttonLabel:P("Submit button"),successMessage:C1("Confirmation message"),boxes:Np.boxes},resolveFields:(e,{fields:t})=>{if(e.props.layout!=="boxes")return t;let{eyebrow:a,heading:c,intro:s,buttonLabel:l,successMessage:o,...r}=t;return r}};var nV={fields:{_gTextStyle:v("Text style"),...Object.fromEntries(er.map(e=>[ar[e],h1(tr[e],_8(tr[e]),[{label:"Section's own",value:""},...K7.map(t=>({label:$7[t],value:t}))],"")])),_gContent:v("Content"),eyebrow:P("Eyebrow"),heading:C1("Heading"),intro:C1("Introduction"),buttonLabel:P("Submit button"),successMessage:C1("Confirmation message")},resolveFields:(e,{fields:t})=>{let a=e.props.region,c=t,s=er.map(o=>ar[o]),l=o=>Object.fromEntries(Object.entries(c).filter(([r])=>r.startsWith("_")||s.includes(r)||o.includes(r)));return l(a==="head"?["eyebrow","heading","intro"]:a==="details"?["buttonLabel"]:a==="confirm"?["successMessage"]:[])}};import{EyeIcon as sY,LinkIcon as hV,EyeOffIcon as lY}from"efficient-easel/icons";import{jsx as Zt}from"react/jsx-runtime";var mV={fields:{_gTop:v("Routing groups"),routingNumber:A("Section number",J1.routingNumber),routingTagline:A("Eyebrow",J1.routingTagline),groups:{type:"array",label:"Groups",arrayFields:{eyebrow:P("Eyebrow"),title:C1("Title"),copy:C1("Body"),response:P("Response time")},getItemSummary:e=>e?.title||e?.eyebrow||"Group"},_gForm:v("Message form"),formSlug:x4(),formNumber:A("Section number",J1.formNumber),formHeading:V("Heading",J1.formHeading),metaItems:r2("Meta lines",Zt(g3,{noun:"meta"}),"Encrypted in transit","verbatim"),_gOther:v("\u201COther\u201D reason"),showOther:e1("Show \u201COther\u201D reason",J1.showOther,Zt(sY,{})),otherLabel:P("\u201COther\u201D chip label",J1.otherLabel),otherNoteTitle:A("\u201COther\u201D note title",J1.otherNoteTitle),otherNoteBody:V("\u201COther\u201D note body",J1.otherNoteBody),_gSubmit:v("Submit button"),buttonText:P("Submit button",J1.buttonText),consent:V("Consent line",J1.consent),_gChannels:v("Contact info"),channels:{type:"array",label:"Channels",arrayFields:{label:P("Label"),value:P("Value"),href:L2(P("Link")),sub:P("Sub line"),groupId:h1("Link to group",Zt(hV,{}),[{label:"\u2014 Not linked \u2014",value:""},...J1.groups.map(e=>({label:e.title,value:e.id}))],""),hidden:e1("Hidden",!1,Zt(lY,{}))},getItemSummary:e=>`${e?.label||e?.value||"Channel"}${e?.hidden?" \xB7 hidden":""}`}},resolveData:e=>{let t=e.props.groups??[];if(!t.some(s=>!s?.id))return e;let a=new Set,c=t.map((s,l)=>{if(s?.id)return a.add(s.id),s;let o=Wr(s?.title)||`group-${l+1}`;for(;a.has(o);)o=`${o}-${l+1}`;return a.add(o),{...s,id:o}});return{...e,props:{...e.props,groups:c}}},resolveFields:(e,{fields:t})=>{let a=e.props.groups??[],c=[{label:"\u2014 Not linked \u2014",value:""},...a.map((o,r)=>({label:o?.title||o?.eyebrow||`Group ${r+1}`,value:o?.id||Wr(o?.title)||`group-${r+1}`}))],s=t,l=s.channels;return l?.type==="array"&&l.arrayFields&&(s.channels={...l,arrayFields:{...l.arrayFields,groupId:h1("Link to group",Zt(hV,{}),c,"")}}),t}};import{useEffect as oY,useRef as rY,useState as iY}from"react";import{Fragment as uY,jsx as Zp,jsxs as gY}from"react/jsx-runtime";var nY=12,_l=null,pV=null;function hY(e=!1){let t=Z2();if((e||pV!==t)&&(_l=null),!_l){let a=p4();pV=t,_l=h4.listBlogPosts(a,{visibleOnly:!0,siteId:t}).catch(()=>null)}return _l}function mY(e){if(!e)return"";let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"2-digit"})}function pY(e){return{slug:e.slug,title:e.title,excerpt:e.excerpt,cover:e.cover_image?ia(e.cover_image)??"":"",meta:e.category||void 0,dateLabel:mY(e.published_at)||void 0}}function V7({value:e,onChange:t,snapshotCount:a=nY}){let[c,s]=iY("idle"),l=Array.isArray(e),o=l?e.length:0,r=rY(!0),i=h=>{s("loading"),hY(h).then(m=>{if(!r.current)return;if(m===null){s("error");return}s("idle");let p=m.slice(0,a).map(pY);a5(p,e??null)&&t(p)})};oY(()=>(r.current=!0,i(!1),()=>{r.current=!1}),[]);let n=c==="loading"?"Syncing from Storefront \u2192 Blog\u2026":c==="error"?"Couldn\u2019t reach Storefront \u2192 Blog.":l?`Auto-synced from Storefront \u2192 Blog \xB7 ${o} post${o===1?"":"s"}`:"Linking to Storefront \u2192 Blog\u2026";return gY("div",{children:[Zp(d8,{label:"Blog posts"}),Zp(v3,{status:c,statusText:n,onRefresh:()=>i(!0),busy:c==="loading",spaced:!1,hint:Zp(uY,{children:"Auto-refreshes from the most-recent visible posts each time you open the editor. Set how many appear with \u201CPosts to display\u201D."})})]})}import{jsx as H9,jsxs as dV}from"react/jsx-runtime";var uV=3,vV="featured",fV=[{label:"Even grid",value:"even"},{label:"Featured first",value:vV}],bV="even",k5={min:2,max:11,step:1,fallback:7,unit:"of 12"},dY="bottom-left",vY=55,fY="bottom";function bY(e){let t=typeof e=="number"?e:Number.parseFloat(String(e??"")),a=Number.isFinite(t)?Math.min(k5.max,Math.max(k5.min,Math.round(t))):k5.fallback;return`${a}fr ${12-a}fr`}var gV={1:"grid-cols-1",2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[800px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1"},zY="relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] py-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-[70px]",xY="relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] pt-0 pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-0 max-[800px]:pb-[70px]";function Ip({num:e,title:t,link:a,posts:c,columns:s,limit:l,showAll:o=!1,editing:r=!1,cardImage:i,gap:n,layout:h,featuredWidth:m,listCover:p=!0,featuredDarken:u,omitHead:d=!1}){let g=c??[],z=o?g.length:typeof l=="number"&&l>0?l:uV,f=g.slice(0,z),b=r&&f.length===0;if(f.length===0&&!r)return null;let y=b?Array.from({length:o?uV:z},(_,Z)=>({slug:`placeholder-${Z}`,title:"Blog post title",excerpt:"A short summary of the post appears here.",cover:"",meta:"Journal",dateLabel:"Date"})):f,C=L3("Events",n,"both"),S=h===vV&&y.length>1,H=bY(m);return dV("section",{className:d?xY:zY,style:U2(i),children:[d?null:H9(j1,{num:e!==void 0?k(e):void 0,title:t!==void 0?U(t,!1):void 0,link:a?{text:k(a.text),href:a.href}:void 0}),S?dV("div",{className:`sf-card-grid grid grid-cols-[var(--sf-events-split)] max-[800px]:grid-cols-1${C.className}`,style:{...C.style,"--sf-events-split":H},children:[H9(r7,{post:y[0],scaffold:b,layout:"cover",darken:u??vY,darkenStyle:fY,placement:dY},`${y[0].slug}-0`),H9("div",{className:`grid auto-rows-min${C.className}`,style:C.style,children:y.slice(1).map((_,Z)=>H9(r7,{post:_,scaffold:b,showCover:p},`${_.slug}-${Z+1}`))})]}):H9("div",{className:`sf-card-grid grid${C.className} ${gV[Math.min(4,Math.max(1,s??3))]??gV[3]}`,style:C.style,children:y.map((_,Z)=>H9(r7,{post:_,scaffold:b},`${_.slug}-${Z}`))})]})}import{LayoutIcon as yY,ColumnsIcon as kY,WidthIcon as MY,ImageIcon as CY,OpacityIcon as LY,ListIcon as SY,HashIcon as AY}from"efficient-easel/icons";import{jsx as wY}from"react/jsx-runtime";var P7={num:L.sectionNumber,title:"Section title",link:L.viewAll},zV={label:"Latest Posts",defaultProps:{num:"",title:"",linkText:"",linkHref:"/journal",columns:3,limit:3,showAll:!1},render:e=>{let t=P1(e.headPlacement)==="own-box",a=s=>t?void 0:s,c=x(e.linkText,P7.link,e.puck);return wY(Ip,{num:a(x(e.num,P7.num,e.puck)),title:a(x(e.title,P7.title,e.puck)),link:a(c?{text:c,href:Y(e.linkHref)||"/journal"}:void 0),omitHead:t,posts:e.posts,columns:e.columns,limit:e.limit,showAll:e.showAll,layout:e.layout,featuredWidth:e.featuredWidth,listCover:e.listCover,featuredDarken:e.featuredDarken,cardImage:e.cardImage,gap:e.gap,editing:e.puck?.isEditing})}};import{jsx as E7}from"react/jsx-runtime";var HY=50,xV={fields:{_gContent:v("Content"),num:A("Number",P7.num),title:V("Heading",P7.title),linkText:A("Button",P7.link),linkHref:w1("Link"),_gPosts:v("Blog posts"),posts:E0(V7,{snapshotCount:HY}),_gLayout:v("Layout"),layout:h1("Arrangement",E7(yY,{}),fV,bV),columns:J("Columns",E7(kY,{}),2,4,1,3),featuredWidth:J("Featured width",E7(MY,{}),k5.min,k5.max,k5.step,k5.fallback,k5.unit),listCover:e1("Show cover image on the smaller cards",!0,E7(CY,{})),featuredDarken:J("Darken",E7(LY,{}),i2.min,i2.max,i2.step,55,i2.unit),gap:t3("Events"),showAll:e1("Show all blog posts",!1,E7(SY,{})),limit:J("Posts to display",E7(AY,{}),1,20,1,3),cardImage:D5()},resolveFields:(e,{fields:t,parent:a})=>{let c=e.props,s={...t},l=o=>E1(Z1(o,a,R1),e.props.headPlacement,F1.Events.headRows);if(c.showAll&&delete s.limit,c.layout==="featured")delete s.columns;else for(let o of["featuredWidth","listCover","featuredDarken"])delete s[o];return l(s)}};import{SettingsField as FY,SettingsSwitch as TY}from"efficient-easel/panel";import{BlockColumnIcon as VY}from"efficient-easel/icons";import{Fragment as PY,jsx as Dl,jsxs as EY}from"react/jsx-runtime";function Rp({value:e,onChange:t}){let a=g4(),c={...X7,...e},s=c[a];return Dl(FY,{label:"Logo fills its column",icon:Dl(VY,{}),action:Dl(TY,{checked:s,onChange:l=>t({...c,[a]:l}),ariaLabel:`Logo fills its column on ${d4[a]}`}),hint:EY(PY,{children:["Sets the ",Dl("strong",{children:d4[a]})," view \u2014 switch views in the top bar to set each one."]})})}import{SettingsField as BY,SettingsSwitch as NY}from"efficient-easel/panel";import{FullWidthIcon as ZY}from"efficient-easel/icons";import{Fragment as IY,jsx as Ol,jsxs as RY}from"react/jsx-runtime";function _p({value:e,onChange:t}){let a=g4(),c={...J7,...e},s=c[a];return Ol(BY,{label:"Logo fills its row",icon:Ol(ZY,{}),action:Ol(NY,{checked:s,onChange:l=>t({...c,[a]:l}),ariaLabel:`Logo fills its row on ${d4[a]}`}),hint:RY(IY,{children:["Sets the ",Ol("strong",{children:d4[a]})," view \u2014 switch views in the top bar to set each one."]})})}import{jsx as _Y}from"react/jsx-runtime";function Dp({value:e,onChange:t}){return _Y(Ye,{label:"Columns per line",unit:"columns",steps:Ag,value:ha(e),onChange:t})}import{useContext as DY,useEffect as OY,useRef as GY,useState as yV}from"react";import{jsx as F9,jsxs as wV}from"react/jsx-runtime";function It(){let e=JF();return wV("div",{className:"flex flex-wrap justify-between gap-x-6 gap-y-3 border-t border-line pt-6 font-mono text-[13px] uppercase tracking-[0.15em] text-fg-dim max-[800px]:flex-col max-[800px]:gap-3",children:[F9("span",{children:e}),wV("span",{className:"flex flex-wrap items-center gap-3",children:[F9("span",{children:"Privacy"}),F9("span",{"aria-hidden":!0,children:"\xB7"}),F9("span",{children:"Terms"}),F9("span",{"aria-hidden":!0,children:"\xB7"}),F9("span",{children:"Cookies"})]})]})}import{jsx as Op,jsxs as UY}from"react/jsx-runtime";var kV={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},qY={1:"min-[720px]:grid-cols-1",2:"min-[720px]:grid-cols-2",3:"min-[720px]:grid-cols-3",4:"min-[720px]:grid-cols-4",5:"min-[720px]:grid-cols-5",6:"min-[720px]:grid-cols-6"},WY={1:"min-[1100px]:grid-cols-1",2:"min-[1100px]:grid-cols-2",3:"min-[1100px]:grid-cols-3",4:"min-[1100px]:grid-cols-4",5:"min-[1100px]:grid-cols-5",6:"min-[1100px]:grid-cols-6"};function Gp({blocks:e,editing:t=!1,width:a,columns:c,logoFill:s,logoRowFill:l}){let o=DY(J9),{desktop:r,tablet:i,mobile:n}=ha(c),{desktop:h,tablet:m,mobile:p}={...X7,...s},{desktop:u,tablet:d,mobile:g}={...J7,...l},z=g4(),b=t?kV[z==="desktop"?r:z==="tablet"?i:n]:`${kV[n]} ${qY[i]} ${WY[r]}`,y=GY(null),[C,S]=yV(1),[H,_]=yV(!1);if(OY(()=>{if(!t&&!o)return;let q=y.current;if(!q)return;let j=()=>{let i1=q.querySelector(".footer-block-grid");if(!i1)return;let O=t?z:cb(window.innerWidth),m1=O==="desktop"?u:O==="tablet"?d:g;_(m1);let Q=O==="desktop"?h:O==="tablet"?m:p,K=getComputedStyle(i1).gridTemplateColumns.split(" ").filter(Boolean).length-1,a1=Math.max(i1.childElementCount-1,0);S(!m1&&Q&&K>=1?Math.max(Math.ceil(a1/K),1):1)},B,N=()=>{clearTimeout(B),B=setTimeout(j,0)},D=[0,80,250,600].map(i1=>setTimeout(j,i1)),T=new MutationObserver(N);T.observe(q,{childList:!0,subtree:!0});let R=new ResizeObserver(N);return R.observe(q),()=>{clearTimeout(B),D.forEach(clearTimeout),T.disconnect(),R.disconnect()}},[r,i,n,t,o,z,h,m,p,u,d,g]),!t&&!o)return null;let Z=Jg(Qg(a))??void 0;return Op("footer",{ref:y,className:"border-t border-line bg-bg px-[var(--sf-site-gutter,40px)] pb-10 pt-20 max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-14",style:{"--footer-logo-rows":C,"--footer-logo-col":H?"1 / -1":"1"},children:UY("div",{style:Z,children:[Op(e,{className:`footer-block-grid mb-[60px] grid items-start gap-x-10 gap-y-12 ${b}`,minEmptyHeight:160}),Op(It,{})]})})}import{jsx as KY}from"react/jsx-runtime";var qp={blocks:{type:"slot",allow:["FooterLogo","FooterMenu","FooterDivider","FooterGroup","FooterText","FooterEmailSignup","FooterSocial"]}},MV={label:"Footer",fields:qp,defaultProps:{columns:Hg,logoFill:X7,logoRowFill:J7},render:({blocks:e,width:t,columns:a,logoFill:c,logoRowFill:s,puck:l})=>KY(Gp,{blocks:e,width:t,columns:a,logoFill:c,logoRowFill:s,editing:l?.isEditing})};import{jsx as Gl}from"react/jsx-runtime";var CV={fields:{_gLayout:v("Layout"),width:{type:"custom",render:({value:e,onChange:t})=>Gl(re,{value:e==="full"?"full":e==="page"||e==="content"?"content":void 0,resolved:"content",followsLabel:"Follows the page",hint:"Whether the footer's blocks sit on the page's column, or run edge to edge. The background always spans the screen.",onChange:a=>t(a)})},columns:{type:"custom",render:({value:e,onChange:t})=>Gl(Dp,{value:e,onChange:t})},logoFill:{type:"custom",render:({value:e,onChange:t})=>Gl(Rp,{value:e,onChange:t})},logoRowFill:{type:"custom",render:({value:e,onChange:t})=>Gl(_p,{value:e,onChange:t})},_gBlocks:v("Blocks"),blockList:N0("Footer"),blocks:qp.blocks}};import{WeightIcon as $Y,WidthIcon as jY,PhoneIcon as YY}from"efficient-easel/icons";import{jsx as Wp}from"react/jsx-runtime";var LV={fields:{_gStyle:v("Style"),thickness:J("Thickness",Wp($Y,{}),1,8,1,1,"px"),lengthPct:J("Length",Wp(jY,{}),10,100,1,100,"%"),hideOnMobile:e1("Hide on mobile",!1,Wp(YY,{}))}};var SV={fields:{_gContent:v("Content"),heading:C1("Heading","Join our email list"),placeholder:P("Field placeholder","Email address"),buttonLabel:P("Button","Subscribe")}};import{AlignLeftIcon as QY}from"efficient-easel/icons";import{jsx as AV}from"react/jsx-runtime";var XY={start:"items-start",center:"items-center",end:"items-end"};function Up({direction:e="vertical",gap:t,align:a="start",content:c}){let s=L3("FooterGroup",t,e==="horizontal"?"inline":"block");return AV("div",{className:"min-w-0",children:AV(c,{className:`flex ${e==="horizontal"?"flex-row flex-wrap":"flex-col"} ${XY[a]}${s.className}`,style:s.style,minEmptyHeight:80})})}import{jsx as JY}from"react/jsx-runtime";var Kp={blocks:{type:"slot",allow:["FooterText","FooterEmailSignup","FooterMenu","FooterDivider","FooterSocial"]}},HV={label:"Footer Box",fields:Kp,defaultProps:{direction:"vertical",align:"start"},render:({direction:e,gap:t,align:a,blocks:c})=>JY(Up,{direction:e,gap:t,align:a,content:c})};import{jsx as eX}from"react/jsx-runtime";var FV={fields:{_gLayout:v("Layout"),direction:p1("Direction",O6("`Direction` names how a container's children run \u2014 a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),[{label:"Vertical",value:"vertical"},{label:"Horizontal",value:"horizontal"}],"vertical"),gap:t3("FooterGroup"),align:p1("Alignment",eX(QY,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),_gBlocks:v("Blocks"),blockList:N0("FooterGroup"),blocks:Kp.blocks}};import{WidthIcon as tX,AlignLeftIcon as aX,LogoIcon as cX,PaddingTopIcon as sX,PaddingRightIcon as lX,PaddingBottomIcon as oX,PaddingLeftIcon as rX}from"efficient-easel/icons";import{jsx as B7}from"react/jsx-runtime";var TV={fields:{_gContent:v("Content"),tagline:C1("Body","Short brand tagline"),_gStyle:v("Style"),widthPct:J("Width",B7(tX,{}),40,400,1,100,"%"),align:p1("Alignment",B7(aX,{}),[{label:"Start",value:"left"},{label:"Center",value:"center"},{label:"End",value:"right"}],"left"),reverse:p1("Logo color",B7(cX,{}),[{label:"Auto contrast",value:"auto"},{label:"As uploaded",value:"off"}],"auto"),padTop:J("Padding top",B7(sX,{}),0,120,2,0,"px"),padRight:J("Padding right",B7(lX,{}),0,120,2,0,"px"),padBottom:J("Padding bottom",B7(oX,{}),0,120,2,0,"px"),padLeft:J("Padding left",B7(rX,{}),0,120,2,0,"px")}};import{SettingsField as iX}from"efficient-easel/panel";import{MenuIcon as nX}from"efficient-easel/icons";import{useCallback as hX,useEffect as VV,useState as $p}from"react";import{jsx as T9,jsxs as Rt}from"react/jsx-runtime";function jp({value:e,onChange:t}){let[a,c]=$p(null),[s,l]=$p(!1),o=hX(f=>{c(f),l(!0)},[]);VV(()=>{let f=!1;return Jo(p4()).then(b=>{f||o(b)}).catch(()=>{f||c([])}),()=>{f=!0}},[o]),VV(()=>{let f=!1,b=hf(()=>{Bb(p4()).then(y=>{f||o(y)}).catch(()=>{})});return()=>{f=!0,b()}},[o]);let r=a===null,i=!!(e?.id||e?.handle),n=s&&i&&!yc(a??[],e),h=!i&&(e?.items?.length??0)>0,m=n?"":yc(a??[],e)?.id??"",p=f=>t({id:f.id,handle:f.handle,name:f.name,items:f.items.map(b=>({label:b.label,url:b.url}))}),u=f=>{if(!f){t(null);return}let b=(a??[]).find(y=>y.id===f);b&&p(b)},[d,g]=$p(!1),z=()=>{i&&(g(!0),Jo(p4(),!0).then(f=>{o(f);let b=yc(f,e);b&&p(b)}).catch(()=>{}).finally(()=>g(!1)))};return Rt("div",{children:[T9(iX,{label:"Menu",icon:T9(nX,{}),hint:!r&&a&&a.length===0?"Create menus in Storefront \u2192 Menus, then pick one here.":void 0,children:Rt("select",{value:m,onChange:f=>u(f.target.value),disabled:r||(a?.length??0)===0,children:[T9("option",{value:"",children:r?"Loading menus\u2026":a&&a.length===0?"No menus found":"Select a menu\u2026"}),(a??[]).map(f=>Rt("option",{value:f.id,children:[f.name," (",f.item_count??f.items.length,")"]},f.id))]})}),h?T9("p",{className:"mt-1.5 text-[12px] text-[var(--sf-warning,#b45309)]",children:yf}):null,n?T9("p",{className:"mt-1.5 text-[12px] text-[var(--sf-warning,#b45309)]",children:kf(e?.name??"The linked menu")}):null,i&&!n?Rt("div",{className:"mt-1.5 flex items-center justify-between gap-2",children:[Rt("p",{className:"text-[12px] text-fg-dim",children:["Linked to \u201C",e?.name,"\u201D \u2014 ",e?.items?.length??0," link",(e?.items?.length??0)===1?"":"s",". Re-pull after editing the menu:"]}),T9("button",{type:"button",className:"shrink-0 text-[12px] font-medium text-[var(--sf-accent,#0f7c4f)] underline-offset-2 hover:underline disabled:opacity-50",onClick:z,disabled:d,children:d?"Updating\u2026":"Update links"})]}):null]})}import{PhoneIcon as mX,LineBetweenIcon as pX}from"efficient-easel/icons";import{jsx as Yp}from"react/jsx-runtime";var PV={fields:{_gContent:v("Content"),menu:{type:"custom",render:({value:e,onChange:t})=>Yp(jp,{value:e,onChange:t})},heading:P("Heading","Column heading"),_gStyle:v("Style"),accordionMobile:e1("Show as accordion on mobile",!1,Yp(mX,{})),showDividers:e1("Dividers between links",!1,Yp(pX,{}))}};import{jsx as _t}from"react/jsx-runtime";var EV={small:16,medium:20,large:24},Xp=0,Jp=32,NV=2,Dt=0,BV={start:"justify-start",center:"justify-center",end:"justify-end"};function Qp({iconStyle:e=T8,iconSize:t="medium",align:a="start",gap:c=Dt,editing:s=!1}){let l=YF(),o=Nf(Bf(l));if(o.length===0)return s?_t("div",{"data-social-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:"Add your social links"}):null;let r=EV[t]??EV.medium,n={gap:Math.min(Jp,Math.max(Xp,Number.isFinite(c)?c:0)),"--social-mark":`${r}px`};return _t("ul",{"data-social-block":"","aria-label":"Social media",className:`flex list-none flex-wrap p-0 [margin:calc((44px-var(--social-mark))/-2)] max-[800px]:[margin:calc((40px-var(--social-mark))/-2)] ${BV[a]??BV.start}`,style:n,children:o.map(({platform:h,href:m,label:p})=>_t("li",{children:_t("a",{href:m,target:"_blank",rel:"noopener noreferrer","aria-label":`${p} (opens in a new tab)`,className:"grid h-11 w-11 place-items-center rounded text-fg transition-colors hover:text-accent focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-4px] focus-visible:outline-current motion-reduce:transition-none max-[800px]:h-10 max-[800px]:w-10",children:_t(Uz,{platform:h,iconStyle:e,size:r})})},h))})}import{Fragment as uX,jsx as eu,jsxs as gX}from"react/jsx-runtime";function tu(){let{openPanel:e}=Bc();return gX(uX,{children:[eu(d8,{label:"Social links"}),eu("p",{className:"sf-field-hint",children:"The links are typed once for the whole website, in Site settings."}),eu("button",{type:"button",className:"sf-part-link",onClick:e,children:"Edit social links \u2192"})]})}import{StylesIcon as dX,TextSizeIcon as vX,AlignLeftIcon as fX,GapIcon as bX}from"efficient-easel/icons";import{jsx as Ot}from"react/jsx-runtime";var ZV={fields:{_gStyle:v("Style"),iconStyle:p1("Icon style",Ot(dX,{}),[{label:"Outline",value:"outline"},{label:"Solid",value:"solid"}],T8),iconSize:p1("Icon size",Ot(vX,{}),[{label:"Small",value:"small"},{label:"Medium",value:"medium"},{label:"Large",value:"large"}],"medium"),_socialLinks:{type:"custom",render:()=>Ot(tu,{})},_gLayout:v("Layout"),align:p1("Alignment",Ot(fX,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),gap:J("Gap",Ot(bX,{}),Xp,Jp,NV,Dt,"px")}};import{TextSizeIcon as zX}from"efficient-easel/icons";import{jsx as xX}from"react/jsx-runtime";var IV={fields:{_gContent:v("Content"),text:C1("Body","Footer text"),_gStyle:v("Style"),size:p1("Size",xX(zX,{}),[{label:"S",value:"sm"},{label:"M",value:"md"},{label:"L",value:"lg"}],"md"),tone:Jc()}};var RV={fields:{_gForm:v("Form"),formSlug:x4(),_gContent:v("Content"),heading:P("Heading override"),intro:C1("Intro"),submitText:P("Submit button"),finePrint:P("Fine print")}};var _V={fields:{}};var ql="e.g. D00123 \xB7 blank = the whole store";import{useState as A6}from"react";import{Fragment as kX,jsx as k2,jsxs as V9}from"react/jsx-runtime";var Wl="w-full border-2 border-line bg-bg px-4 py-3.5 font-display text-[17px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent",wX="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",yX="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function Ul({label:e,children:t}){return V9("label",{className:"flex flex-col gap-2",children:[k2("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-fg",children:e}),t]})}function au({eyebrow:e,title:t,designCode:a,omitHead:c=!1,editing:s=!1}={}){let[l,o]=A6(""),[r,i]=A6(""),[n,h]=A6(0),[m,p]=A6(""),[u,d]=A6(""),[g,z]=A6(!1),[f,b]=A6(!1),[y,C]=A6(null);async function S(H){if(H.preventDefault(),!(s||g)){if(n<1){C("Choose a star rating.");return}z(!0),C(null);try{await D0.submitReview({authorName:l.trim(),...r.trim()?{email:r.trim()}:{},rating:n,...m.trim()?{title:m.trim()}:{},body:u.trim(),...a?.trim()?{designCode:a.trim()}:{}}),b(!0)}catch{C("Something went wrong \u2014 your review wasn't sent. Please try again.")}finally{z(!1)}}}return k2("section",{className:"relative z-[2] border-t border-line bg-surface",children:V9("div",{className:c?yX:wX,children:[c?null:V9(kX,{children:[(e??"").trim()&&k2(I1,{text:e??"",scaled:!1,className:"mb-4 block"}),(t??"").trim()&&k2("h2",{className:"mb-11 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:U(t??"",!1)})]}),f?k2("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:"Thanks \u2014 your review will appear once approved."}):V9("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:S,children:[V9("div",{className:"grid grid-cols-2 gap-3 max-[640px]:grid-cols-1",children:[k2(Ul,{label:"Name",children:k2("input",{type:"text",required:!0,value:l,onChange:H=>o(H.target.value),className:Wl})}),k2(Ul,{label:"Email \u2014 never shown publicly",children:k2("input",{type:"email",value:r,onChange:H=>i(H.target.value),className:Wl})})]}),V9("div",{className:"flex flex-col gap-2",children:[k2("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-fg",children:"Rating"}),k2("div",{role:"group","aria-label":"Rating",className:"flex gap-1",children:[1,2,3,4,5].map(H=>k2("button",{type:"button","aria-pressed":n>=H,"aria-label":`${H} star${H===1?"":"s"}`,onClick:()=>{h(H),C(null)},className:["cursor-pointer text-[30px] leading-none transition-colors",n>=H?"text-accent":"text-fg-dim/30 hover:text-fg-dim"].join(" "),children:"\u2605"},H))})]}),k2(Ul,{label:"Review title (optional)",children:k2("input",{type:"text",value:m,onChange:H=>p(H.target.value),className:Wl})}),k2(Ul,{label:"Your review",children:k2("textarea",{required:!0,rows:5,value:u,onChange:H=>d(H.target.value),className:Wl+" resize-y"})}),y&&k2("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:y}),k2("button",{type:s?"button":"submit",disabled:g,className:"cursor-pointer self-start bg-btn px-8 py-4 font-mono text-[14px] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg hover:text-bg disabled:cursor-wait disabled:opacity-60",children:g?"Sending\u2026":"Submit review \u2192"})]})]})})}import{jsx as MX}from"react/jsx-runtime";var Gt={eyebrow:"Your turn",title:"Leave a *review.*"},DV={label:"Review Form",defaultProps:{eyebrow:"",title:"",designCode:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return MX(au,{eyebrow:a(x(e.eyebrow,Gt.eyebrow,e.puck)),title:a(x(e.title,Gt.title,e.puck)),omitHead:t,designCode:Y(e.designCode)||void 0,editing:e.puck?.isEditing})}};var OV={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",Gt.eyebrow),title:V("Heading",Gt.title),_gSource:v("Reviews"),designCode:L2(P("Design code",ql))},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.ReviewForm.headRows)};import{StylesIcon as PX,HashIcon as EX,ColumnsIcon as BX}from"efficient-easel/icons";import{useEffect as CX,useState as LX}from"react";function GV(e,t){let[a,c]=LX(null);return CX(()=>{let s=!1;return c(null),D0.listReviews({...e?{limit:e}:{},...t?{designCode:t}:{}}).then(l=>{s||c(l)}),()=>{s=!0}},[e,t]),a}import{Fragment as TX,jsx as I3,jsxs as Kl}from"react/jsx-runtime";var qV=[{id:"sample-review-1",authorName:"Sample reviewer",rating:5,title:"Sample review title",body:"Approved customer reviews appear here automatically \u2014 this card is only a preview of the section's shape.",designCode:"",createdAt:""},{id:"sample-review-2",authorName:"Sample reviewer",rating:4,title:"",body:"Reviews are collected by the Review Form section and wait for your approval before they show.",designCode:"",createdAt:""},{id:"sample-review-3",authorName:"Sample reviewer",rating:5,title:"Another sample",body:"Set a product design code on this section to show one product's reviews; leave it blank for the whole store.",designCode:"",createdAt:""}];function SX(e){let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-US",{month:"long",year:"numeric"})}function AX({rating:e}){let t=Math.min(5,Math.max(0,Math.round(e)));return I3("div",{role:"img","aria-label":`${t} out of 5 stars`,className:"flex gap-1 text-[length:var(--size-body,17px)] leading-none",children:Array.from({length:5}).map((a,c)=>I3("span",{"aria-hidden":!0,className:c<t?"text-accent":"text-fg-dim/30",children:"\u2605"},c))})}var HX="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",FX="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function cu({look:e,eyebrow:t,title:a,columns:c,limit:s,designCode:l,omitHead:o=!1,editing:r=!1}={}){let i=GV(s??6,l),n=Math.min(3,Math.max(1,c??3)),h=i&&i.length>0?i:r?qV:[],m=h===qV;return!r&&h.length===0?null:I3("section",{className:"relative z-[2] border-t border-line bg-surface",children:Kl("div",{className:o?FX:HX,children:[o?null:Kl(TX,{children:[(t??"").trim()&&I3(I1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&I3("h2",{className:"mb-11 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:U(a??"",!1)})]}),I3("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--rv-cols),minmax(0,1fr))]",style:{"--rv-cols":String(n)},children:h.map(p=>Kl("article",{className:["flex flex-col gap-4 bg-bg p-9 max-[800px]:p-7",m?"opacity-60":""].join(" "),children:[I3(AX,{rating:p.rating}),p.title.trim()&&I3("h3",{className:"font-display text-[length:var(--size-body,19px)] font-medium uppercase leading-[1.2] tracking-[-0.01em] text-fg",children:p.title}),I3("div",{className:"flex-1 font-serif text-[length:var(--size-body,15px)] leading-[1.65] text-fg-dim",children:m0(p.body).map((u,d)=>I3("p",{className:d?"mt-3":"",children:u},d))}),Kl("footer",{className:"flex items-baseline justify-between gap-4 border-t border-line pt-[18px]",children:[I3("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg",children:p.authorName}),I3("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:SX(p.createdAt)})]})]},p.id))})]})})}import{jsx as VX}from"react/jsx-runtime";var qt={eyebrow:"Reviews",title:"From our *customers.*"},WV={label:"Reviews",defaultProps:{eyebrow:"",title:"",columns:3,limit:6,designCode:""},render:e=>{let t=P1(e.headPlacement)==="own-box",a=c=>t?void 0:c;return VX(cu,{look:d3(e.eyebrowLook,"Reviews"),eyebrow:a(x(e.eyebrow,qt.eyebrow,e.puck)),title:a(x(e.title,qt.title,e.puck)),omitHead:t,columns:e.columns,limit:e.limit,designCode:Y(e.designCode)||void 0,editing:e.puck?.isEditing})}};import{jsx as su}from"react/jsx-runtime";var UV={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",qt.eyebrow),eyebrowLook:h1("Eyebrow style",su(PX,{}),[...F3],G5("Reviews")),title:V("Heading",qt.title),_gSource:v("Reviews"),limit:J("Reviews to display",su(EX,{}),3,12,1,6),designCode:L2(P("Design code",ql)),_gStyle:v("Style"),columns:J("Columns",su(BX,{}),1,3,1,3)},resolveFields:(e,{fields:t,parent:a})=>E1(Z1(t,a,R1),e.props.headPlacement,F1.Reviews.headRows)};import{jsx as lu,jsxs as NX}from"react/jsx-runtime";function Wt({place:e,sections:t,editing:a=!1}){let s=NX(e==="footer"?"footer":"div",{"data-section-group":e,children:[a?lu("p",{className:"px-5 pt-3 font-mono text-[11px] uppercase tracking-[0.15em] text-fg-dim",children:e==="header"?"Site header \u2014 above every page":"Site footer \u2014 below every page"}):null,lu(t,{minEmptyHeight:120})]});return e==="header"?lu(_x,{children:s}):s}import{jsx as ZX}from"react/jsx-runtime";var ou={sections:{type:"slot"}},KV={label:"Site Footer",fields:ou,render:({sections:e,puck:t})=>ZX(Wt,{place:"footer",sections:e,editing:t?.isEditing})};var $V={fields:{sections:ou.sections}};import{StickyIcon as RX,ContrastIcon as _X}from"efficient-easel/icons";import{jsx as IX}from"react/jsx-runtime";var ru={sections:{type:"slot"}},jV={label:"Site Header",fields:ru,defaultProps:{sticky:"always",topTextColor:"auto",sections:[]},render:({sections:e,puck:t})=>IX(Wt,{place:"header",sections:e,editing:t?.isEditing})};import{jsx as YV}from"react/jsx-runtime";var XV={fields:{sticky:p1("Sticky header",YV(RX,{}),[{label:"None",value:"none"},{label:"Always",value:"always"},{label:"On scroll up",value:"on_scroll_up"}],"always"),topTextColor:p1("Text color at the top",YV(_X,{}),[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],"auto"),sections:ru.sections}};import{jsx as $l,jsxs as DX}from"react/jsx-runtime";var e0={eyebrow:"Section number",title:"Show *us yours.*",body:"Tell people what they get for submitting, and what you do with what they send.",buttonText:"Submit \u2192",consent:"By submitting, you agree to our privacy policy. We never share contact details with third parties."};function Ut(e,t){return e===void 0?t:e}function iu({eyebrow:e,title:t,body:a,buttonText:c,consent:s,formSlug:l,form:o,editing:r=!1,boxes:i,inBoxes:n=!1,...h}){let m=Ut(e,e0.eyebrow),p=Ut(t,e0.title),u=Ut(a,e0.body),d=Ut(c,e0.buttonText),g=Ut(s,e0.consent),z=O5(l,o),f=A8({form:z,formSlug:l,editing:r}),b=z===void 0,y=!!z||r;return!y&&!m&&!p&&!u?null:n&&i?$l("section",{className:v0(h)?"border-y border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]":"mx-auto max-w-[var(--sf-site-width,1600px)] border-y border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]",children:$l(i,{className:"grid grid-cols-2 items-start gap-[60px] max-[1100px]:grid-cols-1 max-[1100px]:gap-9"})}):DX("section",{className:v0(h)?"grid grid-cols-2 items-end gap-[60px] border-y border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:grid-cols-1 max-[1100px]:gap-9 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]":"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-2 items-end gap-[60px] border-y border-line px-[var(--sf-site-gutter,40px)] py-[120px] max-[1100px]:grid-cols-1 max-[1100px]:gap-9 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]",children:[$l(vz,{eyebrow:m,title:p}),$l(fz,{body:u,buttonLabel:d,consent:g,form:z,submission:f,showForm:y,resolving:b,editing:r})]})}var JV={fields:{_gTextStyle:v("Text style"),...Object.fromEntries(cr.map(e=>[lr[e],h1(sr[e],_8(sr[e]),[{label:"Section's own",value:""},...K7.map(t=>({label:$7[t],value:t}))],"")])),_gContent:v("Content"),eyebrow:A("Eyebrow",e0.eyebrow),title:V("Heading",e0.title),body:V("Body",e0.body),formSlug:x4(),buttonText:A("Button",e0.buttonText),consent:V("Consent line",e0.consent)},resolveFields:(e,{fields:t})=>{let a=e.props.region,c=t,s=["eyebrow","title"],l=["body","formSlug","buttonText","consent"],o=cr.map(n=>lr[n]),r=a==="head"?s:l,i={};for(let[n,h]of Object.entries(c)){if(n.startsWith("_")){i[n]=h;continue}if(o.includes(n)){a!=="head"&&(i[n]=h);continue}r.includes(n)&&(i[n]=h)}return i}};import{jsx as OX}from"react/jsx-runtime";var nu={boxes:{type:"slot",allow:["SubmitBox"]}},QV={label:"Photo Submission Form",fields:nu,defaultProps:{eyebrow:e0.eyebrow,title:e0.title,body:e0.body,formSlug:"",buttonText:e0.buttonText,consent:e0.consent},render:e=>OX(iu,{boxes:e.boxes,inBoxes:e.layout==="boxes",eyebrow:V0(e.eyebrow,e0.eyebrow,e.puck),title:V0(e.title,e0.title,e.puck),body:V0(e.body,e0.body,e.puck),buttonText:V0(e.buttonText,e0.buttonText,e.puck),consent:V0(e.consent,e0.consent,e.puck),formSlug:Y(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing})};var eP={fields:{_gContent:v("Content"),eyebrow:A("Eyebrow",e0.eyebrow),title:V("Heading",e0.title),body:V("Body",e0.body),_gForm:v("Form"),formSlug:x4(),_gButton:v("Button"),buttonText:A("Button",e0.buttonText),_gFootnote:v("Footnote"),consent:V("Consent line",e0.consent),boxes:nu.boxes},resolveFields:(e,{fields:t})=>{if(e.props.layout!=="boxes")return t;let{_gContent:a,eyebrow:c,title:s,body:l,_gForm:o,formSlug:r,_gButton:i,buttonText:n,_gFootnote:h,consent:m,...p}=t;return p}};var GX=["issues","posts"],tP=[{label:"Issues",value:"issues"},{label:"Blog posts",value:"posts"}],hu="issues";function mu(e){return GX.includes(e)?e:hu}var qX={issues:["issues"],_gPosts:["posts"],posts:["posts"],limit:["posts"]};function aP(e,t){let a=mu(t),c={...e};for(let[s,l]of Object.entries(qX))l.includes(a)||delete c[s];return c}import{CategoryIcon as UX,HashIcon as KX}from"efficient-easel/icons";var b0={headNum:L.sectionNumber,headTitle:L.headingAccent,headDesc:"A short description of your newsletter or publication.",kicker:"\u2192 Newsletter",leadTitle:"Get it in the *inbox.*",intro:"Tell readers what they get and how often. One email, straight to the inbox. We will never sell your address.",emailPlaceholder:"your@email.com",submitText:"Subscribe \u2192",subscribedText:"Subscribed \u2713",finePrint:"Approx. 1 email per week \xB7 Unsubscribe in one click",issuesHeading:"Recent issues",archiveText:"View the full archive \u2192",archiveHref:j0.href},cP=[{n:"N\xB0 04",title:"Issue title",small:"Short description",date:"Month YYYY"},{n:"N\xB0 03",title:"Issue title",small:"Short description",date:"Month YYYY"},{n:"N\xB0 02",title:"Issue title",small:"Short description",date:"Month YYYY"},{n:"N\xB0 01",title:"Issue title",small:"Short description",date:"Month YYYY"}];function WX(e){return e.map((t,a)=>({n:`N\xB0 ${String(e.length-a).padStart(2,"0")}`,title:t.title,small:t.meta,date:t.dateLabel}))}function jl(e,t){if(e==="issues")return d1(t.issues,cP,t.puck);let a=t.posts,c=typeof t.limit=="number"&&t.limit>0?t.limit:4,s=Array.isArray(a)?WX(a.slice(0,c)):[];return d1(s,cP,t.puck)}import{jsx as sP}from"react/jsx-runtime";var lP={fields:{_sHead:K1("Section header"),_gHeadCopy:v("Content"),headNum:A("Number",b0.headNum),headTitle:V("Heading",b0.headTitle),headDesc:V("Body",b0.headDesc),_sLeft:K1("Newsletter panel"),_gLeftCopy:v("Content"),kicker:A("Eyebrow",b0.kicker),leadTitle:V("Heading",b0.leadTitle),intro:V("Intro",b0.intro),_gForm:v("Signup form"),emailPlaceholder:P("Email placeholder",b0.emailPlaceholder),submitText:P("Submit button",b0.submitText),subscribedText:P("Subscribed button",b0.subscribedText),finePrint:V("Fine print",b0.finePrint),_sRight:K1("Recent issues"),_gRightCopy:v("Content"),contentType:p1("Type",sP(UX,{}),[...tP],hu),issuesHeading:A("Panel heading",b0.issuesHeading),issues:{type:"array",label:"Issues",arrayFields:{n:n1("Number"),title:n1("Title"),small:n1("Sub-line"),date:n1("Date")},getItemSummary:e=>[e?.n,e?.title].filter(Boolean).join(" \xB7 ")||"Issue"},_gPosts:v("Blog posts"),posts:E0(V7),limit:J("Posts to display",sP(KX,{}),1,6,1,4),_gArchive:v("Archive link"),archiveText:A("Archive button",b0.archiveText),archiveHref:w1("Archive link")},resolveFields:(e,{fields:t})=>aP(t,e.props.contentType)};import{HashIcon as XX}from"efficient-easel/icons";import{useState as $X}from"react";import{jsx as m3,jsxs as N7}from"react/jsx-runtime";var jX="That didn't go through \u2014 please try again.";function Kt({headNum:e,headTitle:t,headDesc:a,kicker:c,leadTitle:s,intro:l,emailPlaceholder:o,submitText:r,subscribedText:i,finePrint:n,issuesHeading:h,issues:m,archiveText:p,archiveHref:u,source:d=A3.subscribeSection,editing:g=!1,...z}){let[f,b]=$X(""),{status:y,submit:C}=Kc({source:d,dryRun:g}),S=y==="sent",H=y==="sending",_=y==="error"||y==="invalid",Z=(m??[]).filter(N=>(N?.n??"").trim()||(N?.title??"").trim()||(N?.date??"").trim()),q=Z.length>0,j=S?i||"Subscribed \u2713":H?"Sending\u2026":r||"Subscribe \u2192";function B(N){N.preventDefault(),!S&&C({email:f})}return N7("section",{className:v0(z)?"border-b border-line px-[var(--sf-site-gutter,40px)] py-[140px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20":"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[140px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-20",children:[m3(n2,{num:e,title:t?U(t,!0):void 0,desc:a,accentTracking:"-0.025em"}),N7("div",{className:q?"grid min-h-[460px] grid-cols-[1.1fr_1fr] border border-line max-[1100px]:grid-cols-1":"grid min-h-[460px] grid-cols-1 border border-line",children:[N7("div",{className:q?"flex flex-col justify-center gap-6 border-r border-line px-14 py-16 max-[1100px]:border-r-0 max-[1100px]:border-b max-[1100px]:px-7 max-[1100px]:py-12":"flex flex-col justify-center gap-6 px-14 py-16 max-[1100px]:px-7 max-[1100px]:py-12",children:[c&&m3(I1,{text:c}),s&&m3("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,72px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.035em]",children:U(s,!0)}),l&&m3("p",{className:"max-w-[480px] font-serif text-[length:var(--size-body,19px)] italic leading-[1.5] text-fg-dim",children:k(l,!0)}),N7("form",{className:"mt-2 flex max-w-[520px]",onSubmit:B,children:[m3("input",{type:"email",placeholder:o||"your@email.com",required:!0,value:f,onChange:N=>b(N.target.value),disabled:S,className:"flex-1 border border-r-0 border-line bg-bg px-5 py-[18px] font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.18em] text-fg placeholder:text-fg-dim outline-none focus:border-accent"}),m3("button",{type:"submit",disabled:S||H,className:"border border-btn bg-btn px-7 py-[18px] font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-btn-ink transition-colors hover:bg-fg hover:border-fg disabled:cursor-default disabled:opacity-90",children:z0(j)})]}),_&&m3("p",{role:"alert",className:"max-w-[480px] font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.7] tracking-[0.18em] text-alert",children:jX}),n&&m3("p",{className:"max-w-[480px] font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.7] tracking-[0.18em] text-fg-dim",children:k(n)})]}),q&&N7("div",{id:"sub-recent-issues",className:"grid grid-rows-[auto_1fr_auto] gap-6 bg-[var(--journal-panel-bg)] px-11 py-12 scroll-mt-[160px] max-[1100px]:px-7 max-[1100px]:py-9",children:[h&&m3(I1,{text:h,size:12}),m3("div",{className:"flex flex-col",children:Z.map((N,D)=>N7("div",{className:["grid grid-cols-[60px_1fr_auto] items-start gap-[18px] border-b border-line py-[18px]",D===0?"border-t border-line":""].join(" "),children:[m3("span",{className:"font-mono text-[length:var(--size-label,13px)] tracking-[0.22em] text-accent",children:N.n?k(N.n):""}),N7("span",{className:"font-display text-[length:var(--size-body,16px)] font-medium leading-[1.3] tracking-[-0.01em]",children:[N.title?k(N.title):"",N.small?.trim()&&m3("small",{className:"mt-1 block font-serif text-[length:var(--size-body,13px)] font-normal italic text-fg-dim",children:k(N.small,!0)})]}),m3("span",{className:"whitespace-nowrap pt-[3px] text-right font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:N.date?k(N.date):""})]},D))}),p&&m3(i0,{href:u||"/journal",className:"flex items-center justify-end gap-2.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-accent hover:text-fg",children:k(p)})]})]})]})}import{jsx as YX}from"react/jsx-runtime";var H0={...b0,issuesHeading:"Recent posts",archiveText:"Read all posts \u2192"},oP={label:"Subscribe with Posts",defaultProps:{headNum:"",headTitle:"",headDesc:"",kicker:"",leadTitle:"",intro:"",emailPlaceholder:"",submitText:"",subscribedText:"",finePrint:"",issuesHeading:"",limit:4,archiveText:"",archiveHref:""},render:e=>{let t=jl("posts",e);return YX(Kt,{headNum:x(e.headNum,H0.headNum,e.puck),headTitle:x(e.headTitle,H0.headTitle,e.puck),headDesc:x(e.headDesc,H0.headDesc,e.puck),kicker:x(e.kicker,H0.kicker,e.puck),leadTitle:x(e.leadTitle,H0.leadTitle,e.puck),intro:x(e.intro,H0.intro,e.puck),emailPlaceholder:Y(e.emailPlaceholder)||H0.emailPlaceholder,submitText:Y(e.submitText)||H0.submitText,subscribedText:Y(e.subscribedText)||H0.subscribedText,finePrint:x(e.finePrint,H0.finePrint,e.puck),issuesHeading:x(e.issuesHeading,H0.issuesHeading,e.puck),issues:t,source:A3.subscribeBlogsSection,editing:e.puck?.isEditing,archiveText:x(e.archiveText,H0.archiveText,e.puck),archiveHref:Y(e.archiveHref)||H0.archiveHref})}};import{jsx as JX}from"react/jsx-runtime";var rP={fields:{_sHead:K1("Section header"),_gHeadCopy:v("Content"),headNum:A("Number",H0.headNum),headTitle:V("Heading",H0.headTitle),headDesc:V("Body",H0.headDesc),_sLeft:K1("Newsletter panel"),_gLeftCopy:v("Content"),kicker:A("Eyebrow",H0.kicker),leadTitle:V("Heading",H0.leadTitle),intro:V("Intro",H0.intro),_gForm:v("Signup form"),emailPlaceholder:P("Email placeholder",H0.emailPlaceholder),submitText:P("Submit button",H0.submitText),subscribedText:P("Subscribed button",H0.subscribedText),finePrint:V("Fine print",H0.finePrint),_sRight:K1("Recent posts"),_gRightCopy:v("Content"),issuesHeading:A("Panel heading",H0.issuesHeading),_gPosts:v("Blog posts"),posts:E0(V7),limit:J("Posts to display",JX(XX,{}),1,6,1,4),_gArchive:v("Archive link"),archiveText:A("Archive button",H0.archiveText),archiveHref:w1("Archive link")}};import{jsx as QX}from"react/jsx-runtime";var iP={label:"Booking box",defaultProps:{},render:e=>QX(pz,{region:typeof e.region=="string"?e.region:void 0,eyebrow:x(e.eyebrow,L.eyebrow,e.puck),heading:x(e.heading,L.heading,e.puck),intro:x(e.intro,L.body,e.puck),buttonLabel:x(e.buttonLabel,L.button,e.puck),successMessage:x(e.successMessage,L.bookingConfirmation,e.puck),styleStep:e.styleStep,styleName:e.styleName,styleValue:e.styleValue,styleNote:e.styleNote})};import{useEffect as pu,useState as uu}from"react";import{Fragment as tJ,jsx as l0,jsxs as m2}from"react/jsx-runtime";var nP="border-b border-line bg-transparent py-3.5 font-display text-[length:var(--size-body,18px)] tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent";function eJ({label:e,required:t,full:a,children:c}){return m2("div",{className:["flex flex-col gap-2",a?"col-span-2 max-[700px]:col-span-1":""].join(" "),children:[m2("label",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-fg-dim",children:[e," ",t&&l0("span",{className:"text-accent",children:"*"})]}),c]})}function gu({routingNumber:e,routingTagline:t,groups:a,formNumber:c,formHeading:s,metaLines:l,showOther:o=!0,otherLabel:r="Other",otherNoteTitle:i,otherNoteBody:n,buttonText:h,consent:m,channels:p,formSlug:u,form:d,editing:g,initialActiveId:z,onActiveChange:f,reasonExtras:b,...y}){let C=[...a.map(K=>K.id),...o?[U6]:[]],S=z&&C.includes(z)?z:C[0]??U6,[H,_]=uu(S);pu(()=>{C.includes(H)||_(C[0]??U6)},[C.join("|")]),pu(()=>{z&&C.includes(z)&&_(z)},[z]);let Z=K=>{_(K),j(null),f?.(K)},[q,j]=uu(null),B=(p??[]).filter(K=>!K.hidden),N=B.find(K=>K.groupId===H)?.value??null,D=q??N,T=O5(u,d),R=A8({form:T,formSlug:u,editing:g}),i1=T===void 0,O=!!T||!!g,[m1,Q]=uu(!1);return pu(()=>{let K=()=>Q(document.documentElement.getAttribute("data-theme")==="light");K();let a1=new MutationObserver(K);return a1.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>a1.disconnect()},[]),m2(tJ,{children:[m2("section",{className:v0(y)?"border-b border-line px-[var(--sf-site-gutter,40px)] py-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] py-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",style:m1?void 0:{background:"var(--section-bg)"},children:[(e||t)&&m2("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[e&&l0(I1,{text:e}),t&&l0("span",{className:"font-display text-[length:var(--size-body,14px)] uppercase tracking-[0.04em] text-fg-dim",children:k(t)})]}),l0("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1",children:a.map(K=>{let a1=H===K.id;return m2("button",{type:"button",onClick:()=>{Z(K.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:J4(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-3.5 px-7 py-9 text-left transition-colors",a1?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[K.eyebrow&&l0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:K.eyebrow}),l0("h3",{className:"whitespace-pre-line font-heading3 text-[length:var(--size-headingSmall,26px)] font-medium uppercase leading-[1.05] tracking-[-0.02em]",children:K.title}),K.copy&&l0("p",{className:"mt-auto font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim",children:K.copy}),K.response&&m2("div",{className:"mt-2 flex justify-between border-t border-line pt-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:[l0("span",{children:"Response"}),l0("strong",{className:"font-normal text-fg",children:K.response})]})]},K.id)})})]}),(O||B.length>0)&&m2("section",{id:"contact-form",className:["mx-auto grid max-w-[var(--sf-site-width,1600px)] scroll-mt-[80px] gap-20 border-b border-line px-[var(--sf-site-gutter,40px)] py-20 max-[1100px]:grid-cols-1 max-[1100px]:gap-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:py-[60px]",O&&B.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[O&&m2("div",{children:[m2("div",{className:"mb-7 flex items-end justify-between gap-6 border-b border-line pb-6",children:[m2("div",{children:[c&&l0("div",{className:"pb-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-accent",children:k(c)}),s&&l0("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:U(s,!0)})]}),!!(l&&l.length)&&l0("div",{className:"text-right font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left",children:l.map((K,a1)=>l0("div",{children:K},a1))})]}),T?R.done?l0("div",{className:"border border-accent bg-accent/[0.08] p-8 font-display text-[length:var(--size-body,15px)] leading-[1.6] text-fg-dim",children:kc(T,"Thanks \u2014 we've received your message.")}):m2("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:R.handleSubmit,children:[T.fields.map(K=>l0(eJ,{label:K.label,required:K.required,full:K.type==="textarea"||K.type==="checkbox",children:l0(ae,{field:K,value:R.valueOf(K.key),onChange:a1=>R.set(K.key,a1),className:K.type==="textarea"?`${nP} min-h-[140px] resize-y leading-[1.5]`:K.type==="checkbox"?"size-4 self-start accent-accent":nP})},K.key)),m2("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[m2("label",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-fg-dim",children:["Reason ",l0("span",{className:"text-accent",children:"*"})]}),m2("div",{className:"mt-1 flex flex-wrap gap-2",children:[a.map(K=>{let a1=H===K.id;return l0("button",{type:"button",onClick:()=>Z(K.id),className:["cursor-pointer border px-3.5 py-2.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] transition-colors",a1?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:K.title},K.id)}),o&&l0("button",{type:"button",onClick:()=>Z(U6),className:["cursor-pointer border px-3.5 py-2.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] transition-colors",H===U6?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:z0(r)})]})]}),b?.(H),H===U6&&(i||n)&&m2("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[i&&l0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:k(i)}),n&&m0(n).map((K,a1)=>l0("p",{className:"font-display text-[length:var(--size-body,15px)] leading-[1.55] text-fg-dim",children:k(K)},a1))]}),l0(Mc,{value:R.honeypot,onChange:R.setHoneypot}),R.error&&l0("p",{role:"alert",className:"col-span-2 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1",children:R.error}),m2("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[m&&l0("span",{className:"max-w-[380px] font-mono text-[length:var(--size-label,12px)] uppercase leading-[1.6] tracking-[0.18em] text-fg-dim",children:k(m)}),l0("button",{type:g?"button":"submit",disabled:R.submitting,className:"cursor-pointer bg-btn px-8 py-[18px] font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full",children:R.submitting?"Sending\u2026":h?z0(h):"Send Message \u2192"})]})]}):l0("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:i1?"Loading form\u2026":"Choose a form in the inspector, under Message form \u2014 until then this column is hidden on the live page and no message can be sent."})]}),B.length>0&&l0("aside",{className:"flex flex-col gap-0 max-[1100px]:hidden",children:B.map((K,a1)=>{let B1=D===K.value,D1=!!!K.groupId;return m2("div",{onClick:D1?()=>j(K.value):void 0,className:["relative flex flex-col gap-2.5 border-b border-line border-l-2 px-5 py-7 transition-all",D1?"cursor-pointer border-t-2 border-t-accent":"",B1?"border-l-accent pl-6":D1?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:B1?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[B1&&m2("span",{className:"absolute right-[18px] top-6 flex flex-col items-end gap-0.5 text-right",children:[l0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:"\u2192 Message routes here"}),l0("span",{className:"font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.18em] text-fg-dim",children:"Other inboxes filter as spam"})]}),l0("span",{className:["font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] transition-colors",B1?"text-fg":"text-accent"].join(" "),children:K.label}),D1?l0("a",{href:K.href,onClick:t0=>t0.stopPropagation(),className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent",B1?"text-accent":"text-fg"].join(" "),children:K.value}):l0("span",{className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium leading-[1.2] tracking-[-0.02em]",B1?"text-accent":"text-fg"].join(" "),children:K.value}),K.sub&&l0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:K.sub})]},`${K.value}-${a1}`)})})]})]})}import{jsx as aJ}from"react/jsx-runtime";var hP={label:"Contact Form",defaultProps:{routingNumber:J1.routingNumber,routingTagline:J1.routingTagline,groups:J1.groups,formSlug:"",formNumber:J1.formNumber,formHeading:J1.formHeading,metaItems:J1.metaLines.map(e=>({text:e})),showOther:J1.showOther,otherLabel:J1.otherLabel,otherNoteTitle:J1.otherNoteTitle,otherNoteBody:J1.otherNoteBody,buttonText:J1.buttonText,consent:J1.consent,channels:J1.channels},render:e=>aJ(gu,{routingNumber:x(e.routingNumber,J1.routingNumber,e.puck),routingTagline:x(e.routingTagline,J1.routingTagline,e.puck),groups:e.groups??[],formNumber:x(e.formNumber,J1.formNumber,e.puck),formHeading:x(e.formHeading,J1.formHeading,e.puck),metaLines:(e.metaItems??[]).map(t=>t?.text??"").filter(Boolean),showOther:e.showOther,otherLabel:Y(e.otherLabel)||J1.otherLabel,otherNoteTitle:x(e.otherNoteTitle,J1.otherNoteTitle,e.puck),otherNoteBody:x(e.otherNoteBody,J1.otherNoteBody,e.puck),buttonText:Y(e.buttonText)||J1.buttonText,consent:x(e.consent,J1.consent,e.puck),channels:e.channels??[],formSlug:Y(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing})};import{jsx as mP}from"react/jsx-runtime";function du({thickness:e=1,lengthPct:t=100,hideOnMobile:a=!1}){return mP("div",{className:`col-span-full w-full basis-full ${a?"max-[800px]:hidden":""}`,"aria-hidden":"true",children:mP("div",{className:"bg-line",style:{height:`${e}px`,width:`${t}%`}})})}import{jsx as cJ}from"react/jsx-runtime";var pP={label:"Divider",defaultProps:{thickness:1,lengthPct:100,hideOnMobile:!1},render:({thickness:e,lengthPct:t,hideOnMobile:a})=>cJ(du,{thickness:e,lengthPct:t,hideOnMobile:a})};import{useState as sJ}from"react";import{jsx as vu,jsxs as uP}from"react/jsx-runtime";function fu({heading:e,placeholder:t="Email address",buttonLabel:a="Subscribe"}){let{open:c}=Cr(),[s,l]=sJ("");return uP("div",{className:"w-full min-w-0",children:[e?vu("h4",{className:"mb-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:U(e,!1)}):null,uP("form",{className:"flex max-w-[320px] flex-wrap items-stretch gap-2",onSubmit:o=>{o.preventDefault(),c({email:s.trim(),source:A3.footerSignup})},children:[vu("input",{type:"email",placeholder:t,value:s,onChange:o=>l(o.target.value),className:"w-0 min-w-[7rem] flex-1 border border-line bg-transparent px-3 py-2 text-[13px] text-fg placeholder:text-fg-dim/70 focus:border-accent focus:outline-none","aria-label":K0(e??"")||"Email address"}),vu("button",{type:"submit",className:"shrink-0 border border-btn bg-btn px-4 py-2 text-[13px] font-medium text-btn-ink transition-opacity hover:opacity-90",children:z0(a)})]})]})}import{jsx as lJ}from"react/jsx-runtime";var gP={label:"Email Form",defaultProps:{heading:"",placeholder:"Email address",buttonLabel:"Subscribe"},render:({heading:e,placeholder:t,buttonLabel:a,puck:c})=>lJ(fu,{heading:G3(e,"Join our email list",c),placeholder:t||void 0,buttonLabel:a||void 0})};import{jsx as Yl,jsxs as rJ}from"react/jsx-runtime";var oJ={left:"items-start text-left",center:"items-center text-center",right:"items-end text-right"};function bu({tagline:e,widthPct:t=100,align:a="left",reverse:c=!0,padTop:s=0,padRight:l=0,padBottom:o=0,padLeft:r=0,editing:i=!1}){let{src:n,reversedSrc:h,inkIsDark:m,wordmark:p,siteName:u}=Ja(),d=Math.round(N5*(t/100)),g={...s?{paddingTop:s}:{},...l?{paddingRight:l}:{},...o?{paddingBottom:o}:{},...r?{paddingLeft:r}:{}};return rJ("div",{className:`flex min-w-0 flex-col ${oJ[a]}`,style:g,children:[Yl(r0,{href:"/","aria-label":u?`${u} home`:"Home",className:"inline-flex",children:Yl(Ya,{variant:"footer",sizePx:d,src:n,reverse:c,reversedSrc:h,inkIsDark:m,wordmark:p,siteName:u})}),e?Yl("p",{className:"mt-3.5 max-w-[280px] text-[13px] leading-[1.5] text-fg-dim",children:k(e)}):i?Yl("p",{className:"mt-3.5 max-w-[280px] text-[13px] italic leading-[1.5] text-fg-dim/60",children:"Add a short brand tagline \u2192"}):null]})}import{jsx as iJ}from"react/jsx-runtime";var dP={label:"Logo",defaultProps:{widthPct:100,align:"left",reverse:"auto",padTop:0,padRight:0,padBottom:0,padLeft:0},render:({tagline:e,widthPct:t,align:a,reverse:c,padTop:s,padRight:l,padBottom:o,padLeft:r,puck:i})=>iJ(bu,{tagline:e||void 0,widthPct:t,align:a,reverse:c!=="off",padTop:s,padRight:l,padBottom:o,padLeft:r,editing:i?.isEditing})};import{jsx as nJ}from"react/jsx-runtime";var vP={label:"Menu",defaultProps:{accordionMobile:!1,showDividers:!1},render:({menu:e,heading:t,accordionMobile:a,showDividers:c,puck:s})=>nJ(ie,{menu:e,heading:t||void 0,accordionMobile:a,showDividers:c,editing:s?.isEditing})};import{jsx as hJ}from"react/jsx-runtime";var fP={label:"Social Logos",defaultProps:{iconStyle:T8,iconSize:"medium",align:"start",gap:Dt},render:({iconStyle:e,iconSize:t,align:a,gap:c,puck:s})=>hJ(Qp,{iconStyle:e,iconSize:t,align:a,gap:c,editing:s?.isEditing})};import{jsx as pJ}from"react/jsx-runtime";var mJ={sm:"text-[12px]",md:"text-[13px]",lg:"text-[15px]"};function zu({text:e,size:t="md",tone:a="default",editing:c=!1}){let s=e||(c?"Add a line of footer text.":"");return s?pJ("p",{className:`${mJ[t]} leading-[1.5] ${a==="dim"?"text-fg-dim":"text-fg"}`,children:k(s)}):null}import{jsx as uJ}from"react/jsx-runtime";var bP={label:"Text",defaultProps:{size:"md",tone:"default"},render:({text:e,size:t,tone:a,puck:c})=>uJ(zu,{text:e||void 0,size:t,tone:a,editing:c?.isEditing})};import{jsx as gJ}from"react/jsx-runtime";var zP={label:"Form",defaultProps:{formSlug:"",heading:"",intro:"",submitText:"",finePrint:""},render:e=>gJ(zr,{formSlug:Y(e.formSlug)||void 0,heading:Y(e.heading)||void 0,intro:Y(e.intro)||void 0,submitText:Y(e.submitText)||void 0,finePrint:Y(e.finePrint)||void 0,form:e.form,editing:e.puck?.isEditing})};import{jsx as dJ}from"react/jsx-runtime";var xP={label:"Legal Line",render:()=>dJ(It,{})};import{jsx as vJ}from"react/jsx-runtime";var wP={label:"Submit box",defaultProps:{},render:e=>vJ(bz,{region:typeof e.region=="string"?e.region:void 0,eyebrow:V0(e.eyebrow,e0.eyebrow,e.puck),title:V0(e.title,e0.title,e.puck),body:V0(e.body,e0.body,e.puck),buttonText:V0(e.buttonText,e0.buttonText,e.puck),consent:V0(e.consent,e0.consent,e.puck),formSlug:Y(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing,styleField:e.styleField,styleTick:e.styleTick,styleThanks:e.styleThanks})};import{jsx as fJ}from"react/jsx-runtime";var yP={label:"Subscribe Form",defaultProps:{headNum:"",headTitle:"",headDesc:"",kicker:"",leadTitle:"",intro:"",emailPlaceholder:"",submitText:"",subscribedText:"",finePrint:"",issuesHeading:"",issues:[],archiveText:"",archiveHref:""},render:({headNum:e,headTitle:t,headDesc:a,kicker:c,leadTitle:s,intro:l,emailPlaceholder:o,submitText:r,subscribedText:i,finePrint:n,issuesHeading:h,issues:m,contentType:p,posts:u,limit:d,archiveText:g,archiveHref:z,puck:f})=>fJ(Kt,{headNum:x(e,b0.headNum,f),headTitle:x(t,b0.headTitle,f),headDesc:x(a,b0.headDesc,f),kicker:x(c,b0.kicker,f),leadTitle:x(s,b0.leadTitle,f),intro:x(l,b0.intro,f),emailPlaceholder:Y(o)||b0.emailPlaceholder,submitText:Y(r)||b0.submitText,subscribedText:Y(i)||b0.subscribedText,finePrint:x(n,b0.finePrint,f),issuesHeading:x(h,b0.issuesHeading,f),issues:jl(mu(p),{issues:m,posts:u,limit:d,puck:f}),source:A3.subscribeSection,editing:f?.isEditing,archiveText:x(g,b0.archiveText,f),archiveHref:Y(z)||b0.archiveHref})};var kP={AppointmentBooking:rV,BookingBox:iP,ContactRouting:hP,Events:zV,Footer:MV,FooterDivider:pP,FooterEmailSignup:gP,FooterGroup:HV,FooterLogo:dP,FooterMenu:vP,FooterSocial:fP,FooterText:bP,Form:zP,LegalLineBlock:xP,ReviewForm:DV,Reviews:WV,[L8]:KV,[C8]:jV,SubmitBox:wP,SubmitBuild:QV,Subscribe:yP,SubscribeBlogs:oP};var bJ={AppointmentBooking:iV,BookingBox:nV,ContactRouting:mV,Events:xV,Footer:CV,FooterDivider:LV,FooterEmailSignup:SV,FooterGroup:FV,FooterLogo:TV,FooterMenu:PV,FooterSocial:ZV,FooterText:IV,Form:RV,LegalLineBlock:_V,ReviewForm:OV,Reviews:UV,[L8]:$V,[C8]:XV,SubmitBox:JV,SubmitBuild:eP,Subscribe:lP,SubscribeBlogs:rP},O0=D8(kP,bJ);import{Fragment as WJ,jsx as _1,jsxs as Z7}from"react/jsx-runtime";var VU1=[{value:"00",label:L.label},{value:"00",label:L.label},{value:"00",label:L.label}],FJ="color-mix(in oklab, var(--bg) 40%, #ffffff)",TJ="12vh",VJ=_o(()=>import("./PreviewFooter-SNJQZ6JZ.js")),PJ=_o(()=>import("./render-client-ISZ5CGAI.js"));function EJ({style:e,frameClass:t,children:a}){let{appState:c}=HJ(u=>u),s=c.data.content,l=c.data.root;if(ef(s))return _1("div",{className:`sf-themed-content${t?` ${t}`:""}`,style:{...e,background:FJ,minHeight:"100vh",paddingBottom:TJ},children:_1("div",{style:{background:"var(--bg)"},children:a})});let o=qa(s)&&qo(l,s),r=qa(s)?cf(l,s):null,i=r?{[af]:r}:null,n=Xg(l?.widthChoice),h=n?{[Yg]:n}:null,m=o?null:Vf(s),p=m?{[Ff]:m}:null;return _1("div",{className:`sf-themed-content${o?` ${Go}`:""}${t?` ${t}`:""}`,style:e,...p,...i,...h,children:_1("div",{style:{background:"var(--bg)",minHeight:"100%"},children:a})})}function CP(e){return{frameClass:void 0,style:{"--sf-page-width":q9}}}function LP({w:e,children:t}){let{frameClass:a,style:c}=CP(e);return _1("div",{className:a,style:c,children:t})}function SP({propsTheme:e,propsFonts:t,propsCornerStyle:a,propsCornerRadiusPx:c,propsHeadingCompression:s,propsHeadingTypography:l,widthMode:o,fullWidth:r,pageWidth:i,pageBackground:n,chromeInheritsSiteBackground:h,suppressPreviewNav:m,footer:p,overlay:u,children:d}){let{theme:g,fonts:z,sizes:f,cornerRadiusPx:b,cardShadow:y,shadowColor:C,cardGap:S,hoverEffect:H,headingCompression:_,siteWidth:Z,siteGutter:q,blockGap:j,headingTypography:B,heroBackgroundFollowsWidth:N,photographyGrayscale:D,themeFromDocument:T}=D3(),R=T?e:g,i1=T?t:z,O=T?void 0:f,m1=T?c===void 0?Vu[Tu(a)]:Pu(c):b,Q=T?s:_,K=T?l:B,a1=CP({widthMode:o,fullWidth:r,pageWidth:i}),B1={...ta(R),...ro(O),...Ru(K),...a1.style,...h?{}:mo(n)};return _1("div",{className:"sf-theme-surfaces sf-theme-accent",style:{...uo(i1),...ao(R),...co(R),...so(R),...lo(R),...io(m1),...Ou(io(m1)),...Zu(T?void 0:y,T?void 0:C,T?void 0:H),...qg(T?void 0:Z),...Wg(T?void 0:q),...ed(T?void 0:j),...jg(T?void 0:N)},"data-sf-headings":Iu(Q),"data-sf-card-shadow":T?void 0:Eu(y),"data-sf-card-gap":T?void 0:Bu(S),"data-sf-card-hover":T?void 0:Nu(H),onClickCapture:m,children:Z7(cw,{grayscale:T?void 0:D,children:[_1(EJ,{style:B1,frameClass:a1.frameClass,children:d}),p,u]})})}var BJ={padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--line, #e5e5e5)"};function NJ({propsTheme:e,propsFonts:t,widthMode:a,fullWidth:c,pageWidth:s,pageBackground:l,chromeInheritsSiteBackground:o,suppressPreviewNav:r,children:i}){let{originData:n,exitFocus:h}=Zx(),{theme:m,fonts:p,sizes:u,themeFromDocument:d}=D3();if(!n)return Z7(SP,{propsTheme:e,propsFonts:t,widthMode:a,fullWidth:c,pageWidth:s,pageBackground:l,chromeInheritsSiteBackground:o,suppressPreviewNav:r,footer:null,children:[_1("div",{style:BJ,children:"This is your site footer \u2014 it shows at the bottom of every page."}),i]});let g=d?e:m,z=d?t:p,f=n.content??[],b=n.root,y=qa(f)&&qo(b,f);return Z7("div",{className:"sf-theme-accent",style:{...uo(z),...ao(g),...co(g),...so(g)},onClickCapture:r,children:[Z7("div",{style:{position:"relative"},children:[_1("div",{className:y?Go:void 0,style:{...ta(g),...ro(d?void 0:u),pointerEvents:"none",userSelect:"none"},"aria-hidden":"true",children:_1(PJ,{data:n})}),_1("button",{type:"button",onClick:()=>h(),title:"Click the page to go back","aria-label":"Go back to the page",style:{position:"absolute",inset:0,width:"100%",height:"100%",cursor:"pointer",background:"transparent",border:0,padding:0}})]}),_1("div",{className:"sf-theme-surfaces",style:{...ta(g),...lo(g)},children:_1(LP,{w:{widthMode:a,fullWidth:c,pageWidth:s},children:i})})]})}var n0=yo,ZJ={formSlug:x4(void 0,"Newsletter (built in)"),_gLeft:v("Left panel"),metaLabel:P("Meta label",n0.metaLabel),issueLabel:P("Issue label",n0.issueLabel),issueNumber:P("Issue number",n0.issueNumber),kicker:P("Eyebrow",n0.kicker),heading:C1("Heading",n0.heading),deck:C1("Deck",n0.deck),stats:{type:"array",label:"Stats",arrayFields:{label:P("Label"),value:P("Value")},getItemSummary:e=>e?.label||e?.value||"Stat"},_gForm:v("Right panel \xB7 form"),formLabel:P("Section label",n0.formLabel),formHeading:P("Heading",n0.formHeading),formIntro:C1("Intro",n0.formIntro),firstNameLabel:P("First-name label",n0.firstNameLabel),firstNamePlaceholder:P("First-name placeholder",n0.firstNamePlaceholder),emailLabel:P("Email label",n0.emailLabel),emailPlaceholder:P("Email placeholder",n0.emailPlaceholder),_gChoices:v("Right panel \xB7 choices"),interestsLabel:P("Interests label",n0.interestsLabel),interests:r2("Interest chips",_1(g3,{noun:"tag"}),"Chip label","verbatim"),frequencyLabel:P("Frequency label",n0.frequencyLabel),frequencies:r2("Frequency options",_1(kJ,{}),"Option label","verbatim"),_gActions:v("Right panel \xB7 actions"),submitText:P("Submit button",n0.submitText),finePrint:P("Fine print",n0.finePrint),dismissText:P("Dismiss link",n0.dismissText),emailInvalidText:P("Invalid-email error",n0.emailInvalidText),submitErrorText:P("Submit-failed error",n0.submitErrorText),_gSuccess:v("Success state"),successHeading:P("Heading",n0.successHeading),successBody:C1("Message",n0.successBody),keepBrowsingText:P("Dismiss button",n0.keepBrowsingText),...ic(n4,tc),...nc(),_gTextStyle:v("Text style"),...Object.fromEntries(pa.map(e=>[Pg[e],h1(vo[e],_8(vo[e]),[{label:"Popup's own",value:""},...K7.map(t=>({label:$7[t],value:t}))],"")])),_gBehaviour:v("Behavior"),autoOpen:e1("Show by itself",n0.autoOpen,_1(yJ,{})),trigger:p1("Trigger",_1(AJ,{}),[{label:"Delay",value:"delay"},{label:"Scroll",value:"scroll"},{label:"Exit",value:"exit"}],n0.trigger),autoOpenDelaySec:J("Delay",_1(xu,{}),zo.min,zo.max,1,n0.autoOpenDelaySec,"s"),scrollPercent:J("Scroll",_1(SJ,{}),xo.min,xo.max,5,n0.scrollPercent,"%"),showOn:p1("Pages",_1(CJ,{}),[{label:"All",value:"all"},{label:"Chosen",value:"chosen"}],n0.showOn),showOnPages:f8("Chosen pages",[],"None"),hideAfter:p1("After close",_1(xu,{}),[{label:"This visit",value:"visit"},{label:"Days",value:"days"},{label:"Never",value:"never"}],n0.hideAfter),hideDays:J("Days",_1(xu,{}),wo.min,wo.max,1,n0.hideDays),_gArrangement:v("Arrangement"),formSide:p1("Form side",_1(LJ,{}),[{label:"Right",value:"right"},{label:"Left",value:"left"}],n0.formSide),_gPhone:v("On a phone"),valuePanelOnPhone:e1("Left panel",n0.valuePanelOnPhone,_1(xJ,{}))},IJ=bc(ZJ,"SubscribePopup");async function RJ(){return(await jf(Z2()??"")).filter(t=>!Eg(t.slug)).map(t=>({label:Zg(t),value:Gf(t.slug)}))}async function _J(e){let t=ko(e),a=new Set;t.autoOpen||["trigger","autoOpenDelaySec","scrollPercent","showOn","showOnPages","hideAfter","hideDays"].forEach(s=>a.add(s)),t.trigger==="scroll"&&a.add("autoOpenDelaySec"),t.trigger!=="scroll"&&a.add("scrollPercent"),t.showOn!=="chosen"&&a.add("showOnPages"),t.hideAfter!=="days"&&a.add("hideDays");let c={};for(let[s,l]of Object.entries(IJ))a.has(s)||(c[s]=s==="showOnPages"?{...l,options:await RJ().catch(()=>[])}:l);return M8(c)}var s4=ma,DJ={_gHeader:v("Header"),kickerBadge:P("Eyebrow badge",s4.kickerBadge),kickerText:P("Eyebrow text",s4.kickerText),titleLead:P("Heading",s4.titleLead),titleAccent:P("Heading accent",s4.titleAccent),subtitleEmpty:C1("Sub-line \xB7 empty",s4.subtitleEmpty),subtitleOne:C1("Sub-line \xB7 one set",s4.subtitleOne),subtitleMany:C1("Sub-line \xB7 several sets",s4.subtitleMany,"{count} becomes the number of sets"),_gStatus:v("Status rail"),leadTimeValue:P("Lead time",s4.leadTimeValue),shipsToFallback:P("Ships to \xB7 fallback",s4.shipsToFallback,"Shown only while the site serves no countries \u2014 otherwise the site's default country is stated"),_gPromises:v("Promise row"),promises:r2("Trust markers",_1(MP,{}),"Marker","verbatim"),_gEmpty:v("Empty basket"),emptyKicker:P("Eyebrow",s4.emptyKicker),emptyBody:C1("Message",s4.emptyBody)};function OJ(){return{type:"custom",render:({value:e,onChange:t})=>_1(re,{value:e==="full"?"full":e==="content"?"content":void 0,resolved:"content",followsLabel:"Follows the site",hint:"Whether this page sits on the site's content column, or runs edge to edge.",onChange:a=>t(a)})}}var GJ=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],I7={root:{fields:{title:P("Page Title"),pageBackground:yb(),topSpace:h1("Top space",_1(MJ,{}),GJ,tf),widthChoice:OJ(),_gOpening:v("Opening filter"),openingProcess:h1("Process",O6("A facet's options grow out of the merchant's CATALOGUE, so the set of rows is not ours to count and an icon-per-facet queue never empties. Owner, 2026-08-29, on the `Opening filter` group: \u300Cfilter \u91CC\u4E0D\u52A0 icon\u2026\u4E0D\u7136\u6CA1\u5B8C\u6CA1\u4E86\u3002\u300D"),hw,Uc),openingSize:P("Size","Any"),openingLugs:P("Lugs","Any"),openingFinish:h1("Finish",O6("A facet's options grow out of the merchant's CATALOGUE, so the set of rows is not ours to count and an icon-per-facet queue never empties. Owner, 2026-08-29, on the `Opening filter` group: \u300Cfilter \u91CC\u4E0D\u52A0 icon\u2026\u4E0D\u7136\u6CA1\u5B8C\u6CA1\u4E86\u3002\u300D"),nw,Uc),openingPriceMin:P("Price from","Any"),openingPriceMax:P("Price to","Any")},resolveFields:async(e,{fields:t})=>{if(e?.props?.kind===bo)return _J(e.props);if(e?.props?.kind===go)return DJ;let a=t;return g2()?{[Ng]:h1("Product type",_1(zJ,{}),s8,"alloy-wheel"),...a,_gHeroBullets:v("Product hero"),_nHeroBullets:v4("The promises under Add to Cart. Text before the \xB7 is bold. Leave the list empty to show no promises at all."),[Nr]:r2("Trust bullets",_1(MP,{}),$w(ve.bullets[0]),"verbatim")}:a},render:e=>{let{children:t,puck:a,widthMode:c,fullWidth:s,pageWidth:l,pageBackground:o,theme:r,fonts:i,scales:n,kind:h,previewProduct:m}=e,p=ua(typeof h=="string"?h:"",e);if(h===bo){let b=ko(e);return Z7("div",{style:{background:"var(--bg)",minHeight:"100%"},children:[a?.isEditing?_1("div",{style:{padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--line, #e5e5e5)"},children:"This is the site popup \u2014 edit it in the Settings panel \u2192"}):null,_1(Sw,{inline:!0,content:b})]})}if(h===go){let b=Vg(e);return Z7("div",{style:{background:"var(--bg)",minHeight:"100%"},children:[a?.isEditing?_1("div",{style:{padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--line, #e5e5e5)"},children:"This is the cart drawer \u2014 edit its copy in the Settings panel \u2192"}):null,_1(La,{children:_1(Ea,{preview:!0,children:_1(ue,{content:b})})})]})}let u=!!a?.isEditing,d=_1(Uw,{kind:p,children:_1(Xw,{content:jw(e),children:_1(Gw,{slug:u?m:null,children:_1(Nv,{initial:rw(e),children:t})})})}),g=h===Sg&&!ng(o);if(!u)return _1("div",{style:{...g?{}:mo(o),background:"var(--bg)",minHeight:"100%",overflowX:"clip"},children:_1(LP,{w:{widthMode:c,fullWidth:s,pageWidth:l},children:d})});let z=h===Lg,f=b=>{b.target?.closest?.("a")&&b.preventDefault()};return z?_1(NJ,{propsTheme:r,propsFonts:i,widthMode:c,fullWidth:s,pageWidth:l,pageBackground:typeof o=="string"?o:void 0,chromeInheritsSiteBackground:g,suppressPreviewNav:f,children:d}):_1(SP,{propsTheme:r,propsFonts:i,widthMode:c,fullWidth:s,pageWidth:l,pageBackground:typeof o=="string"?o:void 0,suppressPreviewNav:f,footer:_1(VJ,{}),overlay:Z7(WJ,{children:[_1(Tr,{}),_1(Br,{})]}),children:d})}},categories:Ig(),components:{Heading:A1.Heading,Text:A1.Text,Eyebrow:A1.Eyebrow,ImageBlock:A1.ImageBlock,LogoBlock:A1.LogoBlock,ButtonBlock:A1.ButtonBlock,Spacer:A1.Spacer,Divider:A1.Divider,Grid:A1.Grid,Flex:A1.Flex,Breadcrumb:A1.Breadcrumb,Masthead:A1.Masthead,CategoryBar:A1.CategoryBar,FeaturedCover:A1.FeaturedCover,LongRead:A1.LongRead,Series:A1.Series,Subscribe:O0.Subscribe,SubscribeBlogs:O0.SubscribeBlogs,Banner:A1.Banner,ParagraphsA:A1.ParagraphsA,StatsParagraph:A1.StatsParagraph,Timeline:A1.Timeline,Footprint:A1.Footprint,TimelineTrack:A1.TimelineTrack,TitleWithButtons:A1.TitleWithButtons,Stats:A1.Stats,Integrations:A1.Integrations,Mockup:A1.Mockup,Chart:A1.Chart,KeyFeatures:A1.KeyFeatures,Testimonials:A1.Testimonials,Reviews:O0.Reviews,Prose:A1.Prose,Cards:A1.Cards,Logos:A1.Logos,Ticker:A1.Ticker,ContactRouting:O0.ContactRouting,ContactLocations:A1.ContactLocations,HeroSingle:A1.HeroSingle,Hero:A1.Hero,HeroSlide:A1.HeroSlide,HeroGroup:A1.HeroGroup,Collections:w0.Collections,CollectionCard:w0.CollectionCard,Events:O0.Events,PostCard:A1.PostCard,DocMetaCards:A1.DocMetaCards,DocTabs:A1.DocTabs,DocMasthead:A1.DocMasthead,DocBody:A1.DocBody,FAQ:A1.FAQ,Gallery:w0.Gallery,GalleryB:w0.GalleryB,BrandStrip:w0.BrandStrip,SpecStrip:A1.SpecStrip,GalleryItem:w0.GalleryItem,Manifesto:A1.Manifesto,SectionHeader:A1.SectionHeader,IntroBleed:A1.IntroBleed,Split:A1.Split,SubmitBuild:O0.SubmitBuild,SubmitBox:O0.SubmitBox,ReviewForm:O0.ReviewForm,Form:O0.Form,AppointmentBooking:O0.AppointmentBooking,BookingBox:O0.BookingBox,CatalogFilterBar:w0.CatalogFilterBar,AlloyWheelsListing:w0.AlloyWheelsListing,ProductGrid:w0.ProductGrid,ProductHero:w0.ProductHero,SpecTable:w0.SpecTable,ProcessSteps:A1.ProcessSteps,DetailRows:w0.DetailRows,FitmentTable:w0.FitmentTable,RelatedProducts:w0.RelatedProducts,BundleOffer:w0.BundleOffer,CompatibleTyres:w0.CompatibleTyres,TyreSizes:w0.TyreSizes,TyreFitment:w0.TyreFitment,EuTyreLabel:w0.EuTyreLabel,FitmentFinder:w0.FitmentFinder,OrderSummary:A1.OrderSummary,DeliveryOptions:w0.DeliveryOptions,PaymentBadges:A1.PaymentBadges,CheckoutCTA:w0.CheckoutCTA,ProductRef:w0.ProductRef,CustomHTML:A1.CustomHTML,Header:w0.Header,Footer:O0.Footer,FooterLogo:O0.FooterLogo,FooterMenu:O0.FooterMenu,FooterDivider:O0.FooterDivider,FooterGroup:O0.FooterGroup,FooterText:O0.FooterText,FooterEmailSignup:O0.FooterEmailSignup,FooterSocial:O0.FooterSocial,LegalLineBlock:O0.LegalLineBlock,SearchBlock:w0.SearchBlock,CartBlock:w0.CartBlock,CountrySwitchBlock:w0.CountrySwitchBlock,[C8]:O0.SiteHeader,[L8]:O0.SiteFooter}},qJ={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial"};for(let[e,t]of Object.entries(qJ)){let a=I7.components;a[e]={...a[t]}}{let e=I7.components.MenuBlock;e.fields={...e.fields,direction:p1("Direction",_1(wJ,{}),[{label:$o.column,value:"column"},{label:$o.row,value:"row"}],"column")},e.defaultProps={...e.defaultProps,direction:"column"},e.render=({menu:t,heading:a,accordionMobile:c,showDividers:s,direction:l,puck:o})=>_1(ie,{menu:t,heading:a||void 0,accordionMobile:c,showDividers:s,layout:l==="row"?"row":"column",editing:o?.isEditing})}var AP={...dr(Object.keys(I7.components),I7.categories?.structure?.components??[]),inspector:Bx};for(let[e,t]of Object.entries(I7.components))Ex(e,t,AP);var PU1=AP.sectionGroupAllow;{let e=I7.root,t=e.resolveFields;e.resolveFields=t?(a,c)=>{let s=t(a,c);return s instanceof Promise?s.then(l=>V8(l??c.fields,"page")):V8(s??c.fields,"page")}:(a,c)=>V8(c.fields,"page")}var gp=I7;export{h91 as a,m91 as b,p91 as c,u91 as d,g91 as e,Vr as f,dr as g,Ex as h,Bx as i,Q11 as j,r01 as k,qx as l,t21 as m,oN as n,H31 as o,Vx1 as p,tB1 as q,gp as r};
|