efficient-storefront-blocks 0.16.0 → 0.17.0
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 +13 -0
- package/dist/chunks/{EditorPreviewCheckout-AM4FOEBI.js → EditorPreviewCheckout-LS4D45HK.js} +1 -1
- package/dist/chunks/{PreviewFooter-AGQCAEXO.js → PreviewFooter-R5F5A3QN.js} +1 -1
- package/dist/chunks/SiteEditorProvider-N3T24N3L.js +1 -0
- package/dist/chunks/{chunk-QPUZOZAE.js → chunk-5PTJ33V4.js} +1 -1
- package/dist/chunks/{chunk-JPFTZUGS.js → chunk-FJLS4CM7.js} +1 -1
- package/dist/chunks/{chunk-XAIWFD52.js → chunk-ICYERRMN.js} +1 -1
- package/dist/chunks/{chunk-7AJTEBG6.js → chunk-W2SE5EPV.js} +3 -3
- package/dist/chunks/{chunk-URFGHW34.js → chunk-YZCBNR36.js} +1 -1
- package/dist/chunks/{fitment-data-XSPS665M.js → fitment-data-SRSM7HAL.js} +1 -1
- package/dist/chunks/{render-client-PVL6TTYW.js → render-client-FGTNS3U6.js} +1 -1
- package/dist/index.js +94 -111
- package/package.json +3 -3
- package/dist/chunks/SiteEditorProvider-UL47GHWM.js +0 -1
- /package/dist/chunks/{SectionEditorShell-DBL56U76.js → SectionEditorShell-N56JPBA6.js} +0 -0
- /package/dist/chunks/{chunk-YOLBILEW.js → chunk-5WCXWFFH.js} +0 -0
- /package/dist/chunks/{chunk-TY6TWI3F.js → chunk-HKY6MFXK.js} +0 -0
- /package/dist/chunks/{chunk-XAIWFD52.js.LEGAL.txt → chunk-ICYERRMN.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-7AJTEBG6.js.LEGAL.txt → chunk-W2SE5EPV.js.LEGAL.txt} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as tz,$b as Uz,$c as Th,$d as d5,$e as Ox,$g as Hy,$h as Qy,A as qb,Ab as zz,Ac as lx,Ad as Eh,Ae as N9,Af as G1,Ag as fy,Ah as Gy,B as Wb,Ba as pz,Bb as xz,Bc as hl,Bd as fl,Be as X2,Bf as Tl,Bg as by,Bh as qy,C as Ub,Ca as x9,Cb as xh,Cc as M9,Cd as xx,Cf as Oh,Ch as Wy,D as jb,Db as Ch,Dc as rx,Dd as yx,De as _9,Df as H2,E as Kb,Ea as Qc,Eb as kh,Ec as Fh,Ed as bl,Ee as Cl,F as $b,Fc as ml,Fd as Vh,Fe as H,Fg as z5,Fh as Z4,G as dh,Ga as el,Gb as Pz,Gc as ox,Gd as wx,Ge as R,Gf as Z9,Gg as zy,Gh as Uy,H as Yb,Ha as vh,Hb as Ez,Hc as ix,Hd as Nh,He as G,Hf as D9,Hg as j9,Hh as jl,I as Xb,Ib as Vz,Ic as ul,Id as F9,Ie as g1,If as Pl,Ig as xy,Ih as ma,Ja as Y5,Jb as rl,Jd as Cx,Je as H1,Jf as U6,Jg as Zl,Jh as j6,Kb as Nz,Kd as T9,Ke as E1,Kf as Jx,Kg as Dl,L as jc,La as uz,Lb as _z,Ld as P9,Lf as Qx,Lg as yy,Lh as Kl,Ma as m2,Mb as Iz,Md as kx,Mf as l8,Mg as wy,Mh as Uh,Na as fh,Nb as C9,Nd as Mx,Ne as b,Ng as Ol,Ob as Z6,Od as zl,Oe as g5,Of as O9,Og as Cy,Pa as t1,Pb as Bz,Pc as nx,Pe as Bx,Pf as G9,Pg as i8,Qa as A2,Qb as la,Qc as a8,Qe as t0,Qf as q9,Qg as Y1,Ra as dz,Rd as Sx,Re as Rx,Rf as W9,Rg as t6,Sb as Rz,Sc as dl,Sd as _h,Se as I9,Sf as ey,Sg as k,T as Jb,Tc as hx,Td as oa,Te as W6,Tf as ty,Tg as R0,Ud as Ih,Ue as kl,Uf as ay,Ug as Y,Vb as Zz,Vc as u5,Vd as Bh,Vf as El,Vg as b0,Vh as jy,W as Qb,Wb as Dz,Wc as mx,Wd as Rh,We as a1,Wg as ky,Wh as Ky,Xb as Oz,Xc as $2,Xd as Zh,Xe as B3,Xf as Vl,Xg as My,Xh as jh,Yb as Gz,Yc as px,Yd as Dh,Ye as Zx,Yf as sy,Yg as Sy,Zb as qz,Zc as a4,Zd as Lx,Ze as Ml,Zf as cy,Zg as Ly,Zh as Yy,_ as ez,_b as Wz,_c as ux,_d as Q5,_e as Dx,_f as U9,_g as Ay,a as Ab,aa as az,ab as X5,ac as ol,ad as Y2,ae as Ax,af as Sl,ag as ly,ah as Fy,ai as ew,b as Wc,ba as sz,bb as e8,bc as il,bd as Ph,be as Hx,bf as Ll,bh as Ty,bi as tw,c as Hb,ca as gh,cb as sa,cc as Mh,cd as S9,ce as xl,cf as Al,ch as Py,ci as aw,d as aa,da as cz,dc as I2,dd as dx,de as yl,df as Gx,dg as ry,dh as Ey,ea as lz,eb as gz,ec as N0,ed as gx,ee as Fx,ef as qx,eh as Vy,f as Fb,fa as Kc,fc as jz,fd as vx,fe as Tx,ff as Wx,fh as Ny,fi as $l,g as g9,ga as $c,gc as nl,ge as Px,gf as Ux,gg as Bl,gh as a6,gi as y4,ha as rz,hc as t8,hd as s4,hf as na,hh as s6,hi as Yl,ia as oz,ib as bh,ic as Sh,id as c4,if as jx,ig as hy,ih as K9,ii as K6,ja as iz,jb as zh,jd as J5,jf as v5,jh as $9,ji as l4,k as Tb,ka as f9,kc as Lh,kd as s8,kf as f5,kh as _y,ki as sw,la as b9,lb as vz,lc as Ah,ld as L9,le as Ex,lf as Kx,lh as Gl,ma as Yc,mc as Kz,md as A9,me as I3,mf as $x,n as Pb,nc as Hh,nd as D6,ne as Vx,nf as l1,ng as my,nh as qh,o as Eb,oc as p5,od as gl,oe as wl,of as Yx,og as Gh,oh as Iy,pc as $z,pe as O6,pf as b5,ph as Wh,q as m0,qc as k9,qe as E9,qf as B9,qh as ql,r as Uc,rc as Yz,re as G6,rf as e6,rg as py,rh as Wl,s as uh,sa as _2,sb as y9,sc as Xz,se as V9,sf as Xx,sg as uy,sh as Y9,t as Ib,ta as R1,tc as Jz,td as x4,te as Nx,tf as Hl,tg as dy,th as By,u as Bb,uc as Qz,ud as fx,ue as _x,uf as v1,ug as r8,uh as Ry,v as Rb,vc as ex,vd as vl,ve as ia,vf as R9,vg as Rl,vh as ha,w as Zb,wa as D1,wc as tx,wd as H9,we as q6,wf as t2,wg as o8,wh as Zy,x as Db,xa as nz,xb as w9,xc as ax,xd as _3,xh as Dy,y as Ob,ya as q1,yb as fz,yc as sx,yd as bx,ye as c8,yf as Fl,yg as gy,yh as Oy,z as Gb,za as O1,zb as bz,zc as cx,zd as zx,ze as Ix,zf as b1,zg as vy,zh as Ul}from"./chunk-
|
|
1
|
+
import{$ as tz,$b as Uz,$c as Th,$d as d5,$e as Ox,$g as Hy,$h as Qy,A as qb,Ab as zz,Ac as lx,Ad as Eh,Ae as N9,Af as G1,Ag as fy,Ah as Gy,B as Wb,Ba as pz,Bb as xz,Bc as hl,Bd as fl,Be as X2,Bf as Tl,Bg as by,Bh as qy,C as Ub,Ca as x9,Cb as xh,Cc as M9,Cd as xx,Cf as Oh,Ch as Wy,D as jb,Db as Ch,Dc as rx,Dd as yx,De as _9,Df as H2,E as Kb,Ea as Qc,Eb as kh,Ec as Fh,Ed as bl,Ee as Cl,F as $b,Fc as ml,Fd as Vh,Fe as H,Fg as z5,Fh as Z4,G as dh,Ga as el,Gb as Pz,Gc as ox,Gd as wx,Ge as R,Gf as Z9,Gg as zy,Gh as Uy,H as Yb,Ha as vh,Hb as Ez,Hc as ix,Hd as Nh,He as G,Hf as D9,Hg as j9,Hh as jl,I as Xb,Ib as Vz,Ic as ul,Id as F9,Ie as g1,If as Pl,Ig as xy,Ih as ma,Ja as Y5,Jb as rl,Jd as Cx,Je as H1,Jf as U6,Jg as Zl,Jh as j6,Kb as Nz,Kd as T9,Ke as E1,Kf as Jx,Kg as Dl,L as jc,La as uz,Lb as _z,Ld as P9,Lf as Qx,Lg as yy,Lh as Kl,Ma as m2,Mb as Iz,Md as kx,Mf as l8,Mg as wy,Mh as Uh,Na as fh,Nb as C9,Nd as Mx,Ne as b,Ng as Ol,Ob as Z6,Od as zl,Oe as g5,Of as O9,Og as Cy,Pa as t1,Pb as Bz,Pc as nx,Pe as Bx,Pf as G9,Pg as i8,Qa as A2,Qb as la,Qc as a8,Qe as t0,Qf as q9,Qg as Y1,Ra as dz,Rd as Sx,Re as Rx,Rf as W9,Rg as t6,Sb as Rz,Sc as dl,Sd as _h,Se as I9,Sf as ey,Sg as k,T as Jb,Tc as hx,Td as oa,Te as W6,Tf as ty,Tg as R0,Ud as Ih,Ue as kl,Uf as ay,Ug as Y,Vb as Zz,Vc as u5,Vd as Bh,Vf as El,Vg as b0,Vh as jy,W as Qb,Wb as Dz,Wc as mx,Wd as Rh,We as a1,Wg as ky,Wh as Ky,Xb as Oz,Xc as $2,Xd as Zh,Xe as B3,Xf as Vl,Xg as My,Xh as jh,Yb as Gz,Yc as px,Yd as Dh,Ye as Zx,Yf as sy,Yg as Sy,Zb as qz,Zc as a4,Zd as Lx,Ze as Ml,Zf as cy,Zg as Ly,Zh as Yy,_ as ez,_b as Wz,_c as ux,_d as Q5,_e as Dx,_f as U9,_g as Ay,a as Ab,aa as az,ab as X5,ac as ol,ad as Y2,ae as Ax,af as Sl,ag as ly,ah as Fy,ai as ew,b as Wc,ba as sz,bb as e8,bc as il,bd as Ph,be as Hx,bf as Ll,bh as Ty,bi as tw,c as Hb,ca as gh,cb as sa,cc as Mh,cd as S9,ce as xl,cf as Al,ch as Py,ci as aw,d as aa,da as cz,dc as I2,dd as dx,de as yl,df as Gx,dg as ry,dh as Ey,ea as lz,eb as gz,ec as N0,ed as gx,ee as Fx,ef as qx,eh as Vy,f as Fb,fa as Kc,fc as jz,fd as vx,fe as Tx,ff as Wx,fh as Ny,fi as $l,g as g9,ga as $c,gc as nl,ge as Px,gf as Ux,gg as Bl,gh as a6,gi as y4,ha as rz,hc as t8,hd as s4,hf as na,hh as s6,hi as Yl,ia as oz,ib as bh,ic as Sh,id as c4,if as jx,ig as hy,ih as K9,ii as K6,ja as iz,jb as zh,jd as J5,jf as v5,jh as $9,ji as l4,k as Tb,ka as f9,kc as Lh,kd as s8,kf as f5,kh as _y,ki as sw,la as b9,lb as vz,lc as Ah,ld as L9,le as Ex,lf as Kx,lh as Gl,ma as Yc,mc as Kz,md as A9,me as I3,mf as $x,n as Pb,nc as Hh,nd as D6,ne as Vx,nf as l1,ng as my,nh as qh,o as Eb,oc as p5,od as gl,oe as wl,of as Yx,og as Gh,oh as Iy,pc as $z,pe as O6,pf as b5,ph as Wh,q as m0,qc as k9,qe as E9,qf as B9,qh as ql,r as Uc,rc as Yz,re as G6,rf as e6,rg as py,rh as Wl,s as uh,sa as _2,sb as y9,sc as Xz,se as V9,sf as Xx,sg as uy,sh as Y9,t as Ib,ta as R1,tc as Jz,td as x4,te as Nx,tf as Hl,tg as dy,th as By,u as Bb,uc as Qz,ud as fx,ue as _x,uf as v1,ug as r8,uh as Ry,v as Rb,vc as ex,vd as vl,ve as ia,vf as R9,vg as Rl,vh as ha,w as Zb,wa as D1,wc as tx,wd as H9,we as q6,wf as t2,wg as o8,wh as Zy,x as Db,xa as nz,xb as w9,xc as ax,xd as _3,xh as Dy,y as Ob,ya as q1,yb as fz,yc as sx,yd as bx,ye as c8,yf as Fl,yg as gy,yh as Oy,z as Gb,za as O1,zb as bz,zc as cx,zd as zx,ze as Ix,zf as b1,zg as vy,zh as Ul}from"./chunk-ICYERRMN.js";import{$ as ww,A as se,B as sr,C as vw,D as ce,E as fw,H as cr,I as p0,K as Yh,L as lr,M as r4,N as rr,R as e7,S as bw,T as zw,U as xw,V as le,W as re,X as oe,Y as ua,Z as yw,_ as ie,a as nw,aa as Cw,ba as kw,ca as h8,da as R2,e as X6,ea as m8,f as Jl,fa as Mw,g as hw,ga as Xh,h as mw,i as Kh,j as pw,k as uw,l as Ql,m as Q9,n as $h,p as B2,q as J6,r as er,s as ee,t as te,u as tr,v as Q6,w as ar,x as dw,y as gw,z as ae}from"./chunk-YZCBNR36.js";import{d as pa,e as $6,g as o2,h as Xl,i as D4,j as cw,k as lw,l as Y6,m as rw,n as ow,s as X9,t as g0,u as n8,v as iw,w as J9,x as X1}from"./chunk-FJLS4CM7.js";import{$ as kz,D as yz,Da as Tz,G as wz,Ga as ra,Ha as pl,I as ca,J as tl,L as al,La as N3,Ma as Nl,O as sl,Oa as _l,Q as cl,Qa as oy,R as yh,Ra as iy,Sa as ny,Ta as Il,X as ll,Y as Cz,a as V3,aa as Mz,b as Vb,c as S1,ca as wh,i as m5,j as z9,k as Xc,l as hz,m as mz,pa as Sz,q as Jc,qa as Lz,ra as Az,sa as Hz,va as Fz}from"./chunk-5WCXWFFH.js";import{c as ta,d as Mb,e as Sb,g as Lb,i as L2,j as Nb,k as v9,l as _b,m as t4,r as $y,s as Xy,t as J2,u as Jy}from"./chunk-HKY6MFXK.js";import{a as ND,b as _D}from"./chunk-Y6SLVHK3.js";var zT=ND((rL1,bT)=>{"use strict";function IX(e,t){this.v=e,this.k=t}function QF(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,s=Array(t);a<t;a++)s[a]=e[a];return s}function BX(e){if(Array.isArray(e))return e}function RX(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var s,c,l,r,o=[],i=!0,n=!1;try{if(l=(a=a.call(e)).next,t===0){if(Object(a)!==a)return;i=!1}else for(;!(i=(s=l.call(a)).done)&&(o.push(s.value),o.length!==t);i=!0);}catch(h){n=!0,c=h}finally{try{if(!i&&a.return!=null&&(r=a.return(),Object(r)!==r))return}finally{if(n)throw c}}return o}}function ZX(){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 DX(e,t){return BX(e)||RX(e,t)||OX(e,t)||ZX()}function OX(e,t){if(e){if(typeof e=="string")return QF(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)?QF(e,t):void 0}}function ci(e){var t,a;function s(l,r){try{var o=e[l](r),i=o.value,n=i instanceof IX;Promise.resolve(n?i.v:i).then(function(h){if(n){var m=l==="return"&&i.k?l:"next";if(!i.k||h.done)return s(m,h);h=e[m](h).value}c(!!o.done,h)},function(h){s("throw",h)})}catch(h){c(2,h)}}function c(l,r){l===2?t.reject(r):t.resolve({value:r,done:l}),(t=t.next)?s(t.key,t.arg):a=null}this._invoke=function(l,r){return new Promise(function(o,i){var n={key:l,arg:r,resolve:o,reject:i,next:null};a?a=a.next=n:(t=a=n,s(l,r))})},typeof e.return!="function"&&(this.return=void 0)}ci.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},ci.prototype.next=function(e){return this._invoke("next",e)},ci.prototype.throw=function(e){return this._invoke("throw",e)},ci.prototype.return=function(e){return this._invoke("return",e)};var dT=Object.entries,eT=Object.setPrototypeOf,GX=Object.isFrozen,qX=Object.getPrototypeOf,WX=Object.getOwnPropertyDescriptor,V2=Object.freeze,G2=Object.seal,st=Object.create,gT=typeof Reflect<"u"&&Reflect,Uu=gT.apply,ju=gT.construct;V2||(V2=function(t){return t});G2||(G2=function(t){return t});Uu||(Uu=function(t,a){for(var s=arguments.length,c=new Array(s>2?s-2:0),l=2;l<s;l++)c[l-2]=arguments[l];return t.apply(a,c)});ju||(ju=function(t){for(var a=arguments.length,s=new Array(a>1?a-1:0),c=1;c<a;c++)s[c-1]=arguments[c];return new t(...s)});var I8=k2(Array.prototype.forEach);Array.prototype.indexOf;var UX=k2(Array.prototype.lastIndexOf),tT=k2(Array.prototype.pop),zs=k2(Array.prototype.push);Array.prototype.slice;var jX=k2(Array.prototype.splice),ct=Array.isArray,ws=k2(String.prototype.toLowerCase),Zu=k2(String.prototype.toString),aT=k2(String.prototype.match),xs=k2(String.prototype.replace),sT=k2(String.prototype.indexOf),KX=k2(String.prototype.trim),$X=k2(Number.prototype.toString),YX=k2(Boolean.prototype.toString),cT=typeof BigInt>"u"?null:k2(BigInt.prototype.toString),lT=typeof Symbol>"u"?null:k2(Symbol.prototype.toString),K3=k2(Object.prototype.hasOwnProperty),ys=k2(Object.prototype.toString),h3=k2(RegExp.prototype.test),S7=XX(TypeError);function k2(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,s=new Array(a>1?a-1:0),c=1;c<a;c++)s[c-1]=arguments[c];return Uu(e,t,s)}}function XX(e){return function(){for(var t=arguments.length,a=new Array(t),s=0;s<t;s++)a[s]=arguments[s];return ju(e,a)}}function k0(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ws;if(eT&&eT(e,null),!ct(t))return e;let s=t.length;for(;s--;){let c=t[s];if(typeof c=="string"){let l=a(c);l!==c&&(GX(t)||(t[s]=l),c=l)}e[c]=!0}return e}function JX(e){for(let t=0;t<e.length;t++)K3(e,t)||(e[t]=null);return e}function u4(e){let t=st(null);for(let s of dT(e)){var a=DX(s,2);let c=a[0],l=a[1];K3(e,c)&&(ct(l)?t[c]=JX(l):l&&typeof l=="object"&&l.constructor===Object?t[c]=u4(l):t[c]=l)}return t}function QX(e){switch(typeof e){case"string":return e;case"number":return $X(e);case"boolean":return YX(e);case"bigint":return cT?cT(e):"0";case"symbol":return lT?lT(e):"Symbol()";case"undefined":return ys(e);case"function":case"object":{if(e===null)return ys(e);let t=e,a=V4(t,"toString");if(typeof a=="function"){let s=a(t);return typeof s=="string"?s:ys(s)}return ys(e)}default:return ys(e)}}function V4(e,t){for(;e!==null;){let s=WX(e,t);if(s){if(s.get)return k2(s.get);if(typeof s.value=="function")return k2(s.value)}e=qX(e)}function a(){return null}return a}function eJ(e){try{return h3(e,""),!0}catch{return!1}}var rT=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"]),Du=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"]),Ou=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"]),tJ=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"]),Gu=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"]),aJ=V2(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),oT=V2(["#text"]),iT=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"]),qu=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","dominant-baseline","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","pointer-events","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-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","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"]),nT=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"]),li=V2(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),sJ=G2(/{{[\w\W]*|^[\w\W]*}}/g),cJ=G2(/<%[\w\W]*|^[\w\W]*%>/g),lJ=G2(/\${[\w\W]*/g),rJ=G2(/^data-[\-\w.\u00B7-\uFFFF]+$/),oJ=G2(/^aria-[\-\w]+$/),hT=G2(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),iJ=G2(/^(?:\w+script|data):/i),nJ=G2(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),hJ=G2(/^html$/i),mJ=G2(/^[a-z][.\w]*(-[.\w]+)+$/i),mT=G2(/<[/\w!]/g),pT=G2(/<[/\w]/g),pJ=G2(/<\/no(script|embed|frames)/i),uJ=G2(/\/>/i),p4={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},vT=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],dJ=V2(k0({},vT)),gJ=(function(){let e={};return I8(vT,t=>{e[t]=G2(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),V2(e)})(),vJ=function(){return typeof window>"u"?null:window},fJ=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let s=null,c="data-tt-policy-suffix";a&&a.hasAttribute(c)&&(s=a.getAttribute(c));let l="dompurify"+(s?"#"+s:"");try{return t.createPolicy(l,{createHTML(r){return r},createScriptURL(r){return r}})}catch{return console.warn("TrustedTypes policy "+l+" could not be created."),null}},uT=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},L7=function(t,a,s,c){return K3(t,a)&&ct(t[a])?k0(c.base?u4(c.base):{},t[a],c.transform):s},Wu=function(t,a,s){let c=K3(t,a)?t[a]:void 0;return c&&typeof c=="object"?u4(c):s()};function fT(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vJ(),t=s1=>fT(s1);if(t.version="3.4.16",t.removed=[],!e||!e.document||e.document.nodeType!==p4.document||!e.Element)return t.isSupported=!1,t;let a=e.document,s=a,c=s.currentScript;e.DocumentFragment;let l=e.HTMLTemplateElement,r=e.Node,o=e.Element,i=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let n=e.DOMParser,h=e.trustedTypes,m=o.prototype,p=V4(m,"cloneNode"),u=V4(m,"remove"),g=V4(m,"removeAttributeNode"),d=V4(m,"nextSibling"),f=V4(m,"childNodes"),v=V4(m,"parentNode"),x=V4(m,"shadowRoot"),z=V4(m,"attributes"),C=r&&r.prototype?V4(r.prototype,"nodeType"):null,M=r&&r.prototype?V4(r.prototype,"nodeName"):null,A=r&&r.prototype?V4(r.prototype,"ownerDocument"):null,V=function(w){return C?C(w):w.nodeType},E=function(w){return M?M(w):w.nodeName};if(typeof l=="function"){let s1=a.createElement("template");s1.content&&s1.content.ownerDocument&&(a=s1.content.ownerDocument)}let O,F="",T,N=!1,B=0,P=function(){if(B>0)throw S7('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.')},D=function(w){P(),B++;try{return O.createHTML(w)}finally{B--}},c1=function(w){P(),B++;try{return O.createScriptURL(w)}finally{B--}},Z=function(){return N||(T=fJ(h,c),N=!0),T},q=a,K=q.implementation,W=q.createNodeIterator,r1=q.createDocumentFragment,z1=q.getElementsByTagName,$=s.importNode,e1=uT();t.isSupported=typeof dT=="function"&&typeof v=="function"&&K&&K.createHTMLDocument!==void 0;let d1=sJ,U=cJ,p1=lJ,f1=rJ,H0=oJ,F0=iJ,A1=nJ,a0=mJ,s0=hT,$1=null,y2=k0({},[...rT,...Du,...Ou,...Gu,...oT]),e0=null,S2=k0({},[...iT,...qu,...nT,...li]),d0=Object.seal(st(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}})),m1=null,U1=null,i0=Object.seal(st(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),T0=!0,y0=!0,r2=!1,X=!0,C1=!1,n0=!0,V0=!1,K5=!1,N6=null,_6=null,I6=!1,n5=!1,T3=!1,B6=!1,X7=!0,x3=!1,h9="user-content-",P3=!0,y3=!1,E3={},J3=null,b4=k0({},["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"]),$5=null,w3=k0({},["audio","video","img","source","image","track"]),J7=null,k1=k0({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),c0="http://www.w3.org/1998/Math/MathML",Q3="http://www.w3.org/2000/svg",M1="http://www.w3.org/1999/xhtml",u2=M1,w2=!1,Jt=null,rh=k0({},[c0,Q3,M1],Zu),hb=V2(["mi","mo","mn","ms","mtext"]),oh=k0({},hb),mb=V2(["annotation-xml"]),ih=k0({},mb),xD=k0({},["title","style","font","a","script"]),Qt=null,yD=["application/xhtml+xml","text/html"],wD="text/html",d2=null,m9=null,CD=a.createElement("form"),pb=function(w){return w instanceof RegExp||w instanceof Function},nh=function(){let w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(m9&&m9===w)return;(!w||typeof w!="object")&&(w={}),w=u4(w),Qt=yD.indexOf(w.PARSER_MEDIA_TYPE)===-1?wD:w.PARSER_MEDIA_TYPE,d2=Qt==="application/xhtml+xml"?Zu:ws,$1=L7(w,"ALLOWED_TAGS",y2,{transform:d2}),e0=L7(w,"ALLOWED_ATTR",S2,{transform:d2}),Jt=L7(w,"ALLOWED_NAMESPACES",rh,{transform:Zu}),J7=L7(w,"ADD_URI_SAFE_ATTR",k1,{transform:d2,base:k1}),$5=L7(w,"ADD_DATA_URI_TAGS",w3,{transform:d2,base:w3}),J3=L7(w,"FORBID_CONTENTS",b4,{transform:d2}),m1=L7(w,"FORBID_TAGS",u4({}),{transform:d2}),U1=L7(w,"FORBID_ATTR",u4({}),{transform:d2}),E3=K3(w,"USE_PROFILES")?w.USE_PROFILES&&typeof w.USE_PROFILES=="object"?u4(w.USE_PROFILES):w.USE_PROFILES:!1,T0=w.ALLOW_ARIA_ATTR!==!1,y0=w.ALLOW_DATA_ATTR!==!1,r2=w.ALLOW_UNKNOWN_PROTOCOLS||!1,X=w.ALLOW_SELF_CLOSE_IN_ATTR!==!1,C1=w.SAFE_FOR_TEMPLATES||!1,n0=w.SAFE_FOR_XML!==!1,V0=w.WHOLE_DOCUMENT||!1,n5=w.RETURN_DOM||!1,T3=w.RETURN_DOM_FRAGMENT||!1,B6=w.RETURN_TRUSTED_TYPE||!1,I6=w.FORCE_BODY||!1,X7=w.SANITIZE_DOM!==!1,x3=w.SANITIZE_NAMED_PROPS||!1,P3=w.KEEP_CONTENT!==!1,y3=w.IN_PLACE||!1,s0=eJ(w.ALLOWED_URI_REGEXP)?w.ALLOWED_URI_REGEXP:hT,u2=typeof w.NAMESPACE=="string"?w.NAMESPACE:M1,oh=Wu(w,"MATHML_TEXT_INTEGRATION_POINTS",()=>k0({},hb)),ih=Wu(w,"HTML_INTEGRATION_POINTS",()=>k0({},mb));let _=Wu(w,"CUSTOM_ELEMENT_HANDLING",()=>st(null));if(d0=st(null),K3(_,"tagNameCheck")&&pb(_.tagNameCheck)&&(d0.tagNameCheck=_.tagNameCheck),K3(_,"attributeNameCheck")&&pb(_.attributeNameCheck)&&(d0.attributeNameCheck=_.attributeNameCheck),K3(_,"allowCustomizedBuiltInElements")&&typeof _.allowCustomizedBuiltInElements=="boolean"&&(d0.allowCustomizedBuiltInElements=_.allowCustomizedBuiltInElements),G2(d0),C1&&(y0=!1),T3&&(n5=!0),E3&&($1=k0({},oT),e0=st(null),E3.html===!0&&(k0($1,rT),k0(e0,iT)),E3.svg===!0&&(k0($1,Du),k0(e0,qu),k0(e0,li)),E3.svgFilters===!0&&(k0($1,Ou),k0(e0,qu),k0(e0,li)),E3.mathMl===!0&&(k0($1,Gu),k0(e0,nT),k0(e0,li))),i0.tagCheck=null,i0.attributeCheck=null,K3(w,"ADD_TAGS")&&(typeof w.ADD_TAGS=="function"?i0.tagCheck=w.ADD_TAGS:ct(w.ADD_TAGS)&&($1===y2&&($1=u4($1)),k0($1,w.ADD_TAGS,d2))),K3(w,"ADD_ATTR")&&(typeof w.ADD_ATTR=="function"?i0.attributeCheck=w.ADD_ATTR:ct(w.ADD_ATTR)&&(e0===S2&&(e0=u4(e0)),k0(e0,w.ADD_ATTR,d2))),K3(w,"ADD_FORBID_CONTENTS")&&ct(w.ADD_FORBID_CONTENTS)&&(J3===b4&&(J3=u4(J3)),k0(J3,w.ADD_FORBID_CONTENTS,d2)),P3&&($1["#text"]=!0),V0&&k0($1,["html","head","body"]),$1.table&&(k0($1,["tbody"]),delete m1.tbody),w.TRUSTED_TYPES_POLICY){if(typeof w.TRUSTED_TYPES_POLICY.createHTML!="function")throw S7('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof w.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw S7('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let Q=O;O=w.TRUSTED_TYPES_POLICY;try{F=D("")}catch(i1){throw O=Q,i1}}else w.TRUSTED_TYPES_POLICY===null?(O=void 0,F=""):(O===void 0&&(O=Z()),O&&typeof F=="string"&&(F=D("")));V2&&V2(w),m9=w},ub=k0({},[...Du,...Ou,...tJ]),db=k0({},[...Gu,...aJ]),kD=function(w,_,Q){return _.namespaceURI===M1?w==="svg":_.namespaceURI===c0?w==="svg"&&(Q==="annotation-xml"||oh[Q]):!!ub[w]},MD=function(w,_,Q){return _.namespaceURI===M1?w==="math":_.namespaceURI===Q3?w==="math"&&ih[Q]:!!db[w]},SD=function(w,_,Q){return _.namespaceURI===Q3&&!ih[Q]||_.namespaceURI===c0&&!oh[Q]?!1:!db[w]&&(xD[w]||!ub[w])},LD=function(w){let _=v(w);(!_||!_.tagName)&&(_={namespaceURI:u2,tagName:"template"});let Q=ws(w.tagName),i1=ws(_.tagName);return Jt[w.namespaceURI]?w.namespaceURI===Q3?kD(Q,_,i1):w.namespaceURI===c0?MD(Q,_,i1):w.namespaceURI===M1?SD(Q,_,i1):!!(Qt==="application/xhtml+xml"&&Jt[w.namespaceURI]):!1},R6=function(w){zs(t.removed,{element:w});try{v(w).removeChild(w)}catch{if(u(w),!v(w))throw S7("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},gb=function(w,_,Q){try{g(w,_)}catch{try{w.removeAttribute(Q)}catch{}}},Rc=function(w){Zc(w);let _=f(w);if(_){let i1=[];I8(_,I1=>{zs(i1,I1)}),I8(i1,I1=>{try{u(I1)}catch{}})}let Q=z(w);if(Q)for(let i1=Q.length-1;i1>=0;--i1){let I1=Q[i1],h0=I1&&I1.name;typeof h0=="string"&&gb(w,I1,h0)}},Q7=function(w,_,Q){if(!Q)try{Q=_.getAttributeNode(w)}catch{Q=null}zs(t.removed,{attribute:Q||null,from:_});try{Q?g(_,Q):_.removeAttribute(w)}catch{try{_.removeAttribute(w)}catch{}}if(w==="is")if(n5||T3)try{R6(_)}catch{}else try{_.setAttribute(w,"")}catch{}},AD=function(w){let _=z(w);if(_)for(let Q=_.length-1;Q>=0;--Q){let i1=_[Q],I1=i1&&i1.name;typeof I1!="string"||e0[d2(I1)]||gb(w,i1,I1)}},Zc=function(w){let _=[w];for(;_.length>0;){let Q=_.pop();V(Q)===p4.element&&AD(Q);let i1=f(Q);if(i1)for(let I1=i1.length-1;I1>=0;--I1)_.push(i1[I1])}},vb=function(w,_){return n0?w==="patchsrc"?!0:w==="for"&&_!=="label"&&_!=="output":!1},HD=function(w){if(!n0)return;let _=[w];for(;_.length>0;){let Q=_.pop(),i1=V(Q);if(i1===p4.processingInstruction||i1===p4.comment&&h3(pT,Q.data)){try{u(Q)}catch{}continue}if(i1===p4.element){let h0=Q,f0=d2(E(Q));try{h0.hasAttribute&&h0.hasAttribute("patchsrc")&&h0.removeAttribute("patchsrc"),h0.hasAttribute&&h0.hasAttribute("for")&&vb("for",f0)&&h0.removeAttribute("for")}catch{}}let I1=f(Q);if(I1)for(let h0=I1.length-1;h0>=0;--h0)_.push(I1[h0])}},fb=function(w){let _=null,Q=null;if(I6)w="<remove></remove>"+w;else{let h0=aT(w,/^[\r\n\t ]+/);Q=h0&&h0[0]}Qt==="application/xhtml+xml"&&u2===M1&&(w='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+w+"</body></html>");let i1=O?D(w):w;if(u2===M1)try{_=new n().parseFromString(i1,Qt)}catch{}if(!_||!_.documentElement){_=K.createDocument(u2,"template",null);try{_.documentElement.innerHTML=w2?F:i1}catch{}}let I1=_.body||_.documentElement;return w&&Q&&I1.insertBefore(a.createTextNode(Q),I1.childNodes[0]||null),u2===M1?z1.call(_,V0?"html":"body")[0]:V0?_.documentElement:I1},bb=function(w){let _=A?A(w):w.ownerDocument;return W.call(_||w,w,i.SHOW_ELEMENT|i.SHOW_COMMENT|i.SHOW_TEXT|i.SHOW_PROCESSING_INSTRUCTION|i.SHOW_CDATA_SECTION,null)},Dc=function(w){return w=xs(w,d1," "),w=xs(w,U," "),w=xs(w,p1," "),w},hh=function(w){var _;w.normalize();let Q=A?A(w):w.ownerDocument,i1=W.call(Q||w,w,i.SHOW_TEXT|i.SHOW_COMMENT|i.SHOW_CDATA_SECTION|i.SHOW_PROCESSING_INSTRUCTION,null),I1=i1.nextNode();for(;I1;)I1.data=Dc(I1.data),I1=i1.nextNode();let h0=(_=w.querySelectorAll)===null||_===void 0?void 0:_.call(w,"template");h0&&I8(h0,f0=>{p9(f0.content)&&hh(f0.content)})},Oc=function(w){let _=M?M(w):null;return typeof _!="string"||d2(_)!=="form"?!1:typeof w.nodeName!="string"||typeof w.textContent!="string"||typeof w.removeChild!="function"||w.attributes!==z(w)||typeof w.removeAttribute!="function"||typeof w.removeAttributeNode!="function"||typeof w.getAttributeNode!="function"||typeof w.setAttribute!="function"||typeof w.namespaceURI!="string"||typeof w.insertBefore!="function"||typeof w.hasChildNodes!="function"||w.nodeType!==C(w)||w.childNodes!==f(w)},p9=function(w){if(!C||typeof w!="object"||w===null)return!1;try{return C(w)===p4.documentFragment}catch{return!1}},ea=function(w){if(!C||typeof w!="object"||w===null)return!1;try{return typeof C(w)=="number"}catch{return!1}};function h5(s1,w,_){s1.length!==0&&I8(s1,Q=>{Q.call(t,w,_,m9)})}let FD=function(w,_){return!!(n0&&w.hasChildNodes()&&!ea(w.firstElementChild)&&h3(mT,w.textContent)&&h3(mT,w.innerHTML)||n0&&w.namespaceURI===M1&&dJ[_]&&(ea(w.firstElementChild)||typeof w.textContent=="string"&&h3(gJ[_],w.textContent))||w.nodeType===p4.processingInstruction||n0&&w.nodeType===p4.comment&&h3(pT,w.data))},Gc=function(w,_){if(w instanceof RegExp)return h3(w,_);if(w instanceof Function){for(var Q=arguments.length,i1=new Array(Q>2?Q-2:0),I1=2;I1<Q;I1++)i1[I1-2]=arguments[I1];return!!w(_,...i1)}return!1},TD=function(w,_,Q){if(!m1[_]&&wb(_)&&Gc(d0.tagNameCheck,_))return!1;if(P3&&!J3[_]){let i1=v(w),I1=f(w);if(I1&&i1){let h0=I1.length;for(let f0=h0-1;f0>=0;--f0){let h2=w===Q?p(I1[f0],!0):I1[f0];i1.insertBefore(h2,d(w))}}}return R6(w),!0},zb=function(w,_,Q,i1){return w.length===0?_:_===Q||_===i1?u4(_):_},u9=function(w,_){return w===_||v(w)!==null?!1:(y3&&Zc(w),!0)},xb=function(w,_){if(h5(e1.beforeSanitizeElements,w,null),u9(w,_))return!0;if(Oc(w))return R6(w),!0;let Q=d2(E(w));if($1=zb(e1.uponSanitizeElement,$1,y2,N6),h5(e1.uponSanitizeElement,w,{tagName:Q,allowedTags:$1}),u9(w,_))return!0;if(FD(w,Q))return R6(w),!0;if(m1[Q]||!(i0.tagCheck instanceof Function&&i0.tagCheck(Q))&&!$1[Q]){let i1=TD(w,Q,_);return i1===!1&&(h5(e1.afterSanitizeElements,w,null),u9(w,_))?!0:i1}if(V(w)===p4.element&&!LD(w)||(Q==="noscript"||Q==="noembed"||Q==="noframes")&&h3(pJ,w.innerHTML))return R6(w),!0;if(C1&&w.nodeType===p4.text){let i1=Dc(w.textContent);w.textContent!==i1&&(zs(t.removed,{element:w.cloneNode()}),w.textContent=i1)}return h5(e1.afterSanitizeElements,w,null),u9(w,_)},yb=function(w,_,Q){if(U1[_]||vb(_,w)||X7&&(_==="id"||_==="name")&&(Q in a||Q in CD))return!1;let i1=e0[_]||i0.attributeCheck instanceof Function&&i0.attributeCheck(_,w);return y0&&h3(f1,_)||T0&&h3(H0,_)?!0:i1?J7[_]||h3(s0,xs(Q,A1,""))||(_==="src"||_==="xlink:href"||_==="href")&&w!=="script"&&sT(Q,"data:")===0&&$5[w]||r2&&!h3(F0,xs(Q,A1,""))?!0:!Q:wb(w)&&Gc(d0.tagNameCheck,w)&&Gc(d0.attributeNameCheck,_,w)||_==="is"&&d0.allowCustomizedBuiltInElements&&Gc(d0.tagNameCheck,Q)},PD=k0({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),wb=function(w){return!PD[ws(w)]&&h3(a0,w)},ED=function(w,_,Q,i1){if(O&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!Q)switch(h.getAttributeType(w,_)){case"TrustedHTML":return D(i1);case"TrustedScriptURL":return c1(i1)}return i1},VD=function(w,_,Q,i1){try{return Q?w.setAttributeNS(Q,_,i1):w.setAttribute(_,i1),Oc(w)?(R6(w),!1):!0}catch{return Q7(_,w),!1}},Cb=function(w,_){if(h5(e1.beforeSanitizeAttributes,w,null),u9(w,_))return;let Q=w.attributes;if(!Q||Oc(w))return;e0=zb(e1.uponSanitizeAttribute,e0,S2,_6);let i1={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:e0,forceKeepAttr:void 0},I1=Q.length,h0=d2(w.nodeName);for(;I1--;){let f0=Q[I1],h2=f0.name,z4=f0.namespaceURI,e4=f0.value,d9=d2(h2),ph=e4,C3=h2==="value"?ph:KX(ph),kb=!1;if(i1.attrName=d9,i1.attrValue=C3,i1.keepAttr=!0,i1.forceKeepAttr=void 0,h5(e1.uponSanitizeAttribute,w,i1),C3=i1.attrValue,x3&&(d9==="id"||d9==="name")&&sT(C3,h9)!==0&&(Q7(h2,w,f0),C3=h9+C3,kb=!0),n0&&h3(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,C3)){Q7(h2,w,f0);continue}if(d9==="attributename"&&aT(C3,"href")){Q7(h2,w,f0);continue}if(!i1.forceKeepAttr){if(!i1.keepAttr){Q7(h2,w,f0);continue}if(!X&&h3(uJ,C3)){Q7(h2,w,f0);continue}if(C1&&(C3=Dc(C3)),!yb(h0,d9,C3)){Q7(h2,w,f0);continue}C3=ED(h0,d9,z4,C3),C3!==ph&&VD(w,h2,z4,C3)&&kb&&tT(t.removed)}}h5(e1.afterSanitizeAttributes,w,null),u9(w,_)},qc=function(w){let _=null,Q=bb(w);for(h5(e1.beforeSanitizeShadowDOM,w,null);_=Q.nextNode();)if(h5(e1.uponSanitizeShadowNode,_,null),xb(_,w),Cb(_,w),p9(_.content)&&qc(_.content),V(_)===p4.element){let i1=x(_);p9(i1)&&(mh(i1),qc(i1))}h5(e1.afterSanitizeShadowDOM,w,null)},mh=function(w){let _=[{node:w,shadow:null}];for(;_.length>0;){let Q=_.pop();if(Q.shadow){qc(Q.shadow);continue}let i1=Q.node,I1=V(i1)===p4.element,h0=f(i1);if(h0)for(let f0=h0.length-1;f0>=0;--f0)_.push({node:h0[f0],shadow:null});if(I1){let f0=M?M(i1):null;if(typeof f0=="string"&&d2(f0)==="template"){let h2=i1.content;p9(h2)&&_.push({node:h2,shadow:null})}}if(I1){let f0=x(i1);p9(f0)&&_.push({node:null,shadow:f0},{node:f0,shadow:null})}}};return t.sanitize=function(s1){let w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_=null,Q=null,i1=null,I1=null;if(w2=!s1,w2&&(s1="<!-->"),typeof s1!="string"&&!ea(s1)&&(s1=QX(s1),typeof s1!="string"))throw S7("dirty is not a string, aborting");if(!t.isSupported)return s1;K5?($1=N6,e0=_6):nh(w),(e1.uponSanitizeElement.length>0||e1.uponSanitizeAttribute.length>0)&&($1=u4($1)),e1.uponSanitizeAttribute.length>0&&(e0=u4(e0)),t.removed=[];let h0=y3&&typeof s1!="string"&&ea(s1);if(h0){HD(s1);let z4=E(s1);if(typeof z4=="string"){let e4=d2(z4);if(!$1[e4]||m1[e4])throw Rc(s1),S7("root node is forbidden and cannot be sanitized in-place")}if(Oc(s1))throw Rc(s1),S7("root node is clobbered and cannot be sanitized in-place");try{mh(s1)}catch(e4){throw Rc(s1),e4}}else if(ea(s1))_=fb("<!---->"),Q=_.ownerDocument.importNode(s1,!0),Q.nodeType===p4.element&&Q.nodeName==="BODY"||Q.nodeName==="HTML"?_=Q:_.appendChild(Q),mh(_);else{if(!n5&&!C1&&!V0&&s1.indexOf("<")===-1)return O&&B6?D(s1):s1;if(_=fb(s1),!_)return n5?null:B6?F:""}_&&I6&&R6(_.firstChild);let f0=h0?s1:_;try{let z4=bb(f0);for(;i1=z4.nextNode();)xb(i1,f0),Cb(i1,f0),p9(i1.content)&&qc(i1.content)}catch(z4){throw h0&&(Rc(s1),I8(t.removed,e4=>{e4.element&&Zc(e4.element)})),z4}if(h0){let z4=!1;if(I8(t.removed,e4=>{e4.element&&(e4.element===s1&&(z4=!0),Zc(e4.element))}),z4)throw S7("a node selected for removal could not be safely returned; refusing to sanitize in place");return C1&&hh(s1),s1}if(n5){if(C1&&hh(_),T3)for(I1=r1.call(_.ownerDocument);_.firstChild;)I1.appendChild(_.firstChild);else I1=_;return(e0.shadowroot||e0.shadowrootmode)&&(I1=$.call(s,I1,!0)),I1}let h2=V0?_.outerHTML:_.innerHTML;return V0&&$1["!doctype"]&&_.ownerDocument&&_.ownerDocument.doctype&&_.ownerDocument.doctype.name&&h3(hJ,_.ownerDocument.doctype.name)&&(h2="<!DOCTYPE "+_.ownerDocument.doctype.name+`>
|
|
3
3
|
`+h2),C1&&(h2=Dc(h2)),O&&B6?D(h2):h2},t.setConfig=function(){let s1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};nh(s1),K5=!0,N6=$1,_6=e0},t.clearConfig=function(){m9=null,K5=!1,N6=null,_6=null,O=T,F=""},t.isValidAttribute=function(s1,w,_){m9||nh({});let Q=d2(s1),i1=d2(w);return yb(Q,i1,_)},t.addHook=function(s1,w){typeof w=="function"&&K3(e1,s1)&&zs(e1[s1],w)},t.removeHook=function(s1,w){if(K3(e1,s1)){if(w!==void 0){let _=UX(e1[s1],w);return _===-1?void 0:jX(e1[s1],_,1)[0]}return tT(e1[s1])}},t.removeHooks=function(s1){K3(e1,s1)&&(e1[s1]=[])},t.removeAllHooks=function(){e1=uT()},t}var bJ=fT();bT.exports=bJ});import{readLockHolder as xO}from"efficient-easel/edit-lock";var Qh="/api/storefront/section-templates/",Jh=e=>`${Qh}${encodeURIComponent(e)}/`,em=e=>e.node!=null;function or(e){if(!em(e))throw new Error(`Section template ${e.id} has no design`);return e}var am=(e,t)=>e instanceof D4&&e.status===t;function ID(e){return{list:()=>J9(`${Qh}?no_page=true`,{token:e()}).then(t=>Array.isArray(t)?t:t.results??[]),get:t=>J9(Jh(t),{token:e()}).catch(a=>{if(am(a,404))return null;throw a}),create:t=>J9(Qh,{method:"POST",token:e(),body:JSON.stringify(t)}),patch:(t,a)=>J9(Jh(t),{method:"PATCH",token:e(),body:JSON.stringify(a)}),remove:t=>J9(Jh(t),{method:"DELETE",token:e()})}}var tm="sf:section-templates",Sw=`${tm}.imported`,BD="Untitled section",RD=160,ir=e=>(typeof e=="string"?e.trim().slice(0,RD):"")||BD;function ZD(e){try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>{let s=a?.node;return typeof a?.id=="string"&&typeof s?.type=="string"}):[]}catch{return[]}}async function DD(e,t=J2){let a={created:0,seeded:0,left:0,skipped:0,kept:!1},s=t.getItem(tm);if(s===null)return a;for(let c of ZD(s))try{let l=await e.get(c.id);if(l)l.node==null?(await e.patch(c.id,{node:c.node}),a.seeded+=1):a.left+=1;else try{await e.create({id:c.id,name:ir(c.name),node:c.node}),a.created+=1}catch(r){if(!am(r,400))throw r;a.skipped+=1}}catch{return{...a,kept:!0}}return t.setItem(Sw,s),t.getItem(Sw)===s&&t.removeItem(tm),a}var nr=class{constructor(t,a=J2){this.readToken=t;this.storage=a;this.imported=null;this.http=ID(t)}ready(){return this.imported?this.imported:this.readToken()?(this.imported=DD(this.http,this.storage).catch(()=>{}),this.imported):Promise.resolve()}async list(){return await this.ready(),(await this.http.list()).filter(em)}async get(t){return await this.ready(),this.http.get(t)}async ensure(t,a,s){await this.ready();let c=async r=>r?em(r)?r:or(await this.http.patch(t,{node:s})):null,l=await c(await this.http.get(t));if(l)return l;try{return or(await this.http.create({id:t,name:ir(a),node:s}))}catch(r){if(am(r,400)){let o=await c(await this.http.get(t));if(o)return o}throw r}}async save(t,a){return await this.ready(),or(await this.http.create({name:ir(t),node:a}))}async update(t,a){return await this.ready(),or(await this.http.patch(t,{node:a}))}async rename(t,a){return await this.ready(),this.http.patch(t,{name:ir(a)})}async remove(t){await this.ready(),await this.http.remove(t)}};var Lw={"PATCH /api/activity/note-media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PATCH /api/activity/notes/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/auth/entities/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_on_dark:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_square:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PATCH /api/auth/me/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"PATCH /api/auth/users/{id}/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"PATCH /api/bug-reports/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"PATCH /api/employee-documents/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issue-files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issues/{id}/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issues/{id}/carton-groups/{group_id}/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issues/{id}/pallets/{pallet_id}/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issues/{id}/update_status/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/platform/brand-catalog/brands/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PATCH /api/products/brands/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PATCH /api/products/design-images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/products/dfm-log-files/{id}/":{file:{accept:".stp,.step,.dxf,.pdf,application/pdf,application/step,model/step,application/dxf,image/vnd.dxf",hint:"STP \xB7 STEP \xB7 DXF \xB7 PDF",max_bytes:536870912,max_files:1,policy:"dfm_file"}},"PATCH /api/products/moulds/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/products/project-images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/products/proposals/{id}/":{file:{accept:".pdf,application/pdf",hint:"PDF",max_bytes:52428800,max_files:1,policy:"proposal_pdf"}},"PATCH /api/products/weight-logs/{id}/":{image:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"},photo:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PATCH /api/purchase-invoices/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/purchase-orders/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/qc-reports/media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PATCH /api/recruitment/candidates/{id}/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"PATCH /api/reimbursements/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/rnd/images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/sales-claims/media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PATCH /api/storefront/header-settings/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PATCH /api/storefront/sites/{id}/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"POST /api/activity/note-media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/activity/notes/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/auth/entities/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_on_dark:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_square:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/auth/users/{id}/reset-password/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"POST /api/bank-statements/{id}/import_csv/":{file:{accept:".csv,text/csv,text/plain,application/vnd.ms-excel",hint:"CSV",max_bytes:5242880,max_files:1,policy:"csv_import"}},"POST /api/bank-statements/{id}/preview_csv/":{file:{accept:".csv,text/csv,text/plain,application/vnd.ms-excel",hint:"CSV",max_bytes:5242880,max_files:1,policy:"csv_import"}},"POST /api/bug-reports/":{attachments:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},files:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"POST /api/bug-reports/{id}/bookmark/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"POST /api/bug-reports/{id}/thread/":{attachments:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},files:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"POST /api/careers/assessments/{token}/snapshots/":{image:{accept:"image/*",max_bytes:409600,max_files:1,policy:"proctoring_snapshot"}},"POST /api/careers/jobs/{slug}/apply/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/chat/conversations/{id}/thread/":{files:{accept:"*",max_bytes:26214400,max_files:10,policy:"chat_files"}},"POST /api/chat/public/conversations/{id}/thread/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"chat_image",reencoded_image:!0}},"POST /api/customer-portal/conversations/{id}/thread/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"chat_image",reencoded_image:!0}},"POST /api/customer-portal/warranty-claim-media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/dealer-portal/wheel-media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/employee-documents/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issue-files/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/bulk_update_status/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/actual_packing/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/carton-groups/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/generate-label/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/pallets/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/refresh-tracking/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/regenerate-label/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/regenerate_invoice/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/update_loaded/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/platform/brand-catalog/brands/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/brand-catalog/brands/{id}/assign-owner/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/brand-catalog/brands/{id}/publish/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/brand-catalog/brands/{id}/resync/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/brand-catalog/brands/{id}/unpublish/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/feedback/reports/{id}/thread/":{attachments:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},files:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"}},"POST /api/products/brands/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/products/brands/{id}/generate-box-pns/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/products/design-images/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/products/dfm-log-files/":{file:{accept:".stp,.step,.dxf,.pdf,application/pdf,application/step,model/step,application/dxf,image/vnd.dxf",hint:"STP \xB7 STEP \xB7 DXF \xB7 PDF",max_bytes:536870912,max_files:1,policy:"dfm_file"}},"POST /api/products/moulds/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/products/project-images/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/products/proposals/":{file:{accept:".pdf,application/pdf",hint:"PDF",max_bytes:52428800,max_files:1,policy:"proposal_pdf"}},"POST /api/products/proposals/{id}/approve-project/":{file:{accept:".pdf,application/pdf",hint:"PDF",max_bytes:52428800,max_files:1,policy:"proposal_pdf"}},"POST /api/products/weight-logs/":{image:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"},photo:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/purchase-invoices/capture/":{file:{accept:"application/pdf,image/jpeg,image/png",hint:"PDF \xB7 JPG \xB7 PNG",max_bytes:15728640,max_files:1,policy:"bill_capture"}},"POST /api/purchase-invoices/files/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/purchase-orders/files/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/qc-reports/media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/recruitment/candidates/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/analyze-cv/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/hire/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/move-stage/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/reinstate/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/reject/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/withdraw/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/reimbursements/files/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/rnd/images/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/rnd/{id}/upload_image/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/sales-claims/media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/sales/contacts/import-csv/":{file:{accept:".csv,text/csv,text/plain,application/vnd.ms-excel",hint:"CSV",max_bytes:5242880,max_files:1,policy:"csv_import"}},"POST /api/sales/contacts/{id}/avatar/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"POST /api/shop-portal/return-media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/storefront/media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 SVG \xB7 WEBP \xB7 MP4",max_bytes:268435456,max_files:1,policy:"storefront_media"}},"POST /api/storefront/media/ingest/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 SVG \xB7 WEBP \xB7 MP4",max_bytes:268435456,max_files:1,policy:"storefront_media"}},"POST /api/storefront/sites/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"POST /api/storefront/sites/{id}/address/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"POST /api/storefront/sites/{id}/duplicate/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"POST /api/supplier-portal/dfm-log-files/":{file:{accept:".stp,.step,.dxf,.pdf,application/pdf,application/step,model/step,application/dxf,image/vnd.dxf",hint:"STP \xB7 STEP \xB7 DXF \xB7 PDF",max_bytes:536870912,max_files:1,policy:"dfm_file"}},"POST /api/utility/mail/send/":{attachments:{accept:"*",max_bytes:26214400,max_files:10,policy:"mail_attachments"},files:{accept:"*",max_bytes:26214400,max_files:10,policy:"mail_attachments"}},"PUT /api/activity/note-media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PUT /api/activity/notes/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/auth/entities/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_on_dark:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_square:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PUT /api/auth/me/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"PUT /api/auth/users/{id}/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"PUT /api/bug-reports/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"PUT /api/employee-documents/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/goods-issue-files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/goods-issues/{id}/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/products/brands/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PUT /api/products/design-images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/products/dfm-log-files/{id}/":{file:{accept:".stp,.step,.dxf,.pdf,application/pdf,application/step,model/step,application/dxf,image/vnd.dxf",hint:"STP \xB7 STEP \xB7 DXF \xB7 PDF",max_bytes:536870912,max_files:1,policy:"dfm_file"}},"PUT /api/products/moulds/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/products/project-images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/products/proposals/{id}/":{file:{accept:".pdf,application/pdf",hint:"PDF",max_bytes:52428800,max_files:1,policy:"proposal_pdf"}},"PUT /api/products/weight-logs/{id}/":{image:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"},photo:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PUT /api/purchase-invoices/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/purchase-orders/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/qc-reports/media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PUT /api/recruitment/candidates/{id}/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"PUT /api/reimbursements/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/rnd/images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/sales-claims/media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PUT /api/storefront/header-settings/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PUT /api/storefront/sites/{id}/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"PUT /api/storefront/sites/{id}/countries/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"PUT /api/storefront/sites/{id}/currencies/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"PUT /api/storefront/sites/{id}/part-prices/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}}};function Aw(e,t){let a=Lw[e][t];return{maxSizeBytes:a.max_bytes,maxFiles:a.max_files,accept:a.accept==="*"||a.accept==="*/*"?void 0:a.accept,acceptHint:a.hint}}var c6=["width","profile","rim"],Hw={width:"Width",profile:"Profile",rim:"Rim"},OD=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,GD={width:[100,500],profile:[20,100],rim:[10,30]};function o4(e){let t=OD.exec(e??"");if(!t)return null;let a={width:Number(t[1]),profile:Number(t[2]),rim:Number(t[3])};return c6.every(c=>{let[l,r]=GD[c];return a[c]>=l&&a[c]<=r})?a:null}function O4(e){if(e.width==null)return"";if(e.profile==null)return String(e.width);let t=`${e.width}/${e.profile}`;return e.rim==null?t:`${t} R${e.rim}`}function Fw(e){return[O4({width:e.width}),O4({width:e.width,profile:e.profile}),O4(e)]}var R3=["alloy-wheel","tyre"],hr=["alloy-wheel"],i4={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},Tw="All products",Pw="All product types";function x5(e){return e.length===1&&e[0]==="alloy-wheel"?{one:"wheel",many:"wheels"}:e.length===1&&e[0]==="tyre"?{one:"tyre",many:"tyres"}:{one:"product",many:"products"}}var ne=R3.map(e=>({value:e,label:i4[e]}));function y5(e){return e==null?[...hr]:Array.isArray(e)?R3.filter(t=>e.includes(t)):[...hr]}var k3=e=>e;function Z0(e){return k3(e).kind==="tyre"?"tyre":"alloy-wheel"}function Ew(e,t){return e.filter(a=>t.includes(Z0(a)))}function t7(e){return k3(e).slug??""}function sm(e){return k3(e).name??""}function he(e){return k3(e).brand??""}function Vw(e){let t=new Set;for(let a of e)if(t.add(he(a)),t.size>1)return!0;return!1}function qD(e){return k3(e).process??""}function Nw(e){let t=new Set;for(let a of e)if(t.add(qD(a)),t.size>1)return!0;return!1}function p8(e){return k3(e).prices??void 0}function cm(e){return k3(e).inStock!==!1}function _w(e){let t=k3(e),a=Z0(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(a)?a.filter(s=>typeof s=="number"&&Number.isFinite(s)):[]}function lm(e){return Z0(e)!=="tyre"&&k3(e).badge==="new"}function rm(e){return Z0(e)==="tyre"?[]:(k3(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function Iw(e){return rm(e).map(t=>t.family)}function Bw(e){if(Z0(e)==="tyre")return[];let t=k3(e),a=t.categories;return a&&a.length>0?a:t.process?[t.process]:[]}function Rw(e){return Z0(e)==="tyre"?[]:k3(e).spec?.pcds??[]}function Zw(e){return Z0(e)!=="tyre"?[]:k3(e).tyreTypes??[]}function Dw(e){return Z0(e)!=="tyre"?[]:k3(e).speedRatings??[]}function me(e){if(Z0(e)!=="tyre")return[];let t=k3(e).sizes;return Array.isArray(t)?t.map(a=>o4(typeof a=="string"?a:null)).filter(a=>a!==null):[]}function G4(e,t){return e.length===0?e:e.filter(a=>a.kind===void 0||a.kind===t)}function mr(e,t){if(t.length===0)return e;let a=pe(t);return a7(e.filter(s=>a(s.fieldKey)),s=>s.fieldKey,t,"cardOrder")}function Ow(e,t){let a=t==="filter"?"filterOrder":"cardOrder",s=new Map;for(let c of e){let l=c[a];if(typeof l!="number"||!Number.isFinite(l))continue;let r=s.get(c.fieldKey);(r===void 0||l<r)&&s.set(c.fieldKey,l)}return c=>c?s.get(c):void 0}function om(e){return ur(e,"spec")}function Gw(e){return ur(e,"fitment")}function im(e,t){if(t.length===0)return e;let a=om(t),s=e.filter(c=>a(c.fieldKey));return a7(s,c=>c.fieldKey,t,"specOrder")}function a7(e,t,a,s){let c=new Map;for(let i of a){let n=i[s];typeof n=="number"&&c.set(i.fieldKey,n)}if(c.size===0)return e;let l=[],r=[];e.forEach((i,n)=>{let h=t(i);h&&(l.push(n),r.push({item:i,index:n,order:c.get(h)}))}),r.sort((i,n)=>i.order!==void 0&&n.order!==void 0?i.order-n.order||i.index-n.index:i.order!==void 0?-1:n.order!==void 0?1:i.index-n.index);let o=[...e];return l.forEach((i,n)=>{o[i]=r[n].item}),o.every((i,n)=>i===e[n])?e:o}function pe(e){return ur(e,"card")}function pr(e){return ur(e,"filter")}var ue="collection";function de(e,t){return{tyreSizes:{},brands:{"alloy-wheel":"brand",tyre:"brand"},finishes:{"alloy-wheel":"wheel_finish_ref"},diameters:{"alloy-wheel":"diameter",tyre:"rim_diameter"},collections:{"alloy-wheel":ue},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function ur(e,t){let a=new Set(e.filter(s=>s[t]===!1).map(s=>s.fieldKey));return s=>!s||!a.has(s)}function F2(e){return Number.isInteger(e)?String(e):String(Number(e.toFixed(2)))}function dr(e,t){return e===t?`ET ${e}`:`ET ${e}\u2013${t}`}function qw(e,t){return e===t?`${F2(e)}"`:`${F2(e)}"\u2013${F2(t)}"`}function nm(e){return e==="\u2014"?e:`${e}"`}var da={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},Ww=Object.keys(da);function ge(e){return _2(Ww,"recommended",e)}function hm(e){return Ww.filter(t=>t!=="recommended"||e.length<=1)}function Uw(e,t){let a=ge(e);return hm(t).includes(a)?a:"name"}var ga=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],WD={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},UD={diameters:"tyreSizes"};function jw(e){if(e.length===0)return[];let t=ga.filter(a=>e.every(s=>WD[a].includes(s)));return t.filter(a=>{let s=UD[a];return!s||!t.includes(s)})}function Kw(e,t){return t&&e.includes(t)?[t]:[...e]}function $w(e){let t=new Set;for(let a of e)t.add(Z0(a));return[...t]}var w5={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function u8(e){return`${jD(e.width)}\xD7${e.diameter}`}function Yw(e){return(e.sizePairs??[]).map(u8)}function jD(e){return F2(e)}function va(e,t,a,s=null){if(s!=="kind"&&t.kind&&Z0(e)!==t.kind)return!1;for(let c of ga){if(s===c)continue;let l=t[c];if(l.length===0)continue;let r=l.map(String);if(!Qw(e,c).some(o=>r.includes(o)))return!1}return!(s!=="price"&&!tr(p8(e),a,null,t.priceMax)||s!=="inStock"&&t.inStockOnly&&!cm(e))}function Xw(e,t,a){return e.filter(s=>cm(s)&&va(s,t,a,"inStock")).length}function KD(e,t,a){let s=[...e],c=(r,o)=>sm(r).localeCompare(sm(o)),l=$w(e).length>1;switch(t){case"price-asc":return s.sort((r,o)=>te(p8(r),p8(o),a,"asc"));case"price-desc":return s.sort((r,o)=>te(p8(r),p8(o),a,"desc"));case"name":return s.sort(c);case"new":return s.sort((r,o)=>{let i=(lm(o)?1:0)-(lm(r)?1:0);return i!==0||!l?i:c(r,o)});default:return s}}function Jw(e,t,a){return KD(e.filter(s=>va(s,t,a)),t.sort,a)}function gr(e){return ga.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}var mm={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function Qw(e,t){switch(t){case"tyreSizes":return[...new Set(me(e).flatMap(Fw))];case"brands":return he(e)?[he(e)]:[];case"finishes":return Iw(e);case"diameters":return _w(e).map(String);case"collections":return Bw(e);case"pcds":return Rw(e);case"tyreTypes":return Zw(e);case"speedRatings":return Dw(e)}}function $D(e){let t=new Map;for(let a of e)for(let s of rm(a))s.color&&!t.has(s.family)&&t.set(s.family,s.color);return t}function vr(e,t,a,s=$w(e),c=[]){let l=n=>YD(n,s,c),r=$D(e),o=jw(s).filter(n=>n!=="tyreSizes").filter(l).map(n=>{let h=t[n].map(String),m=new Set,p=new Map,u=new Map;for(let d of e){let f=Qw(d,n);for(let v of f)m.add(v);for(let v of new Set(f))u.set(v,(u.get(v)??0)+1);if(va(d,t,a,n))for(let v of new Set(f))p.set(v,(p.get(v)??0)+1)}let g=[...m].map(d=>({value:d,label:n==="diameters"?`${d}\u2033`:d,count:p.get(d)??0,checked:h.includes(d),swatch:n==="finishes"?r.get(d)??null:null})).sort((d,f)=>{if(n==="diameters")return Number(d.value)-Number(f.value);let v=(u.get(f.value)??0)-(u.get(d.value)??0);return v!==0?v:d.value.localeCompare(f.value)});return{key:n,label:mm[n],options:g}}).filter(n=>n.options.length>fa),i=[];for(let n of o){let h=XD(n.key,s,c);h!==void 0&&i.push({fieldKey:n.key,filterOrder:h})}return[...a7(o,n=>n.key,i,"filterOrder")]}var fa=1;function fr(e){return e.showCollection===!1?["collections"]:[]}function YD(e,t,a){return t.length===0||a.length===0?!0:t.some(s=>pr(G4(a,s))(de(e,s)))}function XD(e,t,a){if(a.length===0)return;let s;for(let c of t){let l=Ow(G4(a,c),"filter")(de(e,c));l!==void 0&&(s===void 0||l<s)&&(s=l)}return s}function JD(e){let t=new Set;for(let a of e)for(let s of me(a))t.add(O4(s));return t.size}function eC(e,t){return jw(t).includes("tyreSizes")?JD(e)>fa:!1}function tC(e){let t=o4(e);if(t)return t;let[a,s]=e.split("/");return{width:a?Number(a):void 0,profile:s?Number(s):void 0}}function QD(e,t,a){return c6.slice(0,c6.indexOf(a)).every(s=>{let c=t[s];return c==null||e[s]===c})}function aC(e,t,a){let s=tC(t.tyreSizes[0]??""),c=new Set(e.filter(l=>va(l,t,a,"tyreSizes")));return c6.map(l=>{let r=new Map;for(let i of e){let n=me(i).filter(h=>QD(h,s,l));for(let h of new Set(n.map(m=>m[l])))r.has(h)||r.set(h,0),c.has(i)&&r.set(h,(r.get(h)??0)+1)}let o=[...r.keys()].sort((i,n)=>i-n).map(i=>({value:i,label:l==="rim"?`R${i}`:String(i),count:r.get(i)??0}));return{part:l,label:Hw[l],value:s[l]??null,options:o}})}function sC(e,t,a,s){let c={...tC(t)},l=c6.indexOf(a);c[a]=s??void 0;for(let r of c6.slice(l+1))c[r]!=null&&e.some(n=>c6.slice(0,c6.indexOf(r)+1).every(h=>c[h]==null||n[h]===c[h]))||(c[r]=void 0);return O4(c)}function cC(e,t,a,s){if(t.length<2)return[];let c=e.filter(l=>va(l,a,s,"kind"));return[{kind:null,label:Tw,count:c.length,checked:a.kind===null},...t.map(l=>({kind:l,label:i4[l],count:c.filter(r=>Z0(r)===l).length,checked:a.kind===l}))]}function lC(e,t){if(e.length===0)return null;let a=e.map(l=>ee(p8(l),t)).filter(l=>l!==null);if(a.length===0)return null;let s=Math.floor(Math.min(...a)),c=Math.ceil(Math.max(...a));return c>s?{min:s,max:c}:null}function rC(e,t,a){let s=[];e.kind&&s.push({key:"kind",value:e.kind,label:i4[e.kind]}),e.inStockOnly&&s.push({key:"inStock",value:"",label:"In stock"});for(let c of ga)for(let l of e[c]){let r=String(l);s.push({key:c,value:r,label:c==="diameters"?`${r}\u2033`:c==="pcds"?`PCD ${r}`:r})}return e.priceMax!=null&&s.push({key:"price",value:"",label:`Up to ${a(e.priceMax,t)}`}),s}var w4={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},s7="type",oC="maxPrice",iC="inStock",nC="sort",hC="page";function mC(e){let t=l=>e.getAll(l).flatMap(r=>r.split(",")).filter(Boolean),a=Number(e.get(oC)),s=Number(e.get(hC)),c=e.get(s7);return{tyreSizes:t(w4.tyreSizes),brands:t(w4.brands),finishes:t(w4.finishes),diameters:t(w4.diameters).map(Number).filter(Number.isFinite),collections:t(w4.collections),pcds:t(w4.pcds),tyreTypes:t(w4.tyreTypes),speedRatings:t(w4.speedRatings),priceMax:Number.isFinite(a)&&a>0?a:null,inStockOnly:e.get(iC)==="1",kind:R3.find(l=>l===c)??null,sort:ge(e.get(nC)),page:Number.isFinite(s)&&s>=1?Math.floor(s):1}}function d8(e){let t=new URLSearchParams;for(let a of ga){let s=e[a];s.length>0&&t.set(w4[a],s.join(","))}return e.priceMax!=null&&t.set(oC,String(e.priceMax)),e.inStockOnly&&t.set(iC,"1"),e.kind&&t.set(s7,e.kind),e.sort!=="recommended"&&t.set(nC,e.sort),e.page>1&&t.set(hC,String(e.page)),t}function pC(e,t){if(e<=7)return Array.from({length:e},(l,r)=>r+1);let a=[1],s=Math.max(2,t-1),c=Math.min(e-1,t+1);s>2&&a.push(null);for(let l=s;l<=c;l++)a.push(l);return c<e-1&&a.push(null),a.push(e),a}function uC(e,t,a){let s=e.length,c=Math.max(1,Math.floor(a)),l=Math.max(1,Math.ceil(s/c)),r=Math.min(Math.max(1,Math.floor(t)),l),o=(r-1)*c;return{items:e.slice(o,o+c),page:r,pageCount:l,total:s,from:s===0?0:o+1,to:Math.min(o+c,s)}}var c7="__all__",dC="All products";function br(e){return e?.slug===c7}var ve="AlloyWheelsListing",eO="ProductGrid",gC="catalog",tO="CatalogFilterBar",zr="fieldUsage";function fe(e){return e?.type===eO&&br(e.props?.source)}function pm(e){return e?.type===tO}function aO(e){return e?.type===ve||fe(e)||pm(e)}function sO(e){let t=e.content??[],a=e.zones??{};return[...t,...Object.values(a).flat()]}function pa1(e){return e?sO(e).some(t=>t?.type===ve||fe(t)):!1}function ua1(e,t){return lO(e,a=>fe(a)?{...a,props:{...um(a).props,[gC]:cO(t,y5(a.props?.kinds))}}:{...a,props:{...dm(a).props,products:t}})}function da1(e){return fC(e,aO,t=>pm(t)?vC(t):fe(t)?um(t):dm(t))}function vC(e){if(!e.props||!(zr in e.props))return e;let{[zr]:t,...a}=e.props;return{...e,props:a}}function um(e){let{[gC]:t,[zr]:a,...s}=e.props??{};return{...e,props:s}}function cO(e,t){let a=new Set(t);return e.filter(s=>{let c=s.kind??"alloy-wheel";return a.has(c)})}function ga1(e){return fe(e)?um(e):pm(e)?vC(e):e?.type===ve?dm(e):e}function dm(e){let{wheels:t,products:a,[zr]:s,...c}=e.props??{};return{...e,props:c}}function lO(e,t){return fC(e,a=>a?.type===ve||fe(a),t)}function fC(e,t,a){let s=r=>t(r)?a(r):r,c=e,l={...e};return c.content&&(l.content=c.content.map(s)),c.zones&&(l.zones=Object.fromEntries(Object.entries(c.zones).map(([r,o])=>[r,o.map(s)]))),l}var ba="/wheels",gm="Products";function oO(e,t){return t>1?`${gm} \xB7 ${e}`:gm}function bC(...e){for(let t of e){let a=(t?.content??[]).find(s=>s?.type===ve);if(a)return a.props??{}}return null}function vm(...e){return bC(...e)!==null}function iO(e,t){let a=e.filter(s=>vm(...s.docs)).map(s=>t8(s.slug));return a.length===0&&t.fallback?[ba]:a}var zC=[s7,...Object.entries(w4).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function xC(e){let t=e.indexOf("#"),a=t===-1?"":e.slice(t),s=t===-1?e:e.slice(0,t),c=s.indexOf("?");return{path:c===-1?s:s.slice(0,c),query:c===-1?"":s.slice(c+1),hash:a}}function nO(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function fm(e){let t=new URLSearchParams(xC(e).query);for(let a of zC){let s=t.get(a);if(s)return{param:a,value:s}}return null}function bm(e,t){let{path:a,query:s,hash:c}=xC(e),l=s.split("&").filter(r=>r&&!zC.includes(nO(r.split("=")[0])));return t?.value&&l.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${a}${l.length?`?${l.join("&")}`:""}${c}`}function Ha1(e){return Array.isArray(e)?e.filter(t=>typeof t?.kind=="string"&&typeof t.field_key=="string").map(t=>({kind:t.kind,fieldKey:t.field_key,...typeof t.filter=="boolean"?{filter:t.filter}:{},filterOrder:t.filter_order??null})):[]}var hO="Product type",mO="AUD";function pO(e,t){let a=t.listing??{},s=y5(a.kinds),c=e.filter(i=>s.includes(Z0(i))),l=fr(a),r=vr(c,w5,mO,s,t.fieldUsage).filter(i=>!l.includes(i.key)).map(i=>({param:w4[i.key],label:i.label,values:i.options.filter(n=>!n.value.includes(",")).map(n=>({value:n.value,label:n.label}))})).filter(i=>i.values.length>0),o=R3.filter(i=>s.includes(i)&&c.some(n=>Z0(n)===i));return o.length>1&&r.unshift({param:s7,label:hO,values:o.map(i=>({value:i,label:i4[i]}))}),r}function Fa1(e){return t=>{let a=iO(t,{fallback:e.offersCommerce}),s=t.filter(c=>vm(...c.docs)).length;return{listingPaths:a,pageOptions:c=>{let l=c.map(r=>{let o=t.find(i=>t8(i.slug)===r.value);return o&&vm(...o.docs)?{...r,label:oO(o.title,s)}:r});return s===0&&e.offersCommerce&&!l.some(r=>r.value===ba)&&l.push({value:ba,label:gm}),l},filtersFor:c=>{if(!a.includes(c))return null;let l=t.find(r=>t8(r.slug)===c);return pO(e.catalogue,{listing:l?bC(...l.docs):null,fieldUsage:e.fieldUsage})},readFilter:fm,withFilter:bm}}}var zm="product",uO="tyre";var xm="productType",dO={[zm]:"alloy-wheel",[uO]:"tyre"},gO=["alloy-wheel","tyre"];function xr(e,t){return vO(t)??dO[e]??null}function vO(e){let t=e?.[xm];return typeof t=="string"&&gO.includes(t)?t:null}var fO=["home","products","gallery","about","contact"],bO=e=>{let t=e.slug.trim().toLowerCase(),a=(e.title??"").trim().toLowerCase(),s=fO.findIndex(c=>c===t||c===a);return s===-1?Number.POSITIVE_INFINITY:s},yC=e=>e.map((t,a)=>({page:t,idx:a,rank:bO(t)})).sort((t,a)=>t.rank-a.rank||t.idx-a.idx).map(t=>t.page);var kC="Popups",wC="Site";var MC={[Sx]:{label:"Site popup",group:kC},[F9]:{label:"Footer",group:wC},[zx]:{label:"Cart drawer",group:wC}};function wm(e){return MC[e.slug]?.label||e.title||e.slug}function ym(e){let t=e.group?.trim();return t||null}function CC(e,t){let a=new Map;for(let s of e){let c=t(s),l=a.get(c);l?l.push(s):a.set(c,[s])}return a}function SC(e){let t=yC(e),a=[],s=t.filter(o=>!oa(o.slug)),c=s.filter(o=>!ym(o));c.length&&a.push({key:"top",group:null,pages:c});let l=s.filter(o=>ym(o));for(let[o,i]of CC(l,n=>ym(n)))a.push({key:`folder:${o}`,group:o,pages:i});let r=t.filter(o=>oa(o.slug));for(let[o,i]of CC(r,n=>MC[n.slug]?.group??kC))a.push({key:`system:${o}`,group:o,pages:i});return a}import{isExpiredSession as Ya1,PAGE_CONFLICT_CODE as LC,readEaselFailure as Xa1}from"efficient-easel/screen/lib/failure";var yr=e=>e.layout_updated_at??e.updated_at??null;function yO(e){if(!e||typeof e!="object")return null;let t=e;return t.code!==LC?null:{savedBy:typeof t.saved_by=="string"?t.saved_by:"",savedByYou:t.saved_by_you===!0,secondsAgo:typeof t.seconds_ago=="number"?t.seconds_ago:0}}function wO(e){return e===401||e===403?"unauthorized":e===404?"not-found":e===lw||e>=500?"unavailable":"invalid"}function CO(e){if(!(e instanceof D4))return e;if(e.status===409){let t=yO(e.data);if(t)return new a8("changed-elsewhere",e.message,{conflict:t,cause:e});let a=xO(e.data);if(a)return new a8("lock-taken",e.message,{holder:a,cause:e})}return new a8(wO(e.status),e.message,{cause:e})}var kO={group:"Template pages",groupKey:"template"},AC=e=>({id:e.id,slug:e.slug,label:e.title||e.slug,...kO,draft:!1});function HC(e){let t=async n=>{let h=e.token();if(!h)throw new a8("unauthorized","The editor has no sign-in yet.");try{return await n(h)}catch(m){throw CO(m)}},a={list:n=>t(async h=>{let m=await X1.listPages(h,n?.siteId);return SC(m.filter(p=>p.slug!==F9)).flatMap(p=>p.pages.map(u=>({id:u.id,slug:u.slug,label:wm(u),group:p.group,groupKey:p.key,draft:!u.is_published,kind:u.kind??null})))}),load:n=>t(async h=>{let m="id"in n?n.id:(await X1.findPageBySlug(n.slug,h,n.siteId))?.id,p=m?await X1.getPageById(m,h):null;return p?{id:p.id,layout:p.layout,kind:p.kind,version:yr(p)}:null}),save:(n,h,m)=>{let{version:p}=m;return p?t(async u=>({version:yr(await X1.saveLayout(n,h.layout,u,p,m.clientId||void 0))})):Promise.reject(new Error("Refusing to save this page: the editor does not know which version it is replacing. Reload the page and try again."))},version:n=>t(h=>X1.getPageById(n,h).then(yr)),linkTargets:n=>t(async h=>(await X1.listPages(h,n?.siteId)).map(m=>({id:m.id,slug:m.slug,label:wm(m),layout:m.layout??null}))),publish:(n,h)=>t(async m=>({version:yr(await X1.publishPage(n,m,h?.version))}))},s=n=>({list:()=>t(async h=>(await X1.listTemplatePages(n,h)).map(AC)),load:h=>t(async m=>{let p=f=>"id"in h?f.id===h.id:f.slug===h.slug,u=f=>({id:f.id,layout:f.layout,version:null}),g=await X1.listTemplatePages(n,m);if(g.length)return u(g.find(p)??g[0]);let d=await X1.getTemplate(n,m).catch(()=>null);try{return u(await X1.createTemplatePage(n,{slug:jz,title:"Home",layout:d?.layout??{}},m))}catch{let f=await X1.listTemplatePages(n,m),v=f.find(p)??f[0];return v?u(v):null}}),save:(h,m)=>t(async p=>(await X1.saveTemplatePageLayout(h,m.layout,p),{version:null})),create:h=>t(async m=>AC(await X1.createTemplatePage(n,{slug:h.slug,title:h.title,layout:h.layout},m))),remove:h=>t(m=>X1.deleteTemplatePage(h,m))}),c=n=>{let h=n?.siteId??e.siteId();if(!h)throw new a8("not-found","This editor is not connected to a website.");return h},l=n=>({name:n.name,slug:n.slug,mapsApiKey:n.maps_api_key,mapsMapId:n.maps_map_id}),r=n=>Object.fromEntries(_l.map(h=>[h,n[Il(h)]??""])),o=n=>({enabled:n.enabled,title:n.title,subtitle:n.subtitle,greeting:n.greeting}),i={pages:a,lock:{claim:(n,h,m)=>t(async p=>({heartbeatSeconds:(await X1.claimPageEditLock(n,p,h,m)).heartbeat_seconds})),release:n=>t(h=>X1.releasePageEditLock(n,h))},site:{get:n=>t(async h=>l(await X1.getSite(c(n),h))),update:(n,h)=>t(async m=>l(await X1.updateSite(c(h),n.mapsApiKey===void 0?{}:{maps_api_key:n.mapsApiKey},m)))},media:{resolve:Nb,maxUploadBytes:Aw("POST /api/storefront/media/","file").maxSizeBytes},sectionTemplates:new nr(e.token),social:{get:n=>t(async h=>r(await X1.getSocialSettings(h,c(n)))),update:(n,h)=>t(async m=>{let p=Object.fromEntries(_l.filter(u=>u in n).map(u=>[Il(u),n[u]]));try{return r(await X1.updateSocialSettings(p,m,c(h)))}catch(u){if(u instanceof D4&&u.status===400){let g=u.data??{},d={};for(let f of _l){let v=g[Il(f)],x=Array.isArray(v)?v[0]:v;typeof x=="string"&&x.trim()&&(d[f]=x)}if(Object.keys(d).length>0)throw new a8("invalid",u.message,{fields:d,cause:u})}throw u}})},theme:{get:n=>t(h=>X1.getThemeSettings(h,n?.siteId)),update:(n,h)=>t(m=>X1.updateThemeSettings(n,m,h?.siteId))},chat:{get:n=>t(async h=>o(await X1.getChatSettings(h,n?.siteId))),update:(n,h)=>t(async m=>o(await X1.updateChatSettings(n,m,h?.siteId)))},blog:{posts:n=>t(async h=>(await X1.listBlogPosts(h,{visibleOnly:!0,siteId:n?.siteId})).map(m=>({slug:m.slug,title:m.title,excerpt:m.excerpt,category:m.category,coverImage:m.cover_image?v9(m.cover_image)??"":"",publishedAt:m.published_at,href:Sh(m.slug)})))},templates:{get:n=>t(async h=>{let m=await X1.getTemplate(n,h);return{id:m.id,name:m.name}}),pages:s}};return i[Mb]=!0,i}nx({read:e=>e instanceof D4?{status:e.status,data:e.data,message:e.message}:null,unreachableMessage:cw,loadRefusal:(e,{slug:t})=>e instanceof iw?`\u201C${t}\u201D exists on more than one website. Open it from the site you want to edit.`:null});Lb(e=>HC({token:()=>e.auth.token,siteId:()=>e.siteId()}));function ps1(e={}){return HC({token:()=>ta().auth.token,siteId:()=>e.siteId??ta().siteId()})}import{jsx as MO}from"react/jsx-runtime";import{createContext as SO,useContext as LO,useMemo as AO}from"react";var FC=SO({originData:null,originSlug:null,exitFocus:()=>{}});function vs1({children:e,originData:t,originSlug:a,exitFocus:s}){let c=AO(()=>({originData:t,originSlug:a,exitFocus:s}),[t,a,s]);return MO(FC.Provider,{value:c,children:e})}var TC=()=>LO(FC);import{useCallback as eG,useEffect as tG,useRef as aG,useState as ck}from"react";var HO=[{code:"US",name:"United States"},{code:"GB",name:"United Kingdom"},{code:"AU",name:"Australia"},{code:"CA",name:"Canada"},{code:"IE",name:"Ireland"},{code:"NZ",name:"New Zealand"},{code:"DE",name:"Germany"},{code:"FR",name:"France"},{code:"IT",name:"Italy"},{code:"ES",name:"Spain"},{code:"NL",name:"Netherlands"},{code:"BE",name:"Belgium"},{code:"AT",name:"Austria"},{code:"CH",name:"Switzerland"},{code:"SE",name:"Sweden"},{code:"NO",name:"Norway"},{code:"DK",name:"Denmark"},{code:"FI",name:"Finland"},{code:"PT",name:"Portugal"},{code:"PL",name:"Poland"},{code:"JP",name:"Japan"},{code:"SG",name:"Singapore"},{code:"AE",name:"United Arab Emirates"},{code:"HK",name:"Hong Kong"},{code:"ZA",name:"South Africa"}],FO=Object.fromEntries(HO.map(e=>[e.code,e.name]));function PC(e){return FO[e]??e}import{jsx as Cm,jsxs as EC}from"react/jsx-runtime";function VC(e,t,a){let s=new Map(e.map(c=>[c.code,c]));return(t?.length?t:e.map(c=>c.code)).map(c=>{let l=s.get(c);return{code:c,name:l?.name||PC(c),currency:l?.currency,url:l?.url||a?.[c]||""}})}function wr(e){let{countries:t}=p0();return VC(t,e).length>0}function g8({urls:e,countries:t}={}){let{country:a,setCountry:s,countries:c}=p0(),l=VC(c,t,e),r=l.find(m=>m.code===a)??l[0];function o(m){let p=(e?l.find(u=>u.code===m)?.url:"")?.trim();if(p){window.location.href=p;return}c.some(u=>u.code===m)&&s(m)}let i=l.map(m=>({value:m.code,label:m.name,meta:m.currency})),n=re({items:i,value:a,onPick:o});if(!r)return null;let h=n.open;return EC("div",{ref:n.wrapRef,className:"relative",children:[EC("button",{ref:m=>{n.triggerRef.current=m},type:"button","aria-haspopup":"listbox","aria-expanded":h,"aria-controls":h?n.listId:void 0,"aria-activedescendant":n.activeId,"aria-label":`Region: ${r.name}. Click to change.`,onClick:n.toggle,onKeyDown:n.onTriggerKeyDown,suppressHydrationWarning:!0,className:"inline-flex items-center gap-2 whitespace-nowrap border border-fg-dim px-2.5 py-1.5 font-mono text-[13px] uppercase tracking-[0.18em] transition-colors hover:border-fg",style:{color:"color-mix(in oklab, currentColor 80%, transparent)"},children:[Cm("span",{children:r.name}),Cm("span",{"aria-hidden":!0,className:`text-[11px] opacity-70 transition-transform ${h?"rotate-180":""}`,children:"\u25BE"})]}),h&&Cm(oe,{id:n.listId,tone:"region",ariaLabel:"Choose region",items:i,value:a,focusIdx:n.focusIdx,onFocus:n.setFocusIdx,onPick:n.pick,listRef:n.listRef})]})}import{useEffect as TO,useRef as NC}from"react";import{jsx as C4,jsxs as km}from"react/jsx-runtime";var za={search:"Search",account:"Account",cart:"Bag"},Mm="whitespace-nowrap";function PO(e){return e>99?"99+":String(e)}function EO({count:e,ref:t}){return C4("span",{ref:t,"data-cart-badge":"","aria-hidden":"true",className:"pointer-events-none absolute -top-[7px] -right-[9px] inline-flex h-4 min-w-4 items-center justify-center rounded-full bg-current px-1 text-[10px] leading-none font-semibold tabular-nums",style:{letterSpacing:0},children:C4("span",{style:{color:"var(--sf-header-ground, var(--bg))"},children:PO(e)})})}function Cr({onClick:e,count:t,asText:a,className:s}){let c=NC(null),l=NC(t);return TO(()=>{l.current!==t&&(l.current=t,!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&c.current?.animate([{transform:"scale(0.6)"},{transform:"scale(1)"}],{duration:180,easing:"ease-out"}))},[t]),C4("button",{type:"button",onClick:e,"aria-label":`Open cart, ${t} item${t===1?"":"s"}`,className:`mono-eyebrow-ctl inline-flex items-center gap-1.5 opacity-80 transition-opacity hover:opacity-100 ${s??""}`,children:a?km("span",{className:Mm,children:[za.cart,t>0?` ${t}`:""]}):km("span",{className:"relative inline-flex",children:[C4("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:zy}),t>0?C4(EO,{count:t,ref:c}):null]})})}function _C({asText:e,className:t}){return C4(S1,{href:"/account","aria-label":"Account",className:`mono-eyebrow-ctl inline-flex items-center opacity-80 transition-opacity hover:opacity-100 ${t??""}`,children:e?C4("span",{className:Mm,children:za.account}):km("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[C4("circle",{cx:"12",cy:"8",r:"3.4"}),C4("path",{d:"M5 20a7 7 0 0 1 14 0"})]})})}function kr({onClick:e,asText:t,className:a}){return C4("button",{type:"button",onClick:e,"aria-label":"Search",title:"Search (\u2318K)",className:`mono-eyebrow-ctl inline-flex items-center opacity-80 transition-opacity hover:opacity-100 ${a??""}`,children:t?C4("span",{className:Mm,children:za.search}):C4(Q5,{name:"search",size:18,strokeWidth:1.6,rounded:!0})})}var IC="Menu Item";var BC="Menu",RC="Link a menu in the inspector \u2192",ZC="This menu has no links yet \u2014 add them in Storefront \u2192 Menus.",DC="This column isn't linked to a menu, so the preview shows placeholder links. Pick a menu above.";function OC(e){return`\u201C${e}\u201D no longer exists in Storefront \u2192 Menus, so the preview shows placeholder links. Pick another menu.`}var Fs1="The menu linked here no longer exists in Storefront \u2192 Menus, so the header shows placeholder links. Pick another menu.";import{jsx as VO}from"react/jsx-runtime";function be(){return VO("span",{className:"opacity-50",children:IC})}import{jsx as NO}from"react/jsx-runtime";import{createContext as _O,useContext as Sm,useEffect as IO,useState as BO,useSyncExternalStore as RO}from"react";var qC=[];function ZO(){let e=qC,t=new Set,a=s=>{e=s;for(let c of t)c()};return{offer:s=>(a([...e,s]),()=>{let c=e.indexOf(s);c>=0&&a([...e.slice(0,c),...e.slice(c+1)])}),subscribe:s=>(t.add(s),()=>t.delete(s)),offered:()=>e}}var Mr=_O(null);function WC({children:e}){let[t]=BO(ZO);return NO(Mr.Provider,{value:t,children:e})}var Sr=()=>Sm(Mr)!==null;function Lm(e){let t=Sm(Mr);IO(()=>{if(!(!t||!e))return t.offer(e)},[t,e])}var DO=()=>()=>{},GC=()=>qC;function UC(){let e=Sm(Mr),t=RO(e?.subscribe??DO,e?.offered??GC,GC);return e?{search:t.includes("search"),region:t.includes("region")}:null}import{createContext as OO,useCallback as Am,useContext as GO,useEffect as qO,useMemo as WO,useState as UO}from"react";import{jsx as KO}from"react/jsx-runtime";var jO={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},jC=OO(jO);function Rs1({children:e,shortcut:t=!0}){let[a,s]=UO(!1),c=Am(()=>s(!0),[]),l=Am(()=>s(!1),[]),r=Am(()=>s(i=>!i),[]);qO(()=>{if(!t)return;let i=n=>{(n.metaKey||n.ctrlKey)&&(n.key==="k"||n.key==="K")&&(n.preventDefault(),s(h=>!h))};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[t]);let o=WO(()=>({isOpen:a,open:c,close:l,toggle:r}),[a,c,l,r]);return KO(jC.Provider,{value:o,children:e})}function ze(){return GO(jC)}import{useEffect as Hm}from"react";function k4({active:e,onDismiss:t,focusRef:a,lockScroll:s=!0,scopeRef:c}){Hm(()=>{if(!e)return;let l=c?.current?.ownerDocument??document,r=o=>{o.key==="Escape"&&t()};return l.addEventListener("keydown",r),()=>l.removeEventListener("keydown",r)},[e,t,c]),Hm(()=>{if(!e||!s)return;let l=(c?.current?.ownerDocument??document).body,r=l.style.overflow;return l.style.overflow="hidden",()=>{l.style.overflow=r}},[e,s,c]),Hm(()=>{e&&a?.current?.focus()},[e,a])}import{createContext as $O,useCallback as JC,useContext as YO,useMemo as XO,useState as JO}from"react";var xa=new Map,KC=e=>e??"";function Fm(e,t,a){a&&xa.clear();let s=KC(t),c=xa.get(s);if(!c){let l=X1.listMenus(e,t);xa.set(s,l),l.catch(()=>{xa.get(s)===l&&xa.delete(s)}),c=l}return c}var Lr=new Map;function $C(e,t){let a=KC(t),s=Lr.get(a);if(!s){let c=Fm(e,t,!0);Lr.set(a,c);let l=()=>{Lr.get(a)===c&&Lr.delete(a)};c.then(l,l),s=c}return s}function Tm(e,t=!1){return Fm(e,o2(),t)}function YC(e){return $C(e,o2())}function Us1(e,t=!1){return Fm(e,null,t)}function js1(e){return $C(e,null)}var Pm={ids:new Set,handles:new Set};function Ks1(e){return{ids:new Set(e.map(t=>t.id).filter(Boolean)),handles:new Set(e.map(t=>t.handle).filter(Boolean))}}function XC({id:e,handle:t,editing:a,ready:s,live:c}){if(!a)return!1;let l=e??"",r=t??"";return!l&&!r?!0:s?l?!c.ids.has(l):!c.handles.has(r):!1}function Ar(e,t){if(t){if(t.id)return e.find(a=>a.id===t.id);if(t.handle)return e.find(a=>a.handle===t.handle)}}import{jsx as QO}from"react/jsx-runtime";var QC=$O({live:Pm,ready:!1,primeLive:()=>{},setLive:()=>{}});function Js1({children:e}){let[t,a]=JO({live:Pm,ready:!1}),s=JC(r=>a(o=>o.ready?o:{live:r,ready:!0}),[]),c=JC(r=>a({live:r,ready:!0}),[]),l=XO(()=>({...t,primeLive:s,setLive:c}),[t,s,c]);return QO(QC.Provider,{value:l,children:e})}var ek=()=>YO(QC);function xe(e){let t=(e??"").trim();return t===""||t==="#"}import{jsx as w0,jsxs as C5}from"react/jsx-runtime";var sG=e=>/^https?:\/\//i.test(e),lk="flex list-none flex-col gap-2.5 text-[13px]",Em="mb-4 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",tk="text-[12px] italic text-fg-dim/70",rk=(e,t)=>e&&t>0?"border-t border-line pt-2.5":"";function cG({showDividers:e}){return w0("ul",{className:lk,children:Array.from({length:4},(t,a)=>w0("li",{className:`text-fg ${rk(e,a)}`,children:w0(be,{})},a))})}function ok({item:e,label:t,link:a,onNavigate:s}){return xe(e.url)?w0("span",{className:t,children:k(e.label)}):sG(e.url)?w0("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:a,onClick:s,children:k(e.label)}):w0(S1,{href:e.url,className:a,onClick:s,children:k(e.label)})}function ak({items:e,showDividers:t}){return w0("ul",{className:lk,children:e.map((a,s)=>w0("li",{className:rk(t,s),children:w0(ok,{item:a,label:"text-fg",link:"text-fg transition-colors hover:text-accent"})},`${a.label}-${s}`))})}var lG="opacity-80 transition-opacity hover:opacity-100";function rG({items:e,label:t,editing:a}){let[s,c]=ck(!1),l=aG(null),r=UC(),{open:o}=ze(),i=t||"Menu",n=eG(()=>c(!1),[]);k4({active:s,onDismiss:n,scopeRef:l});let h=(p,u,g)=>e===null?Array.from({length:4},(d,f)=>w0("li",{className:u,children:w0(be,{})},f)):e.map((d,f)=>w0("li",{className:u,children:w0(ok,{item:d,label:p,link:`${p} ${lG}`,onNavigate:g})},`${d.label}-${f}`)),m=r&&(r.search||r.region)?r:null;return C5("nav",{ref:l,"aria-label":i,"data-menu-row":"",className:"min-w-0",children:[w0("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("","")}),w0("button",{type:"button",className:"flex h-11 w-11 items-center justify-center min-[801px]:hidden","aria-expanded":s,"aria-label":s?"Close the menu":"Open the menu",onClick:()=>c(p=>!p),children:w0("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round","aria-hidden":"true",children:s?w0("path",{d:"M6 6l12 12M18 6L6 18"}):w0("path",{d:"M4 7h16M4 12h16M4 17h16"})})}),s?C5("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",children:[w0("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?C5("div",{className:"mt-auto flex flex-col gap-3.5 border-t border-line bg-surface p-5",children:[m.search?C5("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(),o()},children:[w0(Q5,{name:"search",size:18,strokeWidth:1.6,rounded:!0}),za.search]}):null,m.region?C5("div",{className:"flex items-center justify-between",children:[w0("span",{className:"mono-eyebrow text-fg-dim",children:"Region"}),w0(g8,{})]}):null]}):null]}):null]})}function ya({menu:e,heading:t,accordionMobile:a=!1,showDividers:s=!1,editing:c=!1,layout:l="column"}){let{live:r,ready:o}=ek(),i=XC({id:e?.id,handle:e?.handle,editing:c,ready:o,live:r}),n=i?[]:e?.items??[],h=t||e?.name||"",[m,p]=ck(!1);return tG(()=>{if(!a)return;let u=window.matchMedia("(max-width: 800px)"),g=()=>p(u.matches);return g(),u.addEventListener("change",g),()=>u.removeEventListener("change",g)},[a]),l==="row"?w0(rG,{items:i?null:n,label:h,editing:c}):i?C5("div",{className:"min-w-0",children:[w0("h4",{className:Em,children:t?R0(t):BC}),w0(cG,{showDividers:s}),w0("p",{className:`mt-3 ${tk}`,children:RC})]}):n.length===0?C5("div",{className:"min-w-0",children:[h?w0("h4",{className:Em,children:R0(h)}):null,c?w0("p",{className:tk,children:ZC}):null]}):a&&m?C5("details",{className:"min-w-0 border-b border-line",children:[C5("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:[R0(h),w0("span",{"aria-hidden":!0,children:"\uFF0B"})]}),w0("div",{className:"pb-3",children:w0(ak,{items:n,showDividers:s})})]}):C5("div",{className:"min-w-0",children:[h?w0("h4",{className:Em,children:R0(h)}):null,w0(ak,{items:n,showDividers:s})]})}import{createContext as gG,useCallback as Z3,useContext as vG,useEffect as fG,useMemo as bG,useRef as Lk,useState as Ce}from"react";function wa(e){return typeof e=="number"?String(e):""}function ik(e){let t=wa(e);return t&&`${t} LUG`}function Vm(e){let t=e.spec?.lugs;return typeof t=="number"?t:null}function nk(e){let t=new Set;for(let a of e){let s=Vm(a);s!==null&&t.add(s)}return[...t].sort((a,s)=>a-s)}function oG(e){return e.length===0?null:{min:Math.min(...e),max:Math.max(...e)}}function Hr(e){let t=oG(e);return t?qw(t.min,t.max):null}function hk(e){let t=new Set;for(let a of e)for(let s of a.sizes??[])typeof s=="number"&&t.add(s);return[...t].sort((a,s)=>a-s)}var mk=5,dk=.2;function ye(e){if(!e)return{holes:null,circles:[]};let t=e.replace(/\([^)]*\)?/g," ").trim(),a=t.match(/^\s*(\d+)\s*[x×*]\s*(.+)$/i),s=a?Number(a[1]):null,l=(a?a[2]:t).split(/[-/,]/).map(r=>Number(r.trim().replace(/[^\d.]/g,""))).filter(r=>Number.isFinite(r)&&r>0);return{holes:s,circles:l}}function Nm(e){if(!e||e.length<2)return null;let[t,a]=e;return!Number.isFinite(t)||!Number.isFinite(a)?null:[Math.min(t,a),Math.max(t,a)]}function gk(e){if(!e)return null;let t=ye(e.pcd||e.boltPattern);if(t.holes===null||t.circles.length===0)return null;let a=t.circles[0],s=Nm(e.etRange),c=s?[s[0]-mk,s[1]+mk]:null;return{holes:t.holes,circle:a,centreBore:typeof e.centreBore=="number"&&e.centreBore>0?e.centreBore:null,etRange:c}}function iG(e,t){return Math.abs(e-t)<=dk}function vk(e,t,a){let s=ye(e);return(s.holes??t)!==a.holes?!1:s.circles.some(l=>iG(l,a.circle))}function fk(e,t){return t.centreBore===null?!0:e+dk>=t.centreBore}function nG(e,t){return e[0]<=t[1]&&e[1]>=t[0]}function v8(e,t){let a=`${t.holes}\xD7${t.circle}`;return e.pcds.length===0?{key:"unverifiable",wheel:"",vehicle:a}:e.pcds.some(s=>vk(s,e.lugs,t))?t.etRange!==null&&e.etRange!==null&&!nG(e.etRange,t.etRange)?{key:"et",wheel:Fr(e.etRange),vehicle:Fr(t.etRange)}:e.centreBores.length>0&&!e.centreBores.some(s=>fk(s,t))?{key:"bore",wheel:`${e.centreBores.join(" / ")} mm`,vehicle:`${t.centreBore} mm`}:null:{key:"pcd",wheel:e.pcds.join(" / "),vehicle:a}}function bk(e){return{pcds:e.spec?.pcds??[],lugs:e.spec?.lugs??null,etRange:Nm(e.spec?.etRange),centreBores:e.spec?.centreBores??[]}}function Tr(e){let t=e.et,a=e.rearEt??e.et;return{pcds:e.boltPattern?[e.boltPattern]:[],lugs:null,etRange:t==null||a==null?null:[Math.min(t,a),Math.max(t,a)],centreBores:e.centreBore==null?[]:[e.centreBore]}}function Pr(e,t){let a=v8(e,t);return a===null||a.key!=="et"?a:v8(e,{...t,etRange:null})}function _m(e,t){return v8(bk(e),t)}function zk(e,t){return v8(Tr(e),t)}function hG(e,t){return Pr(Tr(e),t)===null}function xk(e,t){return t?e.filter(a=>hG(a,t)):[...e]}function mG(e,t){return Pr(bk(e),t)===null}function Er(e,t){return t?e.filter(a=>mG(a,t)):e}var pk=1;function pG(e,t){let a=e.spec?.pcds??[],s=e.spec?.centreBores??[],c=Nm(e.spec?.etRange);if(!t)return{pcds:a,etRange:c,centreBores:s};let l=e.spec?.lugs??null,r=a.filter(i=>vk(i,l,t)),o=s.filter(i=>fk(i,t));return{pcds:r.length>0?r:a,etRange:c,centreBores:o.length>0?o:s}}function Fr(e){return dr(e[0],e[1])}function uk(e){let t=e.slice(0,pk).join(" / "),a=e.length-pk;return a>0?`${t} +${a}`:t}var yk="\xB7";function Vr(e){return[{fieldKey:"diameter",text:Hr(e.sizes)},{fieldKey:"holes",text:ik(e.spec?.lugs)}].filter(t=>!!t.text)}function wk(e,t){let{pcds:a,etRange:s,centreBores:c}=pG(e,t),l=[];return a.length>0&&l.push({fieldKey:"pcd",text:`PCD ${uk(a)}`}),s!==null&&l.push({fieldKey:"et",text:Fr(s)}),c.length>0&&l.push({fieldKey:"center_bore",text:`C/B ${uk(c)} mm`}),l}function we(e){return e?[{key:"pcd",name:"Bolt pattern",value:`${e.holes}\xD7${e.circle}`},{key:"bore",name:"Hub bore",value:e.centreBore!==null?`${e.centreBore} mm bore`:null},{key:"et",name:"Offset",value:e.etRange!==null?Fr(e.etRange):null}]:[]}function Ck(e){return we(e).map(t=>t.value).filter(t=>t!==null).join(" \xB7 ")}var Ca={default:"Sort \xB7 Featured",new:"Newest","price-asc":"Price \xB7 Low","price-desc":"Price \xB7 High",name:"Name A\u2013Z"},f8={process:null,size:null,lugs:null,finish:null,priceMin:null,priceMax:null,sort:"default"};function uG(e,t,a){return!(t.process&&e.process!==t.process||t.size&&!e.sizes.includes(t.size)||t.lugs!=null&&Vm(e)!==t.lugs||t.finish&&!e.finishes.some(s=>s.family===t.finish)||!tr(e.prices,a,t.priceMin,t.priceMax))}function dG(e,t,a){return[...e].sort((s,c)=>{switch(t){case"price-asc":return te(s.prices,c.prices,a,"asc");case"price-desc":return te(s.prices,c.prices,a,"desc");case"name":return s.name.localeCompare(c.name);case"new":return(c.badge==="new"?1:0)-(s.badge==="new"?1:0);default:return 0}})}function kk(e,t,a,s=null){let c=Er(e,s);return dG(c.filter(l=>uG(l,t,a)),t.sort,a)}import{jsx as xG}from"react/jsx-runtime";var Ak={fit:null,name:"",resolving:!1,unresolved:!1};function zG(e,t){return e.fit===t.fit&&e.name===t.name&&e.resolving===t.resolving&&e.unresolved===t.unresolved}var n4=()=>{},Hk=gG({filters:f8,setProcess:n4,setSize:n4,setLugs:n4,setFinish:n4,setPriceMin:n4,setPriceMax:n4,setSort:n4,clearAll:n4,reportCount:n4,total:0,reportLugs:n4,lugOptions:[],reportSizes:n4,sizeOptions:[],reportFinishes:n4,finishOptions:[],optionsReported:!1,scrollProcess:null,vehicle:Ak,publishVehicle:n4}),Nr="data-catalog-collection",Mk=(e,t)=>e-t;function Sk(e,t){return e.length===t.length&&e.every((a,s)=>a===t[s])}function Im(e){let t=Lk(new Map),[a,s]=Ce([]),c=Z3((l,r)=>{let o=t.current.get(l);if(o&&Sk(o,r))return;t.current.set(l,r);let i=new Set;for(let h of t.current.values())for(let m of h)i.add(m);let n=[...i].sort(e);s(h=>Sk(h,n)?h:n)},[e]);return[a,c]}function Fk({children:e,initial:t}){let[a,s]=Ce(t??f8),c=Z3(Z=>s(q=>({...q,process:Z})),[]),l=Z3(Z=>s(q=>({...q,size:Z})),[]),r=Z3(Z=>s(q=>({...q,lugs:Z})),[]),o=Z3(Z=>s(q=>({...q,finish:Z})),[]),i=Z3(Z=>s(q=>({...q,priceMin:Z})),[]),n=Z3(Z=>s(q=>({...q,priceMax:Z})),[]),h=Z3(Z=>s(q=>({...q,sort:Z})),[]),m=Z3(()=>s(Z=>({...f8,sort:Z.sort})),[]),[p,u]=Ce(Ak),g=Z3(Z=>{u(q=>zG(q,Z)?q:Z)},[]),d=Lk(new Map),[f,v]=Ce(0),x=Z3((Z,q)=>{if(d.current.get(Z)===q)return;d.current.set(Z,q);let W=0;for(let r1 of d.current.values())W+=r1;v(W)},[]),[z,C]=Im(Mk),[M,A]=Im(Mk),[V,E]=Im(Cw),[O,F]=Ce(!1),T=Z3((Z,q)=>{F(!0),C(Z,q)},[C]),N=Z3((Z,q)=>{F(!0),A(Z,q)},[A]),B=Z3((Z,q)=>{F(!0),E(Z,q)},[E]),[P,D]=Ce(null);fG(()=>{let q=0,K=()=>{q=0;let r1=null,z1=document.querySelectorAll(`[${Nr}]`);for(let $ of z1){let e1=$.getBoundingClientRect();if(e1.top<=140&&e1.bottom>140){r1=$.getAttribute(Nr)??null;break}}D(r1)},W=()=>{q||(q=requestAnimationFrame(K))};return K(),window.addEventListener("scroll",W,{passive:!0}),window.addEventListener("resize",W),()=>{window.removeEventListener("scroll",W),window.removeEventListener("resize",W),q&&cancelAnimationFrame(q)}},[]);let c1=bG(()=>({filters:a,setProcess:c,setSize:l,setLugs:r,setFinish:o,setPriceMin:i,setPriceMax:n,setSort:h,clearAll:m,reportCount:x,total:f,reportLugs:T,lugOptions:z,reportSizes:N,sizeOptions:M,reportFinishes:B,finishOptions:V,optionsReported:O,scrollProcess:P,vehicle:p,publishVehicle:g}),[a,c,l,r,o,i,n,h,m,x,f,T,z,N,M,B,V,O,P,p,g]);return xG(Hk.Provider,{value:c1,children:e})}function _r(){return vG(Hk)}import{Fragment as yG}from"react";import{jsx as CG,jsxs as kG}from"react/jsx-runtime";var Ir=["FusionForge\xAE","Precision Forged","Monoblock Cast"];function Br(e){return nl(e)}function Tk(e){let t=e.split("\xAE");return t.length===1?e:t.map((a,s)=>kG(yG,{children:[a,s<t.length-1&&CG(t6,{})]},s))}var ka=Ir.map((e,t)=>({key:e,num:String(t+1).padStart(2,"0"),title:Tk(e)}));function wG(e){if(e.length===0)return[...Ir];let t=new Set(e.map(a=>a.process));return Ir.filter(a=>t.has(a))}function Ic1(e){return wG(e).map((t,a)=>({key:t,num:String(a+1).padStart(2,"0"),title:Tk(t)}))}var Bc1=Object.fromEntries(Ir.map(e=>[e,Br(e)]));var Rr="";function Vk(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 Pk(e){let t=Vk(e);if(t===null||typeof t=="string"&&t.trim()==="")return null;let a=Number(t);return Number.isSafeInteger(a)&&a>0?a:null}function Ek(e){let t=Vk(e);if(t===null||typeof t=="string"&&t.trim()==="")return null;let a=Number(t);return Number.isFinite(a)&&a>=0?a:null}function MG(e){return ie.some(t=>t.f===e)?e:null}function SG(e){return typeof e=="string"&&e!==""?e:null}function Nk(e){return e?{...f8,process:SG(e.openingProcess),size:Pk(e.openingSize),lugs:Pk(e.openingLugs),finish:MG(e.openingFinish),priceMin:Ek(e.openingPriceMin),priceMax:Ek(e.openingPriceMax)}:f8}var _k={value:Rr,label:"Any"},Ik=[_k,...ie.map(e=>({value:e.f,label:e.label}))],Bk=[_k,...ka.map(e=>({value:e.key,label:e.key}))];import{useCallback as YG,useEffect as Wr,useRef as cM,useState as Sa}from"react";function Rk({email:e,firstName:t,interests:a,frequency:s},c){return{email:e.trim(),firstName:t?.trim()||void 0,interests:a&&a.length?a:void 0,frequency:s||void 0,source:c}}var D3={popup:"shop_popup",subscribeSection:"subscribe_section",subscribeBlogsSection:"subscribe_blogs_section",footerSignup:"footer_signup",stockAlertOptIn:"stock_alert_optin"};var LG={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function Zk(e,t){let a={};for(let s of bl){let c=e[s];if(!c)continue;let l=w9({role:c},LG,t);l.fontFamily&&(a[Nh[s].font]=l.fontFamily),l.fontSize&&(a[Nh[s].size]=l.fontSize)}return a}import{useEffect as FG}from"react";import{useEffect as Gk,useState as b8}from"react";var Bm=new Set,Rm=new Set,Zm=new Set;function Dk(e){return Bm.add(e),()=>Bm.delete(e)}function $c1(){Bm.forEach(e=>e())}function Ok(e){return Rm.add(e),()=>Rm.delete(e)}function Yc1(){Rm.forEach(e=>e())}function Zr(e){return Zm.add(e),()=>Zm.delete(e)}function Xc1(){Zm.forEach(e=>e())}import{jsx as ke,jsxs as HG}from"react/jsx-runtime";function k5(e,t){let[a,s]=b8(void 0),[c,l]=b8(0);return Gk(()=>{if(t!==void 0)return;if(!e){s(null);return}let r=!1;return g0.getForm(e).then(o=>{r||s(o)}).catch(()=>{r||s(null)}),()=>{r=!0}},[t,e,c]),Gk(()=>{if(t===void 0)return Zr(()=>l(r=>r+1))},[t]),t!==void 0?t:a}var AG="Something went wrong \u2014 your submission wasn't sent. Please try again.";function Me(e,t="Thanks \u2014 we've received your submission."){return e.successMessage?.trim()||t}function l7({form:e,formSlug:t,editing:a=!1}){let[s,c]=b8({}),[l,r]=b8(""),[o,i]=b8(!1),[n,h]=b8(!1),[m,p]=b8(null);async function u(g){if(g.preventDefault(),!(a||o||!e||!t)){i(!0),p(null);try{let d=e.fields.map(f=>({fieldKey:f.key,value:s[f.key]??""}));await g0.submitForm(t,{answers:d,...l?{company:l}:{}}),h(!0)}catch{p(AG)}finally{i(!1)}}}return{valueOf:g=>s[g]??"",set:(g,d)=>c(f=>({...f,[g]:d})),honeypot:l,setHoneypot:r,submitting:o,done:n,error:m,handleSubmit:u}}function Se({value:e,onChange:t}){return ke("input",{type:"text",name:"company",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"hidden",value:e,onChange:a=>t(a.target.value)})}function r7({field:e,value:t,onChange:a,className:s,rows:c=5,placeholder:l}){let r=l??e.placeholder;return e.type==="textarea"?ke("textarea",{required:e.required,rows:c,value:t,placeholder:r,onChange:o=>a(o.target.value),className:s}):e.type==="select"?HG("select",{required:e.required,value:t,onChange:o=>a(o.target.value),className:s,children:[ke("option",{value:"",children:r||"Select\u2026"}),e.options.map(o=>ke("option",{value:o,children:o},o))]}):e.type==="checkbox"?ke("input",{type:"checkbox",required:e.required,checked:t==="true",onChange:o=>a(o.target.checked?"true":""),className:s}):ke("input",{type:e.type==="email"?"email":e.type==="tel"?"tel":"text",required:e.required,value:t,placeholder:r,onChange:o=>a(o.target.value),className:s})}import{jsx as Ma}from"react/jsx-runtime";var qk="font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim";function M4({size:e,children:t}){return e==="tall"?Ma("section",{className:"grid min-h-[70vh] place-items-center border-b border-line px-[var(--sf-site-gutter,40px)] pt-[104px] pb-14 text-center",style:{background:"var(--section-bg)"},children:Ma("p",{className:qk,children:t})}):Ma("section",{className:"relative z-[2] border-t border-line bg-surface",children:Ma("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:Ma("p",{className:qk,children:t})})})}import{jsx as Q2,jsxs as Dr}from"react/jsx-runtime";var Wk="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 TG({field:e,value:t,onChange:a}){let s={field:e,value:t,onChange:a};return e.type==="checkbox"?Dr("label",{className:"flex items-start gap-3",children:[Q2(r7,{...s,className:"mt-1 size-4 accent-accent"}),Dr("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.16em] text-fg",children:[e.label,e.required?Q2("span",{className:"text-accent",children:" *"}):null]})]}):Q2(R2,{label:e.label,required:e.required,children:Q2(r7,{...s,className:e.type==="textarea"?Wk+" resize-y":Wk})})}function Dm({formSlug:e,heading:t,intro:a,submitText:s,finePrint:c,form:l,editing:r=!1}={}){let o=k5(e,l);if(o===void 0)return Q2(M4,{size:"short",children:"Loading form\u2026"});if(o===null)return Q2(M4,{size:"short",children:r?"Choose a form in the inspector, under Form.":"This form is unavailable."});let i=(t??"").trim()||o.title;return Q2("section",{className:"relative z-[2] border-t border-line bg-surface",children:Dr("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&&Q2("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()&&Q2("p",{className:"mb-11 max-w-[640px] font-display text-[16px] leading-[1.6] text-fg-dim",children:a}),Q2(Om,{form:o,formSlug:e,submitText:s,finePrint:c,editing:r})]})})}function Om({form:e,formSlug:t,submitText:a,finePrint:s,editing:c=!1,onSent:l}){let{valueOf:r,set:o,honeypot:i,setHoneypot:n,submitting:h,done:m,error:p,handleSubmit:u}=l7({form:e,formSlug:t,editing:c});FG(()=>{m&&l?.()},[m]);let g=(a??"").trim()||e.submitButtonText?.trim()||"Submit";return m?Q2("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:Me(e)}):Dr("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:u,children:[e.fields.map(d=>Q2(TG,{field:d,value:r(d.key),onChange:f=>o(d.key,f)},d.key)),Q2(Se,{value:i,onChange:n}),p&&Q2("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:p}),Q2("button",{type:c?"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":g}),e.consentText?.trim()&&Q2("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:e.consentText}),(s??"").trim()&&Q2("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:s})]})}import{jsx as Gm,jsxs as EG}from"react/jsx-runtime";import{jsx as PG}from"react/jsx-runtime";function Uk(){return PG("span",{className:"block h-px w-[30px] bg-current"})}function VG(e,t){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var NG="inline-block w-fit bg-accent px-3.5 py-1.5 font-mono text-[length:var(--size-label,12px)] font-semibold uppercase tracking-[0.16em] text-bg",_G="flex items-center gap-3.5 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em] opacity-80 max-[800px]:text-[length:var(--size-label,12px)] max-[800px]:tracking-[0.25em]";function V1({text:e,look:t="plain",size:a=13,scaled:s=!0,className:c="",classNameAfter:l=""}){if(t==="line")return EG("div",{className:[c,_G,l].filter(Boolean).join(" "),children:[Gm(Uk,{}),Gm("span",{children:k(e)})]});let r=t==="filled"?NG:VG(a,s);return Gm("span",{className:[c,r,l].filter(Boolean).join(" "),children:k(e)})}import{useCallback as jk,useRef as IG,useState as Kk}from"react";function Or({source:e,dryRun:t=!1}){let[a,s]=Kk("idle"),[c,l]=Kk(null),r=IG(!1),o=jk(()=>{r.current=!1,l(null),s("idle")},[]),i=jk(async n=>{if(!r.current){if(!ce(n.email)){s("invalid");return}r.current=!0,l(null),s("sending");try{t||await g0.createNewsletterSubscription(Rk(n,e))}catch(h){r.current=!1,l(h),s("error");return}r.current=!1,s("sent")}},[e,t]);return{status:a,error:c,submit:i,reset:o}}function Gr(){return"/edit"}import{createContext as DG,useCallback as qr,useContext as OG,useEffect as GG,useMemo as qG,useRef as WG,useState as Um}from"react";var $k="/edit";function Yk(e){return e===$k||e.startsWith(`${$k}/`)}var Jk="storefront-subscribe-seen",Qk="storefront-popup-closed-at",BG=1440*60*1e3,RG=["/checkout","/cart"];function Xk(e){let t=e.split(/[?#]/)[0]||"/",a=t.startsWith("/")?t:`/${t}`;return a.length>1?a.replace(/\/+$/,"")||"/":a}function qm(e,t,a){let s=Xk(e);return RG.some(c=>s===c||s.startsWith(`${c}/`))?!1:t==="all"?!0:a.some(c=>Xk(c)===s)}function ZG(e,t,a,s){if(e==="never")return!1;if(a.session.getItem(Jk)==="1")return!0;if(e==="visit")return!1;let c=Number(a.local.getItem(Qk));return!Number.isFinite(c)||c<=0?!1:s-c<t*BG}function Wm(e,t){e.session.setItem(Jk,"1"),e.local.setItem(Qk,String(t))}function eM(e,t){return e==="exit"&&!t?"delay":e}function tM(e,t,a){let s=a-t;return s<=0?100:Math.min(100,Math.max(0,e/s*100))}function aM(e,t,a){return!e.autoOpen||e.inEditor||!qm(e.path,e.showOn,e.showOnPages)||e.hideAfter!=="never"&&!Xy(t.session)?!1:!ZG(e.hideAfter,e.hideDays,t,a)}import{jsx as $G}from"react/jsx-runtime";var sM=DG(null),jm={session:Jy,local:J2};function UG(){try{return window.matchMedia("(hover: hover) and (pointer: fine)").matches}catch{return!1}}var jG=15,KG=[];function El1({children:e,disableAutoTrigger:t,autoOpen:a=!1,autoOpenDelaySec:s=jG,trigger:c="delay",scrollPercent:l=50,showOn:r="all",showOnPages:o=KG,hideAfter:i="visit",hideDays:n=7}){let[h,m]=Um(!1),[p,u]=Um("chosen"),[g,d]=Um({}),f=Gr()??"/",v=Yk(f),x=qm(f,r,o),z=WG(!1),C=qr(O=>{d(O??{}),u("newsletter"),m(!0)},[]),M=qr(()=>{z.current=!0,d({}),u("chosen"),m(!0)},[]),A=qr(()=>Wm(jm,Date.now()),[]),V=qr(()=>{m(!1),Wm(jm,Date.now())},[]);GG(()=>{if(t||z.current||!aM({autoOpen:a,inEditor:v,path:f,showOn:r,showOnPages:o,hideAfter:i,hideDays:n},jm,Date.now()))return;let F=eM(c,UG());if(F==="scroll"){let N=()=>{tM(window.scrollY,window.innerHeight,document.documentElement.scrollHeight)>=l&&(window.removeEventListener("scroll",N),M())};return window.addEventListener("scroll",N,{passive:!0}),()=>window.removeEventListener("scroll",N)}if(F==="exit"){let N=B=>{B.relatedTarget===null&&B.clientY<=0&&(document.removeEventListener("mouseout",N),M())};return document.addEventListener("mouseout",N),()=>document.removeEventListener("mouseout",N)}let T=window.setTimeout(M,Math.max(0,s)*1e3);return()=>window.clearTimeout(T)},[t,a,v,x,c,s,l,i,n,M]);let E=qG(()=>({isOpen:h,mode:p,open:C,close:V,markSent:A,prefillEmail:g.email??"",signupSource:g.source??D3.popup}),[h,p,C,V,A,g]);return $G(sM.Provider,{value:E,children:e})}function Km(){let e=OG(sM);if(!e)throw new Error("useSubscribePopup() must be called inside <SubscribePopupProvider>. Mount the provider in app/layout.tsx.");return e}import{Fragment as QG,jsx as J1,jsxs as C2}from"react/jsx-runtime";var XG=50,Ur="font-[family-name:var(--pp-fieldlabel-font,var(--font-mono))] text-[length:var(--pp-fieldlabel-size,12px)]";function JG(e){let t=k9({sectionAccent:p5(e.sectionAccent)}),a=rl(e.sectionCorners,e.sectionCornerSides);return{className:t?.className??"",style:{...t?.style??{},...a??{},...Zk(e.textStyles)}}}function lM({content:e,open:t=!0,onClose:a,onSent:s,inline:c=!1,prefillEmail:l="",source:r=D3.popup,mode:o="chosen",form:i}){let n=o==="chosen"?e.formSlug:"",h=k5(n||void 0,c?void 0:i??null),m=!!n&&!!h,[p,u]=Sa(""),[g,d]=Sa(""),[f,v]=Sa(()=>new Set(e.interests.slice(0,1))),[x,z]=Sa(e.frequencies[0]??""),{status:C,error:M,submit:A,reset:V}=Or({source:r,dryRun:c}),E=C==="sending",O=C==="invalid"?e.emailInvalidText:C==="error"?M instanceof D4?M.message:e.submitErrorText:null,[F,T]=Sa(""),N=cM(null),B=cM(null);Wr(()=>{t&&V()},[t,V]),Wr(()=>{C==="sent"&&!c&&s?.()},[C]);let P=YG(()=>a?.(),[a]);if(k4({active:!c&&t,onDismiss:P}),Wr(()=>{if(c||!t)return;let U=window.setTimeout(()=>B.current?.focus(),XG);return()=>window.clearTimeout(U)},[c,t]),Wr(()=>{!t||!l||d(l)},[t,l]),!c&&!t)return null;function D(U){v(p1=>{let f1=new Set(p1);return f1.has(U)?f1.delete(U):f1.add(U),f1})}function c1(U){U.target===N.current&&a?.()}function Z(U){U.preventDefault();let p1=g.trim().toLowerCase();T(p1),A({email:p1,firstName:p,interests:[...f],frequency:x})}let q=e.successBody.replace(/\{email\}/g,F).replace(/\{issue\}/g,e.issueNumber),K=JG(e),W=e.formSide==="left",r1=C2("div",{className:"flex flex-wrap items-center justify-between gap-5 uppercase tracking-[0.18em] text-fg-dim",children:[C2("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:[J1("span",{className:"block h-1.5 w-1.5 rounded-full bg-accent"}),k(e.finePrint)]}),!c&&J1("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)})]}),z1=C2(QG,{children:[J1("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:J1(V1,{text:e.formLabel,scaled:!1,className:"mb-[18px]"})}),J1("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:Y(e.formHeading)}),J1("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)})]}),$="px-11 py-12 max-[880px]:px-[26px] max-[880px]:py-8",e1;m&&h?e1=C2("div",{className:`relative flex min-h-[560px] flex-col max-[880px]:min-h-0 ${$}`,children:[z1,J1("div",{className:"mt-8",children:J1(Om,{form:h,formSlug:n,editing:c,onSent:s})}),J1("div",{className:"mt-auto pt-7",children:r1})]}):C!=="sent"?e1=C2("form",{onSubmit:Z,noValidate:!0,className:`relative flex min-h-[560px] flex-col max-[880px]:min-h-0 ${$}`,children:[z1,C2("div",{className:"mt-8 flex flex-col gap-[18px]",children:[J1(R2,{label:k(e.firstNameLabel),required:!0,labelFace:Ur,children:J1("input",{type:"text",value:p,onChange:U=>u(U.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"})}),J1(R2,{label:k(e.emailLabel),required:!0,labelFace:Ur,children:J1("input",{type:"email",value:g,onChange:U=>d(U.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"})}),C2("div",{className:"mt-1.5 flex flex-col gap-2.5",children:[J1(h8,{labelFace:Ur,children:k(e.interestsLabel)}),J1("div",{className:"flex flex-wrap gap-2",children:e.interests.map((U,p1)=>{let f1=f.has(U);return J1("button",{type:"button",onClick:()=>D(U),"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:U},`${U}-${p1}`)})})]}),e.frequencies.length>0&&C2("div",{className:"mt-1.5 flex flex-col gap-2.5",children:[J1(h8,{labelFace:Ur,children:k(e.frequencyLabel)}),J1("div",{className:"flex border border-line",children:e.frequencies.map((U,p1)=>{let f1=x===U;return J1("button",{type:"button",onClick:()=>z(U),"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",p1<e.frequencies.length-1?"border-r border-line":"",f1?"bg-accent text-bg":"text-fg-dim hover:text-fg"].join(" "),children:U},`${U}-${p1}`)})})]})]}),C2("div",{className:"mt-auto flex flex-col gap-3.5 pt-7",children:[O&&J1("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:O}),C2("button",{type:"submit",disabled:E,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:[J1("span",{children:e.submitText}),J1("span",{className:"transition-transform group-hover:translate-x-[4px]",children:E?"\u2026":"\u2192"})]}),r1]})]}):e1=C2("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:[J1("div",{className:"flex h-16 w-16 items-center justify-center border border-accent font-display text-[32px] text-accent",children:"\u2713"}),J1("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:Y(e.successHeading)}),J1("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(q,!0)}),!c&&J1("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 d1=C2("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 ${K.className}`.trim(),style:{...K.style,background:"var(--bg)",color:"var(--fg)",boxShadow:c?"0 30px 80px -30px rgba(0,0,0,0.5)":"0 60px 120px -20px rgba(0,0,0,0.7)",animation:c?void 0:"subscribe-rise 0.35s cubic-bezier(.2,.7,.2,1)"},children:[!c&&J1("button",{ref:B,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"}),C2("div",{className:["grid max-h-[calc(100vh-48px)] overflow-hidden max-[880px]:max-h-[88dvh] max-[880px]:grid-cols-1 max-[880px]:overflow-auto",W?"grid-cols-[1fr_1.05fr]":"grid-cols-[1.05fr_1fr]"].join(" "),children:[C2("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",W?"order-2 border-l max-[880px]:order-none":"border-r",e.valuePanelOnPhone?"":"max-[880px]:hidden"].join(" "),style:{background:"var(--subscribe-panel-bg)"},children:[J1("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)"}}),C2("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:[J1("div",{className:"absolute inset-[60px] rounded-full border",style:{borderColor:"color-mix(in oklab, var(--accent) 18%, transparent)"}}),J1("div",{className:"absolute inset-[140px] rounded-full border",style:{borderColor:"color-mix(in oklab, var(--accent) 14%, transparent)"}})]}),C2("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",W&&!c?"pr-[52px]":""].join(" "),children:[J1("span",{children:k(e.metaLabel)}),(e.issueLabel||e.issueNumber)&&C2("span",{children:[k(e.issueLabel)," ",J1("strong",{className:"font-normal text-accent",children:e.issueNumber})]})]}),C2("div",{className:"relative z-[2] flex flex-col gap-[18px] py-8",children:[J1("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:J1(V1,{text:e.kicker,size:12,scaled:!1})}),J1("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:Y(e.heading)}),J1("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&&J1("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(--site-line))"},children:e.stats.map((U,p1)=>C2("div",{children:[J1("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(U.label)}),J1("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(U.value)})]},`${U.label}-${p1}`))})]}),e1]})]});return c?J1("div",{className:"flex w-full justify-center p-6","data-subscribe-preview":!0,children:d1}):C2("div",{ref:N,onClick:c1,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:[d1,J1("style",{children:`
|
|
4
4
|
@keyframes subscribe-fade { from { opacity: 0 } to { opacity: 1 } }
|
|
@@ -19,7 +19,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
19
19
|
`;function ep(){let{chromePlaceholder:e,themeFromDocument:t}=N3(),{chat:a,selected:s,select:c}=ry();return e||t||!a.enabled?null:gq("div",{className:"sf-preview-chat-pick","data-selected":s||void 0,onClick:l=>{l.stopPropagation(),c()},children:[Qm("style",{children:dq}),Qm(pM,{preview:!0,children:Qm(Jm,{title:a.title,subtitle:a.subtitle,greeting:a.greeting})})]})}import{lazy as vq,Suspense as fq}from"react";import{jsx as dM}from"react/jsx-runtime";function tp(e,t={}){let a=vq(async()=>{let l=await e();return{default:"default"in l?l.default:l}}),s=t.loading?t.loading():null;function c(l){return dM(fq,{fallback:s,children:dM(a,{...l})})}return c}import{useEffect as Wq,useRef as Uq}from"react";import{jsx as ap,jsxs as bq}from"react/jsx-runtime";import{useEffect as zq,useState as xq}from"react";function P0({fallback:e,className:t,src:a,alt:s="",objectPosition:c,objectFit:l="cover",sizes:r="100vw",priority:o=!1,deferFetch:i=!1,showBackground:n=!0,treatment:h}){let[m,p]=xq(!1),u=a||"";zq(()=>{p(!1)},[u]);let g=_b(u),d=!u||m;return bq("div",{className:`relative h-full w-full overflow-hidden ${t??""}`,children:[ap("div",{className:"absolute inset-0 flex items-center justify-center",style:n?{background:"var(--site-surface)"}:void 0,children:d?e:null}),u&&(g?ap("img",{src:u,alt:s,decoding:"async",...i?{loading:"lazy"}:{},className:`absolute inset-0 h-full w-full${h?.className?` ${h.className}`:""}`,style:{display:m?"none":"block",objectFit:l,...c?{objectPosition:c}:{},...h?.style??{}},onError:()=>p(!0)}):ap(Uc,{src:u,alt:s,fill:!0,sizes:r,priority:o,...h?.className?{className:h.className}:{},style:{display:m?"none":"block",objectFit:l,...c?{objectPosition:c}:{},...h?.style??{}},onError:()=>p(!0)}))]})}import{useId as Aq}from"react";var yq=25.4,Aa=400,Kr=152,wq=58,gM=Kr*Math.cos(wq*Math.PI/180),Cq=14,kq=Aa/2,Mq={sectionWidth:225,aspectRatio:60,rimDiameter:17};function fM(e){let t=o4(e);return t?{sectionWidth:t.width,aspectRatio:t.profile,rimDiameter:t.rim}:Mq}function bM(e){let t=e.rimDiameter*yq/2,a=t+e.sectionWidth*e.aspectRatio/100,s=Kr*(e.sectionWidth/a),c=t/a;return{cy:kq,rx:gM,ry:Kr,cxf:Aa/2-s/2-Cq,dx:s,rimRx:gM*c,rimRy:Kr*c}}var z0=e=>e.toFixed(1);function $r(e,t,a,s=!1){let c=e.cxf+t*e.dx,[l,r]=s?[e.cy+e.ry,e.cy-e.ry]:[e.cy-e.ry,e.cy+e.ry];return`M${z0(c)} ${z0(l)} A${z0(e.rx)} ${z0(e.ry)} 0 0 ${a} ${z0(c)} ${z0(r)}`}function sp(e,t,a){let s=e.cxf+t*e.dx,c=e.cxf+a*e.dx,l=e.cy-e.ry,r=e.cy+e.ry;return`M${z0(s)} ${z0(l)} L${z0(c)} ${z0(l)} A${z0(e.rx)} ${z0(e.ry)} 0 0 1 ${z0(c)} ${z0(r)} L${z0(s)} ${z0(r)} A${z0(e.rx)} ${z0(e.ry)} 0 0 0 ${z0(s)} ${z0(l)} Z`}function jr(e,t,a){let s=a*Math.PI;return[e.cxf+t*e.dx+e.rx*Math.sin(s),e.cy-e.ry*Math.cos(s)]}function zM(e,t,a,s,c){let[l,r]=jr(e,t,s),[o,i]=jr(e,t,c),[n,h]=jr(e,a,c),[m,p]=jr(e,a,s);return`M${z0(l)} ${z0(r)} A${z0(e.rx)} ${z0(e.ry)} 0 0 1 ${z0(o)} ${z0(i)} L${z0(n)} ${z0(h)} A${z0(e.rx)} ${z0(e.ry)} 0 0 0 ${z0(m)} ${z0(p)} L${z0(l)} ${z0(r)} Z`}var vM=[{f:[0,.215]},{f:[.245,.485]},{f:[.515,.755]},{f:[.785,1]}],Sq={COM:[{f:[0,.115]},{f:[.145,.26]},{f:[.29,.405]},{f:[.435,.55]},{f:[.58,.695]},{f:[.725,.84]},{f:[.87,1]}],P:[{f:[0,.17],blocks:{count:9,gap:.34}},{f:[.2,.38]},{f:[.42,.58]},{f:[.62,.8]},{f:[.83,1],blocks:{count:9,gap:.34,phase:.5}}],HP:[{f:[0,.3]},{f:[.34,.52]},{f:[.56,.7]},{f:[.74,1],blocks:{count:16,gap:.18}}],UHP:[{f:[0,.34]},{f:[.4,.56]},{f:[.62,1]}],SUV:[{f:[0,.16],blocks:{count:7,gap:.4}},{f:[.2,.36],blocks:{count:11,gap:.26,phase:.5}},{f:[.4,.6]},{f:[.64,.8],blocks:{count:11,gap:.26,phase:.5}},{f:[.84,1],blocks:{count:7,gap:.4}}],LT:[{f:[0,.22],blocks:{count:11,gap:.26}},{f:[.26,.48],blocks:{count:11,gap:.26,phase:.5}},{f:[.52,.74],blocks:{count:11,gap:.26}},{f:[.78,1],blocks:{count:11,gap:.26,phase:.5}}],AT:[{f:[0,.23],blocks:{count:6,gap:.46}},{f:[.29,.5],blocks:{count:6,gap:.46,phase:.5}},{f:[.56,.77],blocks:{count:6,gap:.46}},{f:[.83,1],blocks:{count:6,gap:.46,phase:.5}}],MT:[{f:[0,.29],blocks:{count:4,gap:.58}},{f:[.36,.64],blocks:{count:4,gap:.58,phase:.5}},{f:[.71,1],blocks:{count:4,gap:.58}}]},Lq=[["ultra high performance","UHP"],["uhp","UHP"],["high performance","HP"],["hp","HP"],["performance","HP"],["sport","HP"],["mud terrain","MT"],["mud","MT"],["mt","MT"],["all terrain","AT"],["at","AT"],["light truck","LT"],["lt","LT"],["commercial","COM"],["com","COM"],["van","COM"],["cargo","COM"],["suv","SUV"],["4x4","SUV"],["crossover","SUV"],["cuv","SUV"],["passenger","P"],["touring","P"],["highway","P"],["p","P"]];function xM(e){let t=` ${(e??"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim()} `;if(t.trim()==="")return vM;for(let[a,s]of Lq)if(t.includes(` ${a} `))return Sq[s];return vM}var Yr="Illustrations are drawn to each tyre's listed size and represent its category; supplier photography replaces them where available.";import{Fragment as Ha,jsx as u0,jsxs as S5}from"react/jsx-runtime";var h4={rib:.2,grooveWall:.16,shoulder:.22,silhouette:.26,relief:[.26,.15,.11],lettering:.1,dishFill:.06,dishEdge:.3,spoke:.3,hubFill:.16,hubEdge:.34},Hq=[.8,.52,.24],yM=.4,wM=.88,CM=.3,kM=5,MM=.3,SM=.84,Fq=7,M0=e=>Math.round(e*10)/10;function cp({size:e,type:t,className:a}){let s=Aq().replace(/[^a-zA-Z0-9]/g,""),c={tread:`${s}-tread`,wall:`${s}-wall`,rim:`${s}-rim`,shadow:`${s}-shadow`,crown:`${s}-crown`},l=bM(fM(e)),r=sp(l,0,1),o=e?`${e} tyre illustration`:"Tyre illustration";return S5("svg",{"data-tyre-placeholder":"",viewBox:`0 0 ${Aa} ${Aa}`,role:"img","aria-label":o,fill:"none",className:a??"block h-full w-full",children:[u0("title",{children:o}),S5("defs",{children:[u0(Pq,{id:c}),u0("clipPath",{id:c.crown,children:u0("path",{d:r})})]}),u0("ellipse",{cx:M0(l.cxf+l.dx/2),cy:M0(l.cy+l.ry-4),rx:M0(l.dx*1.5),ry:16,fill:`url(#${c.shadow})`}),u0(Eq,{g:l,id:c}),u0(Vq,{g:l,id:c}),u0("path",{d:r,fill:`url(#${c.tread})`}),u0("g",{clipPath:`url(#${c.crown})`,children:xM(t).map(i=>u0(Tq,{g:l,column:i},i.f[0]))}),u0("path",{d:$r(l,0,0,!0),stroke:"currentColor",strokeOpacity:h4.shoulder,strokeWidth:1.2}),u0("path",{d:$r(l,1,1),stroke:"currentColor",strokeOpacity:h4.silhouette,strokeWidth:1.4})]})}function Tq({g:e,column:t}){let[a,s]=t.f;if(!t.blocks)return S5(Ha,{children:[u0("path",{d:sp(e,a,s),fill:"currentColor",fillOpacity:h4.rib}),u0("path",{d:$r(e,a,1),stroke:"currentColor",strokeOpacity:h4.grooveWall,strokeWidth:1})]});let{count:c,gap:l,phase:r=0}=t.blocks,o=1/c,i=[];for(let n=-1;n<=c;n+=1){let h=Math.max((n+r+l/2)*o,0),m=Math.min((n+r+1-l/2)*o,1);m-h>o*.15&&i.push([h,m])}return u0(Ha,{children:i.map(([n,h])=>u0("path",{d:zM(e,a,s,n,h),fill:"currentColor",fillOpacity:h4.rib,stroke:"currentColor",strokeOpacity:h4.grooveWall,strokeWidth:1},n))})}function Pq({id:e}){return S5(Ha,{children:[S5("linearGradient",{id:e.tread,x1:"0",y1:"0",x2:"1",y2:"0",children:[u0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.07}),u0("stop",{offset:"0.14",stopColor:"currentColor",stopOpacity:.24}),u0("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.18}),u0("stop",{offset:"0.84",stopColor:"currentColor",stopOpacity:.1}),u0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.05})]}),S5("linearGradient",{id:e.wall,x1:"0.15",y1:"0",x2:"0.9",y2:"1",children:[u0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.28}),u0("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.17}),u0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.08})]}),S5("linearGradient",{id:e.rim,x1:"0.1",y1:"0",x2:"0.9",y2:"1",children:[u0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.46}),u0("stop",{offset:"0.5",stopColor:"currentColor",stopOpacity:.26}),u0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.12})]}),S5("radialGradient",{id:e.shadow,children:[u0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.22}),u0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:0})]})]})}function Eq({g:e,id:t}){let a=e.rimRy/e.ry,s=l=>a+(1-a)*l,c=Math.max(6,(e.ry-e.rimRy)*.3);return S5(Ha,{children:[u0("ellipse",{cx:M0(e.cxf),cy:M0(e.cy),rx:M0(e.rx),ry:M0(e.ry),fill:`url(#${t.wall})`}),Hq.map((l,r)=>{let o=s(l);return u0("ellipse",{cx:M0(e.cxf),cy:M0(e.cy),rx:M0(e.rx*o),ry:M0(e.ry*o),stroke:"currentColor",strokeOpacity:h4.relief[r],strokeWidth:1},l)}),u0("ellipse",{cx:M0(e.cxf),cy:M0(e.cy),rx:M0(e.rx*s(yM)),ry:M0(e.ry*s(yM)),stroke:"currentColor",strokeOpacity:h4.lettering,strokeWidth:M0(c)})]})}function Vq({g:e,id:t}){let a=Array.from({length:kM},(s,c)=>{let l=(c*(360/kM)-90)*Math.PI/180;return{x1:e.cxf+e.rimRx*MM*Math.cos(l),y1:e.cy+e.rimRy*MM*Math.sin(l),x2:e.cxf+e.rimRx*SM*Math.cos(l),y2:e.cy+e.rimRy*SM*Math.sin(l)}});return S5(Ha,{children:[u0("ellipse",{cx:M0(e.cxf),cy:M0(e.cy),rx:M0(e.rimRx),ry:M0(e.rimRy),fill:`url(#${t.rim})`}),u0("ellipse",{cx:M0(e.cxf),cy:M0(e.cy),rx:M0(e.rimRx*wM),ry:M0(e.rimRy*wM),fill:"currentColor",fillOpacity:h4.dishFill,stroke:"currentColor",strokeOpacity:h4.dishEdge,strokeWidth:1}),a.map((s,c)=>u0("line",{x1:M0(s.x1),y1:M0(s.y1),x2:M0(s.x2),y2:M0(s.y2),stroke:"currentColor",strokeOpacity:h4.spoke,strokeWidth:Fq,strokeLinecap:"round"},c)),u0("ellipse",{cx:M0(e.cxf),cy:M0(e.cy),rx:M0(e.rimRx*CM),ry:M0(e.rimRy*CM),fill:"currentColor",fillOpacity:h4.hubFill,stroke:"currentColor",strokeOpacity:h4.hubEdge,strokeWidth:1})]})}import{jsx as lp}from"react/jsx-runtime";function l6({image:e,size:t,type:a,sizes:s,priority:c=!1,className:l="aspect-square",showBackground:r=!0}){return lp("div",{className:`text-fg ${l}`,style:{padding:"var(--sf-tyre-image-inset, 0)"},children:lp(P0,{label:t||"Tyre",src:t4(e??void 0),alt:t?`${t} tyre`:"Tyre",objectFit:"contain",sizes:s,priority:c,showBackground:r,fallback:lp(cp,{size:t,type:a,className:"block h-full w-full p-3"})})})}function Jr(e){if(!e||e.year===null)return null;let{make:t,model:a,year:s,modification:c}=e;return!t||!a||!c?null:{make:t,model:a,year:s,modification:c}}function Nq(e,t){let a=new URLSearchParams({make:t.make,model:t.model,year:String(t.year),modification:t.modification});return`/api/v1/tyres/${encodeURIComponent(e)}/fitment?${a.toString()}`}function Xr(e,t=""){return{vehicle:{...e,region:t},status:"unknown",oemSizes:[],variants:[]}}function _q(e,t){if(typeof t!="object"||t===null)return Xr(e);let a=t,s=typeof a.vehicle=="object"&&a.vehicle!==null?a.vehicle:{},c=typeof s.region=="string"?s.region:"",l=a.status;if(l!=="fits"&&l!=="doesNotFit")return Xr(e,c);let r=Array.isArray(a.variants)?a.variants.filter(o=>typeof o=="object"&&o!==null&&typeof o.sku=="string"&&typeof o.fits=="boolean"):[];return r.length===0?Xr(e,c):{vehicle:{make:typeof s.make=="string"?s.make:e.make,model:typeof s.model=="string"?s.model:e.model,year:typeof s.year=="number"?s.year:e.year,modification:typeof s.modification=="string"?s.modification:e.modification,region:c},status:l,oemSizes:Array.isArray(a.oemSizes)?a.oemSizes.filter(o=>typeof o=="string"):[],variants:r.map(o=>({sku:o.sku,size:typeof o.size=="string"?o.size:"",fits:o.fits}))}}async function LM(e,t){try{let a=await Y6(Nq(e,t),{baseUrl:ow});return _q(t,a)}catch{return Xr(t)}}function AM(e){if(!e)return[];let t=[];for(let a of[...e.frontTyres,...e.rearTyres]){let s=o4(a);if(!s)continue;let c=O4(s);t.includes(c)||t.push(c)}return t}function HM(e,t){if(t.length===0)return null;for(let a of e){let s=o4(a);if(!s)continue;let c=O4(s);if(t.includes(c))return c}return null}function Fa(e,t){if(!e||e.status==="unknown")return"unknown";let a=e.variants.find(s=>s.sku===t);return a?a.fits?"fits":"doesNotFit":"unknown"}var Iq="/tyres";function Le(e){return e?`${Iq}/${e}`:null}function Ae(e){let t=e.lastIndexOf(" ");return t===-1?{lead:"",accent:e}:{lead:e.slice(0,t+1),accent:e.slice(t+1)}}function rp(e,t){return mw({partNumber:e.sku,prices:e.prices},t)}var Bq="Tyre";function Qr(e,t,a,s){return{id:`${e.slug}|${t.sku}|${a.unit}|${a.spares>0?"spare":"no-spare"}`,slug:e.slug,name:Ae(e.name),process:e.brand||Bq,positionNo:"01",config:[{label:t.size},{label:Ql(a)}],finishName:"",size:t.size,components:rp(t,a),qty:s,href:Le(e.slug)??void 0,kind:"tyre",sku:t.sku,pack:a}}function eo(e){return e.kind==="tyre"}function FM(e,t){let a=e.prices?.[t];return typeof a!="number"||!Number.isFinite(a)||a<=0?!1:e.inStock}import{jsx as Ta}from"react/jsx-runtime";function Rq(e){let t=e?.tyreTypes??[];return t.length===1?t[0]:null}function op({line:e,catalog:t,tyre:a}){let s=t.find(h=>h.slug===e.slug),c=e.config.find(h=>h.gold)?.label,l=s?.finishes.find(h=>h.name===c&&h.src)??s?.finishes.find(h=>h.src),r=s?.spokes??5,o=s?.mesh??!1,n=(s?.finishes.find(h=>h.name===c)??s?.finishes[0])?.color??yw;return Ta("div",{className:"relative flex aspect-square items-center justify-center overflow-hidden border border-line bg-surface",children:eo(e)?Ta(l6,{image:a?.coverImage,size:e.size,type:Rq(a),sizes:"96px",className:"h-full w-full"}):l?.src?Ta(V3,{src:l.src,alt:`${s?.name??e.slug} \u2014 ${l.name}`,width:120,height:120,sizes:"96px",className:"relative z-[2] block w-[88%] object-contain",style:{filter:"drop-shadow(0 6px 12px rgba(0,0,0,0.25))"}}):s||t.length===0?Ta("div",{className:"relative z-[2] block w-[72%]",style:{color:n,filter:"drop-shadow(0 6px 12px rgba(0,0,0,0.25))"},children:Ta(m8,{spokes:r,mesh:o,className:"block w-full"})}):null})}import{jsx as ip,jsxs as Dq}from"react/jsx-runtime";function TM(e,t){return Math.min($h,Math.max(1,e+t))}var PM="disabled:cursor-not-allowed disabled:opacity-40",Zq={large:{frame:"flex items-center border-2 border-fg-dim/50",button:`h-12 w-12 cursor-pointer bg-transparent font-mono text-[length:var(--size-label,16px)] font-bold text-fg transition-colors enabled:hover:bg-surface enabled:hover:text-accent ${PM}`,value:"w-11 text-center font-mono text-[length:var(--size-label,15px)] font-bold tracking-[0.1em] text-fg"},small:{frame:"flex items-center border border-line",button:`h-[30px] w-[30px] cursor-pointer font-mono text-fg-dim transition-colors enabled:hover:text-accent ${PM}`,value:"min-w-[36px] px-3 text-center font-mono text-[12px] tracking-[0.18em] text-fg"}};function Pa({value:e,onChange:t,size:a}){let s=Zq[a];return Dq("div",{className:s.frame,children:[ip("button",{type:"button",onClick:()=>t(TM(e,-1)),disabled:e<=1,"aria-label":"Decrease quantity",className:s.button,children:"\u2212"}),ip("span",{className:s.value,children:e}),ip("button",{type:"button",onClick:()=>t(TM(e,1)),disabled:e>=$h,"aria-label":"Increase quantity",className:s.button,children:"+"})]})}import{useEffect as Oq,useState as Gq}from"react";var qq=new Map;function EM(e){let[t,a]=Gq(null);return Oq(()=>{if(!e||t)return;let s=!0;return g0.listCatalog(["tyre"]).then(c=>{s&&a(new Map(c.flatMap(l=>l.kind==="tyre"?[[l.slug,l]]:[])))}).catch(c=>{console.error("[useTyreCatalog] tyre catalog read failed",c)}),()=>{s=!1}},[e,t]),t??qq}import{Fragment as to,jsx as N1,jsxs as l0}from"react/jsx-runtime";function Ea({content:e=fl}){let{isOpen:t,preview:a,close:s,items:c,remove:l,setQty:r,totals:o,coupon:i,bundles:n}=r4(),h=new Set(c.flatMap(z=>(z.components??[]).map(C=>C.partNumber))),m=new Set(o.appliedBundles.map(z=>z.slug)),p=n.filter(z=>!m.has(z.slug)).filter(z=>z.components.some(C=>h.has(C.partNumber))).slice(0,2),{formatMoney:u,activeCountry:g}=p0(),d=g?.name??e.shipsToFallback,f=1+(e.leadTimeValue?1:0)+(d?1:0),v=Uq(null),x=EM(c.some(eo));return k4({active:t,onDismiss:s,lockScroll:!a}),Wq(()=>{t&&v.current?.focus({preventScroll:!0})},[t]),t?l0(to,{children:[N1("div",{onClick:s,className:"fixed inset-0 z-[60] backdrop-blur-[4px]",style:{background:"rgba(0,0,0,0.68)",animation:"storefront-cart-fade 350ms ease both"},"aria-hidden":"true"}),l0("aside",{role:"dialog","aria-label":"Your cart","aria-modal":"true",className:"fixed inset-y-0 right-0 z-[61] flex w-[520px] max-w-[100vw] flex-col border-l border-line bg-bg max-[640px]:w-screen max-[640px]:border-l-0",style:{animation:"storefront-cart-slide 450ms cubic-bezier(.2,.7,.2,1) both",boxShadow:"-30px 0 80px rgba(0,0,0,.5)"},onClick:z=>z.stopPropagation(),children:[N1("style",{children:`
|
|
20
20
|
@keyframes storefront-cart-fade { from { opacity: 0 } to { opacity: 1 } }
|
|
21
21
|
@keyframes storefront-cart-slide { from { transform: translateX(40px); opacity: 0 } to { transform: translateX(0); opacity: 1 } }
|
|
22
|
-
`}),l0("header",{className:"flex flex-shrink-0 flex-col gap-3.5 border-b border-line px-8 pb-[22px] pt-[26px] max-[640px]:px-[22px] max-[640px]:pt-[22px] max-[640px]:pb-[18px]",children:[l0("div",{className:"flex items-center justify-between",children:[l0("span",{className:"flex items-center gap-2.5 font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[e.kickerBadge?N1("span",{className:"border px-2 py-1 text-[10px]",style:{background:"color-mix(in oklab, var(--accent) 12%, transparent)",borderColor:"color-mix(in oklab, var(--accent) 50%, transparent)"},children:e.kickerBadge}):null,(e.kickerBadge?"\xB7 ":"")+e.kickerText]}),N1("button",{ref:v,type:"button",onClick:s,"aria-label":"Close cart",className:"flex h-8 w-8 items-center justify-center border border-line text-[14px] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u2715"})]}),l0("h1",{className:"font-display text-[38px] font-medium uppercase leading-[0.95] tracking-[-0.03em] max-[640px]:text-[30px]",children:[e.titleLead+" ",N1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.02em] normal-case",children:e.titleAccent})]}),N1("p",{className:"font-serif text-[13px] italic leading-[1.5] text-fg-dim",children:xx(e,c.length)})]}),l0("div",{className:`grid flex-shrink-0 ${jq[f-1]} gap-px border-b border-line bg-line`,children:[N1(np,{label:"Items",value:l0(to,{children:[N1("em",{className:"font-serif font-normal italic text-accent",children:o.sets})," set",o.sets===1?"":"s"," \xB7 ",o.units," item",o.units===1?"":"s"]})}),e.leadTimeValue?N1(np,{label:"Lead time",value:e.leadTimeValue}):null,d?N1(np,{label:"Ships to",value:d}):null]}),l0("div",{className:"flex-1 overflow-y-auto [scrollbar-color:var(--site-line)_transparent] [scrollbar-width:thin]",children:[c.length===0?N1(Jq,{content:e}):c.map(z=>N1(Kq,{line:z,tyre:x.get(z.slug),onRemove:()=>l(z.id),onQtyChange:C=>r(z.id,C)},z.id)),p.length>0&&l0("section",{className:"border-b border-line px-8 py-[22px] max-[640px]:px-[22px]",style:{background:"color-mix(in oklab, var(--site-surface) 60%, transparent)"},children:[l0("div",{className:"mb-3.5 flex items-center justify-between font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[N1("span",{children:"You may also need"}),N1("span",{className:"font-display text-[11px] normal-case tracking-[0.08em] text-fg-dim",children:"Buy together, save"})]}),N1("div",{className:"grid grid-cols-2 gap-2 max-[640px]:grid-cols-1",children:p.map(z=>N1($q,{href:`/bundles/${z.slug}`,title:z.name,sub:Yq(z,o.currency,u)},z.slug))})]}),N1("section",{className:"border-b border-line px-8 py-[22px] max-[640px]:px-[22px]",children:N1(Mw,{})}),e.promises.length>0&&N1("div",{className:"flex flex-wrap justify-center gap-[18px] border-b border-line px-8 pt-[22px] pb-7 font-mono text-[9px] uppercase tracking-[0.24em] text-fg-dim max-[640px]:px-[22px]",children:e.promises.map(z=>N1(Xq,{children:z},z))})]}),l0("div",{className:"flex flex-shrink-0 flex-col gap-2 border-t border-line px-8 pt-5 max-[640px]:px-[22px]",children:[N1(i7,{label:`Subtotal \xB7 ${o.sets} set${o.sets===1?"":"s"}`,value:u(o.subtotal,o.currency)}),o.appliedBundles.map(z=>N1(i7,{label:`Bundle \xB7 ${z.name}${z.multiples>1?` \xD7${z.multiples}`:""}`,value:l0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(z.discount,o.currency)]})},z.slug)),o.discount>0&&i?.valid&&N1(i7,{label:`Coupon \xB7 ${i.code}`,value:l0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(o.discount,o.currency)]})}),i?.deferred&&N1(i7,{label:`Coupon \xB7 ${i.code}`,value:nw}),i?.valid&&i.effects?.gift&&N1(i7,{label:`Free gift \xB7 ${i.effects.gift.partNumber}${i.effects.gift.quantity>1?` \xD7${i.effects.gift.quantity}`:""}`,value:N1("span",{style:{color:"var(--green)"},children:"Free"})}),N1(i7,{label:"Shipping",value:o.freeShipping||o.shipping===0?N1("span",{style:{color:"var(--green)"},children:"Free"}):u(o.shipping,o.currency)}),o.tax&&(o.tax.charged?N1(i7,{label:o.tax.inclusive?`${o.tax.name} included \xB7 ${o.tax.rate}%`:o.tax.name,value:u(o.tax.amount,o.currency)}):o.tax.name?N1(i7,{label:o.tax.name,value:"Calculated at checkout"}):null),l0("div",{className:"mt-1.5 flex items-center justify-between border-t border-line pt-3.5 text-fg",children:[l0("span",{className:"font-display text-[22px] font-medium tracking-[-0.02em] normal-case",children:["Total ",N1("em",{className:"font-serif font-normal italic text-accent",children:"due"})]}),N1("span",{className:"text-right font-display text-[30px] font-medium tracking-[-0.025em] text-fg",children:o.repricing?"\u2026":u(o.grand,o.currency)})]})]}),l0("div",{className:"flex flex-shrink-0 flex-col gap-2.5 px-8 pb-[22px] pt-3.5 max-[640px]:px-[22px]",children:[l0(S1,{href:"/checkout",onClick:s,"aria-disabled":c.length===0,className:["group flex items-center justify-between border px-5 py-[18px] font-mono text-[12px] uppercase tracking-[0.3em] transition-colors",c.length===0?"pointer-events-none cursor-not-allowed border-line bg-surface text-fg-dim":"border-btn bg-btn text-btn-ink hover:border-fg hover:bg-fg"].join(" "),children:["Begin checkout",N1("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]}),l0("div",{className:"flex items-center justify-between px-1 py-1.5 font-mono text-[10px] uppercase tracking-[0.24em] text-fg-dim",children:[N1(S1,{href:"/wheels",onClick:s,className:"text-fg transition-colors hover:text-accent",children:"\u2190 Keep browsing"}),N1("button",{type:"button",className:"text-fg transition-colors hover:text-accent",children:"Save for later"})]})]})]})]}):null}var jq=["grid-cols-1","grid-cols-2","grid-cols-3"];function np({label:e,value:t}){return l0("div",{className:"flex flex-col gap-[3px] bg-bg px-4 py-3.5",children:[N1("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-fg-dim",children:e}),N1("span",{className:"font-display text-[14px] font-medium tracking-[-0.005em] text-fg",children:t})]})}function Kq({line:e,tyre:t,onRemove:a,onQtyChange:s}){let{catalog:c,totals:l}=r4(),r=(e.components??[]).reduce((n,h)=>n+(l.freeUnitsByPartNumber[h.partNumber]??0),0),{currency:o,formatMoney:i}=p0();return l0(to,{children:[l0("article",{className:"grid grid-cols-[96px_1fr] gap-5 border-b border-line px-8 py-6 transition-colors hover:bg-[color-mix(in_oklab,var(--site-surface)_60%,transparent)] max-[640px]:grid-cols-[78px_1fr] max-[640px]:px-[22px] max-[640px]:py-5",children:[N1(op,{line:e,catalog:c,tyre:t}),l0("div",{className:"flex min-w-0 flex-col gap-2",children:[l0("div",{className:"flex items-start justify-between gap-3",children:[l0("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-accent",children:["N\xB0 ",e.positionNo," \xB7 ",e.process==="FusionForge\xAE"?l0(to,{children:["FusionForge",N1(t6,{})]}):e.process]}),N1("span",{className:"whitespace-nowrap font-display text-[16px] font-medium tracking-[-0.015em] text-fg",children:Yh(e,o)===null?J6:i(Yh(e,o),o)})]}),l0("h3",{className:"mt-0.5 font-display text-[22px] font-medium uppercase leading-none tracking-[-0.02em]",children:[e.name.lead,N1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em] normal-case",children:e.name.accent})]}),e.config.length>0&&l0("div",{className:"mt-1 flex flex-wrap gap-1.5",children:[e.config.map(n=>N1("span",{className:["border px-2 py-1 font-mono text-[9px] uppercase tracking-[0.18em]",n.gold?"border-[color-mix(in_oklab,var(--accent)_45%,var(--site-line))] text-accent":"border-line text-fg-dim"].join(" "),children:n.label},n.label)),r>0&&l0("span",{className:"border border-accent bg-accent px-2 py-1 font-mono text-[9px] uppercase tracking-[0.18em] text-bg",children:[r,"\xD7 free"]})]}),l0("div",{className:"mt-2.5 flex items-center justify-between gap-3",children:[N1(Pa,{value:e.qty,onChange:s,size:"small"}),l0("div",{className:"flex gap-3.5 font-mono text-[10px] uppercase tracking-[0.22em]",children:[N1(S1,{href:e.href??`/wheels/${e.slug}`,className:"text-fg-dim transition-colors hover:text-accent",children:e.href?"View product":"Edit finish"}),N1("button",{type:"button",onClick:a,className:"text-fg-dim transition-colors hover:text-alert",children:"Remove"})]})]})]})]}),e.verifiedFor&&l0("div",{className:"mx-8 -mt-px flex items-start gap-3 border-t-0 px-4 py-3.5 font-display text-[13px] leading-[1.45] text-fg max-[640px]:mx-[22px]",style:{background:"color-mix(in oklab, var(--accent) 8%, transparent)",border:"1px solid color-mix(in oklab, var(--accent) 35%, var(--site-line))",borderTop:"0"},children:[N1("span",{className:"flex-shrink-0 pt-px font-mono text-[10px] uppercase tracking-[0.24em] text-accent",children:"Fits"}),l0("span",{children:["Verified for your ",N1("strong",{className:"font-medium text-accent",children:e.verifiedFor}),". Final torque values shipped with the wheels."]})]})]})}function $q({title:e,sub:t,href:a}){return l0(S1,{href:a,className:"flex items-center justify-between border border-line bg-bg px-3.5 py-3 text-left transition-colors hover:border-accent",children:[l0("span",{className:"flex min-w-0 flex-col gap-[3px]",children:[N1("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap font-display text-[13px] font-medium tracking-[-0.005em] text-fg",children:e}),N1("span",{className:"font-mono text-[9px] uppercase tracking-[0.22em] text-fg-dim",children:t})]}),N1("span",{className:"ml-2 flex h-6 w-6 flex-shrink-0 items-center justify-center font-mono text-[13px] text-accent",style:{borderColor:"color-mix(in oklab, var(--accent) 45%, var(--site-line))",borderWidth:1,borderStyle:"solid"},children:"+"})]})}function Yq(e,t,a){let s=e.savings[t];if(s===void 0)return"Buy together";let c=a(s,t);return e.savingIsFrom?`Save from ${c}`:`Save ${c}`}function Xq({children:e}){return N1("span",{className:"inline-flex items-center gap-1.5 before:text-[6px] before:text-accent before:content-['\u25CF']",children:e})}function i7({label:e,value:t}){return l0("div",{className:"flex items-center justify-between font-mono text-[11px] uppercase tracking-[0.18em] text-fg-dim",children:[N1("span",{children:e}),N1("strong",{className:"font-display text-[14px] font-normal tracking-[-0.005em] normal-case text-fg",children:t})]})}function Jq({content:e}){return l0("div",{className:"flex flex-col items-center justify-center gap-3 px-8 py-20 text-center",children:[N1("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:e.emptyKicker}),N1("p",{className:"font-serif text-[16px] italic leading-[1.5] text-fg-dim",children:e.emptyBody}),l0(S1,{href:"/wheels",className:"mt-3 inline-flex items-center gap-3 border border-line px-5 py-3 font-mono text-[11px] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:["Browse the catalog ",N1("span",{className:"text-accent",children:"\u2192"})]})]})}var Qq=[{key:"cart",label:"Cart",href:"/?cart=open"},{key:"checkout",label:"Checkout",href:"/checkout"}],eW=Object.fromEntries(Qq.map(e=>[e.key,e]));function VM(e){return eW[e]}import{Fragment as aW,jsx as He,jsxs as Va}from"react/jsx-runtime";var tW=tp(()=>import("./EditorPreviewCheckout-AM4FOEBI.js"),{ssr:!1});function hp(){let{chromePlaceholder:e,themeFromDocument:t}=N3(),{surface:a}=hy();return e||t||!a||a!=="cart"&&a!=="checkout"?null:a==="checkout"?Va(aW,{children:[He(tW,{}),He(NM,{surface:a})]}):He(cr,{children:Va(lr,{preview:!0,children:[He(Ea,{}),He(NM,{surface:a})]})})}function NM({surface:e}){let{label:t,href:a}=VM(e);return Va("div",{style:{position:"fixed",bottom:14,left:"50%",transform:"translateX(-50%)",zIndex:2147483e3,display:"flex",alignItems:"center",gap:8,maxWidth:"calc(100% - 24px)",padding:"5px 6px 5px 13px",borderRadius:999,fontSize:12,fontWeight:600,fontFamily:"system-ui, sans-serif",color:"#334155",background:"rgba(255,255,255,0.94)",border:"1px solid rgba(15,23,42,0.12)",boxShadow:"0 6px 24px rgba(15,23,42,0.18)",pointerEvents:"none"},children:[Va("span",{style:{whiteSpace:"nowrap"},children:[t," \xB7 preview only"]}),Va("a",{href:a,target:"_blank",rel:"noopener noreferrer",style:{pointerEvents:"auto",flex:"none",display:"inline-flex",alignItems:"center",gap:5,padding:"4px 11px",borderRadius:999,color:"#fff",background:"#2563eb",textDecoration:"none"},children:["Open live",He(Q5,{name:"external-link",size:13,rounded:!0})]})]})}import{CategoryIcon as kt1,CheckIcon as zD,ClockIcon as nb,ColumnsIcon as Mt1,DirectionIcon as St1,EyeIcon as Lt1,ListIcon as At1,PageIcon as Ht1,PlacementIcon as Ft1,ScrollPointIcon as Tt1,TriggerIcon as Pt1}from"efficient-easel/icons";import{useContext as rW,useEffect as DM,useRef as so,useState as co}from"react";import{Button as lo}from"efficient-shell/ui";var Na=class extends Error{constructor(a){super("The storefront forms list could not be loaded.");this.cause=a;this.name="FormsUnavailableError"}},ao=null,mp=null,pp=null;function sW(){ao=null,mp=null,pp=null}function _M(e=!1){let t=_3(),a=o2();return(e||!ao||mp===null&&t!==null||pp!==a)&&(mp=t,pp=a,ao=(t?X1.listForms(t,{siteId:a}):Promise.reject(new Na)).catch(s=>{throw sW(),s instanceof Na?s:new Na(s)})),ao}var up=new Map,cW=9e5,IM=0;function lW(){return IM+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(IM)}`}function BM(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function RM(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let a=lW();return new Promise(s=>{let c=setTimeout(()=>ZM(a,{status:"timeout"}),t.timeoutMs??cW);up.set(a,l=>{clearTimeout(c),s(l)}),e.send("storefront-editor:open-form",{requestId:a,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function ZM(e,t){let a=up.get(e);a&&(up.delete(e),a(t))}function Do1(e,t){ZM(e,t?{status:"saved",form:t}:{status:"closed"})}import{jsx as T2,jsxs as q4}from"react/jsx-runtime";var OM="__create-a-new-form__";function oW({value:e,forms:t,loadFailed:a,emptyLabel:s="No form yet"}){let c=t??[],l=e?c.some(m=>m.slug===e):!0,r=t===null&&!a,o={value:"",label:r?"Loading\u2026":a?"Forms couldn\u2019t be loaded":s},i=e&&!l?[{value:e,label:r||a?e:`${e} \u2014 no form with this name`}]:[],n=c.map(m=>({value:m.slug,label:m.is_active?m.title:`${m.title} (switched off)`})),h=r?[]:[{value:OM,label:"Create a new form\u2026"}];return[o,...i,...n,...h]}function iW(e){return e===OM?{action:"create"}:{action:"store",slug:e}}function nW({value:e,pickedId:t,forms:a}){if(!e||!t||a.some(c=>c.slug===e))return null;let s=a.find(c=>c.id===t);return s&&s.slug&&s.slug!==e?s.slug:null}function hW(e){let t=["Goes to Storefront \u2192 Forms"],a=(e.notify_email??"").trim();return a&&t.push(`Emails a copy to ${a}`),e.mailing_list_name&&t.push(e.subscribe_mode==="checkbox"?`Joins the \u201C${e.mailing_list_name}\u201D audience, but only when the consent box is ticked`:`Joins the \u201C${e.mailing_list_name}\u201D audience`),e.kind==="account_signup"&&t.push(e.signup_customer_type==="importer"?"Creates a wholesale account":"Creates a retail account"),t}function dp({value:e,onChange:t,label:a="Form",emptyLabel:s}){let c=x4(),l=rW(ul),r=l?l.capabilities.hasForms:!0,[o,i]=co(null),[n,h]=co(!1),[m,p]=co(!1),[u,g]=co(!1),d=so(!0),f=so(e);f.current=e;let v=so(t);v.current=t;let x=so(null),z=(F=!1)=>_M(F).then(T=>{if(d.current){i(T),h(!1);let N=nW({value:f.current,pickedId:x.current,forms:T});N&&v.current(N)}return T},()=>(d.current&&h(!0),[]));DM(()=>(d.current=!0,r&&z(),()=>{d.current=!1}),[r]),DM(()=>r?Zr(()=>{z(!0)}):void 0,[r]);let M=e?(o??[]).find(F=>F.slug===e)??null:null;M?x.current=M.id:e||(x.current=null);let A=!!e&&!M&&o!==null&&!n,V=oW({value:e,forms:o,loadFailed:n,emptyLabel:s}),E=async()=>{p(!0),g(!1);try{let F=await RM(c,{mode:"create"}),T=await z(!0);if(!d.current)return;if(F.status==="timeout"){g(!0);return}if(F.status!=="saved")return;let{form:N}=F;N.slug!==f.current&&v.current(N.slug),T.some(B=>B.id===N.id)||z(!0)}finally{d.current&&p(!1)}},O=F=>{let T=iW(F);T.action==="create"?E():(g(!1),t(T.slug))};return r?q4("div",{className:"sf-formpicker",children:[T2(H9,{label:a,options:V,fallback:"",value:e??"",onChange:O,placeholder:"Search forms\u2026"}),u&&T2("p",{className:"sf-formsummary-warn",children:"That didn\u2019t come back \u2014 pick the form from the list, or try again."}),M?q4("div",{className:"sf-blogsource sf-formsummary",children:[q4("div",{children:[T2("div",{className:"sf-formsummary-caption",children:M.fields.length===1?"1 field":`${M.fields.length} fields`}),M.fields.length?T2("ol",{className:"sf-formsummary-fields",children:M.fields.map((F,T)=>T2("li",{children:F.label},F.key||`${F.label}-${T}`))}):T2("p",{className:"sf-blogsource-hint",children:"This form has no fields yet, so there is nothing for a visitor to fill in."})]}),q4("div",{children:[T2("div",{className:"sf-formsummary-caption",children:"Where the answers go"}),T2("ul",{className:"sf-formsummary-fields",children:hW(M).map(F=>T2("li",{children:F},F))})]}),!M.is_active&&T2("p",{className:"sf-formsummary-warn",children:"This form is switched off, so it won\u2019t appear on the published page. Turn it back on in Storefront \u2192 Forms."}),q4("div",{className:"sf-formsummary-actions",children:[T2(lo,{variant:"secondary",size:"sm",onClick:()=>BM(c,M.id),children:"Edit form \u270E"}),T2(lo,{variant:"secondary",size:"sm",disabled:m,onClick:()=>{E()},children:"New form +"})]}),T2("p",{className:"sf-blogsource-hint",children:"The questions, the button text and the thank-you message all come from Storefront \u2192 Forms. Edit them there \u2014 this section updates to match."})]}):q4("div",{className:"sf-blogsource sf-formsummary",children:[n?q4("p",{className:"sf-blogsource-hint",children:["This website\u2019s forms couldn\u2019t be loaded, so there is nothing to choose from yet.",e?` This section still points at \u201C${e}\u201D, and that is unchanged.`:""]}):A&&q4("p",{className:"sf-formsummary-warn",children:["This section points at \u201C",e,"\u201D, and this website has no form with that name. Pick one from the list above, or leave it \u2014 nothing has been changed."]}),q4("div",{className:"sf-formsummary-actions",children:[n&&T2(lo,{variant:"secondary",size:"sm",disabled:m,onClick:()=>{z(!0)},children:"Try again"}),T2(lo,{variant:"secondary",size:"sm",disabled:m,onClick:()=>{E()},children:"New form +"})]}),!n&&T2("p",{className:"sf-blogsource-hint",children:"Pick a form to show here, or build a new one. Forms are made once in Storefront \u2192 Forms and can be shown on any number of pages."})]})]}):T2("div",{className:"sf-formpicker",children:T2("div",{className:"sf-blogsource sf-formsummary",children:q4("div",{children:[T2("div",{className:"sf-formsummary-caption",children:a}),q4("p",{className:"sf-blogsource-hint",children:["Forms aren\u2019t available in this editor, so there is nothing to choose here.",e?` This section still points at \u201C${e}\u201D, and that is unchanged.`:""]})]})})})}import{jsx as mW}from"react/jsx-runtime";function L5(e,t){return{type:"custom",render:({value:a,onChange:s})=>mW(dp,{value:a,onChange:s,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}var ro=null,GM=null;function pW(e,t){ro=e,GM=t}function si1(e){pW(e,null)}function qM(){return ro}function Z2(){return GM==="dynamic"||ro===zm}function WM(e){return xr(ro??"",e)??"alloy-wheel"}import{createContext as uW,useContext as dW}from"react";import{jsx as gW}from"react/jsx-runtime";var UM=uW(null);function jM({slug:e,children:t}){let a=typeof e=="string"&&e.trim()?e:null;return gW(UM.Provider,{value:a,children:t})}function KM(){return dW(UM)}import{createContext as vW,useContext as fW}from"react";import{jsx as bW}from"react/jsx-runtime";var $M=vW("alloy-wheel");function YM({kind:e,children:t}){return bW($M.Provider,{value:e??"alloy-wheel",children:t})}function XM(){return fW($M)}import{createContext as xW,useContext as yW}from"react";var gp="heroBullets",_a="\xB7",Ia={bullets:[{label:"Free shipping",detail:"USA, UK, AUS"},{label:"Lifetime warranty",detail:"structural"}]};function JM(e){return e.detail?`${e.label} ${_a} ${e.detail}`:e.label}function zW(e){let t=e.trim();if(!t)return null;let a=t.indexOf(_a);return a<0?{label:t,detail:""}:{label:t.slice(0,a).trim(),detail:t.slice(a+_a.length).trim()}}function QM(e){let t=(e??{})[gp];return Array.isArray(t)?{bullets:t.map(s=>zW(typeof s=="string"?s:bx(s?.text,""))).filter(s=>s!==null)}:Ia}import{jsx as wW}from"react/jsx-runtime";var eS=xW(Ia);function tS({content:e,children:t}){return wW(eS.Provider,{value:e,children:t})}function aS(){return yW(eS)}var p2={text:"Button label",href:"#"},L={eyebrow:"Eyebrow",heading:"Main heading",accent:"Highlight line",body:"Add a sentence or two of supporting copy.",button:"Button label",link:"#",sectionHeading:"Section heading",slideName:"Slide name",boxName:"Box name",headingAccent:"Section heading *here.*",sectionNumber:"Section number",imageCaption:"Image caption",bookingConfirmation:"Thanks \u2014 we'll email you to confirm.",imageMeta:"Image meta",label:"Label",value:"Value",viewAll:"View all",date:"Month DD, YYYY",category:"Category"};var e3={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:Vx,Stats:void 0};import{jsx as h7}from"react/jsx-runtime";import{jsx as kW}from"react/jsx-runtime";var oo="sf-card",P2={min:0,max:90,step:5,fallback:0,unit:"%"},n7=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],CW="68%",O3={desktop:20,phone:20,side:40,sidePhone:24},sS="sf-box-sides",cS={min:0,max:200,step:10};function Fe(e){return typeof e=="string"&&e.trim()!==""}function io(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(P2.max,Math.max(P2.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) ${CW})`}}function no(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"]},[s,c]=a[e]??a.center,[l,r]=t==="column"?[c,s]:[s,c],o={start:"justify-start",center:"justify-center",end:"justify-end"},i={start:"items-start",center:"items-center",end:"items-end"};return`${o[l]} ${i[r]}`}var ho={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}},lS=new Set(Object.keys(ho)),MW=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),rS=new Set(["ProductGrid"]);function vp(e,t){let a=e.render;e.render=s=>{if(t?.(s))return a(s);let c=M9(s.sectionPaddingTop,s.sectionPaddingBottom,s.sectionPaddingTopPhone,s.sectionPaddingBottomPhone),l=a(s);return c?kW("div",{className:c.className,style:c.style,children:l}):l}}var oS={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!MW.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){lS.has(t)||rS.has(t)||(e.fields={...e.fields,...a.spacingFields({phone:!0})})},draw(e,t){if(lS.has(t)){let a=e.render,s=ho[t];e.render=c=>{let l=rx(c,s);return a({...c,padTop:l.top,padBottom:l.bottom})};return}if(rS.has(t)){vp(e);return}vp(e,t==="Flex"?a=>Fe(a.bgImage):void 0)}},SW=["Heading","Text"],iS={name:"blockPadding",applies:(e,t,a)=>SW.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.spacingFields({phone:!0})}},draw(e){vp(e)}};import{jsx as Te,jsxs as LW}from"react/jsx-runtime";import{useEasel as AW}from"efficient-easel/easel";import{SettingsDrill as HW}from"efficient-easel/panel";import{default as nS}from"efficient-easel/screen/components/AddBlockRow";import{default as hS}from"efficient-easel/screen/components/AddChildRow";import{SlotChildActionsProvider as Fi1,useSlotChildActions as mS}from"efficient-easel/screen/components/SlotChildActionsContext";function FW({parent:e,parentType:t,label:a,rowName:s,onSelectChild:c,onAddChild:l,nestDepth:r=0}){let o=jh(t,r);if(!o)return null;let{slot:i,choices:n,spec:h}=o,m=String(e.props.id),p=`${m}:${i}`,u=Array.isArray(e.props[i])?e.props[i]:[],g=h?.addBlocked?.(u)??null,d=h?.notice?.(u)??null;return LW("div",{className:"sf-slot-rows",children:[a?Te(I9,{label:`${a} \xB7 ${u.length}`}):null,d?Te("p",{className:"sf-note",children:d}):null,u.map((f,v)=>Te(HW,{name:s(f),onOpen:()=>c(p,v,String(f.props.id),t)},String(f.props.id??`${p}-${v}`))),n?Te(nS,{choices:n,onPick:f=>l(m,i,f,u.length,t)}):h.fixed?null:Te(hS,{label:h.addLabel,blocked:g,onAdd:()=>l(m,i,h.childType,u.length,t)})]})}function TW(e,t){return jh(t)?.source==="footer"?e.blockRowName:e.childRowName}function pS({parentType:e,label:t}){let{appState:a,selectedItem:s}=AW(r=>r),c=mS();if(!c||!s||s.type!==e)return null;let l=e===Xb?jc(a?.data,String(s.props.id)):0;return Te(FW,{parent:s,parentType:e,label:t,rowName:TW(c,e),onSelectChild:c.selectChild,onAddChild:c.addChild,nestDepth:l})}var uS="grayscale(1) contrast(1.03)",dS="Black and white";function PW(e){return e===!0?{filter:uS}:{}}function EW(e){let{filter:t}=PW(e);return t?{style:{filter:t}}:{}}var Ba="sf-photo-grayscale",VW=`@media (hover:hover){.${Ba}{filter:${uS};transition:filter 160ms ease}.${Ba}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${Ba}{transition:none}}`;function Pe(e,t){return typeof e=="boolean"?e?EW(!0):{}:t===!0?{className:Ba}:{}}function gS(e){return e===!0?{[Ba]:VW}:{}}import{AlignLeftIcon as IW,BlackAndWhiteIcon as BW,ContrastIcon as RW,HeightIcon as ZW,TypeIcon as DW}from"efficient-easel/icons";var NW=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],_W=new Set(NW);function vS(e){let t=e.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let a=t.length-1;a>=0;a-=1)if(_W.has(t[a]))return t[a];return null}var r6=e=>Y2(e,a1("Height",h7(ZW,{}),K9.min,K9.max,K9.step,K9.fallback,K9.unit)),S4={ctaText:H("Button",p2.text),ctaHref:H1("Button link")},A5=()=>b1("Alignment",h7(IW,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],"left"),mo=()=>b1("Tone",h7(RW,{}),[{label:"Default",value:"default"},{label:"Muted",value:"dim"}],"default"),o3=e=>v5({...ho[e],keys:{top:"padTop",bottom:"padBottom"},group:!1}),s2=(e,t)=>({type:"custom",render:()=>h7(pS,{parentType:e,label:t})});function OW(e){let{photographyGrayscale:t}=N3();return l1(dS,t===!0,h7(BW,{})).render(e)}function Ee(){return{type:"custom",render:e=>h7(OW,{...e})}}var W1=Object.keys(f5("full"));function Ve(e){let t=vS(e);return t?h7(a4,{noun:t}):h7(DW,{})}import{createContext as GW,useContext as qW}from"react";import{jsx as m7,jsxs as fp}from"react/jsx-runtime";function bp(e){return v9(e)??void 0}var zp=GW({}),fS=3;function xp({tag:e,name:t,desc:a,href:s,imageSrc:c,imageLabel:l,price:r}){let{showPrice:o,cardStyle:i,partStyles:n,editing:h}=qW(zp),m=i==="bordered"?" border border-line":i==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",p=bp(c),u=d=>h?{[r8]:d}:{},g=d=>Rl(n?.[o8(d)]?.role,uy[d],Xc);return fp(S1,{href:s||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${m}`,children:[m7("div",{className:"relative z-0 aspect-[4/5] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] group-hover:scale-[1.04]",children:m7(P0,{label:l||"collection.jpg",src:p})}),m7("div",{className:"pointer-events-none absolute inset-0 z-[1] [background:rgba(0,0,0,0.4)] group-hover:[background:rgba(0,0,0,0.3)] max-[800px]:hidden",style:{transition:"none"}}),fp("div",{className:"absolute inset-x-8 bottom-8 z-[2] flex flex-col gap-2.5 text-overlay-fg max-[800px]:relative max-[800px]:inset-auto max-[800px]:p-6 max-[800px]:gap-3 max-[800px]:text-fg",children:[e&&m7("span",{...u("tag"),style:g("tag"),className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.25em] opacity-70",children:k(e)}),t&&m7("h3",{...u("name"),style:g("name"),className:"font-heading2 text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))] font-medium leading-none tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",children:typeof t=="string"?Y(t,!1):t}),a&&b0(a).map((d,f)=>m7("p",{...u("body"),style:g("body"),className:"max-w-[420px] text-[length:var(--size-body,14px)] leading-[1.5] opacity-80",children:k(d)},f)),o&&r&&m7("span",{...u("price"),style:g("price"),className:"font-mono text-[length:var(--size-label,15px)] tracking-[0.05em] text-accent",children:k(r)}),fp("span",{...u("link"),style:g("link"),className:"mt-2 inline-flex items-center gap-2.5 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em]",children:["Explore",m7("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"\u2192"})]})]})]})}import{createContext as UW,useCallback as jW,useContext as KW,useEffect as zS,useRef as $W,useState as wp}from"react";import{useState as WW}from"react";function po(e){switch(e){case"tall":return"aspect-[3/4]";case"wide":return"aspect-[2/1]";case"landscape":return"aspect-[4/3]";case"portrait":return"aspect-[4/5]";case"auto":return"";default:return"aspect-square"}}function bS(e){return e==="below"}import{jsx as W4,jsxs as Ne}from"react/jsx-runtime";function yp({build:e,hiddenMobile:t,alwaysShowOverlay:a,forceHover:s,index:c,total:l,ratio:r,captionPlace:o}){let[i,n]=WW(!1),h=bS(o),m=Ne("div",{className:["sf-card group relative overflow-hidden bg-surface-2",po(r),t?"max-[800px]:hidden":""].join(" "),children:[Ne("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",s?"scale-[1.06] opacity-0 [filter:brightness(0.5)]":"group-hover:scale-[1.06] group-hover:opacity-0 group-hover:[filter:brightness(0.5)]"].join(" "),children:[W4(P0,{label:e.imageLabel,src:e.imageSrc}),W4("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),W4("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",s?"opacity-100 scale-[1.06] [filter:brightness(0.5)]":"opacity-0 group-hover:scale-[1.06] group-hover:opacity-100 group-hover:[filter:brightness(0.5)]"].join(" "),style:{background:"var(--site-surface)"},children:e.detailSrc&&W4(V3,{src:e.detailSrc,alt:"",fill:!0,sizes:"(max-width: 800px) 100vw, (max-width: 1500px) 33vw, 25vw",loading:"lazy",className:"absolute inset-0 z-[3] object-cover",style:{display:i?"none":"block"},onError:()=>n(!0)})}),c!=null&&l!=null&&Ne("span",{className:"pointer-events-none absolute top-3 right-3 z-[3] font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] max-[800px]:top-2.5 max-[800px]:right-2.5",style:{color:"rgba(245,241,232,0.7)"},children:[String(c).padStart(2,"0")," / ",String(l).padStart(2,"0")]}),e.process&&W4("span",{className:["pointer-events-none absolute top-3 left-3 z-[3] inline-block max-w-[60%] truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent max-[800px]:top-2.5 max-[800px]:left-2.5","transition-opacity duration-300 ease-out",a||s?"opacity-100":"opacity-0 group-hover:opacity-100 max-[800px]:opacity-100"].join(" "),children:Y1(e.process)}),Ne("div",{className:["absolute inset-0 z-[2] flex flex-col justify-end gap-1 p-6","transition-[opacity,transform] duration-300 ease-out",a||s?"opacity-100 translate-y-0":"opacity-0 translate-y-2 group-hover:opacity-100 group-hover:translate-y-0 max-[800px]:opacity-100 max-[800px]:translate-y-0","max-[800px]:p-3.5"].join(" "),style:{color:"var(--overlay-fg)",background:"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:[e.car&&W4("div",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent max-[800px]:text-[length:var(--size-label,11px)] max-[800px]:tracking-[0.15em]",children:e.car}),e.wheel&&W4("div",{className:"font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-[1.05] tracking-[-0.02em] max-[800px]:text-[length:var(--size-body,16px)]",children:e.wheel}),e.finish&&W4("div",{className:"mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em]",style:{color:"rgba(245,241,232,0.7)"},children:W4("span",{children:Y1(e.finish)})})]})]});return h?Ne("div",{className:t?"max-[800px]:hidden":"",children:[m,Ne("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&W4("div",{className:"font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg",children:e.wheel}),(e.finish||e.car)&&W4("div",{className:"mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim",children:Y1(e.finish||e.car)})]})]}):m}import{Fragment as _e,jsx as X0,jsxs as i3}from"react/jsx-runtime";var Ra=UW({}),Za="data-gallery-grid",Cp="data-gallery-tile";function YW(e,t){let[a,s]=wp(null);return zS(()=>{let c=e.current,l=c?.closest(`[${Za}]`);if(!c||!l)return;let r=()=>{let i=Array.from(l.querySelectorAll(`[${Cp}]`)),n=i.indexOf(c),h=n>=0?{index:n+1,total:i.length}:null;s(m=>m?.index===h?.index&&m?.total===h?.total?m:h)};if(r(),!t)return;let o=new MutationObserver(r);return o.observe(l,{childList:!0,subtree:!0}),()=>o.disconnect()},[e,t]),a}var xS=[{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"}];function XW(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function JW(e){let t=(e.photos??[]).map(l=>l?.src).filter(l=>!!l),a=e.image||t[0]||"",s=[a,...t].filter(l=>!!l),c=XW(e.name,"gallery-item");return{car:e.eyebrow??"",wheel:e.name??"",process:e.process??"",finish:e.meta??"",imageLabel:`${c}.jpg`,detailLabel:`${c}-detail.jpg`,imageSrc:a||void 0,detailSrc:t[0]||a||void 0,photos:s,href:e.href}}function Da({editing:e=!1,previewHover:t,ratio:a,captionPlace:s,...c}){let{galleryHref:l="/gallery",submitHref:r="/contact",previewHover:o}=KW(Ra),i=JW(c),n=i.photos??(i.imageSrc?[i.imageSrc]:[]),h=$W(null),m=jW(z=>{h.current=z},[]),p=YW(h,e),u=e&&(!!t||!!o),[g,d]=wp(!1),[f,v]=wp(0);zS(()=>{if(!g)return;let z=M=>{M.key==="Escape"?d(!1):M.key==="ArrowLeft"&&n.length>1?v(A=>(A-1+n.length)%n.length):M.key==="ArrowRight"&&n.length>1&&v(A=>(A+1)%n.length)};window.addEventListener("keydown",z);let C=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",z),document.body.style.overflow=C}},[g,n.length]);let x=X0(yp,{build:i,forceHover:u,index:p?.index,total:p?.total,ratio:a,captionPlace:s});return i3(_e,{children:[e?X0("div",{ref:m,[Cp]:"",className:"block w-full text-left",children:x}):X0("button",{ref:m,[Cp]:"",type:"button","aria-label":`Open ${i.car||"build"} on ${i.wheel||"wheel"}`,onClick:()=>{v(0),d(!0)},className:"block w-full cursor-pointer text-left focus:outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2",children:x}),g&&(()=>{let z=n[f]??i.imageSrc??"",C=()=>v(A=>(A-1+n.length)%n.length),M=()=>v(A=>(A+1)%n.length);return X0("div",{role:"dialog","aria-modal":"true","aria-label":`${i.car} on ${i.wheel}`,onClick:()=>d(!1),className:"fixed inset-0 z-[100] flex items-center justify-center p-6 backdrop-blur-[8px] max-[700px]:p-3",style:{background:"color-mix(in oklab, var(--bg) 78%, transparent)"},children:i3("div",{onClick:A=>A.stopPropagation(),className:"relative grid w-[min(1800px,100%)] max-h-[calc(100vh-48px)] grid-cols-[1.4fr_1fr] overflow-hidden border border-line bg-bg max-[1100px]:grid-cols-1 max-[1100px]:overflow-auto",style:{boxShadow:"0 60px 120px -20px rgba(0,0,0,0.7)"},children:[X0("button",{type:"button",onClick:()=>d(!1),"aria-label":"Close popup",className:"absolute right-[24px] top-[24px] z-[5] flex h-[56px] w-[56px] items-center justify-center border border-line font-mono text-[length:var(--size-label,21px)] text-fg-dim transition-colors hover:border-accent hover:text-fg",style:{background:"color-mix(in oklab, var(--bg) 70%, transparent)"},children:"\u2715"}),i3("div",{className:"relative flex min-h-[690px] items-center justify-center overflow-hidden bg-surface-2 max-[1100px]:min-h-[450px]",children:[z&&X0("img",{src:z,alt:`${i.car} \u2014 ${f+1} of ${n.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},z),n.length>1&&i3(_e,{children:[X0("button",{type:"button","aria-label":"Previous photo",onClick:C,className:"absolute left-4 top-1/2 flex h-16 w-16 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 font-mono text-[length:var(--size-label,24px)] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u25C1"}),X0("button",{type:"button","aria-label":"Next photo",onClick:M,className:"absolute right-4 top-1/2 flex h-16 w-16 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 font-mono text-[length:var(--size-label,24px)] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u25B7"}),i3("span",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 border border-fg-dim/30 bg-overlay-scrim/50 px-4 py-1.5 font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.22em] text-fg-dim backdrop-blur-[4px]",children:[f+1," / ",n.length]})]})]}),i3("div",{className:"flex flex-col gap-[30px] px-[60px] py-[72px] max-[1100px]:px-9 max-[1100px]:py-[54px]",children:[i.process&&X0("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:k(i.process)}),i.wheel&&X0("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(42px,4.5vw,60px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.025em]",children:Y(i.wheel,!1)}),i.car&&i3("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",X0("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em]",children:k(i.car,!0)})]}),i3("dl",{className:"mt-3 grid grid-cols-[auto_1fr] gap-x-7 gap-y-[18px] border-y border-line py-[30px] font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.22em]",children:[i.wheel&&i3(_e,{children:[X0("dt",{className:"text-fg-dim",children:"Wheel"}),X0("dd",{className:"text-fg",children:k(i.wheel)})]}),i.process&&i3(_e,{children:[X0("dt",{className:"text-fg-dim",children:"Process"}),X0("dd",{className:"text-fg",children:k(i.process)})]}),i.finish&&i3(_e,{children:[X0("dt",{className:"text-fg-dim",children:"Finish"}),X0("dd",{className:"text-fg",children:k(i.finish)})]}),i.car&&i3(_e,{children:[X0("dt",{className:"text-fg-dim",children:"Vehicle"}),X0("dd",{className:"text-fg",children:k(i.car)})]})]}),i3("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[i3(S1,{href:i.href||"/wheels",onClick:()=>d(!1),className:"group flex items-center justify-between gap-6 border border-btn bg-btn px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-btn-ink transition-colors hover:border-fg hover:bg-fg",children:[X0("span",{children:"View product"}),X0("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"\u2192"})]}),i3(S1,{href:l,onClick:()=>d(!1),className:"flex items-center justify-between gap-6 border border-line px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[X0("span",{children:"See more builds"}),X0("span",{children:"\u2192"})]}),i3(S1,{href:r,onClick:()=>d(!1),className:"flex items-center justify-between gap-6 border border-line px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[X0("span",{children:"Submit your build"}),X0("span",{children:"\u2192"})]})]})]})]})})})()]})}import{createContext as aU,useContext as sU,useEffect as uo,useId as cU,useMemo as lU,useState as E2}from"react";var QW=14,eU=3;function kp(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function tU(e,t){let a=new Date(`${e}T00:00:00`);return a.setDate(a.getDate()+t),kp(a)}async function yS(e,t,a={}){let s=a.days??QW,c=a.read??n8.getAvailability,l=0,r=0;for(let o=0;o<s;o++){if(a.signal?.aborted)return{outcome:"unreadable"};let i=tU(t,o);try{let n=await c(e,i);if(l=0,r++,n.slots.length>0)return{outcome:"found",date:i,availability:n}}catch{if(l++,l>=eU)return{outcome:"unreadable"}}}return r===s?{outcome:"noneInWindow",days:s}:{outcome:"unreadable"}}import{jsx as iU}from"react/jsx-runtime";var wS=aU(null);function p7(){let e=sU(wS);if(!e)throw new Error("useBookingForm must be used inside <BookingFormProvider>");return e}var Mp=[{id:"example-1",name:"Example service",durationMinutes:45,price:"80.00",description:"What this appointment includes, in a sentence."},{id:"example-2",name:"Second example",durationMinutes:30,price:"0",description:""}];function rU(e){return{timezone:"UTC",slots:[`${e}T09:00:00.000Z`,`${e}T10:30:00.000Z`,`${e}T13:00:00.000Z`].map(t=>({start:t}))}}var Sp={bookingNumber:"EXAMPLE-0000",service:"Example service",startAt:"2026-01-01T00:00:00.000Z",timezone:"UTC",customerTimezone:"",manageToken:"example"};function oU(e,t){return e&&t?.length===0}function CS({editing:e=!1,previewConfirmation:t=!1,children:a}){let s=cU(),c=lU(()=>kp(new Date),[]),[l,r]=E2(),[o,i]=E2(""),[n,h]=E2(""),[m,p]=E2(c),[u,g]=E2(c),[d,f]=E2(!1),[v,x]=E2(null),[z,C]=E2(),[M,A]=E2(""),[V,E]=E2(""),[O,F]=E2(""),[T,N]=E2(""),[B,P]=E2(""),[D,c1]=E2(()=>Xh()),[Z,q]=E2(null),[K,W]=E2(!1),[r1,z1]=E2(!1),[$,e1]=E2(null),[d1,U]=E2("");uo(()=>{U(Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC")},[]),uo(()=>{let a0=!1;return n8.listServices().then(s0=>{a0||(r(s0.results),i(s0.currency),h($1=>$1||s0.results[0]?.id||""))}).catch(()=>{a0||r([])}),()=>{a0=!0}},[]),uo(()=>{if(d||!n)return;let a0={aborted:!1};return A(""),C(void 0),e1(null),x(null),W(!0),yS(n,c,{signal:a0}).then(s0=>{if(!a0.aborted){if(s0.outcome==="found"){p(s0.date),g(s0.date),C(s0.availability);return}x(s0.outcome==="noneInWindow"?`No times are available in the next ${s0.days} days.`:"We couldn't load available times. Please try again.")}}).finally(()=>{a0.aborted||W(!1)}),()=>{a0.aborted=!0}},[d,n,c]),uo(()=>{if(!d||!n||!m)return;let a0=!1;return A(""),C(void 0),e1(null),x(null),W(!0),n8.getAvailability(n,m).then(s0=>{a0||(C(s0),s0.slots.length===0&&x("No times are available on this date."))}).catch(()=>{a0||x("We couldn't load available times. Please try again.")}).finally(()=>{a0||W(!1)}),()=>{a0=!0}},[m,d,n]);let p1=l?.find(a0=>a0.id===n),f1=p1?.depositAmountDue!=null,H0=!!(!e&&!r1&&p1&&M&&V.trim()&&O.trim()&&!f1);async function F0(a0){if(a0.preventDefault(),!(!H0||!p1)){z1(!0),e1(null);try{let s0=await n8.create({serviceId:p1.id,start:M,customer:{name:V.trim(),email:O.trim(),phone:T.trim()},notes:B.trim(),idempotencyKey:D,customerTimezone:d1});q(s0),c1(Xh())}catch(s0){e1(s0 instanceof D4&&s0.status===409?"That time was just booked. Choose another available time.":"Your appointment wasn't submitted. Please check your details and try again."),s0 instanceof D4&&s0.status===409&&(A(""),n8.getAvailability(p1.id,m).then(C).catch(()=>{}))}finally{z1(!1)}}}let A1=oU(e,l);return iU(wS.Provider,{value:{fieldPrefix:s,editing:e,services:A1?Mp:l,currency:A1?"AUD":o,serviceId:A1?Mp[0].id:n,setServiceId:h,service:A1?Mp[0]:p1,requiresPayment:A1?!1:f1,date:m,earliestDate:u,setDate:p,setDateTouched:f,availability:A1?rU(m):z,loadingSlots:A1?!1:K,noSlotsMessage:v,selectedStart:A1?`${m}T09:00:00.000Z`:M,setSelectedStart:A,customerTimezone:d1,name:V,setName:E,email:O,setEmail:F,phone:T,setPhone:N,notes:B,setNotes:P,confirmation:Z??(t?Sp:null),submitting:r1,error:$,canSubmit:A1?!1:H0,handleSubmit:F0,sample:!!A1},children:a})}import{jsx as Lp,Fragment as nU,jsxs as hU}from"react/jsx-runtime";var mU="sf-button group inline-flex items-center justify-center gap-2.5 border px-[22px] py-4 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em] transition-colors",kS={primary:"border-btn bg-btn text-btn-ink hover:border-btn-2 hover:bg-btn-2",ghost:"border-current bg-transparent hover:bg-white/10"};function t3(e){let{variant:t="primary",arrow:a,className:s,style:c,children:l,href:r,newTab:o,...i}=e,n=`${mU} ${kS[t]??kS.primary} ${s??""}`,h=hU(nU,{children:[l,a!==null&&Lp("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-[3px]",children:a??"\u2192"})]});return r?Lp(m0,{href:r,className:n,style:c,...o?{target:"_blank",rel:"noopener noreferrer"}:{},children:h}):Lp("button",{type:"button",className:n,style:c,...i,children:h})}import{jsx as S0,jsxs as M3}from"react/jsx-runtime";var Oa="w-full border-2 border-line bg-bg px-4 py-3.5 font-[family-name:var(--bk-value-font,var(--font-display))] text-[length:var(--bk-value-size,17px)] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent";function pU(e,t){let a=Number(e);if(a===0)return"Free";try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(a)}catch{return`${t} ${e}`}}function MS(e,t){try{return new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",timeZone:t}).format(new Date(e))}catch{return new Date(e).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}}function SS(e,t){try{return new Intl.DateTimeFormat(void 0,{weekday:"long",day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"2-digit",timeZone:t,timeZoneName:"short"}).format(new Date(e))}catch{return new Date(e).toLocaleString()}}var Ga="font-[family-name:var(--bk-name-font,var(--font-mono))] text-[length:var(--bk-name-size,12px)]";function Ap({number:e,children:t}){return M3("div",{className:"mb-4 flex items-center gap-3",children:[S0("span",{className:"flex size-8 shrink-0 items-center justify-center rounded-full border border-line font-[family-name:var(--bk-step-font,var(--font-mono))] text-[length:var(--bk-step-size,11px)] font-semibold text-fg-dim",children:e}),S0("h3",{className:"font-[family-name:var(--bk-step-font,var(--font-mono))] text-[length:var(--bk-step-size,12px)] font-semibold uppercase tracking-[0.2em] text-fg",children:t})]})}function go({eyebrow:e,heading:t,intro:a}){return M3("div",{className:"mb-10 max-w-[760px]",children:[(e??"").trim()&&S0("p",{className:"mb-4 font-mono text-[12px] font-semibold uppercase tracking-[0.24em] text-accent",children:e}),(t??"").trim()&&S0("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.98] tracking-[-0.025em] text-fg max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:t}),(a??"").trim()&&S0("p",{className:"mt-5 max-w-[660px] font-display text-[17px] leading-[1.65] text-fg-dim",children:a})]})}function vo({style:e}={}){let{fieldPrefix:t,services:a,currency:s,serviceId:c,setServiceId:l,requiresPayment:r,date:o,earliestDate:i,setDate:n,setDateTouched:h,availability:m,loadingSlots:p,noSlotsMessage:u,selectedStart:g,setSelectedStart:d,customerTimezone:f}=p7();return a?M3("div",{className:"flex flex-col gap-9",style:e,children:[M3("div",{children:[S0(Ap,{number:"01",children:"Choose a service"}),S0("div",{className:"grid gap-3 sm:grid-cols-2",children:a.map(v=>{let x=v.id===c;return M3("button",{type:"button","aria-pressed":x,onClick:()=>l(v.id),className:`min-h-11 border p-4 text-left transition-colors ${x?"border-accent bg-accent/10":"border-line bg-bg hover:border-fg-dim"}`,children:[S0("span",{className:"block font-[family-name:var(--bk-name-font,var(--font-display))] text-[length:var(--bk-name-size,18px)] font-medium text-fg",children:v.name}),M3("span",{className:"mt-1 block font-[family-name:var(--bk-value-font,var(--font-mono))] text-[length:var(--bk-value-size,11px)] uppercase tracking-[0.14em] text-fg-dim",children:[v.durationMinutes," min \xB7 ",pU(v.price,s)]}),v.description&&S0("span",{className:"mt-3 block font-[family-name:var(--bk-note-font,var(--font-display))] text-[length:var(--bk-note-size,14px)] leading-[1.5] text-fg-dim",children:v.description})]},v.id)})}),r&&S0("p",{className:"mt-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.14em] text-alert",role:"alert",children:"This service requires an upfront payment and cannot be booked through this form yet."})]}),M3("div",{children:[S0(Ap,{number:"02",children:"Choose a date and time"}),S0(R2,{separate:!0,htmlFor:`${t}-date`,label:"Date",required:!0,labelFace:Ga,children:S0("input",{id:`${t}-date`,type:"date",min:i,value:o,onChange:v=>{h(!0),n(v.target.value)},className:Oa,required:!0})}),S0("div",{className:"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 min-[1200px]:grid-cols-4",role:"group","aria-label":"Available appointment times",children:p?S0("p",{className:"col-span-full py-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.18em] text-fg-dim",children:"Loading times\u2026"}):m?.slots.length?m.slots.map(v=>M3("button",{type:"button","aria-pressed":g===v.start,onClick:()=>d(v.start),className:`min-h-11 border px-3 py-2 font-[family-name:var(--bk-value-font,var(--font-mono))] text-[length:var(--bk-value-size,12px)] font-semibold uppercase tracking-[0.12em] transition-colors ${g===v.start?"border-accent bg-accent text-bg":"border-line bg-bg text-fg hover:border-accent"}`,children:[S0("span",{className:"block",children:MS(v.start,f||m.timezone)}),f&&f!==m.timezone&&M3("span",{className:"mt-0.5 block text-[9px] font-normal tracking-[0.08em] opacity-70",children:[MS(v.start,m.timezone)," business"]})]},v.start)):u?S0("p",{className:"col-span-full py-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.18em] text-fg-dim",role:"status",children:u}):null}),m?.timezone&&M3("p",{className:"mt-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,10px)] uppercase tracking-[0.16em] text-fg-dim",children:["Times shown in ",f||m.timezone,f&&f!==m.timezone?` \xB7 business timezone ${m.timezone}`:""]})]})]}):null}function fo({buttonLabel:e,style:t}){let{fieldPrefix:a,editing:s,name:c,setName:l,email:r,setEmail:o,phone:i,setPhone:n,notes:h,setNotes:m,submitting:p,error:u,canSubmit:g}=p7();return M3("div",{className:"sf-card border border-line bg-bg p-5 min-[640px]:p-7",style:t,children:[S0(Ap,{number:"03",children:"Your details"}),M3("div",{className:"flex flex-col gap-4",children:[S0(R2,{separate:!0,htmlFor:`${a}-name`,label:"Name",required:!0,labelFace:Ga,children:S0("input",{id:`${a}-name`,type:"text",autoComplete:"name",value:c,onChange:d=>l(d.target.value),className:Oa,required:!0})}),S0(R2,{separate:!0,htmlFor:`${a}-email`,label:"Email",required:!0,labelFace:Ga,children:S0("input",{id:`${a}-email`,type:"email",inputMode:"email",autoComplete:"email",value:r,onChange:d=>o(d.target.value),className:Oa,required:!0})}),S0(R2,{separate:!0,htmlFor:`${a}-phone`,label:"Phone",labelFace:Ga,children:S0("input",{id:`${a}-phone`,type:"tel",inputMode:"tel",autoComplete:"tel",value:i,onChange:d=>n(d.target.value),className:Oa})}),S0(R2,{separate:!0,htmlFor:`${a}-notes`,label:"What would you like to cover?",labelFace:Ga,children:S0("textarea",{id:`${a}-notes`,rows:4,value:h,onChange:d=>m(d.target.value),className:`${Oa} resize-y`})})]}),u&&S0("p",{className:"mt-4 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.16em] text-alert",role:"alert",children:u}),S0(t3,{type:s?"button":"submit",disabled:!g,arrow:null,className:"mt-6 w-full disabled:cursor-not-allowed disabled:opacity-50",children:p?"Submitting\u2026":(e??"").trim()||"Book appointment"})]})}function bo({successMessage:e}){let{confirmation:t,customerTimezone:a}=p7();return t?M3("div",{className:"sf-card max-w-[760px] border border-line bg-bg p-6 min-[640px]:p-9",role:"status",children:[M3("p",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-accent",children:["Request received \xB7 ",t.bookingNumber]}),S0("h3",{className:"mt-4 font-display text-[28px] font-medium uppercase text-fg",children:t.service}),S0("p",{className:"mt-2 font-display text-[17px] text-fg-dim",children:SS(t.startAt,t.customerTimezone||a||t.timezone)}),t.customerTimezone&&t.timezone!==t.customerTimezone&&M3("p",{className:"mt-1 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:["Business time: ",SS(t.startAt,t.timezone)]}),(e??"").trim()&&S0("p",{className:"mt-5 max-w-[620px] font-serif text-[18px] italic leading-[1.6] text-fg-dim",children:e}),S0(t3,{href:`/book/${encodeURIComponent(t.manageToken)}`,newTab:t!==Sp,variant:"ghost",className:"mt-7",children:"Manage booking"})]}):null}var zo=["step","name","value","note"],Hp={step:"Step",name:"Name",value:"Value",note:"Note"},xo={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},LS={step:{font:"--bk-step-font",size:"--bk-step-size"},name:{font:"--bk-name-font",size:"--bk-name-size"},value:{font:"--bk-value-font",size:"--bk-value-size"},note:{font:"--bk-note-font",size:"--bk-note-size"}};function uU(e){return typeof e=="string"&&m5.includes(e)?e:null}var dU={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function AS(e,t){let a={};for(let s of zo){let c=uU(e[xo[s]]);if(!c)continue;let l=w9({role:c},dU,t);l.fontFamily&&(a[LS[s].font]=l.fontFamily),l.fontSize&&(a[LS[s].size]=l.fontSize)}return a}import{jsx as Ie}from"react/jsx-runtime";var HS=["head","booking","details","confirm"],FS={head:"Head",booking:"Booking",details:"Your details",confirm:"Confirmation"};function Fp({region:e,eyebrow:t,heading:a,intro:s,buttonLabel:c,successMessage:l,...r}){let{confirmation:o,services:i}=p7(),n=AS(r);return e==="head"?Ie("div",{className:"min-[960px]:col-span-2",style:n,children:Ie(go,{eyebrow:t,heading:a,intro:s})}):e==="confirm"?o?Ie("div",{className:"min-[960px]:col-span-2",style:n,children:Ie(bo,{successMessage:l})}):null:o||!i||i.length===0?null:e==="booking"?Ie(vo,{style:n}):e==="details"?Ie(fo,{buttonLabel:c,style:n}):null}import{jsx as K0,Fragment as gU,jsxs as L4}from"react/jsx-runtime";var z8="solid",Tp=[{label:"Solid",value:"solid"},{label:"Outlined",value:"outlined"}];function TS(e){return _2(Tp,z8,e)}var Pp="sf-secnum-outline",PS="font-display text-[length:var(--size-headingMedium,clamp(48px,6vw,96px))] font-medium leading-[0.8] tracking-[-0.02em]",ES=`@supports (-webkit-text-stroke: 1px currentColor){.${Pp}{color:var(--site-surface-2);-webkit-text-stroke:1px var(--site-line)}}`;var qa=(e,t=!1)=>typeof e=="string"?Y(e,t):e,Be=(e,t=!1)=>typeof e=="string"?k(e,t):e;function Q1({num:e,title:t,link:a,logo:s,description:c,accent:l,accentNum:r,numStyle:o=z8,look:i="standard",titleAccent:n,accentTracking:h="-0.02em",spaceBelow:m,rowGap:p,descriptionSize:u,className:g="",eyebrowLook:d=$l}){let f=m??(i==="editorial"?"mb-[60px]":"");if(i==="editorial"){let A=!!t||!!n;return L4("header",{className:`${f} grid grid-cols-[auto_1fr_auto] items-end gap-10 border-b border-line pb-8 max-[1100px]:grid-cols-1 max-[1100px]:gap-3.5 ${g}`.trim(),children:[e&&(typeof e=="string"?K0(V1,{text:e,className:"pb-2"}):K0("span",{className:"pb-2",children:e})),A&&L4("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5.5vw,80px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:[t,n&&L4(gU,{children:[" ",K0("em",{className:"font-serif font-normal italic text-accent",style:{letterSpacing:h},children:n})]})]}),c&&K0("p",{className:"max-w-[360px] pb-1 text-right font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim max-[1100px]:max-w-full max-[1100px]:text-left",children:c})]})}if(i==="simple"){let A=`${f} ${g}`.trim();return L4("div",{className:A||void 0,children:[e&&(typeof e=="string"?K0(V1,{text:e,look:d,className:"mb-4 block"}):K0("span",{className:"mb-4 block",children:e})),t&&K0("h2",{className:"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:qa(t)})]})}if(i==="statement"){let A=`${f} ${g}`.trim();return L4("div",{className:A||void 0,children:[e&&(typeof e=="string"?K0(V1,{text:e,look:d,className:"mb-4 block"}):K0("span",{className:"mb-4 block",children:e})),t&&K0("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,72px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em] text-fg",children:qa(t,!0)})]})}if(i==="natural"){let A=`flex max-w-[680px] flex-col ${p??"gap-5"} ${f} ${g}`.replace(/\s+/g," ").trim();return L4("div",{className:A,children:[e&&(typeof e=="string"?K0(V1,{text:e,look:d}):K0("span",{children:e})),t&&K0("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:qa(t)}),c&&K0("p",{className:`${u??"text-[length:var(--size-body,16px)]"} leading-[1.6] opacity-85`,children:c})]})}if(i==="essay"){let A=`${f} ${g}`.trim();return L4("div",{className:A||void 0,children:[e&&(typeof e=="string"?K0(V1,{text:e,look:d,className:"mb-4 block"}):K0("span",{className:"mb-4 block",children:e})),t&&K0("h2",{className:"font-heading2 text-[length:var(--sf-heading-max,var(--size-headingMedium,38px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-none tracking-[-0.02em] text-fg max-[800px]:text-[length:var(--size-headingSmall,28px)]",children:qa(t)})]})}let v=!!c||!!a,x=!!t,z=TS(o)==="outlined",C="font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em]",M=null;if(e)if(z)M=K0("span",{className:`${PS} text-fg-dim ${Pp}`,children:Be(e)});else if(r&&!l&&typeof e=="string"){let A=e.indexOf("/"),V=A===-1?e:e.slice(0,A),E=A===-1?"":e.slice(A);M=L4("span",{className:C,children:[K0("span",{className:"text-accent",children:Be(V)}),E&&K0("span",{className:"text-fg-dim",children:Be(E)})]})}else M=K0("span",{className:`${C} ${l?"text-accent":"text-fg-dim"}`,children:Be(e)});return L4("div",{className:"mb-16 grid grid-cols-[auto_1fr_auto] items-end gap-10 border-b border-line pb-6 max-[800px]:mb-9 max-[800px]:grid-cols-1 max-[800px]:gap-3 max-[800px]:pb-5",children:[z&&e&&K0("style",{children:ES}),L4("div",{className:"flex flex-col items-start gap-3",children:[s?.src&&K0("img",{src:L2(s.src),alt:s.alt,className:"h-8 w-auto object-contain"}),M]}),x&&K0("h2",{className:l?"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,5vw,64px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[0.95] tracking-[-0.025em]":"font-heading2 text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-none tracking-[-0.03em] whitespace-pre-line max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))] max-[800px]:leading-[1]",children:qa(t)}),v&&L4("div",{className:"flex flex-col items-end gap-3 max-[800px]:items-start",children:[c&&K0("p",{className:"max-w-[340px] font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim text-right max-[800px]:max-w-full max-[800px]:text-left",children:Be(c)}),a&&L4(m0,{href:a.href,className:"inline-flex items-center gap-2 whitespace-nowrap font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg",children:[Be(a.text),K0("span",{"aria-hidden":!0,children:"\u2192"})]})]})]})}import{jsx as A4,jsxs as Wa}from"react/jsx-runtime";function vU(e){return e.type==="textarea"||e.type==="select"||e.type==="checkbox"}function VS({eyebrow:e,title:t}){return Wa("div",{className:"flex flex-col gap-4",children:[e&&A4(V1,{text:e,scaled:!1}),t&&A4("h2",{className:"font-display text-[min(clamp(40px,5vw,72px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:Y(t,!0)})]})}function yo({body:e,buttonLabel:t,consent:a,form:s,submission:c,showForm:l,resolving:r,editing:o}){return Wa("div",{className:"flex flex-col gap-7",children:[e&&b0(e).map((i,n)=>A4("p",{className:"max-w-[480px] font-display text-[16px] leading-[1.6] text-fg-dim",children:k(i)},n)),l&&(s?c.done?A4("p",{role:"status",className:"max-w-[480px] font-[family-name:var(--sb-thanks-font,var(--font-serif))] text-[length:var(--sb-thanks-size,17px)] italic leading-[1.6] text-fg-dim",children:Me(s)}):Wa("form",{className:"grid grid-cols-2 gap-2",onSubmit:c.handleSubmit,children:[s.fields.map(i=>{let n=["border border-line bg-transparent px-4 py-3.5 font-[family-name:var(--sb-field-font,var(--font-mono))] text-[length:var(--sb-field-size,14px)] tracking-[0.1em] text-fg outline-none focus:border-accent",vU(i)?"col-span-2":""].join(" ");return i.type==="checkbox"?Wa("label",{className:"col-span-2 flex items-start gap-3 font-[family-name:var(--sb-tick-font,var(--font-mono))] text-[length:var(--sb-tick-size,12px)] uppercase tracking-[0.18em] text-fg-dim",children:[A4(r7,{field:i,value:c.valueOf(i.key),onChange:h=>c.set(i.key,h),className:"mt-0.5 size-4 accent-accent"}),Wa("span",{children:[i.label,i.required?A4("span",{className:"text-accent",children:" *"}):null]})]},i.key):A4(r7,{field:i,value:c.valueOf(i.key),onChange:h=>c.set(i.key,h),rows:4,placeholder:i.placeholder||i.label,className:i.type==="textarea"?`${n} resize-y`:n},i.key)}),A4(Se,{value:c.honeypot,onChange:c.setHoneypot}),c.error&&A4("p",{role:"alert",className:"col-span-2 font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:c.error}),t&&A4("button",{type:o?"button":"submit",disabled:c.submitting,className:"col-span-2 cursor-pointer bg-btn px-6 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:c.submitting?"Sending\u2026":k(t)})]}):A4("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:r?"Loading form\u2026":"Choose a form in the inspector, under Form \u2014 until then this form is hidden on the live page and nothing can be submitted."})),l&&a&&A4("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:k(a)})]})}var wo=["field","tick","thanks"],Ep={field:"Form rows",tick:"Tick label",thanks:"Thank-you message"},Co={field:"styleField",tick:"styleTick",thanks:"styleThanks"},NS={field:{font:"--sb-field-font",size:"--sb-field-size"},tick:{font:"--sb-tick-font",size:"--sb-tick-size"},thanks:{font:"--sb-thanks-font",size:"--sb-thanks-size"}};function fU(e){return typeof e=="string"&&m5.includes(e)?e:null}var bU={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function _S(e,t){let a={};for(let s of wo){let c=fU(e[Co[s]]);if(!c)continue;let l=w9({role:c},bU,t);l.fontFamily&&(a[NS[s].font]=l.fontFamily),l.fontSize&&(a[NS[s].size]=l.fontSize)}return a}import{jsx as ko}from"react/jsx-runtime";var IS=["head","form"],BS={head:"Head",form:"Form"};function Vp({region:e,eyebrow:t,title:a,body:s,buttonText:c,consent:l,formSlug:r,form:o,editing:i=!1,...n}){let h=k5(r,o),m=l7({form:h,formSlug:r,editing:i}),p=_S(n);return e==="head"?ko("div",{style:p,children:ko(Q1,{look:"statement",num:t,title:a})}):ko("div",{style:p,children:ko(yo,{body:s??"",buttonLabel:c??"",consent:l??"",form:h,submission:m,showForm:!!h||i,resolving:h===void 0,editing:i})})}var zU={AppointmentBooking:{slot:"boxes",childType:"BookingBox",addLabel:"Add box",fixed:!0,seeds:()=>HS.map(e=>({region:e,name:FS[e]})),addBlocked:()=>"A Booking Form is these three boxes. They cannot be added to or removed.",skipSeed:e=>e.layout!=="boxes"},SubmitBuild:{slot:"boxes",childType:"SubmitBox",addLabel:"Add box",fixed:!0,seeds:()=>IS.map(e=>({region:e,name:BS[e]})),addBlocked:()=>"A Submit-a-build section is these two boxes. They cannot be added to or removed.",skipSeed:e=>e.layout!=="boxes"},Collections:{slot:"cards",childType:"CollectionCard",addLabel:"Add card",seeds:()=>Array.from({length:fS},()=>({collection:null}))},ProductGrid:{slot:"products",childType:"ProductRef",addLabel:"Add product",seeds:()=>[{code:""},{code:""},{code:""}],legacy:e=>Array.isArray(e.design_codes)?e.design_codes.map(t=>t?.code).filter(t=>!!t).map(t=>({code:t})):[]},GalleryB:{slot:"items",childType:"GalleryItem",addLabel:"Add image",seeds:()=>xS.map(e=>({...e})),legacy:e=>Array.isArray(e.cards)?e.cards.map(t=>({...t})):[]}};Qb(zU);function Re(e,t){let a={};for(let s of Object.keys(e))a[s]={...e[s],...t[s]};return a}import{jsx as xU}from"react/jsx-runtime";import{OpacityIcon as yU}from"efficient-easel/icons";var RS={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow","Limited release"),title:R("Heading","Banner headline"),body:R("Body","A line or two of supporting copy."),_gBackground:b("Background image"),imageSrc:G1("Image","image/*"),overlay:a1("Overlay",xU(yU,{}),0,100,5,60,"%"),_gButton:b("Button"),...S4,_gLayout:b("Layout")}};import{jsx as kU}from"react/jsx-runtime";import{jsx as Ua,jsxs as Np,Fragment as wU}from"react/jsx-runtime";import{Fragment as CU}from"react";function ZS({items:e,meta:t,editing:a=!1}){let s=(e??[]).filter(l=>l?.label?.trim()),c=s.length>0?s:a?[{label:"Breadcrumb"}]:[];return c.length===0&&!t?null:Np("nav",{className:"flex 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:[c.map((l,r)=>{let o=r===c.length-1;return Np(CU,{children:[r>0&&Ua("span",{className:"opacity-40",children:"/"}),l.href&&!o?Ua(m0,{href:l.href,className:"hover:text-fg",children:R0(l.label)}):Ua("span",{className:o?"text-fg":void 0,children:R0(l.label)})]},r)}),t&&Np(wU,{children:[Ua("span",{className:"opacity-40",children:"\xB7"}),Ua("span",{children:k(t)})]})]})}function U4(e,t,a){return e||(a?.isEditing?t:void 0)}function y1(e,t,a){let s=Array.isArray(e)?e:[];return s.length?s:a?.isEditing?t:[]}function y(e,t,a){let s=A2(e);if(!s.hidden)return U4(s.text,t,a)}function J0(e,t,a){return A2(e).hidden?"":y(e,t,a)}function G3(e,t,a){return{text:y(e,p2.text,a),href:t||p2.href}}var _p={meta:"Trailing note"},MU=[{label:"Home",href:"/"},{label:"Section",href:""}],DS={label:"Breadcrumb",defaultProps:{items:[],meta:""},render:({items:e,meta:t,puck:a})=>kU(ZS,{items:y1(e,MU,a),meta:y(t,_p.meta,a),editing:a?.isEditing})};var OS={fields:{_gContent:b("Content"),items:{type:"array",label:"Crumbs",arrayFields:{label:G("Label"),href:X2(G("Link"))},getItemSummary:e=>e?.label||"Crumb"},meta:H("Trailing note",_p.meta)}};import{jsx as LU}from"react/jsx-runtime";function GS(e){return typeof e=="boolean"?e:!0}import{ButtonArrowIcon as AU}from"efficient-easel/icons";var qS={fields:{label:G("Button"),href:H1("Button link"),_gStyle:b("Style"),variant:{type:"radio",options:[{label:"Primary",value:"primary"},{label:"Ghost",value:"ghost"}]},arrow:l1("Arrow",!0,LU(AU,{})),align:A5()}};import{jsx as jS}from"react/jsx-runtime";import{ColumnsIcon as VU,StylesIcon as NU}from"efficient-easel/icons";import{jsx as PU}from"react/jsx-runtime";import{jsx as Ze,Fragment as HU,jsxs as Ip}from"react/jsx-runtime";var FU="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[72px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",TU="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[72px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function WS({look:e,eyebrow:t,title:a,items:s,columns:c,omitHead:l=!1,editing:r=!1}={}){let o=Math.min(4,Math.max(2,c??3)),i=(s??[]).filter(h=>r||(h.title??"").trim()||(h.body??"").trim()),n=!!(t??"").trim()||!!(a??"").trim();return!r&&!n&&i.length===0?null:Ze("section",{className:"relative z-[2] bg-surface",children:Ip("div",{className:l?TU:FU,children:[l?null:Ip(HU,{children:[(t??"").trim()&&Ze(V1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&Ze("h2",{className:"mb-9 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-7 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:Y(a??"",!1)})]}),i.length>0&&Ze("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--cd-cols),minmax(0,1fr))]",style:{"--cd-cols":String(o)},children:i.map((h,m)=>Ip("div",{className:"bg-bg p-8 max-[800px]:p-7",children:[Ze("div",{className:"mb-3 font-heading3 text-[length:var(--size-headingSmall,20px)] font-medium uppercase tracking-[0.02em] text-fg",children:k((h.title??"").trim()||"Card title")}),Ze("p",{className:"text-[length:var(--size-body,15px)] leading-[1.6] text-fg-dim",children:k((h.body??"").trim()||"A short line about this card.")})]},m))})]})})}var ja={eyebrow:"Label",title:"Section *heading.*"},EU=[{title:"Card title one",body:"A short line about this card."},{title:"Card title two",body:"A short line about this card."},{title:"Card title three",body:"A short line about this card."}],US={label:"Cards",defaultProps:{eyebrow:"",title:"",items:[],columns:3},render:e=>{let t=D1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return PU(WS,{look:l4(e.eyebrowLook,"Cards"),eyebrow:a(y(e.eyebrow,ja.eyebrow,e.puck)),title:a(y(e.title,ja.title,e.puck)),omitHead:t,items:y1(e.items,EU,e.puck),columns:e.columns,editing:e.puck?.isEditing})}};var KS={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow",ja.eyebrow),eyebrowLook:v1("Eyebrow style",jS(NU,{}),[...y4],K6("Cards")),title:R("Heading",ja.title),items:{type:"array",label:"Cards",arrayFields:{title:g1("Card title"),body:E1("Card body")},defaultItemProps:{title:"",body:""},getItemSummary:e=>e?.title||e?.body||"Card"},_gStyle:b("Style"),columns:a1("Columns",jS(VU,{}),2,4,1,3)},resolveFields:(e,{fields:t,parent:a})=>O1(q1(t,a,W1),e.props.headPlacement,R1.Cards.headRows)};import{jsx as _U}from"react/jsx-runtime";import{StickyIcon as IU}from"efficient-easel/icons";var $S={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:G("Label"),count:G("Count")},getItemSummary:e=>e?.label?`${e.label}${e.count?` \xB7 ${e.count}`:""}`:"Tab"},activeTab:X2(G("Active tab","All")),_gLinks:b("Links"),links:{type:"array",label:"Right links",arrayFields:{label:G("Label"),href:X2(G("Link"))},getItemSummary:e=>e?.label||"Link"},_gStyle:b("Style"),sticky:l1("Stick under header",!0,_U(IU,{}))}};import{jsx as GU}from"react/jsx-runtime";import{StylesIcon as qU}from"efficient-easel/icons";import{jsx as DU}from"react/jsx-runtime";import{jsx as c2,jsxs as j4}from"react/jsx-runtime";function Bp(e){return Number.isInteger(e)?String(e):String(Math.round(e*10)/10)}var YS=[100,70,46,30,19,12];function XS(e){return`color-mix(in srgb, var(--accent) ${YS[e%YS.length]}%, var(--bg))`}function BU({data:e,suffix:t}){let a=Math.max(...e.map(s=>s.value),0)||1;return c2("div",{className:"flex w-full flex-col gap-6",children:e.map((s,c)=>j4("div",{children:[j4("div",{className:"mb-2 flex items-baseline justify-between gap-4",children:[c2("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg/60",children:k(s.label)}),j4("span",{className:"font-display text-[length:var(--size-body,16px)] font-medium text-fg",children:[Bp(s.value),t]})]}),c2("div",{className:"h-[10px] border border-line bg-bg",children:c2("div",{className:"h-full bg-accent",style:{width:`${Math.max(s.value/a*100,s.value===0?0:2)}%`}})})]},c))})}function RU({data:e,suffix:t}){let a={l:42,r:42,t:36,b:38},s=640-a.l-a.r,c=300-a.t-a.b,l=Math.max(...e.map(h=>h.value),0)||1,r=e.length>1?s/(e.length-1):0,o=e.map((h,m)=>({x:a.l+(e.length>1?m*r:s/2),y:a.t+c-h.value/l*c})),i=o.map((h,m)=>`${m===0?"M":"L"}${h.x},${h.y}`).join(" "),n=`${i} L${o[o.length-1].x},${a.t+c} L${o[0].x},${a.t+c} Z`;return j4("svg",{viewBox:"0 0 640 300",className:"w-full",role:"img","aria-hidden":!0,children:[[.25,.5,.75,1].map(h=>c2("line",{x1:a.l,x2:640-a.r,y1:a.t+c*(1-h),y2:a.t+c*(1-h),stroke:"var(--site-line)",strokeWidth:"1"},h)),c2("line",{x1:a.l,x2:640-a.r,y1:a.t+c,y2:a.t+c,stroke:"var(--site-line)",strokeWidth:"1.5"}),c2("path",{d:n,fill:"var(--accent)",opacity:"0.13"}),c2("path",{d:i,fill:"none",stroke:"var(--accent)",strokeWidth:"2.5"}),o.map((h,m)=>j4("g",{children:[c2("circle",{cx:h.x,cy:h.y,r:"4",fill:"var(--accent)"}),j4("text",{x:h.x,y:h.y-12,textAnchor:"middle",className:"font-display",fontSize:"14",fill:"var(--fg)",children:[Bp(e[m].value),t]}),c2("text",{x:h.x,y:288,textAnchor:"middle",className:"font-mono",fontSize:"10",letterSpacing:"0.1em",fill:"var(--fg)",opacity:"0.55",children:e[m].label.toUpperCase()})]},m))]})}function ZU({data:e,suffix:t}){let a=e.reduce((o,i)=>o+i.value,0)||1,s=80,c=2*Math.PI*s,l=0,r=e.map((o,i)=>{let n=o.value/a,h={frac:n,dash:Math.max(n*c-3,0),off:l,ink:XS(i)};return l+=n*c,h});return j4("div",{className:"flex w-full flex-wrap items-center justify-center gap-10",children:[c2("svg",{viewBox:"0 0 200 200",className:"w-[220px] max-w-full -rotate-90",role:"img","aria-hidden":!0,children:r.map((o,i)=>c2("circle",{cx:"100",cy:"100",r:s,fill:"none",stroke:o.ink,strokeWidth:"34",strokeDasharray:`${o.dash} ${c-o.dash}`,strokeDashoffset:-o.off},i))}),c2("ul",{className:"flex min-w-[200px] flex-1 flex-col gap-3",children:e.map((o,i)=>j4("li",{className:"flex items-baseline gap-3",children:[c2("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] flex-shrink-0 rotate-45",style:{background:XS(i)}}),c2("span",{className:"flex-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.12em] text-fg/60",children:k(o.label)}),c2("span",{className:"font-display text-[length:var(--size-body,15px)] font-medium text-fg",children:t?`${Bp(o.value)}${t}`:`${Math.round(o.value/a*100)}%`})]},i))})]})}function JS({eyebrow:e,title:t,body:a,chartStyle:s,items:c,valueSuffix:l,caption:r,editing:o=!1}={}){let i=(l??"").trim()===""?"":l??"",n=(c??[]).map(u=>({label:(u.label??"").trim(),value:parseFloat(u.value??"")})).filter(u=>o?!0:u.label&&Number.isFinite(u.value)).map(u=>({label:u.label||"\u2014",value:Number.isFinite(u.value)?u.value:0})),h=!!(e??"").trim()||!!(t??"").trim();if(!o&&!h&&n.length===0)return null;let m=s??"bars",p=n.length===0?null:m==="line"&&n.length>1?c2(RU,{data:n,suffix:i}):m==="donut"?c2(ZU,{data:n,suffix:i}):c2(BU,{data:n,suffix:i});return c2("section",{className:"relative z-[2] border-y border-line bg-surface",children:j4("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-template-columns:minmax(0,5fr)_minmax(0,7fr)] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[j4("div",{children:[(e??"").trim()&&c2("span",{className:"inline-block bg-accent px-3.5 py-1.5 font-mono text-[length:var(--size-label,12px)] font-semibold uppercase tracking-[0.16em] text-bg",children:k(e??"")}),(t??"").trim()&&c2("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:Y(t??"",!1)}),(a??"").trim()&&c2("p",{className:"mt-5 max-w-[46ch] text-[length:var(--size-body,15px)] leading-relaxed text-fg/65",children:a})]}),j4("div",{children:[p,(r??"").trim()&&c2("p",{className:"mt-4 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.14em] text-fg/40",children:r})]})]})})}var Ka={eyebrow:"By the numbers",title:`A picture worth
|
|
22
|
+
`}),l0("header",{className:"flex flex-shrink-0 flex-col gap-3.5 border-b border-line px-8 pb-[22px] pt-[26px] max-[640px]:px-[22px] max-[640px]:pt-[22px] max-[640px]:pb-[18px]",children:[l0("div",{className:"flex items-center justify-between",children:[l0("span",{className:"flex items-center gap-2.5 font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[e.kickerBadge?N1("span",{className:"border px-2 py-1 text-[10px]",style:{background:"color-mix(in oklab, var(--accent) 12%, transparent)",borderColor:"color-mix(in oklab, var(--accent) 50%, transparent)"},children:e.kickerBadge}):null,(e.kickerBadge?"\xB7 ":"")+e.kickerText]}),N1("button",{ref:v,type:"button",onClick:s,"aria-label":"Close cart",className:"flex h-8 w-8 items-center justify-center border border-line text-[14px] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u2715"})]}),l0("h1",{className:"font-display text-[38px] font-medium uppercase leading-[0.95] tracking-[-0.03em] max-[640px]:text-[30px]",children:[e.titleLead+" ",N1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.02em] normal-case",children:e.titleAccent})]}),N1("p",{className:"font-serif text-[13px] italic leading-[1.5] text-fg-dim",children:xx(e,c.length)})]}),l0("div",{className:`grid flex-shrink-0 ${jq[f-1]} gap-px border-b border-line bg-line`,children:[N1(np,{label:"Items",value:l0(to,{children:[N1("em",{className:"font-serif font-normal italic text-accent",children:o.sets})," set",o.sets===1?"":"s"," \xB7 ",o.units," item",o.units===1?"":"s"]})}),e.leadTimeValue?N1(np,{label:"Lead time",value:e.leadTimeValue}):null,d?N1(np,{label:"Ships to",value:d}):null]}),l0("div",{className:"flex-1 overflow-y-auto [scrollbar-color:var(--site-line)_transparent] [scrollbar-width:thin]",children:[c.length===0?N1(Jq,{content:e}):c.map(z=>N1(Kq,{line:z,tyre:x.get(z.slug),onRemove:()=>l(z.id),onQtyChange:C=>r(z.id,C)},z.id)),p.length>0&&l0("section",{className:"border-b border-line px-8 py-[22px] max-[640px]:px-[22px]",style:{background:"color-mix(in oklab, var(--site-surface) 60%, transparent)"},children:[l0("div",{className:"mb-3.5 flex items-center justify-between font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[N1("span",{children:"You may also need"}),N1("span",{className:"font-display text-[11px] normal-case tracking-[0.08em] text-fg-dim",children:"Buy together, save"})]}),N1("div",{className:"grid grid-cols-2 gap-2 max-[640px]:grid-cols-1",children:p.map(z=>N1($q,{href:`/bundles/${z.slug}`,title:z.name,sub:Yq(z,o.currency,u)},z.slug))})]}),N1("section",{className:"border-b border-line px-8 py-[22px] max-[640px]:px-[22px]",children:N1(Mw,{})}),e.promises.length>0&&N1("div",{className:"flex flex-wrap justify-center gap-[18px] border-b border-line px-8 pt-[22px] pb-7 font-mono text-[9px] uppercase tracking-[0.24em] text-fg-dim max-[640px]:px-[22px]",children:e.promises.map(z=>N1(Xq,{children:z},z))})]}),l0("div",{className:"flex flex-shrink-0 flex-col gap-2 border-t border-line px-8 pt-5 max-[640px]:px-[22px]",children:[N1(i7,{label:`Subtotal \xB7 ${o.sets} set${o.sets===1?"":"s"}`,value:u(o.subtotal,o.currency)}),o.appliedBundles.map(z=>N1(i7,{label:`Bundle \xB7 ${z.name}${z.multiples>1?` \xD7${z.multiples}`:""}`,value:l0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(z.discount,o.currency)]})},z.slug)),o.discount>0&&i?.valid&&N1(i7,{label:`Coupon \xB7 ${i.code}`,value:l0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(o.discount,o.currency)]})}),i?.deferred&&N1(i7,{label:`Coupon \xB7 ${i.code}`,value:nw}),i?.valid&&i.effects?.gift&&N1(i7,{label:`Free gift \xB7 ${i.effects.gift.partNumber}${i.effects.gift.quantity>1?` \xD7${i.effects.gift.quantity}`:""}`,value:N1("span",{style:{color:"var(--green)"},children:"Free"})}),N1(i7,{label:"Shipping",value:o.freeShipping||o.shipping===0?N1("span",{style:{color:"var(--green)"},children:"Free"}):u(o.shipping,o.currency)}),o.tax&&(o.tax.charged?N1(i7,{label:o.tax.inclusive?`${o.tax.name} included \xB7 ${o.tax.rate}%`:o.tax.name,value:u(o.tax.amount,o.currency)}):o.tax.name?N1(i7,{label:o.tax.name,value:"Calculated at checkout"}):null),l0("div",{className:"mt-1.5 flex items-center justify-between border-t border-line pt-3.5 text-fg",children:[l0("span",{className:"font-display text-[22px] font-medium tracking-[-0.02em] normal-case",children:["Total ",N1("em",{className:"font-serif font-normal italic text-accent",children:"due"})]}),N1("span",{className:"text-right font-display text-[30px] font-medium tracking-[-0.025em] text-fg",children:o.repricing?"\u2026":u(o.grand,o.currency)})]})]}),l0("div",{className:"flex flex-shrink-0 flex-col gap-2.5 px-8 pb-[22px] pt-3.5 max-[640px]:px-[22px]",children:[l0(S1,{href:"/checkout",onClick:s,"aria-disabled":c.length===0,className:["group flex items-center justify-between border px-5 py-[18px] font-mono text-[12px] uppercase tracking-[0.3em] transition-colors",c.length===0?"pointer-events-none cursor-not-allowed border-line bg-surface text-fg-dim":"border-btn bg-btn text-btn-ink hover:border-fg hover:bg-fg"].join(" "),children:["Begin checkout",N1("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]}),l0("div",{className:"flex items-center justify-between px-1 py-1.5 font-mono text-[10px] uppercase tracking-[0.24em] text-fg-dim",children:[N1(S1,{href:"/wheels",onClick:s,className:"text-fg transition-colors hover:text-accent",children:"\u2190 Keep browsing"}),N1("button",{type:"button",className:"text-fg transition-colors hover:text-accent",children:"Save for later"})]})]})]})]}):null}var jq=["grid-cols-1","grid-cols-2","grid-cols-3"];function np({label:e,value:t}){return l0("div",{className:"flex flex-col gap-[3px] bg-bg px-4 py-3.5",children:[N1("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-fg-dim",children:e}),N1("span",{className:"font-display text-[14px] font-medium tracking-[-0.005em] text-fg",children:t})]})}function Kq({line:e,tyre:t,onRemove:a,onQtyChange:s}){let{catalog:c,totals:l}=r4(),r=(e.components??[]).reduce((n,h)=>n+(l.freeUnitsByPartNumber[h.partNumber]??0),0),{currency:o,formatMoney:i}=p0();return l0(to,{children:[l0("article",{className:"grid grid-cols-[96px_1fr] gap-5 border-b border-line px-8 py-6 transition-colors hover:bg-[color-mix(in_oklab,var(--site-surface)_60%,transparent)] max-[640px]:grid-cols-[78px_1fr] max-[640px]:px-[22px] max-[640px]:py-5",children:[N1(op,{line:e,catalog:c,tyre:t}),l0("div",{className:"flex min-w-0 flex-col gap-2",children:[l0("div",{className:"flex items-start justify-between gap-3",children:[l0("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-accent",children:["N\xB0 ",e.positionNo," \xB7 ",e.process==="FusionForge\xAE"?l0(to,{children:["FusionForge",N1(t6,{})]}):e.process]}),N1("span",{className:"whitespace-nowrap font-display text-[16px] font-medium tracking-[-0.015em] text-fg",children:Yh(e,o)===null?J6:i(Yh(e,o),o)})]}),l0("h3",{className:"mt-0.5 font-display text-[22px] font-medium uppercase leading-none tracking-[-0.02em]",children:[e.name.lead,N1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em] normal-case",children:e.name.accent})]}),e.config.length>0&&l0("div",{className:"mt-1 flex flex-wrap gap-1.5",children:[e.config.map(n=>N1("span",{className:["border px-2 py-1 font-mono text-[9px] uppercase tracking-[0.18em]",n.gold?"border-[color-mix(in_oklab,var(--accent)_45%,var(--site-line))] text-accent":"border-line text-fg-dim"].join(" "),children:n.label},n.label)),r>0&&l0("span",{className:"border border-accent bg-accent px-2 py-1 font-mono text-[9px] uppercase tracking-[0.18em] text-bg",children:[r,"\xD7 free"]})]}),l0("div",{className:"mt-2.5 flex items-center justify-between gap-3",children:[N1(Pa,{value:e.qty,onChange:s,size:"small"}),l0("div",{className:"flex gap-3.5 font-mono text-[10px] uppercase tracking-[0.22em]",children:[N1(S1,{href:e.href??`/wheels/${e.slug}`,className:"text-fg-dim transition-colors hover:text-accent",children:e.href?"View product":"Edit finish"}),N1("button",{type:"button",onClick:a,className:"text-fg-dim transition-colors hover:text-alert",children:"Remove"})]})]})]})]}),e.verifiedFor&&l0("div",{className:"mx-8 -mt-px flex items-start gap-3 border-t-0 px-4 py-3.5 font-display text-[13px] leading-[1.45] text-fg max-[640px]:mx-[22px]",style:{background:"color-mix(in oklab, var(--accent) 8%, transparent)",border:"1px solid color-mix(in oklab, var(--accent) 35%, var(--site-line))",borderTop:"0"},children:[N1("span",{className:"flex-shrink-0 pt-px font-mono text-[10px] uppercase tracking-[0.24em] text-accent",children:"Fits"}),l0("span",{children:["Verified for your ",N1("strong",{className:"font-medium text-accent",children:e.verifiedFor}),". Final torque values shipped with the wheels."]})]})]})}function $q({title:e,sub:t,href:a}){return l0(S1,{href:a,className:"flex items-center justify-between border border-line bg-bg px-3.5 py-3 text-left transition-colors hover:border-accent",children:[l0("span",{className:"flex min-w-0 flex-col gap-[3px]",children:[N1("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap font-display text-[13px] font-medium tracking-[-0.005em] text-fg",children:e}),N1("span",{className:"font-mono text-[9px] uppercase tracking-[0.22em] text-fg-dim",children:t})]}),N1("span",{className:"ml-2 flex h-6 w-6 flex-shrink-0 items-center justify-center font-mono text-[13px] text-accent",style:{borderColor:"color-mix(in oklab, var(--accent) 45%, var(--site-line))",borderWidth:1,borderStyle:"solid"},children:"+"})]})}function Yq(e,t,a){let s=e.savings[t];if(s===void 0)return"Buy together";let c=a(s,t);return e.savingIsFrom?`Save from ${c}`:`Save ${c}`}function Xq({children:e}){return N1("span",{className:"inline-flex items-center gap-1.5 before:text-[6px] before:text-accent before:content-['\u25CF']",children:e})}function i7({label:e,value:t}){return l0("div",{className:"flex items-center justify-between font-mono text-[11px] uppercase tracking-[0.18em] text-fg-dim",children:[N1("span",{children:e}),N1("strong",{className:"font-display text-[14px] font-normal tracking-[-0.005em] normal-case text-fg",children:t})]})}function Jq({content:e}){return l0("div",{className:"flex flex-col items-center justify-center gap-3 px-8 py-20 text-center",children:[N1("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:e.emptyKicker}),N1("p",{className:"font-serif text-[16px] italic leading-[1.5] text-fg-dim",children:e.emptyBody}),l0(S1,{href:"/wheels",className:"mt-3 inline-flex items-center gap-3 border border-line px-5 py-3 font-mono text-[11px] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:["Browse the catalog ",N1("span",{className:"text-accent",children:"\u2192"})]})]})}var Qq=[{key:"cart",label:"Cart",href:"/?cart=open"},{key:"checkout",label:"Checkout",href:"/checkout"}],eW=Object.fromEntries(Qq.map(e=>[e.key,e]));function VM(e){return eW[e]}import{Fragment as aW,jsx as He,jsxs as Va}from"react/jsx-runtime";var tW=tp(()=>import("./EditorPreviewCheckout-LS4D45HK.js"),{ssr:!1});function hp(){let{chromePlaceholder:e,themeFromDocument:t}=N3(),{surface:a}=hy();return e||t||!a||a!=="cart"&&a!=="checkout"?null:a==="checkout"?Va(aW,{children:[He(tW,{}),He(NM,{surface:a})]}):He(cr,{children:Va(lr,{preview:!0,children:[He(Ea,{}),He(NM,{surface:a})]})})}function NM({surface:e}){let{label:t,href:a}=VM(e);return Va("div",{style:{position:"fixed",bottom:14,left:"50%",transform:"translateX(-50%)",zIndex:2147483e3,display:"flex",alignItems:"center",gap:8,maxWidth:"calc(100% - 24px)",padding:"5px 6px 5px 13px",borderRadius:999,fontSize:12,fontWeight:600,fontFamily:"system-ui, sans-serif",color:"#334155",background:"rgba(255,255,255,0.94)",border:"1px solid rgba(15,23,42,0.12)",boxShadow:"0 6px 24px rgba(15,23,42,0.18)",pointerEvents:"none"},children:[Va("span",{style:{whiteSpace:"nowrap"},children:[t," \xB7 preview only"]}),Va("a",{href:a,target:"_blank",rel:"noopener noreferrer",style:{pointerEvents:"auto",flex:"none",display:"inline-flex",alignItems:"center",gap:5,padding:"4px 11px",borderRadius:999,color:"#fff",background:"#2563eb",textDecoration:"none"},children:["Open live",He(Q5,{name:"external-link",size:13,rounded:!0})]})]})}import{CategoryIcon as kt1,CheckIcon as zD,ClockIcon as nb,ColumnsIcon as Mt1,DirectionIcon as St1,EyeIcon as Lt1,ListIcon as At1,PageIcon as Ht1,PlacementIcon as Ft1,ScrollPointIcon as Tt1,TriggerIcon as Pt1}from"efficient-easel/icons";import{useContext as rW,useEffect as DM,useRef as so,useState as co}from"react";import{Button as lo}from"efficient-shell/ui";var Na=class extends Error{constructor(a){super("The storefront forms list could not be loaded.");this.cause=a;this.name="FormsUnavailableError"}},ao=null,mp=null,pp=null;function sW(){ao=null,mp=null,pp=null}function _M(e=!1){let t=_3(),a=o2();return(e||!ao||mp===null&&t!==null||pp!==a)&&(mp=t,pp=a,ao=(t?X1.listForms(t,{siteId:a}):Promise.reject(new Na)).catch(s=>{throw sW(),s instanceof Na?s:new Na(s)})),ao}var up=new Map,cW=9e5,IM=0;function lW(){return IM+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(IM)}`}function BM(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function RM(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let a=lW();return new Promise(s=>{let c=setTimeout(()=>ZM(a,{status:"timeout"}),t.timeoutMs??cW);up.set(a,l=>{clearTimeout(c),s(l)}),e.send("storefront-editor:open-form",{requestId:a,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function ZM(e,t){let a=up.get(e);a&&(up.delete(e),a(t))}function Do1(e,t){ZM(e,t?{status:"saved",form:t}:{status:"closed"})}import{jsx as T2,jsxs as q4}from"react/jsx-runtime";var OM="__create-a-new-form__";function oW({value:e,forms:t,loadFailed:a,emptyLabel:s="No form yet"}){let c=t??[],l=e?c.some(m=>m.slug===e):!0,r=t===null&&!a,o={value:"",label:r?"Loading\u2026":a?"Forms couldn\u2019t be loaded":s},i=e&&!l?[{value:e,label:r||a?e:`${e} \u2014 no form with this name`}]:[],n=c.map(m=>({value:m.slug,label:m.is_active?m.title:`${m.title} (switched off)`})),h=r?[]:[{value:OM,label:"Create a new form\u2026"}];return[o,...i,...n,...h]}function iW(e){return e===OM?{action:"create"}:{action:"store",slug:e}}function nW({value:e,pickedId:t,forms:a}){if(!e||!t||a.some(c=>c.slug===e))return null;let s=a.find(c=>c.id===t);return s&&s.slug&&s.slug!==e?s.slug:null}function hW(e){let t=["Goes to Storefront \u2192 Forms"],a=(e.notify_email??"").trim();return a&&t.push(`Emails a copy to ${a}`),e.mailing_list_name&&t.push(e.subscribe_mode==="checkbox"?`Joins the \u201C${e.mailing_list_name}\u201D audience, but only when the consent box is ticked`:`Joins the \u201C${e.mailing_list_name}\u201D audience`),e.kind==="account_signup"&&t.push(e.signup_customer_type==="importer"?"Creates a wholesale account":"Creates a retail account"),t}function dp({value:e,onChange:t,label:a="Form",emptyLabel:s}){let c=x4(),l=rW(ul),r=l?l.capabilities.hasForms:!0,[o,i]=co(null),[n,h]=co(!1),[m,p]=co(!1),[u,g]=co(!1),d=so(!0),f=so(e);f.current=e;let v=so(t);v.current=t;let x=so(null),z=(F=!1)=>_M(F).then(T=>{if(d.current){i(T),h(!1);let N=nW({value:f.current,pickedId:x.current,forms:T});N&&v.current(N)}return T},()=>(d.current&&h(!0),[]));DM(()=>(d.current=!0,r&&z(),()=>{d.current=!1}),[r]),DM(()=>r?Zr(()=>{z(!0)}):void 0,[r]);let M=e?(o??[]).find(F=>F.slug===e)??null:null;M?x.current=M.id:e||(x.current=null);let A=!!e&&!M&&o!==null&&!n,V=oW({value:e,forms:o,loadFailed:n,emptyLabel:s}),E=async()=>{p(!0),g(!1);try{let F=await RM(c,{mode:"create"}),T=await z(!0);if(!d.current)return;if(F.status==="timeout"){g(!0);return}if(F.status!=="saved")return;let{form:N}=F;N.slug!==f.current&&v.current(N.slug),T.some(B=>B.id===N.id)||z(!0)}finally{d.current&&p(!1)}},O=F=>{let T=iW(F);T.action==="create"?E():(g(!1),t(T.slug))};return r?q4("div",{className:"sf-formpicker",children:[T2(H9,{label:a,options:V,fallback:"",value:e??"",onChange:O,placeholder:"Search forms\u2026"}),u&&T2("p",{className:"sf-formsummary-warn",children:"That didn\u2019t come back \u2014 pick the form from the list, or try again."}),M?q4("div",{className:"sf-blogsource sf-formsummary",children:[q4("div",{children:[T2("div",{className:"sf-formsummary-caption",children:M.fields.length===1?"1 field":`${M.fields.length} fields`}),M.fields.length?T2("ol",{className:"sf-formsummary-fields",children:M.fields.map((F,T)=>T2("li",{children:F.label},F.key||`${F.label}-${T}`))}):T2("p",{className:"sf-blogsource-hint",children:"This form has no fields yet, so there is nothing for a visitor to fill in."})]}),q4("div",{children:[T2("div",{className:"sf-formsummary-caption",children:"Where the answers go"}),T2("ul",{className:"sf-formsummary-fields",children:hW(M).map(F=>T2("li",{children:F},F))})]}),!M.is_active&&T2("p",{className:"sf-formsummary-warn",children:"This form is switched off, so it won\u2019t appear on the published page. Turn it back on in Storefront \u2192 Forms."}),q4("div",{className:"sf-formsummary-actions",children:[T2(lo,{variant:"secondary",size:"sm",onClick:()=>BM(c,M.id),children:"Edit form \u270E"}),T2(lo,{variant:"secondary",size:"sm",disabled:m,onClick:()=>{E()},children:"New form +"})]}),T2("p",{className:"sf-blogsource-hint",children:"The questions, the button text and the thank-you message all come from Storefront \u2192 Forms. Edit them there \u2014 this section updates to match."})]}):q4("div",{className:"sf-blogsource sf-formsummary",children:[n?q4("p",{className:"sf-blogsource-hint",children:["This website\u2019s forms couldn\u2019t be loaded, so there is nothing to choose from yet.",e?` This section still points at \u201C${e}\u201D, and that is unchanged.`:""]}):A&&q4("p",{className:"sf-formsummary-warn",children:["This section points at \u201C",e,"\u201D, and this website has no form with that name. Pick one from the list above, or leave it \u2014 nothing has been changed."]}),q4("div",{className:"sf-formsummary-actions",children:[n&&T2(lo,{variant:"secondary",size:"sm",disabled:m,onClick:()=>{z(!0)},children:"Try again"}),T2(lo,{variant:"secondary",size:"sm",disabled:m,onClick:()=>{E()},children:"New form +"})]}),!n&&T2("p",{className:"sf-blogsource-hint",children:"Pick a form to show here, or build a new one. Forms are made once in Storefront \u2192 Forms and can be shown on any number of pages."})]})]}):T2("div",{className:"sf-formpicker",children:T2("div",{className:"sf-blogsource sf-formsummary",children:q4("div",{children:[T2("div",{className:"sf-formsummary-caption",children:a}),q4("p",{className:"sf-blogsource-hint",children:["Forms aren\u2019t available in this editor, so there is nothing to choose here.",e?` This section still points at \u201C${e}\u201D, and that is unchanged.`:""]})]})})})}import{jsx as mW}from"react/jsx-runtime";function L5(e,t){return{type:"custom",render:({value:a,onChange:s})=>mW(dp,{value:a,onChange:s,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}var ro=null,GM=null;function pW(e,t){ro=e,GM=t}function si1(e){pW(e,null)}function qM(){return ro}function Z2(){return GM==="dynamic"||ro===zm}function WM(e){return xr(ro??"",e)??"alloy-wheel"}import{createContext as uW,useContext as dW}from"react";import{jsx as gW}from"react/jsx-runtime";var UM=uW(null);function jM({slug:e,children:t}){let a=typeof e=="string"&&e.trim()?e:null;return gW(UM.Provider,{value:a,children:t})}function KM(){return dW(UM)}import{createContext as vW,useContext as fW}from"react";import{jsx as bW}from"react/jsx-runtime";var $M=vW("alloy-wheel");function YM({kind:e,children:t}){return bW($M.Provider,{value:e??"alloy-wheel",children:t})}function XM(){return fW($M)}import{createContext as xW,useContext as yW}from"react";var gp="heroBullets",_a="\xB7",Ia={bullets:[{label:"Free shipping",detail:"USA, UK, AUS"},{label:"Lifetime warranty",detail:"structural"}]};function JM(e){return e.detail?`${e.label} ${_a} ${e.detail}`:e.label}function zW(e){let t=e.trim();if(!t)return null;let a=t.indexOf(_a);return a<0?{label:t,detail:""}:{label:t.slice(0,a).trim(),detail:t.slice(a+_a.length).trim()}}function QM(e){let t=(e??{})[gp];return Array.isArray(t)?{bullets:t.map(s=>zW(typeof s=="string"?s:bx(s?.text,""))).filter(s=>s!==null)}:Ia}import{jsx as wW}from"react/jsx-runtime";var eS=xW(Ia);function tS({content:e,children:t}){return wW(eS.Provider,{value:e,children:t})}function aS(){return yW(eS)}var p2={text:"Button label",href:"#"},L={eyebrow:"Eyebrow",heading:"Main heading",accent:"Highlight line",body:"Add a sentence or two of supporting copy.",button:"Button label",link:"#",sectionHeading:"Section heading",slideName:"Slide name",boxName:"Box name",headingAccent:"Section heading *here.*",sectionNumber:"Section number",imageCaption:"Image caption",bookingConfirmation:"Thanks \u2014 we'll email you to confirm.",imageMeta:"Image meta",label:"Label",value:"Value",viewAll:"View all",date:"Month DD, YYYY",category:"Category"};var e3={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:Vx,Stats:void 0};import{jsx as h7}from"react/jsx-runtime";import{jsx as kW}from"react/jsx-runtime";var oo="sf-card",P2={min:0,max:90,step:5,fallback:0,unit:"%"},n7=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],CW="68%",O3={desktop:20,phone:20,side:40,sidePhone:24},sS="sf-box-sides",cS={min:0,max:200,step:10};function Fe(e){return typeof e=="string"&&e.trim()!==""}function io(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(P2.max,Math.max(P2.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) ${CW})`}}function no(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"]},[s,c]=a[e]??a.center,[l,r]=t==="column"?[c,s]:[s,c],o={start:"justify-start",center:"justify-center",end:"justify-end"},i={start:"items-start",center:"items-center",end:"items-end"};return`${o[l]} ${i[r]}`}var ho={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}},lS=new Set(Object.keys(ho)),MW=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),rS=new Set(["ProductGrid"]);function vp(e,t){let a=e.render;e.render=s=>{if(t?.(s))return a(s);let c=M9(s.sectionPaddingTop,s.sectionPaddingBottom,s.sectionPaddingTopPhone,s.sectionPaddingBottomPhone),l=a(s);return c?kW("div",{className:c.className,style:c.style,children:l}):l}}var oS={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!MW.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){lS.has(t)||rS.has(t)||(e.fields={...e.fields,...a.spacingFields({phone:!0})})},draw(e,t){if(lS.has(t)){let a=e.render,s=ho[t];e.render=c=>{let l=rx(c,s);return a({...c,padTop:l.top,padBottom:l.bottom})};return}if(rS.has(t)){vp(e);return}vp(e,t==="Flex"?a=>Fe(a.bgImage):void 0)}},SW=["Heading","Text"],iS={name:"blockPadding",applies:(e,t,a)=>SW.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.spacingFields({phone:!0})}},draw(e){vp(e)}};import{jsx as Te,jsxs as LW}from"react/jsx-runtime";import{useEasel as AW}from"efficient-easel/easel";import{SettingsDrill as HW}from"efficient-easel/panel";import{default as nS}from"efficient-easel/screen/components/AddBlockRow";import{default as hS}from"efficient-easel/screen/components/AddChildRow";import{SlotChildActionsProvider as Fi1,useSlotChildActions as mS}from"efficient-easel/screen/components/SlotChildActionsContext";function FW({parent:e,parentType:t,label:a,rowName:s,onSelectChild:c,onAddChild:l,nestDepth:r=0}){let o=jh(t,r);if(!o)return null;let{slot:i,choices:n,spec:h}=o,m=String(e.props.id),p=`${m}:${i}`,u=Array.isArray(e.props[i])?e.props[i]:[],g=h?.addBlocked?.(u)??null,d=h?.notice?.(u)??null;return LW("div",{className:"sf-slot-rows",children:[a?Te(I9,{label:`${a} \xB7 ${u.length}`}):null,d?Te("p",{className:"sf-note",children:d}):null,u.map((f,v)=>Te(HW,{name:s(f),onOpen:()=>c(p,v,String(f.props.id),t)},String(f.props.id??`${p}-${v}`))),n?Te(nS,{choices:n,onPick:f=>l(m,i,f,u.length,t)}):h.fixed?null:Te(hS,{label:h.addLabel,blocked:g,onAdd:()=>l(m,i,h.childType,u.length,t)})]})}function TW(e,t){return jh(t)?.source==="footer"?e.blockRowName:e.childRowName}function pS({parentType:e,label:t}){let{appState:a,selectedItem:s}=AW(r=>r),c=mS();if(!c||!s||s.type!==e)return null;let l=e===Xb?jc(a?.data,String(s.props.id)):0;return Te(FW,{parent:s,parentType:e,label:t,rowName:TW(c,e),onSelectChild:c.selectChild,onAddChild:c.addChild,nestDepth:l})}var uS="grayscale(1) contrast(1.03)",dS="Black and white";function PW(e){return e===!0?{filter:uS}:{}}function EW(e){let{filter:t}=PW(e);return t?{style:{filter:t}}:{}}var Ba="sf-photo-grayscale",VW=`@media (hover:hover){.${Ba}{filter:${uS};transition:filter 160ms ease}.${Ba}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${Ba}{transition:none}}`;function Pe(e,t){return typeof e=="boolean"?e?EW(!0):{}:t===!0?{className:Ba}:{}}function gS(e){return e===!0?{[Ba]:VW}:{}}import{AlignLeftIcon as IW,BlackAndWhiteIcon as BW,ContrastIcon as RW,HeightIcon as ZW,TypeIcon as DW}from"efficient-easel/icons";var NW=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],_W=new Set(NW);function vS(e){let t=e.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let a=t.length-1;a>=0;a-=1)if(_W.has(t[a]))return t[a];return null}var r6=e=>Y2(e,a1("Height",h7(ZW,{}),K9.min,K9.max,K9.step,K9.fallback,K9.unit)),S4={ctaText:H("Button",p2.text),ctaHref:H1("Button link")},A5=()=>b1("Alignment",h7(IW,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],"left"),mo=()=>b1("Tone",h7(RW,{}),[{label:"Default",value:"default"},{label:"Muted",value:"dim"}],"default"),o3=e=>v5({...ho[e],keys:{top:"padTop",bottom:"padBottom"},group:!1}),s2=(e,t)=>({type:"custom",render:()=>h7(pS,{parentType:e,label:t})});function OW(e){let{photographyGrayscale:t}=N3();return l1(dS,t===!0,h7(BW,{})).render(e)}function Ee(){return{type:"custom",render:e=>h7(OW,{...e})}}var W1=Object.keys(f5("full"));function Ve(e){let t=vS(e);return t?h7(a4,{noun:t}):h7(DW,{})}import{createContext as GW,useContext as qW}from"react";import{jsx as m7,jsxs as fp}from"react/jsx-runtime";function bp(e){return v9(e)??void 0}var zp=GW({}),fS=3;function xp({tag:e,name:t,desc:a,href:s,imageSrc:c,imageLabel:l,price:r}){let{showPrice:o,cardStyle:i,partStyles:n,editing:h}=qW(zp),m=i==="bordered"?" border border-line":i==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",p=bp(c),u=d=>h?{[r8]:d}:{},g=d=>Rl(n?.[o8(d)]?.role,uy[d],Xc);return fp(S1,{href:s||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${m}`,children:[m7("div",{className:"relative z-0 aspect-[4/5] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] group-hover:scale-[1.04]",children:m7(P0,{label:l||"collection.jpg",src:p})}),m7("div",{className:"pointer-events-none absolute inset-0 z-[1] [background:rgba(0,0,0,0.4)] group-hover:[background:rgba(0,0,0,0.3)] max-[800px]:hidden",style:{transition:"none"}}),fp("div",{className:"absolute inset-x-8 bottom-8 z-[2] flex flex-col gap-2.5 text-overlay-fg max-[800px]:relative max-[800px]:inset-auto max-[800px]:p-6 max-[800px]:gap-3 max-[800px]:text-fg",children:[e&&m7("span",{...u("tag"),style:g("tag"),className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.25em] opacity-70",children:k(e)}),t&&m7("h3",{...u("name"),style:g("name"),className:"font-heading2 text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))] font-medium leading-none tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",children:typeof t=="string"?Y(t,!1):t}),a&&b0(a).map((d,f)=>m7("p",{...u("body"),style:g("body"),className:"max-w-[420px] text-[length:var(--size-body,14px)] leading-[1.5] opacity-80",children:k(d)},f)),o&&r&&m7("span",{...u("price"),style:g("price"),className:"font-mono text-[length:var(--size-label,15px)] tracking-[0.05em] text-accent",children:k(r)}),fp("span",{...u("link"),style:g("link"),className:"mt-2 inline-flex items-center gap-2.5 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em]",children:["Explore",m7("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"\u2192"})]})]})]})}import{createContext as UW,useCallback as jW,useContext as KW,useEffect as zS,useRef as $W,useState as wp}from"react";import{useState as WW}from"react";function po(e){switch(e){case"tall":return"aspect-[3/4]";case"wide":return"aspect-[2/1]";case"landscape":return"aspect-[4/3]";case"portrait":return"aspect-[4/5]";case"auto":return"";default:return"aspect-square"}}function bS(e){return e==="below"}import{jsx as W4,jsxs as Ne}from"react/jsx-runtime";function yp({build:e,hiddenMobile:t,alwaysShowOverlay:a,forceHover:s,index:c,total:l,ratio:r,captionPlace:o}){let[i,n]=WW(!1),h=bS(o),m=Ne("div",{className:["sf-card group relative overflow-hidden bg-surface-2",po(r),t?"max-[800px]:hidden":""].join(" "),children:[Ne("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",s?"scale-[1.06] opacity-0 [filter:brightness(0.5)]":"group-hover:scale-[1.06] group-hover:opacity-0 group-hover:[filter:brightness(0.5)]"].join(" "),children:[W4(P0,{label:e.imageLabel,src:e.imageSrc}),W4("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),W4("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",s?"opacity-100 scale-[1.06] [filter:brightness(0.5)]":"opacity-0 group-hover:scale-[1.06] group-hover:opacity-100 group-hover:[filter:brightness(0.5)]"].join(" "),style:{background:"var(--site-surface)"},children:e.detailSrc&&W4(V3,{src:e.detailSrc,alt:"",fill:!0,sizes:"(max-width: 800px) 100vw, (max-width: 1500px) 33vw, 25vw",loading:"lazy",className:"absolute inset-0 z-[3] object-cover",style:{display:i?"none":"block"},onError:()=>n(!0)})}),c!=null&&l!=null&&Ne("span",{className:"pointer-events-none absolute top-3 right-3 z-[3] font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] max-[800px]:top-2.5 max-[800px]:right-2.5",style:{color:"rgba(245,241,232,0.7)"},children:[String(c).padStart(2,"0")," / ",String(l).padStart(2,"0")]}),e.process&&W4("span",{className:["pointer-events-none absolute top-3 left-3 z-[3] inline-block max-w-[60%] truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent max-[800px]:top-2.5 max-[800px]:left-2.5","transition-opacity duration-300 ease-out",a||s?"opacity-100":"opacity-0 group-hover:opacity-100 max-[800px]:opacity-100"].join(" "),children:Y1(e.process)}),Ne("div",{className:["absolute inset-0 z-[2] flex flex-col justify-end gap-1 p-6","transition-[opacity,transform] duration-300 ease-out",a||s?"opacity-100 translate-y-0":"opacity-0 translate-y-2 group-hover:opacity-100 group-hover:translate-y-0 max-[800px]:opacity-100 max-[800px]:translate-y-0","max-[800px]:p-3.5"].join(" "),style:{color:"var(--overlay-fg)",background:"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:[e.car&&W4("div",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent max-[800px]:text-[length:var(--size-label,11px)] max-[800px]:tracking-[0.15em]",children:e.car}),e.wheel&&W4("div",{className:"font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-[1.05] tracking-[-0.02em] max-[800px]:text-[length:var(--size-body,16px)]",children:e.wheel}),e.finish&&W4("div",{className:"mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em]",style:{color:"rgba(245,241,232,0.7)"},children:W4("span",{children:Y1(e.finish)})})]})]});return h?Ne("div",{className:t?"max-[800px]:hidden":"",children:[m,Ne("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&W4("div",{className:"font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg",children:e.wheel}),(e.finish||e.car)&&W4("div",{className:"mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim",children:Y1(e.finish||e.car)})]})]}):m}import{Fragment as _e,jsx as X0,jsxs as i3}from"react/jsx-runtime";var Ra=UW({}),Za="data-gallery-grid",Cp="data-gallery-tile";function YW(e,t){let[a,s]=wp(null);return zS(()=>{let c=e.current,l=c?.closest(`[${Za}]`);if(!c||!l)return;let r=()=>{let i=Array.from(l.querySelectorAll(`[${Cp}]`)),n=i.indexOf(c),h=n>=0?{index:n+1,total:i.length}:null;s(m=>m?.index===h?.index&&m?.total===h?.total?m:h)};if(r(),!t)return;let o=new MutationObserver(r);return o.observe(l,{childList:!0,subtree:!0}),()=>o.disconnect()},[e,t]),a}var xS=[{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"}];function XW(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function JW(e){let t=(e.photos??[]).map(l=>l?.src).filter(l=>!!l),a=e.image||t[0]||"",s=[a,...t].filter(l=>!!l),c=XW(e.name,"gallery-item");return{car:e.eyebrow??"",wheel:e.name??"",process:e.process??"",finish:e.meta??"",imageLabel:`${c}.jpg`,detailLabel:`${c}-detail.jpg`,imageSrc:a||void 0,detailSrc:t[0]||a||void 0,photos:s,href:e.href}}function Da({editing:e=!1,previewHover:t,ratio:a,captionPlace:s,...c}){let{galleryHref:l="/gallery",submitHref:r="/contact",previewHover:o}=KW(Ra),i=JW(c),n=i.photos??(i.imageSrc?[i.imageSrc]:[]),h=$W(null),m=jW(z=>{h.current=z},[]),p=YW(h,e),u=e&&(!!t||!!o),[g,d]=wp(!1),[f,v]=wp(0);zS(()=>{if(!g)return;let z=M=>{M.key==="Escape"?d(!1):M.key==="ArrowLeft"&&n.length>1?v(A=>(A-1+n.length)%n.length):M.key==="ArrowRight"&&n.length>1&&v(A=>(A+1)%n.length)};window.addEventListener("keydown",z);let C=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",z),document.body.style.overflow=C}},[g,n.length]);let x=X0(yp,{build:i,forceHover:u,index:p?.index,total:p?.total,ratio:a,captionPlace:s});return i3(_e,{children:[e?X0("div",{ref:m,[Cp]:"",className:"block w-full text-left",children:x}):X0("button",{ref:m,[Cp]:"",type:"button","aria-label":`Open ${i.car||"build"} on ${i.wheel||"wheel"}`,onClick:()=>{v(0),d(!0)},className:"block w-full cursor-pointer text-left focus:outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2",children:x}),g&&(()=>{let z=n[f]??i.imageSrc??"",C=()=>v(A=>(A-1+n.length)%n.length),M=()=>v(A=>(A+1)%n.length);return X0("div",{role:"dialog","aria-modal":"true","aria-label":`${i.car} on ${i.wheel}`,onClick:()=>d(!1),className:"fixed inset-0 z-[100] flex items-center justify-center p-6 backdrop-blur-[8px] max-[700px]:p-3",style:{background:"color-mix(in oklab, var(--bg) 78%, transparent)"},children:i3("div",{onClick:A=>A.stopPropagation(),className:"relative grid w-[min(1800px,100%)] max-h-[calc(100vh-48px)] grid-cols-[1.4fr_1fr] overflow-hidden border border-line bg-bg max-[1100px]:grid-cols-1 max-[1100px]:overflow-auto",style:{boxShadow:"0 60px 120px -20px rgba(0,0,0,0.7)"},children:[X0("button",{type:"button",onClick:()=>d(!1),"aria-label":"Close popup",className:"absolute right-[24px] top-[24px] z-[5] flex h-[56px] w-[56px] items-center justify-center border border-line font-mono text-[length:var(--size-label,21px)] text-fg-dim transition-colors hover:border-accent hover:text-fg",style:{background:"color-mix(in oklab, var(--bg) 70%, transparent)"},children:"\u2715"}),i3("div",{className:"relative flex min-h-[690px] items-center justify-center overflow-hidden bg-surface-2 max-[1100px]:min-h-[450px]",children:[z&&X0("img",{src:z,alt:`${i.car} \u2014 ${f+1} of ${n.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},z),n.length>1&&i3(_e,{children:[X0("button",{type:"button","aria-label":"Previous photo",onClick:C,className:"absolute left-4 top-1/2 flex h-16 w-16 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 font-mono text-[length:var(--size-label,24px)] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u25C1"}),X0("button",{type:"button","aria-label":"Next photo",onClick:M,className:"absolute right-4 top-1/2 flex h-16 w-16 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 font-mono text-[length:var(--size-label,24px)] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u25B7"}),i3("span",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 border border-fg-dim/30 bg-overlay-scrim/50 px-4 py-1.5 font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.22em] text-fg-dim backdrop-blur-[4px]",children:[f+1," / ",n.length]})]})]}),i3("div",{className:"flex flex-col gap-[30px] px-[60px] py-[72px] max-[1100px]:px-9 max-[1100px]:py-[54px]",children:[i.process&&X0("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:k(i.process)}),i.wheel&&X0("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(42px,4.5vw,60px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.025em]",children:Y(i.wheel,!1)}),i.car&&i3("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",X0("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em]",children:k(i.car,!0)})]}),i3("dl",{className:"mt-3 grid grid-cols-[auto_1fr] gap-x-7 gap-y-[18px] border-y border-line py-[30px] font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.22em]",children:[i.wheel&&i3(_e,{children:[X0("dt",{className:"text-fg-dim",children:"Wheel"}),X0("dd",{className:"text-fg",children:k(i.wheel)})]}),i.process&&i3(_e,{children:[X0("dt",{className:"text-fg-dim",children:"Process"}),X0("dd",{className:"text-fg",children:k(i.process)})]}),i.finish&&i3(_e,{children:[X0("dt",{className:"text-fg-dim",children:"Finish"}),X0("dd",{className:"text-fg",children:k(i.finish)})]}),i.car&&i3(_e,{children:[X0("dt",{className:"text-fg-dim",children:"Vehicle"}),X0("dd",{className:"text-fg",children:k(i.car)})]})]}),i3("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[i3(S1,{href:i.href||"/wheels",onClick:()=>d(!1),className:"group flex items-center justify-between gap-6 border border-btn bg-btn px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-btn-ink transition-colors hover:border-fg hover:bg-fg",children:[X0("span",{children:"View product"}),X0("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"\u2192"})]}),i3(S1,{href:l,onClick:()=>d(!1),className:"flex items-center justify-between gap-6 border border-line px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[X0("span",{children:"See more builds"}),X0("span",{children:"\u2192"})]}),i3(S1,{href:r,onClick:()=>d(!1),className:"flex items-center justify-between gap-6 border border-line px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[X0("span",{children:"Submit your build"}),X0("span",{children:"\u2192"})]})]})]})]})})})()]})}import{createContext as aU,useContext as sU,useEffect as uo,useId as cU,useMemo as lU,useState as E2}from"react";var QW=14,eU=3;function kp(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function tU(e,t){let a=new Date(`${e}T00:00:00`);return a.setDate(a.getDate()+t),kp(a)}async function yS(e,t,a={}){let s=a.days??QW,c=a.read??n8.getAvailability,l=0,r=0;for(let o=0;o<s;o++){if(a.signal?.aborted)return{outcome:"unreadable"};let i=tU(t,o);try{let n=await c(e,i);if(l=0,r++,n.slots.length>0)return{outcome:"found",date:i,availability:n}}catch{if(l++,l>=eU)return{outcome:"unreadable"}}}return r===s?{outcome:"noneInWindow",days:s}:{outcome:"unreadable"}}import{jsx as iU}from"react/jsx-runtime";var wS=aU(null);function p7(){let e=sU(wS);if(!e)throw new Error("useBookingForm must be used inside <BookingFormProvider>");return e}var Mp=[{id:"example-1",name:"Example service",durationMinutes:45,price:"80.00",description:"What this appointment includes, in a sentence."},{id:"example-2",name:"Second example",durationMinutes:30,price:"0",description:""}];function rU(e){return{timezone:"UTC",slots:[`${e}T09:00:00.000Z`,`${e}T10:30:00.000Z`,`${e}T13:00:00.000Z`].map(t=>({start:t}))}}var Sp={bookingNumber:"EXAMPLE-0000",service:"Example service",startAt:"2026-01-01T00:00:00.000Z",timezone:"UTC",customerTimezone:"",manageToken:"example"};function oU(e,t){return e&&t?.length===0}function CS({editing:e=!1,previewConfirmation:t=!1,children:a}){let s=cU(),c=lU(()=>kp(new Date),[]),[l,r]=E2(),[o,i]=E2(""),[n,h]=E2(""),[m,p]=E2(c),[u,g]=E2(c),[d,f]=E2(!1),[v,x]=E2(null),[z,C]=E2(),[M,A]=E2(""),[V,E]=E2(""),[O,F]=E2(""),[T,N]=E2(""),[B,P]=E2(""),[D,c1]=E2(()=>Xh()),[Z,q]=E2(null),[K,W]=E2(!1),[r1,z1]=E2(!1),[$,e1]=E2(null),[d1,U]=E2("");uo(()=>{U(Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC")},[]),uo(()=>{let a0=!1;return n8.listServices().then(s0=>{a0||(r(s0.results),i(s0.currency),h($1=>$1||s0.results[0]?.id||""))}).catch(()=>{a0||r([])}),()=>{a0=!0}},[]),uo(()=>{if(d||!n)return;let a0={aborted:!1};return A(""),C(void 0),e1(null),x(null),W(!0),yS(n,c,{signal:a0}).then(s0=>{if(!a0.aborted){if(s0.outcome==="found"){p(s0.date),g(s0.date),C(s0.availability);return}x(s0.outcome==="noneInWindow"?`No times are available in the next ${s0.days} days.`:"We couldn't load available times. Please try again.")}}).finally(()=>{a0.aborted||W(!1)}),()=>{a0.aborted=!0}},[d,n,c]),uo(()=>{if(!d||!n||!m)return;let a0=!1;return A(""),C(void 0),e1(null),x(null),W(!0),n8.getAvailability(n,m).then(s0=>{a0||(C(s0),s0.slots.length===0&&x("No times are available on this date."))}).catch(()=>{a0||x("We couldn't load available times. Please try again.")}).finally(()=>{a0||W(!1)}),()=>{a0=!0}},[m,d,n]);let p1=l?.find(a0=>a0.id===n),f1=p1?.depositAmountDue!=null,H0=!!(!e&&!r1&&p1&&M&&V.trim()&&O.trim()&&!f1);async function F0(a0){if(a0.preventDefault(),!(!H0||!p1)){z1(!0),e1(null);try{let s0=await n8.create({serviceId:p1.id,start:M,customer:{name:V.trim(),email:O.trim(),phone:T.trim()},notes:B.trim(),idempotencyKey:D,customerTimezone:d1});q(s0),c1(Xh())}catch(s0){e1(s0 instanceof D4&&s0.status===409?"That time was just booked. Choose another available time.":"Your appointment wasn't submitted. Please check your details and try again."),s0 instanceof D4&&s0.status===409&&(A(""),n8.getAvailability(p1.id,m).then(C).catch(()=>{}))}finally{z1(!1)}}}let A1=oU(e,l);return iU(wS.Provider,{value:{fieldPrefix:s,editing:e,services:A1?Mp:l,currency:A1?"AUD":o,serviceId:A1?Mp[0].id:n,setServiceId:h,service:A1?Mp[0]:p1,requiresPayment:A1?!1:f1,date:m,earliestDate:u,setDate:p,setDateTouched:f,availability:A1?rU(m):z,loadingSlots:A1?!1:K,noSlotsMessage:v,selectedStart:A1?`${m}T09:00:00.000Z`:M,setSelectedStart:A,customerTimezone:d1,name:V,setName:E,email:O,setEmail:F,phone:T,setPhone:N,notes:B,setNotes:P,confirmation:Z??(t?Sp:null),submitting:r1,error:$,canSubmit:A1?!1:H0,handleSubmit:F0,sample:!!A1},children:a})}import{jsx as Lp,Fragment as nU,jsxs as hU}from"react/jsx-runtime";var mU="sf-button group inline-flex items-center justify-center gap-2.5 border px-[22px] py-4 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em] transition-colors",kS={primary:"border-btn bg-btn text-btn-ink hover:border-btn-2 hover:bg-btn-2",ghost:"border-current bg-transparent hover:bg-white/10"};function t3(e){let{variant:t="primary",arrow:a,className:s,style:c,children:l,href:r,newTab:o,...i}=e,n=`${mU} ${kS[t]??kS.primary} ${s??""}`,h=hU(nU,{children:[l,a!==null&&Lp("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-[3px]",children:a??"\u2192"})]});return r?Lp(m0,{href:r,className:n,style:c,...o?{target:"_blank",rel:"noopener noreferrer"}:{},children:h}):Lp("button",{type:"button",className:n,style:c,...i,children:h})}import{jsx as S0,jsxs as M3}from"react/jsx-runtime";var Oa="w-full border-2 border-line bg-bg px-4 py-3.5 font-[family-name:var(--bk-value-font,var(--font-display))] text-[length:var(--bk-value-size,17px)] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent";function pU(e,t){let a=Number(e);if(a===0)return"Free";try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(a)}catch{return`${t} ${e}`}}function MS(e,t){try{return new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",timeZone:t}).format(new Date(e))}catch{return new Date(e).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}}function SS(e,t){try{return new Intl.DateTimeFormat(void 0,{weekday:"long",day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"2-digit",timeZone:t,timeZoneName:"short"}).format(new Date(e))}catch{return new Date(e).toLocaleString()}}var Ga="font-[family-name:var(--bk-name-font,var(--font-mono))] text-[length:var(--bk-name-size,12px)]";function Ap({number:e,children:t}){return M3("div",{className:"mb-4 flex items-center gap-3",children:[S0("span",{className:"flex size-8 shrink-0 items-center justify-center rounded-full border border-line font-[family-name:var(--bk-step-font,var(--font-mono))] text-[length:var(--bk-step-size,11px)] font-semibold text-fg-dim",children:e}),S0("h3",{className:"font-[family-name:var(--bk-step-font,var(--font-mono))] text-[length:var(--bk-step-size,12px)] font-semibold uppercase tracking-[0.2em] text-fg",children:t})]})}function go({eyebrow:e,heading:t,intro:a}){return M3("div",{className:"mb-10 max-w-[760px]",children:[(e??"").trim()&&S0("p",{className:"mb-4 font-mono text-[12px] font-semibold uppercase tracking-[0.24em] text-accent",children:e}),(t??"").trim()&&S0("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.98] tracking-[-0.025em] text-fg max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:t}),(a??"").trim()&&S0("p",{className:"mt-5 max-w-[660px] font-display text-[17px] leading-[1.65] text-fg-dim",children:a})]})}function vo({style:e}={}){let{fieldPrefix:t,services:a,currency:s,serviceId:c,setServiceId:l,requiresPayment:r,date:o,earliestDate:i,setDate:n,setDateTouched:h,availability:m,loadingSlots:p,noSlotsMessage:u,selectedStart:g,setSelectedStart:d,customerTimezone:f}=p7();return a?M3("div",{className:"flex flex-col gap-9",style:e,children:[M3("div",{children:[S0(Ap,{number:"01",children:"Choose a service"}),S0("div",{className:"grid gap-3 sm:grid-cols-2",children:a.map(v=>{let x=v.id===c;return M3("button",{type:"button","aria-pressed":x,onClick:()=>l(v.id),className:`min-h-11 border p-4 text-left transition-colors ${x?"border-accent bg-accent/10":"border-line bg-bg hover:border-fg-dim"}`,children:[S0("span",{className:"block font-[family-name:var(--bk-name-font,var(--font-display))] text-[length:var(--bk-name-size,18px)] font-medium text-fg",children:v.name}),M3("span",{className:"mt-1 block font-[family-name:var(--bk-value-font,var(--font-mono))] text-[length:var(--bk-value-size,11px)] uppercase tracking-[0.14em] text-fg-dim",children:[v.durationMinutes," min \xB7 ",pU(v.price,s)]}),v.description&&S0("span",{className:"mt-3 block font-[family-name:var(--bk-note-font,var(--font-display))] text-[length:var(--bk-note-size,14px)] leading-[1.5] text-fg-dim",children:v.description})]},v.id)})}),r&&S0("p",{className:"mt-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.14em] text-alert",role:"alert",children:"This service requires an upfront payment and cannot be booked through this form yet."})]}),M3("div",{children:[S0(Ap,{number:"02",children:"Choose a date and time"}),S0(R2,{separate:!0,htmlFor:`${t}-date`,label:"Date",required:!0,labelFace:Ga,children:S0("input",{id:`${t}-date`,type:"date",min:i,value:o,onChange:v=>{h(!0),n(v.target.value)},className:Oa,required:!0})}),S0("div",{className:"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 min-[1200px]:grid-cols-4",role:"group","aria-label":"Available appointment times",children:p?S0("p",{className:"col-span-full py-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.18em] text-fg-dim",children:"Loading times\u2026"}):m?.slots.length?m.slots.map(v=>M3("button",{type:"button","aria-pressed":g===v.start,onClick:()=>d(v.start),className:`min-h-11 border px-3 py-2 font-[family-name:var(--bk-value-font,var(--font-mono))] text-[length:var(--bk-value-size,12px)] font-semibold uppercase tracking-[0.12em] transition-colors ${g===v.start?"border-accent bg-accent text-bg":"border-line bg-bg text-fg hover:border-accent"}`,children:[S0("span",{className:"block",children:MS(v.start,f||m.timezone)}),f&&f!==m.timezone&&M3("span",{className:"mt-0.5 block text-[9px] font-normal tracking-[0.08em] opacity-70",children:[MS(v.start,m.timezone)," business"]})]},v.start)):u?S0("p",{className:"col-span-full py-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.18em] text-fg-dim",role:"status",children:u}):null}),m?.timezone&&M3("p",{className:"mt-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,10px)] uppercase tracking-[0.16em] text-fg-dim",children:["Times shown in ",f||m.timezone,f&&f!==m.timezone?` \xB7 business timezone ${m.timezone}`:""]})]})]}):null}function fo({buttonLabel:e,style:t}){let{fieldPrefix:a,editing:s,name:c,setName:l,email:r,setEmail:o,phone:i,setPhone:n,notes:h,setNotes:m,submitting:p,error:u,canSubmit:g}=p7();return M3("div",{className:"sf-card border border-line bg-bg p-5 min-[640px]:p-7",style:t,children:[S0(Ap,{number:"03",children:"Your details"}),M3("div",{className:"flex flex-col gap-4",children:[S0(R2,{separate:!0,htmlFor:`${a}-name`,label:"Name",required:!0,labelFace:Ga,children:S0("input",{id:`${a}-name`,type:"text",autoComplete:"name",value:c,onChange:d=>l(d.target.value),className:Oa,required:!0})}),S0(R2,{separate:!0,htmlFor:`${a}-email`,label:"Email",required:!0,labelFace:Ga,children:S0("input",{id:`${a}-email`,type:"email",inputMode:"email",autoComplete:"email",value:r,onChange:d=>o(d.target.value),className:Oa,required:!0})}),S0(R2,{separate:!0,htmlFor:`${a}-phone`,label:"Phone",labelFace:Ga,children:S0("input",{id:`${a}-phone`,type:"tel",inputMode:"tel",autoComplete:"tel",value:i,onChange:d=>n(d.target.value),className:Oa})}),S0(R2,{separate:!0,htmlFor:`${a}-notes`,label:"What would you like to cover?",labelFace:Ga,children:S0("textarea",{id:`${a}-notes`,rows:4,value:h,onChange:d=>m(d.target.value),className:`${Oa} resize-y`})})]}),u&&S0("p",{className:"mt-4 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.16em] text-alert",role:"alert",children:u}),S0(t3,{type:s?"button":"submit",disabled:!g,arrow:null,className:"mt-6 w-full disabled:cursor-not-allowed disabled:opacity-50",children:p?"Submitting\u2026":(e??"").trim()||"Book appointment"})]})}function bo({successMessage:e}){let{confirmation:t,customerTimezone:a}=p7();return t?M3("div",{className:"sf-card max-w-[760px] border border-line bg-bg p-6 min-[640px]:p-9",role:"status",children:[M3("p",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-accent",children:["Request received \xB7 ",t.bookingNumber]}),S0("h3",{className:"mt-4 font-display text-[28px] font-medium uppercase text-fg",children:t.service}),S0("p",{className:"mt-2 font-display text-[17px] text-fg-dim",children:SS(t.startAt,t.customerTimezone||a||t.timezone)}),t.customerTimezone&&t.timezone!==t.customerTimezone&&M3("p",{className:"mt-1 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:["Business time: ",SS(t.startAt,t.timezone)]}),(e??"").trim()&&S0("p",{className:"mt-5 max-w-[620px] font-serif text-[18px] italic leading-[1.6] text-fg-dim",children:e}),S0(t3,{href:`/book/${encodeURIComponent(t.manageToken)}`,newTab:t!==Sp,variant:"ghost",className:"mt-7",children:"Manage booking"})]}):null}var zo=["step","name","value","note"],Hp={step:"Step",name:"Name",value:"Value",note:"Note"},xo={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},LS={step:{font:"--bk-step-font",size:"--bk-step-size"},name:{font:"--bk-name-font",size:"--bk-name-size"},value:{font:"--bk-value-font",size:"--bk-value-size"},note:{font:"--bk-note-font",size:"--bk-note-size"}};function uU(e){return typeof e=="string"&&m5.includes(e)?e:null}var dU={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function AS(e,t){let a={};for(let s of zo){let c=uU(e[xo[s]]);if(!c)continue;let l=w9({role:c},dU,t);l.fontFamily&&(a[LS[s].font]=l.fontFamily),l.fontSize&&(a[LS[s].size]=l.fontSize)}return a}import{jsx as Ie}from"react/jsx-runtime";var HS=["head","booking","details","confirm"],FS={head:"Head",booking:"Booking",details:"Your details",confirm:"Confirmation"};function Fp({region:e,eyebrow:t,heading:a,intro:s,buttonLabel:c,successMessage:l,...r}){let{confirmation:o,services:i}=p7(),n=AS(r);return e==="head"?Ie("div",{className:"min-[960px]:col-span-2",style:n,children:Ie(go,{eyebrow:t,heading:a,intro:s})}):e==="confirm"?o?Ie("div",{className:"min-[960px]:col-span-2",style:n,children:Ie(bo,{successMessage:l})}):null:o||!i||i.length===0?null:e==="booking"?Ie(vo,{style:n}):e==="details"?Ie(fo,{buttonLabel:c,style:n}):null}import{jsx as K0,Fragment as gU,jsxs as L4}from"react/jsx-runtime";var z8="solid",Tp=[{label:"Solid",value:"solid"},{label:"Outlined",value:"outlined"}];function TS(e){return _2(Tp,z8,e)}var Pp="sf-secnum-outline",PS="font-display text-[length:var(--size-headingMedium,clamp(48px,6vw,96px))] font-medium leading-[0.8] tracking-[-0.02em]",ES=`@supports (-webkit-text-stroke: 1px currentColor){.${Pp}{color:var(--site-surface-2);-webkit-text-stroke:1px var(--site-line)}}`;var qa=(e,t=!1)=>typeof e=="string"?Y(e,t):e,Be=(e,t=!1)=>typeof e=="string"?k(e,t):e;function Q1({num:e,title:t,link:a,logo:s,description:c,accent:l,accentNum:r,numStyle:o=z8,look:i="standard",titleAccent:n,accentTracking:h="-0.02em",spaceBelow:m,rowGap:p,descriptionSize:u,className:g="",eyebrowLook:d=$l}){let f=m??(i==="editorial"?"mb-[60px]":"");if(i==="editorial"){let A=!!t||!!n;return L4("header",{className:`${f} grid grid-cols-[auto_1fr_auto] items-end gap-10 border-b border-line pb-8 max-[1100px]:grid-cols-1 max-[1100px]:gap-3.5 ${g}`.trim(),children:[e&&(typeof e=="string"?K0(V1,{text:e,className:"pb-2"}):K0("span",{className:"pb-2",children:e})),A&&L4("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5.5vw,80px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:[t,n&&L4(gU,{children:[" ",K0("em",{className:"font-serif font-normal italic text-accent",style:{letterSpacing:h},children:n})]})]}),c&&K0("p",{className:"max-w-[360px] pb-1 text-right font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim max-[1100px]:max-w-full max-[1100px]:text-left",children:c})]})}if(i==="simple"){let A=`${f} ${g}`.trim();return L4("div",{className:A||void 0,children:[e&&(typeof e=="string"?K0(V1,{text:e,look:d,className:"mb-4 block"}):K0("span",{className:"mb-4 block",children:e})),t&&K0("h2",{className:"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:qa(t)})]})}if(i==="statement"){let A=`${f} ${g}`.trim();return L4("div",{className:A||void 0,children:[e&&(typeof e=="string"?K0(V1,{text:e,look:d,className:"mb-4 block"}):K0("span",{className:"mb-4 block",children:e})),t&&K0("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,72px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em] text-fg",children:qa(t,!0)})]})}if(i==="natural"){let A=`flex max-w-[680px] flex-col ${p??"gap-5"} ${f} ${g}`.replace(/\s+/g," ").trim();return L4("div",{className:A,children:[e&&(typeof e=="string"?K0(V1,{text:e,look:d}):K0("span",{children:e})),t&&K0("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:qa(t)}),c&&K0("p",{className:`${u??"text-[length:var(--size-body,16px)]"} leading-[1.6] opacity-85`,children:c})]})}if(i==="essay"){let A=`${f} ${g}`.trim();return L4("div",{className:A||void 0,children:[e&&(typeof e=="string"?K0(V1,{text:e,look:d,className:"mb-4 block"}):K0("span",{className:"mb-4 block",children:e})),t&&K0("h2",{className:"font-heading2 text-[length:var(--sf-heading-max,var(--size-headingMedium,38px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-none tracking-[-0.02em] text-fg max-[800px]:text-[length:var(--size-headingSmall,28px)]",children:qa(t)})]})}let v=!!c||!!a,x=!!t,z=TS(o)==="outlined",C="font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em]",M=null;if(e)if(z)M=K0("span",{className:`${PS} text-fg-dim ${Pp}`,children:Be(e)});else if(r&&!l&&typeof e=="string"){let A=e.indexOf("/"),V=A===-1?e:e.slice(0,A),E=A===-1?"":e.slice(A);M=L4("span",{className:C,children:[K0("span",{className:"text-accent",children:Be(V)}),E&&K0("span",{className:"text-fg-dim",children:Be(E)})]})}else M=K0("span",{className:`${C} ${l?"text-accent":"text-fg-dim"}`,children:Be(e)});return L4("div",{className:"mb-16 grid grid-cols-[auto_1fr_auto] items-end gap-10 border-b border-line pb-6 max-[800px]:mb-9 max-[800px]:grid-cols-1 max-[800px]:gap-3 max-[800px]:pb-5",children:[z&&e&&K0("style",{children:ES}),L4("div",{className:"flex flex-col items-start gap-3",children:[s?.src&&K0("img",{src:L2(s.src),alt:s.alt,className:"h-8 w-auto object-contain"}),M]}),x&&K0("h2",{className:l?"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,5vw,64px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[0.95] tracking-[-0.025em]":"font-heading2 text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-none tracking-[-0.03em] whitespace-pre-line max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))] max-[800px]:leading-[1]",children:qa(t)}),v&&L4("div",{className:"flex flex-col items-end gap-3 max-[800px]:items-start",children:[c&&K0("p",{className:"max-w-[340px] font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim text-right max-[800px]:max-w-full max-[800px]:text-left",children:Be(c)}),a&&L4(m0,{href:a.href,className:"inline-flex items-center gap-2 whitespace-nowrap font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg",children:[Be(a.text),K0("span",{"aria-hidden":!0,children:"\u2192"})]})]})]})}import{jsx as A4,jsxs as Wa}from"react/jsx-runtime";function vU(e){return e.type==="textarea"||e.type==="select"||e.type==="checkbox"}function VS({eyebrow:e,title:t}){return Wa("div",{className:"flex flex-col gap-4",children:[e&&A4(V1,{text:e,scaled:!1}),t&&A4("h2",{className:"font-display text-[min(clamp(40px,5vw,72px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:Y(t,!0)})]})}function yo({body:e,buttonLabel:t,consent:a,form:s,submission:c,showForm:l,resolving:r,editing:o}){return Wa("div",{className:"flex flex-col gap-7",children:[e&&b0(e).map((i,n)=>A4("p",{className:"max-w-[480px] font-display text-[16px] leading-[1.6] text-fg-dim",children:k(i)},n)),l&&(s?c.done?A4("p",{role:"status",className:"max-w-[480px] font-[family-name:var(--sb-thanks-font,var(--font-serif))] text-[length:var(--sb-thanks-size,17px)] italic leading-[1.6] text-fg-dim",children:Me(s)}):Wa("form",{className:"grid grid-cols-2 gap-2",onSubmit:c.handleSubmit,children:[s.fields.map(i=>{let n=["border border-line bg-transparent px-4 py-3.5 font-[family-name:var(--sb-field-font,var(--font-mono))] text-[length:var(--sb-field-size,14px)] tracking-[0.1em] text-fg outline-none focus:border-accent",vU(i)?"col-span-2":""].join(" ");return i.type==="checkbox"?Wa("label",{className:"col-span-2 flex items-start gap-3 font-[family-name:var(--sb-tick-font,var(--font-mono))] text-[length:var(--sb-tick-size,12px)] uppercase tracking-[0.18em] text-fg-dim",children:[A4(r7,{field:i,value:c.valueOf(i.key),onChange:h=>c.set(i.key,h),className:"mt-0.5 size-4 accent-accent"}),Wa("span",{children:[i.label,i.required?A4("span",{className:"text-accent",children:" *"}):null]})]},i.key):A4(r7,{field:i,value:c.valueOf(i.key),onChange:h=>c.set(i.key,h),rows:4,placeholder:i.placeholder||i.label,className:i.type==="textarea"?`${n} resize-y`:n},i.key)}),A4(Se,{value:c.honeypot,onChange:c.setHoneypot}),c.error&&A4("p",{role:"alert",className:"col-span-2 font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:c.error}),t&&A4("button",{type:o?"button":"submit",disabled:c.submitting,className:"col-span-2 cursor-pointer bg-btn px-6 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:c.submitting?"Sending\u2026":k(t)})]}):A4("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:r?"Loading form\u2026":"Choose a form in the inspector, under Form \u2014 until then this form is hidden on the live page and nothing can be submitted."})),l&&a&&A4("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:k(a)})]})}var wo=["field","tick","thanks"],Ep={field:"Form rows",tick:"Tick label",thanks:"Thank-you message"},Co={field:"styleField",tick:"styleTick",thanks:"styleThanks"},NS={field:{font:"--sb-field-font",size:"--sb-field-size"},tick:{font:"--sb-tick-font",size:"--sb-tick-size"},thanks:{font:"--sb-thanks-font",size:"--sb-thanks-size"}};function fU(e){return typeof e=="string"&&m5.includes(e)?e:null}var bU={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function _S(e,t){let a={};for(let s of wo){let c=fU(e[Co[s]]);if(!c)continue;let l=w9({role:c},bU,t);l.fontFamily&&(a[NS[s].font]=l.fontFamily),l.fontSize&&(a[NS[s].size]=l.fontSize)}return a}import{jsx as ko}from"react/jsx-runtime";var IS=["head","form"],BS={head:"Head",form:"Form"};function Vp({region:e,eyebrow:t,title:a,body:s,buttonText:c,consent:l,formSlug:r,form:o,editing:i=!1,...n}){let h=k5(r,o),m=l7({form:h,formSlug:r,editing:i}),p=_S(n);return e==="head"?ko("div",{style:p,children:ko(Q1,{look:"statement",num:t,title:a})}):ko("div",{style:p,children:ko(yo,{body:s??"",buttonLabel:c??"",consent:l??"",form:h,submission:m,showForm:!!h||i,resolving:h===void 0,editing:i})})}var zU={AppointmentBooking:{slot:"boxes",childType:"BookingBox",addLabel:"Add box",fixed:!0,seeds:()=>HS.map(e=>({region:e,name:FS[e]})),addBlocked:()=>"A Booking Form is these three boxes. They cannot be added to or removed.",skipSeed:e=>e.layout!=="boxes"},SubmitBuild:{slot:"boxes",childType:"SubmitBox",addLabel:"Add box",fixed:!0,seeds:()=>IS.map(e=>({region:e,name:BS[e]})),addBlocked:()=>"A Submit-a-build section is these two boxes. They cannot be added to or removed.",skipSeed:e=>e.layout!=="boxes"},Collections:{slot:"cards",childType:"CollectionCard",addLabel:"Add card",seeds:()=>Array.from({length:fS},()=>({collection:null}))},ProductGrid:{slot:"products",childType:"ProductRef",addLabel:"Add product",seeds:()=>[{code:""},{code:""},{code:""}],legacy:e=>Array.isArray(e.design_codes)?e.design_codes.map(t=>t?.code).filter(t=>!!t).map(t=>({code:t})):[]},GalleryB:{slot:"items",childType:"GalleryItem",addLabel:"Add image",seeds:()=>xS.map(e=>({...e})),legacy:e=>Array.isArray(e.cards)?e.cards.map(t=>({...t})):[]}};Qb(zU);function Re(e,t){let a={};for(let s of Object.keys(e))a[s]={...e[s],...t[s]};return a}import{jsx as xU}from"react/jsx-runtime";import{OpacityIcon as yU}from"efficient-easel/icons";var RS={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow","Limited release"),title:R("Heading","Banner headline"),body:R("Body","A line or two of supporting copy."),_gBackground:b("Background image"),imageSrc:G1("Image","image/*"),overlay:a1("Overlay",xU(yU,{}),0,100,5,60,"%"),_gButton:b("Button"),...S4,_gLayout:b("Layout")}};import{jsx as kU}from"react/jsx-runtime";import{jsx as Ua,jsxs as Np,Fragment as wU}from"react/jsx-runtime";import{Fragment as CU}from"react";function ZS({items:e,meta:t,editing:a=!1}){let s=(e??[]).filter(l=>l?.label?.trim()),c=s.length>0?s:a?[{label:"Breadcrumb"}]:[];return c.length===0&&!t?null:Np("nav",{className:"flex 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:[c.map((l,r)=>{let o=r===c.length-1;return Np(CU,{children:[r>0&&Ua("span",{className:"opacity-40",children:"/"}),l.href&&!o?Ua(m0,{href:l.href,className:"hover:text-fg",children:R0(l.label)}):Ua("span",{className:o?"text-fg":void 0,children:R0(l.label)})]},r)}),t&&Np(wU,{children:[Ua("span",{className:"opacity-40",children:"\xB7"}),Ua("span",{children:k(t)})]})]})}function U4(e,t,a){return e||(a?.isEditing?t:void 0)}function y1(e,t,a){let s=Array.isArray(e)?e:[];return s.length?s:a?.isEditing?t:[]}function y(e,t,a){let s=A2(e);if(!s.hidden)return U4(s.text,t,a)}function J0(e,t,a){return A2(e).hidden?"":y(e,t,a)}function G3(e,t,a){return{text:y(e,p2.text,a),href:t||p2.href}}var _p={meta:"Trailing note"},MU=[{label:"Home",href:"/"},{label:"Section",href:""}],DS={label:"Breadcrumb",defaultProps:{items:[],meta:""},render:({items:e,meta:t,puck:a})=>kU(ZS,{items:y1(e,MU,a),meta:y(t,_p.meta,a),editing:a?.isEditing})};var OS={fields:{_gContent:b("Content"),items:{type:"array",label:"Crumbs",arrayFields:{label:G("Label"),href:X2(G("Link"))},getItemSummary:e=>e?.label||"Crumb"},meta:H("Trailing note",_p.meta)}};import{jsx as LU}from"react/jsx-runtime";function GS(e){return typeof e=="boolean"?e:!0}import{ButtonArrowIcon as AU}from"efficient-easel/icons";var qS={fields:{label:G("Button"),href:H1("Button link"),_gStyle:b("Style"),variant:{type:"radio",options:[{label:"Primary",value:"primary"},{label:"Ghost",value:"ghost"}]},arrow:l1("Arrow",!0,LU(AU,{})),align:A5()}};import{jsx as jS}from"react/jsx-runtime";import{ColumnsIcon as VU,StylesIcon as NU}from"efficient-easel/icons";import{jsx as PU}from"react/jsx-runtime";import{jsx as Ze,Fragment as HU,jsxs as Ip}from"react/jsx-runtime";var FU="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[72px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",TU="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[72px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function WS({look:e,eyebrow:t,title:a,items:s,columns:c,omitHead:l=!1,editing:r=!1}={}){let o=Math.min(4,Math.max(2,c??3)),i=(s??[]).filter(h=>r||(h.title??"").trim()||(h.body??"").trim()),n=!!(t??"").trim()||!!(a??"").trim();return!r&&!n&&i.length===0?null:Ze("section",{className:"relative z-[2] bg-surface",children:Ip("div",{className:l?TU:FU,children:[l?null:Ip(HU,{children:[(t??"").trim()&&Ze(V1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&Ze("h2",{className:"mb-9 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-7 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:Y(a??"",!1)})]}),i.length>0&&Ze("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--cd-cols),minmax(0,1fr))]",style:{"--cd-cols":String(o)},children:i.map((h,m)=>Ip("div",{className:"bg-bg p-8 max-[800px]:p-7",children:[Ze("div",{className:"mb-3 font-heading3 text-[length:var(--size-headingSmall,20px)] font-medium uppercase tracking-[0.02em] text-fg",children:k((h.title??"").trim()||"Card title")}),Ze("p",{className:"text-[length:var(--size-body,15px)] leading-[1.6] text-fg-dim",children:k((h.body??"").trim()||"A short line about this card.")})]},m))})]})})}var ja={eyebrow:"Label",title:"Section *heading.*"},EU=[{title:"Card title one",body:"A short line about this card."},{title:"Card title two",body:"A short line about this card."},{title:"Card title three",body:"A short line about this card."}],US={label:"Cards",defaultProps:{eyebrow:"",title:"",items:[],columns:3},render:e=>{let t=D1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return PU(WS,{look:l4(e.eyebrowLook,"Cards"),eyebrow:a(y(e.eyebrow,ja.eyebrow,e.puck)),title:a(y(e.title,ja.title,e.puck)),omitHead:t,items:y1(e.items,EU,e.puck),columns:e.columns,editing:e.puck?.isEditing})}};var KS={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow",ja.eyebrow),eyebrowLook:v1("Eyebrow style",jS(NU,{}),[...y4],K6("Cards")),title:R("Heading",ja.title),items:{type:"array",label:"Cards",arrayFields:{title:g1("Card title"),body:E1("Card body")},defaultItemProps:{title:"",body:""},getItemSummary:e=>e?.title||e?.body||"Card"},_gStyle:b("Style"),columns:a1("Columns",jS(VU,{}),2,4,1,3)},resolveFields:(e,{fields:t,parent:a})=>O1(q1(t,a,W1),e.props.headPlacement,R1.Cards.headRows)};import{jsx as _U}from"react/jsx-runtime";import{StickyIcon as IU}from"efficient-easel/icons";var $S={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:G("Label"),count:G("Count")},getItemSummary:e=>e?.label?`${e.label}${e.count?` \xB7 ${e.count}`:""}`:"Tab"},activeTab:X2(G("Active tab","All")),_gLinks:b("Links"),links:{type:"array",label:"Right links",arrayFields:{label:G("Label"),href:X2(G("Link"))},getItemSummary:e=>e?.label||"Link"},_gStyle:b("Style"),sticky:l1("Stick under header",!0,_U(IU,{}))}};import{jsx as GU}from"react/jsx-runtime";import{StylesIcon as qU}from"efficient-easel/icons";import{jsx as DU}from"react/jsx-runtime";import{jsx as c2,jsxs as j4}from"react/jsx-runtime";function Bp(e){return Number.isInteger(e)?String(e):String(Math.round(e*10)/10)}var YS=[100,70,46,30,19,12];function XS(e){return`color-mix(in srgb, var(--accent) ${YS[e%YS.length]}%, var(--bg))`}function BU({data:e,suffix:t}){let a=Math.max(...e.map(s=>s.value),0)||1;return c2("div",{className:"flex w-full flex-col gap-6",children:e.map((s,c)=>j4("div",{children:[j4("div",{className:"mb-2 flex items-baseline justify-between gap-4",children:[c2("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg/60",children:k(s.label)}),j4("span",{className:"font-display text-[length:var(--size-body,16px)] font-medium text-fg",children:[Bp(s.value),t]})]}),c2("div",{className:"h-[10px] border border-line bg-bg",children:c2("div",{className:"h-full bg-accent",style:{width:`${Math.max(s.value/a*100,s.value===0?0:2)}%`}})})]},c))})}function RU({data:e,suffix:t}){let a={l:42,r:42,t:36,b:38},s=640-a.l-a.r,c=300-a.t-a.b,l=Math.max(...e.map(h=>h.value),0)||1,r=e.length>1?s/(e.length-1):0,o=e.map((h,m)=>({x:a.l+(e.length>1?m*r:s/2),y:a.t+c-h.value/l*c})),i=o.map((h,m)=>`${m===0?"M":"L"}${h.x},${h.y}`).join(" "),n=`${i} L${o[o.length-1].x},${a.t+c} L${o[0].x},${a.t+c} Z`;return j4("svg",{viewBox:"0 0 640 300",className:"w-full",role:"img","aria-hidden":!0,children:[[.25,.5,.75,1].map(h=>c2("line",{x1:a.l,x2:640-a.r,y1:a.t+c*(1-h),y2:a.t+c*(1-h),stroke:"var(--site-line)",strokeWidth:"1"},h)),c2("line",{x1:a.l,x2:640-a.r,y1:a.t+c,y2:a.t+c,stroke:"var(--site-line)",strokeWidth:"1.5"}),c2("path",{d:n,fill:"var(--accent)",opacity:"0.13"}),c2("path",{d:i,fill:"none",stroke:"var(--accent)",strokeWidth:"2.5"}),o.map((h,m)=>j4("g",{children:[c2("circle",{cx:h.x,cy:h.y,r:"4",fill:"var(--accent)"}),j4("text",{x:h.x,y:h.y-12,textAnchor:"middle",className:"font-display",fontSize:"14",fill:"var(--fg)",children:[Bp(e[m].value),t]}),c2("text",{x:h.x,y:288,textAnchor:"middle",className:"font-mono",fontSize:"10",letterSpacing:"0.1em",fill:"var(--fg)",opacity:"0.55",children:e[m].label.toUpperCase()})]},m))]})}function ZU({data:e,suffix:t}){let a=e.reduce((o,i)=>o+i.value,0)||1,s=80,c=2*Math.PI*s,l=0,r=e.map((o,i)=>{let n=o.value/a,h={frac:n,dash:Math.max(n*c-3,0),off:l,ink:XS(i)};return l+=n*c,h});return j4("div",{className:"flex w-full flex-wrap items-center justify-center gap-10",children:[c2("svg",{viewBox:"0 0 200 200",className:"w-[220px] max-w-full -rotate-90",role:"img","aria-hidden":!0,children:r.map((o,i)=>c2("circle",{cx:"100",cy:"100",r:s,fill:"none",stroke:o.ink,strokeWidth:"34",strokeDasharray:`${o.dash} ${c-o.dash}`,strokeDashoffset:-o.off},i))}),c2("ul",{className:"flex min-w-[200px] flex-1 flex-col gap-3",children:e.map((o,i)=>j4("li",{className:"flex items-baseline gap-3",children:[c2("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] flex-shrink-0 rotate-45",style:{background:XS(i)}}),c2("span",{className:"flex-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.12em] text-fg/60",children:k(o.label)}),c2("span",{className:"font-display text-[length:var(--size-body,15px)] font-medium text-fg",children:t?`${Bp(o.value)}${t}`:`${Math.round(o.value/a*100)}%`})]},i))})]})}function JS({eyebrow:e,title:t,body:a,chartStyle:s,items:c,valueSuffix:l,caption:r,editing:o=!1}={}){let i=(l??"").trim()===""?"":l??"",n=(c??[]).map(u=>({label:(u.label??"").trim(),value:parseFloat(u.value??"")})).filter(u=>o?!0:u.label&&Number.isFinite(u.value)).map(u=>({label:u.label||"\u2014",value:Number.isFinite(u.value)?u.value:0})),h=!!(e??"").trim()||!!(t??"").trim();if(!o&&!h&&n.length===0)return null;let m=s??"bars",p=n.length===0?null:m==="line"&&n.length>1?c2(RU,{data:n,suffix:i}):m==="donut"?c2(ZU,{data:n,suffix:i}):c2(BU,{data:n,suffix:i});return c2("section",{className:"relative z-[2] border-y border-line bg-surface",children:j4("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-template-columns:minmax(0,5fr)_minmax(0,7fr)] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[j4("div",{children:[(e??"").trim()&&c2("span",{className:"inline-block bg-accent px-3.5 py-1.5 font-mono text-[length:var(--size-label,12px)] font-semibold uppercase tracking-[0.16em] text-bg",children:k(e??"")}),(t??"").trim()&&c2("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:Y(t??"",!1)}),(a??"").trim()&&c2("p",{className:"mt-5 max-w-[46ch] text-[length:var(--size-body,15px)] leading-relaxed text-fg/65",children:a})]}),j4("div",{children:[p,(r??"").trim()&&c2("p",{className:"mt-4 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.14em] text-fg/40",children:r})]})]})})}var Ka={eyebrow:"By the numbers",title:`A picture worth
|
|
23
23
|
*a thousand rows.*`},OU=[{label:"Before",value:"9"},{label:"After",value:"3"},{label:"With us",value:"1"}],QS={label:"Chart",defaultProps:{eyebrow:"",title:"",body:"",items:[],caption:"",chartStyle:"bars",valueSuffix:""},render:({eyebrow:e,title:t,body:a,items:s,caption:c,chartStyle:l,valueSuffix:r,puck:o})=>DU(JS,{eyebrow:y(e,Ka.eyebrow,o),title:y(t,Ka.title,o),body:a,items:y1(s,OU,o),chartStyle:l,valueSuffix:r,caption:c,editing:o?.isEditing})};var eL={fields:{_gContent:b("Content"),eyebrow:H("Chip label",Ka.eyebrow),title:R("Heading",Ka.title),body:R("Body",""),items:{type:"array",label:"Data points",arrayFields:{label:g1("Label"),value:G("Value")},defaultItemProps:{label:"",value:""},getItemSummary:e=>[e?.label,e?.value].filter(Boolean).join(" \xB7 ")||"Point"},caption:H("Caption","Illustrative example"),_gStyle:b("Style"),chartStyle:v1("Chart style",GU(qU,{}),[{label:"Bars (comparison / funnel)",value:"bars"},{label:"Line (trend)",value:"line"},{label:"Donut (split of a whole)",value:"donut"}],"bars"),valueSuffix:H("Value suffix","%")}};import{jsx as ij}from"react/jsx-runtime";import{jsx as L1,Fragment as Dp,jsxs as H4}from"react/jsx-runtime";import{useId as jU,useState as KU}from"react";import{InspectorUpLevel as Ya}from"efficient-easel/chrome";import{useEasel as $U}from"efficient-easel/easel";import{ListField as cL}from"efficient-easel/fields";import{SettingsField as lL}from"efficient-easel/panel";import{ClockIcon as tL,ContrastIcon as YU,GlobeIcon as XU,LinkIcon as JU,LocationIcon as QU,PhoneIcon as ej,SquareIcon as tj,TypeIcon as Op}from"efficient-easel/icons";var WU=["tall","square","wide"],UU="tall";function Mo(e){return WU.includes(String(e??""))?String(e):UU}var l2={sectionNumber:"\xB7 Locations",heading:"Our *locations.*",tagline:"Visit us in person \u2014 find your nearest studio below.",galleryKicker:"Gallery",galleryHint:"Hover to see in colour \xB7 click to jump",apiKey:"",mapId:"",mapTheme:"auto"},$a=[{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
24
24
|
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""},{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
25
25
|
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""}];function So(e){let t=String(e??"").split(" \xB7 ");return{state:(t[0]??"").trim(),country:(t[1]??"").trim()}}var x8="other",v0={routingNumber:"02 \xB7 Routing",routingTagline:"What can we help you with?",groups:[{id:"fitment",eyebrow:"A \xB7 Label",title:"Group one",copy:"Short description of this routing group.",response:"< 48h"},{id:"trade",eyebrow:"B \xB7 Label",title:"Group two",copy:"Short description of this routing group.",response:"< 24h"},{id:"press",eyebrow:"C \xB7 Label",title:"Group three",copy:"Short description of this routing group.",response:"< 48h"},{id:"order",eyebrow:"D \xB7 Label",title:"Group four",copy:"Short description of this routing group.",response:"< 24h"}],formNumber:"03 \xB7 Message",formHeading:"Send *a note.*",metaLines:["Encrypted in transit","Stored 12 months"],showOther:!0,otherLabel:"Other",otherNoteTitle:"No matching team",otherNoteBody:"Tell us what you need in the message field below \u2014 we'll route it to whoever can help.",buttonText:"Send Message \u2192",consent:"By submitting, you agree to our privacy policy. We never share contact details with third parties.",channels:[{label:"Team one",value:"team-one@email.com",href:"mailto:team-one@email.com",sub:"Detail \xB7 Detail",groupId:"fitment"},{label:"Team two",value:"team-two@email.com",href:"mailto:team-two@email.com",sub:"Detail \xB7 Detail",groupId:"trade"},{label:"Team three",value:"team-three@email.com",href:"mailto:team-three@email.com",sub:"Detail \xB7 Detail",groupId:"press"},{label:"Team four",value:"team-four@email.com",href:"mailto:team-four@email.com",sub:"Detail \xB7 Detail",groupId:"order"},{label:"Phone",value:"+1 (000) 000-0000",href:"tel:+10000000000",sub:"Mon\u2013Fri \xB7 9:00\u201318:00"}]};function Rp(e){return nl(e)}function aj(e){let t=[];return e.forEach((a,s)=>{let c=j6(a),l=t.find(r=>r.key===c);l||(l={key:c,name:String(a?.groupName??""),indices:[]},t.push(l)),l.indices.push(s)}),t}function Zp({children:e}){return L1("div",{style:{fontSize:11,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:"var(--fg-dim, #999)",margin:"14px 0 6px"},children:e})}var rL={width:"100%",height:32,textAlign:"left",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"0 12px",fontSize:12,border:"1px solid var(--border-strong, #d0d0d0)",borderRadius:6,background:"transparent",color:"inherit",cursor:"inherit"},sj={padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer"},oL={...sj,color:"#d85a30"};function o6({label:e,value:t,placeholder:a,textarea:s,icon:c,onChange:l,onBlur:r,onKeyDown:o}){let i=jU();return L1(lL,{label:e,icon:c??L1(Op,{}),htmlFor:i,children:s?L1("textarea",{id:i,value:t,placeholder:a,onChange:n=>l(n.target.value)}):L1("input",{id:i,type:"text",value:t,placeholder:a,onChange:n=>l(n.target.value),onBlur:r,onKeyDown:o})})}var cj=[{label:"Auto",value:"auto"},{label:"Dark",value:"dark"},{label:"Light",value:"light"}],lj=[{label:"Tall (3:4)",value:"tall"},{label:"Square",value:"square"},{label:"Wide (2:1)",value:"wide"}];function aL({label:e,icon:t,options:a,value:s,onChange:c}){return L1(lL,{label:e,icon:t,children:L1("div",{role:"group","aria-label":e,style:{display:"flex",gap:4,flex:1},children:a.map(l=>{let r=s===l.value;return L1("button",{type:"button","aria-pressed":r,onClick:()=>c(l.value),style:{flex:1,padding:"6px 8px",fontSize:12,borderRadius:6,cursor:"pointer",border:`1px solid ${r?"var(--sf-accent, #2563eb)":"var(--border-strong, #d0d0d0)"}`,background:r?"var(--sf-accent, #2563eb)":"transparent",color:r?"#fff":"inherit",fontWeight:r?500:400},children:l.label},l.value)})})})}function sL({props:e,setSection:t,headOnly:a}){let s=r=>String(e[r]??""),c=e.mapTheme||l2.mapTheme,l=l2;return H4(Dp,{children:[!a&&L1(Zp,{children:"Section"}),L1(o6,{label:"Section number",value:s("sectionNumber"),placeholder:l.sectionNumber,onChange:r=>t({sectionNumber:r})}),L1(o6,{label:"Heading",textarea:!0,value:s("heading"),placeholder:l.heading,onChange:r=>t({heading:r})}),L1(o6,{label:"Body",textarea:!0,value:s("tagline"),placeholder:l.tagline,onChange:r=>t({tagline:r})}),a?null:H4(Dp,{children:[L1(Zp,{children:"City strip"}),L1(o6,{label:"Eyebrow",value:s("galleryKicker"),placeholder:l.galleryKicker,onChange:r=>t({galleryKicker:r})}),L1(o6,{label:"Hint",value:s("galleryHint"),placeholder:l.galleryHint,onChange:r=>t({galleryHint:r})}),L1(aL,{label:"Shape",icon:L1(tj,{}),options:lj,value:Mo(e.imageShape),onChange:r=>t({imageShape:r})}),L1(Zp,{children:"Map & Theme"}),L1(aL,{label:"Map theme",icon:L1(YU,{}),options:cj,value:c,onChange:r=>t({mapTheme:r})})]})]})}function rj({cards:e,groupKey:t,onChange:a,onBack:s,onOpenCity:c,onNavigate:l}){let r=e.map((u,g)=>j6(u)===t?g:-1).filter(u=>u>=0),o=String(e[r[0]]?.groupName??""),i=new Set(e.map(j6).filter(u=>u!==t)),[n,h]=KU(t),m=u=>a(e.map(g=>j6(g)===t?{...g,...u}:g)),p=()=>{let u=n;if(u!==t){if(i.has(u)){h(t);return}a(e.map(g=>j6(g)===t?{...g,group:u}:g)),l(u)}};return H4("div",{className:"sf-locations-view",children:[L1(Ya,{inline:!0,name:"Section",onSelect:s}),L1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:Kl(t,o)}),L1(o6,{label:"Group heading",value:n,placeholder:"e.g. Americas",onChange:h,onBlur:p,onKeyDown:u=>{u.key==="Enter"&&u.currentTarget.blur()}}),i.has(n)&&n!==t&&L1("p",{className:"sf-note sf-note--error",role:"alert",children:"Another group already uses this heading \u2014 pick a different one."}),L1(o6,{label:"Group name",value:o,placeholder:"Shown beside the heading",onChange:u=>m({groupName:u})}),L1(cL,{label:"Cities in this group",noun:"city",items:r.map(u=>e[u]),onChange:u=>a(jy(e,t,u)),newItem:()=>({...Uh,group:t,groupName:o}),open:null,onOpen:()=>{},renderItem:()=>null,removeOnRow:!1,canDuplicate:()=>!1,renderRow:(u,g)=>H4("button",{type:"button",style:rL,onClick:()=>c(r[g]),children:[L1("span",{children:u?.name||"City"}),L1("span",{"aria-hidden":"true",children:"\u203A"})]})}),L1("div",{style:{marginTop:12},children:H4("button",{type:"button",style:oL,onClick:()=>{a(e.filter(u=>j6(u)!==t)),s()},children:["Delete group (",r.length," ",r.length===1?"city":"cities",")"]})})]})}function iL({value:e,onChange:t}){let a=Array.isArray(e)?e:[],s=Uy(),c=py(),l=aj(a),{appState:r,selectedItem:o}=$U(d=>d),i=mx(),n=o?.props??{},h=d=>{if(!o)return;let f=(r.data.content??[]).findIndex(v=>v.props.id===o.props.id);f<0||i.replaceComponent(Jb,f,{type:o.type,props:{...o.props,...d}})},m=(d,f)=>t(a.map((v,x)=>x===d?{...v,...f}:v)),p=()=>{let d=new Set(l.map(x=>x.key)),f=l.length+1,v=`Group ${f}`;for(;d.has(v);)v=`Group ${++f}`;return v};if(s.level==="texts")return H4("div",{className:"sf-locations-view",children:[L1(Ya,{inline:!0,name:"Locations",onSelect:()=>Z4({level:"groups"})}),L1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:"Texts"}),L1(sL,{props:n,setSection:h,headOnly:!0})]});if(s.level==="image"){let d=a[s.index];return d?H4("div",{className:"sf-locations-view",children:[L1(Ya,{inline:!0,name:String(d.name??"")||"City",onSelect:()=>Z4({level:"city",index:s.index})}),L1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:"Image"}),L1(fx,{value:d.photo||"",onChange:f=>m(s.index,{photo:f}),label:"Image",accept:"image/*"})]}):u()}if(s.level==="map"){let d=a[s.index];return d?H4("div",{className:"sf-locations-view",children:[L1(Ya,{inline:!0,name:String(d.name??"")||"City",onSelect:()=>Z4({level:"city",index:s.index})}),L1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:"Map"}),L1(Tl,{value:d.geocode,onChange:f=>m(s.index,{geocode:f}),label:"Coordinates"}),L1(o6,{label:"Directions link",icon:L1(JU,{}),value:String(d.mapsUrl??""),onChange:f=>m(s.index,{mapsUrl:f})})]}):u()}if(s.level==="city"){let d=s.index,f=a[d];if(!f)return u();let v=j6(f),x=(C,M)=>m(d,{[C]:M}),z=(C,M,A,V=!1)=>L1(o6,{label:M,icon:A,textarea:V,value:String(f[C]??""),onChange:E=>x(C,E)});return H4("div",{className:"sf-locations-view",children:[L1(Ya,{inline:!0,name:Kl(v,String(f.groupName??"")),onSelect:()=>Z4({level:"group",key:v})}),L1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:f.name||"City"}),z("name","Location name",L1(Op,{})),z("state","State / Province",L1(Op,{})),z("country","Country",L1(XU,{})),z("address","Address",L1(QU,{}),!0),z("phone","Phone",L1(ej,{})),z("hours","Opening hours",L1(tL,{})),z("timezone","Timezone chip",L1(tL,{})),L1("div",{style:{marginTop:12},children:L1("button",{type:"button",style:oL,onClick:()=>{t(a.filter((C,M)=>M!==d)),Z4({level:"group",key:v})},children:"Delete city"})})]})}if(s.level==="group")return l.some(d=>d.key===s.key)?L1(rj,{cards:a,groupKey:s.key,onChange:t,onBack:()=>Z4({level:"groups"}),onOpenCity:d=>Z4({level:"city",index:d}),onNavigate:d=>Z4({level:"group",key:d})},s.key):u();function u(){return H4("div",{className:"sf-locations-view",children:[L1(sL,{props:n,setSection:h}),!c&&L1(Dp,{children:g()})]})}function g(){return L1(cL,{label:"Locations",noun:"group",items:l,onChange:d=>{let f=d.find(v=>!l.some(x=>x.key===v.key));t(Ky(a,d.map(v=>v.key),v=>[{...Uh,group:v,groupName:""}])),f&&Z4({level:"group",key:f.key})},newItem:()=>({key:p(),name:"",indices:[]}),open:null,onOpen:()=>{},renderItem:()=>null,removeOnRow:!1,canDuplicate:()=>!1,above:l.length===0?L1("div",{style:{fontSize:12,color:"var(--fg-dim, #999)",padding:"4px 0"},children:"No locations yet."}):void 0,renderRow:d=>H4("button",{type:"button",style:rL,onClick:()=>Z4({level:"group",key:d.key}),children:[L1("span",{style:{fontWeight:500},children:Kl(d.key,d.name)}),H4("span",{style:{color:"var(--fg-dim, #999)"},children:[d.indices.length," ",d.indices.length===1?"city":"cities"," \u203A"]})]})})}return u()}var oj="/geocode.json";async function nL(e){let t=e.trim();if(!t)return null;if(!Sb())throw new Error("geocode_unavailable");let a=await fetch(`${$y()}${oj}?q=${encodeURIComponent(t)}`,{headers:{Accept:"application/json"}});if(!a.ok)throw new Error(`geocode_http_${a.status}`);let s=await a.json();if(!s||typeof s!="object")return null;let{lat:c,lng:l,label:r}=s,o=Number(c),i=Number(l);return!Number.isFinite(o)||!Number.isFinite(i)?null:{lat:o,lng:i,label:String(r??"")}}var Lo=e=>typeof e=="number"&&Number.isFinite(e);function Ao(e){return e.some(t=>{let a=t?.geocode;return a?a.pending||a.manual&&a.lat===void 0&&a.lng===void 0?!0:Lo(a.lat)&&a.lat!==t.lat||Lo(a.lng)&&a.lng!==t.lng:!1})}async function Ho(e,t,{geocode:a=nL,courtesyGapMs:s=1100}={}){let c=r=>new Promise(o=>setTimeout(o,r)),l=e.slice();if(e.some(r=>r?.geocode?.pending)){let r=[],o=!1;for(let i of e){if(!i?.geocode?.pending){r.push(i);continue}o&&s>0&&await c(s),o=!0;try{let n=await a(t(i));r.push(n?{...i,lat:n.lat,lng:n.lng,geocode:{...i.geocode,pending:!1,ok:!0,status:`Found \u2014 ${n.label.split(",").slice(0,3).join(",").trim()}`,lat:n.lat,lng:n.lng}}:{...i,geocode:{...i.geocode,pending:!1,ok:!1,status:"No match \u2014 check the address and try again."}})}catch{r.push({...i,geocode:{...i.geocode,pending:!1,ok:!1,status:"Lookup busy \u2014 try again in a moment."}})}}l=r}return l.map(r=>{let o=r?.geocode;if(!o)return r;if(o.manual&&o.lat===void 0&&o.lng===void 0)return{...r,geocode:{...o,lat:r.lat,lng:r.lng}};let i=Lo(o.lat)&&o.lat!==r.lat?o.lat:r.lat,n=Lo(o.lng)&&o.lng!==r.lng?o.lng:r.lng;return i!==r.lat||n!==r.lng?{...r,lat:i,lng:n}:r})}var hL={fields:{locations:{type:"custom",render:({value:e,onChange:t})=>ij(iL,{value:e,onChange:t})}},resolveData:async e=>{let t=e.props,a=t.locations??[];if(!Ao(a))return e;let s=await Ho(a,c=>{let l=So(c.region);return[String(c.address??"").replace(/\s*\n+\s*/g,", "),c.name,String(c.state??"").trim()||l.state,String(c.country??"").trim()||l.country].map(r=>String(r??"").trim()).filter(Boolean).join(", ")});return{...e,props:{...t,locations:s}}}};var mL={fields:{html:{type:"textarea",label:"HTML"}}};import{jsx as uj}from"react/jsx-runtime";import{StylesIcon as dj}from"efficient-easel/icons";var y8="line",Gp=[{label:"Line",value:"line"},{label:"Stripes \xB7 fine",value:"stripes-fine"},{label:"Stripes \xB7 medium",value:"stripes-medium"},{label:"Stripes \xB7 bold",value:"stripes-bold"}],nj={"stripes-fine":{ink:4,period:12},"stripes-medium":{ink:8,period:18},"stripes-bold":{ink:14,period:28}},pL=28,hj="-45deg",mj="color-mix(in oklab, var(--accent) 50%, var(--bg))";function pj(e){return e!=="line"}function uL(e){return _2(Gp,y8,e)}function dL(e){if(!pj(e))return null;let{ink:t,period:a}=nj[e];return`repeating-linear-gradient(${hj}, ${mj} 0 ${t}px, transparent ${t}px ${a}px)`}var gL={fields:{style:v1("Style",uj(dj,{}),Gp,y8),spacing:{type:"select",options:[{label:"Small",value:"sm"},{label:"Medium",value:"md"},{label:"Large",value:"lg"}]}}};import{jsx as zj}from"react/jsx-runtime";import{jsx as i6,jsxs as Xa}from"react/jsx-runtime";function gj(e,t){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||`section-${t+1}`}function vj(e){let t=[];for(let a of e.replace(/\r\n?/g,`
|
|
@@ -150,4 +150,4 @@ ${s}`:t.push({type:"p",text:s})});return t}var fj=[{label:"First section",headin
|
|
|
150
150
|
}
|
|
151
151
|
`;function IB(){let{settings:e,selected:t,select:a,websiteName:s,templateChrome:c,templateName:l,chromePlaceholder:r,themeSwitchShown:o}=N3(),i=c?l?.trim()||"Template":s?.trim()||Nl,n=c||r;return z71("div",{className:"sf-preview-header-pick sf-theme-surfaces","data-selected":t||void 0,onClick:h=>{h.stopPropagation(),a()},children:[_B("style",{children:b71}),_B(Uv,{previewSettings:e??void 0,editorPreview:!0,showThemeToggle:o,wordmark:i,hideLogo:n,hideMenu:n})]})}import{Render as M71}from"efficient-easel/render";import{jsx as w71}from"react/jsx-runtime";var x71=["none","always","on_scroll_up"],y71=e=>x71.includes(e)?e:"always";function jv({sticky:e,topTextColor:t,children:a}){let s=y71(e),{headerRef:c,scrolled:l,navHidden:r}=Pn({stickyMode:s,heightPx:Gl.default}),o=Nn(t),i=o==="auto"?null:{[Vn]:o};return w71("header",{ref:c,"data-scrolled":l||void 0,"data-box-header":"",...i,className:["sf-site-header","flex flex-col justify-center",s==="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:ql,...r?{transform:"translateY(-100%)"}:null,...l?{background:"var(--bg)",color:"var(--fg)","--sf-header-ground":"var(--bg)"}:{color:"var(--sf-header-overlay-fg)","--sf-header-ground":"var(--sf-header-overlay-ground)"}},children:a})}var C71={"Logos.logosPerRow":"columns","HeroSlide.tintOpacity":"overlay","Split.textBgTint":"overlay"};function k71(e){return Array.isArray(e)&&e.length>0&&e.every(t=>!!t&&typeof t=="object"&&typeof t.type=="string")}function Kv(e){let t=e.props,a=!1;if(e.type&&t)for(let[s,c]of Object.entries(C71)){let l=s.indexOf("."),r=s.slice(0,l),o=s.slice(l+1);if(r!==e.type||!(o in t))continue;let i=t[o],n={...t};delete n[o],(!(c in n)||n[c]===void 0)&&(n[c]=i),t=n,a=!0}if(t){let s=t;for(let[c,l]of Object.entries(t)){if(!k71(l))continue;let r=l.map(Kv);r.some((o,i)=>o!==l[i])&&(s===t&&(s={...t}),s[c]=r,a=!0)}t=s}return a?{...e,props:t}:e}function BB(e){let t=e;if(!t||typeof t!="object")return e;let a=!1,s={...e};if(Array.isArray(t.content)){let c=t.content.map(Kv);c.some((l,r)=>l!==t.content[r])&&(s.content=c,a=!0)}if(t.zones&&typeof t.zones=="object"){let c=!1,l=Object.fromEntries(Object.entries(t.zones).map(([r,o])=>{if(!Array.isArray(o))return[r,o];let i=o.map(Kv);return i.some((n,h)=>n!==o[h])&&(c=!0),[r,i]}));c&&(s.zones=l,a=!0)}return a?s:e}import{Fragment as A71,jsx as $v}from"react/jsx-runtime";var S71=null,L71=()=>S71??={...Yv,root:{...Yv.root,render:({children:e})=>$v(A71,{children:e})}};function Xv({group:e}){let t=BB({root:{props:{}},content:[e],zones:{}}),a=e.props??{};return $v(jv,{sticky:a.sticky,topTextColor:a.topTextColor,children:$v(M71,{config:L71(),data:t})})}import{jsx as RB}from"react/jsx-runtime";function Jv({editing:e=!1}){let{headerGroup:t}=ly();return e?t?RB(Xv,{group:t}):RB(IB,{}):null}import{jsx as H71}from"react/jsx-runtime";var ZB={label:"Header",render:({puck:e})=>H71(Jv,{editing:e?.isEditing})};import{useEffect as s81,useState as pR}from"react";var DB="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 lf,useRef as K71,useState as hR}from"react";import{jsx as Qv,jsxs as OB}from"react/jsx-runtime";var F71="Please enter a valid email address.";function wc({email:e,onEmailChange:t,status:a,onResetVerdict:s,onSubmit:c,submitLabel:l,errorMessage:r,inputAriaLabel:o,buttonClassName:i,className:n,placeholder:h="you@example.com"}){return OB("form",{className:[n,"flex flex-col gap-2"].filter(Boolean).join(" "),noValidate:!0,onSubmit:m=>{m.preventDefault(),c()},children:[OB("div",{className:"flex items-stretch gap-2",children:[Qv("input",{type:"email",value:e,onChange:m=>{t(m.target.value),(a==="invalid"||a==="error")&&s()},placeholder:h,"aria-label":o,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"}),Qv("button",{type:"submit",disabled:a==="sending",className:i,children:a==="sending"?"Sending\u2026":l})]}),(a==="error"||a==="invalid")&&Qv("p",{role:"alert",className:"font-mono text-[11px] uppercase tracking-[0.18em]",style:{color:"var(--alert)"},children:a==="invalid"?F71:r})]})}import{jsx as j5,jsxs as Gt}from"react/jsx-runtime";function Cc({vehicle:e,escape:t,override:a,verdict:s,showChangeCar:c,cascadeErrorNote:l,askNote:r}){let o=e.appliedName!=="";return Gt("div",{className:"pb-2",children:[Gt("div",{className:"mb-3 flex items-center justify-between gap-4 font-mono text-[13px] font-semibold uppercase tracking-[0.2em] text-fg",children:[j5("span",{children:"Vehicle Fitment"}),t]}),a?j5("div",{className:"flex flex-col gap-3",children:a}):o?Gt("div",{className:"flex flex-col gap-3",children:[s,c&&j5("div",{children:j5("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"})})]}):Gt("div",{className:"flex flex-col gap-3",children:[j5($3,{cascade:e.cascade,compact:!0}),e.cascade.cascadeError&&j5("p",{className:"font-mono text-[12px] leading-relaxed tracking-[0.1em] text-fg-dim",children:l}),j5("span",{className:"font-mono text-[12px] tracking-[0.1em] text-fg-dim",children:r})]})]})}function ef({vehicle:e}){return e.appliedName?Gt("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:[Gt("span",{children:["Showing fitment for your"," ",j5("strong",{className:"font-semibold text-fg",children:e.appliedName})]}),j5("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 r5({tone:e,children:t}){return j5("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 T71,useState as GB}from"react";function In(e,t){let[a,s]=GB(null),[c,l]=GB(!1),r=t?.make??"",o=t?.model??"",i=t?.year??null,n=t?.modification??"",h=t!==null;return T71(()=>{if(!h||i===null){s(null),l(!1);return}let m=!0;return s(null),l(!0),LM(e,{make:r,model:o,year:i,modification:n}).then(p=>{if(!m)return;let u=p.vehicle;u.make!==r||u.model!==o||u.year!==i||u.modification!==n||(s(p),l(!1))}),()=>{m=!1}},[e,r,o,i,n,h]),{answer:a,loading:c}}function Bn(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 Rn={fits:"Fits",doesNotFit:"Not your size",unknown:"Unknown"};function P71(e,t,a){if(!e)return"unknown";let s=t.filter(l=>l.size===a);if(s.length===0)return"unknown";let c=s.map(l=>Fa(e,l.sku));return c.includes("fits")?"fits":c.every(l=>l==="doesNotFit")?"doesNotFit":"unknown"}var tf={fits:{color:"var(--accent)",dashed:!1},doesNotFit:{color:void 0,dashed:!1},unknown:{color:void 0,dashed:!0}};function qB(e,t){if(!e)return[];let a=[];for(let n of t)a.includes(n.size)||a.push(n.size);let s=a.filter(n=>P71(e,t,n)==="fits"),c=n=>{let h=o4(n);return h?O4(h):null},l=new Map;for(let n of s){let h=c(n);h!==null&&!l.has(h)&&l.set(h,n)}let r=[],o=new Set,i=new Set;for(let n of e.oemSizes){let h=c(n),m=h===null?void 0:l.get(h),p=m??n;o.has(p)||(o.add(p),h!==null&&i.add(h),r.push({size:p,made:m!==void 0}))}for(let n of s){let h=c(n);h!==null&&i.has(h)||o.has(n)||(o.add(n),r.push({size:n,made:!0}))}return r}import{Fragment as WB,jsx as I4,jsxs as _4}from"react/jsx-runtime";function af({slug:e,variants:t,vehicle:a,manualMode:s,setManualMode:c}){let{answer:l,loading:r}=In(e,s?null:Jr(a.applied?.vehicle)),o=a.appliedName;return I4(Cc,{vehicle:a,escape:I4("button",{type:"button",className:"cursor-pointer text-right text-accent hover:underline",onClick:()=>c(i=>!i),children:s?"\u2190 Find by vehicle":"Select by specs instead \u2192"}),override:s?_4(r5,{tone:"quiet",children:[I4("strong",{className:"font-semibold text-fg",children:"You are choosing by size."}),_4("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."," ",I4(S1,{href:"/contact",className:"text-accent hover:underline",children:"Ask us if you are unsure \u2192"})]})]}):null,verdict:I4(E71,{answer:l,loading:r,car:o,variants:t,onChange:a.clear}),showChangeCar:!1,cascadeErrorNote:_4(WB,{children:["Vehicle data is unavailable right now. Pick your size above, or"," ",I4(S1,{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 E71({answer:e,loading:t,car:a,variants:s,onChange:c}){if(t||!e)return _4(r5,{tone:"quiet",children:[I4("strong",{className:"font-semibold text-fg",children:"Checking your car\u2026"})," ",_4("span",{children:["Reading the factory tyre sizes for your ",a,"."]})]});let l=qB(e,s),r=e.status==="doesNotFit"?"You can still order any size here \u2014 check it suits your car first.":"",o=l.length===0?Bn(e):"",i=o&&r?`${o} ${r}`:o||r;return _4(r5,{tone:e.status==="fits"?"good":"quiet",children:[_4("span",{className:"block",children:[e.status==="fits"?_4("strong",{className:"font-semibold text-accent",children:["\u2713 Made in a size your ",a," takes"]}):e.status==="doesNotFit"?_4("strong",{className:"font-semibold text-fg",children:["Not made in a size your ",a," takes"]}):_4("strong",{className:"font-semibold text-fg",children:["We cannot check this tyre against your ",a]}),_4("span",{className:"whitespace-nowrap",children:[" \xB7 ",I4("button",{type:"button",onClick:c,"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?I4("span",{className:"mt-1.5 block",children:i}):null,l.length>0?_4(WB,{children:[I4("span",{className:"mt-1.5 block",children:"Your car takes:"}),I4("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:l.map(n=>{let h=n.made?tf.fits:tf.doesNotFit;return I4("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 ${Rn.fits}`:n.size},n.size)})})]}):null]})}import{useEffect as UB,useState as jB}from"react";var Zn="(max-width: 720px) 88vw, (max-width: 1100px) 44vw, 700px";function KB(e,t,a){return a<=1?0:((e+t)%a+a)%a}function $B(e,t,a){return[{glyph:"\u25C1",label:"Previous angle",onClick:()=>a(KB(e,-1,t))},{glyph:"\u27F3",label:"Reset to first angle",onClick:()=>a(0)},{glyph:"\u25B7",label:"Next angle",onClick:()=>a(KB(e,1,t))}]}function V71(e){let{props:t}=Vb({src:e,alt:"",fill:!0,sizes:Zn}),a=new window.Image;return t.sizes&&(a.sizes=t.sizes),t.srcSet&&(a.srcset=t.srcSet),a.src=t.src,a.decode()}function YB(e,t,a=V71){let[s,c]=jB(()=>new Set),[l,r]=jB(t),o=e.join(`
|
|
152
152
|
`);UB(()=>{let n=!0,h=m=>{n&&c(p=>p.has(m)?p:new Set(p).add(m))};for(let m of o?o.split(`
|
|
153
|
-
`):[])a(m).then(()=>h(m),()=>h(m));return()=>{n=!1}},[o]);let i=t===void 0||s.has(t)||l===void 0;return UB(()=>{i&&l!==t&&r(t)},[i,l,t]),i?t:l}import{Fragment as _71,jsx as b3,jsxs as Y3}from"react/jsx-runtime";function sf({selection:e,spec:t,vehicle:a,wheel:s}){let{manualMode:c,setManualMode:l}=e,r=Ui(e.rows,e.preOrder),o=a.appliedName!=="",i=(s?.variants??[]).some(pd),n=f_({wheel:s,applied:o,fit:a.fit,resolving:a.resolving});return b3(Cc,{vehicle:a,escape:b3("button",{type:"button",className:"cursor-pointer text-right text-accent hover:underline",onClick:()=>l(h=>!h),children:c?"\u2190 Find by vehicle":"Select by specs instead \u2192"}),override:c?Y3(r5,{tone:"quiet",children:[b3("strong",{className:"font-semibold text-fg",children:"You are choosing by the numbers."}),Y3("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.`:r?"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."," ",b3(S1,{href:"/fitment",className:"text-accent hover:underline",children:"Talk to an engineer \u2192"})]})]}):null,verdict:b3(N71,{verdict:n,car:a.appliedName}),showChangeCar:n.state!=="fits"&&n.state!=="checking",cascadeErrorNote:Y3(_71,{children:["Vehicle data is unavailable right now. Pick your wheel by its specs instead, or"," ",b3(S1,{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 N71({verdict:e,car:t}){switch(e.state){case"checking":return Y3(r5,{tone:"quiet",children:[b3("strong",{className:"font-semibold text-fg",children:"Checking fitment\u2026"})," ",Y3("span",{children:["Reading the factory wheel specs for your ",t,"."]})]});case"fits":return Y3(r5,{tone:"good",children:[Y3("strong",{className:"font-semibold text-accent",children:["\u2713 Fits your ",t]}),b3("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:e.checks.map(a=>b3("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 Y3(r5,{tone:"good",children:[Y3("strong",{className:"font-semibold text-accent",children:["\u2713 Fits your ",t]}),b3("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:e.checks.map(a=>b3("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))}),Y3("span",{className:"mt-2 block border-l-2 border-alert pl-2.5",children:[b3("strong",{className:"font-semibold text-fg",children:"Check the offset. "}),X8(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."," ",b3(S1,{href:"/contact",className:"text-accent hover:underline",children:"Ask us if you are unsure \u2192"})]})]});case"no-fit":return Y3(r5,{tone:"bad",children:[Y3("strong",{className:"font-semibold",style:{color:"var(--alert)"},children:["\u2717 Does not fit your ",t]}),b3("span",{className:"mt-1.5 block",children:X8(e.failure)})]});case"unknown":return Y3(r5,{tone:"quiet",children:[b3("strong",{className:"font-semibold text-fg",children:e.missing==="vehicle"?`We cannot check this wheel against your ${t}`:"We cannot check this wheel"}),Y3("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."," ",b3(S1,{href:"/contact",className:"text-accent hover:underline",children:"Ask us before you order \u2192"})]})]});default:return null}}import{useState as eR}from"react";import{useCallback as JB,useRef as I71,useState as B71}from"react";function XB(e,t,a){return{productSlug:e,email:a.trim(),size:t?u8(t):""}}function QB(){let[e,t]=B71("idle"),a=I71(!1),s=JB(()=>{a.current=!1,t("idle")},[]),c=JB(async({productSlug:l,size:r,email:o,dryRun:i=!1})=>{if(!a.current){if(!ce(o)){t("invalid");return}a.current=!0,t("sending");try{i||await g0.createPreOrderIntent(XB(l,r,o))}catch{a.current=!1,t("error");return}a.current=!1,t("sent")}},[]);return{status:e,submit:c,reset:s}}import{jsx as qt,jsxs as Wt}from"react/jsx-runtime";function cf({wheel:e,editing:t=!1}){let a=e.sizePairs??[],[s,c]=eR(a.length>0?0:-1),[l,r]=eR(""),{status:o,submit:i,reset:n}=QB(),h=s>=0?a[s]??null:null;function m(){i({productSlug:e.slug,size:h,email:l,dryRun:t})}return Wt("div",{className:"flex flex-col gap-5 border-t border-line pt-[18px]",children:[Wt("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:[qt("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&&Wt("div",{children:[Wt("div",{className:"mb-3.5 font-mono text-[13px] font-semibold uppercase tracking-[0.22em] text-fg",children:["Size \xB7"," ",qt("span",{className:"text-accent",children:h?u8(h):"Select a size"})]}),qt("div",{className:"flex flex-wrap gap-1.5",children:a.map((p,u)=>{let g=u===s;return Wt("button",{type:"button",onClick:()=>{c(u),o==="sent"&&n()},className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",g?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:g?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[g&&qt("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),qt("span",{className:"block text-[14px] tracking-[0.18em]",children:u8(p)})]},u8(p))})})]}),o==="sent"?Wt("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,"."]}):qt(wc,{email:l,onEmailChange:r,status:o,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 R71}from"react";import{Fragment as Z71,jsx as Dn}from"react/jsx-runtime";function On({src:e,alt:t,fallback:a,fill:s=!1,width:c,height:l,sizes:r,className:o,style:i,priority:n,draggable:h,imageKey:m,imageWrapperClassName:p,onImageClick:u,imageButtonClassName:g,imageButtonLabel:d}){let[f,v]=R71(null),x=e||"";if(!(x!==""&&f!==x))return Dn(Z71,{children:a});let C=Dn(V3,{src:x,alt:t,...s?{fill:!0}:{width:c??1e3,height:l??1e3},sizes:r,className:o,style:i,priority:n,draggable:h,onError:()=>v(x)},m??x),M=p?Dn("div",{className:p,children:C}):C;return u?Dn("button",{type:"button",onClick:u,"aria-label":d,className:g,children:M}):M}function tR(e){let t=e.angles??(e.src?[e.src]:[]),a=[],s=[];for(let c of t)(c.split("/").pop()??"").includes("20-20")?a.push(c):s.push(c);return[...s,...a]}import{Fragment as aR,jsx as B4,jsxs as O71}from"react/jsx-runtime";function Gn(e,t){return e.captions[t]?.trim()||`Photo ${t+1}`}function qn({text:e}){return e==="FusionForge\xAE"?O71(aR,{children:["FusionForge",B4(t6,{})]}):B4(aR,{children:e})}function sR(e,t,a){if(e.kind==="tyre"){let h=e.source,m=t.shown.size??h.sizes[0]??"",p=h.variants.find(d=>d.size===m),u=p?.specs.tireType??h.variants[0]?.specs.tireType??null,g=[p?.image,h.coverImage].filter(d=>!!d);return{heading:yi(h.brand,h.name),photos:g.slice(0,1),tint:void 0,stageImage:()=>B4(l6,{image:p?.image??h.coverImage,size:m,type:u,sizes:Zn,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:B4(af,{slug:h.slug,variants:h.variants,vehicle:t.vehicle,manualMode:t.manualMode,setManualMode:t.setManualMode}),vehicleMemory:t.manualMode?null:B4(ef,{vehicle:t.vehicle}),vehicleAnswersSpecs:!1,preOrder:null}}let s=e.source,c=KE(s,t.shown.finish),l=F7(s,t.part),r=Yi(t),o=zd(c,r),i=o?[...o]:tR(c),n=i.length>0?i:s.coverImage?[s.coverImage]:[];return{heading:e.name,photos:n,tint:c.color,stageImage:({photo:h,alt:m,label:p,onZoom:u,fit:g})=>B4(On,{src:h,alt:m,fill:!0,sizes:Zn,className:g==="cover"?"object-cover":"object-contain",priority:!0,onImageClick:u,imageButtonClassName:"relative block h-[88%] w-[88%] cursor-zoom-in",imageButtonLabel:p,fallback:B4(m8,{spokes:s.spokes,mesh:s.mesh,className:"block h-[70%] w-[70%]"})}),thumbImage:({photo:h,alt:m})=>B4(On,{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:B4(m8,{spokes:s.spokes,mesh:s.mesh,className:"block h-[55%] w-[55%]"})}),captions:n.map(h=>c.captions?.[h]),thumbFallbackCells:4,galleryHint:D71(n,c,r,t.manualMode),metaValue:c.name,specCaption:l?Es(l):"",originCaption:s.process==="FusionForge\xAE"?"FusionForge\xAE \xB7 Hybrid":`${s.process} \xB7 1-piece`,unitLabel:"per wheel",vehicle:B4(sf,{selection:t,spec:l?Es(l):"",vehicle:t.vehicle,wheel:s}),vehicleMemory:t.manualMode?null:B4(ef,{vehicle:t.vehicle}),vehicleAnswersSpecs:!0,preOrder:B4(cf,{wheel:s,editing:a})}}function D71(e,t,a,s){return e.length>=2||a!=null||!Object.values(t.lugRenderings??{}).some(l=>Array.isArray(l)&&l.filter(Boolean).length>=2)?"":s?"Pick a bolt pattern to see every angle":"Pick your vehicle to see every angle"}import{createContext as G71,useContext as q71,useEffect as W71,useState as cR}from"react";import{jsx as j71}from"react/jsx-runtime";var lR="storefront-wishlist";function U71(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var rR=G71(null);function m30({children:e}){let[t,a]=cR([]),[s,c]=cR(!1);W71(()=>{let o=J2.getItem(lR);try{o&&a(U71(o))}catch{}c(!0)},[]);function l(o){let i=t.includes(o)?t.filter(n=>n!==o):[...t,o];a(i),J2.setItem(lR,JSON.stringify(i))}let r={slugs:t,ready:s,has:o=>t.includes(o),toggle:l,count:t.length};return j71(rR.Provider,{value:r,children:e})}function oR(){let e=q71(rR);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}var iR="data-option-row";import{Fragment as o5,jsx as x1,jsxs as K1}from"react/jsx-runtime";var $71=4e3;function Y71(e){return e?[e.year,e.make,e.model,e.modification].join("-"):""}function Ut({product:e,selection:t,onLightbox:a,editing:s=!1,pricePlacement:c="top",showVehicleFitment:l=!0,heroLayout:r=O7,imageRatio:o=G7,textAlign:i=a9,showSpecTable:n=!0,showPriceQuote:h=!0,galleryMode:m=q7,imageFit:p=W7}){let u=Et(r),g=vn(i),d=fn(o),f=bn(m),v=zI(zn(p),BE(e)),x=u==="imageRight"?`${100-d}fr ${d}fr`:`${d}fr ${100-d}fr`,{picked:z,pick:C,qty:M,setQty:A,choice:V,setChoice:E,angleIdx:O,setAngleIdx:F,showValidation:T,setShowValidation:N,manualMode:B,vehicle:P,rows:D,facts:c1,part:Z,outOfStock:q,offer:K,preOrder:W,canAddToCart:r1,currency:z1,price:$,set:e1,msrpLabel:d1}=t,U=sR(e,t,s),{bullets:p1}=aS(),f1=FE(e),H0=EE(e),F0=l?U.vehicle:null,A1=l?U.vehicleMemory:null,[a0,s0]=hR(!1);lf(()=>{let X=()=>{s0(document.documentElement.getAttribute("data-theme")==="light")};X();let C1=new MutationObserver(X);return C1.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>C1.disconnect()},[]);let{add:$1,open:y2,warmCatalog:e0}=r4();lf(()=>{s||e0(e.kind)},[s,e.kind,e0]);let S2=D.filter(X=>!W||X.values.length>0),d0=S2.filter(X=>X.role==="resolves"),m1=S2.filter(X=>X.role==="describes"&&!RE(H0,X.key)),U1=m1.findIndex(X=>X.chosen===null),i0=(!F0||!U.vehicleAnswersSpecs||t.fitmentSet)&&Ui(D,W)?U1===-1?m1:m1.slice(0,U1+1):[],T0=[...d0,...i0],y0=K1("div",{className:"flex items-baseline gap-5 border-t border-line pt-[18px]",children:[d1&&x1("div",{className:"font-mono text-[length:var(--size-label,15px)] text-fg-dim line-through",children:d1}),x1("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?vw($,z1):se($,z1)}),$.priced&&x1("div",{className:"font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:U.unitLabel}),$.setTotal!=null&&K1("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:[K.quantityLabel,": ",B2(e1,z1)]})]}),r2=K71(null);return lf(()=>{s||r2.current===e.slug||(r2.current=e.slug,fw({itemId:Z?`${e.slug}|${Z.id}`:e.slug,itemName:e.name,variant:U.metaValue,pricePerSet:$.setTotal??$.fromSetTotal??0,currency:z1}))},[s,e.slug,e.name,U.metaValue,Z,$,z1]),K1(o5,{children:[x1("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:a0?void 0:{background:"var(--section-bg)"},children:e.crumbs.map((X,C1)=>K1("span",{children:[C1>0&&K1(o5,{children:[x1("span",{className:"mx-3 text-accent",children:"/"}),x1("wbr",{})]}),X.href?x1(S1,{href:X.href,className:"hover:text-fg",children:x1(qn,{text:X.label})}):x1("span",{className:"text-fg",children:x1(qn,{text:X.label})})]},`${X.label}-${C1}`))}),K1("section",{"data-hero-layout":u,"data-hero-align":g,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:{...a0?{}:{background:"var(--section-bg)"},...u==="stacked"?{}:{"--hero-cols":x}},children:[K1("div",{"data-hero-gallery":f,"data-hero-fit":v,className:f==="tiled"?"flex items-start gap-3 max-[720px]:gap-2":void 0,style:u==="imageRight"?{order:2}:void 0,children:[K1("div",{className:f==="tiled"?"min-w-0 flex-1":void 0,children:[x1(Q71,{name:e.name,view:U,angleIdx:O,onSelect:F,isLight:a0,onLightbox:a,fit:v}),U.galleryHint&&x1("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:U.galleryHint})]}),f!=="main"&&x1(e81,{name:e.name,view:U,angleIdx:O,onSelect:F,isLight:a0,tiled:f==="tiled"})]}),K1("div",{className:["flex flex-col gap-7",g==="center"?"items-center text-center":""].filter(Boolean).join(" "),style:u==="imageRight"?{order:1}:void 0,children:[K1("div",{children:[K1("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:[x1("span",{children:x1(qn,{text:e.eyebrow})}),e.badge&&K1(o5,{children:[x1("span",{children:"\xB7"}),x1("span",{children:e.badge})]})]}),x1("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)] [text-transform:var(--sf-heading-case,uppercase)] leading-[0.92] tracking-[-0.035em]",children:(()=>{let X=U.heading.lastIndexOf(" ");if(X===-1)return U.heading;let C1=U.heading.slice(0,X),n0=U.heading.slice(X+1);return K1(o5,{children:[C1," ",K1("em",{className:"font-normal italic text-accent",children:[n0,"."]})]})})()})]}),c!=="belowSpecs"&&h&&y0,A1,d0.map(X=>x1(nR,{row:X,onPick:C},X.key)),W&&U.preOrder?K1(o5,{children:[c==="belowSpecs"&&h&&y0,U.preOrder]}):K1(o5,{children:[F0,i0.map(X=>x1(nR,{row:X,onPick:C},X.key)),n&&x1(X71,{facts:c1}),(K.packs.length>0||K.extra||K.spareCounts.length>0)&&K1("div",{className:"border-b border-line pb-[26px]",children:[K.packs.length>0&&K1(o5,{children:[x1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:"How many"}),x1("div",{className:"flex flex-wrap gap-1.5",children:K.packs.map(X=>K1("button",{type:"button",onClick:()=>E(C1=>({...C1,unit:X.value})),"aria-pressed":V.unit===X.value,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",V.unit===X.value?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:V.unit===X.value?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[V.unit===X.value&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),x1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:X.label})]},X.value))})]}),K.extra&&K1("label",{className:`${K.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:[x1("input",{type:"checkbox",checked:V.spares>0,onChange:X=>E(C1=>({...C1,spares:X.target.checked?Jl:0})),className:"h-4 w-4 cursor-pointer accent-[var(--accent)]"}),K.extra.label]}),K.spareCounts.length>0&&K1(o5,{children:[x1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:O8.howMany}),x1("div",{className:"flex flex-col gap-1.5 sm:flex-row sm:flex-wrap",children:K.spareCounts.map(X=>{let C1=X.value-X6,n0=V.spares===C1;return K1("button",{type:"button",onClick:()=>E(V0=>({...V0,spares:C1})),"aria-pressed":n0,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",n0?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:n0?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[n0&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),K1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:[X.value," \xB7 ",X.label]})]},X.value)})})]}),K.spareSide&&K1(o5,{children:[x1("div",{className:"mb-3.5 mt-[26px] font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:K.spareSide.label}),x1("div",{className:"flex flex-wrap gap-1.5",children:K.spareSide.options.map(X=>{let C1=V.spareSide===X.value;return K1("button",{type:"button",onClick:()=>E(n0=>({...n0,spareSide:X.value})),"aria-pressed":C1,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",C1?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:C1?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[C1&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),x1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:X.label})]},X.value)})})]})]}),c==="belowSpecs"&&h&&y0,K1("div",{className:DB,children:[!(f1&&!$.priced)&&x1(Pa,{value:M,onChange:A,size:"large"}),f1&&!$.priced?x1(S1,{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:er}):$.priced?q?x1("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"}):K1("button",{type:"button",[Q9]:"",onClick:()=>{if(!r1){N(!0),window.setTimeout(()=>N(!1),$71);return}if(N(!1),s)return;let X=JE(e,Z,z,{choice:V,qty:M},{fitmentLabel:B?U.specCaption:P.appliedName?`For ${P.appliedName}`:"",fitmentKey:B?`manual|${U.specCaption}`:`vehicle|${Y71(P.applied?.vehicle)}`});X&&($1(X),y2())},"aria-disabled":!r1,className:["flex-1 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] transition-colors",r1?"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:r1?void 0:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:["Add to Cart",$.setTotal!=null?` \xB7 ${B2(e1,z1)}`:""]}):x1("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:J6}),x1(t81,{slug:e.slug,name:e.name})]}),q&&Z&&x1(a81,{partNumbers:Z.components.map(X=>X.partNumber),productSlug:e.slug},Z.id),T&&(()=>{let X=T0.filter(n0=>n0.chosen===null).map(n0=>n0.prompt.replace(/^Select\s+/i,""));if(F0&&U.vehicleAnswersSpecs&&!t.fitmentSet&&X.push("vehicle fitment"),X.length===0)return null;let C1=X.length===1?X[0]:X.length===2?`${X[0]} and ${X[1]}`:`${X.slice(0,-1).join(", ")}, and ${X.at(-1)}`;return K1("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 ",C1," first."]})})()]}),p1.length>0&&x1("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:p1.map((X,C1)=>K1("li",{children:[x1("strong",{className:"font-bold text-accent",children:X.label}),X.detail?` ${_a} ${X.detail}`:""]},`${X.label}-${C1}`))})]})]})]})}function X71({facts:e}){return e.length===0?null:K1("div",{className:"border-b border-line pb-[26px]",children:[x1("dl",{className:"flex flex-col gap-2",children:e.map(t=>K1("div",{className:"flex flex-wrap items-baseline gap-x-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.22em]",children:[K1("dt",{className:"text-fg-dim",children:[t.label," \xB7"]}),x1("dd",{className:"font-semibold text-fg",children:t.value.label})]},t.key))}),x1("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 nR({row:e,onPick:t}){if(e.values.length===0&&!e.empty)return null;let a=e.values.find(c=>c.value===e.chosen),s=a&&[a.label,a.note].filter(Boolean).join(" \xB7 ");return K1("div",{className:"border-b border-line pb-[26px]",[iR]:e.key,children:[K1("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 ",x1("span",{className:"text-accent",children:s??e.prompt})]}),e.values.length===0?K1("p",{className:"font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:[e.empty.text," ",x1(S1,{href:e.empty.href,className:"text-accent hover:underline",children:e.empty.linkText})]}):e.display==="swatch"?x1("div",{className:"grid grid-cols-2 gap-2",children:e.values.map(c=>{let l=c.value===e.chosen;return K1("button",{type:"button",onClick:()=>t(e.key,c.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&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),x1("span",{className:"block h-5 w-5 shrink-0 rounded-full border border-fg-dim",style:{background:c.swatch}}),x1("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:c.label})]},c.value)})}):x1("div",{className:"flex flex-wrap gap-1.5",children:e.values.map(c=>{let l=c.value===e.chosen;return K1("button",{type:"button",onClick:()=>t(e.key,c.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&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),x1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:c.label}),c.note&&x1("span",{className:"mt-1 block text-[length:var(--size-label,11px)] tracking-[0.12em] text-fg-dim",children:c.note})]},c.value)})})]})}function mR(e){return e.photos.length>0?e.photos.length:e.thumbFallbackCells}var J71=6;function Q71({name:e,view:t,angleIdx:a,onSelect:s,isLight:c,onLightbox:l,fit:r}){let o=t.photos[Math.min(a,t.photos.length-1)],i=YB(t.photos,o),n=mR(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]?Gn(t,p):"",g=[e,t.metaValue,u].filter(Boolean).join(" \u2014 "),d="max-[720px]:static",f=["relative flex aspect-square items-center justify-center overflow-hidden max-[720px]:col-span-2",c?"bg-bg":""].join(" ");return K1("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:[K1("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 ${d} max-[720px]:min-w-0 max-[720px]:flex-wrap max-[720px]:gap-x-2 max-[720px]:gap-y-1`,children:[h&&K1(o5,{children:[K1("span",{className:"text-accent",children:[String(a+1).padStart(2,"0")," / ",m]}),x1("span",{className:"text-fg-dim",children:"\xB7"})]}),x1("span",{children:e}),t.metaValue&&K1(o5,{children:[x1("span",{className:"text-fg-dim",children:"\xB7"}),x1("span",{className:"text-accent",children:t.metaValue})]})]}),h&&x1("div",{className:`absolute right-5 top-5 z-10 flex gap-1 ${d}`,children:$B(a,n,s).map(x=>x1("button",{type:"button","aria-label":x.label,title:x.label,onClick:x.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:x.glyph},x.label))}),K1("div",{className:f,children:[["top-3 left-3","top-3 right-3","bottom-3 left-3","bottom-3 right-3"].map((x,z)=>x1("span",{className:`absolute ${x} h-3 w-3 border border-fg-dim/40`,style:{borderTop:x.includes("top")?"1px solid var(--site-line)":"none",borderBottom:x.includes("bottom")?"1px solid var(--site-line)":"none",borderLeft:x.includes("left")?"1px solid var(--site-line)":"none",borderRight:x.includes("right")?"1px solid var(--site-line)":"none"}},z)),t.stageImage({photo:i,alt:g,label:`Open ${[e,t.metaValue].filter(Boolean).join(" ")} at full resolution`,onZoom:()=>l(i,g),fit:r})]}),K1("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 ${d} max-[720px]:col-span-2 max-[720px]:flex-wrap`,children:[x1("span",{children:t.specCaption}),x1("span",{children:t.originCaption})]})]})}function e81({name:e,view:t,angleIdx:a,onSelect:s,isLight:c,tiled:l=!1}){let r=mR(t);return r<2?null:x1("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&&r>4?{gridTemplateColumns:`repeat(${Math.min(r,J71)}, minmax(0, 1fr))`}:void 0,children:Array.from({length:r}).map((o,i)=>{let n=t.photos[i];return K1("button",{type:"button",onClick:()=>s(i),"aria-label":`View ${Gn(t,i)}`,className:["relative flex aspect-square items-center justify-center overflow-hidden transition-colors",c?"bg-bg":"",i===a?"border border-accent":"border border-transparent hover:border-fg-dim"].join(" "),style:{color:t.tint},children:[x1("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 ${Gn(t,i)}`})]},i)})})}function t81({slug:e,name:t}){let{has:a,toggle:s}=oR(),c=a(e);return x1("button",{type:"button",title:c?"Saved":"Save","aria-label":c?`Remove ${t} from wishlist`:`Save ${t} to wishlist`,"aria-pressed":c,onClick:()=>s(e),className:["h-12 w-12 cursor-pointer border-2 bg-transparent transition-colors",c?"border-accent text-accent":"border-fg-dim/50 text-fg hover:border-accent hover:text-accent"].join(" "),children:c?"\u2665":"\u2661"})}function a81({partNumbers:e,productSlug:t}){let[a,s]=hR(""),{status:c,submit:l,reset:r}=Mi();function o(){l({partNumbers:e,email:a,productSlug:t})}return c==="sent"?x1("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."}):x1(wc,{className:"-mt-1",email:a,onEmailChange:s,status:c,onResetVerdict:r,onSubmit:o,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 l81,jsx as kc,jsxs as r81}from"react/jsx-runtime";function rf({slug:e,kind:t="wheel",editing:a=!1,pricePlacement:s,showVehicleFitment:c=!0,...l}){let[r,o]=pR(null),[i,n]=pR(!1);return s81(()=>{let h=!1;return o(null),n(!1),(t==="tyre"?g0.getTyre(e).then(p=>({kind:"tyre",tyre:p})):g0.getWheel(e).then(p=>({kind:"wheel",wheel:p}))).then(p=>{h||o(p)}).catch(()=>{h||n(!0)}),()=>{h=!0}},[e,t]),i?kc(M4,{size:"tall",children:"Couldn\u2019t load this product."}):r?kc(c81,{record:r,editing:a,pricePlacement:s,showVehicleFitment:c,...l}):kc(M4,{size:"tall",children:"Loading product\u2026"})}function c81({record:e,editing:t=!1,pricePlacement:a,showVehicleFitment:s=!0,...c}){let l=e.kind==="tyre"?Xi(e.tyre):Vs(e.wheel),r=ac(l,{editing:t}),o=tc();return r81(l81,{children:[kc(Ut,{product:l,selection:r,onLightbox:o.open,editing:t,pricePlacement:a,showVehicleFitment:s,...c}),kc(Ct,{item:o.item,onClose:o.close})]})}import{Fragment as h81,jsx as K7,jsxs as m81}from"react/jsx-runtime";var o81=R3;function Wn({editing:e=!1,pricePlacement:t,showVehicleFitment:a=!0,...s}){let c=$0();return K7(b2,{kinds:o81,type:"ProductHero",editing:e,children:c?K7(Ut,{product:c.product,selection:c.selection,onLightbox:c.openLightbox,editing:e,pricePlacement:t,showVehicleFitment:a,...s}):e?K7(i81,{pricePlacement:t,showVehicleFitment:a,...s}):K7(M4,{size:"tall",children:"Bound to the current product \u2014 preview on a product page."})})}function i81({pricePlacement:e,showVehicleFitment:t,...a}){let s=d3(!0);return s?K7(n81,{product:s,pricePlacement:e,showVehicleFitment:t,...a}):K7(M4,{size:"tall",children:"Loading sample product\u2026"})}function n81({product:e,pricePlacement:t,showVehicleFitment:a,...s}){let c=ac(e,{editing:!0}),l=tc();return m81(h81,{children:[K7(Ut,{product:e,selection:c,onLightbox:l.open,editing:!0,pricePlacement:t,showVehicleFitment:a,...s}),K7(Ct,{item:l.item,onClose:l.close})]})}import{jsx as Mc}from"react/jsx-runtime";function p81({source:e,editing:t=!1,pricePlacement:a=Pt,showVehicleFitment:s=!0,heroLayout:c=O7,imageRatio:l=G7,textAlign:r=a9,showSpecTable:o=!0,showPriceQuote:i=!0,galleryMode:n=q7,imageFit:h=W7}){let m={heroLayout:c,imageRatio:l,textAlign:r,showSpecTable:o,showPriceQuote:i,galleryMode:n,imageFit:h};return $0()||t&&Z2()?Mc(Wn,{editing:t,pricePlacement:a,showVehicleFitment:s,...m}):e?.slug?Mc(rf,{slug:e.slug,kind:e.kind??"wheel",editing:t,pricePlacement:a,showVehicleFitment:s,...m}):t?Mc(M4,{size:"tall",children:"Pick a product in the panel to fill this hero."}):Mc(Wn,{pricePlacement:a,showVehicleFitment:s,...m})}var uR={label:"Product Hero",defaultProps:{source:null,pricePlacement:Pt,showVehicleFitment:!0,heroLayout:O7,imageRatio:G7,textAlign:a9,showSpecTable:!0,showPriceQuote:!0,galleryMode:q7,imageFit:W7},render:e=>Mc(p81,{source:e.source,editing:e.puck?.isEditing,pricePlacement:fI(e.pricePlacement),showVehicleFitment:e.showVehicleFitment??!0,heroLayout:Et(e.heroLayout),imageRatio:fn(e.imageRatio),textAlign:vn(e.textAlign),showSpecTable:e.showSpecTable??!0,showPriceQuote:e.showPriceQuote??!0,galleryMode:bn(e.galleryMode),imageFit:zn(e.imageFit)})};import{jsx as u81}from"react/jsx-runtime";var dR={label:"Product",defaultProps:{code:"",finish:""},render:e=>u81(Qg,{code:e.code||void 0,finish:e.finish||void 0,wheel:e.wheel})};import{jsx as d81}from"react/jsx-runtime";var gR={label:"Search",defaultProps:{style:"icon"},render:({style:e,puck:t})=>d81(lB,{style:e,editing:t?.isEditing})};import{useEffect as v81,useRef as f81}from"react";import{jsx as Sc,jsxs as vR}from"react/jsx-runtime";var g81={fits:{className:"font-medium",style:{color:"var(--green)"}},doesNotFit:{className:"text-fg-dim"},unknown:{className:"text-fg-dim"}};function of({variants:e,answer:t,loading:a=!1}){return t?vR("div",{className:"mt-9",children:[Sc("p",{className:"max-w-[68ch] font-serif text-[length:var(--size-body,18px)] italic leading-[1.55] text-fg-dim",children:Bn(t)}),Sc("ul",{className:"mt-6 grid gap-[2px] border border-line bg-line",children:e.map(s=>{let c=Fa(t,s.sku),l=g81[c];return vR("li",{className:"flex items-baseline justify-between gap-6 bg-bg px-[18px] py-4",children:[Sc("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.14em] text-fg",children:s.size}),Sc("span",{className:`font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] ${l.className}`,style:l.style,children:Rn[c]})]},s.sku)})})]}):a?Sc("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 nf,jsxs as fR}from"react/jsx-runtime";var hf="Will it fit *your car?*",mf="Pick your vehicle and we\u2019ll tell you which of these sizes matches what it came on.",pf="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";function df({num:e,title:t=hf,description:a=mf,escapeText:s,escapeHref:c,omitHead:l=!1,slug:r,variants:o,onAnswer:i}){let n=N4({autoApply:!0}),{answer:h,loading:m}=In(r,Jr(n.applied?.vehicle)),p=f81(i);return p.current=i,v81(()=>{p.current?.(h)},[h]),fR("section",{className:l?uf:pf,children:[l?null:nf(Q1,{num:e,title:t,description:a,accent:!0}),nf($3,{cascade:n.cascade}),s&&c?fR("a",{href:c,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:[s," \u2192"]}):null,nf(of,{variants:o,answer:h,loading:m})]})}import{jsx as Lc,jsxs as x81}from"react/jsx-runtime";var b81=["tyre"];function gf(e){return Lc(b2,{kinds:b81,type:"TyreFitment",editing:e.editing,children:Lc(z81,{...e})})}function z81({num:e,title:t,description:a,escapeText:s,escapeHref:c,omitHead:l=!1,editing:r=!1}){let o=$0(),i=d3(r&&!o),n=o?.product??i,h=n?.kind==="tyre"?n.source:null;return!h||h.variants.length===0?r?x81("section",{className:l?uf:pf,children:[l?null:Lc(Q1,{num:e,title:t||hf,description:a||mf,accent:!0}),Lc("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:Lc(df,{num:e,title:t||void 0,description:a||void 0,escapeText:s,escapeHref:c,omitHead:l,slug:h.slug,variants:h.variants})}import{jsx as y81}from"react/jsx-runtime";var bR={label:"Tyre Fitment Form",defaultProps:{num:"",title:"",description:"",escapeText:"",escapeHref:""},render:e=>{let t=D1(e.headPlacement)==="own-box",a=l=>t?void 0:l,s=t1(e.escapeText),c=t1(e.escapeHref);return y81(gf,{num:a(y(e.num,U0.num,e.puck)),title:a(y(e.title,L.sectionHeading,e.puck)),description:a(y(e.description,L.body,e.puck)),escapeText:s,escapeHref:c,omitHead:t,editing:e.puck?.isEditing})}};import{jsx as $7,jsxs as yR}from"react/jsx-runtime";var zR="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",xR="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",w81=[],C81=["tyre"];function vf(e){return $7(b2,{kinds:C81,type:"TyreSizes",editing:e.editing,children:$7(k81,{...e})})}function k81({num:e,title:t,description:a,editing:s=!1,omitHead:c=!1}){let l=$0(),r=d3(s&&!l),o=l?.product??r,i=o?.kind==="tyre"?o.source.variants:[],n=c?null:$7(Q1,{num:e?k(e):void 0,title:Y(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 s?yR("section",{className:c?xR:zR,children:[n,$7("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 yR("section",{className:c?xR:zR,children:[n,$7(M81,{variants:i,fieldUsage:l?.fieldUsage??w81}),$7(Q4,{text:h?Yr:""})]})}function M81({variants:e,fieldUsage:t}){let{currency:a,formatPrice:s}=p0();return $7("div",{className:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:e.map(c=>$7(Qs,{fieldUsage:t,size:c.size,specs:c.specs,prices:c.prices,image:c.image,inStock:c.inStock,currency:a,formatPrice:s},c.sku))})}import{jsx as S81}from"react/jsx-runtime";var wR={label:"Tyre Sizes",defaultProps:{num:"",title:"",description:""},render:e=>{let t=D1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return S81(vf,{num:a(y(e.num,U0.num,e.puck)),title:a(y(e.title,L.sectionHeading,e.puck)),description:a(y(e.description,L.body,e.puck)),omitHead:t,editing:e.puck?.isEditing})}};var CR={AlloyWheelsListing:_V,BrandStrip:YI,BundleOffer:tB,CartBlock:iB,CatalogFilterBar:yB,CheckoutCTA:aN,CollectionCard:CB,Collections:iN,CompatibleTyres:RN,CountrySwitchBlock:kB,DeliveryOptions:GN,DetailRows:s_,EuTyreLabel:MB,FitmentFinder:h_,FitmentTable:F_,Gallery:B_,GalleryB:j_,GalleryItem:SB,Header:ZB,ProductGrid:hI,ProductHero:uR,ProductRef:dR,RelatedProducts:SI,SearchBlock:gR,SpecTable:OI,TyreFitment:bR,TyreSizes:wR};var L81={AlloyWheelsListing:RV,BrandStrip:qV,BundleOffer:WV,CartBlock:UV,CatalogFilterBar:eN,CheckoutCTA:sN,CollectionCard:rN,Collections:hN,CompatibleTyres:ZN,CountrySwitchBlock:DN,DeliveryOptions:WN,DetailRows:l_,EuTyreLabel:r_,FitmentFinder:m_,FitmentTable:T_,Gallery:D_,GalleryB:K_,GalleryItem:eI,Header:tI,ProductGrid:pI,ProductHero:xI,ProductRef:MI,RelatedProducts:LI,SearchBlock:AI,SpecTable:qI,TyreFitment:WI,TyreSizes:UI},q0=Re(CR,L81);import{jsx as f4,jsxs as Un}from"react/jsx-runtime";function bf(e={}){let t=Yy();return f4(CS,{editing:e.editing,previewConfirmation:!!e.nodeId&&t===e.nodeId,children:f4(A81,{...e})})}var kR="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]",ff="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function A81({eyebrow:e,heading:t,intro:a,buttonLabel:s,successMessage:c,boxes:l,inBoxes:r=!1}){let{fieldPrefix:o,editing:i,services:n,currency:h,serviceId:m,setServiceId:p,requiresPayment:u,date:g,earliestDate:d,setDate:f,setDateTouched:v,availability:x,loadingSlots:z,noSlotsMessage:C,selectedStart:M,setSelectedStart:A,customerTimezone:V,name:E,setName:O,email:F,setEmail:T,phone:N,setPhone:B,notes:P,setNotes:D,confirmation:c1,submitting:Z,error:q,canSubmit:K,handleSubmit:W,sample:r1}=p7(),z1=r1?f4("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,$=n===void 0?f4("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments\u2026"}):n?.length===0?f4("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 r&&l?f4("section",{className:"relative z-[2] border-t border-line bg-surface",children:Un("div",{className:kR,children:[z1,c1?f4(l,{className:`${ff} items-start`}):Un("form",{onSubmit:W,children:[f4(l,{className:`${ff} items-start`}),$]})]})}):f4("section",{className:"relative z-[2] border-t border-line bg-surface",children:Un("div",{className:kR,children:[z1,f4(go,{eyebrow:e,heading:t,intro:a}),c1?f4(bo,{successMessage:c}):$||Un("form",{onSubmit:W,className:ff,children:[f4(vo,{}),f4(fo,{buttonLabel:s})]})]})})}import{jsx as H81}from"react/jsx-runtime";var zf={boxes:{type:"slot",allow:["BookingBox"]}},MR={label:"Booking Form",fields:zf,defaultProps:{eyebrow:"",heading:"",intro:"",buttonLabel:"",successMessage:""},render:e=>H81(bf,{eyebrow:y(e.eyebrow,L.eyebrow,e.puck),heading:y(e.heading,L.heading,e.puck),intro:y(e.intro,L.body,e.puck),buttonLabel:y(e.buttonLabel,L.button,e.puck),successMessage:y(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 SR={fields:{_gContent:b("Content"),eyebrow:G("Eyebrow"),heading:E1("Heading"),intro:E1("Introduction"),buttonLabel:G("Submit button"),successMessage:E1("Confirmation message"),boxes:zf.boxes},resolveFields:(e,{fields:t})=>{if(e.props.layout!=="boxes")return t;let{eyebrow:a,heading:s,intro:c,buttonLabel:l,successMessage:r,...o}=t;return o}};var LR={fields:{_gTextStyle:b("Text style"),...Object.fromEntries(zo.map(e=>[xo[e],v1(Hp[e],Ve(Hp[e]),[{label:"Section's own",value:""},...m5.map(t=>({label:z9[t],value:t}))],"")])),_gContent:b("Content"),eyebrow:G("Eyebrow"),heading:E1("Heading"),intro:E1("Introduction"),buttonLabel:G("Submit button"),successMessage:E1("Confirmation message")},resolveFields:(e,{fields:t})=>{let a=e.props.region,s=t,c=zo.map(r=>xo[r]),l=r=>Object.fromEntries(Object.entries(s).filter(([o])=>o.startsWith("_")||c.includes(o)||r.includes(o)));return l(a==="head"?["eyebrow","heading","intro"]:a==="details"?["buttonLabel"]:a==="confirm"?["successMessage"]:[])}};import{EyeIcon as F81,LinkIcon as AR,EyeOffIcon as T81}from"efficient-easel/icons";import{jsx as Ac}from"react/jsx-runtime";var HR={fields:{_gTop:b("Routing groups"),routingNumber:H("Section number",v0.routingNumber),routingTagline:H("Eyebrow",v0.routingTagline),groups:{type:"array",label:"Groups",arrayFields:{eyebrow:G("Eyebrow"),title:E1("Title"),copy:E1("Body"),response:G("Response time")},getItemSummary:e=>e?.title||e?.eyebrow||"Group"},_gForm:b("Message form"),formSlug:L5(),formNumber:H("Section number",v0.formNumber),formHeading:R("Heading",v0.formHeading),metaItems:H2("Meta lines",Ac(a4,{noun:"meta"}),"Encrypted in transit","verbatim"),_gOther:b("\u201COther\u201D reason"),showOther:l1("Show \u201COther\u201D reason",v0.showOther,Ac(F81,{})),otherLabel:G("\u201COther\u201D chip label",v0.otherLabel),otherNoteTitle:H("\u201COther\u201D note title",v0.otherNoteTitle),otherNoteBody:R("\u201COther\u201D note body",v0.otherNoteBody),_gSubmit:b("Submit button"),buttonText:G("Submit button",v0.buttonText),consent:R("Consent line",v0.consent),_gChannels:b("Contact info"),channels:{type:"array",label:"Channels",arrayFields:{label:G("Label"),value:G("Value"),href:X2(G("Link")),sub:G("Sub line"),groupId:v1("Link to group",Ac(AR,{}),[{label:"\u2014 Not linked \u2014",value:""},...v0.groups.map(e=>({label:e.title,value:e.id}))],""),hidden:l1("Hidden",!1,Ac(T81,{}))},getItemSummary:e=>`${e?.label||e?.value||"Channel"}${e?.hidden?" \xB7 hidden":""}`}},resolveData:e=>{let t=e.props.groups??[];if(!t.some(c=>!c?.id))return e;let a=new Set,s=t.map((c,l)=>{if(c?.id)return a.add(c.id),c;let r=Rp(c?.title)||`group-${l+1}`;for(;a.has(r);)r=`${r}-${l+1}`;return a.add(r),{...c,id:r}});return{...e,props:{...e.props,groups:s}}},resolveFields:(e,{fields:t})=>{let a=e.props.groups??[],s=[{label:"\u2014 Not linked \u2014",value:""},...a.map((r,o)=>({label:r?.title||r?.eyebrow||`Group ${o+1}`,value:r?.id||Rp(r?.title)||`group-${o+1}`}))],c=t,l=c.channels;return l?.type==="array"&&l.arrayFields&&(c.channels={...l,arrayFields:{...l.arrayFields,groupId:v1("Link to group",Ac(AR,{}),s,"")}}),t}};import{useEffect as P81,useRef as E81,useState as V81}from"react";import{Fragment as R81,jsx as xf,jsxs as Z81}from"react/jsx-runtime";var N81=12,jn=null,FR=null;function _81(e=!1){let t=o2();if((e||FR!==t)&&(jn=null),!jn){let a=_3();FR=t,jn=X1.listBlogPosts(a,{visibleOnly:!0,siteId:t}).catch(()=>null)}return jn}function I81(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 B81(e){return{slug:e.slug,title:e.title,excerpt:e.excerpt,cover:e.cover_image?v9(e.cover_image)??"":"",meta:e.category||void 0,dateLabel:I81(e.published_at)||void 0}}function l9({value:e,onChange:t,snapshotCount:a=N81}){let[s,c]=V81("idle"),l=Array.isArray(e),r=l?e.length:0,o=E81(!0),i=h=>{c("loading"),_81(h).then(m=>{if(!o.current)return;if(m===null){c("error");return}c("idle");let p=m.slice(0,a).map(B81);n6(p,e??null)&&t(p)})};P81(()=>(o.current=!0,i(!1),()=>{o.current=!1}),[]);let n=s==="loading"?"Syncing from Storefront \u2192 Blog\u2026":s==="error"?"Couldn\u2019t reach Storefront \u2192 Blog.":l?`Auto-synced from Storefront \u2192 Blog \xB7 ${r} post${r===1?"":"s"}`:"Linking to Storefront \u2192 Blog\u2026";return Z81("div",{children:[xf(I9,{label:"Blog posts"}),xf(T4,{status:s,statusText:n,onRefresh:()=>i(!0),busy:s==="loading",spaced:!1,hint:xf(R81,{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 jt,jsxs as ER}from"react/jsx-runtime";var TR=3,VR="featured",NR=[{label:"Even grid",value:"even"},{label:"Featured first",value:VR}],_R="even",E6={min:2,max:11,step:1,fallback:7,unit:"of 12"},D81="bottom-left",O81=55,G81="bottom";function q81(e){let t=typeof e=="number"?e:Number.parseFloat(String(e??"")),a=Number.isFinite(t)?Math.min(E6.max,Math.max(E6.min,Math.round(t))):E6.fallback;return`${a}fr ${12-a}fr`}var PR={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"},W81="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]",U81="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 yf({num:e,title:t,link:a,posts:s,columns:c,limit:l,showAll:r=!1,editing:o=!1,cardImage:i,gap:n,layout:h,featuredWidth:m,listCover:p=!0,featuredDarken:u,omitHead:g=!1}){let d=s??[],f=r?d.length:typeof l=="number"&&l>0?l:TR,v=d.slice(0,f),x=o&&v.length===0;if(v.length===0&&!o)return null;let z=x?Array.from({length:r?TR:f},(V,E)=>({slug:`placeholder-${E}`,title:"Blog post title",excerpt:"A short summary of the post appears here.",cover:"",meta:"Journal",dateLabel:"Date"})):v,C=I3("Events",n,"both"),M=h===VR&&z.length>1,A=q81(m);return ER("section",{className:g?U81:W81,style:$2(i),children:[g?null:jt(Q1,{num:e!==void 0?k(e):void 0,title:t!==void 0?Y(t,!1):void 0,link:a?{text:k(a.text),href:a.href}:void 0}),M?ER("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":A},children:[jt(Xe,{post:z[0],scaffold:x,layout:"cover",darken:u??O81,darkenStyle:G81,placement:D81},`${z[0].slug}-0`),jt("div",{className:`grid auto-rows-min${C.className}`,style:C.style,children:z.slice(1).map((V,E)=>jt(Xe,{post:V,scaffold:x,showCover:p},`${V.slug}-${E+1}`))})]}):jt("div",{className:`sf-card-grid grid${C.className} ${PR[Math.min(4,Math.max(1,c??3))]??PR[3]}`,style:C.style,children:z.map((V,E)=>jt(Xe,{post:V,scaffold:x},`${V.slug}-${E}`))})]})}import{LayoutIcon as K81,ColumnsIcon as $81,WidthIcon as Y81,ImageIcon as X81,OpacityIcon as J81,ListIcon as Q81,HashIcon as e91}from"efficient-easel/icons";import{jsx as j81}from"react/jsx-runtime";var r9={num:L.sectionNumber,title:"Section title",link:L.viewAll},IR={label:"Latest Posts",defaultProps:{num:"",title:"",linkText:"",linkHref:"/journal",columns:3,limit:3,showAll:!1},render:e=>{let t=D1(e.headPlacement)==="own-box",a=c=>t?void 0:c,s=y(e.linkText,r9.link,e.puck);return j81(yf,{num:a(y(e.num,r9.num,e.puck)),title:a(y(e.title,r9.title,e.puck)),link:a(s?{text:s,href:t1(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 o9}from"react/jsx-runtime";var t91=50,BR={fields:{_gContent:b("Content"),num:H("Number",r9.num),title:R("Heading",r9.title),linkText:H("Button",r9.link),linkHref:H1("Link"),_gPosts:b("Blog posts"),posts:t2(l9,{snapshotCount:t91}),_gLayout:b("Layout"),layout:v1("Arrangement",o9(K81,{}),NR,_R),columns:a1("Columns",o9($81,{}),2,4,1,3),featuredWidth:a1("Featured width",o9(Y81,{}),E6.min,E6.max,E6.step,E6.fallback,E6.unit),listCover:l1("Show cover image on the smaller cards",!0,o9(X81,{})),featuredDarken:a1("Darken",o9(J81,{}),P2.min,P2.max,P2.step,55,P2.unit),gap:B3("Events"),showAll:l1("Show all blog posts",!1,o9(Q81,{})),limit:a1("Posts to display",o9(e91,{}),1,20,1,3),cardImage:U6()},resolveFields:(e,{fields:t,parent:a})=>{let s=e.props,c={...t},l=r=>O1(q1(r,a,W1),e.props.headPlacement,R1.Events.headRows);if(s.showAll&&delete c.limit,s.layout==="featured")delete c.columns;else for(let r of["featuredWidth","listCover","featuredDarken"])delete c[r];return l(c)}};import{jsx as Kn}from"react/jsx-runtime";import{SettingsDefaultReset as a91,SettingsField as s91,SettingsSegmented as c91}from"efficient-easel/panel";import{WidthIcon as l91}from"efficient-easel/icons";function $n({value:e,resolved:t,onChange:a,label:s="Width",labelId:c,followsLabel:l,hint:r}){let o=e===void 0,i=o?t:e;return Kn(s91,{label:s,labelId:c,icon:Kn(l91,{}),value:o?l:void 0,changed:!o,action:Kn(a91,{label:s,changed:!o,onReset:()=>a(void 0)}),hint:r,children:Kn(c91,{options:[{label:Mh.page,id:"content"},{label:Mh.full,id:"full"}],value:i,ariaLabel:s,onChange:a})})}import{SettingsField as r91,SettingsSwitch as o91}from"efficient-easel/panel";import{BlockColumnIcon as i91}from"efficient-easel/icons";import{Fragment as n91,jsx as Yn,jsxs as h91}from"react/jsx-runtime";function wf({value:e,onChange:t}){let a=z5(),s={...T9,...e},c=s[a];return Yn(r91,{label:"Logo fills its column",icon:Yn(i91,{}),action:Yn(o91,{checked:c,onChange:l=>t({...s,[a]:l}),ariaLabel:`Logo fills its column on ${d5[a]}`}),hint:h91(n91,{children:["Sets the ",Yn("strong",{children:d5[a]})," view \u2014 switch views in the top bar to set each one."]})})}import{SettingsField as m91,SettingsSwitch as p91}from"efficient-easel/panel";import{FullWidthIcon as u91}from"efficient-easel/icons";import{Fragment as d91,jsx as Xn,jsxs as g91}from"react/jsx-runtime";function Cf({value:e,onChange:t}){let a=z5(),s={...P9,...e},c=s[a];return Xn(m91,{label:"Logo fills its row",icon:Xn(u91,{}),action:Xn(p91,{checked:c,onChange:l=>t({...s,[a]:l}),ariaLabel:`Logo fills its row on ${d5[a]}`}),hint:g91(d91,{children:["Sets the ",Xn("strong",{children:d5[a]})," view \u2014 switch views in the top bar to set each one."]})})}import{jsx as v91}from"react/jsx-runtime";function kf({value:e,onChange:t}){return v91(Ms,{label:"Columns per line",unit:"columns",steps:kx,value:zl(e),onChange:t})}import{useContext as f91,useEffect as b91,useRef as z91,useState as ZR}from"react";import{jsx as Kt,jsxs as RR}from"react/jsx-runtime";function Hc(){let e=cB();return RR("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:[Kt("span",{children:e}),RR("span",{className:"flex flex-wrap items-center gap-3",children:[Kt("span",{children:"Privacy"}),Kt("span",{"aria-hidden":!0,children:"\xB7"}),Kt("span",{children:"Terms"}),Kt("span",{"aria-hidden":!0,children:"\xB7"}),Kt("span",{children:"Cookies"})]})]})}import{jsx as Mf,jsxs as w91}from"react/jsx-runtime";var DR={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},x91={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"},y91={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 Sf({blocks:e,editing:t=!1,width:a,columns:s,logoFill:c,logoRowFill:l}){let r=f91(ra),{desktop:o,tablet:i,mobile:n}=zl(s),{desktop:h,tablet:m,mobile:p}={...T9,...c},{desktop:u,tablet:g,mobile:d}={...P9,...l},f=z5(),x=t?DR[f==="desktop"?o:f==="tablet"?i:n]:`${DR[n]} ${x91[i]} ${y91[o]}`,z=z91(null),[C,M]=ZR(1),[A,V]=ZR(!1);if(b91(()=>{if(!t&&!r)return;let O=z.current;if(!O)return;let F=()=>{let c1=O.querySelector(".footer-block-grid");if(!c1)return;let Z=t?f:Hx(window.innerWidth),q=Z==="desktop"?u:Z==="tablet"?g:d;V(q);let K=Z==="desktop"?h:Z==="tablet"?m:p,W=getComputedStyle(c1).gridTemplateColumns.split(" ").filter(Boolean).length-1,r1=Math.max(c1.childElementCount-1,0);M(!q&&K&&W>=1?Math.max(Math.ceil(r1/W),1):1)},T,N=()=>{clearTimeout(T),T=setTimeout(F,0)},B=[0,80,250,600].map(c1=>setTimeout(F,c1)),P=new MutationObserver(N);P.observe(O,{childList:!0,subtree:!0});let D=new ResizeObserver(N);return D.observe(O),()=>{clearTimeout(T),B.forEach(clearTimeout),P.disconnect(),D.disconnect()}},[o,i,n,t,r,f,h,m,p,u,g,d]),!t&&!r)return null;let E=ol(il(a))??void 0;return Mf("footer",{ref:z,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":A?"1 / -1":"1"},children:w91("div",{style:E,children:[Mf(e,{className:`footer-block-grid mb-[60px] grid items-start gap-x-10 gap-y-12 ${x}`,minEmptyHeight:160}),Mf(Hc,{})]})})}import{jsx as C91}from"react/jsx-runtime";var Lf={blocks:{type:"slot",allow:["FooterLogo","FooterMenu","FooterDivider","FooterGroup","FooterText","FooterEmailSignup","FooterSocial"]}},OR={label:"Footer",fields:Lf,defaultProps:{columns:Mx,logoFill:T9,logoRowFill:P9},render:({blocks:e,width:t,columns:a,logoFill:s,logoRowFill:c,puck:l})=>C91(Sf,{blocks:e,width:t,columns:a,logoFill:s,logoRowFill:c,editing:l?.isEditing})};import{jsx as Jn}from"react/jsx-runtime";var GR={fields:{_gLayout:b("Layout"),width:{type:"custom",render:({value:e,onChange:t})=>Jn($n,{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})=>Jn(kf,{value:e,onChange:t})},logoFill:{type:"custom",render:({value:e,onChange:t})=>Jn(wf,{value:e,onChange:t})},logoRowFill:{type:"custom",render:({value:e,onChange:t})=>Jn(Cf,{value:e,onChange:t})},_gBlocks:b("Blocks"),blockList:s2("Footer"),blocks:Lf.blocks}};import{WeightIcon as k91,WidthIcon as M91,PhoneIcon as S91}from"efficient-easel/icons";import{jsx as Af}from"react/jsx-runtime";var qR={fields:{_gStyle:b("Style"),thickness:a1("Thickness",Af(k91,{}),1,8,1,1,"px"),lengthPct:a1("Length",Af(M91,{}),10,100,1,100,"%"),hideOnMobile:l1("Hide on mobile",!1,Af(S91,{}))}};var WR={fields:{_gContent:b("Content"),heading:E1("Heading","Join our email list"),placeholder:G("Field placeholder","Email address"),buttonLabel:G("Button","Subscribe")}};import{AlignLeftIcon as H91}from"efficient-easel/icons";import{jsx as UR}from"react/jsx-runtime";var L91={start:"items-start",center:"items-center",end:"items-end"};function Hf({direction:e="vertical",gap:t,align:a="start",content:s}){let c=I3("FooterGroup",t,e==="horizontal"?"inline":"block");return UR("div",{className:"min-w-0",children:UR(s,{className:`flex ${e==="horizontal"?"flex-row flex-wrap":"flex-col"} ${L91[a]}${c.className}`,style:c.style,minEmptyHeight:80})})}import{jsx as A91}from"react/jsx-runtime";var Ff={blocks:{type:"slot",allow:["FooterText","FooterEmailSignup","FooterMenu","FooterDivider","FooterSocial"]}},jR={label:"Footer Box",fields:Ff,defaultProps:{direction:"vertical",align:"start"},render:({direction:e,gap:t,align:a,blocks:s})=>A91(Hf,{direction:e,gap:t,align:a,content:s})};import{jsx as F91}from"react/jsx-runtime";var KR={fields:{_gLayout:b("Layout"),direction:b1("Direction",c8("`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:B3("FooterGroup"),align:b1("Alignment",F91(H91,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),_gBlocks:b("Blocks"),blockList:s2("FooterGroup"),blocks:Ff.blocks}};import{WidthIcon as T91,AlignLeftIcon as P91,LogoIcon as E91,PaddingTopIcon as V91,PaddingRightIcon as N91,PaddingBottomIcon as _91,PaddingLeftIcon as I91}from"efficient-easel/icons";import{jsx as i9}from"react/jsx-runtime";var $R={fields:{_gContent:b("Content"),tagline:E1("Body","Short brand tagline"),_gStyle:b("Style"),widthPct:a1("Width",i9(T91,{}),40,400,1,100,"%"),align:b1("Alignment",i9(P91,{}),[{label:"Start",value:"left"},{label:"Center",value:"center"},{label:"End",value:"right"}],"left"),reverse:b1("Logo color",i9(E91,{}),[{label:"Auto contrast",value:"auto"},{label:"As uploaded",value:"off"}],"auto"),padTop:a1("Padding top",i9(V91,{}),0,120,2,0,"px"),padRight:a1("Padding right",i9(N91,{}),0,120,2,0,"px"),padBottom:a1("Padding bottom",i9(_91,{}),0,120,2,0,"px"),padLeft:a1("Padding left",i9(I91,{}),0,120,2,0,"px")}};import{Button as B91}from"efficient-shell/ui";import{SettingsField as R91}from"efficient-easel/panel";import{FieldSelect as Z91}from"efficient-easel/fields";import{MenuIcon as D91}from"efficient-easel/icons";import{useCallback as O91,useEffect as YR,useState as Tf}from"react";import{jsx as $t,jsxs as Pf}from"react/jsx-runtime";function Ef({value:e,onChange:t}){let[a,s]=Tf(null),[c,l]=Tf(!1),r=O91(v=>{s(v),l(!0)},[]);YR(()=>{let v=!1;return Tm(_3()).then(x=>{v||r(x)}).catch(()=>{v||s([])}),()=>{v=!0}},[r]),YR(()=>{let v=!1,x=Ok(()=>{YC(_3()).then(z=>{v||r(z)}).catch(()=>{})});return()=>{v=!0,x()}},[r]);let o=a===null,i=!!(e?.id||e?.handle),n=c&&i&&!Ar(a??[],e),h=!i&&(e?.items?.length??0)>0,m=n?"":Ar(a??[],e)?.id??"",p=v=>t({id:v.id,handle:v.handle,name:v.name,items:v.items.map(x=>({label:x.label,url:x.url}))}),u=v=>{if(!v){t(null);return}let x=(a??[]).find(z=>z.id===v);x&&p(x)},[g,d]=Tf(!1),f=()=>{i&&(d(!0),Tm(_3(),!0).then(v=>{r(v);let x=Ar(v,e);x&&p(x)}).catch(()=>{}).finally(()=>d(!1)))};return Pf("div",{children:[$t(R91,{label:"Menu",icon:$t(D91,{}),hint:!o&&a&&a.length===0?"Create menus in Storefront \u2192 Menus, then pick one here.":void 0,children:$t(Z91,{value:m,ariaLabel:"Menu",onChange:u,readOnly:o||(a?.length??0)===0,options:[{label:o?"Loading menus\u2026":a&&a.length===0?"No menus found":"Select a menu\u2026",value:""},...(a??[]).map(v=>({label:`${v.name} (${v.item_count??v.items.length})`,value:v.id}))]})}),h?$t("p",{className:"mt-1.5 text-[12px] text-[var(--sf-warning,#b45309)]",children:DC}):null,n?$t("p",{className:"mt-1.5 text-[12px] text-[var(--sf-warning,#b45309)]",children:OC(e?.name??"The linked menu")}):null,i&&!n?Pf("div",{className:"mt-1.5 flex items-center justify-between gap-2",children:[Pf("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:"]}),$t(B91,{variant:"link",size:"sm",className:"shrink-0",onClick:f,disabled:g,children:g?"Updating\u2026":"Update links"})]}):null]})}import{PhoneIcon as G91,LineBetweenIcon as q91}from"efficient-easel/icons";import{jsx as Vf}from"react/jsx-runtime";var XR={fields:{_gContent:b("Content"),menu:{type:"custom",render:({value:e,onChange:t})=>Vf(Ef,{value:e,onChange:t})},heading:G("Heading","Column heading"),_gStyle:b("Style"),accordionMobile:l1("Show as accordion on mobile",!1,Vf(G91,{})),showDividers:l1("Dividers between links",!1,Vf(q91,{}))}};import{jsx as Fc}from"react/jsx-runtime";var JR={small:16,medium:20,large:24},Nf=0,_f=32,eZ=2,Tc=0,QR={start:"justify-start",center:"justify-center",end:"justify-end"};function If({iconStyle:e=j9,iconSize:t="medium",align:a="start",gap:s=Tc,editing:c=!1}){let l=aB(),r=ny(iy(l));if(r.length===0)return c?Fc("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 o=JR[t]??JR.medium,n={gap:Math.min(_f,Math.max(Nf,Number.isFinite(s)?s:0)),"--social-mark":`${o}px`};return Fc("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)] ${QR[a]??QR.start}`,style:n,children:r.map(({platform:h,href:m,label:p})=>Fc("li",{children:Fc("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:Fc(xy,{platform:h,iconStyle:e,size:o})})},h))})}import{Button as W91}from"efficient-shell/ui";import{Fragment as U91,jsx as Bf,jsxs as j91}from"react/jsx-runtime";function Rf(){let{openPanel:e}=Bl();return j91(U91,{children:[Bf(I9,{label:"Social links"}),Bf("p",{className:"sf-field-hint",children:"The links are typed once for the whole website, in Site settings."}),Bf(W91,{variant:"link",size:"sm",onClick:e,children:"Edit social links \u2192"})]})}import{StylesIcon as K91,TextSizeIcon as $91,AlignLeftIcon as Y91,GapIcon as X91}from"efficient-easel/icons";import{jsx as Pc}from"react/jsx-runtime";var tZ={fields:{_gStyle:b("Style"),iconStyle:b1("Icon style",Pc(K91,{}),[{label:"Outline",value:"outline"},{label:"Solid",value:"solid"}],j9),iconSize:b1("Icon size",Pc($91,{}),[{label:"Small",value:"small"},{label:"Medium",value:"medium"},{label:"Large",value:"large"}],"medium"),_socialLinks:{type:"custom",render:()=>Pc(Rf,{})},_gLayout:b("Layout"),align:b1("Alignment",Pc(Y91,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),gap:a1("Gap",Pc(X91,{}),Nf,_f,eZ,Tc,"px")}};import{TextSizeIcon as J91}from"efficient-easel/icons";import{jsx as Q91}from"react/jsx-runtime";var aZ={fields:{_gContent:b("Content"),text:E1("Body","Footer text"),_gStyle:b("Style"),size:b1("Size",Q91(J91,{}),[{label:"S",value:"sm"},{label:"M",value:"md"},{label:"L",value:"lg"}],"md"),tone:mo()}};var sZ={fields:{_gForm:b("Form"),formSlug:L5(),_gContent:b("Content"),heading:G("Heading override"),intro:E1("Intro"),submitText:G("Submit button"),finePrint:G("Fine print")}};var cZ={fields:{}};var Qn="e.g. D00123 \xB7 blank = the whole store";import{useState as Y7}from"react";import{Fragment as ae1,jsx as r3,jsxs as Ec}from"react/jsx-runtime";var eh="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",ee1="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))]",te1="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 Zf({eyebrow:e,title:t,designCode:a,omitHead:s=!1,editing:c=!1}={}){let[l,r]=Y7(""),[o,i]=Y7(""),[n,h]=Y7(0),[m,p]=Y7(""),[u,g]=Y7(""),[d,f]=Y7(!1),[v,x]=Y7(!1),[z,C]=Y7(null);async function M(A){if(A.preventDefault(),!(c||d)){if(n<1){C("Choose a star rating.");return}f(!0),C(null);try{await g0.submitReview({authorName:l.trim(),...o.trim()?{email:o.trim()}:{},rating:n,...m.trim()?{title:m.trim()}:{},body:u.trim(),...a?.trim()?{designCode:a.trim()}:{}}),x(!0)}catch{C("Something went wrong \u2014 your review wasn't sent. Please try again.")}finally{f(!1)}}}return r3("section",{className:"relative z-[2] border-t border-line bg-surface",children:Ec("div",{className:s?te1:ee1,children:[s?null:Ec(ae1,{children:[(e??"").trim()&&r3(V1,{text:e??"",scaled:!1,className:"mb-4 block"}),(t??"").trim()&&r3("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:Y(t??"",!1)})]}),v?r3("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."}):Ec("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:M,children:[Ec("div",{className:"grid grid-cols-2 gap-3 max-[640px]:grid-cols-1",children:[r3(R2,{label:"Name",required:!0,children:r3("input",{type:"text",required:!0,value:l,onChange:A=>r(A.target.value),className:eh})}),r3(R2,{label:"Email \u2014 never shown publicly",children:r3("input",{type:"email",value:o,onChange:A=>i(A.target.value),className:eh})})]}),Ec("div",{className:"flex flex-col gap-2",children:[r3(h8,{required:!0,children:"Rating"}),r3("div",{role:"group","aria-label":"Rating",className:"flex gap-1",children:[1,2,3,4,5].map(A=>r3("button",{type:"button","aria-pressed":n>=A,"aria-label":`${A} star${A===1?"":"s"}`,onClick:()=>{h(A),C(null)},className:["cursor-pointer text-[30px] leading-none transition-colors",n>=A?"text-accent":"text-fg-dim/30 hover:text-fg-dim"].join(" "),children:"\u2605"},A))})]}),r3(R2,{label:"Review title (optional)",children:r3("input",{type:"text",value:m,onChange:A=>p(A.target.value),className:eh})}),r3(R2,{label:"Your review",required:!0,children:r3("textarea",{required:!0,rows:5,value:u,onChange:A=>g(A.target.value),className:eh+" resize-y"})}),z&&r3("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:z}),r3("button",{type:c?"button":"submit",disabled:d,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:d?"Sending\u2026":"Submit review \u2192"})]})]})})}import{jsx as se1}from"react/jsx-runtime";var Vc={eyebrow:"Your turn",title:"Leave a *review.*"},lZ={label:"Review Form",defaultProps:{eyebrow:"",title:"",designCode:""},render:e=>{let t=D1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return se1(Zf,{eyebrow:a(y(e.eyebrow,Vc.eyebrow,e.puck)),title:a(y(e.title,Vc.title,e.puck)),omitHead:t,designCode:t1(e.designCode)||void 0,editing:e.puck?.isEditing})}};var rZ={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow",Vc.eyebrow),title:R("Heading",Vc.title),_gSource:b("Reviews"),designCode:X2(G("Design code",Qn))},resolveFields:(e,{fields:t,parent:a})=>O1(q1(t,a,W1),e.props.headPlacement,R1.ReviewForm.headRows)};import{StylesIcon as pe1,HashIcon as ue1,ColumnsIcon as de1}from"efficient-easel/icons";import{useEffect as ce1,useState as le1}from"react";function oZ(e,t){let[a,s]=le1(null);return ce1(()=>{let c=!1;return s(null),g0.listReviews({...e?{limit:e}:{},...t?{designCode:t}:{}}).then(l=>{c||s(l)}),()=>{c=!0}},[e,t]),a}import{Fragment as he1,jsx as R4,jsxs as th}from"react/jsx-runtime";var iZ=[{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 re1(e){let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-US",{month:"long",year:"numeric"})}function oe1({rating:e}){let t=Math.min(5,Math.max(0,Math.round(e)));return R4("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,s)=>R4("span",{"aria-hidden":!0,className:s<t?"text-accent":"text-fg-dim/30",children:"\u2605"},s))})}var ie1="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))]",ne1="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 Df({look:e,eyebrow:t,title:a,columns:s,limit:c,designCode:l,omitHead:r=!1,editing:o=!1}={}){let i=oZ(c??6,l),n=Math.min(3,Math.max(1,s??3)),h=i&&i.length>0?i:o?iZ:[],m=h===iZ;return!o&&h.length===0?null:R4("section",{className:"relative z-[2] border-t border-line bg-surface",children:th("div",{className:r?ne1:ie1,children:[r?null:th(he1,{children:[(t??"").trim()&&R4(V1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&R4("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:Y(a??"",!1)})]}),R4("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=>th("article",{className:["flex flex-col gap-4 bg-bg p-9 max-[800px]:p-7",m?"opacity-60":""].join(" "),children:[R4(oe1,{rating:p.rating}),p.title.trim()&&R4("h3",{className:"font-display text-[length:var(--size-body,19px)] font-medium uppercase leading-[1.2] tracking-[-0.01em] text-fg",children:p.title}),R4("div",{className:"flex-1 font-serif text-[length:var(--size-body,15px)] leading-[1.65] text-fg-dim",children:b0(p.body).map((u,g)=>R4("p",{className:g?"mt-3":"",children:u},g))}),th("footer",{className:"flex items-baseline justify-between gap-4 border-t border-line pt-[18px]",children:[R4("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg",children:p.authorName}),R4("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:re1(p.createdAt)})]})]},p.id))})]})})}import{jsx as me1}from"react/jsx-runtime";var Nc={eyebrow:"Reviews",title:"From our *customers.*"},nZ={label:"Reviews",defaultProps:{eyebrow:"",title:"",columns:3,limit:6,designCode:""},render:e=>{let t=D1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return me1(Df,{look:l4(e.eyebrowLook,"Reviews"),eyebrow:a(y(e.eyebrow,Nc.eyebrow,e.puck)),title:a(y(e.title,Nc.title,e.puck)),omitHead:t,columns:e.columns,limit:e.limit,designCode:t1(e.designCode)||void 0,editing:e.puck?.isEditing})}};import{jsx as Of}from"react/jsx-runtime";var hZ={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow",Nc.eyebrow),eyebrowLook:v1("Eyebrow style",Of(pe1,{}),[...y4],K6("Reviews")),title:R("Heading",Nc.title),_gSource:b("Reviews"),limit:a1("Reviews to display",Of(ue1,{}),3,12,1,6),designCode:X2(G("Design code",Qn)),_gStyle:b("Style"),columns:a1("Columns",Of(de1,{}),1,3,1,3)},resolveFields:(e,{fields:t,parent:a})=>O1(q1(t,a,W1),e.props.headPlacement,R1.Reviews.headRows)};import{jsx as Gf,jsxs as ge1}from"react/jsx-runtime";function _c({place:e,sections:t,editing:a=!1}){let c=ge1(e==="footer"?"footer":"div",{"data-section-group":e,children:[a?Gf("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,Gf(t,{minEmptyHeight:120})]});return e==="header"?Gf(WC,{children:c}):c}import{jsx as ve1}from"react/jsx-runtime";var qf={sections:{type:"slot"}},mZ={label:"Site Footer",fields:qf,render:({sections:e,puck:t})=>ve1(_c,{place:"footer",sections:e,editing:t?.isEditing})};var pZ={fields:{sections:qf.sections}};import{StickyIcon as be1,ContrastIcon as ze1}from"efficient-easel/icons";import{jsx as fe1}from"react/jsx-runtime";var Wf={sections:{type:"slot"}},uZ={label:"Site Header",fields:Wf,defaultProps:{sticky:"always",topTextColor:"auto",sections:[]},render:({sections:e,puck:t})=>fe1(_c,{place:"header",sections:e,editing:t?.isEditing})};import{jsx as dZ}from"react/jsx-runtime";var gZ={fields:{sticky:b1("Sticky header",dZ(be1,{}),[{label:"None",value:"none"},{label:"Always",value:"always"},{label:"On scroll up",value:"on_scroll_up"}],"always"),topTextColor:b1("Text color at the top",dZ(ze1,{}),[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],"auto"),sections:Wf.sections}};import{jsx as ah,jsxs as xe1}from"react/jsx-runtime";var x0={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 Ic(e,t){return e===void 0?t:e}function Uf({eyebrow:e,title:t,body:a,buttonText:s,consent:c,formSlug:l,form:r,editing:o=!1,boxes:i,inBoxes:n=!1,...h}){let m=Ic(e,x0.eyebrow),p=Ic(t,x0.title),u=Ic(a,x0.body),g=Ic(s,x0.buttonText),d=Ic(c,x0.consent),f=k5(l,r),v=l7({form:f,formSlug:l,editing:o}),x=f===void 0,z=!!f||o;return!z&&!m&&!p&&!u?null:n&&i?ah("section",{className:N0(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:ah(i,{className:"grid grid-cols-2 items-start gap-[60px] max-[1100px]:grid-cols-1 max-[1100px]:gap-9"})}):xe1("section",{className:N0(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:[ah(VS,{eyebrow:m,title:p}),ah(yo,{body:u,buttonLabel:g,consent:d,form:f,submission:v,showForm:z,resolving:x,editing:o})]})}var vZ={fields:{_gTextStyle:b("Text style"),...Object.fromEntries(wo.map(e=>[Co[e],v1(Ep[e],Ve(Ep[e]),[{label:"Section's own",value:""},...m5.map(t=>({label:z9[t],value:t}))],"")])),_gContent:b("Content"),eyebrow:H("Eyebrow",x0.eyebrow),title:R("Heading",x0.title),body:R("Body",x0.body),formSlug:L5(),buttonText:H("Button",x0.buttonText),consent:R("Consent line",x0.consent)},resolveFields:(e,{fields:t})=>{let a=e.props.region,s=t,c=["eyebrow","title"],l=["body","formSlug","buttonText","consent"],r=wo.map(n=>Co[n]),o=a==="head"?c:l,i={};for(let[n,h]of Object.entries(s)){if(n.startsWith("_")){i[n]=h;continue}if(r.includes(n)){a!=="head"&&(i[n]=h);continue}o.includes(n)&&(i[n]=h)}return i}};import{jsx as ye1}from"react/jsx-runtime";var jf={boxes:{type:"slot",allow:["SubmitBox"]}},fZ={label:"Photo Submission Form",fields:jf,defaultProps:{eyebrow:x0.eyebrow,title:x0.title,body:x0.body,formSlug:"",buttonText:x0.buttonText,consent:x0.consent},render:e=>ye1(Uf,{boxes:e.boxes,inBoxes:e.layout==="boxes",eyebrow:J0(e.eyebrow,x0.eyebrow,e.puck),title:J0(e.title,x0.title,e.puck),body:J0(e.body,x0.body,e.puck),buttonText:J0(e.buttonText,x0.buttonText,e.puck),consent:J0(e.consent,x0.consent,e.puck),formSlug:t1(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing})};var bZ={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow",x0.eyebrow),title:R("Heading",x0.title),body:R("Body",x0.body),_gForm:b("Form"),formSlug:L5(),_gButton:b("Button"),buttonText:H("Button",x0.buttonText),_gFootnote:b("Footnote"),consent:R("Consent line",x0.consent),boxes:jf.boxes},resolveFields:(e,{fields:t})=>{if(e.props.layout!=="boxes")return t;let{_gContent:a,eyebrow:s,title:c,body:l,_gForm:r,formSlug:o,_gButton:i,buttonText:n,_gFootnote:h,consent:m,...p}=t;return p}};var we1=["issues","posts"],zZ=[{label:"Issues",value:"issues"},{label:"Blog posts",value:"posts"}],Kf="issues";function $f(e){return we1.includes(e)?e:Kf}var Ce1={issues:["issues"],_gPosts:["posts"],posts:["posts"],limit:["posts"]};function xZ(e,t){let a=$f(t),s={...e};for(let[c,l]of Object.entries(Ce1))l.includes(a)||delete s[c];return s}import{CategoryIcon as Me1,HashIcon as Se1}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:p2.href},yZ=[{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 ke1(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 sh(e,t){if(e==="issues")return y1(t.issues,yZ,t.puck);let a=t.posts,s=typeof t.limit=="number"&&t.limit>0?t.limit:4,c=Array.isArray(a)?ke1(a.slice(0,s)):[];return y1(c,yZ,t.puck)}import{jsx as wZ}from"react/jsx-runtime";var CZ={fields:{_sHead:t0("Section header"),_gHeadCopy:b("Content"),headNum:H("Number",B0.headNum),headTitle:R("Heading",B0.headTitle),headDesc:R("Body",B0.headDesc),_sLeft:t0("Newsletter panel"),_gLeftCopy:b("Content"),kicker:H("Eyebrow",B0.kicker),leadTitle:R("Heading",B0.leadTitle),intro:R("Intro",B0.intro),_gForm:b("Signup form"),emailPlaceholder:G("Email placeholder",B0.emailPlaceholder),submitText:G("Submit button",B0.submitText),subscribedText:G("Subscribed button",B0.subscribedText),finePrint:R("Fine print",B0.finePrint),_sRight:t0("Recent issues"),_gRightCopy:b("Content"),contentType:b1("Type",wZ(Me1,{}),[...zZ],Kf),issuesHeading:H("Panel heading",B0.issuesHeading),issues:{type:"array",label:"Issues",arrayFields:{n:g1("Number"),title:g1("Title"),small:g1("Sub-line"),date:g1("Date")},getItemSummary:e=>[e?.n,e?.title].filter(Boolean).join(" \xB7 ")||"Issue"},_gPosts:b("Blog posts"),posts:t2(l9),limit:a1("Posts to display",wZ(Se1,{}),1,6,1,4),_gArchive:b("Archive link"),archiveText:H("Archive button",B0.archiveText),archiveHref:H1("Archive link")},resolveFields:(e,{fields:t})=>xZ(t,e.props.contentType)};import{HashIcon as Fe1}from"efficient-easel/icons";import{useState as Le1}from"react";import{jsx as X3,jsxs as n9}from"react/jsx-runtime";var Ae1="That didn't go through \u2014 please try again.";function Bc({headNum:e,headTitle:t,headDesc:a,kicker:s,leadTitle:c,intro:l,emailPlaceholder:r,submitText:o,subscribedText:i,finePrint:n,issuesHeading:h,issues:m,archiveText:p,archiveHref:u,source:g=D3.subscribeSection,editing:d=!1,...f}){let[v,x]=Le1(""),{status:z,submit:C}=Or({source:g,dryRun:d}),M=z==="sent",A=z==="sending",V=z==="error"||z==="invalid",E=(m??[]).filter(N=>(N?.n??"").trim()||(N?.title??"").trim()||(N?.date??"").trim()),O=E.length>0,F=M?i||"Subscribed \u2713":A?"Sending\u2026":o||"Subscribe \u2192";function T(N){N.preventDefault(),!M&&C({email:v})}return n9("section",{className:N0(f)?"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:[X3(D2,{num:e,title:t?Y(t,!0):void 0,desc:a,accentTracking:"-0.025em"}),n9("div",{className:O?"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:[n9("div",{className:O?"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:[s&&X3(V1,{text:s}),c&&X3("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:Y(c,!0)}),l&&X3("p",{className:"max-w-[480px] font-serif text-[length:var(--size-body,19px)] italic leading-[1.5] text-fg-dim",children:k(l,!0)}),n9("form",{className:"mt-2 flex max-w-[520px]",onSubmit:T,children:[X3("input",{type:"email",placeholder:r||"your@email.com",required:!0,value:v,onChange:N=>x(N.target.value),disabled:M,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"}),X3("button",{type:"submit",disabled:M||A,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:R0(F)})]}),V&&X3("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:Ae1}),n&&X3("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)})]}),O&&n9("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&&X3(V1,{text:h,size:12}),X3("div",{className:"flex flex-col",children:E.map((N,B)=>n9("div",{className:["grid grid-cols-[60px_1fr_auto] items-start gap-[18px] border-b border-line py-[18px]",B===0?"border-t border-line":""].join(" "),children:[X3("span",{className:"font-mono text-[length:var(--size-label,13px)] tracking-[0.22em] text-accent",children:N.n?k(N.n):""}),n9("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()&&X3("small",{className:"mt-1 block font-serif text-[length:var(--size-body,13px)] font-normal italic text-fg-dim",children:k(N.small,!0)})]}),X3("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):""})]},B))}),p&&X3(m0,{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 He1}from"react/jsx-runtime";var Y0={...B0,issuesHeading:"Recent posts",archiveText:"Read all posts \u2192"},kZ={label:"Subscribe with Posts",defaultProps:{headNum:"",headTitle:"",headDesc:"",kicker:"",leadTitle:"",intro:"",emailPlaceholder:"",submitText:"",subscribedText:"",finePrint:"",issuesHeading:"",limit:4,archiveText:"",archiveHref:""},render:e=>{let t=sh("posts",e);return He1(Bc,{headNum:y(e.headNum,Y0.headNum,e.puck),headTitle:y(e.headTitle,Y0.headTitle,e.puck),headDesc:y(e.headDesc,Y0.headDesc,e.puck),kicker:y(e.kicker,Y0.kicker,e.puck),leadTitle:y(e.leadTitle,Y0.leadTitle,e.puck),intro:y(e.intro,Y0.intro,e.puck),emailPlaceholder:t1(e.emailPlaceholder)||Y0.emailPlaceholder,submitText:t1(e.submitText)||Y0.submitText,subscribedText:t1(e.subscribedText)||Y0.subscribedText,finePrint:y(e.finePrint,Y0.finePrint,e.puck),issuesHeading:y(e.issuesHeading,Y0.issuesHeading,e.puck),issues:t,source:D3.subscribeBlogsSection,editing:e.puck?.isEditing,archiveText:y(e.archiveText,Y0.archiveText,e.puck),archiveHref:t1(e.archiveHref)||Y0.archiveHref})}};import{jsx as Te1}from"react/jsx-runtime";var MZ={fields:{_sHead:t0("Section header"),_gHeadCopy:b("Content"),headNum:H("Number",Y0.headNum),headTitle:R("Heading",Y0.headTitle),headDesc:R("Body",Y0.headDesc),_sLeft:t0("Newsletter panel"),_gLeftCopy:b("Content"),kicker:H("Eyebrow",Y0.kicker),leadTitle:R("Heading",Y0.leadTitle),intro:R("Intro",Y0.intro),_gForm:b("Signup form"),emailPlaceholder:G("Email placeholder",Y0.emailPlaceholder),submitText:G("Submit button",Y0.submitText),subscribedText:G("Subscribed button",Y0.subscribedText),finePrint:R("Fine print",Y0.finePrint),_sRight:t0("Recent posts"),_gRightCopy:b("Content"),issuesHeading:H("Panel heading",Y0.issuesHeading),_gPosts:b("Blog posts"),posts:t2(l9),limit:a1("Posts to display",Te1(Fe1,{}),1,6,1,4),_gArchive:b("Archive link"),archiveText:H("Archive button",Y0.archiveText),archiveHref:H1("Archive link")}};import{jsx as Pe1}from"react/jsx-runtime";var SZ={label:"Booking box",defaultProps:{},render:e=>Pe1(Fp,{region:typeof e.region=="string"?e.region:void 0,eyebrow:y(e.eyebrow,L.eyebrow,e.puck),heading:y(e.heading,L.heading,e.puck),intro:y(e.intro,L.body,e.puck),buttonLabel:y(e.buttonLabel,L.button,e.puck),successMessage:y(e.successMessage,L.bookingConfirmation,e.puck),styleStep:e.styleStep,styleName:e.styleName,styleValue:e.styleValue,styleNote:e.styleNote})};import{useEffect as Yf,useState as Xf}from"react";import{Fragment as Ee1,jsx as L0,jsxs as z3}from"react/jsx-runtime";var LZ="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 Jf({routingNumber:e,routingTagline:t,groups:a,formNumber:s,formHeading:c,metaLines:l,showOther:r=!0,otherLabel:o="Other",otherNoteTitle:i,otherNoteBody:n,buttonText:h,consent:m,channels:p,formSlug:u,form:g,editing:d,initialActiveId:f,onActiveChange:v,reasonExtras:x,...z}){let C=[...a.map(W=>W.id),...r?[x8]:[]],M=f&&C.includes(f)?f:C[0]??x8,[A,V]=Xf(M);Yf(()=>{C.includes(A)||V(C[0]??x8)},[C.join("|")]),Yf(()=>{f&&C.includes(f)&&V(f)},[f]);let E=W=>{V(W),F(null),v?.(W)},[O,F]=Xf(null),T=(p??[]).filter(W=>!W.hidden),N=T.find(W=>W.groupId===A)?.value??null,B=O??N,P=k5(u,g),D=l7({form:P,formSlug:u,editing:d}),c1=P===void 0,Z=!!P||!!d,[q,K]=Xf(!1);return Yf(()=>{let W=()=>K(document.documentElement.getAttribute("data-theme")==="light");W();let r1=new MutationObserver(W);return r1.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>r1.disconnect()},[]),z3(Ee1,{children:[z3("section",{className:N0(z)?"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:q?void 0:{background:"var(--section-bg)"},children:[(e||t)&&z3("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[e&&L0(V1,{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(W=>{let r1=A===W.id;return z3("button",{type:"button",onClick:()=>{E(W.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:a6(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-3.5 px-7 py-9 text-left transition-colors",r1?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[W.eyebrow&&L0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:W.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:W.title}),W.copy&&L0("p",{className:"mt-auto font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim",children:W.copy}),W.response&&z3("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:W.response})]})]},W.id)})})]}),(Z||T.length>0)&&z3("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]",Z&&T.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[Z&&z3("div",{children:[z3("div",{className:"mb-7 flex items-end justify-between gap-6 border-b border-line pb-6",children:[z3("div",{children:[s&&L0("div",{className:"pb-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-accent",children:k(s)}),c&&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:Y(c,!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((W,r1)=>L0("div",{children:W},r1))})]}),P?D.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:Me(P,"Thanks \u2014 we've received your message.")}):z3("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:D.handleSubmit,children:[P.fields.map(W=>L0(R2,{label:W.label,required:W.required,className:W.type==="textarea"||W.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:L0(r7,{field:W,value:D.valueOf(W.key),onChange:r1=>D.set(W.key,r1),className:W.type==="textarea"?`${LZ} min-h-[140px] resize-y leading-[1.5]`:W.type==="checkbox"?"size-4 self-start accent-accent":LZ})},W.key)),z3("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[L0(h8,{required:!0,children:"Reason"}),z3("div",{className:"mt-1 flex flex-wrap gap-2",children:[a.map(W=>{let r1=A===W.id;return L0("button",{type:"button",onClick:()=>E(W.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",r1?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:W.title},W.id)}),r&&L0("button",{type:"button",onClick:()=>E(x8),className:["cursor-pointer border px-3.5 py-2.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] transition-colors",A===x8?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:R0(o)})]})]}),x?.(A),A===x8&&(i||n)&&z3("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&&b0(n).map((W,r1)=>L0("p",{className:"font-display text-[length:var(--size-body,15px)] leading-[1.55] text-fg-dim",children:k(W)},r1))]}),L0(Se,{value:D.honeypot,onChange:D.setHoneypot}),D.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:D.error}),z3("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:d?"button":"submit",disabled:D.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:D.submitting?"Sending\u2026":h?R0(h):"Send Message \u2192"})]})]}):L0("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:c1?"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."})]}),T.length>0&&L0("aside",{className:"flex flex-col gap-0 max-[1100px]:hidden",children:T.map((W,r1)=>{let z1=B===W.value,e1=!!!W.groupId;return z3("div",{onClick:e1?()=>F(W.value):void 0,className:["relative flex flex-col gap-2.5 border-b border-line border-l-2 px-5 py-7 transition-all",e1?"cursor-pointer border-t-2 border-t-accent":"",z1?"border-l-accent pl-6":e1?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:z1?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[z1&&z3("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",z1?"text-fg":"text-accent"].join(" "),children:W.label}),e1?L0("a",{href:W.href,onClick:d1=>d1.stopPropagation(),className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent",z1?"text-accent":"text-fg"].join(" "),children:W.value}):L0("span",{className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium leading-[1.2] tracking-[-0.02em]",z1?"text-accent":"text-fg"].join(" "),children:W.value}),W.sub&&L0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:W.sub})]},`${W.value}-${r1}`)})})]})]})}import{jsx as Ve1}from"react/jsx-runtime";var AZ={label:"Contact Form",defaultProps:{routingNumber:v0.routingNumber,routingTagline:v0.routingTagline,groups:v0.groups,formSlug:"",formNumber:v0.formNumber,formHeading:v0.formHeading,metaItems:v0.metaLines.map(e=>({text:e})),showOther:v0.showOther,otherLabel:v0.otherLabel,otherNoteTitle:v0.otherNoteTitle,otherNoteBody:v0.otherNoteBody,buttonText:v0.buttonText,consent:v0.consent,channels:v0.channels},render:e=>Ve1(Jf,{routingNumber:y(e.routingNumber,v0.routingNumber,e.puck),routingTagline:y(e.routingTagline,v0.routingTagline,e.puck),groups:e.groups??[],formNumber:y(e.formNumber,v0.formNumber,e.puck),formHeading:y(e.formHeading,v0.formHeading,e.puck),metaLines:(e.metaItems??[]).map(t=>t?.text??"").filter(Boolean),showOther:e.showOther,otherLabel:t1(e.otherLabel)||v0.otherLabel,otherNoteTitle:y(e.otherNoteTitle,v0.otherNoteTitle,e.puck),otherNoteBody:y(e.otherNoteBody,v0.otherNoteBody,e.puck),buttonText:t1(e.buttonText)||v0.buttonText,consent:y(e.consent,v0.consent,e.puck),channels:e.channels??[],formSlug:t1(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing})};import{jsx as HZ}from"react/jsx-runtime";function Qf({thickness:e=1,lengthPct:t=100,hideOnMobile:a=!1}){return HZ("div",{className:`col-span-full w-full basis-full ${a?"max-[800px]:hidden":""}`,"aria-hidden":"true",children:HZ("div",{className:"bg-line",style:{height:`${e}px`,width:`${t}%`}})})}import{jsx as Ne1}from"react/jsx-runtime";var FZ={label:"Divider",defaultProps:{thickness:1,lengthPct:100,hideOnMobile:!1},render:({thickness:e,lengthPct:t,hideOnMobile:a})=>Ne1(Qf,{thickness:e,lengthPct:t,hideOnMobile:a})};import{useState as _e1}from"react";import{jsx as eb,jsxs as TZ}from"react/jsx-runtime";function tb({heading:e,placeholder:t="Email address",buttonLabel:a="Subscribe"}){let{open:s}=Km(),[c,l]=_e1("");return TZ("div",{className:"w-full min-w-0",children:[e?eb("h4",{className:"mb-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:Y(e,!1)}):null,TZ("form",{className:"flex max-w-[320px] flex-wrap items-stretch gap-2",onSubmit:r=>{r.preventDefault(),s({email:c.trim(),source:D3.footerSignup})},children:[eb("input",{type:"email",placeholder:t,value:c,onChange:r=>l(r.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":m2(e??"")||"Email address"}),eb("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:R0(a)})]})]})}import{jsx as Ie1}from"react/jsx-runtime";var PZ={label:"Email Form",defaultProps:{heading:"",placeholder:"Email address",buttonLabel:"Subscribe"},render:({heading:e,placeholder:t,buttonLabel:a,puck:s})=>Ie1(tb,{heading:U4(e,"Join our email list",s),placeholder:t||void 0,buttonLabel:a||void 0})};import{jsx as ch,jsxs as Re1}from"react/jsx-runtime";var Be1={left:"items-start text-left",center:"items-center text-center",right:"items-end text-right"};function ab({tagline:e,widthPct:t=100,align:a="left",reverse:s=!0,padTop:c=0,padRight:l=0,padBottom:r=0,padLeft:o=0,editing:i=!1}){let{src:n,reversedSrc:h,inkIsDark:m,wordmark:p,siteName:u}=pl(),g=Math.round(e7*(t/100)),d={...c?{paddingTop:c}:{},...l?{paddingRight:l}:{},...r?{paddingBottom:r}:{},...o?{paddingLeft:o}:{}};return Re1("div",{className:`flex min-w-0 flex-col ${Be1[a]} [container-type:inline-size]`,style:d,children:[ch(S1,{href:"/","aria-label":u?`${u} home`:"Home",className:"inline-flex max-w-full overflow-x-clip",children:ch(le,{variant:"footer",sizePx:g,src:n,reverse:s,reversedSrc:h,inkIsDark:m,wordmark:p,siteName:u,fitWordmarkToContainer:!0,fitFloorPx:xw})}),e?ch("p",{className:"mt-3.5 max-w-[280px] text-[13px] leading-[1.5] text-fg-dim",children:k(e)}):i?ch("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 Ze1}from"react/jsx-runtime";var EZ={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:s,padTop:c,padRight:l,padBottom:r,padLeft:o,puck:i})=>Ze1(ab,{tagline:e||void 0,widthPct:t,align:a,reverse:s!=="off",padTop:c,padRight:l,padBottom:r,padLeft:o,editing:i?.isEditing})};import{jsx as De1}from"react/jsx-runtime";var VZ={label:"Menu",defaultProps:{accordionMobile:!1,showDividers:!1},render:({menu:e,heading:t,accordionMobile:a,showDividers:s,puck:c})=>De1(ya,{menu:e,heading:t||void 0,accordionMobile:a,showDividers:s,editing:c?.isEditing})};import{jsx as Oe1}from"react/jsx-runtime";var NZ={label:"Social Logos",defaultProps:{iconStyle:j9,iconSize:"medium",align:"start",gap:Tc},render:({iconStyle:e,iconSize:t,align:a,gap:s,puck:c})=>Oe1(If,{iconStyle:e,iconSize:t,align:a,gap:s,editing:c?.isEditing})};import{jsx as qe1}from"react/jsx-runtime";var Ge1={sm:"text-[12px]",md:"text-[13px]",lg:"text-[15px]"};function sb({text:e,size:t="md",tone:a="default",editing:s=!1}){let c=e||(s?"Add a line of footer text.":"");return c?qe1("p",{className:`${Ge1[t]} leading-[1.5] ${a==="dim"?"text-fg-dim":"text-fg"}`,children:k(c)}):null}import{jsx as We1}from"react/jsx-runtime";var _Z={label:"Text",defaultProps:{size:"md",tone:"default"},render:({text:e,size:t,tone:a,puck:s})=>We1(sb,{text:e||void 0,size:t,tone:a,editing:s?.isEditing})};import{jsx as Ue1}from"react/jsx-runtime";var IZ={label:"Form",defaultProps:{formSlug:"",heading:"",intro:"",submitText:"",finePrint:""},render:e=>Ue1(Dm,{formSlug:t1(e.formSlug)||void 0,heading:t1(e.heading)||void 0,intro:t1(e.intro)||void 0,submitText:t1(e.submitText)||void 0,finePrint:t1(e.finePrint)||void 0,form:e.form,editing:e.puck?.isEditing})};import{jsx as je1}from"react/jsx-runtime";var BZ={label:"Legal Line",render:()=>je1(Hc,{})};import{jsx as Ke1}from"react/jsx-runtime";var RZ={label:"Submit box",defaultProps:{},render:e=>Ke1(Vp,{region:typeof e.region=="string"?e.region:void 0,eyebrow:J0(e.eyebrow,x0.eyebrow,e.puck),title:J0(e.title,x0.title,e.puck),body:J0(e.body,x0.body,e.puck),buttonText:J0(e.buttonText,x0.buttonText,e.puck),consent:J0(e.consent,x0.consent,e.puck),formSlug:t1(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing,styleField:e.styleField,styleTick:e.styleTick,styleThanks:e.styleThanks})};import{jsx as $e1}from"react/jsx-runtime";var ZZ={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:s,leadTitle:c,intro:l,emailPlaceholder:r,submitText:o,subscribedText:i,finePrint:n,issuesHeading:h,issues:m,contentType:p,posts:u,limit:g,archiveText:d,archiveHref:f,puck:v})=>$e1(Bc,{headNum:y(e,B0.headNum,v),headTitle:y(t,B0.headTitle,v),headDesc:y(a,B0.headDesc,v),kicker:y(s,B0.kicker,v),leadTitle:y(c,B0.leadTitle,v),intro:y(l,B0.intro,v),emailPlaceholder:t1(r)||B0.emailPlaceholder,submitText:t1(o)||B0.submitText,subscribedText:t1(i)||B0.subscribedText,finePrint:y(n,B0.finePrint,v),issuesHeading:y(h,B0.issuesHeading,v),issues:sh($f(p),{issues:m,posts:u,limit:g,puck:v}),source:D3.subscribeSection,editing:v?.isEditing,archiveText:y(d,B0.archiveText,v),archiveHref:t1(f)||B0.archiveHref})};var DZ={AppointmentBooking:MR,BookingBox:SZ,ContactRouting:AZ,Events:IR,Footer:OR,FooterDivider:FZ,FooterEmailSignup:PZ,FooterGroup:jR,FooterLogo:EZ,FooterMenu:VZ,FooterSocial:NZ,FooterText:_Z,Form:IZ,LegalLineBlock:BZ,ReviewForm:lZ,Reviews:nZ,[b9]:mZ,[f9]:uZ,SubmitBox:RZ,SubmitBuild:fZ,Subscribe:ZZ,SubscribeBlogs:kZ};var Ye1={AppointmentBooking:SR,BookingBox:LR,ContactRouting:HR,Events:BR,Footer:GR,FooterDivider:qR,FooterEmailSignup:WR,FooterGroup:KR,FooterLogo:$R,FooterMenu:XR,FooterSocial:tZ,FooterText:aZ,Form:sZ,LegalLineBlock:cZ,ReviewForm:rZ,Reviews:hZ,[b9]:pZ,[f9]:gZ,SubmitBox:vZ,SubmitBuild:bZ,Subscribe:CZ,SubscribeBlogs:MZ},n2=Re(DZ,Ye1);import{jsx as V6,jsxs as Xe1}from"react/jsx-runtime";import{useEasel as Je1}from"efficient-easel/easel";var Qe1="color-mix(in oklab, var(--bg) 40%, #ffffff)",et1="12vh";function tt1({style:e,frameClass:t,children:a}){let{appState:s}=Je1(u=>u),c=s.data.content,l=s.data.root;if(Zy(c))return V6("div",{className:`sf-themed-content${t?` ${t}`:""}`,style:{...e,background:Qe1,minHeight:"100vh",paddingBottom:et1},children:V6("div",{style:{background:"var(--bg)"},children:a})});let r=ha(c)&&Ul(l,c),o=ha(c)?Gy(l,c):null,i=o?{[Oy]:o}:null,n=Uz(l?.widthChoice),h=n?{[Wz]:n}:null,m=r?null:VB(c),p=m?{[En]:m}:null;return V6("div",{className:`sf-themed-content${r?` ${Wl}`:""}${t?` ${t}`:""}`,style:e,...p,...i,...h,children:V6("div",{style:{background:"var(--bg)",minHeight:"100%"},children:a})})}function OZ(e){return{frameClass:void 0,style:{"--sf-page-width":la}}}function cb({w:e,children:t}){let{frameClass:a,style:s}=OZ(e);return V6("div",{className:a,style:s,children:t})}function lb({propsTheme:e,propsFonts:t,propsCornerStyle:a,propsCornerRadiusPx:s,propsHeadingCompression:c,propsHeadingTypography:l,widthMode:r,fullWidth:o,pageWidth:i,pageBackground:n,chromeInheritsSiteBackground:h,suppressPreviewNav:m,footer:p,overlay:u,children:g}){let{theme:d,fonts:f,sizes:v,cornerRadiusPx:x,cardShadow:z,shadowColor:C,cardGap:M,hoverEffect:A,headingCompression:V,siteWidth:E,siteGutter:O,blockGap:F,headingTypography:T,heroBackgroundFollowsWidth:N,photographyGrayscale:B,themeFromDocument:P}=N3(),D=P?e:d,c1=P?t:f,Z=P?void 0:v,q=P?s===void 0?kz[Cz(a)]:Mz(s):x,K=P?c:V,W=P?l:T,r1=OZ({widthMode:r,fullWidth:o,pageWidth:i}),z1={...ca(D),...ll(Z),...Tz(W),...r1.style,...h?{}:Th(n)};return V6("div",{className:"sf-theme-surfaces sf-theme-accent",style:{...Jc(c1),...tl(D),...al(D),...sl(D),...cl(D),...wh(q),...Iz(wh(q)),...Hz(P?void 0:z,P?void 0:C,P?void 0:A),...Rz(P?void 0:E),...Zz(P?void 0:O),...Ex(P?void 0:F),...qz(P?void 0:N)},"data-sf-headings":Fz(K),"data-sf-card-shadow":P?void 0:Sz(z),"data-sf-card-gap":P?void 0:Lz(M),"data-sf-card-hover":P?void 0:Az(A),onClickCapture:m,children:Xe1(cF,{grayscale:P?void 0:B,children:[V6(tt1,{style:z1,frameClass:r1.frameClass,children:g}),p,u]})})}var rb=e=>{e.target?.closest?.("a")&&e.preventDefault()};function GZ({pageBackground:e,inheritBackground:t=!1,w:a,children:s}){return V6("div",{style:{...t?{}:Th(e),background:"var(--bg)",minHeight:"100%",overflowX:"clip"},children:V6(cb,{w:a,children:s})})}import{jsx as qZ}from"react/jsx-runtime";import{PaddingTopIcon as at1}from"efficient-easel/icons";function st1(){return{type:"custom",render:({value:e,onChange:t})=>qZ($n,{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 ct1=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],WZ={title:G("Page Title"),pageBackground:Yx(),topSpace:v1("Top space",qZ(at1,{}),ct1,Dy),widthChoice:st1()};function lt1(e,t){let a=Ph(t),s=a?a.inner:t;if(fh(s))return!1;if(s?.type==="slot")return!0;let c=vx(s);return c==="always"?!1:c==="authored-copy"?dz(e):!0}function UZ(e){let t=Ph(e),a=t?t.inner:e,s=fh(a);return s?Rx(a)?0:s.level:null}function rt1(e,t,a){return a&&t===0&&e===l8.Content}var ot1=new WeakMap,it1=new WeakMap;function Yt(e,t="section"){let a=t==="page"?it1:ot1,s=a.get(e);if(s)return s;let c=Object.entries(e).map(([m,p])=>({key:m,field:p,level:UZ(p),draws:lt1(m,p)||t==="page"&&UZ(p)===null&&zh(m,p)})),l=t==="section"&&c.some(m=>zh(m.key,m.field)),r=new Set;for(let m=0;m<c.length;m++){let p=c[m].level;if(p===null)continue;let u=0;for(let g=m+1;g<c.length;g++){let d=c[g].level;if(d!==null&&d<=p)break;c[g].draws&&(u+=1)}u===0&&!rt1(c[m].key,p,l)&&r.add(c[m].key)}let o=l&&cy(e),i=o&&!(l8.Content in e);if(!r.size&&!i)return a.set(e,e),e;let n={};for(let m of c)r.has(m.key)||(n[m.key]=m.field);let h=U9(o?sy(n):n);return a.set(e,h),h}var jZ={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(aa,e),draw(e,t){e.label=aa[t]}};import{jsx as nt1}from"react/jsx-runtime";var KZ={name:"sectionGroupAllow",applies:e=>Yc.includes(e),panel(e,t,a,s){let c=e.fields?.sections;c&&(c.allow=[...s.sectionGroupAllow])}},ob=new Set(Object.keys(R1)),$Z={name:"openSlotDisallow",applies:()=>!0,panel(e,t,a,s){let c=s.contentSectionKeys;if(e?.fields)for(let l of Object.values(e.fields)){let r=l;if(r.type!=="slot"||r.allow)continue;let o=t==="Flex"?c.filter(i=>!ob.has(i)):c;r.disallow=Array.from(new Set([...r.disallow??[],...o]))}}};var ht1=Array.from(new Set([...Pb.map(e=>e.type),...ob,...Wc,"GalleryItem"])),YZ={name:"cellWidth",applies:(e,t,a)=>ht1.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.cellWidthFields;e.fields={...e.fields,...s()};let c=e.resolveFields;e.resolveFields=(l,r)=>{let o=c?c(l,r):r.fields,i=Xo(r.appState,l.props?.id);if(i===void 0||iz(i))return o;let n={...o};for(let h of Object.keys(s()))delete n[h];return n}},draw(e){let t=e.render;e.render=a=>{let s=rz(a.gridSpan),c=t(a);return s==null?c:nt1("div",{className:"sf-grid-cell",[oz]:String(s),children:c})}}};import{jsx as XZ}from"react/jsx-runtime";var JZ={name:"clickableParts",applies:(e,t,a)=>typeof a?.render=="function",draw(e,t){let a=e,s=a.render;a.render=c=>{let l=y9(c);return c.puck?.isEditing?XZ(EL,{needles:bh(a.fields,c),styles:l,type:t,children:s(c)}):Object.keys(l).length?XZ(Ez,{needles:bh(a.fields,c),styles:l,type:t,children:s(c)}):s(c)}}};import{jsx as QZ}from"react/jsx-runtime";var eD={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 s=rl(a.sectionCorners,a.sectionCornerSides),c=t(a),l=N0(a)?`sf-section-corners ${Nz}`:"sf-section-corners";return s?QZ("div",{className:l,style:{display:"contents",...s},children:c}):c}}},mt1=["CollectionCard"],tD={name:"cardCorners",applies:(e,t,a)=>mt1.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 s=_z(a.cardCorners,a.cardCornerSides),c=t(a);return s?QZ("div",{className:"sf-card-corners",style:{display:"contents",...s},children:c}):c}}};var aD={name:"emptyHeadings",applies:()=>!0,panel(e,t,a){let s=a.dropEmptyHeadings,c=e.resolveFields;e.resolveFields=c?(l,r)=>{let o=c(l,r);return o instanceof Promise?o.then(i=>s(i??r.fields)):s(o??r.fields)}:(l,r)=>s(r.fields)}};var sD={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{jsx as cD,Fragment as pt1,jsxs as ut1}from"react/jsx-runtime";function dt1({anchor:e}){let t=Lh(typeof e=="string"?e:"");return t?cD("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var lD={name:"sectionAnchor",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.anchorFields;e.fields={...e.fields,...s()}},draw(e){e.defaultProps={...e.defaultProps,anchor:""};let t=e.render;e.render=a=>ut1(pt1,{children:[cD(dt1,{anchor:a.anchor}),t(a)]})}};import{jsx as ft1}from"react/jsx-runtime";import{jsx as gt1}from"react/jsx-runtime";import{useEffect as vt1,useRef as rD}from"react";function oD({motion:e,editing:t,children:a}){let s=rD(null),c=rD(e);return vt1(()=>{let l=s.current;if(l){if(t){if(c.current===e)return;c.current=e,Qz(l);return}return Jz(l)}},[e,t]),gt1("div",{ref:s,[Xz]:e,children:a})}var iD={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!ex.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.sectionAnimationFields;e.fields={...e.fields,...s()}},draw(e){let t=e,a=t.render;t.render=s=>{let c=Yz(s.sectionAnimation);return c?ft1(oD,{motion:c,editing:!!s.puck?.isEditing,children:a(s)}):a(s)}}};import{jsx as bt1}from"react/jsx-runtime";var mD={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!ax.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.heightFields;e.fields={...e.fields,...s()};let c=e.resolveFields;e.resolveFields=(l,r)=>{let o=c?c(l,r):r.fields,i=l?.props??{},n=tx(i),h=sx(i)?cx(i):null;return o&&typeof o.then=="function"?o.then(m=>hD(nD(m,n),h)):hD(nD(o,n),h)}},draw(e){let t=e.render;e.render=a=>{let s=lx(a);return s?bt1("div",{className:s.className,style:s.style,children:t(a)}):t(a)}}};function nD(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 s=a.sectionHeightValue;return s&&(a.sectionHeightValue={...s,unit:t.unit}),a}function hD(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 s=a.sectionHeightValuePhone;return s&&(a.sectionHeightValuePhone={...s,unit:t.unit}),a}import{jsx as zt1}from"react/jsx-runtime";var pD={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!Kz.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:s,SECTION_THEME_FOLLOW_LABEL:c}=a,l=Hh.has(t);e.fields={...e.fields,...l?s(p5,c):s()}},draw(e,t){let a=Hh.has(t),s=e.render;e.render=c=>{let l=k9(a?{...c,sectionAccent:p5(c.sectionAccent)}:c),r=s(c);return l?zt1("div",{className:l.className,style:l.style,children:r}):r}}},uD={name:"slideTheme",applies:e=>e==="HeroSlide",panel(e,t,a){let{sectionThemeFields:s,BLOCK_THEME_FOLLOW_LABEL:c}=a;e?.fields&&(e.fields={...e.fields,...s(p5,c)})}};var xt1=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"]),dD={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(xt1.has(e)||t.isHostBlock(e)),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}},yt1=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"]),gD={name:"blockGroups",applies:e=>yt1.has(e),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}};var wt1=["Form","Stats"];function ib(e,t){let a=new Set(e),s=Hb.filter(i=>a.has(i)),c=s.filter(i=>i!=="Header"&&i!=="Footer"&&!Yc.includes(i)),l=new Set([...t,...Wc,...wt1]),r=s.filter(i=>!l.has(i)),o=new Set(s);return{isSection:i=>o.has(i),isHostBlock:()=>!1,sectionGroupAllow:c,contentSectionKeys:r}}var Ct1=[KZ,$Z,oS,eD,tD,iS,YZ,ZH,DH,OH,GH,mD,lD,pD,iD,uD,dD,gD,aD,JZ,sD,jZ];function vD(e,t,a){let s=t;for(let c of Ct1)c.applies(e,a,s)&&(a.inspector&&c.panel?.(s,e,a.inspector,a),c.draw?.(s,e,a));return t}var fD={spacingFields:v5,sectionShapeFields:Ml,cardShapeFields:Ox,cellWidthFields:jx,widthField:f5,heightFields:Kx,anchorFields:$x,sectionThemeFields:kl,sectionAnimationFields:Dx,slider:a1,assignSectionGroups:Vl,dropEmptyHeadings:Yt,SECTION_THEME_FOLLOW_LABEL:dl,BLOCK_THEME_FOLLOW_LABEL:hx};function bD(e){let t={...ib(Object.keys(e.components),e.categories?.structure?.components??[]),inspector:fD};for(let[c,l]of Object.entries(e.components))vD(c,l,t);let a=e.root,s=a.resolveFields;return a.resolveFields=s?(c,l)=>{let r=s(c,l);return r instanceof Promise?r.then(o=>Yt(o??l.fields,"page")):Yt(r??l.fields,"page")}:(c,l)=>Yt(l.fields,"page"),t}import{Fragment as qt1,jsx as o0,jsxs as Xt}from"react/jsx-runtime";var qr0=[{value:"00",label:L.label},{value:"00",label:L.label},{value:"00",label:L.label}],Et1=uh(()=>import("./PreviewFooter-AGQCAEXO.js")),Vt1=uh(()=>import("./render-client-PVL6TTYW.js")),Nt1={padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--site-line, #e5e5e5)"};function _t1({propsTheme:e,propsFonts:t,widthMode:a,fullWidth:s,pageWidth:c,pageBackground:l,chromeInheritsSiteBackground:r,suppressPreviewNav:o,children:i}){let{originData:n,exitFocus:h}=TC(),{theme:m,fonts:p,sizes:u,themeFromDocument:g}=N3();if(!n)return Xt(lb,{propsTheme:e,propsFonts:t,widthMode:a,fullWidth:s,pageWidth:c,pageBackground:l,chromeInheritsSiteBackground:r,suppressPreviewNav:o,footer:null,children:[o0("div",{style:Nt1,children:"This is your site footer \u2014 it shows at the bottom of every page."}),i]});let d=g?e:m,f=g?t:p,v=n.content??[],x=n.root,z=ha(v)&&Ul(x,v);return Xt("div",{className:"sf-theme-accent",style:{...Jc(f),...tl(d),...al(d),...sl(d)},onClickCapture:o,children:[Xt("div",{style:{position:"relative"},children:[o0("div",{className:z?Wl:void 0,style:{...ca(d),...ll(g?void 0:u),pointerEvents:"none",userSelect:"none"},"aria-hidden":"true",children:o0(Vt1,{data:n})}),o0("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}})]}),o0("div",{className:"sf-theme-surfaces",style:{...ca(d),...cl(d)},children:o0(cb,{w:{widthMode:a,fullWidth:s,pageWidth:c},children:i})})]})}var A0=Zh,It1={formSlug:L5(void 0,"Newsletter (built in)"),_gLeft:b("Left panel"),metaLabel:G("Meta label",A0.metaLabel),issueLabel:G("Issue label",A0.issueLabel),issueNumber:G("Issue number",A0.issueNumber),kicker:G("Eyebrow",A0.kicker),heading:E1("Heading",A0.heading),deck:E1("Deck",A0.deck),stats:{type:"array",label:"Stats",arrayFields:{label:G("Label"),value:G("Value")},getItemSummary:e=>e?.label||e?.value||"Stat"},_gForm:b("Right panel \xB7 form"),formLabel:G("Section label",A0.formLabel),formHeading:G("Heading",A0.formHeading),formIntro:E1("Intro",A0.formIntro),firstNameLabel:G("First-name label",A0.firstNameLabel),firstNamePlaceholder:G("First-name placeholder",A0.firstNamePlaceholder),emailLabel:G("Email label",A0.emailLabel),emailPlaceholder:G("Email placeholder",A0.emailPlaceholder),_gChoices:b("Right panel \xB7 choices"),interestsLabel:G("Interests label",A0.interestsLabel),interests:H2("Interest chips",o0(a4,{noun:"tag"}),"Chip label","verbatim"),frequencyLabel:G("Frequency label",A0.frequencyLabel),frequencies:H2("Frequency options",o0(At1,{}),"Option label","verbatim"),_gActions:b("Right panel \xB7 actions"),submitText:G("Submit button",A0.submitText),finePrint:G("Fine print",A0.finePrint),dismissText:G("Dismiss link",A0.dismissText),emailInvalidText:G("Invalid-email error",A0.emailInvalidText),submitErrorText:G("Submit-failed error",A0.submitErrorText),_gSuccess:b("Success state"),successHeading:G("Heading",A0.successHeading),successBody:E1("Message",A0.successBody),keepBrowsingText:G("Dismiss button",A0.keepBrowsingText),...kl(p5,dl),...Ml(),_gTextStyle:b("Text style"),...Object.fromEntries(bl.map(e=>[wx[e],v1(Vh[e],Ve(Vh[e]),[{label:"Popup's own",value:""},...m5.map(t=>({label:z9[t],value:t}))],"")])),_gBehaviour:b("Behavior"),autoOpen:l1("Show by itself",A0.autoOpen,o0(Lt1,{})),trigger:b1("Trigger",o0(Pt1,{}),[{label:"Delay",value:"delay"},{label:"Scroll",value:"scroll"},{label:"Exit",value:"exit"}],A0.trigger),autoOpenDelaySec:a1("Delay",o0(nb,{}),Ih.min,Ih.max,1,A0.autoOpenDelaySec,"s"),scrollPercent:a1("Scroll",o0(Tt1,{}),Bh.min,Bh.max,5,A0.scrollPercent,"%"),showOn:b1("Pages",o0(Ht1,{}),[{label:"All",value:"all"},{label:"Chosen",value:"chosen"}],A0.showOn),showOnPages:R9("Chosen pages",[],"None"),hideAfter:b1("After close",o0(nb,{}),[{label:"This visit",value:"visit"},{label:"Days",value:"days"},{label:"Never",value:"never"}],A0.hideAfter),hideDays:a1("Days",o0(nb,{}),Rh.min,Rh.max,1,A0.hideDays),_gArrangement:b("Arrangement"),formSide:b1("Form side",o0(Ft1,{}),[{label:"Right",value:"right"},{label:"Left",value:"left"}],A0.formSide),_gPhone:b("On a phone"),valuePanelOnPhone:l1("Left panel",A0.valuePanelOnPhone,o0(Mt1,{}))},Bt1=Vl(It1,"SubscribePopup");async function Rt1(){return(await Lx(o2()??"")).filter(t=>!oa(t.slug)).map(t=>({label:t.label,value:t8(t.slug)}))}async function Zt1(e){let t=Dh(e),a=new Set;t.autoOpen||["trigger","autoOpenDelaySec","scrollPercent","showOn","showOnPages","hideAfter","hideDays"].forEach(c=>a.add(c)),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 s={};for(let[c,l]of Object.entries(Bt1))a.has(c)||(s[c]=c==="showOnPages"?{...l,options:await Rt1().catch(()=>[])}:l);return U9(s)}var i5=fl,Dt1={_gHeader:b("Header"),kickerBadge:G("Eyebrow badge",i5.kickerBadge),kickerText:G("Eyebrow text",i5.kickerText),titleLead:G("Heading",i5.titleLead),titleAccent:G("Heading accent",i5.titleAccent),subtitleEmpty:E1("Sub-line \xB7 empty",i5.subtitleEmpty),subtitleOne:E1("Sub-line \xB7 one set",i5.subtitleOne),subtitleMany:E1("Sub-line \xB7 several sets",i5.subtitleMany,"{count} becomes the number of sets"),_gStatus:b("Status rail"),leadTimeValue:G("Lead time",i5.leadTimeValue),shipsToFallback:G("Ships to \xB7 fallback",i5.shipsToFallback,"Shown only while the site serves no countries \u2014 otherwise the site's default country is stated"),_gPromises:b("Promise row"),promises:H2("Trust markers",o0(zD,{}),"Marker","verbatim"),_gEmpty:b("Empty basket"),emptyKicker:G("Eyebrow",i5.emptyKicker),emptyBody:E1("Message",i5.emptyBody)},lh={root:{fields:{...WZ,_gOpening:b("Opening filter"),openingProcess:v1("Process",c8("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"),Bk,Rr),openingSize:G("Size","Any"),openingLugs:G("Lugs","Any"),openingFinish:v1("Finish",c8("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"),Ik,Rr),openingPriceMin:G("Price from","Any"),openingPriceMax:G("Price to","Any")},resolveFields:async(e,{fields:t})=>{if(e?.props?.kind===_h)return Zt1(e.props);if(e?.props?.kind===Eh)return Dt1;let a=t;return Z2()?{[xm]:v1("Product type",o0(kt1,{}),ne,"alloy-wheel"),...a,_gHeroBullets:b("Product hero"),_nHeroBullets:g5("The promises under Add to Cart. Text before the \xB7 is bold. Leave the list empty to show no promises at all."),[gp]:H2("Trust bullets",o0(zD,{}),JM(Ia.bullets[0]),"verbatim")}:a},render:e=>{let{children:t,puck:a,widthMode:s,fullWidth:c,pageWidth:l,pageBackground:r,theme:o,fonts:i,scales:n,kind:h,previewProduct:m}=e,p=xr(typeof h=="string"?h:"",e);if(h===_h){let v=Dh(e);return Xt("div",{style:{background:"var(--bg)",minHeight:"100%"},children:[a?.isEditing?o0("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(--site-line, #e5e5e5)"},children:"This is the site popup \u2014 edit it in the Settings panel \u2192"}):null,o0(lM,{inline:!0,content:v})]})}if(h===Eh){let v=yx(e);return Xt("div",{style:{background:"var(--bg)",minHeight:"100%"},children:[a?.isEditing?o0("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(--site-line, #e5e5e5)"},children:"This is the cart drawer \u2014 edit its copy in the Settings panel \u2192"}):null,o0(cr,{children:o0(lr,{preview:!0,children:o0(Ea,{content:v})})})]})}let u=!!a?.isEditing,g=o0(YM,{kind:p,children:o0(tS,{content:QM(e),children:o0(jM,{slug:u?m:null,children:o0(Fk,{initial:Nk(e),children:t})})})}),d=h===Cx&&!ux(r);return u?h===F9?o0(_t1,{propsTheme:o,propsFonts:i,widthMode:s,fullWidth:c,pageWidth:l,pageBackground:typeof r=="string"?r:void 0,chromeInheritsSiteBackground:d,suppressPreviewNav:rb,children:g}):o0(lb,{propsTheme:o,propsFonts:i,widthMode:s,fullWidth:c,pageWidth:l,pageBackground:typeof r=="string"?r:void 0,suppressPreviewNav:rb,footer:o0(Et1,{}),overlay:Xt(qt1,{children:[o0(ep,{}),o0(hp,{})]}),children:g}):o0(GZ,{pageBackground:r,inheritBackground:d,w:{widthMode:s,fullWidth:c,pageWidth:l},children:g})}},categories:Ab(),components:{Heading:B1.Heading,Text:B1.Text,Eyebrow:B1.Eyebrow,ImageBlock:B1.ImageBlock,LogoBlock:B1.LogoBlock,ButtonBlock:B1.ButtonBlock,Spacer:B1.Spacer,Divider:B1.Divider,Grid:B1.Grid,Flex:B1.Flex,Breadcrumb:B1.Breadcrumb,Masthead:B1.Masthead,CategoryBar:B1.CategoryBar,FeaturedCover:B1.FeaturedCover,LongRead:B1.LongRead,Series:B1.Series,Subscribe:n2.Subscribe,SubscribeBlogs:n2.SubscribeBlogs,Banner:B1.Banner,ParagraphsA:B1.ParagraphsA,StatsParagraph:B1.StatsParagraph,Timeline:B1.Timeline,Footprint:B1.Footprint,TimelineTrack:B1.TimelineTrack,TitleWithButtons:B1.TitleWithButtons,Stats:B1.Stats,Integrations:B1.Integrations,Mockup:B1.Mockup,Chart:B1.Chart,KeyFeatures:B1.KeyFeatures,Testimonials:B1.Testimonials,Reviews:n2.Reviews,Prose:B1.Prose,Cards:B1.Cards,Logos:B1.Logos,Ticker:B1.Ticker,ContactRouting:n2.ContactRouting,ContactLocations:B1.ContactLocations,HeroSingle:B1.HeroSingle,Hero:B1.Hero,HeroSlide:B1.HeroSlide,HeroGroup:B1.HeroGroup,Collections:q0.Collections,CollectionCard:q0.CollectionCard,Events:n2.Events,PostCard:B1.PostCard,DocMetaCards:B1.DocMetaCards,DocTabs:B1.DocTabs,DocMasthead:B1.DocMasthead,DocBody:B1.DocBody,FAQ:B1.FAQ,Gallery:q0.Gallery,GalleryB:q0.GalleryB,BrandStrip:q0.BrandStrip,SpecStrip:B1.SpecStrip,GalleryItem:q0.GalleryItem,Manifesto:B1.Manifesto,SectionHeader:B1.SectionHeader,IntroBleed:B1.IntroBleed,Split:B1.Split,SubmitBuild:n2.SubmitBuild,SubmitBox:n2.SubmitBox,ReviewForm:n2.ReviewForm,Form:n2.Form,AppointmentBooking:n2.AppointmentBooking,BookingBox:n2.BookingBox,CatalogFilterBar:q0.CatalogFilterBar,AlloyWheelsListing:q0.AlloyWheelsListing,ProductGrid:q0.ProductGrid,ProductHero:q0.ProductHero,SpecTable:q0.SpecTable,ProcessSteps:B1.ProcessSteps,DetailRows:q0.DetailRows,FitmentTable:q0.FitmentTable,RelatedProducts:q0.RelatedProducts,BundleOffer:q0.BundleOffer,CompatibleTyres:q0.CompatibleTyres,TyreSizes:q0.TyreSizes,TyreFitment:q0.TyreFitment,EuTyreLabel:q0.EuTyreLabel,FitmentFinder:q0.FitmentFinder,OrderSummary:B1.OrderSummary,DeliveryOptions:q0.DeliveryOptions,PaymentBadges:B1.PaymentBadges,CheckoutCTA:q0.CheckoutCTA,ProductRef:q0.ProductRef,CustomHTML:B1.CustomHTML,Header:q0.Header,Footer:n2.Footer,FooterLogo:n2.FooterLogo,FooterMenu:n2.FooterMenu,FooterDivider:n2.FooterDivider,FooterGroup:n2.FooterGroup,FooterText:n2.FooterText,FooterEmailSignup:n2.FooterEmailSignup,FooterSocial:n2.FooterSocial,LegalLineBlock:n2.LegalLineBlock,SearchBlock:q0.SearchBlock,CartBlock:q0.CartBlock,CountrySwitchBlock:q0.CountrySwitchBlock,[f9]:n2.SiteHeader,[b9]:n2.SiteFooter}},Ot1={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial"};for(let[e,t]of Object.entries(Ot1)){let a=lh.components;a[e]={...a[t]}}{let e=lh.components.MenuBlock;e.fields={...e.fields,direction:b1("Direction",o0(St1,{}),[{label:Fh.column,value:"column"},{label:Fh.row,value:"row"}],"column")},e.defaultProps={...e.defaultProps,direction:"column"},e.render=({menu:t,heading:a,accordionMobile:s,showDividers:c,direction:l,puck:r})=>o0(ya,{menu:t,heading:a||void 0,accordionMobile:s,showDividers:c,layout:l==="row"?"row":"column",editing:r?.isEditing})}var Gt1=bD(lh),Wr0=Gt1.sectionGroupAllow,Yv=lh;export{Yg1 as a,Xg1 as b,Jg1 as c,Qg1 as d,ev1 as e,ib as f,vD as g,fD as h,pW as i,si1 as j,vs1 as k,BB as l,$c1 as m,Ok as n,Yc1 as o,Xc1 as p,Do1 as q,vB1 as r,pa1 as s,ua1 as t,da1 as u,ga1 as v,Ha1 as w,Fa1 as x,qZ1 as y,Rs1 as z,El1 as A,m30 as B,tp as C,yP1 as D,Tm as E,YC as F,Us1 as G,js1 as H,Ks1 as I,Js1 as J,ek as K,Fs1 as L,j10 as M,Nn as N,ot as O,l3 as P,Qq as Q,Br as R,ka as S,wG as T,Ic1 as U,ps1 as V,oI as W,pc as X,Yv as Y};
|
|
153
|
+
`):[])a(m).then(()=>h(m),()=>h(m));return()=>{n=!1}},[o]);let i=t===void 0||s.has(t)||l===void 0;return UB(()=>{i&&l!==t&&r(t)},[i,l,t]),i?t:l}import{Fragment as _71,jsx as b3,jsxs as Y3}from"react/jsx-runtime";function sf({selection:e,spec:t,vehicle:a,wheel:s}){let{manualMode:c,setManualMode:l}=e,r=Ui(e.rows,e.preOrder),o=a.appliedName!=="",i=(s?.variants??[]).some(pd),n=f_({wheel:s,applied:o,fit:a.fit,resolving:a.resolving});return b3(Cc,{vehicle:a,escape:b3("button",{type:"button",className:"cursor-pointer text-right text-accent hover:underline",onClick:()=>l(h=>!h),children:c?"\u2190 Find by vehicle":"Select by specs instead \u2192"}),override:c?Y3(r5,{tone:"quiet",children:[b3("strong",{className:"font-semibold text-fg",children:"You are choosing by the numbers."}),Y3("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.`:r?"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."," ",b3(S1,{href:"/fitment",className:"text-accent hover:underline",children:"Talk to an engineer \u2192"})]})]}):null,verdict:b3(N71,{verdict:n,car:a.appliedName}),showChangeCar:n.state!=="fits"&&n.state!=="checking",cascadeErrorNote:Y3(_71,{children:["Vehicle data is unavailable right now. Pick your wheel by its specs instead, or"," ",b3(S1,{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 N71({verdict:e,car:t}){switch(e.state){case"checking":return Y3(r5,{tone:"quiet",children:[b3("strong",{className:"font-semibold text-fg",children:"Checking fitment\u2026"})," ",Y3("span",{children:["Reading the factory wheel specs for your ",t,"."]})]});case"fits":return Y3(r5,{tone:"good",children:[Y3("strong",{className:"font-semibold text-accent",children:["\u2713 Fits your ",t]}),b3("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:e.checks.map(a=>b3("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 Y3(r5,{tone:"good",children:[Y3("strong",{className:"font-semibold text-accent",children:["\u2713 Fits your ",t]}),b3("ul",{className:"mt-2 flex flex-wrap gap-1.5",children:e.checks.map(a=>b3("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))}),Y3("span",{className:"mt-2 block border-l-2 border-alert pl-2.5",children:[b3("strong",{className:"font-semibold text-fg",children:"Check the offset. "}),X8(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."," ",b3(S1,{href:"/contact",className:"text-accent hover:underline",children:"Ask us if you are unsure \u2192"})]})]});case"no-fit":return Y3(r5,{tone:"bad",children:[Y3("strong",{className:"font-semibold",style:{color:"var(--alert)"},children:["\u2717 Does not fit your ",t]}),b3("span",{className:"mt-1.5 block",children:X8(e.failure)})]});case"unknown":return Y3(r5,{tone:"quiet",children:[b3("strong",{className:"font-semibold text-fg",children:e.missing==="vehicle"?`We cannot check this wheel against your ${t}`:"We cannot check this wheel"}),Y3("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."," ",b3(S1,{href:"/contact",className:"text-accent hover:underline",children:"Ask us before you order \u2192"})]})]});default:return null}}import{useState as eR}from"react";import{useCallback as JB,useRef as I71,useState as B71}from"react";function XB(e,t,a){return{productSlug:e,email:a.trim(),size:t?u8(t):""}}function QB(){let[e,t]=B71("idle"),a=I71(!1),s=JB(()=>{a.current=!1,t("idle")},[]),c=JB(async({productSlug:l,size:r,email:o,dryRun:i=!1})=>{if(!a.current){if(!ce(o)){t("invalid");return}a.current=!0,t("sending");try{i||await g0.createPreOrderIntent(XB(l,r,o))}catch{a.current=!1,t("error");return}a.current=!1,t("sent")}},[]);return{status:e,submit:c,reset:s}}import{jsx as qt,jsxs as Wt}from"react/jsx-runtime";function cf({wheel:e,editing:t=!1}){let a=e.sizePairs??[],[s,c]=eR(a.length>0?0:-1),[l,r]=eR(""),{status:o,submit:i,reset:n}=QB(),h=s>=0?a[s]??null:null;function m(){i({productSlug:e.slug,size:h,email:l,dryRun:t})}return Wt("div",{className:"flex flex-col gap-5 border-t border-line pt-[18px]",children:[Wt("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:[qt("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&&Wt("div",{children:[Wt("div",{className:"mb-3.5 font-mono text-[13px] font-semibold uppercase tracking-[0.22em] text-fg",children:["Size \xB7"," ",qt("span",{className:"text-accent",children:h?u8(h):"Select a size"})]}),qt("div",{className:"flex flex-wrap gap-1.5",children:a.map((p,u)=>{let g=u===s;return Wt("button",{type:"button",onClick:()=>{c(u),o==="sent"&&n()},className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",g?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:g?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[g&&qt("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),qt("span",{className:"block text-[14px] tracking-[0.18em]",children:u8(p)})]},u8(p))})})]}),o==="sent"?Wt("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,"."]}):qt(wc,{email:l,onEmailChange:r,status:o,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 R71}from"react";import{Fragment as Z71,jsx as Dn}from"react/jsx-runtime";function On({src:e,alt:t,fallback:a,fill:s=!1,width:c,height:l,sizes:r,className:o,style:i,priority:n,draggable:h,imageKey:m,imageWrapperClassName:p,onImageClick:u,imageButtonClassName:g,imageButtonLabel:d}){let[f,v]=R71(null),x=e||"";if(!(x!==""&&f!==x))return Dn(Z71,{children:a});let C=Dn(V3,{src:x,alt:t,...s?{fill:!0}:{width:c??1e3,height:l??1e3},sizes:r,className:o,style:i,priority:n,draggable:h,onError:()=>v(x)},m??x),M=p?Dn("div",{className:p,children:C}):C;return u?Dn("button",{type:"button",onClick:u,"aria-label":d,className:g,children:M}):M}function tR(e){let t=e.angles??(e.src?[e.src]:[]),a=[],s=[];for(let c of t)(c.split("/").pop()??"").includes("20-20")?a.push(c):s.push(c);return[...s,...a]}import{Fragment as aR,jsx as B4,jsxs as O71}from"react/jsx-runtime";function Gn(e,t){return e.captions[t]?.trim()||`Photo ${t+1}`}function qn({text:e}){return e==="FusionForge\xAE"?O71(aR,{children:["FusionForge",B4(t6,{})]}):B4(aR,{children:e})}function sR(e,t,a){if(e.kind==="tyre"){let h=e.source,m=t.shown.size??h.sizes[0]??"",p=h.variants.find(d=>d.size===m),u=p?.specs.tireType??h.variants[0]?.specs.tireType??null,g=[p?.image,h.coverImage].filter(d=>!!d);return{heading:yi(h.brand,h.name),photos:g.slice(0,1),tint:void 0,stageImage:()=>B4(l6,{image:p?.image??h.coverImage,size:m,type:u,sizes:Zn,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:B4(af,{slug:h.slug,variants:h.variants,vehicle:t.vehicle,manualMode:t.manualMode,setManualMode:t.setManualMode}),vehicleMemory:t.manualMode?null:B4(ef,{vehicle:t.vehicle}),vehicleAnswersSpecs:!1,preOrder:null}}let s=e.source,c=KE(s,t.shown.finish),l=F7(s,t.part),r=Yi(t),o=zd(c,r),i=o?[...o]:tR(c),n=i.length>0?i:s.coverImage?[s.coverImage]:[];return{heading:e.name,photos:n,tint:c.color,stageImage:({photo:h,alt:m,label:p,onZoom:u,fit:g})=>B4(On,{src:h,alt:m,fill:!0,sizes:Zn,className:g==="cover"?"object-cover":"object-contain",priority:!0,onImageClick:u,imageButtonClassName:"relative block h-[88%] w-[88%] cursor-zoom-in",imageButtonLabel:p,fallback:B4(m8,{spokes:s.spokes,mesh:s.mesh,className:"block h-[70%] w-[70%]"})}),thumbImage:({photo:h,alt:m})=>B4(On,{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:B4(m8,{spokes:s.spokes,mesh:s.mesh,className:"block h-[55%] w-[55%]"})}),captions:n.map(h=>c.captions?.[h]),thumbFallbackCells:4,galleryHint:D71(n,c,r,t.manualMode),metaValue:c.name,specCaption:l?Es(l):"",originCaption:s.process==="FusionForge\xAE"?"FusionForge\xAE \xB7 Hybrid":`${s.process} \xB7 1-piece`,unitLabel:"per wheel",vehicle:B4(sf,{selection:t,spec:l?Es(l):"",vehicle:t.vehicle,wheel:s}),vehicleMemory:t.manualMode?null:B4(ef,{vehicle:t.vehicle}),vehicleAnswersSpecs:!0,preOrder:B4(cf,{wheel:s,editing:a})}}function D71(e,t,a,s){return e.length>=2||a!=null||!Object.values(t.lugRenderings??{}).some(l=>Array.isArray(l)&&l.filter(Boolean).length>=2)?"":s?"Pick a bolt pattern to see every angle":"Pick your vehicle to see every angle"}import{createContext as G71,useContext as q71,useEffect as W71,useState as cR}from"react";import{jsx as j71}from"react/jsx-runtime";var lR="storefront-wishlist";function U71(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var rR=G71(null);function m30({children:e}){let[t,a]=cR([]),[s,c]=cR(!1);W71(()=>{let o=J2.getItem(lR);try{o&&a(U71(o))}catch{}c(!0)},[]);function l(o){let i=t.includes(o)?t.filter(n=>n!==o):[...t,o];a(i),J2.setItem(lR,JSON.stringify(i))}let r={slugs:t,ready:s,has:o=>t.includes(o),toggle:l,count:t.length};return j71(rR.Provider,{value:r,children:e})}function oR(){let e=q71(rR);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}var iR="data-option-row";import{Fragment as o5,jsx as x1,jsxs as K1}from"react/jsx-runtime";var $71=4e3;function Y71(e){return e?[e.year,e.make,e.model,e.modification].join("-"):""}function Ut({product:e,selection:t,onLightbox:a,editing:s=!1,pricePlacement:c="top",showVehicleFitment:l=!0,heroLayout:r=O7,imageRatio:o=G7,textAlign:i=a9,showSpecTable:n=!0,showPriceQuote:h=!0,galleryMode:m=q7,imageFit:p=W7}){let u=Et(r),g=vn(i),d=fn(o),f=bn(m),v=zI(zn(p),BE(e)),x=u==="imageRight"?`${100-d}fr ${d}fr`:`${d}fr ${100-d}fr`,{picked:z,pick:C,qty:M,setQty:A,choice:V,setChoice:E,angleIdx:O,setAngleIdx:F,showValidation:T,setShowValidation:N,manualMode:B,vehicle:P,rows:D,facts:c1,part:Z,outOfStock:q,offer:K,preOrder:W,canAddToCart:r1,currency:z1,price:$,set:e1,msrpLabel:d1}=t,U=sR(e,t,s),{bullets:p1}=aS(),f1=FE(e),H0=EE(e),F0=l?U.vehicle:null,A1=l?U.vehicleMemory:null,[a0,s0]=hR(!1);lf(()=>{let X=()=>{s0(document.documentElement.getAttribute("data-theme")==="light")};X();let C1=new MutationObserver(X);return C1.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>C1.disconnect()},[]);let{add:$1,open:y2,warmCatalog:e0}=r4();lf(()=>{s||e0(e.kind)},[s,e.kind,e0]);let S2=D.filter(X=>!W||X.values.length>0),d0=S2.filter(X=>X.role==="resolves"),m1=S2.filter(X=>X.role==="describes"&&!RE(H0,X.key)),U1=m1.findIndex(X=>X.chosen===null),i0=(!F0||!U.vehicleAnswersSpecs||t.fitmentSet)&&Ui(D,W)?U1===-1?m1:m1.slice(0,U1+1):[],T0=[...d0,...i0],y0=K1("div",{className:"flex items-baseline gap-5 border-t border-line pt-[18px]",children:[d1&&x1("div",{className:"font-mono text-[length:var(--size-label,15px)] text-fg-dim line-through",children:d1}),x1("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?vw($,z1):se($,z1)}),$.priced&&x1("div",{className:"font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:U.unitLabel}),$.setTotal!=null&&K1("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:[K.quantityLabel,": ",B2(e1,z1)]})]}),r2=K71(null);return lf(()=>{s||r2.current===e.slug||(r2.current=e.slug,fw({itemId:Z?`${e.slug}|${Z.id}`:e.slug,itemName:e.name,variant:U.metaValue,pricePerSet:$.setTotal??$.fromSetTotal??0,currency:z1}))},[s,e.slug,e.name,U.metaValue,Z,$,z1]),K1(o5,{children:[x1("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:a0?void 0:{background:"var(--section-bg)"},children:e.crumbs.map((X,C1)=>K1("span",{children:[C1>0&&K1(o5,{children:[x1("span",{className:"mx-3 text-accent",children:"/"}),x1("wbr",{})]}),X.href?x1(S1,{href:X.href,className:"hover:text-fg",children:x1(qn,{text:X.label})}):x1("span",{className:"text-fg",children:x1(qn,{text:X.label})})]},`${X.label}-${C1}`))}),K1("section",{"data-hero-layout":u,"data-hero-align":g,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:{...a0?{}:{background:"var(--section-bg)"},...u==="stacked"?{}:{"--hero-cols":x}},children:[K1("div",{"data-hero-gallery":f,"data-hero-fit":v,className:f==="tiled"?"flex items-start gap-3 max-[720px]:gap-2":void 0,style:u==="imageRight"?{order:2}:void 0,children:[K1("div",{className:f==="tiled"?"min-w-0 flex-1":void 0,children:[x1(Q71,{name:e.name,view:U,angleIdx:O,onSelect:F,isLight:a0,onLightbox:a,fit:v}),U.galleryHint&&x1("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:U.galleryHint})]}),f!=="main"&&x1(e81,{name:e.name,view:U,angleIdx:O,onSelect:F,isLight:a0,tiled:f==="tiled"})]}),K1("div",{className:["flex flex-col gap-7",g==="center"?"items-center text-center":""].filter(Boolean).join(" "),style:u==="imageRight"?{order:1}:void 0,children:[K1("div",{children:[K1("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:[x1("span",{children:x1(qn,{text:e.eyebrow})}),e.badge&&K1(o5,{children:[x1("span",{children:"\xB7"}),x1("span",{children:e.badge})]})]}),x1("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)] [text-transform:var(--sf-heading-case,uppercase)] leading-[0.92] tracking-[-0.035em]",children:(()=>{let X=U.heading.lastIndexOf(" ");if(X===-1)return U.heading;let C1=U.heading.slice(0,X),n0=U.heading.slice(X+1);return K1(o5,{children:[C1," ",K1("em",{className:"font-normal italic text-accent",children:[n0,"."]})]})})()})]}),c!=="belowSpecs"&&h&&y0,A1,d0.map(X=>x1(nR,{row:X,onPick:C},X.key)),W&&U.preOrder?K1(o5,{children:[c==="belowSpecs"&&h&&y0,U.preOrder]}):K1(o5,{children:[F0,i0.map(X=>x1(nR,{row:X,onPick:C},X.key)),n&&x1(X71,{facts:c1}),(K.packs.length>0||K.extra||K.spareCounts.length>0)&&K1("div",{className:"border-b border-line pb-[26px]",children:[K.packs.length>0&&K1(o5,{children:[x1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:"How many"}),x1("div",{className:"flex flex-wrap gap-1.5",children:K.packs.map(X=>K1("button",{type:"button",onClick:()=>E(C1=>({...C1,unit:X.value})),"aria-pressed":V.unit===X.value,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",V.unit===X.value?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:V.unit===X.value?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[V.unit===X.value&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),x1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:X.label})]},X.value))})]}),K.extra&&K1("label",{className:`${K.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:[x1("input",{type:"checkbox",checked:V.spares>0,onChange:X=>E(C1=>({...C1,spares:X.target.checked?Jl:0})),className:"h-4 w-4 cursor-pointer accent-[var(--accent)]"}),K.extra.label]}),K.spareCounts.length>0&&K1(o5,{children:[x1("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:O8.howMany}),x1("div",{className:"flex flex-col gap-1.5 sm:flex-row sm:flex-wrap",children:K.spareCounts.map(X=>{let C1=X.value-X6,n0=V.spares===C1;return K1("button",{type:"button",onClick:()=>E(V0=>({...V0,spares:C1})),"aria-pressed":n0,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",n0?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:n0?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[n0&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),K1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:[X.value," \xB7 ",X.label]})]},X.value)})})]}),K.spareSide&&K1(o5,{children:[x1("div",{className:"mb-3.5 mt-[26px] font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:K.spareSide.label}),x1("div",{className:"flex flex-wrap gap-1.5",children:K.spareSide.options.map(X=>{let C1=V.spareSide===X.value;return K1("button",{type:"button",onClick:()=>E(n0=>({...n0,spareSide:X.value})),"aria-pressed":C1,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",C1?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:C1?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[C1&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),x1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:X.label})]},X.value)})})]})]}),c==="belowSpecs"&&h&&y0,K1("div",{className:DB,children:[!(f1&&!$.priced)&&x1(Pa,{value:M,onChange:A,size:"large"}),f1&&!$.priced?x1(S1,{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:er}):$.priced?q?x1("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"}):K1("button",{type:"button",[Q9]:"",onClick:()=>{if(!r1){N(!0),window.setTimeout(()=>N(!1),$71);return}if(N(!1),s)return;let X=JE(e,Z,z,{choice:V,qty:M},{fitmentLabel:B?U.specCaption:P.appliedName?`For ${P.appliedName}`:"",fitmentKey:B?`manual|${U.specCaption}`:`vehicle|${Y71(P.applied?.vehicle)}`});X&&($1(X),y2())},"aria-disabled":!r1,className:["flex-1 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] transition-colors",r1?"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:r1?void 0:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:["Add to Cart",$.setTotal!=null?` \xB7 ${B2(e1,z1)}`:""]}):x1("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:J6}),x1(t81,{slug:e.slug,name:e.name})]}),q&&Z&&x1(a81,{partNumbers:Z.components.map(X=>X.partNumber),productSlug:e.slug},Z.id),T&&(()=>{let X=T0.filter(n0=>n0.chosen===null).map(n0=>n0.prompt.replace(/^Select\s+/i,""));if(F0&&U.vehicleAnswersSpecs&&!t.fitmentSet&&X.push("vehicle fitment"),X.length===0)return null;let C1=X.length===1?X[0]:X.length===2?`${X[0]} and ${X[1]}`:`${X.slice(0,-1).join(", ")}, and ${X.at(-1)}`;return K1("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 ",C1," first."]})})()]}),p1.length>0&&x1("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:p1.map((X,C1)=>K1("li",{children:[x1("strong",{className:"font-bold text-accent",children:X.label}),X.detail?` ${_a} ${X.detail}`:""]},`${X.label}-${C1}`))})]})]})]})}function X71({facts:e}){return e.length===0?null:K1("div",{className:"border-b border-line pb-[26px]",children:[x1("dl",{className:"flex flex-col gap-2",children:e.map(t=>K1("div",{className:"flex flex-wrap items-baseline gap-x-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.22em]",children:[K1("dt",{className:"text-fg-dim",children:[t.label," \xB7"]}),x1("dd",{className:"font-semibold text-fg",children:t.value.label})]},t.key))}),x1("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 nR({row:e,onPick:t}){if(e.values.length===0&&!e.empty)return null;let a=e.values.find(c=>c.value===e.chosen),s=a&&[a.label,a.note].filter(Boolean).join(" \xB7 ");return K1("div",{className:"border-b border-line pb-[26px]",[iR]:e.key,children:[K1("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 ",x1("span",{className:"text-accent",children:s??e.prompt})]}),e.values.length===0?K1("p",{className:"font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:[e.empty.text," ",x1(S1,{href:e.empty.href,className:"text-accent hover:underline",children:e.empty.linkText})]}):e.display==="swatch"?x1("div",{className:"grid grid-cols-2 gap-2",children:e.values.map(c=>{let l=c.value===e.chosen;return K1("button",{type:"button",onClick:()=>t(e.key,c.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&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),x1("span",{className:"block h-5 w-5 shrink-0 rounded-full border border-fg-dim",style:{background:c.swatch}}),x1("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:c.label})]},c.value)})}):x1("div",{className:"flex flex-wrap gap-1.5",children:e.values.map(c=>{let l=c.value===e.chosen;return K1("button",{type:"button",onClick:()=>t(e.key,c.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&&x1("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),x1("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:c.label}),c.note&&x1("span",{className:"mt-1 block text-[length:var(--size-label,11px)] tracking-[0.12em] text-fg-dim",children:c.note})]},c.value)})})]})}function mR(e){return e.photos.length>0?e.photos.length:e.thumbFallbackCells}var J71=6;function Q71({name:e,view:t,angleIdx:a,onSelect:s,isLight:c,onLightbox:l,fit:r}){let o=t.photos[Math.min(a,t.photos.length-1)],i=YB(t.photos,o),n=mR(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]?Gn(t,p):"",g=[e,t.metaValue,u].filter(Boolean).join(" \u2014 "),d="max-[720px]:static",f=["relative flex aspect-square items-center justify-center overflow-hidden max-[720px]:col-span-2",c?"bg-bg":""].join(" ");return K1("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:[K1("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 ${d} max-[720px]:min-w-0 max-[720px]:flex-wrap max-[720px]:gap-x-2 max-[720px]:gap-y-1`,children:[h&&K1(o5,{children:[K1("span",{className:"text-accent",children:[String(a+1).padStart(2,"0")," / ",m]}),x1("span",{className:"text-fg-dim",children:"\xB7"})]}),x1("span",{children:e}),t.metaValue&&K1(o5,{children:[x1("span",{className:"text-fg-dim",children:"\xB7"}),x1("span",{className:"text-accent",children:t.metaValue})]})]}),h&&x1("div",{className:`absolute right-5 top-5 z-10 flex gap-1 ${d}`,children:$B(a,n,s).map(x=>x1("button",{type:"button","aria-label":x.label,title:x.label,onClick:x.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:x.glyph},x.label))}),K1("div",{className:f,children:[["top-3 left-3","top-3 right-3","bottom-3 left-3","bottom-3 right-3"].map((x,z)=>x1("span",{className:`absolute ${x} h-3 w-3 border border-fg-dim/40`,style:{borderTop:x.includes("top")?"1px solid var(--site-line)":"none",borderBottom:x.includes("bottom")?"1px solid var(--site-line)":"none",borderLeft:x.includes("left")?"1px solid var(--site-line)":"none",borderRight:x.includes("right")?"1px solid var(--site-line)":"none"}},z)),t.stageImage({photo:i,alt:g,label:`Open ${[e,t.metaValue].filter(Boolean).join(" ")} at full resolution`,onZoom:()=>l(i,g),fit:r})]}),K1("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 ${d} max-[720px]:col-span-2 max-[720px]:flex-wrap`,children:[x1("span",{children:t.specCaption}),x1("span",{children:t.originCaption})]})]})}function e81({name:e,view:t,angleIdx:a,onSelect:s,isLight:c,tiled:l=!1}){let r=mR(t);return r<2?null:x1("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&&r>4?{gridTemplateColumns:`repeat(${Math.min(r,J71)}, minmax(0, 1fr))`}:void 0,children:Array.from({length:r}).map((o,i)=>{let n=t.photos[i];return K1("button",{type:"button",onClick:()=>s(i),"aria-label":`View ${Gn(t,i)}`,className:["relative flex aspect-square items-center justify-center overflow-hidden transition-colors",c?"bg-bg":"",i===a?"border border-accent":"border border-transparent hover:border-fg-dim"].join(" "),style:{color:t.tint},children:[x1("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 ${Gn(t,i)}`})]},i)})})}function t81({slug:e,name:t}){let{has:a,toggle:s}=oR(),c=a(e);return x1("button",{type:"button",title:c?"Saved":"Save","aria-label":c?`Remove ${t} from wishlist`:`Save ${t} to wishlist`,"aria-pressed":c,onClick:()=>s(e),className:["h-12 w-12 cursor-pointer border-2 bg-transparent transition-colors",c?"border-accent text-accent":"border-fg-dim/50 text-fg hover:border-accent hover:text-accent"].join(" "),children:c?"\u2665":"\u2661"})}function a81({partNumbers:e,productSlug:t}){let[a,s]=hR(""),{status:c,submit:l,reset:r}=Mi();function o(){l({partNumbers:e,email:a,productSlug:t})}return c==="sent"?x1("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."}):x1(wc,{className:"-mt-1",email:a,onEmailChange:s,status:c,onResetVerdict:r,onSubmit:o,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 l81,jsx as kc,jsxs as r81}from"react/jsx-runtime";function rf({slug:e,kind:t="wheel",editing:a=!1,pricePlacement:s,showVehicleFitment:c=!0,...l}){let[r,o]=pR(null),[i,n]=pR(!1);return s81(()=>{let h=!1;return o(null),n(!1),(t==="tyre"?g0.getTyre(e).then(p=>({kind:"tyre",tyre:p})):g0.getWheel(e).then(p=>({kind:"wheel",wheel:p}))).then(p=>{h||o(p)}).catch(()=>{h||n(!0)}),()=>{h=!0}},[e,t]),i?kc(M4,{size:"tall",children:"Couldn\u2019t load this product."}):r?kc(c81,{record:r,editing:a,pricePlacement:s,showVehicleFitment:c,...l}):kc(M4,{size:"tall",children:"Loading product\u2026"})}function c81({record:e,editing:t=!1,pricePlacement:a,showVehicleFitment:s=!0,...c}){let l=e.kind==="tyre"?Xi(e.tyre):Vs(e.wheel),r=ac(l,{editing:t}),o=tc();return r81(l81,{children:[kc(Ut,{product:l,selection:r,onLightbox:o.open,editing:t,pricePlacement:a,showVehicleFitment:s,...c}),kc(Ct,{item:o.item,onClose:o.close})]})}import{Fragment as h81,jsx as K7,jsxs as m81}from"react/jsx-runtime";var o81=R3;function Wn({editing:e=!1,pricePlacement:t,showVehicleFitment:a=!0,...s}){let c=$0();return K7(b2,{kinds:o81,type:"ProductHero",editing:e,children:c?K7(Ut,{product:c.product,selection:c.selection,onLightbox:c.openLightbox,editing:e,pricePlacement:t,showVehicleFitment:a,...s}):e?K7(i81,{pricePlacement:t,showVehicleFitment:a,...s}):K7(M4,{size:"tall",children:"Bound to the current product \u2014 preview on a product page."})})}function i81({pricePlacement:e,showVehicleFitment:t,...a}){let s=d3(!0);return s?K7(n81,{product:s,pricePlacement:e,showVehicleFitment:t,...a}):K7(M4,{size:"tall",children:"Loading sample product\u2026"})}function n81({product:e,pricePlacement:t,showVehicleFitment:a,...s}){let c=ac(e,{editing:!0}),l=tc();return m81(h81,{children:[K7(Ut,{product:e,selection:c,onLightbox:l.open,editing:!0,pricePlacement:t,showVehicleFitment:a,...s}),K7(Ct,{item:l.item,onClose:l.close})]})}import{jsx as Mc}from"react/jsx-runtime";function p81({source:e,editing:t=!1,pricePlacement:a=Pt,showVehicleFitment:s=!0,heroLayout:c=O7,imageRatio:l=G7,textAlign:r=a9,showSpecTable:o=!0,showPriceQuote:i=!0,galleryMode:n=q7,imageFit:h=W7}){let m={heroLayout:c,imageRatio:l,textAlign:r,showSpecTable:o,showPriceQuote:i,galleryMode:n,imageFit:h};return $0()||t&&Z2()?Mc(Wn,{editing:t,pricePlacement:a,showVehicleFitment:s,...m}):e?.slug?Mc(rf,{slug:e.slug,kind:e.kind??"wheel",editing:t,pricePlacement:a,showVehicleFitment:s,...m}):t?Mc(M4,{size:"tall",children:"Pick a product in the panel to fill this hero."}):Mc(Wn,{pricePlacement:a,showVehicleFitment:s,...m})}var uR={label:"Product Hero",defaultProps:{source:null,pricePlacement:Pt,showVehicleFitment:!0,heroLayout:O7,imageRatio:G7,textAlign:a9,showSpecTable:!0,showPriceQuote:!0,galleryMode:q7,imageFit:W7},render:e=>Mc(p81,{source:e.source,editing:e.puck?.isEditing,pricePlacement:fI(e.pricePlacement),showVehicleFitment:e.showVehicleFitment??!0,heroLayout:Et(e.heroLayout),imageRatio:fn(e.imageRatio),textAlign:vn(e.textAlign),showSpecTable:e.showSpecTable??!0,showPriceQuote:e.showPriceQuote??!0,galleryMode:bn(e.galleryMode),imageFit:zn(e.imageFit)})};import{jsx as u81}from"react/jsx-runtime";var dR={label:"Product",defaultProps:{code:"",finish:""},render:e=>u81(Qg,{code:e.code||void 0,finish:e.finish||void 0,wheel:e.wheel})};import{jsx as d81}from"react/jsx-runtime";var gR={label:"Search",defaultProps:{style:"icon"},render:({style:e,puck:t})=>d81(lB,{style:e,editing:t?.isEditing})};import{useEffect as v81,useRef as f81}from"react";import{jsx as Sc,jsxs as vR}from"react/jsx-runtime";var g81={fits:{className:"font-medium",style:{color:"var(--green)"}},doesNotFit:{className:"text-fg-dim"},unknown:{className:"text-fg-dim"}};function of({variants:e,answer:t,loading:a=!1}){return t?vR("div",{className:"mt-9",children:[Sc("p",{className:"max-w-[68ch] font-serif text-[length:var(--size-body,18px)] italic leading-[1.55] text-fg-dim",children:Bn(t)}),Sc("ul",{className:"mt-6 grid gap-[2px] border border-line bg-line",children:e.map(s=>{let c=Fa(t,s.sku),l=g81[c];return vR("li",{className:"flex items-baseline justify-between gap-6 bg-bg px-[18px] py-4",children:[Sc("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.14em] text-fg",children:s.size}),Sc("span",{className:`font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] ${l.className}`,style:l.style,children:Rn[c]})]},s.sku)})})]}):a?Sc("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 nf,jsxs as fR}from"react/jsx-runtime";var hf="Will it fit *your car?*",mf="Pick your vehicle and we\u2019ll tell you which of these sizes matches what it came on.",pf="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";function df({num:e,title:t=hf,description:a=mf,escapeText:s,escapeHref:c,omitHead:l=!1,slug:r,variants:o,onAnswer:i}){let n=N4({autoApply:!0}),{answer:h,loading:m}=In(r,Jr(n.applied?.vehicle)),p=f81(i);return p.current=i,v81(()=>{p.current?.(h)},[h]),fR("section",{className:l?uf:pf,children:[l?null:nf(Q1,{num:e,title:t,description:a,accent:!0}),nf($3,{cascade:n.cascade}),s&&c?fR("a",{href:c,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:[s," \u2192"]}):null,nf(of,{variants:o,answer:h,loading:m})]})}import{jsx as Lc,jsxs as x81}from"react/jsx-runtime";var b81=["tyre"];function gf(e){return Lc(b2,{kinds:b81,type:"TyreFitment",editing:e.editing,children:Lc(z81,{...e})})}function z81({num:e,title:t,description:a,escapeText:s,escapeHref:c,omitHead:l=!1,editing:r=!1}){let o=$0(),i=d3(r&&!o),n=o?.product??i,h=n?.kind==="tyre"?n.source:null;return!h||h.variants.length===0?r?x81("section",{className:l?uf:pf,children:[l?null:Lc(Q1,{num:e,title:t||hf,description:a||mf,accent:!0}),Lc("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:Lc(df,{num:e,title:t||void 0,description:a||void 0,escapeText:s,escapeHref:c,omitHead:l,slug:h.slug,variants:h.variants})}import{jsx as y81}from"react/jsx-runtime";var bR={label:"Tyre Fitment Form",defaultProps:{num:"",title:"",description:"",escapeText:"",escapeHref:""},render:e=>{let t=D1(e.headPlacement)==="own-box",a=l=>t?void 0:l,s=t1(e.escapeText),c=t1(e.escapeHref);return y81(gf,{num:a(y(e.num,U0.num,e.puck)),title:a(y(e.title,L.sectionHeading,e.puck)),description:a(y(e.description,L.body,e.puck)),escapeText:s,escapeHref:c,omitHead:t,editing:e.puck?.isEditing})}};import{jsx as $7,jsxs as yR}from"react/jsx-runtime";var zR="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",xR="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",w81=[],C81=["tyre"];function vf(e){return $7(b2,{kinds:C81,type:"TyreSizes",editing:e.editing,children:$7(k81,{...e})})}function k81({num:e,title:t,description:a,editing:s=!1,omitHead:c=!1}){let l=$0(),r=d3(s&&!l),o=l?.product??r,i=o?.kind==="tyre"?o.source.variants:[],n=c?null:$7(Q1,{num:e?k(e):void 0,title:Y(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 s?yR("section",{className:c?xR:zR,children:[n,$7("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 yR("section",{className:c?xR:zR,children:[n,$7(M81,{variants:i,fieldUsage:l?.fieldUsage??w81}),$7(Q4,{text:h?Yr:""})]})}function M81({variants:e,fieldUsage:t}){let{currency:a,formatPrice:s}=p0();return $7("div",{className:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:e.map(c=>$7(Qs,{fieldUsage:t,size:c.size,specs:c.specs,prices:c.prices,image:c.image,inStock:c.inStock,currency:a,formatPrice:s},c.sku))})}import{jsx as S81}from"react/jsx-runtime";var wR={label:"Tyre Sizes",defaultProps:{num:"",title:"",description:""},render:e=>{let t=D1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return S81(vf,{num:a(y(e.num,U0.num,e.puck)),title:a(y(e.title,L.sectionHeading,e.puck)),description:a(y(e.description,L.body,e.puck)),omitHead:t,editing:e.puck?.isEditing})}};var CR={AlloyWheelsListing:_V,BrandStrip:YI,BundleOffer:tB,CartBlock:iB,CatalogFilterBar:yB,CheckoutCTA:aN,CollectionCard:CB,Collections:iN,CompatibleTyres:RN,CountrySwitchBlock:kB,DeliveryOptions:GN,DetailRows:s_,EuTyreLabel:MB,FitmentFinder:h_,FitmentTable:F_,Gallery:B_,GalleryB:j_,GalleryItem:SB,Header:ZB,ProductGrid:hI,ProductHero:uR,ProductRef:dR,RelatedProducts:SI,SearchBlock:gR,SpecTable:OI,TyreFitment:bR,TyreSizes:wR};var L81={AlloyWheelsListing:RV,BrandStrip:qV,BundleOffer:WV,CartBlock:UV,CatalogFilterBar:eN,CheckoutCTA:sN,CollectionCard:rN,Collections:hN,CompatibleTyres:ZN,CountrySwitchBlock:DN,DeliveryOptions:WN,DetailRows:l_,EuTyreLabel:r_,FitmentFinder:m_,FitmentTable:T_,Gallery:D_,GalleryB:K_,GalleryItem:eI,Header:tI,ProductGrid:pI,ProductHero:xI,ProductRef:MI,RelatedProducts:LI,SearchBlock:AI,SpecTable:qI,TyreFitment:WI,TyreSizes:UI},q0=Re(CR,L81);import{jsx as f4,jsxs as Un}from"react/jsx-runtime";function bf(e={}){let t=Yy();return f4(CS,{editing:e.editing,previewConfirmation:!!e.nodeId&&t===e.nodeId,children:f4(A81,{...e})})}var kR="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]",ff="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function A81({eyebrow:e,heading:t,intro:a,buttonLabel:s,successMessage:c,boxes:l,inBoxes:r=!1}){let{fieldPrefix:o,editing:i,services:n,currency:h,serviceId:m,setServiceId:p,requiresPayment:u,date:g,earliestDate:d,setDate:f,setDateTouched:v,availability:x,loadingSlots:z,noSlotsMessage:C,selectedStart:M,setSelectedStart:A,customerTimezone:V,name:E,setName:O,email:F,setEmail:T,phone:N,setPhone:B,notes:P,setNotes:D,confirmation:c1,submitting:Z,error:q,canSubmit:K,handleSubmit:W,sample:r1}=p7(),z1=r1?f4("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,$=n===void 0?f4("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments\u2026"}):n?.length===0?f4("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 r&&l?f4("section",{className:"relative z-[2] border-t border-line bg-surface",children:Un("div",{className:kR,children:[z1,c1?f4(l,{className:`${ff} items-start`}):Un("form",{onSubmit:W,children:[f4(l,{className:`${ff} items-start`}),$]})]})}):f4("section",{className:"relative z-[2] border-t border-line bg-surface",children:Un("div",{className:kR,children:[z1,f4(go,{eyebrow:e,heading:t,intro:a}),c1?f4(bo,{successMessage:c}):$||Un("form",{onSubmit:W,className:ff,children:[f4(vo,{}),f4(fo,{buttonLabel:s})]})]})})}import{jsx as H81}from"react/jsx-runtime";var zf={boxes:{type:"slot",allow:["BookingBox"]}},MR={label:"Booking Form",fields:zf,defaultProps:{eyebrow:"",heading:"",intro:"",buttonLabel:"",successMessage:""},render:e=>H81(bf,{eyebrow:y(e.eyebrow,L.eyebrow,e.puck),heading:y(e.heading,L.heading,e.puck),intro:y(e.intro,L.body,e.puck),buttonLabel:y(e.buttonLabel,L.button,e.puck),successMessage:y(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 SR={fields:{_gContent:b("Content"),eyebrow:G("Eyebrow"),heading:E1("Heading"),intro:E1("Introduction"),buttonLabel:G("Submit button"),successMessage:E1("Confirmation message"),boxes:zf.boxes},resolveFields:(e,{fields:t})=>{if(e.props.layout!=="boxes")return t;let{eyebrow:a,heading:s,intro:c,buttonLabel:l,successMessage:r,...o}=t;return o}};var LR={fields:{_gTextStyle:b("Text style"),...Object.fromEntries(zo.map(e=>[xo[e],v1(Hp[e],Ve(Hp[e]),[{label:"Section's own",value:""},...m5.map(t=>({label:z9[t],value:t}))],"")])),_gContent:b("Content"),eyebrow:G("Eyebrow"),heading:E1("Heading"),intro:E1("Introduction"),buttonLabel:G("Submit button"),successMessage:E1("Confirmation message")},resolveFields:(e,{fields:t})=>{let a=e.props.region,s=t,c=zo.map(r=>xo[r]),l=r=>Object.fromEntries(Object.entries(s).filter(([o])=>o.startsWith("_")||c.includes(o)||r.includes(o)));return l(a==="head"?["eyebrow","heading","intro"]:a==="details"?["buttonLabel"]:a==="confirm"?["successMessage"]:[])}};import{EyeIcon as F81,LinkIcon as AR,EyeOffIcon as T81}from"efficient-easel/icons";import{jsx as Ac}from"react/jsx-runtime";var HR={fields:{_gTop:b("Routing groups"),routingNumber:H("Section number",v0.routingNumber),routingTagline:H("Eyebrow",v0.routingTagline),groups:{type:"array",label:"Groups",arrayFields:{eyebrow:G("Eyebrow"),title:E1("Title"),copy:E1("Body"),response:G("Response time")},getItemSummary:e=>e?.title||e?.eyebrow||"Group"},_gForm:b("Message form"),formSlug:L5(),formNumber:H("Section number",v0.formNumber),formHeading:R("Heading",v0.formHeading),metaItems:H2("Meta lines",Ac(a4,{noun:"meta"}),"Encrypted in transit","verbatim"),_gOther:b("\u201COther\u201D reason"),showOther:l1("Show \u201COther\u201D reason",v0.showOther,Ac(F81,{})),otherLabel:G("\u201COther\u201D chip label",v0.otherLabel),otherNoteTitle:H("\u201COther\u201D note title",v0.otherNoteTitle),otherNoteBody:R("\u201COther\u201D note body",v0.otherNoteBody),_gSubmit:b("Submit button"),buttonText:G("Submit button",v0.buttonText),consent:R("Consent line",v0.consent),_gChannels:b("Contact info"),channels:{type:"array",label:"Channels",arrayFields:{label:G("Label"),value:G("Value"),href:X2(G("Link")),sub:G("Sub line"),groupId:v1("Link to group",Ac(AR,{}),[{label:"\u2014 Not linked \u2014",value:""},...v0.groups.map(e=>({label:e.title,value:e.id}))],""),hidden:l1("Hidden",!1,Ac(T81,{}))},getItemSummary:e=>`${e?.label||e?.value||"Channel"}${e?.hidden?" \xB7 hidden":""}`}},resolveData:e=>{let t=e.props.groups??[];if(!t.some(c=>!c?.id))return e;let a=new Set,s=t.map((c,l)=>{if(c?.id)return a.add(c.id),c;let r=Rp(c?.title)||`group-${l+1}`;for(;a.has(r);)r=`${r}-${l+1}`;return a.add(r),{...c,id:r}});return{...e,props:{...e.props,groups:s}}},resolveFields:(e,{fields:t})=>{let a=e.props.groups??[],s=[{label:"\u2014 Not linked \u2014",value:""},...a.map((r,o)=>({label:r?.title||r?.eyebrow||`Group ${o+1}`,value:r?.id||Rp(r?.title)||`group-${o+1}`}))],c=t,l=c.channels;return l?.type==="array"&&l.arrayFields&&(c.channels={...l,arrayFields:{...l.arrayFields,groupId:v1("Link to group",Ac(AR,{}),s,"")}}),t}};import{useEffect as P81,useRef as E81,useState as V81}from"react";import{Fragment as R81,jsx as xf,jsxs as Z81}from"react/jsx-runtime";var N81=12,jn=null,FR=null;function _81(e=!1){let t=o2();if((e||FR!==t)&&(jn=null),!jn){let a=_3();FR=t,jn=X1.listBlogPosts(a,{visibleOnly:!0,siteId:t}).catch(()=>null)}return jn}function I81(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 B81(e){return{slug:e.slug,title:e.title,excerpt:e.excerpt,cover:e.cover_image?v9(e.cover_image)??"":"",meta:e.category||void 0,dateLabel:I81(e.published_at)||void 0}}function l9({value:e,onChange:t,snapshotCount:a=N81}){let[s,c]=V81("idle"),l=Array.isArray(e),r=l?e.length:0,o=E81(!0),i=h=>{c("loading"),_81(h).then(m=>{if(!o.current)return;if(m===null){c("error");return}c("idle");let p=m.slice(0,a).map(B81);n6(p,e??null)&&t(p)})};P81(()=>(o.current=!0,i(!1),()=>{o.current=!1}),[]);let n=s==="loading"?"Syncing from Storefront \u2192 Blog\u2026":s==="error"?"Couldn\u2019t reach Storefront \u2192 Blog.":l?`Auto-synced from Storefront \u2192 Blog \xB7 ${r} post${r===1?"":"s"}`:"Linking to Storefront \u2192 Blog\u2026";return Z81("div",{children:[xf(I9,{label:"Blog posts"}),xf(T4,{status:s,statusText:n,onRefresh:()=>i(!0),busy:s==="loading",spaced:!1,hint:xf(R81,{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 jt,jsxs as ER}from"react/jsx-runtime";var TR=3,VR="featured",NR=[{label:"Even grid",value:"even"},{label:"Featured first",value:VR}],_R="even",E6={min:2,max:11,step:1,fallback:7,unit:"of 12"},D81="bottom-left",O81=55,G81="bottom";function q81(e){let t=typeof e=="number"?e:Number.parseFloat(String(e??"")),a=Number.isFinite(t)?Math.min(E6.max,Math.max(E6.min,Math.round(t))):E6.fallback;return`${a}fr ${12-a}fr`}var PR={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"},W81="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]",U81="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 yf({num:e,title:t,link:a,posts:s,columns:c,limit:l,showAll:r=!1,editing:o=!1,cardImage:i,gap:n,layout:h,featuredWidth:m,listCover:p=!0,featuredDarken:u,omitHead:g=!1}){let d=s??[],f=r?d.length:typeof l=="number"&&l>0?l:TR,v=d.slice(0,f),x=o&&v.length===0;if(v.length===0&&!o)return null;let z=x?Array.from({length:r?TR:f},(V,E)=>({slug:`placeholder-${E}`,title:"Blog post title",excerpt:"A short summary of the post appears here.",cover:"",meta:"Journal",dateLabel:"Date"})):v,C=I3("Events",n,"both"),M=h===VR&&z.length>1,A=q81(m);return ER("section",{className:g?U81:W81,style:$2(i),children:[g?null:jt(Q1,{num:e!==void 0?k(e):void 0,title:t!==void 0?Y(t,!1):void 0,link:a?{text:k(a.text),href:a.href}:void 0}),M?ER("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":A},children:[jt(Xe,{post:z[0],scaffold:x,layout:"cover",darken:u??O81,darkenStyle:G81,placement:D81},`${z[0].slug}-0`),jt("div",{className:`grid auto-rows-min${C.className}`,style:C.style,children:z.slice(1).map((V,E)=>jt(Xe,{post:V,scaffold:x,showCover:p},`${V.slug}-${E+1}`))})]}):jt("div",{className:`sf-card-grid grid${C.className} ${PR[Math.min(4,Math.max(1,c??3))]??PR[3]}`,style:C.style,children:z.map((V,E)=>jt(Xe,{post:V,scaffold:x},`${V.slug}-${E}`))})]})}import{LayoutIcon as K81,ColumnsIcon as $81,WidthIcon as Y81,ImageIcon as X81,OpacityIcon as J81,ListIcon as Q81,HashIcon as e91}from"efficient-easel/icons";import{jsx as j81}from"react/jsx-runtime";var r9={num:L.sectionNumber,title:"Section title",link:L.viewAll},IR={label:"Latest Posts",defaultProps:{num:"",title:"",linkText:"",linkHref:"/journal",columns:3,limit:3,showAll:!1},render:e=>{let t=D1(e.headPlacement)==="own-box",a=c=>t?void 0:c,s=y(e.linkText,r9.link,e.puck);return j81(yf,{num:a(y(e.num,r9.num,e.puck)),title:a(y(e.title,r9.title,e.puck)),link:a(s?{text:s,href:t1(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 o9}from"react/jsx-runtime";var t91=50,BR={fields:{_gContent:b("Content"),num:H("Number",r9.num),title:R("Heading",r9.title),linkText:H("Button",r9.link),linkHref:H1("Link"),_gPosts:b("Blog posts"),posts:t2(l9,{snapshotCount:t91}),_gLayout:b("Layout"),layout:v1("Arrangement",o9(K81,{}),NR,_R),columns:a1("Columns",o9($81,{}),2,4,1,3),featuredWidth:a1("Featured width",o9(Y81,{}),E6.min,E6.max,E6.step,E6.fallback,E6.unit),listCover:l1("Show cover image on the smaller cards",!0,o9(X81,{})),featuredDarken:a1("Darken",o9(J81,{}),P2.min,P2.max,P2.step,55,P2.unit),gap:B3("Events"),showAll:l1("Show all blog posts",!1,o9(Q81,{})),limit:a1("Posts to display",o9(e91,{}),1,20,1,3),cardImage:U6()},resolveFields:(e,{fields:t,parent:a})=>{let s=e.props,c={...t},l=r=>O1(q1(r,a,W1),e.props.headPlacement,R1.Events.headRows);if(s.showAll&&delete c.limit,s.layout==="featured")delete c.columns;else for(let r of["featuredWidth","listCover","featuredDarken"])delete c[r];return l(c)}};import{jsx as Kn}from"react/jsx-runtime";import{SettingsDefaultReset as a91,SettingsField as s91,SettingsSegmented as c91}from"efficient-easel/panel";import{WidthIcon as l91}from"efficient-easel/icons";function $n({value:e,resolved:t,onChange:a,label:s="Width",labelId:c,followsLabel:l,hint:r}){let o=e===void 0,i=o?t:e;return Kn(s91,{label:s,labelId:c,icon:Kn(l91,{}),value:o?l:void 0,changed:!o,action:Kn(a91,{label:s,changed:!o,onReset:()=>a(void 0)}),hint:r,children:Kn(c91,{options:[{label:Mh.page,id:"content"},{label:Mh.full,id:"full"}],value:i,ariaLabel:s,onChange:a})})}import{SettingsField as r91,SettingsSwitch as o91}from"efficient-easel/panel";import{BlockColumnIcon as i91}from"efficient-easel/icons";import{Fragment as n91,jsx as Yn,jsxs as h91}from"react/jsx-runtime";function wf({value:e,onChange:t}){let a=z5(),s={...T9,...e},c=s[a];return Yn(r91,{label:"Logo fills its column",icon:Yn(i91,{}),action:Yn(o91,{checked:c,onChange:l=>t({...s,[a]:l}),ariaLabel:`Logo fills its column on ${d5[a]}`}),hint:h91(n91,{children:["Sets the ",Yn("strong",{children:d5[a]})," view \u2014 switch views in the top bar to set each one."]})})}import{SettingsField as m91,SettingsSwitch as p91}from"efficient-easel/panel";import{FullWidthIcon as u91}from"efficient-easel/icons";import{Fragment as d91,jsx as Xn,jsxs as g91}from"react/jsx-runtime";function Cf({value:e,onChange:t}){let a=z5(),s={...P9,...e},c=s[a];return Xn(m91,{label:"Logo fills its row",icon:Xn(u91,{}),action:Xn(p91,{checked:c,onChange:l=>t({...s,[a]:l}),ariaLabel:`Logo fills its row on ${d5[a]}`}),hint:g91(d91,{children:["Sets the ",Xn("strong",{children:d5[a]})," view \u2014 switch views in the top bar to set each one."]})})}import{jsx as v91}from"react/jsx-runtime";function kf({value:e,onChange:t}){return v91(Ms,{label:"Columns per line",unit:"columns",steps:kx,value:zl(e),onChange:t})}import{useContext as f91,useEffect as b91,useRef as z91,useState as ZR}from"react";import{jsx as Kt,jsxs as RR}from"react/jsx-runtime";function Hc(){let e=cB();return RR("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:[Kt("span",{children:e}),RR("span",{className:"flex flex-wrap items-center gap-3",children:[Kt("span",{children:"Privacy"}),Kt("span",{"aria-hidden":!0,children:"\xB7"}),Kt("span",{children:"Terms"}),Kt("span",{"aria-hidden":!0,children:"\xB7"}),Kt("span",{children:"Cookies"})]})]})}import{jsx as Mf,jsxs as w91}from"react/jsx-runtime";var DR={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},x91={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"},y91={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 Sf({blocks:e,editing:t=!1,width:a,columns:s,logoFill:c,logoRowFill:l}){let r=f91(ra),{desktop:o,tablet:i,mobile:n}=zl(s),{desktop:h,tablet:m,mobile:p}={...T9,...c},{desktop:u,tablet:g,mobile:d}={...P9,...l},f=z5(),x=t?DR[f==="desktop"?o:f==="tablet"?i:n]:`${DR[n]} ${x91[i]} ${y91[o]}`,z=z91(null),[C,M]=ZR(1),[A,V]=ZR(!1);if(b91(()=>{if(!t&&!r)return;let O=z.current;if(!O)return;let F=()=>{let c1=O.querySelector(".footer-block-grid");if(!c1)return;let Z=t?f:Hx(window.innerWidth),q=Z==="desktop"?u:Z==="tablet"?g:d;V(q);let K=Z==="desktop"?h:Z==="tablet"?m:p,W=getComputedStyle(c1).gridTemplateColumns.split(" ").filter(Boolean).length-1,r1=Math.max(c1.childElementCount-1,0);M(!q&&K&&W>=1?Math.max(Math.ceil(r1/W),1):1)},T,N=()=>{clearTimeout(T),T=setTimeout(F,0)},B=[0,80,250,600].map(c1=>setTimeout(F,c1)),P=new MutationObserver(N);P.observe(O,{childList:!0,subtree:!0});let D=new ResizeObserver(N);return D.observe(O),()=>{clearTimeout(T),B.forEach(clearTimeout),P.disconnect(),D.disconnect()}},[o,i,n,t,r,f,h,m,p,u,g,d]),!t&&!r)return null;let E=ol(il(a))??void 0;return Mf("footer",{ref:z,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":A?"1 / -1":"1"},children:w91("div",{style:E,children:[Mf(e,{className:`footer-block-grid mb-[60px] grid items-start gap-x-10 gap-y-12 ${x}`,minEmptyHeight:160}),Mf(Hc,{})]})})}import{jsx as C91}from"react/jsx-runtime";var Lf={blocks:{type:"slot",allow:["FooterLogo","FooterMenu","FooterDivider","FooterGroup","FooterText","FooterEmailSignup","FooterSocial"]}},OR={label:"Footer",fields:Lf,defaultProps:{columns:Mx,logoFill:T9,logoRowFill:P9},render:({blocks:e,width:t,columns:a,logoFill:s,logoRowFill:c,puck:l})=>C91(Sf,{blocks:e,width:t,columns:a,logoFill:s,logoRowFill:c,editing:l?.isEditing})};import{jsx as Jn}from"react/jsx-runtime";var GR={fields:{_gLayout:b("Layout"),width:{type:"custom",render:({value:e,onChange:t})=>Jn($n,{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})=>Jn(kf,{value:e,onChange:t})},logoFill:{type:"custom",render:({value:e,onChange:t})=>Jn(wf,{value:e,onChange:t})},logoRowFill:{type:"custom",render:({value:e,onChange:t})=>Jn(Cf,{value:e,onChange:t})},_gBlocks:b("Blocks"),blockList:s2("Footer"),blocks:Lf.blocks}};import{WeightIcon as k91,WidthIcon as M91,PhoneIcon as S91}from"efficient-easel/icons";import{jsx as Af}from"react/jsx-runtime";var qR={fields:{_gStyle:b("Style"),thickness:a1("Thickness",Af(k91,{}),1,8,1,1,"px"),lengthPct:a1("Length",Af(M91,{}),10,100,1,100,"%"),hideOnMobile:l1("Hide on mobile",!1,Af(S91,{}))}};var WR={fields:{_gContent:b("Content"),heading:E1("Heading","Join our email list"),placeholder:G("Field placeholder","Email address"),buttonLabel:G("Button","Subscribe")}};import{AlignLeftIcon as H91}from"efficient-easel/icons";import{jsx as UR}from"react/jsx-runtime";var L91={start:"items-start",center:"items-center",end:"items-end"};function Hf({direction:e="vertical",gap:t,align:a="start",content:s}){let c=I3("FooterGroup",t,e==="horizontal"?"inline":"block");return UR("div",{className:"min-w-0",children:UR(s,{className:`flex ${e==="horizontal"?"flex-row flex-wrap":"flex-col"} ${L91[a]}${c.className}`,style:c.style,minEmptyHeight:80})})}import{jsx as A91}from"react/jsx-runtime";var Ff={blocks:{type:"slot",allow:["FooterText","FooterEmailSignup","FooterMenu","FooterDivider","FooterSocial"]}},jR={label:"Footer Box",fields:Ff,defaultProps:{direction:"vertical",align:"start"},render:({direction:e,gap:t,align:a,blocks:s})=>A91(Hf,{direction:e,gap:t,align:a,content:s})};import{jsx as F91}from"react/jsx-runtime";var KR={fields:{_gLayout:b("Layout"),direction:b1("Direction",c8("`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:B3("FooterGroup"),align:b1("Alignment",F91(H91,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),_gBlocks:b("Blocks"),blockList:s2("FooterGroup"),blocks:Ff.blocks}};import{WidthIcon as T91,AlignLeftIcon as P91,LogoIcon as E91,PaddingTopIcon as V91,PaddingRightIcon as N91,PaddingBottomIcon as _91,PaddingLeftIcon as I91}from"efficient-easel/icons";import{jsx as i9}from"react/jsx-runtime";var $R={fields:{_gContent:b("Content"),tagline:E1("Body","Short brand tagline"),_gStyle:b("Style"),widthPct:a1("Width",i9(T91,{}),40,400,1,100,"%"),align:b1("Alignment",i9(P91,{}),[{label:"Start",value:"left"},{label:"Center",value:"center"},{label:"End",value:"right"}],"left"),reverse:b1("Logo color",i9(E91,{}),[{label:"Auto contrast",value:"auto"},{label:"As uploaded",value:"off"}],"auto"),padTop:a1("Padding top",i9(V91,{}),0,120,2,0,"px"),padRight:a1("Padding right",i9(N91,{}),0,120,2,0,"px"),padBottom:a1("Padding bottom",i9(_91,{}),0,120,2,0,"px"),padLeft:a1("Padding left",i9(I91,{}),0,120,2,0,"px")}};import{Button as B91}from"efficient-shell/ui";import{SettingsField as R91}from"efficient-easel/panel";import{FieldSelect as Z91}from"efficient-easel/fields";import{MenuIcon as D91}from"efficient-easel/icons";import{useCallback as O91,useEffect as YR,useState as Tf}from"react";import{jsx as $t,jsxs as Pf}from"react/jsx-runtime";function Ef({value:e,onChange:t}){let[a,s]=Tf(null),[c,l]=Tf(!1),r=O91(v=>{s(v),l(!0)},[]);YR(()=>{let v=!1;return Tm(_3()).then(x=>{v||r(x)}).catch(()=>{v||s([])}),()=>{v=!0}},[r]),YR(()=>{let v=!1,x=Ok(()=>{YC(_3()).then(z=>{v||r(z)}).catch(()=>{})});return()=>{v=!0,x()}},[r]);let o=a===null,i=!!(e?.id||e?.handle),n=c&&i&&!Ar(a??[],e),h=!i&&(e?.items?.length??0)>0,m=n?"":Ar(a??[],e)?.id??"",p=v=>t({id:v.id,handle:v.handle,name:v.name,items:v.items.map(x=>({label:x.label,url:x.url}))}),u=v=>{if(!v){t(null);return}let x=(a??[]).find(z=>z.id===v);x&&p(x)},[g,d]=Tf(!1),f=()=>{i&&(d(!0),Tm(_3(),!0).then(v=>{r(v);let x=Ar(v,e);x&&p(x)}).catch(()=>{}).finally(()=>d(!1)))};return Pf("div",{children:[$t(R91,{label:"Menu",icon:$t(D91,{}),hint:!o&&a&&a.length===0?"Create menus in Storefront \u2192 Menus, then pick one here.":void 0,children:$t(Z91,{value:m,ariaLabel:"Menu",onChange:u,readOnly:o||(a?.length??0)===0,options:[{label:o?"Loading menus\u2026":a&&a.length===0?"No menus found":"Select a menu\u2026",value:""},...(a??[]).map(v=>({label:`${v.name} (${v.item_count??v.items.length})`,value:v.id}))]})}),h?$t("p",{className:"mt-1.5 text-[12px] text-[var(--sf-warning,#b45309)]",children:DC}):null,n?$t("p",{className:"mt-1.5 text-[12px] text-[var(--sf-warning,#b45309)]",children:OC(e?.name??"The linked menu")}):null,i&&!n?Pf("div",{className:"mt-1.5 flex items-center justify-between gap-2",children:[Pf("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:"]}),$t(B91,{variant:"link",size:"sm",className:"shrink-0",onClick:f,disabled:g,children:g?"Updating\u2026":"Update links"})]}):null]})}import{PhoneIcon as G91,LineBetweenIcon as q91}from"efficient-easel/icons";import{jsx as Vf}from"react/jsx-runtime";var XR={fields:{_gContent:b("Content"),menu:{type:"custom",render:({value:e,onChange:t})=>Vf(Ef,{value:e,onChange:t})},heading:G("Heading","Column heading"),_gStyle:b("Style"),accordionMobile:l1("Show as accordion on mobile",!1,Vf(G91,{})),showDividers:l1("Dividers between links",!1,Vf(q91,{}))}};import{jsx as Fc}from"react/jsx-runtime";var JR={small:16,medium:20,large:24},Nf=0,_f=32,eZ=2,Tc=0,QR={start:"justify-start",center:"justify-center",end:"justify-end"};function If({iconStyle:e=j9,iconSize:t="medium",align:a="start",gap:s=Tc,editing:c=!1}){let l=aB(),r=ny(iy(l));if(r.length===0)return c?Fc("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 o=JR[t]??JR.medium,n={gap:Math.min(_f,Math.max(Nf,Number.isFinite(s)?s:0)),"--social-mark":`${o}px`};return Fc("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)] ${QR[a]??QR.start}`,style:n,children:r.map(({platform:h,href:m,label:p})=>Fc("li",{children:Fc("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:Fc(xy,{platform:h,iconStyle:e,size:o})})},h))})}import{Button as W91}from"efficient-shell/ui";import{Fragment as U91,jsx as Bf,jsxs as j91}from"react/jsx-runtime";function Rf(){let{openPanel:e}=Bl();return j91(U91,{children:[Bf(I9,{label:"Social links"}),Bf("p",{className:"sf-field-hint",children:"The links are typed once for the whole website, in Site settings."}),Bf(W91,{variant:"link",size:"sm",onClick:e,children:"Edit social links \u2192"})]})}import{StylesIcon as K91,TextSizeIcon as $91,AlignLeftIcon as Y91,GapIcon as X91}from"efficient-easel/icons";import{jsx as Pc}from"react/jsx-runtime";var tZ={fields:{_gStyle:b("Style"),iconStyle:b1("Icon style",Pc(K91,{}),[{label:"Outline",value:"outline"},{label:"Solid",value:"solid"}],j9),iconSize:b1("Icon size",Pc($91,{}),[{label:"Small",value:"small"},{label:"Medium",value:"medium"},{label:"Large",value:"large"}],"medium"),_socialLinks:{type:"custom",render:()=>Pc(Rf,{})},_gLayout:b("Layout"),align:b1("Alignment",Pc(Y91,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),gap:a1("Gap",Pc(X91,{}),Nf,_f,eZ,Tc,"px")}};import{TextSizeIcon as J91}from"efficient-easel/icons";import{jsx as Q91}from"react/jsx-runtime";var aZ={fields:{_gContent:b("Content"),text:E1("Body","Footer text"),_gStyle:b("Style"),size:b1("Size",Q91(J91,{}),[{label:"S",value:"sm"},{label:"M",value:"md"},{label:"L",value:"lg"}],"md"),tone:mo()}};var sZ={fields:{_gForm:b("Form"),formSlug:L5(),_gContent:b("Content"),heading:G("Heading override"),intro:E1("Intro"),submitText:G("Submit button"),finePrint:G("Fine print")}};var cZ={fields:{}};var Qn="e.g. D00123 \xB7 blank = the whole store";import{useState as Y7}from"react";import{Fragment as ae1,jsx as r3,jsxs as Ec}from"react/jsx-runtime";var eh="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",ee1="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))]",te1="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 Zf({eyebrow:e,title:t,designCode:a,omitHead:s=!1,editing:c=!1}={}){let[l,r]=Y7(""),[o,i]=Y7(""),[n,h]=Y7(0),[m,p]=Y7(""),[u,g]=Y7(""),[d,f]=Y7(!1),[v,x]=Y7(!1),[z,C]=Y7(null);async function M(A){if(A.preventDefault(),!(c||d)){if(n<1){C("Choose a star rating.");return}f(!0),C(null);try{await g0.submitReview({authorName:l.trim(),...o.trim()?{email:o.trim()}:{},rating:n,...m.trim()?{title:m.trim()}:{},body:u.trim(),...a?.trim()?{designCode:a.trim()}:{}}),x(!0)}catch{C("Something went wrong \u2014 your review wasn't sent. Please try again.")}finally{f(!1)}}}return r3("section",{className:"relative z-[2] border-t border-line bg-surface",children:Ec("div",{className:s?te1:ee1,children:[s?null:Ec(ae1,{children:[(e??"").trim()&&r3(V1,{text:e??"",scaled:!1,className:"mb-4 block"}),(t??"").trim()&&r3("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:Y(t??"",!1)})]}),v?r3("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."}):Ec("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:M,children:[Ec("div",{className:"grid grid-cols-2 gap-3 max-[640px]:grid-cols-1",children:[r3(R2,{label:"Name",required:!0,children:r3("input",{type:"text",required:!0,value:l,onChange:A=>r(A.target.value),className:eh})}),r3(R2,{label:"Email \u2014 never shown publicly",children:r3("input",{type:"email",value:o,onChange:A=>i(A.target.value),className:eh})})]}),Ec("div",{className:"flex flex-col gap-2",children:[r3(h8,{required:!0,children:"Rating"}),r3("div",{role:"group","aria-label":"Rating",className:"flex gap-1",children:[1,2,3,4,5].map(A=>r3("button",{type:"button","aria-pressed":n>=A,"aria-label":`${A} star${A===1?"":"s"}`,onClick:()=>{h(A),C(null)},className:["cursor-pointer text-[30px] leading-none transition-colors",n>=A?"text-accent":"text-fg-dim/30 hover:text-fg-dim"].join(" "),children:"\u2605"},A))})]}),r3(R2,{label:"Review title (optional)",children:r3("input",{type:"text",value:m,onChange:A=>p(A.target.value),className:eh})}),r3(R2,{label:"Your review",required:!0,children:r3("textarea",{required:!0,rows:5,value:u,onChange:A=>g(A.target.value),className:eh+" resize-y"})}),z&&r3("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:z}),r3("button",{type:c?"button":"submit",disabled:d,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:d?"Sending\u2026":"Submit review \u2192"})]})]})})}import{jsx as se1}from"react/jsx-runtime";var Vc={eyebrow:"Your turn",title:"Leave a *review.*"},lZ={label:"Review Form",defaultProps:{eyebrow:"",title:"",designCode:""},render:e=>{let t=D1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return se1(Zf,{eyebrow:a(y(e.eyebrow,Vc.eyebrow,e.puck)),title:a(y(e.title,Vc.title,e.puck)),omitHead:t,designCode:t1(e.designCode)||void 0,editing:e.puck?.isEditing})}};var rZ={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow",Vc.eyebrow),title:R("Heading",Vc.title),_gSource:b("Reviews"),designCode:X2(G("Design code",Qn))},resolveFields:(e,{fields:t,parent:a})=>O1(q1(t,a,W1),e.props.headPlacement,R1.ReviewForm.headRows)};import{StylesIcon as pe1,HashIcon as ue1,ColumnsIcon as de1}from"efficient-easel/icons";import{useEffect as ce1,useState as le1}from"react";function oZ(e,t){let[a,s]=le1(null);return ce1(()=>{let c=!1;return s(null),g0.listReviews({...e?{limit:e}:{},...t?{designCode:t}:{}}).then(l=>{c||s(l)}),()=>{c=!0}},[e,t]),a}import{Fragment as he1,jsx as R4,jsxs as th}from"react/jsx-runtime";var iZ=[{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 re1(e){let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-US",{month:"long",year:"numeric"})}function oe1({rating:e}){let t=Math.min(5,Math.max(0,Math.round(e)));return R4("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,s)=>R4("span",{"aria-hidden":!0,className:s<t?"text-accent":"text-fg-dim/30",children:"\u2605"},s))})}var ie1="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))]",ne1="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 Df({look:e,eyebrow:t,title:a,columns:s,limit:c,designCode:l,omitHead:r=!1,editing:o=!1}={}){let i=oZ(c??6,l),n=Math.min(3,Math.max(1,s??3)),h=i&&i.length>0?i:o?iZ:[],m=h===iZ;return!o&&h.length===0?null:R4("section",{className:"relative z-[2] border-t border-line bg-surface",children:th("div",{className:r?ne1:ie1,children:[r?null:th(he1,{children:[(t??"").trim()&&R4(V1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&R4("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:Y(a??"",!1)})]}),R4("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=>th("article",{className:["flex flex-col gap-4 bg-bg p-9 max-[800px]:p-7",m?"opacity-60":""].join(" "),children:[R4(oe1,{rating:p.rating}),p.title.trim()&&R4("h3",{className:"font-display text-[length:var(--size-body,19px)] font-medium uppercase leading-[1.2] tracking-[-0.01em] text-fg",children:p.title}),R4("div",{className:"flex-1 font-serif text-[length:var(--size-body,15px)] leading-[1.65] text-fg-dim",children:b0(p.body).map((u,g)=>R4("p",{className:g?"mt-3":"",children:u},g))}),th("footer",{className:"flex items-baseline justify-between gap-4 border-t border-line pt-[18px]",children:[R4("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg",children:p.authorName}),R4("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:re1(p.createdAt)})]})]},p.id))})]})})}import{jsx as me1}from"react/jsx-runtime";var Nc={eyebrow:"Reviews",title:"From our *customers.*"},nZ={label:"Reviews",defaultProps:{eyebrow:"",title:"",columns:3,limit:6,designCode:""},render:e=>{let t=D1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return me1(Df,{look:l4(e.eyebrowLook,"Reviews"),eyebrow:a(y(e.eyebrow,Nc.eyebrow,e.puck)),title:a(y(e.title,Nc.title,e.puck)),omitHead:t,columns:e.columns,limit:e.limit,designCode:t1(e.designCode)||void 0,editing:e.puck?.isEditing})}};import{jsx as Of}from"react/jsx-runtime";var hZ={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow",Nc.eyebrow),eyebrowLook:v1("Eyebrow style",Of(pe1,{}),[...y4],K6("Reviews")),title:R("Heading",Nc.title),_gSource:b("Reviews"),limit:a1("Reviews to display",Of(ue1,{}),3,12,1,6),designCode:X2(G("Design code",Qn)),_gStyle:b("Style"),columns:a1("Columns",Of(de1,{}),1,3,1,3)},resolveFields:(e,{fields:t,parent:a})=>O1(q1(t,a,W1),e.props.headPlacement,R1.Reviews.headRows)};import{jsx as Gf,jsxs as ge1}from"react/jsx-runtime";function _c({place:e,sections:t,editing:a=!1}){let c=ge1(e==="footer"?"footer":"div",{"data-section-group":e,children:[a?Gf("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,Gf(t,{minEmptyHeight:120})]});return e==="header"?Gf(WC,{children:c}):c}import{jsx as ve1}from"react/jsx-runtime";var qf={sections:{type:"slot"}},mZ={label:"Site Footer",fields:qf,render:({sections:e,puck:t})=>ve1(_c,{place:"footer",sections:e,editing:t?.isEditing})};var pZ={fields:{sections:qf.sections}};import{StickyIcon as be1,ContrastIcon as ze1}from"efficient-easel/icons";import{jsx as fe1}from"react/jsx-runtime";var Wf={sections:{type:"slot"}},uZ={label:"Site Header",fields:Wf,defaultProps:{sticky:"always",topTextColor:"auto",sections:[]},render:({sections:e,puck:t})=>fe1(_c,{place:"header",sections:e,editing:t?.isEditing})};import{jsx as dZ}from"react/jsx-runtime";var gZ={fields:{sticky:b1("Sticky header",dZ(be1,{}),[{label:"None",value:"none"},{label:"Always",value:"always"},{label:"On scroll up",value:"on_scroll_up"}],"always"),topTextColor:b1("Text color at the top",dZ(ze1,{}),[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],"auto"),sections:Wf.sections}};import{jsx as ah,jsxs as xe1}from"react/jsx-runtime";var x0={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 Ic(e,t){return e===void 0?t:e}function Uf({eyebrow:e,title:t,body:a,buttonText:s,consent:c,formSlug:l,form:r,editing:o=!1,boxes:i,inBoxes:n=!1,...h}){let m=Ic(e,x0.eyebrow),p=Ic(t,x0.title),u=Ic(a,x0.body),g=Ic(s,x0.buttonText),d=Ic(c,x0.consent),f=k5(l,r),v=l7({form:f,formSlug:l,editing:o}),x=f===void 0,z=!!f||o;return!z&&!m&&!p&&!u?null:n&&i?ah("section",{className:N0(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:ah(i,{className:"grid grid-cols-2 items-start gap-[60px] max-[1100px]:grid-cols-1 max-[1100px]:gap-9"})}):xe1("section",{className:N0(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:[ah(VS,{eyebrow:m,title:p}),ah(yo,{body:u,buttonLabel:g,consent:d,form:f,submission:v,showForm:z,resolving:x,editing:o})]})}var vZ={fields:{_gTextStyle:b("Text style"),...Object.fromEntries(wo.map(e=>[Co[e],v1(Ep[e],Ve(Ep[e]),[{label:"Section's own",value:""},...m5.map(t=>({label:z9[t],value:t}))],"")])),_gContent:b("Content"),eyebrow:H("Eyebrow",x0.eyebrow),title:R("Heading",x0.title),body:R("Body",x0.body),formSlug:L5(),buttonText:H("Button",x0.buttonText),consent:R("Consent line",x0.consent)},resolveFields:(e,{fields:t})=>{let a=e.props.region,s=t,c=["eyebrow","title"],l=["body","formSlug","buttonText","consent"],r=wo.map(n=>Co[n]),o=a==="head"?c:l,i={};for(let[n,h]of Object.entries(s)){if(n.startsWith("_")){i[n]=h;continue}if(r.includes(n)){a!=="head"&&(i[n]=h);continue}o.includes(n)&&(i[n]=h)}return i}};import{jsx as ye1}from"react/jsx-runtime";var jf={boxes:{type:"slot",allow:["SubmitBox"]}},fZ={label:"Photo Submission Form",fields:jf,defaultProps:{eyebrow:x0.eyebrow,title:x0.title,body:x0.body,formSlug:"",buttonText:x0.buttonText,consent:x0.consent},render:e=>ye1(Uf,{boxes:e.boxes,inBoxes:e.layout==="boxes",eyebrow:J0(e.eyebrow,x0.eyebrow,e.puck),title:J0(e.title,x0.title,e.puck),body:J0(e.body,x0.body,e.puck),buttonText:J0(e.buttonText,x0.buttonText,e.puck),consent:J0(e.consent,x0.consent,e.puck),formSlug:t1(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing})};var bZ={fields:{_gContent:b("Content"),eyebrow:H("Eyebrow",x0.eyebrow),title:R("Heading",x0.title),body:R("Body",x0.body),_gForm:b("Form"),formSlug:L5(),_gButton:b("Button"),buttonText:H("Button",x0.buttonText),_gFootnote:b("Footnote"),consent:R("Consent line",x0.consent),boxes:jf.boxes},resolveFields:(e,{fields:t})=>{if(e.props.layout!=="boxes")return t;let{_gContent:a,eyebrow:s,title:c,body:l,_gForm:r,formSlug:o,_gButton:i,buttonText:n,_gFootnote:h,consent:m,...p}=t;return p}};var we1=["issues","posts"],zZ=[{label:"Issues",value:"issues"},{label:"Blog posts",value:"posts"}],Kf="issues";function $f(e){return we1.includes(e)?e:Kf}var Ce1={issues:["issues"],_gPosts:["posts"],posts:["posts"],limit:["posts"]};function xZ(e,t){let a=$f(t),s={...e};for(let[c,l]of Object.entries(Ce1))l.includes(a)||delete s[c];return s}import{CategoryIcon as Me1,HashIcon as Se1}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:p2.href},yZ=[{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 ke1(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 sh(e,t){if(e==="issues")return y1(t.issues,yZ,t.puck);let a=t.posts,s=typeof t.limit=="number"&&t.limit>0?t.limit:4,c=Array.isArray(a)?ke1(a.slice(0,s)):[];return y1(c,yZ,t.puck)}import{jsx as wZ}from"react/jsx-runtime";var CZ={fields:{_sHead:t0("Section header"),_gHeadCopy:b("Content"),headNum:H("Number",B0.headNum),headTitle:R("Heading",B0.headTitle),headDesc:R("Body",B0.headDesc),_sLeft:t0("Newsletter panel"),_gLeftCopy:b("Content"),kicker:H("Eyebrow",B0.kicker),leadTitle:R("Heading",B0.leadTitle),intro:R("Intro",B0.intro),_gForm:b("Signup form"),emailPlaceholder:G("Email placeholder",B0.emailPlaceholder),submitText:G("Submit button",B0.submitText),subscribedText:G("Subscribed button",B0.subscribedText),finePrint:R("Fine print",B0.finePrint),_sRight:t0("Recent issues"),_gRightCopy:b("Content"),contentType:b1("Type",wZ(Me1,{}),[...zZ],Kf),issuesHeading:H("Panel heading",B0.issuesHeading),issues:{type:"array",label:"Issues",arrayFields:{n:g1("Number"),title:g1("Title"),small:g1("Sub-line"),date:g1("Date")},getItemSummary:e=>[e?.n,e?.title].filter(Boolean).join(" \xB7 ")||"Issue"},_gPosts:b("Blog posts"),posts:t2(l9),limit:a1("Posts to display",wZ(Se1,{}),1,6,1,4),_gArchive:b("Archive link"),archiveText:H("Archive button",B0.archiveText),archiveHref:H1("Archive link")},resolveFields:(e,{fields:t})=>xZ(t,e.props.contentType)};import{HashIcon as Fe1}from"efficient-easel/icons";import{useState as Le1}from"react";import{jsx as X3,jsxs as n9}from"react/jsx-runtime";var Ae1="That didn't go through \u2014 please try again.";function Bc({headNum:e,headTitle:t,headDesc:a,kicker:s,leadTitle:c,intro:l,emailPlaceholder:r,submitText:o,subscribedText:i,finePrint:n,issuesHeading:h,issues:m,archiveText:p,archiveHref:u,source:g=D3.subscribeSection,editing:d=!1,...f}){let[v,x]=Le1(""),{status:z,submit:C}=Or({source:g,dryRun:d}),M=z==="sent",A=z==="sending",V=z==="error"||z==="invalid",E=(m??[]).filter(N=>(N?.n??"").trim()||(N?.title??"").trim()||(N?.date??"").trim()),O=E.length>0,F=M?i||"Subscribed \u2713":A?"Sending\u2026":o||"Subscribe \u2192";function T(N){N.preventDefault(),!M&&C({email:v})}return n9("section",{className:N0(f)?"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:[X3(D2,{num:e,title:t?Y(t,!0):void 0,desc:a,accentTracking:"-0.025em"}),n9("div",{className:O?"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:[n9("div",{className:O?"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:[s&&X3(V1,{text:s}),c&&X3("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:Y(c,!0)}),l&&X3("p",{className:"max-w-[480px] font-serif text-[length:var(--size-body,19px)] italic leading-[1.5] text-fg-dim",children:k(l,!0)}),n9("form",{className:"mt-2 flex max-w-[520px]",onSubmit:T,children:[X3("input",{type:"email",placeholder:r||"your@email.com",required:!0,value:v,onChange:N=>x(N.target.value),disabled:M,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"}),X3("button",{type:"submit",disabled:M||A,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:R0(F)})]}),V&&X3("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:Ae1}),n&&X3("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)})]}),O&&n9("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&&X3(V1,{text:h,size:12}),X3("div",{className:"flex flex-col",children:E.map((N,B)=>n9("div",{className:["grid grid-cols-[60px_1fr_auto] items-start gap-[18px] border-b border-line py-[18px]",B===0?"border-t border-line":""].join(" "),children:[X3("span",{className:"font-mono text-[length:var(--size-label,13px)] tracking-[0.22em] text-accent",children:N.n?k(N.n):""}),n9("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()&&X3("small",{className:"mt-1 block font-serif text-[length:var(--size-body,13px)] font-normal italic text-fg-dim",children:k(N.small,!0)})]}),X3("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):""})]},B))}),p&&X3(m0,{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 He1}from"react/jsx-runtime";var Y0={...B0,issuesHeading:"Recent posts",archiveText:"Read all posts \u2192"},kZ={label:"Subscribe with Posts",defaultProps:{headNum:"",headTitle:"",headDesc:"",kicker:"",leadTitle:"",intro:"",emailPlaceholder:"",submitText:"",subscribedText:"",finePrint:"",issuesHeading:"",limit:4,archiveText:"",archiveHref:""},render:e=>{let t=sh("posts",e);return He1(Bc,{headNum:y(e.headNum,Y0.headNum,e.puck),headTitle:y(e.headTitle,Y0.headTitle,e.puck),headDesc:y(e.headDesc,Y0.headDesc,e.puck),kicker:y(e.kicker,Y0.kicker,e.puck),leadTitle:y(e.leadTitle,Y0.leadTitle,e.puck),intro:y(e.intro,Y0.intro,e.puck),emailPlaceholder:t1(e.emailPlaceholder)||Y0.emailPlaceholder,submitText:t1(e.submitText)||Y0.submitText,subscribedText:t1(e.subscribedText)||Y0.subscribedText,finePrint:y(e.finePrint,Y0.finePrint,e.puck),issuesHeading:y(e.issuesHeading,Y0.issuesHeading,e.puck),issues:t,source:D3.subscribeBlogsSection,editing:e.puck?.isEditing,archiveText:y(e.archiveText,Y0.archiveText,e.puck),archiveHref:t1(e.archiveHref)||Y0.archiveHref})}};import{jsx as Te1}from"react/jsx-runtime";var MZ={fields:{_sHead:t0("Section header"),_gHeadCopy:b("Content"),headNum:H("Number",Y0.headNum),headTitle:R("Heading",Y0.headTitle),headDesc:R("Body",Y0.headDesc),_sLeft:t0("Newsletter panel"),_gLeftCopy:b("Content"),kicker:H("Eyebrow",Y0.kicker),leadTitle:R("Heading",Y0.leadTitle),intro:R("Intro",Y0.intro),_gForm:b("Signup form"),emailPlaceholder:G("Email placeholder",Y0.emailPlaceholder),submitText:G("Submit button",Y0.submitText),subscribedText:G("Subscribed button",Y0.subscribedText),finePrint:R("Fine print",Y0.finePrint),_sRight:t0("Recent posts"),_gRightCopy:b("Content"),issuesHeading:H("Panel heading",Y0.issuesHeading),_gPosts:b("Blog posts"),posts:t2(l9),limit:a1("Posts to display",Te1(Fe1,{}),1,6,1,4),_gArchive:b("Archive link"),archiveText:H("Archive button",Y0.archiveText),archiveHref:H1("Archive link")}};import{jsx as Pe1}from"react/jsx-runtime";var SZ={label:"Booking box",defaultProps:{},render:e=>Pe1(Fp,{region:typeof e.region=="string"?e.region:void 0,eyebrow:y(e.eyebrow,L.eyebrow,e.puck),heading:y(e.heading,L.heading,e.puck),intro:y(e.intro,L.body,e.puck),buttonLabel:y(e.buttonLabel,L.button,e.puck),successMessage:y(e.successMessage,L.bookingConfirmation,e.puck),styleStep:e.styleStep,styleName:e.styleName,styleValue:e.styleValue,styleNote:e.styleNote})};import{useEffect as Yf,useState as Xf}from"react";import{Fragment as Ee1,jsx as L0,jsxs as z3}from"react/jsx-runtime";var LZ="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 Jf({routingNumber:e,routingTagline:t,groups:a,formNumber:s,formHeading:c,metaLines:l,showOther:r=!0,otherLabel:o="Other",otherNoteTitle:i,otherNoteBody:n,buttonText:h,consent:m,channels:p,formSlug:u,form:g,editing:d,initialActiveId:f,onActiveChange:v,reasonExtras:x,...z}){let C=[...a.map(W=>W.id),...r?[x8]:[]],M=f&&C.includes(f)?f:C[0]??x8,[A,V]=Xf(M);Yf(()=>{C.includes(A)||V(C[0]??x8)},[C.join("|")]),Yf(()=>{f&&C.includes(f)&&V(f)},[f]);let E=W=>{V(W),F(null),v?.(W)},[O,F]=Xf(null),T=(p??[]).filter(W=>!W.hidden),N=T.find(W=>W.groupId===A)?.value??null,B=O??N,P=k5(u,g),D=l7({form:P,formSlug:u,editing:d}),c1=P===void 0,Z=!!P||!!d,[q,K]=Xf(!1);return Yf(()=>{let W=()=>K(document.documentElement.getAttribute("data-theme")==="light");W();let r1=new MutationObserver(W);return r1.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>r1.disconnect()},[]),z3(Ee1,{children:[z3("section",{className:N0(z)?"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:q?void 0:{background:"var(--section-bg)"},children:[(e||t)&&z3("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[e&&L0(V1,{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(W=>{let r1=A===W.id;return z3("button",{type:"button",onClick:()=>{E(W.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:a6(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-3.5 px-7 py-9 text-left transition-colors",r1?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[W.eyebrow&&L0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.24em] text-accent",children:W.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:W.title}),W.copy&&L0("p",{className:"mt-auto font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim",children:W.copy}),W.response&&z3("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:W.response})]})]},W.id)})})]}),(Z||T.length>0)&&z3("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]",Z&&T.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[Z&&z3("div",{children:[z3("div",{className:"mb-7 flex items-end justify-between gap-6 border-b border-line pb-6",children:[z3("div",{children:[s&&L0("div",{className:"pb-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-accent",children:k(s)}),c&&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:Y(c,!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((W,r1)=>L0("div",{children:W},r1))})]}),P?D.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:Me(P,"Thanks \u2014 we've received your message.")}):z3("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:D.handleSubmit,children:[P.fields.map(W=>L0(R2,{label:W.label,required:W.required,className:W.type==="textarea"||W.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:L0(r7,{field:W,value:D.valueOf(W.key),onChange:r1=>D.set(W.key,r1),className:W.type==="textarea"?`${LZ} min-h-[140px] resize-y leading-[1.5]`:W.type==="checkbox"?"size-4 self-start accent-accent":LZ})},W.key)),z3("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[L0(h8,{required:!0,children:"Reason"}),z3("div",{className:"mt-1 flex flex-wrap gap-2",children:[a.map(W=>{let r1=A===W.id;return L0("button",{type:"button",onClick:()=>E(W.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",r1?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:W.title},W.id)}),r&&L0("button",{type:"button",onClick:()=>E(x8),className:["cursor-pointer border px-3.5 py-2.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] transition-colors",A===x8?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:R0(o)})]})]}),x?.(A),A===x8&&(i||n)&&z3("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&&b0(n).map((W,r1)=>L0("p",{className:"font-display text-[length:var(--size-body,15px)] leading-[1.55] text-fg-dim",children:k(W)},r1))]}),L0(Se,{value:D.honeypot,onChange:D.setHoneypot}),D.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:D.error}),z3("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:d?"button":"submit",disabled:D.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:D.submitting?"Sending\u2026":h?R0(h):"Send Message \u2192"})]})]}):L0("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.22em] text-fg-dim",children:c1?"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."})]}),T.length>0&&L0("aside",{className:"flex flex-col gap-0 max-[1100px]:hidden",children:T.map((W,r1)=>{let z1=B===W.value,e1=!!!W.groupId;return z3("div",{onClick:e1?()=>F(W.value):void 0,className:["relative flex flex-col gap-2.5 border-b border-line border-l-2 px-5 py-7 transition-all",e1?"cursor-pointer border-t-2 border-t-accent":"",z1?"border-l-accent pl-6":e1?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:z1?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[z1&&z3("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",z1?"text-fg":"text-accent"].join(" "),children:W.label}),e1?L0("a",{href:W.href,onClick:d1=>d1.stopPropagation(),className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent",z1?"text-accent":"text-fg"].join(" "),children:W.value}):L0("span",{className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium leading-[1.2] tracking-[-0.02em]",z1?"text-accent":"text-fg"].join(" "),children:W.value}),W.sub&&L0("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:W.sub})]},`${W.value}-${r1}`)})})]})]})}import{jsx as Ve1}from"react/jsx-runtime";var AZ={label:"Contact Form",defaultProps:{routingNumber:v0.routingNumber,routingTagline:v0.routingTagline,groups:v0.groups,formSlug:"",formNumber:v0.formNumber,formHeading:v0.formHeading,metaItems:v0.metaLines.map(e=>({text:e})),showOther:v0.showOther,otherLabel:v0.otherLabel,otherNoteTitle:v0.otherNoteTitle,otherNoteBody:v0.otherNoteBody,buttonText:v0.buttonText,consent:v0.consent,channels:v0.channels},render:e=>Ve1(Jf,{routingNumber:y(e.routingNumber,v0.routingNumber,e.puck),routingTagline:y(e.routingTagline,v0.routingTagline,e.puck),groups:e.groups??[],formNumber:y(e.formNumber,v0.formNumber,e.puck),formHeading:y(e.formHeading,v0.formHeading,e.puck),metaLines:(e.metaItems??[]).map(t=>t?.text??"").filter(Boolean),showOther:e.showOther,otherLabel:t1(e.otherLabel)||v0.otherLabel,otherNoteTitle:y(e.otherNoteTitle,v0.otherNoteTitle,e.puck),otherNoteBody:y(e.otherNoteBody,v0.otherNoteBody,e.puck),buttonText:t1(e.buttonText)||v0.buttonText,consent:y(e.consent,v0.consent,e.puck),channels:e.channels??[],formSlug:t1(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing})};import{jsx as HZ}from"react/jsx-runtime";function Qf({thickness:e=1,lengthPct:t=100,hideOnMobile:a=!1}){return HZ("div",{className:`col-span-full w-full basis-full ${a?"max-[800px]:hidden":""}`,"aria-hidden":"true",children:HZ("div",{className:"bg-line",style:{height:`${e}px`,width:`${t}%`}})})}import{jsx as Ne1}from"react/jsx-runtime";var FZ={label:"Divider",defaultProps:{thickness:1,lengthPct:100,hideOnMobile:!1},render:({thickness:e,lengthPct:t,hideOnMobile:a})=>Ne1(Qf,{thickness:e,lengthPct:t,hideOnMobile:a})};import{useState as _e1}from"react";import{jsx as eb,jsxs as TZ}from"react/jsx-runtime";function tb({heading:e,placeholder:t="Email address",buttonLabel:a="Subscribe"}){let{open:s}=Km(),[c,l]=_e1("");return TZ("div",{className:"w-full min-w-0",children:[e?eb("h4",{className:"mb-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:Y(e,!1)}):null,TZ("form",{className:"flex max-w-[320px] flex-wrap items-stretch gap-2",onSubmit:r=>{r.preventDefault(),s({email:c.trim(),source:D3.footerSignup})},children:[eb("input",{type:"email",placeholder:t,value:c,onChange:r=>l(r.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":m2(e??"")||"Email address"}),eb("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:R0(a)})]})]})}import{jsx as Ie1}from"react/jsx-runtime";var PZ={label:"Email Form",defaultProps:{heading:"",placeholder:"Email address",buttonLabel:"Subscribe"},render:({heading:e,placeholder:t,buttonLabel:a,puck:s})=>Ie1(tb,{heading:U4(e,"Join our email list",s),placeholder:t||void 0,buttonLabel:a||void 0})};import{jsx as ch,jsxs as Re1}from"react/jsx-runtime";var Be1={left:"items-start text-left",center:"items-center text-center",right:"items-end text-right"};function ab({tagline:e,widthPct:t=100,align:a="left",reverse:s=!0,padTop:c=0,padRight:l=0,padBottom:r=0,padLeft:o=0,editing:i=!1}){let{src:n,reversedSrc:h,inkIsDark:m,wordmark:p,siteName:u}=pl(),g=Math.round(e7*(t/100)),d={...c?{paddingTop:c}:{},...l?{paddingRight:l}:{},...r?{paddingBottom:r}:{},...o?{paddingLeft:o}:{}};return Re1("div",{className:`flex min-w-0 flex-col ${Be1[a]} [container-type:inline-size]`,style:d,children:[ch(S1,{href:"/","aria-label":u?`${u} home`:"Home",className:"inline-flex max-w-full overflow-x-clip",children:ch(le,{variant:"footer",sizePx:g,src:n,reverse:s,reversedSrc:h,inkIsDark:m,wordmark:p,siteName:u,fitWordmarkToContainer:!0,fitFloorPx:xw})}),e?ch("p",{className:"mt-3.5 max-w-[280px] text-[13px] leading-[1.5] text-fg-dim",children:k(e)}):i?ch("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 Ze1}from"react/jsx-runtime";var EZ={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:s,padTop:c,padRight:l,padBottom:r,padLeft:o,puck:i})=>Ze1(ab,{tagline:e||void 0,widthPct:t,align:a,reverse:s!=="off",padTop:c,padRight:l,padBottom:r,padLeft:o,editing:i?.isEditing})};import{jsx as De1}from"react/jsx-runtime";var VZ={label:"Menu",defaultProps:{accordionMobile:!1,showDividers:!1},render:({menu:e,heading:t,accordionMobile:a,showDividers:s,puck:c})=>De1(ya,{menu:e,heading:t||void 0,accordionMobile:a,showDividers:s,editing:c?.isEditing})};import{jsx as Oe1}from"react/jsx-runtime";var NZ={label:"Social Logos",defaultProps:{iconStyle:j9,iconSize:"medium",align:"start",gap:Tc},render:({iconStyle:e,iconSize:t,align:a,gap:s,puck:c})=>Oe1(If,{iconStyle:e,iconSize:t,align:a,gap:s,editing:c?.isEditing})};import{jsx as qe1}from"react/jsx-runtime";var Ge1={sm:"text-[12px]",md:"text-[13px]",lg:"text-[15px]"};function sb({text:e,size:t="md",tone:a="default",editing:s=!1}){let c=e||(s?"Add a line of footer text.":"");return c?qe1("p",{className:`${Ge1[t]} leading-[1.5] ${a==="dim"?"text-fg-dim":"text-fg"}`,children:k(c)}):null}import{jsx as We1}from"react/jsx-runtime";var _Z={label:"Text",defaultProps:{size:"md",tone:"default"},render:({text:e,size:t,tone:a,puck:s})=>We1(sb,{text:e||void 0,size:t,tone:a,editing:s?.isEditing})};import{jsx as Ue1}from"react/jsx-runtime";var IZ={label:"Form",defaultProps:{formSlug:"",heading:"",intro:"",submitText:"",finePrint:""},render:e=>Ue1(Dm,{formSlug:t1(e.formSlug)||void 0,heading:t1(e.heading)||void 0,intro:t1(e.intro)||void 0,submitText:t1(e.submitText)||void 0,finePrint:t1(e.finePrint)||void 0,form:e.form,editing:e.puck?.isEditing})};import{jsx as je1}from"react/jsx-runtime";var BZ={label:"Legal Line",render:()=>je1(Hc,{})};import{jsx as Ke1}from"react/jsx-runtime";var RZ={label:"Submit box",defaultProps:{},render:e=>Ke1(Vp,{region:typeof e.region=="string"?e.region:void 0,eyebrow:J0(e.eyebrow,x0.eyebrow,e.puck),title:J0(e.title,x0.title,e.puck),body:J0(e.body,x0.body,e.puck),buttonText:J0(e.buttonText,x0.buttonText,e.puck),consent:J0(e.consent,x0.consent,e.puck),formSlug:t1(e.formSlug)||void 0,form:e.form,editing:e.puck?.isEditing,styleField:e.styleField,styleTick:e.styleTick,styleThanks:e.styleThanks})};import{jsx as $e1}from"react/jsx-runtime";var ZZ={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:s,leadTitle:c,intro:l,emailPlaceholder:r,submitText:o,subscribedText:i,finePrint:n,issuesHeading:h,issues:m,contentType:p,posts:u,limit:g,archiveText:d,archiveHref:f,puck:v})=>$e1(Bc,{headNum:y(e,B0.headNum,v),headTitle:y(t,B0.headTitle,v),headDesc:y(a,B0.headDesc,v),kicker:y(s,B0.kicker,v),leadTitle:y(c,B0.leadTitle,v),intro:y(l,B0.intro,v),emailPlaceholder:t1(r)||B0.emailPlaceholder,submitText:t1(o)||B0.submitText,subscribedText:t1(i)||B0.subscribedText,finePrint:y(n,B0.finePrint,v),issuesHeading:y(h,B0.issuesHeading,v),issues:sh($f(p),{issues:m,posts:u,limit:g,puck:v}),source:D3.subscribeSection,editing:v?.isEditing,archiveText:y(d,B0.archiveText,v),archiveHref:t1(f)||B0.archiveHref})};var DZ={AppointmentBooking:MR,BookingBox:SZ,ContactRouting:AZ,Events:IR,Footer:OR,FooterDivider:FZ,FooterEmailSignup:PZ,FooterGroup:jR,FooterLogo:EZ,FooterMenu:VZ,FooterSocial:NZ,FooterText:_Z,Form:IZ,LegalLineBlock:BZ,ReviewForm:lZ,Reviews:nZ,[b9]:mZ,[f9]:uZ,SubmitBox:RZ,SubmitBuild:fZ,Subscribe:ZZ,SubscribeBlogs:kZ};var Ye1={AppointmentBooking:SR,BookingBox:LR,ContactRouting:HR,Events:BR,Footer:GR,FooterDivider:qR,FooterEmailSignup:WR,FooterGroup:KR,FooterLogo:$R,FooterMenu:XR,FooterSocial:tZ,FooterText:aZ,Form:sZ,LegalLineBlock:cZ,ReviewForm:rZ,Reviews:hZ,[b9]:pZ,[f9]:gZ,SubmitBox:vZ,SubmitBuild:bZ,Subscribe:CZ,SubscribeBlogs:MZ},n2=Re(DZ,Ye1);import{jsx as V6,jsxs as Xe1}from"react/jsx-runtime";import{useEasel as Je1}from"efficient-easel/easel";var Qe1="color-mix(in oklab, var(--bg) 40%, #ffffff)",et1="12vh";function tt1({style:e,frameClass:t,children:a}){let{appState:s}=Je1(u=>u),c=s.data.content,l=s.data.root;if(Zy(c))return V6("div",{className:`sf-themed-content${t?` ${t}`:""}`,style:{...e,background:Qe1,minHeight:"100vh",paddingBottom:et1},children:V6("div",{style:{background:"var(--bg)"},children:a})});let r=ha(c)&&Ul(l,c),o=ha(c)?Gy(l,c):null,i=o?{[Oy]:o}:null,n=Uz(l?.widthChoice),h=n?{[Wz]:n}:null,m=r?null:VB(c),p=m?{[En]:m}:null;return V6("div",{className:`sf-themed-content${r?` ${Wl}`:""}${t?` ${t}`:""}`,style:e,...p,...i,...h,children:V6("div",{style:{background:"var(--bg)",minHeight:"100%"},children:a})})}function OZ(e){return{frameClass:void 0,style:{"--sf-page-width":la}}}function cb({w:e,children:t}){let{frameClass:a,style:s}=OZ(e);return V6("div",{className:a,style:s,children:t})}function lb({propsTheme:e,propsFonts:t,propsCornerStyle:a,propsCornerRadiusPx:s,propsHeadingCompression:c,propsHeadingTypography:l,widthMode:r,fullWidth:o,pageWidth:i,pageBackground:n,chromeInheritsSiteBackground:h,suppressPreviewNav:m,footer:p,overlay:u,children:g}){let{theme:d,fonts:f,sizes:v,cornerRadiusPx:x,cardShadow:z,shadowColor:C,cardGap:M,hoverEffect:A,headingCompression:V,siteWidth:E,siteGutter:O,blockGap:F,headingTypography:T,heroBackgroundFollowsWidth:N,photographyGrayscale:B,themeFromDocument:P}=N3(),D=P?e:d,c1=P?t:f,Z=P?void 0:v,q=P?s===void 0?kz[Cz(a)]:Mz(s):x,K=P?c:V,W=P?l:T,r1=OZ({widthMode:r,fullWidth:o,pageWidth:i}),z1={...ca(D),...ll(Z),...Tz(W),...r1.style,...h?{}:Th(n)};return V6("div",{className:"sf-theme-surfaces sf-theme-accent",style:{...Jc(c1),...tl(D),...al(D),...sl(D),...cl(D),...wh(q),...Iz(wh(q)),...Hz(P?void 0:z,P?void 0:C,P?void 0:A),...Rz(P?void 0:E),...Zz(P?void 0:O),...Ex(P?void 0:F),...qz(P?void 0:N)},"data-sf-headings":Fz(K),"data-sf-card-shadow":P?void 0:Sz(z),"data-sf-card-gap":P?void 0:Lz(M),"data-sf-card-hover":P?void 0:Az(A),onClickCapture:m,children:Xe1(cF,{grayscale:P?void 0:B,children:[V6(tt1,{style:z1,frameClass:r1.frameClass,children:g}),p,u]})})}var rb=e=>{e.target?.closest?.("a")&&e.preventDefault()};function GZ({pageBackground:e,inheritBackground:t=!1,w:a,children:s}){return V6("div",{style:{...t?{}:Th(e),background:"var(--bg)",minHeight:"100%",overflowX:"clip"},children:V6(cb,{w:a,children:s})})}import{jsx as qZ}from"react/jsx-runtime";import{PaddingTopIcon as at1}from"efficient-easel/icons";function st1(){return{type:"custom",render:({value:e,onChange:t})=>qZ($n,{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 ct1=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],WZ={title:G("Page Title"),pageBackground:Yx(),topSpace:v1("Top space",qZ(at1,{}),ct1,Dy),widthChoice:st1()};function lt1(e,t){let a=Ph(t),s=a?a.inner:t;if(fh(s))return!1;if(s?.type==="slot")return!0;let c=vx(s);return c==="always"?!1:c==="authored-copy"?dz(e):!0}function UZ(e){let t=Ph(e),a=t?t.inner:e,s=fh(a);return s?Rx(a)?0:s.level:null}function rt1(e,t,a){return a&&t===0&&e===l8.Content}var ot1=new WeakMap,it1=new WeakMap;function Yt(e,t="section"){let a=t==="page"?it1:ot1,s=a.get(e);if(s)return s;let c=Object.entries(e).map(([m,p])=>({key:m,field:p,level:UZ(p),draws:lt1(m,p)||t==="page"&&UZ(p)===null&&zh(m,p)})),l=t==="section"&&c.some(m=>zh(m.key,m.field)),r=new Set;for(let m=0;m<c.length;m++){let p=c[m].level;if(p===null)continue;let u=0;for(let g=m+1;g<c.length;g++){let d=c[g].level;if(d!==null&&d<=p)break;c[g].draws&&(u+=1)}u===0&&!rt1(c[m].key,p,l)&&r.add(c[m].key)}let o=l&&cy(e),i=o&&!(l8.Content in e);if(!r.size&&!i)return a.set(e,e),e;let n={};for(let m of c)r.has(m.key)||(n[m.key]=m.field);let h=U9(o?sy(n):n);return a.set(e,h),h}var jZ={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(aa,e),draw(e,t){e.label=aa[t]}};import{jsx as nt1}from"react/jsx-runtime";var KZ={name:"sectionGroupAllow",applies:e=>Yc.includes(e),panel(e,t,a,s){let c=e.fields?.sections;c&&(c.allow=[...s.sectionGroupAllow])}},ob=new Set(Object.keys(R1)),$Z={name:"openSlotDisallow",applies:()=>!0,panel(e,t,a,s){let c=s.contentSectionKeys;if(e?.fields)for(let l of Object.values(e.fields)){let r=l;if(r.type!=="slot"||r.allow)continue;let o=t==="Flex"?c.filter(i=>!ob.has(i)):c;r.disallow=Array.from(new Set([...r.disallow??[],...o]))}}};var ht1=Array.from(new Set([...Pb.map(e=>e.type),...ob,...Wc,"GalleryItem"])),YZ={name:"cellWidth",applies:(e,t,a)=>ht1.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.cellWidthFields;e.fields={...e.fields,...s()};let c=e.resolveFields;e.resolveFields=(l,r)=>{let o=c?c(l,r):r.fields,i=Xo(r.appState,l.props?.id);if(i===void 0||iz(i))return o;let n={...o};for(let h of Object.keys(s()))delete n[h];return n}},draw(e){let t=e.render;e.render=a=>{let s=rz(a.gridSpan),c=t(a);return s==null?c:nt1("div",{className:"sf-grid-cell",[oz]:String(s),children:c})}}};import{jsx as XZ}from"react/jsx-runtime";var JZ={name:"clickableParts",applies:(e,t,a)=>typeof a?.render=="function",draw(e,t){let a=e,s=a.render;a.render=c=>{let l=y9(c);return c.puck?.isEditing?XZ(EL,{needles:bh(a.fields,c),styles:l,type:t,children:s(c)}):Object.keys(l).length?XZ(Ez,{needles:bh(a.fields,c),styles:l,type:t,children:s(c)}):s(c)}}};import{jsx as QZ}from"react/jsx-runtime";var eD={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 s=rl(a.sectionCorners,a.sectionCornerSides),c=t(a),l=N0(a)?`sf-section-corners ${Nz}`:"sf-section-corners";return s?QZ("div",{className:l,style:{display:"contents",...s},children:c}):c}}},mt1=["CollectionCard"],tD={name:"cardCorners",applies:(e,t,a)=>mt1.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 s=_z(a.cardCorners,a.cardCornerSides),c=t(a);return s?QZ("div",{className:"sf-card-corners",style:{display:"contents",...s},children:c}):c}}};var aD={name:"emptyHeadings",applies:()=>!0,panel(e,t,a){let s=a.dropEmptyHeadings,c=e.resolveFields;e.resolveFields=c?(l,r)=>{let o=c(l,r);return o instanceof Promise?o.then(i=>s(i??r.fields)):s(o??r.fields)}:(l,r)=>s(r.fields)}};var sD={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{jsx as cD,Fragment as pt1,jsxs as ut1}from"react/jsx-runtime";function dt1({anchor:e}){let t=Lh(typeof e=="string"?e:"");return t?cD("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var lD={name:"sectionAnchor",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.anchorFields;e.fields={...e.fields,...s()}},draw(e){e.defaultProps={...e.defaultProps,anchor:""};let t=e.render;e.render=a=>ut1(pt1,{children:[cD(dt1,{anchor:a.anchor}),t(a)]})}};import{jsx as ft1}from"react/jsx-runtime";import{jsx as gt1}from"react/jsx-runtime";import{useEffect as vt1,useRef as rD}from"react";function oD({motion:e,editing:t,children:a}){let s=rD(null),c=rD(e);return vt1(()=>{let l=s.current;if(l){if(t){if(c.current===e)return;c.current=e,Qz(l);return}return Jz(l)}},[e,t]),gt1("div",{ref:s,[Xz]:e,children:a})}var iD={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!ex.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.sectionAnimationFields;e.fields={...e.fields,...s()}},draw(e){let t=e,a=t.render;t.render=s=>{let c=Yz(s.sectionAnimation);return c?ft1(oD,{motion:c,editing:!!s.puck?.isEditing,children:a(s)}):a(s)}}};import{jsx as bt1}from"react/jsx-runtime";var mD={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!ax.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.heightFields;e.fields={...e.fields,...s()};let c=e.resolveFields;e.resolveFields=(l,r)=>{let o=c?c(l,r):r.fields,i=l?.props??{},n=tx(i),h=sx(i)?cx(i):null;return o&&typeof o.then=="function"?o.then(m=>hD(nD(m,n),h)):hD(nD(o,n),h)}},draw(e){let t=e.render;e.render=a=>{let s=lx(a);return s?bt1("div",{className:s.className,style:s.style,children:t(a)}):t(a)}}};function nD(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 s=a.sectionHeightValue;return s&&(a.sectionHeightValue={...s,unit:t.unit}),a}function hD(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 s=a.sectionHeightValuePhone;return s&&(a.sectionHeightValuePhone={...s,unit:t.unit}),a}import{jsx as zt1}from"react/jsx-runtime";var pD={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!Kz.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:s,SECTION_THEME_FOLLOW_LABEL:c}=a,l=Hh.has(t);e.fields={...e.fields,...l?s(p5,c):s()}},draw(e,t){let a=Hh.has(t),s=e.render;e.render=c=>{let l=k9(a?{...c,sectionAccent:p5(c.sectionAccent)}:c),r=s(c);return l?zt1("div",{className:l.className,style:l.style,children:r}):r}}},uD={name:"slideTheme",applies:e=>e==="HeroSlide",panel(e,t,a){let{sectionThemeFields:s,BLOCK_THEME_FOLLOW_LABEL:c}=a;e?.fields&&(e.fields={...e.fields,...s(p5,c)})}};var xt1=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"]),dD={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(xt1.has(e)||t.isHostBlock(e)),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}},yt1=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"]),gD={name:"blockGroups",applies:e=>yt1.has(e),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}};var wt1=["Form","Stats"];function ib(e,t){let a=new Set(e),s=Hb.filter(i=>a.has(i)),c=s.filter(i=>i!=="Header"&&i!=="Footer"&&!Yc.includes(i)),l=new Set([...t,...Wc,...wt1]),r=s.filter(i=>!l.has(i)),o=new Set(s);return{isSection:i=>o.has(i),isHostBlock:()=>!1,sectionGroupAllow:c,contentSectionKeys:r}}var Ct1=[KZ,$Z,oS,eD,tD,iS,YZ,ZH,DH,OH,GH,mD,lD,pD,iD,uD,dD,gD,aD,JZ,sD,jZ];function vD(e,t,a){let s=t;for(let c of Ct1)c.applies(e,a,s)&&(a.inspector&&c.panel?.(s,e,a.inspector,a),c.draw?.(s,e,a));return t}var fD={spacingFields:v5,sectionShapeFields:Ml,cardShapeFields:Ox,cellWidthFields:jx,widthField:f5,heightFields:Kx,anchorFields:$x,sectionThemeFields:kl,sectionAnimationFields:Dx,slider:a1,assignSectionGroups:Vl,dropEmptyHeadings:Yt,SECTION_THEME_FOLLOW_LABEL:dl,BLOCK_THEME_FOLLOW_LABEL:hx};function bD(e){let t={...ib(Object.keys(e.components),e.categories?.structure?.components??[]),inspector:fD};for(let[c,l]of Object.entries(e.components))vD(c,l,t);let a=e.root,s=a.resolveFields;return a.resolveFields=s?(c,l)=>{let r=s(c,l);return r instanceof Promise?r.then(o=>Yt(o??l.fields,"page")):Yt(r??l.fields,"page")}:(c,l)=>Yt(l.fields,"page"),t}import{Fragment as qt1,jsx as o0,jsxs as Xt}from"react/jsx-runtime";var qr0=[{value:"00",label:L.label},{value:"00",label:L.label},{value:"00",label:L.label}],Et1=uh(()=>import("./PreviewFooter-R5F5A3QN.js")),Vt1=uh(()=>import("./render-client-FGTNS3U6.js")),Nt1={padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim, #888)",borderBottom:"1px solid var(--site-line, #e5e5e5)"};function _t1({propsTheme:e,propsFonts:t,widthMode:a,fullWidth:s,pageWidth:c,pageBackground:l,chromeInheritsSiteBackground:r,suppressPreviewNav:o,children:i}){let{originData:n,exitFocus:h}=TC(),{theme:m,fonts:p,sizes:u,themeFromDocument:g}=N3();if(!n)return Xt(lb,{propsTheme:e,propsFonts:t,widthMode:a,fullWidth:s,pageWidth:c,pageBackground:l,chromeInheritsSiteBackground:r,suppressPreviewNav:o,footer:null,children:[o0("div",{style:Nt1,children:"This is your site footer \u2014 it shows at the bottom of every page."}),i]});let d=g?e:m,f=g?t:p,v=n.content??[],x=n.root,z=ha(v)&&Ul(x,v);return Xt("div",{className:"sf-theme-accent",style:{...Jc(f),...tl(d),...al(d),...sl(d)},onClickCapture:o,children:[Xt("div",{style:{position:"relative"},children:[o0("div",{className:z?Wl:void 0,style:{...ca(d),...ll(g?void 0:u),pointerEvents:"none",userSelect:"none"},"aria-hidden":"true",children:o0(Vt1,{data:n})}),o0("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}})]}),o0("div",{className:"sf-theme-surfaces",style:{...ca(d),...cl(d)},children:o0(cb,{w:{widthMode:a,fullWidth:s,pageWidth:c},children:i})})]})}var A0=Zh,It1={formSlug:L5(void 0,"Newsletter (built in)"),_gLeft:b("Left panel"),metaLabel:G("Meta label",A0.metaLabel),issueLabel:G("Issue label",A0.issueLabel),issueNumber:G("Issue number",A0.issueNumber),kicker:G("Eyebrow",A0.kicker),heading:E1("Heading",A0.heading),deck:E1("Deck",A0.deck),stats:{type:"array",label:"Stats",arrayFields:{label:G("Label"),value:G("Value")},getItemSummary:e=>e?.label||e?.value||"Stat"},_gForm:b("Right panel \xB7 form"),formLabel:G("Section label",A0.formLabel),formHeading:G("Heading",A0.formHeading),formIntro:E1("Intro",A0.formIntro),firstNameLabel:G("First-name label",A0.firstNameLabel),firstNamePlaceholder:G("First-name placeholder",A0.firstNamePlaceholder),emailLabel:G("Email label",A0.emailLabel),emailPlaceholder:G("Email placeholder",A0.emailPlaceholder),_gChoices:b("Right panel \xB7 choices"),interestsLabel:G("Interests label",A0.interestsLabel),interests:H2("Interest chips",o0(a4,{noun:"tag"}),"Chip label","verbatim"),frequencyLabel:G("Frequency label",A0.frequencyLabel),frequencies:H2("Frequency options",o0(At1,{}),"Option label","verbatim"),_gActions:b("Right panel \xB7 actions"),submitText:G("Submit button",A0.submitText),finePrint:G("Fine print",A0.finePrint),dismissText:G("Dismiss link",A0.dismissText),emailInvalidText:G("Invalid-email error",A0.emailInvalidText),submitErrorText:G("Submit-failed error",A0.submitErrorText),_gSuccess:b("Success state"),successHeading:G("Heading",A0.successHeading),successBody:E1("Message",A0.successBody),keepBrowsingText:G("Dismiss button",A0.keepBrowsingText),...kl(p5,dl),...Ml(),_gTextStyle:b("Text style"),...Object.fromEntries(bl.map(e=>[wx[e],v1(Vh[e],Ve(Vh[e]),[{label:"Popup's own",value:""},...m5.map(t=>({label:z9[t],value:t}))],"")])),_gBehaviour:b("Behavior"),autoOpen:l1("Show by itself",A0.autoOpen,o0(Lt1,{})),trigger:b1("Trigger",o0(Pt1,{}),[{label:"Delay",value:"delay"},{label:"Scroll",value:"scroll"},{label:"Exit",value:"exit"}],A0.trigger),autoOpenDelaySec:a1("Delay",o0(nb,{}),Ih.min,Ih.max,1,A0.autoOpenDelaySec,"s"),scrollPercent:a1("Scroll",o0(Tt1,{}),Bh.min,Bh.max,5,A0.scrollPercent,"%"),showOn:b1("Pages",o0(Ht1,{}),[{label:"All",value:"all"},{label:"Chosen",value:"chosen"}],A0.showOn),showOnPages:R9("Chosen pages",[],"None"),hideAfter:b1("After close",o0(nb,{}),[{label:"This visit",value:"visit"},{label:"Days",value:"days"},{label:"Never",value:"never"}],A0.hideAfter),hideDays:a1("Days",o0(nb,{}),Rh.min,Rh.max,1,A0.hideDays),_gArrangement:b("Arrangement"),formSide:b1("Form side",o0(Ft1,{}),[{label:"Right",value:"right"},{label:"Left",value:"left"}],A0.formSide),_gPhone:b("On a phone"),valuePanelOnPhone:l1("Left panel",A0.valuePanelOnPhone,o0(Mt1,{}))},Bt1=Vl(It1,"SubscribePopup");async function Rt1(){return(await Lx(o2()??"")).filter(t=>!oa(t.slug)).map(t=>({label:t.label,value:t8(t.slug)}))}async function Zt1(e){let t=Dh(e),a=new Set;t.autoOpen||["trigger","autoOpenDelaySec","scrollPercent","showOn","showOnPages","hideAfter","hideDays"].forEach(c=>a.add(c)),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 s={};for(let[c,l]of Object.entries(Bt1))a.has(c)||(s[c]=c==="showOnPages"?{...l,options:await Rt1().catch(()=>[])}:l);return U9(s)}var i5=fl,Dt1={_gHeader:b("Header"),kickerBadge:G("Eyebrow badge",i5.kickerBadge),kickerText:G("Eyebrow text",i5.kickerText),titleLead:G("Heading",i5.titleLead),titleAccent:G("Heading accent",i5.titleAccent),subtitleEmpty:E1("Sub-line \xB7 empty",i5.subtitleEmpty),subtitleOne:E1("Sub-line \xB7 one set",i5.subtitleOne),subtitleMany:E1("Sub-line \xB7 several sets",i5.subtitleMany,"{count} becomes the number of sets"),_gStatus:b("Status rail"),leadTimeValue:G("Lead time",i5.leadTimeValue),shipsToFallback:G("Ships to \xB7 fallback",i5.shipsToFallback,"Shown only while the site serves no countries \u2014 otherwise the site's default country is stated"),_gPromises:b("Promise row"),promises:H2("Trust markers",o0(zD,{}),"Marker","verbatim"),_gEmpty:b("Empty basket"),emptyKicker:G("Eyebrow",i5.emptyKicker),emptyBody:E1("Message",i5.emptyBody)},lh={root:{fields:{...WZ,_gOpening:b("Opening filter"),openingProcess:v1("Process",c8("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"),Bk,Rr),openingSize:G("Size","Any"),openingLugs:G("Lugs","Any"),openingFinish:v1("Finish",c8("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"),Ik,Rr),openingPriceMin:G("Price from","Any"),openingPriceMax:G("Price to","Any")},resolveFields:async(e,{fields:t})=>{if(e?.props?.kind===_h)return Zt1(e.props);if(e?.props?.kind===Eh)return Dt1;let a=t;return Z2()?{[xm]:v1("Product type",o0(kt1,{}),ne,"alloy-wheel"),...a,_gHeroBullets:b("Product hero"),_nHeroBullets:g5("The promises under Add to Cart. Text before the \xB7 is bold. Leave the list empty to show no promises at all."),[gp]:H2("Trust bullets",o0(zD,{}),JM(Ia.bullets[0]),"verbatim")}:a},render:e=>{let{children:t,puck:a,widthMode:s,fullWidth:c,pageWidth:l,pageBackground:r,theme:o,fonts:i,scales:n,kind:h,previewProduct:m}=e,p=xr(typeof h=="string"?h:"",e);if(h===_h){let v=Dh(e);return Xt("div",{style:{background:"var(--bg)",minHeight:"100%"},children:[a?.isEditing?o0("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(--site-line, #e5e5e5)"},children:"This is the site popup \u2014 edit it in the Settings panel \u2192"}):null,o0(lM,{inline:!0,content:v})]})}if(h===Eh){let v=yx(e);return Xt("div",{style:{background:"var(--bg)",minHeight:"100%"},children:[a?.isEditing?o0("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(--site-line, #e5e5e5)"},children:"This is the cart drawer \u2014 edit its copy in the Settings panel \u2192"}):null,o0(cr,{children:o0(lr,{preview:!0,children:o0(Ea,{content:v})})})]})}let u=!!a?.isEditing,g=o0(YM,{kind:p,children:o0(tS,{content:QM(e),children:o0(jM,{slug:u?m:null,children:o0(Fk,{initial:Nk(e),children:t})})})}),d=h===Cx&&!ux(r);return u?h===F9?o0(_t1,{propsTheme:o,propsFonts:i,widthMode:s,fullWidth:c,pageWidth:l,pageBackground:typeof r=="string"?r:void 0,chromeInheritsSiteBackground:d,suppressPreviewNav:rb,children:g}):o0(lb,{propsTheme:o,propsFonts:i,widthMode:s,fullWidth:c,pageWidth:l,pageBackground:typeof r=="string"?r:void 0,suppressPreviewNav:rb,footer:o0(Et1,{}),overlay:Xt(qt1,{children:[o0(ep,{}),o0(hp,{})]}),children:g}):o0(GZ,{pageBackground:r,inheritBackground:d,w:{widthMode:s,fullWidth:c,pageWidth:l},children:g})}},categories:Ab(),components:{Heading:B1.Heading,Text:B1.Text,Eyebrow:B1.Eyebrow,ImageBlock:B1.ImageBlock,LogoBlock:B1.LogoBlock,ButtonBlock:B1.ButtonBlock,Spacer:B1.Spacer,Divider:B1.Divider,Grid:B1.Grid,Flex:B1.Flex,Breadcrumb:B1.Breadcrumb,Masthead:B1.Masthead,CategoryBar:B1.CategoryBar,FeaturedCover:B1.FeaturedCover,LongRead:B1.LongRead,Series:B1.Series,Subscribe:n2.Subscribe,SubscribeBlogs:n2.SubscribeBlogs,Banner:B1.Banner,ParagraphsA:B1.ParagraphsA,StatsParagraph:B1.StatsParagraph,Timeline:B1.Timeline,Footprint:B1.Footprint,TimelineTrack:B1.TimelineTrack,TitleWithButtons:B1.TitleWithButtons,Stats:B1.Stats,Integrations:B1.Integrations,Mockup:B1.Mockup,Chart:B1.Chart,KeyFeatures:B1.KeyFeatures,Testimonials:B1.Testimonials,Reviews:n2.Reviews,Prose:B1.Prose,Cards:B1.Cards,Logos:B1.Logos,Ticker:B1.Ticker,ContactRouting:n2.ContactRouting,ContactLocations:B1.ContactLocations,HeroSingle:B1.HeroSingle,Hero:B1.Hero,HeroSlide:B1.HeroSlide,HeroGroup:B1.HeroGroup,Collections:q0.Collections,CollectionCard:q0.CollectionCard,Events:n2.Events,PostCard:B1.PostCard,DocMetaCards:B1.DocMetaCards,DocTabs:B1.DocTabs,DocMasthead:B1.DocMasthead,DocBody:B1.DocBody,FAQ:B1.FAQ,Gallery:q0.Gallery,GalleryB:q0.GalleryB,BrandStrip:q0.BrandStrip,SpecStrip:B1.SpecStrip,GalleryItem:q0.GalleryItem,Manifesto:B1.Manifesto,SectionHeader:B1.SectionHeader,IntroBleed:B1.IntroBleed,Split:B1.Split,SubmitBuild:n2.SubmitBuild,SubmitBox:n2.SubmitBox,ReviewForm:n2.ReviewForm,Form:n2.Form,AppointmentBooking:n2.AppointmentBooking,BookingBox:n2.BookingBox,CatalogFilterBar:q0.CatalogFilterBar,AlloyWheelsListing:q0.AlloyWheelsListing,ProductGrid:q0.ProductGrid,ProductHero:q0.ProductHero,SpecTable:q0.SpecTable,ProcessSteps:B1.ProcessSteps,DetailRows:q0.DetailRows,FitmentTable:q0.FitmentTable,RelatedProducts:q0.RelatedProducts,BundleOffer:q0.BundleOffer,CompatibleTyres:q0.CompatibleTyres,TyreSizes:q0.TyreSizes,TyreFitment:q0.TyreFitment,EuTyreLabel:q0.EuTyreLabel,FitmentFinder:q0.FitmentFinder,OrderSummary:B1.OrderSummary,DeliveryOptions:q0.DeliveryOptions,PaymentBadges:B1.PaymentBadges,CheckoutCTA:q0.CheckoutCTA,ProductRef:q0.ProductRef,CustomHTML:B1.CustomHTML,Header:q0.Header,Footer:n2.Footer,FooterLogo:n2.FooterLogo,FooterMenu:n2.FooterMenu,FooterDivider:n2.FooterDivider,FooterGroup:n2.FooterGroup,FooterText:n2.FooterText,FooterEmailSignup:n2.FooterEmailSignup,FooterSocial:n2.FooterSocial,LegalLineBlock:n2.LegalLineBlock,SearchBlock:q0.SearchBlock,CartBlock:q0.CartBlock,CountrySwitchBlock:q0.CountrySwitchBlock,[f9]:n2.SiteHeader,[b9]:n2.SiteFooter}},Ot1={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial"};for(let[e,t]of Object.entries(Ot1)){let a=lh.components;a[e]={...a[t]}}{let e=lh.components.MenuBlock;e.fields={...e.fields,direction:b1("Direction",o0(St1,{}),[{label:Fh.column,value:"column"},{label:Fh.row,value:"row"}],"column")},e.defaultProps={...e.defaultProps,direction:"column"},e.render=({menu:t,heading:a,accordionMobile:s,showDividers:c,direction:l,puck:r})=>o0(ya,{menu:t,heading:a||void 0,accordionMobile:s,showDividers:c,layout:l==="row"?"row":"column",editing:r?.isEditing})}var Gt1=bD(lh),Wr0=Gt1.sectionGroupAllow,Yv=lh;export{Yg1 as a,Xg1 as b,Jg1 as c,Qg1 as d,ev1 as e,ib as f,vD as g,fD as h,pW as i,si1 as j,vs1 as k,BB as l,$c1 as m,Ok as n,Yc1 as o,Xc1 as p,Do1 as q,vB1 as r,pa1 as s,ua1 as t,da1 as u,ga1 as v,Ha1 as w,Fa1 as x,qZ1 as y,Rs1 as z,El1 as A,m30 as B,tp as C,yP1 as D,Tm as E,YC as F,Us1 as G,js1 as H,Ks1 as I,Js1 as J,ek as K,Fs1 as L,j10 as M,Nn as N,ot as O,l3 as P,Qq as Q,Br as R,ka as S,wG as T,Ic1 as U,ps1 as V,oI as W,pc as X,Yv as Y};
|