efficient-storefront-blocks 0.42.0 → 0.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import{$ as de,$a as Vi,$b as $8,$c as tn,$d as P1,$e as kS,$f as tM,$g as PM,A as Fz,Aa as D2,Ab as Bi,Ac as fd,Ad as JC,Ae as Q5,Af as Hd,Ag as Id,Ah as XM,B as Pz,Ba as lk,Bb as md,Bc as Se,Bd as QC,Be as vS,Bf as BS,Bg as En,Bh as JM,C as Nz,Ca as R6,Cb as dd,Cc as Yi,Cd as eS,Ce as fS,Cf as DS,Cg as Vd,D as Iz,Da as j8,Db as sC,Dc as Xi,Dd as s4,De as bS,Df as Fd,Dg as gM,E as $m,Ea as M7,Eb as oC,Ec as NC,Ed as tS,Ee as xS,Ef as Pd,Eg as vM,F as Vz,Fa as Ei,Fb as ud,Fc as C4,Fd as rn,Fe as h1,Ff as Cn,Fg as Qe,G as Rz,Ga as ps,Gb as $5,Gc as S4,Gd as E7,Ge as wS,Gf as Sn,Gg as fM,H as wi,Ha as ed,Hb as rC,Hc as _6,Hd as He,He as e6,Hf as ZS,Hg as bM,I as yi,Ia as ck,Ib as ye,Ic as Y8,Id as X5,Ie as Oe,If as Nd,Ig as Rd,J as _z,Ja as td,Jb as iC,Jc as Me,Jd as Fe,Je as B6,Jf as GS,Jg as xM,K as Oz,Ka as ad,Kb as nC,Kc as Ae,Kd as aS,Ke as yS,Kf as WS,Kg as wM,L as Bz,La as hk,Lb as lC,Lc as T7,Ld as sS,Le as dn,Lf as US,Lg as yM,M as Ym,Ma as ve,Mb as cC,Mc as Ji,Md as vs,Me as w1,Mf as qS,Mg as zM,N as Dz,Na as fe,Nb as hC,Nc as IC,Nd as H7,Ne as Be,Nf as jS,Ng as kM,O as Zz,Oa as pk,Ob as pC,Oc as AK,Od as Pe,Oe as p2,Of as KS,Og as CM,P as Gz,Pa as mk,Pb as mC,Pc as VC,Pd as nn,Pe as D6,Pf as Mn,Pg as SM,Q as Wz,Qa as dk,Qb as dC,Qc as b3,Qd as oS,Qe as un,Qf as t6,Qg as MM,R as Uz,Ra as sd,Rb as uC,Rc as RC,Rd as Ne,Re as y1,Rf as $S,Rg as AM,S as Xm,Sa as od,Sb as gC,Sc as Qi,Sd as x3,Se as j1,Sf as YS,Sg as e9,T as qz,Ta as be,Tb as Di,Tc as Le,Td as S2,Te as gn,Tf as XS,Tg as Hn,U as jz,Ua as cd,Ub as vC,Uc as N3,Ud as Ie,Ue as Md,Uf as $e,Ug as t9,V as zi,Va as hd,Vb as fC,Vc as _C,Vd as rS,Ve as Z2,Vf as JS,Vg as LM,W as ki,Wa as Ok,Wb as bC,Wc as OC,Wd as ln,We as De,Wf as An,Wg as TM,X as Kz,Xa as Bk,Xb as xC,Xc as bd,Xd as N,Xe as Ze,Xf as Ln,Xg as EM,Y as $z,Ya as Dk,Yb as Zi,Yc as en,Yd as U,Ye as vn,Yf as QS,Yg as HM,Z as Yz,Za as Ii,Zb as wC,Zc as BC,Zd as K,Ze as zS,Zf as eM,Zg as _d,_ as z4,_a as Zk,_b as Gi,_c as DC,_d as z1,_e as P7,_f as Tn,_g as FM,a as uz,aa as Ci,ab as Gk,ac as yC,ad as xd,ae as R1,af as CS,ag as Q8,ah as f5,b as vi,ba as Xz,bb as Wk,bc as Wi,bd as ZC,be as y,bf as Ad,bg as h0,bh as NM,c as gz,ca as Jz,cb as Uk,cc as zC,cd as wd,ce as J5,cf as SS,cg as Z6,ch as Fn,d as hs,da as X2,db as A7,dc as kC,dd as j4,de as iS,df as fn,dg as M,dh as bs,e as vz,ea as G1,eb as L7,ec as gd,ed as GC,ee as n0,ef as bn,eg as j0,eh as N7,f as jm,fa as U1,fb as qk,fc as Ui,fd as Te,fe as nS,ff as Ge,fg as J,fh as IM,g as Km,ga as Qz,gb as ds,gc as CC,gd as Ee,ge as Ve,gf as We,gg as M0,gh as Od,h as g5,ha as J1,hb as jk,hc as SC,hd as WC,he as F7,hf as Ue,hg as aM,hh as VM,i as fi,ia as q1,ib as Kk,ic as ze,id as UC,ie as Re,if as qe,ig as sM,ih as RM,j as fz,ja as ek,jb as $k,jc as ke,jd as an,je as l1,jf as MS,jg as oM,jh as _M,k as bz,ka as tk,kb as Yk,kc as MC,kd as qC,ke as o4,kf as AS,kg as rM,kh as Pn,l as u0,la as m,lb as Xk,lc as Ce,ld as yd,le as lS,lf as LS,lg as iM,lh as OM,m as bi,ma as J2,mb as Jk,mc as Ki,md as gs,me as cn,mf as xn,mg as nM,mh as BM,n as xi,na as ik,nb as Qk,nc as AC,nd as zd,ne as cS,nf as TS,ng as lM,nh as xs,o as U4,oa as ge,ob as eC,oc as Y5,od as kd,oe as hS,of as ES,og as cM,oh as ZM,p as zz,pa as Mi,pb as tC,pc as $i,pd as Cd,pe as hn,pf as je,pg as hM,ph as UM,q as kz,qa as Ai,qb as aC,qc as LC,qd as K4,qe as pn,qf as FS,qg as pM,qh as qM,r as Cz,ra as Li,rb as Ri,rc as TC,rd as Sd,re as mn,rf as PS,rg as mM,rh as jM,s as Sz,sa as Ti,sb as _i,sc as EC,sd as jC,se as pS,sf as NS,sg as dM,sh as KM,t as Mz,ta as q4,tb as xe,tc as v3,td as KC,te as mS,tf as Ld,tg as G6,th as $M,u as Az,ua as v5,ub as Q2,uc as HC,ud as O6,ue as dS,uf as RS,ug as W6,uh as YM,v as Lz,va as Jm,vb as G0,vc as k4,vd as sn,ve as uS,vf as kn,vg as Ye,vh as In,w as Tz,wa as nk,wb as we,wc as FC,wd as on,we as fs,wf as _S,wg as Xe,wh as $4,x as Ez,xa as z2,xb as Oi,xc as vd,xd as $C,xe as gS,xf as OS,xg as uM,xh as Vn,y as q5,ya as Qm,yb as K8,yc as PC,yd as YC,ye as _e,yf as Td,yg as j3,yh as I7,z as Hz,za as n1,zb as pd,zc as f3,zd as XC,ze as X8,zf as Ed,zg as Je,zh as M4}from"./chunks/chunk-AIB2IJBC.js";import{$ as Gd,A as it,B as Gn,C as uA,D as nt,E as gA,H as vA,I as D7,J as x0,L as Zd,M as lt,N as L4,O as Wn,P as ys,R as zs,S as Z7,T as Un,U as qn,V as fA,W as ct,X as ht,Y as pt,Z as ks,_ as bA,a as iA,aa as xA,ba as wA,ca as yA,da as s9,e as _7,ea as t3,f as _n,fa as o9,g as nA,ga as zA,h as lA,ha as Wd,i as Bd,j as cA,k as hA,l as On,m as at,n as Dd,o as pA,p as e3,q as O7,r as Bn,s as st,t as ot,u as Dn,v as B7,w as Zn,x as mA,y as dA,z as rt}from"./chunks/chunk-I6537JSR.js";import{A as F1,a as wn,d as ws,e as V7,g as v2,h as Rn,i as A4,j as QM,k as eA,l as tA,m as aA,n as R7,o as sA,p as oA,v as et,w as f0,x as a9,y as rA,z as tt}from"./chunks/chunk-XJGBK3UK.js";import{$ as Ck,A as gk,Aa as P3,Ba as Ke,Ca as HS,D as vk,Da as J8,F as fk,Fa as IS,G as bk,Ga as yn,Ha as VS,I as xk,Ia as zn,L as wk,N as yk,O as id,P as zk,R as kk,S as Fi,V as Pi,W as Ni,Y as nd,a as a4,aa as ld,b as xz,c as T1,da as Sk,f as j5,fa as Mk,g as ue,ga as Ak,h as Si,ha as Lk,i as ak,ia as Tk,j as sk,ja as Ek,k as ok,ka as Hk,la as Fk,m as rk,ma as Pk,n as uk,na as Nk,o as ms,p as Hi,pa as Ik,q as rd,r as K5,ra as Vk,sa as Rk,ta as _k,va as us,wa as qi,za as ji}from"./chunks/chunk-XNJCKTT5.js";import{b as hz,c as cs,d as pz,e as mz,f as qm,g as dz,h as gi,i as B2,j as wz,k as U5,l as yz,m as y4,o as DM,q as Nn,r as GM,s as w3,t as WM}from"./chunks/chunk-DZX6J2J6.js";import{a as SK,b as MK}from"./chunks/chunk-Y6SLVHK3.js";var S_=SK((BU1,C_)=>{"use strict";function g81(e,t){this.v=e,this.k=t}function r_(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 v81(e){if(Array.isArray(e))return e}function f81(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var s,o,r,i,n=[],l=!0,c=!1;try{if(r=(a=a.call(e)).next,t===0){if(Object(a)!==a)return;l=!1}else for(;!(l=(s=r.call(a)).done)&&(n.push(s.value),n.length!==t);l=!0);}catch(h){c=!0,o=h}finally{try{if(!l&&a.return!=null&&(i=a.return(),Object(i)!==i))return}finally{if(c)throw o}}return n}}function b81(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import{$ as de,$a as Vi,$b as $8,$c as tn,$d as P1,$e as kS,$f as tM,$g as PM,A as Fz,Aa as D2,Ab as Bi,Ac as fd,Ad as JC,Ae as Q5,Af as Hd,Ag as Id,Ah as XM,B as Pz,Ba as lk,Bb as md,Bc as Se,Bd as QC,Be as vS,Bf as BS,Bg as En,Bh as JM,C as Nz,Ca as R6,Cb as dd,Cc as Yi,Cd as eS,Ce as fS,Cf as DS,Cg as Vd,D as Iz,Da as j8,Db as sC,Dc as Xi,Dd as s4,De as bS,Df as Fd,Dg as gM,E as $m,Ea as M7,Eb as oC,Ec as NC,Ed as tS,Ee as xS,Ef as Pd,Eg as vM,F as Vz,Fa as Ei,Fb as ud,Fc as C4,Fd as rn,Fe as h1,Ff as Cn,Fg as Qe,G as Rz,Ga as ps,Gb as $5,Gc as S4,Gd as E7,Ge as wS,Gf as Sn,Gg as fM,H as wi,Ha as ed,Hb as rC,Hc as _6,Hd as He,He as e6,Hf as ZS,Hg as bM,I as yi,Ia as ck,Ib as ye,Ic as Y8,Id as X5,Ie as Oe,If as Nd,Ig as Rd,J as _z,Ja as td,Jb as iC,Jc as Me,Jd as Fe,Je as B6,Jf as GS,Jg as xM,K as Oz,Ka as ad,Kb as nC,Kc as Ae,Kd as aS,Ke as yS,Kf as WS,Kg as wM,L as Bz,La as hk,Lb as lC,Lc as T7,Ld as sS,Le as dn,Lf as US,Lg as yM,M as Ym,Ma as ve,Mb as cC,Mc as Ji,Md as vs,Me as w1,Mf as qS,Mg as zM,N as Dz,Na as fe,Nb as hC,Nc as IC,Nd as H7,Ne as Be,Nf as jS,Ng as kM,O as Zz,Oa as pk,Ob as pC,Oc as AK,Od as Pe,Oe as p2,Of as KS,Og as CM,P as Gz,Pa as mk,Pb as mC,Pc as VC,Pd as nn,Pe as D6,Pf as Mn,Pg as SM,Q as Wz,Qa as dk,Qb as dC,Qc as b3,Qd as oS,Qe as un,Qf as t6,Qg as MM,R as Uz,Ra as sd,Rb as uC,Rc as RC,Rd as Ne,Re as y1,Rf as $S,Rg as AM,S as Xm,Sa as od,Sb as gC,Sc as Qi,Sd as x3,Se as j1,Sf as YS,Sg as e9,T as qz,Ta as be,Tb as Di,Tc as Le,Td as S2,Te as gn,Tf as XS,Tg as Hn,U as jz,Ua as cd,Ub as vC,Uc as N3,Ud as Ie,Ue as Md,Uf as $e,Ug as t9,V as zi,Va as hd,Vb as fC,Vc as _C,Vd as rS,Ve as Z2,Vf as JS,Vg as LM,W as ki,Wa as Ok,Wb as bC,Wc as OC,Wd as ln,We as De,Wf as An,Wg as TM,X as Kz,Xa as Bk,Xb as xC,Xc as bd,Xd as N,Xe as Ze,Xf as Ln,Xg as EM,Y as $z,Ya as Dk,Yb as Zi,Yc as en,Yd as U,Ye as vn,Yf as QS,Yg as HM,Z as Yz,Za as Ii,Zb as wC,Zc as BC,Zd as K,Ze as zS,Zf as eM,Zg as _d,_ as z4,_a as Zk,_b as Gi,_c as DC,_d as z1,_e as P7,_f as Tn,_g as FM,a as uz,aa as Ci,ab as Gk,ac as yC,ad as xd,ae as R1,af as CS,ag as Q8,ah as f5,b as vi,ba as Xz,bb as Wk,bc as Wi,bd as ZC,be as y,bf as Ad,bg as h0,bh as NM,c as gz,ca as Jz,cb as Uk,cc as zC,cd as wd,ce as J5,cf as SS,cg as Z6,ch as Fn,d as hs,da as X2,db as A7,dc as kC,dd as j4,de as iS,df as fn,dg as M,dh as bs,e as vz,ea as G1,eb as L7,ec as gd,ed as GC,ee as n0,ef as bn,eg as j0,eh as N7,f as jm,fa as U1,fb as qk,fc as Ui,fd as Te,fe as nS,ff as Ge,fg as J,fh as IM,g as Km,ga as Qz,gb as ds,gc as CC,gd as Ee,ge as Ve,gf as We,gg as M0,gh as Od,h as g5,ha as J1,hb as jk,hc as SC,hd as WC,he as F7,hf as Ue,hg as aM,hh as VM,i as fi,ia as q1,ib as Kk,ic as ze,id as UC,ie as Re,if as qe,ig as sM,ih as RM,j as fz,ja as ek,jb as $k,jc as ke,jd as an,je as l1,jf as MS,jg as oM,jh as _M,k as bz,ka as tk,kb as Yk,kc as MC,kd as qC,ke as o4,kf as AS,kg as rM,kh as Pn,l as u0,la as m,lb as Xk,lc as Ce,ld as yd,le as lS,lf as LS,lg as iM,lh as OM,m as bi,ma as J2,mb as Jk,mc as Ki,md as gs,me as cn,mf as xn,mg as nM,mh as BM,n as xi,na as ik,nb as Qk,nc as AC,nd as zd,ne as cS,nf as TS,ng as lM,nh as xs,o as U4,oa as ge,ob as eC,oc as Y5,od as kd,oe as hS,of as ES,og as cM,oh as ZM,p as zz,pa as Mi,pb as tC,pc as $i,pd as Cd,pe as hn,pf as je,pg as hM,ph as UM,q as kz,qa as Ai,qb as aC,qc as LC,qd as K4,qe as pn,qf as FS,qg as pM,qh as qM,r as Cz,ra as Li,rb as Ri,rc as TC,rd as Sd,re as mn,rf as PS,rg as mM,rh as jM,s as Sz,sa as Ti,sb as _i,sc as EC,sd as jC,se as pS,sf as NS,sg as dM,sh as KM,t as Mz,ta as q4,tb as xe,tc as v3,td as KC,te as mS,tf as Ld,tg as G6,th as $M,u as Az,ua as v5,ub as Q2,uc as HC,ud as O6,ue as dS,uf as RS,ug as W6,uh as YM,v as Lz,va as Jm,vb as G0,vc as k4,vd as sn,ve as uS,vf as kn,vg as Ye,vh as In,w as Tz,wa as nk,wb as we,wc as FC,wd as on,we as fs,wf as _S,wg as Xe,wh as $4,x as Ez,xa as z2,xb as Oi,xc as vd,xd as $C,xe as gS,xf as OS,xg as uM,xh as Vn,y as q5,ya as Qm,yb as K8,yc as PC,yd as YC,ye as _e,yf as Td,yg as j3,yh as I7,z as Hz,za as n1,zb as pd,zc as f3,zd as XC,ze as X8,zf as Ed,zg as Je,zh as M4}from"./chunks/chunk-H6SZXW6U.js";import{$ as Gd,A as it,B as Gn,C as uA,D as nt,E as gA,H as vA,I as D7,J as x0,L as Zd,M as lt,N as L4,O as Wn,P as ys,R as zs,S as Z7,T as Un,U as qn,V as fA,W as ct,X as ht,Y as pt,Z as ks,_ as bA,a as iA,aa as xA,ba as wA,ca as yA,da as s9,e as _7,ea as t3,f as _n,fa as o9,g as nA,ga as zA,h as lA,ha as Wd,i as Bd,j as cA,k as hA,l as On,m as at,n as Dd,o as pA,p as e3,q as O7,r as Bn,s as st,t as ot,u as Dn,v as B7,w as Zn,x as mA,y as dA,z as rt}from"./chunks/chunk-RSO2WB5X.js";import{A as F1,a as wn,d as ws,e as V7,g as v2,h as Rn,i as A4,j as QM,k as eA,l as tA,m as aA,n as R7,o as sA,p as oA,v as et,w as f0,x as a9,y as rA,z as tt}from"./chunks/chunk-TTHDA2MW.js";import{$ as Ck,A as gk,Aa as P3,Ba as Ke,Ca as HS,D as vk,Da as J8,F as fk,Fa as IS,G as bk,Ga as yn,Ha as VS,I as xk,Ia as zn,L as wk,N as yk,O as id,P as zk,R as kk,S as Fi,V as Pi,W as Ni,Y as nd,a as a4,aa as ld,b as xz,c as T1,da as Sk,f as j5,fa as Mk,g as ue,ga as Ak,h as Si,ha as Lk,i as ak,ia as Tk,j as sk,ja as Ek,k as ok,ka as Hk,la as Fk,m as rk,ma as Pk,n as uk,na as Nk,o as ms,p as Hi,pa as Ik,q as rd,r as K5,ra as Vk,sa as Rk,ta as _k,va as us,wa as qi,za as ji}from"./chunks/chunk-M72Y46OD.js";import{b as hz,c as cs,d as pz,e as mz,f as qm,g as dz,h as gi,i as B2,j as wz,k as U5,l as yz,m as y4,o as DM,q as Nn,r as GM,s as w3,t as WM}from"./chunks/chunk-ZC4KGN3D.js";import{a as SK,b as MK}from"./chunks/chunk-Y6SLVHK3.js";var S_=SK((BU1,C_)=>{"use strict";function g81(e,t){this.v=e,this.k=t}function r_(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 v81(e){if(Array.isArray(e))return e}function f81(e,t){var a=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(a!=null){var s,o,r,i,n=[],l=!0,c=!1;try{if(r=(a=a.call(e)).next,t===0){if(Object(a)!==a)return;l=!1}else for(;!(l=(s=r.call(a)).done)&&(n.push(s.value),n.length!==t);l=!0);}catch(h){c=!0,o=h}finally{try{if(!l&&a.return!=null&&(i=a.return(),Object(i)!==i))return}finally{if(c)throw o}}return n}}function b81(){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 x81(e,t){return v81(e)||f81(e,t)||w81(e,t)||b81()}function w81(e,t){if(e){if(typeof e=="string")return r_(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)?r_(e,t):void 0}}function Vh(e){var t,a;function s(r,i){try{var n=e[r](i),l=n.value,c=l instanceof g81;Promise.resolve(c?l.v:l).then(function(h){if(c){var p=r==="return"&&l.k?r:"next";if(!l.k||h.done)return s(p,h);h=e[p](h).value}o(!!n.done,h)},function(h){s("throw",h)})}catch(h){o(2,h)}}function o(r,i){r===2?t.reject(i):t.resolve({value:i,done:r}),(t=t.next)?s(t.key,t.arg):a=null}this._invoke=function(r,i){return new Promise(function(n,l){var c={key:r,arg:i,resolve:n,reject:l,next:null};a?a=a.next=c:(t=a=c,s(r,i))})},typeof e.return!="function"&&(this.return=void 0)}Vh.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Vh.prototype.next=function(e){return this._invoke("next",e)},Vh.prototype.throw=function(e){return this._invoke("throw",e)},Vh.prototype.return=function(e){return this._invoke("return",e)};var w_=Object.entries,i_=Object.setPrototypeOf,y81=Object.isFrozen,z81=Object.getPrototypeOf,k81=Object.getOwnPropertyDescriptor,q2=Object.freeze,r3=Object.seal,pa=Object.create,y_=typeof Reflect<"u"&&Reflect,Of=y_.apply,Bf=y_.construct;q2||(q2=function(t){return t});r3||(r3=function(t){return t});Of||(Of=function(t,a){for(var s=arguments.length,o=new Array(s>2?s-2:0),r=2;r<s;r++)o[r-2]=arguments[r];return t.apply(a,o)});Bf||(Bf=function(t){for(var a=arguments.length,s=new Array(a>1?a-1:0),o=1;o<a;o++)s[o-1]=arguments[o];return new t(...s)});var N9=V2(Array.prototype.forEach);Array.prototype.indexOf;var C81=V2(Array.prototype.lastIndexOf),n_=V2(Array.prototype.pop),Uo=V2(Array.prototype.push);Array.prototype.slice;var S81=V2(Array.prototype.splice),ma=Array.isArray,Ko=V2(String.prototype.toLowerCase),Pf=V2(String.prototype.toString),l_=V2(String.prototype.match),qo=V2(String.prototype.replace),c_=V2(String.prototype.indexOf),M81=V2(String.prototype.trim),A81=V2(Number.prototype.toString),L81=V2(Boolean.prototype.toString),h_=typeof BigInt>"u"?null:V2(BigInt.prototype.toString),p_=typeof Symbol>"u"?null:V2(Symbol.prototype.toString),v4=V2(Object.prototype.hasOwnProperty),jo=V2(Object.prototype.toString),O3=V2(RegExp.prototype.test),x8=T81(TypeError);function V2(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var a=arguments.length,s=new Array(a>1?a-1:0),o=1;o<a;o++)s[o-1]=arguments[o];return Of(e,t,s)}}function T81(e){return function(){for(var t=arguments.length,a=new Array(t),s=0;s<t;s++)a[s]=arguments[s];return Bf(e,a)}}function P0(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ko;if(i_&&i_(e,null),!ma(t))return e;let s=t.length;for(;s--;){let o=t[s];if(typeof o=="string"){let r=a(o);r!==o&&(y81(t)||(t[s]=r),o=r)}e[o]=!0}return e}function E81(e){for(let t=0;t<e.length;t++)v4(e,t)||(e[t]=null);return e}function V4(e){let t=pa(null);for(let s of w_(e)){var a=x81(s,2);let o=a[0],r=a[1];v4(e,o)&&(ma(r)?t[o]=E81(r):r&&typeof r=="object"&&r.constructor===Object?t[o]=V4(r):t[o]=r)}return t}function H81(e){switch(typeof e){case"string":return e;case"number":return A81(e);case"boolean":return L81(e);case"bigint":return h_?h_(e):"0";case"symbol":return p_?p_(e):"Symbol()";case"undefined":return jo(e);case"function":case"object":{if(e===null)return jo(e);let t=e,a=n5(t,"toString");if(typeof a=="function"){let s=a(t);return typeof s=="string"?s:jo(s)}return jo(e)}default:return jo(e)}}function n5(e,t){for(;e!==null;){let s=k81(e,t);if(s){if(s.get)return V2(s.get);if(typeof s.value=="function")return V2(s.value)}e=z81(e)}function a(){return null}return a}function F81(e){try{return O3(e,""),!0}catch{return!1}}var m_=q2(["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"]),Nf=q2(["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"]),If=q2(["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"]),P81=q2(["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"]),Vf=q2(["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"]),N81=q2(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),d_=q2(["#text"]),u_=q2(["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"]),Rf=q2(["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"]),g_=q2(["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"]),Rh=q2(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),I81=r3(/{{[\w\W]*|^[\w\W]*}}/g),V81=r3(/<%[\w\W]*|^[\w\W]*%>/g),R81=r3(/\${[\w\W]*/g),_81=r3(/^data-[\-\w.\u00B7-\uFFFF]+$/),O81=r3(/^aria-[\-\w]+$/),v_=r3(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),B81=r3(/^(?:\w+script|data):/i),D81=r3(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Z81=r3(/^html$/i),G81=r3(/^[a-z][.\w]*(-[.\w]+)+$/i),f_=r3(/<[/\w!]/g),b_=r3(/<[/\w]/g),W81=r3(/<\/no(script|embed|frames)/i),U81=r3(/\/>/i),I4={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},z_=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],q81=q2(P0({},z_)),j81=(function(){let e={};return N9(z_,t=>{e[t]=r3(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),q2(e)})(),K81=function(){return typeof window>"u"?null:window},$81=function(t,a){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let s=null,o="data-tt-policy-suffix";a&&a.hasAttribute(o)&&(s=a.getAttribute(o));let r="dompurify"+(s?"#"+s:"");try{return t.createPolicy(r,{createHTML(i){return i},createScriptURL(i){return i}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}},x_=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},w8=function(t,a,s,o){return v4(t,a)&&ma(t[a])?P0(o.base?V4(o.base):{},t[a],o.transform):s},_f=function(t,a,s){let o=v4(t,a)?t[a]:void 0;return o&&typeof o=="object"?V4(o):s()};function k_(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:K81(),t=p1=>k_(p1);if(t.version="3.4.16",t.removed=[],!e||!e.document||e.document.nodeType!==I4.document||!e.Element)return t.isSupported=!1,t;let a=e.document,s=a,o=s.currentScript;e.DocumentFragment;let r=e.HTMLTemplateElement,i=e.Node,n=e.Element,l=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let c=e.DOMParser,h=e.trustedTypes,p=n.prototype,d=n5(p,"cloneNode"),u=n5(p,"remove"),v=n5(p,"removeAttributeNode"),g=n5(p,"nextSibling"),f=n5(p,"childNodes"),b=n5(p,"parentNode"),x=n5(p,"shadowRoot"),w=n5(p,"attributes"),z=i&&i.prototype?n5(i.prototype,"nodeType"):null,k=i&&i.prototype?n5(i.prototype,"nodeName"):null,L=i&&i.prototype?n5(i.prototype,"ownerDocument"):null,V=function(S){return z?z(S):S.nodeType},P=function(S){return k?k(S):S.nodeName};if(typeof r=="function"){let p1=a.createElement("template");p1.content&&p1.content.ownerDocument&&(a=p1.content.ownerDocument)}let E,I="",F,H=!1,O=0,q=function(){if(O>0)throw x8('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.')},R=function(S){q(),O++;try{return E.createHTML(S)}finally{O--}},j=function(S){q(),O++;try{return E.createScriptURL(S)}finally{O--}},B=function(){return H||(F=$81(h,o),H=!0),F},t1=a,$=t1.implementation,W=t1.createNodeIterator,i1=t1.createDocumentFragment,_=t1.getElementsByTagName,D=s.importNode,Y=x_();t.isSupported=typeof w_=="function"&&typeof b=="function"&&$&&$.createHTMLDocument!==void 0;let e1=I81,X=V81,m1=R81,c1=_81,t0=O81,a0=B81,E1=D81,i0=G81,s0=v_,X1=null,K1=P0({},[...m_,...Nf,...If,...Vf,...d_]),$1=null,g2=P0({},[...u_,...Rf,...g_,...Rh]),R0=Object.seal(pa(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}})),b1=null,Y1=null,d0=Object.seal(pa(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),o0=!0,T0=!0,Z0=!1,s1=!0,k1=!1,l0=!0,s2=!1,K2=!1,B5=null,D5=null,Z5=!1,D4=!1,H3=!1,G5=!1,I6=!0,$2=!1,V6="user-content-",m3=!0,d3=!1,O2={},Y2=null,u5=P0({},["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"]),u3=null,F3=P0({},["audio","video","img","source","image","track"]),t4=null,Z4=P0({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),L1="http://www.w3.org/1998/Math/MathML",c0="http://www.w3.org/2000/svg",S1="http://www.w3.org/1999/xhtml",w2=S1,x1=!1,_0=null,g3=P0({},[L1,c0,S1],Pf),C0=q2(["mi","mo","mn","ms","mtext"]),G4=P0({},C0),is=q2(["annotation-xml"]),Dm=P0({},is),hK=P0({},["title","style","font","a","script"]),ns=null,pK=["application/xhtml+xml","text/html"],mK="text/html",C2=null,ce=null,dK=a.createElement("form"),Xy=function(S){return S instanceof RegExp||S instanceof Function},Zm=function(){let S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ce&&ce===S)return;(!S||typeof S!="object")&&(S={}),S=V4(S),ns=pK.indexOf(S.PARSER_MEDIA_TYPE)===-1?mK:S.PARSER_MEDIA_TYPE,C2=ns==="application/xhtml+xml"?Pf:Ko,X1=w8(S,"ALLOWED_TAGS",K1,{transform:C2}),$1=w8(S,"ALLOWED_ATTR",g2,{transform:C2}),_0=w8(S,"ALLOWED_NAMESPACES",g3,{transform:Pf}),t4=w8(S,"ADD_URI_SAFE_ATTR",Z4,{transform:C2,base:Z4}),u3=w8(S,"ADD_DATA_URI_TAGS",F3,{transform:C2,base:F3}),Y2=w8(S,"FORBID_CONTENTS",u5,{transform:C2}),b1=w8(S,"FORBID_TAGS",V4({}),{transform:C2}),Y1=w8(S,"FORBID_ATTR",V4({}),{transform:C2}),O2=v4(S,"USE_PROFILES")?S.USE_PROFILES&&typeof S.USE_PROFILES=="object"?V4(S.USE_PROFILES):S.USE_PROFILES:!1,o0=S.ALLOW_ARIA_ATTR!==!1,T0=S.ALLOW_DATA_ATTR!==!1,Z0=S.ALLOW_UNKNOWN_PROTOCOLS||!1,s1=S.ALLOW_SELF_CLOSE_IN_ATTR!==!1,k1=S.SAFE_FOR_TEMPLATES||!1,l0=S.SAFE_FOR_XML!==!1,s2=S.WHOLE_DOCUMENT||!1,D4=S.RETURN_DOM||!1,H3=S.RETURN_DOM_FRAGMENT||!1,G5=S.RETURN_TRUSTED_TYPE||!1,Z5=S.FORCE_BODY||!1,I6=S.SANITIZE_DOM!==!1,$2=S.SANITIZE_NAMED_PROPS||!1,m3=S.KEEP_CONTENT!==!1,d3=S.IN_PLACE||!1,s0=F81(S.ALLOWED_URI_REGEXP)?S.ALLOWED_URI_REGEXP:v_,w2=typeof S.NAMESPACE=="string"?S.NAMESPACE:S1,G4=_f(S,"MATHML_TEXT_INTEGRATION_POINTS",()=>P0({},C0)),Dm=_f(S,"HTML_INTEGRATION_POINTS",()=>P0({},is));let Z=_f(S,"CUSTOM_ELEMENT_HANDLING",()=>pa(null));if(R0=pa(null),v4(Z,"tagNameCheck")&&Xy(Z.tagNameCheck)&&(R0.tagNameCheck=Z.tagNameCheck),v4(Z,"attributeNameCheck")&&Xy(Z.attributeNameCheck)&&(R0.attributeNameCheck=Z.attributeNameCheck),v4(Z,"allowCustomizedBuiltInElements")&&typeof Z.allowCustomizedBuiltInElements=="boolean"&&(R0.allowCustomizedBuiltInElements=Z.allowCustomizedBuiltInElements),r3(R0),k1&&(T0=!1),H3&&(D4=!0),O2&&(X1=P0({},d_),$1=pa(null),O2.html===!0&&(P0(X1,m_),P0($1,u_)),O2.svg===!0&&(P0(X1,Nf),P0($1,Rf),P0($1,Rh)),O2.svgFilters===!0&&(P0(X1,If),P0($1,Rf),P0($1,Rh)),O2.mathMl===!0&&(P0(X1,Vf),P0($1,g_),P0($1,Rh))),d0.tagCheck=null,d0.attributeCheck=null,v4(S,"ADD_TAGS")&&(typeof S.ADD_TAGS=="function"?d0.tagCheck=S.ADD_TAGS:ma(S.ADD_TAGS)&&(X1===K1&&(X1=V4(X1)),P0(X1,S.ADD_TAGS,C2))),v4(S,"ADD_ATTR")&&(typeof S.ADD_ATTR=="function"?d0.attributeCheck=S.ADD_ATTR:ma(S.ADD_ATTR)&&($1===g2&&($1=V4($1)),P0($1,S.ADD_ATTR,C2))),v4(S,"ADD_FORBID_CONTENTS")&&ma(S.ADD_FORBID_CONTENTS)&&(Y2===u5&&(Y2=V4(Y2)),P0(Y2,S.ADD_FORBID_CONTENTS,C2)),m3&&(X1["#text"]=!0),s2&&P0(X1,["html","head","body"]),X1.table&&(P0(X1,["tbody"]),delete b1.tbody),S.TRUSTED_TYPES_POLICY){if(typeof S.TRUSTED_TYPES_POLICY.createHTML!="function")throw x8('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof S.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw x8('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let r1=E;E=S.TRUSTED_TYPES_POLICY;try{I=R("")}catch(u1){throw E=r1,u1}}else S.TRUSTED_TYPES_POLICY===null?(E=void 0,I=""):(E===void 0&&(E=B()),E&&typeof I=="string"&&(I=R("")));q2&&q2(S),ce=S},Jy=P0({},[...Nf,...If,...P81]),Qy=P0({},[...Vf,...N81]),uK=function(S,Z,r1){return Z.namespaceURI===S1?S==="svg":Z.namespaceURI===L1?S==="svg"&&(r1==="annotation-xml"||G4[r1]):!!Jy[S]},gK=function(S,Z,r1){return Z.namespaceURI===S1?S==="math":Z.namespaceURI===c0?S==="math"&&Dm[r1]:!!Qy[S]},vK=function(S,Z,r1){return Z.namespaceURI===c0&&!Dm[r1]||Z.namespaceURI===L1&&!G4[r1]?!1:!Qy[S]&&(hK[S]||!Jy[S])},fK=function(S){let Z=b(S);(!Z||!Z.tagName)&&(Z={namespaceURI:w2,tagName:"template"});let r1=Ko(S.tagName),u1=Ko(Z.tagName);return _0[S.namespaceURI]?S.namespaceURI===c0?uK(r1,Z,u1):S.namespaceURI===L1?gK(r1,Z,u1):S.namespaceURI===S1?vK(r1,Z,u1):!!(ns==="application/xhtml+xml"&&_0[S.namespaceURI]):!1},S7=function(S){Uo(t.removed,{element:S});try{b(S).removeChild(S)}catch{if(u(S),!b(S))throw x8("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},ez=function(S,Z,r1){try{v(S,Z)}catch{try{S.removeAttribute(r1)}catch{}}},ci=function(S){hi(S);let Z=f(S);if(Z){let u1=[];N9(Z,D1=>{Uo(u1,D1)}),N9(u1,D1=>{try{u(D1)}catch{}})}let r1=w(S);if(r1)for(let u1=r1.length-1;u1>=0;--u1){let D1=r1[u1],v0=D1&&D1.name;typeof v0=="string"&&ez(S,D1,v0)}},q8=function(S,Z,r1){if(!r1)try{r1=Z.getAttributeNode(S)}catch{r1=null}Uo(t.removed,{attribute:r1||null,from:Z});try{r1?v(Z,r1):Z.removeAttribute(S)}catch{try{Z.removeAttribute(S)}catch{}}if(S==="is")if(D4||H3)try{S7(Z)}catch{}else try{Z.setAttribute(S,"")}catch{}},bK=function(S){let Z=w(S);if(Z)for(let r1=Z.length-1;r1>=0;--r1){let u1=Z[r1],D1=u1&&u1.name;typeof D1!="string"||$1[C2(D1)]||ez(S,u1,D1)}},hi=function(S){let Z=[S];for(;Z.length>0;){let r1=Z.pop();V(r1)===I4.element&&bK(r1);let u1=f(r1);if(u1)for(let D1=u1.length-1;D1>=0;--D1)Z.push(u1[D1])}},tz=function(S,Z){return l0?S==="patchsrc"?!0:S==="for"&&Z!=="label"&&Z!=="output":!1},xK=function(S){if(!l0)return;let Z=[S];for(;Z.length>0;){let r1=Z.pop(),u1=V(r1);if(u1===I4.processingInstruction||u1===I4.comment&&O3(b_,r1.data)){try{u(r1)}catch{}continue}if(u1===I4.element){let v0=r1,S0=C2(P(r1));try{v0.hasAttribute&&v0.hasAttribute("patchsrc")&&v0.removeAttribute("patchsrc"),v0.hasAttribute&&v0.hasAttribute("for")&&tz("for",S0)&&v0.removeAttribute("for")}catch{}}let D1=f(r1);if(D1)for(let v0=D1.length-1;v0>=0;--v0)Z.push(D1[v0])}},az=function(S){let Z=null,r1=null;if(Z5)S="<remove></remove>"+S;else{let v0=l_(S,/^[\r\n\t ]+/);r1=v0&&v0[0]}ns==="application/xhtml+xml"&&w2===S1&&(S='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+S+"</body></html>");let u1=E?R(S):S;if(w2===S1)try{Z=new c().parseFromString(u1,ns)}catch{}if(!Z||!Z.documentElement){Z=$.createDocument(w2,"template",null);try{Z.documentElement.innerHTML=x1?I:u1}catch{}}let D1=Z.body||Z.documentElement;return S&&r1&&D1.insertBefore(a.createTextNode(r1),D1.childNodes[0]||null),w2===S1?_.call(Z,s2?"html":"body")[0]:s2?Z.documentElement:D1},sz=function(S){let Z=L?L(S):S.ownerDocument;return W.call(Z||S,S,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},pi=function(S){return S=qo(S,e1," "),S=qo(S,X," "),S=qo(S,m1," "),S},Gm=function(S){var Z;S.normalize();let r1=L?L(S):S.ownerDocument,u1=W.call(r1||S,S,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),D1=u1.nextNode();for(;D1;)D1.data=pi(D1.data),D1=u1.nextNode();let v0=(Z=S.querySelectorAll)===null||Z===void 0?void 0:Z.call(S,"template");v0&&N9(v0,S0=>{he(S0.content)&&Gm(S0.content)})},mi=function(S){let Z=k?k(S):null;return typeof Z!="string"||C2(Z)!=="form"?!1:typeof S.nodeName!="string"||typeof S.textContent!="string"||typeof S.removeChild!="function"||S.attributes!==w(S)||typeof S.removeAttribute!="function"||typeof S.removeAttributeNode!="function"||typeof S.getAttributeNode!="function"||typeof S.setAttribute!="function"||typeof S.namespaceURI!="string"||typeof S.insertBefore!="function"||typeof S.hasChildNodes!="function"||S.nodeType!==z(S)||S.childNodes!==f(S)},he=function(S){if(!z||typeof S!="object"||S===null)return!1;try{return z(S)===I4.documentFragment}catch{return!1}},ls=function(S){if(!z||typeof S!="object"||S===null)return!1;try{return typeof z(S)=="number"}catch{return!1}};function W5(p1,S,Z){p1.length!==0&&N9(p1,r1=>{r1.call(t,S,Z,ce)})}let wK=function(S,Z){return!!(l0&&S.hasChildNodes()&&!ls(S.firstElementChild)&&O3(f_,S.textContent)&&O3(f_,S.innerHTML)||l0&&S.namespaceURI===S1&&q81[Z]&&(ls(S.firstElementChild)||typeof S.textContent=="string"&&O3(j81[Z],S.textContent))||S.nodeType===I4.processingInstruction||l0&&S.nodeType===I4.comment&&O3(b_,S.data))},di=function(S,Z){if(S instanceof RegExp)return O3(S,Z);if(S instanceof Function){for(var r1=arguments.length,u1=new Array(r1>2?r1-2:0),D1=2;D1<r1;D1++)u1[D1-2]=arguments[D1];return!!S(Z,...u1)}return!1},yK=function(S,Z,r1){if(!b1[Z]&&nz(Z)&&di(R0.tagNameCheck,Z))return!1;if(m3&&!Y2[Z]){let u1=b(S),D1=f(S);if(D1&&u1){let v0=D1.length;for(let S0=v0-1;S0>=0;--S0){let y2=S===r1?d(D1[S0],!0):D1[S0];u1.insertBefore(y2,g(S))}}}return S7(S),!0},oz=function(S,Z,r1,u1){return S.length===0?Z:Z===r1||Z===u1?V4(Z):Z},pe=function(S,Z){return S===Z||b(S)!==null?!1:(d3&&hi(S),!0)},rz=function(S,Z){if(W5(Y.beforeSanitizeElements,S,null),pe(S,Z))return!0;if(mi(S))return S7(S),!0;let r1=C2(P(S));if(X1=oz(Y.uponSanitizeElement,X1,K1,B5),W5(Y.uponSanitizeElement,S,{tagName:r1,allowedTags:X1}),pe(S,Z))return!0;if(wK(S,r1))return S7(S),!0;if(b1[r1]||!(d0.tagCheck instanceof Function&&d0.tagCheck(r1))&&!X1[r1]){let u1=yK(S,r1,Z);return u1===!1&&(W5(Y.afterSanitizeElements,S,null),pe(S,Z))?!0:u1}if(V(S)===I4.element&&!fK(S)||(r1==="noscript"||r1==="noembed"||r1==="noframes")&&O3(W81,S.innerHTML))return S7(S),!0;if(k1&&S.nodeType===I4.text){let u1=pi(S.textContent);S.textContent!==u1&&(Uo(t.removed,{element:S.cloneNode()}),S.textContent=u1)}return W5(Y.afterSanitizeElements,S,null),pe(S,Z)},iz=function(S,Z,r1){if(Y1[Z]||tz(Z,S)||I6&&(Z==="id"||Z==="name")&&(r1 in a||r1 in dK))return!1;let u1=$1[Z]||d0.attributeCheck instanceof Function&&d0.attributeCheck(Z,S);return T0&&O3(c1,Z)||o0&&O3(t0,Z)?!0:u1?t4[Z]||O3(s0,qo(r1,E1,""))||(Z==="src"||Z==="xlink:href"||Z==="href")&&S!=="script"&&c_(r1,"data:")===0&&u3[S]||Z0&&!O3(a0,qo(r1,E1,""))?!0:!r1:nz(S)&&di(R0.tagNameCheck,S)&&di(R0.attributeNameCheck,Z,S)||Z==="is"&&R0.allowCustomizedBuiltInElements&&di(R0.tagNameCheck,r1)},zK=P0({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),nz=function(S){return!zK[Ko(S)]&&O3(i0,S)},kK=function(S,Z,r1,u1){if(E&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!r1)switch(h.getAttributeType(S,Z)){case"TrustedHTML":return R(u1);case"TrustedScriptURL":return j(u1)}return u1},CK=function(S,Z,r1,u1){try{return r1?S.setAttributeNS(r1,Z,u1):S.setAttribute(Z,u1),mi(S)?(S7(S),!1):!0}catch{return q8(Z,S),!1}},lz=function(S,Z){if(W5(Y.beforeSanitizeAttributes,S,null),pe(S,Z))return;let r1=S.attributes;if(!r1||mi(S))return;$1=oz(Y.uponSanitizeAttribute,$1,g2,D5);let u1={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:$1,forceKeepAttr:void 0},D1=r1.length,v0=C2(S.nodeName);for(;D1--;){let S0=r1[D1],y2=S0.name,W4=S0.namespaceURI,w4=S0.value,me=C2(y2),Um=w4,q3=y2==="value"?Um:M81(Um),cz=!1;if(u1.attrName=me,u1.attrValue=q3,u1.keepAttr=!0,u1.forceKeepAttr=void 0,W5(Y.uponSanitizeAttribute,S,u1),q3=u1.attrValue,$2&&(me==="id"||me==="name")&&c_(q3,V6)!==0&&(q8(y2,S,S0),q3=V6+q3,cz=!0),l0&&O3(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,q3)){q8(y2,S,S0);continue}if(me==="attributename"&&l_(q3,"href")){q8(y2,S,S0);continue}if(!u1.forceKeepAttr){if(!u1.keepAttr){q8(y2,S,S0);continue}if(!s1&&O3(U81,q3)){q8(y2,S,S0);continue}if(k1&&(q3=pi(q3)),!iz(v0,me,q3)){q8(y2,S,S0);continue}q3=kK(v0,me,W4,q3),q3!==Um&&CK(S,y2,W4,q3)&&cz&&n_(t.removed)}}W5(Y.afterSanitizeAttributes,S,null),pe(S,Z)},ui=function(S){let Z=null,r1=sz(S);for(W5(Y.beforeSanitizeShadowDOM,S,null);Z=r1.nextNode();)if(W5(Y.uponSanitizeShadowNode,Z,null),rz(Z,S),lz(Z,S),he(Z.content)&&ui(Z.content),V(Z)===I4.element){let u1=x(Z);he(u1)&&(Wm(u1),ui(u1))}W5(Y.afterSanitizeShadowDOM,S,null)},Wm=function(S){let Z=[{node:S,shadow:null}];for(;Z.length>0;){let r1=Z.pop();if(r1.shadow){ui(r1.shadow);continue}let u1=r1.node,D1=V(u1)===I4.element,v0=f(u1);if(v0)for(let S0=v0.length-1;S0>=0;--S0)Z.push({node:v0[S0],shadow:null});if(D1){let S0=k?k(u1):null;if(typeof S0=="string"&&C2(S0)==="template"){let y2=u1.content;he(y2)&&Z.push({node:y2,shadow:null})}}if(D1){let S0=x(u1);he(S0)&&Z.push({node:null,shadow:S0},{node:S0,shadow:null})}}};return t.sanitize=function(p1){let S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Z=null,r1=null,u1=null,D1=null;if(x1=!p1,x1&&(p1="<!-->"),typeof p1!="string"&&!ls(p1)&&(p1=H81(p1),typeof p1!="string"))throw x8("dirty is not a string, aborting");if(!t.isSupported)return p1;K2?(X1=B5,$1=D5):Zm(S),(Y.uponSanitizeElement.length>0||Y.uponSanitizeAttribute.length>0)&&(X1=V4(X1)),Y.uponSanitizeAttribute.length>0&&($1=V4($1)),t.removed=[];let v0=d3&&typeof p1!="string"&&ls(p1);if(v0){xK(p1);let W4=P(p1);if(typeof W4=="string"){let w4=C2(W4);if(!X1[w4]||b1[w4])throw ci(p1),x8("root node is forbidden and cannot be sanitized in-place")}if(mi(p1))throw ci(p1),x8("root node is clobbered and cannot be sanitized in-place");try{Wm(p1)}catch(w4){throw ci(p1),w4}}else if(ls(p1))Z=az("<!---->"),r1=Z.ownerDocument.importNode(p1,!0),r1.nodeType===I4.element&&r1.nodeName==="BODY"||r1.nodeName==="HTML"?Z=r1:Z.appendChild(r1),Wm(Z);else{if(!D4&&!k1&&!s2&&p1.indexOf("<")===-1)return E&&G5?R(p1):p1;if(Z=az(p1),!Z)return D4?null:G5?I:""}Z&&Z5&&S7(Z.firstChild);let S0=v0?p1:Z;try{let W4=sz(S0);for(;u1=W4.nextNode();)rz(u1,S0),lz(u1,S0),he(u1.content)&&ui(u1.content)}catch(W4){throw v0&&(ci(p1),N9(t.removed,w4=>{w4.element&&hi(w4.element)})),W4}if(v0){let W4=!1;if(N9(t.removed,w4=>{w4.element&&(w4.element===p1&&(W4=!0),hi(w4.element))}),W4)throw x8("a node selected for removal could not be safely returned; refusing to sanitize in place");return k1&&Gm(p1),p1}if(D4){if(k1&&Gm(Z),H3)for(D1=i1.call(Z.ownerDocument);Z.firstChild;)D1.appendChild(Z.firstChild);else D1=Z;return($1.shadowroot||$1.shadowrootmode)&&(D1=D.call(s,D1,!0)),D1}let y2=s2?Z.outerHTML:Z.innerHTML;return s2&&X1["!doctype"]&&Z.ownerDocument&&Z.ownerDocument.doctype&&Z.ownerDocument.doctype.name&&O3(Z81,Z.ownerDocument.doctype.name)&&(y2="<!DOCTYPE "+Z.ownerDocument.doctype.name+`>
3
- `+y2),k1&&(y2=pi(y2)),E&&G5?R(y2):y2},t.setConfig=function(){let p1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Zm(p1),K2=!0,B5=X1,D5=$1},t.clearConfig=function(){ce=null,K2=!1,B5=null,D5=null,E=F,I=""},t.isValidAttribute=function(p1,S,Z){ce||Zm({});let r1=C2(p1),u1=C2(S);return iz(r1,u1,Z)},t.addHook=function(p1,S){typeof S=="function"&&v4(Y,p1)&&Uo(Y[p1],S)},t.removeHook=function(p1,S){if(v4(Y,p1)){if(S!==void 0){let Z=C81(Y[p1],S);return Z===-1?void 0:S81(Y[p1],Z,1)[0]}return n_(Y[p1])}},t.removeHooks=function(p1){v4(Y,p1)&&(Y[p1]=[])},t.removeAllHooks=function(){Y=x_()},t}var Y81=k_();C_.exports=Y81});import{useEffect as om1,useMemo as rm1,useState as nK}from"react";import{useEaselStrings as im1}from"efficient-easel/strings";import{useMemo as IK}from"react";import{createContext as NK,useContext as kA}from"react";var LK="https://maps.googleapis.com/maps/api/js",TK="__storefrontMapsReady__",jn=null;function Kn(e){if(typeof window>"u")return Promise.reject(new Error("ssr"));if(window.google?.maps)return Promise.resolve(window.google.maps);if(jn)return jn;let t=e&&e.trim()||"";return t?(jn=new Promise((a,s)=>{let o=TK;window[o]=()=>a(window.google.maps);let r=document.createElement("script");r.src=`${LK}?key=${encodeURIComponent(t)}&libraries=marker&callback=${o}&v=weekly&loading=async`,r.async=!0,r.defer=!0,r.onerror=()=>s(new Error("Failed to load Google Maps JS SDK")),document.head.appendChild(r)}),jn):Promise.reject(new Error("No Google Maps API key configured"))}function Cs(e,t){return Number.isFinite(e)&&Number.isFinite(t)&&!(e===0&&t===0)}var EK=15e3,Ud=new Set,HK=()=>Ud.forEach(e=>e());function FK(e){let t=window;return t.gm_authFailure=HK,Ud.add(e),()=>{Ud.delete(e)}}function $n(e){let t=!1,a,s=()=>{t||(t=!0,i(),e())},o=()=>{a=setTimeout(()=>{document.visibilityState==="visible"?s():o()},EK)},r=FK(s),i=()=>{clearTimeout(a),r()};return o(),{ready:()=>{t||(t=!0,i())},stop:i}}var CA="sf:maps-api-key",SA="sf:maps-map-id";function MA(){if(typeof window>"u")return"";try{return window.localStorage.getItem(CA)??""}catch{return""}}function qd(e){if(!(typeof window>"u"))try{window.localStorage.setItem(CA,e)}catch{}}function AA(){if(typeof window>"u")return"";try{return window.localStorage.getItem(SA)??""}catch{return""}}function LA(e){if(!(typeof window>"u"))try{window.localStorage.setItem(SA,e)}catch{}}var jd=NK({apiKey:"",setApiKey:()=>{},mapId:""}),Yn=jd.Provider,Xn=()=>kA(jd).apiKey,Jn=()=>kA(jd).mapId;function Qn(e,t){return e&&e.trim()||t&&t.trim()||""}function el(e,t){return e&&e.trim()||t&&t.trim()||""}import{jsx as VK}from"react/jsx-runtime";function Kd({apiKey:e,mapId:t,children:a}){let s=IK(()=>({apiKey:e,setApiKey:()=>{},mapId:t}),[e,t]);return VK(Yn,{value:s,children:a})}import{jsx as T4,jsxs as Y$}from"react/jsx-runtime";import{useCallback as P2,useEffect as q7,useMemo as xu,useRef as j7,useState as f2}from"react";import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/drag.css";import"efficient-easel/screen.css";var TA={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(hs,e),draw(e,t){e.label=hs[t]}};import{jsx as RK}from"react/jsx-runtime";function EA(e,t){let a=e.props?.id,s=t.appState?.data?.content;return!Array.isArray(s)||typeof a!="string"?!0:!s.some(o=>o?.props?.id===a)}function tl(e,t){let a=e?.data?.content;if(!Array.isArray(a)||typeof t!="string")return;let s=(o,r)=>{for(let i of o){if(i?.props?.id===t)return r;for(let n of Object.values(i?.props??{}))if(Array.isArray(n)&&n.length>0&&typeof n[0]=="object"&&n[0]!==null&&"type"in n[0]){let l=s(n,i);if(l!==void 0)return l}}};return s(a,null)}var HA={name:"sectionGroupAllow",applies:e=>Ci.includes(e),panel(e,t,a,s){let o=e.fields?.sections;o&&(o.allow=[...s.sectionGroupAllow])}},$d=new Set(Object.keys(G1)),FA={name:"openSlotDisallow",applies:()=>!0,panel(e,t,a,s){let o=s.contentSectionKeys;if(e?.fields)for(let r of Object.values(e.fields)){let i=r;if(i.type!=="slot"||i.allow)continue;let n=t==="Flex"?o.filter(l=>!$d.has(l)):o;i.disallow=Array.from(new Set([...i.disallow??[],...n]))}}};var _K=Array.from(new Set([...fz.map(e=>e.type),...$d,...vi,"GalleryItem"])),PA={name:"cellWidth",applies:(e,t,a)=>_K.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.cellWidthFields;e.fields={...e.fields,...s()};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=tl(i.appState,r.props?.id);if(l===void 0||Yz(l))return n;let c={...n};for(let h of Object.keys(s()))delete c[h];return c}},draw(e){let t=e.render;e.render=a=>{let s=Kz(a.gridSpan),o=t(a);return s==null?o:RK("div",{className:"sf-grid-cell",[$z]:String(s),children:o})}}};import{jsx as OA}from"react/jsx-runtime";import{jsx as BK}from"react/jsx-runtime";import{useEffect as DK,useRef as ZK}from"react";var Ss="data-puck-component";function Xd(e,t){return e.closest(`[${Ss}]`)?.getAttribute(Ss)===t}function NA(e,t,a){let s=e.querySelectorAll("*"),o=[],r=new Set;for(let u=0;u<s.length;u+=1){let v=s[u];if(!Xd(v,t))continue;let g=v.getAttribute(M7);g&&(o.push({element:v,partId:v5(t,g)}),r.add(v))}let i=[];for(let u=0;u<s.length;u+=1){let v=s[u];if(!Xd(v,t)||r.has(v))continue;let g=ck(v.textContent??"");g&&i.push({element:v,text:g})}let n=new Map,l=[],c=u=>u.row?`${u.key}.${u.row.rowKey}`:null,h=new Map;for(let u of a){let v=c(u);if(!v)continue;let g=h.get(v);g?g.push(u):h.set(v,[u])}let p=new Set;for(let[u,v]of h){if(v.length<2)continue;let g=v.flatMap(x=>x.texts);if(new Set(g).size===g.length)continue;let f=i.filter(x=>g.includes(x.text));if(f.length!==v.length)continue;let b=[...v].sort((x,w)=>(x.row?.index??0)-(w.row?.index??0));for(let x=0;x<b.length;x+=1){let w=b[x],z=f[x].element,k={key:w.key,partKey:Jm(w.key,w.row),exact:!0},L=n.get(z);L?L.push(k):(n.set(z,[k]),l.push(z))}p.add(u)}for(let u of a){if(p.has(c(u)??""))continue;let v=Jm(u.key,u.row);for(let g of u.texts){let f=[],b=null;for(let z of i)z.text===g?f.push(z.element):!f.length&&z.text.includes(g)&&(!b||z.text.length<=b.length)&&(b={element:z.element,length:z.text.length});let x=f.length?f:b?[b.element]:[],w=x.filter(z=>!x.some(k=>k!==z&&z.contains(k)));for(let z of w){let k={key:u.key,partKey:v,exact:f.length>0},L=n.get(z);L?L.push(k):(n.set(z,[k]),l.push(z))}}}let d=[...o];for(let u of l){let v=n.get(u)??[],g=v.some(f=>f.exact)?v.filter(f=>f.exact):v;if(new Set(g.map(f=>f.partKey)).size===1){d.push({element:u,partId:v5(t,g[0].partKey)});continue}new Set(g.map(f=>f.key)).size===1&&d.push({element:u,partId:v5(t,g[0].key)})}return d}function Yd(e,t,a){let s=e.querySelectorAll(`[${R6}]`);for(let r=0;r<s.length;r+=1){let i=s[r];Xd(i,t)&&i.removeAttribute(R6)}let o=[];for(let{element:r,partId:i}of a)r.setAttribute(R6,i),o.push(r);return o}function IA(e,t,a,s,o,r=()=>null){let i=null,n=null,l=null,c=()=>{let h=a(),p=h?.getAttribute(Ss)??null;if(!h||!p)return!1;i=p;let d=NA(e,p,t);return o(h,p,Yd(e,p,d)),l=r(()=>{let u=NA(e,p,t);OK(d,u)||(d=u,o(h,p,Yd(e,p,u)))}),!0};return c()||(n=s(()=>{(i||c())&&(n?.(),n=null)})),()=>{n?.(),n=null,l?.(),l=null,i&&Yd(e,i,[])}}function OK(e,t){return e.length===t.length&&e.every((a,s)=>a.element===t[s].element&&a.partId===t[s].partId)}function VA(e,t){return e?.closest(`[${R6}]`)?.getAttribute(R6)??v5(t,null)}function RA(e,t){return e!==v5(t,null)}function Jd(e){let t=null,a=null;for(let s=e;s&&(t===null||a===null);s=s.parentElement){let o=s.getAttribute("class");t??=ak(o),a??=id(o)}return{faceRole:t??"body",sizeGroup:a}}function al(e){let t=e.style,a={};for(let i of od)a[i]=t[i]??"",t[i]="";let s=getComputedStyle(e),o=getComputedStyle(e.ownerDocument.documentElement),r=pk({fontSize:s.fontSize,fontWeight:s.fontWeight,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,textAlign:s.textAlign,textTransform:s.textTransform,paddingTop:s.paddingTop,maxWidth:s.maxWidth},mk(s.fontFamily,i=>o.getPropertyValue(i)));for(let i of od)t[i]=a[i];return r}function _A({needles:e,styles:t,type:a,children:s}){let o=ZK(null),{selectedPartId:r,select:i}=Ai(),{setPartStyle:n}=Ti(),l=q4()==="mobile",c=JSON.stringify(e),h=JSON.stringify(t);return DK(()=>{let p=o.current;if(!p)return;let d=[],u=()=>p.parentElement,v=z=>{let k=u();if(!k)return null;let L=new MutationObserver(z);return L.observe(k,{attributes:!0,attributeFilter:[Ss]}),()=>L.disconnect()},g=z=>{let k=new MutationObserver(z);return k.observe(p,{childList:!0,subtree:!0,characterData:!0}),()=>k.disconnect()},f=[];d.push(()=>{for(let z of f)z();f=[]});let b=JSON.parse(c),x=JSON.parse(h),w=IA(p,b,u,v,(z,k,L)=>{for(let H of f)H();f=[];let V=[];for(let H of L){let O=H,q=ge(O);q&&f.push(q),O.getAttribute(R6)===r?(O.setAttribute(j8,""),V.push(O)):O.removeAttribute(j8)}let P=dk(k,r,V,H=>sk(H)!==null||id(H)!==null);if(P&&r){let H=P;n({partId:r,...Jd(H),base:al(H),inks:ik(H),...(()=>{let O=ed(H);return O?{styleOwner:O}:{}})()})}sd(L.filter(H=>!ed(H)).map(H=>({element:H,partId:H.getAttribute(R6)??""})),x,H=>al(H),H=>Ok(a,H),void 0,l);let E=[...p.querySelectorAll(`[${Ei}="${CSS.escape(k)}"][${ps}]`)];E.length&&sd(E.map(H=>({element:H,partId:v5(k,H.getAttribute(ps)??"")})),x,void 0,H=>H,void 0,l);let I=H=>{let O=VA(H.target,k);RA(O,k)&&(H.stopPropagation(),H.preventDefault()),i(O)},F=z;F.addEventListener("click",I,{capture:!0}),f.push(()=>F.removeEventListener("click",I,{capture:!0}))},g);return()=>{w();for(let z of d)z()}},[c,h,r,i,n,l]),BK("div",{ref:o,style:{display:"contents"},children:s})}var BA={name:"clickableParts",applies:(e,t,a)=>typeof a?.render=="function",draw(e,t){let a=e,s=a.render;a.render=o=>{let r=ve(o);return o.puck?.isEditing?OA(_A,{needles:td(a.fields,o),styles:r,type:t,children:s(o)}):Object.keys(r).length?OA(Bk,{needles:td(a.fields,o),styles:r,type:t,children:s(o)}):s(o)}}};import{jsx as DA}from"react/jsx-runtime";var ZA={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=Vi(a.sectionCorners,a.sectionCornerSides),o=t(a),r=G0(a)?`sf-section-corners ${Gk}`:"sf-section-corners";return s?DA("div",{className:r,style:{display:"contents",...s},children:o}):o}}},Qd=["CollectionCard"],GA={name:"cardCorners",applies:(e,t,a)=>Qd.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=Wk(a.cardCorners,a.cardCornerSides),o=t(a);return s?DA("div",{className:"sf-card-corners",style:{display:"contents",...s},children:o}):o}}};var WA={name:"emptyHeadings",applies:()=>!0,panel(e,t,a){let s=a.dropEmptyHeadings,o=e.resolveFields;e.resolveFields=o?(r,i)=>{let n=o(r,i);return n instanceof Promise?n.then(l=>s(l??i.fields)):s(n??i.fields)}:(r,i)=>s(i.fields)}};var UA={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 qA,Fragment as GK,jsxs as WK}from"react/jsx-runtime";function UK({anchor:e}){let t=md(typeof e=="string"?e:"");return t?qA("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var jA={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=>WK(GK,{children:[qA(UK,{anchor:a.anchor}),t(a)]})}};import{jsx as KK}from"react/jsx-runtime";import{jsx as qK}from"react/jsx-runtime";import{useEffect as jK,useRef as KA}from"react";function $A({motion:e,editing:t,children:a}){let s=KA(null),o=KA(e);return jK(()=>{let r=s.current;if(r){if(t){if(o.current===e)return;o.current=e,cC(r);return}return lC(r)}},[e,t]),qK("div",{ref:s,[nC]:e,children:a})}var YA={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!hC.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 o=iC(s.sectionAnimation);return o?KK($A,{motion:o,editing:!!s.puck?.isEditing,children:a(s)}):a(s)}}};import{jsx as $K}from"react/jsx-runtime";var QA={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!mC.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.heightFields;e.fields={...e.fields,...s()};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=r?.props??{},c=pC(l),h=dC(l)?uC(l):null;return n&&typeof n.then=="function"?n.then(p=>JA(XA(p,c),h)):JA(XA(n,c),h)}},draw(e){let t=e.render;e.render=a=>{let s=gC(a);return s?$K("div",{className:s.className,style:s.style,children:t(a)}):t(a)}}};function XA(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 JA(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 YK}from"react/jsx-runtime";var eL=aL("sectionSticky",(e,t,a)=>t.isSection(e)&&!vC.has(e)&&!!a&&typeof a.render=="function"),tL=aL("cardSticky",(e,t,a)=>Qd.includes(e)&&!!a&&typeof a.render=="function");function aL(e,t){return{name:e,applies:t,panel(a,s,o){a.fields={...a.fields,...o.stickFields()};let r=a.resolveFields;a.resolveFields=(i,n)=>{let l=r?r(i,n):n.fields,c=i?.props??{},h=p=>XK(p,c);return l&&typeof l.then=="function"?l.then(h):h(l)}},draw(a){let s=a.render;a.render=o=>{let r=xC(o);return r?YK("div",{className:r.className,style:r.style,children:s(o)}):s(o)}}}}function XK(e,t){if(!e||!("stickTop"in e))return e;let a=bC(t),s={...e};return a.desktop||delete s.stickTopDistance,(!fC(t)||!a.phone)&&delete s.stickTopDistancePhone,s}import{jsx as a$}from"react/jsx-runtime";import{jsx as QK}from"react/jsx-runtime";var sl="sf-card",G2={min:0,max:90,step:5,fallback:0,unit:"%"},G7=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],JK="68%",r4={desktop:20,phone:20,side:40,sidePhone:24},sL="sf-box-sides";function mt(e){return typeof e=="string"&&e.trim()!==""}function ol(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(G2.max,Math.max(G2.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) ${JK})`}}function rl(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,o]=a[e]??a.center,[r,i]=t==="column"?[o,s]:[s,o],n={start:"justify-start",center:"justify-center",end:"justify-end"},l={start:"items-start",center:"items-center",end:"items-end"};return`${n[r]} ${l[i]}`}var il={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}},oL=new Set(Object.keys(il)),nl=new Set(["Flex","Text","Heading"]),e$=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),rL=new Set(["ProductGrid"]);function eu(e,t,a=!1){let s=e.render;e.render=o=>{if(t?.(o))return s(o);let r=a?$8(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone,o.sectionPaddingLeft,o.sectionPaddingRight,o.sectionPaddingLeftPhone,o.sectionPaddingRightPhone):$8(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone),i=s(o);return r?QK("div",{className:r.className,style:r.style,children:i}):i}}var iL={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!e$.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){oL.has(t)||rL.has(t)||(e.fields={...e.fields,...a.sidesPaddingFields()})},draw(e,t){if(oL.has(t)){let a=e.render,s=il[t];e.render=o=>{let r=yC(o,s);return a({...o,padTop:r.top,padBottom:r.bottom})};return}if(rL.has(t)){eu(e);return}nl.has(t)||eu(e,t==="Flex"?a=>mt(a.bgImage):void 0,!0)}},t$=["Heading","Text"],nL={name:"blockPadding",applies:(e,t,a)=>t$.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.sidesPaddingFields()}},draw(e,t){nl.has(t)||eu(e,void 0,!0)}};var lL={name:"sectionBorder",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",draw(e,t){if(nl.has(t))return;let a=e.render;e.render=s=>{let o=Gi(s.sectionBorder,s.sectionBorderPhone),r=a(s);return o?a$("div",{className:Zi,style:{display:"contents",...o},children:r}):r}}};import{jsx as s$}from"react/jsx-runtime";var cL={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!oC.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:s,SECTION_THEME_FOLLOW_LABEL:o}=a,r=ud.has(t);e.fields={...e.fields,...r?s($5,o):s()}},draw(e,t){let a=ud.has(t),s=e.render;e.render=o=>{let r=ye(a?{...o,sectionAccent:$5(o.sectionAccent)}:o),i=s(o);return r?s$("div",{className:r.className,style:r.style,children:i}):i}}},hL={name:"slideTheme",applies:e=>e==="HeroSlide",panel(e,t,a){let{sectionThemeFields:s,BLOCK_THEME_FOLLOW_LABEL:o}=a;e?.fields&&(e.fields={...e.fields,...s($5,o)})}};import{jsx as ll}from"react/jsx-runtime";import{WidthIcon as i$}from"efficient-easel/icons";var r9={min:40,max:2e3,step:10,fallback:2e3,unit:"px"};function pL(e){return typeof e!="number"?null:{width:`${e}${r9.unit}`,maxWidth:"100%"}}var o$=new Set(["Flex","Grid"]);function tu(e,t){return e&&!t}var r$=e=>Array.isArray(e)&&e.length>0&&typeof e[0]=="object"&&e[0]!==null&&"type"in e[0];function mL(e,t){if(!Array.isArray(e)||typeof t!="string")return;let a=(s,o)=>{for(let r of s){let i=r?.props??{};if(i.id===t)return o;let n=String(r?.type??""),l=o$.has(n)&&tu(Q2(i,"page").mode!=="full",o);for(let c of Object.values(i)){if(!r$(c))continue;let h=a(c,o||l);if(h!==void 0)return h}}};return a(e,!1)}var n$=new Set(["SectionHeader","ProductGrid","IntroBleed","RelatedProducts","Banner","Stats","Logos","Divider","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA","Ticker","CategoryBar","DocTabs","CustomHTML","Spacer","Flex","Grid"]),l$=new Set(["Hero","HeroSingle","Manifesto","ProductHero"]),c$=new Set(["ProductHero"]),dL={name:"sectionWidth",applies:(e,t,a)=>t.isSection(e)&&!n$.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.widthField;e.fields={...e.fields,...s("full")};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=Q2(r?.props??{},"full");return n&&typeof n.then=="function"?n.then(c=>W7(c,l)):W7(n,l)}},draw(e,t){let a=l$.has(t),s=e.render;e.render=o=>{let{mode:r,inherited:i}=Q2(o,"full"),n=s(o);if(r==="full")return a&&!i&&!c$.has(t)?ll("div",{style:{[Xk]:"none",[Jk]:"initial",[Qk]:"initial"},children:n}):n;let l=L7(ds);return a?ll("div",{style:{"--sf-page-cap":ds},children:n}):ll("div",{style:l,children:n})}}};function W7(e,t){if(!e||!("widthMode"in e))return e;let a={...e},s=a.widthMode;return s&&(a.widthMode={...s,currentValue:t.mode,inherited:t.inherited}),a}var h$=new Set(["Heading","Text","ImageBlock","ButtonBlock","Banner","Stats","Logos","Divider","Flex","Grid","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA"]),uL={name:"containedWidth",applies:(e,t,a)=>h$.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.widthField;e.fields={...e.fields,...s("page")};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=Q2(r?.props??{},"page"),c=h=>m$(t,d$(W7(h,l),r,i));return n&&typeof n.then=="function"?n.then(c):c(n)}},draw(e){let t=e.render;e.render=a=>{let{mode:s}=Q2(a,"page");return t({...a,contained:s!=="full"})}}},gL={name:"buttonAlignInRow",applies:e=>e==="ButtonBlock",panel(e){let t=e,a=t?.resolveFields;t.resolveFields=(s,o)=>{let r=a?a(s,o):o.fields,i=n=>{let l=tl(o.appState,s.props?.id);if(!l||l.type!=="HeroGroup"||Ui("HeroGroup",l.props?.direction)!=="row")return n;let c={...n};return delete c.align,c};return r&&typeof r.then=="function"?r.then(i):i(r)}}};function p$(e){return Object.values(e).some(t=>!!t&&typeof t=="object"&&t.type==="slot")}function m$(e,t){if(e!=="ButtonBlock")return t;let a={...t};return delete a._gWidth,delete a.widthMode,delete a.pageWidth,a}function d$(e,t,a){if(p$(e)){let o=a.appState?.data?.content;if(mL(o,t.props?.id)!==!0)return e;let r={...e};return delete r.widthMode,delete r.pageWidth,r}if("parent"in a){if(!Qz(a.parent))return e}else if(!EA({props:t.props??{}},a))return e;let s={...e};return delete s.widthMode,delete s.pageWidth,s}var vL={name:"imageWidth",applies:e=>e==="ImageBlock",panel(e,t,a){let s=a.slider;if(e?.fields){let o=s("Image width",ll(i$,{}),r9.min,r9.max,r9.step,r9.fallback,r9.unit),r="focal",i=Object.entries(e.fields),n=i.findIndex(([l])=>l===r);e.fields=Object.fromEntries(n===-1?[...i,["width",o]]:[...i.slice(0,n+1),["width",o],...i.slice(n+1)])}}};var u$=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","Countdown"]),fL={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(u$.has(e)||t.isHostBlock(e)),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}},g$=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"]),bL={name:"blockGroups",applies:e=>g$.has(e),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}};var v$=["Form","Stats"];function Ms(e,t){let a=new Set(e),s=gz.filter(l=>a.has(l)),o=s.filter(l=>l!=="Header"&&l!=="Footer"&&!Ci.includes(l)),r=new Set([...t,...vi,...v$]),i=s.filter(l=>!r.has(l)),n=new Set(s);return{isSection:l=>n.has(l),isHostBlock:()=>!1,sectionGroupAllow:o,contentSectionKeys:i}}var f$=[HA,FA,iL,ZA,lL,GA,nL,PA,dL,uL,gL,vL,QA,jA,cL,YA,eL,tL,hL,fL,bL,WA,BA,UA,TA];function cl(e,t,a){let s=t;for(let o of f$)o.applies(e,a,s)&&(a.inspector&&o.panel?.(s,e,a.inspector,a),o.draw?.(s,e,a));return t}function b$(e,t){let a=fd(t),s=a?a.inner:t;if(Qm(s))return!1;if(s?.type==="slot")return!0;let o=NC(s);return o==="always"?!1:o==="authored-copy"?lk(e):!0}function xL(e){let t=fd(e),a=t?t.inner:e,s=Qm(a);return s?nS(a)?0:s.level:null}function x$(e,t,a){return a?t===0&&e===Ad.Design||t===1&&e===SS.Content:!1}var w$=new WeakMap,y$=new WeakMap;function hl(e,t="section"){let a=t==="page"?y$:w$,s=a.get(e);if(s)return s;let o=Object.entries(e).map(([p,d])=>({key:p,field:d,level:xL(d),draws:b$(p,d)||t==="page"&&xL(d)===null&&ad(p,d)})),r=t==="section"&&o.some(p=>ad(p.key,p.field)),i=new Set;for(let p=0;p<o.length;p++){let d=o[p].level;if(d===null)continue;let u=0;for(let v=p+1;v<o.length;v++){let g=o[v].level;if(g!==null&&g<=d)break;o[v].draws&&(u+=1)}u===0&&!x$(o[p].key,d,r)&&i.add(o[p].key)}let n=r&&ES(e),l=n&&!(Ad.Design in e);if(!i.size&&!l)return a.set(e,e),e;let c={};for(let p of o)i.has(p.key)||(c[p.key]=p.field);let h=je(n?TS(c):c);return a.set(e,h),h}var pl={spacingFields:_e,sidesPaddingFields:X8,sectionShapeFields:cn,cardShapeFields:hS,cellWidthFields:gS,widthField:Q5,heightFields:vS,anchorFields:bS,stickFields:fS,sectionThemeFields:Re,sectionAnimationFields:cS,slider:l1,assignSectionGroups:xn,dropEmptyHeadings:hl,SECTION_THEME_FOLLOW_LABEL:$i,BLOCK_THEME_FOLLOW_LABEL:LC};function ml(e,t,a){if(!e)return e;let s=!1,o={};for(let[r,i]of Object.entries(e)){let n=i;if(i&&typeof i=="object")if(i.type==="slot")if(i.allow){let l=i.allow.filter(t);l.length!==i.allow.length&&(n={...i,allow:l})}else{let l=new Set(i.disallow??[]),c=a.filter(h=>!l.has(h));c.length>0&&(n={...i,disallow:[...i.disallow??[],...c]})}else{let l=ml(i.arrayFields,t,a),c=ml(i.objectFields,t,a);(l!==i.arrayFields||c!==i.objectFields)&&(n={...i,...l?{arrayFields:l}:null,...c?{objectFields:c}:null})}n!==i&&(s=!0),o[r]=n}return s?o:e}function z$(e,t,a){let s={};for(let[n,l]of Object.entries(t.fields??{}))s[n]=l&&typeof l=="object"&&l.type==="slot"?{...l}:l;let o={...t,...t.fields?{fields:s}:null},r=cl(e,o,a),i=Object.keys(s).filter(n=>r.fields?.[n]!==s[n]);if(i.length>0)throw new Error(`efficient-web-builder: blocks.host["${e}"] declares ${i.map(n=>`"${n}"`).join(", ")}, ${i.length===1?"a name":"names"} the editor gives every section a setting under. Give the block's own field another name.`);return r}function dl(e,t){let a=Object.entries(t?.host??{}),s=t?.categories??[],o=Dz(t);if(!o&&a.length===0&&s.length===0)return e;let r=e.components,i=a.map(([p])=>p).filter(p=>p in r);if(i.length>0)throw new Error(`efficient-web-builder: blocks.host registers ${i.map(p=>`"${p}"`).join(", ")}, which ${i.length===1?"is already a block":"are already blocks"} of the editor. Give a host's block a type of its own.`);let n=p=>o?o.offers(p):!0,l=Object.keys(r).filter(p=>!n(p)),c={};for(let[p,d]of Object.entries(r)){let u=o?ml(d?.fields,n,l):d?.fields;c[p]=u===d?.fields?d:{...d,fields:u}}if(a.length>0){let p=new Set(a.map(([g])=>g)),d=e.categories?.structure?.components??[],u=Ms(Object.keys(r),d),v={...u,isSection:g=>p.has(g)||u.isSection(g),isHostBlock:g=>p.has(g),inspector:pl};for(let[g,f]of a){let b=z$(g,f,v),x=ml(b.fields,n,l);c[g]=x===b.fields?b:{...b,fields:x}}}let h=[];for(let[p,d]of Object.entries(e.categories??{})){let u=d?.components??[],v=u.filter(n);v.length===u.length?h.push([p,d]):v.length>0&&h.push([p,{...d,components:v}])}for(let p of s){let d=p.components.filter(f=>f in c&&n(f));if(d.length===0)continue;let u=h.find(([f])=>f===p.key);if(u){let[,f]=u,b=new Set(f.components??[]);u[1]={...f,components:[...f.components??[],...d.filter(x=>!b.has(x))]};continue}let v=[p.key,{title:p.title,components:d}],g=p.before?h.findIndex(([f])=>f===p.before):-1;g===-1?h.push(v):h.splice(g,0,v)}return{...e,components:c,categories:Object.fromEntries(h)}}import{ChromeWrap as ul}from"efficient-easel/screen/lib/host-chrome";function k$(e){return!!e&&typeof e=="object"&&typeof e[JC]=="string"}function C$(e,t){if(!e)return e;let a=null;for(let[s,o]of Object.entries(e))k$(o)&&(a??={...e},a[s]={...o,siteGap:t});return a??e}function wL(e,t){let a=e,s=!1,o={};for(let[r,i]of Object.entries(a.components)){let n=C$(i.fields,t);if(n===i.fields){o[r]=i;continue}s=!0,o[r]={...i,fields:n}}return s?{...e,components:o}:e}var yL=wn.mediaFields,zL=wn.snapshotObjects,kL=wn.hydratedLists;function S$(e){return typeof e=="string"?"":Array.isArray(e)?[]:e&&typeof e=="object"?null:e}function au(e,t){if(t.length===0)return S$(e);let[a,...s]=t,o=a.endsWith("[]"),r=o?a.slice(0,-2):a;if(!e||typeof e!="object"||Array.isArray(e))return e;let i=e;if(!(r in i))return e;let n=i[r];return o?Array.isArray(n)?{...i,[r]:n.map(l=>au(l,s.length?s:[]))}:e:{...i,[r]:au(n,s)}}function CL(e,t){if(Array.isArray(e))return e.map(o=>CL(o,t));if(!e||typeof e!="object")return e;let a=e,s={};for(let o of t)o in a&&(s[o]=a[o]);return s}function M$(e,t){let a=t;for(let o of yL[e]??[])a=au(a,o.split("."));let s=zL[e];if(s)for(let[o,r]of Object.entries(s))o in a&&(a={...a,[o]:CL(a[o],r.keep)});for(let o of kL[e]??[])Array.isArray(a[o])&&(a={...a,[o]:[]});return a}function A$(e,t){return typeof t!="function"?t:a=>t(M$(e,a))}function gl(e,t){if(!t)return e;let a=e,s={};for(let[o,r]of Object.entries(a.components)){let i=(yL[o]?.length??0)>0||zL[o]||kL[o];s[o]=i&&r.render?{...r,render:A$(o,r.render)}:r}return{...a,components:s}}var dt="product",vl="recordType",L$={key:dt,label:"Product",fields:[]};var T$=new Map,E$=0;function su(){return[L$,...T$.values()]}function ou(){return E$}function fl(e){let t=e?.[vl];return typeof t!="string"?dt:t.trim()||dt}function ru(e){return fl(e)===dt}var iu="product",H$="tyre";var nu="productType",F$={[iu]:"alloy-wheel",[H$]:"tyre"},P$=["alloy-wheel","tyre"];function bl(e,t){return ru(t)?N$(t)??F$[e]??null:null}function N$(e){if(!ru(e))return null;let t=e?.[nu];return typeof t=="string"&&P$.includes(t)?t:null}var xl=null,SL=null;function wl(e,t){xl=e,SL=t}function lu(e){wl(e,null)}function ML(){return xl}function F2(){return SL==="dynamic"||xl===iu}function AL(e){return bl(xl??"",e)??"alloy-wheel"}import{default as LL,DocumentScreen as TL}from"efficient-easel/screen/components/ScreenMount";import{jsx as I$}from"react/jsx-runtime";import{createContext as V$,useCallback as R$,useContext as eg1,useState as cu}from"react";var _$=V$({footerBlock:null,setFooterBlock:()=>{},headerGroup:null,setHeaderGroup:()=>{},refreshToken:0,refreshFooter:()=>{}});function EL({children:e,editFooter:t}){let[a,s]=cu(null),[o,r]=cu(null),[i,n]=cu(0),l=R$(()=>n(c=>c+1),[]);return I$(_$.Provider,{value:{footerBlock:a,setFooterBlock:s,headerGroup:o,setHeaderGroup:r,editFooter:t,refreshToken:i,refreshFooter:l},children:e})}import{useCallback as O$,useEffect as B$,useMemo as HL,useRef as FL,useState as D$}from"react";var Z$="Could not save this link. Check your connection and try again.";function G$(e,t){if(!(e instanceof Y5)||e.kind!=="invalid")return null;let a=e.fields?.[t];return typeof a=="string"&&a.trim()?a:null}function W$(e){return Object.fromEntries(J8.map(t=>[t,{value:e[t]??"",error:null}]))}function PL({token:e,siteId:t,enabled:a}){let[s,o]=D$(Ld),r=FL(null),i=FL(!1),n=Ce(),l=g5(n).social,c=a&&!!e&&!!t&&!!l;B$(()=>{if(!c||!e||!t||!l)return;r.current!==t&&(r.current=t,i.current=!1,o(Ld));let d=!1;return l.get({siteId:t}).then(u=>{!d&&!i.current&&o(W$(u))}).catch(()=>{}),()=>{d=!0}},[c,e,t,l]);let h=O$(async(d,u)=>{if(!c||!e||!t||!l)return{ok:!1,error:"There is no website to save to."};try{let v=await l.update({[d]:u.trim()},{siteId:t});return i.current=!0,o(g=>({...g,[d]:{value:v[d]??"",error:null}})),{ok:!0}}catch(v){let g=G$(v,d)??Z$;return o(f=>({...f,[d]:{...f[d],error:g}})),{ok:!1,error:g}}},[c,e,t,l]),p=HL(()=>yn(Object.fromEntries(J8.map(d=>[d,s[d].value]))),[s]);return HL(()=>({links:p,rows:s,canSave:c,saveLink:h}),[p,s,c,h])}function pu(e,t){let a=t?{siteId:t}:void 0;return{resolve:s=>e.load({slug:s,...a}).then(o=>(o&&Td(o.id,o.live),o)),saveLayout:(s,o,r,i)=>e.save(s,{layout:o},{version:r,clientId:i??""}).then(n=>(Ed(s,n.live),n)),rereadVersion:e.version?s=>e.version(s):void 0,publish:e.publish?(s,o)=>e.publish(s,o?{version:o}:void 0).then(r=>(Hd(s,r.live),r)):void 0,listPages:()=>e.list(a),createPage:e.create?s=>e.create({...s,...a}):void 0,deletePage:e.remove?(s,o)=>e.remove(s,o):void 0}}function U$(e,t,a,s){let o=null,r=new Set,i=!1,n={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1},l=new Set,c=()=>{if(!o)return!1;let v=BS(o.id);return v==="changed"||v==="never"||v===void 0&&i},h=v=>{n={...n,...v,docId:o?.id??null,unpublished:c()};for(let g of l)g()},p=v=>v&&typeof v=="object"&&!Array.isArray(v)?v:{},d=v=>!!o&&r.has(v),u={state:()=>n,subscribe:v=>(l.add(v),()=>{l.delete(v)})};return{resolve:async v=>{if(Pd(v===j4?null:u),v===j4)return a.resolve(v);let g=!1,[f,b]=await Promise.all([a.resolve(v),e.load({slug:j4,...t}).catch(()=>(g=!0,null))]);if(b){Td(b.id,b.live);let w=p(b.layout);o={id:b.id,layout:w,version:b.version,savedJson:""}}else o=null;if(i=!1,!f||!o)return h({conflict:null,saveFailed:!1,loadFailed:g}),f;let x=DS(p(f.layout),o.layout);return o.savedJson=JSON.stringify(Fd(x,o.layout).chrome),r.add(f.id),h({conflict:null,saveFailed:!1,loadFailed:!1}),{...f,layout:x}},saveLayout:async(v,g,f,b)=>{if(!o||!d(v))return a.saveLayout(v,g,f,b);let x=o,w=Fd(g,x.layout),z=await a.saveLayout(v,w.page,f,b),k=JSON.stringify(w.chrome);if(!w.chrome||k===x.savedJson||n.lockHolder)return z;try{let L=await e.save(x.id,{layout:w.chrome},{version:x.version,clientId:b??""});Ed(x.id,L.live),x.layout=w.chrome,x.version=L.version,x.savedJson=k,i=!0,h({conflict:null,saveFailed:!1})}catch(L){Ki(L,"changed-elsewhere")?h({conflict:L.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):Ki(L,"lock-taken")?h({lockHolder:L.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):h({saveFailed:!0})}return z},publish:a.publish?async(v,g)=>{let f=await a.publish(v,g),b=o;if(b&&d(v)&&e.publish&&c()&&!n.lockHolder){let x=await e.publish(b.id,b.version?{version:b.version}:void 0);Hd(b.id,x.live),x.version!==null&&(b.version=x.version),i=!1,h({})}return f}:void 0,lock:s?{claim:async(v,g,f)=>{let b=await s.claim(v,g,f),x=o;if(x&&d(v))try{await s.claim(x.id,g,!1),n.lockHolder&&h({lockHolder:null})}catch(w){Ki(w,"lock-taken")&&h({lockHolder:w.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}return b},release:async(v,g)=>{await s.release(v,g);let f=o;f&&d(v)&&!n.lockHolder&&await s.release(f.id,g).catch(()=>{})}}:void 0,pinnedChrome:u}}function As(e,t=g5(),a=Km(),s={}){let o=qm(t),r=e?{siteId:e}:void 0,i=o?!!e:!0,n=t.site.update,l=o&&a.commerce&&a.service,c=!!s.editsPinnedInPlace&&l,h=pu(t.pages,e),p=c?U$(t.pages,r,h,t.lock):null;return{capabilities:{canPublish:!!t.pages.publish,hasSiteSettings:o,hasSiteTheme:!!t.theme,placeholderFrames:!1,mediaEditing:!0,pageCreationInAdminForm:!t.pages.create,canDeletePagesInline:!!t.pages.remove,hasEditLock:!!t.lock,hasEditGuard:!0,hasPinnedChrome:l,editsPinnedInPlace:c,explainsSiteSettings:!1,hasSiteRecord:i,canEditSiteRecord:i&&!!n,hasPreviewLink:o||!!t.preview,hasCatalog:o&&a.commerce,hasForms:o&&a.service,hasBlog:!!t.blog&&a.service,offersCommerce:a.commerce,offersService:a.service},...h,...IL(h.resolve),lock:t.lock,...p,site:i?()=>t.site.get(r):void 0,updateSite:i&&n?d=>n(d,r):void 0,previewHref:t.preview?d=>t.preview.href(d):void 0}}function NL(e,t=g5(),a=Km()){let s=qm(t),o=t.templates,r=o?o.pages(e):{list:()=>Promise.reject(new Error(hu)),load:()=>Promise.reject(new Error(hu)),save:()=>Promise.reject(new Error(hu))};return{capabilities:{canPublish:!1,hasSiteSettings:!1,hasSiteTheme:!1,placeholderFrames:!0,mediaEditing:!1,pageCreationInAdminForm:!r.create,canDeletePagesInline:!!r.remove,hasEditLock:!1,hasEditGuard:!1,hasPinnedChrome:s&&a.commerce&&a.service,editsPinnedInPlace:!1,explainsSiteSettings:s,hasSiteRecord:!1,canEditSiteRecord:!1,hasPreviewLink:!1,hasCatalog:s&&a.commerce,hasForms:s&&a.service,hasBlog:!!t.blog&&a.service,offersCommerce:a.commerce,offersService:a.service},...pu(r,void 0),...IL(pu(r,void 0).resolve),publish:void 0,templateName:o?()=>o.get(e).then(i=>i.name):void 0}}function IL(e){return{resolve:t=>(Pd(null),e(t))}}var hu="This editor's backend has no website templates.";var q$={"Logos.logosPerRow":"columns","HeroSlide.tintOpacity":"overlay","Split.textBgTint":"overlay"};function j$(e){return Array.isArray(e)&&e.length>0&&e.every(t=>!!t&&typeof t=="object"&&typeof t.type=="string")}function mu(e){let t=e.props,a=!1;if(e.type&&t)for(let[s,o]of Object.entries(q$)){let r=s.indexOf("."),i=s.slice(0,r),n=s.slice(r+1);if(i!==e.type||!(n in t))continue;let l=t[n],c={...t};delete c[n],(!(o in c)||c[o]===void 0)&&(c[o]=l),t=c,a=!0}if(t){let s=t;for(let[o,r]of Object.entries(t)){if(!j$(r))continue;let i=r.map(mu);i.some((n,l)=>n!==r[l])&&(s===t&&(s={...t}),s[o]=i,a=!0)}t=s}return a?{...e,props:t}:e}function yl(e){let t=e;if(!t||typeof t!="object")return e;let a=!1,s={...e};if(Array.isArray(t.content)){let o=t.content.map(mu);o.some((r,i)=>r!==t.content[i])&&(s.content=o,a=!0)}if(t.zones&&typeof t.zones=="object"){let o=!1,r=Object.fromEntries(Object.entries(t.zones).map(([i,n])=>{if(!Array.isArray(n))return[i,n];let l=n.map(mu);return l.some((c,h)=>c!==n[h])&&(o=!0),[i,l]}));o&&(s.zones=r,a=!0)}return a?s:e}var VL={homeSlug:we,entryMayBounce:e=>e.kind==="template"||e.kind==="page"&&e.slug===j4,entryBounce:(e,t)=>e.kind==="page"&&e.slug===j4?{kind:"page",slug:we,siteId:e.siteId}:e.kind!=="template"||new URLSearchParams(t).get("editTemplate")==="1"?null:{kind:"page",slug:we},onSwitch:()=>{},tellsHost:e=>e.kind==="page"&&e.slug!==j4,adapterFor:(e,t,a)=>e.kind==="template"?NL(e.id,t,jm(a)):As(e.siteId,t,jm(a),{editsPinnedInPlace:!0}),migrateRenamedProps:yl};var du=new Set,uu=new Set,gu=new Set;function RL(e){return du.add(e),()=>du.delete(e)}function _L(){du.forEach(e=>e())}function U7(e){return uu.add(e),()=>uu.delete(e)}function OL(){uu.forEach(e=>e())}function zl(e){return gu.add(e),()=>gu.delete(e)}function vu(){gu.forEach(e=>e())}var fu=new Map,K$=9e5,BL=0;function $$(){return BL+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(BL)}`}function DL(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function ZL(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let a=$$();return new Promise(s=>{let o=setTimeout(()=>GL(a,{status:"timeout"}),t.timeoutMs??K$);fu.set(a,r=>{clearTimeout(o),s(r)}),e.send("storefront-editor:open-form",{requestId:a,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function GL(e,t){let a=fu.get(e);a&&(fu.delete(e),a(t))}function bu(e,t){GL(e,t?{status:"saved",form:t}:{status:"closed"})}function kl(e){switch(e?.type){case"storefront-editor:category-updated":return _L(),!0;case"storefront-editor:menus-updated":return OL(),!0;case"storefront-editor:form-saved":{let t=e;return vu(),t.requestId&&bu(t.requestId,t.form??null),!0}case"storefront-editor:form-closed":{let t=e;return vu(),t.requestId&&bu(t.requestId,null),!0}default:return!1}}var X$=()=>{if(typeof window>"u")return K5;try{let e=window.localStorage.getItem(ms);return e==="light"||e==="dark"||e==="auto"?e:K5}catch{return K5}},WL=e=>{if(!(typeof window>"u"))try{window.localStorage.setItem(ms,e)}catch{}},J$=()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Hi)!==rd}catch{return!1}},Q$=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(uk)}catch{}},UL=e=>{if(!(typeof window>"u"))try{e?window.localStorage.removeItem(Hi):window.localStorage.setItem(Hi,rd)}catch{}};function eY(){let{adapter:e,capabilities:t,templateId:a,ready:s,token:o,siteId:r,currentSlug:i,currentKind:n}=ke();q7(()=>(wl(i,n),()=>wl(null,null)),[i,n]);let l=t.placeholderFrames,[c,h]=f2(null),[p,d]=f2("");q7(()=>{let x1=e.templateName;if(!s||!a||!x1){d("");return}let _0=!1;return x1().then(g3=>!_0&&d(g3??"")).catch(()=>{}),()=>{_0=!0}},[s,o,a,e]);let[u,v]=f2(K5),[g,f]=f2(!1),[b,x]=f2({selected:0,themes:[]}),[w,z]=f2(ok),[k,L]=f2(zk),[V,P]=f2(null),[E,I]=f2(Nk),[F,H]=f2(null),[O,q]=f2(null),[R,j]=f2(ld),[B,t1]=f2(null),[$,W]=f2(null),[i1,_]=f2(null),[D,Y]=f2(null),e1=Ce(),X=xu(()=>dl(gi(e1),fi(e1)),[e1]),m1=xu(()=>wL(gl(X,l),D),[X,l,D]),[c1,t0]=f2(Vk),[a0,E1]=f2(null),[i0,s0]=f2(null),X1=j7(null),K1=j7(!1);q7(()=>{v(X$()),f(J$())},[]);let $1=P2(x1=>{K1.current=!0,Q$(),WL(x1),v(x1)},[]),g2=P2(x1=>{K1.current=!0,UL(x1),f(x1)},[]),R0=P2(x1=>{K1.current=!0,x(x1)},[]),b1=P2(x1=>{K1.current=!0,z(x1)},[]),Y1=P2(x1=>{K1.current=!0,L(x1)},[]),d0=P2(x1=>{K1.current=!0,P(x1)},[]),o0=P2(x1=>{K1.current=!0,I(x1)},[]),T0=P2(x1=>{K1.current=!0,H(x1)},[]),Z0=P2(x1=>{K1.current=!0,q(x1)},[]),s1=P2(x1=>{K1.current=!0,j(x1)},[]),k1=P2(x1=>{K1.current=!0,t1(x1)},[]),l0=P2(x1=>{K1.current=!0,t0(x1)},[]),[s2,K2]=f2(null),B5=P2(x1=>{K1.current=!0,K2(x1)},[]),D5=P2(x1=>{K1.current=!0,W(x1)},[]),Z5=P2(x1=>{K1.current=!0,_(x1)},[]),D4=P2(x1=>{K1.current=!0,Y(x1)},[]),H3=P2(x1=>{K1.current=!0,E1(x1)},[]),G5=P2(x1=>{K1.current=!0,s0(x1)},[]);q7(()=>{let x1=g5(e1).theme;if(!o||!t.hasSiteTheme||!x1)return;let _0=r??"";X1.current!==_0&&(X1.current=_0,K1.current=!1);let g3=!1;return x1.get(r?{siteId:r}:void 0).then(C0=>{if(g3||K1.current)return;WL(C0.default_mode),UL(C0.show_theme_switch),v(C0.default_mode),f(C0.show_theme_switch),x({selected:C0.selected_preset,themes:C0.theme_presets});let G4=US(C0);z(G4.fonts),L(G4.sizes),P(C0.corner_radius_px===void 0?Pi[Fi(C0.corner_style)]:Ni(C0.corner_radius_px)),I(G4.compression),H(C0.card_shadow==null?Ck:Mk(C0.card_shadow)),j(C0.card_gap==null?ld:Ak(C0.card_gap)),t1(C0.hover_effect==null?Sk:Lk(C0.hover_effect)),q(Tk(C0.shadow_color)),W(jk(C0.site_width)),_($k(C0.site_gutter)),Y(QC(C0.block_gap)),t0(G4.typography),K2(G4.textStyles),E1(C0.hero_background_follows_width===!0),s0(C0.photography_grayscale===!0)}).catch(()=>{}),()=>{g3=!0}},[o,r,t.hasSiteTheme,e1]);let I6=PL({token:o,siteId:r,enabled:t.hasSiteSettings}),[$2,V6]=f2(FS),m3=j7(null),d3=j7(!1),O2=j7(null),Y2=j7({}),u5=P2(x1=>{d3.current=!0,V6(_0=>({..._0,...x1})),!(!t.hasSiteSettings||!o)&&(Y2.current={...Y2.current,...x1},O2.current&&clearTimeout(O2.current),O2.current=setTimeout(()=>{let _0=Y2.current;Y2.current={},g5(e1).chat?.update(_0,r?{siteId:r}:void 0).catch(()=>{})},500))},[t.hasSiteSettings,o,r,e1]);q7(()=>{if(!o||!t.hasSiteSettings)return;let x1=r??"";m3.current!==x1&&(m3.current=x1,d3.current=!1);let _0=!1,g3=g5(e1).chat;if(g3)return g3.get(r?{siteId:r}:void 0).then(C0=>{_0||d3.current||V6({enabled:C0.enabled,title:C0.title,subtitle:C0.subtitle,greeting:C0.greeting})}).catch(()=>{}),()=>{_0=!0}},[o,r,t.hasSiteSettings,e1]);let[u3,F3]=f2(""),t4=j7(null),Z4=j7(!1);q7(()=>F3(MA()),[]);let L1=P2(x1=>{let _0=x1.trim();if(_0===u3)return;Z4.current=!0,qd(_0),F3(_0);let g3=e.updateSite;!t.canEditSiteRecord||!s||!g3||g3({mapsApiKey:_0}).catch(()=>{})},[u3,t.canEditSiteRecord,s,e]),[c0,S1]=f2("");q7(()=>S1(AA()),[]),q7(()=>{let x1=e.site;if(!s||!t.hasSiteRecord||!x1){h(null);return}let _0=r??"";t4.current!==_0&&(t4.current=_0,Z4.current=!1);let g3=!1;return x1().then(C0=>{if(g3||(h(HS(C0.name)),Z4.current))return;let G4=C0.mapsApiKey??"";qd(G4),F3(G4);let is=C0.mapsMapId??"";LA(is),S1(is)}).catch(()=>{}),()=>{g3=!0}},[s,o,t.hasSiteRecord,r,e]);let w2=xu(()=>({apiKey:u3,setApiKey:L1,mapId:c0}),[u3,L1,c0]);return T4(TL,{config:m1,parts:JM,wrap:(x1,_0)=>T4(ji,{websiteName:c,templateChrome:l,templateName:p||null,themeMode:u,onThemeModeChange:$1,themeSwitchShown:g,onThemeSwitchShownChange:g2,theme:b,onThemeChange:R0,fonts:w,onFontsChange:b1,cornerRadiusPx:V,onCornerRadiusPxChange:d0,cardShadow:F,onCardShadowChange:T0,shadowColor:O,onShadowColorChange:Z0,cardGap:R,onCardGapChange:s1,hoverEffect:B,onHoverEffectChange:k1,headingCompression:E,onHeadingCompressionChange:o0,headingTypography:c1,onHeadingTypographyChange:l0,textStyles:s2,onTextStylesChange:B5,sizes:k,onSizesChange:Y1,siteWidth:$,onSiteWidthChange:D5,siteGutter:i1,onSiteGutterChange:Z5,blockGap:D,onBlockGapChange:D4,heroBackgroundFollowsWidth:a0,onHeroBackgroundFollowsWidthChange:H3,photographyGrayscale:i0,onPhotographyGrayscaleChange:G5,themeFromDocument:!t.hasSiteTheme,children:T4(EL,{children:T4(ul,{wrap:e1.chrome?.wrap,surface:"page",children:T4(Cn,{children:T4(Mi,{children:T4(Sn,{children:T4(Li,{children:Y$(Yn,{value:w2,children:[T4(PS,{chat:$2,onChatChange:u5,children:T4(RS,{value:I6,children:T4(_S,{children:x1})})}),_0]})})})})})})})})})}function qL({target:e}){return T4(LL,{target:e,addressing:VL,onHostMessage:kl,children:T4(eY,{})})}import{createContext as aY,useContext as sY,useMemo as oY}from"react";var tY=["vehicle","process","size","lugs","finish","price"],Cl={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};function jL(e){if(!e)return Cl;let t={...Cl};for(let a of tY){let s=e[a];if(typeof s!="string")continue;let o=s.trim();o&&(t[a]=o)}return t}import{jsx as rY}from"react/jsx-runtime";var KL=aY(Cl);function $L({labels:e,children:t}){let a=oY(()=>jL(e),[e]);return rY(KL.Provider,{value:a,children:t})}function Ts(){return sY(KL)}import{createContext as EY,useContext as HY,useMemo as FY}from"react";import{isSafeLinkHref as Jv1}from"efficient-shell/markup";var U6=["width","profile","rim"],YL={width:"Width",profile:"Profile",rim:"Rim"},iY=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,nY={width:[100,500],profile:[20,100],rim:[10,30]};function E4(e){let t=iY.exec(e??"");if(!t)return null;let a={width:Number(t[1]),profile:Number(t[2]),rim:Number(t[3])};return U6.every(o=>{let[r,i]=nY[o];return a[o]>=r&&a[o]<=i})?a:null}function b5(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 XL(e){return[b5({width:e.width}),b5({width:e.width,profile:e.profile}),b5(e)]}var i4=["alloy-wheel","tyre"],Sl=["alloy-wheel"],H4={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},JL="All products",QL="All product types";function a6(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 ut=i4.map(e=>({value:e,label:H4[e]}));function s6(e){return e==null?[...Sl]:Array.isArray(e)?i4.filter(t=>e.includes(t)):[...Sl]}var K3=e=>e;function K0(e){return K3(e).kind==="tyre"?"tyre":"alloy-wheel"}function eT(e,t){return e.filter(a=>t.includes(K0(a)))}function K7(e){return K3(e).slug??""}function wu(e){return K3(e).name??""}function gt(e){return K3(e).brand??""}function tT(e){let t=new Set;for(let a of e)if(t.add(gt(a)),t.size>1)return!0;return!1}function lY(e){return K3(e).process??""}function aT(e){let t=new Set;for(let a of e)if(t.add(lY(a)),t.size>1)return!0;return!1}function i9(e){return K3(e).prices??void 0}function yu(e){return K3(e).inStock!==!1}function sT(e){let t=K3(e),a=K0(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(a)?a.filter(s=>typeof s=="number"&&Number.isFinite(s)):[]}function zu(e){return K0(e)!=="tyre"&&K3(e).badge==="new"}function ku(e){return K0(e)==="tyre"?[]:(K3(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function oT(e){return ku(e).map(t=>t.family)}function rT(e){if(K0(e)==="tyre")return[];let t=K3(e),a=t.categories;return a&&a.length>0?a:t.process?[t.process]:[]}function iT(e){return K0(e)==="tyre"?[]:K3(e).spec?.pcds??[]}function nT(e){return K0(e)!=="tyre"?[]:K3(e).tyreTypes??[]}function lT(e){return K0(e)!=="tyre"?[]:K3(e).speedRatings??[]}function vt(e){if(K0(e)!=="tyre")return[];let t=K3(e).sizes;return Array.isArray(t)?t.map(a=>E4(typeof a=="string"?a:null)).filter(a=>a!==null):[]}function x5(e,t){return e.length===0?e:e.filter(a=>a.kind===void 0||a.kind===t)}function Ml(e,t){if(t.length===0)return e;let a=ft(t);return $7(e.filter(s=>a(s.fieldKey)),s=>s.fieldKey,t,"cardOrder")}function cT(e,t){let a=t==="filter"?"filterOrder":"cardOrder",s=new Map;for(let o of e){let r=o[a];if(typeof r!="number"||!Number.isFinite(r))continue;let i=s.get(o.fieldKey);(i===void 0||r<i)&&s.set(o.fieldKey,r)}return o=>o?s.get(o):void 0}function Cu(e){return Ll(e,"spec")}function hT(e){return Ll(e,"fitment")}function Su(e,t){if(t.length===0)return e;let a=Cu(t),s=e.filter(o=>a(o.fieldKey));return $7(s,o=>o.fieldKey,t,"specOrder")}function $7(e,t,a,s){let o=new Map;for(let l of a){let c=l[s];typeof c=="number"&&o.set(l.fieldKey,c)}if(o.size===0)return e;let r=[],i=[];e.forEach((l,c)=>{let h=t(l);h&&(r.push(c),i.push({item:l,index:c,order:o.get(h)}))}),i.sort((l,c)=>l.order!==void 0&&c.order!==void 0?l.order-c.order||l.index-c.index:l.order!==void 0?-1:c.order!==void 0?1:l.index-c.index);let n=[...e];return r.forEach((l,c)=>{n[l]=i[c].item}),n.every((l,c)=>l===e[c])?e:n}function ft(e){return Ll(e,"card")}function Al(e){return Ll(e,"filter")}var bt="collection";function xt(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":bt},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function Ll(e,t){let a=new Set(e.filter(s=>s[t]===!1).map(s=>s.fieldKey));return s=>!s||!a.has(s)}function W2(e){return Number.isInteger(e)?String(e):String(Number(e.toFixed(2)))}function Mu(e,t,a){let s=a!=null?`${W2(t)}/${W2(a)}`:W2(t);return`${e}" \xD7 ${s}`}function Tl(e,t){return e===t?`ET ${e}`:`ET ${e}\u2013${t}`}function pT(e,t){return e===t?`${W2(e)}"`:`${W2(e)}"\u2013${W2(t)}"`}function Au(e){return e==="\u2014"?e:`${e}"`}var Es={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},mT=Object.keys(Es);function wt(e){return X2(mT,"recommended",e)}function Lu(e){return mT.filter(t=>t!=="recommended"||e.length<=1)}function dT(e,t){let a=wt(e);return Lu(t).includes(a)?a:"name"}var Hs=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],cY={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},hY={diameters:"tyreSizes"};function uT(e){if(e.length===0)return[];let t=Hs.filter(a=>e.every(s=>cY[a].includes(s)));return t.filter(a=>{let s=hY[a];return!s||!t.includes(s)})}function gT(e,t){return t&&e.includes(t)?[t]:[...e]}function vT(e){let t=new Set;for(let a of e)t.add(K0(a));return[...t]}var o6={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function yt(e){return`${pY(e.width)}\xD7${e.diameter}`}function fT(e){return[...new Set((e.sizePairs??[]).map(t=>Mu(t.diameter,t.width)))]}function pY(e){return W2(e)}function Fs(e,t,a,s=null){if(s!=="kind"&&t.kind&&K0(e)!==t.kind)return!1;for(let o of Hs){if(s===o)continue;let r=t[o];if(r.length===0)continue;let i=r.map(String);if(!wT(e,o).some(n=>i.includes(n)))return!1}return!(s!=="price"&&!Dn(i9(e),a,null,t.priceMax)||s!=="inStock"&&t.inStockOnly&&!yu(e))}function bT(e,t,a){return e.filter(s=>yu(s)&&Fs(s,t,a,"inStock")).length}function mY(e,t,a){let s=[...e],o=(i,n)=>wu(i).localeCompare(wu(n)),r=vT(e).length>1;switch(t){case"price-asc":return s.sort((i,n)=>ot(i9(i),i9(n),a,"asc"));case"price-desc":return s.sort((i,n)=>ot(i9(i),i9(n),a,"desc"));case"name":return s.sort(o);case"new":return s.sort((i,n)=>{let l=(zu(n)?1:0)-(zu(i)?1:0);return l!==0||!r?l:o(i,n)});default:return s}}function xT(e,t,a){return mY(e.filter(s=>Fs(s,t,a)),t.sort,a)}function El(e){return Hs.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}var Tu={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function wT(e,t){switch(t){case"tyreSizes":return[...new Set(vt(e).flatMap(XL))];case"brands":return gt(e)?[gt(e)]:[];case"finishes":return oT(e);case"diameters":return sT(e).map(String);case"collections":return rT(e);case"pcds":return iT(e);case"tyreTypes":return nT(e);case"speedRatings":return lT(e)}}function dY(e){let t=new Map;for(let a of e)for(let s of ku(a))s.color&&!t.has(s.family)&&t.set(s.family,s.color);return t}function Hl(e,t,a,s=vT(e),o=[]){let r=c=>uY(c,s,o),i=dY(e),n=uT(s).filter(c=>c!=="tyreSizes").filter(r).map(c=>{let h=t[c].map(String),p=new Set,d=new Map,u=new Map;for(let g of e){let f=wT(g,c);for(let b of f)p.add(b);for(let b of new Set(f))u.set(b,(u.get(b)??0)+1);if(Fs(g,t,a,c))for(let b of new Set(f))d.set(b,(d.get(b)??0)+1)}let v=[...p].map(g=>({value:g,label:c==="diameters"?`${g}\u2033`:g,count:d.get(g)??0,checked:h.includes(g),swatch:c==="finishes"?i.get(g)??null:null})).sort((g,f)=>{if(c==="diameters")return Number(g.value)-Number(f.value);let b=(u.get(f.value)??0)-(u.get(g.value)??0);return b!==0?b:g.value.localeCompare(f.value)});return{key:c,label:Tu[c],options:v}}).filter(c=>c.options.length>Ps),l=[];for(let c of n){let h=gY(c.key,s,o);h!==void 0&&l.push({fieldKey:c.key,filterOrder:h})}return[...$7(n,c=>c.key,l,"filterOrder")]}var Ps=1;function Fl(e){return e.showCollection===!1?["collections"]:[]}function uY(e,t,a){return t.length===0||a.length===0?!0:t.some(s=>Al(x5(a,s))(xt(e,s)))}function gY(e,t,a){if(a.length===0)return;let s;for(let o of t){let r=cT(x5(a,o),"filter")(xt(e,o));r!==void 0&&(s===void 0||r<s)&&(s=r)}return s}function vY(e){let t=new Set;for(let a of e)for(let s of vt(a))t.add(b5(s));return t.size}function yT(e,t){return uT(t).includes("tyreSizes")?vY(e)>Ps:!1}function zT(e){let t=E4(e);if(t)return t;let[a,s]=e.split("/");return{width:a?Number(a):void 0,profile:s?Number(s):void 0}}function fY(e,t,a){return U6.slice(0,U6.indexOf(a)).every(s=>{let o=t[s];return o==null||e[s]===o})}function kT(e,t,a){let s=zT(t.tyreSizes[0]??""),o=new Set(e.filter(r=>Fs(r,t,a,"tyreSizes")));return U6.map(r=>{let i=new Map;for(let l of e){let c=vt(l).filter(h=>fY(h,s,r));for(let h of new Set(c.map(p=>p[r])))i.has(h)||i.set(h,0),o.has(l)&&i.set(h,(i.get(h)??0)+1)}let n=[...i.keys()].sort((l,c)=>l-c).map(l=>({value:l,label:r==="rim"?`R${l}`:String(l),count:i.get(l)??0}));return{part:r,label:YL[r],value:s[r]??null,options:n}})}function CT(e,t,a,s){let o={...zT(t)},r=U6.indexOf(a);o[a]=s??void 0;for(let i of U6.slice(r+1))o[i]!=null&&e.some(c=>U6.slice(0,U6.indexOf(i)+1).every(h=>o[h]==null||c[h]===o[h]))||(o[i]=void 0);return b5(o)}function ST(e,t,a,s){if(t.length<2)return[];let o=e.filter(r=>Fs(r,a,s,"kind"));return[{kind:null,label:JL,count:o.length,checked:a.kind===null},...t.map(r=>({kind:r,label:H4[r],count:o.filter(i=>K0(i)===r).length,checked:a.kind===r}))]}function MT(e,t){if(e.length===0)return null;let a=e.map(r=>st(i9(r),t)).filter(r=>r!==null);if(a.length===0)return null;let s=Math.floor(Math.min(...a)),o=Math.ceil(Math.max(...a));return o>s?{min:s,max:o}:null}function AT(e,t,a){let s=[];e.kind&&s.push({key:"kind",value:e.kind,label:H4[e.kind]}),e.inStockOnly&&s.push({key:"inStock",value:"",label:"In stock"});for(let o of Hs)for(let r of e[o]){let i=String(r);s.push({key:o,value:i,label:o==="diameters"?`${i}\u2033`:o==="pcds"?`PCD ${i}`:i})}return e.priceMax!=null&&s.push({key:"price",value:"",label:`Up to ${a(e.priceMax,t)}`}),s}var Y4={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},Y7="type",LT="maxPrice",TT="inStock",ET="sort",HT="page";function FT(e){let t=r=>e.getAll(r).flatMap(i=>i.split(",")).filter(Boolean),a=Number(e.get(LT)),s=Number(e.get(HT)),o=e.get(Y7);return{tyreSizes:t(Y4.tyreSizes),brands:t(Y4.brands),finishes:t(Y4.finishes),diameters:t(Y4.diameters).map(Number).filter(Number.isFinite),collections:t(Y4.collections),pcds:t(Y4.pcds),tyreTypes:t(Y4.tyreTypes),speedRatings:t(Y4.speedRatings),priceMax:Number.isFinite(a)&&a>0?a:null,inStockOnly:e.get(TT)==="1",kind:i4.find(r=>r===o)??null,sort:wt(e.get(ET)),page:Number.isFinite(s)&&s>=1?Math.floor(s):1}}function n9(e){let t=new URLSearchParams;for(let a of Hs){let s=e[a];s.length>0&&t.set(Y4[a],s.join(","))}return e.priceMax!=null&&t.set(LT,String(e.priceMax)),e.inStockOnly&&t.set(TT,"1"),e.kind&&t.set(Y7,e.kind),e.sort!=="recommended"&&t.set(ET,e.sort),e.page>1&&t.set(HT,String(e.page)),t}function PT(e,t){if(e<=7)return Array.from({length:e},(r,i)=>i+1);let a=[1],s=Math.max(2,t-1),o=Math.min(e-1,t+1);s>2&&a.push(null);for(let r=s;r<=o;r++)a.push(r);return o<e-1&&a.push(null),a.push(e),a}function NT(e,t,a){let s=e.length,o=Math.max(1,Math.floor(a)),r=Math.max(1,Math.ceil(s/o)),i=Math.min(Math.max(1,Math.floor(t)),r),n=(i-1)*o;return{items:e.slice(n,n+o),page:i,pageCount:r,total:s,from:s===0?0:n+1,to:Math.min(n+o,s)}}var X7="__all__",IT="All products";function Pl(e){return e?.slug===X7}var zt="AlloyWheelsListing",bY="ProductGrid",VT="catalog",xY="CatalogFilterBar",Nl="fieldUsage";function kt(e){return e?.type===bY&&Pl(e.props?.source)}function Eu(e){return e?.type===xY}function wY(e){return e?.type===zt||kt(e)||Eu(e)}function yY(e){let t=e.content??[],a=e.zones??{};return[...t,...Object.values(a).flat()]}function Hu(e){return e?yY(e).some(t=>t?.type===zt||kt(t)):!1}function RT(e,t){return kY(e,a=>kt(a)?{...a,props:{...Fu(a).props,[VT]:zY(t,s6(a.props?.kinds))}}:{...a,props:{...Pu(a).props,products:t}})}function _T(e){return DT(e,wY,t=>Eu(t)?OT(t):kt(t)?Fu(t):Pu(t))}function OT(e){if(!e.props||!(Nl in e.props))return e;let{[Nl]:t,...a}=e.props;return{...e,props:a}}function Fu(e){let{[VT]:t,[Nl]:a,...s}=e.props??{};return{...e,props:s}}function zY(e,t){let a=new Set(t);return e.filter(s=>{let o=s.kind??"alloy-wheel";return a.has(o)})}function BT(e){return kt(e)?Fu(e):Eu(e)?OT(e):e?.type===zt?Pu(e):e}function Pu(e){let{wheels:t,products:a,[Nl]:s,...o}=e.props??{};return{...e,props:o}}function kY(e,t){return DT(e,a=>a?.type===zt||kt(a),t)}function DT(e,t,a){let s=i=>t(i)?a(i):i,o=e,r={...e};return o.content&&(r.content=o.content.map(s)),o.zones&&(r.zones=Object.fromEntries(Object.entries(o.zones).map(([i,n])=>[i,n.map(s)]))),r}var Ns="/wheels",Nu="Products";function CY(e,t){return t>1?`${Nu} \xB7 ${e}`:Nu}function ZT(...e){for(let t of e){let a=(t?.content??[]).find(s=>s?.type===zt);if(a)return a.props??{}}return null}function Iu(...e){return ZT(...e)!==null}function SY(e,t){let a=e.filter(s=>Iu(...s.docs)).map(s=>K8(s.slug));return a.length===0&&t.fallback?[Ns]:a}var GT=[Y7,...Object.entries(Y4).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function WT(e){let t=e.indexOf("#"),a=t===-1?"":e.slice(t),s=t===-1?e:e.slice(0,t),o=s.indexOf("?");return{path:o===-1?s:s.slice(0,o),query:o===-1?"":s.slice(o+1),hash:a}}function MY(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Vu(e){let t=new URLSearchParams(WT(e).query);for(let a of GT){let s=t.get(a);if(s)return{param:a,value:s}}return null}function Ru(e,t){let{path:a,query:s,hash:o}=WT(e),r=s.split("&").filter(i=>i&&!GT.includes(MY(i.split("=")[0])));return t?.value&&r.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${a}${r.length?`?${r.join("&")}`:""}${o}`}function UT(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 AY="Product type",LY="AUD";function TY(e,t){let a=t.listing??{},s=s6(a.kinds),o=e.filter(l=>s.includes(K0(l))),r=Fl(a),i=Hl(o,o6,LY,s,t.fieldUsage).filter(l=>!r.includes(l.key)).map(l=>({param:Y4[l.key],label:l.label,values:l.options.filter(c=>!c.value.includes(",")).map(c=>({value:c.value,label:c.label}))})).filter(l=>l.values.length>0),n=i4.filter(l=>s.includes(l)&&o.some(c=>K0(c)===l));return n.length>1&&i.unshift({param:Y7,label:AY,values:n.map(l=>({value:l,label:H4[l]}))}),i}function qT(e){return t=>{let a=SY(t,{fallback:e.offersCommerce}),s=t.filter(o=>Iu(...o.docs)).length;return{listingPaths:a,pageOptions:o=>{let r=o.map(i=>{let n=t.find(l=>K8(l.slug)===i.value);return n&&Iu(...n.docs)?{...i,label:CY(n.title,s)}:i});return s===0&&e.offersCommerce&&!r.some(i=>i.value===Ns)&&r.push({value:Ns,label:Nu}),r},filtersFor:o=>{if(!a.includes(o))return null;let r=t.find(i=>K8(i.slug)===o);return TY(e.catalogue,{listing:r?ZT(...r.docs):null,fieldUsage:e.fieldUsage})},readFilter:Vu,withFilter:Ru}}}function jT(e,t=[]){let a=Ru(Ns,{param:Y7,value:e}),s=t.find(o=>{let r=(o?.url??"").trim();if(!r||r==="#")return!1;let i=Vu(r);return i?.param!==Y7||i.value!==e?!1:dd(r).startsWith("/")});return s?s.url:a}function KT(e){let t=[];for(let a of e??[]){typeof a?.url=="string"&&t.push({url:a.url});for(let s of a?.dropdownItems??[])typeof s?.url=="string"&&t.push({url:s.url})}return t}import{jsx as PY}from"react/jsx-runtime";var $T=EY([]);function YT({items:e,children:t}){let a=FY(()=>KT(e),[e]);return PY($T.Provider,{value:a,children:t})}function XT(){return HY($T)}import{createContext as NY,useCallback as _u,useContext as IY,useEffect as VY,useMemo as RY,useState as _Y}from"react";import{jsx as BY}from"react/jsx-runtime";var OY={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},JT=NY(OY);function QT({children:e,shortcut:t=!0}){let[a,s]=_Y(!1),o=_u(()=>s(!0),[]),r=_u(()=>s(!1),[]),i=_u(()=>s(l=>!l),[]);VY(()=>{if(!t)return;let l=c=>{(c.metaKey||c.ctrlKey)&&(c.key==="k"||c.key==="K")&&(c.preventDefault(),s(h=>!h))};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[t]);let n=RY(()=>({isOpen:a,open:o,close:r,toggle:i}),[a,o,r,i]);return BY(JT.Provider,{value:n,children:e})}function Ct(){return IY(JT)}function St(){return"/edit"}import{createContext as WY,useCallback as Il,useContext as UY,useEffect as qY,useMemo as jY,useRef as KY,useState as Du}from"react";var eE="/edit";function tE(e){return e===eE||e.startsWith(`${eE}/`)}function aE({email:e,firstName:t,interests:a,frequency:s},o){return{email:e.trim(),firstName:t?.trim()||void 0,interests:a&&a.length?a:void 0,frequency:s||void 0,source:o}}var n4={popup:"shop_popup",subscribeSection:"subscribe_section",subscribeBlogsSection:"subscribe_blogs_section",footerSignup:"footer_signup",stockAlertOptIn:"stock_alert_optin"};var oE="storefront-subscribe-seen",rE="storefront-popup-closed-at",DY=1440*60*1e3,ZY=["/checkout","/cart"];function sE(e){let t=e.split(/[?#]/)[0]||"/",a=t.startsWith("/")?t:`/${t}`;return a.length>1?a.replace(/\/+$/,"")||"/":a}function Ou(e,t,a){let s=sE(e);return ZY.some(o=>s===o||s.startsWith(`${o}/`))?!1:t==="all"?!0:a.some(o=>sE(o)===s)}function GY(e,t,a,s){if(e==="never")return!1;if(a.session.getItem(oE)==="1")return!0;if(e==="visit")return!1;let o=Number(a.local.getItem(rE));return!Number.isFinite(o)||o<=0?!1:s-o<t*DY}function Bu(e,t){e.session.setItem(oE,"1"),e.local.setItem(rE,String(t))}function iE(e,t){return e==="exit"&&!t?"delay":e}function nE(e,t,a){let s=a-t;return s<=0?100:Math.min(100,Math.max(0,e/s*100))}function lE(e,t,a){return!e.autoOpen||e.inEditor||!Ou(e.path,e.showOn,e.showOnPages)||e.hideAfter!=="never"&&!GM(t.session)?!1:!GY(e.hideAfter,e.hideDays,t,a)}import{jsx as JY}from"react/jsx-runtime";var cE=WY(null),Zu={session:WM,local:w3};function $Y(){try{return window.matchMedia("(hover: hover) and (pointer: fine)").matches}catch{return!1}}var YY=15,XY=[];function hE({children:e,disableAutoTrigger:t,autoOpen:a=!1,autoOpenDelaySec:s=YY,trigger:o="delay",scrollPercent:r=50,showOn:i="all",showOnPages:n=XY,hideAfter:l="visit",hideDays:c=7}){let[h,p]=Du(!1),[d,u]=Du("chosen"),[v,g]=Du({}),f=St()??"/",b=tE(f),x=Ou(f,i,n),w=KY(!1),z=Il(E=>{g(E??{}),u("newsletter"),p(!0)},[]),k=Il(()=>{w.current=!0,g({}),u("chosen"),p(!0)},[]),L=Il(()=>Bu(Zu,Date.now()),[]),V=Il(()=>{p(!1),Bu(Zu,Date.now())},[]);qY(()=>{if(t||w.current||!lE({autoOpen:a,inEditor:b,path:f,showOn:i,showOnPages:n,hideAfter:l,hideDays:c},Zu,Date.now()))return;let I=iE(o,$Y());if(I==="scroll"){let H=()=>{nE(window.scrollY,window.innerHeight,document.documentElement.scrollHeight)>=r&&(window.removeEventListener("scroll",H),k())};return window.addEventListener("scroll",H,{passive:!0}),()=>window.removeEventListener("scroll",H)}if(I==="exit"){let H=O=>{O.relatedTarget===null&&O.clientY<=0&&(document.removeEventListener("mouseout",H),k())};return document.addEventListener("mouseout",H),()=>document.removeEventListener("mouseout",H)}let F=window.setTimeout(k,Math.max(0,s)*1e3);return()=>window.clearTimeout(F)},[t,a,b,x,o,s,r,l,c,k]);let P=jY(()=>({isOpen:h,mode:d,open:z,close:V,markSent:L,prefillEmail:v.email??"",signupSource:v.source??n4.popup}),[h,d,z,V,L,v]);return JY(cE.Provider,{value:P,children:e})}function Gu(){let e=UY(cE);if(!e)throw new Error("useSubscribePopup() must be called inside <SubscribePopupProvider>. Mount the provider in app/layout.tsx.");return e}import{createContext as QY,useContext as eX,useEffect as tX,useState as pE}from"react";import{jsx as sX}from"react/jsx-runtime";var mE="storefront-wishlist";function aX(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var dE=QY(null);function uE({children:e}){let[t,a]=pE([]),[s,o]=pE(!1);tX(()=>{let n=w3.getItem(mE);try{n&&a(aX(n))}catch{}o(!0)},[]);function r(n){let l=t.includes(n)?t.filter(c=>c!==n):[...t,n];a(l),w3.setItem(mE,JSON.stringify(l))}let i={slugs:t,ready:s,has:n=>t.includes(n),toggle:r,count:t.length};return sX(dE.Provider,{value:i,children:e})}function gE(){let e=eX(dE);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}import{jsx as l9}from"react/jsx-runtime";function Wu({catalogFilterLabels:e,menuItems:t,currency:a,subscribe:s,searchShortcut:o=!0,children:r}){return l9($L,{labels:e,children:l9(YT,{items:t,children:l9(D7,{...a,children:l9(hE,{...s,children:l9(uE,{children:l9(lt,{children:l9(QT,{shortcut:o,children:r})})})})})})})}import{jsx as w5}from"react/jsx-runtime";import{useCallback as wE,useEffect as Rl,useMemo as Is,useRef as iX,useState as Vs}from"react";import{lazy as oX,Suspense as rX}from"react";import{jsx as vE}from"react/jsx-runtime";function Mt(e,t={}){let a=oX(async()=>{let r=await e();return{default:"default"in r?r.default:r}}),s=t.loading?t.loading():null;function o(r){return vE(rX,{fallback:s,children:vE(a,{...r})})}return o}import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/screen.css";import{sectionTemplates as Vl}from"efficient-easel/screen/lib/section-templates";import{applyAuthGrant as Kf1,NO_BRIDGED_CAPABILITIES as fE,useAdminBridge as bE}from"efficient-easel/screen/lib/admin-bridge";import{routeSharedHostMessage as xE}from"efficient-easel/screen/lib/host-inbound";import{documentPermissions as nX}from"efficient-easel/edit-lock";import{useAutosave as lX}from"efficient-easel/autosave";var cX=Mt(()=>import("./chunks/SiteEditorProvider-CPK2UQDJ.js"),{ssr:!1}),hX=Mt(()=>import("./chunks/SectionEditorShell-FJ23RVS7.js"),{ssr:!1}),zE="HeroSingle",yE="Untitled section";function pX(e,t){let a=t.components,s=a[e]?e:zE,o=a[s]?.defaultProps??{},r=Ym(s,n=>a[n]?.defaultProps??{}),i=s===yi?{blocks:PM()}:null;return{type:s,props:{id:_z(s),...o,...r?{[r.slot]:r.children}:null,...i}}}function mX(){if(typeof window>"u")return K5;try{let e=window.localStorage.getItem(ms);return e==="light"||e==="dark"||e==="auto"?e:K5}catch{return K5}}function kE({id:e,initialType:t,initialName:a=yE}){let[s,o]=Vs(e),r=iX(s);Rl(()=>{r.current=s},[s]);let i=b3(),[n,l]=Vs(t),[c,h]=Vs(a),[p,d]=Vs(void 0),[u,v]=Vs(K5),{token:g,tokenRef:f}=bE({onMessage:R=>{if(kl(R)||xE(R))return;let j=R;if(j?.type==="storefront-editor:navigate"&&j.target?.kind==="section"&&j.target.id){let B=j.target.id;if(B===r.current)return;let t1=j.target.type,$=j.target.name;z().then(()=>{l(t1),h($||yE),o(B),i.address.show({kind:"section",id:B})})}}}),b=lX({save:R=>Vl.update(R.id,R.node).then(()=>{}),onFailure:(R,j)=>{j===0&&i.send("storefront-editor:save-failed")}}),{state:x,push:w,flush:z}=b;Rl(()=>v(mX()),[]);let k=Ce(),L=k.usesBridgedToken?!!g:!0,V=Is(()=>dl(gi(k),fi(k)),[k]);Rl(()=>{if(!L)return;let R=!1;return d(void 0),Vl.ensure(s,c,pX(n??zE,V)).then(j=>!R&&d(j.node)).catch(()=>!R&&d(null)),()=>{R=!0}},[s,n,c,L,V]);let P=wE(R=>{i.send("storefront-editor:dirty");let j=_d(R);j&&w({id:r.current,node:j})},[w,i]),E=i.send,I=wE(async R=>{try{return await R(f.current??""),!0}catch{return E("storefront-editor:save-failed"),!1}},[E]),F=Is(()=>gl(V,!0),[V]);Rl(()=>(lu(null),()=>lu(null)),[]);let H=Is(()=>p?yl(FM(p)):null,[p]),O=Is(()=>({target:{kind:"page",slug:""},adapter:As(void 0),capabilities:As(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:L,token:g,tokenRef:f,notifyParent:E,runAuthed:I,docId:s,data:H,getLiveData:()=>H,footerOriginSlug:null,error:null,redirecting:!1,saveStatus:_M(x),saveState:x,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:x.pending,toggleAutoSave:()=>{},retrySave:()=>{b.retryNow()},onChange:P,flushSave:z,onPublish:async R=>{let j=_d(R);j&&await Vl.update(r.current,j)},bridgeCapabilities:fE,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[s,L,g,E,I,H,x,P,z,b.retryNow]),q=Is(()=>nX(!O.readOnly),[O.readOnly]);return p===void 0?w5("div",{className:"sf-msg",children:m("Loading\u2026")}):p===null||!H?w5("div",{className:"sf-msg sf-msg--error",children:m("Couldn\u2019t open this section.")}):w5(ze.Provider,{value:O,children:w5(ji,{themeMode:u,chromePlaceholder:!0,children:w5(ul,{wrap:k.chrome?.wrap,surface:"section",children:w5(Cn,{children:w5(Mi,{children:w5(Sn,{children:w5(Li,{children:w5(cX,{config:F,data:H,onChange:P,permissions:q,children:w5(hX,{})},s)})})})})})})})}import{cancelPanelPick as qb1,hasMediaPanel as jb1,MediaPanelProvider as CE,requestPanelPick as Kb1,settlePanelPick as $b1,useMediaPanel as Yb1,usePanelPick as Xb1}from"efficient-easel/screen/lib/media-panel";import{useEffect as AX,useState as LX}from"react";import{createContext as dX,useCallback as SE,useContext as uX,useEffect as gX,useId as vX,useMemo as fX,useRef as bX,useState as xX}from"react";import{jsx as wX}from"react/jsx-runtime";var ME=dX(null);function AE({reason:e,children:t}){let[a,s]=xX([]),o=bX(null),r=SE(c=>{s(h=>h.includes(c)?h:[...h,c])},[]),i=SE(c=>{s(h=>h.filter(p=>p!==c))},[]),n=e==="none-configured",l=fX(()=>({noCurrencyConfigured:n,live:a,firstRendered:o,join:r,leave:i}),[n,a,r,i]);return wX(ME.Provider,{value:l,children:t})}function LE(e){let t=uX(ME),a=vX(),s=!!e&&!!t?.noCurrencyConfigured;s&&t&&t.firstRendered.current===null&&(t.firstRendered.current=a);let o=t?.join,r=t?.leave;return gX(()=>{if(!(!s||!o||!r))return o(a),()=>r(a)},[s,o,r,a]),!s||!t?!1:(t.live.length>0?t.live[0]:t.firstRendered.current)===a}var _s={currencies:[],defaultCurrency:null},yX={currencies:[],defaultCurrency:null,reason:"none-configured"},Rs=new Map;function TE(e,t,a=!1){a&&Rs.delete(t);let s=Rs.get(t);return s||(s=zX(e,t),Rs.set(t,s),s.catch(()=>{Rs.get(t)===s&&Rs.delete(t)})),s}async function zX(e,t){try{let a=await Pn(e,t);if(!a)return _s;let s=await f0.getSiteBySlug(a);return s.status!=="online"?await kX(e,t):{currencies:s.currencies??[],defaultCurrency:s.defaultCurrency??null}}catch(a){return console.warn("[editor-currency-source] load failed; editor stays unpriced",a),_s}}async function kX(e,t){let a=await F1.listSiteCurrencies(t,e);if(!a.length)return yX;let s=[...a].sort((o,r)=>o.display_order-r.display_order).map(o=>({code:o.currency_code,symbol:o.symbol||MX(o.currency_code),decimalPlaces:typeof o.decimal_places=="number"?o.decimal_places:SX(o.currency_code),isDefault:o.is_default}));return{currencies:s,defaultCurrency:s.find(o=>o.isDefault)?.code??s[0].code}}var CX=0;function EE(e){try{return new Intl.NumberFormat(pA,{style:"currency",currency:e})}catch{return null}}function SX(e){return EE(e)?.resolvedOptions().maximumFractionDigits??CX}function MX(e){return EE(e)?.formatToParts(0).find(s=>s.type==="currency")?.value||e}import{jsx as HE}from"react/jsx-runtime";function Uu({token:e,siteId:t,enabled:a,children:s}){let[o,r]=LX(_s);return AX(()=>{if(!e||!a||!t){r(_s);return}let i=!1;return TE(e,t).then(n=>{i||r(n)}).catch(()=>{}),()=>{i=!0}},[e,a,t]),HE(D7,{currencies:o.currencies,defaultCurrency:o.defaultCurrency,children:HE(AE,{reason:o.reason,children:s})})}var c9=new Map,qu=e=>e??"";function h9(e,t,a=!1){let s=qu(t);a&&c9.delete(s);let o=c9.get(s);return o||(o=F1.getHeaderSettings(e,t??void 0),c9.set(s,o),o.catch(()=>{c9.get(s)===o&&c9.delete(s)})),o}function FE(e,t){c9.set(qu(t),Promise.resolve(e))}function PE(e){c9.delete(qu(e))}function Os(e){return{logoUrl:U5(e.effective_logo_url),reverseLogo:e.reverse_logo,logoPosition:e.logo_position,logoSize:e.logo_size,logoSizePx:e.logo_size_px,menuItems:e.menu_items??[],menuSplit:e.menu_split??3,menuPosition:e.menu_position,menuRow:e.menu_row,menuGapPx:e.menu_gap_px??null,searchEnabled:e.search_enabled,searchPosition:e.search_position,searchRow:e.search_row,countrySelectorEnabled:e.country_selector_enabled,countryUrls:e.country_urls??{},accountEnabled:e.account_enabled??!0,cartEnabled:e.cart_enabled??!0,utilStyle:e.util_style,navTextCase:e.nav_text_case,lightReverseText:e.light_reverse_text,topTextColor:e.top_text_color,transparentTop:e.transparent_top,surface:e.surface,theme:e.theme,width:e.width,heightPx:e.height_px,sticky:e.sticky}}import{useEffect as NE,useRef as ju}from"react";function _l({token:e,enabled:t=!0,deps:a=[],prime:s,onDisabled:o,refresh:r}){let i=ju(s);i.current=s;let n=ju(o);n.current=o;let l=ju(r);l.current=r,NE(()=>{if(!e||!t){n.current?.();return}let c=!1;return i.current.load().then(h=>{c||i.current.publish(h)}).catch(()=>{}),()=>{c=!0}},[e,t,...a]),NE(()=>{if(!e||!t||!l.current)return;let c=!1,h=l.current.subscribe(()=>{let p=l.current;p&&p.load().then(d=>{c||p.publish(d)}).catch(()=>{})});return()=>{c=!0,h()}},[e,t,...a])}function Ku({token:e,siteId:t}){let{primeSettings:a,setSettings:s}=P3();return _l({token:e,deps:[t],prime:{load:()=>h9(e,t),publish:o=>a(Os(o))},refresh:{subscribe:U7,load:()=>h9(e,t,!0),publish:o=>s(Os(o))}}),null}import{createContext as TX,useCallback as BE,useContext as EX,useMemo as HX,useState as FX}from"react";var Bs=new Map,IE=e=>e??"";function $u(e,t,a){a&&Bs.clear();let s=IE(t),o=Bs.get(s);if(!o){let r=F1.listMenus(e,t);Bs.set(s,r),r.catch(()=>{Bs.get(s)===r&&Bs.delete(s)}),o=r}return o}var Ol=new Map;function VE(e,t){let a=IE(t),s=Ol.get(a);if(!s){let o=$u(e,t,!0);Ol.set(a,o);let r=()=>{Ol.get(a)===o&&Ol.delete(a)};o.then(r,r),s=o}return s}function Ds(e,t=!1){return $u(e,v2(),t)}function Bl(e){return VE(e,v2())}function RE(e,t=!1){return $u(e,null,t)}function _E(e){return VE(e,null)}var Yu={ids:new Set,handles:new Set};function Xu(e){return{ids:new Set(e.map(t=>t.id).filter(Boolean)),handles:new Set(e.map(t=>t.handle).filter(Boolean))}}function OE({id:e,handle:t,editing:a,ready:s,live:o}){if(!a)return!1;let r=e??"",i=t??"";return!r&&!i?!0:s?r?!o.ids.has(r):!o.handles.has(i):!1}function Dl(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 PX}from"react/jsx-runtime";var DE=TX({live:Yu,ready:!1,primeLive:()=>{},setLive:()=>{}});function Ju({children:e}){let[t,a]=FX({live:Yu,ready:!1}),s=BE(i=>a(n=>n.ready?n:{live:i,ready:!0}),[]),o=BE(i=>a({live:i,ready:!0}),[]),r=HX(()=>({...t,primeLive:s,setLive:o}),[t,s,o]);return PX(DE.Provider,{value:r,children:e})}var Zl=()=>EX(DE);function Gl({token:e}){let{primeLive:t,setLive:a}=Zl();return _l({token:e,prime:{load:()=>Ds(e),publish:s=>t(Xu(s))},refresh:{subscribe:U7,load:()=>Bl(e),publish:s=>a(Xu(s))}}),null}import{jsx as Qu,jsxs as eg}from"react/jsx-runtime";function tg({surface:e,children:t}){let{token:a,siteId:s,capabilities:o}=ke();if(e==="section")return eg(Ju,{children:[a?Qu(Gl,{token:a}):null,t]});let r=a??"";return eg(Uu,{token:r,siteId:s,enabled:o.hasSiteSettings,children:[o.hasSiteSettings&&Qu(Ku,{token:r,siteId:s}),eg(Ju,{children:[o.hasSiteSettings&&Qu(Gl,{token:r}),t]})]})}import{useCallback as r6,useEffect as Us,useRef as ig,useState as J7}from"react";var ZE="Menu Item",GE=6,ag=4,WE="Menu",UE="Link a menu in the inspector \u2192";function qE(){return m("This column isn't linked to a menu, so the preview shows placeholder links. Pick a menu above.")}function jE(e){return m("\u201C{name}\u201D no longer exists in {place}, so the preview shows placeholder links. Pick another menu.",{name:e,place:m("Storefront \u2192 Menus")})}function KE(){return m("The menu linked here no longer exists in {place}, so the header shows placeholder links. Pick another menu.",{place:m("Storefront \u2192 Menus")})}import{Fragment as NX}from"react";import{jsx as IX}from"react/jsx-runtime";function l4(e,t){return e.split(/\{([A-Za-z][A-Za-z0-9_]*)\}/g).map((a,s)=>s%2===1?IX(NX,{children:a in t?t[a]:`{${a}}`},s):a)}var Zs=sC,VX="sf-header-theme";function Gs(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function Wl(e){let t=Gs(e);return t===null?null:{className:VX,style:rC(t)}}var sg="overlay",og=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function At(e){return X2(og,sg,e)}var X4={desktop:40,mobile:45,min:20,max:80,step:5};function rg(e,t){return`${typeof e=="number"?e:t}%`}var Ul="data-lead-ink",ql="data-header-ink";var RX="auto";function _X(e){return e.type==="IntroBleed"?At(e.props?.layout)!=="stacked":!0}function $E(e){let t=fM(e);return t&&bM(e)&&_X(t)?"light":null}function Lt(e){return e==="light"||e==="dark"?e:RX}import{Banner as OX,Button as pg,Drawer as BX,InputNumber as DX,LoadingSpinner as ZX,MediaUploadField as GX,Slider as WX,tabButtonId as UX,tabPanelId as qX}from"efficient-shell/ui";import{SettingsDefaultReset as ng,SettingsSwitch as Ws,SettingsTabs as jX}from"efficient-easel/panel";import{FieldSelect as mg}from"efficient-easel/fields";import{useEaselStrings as KX}from"efficient-easel/strings";import{ListIcon as $X,LogoIcon as YX,SettingsIcon as XX,StylesIcon as JX}from"efficient-easel/icons";import{Fragment as p9,jsx as o1,jsxs as Q0}from"react/jsx-runtime";var lg="sf-header",YE="sf-header-size-label",XE="sf-header-gap-label",JE="sf-header-height-label",cg=[{id:"logo",label:"Logo",icon:o1(YX,{})},{id:"menu",label:"Menu",icon:o1($X,{})},{id:"tools",label:"Tools",icon:o1(XX,{})},{id:"look",label:"Look",icon:o1(JX,{})}];function dg({tokenRef:e,siteId:t,onClose:a,onAuthExpired:s,inline:o,placeholderMode:r,websiteName:i,onOpenWebsiteSettings:n}){let l=b3(),c=KX(),[h,p]=J7(null),[d,u]=J7(null),[v,g]=J7(!1),[f,b]=J7(cg[0].id),[x,w]=J7(KS),z=r?cg.filter(_=>_.id!=="menu"):cg,k=z.find(_=>_.id===f)??z[0],[L,V]=J7(0),{setSettings:P}=P3(),E=ig(null),I=ig(null),F=ig(null);Us(()=>{let _=!1,D=null,Y=null,e1=3,X=(c1,t0=0)=>{_||u(null),h9(c1,t,t0>0).then(a0=>!_&&p(a0)).catch(()=>{_||(t0+1<e1?Y=setTimeout(()=>X(c1,t0+1),600*(t0+1)):u(m("Could not load header settings.")))})},m1=e.current;if(m1)X(m1);else{let c1=0;D=setInterval(()=>{let t0=e.current;if(t0){D&&clearInterval(D),D=null,_||u(null),X(t0);return}c1+=250,c1===5e3&&!_&&u(m("Waiting for editor authorization\u2026")),c1>=3e4&&(D&&clearInterval(D),D=null,_||u(m("Not authorized yet \u2014 reopen once the editor has loaded.")))},250)}return()=>{_=!0,D&&clearInterval(D),Y&&clearTimeout(Y)}},[e,L,t]),Us(()=>{h&&P(Os(h))},[h,P]),Us(()=>()=>{E.current&&clearTimeout(E.current),I.current&&clearTimeout(I.current),F.current&&clearTimeout(F.current)},[]);let H=r6(async(_,D)=>{let Y=e.current;if(!Y||!h)return;let e1=h;D&&p({...h,...D}),g(!0),u(null);try{let X=await _(Y);p(X),FE(X,t)}catch(X){p(e1),X instanceof A4&&X.status===401?(PE(t),s?.(),u(m("Authorization expired \u2014 try again in a moment."))):u(m("Could not save. Please retry."))}finally{g(!1)}},[h,e,s,t]),O=r6(_=>H(D=>F1.updateHeaderSettings(_,D,t??void 0),_),[H,t]),q=r6(_=>{H(D=>F1.setHeaderLogoFromAsset(_,D,t??void 0))},[H,t]),R=r6(()=>{IC(l,{accept:"image/svg+xml",title:m("Logo (SVG)")}).then(_=>{_&&q(_.id)})},[q]),j=r6((_,D=!0)=>{p(e1=>e1&&{...e1,logo_size_px:_}),E.current&&clearTimeout(E.current);let Y=()=>{H(e1=>F1.updateHeaderSettings({logo_size_px:_},e1,t??void 0))};D?Y():E.current=setTimeout(Y,400)},[H,t]),B=r6((_,D=!0)=>{p(e1=>e1&&{...e1,height_px:_}),I.current&&clearTimeout(I.current);let Y=()=>{H(e1=>F1.updateHeaderSettings({height_px:_},e1,t??void 0))};D?Y():I.current=setTimeout(Y,400)},[H,t]),t1=r6((_,D=!0)=>{p(e1=>e1&&{...e1,menu_gap_px:_}),F.current&&clearTimeout(F.current);let Y=()=>{H(e1=>F1.updateHeaderSettings({menu_gap_px:_},e1,t??void 0))};D?Y():F.current=setTimeout(Y,400)},[H,t]),$=r6(()=>{H(async _=>{let D=await F1.clearHeaderLogo(_,t??void 0);return D.reverse_logo?F1.updateHeaderSettings({reverse_logo:!1},_,t??void 0):D})},[H,t]),W=r6(_=>{p(D=>D&&{...D,menu:_?.id??null,menu_handle:_?.handle??null,menu_name:_?.name??null,menu_items:_?_.items.map(Y=>({label:Y.label,url:Y.url,dropdown_menu:Y.dropdown_menu??null,dropdown_items:Y.dropdown_items??[]})):[]}),H(D=>F1.updateHeaderSettings({menu:_?.id??null},D,t??void 0))},[H,t]),i1=Q0(p9,{children:[d&&o1(OX,{tone:"danger",className:"mx-4 mt-3",action:h?void 0:o1(pg,{variant:"secondary",size:"sm",onClick:()=>V(_=>_+1),children:m("Retry")}),children:d}),h?Q0(p9,{children:[o1(jX,{items:z.map(_=>({..._,label:m(_.label)})),activeId:k.id,onSelect:b,ariaLabel:m("Header settings"),idPrefix:lg}),Q0("div",{id:qX(lg,k.id),role:"tabpanel","aria-labelledby":UX(lg,k.id),className:"flex flex-col p-4 [&>*+*]:mt-3",children:[k.id==="logo"&&Q0(p9,{children:[o1(y5,{label:"Image"}),!r&&o1(QX,{settings:h,websiteName:i,onPick:R,onClear:$,showHint:x}),o1(y3,{label:"Reverse the Logo",children:o1(Ws,{checked:h.reverse_logo,onChange:_=>O({reverse_logo:_}),ariaLabel:m("Reverse the Logo")})}),o1(i6,{shown:x,children:m("Keeps the logo readable on any header \u2014 flips just its black & white parts to contrast the bar behind it (in both light and dark themes). Any other colors are kept as-is.")}),o1(y5,{label:"Placement"}),o1(tJ,{label:z0.logoPosition.label,value:z0.logoPosition.options.find(_=>_.value===z0.logoPosition.choose(h.logo_position))?.label,children:o1(D6,{value:z0.logoPosition.choose(h.logo_position),options:z0.logoPosition.options,onChange:_=>O({logo_position:_}),ariaLabel:z0.logoPosition.label})}),Q0("div",{className:"flex flex-col gap-1.5",children:[Q0("div",{className:"flex items-center justify-between",children:[o1("span",{id:YE,className:"text-[13px] text-[var(--ink-muted)]",children:m("Size")}),Q0("span",{className:"flex items-center gap-1",children:[Q0("span",{className:"sf-header-value text-[12px] tabular-nums text-[var(--ink-faint)]","data-changed":h.logo_size_px!=null||void 0,children:[h.logo_size_px??zs[h.logo_size],"px"]}),o1(ng,{label:m("Size"),words:c.panel,changed:h.logo_size_px!=null,onReset:()=>j(null)})]})]}),o1(hg,{labelledBy:YE,min:Un,max:qn,step:2,value:h.logo_size_px??zs[h.logo_size],onPreview:_=>j(_,!1),onCommit:_=>j(_,!0)}),o1(i6,{shown:x,children:m("Sets the logo\u2019s height; the width follows the logo\u2019s own proportions.")})]}),o1(Mn,{shown:x,onChange:w})]}),k.id==="menu"&&Q0(p9,{children:[o1(y5,{label:"Links"}),o1(eJ,{token:e.current,menuId:h.menu,menuName:h.menu_name,itemCount:h.menu_items?.length??0,onPick:W}),o1(y3,{label:z0.menuAlign.label,children:o1(D6,{value:z0.menuAlign.choose(h.menu_position),options:z0.menuAlign.options.filter(_=>_.value!=="beside"||h.logo_position!=="center"),onChange:_=>O({menu_position:_}),ariaLabel:z0.menuAlign.label})}),z0.menuAlign.choose(h.menu_position)==="beside"&&Q0("div",{className:"flex flex-col gap-1.5",children:[Q0("div",{className:"flex items-center justify-between",children:[o1("span",{id:XE,className:"text-[13px] text-[var(--ink-muted)]",children:m("Space from the logo")}),Q0("span",{className:"flex items-center gap-1",children:[Q0("span",{className:"sf-header-value text-[12px] tabular-nums text-[var(--ink-faint)]","data-changed":h.menu_gap_px!=null||void 0,children:[h.menu_gap_px??Je.default,"px"]}),o1(ng,{label:m("Space from the logo"),words:c.panel,changed:h.menu_gap_px!=null,onReset:()=>t1(null)})]})]}),o1(hg,{labelledBy:XE,min:Je.min,max:Je.max,step:Je.step,value:h.menu_gap_px??Je.default,onPreview:_=>t1(_,!1),onCommit:_=>t1(_,!0)}),o1(i6,{shown:x,children:m("How much room the menu leaves the logo. Only the logo moves away; the space between the menu words stays as it is.")})]}),o1(y3,{label:z0.menuRow.label,children:o1(D6,{value:z0.menuRow.choose(h.menu_row),options:z0.menuRow.options,onChange:_=>O({menu_row:_}),ariaLabel:z0.menuRow.label})}),h.logo_position==="center"&&h.menu_position!=="center"&&o1(y3,{label:"Left items",children:o1("div",{className:"w-16",children:o1(mg,{value:h.menu_split??3,ariaLabel:m("Left items"),onChange:_=>O({menu_split:_}),options:[1,2,3,4].map(_=>({label:String(_),value:_}))})})}),o1(y3,{label:z0.navTextCase.label,children:o1(D6,{value:z0.navTextCase.choose(h.nav_text_case),options:z0.navTextCase.options,onChange:_=>O({nav_text_case:_}),ariaLabel:z0.navTextCase.label})}),o1(i6,{shown:x,children:l4(m("{uppercase} draws SEARCH and BAG; {capitalised} draws Search and Bag. It covers the menu links and the Tools words together, and it leaves a name like FusionForge exactly as you typed it."),{uppercase:o1("strong",{children:m("Uppercase")}),capitalised:o1("strong",{children:m("Capitalised")})})})]}),k.id==="tools"&&Q0(p9,{children:[o1(y5,{label:"Style"}),o1(y3,{label:z0.utilStyle.label,children:o1(D6,{value:z0.utilStyle.choose(h.util_style),options:z0.utilStyle.options,onChange:_=>O({util_style:_}),ariaLabel:z0.utilStyle.label})}),o1(i6,{shown:x,children:l4(m("{text} draws the words \u2014 Search, Account, Bag \u2014 instead of the little pictures. It changes how they look, not whether they are shown: that stays with the switches below."),{text:o1("strong",{children:m("Text")})})}),o1(y5,{label:"Search"}),o1(y3,{label:"Search",children:o1(Ws,{checked:h.search_enabled,onChange:_=>O({search_enabled:_}),ariaLabel:m("Search")})}),o1(y3,{label:z0.searchPosition.label,children:o1(D6,{value:z0.searchPosition.choose(h.search_position),options:z0.searchPosition.options,onChange:_=>O({search_position:_}),ariaLabel:z0.searchPosition.label})}),o1(y5,{label:"Country selector"}),o1(y3,{label:"Show selector",children:o1(Ws,{checked:h.country_selector_enabled,onChange:_=>O({country_selector_enabled:_}),ariaLabel:m("Show selector")})}),!r&&h.country_selector_enabled&&o1(i6,{shown:x,children:l4(m("Which countries this website serves \u2014 and each region's own URL \u2014 is set in the admin console under {place}. Whether the picker is SHOWN stays here: that is header chrome, but the served-country list has tax consequences and belongs with commerce configuration."),{place:o1("strong",{children:m("Storefront \u203A Settings \u203A Regions & currencies")})})}),o1(y5,{label:"Account and cart"}),o1(y3,{label:"Account",children:o1(Ws,{checked:h.account_enabled??!0,onChange:_=>O({account_enabled:_}),ariaLabel:m("Account")})}),o1(y3,{label:"Cart",children:o1(Ws,{checked:h.cart_enabled??!0,onChange:_=>O({cart_enabled:_}),ariaLabel:m("Cart")})}),o1(Mn,{shown:x,onChange:w})]}),k.id==="look"&&Q0(p9,{children:[o1(y5,{label:"Dimensions"}),o1(y3,{label:z0.width.label,children:o1(D6,{value:z0.width.choose(h.width),options:z0.width.options,onChange:_=>O({width:_}),ariaLabel:z0.width.label})}),Q0("div",{className:"flex flex-col gap-1.5",children:[Q0("div",{className:"flex items-center justify-between",children:[o1("span",{id:JE,className:"text-[13px] text-[var(--ink-muted)]",children:m("Height")}),Q0("span",{className:"flex items-center gap-1",children:[Q0("span",{className:"sf-header-value text-[12px] tabular-nums text-[var(--ink-faint)]","data-changed":h.height_px!=null||void 0,children:[h.height_px??j3.default,"px"]}),o1(ng,{label:m("Height"),words:c.panel,changed:h.height_px!=null,onReset:()=>B(null)})]})]}),o1(hg,{labelledBy:JE,min:j3.min,max:j3.max,step:2,value:h.height_px??j3.default,onPreview:_=>B(_,!1),onCommit:_=>B(_,!0)}),o1(i6,{shown:x,children:m("Sets how tall the header bar is; the content below it shifts down to match.")})]}),o1(y3,{label:"Border thickness",children:o1("div",{className:"w-24",children:o1(DX,{value:h.border_thickness,min:0,max:20,precision:0,size:"sm",suffix:"px","aria-label":m("Border thickness"),onChange:_=>O({border_thickness:Math.max(0,_??0)})})})}),o1(y5,{label:"Color"}),o1(y3,{label:"Theme",children:o1(TC,{value:h.theme??Zs,onChange:_=>O({theme:_===Zs?null:_}),followLabel:m("Follow the site theme")})}),o1(i6,{shown:x,children:m("The color the bar paints once it is solid \u2014 after any scroll, and on every product page from the first paint. Follow the site theme keeps it on whatever palette the site is on.")}),o1(y3,{label:z0.topTextColor.label,children:o1(D6,{value:z0.topTextColor.choose(h.top_text_color),options:z0.topTextColor.options,onChange:_=>O({top_text_color:_}),ariaLabel:z0.topTextColor.label})}),o1(i6,{shown:x,children:m("Auto reads what the first section on each page says it is \u2014 dark, light or accent \u2014 and picks the text that can be read on it. Set Light or Dark to decide it yourself when Auto reads a page wrong.")}),o1(y5,{label:"Behavior"}),o1(y3,{label:"Sticky header",children:o1("div",{className:"w-32",children:o1(mg,{value:h.sticky,ariaLabel:m("Sticky header"),onChange:_=>O({sticky:_}),options:[{label:m("None"),value:"none"},{label:m("Always"),value:"always"},{label:m("On scroll up"),value:"on_scroll_up"}]})})}),n&&Q0(p9,{children:[o1(y5,{label:"Display mode"}),o1("p",{className:"text-[12px] text-[var(--ink-faint)]",children:m("Set the default Light / Dark / Auto mode and show or hide the light\u2194dark switch in Appearance.")}),o1(pg,{variant:"link",size:"sm",className:"self-start",onClick:n,children:m("Set up display mode \u2192")})]}),o1(Mn,{shown:x,onChange:w})]})]})]}):d?null:o1(ZX,{size:"sm",padding:"p-4",label:m("Loading\u2026")})]});return o?Q0("div",{className:"flex flex-col",children:[v&&o1("div",{className:"px-4 pt-2 text-[11px] text-[var(--ink-faintest)]",children:m("Saving\u2026")}),i1]}):Q0(BX,{open:!0,onClose:a??(()=>{}),side:"right",size:"sm",title:m("Header"),children:[v&&o1("div",{className:"pb-2 text-[11px] text-[var(--ink-faintest)]",children:m("Saving\u2026")}),i1]})}function QX({settings:e,websiteName:t,onPick:a,onClear:s,showHint:o}){let r=!!e.logo_url,i=!r&&!!e.default_logo_url,n=U5(e.effective_logo_url),l=t&&t.trim()?t.trim():Ke;return Q0("div",{className:"flex flex-col gap-2",children:[o1(GX,{value:n||"",onChange:c=>{c||s()},onPick:a,accept:"image/svg+xml,.svg",acceptHint:"SVG",fit:"contain",height:80,placeholder:m("No logo \u2014 \u201C{name}\u201D wordmark shown",{name:l}),replaceLabel:r?m("Replace SVG logo"):m("Upload SVG logo"),allowRemove:r,removeLabel:m("Use company default")}),o1(i6,{shown:o,children:r?m("Custom SVG logo uploaded for this store."):i?m("Using your company logo from the database."):m("No company logo on file \u2014 upload an SVG or the wordmark is used.")})]})}function eJ({token:e,menuId:t,menuName:a,itemCount:s,onPick:o}){let r=b3(),[i,n]=J7(null),[l,c]=J7(!1),h=r6(f=>{n(f),c(!0)},[]);Us(()=>{let f=!1;return RE(e).then(b=>!f&&h(b)).catch(()=>!f&&n([])),()=>{f=!0}},[e,h]),Us(()=>{let f=!1,b=U7(()=>{_E(e).then(x=>!f&&h(x)).catch(()=>{})});return()=>{f=!0,b()}},[e,h]);let p=i===null,d=!p&&(i?.length??0)===0,u=!p&&(i??[]).some(f=>f.id===t),v=u?t:"",g=l&&!!t&&!u;return Q0("div",{className:"flex flex-col gap-2",children:[o1(y3,{label:"Menu",children:o1("div",{className:"w-[170px] max-w-full",children:o1(mg,{value:v,ariaLabel:m("Menu"),readOnly:p||d,onChange:f=>{let b=f?(i??[]).find(x=>x.id===f):null;o(b?{...b,items:b.items.map(x=>({...x,dropdown_items:(i??[]).find(w=>w.id===x.dropdown_menu)?.items.map(w=>({label:w.label,url:w.url}))??[]}))}:null)},options:[{label:p?m("Loading\u2026"):d?m("No menus"):m("Default links"),value:""},...(i??[]).map(f=>({label:`${f.name} (${f.item_count??f.items.length})`,value:f.id}))]})})}),g?o1("p",{className:"text-[12px] text-[var(--sf-warning,#b45309)]",children:KE()}):o1("p",{className:"text-[12px] text-[var(--ink-faint)]",children:v?J2("Header shows \u201C{name}\u201D \u2014 {n} link.","Header shows \u201C{name}\u201D \u2014 {n} links.",s,{name:a??m("the linked menu")}):d?m("No menus yet. Create one in {place}, then pick it here.",{place:m("Storefront \u2192 Menus")}):m("Pick a menu to drive the header links, or keep the built-in default links.")}),o1(pg,{variant:"link",size:"sm",className:"self-start",onClick:()=>r.send("storefront-editor:open-menus",{menuId:v||null}),children:v?m("Edit menu \u2192"):m("Manage menus \u2192")})]})}function i6({shown:e,children:t}){return e?o1("p",{className:"text-[11px] text-[var(--sf-muted)]",children:t}):null}function hg({labelledBy:e,value:t,min:a,max:s,step:o,onPreview:r,onCommit:i}){let n=l=>{l instanceof HTMLInputElement&&l.type==="range"&&i(Number(l.value))};return o1("div",{onPointerUp:l=>n(l.target),onKeyUp:l=>{/^(Arrow|Home|End|Page)/.test(l.key)&&n(l.target)},children:o1(WX,{value:t,min:a,max:s,step:o,showInput:!1,size:"sm","aria-labelledby":e,valueText:l=>m("{n} pixels",{n:l}),onChange:l=>{l!=null&&r(l)}})})}function tJ({label:e,value:t,children:a}){return Q0("div",{className:"flex flex-col gap-1.5",children:[Q0("div",{className:"flex items-center justify-between",children:[o1("span",{className:"text-[13px] text-[var(--ink-muted)]",children:m(e)}),t&&o1("span",{className:"text-[12px] text-[var(--ink-faint)]",children:m(t)})]}),a]})}function y5({label:e}){return o1(Ve,{label:e})}function y3({label:e,children:t}){return Q0("div",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-[7px]",children:[o1("span",{className:"text-[13px] text-[var(--sf-text-secondary)]",children:m(e)}),o1("div",{className:"flex-shrink-0",children:t})]})}var aJ=[{label:"Left",value:"left"},{label:"Center",value:"center"}],sJ=[{label:"Left",value:"left"},{label:"Right",value:"right"}],oJ=[{label:"Right",value:"left"},{label:"Centered",value:"center"},{label:"Beside logo",value:"beside"}],rJ=[{label:"Own row",value:"top"},{label:"Same row",value:"inline"}],iJ=[{label:xe.page,value:"page"},{label:xe.full,value:"full"}],nJ=[{label:"Icon",value:"icon"},{label:"Text",value:"text"}],lJ=[{label:"Uppercase",value:"uppercase"},{label:"Capitalised",value:"capitalised"}],cJ=[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],z0={logoPosition:{label:"Position",options:aJ,choose:e=>e==="right"?"center":e},menuAlign:{label:"Alignment",options:oJ,choose:e=>e==="center"?"center":e==="beside"?"beside":"left"},menuRow:{label:"Row",options:rJ,choose:e=>e==="inline"?"inline":"top"},searchPosition:{label:"Position",options:sJ,choose:e=>e},width:{label:"Width",options:iJ,choose:e=>e},navTextCase:{label:"Letters",options:lJ,choose:e=>e==="capitalised"?"capitalised":"uppercase"},utilStyle:{label:"Show as",options:nJ,choose:e=>e==="text"?"text":"icon"},topTextColor:{label:"Text color at the top",options:cJ,choose:e=>Lt(e)}};import{useState as ug}from"react";import{Banner as hJ,Button as gg}from"efficient-shell/ui";import{createNode as pJ,newId as mJ}from"efficient-easel/data";import{useEasel as dJ}from"efficient-easel/easel";function QE(e){return typeof e=="number"&&Number.isInteger(e)&&e>=j3.min&&e<=j3.max?e:j3.default}var jl=e=>!!e&&e.startsWith("/wheels/")&&e!=="/wheels",Kl=(e,t)=>!e&&t?"var(--section-bg)":"var(--bg)",eH=e=>e==="capitalised"?"capitalised":"uppercase",$l=e=>e==="inline"?"inline":e==="top"||e==="bottom"?"top":null;var tH="Flex",aH=10;function sH(e,t,a,{logoHeightPx:s}={}){let o=e.util_style==="text"?"text":"icon",r={...e.menu?{id:e.menu}:{},...e.menu_handle?{handle:e.menu_handle}:{},...e.menu_name?{name:e.menu_name}:{},items:(e.menu_items??[]).map(({label:u,url:v})=>({label:u,url:v}))},i=e.search_enabled?t("SearchBlock",{style:o}):null,n=e.search_position==="left",l=[n?i:null,e.country_selector_enabled?t("CountrySwitchBlock"):null,e.cart_enabled!==!1?t("CartBlock",{style:o}):null,n?null:i].filter(u=>u!==null),c=t(tH,{direction:"row",justify:"between",align:"center",share:"content",wrap:"nowrap",phoneRow:3,sectionPaddingTop:aH,sectionPaddingBottom:aH,content:[t("LogoBlock",s?{heightPx:s}:{}),t("MenuBlock",{menu:r,direction:"row"}),...l.length?[t(tH,{direction:"row",justify:"end",align:"center",share:"content",wrap:"nowrap",phoneRow:3,content:l})]:[]]}),h=Xz(z4,a,[c]),p=Gs(e.theme),d=$l(e.menu_row);return{...h,props:{...h.props,sticky:e.sticky??"always",topTextColor:e.top_text_color??"auto",...e.height_px!=null?{heightPx:e.height_px}:{},...e.width==="full"?{fullWidth:!0}:{},...p!==null?{sectionAccent:p}:{},...e.nav_text_case?{navTextCase:e.nav_text_case}:{},...d?{menuRow:d}:{}}}}import{Fragment as uJ,jsx as Yl,jsxs as gJ}from"react/jsx-runtime";function vg(){let{appState:e,dispatch:t,config:a}=dJ(g=>g),{readOnly:s,tokenRef:o,siteId:r}=ke(),[i,n]=ug(!1),[l,c]=ug(!1),[h,p]=ug(!1),d=e.data.content;if(s||d.some(g=>g.type===z4))return null;let u=(g,f)=>pJ(a,g,f),v=async()=>{let g=o.current;if(!(!g||l)){c(!0),p(!1);try{let f=await h9(g,r),b=f.logo_size_px??zs[f.logo_size],x=sH(f,u,mJ(z4),{logoHeightPx:b});t({type:"setData",data:w=>({...w,content:[...Jz(w.content,x)]}),recordHistory:!0}),n(!1)}catch{p(!0)}finally{c(!1)}}};return Yl(hJ,{tone:h?"danger":"info",title:m("This header uses the old layout"),action:i?gJ(uJ,{children:[Yl(gg,{variant:"primary",size:"sm",onClick:v,disabled:l,children:l?m("Switching\u2026"):m("Switch now")}),Yl(gg,{variant:"secondary",size:"sm",onClick:()=>n(!1),disabled:l,children:m("Cancel")})]}):Yl(gg,{variant:"secondary",size:"sm",onClick:()=>n(!0),children:m("Switch to Box header")}),children:h?m("The header settings could not be read. Try again."):m("Build it out of Boxes and blocks: the logo, menu, search, region and cart become blocks you can move. Your current header is kept.")})}import{Fragment as vJ,jsx as fg,jsxs as fJ}from"react/jsx-runtime";function bg({placeholderMode:e,tokenRef:t,siteId:a,websiteName:s,onOpenWebsiteSettings:o,onAuthExpired:r}){return fJ(vJ,{children:[e?null:fg("div",{className:"px-4 pt-3 pb-1",children:fg(vg,{})}),fg(dg,{inline:!0,placeholderMode:e,tokenRef:t,siteId:a,websiteName:s??void 0,onOpenWebsiteSettings:o,onAuthExpired:r})]})}import{useEffect as bJ,useState as xJ}from"react";function Tt({fetch:e,keyBy:t}){let a=null,s=null,o=null;return(r=!1)=>{let i=N3(),n=t?t():null;return(r||!a||s===null&&i!==null||o!==n)&&(s=i,o=n,a=i||!cs().usesBridgedToken?e(i??"",n).catch(()=>[]):Promise.resolve([])),a}}var n6=Tt({fetch:(e,t)=>F1.listProducts(e,{siteId:t,kinds:["alloy-wheel","tyre"]}),keyBy:v2}),M2=(e=!1)=>n6(e).then(t=>t.filter(a=>a.kind==="alloy-wheel"));function oH(e){let[t,a]=xJ(null);return bJ(()=>{let s=!1;return e().then(o=>{s||a(o)}),()=>{s=!0}},[e]),t}function Xl(){return oH(M2)}function rH(){return oH(n6)}var nH={list:async()=>(await M2()).map(e=>({slug:e.slug,name:e.name,href:Bi(e.slug)}))},iH=new Map;function wJ(e){let t=e??"",a=N3(),s=iH.get(t);if(s&&!(s.token===null&&a!==null))return s.promise;let o=a&&e?F1.listFieldUsage(a,e).then(UT).catch(()=>[]):Promise.resolve([]);return iH.set(t,{promise:o,token:a}),o}var lH={load:async e=>{let[t,a]=await Promise.all([n6().catch(()=>[]),wJ(e??void 0)]);return qT({catalogue:t,fieldUsage:a,offersCommerce:!0})}};var xg=[{key:"cart",label:"Cart",href:"/?cart=open"},{key:"checkout",label:"Checkout",href:"/checkout"}],yJ=Object.fromEntries(xg.map(e=>[e.key,e]));function cH(e){return yJ[e]}import{jsx as qs,jsxs as hH}from"react/jsx-runtime";var zJ={cart:hH("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[qs("circle",{cx:"9",cy:"20",r:"1.4"}),qs("circle",{cx:"18",cy:"20",r:"1.4"}),qs("path",{d:"M2 3h2.2l2.1 12.3a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2L21.5 7H5.3"})]}),checkout:hH("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[qs("rect",{x:"2.5",y:"5",width:"19",height:"14",rx:"2"}),qs("path",{d:"M2.5 9.5h19"})]})},pH={get title(){return m("Shop")},get rows(){return xg.map(e=>({...e,label:m(e.label),icon:zJ[e.key]}))}};import{useCallback as VJ,useEffect as RJ,useRef as _J,useState as kH}from"react";var kJ=[{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"}],CJ=Object.fromEntries(kJ.map(e=>[e.code,e.name]));function mH(e){return CJ[e]??e}import{jsx as wg,jsxs as dH}from"react/jsx-runtime";function uH(e,t,a){let s=new Map(e.map(o=>[o.code,o]));return(t?.length?t:e.map(o=>o.code)).map(o=>{let r=s.get(o);return{code:o,name:r?.name||mH(o),currency:r?.currency,url:r?.url||a?.[o]||""}})}function Jl(e){let{countries:t}=x0();return uH(t,e).length>0}function m9({urls:e,countries:t}={}){let{country:a,setCountry:s,countries:o}=x0(),r=uH(o,t,e),i=r.find(p=>p.code===a)??r[0];function n(p){let d=(e?r.find(u=>u.code===p)?.url:"")?.trim();if(d){window.location.href=d;return}o.some(u=>u.code===p)&&s(p)}let l=r.map(p=>({value:p.code,label:p.name,meta:p.currency})),c=ht({items:l,value:a,onPick:n});if(!i)return null;let h=c.open;return dH("div",{ref:c.wrapRef,className:"relative",children:[dH("button",{ref:p=>{c.triggerRef.current=p},type:"button","aria-haspopup":"listbox","aria-expanded":h,"aria-controls":h?c.listId:void 0,"aria-activedescendant":c.activeId,"aria-label":`Region: ${i.name}. Click to change.`,onClick:c.toggle,onKeyDown:c.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:[wg("span",{children:i.name}),wg("span",{"aria-hidden":!0,className:`text-[11px] opacity-70 transition-transform ${h?"rotate-180":""}`,children:"\u25BE"})]}),h&&wg(pt,{id:c.listId,tone:"region",ariaLabel:"Choose region",items:l,value:a,focusIdx:c.focusIdx,onFocus:c.setFocusIdx,onPick:c.pick,listRef:c.listRef})]})}import{useEffect as SJ,useRef as gH}from"react";import{jsx as J4,jsxs as yg}from"react/jsx-runtime";var js={search:"Search",account:"Account",cart:"Bag"},zg="whitespace-nowrap";function MJ(e){return e>99?"99+":String(e)}function AJ({count:e,ref:t}){return J4("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:J4("span",{style:{color:"var(--sf-header-ground, var(--bg))"},children:MJ(e)})})}function Ql({onClick:e,count:t,asText:a,className:s}){let o=gH(null),r=gH(t);return SJ(()=>{r.current!==t&&(r.current=t,!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&o.current?.animate([{transform:"scale(0.6)"},{transform:"scale(1)"}],{duration:180,easing:"ease-out"}))},[t]),J4("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?yg("span",{className:zg,children:[js.cart,t>0?` ${t}`:""]}):yg("span",{className:"relative inline-flex",children:[J4("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:XS}),t>0?J4(AJ,{count:t,ref:o}):null]})})}function vH({asText:e,className:t}){return J4(T1,{href:"/account","aria-label":"Account",className:`mono-eyebrow-ctl inline-flex items-center opacity-80 transition-opacity hover:opacity-100 ${t??""}`,children:e?J4("span",{className:zg,children:js.account}):yg("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:[J4("circle",{cx:"12",cy:"8",r:"3.4"}),J4("path",{d:"M5 20a7 7 0 0 1 14 0"})]})})}function ec({onClick:e,asText:t,className:a}){return J4("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?J4("span",{className:zg,children:js.search}):J4(O6,{name:"search",size:18,strokeWidth:1.6,rounded:!0})})}import{jsx as LJ}from"react/jsx-runtime";function Et(){return LJ("span",{className:"opacity-50",children:m(ZE)})}import{jsx as TJ}from"react/jsx-runtime";import{createContext as EJ,useContext as kg,useEffect as HJ,useState as FJ,useSyncExternalStore as PJ}from"react";var bH=[];function NJ(){let e=bH,t=new Set,a=s=>{e=s;for(let o of t)o()};return{offer:s=>(a([...e,s]),()=>{let o=e.indexOf(s);o>=0&&a([...e.slice(0,o),...e.slice(o+1)])}),subscribe:s=>(t.add(s),()=>t.delete(s)),offered:()=>e}}var tc=EJ(null);function xH({children:e}){let[t]=FJ(NJ);return TJ(tc.Provider,{value:t,children:e})}var ac=()=>kg(tc)!==null;function Cg(e){let t=kg(tc);HJ(()=>{if(!(!t||!e))return t.offer(e)},[t,e])}var IJ=()=>()=>{},fH=()=>bH;function wH(){let e=kg(tc),t=PJ(e?.subscribe??IJ,e?.offered??fH,fH);return e?{search:t.includes("search"),region:t.includes("region"),account:t.includes("account"),theme:t.includes("theme")}:null}import{useEffect as sc}from"react";function Q4({active:e,onDismiss:t,focusRef:a,lockScroll:s=!0,scopeRef:o}){sc(()=>{if(!e)return;let r=o?.current?.ownerDocument??document,i=n=>{n.key==="Escape"&&t()};return r.addEventListener("keydown",i),()=>r.removeEventListener("keydown",i)},[e,t,o]),sc(()=>{if(!e||!s)return;let r=(o?.current?.ownerDocument??document).body,i=r.style.overflow;return r.style.overflow="hidden",()=>{r.style.overflow=i}},[e,s,o]),sc(()=>{if(!e)return;let r=(o?.current?.ownerDocument??document).documentElement,i=n=>{let l=Number(r.getAttribute(Sg)||0)+n;l>0?r.setAttribute(Sg,String(l)):r.removeAttribute(Sg)};return i(1),()=>i(-1)},[e,o]),sc(()=>{e&&a?.current?.focus()},[e,a])}var Sg="data-sf-overlay";function Ht(e){let t=(e??"").trim();return t===""||t==="#"}import{jsx as E0,jsxs as l6}from"react/jsx-runtime";var OJ=e=>/^https?:\/\//i.test(e),CH="flex list-none flex-col gap-2.5 text-[13px]",Mg="mb-4 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",yH="text-[12px] italic text-fg-dim/70",SH=(e,t)=>e&&t>0?"border-t border-line pt-2.5":"";function BJ({showDividers:e}){return E0("ul",{className:CH,children:Array.from({length:ag},(t,a)=>E0("li",{className:`text-fg ${SH(e,a)}`,children:E0(Et,{})},a))})}function MH({item:e,label:t,link:a,onNavigate:s}){return Ht(e.url)?E0("span",{className:t,children:M(e.label)}):OJ(e.url)?E0("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:a,onClick:s,children:M(e.label)}):E0(T1,{href:e.url,className:a,onClick:s,children:M(e.label)})}function zH({items:e,showDividers:t}){return E0("ul",{className:CH,children:e.map((a,s)=>E0("li",{className:SH(t,s),children:E0(MH,{item:a,label:"text-fg",link:"text-fg transition-colors hover:text-accent"})},`${a.label}-${s}`))})}var DJ="opacity-80 transition-opacity hover:opacity-100";function ZJ({items:e,label:t,editing:a}){let[s,o]=kH(!1),r=_J(null),i=wH(),{open:n}=Ct(),l=t||"Menu",c=VJ(()=>o(!1),[]);Q4({active:s,onDismiss:c,scopeRef:r});let h=(d,u,v)=>e===null?Array.from({length:ag},(g,f)=>E0("li",{className:u,children:E0(Et,{})},f)):e.map((g,f)=>E0("li",{className:u,children:E0(MH,{item:g,label:d,link:`${d} ${DJ}`,onNavigate:v})},`${g.label}-${f}`)),p=i&&(i.search||i.region)?i:null;return l6("nav",{ref:r,"aria-label":l,"data-menu-row":"",className:"min-w-0",children:[E0("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("","")}),E0("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:()=>o(d=>!d),children:E0("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round","aria-hidden":"true",children:s?E0("path",{d:"M6 6l12 12M18 6L6 18"}):E0("path",{d:"M4 7h16M4 12h16M4 17h16"})})}),s?l6("div",{role:"dialog","aria-label":l,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:[E0("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",c)}),p?l6("div",{className:"mt-auto flex flex-col gap-3.5 border-t border-line bg-surface p-5",children:[p.search?l6("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:()=>{c(),n()},children:[E0(O6,{name:"search",size:18,strokeWidth:1.6,rounded:!0}),js.search]}):null,p.region?l6("div",{className:"flex items-center justify-between",children:[E0("span",{className:"mono-eyebrow text-fg-dim",children:"Region"}),E0(m9,{})]}):null]}):null]}):null]})}function Ks({menu:e,heading:t,accordionMobile:a=!1,showDividers:s=!1,editing:o=!1,layout:r="column"}){let{live:i,ready:n}=Zl(),l=OE({id:e?.id,handle:e?.handle,editing:o,ready:n,live:i}),c=l?[]:e?.items??[],h=t||e?.name||"",[p,d]=kH(!1);return RJ(()=>{if(!a)return;let u=window.matchMedia("(max-width: 800px)"),v=()=>d(u.matches);return v(),u.addEventListener("change",v),()=>u.removeEventListener("change",v)},[a]),r==="row"?E0(ZJ,{items:l?null:c,label:h,editing:o}):l?l6("div",{className:"min-w-0",children:[E0("h4",{className:Mg,children:t?j0(t):m(WE)}),E0(BJ,{showDividers:s}),E0("p",{className:`mt-3 ${yH}`,children:m(UE)})]}):c.length===0?l6("div",{className:"min-w-0",children:[h?E0("h4",{className:Mg,children:j0(h)}):null,o?E0("p",{className:yH,children:m("This menu has no links yet \u2014 add them in {place}.",{place:m("Storefront \u2192 Menus")})}):null]}):a&&p?l6("details",{className:"min-w-0 border-b border-line",children:[l6("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:[j0(h),E0("span",{"aria-hidden":!0,children:"\uFF0B"})]}),E0("div",{className:"pb-3",children:E0(zH,{items:c,showDividers:s})})]}):l6("div",{className:"min-w-0",children:[h?E0("h4",{className:Mg,children:j0(h)}):null,E0(zH,{items:c,showDividers:s})]})}import{createContext as XJ,useCallback as c4,useContext as JJ,useEffect as QJ,useMemo as eQ,useRef as qH,useState as Nt}from"react";function $s(e){return typeof e=="number"?String(e):""}function AH(e){let t=$s(e);return t&&`${t} LUG`}function Ag(e){let t=e.spec?.lugs;return typeof t=="number"?t:null}function LH(e){let t=new Set;for(let a of e){let s=Ag(a);s!==null&&t.add(s)}return[...t].sort((a,s)=>a-s)}function GJ(e){return e.length===0?null:{min:Math.min(...e),max:Math.max(...e)}}function oc(e){let t=GJ(e);return t?pT(t.min,t.max):null}function TH(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 EH=5,PH=.2;function Ft(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,r=(a?a[2]:t).split(/[-/,]/).map(i=>Number(i.trim().replace(/[^\d.]/g,""))).filter(i=>Number.isFinite(i)&&i>0);return{holes:s,circles:r}}function Lg(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 NH(e){if(!e)return null;let t=Ft(e.pcd||e.boltPattern);if(t.holes===null||t.circles.length===0)return null;let a=t.circles[0],s=Lg(e.etRange),o=s?[s[0]-EH,s[1]+EH]:null;return{holes:t.holes,circle:a,centreBore:typeof e.centreBore=="number"&&e.centreBore>0?e.centreBore:null,etRange:o}}function WJ(e,t){return Math.abs(e-t)<=PH}function IH(e,t,a){let s=Ft(e);return(s.holes??t)!==a.holes?!1:s.circles.some(r=>WJ(r,a.circle))}function VH(e,t){return t.centreBore===null?!0:e+PH>=t.centreBore}function UJ(e,t){return e[0]<=t[1]&&e[1]>=t[0]}function d9(e,t){let a=`${t.holes}\xD7${t.circle}`;return e.pcds.length===0?{key:"unverifiable",wheel:"",vehicle:a}:e.pcds.some(s=>IH(s,e.lugs,t))?t.etRange!==null&&e.etRange!==null&&!UJ(e.etRange,t.etRange)?{key:"et",wheel:rc(e.etRange),vehicle:rc(t.etRange)}:e.centreBores.length>0&&!e.centreBores.some(s=>VH(s,t))?{key:"bore",wheel:`${e.centreBores.join(" / ")} mm`,vehicle:`${t.centreBore} mm`}:null:{key:"pcd",wheel:e.pcds.join(" / "),vehicle:a}}function RH(e){return{pcds:e.spec?.pcds??[],lugs:e.spec?.lugs??null,etRange:Lg(e.spec?.etRange),centreBores:e.spec?.centreBores??[]}}function ic(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 nc(e,t){let a=d9(e,t);return a===null||a.key!=="et"?a:d9(e,{...t,etRange:null})}function Tg(e,t){return d9(RH(e),t)}function _H(e,t){return d9(ic(e),t)}function qJ(e,t){return nc(ic(e),t)===null}function OH(e,t){return t?e.filter(a=>qJ(a,t)):[...e]}function jJ(e,t){return nc(RH(e),t)===null}function lc(e,t){return t?e.filter(a=>jJ(a,t)):e}var HH=1;function KJ(e,t){let a=e.spec?.pcds??[],s=e.spec?.centreBores??[],o=Lg(e.spec?.etRange);if(!t)return{pcds:a,etRange:o,centreBores:s};let r=e.spec?.lugs??null,i=a.filter(l=>IH(l,r,t)),n=s.filter(l=>VH(l,t));return{pcds:i.length>0?i:a,etRange:o,centreBores:n.length>0?n:s}}function rc(e){return Tl(e[0],e[1])}function FH(e){let t=e.slice(0,HH).join(" / "),a=e.length-HH;return a>0?`${t} +${a}`:t}var BH="\xB7";function cc(e){return[{fieldKey:"diameter",text:oc(e.sizes)},{fieldKey:"holes",text:AH(e.spec?.lugs)}].filter(t=>!!t.text)}function DH(e,t){let{pcds:a,etRange:s,centreBores:o}=KJ(e,t),r=[];return a.length>0&&r.push({fieldKey:"pcd",text:`PCD ${FH(a)}`}),s!==null&&r.push({fieldKey:"et",text:rc(s)}),o.length>0&&r.push({fieldKey:"center_bore",text:`C/B ${FH(o)} mm`}),r}function Pt(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?rc(e.etRange):null}]:[]}function ZH(e){return Pt(e).map(t=>t.value).filter(t=>t!==null).join(" \xB7 ")}var Ys={default:"Sort \xB7 Featured",new:"Newest","price-asc":"Price \xB7 Low","price-desc":"Price \xB7 High",name:"Name A\u2013Z"},hc={process:null,size:null,lugs:null,finish:null,priceMin:null,priceMax:null,sort:"default"};function $J(e,t,a){return!(t.process&&e.process!==t.process||t.size&&!e.sizes.includes(t.size)||t.lugs!=null&&Ag(e)!==t.lugs||t.finish&&!e.finishes.some(s=>s.family===t.finish)||!Dn(e.prices,a,t.priceMin,t.priceMax))}function YJ(e,t,a){return[...e].sort((s,o)=>{switch(t){case"price-asc":return ot(s.prices,o.prices,a,"asc");case"price-desc":return ot(s.prices,o.prices,a,"desc");case"name":return s.name.localeCompare(o.name);case"new":return(o.badge==="new"?1:0)-(s.badge==="new"?1:0);default:return 0}})}function GH(e,t,a,s=null){let o=lc(e,s);return YJ(o.filter(r=>$J(r,t,a)),t.sort,a)}import{jsx as aQ}from"react/jsx-runtime";var jH={fit:null,name:"",resolving:!1,unresolved:!1};function tQ(e,t){return e.fit===t.fit&&e.name===t.name&&e.resolving===t.resolving&&e.unresolved===t.unresolved}var F4=()=>{},KH=XJ({filters:hc,setProcess:F4,setSize:F4,setLugs:F4,setFinish:F4,setPriceMin:F4,setPriceMax:F4,setSort:F4,clearAll:F4,reportCount:F4,total:0,reportLugs:F4,lugOptions:[],reportSizes:F4,sizeOptions:[],reportFinishes:F4,finishOptions:[],optionsReported:!1,scrollProcess:null,vehicle:jH,publishVehicle:F4}),pc="data-catalog-collection",WH=(e,t)=>e-t;function UH(e,t){return e.length===t.length&&e.every((a,s)=>a===t[s])}function Eg(e){let t=qH(new Map),[a,s]=Nt([]),o=c4((r,i)=>{let n=t.current.get(r);if(n&&UH(n,i))return;t.current.set(r,i);let l=new Set;for(let h of t.current.values())for(let p of h)l.add(p);let c=[...l].sort(e);s(h=>UH(h,c)?h:c)},[e]);return[a,o]}function $H({children:e}){let[t,a]=Nt(hc),s=c4(j=>a(B=>({...B,process:j})),[]),o=c4(j=>a(B=>({...B,size:j})),[]),r=c4(j=>a(B=>({...B,lugs:j})),[]),i=c4(j=>a(B=>({...B,finish:j})),[]),n=c4(j=>a(B=>({...B,priceMin:j})),[]),l=c4(j=>a(B=>({...B,priceMax:j})),[]),c=c4(j=>a(B=>({...B,sort:j})),[]),h=c4(()=>a(j=>({...hc,sort:j.sort})),[]),[p,d]=Nt(jH),u=c4(j=>{d(B=>tQ(B,j)?B:j)},[]),v=qH(new Map),[g,f]=Nt(0),b=c4((j,B)=>{if(v.current.get(j)===B)return;v.current.set(j,B);let $=0;for(let W of v.current.values())$+=W;f($)},[]),[x,w]=Eg(WH),[z,k]=Eg(WH),[L,V]=Eg(wA),[P,E]=Nt(!1),I=c4((j,B)=>{E(!0),w(j,B)},[w]),F=c4((j,B)=>{E(!0),k(j,B)},[k]),H=c4((j,B)=>{E(!0),V(j,B)},[V]),[O,q]=Nt(null);QJ(()=>{let B=0,t1=()=>{B=0;let W=null,i1=document.querySelectorAll(`[${pc}]`);for(let _ of i1){let D=_.getBoundingClientRect();if(D.top<=140&&D.bottom>140){W=_.getAttribute(pc)??null;break}}q(W)},$=()=>{B||(B=requestAnimationFrame(t1))};return t1(),window.addEventListener("scroll",$,{passive:!0}),window.addEventListener("resize",$),()=>{window.removeEventListener("scroll",$),window.removeEventListener("resize",$),B&&cancelAnimationFrame(B)}},[]);let R=eQ(()=>({filters:t,setProcess:s,setSize:o,setLugs:r,setFinish:i,setPriceMin:n,setPriceMax:l,setSort:c,clearAll:h,reportCount:b,total:g,reportLugs:I,lugOptions:x,reportSizes:F,sizeOptions:z,reportFinishes:H,finishOptions:L,optionsReported:P,scrollProcess:O,vehicle:p,publishVehicle:u}),[t,s,o,r,i,n,l,c,h,b,g,I,x,F,z,H,L,P,O,p,u]);return aQ(KH.Provider,{value:R,children:e})}function mc(){return JJ(KH)}import{useCallback as uQ,useEffect as gc,useRef as sF,useState as Js}from"react";var sQ={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function YH(e){let t={};for(let a of tn){let s=e[a];if(!s)continue;let o=fe({role:s},sQ);o.fontFamily&&(t[wd[a].font]=o.fontFamily),o.fontSize&&(t[wd[a].size]=o.fontSize)}return t}import{useEffect as iQ}from"react";import{useEffect as XH,useState as u9}from"react";import{jsx as It,jsxs as rQ}from"react/jsx-runtime";function c6(e,t){let[a,s]=u9(void 0),[o,r]=u9(0);return XH(()=>{if(t!==void 0)return;if(!e){s(null);return}let i=!1;return f0.getForm(e).then(n=>{i||s(n)}).catch(()=>{i||s(null)}),()=>{i=!0}},[t,e,o]),XH(()=>{if(t===void 0)return zl(()=>r(i=>i+1))},[t]),t!==void 0?t:a}var oQ="Something went wrong \u2014 your submission wasn't sent. Please try again.";function Vt(e,t="Thanks \u2014 we've received your submission."){return e.successMessage?.trim()||t}function Q7({form:e,formSlug:t,editing:a=!1}){let[s,o]=u9({}),[r,i]=u9(""),[n,l]=u9(!1),[c,h]=u9(!1),[p,d]=u9(null);async function u(v){if(v.preventDefault(),!(a||n||!e||!t)){l(!0),d(null);try{let g=e.fields.map(f=>({fieldKey:f.key,value:s[f.key]??""}));await f0.submitForm(t,{answers:g,...r?{company:r}:{}}),h(!0)}catch{d(oQ)}finally{l(!1)}}}return{valueOf:v=>s[v]??"",set:(v,g)=>o(f=>({...f,[v]:g})),honeypot:r,setHoneypot:i,submitting:n,done:c,error:p,handleSubmit:u}}function Rt({value:e,onChange:t}){return It("input",{type:"text",name:"company",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"hidden",value:e,onChange:a=>t(a.target.value)})}function e8({field:e,value:t,onChange:a,className:s,rows:o=5,placeholder:r}){let i=r??e.placeholder;return e.type==="textarea"?It("textarea",{required:e.required,rows:o,value:t,placeholder:i,onChange:n=>a(n.target.value),className:s}):e.type==="select"?rQ("select",{required:e.required,value:t,onChange:n=>a(n.target.value),className:s,children:[It("option",{value:"",children:i||"Select\u2026"}),e.options.map(n=>It("option",{value:n,children:n},n))]}):e.type==="checkbox"?It("input",{type:"checkbox",required:e.required,checked:t==="true",onChange:n=>a(n.target.checked?"true":""),className:s}):It("input",{type:e.type==="email"?"email":e.type==="tel"?"tel":"text",required:e.required,value:t,placeholder:i,onChange:n=>a(n.target.value),className:s})}import{jsx as Xs}from"react/jsx-runtime";var JH="font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim";function e5({size:e,children:t}){return e==="tall"?Xs("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:Xs("p",{className:JH,children:t})}):Xs("section",{className:"relative z-[2] border-t border-line bg-surface",children:Xs("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:Xs("p",{className:JH,children:t})})})}import{jsx as z3,jsxs as dc}from"react/jsx-runtime";var QH="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 nQ({field:e,value:t,onChange:a}){let s={field:e,value:t,onChange:a};return e.type==="checkbox"?dc("label",{className:"flex items-start gap-3",children:[z3(e8,{...s,className:"mt-1 size-4 accent-accent"}),dc("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.16em] text-fg",children:[e.label,e.required?z3("span",{className:"text-accent",children:" *"}):null]})]}):z3(t3,{label:e.label,required:e.required,children:z3(e8,{...s,className:e.type==="textarea"?QH+" resize-y":QH})})}function Hg({formSlug:e,heading:t,intro:a,submitText:s,finePrint:o,form:r,editing:i=!1}={}){let n=c6(e,r);if(n===void 0)return z3(e5,{size:"short",children:m("Loading form\u2026")});if(n===null)return z3(e5,{size:"short",children:i?m("Choose a form in the inspector, under Form."):"This form is unavailable."});let l=(t??"").trim()||n.title;return z3("section",{className:"relative z-[2] border-t border-line bg-surface",children:dc("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:[l&&z3("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:l}),(a??"").trim()&&z3("p",{className:"mb-11 max-w-[640px] font-display text-[16px] leading-[1.6] text-fg-dim",children:a}),z3(Fg,{form:n,formSlug:e,submitText:s,finePrint:o,editing:i})]})})}function Fg({form:e,formSlug:t,submitText:a,finePrint:s,editing:o=!1,onSent:r}){let{valueOf:i,set:n,honeypot:l,setHoneypot:c,submitting:h,done:p,error:d,handleSubmit:u}=Q7({form:e,formSlug:t,editing:o});iQ(()=>{p&&r?.()},[p]);let v=(a??"").trim()||e.submitButtonText?.trim()||"Submit";return p?z3("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:Vt(e)}):dc("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:u,children:[e.fields.map(g=>z3(nQ,{field:g,value:i(g.key),onChange:f=>n(g.key,f)},g.key)),z3(Rt,{value:l,onChange:c}),d&&z3("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:d}),z3("button",{type:o?"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":v}),e.consentText?.trim()&&z3("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:e.consentText}),(s??"").trim()&&z3("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:s})]})}import{jsx as Pg,jsxs as cQ}from"react/jsx-runtime";import{jsx as lQ}from"react/jsx-runtime";function eF(){return lQ("span",{className:"block h-px w-[30px] bg-current"})}function hQ(e,t){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var pQ="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",mQ="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 _1({text:e,look:t="plain",size:a=13,scaled:s=!0,className:o="",classNameAfter:r=""}){if(t==="line")return cQ("div",{className:[o,mQ,r].filter(Boolean).join(" "),children:[Pg(eF,{}),Pg("span",{children:M(e)})]});let i=t==="filled"?pQ:hQ(a,s);return Pg("span",{className:[o,i,r].filter(Boolean).join(" "),children:M(e)})}import{useCallback as tF,useRef as dQ,useState as aF}from"react";function uc({source:e,dryRun:t=!1}){let[a,s]=aF("idle"),[o,r]=aF(null),i=dQ(!1),n=tF(()=>{i.current=!1,r(null),s("idle")},[]),l=tF(async c=>{if(!i.current){if(!nt(c.email)){s("invalid");return}i.current=!0,r(null),s("sending");try{t||await f0.createNewsletterSubscription(aE(c,e))}catch(h){i.current=!1,r(h),s("error");return}i.current=!1,s("sent")}},[e,t]);return{status:a,error:o,submit:l,reset:n}}import{Fragment as fQ,jsx as p0,jsxs as N2}from"react/jsx-runtime";var gQ=50,vc="font-[family-name:var(--pp-fieldlabel-font,var(--font-mono))] text-[length:var(--pp-fieldlabel-size,12px)]";function vQ(e){let t=ye({sectionAccent:$5(e.sectionAccent)}),a=Vi(e.sectionCorners,e.sectionCornerSides);return{className:t?.className??"",style:{...t?.style??{},...a??{},...YH(e.textStyles)}}}function oF({content:e,open:t=!0,onClose:a,onSent:s,inline:o=!1,prefillEmail:r="",source:i=n4.popup,mode:n="chosen",form:l}){let c=n==="chosen"?e.formSlug:"",h=c6(c||void 0,o?void 0:l??null),p=!!c&&!!h,[d,u]=Js(""),[v,g]=Js(""),[f,b]=Js(()=>new Set(e.interests.slice(0,1))),[x,w]=Js(e.frequencies[0]??""),{status:z,error:k,submit:L,reset:V}=uc({source:i,dryRun:o}),P=z==="sending",E=z==="invalid"?e.emailInvalidText:z==="error"?k instanceof A4?k.message:e.submitErrorText:null,[I,F]=Js(""),H=sF(null),O=sF(null);gc(()=>{t&&V()},[t,V]),gc(()=>{z==="sent"&&!o&&s?.()},[z]);let q=uQ(()=>a?.(),[a]);if(Q4({active:!o&&t,onDismiss:q}),gc(()=>{if(o||!t)return;let X=window.setTimeout(()=>O.current?.focus(),gQ);return()=>window.clearTimeout(X)},[o,t]),gc(()=>{!t||!r||g(r)},[t,r]),!o&&!t)return null;function R(X){b(m1=>{let c1=new Set(m1);return c1.has(X)?c1.delete(X):c1.add(X),c1})}function j(X){X.target===H.current&&a?.()}function B(X){X.preventDefault();let m1=v.trim().toLowerCase();F(m1),L({email:m1,firstName:d,interests:[...f],frequency:x})}let t1=e.successBody.replace(/\{email\}/g,I).replace(/\{issue\}/g,e.issueNumber),$=vQ(e),W=e.formSide==="left",i1=N2("div",{className:"flex flex-wrap items-center justify-between gap-5 uppercase tracking-[0.18em] text-fg-dim",children:[N2("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:[p0("span",{className:"block h-1.5 w-1.5 rounded-full bg-accent"}),M(e.finePrint)]}),!o&&p0("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:M(e.dismissText)})]}),_=N2(fQ,{children:[p0("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:p0(_1,{text:e.formLabel,scaled:!1,className:"mb-[18px]"})}),p0("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:J(e.formHeading)}),p0("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:M(e.formIntro,!0)})]}),D="px-11 py-12 max-[880px]:px-[26px] max-[880px]:py-8",Y;p&&h?Y=N2("div",{className:`relative flex min-h-[560px] flex-col max-[880px]:min-h-0 ${D}`,children:[_,p0("div",{className:"mt-8",children:p0(Fg,{form:h,formSlug:c,editing:o,onSent:s})}),p0("div",{className:"mt-auto pt-7",children:i1})]}):z!=="sent"?Y=N2("form",{onSubmit:B,noValidate:!0,className:`relative flex min-h-[560px] flex-col max-[880px]:min-h-0 ${D}`,children:[_,N2("div",{className:"mt-8 flex flex-col gap-[18px]",children:[p0(t3,{label:M(e.firstNameLabel),required:!0,labelFace:vc,children:p0("input",{type:"text",value:d,onChange:X=>u(X.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"})}),p0(t3,{label:M(e.emailLabel),required:!0,labelFace:vc,children:p0("input",{type:"email",value:v,onChange:X=>g(X.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"})}),N2("div",{className:"mt-1.5 flex flex-col gap-2.5",children:[p0(s9,{labelFace:vc,children:M(e.interestsLabel)}),p0("div",{className:"flex flex-wrap gap-2",children:e.interests.map((X,m1)=>{let c1=f.has(X);return p0("button",{type:"button",onClick:()=>R(X),"aria-pressed":c1,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",c1?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:X},`${X}-${m1}`)})})]}),e.frequencies.length>0&&N2("div",{className:"mt-1.5 flex flex-col gap-2.5",children:[p0(s9,{labelFace:vc,children:M(e.frequencyLabel)}),p0("div",{className:"flex border border-line",children:e.frequencies.map((X,m1)=>{let c1=x===X;return p0("button",{type:"button",onClick:()=>w(X),"aria-pressed":c1,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",m1<e.frequencies.length-1?"border-r border-line":"",c1?"bg-accent text-bg":"text-fg-dim hover:text-fg"].join(" "),children:X},`${X}-${m1}`)})})]})]}),N2("div",{className:"mt-auto flex flex-col gap-3.5 pt-7",children:[E&&p0("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:E}),N2("button",{type:"submit",disabled:P,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:[p0("span",{children:e.submitText}),p0("span",{className:"transition-transform group-hover:translate-x-[4px]",children:P?"\u2026":"\u2192"})]}),i1]})]}):Y=N2("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:[p0("div",{className:"flex h-16 w-16 items-center justify-center border border-accent font-display text-[32px] text-accent",children:"\u2713"}),p0("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:J(e.successHeading)}),p0("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:M(t1,!0)}),!o&&p0("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:M(e.keepBrowsingText)})]});let e1=N2("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 ${$.className}`.trim(),style:{...$.style,background:"var(--bg)",color:"var(--fg)",boxShadow:o?"0 30px 80px -30px rgba(0,0,0,0.5)":"0 60px 120px -20px rgba(0,0,0,0.7)",animation:o?void 0:"subscribe-rise 0.35s cubic-bezier(.2,.7,.2,1)"},children:[!o&&p0("button",{ref:O,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"}),N2("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:[N2("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:[p0("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)"}}),N2("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:[p0("div",{className:"absolute inset-[60px] rounded-full border",style:{borderColor:"color-mix(in oklab, var(--accent) 18%, transparent)"}}),p0("div",{className:"absolute inset-[140px] rounded-full border",style:{borderColor:"color-mix(in oklab, var(--accent) 14%, transparent)"}})]}),N2("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&&!o?"pr-[52px]":""].join(" "),children:[p0("span",{children:M(e.metaLabel)}),(e.issueLabel||e.issueNumber)&&N2("span",{children:[M(e.issueLabel)," ",p0("strong",{className:"font-normal text-accent",children:e.issueNumber})]})]}),N2("div",{className:"relative z-[2] flex flex-col gap-[18px] py-8",children:[p0("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:p0(_1,{text:e.kicker,size:12,scaled:!1})}),p0("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:J(e.heading)}),p0("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:M(e.deck,!0)})]}),e.stats.length>0&&p0("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((X,m1)=>N2("div",{children:[p0("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:M(X.label)}),p0("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:M(X.value)})]},`${X.label}-${m1}`))})]}),Y]})]});return o?p0("div",{className:"flex w-full justify-center p-6","data-subscribe-preview":!0,children:e1}):N2("div",{ref:H,onClick:j,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:[e1,p0("style",{children:`
3
+ `+y2),k1&&(y2=pi(y2)),E&&G5?R(y2):y2},t.setConfig=function(){let p1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Zm(p1),K2=!0,B5=X1,D5=$1},t.clearConfig=function(){ce=null,K2=!1,B5=null,D5=null,E=F,I=""},t.isValidAttribute=function(p1,S,Z){ce||Zm({});let r1=C2(p1),u1=C2(S);return iz(r1,u1,Z)},t.addHook=function(p1,S){typeof S=="function"&&v4(Y,p1)&&Uo(Y[p1],S)},t.removeHook=function(p1,S){if(v4(Y,p1)){if(S!==void 0){let Z=C81(Y[p1],S);return Z===-1?void 0:S81(Y[p1],Z,1)[0]}return n_(Y[p1])}},t.removeHooks=function(p1){v4(Y,p1)&&(Y[p1]=[])},t.removeAllHooks=function(){Y=x_()},t}var Y81=k_();C_.exports=Y81});import{useEffect as om1,useMemo as rm1,useState as nK}from"react";import{useEaselStrings as im1}from"efficient-easel/strings";import{useMemo as IK}from"react";import{createContext as NK,useContext as kA}from"react";var LK="https://maps.googleapis.com/maps/api/js",TK="__storefrontMapsReady__",jn=null;function Kn(e){if(typeof window>"u")return Promise.reject(new Error("ssr"));if(window.google?.maps)return Promise.resolve(window.google.maps);if(jn)return jn;let t=e&&e.trim()||"";return t?(jn=new Promise((a,s)=>{let o=TK;window[o]=()=>a(window.google.maps);let r=document.createElement("script");r.src=`${LK}?key=${encodeURIComponent(t)}&libraries=marker&callback=${o}&v=weekly&loading=async`,r.async=!0,r.defer=!0,r.onerror=()=>s(new Error("Failed to load Google Maps JS SDK")),document.head.appendChild(r)}),jn):Promise.reject(new Error("No Google Maps API key configured"))}function Cs(e,t){return Number.isFinite(e)&&Number.isFinite(t)&&!(e===0&&t===0)}var EK=15e3,Ud=new Set,HK=()=>Ud.forEach(e=>e());function FK(e){let t=window;return t.gm_authFailure=HK,Ud.add(e),()=>{Ud.delete(e)}}function $n(e){let t=!1,a,s=()=>{t||(t=!0,i(),e())},o=()=>{a=setTimeout(()=>{document.visibilityState==="visible"?s():o()},EK)},r=FK(s),i=()=>{clearTimeout(a),r()};return o(),{ready:()=>{t||(t=!0,i())},stop:i}}var CA="sf:maps-api-key",SA="sf:maps-map-id";function MA(){if(typeof window>"u")return"";try{return window.localStorage.getItem(CA)??""}catch{return""}}function qd(e){if(!(typeof window>"u"))try{window.localStorage.setItem(CA,e)}catch{}}function AA(){if(typeof window>"u")return"";try{return window.localStorage.getItem(SA)??""}catch{return""}}function LA(e){if(!(typeof window>"u"))try{window.localStorage.setItem(SA,e)}catch{}}var jd=NK({apiKey:"",setApiKey:()=>{},mapId:""}),Yn=jd.Provider,Xn=()=>kA(jd).apiKey,Jn=()=>kA(jd).mapId;function Qn(e,t){return e&&e.trim()||t&&t.trim()||""}function el(e,t){return e&&e.trim()||t&&t.trim()||""}import{jsx as VK}from"react/jsx-runtime";function Kd({apiKey:e,mapId:t,children:a}){let s=IK(()=>({apiKey:e,setApiKey:()=>{},mapId:t}),[e,t]);return VK(Yn,{value:s,children:a})}import{jsx as T4,jsxs as Y$}from"react/jsx-runtime";import{useCallback as P2,useEffect as q7,useMemo as xu,useRef as j7,useState as f2}from"react";import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/drag.css";import"efficient-easel/screen.css";var TA={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(hs,e),draw(e,t){e.label=hs[t]}};import{jsx as RK}from"react/jsx-runtime";function EA(e,t){let a=e.props?.id,s=t.appState?.data?.content;return!Array.isArray(s)||typeof a!="string"?!0:!s.some(o=>o?.props?.id===a)}function tl(e,t){let a=e?.data?.content;if(!Array.isArray(a)||typeof t!="string")return;let s=(o,r)=>{for(let i of o){if(i?.props?.id===t)return r;for(let n of Object.values(i?.props??{}))if(Array.isArray(n)&&n.length>0&&typeof n[0]=="object"&&n[0]!==null&&"type"in n[0]){let l=s(n,i);if(l!==void 0)return l}}};return s(a,null)}var HA={name:"sectionGroupAllow",applies:e=>Ci.includes(e),panel(e,t,a,s){let o=e.fields?.sections;o&&(o.allow=[...s.sectionGroupAllow])}},$d=new Set(Object.keys(G1)),FA={name:"openSlotDisallow",applies:()=>!0,panel(e,t,a,s){let o=s.contentSectionKeys;if(e?.fields)for(let r of Object.values(e.fields)){let i=r;if(i.type!=="slot"||i.allow)continue;let n=t==="Flex"?o.filter(l=>!$d.has(l)):o;i.disallow=Array.from(new Set([...i.disallow??[],...n]))}}};var _K=Array.from(new Set([...fz.map(e=>e.type),...$d,...vi,"GalleryItem"])),PA={name:"cellWidth",applies:(e,t,a)=>_K.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.cellWidthFields;e.fields={...e.fields,...s()};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=tl(i.appState,r.props?.id);if(l===void 0||Yz(l))return n;let c={...n};for(let h of Object.keys(s()))delete c[h];return c}},draw(e){let t=e.render;e.render=a=>{let s=Kz(a.gridSpan),o=t(a);return s==null?o:RK("div",{className:"sf-grid-cell",[$z]:String(s),children:o})}}};import{jsx as OA}from"react/jsx-runtime";import{jsx as BK}from"react/jsx-runtime";import{useEffect as DK,useRef as ZK}from"react";var Ss="data-puck-component";function Xd(e,t){return e.closest(`[${Ss}]`)?.getAttribute(Ss)===t}function NA(e,t,a){let s=e.querySelectorAll("*"),o=[],r=new Set;for(let u=0;u<s.length;u+=1){let v=s[u];if(!Xd(v,t))continue;let g=v.getAttribute(M7);g&&(o.push({element:v,partId:v5(t,g)}),r.add(v))}let i=[];for(let u=0;u<s.length;u+=1){let v=s[u];if(!Xd(v,t)||r.has(v))continue;let g=ck(v.textContent??"");g&&i.push({element:v,text:g})}let n=new Map,l=[],c=u=>u.row?`${u.key}.${u.row.rowKey}`:null,h=new Map;for(let u of a){let v=c(u);if(!v)continue;let g=h.get(v);g?g.push(u):h.set(v,[u])}let p=new Set;for(let[u,v]of h){if(v.length<2)continue;let g=v.flatMap(x=>x.texts);if(new Set(g).size===g.length)continue;let f=i.filter(x=>g.includes(x.text));if(f.length!==v.length)continue;let b=[...v].sort((x,w)=>(x.row?.index??0)-(w.row?.index??0));for(let x=0;x<b.length;x+=1){let w=b[x],z=f[x].element,k={key:w.key,partKey:Jm(w.key,w.row),exact:!0},L=n.get(z);L?L.push(k):(n.set(z,[k]),l.push(z))}p.add(u)}for(let u of a){if(p.has(c(u)??""))continue;let v=Jm(u.key,u.row);for(let g of u.texts){let f=[],b=null;for(let z of i)z.text===g?f.push(z.element):!f.length&&z.text.includes(g)&&(!b||z.text.length<=b.length)&&(b={element:z.element,length:z.text.length});let x=f.length?f:b?[b.element]:[],w=x.filter(z=>!x.some(k=>k!==z&&z.contains(k)));for(let z of w){let k={key:u.key,partKey:v,exact:f.length>0},L=n.get(z);L?L.push(k):(n.set(z,[k]),l.push(z))}}}let d=[...o];for(let u of l){let v=n.get(u)??[],g=v.some(f=>f.exact)?v.filter(f=>f.exact):v;if(new Set(g.map(f=>f.partKey)).size===1){d.push({element:u,partId:v5(t,g[0].partKey)});continue}new Set(g.map(f=>f.key)).size===1&&d.push({element:u,partId:v5(t,g[0].key)})}return d}function Yd(e,t,a){let s=e.querySelectorAll(`[${R6}]`);for(let r=0;r<s.length;r+=1){let i=s[r];Xd(i,t)&&i.removeAttribute(R6)}let o=[];for(let{element:r,partId:i}of a)r.setAttribute(R6,i),o.push(r);return o}function IA(e,t,a,s,o,r=()=>null){let i=null,n=null,l=null,c=()=>{let h=a(),p=h?.getAttribute(Ss)??null;if(!h||!p)return!1;i=p;let d=NA(e,p,t);return o(h,p,Yd(e,p,d)),l=r(()=>{let u=NA(e,p,t);OK(d,u)||(d=u,o(h,p,Yd(e,p,u)))}),!0};return c()||(n=s(()=>{(i||c())&&(n?.(),n=null)})),()=>{n?.(),n=null,l?.(),l=null,i&&Yd(e,i,[])}}function OK(e,t){return e.length===t.length&&e.every((a,s)=>a.element===t[s].element&&a.partId===t[s].partId)}function VA(e,t){return e?.closest(`[${R6}]`)?.getAttribute(R6)??v5(t,null)}function RA(e,t){return e!==v5(t,null)}function Jd(e){let t=null,a=null;for(let s=e;s&&(t===null||a===null);s=s.parentElement){let o=s.getAttribute("class");t??=ak(o),a??=id(o)}return{faceRole:t??"body",sizeGroup:a}}function al(e){let t=e.style,a={};for(let i of od)a[i]=t[i]??"",t[i]="";let s=getComputedStyle(e),o=getComputedStyle(e.ownerDocument.documentElement),r=pk({fontSize:s.fontSize,fontWeight:s.fontWeight,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,textAlign:s.textAlign,textTransform:s.textTransform,paddingTop:s.paddingTop,maxWidth:s.maxWidth},mk(s.fontFamily,i=>o.getPropertyValue(i)));for(let i of od)t[i]=a[i];return r}function _A({needles:e,styles:t,type:a,children:s}){let o=ZK(null),{selectedPartId:r,select:i}=Ai(),{setPartStyle:n}=Ti(),l=q4()==="mobile",c=JSON.stringify(e),h=JSON.stringify(t);return DK(()=>{let p=o.current;if(!p)return;let d=[],u=()=>p.parentElement,v=z=>{let k=u();if(!k)return null;let L=new MutationObserver(z);return L.observe(k,{attributes:!0,attributeFilter:[Ss]}),()=>L.disconnect()},g=z=>{let k=new MutationObserver(z);return k.observe(p,{childList:!0,subtree:!0,characterData:!0}),()=>k.disconnect()},f=[];d.push(()=>{for(let z of f)z();f=[]});let b=JSON.parse(c),x=JSON.parse(h),w=IA(p,b,u,v,(z,k,L)=>{for(let H of f)H();f=[];let V=[];for(let H of L){let O=H,q=ge(O);q&&f.push(q),O.getAttribute(R6)===r?(O.setAttribute(j8,""),V.push(O)):O.removeAttribute(j8)}let P=dk(k,r,V,H=>sk(H)!==null||id(H)!==null);if(P&&r){let H=P;n({partId:r,...Jd(H),base:al(H),inks:ik(H),...(()=>{let O=ed(H);return O?{styleOwner:O}:{}})()})}sd(L.filter(H=>!ed(H)).map(H=>({element:H,partId:H.getAttribute(R6)??""})),x,H=>al(H),H=>Ok(a,H),void 0,l);let E=[...p.querySelectorAll(`[${Ei}="${CSS.escape(k)}"][${ps}]`)];E.length&&sd(E.map(H=>({element:H,partId:v5(k,H.getAttribute(ps)??"")})),x,void 0,H=>H,void 0,l);let I=H=>{let O=VA(H.target,k);RA(O,k)&&(H.stopPropagation(),H.preventDefault()),i(O)},F=z;F.addEventListener("click",I,{capture:!0}),f.push(()=>F.removeEventListener("click",I,{capture:!0}))},g);return()=>{w();for(let z of d)z()}},[c,h,r,i,n,l]),BK("div",{ref:o,style:{display:"contents"},children:s})}var BA={name:"clickableParts",applies:(e,t,a)=>typeof a?.render=="function",draw(e,t){let a=e,s=a.render;a.render=o=>{let r=ve(o);return o.puck?.isEditing?OA(_A,{needles:td(a.fields,o),styles:r,type:t,children:s(o)}):Object.keys(r).length?OA(Bk,{needles:td(a.fields,o),styles:r,type:t,children:s(o)}):s(o)}}};import{jsx as DA}from"react/jsx-runtime";var ZA={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=Vi(a.sectionCorners,a.sectionCornerSides),o=t(a),r=G0(a)?`sf-section-corners ${Gk}`:"sf-section-corners";return s?DA("div",{className:r,style:{display:"contents",...s},children:o}):o}}},Qd=["CollectionCard"],GA={name:"cardCorners",applies:(e,t,a)=>Qd.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=Wk(a.cardCorners,a.cardCornerSides),o=t(a);return s?DA("div",{className:"sf-card-corners",style:{display:"contents",...s},children:o}):o}}};var WA={name:"emptyHeadings",applies:()=>!0,panel(e,t,a){let s=a.dropEmptyHeadings,o=e.resolveFields;e.resolveFields=o?(r,i)=>{let n=o(r,i);return n instanceof Promise?n.then(l=>s(l??i.fields)):s(n??i.fields)}:(r,i)=>s(i.fields)}};var UA={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 qA,Fragment as GK,jsxs as WK}from"react/jsx-runtime";function UK({anchor:e}){let t=md(typeof e=="string"?e:"");return t?qA("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var jA={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=>WK(GK,{children:[qA(UK,{anchor:a.anchor}),t(a)]})}};import{jsx as KK}from"react/jsx-runtime";import{jsx as qK}from"react/jsx-runtime";import{useEffect as jK,useRef as KA}from"react";function $A({motion:e,editing:t,children:a}){let s=KA(null),o=KA(e);return jK(()=>{let r=s.current;if(r){if(t){if(o.current===e)return;o.current=e,cC(r);return}return lC(r)}},[e,t]),qK("div",{ref:s,[nC]:e,children:a})}var YA={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!hC.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 o=iC(s.sectionAnimation);return o?KK($A,{motion:o,editing:!!s.puck?.isEditing,children:a(s)}):a(s)}}};import{jsx as $K}from"react/jsx-runtime";var QA={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!mC.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.heightFields;e.fields={...e.fields,...s()};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=r?.props??{},c=pC(l),h=dC(l)?uC(l):null;return n&&typeof n.then=="function"?n.then(p=>JA(XA(p,c),h)):JA(XA(n,c),h)}},draw(e){let t=e.render;e.render=a=>{let s=gC(a);return s?$K("div",{className:s.className,style:s.style,children:t(a)}):t(a)}}};function XA(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 JA(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 YK}from"react/jsx-runtime";var eL=aL("sectionSticky",(e,t,a)=>t.isSection(e)&&!vC.has(e)&&!!a&&typeof a.render=="function"),tL=aL("cardSticky",(e,t,a)=>Qd.includes(e)&&!!a&&typeof a.render=="function");function aL(e,t){return{name:e,applies:t,panel(a,s,o){a.fields={...a.fields,...o.stickFields()};let r=a.resolveFields;a.resolveFields=(i,n)=>{let l=r?r(i,n):n.fields,c=i?.props??{},h=p=>XK(p,c);return l&&typeof l.then=="function"?l.then(h):h(l)}},draw(a){let s=a.render;a.render=o=>{let r=xC(o);return r?YK("div",{className:r.className,style:r.style,children:s(o)}):s(o)}}}}function XK(e,t){if(!e||!("stickTop"in e))return e;let a=bC(t),s={...e};return a.desktop||delete s.stickTopDistance,(!fC(t)||!a.phone)&&delete s.stickTopDistancePhone,s}import{jsx as a$}from"react/jsx-runtime";import{jsx as QK}from"react/jsx-runtime";var sl="sf-card",G2={min:0,max:90,step:5,fallback:0,unit:"%"},G7=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],JK="68%",r4={desktop:20,phone:20,side:40,sidePhone:24},sL="sf-box-sides";function mt(e){return typeof e=="string"&&e.trim()!==""}function ol(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(G2.max,Math.max(G2.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) ${JK})`}}function rl(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,o]=a[e]??a.center,[r,i]=t==="column"?[o,s]:[s,o],n={start:"justify-start",center:"justify-center",end:"justify-end"},l={start:"items-start",center:"items-center",end:"items-end"};return`${n[r]} ${l[i]}`}var il={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}},oL=new Set(Object.keys(il)),nl=new Set(["Flex","Text","Heading"]),e$=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),rL=new Set(["ProductGrid"]);function eu(e,t,a=!1){let s=e.render;e.render=o=>{if(t?.(o))return s(o);let r=a?$8(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone,o.sectionPaddingLeft,o.sectionPaddingRight,o.sectionPaddingLeftPhone,o.sectionPaddingRightPhone):$8(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone),i=s(o);return r?QK("div",{className:r.className,style:r.style,children:i}):i}}var iL={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!e$.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){oL.has(t)||rL.has(t)||(e.fields={...e.fields,...a.sidesPaddingFields()})},draw(e,t){if(oL.has(t)){let a=e.render,s=il[t];e.render=o=>{let r=yC(o,s);return a({...o,padTop:r.top,padBottom:r.bottom})};return}if(rL.has(t)){eu(e);return}nl.has(t)||eu(e,t==="Flex"?a=>mt(a.bgImage):void 0,!0)}},t$=["Heading","Text"],nL={name:"blockPadding",applies:(e,t,a)=>t$.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.sidesPaddingFields()}},draw(e,t){nl.has(t)||eu(e,void 0,!0)}};var lL={name:"sectionBorder",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",draw(e,t){if(nl.has(t))return;let a=e.render;e.render=s=>{let o=Gi(s.sectionBorder,s.sectionBorderPhone),r=a(s);return o?a$("div",{className:Zi,style:{display:"contents",...o},children:r}):r}}};import{jsx as s$}from"react/jsx-runtime";var cL={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!oC.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:s,SECTION_THEME_FOLLOW_LABEL:o}=a,r=ud.has(t);e.fields={...e.fields,...r?s($5,o):s()}},draw(e,t){let a=ud.has(t),s=e.render;e.render=o=>{let r=ye(a?{...o,sectionAccent:$5(o.sectionAccent)}:o),i=s(o);return r?s$("div",{className:r.className,style:r.style,children:i}):i}}},hL={name:"slideTheme",applies:e=>e==="HeroSlide",panel(e,t,a){let{sectionThemeFields:s,BLOCK_THEME_FOLLOW_LABEL:o}=a;e?.fields&&(e.fields={...e.fields,...s($5,o)})}};import{jsx as ll}from"react/jsx-runtime";import{WidthIcon as i$}from"efficient-easel/icons";var r9={min:40,max:2e3,step:10,fallback:2e3,unit:"px"};function pL(e){return typeof e!="number"?null:{width:`${e}${r9.unit}`,maxWidth:"100%"}}var o$=new Set(["Flex","Grid"]);function tu(e,t){return e&&!t}var r$=e=>Array.isArray(e)&&e.length>0&&typeof e[0]=="object"&&e[0]!==null&&"type"in e[0];function mL(e,t){if(!Array.isArray(e)||typeof t!="string")return;let a=(s,o)=>{for(let r of s){let i=r?.props??{};if(i.id===t)return o;let n=String(r?.type??""),l=o$.has(n)&&tu(Q2(i,"page").mode!=="full",o);for(let c of Object.values(i)){if(!r$(c))continue;let h=a(c,o||l);if(h!==void 0)return h}}};return a(e,!1)}var n$=new Set(["SectionHeader","ProductGrid","IntroBleed","RelatedProducts","Banner","Stats","Logos","Divider","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA","Ticker","CategoryBar","DocTabs","CustomHTML","Spacer","Flex","Grid"]),l$=new Set(["Hero","HeroSingle","Manifesto","ProductHero"]),c$=new Set(["ProductHero"]),dL={name:"sectionWidth",applies:(e,t,a)=>t.isSection(e)&&!n$.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.widthField;e.fields={...e.fields,...s("full")};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=Q2(r?.props??{},"full");return n&&typeof n.then=="function"?n.then(c=>W7(c,l)):W7(n,l)}},draw(e,t){let a=l$.has(t),s=e.render;e.render=o=>{let{mode:r,inherited:i}=Q2(o,"full"),n=s(o);if(r==="full")return a&&!i&&!c$.has(t)?ll("div",{style:{[Xk]:"none",[Jk]:"initial",[Qk]:"initial"},children:n}):n;let l=L7(ds);return a?ll("div",{style:{"--sf-page-cap":ds},children:n}):ll("div",{style:l,children:n})}}};function W7(e,t){if(!e||!("widthMode"in e))return e;let a={...e},s=a.widthMode;return s&&(a.widthMode={...s,currentValue:t.mode,inherited:t.inherited}),a}var h$=new Set(["Heading","Text","ImageBlock","ButtonBlock","Banner","Stats","Logos","Divider","Flex","Grid","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA"]),uL={name:"containedWidth",applies:(e,t,a)=>h$.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.widthField;e.fields={...e.fields,...s("page")};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=Q2(r?.props??{},"page"),c=h=>m$(t,d$(W7(h,l),r,i));return n&&typeof n.then=="function"?n.then(c):c(n)}},draw(e){let t=e.render;e.render=a=>{let{mode:s}=Q2(a,"page");return t({...a,contained:s!=="full"})}}},gL={name:"buttonAlignInRow",applies:e=>e==="ButtonBlock",panel(e){let t=e,a=t?.resolveFields;t.resolveFields=(s,o)=>{let r=a?a(s,o):o.fields,i=n=>{let l=tl(o.appState,s.props?.id);if(!l||l.type!=="HeroGroup"||Ui("HeroGroup",l.props?.direction)!=="row")return n;let c={...n};return delete c.align,c};return r&&typeof r.then=="function"?r.then(i):i(r)}}};function p$(e){return Object.values(e).some(t=>!!t&&typeof t=="object"&&t.type==="slot")}function m$(e,t){if(e!=="ButtonBlock")return t;let a={...t};return delete a._gWidth,delete a.widthMode,delete a.pageWidth,a}function d$(e,t,a){if(p$(e)){let o=a.appState?.data?.content;if(mL(o,t.props?.id)!==!0)return e;let r={...e};return delete r.widthMode,delete r.pageWidth,r}if("parent"in a){if(!Qz(a.parent))return e}else if(!EA({props:t.props??{}},a))return e;let s={...e};return delete s.widthMode,delete s.pageWidth,s}var vL={name:"imageWidth",applies:e=>e==="ImageBlock",panel(e,t,a){let s=a.slider;if(e?.fields){let o=s("Image width",ll(i$,{}),r9.min,r9.max,r9.step,r9.fallback,r9.unit),r="focal",i=Object.entries(e.fields),n=i.findIndex(([l])=>l===r);e.fields=Object.fromEntries(n===-1?[...i,["width",o]]:[...i.slice(0,n+1),["width",o],...i.slice(n+1)])}}};var u$=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","Countdown"]),fL={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(u$.has(e)||t.isHostBlock(e)),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}},g$=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"]),bL={name:"blockGroups",applies:e=>g$.has(e),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}};var v$=["Form","Stats"];function Ms(e,t){let a=new Set(e),s=gz.filter(l=>a.has(l)),o=s.filter(l=>l!=="Header"&&l!=="Footer"&&!Ci.includes(l)),r=new Set([...t,...vi,...v$]),i=s.filter(l=>!r.has(l)),n=new Set(s);return{isSection:l=>n.has(l),isHostBlock:()=>!1,sectionGroupAllow:o,contentSectionKeys:i}}var f$=[HA,FA,iL,ZA,lL,GA,nL,PA,dL,uL,gL,vL,QA,jA,cL,YA,eL,tL,hL,fL,bL,WA,BA,UA,TA];function cl(e,t,a){let s=t;for(let o of f$)o.applies(e,a,s)&&(a.inspector&&o.panel?.(s,e,a.inspector,a),o.draw?.(s,e,a));return t}function b$(e,t){let a=fd(t),s=a?a.inner:t;if(Qm(s))return!1;if(s?.type==="slot")return!0;let o=NC(s);return o==="always"?!1:o==="authored-copy"?lk(e):!0}function xL(e){let t=fd(e),a=t?t.inner:e,s=Qm(a);return s?nS(a)?0:s.level:null}function x$(e,t,a){return a?t===0&&e===Ad.Design||t===1&&e===SS.Content:!1}var w$=new WeakMap,y$=new WeakMap;function hl(e,t="section"){let a=t==="page"?y$:w$,s=a.get(e);if(s)return s;let o=Object.entries(e).map(([p,d])=>({key:p,field:d,level:xL(d),draws:b$(p,d)||t==="page"&&xL(d)===null&&ad(p,d)})),r=t==="section"&&o.some(p=>ad(p.key,p.field)),i=new Set;for(let p=0;p<o.length;p++){let d=o[p].level;if(d===null)continue;let u=0;for(let v=p+1;v<o.length;v++){let g=o[v].level;if(g!==null&&g<=d)break;o[v].draws&&(u+=1)}u===0&&!x$(o[p].key,d,r)&&i.add(o[p].key)}let n=r&&ES(e),l=n&&!(Ad.Design in e);if(!i.size&&!l)return a.set(e,e),e;let c={};for(let p of o)i.has(p.key)||(c[p.key]=p.field);let h=je(n?TS(c):c);return a.set(e,h),h}var pl={spacingFields:_e,sidesPaddingFields:X8,sectionShapeFields:cn,cardShapeFields:hS,cellWidthFields:gS,widthField:Q5,heightFields:vS,anchorFields:bS,stickFields:fS,sectionThemeFields:Re,sectionAnimationFields:cS,slider:l1,assignSectionGroups:xn,dropEmptyHeadings:hl,SECTION_THEME_FOLLOW_LABEL:$i,BLOCK_THEME_FOLLOW_LABEL:LC};function ml(e,t,a){if(!e)return e;let s=!1,o={};for(let[r,i]of Object.entries(e)){let n=i;if(i&&typeof i=="object")if(i.type==="slot")if(i.allow){let l=i.allow.filter(t);l.length!==i.allow.length&&(n={...i,allow:l})}else{let l=new Set(i.disallow??[]),c=a.filter(h=>!l.has(h));c.length>0&&(n={...i,disallow:[...i.disallow??[],...c]})}else{let l=ml(i.arrayFields,t,a),c=ml(i.objectFields,t,a);(l!==i.arrayFields||c!==i.objectFields)&&(n={...i,...l?{arrayFields:l}:null,...c?{objectFields:c}:null})}n!==i&&(s=!0),o[r]=n}return s?o:e}function z$(e,t,a){let s={};for(let[n,l]of Object.entries(t.fields??{}))s[n]=l&&typeof l=="object"&&l.type==="slot"?{...l}:l;let o={...t,...t.fields?{fields:s}:null},r=cl(e,o,a),i=Object.keys(s).filter(n=>r.fields?.[n]!==s[n]);if(i.length>0)throw new Error(`efficient-web-builder: blocks.host["${e}"] declares ${i.map(n=>`"${n}"`).join(", ")}, ${i.length===1?"a name":"names"} the editor gives every section a setting under. Give the block's own field another name.`);return r}function dl(e,t){let a=Object.entries(t?.host??{}),s=t?.categories??[],o=Dz(t);if(!o&&a.length===0&&s.length===0)return e;let r=e.components,i=a.map(([p])=>p).filter(p=>p in r);if(i.length>0)throw new Error(`efficient-web-builder: blocks.host registers ${i.map(p=>`"${p}"`).join(", ")}, which ${i.length===1?"is already a block":"are already blocks"} of the editor. Give a host's block a type of its own.`);let n=p=>o?o.offers(p):!0,l=Object.keys(r).filter(p=>!n(p)),c={};for(let[p,d]of Object.entries(r)){let u=o?ml(d?.fields,n,l):d?.fields;c[p]=u===d?.fields?d:{...d,fields:u}}if(a.length>0){let p=new Set(a.map(([g])=>g)),d=e.categories?.structure?.components??[],u=Ms(Object.keys(r),d),v={...u,isSection:g=>p.has(g)||u.isSection(g),isHostBlock:g=>p.has(g),inspector:pl};for(let[g,f]of a){let b=z$(g,f,v),x=ml(b.fields,n,l);c[g]=x===b.fields?b:{...b,fields:x}}}let h=[];for(let[p,d]of Object.entries(e.categories??{})){let u=d?.components??[],v=u.filter(n);v.length===u.length?h.push([p,d]):v.length>0&&h.push([p,{...d,components:v}])}for(let p of s){let d=p.components.filter(f=>f in c&&n(f));if(d.length===0)continue;let u=h.find(([f])=>f===p.key);if(u){let[,f]=u,b=new Set(f.components??[]);u[1]={...f,components:[...f.components??[],...d.filter(x=>!b.has(x))]};continue}let v=[p.key,{title:p.title,components:d}],g=p.before?h.findIndex(([f])=>f===p.before):-1;g===-1?h.push(v):h.splice(g,0,v)}return{...e,components:c,categories:Object.fromEntries(h)}}import{ChromeWrap as ul}from"efficient-easel/screen/lib/host-chrome";function k$(e){return!!e&&typeof e=="object"&&typeof e[JC]=="string"}function C$(e,t){if(!e)return e;let a=null;for(let[s,o]of Object.entries(e))k$(o)&&(a??={...e},a[s]={...o,siteGap:t});return a??e}function wL(e,t){let a=e,s=!1,o={};for(let[r,i]of Object.entries(a.components)){let n=C$(i.fields,t);if(n===i.fields){o[r]=i;continue}s=!0,o[r]={...i,fields:n}}return s?{...e,components:o}:e}var yL=wn.mediaFields,zL=wn.snapshotObjects,kL=wn.hydratedLists;function S$(e){return typeof e=="string"?"":Array.isArray(e)?[]:e&&typeof e=="object"?null:e}function au(e,t){if(t.length===0)return S$(e);let[a,...s]=t,o=a.endsWith("[]"),r=o?a.slice(0,-2):a;if(!e||typeof e!="object"||Array.isArray(e))return e;let i=e;if(!(r in i))return e;let n=i[r];return o?Array.isArray(n)?{...i,[r]:n.map(l=>au(l,s.length?s:[]))}:e:{...i,[r]:au(n,s)}}function CL(e,t){if(Array.isArray(e))return e.map(o=>CL(o,t));if(!e||typeof e!="object")return e;let a=e,s={};for(let o of t)o in a&&(s[o]=a[o]);return s}function M$(e,t){let a=t;for(let o of yL[e]??[])a=au(a,o.split("."));let s=zL[e];if(s)for(let[o,r]of Object.entries(s))o in a&&(a={...a,[o]:CL(a[o],r.keep)});for(let o of kL[e]??[])Array.isArray(a[o])&&(a={...a,[o]:[]});return a}function A$(e,t){return typeof t!="function"?t:a=>t(M$(e,a))}function gl(e,t){if(!t)return e;let a=e,s={};for(let[o,r]of Object.entries(a.components)){let i=(yL[o]?.length??0)>0||zL[o]||kL[o];s[o]=i&&r.render?{...r,render:A$(o,r.render)}:r}return{...a,components:s}}var dt="product",vl="recordType",L$={key:dt,label:"Product",fields:[]};var T$=new Map,E$=0;function su(){return[L$,...T$.values()]}function ou(){return E$}function fl(e){let t=e?.[vl];return typeof t!="string"?dt:t.trim()||dt}function ru(e){return fl(e)===dt}var iu="product",H$="tyre";var nu="productType",F$={[iu]:"alloy-wheel",[H$]:"tyre"},P$=["alloy-wheel","tyre"];function bl(e,t){return ru(t)?N$(t)??F$[e]??null:null}function N$(e){if(!ru(e))return null;let t=e?.[nu];return typeof t=="string"&&P$.includes(t)?t:null}var xl=null,SL=null;function wl(e,t){xl=e,SL=t}function lu(e){wl(e,null)}function ML(){return xl}function F2(){return SL==="dynamic"||xl===iu}function AL(e){return bl(xl??"",e)??"alloy-wheel"}import{default as LL,DocumentScreen as TL}from"efficient-easel/screen/components/ScreenMount";import{jsx as I$}from"react/jsx-runtime";import{createContext as V$,useCallback as R$,useContext as eg1,useState as cu}from"react";var _$=V$({footerBlock:null,setFooterBlock:()=>{},headerGroup:null,setHeaderGroup:()=>{},refreshToken:0,refreshFooter:()=>{}});function EL({children:e,editFooter:t}){let[a,s]=cu(null),[o,r]=cu(null),[i,n]=cu(0),l=R$(()=>n(c=>c+1),[]);return I$(_$.Provider,{value:{footerBlock:a,setFooterBlock:s,headerGroup:o,setHeaderGroup:r,editFooter:t,refreshToken:i,refreshFooter:l},children:e})}import{useCallback as O$,useEffect as B$,useMemo as HL,useRef as FL,useState as D$}from"react";var Z$="Could not save this link. Check your connection and try again.";function G$(e,t){if(!(e instanceof Y5)||e.kind!=="invalid")return null;let a=e.fields?.[t];return typeof a=="string"&&a.trim()?a:null}function W$(e){return Object.fromEntries(J8.map(t=>[t,{value:e[t]??"",error:null}]))}function PL({token:e,siteId:t,enabled:a}){let[s,o]=D$(Ld),r=FL(null),i=FL(!1),n=Ce(),l=g5(n).social,c=a&&!!e&&!!t&&!!l;B$(()=>{if(!c||!e||!t||!l)return;r.current!==t&&(r.current=t,i.current=!1,o(Ld));let d=!1;return l.get({siteId:t}).then(u=>{!d&&!i.current&&o(W$(u))}).catch(()=>{}),()=>{d=!0}},[c,e,t,l]);let h=O$(async(d,u)=>{if(!c||!e||!t||!l)return{ok:!1,error:"There is no website to save to."};try{let v=await l.update({[d]:u.trim()},{siteId:t});return i.current=!0,o(g=>({...g,[d]:{value:v[d]??"",error:null}})),{ok:!0}}catch(v){let g=G$(v,d)??Z$;return o(f=>({...f,[d]:{...f[d],error:g}})),{ok:!1,error:g}}},[c,e,t,l]),p=HL(()=>yn(Object.fromEntries(J8.map(d=>[d,s[d].value]))),[s]);return HL(()=>({links:p,rows:s,canSave:c,saveLink:h}),[p,s,c,h])}function pu(e,t){let a=t?{siteId:t}:void 0;return{resolve:s=>e.load({slug:s,...a}).then(o=>(o&&Td(o.id,o.live),o)),saveLayout:(s,o,r,i)=>e.save(s,{layout:o},{version:r,clientId:i??""}).then(n=>(Ed(s,n.live),n)),rereadVersion:e.version?s=>e.version(s):void 0,publish:e.publish?(s,o)=>e.publish(s,o?{version:o}:void 0).then(r=>(Hd(s,r.live),r)):void 0,listPages:()=>e.list(a),createPage:e.create?s=>e.create({...s,...a}):void 0,deletePage:e.remove?(s,o)=>e.remove(s,o):void 0}}function U$(e,t,a,s){let o=null,r=new Set,i=!1,n={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1},l=new Set,c=()=>{if(!o)return!1;let v=BS(o.id);return v==="changed"||v==="never"||v===void 0&&i},h=v=>{n={...n,...v,docId:o?.id??null,unpublished:c()};for(let g of l)g()},p=v=>v&&typeof v=="object"&&!Array.isArray(v)?v:{},d=v=>!!o&&r.has(v),u={state:()=>n,subscribe:v=>(l.add(v),()=>{l.delete(v)})};return{resolve:async v=>{if(Pd(v===j4?null:u),v===j4)return a.resolve(v);let g=!1,[f,b]=await Promise.all([a.resolve(v),e.load({slug:j4,...t}).catch(()=>(g=!0,null))]);if(b){Td(b.id,b.live);let w=p(b.layout);o={id:b.id,layout:w,version:b.version,savedJson:""}}else o=null;if(i=!1,!f||!o)return h({conflict:null,saveFailed:!1,loadFailed:g}),f;let x=DS(p(f.layout),o.layout);return o.savedJson=JSON.stringify(Fd(x,o.layout).chrome),r.add(f.id),h({conflict:null,saveFailed:!1,loadFailed:!1}),{...f,layout:x}},saveLayout:async(v,g,f,b)=>{if(!o||!d(v))return a.saveLayout(v,g,f,b);let x=o,w=Fd(g,x.layout),z=await a.saveLayout(v,w.page,f,b),k=JSON.stringify(w.chrome);if(!w.chrome||k===x.savedJson||n.lockHolder)return z;try{let L=await e.save(x.id,{layout:w.chrome},{version:x.version,clientId:b??""});Ed(x.id,L.live),x.layout=w.chrome,x.version=L.version,x.savedJson=k,i=!0,h({conflict:null,saveFailed:!1})}catch(L){Ki(L,"changed-elsewhere")?h({conflict:L.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):Ki(L,"lock-taken")?h({lockHolder:L.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):h({saveFailed:!0})}return z},publish:a.publish?async(v,g)=>{let f=await a.publish(v,g),b=o;if(b&&d(v)&&e.publish&&c()&&!n.lockHolder){let x=await e.publish(b.id,b.version?{version:b.version}:void 0);Hd(b.id,x.live),x.version!==null&&(b.version=x.version),i=!1,h({})}return f}:void 0,lock:s?{claim:async(v,g,f)=>{let b=await s.claim(v,g,f),x=o;if(x&&d(v))try{await s.claim(x.id,g,!1),n.lockHolder&&h({lockHolder:null})}catch(w){Ki(w,"lock-taken")&&h({lockHolder:w.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}return b},release:async(v,g)=>{await s.release(v,g);let f=o;f&&d(v)&&!n.lockHolder&&await s.release(f.id,g).catch(()=>{})}}:void 0,pinnedChrome:u}}function As(e,t=g5(),a=Km(),s={}){let o=qm(t),r=e?{siteId:e}:void 0,i=o?!!e:!0,n=t.site.update,l=o&&a.commerce&&a.service,c=!!s.editsPinnedInPlace&&l,h=pu(t.pages,e),p=c?U$(t.pages,r,h,t.lock):null;return{capabilities:{canPublish:!!t.pages.publish,hasSiteSettings:o,hasSiteTheme:!!t.theme,placeholderFrames:!1,mediaEditing:!0,pageCreationInAdminForm:!t.pages.create,canDeletePagesInline:!!t.pages.remove,hasEditLock:!!t.lock,hasEditGuard:!0,hasPinnedChrome:l,editsPinnedInPlace:c,explainsSiteSettings:!1,hasSiteRecord:i,canEditSiteRecord:i&&!!n,hasPreviewLink:o||!!t.preview,hasCatalog:o&&a.commerce,hasForms:o&&a.service,hasBlog:!!t.blog&&a.service,offersCommerce:a.commerce,offersService:a.service},...h,...IL(h.resolve),lock:t.lock,...p,site:i?()=>t.site.get(r):void 0,updateSite:i&&n?d=>n(d,r):void 0,previewHref:t.preview?d=>t.preview.href(d):void 0}}function NL(e,t=g5(),a=Km()){let s=qm(t),o=t.templates,r=o?o.pages(e):{list:()=>Promise.reject(new Error(hu)),load:()=>Promise.reject(new Error(hu)),save:()=>Promise.reject(new Error(hu))};return{capabilities:{canPublish:!1,hasSiteSettings:!1,hasSiteTheme:!1,placeholderFrames:!0,mediaEditing:!1,pageCreationInAdminForm:!r.create,canDeletePagesInline:!!r.remove,hasEditLock:!1,hasEditGuard:!1,hasPinnedChrome:s&&a.commerce&&a.service,editsPinnedInPlace:!1,explainsSiteSettings:s,hasSiteRecord:!1,canEditSiteRecord:!1,hasPreviewLink:!1,hasCatalog:s&&a.commerce,hasForms:s&&a.service,hasBlog:!!t.blog&&a.service,offersCommerce:a.commerce,offersService:a.service},...pu(r,void 0),...IL(pu(r,void 0).resolve),publish:void 0,templateName:o?()=>o.get(e).then(i=>i.name):void 0}}function IL(e){return{resolve:t=>(Pd(null),e(t))}}var hu="This editor's backend has no website templates.";var q$={"Logos.logosPerRow":"columns","HeroSlide.tintOpacity":"overlay","Split.textBgTint":"overlay"};function j$(e){return Array.isArray(e)&&e.length>0&&e.every(t=>!!t&&typeof t=="object"&&typeof t.type=="string")}function mu(e){let t=e.props,a=!1;if(e.type&&t)for(let[s,o]of Object.entries(q$)){let r=s.indexOf("."),i=s.slice(0,r),n=s.slice(r+1);if(i!==e.type||!(n in t))continue;let l=t[n],c={...t};delete c[n],(!(o in c)||c[o]===void 0)&&(c[o]=l),t=c,a=!0}if(t){let s=t;for(let[o,r]of Object.entries(t)){if(!j$(r))continue;let i=r.map(mu);i.some((n,l)=>n!==r[l])&&(s===t&&(s={...t}),s[o]=i,a=!0)}t=s}return a?{...e,props:t}:e}function yl(e){let t=e;if(!t||typeof t!="object")return e;let a=!1,s={...e};if(Array.isArray(t.content)){let o=t.content.map(mu);o.some((r,i)=>r!==t.content[i])&&(s.content=o,a=!0)}if(t.zones&&typeof t.zones=="object"){let o=!1,r=Object.fromEntries(Object.entries(t.zones).map(([i,n])=>{if(!Array.isArray(n))return[i,n];let l=n.map(mu);return l.some((c,h)=>c!==n[h])&&(o=!0),[i,l]}));o&&(s.zones=r,a=!0)}return a?s:e}var VL={homeSlug:we,entryMayBounce:e=>e.kind==="template"||e.kind==="page"&&e.slug===j4,entryBounce:(e,t)=>e.kind==="page"&&e.slug===j4?{kind:"page",slug:we,siteId:e.siteId}:e.kind!=="template"||new URLSearchParams(t).get("editTemplate")==="1"?null:{kind:"page",slug:we},onSwitch:()=>{},tellsHost:e=>e.kind==="page"&&e.slug!==j4,adapterFor:(e,t,a)=>e.kind==="template"?NL(e.id,t,jm(a)):As(e.siteId,t,jm(a),{editsPinnedInPlace:!0}),migrateRenamedProps:yl};var du=new Set,uu=new Set,gu=new Set;function RL(e){return du.add(e),()=>du.delete(e)}function _L(){du.forEach(e=>e())}function U7(e){return uu.add(e),()=>uu.delete(e)}function OL(){uu.forEach(e=>e())}function zl(e){return gu.add(e),()=>gu.delete(e)}function vu(){gu.forEach(e=>e())}var fu=new Map,K$=9e5,BL=0;function $$(){return BL+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(BL)}`}function DL(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function ZL(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let a=$$();return new Promise(s=>{let o=setTimeout(()=>GL(a,{status:"timeout"}),t.timeoutMs??K$);fu.set(a,r=>{clearTimeout(o),s(r)}),e.send("storefront-editor:open-form",{requestId:a,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function GL(e,t){let a=fu.get(e);a&&(fu.delete(e),a(t))}function bu(e,t){GL(e,t?{status:"saved",form:t}:{status:"closed"})}function kl(e){switch(e?.type){case"storefront-editor:category-updated":return _L(),!0;case"storefront-editor:menus-updated":return OL(),!0;case"storefront-editor:form-saved":{let t=e;return vu(),t.requestId&&bu(t.requestId,t.form??null),!0}case"storefront-editor:form-closed":{let t=e;return vu(),t.requestId&&bu(t.requestId,null),!0}default:return!1}}var X$=()=>{if(typeof window>"u")return K5;try{let e=window.localStorage.getItem(ms);return e==="light"||e==="dark"||e==="auto"?e:K5}catch{return K5}},WL=e=>{if(!(typeof window>"u"))try{window.localStorage.setItem(ms,e)}catch{}},J$=()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Hi)!==rd}catch{return!1}},Q$=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(uk)}catch{}},UL=e=>{if(!(typeof window>"u"))try{e?window.localStorage.removeItem(Hi):window.localStorage.setItem(Hi,rd)}catch{}};function eY(){let{adapter:e,capabilities:t,templateId:a,ready:s,token:o,siteId:r,currentSlug:i,currentKind:n}=ke();q7(()=>(wl(i,n),()=>wl(null,null)),[i,n]);let l=t.placeholderFrames,[c,h]=f2(null),[p,d]=f2("");q7(()=>{let x1=e.templateName;if(!s||!a||!x1){d("");return}let _0=!1;return x1().then(g3=>!_0&&d(g3??"")).catch(()=>{}),()=>{_0=!0}},[s,o,a,e]);let[u,v]=f2(K5),[g,f]=f2(!1),[b,x]=f2({selected:0,themes:[]}),[w,z]=f2(ok),[k,L]=f2(zk),[V,P]=f2(null),[E,I]=f2(Nk),[F,H]=f2(null),[O,q]=f2(null),[R,j]=f2(ld),[B,t1]=f2(null),[$,W]=f2(null),[i1,_]=f2(null),[D,Y]=f2(null),e1=Ce(),X=xu(()=>dl(gi(e1),fi(e1)),[e1]),m1=xu(()=>wL(gl(X,l),D),[X,l,D]),[c1,t0]=f2(Vk),[a0,E1]=f2(null),[i0,s0]=f2(null),X1=j7(null),K1=j7(!1);q7(()=>{v(X$()),f(J$())},[]);let $1=P2(x1=>{K1.current=!0,Q$(),WL(x1),v(x1)},[]),g2=P2(x1=>{K1.current=!0,UL(x1),f(x1)},[]),R0=P2(x1=>{K1.current=!0,x(x1)},[]),b1=P2(x1=>{K1.current=!0,z(x1)},[]),Y1=P2(x1=>{K1.current=!0,L(x1)},[]),d0=P2(x1=>{K1.current=!0,P(x1)},[]),o0=P2(x1=>{K1.current=!0,I(x1)},[]),T0=P2(x1=>{K1.current=!0,H(x1)},[]),Z0=P2(x1=>{K1.current=!0,q(x1)},[]),s1=P2(x1=>{K1.current=!0,j(x1)},[]),k1=P2(x1=>{K1.current=!0,t1(x1)},[]),l0=P2(x1=>{K1.current=!0,t0(x1)},[]),[s2,K2]=f2(null),B5=P2(x1=>{K1.current=!0,K2(x1)},[]),D5=P2(x1=>{K1.current=!0,W(x1)},[]),Z5=P2(x1=>{K1.current=!0,_(x1)},[]),D4=P2(x1=>{K1.current=!0,Y(x1)},[]),H3=P2(x1=>{K1.current=!0,E1(x1)},[]),G5=P2(x1=>{K1.current=!0,s0(x1)},[]);q7(()=>{let x1=g5(e1).theme;if(!o||!t.hasSiteTheme||!x1)return;let _0=r??"";X1.current!==_0&&(X1.current=_0,K1.current=!1);let g3=!1;return x1.get(r?{siteId:r}:void 0).then(C0=>{if(g3||K1.current)return;WL(C0.default_mode),UL(C0.show_theme_switch),v(C0.default_mode),f(C0.show_theme_switch),x({selected:C0.selected_preset,themes:C0.theme_presets});let G4=US(C0);z(G4.fonts),L(G4.sizes),P(C0.corner_radius_px===void 0?Pi[Fi(C0.corner_style)]:Ni(C0.corner_radius_px)),I(G4.compression),H(C0.card_shadow==null?Ck:Mk(C0.card_shadow)),j(C0.card_gap==null?ld:Ak(C0.card_gap)),t1(C0.hover_effect==null?Sk:Lk(C0.hover_effect)),q(Tk(C0.shadow_color)),W(jk(C0.site_width)),_($k(C0.site_gutter)),Y(QC(C0.block_gap)),t0(G4.typography),K2(G4.textStyles),E1(C0.hero_background_follows_width===!0),s0(C0.photography_grayscale===!0)}).catch(()=>{}),()=>{g3=!0}},[o,r,t.hasSiteTheme,e1]);let I6=PL({token:o,siteId:r,enabled:t.hasSiteSettings}),[$2,V6]=f2(FS),m3=j7(null),d3=j7(!1),O2=j7(null),Y2=j7({}),u5=P2(x1=>{d3.current=!0,V6(_0=>({..._0,...x1})),!(!t.hasSiteSettings||!o)&&(Y2.current={...Y2.current,...x1},O2.current&&clearTimeout(O2.current),O2.current=setTimeout(()=>{let _0=Y2.current;Y2.current={},g5(e1).chat?.update(_0,r?{siteId:r}:void 0).catch(()=>{})},500))},[t.hasSiteSettings,o,r,e1]);q7(()=>{if(!o||!t.hasSiteSettings)return;let x1=r??"";m3.current!==x1&&(m3.current=x1,d3.current=!1);let _0=!1,g3=g5(e1).chat;if(g3)return g3.get(r?{siteId:r}:void 0).then(C0=>{_0||d3.current||V6({enabled:C0.enabled,title:C0.title,subtitle:C0.subtitle,greeting:C0.greeting})}).catch(()=>{}),()=>{_0=!0}},[o,r,t.hasSiteSettings,e1]);let[u3,F3]=f2(""),t4=j7(null),Z4=j7(!1);q7(()=>F3(MA()),[]);let L1=P2(x1=>{let _0=x1.trim();if(_0===u3)return;Z4.current=!0,qd(_0),F3(_0);let g3=e.updateSite;!t.canEditSiteRecord||!s||!g3||g3({mapsApiKey:_0}).catch(()=>{})},[u3,t.canEditSiteRecord,s,e]),[c0,S1]=f2("");q7(()=>S1(AA()),[]),q7(()=>{let x1=e.site;if(!s||!t.hasSiteRecord||!x1){h(null);return}let _0=r??"";t4.current!==_0&&(t4.current=_0,Z4.current=!1);let g3=!1;return x1().then(C0=>{if(g3||(h(HS(C0.name)),Z4.current))return;let G4=C0.mapsApiKey??"";qd(G4),F3(G4);let is=C0.mapsMapId??"";LA(is),S1(is)}).catch(()=>{}),()=>{g3=!0}},[s,o,t.hasSiteRecord,r,e]);let w2=xu(()=>({apiKey:u3,setApiKey:L1,mapId:c0}),[u3,L1,c0]);return T4(TL,{config:m1,parts:JM,wrap:(x1,_0)=>T4(ji,{websiteName:c,templateChrome:l,templateName:p||null,themeMode:u,onThemeModeChange:$1,themeSwitchShown:g,onThemeSwitchShownChange:g2,theme:b,onThemeChange:R0,fonts:w,onFontsChange:b1,cornerRadiusPx:V,onCornerRadiusPxChange:d0,cardShadow:F,onCardShadowChange:T0,shadowColor:O,onShadowColorChange:Z0,cardGap:R,onCardGapChange:s1,hoverEffect:B,onHoverEffectChange:k1,headingCompression:E,onHeadingCompressionChange:o0,headingTypography:c1,onHeadingTypographyChange:l0,textStyles:s2,onTextStylesChange:B5,sizes:k,onSizesChange:Y1,siteWidth:$,onSiteWidthChange:D5,siteGutter:i1,onSiteGutterChange:Z5,blockGap:D,onBlockGapChange:D4,heroBackgroundFollowsWidth:a0,onHeroBackgroundFollowsWidthChange:H3,photographyGrayscale:i0,onPhotographyGrayscaleChange:G5,themeFromDocument:!t.hasSiteTheme,children:T4(EL,{children:T4(ul,{wrap:e1.chrome?.wrap,surface:"page",children:T4(Cn,{children:T4(Mi,{children:T4(Sn,{children:T4(Li,{children:Y$(Yn,{value:w2,children:[T4(PS,{chat:$2,onChatChange:u5,children:T4(RS,{value:I6,children:T4(_S,{children:x1})})}),_0]})})})})})})})})})}function qL({target:e}){return T4(LL,{target:e,addressing:VL,onHostMessage:kl,children:T4(eY,{})})}import{createContext as aY,useContext as sY,useMemo as oY}from"react";var tY=["vehicle","process","size","lugs","finish","price"],Cl={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};function jL(e){if(!e)return Cl;let t={...Cl};for(let a of tY){let s=e[a];if(typeof s!="string")continue;let o=s.trim();o&&(t[a]=o)}return t}import{jsx as rY}from"react/jsx-runtime";var KL=aY(Cl);function $L({labels:e,children:t}){let a=oY(()=>jL(e),[e]);return rY(KL.Provider,{value:a,children:t})}function Ts(){return sY(KL)}import{createContext as EY,useContext as HY,useMemo as FY}from"react";import{isSafeLinkHref as Jv1}from"efficient-shell/markup";var U6=["width","profile","rim"],YL={width:"Width",profile:"Profile",rim:"Rim"},iY=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,nY={width:[100,500],profile:[20,100],rim:[10,30]};function E4(e){let t=iY.exec(e??"");if(!t)return null;let a={width:Number(t[1]),profile:Number(t[2]),rim:Number(t[3])};return U6.every(o=>{let[r,i]=nY[o];return a[o]>=r&&a[o]<=i})?a:null}function b5(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 XL(e){return[b5({width:e.width}),b5({width:e.width,profile:e.profile}),b5(e)]}var i4=["alloy-wheel","tyre"],Sl=["alloy-wheel"],H4={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},JL="All products",QL="All product types";function a6(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 ut=i4.map(e=>({value:e,label:H4[e]}));function s6(e){return e==null?[...Sl]:Array.isArray(e)?i4.filter(t=>e.includes(t)):[...Sl]}var K3=e=>e;function K0(e){return K3(e).kind==="tyre"?"tyre":"alloy-wheel"}function eT(e,t){return e.filter(a=>t.includes(K0(a)))}function K7(e){return K3(e).slug??""}function wu(e){return K3(e).name??""}function gt(e){return K3(e).brand??""}function tT(e){let t=new Set;for(let a of e)if(t.add(gt(a)),t.size>1)return!0;return!1}function lY(e){return K3(e).process??""}function aT(e){let t=new Set;for(let a of e)if(t.add(lY(a)),t.size>1)return!0;return!1}function i9(e){return K3(e).prices??void 0}function yu(e){return K3(e).inStock!==!1}function sT(e){let t=K3(e),a=K0(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(a)?a.filter(s=>typeof s=="number"&&Number.isFinite(s)):[]}function zu(e){return K0(e)!=="tyre"&&K3(e).badge==="new"}function ku(e){return K0(e)==="tyre"?[]:(K3(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function oT(e){return ku(e).map(t=>t.family)}function rT(e){if(K0(e)==="tyre")return[];let t=K3(e),a=t.categories;return a&&a.length>0?a:t.process?[t.process]:[]}function iT(e){return K0(e)==="tyre"?[]:K3(e).spec?.pcds??[]}function nT(e){return K0(e)!=="tyre"?[]:K3(e).tyreTypes??[]}function lT(e){return K0(e)!=="tyre"?[]:K3(e).speedRatings??[]}function vt(e){if(K0(e)!=="tyre")return[];let t=K3(e).sizes;return Array.isArray(t)?t.map(a=>E4(typeof a=="string"?a:null)).filter(a=>a!==null):[]}function x5(e,t){return e.length===0?e:e.filter(a=>a.kind===void 0||a.kind===t)}function Ml(e,t){if(t.length===0)return e;let a=ft(t);return $7(e.filter(s=>a(s.fieldKey)),s=>s.fieldKey,t,"cardOrder")}function cT(e,t){let a=t==="filter"?"filterOrder":"cardOrder",s=new Map;for(let o of e){let r=o[a];if(typeof r!="number"||!Number.isFinite(r))continue;let i=s.get(o.fieldKey);(i===void 0||r<i)&&s.set(o.fieldKey,r)}return o=>o?s.get(o):void 0}function Cu(e){return Ll(e,"spec")}function hT(e){return Ll(e,"fitment")}function Su(e,t){if(t.length===0)return e;let a=Cu(t),s=e.filter(o=>a(o.fieldKey));return $7(s,o=>o.fieldKey,t,"specOrder")}function $7(e,t,a,s){let o=new Map;for(let l of a){let c=l[s];typeof c=="number"&&o.set(l.fieldKey,c)}if(o.size===0)return e;let r=[],i=[];e.forEach((l,c)=>{let h=t(l);h&&(r.push(c),i.push({item:l,index:c,order:o.get(h)}))}),i.sort((l,c)=>l.order!==void 0&&c.order!==void 0?l.order-c.order||l.index-c.index:l.order!==void 0?-1:c.order!==void 0?1:l.index-c.index);let n=[...e];return r.forEach((l,c)=>{n[l]=i[c].item}),n.every((l,c)=>l===e[c])?e:n}function ft(e){return Ll(e,"card")}function Al(e){return Ll(e,"filter")}var bt="collection";function xt(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":bt},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function Ll(e,t){let a=new Set(e.filter(s=>s[t]===!1).map(s=>s.fieldKey));return s=>!s||!a.has(s)}function W2(e){return Number.isInteger(e)?String(e):String(Number(e.toFixed(2)))}function Mu(e,t,a){let s=a!=null?`${W2(t)}/${W2(a)}`:W2(t);return`${e}" \xD7 ${s}`}function Tl(e,t){return e===t?`ET ${e}`:`ET ${e}\u2013${t}`}function pT(e,t){return e===t?`${W2(e)}"`:`${W2(e)}"\u2013${W2(t)}"`}function Au(e){return e==="\u2014"?e:`${e}"`}var Es={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},mT=Object.keys(Es);function wt(e){return X2(mT,"recommended",e)}function Lu(e){return mT.filter(t=>t!=="recommended"||e.length<=1)}function dT(e,t){let a=wt(e);return Lu(t).includes(a)?a:"name"}var Hs=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],cY={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},hY={diameters:"tyreSizes"};function uT(e){if(e.length===0)return[];let t=Hs.filter(a=>e.every(s=>cY[a].includes(s)));return t.filter(a=>{let s=hY[a];return!s||!t.includes(s)})}function gT(e,t){return t&&e.includes(t)?[t]:[...e]}function vT(e){let t=new Set;for(let a of e)t.add(K0(a));return[...t]}var o6={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function yt(e){return`${pY(e.width)}\xD7${e.diameter}`}function fT(e){return[...new Set((e.sizePairs??[]).map(t=>Mu(t.diameter,t.width)))]}function pY(e){return W2(e)}function Fs(e,t,a,s=null){if(s!=="kind"&&t.kind&&K0(e)!==t.kind)return!1;for(let o of Hs){if(s===o)continue;let r=t[o];if(r.length===0)continue;let i=r.map(String);if(!wT(e,o).some(n=>i.includes(n)))return!1}return!(s!=="price"&&!Dn(i9(e),a,null,t.priceMax)||s!=="inStock"&&t.inStockOnly&&!yu(e))}function bT(e,t,a){return e.filter(s=>yu(s)&&Fs(s,t,a,"inStock")).length}function mY(e,t,a){let s=[...e],o=(i,n)=>wu(i).localeCompare(wu(n)),r=vT(e).length>1;switch(t){case"price-asc":return s.sort((i,n)=>ot(i9(i),i9(n),a,"asc"));case"price-desc":return s.sort((i,n)=>ot(i9(i),i9(n),a,"desc"));case"name":return s.sort(o);case"new":return s.sort((i,n)=>{let l=(zu(n)?1:0)-(zu(i)?1:0);return l!==0||!r?l:o(i,n)});default:return s}}function xT(e,t,a){return mY(e.filter(s=>Fs(s,t,a)),t.sort,a)}function El(e){return Hs.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}var Tu={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function wT(e,t){switch(t){case"tyreSizes":return[...new Set(vt(e).flatMap(XL))];case"brands":return gt(e)?[gt(e)]:[];case"finishes":return oT(e);case"diameters":return sT(e).map(String);case"collections":return rT(e);case"pcds":return iT(e);case"tyreTypes":return nT(e);case"speedRatings":return lT(e)}}function dY(e){let t=new Map;for(let a of e)for(let s of ku(a))s.color&&!t.has(s.family)&&t.set(s.family,s.color);return t}function Hl(e,t,a,s=vT(e),o=[]){let r=c=>uY(c,s,o),i=dY(e),n=uT(s).filter(c=>c!=="tyreSizes").filter(r).map(c=>{let h=t[c].map(String),p=new Set,d=new Map,u=new Map;for(let g of e){let f=wT(g,c);for(let b of f)p.add(b);for(let b of new Set(f))u.set(b,(u.get(b)??0)+1);if(Fs(g,t,a,c))for(let b of new Set(f))d.set(b,(d.get(b)??0)+1)}let v=[...p].map(g=>({value:g,label:c==="diameters"?`${g}\u2033`:g,count:d.get(g)??0,checked:h.includes(g),swatch:c==="finishes"?i.get(g)??null:null})).sort((g,f)=>{if(c==="diameters")return Number(g.value)-Number(f.value);let b=(u.get(f.value)??0)-(u.get(g.value)??0);return b!==0?b:g.value.localeCompare(f.value)});return{key:c,label:Tu[c],options:v}}).filter(c=>c.options.length>Ps),l=[];for(let c of n){let h=gY(c.key,s,o);h!==void 0&&l.push({fieldKey:c.key,filterOrder:h})}return[...$7(n,c=>c.key,l,"filterOrder")]}var Ps=1;function Fl(e){return e.showCollection===!1?["collections"]:[]}function uY(e,t,a){return t.length===0||a.length===0?!0:t.some(s=>Al(x5(a,s))(xt(e,s)))}function gY(e,t,a){if(a.length===0)return;let s;for(let o of t){let r=cT(x5(a,o),"filter")(xt(e,o));r!==void 0&&(s===void 0||r<s)&&(s=r)}return s}function vY(e){let t=new Set;for(let a of e)for(let s of vt(a))t.add(b5(s));return t.size}function yT(e,t){return uT(t).includes("tyreSizes")?vY(e)>Ps:!1}function zT(e){let t=E4(e);if(t)return t;let[a,s]=e.split("/");return{width:a?Number(a):void 0,profile:s?Number(s):void 0}}function fY(e,t,a){return U6.slice(0,U6.indexOf(a)).every(s=>{let o=t[s];return o==null||e[s]===o})}function kT(e,t,a){let s=zT(t.tyreSizes[0]??""),o=new Set(e.filter(r=>Fs(r,t,a,"tyreSizes")));return U6.map(r=>{let i=new Map;for(let l of e){let c=vt(l).filter(h=>fY(h,s,r));for(let h of new Set(c.map(p=>p[r])))i.has(h)||i.set(h,0),o.has(l)&&i.set(h,(i.get(h)??0)+1)}let n=[...i.keys()].sort((l,c)=>l-c).map(l=>({value:l,label:r==="rim"?`R${l}`:String(l),count:i.get(l)??0}));return{part:r,label:YL[r],value:s[r]??null,options:n}})}function CT(e,t,a,s){let o={...zT(t)},r=U6.indexOf(a);o[a]=s??void 0;for(let i of U6.slice(r+1))o[i]!=null&&e.some(c=>U6.slice(0,U6.indexOf(i)+1).every(h=>o[h]==null||c[h]===o[h]))||(o[i]=void 0);return b5(o)}function ST(e,t,a,s){if(t.length<2)return[];let o=e.filter(r=>Fs(r,a,s,"kind"));return[{kind:null,label:JL,count:o.length,checked:a.kind===null},...t.map(r=>({kind:r,label:H4[r],count:o.filter(i=>K0(i)===r).length,checked:a.kind===r}))]}function MT(e,t){if(e.length===0)return null;let a=e.map(r=>st(i9(r),t)).filter(r=>r!==null);if(a.length===0)return null;let s=Math.floor(Math.min(...a)),o=Math.ceil(Math.max(...a));return o>s?{min:s,max:o}:null}function AT(e,t,a){let s=[];e.kind&&s.push({key:"kind",value:e.kind,label:H4[e.kind]}),e.inStockOnly&&s.push({key:"inStock",value:"",label:"In stock"});for(let o of Hs)for(let r of e[o]){let i=String(r);s.push({key:o,value:i,label:o==="diameters"?`${i}\u2033`:o==="pcds"?`PCD ${i}`:i})}return e.priceMax!=null&&s.push({key:"price",value:"",label:`Up to ${a(e.priceMax,t)}`}),s}var Y4={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},Y7="type",LT="maxPrice",TT="inStock",ET="sort",HT="page";function FT(e){let t=r=>e.getAll(r).flatMap(i=>i.split(",")).filter(Boolean),a=Number(e.get(LT)),s=Number(e.get(HT)),o=e.get(Y7);return{tyreSizes:t(Y4.tyreSizes),brands:t(Y4.brands),finishes:t(Y4.finishes),diameters:t(Y4.diameters).map(Number).filter(Number.isFinite),collections:t(Y4.collections),pcds:t(Y4.pcds),tyreTypes:t(Y4.tyreTypes),speedRatings:t(Y4.speedRatings),priceMax:Number.isFinite(a)&&a>0?a:null,inStockOnly:e.get(TT)==="1",kind:i4.find(r=>r===o)??null,sort:wt(e.get(ET)),page:Number.isFinite(s)&&s>=1?Math.floor(s):1}}function n9(e){let t=new URLSearchParams;for(let a of Hs){let s=e[a];s.length>0&&t.set(Y4[a],s.join(","))}return e.priceMax!=null&&t.set(LT,String(e.priceMax)),e.inStockOnly&&t.set(TT,"1"),e.kind&&t.set(Y7,e.kind),e.sort!=="recommended"&&t.set(ET,e.sort),e.page>1&&t.set(HT,String(e.page)),t}function PT(e,t){if(e<=7)return Array.from({length:e},(r,i)=>i+1);let a=[1],s=Math.max(2,t-1),o=Math.min(e-1,t+1);s>2&&a.push(null);for(let r=s;r<=o;r++)a.push(r);return o<e-1&&a.push(null),a.push(e),a}function NT(e,t,a){let s=e.length,o=Math.max(1,Math.floor(a)),r=Math.max(1,Math.ceil(s/o)),i=Math.min(Math.max(1,Math.floor(t)),r),n=(i-1)*o;return{items:e.slice(n,n+o),page:i,pageCount:r,total:s,from:s===0?0:n+1,to:Math.min(n+o,s)}}var X7="__all__",IT="All products";function Pl(e){return e?.slug===X7}var zt="AlloyWheelsListing",bY="ProductGrid",VT="catalog",xY="CatalogFilterBar",Nl="fieldUsage";function kt(e){return e?.type===bY&&Pl(e.props?.source)}function Eu(e){return e?.type===xY}function wY(e){return e?.type===zt||kt(e)||Eu(e)}function yY(e){let t=e.content??[],a=e.zones??{};return[...t,...Object.values(a).flat()]}function Hu(e){return e?yY(e).some(t=>t?.type===zt||kt(t)):!1}function RT(e,t){return kY(e,a=>kt(a)?{...a,props:{...Fu(a).props,[VT]:zY(t,s6(a.props?.kinds))}}:{...a,props:{...Pu(a).props,products:t}})}function _T(e){return DT(e,wY,t=>Eu(t)?OT(t):kt(t)?Fu(t):Pu(t))}function OT(e){if(!e.props||!(Nl in e.props))return e;let{[Nl]:t,...a}=e.props;return{...e,props:a}}function Fu(e){let{[VT]:t,[Nl]:a,...s}=e.props??{};return{...e,props:s}}function zY(e,t){let a=new Set(t);return e.filter(s=>{let o=s.kind??"alloy-wheel";return a.has(o)})}function BT(e){return kt(e)?Fu(e):Eu(e)?OT(e):e?.type===zt?Pu(e):e}function Pu(e){let{wheels:t,products:a,[Nl]:s,...o}=e.props??{};return{...e,props:o}}function kY(e,t){return DT(e,a=>a?.type===zt||kt(a),t)}function DT(e,t,a){let s=i=>t(i)?a(i):i,o=e,r={...e};return o.content&&(r.content=o.content.map(s)),o.zones&&(r.zones=Object.fromEntries(Object.entries(o.zones).map(([i,n])=>[i,n.map(s)]))),r}var Ns="/wheels",Nu="Products";function CY(e,t){return t>1?`${Nu} \xB7 ${e}`:Nu}function ZT(...e){for(let t of e){let a=(t?.content??[]).find(s=>s?.type===zt);if(a)return a.props??{}}return null}function Iu(...e){return ZT(...e)!==null}function SY(e,t){let a=e.filter(s=>Iu(...s.docs)).map(s=>K8(s.slug));return a.length===0&&t.fallback?[Ns]:a}var GT=[Y7,...Object.entries(Y4).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function WT(e){let t=e.indexOf("#"),a=t===-1?"":e.slice(t),s=t===-1?e:e.slice(0,t),o=s.indexOf("?");return{path:o===-1?s:s.slice(0,o),query:o===-1?"":s.slice(o+1),hash:a}}function MY(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Vu(e){let t=new URLSearchParams(WT(e).query);for(let a of GT){let s=t.get(a);if(s)return{param:a,value:s}}return null}function Ru(e,t){let{path:a,query:s,hash:o}=WT(e),r=s.split("&").filter(i=>i&&!GT.includes(MY(i.split("=")[0])));return t?.value&&r.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${a}${r.length?`?${r.join("&")}`:""}${o}`}function UT(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 AY="Product type",LY="AUD";function TY(e,t){let a=t.listing??{},s=s6(a.kinds),o=e.filter(l=>s.includes(K0(l))),r=Fl(a),i=Hl(o,o6,LY,s,t.fieldUsage).filter(l=>!r.includes(l.key)).map(l=>({param:Y4[l.key],label:l.label,values:l.options.filter(c=>!c.value.includes(",")).map(c=>({value:c.value,label:c.label}))})).filter(l=>l.values.length>0),n=i4.filter(l=>s.includes(l)&&o.some(c=>K0(c)===l));return n.length>1&&i.unshift({param:Y7,label:AY,values:n.map(l=>({value:l,label:H4[l]}))}),i}function qT(e){return t=>{let a=SY(t,{fallback:e.offersCommerce}),s=t.filter(o=>Iu(...o.docs)).length;return{listingPaths:a,pageOptions:o=>{let r=o.map(i=>{let n=t.find(l=>K8(l.slug)===i.value);return n&&Iu(...n.docs)?{...i,label:CY(n.title,s)}:i});return s===0&&e.offersCommerce&&!r.some(i=>i.value===Ns)&&r.push({value:Ns,label:Nu}),r},filtersFor:o=>{if(!a.includes(o))return null;let r=t.find(i=>K8(i.slug)===o);return TY(e.catalogue,{listing:r?ZT(...r.docs):null,fieldUsage:e.fieldUsage})},readFilter:Vu,withFilter:Ru}}}function jT(e,t=[]){let a=Ru(Ns,{param:Y7,value:e}),s=t.find(o=>{let r=(o?.url??"").trim();if(!r||r==="#")return!1;let i=Vu(r);return i?.param!==Y7||i.value!==e?!1:dd(r).startsWith("/")});return s?s.url:a}function KT(e){let t=[];for(let a of e??[]){typeof a?.url=="string"&&t.push({url:a.url});for(let s of a?.dropdownItems??[])typeof s?.url=="string"&&t.push({url:s.url})}return t}import{jsx as PY}from"react/jsx-runtime";var $T=EY([]);function YT({items:e,children:t}){let a=FY(()=>KT(e),[e]);return PY($T.Provider,{value:a,children:t})}function XT(){return HY($T)}import{createContext as NY,useCallback as _u,useContext as IY,useEffect as VY,useMemo as RY,useState as _Y}from"react";import{jsx as BY}from"react/jsx-runtime";var OY={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},JT=NY(OY);function QT({children:e,shortcut:t=!0}){let[a,s]=_Y(!1),o=_u(()=>s(!0),[]),r=_u(()=>s(!1),[]),i=_u(()=>s(l=>!l),[]);VY(()=>{if(!t)return;let l=c=>{(c.metaKey||c.ctrlKey)&&(c.key==="k"||c.key==="K")&&(c.preventDefault(),s(h=>!h))};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[t]);let n=RY(()=>({isOpen:a,open:o,close:r,toggle:i}),[a,o,r,i]);return BY(JT.Provider,{value:n,children:e})}function Ct(){return IY(JT)}function St(){return"/edit"}import{createContext as WY,useCallback as Il,useContext as UY,useEffect as qY,useMemo as jY,useRef as KY,useState as Du}from"react";var eE="/edit";function tE(e){return e===eE||e.startsWith(`${eE}/`)}function aE({email:e,firstName:t,interests:a,frequency:s},o){return{email:e.trim(),firstName:t?.trim()||void 0,interests:a&&a.length?a:void 0,frequency:s||void 0,source:o}}var n4={popup:"shop_popup",subscribeSection:"subscribe_section",subscribeBlogsSection:"subscribe_blogs_section",footerSignup:"footer_signup",stockAlertOptIn:"stock_alert_optin"};var oE="storefront-subscribe-seen",rE="storefront-popup-closed-at",DY=1440*60*1e3,ZY=["/checkout","/cart"];function sE(e){let t=e.split(/[?#]/)[0]||"/",a=t.startsWith("/")?t:`/${t}`;return a.length>1?a.replace(/\/+$/,"")||"/":a}function Ou(e,t,a){let s=sE(e);return ZY.some(o=>s===o||s.startsWith(`${o}/`))?!1:t==="all"?!0:a.some(o=>sE(o)===s)}function GY(e,t,a,s){if(e==="never")return!1;if(a.session.getItem(oE)==="1")return!0;if(e==="visit")return!1;let o=Number(a.local.getItem(rE));return!Number.isFinite(o)||o<=0?!1:s-o<t*DY}function Bu(e,t){e.session.setItem(oE,"1"),e.local.setItem(rE,String(t))}function iE(e,t){return e==="exit"&&!t?"delay":e}function nE(e,t,a){let s=a-t;return s<=0?100:Math.min(100,Math.max(0,e/s*100))}function lE(e,t,a){return!e.autoOpen||e.inEditor||!Ou(e.path,e.showOn,e.showOnPages)||e.hideAfter!=="never"&&!GM(t.session)?!1:!GY(e.hideAfter,e.hideDays,t,a)}import{jsx as JY}from"react/jsx-runtime";var cE=WY(null),Zu={session:WM,local:w3};function $Y(){try{return window.matchMedia("(hover: hover) and (pointer: fine)").matches}catch{return!1}}var YY=15,XY=[];function hE({children:e,disableAutoTrigger:t,autoOpen:a=!1,autoOpenDelaySec:s=YY,trigger:o="delay",scrollPercent:r=50,showOn:i="all",showOnPages:n=XY,hideAfter:l="visit",hideDays:c=7}){let[h,p]=Du(!1),[d,u]=Du("chosen"),[v,g]=Du({}),f=St()??"/",b=tE(f),x=Ou(f,i,n),w=KY(!1),z=Il(E=>{g(E??{}),u("newsletter"),p(!0)},[]),k=Il(()=>{w.current=!0,g({}),u("chosen"),p(!0)},[]),L=Il(()=>Bu(Zu,Date.now()),[]),V=Il(()=>{p(!1),Bu(Zu,Date.now())},[]);qY(()=>{if(t||w.current||!lE({autoOpen:a,inEditor:b,path:f,showOn:i,showOnPages:n,hideAfter:l,hideDays:c},Zu,Date.now()))return;let I=iE(o,$Y());if(I==="scroll"){let H=()=>{nE(window.scrollY,window.innerHeight,document.documentElement.scrollHeight)>=r&&(window.removeEventListener("scroll",H),k())};return window.addEventListener("scroll",H,{passive:!0}),()=>window.removeEventListener("scroll",H)}if(I==="exit"){let H=O=>{O.relatedTarget===null&&O.clientY<=0&&(document.removeEventListener("mouseout",H),k())};return document.addEventListener("mouseout",H),()=>document.removeEventListener("mouseout",H)}let F=window.setTimeout(k,Math.max(0,s)*1e3);return()=>window.clearTimeout(F)},[t,a,b,x,o,s,r,l,c,k]);let P=jY(()=>({isOpen:h,mode:d,open:z,close:V,markSent:L,prefillEmail:v.email??"",signupSource:v.source??n4.popup}),[h,d,z,V,L,v]);return JY(cE.Provider,{value:P,children:e})}function Gu(){let e=UY(cE);if(!e)throw new Error("useSubscribePopup() must be called inside <SubscribePopupProvider>. Mount the provider in app/layout.tsx.");return e}import{createContext as QY,useContext as eX,useEffect as tX,useState as pE}from"react";import{jsx as sX}from"react/jsx-runtime";var mE="storefront-wishlist";function aX(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var dE=QY(null);function uE({children:e}){let[t,a]=pE([]),[s,o]=pE(!1);tX(()=>{let n=w3.getItem(mE);try{n&&a(aX(n))}catch{}o(!0)},[]);function r(n){let l=t.includes(n)?t.filter(c=>c!==n):[...t,n];a(l),w3.setItem(mE,JSON.stringify(l))}let i={slugs:t,ready:s,has:n=>t.includes(n),toggle:r,count:t.length};return sX(dE.Provider,{value:i,children:e})}function gE(){let e=eX(dE);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}import{jsx as l9}from"react/jsx-runtime";function Wu({catalogFilterLabels:e,menuItems:t,currency:a,subscribe:s,searchShortcut:o=!0,children:r}){return l9($L,{labels:e,children:l9(YT,{items:t,children:l9(D7,{...a,children:l9(hE,{...s,children:l9(uE,{children:l9(lt,{children:l9(QT,{shortcut:o,children:r})})})})})})})}import{jsx as w5}from"react/jsx-runtime";import{useCallback as wE,useEffect as Rl,useMemo as Is,useRef as iX,useState as Vs}from"react";import{lazy as oX,Suspense as rX}from"react";import{jsx as vE}from"react/jsx-runtime";function Mt(e,t={}){let a=oX(async()=>{let r=await e();return{default:"default"in r?r.default:r}}),s=t.loading?t.loading():null;function o(r){return vE(rX,{fallback:s,children:vE(a,{...r})})}return o}import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/screen.css";import{sectionTemplates as Vl}from"efficient-easel/screen/lib/section-templates";import{applyAuthGrant as Kf1,NO_BRIDGED_CAPABILITIES as fE,useAdminBridge as bE}from"efficient-easel/screen/lib/admin-bridge";import{routeSharedHostMessage as xE}from"efficient-easel/screen/lib/host-inbound";import{documentPermissions as nX}from"efficient-easel/edit-lock";import{useAutosave as lX}from"efficient-easel/autosave";var cX=Mt(()=>import("./chunks/SiteEditorProvider-EYQFRVAE.js"),{ssr:!1}),hX=Mt(()=>import("./chunks/SectionEditorShell-QM5CEYFT.js"),{ssr:!1}),zE="HeroSingle",yE="Untitled section";function pX(e,t){let a=t.components,s=a[e]?e:zE,o=a[s]?.defaultProps??{},r=Ym(s,n=>a[n]?.defaultProps??{}),i=s===yi?{blocks:PM()}:null;return{type:s,props:{id:_z(s),...o,...r?{[r.slot]:r.children}:null,...i}}}function mX(){if(typeof window>"u")return K5;try{let e=window.localStorage.getItem(ms);return e==="light"||e==="dark"||e==="auto"?e:K5}catch{return K5}}function kE({id:e,initialType:t,initialName:a=yE}){let[s,o]=Vs(e),r=iX(s);Rl(()=>{r.current=s},[s]);let i=b3(),[n,l]=Vs(t),[c,h]=Vs(a),[p,d]=Vs(void 0),[u,v]=Vs(K5),{token:g,tokenRef:f}=bE({onMessage:R=>{if(kl(R)||xE(R))return;let j=R;if(j?.type==="storefront-editor:navigate"&&j.target?.kind==="section"&&j.target.id){let B=j.target.id;if(B===r.current)return;let t1=j.target.type,$=j.target.name;z().then(()=>{l(t1),h($||yE),o(B),i.address.show({kind:"section",id:B})})}}}),b=lX({save:R=>Vl.update(R.id,R.node).then(()=>{}),onFailure:(R,j)=>{j===0&&i.send("storefront-editor:save-failed")}}),{state:x,push:w,flush:z}=b;Rl(()=>v(mX()),[]);let k=Ce(),L=k.usesBridgedToken?!!g:!0,V=Is(()=>dl(gi(k),fi(k)),[k]);Rl(()=>{if(!L)return;let R=!1;return d(void 0),Vl.ensure(s,c,pX(n??zE,V)).then(j=>!R&&d(j.node)).catch(()=>!R&&d(null)),()=>{R=!0}},[s,n,c,L,V]);let P=wE(R=>{i.send("storefront-editor:dirty");let j=_d(R);j&&w({id:r.current,node:j})},[w,i]),E=i.send,I=wE(async R=>{try{return await R(f.current??""),!0}catch{return E("storefront-editor:save-failed"),!1}},[E]),F=Is(()=>gl(V,!0),[V]);Rl(()=>(lu(null),()=>lu(null)),[]);let H=Is(()=>p?yl(FM(p)):null,[p]),O=Is(()=>({target:{kind:"page",slug:""},adapter:As(void 0),capabilities:As(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:L,token:g,tokenRef:f,notifyParent:E,runAuthed:I,docId:s,data:H,getLiveData:()=>H,footerOriginSlug:null,error:null,redirecting:!1,saveStatus:_M(x),saveState:x,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:x.pending,toggleAutoSave:()=>{},retrySave:()=>{b.retryNow()},onChange:P,flushSave:z,onPublish:async R=>{let j=_d(R);j&&await Vl.update(r.current,j)},bridgeCapabilities:fE,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[s,L,g,E,I,H,x,P,z,b.retryNow]),q=Is(()=>nX(!O.readOnly),[O.readOnly]);return p===void 0?w5("div",{className:"sf-msg",children:m("Loading\u2026")}):p===null||!H?w5("div",{className:"sf-msg sf-msg--error",children:m("Couldn\u2019t open this section.")}):w5(ze.Provider,{value:O,children:w5(ji,{themeMode:u,chromePlaceholder:!0,children:w5(ul,{wrap:k.chrome?.wrap,surface:"section",children:w5(Cn,{children:w5(Mi,{children:w5(Sn,{children:w5(Li,{children:w5(cX,{config:F,data:H,onChange:P,permissions:q,children:w5(hX,{})},s)})})})})})})})}import{cancelPanelPick as qb1,hasMediaPanel as jb1,MediaPanelProvider as CE,requestPanelPick as Kb1,settlePanelPick as $b1,useMediaPanel as Yb1,usePanelPick as Xb1}from"efficient-easel/screen/lib/media-panel";import{useEffect as AX,useState as LX}from"react";import{createContext as dX,useCallback as SE,useContext as uX,useEffect as gX,useId as vX,useMemo as fX,useRef as bX,useState as xX}from"react";import{jsx as wX}from"react/jsx-runtime";var ME=dX(null);function AE({reason:e,children:t}){let[a,s]=xX([]),o=bX(null),r=SE(c=>{s(h=>h.includes(c)?h:[...h,c])},[]),i=SE(c=>{s(h=>h.filter(p=>p!==c))},[]),n=e==="none-configured",l=fX(()=>({noCurrencyConfigured:n,live:a,firstRendered:o,join:r,leave:i}),[n,a,r,i]);return wX(ME.Provider,{value:l,children:t})}function LE(e){let t=uX(ME),a=vX(),s=!!e&&!!t?.noCurrencyConfigured;s&&t&&t.firstRendered.current===null&&(t.firstRendered.current=a);let o=t?.join,r=t?.leave;return gX(()=>{if(!(!s||!o||!r))return o(a),()=>r(a)},[s,o,r,a]),!s||!t?!1:(t.live.length>0?t.live[0]:t.firstRendered.current)===a}var _s={currencies:[],defaultCurrency:null},yX={currencies:[],defaultCurrency:null,reason:"none-configured"},Rs=new Map;function TE(e,t,a=!1){a&&Rs.delete(t);let s=Rs.get(t);return s||(s=zX(e,t),Rs.set(t,s),s.catch(()=>{Rs.get(t)===s&&Rs.delete(t)})),s}async function zX(e,t){try{let a=await Pn(e,t);if(!a)return _s;let s=await f0.getSiteBySlug(a);return s.status!=="online"?await kX(e,t):{currencies:s.currencies??[],defaultCurrency:s.defaultCurrency??null}}catch(a){return console.warn("[editor-currency-source] load failed; editor stays unpriced",a),_s}}async function kX(e,t){let a=await F1.listSiteCurrencies(t,e);if(!a.length)return yX;let s=[...a].sort((o,r)=>o.display_order-r.display_order).map(o=>({code:o.currency_code,symbol:o.symbol||MX(o.currency_code),decimalPlaces:typeof o.decimal_places=="number"?o.decimal_places:SX(o.currency_code),isDefault:o.is_default}));return{currencies:s,defaultCurrency:s.find(o=>o.isDefault)?.code??s[0].code}}var CX=0;function EE(e){try{return new Intl.NumberFormat(pA,{style:"currency",currency:e})}catch{return null}}function SX(e){return EE(e)?.resolvedOptions().maximumFractionDigits??CX}function MX(e){return EE(e)?.formatToParts(0).find(s=>s.type==="currency")?.value||e}import{jsx as HE}from"react/jsx-runtime";function Uu({token:e,siteId:t,enabled:a,children:s}){let[o,r]=LX(_s);return AX(()=>{if(!e||!a||!t){r(_s);return}let i=!1;return TE(e,t).then(n=>{i||r(n)}).catch(()=>{}),()=>{i=!0}},[e,a,t]),HE(D7,{currencies:o.currencies,defaultCurrency:o.defaultCurrency,children:HE(AE,{reason:o.reason,children:s})})}var c9=new Map,qu=e=>e??"";function h9(e,t,a=!1){let s=qu(t);a&&c9.delete(s);let o=c9.get(s);return o||(o=F1.getHeaderSettings(e,t??void 0),c9.set(s,o),o.catch(()=>{c9.get(s)===o&&c9.delete(s)})),o}function FE(e,t){c9.set(qu(t),Promise.resolve(e))}function PE(e){c9.delete(qu(e))}function Os(e){return{logoUrl:U5(e.effective_logo_url),reverseLogo:e.reverse_logo,logoPosition:e.logo_position,logoSize:e.logo_size,logoSizePx:e.logo_size_px,menuItems:e.menu_items??[],menuSplit:e.menu_split??3,menuPosition:e.menu_position,menuRow:e.menu_row,menuGapPx:e.menu_gap_px??null,searchEnabled:e.search_enabled,searchPosition:e.search_position,searchRow:e.search_row,countrySelectorEnabled:e.country_selector_enabled,countryUrls:e.country_urls??{},accountEnabled:e.account_enabled??!0,cartEnabled:e.cart_enabled??!0,utilStyle:e.util_style,navTextCase:e.nav_text_case,lightReverseText:e.light_reverse_text,topTextColor:e.top_text_color,transparentTop:e.transparent_top,surface:e.surface,theme:e.theme,width:e.width,heightPx:e.height_px,sticky:e.sticky}}import{useEffect as NE,useRef as ju}from"react";function _l({token:e,enabled:t=!0,deps:a=[],prime:s,onDisabled:o,refresh:r}){let i=ju(s);i.current=s;let n=ju(o);n.current=o;let l=ju(r);l.current=r,NE(()=>{if(!e||!t){n.current?.();return}let c=!1;return i.current.load().then(h=>{c||i.current.publish(h)}).catch(()=>{}),()=>{c=!0}},[e,t,...a]),NE(()=>{if(!e||!t||!l.current)return;let c=!1,h=l.current.subscribe(()=>{let p=l.current;p&&p.load().then(d=>{c||p.publish(d)}).catch(()=>{})});return()=>{c=!0,h()}},[e,t,...a])}function Ku({token:e,siteId:t}){let{primeSettings:a,setSettings:s}=P3();return _l({token:e,deps:[t],prime:{load:()=>h9(e,t),publish:o=>a(Os(o))},refresh:{subscribe:U7,load:()=>h9(e,t,!0),publish:o=>s(Os(o))}}),null}import{createContext as TX,useCallback as BE,useContext as EX,useMemo as HX,useState as FX}from"react";var Bs=new Map,IE=e=>e??"";function $u(e,t,a){a&&Bs.clear();let s=IE(t),o=Bs.get(s);if(!o){let r=F1.listMenus(e,t);Bs.set(s,r),r.catch(()=>{Bs.get(s)===r&&Bs.delete(s)}),o=r}return o}var Ol=new Map;function VE(e,t){let a=IE(t),s=Ol.get(a);if(!s){let o=$u(e,t,!0);Ol.set(a,o);let r=()=>{Ol.get(a)===o&&Ol.delete(a)};o.then(r,r),s=o}return s}function Ds(e,t=!1){return $u(e,v2(),t)}function Bl(e){return VE(e,v2())}function RE(e,t=!1){return $u(e,null,t)}function _E(e){return VE(e,null)}var Yu={ids:new Set,handles:new Set};function Xu(e){return{ids:new Set(e.map(t=>t.id).filter(Boolean)),handles:new Set(e.map(t=>t.handle).filter(Boolean))}}function OE({id:e,handle:t,editing:a,ready:s,live:o}){if(!a)return!1;let r=e??"",i=t??"";return!r&&!i?!0:s?r?!o.ids.has(r):!o.handles.has(i):!1}function Dl(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 PX}from"react/jsx-runtime";var DE=TX({live:Yu,ready:!1,primeLive:()=>{},setLive:()=>{}});function Ju({children:e}){let[t,a]=FX({live:Yu,ready:!1}),s=BE(i=>a(n=>n.ready?n:{live:i,ready:!0}),[]),o=BE(i=>a({live:i,ready:!0}),[]),r=HX(()=>({...t,primeLive:s,setLive:o}),[t,s,o]);return PX(DE.Provider,{value:r,children:e})}var Zl=()=>EX(DE);function Gl({token:e}){let{primeLive:t,setLive:a}=Zl();return _l({token:e,prime:{load:()=>Ds(e),publish:s=>t(Xu(s))},refresh:{subscribe:U7,load:()=>Bl(e),publish:s=>a(Xu(s))}}),null}import{jsx as Qu,jsxs as eg}from"react/jsx-runtime";function tg({surface:e,children:t}){let{token:a,siteId:s,capabilities:o}=ke();if(e==="section")return eg(Ju,{children:[a?Qu(Gl,{token:a}):null,t]});let r=a??"";return eg(Uu,{token:r,siteId:s,enabled:o.hasSiteSettings,children:[o.hasSiteSettings&&Qu(Ku,{token:r,siteId:s}),eg(Ju,{children:[o.hasSiteSettings&&Qu(Gl,{token:r}),t]})]})}import{useCallback as r6,useEffect as Us,useRef as ig,useState as J7}from"react";var ZE="Menu Item",GE=6,ag=4,WE="Menu",UE="Link a menu in the inspector \u2192";function qE(){return m("This column isn't linked to a menu, so the preview shows placeholder links. Pick a menu above.")}function jE(e){return m("\u201C{name}\u201D no longer exists in {place}, so the preview shows placeholder links. Pick another menu.",{name:e,place:m("Storefront \u2192 Menus")})}function KE(){return m("The menu linked here no longer exists in {place}, so the header shows placeholder links. Pick another menu.",{place:m("Storefront \u2192 Menus")})}import{Fragment as NX}from"react";import{jsx as IX}from"react/jsx-runtime";function l4(e,t){return e.split(/\{([A-Za-z][A-Za-z0-9_]*)\}/g).map((a,s)=>s%2===1?IX(NX,{children:a in t?t[a]:`{${a}}`},s):a)}var Zs=sC,VX="sf-header-theme";function Gs(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function Wl(e){let t=Gs(e);return t===null?null:{className:VX,style:rC(t)}}var sg="overlay",og=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function At(e){return X2(og,sg,e)}var X4={desktop:40,mobile:45,min:20,max:80,step:5};function rg(e,t){return`${typeof e=="number"?e:t}%`}var Ul="data-lead-ink",ql="data-header-ink";var RX="auto";function _X(e){return e.type==="IntroBleed"?At(e.props?.layout)!=="stacked":!0}function $E(e){let t=fM(e);return t&&bM(e)&&_X(t)?"light":null}function Lt(e){return e==="light"||e==="dark"?e:RX}import{Banner as OX,Button as pg,Drawer as BX,InputNumber as DX,LoadingSpinner as ZX,MediaUploadField as GX,Slider as WX,tabButtonId as UX,tabPanelId as qX}from"efficient-shell/ui";import{SettingsDefaultReset as ng,SettingsSwitch as Ws,SettingsTabs as jX}from"efficient-easel/panel";import{FieldSelect as mg}from"efficient-easel/fields";import{useEaselStrings as KX}from"efficient-easel/strings";import{ListIcon as $X,LogoIcon as YX,SettingsIcon as XX,StylesIcon as JX}from"efficient-easel/icons";import{Fragment as p9,jsx as o1,jsxs as Q0}from"react/jsx-runtime";var lg="sf-header",YE="sf-header-size-label",XE="sf-header-gap-label",JE="sf-header-height-label",cg=[{id:"logo",label:"Logo",icon:o1(YX,{})},{id:"menu",label:"Menu",icon:o1($X,{})},{id:"tools",label:"Tools",icon:o1(XX,{})},{id:"look",label:"Look",icon:o1(JX,{})}];function dg({tokenRef:e,siteId:t,onClose:a,onAuthExpired:s,inline:o,placeholderMode:r,websiteName:i,onOpenWebsiteSettings:n}){let l=b3(),c=KX(),[h,p]=J7(null),[d,u]=J7(null),[v,g]=J7(!1),[f,b]=J7(cg[0].id),[x,w]=J7(KS),z=r?cg.filter(_=>_.id!=="menu"):cg,k=z.find(_=>_.id===f)??z[0],[L,V]=J7(0),{setSettings:P}=P3(),E=ig(null),I=ig(null),F=ig(null);Us(()=>{let _=!1,D=null,Y=null,e1=3,X=(c1,t0=0)=>{_||u(null),h9(c1,t,t0>0).then(a0=>!_&&p(a0)).catch(()=>{_||(t0+1<e1?Y=setTimeout(()=>X(c1,t0+1),600*(t0+1)):u(m("Could not load header settings.")))})},m1=e.current;if(m1)X(m1);else{let c1=0;D=setInterval(()=>{let t0=e.current;if(t0){D&&clearInterval(D),D=null,_||u(null),X(t0);return}c1+=250,c1===5e3&&!_&&u(m("Waiting for editor authorization\u2026")),c1>=3e4&&(D&&clearInterval(D),D=null,_||u(m("Not authorized yet \u2014 reopen once the editor has loaded.")))},250)}return()=>{_=!0,D&&clearInterval(D),Y&&clearTimeout(Y)}},[e,L,t]),Us(()=>{h&&P(Os(h))},[h,P]),Us(()=>()=>{E.current&&clearTimeout(E.current),I.current&&clearTimeout(I.current),F.current&&clearTimeout(F.current)},[]);let H=r6(async(_,D)=>{let Y=e.current;if(!Y||!h)return;let e1=h;D&&p({...h,...D}),g(!0),u(null);try{let X=await _(Y);p(X),FE(X,t)}catch(X){p(e1),X instanceof A4&&X.status===401?(PE(t),s?.(),u(m("Authorization expired \u2014 try again in a moment."))):u(m("Could not save. Please retry."))}finally{g(!1)}},[h,e,s,t]),O=r6(_=>H(D=>F1.updateHeaderSettings(_,D,t??void 0),_),[H,t]),q=r6(_=>{H(D=>F1.setHeaderLogoFromAsset(_,D,t??void 0))},[H,t]),R=r6(()=>{IC(l,{accept:"image/svg+xml",title:m("Logo (SVG)")}).then(_=>{_&&q(_.id)})},[q]),j=r6((_,D=!0)=>{p(e1=>e1&&{...e1,logo_size_px:_}),E.current&&clearTimeout(E.current);let Y=()=>{H(e1=>F1.updateHeaderSettings({logo_size_px:_},e1,t??void 0))};D?Y():E.current=setTimeout(Y,400)},[H,t]),B=r6((_,D=!0)=>{p(e1=>e1&&{...e1,height_px:_}),I.current&&clearTimeout(I.current);let Y=()=>{H(e1=>F1.updateHeaderSettings({height_px:_},e1,t??void 0))};D?Y():I.current=setTimeout(Y,400)},[H,t]),t1=r6((_,D=!0)=>{p(e1=>e1&&{...e1,menu_gap_px:_}),F.current&&clearTimeout(F.current);let Y=()=>{H(e1=>F1.updateHeaderSettings({menu_gap_px:_},e1,t??void 0))};D?Y():F.current=setTimeout(Y,400)},[H,t]),$=r6(()=>{H(async _=>{let D=await F1.clearHeaderLogo(_,t??void 0);return D.reverse_logo?F1.updateHeaderSettings({reverse_logo:!1},_,t??void 0):D})},[H,t]),W=r6(_=>{p(D=>D&&{...D,menu:_?.id??null,menu_handle:_?.handle??null,menu_name:_?.name??null,menu_items:_?_.items.map(Y=>({label:Y.label,url:Y.url,dropdown_menu:Y.dropdown_menu??null,dropdown_items:Y.dropdown_items??[]})):[]}),H(D=>F1.updateHeaderSettings({menu:_?.id??null},D,t??void 0))},[H,t]),i1=Q0(p9,{children:[d&&o1(OX,{tone:"danger",className:"mx-4 mt-3",action:h?void 0:o1(pg,{variant:"secondary",size:"sm",onClick:()=>V(_=>_+1),children:m("Retry")}),children:d}),h?Q0(p9,{children:[o1(jX,{items:z.map(_=>({..._,label:m(_.label)})),activeId:k.id,onSelect:b,ariaLabel:m("Header settings"),idPrefix:lg}),Q0("div",{id:qX(lg,k.id),role:"tabpanel","aria-labelledby":UX(lg,k.id),className:"flex flex-col p-4 [&>*+*]:mt-3",children:[k.id==="logo"&&Q0(p9,{children:[o1(y5,{label:"Image"}),!r&&o1(QX,{settings:h,websiteName:i,onPick:R,onClear:$,showHint:x}),o1(y3,{label:"Reverse the Logo",children:o1(Ws,{checked:h.reverse_logo,onChange:_=>O({reverse_logo:_}),ariaLabel:m("Reverse the Logo")})}),o1(i6,{shown:x,children:m("Keeps the logo readable on any header \u2014 flips just its black & white parts to contrast the bar behind it (in both light and dark themes). Any other colors are kept as-is.")}),o1(y5,{label:"Placement"}),o1(tJ,{label:z0.logoPosition.label,value:z0.logoPosition.options.find(_=>_.value===z0.logoPosition.choose(h.logo_position))?.label,children:o1(D6,{value:z0.logoPosition.choose(h.logo_position),options:z0.logoPosition.options,onChange:_=>O({logo_position:_}),ariaLabel:z0.logoPosition.label})}),Q0("div",{className:"flex flex-col gap-1.5",children:[Q0("div",{className:"flex items-center justify-between",children:[o1("span",{id:YE,className:"text-[13px] text-[var(--ink-muted)]",children:m("Size")}),Q0("span",{className:"flex items-center gap-1",children:[Q0("span",{className:"sf-header-value text-[12px] tabular-nums text-[var(--ink-faint)]","data-changed":h.logo_size_px!=null||void 0,children:[h.logo_size_px??zs[h.logo_size],"px"]}),o1(ng,{label:m("Size"),words:c.panel,changed:h.logo_size_px!=null,onReset:()=>j(null)})]})]}),o1(hg,{labelledBy:YE,min:Un,max:qn,step:2,value:h.logo_size_px??zs[h.logo_size],onPreview:_=>j(_,!1),onCommit:_=>j(_,!0)}),o1(i6,{shown:x,children:m("Sets the logo\u2019s height; the width follows the logo\u2019s own proportions.")})]}),o1(Mn,{shown:x,onChange:w})]}),k.id==="menu"&&Q0(p9,{children:[o1(y5,{label:"Links"}),o1(eJ,{token:e.current,menuId:h.menu,menuName:h.menu_name,itemCount:h.menu_items?.length??0,onPick:W}),o1(y3,{label:z0.menuAlign.label,children:o1(D6,{value:z0.menuAlign.choose(h.menu_position),options:z0.menuAlign.options.filter(_=>_.value!=="beside"||h.logo_position!=="center"),onChange:_=>O({menu_position:_}),ariaLabel:z0.menuAlign.label})}),z0.menuAlign.choose(h.menu_position)==="beside"&&Q0("div",{className:"flex flex-col gap-1.5",children:[Q0("div",{className:"flex items-center justify-between",children:[o1("span",{id:XE,className:"text-[13px] text-[var(--ink-muted)]",children:m("Space from the logo")}),Q0("span",{className:"flex items-center gap-1",children:[Q0("span",{className:"sf-header-value text-[12px] tabular-nums text-[var(--ink-faint)]","data-changed":h.menu_gap_px!=null||void 0,children:[h.menu_gap_px??Je.default,"px"]}),o1(ng,{label:m("Space from the logo"),words:c.panel,changed:h.menu_gap_px!=null,onReset:()=>t1(null)})]})]}),o1(hg,{labelledBy:XE,min:Je.min,max:Je.max,step:Je.step,value:h.menu_gap_px??Je.default,onPreview:_=>t1(_,!1),onCommit:_=>t1(_,!0)}),o1(i6,{shown:x,children:m("How much room the menu leaves the logo. Only the logo moves away; the space between the menu words stays as it is.")})]}),o1(y3,{label:z0.menuRow.label,children:o1(D6,{value:z0.menuRow.choose(h.menu_row),options:z0.menuRow.options,onChange:_=>O({menu_row:_}),ariaLabel:z0.menuRow.label})}),h.logo_position==="center"&&h.menu_position!=="center"&&o1(y3,{label:"Left items",children:o1("div",{className:"w-16",children:o1(mg,{value:h.menu_split??3,ariaLabel:m("Left items"),onChange:_=>O({menu_split:_}),options:[1,2,3,4].map(_=>({label:String(_),value:_}))})})}),o1(y3,{label:z0.navTextCase.label,children:o1(D6,{value:z0.navTextCase.choose(h.nav_text_case),options:z0.navTextCase.options,onChange:_=>O({nav_text_case:_}),ariaLabel:z0.navTextCase.label})}),o1(i6,{shown:x,children:l4(m("{uppercase} draws SEARCH and BAG; {capitalised} draws Search and Bag. It covers the menu links and the Tools words together, and it leaves a name like FusionForge exactly as you typed it."),{uppercase:o1("strong",{children:m("Uppercase")}),capitalised:o1("strong",{children:m("Capitalised")})})})]}),k.id==="tools"&&Q0(p9,{children:[o1(y5,{label:"Style"}),o1(y3,{label:z0.utilStyle.label,children:o1(D6,{value:z0.utilStyle.choose(h.util_style),options:z0.utilStyle.options,onChange:_=>O({util_style:_}),ariaLabel:z0.utilStyle.label})}),o1(i6,{shown:x,children:l4(m("{text} draws the words \u2014 Search, Account, Bag \u2014 instead of the little pictures. It changes how they look, not whether they are shown: that stays with the switches below."),{text:o1("strong",{children:m("Text")})})}),o1(y5,{label:"Search"}),o1(y3,{label:"Search",children:o1(Ws,{checked:h.search_enabled,onChange:_=>O({search_enabled:_}),ariaLabel:m("Search")})}),o1(y3,{label:z0.searchPosition.label,children:o1(D6,{value:z0.searchPosition.choose(h.search_position),options:z0.searchPosition.options,onChange:_=>O({search_position:_}),ariaLabel:z0.searchPosition.label})}),o1(y5,{label:"Country selector"}),o1(y3,{label:"Show selector",children:o1(Ws,{checked:h.country_selector_enabled,onChange:_=>O({country_selector_enabled:_}),ariaLabel:m("Show selector")})}),!r&&h.country_selector_enabled&&o1(i6,{shown:x,children:l4(m("Which countries this website serves \u2014 and each region's own URL \u2014 is set in the admin console under {place}. Whether the picker is SHOWN stays here: that is header chrome, but the served-country list has tax consequences and belongs with commerce configuration."),{place:o1("strong",{children:m("Storefront \u203A Settings \u203A Regions & currencies")})})}),o1(y5,{label:"Account and cart"}),o1(y3,{label:"Account",children:o1(Ws,{checked:h.account_enabled??!0,onChange:_=>O({account_enabled:_}),ariaLabel:m("Account")})}),o1(y3,{label:"Cart",children:o1(Ws,{checked:h.cart_enabled??!0,onChange:_=>O({cart_enabled:_}),ariaLabel:m("Cart")})}),o1(Mn,{shown:x,onChange:w})]}),k.id==="look"&&Q0(p9,{children:[o1(y5,{label:"Dimensions"}),o1(y3,{label:z0.width.label,children:o1(D6,{value:z0.width.choose(h.width),options:z0.width.options,onChange:_=>O({width:_}),ariaLabel:z0.width.label})}),Q0("div",{className:"flex flex-col gap-1.5",children:[Q0("div",{className:"flex items-center justify-between",children:[o1("span",{id:JE,className:"text-[13px] text-[var(--ink-muted)]",children:m("Height")}),Q0("span",{className:"flex items-center gap-1",children:[Q0("span",{className:"sf-header-value text-[12px] tabular-nums text-[var(--ink-faint)]","data-changed":h.height_px!=null||void 0,children:[h.height_px??j3.default,"px"]}),o1(ng,{label:m("Height"),words:c.panel,changed:h.height_px!=null,onReset:()=>B(null)})]})]}),o1(hg,{labelledBy:JE,min:j3.min,max:j3.max,step:2,value:h.height_px??j3.default,onPreview:_=>B(_,!1),onCommit:_=>B(_,!0)}),o1(i6,{shown:x,children:m("Sets how tall the header bar is; the content below it shifts down to match.")})]}),o1(y3,{label:"Border thickness",children:o1("div",{className:"w-24",children:o1(DX,{value:h.border_thickness,min:0,max:20,precision:0,size:"sm",suffix:"px","aria-label":m("Border thickness"),onChange:_=>O({border_thickness:Math.max(0,_??0)})})})}),o1(y5,{label:"Color"}),o1(y3,{label:"Theme",children:o1(TC,{value:h.theme??Zs,onChange:_=>O({theme:_===Zs?null:_}),followLabel:m("Follow the site theme")})}),o1(i6,{shown:x,children:m("The color the bar paints once it is solid \u2014 after any scroll, and on every product page from the first paint. Follow the site theme keeps it on whatever palette the site is on.")}),o1(y3,{label:z0.topTextColor.label,children:o1(D6,{value:z0.topTextColor.choose(h.top_text_color),options:z0.topTextColor.options,onChange:_=>O({top_text_color:_}),ariaLabel:z0.topTextColor.label})}),o1(i6,{shown:x,children:m("Auto reads what the first section on each page says it is \u2014 dark, light or accent \u2014 and picks the text that can be read on it. Set Light or Dark to decide it yourself when Auto reads a page wrong.")}),o1(y5,{label:"Behavior"}),o1(y3,{label:"Sticky header",children:o1("div",{className:"w-32",children:o1(mg,{value:h.sticky,ariaLabel:m("Sticky header"),onChange:_=>O({sticky:_}),options:[{label:m("None"),value:"none"},{label:m("Always"),value:"always"},{label:m("On scroll up"),value:"on_scroll_up"}]})})}),n&&Q0(p9,{children:[o1(y5,{label:"Display mode"}),o1("p",{className:"text-[12px] text-[var(--ink-faint)]",children:m("Set the default Light / Dark / Auto mode and show or hide the light\u2194dark switch in Appearance.")}),o1(pg,{variant:"link",size:"sm",className:"self-start",onClick:n,children:m("Set up display mode \u2192")})]}),o1(Mn,{shown:x,onChange:w})]})]})]}):d?null:o1(ZX,{size:"sm",padding:"p-4",label:m("Loading\u2026")})]});return o?Q0("div",{className:"flex flex-col",children:[v&&o1("div",{className:"px-4 pt-2 text-[11px] text-[var(--ink-faintest)]",children:m("Saving\u2026")}),i1]}):Q0(BX,{open:!0,onClose:a??(()=>{}),side:"right",size:"sm",title:m("Header"),children:[v&&o1("div",{className:"pb-2 text-[11px] text-[var(--ink-faintest)]",children:m("Saving\u2026")}),i1]})}function QX({settings:e,websiteName:t,onPick:a,onClear:s,showHint:o}){let r=!!e.logo_url,i=!r&&!!e.default_logo_url,n=U5(e.effective_logo_url),l=t&&t.trim()?t.trim():Ke;return Q0("div",{className:"flex flex-col gap-2",children:[o1(GX,{value:n||"",onChange:c=>{c||s()},onPick:a,accept:"image/svg+xml,.svg",acceptHint:"SVG",fit:"contain",height:80,placeholder:m("No logo \u2014 \u201C{name}\u201D wordmark shown",{name:l}),replaceLabel:r?m("Replace SVG logo"):m("Upload SVG logo"),allowRemove:r,removeLabel:m("Use company default")}),o1(i6,{shown:o,children:r?m("Custom SVG logo uploaded for this store."):i?m("Using your company logo from the database."):m("No company logo on file \u2014 upload an SVG or the wordmark is used.")})]})}function eJ({token:e,menuId:t,menuName:a,itemCount:s,onPick:o}){let r=b3(),[i,n]=J7(null),[l,c]=J7(!1),h=r6(f=>{n(f),c(!0)},[]);Us(()=>{let f=!1;return RE(e).then(b=>!f&&h(b)).catch(()=>!f&&n([])),()=>{f=!0}},[e,h]),Us(()=>{let f=!1,b=U7(()=>{_E(e).then(x=>!f&&h(x)).catch(()=>{})});return()=>{f=!0,b()}},[e,h]);let p=i===null,d=!p&&(i?.length??0)===0,u=!p&&(i??[]).some(f=>f.id===t),v=u?t:"",g=l&&!!t&&!u;return Q0("div",{className:"flex flex-col gap-2",children:[o1(y3,{label:"Menu",children:o1("div",{className:"w-[170px] max-w-full",children:o1(mg,{value:v,ariaLabel:m("Menu"),readOnly:p||d,onChange:f=>{let b=f?(i??[]).find(x=>x.id===f):null;o(b?{...b,items:b.items.map(x=>({...x,dropdown_items:(i??[]).find(w=>w.id===x.dropdown_menu)?.items.map(w=>({label:w.label,url:w.url}))??[]}))}:null)},options:[{label:p?m("Loading\u2026"):d?m("No menus"):m("Default links"),value:""},...(i??[]).map(f=>({label:`${f.name} (${f.item_count??f.items.length})`,value:f.id}))]})})}),g?o1("p",{className:"text-[12px] text-[var(--sf-warning,#b45309)]",children:KE()}):o1("p",{className:"text-[12px] text-[var(--ink-faint)]",children:v?J2("Header shows \u201C{name}\u201D \u2014 {n} link.","Header shows \u201C{name}\u201D \u2014 {n} links.",s,{name:a??m("the linked menu")}):d?m("No menus yet. Create one in {place}, then pick it here.",{place:m("Storefront \u2192 Menus")}):m("Pick a menu to drive the header links, or keep the built-in default links.")}),o1(pg,{variant:"link",size:"sm",className:"self-start",onClick:()=>r.send("storefront-editor:open-menus",{menuId:v||null}),children:v?m("Edit menu \u2192"):m("Manage menus \u2192")})]})}function i6({shown:e,children:t}){return e?o1("p",{className:"text-[11px] text-[var(--sf-muted)]",children:t}):null}function hg({labelledBy:e,value:t,min:a,max:s,step:o,onPreview:r,onCommit:i}){let n=l=>{l instanceof HTMLInputElement&&l.type==="range"&&i(Number(l.value))};return o1("div",{onPointerUp:l=>n(l.target),onKeyUp:l=>{/^(Arrow|Home|End|Page)/.test(l.key)&&n(l.target)},children:o1(WX,{value:t,min:a,max:s,step:o,showInput:!1,size:"sm","aria-labelledby":e,valueText:l=>m("{n} pixels",{n:l}),onChange:l=>{l!=null&&r(l)}})})}function tJ({label:e,value:t,children:a}){return Q0("div",{className:"flex flex-col gap-1.5",children:[Q0("div",{className:"flex items-center justify-between",children:[o1("span",{className:"text-[13px] text-[var(--ink-muted)]",children:m(e)}),t&&o1("span",{className:"text-[12px] text-[var(--ink-faint)]",children:m(t)})]}),a]})}function y5({label:e}){return o1(Ve,{label:e})}function y3({label:e,children:t}){return Q0("div",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-[7px]",children:[o1("span",{className:"text-[13px] text-[var(--sf-text-secondary)]",children:m(e)}),o1("div",{className:"flex-shrink-0",children:t})]})}var aJ=[{label:"Left",value:"left"},{label:"Center",value:"center"}],sJ=[{label:"Left",value:"left"},{label:"Right",value:"right"}],oJ=[{label:"Right",value:"left"},{label:"Centered",value:"center"},{label:"Beside logo",value:"beside"}],rJ=[{label:"Own row",value:"top"},{label:"Same row",value:"inline"}],iJ=[{label:xe.page,value:"page"},{label:xe.full,value:"full"}],nJ=[{label:"Icon",value:"icon"},{label:"Text",value:"text"}],lJ=[{label:"Uppercase",value:"uppercase"},{label:"Capitalised",value:"capitalised"}],cJ=[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],z0={logoPosition:{label:"Position",options:aJ,choose:e=>e==="right"?"center":e},menuAlign:{label:"Alignment",options:oJ,choose:e=>e==="center"?"center":e==="beside"?"beside":"left"},menuRow:{label:"Row",options:rJ,choose:e=>e==="inline"?"inline":"top"},searchPosition:{label:"Position",options:sJ,choose:e=>e},width:{label:"Width",options:iJ,choose:e=>e},navTextCase:{label:"Letters",options:lJ,choose:e=>e==="capitalised"?"capitalised":"uppercase"},utilStyle:{label:"Show as",options:nJ,choose:e=>e==="text"?"text":"icon"},topTextColor:{label:"Text color at the top",options:cJ,choose:e=>Lt(e)}};import{useState as ug}from"react";import{Banner as hJ,Button as gg}from"efficient-shell/ui";import{createNode as pJ,newId as mJ}from"efficient-easel/data";import{useEasel as dJ}from"efficient-easel/easel";function QE(e){return typeof e=="number"&&Number.isInteger(e)&&e>=j3.min&&e<=j3.max?e:j3.default}var jl=e=>!!e&&e.startsWith("/wheels/")&&e!=="/wheels",Kl=(e,t)=>!e&&t?"var(--section-bg)":"var(--bg)",eH=e=>e==="capitalised"?"capitalised":"uppercase",$l=e=>e==="inline"?"inline":e==="top"||e==="bottom"?"top":null;var tH="Flex",aH=10;function sH(e,t,a,{logoHeightPx:s}={}){let o=e.util_style==="text"?"text":"icon",r={...e.menu?{id:e.menu}:{},...e.menu_handle?{handle:e.menu_handle}:{},...e.menu_name?{name:e.menu_name}:{},items:(e.menu_items??[]).map(({label:u,url:v})=>({label:u,url:v}))},i=e.search_enabled?t("SearchBlock",{style:o}):null,n=e.search_position==="left",l=[n?i:null,e.country_selector_enabled?t("CountrySwitchBlock"):null,e.cart_enabled!==!1?t("CartBlock",{style:o}):null,n?null:i].filter(u=>u!==null),c=t(tH,{direction:"row",justify:"between",align:"center",share:"content",wrap:"nowrap",phoneRow:3,sectionPaddingTop:aH,sectionPaddingBottom:aH,content:[t("LogoBlock",s?{heightPx:s}:{}),t("MenuBlock",{menu:r,direction:"row"}),...l.length?[t(tH,{direction:"row",justify:"end",align:"center",share:"content",wrap:"nowrap",phoneRow:3,content:l})]:[]]}),h=Xz(z4,a,[c]),p=Gs(e.theme),d=$l(e.menu_row);return{...h,props:{...h.props,sticky:e.sticky??"always",topTextColor:e.top_text_color??"auto",...e.height_px!=null?{heightPx:e.height_px}:{},...e.width==="full"?{fullWidth:!0}:{},...p!==null?{sectionAccent:p}:{},...e.nav_text_case?{navTextCase:e.nav_text_case}:{},...d?{menuRow:d}:{}}}}import{Fragment as uJ,jsx as Yl,jsxs as gJ}from"react/jsx-runtime";function vg(){let{appState:e,dispatch:t,config:a}=dJ(g=>g),{readOnly:s,tokenRef:o,siteId:r}=ke(),[i,n]=ug(!1),[l,c]=ug(!1),[h,p]=ug(!1),d=e.data.content;if(s||d.some(g=>g.type===z4))return null;let u=(g,f)=>pJ(a,g,f),v=async()=>{let g=o.current;if(!(!g||l)){c(!0),p(!1);try{let f=await h9(g,r),b=f.logo_size_px??zs[f.logo_size],x=sH(f,u,mJ(z4),{logoHeightPx:b});t({type:"setData",data:w=>({...w,content:[...Jz(w.content,x)]}),recordHistory:!0}),n(!1)}catch{p(!0)}finally{c(!1)}}};return Yl(hJ,{tone:h?"danger":"info",title:m("This header uses the old layout"),action:i?gJ(uJ,{children:[Yl(gg,{variant:"primary",size:"sm",onClick:v,disabled:l,children:l?m("Switching\u2026"):m("Switch now")}),Yl(gg,{variant:"secondary",size:"sm",onClick:()=>n(!1),disabled:l,children:m("Cancel")})]}):Yl(gg,{variant:"secondary",size:"sm",onClick:()=>n(!0),children:m("Switch to Box header")}),children:h?m("The header settings could not be read. Try again."):m("Build it out of Boxes and blocks: the logo, menu, search, region and cart become blocks you can move. Your current header is kept.")})}import{Fragment as vJ,jsx as fg,jsxs as fJ}from"react/jsx-runtime";function bg({placeholderMode:e,tokenRef:t,siteId:a,websiteName:s,onOpenWebsiteSettings:o,onAuthExpired:r}){return fJ(vJ,{children:[e?null:fg("div",{className:"px-4 pt-3 pb-1",children:fg(vg,{})}),fg(dg,{inline:!0,placeholderMode:e,tokenRef:t,siteId:a,websiteName:s??void 0,onOpenWebsiteSettings:o,onAuthExpired:r})]})}import{useEffect as bJ,useState as xJ}from"react";function Tt({fetch:e,keyBy:t}){let a=null,s=null,o=null;return(r=!1)=>{let i=N3(),n=t?t():null;return(r||!a||s===null&&i!==null||o!==n)&&(s=i,o=n,a=i||!cs().usesBridgedToken?e(i??"",n).catch(()=>[]):Promise.resolve([])),a}}var n6=Tt({fetch:(e,t)=>F1.listProducts(e,{siteId:t,kinds:["alloy-wheel","tyre"]}),keyBy:v2}),M2=(e=!1)=>n6(e).then(t=>t.filter(a=>a.kind==="alloy-wheel"));function oH(e){let[t,a]=xJ(null);return bJ(()=>{let s=!1;return e().then(o=>{s||a(o)}),()=>{s=!0}},[e]),t}function Xl(){return oH(M2)}function rH(){return oH(n6)}var nH={list:async()=>(await M2()).map(e=>({slug:e.slug,name:e.name,href:Bi(e.slug)}))},iH=new Map;function wJ(e){let t=e??"",a=N3(),s=iH.get(t);if(s&&!(s.token===null&&a!==null))return s.promise;let o=a&&e?F1.listFieldUsage(a,e).then(UT).catch(()=>[]):Promise.resolve([]);return iH.set(t,{promise:o,token:a}),o}var lH={load:async e=>{let[t,a]=await Promise.all([n6().catch(()=>[]),wJ(e??void 0)]);return qT({catalogue:t,fieldUsage:a,offersCommerce:!0})}};var xg=[{key:"cart",label:"Cart",href:"/?cart=open"},{key:"checkout",label:"Checkout",href:"/checkout"}],yJ=Object.fromEntries(xg.map(e=>[e.key,e]));function cH(e){return yJ[e]}import{jsx as qs,jsxs as hH}from"react/jsx-runtime";var zJ={cart:hH("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[qs("circle",{cx:"9",cy:"20",r:"1.4"}),qs("circle",{cx:"18",cy:"20",r:"1.4"}),qs("path",{d:"M2 3h2.2l2.1 12.3a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2L21.5 7H5.3"})]}),checkout:hH("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[qs("rect",{x:"2.5",y:"5",width:"19",height:"14",rx:"2"}),qs("path",{d:"M2.5 9.5h19"})]})},pH={get title(){return m("Shop")},get rows(){return xg.map(e=>({...e,label:m(e.label),icon:zJ[e.key]}))}};import{useCallback as VJ,useEffect as RJ,useRef as _J,useState as kH}from"react";var kJ=[{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"}],CJ=Object.fromEntries(kJ.map(e=>[e.code,e.name]));function mH(e){return CJ[e]??e}import{jsx as wg,jsxs as dH}from"react/jsx-runtime";function uH(e,t,a){let s=new Map(e.map(o=>[o.code,o]));return(t?.length?t:e.map(o=>o.code)).map(o=>{let r=s.get(o);return{code:o,name:r?.name||mH(o),currency:r?.currency,url:r?.url||a?.[o]||""}})}function Jl(e){let{countries:t}=x0();return uH(t,e).length>0}function m9({urls:e,countries:t}={}){let{country:a,setCountry:s,countries:o}=x0(),r=uH(o,t,e),i=r.find(p=>p.code===a)??r[0];function n(p){let d=(e?r.find(u=>u.code===p)?.url:"")?.trim();if(d){window.location.href=d;return}o.some(u=>u.code===p)&&s(p)}let l=r.map(p=>({value:p.code,label:p.name,meta:p.currency})),c=ht({items:l,value:a,onPick:n});if(!i)return null;let h=c.open;return dH("div",{ref:c.wrapRef,className:"relative",children:[dH("button",{ref:p=>{c.triggerRef.current=p},type:"button","aria-haspopup":"listbox","aria-expanded":h,"aria-controls":h?c.listId:void 0,"aria-activedescendant":c.activeId,"aria-label":`Region: ${i.name}. Click to change.`,onClick:c.toggle,onKeyDown:c.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:[wg("span",{children:i.name}),wg("span",{"aria-hidden":!0,className:`text-[11px] opacity-70 transition-transform ${h?"rotate-180":""}`,children:"\u25BE"})]}),h&&wg(pt,{id:c.listId,tone:"region",ariaLabel:"Choose region",items:l,value:a,focusIdx:c.focusIdx,onFocus:c.setFocusIdx,onPick:c.pick,listRef:c.listRef})]})}import{useEffect as SJ,useRef as gH}from"react";import{jsx as J4,jsxs as yg}from"react/jsx-runtime";var js={search:"Search",account:"Account",cart:"Bag"},zg="whitespace-nowrap";function MJ(e){return e>99?"99+":String(e)}function AJ({count:e,ref:t}){return J4("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:J4("span",{style:{color:"var(--sf-header-ground, var(--bg))"},children:MJ(e)})})}function Ql({onClick:e,count:t,asText:a,className:s}){let o=gH(null),r=gH(t);return SJ(()=>{r.current!==t&&(r.current=t,!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&o.current?.animate([{transform:"scale(0.6)"},{transform:"scale(1)"}],{duration:180,easing:"ease-out"}))},[t]),J4("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?yg("span",{className:zg,children:[js.cart,t>0?` ${t}`:""]}):yg("span",{className:"relative inline-flex",children:[J4("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:XS}),t>0?J4(AJ,{count:t,ref:o}):null]})})}function vH({asText:e,className:t}){return J4(T1,{href:"/account","aria-label":"Account",className:`mono-eyebrow-ctl inline-flex items-center opacity-80 transition-opacity hover:opacity-100 ${t??""}`,children:e?J4("span",{className:zg,children:js.account}):yg("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:[J4("circle",{cx:"12",cy:"8",r:"3.4"}),J4("path",{d:"M5 20a7 7 0 0 1 14 0"})]})})}function ec({onClick:e,asText:t,className:a}){return J4("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?J4("span",{className:zg,children:js.search}):J4(O6,{name:"search",size:18,strokeWidth:1.6,rounded:!0})})}import{jsx as LJ}from"react/jsx-runtime";function Et(){return LJ("span",{className:"opacity-50",children:m(ZE)})}import{jsx as TJ}from"react/jsx-runtime";import{createContext as EJ,useContext as kg,useEffect as HJ,useState as FJ,useSyncExternalStore as PJ}from"react";var bH=[];function NJ(){let e=bH,t=new Set,a=s=>{e=s;for(let o of t)o()};return{offer:s=>(a([...e,s]),()=>{let o=e.indexOf(s);o>=0&&a([...e.slice(0,o),...e.slice(o+1)])}),subscribe:s=>(t.add(s),()=>t.delete(s)),offered:()=>e}}var tc=EJ(null);function xH({children:e}){let[t]=FJ(NJ);return TJ(tc.Provider,{value:t,children:e})}var ac=()=>kg(tc)!==null;function Cg(e){let t=kg(tc);HJ(()=>{if(!(!t||!e))return t.offer(e)},[t,e])}var IJ=()=>()=>{},fH=()=>bH;function wH(){let e=kg(tc),t=PJ(e?.subscribe??IJ,e?.offered??fH,fH);return e?{search:t.includes("search"),region:t.includes("region"),account:t.includes("account"),theme:t.includes("theme")}:null}import{useEffect as sc}from"react";function Q4({active:e,onDismiss:t,focusRef:a,lockScroll:s=!0,scopeRef:o}){sc(()=>{if(!e)return;let r=o?.current?.ownerDocument??document,i=n=>{n.key==="Escape"&&t()};return r.addEventListener("keydown",i),()=>r.removeEventListener("keydown",i)},[e,t,o]),sc(()=>{if(!e||!s)return;let r=(o?.current?.ownerDocument??document).body,i=r.style.overflow;return r.style.overflow="hidden",()=>{r.style.overflow=i}},[e,s,o]),sc(()=>{if(!e)return;let r=(o?.current?.ownerDocument??document).documentElement,i=n=>{let l=Number(r.getAttribute(Sg)||0)+n;l>0?r.setAttribute(Sg,String(l)):r.removeAttribute(Sg)};return i(1),()=>i(-1)},[e,o]),sc(()=>{e&&a?.current?.focus()},[e,a])}var Sg="data-sf-overlay";function Ht(e){let t=(e??"").trim();return t===""||t==="#"}import{jsx as E0,jsxs as l6}from"react/jsx-runtime";var OJ=e=>/^https?:\/\//i.test(e),CH="flex list-none flex-col gap-2.5 text-[13px]",Mg="mb-4 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",yH="text-[12px] italic text-fg-dim/70",SH=(e,t)=>e&&t>0?"border-t border-line pt-2.5":"";function BJ({showDividers:e}){return E0("ul",{className:CH,children:Array.from({length:ag},(t,a)=>E0("li",{className:`text-fg ${SH(e,a)}`,children:E0(Et,{})},a))})}function MH({item:e,label:t,link:a,onNavigate:s}){return Ht(e.url)?E0("span",{className:t,children:M(e.label)}):OJ(e.url)?E0("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:a,onClick:s,children:M(e.label)}):E0(T1,{href:e.url,className:a,onClick:s,children:M(e.label)})}function zH({items:e,showDividers:t}){return E0("ul",{className:CH,children:e.map((a,s)=>E0("li",{className:SH(t,s),children:E0(MH,{item:a,label:"text-fg",link:"text-fg transition-colors hover:text-accent"})},`${a.label}-${s}`))})}var DJ="opacity-80 transition-opacity hover:opacity-100";function ZJ({items:e,label:t,editing:a}){let[s,o]=kH(!1),r=_J(null),i=wH(),{open:n}=Ct(),l=t||"Menu",c=VJ(()=>o(!1),[]);Q4({active:s,onDismiss:c,scopeRef:r});let h=(d,u,v)=>e===null?Array.from({length:ag},(g,f)=>E0("li",{className:u,children:E0(Et,{})},f)):e.map((g,f)=>E0("li",{className:u,children:E0(MH,{item:g,label:d,link:`${d} ${DJ}`,onNavigate:v})},`${g.label}-${f}`)),p=i&&(i.search||i.region)?i:null;return l6("nav",{ref:r,"aria-label":l,"data-menu-row":"",className:"min-w-0",children:[E0("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("","")}),E0("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:()=>o(d=>!d),children:E0("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round","aria-hidden":"true",children:s?E0("path",{d:"M6 6l12 12M18 6L6 18"}):E0("path",{d:"M4 7h16M4 12h16M4 17h16"})})}),s?l6("div",{role:"dialog","aria-label":l,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:[E0("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",c)}),p?l6("div",{className:"mt-auto flex flex-col gap-3.5 border-t border-line bg-surface p-5",children:[p.search?l6("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:()=>{c(),n()},children:[E0(O6,{name:"search",size:18,strokeWidth:1.6,rounded:!0}),js.search]}):null,p.region?l6("div",{className:"flex items-center justify-between",children:[E0("span",{className:"mono-eyebrow text-fg-dim",children:"Region"}),E0(m9,{})]}):null]}):null]}):null]})}function Ks({menu:e,heading:t,accordionMobile:a=!1,showDividers:s=!1,editing:o=!1,layout:r="column"}){let{live:i,ready:n}=Zl(),l=OE({id:e?.id,handle:e?.handle,editing:o,ready:n,live:i}),c=l?[]:e?.items??[],h=t||e?.name||"",[p,d]=kH(!1);return RJ(()=>{if(!a)return;let u=window.matchMedia("(max-width: 800px)"),v=()=>d(u.matches);return v(),u.addEventListener("change",v),()=>u.removeEventListener("change",v)},[a]),r==="row"?E0(ZJ,{items:l?null:c,label:h,editing:o}):l?l6("div",{className:"min-w-0",children:[E0("h4",{className:Mg,children:t?j0(t):m(WE)}),E0(BJ,{showDividers:s}),E0("p",{className:`mt-3 ${yH}`,children:m(UE)})]}):c.length===0?l6("div",{className:"min-w-0",children:[h?E0("h4",{className:Mg,children:j0(h)}):null,o?E0("p",{className:yH,children:m("This menu has no links yet \u2014 add them in {place}.",{place:m("Storefront \u2192 Menus")})}):null]}):a&&p?l6("details",{className:"min-w-0 border-b border-line",children:[l6("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:[j0(h),E0("span",{"aria-hidden":!0,children:"\uFF0B"})]}),E0("div",{className:"pb-3",children:E0(zH,{items:c,showDividers:s})})]}):l6("div",{className:"min-w-0",children:[h?E0("h4",{className:Mg,children:j0(h)}):null,E0(zH,{items:c,showDividers:s})]})}import{createContext as XJ,useCallback as c4,useContext as JJ,useEffect as QJ,useMemo as eQ,useRef as qH,useState as Nt}from"react";function $s(e){return typeof e=="number"?String(e):""}function AH(e){let t=$s(e);return t&&`${t} LUG`}function Ag(e){let t=e.spec?.lugs;return typeof t=="number"?t:null}function LH(e){let t=new Set;for(let a of e){let s=Ag(a);s!==null&&t.add(s)}return[...t].sort((a,s)=>a-s)}function GJ(e){return e.length===0?null:{min:Math.min(...e),max:Math.max(...e)}}function oc(e){let t=GJ(e);return t?pT(t.min,t.max):null}function TH(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 EH=5,PH=.2;function Ft(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,r=(a?a[2]:t).split(/[-/,]/).map(i=>Number(i.trim().replace(/[^\d.]/g,""))).filter(i=>Number.isFinite(i)&&i>0);return{holes:s,circles:r}}function Lg(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 NH(e){if(!e)return null;let t=Ft(e.pcd||e.boltPattern);if(t.holes===null||t.circles.length===0)return null;let a=t.circles[0],s=Lg(e.etRange),o=s?[s[0]-EH,s[1]+EH]:null;return{holes:t.holes,circle:a,centreBore:typeof e.centreBore=="number"&&e.centreBore>0?e.centreBore:null,etRange:o}}function WJ(e,t){return Math.abs(e-t)<=PH}function IH(e,t,a){let s=Ft(e);return(s.holes??t)!==a.holes?!1:s.circles.some(r=>WJ(r,a.circle))}function VH(e,t){return t.centreBore===null?!0:e+PH>=t.centreBore}function UJ(e,t){return e[0]<=t[1]&&e[1]>=t[0]}function d9(e,t){let a=`${t.holes}\xD7${t.circle}`;return e.pcds.length===0?{key:"unverifiable",wheel:"",vehicle:a}:e.pcds.some(s=>IH(s,e.lugs,t))?t.etRange!==null&&e.etRange!==null&&!UJ(e.etRange,t.etRange)?{key:"et",wheel:rc(e.etRange),vehicle:rc(t.etRange)}:e.centreBores.length>0&&!e.centreBores.some(s=>VH(s,t))?{key:"bore",wheel:`${e.centreBores.join(" / ")} mm`,vehicle:`${t.centreBore} mm`}:null:{key:"pcd",wheel:e.pcds.join(" / "),vehicle:a}}function RH(e){return{pcds:e.spec?.pcds??[],lugs:e.spec?.lugs??null,etRange:Lg(e.spec?.etRange),centreBores:e.spec?.centreBores??[]}}function ic(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 nc(e,t){let a=d9(e,t);return a===null||a.key!=="et"?a:d9(e,{...t,etRange:null})}function Tg(e,t){return d9(RH(e),t)}function _H(e,t){return d9(ic(e),t)}function qJ(e,t){return nc(ic(e),t)===null}function OH(e,t){return t?e.filter(a=>qJ(a,t)):[...e]}function jJ(e,t){return nc(RH(e),t)===null}function lc(e,t){return t?e.filter(a=>jJ(a,t)):e}var HH=1;function KJ(e,t){let a=e.spec?.pcds??[],s=e.spec?.centreBores??[],o=Lg(e.spec?.etRange);if(!t)return{pcds:a,etRange:o,centreBores:s};let r=e.spec?.lugs??null,i=a.filter(l=>IH(l,r,t)),n=s.filter(l=>VH(l,t));return{pcds:i.length>0?i:a,etRange:o,centreBores:n.length>0?n:s}}function rc(e){return Tl(e[0],e[1])}function FH(e){let t=e.slice(0,HH).join(" / "),a=e.length-HH;return a>0?`${t} +${a}`:t}var BH="\xB7";function cc(e){return[{fieldKey:"diameter",text:oc(e.sizes)},{fieldKey:"holes",text:AH(e.spec?.lugs)}].filter(t=>!!t.text)}function DH(e,t){let{pcds:a,etRange:s,centreBores:o}=KJ(e,t),r=[];return a.length>0&&r.push({fieldKey:"pcd",text:`PCD ${FH(a)}`}),s!==null&&r.push({fieldKey:"et",text:rc(s)}),o.length>0&&r.push({fieldKey:"center_bore",text:`C/B ${FH(o)} mm`}),r}function Pt(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?rc(e.etRange):null}]:[]}function ZH(e){return Pt(e).map(t=>t.value).filter(t=>t!==null).join(" \xB7 ")}var Ys={default:"Sort \xB7 Featured",new:"Newest","price-asc":"Price \xB7 Low","price-desc":"Price \xB7 High",name:"Name A\u2013Z"},hc={process:null,size:null,lugs:null,finish:null,priceMin:null,priceMax:null,sort:"default"};function $J(e,t,a){return!(t.process&&e.process!==t.process||t.size&&!e.sizes.includes(t.size)||t.lugs!=null&&Ag(e)!==t.lugs||t.finish&&!e.finishes.some(s=>s.family===t.finish)||!Dn(e.prices,a,t.priceMin,t.priceMax))}function YJ(e,t,a){return[...e].sort((s,o)=>{switch(t){case"price-asc":return ot(s.prices,o.prices,a,"asc");case"price-desc":return ot(s.prices,o.prices,a,"desc");case"name":return s.name.localeCompare(o.name);case"new":return(o.badge==="new"?1:0)-(s.badge==="new"?1:0);default:return 0}})}function GH(e,t,a,s=null){let o=lc(e,s);return YJ(o.filter(r=>$J(r,t,a)),t.sort,a)}import{jsx as aQ}from"react/jsx-runtime";var jH={fit:null,name:"",resolving:!1,unresolved:!1};function tQ(e,t){return e.fit===t.fit&&e.name===t.name&&e.resolving===t.resolving&&e.unresolved===t.unresolved}var F4=()=>{},KH=XJ({filters:hc,setProcess:F4,setSize:F4,setLugs:F4,setFinish:F4,setPriceMin:F4,setPriceMax:F4,setSort:F4,clearAll:F4,reportCount:F4,total:0,reportLugs:F4,lugOptions:[],reportSizes:F4,sizeOptions:[],reportFinishes:F4,finishOptions:[],optionsReported:!1,scrollProcess:null,vehicle:jH,publishVehicle:F4}),pc="data-catalog-collection",WH=(e,t)=>e-t;function UH(e,t){return e.length===t.length&&e.every((a,s)=>a===t[s])}function Eg(e){let t=qH(new Map),[a,s]=Nt([]),o=c4((r,i)=>{let n=t.current.get(r);if(n&&UH(n,i))return;t.current.set(r,i);let l=new Set;for(let h of t.current.values())for(let p of h)l.add(p);let c=[...l].sort(e);s(h=>UH(h,c)?h:c)},[e]);return[a,o]}function $H({children:e}){let[t,a]=Nt(hc),s=c4(j=>a(B=>({...B,process:j})),[]),o=c4(j=>a(B=>({...B,size:j})),[]),r=c4(j=>a(B=>({...B,lugs:j})),[]),i=c4(j=>a(B=>({...B,finish:j})),[]),n=c4(j=>a(B=>({...B,priceMin:j})),[]),l=c4(j=>a(B=>({...B,priceMax:j})),[]),c=c4(j=>a(B=>({...B,sort:j})),[]),h=c4(()=>a(j=>({...hc,sort:j.sort})),[]),[p,d]=Nt(jH),u=c4(j=>{d(B=>tQ(B,j)?B:j)},[]),v=qH(new Map),[g,f]=Nt(0),b=c4((j,B)=>{if(v.current.get(j)===B)return;v.current.set(j,B);let $=0;for(let W of v.current.values())$+=W;f($)},[]),[x,w]=Eg(WH),[z,k]=Eg(WH),[L,V]=Eg(wA),[P,E]=Nt(!1),I=c4((j,B)=>{E(!0),w(j,B)},[w]),F=c4((j,B)=>{E(!0),k(j,B)},[k]),H=c4((j,B)=>{E(!0),V(j,B)},[V]),[O,q]=Nt(null);QJ(()=>{let B=0,t1=()=>{B=0;let W=null,i1=document.querySelectorAll(`[${pc}]`);for(let _ of i1){let D=_.getBoundingClientRect();if(D.top<=140&&D.bottom>140){W=_.getAttribute(pc)??null;break}}q(W)},$=()=>{B||(B=requestAnimationFrame(t1))};return t1(),window.addEventListener("scroll",$,{passive:!0}),window.addEventListener("resize",$),()=>{window.removeEventListener("scroll",$),window.removeEventListener("resize",$),B&&cancelAnimationFrame(B)}},[]);let R=eQ(()=>({filters:t,setProcess:s,setSize:o,setLugs:r,setFinish:i,setPriceMin:n,setPriceMax:l,setSort:c,clearAll:h,reportCount:b,total:g,reportLugs:I,lugOptions:x,reportSizes:F,sizeOptions:z,reportFinishes:H,finishOptions:L,optionsReported:P,scrollProcess:O,vehicle:p,publishVehicle:u}),[t,s,o,r,i,n,l,c,h,b,g,I,x,F,z,H,L,P,O,p,u]);return aQ(KH.Provider,{value:R,children:e})}function mc(){return JJ(KH)}import{useCallback as uQ,useEffect as gc,useRef as sF,useState as Js}from"react";var sQ={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function YH(e){let t={};for(let a of tn){let s=e[a];if(!s)continue;let o=fe({role:s},sQ);o.fontFamily&&(t[wd[a].font]=o.fontFamily),o.fontSize&&(t[wd[a].size]=o.fontSize)}return t}import{useEffect as iQ}from"react";import{useEffect as XH,useState as u9}from"react";import{jsx as It,jsxs as rQ}from"react/jsx-runtime";function c6(e,t){let[a,s]=u9(void 0),[o,r]=u9(0);return XH(()=>{if(t!==void 0)return;if(!e){s(null);return}let i=!1;return f0.getForm(e).then(n=>{i||s(n)}).catch(()=>{i||s(null)}),()=>{i=!0}},[t,e,o]),XH(()=>{if(t===void 0)return zl(()=>r(i=>i+1))},[t]),t!==void 0?t:a}var oQ="Something went wrong \u2014 your submission wasn't sent. Please try again.";function Vt(e,t="Thanks \u2014 we've received your submission."){return e.successMessage?.trim()||t}function Q7({form:e,formSlug:t,editing:a=!1}){let[s,o]=u9({}),[r,i]=u9(""),[n,l]=u9(!1),[c,h]=u9(!1),[p,d]=u9(null);async function u(v){if(v.preventDefault(),!(a||n||!e||!t)){l(!0),d(null);try{let g=e.fields.map(f=>({fieldKey:f.key,value:s[f.key]??""}));await f0.submitForm(t,{answers:g,...r?{company:r}:{}}),h(!0)}catch{d(oQ)}finally{l(!1)}}}return{valueOf:v=>s[v]??"",set:(v,g)=>o(f=>({...f,[v]:g})),honeypot:r,setHoneypot:i,submitting:n,done:c,error:p,handleSubmit:u}}function Rt({value:e,onChange:t}){return It("input",{type:"text",name:"company",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"hidden",value:e,onChange:a=>t(a.target.value)})}function e8({field:e,value:t,onChange:a,className:s,rows:o=5,placeholder:r}){let i=r??e.placeholder;return e.type==="textarea"?It("textarea",{required:e.required,rows:o,value:t,placeholder:i,onChange:n=>a(n.target.value),className:s}):e.type==="select"?rQ("select",{required:e.required,value:t,onChange:n=>a(n.target.value),className:s,children:[It("option",{value:"",children:i||"Select\u2026"}),e.options.map(n=>It("option",{value:n,children:n},n))]}):e.type==="checkbox"?It("input",{type:"checkbox",required:e.required,checked:t==="true",onChange:n=>a(n.target.checked?"true":""),className:s}):It("input",{type:e.type==="email"?"email":e.type==="tel"?"tel":"text",required:e.required,value:t,placeholder:i,onChange:n=>a(n.target.value),className:s})}import{jsx as Xs}from"react/jsx-runtime";var JH="font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim";function e5({size:e,children:t}){return e==="tall"?Xs("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:Xs("p",{className:JH,children:t})}):Xs("section",{className:"relative z-[2] border-t border-line bg-surface",children:Xs("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:Xs("p",{className:JH,children:t})})})}import{jsx as z3,jsxs as dc}from"react/jsx-runtime";var QH="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 nQ({field:e,value:t,onChange:a}){let s={field:e,value:t,onChange:a};return e.type==="checkbox"?dc("label",{className:"flex items-start gap-3",children:[z3(e8,{...s,className:"mt-1 size-4 accent-accent"}),dc("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.16em] text-fg",children:[e.label,e.required?z3("span",{className:"text-accent",children:" *"}):null]})]}):z3(t3,{label:e.label,required:e.required,children:z3(e8,{...s,className:e.type==="textarea"?QH+" resize-y":QH})})}function Hg({formSlug:e,heading:t,intro:a,submitText:s,finePrint:o,form:r,editing:i=!1}={}){let n=c6(e,r);if(n===void 0)return z3(e5,{size:"short",children:m("Loading form\u2026")});if(n===null)return z3(e5,{size:"short",children:i?m("Choose a form in the inspector, under Form."):"This form is unavailable."});let l=(t??"").trim()||n.title;return z3("section",{className:"relative z-[2] border-t border-line bg-surface",children:dc("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:[l&&z3("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:l}),(a??"").trim()&&z3("p",{className:"mb-11 max-w-[640px] font-display text-[16px] leading-[1.6] text-fg-dim",children:a}),z3(Fg,{form:n,formSlug:e,submitText:s,finePrint:o,editing:i})]})})}function Fg({form:e,formSlug:t,submitText:a,finePrint:s,editing:o=!1,onSent:r}){let{valueOf:i,set:n,honeypot:l,setHoneypot:c,submitting:h,done:p,error:d,handleSubmit:u}=Q7({form:e,formSlug:t,editing:o});iQ(()=>{p&&r?.()},[p]);let v=(a??"").trim()||e.submitButtonText?.trim()||"Submit";return p?z3("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:Vt(e)}):dc("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:u,children:[e.fields.map(g=>z3(nQ,{field:g,value:i(g.key),onChange:f=>n(g.key,f)},g.key)),z3(Rt,{value:l,onChange:c}),d&&z3("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:d}),z3("button",{type:o?"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":v}),e.consentText?.trim()&&z3("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:e.consentText}),(s??"").trim()&&z3("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:s})]})}import{jsx as Pg,jsxs as cQ}from"react/jsx-runtime";import{jsx as lQ}from"react/jsx-runtime";function eF(){return lQ("span",{className:"block h-px w-[30px] bg-current"})}function hQ(e,t){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var pQ="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",mQ="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 _1({text:e,look:t="plain",size:a=13,scaled:s=!0,className:o="",classNameAfter:r=""}){if(t==="line")return cQ("div",{className:[o,mQ,r].filter(Boolean).join(" "),children:[Pg(eF,{}),Pg("span",{children:M(e)})]});let i=t==="filled"?pQ:hQ(a,s);return Pg("span",{className:[o,i,r].filter(Boolean).join(" "),children:M(e)})}import{useCallback as tF,useRef as dQ,useState as aF}from"react";function uc({source:e,dryRun:t=!1}){let[a,s]=aF("idle"),[o,r]=aF(null),i=dQ(!1),n=tF(()=>{i.current=!1,r(null),s("idle")},[]),l=tF(async c=>{if(!i.current){if(!nt(c.email)){s("invalid");return}i.current=!0,r(null),s("sending");try{t||await f0.createNewsletterSubscription(aE(c,e))}catch(h){i.current=!1,r(h),s("error");return}i.current=!1,s("sent")}},[e,t]);return{status:a,error:o,submit:l,reset:n}}import{Fragment as fQ,jsx as p0,jsxs as N2}from"react/jsx-runtime";var gQ=50,vc="font-[family-name:var(--pp-fieldlabel-font,var(--font-mono))] text-[length:var(--pp-fieldlabel-size,12px)]";function vQ(e){let t=ye({sectionAccent:$5(e.sectionAccent)}),a=Vi(e.sectionCorners,e.sectionCornerSides);return{className:t?.className??"",style:{...t?.style??{},...a??{},...YH(e.textStyles)}}}function oF({content:e,open:t=!0,onClose:a,onSent:s,inline:o=!1,prefillEmail:r="",source:i=n4.popup,mode:n="chosen",form:l}){let c=n==="chosen"?e.formSlug:"",h=c6(c||void 0,o?void 0:l??null),p=!!c&&!!h,[d,u]=Js(""),[v,g]=Js(""),[f,b]=Js(()=>new Set(e.interests.slice(0,1))),[x,w]=Js(e.frequencies[0]??""),{status:z,error:k,submit:L,reset:V}=uc({source:i,dryRun:o}),P=z==="sending",E=z==="invalid"?e.emailInvalidText:z==="error"?k instanceof A4?k.message:e.submitErrorText:null,[I,F]=Js(""),H=sF(null),O=sF(null);gc(()=>{t&&V()},[t,V]),gc(()=>{z==="sent"&&!o&&s?.()},[z]);let q=uQ(()=>a?.(),[a]);if(Q4({active:!o&&t,onDismiss:q}),gc(()=>{if(o||!t)return;let X=window.setTimeout(()=>O.current?.focus(),gQ);return()=>window.clearTimeout(X)},[o,t]),gc(()=>{!t||!r||g(r)},[t,r]),!o&&!t)return null;function R(X){b(m1=>{let c1=new Set(m1);return c1.has(X)?c1.delete(X):c1.add(X),c1})}function j(X){X.target===H.current&&a?.()}function B(X){X.preventDefault();let m1=v.trim().toLowerCase();F(m1),L({email:m1,firstName:d,interests:[...f],frequency:x})}let t1=e.successBody.replace(/\{email\}/g,I).replace(/\{issue\}/g,e.issueNumber),$=vQ(e),W=e.formSide==="left",i1=N2("div",{className:"flex flex-wrap items-center justify-between gap-5 uppercase tracking-[0.18em] text-fg-dim",children:[N2("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:[p0("span",{className:"block h-1.5 w-1.5 rounded-full bg-accent"}),M(e.finePrint)]}),!o&&p0("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:M(e.dismissText)})]}),_=N2(fQ,{children:[p0("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:p0(_1,{text:e.formLabel,scaled:!1,className:"mb-[18px]"})}),p0("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:J(e.formHeading)}),p0("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:M(e.formIntro,!0)})]}),D="px-11 py-12 max-[880px]:px-[26px] max-[880px]:py-8",Y;p&&h?Y=N2("div",{className:`relative flex min-h-[560px] flex-col max-[880px]:min-h-0 ${D}`,children:[_,p0("div",{className:"mt-8",children:p0(Fg,{form:h,formSlug:c,editing:o,onSent:s})}),p0("div",{className:"mt-auto pt-7",children:i1})]}):z!=="sent"?Y=N2("form",{onSubmit:B,noValidate:!0,className:`relative flex min-h-[560px] flex-col max-[880px]:min-h-0 ${D}`,children:[_,N2("div",{className:"mt-8 flex flex-col gap-[18px]",children:[p0(t3,{label:M(e.firstNameLabel),required:!0,labelFace:vc,children:p0("input",{type:"text",value:d,onChange:X=>u(X.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"})}),p0(t3,{label:M(e.emailLabel),required:!0,labelFace:vc,children:p0("input",{type:"email",value:v,onChange:X=>g(X.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"})}),N2("div",{className:"mt-1.5 flex flex-col gap-2.5",children:[p0(s9,{labelFace:vc,children:M(e.interestsLabel)}),p0("div",{className:"flex flex-wrap gap-2",children:e.interests.map((X,m1)=>{let c1=f.has(X);return p0("button",{type:"button",onClick:()=>R(X),"aria-pressed":c1,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",c1?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:X},`${X}-${m1}`)})})]}),e.frequencies.length>0&&N2("div",{className:"mt-1.5 flex flex-col gap-2.5",children:[p0(s9,{labelFace:vc,children:M(e.frequencyLabel)}),p0("div",{className:"flex border border-line",children:e.frequencies.map((X,m1)=>{let c1=x===X;return p0("button",{type:"button",onClick:()=>w(X),"aria-pressed":c1,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",m1<e.frequencies.length-1?"border-r border-line":"",c1?"bg-accent text-bg":"text-fg-dim hover:text-fg"].join(" "),children:X},`${X}-${m1}`)})})]})]}),N2("div",{className:"mt-auto flex flex-col gap-3.5 pt-7",children:[E&&p0("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:E}),N2("button",{type:"submit",disabled:P,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:[p0("span",{children:e.submitText}),p0("span",{className:"transition-transform group-hover:translate-x-[4px]",children:P?"\u2026":"\u2192"})]}),i1]})]}):Y=N2("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:[p0("div",{className:"flex h-16 w-16 items-center justify-center border border-accent font-display text-[32px] text-accent",children:"\u2713"}),p0("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:J(e.successHeading)}),p0("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:M(t1,!0)}),!o&&p0("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:M(e.keepBrowsingText)})]});let e1=N2("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 ${$.className}`.trim(),style:{...$.style,background:"var(--bg)",color:"var(--fg)",boxShadow:o?"0 30px 80px -30px rgba(0,0,0,0.5)":"0 60px 120px -20px rgba(0,0,0,0.7)",animation:o?void 0:"subscribe-rise 0.35s cubic-bezier(.2,.7,.2,1)"},children:[!o&&p0("button",{ref:O,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"}),N2("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:[N2("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:[p0("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)"}}),N2("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:[p0("div",{className:"absolute inset-[60px] rounded-full border",style:{borderColor:"color-mix(in oklab, var(--accent) 18%, transparent)"}}),p0("div",{className:"absolute inset-[140px] rounded-full border",style:{borderColor:"color-mix(in oklab, var(--accent) 14%, transparent)"}})]}),N2("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&&!o?"pr-[52px]":""].join(" "),children:[p0("span",{children:M(e.metaLabel)}),(e.issueLabel||e.issueNumber)&&N2("span",{children:[M(e.issueLabel)," ",p0("strong",{className:"font-normal text-accent",children:e.issueNumber})]})]}),N2("div",{className:"relative z-[2] flex flex-col gap-[18px] py-8",children:[p0("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:p0(_1,{text:e.kicker,size:12,scaled:!1})}),p0("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:J(e.heading)}),p0("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:M(e.deck,!0)})]}),e.stats.length>0&&p0("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((X,m1)=>N2("div",{children:[p0("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:M(X.label)}),p0("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:M(X.value)})]},`${X.label}-${m1}`))})]}),Y]})]});return o?p0("div",{className:"flex w-full justify-center p-6","data-subscribe-preview":!0,children:e1}):N2("div",{ref:H,onClick:j,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:[e1,p0("style",{children:`
4
4
  @keyframes subscribe-fade { from { opacity: 0 } to { opacity: 1 } }
5
5
  @keyframes subscribe-rise {
6
6
  from { transform: translateY(20px); opacity: 0 }
@@ -19,7 +19,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
19
19
  `;function Og(){let{chromePlaceholder:e,themeFromDocument:t}=P3(),{chat:a,selected:s,select:o}=NS();return e||t||!a.enabled?null:FQ("div",{className:"sf-preview-chat-pick","data-selected":s||void 0,onClick:r=>{r.stopPropagation(),o()},children:[_g("style",{children:HQ}),_g(mF,{preview:!0,children:_g(Rg,{title:a.title,subtitle:a.subtitle,greeting:a.greeting})})]})}import{useEffect as r11,useRef as i11}from"react";import{jsx as Bg,jsxs as PQ}from"react/jsx-runtime";import{useEffect as NQ,useState as uF}from"react";function H0({fallback:e,className:t,src:a,alt:s="",objectPosition:o,objectFit:r="cover",sizes:i="100vw",priority:n=!1,deferFetch:l=!1,showBackground:c=!0,treatment:h}){let[p,d]=uF(!1),[u,v]=uF(!1),g=a||"";NQ(()=>{d(!1),v(!1)},[g]);let f=yz(g),b=f&&!u?U4(g):{src:g},x=!g||p;return PQ("div",{className:`relative h-full w-full overflow-hidden ${t??""}`,children:[Bg("div",{className:"absolute inset-0 flex items-center justify-center",style:c?{background:"var(--site-surface)"}:void 0,children:x?e:null}),g&&(f?Bg("img",{src:b.src,alt:s,...b.srcSet?{srcSet:b.srcSet,sizes:i}:{},decoding:"async",...l?{loading:"lazy"}:{},className:`absolute inset-0 h-full w-full${h?.className?` ${h.className}`:""}`,style:{display:p?"none":"block",objectFit:r,...o?{objectPosition:o}:{},...h?.style??{}},onError:()=>b.srcSet?v(!0):d(!0)}):Bg(bi,{src:g,alt:s,fill:!0,sizes:i,priority:n,...h?.className?{className:h.className}:{},style:{display:p?"none":"block",objectFit:r,...o?{objectPosition:o}:{},...h?.style??{}},onError:()=>d(!0)}))]})}import{useId as ZQ}from"react";var IQ=25.4,eo=400,bc=152,VQ=58,gF=bc*Math.cos(VQ*Math.PI/180),RQ=14,_Q=eo/2,OQ={sectionWidth:225,aspectRatio:60,rimDiameter:17};function fF(e){let t=E4(e);return t?{sectionWidth:t.width,aspectRatio:t.profile,rimDiameter:t.rim}:OQ}function bF(e){let t=e.rimDiameter*IQ/2,a=t+e.sectionWidth*e.aspectRatio/100,s=bc*(e.sectionWidth/a),o=t/a;return{cy:_Q,rx:gF,ry:bc,cxf:eo/2-s/2-RQ,dx:s,rimRx:gF*o,rimRy:bc*o}}var A0=e=>e.toFixed(1);function xc(e,t,a,s=!1){let o=e.cxf+t*e.dx,[r,i]=s?[e.cy+e.ry,e.cy-e.ry]:[e.cy-e.ry,e.cy+e.ry];return`M${A0(o)} ${A0(r)} A${A0(e.rx)} ${A0(e.ry)} 0 0 ${a} ${A0(o)} ${A0(i)}`}function Dg(e,t,a){let s=e.cxf+t*e.dx,o=e.cxf+a*e.dx,r=e.cy-e.ry,i=e.cy+e.ry;return`M${A0(s)} ${A0(r)} L${A0(o)} ${A0(r)} A${A0(e.rx)} ${A0(e.ry)} 0 0 1 ${A0(o)} ${A0(i)} L${A0(s)} ${A0(i)} A${A0(e.rx)} ${A0(e.ry)} 0 0 0 ${A0(s)} ${A0(r)} Z`}function fc(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 xF(e,t,a,s,o){let[r,i]=fc(e,t,s),[n,l]=fc(e,t,o),[c,h]=fc(e,a,o),[p,d]=fc(e,a,s);return`M${A0(r)} ${A0(i)} A${A0(e.rx)} ${A0(e.ry)} 0 0 1 ${A0(n)} ${A0(l)} L${A0(c)} ${A0(h)} A${A0(e.rx)} ${A0(e.ry)} 0 0 0 ${A0(p)} ${A0(d)} L${A0(r)} ${A0(i)} Z`}var vF=[{f:[0,.215]},{f:[.245,.485]},{f:[.515,.755]},{f:[.785,1]}],BQ={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}}]},DQ=[["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 wF(e){let t=` ${(e??"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim()} `;if(t.trim()==="")return vF;for(let[a,s]of DQ)if(t.includes(` ${a} `))return BQ[s];return vF}var wc="Illustrations are drawn to each tyre's listed size and represent its category; supplier photography replaces them where available.";import{Fragment as to,jsx as w0,jsxs as p6}from"react/jsx-runtime";var P4={rib:.2,grooveWall:.16,shoulder:.22,silhouette:.26,relief:[.26,.15,.11],lettering:.1,dishFill:.06,dishEdge:.3,spoke:.3,hubFill:.16,hubEdge:.34},GQ=[.8,.52,.24],yF=.4,zF=.88,kF=.3,CF=5,SF=.3,MF=.84,WQ=7,N0=e=>Math.round(e*10)/10;function Zg({size:e,type:t,className:a}){let s=ZQ().replace(/[^a-zA-Z0-9]/g,""),o={tread:`${s}-tread`,wall:`${s}-wall`,rim:`${s}-rim`,shadow:`${s}-shadow`,crown:`${s}-crown`},r=bF(fF(e)),i=Dg(r,0,1),n=e?`${e} tyre illustration`:"Tyre illustration";return p6("svg",{"data-tyre-placeholder":"",viewBox:`0 0 ${eo} ${eo}`,role:"img","aria-label":n,fill:"none",className:a??"block h-full w-full",children:[w0("title",{children:n}),p6("defs",{children:[w0(qQ,{id:o}),w0("clipPath",{id:o.crown,children:w0("path",{d:i})})]}),w0("ellipse",{cx:N0(r.cxf+r.dx/2),cy:N0(r.cy+r.ry-4),rx:N0(r.dx*1.5),ry:16,fill:`url(#${o.shadow})`}),w0(jQ,{g:r,id:o}),w0(KQ,{g:r,id:o}),w0("path",{d:i,fill:`url(#${o.tread})`}),w0("g",{clipPath:`url(#${o.crown})`,children:wF(t).map(l=>w0(UQ,{g:r,column:l},l.f[0]))}),w0("path",{d:xc(r,0,0,!0),stroke:"currentColor",strokeOpacity:P4.shoulder,strokeWidth:1.2}),w0("path",{d:xc(r,1,1),stroke:"currentColor",strokeOpacity:P4.silhouette,strokeWidth:1.4})]})}function UQ({g:e,column:t}){let[a,s]=t.f;if(!t.blocks)return p6(to,{children:[w0("path",{d:Dg(e,a,s),fill:"currentColor",fillOpacity:P4.rib}),w0("path",{d:xc(e,a,1),stroke:"currentColor",strokeOpacity:P4.grooveWall,strokeWidth:1})]});let{count:o,gap:r,phase:i=0}=t.blocks,n=1/o,l=[];for(let c=-1;c<=o;c+=1){let h=Math.max((c+i+r/2)*n,0),p=Math.min((c+i+1-r/2)*n,1);p-h>n*.15&&l.push([h,p])}return w0(to,{children:l.map(([c,h])=>w0("path",{d:xF(e,a,s,c,h),fill:"currentColor",fillOpacity:P4.rib,stroke:"currentColor",strokeOpacity:P4.grooveWall,strokeWidth:1},c))})}function qQ({id:e}){return p6(to,{children:[p6("linearGradient",{id:e.tread,x1:"0",y1:"0",x2:"1",y2:"0",children:[w0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.07}),w0("stop",{offset:"0.14",stopColor:"currentColor",stopOpacity:.24}),w0("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.18}),w0("stop",{offset:"0.84",stopColor:"currentColor",stopOpacity:.1}),w0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.05})]}),p6("linearGradient",{id:e.wall,x1:"0.15",y1:"0",x2:"0.9",y2:"1",children:[w0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.28}),w0("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.17}),w0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.08})]}),p6("linearGradient",{id:e.rim,x1:"0.1",y1:"0",x2:"0.9",y2:"1",children:[w0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.46}),w0("stop",{offset:"0.5",stopColor:"currentColor",stopOpacity:.26}),w0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.12})]}),p6("radialGradient",{id:e.shadow,children:[w0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.22}),w0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:0})]})]})}function jQ({g:e,id:t}){let a=e.rimRy/e.ry,s=r=>a+(1-a)*r,o=Math.max(6,(e.ry-e.rimRy)*.3);return p6(to,{children:[w0("ellipse",{cx:N0(e.cxf),cy:N0(e.cy),rx:N0(e.rx),ry:N0(e.ry),fill:`url(#${t.wall})`}),GQ.map((r,i)=>{let n=s(r);return w0("ellipse",{cx:N0(e.cxf),cy:N0(e.cy),rx:N0(e.rx*n),ry:N0(e.ry*n),stroke:"currentColor",strokeOpacity:P4.relief[i],strokeWidth:1},r)}),w0("ellipse",{cx:N0(e.cxf),cy:N0(e.cy),rx:N0(e.rx*s(yF)),ry:N0(e.ry*s(yF)),stroke:"currentColor",strokeOpacity:P4.lettering,strokeWidth:N0(o)})]})}function KQ({g:e,id:t}){let a=Array.from({length:CF},(s,o)=>{let r=(o*(360/CF)-90)*Math.PI/180;return{x1:e.cxf+e.rimRx*SF*Math.cos(r),y1:e.cy+e.rimRy*SF*Math.sin(r),x2:e.cxf+e.rimRx*MF*Math.cos(r),y2:e.cy+e.rimRy*MF*Math.sin(r)}});return p6(to,{children:[w0("ellipse",{cx:N0(e.cxf),cy:N0(e.cy),rx:N0(e.rimRx),ry:N0(e.rimRy),fill:`url(#${t.rim})`}),w0("ellipse",{cx:N0(e.cxf),cy:N0(e.cy),rx:N0(e.rimRx*zF),ry:N0(e.rimRy*zF),fill:"currentColor",fillOpacity:P4.dishFill,stroke:"currentColor",strokeOpacity:P4.dishEdge,strokeWidth:1}),a.map((s,o)=>w0("line",{x1:N0(s.x1),y1:N0(s.y1),x2:N0(s.x2),y2:N0(s.y2),stroke:"currentColor",strokeOpacity:P4.spoke,strokeWidth:WQ,strokeLinecap:"round"},o)),w0("ellipse",{cx:N0(e.cxf),cy:N0(e.cy),rx:N0(e.rimRx*kF),ry:N0(e.rimRy*kF),fill:"currentColor",fillOpacity:P4.hubFill,stroke:"currentColor",strokeOpacity:P4.hubEdge,strokeWidth:1})]})}import{jsx as Gg}from"react/jsx-runtime";function q6({image:e,size:t,type:a,sizes:s,priority:o=!1,className:r="aspect-square",showBackground:i=!0}){return Gg("div",{className:`text-fg ${r}`,style:{padding:"var(--sf-tyre-image-inset, 0)"},children:Gg(H0,{label:t||"Tyre",src:y4(e??void 0),alt:t?`${t} tyre`:"Tyre",objectFit:"contain",sizes:s,priority:o,showBackground:i,fallback:Gg(Zg,{size:t,type:a,className:"block h-full w-full p-3"})})})}function zc(e){if(!e||e.year===null)return null;let{make:t,model:a,year:s,modification:o}=e;return!t||!a||!o?null:{make:t,model:a,year:s,modification:o}}function $Q(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 yc(e,t=""){return{vehicle:{...e,region:t},status:"unknown",oemSizes:[],variants:[]}}function YQ(e,t){if(typeof t!="object"||t===null)return yc(e);let a=t,s=typeof a.vehicle=="object"&&a.vehicle!==null?a.vehicle:{},o=typeof s.region=="string"?s.region:"",r=a.status;if(r!=="fits"&&r!=="doesNotFit")return yc(e,o);let i=Array.isArray(a.variants)?a.variants.filter(n=>typeof n=="object"&&n!==null&&typeof n.sku=="string"&&typeof n.fits=="boolean"):[];return i.length===0?yc(e,o):{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:o},status:r,oemSizes:Array.isArray(a.oemSizes)?a.oemSizes.filter(n=>typeof n=="string"):[],variants:i.map(n=>({sku:n.sku,size:typeof n.size=="string"?n.size:"",fits:n.fits}))}}async function AF(e,t){try{let a=await R7($Q(e,t),{baseUrl:oA});return YQ(t,a)}catch{return yc(t)}}function LF(e){if(!e)return[];let t=[];for(let a of[...e.frontTyres,...e.rearTyres]){let s=E4(a);if(!s)continue;let o=b5(s);t.includes(o)||t.push(o)}return t}function TF(e,t){if(t.length===0)return null;for(let a of e){let s=E4(a);if(!s)continue;let o=b5(s);if(t.includes(o))return o}return null}function ao(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 XQ="/tyres";function _t(e){return e?`${XQ}/${e}`:null}function Ot(e){let t=e.lastIndexOf(" ");return t===-1?{lead:"",accent:e}:{lead:e.slice(0,t+1),accent:e.slice(t+1)}}function Wg(e,t){return lA({partNumber:e.sku,prices:e.prices},t)}var JQ="Tyre";function kc(e,t,a,s){return{id:`${e.slug}|${t.sku}|${a.unit}|${a.spares>0?"spare":"no-spare"}`,slug:e.slug,name:Ot(e.name),process:e.brand||JQ,positionNo:"01",config:[{label:t.size},{label:On(a)}],finishName:"",size:t.size,components:Wg(t,a),qty:s,href:_t(e.slug)??void 0,kind:"tyre",sku:t.sku,pack:a}}function Cc(e){return e.kind==="tyre"}function EF(e,t){let a=e.prices?.[t];return typeof a!="number"||!Number.isFinite(a)||a<=0?!1:e.inStock}import{jsx as so}from"react/jsx-runtime";function QQ(e){let t=e?.tyreTypes??[];return t.length===1?t[0]:null}function Ug({line:e,catalog:t,tyre:a}){let s=t.find(h=>h.slug===e.slug),o=e.config.find(h=>h.gold)?.label,r=s?.finishes.find(h=>h.name===o&&h.src)??s?.finishes.find(h=>h.src),i=s?.spokes??5,n=s?.mesh??!1,c=(s?.finishes.find(h=>h.name===o)??s?.finishes[0])?.color??bA;return so("div",{className:"relative flex aspect-square items-center justify-center overflow-hidden border border-line bg-surface",children:Cc(e)?so(q6,{image:a?.coverImage,size:e.size,type:QQ(a),sizes:"96px",className:"h-full w-full"}):r?.src?so(a4,{src:r.src,alt:`${s?.name??e.slug} \u2014 ${r.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?so("div",{className:"relative z-[2] block w-[72%]",style:{color:c,filter:"drop-shadow(0 6px 12px rgba(0,0,0,0.25))"},children:so(o9,{spokes:i,mesh:n,className:"block w-full"})}):null})}import{jsx as qg,jsxs as t11}from"react/jsx-runtime";function HF(e,t){return Math.min(Dd,Math.max(1,e+t))}var FF="disabled:cursor-not-allowed disabled:opacity-40",e11={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 ${FF}`,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 ${FF}`,value:"min-w-[36px] px-3 text-center font-mono text-[12px] tracking-[0.18em] text-fg"}};function oo({value:e,onChange:t,size:a}){let s=e11[a];return t11("div",{className:s.frame,children:[qg("button",{type:"button",onClick:()=>t(HF(e,-1)),disabled:e<=1,"aria-label":"Decrease quantity",className:s.button,children:"\u2212"}),qg("span",{className:s.value,children:e}),qg("button",{type:"button",onClick:()=>t(HF(e,1)),disabled:e>=Dd,"aria-label":"Increase quantity",className:s.button,children:"+"})]})}import{useEffect as a11,useState as s11}from"react";var o11=new Map;function PF(e){let[t,a]=s11(null);return a11(()=>{if(!e||t)return;let s=!0;return f0.listCatalog(["tyre"]).then(o=>{s&&a(new Map(o.flatMap(r=>r.kind==="tyre"?[[r.slug,r]]:[])))}).catch(o=>{console.error("[useTyreCatalog] tyre catalog read failed",o)}),()=>{s=!1}},[e,t]),t??o11}import{Fragment as Sc,jsx as O1,jsxs as b0}from"react/jsx-runtime";function ro({content:e=en}){let{isOpen:t,preview:a,close:s,items:o,remove:r,setQty:i,totals:n,coupon:l,bundles:c}=L4(),h=new Set(o.flatMap(w=>(w.components??[]).map(z=>z.partNumber))),p=new Set(n.appliedBundles.map(w=>w.slug)),d=c.filter(w=>!p.has(w.slug)).filter(w=>w.components.some(z=>h.has(z.partNumber))).slice(0,2),{formatMoney:u,activeCountry:v}=x0(),g=v?.name??e.shipsToFallback,f=1+(e.leadTimeValue?1:0)+(g?1:0),b=i11(null),x=PF(o.some(Cc));return Q4({active:t,onDismiss:s,lockScroll:!a}),r11(()=>{t&&b.current?.focus({preventScroll:!0})},[t]),t?b0(Sc,{children:[O1("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"}),b0("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:w=>w.stopPropagation(),children:[O1("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
- `}),b0("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:[b0("div",{className:"flex items-center justify-between",children:[b0("span",{className:"flex items-center gap-2.5 font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[e.kickerBadge?O1("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]}),O1("button",{ref:b,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"})]}),b0("h1",{className:"font-display text-[38px] font-medium uppercase leading-[0.95] tracking-[-0.03em] max-[640px]:text-[30px]",children:[e.titleLead+" ",O1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.02em] normal-case",children:e.titleAccent})]}),O1("p",{className:"font-serif text-[13px] italic leading-[1.5] text-fg-dim",children:BC(e,o.length)})]}),b0("div",{className:`grid flex-shrink-0 ${n11[f-1]} gap-px border-b border-line bg-line`,children:[O1(jg,{label:"Items",value:b0(Sc,{children:[O1("em",{className:"font-serif font-normal italic text-accent",children:n.sets})," set",n.sets===1?"":"s"," \xB7 ",n.units," item",n.units===1?"":"s"]})}),e.leadTimeValue?O1(jg,{label:"Lead time",value:e.leadTimeValue}):null,g?O1(jg,{label:"Ships to",value:g}):null]}),b0("div",{className:"flex-1 overflow-y-auto [scrollbar-color:var(--site-line)_transparent] [scrollbar-width:thin]",children:[o.length===0?O1(m11,{content:e}):o.map(w=>O1(l11,{line:w,tyre:x.get(w.slug),onRemove:()=>r(w.id),onQtyChange:z=>i(w.id,z)},w.id)),d.length>0&&b0("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:[b0("div",{className:"mb-3.5 flex items-center justify-between font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[O1("span",{children:"You may also need"}),O1("span",{className:"font-display text-[11px] normal-case tracking-[0.08em] text-fg-dim",children:"Buy together, save"})]}),O1("div",{className:"grid grid-cols-2 gap-2 max-[640px]:grid-cols-1",children:d.map(w=>O1(c11,{href:`/bundles/${w.slug}`,title:w.name,sub:h11(w,n.currency,u)},w.slug))})]}),O1("section",{className:"border-b border-line px-8 py-[22px] max-[640px]:px-[22px]",children:O1(zA,{})}),e.promises.length>0&&O1("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(w=>O1(p11,{children:w},w))})]}),b0("div",{className:"flex flex-shrink-0 flex-col gap-2 border-t border-line px-8 pt-5 max-[640px]:px-[22px]",children:[O1(a8,{label:`Subtotal \xB7 ${n.sets} set${n.sets===1?"":"s"}`,value:u(n.subtotal,n.currency)}),n.appliedBundles.map(w=>O1(a8,{label:`Bundle \xB7 ${w.name}${w.multiples>1?` \xD7${w.multiples}`:""}`,value:b0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(w.discount,n.currency)]})},w.slug)),n.discount>0&&l?.valid&&O1(a8,{label:`Coupon \xB7 ${l.code}`,value:b0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(n.discount,n.currency)]})}),l?.deferred&&O1(a8,{label:`Coupon \xB7 ${l.code}`,value:iA}),l?.valid&&l.effects?.gift&&O1(a8,{label:`Free gift \xB7 ${l.effects.gift.partNumber}${l.effects.gift.quantity>1?` \xD7${l.effects.gift.quantity}`:""}`,value:O1("span",{style:{color:"var(--green)"},children:"Free"})}),O1(a8,{label:"Shipping",value:n.shippingStatus==="free"?O1("span",{style:{color:"var(--green)"},children:"Free"}):vA(n.shippingStatus)??u(n.shipping,n.currency)}),n.tax&&(n.tax.charged?O1(a8,{label:n.tax.inclusive?`${n.tax.name} included \xB7 ${n.tax.rate}%`:n.tax.name,value:u(n.tax.amount,n.currency)}):n.tax.name?O1(a8,{label:n.tax.name,value:"Calculated at checkout"}):null),b0("div",{className:"mt-1.5 flex items-center justify-between border-t border-line pt-3.5 text-fg",children:[b0("span",{className:"font-display text-[22px] font-medium tracking-[-0.02em] normal-case",children:["Total ",O1("em",{className:"font-serif font-normal italic text-accent",children:"due"})]}),O1("span",{className:"text-right font-display text-[30px] font-medium tracking-[-0.025em] text-fg",children:n.repricing?"\u2026":u(n.grand,n.currency)})]})]}),b0("div",{className:"flex flex-shrink-0 flex-col gap-2.5 px-8 pb-[22px] pt-3.5 max-[640px]:px-[22px]",children:[b0(T1,{href:"/checkout",onClick:s,"aria-disabled":o.length===0,className:["group flex items-center justify-between border px-5 py-[18px] font-mono text-[12px] uppercase tracking-[0.3em] transition-colors",o.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",O1("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]}),O1("div",{className:"flex items-center justify-between px-1 py-1.5 font-mono text-[10px] uppercase tracking-[0.24em] text-fg-dim",children:O1(T1,{href:"/wheels",onClick:s,className:"text-fg transition-colors hover:text-accent",children:"\u2190 Keep browsing"})})]})]})]}):null}var n11=["grid-cols-1","grid-cols-2","grid-cols-3"];function jg({label:e,value:t}){return b0("div",{className:"flex flex-col gap-[3px] bg-bg px-4 py-3.5",children:[O1("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-fg-dim",children:e}),O1("span",{className:"font-display text-[14px] font-medium tracking-[-0.005em] text-fg",children:t})]})}function l11({line:e,tyre:t,onRemove:a,onQtyChange:s}){let{catalog:o,totals:r}=L4(),i=(e.components??[]).reduce((c,h)=>c+(r.freeUnitsByPartNumber[h.partNumber]??0),0),{currency:n,formatMoney:l}=x0();return b0(Sc,{children:[b0("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:[O1(Ug,{line:e,catalog:o,tyre:t}),b0("div",{className:"flex min-w-0 flex-col gap-2",children:[b0("div",{className:"flex items-start justify-between gap-3",children:[b0("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-accent",children:["N\xB0 ",e.positionNo," \xB7 ",e.process==="FusionForge\xAE"?b0(Sc,{children:["FusionForge",O1(Z6,{})]}):e.process]}),O1("span",{className:"whitespace-nowrap font-display text-[16px] font-medium tracking-[-0.015em] text-fg",children:Zd(e,n)===null?O7:l(Zd(e,n),n)})]}),b0("h3",{className:"mt-0.5 font-display text-[22px] font-medium uppercase leading-none tracking-[-0.02em]",children:[e.name.lead,O1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em] normal-case",children:e.name.accent})]}),e.config.length>0&&b0("div",{className:"mt-1 flex flex-wrap gap-1.5",children:[e.config.map(c=>O1("span",{className:["border px-2 py-1 font-mono text-[9px] uppercase tracking-[0.18em]",c.gold?"border-[color-mix(in_oklab,var(--accent)_45%,var(--site-line))] text-accent":"border-line text-fg-dim"].join(" "),children:c.label},c.label)),i>0&&b0("span",{className:"border border-accent bg-accent px-2 py-1 font-mono text-[9px] uppercase tracking-[0.18em] text-bg",children:[i,"\xD7 free"]})]}),b0("div",{className:"mt-2.5 flex items-center justify-between gap-3",children:[O1(oo,{value:e.qty,onChange:s,size:"small"}),b0("div",{className:"flex gap-3.5 font-mono text-[10px] uppercase tracking-[0.22em]",children:[O1(T1,{href:e.href??`/wheels/${e.slug}`,className:"text-fg-dim transition-colors hover:text-accent",children:e.href?"View product":"Edit finish"}),O1("button",{type:"button",onClick:a,className:"text-fg-dim transition-colors hover:text-alert",children:"Remove"})]})]})]})]}),e.verifiedFor&&b0("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:[O1("span",{className:"flex-shrink-0 pt-px font-mono text-[10px] uppercase tracking-[0.24em] text-accent",children:"Fits"}),b0("span",{children:["Verified for your ",O1("strong",{className:"font-medium text-accent",children:e.verifiedFor}),". Final torque values shipped with the wheels."]})]})]})}function c11({title:e,sub:t,href:a}){return b0(T1,{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:[b0("span",{className:"flex min-w-0 flex-col gap-[3px]",children:[O1("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap font-display text-[13px] font-medium tracking-[-0.005em] text-fg",children:e}),O1("span",{className:"font-mono text-[9px] uppercase tracking-[0.22em] text-fg-dim",children:t})]}),O1("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 h11(e,t,a){let s=e.savings[t];if(s===void 0)return"Buy together";let o=a(s,t);return e.savingIsFrom?`Save from ${o}`:`Save ${o}`}function p11({children:e}){return O1("span",{className:"inline-flex items-center gap-1.5 before:text-[6px] before:text-accent before:content-['\u25CF']",children:e})}function a8({label:e,value:t}){return b0("div",{className:"flex items-center justify-between font-mono text-[11px] uppercase tracking-[0.18em] text-fg-dim",children:[O1("span",{children:e}),O1("strong",{className:"font-display text-[14px] font-normal tracking-[-0.005em] normal-case text-fg",children:t})]})}function m11({content:e}){return b0("div",{className:"flex flex-col items-center justify-center gap-3 px-8 py-20 text-center",children:[O1("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:e.emptyKicker}),O1("p",{className:"font-serif text-[16px] italic leading-[1.5] text-fg-dim",children:e.emptyBody}),b0(T1,{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 ",O1("span",{className:"text-accent",children:"\u2192"})]})]})}import{Fragment as u11,jsx as g9,jsxs as Mc}from"react/jsx-runtime";var d11=Mt(()=>import("./chunks/EditorPreviewCheckout-2ZXIRZ7H.js"),{ssr:!1});function Kg(){let{chromePlaceholder:e,themeFromDocument:t}=P3(),{surface:a}=OS();return e||t||!a||a!=="cart"&&a!=="checkout"?null:a==="checkout"?Mc(u11,{children:[g9(d11,{}),g9(NF,{surface:a})]}):g9(D7,{children:Mc(lt,{preview:!0,children:[g9(ro,{}),g9(NF,{surface:a})]})})}function NF({surface:e}){let{label:t,href:a}=cH(e);return Mc("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:[g9("span",{style:{whiteSpace:"nowrap"},children:m("{name} \xB7 preview only",{name:m(t)})}),Mc("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:[m("Open live"),g9(O6,{name:"external-link",size:13,rounded:!0})]})]})}import{CategoryIcon as Fp1,CheckIcon as Qj,ClockIcon as jy,ColumnsIcon as Pp1,DirectionIcon as Np1,EyeIcon as Ip1,ListIcon as Vp1,PageIcon as Rp1,PlacementIcon as _p1,ScrollPointIcon as Op1,TriggerIcon as Bp1}from"efficient-easel/icons";import{useContext as v11,useEffect as VF,useRef as Lc,useState as Tc}from"react";import{Button as Ec}from"efficient-shell/ui";var io=class extends Error{constructor(a){super("The storefront forms list could not be loaded.");this.cause=a;this.name="FormsUnavailableError"}},Ac=null,$g=null,Yg=null;function g11(){Ac=null,$g=null,Yg=null}function IF(e=!1){let t=N3(),a=v2();return(e||!Ac||$g===null&&t!==null||Yg!==a)&&($g=t,Yg=a,Ac=(t?F1.listForms(t,{siteId:a}):Promise.reject(new io)).catch(s=>{throw g11(),s instanceof io?s:new io(s)})),Ac}import{jsx as I2,jsxs as m6}from"react/jsx-runtime";var RF="__create-a-new-form__";function f11({value:e,forms:t,loadFailed:a,emptyLabel:s}){let o=t??[],r=e?o.some(p=>p.slug===e):!0,i=t===null&&!a,n={value:"",label:i?m("Loading\u2026"):a?m("Forms couldn\u2019t be loaded"):s===void 0?m("No form yet"):m(s)},l=e&&!r?[{value:e,label:i||a?e:m("{slug} \u2014 no form with this name",{slug:e})}]:[],c=o.map(p=>({value:p.slug,label:p.is_active?p.title:m("{title} (switched off)",{title:p.title})})),h=i?[]:[{value:RF,label:m("Create a new form")}];return[n,...l,...c,...h]}function b11(e){return e===RF?{action:"create"}:{action:"store",slug:e}}function x11({value:e,pickedId:t,forms:a}){if(!e||!t||a.some(o=>o.slug===e))return null;let s=a.find(o=>o.id===t);return s&&s.slug&&s.slug!==e?s.slug:null}function w11(e){let t=[m("Goes to {place}",{place:m("Storefront \u2192 Forms")})],a=(e.notify_email??"").trim();return a&&t.push(m("Emails a copy to {email}",{email:a})),e.mailing_list_name&&t.push(e.subscribe_mode==="checkbox"?m("Joins the \u201C{audience}\u201D audience, but only when the consent box is ticked",{audience:e.mailing_list_name}):m("Joins the \u201C{audience}\u201D audience",{audience:e.mailing_list_name})),e.kind==="account_signup"&&t.push(e.signup_customer_type==="importer"?m("Creates a wholesale account"):m("Creates a retail account")),t}function Xg({value:e,onChange:t,label:a="Form",emptyLabel:s}){let o=b3(),r=v11(ze),i=r?r.capabilities.hasForms:!0,[n,l]=Tc(null),[c,h]=Tc(!1),[p,d]=Tc(!1),[u,v]=Tc(!1),g=Lc(!0),f=Lc(e);f.current=e;let b=Lc(t);b.current=t;let x=Lc(null),w=(I=!1)=>IF(I).then(F=>{if(g.current){l(F),h(!1);let H=x11({value:f.current,pickedId:x.current,forms:F});H&&b.current(H)}return F},()=>(g.current&&h(!0),[]));VF(()=>(g.current=!0,i&&w(),()=>{g.current=!1}),[i]),VF(()=>i?zl(()=>{w(!0)}):void 0,[i]);let k=e?(n??[]).find(I=>I.slug===e)??null:null;k?x.current=k.id:e||(x.current=null);let L=!!e&&!k&&n!==null&&!c,V=f11({value:e,forms:n,loadFailed:c,emptyLabel:s}),P=async()=>{d(!0),v(!1);try{let I=await ZL(o,{mode:"create"}),F=await w(!0);if(!g.current)return;if(I.status==="timeout"){v(!0);return}if(I.status!=="saved")return;let{form:H}=I;H.slug!==f.current&&b.current(H.slug),F.some(O=>O.id===H.id)||w(!0)}finally{g.current&&d(!1)}},E=I=>{let F=b11(I);F.action==="create"?P():(v(!1),t(F.slug))};return i?m6("div",{className:"sf-formpicker",children:[I2(Le,{label:a,options:V,fallback:"",value:e??"",onChange:E,placeholder:m("Search forms\u2026")}),u&&I2("p",{className:"sf-formsummary-warn",children:m("That didn\u2019t come back \u2014 pick the form from the list, or try again.")}),k?m6("div",{className:"sf-blogsource sf-formsummary",children:[m6("div",{children:[I2("div",{className:"sf-formsummary-caption",children:J2("{n} field","{n} fields",k.fields.length)}),k.fields.length?I2("ol",{className:"sf-formsummary-fields",children:k.fields.map((I,F)=>I2("li",{children:I.label},I.key||`${I.label}-${F}`))}):I2("p",{className:"es-field-hint sf-hint-keep",children:m("This form has no fields yet, so there is nothing for a visitor to fill in.")})]}),m6("div",{children:[I2("div",{className:"sf-formsummary-caption",children:m("Where the answers go")}),I2("ul",{className:"sf-formsummary-fields",children:w11(k).map(I=>I2("li",{children:I},I))})]}),!k.is_active&&I2("p",{className:"sf-formsummary-warn",children:m("This form is switched off, so it won\u2019t appear on the published page. Turn it back on in {place}.",{place:m("Storefront \u2192 Forms")})}),m6("div",{className:"sf-formsummary-actions",children:[I2(Ec,{variant:"secondary",size:"sm",onClick:()=>DL(o,k.id),children:m("Edit form \u270E")}),I2(Ec,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{P()},children:m("New form +")})]}),I2("p",{className:"es-field-hint sf-hint-keep",children:m("The questions, the button text and the thank-you message all come from {place}. Edit them there \u2014 this section updates to match.",{place:m("Storefront \u2192 Forms")})})]}):m6("div",{className:"sf-blogsource sf-formsummary",children:[c?m6("p",{className:"es-field-hint sf-hint-keep",children:[m("This website\u2019s forms couldn\u2019t be loaded, so there is nothing to choose from yet."),e?` ${m("This section still points at \u201C{slug}\u201D, and that is unchanged.",{slug:e})}`:""]}):L&&I2("p",{className:"sf-formsummary-warn",children:m("This section points at \u201C{slug}\u201D, and this website has no form with that name. Pick one from the list above, or leave it \u2014 nothing has been changed.",{slug:e??""})}),m6("div",{className:"sf-formsummary-actions",children:[c&&I2(Ec,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{w(!0)},children:m("Try again")}),I2(Ec,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{P()},children:m("New form +")})]}),!c&&I2("p",{className:"es-field-hint sf-hint-keep",children:m("Pick a form to show here, or build a new one. Forms are made once in {place} and can be shown on any number of pages.",{place:m("Storefront \u2192 Forms")})})]})]}):I2("div",{className:"sf-formpicker",children:I2("div",{className:"sf-blogsource sf-formsummary",children:m6("div",{children:[I2("div",{className:"sf-formsummary-caption",children:m(a)}),m6("p",{className:"es-field-hint sf-hint-keep",children:[m("Forms aren\u2019t available in this editor, so there is nothing to choose here."),e?` ${m("This section still points at \u201C{slug}\u201D, and that is unchanged.",{slug:e})}`:""]})]})})})}import{jsx as y11}from"react/jsx-runtime";function d6(e,t){return{type:"custom",render:({value:a,onChange:s})=>y11(Xg,{value:a,onChange:s,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}import{createContext as z11,useContext as k11}from"react";import{jsx as C11}from"react/jsx-runtime";var _F=z11(null);function OF({slug:e,children:t}){let a=typeof e=="string"&&e.trim()?e:null;return C11(_F.Provider,{value:a,children:t})}function BF(){return k11(_F)}import{createContext as S11,useContext as M11}from"react";import{jsx as A11}from"react/jsx-runtime";var DF=S11("alloy-wheel");function ZF({kind:e,children:t}){return A11(DF.Provider,{value:e??"alloy-wheel",children:t})}function GF(){return M11(DF)}import{createContext as WF,useContext as Hc}from"react";import{jsx as H11}from"react/jsx-runtime";function L11(e){let t=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().toLowerCase();return t?t[0].toUpperCase()+t.slice(1):e}var T11=/^\d{4}-\d{2}-\d{2}$/;function UF(e){return e?e.schema?.length?e.schema.filter(t=>typeof t?.key=="string"&&t.key in e.fields):Object.entries(e.fields).flatMap(([t,a])=>{let s=Array.isArray(a)?"images":typeof a=="string"?T11.test(a)?"date":"text":null;return s?[{key:t,label:L11(t),kind:s}]:[]}):[]}function Fc(e,{firstField:t=!1}={}){if(!e)return[];let a=UF(e).filter(s=>s.kind==="images");return(t?a.slice(0,1):a).flatMap(s=>{let o=e.fields[s.key];return Array.isArray(o)?o.flatMap(r=>{let i=r?.url;if(typeof i!="string"||!i)return[];let n=r.alt;return[{url:i,alt:typeof n=="string"?n:""}]}):[]})}function E11(e){let t=new Date(`${e}T00:00:00Z`);return Number.isNaN(t.getTime())?e:t.toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"})}function qF(e){return e?UF(e).flatMap(t=>{if(t.kind!=="text"&&t.kind!=="date")return[];let a=e.fields[t.key];return typeof a!="string"||!a.trim()?[]:[{label:t.label,value:t.kind==="date"?E11(a):a}]}):[]}var s8="product",Jg=WF(null);function Qg(e){let t=e?.recordType;return typeof t=="string"&&t.trim()||s8}function Pc(e){let t=e?.appState?.data?.root;return Qg(t?.props)!==s8}var jF=WF(s8);function KF({type:e,children:t}){return H11(jF.Provider,{value:e,children:t})}function Nc(e){let t=Hc(Jg),a=Hc(jF);return t?t.type!==s8:e&&a!==s8}var Ic={type:"sample",key:"sample",get title(){return m("Record title")},get fields(){return{first:m("A detail of this record"),second:m("Another detail"),third:m("A third")}},value:void 0,get schema(){return[{key:"first",label:m("First detail"),kind:"text"},{key:"second",label:m("Second detail"),kind:"text"},{key:"third",label:m("Third detail"),kind:"text"}]}},$F=4;function Vc(){return Hc(Jg)}function YF(e){let t=Hc(Jg);return t!==null&&t.type===e?t:null}import{createContext as P11,useContext as N11}from"react";var ev="heroBullets",no="\xB7",lo={bullets:[{label:"Free shipping",detail:"USA, UK, AUS"},{label:"Lifetime warranty",detail:"structural"}]};function XF(e){return e.detail?`${e.label} ${no} ${e.detail}`:e.label}function F11(e){let t=e.trim();if(!t)return null;let a=t.indexOf(no);return a<0?{label:t,detail:""}:{label:t.slice(0,a).trim(),detail:t.slice(a+no.length).trim()}}function JF(e){let t=(e??{})[ev];return Array.isArray(t)?{bullets:t.map(s=>F11(typeof s=="string"?s:_C(s?.text,""))).filter(s=>s!==null)}:lo}import{jsx as I11}from"react/jsx-runtime";var QF=P11(lo);function eP({content:e,children:t}){return I11(QF.Provider,{value:e,children:t})}function tP(){return N11(QF)}var k2={text:"Button label",href:"#"},T={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 k3={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:tS,Stats:void 0};import{jsx as j6}from"react/jsx-runtime";import{jsx as o8,Fragment as V11,jsxs as R11}from"react/jsx-runtime";import{useEasel as oP}from"efficient-easel/easel";import{LayersIcon as _11}from"efficient-easel/icons";import{SettingsDrill as O11,SettingsField as B11}from"efficient-easel/panel";import{default as aP}from"efficient-easel/screen/components/AddChildRow";import{SlotChildActionsProvider as FS1,useSlotChildActions as sP}from"efficient-easel/screen/components/SlotChildActionsContext";function D11({parent:e,parentType:t,label:a,rowName:s,onSelectChild:o,onAddChild:r,nestDepth:i=0}){let n=xs(t,i);if(!n)return null;let{slot:l,choices:c,spec:h}=n,p=String(e.props.id),d=`${p}:${l}`,u=Array.isArray(e.props[l])?e.props[l]:[],v=h?.addBlocked?.(u)??null,g=h?.notice?.(u)??null,f=R11(V11,{children:[g?o8("p",{className:"sf-note",children:g}):null,u.map((b,x)=>o8(O11,{name:s(b),onOpen:()=>o(d,x,String(b.props.id),t)},String(b.props.id??`${d}-${x}`))),c||h.fixed?null:o8(aP,{label:h.addLabel,blocked:v,onAdd:()=>r(p,l,h.childType,u.length,t)})]});return o8("div",{className:"sf-slot-rows",children:a?o8(B11,{label:m(a),icon:o8(_11,{}),value:String(u.length),children:f}):f})}function Z11(e,t){return xs(e)?.spec?.notice?.(t)??null}function rP({parentType:e}){let{selectedItem:t}=oP(r=>r);if(!t||t.type!==e)return null;let a=xs(e)?.slot,s=a&&Array.isArray(t.props[a])?t.props[a]:[],o=Z11(e,s);return o?o8("p",{className:"sf-note",children:o}):null}function G11(e,t){return xs(t)?.source==="footer"?e.blockRowName:e.childRowName}function iP({parentType:e,label:t}){let{appState:a,selectedItem:s}=oP(i=>i),o=sP();if(!o||!s||s.type!==e)return null;let r=e===Rz?wi(a?.data,String(s.props.id)):0;return o8(D11,{parent:s,parentType:e,label:t,rowName:G11(o,e),onSelectChild:o.selectChild,onAddChild:o.addChild,nestDepth:r})}var nP="grayscale(1) contrast(1.03)",lP="Black and white";function W11(e){return e===!0?{filter:nP}:{}}function U11(e){let{filter:t}=W11(e);return t?{style:{filter:t}}:{}}var co="sf-photo-grayscale",q11=`@media (hover:hover){.${co}{filter:${nP};transition:filter 160ms ease}.${co}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${co}{transition:none}}`;function Bt(e,t){return typeof e=="boolean"?e?U11(!0):{}:t===!0?{className:co}:{}}function cP(e){return e===!0?{[co]:q11}:{}}import{AlignLeftIcon as $11,BlackAndWhiteIcon as Y11,ContrastIcon as X11,HeightIcon as J11,TypeIcon as Q11}from"efficient-easel/icons";var j11=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],K11=new Set(j11);function hP(e){let t=e.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let a=t.length-1;a>=0;a-=1)if(K11.has(t[a]))return t[a];return null}var K6=e=>f3(e,l1("Height",j6(J11,{}),Ye.min,Ye.max,Ye.step,Ye.fallback,Ye.unit)),t5={ctaText:N("Button",k2.text),ctaHref:P1("Button link")},u6=()=>y1("Alignment",j6($11,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],"left"),Rc=()=>y1("Tone",j6(X11,{}),[{label:"Default",value:"default"},{label:"Muted",value:"dim"}],"default"),I3=e=>_e({...il[e],keys:{top:"padTop",bottom:"padBottom"},group:!1}),g6=(e,t)=>({type:"custom",render:()=>j6(iP,{parentType:e,label:t})}),_c=e=>({type:"custom",render:()=>j6(rP,{parentType:e})});function e01(e){let{photographyGrayscale:t}=P3();return h1(lP,t===!0,j6(Y11,{})).render(e)}function Dt(){return{type:"custom",render:e=>j6(e01,{...e})}}var Q1=Object.keys(Q5("full"));function Zt(e){let t=hP(e);return t?j6(k4,{noun:t}):j6(Q11,{})}import{readLockHolder as c01}from"efficient-easel/edit-lock";var av="/api/storefront/section-templates/",tv=e=>`${av}${encodeURIComponent(e)}/`,sv=e=>e.node!=null;function Oc(e){if(!sv(e))throw new Error(`Section template ${e.id} has no design`);return e}var rv=(e,t)=>e instanceof A4&&e.status===t;function t01(e){return{list:()=>tt(`${av}?no_page=true`,{token:e()}).then(t=>Array.isArray(t)?t:t.results??[]),get:t=>tt(tv(t),{token:e()}).catch(a=>{if(rv(a,404))return null;throw a}),create:t=>tt(av,{method:"POST",token:e(),body:JSON.stringify(t)}),patch:(t,a)=>tt(tv(t),{method:"PATCH",token:e(),body:JSON.stringify(a)}),remove:t=>tt(tv(t),{method:"DELETE",token:e()})}}var ov="sf:section-templates",pP=`${ov}.imported`,a01="Untitled section",s01=160,Bc=e=>(typeof e=="string"?e.trim().slice(0,s01):"")||a01;function o01(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 r01(e,t=w3){let a={created:0,seeded:0,left:0,skipped:0,kept:!1},s=t.getItem(ov);if(s===null)return a;for(let o of o01(s))try{let r=await e.get(o.id);if(r)r.node==null?(await e.patch(o.id,{node:o.node}),a.seeded+=1):a.left+=1;else try{await e.create({id:o.id,name:Bc(o.name),node:o.node}),a.created+=1}catch(i){if(!rv(i,400))throw i;a.skipped+=1}}catch{return{...a,kept:!0}}return t.setItem(pP,s),t.getItem(pP)===s&&t.removeItem(ov),a}var Dc=class{constructor(t,a=w3){this.readToken=t;this.storage=a;this.imported=null;this.http=t01(t)}ready(){return this.imported?this.imported:this.readToken()?(this.imported=r01(this.http,this.storage).catch(()=>{}),this.imported):Promise.resolve()}async list(){return await this.ready(),(await this.http.list()).filter(sv)}async get(t){return await this.ready(),this.http.get(t)}async ensure(t,a,s){await this.ready();let o=async i=>i?sv(i)?i:Oc(await this.http.patch(t,{node:s})):null,r=await o(await this.http.get(t));if(r)return r;try{return Oc(await this.http.create({id:t,name:Bc(a),node:s}))}catch(i){if(rv(i,400)){let n=await o(await this.http.get(t));if(n)return n}throw i}}async save(t,a){return await this.ready(),Oc(await this.http.create({name:Bc(t),node:a}))}async update(t,a){return await this.ready(),Oc(await this.http.patch(t,{node:a}))}async rename(t,a){return await this.ready(),this.http.patch(t,{name:Bc(a)})}async remove(t){await this.ready(),await this.http.remove(t)}};var mP={"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 dP(e,t){let a=mP[e][t];return{maxSizeBytes:a.max_bytes,maxFiles:a.max_files,accept:a.accept==="*"||a.accept==="*/*"?void 0:a.accept,acceptHint:a.hint}}var i01=["home","products","gallery","about","contact"],n01=e=>{let t=e.slug.trim().toLowerCase(),a=(e.title??"").trim().toLowerCase(),s=i01.findIndex(o=>o===t||o===a);return s===-1?Number.POSITIVE_INFINITY:s},uP=e=>e.map((t,a)=>({page:t,idx:a,rank:n01(t)})).sort((t,a)=>t.rank-a.rank||t.idx-a.idx).map(t=>t.page);var fP="Popups",gP="Site";var bP={[qC]:{label:"Site popup",group:fP},[j4]:{label:"Footer",group:gP},[OC]:{label:"Cart drawer",group:gP}};function nv(e){return bP[e.slug]?.label||e.title||e.slug}function iv(e){let t=e.group?.trim();return t||null}function vP(e,t){let a=new Map;for(let s of e){let o=t(s),r=a.get(o);r?r.push(s):a.set(o,[s])}return a}function xP(e){let t=uP(e),a=[],s=t.filter(n=>!gs(n.slug)),o=s.filter(n=>!iv(n));o.length&&a.push({key:"top",group:null,pages:o});let r=s.filter(n=>iv(n));for(let[n,l]of vP(r,c=>iv(c)))a.push({key:`folder:${n}`,group:n,pages:l});let i=t.filter(n=>gs(n.slug));for(let[n,l]of vP(i,c=>bP[c.slug]?.group??fP))a.push({key:`system:${n}`,group:n,pages:l});return a}import{isExpiredSession as AM1,PAGE_CONFLICT_CODE as wP,readEaselFailure as LM1}from"efficient-easel/screen/lib/failure";var Zc=e=>e.layout_updated_at??e.updated_at??null,h01=["live","changed","never"],lv=e=>h01.includes(e.live_state)?{live:e.live_state}:{};function p01(e){if(!e||typeof e!="object")return null;let t=e;return t.code!==wP?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 m01(e){return e===401||e===403?"unauthorized":e===404?"not-found":e===eA||e>=500?"unavailable":"invalid"}function d01(e){if(!(e instanceof A4))return e;if(e.status===409){let t=p01(e.data);if(t)return new Y5("changed-elsewhere",e.message,{conflict:t,cause:e});let a=c01(e.data);if(a)return new Y5("lock-taken",e.message,{holder:a,cause:e})}return new Y5(m01(e.status),e.message,{cause:e})}var cv=new WeakMap;function u01(e,t){let a=Nn(),s=a?new URL(a).hostname:typeof window<"u"?window.location?.hostname??null:null,o=null,r=t.siteId(),i=t.token();if(OM(s)&&r&&i){let l=Pn(i,r);cv.has(l)?o=cv.get(l)??null:l.then(c=>cv.set(l,c))}let n=BM({pageSlug:e,siteSlug:o,hostname:s});return a?`${a}${n}`:n}var g01={group:"Template pages",groupKey:"template"},yP=e=>({id:e.id,slug:e.slug,label:e.title||e.slug,...g01,draft:!1});function zP(e){let t=async c=>{let h=e.token();if(!h)throw new Y5("unauthorized","The editor has no sign-in yet.");try{return await c(h)}catch(p){throw d01(p)}},a={list:c=>t(async h=>{let p=await F1.listPages(h,c?.siteId);return xP(p.filter(d=>d.slug!==j4)).flatMap(d=>d.pages.map(u=>({id:u.id,slug:u.slug,label:nv(u),group:d.group,groupKey:d.key,draft:!u.is_published,kind:u.kind??null})))}),load:c=>t(async h=>{let p="id"in c?c.id:(await F1.findPageBySlug(c.slug,h,c.siteId))?.id,d=p?await F1.getPageById(p,h):null;return d?{id:d.id,layout:d.layout,kind:d.kind,version:Zc(d),...lv(d)}:null}),save:(c,h,p)=>{let{version:d}=p;return d?t(async u=>{let v=await F1.saveLayout(c,h.layout,u,d,p.clientId||void 0);return{version:Zc(v),...lv(v)}}):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:c=>t(h=>F1.getPageById(c,h).then(Zc)),linkTargets:c=>t(async h=>(await F1.listPages(h,c?.siteId)).map(p=>({id:p.id,slug:p.slug,label:nv(p),layout:p.layout??null}))),publish:(c,h)=>t(async p=>{let d=await F1.publishPage(c,p,h?.version);return{version:Zc(d),...lv(d)}})},s=c=>({list:()=>t(async h=>(await F1.listTemplatePages(c,h)).map(yP)),load:h=>t(async p=>{let d=f=>"id"in h?f.id===h.id:f.slug===h.slug,u=f=>({id:f.id,layout:f.layout,version:null}),v=await F1.listTemplatePages(c,p);if(v.length)return u(v.find(d)??v[0]);let g=await F1.getTemplate(c,p).catch(()=>null);try{return u(await F1.createTemplatePage(c,{slug:we,title:"Home",layout:g?.layout??{}},p))}catch{let f=await F1.listTemplatePages(c,p),b=f.find(d)??f[0];return b?u(b):null}}),save:(h,p)=>t(async d=>(await F1.saveTemplatePageLayout(h,p.layout,d),{version:null})),create:h=>t(async p=>yP(await F1.createTemplatePage(c,{slug:h.slug,title:h.title,layout:h.layout},p))),remove:(h,p)=>t(d=>F1.deleteTemplatePage(h,d,p))}),o=c=>{let h=c?.siteId??e.siteId();if(!h)throw new Y5("not-found","This editor is not connected to a website.");return h},r=c=>({name:c.name,slug:c.slug,mapsApiKey:c.maps_api_key,mapsMapId:c.maps_map_id}),i=c=>Object.fromEntries(J8.map(h=>[h,c[zn(h)]??""])),n=c=>({enabled:c.enabled,title:c.title,subtitle:c.subtitle,greeting:c.greeting}),l={pages:a,lock:{claim:(c,h,p)=>t(async d=>({heartbeatSeconds:(await F1.claimPageEditLock(c,d,h,p)).heartbeat_seconds})),release:c=>t(h=>F1.releasePageEditLock(c,h))},site:{get:c=>t(async h=>r(await F1.getSite(o(c),h))),update:(c,h)=>t(async p=>r(await F1.updateSite(o(h),c.mapsApiKey===void 0?{}:{maps_api_key:c.mapsApiKey},p)))},media:{resolve:wz,maxUploadBytes:dP("POST /api/storefront/media/","file").maxSizeBytes},sectionTemplates:new Dc(e.token),social:{get:c=>t(async h=>i(await F1.getSocialSettings(h,o(c)))),update:(c,h)=>t(async p=>{let d=Object.fromEntries(J8.filter(u=>u in c).map(u=>[zn(u),c[u]]));try{return i(await F1.updateSocialSettings(d,p,o(h)))}catch(u){if(u instanceof A4&&u.status===400){let v=u.data??{},g={};for(let f of J8){let b=v[zn(f)],x=Array.isArray(b)?b[0]:b;typeof x=="string"&&x.trim()&&(g[f]=x)}if(Object.keys(g).length>0)throw new Y5("invalid",u.message,{fields:g,cause:u})}throw u}})},theme:{get:c=>t(h=>F1.getThemeSettings(h,c?.siteId)),update:(c,h)=>t(p=>F1.updateThemeSettings(c,p,h?.siteId))},chat:{get:c=>t(async h=>n(await F1.getChatSettings(h,c?.siteId))),update:(c,h)=>t(async p=>n(await F1.updateChatSettings(c,p,h?.siteId)))},blog:{posts:c=>t(async h=>(await F1.listBlogPosts(h,{visibleOnly:!0,siteId:c?.siteId})).map(p=>({slug:p.slug,title:p.title,excerpt:p.excerpt,category:p.category,coverImage:p.cover_image?U5(p.cover_image)??"":"",publishedAt:p.published_at,href:pd(p.slug)})))},templates:{get:c=>t(async h=>{let p=await F1.getTemplate(c,h);return{id:p.id,name:p.name}}),pages:s},preview:{href:c=>u01(c,e),draftLink:c=>t(async h=>({url:(await F1.createPagePreviewLink(c,h)).url??null}))}};return l[pz]=!0,l}AC({read:e=>e instanceof A4?{status:e.status,data:e.data,message:e.message}:null,unreachableMessage:QM,loadRefusal:(e,{slug:t})=>e instanceof rA?`\u201C${t}\u201D exists on more than one website. Open it from the site you want to edit.`:null});dz(e=>zP({token:()=>e.auth.token,siteId:()=>e.siteId()}));function v01(e={}){return e.portalAudience!==void 0&&tA(e.portalAudience),e.language!==void 0&&aA(e.language),zP({token:()=>cs().auth.token,siteId:()=>e.siteId??cs().siteId()})}import{createContext as f01,useContext as b01}from"react";import{jsx as r8,jsxs as hv}from"react/jsx-runtime";function pv(e){return U5(e)??void 0}var mv=f01({}),kP=3;function dv({tag:e,name:t,desc:a,href:s,imageSrc:o,imageLabel:r,price:i}){let{showPrice:n,cardStyle:l,partStyles:c,editing:h}=b01(mv),p=l==="bordered"?" border border-line":l==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",d=pv(o),u=g=>h?{[e9]:g}:{},v=g=>Hn(c?.[t9(g)]?.role,MM[g],Si);return hv(T1,{href:s||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${p}`,children:[r8("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:r8(H0,{label:r||"collection.jpg",src:d})}),r8("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"}}),hv("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&&r8("span",{...u("tag"),style:v("tag"),className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.25em] opacity-70",children:M(e)}),t&&r8("h3",{...u("name"),style:v("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"?J(t,!1):t}),a&&M0(a).map((g,f)=>r8("p",{...u("body"),style:v("body"),className:"max-w-[420px] text-[length:var(--size-body,14px)] leading-[1.5] opacity-80",children:M(g)},f)),n&&i&&r8("span",{...u("price"),style:v("price"),className:"font-mono text-[length:var(--size-label,15px)] tracking-[0.05em] text-accent",children:M(i)}),hv("span",{...u("link"),style:v("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",r8("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"\u2192"})]})]})]})}import{createContext as F01,useCallback as P01,useContext as N01,useEffect as I01,useRef as V01,useState as vv}from"react";import{useState as w01}from"react";function Gc(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 CP(e){return e==="below"}import{Fragment as x01,jsx as SP}from"react/jsx-runtime";function i8({kind:e,shared:t=!1,children:a}){let s=Dk(e),o=Zk(e),r=t?o:s;return r?SP("span",{[hk]:r.stamp,children:a}):SP(x01,{children:a})}import{jsx as h4,jsxs as Gt}from"react/jsx-runtime";function uv({build:e,hiddenMobile:t,alwaysShowOverlay:a,forceHover:s,index:o,total:r,ratio:i,captionPlace:n,display:l,displayPhone:c,styleOwner:h,editing:p=!1}){let d=w=>PC(l,c,w),u=w=>p&&h?{[Ei]:h,[ps]:`@${w}`}:{},v=(w,z)=>!p&&h?h4(i8,{kind:`@${w}`,shared:!0,children:z}):z,[g,f]=w01(!1),b=CP(n),x=Gt("div",{className:["sf-card group relative overflow-hidden bg-surface-2",Gc(i),t?"max-[800px]:hidden":""].join(" "),children:[Gt("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:[h4(H0,{label:e.imageLabel,src:e.imageSrc}),h4("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),h4("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&&h4(a4,{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:g?"none":"block"},onError:()=>f(!0)})}),(e.process||o!=null&&r!=null)&&Gt("div",{className:"pointer-events-none absolute top-3 left-3 right-3 z-[3] flex items-baseline gap-2 max-[800px]:top-2.5 max-[800px]:left-2.5 max-[800px]:right-2.5",children:[e.process&&h4("span",{...u("tag"),className:["min-w-0 truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent",d("tag"),"transition-opacity duration-300 ease-out",a||s?"opacity-100":"opacity-0 group-hover:opacity-100 max-[800px]:opacity-100"].join(" "),children:v("tag",h0(e.process))}),o!=null&&r!=null&&h4("span",{...u("number"),className:`ml-auto shrink-0 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] ${d("number")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:v("number",`${String(o).padStart(2,"0")} / ${String(r).padStart(2,"0")}`)})]}),h4("div",{className:["absolute inset-0 z-[2]","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"].join(" "),style:{color:"var(--overlay-fg)",background:"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:Gt("div",{className:"absolute inset-x-0 bottom-0 top-9 flex flex-col justify-end gap-1 overflow-hidden p-6 max-[800px]:top-8 max-[800px]:p-3.5",children:[e.car&&h4("div",{...u("eyebrow"),className:`truncate 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] ${d("eyebrow")}`.trim(),children:v("eyebrow",e.car)}),e.wheel&&h4("div",{...u("title"),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)] ${d("title")}`.trim(),children:v("title",e.wheel)}),e.finish&&h4("div",{...u("meta"),className:`mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em] ${d("meta")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:h4("span",{children:v("meta",h0(e.finish))})})]})})]});return b?Gt("div",{className:t?"max-[800px]:hidden":"",children:[x,Gt("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&h4("div",{...u("title"),className:`font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg ${d("title")}`.trim(),children:v("title",e.wheel)}),(e.finish||e.car)&&h4("div",{...u(e.finish?"meta":"eyebrow"),className:`mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim ${d(e.finish?"meta":"eyebrow")}`.trim(),children:v(e.finish?"meta":"eyebrow",h0(e.finish||e.car))})]})]}):x}import{createContext as y01,useContext as z01,useEffect as k01,useLayoutEffect as C01,useRef as gv,useState as S01}from"react";import{createPortal as M01}from"react-dom";import{Fragment as E01,jsx as ho,jsxs as H01}from"react/jsx-runtime";var A01=".sf-themed-content",MP="sf-section-accent";function L01(e,t){let a={},s=!1,o=[];for(let r=e;r&&r!==t;r=r.parentElement)o.push(r);for(let r of o.reverse()){r.classList.contains(MP)&&(s=!0);let i=r.style;if(i)for(let n=0;n<i.length;n+=1){let l=i.item(n);l.startsWith("--")&&(a[l]=i.getPropertyValue(l))}}return{className:s?`contents ${MP}`:"contents",style:a}}function T01(e){let t=e.querySelectorAll("a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex='-1'])");return Array.from(t).filter(a=>!a.hasAttribute("hidden")&&a.getAttribute("aria-hidden")!=="true")}var AP=y01(()=>{});function v9({open:e,onClose:t,label:a,onPrev:s,onNext:o,className:r="",style:i,children:n}){let l=gv(null),c=gv(null),[h,p]=S01(null);C01(()=>{if(!e){p(null);return}let v=l.current;if(!v)return;let g=v.closest(A01)??v.ownerDocument.body;p({host:g,theme:L01(v,g)})},[e]);let d=gv({onClose:t,onPrev:s,onNext:o});d.current={onClose:t,onPrev:s,onNext:o};let u=e&&h!==null;return k01(()=>{if(!u)return;let v=c.current,g=v?.ownerDocument??document,f=g.activeElement;v?.focus();let b=z=>{if(z.key==="Escape")d.current.onClose();else if(z.key==="ArrowLeft")d.current.onPrev?.();else if(z.key==="ArrowRight")d.current.onNext?.();else if(z.key==="Tab"&&v){let k=T01(v);if(k.length===0){z.preventDefault(),v.focus();return}let L=k[0],V=k[k.length-1],P=g.activeElement,E=!!P&&v.contains(P)&&P!==v;if(z.shiftKey&&(!E||P===L))z.preventDefault(),V.focus();else if(!z.shiftKey&&(!E||P===V))z.preventDefault(),L.focus();else{z.preventDefault();let I=k.indexOf(P);k[z.shiftKey?I-1:I+1]?.focus()}}},x=g.defaultView??window;x.addEventListener("keydown",b);let w=g.body.style.overflow;return g.body.style.overflow="hidden",()=>{x.removeEventListener("keydown",b),g.body.style.overflow=w,f&&f.isConnected&&f.focus()}},[u]),e?H01(E01,{children:[ho("span",{ref:l,hidden:!0}),h&&M01(ho("div",{className:h.theme.className,style:h.theme.style,children:ho("div",{ref:c,role:"dialog","aria-modal":"true","aria-label":a,tabIndex:-1,onClick:t,className:`fixed inset-0 z-(--sf-layer-lightbox) outline-none ${r}`,style:i,children:ho(AP.Provider,{value:t,children:n})})}),h.host)]}):null}function Wt({className:e="absolute right-5 top-5 flex h-10 w-10 cursor-pointer items-center justify-center border border-fg-dim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",style:t,label:a="Close",children:s="\xD7"}){let o=z01(AP);return ho("button",{type:"button","aria-label":a,onClick:r=>{r.stopPropagation(),o()},className:e,style:t,children:s})}import{Fragment as Ut,jsx as n2,jsxs as V3}from"react/jsx-runtime";var po=F01({}),LP=[{id:"tag",label:"Tag"},{id:"eyebrow",label:"Eyebrow"},{id:"title",label:"Title"},{id:"meta",label:"Meta"},{id:"number",label:"Card number"}],mo="data-gallery-grid",fv="data-gallery-tile";function R01(e,t){let[a,s]=vv(null);return I01(()=>{let o=e.current,r=o?.closest(`[${mo}]`);if(!o||!r)return;let i=()=>{let l=Array.from(r.querySelectorAll(`[${fv}]`)),c=l.indexOf(o),h=c>=0?{index:c+1,total:l.length}:null;s(p=>p?.index===h?.index&&p?.total===h?.total?p:h)};if(i(),!t)return;let n=new MutationObserver(i);return n.observe(r,{childList:!0,subtree:!0}),()=>n.disconnect()},[e,t]),a}var TP=[{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 _01(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function O01(e){let t=(e.photos??[]).map(r=>r?.src).filter(r=>!!r),a=e.image||t[0]||"",s=[a,...t].filter(r=>!!r),o=_01(e.name,"gallery-item");return{car:e.eyebrow??"",wheel:e.name??"",process:e.process??"",finish:e.meta??"",imageLabel:`${o}.jpg`,detailLabel:`${o}-detail.jpg`,imageSrc:a||void 0,detailSrc:t[0]||a||void 0,photos:s,href:e.href}}function uo({editing:e=!1,previewHover:t,ratio:a,captionPlace:s,...o}){let{galleryHref:r="/gallery",submitHref:i="/contact",previewHover:n,display:l,displayPhone:c,styleOwner:h}=N01(po),p=O01(o),d=p.photos??(p.imageSrc?[p.imageSrc]:[]),u=V01(null),v=P01(E=>{u.current=E},[]),g=R01(u,e),f=e&&(!!t||!!n),[b,x]=vv(!1),[w,z]=vv(0),k=()=>z(E=>(E-1+d.length)%d.length),L=()=>z(E=>(E+1)%d.length),V=d[w]??p.imageSrc??"",P=n2(uv,{build:p,forceHover:f,index:g?.index,total:g?.total,ratio:a,captionPlace:s,display:l,displayPhone:c,styleOwner:h,editing:e});return V3(Ut,{children:[e?n2("div",{ref:v,[fv]:"",className:"block w-full text-left",children:P}):n2("button",{ref:v,[fv]:"",type:"button","aria-label":`Open ${p.car||"build"} on ${p.wheel||"wheel"}`,onClick:()=>{z(0),x(!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:P}),n2(v9,{open:b,onClose:()=>x(!1),label:`${p.car} on ${p.wheel}`,onPrev:d.length>1?k:void 0,onNext:d.length>1?L:void 0,className:"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:V3("div",{onClick:E=>E.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:[n2(Wt,{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"}),V3("div",{className:"relative flex min-h-[690px] items-center justify-center overflow-hidden bg-surface-2 max-[1100px]:min-h-[450px]",children:[V&&n2("img",{src:V,alt:`${p.car} \u2014 ${w+1} of ${d.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},V),d.length>1&&V3(Ut,{children:[n2("button",{type:"button","aria-label":"Previous photo",onClick:k,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"}),n2("button",{type:"button","aria-label":"Next photo",onClick:L,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"}),V3("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:[w+1," / ",d.length]})]})]}),V3("div",{className:"flex flex-col gap-[30px] px-[60px] py-[72px] max-[1100px]:px-9 max-[1100px]:py-[54px]",children:[p.process&&n2("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:M(p.process)}),p.wheel&&n2("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:J(p.wheel,!1)}),p.car&&V3("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",n2("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em]",children:M(p.car,!0)})]}),V3("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:[p.wheel&&V3(Ut,{children:[n2("dt",{className:"text-fg-dim",children:"Wheel"}),n2("dd",{className:"text-fg",children:M(p.wheel)})]}),p.process&&V3(Ut,{children:[n2("dt",{className:"text-fg-dim",children:"Process"}),n2("dd",{className:"text-fg",children:M(p.process)})]}),p.finish&&V3(Ut,{children:[n2("dt",{className:"text-fg-dim",children:"Finish"}),n2("dd",{className:"text-fg",children:M(p.finish)})]}),p.car&&V3(Ut,{children:[n2("dt",{className:"text-fg-dim",children:"Vehicle"}),n2("dd",{className:"text-fg",children:M(p.car)})]})]}),V3("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[V3(T1,{href:p.href||"/wheels",onClick:()=>x(!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:[n2("span",{children:"View product"}),n2("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"\u2192"})]}),V3(T1,{href:r,onClick:()=>x(!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:[n2("span",{children:"See more builds"}),n2("span",{children:"\u2192"})]}),V3(T1,{href:i,onClick:()=>x(!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:[n2("span",{children:"Submit your build"}),n2("span",{children:"\u2192"})]})]})]})]})})]})}import{createContext as G01,useContext as W01,useEffect as Wc,useId as U01,useMemo as q01,useState as U2}from"react";var B01=14,D01=3;function bv(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function Z01(e,t){let a=new Date(`${e}T00:00:00`);return a.setDate(a.getDate()+t),bv(a)}async function EP(e,t,a={}){let s=a.days??B01,o=a.read??a9.getAvailability,r=0,i=0;for(let n=0;n<s;n++){if(a.signal?.aborted)return{outcome:"unreadable"};let l=Z01(t,n);try{let c=await o(e,l);if(r=0,i++,c.slots.length>0)return{outcome:"found",date:l,availability:c}}catch{if(r++,r>=D01)return{outcome:"unreadable"}}}return i===s?{outcome:"noneInWindow",days:s}:{outcome:"unreadable"}}import{jsx as $01}from"react/jsx-runtime";var HP=G01(null);function n8(){let e=W01(HP);if(!e)throw new Error("useBookingForm must be used inside <BookingFormProvider>");return e}var xv=[{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 j01(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 wv={bookingNumber:"EXAMPLE-0000",service:"Example service",startAt:"2026-01-01T00:00:00.000Z",timezone:"UTC",customerTimezone:"",manageToken:"example"};function K01(e,t){return e&&t?.length===0}function FP({editing:e=!1,previewConfirmation:t=!1,children:a}){let s=U01(),o=q01(()=>bv(new Date),[]),[r,i]=U2(),[n,l]=U2(""),[c,h]=U2(""),[p,d]=U2(o),[u,v]=U2(o),[g,f]=U2(!1),[b,x]=U2(null),[w,z]=U2(),[k,L]=U2(""),[V,P]=U2(""),[E,I]=U2(""),[F,H]=U2(""),[O,q]=U2(""),[R,j]=U2(()=>Wd()),[B,t1]=U2(null),[$,W]=U2(!1),[i1,_]=U2(!1),[D,Y]=U2(null),[e1,X]=U2("");Wc(()=>{X(Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC")},[]),Wc(()=>{let i0=!1;return a9.listServices().then(s0=>{i0||(i(s0.results),l(s0.currency),h(X1=>X1||s0.results[0]?.id||""))}).catch(()=>{i0||i([])}),()=>{i0=!0}},[]),Wc(()=>{if(g||!c)return;let i0={aborted:!1};return L(""),z(void 0),Y(null),x(null),W(!0),EP(c,o,{signal:i0}).then(s0=>{if(!i0.aborted){if(s0.outcome==="found"){d(s0.date),v(s0.date),z(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(()=>{i0.aborted||W(!1)}),()=>{i0.aborted=!0}},[g,c,o]),Wc(()=>{if(!g||!c||!p)return;let i0=!1;return L(""),z(void 0),Y(null),x(null),W(!0),a9.getAvailability(c,p).then(s0=>{i0||(z(s0),s0.slots.length===0&&x("No times are available on this date."))}).catch(()=>{i0||x("We couldn't load available times. Please try again.")}).finally(()=>{i0||W(!1)}),()=>{i0=!0}},[p,g,c]);let m1=r?.find(i0=>i0.id===c),c1=m1?.depositAmountDue!=null,t0=!!(!e&&!i1&&m1&&k&&V.trim()&&E.trim()&&!c1);async function a0(i0){if(i0.preventDefault(),!(!t0||!m1)){_(!0),Y(null);try{let s0=await a9.create({serviceId:m1.id,start:k,customer:{name:V.trim(),email:E.trim(),phone:F.trim()},notes:O.trim(),idempotencyKey:R,customerTimezone:e1});t1(s0),j(Wd())}catch(s0){Y(s0 instanceof A4&&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 A4&&s0.status===409&&(L(""),a9.getAvailability(m1.id,p).then(z).catch(()=>{}))}finally{_(!1)}}}let E1=K01(e,r);return $01(HP.Provider,{value:{fieldPrefix:s,editing:e,services:E1?xv:r,currency:E1?"AUD":n,serviceId:E1?xv[0].id:c,setServiceId:h,service:E1?xv[0]:m1,requiresPayment:E1?!1:c1,date:p,earliestDate:u,setDate:d,setDateTouched:f,availability:E1?j01(p):w,loadingSlots:E1?!1:$,noSlotsMessage:b,selectedStart:E1?`${p}T09:00:00.000Z`:k,setSelectedStart:L,customerTimezone:e1,name:V,setName:P,email:E,setEmail:I,phone:F,setPhone:H,notes:O,setNotes:q,confirmation:B??(t?wv:null),submitting:i1,error:D,canSubmit:E1?!1:t0,handleSubmit:a0,sample:!!E1},children:a})}import{jsx as Uc,Fragment as PP,jsxs as NP}from"react/jsx-runtime";var Y01="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",IP={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 C3(e){let{variant:t="primary",arrow:a,glyphBefore:s,className:o,style:r,children:i,href:n,newTab:l,...c}=e,h=`${Y01} ${IP[t]??IP.primary} ${o??""}`,p=s?NP(PP,{children:[a!==null&&Uc("span",{"aria-hidden":!0,className:"inline-flex",children:a??"\u2192"}),i]}):NP(PP,{children:[i,a!==null&&Uc("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-[3px]",children:a??"\u2192"})]});return n?Uc(u0,{href:n,className:h,style:r,...l?{target:"_blank",rel:"noopener noreferrer"}:{},children:p}):Uc("button",{type:"button",className:h,style:r,...c,children:p})}import{jsx as I0,jsxs as $3}from"react/jsx-runtime";var go="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 X01(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 VP(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 RP(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 vo="font-[family-name:var(--bk-name-font,var(--font-mono))] text-[length:var(--bk-name-size,12px)]";function yv({number:e,children:t}){return $3("div",{className:"mb-4 flex items-center gap-3",children:[I0("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}),I0("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 qc({eyebrow:e,heading:t,intro:a}){return $3("div",{className:"mb-10 max-w-[760px]",children:[(e??"").trim()&&I0("p",{className:"mb-4 font-mono text-[12px] font-semibold uppercase tracking-[0.24em] text-accent",children:e}),(t??"").trim()&&I0("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()&&I0("p",{className:"mt-5 max-w-[660px] font-display text-[17px] leading-[1.65] text-fg-dim",children:a})]})}function jc({style:e}={}){let{fieldPrefix:t,services:a,currency:s,serviceId:o,setServiceId:r,requiresPayment:i,date:n,earliestDate:l,setDate:c,setDateTouched:h,availability:p,loadingSlots:d,noSlotsMessage:u,selectedStart:v,setSelectedStart:g,customerTimezone:f}=n8();return a?$3("div",{className:"flex flex-col gap-9",style:e,children:[$3("div",{children:[I0(yv,{number:"01",children:"Choose a service"}),I0("div",{className:"grid gap-3 sm:grid-cols-2",children:a.map(b=>{let x=b.id===o;return $3("button",{type:"button","aria-pressed":x,onClick:()=>r(b.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:[I0("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:b.name}),$3("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:[b.durationMinutes," min \xB7 ",X01(b.price,s)]}),b.description&&I0("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:b.description})]},b.id)})}),i&&I0("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."})]}),$3("div",{children:[I0(yv,{number:"02",children:"Choose a date and time"}),I0(t3,{separate:!0,htmlFor:`${t}-date`,label:"Date",required:!0,labelFace:vo,children:I0("input",{id:`${t}-date`,type:"date",min:l,value:n,onChange:b=>{h(!0),c(b.target.value)},className:go,required:!0})}),I0("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:d?I0("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"}):p?.slots.length?p.slots.map(b=>$3("button",{type:"button","aria-pressed":v===b.start,onClick:()=>g(b.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 ${v===b.start?"border-accent bg-accent text-bg":"border-line bg-bg text-fg hover:border-accent"}`,children:[I0("span",{className:"block",children:VP(b.start,f||p.timezone)}),f&&f!==p.timezone&&$3("span",{className:"mt-0.5 block text-[9px] font-normal tracking-[0.08em] opacity-70",children:[VP(b.start,p.timezone)," business"]})]},b.start)):u?I0("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}),p?.timezone&&$3("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||p.timezone,f&&f!==p.timezone?` \xB7 business timezone ${p.timezone}`:""]})]})]}):null}function Kc({buttonLabel:e,style:t}){let{fieldPrefix:a,editing:s,name:o,setName:r,email:i,setEmail:n,phone:l,setPhone:c,notes:h,setNotes:p,submitting:d,error:u,canSubmit:v}=n8();return $3("div",{className:"sf-card border border-line bg-bg p-5 min-[640px]:p-7",style:t,children:[I0(yv,{number:"03",children:"Your details"}),$3("div",{className:"flex flex-col gap-4",children:[I0(t3,{separate:!0,htmlFor:`${a}-name`,label:"Name",required:!0,labelFace:vo,children:I0("input",{id:`${a}-name`,type:"text",autoComplete:"name",value:o,onChange:g=>r(g.target.value),className:go,required:!0})}),I0(t3,{separate:!0,htmlFor:`${a}-email`,label:"Email",required:!0,labelFace:vo,children:I0("input",{id:`${a}-email`,type:"email",inputMode:"email",autoComplete:"email",value:i,onChange:g=>n(g.target.value),className:go,required:!0})}),I0(t3,{separate:!0,htmlFor:`${a}-phone`,label:"Phone",labelFace:vo,children:I0("input",{id:`${a}-phone`,type:"tel",inputMode:"tel",autoComplete:"tel",value:l,onChange:g=>c(g.target.value),className:go})}),I0(t3,{separate:!0,htmlFor:`${a}-notes`,label:"What would you like to cover?",labelFace:vo,children:I0("textarea",{id:`${a}-notes`,rows:4,value:h,onChange:g=>p(g.target.value),className:`${go} resize-y`})})]}),u&&I0("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}),I0(C3,{type:s?"button":"submit",disabled:!v,arrow:null,className:"mt-6 w-full disabled:cursor-not-allowed disabled:opacity-50",children:d?"Submitting\u2026":(e??"").trim()||"Book appointment"})]})}function $c({successMessage:e}){let{confirmation:t,customerTimezone:a}=n8();return t?$3("div",{className:"sf-card max-w-[760px] border border-line bg-bg p-6 min-[640px]:p-9",role:"status",children:[$3("p",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-accent",children:["Request received \xB7 ",t.bookingNumber]}),I0("h3",{className:"mt-4 font-display text-[28px] font-medium uppercase text-fg",children:t.service}),I0("p",{className:"mt-2 font-display text-[17px] text-fg-dim",children:RP(t.startAt,t.customerTimezone||a||t.timezone)}),t.customerTimezone&&t.timezone!==t.customerTimezone&&$3("p",{className:"mt-1 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:["Business time: ",RP(t.startAt,t.timezone)]}),(e??"").trim()&&I0("p",{className:"mt-5 max-w-[620px] font-serif text-[18px] italic leading-[1.6] text-fg-dim",children:e}),I0(C3,{href:`/book/${encodeURIComponent(t.manageToken)}`,newTab:t!==wv,variant:"ghost",className:"mt-7",children:"Manage booking"})]}):null}var Yc=["step","name","value","note"],zv={step:"Step",name:"Name",value:"Value",note:"Note"},Xc={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},_P={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 J01(e){return typeof e=="string"&&j5.includes(e)?e:null}var Q01={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function OP(e){let t={};for(let a of Yc){let s=J01(e[Xc[a]]);if(!s)continue;let o=fe({role:s},Q01);o.fontFamily&&(t[_P[a].font]=o.fontFamily),o.fontSize&&(t[_P[a].size]=o.fontSize)}return t}import{jsx as qt}from"react/jsx-runtime";var BP=["head","booking","details","confirm"],DP={head:"Head",booking:"Booking",details:"Your details",confirm:"Confirmation"};function kv({region:e,eyebrow:t,heading:a,intro:s,buttonLabel:o,successMessage:r,...i}){let{confirmation:n,services:l}=n8(),c=OP(i);return e==="head"?qt("div",{className:"min-[960px]:col-span-2",style:c,children:qt(qc,{eyebrow:t,heading:a,intro:s})}):e==="confirm"?n?qt("div",{className:"min-[960px]:col-span-2",style:c,children:qt($c,{successMessage:r})}):null:n||!l||l.length===0?null:e==="booking"?qt(jc,{style:c}):e==="details"?qt(Kc,{buttonLabel:o,style:c}):null}import{jsx as o2,Fragment as e21,jsxs as a5}from"react/jsx-runtime";var f9="solid",Cv=[{label:"Solid",value:"solid"},{label:"Outlined",value:"outlined"}];function ZP(e){return X2(Cv,f9,e)}var Sv="sf-secnum-outline",GP="font-display text-[length:var(--size-headingMedium,clamp(48px,6vw,96px))] font-medium leading-[0.8] tracking-[-0.02em]",WP=`@supports (-webkit-text-stroke: 1px currentColor){.${Sv}{color:var(--site-surface-2);-webkit-text-stroke:1px var(--site-line)}}`;var fo=(e,t=!1)=>typeof e=="string"?J(e,t):e,jt=(e,t=!1)=>typeof e=="string"?M(e,t):e;function m0({num:e,title:t,link:a,logo:s,description:o,accent:r,accentNum:i,numStyle:n=f9,look:l="standard",titleAccent:c,accentTracking:h="-0.02em",spaceBelow:p,rowGap:d,descriptionSize:u,className:v="",eyebrowLook:g=In}){let f=p??(l==="editorial"?"mb-[60px]":"");if(l==="editorial"){let L=!!t||!!c;return a5("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 ${v}`.trim(),children:[e&&(typeof e=="string"?o2(_1,{text:e,className:"pb-2"}):o2("span",{className:"pb-2",children:e})),L&&a5("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,c&&a5(e21,{children:[" ",o2("em",{className:"font-serif font-normal italic text-accent",style:{letterSpacing:h},children:c})]})]}),o&&o2("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:o})]})}if(l==="simple"){let L=`${f} ${v}`.trim();return a5("div",{className:L||void 0,children:[e&&(typeof e=="string"?o2(_1,{text:e,look:g,className:"mb-4 block"}):o2("span",{className:"mb-4 block",children:e})),t&&o2("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:fo(t)})]})}if(l==="statement"){let L=`${f} ${v}`.trim();return a5("div",{className:L||void 0,children:[e&&(typeof e=="string"?o2(_1,{text:e,look:g,className:"mb-4 block"}):o2("span",{className:"mb-4 block",children:e})),t&&o2("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:fo(t,!0)})]})}if(l==="natural"){let L=`flex max-w-[680px] flex-col ${d??"gap-5"} ${f} ${v}`.replace(/\s+/g," ").trim();return a5("div",{className:L,children:[e&&(typeof e=="string"?o2(_1,{text:e,look:g}):o2("span",{children:e})),t&&o2("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:fo(t)}),o&&o2("p",{className:`${u??"text-[length:var(--size-body,16px)]"} leading-[1.6] opacity-85`,children:o})]})}if(l==="essay"){let L=`${f} ${v}`.trim();return a5("div",{className:L||void 0,children:[e&&(typeof e=="string"?o2(_1,{text:e,look:g,className:"mb-4 block"}):o2("span",{className:"mb-4 block",children:e})),t&&o2("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:fo(t)})]})}let b=!!o||!!a,x=!!t,w=ZP(n)==="outlined",z="font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em]",k=null;if(e)if(w)k=o2("span",{className:`${GP} text-fg-dim ${Sv}`,children:jt(e)});else if(i&&!r&&typeof e=="string"){let L=e.indexOf("/"),V=L===-1?e:e.slice(0,L),P=L===-1?"":e.slice(L);k=a5("span",{className:z,children:[o2("span",{className:"text-accent",children:jt(V)}),P&&o2("span",{className:"text-fg-dim",children:jt(P)})]})}else k=o2("span",{className:`${z} ${r?"text-accent":"text-fg-dim"}`,children:jt(e)});return a5("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:[w&&e&&o2("style",{children:WP}),a5("div",{className:"flex flex-col items-start gap-3",children:[s?.src&&o2("img",{...t21(B2(s.src)),alt:s.alt,className:"h-8 w-auto object-contain"}),k]}),x&&o2("h2",{className:r?"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:fo(t)}),b&&a5("div",{className:"flex flex-col items-end gap-3 max-[800px]:items-start",children:[o&&o2("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:jt(o)}),a&&a5(u0,{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:[jt(a.text),o2("span",{"aria-hidden":!0,children:"\u2192"})]})]})]})}function t21(e){let t=U4(e,{fallbackWidth:640,maxWidth:960});return t.srcSet?{src:t.src,srcSet:t.srcSet,sizes:"240px"}:{src:e}}import{jsx as s5,jsxs as bo}from"react/jsx-runtime";function a21(e){return e.type==="textarea"||e.type==="select"||e.type==="checkbox"}function UP({eyebrow:e,title:t}){return bo("div",{className:"flex flex-col gap-4",children:[e&&s5(_1,{text:e,scaled:!1}),t&&s5("h2",{className:"font-display text-[min(clamp(40px,5vw,72px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:J(t,!0)})]})}function Jc({body:e,buttonLabel:t,consent:a,form:s,submission:o,showForm:r,resolving:i,editing:n}){return bo("div",{className:"flex flex-col gap-7",children:[e&&M0(e).map((l,c)=>s5("p",{className:"max-w-[480px] font-display text-[16px] leading-[1.6] text-fg-dim",children:M(l)},c)),r&&(s?o.done?s5("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:Vt(s)}):bo("form",{className:"grid grid-cols-2 gap-2",onSubmit:o.handleSubmit,children:[s.fields.map(l=>{let c=["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",a21(l)?"col-span-2":""].join(" ");return l.type==="checkbox"?bo("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:[s5(e8,{field:l,value:o.valueOf(l.key),onChange:h=>o.set(l.key,h),className:"mt-0.5 size-4 accent-accent"}),bo("span",{children:[l.label,l.required?s5("span",{className:"text-accent",children:" *"}):null]})]},l.key):s5(e8,{field:l,value:o.valueOf(l.key),onChange:h=>o.set(l.key,h),rows:4,placeholder:l.placeholder||l.label,className:l.type==="textarea"?`${c} resize-y`:c},l.key)}),s5(Rt,{value:o.honeypot,onChange:o.setHoneypot}),o.error&&s5("p",{role:"alert",className:"col-span-2 font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:o.error}),t&&s5("button",{type:n?"button":"submit",disabled:o.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:o.submitting?"Sending\u2026":M(t)})]}):s5("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:i?m("Loading form\u2026"):m("Choose a form in the inspector, under Form \u2014 until then this form is hidden on the live page and nothing can be submitted.")})),r&&a&&s5("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:M(a)})]})}var Qc=["field","tick","thanks"],Mv={field:"Form rows",tick:"Tick label",thanks:"Thank-you message"},eh={field:"styleField",tick:"styleTick",thanks:"styleThanks"},qP={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 s21(e){return typeof e=="string"&&j5.includes(e)?e:null}var o21={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function jP(e){let t={};for(let a of Qc){let s=s21(e[eh[a]]);if(!s)continue;let o=fe({role:s},o21);o.fontFamily&&(t[qP[a].font]=o.fontFamily),o.fontSize&&(t[qP[a].size]=o.fontSize)}return t}import{jsx as th}from"react/jsx-runtime";var KP=["head","form"],$P={head:"Head",form:"Form"};function Av({region:e,eyebrow:t,title:a,body:s,buttonText:o,consent:r,formSlug:i,form:n,editing:l=!1,...c}){let h=c6(i,n),p=Q7({form:h,formSlug:i,editing:l}),d=jP(c);return e==="head"?th("div",{style:d,children:th(m0,{look:"statement",num:t,title:a})}):th("div",{style:d,children:th(Jc,{body:s??"",buttonLabel:o??"",consent:r??"",form:h,submission:p,showForm:!!h||l,resolving:h===void 0,editing:l})})}var r21={AppointmentBooking:{slot:"boxes",childType:"BookingBox",addLabel:"Add box",fixed:!0,seeds:()=>BP.map(e=>({region:e,name:DP[e]})),addBlocked:()=>m("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:()=>KP.map(e=>({region:e,name:$P[e]})),addBlocked:()=>m("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:kP},()=>({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:()=>TP.map(e=>({...e})),legacy:e=>Array.isArray(e.cards)?e.cards.map(t=>({...t})):[]}};Bz(r21);function Kt(e,t){let a={};for(let s of Object.keys(e))a[s]={...e[s],...t[s]};return a}import{jsx as i21}from"react/jsx-runtime";import{OpacityIcon as n21}from"efficient-easel/icons";var YP={fields:{_gContent:y("Content"),eyebrow:N("Eyebrow","Limited release"),title:U("Heading","Banner headline"),body:U("Body","A line or two of supporting copy."),_gBackground:y("Background image"),imageSrc:j1("Image","image/*"),overlay:l1("Overlay",i21(n21,{}),0,100,5,60,"%"),_gButton:y("Button"),...t5,_gLayout:y("Layout")}};import{jsx as h21}from"react/jsx-runtime";import{jsx as xo,jsxs as Lv,Fragment as l21}from"react/jsx-runtime";import{Fragment as c21}from"react";function XP({items:e,meta:t,editing:a=!1}){let s=(e??[]).filter(r=>r?.label?.trim()),o=s.length>0?s:a?[{label:m("Breadcrumb")}]:[];return o.length===0&&!t?null:Lv("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:[o.map((r,i)=>{let n=i===o.length-1;return Lv(c21,{children:[i>0&&xo("span",{className:"opacity-40",children:"/"}),r.href&&!n?xo(u0,{href:r.href,className:"hover:text-fg",children:j0(r.label)}):xo("span",{className:n?"text-fg":void 0,children:j0(r.label)})]},i)}),t&&Lv(l21,{children:[xo("span",{className:"opacity-40",children:"\xB7"}),xo("span",{children:M(t)})]})]})}function z5(e,t,a){return e||(a?.isEditing?m(t):void 0)}function M1(e,t,a){let s=Array.isArray(e)?e:[];return s.length?s:a?.isEditing?t:[]}function C(e,t,a){let s=D2(e);if(!s.hidden)return z5(s.text,t,a)}function l2(e,t,a){return D2(e).hidden?"":C(e,t,a)}function p4(e,t,a){return{text:C(e,k2.text,a),href:t||k2.href}}var Tv={meta:"Trailing note"},p21=()=>[{label:m("Home"),href:"/"},{label:m("Section"),href:""}],JP={label:"Breadcrumb",defaultProps:{items:[],meta:""},render:({items:e,meta:t,puck:a})=>h21(XP,{items:M1(e,p21(),a),meta:C(t,Tv.meta,a),editing:a?.isEditing})};var QP={fields:{_gContent:y("Content"),items:{type:"array",label:"Crumbs",arrayFields:{label:K("Label"),href:x3(K("Link"))},getItemSummary:e=>e?.label||"Crumb"},meta:N("Trailing note",Tv.meta)}};import{jsx as R3,jsxs as m21}from"react/jsx-runtime";import{ButtonIcon as d21,ButtonIconIcon as u21,IconAfterTextIcon as g21,IconBeforeTextIcon as v21,StylesIcon as f21,WidthIcon as b21}from"efficient-easel/icons";import*as x21 from"efficient-easel/icons";import{SettingsField as w21}from"efficient-easel/panel";import{useSelectedFields as aN}from"efficient-easel/easel";import{IconPicker as y21,Segmented as z21}from"efficient-shell/ui";function ah(e){return typeof e=="boolean"?e:!0}var Ev=["none","arrow-right","arrow-long-right","arrow-up-right","chevron-right","external","cart","bag","tag","email","location","play","download","search","car"];function Hv(e){return typeof e=="string"&&Ev.includes(e)?e:void 0}function eN(e,t){return Hv(e)??(ah(t)?"arrow-right":"none")}function sh(e){return e==="before"?"before":"after"}function tN(e){return e==="fill"?"fill":"fit"}var Fv=e=>({...Yi({type:"custom",render:()=>R3(Xi,{})},"always"),reachedBy:e});function k21(e){let t=(e==="none"?"no-symbol":e).replace(/(^|-)([a-z])/g,(s,o,r)=>r.toUpperCase()),a=x21[`${t}Icon`];return a?R3(a,{size:16}):null}var C21=Ev.map(e=>({value:e,icon:k21(e)}));function S21({value:e,onChange:t}){let a=aN(),s=a.values.href,o=typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text??""):"";return R3(KC,{label:"Button",icon:R3(d21,{size:18}),text:o,onTextChange:t,link:typeof s=="string"?s:"",onLinkChange:r=>a.onChange("href",r)})}function M21({value:e,onChange:t}){let a=aN(),s=eN(e,a.values.arrow),o=sh(a.values.iconPosition);return R3(w21,{label:m("Icon"),icon:R3(u21,{size:18}),children:m21("div",{className:"flex items-center gap-2",children:[R3(y21,{label:m("Icon"),value:s,emptyValue:"none",options:C21,onChange:t}),s!=="none"&&R3(z21,{label:m("Icon position"),value:o,onChange:r=>a.onChange("iconPosition",r),options:[{value:"before",icon:R3(v21,{size:16}),label:R3("span",{className:"sr-only",children:m("Icon before text")}),title:m("Icon before text")},{value:"after",icon:R3(g21,{size:16}),label:R3("span",{className:"sr-only",children:m("Icon after text")}),title:m("Icon after text")}]})]})})}var sN={fields:{label:rS(K("Button"),e=>R3(S21,{value:e.value,onChange:e.onChange})),href:{...P1("Button link"),...Fv("label")},_dSize:n0("Size"),widthFit:y1("Width",R3(b21,{}),[{label:"Fit content",value:"fit"},{label:"Fill",value:"fill"}],"fit"),_gStyle:y("Style"),variant:y1("Style",R3(f21,{}),[{label:"Filled",value:"primary"},{label:"Outline",value:"ghost"}],"primary"),icon:{type:"custom",render:e=>R3(M21,{value:e.value,onChange:e.onChange})},iconPosition:Fv("icon"),arrow:Fv("icon"),_dLayout:n0("Layout"),align:u6()}};import{jsx as iN}from"react/jsx-runtime";import{ColumnsIcon as F21,StylesIcon as P21}from"efficient-easel/icons";import{jsx as E21}from"react/jsx-runtime";import{jsx as $t,Fragment as A21,jsxs as Pv}from"react/jsx-runtime";var L21="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))]",T21="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 oN({look:e,eyebrow:t,title:a,items:s,columns:o,omitHead:r=!1,editing:i=!1}={}){let n=Math.min(4,Math.max(2,o??3)),l=(s??[]).filter(h=>i||(h.title??"").trim()||(h.body??"").trim()),c=!!(t??"").trim()||!!(a??"").trim();return!i&&!c&&l.length===0?null:$t("section",{className:"relative z-[2] bg-surface",children:Pv("div",{className:r?T21:L21,children:[r?null:Pv(A21,{children:[(t??"").trim()&&$t(_1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&$t("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:J(a??"",!1)})]}),l.length>0&&$t("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(n)},children:l.map((h,p)=>Pv("div",{className:"bg-bg p-8 max-[800px]:p-7",children:[$t("div",{className:"mb-3 font-heading3 text-[length:var(--size-headingSmall,20px)] font-medium uppercase tracking-[0.02em] text-fg",children:M((h.title??"").trim()||"Card title")}),$t("p",{className:"text-[length:var(--size-body,15px)] leading-[1.6] text-fg-dim",children:M((h.body??"").trim()||"A short line about this card.")})]},p))})]})})}var wo={eyebrow:"Label",title:"Section *heading.*"},H21=()=>[{title:m("Card title one"),body:m("A short line about this card.")},{title:m("Card title two"),body:m("A short line about this card.")},{title:m("Card title three"),body:m("A short line about this card.")}],rN={label:"Cards",defaultProps:{eyebrow:"",title:"",items:[],columns:3},render:e=>{let t=U1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return E21(oN,{look:M4(e.eyebrowLook,"Cards"),eyebrow:a(C(e.eyebrow,wo.eyebrow,e.puck)),title:a(C(e.title,wo.title,e.puck)),omitHead:t,items:M1(e.items,H21(),e.puck),columns:e.columns,editing:e.puck?.isEditing})}};var nN={fields:{_gContent:y("Content"),eyebrow:N("Eyebrow",wo.eyebrow),eyebrowLook:w1("Eyebrow style",iN(P21,{}),[...$4],I7("Cards")),title:U("Heading",wo.title),items:{type:"array",label:"Cards",arrayFields:{title:z1("Card title"),body:R1("Card body")},defaultItemProps:{title:"",body:""},getItemSummary:e=>e?.title||e?.body||"Card"},_gStyle:y("Style"),columns:l1("Columns",iN(F21,{}),2,4,1,3)},resolveFields:(e,{fields:t,parent:a})=>q1(J1(t,a,Q1),e.props.headPlacement,G1.Cards.headRows)};import{jsx as N21}from"react/jsx-runtime";import{StickyIcon as I21}from"efficient-easel/icons";var lN={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:K("Label"),count:K("Count")},getItemSummary:e=>e?.label?`${e.label}${e.count?` \xB7 ${e.count}`:""}`:"Tab"},activeTab:S2(x3(K("Active tab","All"))),_gLinks:y("Links"),links:{type:"array",label:"Right links",arrayFields:{label:K("Label"),href:x3(K("Link"))},getItemSummary:e=>e?.label||"Link"},_gStyle:y("Style"),sticky:h1("Stick to top",!0,N21(I21,{}))}};import{jsx as D21}from"react/jsx-runtime";import{StylesIcon as Z21}from"efficient-easel/icons";import{jsx as O21}from"react/jsx-runtime";import{jsx as d2,jsxs as k5}from"react/jsx-runtime";function Nv(e){return Number.isInteger(e)?String(e):String(Math.round(e*10)/10)}var cN=[100,70,46,30,19,12];function hN(e){return`color-mix(in srgb, var(--accent) ${cN[e%cN.length]}%, var(--bg))`}function V21({data:e,suffix:t}){let a=Math.max(...e.map(s=>s.value),0)||1;return d2("div",{className:"flex w-full flex-col gap-6",children:e.map((s,o)=>k5("div",{children:[k5("div",{className:"mb-2 flex items-baseline justify-between gap-4",children:[d2("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg/60",children:M(s.label)}),k5("span",{className:"font-display text-[length:var(--size-body,16px)] font-medium text-fg",children:[Nv(s.value),t]})]}),d2("div",{className:"h-[10px] border border-line bg-bg",children:d2("div",{className:"h-full bg-accent",style:{width:`${Math.max(s.value/a*100,s.value===0?0:2)}%`}})})]},o))})}function R21({data:e,suffix:t}){let a={l:42,r:42,t:36,b:38},s=640-a.l-a.r,o=300-a.t-a.b,r=Math.max(...e.map(h=>h.value),0)||1,i=e.length>1?s/(e.length-1):0,n=e.map((h,p)=>({x:a.l+(e.length>1?p*i:s/2),y:a.t+o-h.value/r*o})),l=n.map((h,p)=>`${p===0?"M":"L"}${h.x},${h.y}`).join(" "),c=`${l} L${n[n.length-1].x},${a.t+o} L${n[0].x},${a.t+o} Z`;return k5("svg",{viewBox:"0 0 640 300",className:"w-full",role:"img","aria-hidden":!0,children:[[.25,.5,.75,1].map(h=>d2("line",{x1:a.l,x2:640-a.r,y1:a.t+o*(1-h),y2:a.t+o*(1-h),stroke:"var(--site-line)",strokeWidth:"1"},h)),d2("line",{x1:a.l,x2:640-a.r,y1:a.t+o,y2:a.t+o,stroke:"var(--site-line)",strokeWidth:"1.5"}),d2("path",{d:c,fill:"var(--accent)",opacity:"0.13"}),d2("path",{d:l,fill:"none",stroke:"var(--accent)",strokeWidth:"2.5"}),n.map((h,p)=>k5("g",{children:[d2("circle",{cx:h.x,cy:h.y,r:"4",fill:"var(--accent)"}),k5("text",{x:h.x,y:h.y-12,textAnchor:"middle",className:"font-display",fontSize:"14",fill:"var(--fg)",children:[Nv(e[p].value),t]}),d2("text",{x:h.x,y:288,textAnchor:"middle",className:"font-mono",fontSize:"10",letterSpacing:"0.1em",fill:"var(--fg)",opacity:"0.55",children:e[p].label.toUpperCase()})]},p))]})}function _21({data:e,suffix:t}){let a=e.reduce((n,l)=>n+l.value,0)||1,s=80,o=2*Math.PI*s,r=0,i=e.map((n,l)=>{let c=n.value/a,h={frac:c,dash:Math.max(c*o-3,0),off:r,ink:hN(l)};return r+=c*o,h});return k5("div",{className:"flex w-full flex-wrap items-center justify-center gap-10",children:[d2("svg",{viewBox:"0 0 200 200",className:"w-[220px] max-w-full -rotate-90",role:"img","aria-hidden":!0,children:i.map((n,l)=>d2("circle",{cx:"100",cy:"100",r:s,fill:"none",stroke:n.ink,strokeWidth:"34",strokeDasharray:`${n.dash} ${o-n.dash}`,strokeDashoffset:-n.off},l))}),d2("ul",{className:"flex min-w-[200px] flex-1 flex-col gap-3",children:e.map((n,l)=>k5("li",{className:"flex items-baseline gap-3",children:[d2("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] flex-shrink-0 rotate-45",style:{background:hN(l)}}),d2("span",{className:"flex-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.12em] text-fg/60",children:M(n.label)}),d2("span",{className:"font-display text-[length:var(--size-body,15px)] font-medium text-fg",children:t?`${Nv(n.value)}${t}`:`${Math.round(n.value/a*100)}%`})]},l))})]})}function pN({eyebrow:e,title:t,body:a,chartStyle:s,items:o,valueSuffix:r,caption:i,editing:n=!1}={}){let l=(r??"").trim()===""?"":r??"",c=(o??[]).map(u=>({label:(u.label??"").trim(),value:parseFloat(u.value??"")})).filter(u=>n?!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(!n&&!h&&c.length===0)return null;let p=s??"bars",d=c.length===0?null:p==="line"&&c.length>1?d2(R21,{data:c,suffix:l}):p==="donut"?d2(_21,{data:c,suffix:l}):d2(V21,{data:c,suffix:l});return d2("section",{className:"relative z-[2] border-y border-line bg-surface",children:k5("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:[k5("div",{children:[(e??"").trim()&&d2("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:M(e??"")}),(t??"").trim()&&d2("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:J(t??"",!1)}),(a??"").trim()&&d2("p",{className:"mt-5 max-w-[46ch] text-[length:var(--size-body,15px)] leading-relaxed text-fg/65",children:a})]}),k5("div",{children:[d,(i??"").trim()&&d2("p",{className:"mt-4 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.14em] text-fg/40",children:i})]})]})})}var yo={eyebrow:"By the numbers",title:`A picture worth
22
+ `}),b0("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:[b0("div",{className:"flex items-center justify-between",children:[b0("span",{className:"flex items-center gap-2.5 font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[e.kickerBadge?O1("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]}),O1("button",{ref:b,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"})]}),b0("h1",{className:"font-display text-[38px] font-medium uppercase leading-[0.95] tracking-[-0.03em] max-[640px]:text-[30px]",children:[e.titleLead+" ",O1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.02em] normal-case",children:e.titleAccent})]}),O1("p",{className:"font-serif text-[13px] italic leading-[1.5] text-fg-dim",children:BC(e,o.length)})]}),b0("div",{className:`grid flex-shrink-0 ${n11[f-1]} gap-px border-b border-line bg-line`,children:[O1(jg,{label:"Items",value:b0(Sc,{children:[O1("em",{className:"font-serif font-normal italic text-accent",children:n.sets})," set",n.sets===1?"":"s"," \xB7 ",n.units," item",n.units===1?"":"s"]})}),e.leadTimeValue?O1(jg,{label:"Lead time",value:e.leadTimeValue}):null,g?O1(jg,{label:"Ships to",value:g}):null]}),b0("div",{className:"flex-1 overflow-y-auto [scrollbar-color:var(--site-line)_transparent] [scrollbar-width:thin]",children:[o.length===0?O1(m11,{content:e}):o.map(w=>O1(l11,{line:w,tyre:x.get(w.slug),onRemove:()=>r(w.id),onQtyChange:z=>i(w.id,z)},w.id)),d.length>0&&b0("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:[b0("div",{className:"mb-3.5 flex items-center justify-between font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[O1("span",{children:"You may also need"}),O1("span",{className:"font-display text-[11px] normal-case tracking-[0.08em] text-fg-dim",children:"Buy together, save"})]}),O1("div",{className:"grid grid-cols-2 gap-2 max-[640px]:grid-cols-1",children:d.map(w=>O1(c11,{href:`/bundles/${w.slug}`,title:w.name,sub:h11(w,n.currency,u)},w.slug))})]}),O1("section",{className:"border-b border-line px-8 py-[22px] max-[640px]:px-[22px]",children:O1(zA,{})}),e.promises.length>0&&O1("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(w=>O1(p11,{children:w},w))})]}),b0("div",{className:"flex flex-shrink-0 flex-col gap-2 border-t border-line px-8 pt-5 max-[640px]:px-[22px]",children:[O1(a8,{label:`Subtotal \xB7 ${n.sets} set${n.sets===1?"":"s"}`,value:u(n.subtotal,n.currency)}),n.appliedBundles.map(w=>O1(a8,{label:`Bundle \xB7 ${w.name}${w.multiples>1?` \xD7${w.multiples}`:""}`,value:b0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(w.discount,n.currency)]})},w.slug)),n.discount>0&&l?.valid&&O1(a8,{label:`Coupon \xB7 ${l.code}`,value:b0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(n.discount,n.currency)]})}),l?.deferred&&O1(a8,{label:`Coupon \xB7 ${l.code}`,value:iA}),l?.valid&&l.effects?.gift&&O1(a8,{label:`Free gift \xB7 ${l.effects.gift.partNumber}${l.effects.gift.quantity>1?` \xD7${l.effects.gift.quantity}`:""}`,value:O1("span",{style:{color:"var(--green)"},children:"Free"})}),O1(a8,{label:"Shipping",value:n.shippingStatus==="free"?O1("span",{style:{color:"var(--green)"},children:"Free"}):vA(n.shippingStatus)??u(n.shipping,n.currency)}),n.tax&&(n.tax.charged?O1(a8,{label:n.tax.inclusive?`${n.tax.name} included \xB7 ${n.tax.rate}%`:n.tax.name,value:u(n.tax.amount,n.currency)}):n.tax.name?O1(a8,{label:n.tax.name,value:"Calculated at checkout"}):null),b0("div",{className:"mt-1.5 flex items-center justify-between border-t border-line pt-3.5 text-fg",children:[b0("span",{className:"font-display text-[22px] font-medium tracking-[-0.02em] normal-case",children:["Total ",O1("em",{className:"font-serif font-normal italic text-accent",children:"due"})]}),O1("span",{className:"text-right font-display text-[30px] font-medium tracking-[-0.025em] text-fg",children:n.repricing?"\u2026":u(n.grand,n.currency)})]})]}),b0("div",{className:"flex flex-shrink-0 flex-col gap-2.5 px-8 pb-[22px] pt-3.5 max-[640px]:px-[22px]",children:[b0(T1,{href:"/checkout",onClick:s,"aria-disabled":o.length===0,className:["group flex items-center justify-between border px-5 py-[18px] font-mono text-[12px] uppercase tracking-[0.3em] transition-colors",o.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",O1("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]}),O1("div",{className:"flex items-center justify-between px-1 py-1.5 font-mono text-[10px] uppercase tracking-[0.24em] text-fg-dim",children:O1(T1,{href:"/wheels",onClick:s,className:"text-fg transition-colors hover:text-accent",children:"\u2190 Keep browsing"})})]})]})]}):null}var n11=["grid-cols-1","grid-cols-2","grid-cols-3"];function jg({label:e,value:t}){return b0("div",{className:"flex flex-col gap-[3px] bg-bg px-4 py-3.5",children:[O1("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-fg-dim",children:e}),O1("span",{className:"font-display text-[14px] font-medium tracking-[-0.005em] text-fg",children:t})]})}function l11({line:e,tyre:t,onRemove:a,onQtyChange:s}){let{catalog:o,totals:r}=L4(),i=(e.components??[]).reduce((c,h)=>c+(r.freeUnitsByPartNumber[h.partNumber]??0),0),{currency:n,formatMoney:l}=x0();return b0(Sc,{children:[b0("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:[O1(Ug,{line:e,catalog:o,tyre:t}),b0("div",{className:"flex min-w-0 flex-col gap-2",children:[b0("div",{className:"flex items-start justify-between gap-3",children:[b0("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-accent",children:["N\xB0 ",e.positionNo," \xB7 ",e.process==="FusionForge\xAE"?b0(Sc,{children:["FusionForge",O1(Z6,{})]}):e.process]}),O1("span",{className:"whitespace-nowrap font-display text-[16px] font-medium tracking-[-0.015em] text-fg",children:Zd(e,n)===null?O7:l(Zd(e,n),n)})]}),b0("h3",{className:"mt-0.5 font-display text-[22px] font-medium uppercase leading-none tracking-[-0.02em]",children:[e.name.lead,O1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em] normal-case",children:e.name.accent})]}),e.config.length>0&&b0("div",{className:"mt-1 flex flex-wrap gap-1.5",children:[e.config.map(c=>O1("span",{className:["border px-2 py-1 font-mono text-[9px] uppercase tracking-[0.18em]",c.gold?"border-[color-mix(in_oklab,var(--accent)_45%,var(--site-line))] text-accent":"border-line text-fg-dim"].join(" "),children:c.label},c.label)),i>0&&b0("span",{className:"border border-accent bg-accent px-2 py-1 font-mono text-[9px] uppercase tracking-[0.18em] text-bg",children:[i,"\xD7 free"]})]}),b0("div",{className:"mt-2.5 flex items-center justify-between gap-3",children:[O1(oo,{value:e.qty,onChange:s,size:"small"}),b0("div",{className:"flex gap-3.5 font-mono text-[10px] uppercase tracking-[0.22em]",children:[O1(T1,{href:e.href??`/wheels/${e.slug}`,className:"text-fg-dim transition-colors hover:text-accent",children:e.href?"View product":"Edit finish"}),O1("button",{type:"button",onClick:a,className:"text-fg-dim transition-colors hover:text-alert",children:"Remove"})]})]})]})]}),e.verifiedFor&&b0("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:[O1("span",{className:"flex-shrink-0 pt-px font-mono text-[10px] uppercase tracking-[0.24em] text-accent",children:"Fits"}),b0("span",{children:["Verified for your ",O1("strong",{className:"font-medium text-accent",children:e.verifiedFor}),". Final torque values shipped with the wheels."]})]})]})}function c11({title:e,sub:t,href:a}){return b0(T1,{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:[b0("span",{className:"flex min-w-0 flex-col gap-[3px]",children:[O1("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap font-display text-[13px] font-medium tracking-[-0.005em] text-fg",children:e}),O1("span",{className:"font-mono text-[9px] uppercase tracking-[0.22em] text-fg-dim",children:t})]}),O1("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 h11(e,t,a){let s=e.savings[t];if(s===void 0)return"Buy together";let o=a(s,t);return e.savingIsFrom?`Save from ${o}`:`Save ${o}`}function p11({children:e}){return O1("span",{className:"inline-flex items-center gap-1.5 before:text-[6px] before:text-accent before:content-['\u25CF']",children:e})}function a8({label:e,value:t}){return b0("div",{className:"flex items-center justify-between font-mono text-[11px] uppercase tracking-[0.18em] text-fg-dim",children:[O1("span",{children:e}),O1("strong",{className:"font-display text-[14px] font-normal tracking-[-0.005em] normal-case text-fg",children:t})]})}function m11({content:e}){return b0("div",{className:"flex flex-col items-center justify-center gap-3 px-8 py-20 text-center",children:[O1("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:e.emptyKicker}),O1("p",{className:"font-serif text-[16px] italic leading-[1.5] text-fg-dim",children:e.emptyBody}),b0(T1,{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 ",O1("span",{className:"text-accent",children:"\u2192"})]})]})}import{Fragment as u11,jsx as g9,jsxs as Mc}from"react/jsx-runtime";var d11=Mt(()=>import("./chunks/EditorPreviewCheckout-LG3YPI4W.js"),{ssr:!1});function Kg(){let{chromePlaceholder:e,themeFromDocument:t}=P3(),{surface:a}=OS();return e||t||!a||a!=="cart"&&a!=="checkout"?null:a==="checkout"?Mc(u11,{children:[g9(d11,{}),g9(NF,{surface:a})]}):g9(D7,{children:Mc(lt,{preview:!0,children:[g9(ro,{}),g9(NF,{surface:a})]})})}function NF({surface:e}){let{label:t,href:a}=cH(e);return Mc("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:[g9("span",{style:{whiteSpace:"nowrap"},children:m("{name} \xB7 preview only",{name:m(t)})}),Mc("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:[m("Open live"),g9(O6,{name:"external-link",size:13,rounded:!0})]})]})}import{CategoryIcon as Fp1,CheckIcon as Qj,ClockIcon as jy,ColumnsIcon as Pp1,DirectionIcon as Np1,EyeIcon as Ip1,ListIcon as Vp1,PageIcon as Rp1,PlacementIcon as _p1,ScrollPointIcon as Op1,TriggerIcon as Bp1}from"efficient-easel/icons";import{useContext as v11,useEffect as VF,useRef as Lc,useState as Tc}from"react";import{Button as Ec}from"efficient-shell/ui";var io=class extends Error{constructor(a){super("The storefront forms list could not be loaded.");this.cause=a;this.name="FormsUnavailableError"}},Ac=null,$g=null,Yg=null;function g11(){Ac=null,$g=null,Yg=null}function IF(e=!1){let t=N3(),a=v2();return(e||!Ac||$g===null&&t!==null||Yg!==a)&&($g=t,Yg=a,Ac=(t?F1.listForms(t,{siteId:a}):Promise.reject(new io)).catch(s=>{throw g11(),s instanceof io?s:new io(s)})),Ac}import{jsx as I2,jsxs as m6}from"react/jsx-runtime";var RF="__create-a-new-form__";function f11({value:e,forms:t,loadFailed:a,emptyLabel:s}){let o=t??[],r=e?o.some(p=>p.slug===e):!0,i=t===null&&!a,n={value:"",label:i?m("Loading\u2026"):a?m("Forms couldn\u2019t be loaded"):s===void 0?m("No form yet"):m(s)},l=e&&!r?[{value:e,label:i||a?e:m("{slug} \u2014 no form with this name",{slug:e})}]:[],c=o.map(p=>({value:p.slug,label:p.is_active?p.title:m("{title} (switched off)",{title:p.title})})),h=i?[]:[{value:RF,label:m("Create a new form")}];return[n,...l,...c,...h]}function b11(e){return e===RF?{action:"create"}:{action:"store",slug:e}}function x11({value:e,pickedId:t,forms:a}){if(!e||!t||a.some(o=>o.slug===e))return null;let s=a.find(o=>o.id===t);return s&&s.slug&&s.slug!==e?s.slug:null}function w11(e){let t=[m("Goes to {place}",{place:m("Storefront \u2192 Forms")})],a=(e.notify_email??"").trim();return a&&t.push(m("Emails a copy to {email}",{email:a})),e.mailing_list_name&&t.push(e.subscribe_mode==="checkbox"?m("Joins the \u201C{audience}\u201D audience, but only when the consent box is ticked",{audience:e.mailing_list_name}):m("Joins the \u201C{audience}\u201D audience",{audience:e.mailing_list_name})),e.kind==="account_signup"&&t.push(e.signup_customer_type==="importer"?m("Creates a wholesale account"):m("Creates a retail account")),t}function Xg({value:e,onChange:t,label:a="Form",emptyLabel:s}){let o=b3(),r=v11(ze),i=r?r.capabilities.hasForms:!0,[n,l]=Tc(null),[c,h]=Tc(!1),[p,d]=Tc(!1),[u,v]=Tc(!1),g=Lc(!0),f=Lc(e);f.current=e;let b=Lc(t);b.current=t;let x=Lc(null),w=(I=!1)=>IF(I).then(F=>{if(g.current){l(F),h(!1);let H=x11({value:f.current,pickedId:x.current,forms:F});H&&b.current(H)}return F},()=>(g.current&&h(!0),[]));VF(()=>(g.current=!0,i&&w(),()=>{g.current=!1}),[i]),VF(()=>i?zl(()=>{w(!0)}):void 0,[i]);let k=e?(n??[]).find(I=>I.slug===e)??null:null;k?x.current=k.id:e||(x.current=null);let L=!!e&&!k&&n!==null&&!c,V=f11({value:e,forms:n,loadFailed:c,emptyLabel:s}),P=async()=>{d(!0),v(!1);try{let I=await ZL(o,{mode:"create"}),F=await w(!0);if(!g.current)return;if(I.status==="timeout"){v(!0);return}if(I.status!=="saved")return;let{form:H}=I;H.slug!==f.current&&b.current(H.slug),F.some(O=>O.id===H.id)||w(!0)}finally{g.current&&d(!1)}},E=I=>{let F=b11(I);F.action==="create"?P():(v(!1),t(F.slug))};return i?m6("div",{className:"sf-formpicker",children:[I2(Le,{label:a,options:V,fallback:"",value:e??"",onChange:E,placeholder:m("Search forms\u2026")}),u&&I2("p",{className:"sf-formsummary-warn",children:m("That didn\u2019t come back \u2014 pick the form from the list, or try again.")}),k?m6("div",{className:"sf-blogsource sf-formsummary",children:[m6("div",{children:[I2("div",{className:"sf-formsummary-caption",children:J2("{n} field","{n} fields",k.fields.length)}),k.fields.length?I2("ol",{className:"sf-formsummary-fields",children:k.fields.map((I,F)=>I2("li",{children:I.label},I.key||`${I.label}-${F}`))}):I2("p",{className:"es-field-hint sf-hint-keep",children:m("This form has no fields yet, so there is nothing for a visitor to fill in.")})]}),m6("div",{children:[I2("div",{className:"sf-formsummary-caption",children:m("Where the answers go")}),I2("ul",{className:"sf-formsummary-fields",children:w11(k).map(I=>I2("li",{children:I},I))})]}),!k.is_active&&I2("p",{className:"sf-formsummary-warn",children:m("This form is switched off, so it won\u2019t appear on the published page. Turn it back on in {place}.",{place:m("Storefront \u2192 Forms")})}),m6("div",{className:"sf-formsummary-actions",children:[I2(Ec,{variant:"secondary",size:"sm",onClick:()=>DL(o,k.id),children:m("Edit form \u270E")}),I2(Ec,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{P()},children:m("New form +")})]}),I2("p",{className:"es-field-hint sf-hint-keep",children:m("The questions, the button text and the thank-you message all come from {place}. Edit them there \u2014 this section updates to match.",{place:m("Storefront \u2192 Forms")})})]}):m6("div",{className:"sf-blogsource sf-formsummary",children:[c?m6("p",{className:"es-field-hint sf-hint-keep",children:[m("This website\u2019s forms couldn\u2019t be loaded, so there is nothing to choose from yet."),e?` ${m("This section still points at \u201C{slug}\u201D, and that is unchanged.",{slug:e})}`:""]}):L&&I2("p",{className:"sf-formsummary-warn",children:m("This section points at \u201C{slug}\u201D, and this website has no form with that name. Pick one from the list above, or leave it \u2014 nothing has been changed.",{slug:e??""})}),m6("div",{className:"sf-formsummary-actions",children:[c&&I2(Ec,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{w(!0)},children:m("Try again")}),I2(Ec,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{P()},children:m("New form +")})]}),!c&&I2("p",{className:"es-field-hint sf-hint-keep",children:m("Pick a form to show here, or build a new one. Forms are made once in {place} and can be shown on any number of pages.",{place:m("Storefront \u2192 Forms")})})]})]}):I2("div",{className:"sf-formpicker",children:I2("div",{className:"sf-blogsource sf-formsummary",children:m6("div",{children:[I2("div",{className:"sf-formsummary-caption",children:m(a)}),m6("p",{className:"es-field-hint sf-hint-keep",children:[m("Forms aren\u2019t available in this editor, so there is nothing to choose here."),e?` ${m("This section still points at \u201C{slug}\u201D, and that is unchanged.",{slug:e})}`:""]})]})})})}import{jsx as y11}from"react/jsx-runtime";function d6(e,t){return{type:"custom",render:({value:a,onChange:s})=>y11(Xg,{value:a,onChange:s,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}import{createContext as z11,useContext as k11}from"react";import{jsx as C11}from"react/jsx-runtime";var _F=z11(null);function OF({slug:e,children:t}){let a=typeof e=="string"&&e.trim()?e:null;return C11(_F.Provider,{value:a,children:t})}function BF(){return k11(_F)}import{createContext as S11,useContext as M11}from"react";import{jsx as A11}from"react/jsx-runtime";var DF=S11("alloy-wheel");function ZF({kind:e,children:t}){return A11(DF.Provider,{value:e??"alloy-wheel",children:t})}function GF(){return M11(DF)}import{createContext as WF,useContext as Hc}from"react";import{jsx as H11}from"react/jsx-runtime";function L11(e){let t=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().toLowerCase();return t?t[0].toUpperCase()+t.slice(1):e}var T11=/^\d{4}-\d{2}-\d{2}$/;function UF(e){return e?e.schema?.length?e.schema.filter(t=>typeof t?.key=="string"&&t.key in e.fields):Object.entries(e.fields).flatMap(([t,a])=>{let s=Array.isArray(a)?"images":typeof a=="string"?T11.test(a)?"date":"text":null;return s?[{key:t,label:L11(t),kind:s}]:[]}):[]}function Fc(e,{firstField:t=!1}={}){if(!e)return[];let a=UF(e).filter(s=>s.kind==="images");return(t?a.slice(0,1):a).flatMap(s=>{let o=e.fields[s.key];return Array.isArray(o)?o.flatMap(r=>{let i=r?.url;if(typeof i!="string"||!i)return[];let n=r.alt;return[{url:i,alt:typeof n=="string"?n:""}]}):[]})}function E11(e){let t=new Date(`${e}T00:00:00Z`);return Number.isNaN(t.getTime())?e:t.toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"})}function qF(e){return e?UF(e).flatMap(t=>{if(t.kind!=="text"&&t.kind!=="date")return[];let a=e.fields[t.key];return typeof a!="string"||!a.trim()?[]:[{label:t.label,value:t.kind==="date"?E11(a):a}]}):[]}var s8="product",Jg=WF(null);function Qg(e){let t=e?.recordType;return typeof t=="string"&&t.trim()||s8}function Pc(e){let t=e?.appState?.data?.root;return Qg(t?.props)!==s8}var jF=WF(s8);function KF({type:e,children:t}){return H11(jF.Provider,{value:e,children:t})}function Nc(e){let t=Hc(Jg),a=Hc(jF);return t?t.type!==s8:e&&a!==s8}var Ic={type:"sample",key:"sample",get title(){return m("Record title")},get fields(){return{first:m("A detail of this record"),second:m("Another detail"),third:m("A third")}},value:void 0,get schema(){return[{key:"first",label:m("First detail"),kind:"text"},{key:"second",label:m("Second detail"),kind:"text"},{key:"third",label:m("Third detail"),kind:"text"}]}},$F=4;function Vc(){return Hc(Jg)}function YF(e){let t=Hc(Jg);return t!==null&&t.type===e?t:null}import{createContext as P11,useContext as N11}from"react";var ev="heroBullets",no="\xB7",lo={bullets:[{label:"Free shipping",detail:"USA, UK, AUS"},{label:"Lifetime warranty",detail:"structural"}]};function XF(e){return e.detail?`${e.label} ${no} ${e.detail}`:e.label}function F11(e){let t=e.trim();if(!t)return null;let a=t.indexOf(no);return a<0?{label:t,detail:""}:{label:t.slice(0,a).trim(),detail:t.slice(a+no.length).trim()}}function JF(e){let t=(e??{})[ev];return Array.isArray(t)?{bullets:t.map(s=>F11(typeof s=="string"?s:_C(s?.text,""))).filter(s=>s!==null)}:lo}import{jsx as I11}from"react/jsx-runtime";var QF=P11(lo);function eP({content:e,children:t}){return I11(QF.Provider,{value:e,children:t})}function tP(){return N11(QF)}var k2={text:"Button label",href:"#"},T={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 k3={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:tS,Stats:void 0};import{jsx as j6}from"react/jsx-runtime";import{jsx as o8,Fragment as V11,jsxs as R11}from"react/jsx-runtime";import{useEasel as oP}from"efficient-easel/easel";import{LayersIcon as _11}from"efficient-easel/icons";import{SettingsDrill as O11,SettingsField as B11}from"efficient-easel/panel";import{default as aP}from"efficient-easel/screen/components/AddChildRow";import{SlotChildActionsProvider as FS1,useSlotChildActions as sP}from"efficient-easel/screen/components/SlotChildActionsContext";function D11({parent:e,parentType:t,label:a,rowName:s,onSelectChild:o,onAddChild:r,nestDepth:i=0}){let n=xs(t,i);if(!n)return null;let{slot:l,choices:c,spec:h}=n,p=String(e.props.id),d=`${p}:${l}`,u=Array.isArray(e.props[l])?e.props[l]:[],v=h?.addBlocked?.(u)??null,g=h?.notice?.(u)??null,f=R11(V11,{children:[g?o8("p",{className:"sf-note",children:g}):null,u.map((b,x)=>o8(O11,{name:s(b),onOpen:()=>o(d,x,String(b.props.id),t)},String(b.props.id??`${d}-${x}`))),c||h.fixed?null:o8(aP,{label:h.addLabel,blocked:v,onAdd:()=>r(p,l,h.childType,u.length,t)})]});return o8("div",{className:"sf-slot-rows",children:a?o8(B11,{label:m(a),icon:o8(_11,{}),value:String(u.length),children:f}):f})}function Z11(e,t){return xs(e)?.spec?.notice?.(t)??null}function rP({parentType:e}){let{selectedItem:t}=oP(r=>r);if(!t||t.type!==e)return null;let a=xs(e)?.slot,s=a&&Array.isArray(t.props[a])?t.props[a]:[],o=Z11(e,s);return o?o8("p",{className:"sf-note",children:o}):null}function G11(e,t){return xs(t)?.source==="footer"?e.blockRowName:e.childRowName}function iP({parentType:e,label:t}){let{appState:a,selectedItem:s}=oP(i=>i),o=sP();if(!o||!s||s.type!==e)return null;let r=e===Rz?wi(a?.data,String(s.props.id)):0;return o8(D11,{parent:s,parentType:e,label:t,rowName:G11(o,e),onSelectChild:o.selectChild,onAddChild:o.addChild,nestDepth:r})}var nP="grayscale(1) contrast(1.03)",lP="Black and white";function W11(e){return e===!0?{filter:nP}:{}}function U11(e){let{filter:t}=W11(e);return t?{style:{filter:t}}:{}}var co="sf-photo-grayscale",q11=`@media (hover:hover){.${co}{filter:${nP};transition:filter 160ms ease}.${co}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${co}{transition:none}}`;function Bt(e,t){return typeof e=="boolean"?e?U11(!0):{}:t===!0?{className:co}:{}}function cP(e){return e===!0?{[co]:q11}:{}}import{AlignLeftIcon as $11,BlackAndWhiteIcon as Y11,ContrastIcon as X11,HeightIcon as J11,TypeIcon as Q11}from"efficient-easel/icons";var j11=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],K11=new Set(j11);function hP(e){let t=e.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let a=t.length-1;a>=0;a-=1)if(K11.has(t[a]))return t[a];return null}var K6=e=>f3(e,l1("Height",j6(J11,{}),Ye.min,Ye.max,Ye.step,Ye.fallback,Ye.unit)),t5={ctaText:N("Button",k2.text),ctaHref:P1("Button link")},u6=()=>y1("Alignment",j6($11,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],"left"),Rc=()=>y1("Tone",j6(X11,{}),[{label:"Default",value:"default"},{label:"Muted",value:"dim"}],"default"),I3=e=>_e({...il[e],keys:{top:"padTop",bottom:"padBottom"},group:!1}),g6=(e,t)=>({type:"custom",render:()=>j6(iP,{parentType:e,label:t})}),_c=e=>({type:"custom",render:()=>j6(rP,{parentType:e})});function e01(e){let{photographyGrayscale:t}=P3();return h1(lP,t===!0,j6(Y11,{})).render(e)}function Dt(){return{type:"custom",render:e=>j6(e01,{...e})}}var Q1=Object.keys(Q5("full"));function Zt(e){let t=hP(e);return t?j6(k4,{noun:t}):j6(Q11,{})}import{readLockHolder as c01}from"efficient-easel/edit-lock";var av="/api/storefront/section-templates/",tv=e=>`${av}${encodeURIComponent(e)}/`,sv=e=>e.node!=null;function Oc(e){if(!sv(e))throw new Error(`Section template ${e.id} has no design`);return e}var rv=(e,t)=>e instanceof A4&&e.status===t;function t01(e){return{list:()=>tt(`${av}?no_page=true`,{token:e()}).then(t=>Array.isArray(t)?t:t.results??[]),get:t=>tt(tv(t),{token:e()}).catch(a=>{if(rv(a,404))return null;throw a}),create:t=>tt(av,{method:"POST",token:e(),body:JSON.stringify(t)}),patch:(t,a)=>tt(tv(t),{method:"PATCH",token:e(),body:JSON.stringify(a)}),remove:t=>tt(tv(t),{method:"DELETE",token:e()})}}var ov="sf:section-templates",pP=`${ov}.imported`,a01="Untitled section",s01=160,Bc=e=>(typeof e=="string"?e.trim().slice(0,s01):"")||a01;function o01(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 r01(e,t=w3){let a={created:0,seeded:0,left:0,skipped:0,kept:!1},s=t.getItem(ov);if(s===null)return a;for(let o of o01(s))try{let r=await e.get(o.id);if(r)r.node==null?(await e.patch(o.id,{node:o.node}),a.seeded+=1):a.left+=1;else try{await e.create({id:o.id,name:Bc(o.name),node:o.node}),a.created+=1}catch(i){if(!rv(i,400))throw i;a.skipped+=1}}catch{return{...a,kept:!0}}return t.setItem(pP,s),t.getItem(pP)===s&&t.removeItem(ov),a}var Dc=class{constructor(t,a=w3){this.readToken=t;this.storage=a;this.imported=null;this.http=t01(t)}ready(){return this.imported?this.imported:this.readToken()?(this.imported=r01(this.http,this.storage).catch(()=>{}),this.imported):Promise.resolve()}async list(){return await this.ready(),(await this.http.list()).filter(sv)}async get(t){return await this.ready(),this.http.get(t)}async ensure(t,a,s){await this.ready();let o=async i=>i?sv(i)?i:Oc(await this.http.patch(t,{node:s})):null,r=await o(await this.http.get(t));if(r)return r;try{return Oc(await this.http.create({id:t,name:Bc(a),node:s}))}catch(i){if(rv(i,400)){let n=await o(await this.http.get(t));if(n)return n}throw i}}async save(t,a){return await this.ready(),Oc(await this.http.create({name:Bc(t),node:a}))}async update(t,a){return await this.ready(),Oc(await this.http.patch(t,{node:a}))}async rename(t,a){return await this.ready(),this.http.patch(t,{name:Bc(a)})}async remove(t){await this.ready(),await this.http.remove(t)}};var mP={"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 dP(e,t){let a=mP[e][t];return{maxSizeBytes:a.max_bytes,maxFiles:a.max_files,accept:a.accept==="*"||a.accept==="*/*"?void 0:a.accept,acceptHint:a.hint}}var i01=["home","products","gallery","about","contact"],n01=e=>{let t=e.slug.trim().toLowerCase(),a=(e.title??"").trim().toLowerCase(),s=i01.findIndex(o=>o===t||o===a);return s===-1?Number.POSITIVE_INFINITY:s},uP=e=>e.map((t,a)=>({page:t,idx:a,rank:n01(t)})).sort((t,a)=>t.rank-a.rank||t.idx-a.idx).map(t=>t.page);var fP="Popups",gP="Site";var bP={[qC]:{label:"Site popup",group:fP},[j4]:{label:"Footer",group:gP},[OC]:{label:"Cart drawer",group:gP}};function nv(e){return bP[e.slug]?.label||e.title||e.slug}function iv(e){let t=e.group?.trim();return t||null}function vP(e,t){let a=new Map;for(let s of e){let o=t(s),r=a.get(o);r?r.push(s):a.set(o,[s])}return a}function xP(e){let t=uP(e),a=[],s=t.filter(n=>!gs(n.slug)),o=s.filter(n=>!iv(n));o.length&&a.push({key:"top",group:null,pages:o});let r=s.filter(n=>iv(n));for(let[n,l]of vP(r,c=>iv(c)))a.push({key:`folder:${n}`,group:n,pages:l});let i=t.filter(n=>gs(n.slug));for(let[n,l]of vP(i,c=>bP[c.slug]?.group??fP))a.push({key:`system:${n}`,group:n,pages:l});return a}import{isExpiredSession as AM1,PAGE_CONFLICT_CODE as wP,readEaselFailure as LM1}from"efficient-easel/screen/lib/failure";var Zc=e=>e.layout_updated_at??e.updated_at??null,h01=["live","changed","never"],lv=e=>h01.includes(e.live_state)?{live:e.live_state}:{};function p01(e){if(!e||typeof e!="object")return null;let t=e;return t.code!==wP?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 m01(e){return e===401||e===403?"unauthorized":e===404?"not-found":e===eA||e>=500?"unavailable":"invalid"}function d01(e){if(!(e instanceof A4))return e;if(e.status===409){let t=p01(e.data);if(t)return new Y5("changed-elsewhere",e.message,{conflict:t,cause:e});let a=c01(e.data);if(a)return new Y5("lock-taken",e.message,{holder:a,cause:e})}return new Y5(m01(e.status),e.message,{cause:e})}var cv=new WeakMap;function u01(e,t){let a=Nn(),s=a?new URL(a).hostname:typeof window<"u"?window.location?.hostname??null:null,o=null,r=t.siteId(),i=t.token();if(OM(s)&&r&&i){let l=Pn(i,r);cv.has(l)?o=cv.get(l)??null:l.then(c=>cv.set(l,c))}let n=BM({pageSlug:e,siteSlug:o,hostname:s});return a?`${a}${n}`:n}var g01={group:"Template pages",groupKey:"template"},yP=e=>({id:e.id,slug:e.slug,label:e.title||e.slug,...g01,draft:!1});function zP(e){let t=async c=>{let h=e.token();if(!h)throw new Y5("unauthorized","The editor has no sign-in yet.");try{return await c(h)}catch(p){throw d01(p)}},a={list:c=>t(async h=>{let p=await F1.listPages(h,c?.siteId);return xP(p.filter(d=>d.slug!==j4)).flatMap(d=>d.pages.map(u=>({id:u.id,slug:u.slug,label:nv(u),group:d.group,groupKey:d.key,draft:!u.is_published,kind:u.kind??null})))}),load:c=>t(async h=>{let p="id"in c?c.id:(await F1.findPageBySlug(c.slug,h,c.siteId))?.id,d=p?await F1.getPageById(p,h):null;return d?{id:d.id,layout:d.layout,kind:d.kind,version:Zc(d),...lv(d)}:null}),save:(c,h,p)=>{let{version:d}=p;return d?t(async u=>{let v=await F1.saveLayout(c,h.layout,u,d,p.clientId||void 0);return{version:Zc(v),...lv(v)}}):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:c=>t(h=>F1.getPageById(c,h).then(Zc)),linkTargets:c=>t(async h=>(await F1.listPages(h,c?.siteId)).map(p=>({id:p.id,slug:p.slug,label:nv(p),layout:p.layout??null}))),publish:(c,h)=>t(async p=>{let d=await F1.publishPage(c,p,h?.version);return{version:Zc(d),...lv(d)}})},s=c=>({list:()=>t(async h=>(await F1.listTemplatePages(c,h)).map(yP)),load:h=>t(async p=>{let d=f=>"id"in h?f.id===h.id:f.slug===h.slug,u=f=>({id:f.id,layout:f.layout,version:null}),v=await F1.listTemplatePages(c,p);if(v.length)return u(v.find(d)??v[0]);let g=await F1.getTemplate(c,p).catch(()=>null);try{return u(await F1.createTemplatePage(c,{slug:we,title:"Home",layout:g?.layout??{}},p))}catch{let f=await F1.listTemplatePages(c,p),b=f.find(d)??f[0];return b?u(b):null}}),save:(h,p)=>t(async d=>(await F1.saveTemplatePageLayout(h,p.layout,d),{version:null})),create:h=>t(async p=>yP(await F1.createTemplatePage(c,{slug:h.slug,title:h.title,layout:h.layout},p))),remove:(h,p)=>t(d=>F1.deleteTemplatePage(h,d,p))}),o=c=>{let h=c?.siteId??e.siteId();if(!h)throw new Y5("not-found","This editor is not connected to a website.");return h},r=c=>({name:c.name,slug:c.slug,mapsApiKey:c.maps_api_key,mapsMapId:c.maps_map_id}),i=c=>Object.fromEntries(J8.map(h=>[h,c[zn(h)]??""])),n=c=>({enabled:c.enabled,title:c.title,subtitle:c.subtitle,greeting:c.greeting}),l={pages:a,lock:{claim:(c,h,p)=>t(async d=>({heartbeatSeconds:(await F1.claimPageEditLock(c,d,h,p)).heartbeat_seconds})),release:c=>t(h=>F1.releasePageEditLock(c,h))},site:{get:c=>t(async h=>r(await F1.getSite(o(c),h))),update:(c,h)=>t(async p=>r(await F1.updateSite(o(h),c.mapsApiKey===void 0?{}:{maps_api_key:c.mapsApiKey},p)))},media:{resolve:wz,maxUploadBytes:dP("POST /api/storefront/media/","file").maxSizeBytes},sectionTemplates:new Dc(e.token),social:{get:c=>t(async h=>i(await F1.getSocialSettings(h,o(c)))),update:(c,h)=>t(async p=>{let d=Object.fromEntries(J8.filter(u=>u in c).map(u=>[zn(u),c[u]]));try{return i(await F1.updateSocialSettings(d,p,o(h)))}catch(u){if(u instanceof A4&&u.status===400){let v=u.data??{},g={};for(let f of J8){let b=v[zn(f)],x=Array.isArray(b)?b[0]:b;typeof x=="string"&&x.trim()&&(g[f]=x)}if(Object.keys(g).length>0)throw new Y5("invalid",u.message,{fields:g,cause:u})}throw u}})},theme:{get:c=>t(h=>F1.getThemeSettings(h,c?.siteId)),update:(c,h)=>t(p=>F1.updateThemeSettings(c,p,h?.siteId))},chat:{get:c=>t(async h=>n(await F1.getChatSettings(h,c?.siteId))),update:(c,h)=>t(async p=>n(await F1.updateChatSettings(c,p,h?.siteId)))},blog:{posts:c=>t(async h=>(await F1.listBlogPosts(h,{visibleOnly:!0,siteId:c?.siteId})).map(p=>({slug:p.slug,title:p.title,excerpt:p.excerpt,category:p.category,coverImage:p.cover_image?U5(p.cover_image)??"":"",publishedAt:p.published_at,href:pd(p.slug)})))},templates:{get:c=>t(async h=>{let p=await F1.getTemplate(c,h);return{id:p.id,name:p.name}}),pages:s},preview:{href:c=>u01(c,e),draftLink:c=>t(async h=>({url:(await F1.createPagePreviewLink(c,h)).url??null}))}};return l[pz]=!0,l}AC({read:e=>e instanceof A4?{status:e.status,data:e.data,message:e.message}:null,unreachableMessage:QM,loadRefusal:(e,{slug:t})=>e instanceof rA?`\u201C${t}\u201D exists on more than one website. Open it from the site you want to edit.`:null});dz(e=>zP({token:()=>e.auth.token,siteId:()=>e.siteId()}));function v01(e={}){return e.portalAudience!==void 0&&tA(e.portalAudience),e.language!==void 0&&aA(e.language),zP({token:()=>cs().auth.token,siteId:()=>e.siteId??cs().siteId()})}import{createContext as f01,useContext as b01}from"react";import{jsx as r8,jsxs as hv}from"react/jsx-runtime";function pv(e){return U5(e)??void 0}var mv=f01({}),kP=3;function dv({tag:e,name:t,desc:a,href:s,imageSrc:o,imageLabel:r,price:i}){let{showPrice:n,cardStyle:l,partStyles:c,editing:h}=b01(mv),p=l==="bordered"?" border border-line":l==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",d=pv(o),u=g=>h?{[e9]:g}:{},v=g=>Hn(c?.[t9(g)]?.role,MM[g],Si);return hv(T1,{href:s||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${p}`,children:[r8("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:r8(H0,{label:r||"collection.jpg",src:d})}),r8("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"}}),hv("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&&r8("span",{...u("tag"),style:v("tag"),className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.25em] opacity-70",children:M(e)}),t&&r8("h3",{...u("name"),style:v("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"?J(t,!1):t}),a&&M0(a).map((g,f)=>r8("p",{...u("body"),style:v("body"),className:"max-w-[420px] text-[length:var(--size-body,14px)] leading-[1.5] opacity-80",children:M(g)},f)),n&&i&&r8("span",{...u("price"),style:v("price"),className:"font-mono text-[length:var(--size-label,15px)] tracking-[0.05em] text-accent",children:M(i)}),hv("span",{...u("link"),style:v("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",r8("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"\u2192"})]})]})]})}import{createContext as F01,useCallback as P01,useContext as N01,useEffect as I01,useRef as V01,useState as vv}from"react";import{useState as w01}from"react";function Gc(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 CP(e){return e==="below"}import{Fragment as x01,jsx as SP}from"react/jsx-runtime";function i8({kind:e,shared:t=!1,children:a}){let s=Dk(e),o=Zk(e),r=t?o:s;return r?SP("span",{[hk]:r.stamp,children:a}):SP(x01,{children:a})}import{jsx as h4,jsxs as Gt}from"react/jsx-runtime";function uv({build:e,hiddenMobile:t,alwaysShowOverlay:a,forceHover:s,index:o,total:r,ratio:i,captionPlace:n,display:l,displayPhone:c,styleOwner:h,editing:p=!1}){let d=w=>PC(l,c,w),u=w=>p&&h?{[Ei]:h,[ps]:`@${w}`}:{},v=(w,z)=>!p&&h?h4(i8,{kind:`@${w}`,shared:!0,children:z}):z,[g,f]=w01(!1),b=CP(n),x=Gt("div",{className:["sf-card group relative overflow-hidden bg-surface-2",Gc(i),t?"max-[800px]:hidden":""].join(" "),children:[Gt("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:[h4(H0,{label:e.imageLabel,src:e.imageSrc}),h4("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),h4("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&&h4(a4,{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:g?"none":"block"},onError:()=>f(!0)})}),(e.process||o!=null&&r!=null)&&Gt("div",{className:"pointer-events-none absolute top-3 left-3 right-3 z-[3] flex items-baseline gap-2 max-[800px]:top-2.5 max-[800px]:left-2.5 max-[800px]:right-2.5",children:[e.process&&h4("span",{...u("tag"),className:["min-w-0 truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent",d("tag"),"transition-opacity duration-300 ease-out",a||s?"opacity-100":"opacity-0 group-hover:opacity-100 max-[800px]:opacity-100"].join(" "),children:v("tag",h0(e.process))}),o!=null&&r!=null&&h4("span",{...u("number"),className:`ml-auto shrink-0 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] ${d("number")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:v("number",`${String(o).padStart(2,"0")} / ${String(r).padStart(2,"0")}`)})]}),h4("div",{className:["absolute inset-0 z-[2]","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"].join(" "),style:{color:"var(--overlay-fg)",background:"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:Gt("div",{className:"absolute inset-x-0 bottom-0 top-9 flex flex-col justify-end gap-1 overflow-hidden p-6 max-[800px]:top-8 max-[800px]:p-3.5",children:[e.car&&h4("div",{...u("eyebrow"),className:`truncate 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] ${d("eyebrow")}`.trim(),children:v("eyebrow",e.car)}),e.wheel&&h4("div",{...u("title"),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)] ${d("title")}`.trim(),children:v("title",e.wheel)}),e.finish&&h4("div",{...u("meta"),className:`mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em] ${d("meta")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:h4("span",{children:v("meta",h0(e.finish))})})]})})]});return b?Gt("div",{className:t?"max-[800px]:hidden":"",children:[x,Gt("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&h4("div",{...u("title"),className:`font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg ${d("title")}`.trim(),children:v("title",e.wheel)}),(e.finish||e.car)&&h4("div",{...u(e.finish?"meta":"eyebrow"),className:`mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim ${d(e.finish?"meta":"eyebrow")}`.trim(),children:v(e.finish?"meta":"eyebrow",h0(e.finish||e.car))})]})]}):x}import{createContext as y01,useContext as z01,useEffect as k01,useLayoutEffect as C01,useRef as gv,useState as S01}from"react";import{createPortal as M01}from"react-dom";import{Fragment as E01,jsx as ho,jsxs as H01}from"react/jsx-runtime";var A01=".sf-themed-content",MP="sf-section-accent";function L01(e,t){let a={},s=!1,o=[];for(let r=e;r&&r!==t;r=r.parentElement)o.push(r);for(let r of o.reverse()){r.classList.contains(MP)&&(s=!0);let i=r.style;if(i)for(let n=0;n<i.length;n+=1){let l=i.item(n);l.startsWith("--")&&(a[l]=i.getPropertyValue(l))}}return{className:s?`contents ${MP}`:"contents",style:a}}function T01(e){let t=e.querySelectorAll("a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex='-1'])");return Array.from(t).filter(a=>!a.hasAttribute("hidden")&&a.getAttribute("aria-hidden")!=="true")}var AP=y01(()=>{});function v9({open:e,onClose:t,label:a,onPrev:s,onNext:o,className:r="",style:i,children:n}){let l=gv(null),c=gv(null),[h,p]=S01(null);C01(()=>{if(!e){p(null);return}let v=l.current;if(!v)return;let g=v.closest(A01)??v.ownerDocument.body;p({host:g,theme:L01(v,g)})},[e]);let d=gv({onClose:t,onPrev:s,onNext:o});d.current={onClose:t,onPrev:s,onNext:o};let u=e&&h!==null;return k01(()=>{if(!u)return;let v=c.current,g=v?.ownerDocument??document,f=g.activeElement;v?.focus();let b=z=>{if(z.key==="Escape")d.current.onClose();else if(z.key==="ArrowLeft")d.current.onPrev?.();else if(z.key==="ArrowRight")d.current.onNext?.();else if(z.key==="Tab"&&v){let k=T01(v);if(k.length===0){z.preventDefault(),v.focus();return}let L=k[0],V=k[k.length-1],P=g.activeElement,E=!!P&&v.contains(P)&&P!==v;if(z.shiftKey&&(!E||P===L))z.preventDefault(),V.focus();else if(!z.shiftKey&&(!E||P===V))z.preventDefault(),L.focus();else{z.preventDefault();let I=k.indexOf(P);k[z.shiftKey?I-1:I+1]?.focus()}}},x=g.defaultView??window;x.addEventListener("keydown",b);let w=g.body.style.overflow;return g.body.style.overflow="hidden",()=>{x.removeEventListener("keydown",b),g.body.style.overflow=w,f&&f.isConnected&&f.focus()}},[u]),e?H01(E01,{children:[ho("span",{ref:l,hidden:!0}),h&&M01(ho("div",{className:h.theme.className,style:h.theme.style,children:ho("div",{ref:c,role:"dialog","aria-modal":"true","aria-label":a,tabIndex:-1,onClick:t,className:`fixed inset-0 z-(--sf-layer-lightbox) outline-none ${r}`,style:i,children:ho(AP.Provider,{value:t,children:n})})}),h.host)]}):null}function Wt({className:e="absolute right-5 top-5 flex h-10 w-10 cursor-pointer items-center justify-center border border-fg-dim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",style:t,label:a="Close",children:s="\xD7"}){let o=z01(AP);return ho("button",{type:"button","aria-label":a,onClick:r=>{r.stopPropagation(),o()},className:e,style:t,children:s})}import{Fragment as Ut,jsx as n2,jsxs as V3}from"react/jsx-runtime";var po=F01({}),LP=[{id:"tag",label:"Tag"},{id:"eyebrow",label:"Eyebrow"},{id:"title",label:"Title"},{id:"meta",label:"Meta"},{id:"number",label:"Card number"}],mo="data-gallery-grid",fv="data-gallery-tile";function R01(e,t){let[a,s]=vv(null);return I01(()=>{let o=e.current,r=o?.closest(`[${mo}]`);if(!o||!r)return;let i=()=>{let l=Array.from(r.querySelectorAll(`[${fv}]`)),c=l.indexOf(o),h=c>=0?{index:c+1,total:l.length}:null;s(p=>p?.index===h?.index&&p?.total===h?.total?p:h)};if(i(),!t)return;let n=new MutationObserver(i);return n.observe(r,{childList:!0,subtree:!0}),()=>n.disconnect()},[e,t]),a}var TP=[{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 _01(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function O01(e){let t=(e.photos??[]).map(r=>r?.src).filter(r=>!!r),a=e.image||t[0]||"",s=[a,...t].filter(r=>!!r),o=_01(e.name,"gallery-item");return{car:e.eyebrow??"",wheel:e.name??"",process:e.process??"",finish:e.meta??"",imageLabel:`${o}.jpg`,detailLabel:`${o}-detail.jpg`,imageSrc:a||void 0,detailSrc:t[0]||a||void 0,photos:s,href:e.href}}function uo({editing:e=!1,previewHover:t,ratio:a,captionPlace:s,...o}){let{galleryHref:r="/gallery",submitHref:i="/contact",previewHover:n,display:l,displayPhone:c,styleOwner:h}=N01(po),p=O01(o),d=p.photos??(p.imageSrc?[p.imageSrc]:[]),u=V01(null),v=P01(E=>{u.current=E},[]),g=R01(u,e),f=e&&(!!t||!!n),[b,x]=vv(!1),[w,z]=vv(0),k=()=>z(E=>(E-1+d.length)%d.length),L=()=>z(E=>(E+1)%d.length),V=d[w]??p.imageSrc??"",P=n2(uv,{build:p,forceHover:f,index:g?.index,total:g?.total,ratio:a,captionPlace:s,display:l,displayPhone:c,styleOwner:h,editing:e});return V3(Ut,{children:[e?n2("div",{ref:v,[fv]:"",className:"block w-full text-left",children:P}):n2("button",{ref:v,[fv]:"",type:"button","aria-label":`Open ${p.car||"build"} on ${p.wheel||"wheel"}`,onClick:()=>{z(0),x(!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:P}),n2(v9,{open:b,onClose:()=>x(!1),label:`${p.car} on ${p.wheel}`,onPrev:d.length>1?k:void 0,onNext:d.length>1?L:void 0,className:"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:V3("div",{onClick:E=>E.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:[n2(Wt,{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"}),V3("div",{className:"relative flex min-h-[690px] items-center justify-center overflow-hidden bg-surface-2 max-[1100px]:min-h-[450px]",children:[V&&n2("img",{src:V,alt:`${p.car} \u2014 ${w+1} of ${d.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},V),d.length>1&&V3(Ut,{children:[n2("button",{type:"button","aria-label":"Previous photo",onClick:k,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"}),n2("button",{type:"button","aria-label":"Next photo",onClick:L,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"}),V3("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:[w+1," / ",d.length]})]})]}),V3("div",{className:"flex flex-col gap-[30px] px-[60px] py-[72px] max-[1100px]:px-9 max-[1100px]:py-[54px]",children:[p.process&&n2("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:M(p.process)}),p.wheel&&n2("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:J(p.wheel,!1)}),p.car&&V3("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",n2("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em]",children:M(p.car,!0)})]}),V3("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:[p.wheel&&V3(Ut,{children:[n2("dt",{className:"text-fg-dim",children:"Wheel"}),n2("dd",{className:"text-fg",children:M(p.wheel)})]}),p.process&&V3(Ut,{children:[n2("dt",{className:"text-fg-dim",children:"Process"}),n2("dd",{className:"text-fg",children:M(p.process)})]}),p.finish&&V3(Ut,{children:[n2("dt",{className:"text-fg-dim",children:"Finish"}),n2("dd",{className:"text-fg",children:M(p.finish)})]}),p.car&&V3(Ut,{children:[n2("dt",{className:"text-fg-dim",children:"Vehicle"}),n2("dd",{className:"text-fg",children:M(p.car)})]})]}),V3("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[V3(T1,{href:p.href||"/wheels",onClick:()=>x(!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:[n2("span",{children:"View product"}),n2("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"\u2192"})]}),V3(T1,{href:r,onClick:()=>x(!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:[n2("span",{children:"See more builds"}),n2("span",{children:"\u2192"})]}),V3(T1,{href:i,onClick:()=>x(!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:[n2("span",{children:"Submit your build"}),n2("span",{children:"\u2192"})]})]})]})]})})]})}import{createContext as G01,useContext as W01,useEffect as Wc,useId as U01,useMemo as q01,useState as U2}from"react";var B01=14,D01=3;function bv(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function Z01(e,t){let a=new Date(`${e}T00:00:00`);return a.setDate(a.getDate()+t),bv(a)}async function EP(e,t,a={}){let s=a.days??B01,o=a.read??a9.getAvailability,r=0,i=0;for(let n=0;n<s;n++){if(a.signal?.aborted)return{outcome:"unreadable"};let l=Z01(t,n);try{let c=await o(e,l);if(r=0,i++,c.slots.length>0)return{outcome:"found",date:l,availability:c}}catch{if(r++,r>=D01)return{outcome:"unreadable"}}}return i===s?{outcome:"noneInWindow",days:s}:{outcome:"unreadable"}}import{jsx as $01}from"react/jsx-runtime";var HP=G01(null);function n8(){let e=W01(HP);if(!e)throw new Error("useBookingForm must be used inside <BookingFormProvider>");return e}var xv=[{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 j01(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 wv={bookingNumber:"EXAMPLE-0000",service:"Example service",startAt:"2026-01-01T00:00:00.000Z",timezone:"UTC",customerTimezone:"",manageToken:"example"};function K01(e,t){return e&&t?.length===0}function FP({editing:e=!1,previewConfirmation:t=!1,children:a}){let s=U01(),o=q01(()=>bv(new Date),[]),[r,i]=U2(),[n,l]=U2(""),[c,h]=U2(""),[p,d]=U2(o),[u,v]=U2(o),[g,f]=U2(!1),[b,x]=U2(null),[w,z]=U2(),[k,L]=U2(""),[V,P]=U2(""),[E,I]=U2(""),[F,H]=U2(""),[O,q]=U2(""),[R,j]=U2(()=>Wd()),[B,t1]=U2(null),[$,W]=U2(!1),[i1,_]=U2(!1),[D,Y]=U2(null),[e1,X]=U2("");Wc(()=>{X(Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC")},[]),Wc(()=>{let i0=!1;return a9.listServices().then(s0=>{i0||(i(s0.results),l(s0.currency),h(X1=>X1||s0.results[0]?.id||""))}).catch(()=>{i0||i([])}),()=>{i0=!0}},[]),Wc(()=>{if(g||!c)return;let i0={aborted:!1};return L(""),z(void 0),Y(null),x(null),W(!0),EP(c,o,{signal:i0}).then(s0=>{if(!i0.aborted){if(s0.outcome==="found"){d(s0.date),v(s0.date),z(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(()=>{i0.aborted||W(!1)}),()=>{i0.aborted=!0}},[g,c,o]),Wc(()=>{if(!g||!c||!p)return;let i0=!1;return L(""),z(void 0),Y(null),x(null),W(!0),a9.getAvailability(c,p).then(s0=>{i0||(z(s0),s0.slots.length===0&&x("No times are available on this date."))}).catch(()=>{i0||x("We couldn't load available times. Please try again.")}).finally(()=>{i0||W(!1)}),()=>{i0=!0}},[p,g,c]);let m1=r?.find(i0=>i0.id===c),c1=m1?.depositAmountDue!=null,t0=!!(!e&&!i1&&m1&&k&&V.trim()&&E.trim()&&!c1);async function a0(i0){if(i0.preventDefault(),!(!t0||!m1)){_(!0),Y(null);try{let s0=await a9.create({serviceId:m1.id,start:k,customer:{name:V.trim(),email:E.trim(),phone:F.trim()},notes:O.trim(),idempotencyKey:R,customerTimezone:e1});t1(s0),j(Wd())}catch(s0){Y(s0 instanceof A4&&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 A4&&s0.status===409&&(L(""),a9.getAvailability(m1.id,p).then(z).catch(()=>{}))}finally{_(!1)}}}let E1=K01(e,r);return $01(HP.Provider,{value:{fieldPrefix:s,editing:e,services:E1?xv:r,currency:E1?"AUD":n,serviceId:E1?xv[0].id:c,setServiceId:h,service:E1?xv[0]:m1,requiresPayment:E1?!1:c1,date:p,earliestDate:u,setDate:d,setDateTouched:f,availability:E1?j01(p):w,loadingSlots:E1?!1:$,noSlotsMessage:b,selectedStart:E1?`${p}T09:00:00.000Z`:k,setSelectedStart:L,customerTimezone:e1,name:V,setName:P,email:E,setEmail:I,phone:F,setPhone:H,notes:O,setNotes:q,confirmation:B??(t?wv:null),submitting:i1,error:D,canSubmit:E1?!1:t0,handleSubmit:a0,sample:!!E1},children:a})}import{jsx as Uc,Fragment as PP,jsxs as NP}from"react/jsx-runtime";var Y01="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",IP={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 C3(e){let{variant:t="primary",arrow:a,glyphBefore:s,className:o,style:r,children:i,href:n,newTab:l,...c}=e,h=`${Y01} ${IP[t]??IP.primary} ${o??""}`,p=s?NP(PP,{children:[a!==null&&Uc("span",{"aria-hidden":!0,className:"inline-flex",children:a??"\u2192"}),i]}):NP(PP,{children:[i,a!==null&&Uc("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-[3px]",children:a??"\u2192"})]});return n?Uc(u0,{href:n,className:h,style:r,...l?{target:"_blank",rel:"noopener noreferrer"}:{},children:p}):Uc("button",{type:"button",className:h,style:r,...c,children:p})}import{jsx as I0,jsxs as $3}from"react/jsx-runtime";var go="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 X01(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 VP(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 RP(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 vo="font-[family-name:var(--bk-name-font,var(--font-mono))] text-[length:var(--bk-name-size,12px)]";function yv({number:e,children:t}){return $3("div",{className:"mb-4 flex items-center gap-3",children:[I0("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}),I0("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 qc({eyebrow:e,heading:t,intro:a}){return $3("div",{className:"mb-10 max-w-[760px]",children:[(e??"").trim()&&I0("p",{className:"mb-4 font-mono text-[12px] font-semibold uppercase tracking-[0.24em] text-accent",children:e}),(t??"").trim()&&I0("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()&&I0("p",{className:"mt-5 max-w-[660px] font-display text-[17px] leading-[1.65] text-fg-dim",children:a})]})}function jc({style:e}={}){let{fieldPrefix:t,services:a,currency:s,serviceId:o,setServiceId:r,requiresPayment:i,date:n,earliestDate:l,setDate:c,setDateTouched:h,availability:p,loadingSlots:d,noSlotsMessage:u,selectedStart:v,setSelectedStart:g,customerTimezone:f}=n8();return a?$3("div",{className:"flex flex-col gap-9",style:e,children:[$3("div",{children:[I0(yv,{number:"01",children:"Choose a service"}),I0("div",{className:"grid gap-3 sm:grid-cols-2",children:a.map(b=>{let x=b.id===o;return $3("button",{type:"button","aria-pressed":x,onClick:()=>r(b.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:[I0("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:b.name}),$3("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:[b.durationMinutes," min \xB7 ",X01(b.price,s)]}),b.description&&I0("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:b.description})]},b.id)})}),i&&I0("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."})]}),$3("div",{children:[I0(yv,{number:"02",children:"Choose a date and time"}),I0(t3,{separate:!0,htmlFor:`${t}-date`,label:"Date",required:!0,labelFace:vo,children:I0("input",{id:`${t}-date`,type:"date",min:l,value:n,onChange:b=>{h(!0),c(b.target.value)},className:go,required:!0})}),I0("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:d?I0("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"}):p?.slots.length?p.slots.map(b=>$3("button",{type:"button","aria-pressed":v===b.start,onClick:()=>g(b.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 ${v===b.start?"border-accent bg-accent text-bg":"border-line bg-bg text-fg hover:border-accent"}`,children:[I0("span",{className:"block",children:VP(b.start,f||p.timezone)}),f&&f!==p.timezone&&$3("span",{className:"mt-0.5 block text-[9px] font-normal tracking-[0.08em] opacity-70",children:[VP(b.start,p.timezone)," business"]})]},b.start)):u?I0("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}),p?.timezone&&$3("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||p.timezone,f&&f!==p.timezone?` \xB7 business timezone ${p.timezone}`:""]})]})]}):null}function Kc({buttonLabel:e,style:t}){let{fieldPrefix:a,editing:s,name:o,setName:r,email:i,setEmail:n,phone:l,setPhone:c,notes:h,setNotes:p,submitting:d,error:u,canSubmit:v}=n8();return $3("div",{className:"sf-card border border-line bg-bg p-5 min-[640px]:p-7",style:t,children:[I0(yv,{number:"03",children:"Your details"}),$3("div",{className:"flex flex-col gap-4",children:[I0(t3,{separate:!0,htmlFor:`${a}-name`,label:"Name",required:!0,labelFace:vo,children:I0("input",{id:`${a}-name`,type:"text",autoComplete:"name",value:o,onChange:g=>r(g.target.value),className:go,required:!0})}),I0(t3,{separate:!0,htmlFor:`${a}-email`,label:"Email",required:!0,labelFace:vo,children:I0("input",{id:`${a}-email`,type:"email",inputMode:"email",autoComplete:"email",value:i,onChange:g=>n(g.target.value),className:go,required:!0})}),I0(t3,{separate:!0,htmlFor:`${a}-phone`,label:"Phone",labelFace:vo,children:I0("input",{id:`${a}-phone`,type:"tel",inputMode:"tel",autoComplete:"tel",value:l,onChange:g=>c(g.target.value),className:go})}),I0(t3,{separate:!0,htmlFor:`${a}-notes`,label:"What would you like to cover?",labelFace:vo,children:I0("textarea",{id:`${a}-notes`,rows:4,value:h,onChange:g=>p(g.target.value),className:`${go} resize-y`})})]}),u&&I0("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}),I0(C3,{type:s?"button":"submit",disabled:!v,arrow:null,className:"mt-6 w-full disabled:cursor-not-allowed disabled:opacity-50",children:d?"Submitting\u2026":(e??"").trim()||"Book appointment"})]})}function $c({successMessage:e}){let{confirmation:t,customerTimezone:a}=n8();return t?$3("div",{className:"sf-card max-w-[760px] border border-line bg-bg p-6 min-[640px]:p-9",role:"status",children:[$3("p",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-accent",children:["Request received \xB7 ",t.bookingNumber]}),I0("h3",{className:"mt-4 font-display text-[28px] font-medium uppercase text-fg",children:t.service}),I0("p",{className:"mt-2 font-display text-[17px] text-fg-dim",children:RP(t.startAt,t.customerTimezone||a||t.timezone)}),t.customerTimezone&&t.timezone!==t.customerTimezone&&$3("p",{className:"mt-1 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:["Business time: ",RP(t.startAt,t.timezone)]}),(e??"").trim()&&I0("p",{className:"mt-5 max-w-[620px] font-serif text-[18px] italic leading-[1.6] text-fg-dim",children:e}),I0(C3,{href:`/book/${encodeURIComponent(t.manageToken)}`,newTab:t!==wv,variant:"ghost",className:"mt-7",children:"Manage booking"})]}):null}var Yc=["step","name","value","note"],zv={step:"Step",name:"Name",value:"Value",note:"Note"},Xc={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},_P={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 J01(e){return typeof e=="string"&&j5.includes(e)?e:null}var Q01={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function OP(e){let t={};for(let a of Yc){let s=J01(e[Xc[a]]);if(!s)continue;let o=fe({role:s},Q01);o.fontFamily&&(t[_P[a].font]=o.fontFamily),o.fontSize&&(t[_P[a].size]=o.fontSize)}return t}import{jsx as qt}from"react/jsx-runtime";var BP=["head","booking","details","confirm"],DP={head:"Head",booking:"Booking",details:"Your details",confirm:"Confirmation"};function kv({region:e,eyebrow:t,heading:a,intro:s,buttonLabel:o,successMessage:r,...i}){let{confirmation:n,services:l}=n8(),c=OP(i);return e==="head"?qt("div",{className:"min-[960px]:col-span-2",style:c,children:qt(qc,{eyebrow:t,heading:a,intro:s})}):e==="confirm"?n?qt("div",{className:"min-[960px]:col-span-2",style:c,children:qt($c,{successMessage:r})}):null:n||!l||l.length===0?null:e==="booking"?qt(jc,{style:c}):e==="details"?qt(Kc,{buttonLabel:o,style:c}):null}import{jsx as o2,Fragment as e21,jsxs as a5}from"react/jsx-runtime";var f9="solid",Cv=[{label:"Solid",value:"solid"},{label:"Outlined",value:"outlined"}];function ZP(e){return X2(Cv,f9,e)}var Sv="sf-secnum-outline",GP="font-display text-[length:var(--size-headingMedium,clamp(48px,6vw,96px))] font-medium leading-[0.8] tracking-[-0.02em]",WP=`@supports (-webkit-text-stroke: 1px currentColor){.${Sv}{color:var(--site-surface-2);-webkit-text-stroke:1px var(--site-line)}}`;var fo=(e,t=!1)=>typeof e=="string"?J(e,t):e,jt=(e,t=!1)=>typeof e=="string"?M(e,t):e;function m0({num:e,title:t,link:a,logo:s,description:o,accent:r,accentNum:i,numStyle:n=f9,look:l="standard",titleAccent:c,accentTracking:h="-0.02em",spaceBelow:p,rowGap:d,descriptionSize:u,className:v="",eyebrowLook:g=In}){let f=p??(l==="editorial"?"mb-[60px]":"");if(l==="editorial"){let L=!!t||!!c;return a5("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 ${v}`.trim(),children:[e&&(typeof e=="string"?o2(_1,{text:e,className:"pb-2"}):o2("span",{className:"pb-2",children:e})),L&&a5("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,c&&a5(e21,{children:[" ",o2("em",{className:"font-serif font-normal italic text-accent",style:{letterSpacing:h},children:c})]})]}),o&&o2("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:o})]})}if(l==="simple"){let L=`${f} ${v}`.trim();return a5("div",{className:L||void 0,children:[e&&(typeof e=="string"?o2(_1,{text:e,look:g,className:"mb-4 block"}):o2("span",{className:"mb-4 block",children:e})),t&&o2("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:fo(t)})]})}if(l==="statement"){let L=`${f} ${v}`.trim();return a5("div",{className:L||void 0,children:[e&&(typeof e=="string"?o2(_1,{text:e,look:g,className:"mb-4 block"}):o2("span",{className:"mb-4 block",children:e})),t&&o2("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:fo(t,!0)})]})}if(l==="natural"){let L=`flex max-w-[680px] flex-col ${d??"gap-5"} ${f} ${v}`.replace(/\s+/g," ").trim();return a5("div",{className:L,children:[e&&(typeof e=="string"?o2(_1,{text:e,look:g}):o2("span",{children:e})),t&&o2("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:fo(t)}),o&&o2("p",{className:`${u??"text-[length:var(--size-body,16px)]"} leading-[1.6] opacity-85`,children:o})]})}if(l==="essay"){let L=`${f} ${v}`.trim();return a5("div",{className:L||void 0,children:[e&&(typeof e=="string"?o2(_1,{text:e,look:g,className:"mb-4 block"}):o2("span",{className:"mb-4 block",children:e})),t&&o2("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:fo(t)})]})}let b=!!o||!!a,x=!!t,w=ZP(n)==="outlined",z="font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em]",k=null;if(e)if(w)k=o2("span",{className:`${GP} text-fg-dim ${Sv}`,children:jt(e)});else if(i&&!r&&typeof e=="string"){let L=e.indexOf("/"),V=L===-1?e:e.slice(0,L),P=L===-1?"":e.slice(L);k=a5("span",{className:z,children:[o2("span",{className:"text-accent",children:jt(V)}),P&&o2("span",{className:"text-fg-dim",children:jt(P)})]})}else k=o2("span",{className:`${z} ${r?"text-accent":"text-fg-dim"}`,children:jt(e)});return a5("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:[w&&e&&o2("style",{children:WP}),a5("div",{className:"flex flex-col items-start gap-3",children:[s?.src&&o2("img",{...t21(B2(s.src)),alt:s.alt,className:"h-8 w-auto object-contain"}),k]}),x&&o2("h2",{className:r?"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:fo(t)}),b&&a5("div",{className:"flex flex-col items-end gap-3 max-[800px]:items-start",children:[o&&o2("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:jt(o)}),a&&a5(u0,{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:[jt(a.text),o2("span",{"aria-hidden":!0,children:"\u2192"})]})]})]})}function t21(e){let t=U4(e,{fallbackWidth:640,maxWidth:960});return t.srcSet?{src:t.src,srcSet:t.srcSet,sizes:"240px"}:{src:e}}import{jsx as s5,jsxs as bo}from"react/jsx-runtime";function a21(e){return e.type==="textarea"||e.type==="select"||e.type==="checkbox"}function UP({eyebrow:e,title:t}){return bo("div",{className:"flex flex-col gap-4",children:[e&&s5(_1,{text:e,scaled:!1}),t&&s5("h2",{className:"font-display text-[min(clamp(40px,5vw,72px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:J(t,!0)})]})}function Jc({body:e,buttonLabel:t,consent:a,form:s,submission:o,showForm:r,resolving:i,editing:n}){return bo("div",{className:"flex flex-col gap-7",children:[e&&M0(e).map((l,c)=>s5("p",{className:"max-w-[480px] font-display text-[16px] leading-[1.6] text-fg-dim",children:M(l)},c)),r&&(s?o.done?s5("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:Vt(s)}):bo("form",{className:"grid grid-cols-2 gap-2",onSubmit:o.handleSubmit,children:[s.fields.map(l=>{let c=["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",a21(l)?"col-span-2":""].join(" ");return l.type==="checkbox"?bo("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:[s5(e8,{field:l,value:o.valueOf(l.key),onChange:h=>o.set(l.key,h),className:"mt-0.5 size-4 accent-accent"}),bo("span",{children:[l.label,l.required?s5("span",{className:"text-accent",children:" *"}):null]})]},l.key):s5(e8,{field:l,value:o.valueOf(l.key),onChange:h=>o.set(l.key,h),rows:4,placeholder:l.placeholder||l.label,className:l.type==="textarea"?`${c} resize-y`:c},l.key)}),s5(Rt,{value:o.honeypot,onChange:o.setHoneypot}),o.error&&s5("p",{role:"alert",className:"col-span-2 font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:o.error}),t&&s5("button",{type:n?"button":"submit",disabled:o.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:o.submitting?"Sending\u2026":M(t)})]}):s5("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:i?m("Loading form\u2026"):m("Choose a form in the inspector, under Form \u2014 until then this form is hidden on the live page and nothing can be submitted.")})),r&&a&&s5("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:M(a)})]})}var Qc=["field","tick","thanks"],Mv={field:"Form rows",tick:"Tick label",thanks:"Thank-you message"},eh={field:"styleField",tick:"styleTick",thanks:"styleThanks"},qP={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 s21(e){return typeof e=="string"&&j5.includes(e)?e:null}var o21={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function jP(e){let t={};for(let a of Qc){let s=s21(e[eh[a]]);if(!s)continue;let o=fe({role:s},o21);o.fontFamily&&(t[qP[a].font]=o.fontFamily),o.fontSize&&(t[qP[a].size]=o.fontSize)}return t}import{jsx as th}from"react/jsx-runtime";var KP=["head","form"],$P={head:"Head",form:"Form"};function Av({region:e,eyebrow:t,title:a,body:s,buttonText:o,consent:r,formSlug:i,form:n,editing:l=!1,...c}){let h=c6(i,n),p=Q7({form:h,formSlug:i,editing:l}),d=jP(c);return e==="head"?th("div",{style:d,children:th(m0,{look:"statement",num:t,title:a})}):th("div",{style:d,children:th(Jc,{body:s??"",buttonLabel:o??"",consent:r??"",form:h,submission:p,showForm:!!h||l,resolving:h===void 0,editing:l})})}var r21={AppointmentBooking:{slot:"boxes",childType:"BookingBox",addLabel:"Add box",fixed:!0,seeds:()=>BP.map(e=>({region:e,name:DP[e]})),addBlocked:()=>m("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:()=>KP.map(e=>({region:e,name:$P[e]})),addBlocked:()=>m("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:kP},()=>({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:()=>TP.map(e=>({...e})),legacy:e=>Array.isArray(e.cards)?e.cards.map(t=>({...t})):[]}};Bz(r21);function Kt(e,t){let a={};for(let s of Object.keys(e))a[s]={...e[s],...t[s]};return a}import{jsx as i21}from"react/jsx-runtime";import{OpacityIcon as n21}from"efficient-easel/icons";var YP={fields:{_gContent:y("Content"),eyebrow:N("Eyebrow","Limited release"),title:U("Heading","Banner headline"),body:U("Body","A line or two of supporting copy."),_gBackground:y("Background image"),imageSrc:j1("Image","image/*"),overlay:l1("Overlay",i21(n21,{}),0,100,5,60,"%"),_gButton:y("Button"),...t5,_gLayout:y("Layout")}};import{jsx as h21}from"react/jsx-runtime";import{jsx as xo,jsxs as Lv,Fragment as l21}from"react/jsx-runtime";import{Fragment as c21}from"react";function XP({items:e,meta:t,editing:a=!1}){let s=(e??[]).filter(r=>r?.label?.trim()),o=s.length>0?s:a?[{label:m("Breadcrumb")}]:[];return o.length===0&&!t?null:Lv("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:[o.map((r,i)=>{let n=i===o.length-1;return Lv(c21,{children:[i>0&&xo("span",{className:"opacity-40",children:"/"}),r.href&&!n?xo(u0,{href:r.href,className:"hover:text-fg",children:j0(r.label)}):xo("span",{className:n?"text-fg":void 0,children:j0(r.label)})]},i)}),t&&Lv(l21,{children:[xo("span",{className:"opacity-40",children:"\xB7"}),xo("span",{children:M(t)})]})]})}function z5(e,t,a){return e||(a?.isEditing?m(t):void 0)}function M1(e,t,a){let s=Array.isArray(e)?e:[];return s.length?s:a?.isEditing?t:[]}function C(e,t,a){let s=D2(e);if(!s.hidden)return z5(s.text,t,a)}function l2(e,t,a){return D2(e).hidden?"":C(e,t,a)}function p4(e,t,a){return{text:C(e,k2.text,a),href:t||k2.href}}var Tv={meta:"Trailing note"},p21=()=>[{label:m("Home"),href:"/"},{label:m("Section"),href:""}],JP={label:"Breadcrumb",defaultProps:{items:[],meta:""},render:({items:e,meta:t,puck:a})=>h21(XP,{items:M1(e,p21(),a),meta:C(t,Tv.meta,a),editing:a?.isEditing})};var QP={fields:{_gContent:y("Content"),items:{type:"array",label:"Crumbs",arrayFields:{label:K("Label"),href:x3(K("Link"))},getItemSummary:e=>e?.label||"Crumb"},meta:N("Trailing note",Tv.meta)}};import{jsx as R3,jsxs as m21}from"react/jsx-runtime";import{ButtonIcon as d21,ButtonIconIcon as u21,IconAfterTextIcon as g21,IconBeforeTextIcon as v21,StylesIcon as f21,WidthIcon as b21}from"efficient-easel/icons";import*as x21 from"efficient-easel/icons";import{SettingsField as w21}from"efficient-easel/panel";import{useSelectedFields as aN}from"efficient-easel/easel";import{IconPicker as y21,Segmented as z21}from"efficient-shell/ui";function ah(e){return typeof e=="boolean"?e:!0}var Ev=["none","arrow-right","arrow-long-right","arrow-up-right","chevron-right","external","cart","bag","tag","email","location","play","download","search","car"];function Hv(e){return typeof e=="string"&&Ev.includes(e)?e:void 0}function eN(e,t){return Hv(e)??(ah(t)?"arrow-right":"none")}function sh(e){return e==="before"?"before":"after"}function tN(e){return e==="fill"?"fill":"fit"}var Fv=e=>({...Yi({type:"custom",render:()=>R3(Xi,{})},"always"),reachedBy:e});function k21(e){let t=(e==="none"?"no-symbol":e).replace(/(^|-)([a-z])/g,(s,o,r)=>r.toUpperCase()),a=x21[`${t}Icon`];return a?R3(a,{size:16}):null}var C21=Ev.map(e=>({value:e,icon:k21(e)}));function S21({value:e,onChange:t}){let a=aN(),s=a.values.href,o=typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text??""):"";return R3(KC,{label:"Button",icon:R3(d21,{size:18}),text:o,onTextChange:t,link:typeof s=="string"?s:"",onLinkChange:r=>a.onChange("href",r)})}function M21({value:e,onChange:t}){let a=aN(),s=eN(e,a.values.arrow),o=sh(a.values.iconPosition);return R3(w21,{label:m("Icon"),icon:R3(u21,{size:18}),children:m21("div",{className:"flex items-center gap-2",children:[R3(y21,{label:m("Icon"),value:s,emptyValue:"none",options:C21,onChange:t}),s!=="none"&&R3(z21,{label:m("Icon position"),value:o,onChange:r=>a.onChange("iconPosition",r),options:[{value:"before",icon:R3(v21,{size:16}),label:R3("span",{className:"sr-only",children:m("Icon before text")}),title:m("Icon before text")},{value:"after",icon:R3(g21,{size:16}),label:R3("span",{className:"sr-only",children:m("Icon after text")}),title:m("Icon after text")}]})]})})}var sN={fields:{label:rS(K("Button"),e=>R3(S21,{value:e.value,onChange:e.onChange})),href:{...P1("Button link"),...Fv("label")},_dSize:n0("Size"),widthFit:y1("Width",R3(b21,{}),[{label:"Fit content",value:"fit"},{label:"Fill",value:"fill"}],"fit"),_gStyle:y("Style"),variant:y1("Style",R3(f21,{}),[{label:"Filled",value:"primary"},{label:"Outline",value:"ghost"}],"primary"),icon:{type:"custom",render:e=>R3(M21,{value:e.value,onChange:e.onChange})},iconPosition:Fv("icon"),arrow:Fv("icon"),_dLayout:n0("Layout"),align:u6()}};import{jsx as iN}from"react/jsx-runtime";import{ColumnsIcon as F21,StylesIcon as P21}from"efficient-easel/icons";import{jsx as E21}from"react/jsx-runtime";import{jsx as $t,Fragment as A21,jsxs as Pv}from"react/jsx-runtime";var L21="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))]",T21="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 oN({look:e,eyebrow:t,title:a,items:s,columns:o,omitHead:r=!1,editing:i=!1}={}){let n=Math.min(4,Math.max(2,o??3)),l=(s??[]).filter(h=>i||(h.title??"").trim()||(h.body??"").trim()),c=!!(t??"").trim()||!!(a??"").trim();return!i&&!c&&l.length===0?null:$t("section",{className:"relative z-[2] bg-surface",children:Pv("div",{className:r?T21:L21,children:[r?null:Pv(A21,{children:[(t??"").trim()&&$t(_1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&$t("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:J(a??"",!1)})]}),l.length>0&&$t("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(n)},children:l.map((h,p)=>Pv("div",{className:"bg-bg p-8 max-[800px]:p-7",children:[$t("div",{className:"mb-3 font-heading3 text-[length:var(--size-headingSmall,20px)] font-medium uppercase tracking-[0.02em] text-fg",children:M((h.title??"").trim()||"Card title")}),$t("p",{className:"text-[length:var(--size-body,15px)] leading-[1.6] text-fg-dim",children:M((h.body??"").trim()||"A short line about this card.")})]},p))})]})})}var wo={eyebrow:"Label",title:"Section *heading.*"},H21=()=>[{title:m("Card title one"),body:m("A short line about this card.")},{title:m("Card title two"),body:m("A short line about this card.")},{title:m("Card title three"),body:m("A short line about this card.")}],rN={label:"Cards",defaultProps:{eyebrow:"",title:"",items:[],columns:3},render:e=>{let t=U1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return E21(oN,{look:M4(e.eyebrowLook,"Cards"),eyebrow:a(C(e.eyebrow,wo.eyebrow,e.puck)),title:a(C(e.title,wo.title,e.puck)),omitHead:t,items:M1(e.items,H21(),e.puck),columns:e.columns,editing:e.puck?.isEditing})}};var nN={fields:{_gContent:y("Content"),eyebrow:N("Eyebrow",wo.eyebrow),eyebrowLook:w1("Eyebrow style",iN(P21,{}),[...$4],I7("Cards")),title:U("Heading",wo.title),items:{type:"array",label:"Cards",arrayFields:{title:z1("Card title"),body:R1("Card body")},defaultItemProps:{title:"",body:""},getItemSummary:e=>e?.title||e?.body||"Card"},_gStyle:y("Style"),columns:l1("Columns",iN(F21,{}),2,4,1,3)},resolveFields:(e,{fields:t,parent:a})=>q1(J1(t,a,Q1),e.props.headPlacement,G1.Cards.headRows)};import{jsx as N21}from"react/jsx-runtime";import{StickyIcon as I21}from"efficient-easel/icons";var lN={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:K("Label"),count:K("Count")},getItemSummary:e=>e?.label?`${e.label}${e.count?` \xB7 ${e.count}`:""}`:"Tab"},activeTab:S2(x3(K("Active tab","All"))),_gLinks:y("Links"),links:{type:"array",label:"Right links",arrayFields:{label:K("Label"),href:x3(K("Link"))},getItemSummary:e=>e?.label||"Link"},_gStyle:y("Style"),sticky:h1("Stick to top",!0,N21(I21,{}))}};import{jsx as D21}from"react/jsx-runtime";import{StylesIcon as Z21}from"efficient-easel/icons";import{jsx as O21}from"react/jsx-runtime";import{jsx as d2,jsxs as k5}from"react/jsx-runtime";function Nv(e){return Number.isInteger(e)?String(e):String(Math.round(e*10)/10)}var cN=[100,70,46,30,19,12];function hN(e){return`color-mix(in srgb, var(--accent) ${cN[e%cN.length]}%, var(--bg))`}function V21({data:e,suffix:t}){let a=Math.max(...e.map(s=>s.value),0)||1;return d2("div",{className:"flex w-full flex-col gap-6",children:e.map((s,o)=>k5("div",{children:[k5("div",{className:"mb-2 flex items-baseline justify-between gap-4",children:[d2("span",{className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg/60",children:M(s.label)}),k5("span",{className:"font-display text-[length:var(--size-body,16px)] font-medium text-fg",children:[Nv(s.value),t]})]}),d2("div",{className:"h-[10px] border border-line bg-bg",children:d2("div",{className:"h-full bg-accent",style:{width:`${Math.max(s.value/a*100,s.value===0?0:2)}%`}})})]},o))})}function R21({data:e,suffix:t}){let a={l:42,r:42,t:36,b:38},s=640-a.l-a.r,o=300-a.t-a.b,r=Math.max(...e.map(h=>h.value),0)||1,i=e.length>1?s/(e.length-1):0,n=e.map((h,p)=>({x:a.l+(e.length>1?p*i:s/2),y:a.t+o-h.value/r*o})),l=n.map((h,p)=>`${p===0?"M":"L"}${h.x},${h.y}`).join(" "),c=`${l} L${n[n.length-1].x},${a.t+o} L${n[0].x},${a.t+o} Z`;return k5("svg",{viewBox:"0 0 640 300",className:"w-full",role:"img","aria-hidden":!0,children:[[.25,.5,.75,1].map(h=>d2("line",{x1:a.l,x2:640-a.r,y1:a.t+o*(1-h),y2:a.t+o*(1-h),stroke:"var(--site-line)",strokeWidth:"1"},h)),d2("line",{x1:a.l,x2:640-a.r,y1:a.t+o,y2:a.t+o,stroke:"var(--site-line)",strokeWidth:"1.5"}),d2("path",{d:c,fill:"var(--accent)",opacity:"0.13"}),d2("path",{d:l,fill:"none",stroke:"var(--accent)",strokeWidth:"2.5"}),n.map((h,p)=>k5("g",{children:[d2("circle",{cx:h.x,cy:h.y,r:"4",fill:"var(--accent)"}),k5("text",{x:h.x,y:h.y-12,textAnchor:"middle",className:"font-display",fontSize:"14",fill:"var(--fg)",children:[Nv(e[p].value),t]}),d2("text",{x:h.x,y:288,textAnchor:"middle",className:"font-mono",fontSize:"10",letterSpacing:"0.1em",fill:"var(--fg)",opacity:"0.55",children:e[p].label.toUpperCase()})]},p))]})}function _21({data:e,suffix:t}){let a=e.reduce((n,l)=>n+l.value,0)||1,s=80,o=2*Math.PI*s,r=0,i=e.map((n,l)=>{let c=n.value/a,h={frac:c,dash:Math.max(c*o-3,0),off:r,ink:hN(l)};return r+=c*o,h});return k5("div",{className:"flex w-full flex-wrap items-center justify-center gap-10",children:[d2("svg",{viewBox:"0 0 200 200",className:"w-[220px] max-w-full -rotate-90",role:"img","aria-hidden":!0,children:i.map((n,l)=>d2("circle",{cx:"100",cy:"100",r:s,fill:"none",stroke:n.ink,strokeWidth:"34",strokeDasharray:`${n.dash} ${o-n.dash}`,strokeDashoffset:-n.off},l))}),d2("ul",{className:"flex min-w-[200px] flex-1 flex-col gap-3",children:e.map((n,l)=>k5("li",{className:"flex items-baseline gap-3",children:[d2("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] flex-shrink-0 rotate-45",style:{background:hN(l)}}),d2("span",{className:"flex-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.12em] text-fg/60",children:M(n.label)}),d2("span",{className:"font-display text-[length:var(--size-body,15px)] font-medium text-fg",children:t?`${Nv(n.value)}${t}`:`${Math.round(n.value/a*100)}%`})]},l))})]})}function pN({eyebrow:e,title:t,body:a,chartStyle:s,items:o,valueSuffix:r,caption:i,editing:n=!1}={}){let l=(r??"").trim()===""?"":r??"",c=(o??[]).map(u=>({label:(u.label??"").trim(),value:parseFloat(u.value??"")})).filter(u=>n?!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(!n&&!h&&c.length===0)return null;let p=s??"bars",d=c.length===0?null:p==="line"&&c.length>1?d2(R21,{data:c,suffix:l}):p==="donut"?d2(_21,{data:c,suffix:l}):d2(V21,{data:c,suffix:l});return d2("section",{className:"relative z-[2] border-y border-line bg-surface",children:k5("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:[k5("div",{children:[(e??"").trim()&&d2("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:M(e??"")}),(t??"").trim()&&d2("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:J(t??"",!1)}),(a??"").trim()&&d2("p",{className:"mt-5 max-w-[46ch] text-[length:var(--size-body,15px)] leading-relaxed text-fg/65",children:a})]}),k5("div",{children:[d,(i??"").trim()&&d2("p",{className:"mt-4 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.14em] text-fg/40",children:i})]})]})})}var yo={eyebrow:"By the numbers",title:`A picture worth
23
23
  *a thousand rows.*`},B21=()=>[{label:m("Before"),value:"9"},{label:m("After"),value:"3"},{label:m("With us"),value:"1"}],mN={label:"Chart",defaultProps:{eyebrow:"",title:"",body:"",items:[],caption:"",chartStyle:"bars",valueSuffix:""},render:({eyebrow:e,title:t,body:a,items:s,caption:o,chartStyle:r,valueSuffix:i,puck:n})=>O21(pN,{eyebrow:C(e,yo.eyebrow,n),title:C(t,yo.title,n),body:a,items:M1(s,B21(),n),chartStyle:r,valueSuffix:i,caption:o,editing:n?.isEditing})};var dN={fields:{_gContent:y("Content"),eyebrow:N("Chip label",yo.eyebrow),title:U("Heading",yo.title),body:U("Body",""),items:{type:"array",label:"Data points",arrayFields:{label:z1("Label"),value:K("Value")},defaultItemProps:{label:"",value:""},getItemSummary:e=>[e?.label,e?.value].filter(Boolean).join(" \xB7 ")||"Point"},caption:N("Caption","Illustrative example"),_gStyle:y("Style"),chartStyle:w1("Chart style",D21(Z21,{}),[{label:"Bars (comparison / funnel)",value:"bars"},{label:"Line (trend)",value:"line"},{label:"Donut (split of a whole)",value:"donut"}],"bars"),valueSuffix:S2(N("Value suffix","%"))}};import{jsx as i31}from"react/jsx-runtime";import{jsx as H1,Fragment as Rv,jsxs as C5}from"react/jsx-runtime";import{useId as U21,useState as q21}from"react";import{InspectorUpLevel as ko}from"efficient-easel/chrome";import{useEasel as j21}from"efficient-easel/easel";import{ListField as fN}from"efficient-easel/fields";import{SettingsField as bN}from"efficient-easel/panel";import{ClockIcon as uN,ContrastIcon as K21,GlobeIcon as $21,LinkIcon as Y21,LocationIcon as X21,PhoneIcon as J21,SquareIcon as Q21,TypeIcon as _v}from"efficient-easel/icons";var G21=["tall","square","wide"],W21="tall";function oh(e){return G21.includes(String(e??""))?String(e):W21}var u2={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"},zo=[{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 rh(e){let t=String(e??"").split(" \xB7 ");return{state:(t[0]??"").trim(),country:(t[1]??"").trim()}}var $6="other",k0={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 Iv(e){return Oi(e)}var Ov=(e,t)=>t||e?IM(e,t):m("Ungrouped");function e31(e){let t=[];return e.forEach((a,s)=>{let o=N7(a),r=t.find(i=>i.key===o);r||(r={key:o,name:String(a?.groupName??""),indices:[]},t.push(r)),r.indices.push(s)}),t}function Vv({children:e}){return H1("div",{style:{fontSize:11,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:"var(--fg-dim, #999)",margin:"14px 0 6px"},children:e})}var xN={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"},t31={padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer"},wN={...t31,color:"#d85a30"};function Y6({label:e,value:t,placeholder:a,textarea:s,icon:o,onChange:r,onBlur:i,onKeyDown:n}){let l=U21();return H1(bN,{label:e,icon:o??H1(_v,{}),htmlFor:l,children:s?H1("textarea",{id:l,value:t,placeholder:a,onChange:c=>r(c.target.value)}):H1("input",{id:l,type:"text",value:t,placeholder:a,onChange:c=>r(c.target.value),onBlur:i,onKeyDown:n})})}var a31=[{label:"Auto",value:"auto"},{label:"Dark",value:"dark"},{label:"Light",value:"light"}],s31=[{label:"Tall (3:4)",value:"tall"},{label:"Square",value:"square"},{label:"Wide (2:1)",value:"wide"}];function gN({label:e,icon:t,options:a,value:s,onChange:o}){return H1(bN,{label:e,icon:t,children:H1("div",{role:"group","aria-label":e,style:{display:"flex",gap:4,flex:1},children:a.map(r=>{let i=s===r.value;return H1("button",{type:"button","aria-pressed":i,onClick:()=>o(r.value),style:{flex:1,padding:"6px 8px",fontSize:12,borderRadius:6,cursor:"pointer",border:`1px solid ${i?"var(--sf-accent, #2563eb)":"var(--border-strong, #d0d0d0)"}`,background:i?"var(--sf-accent, #2563eb)":"transparent",color:i?"#fff":"inherit",fontWeight:i?500:400},children:m(r.label)},r.value)})})})}function vN({props:e,setSection:t,headOnly:a}){let s=i=>String(e[i]??""),o=e.mapTheme||u2.mapTheme,r=u2;return C5(Rv,{children:[!a&&H1(Vv,{children:m("Section")}),H1(Y6,{label:m("Section number"),value:s("sectionNumber"),placeholder:r.sectionNumber,onChange:i=>t({sectionNumber:i})}),H1(Y6,{label:m("Heading"),textarea:!0,value:s("heading"),placeholder:r.heading,onChange:i=>t({heading:i})}),H1(Y6,{label:m("Body"),textarea:!0,value:s("tagline"),placeholder:r.tagline,onChange:i=>t({tagline:i})}),a?null:C5(Rv,{children:[H1(Vv,{children:m("City strip")}),H1(Y6,{label:m("Eyebrow"),value:s("galleryKicker"),placeholder:r.galleryKicker,onChange:i=>t({galleryKicker:i})}),H1(Y6,{label:m("Hint"),value:s("galleryHint"),placeholder:r.galleryHint,onChange:i=>t({galleryHint:i})}),H1(gN,{label:m("Shape"),icon:H1(Q21,{}),options:s31,value:oh(e.imageShape),onChange:i=>t({imageShape:i})}),H1(Vv,{children:m("Map & Theme")}),H1(gN,{label:m("Map theme"),icon:H1(K21,{}),options:a31,value:o,onChange:i=>t({mapTheme:i})})]})]})}function o31({cards:e,groupKey:t,onChange:a,onBack:s,onOpenCity:o,onNavigate:r}){let i=e.map((u,v)=>N7(u)===t?v:-1).filter(u=>u>=0),n=String(e[i[0]]?.groupName??""),l=new Set(e.map(N7).filter(u=>u!==t)),[c,h]=q21(t),p=u=>a(e.map(v=>N7(v)===t?{...v,...u}:v)),d=()=>{let u=c;if(u!==t){if(l.has(u)){h(t);return}a(e.map(v=>N7(v)===t?{...v,group:u}:v)),r(u)}};return C5("div",{className:"sf-locations-view",children:[H1(ko,{inline:!0,name:m("Section"),onSelect:s}),H1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:Ov(t,n)}),H1(Y6,{label:m("Group heading"),value:c,placeholder:m("e.g. Americas"),onChange:h,onBlur:d,onKeyDown:u=>{u.key==="Enter"&&u.currentTarget.blur()}}),l.has(c)&&c!==t&&H1("p",{className:"sf-note sf-note--error",role:"alert",children:m("Another group already uses this heading \u2014 pick a different one.")}),H1(Y6,{label:m("Group name"),value:n,placeholder:m("Shown beside the heading"),onChange:u=>p({groupName:u})}),H1(fN,{label:m("Cities in this group"),noun:m("city"),items:i.map(u=>e[u]),onChange:u=>a(VM(e,t,u)),newItem:()=>({...Od,group:t,groupName:n}),open:null,onOpen:()=>{},renderItem:()=>null,removeOnRow:!1,canDuplicate:()=>!1,renderRow:(u,v)=>C5("button",{type:"button",style:xN,onClick:()=>o(i[v]),children:[H1("span",{children:u?.name||m("City")}),H1("span",{"aria-hidden":"true",children:"\u203A"})]})}),H1("div",{style:{marginTop:12},children:H1("button",{type:"button",style:wN,onClick:()=>{a(e.filter(u=>N7(u)!==t)),s()},children:J2("Delete group ({n} city)","Delete group ({n} cities)",i.length)})})]})}function yN({value:e,onChange:t}){let a=Array.isArray(e)?e:[],s=NM(),o=GS(),r=e31(a),{appState:i,selectedItem:n}=j21(g=>g),l=EC(),c=n?.props??{},h=g=>{if(!n)return;let f=(i.data.content??[]).findIndex(b=>b.props.id===n.props.id);f<0||l.replaceComponent(Oz,f,{type:n.type,props:{...n.props,...g}})},p=(g,f)=>t(a.map((b,x)=>x===g?{...b,...f}:b)),d=()=>{let g=new Set(r.map(x=>x.key)),f=r.length+1,b=`Group ${f}`;for(;g.has(b);)b=`Group ${++f}`;return b};if(s.level==="texts")return C5("div",{className:"sf-locations-view",children:[H1(ko,{inline:!0,name:m("Locations"),onSelect:()=>f5({level:"groups"})}),H1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:m("Texts")}),H1(vN,{props:c,setSection:h,headOnly:!0})]});if(s.level==="image"){let g=a[s.index];return g?C5("div",{className:"sf-locations-view",children:[H1(ko,{inline:!0,name:String(g.name??"")||m("City"),onSelect:()=>f5({level:"city",index:s.index})}),H1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:m("Image")}),H1(RC,{value:g.photo||"",onChange:f=>p(s.index,{photo:f}),label:"Image",accept:"image/*"})]}):u()}if(s.level==="map"){let g=a[s.index];return g?C5("div",{className:"sf-locations-view",children:[H1(ko,{inline:!0,name:String(g.name??"")||m("City"),onSelect:()=>f5({level:"city",index:s.index})}),H1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:m("Map")}),H1(gn,{value:g.geocode,onChange:f=>p(s.index,{geocode:f}),label:"Coordinates"}),H1(Y6,{label:m("Directions link"),icon:H1(Y21,{}),value:String(g.mapsUrl??""),onChange:f=>p(s.index,{mapsUrl:f})})]}):u()}if(s.level==="city"){let g=s.index,f=a[g];if(!f)return u();let b=N7(f),x=(z,k)=>p(g,{[z]:k}),w=(z,k,L,V=!1)=>H1(Y6,{label:k,icon:L,textarea:V,value:String(f[z]??""),onChange:P=>x(z,P)});return C5("div",{className:"sf-locations-view",children:[H1(ko,{inline:!0,name:Ov(b,String(f.groupName??"")),onSelect:()=>f5({level:"group",key:b})}),H1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:f.name||m("City")}),w("name",m("Location name"),H1(_v,{})),w("state",m("State / Province"),H1(_v,{})),w("country",m("Country"),H1($21,{})),w("address",m("Address"),H1(X21,{}),!0),w("phone",m("Phone"),H1(J21,{})),w("hours",m("Opening hours"),H1(uN,{})),w("timezone",m("Timezone chip"),H1(uN,{})),H1("div",{style:{marginTop:12},children:H1("button",{type:"button",style:wN,onClick:()=>{t(a.filter((z,k)=>k!==g)),f5({level:"group",key:b})},children:m("Delete city")})})]})}if(s.level==="group")return r.some(g=>g.key===s.key)?H1(o31,{cards:a,groupKey:s.key,onChange:t,onBack:()=>f5({level:"groups"}),onOpenCity:g=>f5({level:"city",index:g}),onNavigate:g=>f5({level:"group",key:g})},s.key):u();function u(){return C5("div",{className:"sf-locations-view",children:[H1(vN,{props:c,setSection:h}),!o&&H1(Rv,{children:v()})]})}function v(){return H1(fN,{label:m("Locations"),noun:m("group"),items:r,onChange:g=>{let f=g.find(b=>!r.some(x=>x.key===b.key));t(RM(a,g.map(b=>b.key),b=>[{...Od,group:b,groupName:""}])),f&&f5({level:"group",key:f.key})},newItem:()=>({key:d(),name:"",indices:[]}),open:null,onOpen:()=>{},renderItem:()=>null,removeOnRow:!1,canDuplicate:()=>!1,above:r.length===0?H1("div",{style:{fontSize:12,color:"var(--fg-dim, #999)",padding:"4px 0"},children:m("No locations yet.")}):void 0,renderRow:g=>C5("button",{type:"button",style:xN,onClick:()=>f5({level:"group",key:g.key}),children:[H1("span",{style:{fontWeight:500},children:Ov(g.key,g.name)}),C5("span",{style:{color:"var(--fg-dim, #999)"},children:[J2("{n} city","{n} cities",g.indices.length)," \u203A"]})]})})}return u()}var r31="/geocode.json";async function zN(e){let t=e.trim();if(!t)return null;if(!mz())throw new Error("geocode_unavailable");let a=await fetch(`${Nn()}${r31}?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:o,lng:r,label:i}=s,n=Number(o),l=Number(r);return!Number.isFinite(n)||!Number.isFinite(l)?null:{lat:n,lng:l,label:String(i??"")}}var ih=e=>typeof e=="number"&&Number.isFinite(e);function nh(e){return e.some(t=>{let a=t?.geocode;return a?a.pending||a.manual&&a.lat===void 0&&a.lng===void 0?!0:ih(a.lat)&&a.lat!==t.lat||ih(a.lng)&&a.lng!==t.lng:!1})}async function lh(e,t,{geocode:a=zN,courtesyGapMs:s=1100}={}){let o=i=>new Promise(n=>setTimeout(n,i)),r=e.slice();if(e.some(i=>i?.geocode?.pending)){let i=[],n=!1;for(let l of e){if(!l?.geocode?.pending){i.push(l);continue}n&&s>0&&await o(s),n=!0;try{let c=await a(t(l));i.push(c?{...l,lat:c.lat,lng:c.lng,geocode:{...l.geocode,pending:!1,ok:!0,status:`Found \u2014 ${c.label.split(",").slice(0,3).join(",").trim()}`,lat:c.lat,lng:c.lng}}:{...l,geocode:{...l.geocode,pending:!1,ok:!1,status:"No match \u2014 check the address and try again."}})}catch{i.push({...l,geocode:{...l.geocode,pending:!1,ok:!1,status:"Lookup busy \u2014 try again in a moment."}})}}r=i}return r.map(i=>{let n=i?.geocode;if(!n)return i;if(n.manual&&n.lat===void 0&&n.lng===void 0)return{...i,geocode:{...n,lat:i.lat,lng:i.lng}};let l=ih(n.lat)&&n.lat!==i.lat?n.lat:i.lat,c=ih(n.lng)&&n.lng!==i.lng?n.lng:i.lng;return l!==i.lat||c!==i.lng?{...i,lat:l,lng:c}:i})}var kN={fields:{locations:{type:"custom",render:({value:e,onChange:t})=>i31(yN,{value:e,onChange:t})}},resolveData:async e=>{let t=e.props,a=t.locations??[];if(!nh(a))return e;let s=await lh(a,o=>{let r=rh(o.region);return[String(o.address??"").replace(/\s*\n+\s*/g,", "),o.name,String(o.state??"").trim()||r.state,String(o.country??"").trim()||r.country].map(i=>String(i??"").trim()).filter(Boolean).join(", ")});return{...e,props:{...t,locations:s}}}};import{jsx as AN}from"react/jsx-runtime";import{ClockIcon as g31,TagIcon as v31}from"efficient-easel/icons";import{jsx as u31}from"react/jsx-runtime";import{jsx as v6,jsxs as ch,Fragment as n31}from"react/jsx-runtime";import{useEffect as l31,useState as CN}from"react";var c31=24*3600*1e3,h31=[{key:"hours",label:"Hours"},{key:"minutes",label:"Minutes"},{key:"seconds",label:"Seconds"}];function p31(e,t){return Math.max(0,Math.ceil((e-t)/1e3))}function m31(e){let t=Date.parse((e??"").trim());return Number.isFinite(t)?t:null}var d31=e=>String(e).padStart(2,"0");function SN({title:e,zeroText:t,endsAt:a,showUnits:s=!0,editing:o=!1}={}){let r=m31(a),[i]=CN(()=>Date.now()+c31),n=r??(o?i:null),[l,c]=CN(()=>Date.now());if(l31(()=>{if(n===null)return;c(Date.now());let g=window.setInterval(()=>c(Date.now()),1e3);return()=>window.clearInterval(g)},[n]),n===null)return null;let h=p31(n,l),p=[Math.floor(h/3600),Math.floor(h%3600/60),h%60],d=(e??"").trim(),u=(t??"").trim(),v=`${p[0]} hours, ${p[1]} minutes and ${p[2]} seconds left`;return v6("section",{className:"relative z-[2] bg-bg",role:"timer","aria-live":"off",children:ch("div",{className:"mx-auto flex max-w-[var(--sf-site-width,1600px)] flex-col items-center gap-4 px-[var(--sf-site-gutter,40px)] py-12 text-center max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[d&&v6("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:M(d)}),h===0?u&&v6("p",{className:"font-heading3 text-[length:min(var(--size-headingSmall,32px),var(--sf-heading-max,9999px))] font-medium leading-tight text-fg",children:J(u,!1)}):ch(n31,{children:[v6("span",{className:"sr-only",children:v}),v6("div",{"aria-hidden":!0,className:"flex items-start gap-[clamp(8px,2vw,24px)]",children:h31.map((g,f)=>ch("div",{className:"contents",children:[f>0&&v6("span",{className:"font-mono text-[length:clamp(32px,7vw,80px)] leading-none text-accent",children:":"}),ch("div",{className:"flex min-w-0 flex-col items-center gap-2",children:[v6(i8,{kind:hd,children:v6("span",{"data-countdown-unit":g.key,...o?{[M7]:hd}:{},suppressHydrationWarning:!0,className:"font-mono text-[length:clamp(40px,8vw,96px)] font-medium leading-none tabular-nums text-fg",children:d31(p[f])})}),s&&v6(i8,{kind:be,children:v6("span",{...o?{[M7]:be}:{},className:"font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.2em] text-fg-dim",children:g.label})})]})]},g.key))})]})]})})}var hh={title:"Back online in",zeroText:"Almost done. Back very soon."},MN={label:"Countdown",defaultProps:{...hh,endsAt:"",showUnits:!0},render:({title:e,zeroText:t,endsAt:a,showUnits:s,puck:o})=>u31(SN,{title:e,zeroText:t,endsAt:a,showUnits:s,editing:o?.isEditing})};var LN={fields:{title:N("Heading",hh.title),zeroText:S2(N("At zero",hh.zeroText)),endsAt:xS("Ends",AN(g31,{}),"In your own time zone. Every visitor counts down to the same moment."),showUnits:h1("Unit labels",!0,AN(v31,{}))}};var TN={fields:{html:{type:"textarea",label:"HTML"}}};import{jsx as y31}from"react/jsx-runtime";import{StylesIcon as z31}from"efficient-easel/icons";var b9="line",Bv=[{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"}],f31={"stripes-fine":{ink:4,period:12},"stripes-medium":{ink:8,period:18},"stripes-bold":{ink:14,period:28}},EN=28,b31="-45deg",x31="color-mix(in oklab, var(--accent) 50%, var(--bg))";function w31(e){return e!=="line"}function HN(e){return X2(Bv,b9,e)}function FN(e){if(!w31(e))return null;let{ink:t,period:a}=f31[e];return`repeating-linear-gradient(${b31}, ${x31} 0 ${t}px, transparent ${t}px ${a}px)`}var PN={fields:{style:w1("Style",y31(z31,{}),Bv,b9),spacing:{type:"select",options:[{label:"Small",value:"sm"},{label:"Medium",value:"md"},{label:"Large",value:"lg"}]}}};import{jsx as A31}from"react/jsx-runtime";import{jsx as X6,jsxs as Co}from"react/jsx-runtime";function k31(e,t){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||`section-${t+1}`}function C31(e){let t=[];for(let a of e.replace(/\r\n?/g,`