efficient-storefront-blocks 0.44.0 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/chunks/{EditorPreviewCheckout-OV6BQIOF.js → EditorPreviewCheckout-RA35QPFM.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-3GN6QL3B.js → SiteEditorProvider-RRMVA76I.js} +1 -1
- package/dist/chunks/{chunk-63NK7MUL.js → chunk-HHZH76OU.js} +10 -10
- package/dist/chunks/{chunk-CLMOO7LL.js → chunk-NNJSIHWJ.js} +1 -1
- package/dist/chunks/{chunk-LDQBFEDQ.js → chunk-TREIS6WP.js} +1 -1
- package/dist/chunks/{fitment-data-CRPBBPU6.js → fitment-data-KQB6P6A2.js} +1 -1
- package/dist/index.js +3 -3
- package/package.json +2 -2
- /package/dist/chunks/{SectionEditorShell-4AEPZWJA.js → SectionEditorShell-JSHUZPVJ.js} +0 -0
- /package/dist/chunks/{chunk-D32TXJVQ.js → chunk-BAR34RXF.js} +0 -0
- /package/dist/chunks/{chunk-CABIEVEL.js → chunk-BG52UY3U.js} +0 -0
- /package/dist/chunks/{chunk-63NK7MUL.js.LEGAL.txt → chunk-HHZH76OU.js.LEGAL.txt} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{$ as H1,$a as go,$b as uM,$c as NM,$d as St,$e as G2,$f as Zl,$g as _t,$h as iT,A as SS,Aa as Tu,Ab as b6,Ac as b3,Ad as UM,Ae as hA,Af as TA,Ag as Kl,Ah as _L,B as CS,Ba as tC,Bb as XC,Bc as Uu,Bd as qM,Be as zo,Bf as EA,Bg as Yl,Bh as OL,C as MS,Ca as Eu,Cb as ht,Cc as ut,Cd as $M,Ce as pA,Cf as HA,Cg as cL,Ch as DL,D as AS,Da as Hu,Db as JC,Dc as pl,Dd as jM,De as mA,Df as ag,Dg as hL,Dh as BL,E as LS,Ea as aC,Eb as QC,Ec as ml,Ed as KM,Ee as At,Ef as sg,Eg as Xl,Eh as fg,F as Mu,Fa as rt,Fb as eM,Fc as AM,Fd as p4,Fe as F9,Ff as PA,Fg as pL,Fh as ZL,G as TS,Ga as it,Gb as tM,Gc as R4,Gd as YM,Ge as z6,Gf as d4,Gg as I9,Gh as GL,H as ES,Ha as sC,Hb as aM,Hc as V4,Hd as zl,He as dA,Hf as FA,Hg as i0,Hh as WL,I as at,Ia as oC,Ib as fo,Ic as d7,Id as l8,Ie as uA,If as NA,Ig as v7,Ih as B5,J as HS,Ja as rC,Jb as sM,Jc as P9,Jd as wt,Je as gA,Jf as IA,Jg as M,Jh as UL,K as PS,Ka as Pu,Kb as oM,Kc as gt,Kd as w6,Ke as vA,Kf as VA,Kg as $0,Kh as ec,L as FS,La as Fu,Lb as rM,Lc as vt,Ld as yt,Le as h1,Lf as _A,Lg as e1,Lh as O9,M as NS,Ma as nt,Mb as iM,Mc as n8,Md as XM,Me as fA,Mf as OA,Mg as T0,Mh as m8,N as IS,Na as Nu,Nb as nM,Nc as dl,Nd as JM,Ne as O5,Nf as DA,Ng as mL,Nh as qL,O as RS,Oa as Iu,Ob as Qn,Oc as LM,Od as yo,Oe as D5,Of as og,Og as dL,Oh as bg,P as VS,Pa as iC,Pb as lM,Pc as tJ,Pd as c8,Pe as u7,Pf as GA,Pg as uL,Ph as $L,Q as Au,Qa as nC,Qb as cM,Qc as TM,Qd as QM,Qe as bA,Qf as Dl,Qg as gL,Qh as jL,R as _S,Ra as lC,Rb as el,Rc as x3,Rd as Xu,Re as El,Rf as WA,Rg as vL,Rh as KL,S as OS,Sa as Gn,Sb as hM,Sc as EM,Sd as kl,Se as w1,Sf as UA,Sg as fL,Sh as tc,T as Vn,Ta as cC,Tb as tl,Tc as ul,Td as eA,Te as Lt,Tf as rg,Tg as bL,Th as YL,U as _n,Ua as jn,Ub as H9,Uc as ft,Ud as zt,Ue as v2,Uf as ig,Ug as xL,Uh as XL,V as DS,Va as IC,Vb as pM,Vc as I3,Vd as w3,Ve as g7,Vf as ng,Vg as wL,Vh as So,W as BS,Wa as RC,Wb as al,Wc as HM,Wd as T2,We as Hl,Wf as qA,Wg as yL,Wh as QL,X as ZS,Xa as VC,Xb as mM,Xc as PM,Xd as kt,Xe as b1,Xf as $A,Xg as zL,Xh as aT,Y as GS,Ya as o8,Yb as dM,Yc as xo,Yd as tA,Ye as X1,Yf as lg,Yg as kL,Yh as sT,Z as F4,Za as r8,Zb as Wu,Zc as gl,Zd as Sl,Ze as Pl,Zf as cg,Zg as f7,Zh as oT,_ as R5,_a as _C,_b as sl,_c as FM,_d as Cl,_e as Ju,_f as Bl,_g as h5,_h as rT,a as nS,aa as V5,ab as OC,ac as gM,ad as vl,ae as R,af as Tt,ag as jA,ah as Ot,ai as nT,b as Pn,ba as J3,bb as DC,bc as vM,bd as qu,be as $,bf as Et,bg as Gl,bh as SL,bi as sc,c as lS,ca as On,cb as vo,cc as fM,cd as IM,ce as Y,cf as Fl,cg as KA,ch as Q3,ci as p5,d as po,da as N4,db as BC,dc as m,dd as $u,de as y1,df as xA,dg as hg,dh as Dt,di as oc,e as cS,ea as st,eb as ZC,ec as e3,ed as c5,ee as P1,ef as p8,eg as YA,eh as ug,ei as d8,f as Su,fa as Dn,fb as GC,fc as bM,fd as RM,fe as V1,ff as wA,fg as XA,fh as Jl,fi as _4,g as Cu,ga as WS,gb as WC,gc as i8,gd as bt,ge as y,gf as yA,gg as JA,gh as gg,gi as lT,h as I5,ha as US,hb as UC,hc as ol,hd as xt,he as y6,hf as ko,hg as QA,hh as CL,hi as cT,i as Fn,ia as Q2,ib as qC,ic as rl,id as VM,ie as aA,if as zA,ig as eL,ih as ML,j as hS,ja as U1,jb as $C,jc as pt,jd as _M,je as r0,jf as Nl,jg as tL,jh as Bt,k as pS,ka as J1,kb as jC,kc as mt,kd as fl,ke as sA,kf as Il,kg as Wl,kh as AL,l as d0,la as qS,lb as Kn,lc as xM,ld as OM,le as Ct,lf as Ht,lg as pg,lh as LL,m as Nn,ma as e0,mb as Yn,mc as dt,md as bl,me as h8,mf as Pt,mg,mh as vg,n as In,na as Q1,nb as lt,nc as ll,nd as wo,ne as Mt,nf as Ft,ng as aL,nh as TL,o as l5,oa as Lu,ob as v3,oc as wM,od as ju,oe as c1,of as Nt,og as Ul,oh as EL,p as gS,pa as XS,pb as B0,pc as x6,pd as Ku,pe as m4,pf as kA,pg as sL,ph as HL,q as vS,qa as JS,qb as ct,qc as cl,qd as Yu,qe as oA,qf as SA,qg as ql,qh as PL,r as Rn,ra as QS,rb as Xn,rc as yM,rd as _5,re as Ml,rf as CA,rg as $l,rh as FL,s as fS,sa as S2,sb as E9,sc as zM,sd as xl,se as rA,sf as Rl,sg as dg,sh as NL,t as bS,ta as eC,tb as Du,tc as kM,td as DM,te as iA,tf as MA,tg as jl,th as IL,u as xS,ua as p7,ub as Jn,uc as f3,ud as BM,ue as Al,uf as AA,ug as oL,uh as R9,v as wS,va as m7,vb as Bu,vc as SM,vd as wl,ve as Ll,vf as It,vg as rL,vh as Ql,w as yS,wa as T9,wb as Zu,wc as I4,wd as yl,we as Tl,wf as LA,wg as iL,wh as V9,x as zS,xa as s8,xb as KC,xc as CM,xd as ZM,xe as nA,xf as Qu,xg as nL,xh as RL,y as kS,ya as Zn,yb as YC,yc as hl,yd as GM,ye as lA,yf as eg,yg as Vt,yh as VL,z as g6,za as mo,zb as Gu,zc as MM,zd as WM,ze as cA,zf as tg,zg as lL,zh as _9}from"./chunks/chunk-
|
|
1
|
+
import{$ as H1,$a as go,$b as uM,$c as NM,$d as St,$e as G2,$f as Zl,$g as _t,$h as iT,A as SS,Aa as Tu,Ab as b6,Ac as b3,Ad as UM,Ae as hA,Af as TA,Ag as Kl,Ah as _L,B as CS,Ba as tC,Bb as XC,Bc as Uu,Bd as qM,Be as zo,Bf as EA,Bg as Yl,Bh as OL,C as MS,Ca as Eu,Cb as ht,Cc as ut,Cd as $M,Ce as pA,Cf as HA,Cg as cL,Ch as DL,D as AS,Da as Hu,Db as JC,Dc as pl,Dd as jM,De as mA,Df as ag,Dg as hL,Dh as BL,E as LS,Ea as aC,Eb as QC,Ec as ml,Ed as KM,Ee as At,Ef as sg,Eg as Xl,Eh as fg,F as Mu,Fa as rt,Fb as eM,Fc as AM,Fd as p4,Fe as F9,Ff as PA,Fg as pL,Fh as ZL,G as TS,Ga as it,Gb as tM,Gc as R4,Gd as YM,Ge as z6,Gf as d4,Gg as I9,Gh as GL,H as ES,Ha as sC,Hb as aM,Hc as V4,Hd as zl,He as dA,Hf as FA,Hg as i0,Hh as WL,I as at,Ia as oC,Ib as fo,Ic as d7,Id as l8,Ie as uA,If as NA,Ig as v7,Ih as B5,J as HS,Ja as rC,Jb as sM,Jc as P9,Jd as wt,Je as gA,Jf as IA,Jg as M,Jh as UL,K as PS,Ka as Pu,Kb as oM,Kc as gt,Kd as w6,Ke as vA,Kf as VA,Kg as $0,Kh as ec,L as FS,La as Fu,Lb as rM,Lc as vt,Ld as yt,Le as h1,Lf as _A,Lg as e1,Lh as O9,M as NS,Ma as nt,Mb as iM,Mc as n8,Md as XM,Me as fA,Mf as OA,Mg as T0,Mh as m8,N as IS,Na as Nu,Nb as nM,Nc as dl,Nd as JM,Ne as O5,Nf as DA,Ng as mL,Nh as qL,O as RS,Oa as Iu,Ob as Qn,Oc as LM,Od as yo,Oe as D5,Of as og,Og as dL,Oh as bg,P as VS,Pa as iC,Pb as lM,Pc as tJ,Pd as c8,Pe as u7,Pf as GA,Pg as uL,Ph as $L,Q as Au,Qa as nC,Qb as cM,Qc as TM,Qd as QM,Qe as bA,Qf as Dl,Qg as gL,Qh as jL,R as _S,Ra as lC,Rb as el,Rc as x3,Rd as Xu,Re as El,Rf as WA,Rg as vL,Rh as KL,S as OS,Sa as Gn,Sb as hM,Sc as EM,Sd as kl,Se as w1,Sf as UA,Sg as fL,Sh as tc,T as Vn,Ta as cC,Tb as tl,Tc as ul,Td as eA,Te as Lt,Tf as rg,Tg as bL,Th as YL,U as _n,Ua as jn,Ub as H9,Uc as ft,Ud as zt,Ue as v2,Uf as ig,Ug as xL,Uh as XL,V as DS,Va as IC,Vb as pM,Vc as I3,Vd as w3,Ve as g7,Vf as ng,Vg as wL,Vh as So,W as BS,Wa as RC,Wb as al,Wc as HM,Wd as T2,We as Hl,Wf as qA,Wg as yL,Wh as QL,X as ZS,Xa as VC,Xb as mM,Xc as PM,Xd as kt,Xe as b1,Xf as $A,Xg as zL,Xh as aT,Y as GS,Ya as o8,Yb as dM,Yc as xo,Yd as tA,Ye as X1,Yf as lg,Yg as kL,Yh as sT,Z as F4,Za as r8,Zb as Wu,Zc as gl,Zd as Sl,Ze as Pl,Zf as cg,Zg as f7,Zh as oT,_ as R5,_a as _C,_b as sl,_c as FM,_d as Cl,_e as Ju,_f as Bl,_g as h5,_h as rT,a as nS,aa as V5,ab as OC,ac as gM,ad as vl,ae as R,af as Tt,ag as jA,ah as Ot,ai as nT,b as Pn,ba as J3,bb as DC,bc as vM,bd as qu,be as $,bf as Et,bg as Gl,bh as SL,bi as sc,c as lS,ca as On,cb as vo,cc as fM,cd as IM,ce as Y,cf as Fl,cg as KA,ch as Q3,ci as p5,d as po,da as N4,db as BC,dc as m,dd as $u,de as y1,df as xA,dg as hg,dh as Dt,di as oc,e as cS,ea as st,eb as ZC,ec as e3,ed as c5,ee as P1,ef as p8,eg as YA,eh as ug,ei as d8,f as Su,fa as Dn,fb as GC,fc as bM,fd as RM,fe as V1,ff as wA,fg as XA,fh as Jl,fi as _4,g as Cu,ga as WS,gb as WC,gc as i8,gd as bt,ge as y,gf as yA,gg as JA,gh as gg,gi as lT,h as I5,ha as US,hb as UC,hc as ol,hd as xt,he as y6,hf as ko,hg as QA,hh as CL,hi as cT,i as Fn,ia as Q2,ib as qC,ic as rl,id as VM,ie as aA,if as zA,ig as eL,ih as ML,j as hS,ja as U1,jb as $C,jc as pt,jd as _M,je as r0,jf as Nl,jg as tL,jh as Bt,k as pS,ka as J1,kb as jC,kc as mt,kd as fl,ke as sA,kf as Il,kg as Wl,kh as AL,l as d0,la as qS,lb as Kn,lc as xM,ld as OM,le as Ct,lf as Ht,lg as pg,lh as LL,m as Nn,ma as e0,mb as Yn,mc as dt,md as bl,me as h8,mf as Pt,mg,mh as vg,n as In,na as Q1,nb as lt,nc as ll,nd as wo,ne as Mt,nf as Ft,ng as aL,nh as TL,o as l5,oa as Lu,ob as v3,oc as wM,od as ju,oe as c1,of as Nt,og as Ul,oh as EL,p as gS,pa as XS,pb as B0,pc as x6,pd as Ku,pe as m4,pf as kA,pg as sL,ph as HL,q as vS,qa as JS,qb as ct,qc as cl,qd as Yu,qe as oA,qf as SA,qg as ql,qh as PL,r as Rn,ra as QS,rb as Xn,rc as yM,rd as _5,re as Ml,rf as CA,rg as $l,rh as FL,s as fS,sa as S2,sb as E9,sc as zM,sd as xl,se as rA,sf as Rl,sg as dg,sh as NL,t as bS,ta as eC,tb as Du,tc as kM,td as DM,te as iA,tf as MA,tg as jl,th as IL,u as xS,ua as p7,ub as Jn,uc as f3,ud as BM,ue as Al,uf as AA,ug as oL,uh as R9,v as wS,va as m7,vb as Bu,vc as SM,vd as wl,ve as Ll,vf as It,vg as rL,vh as Ql,w as yS,wa as T9,wb as Zu,wc as I4,wd as yl,we as Tl,wf as LA,wg as iL,wh as V9,x as zS,xa as s8,xb as KC,xc as CM,xd as ZM,xe as nA,xf as Qu,xg as nL,xh as RL,y as kS,ya as Zn,yb as YC,yc as hl,yd as GM,ye as lA,yf as eg,yg as Vt,yh as VL,z as g6,za as mo,zb as Gu,zc as MM,zd as WM,ze as cA,zf as tg,zg as lL,zh as _9}from"./chunks/chunk-HHZH76OU.js";import{$ as HT,A as b8,B as pc,C as CT,D as MT,E as $t,F as jt,G as mc,H as AT,I as Kt,J as LT,M as TT,N as ET,O as x8,P as k0,R as yg,S as Yt,T as D4,U as dc,V as Mo,X as Ao,Y as w8,Z as uc,_ as gc,a as vT,aa as Xt,ba as Z9,ca as PT,da as zg,e as v8,ea as FT,f as ic,fa as NT,g as fT,ga as IT,h as bT,ha as RT,i as xg,ia as kg,j as xT,ja as Jt,k as wT,ka as Qt,l as nc,la as Lo,m as Wt,ma as G9,n as wg,na as a3,o as yT,p as t3,q as zT,r as f8,s as lc,t as cc,u as kT,v as ST,w as B9,x as Ut,y as qt,z as hc}from"./chunks/chunk-TREIS6WP.js";import{A as E1,a as Vl,e as Co,f as u8,h as x2,i as rc,j as O4,k as hT,l as pT,m as mT,n as dT,o as g8,p as uT,v as Zt,w as w0,x as D9,y as gT,z as Gt}from"./chunks/chunk-NNJSIHWJ.js";import{$ as wC,A as pC,Aa as RA,Ba as N9,D as mC,Da as BA,Ea as _l,F as dC,Fa as ZA,G as uC,Ga as Ol,I as gC,L as vC,N as fC,O as Vu,P as bC,R as xC,S as Un,V as qn,W as $n,Y as _u,a as h4,aa as Ou,b as mS,c as L1,da as yC,f as v6,fa as zC,g as ot,ga as kC,h as Bn,ha as SC,i as $S,ia as CC,j as jS,ja as MC,k as KS,ka as AC,la as LC,m as YS,ma as TC,n as hC,na as EC,o as uo,p as Wn,pa as HC,q as Ru,r as f6,ra as PC,sa as FC,ta as NC,va as bo,wa as il,xa as nl,ya as N3,za as Rt}from"./chunks/chunk-BAR34RXF.js";import{b as sS,c as ho,d as oS,e as rS,f as ku,g as iS,h as Hn,i as Z2,j as dS,k as u6,l as uS,m as X3,o as JL,q as ac,r as eT,s as y3,t as tT}from"./chunks/chunk-BG52UY3U.js";import{a as QX,b as eJ}from"./chunks/chunk-Y6SLVHK3.js";var MD=QX((GY1,CD)=>{"use strict";function ua1(e,t){this.v=e,this.k=t}function iD(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 ga1(e){if(Array.isArray(e))return e}function va1(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 fa1(){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 ba1(e,t){return ga1(e)||va1(e,t)||xa1(e,t)||fa1()}function xa1(e,t){if(e){if(typeof e=="string")return iD(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)?iD(e,t):void 0}}function Zp(e){var t,a;function s(r,i){try{var n=e[r](i),l=n.value,c=l instanceof ua1;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)}Zp.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Zp.prototype.next=function(e){return this._invoke("next",e)},Zp.prototype.throw=function(e){return this._invoke("throw",e)},Zp.prototype.return=function(e){return this._invoke("return",e)};var yD=Object.entries,nD=Object.setPrototypeOf,wa1=Object.isFrozen,ya1=Object.getPrototypeOf,za1=Object.getOwnPropertyDescriptor,$2=Object.freeze,l3=Object.seal,ts=Object.create,zD=typeof Reflect<"u"&&Reflect,bx=zD.apply,xx=zD.construct;$2||($2=function(t){return t});l3||(l3=function(t){return t});bx||(bx=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)});xx||(xx=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 we=V2(Array.prototype.forEach);Array.prototype.indexOf;var ka1=V2(Array.prototype.lastIndexOf),lD=V2(Array.prototype.pop),jr=V2(Array.prototype.push);Array.prototype.slice;var Sa1=V2(Array.prototype.splice),as=Array.isArray,Xr=V2(String.prototype.toLowerCase),mx=V2(String.prototype.toString),cD=V2(String.prototype.match),Kr=V2(String.prototype.replace),hD=V2(String.prototype.indexOf),Ca1=V2(String.prototype.trim),Ma1=V2(Number.prototype.toString),Aa1=V2(Boolean.prototype.toString),pD=typeof BigInt>"u"?null:V2(BigInt.prototype.toString),mD=typeof Symbol>"u"?null:V2(Symbol.prototype.toString),M4=V2(Object.prototype.hasOwnProperty),Yr=V2(Object.prototype.toString),B3=V2(RegExp.prototype.test),J8=La1(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 bx(e,t,s)}}function La1(e){return function(){for(var t=arguments.length,a=new Array(t),s=0;s<t;s++)a[s]=arguments[s];return xx(e,a)}}function N0(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Xr;if(nD&&nD(e,null),!as(t))return e;let s=t.length;for(;s--;){let o=t[s];if(typeof o=="string"){let r=a(o);r!==o&&(wa1(t)||(t[s]=r),o=r)}e[o]=!0}return e}function Ta1(e){for(let t=0;t<e.length;t++)M4(e,t)||(e[t]=null);return e}function $4(e){let t=ts(null);for(let s of yD(e)){var a=ba1(s,2);let o=a[0],r=a[1];M4(e,o)&&(as(r)?t[o]=Ta1(r):r&&typeof r=="object"&&r.constructor===Object?t[o]=$4(r):t[o]=r)}return t}function Ea1(e){switch(typeof e){case"string":return e;case"number":return Ma1(e);case"boolean":return Aa1(e);case"bigint":return pD?pD(e):"0";case"symbol":return mD?mD(e):"Symbol()";case"undefined":return Yr(e);case"function":case"object":{if(e===null)return Yr(e);let t=e,a=k5(t,"toString");if(typeof a=="function"){let s=a(t);return typeof s=="string"?s:Yr(s)}return Yr(e)}default:return Yr(e)}}function k5(e,t){for(;e!==null;){let s=za1(e,t);if(s){if(s.get)return V2(s.get);if(typeof s.value=="function")return V2(s.value)}e=ya1(e)}function a(){return null}return a}function Ha1(e){try{return B3(e,""),!0}catch{return!1}}var dD=$2(["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"]),dx=$2(["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"]),ux=$2(["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"]),Pa1=$2(["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"]),gx=$2(["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"]),Fa1=$2(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),uD=$2(["#text"]),gD=$2(["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"]),vx=$2(["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"]),vD=$2(["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"]),Gp=$2(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Na1=l3(/{{[\w\W]*|^[\w\W]*}}/g),Ia1=l3(/<%[\w\W]*|^[\w\W]*%>/g),Ra1=l3(/\${[\w\W]*/g),Va1=l3(/^data-[\-\w.\u00B7-\uFFFF]+$/),_a1=l3(/^aria-[\-\w]+$/),fD=l3(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Oa1=l3(/^(?:\w+script|data):/i),Da1=l3(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ba1=l3(/^html$/i),Za1=l3(/^[a-z][.\w]*(-[.\w]+)+$/i),bD=l3(/<[/\w!]/g),xD=l3(/<[/\w]/g),Ga1=l3(/<\/no(script|embed|frames)/i),Wa1=l3(/\/>/i),q4={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},kD=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],Ua1=$2(N0({},kD)),qa1=(function(){let e={};return we(kD,t=>{e[t]=l3(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),$2(e)})(),$a1=function(){return typeof window>"u"?null:window},ja1=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}},wD=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Q8=function(t,a,s,o){return M4(t,a)&&as(t[a])?N0(o.base?$4(o.base):{},t[a],o.transform):s},fx=function(t,a,s){let o=M4(t,a)?t[a]:void 0;return o&&typeof o=="object"?$4(o):s()};function SD(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$a1(),t=m1=>SD(m1);if(t.version="3.4.16",t.removed=[],!e||!e.document||e.document.nodeType!==q4.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=k5(p,"cloneNode"),u=k5(p,"remove"),v=k5(p,"removeAttributeNode"),g=k5(p,"nextSibling"),f=k5(p,"childNodes"),b=k5(p,"parentNode"),x=k5(p,"shadowRoot"),w=k5(p,"attributes"),z=i&&i.prototype?k5(i.prototype,"nodeType"):null,k=i&&i.prototype?k5(i.prototype,"nodeName"):null,A=i&&i.prototype?k5(i.prototype,"ownerDocument"):null,I=function(C){return z?z(C):C.nodeType},E=function(C){return k?k(C):C.nodeName};if(typeof r=="function"){let m1=a.createElement("template");m1.content&&m1.content.ownerDocument&&(a=m1.content.ownerDocument)}let F,N="",H,P=!1,_=0,U=function(){if(_>0)throw J8('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},D=function(C){U(),_++;try{return F.createHTML(C)}finally{_--}},Z=function(C){U(),_++;try{return F.createScriptURL(C)}finally{_--}},O=function(){return P||(H=ja1(h,o),P=!0),H},K=a,X=K.implementation,B=K.createNodeIterator,r1=K.createDocumentFragment,V=K.getElementsByTagName,q=s.importNode,j=wD();t.isSupported=typeof yD=="function"&&typeof b=="function"&&X&&X.createHTMLDocument!==void 0;let Q=Na1,J=Ia1,i1=Ra1,s1=Va1,G1=_a1,n0=Oa1,W1=Da1,$1=Za1,j1=fD,R1=null,e2=N0({},[...dD,...dx,...ux,...gx,...uD]),u0=null,l0=N0({},[...gD,...vx,...vD,...Gp]),v0=Object.seal(ts(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}})),f1=null,K1=null,s0=Object.seal(ts(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),f0=!0,U0=!0,q0=!1,c0=!0,m0=!1,l1=!0,Y1=!1,b0=!1,X2=null,t5=null,E3=!1,a5=!1,p6=!1,H3=!1,t8=!0,c7=!1,J2="user-content-",P3=!0,j3=!1,c4={},F3=null,s5=N0({},["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"]),o5=null,B2=N0({},["audio","video","img","source","image","track"]),r5=null,g3=N0({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),N5="http://www.w3.org/1998/Math/MathML",M1="http://www.w3.org/2000/svg",p1="http://www.w3.org/1999/xhtml",t2=p1,g2=!1,i5=null,h7=N0({},[N5,M1,p1],mx),no=$2(["mi","mo","mn","ms","mtext"]),lo=N0({},no),A1=$2(["annotation-xml"]),r2=N0({},A1),K3=N0({},["title","style","font","a","script"]),z0=null,m6=["application/xhtml+xml","text/html"],Sn="text/html",L2=null,Je=null,BX=a.createElement("form"),Wk=function(C){return C instanceof RegExp||C instanceof Function},xu=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Je&&Je===C)return;(!C||typeof C!="object")&&(C={}),C=$4(C),z0=m6.indexOf(C.PARSER_MEDIA_TYPE)===-1?Sn:C.PARSER_MEDIA_TYPE,L2=z0==="application/xhtml+xml"?mx:Xr,R1=Q8(C,"ALLOWED_TAGS",e2,{transform:L2}),u0=Q8(C,"ALLOWED_ATTR",l0,{transform:L2}),i5=Q8(C,"ALLOWED_NAMESPACES",h7,{transform:mx}),r5=Q8(C,"ADD_URI_SAFE_ATTR",g3,{transform:L2,base:g3}),o5=Q8(C,"ADD_DATA_URI_TAGS",B2,{transform:L2,base:B2}),F3=Q8(C,"FORBID_CONTENTS",s5,{transform:L2}),f1=Q8(C,"FORBID_TAGS",$4({}),{transform:L2}),K1=Q8(C,"FORBID_ATTR",$4({}),{transform:L2}),c4=M4(C,"USE_PROFILES")?C.USE_PROFILES&&typeof C.USE_PROFILES=="object"?$4(C.USE_PROFILES):C.USE_PROFILES:!1,f0=C.ALLOW_ARIA_ATTR!==!1,U0=C.ALLOW_DATA_ATTR!==!1,q0=C.ALLOW_UNKNOWN_PROTOCOLS||!1,c0=C.ALLOW_SELF_CLOSE_IN_ATTR!==!1,m0=C.SAFE_FOR_TEMPLATES||!1,l1=C.SAFE_FOR_XML!==!1,Y1=C.WHOLE_DOCUMENT||!1,a5=C.RETURN_DOM||!1,p6=C.RETURN_DOM_FRAGMENT||!1,H3=C.RETURN_TRUSTED_TYPE||!1,E3=C.FORCE_BODY||!1,t8=C.SANITIZE_DOM!==!1,c7=C.SANITIZE_NAMED_PROPS||!1,P3=C.KEEP_CONTENT!==!1,j3=C.IN_PLACE||!1,j1=Ha1(C.ALLOWED_URI_REGEXP)?C.ALLOWED_URI_REGEXP:fD,t2=typeof C.NAMESPACE=="string"?C.NAMESPACE:p1,lo=fx(C,"MATHML_TEXT_INTEGRATION_POINTS",()=>N0({},no)),r2=fx(C,"HTML_INTEGRATION_POINTS",()=>N0({},A1));let G=fx(C,"CUSTOM_ELEMENT_HANDLING",()=>ts(null));if(v0=ts(null),M4(G,"tagNameCheck")&&Wk(G.tagNameCheck)&&(v0.tagNameCheck=G.tagNameCheck),M4(G,"attributeNameCheck")&&Wk(G.attributeNameCheck)&&(v0.attributeNameCheck=G.attributeNameCheck),M4(G,"allowCustomizedBuiltInElements")&&typeof G.allowCustomizedBuiltInElements=="boolean"&&(v0.allowCustomizedBuiltInElements=G.allowCustomizedBuiltInElements),l3(v0),m0&&(U0=!1),p6&&(a5=!0),c4&&(R1=N0({},uD),u0=ts(null),c4.html===!0&&(N0(R1,dD),N0(u0,gD)),c4.svg===!0&&(N0(R1,dx),N0(u0,vx),N0(u0,Gp)),c4.svgFilters===!0&&(N0(R1,ux),N0(u0,vx),N0(u0,Gp)),c4.mathMl===!0&&(N0(R1,gx),N0(u0,vD),N0(u0,Gp))),s0.tagCheck=null,s0.attributeCheck=null,M4(C,"ADD_TAGS")&&(typeof C.ADD_TAGS=="function"?s0.tagCheck=C.ADD_TAGS:as(C.ADD_TAGS)&&(R1===e2&&(R1=$4(R1)),N0(R1,C.ADD_TAGS,L2))),M4(C,"ADD_ATTR")&&(typeof C.ADD_ATTR=="function"?s0.attributeCheck=C.ADD_ATTR:as(C.ADD_ATTR)&&(u0===l0&&(u0=$4(u0)),N0(u0,C.ADD_ATTR,L2))),M4(C,"ADD_FORBID_CONTENTS")&&as(C.ADD_FORBID_CONTENTS)&&(F3===s5&&(F3=$4(F3)),N0(F3,C.ADD_FORBID_CONTENTS,L2)),P3&&(R1["#text"]=!0),Y1&&N0(R1,["html","head","body"]),R1.table&&(N0(R1,["tbody"]),delete f1.tbody),C.TRUSTED_TYPES_POLICY){if(typeof C.TRUSTED_TYPES_POLICY.createHTML!="function")throw J8('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof C.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw J8('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let n1=F;F=C.TRUSTED_TYPES_POLICY;try{N=D("")}catch(u1){throw F=n1,u1}}else C.TRUSTED_TYPES_POLICY===null?(F=void 0,N=""):(F===void 0&&(F=O()),F&&typeof N=="string"&&(N=D("")));$2&&$2(C),Je=C},Uk=N0({},[...dx,...ux,...Pa1]),qk=N0({},[...gx,...Fa1]),ZX=function(C,G,n1){return G.namespaceURI===p1?C==="svg":G.namespaceURI===N5?C==="svg"&&(n1==="annotation-xml"||lo[n1]):!!Uk[C]},GX=function(C,G,n1){return G.namespaceURI===p1?C==="math":G.namespaceURI===M1?C==="math"&&r2[n1]:!!qk[C]},WX=function(C,G,n1){return G.namespaceURI===M1&&!r2[n1]||G.namespaceURI===N5&&!lo[n1]?!1:!qk[C]&&(K3[C]||!Uk[C])},UX=function(C){let G=b(C);(!G||!G.tagName)&&(G={namespaceURI:t2,tagName:"template"});let n1=Xr(C.tagName),u1=Xr(G.tagName);return i5[C.namespaceURI]?C.namespaceURI===M1?ZX(n1,G,u1):C.namespaceURI===N5?GX(n1,G,u1):C.namespaceURI===p1?WX(n1,G,u1):!!(z0==="application/xhtml+xml"&&i5[C.namespaceURI]):!1},a8=function(C){jr(t.removed,{element:C});try{b(C).removeChild(C)}catch{if(u(C),!b(C))throw J8("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},$k=function(C,G,n1){try{v(C,G)}catch{try{C.removeAttribute(n1)}catch{}}},Cn=function(C){Mn(C);let G=f(C);if(G){let u1=[];we(G,B1=>{jr(u1,B1)}),we(u1,B1=>{try{u(B1)}catch{}})}let n1=w(C);if(n1)for(let u1=n1.length-1;u1>=0;--u1){let B1=n1[u1],x0=B1&&B1.name;typeof x0=="string"&&$k(C,B1,x0)}},L9=function(C,G,n1){if(!n1)try{n1=G.getAttributeNode(C)}catch{n1=null}jr(t.removed,{attribute:n1||null,from:G});try{n1?v(G,n1):G.removeAttribute(C)}catch{try{G.removeAttribute(C)}catch{}}if(C==="is")if(a5||p6)try{a8(G)}catch{}else try{G.setAttribute(C,"")}catch{}},qX=function(C){let G=w(C);if(G)for(let n1=G.length-1;n1>=0;--n1){let u1=G[n1],B1=u1&&u1.name;typeof B1!="string"||u0[L2(B1)]||$k(C,u1,B1)}},Mn=function(C){let G=[C];for(;G.length>0;){let n1=G.pop();I(n1)===q4.element&&qX(n1);let u1=f(n1);if(u1)for(let B1=u1.length-1;B1>=0;--B1)G.push(u1[B1])}},jk=function(C,G){return l1?C==="patchsrc"?!0:C==="for"&&G!=="label"&&G!=="output":!1},$X=function(C){if(!l1)return;let G=[C];for(;G.length>0;){let n1=G.pop(),u1=I(n1);if(u1===q4.processingInstruction||u1===q4.comment&&B3(xD,n1.data)){try{u(n1)}catch{}continue}if(u1===q4.element){let x0=n1,L0=L2(E(n1));try{x0.hasAttribute&&x0.hasAttribute("patchsrc")&&x0.removeAttribute("patchsrc"),x0.hasAttribute&&x0.hasAttribute("for")&&jk("for",L0)&&x0.removeAttribute("for")}catch{}}let B1=f(n1);if(B1)for(let x0=B1.length-1;x0>=0;--x0)G.push(B1[x0])}},Kk=function(C){let G=null,n1=null;if(E3)C="<remove></remove>"+C;else{let x0=cD(C,/^[\r\n\t ]+/);n1=x0&&x0[0]}z0==="application/xhtml+xml"&&t2===p1&&(C='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+C+"</body></html>");let u1=F?D(C):C;if(t2===p1)try{G=new c().parseFromString(u1,z0)}catch{}if(!G||!G.documentElement){G=X.createDocument(t2,"template",null);try{G.documentElement.innerHTML=g2?N:u1}catch{}}let B1=G.body||G.documentElement;return C&&n1&&B1.insertBefore(a.createTextNode(n1),B1.childNodes[0]||null),t2===p1?V.call(G,Y1?"html":"body")[0]:Y1?G.documentElement:B1},Yk=function(C){let G=A?A(C):C.ownerDocument;return B.call(G||C,C,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},An=function(C){return C=Kr(C,Q," "),C=Kr(C,J," "),C=Kr(C,i1," "),C},wu=function(C){var G;C.normalize();let n1=A?A(C):C.ownerDocument,u1=B.call(n1||C,C,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),B1=u1.nextNode();for(;B1;)B1.data=An(B1.data),B1=u1.nextNode();let x0=(G=C.querySelectorAll)===null||G===void 0?void 0:G.call(C,"template");x0&&we(x0,L0=>{Qe(L0.content)&&wu(L0.content)})},Ln=function(C){let G=k?k(C):null;return typeof G!="string"||L2(G)!=="form"?!1:typeof C.nodeName!="string"||typeof C.textContent!="string"||typeof C.removeChild!="function"||C.attributes!==w(C)||typeof C.removeAttribute!="function"||typeof C.removeAttributeNode!="function"||typeof C.getAttributeNode!="function"||typeof C.setAttribute!="function"||typeof C.namespaceURI!="string"||typeof C.insertBefore!="function"||typeof C.hasChildNodes!="function"||C.nodeType!==z(C)||C.childNodes!==f(C)},Qe=function(C){if(!z||typeof C!="object"||C===null)return!1;try{return z(C)===q4.documentFragment}catch{return!1}},co=function(C){if(!z||typeof C!="object"||C===null)return!1;try{return typeof z(C)=="number"}catch{return!1}};function d6(m1,C,G){m1.length!==0&&we(m1,n1=>{n1.call(t,C,G,Je)})}let jX=function(C,G){return!!(l1&&C.hasChildNodes()&&!co(C.firstElementChild)&&B3(bD,C.textContent)&&B3(bD,C.innerHTML)||l1&&C.namespaceURI===p1&&Ua1[G]&&(co(C.firstElementChild)||typeof C.textContent=="string"&&B3(qa1[G],C.textContent))||C.nodeType===q4.processingInstruction||l1&&C.nodeType===q4.comment&&B3(xD,C.data))},Tn=function(C,G){if(C instanceof RegExp)return B3(C,G);if(C instanceof Function){for(var n1=arguments.length,u1=new Array(n1>2?n1-2:0),B1=2;B1<n1;B1++)u1[B1-2]=arguments[B1];return!!C(G,...u1)}return!1},KX=function(C,G,n1){if(!f1[G]&&eS(G)&&Tn(v0.tagNameCheck,G))return!1;if(P3&&!F3[G]){let u1=b(C),B1=f(C);if(B1&&u1){let x0=B1.length;for(let L0=x0-1;L0>=0;--L0){let k2=C===n1?d(B1[L0],!0):B1[L0];u1.insertBefore(k2,g(C))}}}return a8(C),!0},Xk=function(C,G,n1,u1){return C.length===0?G:G===n1||G===u1?$4(G):G},et=function(C,G){return C===G||b(C)!==null?!1:(j3&&Mn(C),!0)},Jk=function(C,G){if(d6(j.beforeSanitizeElements,C,null),et(C,G))return!0;if(Ln(C))return a8(C),!0;let n1=L2(E(C));if(R1=Xk(j.uponSanitizeElement,R1,e2,X2),d6(j.uponSanitizeElement,C,{tagName:n1,allowedTags:R1}),et(C,G))return!0;if(jX(C,n1))return a8(C),!0;if(f1[n1]||!(s0.tagCheck instanceof Function&&s0.tagCheck(n1))&&!R1[n1]){let u1=KX(C,n1,G);return u1===!1&&(d6(j.afterSanitizeElements,C,null),et(C,G))?!0:u1}if(I(C)===q4.element&&!UX(C)||(n1==="noscript"||n1==="noembed"||n1==="noframes")&&B3(Ga1,C.innerHTML))return a8(C),!0;if(m0&&C.nodeType===q4.text){let u1=An(C.textContent);C.textContent!==u1&&(jr(t.removed,{element:C.cloneNode()}),C.textContent=u1)}return d6(j.afterSanitizeElements,C,null),et(C,G)},Qk=function(C,G,n1){if(K1[G]||jk(G,C)||t8&&(G==="id"||G==="name")&&(n1 in a||n1 in BX))return!1;let u1=u0[G]||s0.attributeCheck instanceof Function&&s0.attributeCheck(G,C);return U0&&B3(s1,G)||f0&&B3(G1,G)?!0:u1?r5[G]||B3(j1,Kr(n1,W1,""))||(G==="src"||G==="xlink:href"||G==="href")&&C!=="script"&&hD(n1,"data:")===0&&o5[C]||q0&&!B3(n0,Kr(n1,W1,""))?!0:!n1:eS(C)&&Tn(v0.tagNameCheck,C)&&Tn(v0.attributeNameCheck,G,C)||G==="is"&&v0.allowCustomizedBuiltInElements&&Tn(v0.tagNameCheck,n1)},YX=N0({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),eS=function(C){return!YX[Xr(C)]&&B3($1,C)},XX=function(C,G,n1,u1){if(F&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!n1)switch(h.getAttributeType(C,G)){case"TrustedHTML":return D(u1);case"TrustedScriptURL":return Z(u1)}return u1},JX=function(C,G,n1,u1){try{return n1?C.setAttributeNS(n1,G,u1):C.setAttribute(G,u1),Ln(C)?(a8(C),!1):!0}catch{return L9(G,C),!1}},tS=function(C,G){if(d6(j.beforeSanitizeAttributes,C,null),et(C,G))return;let n1=C.attributes;if(!n1||Ln(C))return;u0=Xk(j.uponSanitizeAttribute,u0,l0,t5);let u1={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:u0,forceKeepAttr:void 0},B1=n1.length,x0=L2(C.nodeName);for(;B1--;){let L0=n1[B1],k2=L0.name,n5=L0.namespaceURI,P4=L0.value,tt=L2(k2),zu=P4,Y3=k2==="value"?zu:Ca1(zu),aS=!1;if(u1.attrName=tt,u1.attrValue=Y3,u1.keepAttr=!0,u1.forceKeepAttr=void 0,d6(j.uponSanitizeAttribute,C,u1),Y3=u1.attrValue,c7&&(tt==="id"||tt==="name")&&hD(Y3,J2)!==0&&(L9(k2,C,L0),Y3=J2+Y3,aS=!0),l1&&B3(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Y3)){L9(k2,C,L0);continue}if(tt==="attributename"&&cD(Y3,"href")){L9(k2,C,L0);continue}if(!u1.forceKeepAttr){if(!u1.keepAttr){L9(k2,C,L0);continue}if(!c0&&B3(Wa1,Y3)){L9(k2,C,L0);continue}if(m0&&(Y3=An(Y3)),!Qk(x0,tt,Y3)){L9(k2,C,L0);continue}Y3=XX(x0,tt,n5,Y3),Y3!==zu&&JX(C,k2,n5,Y3)&&aS&&lD(t.removed)}}d6(j.afterSanitizeAttributes,C,null),et(C,G)},En=function(C){let G=null,n1=Yk(C);for(d6(j.beforeSanitizeShadowDOM,C,null);G=n1.nextNode();)if(d6(j.uponSanitizeShadowNode,G,null),Jk(G,C),tS(G,C),Qe(G.content)&&En(G.content),I(G)===q4.element){let u1=x(G);Qe(u1)&&(yu(u1),En(u1))}d6(j.afterSanitizeShadowDOM,C,null)},yu=function(C){let G=[{node:C,shadow:null}];for(;G.length>0;){let n1=G.pop();if(n1.shadow){En(n1.shadow);continue}let u1=n1.node,B1=I(u1)===q4.element,x0=f(u1);if(x0)for(let L0=x0.length-1;L0>=0;--L0)G.push({node:x0[L0],shadow:null});if(B1){let L0=k?k(u1):null;if(typeof L0=="string"&&L2(L0)==="template"){let k2=u1.content;Qe(k2)&&G.push({node:k2,shadow:null})}}if(B1){let L0=x(u1);Qe(L0)&&G.push({node:null,shadow:L0},{node:L0,shadow:null})}}};return t.sanitize=function(m1){let C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=null,n1=null,u1=null,B1=null;if(g2=!m1,g2&&(m1="<!-->"),typeof m1!="string"&&!co(m1)&&(m1=Ea1(m1),typeof m1!="string"))throw J8("dirty is not a string, aborting");if(!t.isSupported)return m1;b0?(R1=X2,u0=t5):xu(C),(j.uponSanitizeElement.length>0||j.uponSanitizeAttribute.length>0)&&(R1=$4(R1)),j.uponSanitizeAttribute.length>0&&(u0=$4(u0)),t.removed=[];let x0=j3&&typeof m1!="string"&&co(m1);if(x0){$X(m1);let n5=E(m1);if(typeof n5=="string"){let P4=L2(n5);if(!R1[P4]||f1[P4])throw Cn(m1),J8("root node is forbidden and cannot be sanitized in-place")}if(Ln(m1))throw Cn(m1),J8("root node is clobbered and cannot be sanitized in-place");try{yu(m1)}catch(P4){throw Cn(m1),P4}}else if(co(m1))G=Kk("<!---->"),n1=G.ownerDocument.importNode(m1,!0),n1.nodeType===q4.element&&n1.nodeName==="BODY"||n1.nodeName==="HTML"?G=n1:G.appendChild(n1),yu(G);else{if(!a5&&!m0&&!Y1&&m1.indexOf("<")===-1)return F&&H3?D(m1):m1;if(G=Kk(m1),!G)return a5?null:H3?N:""}G&&E3&&a8(G.firstChild);let L0=x0?m1:G;try{let n5=Yk(L0);for(;u1=n5.nextNode();)Jk(u1,L0),tS(u1,L0),Qe(u1.content)&&En(u1.content)}catch(n5){throw x0&&(Cn(m1),we(t.removed,P4=>{P4.element&&Mn(P4.element)})),n5}if(x0){let n5=!1;if(we(t.removed,P4=>{P4.element&&(P4.element===m1&&(n5=!0),Mn(P4.element))}),n5)throw J8("a node selected for removal could not be safely returned; refusing to sanitize in place");return m0&&wu(m1),m1}if(a5){if(m0&&wu(G),p6)for(B1=r1.call(G.ownerDocument);G.firstChild;)B1.appendChild(G.firstChild);else B1=G;return(u0.shadowroot||u0.shadowrootmode)&&(B1=q.call(s,B1,!0)),B1}let k2=Y1?G.outerHTML:G.innerHTML;return Y1&&R1["!doctype"]&&G.ownerDocument&&G.ownerDocument.doctype&&G.ownerDocument.doctype.name&&B3(Ba1,G.ownerDocument.doctype.name)&&(k2="<!DOCTYPE "+G.ownerDocument.doctype.name+`>
|
|
3
|
-
`+k2),m0&&(k2=An(k2)),F&&H3?D(k2):k2},t.setConfig=function(){let m1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};xu(m1),b0=!0,X2=R1,t5=u0},t.clearConfig=function(){Je=null,b0=!1,X2=null,t5=null,F=H,N=""},t.isValidAttribute=function(m1,C,G){Je||xu({});let n1=L2(m1),u1=L2(C);return Qk(n1,u1,G)},t.addHook=function(m1,C){typeof C=="function"&&M4(j,m1)&&jr(j[m1],C)},t.removeHook=function(m1,C){if(M4(j,m1)){if(C!==void 0){let G=ka1(j[m1],C);return G===-1?void 0:Sa1(j[m1],G,1)[0]}return lD(j[m1])}},t.removeHooks=function(m1){M4(j,m1)&&(j[m1]=[])},t.removeAllHooks=function(){j=wD()},t}var Ka1=SD();CD.exports=Ka1});import{useEffect as Bf1,useMemo as Zf1,useState as _X}from"react";import{useEaselStrings as Gf1}from"efficient-easel/strings";import{useMemo as lJ}from"react";import{createContext as nJ,useContext as VT}from"react";var aJ="https://maps.googleapis.com/maps/api/js",sJ="__storefrontMapsReady__",vc=null;function fc(e){if(typeof window>"u")return Promise.reject(new Error("ssr"));if(window.google?.maps)return Promise.resolve(window.google.maps);if(vc)return vc;let t=e&&e.trim()||"";return t?(vc=new Promise((a,s)=>{let o=sJ;window[o]=()=>a(window.google.maps);let r=document.createElement("script");r.src=`${aJ}?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)}),vc):Promise.reject(new Error("No Google Maps API key configured"))}function To(e,t){return Number.isFinite(e)&&Number.isFinite(t)&&!(e===0&&t===0)}var oJ=15e3,Sg=new Set,rJ=()=>Sg.forEach(e=>e());function iJ(e){let t=window;return t.gm_authFailure=rJ,Sg.add(e),()=>{Sg.delete(e)}}function bc(e){let t=!1,a,s=()=>{t||(t=!0,i(),e())},o=()=>{a=setTimeout(()=>{document.visibilityState==="visible"?s():o()},oJ)},r=iJ(s),i=()=>{clearTimeout(a),r()};return o(),{ready:()=>{t||(t=!0,i())},stop:i}}var _T="sf:maps-api-key",OT="sf:maps-map-id";function DT(){if(typeof window>"u")return"";try{return window.localStorage.getItem(_T)??""}catch{return""}}function Cg(e){if(!(typeof window>"u"))try{window.localStorage.setItem(_T,e)}catch{}}function BT(){if(typeof window>"u")return"";try{return window.localStorage.getItem(OT)??""}catch{return""}}function ZT(e){if(!(typeof window>"u"))try{window.localStorage.setItem(OT,e)}catch{}}var Mg=nJ({apiKey:"",setApiKey:()=>{},mapId:""}),xc=Mg.Provider,wc=()=>VT(Mg).apiKey,yc=()=>VT(Mg).mapId;function zc(e,t){return e&&e.trim()||t&&t.trim()||""}function kc(e,t){return e&&e.trim()||t&&t.trim()||""}import{jsx as cJ}from"react/jsx-runtime";function Ag({apiKey:e,mapId:t,children:a}){let s=lJ(()=>({apiKey:e,setApiKey:()=>{},mapId:t}),[e,t]);return cJ(xc,{value:s,children:a})}import{jsx as g4,jsxs as AQ}from"react/jsx-runtime";import{useCallback as E2,useEffect as k8,useMemo as qg,useRef as S8,useState as h2}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 GT={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(po,e),draw(e,t){e.label=po[t]}};import{jsx as hJ}from"react/jsx-runtime";var WT={name:"sectionGroupAllow",applies:e=>Dn.includes(e),panel(e,t,a,s){let o=e.fields?.sections;o&&(o.allow=[...s.sectionGroupAllow])}},Lg=new Set(Object.keys(U1)),UT={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=>!Lg.has(l)):o;i.disallow=Array.from(new Set([...i.disallow??[],...n]))}}};var pJ=Array.from(new Set([...hS.map(e=>e.type),...Lg,...Pn,"GalleryItem"])),mJ={not:{context:"parentOffersPositions",is:!1}},qT={name:"cellWidth",applies:(e,t,a)=>pJ.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.cellWidthFields;e.fields={...e.fields,...s()},e.fields=V5(e.fields??{},Object.keys(s()),mJ)},draw(e){let t=e.render;e.render=a=>{let s=DS(a.gridSpan),o=t(a);return s==null?o:hJ("div",{className:"sf-grid-cell",[BS]:String(s),children:o})}}};import{jsx as $T}from"react/jsx-runtime";var jT={name:"clickableParts",applies:(e,t,a)=>typeof a?.render=="function",draw(e,t,a){let s=e,o=()=>s.textParts??s.fields,r=s.render,i=a.inspector?.PartAnchors;s.render=n=>{let l=rt(n);return n.puck?.isEditing&&i?$T(i,{needles:Eu(o(),n),styles:l,type:t,children:r(n)}):Object.keys(l).length?$T(nC,{needles:Eu(o(),n),styles:l,type:t,children:r(n)}):r(n)}}};import{jsx as KT}from"react/jsx-runtime";var YT={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=jn(a.sectionCorners,a.sectionCornerSides),o=t(a),r=B0(a)?`sf-section-corners ${IC}`:"sf-section-corners";return s?KT("div",{className:r,style:{display:"contents",...s},children:o}):o}}},Tg=["CollectionCard"],XT={name:"cardCorners",applies:(e,t,a)=>Tg.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=RC(a.cardCorners,a.cardCornerSides),o=t(a);return s?KT("div",{className:"sf-card-corners",style:{display:"contents",...s},children:o}):o}}};var JT={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 QT={name:"showWhenRows",applies:()=>!0,panel(e,t,a){let s=a.rowsShownForNode,o=e.showWhenFacts??{},r=e.resolveFields;e.resolveFields=r?(i,n)=>{let l=r(i,n);return l instanceof Promise?l.then(c=>s(c??n.fields,i,n,o)):s(l??n.fields,i,n,o)}:(i,n)=>s(n.fields,i,n,o)}};var eE={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 tE,Fragment as dJ,jsxs as uJ}from"react/jsx-runtime";function gJ({anchor:e}){let t=Bu(typeof e=="string"?e:"");return t?tE("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var aE={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=>uJ(dJ,{children:[tE(gJ,{anchor:a.anchor}),t(a)]})}};import{jsx as bJ}from"react/jsx-runtime";import{jsx as vJ}from"react/jsx-runtime";import{useEffect as fJ,useRef as sE}from"react";function oE({motion:e,editing:t,children:a}){let s=sE(null),o=sE(e);return fJ(()=>{let r=s.current;if(r){if(t){if(o.current===e)return;o.current=e,tM(r);return}return eM(r)}},[e,t]),vJ("div",{ref:s,[QC]:e,children:a})}var rE={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!aM.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=JC(s.sectionAnimation);return o?bJ(oE,{motion:o,editing:!!s.puck?.isEditing,children:a(s)}):a(s)}}};import{jsx as xJ}from"react/jsx-runtime";var wJ=[[["sectionHeightValue"],F4("sectionHeightMode",fo,"auto",["fixed","screen"])],[["sectionHeightUnit"],F4("sectionHeightMode",fo,"auto",["fixed"])],[["sectionHeightValuePhone"],F4("sectionHeightModePhone",fo,"auto",["fixed","screen"])],[["sectionHeightUnitPhone"],F4("sectionHeightModePhone",fo,"auto",["fixed"])]],lE={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!oM.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.heightFields;e.fields={...e.fields,...H1(s(),wJ)};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=r?.props??{},c=sM(l),h=rM(l)?iM(l):null;return n&&typeof n.then=="function"?n.then(p=>nE(iE(p,c),h)):nE(iE(n,c),h)}},draw(e){let t=e.render;e.render=a=>{let s=nM(a);return s?xJ("div",{className:s.className,style:s.style,children:t(a)}):t(a)}}};function iE(e,t){if(!e||!("sectionHeightMode"in e)||t.mode==="auto")return e;let a={...e},s=a.sectionHeightValue;return s&&(a.sectionHeightValue={...s,unit:t.unit}),a}function nE(e,t){if(!e||!("sectionHeightModePhone"in e)||!t||t.mode==="auto")return e;let a={...e},s=a.sectionHeightValuePhone;return s&&(a.sectionHeightValuePhone={...s,unit:t.unit}),a}import{jsx as yJ}from"react/jsx-runtime";var cE=pE("sectionSticky",(e,t,a)=>t.isSection(e)&&!lM.has(e)&&!!a&&typeof a.render=="function"),hE=pE("cardSticky",(e,t,a)=>Tg.includes(e)&&!!a&&typeof a.render=="function");function pE(e,t){return{name:e,applies:t,panel(a,s,o){a.fields={...a.fields,...H1(o.stickFields(),zJ)}},draw(a){let s=a.render;a.render=o=>{let r=cM(o);return r?yJ("div",{className:r.className,style:r.style,children:s(o)}):s(o)}}}}var zJ=[[["stickTopDistance"],{field:"stickTop",is:!0}],[["stickTopDistancePhone"],{field:"stickTopPhone",is:!0}]];import{jsx as AJ}from"react/jsx-runtime";import{jsx as SJ}from"react/jsx-runtime";var Sc="sf-card",W2={min:0,max:90,step:5,fallback:0,unit:"%"},y8=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],kJ="68%",u4={desktop:20,phone:20,side:40,sidePhone:24},mE="sf-box-sides";function ea(e){return typeof e=="string"&&e.trim()!==""}function Cc(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(W2.max,Math.max(W2.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) ${kJ})`}}function Mc(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 Ac={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}},dE=new Set(Object.keys(Ac)),Lc=new Set(["Flex","Text","Heading"]),CJ=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),uE=new Set(["ProductGrid"]);function Eg(e,t,a=!1){let s=e.render;e.render=o=>{if(t?.(o))return s(o);let r=a?H9(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone,o.sectionPaddingLeft,o.sectionPaddingRight,o.sectionPaddingLeftPhone,o.sectionPaddingRightPhone):H9(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone),i=s(o);return r?SJ("div",{className:r.className,style:r.style,children:i}):i}}var gE={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!CJ.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){dE.has(t)||uE.has(t)||(e.fields={...e.fields,...a.sidesPaddingFields()})},draw(e,t){if(dE.has(t)){let a=e.render,s=Ac[t];e.render=o=>{let r=pM(o,s);return a({...o,padTop:r.top,padBottom:r.bottom})};return}if(uE.has(t)){Eg(e);return}Lc.has(t)||Eg(e,t==="Flex"?a=>ea(a.bgImage):void 0,!0)}},MJ=["Heading","Text"],vE={name:"blockPadding",applies:(e,t,a)=>MJ.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.sidesPaddingFields()}},draw(e,t){Lc.has(t)||Eg(e,void 0,!0)}};var fE={name:"sectionBorder",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",draw(e,t){if(Lc.has(t))return;let a=e.render;e.render=s=>{let o=tl(s.sectionBorder,s.sectionBorderPhone),r=a(s);return o?AJ("div",{className:el,style:{display:"contents",...o},children:r}):r}}};import{jsx as LJ}from"react/jsx-runtime";var bE={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!YC.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:s,SECTION_THEME_FOLLOW_LABEL:o}=a,r=Gu.has(t);e.fields={...e.fields,...r?s(b6,o):s()}},draw(e,t){let a=Gu.has(t),s=e.render;e.render=o=>{let r=ht(a?{...o,sectionAccent:b6(o.sectionAccent)}:o),i=s(o);return r?LJ("div",{className:r.className,style:r.style,children:i}):i}}},xE={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(b6,o)})}};import{jsx as Ec}from"react/jsx-runtime";var W9={min:40,max:2e3,step:10,fallback:2e3,unit:"px"};function wE(e){return typeof e!="number"?null:{width:`${e}${W9.unit}`,maxWidth:"100%"}}var TJ=new Set(["Flex","Grid"]);function Hg(e,t){return e&&!t}var EJ=e=>Array.isArray(e)&&e.length>0&&typeof e[0]=="object"&&e[0]!==null&&"type"in e[0];function yE(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=TJ.has(n)&&Hg(v3(i,"page").mode!=="full",o);for(let c of Object.values(i)){if(!EJ(c))continue;let h=a(c,o||l);if(h!==void 0)return h}}};return a(e,!1)}function zE(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 Tc(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 HJ=new Set(["SectionHeader","ProductGrid","IntroBleed","RelatedProducts","Banner","Stats","Logos","Divider","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA","Ticker","CategoryBar","DocTabs","CustomHTML","Spacer","Flex","Grid"]),PJ=new Set(["Hero","HeroSingle","Manifesto","ProductHero"]),FJ=new Set(["ProductHero"]),kE={name:"sectionWidth",applies:(e,t,a)=>t.isSection(e)&&!HJ.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=v3(r?.props??{},"full");return n&&typeof n.then=="function"?n.then(c=>U9(c,l)):U9(n,l)}},draw(e,t){let a=PJ.has(t),s=e.render;e.render=o=>{let{mode:r,inherited:i}=v3(o,"full"),n=s(o);if(r==="full")return a&&!i&&!FJ.has(t)?Ec("div",{style:{[GC]:"none",[WC]:"initial",[UC]:"initial"},children:n}):n;let l=r8(go);return a?Ec("div",{style:{"--sf-page-cap":go},children:n}):Ec("div",{style:l,children:n})}}};function U9(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 NJ=new Set(["Heading","Text","ImageBlock","ButtonBlock","Banner","Stats","Logos","Divider","Flex","Grid","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA"]),SE={name:"containedWidth",applies:(e,t,a)=>NJ.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.widthField;e.fields=DJ(t,e,{...e.fields,...s("page")});let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=v3(r?.props??{},"page"),c=h=>U9(h,l);return n&&typeof n.then=="function"?n.then(c):c(n)}},draw(e){let t=e.render;e.render=a=>{let{mode:s}=v3(a,"page");return t({...a,contained:s!=="full"})}}},IJ={not:{context:"inHeroGroupRow",is:!0}},CE={name:"buttonAlignInRow",applies:e=>e==="ButtonBlock",panel(e){let t=e;t.fields=V5(t.fields??{},["align"],IJ),On(t,{inHeroGroupRow:(a,s)=>{let o=Tc(s.appState,a.props?.id);return!!o&&o.type==="HeroGroup"&&sl("HeroGroup",o.props?.direction)==="row"}})}};function RJ(e){return Object.values(e).some(t=>!!t&&typeof t=="object"&&t.type==="slot")}var VJ={any:[]},_J={not:{context:"insideSiteGutter",is:!0}},OJ={not:{context:"widthCappedByParent",is:!0}};function DJ(e,t,a){return e==="ButtonBlock"?V5(a,["_gWidth","widthMode","pageWidth"],VJ):RJ(a)?(On(t,{insideSiteGutter:(s,o)=>yE(o.appState?.data?.content,s.props?.id)}),V5(a,["widthMode","pageWidth"],_J)):(On(t,{widthCappedByParent:(s,o)=>"parent"in o?qS(o.parent):zE({props:s.props??{}},o)}),V5(a,["widthMode","pageWidth"],OJ))}var ME={name:"imageWidth",applies:e=>e==="ImageBlock",panel(e,t,a){let{slider:s,WidthIcon:o}=a;if(e?.fields){let r=s("Image width",Ec(o,{}),W9.min,W9.max,W9.step,W9.fallback,W9.unit),i="focal",n=Object.entries(e.fields),l=n.findIndex(([c])=>c===i);e.fields=Object.fromEntries(l===-1?[...n,["width",r]]:[...n.slice(0,l+1),["width",r],...n.slice(l+1)])}}};var BJ=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"]),AE={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(BJ.has(e)||t.isHostBlock(e)),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}},ZJ=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","CountrySwitchBlock"]),LE={name:"blockGroups",applies:e=>ZJ.has(e),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}};var GJ=["Form","Stats"];function Eo(e,t){let a=new Set(e),s=lS.filter(l=>a.has(l)),o=s.filter(l=>l!=="Header"&&l!=="Footer"&&!Dn.includes(l)),r=new Set([...t,...Pn,...GJ]),i=s.filter(l=>!r.has(l)),n=new Set(s);return{isSection:l=>n.has(l),isHostBlock:()=>!1,sectionGroupAllow:o,contentSectionKeys:i}}var WJ=[WT,UT,gE,YT,fE,XT,vE,qT,kE,SE,CE,ME,lE,aE,bE,rE,cE,hE,xE,AE,LE,QT,JT,jT,eE,GT];function Hc(e,t,a){let s=t;for(let o of WJ)o.applies(e,a,s)&&(a.inspector&&o.panel?.(s,e,a.inspector,a),o.draw?.(s,e,a));return t}import{WidthIcon as rQ}from"efficient-easel/icons";import{jsx as qJ}from"react/jsx-runtime";import{useEffect as $J,useRef as jJ}from"react";import{usePreviewParts as KJ}from"efficient-easel/draw/client";import{usePreviewDevice as YJ}from"efficient-easel/draw/client";import{encodePartId as XJ}from"efficient-easel/draw";var Ho="data-puck-component";function Fg(e,t){return e.closest(`[${Ho}]`)?.getAttribute(Ho)===t}function TE(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(!Fg(v,t))continue;let g=v.getAttribute(s8);g&&(o.push({element:v,partId:p7(t,g)}),r.add(v))}let i=[];for(let u=0;u<s.length;u+=1){let v=s[u];if(!Fg(v,t)||r.has(v))continue;let g=tC(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:Lu(w.key,w.row),exact:!0},A=n.get(z);A?A.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=Lu(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},A=n.get(z);A?A.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:p7(t,g[0].partKey)});continue}new Set(g.map(f=>f.key)).size===1&&d.push({element:u,partId:p7(t,g[0].key)})}return d}function Pg(e,t,a){let s=e.querySelectorAll(`[${m7}]`);for(let r=0;r<s.length;r+=1){let i=s[r];Fg(i,t)&&i.removeAttribute(m7)}let o=[];for(let{element:r,partId:i}of a)r.setAttribute(m7,i),o.push(r);return o}function EE(e,t,a,s,o,r=()=>null){let i=null,n=null,l=null,c=()=>{let h=a(),p=h?.getAttribute(Ho)??null;if(!h||!p)return!1;i=p;let d=TE(e,p,t);return o(h,p,Pg(e,p,d)),l=r(()=>{let u=TE(e,p,t);UJ(d,u)||(d=u,o(h,p,Pg(e,p,u)))}),!0};return c()||(n=s(()=>{(i||c())&&(n?.(),n=null)})),()=>{n?.(),n=null,l?.(),l=null,i&&Pg(e,i,[])}}function UJ(e,t){return e.length===t.length&&e.every((a,s)=>a.element===t[s].element&&a.partId===t[s].partId)}function HE(e,t){return e?.closest(`[${m7}]`)?.getAttribute(m7)??p7(t,null)}function PE(e,t){return e!==p7(t,null)}function Ng(e){let t=null,a=null;for(let s=e;s&&(t===null||a===null);s=s.parentElement){let o=s.getAttribute("class");t??=$S(o),a??=Vu(o)}return{faceRole:t??"body",sizeGroup:a}}function Pc(e){let t=e.style,a={};for(let i of Fu)a[i]=t[i]??"",t[i]="";let s=getComputedStyle(e),o=getComputedStyle(e.ownerDocument.documentElement),r=sC({fontSize:s.fontSize,fontWeight:s.fontWeight,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,textAlign:s.textAlign,textTransform:s.textTransform,paddingTop:s.paddingTop,maxWidth:s.maxWidth},oC(s.fontFamily,i=>o.getPropertyValue(i)));for(let i of Fu)t[i]=a[i];return r}function FE({needles:e,styles:t,type:a,children:s}){let o=jJ(null),{selectedPartId:r,select:i}=KJ(),{setPartStyle:n}=rl(),l=YJ()==="mobile",c=JSON.stringify(e),h=JSON.stringify(t);return $J(()=>{let p=o.current;if(!p)return;let d=[],u=()=>p.parentElement,v=z=>{let k=u();if(!k)return null;let A=new MutationObserver(z);return A.observe(k,{attributes:!0,attributeFilter:[Ho]}),()=>A.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=EE(p,b,u,v,(z,k,A)=>{for(let P of f)P();f=[];let I=[];for(let P of A){let _=P,U=i8(_);U&&f.push(U),_.getAttribute(m7)===r?(_.setAttribute(T9,""),I.push(_)):_.removeAttribute(T9)}let E=rC(k,r,I,P=>jS(P)!==null||Vu(P)!==null);if(E&&r){let P=E;n({partId:r,...Ng(P),base:Pc(P),inks:bM(P),...(()=>{let _=Tu(P);return _?{styleOwner:_}:{}})()})}Pu(A.filter(P=>!Tu(P)).map(P=>({element:P,partId:P.getAttribute(m7)??""})),x,P=>Pc(P),P=>iC(a,P),void 0,l);let F=[...p.querySelectorAll(`[${Zn}="${CSS.escape(k)}"][${mo}]`)];F.length&&Pu(F.map(P=>({element:P,partId:XJ(k,P.getAttribute(mo)??"")})),x,void 0,P=>P,void 0,l);let N=P=>{let _=HE(P.target,k);PE(_,k)&&(P.stopPropagation(),P.preventDefault()),i(_)},H=z;H.addEventListener("click",N,{capture:!0}),f.push(()=>H.removeEventListener("click",N,{capture:!0}))},g);return()=>{w();for(let z of d)z()}},[c,h,r,i,n,l]),qJ("div",{ref:o,style:{display:"contents"},children:s})}function JJ(e,t){let a=Uu(t),s=a?a.inner:t;if(Xu(s))return!1;if(s?.type==="slot")return!0;let o=AM(s);return o==="always"?!1:o==="authored-copy"?eC(e):!0}function NE(e){let t=Uu(e),a=t?t.inner:e,s=Xu(a);return s?sA(a)?0:s.level:null}function QJ(e,t,a){return a?t===0&&e===ko.Design||t===1&&e===zA.Content:!1}var eQ=new WeakMap,tQ=new WeakMap;function Fc(e,t="section"){let a=t==="page"?tQ:eQ,s=a.get(e);if(s)return s;let o=Object.entries(e).map(([p,d])=>({key:p,field:d,level:NE(d),draws:JJ(p,d)||t==="page"&&NE(d)===null&&Hu(p,d)})),r=t==="section"&&o.some(p=>Hu(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&&!QJ(o[p].key,d,r)&&i.add(o[p].key)}let n=r&&AA(e),l=n&&!(ko.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=It(n?MA(c):c);return a.set(e,h),h}import{isShown as aQ,showWhenFactReaders as sQ}from"efficient-shell/format";var IE=new WeakMap,oQ=new Set(Object.values(ko));function RE(e,t,a,s={}){if(!e)return e;let o=t?.props??{},r=o.id,i=sQ(s,t,a),n=IA(a,{...i,parentOffersPositions:()=>{let v=Tc(a.appState,r);return v===void 0?void 0:ZS(v)},heroGroupDepth:()=>at(a.appState?.data,typeof r=="string"?r:"")}),l=[];for(let[v,g]of Object.entries(e)){let f=GS(g);!f||NA(f,"device")||aQ(f,o,n)||l.push(v)}if(l.length===0)return e;let c=IE.get(e);c||IE.set(e,c=new Map);let h=l.join("\0"),p=c.get(h);if(p)return p;let d=new Set(l),u={};for(let[v,g]of Object.entries(e))d.has(v)||(u[v]=g);return l.some(v=>oQ.has(v))&&(u=It(u)),c.set(h,u),u}var Po={spacingFields:At,sidesPaddingFields:F9,sectionShapeFields:Ml,cardShapeFields:iA,cellWidthFields:pA,widthField:z6,heightFields:dA,anchorFields:gA,stickFields:uA,sectionThemeFields:Mt,sectionAnimationFields:rA,slider:c1,WidthIcon:rQ,assignSectionGroups:Rl,dropEmptyHeadings:Fc,rowsShownForNode:RE,SECTION_THEME_FOLLOW_LABEL:cl,BLOCK_THEME_FOLLOW_LABEL:yM,PartAnchors:FE};function Nc(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=Nc(i.arrayFields,t,a),c=Nc(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 iQ(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=Hc(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 Ic(e,t){let a=Object.entries(t?.host??{}),s=t?.categories??[],o=FS(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?Nc(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=Eo(Object.keys(r),d),v={...u,isSection:g=>p.has(g)||u.isSection(g),isHostBlock:g=>p.has(g),inspector:Po};for(let[g,f]of a){let b=iQ(g,f,v),x=Nc(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 Rc}from"efficient-easel/screen/lib/host-chrome";function nQ(e){return!!e&&typeof e=="object"&&typeof e[UM]=="string"}function lQ(e,t){if(!e)return e;let a=null;for(let[s,o]of Object.entries(e))nQ(o)&&(a??={...e},a[s]={...o,siteGap:t});return a??e}function VE(e,t){let a=e,s=!1,o={};for(let[r,i]of Object.entries(a.components)){let n=lQ(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 _E=Vl.mediaFields,OE=Vl.snapshotObjects,DE=Vl.hydratedLists;function cQ(e){return typeof e=="string"?"":Array.isArray(e)?[]:e&&typeof e=="object"?null:e}function Ig(e,t){if(t.length===0)return cQ(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=>Ig(l,s.length?s:[]))}:e:{...i,[r]:Ig(n,s)}}function BE(e,t){if(Array.isArray(e))return e.map(o=>BE(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 hQ(e,t){let a=t;for(let o of _E[e]??[])a=Ig(a,o.split("."));let s=OE[e];if(s)for(let[o,r]of Object.entries(s))o in a&&(a={...a,[o]:BE(a[o],r.keep)});for(let o of DE[e]??[])Array.isArray(a[o])&&(a={...a,[o]:[]});return a}function pQ(e,t){return typeof t!="function"?t:a=>t(hQ(e,a))}function Vc(e,t){if(!t)return e;let a=e,s={};for(let[o,r]of Object.entries(a.components)){let i=(_E[o]?.length??0)>0||OE[o]||DE[o];s[o]=i&&r.render?{...r,render:pQ(o,r.render)}:r}return{...a,components:s}}import{default as ZE,DocumentScreen as GE}from"efficient-easel/screen/components/ScreenMount";import{jsx as mQ}from"react/jsx-runtime";import{createContext as dQ,useCallback as uQ,useContext as Ww1,useState as Rg}from"react";var gQ=dQ({footerBlock:null,setFooterBlock:()=>{},headerGroup:null,setHeaderGroup:()=>{},refreshToken:0,refreshFooter:()=>{}});function WE({children:e,editFooter:t}){let[a,s]=Rg(null),[o,r]=Rg(null),[i,n]=Rg(0),l=uQ(()=>n(c=>c+1),[]);return mQ(gQ.Provider,{value:{footerBlock:a,setFooterBlock:s,headerGroup:o,setHeaderGroup:r,editFooter:t,refreshToken:i,refreshFooter:l},children:e})}import{useCallback as vQ,useEffect as fQ,useMemo as UE,useRef as qE,useState as bQ}from"react";var xQ="Could not save this link. Check your connection and try again.";function wQ(e,t){if(!(e instanceof x6)||e.kind!=="invalid")return null;let a=e.fields?.[t];return typeof a=="string"&&a.trim()?a:null}function yQ(e){return Object.fromEntries(N9.map(t=>[t,{value:e[t]??"",error:null}]))}function $E({token:e,siteId:t,enabled:a}){let[s,o]=bQ(og),r=qE(null),i=qE(!1),n=dt(),l=I5(n).social,c=a&&!!e&&!!t&&!!l;fQ(()=>{if(!c||!e||!t||!l)return;r.current!==t&&(r.current=t,i.current=!1,o(og));let d=!1;return l.get({siteId:t}).then(u=>{!d&&!i.current&&o(yQ(u))}).catch(()=>{}),()=>{d=!0}},[c,e,t,l]);let h=vQ(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=wQ(v,d)??xQ;return o(f=>({...f,[d]:{...f[d],error:g}})),{ok:!1,error:g}}},[c,e,t,l]),p=UE(()=>_l(Object.fromEntries(N9.map(d=>[d,s[d].value]))),[s]);return UE(()=>({links:p,rows:s,canSave:c,saveLink:h}),[p,s,c,h])}function _g(e,t){let a=t?{siteId:t}:void 0;return{resolve:s=>e.load({slug:s,...a}).then(o=>(o&&rg(o.id,o.live),o)),saveLayout:(s,o,r,i)=>e.save(s,{layout:o},{version:r,clientId:i??""}).then(n=>(ig(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=>(ng(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 zQ(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=qA(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(cg(v===c5?null:u),v===c5)return a.resolve(v);let g=!1,[f,b]=await Promise.all([a.resolve(v),e.load({slug:c5,...t}).catch(()=>(g=!0,null))]);if(b){rg(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=$A(p(f.layout),o.layout);return o.savedJson=JSON.stringify(lg(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=lg(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 A=await e.save(x.id,{layout:w.chrome},{version:x.version,clientId:b??""});ig(x.id,A.live),x.layout=w.chrome,x.version=A.version,x.savedJson=k,i=!0,h({conflict:null,saveFailed:!1})}catch(A){ll(A,"changed-elsewhere")?h({conflict:A.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):ll(A,"lock-taken")?h({lockHolder:A.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);ng(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){ll(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 Fo(e,t=I5(),a=Cu(),s={}){let o=ku(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=_g(t.pages,e),p=c?zQ(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,...KE(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 jE(e,t=I5(),a=Cu()){let s=ku(t),o=t.templates,r=o?o.pages(e):{list:()=>Promise.reject(new Error(Vg)),load:()=>Promise.reject(new Error(Vg)),save:()=>Promise.reject(new Error(Vg))};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},..._g(r,void 0),...KE(_g(r,void 0).resolve),publish:void 0,templateName:o?()=>o.get(e).then(i=>i.name):void 0}}function KE(e){return{resolve:t=>(cg(null),e(t))}}var Vg="This editor's backend has no website templates.";var kQ={"Logos.logosPerRow":"columns","HeroSlide.tintOpacity":"overlay","Split.textBgTint":"overlay"};function SQ(e){return Array.isArray(e)&&e.length>0&&e.every(t=>!!t&&typeof t=="object"&&typeof t.type=="string")}function Og(e){let t=e.props,a=!1;if(e.type&&t)for(let[s,o]of Object.entries(kQ)){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(!SQ(r))continue;let i=r.map(Og);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 _c(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(Og);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(Og);return l.some((c,h)=>c!==n[h])&&(o=!0),[i,l]}));o&&(s.zones=r,a=!0)}return a?s:e}var YE={homeSlug:ct,entryMayBounce:e=>e.kind==="template"||e.kind==="page"&&e.slug===c5,entryBounce:(e,t)=>e.kind==="page"&&e.slug===c5?{kind:"page",slug:ct,siteId:e.siteId}:e.kind!=="template"||new URLSearchParams(t).get("editTemplate")==="1"?null:{kind:"page",slug:ct},onSwitch:()=>{},tellsHost:e=>e.kind==="page"&&e.slug!==c5,adapterFor:(e,t,a)=>e.kind==="template"?jE(e.id,t,Su(a)):Fo(e.siteId,t,Su(a),{editsPinnedInPlace:!0}),migrateRenamedProps:_c};import{PreviewPartsProvider as LQ}from"efficient-easel/draw/client";var Dg=new Set,Bg=new Set,Zg=new Set;function XE(e){return Dg.add(e),()=>Dg.delete(e)}function JE(){Dg.forEach(e=>e())}function z8(e){return Bg.add(e),()=>Bg.delete(e)}function QE(){Bg.forEach(e=>e())}function Oc(e){return Zg.add(e),()=>Zg.delete(e)}function Gg(){Zg.forEach(e=>e())}var Wg=new Map,CQ=9e5,eH=0;function MQ(){return eH+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(eH)}`}function tH(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function aH(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let a=MQ();return new Promise(s=>{let o=setTimeout(()=>sH(a,{status:"timeout"}),t.timeoutMs??CQ);Wg.set(a,r=>{clearTimeout(o),s(r)}),e.send("storefront-editor:open-form",{requestId:a,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function sH(e,t){let a=Wg.get(e);a&&(Wg.delete(e),a(t))}function Ug(e,t){sH(e,t?{status:"saved",form:t}:{status:"closed"})}function Dc(e){switch(e?.type){case"storefront-editor:category-updated":return JE(),!0;case"storefront-editor:menus-updated":return QE(),!0;case"storefront-editor:form-saved":{let t=e;return Gg(),t.requestId&&Ug(t.requestId,t.form??null),!0}case"storefront-editor:form-closed":{let t=e;return Gg(),t.requestId&&Ug(t.requestId,null),!0}default:return!1}}var TQ=()=>{if(typeof window>"u")return f6;try{let e=window.localStorage.getItem(uo);return e==="light"||e==="dark"||e==="auto"?e:f6}catch{return f6}},oH=e=>{if(!(typeof window>"u"))try{window.localStorage.setItem(uo,e)}catch{}},EQ=()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Wn)!==Ru}catch{return!1}},HQ=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(hC)}catch{}},rH=e=>{if(!(typeof window>"u"))try{e?window.localStorage.removeItem(Wn):window.localStorage.setItem(Wn,Ru)}catch{}};function PQ(){let{adapter:e,capabilities:t,templateId:a,ready:s,token:o,siteId:r,currentSlug:i,currentKind:n}=mt();k8(()=>(ag(i,n),()=>ag(null,null)),[i,n]);let l=t.placeholderFrames,[c,h]=h2(null),[p,d]=h2("");k8(()=>{let A1=e.templateName;if(!s||!a||!A1){d("");return}let r2=!1;return A1().then(K3=>!r2&&d(K3??"")).catch(()=>{}),()=>{r2=!0}},[s,o,a,e]);let[u,v]=h2(f6),[g,f]=h2(!1),[b,x]=h2({selected:0,themes:[]}),[w,z]=h2(KS),[k,A]=h2(bC),[I,E]=h2(null),[F,N]=h2(EC),[H,P]=h2(null),[_,U]=h2(null),[D,Z]=h2(Ou),[O,K]=h2(null),[X,B]=h2(null),[r1,V]=h2(null),[q,j]=h2(null),Q=dt(),J=qg(()=>Ic(Hn(Q),Fn(Q)),[Q]),i1=qg(()=>VE(Vc(J,l),q),[J,l,q]),[s1,G1]=h2(PC),[n0,W1]=h2(null),[$1,j1]=h2(null),[R1,e2]=h2(null),u0=S8(null),l0=S8(!1);k8(()=>{v(TQ()),f(EQ())},[]);let v0=E2(A1=>{l0.current=!0,HQ(),oH(A1),v(A1)},[]),f1=E2(A1=>{l0.current=!0,rH(A1),f(A1)},[]),K1=E2(A1=>{l0.current=!0,x(A1)},[]),s0=E2(A1=>{l0.current=!0,z(A1)},[]),f0=E2(A1=>{l0.current=!0,A(A1)},[]),U0=E2(A1=>{l0.current=!0,E(A1)},[]),q0=E2(A1=>{l0.current=!0,N(A1)},[]),c0=E2(A1=>{l0.current=!0,P(A1)},[]),m0=E2(A1=>{l0.current=!0,U(A1)},[]),l1=E2(A1=>{l0.current=!0,Z(A1)},[]),Y1=E2(A1=>{l0.current=!0,K(A1)},[]),b0=E2(A1=>{l0.current=!0,G1(A1)},[]),[X2,t5]=h2(null),[E3,a5]=h2(null),p6=E2(A1=>{l0.current=!0,t5(A1)},[]),H3=E2(A1=>{l0.current=!0,B(A1)},[]),t8=E2(A1=>{l0.current=!0,V(A1)},[]),c7=E2(A1=>{l0.current=!0,j(A1)},[]),J2=E2(A1=>{l0.current=!0,W1(A1)},[]),P3=E2(A1=>{l0.current=!0,j1(A1)},[]),j3=E2(A1=>{l0.current=!0,e2(A1)},[]);k8(()=>{let A1=I5(Q).theme;if(!o||!t.hasSiteTheme||!A1)return;let r2=r??"";u0.current!==r2&&(u0.current=r2,l0.current=!1);let K3=!1;return A1.get(r?{siteId:r}:void 0).then(z0=>{if(K3||l0.current)return;oH(z0.default_mode),rH(z0.show_theme_switch),v(z0.default_mode),f(z0.show_theme_switch),x({selected:z0.selected_preset,themes:z0.theme_presets});let m6=JA(z0);z(m6.fonts),A(m6.sizes),E(z0.corner_radius_px===void 0?qn[Un(z0.corner_style)]:$n(z0.corner_radius_px)),N(m6.compression),P(z0.card_shadow==null?wC:zC(z0.card_shadow)),Z(z0.card_gap==null?Ou:kC(z0.card_gap)),K(z0.hover_effect==null?yC:SC(z0.hover_effect)),U(CC(z0.shadow_color)),B(OC(z0.site_width)),V(BC(z0.site_gutter)),j(qM(z0.block_gap)),G1(m6.typography),t5(m6.textStyles),a5(JS(z0)),W1(z0.hero_background_follows_width===!0),j1(z0.photography_grayscale===!0),e2(z0.share_button_on_posts===!0)}).catch(()=>{}),()=>{K3=!0}},[o,r,t.hasSiteTheme,Q]);let c4=$E({token:o,siteId:r,enabled:t.hasSiteSettings}),[F3,s5]=h2(VA),o5=S8(null),B2=S8(!1),r5=S8(null),g3=S8({}),N5=E2(A1=>{B2.current=!0,s5(r2=>({...r2,...A1})),!(!t.hasSiteSettings||!o)&&(g3.current={...g3.current,...A1},r5.current&&clearTimeout(r5.current),r5.current=setTimeout(()=>{let r2=g3.current;g3.current={},I5(Q).chat?.update(r2,r?{siteId:r}:void 0).catch(()=>{})},500))},[t.hasSiteSettings,o,r,Q]);k8(()=>{if(!o||!t.hasSiteSettings)return;let A1=r??"";o5.current!==A1&&(o5.current=A1,B2.current=!1);let r2=!1,K3=I5(Q).chat;if(K3)return K3.get(r?{siteId:r}:void 0).then(z0=>{r2||B2.current||s5(_A(z0))}).catch(()=>{}),()=>{r2=!0}},[o,r,t.hasSiteSettings,Q]);let[M1,p1]=h2(""),t2=S8(null),g2=S8(!1);k8(()=>p1(DT()),[]);let i5=E2(A1=>{let r2=A1.trim();if(r2===M1)return;g2.current=!0,Cg(r2),p1(r2);let K3=e.updateSite;!t.canEditSiteRecord||!s||!K3||K3({mapsApiKey:r2}).catch(()=>{})},[M1,t.canEditSiteRecord,s,e]),[h7,no]=h2("");k8(()=>no(BT()),[]),k8(()=>{let A1=e.site;if(!s||!t.hasSiteRecord||!A1){h(null);return}let r2=r??"";t2.current!==r2&&(t2.current=r2,g2.current=!1);let K3=!1;return A1().then(z0=>{if(K3||(h(RA(z0.name)),g2.current))return;let m6=z0.mapsApiKey??"";Cg(m6),p1(m6);let Sn=z0.mapsMapId??"";ZT(Sn),no(Sn)}).catch(()=>{}),()=>{K3=!0}},[s,o,t.hasSiteRecord,r,e]);let lo=qg(()=>({apiKey:M1,setApiKey:i5,mapId:h7}),[M1,i5,h7]);return g4(GE,{config:i1,parts:cT,wrap:(A1,r2)=>g4(nl,{websiteName:c,templateChrome:l,templateName:p||null,themeMode:u,onThemeModeChange:v0,themeSwitchShown:g,onThemeSwitchShownChange:f1,theme:b,onThemeChange:K1,fonts:w,onFontsChange:s0,cornerRadiusPx:I,onCornerRadiusPxChange:U0,cardShadow:H,onCardShadowChange:c0,shadowColor:_,onShadowColorChange:m0,cardGap:D,onCardGapChange:l1,hoverEffect:O,onHoverEffectChange:Y1,headingCompression:F,onHeadingCompressionChange:q0,headingTypography:s1,onHeadingTypographyChange:b0,textStyles:X2,onTextStylesChange:p6,wordStyles:E3,sizes:k,onSizesChange:f0,siteWidth:X,onSiteWidthChange:H3,siteGutter:r1,onSiteGutterChange:t8,blockGap:q,onBlockGapChange:c7,heroBackgroundFollowsWidth:n0,onHeroBackgroundFollowsWidthChange:J2,photographyGrayscale:$1,onPhotographyGrayscaleChange:P3,shareButtonOnPosts:R1,onShareButtonOnPostsChange:j3,themeFromDocument:!t.hasSiteTheme,children:g4(WE,{children:g4(Rc,{wrap:Q.chrome?.wrap,surface:"page",children:g4(Bl,{children:g4(Zl,{children:g4(LQ,{children:g4(Gl,{children:g4(ol,{children:AQ(xc,{value:lo,children:[g4(OA,{chat:F3,onChatChange:N5,children:g4(GA,{value:c4,children:g4(WA,{children:A1})})}),r2]})})})})})})})})})})}function iH({target:e}){return g4(ZE,{target:e,addressing:YE,onHostMessage:Dc,children:g4(PQ,{})})}import{createContext as NQ,useContext as IQ,useMemo as RQ}from"react";var FQ=["vehicle","process","size","lugs","finish","price"],Zc={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};function nH(e){if(!e)return Zc;let t={...Zc};for(let a of FQ){let s=e[a];if(typeof s!="string")continue;let o=s.trim();o&&(t[a]=o)}return t}import{jsx as VQ}from"react/jsx-runtime";var lH=NQ(Zc);function cH({labels:e,children:t}){let a=RQ(()=>nH(e),[e]);return VQ(lH.Provider,{value:a,children:t})}function No(){return IQ(lH)}import{createContext as c11,useContext as h11,useMemo as p11}from"react";import{isSafeLinkHref as Uz1}from"efficient-shell/markup";var b7=["width","profile","rim"],hH={width:"Width",profile:"Profile",rim:"Rim"},_Q=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,OQ={width:[100,500],profile:[20,100],rim:[10,30]};function B4(e){let t=_Q.exec(e??"");if(!t)return null;let a={width:Number(t[1]),profile:Number(t[2]),rim:Number(t[3])};return b7.every(o=>{let[r,i]=OQ[o];return a[o]>=r&&a[o]<=i})?a:null}function Z5(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 pH(e){return[Z5({width:e.width}),Z5({width:e.width,profile:e.profile}),Z5(e)]}var v4=["alloy-wheel","tyre"],Gc=["alloy-wheel"],Z4={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},mH="All products",dH="All product types";function k6(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 ta=v4.map(e=>({value:e,label:Z4[e]}));function S6(e){return e==null?[...Gc]:Array.isArray(e)?v4.filter(t=>e.includes(t)):[...Gc]}var e4=e=>e;function j0(e){return e4(e).kind==="tyre"?"tyre":"alloy-wheel"}function uH(e,t){return e.filter(a=>t.includes(j0(a)))}function C8(e){return e4(e).slug??""}function $g(e){return e4(e).name??""}function aa(e){return e4(e).brand??""}function gH(e){let t=new Set;for(let a of e)if(t.add(aa(a)),t.size>1)return!0;return!1}function DQ(e){return e4(e).process??""}function vH(e){let t=new Set;for(let a of e)if(t.add(DQ(a)),t.size>1)return!0;return!1}function q9(e){return e4(e).prices??void 0}function jg(e){return e4(e).inStock!==!1}function fH(e){let t=e4(e),a=j0(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(a)?a.filter(s=>typeof s=="number"&&Number.isFinite(s)):[]}function Kg(e){return j0(e)!=="tyre"&&e4(e).badge==="new"}function Yg(e){return j0(e)==="tyre"?[]:(e4(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function bH(e){return Yg(e).map(t=>t.family)}function xH(e){if(j0(e)==="tyre")return[];let t=e4(e),a=t.categories;return a&&a.length>0?a:t.process?[t.process]:[]}function wH(e){return j0(e)==="tyre"?[]:e4(e).spec?.pcds??[]}function yH(e){return j0(e)!=="tyre"?[]:e4(e).tyreTypes??[]}function zH(e){return j0(e)!=="tyre"?[]:e4(e).speedRatings??[]}function sa(e){if(j0(e)!=="tyre")return[];let t=e4(e).sizes;return Array.isArray(t)?t.map(a=>B4(typeof a=="string"?a:null)).filter(a=>a!==null):[]}function G5(e,t){return e.length===0?e:e.filter(a=>a.kind===void 0||a.kind===t)}function Wc(e,t){if(t.length===0)return e;let a=oa(t);return M8(e.filter(s=>a(s.fieldKey)),s=>s.fieldKey,t,"cardOrder")}function kH(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 Xg(e){return qc(e,"spec")}function SH(e){return qc(e,"fitment")}function Jg(e,t){if(t.length===0)return e;let a=Xg(t),s=e.filter(o=>a(o.fieldKey));return M8(s,o=>o.fieldKey,t,"specOrder")}function M8(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 oa(e){return qc(e,"card")}function Uc(e){return qc(e,"filter")}var ra="collection";function ia(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":ra},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function qc(e,t){let a=new Set(e.filter(s=>s[t]===!1).map(s=>s.fieldKey));return s=>!s||!a.has(s)}var na={inStock:"In stock",outOfStock:"Out of stock",notInStockHere:"Not in stock here"};function CH(e){return e?na.inStock:na.outOfStock}function s3(e){return Number.isInteger(e)?String(e):String(Number(e.toFixed(2)))}var MH=" to ";function Qg(e){return e<0?`\u2212${s3(-e)}`:s3(e)}function $c(e,t){return e===t?`ET ${Qg(e)}`:`ET ${Qg(e)}${MH}${Qg(t)}`}function jc(e,t){return e===t?`${s3(e)}"`:`${s3(e)}"${MH}${s3(t)}"`}function ev(e){return e==="\u2014"?e:`${e}"`}var Io={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},AH=Object.keys(Io);function la(e){return Q2(AH,"recommended",e)}function tv(e){return AH.filter(t=>t!=="recommended"||e.length<=1)}function LH(e,t){let a=la(e);return tv(t).includes(a)?a:"name"}var Ro=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],ZQ={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},GQ={diameters:"tyreSizes"};function TH(e){if(e.length===0)return[];let t=Ro.filter(a=>e.every(s=>ZQ[a].includes(s)));return t.filter(a=>{let s=GQ[a];return!s||!t.includes(s)})}function EH(e,t){return t&&e.includes(t)?[t]:[...e]}function HH(e){let t=new Set;for(let a of e)t.add(j0(a));return[...t]}var C6={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function ca(e){return`${WQ(e.width)}\xD7${e.diameter}`}function WQ(e){return s3(e)}function Vo(e,t,a,s=null){if(s!=="kind"&&t.kind&&j0(e)!==t.kind)return!1;for(let o of Ro){if(s===o)continue;let r=t[o];if(r.length===0)continue;let i=r.map(String);if(!NH(e,o).some(n=>i.includes(n)))return!1}return!(s!=="price"&&!hc(q9(e),a,null,t.priceMax)||s!=="inStock"&&t.inStockOnly&&!jg(e))}function PH(e,t,a){return e.filter(s=>jg(s)&&Vo(s,t,a,"inStock")).length}function UQ(e,t,a){let s=[...e],o=(i,n)=>$g(i).localeCompare($g(n)),r=HH(e).length>1;switch(t){case"price-asc":return s.sort((i,n)=>qt(q9(i),q9(n),a,"asc"));case"price-desc":return s.sort((i,n)=>qt(q9(i),q9(n),a,"desc"));case"name":return s.sort(o);case"new":return s.sort((i,n)=>{let l=(Kg(n)?1:0)-(Kg(i)?1:0);return l!==0||!r?l:o(i,n)});default:return s}}function FH(e,t,a){return UQ(e.filter(s=>Vo(s,t,a)),t.sort,a)}function Kc(e){return Ro.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}var av={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function NH(e,t){switch(t){case"tyreSizes":return[...new Set(sa(e).flatMap(pH))];case"brands":return aa(e)?[aa(e)]:[];case"finishes":return bH(e);case"diameters":return fH(e).map(String);case"collections":return xH(e);case"pcds":return wH(e);case"tyreTypes":return yH(e);case"speedRatings":return zH(e)}}function qQ(e){let t=new Map;for(let a of e)for(let s of Yg(a))s.color&&!t.has(s.family)&&t.set(s.family,s.color);return t}function Yc(e,t,a,s=HH(e),o=[]){let r=c=>$Q(c,s,o),i=qQ(e),n=TH(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=NH(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(Vo(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:av[c],options:v}}).filter(c=>c.options.length>_o),l=[];for(let c of n){let h=jQ(c.key,s,o);h!==void 0&&l.push({fieldKey:c.key,filterOrder:h})}return[...M8(n,c=>c.key,l,"filterOrder")]}var _o=1;function Xc(e){return e.showCollection===!1?["collections"]:[]}function $Q(e,t,a){return t.length===0||a.length===0?!0:t.some(s=>Uc(G5(a,s))(ia(e,s)))}function jQ(e,t,a){if(a.length===0)return;let s;for(let o of t){let r=kH(G5(a,o),"filter")(ia(e,o));r!==void 0&&(s===void 0||r<s)&&(s=r)}return s}function KQ(e){let t=new Set;for(let a of e)for(let s of sa(a))t.add(Z5(s));return t.size}function IH(e,t){return TH(t).includes("tyreSizes")?KQ(e)>_o:!1}function RH(e){let t=B4(e);if(t)return t;let[a,s]=e.split("/");return{width:a?Number(a):void 0,profile:s?Number(s):void 0}}function YQ(e,t,a){return b7.slice(0,b7.indexOf(a)).every(s=>{let o=t[s];return o==null||e[s]===o})}function VH(e,t,a){let s=RH(t.tyreSizes[0]??""),o=new Set(e.filter(r=>Vo(r,t,a,"tyreSizes")));return b7.map(r=>{let i=new Map;for(let l of e){let c=sa(l).filter(h=>YQ(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:hH[r],value:s[r]??null,options:n}})}function _H(e,t,a,s){let o={...RH(t)},r=b7.indexOf(a);o[a]=s??void 0;for(let i of b7.slice(r+1))o[i]!=null&&e.some(c=>b7.slice(0,b7.indexOf(i)+1).every(h=>o[h]==null||c[h]===o[h]))||(o[i]=void 0);return Z5(o)}function OH(e,t,a,s){if(t.length<2)return[];let o=e.filter(r=>Vo(r,a,s,"kind"));return[{kind:null,label:mH,count:o.length,checked:a.kind===null},...t.map(r=>({kind:r,label:Z4[r],count:o.filter(i=>j0(i)===r).length,checked:a.kind===r}))]}function DH(e,t){if(e.length===0)return null;let a=e.map(r=>Ut(q9(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 BH(e,t,a){let s=[];e.kind&&s.push({key:"kind",value:e.kind,label:Z4[e.kind]}),e.inStockOnly&&s.push({key:"inStock",value:"",label:na.inStock});for(let o of Ro)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 m5={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},A8="type",ZH="maxPrice",GH="inStock",WH="sort",UH="page";function qH(e){let t=r=>e.getAll(r).flatMap(i=>i.split(",")).filter(Boolean),a=Number(e.get(ZH)),s=Number(e.get(UH)),o=e.get(A8);return{tyreSizes:t(m5.tyreSizes),brands:t(m5.brands),finishes:t(m5.finishes),diameters:t(m5.diameters).map(Number).filter(Number.isFinite),collections:t(m5.collections),pcds:t(m5.pcds),tyreTypes:t(m5.tyreTypes),speedRatings:t(m5.speedRatings),priceMax:Number.isFinite(a)&&a>0?a:null,inStockOnly:e.get(GH)==="1",kind:v4.find(r=>r===o)??null,sort:la(e.get(WH)),page:Number.isFinite(s)&&s>=1?Math.floor(s):1}}function $9(e){let t=new URLSearchParams;for(let a of Ro){let s=e[a];s.length>0&&t.set(m5[a],s.join(","))}return e.priceMax!=null&&t.set(ZH,String(e.priceMax)),e.inStockOnly&&t.set(GH,"1"),e.kind&&t.set(A8,e.kind),e.sort!=="recommended"&&t.set(WH,e.sort),e.page>1&&t.set(UH,String(e.page)),t}function $H(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 jH(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 M6="__all__",KH="All products";function YH(e){return e?.slug===M6}var ha="AlloyWheelsListing",XQ="ProductGrid",XH="catalog",JQ="CatalogFilterBar",Jc="fieldUsage";function pa(e){return e?.type===XQ&&YH(e.props?.source)}function sv(e){return e?.type===JQ}function QQ(e){return e?.type===ha||pa(e)||sv(e)}function e11(e){let t=e.content??[],a=e.zones??{};return[...t,...Object.values(a).flat()]}function ov(e){return e?e11(e).some(t=>t?.type===ha||pa(t)):!1}function JH(e,t){return a11(e,a=>pa(a)?{...a,props:{...rv(a).props,[XH]:t11(t,S6(a.props?.kinds))}}:{...a,props:{...iv(a).props,products:t}})}function QH(e){return aP(e,QQ,t=>sv(t)?eP(t):pa(t)?rv(t):iv(t))}function eP(e){if(!e.props||!(Jc in e.props))return e;let{[Jc]:t,...a}=e.props;return{...e,props:a}}function rv(e){let{[XH]:t,[Jc]:a,...s}=e.props??{};return{...e,props:s}}function t11(e,t){let a=new Set(t);return e.filter(s=>{let o=s.kind??"alloy-wheel";return a.has(o)})}function tP(e){return pa(e)?rv(e):sv(e)?eP(e):e?.type===ha?iv(e):e}function iv(e){let{wheels:t,products:a,[Jc]:s,...o}=e.props??{};return{...e,props:o}}function a11(e,t){return aP(e,a=>a?.type===ha||pa(a),t)}function aP(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 Oo="/wheels",nv="Products";function s11(e,t){return t>1?`${nv} \xB7 ${e}`:nv}function sP(...e){for(let t of e){let a=(t?.content??[]).find(s=>s?.type===ha);if(a)return a.props??{}}return null}function lv(...e){return sP(...e)!==null}function o11(e,t){let a=e.filter(s=>lv(...s.docs)).map(s=>E9(s.slug));return a.length===0&&t.fallback?[Oo]:a}var oP=[A8,...Object.entries(m5).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function rP(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 r11(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function cv(e){let t=new URLSearchParams(rP(e).query);for(let a of oP){let s=t.get(a);if(s)return{param:a,value:s}}return null}function hv(e,t){let{path:a,query:s,hash:o}=rP(e),r=s.split("&").filter(i=>i&&!oP.includes(r11(i.split("=")[0])));return t?.value&&r.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${a}${r.length?`?${r.join("&")}`:""}${o}`}function iP(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 i11="Product type",n11="AUD";function l11(e,t){let a=t.listing??{},s=S6(a.kinds),o=e.filter(l=>s.includes(j0(l))),r=Xc(a),i=Yc(o,C6,n11,s,t.fieldUsage).filter(l=>!r.includes(l.key)).map(l=>({param:m5[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=v4.filter(l=>s.includes(l)&&o.some(c=>j0(c)===l));return n.length>1&&i.unshift({param:A8,label:i11,values:n.map(l=>({value:l,label:Z4[l]}))}),i}function nP(e){return t=>{let a=o11(t,{fallback:e.offersCommerce}),s=t.filter(o=>lv(...o.docs)).length;return{listingPaths:a,pageOptions:o=>{let r=o.map(i=>{let n=t.find(l=>E9(l.slug)===i.value);return n&&lv(...n.docs)?{...i,label:s11(n.title,s)}:i});return s===0&&e.offersCommerce&&!r.some(i=>i.value===Oo)&&r.push({value:Oo,label:nv}),r},filtersFor:o=>{if(!a.includes(o))return null;let r=t.find(i=>E9(i.slug)===o);return l11(e.catalogue,{listing:r?sP(...r.docs):null,fieldUsage:e.fieldUsage})},readFilter:cv,withFilter:hv}}}function lP(e,t=[]){let a=hv(Oo,{param:A8,value:e}),s=t.find(o=>{let r=(o?.url??"").trim();if(!r||r==="#")return!1;let i=cv(r);return i?.param!==A8||i.value!==e?!1:Zu(r).startsWith("/")});return s?s.url:a}function cP(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 m11}from"react/jsx-runtime";var hP=c11([]);function pP({items:e,children:t}){let a=p11(()=>cP(e),[e]);return m11(hP.Provider,{value:a,children:t})}function mP(){return h11(hP)}import{createContext as g11,useCallback as v11,useContext as f11}from"react";var dP={tyre:"tire",tyres:"tires",colour:"color",colours:"colors",centre:"center",centres:"centers",catalogue:"catalog",catalogues:"catalogs",enquire:"inquire",enquiry:"inquiry",enquiries:"inquiries",aluminium:"aluminum"},d11=new RegExp(`\\b(${Object.keys(dP).sort((e,t)=>t.length-e.length).join("|")})\\b`,"gi");function uP(e){return e==="us"?"us":"international"}function u11(e,t){return e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t[0].toUpperCase()+t.slice(1):t}function gP(e,t){return t!=="us"?e:e.replace(d11,a=>u11(a,dP[a.toLowerCase()]))}import{jsx as b11}from"react/jsx-runtime";var vP=g11("international");function fP({variant:e,children:t}){return b11(vP.Provider,{value:e,children:t})}function ma(){let e=f11(vP);return v11(t=>gP(t,e),[e])}import{createContext as x11,useCallback as pv,useContext as w11,useEffect as y11,useMemo as z11,useState as k11}from"react";import{jsx as C11}from"react/jsx-runtime";var S11={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},bP=x11(S11);function xP({children:e,shortcut:t=!0}){let[a,s]=k11(!1),o=pv(()=>s(!0),[]),r=pv(()=>s(!1),[]),i=pv(()=>s(l=>!l),[]);y11(()=>{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=z11(()=>({isOpen:a,open:o,close:r,toggle:i}),[a,o,r,i]);return C11(bP.Provider,{value:n,children:e})}function da(){return w11(bP)}function ua(){return"/edit"}import{createContext as T11,useCallback as Qc,useContext as E11,useEffect as H11,useMemo as P11,useRef as F11,useState as uv}from"react";var wP="/edit";function yP(e){return e===wP||e.startsWith(`${wP}/`)}function zP({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 f4={popup:"shop_popup",subscribeSection:"subscribe_section",subscribeBlogsSection:"subscribe_blogs_section",footerSignup:"footer_signup",stockAlertOptIn:"stock_alert_optin"};var SP="storefront-subscribe-seen",CP="storefront-popup-closed-at",M11=1440*60*1e3,A11=["/checkout","/cart"];function kP(e){let t=e.split(/[?#]/)[0]||"/",a=t.startsWith("/")?t:`/${t}`;return a.length>1?a.replace(/\/+$/,"")||"/":a}function mv(e,t,a){let s=kP(e);return A11.some(o=>s===o||s.startsWith(`${o}/`))?!1:t==="all"?!0:a.some(o=>kP(o)===s)}function L11(e,t,a,s){if(e==="never")return!1;if(a.session.getItem(SP)==="1")return!0;if(e==="visit")return!1;let o=Number(a.local.getItem(CP));return!Number.isFinite(o)||o<=0?!1:s-o<t*M11}function dv(e,t){e.session.setItem(SP,"1"),e.local.setItem(CP,String(t))}function MP(e,t){return e==="exit"&&!t?"delay":e}function AP(e,t,a){let s=a-t;return s<=0?100:Math.min(100,Math.max(0,e/s*100))}function LP(e,t,a){return!e.autoOpen||e.inEditor||!mv(e.path,e.showOn,e.showOnPages)||e.hideAfter!=="never"&&!eT(t.session)?!1:!L11(e.hideAfter,e.hideDays,t,a)}import{jsx as V11}from"react/jsx-runtime";var TP=T11(null),gv={session:tT,local:y3};function N11(){try{return window.matchMedia("(hover: hover) and (pointer: fine)").matches}catch{return!1}}var I11=15,R11=[];function EP({children:e,disableAutoTrigger:t,autoOpen:a=!1,autoOpenDelaySec:s=I11,trigger:o="delay",scrollPercent:r=50,showOn:i="all",showOnPages:n=R11,hideAfter:l="visit",hideDays:c=7}){let[h,p]=uv(!1),[d,u]=uv("chosen"),[v,g]=uv({}),f=ua()??"/",b=yP(f),x=mv(f,i,n),w=F11(!1),z=Qc(F=>{g(F??{}),u("newsletter"),p(!0)},[]),k=Qc(()=>{w.current=!0,g({}),u("chosen"),p(!0)},[]),A=Qc(()=>dv(gv,Date.now()),[]),I=Qc(()=>{p(!1),dv(gv,Date.now())},[]);H11(()=>{if(t||w.current||!LP({autoOpen:a,inEditor:b,path:f,showOn:i,showOnPages:n,hideAfter:l,hideDays:c},gv,Date.now()))return;let N=MP(o,N11());if(N==="scroll"){let P=()=>{AP(window.scrollY,window.innerHeight,document.documentElement.scrollHeight)>=r&&(window.removeEventListener("scroll",P),k())};return window.addEventListener("scroll",P,{passive:!0}),()=>window.removeEventListener("scroll",P)}if(N==="exit"){let P=_=>{_.relatedTarget===null&&_.clientY<=0&&(document.removeEventListener("mouseout",P),k())};return document.addEventListener("mouseout",P),()=>document.removeEventListener("mouseout",P)}let H=window.setTimeout(k,Math.max(0,s)*1e3);return()=>window.clearTimeout(H)},[t,a,b,x,o,s,r,l,c,k]);let E=P11(()=>({isOpen:h,mode:d,open:z,close:I,markSent:A,prefillEmail:v.email??"",signupSource:v.source??f4.popup}),[h,d,z,I,A,v]);return V11(TP.Provider,{value:E,children:e})}function vv(){let e=E11(TP);if(!e)throw new Error("useSubscribePopup() must be called inside <SubscribePopupProvider>. Mount the provider in app/layout.tsx.");return e}import{createContext as _11,useContext as O11,useEffect as D11,useState as HP}from"react";import{jsx as Z11}from"react/jsx-runtime";var PP="storefront-wishlist";function B11(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var FP=_11(null);function NP({children:e}){let[t,a]=HP([]),[s,o]=HP(!1);D11(()=>{let n=y3.getItem(PP);try{n&&a(B11(n))}catch{}o(!0)},[]);function r(n){let l=t.includes(n)?t.filter(c=>c!==n):[...t,n];a(l),y3.setItem(PP,JSON.stringify(l))}let i={slugs:t,ready:s,has:n=>t.includes(n),toggle:r,count:t.length};return Z11(FP.Provider,{value:i,children:e})}function IP(){let e=O11(FP);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}import{jsx as L8}from"react/jsx-runtime";function fv({catalogFilterLabels:e,englishVariant:t,menuItems:a,currency:s,subscribe:o,searchShortcut:r=!0,children:i}){return L8(fP,{variant:uP(t),children:L8(cH,{labels:e,children:L8(pP,{items:a,children:L8(x8,{...s,children:L8(EP,{...o,children:L8(NP,{children:L8(Yt,{children:L8(xP,{shortcut:r,children:i})})})})})})})})}import{jsx as d5}from"react/jsx-runtime";import{useCallback as BP,useEffect as th,useMemo as Do,useRef as U11,useState as Bo}from"react";import{lazy as G11,Suspense as W11}from"react";import{jsx as RP}from"react/jsx-runtime";function ga(e,t={}){let a=G11(async()=>{let r=await e();return{default:"default"in r?r.default:r}}),s=t.loading?t.loading():null;function o(r){return RP(W11,{fallback:s,children:RP(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{PreviewPartsProvider as q11}from"efficient-easel/draw/client";import{sectionTemplates as eh}from"efficient-easel/screen/lib/section-templates";import{newNodeId as $11}from"efficient-easel/draw";import{applyAuthGrant as $k1,NO_BRIDGED_CAPABILITIES as VP,useAdminBridge as _P}from"efficient-easel/screen/lib/admin-bridge";async function OP(e,t,a){let s=!1;try{s=await e()}catch{}return s?(t(),"switched"):(a(),"refused")}import{routeSharedHostMessage as DP}from"efficient-easel/screen/lib/host-inbound";import{documentPermissions as j11}from"efficient-easel/edit-lock";import{useAutosave as K11}from"efficient-easel/autosave";var Y11=ga(()=>import("./chunks/SiteEditorProvider-3GN6QL3B.js"),{ssr:!1}),X11=ga(()=>import("./chunks/SectionEditorShell-4AEPZWJA.js"),{ssr:!1}),GP="HeroSingle",ZP="Untitled section";function J11(e,t){let a=t.components,s=a[e]?e:GP,o=a[s]?.defaultProps??{},r=PS(s,n=>a[n]?.defaultProps??{}),i=s===GL?{blocks:WL()}:null;return{type:s,props:{id:$11(s),...o,...r?{[r.slot]:r.children}:null,...i}}}function Q11(){if(typeof window>"u")return f6;try{let e=window.localStorage.getItem(uo);return e==="light"||e==="dark"||e==="auto"?e:f6}catch{return f6}}function WP({id:e,initialType:t,initialName:a=ZP}){let[s,o]=Bo(e),r=U11(s);th(()=>{r.current=s},[s]);let i=x3(),[n,l]=Bo(t),[c,h]=Bo(a),[p,d]=Bo(void 0),[u,v]=Bo(f6),{token:g,tokenRef:f}=_P({onMessage:D=>{if(Dc(D)||DP(D))return;let Z=D;if(Z?.type==="storefront-editor:navigate"&&Z.target?.kind==="section"&&Z.target.id){let O=Z.target.id;if(O===r.current)return;let K=Z.target.type,X=Z.target.name;OP(z,()=>{l(K),h(X||ZP),o(O),i.address.show({kind:"section",id:O})},()=>i.send("storefront-editor:save-failed"))}}}),b=K11({save:D=>eh.update(D.id,D.node).then(()=>{}),onFailure:(D,Z)=>{Z===0&&i.send("storefront-editor:save-failed")}}),{state:x,push:w,flush:z}=b;th(()=>v(Q11()),[]);let k=dt(),A=k.usesBridgedToken?!!g:!0,I=Do(()=>Ic(Hn(k),Fn(k)),[k]);th(()=>{if(!A)return;let D=!1;return d(void 0),eh.ensure(s,c,J11(n??GP,I)).then(Z=>!D&&d(Z.node)).catch(()=>!D&&d(null)),()=>{D=!0}},[s,n,c,A,I]);let E=BP(D=>{i.send("storefront-editor:dirty");let Z=fg(D);Z&&w({id:r.current,node:Z})},[w,i]),F=i.send,N=BP(async D=>{try{return await D(f.current??""),!0}catch{return F("storefront-editor:save-failed"),!1}},[F]),H=Do(()=>Vc(I,!0),[I]);th(()=>(sg(null),()=>sg(null)),[]);let P=Do(()=>p?_c(ZL(p)):null,[p]),_=Do(()=>({target:{kind:"page",slug:""},adapter:Fo(void 0),capabilities:Fo(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:A,token:g,tokenRef:f,notifyParent:F,runAuthed:N,docId:s,data:P,getLiveData:()=>P,footerOriginSlug:null,error:null,redirecting:!1,saveStatus:KL(x),saveState:x,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:x.pending,toggleAutoSave:()=>{},retrySave:()=>{b.retryNow()},onChange:E,flushSave:z,onPublish:async D=>{let Z=fg(D);Z&&await eh.update(r.current,Z)},bridgeCapabilities:VP,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[s,A,g,F,N,P,x,E,z,b.retryNow]),U=Do(()=>j11(!_.readOnly),[_.readOnly]);return p===void 0?d5("div",{className:"sf-msg",children:m("Loading\u2026")}):p===null||!P?d5("div",{className:"sf-msg sf-msg--error",children:m("Couldn\u2019t open this section.")}):d5(pt.Provider,{value:_,children:d5(nl,{themeMode:u,chromePlaceholder:!0,children:d5(Rc,{wrap:k.chrome?.wrap,surface:"section",children:d5(Bl,{children:d5(Zl,{children:d5(q11,{children:d5(Gl,{children:d5(ol,{children:d5(Y11,{config:H,data:P,onChange:E,permissions:U,children:d5(X11,{})},s)})})})})})})})})}import{cancelPanelPick as jS1,hasMediaPanel as KS1,MediaPanelProvider as UP,requestPanelPick as YS1,settlePanelPick as XS1,useMediaPanel as JS1,usePanelPick as QS1}from"efficient-easel/screen/lib/media-panel";import{useEffect as u01,useState as g01}from"react";import{createContext as e01,useCallback as qP,useContext as t01,useEffect as a01,useId as s01,useMemo as o01,useRef as r01,useState as i01}from"react";import{jsx as n01}from"react/jsx-runtime";var $P=e01(null);function jP({reason:e,children:t}){let[a,s]=i01([]),o=r01(null),r=qP(c=>{s(h=>h.includes(c)?h:[...h,c])},[]),i=qP(c=>{s(h=>h.filter(p=>p!==c))},[]),n=e==="none-configured",l=o01(()=>({noCurrencyConfigured:n,live:a,firstRendered:o,join:r,leave:i}),[n,a,r,i]);return n01($P.Provider,{value:l,children:t})}function KP(e){let t=t01($P),a=s01(),s=!!e&&!!t?.noCurrencyConfigured;s&&t&&t.firstRendered.current===null&&(t.firstRendered.current=a);let o=t?.join,r=t?.leave;return a01(()=>{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 Go={currencies:[],defaultCurrency:null},l01={currencies:[],defaultCurrency:null,reason:"none-configured"},Zo=new Map;function YP(e,t,a=!1){a&&Zo.delete(t);let s=Zo.get(t);return s||(s=c01(e,t),Zo.set(t,s),s.catch(()=>{Zo.get(t)===s&&Zo.delete(t)})),s}async function c01(e,t){try{let a=await tc(e,t);if(!a)return Go;let s=await w0.getSiteBySlug(a);return s.status!=="online"?await h01(e,t):{currencies:s.currencies??[],defaultCurrency:s.defaultCurrency??null}}catch(a){return console.warn("[editor-currency-source] load failed; editor stays unpriced",a),Go}}async function h01(e,t){let a=await E1.listSiteCurrencies(t,e);if(!a.length)return l01;let s=[...a].sort((o,r)=>o.display_order-r.display_order).map(o=>({code:o.currency_code,symbol:o.symbol||d01(o.currency_code),decimalPlaces:typeof o.decimal_places=="number"?o.decimal_places:m01(o.currency_code),isDefault:o.is_default}));return{currencies:s,defaultCurrency:s.find(o=>o.isDefault)?.code??s[0].code}}var p01=0;function XP(e){try{return new Intl.NumberFormat(yT,{style:"currency",currency:e})}catch{return null}}function m01(e){return XP(e)?.resolvedOptions().maximumFractionDigits??p01}function d01(e){return XP(e)?.formatToParts(0).find(s=>s.type==="currency")?.value||e}import{jsx as JP}from"react/jsx-runtime";function bv({token:e,siteId:t,enabled:a,children:s}){let[o,r]=g01(Go);return u01(()=>{if(!e||!a||!t){r(Go);return}let i=!1;return YP(e,t).then(n=>{i||r(n)}).catch(()=>{}),()=>{i=!0}},[e,a,t]),JP(x8,{currencies:o.currencies,defaultCurrency:o.defaultCurrency,children:JP(jP,{reason:o.reason,children:s})})}var j9=new Map,xv=e=>e??"";function K9(e,t,a=!1){let s=xv(t);a&&j9.delete(s);let o=j9.get(s);return o||(o=E1.getHeaderSettings(e,t??void 0),j9.set(s,o),o.catch(()=>{j9.get(s)===o&&j9.delete(s)})),o}function QP(e,t){j9.set(xv(t),Promise.resolve(e))}function eF(e){j9.delete(xv(e))}function Wo(e){return{logoUrl:u6(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,countrySelectorShowAs:e.country_selector_show_as,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 tF,useRef as wv}from"react";function ah({token:e,enabled:t=!0,deps:a=[],prime:s,onDisabled:o,refresh:r}){let i=wv(s);i.current=s;let n=wv(o);n.current=o;let l=wv(r);l.current=r,tF(()=>{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]),tF(()=>{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 yv({token:e,siteId:t}){let{primeSettings:a,setSettings:s}=N3();return ah({token:e,deps:[t],prime:{load:()=>K9(e,t),publish:o=>a(Wo(o))},refresh:{subscribe:z8,load:()=>K9(e,t,!0),publish:o=>s(Wo(o))}}),null}import{createContext as v01,useCallback as nF,useContext as f01,useMemo as b01,useState as x01}from"react";var Uo=new Map,aF=e=>e??"";function zv(e,t,a){a&&Uo.clear();let s=aF(t),o=Uo.get(s);if(!o){let r=E1.listMenus(e,t);Uo.set(s,r),r.catch(()=>{Uo.get(s)===r&&Uo.delete(s)}),o=r}return o}var sh=new Map;function sF(e,t){let a=aF(t),s=sh.get(a);if(!s){let o=zv(e,t,!0);sh.set(a,o);let r=()=>{sh.get(a)===o&&sh.delete(a)};o.then(r,r),s=o}return s}function qo(e,t=!1){return zv(e,x2(),t)}function oh(e){return sF(e,x2())}function oF(e,t=!1){return zv(e,null,t)}function rF(e){return sF(e,null)}var kv={ids:new Set,handles:new Set};function Sv(e){return{ids:new Set(e.map(t=>t.id).filter(Boolean)),handles:new Set(e.map(t=>t.handle).filter(Boolean))}}function iF({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 rh(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 w01}from"react/jsx-runtime";var lF=v01({live:kv,ready:!1,primeLive:()=>{},setLive:()=>{}});function Cv({children:e}){let[t,a]=x01({live:kv,ready:!1}),s=nF(i=>a(n=>n.ready?n:{live:i,ready:!0}),[]),o=nF(i=>a({live:i,ready:!0}),[]),r=b01(()=>({...t,primeLive:s,setLive:o}),[t,s,o]);return w01(lF.Provider,{value:r,children:e})}var ih=()=>f01(lF);function nh({token:e}){let{primeLive:t,setLive:a}=ih();return ah({token:e,prime:{load:()=>qo(e),publish:s=>t(Sv(s))},refresh:{subscribe:z8,load:()=>oh(e),publish:s=>a(Sv(s))}}),null}import{jsx as Mv,jsxs as Av}from"react/jsx-runtime";function Lv({surface:e,children:t}){let{token:a,siteId:s,capabilities:o}=mt();if(e==="section")return Av(Cv,{children:[a?Mv(nh,{token:a}):null,t]});let r=a??"";return Av(bv,{token:r,siteId:s,enabled:o.hasSiteSettings,children:[o.hasSiteSettings&&Mv(yv,{token:r,siteId:s}),Av(Cv,{children:[o.hasSiteSettings&&Mv(nh,{token:r}),t]})]})}import{useCallback as L6,useEffect as Jo,useRef as Nv,useState as T8}from"react";var cF="Menu Item",hF=6,Tv=4,pF="Menu",mF="Link a menu in the inspector \u2192";function dF(){return m("This column isn't linked to a menu, so the preview shows placeholder links. Pick a menu above.")}function uF(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 gF(){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 y01}from"react";import{jsx as z01}from"react/jsx-runtime";function b4(e,t){return e.split(/\{([A-Za-z][A-Za-z0-9_]*)\}/g).map((a,s)=>s%2===1?z01(y01,{children:a in t?t[a]:`{${a}}`},s):a)}var $o=KC,k01="sf-header-theme";function jo(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function lh(e){let t=jo(e);return t===null?null:{className:k01,style:XC(t)}}var Ev="overlay",Hv=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function va(e){return Q2(Hv,Ev,e)}var u5={desktop:40,mobile:45,min:20,max:80,step:5};function Pv(e,t){return`${typeof e=="number"?e:t}%`}var ch="data-lead-ink",hh="data-header-ink";var S01="auto";function C01(e){return e.type==="IntroBleed"?va(e.props?.layout)!=="stacked":!0}function vF(e){let t=AL(e);return t&&LL(e)&&C01(t)?"light":null}function fa(e){return e==="light"||e==="dark"?e:S01}import{Banner as H01,Button as Ov,Drawer as P01,InputNumber as F01,LoadingSpinner as N01,MediaUploadField as I01,ShowWhen as R01,Slider as V01,tabButtonId as _01,tabPanelId as O01}from"efficient-shell/ui";import{PictureTiles as M01}from"efficient-shell/ui";import{FlagUsIcon as A01,GlobeIcon as L01}from"efficient-shell/icons/efficient";var Ko=[{value:"name",label:"Country name"},{value:"code_currency",label:"Code and currency"},{value:"globe_code",label:"Globe and code"},{value:"currency",label:"Currency"},{value:"flag_code",label:"Flag and code"},{value:"flag",label:"Flag"}],ph="Show as",Yo="name";function A6(e){return Ko.some(t=>t.value===e)?e:Yo}var fF=e=>e==="flag_code"||e==="flag";import{Fragment as Fv,jsx as Y9,jsxs as mh}from"react/jsx-runtime";var bF=Y9("span",{className:"inline-flex shrink-0 border border-current/20",children:Y9(A01,{size:15})}),T01={name:"UNITED STATES",code_currency:mh(Fv,{children:["US",Y9("span",{className:"opacity-50",children:"\xB7"}),"USD"]}),globe_code:mh(Fv,{children:[Y9(L01,{size:12,className:"shrink-0"}),"US"]}),currency:"USD",flag_code:mh(Fv,{children:[bF,"US"]}),flag:bF};function E01({kind:e}){return mh("span",{"aria-hidden":!0,className:"inline-flex h-6 items-center gap-1 whitespace-nowrap rounded-xs border border-current px-2 font-mono text-(length:--text-3xs) font-medium tracking-wider",children:[T01[e],Y9("span",{className:"opacity-70",children:"\u25BE"})]})}function dh({value:e,onChange:t}){return Y9(M01,{label:m(ph),columns:2,captions:!0,value:A6(e),onChange:t,options:Ko.map(a=>({value:a.value,label:m(a.label),picture:Y9(E01,{kind:a.value})}))})}import{SettingsDefaultReset as Iv,SettingsSwitch as Xo,SettingsTabs as B01}from"efficient-easel/panel";import{FieldSelect as Dv}from"efficient-easel/fields";import{useEaselStrings as Z01}from"efficient-easel/strings";import{ListIcon as G01,LogoIcon as W01,SettingsIcon as U01,StylesIcon as q01}from"efficient-easel/icons";import{Fragment as X9,jsx as o1,jsxs as K0}from"react/jsx-runtime";var D01={field:"country_selector_enabled",is:!0},Rv="sf-header",xF="sf-header-size-label",wF="sf-header-gap-label",yF="sf-header-height-label",Vv=[{id:"logo",label:"Logo",icon:o1(W01,{})},{id:"menu",label:"Menu",icon:o1(G01,{})},{id:"tools",label:"Tools",icon:o1(U01,{})},{id:"look",label:"Look",icon:o1(q01,{})}];function Bv({tokenRef:e,siteId:t,onClose:a,onAuthExpired:s,inline:o,placeholderMode:r,websiteName:i,onOpenWebsiteSettings:n}){let l=x3(),c=Z01(),[h,p]=T8(null),[d,u]=T8(null),[v,g]=T8(!1),[f,b]=T8(Vv[0].id),[x,w]=T8(tL),z=r?Vv.filter(V=>V.id!=="menu"):Vv,k=z.find(V=>V.id===f)??z[0],[A,I]=T8(0),{setSettings:E}=N3(),F=Nv(null),N=Nv(null),H=Nv(null);Jo(()=>{let V=!1,q=null,j=null,Q=3,J=(s1,G1=0)=>{V||u(null),K9(s1,t,G1>0).then(n0=>!V&&p(n0)).catch(()=>{V||(G1+1<Q?j=setTimeout(()=>J(s1,G1+1),600*(G1+1)):u(m("Could not load header settings.")))})},i1=e.current;if(i1)J(i1);else{let s1=0;q=setInterval(()=>{let G1=e.current;if(G1){q&&clearInterval(q),q=null,V||u(null),J(G1);return}s1+=250,s1===5e3&&!V&&u(m("Waiting for editor authorization\u2026")),s1>=3e4&&(q&&clearInterval(q),q=null,V||u(m("Not authorized yet \u2014 reopen once the editor has loaded.")))},250)}return()=>{V=!0,q&&clearInterval(q),j&&clearTimeout(j)}},[e,A,t]),Jo(()=>{h&&E(Wo(h))},[h,E]),Jo(()=>()=>{F.current&&clearTimeout(F.current),N.current&&clearTimeout(N.current),H.current&&clearTimeout(H.current)},[]);let P=L6(async(V,q)=>{let j=e.current;if(!j||!h)return;let Q=h;q&&p({...h,...q}),g(!0),u(null);try{let J=await V(j);p(J),QP(J,t)}catch(J){p(Q),J instanceof O4&&J.status===401?(eF(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]),_=L6(V=>P(q=>E1.updateHeaderSettings(V,q,t??void 0),V),[P,t]),U=L6(V=>{P(q=>E1.setHeaderLogoFromAsset(V,q,t??void 0))},[P,t]),D=L6(()=>{LM(l,{accept:"image/svg+xml",title:m("Logo (SVG)")}).then(V=>{V&&U(V.id)})},[U]),Z=L6((V,q=!0)=>{p(Q=>Q&&{...Q,logo_size_px:V}),F.current&&clearTimeout(F.current);let j=()=>{P(Q=>E1.updateHeaderSettings({logo_size_px:V},Q,t??void 0))};q?j():F.current=setTimeout(j,400)},[P,t]),O=L6((V,q=!0)=>{p(Q=>Q&&{...Q,height_px:V}),N.current&&clearTimeout(N.current);let j=()=>{P(Q=>E1.updateHeaderSettings({height_px:V},Q,t??void 0))};q?j():N.current=setTimeout(j,400)},[P,t]),K=L6((V,q=!0)=>{p(Q=>Q&&{...Q,menu_gap_px:V}),H.current&&clearTimeout(H.current);let j=()=>{P(Q=>E1.updateHeaderSettings({menu_gap_px:V},Q,t??void 0))};q?j():H.current=setTimeout(j,400)},[P,t]),X=L6(()=>{P(async V=>{let q=await E1.clearHeaderLogo(V,t??void 0);return q.reverse_logo?E1.updateHeaderSettings({reverse_logo:!1},V,t??void 0):q})},[P,t]),B=L6(V=>{p(q=>q&&{...q,menu:V?.id??null,menu_handle:V?.handle??null,menu_name:V?.name??null,menu_items:V?V.items.map(j=>({label:j.label,url:j.url,dropdown_menu:j.dropdown_menu??null,dropdown_items:j.dropdown_items??[]})):[]}),P(q=>E1.updateHeaderSettings({menu:V?.id??null},q,t??void 0))},[P,t]),r1=K0(X9,{children:[d&&o1(H01,{tone:"danger",className:"mx-4 mt-3",action:h?void 0:o1(Ov,{variant:"secondary",size:"sm",onClick:()=>I(V=>V+1),children:m("Retry")}),children:d}),h?K0(X9,{children:[o1(B01,{items:z.map(V=>({...V,label:m(V.label)})),activeId:k.id,onSelect:b,ariaLabel:m("Header settings"),idPrefix:Rv}),K0("div",{id:O01(Rv,k.id),role:"tabpanel","aria-labelledby":_01(Rv,k.id),className:"flex flex-col p-4 [&>*+*]:mt-3",children:[k.id==="logo"&&K0(X9,{children:[o1(W5,{label:"Image"}),!r&&o1($01,{settings:h,websiteName:i,onPick:D,onClear:X,showHint:x}),o1(o3,{label:"Reverse the Logo",children:o1(Xo,{checked:h.reverse_logo,onChange:V=>_({reverse_logo:V}),ariaLabel:m("Reverse the Logo")})}),o1(T6,{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(W5,{label:"Placement"}),o1(K01,{label:M0.logoPosition.label,value:M0.logoPosition.options.find(V=>V.value===M0.logoPosition.choose(h.logo_position))?.label,children:o1(g7,{value:M0.logoPosition.choose(h.logo_position),options:M0.logoPosition.options,onChange:V=>_({logo_position:V}),ariaLabel:M0.logoPosition.label})}),K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[o1("span",{id:xF,className:"text-xs text-[var(--ink-muted)]",children:m("Size")}),K0("span",{className:"flex items-center gap-1",children:[K0("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??Ao[h.logo_size],"px"]}),o1(Iv,{label:m("Size"),words:c.panel,changed:h.logo_size_px!=null,onReset:()=>Z(null)})]})]}),o1(_v,{labelledBy:xF,min:uc,max:gc,step:2,value:h.logo_size_px??Ao[h.logo_size],onPreview:V=>Z(V,!1),onCommit:V=>Z(V,!0)}),o1(T6,{shown:x,children:m("Sets the logo\u2019s height; the width follows the logo\u2019s own proportions.")})]}),o1(Wl,{shown:x,onChange:w})]}),k.id==="menu"&&K0(X9,{children:[o1(W5,{label:"Links"}),o1(j01,{token:e.current,menuId:h.menu,menuName:h.menu_name,itemCount:h.menu_items?.length??0,onPick:B}),o1(o3,{label:M0.menuAlign.label,children:o1(g7,{value:M0.menuAlign.choose(h.menu_position),options:M0.menuAlign.options.filter(V=>V.value!=="beside"||h.logo_position!=="center"),onChange:V=>_({menu_position:V}),ariaLabel:M0.menuAlign.label})}),M0.menuAlign.choose(h.menu_position)==="beside"&&K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[o1("span",{id:wF,className:"text-xs text-[var(--ink-muted)]",children:m("Space from the logo")}),K0("span",{className:"flex items-center gap-1",children:[K0("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??Dt.default,"px"]}),o1(Iv,{label:m("Space from the logo"),words:c.panel,changed:h.menu_gap_px!=null,onReset:()=>K(null)})]})]}),o1(_v,{labelledBy:wF,min:Dt.min,max:Dt.max,step:Dt.step,value:h.menu_gap_px??Dt.default,onPreview:V=>K(V,!1),onCommit:V=>K(V,!0)}),o1(T6,{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(o3,{label:M0.menuRow.label,children:o1(g7,{value:M0.menuRow.choose(h.menu_row),options:M0.menuRow.options,onChange:V=>_({menu_row:V}),ariaLabel:M0.menuRow.label})}),h.logo_position==="center"&&h.menu_position!=="center"&&o1(o3,{label:"Left items",children:o1("div",{className:"w-16",children:o1(Dv,{value:h.menu_split??3,ariaLabel:m("Left items"),onChange:V=>_({menu_split:V}),options:[1,2,3,4].map(V=>({label:String(V),value:V}))})})}),o1(o3,{label:M0.navTextCase.label,children:o1(g7,{value:M0.navTextCase.choose(h.nav_text_case),options:M0.navTextCase.options,onChange:V=>_({nav_text_case:V}),ariaLabel:M0.navTextCase.label})}),o1(T6,{shown:x,children:b4(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"&&K0(X9,{children:[o1(W5,{label:"Style"}),o1(o3,{label:M0.utilStyle.label,children:o1(g7,{value:M0.utilStyle.choose(h.util_style),options:M0.utilStyle.options,onChange:V=>_({util_style:V}),ariaLabel:M0.utilStyle.label})}),o1(T6,{shown:x,children:b4(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(W5,{label:"Search"}),o1(o3,{label:"Search",children:o1(Xo,{checked:h.search_enabled,onChange:V=>_({search_enabled:V}),ariaLabel:m("Search")})}),o1(o3,{label:M0.searchPosition.label,children:o1(g7,{value:M0.searchPosition.choose(h.search_position),options:M0.searchPosition.options,onChange:V=>_({search_position:V}),ariaLabel:M0.searchPosition.label})}),o1(W5,{label:"Country selector"}),o1(o3,{label:"Show selector",children:o1(Xo,{checked:h.country_selector_enabled,onChange:V=>_({country_selector_enabled:V}),ariaLabel:m("Show selector")})}),o1(R01,{rule:D01,values:{country_selector_enabled:h.country_selector_enabled},children:o1(o3,{label:"Show as",stacked:!0,children:o1(dh,{value:h.country_selector_show_as,onChange:V=>_({country_selector_show_as:V})})})}),!r&&h.country_selector_enabled&&o1(T6,{shown:x,children:b4(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(W5,{label:"Account and cart"}),o1(o3,{label:"Account",children:o1(Xo,{checked:h.account_enabled??!0,onChange:V=>_({account_enabled:V}),ariaLabel:m("Account")})}),o1(o3,{label:"Cart",children:o1(Xo,{checked:h.cart_enabled??!0,onChange:V=>_({cart_enabled:V}),ariaLabel:m("Cart")})}),o1(Wl,{shown:x,onChange:w})]}),k.id==="look"&&K0(X9,{children:[o1(W5,{label:"Dimensions"}),o1(o3,{label:M0.width.label,children:o1(g7,{value:M0.width.choose(h.width),options:M0.width.options,onChange:V=>_({width:V}),ariaLabel:M0.width.label})}),K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[o1("span",{id:yF,className:"text-xs text-[var(--ink-muted)]",children:m("Height")}),K0("span",{className:"flex items-center gap-1",children:[K0("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??Q3.default,"px"]}),o1(Iv,{label:m("Height"),words:c.panel,changed:h.height_px!=null,onReset:()=>O(null)})]})]}),o1(_v,{labelledBy:yF,min:Q3.min,max:Q3.max,step:2,value:h.height_px??Q3.default,onPreview:V=>O(V,!1),onCommit:V=>O(V,!0)}),o1(T6,{shown:x,children:m("Sets how tall the header bar is; the content below it shifts down to match.")})]}),o1(o3,{label:"Border thickness",children:o1("div",{className:"w-24",children:o1(F01,{value:h.border_thickness,min:0,max:20,precision:0,size:"sm",suffix:"px","aria-label":m("Border thickness"),onChange:V=>_({border_thickness:Math.max(0,V??0)})})})}),o1(W5,{label:"Color"}),o1(o3,{label:"Theme",children:o1(zM,{value:h.theme??$o,onChange:V=>_({theme:V===$o?null:V}),followLabel:m("Follow the site theme")})}),o1(T6,{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(o3,{label:M0.topTextColor.label,children:o1(g7,{value:M0.topTextColor.choose(h.top_text_color),options:M0.topTextColor.options,onChange:V=>_({top_text_color:V}),ariaLabel:M0.topTextColor.label})}),o1(T6,{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(W5,{label:"Behavior"}),o1(o3,{label:"Sticky header",children:o1("div",{className:"w-32",children:o1(Dv,{value:h.sticky,ariaLabel:m("Sticky header"),onChange:V=>_({sticky:V}),options:[{label:m("None"),value:"none"},{label:m("Always"),value:"always"},{label:m("On scroll up"),value:"on_scroll_up"}]})})}),n&&K0(X9,{children:[o1(W5,{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(Ov,{variant:"link",size:"sm",className:"self-start",onClick:n,children:m("Set up display mode \u2192")})]}),o1(Wl,{shown:x,onChange:w})]})]})]}):d?null:o1(N01,{size:"sm",padding:"p-4",label:m("Loading\u2026")})]});return o?K0("div",{className:"flex flex-col",children:[v&&o1("div",{className:"px-4 pt-2 text-[11px] text-[var(--ink-faintest)]",children:m("Saving\u2026")}),r1]}):K0(P01,{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")}),r1]})}function $01({settings:e,websiteName:t,onPick:a,onClear:s,showHint:o}){let r=!!e.logo_url,i=!r&&!!e.default_logo_url,n=u6(e.effective_logo_url),l=t&&t.trim()?t.trim():Rt;return K0("div",{className:"flex flex-col gap-2",children:[o1(I01,{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(T6,{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 j01({token:e,menuId:t,menuName:a,itemCount:s,onPick:o}){let r=x3(),[i,n]=T8(null),[l,c]=T8(!1),h=L6(f=>{n(f),c(!0)},[]);Jo(()=>{let f=!1;return oF(e).then(b=>!f&&h(b)).catch(()=>!f&&n([])),()=>{f=!0}},[e,h]),Jo(()=>{let f=!1,b=z8(()=>{rF(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 K0("div",{className:"flex flex-col gap-2",children:[o1(o3,{label:"Menu",children:o1("div",{className:"w-[170px] max-w-full",children:o1(Dv,{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:gF()}):o1("p",{className:"text-[12px] text-[var(--ink-faint)]",children:v?e3("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(Ov,{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 T6({shown:e,children:t}){return e?o1("p",{className:"text-[11px] text-[var(--sf-muted)]",children:t}):null}function _v({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(V01,{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 K01({label:e,value:t,children:a}){return K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[o1("span",{className:"text-xs text-[var(--ink-muted)]",children:m(e)}),t&&o1("span",{className:"text-[12px] text-[var(--ink-faint)]",children:m(t)})]}),a]})}function W5({label:e}){return o1(Ct,{label:e})}function o3({label:e,children:t,stacked:a=!1}){return a?K0("div",{className:"flex flex-col gap-y-2",children:[o1("span",{className:"text-xs text-[var(--sf-text-secondary)]",children:m(e)}),t]}):K0("div",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[o1("span",{className:"text-xs text-[var(--sf-text-secondary)]",children:m(e)}),o1("div",{className:"flex-shrink-0",children:t})]})}var Y01=[{label:"Left",value:"left"},{label:"Center",value:"center"}],X01=[{label:"Left",value:"left"},{label:"Right",value:"right"}],J01=[{label:"Right",value:"left"},{label:"Centered",value:"center"},{label:"Beside logo",value:"beside"}],Q01=[{label:"Own row",value:"top"},{label:"Same row",value:"inline"}],e21=[{label:lt.page,value:"page"},{label:lt.full,value:"full"}],t21=[{label:"Icon",value:"icon"},{label:"Text",value:"text"}],a21=[{label:"Uppercase",value:"uppercase"},{label:"Capitalised",value:"capitalised"}],s21=[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],M0={logoPosition:{label:"Position",options:Y01,choose:e=>e==="right"?"center":e},menuAlign:{label:"Alignment",options:J01,choose:e=>e==="center"?"center":e==="beside"?"beside":"left"},menuRow:{label:"Row",options:Q01,choose:e=>e==="inline"?"inline":"top"},searchPosition:{label:"Position",options:X01,choose:e=>e},width:{label:"Width",options:e21,choose:e=>e},navTextCase:{label:"Letters",options:a21,choose:e=>e==="capitalised"?"capitalised":"uppercase"},utilStyle:{label:"Show as",options:t21,choose:e=>e==="text"?"text":"icon"},topTextColor:{label:"Text color at the top",options:s21,choose:e=>fa(e)}};import{useState as Zv}from"react";import{Banner as o21,Button as Gv}from"efficient-shell/ui";import{createNode as r21,newId as i21}from"efficient-easel/data";import{useEasel as n21}from"efficient-easel/easel";function zF(e){return typeof e=="number"&&Number.isInteger(e)&&e>=Q3.min&&e<=Q3.max?e:Q3.default}var uh="fixed inset-x-0 bottom-0 top-[var(--sf-header-h,88px)]",gh=e=>!!e&&e.startsWith("/wheels/")&&e!=="/wheels",vh=(e,t)=>!e&&t?"var(--section-bg)":"var(--bg)",kF=e=>e==="capitalised"?"capitalised":"uppercase",fh=e=>e==="inline"?"inline":e==="top"||e==="bottom"?"top":null;var SF="Flex",CF=10;function MF(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",{showAs:A6(e.country_selector_show_as)}):null,e.cart_enabled!==!1?t("CartBlock",{style:o}):null,n?null:i].filter(u=>u!==null),c=t(SF,{direction:"row",justify:"between",align:"center",share:"content",wrap:"nowrap",phoneRow:3,sectionPaddingTop:CF,sectionPaddingBottom:CF,content:[t("LogoBlock",{...s?{heightPx:s}:{},...e.reverse_logo!=null?{reverse:e.reverse_logo?"auto":"off"}:{}}),t("MenuBlock",{menu:r,direction:"row"}),...l.length?[t(SF,{direction:"row",justify:"end",align:"center",share:"content",wrap:"nowrap",phoneRow:3,content:l})]:[]]}),h=WS(N4,a,[c]),p=jo(e.theme),d=fh(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 l21,jsx as bh,jsxs as c21}from"react/jsx-runtime";function Wv(){let{appState:e,dispatch:t,config:a}=n21(g=>g),{readOnly:s,tokenRef:o,siteId:r}=mt(),[i,n]=Zv(!1),[l,c]=Zv(!1),[h,p]=Zv(!1),d=e.data.content;if(s||d.some(g=>g.type===N4))return null;let u=(g,f)=>r21(a,g,f),v=async()=>{let g=o.current;if(!(!g||l)){c(!0),p(!1);try{let f=await K9(g,r),b=f.logo_size_px??Ao[f.logo_size],x=MF(f,u,i21(N4),{logoHeightPx:b});t({type:"setData",data:w=>({...w,content:[...US(w.content,x)]}),recordHistory:!0}),n(!1)}catch{p(!0)}finally{c(!1)}}};return bh(o21,{tone:h?"danger":"info",title:m("This header uses the old layout"),action:i?c21(l21,{children:[bh(Gv,{variant:"primary",size:"sm",onClick:v,disabled:l,children:l?m("Switching\u2026"):m("Switch now")}),bh(Gv,{variant:"secondary",size:"sm",onClick:()=>n(!1),disabled:l,children:m("Cancel")})]}):bh(Gv,{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 h21,jsx as Uv,jsxs as p21}from"react/jsx-runtime";function qv({placeholderMode:e,tokenRef:t,siteId:a,websiteName:s,onOpenWebsiteSettings:o,onAuthExpired:r}){return p21(h21,{children:[e?null:Uv("div",{className:"px-4 pt-3 pb-1",children:Uv(Wv,{})}),Uv(Bv,{inline:!0,placeholderMode:e,tokenRef:t,siteId:a,websiteName:s??void 0,onOpenWebsiteSettings:o,onAuthExpired:r})]})}import{useEffect as m21,useState as d21}from"react";function ba({fetch:e,keyBy:t}){let a=null,s=null,o=null;return(r=!1)=>{let i=I3(),n=t?t():null;return(r||!a||s===null&&i!==null||o!==n)&&(s=i,o=n,a=i||!ho().usesBridgedToken?e(i??"",n).catch(()=>[]):Promise.resolve([])),a}}var E6=ba({fetch:(e,t)=>E1.listProducts(e,{siteId:t,kinds:["alloy-wheel","tyre"]}),keyBy:x2}),H2=(e=!1)=>E6(e).then(t=>t.filter(a=>a.kind==="alloy-wheel"));function AF(e){let[t,a]=d21(null);return m21(()=>{let s=!1;return e().then(o=>{s||a(o)}),()=>{s=!0}},[e]),t}function xh(){return AF(H2)}function LF(){return AF(E6)}var EF={list:async()=>(await H2()).map(e=>({slug:e.slug,name:e.name,href:Jn(e.slug)}))},TF=new Map;function u21(e){let t=e??"",a=I3(),s=TF.get(t);if(s&&!(s.token===null&&a!==null))return s.promise;let o=a&&e?E1.listFieldUsage(a,e).then(iP).catch(()=>[]):Promise.resolve([]);return TF.set(t,{promise:o,token:a}),o}var HF={load:async e=>{let[t,a]=await Promise.all([E6().catch(()=>[]),u21(e??void 0)]);return nP({catalogue:t,fieldUsage:a,offersCommerce:!0})}};var $v=[{key:"cart",label:"Cart",href:"/?cart=open"},{key:"checkout",label:"Checkout",href:"/checkout"}],g21=Object.fromEntries($v.map(e=>[e.key,e]));function PF(e){return g21[e]}import{jsx as Qo,jsxs as FF}from"react/jsx-runtime";var v21={cart:FF("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:[Qo("circle",{cx:"9",cy:"20",r:"1.4"}),Qo("circle",{cx:"18",cy:"20",r:"1.4"}),Qo("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:FF("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:[Qo("rect",{x:"2.5",y:"5",width:"19",height:"14",rx:"2"}),Qo("path",{d:"M2.5 9.5h19"})]})},NF={get title(){return m("Shop")},get rows(){return $v.map(e=>({...e,label:m(e.label),icon:v21[e.key]}))}};import{createContext as f21,useCallback as er,useContext as b21,useEffect as Kv,useMemo as x21,useRef as w21,useState as E8}from"react";function IF(e,t){return`${(rc||(typeof window<"u"?window.location.origin:"")).replace(/^http/,"ws")}/ws/chat/?conversation=${e}&token=${encodeURIComponent(t)}`}var jv="/api/chat/public";function RF(e){let t=Co.getAccess();return t?{token:t}:e?{headers:{"X-Chat-Token":e}}:{}}async function VF(e){let t=Co.getAccess();return g8(`${jv}/conversations/`,{method:"POST",token:t??void 0,body:JSON.stringify({subject:e.subject??"",body:e.body,guest_name:e.guestName??"",guest_email:e.guestEmail??"",guest_key:e.guestKey??""})})}async function _F(e,t){return g8(`${jv}/conversations/${e}/thread/`,RF(t))}async function OF(e,t,a){return g8(`${jv}/conversations/${e}/thread/`,{method:"POST",body:JSON.stringify({body:a}),...RF(t)})}import{jsx as k21}from"react/jsx-runtime";var y21="sf:aid",DF="sf:chat",BF=f21(null);function z21(){let e=y3.getItem(DF);if(!e)return null;try{return JSON.parse(e)}catch{return null}}function ZF({children:e,preview:t=!1}){let[a,s]=E8(!1),[o,r]=E8(null),[i,n]=E8([]),[l,c]=E8(!1),[h,p]=E8(null),[d,u]=E8(0),[v,g]=E8(!1),[f,b]=E8(!1),x=w21(a);x.current=a,Kv(()=>{t||(r(z21()),uT.restoreSession().then(()=>g(!0)).catch(()=>g(!1)))},[t]);let w=er(async F=>{try{let N=await _F(F.id,F.token);n(N.messages)}catch{}},[]);Kv(()=>{t||o&&w(o)},[t,o,w,v]),Kv(()=>{if(t||!o)return;let F=Co.getAccess()??o.token,N=!1,H=null,P,_=3e3,U=()=>{N||(H=new WebSocket(IF(o.id,F)),H.onmessage=D=>{try{let Z=JSON.parse(D.data);Z.type==="chat_event"&&Z.event==="message"&&(w(o),!x.current&&Z.payload?.sender_role==="employee"&&u(O=>O+1))}catch{}},H.onclose=()=>{N||(P=setTimeout(U,_),_=Math.min(_*2,3e4))},H.onerror=()=>H?.close())};return U(),()=>{N=!0,P&&clearTimeout(P),H?.close()}},[t,o,w]);let z=er(()=>{s(!0),u(0)},[]),k=er(()=>s(!1),[]),A=er(()=>s(F=>(F||u(0),!F)),[]),I=er(async(F,N)=>{let H=F.trim();if(H){if(t){n(P=>[...P,{id:`preview-${P.length}`,sender_role:"customer",sender_name:N?.name||"You",body:H,image_url:null,created_at:""}]),b(!0);return}c(!0),p(null);try{if(o){let P=await OF(o.id,o.token,H);n(_=>[..._,P])}else{let P=y3.getItem(y21)||"",_=await VF({body:H,guestName:N?.name,guestEmail:N?.email,guestKey:P}),U={id:_.id,token:_.guest_token};y3.setItem(DF,JSON.stringify(U)),r(U),n(_.messages)}}catch{p("Could not send your message. Please try again shortly.")}finally{c(!1)}}},[o,t]),E=x21(()=>({isOpen:a,open:z,close:k,toggle:A,messages:i,sending:l,error:h,unread:d,hasConversation:t?f:!!o,isSignedIn:v,send:I}),[a,z,k,A,i,l,h,d,o,v,I,t,f]);return k21(BF.Provider,{value:E,children:e})}function GF(){let e=b21(BF);if(!e)throw new Error("useChat must be used within <ChatProvider>");return e}import{useEffect as E21,useRef as H21,useState as Xv}from"react";import{Icon as S21}from"efficient-shell/icons";import{jsx as L21,jsxs as T21}from"react/jsx-runtime";var C21={"--assistant-launcher-bg":"var(--btn)","--assistant-launcher-ink":"var(--btn-ink)","--assistant-launcher-bg-hover":"color-mix(in oklab, var(--btn) 85%, black)"},M21="chat-bubble-left-right",A21={position:"fixed",right:16,bottom:16,width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",border:0,borderRadius:"50%",cursor:"pointer",background:"var(--assistant-launcher-bg)",color:"var(--assistant-launcher-ink)",boxShadow:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"};function Yv({label:e,onOpen:t,onWarm:a,zIndex:s=1e3,badge:o}){return T21("button",{type:"button","aria-label":e,onClick:t,onPointerEnter:a,onFocus:a,"data-sf-floating":"",style:{...C21,...A21,zIndex:s},children:[L21(S21,{name:M21,size:22}),o]})}import{jsx as w2,jsxs as x7}from"react/jsx-runtime";var P21="Chat with us",F21="We usually reply within a few minutes",N21="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function I21({m:e}){if(e.sender_role==="system")return w2("div",{className:"text-center text-[11px] text-fg/50 py-1",children:e.body});let t=e.sender_role==="bot",a=e.sender_role==="employee"||t;return w2("div",{className:`flex ${a?"justify-start":"justify-end"}`,children:x7("div",{className:`max-w-[80%] rounded-2xl px-3 py-2 text-sm ${a?"bg-fg/5 text-fg":"bg-accent text-black"}`,children:[a&&x7("div",{className:"mb-0.5 flex items-center gap-1 text-[10px] font-semibold uppercase tracking-wide text-fg/50",children:[t&&w2("span",{"aria-hidden":"true",children:"\u2726"}),w2("span",{children:t?e.sender_name||"Assistant":e.sender_name||"Support"}),t&&w2("span",{className:"font-normal normal-case tracking-normal",children:"\xB7 automated"})]}),e.body&&w2("p",{className:"whitespace-pre-wrap",children:e.body}),e.image_url&&w2("a",{href:e.image_url,target:"_blank",rel:"noopener noreferrer",children:w2("img",{src:e.image_url,alt:"Attachment",className:"mt-2 max-h-48 w-auto rounded-lg"})})]})})}function Jv({title:e,subtitle:t,greeting:a}={}){let{isOpen:s,toggle:o,close:r,messages:i,sending:n,error:l,unread:c,hasConversation:h,isSignedIn:p,send:d}=GF(),u=e?.trim()||P21,v=t?.trim()||F21,g=a?.trim()||N21,[f,b]=Xv(""),[x,w]=Xv(""),[z,k]=Xv(""),A=H21(null),I=!p&&!h;E21(()=>{s&&A.current?.scrollIntoView({behavior:f7(),block:"nearest"})},[i.length,s]);let E=f.trim().length>0&&(!I||x.trim()&&/.+@.+/.test(z)),F=()=>{!E||n||(d(f,I?{name:x.trim(),email:z.trim()}:void 0),b(""))};return s?x7("aside",{role:"dialog","aria-label":"Chat with us","data-sf-floating":"",className:"fixed bottom-5 right-5 z-[61] flex h-[min(560px,80vh)] w-[min(380px,calc(100vw-2.5rem))] flex-col overflow-hidden rounded-2xl border border-line bg-bg shadow-[0_20px_60px_rgba(0,0,0,.45)]",style:{color:"var(--fg)"},children:[x7("div",{className:"flex items-center justify-between border-b border-line px-4 py-3",children:[x7("div",{children:[w2("div",{className:"text-sm font-semibold text-fg",children:u}),w2("div",{className:"text-[11px] text-fg/50",children:v})]}),w2("button",{type:"button",onClick:r,"aria-label":"Close chat",className:"rounded-md p-1 text-fg/60 hover:bg-fg/5",children:w2("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.8,children:w2("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),x7("div",{className:"flex-1 space-y-2 overflow-y-auto px-3 py-3",children:[i.length===0&&w2("p",{className:"px-2 py-4 text-center text-sm text-fg/50",children:g}),i.map(N=>w2(I21,{m:N},N.id)),w2("div",{ref:A})]}),x7("div",{className:"border-t border-line p-3",children:[I&&x7("div",{className:"mb-2 grid grid-cols-2 gap-2",children:[w2("input",{value:x,onChange:N=>w(N.target.value),placeholder:"Your name",className:"rounded-lg border border-line bg-transparent px-3 py-2 text-sm outline-none focus:border-accent"}),w2("input",{value:z,onChange:N=>k(N.target.value),type:"email",placeholder:"Email",className:"rounded-lg border border-line bg-transparent px-3 py-2 text-sm outline-none focus:border-accent"})]}),l&&w2("p",{className:"mb-2 text-xs text-red-600",children:l}),x7("div",{className:"flex items-end gap-2",children:[w2("textarea",{value:f,onChange:N=>b(N.target.value),onKeyDown:N=>{N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),F())},rows:1,placeholder:"Type a message\u2026",className:"max-h-28 flex-1 resize-none rounded-lg border border-line bg-transparent px-3 py-2 text-sm outline-none focus:border-accent"}),w2("button",{type:"button",onClick:F,disabled:!E||n,className:"rounded-lg bg-btn px-3 py-2 text-sm font-semibold text-btn-ink disabled:opacity-40",children:n?"\u2026":"Send"})]})]})]}):w2(Yv,{label:S2(u),onOpen:o,zIndex:60,badge:c>0&&w2("span",{className:"absolute -top-1 -right-1 flex h-5 min-w-5 items-center justify-center rounded-full bg-red-600 px-1 text-[11px] font-bold text-white",children:c})})}import{jsx as Qv,jsxs as V21}from"react/jsx-runtime";var R21=`
|
|
3
|
+
`+k2),m0&&(k2=An(k2)),F&&H3?D(k2):k2},t.setConfig=function(){let m1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};xu(m1),b0=!0,X2=R1,t5=u0},t.clearConfig=function(){Je=null,b0=!1,X2=null,t5=null,F=H,N=""},t.isValidAttribute=function(m1,C,G){Je||xu({});let n1=L2(m1),u1=L2(C);return Qk(n1,u1,G)},t.addHook=function(m1,C){typeof C=="function"&&M4(j,m1)&&jr(j[m1],C)},t.removeHook=function(m1,C){if(M4(j,m1)){if(C!==void 0){let G=ka1(j[m1],C);return G===-1?void 0:Sa1(j[m1],G,1)[0]}return lD(j[m1])}},t.removeHooks=function(m1){M4(j,m1)&&(j[m1]=[])},t.removeAllHooks=function(){j=wD()},t}var Ka1=SD();CD.exports=Ka1});import{useEffect as Bf1,useMemo as Zf1,useState as _X}from"react";import{useEaselStrings as Gf1}from"efficient-easel/strings";import{useMemo as lJ}from"react";import{createContext as nJ,useContext as VT}from"react";var aJ="https://maps.googleapis.com/maps/api/js",sJ="__storefrontMapsReady__",vc=null;function fc(e){if(typeof window>"u")return Promise.reject(new Error("ssr"));if(window.google?.maps)return Promise.resolve(window.google.maps);if(vc)return vc;let t=e&&e.trim()||"";return t?(vc=new Promise((a,s)=>{let o=sJ;window[o]=()=>a(window.google.maps);let r=document.createElement("script");r.src=`${aJ}?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)}),vc):Promise.reject(new Error("No Google Maps API key configured"))}function To(e,t){return Number.isFinite(e)&&Number.isFinite(t)&&!(e===0&&t===0)}var oJ=15e3,Sg=new Set,rJ=()=>Sg.forEach(e=>e());function iJ(e){let t=window;return t.gm_authFailure=rJ,Sg.add(e),()=>{Sg.delete(e)}}function bc(e){let t=!1,a,s=()=>{t||(t=!0,i(),e())},o=()=>{a=setTimeout(()=>{document.visibilityState==="visible"?s():o()},oJ)},r=iJ(s),i=()=>{clearTimeout(a),r()};return o(),{ready:()=>{t||(t=!0,i())},stop:i}}var _T="sf:maps-api-key",OT="sf:maps-map-id";function DT(){if(typeof window>"u")return"";try{return window.localStorage.getItem(_T)??""}catch{return""}}function Cg(e){if(!(typeof window>"u"))try{window.localStorage.setItem(_T,e)}catch{}}function BT(){if(typeof window>"u")return"";try{return window.localStorage.getItem(OT)??""}catch{return""}}function ZT(e){if(!(typeof window>"u"))try{window.localStorage.setItem(OT,e)}catch{}}var Mg=nJ({apiKey:"",setApiKey:()=>{},mapId:""}),xc=Mg.Provider,wc=()=>VT(Mg).apiKey,yc=()=>VT(Mg).mapId;function zc(e,t){return e&&e.trim()||t&&t.trim()||""}function kc(e,t){return e&&e.trim()||t&&t.trim()||""}import{jsx as cJ}from"react/jsx-runtime";function Ag({apiKey:e,mapId:t,children:a}){let s=lJ(()=>({apiKey:e,setApiKey:()=>{},mapId:t}),[e,t]);return cJ(xc,{value:s,children:a})}import{jsx as g4,jsxs as AQ}from"react/jsx-runtime";import{useCallback as E2,useEffect as k8,useMemo as qg,useRef as S8,useState as h2}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 GT={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(po,e),draw(e,t){e.label=po[t]}};import{jsx as hJ}from"react/jsx-runtime";var WT={name:"sectionGroupAllow",applies:e=>Dn.includes(e),panel(e,t,a,s){let o=e.fields?.sections;o&&(o.allow=[...s.sectionGroupAllow])}},Lg=new Set(Object.keys(U1)),UT={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=>!Lg.has(l)):o;i.disallow=Array.from(new Set([...i.disallow??[],...n]))}}};var pJ=Array.from(new Set([...hS.map(e=>e.type),...Lg,...Pn,"GalleryItem"])),mJ={not:{context:"parentOffersPositions",is:!1}},qT={name:"cellWidth",applies:(e,t,a)=>pJ.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.cellWidthFields;e.fields={...e.fields,...s()},e.fields=V5(e.fields??{},Object.keys(s()),mJ)},draw(e){let t=e.render;e.render=a=>{let s=DS(a.gridSpan),o=t(a);return s==null?o:hJ("div",{className:"sf-grid-cell",[BS]:String(s),children:o})}}};import{jsx as $T}from"react/jsx-runtime";var jT={name:"clickableParts",applies:(e,t,a)=>typeof a?.render=="function",draw(e,t,a){let s=e,o=()=>s.textParts??s.fields,r=s.render,i=a.inspector?.PartAnchors;s.render=n=>{let l=rt(n);return n.puck?.isEditing&&i?$T(i,{needles:Eu(o(),n),styles:l,type:t,children:r(n)}):Object.keys(l).length?$T(nC,{needles:Eu(o(),n),styles:l,type:t,children:r(n)}):r(n)}}};import{jsx as KT}from"react/jsx-runtime";var YT={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=jn(a.sectionCorners,a.sectionCornerSides),o=t(a),r=B0(a)?`sf-section-corners ${IC}`:"sf-section-corners";return s?KT("div",{className:r,style:{display:"contents",...s},children:o}):o}}},Tg=["CollectionCard"],XT={name:"cardCorners",applies:(e,t,a)=>Tg.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=RC(a.cardCorners,a.cardCornerSides),o=t(a);return s?KT("div",{className:"sf-card-corners",style:{display:"contents",...s},children:o}):o}}};var JT={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 QT={name:"showWhenRows",applies:()=>!0,panel(e,t,a){let s=a.rowsShownForNode,o=e.showWhenFacts??{},r=e.resolveFields;e.resolveFields=r?(i,n)=>{let l=r(i,n);return l instanceof Promise?l.then(c=>s(c??n.fields,i,n,o)):s(l??n.fields,i,n,o)}:(i,n)=>s(n.fields,i,n,o)}};var eE={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 tE,Fragment as dJ,jsxs as uJ}from"react/jsx-runtime";function gJ({anchor:e}){let t=Bu(typeof e=="string"?e:"");return t?tE("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var aE={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=>uJ(dJ,{children:[tE(gJ,{anchor:a.anchor}),t(a)]})}};import{jsx as bJ}from"react/jsx-runtime";import{jsx as vJ}from"react/jsx-runtime";import{useEffect as fJ,useRef as sE}from"react";function oE({motion:e,editing:t,children:a}){let s=sE(null),o=sE(e);return fJ(()=>{let r=s.current;if(r){if(t){if(o.current===e)return;o.current=e,tM(r);return}return eM(r)}},[e,t]),vJ("div",{ref:s,[QC]:e,children:a})}var rE={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!aM.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=JC(s.sectionAnimation);return o?bJ(oE,{motion:o,editing:!!s.puck?.isEditing,children:a(s)}):a(s)}}};import{jsx as xJ}from"react/jsx-runtime";var wJ=[[["sectionHeightValue"],F4("sectionHeightMode",fo,"auto",["fixed","screen"])],[["sectionHeightUnit"],F4("sectionHeightMode",fo,"auto",["fixed"])],[["sectionHeightValuePhone"],F4("sectionHeightModePhone",fo,"auto",["fixed","screen"])],[["sectionHeightUnitPhone"],F4("sectionHeightModePhone",fo,"auto",["fixed"])]],lE={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!oM.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.heightFields;e.fields={...e.fields,...H1(s(),wJ)};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=r?.props??{},c=sM(l),h=rM(l)?iM(l):null;return n&&typeof n.then=="function"?n.then(p=>nE(iE(p,c),h)):nE(iE(n,c),h)}},draw(e){let t=e.render;e.render=a=>{let s=nM(a);return s?xJ("div",{className:s.className,style:s.style,children:t(a)}):t(a)}}};function iE(e,t){if(!e||!("sectionHeightMode"in e)||t.mode==="auto")return e;let a={...e},s=a.sectionHeightValue;return s&&(a.sectionHeightValue={...s,unit:t.unit}),a}function nE(e,t){if(!e||!("sectionHeightModePhone"in e)||!t||t.mode==="auto")return e;let a={...e},s=a.sectionHeightValuePhone;return s&&(a.sectionHeightValuePhone={...s,unit:t.unit}),a}import{jsx as yJ}from"react/jsx-runtime";var cE=pE("sectionSticky",(e,t,a)=>t.isSection(e)&&!lM.has(e)&&!!a&&typeof a.render=="function"),hE=pE("cardSticky",(e,t,a)=>Tg.includes(e)&&!!a&&typeof a.render=="function");function pE(e,t){return{name:e,applies:t,panel(a,s,o){a.fields={...a.fields,...H1(o.stickFields(),zJ)}},draw(a){let s=a.render;a.render=o=>{let r=cM(o);return r?yJ("div",{className:r.className,style:r.style,children:s(o)}):s(o)}}}}var zJ=[[["stickTopDistance"],{field:"stickTop",is:!0}],[["stickTopDistancePhone"],{field:"stickTopPhone",is:!0}]];import{jsx as AJ}from"react/jsx-runtime";import{jsx as SJ}from"react/jsx-runtime";var Sc="sf-card",W2={min:0,max:90,step:5,fallback:0,unit:"%"},y8=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],kJ="68%",u4={desktop:20,phone:20,side:40,sidePhone:24},mE="sf-box-sides";function ea(e){return typeof e=="string"&&e.trim()!==""}function Cc(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(W2.max,Math.max(W2.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) ${kJ})`}}function Mc(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 Ac={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}},dE=new Set(Object.keys(Ac)),Lc=new Set(["Flex","Text","Heading"]),CJ=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),uE=new Set(["ProductGrid"]);function Eg(e,t,a=!1){let s=e.render;e.render=o=>{if(t?.(o))return s(o);let r=a?H9(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone,o.sectionPaddingLeft,o.sectionPaddingRight,o.sectionPaddingLeftPhone,o.sectionPaddingRightPhone):H9(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone),i=s(o);return r?SJ("div",{className:r.className,style:r.style,children:i}):i}}var gE={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!CJ.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){dE.has(t)||uE.has(t)||(e.fields={...e.fields,...a.sidesPaddingFields()})},draw(e,t){if(dE.has(t)){let a=e.render,s=Ac[t];e.render=o=>{let r=pM(o,s);return a({...o,padTop:r.top,padBottom:r.bottom})};return}if(uE.has(t)){Eg(e);return}Lc.has(t)||Eg(e,t==="Flex"?a=>ea(a.bgImage):void 0,!0)}},MJ=["Heading","Text"],vE={name:"blockPadding",applies:(e,t,a)=>MJ.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.sidesPaddingFields()}},draw(e,t){Lc.has(t)||Eg(e,void 0,!0)}};var fE={name:"sectionBorder",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",draw(e,t){if(Lc.has(t))return;let a=e.render;e.render=s=>{let o=tl(s.sectionBorder,s.sectionBorderPhone),r=a(s);return o?AJ("div",{className:el,style:{display:"contents",...o},children:r}):r}}};import{jsx as LJ}from"react/jsx-runtime";var bE={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!YC.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:s,SECTION_THEME_FOLLOW_LABEL:o}=a,r=Gu.has(t);e.fields={...e.fields,...r?s(b6,o):s()}},draw(e,t){let a=Gu.has(t),s=e.render;e.render=o=>{let r=ht(a?{...o,sectionAccent:b6(o.sectionAccent)}:o),i=s(o);return r?LJ("div",{className:r.className,style:r.style,children:i}):i}}},xE={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(b6,o)})}};import{jsx as Ec}from"react/jsx-runtime";var W9={min:40,max:2e3,step:10,fallback:2e3,unit:"px"};function wE(e){return typeof e!="number"?null:{width:`${e}${W9.unit}`,maxWidth:"100%"}}var TJ=new Set(["Flex","Grid"]);function Hg(e,t){return e&&!t}var EJ=e=>Array.isArray(e)&&e.length>0&&typeof e[0]=="object"&&e[0]!==null&&"type"in e[0];function yE(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=TJ.has(n)&&Hg(v3(i,"page").mode!=="full",o);for(let c of Object.values(i)){if(!EJ(c))continue;let h=a(c,o||l);if(h!==void 0)return h}}};return a(e,!1)}function zE(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 Tc(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 HJ=new Set(["SectionHeader","ProductGrid","IntroBleed","RelatedProducts","Banner","Stats","Logos","Divider","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA","Ticker","CategoryBar","DocTabs","CustomHTML","Spacer","Flex","Grid"]),PJ=new Set(["Hero","HeroSingle","Manifesto","ProductHero"]),FJ=new Set(["ProductHero"]),kE={name:"sectionWidth",applies:(e,t,a)=>t.isSection(e)&&!HJ.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=v3(r?.props??{},"full");return n&&typeof n.then=="function"?n.then(c=>U9(c,l)):U9(n,l)}},draw(e,t){let a=PJ.has(t),s=e.render;e.render=o=>{let{mode:r,inherited:i}=v3(o,"full"),n=s(o);if(r==="full")return a&&!i&&!FJ.has(t)?Ec("div",{style:{[GC]:"none",[WC]:"initial",[UC]:"initial"},children:n}):n;let l=r8(go);return a?Ec("div",{style:{"--sf-page-cap":go},children:n}):Ec("div",{style:l,children:n})}}};function U9(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 NJ=new Set(["Heading","Text","ImageBlock","ButtonBlock","Banner","Stats","Logos","Divider","Flex","Grid","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA"]),SE={name:"containedWidth",applies:(e,t,a)=>NJ.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.widthField;e.fields=DJ(t,e,{...e.fields,...s("page")});let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=v3(r?.props??{},"page"),c=h=>U9(h,l);return n&&typeof n.then=="function"?n.then(c):c(n)}},draw(e){let t=e.render;e.render=a=>{let{mode:s}=v3(a,"page");return t({...a,contained:s!=="full"})}}},IJ={not:{context:"inHeroGroupRow",is:!0}},CE={name:"buttonAlignInRow",applies:e=>e==="ButtonBlock",panel(e){let t=e;t.fields=V5(t.fields??{},["align"],IJ),On(t,{inHeroGroupRow:(a,s)=>{let o=Tc(s.appState,a.props?.id);return!!o&&o.type==="HeroGroup"&&sl("HeroGroup",o.props?.direction)==="row"}})}};function RJ(e){return Object.values(e).some(t=>!!t&&typeof t=="object"&&t.type==="slot")}var VJ={any:[]},_J={not:{context:"insideSiteGutter",is:!0}},OJ={not:{context:"widthCappedByParent",is:!0}};function DJ(e,t,a){return e==="ButtonBlock"?V5(a,["_gWidth","widthMode","pageWidth"],VJ):RJ(a)?(On(t,{insideSiteGutter:(s,o)=>yE(o.appState?.data?.content,s.props?.id)}),V5(a,["widthMode","pageWidth"],_J)):(On(t,{widthCappedByParent:(s,o)=>"parent"in o?qS(o.parent):zE({props:s.props??{}},o)}),V5(a,["widthMode","pageWidth"],OJ))}var ME={name:"imageWidth",applies:e=>e==="ImageBlock",panel(e,t,a){let{slider:s,WidthIcon:o}=a;if(e?.fields){let r=s("Image width",Ec(o,{}),W9.min,W9.max,W9.step,W9.fallback,W9.unit),i="focal",n=Object.entries(e.fields),l=n.findIndex(([c])=>c===i);e.fields=Object.fromEntries(l===-1?[...n,["width",r]]:[...n.slice(0,l+1),["width",r],...n.slice(l+1)])}}};var BJ=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"]),AE={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(BJ.has(e)||t.isHostBlock(e)),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}},ZJ=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","CountrySwitchBlock"]),LE={name:"blockGroups",applies:e=>ZJ.has(e),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}};var GJ=["Form","Stats"];function Eo(e,t){let a=new Set(e),s=lS.filter(l=>a.has(l)),o=s.filter(l=>l!=="Header"&&l!=="Footer"&&!Dn.includes(l)),r=new Set([...t,...Pn,...GJ]),i=s.filter(l=>!r.has(l)),n=new Set(s);return{isSection:l=>n.has(l),isHostBlock:()=>!1,sectionGroupAllow:o,contentSectionKeys:i}}var WJ=[WT,UT,gE,YT,fE,XT,vE,qT,kE,SE,CE,ME,lE,aE,bE,rE,cE,hE,xE,AE,LE,QT,JT,jT,eE,GT];function Hc(e,t,a){let s=t;for(let o of WJ)o.applies(e,a,s)&&(a.inspector&&o.panel?.(s,e,a.inspector,a),o.draw?.(s,e,a));return t}import{WidthIcon as rQ}from"efficient-easel/icons";import{jsx as qJ}from"react/jsx-runtime";import{useEffect as $J,useRef as jJ}from"react";import{usePreviewParts as KJ}from"efficient-easel/draw/client";import{usePreviewDevice as YJ}from"efficient-easel/draw/client";import{encodePartId as XJ}from"efficient-easel/draw";var Ho="data-puck-component";function Fg(e,t){return e.closest(`[${Ho}]`)?.getAttribute(Ho)===t}function TE(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(!Fg(v,t))continue;let g=v.getAttribute(s8);g&&(o.push({element:v,partId:p7(t,g)}),r.add(v))}let i=[];for(let u=0;u<s.length;u+=1){let v=s[u];if(!Fg(v,t)||r.has(v))continue;let g=tC(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:Lu(w.key,w.row),exact:!0},A=n.get(z);A?A.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=Lu(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},A=n.get(z);A?A.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:p7(t,g[0].partKey)});continue}new Set(g.map(f=>f.key)).size===1&&d.push({element:u,partId:p7(t,g[0].key)})}return d}function Pg(e,t,a){let s=e.querySelectorAll(`[${m7}]`);for(let r=0;r<s.length;r+=1){let i=s[r];Fg(i,t)&&i.removeAttribute(m7)}let o=[];for(let{element:r,partId:i}of a)r.setAttribute(m7,i),o.push(r);return o}function EE(e,t,a,s,o,r=()=>null){let i=null,n=null,l=null,c=()=>{let h=a(),p=h?.getAttribute(Ho)??null;if(!h||!p)return!1;i=p;let d=TE(e,p,t);return o(h,p,Pg(e,p,d)),l=r(()=>{let u=TE(e,p,t);UJ(d,u)||(d=u,o(h,p,Pg(e,p,u)))}),!0};return c()||(n=s(()=>{(i||c())&&(n?.(),n=null)})),()=>{n?.(),n=null,l?.(),l=null,i&&Pg(e,i,[])}}function UJ(e,t){return e.length===t.length&&e.every((a,s)=>a.element===t[s].element&&a.partId===t[s].partId)}function HE(e,t){return e?.closest(`[${m7}]`)?.getAttribute(m7)??p7(t,null)}function PE(e,t){return e!==p7(t,null)}function Ng(e){let t=null,a=null;for(let s=e;s&&(t===null||a===null);s=s.parentElement){let o=s.getAttribute("class");t??=$S(o),a??=Vu(o)}return{faceRole:t??"body",sizeGroup:a}}function Pc(e){let t=e.style,a={};for(let i of Fu)a[i]=t[i]??"",t[i]="";let s=getComputedStyle(e),o=getComputedStyle(e.ownerDocument.documentElement),r=sC({fontSize:s.fontSize,fontWeight:s.fontWeight,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,textAlign:s.textAlign,textTransform:s.textTransform,paddingTop:s.paddingTop,maxWidth:s.maxWidth},oC(s.fontFamily,i=>o.getPropertyValue(i)));for(let i of Fu)t[i]=a[i];return r}function FE({needles:e,styles:t,type:a,children:s}){let o=jJ(null),{selectedPartId:r,select:i}=KJ(),{setPartStyle:n}=rl(),l=YJ()==="mobile",c=JSON.stringify(e),h=JSON.stringify(t);return $J(()=>{let p=o.current;if(!p)return;let d=[],u=()=>p.parentElement,v=z=>{let k=u();if(!k)return null;let A=new MutationObserver(z);return A.observe(k,{attributes:!0,attributeFilter:[Ho]}),()=>A.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=EE(p,b,u,v,(z,k,A)=>{for(let P of f)P();f=[];let I=[];for(let P of A){let _=P,U=i8(_);U&&f.push(U),_.getAttribute(m7)===r?(_.setAttribute(T9,""),I.push(_)):_.removeAttribute(T9)}let E=rC(k,r,I,P=>jS(P)!==null||Vu(P)!==null);if(E&&r){let P=E;n({partId:r,...Ng(P),base:Pc(P),inks:bM(P),...(()=>{let _=Tu(P);return _?{styleOwner:_}:{}})()})}Pu(A.filter(P=>!Tu(P)).map(P=>({element:P,partId:P.getAttribute(m7)??""})),x,P=>Pc(P),P=>iC(a,P),void 0,l);let F=[...p.querySelectorAll(`[${Zn}="${CSS.escape(k)}"][${mo}]`)];F.length&&Pu(F.map(P=>({element:P,partId:XJ(k,P.getAttribute(mo)??"")})),x,void 0,P=>P,void 0,l);let N=P=>{let _=HE(P.target,k);PE(_,k)&&(P.stopPropagation(),P.preventDefault()),i(_)},H=z;H.addEventListener("click",N,{capture:!0}),f.push(()=>H.removeEventListener("click",N,{capture:!0}))},g);return()=>{w();for(let z of d)z()}},[c,h,r,i,n,l]),qJ("div",{ref:o,style:{display:"contents"},children:s})}function JJ(e,t){let a=Uu(t),s=a?a.inner:t;if(Xu(s))return!1;if(s?.type==="slot")return!0;let o=AM(s);return o==="always"?!1:o==="authored-copy"?eC(e):!0}function NE(e){let t=Uu(e),a=t?t.inner:e,s=Xu(a);return s?sA(a)?0:s.level:null}function QJ(e,t,a){return a?t===0&&e===ko.Design||t===1&&e===zA.Content:!1}var eQ=new WeakMap,tQ=new WeakMap;function Fc(e,t="section"){let a=t==="page"?tQ:eQ,s=a.get(e);if(s)return s;let o=Object.entries(e).map(([p,d])=>({key:p,field:d,level:NE(d),draws:JJ(p,d)||t==="page"&&NE(d)===null&&Hu(p,d)})),r=t==="section"&&o.some(p=>Hu(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&&!QJ(o[p].key,d,r)&&i.add(o[p].key)}let n=r&&AA(e),l=n&&!(ko.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=It(n?MA(c):c);return a.set(e,h),h}import{isShown as aQ,showWhenFactReaders as sQ}from"efficient-shell/format";var IE=new WeakMap,oQ=new Set(Object.values(ko));function RE(e,t,a,s={}){if(!e)return e;let o=t?.props??{},r=o.id,i=sQ(s,t,a),n=IA(a,{...i,parentOffersPositions:()=>{let v=Tc(a.appState,r);return v===void 0?void 0:ZS(v)},heroGroupDepth:()=>at(a.appState?.data,typeof r=="string"?r:"")}),l=[];for(let[v,g]of Object.entries(e)){let f=GS(g);!f||NA(f,"device")||aQ(f,o,n)||l.push(v)}if(l.length===0)return e;let c=IE.get(e);c||IE.set(e,c=new Map);let h=l.join("\0"),p=c.get(h);if(p)return p;let d=new Set(l),u={};for(let[v,g]of Object.entries(e))d.has(v)||(u[v]=g);return l.some(v=>oQ.has(v))&&(u=It(u)),c.set(h,u),u}var Po={spacingFields:At,sidesPaddingFields:F9,sectionShapeFields:Ml,cardShapeFields:iA,cellWidthFields:pA,widthField:z6,heightFields:dA,anchorFields:gA,stickFields:uA,sectionThemeFields:Mt,sectionAnimationFields:rA,slider:c1,WidthIcon:rQ,assignSectionGroups:Rl,dropEmptyHeadings:Fc,rowsShownForNode:RE,SECTION_THEME_FOLLOW_LABEL:cl,BLOCK_THEME_FOLLOW_LABEL:yM,PartAnchors:FE};function Nc(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=Nc(i.arrayFields,t,a),c=Nc(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 iQ(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=Hc(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 Ic(e,t){let a=Object.entries(t?.host??{}),s=t?.categories??[],o=FS(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?Nc(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=Eo(Object.keys(r),d),v={...u,isSection:g=>p.has(g)||u.isSection(g),isHostBlock:g=>p.has(g),inspector:Po};for(let[g,f]of a){let b=iQ(g,f,v),x=Nc(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 Rc}from"efficient-easel/screen/lib/host-chrome";function nQ(e){return!!e&&typeof e=="object"&&typeof e[UM]=="string"}function lQ(e,t){if(!e)return e;let a=null;for(let[s,o]of Object.entries(e))nQ(o)&&(a??={...e},a[s]={...o,siteGap:t});return a??e}function VE(e,t){let a=e,s=!1,o={};for(let[r,i]of Object.entries(a.components)){let n=lQ(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 _E=Vl.mediaFields,OE=Vl.snapshotObjects,DE=Vl.hydratedLists;function cQ(e){return typeof e=="string"?"":Array.isArray(e)?[]:e&&typeof e=="object"?null:e}function Ig(e,t){if(t.length===0)return cQ(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=>Ig(l,s.length?s:[]))}:e:{...i,[r]:Ig(n,s)}}function BE(e,t){if(Array.isArray(e))return e.map(o=>BE(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 hQ(e,t){let a=t;for(let o of _E[e]??[])a=Ig(a,o.split("."));let s=OE[e];if(s)for(let[o,r]of Object.entries(s))o in a&&(a={...a,[o]:BE(a[o],r.keep)});for(let o of DE[e]??[])Array.isArray(a[o])&&(a={...a,[o]:[]});return a}function pQ(e,t){return typeof t!="function"?t:a=>t(hQ(e,a))}function Vc(e,t){if(!t)return e;let a=e,s={};for(let[o,r]of Object.entries(a.components)){let i=(_E[o]?.length??0)>0||OE[o]||DE[o];s[o]=i&&r.render?{...r,render:pQ(o,r.render)}:r}return{...a,components:s}}import{default as ZE,DocumentScreen as GE}from"efficient-easel/screen/components/ScreenMount";import{jsx as mQ}from"react/jsx-runtime";import{createContext as dQ,useCallback as uQ,useContext as Ww1,useState as Rg}from"react";var gQ=dQ({footerBlock:null,setFooterBlock:()=>{},headerGroup:null,setHeaderGroup:()=>{},refreshToken:0,refreshFooter:()=>{}});function WE({children:e,editFooter:t}){let[a,s]=Rg(null),[o,r]=Rg(null),[i,n]=Rg(0),l=uQ(()=>n(c=>c+1),[]);return mQ(gQ.Provider,{value:{footerBlock:a,setFooterBlock:s,headerGroup:o,setHeaderGroup:r,editFooter:t,refreshToken:i,refreshFooter:l},children:e})}import{useCallback as vQ,useEffect as fQ,useMemo as UE,useRef as qE,useState as bQ}from"react";var xQ="Could not save this link. Check your connection and try again.";function wQ(e,t){if(!(e instanceof x6)||e.kind!=="invalid")return null;let a=e.fields?.[t];return typeof a=="string"&&a.trim()?a:null}function yQ(e){return Object.fromEntries(N9.map(t=>[t,{value:e[t]??"",error:null}]))}function $E({token:e,siteId:t,enabled:a}){let[s,o]=bQ(og),r=qE(null),i=qE(!1),n=dt(),l=I5(n).social,c=a&&!!e&&!!t&&!!l;fQ(()=>{if(!c||!e||!t||!l)return;r.current!==t&&(r.current=t,i.current=!1,o(og));let d=!1;return l.get({siteId:t}).then(u=>{!d&&!i.current&&o(yQ(u))}).catch(()=>{}),()=>{d=!0}},[c,e,t,l]);let h=vQ(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=wQ(v,d)??xQ;return o(f=>({...f,[d]:{...f[d],error:g}})),{ok:!1,error:g}}},[c,e,t,l]),p=UE(()=>_l(Object.fromEntries(N9.map(d=>[d,s[d].value]))),[s]);return UE(()=>({links:p,rows:s,canSave:c,saveLink:h}),[p,s,c,h])}function _g(e,t){let a=t?{siteId:t}:void 0;return{resolve:s=>e.load({slug:s,...a}).then(o=>(o&&rg(o.id,o.live),o)),saveLayout:(s,o,r,i)=>e.save(s,{layout:o},{version:r,clientId:i??""}).then(n=>(ig(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=>(ng(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 zQ(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=qA(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(cg(v===c5?null:u),v===c5)return a.resolve(v);let g=!1,[f,b]=await Promise.all([a.resolve(v),e.load({slug:c5,...t}).catch(()=>(g=!0,null))]);if(b){rg(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=$A(p(f.layout),o.layout);return o.savedJson=JSON.stringify(lg(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=lg(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 A=await e.save(x.id,{layout:w.chrome},{version:x.version,clientId:b??""});ig(x.id,A.live),x.layout=w.chrome,x.version=A.version,x.savedJson=k,i=!0,h({conflict:null,saveFailed:!1})}catch(A){ll(A,"changed-elsewhere")?h({conflict:A.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):ll(A,"lock-taken")?h({lockHolder:A.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);ng(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){ll(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 Fo(e,t=I5(),a=Cu(),s={}){let o=ku(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=_g(t.pages,e),p=c?zQ(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,...KE(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 jE(e,t=I5(),a=Cu()){let s=ku(t),o=t.templates,r=o?o.pages(e):{list:()=>Promise.reject(new Error(Vg)),load:()=>Promise.reject(new Error(Vg)),save:()=>Promise.reject(new Error(Vg))};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},..._g(r,void 0),...KE(_g(r,void 0).resolve),publish:void 0,templateName:o?()=>o.get(e).then(i=>i.name):void 0}}function KE(e){return{resolve:t=>(cg(null),e(t))}}var Vg="This editor's backend has no website templates.";var kQ={"Logos.logosPerRow":"columns","HeroSlide.tintOpacity":"overlay","Split.textBgTint":"overlay"};function SQ(e){return Array.isArray(e)&&e.length>0&&e.every(t=>!!t&&typeof t=="object"&&typeof t.type=="string")}function Og(e){let t=e.props,a=!1;if(e.type&&t)for(let[s,o]of Object.entries(kQ)){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(!SQ(r))continue;let i=r.map(Og);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 _c(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(Og);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(Og);return l.some((c,h)=>c!==n[h])&&(o=!0),[i,l]}));o&&(s.zones=r,a=!0)}return a?s:e}var YE={homeSlug:ct,entryMayBounce:e=>e.kind==="template"||e.kind==="page"&&e.slug===c5,entryBounce:(e,t)=>e.kind==="page"&&e.slug===c5?{kind:"page",slug:ct,siteId:e.siteId}:e.kind!=="template"||new URLSearchParams(t).get("editTemplate")==="1"?null:{kind:"page",slug:ct},onSwitch:()=>{},tellsHost:e=>e.kind==="page"&&e.slug!==c5,adapterFor:(e,t,a)=>e.kind==="template"?jE(e.id,t,Su(a)):Fo(e.siteId,t,Su(a),{editsPinnedInPlace:!0}),migrateRenamedProps:_c};import{PreviewPartsProvider as LQ}from"efficient-easel/draw/client";var Dg=new Set,Bg=new Set,Zg=new Set;function XE(e){return Dg.add(e),()=>Dg.delete(e)}function JE(){Dg.forEach(e=>e())}function z8(e){return Bg.add(e),()=>Bg.delete(e)}function QE(){Bg.forEach(e=>e())}function Oc(e){return Zg.add(e),()=>Zg.delete(e)}function Gg(){Zg.forEach(e=>e())}var Wg=new Map,CQ=9e5,eH=0;function MQ(){return eH+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(eH)}`}function tH(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function aH(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let a=MQ();return new Promise(s=>{let o=setTimeout(()=>sH(a,{status:"timeout"}),t.timeoutMs??CQ);Wg.set(a,r=>{clearTimeout(o),s(r)}),e.send("storefront-editor:open-form",{requestId:a,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function sH(e,t){let a=Wg.get(e);a&&(Wg.delete(e),a(t))}function Ug(e,t){sH(e,t?{status:"saved",form:t}:{status:"closed"})}function Dc(e){switch(e?.type){case"storefront-editor:category-updated":return JE(),!0;case"storefront-editor:menus-updated":return QE(),!0;case"storefront-editor:form-saved":{let t=e;return Gg(),t.requestId&&Ug(t.requestId,t.form??null),!0}case"storefront-editor:form-closed":{let t=e;return Gg(),t.requestId&&Ug(t.requestId,null),!0}default:return!1}}var TQ=()=>{if(typeof window>"u")return f6;try{let e=window.localStorage.getItem(uo);return e==="light"||e==="dark"||e==="auto"?e:f6}catch{return f6}},oH=e=>{if(!(typeof window>"u"))try{window.localStorage.setItem(uo,e)}catch{}},EQ=()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Wn)!==Ru}catch{return!1}},HQ=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(hC)}catch{}},rH=e=>{if(!(typeof window>"u"))try{e?window.localStorage.removeItem(Wn):window.localStorage.setItem(Wn,Ru)}catch{}};function PQ(){let{adapter:e,capabilities:t,templateId:a,ready:s,token:o,siteId:r,currentSlug:i,currentKind:n}=mt();k8(()=>(ag(i,n),()=>ag(null,null)),[i,n]);let l=t.placeholderFrames,[c,h]=h2(null),[p,d]=h2("");k8(()=>{let A1=e.templateName;if(!s||!a||!A1){d("");return}let r2=!1;return A1().then(K3=>!r2&&d(K3??"")).catch(()=>{}),()=>{r2=!0}},[s,o,a,e]);let[u,v]=h2(f6),[g,f]=h2(!1),[b,x]=h2({selected:0,themes:[]}),[w,z]=h2(KS),[k,A]=h2(bC),[I,E]=h2(null),[F,N]=h2(EC),[H,P]=h2(null),[_,U]=h2(null),[D,Z]=h2(Ou),[O,K]=h2(null),[X,B]=h2(null),[r1,V]=h2(null),[q,j]=h2(null),Q=dt(),J=qg(()=>Ic(Hn(Q),Fn(Q)),[Q]),i1=qg(()=>VE(Vc(J,l),q),[J,l,q]),[s1,G1]=h2(PC),[n0,W1]=h2(null),[$1,j1]=h2(null),[R1,e2]=h2(null),u0=S8(null),l0=S8(!1);k8(()=>{v(TQ()),f(EQ())},[]);let v0=E2(A1=>{l0.current=!0,HQ(),oH(A1),v(A1)},[]),f1=E2(A1=>{l0.current=!0,rH(A1),f(A1)},[]),K1=E2(A1=>{l0.current=!0,x(A1)},[]),s0=E2(A1=>{l0.current=!0,z(A1)},[]),f0=E2(A1=>{l0.current=!0,A(A1)},[]),U0=E2(A1=>{l0.current=!0,E(A1)},[]),q0=E2(A1=>{l0.current=!0,N(A1)},[]),c0=E2(A1=>{l0.current=!0,P(A1)},[]),m0=E2(A1=>{l0.current=!0,U(A1)},[]),l1=E2(A1=>{l0.current=!0,Z(A1)},[]),Y1=E2(A1=>{l0.current=!0,K(A1)},[]),b0=E2(A1=>{l0.current=!0,G1(A1)},[]),[X2,t5]=h2(null),[E3,a5]=h2(null),p6=E2(A1=>{l0.current=!0,t5(A1)},[]),H3=E2(A1=>{l0.current=!0,B(A1)},[]),t8=E2(A1=>{l0.current=!0,V(A1)},[]),c7=E2(A1=>{l0.current=!0,j(A1)},[]),J2=E2(A1=>{l0.current=!0,W1(A1)},[]),P3=E2(A1=>{l0.current=!0,j1(A1)},[]),j3=E2(A1=>{l0.current=!0,e2(A1)},[]);k8(()=>{let A1=I5(Q).theme;if(!o||!t.hasSiteTheme||!A1)return;let r2=r??"";u0.current!==r2&&(u0.current=r2,l0.current=!1);let K3=!1;return A1.get(r?{siteId:r}:void 0).then(z0=>{if(K3||l0.current)return;oH(z0.default_mode),rH(z0.show_theme_switch),v(z0.default_mode),f(z0.show_theme_switch),x({selected:z0.selected_preset,themes:z0.theme_presets});let m6=JA(z0);z(m6.fonts),A(m6.sizes),E(z0.corner_radius_px===void 0?qn[Un(z0.corner_style)]:$n(z0.corner_radius_px)),N(m6.compression),P(z0.card_shadow==null?wC:zC(z0.card_shadow)),Z(z0.card_gap==null?Ou:kC(z0.card_gap)),K(z0.hover_effect==null?yC:SC(z0.hover_effect)),U(CC(z0.shadow_color)),B(OC(z0.site_width)),V(BC(z0.site_gutter)),j(qM(z0.block_gap)),G1(m6.typography),t5(m6.textStyles),a5(JS(z0)),W1(z0.hero_background_follows_width===!0),j1(z0.photography_grayscale===!0),e2(z0.share_button_on_posts===!0)}).catch(()=>{}),()=>{K3=!0}},[o,r,t.hasSiteTheme,Q]);let c4=$E({token:o,siteId:r,enabled:t.hasSiteSettings}),[F3,s5]=h2(VA),o5=S8(null),B2=S8(!1),r5=S8(null),g3=S8({}),N5=E2(A1=>{B2.current=!0,s5(r2=>({...r2,...A1})),!(!t.hasSiteSettings||!o)&&(g3.current={...g3.current,...A1},r5.current&&clearTimeout(r5.current),r5.current=setTimeout(()=>{let r2=g3.current;g3.current={},I5(Q).chat?.update(r2,r?{siteId:r}:void 0).catch(()=>{})},500))},[t.hasSiteSettings,o,r,Q]);k8(()=>{if(!o||!t.hasSiteSettings)return;let A1=r??"";o5.current!==A1&&(o5.current=A1,B2.current=!1);let r2=!1,K3=I5(Q).chat;if(K3)return K3.get(r?{siteId:r}:void 0).then(z0=>{r2||B2.current||s5(_A(z0))}).catch(()=>{}),()=>{r2=!0}},[o,r,t.hasSiteSettings,Q]);let[M1,p1]=h2(""),t2=S8(null),g2=S8(!1);k8(()=>p1(DT()),[]);let i5=E2(A1=>{let r2=A1.trim();if(r2===M1)return;g2.current=!0,Cg(r2),p1(r2);let K3=e.updateSite;!t.canEditSiteRecord||!s||!K3||K3({mapsApiKey:r2}).catch(()=>{})},[M1,t.canEditSiteRecord,s,e]),[h7,no]=h2("");k8(()=>no(BT()),[]),k8(()=>{let A1=e.site;if(!s||!t.hasSiteRecord||!A1){h(null);return}let r2=r??"";t2.current!==r2&&(t2.current=r2,g2.current=!1);let K3=!1;return A1().then(z0=>{if(K3||(h(RA(z0.name)),g2.current))return;let m6=z0.mapsApiKey??"";Cg(m6),p1(m6);let Sn=z0.mapsMapId??"";ZT(Sn),no(Sn)}).catch(()=>{}),()=>{K3=!0}},[s,o,t.hasSiteRecord,r,e]);let lo=qg(()=>({apiKey:M1,setApiKey:i5,mapId:h7}),[M1,i5,h7]);return g4(GE,{config:i1,parts:cT,wrap:(A1,r2)=>g4(nl,{websiteName:c,templateChrome:l,templateName:p||null,themeMode:u,onThemeModeChange:v0,themeSwitchShown:g,onThemeSwitchShownChange:f1,theme:b,onThemeChange:K1,fonts:w,onFontsChange:s0,cornerRadiusPx:I,onCornerRadiusPxChange:U0,cardShadow:H,onCardShadowChange:c0,shadowColor:_,onShadowColorChange:m0,cardGap:D,onCardGapChange:l1,hoverEffect:O,onHoverEffectChange:Y1,headingCompression:F,onHeadingCompressionChange:q0,headingTypography:s1,onHeadingTypographyChange:b0,textStyles:X2,onTextStylesChange:p6,wordStyles:E3,sizes:k,onSizesChange:f0,siteWidth:X,onSiteWidthChange:H3,siteGutter:r1,onSiteGutterChange:t8,blockGap:q,onBlockGapChange:c7,heroBackgroundFollowsWidth:n0,onHeroBackgroundFollowsWidthChange:J2,photographyGrayscale:$1,onPhotographyGrayscaleChange:P3,shareButtonOnPosts:R1,onShareButtonOnPostsChange:j3,themeFromDocument:!t.hasSiteTheme,children:g4(WE,{children:g4(Rc,{wrap:Q.chrome?.wrap,surface:"page",children:g4(Bl,{children:g4(Zl,{children:g4(LQ,{children:g4(Gl,{children:g4(ol,{children:AQ(xc,{value:lo,children:[g4(OA,{chat:F3,onChatChange:N5,children:g4(GA,{value:c4,children:g4(WA,{children:A1})})}),r2]})})})})})})})})})})}function iH({target:e}){return g4(ZE,{target:e,addressing:YE,onHostMessage:Dc,children:g4(PQ,{})})}import{createContext as NQ,useContext as IQ,useMemo as RQ}from"react";var FQ=["vehicle","process","size","lugs","finish","price"],Zc={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};function nH(e){if(!e)return Zc;let t={...Zc};for(let a of FQ){let s=e[a];if(typeof s!="string")continue;let o=s.trim();o&&(t[a]=o)}return t}import{jsx as VQ}from"react/jsx-runtime";var lH=NQ(Zc);function cH({labels:e,children:t}){let a=RQ(()=>nH(e),[e]);return VQ(lH.Provider,{value:a,children:t})}function No(){return IQ(lH)}import{createContext as c11,useContext as h11,useMemo as p11}from"react";import{isSafeLinkHref as Uz1}from"efficient-shell/markup";var b7=["width","profile","rim"],hH={width:"Width",profile:"Profile",rim:"Rim"},_Q=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,OQ={width:[100,500],profile:[20,100],rim:[10,30]};function B4(e){let t=_Q.exec(e??"");if(!t)return null;let a={width:Number(t[1]),profile:Number(t[2]),rim:Number(t[3])};return b7.every(o=>{let[r,i]=OQ[o];return a[o]>=r&&a[o]<=i})?a:null}function Z5(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 pH(e){return[Z5({width:e.width}),Z5({width:e.width,profile:e.profile}),Z5(e)]}var v4=["alloy-wheel","tyre"],Gc=["alloy-wheel"],Z4={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},mH="All products",dH="All product types";function k6(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 ta=v4.map(e=>({value:e,label:Z4[e]}));function S6(e){return e==null?[...Gc]:Array.isArray(e)?v4.filter(t=>e.includes(t)):[...Gc]}var e4=e=>e;function j0(e){return e4(e).kind==="tyre"?"tyre":"alloy-wheel"}function uH(e,t){return e.filter(a=>t.includes(j0(a)))}function C8(e){return e4(e).slug??""}function $g(e){return e4(e).name??""}function aa(e){return e4(e).brand??""}function gH(e){let t=new Set;for(let a of e)if(t.add(aa(a)),t.size>1)return!0;return!1}function DQ(e){return e4(e).process??""}function vH(e){let t=new Set;for(let a of e)if(t.add(DQ(a)),t.size>1)return!0;return!1}function q9(e){return e4(e).prices??void 0}function jg(e){return e4(e).inStock!==!1}function fH(e){let t=e4(e),a=j0(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(a)?a.filter(s=>typeof s=="number"&&Number.isFinite(s)):[]}function Kg(e){return j0(e)!=="tyre"&&e4(e).badge==="new"}function Yg(e){return j0(e)==="tyre"?[]:(e4(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function bH(e){return Yg(e).map(t=>t.family)}function xH(e){if(j0(e)==="tyre")return[];let t=e4(e),a=t.categories;return a&&a.length>0?a:t.process?[t.process]:[]}function wH(e){return j0(e)==="tyre"?[]:e4(e).spec?.pcds??[]}function yH(e){return j0(e)!=="tyre"?[]:e4(e).tyreTypes??[]}function zH(e){return j0(e)!=="tyre"?[]:e4(e).speedRatings??[]}function sa(e){if(j0(e)!=="tyre")return[];let t=e4(e).sizes;return Array.isArray(t)?t.map(a=>B4(typeof a=="string"?a:null)).filter(a=>a!==null):[]}function G5(e,t){return e.length===0?e:e.filter(a=>a.kind===void 0||a.kind===t)}function Wc(e,t){if(t.length===0)return e;let a=oa(t);return M8(e.filter(s=>a(s.fieldKey)),s=>s.fieldKey,t,"cardOrder")}function kH(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 Xg(e){return qc(e,"spec")}function SH(e){return qc(e,"fitment")}function Jg(e,t){if(t.length===0)return e;let a=Xg(t),s=e.filter(o=>a(o.fieldKey));return M8(s,o=>o.fieldKey,t,"specOrder")}function M8(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 oa(e){return qc(e,"card")}function Uc(e){return qc(e,"filter")}var ra="collection";function ia(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":ra},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function qc(e,t){let a=new Set(e.filter(s=>s[t]===!1).map(s=>s.fieldKey));return s=>!s||!a.has(s)}var na={inStock:"In stock",outOfStock:"Out of stock",notInStockHere:"Not in stock here"};function CH(e){return e?na.inStock:na.outOfStock}function s3(e){return Number.isInteger(e)?String(e):String(Number(e.toFixed(2)))}var MH=" to ";function Qg(e){return e<0?`\u2212${s3(-e)}`:s3(e)}function $c(e,t){return e===t?`ET ${Qg(e)}`:`ET ${Qg(e)}${MH}${Qg(t)}`}function jc(e,t){return e===t?`${s3(e)}"`:`${s3(e)}"${MH}${s3(t)}"`}function ev(e){return e==="\u2014"?e:`${e}"`}var Io={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},AH=Object.keys(Io);function la(e){return Q2(AH,"recommended",e)}function tv(e){return AH.filter(t=>t!=="recommended"||e.length<=1)}function LH(e,t){let a=la(e);return tv(t).includes(a)?a:"name"}var Ro=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],ZQ={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},GQ={diameters:"tyreSizes"};function TH(e){if(e.length===0)return[];let t=Ro.filter(a=>e.every(s=>ZQ[a].includes(s)));return t.filter(a=>{let s=GQ[a];return!s||!t.includes(s)})}function EH(e,t){return t&&e.includes(t)?[t]:[...e]}function HH(e){let t=new Set;for(let a of e)t.add(j0(a));return[...t]}var C6={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function ca(e){return`${WQ(e.width)}\xD7${e.diameter}`}function WQ(e){return s3(e)}function Vo(e,t,a,s=null){if(s!=="kind"&&t.kind&&j0(e)!==t.kind)return!1;for(let o of Ro){if(s===o)continue;let r=t[o];if(r.length===0)continue;let i=r.map(String);if(!NH(e,o).some(n=>i.includes(n)))return!1}return!(s!=="price"&&!hc(q9(e),a,null,t.priceMax)||s!=="inStock"&&t.inStockOnly&&!jg(e))}function PH(e,t,a){return e.filter(s=>jg(s)&&Vo(s,t,a,"inStock")).length}function UQ(e,t,a){let s=[...e],o=(i,n)=>$g(i).localeCompare($g(n)),r=HH(e).length>1;switch(t){case"price-asc":return s.sort((i,n)=>qt(q9(i),q9(n),a,"asc"));case"price-desc":return s.sort((i,n)=>qt(q9(i),q9(n),a,"desc"));case"name":return s.sort(o);case"new":return s.sort((i,n)=>{let l=(Kg(n)?1:0)-(Kg(i)?1:0);return l!==0||!r?l:o(i,n)});default:return s}}function FH(e,t,a){return UQ(e.filter(s=>Vo(s,t,a)),t.sort,a)}function Kc(e){return Ro.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}var av={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function NH(e,t){switch(t){case"tyreSizes":return[...new Set(sa(e).flatMap(pH))];case"brands":return aa(e)?[aa(e)]:[];case"finishes":return bH(e);case"diameters":return fH(e).map(String);case"collections":return xH(e);case"pcds":return wH(e);case"tyreTypes":return yH(e);case"speedRatings":return zH(e)}}function qQ(e){let t=new Map;for(let a of e)for(let s of Yg(a))s.color&&!t.has(s.family)&&t.set(s.family,s.color);return t}function Yc(e,t,a,s=HH(e),o=[]){let r=c=>$Q(c,s,o),i=qQ(e),n=TH(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=NH(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(Vo(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:av[c],options:v}}).filter(c=>c.options.length>_o),l=[];for(let c of n){let h=jQ(c.key,s,o);h!==void 0&&l.push({fieldKey:c.key,filterOrder:h})}return[...M8(n,c=>c.key,l,"filterOrder")]}var _o=1;function Xc(e){return e.showCollection===!1?["collections"]:[]}function $Q(e,t,a){return t.length===0||a.length===0?!0:t.some(s=>Uc(G5(a,s))(ia(e,s)))}function jQ(e,t,a){if(a.length===0)return;let s;for(let o of t){let r=kH(G5(a,o),"filter")(ia(e,o));r!==void 0&&(s===void 0||r<s)&&(s=r)}return s}function KQ(e){let t=new Set;for(let a of e)for(let s of sa(a))t.add(Z5(s));return t.size}function IH(e,t){return TH(t).includes("tyreSizes")?KQ(e)>_o:!1}function RH(e){let t=B4(e);if(t)return t;let[a,s]=e.split("/");return{width:a?Number(a):void 0,profile:s?Number(s):void 0}}function YQ(e,t,a){return b7.slice(0,b7.indexOf(a)).every(s=>{let o=t[s];return o==null||e[s]===o})}function VH(e,t,a){let s=RH(t.tyreSizes[0]??""),o=new Set(e.filter(r=>Vo(r,t,a,"tyreSizes")));return b7.map(r=>{let i=new Map;for(let l of e){let c=sa(l).filter(h=>YQ(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:hH[r],value:s[r]??null,options:n}})}function _H(e,t,a,s){let o={...RH(t)},r=b7.indexOf(a);o[a]=s??void 0;for(let i of b7.slice(r+1))o[i]!=null&&e.some(c=>b7.slice(0,b7.indexOf(i)+1).every(h=>o[h]==null||c[h]===o[h]))||(o[i]=void 0);return Z5(o)}function OH(e,t,a,s){if(t.length<2)return[];let o=e.filter(r=>Vo(r,a,s,"kind"));return[{kind:null,label:mH,count:o.length,checked:a.kind===null},...t.map(r=>({kind:r,label:Z4[r],count:o.filter(i=>j0(i)===r).length,checked:a.kind===r}))]}function DH(e,t){if(e.length===0)return null;let a=e.map(r=>Ut(q9(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 BH(e,t,a){let s=[];e.kind&&s.push({key:"kind",value:e.kind,label:Z4[e.kind]}),e.inStockOnly&&s.push({key:"inStock",value:"",label:na.inStock});for(let o of Ro)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 m5={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},A8="type",ZH="maxPrice",GH="inStock",WH="sort",UH="page";function qH(e){let t=r=>e.getAll(r).flatMap(i=>i.split(",")).filter(Boolean),a=Number(e.get(ZH)),s=Number(e.get(UH)),o=e.get(A8);return{tyreSizes:t(m5.tyreSizes),brands:t(m5.brands),finishes:t(m5.finishes),diameters:t(m5.diameters).map(Number).filter(Number.isFinite),collections:t(m5.collections),pcds:t(m5.pcds),tyreTypes:t(m5.tyreTypes),speedRatings:t(m5.speedRatings),priceMax:Number.isFinite(a)&&a>0?a:null,inStockOnly:e.get(GH)==="1",kind:v4.find(r=>r===o)??null,sort:la(e.get(WH)),page:Number.isFinite(s)&&s>=1?Math.floor(s):1}}function $9(e){let t=new URLSearchParams;for(let a of Ro){let s=e[a];s.length>0&&t.set(m5[a],s.join(","))}return e.priceMax!=null&&t.set(ZH,String(e.priceMax)),e.inStockOnly&&t.set(GH,"1"),e.kind&&t.set(A8,e.kind),e.sort!=="recommended"&&t.set(WH,e.sort),e.page>1&&t.set(UH,String(e.page)),t}function $H(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 jH(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 M6="__all__",KH="All products";function YH(e){return e?.slug===M6}var ha="AlloyWheelsListing",XQ="ProductGrid",XH="catalog",JQ="CatalogFilterBar",Jc="fieldUsage";function pa(e){return e?.type===XQ&&YH(e.props?.source)}function sv(e){return e?.type===JQ}function QQ(e){return e?.type===ha||pa(e)||sv(e)}function e11(e){let t=e.content??[],a=e.zones??{};return[...t,...Object.values(a).flat()]}function ov(e){return e?e11(e).some(t=>t?.type===ha||pa(t)):!1}function JH(e,t){return a11(e,a=>pa(a)?{...a,props:{...rv(a).props,[XH]:t11(t,S6(a.props?.kinds))}}:{...a,props:{...iv(a).props,products:t}})}function QH(e){return aP(e,QQ,t=>sv(t)?eP(t):pa(t)?rv(t):iv(t))}function eP(e){if(!e.props||!(Jc in e.props))return e;let{[Jc]:t,...a}=e.props;return{...e,props:a}}function rv(e){let{[XH]:t,[Jc]:a,...s}=e.props??{};return{...e,props:s}}function t11(e,t){let a=new Set(t);return e.filter(s=>{let o=s.kind??"alloy-wheel";return a.has(o)})}function tP(e){return pa(e)?rv(e):sv(e)?eP(e):e?.type===ha?iv(e):e}function iv(e){let{wheels:t,products:a,[Jc]:s,...o}=e.props??{};return{...e,props:o}}function a11(e,t){return aP(e,a=>a?.type===ha||pa(a),t)}function aP(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 Oo="/wheels",nv="Products";function s11(e,t){return t>1?`${nv} \xB7 ${e}`:nv}function sP(...e){for(let t of e){let a=(t?.content??[]).find(s=>s?.type===ha);if(a)return a.props??{}}return null}function lv(...e){return sP(...e)!==null}function o11(e,t){let a=e.filter(s=>lv(...s.docs)).map(s=>E9(s.slug));return a.length===0&&t.fallback?[Oo]:a}var oP=[A8,...Object.entries(m5).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function rP(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 r11(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function cv(e){let t=new URLSearchParams(rP(e).query);for(let a of oP){let s=t.get(a);if(s)return{param:a,value:s}}return null}function hv(e,t){let{path:a,query:s,hash:o}=rP(e),r=s.split("&").filter(i=>i&&!oP.includes(r11(i.split("=")[0])));return t?.value&&r.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${a}${r.length?`?${r.join("&")}`:""}${o}`}function iP(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 i11="Product type",n11="AUD";function l11(e,t){let a=t.listing??{},s=S6(a.kinds),o=e.filter(l=>s.includes(j0(l))),r=Xc(a),i=Yc(o,C6,n11,s,t.fieldUsage).filter(l=>!r.includes(l.key)).map(l=>({param:m5[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=v4.filter(l=>s.includes(l)&&o.some(c=>j0(c)===l));return n.length>1&&i.unshift({param:A8,label:i11,values:n.map(l=>({value:l,label:Z4[l]}))}),i}function nP(e){return t=>{let a=o11(t,{fallback:e.offersCommerce}),s=t.filter(o=>lv(...o.docs)).length;return{listingPaths:a,pageOptions:o=>{let r=o.map(i=>{let n=t.find(l=>E9(l.slug)===i.value);return n&&lv(...n.docs)?{...i,label:s11(n.title,s)}:i});return s===0&&e.offersCommerce&&!r.some(i=>i.value===Oo)&&r.push({value:Oo,label:nv}),r},filtersFor:o=>{if(!a.includes(o))return null;let r=t.find(i=>E9(i.slug)===o);return l11(e.catalogue,{listing:r?sP(...r.docs):null,fieldUsage:e.fieldUsage})},readFilter:cv,withFilter:hv}}}function lP(e,t=[]){let a=hv(Oo,{param:A8,value:e}),s=t.find(o=>{let r=(o?.url??"").trim();if(!r||r==="#")return!1;let i=cv(r);return i?.param!==A8||i.value!==e?!1:Zu(r).startsWith("/")});return s?s.url:a}function cP(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 m11}from"react/jsx-runtime";var hP=c11([]);function pP({items:e,children:t}){let a=p11(()=>cP(e),[e]);return m11(hP.Provider,{value:a,children:t})}function mP(){return h11(hP)}import{createContext as g11,useCallback as v11,useContext as f11}from"react";var dP={tyre:"tire",tyres:"tires",colour:"color",colours:"colors",centre:"center",centres:"centers",catalogue:"catalog",catalogues:"catalogs",enquire:"inquire",enquiry:"inquiry",enquiries:"inquiries",aluminium:"aluminum"},d11=new RegExp(`\\b(${Object.keys(dP).sort((e,t)=>t.length-e.length).join("|")})\\b`,"gi");function uP(e){return e==="us"?"us":"international"}function u11(e,t){return e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t[0].toUpperCase()+t.slice(1):t}function gP(e,t){return t!=="us"?e:e.replace(d11,a=>u11(a,dP[a.toLowerCase()]))}import{jsx as b11}from"react/jsx-runtime";var vP=g11("international");function fP({variant:e,children:t}){return b11(vP.Provider,{value:e,children:t})}function ma(){let e=f11(vP);return v11(t=>gP(t,e),[e])}import{createContext as x11,useCallback as pv,useContext as w11,useEffect as y11,useMemo as z11,useState as k11}from"react";import{jsx as C11}from"react/jsx-runtime";var S11={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},bP=x11(S11);function xP({children:e,shortcut:t=!0}){let[a,s]=k11(!1),o=pv(()=>s(!0),[]),r=pv(()=>s(!1),[]),i=pv(()=>s(l=>!l),[]);y11(()=>{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=z11(()=>({isOpen:a,open:o,close:r,toggle:i}),[a,o,r,i]);return C11(bP.Provider,{value:n,children:e})}function da(){return w11(bP)}function ua(){return"/edit"}import{createContext as T11,useCallback as Qc,useContext as E11,useEffect as H11,useMemo as P11,useRef as F11,useState as uv}from"react";var wP="/edit";function yP(e){return e===wP||e.startsWith(`${wP}/`)}function zP({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 f4={popup:"shop_popup",subscribeSection:"subscribe_section",subscribeBlogsSection:"subscribe_blogs_section",footerSignup:"footer_signup",stockAlertOptIn:"stock_alert_optin"};var SP="storefront-subscribe-seen",CP="storefront-popup-closed-at",M11=1440*60*1e3,A11=["/checkout","/cart"];function kP(e){let t=e.split(/[?#]/)[0]||"/",a=t.startsWith("/")?t:`/${t}`;return a.length>1?a.replace(/\/+$/,"")||"/":a}function mv(e,t,a){let s=kP(e);return A11.some(o=>s===o||s.startsWith(`${o}/`))?!1:t==="all"?!0:a.some(o=>kP(o)===s)}function L11(e,t,a,s){if(e==="never")return!1;if(a.session.getItem(SP)==="1")return!0;if(e==="visit")return!1;let o=Number(a.local.getItem(CP));return!Number.isFinite(o)||o<=0?!1:s-o<t*M11}function dv(e,t){e.session.setItem(SP,"1"),e.local.setItem(CP,String(t))}function MP(e,t){return e==="exit"&&!t?"delay":e}function AP(e,t,a){let s=a-t;return s<=0?100:Math.min(100,Math.max(0,e/s*100))}function LP(e,t,a){return!e.autoOpen||e.inEditor||!mv(e.path,e.showOn,e.showOnPages)||e.hideAfter!=="never"&&!eT(t.session)?!1:!L11(e.hideAfter,e.hideDays,t,a)}import{jsx as V11}from"react/jsx-runtime";var TP=T11(null),gv={session:tT,local:y3};function N11(){try{return window.matchMedia("(hover: hover) and (pointer: fine)").matches}catch{return!1}}var I11=15,R11=[];function EP({children:e,disableAutoTrigger:t,autoOpen:a=!1,autoOpenDelaySec:s=I11,trigger:o="delay",scrollPercent:r=50,showOn:i="all",showOnPages:n=R11,hideAfter:l="visit",hideDays:c=7}){let[h,p]=uv(!1),[d,u]=uv("chosen"),[v,g]=uv({}),f=ua()??"/",b=yP(f),x=mv(f,i,n),w=F11(!1),z=Qc(F=>{g(F??{}),u("newsletter"),p(!0)},[]),k=Qc(()=>{w.current=!0,g({}),u("chosen"),p(!0)},[]),A=Qc(()=>dv(gv,Date.now()),[]),I=Qc(()=>{p(!1),dv(gv,Date.now())},[]);H11(()=>{if(t||w.current||!LP({autoOpen:a,inEditor:b,path:f,showOn:i,showOnPages:n,hideAfter:l,hideDays:c},gv,Date.now()))return;let N=MP(o,N11());if(N==="scroll"){let P=()=>{AP(window.scrollY,window.innerHeight,document.documentElement.scrollHeight)>=r&&(window.removeEventListener("scroll",P),k())};return window.addEventListener("scroll",P,{passive:!0}),()=>window.removeEventListener("scroll",P)}if(N==="exit"){let P=_=>{_.relatedTarget===null&&_.clientY<=0&&(document.removeEventListener("mouseout",P),k())};return document.addEventListener("mouseout",P),()=>document.removeEventListener("mouseout",P)}let H=window.setTimeout(k,Math.max(0,s)*1e3);return()=>window.clearTimeout(H)},[t,a,b,x,o,s,r,l,c,k]);let E=P11(()=>({isOpen:h,mode:d,open:z,close:I,markSent:A,prefillEmail:v.email??"",signupSource:v.source??f4.popup}),[h,d,z,I,A,v]);return V11(TP.Provider,{value:E,children:e})}function vv(){let e=E11(TP);if(!e)throw new Error("useSubscribePopup() must be called inside <SubscribePopupProvider>. Mount the provider in app/layout.tsx.");return e}import{createContext as _11,useContext as O11,useEffect as D11,useState as HP}from"react";import{jsx as Z11}from"react/jsx-runtime";var PP="storefront-wishlist";function B11(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var FP=_11(null);function NP({children:e}){let[t,a]=HP([]),[s,o]=HP(!1);D11(()=>{let n=y3.getItem(PP);try{n&&a(B11(n))}catch{}o(!0)},[]);function r(n){let l=t.includes(n)?t.filter(c=>c!==n):[...t,n];a(l),y3.setItem(PP,JSON.stringify(l))}let i={slugs:t,ready:s,has:n=>t.includes(n),toggle:r,count:t.length};return Z11(FP.Provider,{value:i,children:e})}function IP(){let e=O11(FP);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}import{jsx as L8}from"react/jsx-runtime";function fv({catalogFilterLabels:e,englishVariant:t,menuItems:a,currency:s,subscribe:o,searchShortcut:r=!0,children:i}){return L8(fP,{variant:uP(t),children:L8(cH,{labels:e,children:L8(pP,{items:a,children:L8(x8,{...s,children:L8(EP,{...o,children:L8(NP,{children:L8(Yt,{children:L8(xP,{shortcut:r,children:i})})})})})})})})}import{jsx as d5}from"react/jsx-runtime";import{useCallback as BP,useEffect as th,useMemo as Do,useRef as U11,useState as Bo}from"react";import{lazy as G11,Suspense as W11}from"react";import{jsx as RP}from"react/jsx-runtime";function ga(e,t={}){let a=G11(async()=>{let r=await e();return{default:"default"in r?r.default:r}}),s=t.loading?t.loading():null;function o(r){return RP(W11,{fallback:s,children:RP(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{PreviewPartsProvider as q11}from"efficient-easel/draw/client";import{sectionTemplates as eh}from"efficient-easel/screen/lib/section-templates";import{newNodeId as $11}from"efficient-easel/draw";import{applyAuthGrant as $k1,NO_BRIDGED_CAPABILITIES as VP,useAdminBridge as _P}from"efficient-easel/screen/lib/admin-bridge";async function OP(e,t,a){let s=!1;try{s=await e()}catch{}return s?(t(),"switched"):(a(),"refused")}import{routeSharedHostMessage as DP}from"efficient-easel/screen/lib/host-inbound";import{documentPermissions as j11}from"efficient-easel/edit-lock";import{useAutosave as K11}from"efficient-easel/autosave";var Y11=ga(()=>import("./chunks/SiteEditorProvider-RRMVA76I.js"),{ssr:!1}),X11=ga(()=>import("./chunks/SectionEditorShell-JSHUZPVJ.js"),{ssr:!1}),GP="HeroSingle",ZP="Untitled section";function J11(e,t){let a=t.components,s=a[e]?e:GP,o=a[s]?.defaultProps??{},r=PS(s,n=>a[n]?.defaultProps??{}),i=s===GL?{blocks:WL()}:null;return{type:s,props:{id:$11(s),...o,...r?{[r.slot]:r.children}:null,...i}}}function Q11(){if(typeof window>"u")return f6;try{let e=window.localStorage.getItem(uo);return e==="light"||e==="dark"||e==="auto"?e:f6}catch{return f6}}function WP({id:e,initialType:t,initialName:a=ZP}){let[s,o]=Bo(e),r=U11(s);th(()=>{r.current=s},[s]);let i=x3(),[n,l]=Bo(t),[c,h]=Bo(a),[p,d]=Bo(void 0),[u,v]=Bo(f6),{token:g,tokenRef:f}=_P({onMessage:D=>{if(Dc(D)||DP(D))return;let Z=D;if(Z?.type==="storefront-editor:navigate"&&Z.target?.kind==="section"&&Z.target.id){let O=Z.target.id;if(O===r.current)return;let K=Z.target.type,X=Z.target.name;OP(z,()=>{l(K),h(X||ZP),o(O),i.address.show({kind:"section",id:O})},()=>i.send("storefront-editor:save-failed"))}}}),b=K11({save:D=>eh.update(D.id,D.node).then(()=>{}),onFailure:(D,Z)=>{Z===0&&i.send("storefront-editor:save-failed")}}),{state:x,push:w,flush:z}=b;th(()=>v(Q11()),[]);let k=dt(),A=k.usesBridgedToken?!!g:!0,I=Do(()=>Ic(Hn(k),Fn(k)),[k]);th(()=>{if(!A)return;let D=!1;return d(void 0),eh.ensure(s,c,J11(n??GP,I)).then(Z=>!D&&d(Z.node)).catch(()=>!D&&d(null)),()=>{D=!0}},[s,n,c,A,I]);let E=BP(D=>{i.send("storefront-editor:dirty");let Z=fg(D);Z&&w({id:r.current,node:Z})},[w,i]),F=i.send,N=BP(async D=>{try{return await D(f.current??""),!0}catch{return F("storefront-editor:save-failed"),!1}},[F]),H=Do(()=>Vc(I,!0),[I]);th(()=>(sg(null),()=>sg(null)),[]);let P=Do(()=>p?_c(ZL(p)):null,[p]),_=Do(()=>({target:{kind:"page",slug:""},adapter:Fo(void 0),capabilities:Fo(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:A,token:g,tokenRef:f,notifyParent:F,runAuthed:N,docId:s,data:P,getLiveData:()=>P,footerOriginSlug:null,error:null,redirecting:!1,saveStatus:KL(x),saveState:x,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:x.pending,toggleAutoSave:()=>{},retrySave:()=>{b.retryNow()},onChange:E,flushSave:z,onPublish:async D=>{let Z=fg(D);Z&&await eh.update(r.current,Z)},bridgeCapabilities:VP,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[s,A,g,F,N,P,x,E,z,b.retryNow]),U=Do(()=>j11(!_.readOnly),[_.readOnly]);return p===void 0?d5("div",{className:"sf-msg",children:m("Loading\u2026")}):p===null||!P?d5("div",{className:"sf-msg sf-msg--error",children:m("Couldn\u2019t open this section.")}):d5(pt.Provider,{value:_,children:d5(nl,{themeMode:u,chromePlaceholder:!0,children:d5(Rc,{wrap:k.chrome?.wrap,surface:"section",children:d5(Bl,{children:d5(Zl,{children:d5(q11,{children:d5(Gl,{children:d5(ol,{children:d5(Y11,{config:H,data:P,onChange:E,permissions:U,children:d5(X11,{})},s)})})})})})})})})}import{cancelPanelPick as jS1,hasMediaPanel as KS1,MediaPanelProvider as UP,requestPanelPick as YS1,settlePanelPick as XS1,useMediaPanel as JS1,usePanelPick as QS1}from"efficient-easel/screen/lib/media-panel";import{useEffect as u01,useState as g01}from"react";import{createContext as e01,useCallback as qP,useContext as t01,useEffect as a01,useId as s01,useMemo as o01,useRef as r01,useState as i01}from"react";import{jsx as n01}from"react/jsx-runtime";var $P=e01(null);function jP({reason:e,children:t}){let[a,s]=i01([]),o=r01(null),r=qP(c=>{s(h=>h.includes(c)?h:[...h,c])},[]),i=qP(c=>{s(h=>h.filter(p=>p!==c))},[]),n=e==="none-configured",l=o01(()=>({noCurrencyConfigured:n,live:a,firstRendered:o,join:r,leave:i}),[n,a,r,i]);return n01($P.Provider,{value:l,children:t})}function KP(e){let t=t01($P),a=s01(),s=!!e&&!!t?.noCurrencyConfigured;s&&t&&t.firstRendered.current===null&&(t.firstRendered.current=a);let o=t?.join,r=t?.leave;return a01(()=>{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 Go={currencies:[],defaultCurrency:null},l01={currencies:[],defaultCurrency:null,reason:"none-configured"},Zo=new Map;function YP(e,t,a=!1){a&&Zo.delete(t);let s=Zo.get(t);return s||(s=c01(e,t),Zo.set(t,s),s.catch(()=>{Zo.get(t)===s&&Zo.delete(t)})),s}async function c01(e,t){try{let a=await tc(e,t);if(!a)return Go;let s=await w0.getSiteBySlug(a);return s.status!=="online"?await h01(e,t):{currencies:s.currencies??[],defaultCurrency:s.defaultCurrency??null}}catch(a){return console.warn("[editor-currency-source] load failed; editor stays unpriced",a),Go}}async function h01(e,t){let a=await E1.listSiteCurrencies(t,e);if(!a.length)return l01;let s=[...a].sort((o,r)=>o.display_order-r.display_order).map(o=>({code:o.currency_code,symbol:o.symbol||d01(o.currency_code),decimalPlaces:typeof o.decimal_places=="number"?o.decimal_places:m01(o.currency_code),isDefault:o.is_default}));return{currencies:s,defaultCurrency:s.find(o=>o.isDefault)?.code??s[0].code}}var p01=0;function XP(e){try{return new Intl.NumberFormat(yT,{style:"currency",currency:e})}catch{return null}}function m01(e){return XP(e)?.resolvedOptions().maximumFractionDigits??p01}function d01(e){return XP(e)?.formatToParts(0).find(s=>s.type==="currency")?.value||e}import{jsx as JP}from"react/jsx-runtime";function bv({token:e,siteId:t,enabled:a,children:s}){let[o,r]=g01(Go);return u01(()=>{if(!e||!a||!t){r(Go);return}let i=!1;return YP(e,t).then(n=>{i||r(n)}).catch(()=>{}),()=>{i=!0}},[e,a,t]),JP(x8,{currencies:o.currencies,defaultCurrency:o.defaultCurrency,children:JP(jP,{reason:o.reason,children:s})})}var j9=new Map,xv=e=>e??"";function K9(e,t,a=!1){let s=xv(t);a&&j9.delete(s);let o=j9.get(s);return o||(o=E1.getHeaderSettings(e,t??void 0),j9.set(s,o),o.catch(()=>{j9.get(s)===o&&j9.delete(s)})),o}function QP(e,t){j9.set(xv(t),Promise.resolve(e))}function eF(e){j9.delete(xv(e))}function Wo(e){return{logoUrl:u6(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,countrySelectorShowAs:e.country_selector_show_as,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 tF,useRef as wv}from"react";function ah({token:e,enabled:t=!0,deps:a=[],prime:s,onDisabled:o,refresh:r}){let i=wv(s);i.current=s;let n=wv(o);n.current=o;let l=wv(r);l.current=r,tF(()=>{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]),tF(()=>{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 yv({token:e,siteId:t}){let{primeSettings:a,setSettings:s}=N3();return ah({token:e,deps:[t],prime:{load:()=>K9(e,t),publish:o=>a(Wo(o))},refresh:{subscribe:z8,load:()=>K9(e,t,!0),publish:o=>s(Wo(o))}}),null}import{createContext as v01,useCallback as nF,useContext as f01,useMemo as b01,useState as x01}from"react";var Uo=new Map,aF=e=>e??"";function zv(e,t,a){a&&Uo.clear();let s=aF(t),o=Uo.get(s);if(!o){let r=E1.listMenus(e,t);Uo.set(s,r),r.catch(()=>{Uo.get(s)===r&&Uo.delete(s)}),o=r}return o}var sh=new Map;function sF(e,t){let a=aF(t),s=sh.get(a);if(!s){let o=zv(e,t,!0);sh.set(a,o);let r=()=>{sh.get(a)===o&&sh.delete(a)};o.then(r,r),s=o}return s}function qo(e,t=!1){return zv(e,x2(),t)}function oh(e){return sF(e,x2())}function oF(e,t=!1){return zv(e,null,t)}function rF(e){return sF(e,null)}var kv={ids:new Set,handles:new Set};function Sv(e){return{ids:new Set(e.map(t=>t.id).filter(Boolean)),handles:new Set(e.map(t=>t.handle).filter(Boolean))}}function iF({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 rh(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 w01}from"react/jsx-runtime";var lF=v01({live:kv,ready:!1,primeLive:()=>{},setLive:()=>{}});function Cv({children:e}){let[t,a]=x01({live:kv,ready:!1}),s=nF(i=>a(n=>n.ready?n:{live:i,ready:!0}),[]),o=nF(i=>a({live:i,ready:!0}),[]),r=b01(()=>({...t,primeLive:s,setLive:o}),[t,s,o]);return w01(lF.Provider,{value:r,children:e})}var ih=()=>f01(lF);function nh({token:e}){let{primeLive:t,setLive:a}=ih();return ah({token:e,prime:{load:()=>qo(e),publish:s=>t(Sv(s))},refresh:{subscribe:z8,load:()=>oh(e),publish:s=>a(Sv(s))}}),null}import{jsx as Mv,jsxs as Av}from"react/jsx-runtime";function Lv({surface:e,children:t}){let{token:a,siteId:s,capabilities:o}=mt();if(e==="section")return Av(Cv,{children:[a?Mv(nh,{token:a}):null,t]});let r=a??"";return Av(bv,{token:r,siteId:s,enabled:o.hasSiteSettings,children:[o.hasSiteSettings&&Mv(yv,{token:r,siteId:s}),Av(Cv,{children:[o.hasSiteSettings&&Mv(nh,{token:r}),t]})]})}import{useCallback as L6,useEffect as Jo,useRef as Nv,useState as T8}from"react";var cF="Menu Item",hF=6,Tv=4,pF="Menu",mF="Link a menu in the inspector \u2192";function dF(){return m("This column isn't linked to a menu, so the preview shows placeholder links. Pick a menu above.")}function uF(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 gF(){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 y01}from"react";import{jsx as z01}from"react/jsx-runtime";function b4(e,t){return e.split(/\{([A-Za-z][A-Za-z0-9_]*)\}/g).map((a,s)=>s%2===1?z01(y01,{children:a in t?t[a]:`{${a}}`},s):a)}var $o=KC,k01="sf-header-theme";function jo(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function lh(e){let t=jo(e);return t===null?null:{className:k01,style:XC(t)}}var Ev="overlay",Hv=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function va(e){return Q2(Hv,Ev,e)}var u5={desktop:40,mobile:45,min:20,max:80,step:5};function Pv(e,t){return`${typeof e=="number"?e:t}%`}var ch="data-lead-ink",hh="data-header-ink";var S01="auto";function C01(e){return e.type==="IntroBleed"?va(e.props?.layout)!=="stacked":!0}function vF(e){let t=AL(e);return t&&LL(e)&&C01(t)?"light":null}function fa(e){return e==="light"||e==="dark"?e:S01}import{Banner as H01,Button as Ov,Drawer as P01,InputNumber as F01,LoadingSpinner as N01,MediaUploadField as I01,ShowWhen as R01,Slider as V01,tabButtonId as _01,tabPanelId as O01}from"efficient-shell/ui";import{PictureTiles as M01}from"efficient-shell/ui";import{FlagUsIcon as A01,GlobeIcon as L01}from"efficient-shell/icons/efficient";var Ko=[{value:"name",label:"Country name"},{value:"code_currency",label:"Code and currency"},{value:"globe_code",label:"Globe and code"},{value:"currency",label:"Currency"},{value:"flag_code",label:"Flag and code"},{value:"flag",label:"Flag"}],ph="Show as",Yo="name";function A6(e){return Ko.some(t=>t.value===e)?e:Yo}var fF=e=>e==="flag_code"||e==="flag";import{Fragment as Fv,jsx as Y9,jsxs as mh}from"react/jsx-runtime";var bF=Y9("span",{className:"inline-flex shrink-0 border border-current/20",children:Y9(A01,{size:15})}),T01={name:"UNITED STATES",code_currency:mh(Fv,{children:["US",Y9("span",{className:"opacity-50",children:"\xB7"}),"USD"]}),globe_code:mh(Fv,{children:[Y9(L01,{size:12,className:"shrink-0"}),"US"]}),currency:"USD",flag_code:mh(Fv,{children:[bF,"US"]}),flag:bF};function E01({kind:e}){return mh("span",{"aria-hidden":!0,className:"inline-flex h-6 items-center gap-1 whitespace-nowrap rounded-xs border border-current px-2 font-mono text-(length:--text-3xs) font-medium tracking-wider",children:[T01[e],Y9("span",{className:"opacity-70",children:"\u25BE"})]})}function dh({value:e,onChange:t}){return Y9(M01,{label:m(ph),columns:2,captions:!0,value:A6(e),onChange:t,options:Ko.map(a=>({value:a.value,label:m(a.label),picture:Y9(E01,{kind:a.value})}))})}import{SettingsDefaultReset as Iv,SettingsSwitch as Xo,SettingsTabs as B01}from"efficient-easel/panel";import{FieldSelect as Dv}from"efficient-easel/fields";import{useEaselStrings as Z01}from"efficient-easel/strings";import{ListIcon as G01,LogoIcon as W01,SettingsIcon as U01,StylesIcon as q01}from"efficient-easel/icons";import{Fragment as X9,jsx as o1,jsxs as K0}from"react/jsx-runtime";var D01={field:"country_selector_enabled",is:!0},Rv="sf-header",xF="sf-header-size-label",wF="sf-header-gap-label",yF="sf-header-height-label",Vv=[{id:"logo",label:"Logo",icon:o1(W01,{})},{id:"menu",label:"Menu",icon:o1(G01,{})},{id:"tools",label:"Tools",icon:o1(U01,{})},{id:"look",label:"Look",icon:o1(q01,{})}];function Bv({tokenRef:e,siteId:t,onClose:a,onAuthExpired:s,inline:o,placeholderMode:r,websiteName:i,onOpenWebsiteSettings:n}){let l=x3(),c=Z01(),[h,p]=T8(null),[d,u]=T8(null),[v,g]=T8(!1),[f,b]=T8(Vv[0].id),[x,w]=T8(tL),z=r?Vv.filter(V=>V.id!=="menu"):Vv,k=z.find(V=>V.id===f)??z[0],[A,I]=T8(0),{setSettings:E}=N3(),F=Nv(null),N=Nv(null),H=Nv(null);Jo(()=>{let V=!1,q=null,j=null,Q=3,J=(s1,G1=0)=>{V||u(null),K9(s1,t,G1>0).then(n0=>!V&&p(n0)).catch(()=>{V||(G1+1<Q?j=setTimeout(()=>J(s1,G1+1),600*(G1+1)):u(m("Could not load header settings.")))})},i1=e.current;if(i1)J(i1);else{let s1=0;q=setInterval(()=>{let G1=e.current;if(G1){q&&clearInterval(q),q=null,V||u(null),J(G1);return}s1+=250,s1===5e3&&!V&&u(m("Waiting for editor authorization\u2026")),s1>=3e4&&(q&&clearInterval(q),q=null,V||u(m("Not authorized yet \u2014 reopen once the editor has loaded.")))},250)}return()=>{V=!0,q&&clearInterval(q),j&&clearTimeout(j)}},[e,A,t]),Jo(()=>{h&&E(Wo(h))},[h,E]),Jo(()=>()=>{F.current&&clearTimeout(F.current),N.current&&clearTimeout(N.current),H.current&&clearTimeout(H.current)},[]);let P=L6(async(V,q)=>{let j=e.current;if(!j||!h)return;let Q=h;q&&p({...h,...q}),g(!0),u(null);try{let J=await V(j);p(J),QP(J,t)}catch(J){p(Q),J instanceof O4&&J.status===401?(eF(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]),_=L6(V=>P(q=>E1.updateHeaderSettings(V,q,t??void 0),V),[P,t]),U=L6(V=>{P(q=>E1.setHeaderLogoFromAsset(V,q,t??void 0))},[P,t]),D=L6(()=>{LM(l,{accept:"image/svg+xml",title:m("Logo (SVG)")}).then(V=>{V&&U(V.id)})},[U]),Z=L6((V,q=!0)=>{p(Q=>Q&&{...Q,logo_size_px:V}),F.current&&clearTimeout(F.current);let j=()=>{P(Q=>E1.updateHeaderSettings({logo_size_px:V},Q,t??void 0))};q?j():F.current=setTimeout(j,400)},[P,t]),O=L6((V,q=!0)=>{p(Q=>Q&&{...Q,height_px:V}),N.current&&clearTimeout(N.current);let j=()=>{P(Q=>E1.updateHeaderSettings({height_px:V},Q,t??void 0))};q?j():N.current=setTimeout(j,400)},[P,t]),K=L6((V,q=!0)=>{p(Q=>Q&&{...Q,menu_gap_px:V}),H.current&&clearTimeout(H.current);let j=()=>{P(Q=>E1.updateHeaderSettings({menu_gap_px:V},Q,t??void 0))};q?j():H.current=setTimeout(j,400)},[P,t]),X=L6(()=>{P(async V=>{let q=await E1.clearHeaderLogo(V,t??void 0);return q.reverse_logo?E1.updateHeaderSettings({reverse_logo:!1},V,t??void 0):q})},[P,t]),B=L6(V=>{p(q=>q&&{...q,menu:V?.id??null,menu_handle:V?.handle??null,menu_name:V?.name??null,menu_items:V?V.items.map(j=>({label:j.label,url:j.url,dropdown_menu:j.dropdown_menu??null,dropdown_items:j.dropdown_items??[]})):[]}),P(q=>E1.updateHeaderSettings({menu:V?.id??null},q,t??void 0))},[P,t]),r1=K0(X9,{children:[d&&o1(H01,{tone:"danger",className:"mx-4 mt-3",action:h?void 0:o1(Ov,{variant:"secondary",size:"sm",onClick:()=>I(V=>V+1),children:m("Retry")}),children:d}),h?K0(X9,{children:[o1(B01,{items:z.map(V=>({...V,label:m(V.label)})),activeId:k.id,onSelect:b,ariaLabel:m("Header settings"),idPrefix:Rv}),K0("div",{id:O01(Rv,k.id),role:"tabpanel","aria-labelledby":_01(Rv,k.id),className:"flex flex-col p-4 [&>*+*]:mt-3",children:[k.id==="logo"&&K0(X9,{children:[o1(W5,{label:"Image"}),!r&&o1($01,{settings:h,websiteName:i,onPick:D,onClear:X,showHint:x}),o1(o3,{label:"Reverse the Logo",children:o1(Xo,{checked:h.reverse_logo,onChange:V=>_({reverse_logo:V}),ariaLabel:m("Reverse the Logo")})}),o1(T6,{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(W5,{label:"Placement"}),o1(K01,{label:M0.logoPosition.label,value:M0.logoPosition.options.find(V=>V.value===M0.logoPosition.choose(h.logo_position))?.label,children:o1(g7,{value:M0.logoPosition.choose(h.logo_position),options:M0.logoPosition.options,onChange:V=>_({logo_position:V}),ariaLabel:M0.logoPosition.label})}),K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[o1("span",{id:xF,className:"text-xs text-[var(--ink-muted)]",children:m("Size")}),K0("span",{className:"flex items-center gap-1",children:[K0("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??Ao[h.logo_size],"px"]}),o1(Iv,{label:m("Size"),words:c.panel,changed:h.logo_size_px!=null,onReset:()=>Z(null)})]})]}),o1(_v,{labelledBy:xF,min:uc,max:gc,step:2,value:h.logo_size_px??Ao[h.logo_size],onPreview:V=>Z(V,!1),onCommit:V=>Z(V,!0)}),o1(T6,{shown:x,children:m("Sets the logo\u2019s height; the width follows the logo\u2019s own proportions.")})]}),o1(Wl,{shown:x,onChange:w})]}),k.id==="menu"&&K0(X9,{children:[o1(W5,{label:"Links"}),o1(j01,{token:e.current,menuId:h.menu,menuName:h.menu_name,itemCount:h.menu_items?.length??0,onPick:B}),o1(o3,{label:M0.menuAlign.label,children:o1(g7,{value:M0.menuAlign.choose(h.menu_position),options:M0.menuAlign.options.filter(V=>V.value!=="beside"||h.logo_position!=="center"),onChange:V=>_({menu_position:V}),ariaLabel:M0.menuAlign.label})}),M0.menuAlign.choose(h.menu_position)==="beside"&&K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[o1("span",{id:wF,className:"text-xs text-[var(--ink-muted)]",children:m("Space from the logo")}),K0("span",{className:"flex items-center gap-1",children:[K0("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??Dt.default,"px"]}),o1(Iv,{label:m("Space from the logo"),words:c.panel,changed:h.menu_gap_px!=null,onReset:()=>K(null)})]})]}),o1(_v,{labelledBy:wF,min:Dt.min,max:Dt.max,step:Dt.step,value:h.menu_gap_px??Dt.default,onPreview:V=>K(V,!1),onCommit:V=>K(V,!0)}),o1(T6,{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(o3,{label:M0.menuRow.label,children:o1(g7,{value:M0.menuRow.choose(h.menu_row),options:M0.menuRow.options,onChange:V=>_({menu_row:V}),ariaLabel:M0.menuRow.label})}),h.logo_position==="center"&&h.menu_position!=="center"&&o1(o3,{label:"Left items",children:o1("div",{className:"w-16",children:o1(Dv,{value:h.menu_split??3,ariaLabel:m("Left items"),onChange:V=>_({menu_split:V}),options:[1,2,3,4].map(V=>({label:String(V),value:V}))})})}),o1(o3,{label:M0.navTextCase.label,children:o1(g7,{value:M0.navTextCase.choose(h.nav_text_case),options:M0.navTextCase.options,onChange:V=>_({nav_text_case:V}),ariaLabel:M0.navTextCase.label})}),o1(T6,{shown:x,children:b4(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"&&K0(X9,{children:[o1(W5,{label:"Style"}),o1(o3,{label:M0.utilStyle.label,children:o1(g7,{value:M0.utilStyle.choose(h.util_style),options:M0.utilStyle.options,onChange:V=>_({util_style:V}),ariaLabel:M0.utilStyle.label})}),o1(T6,{shown:x,children:b4(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(W5,{label:"Search"}),o1(o3,{label:"Search",children:o1(Xo,{checked:h.search_enabled,onChange:V=>_({search_enabled:V}),ariaLabel:m("Search")})}),o1(o3,{label:M0.searchPosition.label,children:o1(g7,{value:M0.searchPosition.choose(h.search_position),options:M0.searchPosition.options,onChange:V=>_({search_position:V}),ariaLabel:M0.searchPosition.label})}),o1(W5,{label:"Country selector"}),o1(o3,{label:"Show selector",children:o1(Xo,{checked:h.country_selector_enabled,onChange:V=>_({country_selector_enabled:V}),ariaLabel:m("Show selector")})}),o1(R01,{rule:D01,values:{country_selector_enabled:h.country_selector_enabled},children:o1(o3,{label:"Show as",stacked:!0,children:o1(dh,{value:h.country_selector_show_as,onChange:V=>_({country_selector_show_as:V})})})}),!r&&h.country_selector_enabled&&o1(T6,{shown:x,children:b4(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(W5,{label:"Account and cart"}),o1(o3,{label:"Account",children:o1(Xo,{checked:h.account_enabled??!0,onChange:V=>_({account_enabled:V}),ariaLabel:m("Account")})}),o1(o3,{label:"Cart",children:o1(Xo,{checked:h.cart_enabled??!0,onChange:V=>_({cart_enabled:V}),ariaLabel:m("Cart")})}),o1(Wl,{shown:x,onChange:w})]}),k.id==="look"&&K0(X9,{children:[o1(W5,{label:"Dimensions"}),o1(o3,{label:M0.width.label,children:o1(g7,{value:M0.width.choose(h.width),options:M0.width.options,onChange:V=>_({width:V}),ariaLabel:M0.width.label})}),K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[o1("span",{id:yF,className:"text-xs text-[var(--ink-muted)]",children:m("Height")}),K0("span",{className:"flex items-center gap-1",children:[K0("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??Q3.default,"px"]}),o1(Iv,{label:m("Height"),words:c.panel,changed:h.height_px!=null,onReset:()=>O(null)})]})]}),o1(_v,{labelledBy:yF,min:Q3.min,max:Q3.max,step:2,value:h.height_px??Q3.default,onPreview:V=>O(V,!1),onCommit:V=>O(V,!0)}),o1(T6,{shown:x,children:m("Sets how tall the header bar is; the content below it shifts down to match.")})]}),o1(o3,{label:"Border thickness",children:o1("div",{className:"w-24",children:o1(F01,{value:h.border_thickness,min:0,max:20,precision:0,size:"sm",suffix:"px","aria-label":m("Border thickness"),onChange:V=>_({border_thickness:Math.max(0,V??0)})})})}),o1(W5,{label:"Color"}),o1(o3,{label:"Theme",children:o1(zM,{value:h.theme??$o,onChange:V=>_({theme:V===$o?null:V}),followLabel:m("Follow the site theme")})}),o1(T6,{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(o3,{label:M0.topTextColor.label,children:o1(g7,{value:M0.topTextColor.choose(h.top_text_color),options:M0.topTextColor.options,onChange:V=>_({top_text_color:V}),ariaLabel:M0.topTextColor.label})}),o1(T6,{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(W5,{label:"Behavior"}),o1(o3,{label:"Sticky header",children:o1("div",{className:"w-32",children:o1(Dv,{value:h.sticky,ariaLabel:m("Sticky header"),onChange:V=>_({sticky:V}),options:[{label:m("None"),value:"none"},{label:m("Always"),value:"always"},{label:m("On scroll up"),value:"on_scroll_up"}]})})}),n&&K0(X9,{children:[o1(W5,{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(Ov,{variant:"link",size:"sm",className:"self-start",onClick:n,children:m("Set up display mode \u2192")})]}),o1(Wl,{shown:x,onChange:w})]})]})]}):d?null:o1(N01,{size:"sm",padding:"p-4",label:m("Loading\u2026")})]});return o?K0("div",{className:"flex flex-col",children:[v&&o1("div",{className:"px-4 pt-2 text-[11px] text-[var(--ink-faintest)]",children:m("Saving\u2026")}),r1]}):K0(P01,{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")}),r1]})}function $01({settings:e,websiteName:t,onPick:a,onClear:s,showHint:o}){let r=!!e.logo_url,i=!r&&!!e.default_logo_url,n=u6(e.effective_logo_url),l=t&&t.trim()?t.trim():Rt;return K0("div",{className:"flex flex-col gap-2",children:[o1(I01,{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(T6,{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 j01({token:e,menuId:t,menuName:a,itemCount:s,onPick:o}){let r=x3(),[i,n]=T8(null),[l,c]=T8(!1),h=L6(f=>{n(f),c(!0)},[]);Jo(()=>{let f=!1;return oF(e).then(b=>!f&&h(b)).catch(()=>!f&&n([])),()=>{f=!0}},[e,h]),Jo(()=>{let f=!1,b=z8(()=>{rF(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 K0("div",{className:"flex flex-col gap-2",children:[o1(o3,{label:"Menu",children:o1("div",{className:"w-[170px] max-w-full",children:o1(Dv,{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:gF()}):o1("p",{className:"text-[12px] text-[var(--ink-faint)]",children:v?e3("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(Ov,{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 T6({shown:e,children:t}){return e?o1("p",{className:"text-[11px] text-[var(--sf-muted)]",children:t}):null}function _v({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(V01,{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 K01({label:e,value:t,children:a}){return K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[o1("span",{className:"text-xs text-[var(--ink-muted)]",children:m(e)}),t&&o1("span",{className:"text-[12px] text-[var(--ink-faint)]",children:m(t)})]}),a]})}function W5({label:e}){return o1(Ct,{label:e})}function o3({label:e,children:t,stacked:a=!1}){return a?K0("div",{className:"flex flex-col gap-y-2",children:[o1("span",{className:"text-xs text-[var(--sf-text-secondary)]",children:m(e)}),t]}):K0("div",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[o1("span",{className:"text-xs text-[var(--sf-text-secondary)]",children:m(e)}),o1("div",{className:"flex-shrink-0",children:t})]})}var Y01=[{label:"Left",value:"left"},{label:"Center",value:"center"}],X01=[{label:"Left",value:"left"},{label:"Right",value:"right"}],J01=[{label:"Right",value:"left"},{label:"Centered",value:"center"},{label:"Beside logo",value:"beside"}],Q01=[{label:"Own row",value:"top"},{label:"Same row",value:"inline"}],e21=[{label:lt.page,value:"page"},{label:lt.full,value:"full"}],t21=[{label:"Icon",value:"icon"},{label:"Text",value:"text"}],a21=[{label:"Uppercase",value:"uppercase"},{label:"Capitalised",value:"capitalised"}],s21=[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],M0={logoPosition:{label:"Position",options:Y01,choose:e=>e==="right"?"center":e},menuAlign:{label:"Alignment",options:J01,choose:e=>e==="center"?"center":e==="beside"?"beside":"left"},menuRow:{label:"Row",options:Q01,choose:e=>e==="inline"?"inline":"top"},searchPosition:{label:"Position",options:X01,choose:e=>e},width:{label:"Width",options:e21,choose:e=>e},navTextCase:{label:"Letters",options:a21,choose:e=>e==="capitalised"?"capitalised":"uppercase"},utilStyle:{label:"Show as",options:t21,choose:e=>e==="text"?"text":"icon"},topTextColor:{label:"Text color at the top",options:s21,choose:e=>fa(e)}};import{useState as Zv}from"react";import{Banner as o21,Button as Gv}from"efficient-shell/ui";import{createNode as r21,newId as i21}from"efficient-easel/data";import{useEasel as n21}from"efficient-easel/easel";function zF(e){return typeof e=="number"&&Number.isInteger(e)&&e>=Q3.min&&e<=Q3.max?e:Q3.default}var uh="fixed inset-x-0 bottom-0 top-[var(--sf-header-h,88px)]",gh=e=>!!e&&e.startsWith("/wheels/")&&e!=="/wheels",vh=(e,t)=>!e&&t?"var(--section-bg)":"var(--bg)",kF=e=>e==="capitalised"?"capitalised":"uppercase",fh=e=>e==="inline"?"inline":e==="top"||e==="bottom"?"top":null;var SF="Flex",CF=10;function MF(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",{showAs:A6(e.country_selector_show_as)}):null,e.cart_enabled!==!1?t("CartBlock",{style:o}):null,n?null:i].filter(u=>u!==null),c=t(SF,{direction:"row",justify:"between",align:"center",share:"content",wrap:"nowrap",phoneRow:3,sectionPaddingTop:CF,sectionPaddingBottom:CF,content:[t("LogoBlock",{...s?{heightPx:s}:{},...e.reverse_logo!=null?{reverse:e.reverse_logo?"auto":"off"}:{}}),t("MenuBlock",{menu:r,direction:"row"}),...l.length?[t(SF,{direction:"row",justify:"end",align:"center",share:"content",wrap:"nowrap",phoneRow:3,content:l})]:[]]}),h=WS(N4,a,[c]),p=jo(e.theme),d=fh(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 l21,jsx as bh,jsxs as c21}from"react/jsx-runtime";function Wv(){let{appState:e,dispatch:t,config:a}=n21(g=>g),{readOnly:s,tokenRef:o,siteId:r}=mt(),[i,n]=Zv(!1),[l,c]=Zv(!1),[h,p]=Zv(!1),d=e.data.content;if(s||d.some(g=>g.type===N4))return null;let u=(g,f)=>r21(a,g,f),v=async()=>{let g=o.current;if(!(!g||l)){c(!0),p(!1);try{let f=await K9(g,r),b=f.logo_size_px??Ao[f.logo_size],x=MF(f,u,i21(N4),{logoHeightPx:b});t({type:"setData",data:w=>({...w,content:[...US(w.content,x)]}),recordHistory:!0}),n(!1)}catch{p(!0)}finally{c(!1)}}};return bh(o21,{tone:h?"danger":"info",title:m("This header uses the old layout"),action:i?c21(l21,{children:[bh(Gv,{variant:"primary",size:"sm",onClick:v,disabled:l,children:l?m("Switching\u2026"):m("Switch now")}),bh(Gv,{variant:"secondary",size:"sm",onClick:()=>n(!1),disabled:l,children:m("Cancel")})]}):bh(Gv,{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 h21,jsx as Uv,jsxs as p21}from"react/jsx-runtime";function qv({placeholderMode:e,tokenRef:t,siteId:a,websiteName:s,onOpenWebsiteSettings:o,onAuthExpired:r}){return p21(h21,{children:[e?null:Uv("div",{className:"px-4 pt-3 pb-1",children:Uv(Wv,{})}),Uv(Bv,{inline:!0,placeholderMode:e,tokenRef:t,siteId:a,websiteName:s??void 0,onOpenWebsiteSettings:o,onAuthExpired:r})]})}import{useEffect as m21,useState as d21}from"react";function ba({fetch:e,keyBy:t}){let a=null,s=null,o=null;return(r=!1)=>{let i=I3(),n=t?t():null;return(r||!a||s===null&&i!==null||o!==n)&&(s=i,o=n,a=i||!ho().usesBridgedToken?e(i??"",n).catch(()=>[]):Promise.resolve([])),a}}var E6=ba({fetch:(e,t)=>E1.listProducts(e,{siteId:t,kinds:["alloy-wheel","tyre"]}),keyBy:x2}),H2=(e=!1)=>E6(e).then(t=>t.filter(a=>a.kind==="alloy-wheel"));function AF(e){let[t,a]=d21(null);return m21(()=>{let s=!1;return e().then(o=>{s||a(o)}),()=>{s=!0}},[e]),t}function xh(){return AF(H2)}function LF(){return AF(E6)}var EF={list:async()=>(await H2()).map(e=>({slug:e.slug,name:e.name,href:Jn(e.slug)}))},TF=new Map;function u21(e){let t=e??"",a=I3(),s=TF.get(t);if(s&&!(s.token===null&&a!==null))return s.promise;let o=a&&e?E1.listFieldUsage(a,e).then(iP).catch(()=>[]):Promise.resolve([]);return TF.set(t,{promise:o,token:a}),o}var HF={load:async e=>{let[t,a]=await Promise.all([E6().catch(()=>[]),u21(e??void 0)]);return nP({catalogue:t,fieldUsage:a,offersCommerce:!0})}};var $v=[{key:"cart",label:"Cart",href:"/?cart=open"},{key:"checkout",label:"Checkout",href:"/checkout"}],g21=Object.fromEntries($v.map(e=>[e.key,e]));function PF(e){return g21[e]}import{jsx as Qo,jsxs as FF}from"react/jsx-runtime";var v21={cart:FF("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:[Qo("circle",{cx:"9",cy:"20",r:"1.4"}),Qo("circle",{cx:"18",cy:"20",r:"1.4"}),Qo("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:FF("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:[Qo("rect",{x:"2.5",y:"5",width:"19",height:"14",rx:"2"}),Qo("path",{d:"M2.5 9.5h19"})]})},NF={get title(){return m("Shop")},get rows(){return $v.map(e=>({...e,label:m(e.label),icon:v21[e.key]}))}};import{createContext as f21,useCallback as er,useContext as b21,useEffect as Kv,useMemo as x21,useRef as w21,useState as E8}from"react";function IF(e,t){return`${(rc||(typeof window<"u"?window.location.origin:"")).replace(/^http/,"ws")}/ws/chat/?conversation=${e}&token=${encodeURIComponent(t)}`}var jv="/api/chat/public";function RF(e){let t=Co.getAccess();return t?{token:t}:e?{headers:{"X-Chat-Token":e}}:{}}async function VF(e){let t=Co.getAccess();return g8(`${jv}/conversations/`,{method:"POST",token:t??void 0,body:JSON.stringify({subject:e.subject??"",body:e.body,guest_name:e.guestName??"",guest_email:e.guestEmail??"",guest_key:e.guestKey??""})})}async function _F(e,t){return g8(`${jv}/conversations/${e}/thread/`,RF(t))}async function OF(e,t,a){return g8(`${jv}/conversations/${e}/thread/`,{method:"POST",body:JSON.stringify({body:a}),...RF(t)})}import{jsx as k21}from"react/jsx-runtime";var y21="sf:aid",DF="sf:chat",BF=f21(null);function z21(){let e=y3.getItem(DF);if(!e)return null;try{return JSON.parse(e)}catch{return null}}function ZF({children:e,preview:t=!1}){let[a,s]=E8(!1),[o,r]=E8(null),[i,n]=E8([]),[l,c]=E8(!1),[h,p]=E8(null),[d,u]=E8(0),[v,g]=E8(!1),[f,b]=E8(!1),x=w21(a);x.current=a,Kv(()=>{t||(r(z21()),uT.restoreSession().then(()=>g(!0)).catch(()=>g(!1)))},[t]);let w=er(async F=>{try{let N=await _F(F.id,F.token);n(N.messages)}catch{}},[]);Kv(()=>{t||o&&w(o)},[t,o,w,v]),Kv(()=>{if(t||!o)return;let F=Co.getAccess()??o.token,N=!1,H=null,P,_=3e3,U=()=>{N||(H=new WebSocket(IF(o.id,F)),H.onmessage=D=>{try{let Z=JSON.parse(D.data);Z.type==="chat_event"&&Z.event==="message"&&(w(o),!x.current&&Z.payload?.sender_role==="employee"&&u(O=>O+1))}catch{}},H.onclose=()=>{N||(P=setTimeout(U,_),_=Math.min(_*2,3e4))},H.onerror=()=>H?.close())};return U(),()=>{N=!0,P&&clearTimeout(P),H?.close()}},[t,o,w]);let z=er(()=>{s(!0),u(0)},[]),k=er(()=>s(!1),[]),A=er(()=>s(F=>(F||u(0),!F)),[]),I=er(async(F,N)=>{let H=F.trim();if(H){if(t){n(P=>[...P,{id:`preview-${P.length}`,sender_role:"customer",sender_name:N?.name||"You",body:H,image_url:null,created_at:""}]),b(!0);return}c(!0),p(null);try{if(o){let P=await OF(o.id,o.token,H);n(_=>[..._,P])}else{let P=y3.getItem(y21)||"",_=await VF({body:H,guestName:N?.name,guestEmail:N?.email,guestKey:P}),U={id:_.id,token:_.guest_token};y3.setItem(DF,JSON.stringify(U)),r(U),n(_.messages)}}catch{p("Could not send your message. Please try again shortly.")}finally{c(!1)}}},[o,t]),E=x21(()=>({isOpen:a,open:z,close:k,toggle:A,messages:i,sending:l,error:h,unread:d,hasConversation:t?f:!!o,isSignedIn:v,send:I}),[a,z,k,A,i,l,h,d,o,v,I,t,f]);return k21(BF.Provider,{value:E,children:e})}function GF(){let e=b21(BF);if(!e)throw new Error("useChat must be used within <ChatProvider>");return e}import{useEffect as E21,useRef as H21,useState as Xv}from"react";import{ChatBubbleLeftRightIcon as S21}from"efficient-shell/icons/efficient-glyphs";import{jsx as L21,jsxs as T21}from"react/jsx-runtime";var C21={"--assistant-launcher-bg":"var(--btn)","--assistant-launcher-ink":"var(--btn-ink)","--assistant-launcher-bg-hover":"color-mix(in oklab, var(--btn) 85%, black)"},M21=S21,A21={position:"fixed",right:16,bottom:16,width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",border:0,borderRadius:"50%",cursor:"pointer",background:"var(--assistant-launcher-bg)",color:"var(--assistant-launcher-ink)",boxShadow:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"};function Yv({label:e,onOpen:t,onWarm:a,zIndex:s=1e3,badge:o}){return T21("button",{type:"button","aria-label":e,onClick:t,onPointerEnter:a,onFocus:a,"data-sf-floating":"",style:{...C21,...A21,zIndex:s},children:[L21(M21,{size:22,"data-icon":"chat-bubble-left-right"}),o]})}import{jsx as w2,jsxs as x7}from"react/jsx-runtime";var P21="Chat with us",F21="We usually reply within a few minutes",N21="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function I21({m:e}){if(e.sender_role==="system")return w2("div",{className:"text-center text-[11px] text-fg/50 py-1",children:e.body});let t=e.sender_role==="bot",a=e.sender_role==="employee"||t;return w2("div",{className:`flex ${a?"justify-start":"justify-end"}`,children:x7("div",{className:`max-w-[80%] rounded-2xl px-3 py-2 text-sm ${a?"bg-fg/5 text-fg":"bg-accent text-black"}`,children:[a&&x7("div",{className:"mb-0.5 flex items-center gap-1 text-[10px] font-semibold uppercase tracking-wide text-fg/50",children:[t&&w2("span",{"aria-hidden":"true",children:"\u2726"}),w2("span",{children:t?e.sender_name||"Assistant":e.sender_name||"Support"}),t&&w2("span",{className:"font-normal normal-case tracking-normal",children:"\xB7 automated"})]}),e.body&&w2("p",{className:"whitespace-pre-wrap",children:e.body}),e.image_url&&w2("a",{href:e.image_url,target:"_blank",rel:"noopener noreferrer",children:w2("img",{src:e.image_url,alt:"Attachment",className:"mt-2 max-h-48 w-auto rounded-lg"})})]})})}function Jv({title:e,subtitle:t,greeting:a}={}){let{isOpen:s,toggle:o,close:r,messages:i,sending:n,error:l,unread:c,hasConversation:h,isSignedIn:p,send:d}=GF(),u=e?.trim()||P21,v=t?.trim()||F21,g=a?.trim()||N21,[f,b]=Xv(""),[x,w]=Xv(""),[z,k]=Xv(""),A=H21(null),I=!p&&!h;E21(()=>{s&&A.current?.scrollIntoView({behavior:f7(),block:"nearest"})},[i.length,s]);let E=f.trim().length>0&&(!I||x.trim()&&/.+@.+/.test(z)),F=()=>{!E||n||(d(f,I?{name:x.trim(),email:z.trim()}:void 0),b(""))};return s?x7("aside",{role:"dialog","aria-label":"Chat with us","data-sf-floating":"",className:"fixed bottom-5 right-5 z-[61] flex h-[min(560px,80vh)] w-[min(380px,calc(100vw-2.5rem))] flex-col overflow-hidden rounded-2xl border border-line bg-bg shadow-[0_20px_60px_rgba(0,0,0,.45)]",style:{color:"var(--fg)"},children:[x7("div",{className:"flex items-center justify-between border-b border-line px-4 py-3",children:[x7("div",{children:[w2("div",{className:"text-sm font-semibold text-fg",children:u}),w2("div",{className:"text-[11px] text-fg/50",children:v})]}),w2("button",{type:"button",onClick:r,"aria-label":"Close chat",className:"rounded-md p-1 text-fg/60 hover:bg-fg/5",children:w2("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.8,children:w2("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),x7("div",{className:"flex-1 space-y-2 overflow-y-auto px-3 py-3",children:[i.length===0&&w2("p",{className:"px-2 py-4 text-center text-sm text-fg/50",children:g}),i.map(N=>w2(I21,{m:N},N.id)),w2("div",{ref:A})]}),x7("div",{className:"border-t border-line p-3",children:[I&&x7("div",{className:"mb-2 grid grid-cols-2 gap-2",children:[w2("input",{value:x,onChange:N=>w(N.target.value),placeholder:"Your name",className:"rounded-lg border border-line bg-transparent px-3 py-2 text-sm outline-none focus:border-accent"}),w2("input",{value:z,onChange:N=>k(N.target.value),type:"email",placeholder:"Email",className:"rounded-lg border border-line bg-transparent px-3 py-2 text-sm outline-none focus:border-accent"})]}),l&&w2("p",{className:"mb-2 text-xs text-red-600",children:l}),x7("div",{className:"flex items-end gap-2",children:[w2("textarea",{value:f,onChange:N=>b(N.target.value),onKeyDown:N=>{N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),F())},rows:1,placeholder:"Type a message\u2026",className:"max-h-28 flex-1 resize-none rounded-lg border border-line bg-transparent px-3 py-2 text-sm outline-none focus:border-accent"}),w2("button",{type:"button",onClick:F,disabled:!E||n,className:"rounded-lg bg-btn px-3 py-2 text-sm font-semibold text-btn-ink disabled:opacity-40",children:n?"\u2026":"Send"})]})]})]}):w2(Yv,{label:S2(u),onOpen:o,zIndex:60,badge:c>0&&w2("span",{className:"absolute -top-1 -right-1 flex h-5 min-w-5 items-center justify-center rounded-full bg-red-600 px-1 text-[11px] font-bold text-white",children:c})})}import{jsx as Qv,jsxs as V21}from"react/jsx-runtime";var R21=`
|
|
4
4
|
.sf-preview-chat-pick [aria-label] { cursor: pointer; }
|
|
5
5
|
.sf-preview-chat-pick:hover [aria-label] {
|
|
6
6
|
outline: 2px solid color-mix(in srgb, ${h5.accent} 45%, transparent);
|
|
@@ -13,7 +13,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
13
13
|
`;function ef(){let{chromePlaceholder:e,themeFromDocument:t}=N3(),{chat:a,selected:s,select:o}=DA();return e||t||!a.enabled?null:V21("div",{className:"sf-preview-chat-pick","data-selected":s||void 0,onClick:r=>{r.stopPropagation(),o()},children:[Qv("style",{children:R21}),Qv(ZF,{preview:!0,children:Qv(Jv,{title:a.title,subtitle:a.subtitle,greeting:a.greeting})})]})}import{useEffect as p31,useRef as m31}from"react";import{jsx as tf,jsxs as _21}from"react/jsx-runtime";import{useEffect as O21,useState as WF}from"react";function P0({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]=WF(!1),[u,v]=WF(!1),g=a||"";O21(()=>{d(!1),v(!1)},[g]);let f=uS(g),b=f&&!u?l5(g):{src:g},x=!g||p;return _21("div",{className:`relative h-full w-full overflow-hidden ${t??""}`,children:[tf("div",{className:"absolute inset-0 flex items-center justify-center",style:c?{background:"var(--site-surface)"}:void 0,children:x?e:null}),g&&(f?tf("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)}):tf(Nn,{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 $21}from"react";var D21=25.4,tr=400,yh=152,B21=58,UF=yh*Math.cos(B21*Math.PI/180),Z21=14,G21=tr/2,W21={sectionWidth:225,aspectRatio:60,rimDiameter:17};function $F(e){let t=B4(e);return t?{sectionWidth:t.width,aspectRatio:t.profile,rimDiameter:t.rim}:W21}function jF(e){let t=e.rimDiameter*D21/2,a=t+e.sectionWidth*e.aspectRatio/100,s=yh*(e.sectionWidth/a),o=t/a;return{cy:G21,rx:UF,ry:yh,cxf:tr/2-s/2-Z21,dx:s,rimRx:UF*o,rimRy:yh*o}}var E0=e=>e.toFixed(1);function zh(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${E0(o)} ${E0(r)} A${E0(e.rx)} ${E0(e.ry)} 0 0 ${a} ${E0(o)} ${E0(i)}`}function af(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${E0(s)} ${E0(r)} L${E0(o)} ${E0(r)} A${E0(e.rx)} ${E0(e.ry)} 0 0 1 ${E0(o)} ${E0(i)} L${E0(s)} ${E0(i)} A${E0(e.rx)} ${E0(e.ry)} 0 0 0 ${E0(s)} ${E0(r)} Z`}function wh(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 KF(e,t,a,s,o){let[r,i]=wh(e,t,s),[n,l]=wh(e,t,o),[c,h]=wh(e,a,o),[p,d]=wh(e,a,s);return`M${E0(r)} ${E0(i)} A${E0(e.rx)} ${E0(e.ry)} 0 0 1 ${E0(n)} ${E0(l)} L${E0(c)} ${E0(h)} A${E0(e.rx)} ${E0(e.ry)} 0 0 0 ${E0(p)} ${E0(d)} L${E0(r)} ${E0(i)} Z`}var qF=[{f:[0,.215]},{f:[.245,.485]},{f:[.515,.755]},{f:[.785,1]}],U21={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}}]},q21=[["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 YF(e){let t=` ${(e??"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim()} `;if(t.trim()==="")return qF;for(let[a,s]of q21)if(t.includes(` ${a} `))return U21[s];return qF}var kh="Illustrations are drawn to each tyre's listed size and represent its category; supplier photography replaces them where available.";import{Fragment as ar,jsx as S0,jsxs as H6}from"react/jsx-runtime";var G4={rib:.2,grooveWall:.16,shoulder:.22,silhouette:.26,relief:[.26,.15,.11],lettering:.1,dishFill:.06,dishEdge:.3,spoke:.3,hubFill:.16,hubEdge:.34},j21=[.8,.52,.24],XF=.4,JF=.88,QF=.3,eN=5,tN=.3,aN=.84,K21=7,R0=e=>Math.round(e*10)/10;function sf({size:e,type:t,className:a}){let s=$21().replace(/[^a-zA-Z0-9]/g,""),o={tread:`${s}-tread`,wall:`${s}-wall`,rim:`${s}-rim`,shadow:`${s}-shadow`,crown:`${s}-crown`},r=jF($F(e)),i=af(r,0,1),n=e?`${e} tyre illustration`:"Tyre illustration";return H6("svg",{"data-tyre-placeholder":"",viewBox:`0 0 ${tr} ${tr}`,role:"img","aria-label":n,fill:"none",className:a??"block h-full w-full",children:[S0("title",{children:n}),H6("defs",{children:[S0(X21,{id:o}),S0("clipPath",{id:o.crown,children:S0("path",{d:i})})]}),S0("ellipse",{cx:R0(r.cxf+r.dx/2),cy:R0(r.cy+r.ry-4),rx:R0(r.dx*1.5),ry:16,fill:`url(#${o.shadow})`}),S0(J21,{g:r,id:o}),S0(Q21,{g:r,id:o}),S0("path",{d:i,fill:`url(#${o.tread})`}),S0("g",{clipPath:`url(#${o.crown})`,children:YF(t).map(l=>S0(Y21,{g:r,column:l},l.f[0]))}),S0("path",{d:zh(r,0,0,!0),stroke:"currentColor",strokeOpacity:G4.shoulder,strokeWidth:1.2}),S0("path",{d:zh(r,1,1),stroke:"currentColor",strokeOpacity:G4.silhouette,strokeWidth:1.4})]})}function Y21({g:e,column:t}){let[a,s]=t.f;if(!t.blocks)return H6(ar,{children:[S0("path",{d:af(e,a,s),fill:"currentColor",fillOpacity:G4.rib}),S0("path",{d:zh(e,a,1),stroke:"currentColor",strokeOpacity:G4.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 S0(ar,{children:l.map(([c,h])=>S0("path",{d:KF(e,a,s,c,h),fill:"currentColor",fillOpacity:G4.rib,stroke:"currentColor",strokeOpacity:G4.grooveWall,strokeWidth:1},c))})}function X21({id:e}){return H6(ar,{children:[H6("linearGradient",{id:e.tread,x1:"0",y1:"0",x2:"1",y2:"0",children:[S0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.07}),S0("stop",{offset:"0.14",stopColor:"currentColor",stopOpacity:.24}),S0("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.18}),S0("stop",{offset:"0.84",stopColor:"currentColor",stopOpacity:.1}),S0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.05})]}),H6("linearGradient",{id:e.wall,x1:"0.15",y1:"0",x2:"0.9",y2:"1",children:[S0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.28}),S0("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.17}),S0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.08})]}),H6("linearGradient",{id:e.rim,x1:"0.1",y1:"0",x2:"0.9",y2:"1",children:[S0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.46}),S0("stop",{offset:"0.5",stopColor:"currentColor",stopOpacity:.26}),S0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.12})]}),H6("radialGradient",{id:e.shadow,children:[S0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.22}),S0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:0})]})]})}function J21({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 H6(ar,{children:[S0("ellipse",{cx:R0(e.cxf),cy:R0(e.cy),rx:R0(e.rx),ry:R0(e.ry),fill:`url(#${t.wall})`}),j21.map((r,i)=>{let n=s(r);return S0("ellipse",{cx:R0(e.cxf),cy:R0(e.cy),rx:R0(e.rx*n),ry:R0(e.ry*n),stroke:"currentColor",strokeOpacity:G4.relief[i],strokeWidth:1},r)}),S0("ellipse",{cx:R0(e.cxf),cy:R0(e.cy),rx:R0(e.rx*s(XF)),ry:R0(e.ry*s(XF)),stroke:"currentColor",strokeOpacity:G4.lettering,strokeWidth:R0(o)})]})}function Q21({g:e,id:t}){let a=Array.from({length:eN},(s,o)=>{let r=(o*(360/eN)-90)*Math.PI/180;return{x1:e.cxf+e.rimRx*tN*Math.cos(r),y1:e.cy+e.rimRy*tN*Math.sin(r),x2:e.cxf+e.rimRx*aN*Math.cos(r),y2:e.cy+e.rimRy*aN*Math.sin(r)}});return H6(ar,{children:[S0("ellipse",{cx:R0(e.cxf),cy:R0(e.cy),rx:R0(e.rimRx),ry:R0(e.rimRy),fill:`url(#${t.rim})`}),S0("ellipse",{cx:R0(e.cxf),cy:R0(e.cy),rx:R0(e.rimRx*JF),ry:R0(e.rimRy*JF),fill:"currentColor",fillOpacity:G4.dishFill,stroke:"currentColor",strokeOpacity:G4.dishEdge,strokeWidth:1}),a.map((s,o)=>S0("line",{x1:R0(s.x1),y1:R0(s.y1),x2:R0(s.x2),y2:R0(s.y2),stroke:"currentColor",strokeOpacity:G4.spoke,strokeWidth:K21,strokeLinecap:"round"},o)),S0("ellipse",{cx:R0(e.cxf),cy:R0(e.cy),rx:R0(e.rimRx*QF),ry:R0(e.rimRy*QF),fill:"currentColor",fillOpacity:G4.hubFill,stroke:"currentColor",strokeOpacity:G4.hubEdge,strokeWidth:1})]})}import{jsx as of}from"react/jsx-runtime";function w7({image:e,size:t,type:a,sizes:s,priority:o=!1,className:r="aspect-square",showBackground:i=!0}){return of("div",{className:`text-fg ${r}`,style:{padding:"var(--sf-tyre-image-inset, 0)"},children:of(P0,{label:t||"Tyre",src:X3(e??void 0),alt:t?`${t} tyre`:"Tyre",objectFit:"contain",sizes:s,priority:o,showBackground:i,fallback:of(sf,{size:t,type:a,className:"block h-full w-full p-3"})})})}function Ch(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 t31(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 Sh(e,t=""){return{vehicle:{...e,region:t},status:"unknown",oemSizes:[],variants:[]}}function a31(e,t){if(typeof t!="object"||t===null)return Sh(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 Sh(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?Sh(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 sN(e,t){try{let a=await g8(t31(e,t),{baseUrl:""});return a31(t,a)}catch{return Sh(t)}}function oN(e){if(!e)return[];let t=[];for(let a of[...e.frontTyres,...e.rearTyres]){let s=B4(a);if(!s)continue;let o=Z5(s);t.includes(o)||t.push(o)}return t}function rN(e,t){if(t.length===0)return null;for(let a of e){let s=B4(a);if(!s)continue;let o=Z5(s);if(t.includes(o))return o}return null}function sr(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 s31="/tyres";function xa(e){return e?`${s31}/${e}`:null}function wa(e){let t=e.lastIndexOf(" ");return t===-1?{lead:"",accent:e}:{lead:e.slice(0,t+1),accent:e.slice(t+1)}}function rf(e,t){return bT({partNumber:e.sku,prices:e.prices},t)}var o31="Tyre";function Mh(e,t,a,s){return{id:`${e.slug}|${t.sku}|${a.unit}|${a.spares>0?"spare":"no-spare"}`,slug:e.slug,name:wa(e.name),process:e.brand||o31,positionNo:"01",config:[{label:t.size},{label:nc(a)}],finishName:"",size:t.size,components:rf(t,a),qty:s,href:xa(e.slug)??void 0,kind:"tyre",sku:t.sku,pack:a}}function Ah(e){return e.kind==="tyre"}function iN(e,t){let a=e.prices?.[t];return typeof a!="number"||!Number.isFinite(a)||a<=0?!1:e.inStock}import{jsx as or}from"react/jsx-runtime";function r31(e){let t=e?.tyreTypes??[];return t.length===1?t[0]:null}function nf({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??PT;return or("div",{className:"relative flex aspect-square items-center justify-center overflow-hidden border border-line bg-surface",children:Ah(e)?or(w7,{image:a?.coverImage,size:e.size,type:r31(a),sizes:"96px",className:"h-full w-full"}):r?.src?or(h4,{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?or("div",{className:"relative z-[2] block w-[72%]",style:{color:c,filter:"drop-shadow(0 6px 12px rgba(0,0,0,0.25))"},children:or(Z9,{spokes:i,mesh:n,className:"block w-full"})}):null})}import{jsx as lf,jsxs as n31}from"react/jsx-runtime";var nN={labelSmall:"text-[length:var(--size-label,15px)]",labelLarge:"text-[length:var(--size-label,16px)]"};function lN(e,t){return Math.min(wg,Math.max(1,e+t))}var cN="disabled:cursor-not-allowed disabled:opacity-40",i31={large:{frame:"flex items-center border-2 border-fg-dim/50",button:`h-12 w-12 cursor-pointer bg-transparent font-mono ${nN.labelLarge} font-bold text-fg transition-colors enabled:hover:bg-surface enabled:hover:text-accent ${cN}`,value:`w-11 text-center font-mono ${nN.labelSmall} 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 ${cN}`,value:"min-w-[36px] px-3 text-center font-mono text-[12px] tracking-[0.18em] text-fg"}};function rr({value:e,onChange:t,size:a}){let s=i31[a];return n31("div",{className:s.frame,children:[lf("button",{type:"button",onClick:()=>t(lN(e,-1)),disabled:e<=1,"aria-label":"Decrease quantity",className:s.button,children:"\u2212"}),lf("span",{className:s.value,children:e}),lf("button",{type:"button",onClick:()=>t(lN(e,1)),disabled:e>=wg,"aria-label":"Increase quantity",className:s.button,children:"+"})]})}import{useEffect as l31,useState as c31}from"react";var h31=new Map;function hN(e){let[t,a]=c31(null);return l31(()=>{if(!e||t)return;let s=!0;return w0.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??h31}import{useEffect as Lh}from"react";function g5({active:e,onDismiss:t,focusRef:a,lockScroll:s=!0,scopeRef:o}){Lh(()=>{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]),Lh(()=>{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]),Lh(()=>{if(!e)return;let r=(o?.current?.ownerDocument??document).documentElement,i=n=>{let l=Number(r.getAttribute(cf)||0)+n;l>0?r.setAttribute(cf,String(l)):r.removeAttribute(cf)};return i(1),()=>i(-1)},[e,o]),Lh(()=>{e&&a?.current?.focus()},[e,a])}var cf="data-sf-overlay";import{Fragment as Th,jsx as _1,jsxs as y0}from"react/jsx-runtime";function ir({content:e=gl}){let{isOpen:t,preview:a,close:s,items:o,remove:r,setQty:i,totals:n,coupon:l,bundles:c}=D4(),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}=k0(),g=v?.name??e.shipsToFallback,f=1+(e.leadTimeValue?1:0)+(g?1:0),b=m31(null),x=hN(o.some(Ah));return g5({active:t,onDismiss:s,lockScroll:!a}),p31(()=>{t&&b.current?.focus({preventScroll:!0})},[t]),t?y0(Th,{children:[_1("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"}),y0("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:[_1("style",{children:`
|
|
14
14
|
@keyframes storefront-cart-fade { from { opacity: 0 } to { opacity: 1 } }
|
|
15
15
|
@keyframes storefront-cart-slide { from { transform: translateX(40px); opacity: 0 } to { transform: translateX(0); opacity: 1 } }
|
|
16
|
-
`}),y0("header",{className:"flex flex-shrink-0 flex-col gap-4 border-b border-line px-8 pb-6 pt-8 max-[640px]:px-6 max-[640px]:pt-6 max-[640px]:pb-5",children:[y0("div",{className:"flex items-center justify-between",children:[y0("span",{className:"flex items-center gap-3 font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[e.kickerBadge?_1("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]}),_1("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"})]}),y0("h1",{className:"font-display text-[38px] font-medium uppercase leading-[0.95] tracking-[-0.03em] max-[640px]:text-[30px]",children:[e.titleLead+" ",_1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.02em] normal-case",children:e.titleAccent})]}),_1("p",{className:"font-serif text-[13px] italic leading-[1.5] text-fg-dim",children:FM(e,o.length)})]}),y0("div",{className:`grid flex-shrink-0 ${d31[f-1]} gap-px border-b border-line bg-line`,children:[_1(hf,{label:"Items",value:y0(Th,{children:[_1("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?_1(hf,{label:"Lead time",value:e.leadTimeValue}):null,g?_1(hf,{label:"Ships to",value:g}):null]}),y0("div",{className:"flex-1 overflow-y-auto [scrollbar-color:var(--site-line)_transparent] [scrollbar-width:thin]",children:[o.length===0?_1(b31,{content:e}):o.map(w=>_1(u31,{line:w,tyre:x.get(w.slug),onRemove:()=>r(w.id),onQtyChange:z=>i(w.id,z)},w.id)),d.length>0&&y0("section",{className:"border-b border-line px-8 py-6 max-[640px]:px-6",style:{background:"color-mix(in oklab, var(--site-surface) 60%, transparent)"},children:[y0("div",{className:"mb-4 flex items-center justify-between font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[_1("span",{children:"You may also need"}),_1("span",{className:"font-display text-[11px] normal-case tracking-[0.08em] text-fg-dim",children:"Buy together, save"})]}),_1("div",{className:"grid grid-cols-2 gap-2 max-[640px]:grid-cols-1",children:d.map(w=>_1(g31,{href:`/bundles/${w.slug}`,title:w.name,sub:v31(w,n.currency,u)},w.slug))})]}),_1("section",{className:"border-b border-line px-8 py-6 max-[640px]:px-6",children:_1(RT,{})}),e.promises.length>0&&_1("div",{className:"flex flex-wrap justify-center gap-5 border-b border-line px-8 pt-6 pb-8 font-mono text-[9px] uppercase tracking-[0.24em] text-fg-dim max-[640px]:px-6",children:e.promises.map(w=>_1(f31,{children:w},w))})]}),y0("div",{className:"flex flex-shrink-0 flex-col gap-2 border-t border-line px-8 pt-5 max-[640px]:px-6",children:[_1(H8,{label:`Subtotal \xB7 ${n.sets} set${n.sets===1?"":"s"}`,value:u(n.subtotal,n.currency)}),n.appliedBundles.map(w=>_1(H8,{label:`Bundle \xB7 ${w.name}${w.multiples>1?` \xD7${w.multiples}`:""}`,value:y0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(w.discount,n.currency)]})},w.slug)),n.discount>0&&l?.valid&&_1(H8,{label:`Coupon \xB7 ${l.code}`,value:y0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(n.discount,n.currency)]})}),l?.deferred&&_1(H8,{label:`Coupon \xB7 ${l.code}`,value:vT}),l?.valid&&l.effects?.gift&&_1(H8,{label:`Free gift \xB7 ${l.effects.gift.partNumber}${l.effects.gift.quantity>1?` \xD7${l.effects.gift.quantity}`:""}`,value:_1("span",{style:{color:"var(--green)"},children:B9})}),_1(H8,{label:"Shipping",value:n.shippingStatus==="free"?_1("span",{style:{color:"var(--green)"},children:B9}):ET(n.shippingStatus)??u(n.shipping,n.currency)}),n.tax&&(n.tax.charged?_1(H8,{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?_1(H8,{label:n.tax.name,value:TT}):null),y0("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-4 text-fg",children:[y0("span",{className:"font-display text-[22px] font-medium tracking-[-0.02em] normal-case",children:["Total ",_1("em",{className:"font-serif font-normal italic text-accent",children:"due"})]}),_1("span",{className:"text-right font-display text-[30px] font-medium tracking-[-0.025em] text-fg",children:n.repricing?"\u2026":u(n.grand,n.currency)})]})]}),y0("div",{className:"flex flex-shrink-0 flex-col gap-3 px-8 pb-6 pt-4 max-[640px]:px-6",children:[y0(L1,{href:"/checkout",onClick:s,"aria-disabled":o.length===0,className:["group flex items-center justify-between border px-5 py-5 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",_1("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]}),_1("div",{className:"flex items-center justify-between px-1 py-2 font-mono text-[10px] uppercase tracking-[0.24em] text-fg-dim",children:_1(L1,{href:"/wheels",onClick:s,className:"text-fg transition-colors hover:text-accent",children:"\u2190 Keep browsing"})})]})]})]}):null}var d31=["grid-cols-1","grid-cols-2","grid-cols-3"];function hf({label:e,value:t}){return y0("div",{className:"flex flex-col gap-1 bg-bg px-4 py-4",children:[_1("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-fg-dim",children:e}),_1("span",{className:"font-display text-[14px] font-medium tracking-[-0.005em] text-fg",children:t})]})}function u31({line:e,tyre:t,onRemove:a,onQtyChange:s}){let{catalog:o,totals:r}=D4(),i=(e.components??[]).reduce((c,h)=>c+(r.freeUnitsByPartNumber[h.partNumber]??0),0),{currency:n,formatMoney:l}=k0();return y0(Th,{children:[y0("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-6 max-[640px]:py-5",children:[_1(nf,{line:e,catalog:o,tyre:t}),y0("div",{className:"flex min-w-0 flex-col gap-2",children:[y0("div",{className:"flex items-start justify-between gap-3",children:[y0("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-accent",children:["N\xB0 ",e.positionNo," \xB7 ",e.process==="FusionForge\xAE"?y0(Th,{children:["FusionForge",_1(v7,{})]}):e.process]}),_1("span",{className:"whitespace-nowrap font-display text-[16px] font-medium tracking-[-0.015em] text-fg",children:yg(e,n)===null?f8:l(yg(e,n),n)})]}),y0("h3",{className:"mt-0.5 font-display text-[22px] font-medium uppercase leading-none tracking-[-0.02em]",children:[e.name.lead,_1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em] normal-case",children:e.name.accent})]}),e.config.length>0&&y0("div",{className:"mt-1 flex flex-wrap gap-2",children:[e.config.map(c=>_1("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&&y0("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"]})]}),y0("div",{className:"mt-3 flex items-center justify-between gap-3",children:[_1(rr,{value:e.qty,onChange:s,size:"small"}),y0("div",{className:"flex gap-4 font-mono text-[10px] uppercase tracking-[0.22em]",children:[_1(L1,{href:e.href??`/wheels/${e.slug}`,className:"text-fg-dim transition-colors hover:text-accent",children:e.href?"View product":"Edit finish"}),_1("button",{type:"button",onClick:a,className:"text-fg-dim transition-colors hover:text-alert",children:"Remove"})]})]})]})]}),e.verifiedFor&&y0("div",{className:"mx-8 -mt-px flex items-start gap-3 border-t-0 px-4 py-4 font-display text-[13px] leading-[1.45] text-fg max-[640px]:mx-6",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:[_1("span",{className:"flex-shrink-0 pt-px font-mono text-[10px] uppercase tracking-[0.24em] text-accent",children:"Fits"}),y0("span",{children:["Verified for your ",_1("strong",{className:"font-medium text-accent",children:e.verifiedFor}),". Final torque values shipped with the wheels."]})]})]})}function g31({title:e,sub:t,href:a}){return y0(L1,{href:a,className:"flex items-center justify-between border border-line bg-bg px-4 py-3 text-left transition-colors hover:border-accent",children:[y0("span",{className:"flex min-w-0 flex-col gap-1",children:[_1("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap font-display text-[13px] font-medium tracking-[-0.005em] text-fg",children:e}),_1("span",{className:"font-mono text-[9px] uppercase tracking-[0.22em] text-fg-dim",children:t})]}),_1("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 v31(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 f31({children:e}){return _1("span",{className:"inline-flex items-center gap-2 before:text-[6px] before:text-accent before:content-['\u25CF']",children:e})}function H8({label:e,value:t}){return y0("div",{className:"flex items-center justify-between font-mono text-[11px] uppercase tracking-[0.18em] text-fg-dim",children:[_1("span",{children:e}),_1("strong",{className:"font-display text-[14px] font-normal tracking-[-0.005em] normal-case text-fg",children:t})]})}function b31({content:e}){return y0("div",{className:"flex flex-col items-center justify-center gap-3 px-8 py-20 text-center",children:[_1("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:e.emptyKicker}),_1("p",{className:"font-serif text-[16px] italic leading-[1.5] text-fg-dim",children:e.emptyBody}),y0(L1,{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 ",_1("span",{className:"text-accent",children:"\u2192"})]})]})}import{default as y7}from"efficient-easel/screen/components/UiIcon";import{Fragment as w31,jsx as J9,jsxs as Eh}from"react/jsx-runtime";var x31=ga(()=>import("./chunks/EditorPreviewCheckout-OV6BQIOF.js"),{ssr:!1});function pf(){let{chromePlaceholder:e,themeFromDocument:t}=N3(),{surface:a}=UA();return e||t||!a||a!=="cart"&&a!=="checkout"?null:a==="checkout"?Eh(w31,{children:[J9(x31,{}),J9(pN,{surface:a})]}):J9(x8,{children:Eh(Yt,{preview:!0,children:[J9(ir,{}),J9(pN,{surface:a})]})})}function pN({surface:e}){let{label:t,href:a}=PF(e);return Eh("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:[J9("span",{style:{whiteSpace:"nowrap"},children:m("{name} \xB7 preview only",{name:m(t)})}),Eh("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"),J9(y7,{name:"external-link",size:13,rounded:!0})]})]})}import{CategoryIcon as uf1,CheckIcon as TX,ClockIcon as Bk,ColumnsIcon as gf1,DirectionIcon as vf1,EyeIcon as ff1,ListIcon as bf1,PageIcon as xf1,PlacementIcon as wf1,ScrollPointIcon as yf1,TriggerIcon as zf1}from"efficient-easel/icons";import{useContext as z31,useEffect as dN,useRef as Ph,useState as Fh}from"react";import{Button as Nh}from"efficient-shell/ui";var nr=class extends Error{constructor(a){super("The storefront forms list could not be loaded.");this.cause=a;this.name="FormsUnavailableError"}},Hh=null,mf=null,df=null;function y31(){Hh=null,mf=null,df=null}function mN(e=!1){let t=I3(),a=x2();return(e||!Hh||mf===null&&t!==null||df!==a)&&(mf=t,df=a,Hh=(t?E1.listForms(t,{siteId:a}):Promise.reject(new nr)).catch(s=>{throw y31(),s instanceof nr?s:new nr(s)})),Hh}import{jsx as R2,jsxs as P6}from"react/jsx-runtime";var uN="__create-a-new-form__";function k31({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:uN,label:m("Create a new form")}];return[n,...l,...c,...h]}function S31(e){return e===uN?{action:"create"}:{action:"store",slug:e}}function C31({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 M31(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 uf({value:e,onChange:t,label:a="Form",emptyLabel:s}){let o=x3(),r=z31(pt),i=r?r.capabilities.hasForms:!0,[n,l]=Fh(null),[c,h]=Fh(!1),[p,d]=Fh(!1),[u,v]=Fh(!1),g=Ph(!0),f=Ph(e);f.current=e;let b=Ph(t);b.current=t;let x=Ph(null),w=(N=!1)=>mN(N).then(H=>{if(g.current){l(H),h(!1);let P=C31({value:f.current,pickedId:x.current,forms:H});P&&b.current(P)}return H},()=>(g.current&&h(!0),[]));dN(()=>(g.current=!0,i&&w(),()=>{g.current=!1}),[i]),dN(()=>i?Oc(()=>{w(!0)}):void 0,[i]);let k=e?(n??[]).find(N=>N.slug===e)??null:null;k?x.current=k.id:e||(x.current=null);let A=!!e&&!k&&n!==null&&!c,I=k31({value:e,forms:n,loadFailed:c,emptyLabel:s}),E=async()=>{d(!0),v(!1);try{let N=await aH(o,{mode:"create"}),H=await w(!0);if(!g.current)return;if(N.status==="timeout"){v(!0);return}if(N.status!=="saved")return;let{form:P}=N;P.slug!==f.current&&b.current(P.slug),H.some(_=>_.id===P.id)||w(!0)}finally{g.current&&d(!1)}},F=N=>{let H=S31(N);H.action==="create"?E():(v(!1),t(H.slug))};return i?P6("div",{className:"sf-formpicker",children:[R2(ft,{label:a,options:I,fallback:"",value:e??"",onChange:F,placeholder:m("Search forms\u2026")}),u&&R2("p",{className:"sf-formsummary-warn",children:m("That didn\u2019t come back \u2014 pick the form from the list, or try again.")}),k?P6("div",{className:"sf-blogsource sf-formsummary",children:[P6("div",{children:[R2("div",{className:"sf-formsummary-caption",children:e3("{n} field","{n} fields",k.fields.length)}),k.fields.length?R2("ol",{className:"sf-formsummary-fields",children:k.fields.map((N,H)=>R2("li",{children:N.label},N.key||`${N.label}-${H}`))}):R2("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.")})]}),P6("div",{children:[R2("div",{className:"sf-formsummary-caption",children:m("Where the answers go")}),R2("ul",{className:"sf-formsummary-fields",children:M31(k).map(N=>R2("li",{children:N},N))})]}),!k.is_active&&R2("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")})}),P6("div",{className:"sf-formsummary-actions",children:[R2(Nh,{variant:"secondary",size:"sm",onClick:()=>tH(o,k.id),children:m("Edit form \u270E")}),R2(Nh,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{E()},children:m("New form +")})]}),R2("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")})})]}):P6("div",{className:"sf-blogsource sf-formsummary",children:[c?P6("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})}`:""]}):A&&R2("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??""})}),P6("div",{className:"sf-formsummary-actions",children:[c&&R2(Nh,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{w(!0)},children:m("Try again")}),R2(Nh,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{E()},children:m("New form +")})]}),!c&&R2("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")})})]})]}):R2("div",{className:"sf-formpicker",children:R2("div",{className:"sf-blogsource sf-formsummary",children:P6("div",{children:[R2("div",{className:"sf-formsummary-caption",children:m(a)}),P6("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 A31}from"react/jsx-runtime";function F6(e,t){return{type:"custom",render:({value:a,onChange:s})=>A31(uf,{value:a,onChange:s,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}var gf="heroBullets",lr="\xB7",cr={bullets:[{label:"Free shipping",detail:"USA, UK, AUS"},{label:"Lifetime warranty",detail:"structural"}]};function gN(e){return e.detail?`${e.label} ${lr} ${e.detail}`:e.label}function L31(e){let t=e.trim();if(!t)return null;let a=t.indexOf(lr);return a<0?{label:t,detail:""}:{label:t.slice(0,a).trim(),detail:t.slice(a+lr.length).trim()}}function vN(e){let t=(e??{})[gf];return Array.isArray(t)?{bullets:t.map(s=>L31(typeof s=="string"?s:HM(s?.text,""))).filter(s=>s!==null)}:cr}var C2={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"};import{jsx as z7}from"react/jsx-runtime";import{jsx as P8,Fragment as T31,jsxs as E31}from"react/jsx-runtime";import{useEasel as xN}from"efficient-easel/easel";import{LayersIcon as H31}from"efficient-easel/icons";import{SettingsDrill as P31,SettingsField as F31}from"efficient-easel/panel";import{default as fN}from"efficient-easel/screen/components/AddChildRow";import{SlotChildActionsProvider as GT1,useSlotChildActions as bN}from"efficient-easel/screen/components/SlotChildActionsContext";function N31({parent:e,parentType:t,label:a,rowName:s,onSelectChild:o,onAddChild:r,nestDepth:i=0}){let n=So(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=E31(T31,{children:[g?P8("p",{className:"sf-note",children:g}):null,u.map((b,x)=>P8(P31,{name:s(b),onOpen:()=>o(d,x,String(b.props.id),t)},String(b.props.id??`${d}-${x}`))),c||h.fixed?null:P8(fN,{label:h.addLabel,blocked:v,onAdd:()=>r(p,l,h.childType,u.length,t)})]});return P8("div",{className:"sf-slot-rows",children:a?P8(F31,{label:m(a),icon:P8(H31,{}),value:String(u.length),children:f}):f})}function I31(e,t){return So(e)?.spec?.notice?.(t)??null}function wN({parentType:e}){let{selectedItem:t}=xN(r=>r);if(!t||t.type!==e)return null;let a=So(e)?.slot,s=a&&Array.isArray(t.props[a])?t.props[a]:[],o=I31(e,s);return o?P8("p",{className:"sf-note",children:o}):null}function R31(e,t){return So(t)?.source==="footer"?e.blockRowName:e.childRowName}function yN({parentType:e,label:t}){let{appState:a,selectedItem:s}=xN(i=>i),o=bN();if(!o||!s||s.type!==e)return null;let r=e===ES?at(a?.data,String(s.props.id)):0;return P8(N31,{parent:s,parentType:e,label:t,rowName:R31(o,e),onSelectChild:o.selectChild,onAddChild:o.addChild,nestDepth:r})}var zN="grayscale(1) contrast(1.03)",kN="Black and white";function V31(e){return e===!0?{filter:zN}:{}}function _31(e){let{filter:t}=V31(e);return t?{style:{filter:t}}:{}}var hr="sf-photo-grayscale",O31=`@media (hover:hover){.${hr}{filter:${zN};transition:filter 160ms ease}.${hr}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${hr}{transition:none}}`;function ya(e,t){return typeof e=="boolean"?e?_31(!0):{}:t===!0?{className:hr}:{}}function SN(e){return e===!0?{[hr]:O31}:{}}import{AlignLeftIcon as Z31,BlackAndWhiteIcon as G31,ContrastIcon as W31,HeightIcon as U31,TypeIcon as q31}from"efficient-easel/icons";var D31=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],B31=new Set(D31);function CN(e){let t=e.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let a=t.length-1;a>=0;a-=1)if(B31.has(t[a]))return t[a];return null}var k7=e=>b3(e,c1("Height",z7(U31,{}),_t.min,_t.max,_t.step,_t.fallback,_t.unit)),v5={ctaText:R("Button",C2.text),ctaHref:P1("Button link")},N6=()=>b1("Alignment",z7(Z31,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],"left"),Ih=()=>b1("Tone",z7(W31,{}),[{label:"Default",value:"default"},{label:"Muted",value:"dim"}],"default"),R3=e=>At({...Ac[e],keys:{top:"padTop",bottom:"padBottom"},group:!1}),I6=(e,t)=>({type:"custom",render:()=>z7(yN,{parentType:e,label:t})}),Rh=e=>({type:"custom",render:()=>z7(wN,{parentType:e})});function $31(e){let{photographyGrayscale:t}=N3();return h1(kN,t===!0,z7(G31,{})).render(e)}function za(){return{type:"custom",render:e=>z7($31,{...e})}}var t0=Object.keys(z6("full"));function ka(e){let t=CN(e);return t?z7(I4,{noun:t}):z7(q31,{})}import{readLockHolder as t41}from"efficient-easel/edit-lock";var ff="/api/storefront/section-templates/",vf=e=>`${ff}${encodeURIComponent(e)}/`,bf=e=>e.node!=null;function Vh(e){if(!bf(e))throw new Error(`Section template ${e.id} has no design`);return e}var wf=(e,t)=>e instanceof O4&&e.status===t;function j31(e){return{list:()=>Gt(`${ff}?no_page=true`,{token:e()}).then(t=>Array.isArray(t)?t:t.results??[]),get:t=>Gt(vf(t),{token:e()}).catch(a=>{if(wf(a,404))return null;throw a}),create:t=>Gt(ff,{method:"POST",token:e(),body:JSON.stringify(t)}),patch:(t,a)=>Gt(vf(t),{method:"PATCH",token:e(),body:JSON.stringify(a)}),remove:t=>Gt(vf(t),{method:"DELETE",token:e()})}}var xf="sf:section-templates",MN=`${xf}.imported`,K31="Untitled section",Y31=160,_h=e=>(typeof e=="string"?e.trim().slice(0,Y31):"")||K31;function X31(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 J31(e,t=y3){let a={created:0,seeded:0,left:0,skipped:0,kept:!1},s=t.getItem(xf);if(s===null)return a;for(let o of X31(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:_h(o.name),node:o.node}),a.created+=1}catch(i){if(!wf(i,400))throw i;a.skipped+=1}}catch{return{...a,kept:!0}}return t.setItem(MN,s),t.getItem(MN)===s&&t.removeItem(xf),a}var Oh=class{constructor(t,a=y3){this.readToken=t;this.storage=a;this.imported=null;this.http=j31(t)}ready(){return this.imported?this.imported:this.readToken()?(this.imported=J31(this.http,this.storage).catch(()=>{}),this.imported):Promise.resolve()}async list(){return await this.ready(),(await this.http.list()).filter(bf)}async get(t){return await this.ready(),this.http.get(t)}async ensure(t,a,s){await this.ready();let o=async i=>i?bf(i)?i:Vh(await this.http.patch(t,{node:s})):null,r=await o(await this.http.get(t));if(r)return r;try{return Vh(await this.http.create({id:t,name:_h(a),node:s}))}catch(i){if(wf(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(),Vh(await this.http.create({name:_h(t),node:a}))}async update(t,a){return await this.ready(),Vh(await this.http.patch(t,{node:a}))}async rename(t,a){return await this.ready(),this.http.patch(t,{name:_h(a)})}async remove(t){await this.ready(),await this.http.remove(t)}};var AN={"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 LN(e,t){let a=AN[e][t];return{maxSizeBytes:a.max_bytes,maxFiles:a.max_files,accept:a.accept==="*"||a.accept==="*/*"?void 0:a.accept,acceptHint:a.hint}}var Q31=["home","products","gallery","about","contact"],e41=e=>{let t=e.slug.trim().toLowerCase(),a=(e.title??"").trim().toLowerCase(),s=Q31.findIndex(o=>o===t||o===a);return s===-1?Number.POSITIVE_INFINITY:s},TN=e=>e.map((t,a)=>({page:t,idx:a,rank:e41(t)})).sort((t,a)=>t.rank-a.rank||t.idx-a.idx).map(t=>t.page);var PN="Popups",EN="Site";var FN={[OM]:{label:"Site popup",group:PN},[c5]:{label:"Footer",group:EN},[PM]:{label:"Cart drawer",group:EN}};function zf(e){return FN[e.slug]?.label||e.title||e.slug}function yf(e){let t=e.group?.trim();return t||null}function HN(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 NN(e){let t=TN(e),a=[],s=t.filter(n=>!wo(n.slug)),o=s.filter(n=>!yf(n));o.length&&a.push({key:"top",group:null,pages:o});let r=s.filter(n=>yf(n));for(let[n,l]of HN(r,c=>yf(c)))a.push({key:`folder:${n}`,group:n,pages:l});let i=t.filter(n=>wo(n.slug));for(let[n,l]of HN(i,c=>FN[c.slug]?.group??PN))a.push({key:`system:${n}`,group:n,pages:l});return a}import{isExpiredSession as TE1,PAGE_CONFLICT_CODE as IN,readEaselFailure as EE1}from"efficient-easel/screen/lib/failure";var Dh=e=>e.layout_updated_at??e.updated_at??null,a41=["live","changed","never"],kf=e=>a41.includes(e.live_state)?{live:e.live_state}:{};function s41(e){if(!e||typeof e!="object")return null;let t=e;return t.code!==IN?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 o41(e){return e===401||e===403?"unauthorized":e===404?"not-found":e===pT||e>=500?"unavailable":"invalid"}function r41(e){if(!(e instanceof O4))return e;if(e.status===409){let t=s41(e.data);if(t)return new x6("changed-elsewhere",e.message,{conflict:t,cause:e});let a=t41(e.data);if(a)return new x6("lock-taken",e.message,{holder:a,cause:e})}return new x6(o41(e.status),e.message,{cause:e})}var Sf=new WeakMap;function i41(e,t){let a=ac(),s=a?new URL(a).hostname:typeof window<"u"?window.location?.hostname??null:null,o=null,r=t.siteId(),i=t.token();if(YL(s)&&r&&i){let l=tc(i,r);Sf.has(l)?o=Sf.get(l)??null:l.then(c=>Sf.set(l,c))}let n=XL({pageSlug:e,siteSlug:o,hostname:s});return a?`${a}${n}`:n}var n41={group:"Template pages",groupKey:"template"},RN=e=>({id:e.id,slug:e.slug,label:e.title||e.slug,...n41,draft:!1});function VN(e){let t=async c=>{let h=e.token();if(!h)throw new x6("unauthorized","The editor has no sign-in yet.");try{return await c(h)}catch(p){throw r41(p)}},a={list:c=>t(async h=>{let p=await E1.listPages(h,c?.siteId);return NN(p.filter(d=>d.slug!==c5)).flatMap(d=>d.pages.map(u=>({id:u.id,slug:u.slug,label:zf(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 E1.findPageBySlug(c.slug,h,c.siteId))?.id,d=p?await E1.getPageById(p,h):null;return d?{id:d.id,layout:d.layout,kind:d.kind,version:Dh(d),...kf(d)}:null}),save:(c,h,p)=>{let{version:d}=p;return d?t(async u=>{let v=await E1.saveLayout(c,h.layout,u,d,p.clientId||void 0);return{version:Dh(v),...kf(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=>E1.getPageById(c,h).then(Dh)),linkTargets:c=>t(async h=>(await E1.listPages(h,c?.siteId)).map(p=>({id:p.id,slug:p.slug,label:zf(p),layout:p.layout??null}))),publish:(c,h)=>t(async p=>{let d=await E1.publishPage(c,p,h?.version);return{version:Dh(d),...kf(d)}})},s=c=>({list:()=>t(async h=>(await E1.listTemplatePages(c,h)).map(RN)),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 E1.listTemplatePages(c,p);if(v.length)return u(v.find(d)??v[0]);let g=await E1.getTemplate(c,p).catch(()=>null);try{return u(await E1.createTemplatePage(c,{slug:ct,title:"Home",layout:g?.layout??{}},p))}catch{let f=await E1.listTemplatePages(c,p),b=f.find(d)??f[0];return b?u(b):null}}),save:(h,p)=>t(async d=>(await E1.saveTemplatePageLayout(h,p.layout,d),{version:null})),create:h=>t(async p=>RN(await E1.createTemplatePage(c,{slug:h.slug,title:h.title,layout:h.layout},p))),remove:(h,p)=>t(d=>E1.deleteTemplatePage(h,d,p))}),o=c=>{let h=c?.siteId??e.siteId();if(!h)throw new x6("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(N9.map(h=>[h,c[Ol(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 E1.claimPageEditLock(c,d,h,p)).heartbeat_seconds})),release:c=>t(h=>E1.releasePageEditLock(c,h))},site:{get:c=>t(async h=>r(await E1.getSite(o(c),h))),update:(c,h)=>t(async p=>r(await E1.updateSite(o(h),c.mapsApiKey===void 0?{}:{maps_api_key:c.mapsApiKey},p)))},media:{resolve:dS,maxUploadBytes:LN("POST /api/storefront/media/","file").maxSizeBytes},sectionTemplates:new Oh(e.token),social:{get:c=>t(async h=>i(await E1.getSocialSettings(h,o(c)))),update:(c,h)=>t(async p=>{let d=Object.fromEntries(N9.filter(u=>u in c).map(u=>[Ol(u),c[u]]));try{return i(await E1.updateSocialSettings(d,p,o(h)))}catch(u){if(u instanceof O4&&u.status===400){let v=u.data??{},g={};for(let f of N9){let b=v[Ol(f)],x=Array.isArray(b)?b[0]:b;typeof x=="string"&&x.trim()&&(g[f]=x)}if(Object.keys(g).length>0)throw new x6("invalid",u.message,{fields:g,cause:u})}throw u}})},theme:{get:c=>t(h=>E1.getThemeSettings(h,c?.siteId)),update:(c,h)=>t(p=>E1.updateThemeSettings(c,p,h?.siteId))},chat:{get:c=>t(async h=>n(await E1.getChatSettings(h,c?.siteId))),update:(c,h)=>t(async p=>n(await E1.updateChatSettings(c,p,h?.siteId)))},blog:{posts:c=>t(async h=>(await E1.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?u6(p.cover_image)??"":"",publishedAt:p.published_at,href:Du(p.slug)})))},templates:{get:c=>t(async h=>{let p=await E1.getTemplate(c,h);return{id:p.id,name:p.name}}),pages:s},preview:{href:c=>i41(c,e),draftLink:c=>t(async h=>({url:(await E1.createPagePreviewLink(c,h)).url??null}))}};return l[oS]=!0,l}wM({read:e=>e instanceof O4?{status:e.status,data:e.data,message:e.message}:null,unreachableMessage:hT,loadRefusal:(e,{slug:t})=>e instanceof gT?`\u201C${t}\u201D exists on more than one website. Open it from the site you want to edit.`:null});iS(e=>VN({token:()=>e.auth.token,siteId:()=>e.siteId()}));function l41(e={}){return e.portalAudience!==void 0&&mT(e.portalAudience),e.language!==void 0&&dT(e.language),VN({token:()=>ho().auth.token,siteId:()=>e.siteId??ho().siteId()})}import{createContext as c41,useContext as h41}from"react";import{jsx as F8,jsxs as Cf}from"react/jsx-runtime";function Mf(e){return u6(e)??void 0}var Af=c41({}),_N=3;function Lf({tag:e,name:t,desc:a,href:s,imageSrc:o,imageLabel:r,price:i}){let{showPrice:n,cardStyle:l,partStyles:c,editing:h}=h41(Af),p=l==="bordered"?" border border-line":l==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",d=Mf(o),u=g=>h?{[R9]:g}:{},v=g=>Ql(c?.[V9(g)]?.role,_L[g],Bn);return Cf(L1,{href:s||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${p}`,children:[F8("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:F8(P0,{label:r||"collection.jpg",src:d})}),F8("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"}}),Cf("div",{className:"absolute inset-x-8 bottom-8 z-[2] flex flex-col gap-3 text-overlay-fg max-[800px]:relative max-[800px]:inset-auto max-[800px]:p-6 max-[800px]:gap-3 max-[800px]:text-fg",children:[e&&F8("span",{...u("tag"),style:v("tag"),className:`font-mono ${_9.tag} uppercase tracking-[0.25em] opacity-70`,children:M(e)}),t&&F8("h3",{...u("name"),style:v("name"),className:`font-heading2 ${_9.name} font-medium leading-none tracking-[-0.03em] ${_9.namePhone}`,children:typeof t=="string"?e1(t,!1):t}),a&&T0(a).map((g,f)=>F8("p",{...u("body"),style:v("body"),className:`max-w-[420px] ${_9.body} leading-[1.5] opacity-80`,children:M(g)},f)),n&&i&&F8("span",{...u("price"),style:v("price"),className:`font-mono ${_9.price} tracking-[0.05em] text-accent`,children:M(i)}),Cf("span",{...u("link"),style:v("link"),className:`mt-2 inline-flex items-center gap-3 font-mono ${_9.link} uppercase tracking-[0.2em]`,children:["Explore",F8("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"\u2192"})]})]})]})}import{createContext as S41,useCallback as C41,useContext as M41,useEffect as A41,useRef as L41,useState as Hf}from"react";import{useState as m41}from"react";function Bh(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 ON(e){return e==="below"}import{Fragment as p41,jsx as DN}from"react/jsx-runtime";function N8({kind:e,shared:t=!1,children:a}){let s=lC(e),o=cC(e),r=t?o:s;return r?DN("span",{[aC]:r.stamp,children:a}):DN(p41,{children:a})}import{jsx as x4,jsxs as Sa}from"react/jsx-runtime";function Tf({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=>MM(l,c,w),u=w=>p&&h?{[Zn]:h,[mo]:`@${w}`}:{},v=(w,z)=>!p&&h?x4(N8,{kind:`@${w}`,shared:!0,children:z}):z,[g,f]=m41(!1),b=ON(n),x=Sa("div",{className:["sf-card group relative overflow-hidden bg-surface-2",Bh(i),t?"max-[800px]:hidden":""].join(" "),children:[Sa("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:[x4(P0,{label:e.imageLabel,src:e.imageSrc}),x4("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),x4("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&&x4(h4,{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)&&Sa("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&&x4("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",i0(e.process))}),o!=null&&r!=null&&x4("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")}`)})]}),x4("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:Sa("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&&x4("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&&x4("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&&x4("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:x4("span",{children:v("meta",i0(e.finish))})})]})})]});return b?Sa("div",{className:t?"max-[800px]:hidden":"",children:[x,Sa("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&x4("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)&&x4("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",i0(e.finish||e.car))})]})]}):x}import{createContext as d41,useContext as u41,useEffect as g41,useLayoutEffect as v41,useRef as Ef,useState as f41}from"react";import{createPortal as b41}from"react-dom";import{Fragment as z41,jsx as pr,jsxs as k41}from"react/jsx-runtime";var x41=".sf-themed-content",BN="sf-section-accent";function w41(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(BN)&&(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 ${BN}`:"contents",style:a}}function y41(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 ZN=d41(()=>{});function Q9({open:e,onClose:t,label:a,onPrev:s,onNext:o,className:r="",style:i,children:n}){let l=Ef(null),c=Ef(null),[h,p]=f41(null);v41(()=>{if(!e){p(null);return}let v=l.current;if(!v)return;let g=v.closest(x41)??v.ownerDocument.body;p({host:g,theme:w41(v,g)})},[e]);let d=Ef({onClose:t,onPrev:s,onNext:o});d.current={onClose:t,onPrev:s,onNext:o};let u=e&&h!==null;return g41(()=>{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=y41(v);if(k.length===0){z.preventDefault(),v.focus();return}let A=k[0],I=k[k.length-1],E=g.activeElement,F=!!E&&v.contains(E)&&E!==v;if(z.shiftKey&&(!F||E===A))z.preventDefault(),I.focus();else if(!z.shiftKey&&(!F||E===I))z.preventDefault(),A.focus();else{z.preventDefault();let N=k.indexOf(E);k[z.shiftKey?N-1:N+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?k41(z41,{children:[pr("span",{ref:l,hidden:!0}),h&&b41(pr("div",{className:h.theme.className,style:h.theme.style,children:pr("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:pr(ZN.Provider,{value:t,children:n})})}),h.host)]}):null}function Ca({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=u41(ZN);return pr("button",{type:"button","aria-label":a,onClick:r=>{r.stopPropagation(),o()},className:e,style:t,children:s})}import{Fragment as Ma,jsx as p2,jsxs as V3}from"react/jsx-runtime";var mr=S41({}),GN=[{id:"tag",label:"Tag"},{id:"eyebrow",label:"Eyebrow"},{id:"title",label:"Title"},{id:"meta",label:"Meta"},{id:"number",label:"Card number"}],dr="data-gallery-grid",Pf="data-gallery-tile";function T41(e,t){let[a,s]=Hf(null);return A41(()=>{let o=e.current,r=o?.closest(`[${dr}]`);if(!o||!r)return;let i=()=>{let l=Array.from(r.querySelectorAll(`[${Pf}]`)),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 WN=[{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 E41(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function H41(e){let t=(e.photos??[]).map(r=>r?.src).filter(r=>!!r),a=e.image||t[0]||"",s=[a,...t].filter(r=>!!r),o=E41(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 ur({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}=M41(mr),p=H41(o),d=p.photos??(p.imageSrc?[p.imageSrc]:[]),u=L41(null),v=C41(F=>{u.current=F},[]),g=T41(u,e),f=e&&(!!t||!!n),[b,x]=Hf(!1),[w,z]=Hf(0),k=()=>z(F=>(F-1+d.length)%d.length),A=()=>z(F=>(F+1)%d.length),I=d[w]??p.imageSrc??"",E=p2(Tf,{build:p,forceHover:f,index:g?.index,total:g?.total,ratio:a,captionPlace:s,display:l,displayPhone:c,styleOwner:h,editing:e});return V3(Ma,{children:[e?p2("div",{ref:v,[Pf]:"",className:"block w-full text-left",children:E}):p2("button",{ref:v,[Pf]:"",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:E}),p2(Q9,{open:b,onClose:()=>x(!1),label:`${p.car} on ${p.wheel}`,onPrev:d.length>1?k:void 0,onNext:d.length>1?A: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:F=>F.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:[p2(Ca,{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:[I&&p2("img",{src:I,alt:`${p.car} \u2014 ${w+1} of ${d.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},I),d.length>1&&V3(Ma,{children:[p2("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"}),p2("button",{type:"button","aria-label":"Next photo",onClick:A,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&&p2("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:M(p.process)}),p.wheel&&p2("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:e1(p.wheel,!1)}),p.car&&V3("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",p2("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(Ma,{children:[p2("dt",{className:"text-fg-dim",children:"Wheel"}),p2("dd",{className:"text-fg",children:M(p.wheel)})]}),p.process&&V3(Ma,{children:[p2("dt",{className:"text-fg-dim",children:"Process"}),p2("dd",{className:"text-fg",children:M(p.process)})]}),p.finish&&V3(Ma,{children:[p2("dt",{className:"text-fg-dim",children:"Finish"}),p2("dd",{className:"text-fg",children:M(p.finish)})]}),p.car&&V3(Ma,{children:[p2("dt",{className:"text-fg-dim",children:"Vehicle"}),p2("dd",{className:"text-fg",children:M(p.car)})]})]}),V3("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[V3(L1,{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:[p2("span",{children:"View product"}),p2("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"\u2192"})]}),V3(L1,{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:[p2("span",{children:"See more builds"}),p2("span",{children:"\u2192"})]}),V3(L1,{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:[p2("span",{children:"Submit your build"}),p2("span",{children:"\u2192"})]})]})]})]})})]})}import{createContext as I41,useContext as R41,useEffect as Zh,useId as V41,useMemo as _41,useState as U2}from"react";var P41=14,F41=3;function Ff(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function N41(e,t){let a=new Date(`${e}T00:00:00`);return a.setDate(a.getDate()+t),Ff(a)}async function UN(e,t,a={}){let s=a.days??P41,o=a.read??D9.getAvailability,r=0,i=0;for(let n=0;n<s;n++){if(a.signal?.aborted)return{outcome:"unreadable"};let l=N41(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>=F41)return{outcome:"unreadable"}}}return i===s?{outcome:"noneInWindow",days:s}:{outcome:"unreadable"}}import{jsx as B41}from"react/jsx-runtime";var qN=I41(null);function I8(){let e=R41(qN);if(!e)throw new Error("useBookingForm must be used inside <BookingFormProvider>");return e}var Nf=[{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 O41(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 If={bookingNumber:"EXAMPLE-0000",service:"Example service",startAt:"2026-01-01T00:00:00.000Z",timezone:"UTC",customerTimezone:"",manageToken:"example"};function D41(e,t){return e&&t?.length===0}function $N({editing:e=!1,previewConfirmation:t=!1,children:a}){let s=V41(),o=_41(()=>Ff(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,A]=U2(""),[I,E]=U2(""),[F,N]=U2(""),[H,P]=U2(""),[_,U]=U2(""),[D,Z]=U2(()=>kg()),[O,K]=U2(null),[X,B]=U2(!1),[r1,V]=U2(!1),[q,j]=U2(null),[Q,J]=U2("");Zh(()=>{J(Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC")},[]),Zh(()=>{let $1=!1;return D9.listServices().then(j1=>{$1||(i(j1.results),l(j1.currency),h(R1=>R1||j1.results[0]?.id||""))}).catch(()=>{$1||i([])}),()=>{$1=!0}},[]),Zh(()=>{if(g||!c)return;let $1={aborted:!1};return A(""),z(void 0),j(null),x(null),B(!0),UN(c,o,{signal:$1}).then(j1=>{if(!$1.aborted){if(j1.outcome==="found"){d(j1.date),v(j1.date),z(j1.availability);return}x(j1.outcome==="noneInWindow"?`No times are available in the next ${j1.days} days.`:"We couldn't load available times. Please try again.")}}).finally(()=>{$1.aborted||B(!1)}),()=>{$1.aborted=!0}},[g,c,o]),Zh(()=>{if(!g||!c||!p)return;let $1=!1;return A(""),z(void 0),j(null),x(null),B(!0),D9.getAvailability(c,p).then(j1=>{$1||(z(j1),j1.slots.length===0&&x("No times are available on this date."))}).catch(()=>{$1||x("We couldn't load available times. Please try again.")}).finally(()=>{$1||B(!1)}),()=>{$1=!0}},[p,g,c]);let i1=r?.find($1=>$1.id===c),s1=i1?.depositAmountDue!=null,G1=!!(!e&&!r1&&i1&&k&&I.trim()&&F.trim()&&!s1);async function n0($1){if($1.preventDefault(),!(!G1||!i1)){V(!0),j(null);try{let j1=await D9.create({serviceId:i1.id,start:k,customer:{name:I.trim(),email:F.trim(),phone:H.trim()},notes:_.trim(),idempotencyKey:D,customerTimezone:Q});K(j1),Z(kg())}catch(j1){j(j1 instanceof O4&&j1.status===409?"That time was just booked. Choose another available time.":"Your appointment wasn't submitted. Please check your details and try again."),j1 instanceof O4&&j1.status===409&&(A(""),D9.getAvailability(i1.id,p).then(z).catch(()=>{}))}finally{V(!1)}}}let W1=D41(e,r);return B41(qN.Provider,{value:{fieldPrefix:s,editing:e,services:W1?Nf:r,currency:W1?"AUD":n,serviceId:W1?Nf[0].id:c,setServiceId:h,service:W1?Nf[0]:i1,requiresPayment:W1?!1:s1,date:p,earliestDate:u,setDate:d,setDateTouched:f,availability:W1?O41(p):w,loadingSlots:W1?!1:X,noSlotsMessage:b,selectedStart:W1?`${p}T09:00:00.000Z`:k,setSelectedStart:A,customerTimezone:Q,name:I,setName:E,email:F,setEmail:N,phone:H,setPhone:P,notes:_,setNotes:U,confirmation:O??(t?If:null),submitting:r1,error:q,canSubmit:W1?!1:G1,handleSubmit:n0,sample:!!W1},children:a})}import{jsx as Gh,Fragment as jN,jsxs as KN}from"react/jsx-runtime";var Z41="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",YN={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 z3(e){let{variant:t="primary",arrow:a,glyphBefore:s,className:o,style:r,children:i,href:n,newTab:l,...c}=e,h=`${Z41} ${YN[t]??YN.primary} ${o??""}`,p=s?KN(jN,{children:[a!==null&&Gh("span",{"aria-hidden":!0,className:"inline-flex",children:a??"\u2192"}),i]}):KN(jN,{children:[i,a!==null&&Gh("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-[3px]",children:a??"\u2192"})]});return n?Gh(d0,{href:n,className:h,style:r,...l?{target:"_blank",rel:"noopener noreferrer"}:{},children:p}):Gh("button",{type:"button",className:h,style:r,...c,children:p})}import{jsx as V0,jsxs as t4}from"react/jsx-runtime";var gr="w-full border-2 border-line bg-bg px-4 py-4 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 G41(e,t){let a=Number(e);if(a===0)return B9;try{return zT(a,t)}catch{return`${t} ${e}`}}function XN(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 JN(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 vr="font-[family-name:var(--bk-name-font,var(--font-mono))] text-[length:var(--bk-name-size,12px)]";function Rf({number:e,children:t}){return t4("div",{className:"mb-4 flex items-center gap-3",children:[V0("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}),V0("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 Wh({eyebrow:e,heading:t,intro:a}){return t4("div",{className:"mb-10 max-w-[760px]",children:[(e??"").trim()&&V0("p",{className:"mb-4 font-mono text-[12px] font-semibold uppercase tracking-[0.24em] text-accent",children:e}),(t??"").trim()&&V0("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()&&V0("p",{className:"mt-5 max-w-[660px] font-display text-[17px] leading-[1.65] text-fg-dim",children:a})]})}function Uh({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}=I8();return a?t4("div",{className:"flex flex-col gap-10",style:e,children:[t4("div",{children:[V0(Rf,{number:"01",children:"Choose a service"}),V0("div",{className:"grid gap-3 sm:grid-cols-2",children:a.map(b=>{let x=b.id===o;return t4("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:[V0("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}),t4("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 ",G41(b.price,s)]}),b.description&&V0("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&&V0("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."})]}),t4("div",{children:[V0(Rf,{number:"02",children:"Choose a date and time"}),V0(a3,{separate:!0,htmlFor:`${t}-date`,label:"Date",required:!0,labelFace:vr,children:V0("input",{id:`${t}-date`,type:"date",min:l,value:n,onChange:b=>{h(!0),c(b.target.value)},className:gr,required:!0})}),V0("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?V0("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=>t4("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:[V0("span",{className:"block",children:XN(b.start,f||p.timezone)}),f&&f!==p.timezone&&t4("span",{className:"mt-0.5 block text-[9px] font-normal tracking-[0.08em] opacity-70",children:[XN(b.start,p.timezone)," business"]})]},b.start)):u?V0("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&&t4("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 qh({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}=I8();return t4("div",{className:"sf-card border border-line bg-bg p-5 min-[640px]:p-8",style:t,children:[V0(Rf,{number:"03",children:"Your details"}),t4("div",{className:"flex flex-col gap-4",children:[V0(a3,{separate:!0,htmlFor:`${a}-name`,label:"Name",required:!0,labelFace:vr,children:V0("input",{id:`${a}-name`,type:"text",autoComplete:"name",value:o,onChange:g=>r(g.target.value),className:gr,required:!0})}),V0(a3,{separate:!0,htmlFor:`${a}-email`,label:"Email",required:!0,labelFace:vr,children:V0("input",{id:`${a}-email`,type:"email",inputMode:"email",autoComplete:"email",value:i,onChange:g=>n(g.target.value),className:gr,required:!0})}),V0(a3,{separate:!0,htmlFor:`${a}-phone`,label:"Phone",labelFace:vr,children:V0("input",{id:`${a}-phone`,type:"tel",inputMode:"tel",autoComplete:"tel",value:l,onChange:g=>c(g.target.value),className:gr})}),V0(a3,{separate:!0,htmlFor:`${a}-notes`,label:"What would you like to cover?",labelFace:vr,children:V0("textarea",{id:`${a}-notes`,rows:4,value:h,onChange:g=>p(g.target.value),className:`${gr} resize-y`})})]}),u&&V0("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}),V0(z3,{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 $h({successMessage:e}){let{confirmation:t,customerTimezone:a}=I8();return t?t4("div",{className:"sf-card max-w-[760px] border border-line bg-bg p-6 min-[640px]:p-10",role:"status",children:[t4("p",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-accent",children:["Request received \xB7 ",t.bookingNumber]}),V0("h3",{className:"mt-4 font-display text-[28px] font-medium uppercase text-fg",children:t.service}),V0("p",{className:"mt-2 font-display text-[17px] text-fg-dim",children:JN(t.startAt,t.customerTimezone||a||t.timezone)}),t.customerTimezone&&t.timezone!==t.customerTimezone&&t4("p",{className:"mt-1 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:["Business time: ",JN(t.startAt,t.timezone)]}),(e??"").trim()&&V0("p",{className:"mt-5 max-w-[620px] font-serif text-[18px] italic leading-[1.6] text-fg-dim",children:e}),V0(z3,{href:`/book/${encodeURIComponent(t.manageToken)}`,newTab:t!==If,variant:"ghost",className:"mt-8",children:"Manage booking"})]}):null}var jh=["step","name","value","note"],Vf={step:"Step",name:"Name",value:"Value",note:"Note"},Kh={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},QN={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 W41(e){return typeof e=="string"&&v6.includes(e)?e:null}var U41={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function eI(e){let t={};for(let a of jh){let s=W41(e[Kh[a]]);if(!s)continue;let o=it({role:s},U41);o.fontFamily&&(t[QN[a].font]=o.fontFamily),o.fontSize&&(t[QN[a].size]=o.fontSize)}return t}import{jsx as Aa}from"react/jsx-runtime";var tI=["head","booking","details","confirm"],aI={head:"Head",booking:"Booking",details:"Your details",confirm:"Confirmation"};function _f({region:e,eyebrow:t,heading:a,intro:s,buttonLabel:o,successMessage:r,...i}){let{confirmation:n,services:l}=I8(),c=eI(i);return e==="head"?Aa("div",{className:"min-[960px]:col-span-2",style:c,children:Aa(Wh,{eyebrow:t,heading:a,intro:s})}):e==="confirm"?n?Aa("div",{className:"min-[960px]:col-span-2",style:c,children:Aa($h,{successMessage:r})}):null:n||!l||l.length===0?null:e==="booking"?Aa(Uh,{style:c}):e==="details"?Aa(qh,{buttonLabel:o,style:c}):null}import{useEffect as sI,useState as ee}from"react";import{jsx as La,jsxs as $41}from"react/jsx-runtime";function R6(e,t){let[a,s]=ee(void 0),[o,r]=ee(0);return sI(()=>{if(t!==void 0)return;if(!e){s(null);return}let i=!1;return w0.getForm(e).then(n=>{i||s(n)}).catch(()=>{i||s(null)}),()=>{i=!0}},[t,e,o]),sI(()=>{if(t===void 0)return Oc(()=>r(i=>i+1))},[t]),t!==void 0?t:a}var q41="Something went wrong \u2014 your submission wasn't sent. Please try again.";function Ta(e,t="Thanks \u2014 we've received your submission."){return e.successMessage?.trim()||t}function R8({form:e,formSlug:t,editing:a=!1}){let[s,o]=ee({}),[r,i]=ee(""),[n,l]=ee(!1),[c,h]=ee(!1),[p,d]=ee(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 w0.submitForm(t,{answers:g,...r?{company:r}:{}}),h(!0)}catch{d(q41)}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 Ea({value:e,onChange:t}){return La("input",{type:"text",name:"company",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"hidden",value:e,onChange:a=>t(a.target.value)})}function V8({field:e,value:t,onChange:a,className:s,rows:o=5,placeholder:r}){let i=r??e.placeholder;return e.type==="textarea"?La("textarea",{required:e.required,rows:o,value:t,placeholder:i,onChange:n=>a(n.target.value),className:s}):e.type==="select"?$41("select",{required:e.required,value:t,onChange:n=>a(n.target.value),className:s,children:[La("option",{value:"",children:i||"Select\u2026"}),e.options.map(n=>La("option",{value:n,children:n},n))]}):e.type==="checkbox"?La("input",{type:"checkbox",required:e.required,checked:t==="true",onChange:n=>a(n.target.checked?"true":""),className:s}):La("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 i2,Fragment as Q41,jsxs as f5}from"react/jsx-runtime";var te="solid",Of=[{label:"Solid",value:"solid"},{label:"Outlined",value:"outlined"}];function oI(e){return Q2(Of,te,e)}var Df="sf-secnum-outline",rI="font-display text-[length:var(--size-headingMedium,clamp(48px,6vw,96px))] font-medium leading-[0.8] tracking-[-0.02em]",iI=`@supports (-webkit-text-stroke: 1px currentColor){.${Df}{color:var(--site-surface-2);-webkit-text-stroke:1px var(--site-line)}}`;import{jsx as Bf,jsxs as K41}from"react/jsx-runtime";import{jsx as j41}from"react/jsx-runtime";function nI(){return j41("span",{className:"block h-px w-[30px] bg-current"})}var Zf={labelUpTo800:"max-[800px]:text-[length:var(--size-label,12px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,14px)]"};function Y41(e,t){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var X41=`inline-block w-fit bg-accent px-3.5 py-1.5 font-mono ${Zf.labelSmall} font-semibold uppercase tracking-[0.16em] text-bg`,J41=`flex items-center gap-3.5 font-mono ${Zf.labelLarge} uppercase tracking-[0.3em] opacity-80 ${Zf.labelUpTo800} max-[800px]:tracking-[0.25em]`;function O1({text:e,look:t="plain",size:a=13,scaled:s=!0,className:o="",classNameAfter:r=""}){if(t==="line")return K41("div",{className:[o,J41,r].filter(Boolean).join(" "),children:[Bf(nI,{}),Bf("span",{children:M(e)})]});let i=t==="filled"?X41:Y41(a,s);return Bf("span",{className:[o,i,r].filter(Boolean).join(" "),children:M(e)})}var W4={headingMediumUpTo800Small:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMediumUpTo800Large:"max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",headingSmallUpTo800:"max-[800px]:text-[length:var(--size-headingSmall,28px)]",headingMedium2:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",headingMedium3:"text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))]",headingMedium1:"text-[length:var(--sf-heading-max,var(--size-headingMedium,38px))]",bodySmall:"text-[length:var(--size-body,14px)]",bodyLarge:"text-[length:var(--size-body,16px)]",label:"text-[length:var(--size-label,14px)]"},fr=(e,t=!1)=>typeof e=="string"?e1(e,t):e,Ha=(e,t=!1)=>typeof e=="string"?M(e,t):e;function h0({num:e,title:t,link:a,logo:s,description:o,accent:r,accentNum:i,numStyle:n=te,look:l="standard",titleAccent:c,accentTracking:h="-0.02em",spaceBelow:p,rowGap:d,descriptionSize:u,className:v="",eyebrowLook:g=sc}){let f=p??(l==="editorial"?"mb-[60px]":"");if(l==="editorial"){let A=!!t||!!c;return f5("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"?i2(O1,{text:e,className:"pb-2"}):i2("span",{className:"pb-2",children:e})),A&&f5("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&&f5(Q41,{children:[" ",i2("em",{className:"font-serif font-normal italic text-accent",style:{letterSpacing:h},children:c})]})]}),o&&i2("p",{className:`max-w-[360px] pb-1 text-right font-display ${W4.bodySmall} leading-[1.5] text-fg-dim max-[1100px]:max-w-full max-[1100px]:text-left`,children:o})]})}if(l==="simple"){let A=`${f} ${v}`.trim();return f5("div",{className:A||void 0,children:[e&&(typeof e=="string"?i2(O1,{text:e,look:g,className:"mb-4 block"}):i2("span",{className:"mb-4 block",children:e})),t&&i2("h2",{className:`font-heading2 ${W4.headingMedium2} font-medium uppercase leading-none tracking-[-0.02em] text-fg ${W4.headingMediumUpTo800Small}`,children:fr(t)})]})}if(l==="statement"){let A=`${f} ${v}`.trim();return f5("div",{className:A||void 0,children:[e&&(typeof e=="string"?i2(O1,{text:e,look:g,className:"mb-4 block"}):i2("span",{className:"mb-4 block",children:e})),t&&i2("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:fr(t,!0)})]})}if(l==="natural"){let A=`flex max-w-[680px] flex-col ${d??"gap-5"} ${f} ${v}`.replace(/\s+/g," ").trim();return f5("div",{className:A,children:[e&&(typeof e=="string"?i2(O1,{text:e,look:g}):i2("span",{children:e})),t&&i2("h2",{className:`font-heading2 ${W4.headingMedium2} font-medium leading-[1.05] tracking-[-0.03em] ${W4.headingMediumUpTo800Small}`,children:fr(t)}),o&&i2("p",{className:`${u??`${W4.bodyLarge}`} leading-[1.6] opacity-85`,children:o})]})}if(l==="essay"){let A=`${f} ${v}`.trim();return f5("div",{className:A||void 0,children:[e&&(typeof e=="string"?i2(O1,{text:e,look:g,className:"mb-4 block"}):i2("span",{className:"mb-4 block",children:e})),t&&i2("h2",{className:`font-heading2 ${W4.headingMedium1} [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 ${W4.headingSmallUpTo800}`,children:fr(t)})]})}let b=!!o||!!a,x=!!t,w=oI(n)==="outlined",z=`font-mono ${W4.label} uppercase tracking-[0.3em]`,k=null;if(e)if(w)k=i2("span",{className:`${rI} text-fg-dim ${Df}`,children:Ha(e)});else if(i&&!r&&typeof e=="string"){let A=e.indexOf("/"),I=A===-1?e:e.slice(0,A),E=A===-1?"":e.slice(A);k=f5("span",{className:z,children:[i2("span",{className:"text-accent",children:Ha(I)}),E&&i2("span",{className:"text-fg-dim",children:Ha(E)})]})}else k=i2("span",{className:`${z} ${r?"text-accent":"text-fg-dim"}`,children:Ha(e)});return f5("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&&i2("style",{children:iI}),f5("div",{className:"flex flex-col items-start gap-3",children:[s?.src&&i2("img",{...e51(Z2(s.src)),alt:s.alt,className:"h-8 w-auto object-contain"}),k]}),x&&i2("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 ${W4.headingMedium3} [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-none tracking-[-0.03em] whitespace-pre-line ${W4.headingMediumUpTo800Large} max-[800px]:leading-[1]`,children:fr(t)}),b&&f5("div",{className:"flex flex-col items-end gap-3 max-[800px]:items-start",children:[o&&i2("p",{className:`max-w-[340px] font-display ${W4.bodySmall} leading-[1.5] text-fg-dim text-right max-[800px]:max-w-full max-[800px]:text-left`,children:Ha(o)}),a&&f5(d0,{href:a.href,className:`inline-flex items-center gap-2 whitespace-nowrap font-mono ${W4.label} uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg`,children:[Ha(a.text),i2("span",{"aria-hidden":!0,children:"\u2192"})]})]})]})}function e51(e){let t=l5(e,{fallbackWidth:640,maxWidth:960});return t.srcSet?{src:t.src,srcSet:t.srcSet,sizes:"240px"}:{src:e}}import{jsx as b5,jsxs as br}from"react/jsx-runtime";function t51(e){return e.type==="textarea"||e.type==="select"||e.type==="checkbox"}function lI({eyebrow:e,title:t}){return br("div",{className:"flex flex-col gap-4",children:[e&&b5(O1,{text:e,scaled:!1}),t&&b5("h2",{className:"font-display text-[min(clamp(40px,5vw,72px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:e1(t,!0)})]})}function Yh({body:e,buttonLabel:t,consent:a,form:s,submission:o,showForm:r,resolving:i,editing:n}){return br("div",{className:"flex flex-col gap-8",children:[e&&T0(e).map((l,c)=>b5("p",{className:"max-w-[480px] font-display text-[16px] leading-[1.6] text-fg-dim",children:M(l)},c)),r&&(s?o.done?b5("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:Ta(s)}):br("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-4 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",t51(l)?"col-span-2":""].join(" ");return l.type==="checkbox"?br("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:[b5(V8,{field:l,value:o.valueOf(l.key),onChange:h=>o.set(l.key,h),className:"mt-0.5 size-4 accent-accent"}),br("span",{children:[l.label,l.required?b5("span",{className:"text-accent",children:" *"}):null]})]},l.key):b5(V8,{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)}),b5(Ea,{value:o.honeypot,onChange:o.setHoneypot}),o.error&&b5("p",{role:"alert",className:"col-span-2 font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:o.error}),t&&b5("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)})]}):b5("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&&b5("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:M(a)})]})}var Xh=["field","tick","thanks"],Gf={field:"Form rows",tick:"Tick label",thanks:"Thank-you message"},Jh={field:"styleField",tick:"styleTick",thanks:"styleThanks"},cI={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 a51(e){return typeof e=="string"&&v6.includes(e)?e:null}var s51={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function hI(e){let t={};for(let a of Xh){let s=a51(e[Jh[a]]);if(!s)continue;let o=it({role:s},s51);o.fontFamily&&(t[cI[a].font]=o.fontFamily),o.fontSize&&(t[cI[a].size]=o.fontSize)}return t}import{jsx as Qh}from"react/jsx-runtime";var pI=["head","form"],mI={head:"Head",form:"Form"};function Wf({region:e,eyebrow:t,title:a,body:s,buttonText:o,consent:r,formSlug:i,form:n,editing:l=!1,...c}){let h=R6(i,n),p=R8({form:h,formSlug:i,editing:l}),d=hI(c);return e==="head"?Qh("div",{style:d,children:Qh(h0,{look:"statement",num:t,title:a})}):Qh("div",{style:d,children:Qh(Yh,{body:s??"",buttonLabel:o??"",consent:r??"",form:h,submission:p,showForm:!!h||l,resolving:h===void 0,editing:l})})}var o51={AppointmentBooking:{slot:"boxes",childType:"BookingBox",addLabel:"Add box",fixed:!0,seeds:()=>tI.map(e=>({region:e,name:aI[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:()=>pI.map(e=>({region:e,name:mI[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:_N},()=>({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:()=>WN.map(e=>({...e})),legacy:e=>Array.isArray(e.cards)?e.cards.map(t=>({...t})):[]}};HS(o51);function Pa(e,t){let a={};for(let s of Object.keys(e))a[s]={...e[s],...t[s]};return a}import{jsx as r51}from"react/jsx-runtime";import{OpacityIcon as i51}from"efficient-easel/icons";var dI={fields:{_gContent:y("Content"),eyebrow:R("Eyebrow","Limited release"),title:$("Heading","Banner headline"),body:$("Body","A line or two of supporting copy."),_gBackground:y("Background image"),imageSrc:X1("Image","image/*"),overlay:c1("Overlay",r51(i51,{}),0,100,5,60,"%"),_gButton:y("Button"),...v5,_gLayout:y("Layout")}};import{jsx as c51}from"react/jsx-runtime";import{jsx as xr,jsxs as Uf,Fragment as n51}from"react/jsx-runtime";import{Fragment as l51}from"react";function uI({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:Uf("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 Uf(l51,{children:[i>0&&xr("span",{className:"opacity-40",children:"/"}),r.href&&!n?xr(d0,{href:r.href,className:"hover:text-fg",children:$0(r.label)}):xr("span",{className:n?"text-fg":void 0,children:$0(r.label)})]},i)}),t&&Uf(n51,{children:[xr("span",{className:"opacity-40",children:"\xB7"}),xr("span",{children:M(t)})]})]})}import{readHidable as gI}from"efficient-easel/draw";function U5(e,t,a){return e||(a?.isEditing?m(t):void 0)}function k1(e,t,a){let s=Array.isArray(e)?e:[];return s.length?s:a?.isEditing?t:[]}function S(e,t,a){let s=gI(e);if(!s.hidden)return U5(s.text,t,a)}function m2(e,t,a){return gI(e).hidden?"":S(e,t,a)}function w4(e,t,a){return{text:S(e,C2.text,a),href:t||C2.href}}var qf={meta:"Trailing note"},h51=()=>[{label:m("Home"),href:"/"},{label:m("Section"),href:""}],vI={label:"Breadcrumb",defaultProps:{items:[],meta:""},render:({items:e,meta:t,puck:a})=>c51(uI,{items:k1(e,h51(),a),meta:S(t,qf.meta,a),editing:a?.isEditing})};var fI={fields:{_gContent:y("Content"),items:{type:"array",label:"Crumbs",arrayFields:{label:Y("Label"),href:w3(Y("Link"))},getItemSummary:e=>e?.label||"Crumb"},meta:R("Trailing note",qf.meta)}};import{jsx as _3,jsxs as p51}from"react/jsx-runtime";import{ButtonIcon as m51,ButtonIconIcon as d51,IconAfterTextIcon as u51,IconBeforeTextIcon as g51,StylesIcon as v51,WidthIcon as f51}from"efficient-easel/icons";import*as b51 from"efficient-easel/icons";import{SettingsField as x51}from"efficient-easel/panel";import{useSelectedFields as wI}from"efficient-easel/easel";import{IconPicker as w51,Segmented as y51}from"efficient-shell/ui";function ep(e){return typeof e=="boolean"?e:!0}var $f=["none","arrow-right","arrow-long-right","arrow-up-right","chevron-right","external","cart","bag","tag","email","location","play","download","search","car"];function jf(e){return typeof e=="string"&&$f.includes(e)?e:void 0}function bI(e,t){return jf(e)??(ep(t)?"arrow-right":"none")}function tp(e){return e==="before"?"before":"after"}function xI(e){return e==="fill"?"fill":"fit"}var Kf=e=>({...pl({type:"custom",render:()=>_3(ml,{})},"always"),reachedBy:e});function z51(e){let t=(e==="none"?"no-symbol":e).replace(/(^|-)([a-z])/g,(s,o,r)=>r.toUpperCase()),a=b51[`${t}Icon`];return a?_3(a,{size:16}):null}var k51=$f.map(e=>({value:e,icon:z51(e)}));function S51({value:e,onChange:t}){let a=wI(),s=a.values.href,o=typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text??""):"";return _3(BM,{label:"Button",icon:_3(m51,{size:18}),text:o,onTextChange:t,link:typeof s=="string"?s:"",onLinkChange:r=>a.onChange("href",r)})}function C51({value:e,onChange:t}){let a=wI(),s=bI(e,a.values.arrow),o=tp(a.values.iconPosition);return _3(x51,{label:m("Icon"),icon:_3(d51,{size:18}),children:p51("div",{className:"flex items-center gap-2",children:[_3(w51,{label:m("Icon"),value:s,emptyValue:"none",options:k51,onChange:t}),s!=="none"&&_3(y51,{label:m("Icon position"),value:o,onChange:r=>a.onChange("iconPosition",r),options:[{value:"before",icon:_3(g51,{size:16}),label:_3("span",{className:"sr-only",children:m("Icon before text")}),title:m("Icon before text")},{value:"after",icon:_3(u51,{size:16}),label:_3("span",{className:"sr-only",children:m("Icon after text")}),title:m("Icon after text")}]})]})})}var yI={fields:{label:tA(Y("Button"),e=>_3(S51,{value:e.value,onChange:e.onChange})),href:{...P1("Button link"),...Kf("label")},_dSize:r0("Size"),widthFit:b1("Width",_3(f51,{}),[{label:"Fit content",value:"fit"},{label:"Fill",value:"fill"}],"fit"),_gStyle:y("Style"),variant:b1("Style",_3(v51,{}),[{label:"Filled",value:"primary"},{label:"Outline",value:"ghost"}],"primary"),icon:{type:"custom",render:e=>_3(C51,{value:e.value,onChange:e.onChange})},iconPosition:Kf("icon"),arrow:Kf("icon"),_dLayout:r0("Layout"),align:N6()}};import{jsx as SI}from"react/jsx-runtime";import{ColumnsIcon as H51,StylesIcon as P51}from"efficient-easel/icons";import{jsx as T51}from"react/jsx-runtime";import{jsx as Fa,Fragment as M51,jsxs as Yf}from"react/jsx-runtime";var ap={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,15px)]",headingSmall:"text-[length:var(--size-headingSmall,20px)]"},A51="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))]",L51="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 zI({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:Fa("section",{className:"relative z-[2] bg-surface",children:Yf("div",{className:r?L51:A51,children:[r?null:Yf(M51,{children:[(t??"").trim()&&Fa(O1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&Fa("h2",{className:`mb-9 font-heading2 ${ap.headingMedium} font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-7 ${ap.headingMediumUpTo800}`,children:e1(a??"",!1)})]}),l.length>0&&Fa("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)=>Yf("div",{className:"bg-bg p-8 max-[800px]:p-7",children:[Fa("div",{className:`mb-3 font-heading3 ${ap.headingSmall} font-medium uppercase tracking-[0.02em] text-fg`,children:M((h.title??"").trim()||"Card title")}),Fa("p",{className:`${ap.body} leading-[1.6] text-fg-dim`,children:M((h.body??"").trim()||"A short line about this card.")})]},p))})]})})}var wr={eyebrow:"Label",title:"Section *heading.*"},E51=()=>[{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.")}],kI={label:"Cards",defaultProps:{eyebrow:"",title:"",items:[],columns:3},render:e=>{let t=J1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return T51(zI,{look:_4(e.eyebrowLook,"Cards"),eyebrow:a(S(e.eyebrow,wr.eyebrow,e.puck)),title:a(S(e.title,wr.title,e.puck)),omitHead:t,items:k1(e.items,E51(),e.puck),columns:e.columns,editing:e.puck?.isEditing})}};var CI={fields:{_gContent:y("Content"),eyebrow:R("Eyebrow",wr.eyebrow),eyebrowLook:w1("Eyebrow style",SI(P51,{}),[...p5],d8("Cards")),title:$("Heading",wr.title),items:{type:"array",label:"Cards",arrayFields:{title:y1("Card title"),body:V1("Card body")},defaultItemProps:{title:"",body:""},getItemSummary:e=>e?.title||e?.body||"Card"},_gStyle:y("Style"),columns:c1("Columns",SI(H51,{}),2,4,1,3)},resolveFields:(e,{fields:t,parent:a})=>Q1(e0(t,a,t0),e.props.headPlacement,U1.Cards.headRows)};import{jsx as F51}from"react/jsx-runtime";import{StickyIcon as N51}from"efficient-easel/icons";var MI={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:Y("Label"),count:Y("Count")},getItemSummary:e=>e?.label?`${e.label}${e.count?` \xB7 ${e.count}`:""}`:"Tab"},activeTab:T2(w3(Y("Active tab","All"))),_gLinks:y("Links"),links:{type:"array",label:"Right links",arrayFields:{label:Y("Label"),href:w3(Y("Link"))},getItemSummary:e=>e?.label||"Link"},_gStyle:y("Style"),sticky:h1("Stick to top",!0,F51(N51,{}))}};import{jsx as D51}from"react/jsx-runtime";import{StylesIcon as B51}from"efficient-easel/icons";import{jsx as _51}from"react/jsx-runtime";import{jsx as f2,jsxs as q5}from"react/jsx-runtime";var S7={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",bodySmall:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,16px)]",labelSmall:"text-[length:var(--size-label,10px)]",label:"text-[length:var(--size-label,11px)]",labelLarge:"text-[length:var(--size-label,12px)]"};function Xf(e){return Number.isInteger(e)?String(e):String(Math.round(e*10)/10)}var AI=[100,70,46,30,19,12];function LI(e){return`color-mix(in srgb, var(--accent) ${AI[e%AI.length]}%, var(--bg))`}function I51({data:e,suffix:t}){let a=Math.max(...e.map(s=>s.value),0)||1;return f2("div",{className:"flex w-full flex-col gap-6",children:e.map((s,o)=>q5("div",{children:[q5("div",{className:"mb-2 flex items-baseline justify-between gap-4",children:[f2("span",{className:`font-mono ${S7.label} uppercase tracking-[0.14em] text-fg/60`,children:M(s.label)}),q5("span",{className:`font-display ${S7.bodyLarge} font-medium text-fg`,children:[Xf(s.value),t]})]}),f2("div",{className:"h-[10px] border border-line bg-bg",children:f2("div",{className:"h-full bg-accent",style:{width:`${Math.max(s.value/a*100,s.value===0?0:2)}%`}})})]},o))})}function R51({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 q5("svg",{viewBox:"0 0 640 300",className:"w-full",role:"img","aria-hidden":!0,children:[[.25,.5,.75,1].map(h=>f2("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)),f2("line",{x1:a.l,x2:640-a.r,y1:a.t+o,y2:a.t+o,stroke:"var(--site-line)",strokeWidth:"1.5"}),f2("path",{d:c,fill:"var(--accent)",opacity:"0.13"}),f2("path",{d:l,fill:"none",stroke:"var(--accent)",strokeWidth:"2.5"}),n.map((h,p)=>q5("g",{children:[f2("circle",{cx:h.x,cy:h.y,r:"4",fill:"var(--accent)"}),q5("text",{x:h.x,y:h.y-12,textAnchor:"middle",className:"font-display",fontSize:"14",fill:"var(--fg)",children:[Xf(e[p].value),t]}),f2("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 V51({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:LI(l)};return r+=c*o,h});return q5("div",{className:"flex w-full flex-wrap items-center justify-center gap-10",children:[f2("svg",{viewBox:"0 0 200 200",className:"w-[220px] max-w-full -rotate-90",role:"img","aria-hidden":!0,children:i.map((n,l)=>f2("circle",{cx:"100",cy:"100",r:s,fill:"none",stroke:n.ink,strokeWidth:"34",strokeDasharray:`${n.dash} ${o-n.dash}`,strokeDashoffset:-n.off},l))}),f2("ul",{className:"flex min-w-[200px] flex-1 flex-col gap-3",children:e.map((n,l)=>q5("li",{className:"flex items-baseline gap-3",children:[f2("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] flex-shrink-0 rotate-45",style:{background:LI(l)}}),f2("span",{className:`flex-1 font-mono ${S7.label} uppercase tracking-[0.12em] text-fg/60`,children:M(n.label)}),f2("span",{className:`font-display ${S7.bodySmall} font-medium text-fg`,children:t?`${Xf(n.value)}${t}`:`${Math.round(n.value/a*100)}%`})]},l))})]})}function TI({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?f2(R51,{data:c,suffix:l}):p==="donut"?f2(V51,{data:c,suffix:l}):f2(I51,{data:c,suffix:l});return f2("section",{className:"relative z-[2] border-y border-line bg-surface",children:q5("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:[q5("div",{children:[(e??"").trim()&&f2("span",{className:`inline-block bg-accent px-3.5 py-1.5 font-mono ${S7.labelLarge} font-semibold uppercase tracking-[0.16em] text-bg`,children:M(e??"")}),(t??"").trim()&&f2("h2",{className:`mt-5 font-heading2 ${S7.headingMedium} font-medium uppercase leading-[1.04] tracking-[-0.02em] text-fg ${S7.headingMediumUpTo800}`,children:e1(t??"",!1)}),(a??"").trim()&&f2("p",{className:`mt-5 max-w-[46ch] ${S7.bodySmall} leading-relaxed text-fg/65`,children:a})]}),q5("div",{children:[d,(i??"").trim()&&f2("p",{className:`mt-4 font-mono ${S7.labelSmall} uppercase tracking-[0.14em] text-fg/40`,children:i})]})]})})}var yr={eyebrow:"By the numbers",title:`A picture worth
|
|
16
|
+
`}),y0("header",{className:"flex flex-shrink-0 flex-col gap-4 border-b border-line px-8 pb-6 pt-8 max-[640px]:px-6 max-[640px]:pt-6 max-[640px]:pb-5",children:[y0("div",{className:"flex items-center justify-between",children:[y0("span",{className:"flex items-center gap-3 font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[e.kickerBadge?_1("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]}),_1("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"})]}),y0("h1",{className:"font-display text-[38px] font-medium uppercase leading-[0.95] tracking-[-0.03em] max-[640px]:text-[30px]",children:[e.titleLead+" ",_1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.02em] normal-case",children:e.titleAccent})]}),_1("p",{className:"font-serif text-[13px] italic leading-[1.5] text-fg-dim",children:FM(e,o.length)})]}),y0("div",{className:`grid flex-shrink-0 ${d31[f-1]} gap-px border-b border-line bg-line`,children:[_1(hf,{label:"Items",value:y0(Th,{children:[_1("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?_1(hf,{label:"Lead time",value:e.leadTimeValue}):null,g?_1(hf,{label:"Ships to",value:g}):null]}),y0("div",{className:"flex-1 overflow-y-auto [scrollbar-color:var(--site-line)_transparent] [scrollbar-width:thin]",children:[o.length===0?_1(b31,{content:e}):o.map(w=>_1(u31,{line:w,tyre:x.get(w.slug),onRemove:()=>r(w.id),onQtyChange:z=>i(w.id,z)},w.id)),d.length>0&&y0("section",{className:"border-b border-line px-8 py-6 max-[640px]:px-6",style:{background:"color-mix(in oklab, var(--site-surface) 60%, transparent)"},children:[y0("div",{className:"mb-4 flex items-center justify-between font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:[_1("span",{children:"You may also need"}),_1("span",{className:"font-display text-[11px] normal-case tracking-[0.08em] text-fg-dim",children:"Buy together, save"})]}),_1("div",{className:"grid grid-cols-2 gap-2 max-[640px]:grid-cols-1",children:d.map(w=>_1(g31,{href:`/bundles/${w.slug}`,title:w.name,sub:v31(w,n.currency,u)},w.slug))})]}),_1("section",{className:"border-b border-line px-8 py-6 max-[640px]:px-6",children:_1(RT,{})}),e.promises.length>0&&_1("div",{className:"flex flex-wrap justify-center gap-5 border-b border-line px-8 pt-6 pb-8 font-mono text-[9px] uppercase tracking-[0.24em] text-fg-dim max-[640px]:px-6",children:e.promises.map(w=>_1(f31,{children:w},w))})]}),y0("div",{className:"flex flex-shrink-0 flex-col gap-2 border-t border-line px-8 pt-5 max-[640px]:px-6",children:[_1(H8,{label:`Subtotal \xB7 ${n.sets} set${n.sets===1?"":"s"}`,value:u(n.subtotal,n.currency)}),n.appliedBundles.map(w=>_1(H8,{label:`Bundle \xB7 ${w.name}${w.multiples>1?` \xD7${w.multiples}`:""}`,value:y0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(w.discount,n.currency)]})},w.slug)),n.discount>0&&l?.valid&&_1(H8,{label:`Coupon \xB7 ${l.code}`,value:y0("span",{style:{color:"var(--green)"},children:["\u2212 ",u(n.discount,n.currency)]})}),l?.deferred&&_1(H8,{label:`Coupon \xB7 ${l.code}`,value:vT}),l?.valid&&l.effects?.gift&&_1(H8,{label:`Free gift \xB7 ${l.effects.gift.partNumber}${l.effects.gift.quantity>1?` \xD7${l.effects.gift.quantity}`:""}`,value:_1("span",{style:{color:"var(--green)"},children:B9})}),_1(H8,{label:"Shipping",value:n.shippingStatus==="free"?_1("span",{style:{color:"var(--green)"},children:B9}):ET(n.shippingStatus)??u(n.shipping,n.currency)}),n.tax&&(n.tax.charged?_1(H8,{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?_1(H8,{label:n.tax.name,value:TT}):null),y0("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-4 text-fg",children:[y0("span",{className:"font-display text-[22px] font-medium tracking-[-0.02em] normal-case",children:["Total ",_1("em",{className:"font-serif font-normal italic text-accent",children:"due"})]}),_1("span",{className:"text-right font-display text-[30px] font-medium tracking-[-0.025em] text-fg",children:n.repricing?"\u2026":u(n.grand,n.currency)})]})]}),y0("div",{className:"flex flex-shrink-0 flex-col gap-3 px-8 pb-6 pt-4 max-[640px]:px-6",children:[y0(L1,{href:"/checkout",onClick:s,"aria-disabled":o.length===0,className:["group flex items-center justify-between border px-5 py-5 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",_1("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]}),_1("div",{className:"flex items-center justify-between px-1 py-2 font-mono text-[10px] uppercase tracking-[0.24em] text-fg-dim",children:_1(L1,{href:"/wheels",onClick:s,className:"text-fg transition-colors hover:text-accent",children:"\u2190 Keep browsing"})})]})]})]}):null}var d31=["grid-cols-1","grid-cols-2","grid-cols-3"];function hf({label:e,value:t}){return y0("div",{className:"flex flex-col gap-1 bg-bg px-4 py-4",children:[_1("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-fg-dim",children:e}),_1("span",{className:"font-display text-[14px] font-medium tracking-[-0.005em] text-fg",children:t})]})}function u31({line:e,tyre:t,onRemove:a,onQtyChange:s}){let{catalog:o,totals:r}=D4(),i=(e.components??[]).reduce((c,h)=>c+(r.freeUnitsByPartNumber[h.partNumber]??0),0),{currency:n,formatMoney:l}=k0();return y0(Th,{children:[y0("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-6 max-[640px]:py-5",children:[_1(nf,{line:e,catalog:o,tyre:t}),y0("div",{className:"flex min-w-0 flex-col gap-2",children:[y0("div",{className:"flex items-start justify-between gap-3",children:[y0("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-accent",children:["N\xB0 ",e.positionNo," \xB7 ",e.process==="FusionForge\xAE"?y0(Th,{children:["FusionForge",_1(v7,{})]}):e.process]}),_1("span",{className:"whitespace-nowrap font-display text-[16px] font-medium tracking-[-0.015em] text-fg",children:yg(e,n)===null?f8:l(yg(e,n),n)})]}),y0("h3",{className:"mt-0.5 font-display text-[22px] font-medium uppercase leading-none tracking-[-0.02em]",children:[e.name.lead,_1("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em] normal-case",children:e.name.accent})]}),e.config.length>0&&y0("div",{className:"mt-1 flex flex-wrap gap-2",children:[e.config.map(c=>_1("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&&y0("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"]})]}),y0("div",{className:"mt-3 flex items-center justify-between gap-3",children:[_1(rr,{value:e.qty,onChange:s,size:"small"}),y0("div",{className:"flex gap-4 font-mono text-[10px] uppercase tracking-[0.22em]",children:[_1(L1,{href:e.href??`/wheels/${e.slug}`,className:"text-fg-dim transition-colors hover:text-accent",children:e.href?"View product":"Edit finish"}),_1("button",{type:"button",onClick:a,className:"text-fg-dim transition-colors hover:text-alert",children:"Remove"})]})]})]})]}),e.verifiedFor&&y0("div",{className:"mx-8 -mt-px flex items-start gap-3 border-t-0 px-4 py-4 font-display text-[13px] leading-[1.45] text-fg max-[640px]:mx-6",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:[_1("span",{className:"flex-shrink-0 pt-px font-mono text-[10px] uppercase tracking-[0.24em] text-accent",children:"Fits"}),y0("span",{children:["Verified for your ",_1("strong",{className:"font-medium text-accent",children:e.verifiedFor}),". Final torque values shipped with the wheels."]})]})]})}function g31({title:e,sub:t,href:a}){return y0(L1,{href:a,className:"flex items-center justify-between border border-line bg-bg px-4 py-3 text-left transition-colors hover:border-accent",children:[y0("span",{className:"flex min-w-0 flex-col gap-1",children:[_1("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap font-display text-[13px] font-medium tracking-[-0.005em] text-fg",children:e}),_1("span",{className:"font-mono text-[9px] uppercase tracking-[0.22em] text-fg-dim",children:t})]}),_1("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 v31(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 f31({children:e}){return _1("span",{className:"inline-flex items-center gap-2 before:text-[6px] before:text-accent before:content-['\u25CF']",children:e})}function H8({label:e,value:t}){return y0("div",{className:"flex items-center justify-between font-mono text-[11px] uppercase tracking-[0.18em] text-fg-dim",children:[_1("span",{children:e}),_1("strong",{className:"font-display text-[14px] font-normal tracking-[-0.005em] normal-case text-fg",children:t})]})}function b31({content:e}){return y0("div",{className:"flex flex-col items-center justify-center gap-3 px-8 py-20 text-center",children:[_1("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:e.emptyKicker}),_1("p",{className:"font-serif text-[16px] italic leading-[1.5] text-fg-dim",children:e.emptyBody}),y0(L1,{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 ",_1("span",{className:"text-accent",children:"\u2192"})]})]})}import{default as y7}from"efficient-easel/screen/components/UiIcon";import{Fragment as w31,jsx as J9,jsxs as Eh}from"react/jsx-runtime";var x31=ga(()=>import("./chunks/EditorPreviewCheckout-RA35QPFM.js"),{ssr:!1});function pf(){let{chromePlaceholder:e,themeFromDocument:t}=N3(),{surface:a}=UA();return e||t||!a||a!=="cart"&&a!=="checkout"?null:a==="checkout"?Eh(w31,{children:[J9(x31,{}),J9(pN,{surface:a})]}):J9(x8,{children:Eh(Yt,{preview:!0,children:[J9(ir,{}),J9(pN,{surface:a})]})})}function pN({surface:e}){let{label:t,href:a}=PF(e);return Eh("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:[J9("span",{style:{whiteSpace:"nowrap"},children:m("{name} \xB7 preview only",{name:m(t)})}),Eh("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"),J9(y7,{name:"external-link",size:13,rounded:!0})]})]})}import{CategoryIcon as uf1,CheckIcon as TX,ClockIcon as Bk,ColumnsIcon as gf1,DirectionIcon as vf1,EyeIcon as ff1,ListIcon as bf1,PageIcon as xf1,PlacementIcon as wf1,ScrollPointIcon as yf1,TriggerIcon as zf1}from"efficient-easel/icons";import{useContext as z31,useEffect as dN,useRef as Ph,useState as Fh}from"react";import{Button as Nh}from"efficient-shell/ui";var nr=class extends Error{constructor(a){super("The storefront forms list could not be loaded.");this.cause=a;this.name="FormsUnavailableError"}},Hh=null,mf=null,df=null;function y31(){Hh=null,mf=null,df=null}function mN(e=!1){let t=I3(),a=x2();return(e||!Hh||mf===null&&t!==null||df!==a)&&(mf=t,df=a,Hh=(t?E1.listForms(t,{siteId:a}):Promise.reject(new nr)).catch(s=>{throw y31(),s instanceof nr?s:new nr(s)})),Hh}import{jsx as R2,jsxs as P6}from"react/jsx-runtime";var uN="__create-a-new-form__";function k31({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:uN,label:m("Create a new form")}];return[n,...l,...c,...h]}function S31(e){return e===uN?{action:"create"}:{action:"store",slug:e}}function C31({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 M31(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 uf({value:e,onChange:t,label:a="Form",emptyLabel:s}){let o=x3(),r=z31(pt),i=r?r.capabilities.hasForms:!0,[n,l]=Fh(null),[c,h]=Fh(!1),[p,d]=Fh(!1),[u,v]=Fh(!1),g=Ph(!0),f=Ph(e);f.current=e;let b=Ph(t);b.current=t;let x=Ph(null),w=(N=!1)=>mN(N).then(H=>{if(g.current){l(H),h(!1);let P=C31({value:f.current,pickedId:x.current,forms:H});P&&b.current(P)}return H},()=>(g.current&&h(!0),[]));dN(()=>(g.current=!0,i&&w(),()=>{g.current=!1}),[i]),dN(()=>i?Oc(()=>{w(!0)}):void 0,[i]);let k=e?(n??[]).find(N=>N.slug===e)??null:null;k?x.current=k.id:e||(x.current=null);let A=!!e&&!k&&n!==null&&!c,I=k31({value:e,forms:n,loadFailed:c,emptyLabel:s}),E=async()=>{d(!0),v(!1);try{let N=await aH(o,{mode:"create"}),H=await w(!0);if(!g.current)return;if(N.status==="timeout"){v(!0);return}if(N.status!=="saved")return;let{form:P}=N;P.slug!==f.current&&b.current(P.slug),H.some(_=>_.id===P.id)||w(!0)}finally{g.current&&d(!1)}},F=N=>{let H=S31(N);H.action==="create"?E():(v(!1),t(H.slug))};return i?P6("div",{className:"sf-formpicker",children:[R2(ft,{label:a,options:I,fallback:"",value:e??"",onChange:F,placeholder:m("Search forms\u2026")}),u&&R2("p",{className:"sf-formsummary-warn",children:m("That didn\u2019t come back \u2014 pick the form from the list, or try again.")}),k?P6("div",{className:"sf-blogsource sf-formsummary",children:[P6("div",{children:[R2("div",{className:"sf-formsummary-caption",children:e3("{n} field","{n} fields",k.fields.length)}),k.fields.length?R2("ol",{className:"sf-formsummary-fields",children:k.fields.map((N,H)=>R2("li",{children:N.label},N.key||`${N.label}-${H}`))}):R2("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.")})]}),P6("div",{children:[R2("div",{className:"sf-formsummary-caption",children:m("Where the answers go")}),R2("ul",{className:"sf-formsummary-fields",children:M31(k).map(N=>R2("li",{children:N},N))})]}),!k.is_active&&R2("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")})}),P6("div",{className:"sf-formsummary-actions",children:[R2(Nh,{variant:"secondary",size:"sm",onClick:()=>tH(o,k.id),children:m("Edit form \u270E")}),R2(Nh,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{E()},children:m("New form +")})]}),R2("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")})})]}):P6("div",{className:"sf-blogsource sf-formsummary",children:[c?P6("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})}`:""]}):A&&R2("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??""})}),P6("div",{className:"sf-formsummary-actions",children:[c&&R2(Nh,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{w(!0)},children:m("Try again")}),R2(Nh,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{E()},children:m("New form +")})]}),!c&&R2("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")})})]})]}):R2("div",{className:"sf-formpicker",children:R2("div",{className:"sf-blogsource sf-formsummary",children:P6("div",{children:[R2("div",{className:"sf-formsummary-caption",children:m(a)}),P6("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 A31}from"react/jsx-runtime";function F6(e,t){return{type:"custom",render:({value:a,onChange:s})=>A31(uf,{value:a,onChange:s,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}var gf="heroBullets",lr="\xB7",cr={bullets:[{label:"Free shipping",detail:"USA, UK, AUS"},{label:"Lifetime warranty",detail:"structural"}]};function gN(e){return e.detail?`${e.label} ${lr} ${e.detail}`:e.label}function L31(e){let t=e.trim();if(!t)return null;let a=t.indexOf(lr);return a<0?{label:t,detail:""}:{label:t.slice(0,a).trim(),detail:t.slice(a+lr.length).trim()}}function vN(e){let t=(e??{})[gf];return Array.isArray(t)?{bullets:t.map(s=>L31(typeof s=="string"?s:HM(s?.text,""))).filter(s=>s!==null)}:cr}var C2={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"};import{jsx as z7}from"react/jsx-runtime";import{jsx as P8,Fragment as T31,jsxs as E31}from"react/jsx-runtime";import{useEasel as xN}from"efficient-easel/easel";import{LayersIcon as H31}from"efficient-easel/icons";import{SettingsDrill as P31,SettingsField as F31}from"efficient-easel/panel";import{default as fN}from"efficient-easel/screen/components/AddChildRow";import{SlotChildActionsProvider as GT1,useSlotChildActions as bN}from"efficient-easel/screen/components/SlotChildActionsContext";function N31({parent:e,parentType:t,label:a,rowName:s,onSelectChild:o,onAddChild:r,nestDepth:i=0}){let n=So(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=E31(T31,{children:[g?P8("p",{className:"sf-note",children:g}):null,u.map((b,x)=>P8(P31,{name:s(b),onOpen:()=>o(d,x,String(b.props.id),t)},String(b.props.id??`${d}-${x}`))),c||h.fixed?null:P8(fN,{label:h.addLabel,blocked:v,onAdd:()=>r(p,l,h.childType,u.length,t)})]});return P8("div",{className:"sf-slot-rows",children:a?P8(F31,{label:m(a),icon:P8(H31,{}),value:String(u.length),children:f}):f})}function I31(e,t){return So(e)?.spec?.notice?.(t)??null}function wN({parentType:e}){let{selectedItem:t}=xN(r=>r);if(!t||t.type!==e)return null;let a=So(e)?.slot,s=a&&Array.isArray(t.props[a])?t.props[a]:[],o=I31(e,s);return o?P8("p",{className:"sf-note",children:o}):null}function R31(e,t){return So(t)?.source==="footer"?e.blockRowName:e.childRowName}function yN({parentType:e,label:t}){let{appState:a,selectedItem:s}=xN(i=>i),o=bN();if(!o||!s||s.type!==e)return null;let r=e===ES?at(a?.data,String(s.props.id)):0;return P8(N31,{parent:s,parentType:e,label:t,rowName:R31(o,e),onSelectChild:o.selectChild,onAddChild:o.addChild,nestDepth:r})}var zN="grayscale(1) contrast(1.03)",kN="Black and white";function V31(e){return e===!0?{filter:zN}:{}}function _31(e){let{filter:t}=V31(e);return t?{style:{filter:t}}:{}}var hr="sf-photo-grayscale",O31=`@media (hover:hover){.${hr}{filter:${zN};transition:filter 160ms ease}.${hr}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${hr}{transition:none}}`;function ya(e,t){return typeof e=="boolean"?e?_31(!0):{}:t===!0?{className:hr}:{}}function SN(e){return e===!0?{[hr]:O31}:{}}import{AlignLeftIcon as Z31,BlackAndWhiteIcon as G31,ContrastIcon as W31,HeightIcon as U31,TypeIcon as q31}from"efficient-easel/icons";var D31=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],B31=new Set(D31);function CN(e){let t=e.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let a=t.length-1;a>=0;a-=1)if(B31.has(t[a]))return t[a];return null}var k7=e=>b3(e,c1("Height",z7(U31,{}),_t.min,_t.max,_t.step,_t.fallback,_t.unit)),v5={ctaText:R("Button",C2.text),ctaHref:P1("Button link")},N6=()=>b1("Alignment",z7(Z31,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],"left"),Ih=()=>b1("Tone",z7(W31,{}),[{label:"Default",value:"default"},{label:"Muted",value:"dim"}],"default"),R3=e=>At({...Ac[e],keys:{top:"padTop",bottom:"padBottom"},group:!1}),I6=(e,t)=>({type:"custom",render:()=>z7(yN,{parentType:e,label:t})}),Rh=e=>({type:"custom",render:()=>z7(wN,{parentType:e})});function $31(e){let{photographyGrayscale:t}=N3();return h1(kN,t===!0,z7(G31,{})).render(e)}function za(){return{type:"custom",render:e=>z7($31,{...e})}}var t0=Object.keys(z6("full"));function ka(e){let t=CN(e);return t?z7(I4,{noun:t}):z7(q31,{})}import{readLockHolder as t41}from"efficient-easel/edit-lock";var ff="/api/storefront/section-templates/",vf=e=>`${ff}${encodeURIComponent(e)}/`,bf=e=>e.node!=null;function Vh(e){if(!bf(e))throw new Error(`Section template ${e.id} has no design`);return e}var wf=(e,t)=>e instanceof O4&&e.status===t;function j31(e){return{list:()=>Gt(`${ff}?no_page=true`,{token:e()}).then(t=>Array.isArray(t)?t:t.results??[]),get:t=>Gt(vf(t),{token:e()}).catch(a=>{if(wf(a,404))return null;throw a}),create:t=>Gt(ff,{method:"POST",token:e(),body:JSON.stringify(t)}),patch:(t,a)=>Gt(vf(t),{method:"PATCH",token:e(),body:JSON.stringify(a)}),remove:t=>Gt(vf(t),{method:"DELETE",token:e()})}}var xf="sf:section-templates",MN=`${xf}.imported`,K31="Untitled section",Y31=160,_h=e=>(typeof e=="string"?e.trim().slice(0,Y31):"")||K31;function X31(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 J31(e,t=y3){let a={created:0,seeded:0,left:0,skipped:0,kept:!1},s=t.getItem(xf);if(s===null)return a;for(let o of X31(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:_h(o.name),node:o.node}),a.created+=1}catch(i){if(!wf(i,400))throw i;a.skipped+=1}}catch{return{...a,kept:!0}}return t.setItem(MN,s),t.getItem(MN)===s&&t.removeItem(xf),a}var Oh=class{constructor(t,a=y3){this.readToken=t;this.storage=a;this.imported=null;this.http=j31(t)}ready(){return this.imported?this.imported:this.readToken()?(this.imported=J31(this.http,this.storage).catch(()=>{}),this.imported):Promise.resolve()}async list(){return await this.ready(),(await this.http.list()).filter(bf)}async get(t){return await this.ready(),this.http.get(t)}async ensure(t,a,s){await this.ready();let o=async i=>i?bf(i)?i:Vh(await this.http.patch(t,{node:s})):null,r=await o(await this.http.get(t));if(r)return r;try{return Vh(await this.http.create({id:t,name:_h(a),node:s}))}catch(i){if(wf(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(),Vh(await this.http.create({name:_h(t),node:a}))}async update(t,a){return await this.ready(),Vh(await this.http.patch(t,{node:a}))}async rename(t,a){return await this.ready(),this.http.patch(t,{name:_h(a)})}async remove(t){await this.ready(),await this.http.remove(t)}};var AN={"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 LN(e,t){let a=AN[e][t];return{maxSizeBytes:a.max_bytes,maxFiles:a.max_files,accept:a.accept==="*"||a.accept==="*/*"?void 0:a.accept,acceptHint:a.hint}}var Q31=["home","products","gallery","about","contact"],e41=e=>{let t=e.slug.trim().toLowerCase(),a=(e.title??"").trim().toLowerCase(),s=Q31.findIndex(o=>o===t||o===a);return s===-1?Number.POSITIVE_INFINITY:s},TN=e=>e.map((t,a)=>({page:t,idx:a,rank:e41(t)})).sort((t,a)=>t.rank-a.rank||t.idx-a.idx).map(t=>t.page);var PN="Popups",EN="Site";var FN={[OM]:{label:"Site popup",group:PN},[c5]:{label:"Footer",group:EN},[PM]:{label:"Cart drawer",group:EN}};function zf(e){return FN[e.slug]?.label||e.title||e.slug}function yf(e){let t=e.group?.trim();return t||null}function HN(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 NN(e){let t=TN(e),a=[],s=t.filter(n=>!wo(n.slug)),o=s.filter(n=>!yf(n));o.length&&a.push({key:"top",group:null,pages:o});let r=s.filter(n=>yf(n));for(let[n,l]of HN(r,c=>yf(c)))a.push({key:`folder:${n}`,group:n,pages:l});let i=t.filter(n=>wo(n.slug));for(let[n,l]of HN(i,c=>FN[c.slug]?.group??PN))a.push({key:`system:${n}`,group:n,pages:l});return a}import{isExpiredSession as TE1,PAGE_CONFLICT_CODE as IN,readEaselFailure as EE1}from"efficient-easel/screen/lib/failure";var Dh=e=>e.layout_updated_at??e.updated_at??null,a41=["live","changed","never"],kf=e=>a41.includes(e.live_state)?{live:e.live_state}:{};function s41(e){if(!e||typeof e!="object")return null;let t=e;return t.code!==IN?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 o41(e){return e===401||e===403?"unauthorized":e===404?"not-found":e===pT||e>=500?"unavailable":"invalid"}function r41(e){if(!(e instanceof O4))return e;if(e.status===409){let t=s41(e.data);if(t)return new x6("changed-elsewhere",e.message,{conflict:t,cause:e});let a=t41(e.data);if(a)return new x6("lock-taken",e.message,{holder:a,cause:e})}return new x6(o41(e.status),e.message,{cause:e})}var Sf=new WeakMap;function i41(e,t){let a=ac(),s=a?new URL(a).hostname:typeof window<"u"?window.location?.hostname??null:null,o=null,r=t.siteId(),i=t.token();if(YL(s)&&r&&i){let l=tc(i,r);Sf.has(l)?o=Sf.get(l)??null:l.then(c=>Sf.set(l,c))}let n=XL({pageSlug:e,siteSlug:o,hostname:s});return a?`${a}${n}`:n}var n41={group:"Template pages",groupKey:"template"},RN=e=>({id:e.id,slug:e.slug,label:e.title||e.slug,...n41,draft:!1});function VN(e){let t=async c=>{let h=e.token();if(!h)throw new x6("unauthorized","The editor has no sign-in yet.");try{return await c(h)}catch(p){throw r41(p)}},a={list:c=>t(async h=>{let p=await E1.listPages(h,c?.siteId);return NN(p.filter(d=>d.slug!==c5)).flatMap(d=>d.pages.map(u=>({id:u.id,slug:u.slug,label:zf(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 E1.findPageBySlug(c.slug,h,c.siteId))?.id,d=p?await E1.getPageById(p,h):null;return d?{id:d.id,layout:d.layout,kind:d.kind,version:Dh(d),...kf(d)}:null}),save:(c,h,p)=>{let{version:d}=p;return d?t(async u=>{let v=await E1.saveLayout(c,h.layout,u,d,p.clientId||void 0);return{version:Dh(v),...kf(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=>E1.getPageById(c,h).then(Dh)),linkTargets:c=>t(async h=>(await E1.listPages(h,c?.siteId)).map(p=>({id:p.id,slug:p.slug,label:zf(p),layout:p.layout??null}))),publish:(c,h)=>t(async p=>{let d=await E1.publishPage(c,p,h?.version);return{version:Dh(d),...kf(d)}})},s=c=>({list:()=>t(async h=>(await E1.listTemplatePages(c,h)).map(RN)),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 E1.listTemplatePages(c,p);if(v.length)return u(v.find(d)??v[0]);let g=await E1.getTemplate(c,p).catch(()=>null);try{return u(await E1.createTemplatePage(c,{slug:ct,title:"Home",layout:g?.layout??{}},p))}catch{let f=await E1.listTemplatePages(c,p),b=f.find(d)??f[0];return b?u(b):null}}),save:(h,p)=>t(async d=>(await E1.saveTemplatePageLayout(h,p.layout,d),{version:null})),create:h=>t(async p=>RN(await E1.createTemplatePage(c,{slug:h.slug,title:h.title,layout:h.layout},p))),remove:(h,p)=>t(d=>E1.deleteTemplatePage(h,d,p))}),o=c=>{let h=c?.siteId??e.siteId();if(!h)throw new x6("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(N9.map(h=>[h,c[Ol(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 E1.claimPageEditLock(c,d,h,p)).heartbeat_seconds})),release:c=>t(h=>E1.releasePageEditLock(c,h))},site:{get:c=>t(async h=>r(await E1.getSite(o(c),h))),update:(c,h)=>t(async p=>r(await E1.updateSite(o(h),c.mapsApiKey===void 0?{}:{maps_api_key:c.mapsApiKey},p)))},media:{resolve:dS,maxUploadBytes:LN("POST /api/storefront/media/","file").maxSizeBytes},sectionTemplates:new Oh(e.token),social:{get:c=>t(async h=>i(await E1.getSocialSettings(h,o(c)))),update:(c,h)=>t(async p=>{let d=Object.fromEntries(N9.filter(u=>u in c).map(u=>[Ol(u),c[u]]));try{return i(await E1.updateSocialSettings(d,p,o(h)))}catch(u){if(u instanceof O4&&u.status===400){let v=u.data??{},g={};for(let f of N9){let b=v[Ol(f)],x=Array.isArray(b)?b[0]:b;typeof x=="string"&&x.trim()&&(g[f]=x)}if(Object.keys(g).length>0)throw new x6("invalid",u.message,{fields:g,cause:u})}throw u}})},theme:{get:c=>t(h=>E1.getThemeSettings(h,c?.siteId)),update:(c,h)=>t(p=>E1.updateThemeSettings(c,p,h?.siteId))},chat:{get:c=>t(async h=>n(await E1.getChatSettings(h,c?.siteId))),update:(c,h)=>t(async p=>n(await E1.updateChatSettings(c,p,h?.siteId)))},blog:{posts:c=>t(async h=>(await E1.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?u6(p.cover_image)??"":"",publishedAt:p.published_at,href:Du(p.slug)})))},templates:{get:c=>t(async h=>{let p=await E1.getTemplate(c,h);return{id:p.id,name:p.name}}),pages:s},preview:{href:c=>i41(c,e),draftLink:c=>t(async h=>({url:(await E1.createPagePreviewLink(c,h)).url??null}))}};return l[oS]=!0,l}wM({read:e=>e instanceof O4?{status:e.status,data:e.data,message:e.message}:null,unreachableMessage:hT,loadRefusal:(e,{slug:t})=>e instanceof gT?`\u201C${t}\u201D exists on more than one website. Open it from the site you want to edit.`:null});iS(e=>VN({token:()=>e.auth.token,siteId:()=>e.siteId()}));function l41(e={}){return e.portalAudience!==void 0&&mT(e.portalAudience),e.language!==void 0&&dT(e.language),VN({token:()=>ho().auth.token,siteId:()=>e.siteId??ho().siteId()})}import{createContext as c41,useContext as h41}from"react";import{jsx as F8,jsxs as Cf}from"react/jsx-runtime";function Mf(e){return u6(e)??void 0}var Af=c41({}),_N=3;function Lf({tag:e,name:t,desc:a,href:s,imageSrc:o,imageLabel:r,price:i}){let{showPrice:n,cardStyle:l,partStyles:c,editing:h}=h41(Af),p=l==="bordered"?" border border-line":l==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",d=Mf(o),u=g=>h?{[R9]:g}:{},v=g=>Ql(c?.[V9(g)]?.role,_L[g],Bn);return Cf(L1,{href:s||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${p}`,children:[F8("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:F8(P0,{label:r||"collection.jpg",src:d})}),F8("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"}}),Cf("div",{className:"absolute inset-x-8 bottom-8 z-[2] flex flex-col gap-3 text-overlay-fg max-[800px]:relative max-[800px]:inset-auto max-[800px]:p-6 max-[800px]:gap-3 max-[800px]:text-fg",children:[e&&F8("span",{...u("tag"),style:v("tag"),className:`font-mono ${_9.tag} uppercase tracking-[0.25em] opacity-70`,children:M(e)}),t&&F8("h3",{...u("name"),style:v("name"),className:`font-heading2 ${_9.name} font-medium leading-none tracking-[-0.03em] ${_9.namePhone}`,children:typeof t=="string"?e1(t,!1):t}),a&&T0(a).map((g,f)=>F8("p",{...u("body"),style:v("body"),className:`max-w-[420px] ${_9.body} leading-[1.5] opacity-80`,children:M(g)},f)),n&&i&&F8("span",{...u("price"),style:v("price"),className:`font-mono ${_9.price} tracking-[0.05em] text-accent`,children:M(i)}),Cf("span",{...u("link"),style:v("link"),className:`mt-2 inline-flex items-center gap-3 font-mono ${_9.link} uppercase tracking-[0.2em]`,children:["Explore",F8("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"\u2192"})]})]})]})}import{createContext as S41,useCallback as C41,useContext as M41,useEffect as A41,useRef as L41,useState as Hf}from"react";import{useState as m41}from"react";function Bh(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 ON(e){return e==="below"}import{Fragment as p41,jsx as DN}from"react/jsx-runtime";function N8({kind:e,shared:t=!1,children:a}){let s=lC(e),o=cC(e),r=t?o:s;return r?DN("span",{[aC]:r.stamp,children:a}):DN(p41,{children:a})}import{jsx as x4,jsxs as Sa}from"react/jsx-runtime";function Tf({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=>MM(l,c,w),u=w=>p&&h?{[Zn]:h,[mo]:`@${w}`}:{},v=(w,z)=>!p&&h?x4(N8,{kind:`@${w}`,shared:!0,children:z}):z,[g,f]=m41(!1),b=ON(n),x=Sa("div",{className:["sf-card group relative overflow-hidden bg-surface-2",Bh(i),t?"max-[800px]:hidden":""].join(" "),children:[Sa("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:[x4(P0,{label:e.imageLabel,src:e.imageSrc}),x4("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),x4("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&&x4(h4,{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)&&Sa("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&&x4("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",i0(e.process))}),o!=null&&r!=null&&x4("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")}`)})]}),x4("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:Sa("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&&x4("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&&x4("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&&x4("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:x4("span",{children:v("meta",i0(e.finish))})})]})})]});return b?Sa("div",{className:t?"max-[800px]:hidden":"",children:[x,Sa("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&x4("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)&&x4("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",i0(e.finish||e.car))})]})]}):x}import{createContext as d41,useContext as u41,useEffect as g41,useLayoutEffect as v41,useRef as Ef,useState as f41}from"react";import{createPortal as b41}from"react-dom";import{Fragment as z41,jsx as pr,jsxs as k41}from"react/jsx-runtime";var x41=".sf-themed-content",BN="sf-section-accent";function w41(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(BN)&&(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 ${BN}`:"contents",style:a}}function y41(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 ZN=d41(()=>{});function Q9({open:e,onClose:t,label:a,onPrev:s,onNext:o,className:r="",style:i,children:n}){let l=Ef(null),c=Ef(null),[h,p]=f41(null);v41(()=>{if(!e){p(null);return}let v=l.current;if(!v)return;let g=v.closest(x41)??v.ownerDocument.body;p({host:g,theme:w41(v,g)})},[e]);let d=Ef({onClose:t,onPrev:s,onNext:o});d.current={onClose:t,onPrev:s,onNext:o};let u=e&&h!==null;return g41(()=>{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=y41(v);if(k.length===0){z.preventDefault(),v.focus();return}let A=k[0],I=k[k.length-1],E=g.activeElement,F=!!E&&v.contains(E)&&E!==v;if(z.shiftKey&&(!F||E===A))z.preventDefault(),I.focus();else if(!z.shiftKey&&(!F||E===I))z.preventDefault(),A.focus();else{z.preventDefault();let N=k.indexOf(E);k[z.shiftKey?N-1:N+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?k41(z41,{children:[pr("span",{ref:l,hidden:!0}),h&&b41(pr("div",{className:h.theme.className,style:h.theme.style,children:pr("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:pr(ZN.Provider,{value:t,children:n})})}),h.host)]}):null}function Ca({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=u41(ZN);return pr("button",{type:"button","aria-label":a,onClick:r=>{r.stopPropagation(),o()},className:e,style:t,children:s})}import{Fragment as Ma,jsx as p2,jsxs as V3}from"react/jsx-runtime";var mr=S41({}),GN=[{id:"tag",label:"Tag"},{id:"eyebrow",label:"Eyebrow"},{id:"title",label:"Title"},{id:"meta",label:"Meta"},{id:"number",label:"Card number"}],dr="data-gallery-grid",Pf="data-gallery-tile";function T41(e,t){let[a,s]=Hf(null);return A41(()=>{let o=e.current,r=o?.closest(`[${dr}]`);if(!o||!r)return;let i=()=>{let l=Array.from(r.querySelectorAll(`[${Pf}]`)),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 WN=[{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 E41(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function H41(e){let t=(e.photos??[]).map(r=>r?.src).filter(r=>!!r),a=e.image||t[0]||"",s=[a,...t].filter(r=>!!r),o=E41(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 ur({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}=M41(mr),p=H41(o),d=p.photos??(p.imageSrc?[p.imageSrc]:[]),u=L41(null),v=C41(F=>{u.current=F},[]),g=T41(u,e),f=e&&(!!t||!!n),[b,x]=Hf(!1),[w,z]=Hf(0),k=()=>z(F=>(F-1+d.length)%d.length),A=()=>z(F=>(F+1)%d.length),I=d[w]??p.imageSrc??"",E=p2(Tf,{build:p,forceHover:f,index:g?.index,total:g?.total,ratio:a,captionPlace:s,display:l,displayPhone:c,styleOwner:h,editing:e});return V3(Ma,{children:[e?p2("div",{ref:v,[Pf]:"",className:"block w-full text-left",children:E}):p2("button",{ref:v,[Pf]:"",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:E}),p2(Q9,{open:b,onClose:()=>x(!1),label:`${p.car} on ${p.wheel}`,onPrev:d.length>1?k:void 0,onNext:d.length>1?A: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:F=>F.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:[p2(Ca,{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:[I&&p2("img",{src:I,alt:`${p.car} \u2014 ${w+1} of ${d.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},I),d.length>1&&V3(Ma,{children:[p2("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"}),p2("button",{type:"button","aria-label":"Next photo",onClick:A,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&&p2("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:M(p.process)}),p.wheel&&p2("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:e1(p.wheel,!1)}),p.car&&V3("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",p2("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(Ma,{children:[p2("dt",{className:"text-fg-dim",children:"Wheel"}),p2("dd",{className:"text-fg",children:M(p.wheel)})]}),p.process&&V3(Ma,{children:[p2("dt",{className:"text-fg-dim",children:"Process"}),p2("dd",{className:"text-fg",children:M(p.process)})]}),p.finish&&V3(Ma,{children:[p2("dt",{className:"text-fg-dim",children:"Finish"}),p2("dd",{className:"text-fg",children:M(p.finish)})]}),p.car&&V3(Ma,{children:[p2("dt",{className:"text-fg-dim",children:"Vehicle"}),p2("dd",{className:"text-fg",children:M(p.car)})]})]}),V3("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[V3(L1,{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:[p2("span",{children:"View product"}),p2("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"\u2192"})]}),V3(L1,{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:[p2("span",{children:"See more builds"}),p2("span",{children:"\u2192"})]}),V3(L1,{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:[p2("span",{children:"Submit your build"}),p2("span",{children:"\u2192"})]})]})]})]})})]})}import{createContext as I41,useContext as R41,useEffect as Zh,useId as V41,useMemo as _41,useState as U2}from"react";var P41=14,F41=3;function Ff(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function N41(e,t){let a=new Date(`${e}T00:00:00`);return a.setDate(a.getDate()+t),Ff(a)}async function UN(e,t,a={}){let s=a.days??P41,o=a.read??D9.getAvailability,r=0,i=0;for(let n=0;n<s;n++){if(a.signal?.aborted)return{outcome:"unreadable"};let l=N41(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>=F41)return{outcome:"unreadable"}}}return i===s?{outcome:"noneInWindow",days:s}:{outcome:"unreadable"}}import{jsx as B41}from"react/jsx-runtime";var qN=I41(null);function I8(){let e=R41(qN);if(!e)throw new Error("useBookingForm must be used inside <BookingFormProvider>");return e}var Nf=[{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 O41(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 If={bookingNumber:"EXAMPLE-0000",service:"Example service",startAt:"2026-01-01T00:00:00.000Z",timezone:"UTC",customerTimezone:"",manageToken:"example"};function D41(e,t){return e&&t?.length===0}function $N({editing:e=!1,previewConfirmation:t=!1,children:a}){let s=V41(),o=_41(()=>Ff(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,A]=U2(""),[I,E]=U2(""),[F,N]=U2(""),[H,P]=U2(""),[_,U]=U2(""),[D,Z]=U2(()=>kg()),[O,K]=U2(null),[X,B]=U2(!1),[r1,V]=U2(!1),[q,j]=U2(null),[Q,J]=U2("");Zh(()=>{J(Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC")},[]),Zh(()=>{let $1=!1;return D9.listServices().then(j1=>{$1||(i(j1.results),l(j1.currency),h(R1=>R1||j1.results[0]?.id||""))}).catch(()=>{$1||i([])}),()=>{$1=!0}},[]),Zh(()=>{if(g||!c)return;let $1={aborted:!1};return A(""),z(void 0),j(null),x(null),B(!0),UN(c,o,{signal:$1}).then(j1=>{if(!$1.aborted){if(j1.outcome==="found"){d(j1.date),v(j1.date),z(j1.availability);return}x(j1.outcome==="noneInWindow"?`No times are available in the next ${j1.days} days.`:"We couldn't load available times. Please try again.")}}).finally(()=>{$1.aborted||B(!1)}),()=>{$1.aborted=!0}},[g,c,o]),Zh(()=>{if(!g||!c||!p)return;let $1=!1;return A(""),z(void 0),j(null),x(null),B(!0),D9.getAvailability(c,p).then(j1=>{$1||(z(j1),j1.slots.length===0&&x("No times are available on this date."))}).catch(()=>{$1||x("We couldn't load available times. Please try again.")}).finally(()=>{$1||B(!1)}),()=>{$1=!0}},[p,g,c]);let i1=r?.find($1=>$1.id===c),s1=i1?.depositAmountDue!=null,G1=!!(!e&&!r1&&i1&&k&&I.trim()&&F.trim()&&!s1);async function n0($1){if($1.preventDefault(),!(!G1||!i1)){V(!0),j(null);try{let j1=await D9.create({serviceId:i1.id,start:k,customer:{name:I.trim(),email:F.trim(),phone:H.trim()},notes:_.trim(),idempotencyKey:D,customerTimezone:Q});K(j1),Z(kg())}catch(j1){j(j1 instanceof O4&&j1.status===409?"That time was just booked. Choose another available time.":"Your appointment wasn't submitted. Please check your details and try again."),j1 instanceof O4&&j1.status===409&&(A(""),D9.getAvailability(i1.id,p).then(z).catch(()=>{}))}finally{V(!1)}}}let W1=D41(e,r);return B41(qN.Provider,{value:{fieldPrefix:s,editing:e,services:W1?Nf:r,currency:W1?"AUD":n,serviceId:W1?Nf[0].id:c,setServiceId:h,service:W1?Nf[0]:i1,requiresPayment:W1?!1:s1,date:p,earliestDate:u,setDate:d,setDateTouched:f,availability:W1?O41(p):w,loadingSlots:W1?!1:X,noSlotsMessage:b,selectedStart:W1?`${p}T09:00:00.000Z`:k,setSelectedStart:A,customerTimezone:Q,name:I,setName:E,email:F,setEmail:N,phone:H,setPhone:P,notes:_,setNotes:U,confirmation:O??(t?If:null),submitting:r1,error:q,canSubmit:W1?!1:G1,handleSubmit:n0,sample:!!W1},children:a})}import{jsx as Gh,Fragment as jN,jsxs as KN}from"react/jsx-runtime";var Z41="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",YN={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 z3(e){let{variant:t="primary",arrow:a,glyphBefore:s,className:o,style:r,children:i,href:n,newTab:l,...c}=e,h=`${Z41} ${YN[t]??YN.primary} ${o??""}`,p=s?KN(jN,{children:[a!==null&&Gh("span",{"aria-hidden":!0,className:"inline-flex",children:a??"\u2192"}),i]}):KN(jN,{children:[i,a!==null&&Gh("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-[3px]",children:a??"\u2192"})]});return n?Gh(d0,{href:n,className:h,style:r,...l?{target:"_blank",rel:"noopener noreferrer"}:{},children:p}):Gh("button",{type:"button",className:h,style:r,...c,children:p})}import{jsx as V0,jsxs as t4}from"react/jsx-runtime";var gr="w-full border-2 border-line bg-bg px-4 py-4 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 G41(e,t){let a=Number(e);if(a===0)return B9;try{return zT(a,t)}catch{return`${t} ${e}`}}function XN(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 JN(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 vr="font-[family-name:var(--bk-name-font,var(--font-mono))] text-[length:var(--bk-name-size,12px)]";function Rf({number:e,children:t}){return t4("div",{className:"mb-4 flex items-center gap-3",children:[V0("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}),V0("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 Wh({eyebrow:e,heading:t,intro:a}){return t4("div",{className:"mb-10 max-w-[760px]",children:[(e??"").trim()&&V0("p",{className:"mb-4 font-mono text-[12px] font-semibold uppercase tracking-[0.24em] text-accent",children:e}),(t??"").trim()&&V0("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()&&V0("p",{className:"mt-5 max-w-[660px] font-display text-[17px] leading-[1.65] text-fg-dim",children:a})]})}function Uh({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}=I8();return a?t4("div",{className:"flex flex-col gap-10",style:e,children:[t4("div",{children:[V0(Rf,{number:"01",children:"Choose a service"}),V0("div",{className:"grid gap-3 sm:grid-cols-2",children:a.map(b=>{let x=b.id===o;return t4("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:[V0("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}),t4("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 ",G41(b.price,s)]}),b.description&&V0("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&&V0("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."})]}),t4("div",{children:[V0(Rf,{number:"02",children:"Choose a date and time"}),V0(a3,{separate:!0,htmlFor:`${t}-date`,label:"Date",required:!0,labelFace:vr,children:V0("input",{id:`${t}-date`,type:"date",min:l,value:n,onChange:b=>{h(!0),c(b.target.value)},className:gr,required:!0})}),V0("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?V0("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=>t4("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:[V0("span",{className:"block",children:XN(b.start,f||p.timezone)}),f&&f!==p.timezone&&t4("span",{className:"mt-0.5 block text-[9px] font-normal tracking-[0.08em] opacity-70",children:[XN(b.start,p.timezone)," business"]})]},b.start)):u?V0("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&&t4("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 qh({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}=I8();return t4("div",{className:"sf-card border border-line bg-bg p-5 min-[640px]:p-8",style:t,children:[V0(Rf,{number:"03",children:"Your details"}),t4("div",{className:"flex flex-col gap-4",children:[V0(a3,{separate:!0,htmlFor:`${a}-name`,label:"Name",required:!0,labelFace:vr,children:V0("input",{id:`${a}-name`,type:"text",autoComplete:"name",value:o,onChange:g=>r(g.target.value),className:gr,required:!0})}),V0(a3,{separate:!0,htmlFor:`${a}-email`,label:"Email",required:!0,labelFace:vr,children:V0("input",{id:`${a}-email`,type:"email",inputMode:"email",autoComplete:"email",value:i,onChange:g=>n(g.target.value),className:gr,required:!0})}),V0(a3,{separate:!0,htmlFor:`${a}-phone`,label:"Phone",labelFace:vr,children:V0("input",{id:`${a}-phone`,type:"tel",inputMode:"tel",autoComplete:"tel",value:l,onChange:g=>c(g.target.value),className:gr})}),V0(a3,{separate:!0,htmlFor:`${a}-notes`,label:"What would you like to cover?",labelFace:vr,children:V0("textarea",{id:`${a}-notes`,rows:4,value:h,onChange:g=>p(g.target.value),className:`${gr} resize-y`})})]}),u&&V0("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}),V0(z3,{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 $h({successMessage:e}){let{confirmation:t,customerTimezone:a}=I8();return t?t4("div",{className:"sf-card max-w-[760px] border border-line bg-bg p-6 min-[640px]:p-10",role:"status",children:[t4("p",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-accent",children:["Request received \xB7 ",t.bookingNumber]}),V0("h3",{className:"mt-4 font-display text-[28px] font-medium uppercase text-fg",children:t.service}),V0("p",{className:"mt-2 font-display text-[17px] text-fg-dim",children:JN(t.startAt,t.customerTimezone||a||t.timezone)}),t.customerTimezone&&t.timezone!==t.customerTimezone&&t4("p",{className:"mt-1 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:["Business time: ",JN(t.startAt,t.timezone)]}),(e??"").trim()&&V0("p",{className:"mt-5 max-w-[620px] font-serif text-[18px] italic leading-[1.6] text-fg-dim",children:e}),V0(z3,{href:`/book/${encodeURIComponent(t.manageToken)}`,newTab:t!==If,variant:"ghost",className:"mt-8",children:"Manage booking"})]}):null}var jh=["step","name","value","note"],Vf={step:"Step",name:"Name",value:"Value",note:"Note"},Kh={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},QN={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 W41(e){return typeof e=="string"&&v6.includes(e)?e:null}var U41={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function eI(e){let t={};for(let a of jh){let s=W41(e[Kh[a]]);if(!s)continue;let o=it({role:s},U41);o.fontFamily&&(t[QN[a].font]=o.fontFamily),o.fontSize&&(t[QN[a].size]=o.fontSize)}return t}import{jsx as Aa}from"react/jsx-runtime";var tI=["head","booking","details","confirm"],aI={head:"Head",booking:"Booking",details:"Your details",confirm:"Confirmation"};function _f({region:e,eyebrow:t,heading:a,intro:s,buttonLabel:o,successMessage:r,...i}){let{confirmation:n,services:l}=I8(),c=eI(i);return e==="head"?Aa("div",{className:"min-[960px]:col-span-2",style:c,children:Aa(Wh,{eyebrow:t,heading:a,intro:s})}):e==="confirm"?n?Aa("div",{className:"min-[960px]:col-span-2",style:c,children:Aa($h,{successMessage:r})}):null:n||!l||l.length===0?null:e==="booking"?Aa(Uh,{style:c}):e==="details"?Aa(qh,{buttonLabel:o,style:c}):null}import{useEffect as sI,useState as ee}from"react";import{jsx as La,jsxs as $41}from"react/jsx-runtime";function R6(e,t){let[a,s]=ee(void 0),[o,r]=ee(0);return sI(()=>{if(t!==void 0)return;if(!e){s(null);return}let i=!1;return w0.getForm(e).then(n=>{i||s(n)}).catch(()=>{i||s(null)}),()=>{i=!0}},[t,e,o]),sI(()=>{if(t===void 0)return Oc(()=>r(i=>i+1))},[t]),t!==void 0?t:a}var q41="Something went wrong \u2014 your submission wasn't sent. Please try again.";function Ta(e,t="Thanks \u2014 we've received your submission."){return e.successMessage?.trim()||t}function R8({form:e,formSlug:t,editing:a=!1}){let[s,o]=ee({}),[r,i]=ee(""),[n,l]=ee(!1),[c,h]=ee(!1),[p,d]=ee(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 w0.submitForm(t,{answers:g,...r?{company:r}:{}}),h(!0)}catch{d(q41)}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 Ea({value:e,onChange:t}){return La("input",{type:"text",name:"company",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"hidden",value:e,onChange:a=>t(a.target.value)})}function V8({field:e,value:t,onChange:a,className:s,rows:o=5,placeholder:r}){let i=r??e.placeholder;return e.type==="textarea"?La("textarea",{required:e.required,rows:o,value:t,placeholder:i,onChange:n=>a(n.target.value),className:s}):e.type==="select"?$41("select",{required:e.required,value:t,onChange:n=>a(n.target.value),className:s,children:[La("option",{value:"",children:i||"Select\u2026"}),e.options.map(n=>La("option",{value:n,children:n},n))]}):e.type==="checkbox"?La("input",{type:"checkbox",required:e.required,checked:t==="true",onChange:n=>a(n.target.checked?"true":""),className:s}):La("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 i2,Fragment as Q41,jsxs as f5}from"react/jsx-runtime";var te="solid",Of=[{label:"Solid",value:"solid"},{label:"Outlined",value:"outlined"}];function oI(e){return Q2(Of,te,e)}var Df="sf-secnum-outline",rI="font-display text-[length:var(--size-headingMedium,clamp(48px,6vw,96px))] font-medium leading-[0.8] tracking-[-0.02em]",iI=`@supports (-webkit-text-stroke: 1px currentColor){.${Df}{color:var(--site-surface-2);-webkit-text-stroke:1px var(--site-line)}}`;import{jsx as Bf,jsxs as K41}from"react/jsx-runtime";import{jsx as j41}from"react/jsx-runtime";function nI(){return j41("span",{className:"block h-px w-[30px] bg-current"})}var Zf={labelUpTo800:"max-[800px]:text-[length:var(--size-label,12px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,14px)]"};function Y41(e,t){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var X41=`inline-block w-fit bg-accent px-3.5 py-1.5 font-mono ${Zf.labelSmall} font-semibold uppercase tracking-[0.16em] text-bg`,J41=`flex items-center gap-3.5 font-mono ${Zf.labelLarge} uppercase tracking-[0.3em] opacity-80 ${Zf.labelUpTo800} max-[800px]:tracking-[0.25em]`;function O1({text:e,look:t="plain",size:a=13,scaled:s=!0,className:o="",classNameAfter:r=""}){if(t==="line")return K41("div",{className:[o,J41,r].filter(Boolean).join(" "),children:[Bf(nI,{}),Bf("span",{children:M(e)})]});let i=t==="filled"?X41:Y41(a,s);return Bf("span",{className:[o,i,r].filter(Boolean).join(" "),children:M(e)})}var W4={headingMediumUpTo800Small:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMediumUpTo800Large:"max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",headingSmallUpTo800:"max-[800px]:text-[length:var(--size-headingSmall,28px)]",headingMedium2:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",headingMedium3:"text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))]",headingMedium1:"text-[length:var(--sf-heading-max,var(--size-headingMedium,38px))]",bodySmall:"text-[length:var(--size-body,14px)]",bodyLarge:"text-[length:var(--size-body,16px)]",label:"text-[length:var(--size-label,14px)]"},fr=(e,t=!1)=>typeof e=="string"?e1(e,t):e,Ha=(e,t=!1)=>typeof e=="string"?M(e,t):e;function h0({num:e,title:t,link:a,logo:s,description:o,accent:r,accentNum:i,numStyle:n=te,look:l="standard",titleAccent:c,accentTracking:h="-0.02em",spaceBelow:p,rowGap:d,descriptionSize:u,className:v="",eyebrowLook:g=sc}){let f=p??(l==="editorial"?"mb-[60px]":"");if(l==="editorial"){let A=!!t||!!c;return f5("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"?i2(O1,{text:e,className:"pb-2"}):i2("span",{className:"pb-2",children:e})),A&&f5("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&&f5(Q41,{children:[" ",i2("em",{className:"font-serif font-normal italic text-accent",style:{letterSpacing:h},children:c})]})]}),o&&i2("p",{className:`max-w-[360px] pb-1 text-right font-display ${W4.bodySmall} leading-[1.5] text-fg-dim max-[1100px]:max-w-full max-[1100px]:text-left`,children:o})]})}if(l==="simple"){let A=`${f} ${v}`.trim();return f5("div",{className:A||void 0,children:[e&&(typeof e=="string"?i2(O1,{text:e,look:g,className:"mb-4 block"}):i2("span",{className:"mb-4 block",children:e})),t&&i2("h2",{className:`font-heading2 ${W4.headingMedium2} font-medium uppercase leading-none tracking-[-0.02em] text-fg ${W4.headingMediumUpTo800Small}`,children:fr(t)})]})}if(l==="statement"){let A=`${f} ${v}`.trim();return f5("div",{className:A||void 0,children:[e&&(typeof e=="string"?i2(O1,{text:e,look:g,className:"mb-4 block"}):i2("span",{className:"mb-4 block",children:e})),t&&i2("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:fr(t,!0)})]})}if(l==="natural"){let A=`flex max-w-[680px] flex-col ${d??"gap-5"} ${f} ${v}`.replace(/\s+/g," ").trim();return f5("div",{className:A,children:[e&&(typeof e=="string"?i2(O1,{text:e,look:g}):i2("span",{children:e})),t&&i2("h2",{className:`font-heading2 ${W4.headingMedium2} font-medium leading-[1.05] tracking-[-0.03em] ${W4.headingMediumUpTo800Small}`,children:fr(t)}),o&&i2("p",{className:`${u??`${W4.bodyLarge}`} leading-[1.6] opacity-85`,children:o})]})}if(l==="essay"){let A=`${f} ${v}`.trim();return f5("div",{className:A||void 0,children:[e&&(typeof e=="string"?i2(O1,{text:e,look:g,className:"mb-4 block"}):i2("span",{className:"mb-4 block",children:e})),t&&i2("h2",{className:`font-heading2 ${W4.headingMedium1} [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 ${W4.headingSmallUpTo800}`,children:fr(t)})]})}let b=!!o||!!a,x=!!t,w=oI(n)==="outlined",z=`font-mono ${W4.label} uppercase tracking-[0.3em]`,k=null;if(e)if(w)k=i2("span",{className:`${rI} text-fg-dim ${Df}`,children:Ha(e)});else if(i&&!r&&typeof e=="string"){let A=e.indexOf("/"),I=A===-1?e:e.slice(0,A),E=A===-1?"":e.slice(A);k=f5("span",{className:z,children:[i2("span",{className:"text-accent",children:Ha(I)}),E&&i2("span",{className:"text-fg-dim",children:Ha(E)})]})}else k=i2("span",{className:`${z} ${r?"text-accent":"text-fg-dim"}`,children:Ha(e)});return f5("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&&i2("style",{children:iI}),f5("div",{className:"flex flex-col items-start gap-3",children:[s?.src&&i2("img",{...e51(Z2(s.src)),alt:s.alt,className:"h-8 w-auto object-contain"}),k]}),x&&i2("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 ${W4.headingMedium3} [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-none tracking-[-0.03em] whitespace-pre-line ${W4.headingMediumUpTo800Large} max-[800px]:leading-[1]`,children:fr(t)}),b&&f5("div",{className:"flex flex-col items-end gap-3 max-[800px]:items-start",children:[o&&i2("p",{className:`max-w-[340px] font-display ${W4.bodySmall} leading-[1.5] text-fg-dim text-right max-[800px]:max-w-full max-[800px]:text-left`,children:Ha(o)}),a&&f5(d0,{href:a.href,className:`inline-flex items-center gap-2 whitespace-nowrap font-mono ${W4.label} uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg`,children:[Ha(a.text),i2("span",{"aria-hidden":!0,children:"\u2192"})]})]})]})}function e51(e){let t=l5(e,{fallbackWidth:640,maxWidth:960});return t.srcSet?{src:t.src,srcSet:t.srcSet,sizes:"240px"}:{src:e}}import{jsx as b5,jsxs as br}from"react/jsx-runtime";function t51(e){return e.type==="textarea"||e.type==="select"||e.type==="checkbox"}function lI({eyebrow:e,title:t}){return br("div",{className:"flex flex-col gap-4",children:[e&&b5(O1,{text:e,scaled:!1}),t&&b5("h2",{className:"font-display text-[min(clamp(40px,5vw,72px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:e1(t,!0)})]})}function Yh({body:e,buttonLabel:t,consent:a,form:s,submission:o,showForm:r,resolving:i,editing:n}){return br("div",{className:"flex flex-col gap-8",children:[e&&T0(e).map((l,c)=>b5("p",{className:"max-w-[480px] font-display text-[16px] leading-[1.6] text-fg-dim",children:M(l)},c)),r&&(s?o.done?b5("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:Ta(s)}):br("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-4 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",t51(l)?"col-span-2":""].join(" ");return l.type==="checkbox"?br("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:[b5(V8,{field:l,value:o.valueOf(l.key),onChange:h=>o.set(l.key,h),className:"mt-0.5 size-4 accent-accent"}),br("span",{children:[l.label,l.required?b5("span",{className:"text-accent",children:" *"}):null]})]},l.key):b5(V8,{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)}),b5(Ea,{value:o.honeypot,onChange:o.setHoneypot}),o.error&&b5("p",{role:"alert",className:"col-span-2 font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:o.error}),t&&b5("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)})]}):b5("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&&b5("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:M(a)})]})}var Xh=["field","tick","thanks"],Gf={field:"Form rows",tick:"Tick label",thanks:"Thank-you message"},Jh={field:"styleField",tick:"styleTick",thanks:"styleThanks"},cI={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 a51(e){return typeof e=="string"&&v6.includes(e)?e:null}var s51={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function hI(e){let t={};for(let a of Xh){let s=a51(e[Jh[a]]);if(!s)continue;let o=it({role:s},s51);o.fontFamily&&(t[cI[a].font]=o.fontFamily),o.fontSize&&(t[cI[a].size]=o.fontSize)}return t}import{jsx as Qh}from"react/jsx-runtime";var pI=["head","form"],mI={head:"Head",form:"Form"};function Wf({region:e,eyebrow:t,title:a,body:s,buttonText:o,consent:r,formSlug:i,form:n,editing:l=!1,...c}){let h=R6(i,n),p=R8({form:h,formSlug:i,editing:l}),d=hI(c);return e==="head"?Qh("div",{style:d,children:Qh(h0,{look:"statement",num:t,title:a})}):Qh("div",{style:d,children:Qh(Yh,{body:s??"",buttonLabel:o??"",consent:r??"",form:h,submission:p,showForm:!!h||l,resolving:h===void 0,editing:l})})}var o51={AppointmentBooking:{slot:"boxes",childType:"BookingBox",addLabel:"Add box",fixed:!0,seeds:()=>tI.map(e=>({region:e,name:aI[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:()=>pI.map(e=>({region:e,name:mI[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:_N},()=>({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:()=>WN.map(e=>({...e})),legacy:e=>Array.isArray(e.cards)?e.cards.map(t=>({...t})):[]}};HS(o51);function Pa(e,t){let a={};for(let s of Object.keys(e))a[s]={...e[s],...t[s]};return a}import{jsx as r51}from"react/jsx-runtime";import{OpacityIcon as i51}from"efficient-easel/icons";var dI={fields:{_gContent:y("Content"),eyebrow:R("Eyebrow","Limited release"),title:$("Heading","Banner headline"),body:$("Body","A line or two of supporting copy."),_gBackground:y("Background image"),imageSrc:X1("Image","image/*"),overlay:c1("Overlay",r51(i51,{}),0,100,5,60,"%"),_gButton:y("Button"),...v5,_gLayout:y("Layout")}};import{jsx as c51}from"react/jsx-runtime";import{jsx as xr,jsxs as Uf,Fragment as n51}from"react/jsx-runtime";import{Fragment as l51}from"react";function uI({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:Uf("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 Uf(l51,{children:[i>0&&xr("span",{className:"opacity-40",children:"/"}),r.href&&!n?xr(d0,{href:r.href,className:"hover:text-fg",children:$0(r.label)}):xr("span",{className:n?"text-fg":void 0,children:$0(r.label)})]},i)}),t&&Uf(n51,{children:[xr("span",{className:"opacity-40",children:"\xB7"}),xr("span",{children:M(t)})]})]})}import{readHidable as gI}from"efficient-easel/draw";function U5(e,t,a){return e||(a?.isEditing?m(t):void 0)}function k1(e,t,a){let s=Array.isArray(e)?e:[];return s.length?s:a?.isEditing?t:[]}function S(e,t,a){let s=gI(e);if(!s.hidden)return U5(s.text,t,a)}function m2(e,t,a){return gI(e).hidden?"":S(e,t,a)}function w4(e,t,a){return{text:S(e,C2.text,a),href:t||C2.href}}var qf={meta:"Trailing note"},h51=()=>[{label:m("Home"),href:"/"},{label:m("Section"),href:""}],vI={label:"Breadcrumb",defaultProps:{items:[],meta:""},render:({items:e,meta:t,puck:a})=>c51(uI,{items:k1(e,h51(),a),meta:S(t,qf.meta,a),editing:a?.isEditing})};var fI={fields:{_gContent:y("Content"),items:{type:"array",label:"Crumbs",arrayFields:{label:Y("Label"),href:w3(Y("Link"))},getItemSummary:e=>e?.label||"Crumb"},meta:R("Trailing note",qf.meta)}};import{jsx as _3,jsxs as p51}from"react/jsx-runtime";import{ButtonIcon as m51,ButtonIconIcon as d51,IconAfterTextIcon as u51,IconBeforeTextIcon as g51,StylesIcon as v51,WidthIcon as f51}from"efficient-easel/icons";import*as b51 from"efficient-easel/icons";import{SettingsField as x51}from"efficient-easel/panel";import{useSelectedFields as wI}from"efficient-easel/easel";import{IconPicker as w51,Segmented as y51}from"efficient-shell/ui";function ep(e){return typeof e=="boolean"?e:!0}var $f=["none","arrow-right","arrow-long-right","arrow-up-right","chevron-right","external","cart","bag","tag","email","location","play","download","search","car"];function jf(e){return typeof e=="string"&&$f.includes(e)?e:void 0}function bI(e,t){return jf(e)??(ep(t)?"arrow-right":"none")}function tp(e){return e==="before"?"before":"after"}function xI(e){return e==="fill"?"fill":"fit"}var Kf=e=>({...pl({type:"custom",render:()=>_3(ml,{})},"always"),reachedBy:e});function z51(e){let t=(e==="none"?"no-symbol":e).replace(/(^|-)([a-z])/g,(s,o,r)=>r.toUpperCase()),a=b51[`${t}Icon`];return a?_3(a,{size:16}):null}var k51=$f.map(e=>({value:e,icon:z51(e)}));function S51({value:e,onChange:t}){let a=wI(),s=a.values.href,o=typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text??""):"";return _3(BM,{label:"Button",icon:_3(m51,{size:18}),text:o,onTextChange:t,link:typeof s=="string"?s:"",onLinkChange:r=>a.onChange("href",r)})}function C51({value:e,onChange:t}){let a=wI(),s=bI(e,a.values.arrow),o=tp(a.values.iconPosition);return _3(x51,{label:m("Icon"),icon:_3(d51,{size:18}),children:p51("div",{className:"flex items-center gap-2",children:[_3(w51,{label:m("Icon"),value:s,emptyValue:"none",options:k51,onChange:t}),s!=="none"&&_3(y51,{label:m("Icon position"),value:o,onChange:r=>a.onChange("iconPosition",r),options:[{value:"before",icon:_3(g51,{size:16}),label:_3("span",{className:"sr-only",children:m("Icon before text")}),title:m("Icon before text")},{value:"after",icon:_3(u51,{size:16}),label:_3("span",{className:"sr-only",children:m("Icon after text")}),title:m("Icon after text")}]})]})})}var yI={fields:{label:tA(Y("Button"),e=>_3(S51,{value:e.value,onChange:e.onChange})),href:{...P1("Button link"),...Kf("label")},_dSize:r0("Size"),widthFit:b1("Width",_3(f51,{}),[{label:"Fit content",value:"fit"},{label:"Fill",value:"fill"}],"fit"),_gStyle:y("Style"),variant:b1("Style",_3(v51,{}),[{label:"Filled",value:"primary"},{label:"Outline",value:"ghost"}],"primary"),icon:{type:"custom",render:e=>_3(C51,{value:e.value,onChange:e.onChange})},iconPosition:Kf("icon"),arrow:Kf("icon"),_dLayout:r0("Layout"),align:N6()}};import{jsx as SI}from"react/jsx-runtime";import{ColumnsIcon as H51,StylesIcon as P51}from"efficient-easel/icons";import{jsx as T51}from"react/jsx-runtime";import{jsx as Fa,Fragment as M51,jsxs as Yf}from"react/jsx-runtime";var ap={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,15px)]",headingSmall:"text-[length:var(--size-headingSmall,20px)]"},A51="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))]",L51="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 zI({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:Fa("section",{className:"relative z-[2] bg-surface",children:Yf("div",{className:r?L51:A51,children:[r?null:Yf(M51,{children:[(t??"").trim()&&Fa(O1,{text:t??"",look:e,className:"mb-4 block"}),(a??"").trim()&&Fa("h2",{className:`mb-9 font-heading2 ${ap.headingMedium} font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-7 ${ap.headingMediumUpTo800}`,children:e1(a??"",!1)})]}),l.length>0&&Fa("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)=>Yf("div",{className:"bg-bg p-8 max-[800px]:p-7",children:[Fa("div",{className:`mb-3 font-heading3 ${ap.headingSmall} font-medium uppercase tracking-[0.02em] text-fg`,children:M((h.title??"").trim()||"Card title")}),Fa("p",{className:`${ap.body} leading-[1.6] text-fg-dim`,children:M((h.body??"").trim()||"A short line about this card.")})]},p))})]})})}var wr={eyebrow:"Label",title:"Section *heading.*"},E51=()=>[{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.")}],kI={label:"Cards",defaultProps:{eyebrow:"",title:"",items:[],columns:3},render:e=>{let t=J1(e.headPlacement)==="own-box",a=s=>t?void 0:s;return T51(zI,{look:_4(e.eyebrowLook,"Cards"),eyebrow:a(S(e.eyebrow,wr.eyebrow,e.puck)),title:a(S(e.title,wr.title,e.puck)),omitHead:t,items:k1(e.items,E51(),e.puck),columns:e.columns,editing:e.puck?.isEditing})}};var CI={fields:{_gContent:y("Content"),eyebrow:R("Eyebrow",wr.eyebrow),eyebrowLook:w1("Eyebrow style",SI(P51,{}),[...p5],d8("Cards")),title:$("Heading",wr.title),items:{type:"array",label:"Cards",arrayFields:{title:y1("Card title"),body:V1("Card body")},defaultItemProps:{title:"",body:""},getItemSummary:e=>e?.title||e?.body||"Card"},_gStyle:y("Style"),columns:c1("Columns",SI(H51,{}),2,4,1,3)},resolveFields:(e,{fields:t,parent:a})=>Q1(e0(t,a,t0),e.props.headPlacement,U1.Cards.headRows)};import{jsx as F51}from"react/jsx-runtime";import{StickyIcon as N51}from"efficient-easel/icons";var MI={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:Y("Label"),count:Y("Count")},getItemSummary:e=>e?.label?`${e.label}${e.count?` \xB7 ${e.count}`:""}`:"Tab"},activeTab:T2(w3(Y("Active tab","All"))),_gLinks:y("Links"),links:{type:"array",label:"Right links",arrayFields:{label:Y("Label"),href:w3(Y("Link"))},getItemSummary:e=>e?.label||"Link"},_gStyle:y("Style"),sticky:h1("Stick to top",!0,F51(N51,{}))}};import{jsx as D51}from"react/jsx-runtime";import{StylesIcon as B51}from"efficient-easel/icons";import{jsx as _51}from"react/jsx-runtime";import{jsx as f2,jsxs as q5}from"react/jsx-runtime";var S7={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",bodySmall:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,16px)]",labelSmall:"text-[length:var(--size-label,10px)]",label:"text-[length:var(--size-label,11px)]",labelLarge:"text-[length:var(--size-label,12px)]"};function Xf(e){return Number.isInteger(e)?String(e):String(Math.round(e*10)/10)}var AI=[100,70,46,30,19,12];function LI(e){return`color-mix(in srgb, var(--accent) ${AI[e%AI.length]}%, var(--bg))`}function I51({data:e,suffix:t}){let a=Math.max(...e.map(s=>s.value),0)||1;return f2("div",{className:"flex w-full flex-col gap-6",children:e.map((s,o)=>q5("div",{children:[q5("div",{className:"mb-2 flex items-baseline justify-between gap-4",children:[f2("span",{className:`font-mono ${S7.label} uppercase tracking-[0.14em] text-fg/60`,children:M(s.label)}),q5("span",{className:`font-display ${S7.bodyLarge} font-medium text-fg`,children:[Xf(s.value),t]})]}),f2("div",{className:"h-[10px] border border-line bg-bg",children:f2("div",{className:"h-full bg-accent",style:{width:`${Math.max(s.value/a*100,s.value===0?0:2)}%`}})})]},o))})}function R51({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 q5("svg",{viewBox:"0 0 640 300",className:"w-full",role:"img","aria-hidden":!0,children:[[.25,.5,.75,1].map(h=>f2("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)),f2("line",{x1:a.l,x2:640-a.r,y1:a.t+o,y2:a.t+o,stroke:"var(--site-line)",strokeWidth:"1.5"}),f2("path",{d:c,fill:"var(--accent)",opacity:"0.13"}),f2("path",{d:l,fill:"none",stroke:"var(--accent)",strokeWidth:"2.5"}),n.map((h,p)=>q5("g",{children:[f2("circle",{cx:h.x,cy:h.y,r:"4",fill:"var(--accent)"}),q5("text",{x:h.x,y:h.y-12,textAnchor:"middle",className:"font-display",fontSize:"14",fill:"var(--fg)",children:[Xf(e[p].value),t]}),f2("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 V51({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:LI(l)};return r+=c*o,h});return q5("div",{className:"flex w-full flex-wrap items-center justify-center gap-10",children:[f2("svg",{viewBox:"0 0 200 200",className:"w-[220px] max-w-full -rotate-90",role:"img","aria-hidden":!0,children:i.map((n,l)=>f2("circle",{cx:"100",cy:"100",r:s,fill:"none",stroke:n.ink,strokeWidth:"34",strokeDasharray:`${n.dash} ${o-n.dash}`,strokeDashoffset:-n.off},l))}),f2("ul",{className:"flex min-w-[200px] flex-1 flex-col gap-3",children:e.map((n,l)=>q5("li",{className:"flex items-baseline gap-3",children:[f2("span",{"aria-hidden":!0,className:"h-[10px] w-[10px] flex-shrink-0 rotate-45",style:{background:LI(l)}}),f2("span",{className:`flex-1 font-mono ${S7.label} uppercase tracking-[0.12em] text-fg/60`,children:M(n.label)}),f2("span",{className:`font-display ${S7.bodySmall} font-medium text-fg`,children:t?`${Xf(n.value)}${t}`:`${Math.round(n.value/a*100)}%`})]},l))})]})}function TI({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?f2(R51,{data:c,suffix:l}):p==="donut"?f2(V51,{data:c,suffix:l}):f2(I51,{data:c,suffix:l});return f2("section",{className:"relative z-[2] border-y border-line bg-surface",children:q5("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:[q5("div",{children:[(e??"").trim()&&f2("span",{className:`inline-block bg-accent px-3.5 py-1.5 font-mono ${S7.labelLarge} font-semibold uppercase tracking-[0.16em] text-bg`,children:M(e??"")}),(t??"").trim()&&f2("h2",{className:`mt-5 font-heading2 ${S7.headingMedium} font-medium uppercase leading-[1.04] tracking-[-0.02em] text-fg ${S7.headingMediumUpTo800}`,children:e1(t??"",!1)}),(a??"").trim()&&f2("p",{className:`mt-5 max-w-[46ch] ${S7.bodySmall} leading-relaxed text-fg/65`,children:a})]}),q5("div",{children:[d,(i??"").trim()&&f2("p",{className:`mt-4 font-mono ${S7.labelSmall} uppercase tracking-[0.14em] text-fg/40`,children:i})]})]})})}var yr={eyebrow:"By the numbers",title:`A picture worth
|
|
17
17
|
*a thousand rows.*`},O51=()=>[{label:m("Before"),value:"9"},{label:m("After"),value:"3"},{label:m("With us"),value:"1"}],EI={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})=>_51(TI,{eyebrow:S(e,yr.eyebrow,n),title:S(t,yr.title,n),body:a,items:k1(s,O51(),n),chartStyle:r,valueSuffix:i,caption:o,editing:n?.isEditing})};var HI={fields:{_gContent:y("Content"),eyebrow:R("Chip label",yr.eyebrow),title:$("Heading",yr.title),body:$("Body",""),items:{type:"array",label:"Data points",arrayFields:{label:y1("Label"),value:Y("Value")},defaultItemProps:{label:"",value:""},getItemSummary:e=>[e?.label,e?.value].filter(Boolean).join(" \xB7 ")||"Point"},caption:R("Caption","Illustrative example"),_gStyle:y("Style"),chartStyle:w1("Chart style",D51(B51,{}),[{label:"Bars (comparison / funnel)",value:"bars"},{label:"Line (trend)",value:"line"},{label:"Donut (split of a whole)",value:"donut"}],"bars"),valueSuffix:T2(R("Value suffix","%"))}};import{jsx as i61}from"react/jsx-runtime";import{jsx as T1,Fragment as eb,jsxs as $5}from"react/jsx-runtime";import{useId as W51,useState as U51}from"react";import{InspectorUpLevel as kr}from"efficient-easel/chrome";import{useEasel as q51}from"efficient-easel/easel";import{ListField as II}from"efficient-easel/fields";import{SettingsField as RI}from"efficient-easel/panel";import{ClockIcon as PI,ContrastIcon as $51,GlobeIcon as j51,LinkIcon as K51,LocationIcon as Y51,PhoneIcon as X51,SquareIcon as J51,TypeIcon as tb}from"efficient-easel/icons";import{ROOT_ZONE as Q51}from"efficient-easel/draw";var Z51=["tall","square","wide"],G51="tall";function sp(e){return Z51.includes(String(e??""))?String(e):G51}var b2={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"},zr=[{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
18
18
|
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
|
|
19
19
|
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""}];function op(e){let t=String(e??"").split(" \xB7 ");return{state:(t[0]??"").trim(),country:(t[1]??"").trim()}}var C7="other",A0={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 Jf(e){return Xn(e)}var ab=(e,t)=>t||e?qL(e,t):m("Ungrouped");function e61(e){let t=[];return e.forEach((a,s)=>{let o=m8(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 Qf({children:e}){return T1("div",{style:{fontSize:11,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:"var(--fg-dim, #999)",margin:"14px 0 6px"},children:e})}var VI={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"},t61={padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer"},_I={...t61,color:"#d85a30"};function M7({label:e,value:t,placeholder:a,textarea:s,icon:o,onChange:r,onBlur:i,onKeyDown:n}){let l=W51();return T1(RI,{label:e,icon:o??T1(tb,{}),htmlFor:l,children:s?T1("textarea",{id:l,value:t,placeholder:a,onChange:c=>r(c.target.value)}):T1("input",{id:l,type:"text",value:t,placeholder:a,onChange:c=>r(c.target.value),onBlur:i,onKeyDown:n})})}var a61=[{label:"Auto",value:"auto"},{label:"Dark",value:"dark"},{label:"Light",value:"light"}],s61=[{label:"Tall (3:4)",value:"tall"},{label:"Square",value:"square"},{label:"Wide (2:1)",value:"wide"}];function FI({label:e,icon:t,options:a,value:s,onChange:o}){return T1(RI,{label:e,icon:t,children:T1("div",{role:"group","aria-label":e,style:{display:"flex",gap:4,flex:1},children:a.map(r=>{let i=s===r.value;return T1("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 NI({props:e,setSection:t,headOnly:a}){let s=i=>String(e[i]??""),o=e.mapTheme||b2.mapTheme,r=b2;return $5(eb,{children:[!a&&T1(Qf,{children:m("Section")}),T1(M7,{label:m("Section number"),value:s("sectionNumber"),placeholder:r.sectionNumber,onChange:i=>t({sectionNumber:i})}),T1(M7,{label:m("Heading"),textarea:!0,value:s("heading"),placeholder:r.heading,onChange:i=>t({heading:i})}),T1(M7,{label:m("Body"),textarea:!0,value:s("tagline"),placeholder:r.tagline,onChange:i=>t({tagline:i})}),a?null:$5(eb,{children:[T1(Qf,{children:m("City strip")}),T1(M7,{label:m("Eyebrow"),value:s("galleryKicker"),placeholder:r.galleryKicker,onChange:i=>t({galleryKicker:i})}),T1(M7,{label:m("Hint"),value:s("galleryHint"),placeholder:r.galleryHint,onChange:i=>t({galleryHint:i})}),T1(FI,{label:m("Shape"),icon:T1(J51,{}),options:s61,value:sp(e.imageShape),onChange:i=>t({imageShape:i})}),T1(Qf,{children:m("Map & Theme")}),T1(FI,{label:m("Map theme"),icon:T1($51,{}),options:a61,value:o,onChange:i=>t({mapTheme:i})})]})]})}function o61({cards:e,groupKey:t,onChange:a,onBack:s,onOpenCity:o,onNavigate:r}){let i=e.map((u,v)=>m8(u)===t?v:-1).filter(u=>u>=0),n=String(e[i[0]]?.groupName??""),l=new Set(e.map(m8).filter(u=>u!==t)),[c,h]=U51(t),p=u=>a(e.map(v=>m8(v)===t?{...v,...u}:v)),d=()=>{let u=c;if(u!==t){if(l.has(u)){h(t);return}a(e.map(v=>m8(v)===t?{...v,group:u}:v)),r(u)}};return $5("div",{className:"sf-locations-view",children:[T1(kr,{inline:!0,name:m("Section"),onSelect:s}),T1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:ab(t,n)}),T1(M7,{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&&T1("p",{className:"sf-note sf-note--error",role:"alert",children:m("Another group already uses this heading \u2014 pick a different one.")}),T1(M7,{label:m("Group name"),value:n,placeholder:m("Shown beside the heading"),onChange:u=>p({groupName:u})}),T1(II,{label:m("Cities in this group"),noun:m("city"),items:i.map(u=>e[u]),onChange:u=>a($L(e,t,u)),newItem:()=>({...bg,group:t,groupName:n}),open:null,onOpen:()=>{},renderItem:()=>null,removeOnRow:!1,canDuplicate:()=>!1,renderRow:(u,v)=>$5("button",{type:"button",style:VI,onClick:()=>o(i[v]),children:[T1("span",{children:u?.name||m("City")}),T1("span",{"aria-hidden":"true",children:"\u203A"})]})}),T1("div",{style:{marginTop:12},children:T1("button",{type:"button",style:_I,onClick:()=>{a(e.filter(u=>m8(u)!==t)),s()},children:e3("Delete group ({n} city)","Delete group ({n} cities)",i.length)})})]})}function OI({value:e,onChange:t}){let a=Array.isArray(e)?e:[],s=UL(),o=YA(),r=e61(a),{appState:i,selectedItem:n}=q51(g=>g),l=kM(),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(Q51,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 $5("div",{className:"sf-locations-view",children:[T1(kr,{inline:!0,name:m("Locations"),onSelect:()=>B5({level:"groups"})}),T1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:m("Texts")}),T1(NI,{props:c,setSection:h,headOnly:!0})]});if(s.level==="image"){let g=a[s.index];return g?$5("div",{className:"sf-locations-view",children:[T1(kr,{inline:!0,name:String(g.name??"")||m("City"),onSelect:()=>B5({level:"city",index:s.index})}),T1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:m("Image")}),T1(EM,{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?$5("div",{className:"sf-locations-view",children:[T1(kr,{inline:!0,name:String(g.name??"")||m("City"),onSelect:()=>B5({level:"city",index:s.index})}),T1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:m("Map")}),T1(Pl,{value:g.geocode,onChange:f=>p(s.index,{geocode:f}),label:"Coordinates"}),T1(M7,{label:m("Directions link"),icon:T1(K51,{}),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=m8(f),x=(z,k)=>p(g,{[z]:k}),w=(z,k,A,I=!1)=>T1(M7,{label:k,icon:A,textarea:I,value:String(f[z]??""),onChange:E=>x(z,E)});return $5("div",{className:"sf-locations-view",children:[T1(kr,{inline:!0,name:ab(b,String(f.groupName??"")),onSelect:()=>B5({level:"group",key:b})}),T1("div",{style:{fontSize:14,fontWeight:500,margin:"6px 0 10px"},children:f.name||m("City")}),w("name",m("Location name"),T1(tb,{})),w("state",m("State / Province"),T1(tb,{})),w("country",m("Country"),T1(j51,{})),w("address",m("Address"),T1(Y51,{}),!0),w("phone",m("Phone"),T1(X51,{})),w("hours",m("Opening hours"),T1(PI,{})),w("timezone",m("Timezone chip"),T1(PI,{})),T1("div",{style:{marginTop:12},children:T1("button",{type:"button",style:_I,onClick:()=>{t(a.filter((z,k)=>k!==g)),B5({level:"group",key:b})},children:m("Delete city")})})]})}if(s.level==="group")return r.some(g=>g.key===s.key)?T1(o61,{cards:a,groupKey:s.key,onChange:t,onBack:()=>B5({level:"groups"}),onOpenCity:g=>B5({level:"city",index:g}),onNavigate:g=>B5({level:"group",key:g})},s.key):u();function u(){return $5("div",{className:"sf-locations-view",children:[T1(NI,{props:c,setSection:h}),!o&&T1(eb,{children:v()})]})}function v(){return T1(II,{label:m("Locations"),noun:m("group"),items:r,onChange:g=>{let f=g.find(b=>!r.some(x=>x.key===b.key));t(jL(a,g.map(b=>b.key),b=>[{...bg,group:b,groupName:""}])),f&&B5({level:"group",key:f.key})},newItem:()=>({key:d(),name:"",indices:[]}),open:null,onOpen:()=>{},renderItem:()=>null,removeOnRow:!1,canDuplicate:()=>!1,above:r.length===0?T1("div",{style:{fontSize:12,color:"var(--fg-dim, #999)",padding:"4px 0"},children:m("No locations yet.")}):void 0,renderRow:g=>$5("button",{type:"button",style:VI,onClick:()=>B5({level:"group",key:g.key}),children:[T1("span",{style:{fontWeight:500},children:ab(g.key,g.name)}),$5("span",{style:{color:"var(--fg-dim, #999)"},children:[e3("{n} city","{n} cities",g.indices.length)," \u203A"]})]})})}return u()}var r61="/geocode.json";async function DI(e){let t=e.trim();if(!t)return null;if(!rS())throw new Error("geocode_unavailable");let a=await fetch(`${ac()}${r61}?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 rp=e=>typeof e=="number"&&Number.isFinite(e);function ip(e){return e.some(t=>{let a=t?.geocode;return a?a.pending||a.manual&&a.lat===void 0&&a.lng===void 0?!0:rp(a.lat)&&a.lat!==t.lat||rp(a.lng)&&a.lng!==t.lng:!1})}async function np(e,t,{geocode:a=DI,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=rp(n.lat)&&n.lat!==i.lat?n.lat:i.lat,c=rp(n.lng)&&n.lng!==i.lng?n.lng:i.lng;return l!==i.lat||c!==i.lng?{...i,lat:l,lng:c}:i})}var BI={fields:{locations:{type:"custom",render:({value:e,onChange:t})=>i61(OI,{value:e,onChange:t})}},resolveData:async e=>{let t=e.props,a=t.locations??[];if(!ip(a))return e;let s=await np(a,o=>{let r=op(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 UI}from"react/jsx-runtime";import{ClockIcon as g61,TagIcon as v61}from"efficient-easel/icons";import{jsx as u61}from"react/jsx-runtime";import{jsx as V6,jsxs as lp,Fragment as n61}from"react/jsx-runtime";import{useEffect as l61,useState as ZI}from"react";var sb={headingSmall:"text-[length:min(var(--size-headingSmall,32px),var(--sf-heading-max,9999px))]",labelSmall:"text-[length:var(--size-label,11px)]",labelLarge:"text-[length:var(--size-label,12px)]"},c61=24*3600*1e3,h61=[{key:"hours",label:"Hours"},{key:"minutes",label:"Minutes"},{key:"seconds",label:"Seconds"}];function p61(e,t){return Math.max(0,Math.ceil((e-t)/1e3))}function m61(e){let t=Date.parse((e??"").trim());return Number.isFinite(t)?t:null}var d61=e=>String(e).padStart(2,"0");function GI({title:e,zeroText:t,endsAt:a,showUnits:s=!0,editing:o=!1}={}){let r=m61(a),[i]=ZI(()=>Date.now()+c61),n=r??(o?i:null),[l,c]=ZI(()=>Date.now());if(l61(()=>{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=p61(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:lp("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 ${sb.labelLarge} uppercase tracking-[0.2em] text-fg-dim`,children:M(d)}),h===0?u&&V6("p",{className:`font-heading3 ${sb.headingSmall} font-medium leading-tight text-fg`,children:e1(u,!1)}):lp(n61,{children:[V6("span",{className:"sr-only",children:v}),V6("div",{"aria-hidden":!0,className:"flex items-start gap-[clamp(8px,2vw,24px)]",children:h61.map((g,f)=>lp("div",{className:"contents",children:[f>0&&V6("span",{className:"font-mono text-[length:clamp(32px,7vw,80px)] leading-none text-accent",children:":"}),lp("div",{className:"flex min-w-0 flex-col items-center gap-2",children:[V6(N8,{kind:Iu,children:V6("span",{"data-countdown-unit":g.key,...o?{[s8]:Iu}:{},suppressHydrationWarning:!0,className:"font-mono text-[length:clamp(40px,8vw,96px)] font-medium leading-none tabular-nums text-fg",children:d61(p[f])})}),s&&V6(N8,{kind:nt,children:V6("span",{...o?{[s8]:nt}:{},className:`font-mono ${sb.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:g.label})})]})]},g.key))})]})]})})}var cp={title:"Back online in",zeroText:"Almost done. Back very soon."},WI={label:"Countdown",defaultProps:{...cp,endsAt:"",showUnits:!0},render:({title:e,zeroText:t,endsAt:a,showUnits:s,puck:o})=>u61(GI,{title:e,zeroText:t,endsAt:a,showUnits:s,editing:o?.isEditing})};var qI={fields:{title:R("Heading",cp.title),zeroText:T2(R("At zero",cp.zeroText)),endsAt:vA("Ends",UI(g61,{}),"In your own time zone. Every visitor counts down to the same moment."),showUnits:h1("Unit labels",!0,UI(v61,{}))}};var $I={fields:{html:{type:"textarea",label:"HTML"}}};import{jsx as y61}from"react/jsx-runtime";import{StylesIcon as z61}from"efficient-easel/icons";var ae="line",ob=[{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"}],f61={"stripes-fine":{ink:4,period:12},"stripes-medium":{ink:8,period:18},"stripes-bold":{ink:14,period:28}},jI=28,b61="-45deg",x61="color-mix(in oklab, var(--accent) 50%, var(--bg))";function w61(e){return e!=="line"}function KI(e){return Q2(ob,ae,e)}function YI(e){if(!w61(e))return null;let{ink:t,period:a}=f61[e];return`repeating-linear-gradient(${b61}, ${x61} 0 ${t}px, transparent ${t}px ${a}px)`}var XI={fields:{style:w1("Style",y61(z61,{}),ob,ae),spacing:{type:"select",options:[{label:"Small",value:"sm"},{label:"Medium",value:"md"},{label:"Large",value:"lg"}]}}};import{jsx as A61}from"react/jsx-runtime";import{jsx as A7,jsxs as Sr}from"react/jsx-runtime";function k61(e,t){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||`section-${t+1}`}function S61(e){let t=[];for(let a of e.replace(/\r\n?/g,`
|