efficient-storefront-blocks 0.62.0 → 0.63.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-BQFPYYBS.js → EditorPreviewCheckout-6776GNNO.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-3E6XWZIS.js → SiteEditorProvider-GTIZ4RNX.js} +1 -1
- package/dist/chunks/{chunk-MT5KWSYX.js → chunk-A3PXLZZP.js} +1 -1
- package/dist/chunks/{chunk-OJ4OD3N6.js → chunk-JBLNH3P5.js} +1 -1
- package/dist/chunks/chunk-VDYPGGK3.js +250 -0
- package/dist/chunks/{fitment-data-PWZAAUFK.js → fitment-data-DGKKOAWL.js} +1 -1
- package/dist/index.js +5 -4
- package/dist/render/built-with.json +1 -1
- package/package.json +3 -3
- package/dist/chunks/chunk-4BQ44OLC.js +0 -250
- /package/dist/chunks/{chunk-TRUOK5AD.js → chunk-IT33OG3G.js} +0 -0
- /package/dist/chunks/{chunk-4BQ44OLC.js.LEGAL.txt → chunk-VDYPGGK3.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-FZFBLN7K.js → chunk-XKTD3BPL.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{$ as d3,$a as hv,$b as Yt,$c as bc,$d as aT,$e as xT,$f as OT,$g as bE,A as zM,Aa as Vl,Ab as Jl,Ac as fA,Ad as BA,Ae as G1,Af as Oc,Ag as Gv,Ah as nh,B as kM,Ba as P8,Bb as qL,Bc as bA,Bd as ea,Be as y,Bf as AT,Bg as Wv,Bh as _E,C as Hl,Ca as F7,Cb as $L,Cc as d,Cd as ta,Ce as l6,Cf as _8,Cg as Uv,Ch as IE,D as SM,Da as Zt,Db as Ql,Dc as u3,Dd as DA,De as lT,Df as TT,Dg as Kc,Dh as zr,E as CM,Ea as rv,Eb as ec,Ec as xA,Ed as ZA,Ee as n0,Ef as ET,Eg as nE,Eh as VE,F as MM,Fa as aL,Fb as $t,Fc as mc,Fd as zc,Fe as cT,Ff as HT,Fg as Yc,Fh as A4,G as LM,Ga as re,Gb as i6,Gc as dc,Gd as he,Ge as na,Gf as PT,Gg as lE,Gh as BE,H as tv,Ha as F8,Hb as tc,Hc as wA,Hd as kc,He as B6,Hf as wr,Hg as Xc,Hh as DE,I as AM,Ia as Ol,Ib as wv,Ic as n6,Id as vr,Ie as la,If as FT,Ig as cE,Ih as ZE,J as TM,Ja as cr,Jb as jL,Jc as yA,Jd as GA,Je as o1,Jf as Bc,Jg as qv,Jh as GE,K as Ot,Ka as iv,Kb as ac,Kc as zA,Kd as WA,Ke as M4,Kf as Dc,Kg as hE,Kh as WE,L as EM,La as sL,Lb as yv,Lc as vc,Ld as UA,Le as hT,Lf as da,Lg as $v,Lh as UE,M as HM,Ma as nv,Mb as KL,Mc as kA,Md as qA,Me as Hc,Mf as ua,Mg as pE,Mh as lh,N as PM,Na as lv,Nb as sc,Nc as SA,Nd as $A,Ne as pT,Nf as ga,Ng as mE,Nh as L5,O as FM,Oa as Bl,Ob as oc,Oc as F3,Od as jA,Oe as mT,Of as va,Og as dE,Oh as ch,P as NM,Pa as Dl,Pb as Kt,Pc as CA,Pd as KA,Pe as Pc,Pf as NT,Pg as uE,Ph as V7,Q as RM,Qa as oL,Qb as rc,Qc as c4,Qd as Sc,Qe as Fc,Qf as RT,Qg as gE,Qh as T4,R as _M,Ra as Gt,Rb as ne,Rc as AA,Rd as Cc,Re as Nc,Rf as _T,Rg as Jc,Rh as qE,S as av,Sa as rL,Sb as zv,Sc as fc,Sd as Rv,Se as dT,Sf as Zc,Sg as jv,Sh as $E,T as IM,Ta as Zl,Tb as ic,Tc as TA,Td as Mc,Te as uT,Tf as IT,Tg as Kv,U as VM,Ua as iL,Ub as kv,Uc as a5,Ud as YA,Ue as gT,Uf as VT,Ug as vE,V as Pl,Va as Wt,Vb as Sv,Vc as s5,Vd as XA,Ve as vT,Vf as fa,Vg as Qc,W as Fl,Wa as nL,Wb as YL,Wc as N7,Wd as JA,We as xr,Wf as I7,Wg as fE,X as OM,Xa as lL,Xb as XL,Xc as ce,Xd as QA,Xe as fT,Xf as Iv,Xg as eh,Y as BM,Ya as cL,Yb as Cv,Yc as Xt,Yd as eT,Ye as bT,Yf as Vv,Yg as th,Z as DM,Za as hL,Zb as I6,Zc as Jt,Zd as tT,Ze as ca,Zf as Ov,Zg as Yv,_ as ZM,_a as cv,_b as JL,_c as N8,_d as C4,_e as pe,_f as ba,_g as ah,a as iM,aa as e5,ab as pL,ac as QL,ad as EA,ae as Lc,af as Rc,ag as BT,ah as xE,b as Cl,ba as H1,bb as pv,bc as eA,bd as HA,be as V6,bf as wT,bg as Bv,bh as wE,c as nM,ca as r6,cb as mv,cc as tA,cd as Qt,ce as aa,cf as yT,cg as Dv,ch as yE,d as lr,da as P3,db as mL,dc as aA,dd as U3,de as O6,df as zT,dg as DT,dh as xa,e as lM,ea as Nl,eb as Ut,ec as sA,ed as PA,ee as sa,ef as kT,eg as L4,eh as zE,f as Qg,fa as t5,fb as dv,fc as mr,fd as FA,fe as sT,ff as i1,fg as ZT,fh as sh,g as ev,ga as Bt,gb as uv,gc as oA,gd as ur,ge as oT,gf as ST,gg as GT,gh as de,h as J4,ha as Rl,hb as Gl,hc as rA,hd as xc,he as fr,hf as CT,hg as WT,hh as oh,i as Ml,ia as GM,ib as Kl,ic as iA,id as NA,ie as R8,if as MT,ig as UT,ih as wa,j as cM,ja as WM,jb as IL,jc as nA,jd as RA,je as rT,jf as q3,jg as $T,jh as kE,k as hM,ka as z2,kb as VL,kc as lA,kd as _A,ke as br,kf as c6,kg as jT,kh as ue,l as h0,la as Y1,lb as OL,lc as nc,ld as gr,le as Ac,lf as R7,lg as KT,lh as SE,m as Ll,ma as Q1,mb as qt,mc as cA,md as Lv,me as iT,mf as LT,mg as YT,mh as CE,n as Al,na as UM,nb as ie,nc as hA,nd as Av,ne as oa,nf as _c,ng as XT,nh as ME,o as r2,oa as a0,ob as l4,oc as lc,od as wc,oe as e3,of as y1,og as JT,oh as LE,p as Tl,pa as e0,pb as BL,pc as pA,pd as yc,pe as B2,pf as ha,pg as QT,ph as AE,q as uM,qa as sv,qb as DL,qc as cc,qd as Tv,qe as ra,qf as P2,qg as Zv,qh as TE,r as El,ra as YM,rb as xv,rc as le,rd as IA,re as nT,rf as _7,rg as aE,rh as h6,s as gM,sa as XM,sb as pr,sc as mA,sd as Ev,se as Tc,sf as Ic,sg as Uc,sh as PE,t as vM,ta as ov,tb as W3,tc as hc,td as Hv,te as Ec,tf as f1,tg as sE,th as ih,u as fM,ua as JM,ub as ZL,uc as dA,ud as VA,ue as ia,uf as X1,ug as oE,uh as ge,v as bM,va as QM,vb as GL,vc as uA,vd as OA,ve as I,vf as Vc,vg as qc,vh as O8,w as xM,wa as eL,wb as WL,wc as Mv,wd as Pv,we as U,wf as _v,wg as $c,wh as FE,x as wM,xa as Il,xb as UL,xc as pc,xd as Fv,xe as q,xf as t3,xg as jc,xh as Xv,y as yM,ya as H2,yb as Yl,yc as gA,yd as Nv,ye as w1,yf as pa,yg as rE,yh as NE,z as N6,za as tL,zb as Xl,zc as vA,zd as o5,ze as q1,zf as ma,zg as iE,zh as RE}from"./chunks/chunk-
|
|
1
|
+
import{$ as d3,$a as hv,$b as Yt,$c as bc,$d as aT,$e as xT,$f as OT,$g as bE,A as zM,Aa as Vl,Ab as Jl,Ac as fA,Ad as BA,Ae as G1,Af as Oc,Ag as Gv,Ah as nh,B as kM,Ba as P8,Bb as qL,Bc as bA,Bd as ea,Be as y,Bf as AT,Bg as Wv,Bh as _E,C as Hl,Ca as F7,Cb as $L,Cc as d,Cd as ta,Ce as l6,Cf as _8,Cg as Uv,Ch as IE,D as SM,Da as Zt,Db as Ql,Dc as u3,Dd as DA,De as lT,Df as TT,Dg as Kc,Dh as zr,E as CM,Ea as rv,Eb as ec,Ec as xA,Ed as ZA,Ee as n0,Ef as ET,Eg as nE,Eh as VE,F as MM,Fa as aL,Fb as $t,Fc as mc,Fd as zc,Fe as cT,Ff as HT,Fg as Yc,Fh as A4,G as LM,Ga as re,Gb as i6,Gc as dc,Gd as he,Ge as na,Gf as PT,Gg as lE,Gh as BE,H as tv,Ha as F8,Hb as tc,Hc as wA,Hd as kc,He as B6,Hf as wr,Hg as Xc,Hh as DE,I as AM,Ia as Ol,Ib as wv,Ic as n6,Id as vr,Ie as la,If as FT,Ig as cE,Ih as ZE,J as TM,Ja as cr,Jb as jL,Jc as yA,Jd as GA,Je as o1,Jf as Bc,Jg as qv,Jh as GE,K as Ot,Ka as iv,Kb as ac,Kc as zA,Kd as WA,Ke as M4,Kf as Dc,Kg as hE,Kh as WE,L as EM,La as sL,Lb as yv,Lc as vc,Ld as UA,Le as hT,Lf as da,Lg as $v,Lh as UE,M as HM,Ma as nv,Mb as KL,Mc as kA,Md as qA,Me as Hc,Mf as ua,Mg as pE,Mh as lh,N as PM,Na as lv,Nb as sc,Nc as SA,Nd as $A,Ne as pT,Nf as ga,Ng as mE,Nh as L5,O as FM,Oa as Bl,Ob as oc,Oc as F3,Od as jA,Oe as mT,Of as va,Og as dE,Oh as ch,P as NM,Pa as Dl,Pb as Kt,Pc as CA,Pd as KA,Pe as Pc,Pf as NT,Pg as uE,Ph as V7,Q as RM,Qa as oL,Qb as rc,Qc as c4,Qd as Sc,Qe as Fc,Qf as RT,Qg as gE,Qh as T4,R as _M,Ra as Gt,Rb as ne,Rc as AA,Rd as Cc,Re as Nc,Rf as _T,Rg as Jc,Rh as qE,S as av,Sa as rL,Sb as zv,Sc as fc,Sd as Rv,Se as dT,Sf as Zc,Sg as jv,Sh as $E,T as IM,Ta as Zl,Tb as ic,Tc as TA,Td as Mc,Te as uT,Tf as IT,Tg as Kv,U as VM,Ua as iL,Ub as kv,Uc as a5,Ud as YA,Ue as gT,Uf as VT,Ug as vE,V as Pl,Va as Wt,Vb as Sv,Vc as s5,Vd as XA,Ve as vT,Vf as fa,Vg as Qc,W as Fl,Wa as nL,Wb as YL,Wc as N7,Wd as JA,We as xr,Wf as I7,Wg as fE,X as OM,Xa as lL,Xb as XL,Xc as ce,Xd as QA,Xe as fT,Xf as Iv,Xg as eh,Y as BM,Ya as cL,Yb as Cv,Yc as Xt,Yd as eT,Ye as bT,Yf as Vv,Yg as th,Z as DM,Za as hL,Zb as I6,Zc as Jt,Zd as tT,Ze as ca,Zf as Ov,Zg as Yv,_ as ZM,_a as cv,_b as JL,_c as N8,_d as C4,_e as pe,_f as ba,_g as ah,a as iM,aa as e5,ab as pL,ac as QL,ad as EA,ae as Lc,af as Rc,ag as BT,ah as xE,b as Cl,ba as H1,bb as pv,bc as eA,bd as HA,be as V6,bf as wT,bg as Bv,bh as wE,c as nM,ca as r6,cb as mv,cc as tA,cd as Qt,ce as aa,cf as yT,cg as Dv,ch as yE,d as lr,da as P3,db as mL,dc as aA,dd as U3,de as O6,df as zT,dg as DT,dh as xa,e as lM,ea as Nl,eb as Ut,ec as sA,ed as PA,ee as sa,ef as kT,eg as L4,eh as zE,f as Qg,fa as t5,fb as dv,fc as mr,fd as FA,fe as sT,ff as i1,fg as ZT,fh as sh,g as ev,ga as Bt,gb as uv,gc as oA,gd as ur,ge as oT,gf as ST,gg as GT,gh as de,h as J4,ha as Rl,hb as Gl,hc as rA,hd as xc,he as fr,hf as CT,hg as WT,hh as oh,i as Ml,ia as GM,ib as Kl,ic as iA,id as NA,ie as R8,if as MT,ig as UT,ih as wa,j as cM,ja as WM,jb as IL,jc as nA,jd as RA,je as rT,jf as q3,jg as $T,jh as kE,k as hM,ka as z2,kb as VL,kc as lA,kd as _A,ke as br,kf as c6,kg as jT,kh as ue,l as h0,la as Y1,lb as OL,lc as nc,ld as gr,le as Ac,lf as R7,lg as KT,lh as SE,m as Ll,ma as Q1,mb as qt,mc as cA,md as Lv,me as iT,mf as LT,mg as YT,mh as CE,n as Al,na as UM,nb as ie,nc as hA,nd as Av,ne as oa,nf as _c,ng as XT,nh as ME,o as r2,oa as a0,ob as l4,oc as lc,od as wc,oe as e3,of as y1,og as JT,oh as LE,p as Tl,pa as e0,pb as BL,pc as pA,pd as yc,pe as B2,pf as ha,pg as QT,ph as AE,q as uM,qa as sv,qb as DL,qc as cc,qd as Tv,qe as ra,qf as P2,qg as Zv,qh as TE,r as El,ra as YM,rb as xv,rc as le,rd as IA,re as nT,rf as _7,rg as aE,rh as h6,s as gM,sa as XM,sb as pr,sc as mA,sd as Ev,se as Tc,sf as Ic,sg as Uc,sh as PE,t as vM,ta as ov,tb as W3,tc as hc,td as Hv,te as Ec,tf as f1,tg as sE,th as ih,u as fM,ua as JM,ub as ZL,uc as dA,ud as VA,ue as ia,uf as X1,ug as oE,uh as ge,v as bM,va as QM,vb as GL,vc as uA,vd as OA,ve as I,vf as Vc,vg as qc,vh as O8,w as xM,wa as eL,wb as WL,wc as Mv,wd as Pv,we as U,wf as _v,wg as $c,wh as FE,x as wM,xa as Il,xb as UL,xc as pc,xd as Fv,xe as q,xf as t3,xg as jc,xh as Xv,y as yM,ya as H2,yb as Yl,yc as gA,yd as Nv,ye as w1,yf as pa,yg as rE,yh as NE,z as N6,za as tL,zb as Xl,zc as vA,zd as o5,ze as q1,zf as ma,zg as iE,zh as RE}from"./chunks/chunk-VDYPGGK3.js";import{$ as vH,A as O7,B as tf,C as cH,D as hH,E as gh,F as vh,G as fh,H as pH,I as Ca,J as mH,M as dH,N as uH,O as W8,P as S0,Q as gH,S as af,T as Ma,U as a3,V as bh,W as Cr,Y as xh,Z as La,_ as be,a as eH,aa as sf,ba as fH,ca as bH,da as xH,e as D8,ea as wH,f as ph,fa as yH,g as tH,ga as zH,h as aH,ha as xe,i as Jv,ia as of,j as sH,k as oH,ka as rf,l as mh,la as Aa,m as Sr,ma as Ta,n as Qv,na as Mr,o as rH,oa as we,p as g3,pa as v3,q as iH,r as Z8,s as dh,t as ef,u as nH,v as lH,w as fe,x as G8,y as Sa,z as uh}from"./chunks/chunk-JBLNH3P5.js";import{d as kr,e as ya,g as D2,h as hh,i as E4,j as jE,k as KE,l as YE,m as XE,n as B8,o as JE,u as za,v as H0,w as ve,x as QE,y as ka,z as R1}from"./chunks/chunk-A3PXLZZP.js";import{A as uL,Aa as I8,Ba as qT,Ca as me,D as Ul,Ea as eE,F as gL,Fa as Gc,G as vL,Ga as tE,Ha as Wc,I as fL,Ia as yr,Ja as V8,Ka as rh,La as EE,M as bL,Ma as HE,O as xL,P as vv,Q as wL,S as yL,T as ql,W as $l,X as jl,Z as fv,a as S4,aa as zL,b as pM,ba as bv,c as I1,ea as kL,f as R6,g as Dt,ga as SL,h as _l,ha as CL,i as qM,ia as ML,j as $M,ja as LL,k as jM,ka as AL,la as TL,m as KM,ma as EL,n as dL,na as HL,o as hr,oa as PL,p as Wl,q as gv,qa as FL,r as _6,sa as NL,ta as RL,ua as _L,wa as dr,xa as uc,ya as gc,za as Q2}from"./chunks/chunk-IT33OG3G.js";import{a as n4,b as mM,c as F6,d as dM,e as Q4,g as jt,h as MA,j as LA,l as N3,m as OE}from"./chunks/chunk-XKTD3BPL.js";import{a as X31,b as J31}from"./chunks/chunk-Y6SLVHK3.js";var fZ=X31((D00,vZ)=>{"use strict";function Un1(e,t){this.v=e,this.k=t}function XD(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 qn1(e){if(Array.isArray(e))return e}function $n1(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 jn1(){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 Kn1(e,t){return qn1(e)||$n1(e,t)||Yn1(e,t)||jn1()}function Yn1(e,t){if(e){if(typeof e=="string")return XD(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)?XD(e,t):void 0}}function Km(e){var t,a;function s(r,i){try{var n=e[r](i),l=n.value,c=l instanceof Un1;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)}Km.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Km.prototype.next=function(e){return this._invoke("next",e)},Km.prototype.throw=function(e){return this._invoke("throw",e)},Km.prototype.return=function(e){return this._invoke("return",e)};var mZ=Object.entries,JD=Object.setPrototypeOf,Xn1=Object.isFrozen,Jn1=Object.getPrototypeOf,Qn1=Object.getOwnPropertyDescriptor,i3=Object.freeze,z3=Object.seal,Es=Object.create,dZ=typeof Reflect<"u"&&Reflect,qw=dZ.apply,$w=dZ.construct;i3||(i3=function(t){return t});z3||(z3=function(t){return t});qw||(qw=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)});$w||($w=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 qe=$2(Array.prototype.forEach);Array.prototype.indexOf;var el1=$2(Array.prototype.lastIndexOf),QD=$2(Array.prototype.pop),Fi=$2(Array.prototype.push);Array.prototype.slice;var tl1=$2(Array.prototype.splice),Hs=Array.isArray,_i=$2(String.prototype.toLowerCase),Bw=$2(String.prototype.toString),eZ=$2(String.prototype.match),Ni=$2(String.prototype.replace),tZ=$2(String.prototype.indexOf),al1=$2(String.prototype.trim),sl1=$2(Number.prototype.toString),ol1=$2(Boolean.prototype.toString),aZ=typeof BigInt>"u"?null:$2(BigInt.prototype.toString),sZ=typeof Symbol>"u"?null:$2(Symbol.prototype.toString),O4=$2(Object.prototype.hasOwnProperty),Ri=$2(Object.prototype.toString),X3=$2(RegExp.prototype.test),w9=rl1(TypeError);function $2(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 qw(e,t,s)}}function rl1(e){return function(){for(var t=arguments.length,a=new Array(t),s=0;s<t;s++)a[s]=arguments[s];return $w(e,a)}}function F0(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:_i;if(JD&&JD(e,null),!Hs(t))return e;let s=t.length;for(;s--;){let o=t[s];if(typeof o=="string"){let r=a(o);r!==o&&(Xn1(t)||(t[s]=r),o=r)}e[o]=!0}return e}function il1(e){for(let t=0;t<e.length;t++)O4(e,t)||(e[t]=null);return e}function p5(e){let t=Es(null);for(let s of mZ(e)){var a=Kn1(s,2);let o=a[0],r=a[1];O4(e,o)&&(Hs(r)?t[o]=il1(r):r&&typeof r=="object"&&r.constructor===Object?t[o]=p5(r):t[o]=r)}return t}function nl1(e){switch(typeof e){case"string":return e;case"number":return sl1(e);case"boolean":return ol1(e);case"bigint":return aZ?aZ(e):"0";case"symbol":return sZ?sZ(e):"Symbol()";case"undefined":return Ri(e);case"function":case"object":{if(e===null)return Ri(e);let t=e,a=B5(t,"toString");if(typeof a=="function"){let s=a(t);return typeof s=="string"?s:Ri(s)}return Ri(e)}default:return Ri(e)}}function B5(e,t){for(;e!==null;){let s=Qn1(e,t);if(s){if(s.get)return $2(s.get);if(typeof s.value=="function")return $2(s.value)}e=Jn1(e)}function a(){return null}return a}function ll1(e){try{return X3(e,""),!0}catch{return!1}}var oZ=i3(["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"]),Dw=i3(["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"]),Zw=i3(["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"]),cl1=i3(["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"]),Gw=i3(["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"]),hl1=i3(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),rZ=i3(["#text"]),iZ=i3(["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"]),Ww=i3(["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"]),nZ=i3(["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"]),Ym=i3(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),pl1=z3(/{{[\w\W]*|^[\w\W]*}}/g),ml1=z3(/<%[\w\W]*|^[\w\W]*%>/g),dl1=z3(/\${[\w\W]*/g),ul1=z3(/^data-[\-\w.\u00B7-\uFFFF]+$/),gl1=z3(/^aria-[\-\w]+$/),lZ=z3(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),vl1=z3(/^(?:\w+script|data):/i),fl1=z3(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),bl1=z3(/^html$/i),xl1=z3(/^[a-z][.\w]*(-[.\w]+)+$/i),cZ=z3(/<[/\w!]/g),hZ=z3(/<[/\w]/g),wl1=z3(/<\/no(script|embed|frames)/i),yl1=z3(/\/>/i),h5={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},uZ=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],zl1=i3(F0({},uZ)),kl1=(function(){let e={};return qe(uZ,t=>{e[t]=z3(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),i3(e)})(),Sl1=function(){return typeof window>"u"?null:window},Cl1=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}},pZ=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},y9=function(t,a,s,o){return O4(t,a)&&Hs(t[a])?F0(o.base?p5(o.base):{},t[a],o.transform):s},Uw=function(t,a,s){let o=O4(t,a)?t[a]:void 0;return o&&typeof o=="object"?p5(o):s()};function gZ(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Sl1(),t=n1=>gZ(n1);if(t.version="3.4.16",t.removed=[],!e||!e.document||e.document.nodeType!==h5.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,m=B5(p,"cloneNode"),u=B5(p,"remove"),v=B5(p,"removeAttributeNode"),g=B5(p,"nextSibling"),f=B5(p,"childNodes"),b=B5(p,"parentNode"),x=B5(p,"shadowRoot"),w=B5(p,"attributes"),k=i&&i.prototype?B5(i.prototype,"nodeType"):null,A=i&&i.prototype?B5(i.prototype,"nodeName"):null,T=i&&i.prototype?B5(i.prototype,"ownerDocument"):null,F=function(C){return k?k(C):C.nodeType},M=function(C){return A?A(C):C.nodeName};if(typeof r=="function"){let n1=a.createElement("template");n1.content&&n1.content.ownerDocument&&(a=n1.content.ownerDocument)}let z,E="",N,R=!1,D=0,V=function(){if(D>0)throw w9('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.')},_=function(C){V(),D++;try{return z.createHTML(C)}finally{D--}},B=function(C){V(),D++;try{return z.createScriptURL(C)}finally{D--}},Z=function(){return R||(N=Cl1(h,o),R=!0),N},X=a,G=X.implementation,$=X.createNodeIterator,t1=X.createDocumentFragment,d1=X.getElementsByTagName,r1=s.importNode,O=pZ();t.isSupported=typeof mZ=="function"&&typeof b=="function"&&G&&G.createHTMLDocument!==void 0;let K=pl1,j=ml1,p1=dl1,r0=ul1,k0=gl1,g0=vl1,a1=fl1,A1=xl1,F1=lZ,k1=null,L2=F0({},[...oZ,...Dw,...Zw,...Gw,...rZ]),c0=null,y2=F0({},[...iZ,...Ww,...nZ,...Ym]),R0=Object.seal(Es(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}})),x1=null,Z1=null,N1=Object.seal(Es(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),_0=!0,c1=!0,i0=!1,v1=!0,z1=!1,L1=!0,T1=!1,$0=!1,I2=null,V2=null,c2=!1,H3=!1,a6=!1,f2=!1,E8=!0,E7=!1,p3="user-content-",H7=!0,P7=!1,S5={},A2=null,Z3=F0({},["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"]),C5=null,z4=F0({},["audio","video","img","source","image","track"]),s6=null,k4=F0({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),r4="http://www.w3.org/1998/Math/MathML",E1="http://www.w3.org/2000/svg",t0="http://www.w3.org/1999/xhtml",J2=t0,G3=!1,P1=null,W2=F0({},[r4,E1,t0],Bw),m3=i3(["mi","mo","mn","ms","mtext"]),S1=F0({},m3),T2=i3(["annotation-xml"]),Y4=F0({},T2),Z0=F0({},["title","style","font","a","script"]),o6=null,I31=["application/xhtml+xml","text/html"],V31="text/html",O2=null,Rt=null,O31=a.createElement("form"),$C=function(C){return C instanceof RegExp||C instanceof Function},Kg=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Rt&&Rt===C)return;(!C||typeof C!="object")&&(C={}),C=p5(C),o6=I31.indexOf(C.PARSER_MEDIA_TYPE)===-1?V31:C.PARSER_MEDIA_TYPE,O2=o6==="application/xhtml+xml"?Bw:_i,k1=y9(C,"ALLOWED_TAGS",L2,{transform:O2}),c0=y9(C,"ALLOWED_ATTR",y2,{transform:O2}),P1=y9(C,"ALLOWED_NAMESPACES",W2,{transform:Bw}),s6=y9(C,"ADD_URI_SAFE_ATTR",k4,{transform:O2,base:k4}),C5=y9(C,"ADD_DATA_URI_TAGS",z4,{transform:O2,base:z4}),A2=y9(C,"FORBID_CONTENTS",Z3,{transform:O2}),x1=y9(C,"FORBID_TAGS",p5({}),{transform:O2}),Z1=y9(C,"FORBID_ATTR",p5({}),{transform:O2}),S5=O4(C,"USE_PROFILES")?C.USE_PROFILES&&typeof C.USE_PROFILES=="object"?p5(C.USE_PROFILES):C.USE_PROFILES:!1,_0=C.ALLOW_ARIA_ATTR!==!1,c1=C.ALLOW_DATA_ATTR!==!1,i0=C.ALLOW_UNKNOWN_PROTOCOLS||!1,v1=C.ALLOW_SELF_CLOSE_IN_ATTR!==!1,z1=C.SAFE_FOR_TEMPLATES||!1,L1=C.SAFE_FOR_XML!==!1,T1=C.WHOLE_DOCUMENT||!1,H3=C.RETURN_DOM||!1,a6=C.RETURN_DOM_FRAGMENT||!1,f2=C.RETURN_TRUSTED_TYPE||!1,c2=C.FORCE_BODY||!1,E8=C.SANITIZE_DOM!==!1,E7=C.SANITIZE_NAMED_PROPS||!1,H7=C.KEEP_CONTENT!==!1,P7=C.IN_PLACE||!1,F1=ll1(C.ALLOWED_URI_REGEXP)?C.ALLOWED_URI_REGEXP:lZ,J2=typeof C.NAMESPACE=="string"?C.NAMESPACE:t0,S1=Uw(C,"MATHML_TEXT_INTEGRATION_POINTS",()=>F0({},m3)),Y4=Uw(C,"HTML_INTEGRATION_POINTS",()=>F0({},T2));let W=Uw(C,"CUSTOM_ELEMENT_HANDLING",()=>Es(null));if(R0=Es(null),O4(W,"tagNameCheck")&&$C(W.tagNameCheck)&&(R0.tagNameCheck=W.tagNameCheck),O4(W,"attributeNameCheck")&&$C(W.attributeNameCheck)&&(R0.attributeNameCheck=W.attributeNameCheck),O4(W,"allowCustomizedBuiltInElements")&&typeof W.allowCustomizedBuiltInElements=="boolean"&&(R0.allowCustomizedBuiltInElements=W.allowCustomizedBuiltInElements),z3(R0),z1&&(c1=!1),a6&&(H3=!0),S5&&(k1=F0({},rZ),c0=Es(null),S5.html===!0&&(F0(k1,oZ),F0(c0,iZ)),S5.svg===!0&&(F0(k1,Dw),F0(c0,Ww),F0(c0,Ym)),S5.svgFilters===!0&&(F0(k1,Zw),F0(c0,Ww),F0(c0,Ym)),S5.mathMl===!0&&(F0(k1,Gw),F0(c0,nZ),F0(c0,Ym))),N1.tagCheck=null,N1.attributeCheck=null,O4(C,"ADD_TAGS")&&(typeof C.ADD_TAGS=="function"?N1.tagCheck=C.ADD_TAGS:Hs(C.ADD_TAGS)&&(k1===L2&&(k1=p5(k1)),F0(k1,C.ADD_TAGS,O2))),O4(C,"ADD_ATTR")&&(typeof C.ADD_ATTR=="function"?N1.attributeCheck=C.ADD_ATTR:Hs(C.ADD_ATTR)&&(c0===y2&&(c0=p5(c0)),F0(c0,C.ADD_ATTR,O2))),O4(C,"ADD_FORBID_CONTENTS")&&Hs(C.ADD_FORBID_CONTENTS)&&(A2===Z3&&(A2=p5(A2)),F0(A2,C.ADD_FORBID_CONTENTS,O2)),H7&&(k1["#text"]=!0),T1&&F0(k1,["html","head","body"]),k1.table&&(F0(k1,["tbody"]),delete x1.tbody),C.TRUSTED_TYPES_POLICY){if(typeof C.TRUSTED_TYPES_POLICY.createHTML!="function")throw w9('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof C.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw w9('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let s1=z;z=C.TRUSTED_TYPES_POLICY;try{E=_("")}catch(m1){throw z=s1,m1}}else C.TRUSTED_TYPES_POLICY===null?(z=void 0,E=""):(z===void 0&&(z=Z()),z&&typeof E=="string"&&(E=_("")));i3&&i3(C),Rt=C},jC=F0({},[...Dw,...Zw,...cl1]),KC=F0({},[...Gw,...hl1]),B31=function(C,W,s1){return W.namespaceURI===t0?C==="svg":W.namespaceURI===r4?C==="svg"&&(s1==="annotation-xml"||S1[s1]):!!jC[C]},D31=function(C,W,s1){return W.namespaceURI===t0?C==="math":W.namespaceURI===E1?C==="math"&&Y4[s1]:!!KC[C]},Z31=function(C,W,s1){return W.namespaceURI===E1&&!Y4[s1]||W.namespaceURI===r4&&!S1[s1]?!1:!KC[C]&&(Z0[C]||!jC[C])},G31=function(C){let W=b(C);(!W||!W.tagName)&&(W={namespaceURI:J2,tagName:"template"});let s1=_i(C.tagName),m1=_i(W.tagName);return P1[C.namespaceURI]?C.namespaceURI===E1?B31(s1,W,m1):C.namespaceURI===r4?D31(s1,W,m1):C.namespaceURI===t0?Z31(s1,W,m1):!!(o6==="application/xhtml+xml"&&P1[C.namespaceURI]):!1},H8=function(C){Fi(t.removed,{element:C});try{b(C).removeChild(C)}catch{if(u(C),!b(C))throw w9("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},YC=function(C,W,s1){try{v(C,W)}catch{try{C.removeAttribute(s1)}catch{}}},xl=function(C){wl(C);let W=f(C);if(W){let m1=[];qe(W,j1=>{Fi(m1,j1)}),qe(m1,j1=>{try{u(j1)}catch{}})}let s1=w(C);if(s1)for(let m1=s1.length-1;m1>=0;--m1){let j1=s1[m1],f0=j1&&j1.name;typeof f0=="string"&&YC(C,j1,f0)}},oe=function(C,W,s1){if(!s1)try{s1=W.getAttributeNode(C)}catch{s1=null}Fi(t.removed,{attribute:s1||null,from:W});try{s1?v(W,s1):W.removeAttribute(C)}catch{try{W.removeAttribute(C)}catch{}}if(C==="is")if(H3||a6)try{H8(W)}catch{}else try{W.setAttribute(C,"")}catch{}},W31=function(C){let W=w(C);if(W)for(let s1=W.length-1;s1>=0;--s1){let m1=W[s1],j1=m1&&m1.name;typeof j1!="string"||c0[O2(j1)]||YC(C,m1,j1)}},wl=function(C){let W=[C];for(;W.length>0;){let s1=W.pop();F(s1)===h5.element&&W31(s1);let m1=f(s1);if(m1)for(let j1=m1.length-1;j1>=0;--j1)W.push(m1[j1])}},XC=function(C,W){return L1?C==="patchsrc"?!0:C==="for"&&W!=="label"&&W!=="output":!1},U31=function(C){if(!L1)return;let W=[C];for(;W.length>0;){let s1=W.pop(),m1=F(s1);if(m1===h5.processingInstruction||m1===h5.comment&&X3(hZ,s1.data)){try{u(s1)}catch{}continue}if(m1===h5.element){let f0=s1,M0=O2(M(s1));try{f0.hasAttribute&&f0.hasAttribute("patchsrc")&&f0.removeAttribute("patchsrc"),f0.hasAttribute&&f0.hasAttribute("for")&&XC("for",M0)&&f0.removeAttribute("for")}catch{}}let j1=f(s1);if(j1)for(let f0=j1.length-1;f0>=0;--f0)W.push(j1[f0])}},JC=function(C){let W=null,s1=null;if(c2)C="<remove></remove>"+C;else{let f0=eZ(C,/^[\r\n\t ]+/);s1=f0&&f0[0]}o6==="application/xhtml+xml"&&J2===t0&&(C='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+C+"</body></html>");let m1=z?_(C):C;if(J2===t0)try{W=new c().parseFromString(m1,o6)}catch{}if(!W||!W.documentElement){W=G.createDocument(J2,"template",null);try{W.documentElement.innerHTML=G3?E:m1}catch{}}let j1=W.body||W.documentElement;return C&&s1&&j1.insertBefore(a.createTextNode(s1),j1.childNodes[0]||null),J2===t0?d1.call(W,T1?"html":"body")[0]:T1?W.documentElement:j1},QC=function(C){let W=T?T(C):C.ownerDocument;return $.call(W||C,C,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},yl=function(C){return C=Ni(C,K," "),C=Ni(C,j," "),C=Ni(C,p1," "),C},Yg=function(C){var W;C.normalize();let s1=T?T(C):C.ownerDocument,m1=$.call(s1||C,C,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),j1=m1.nextNode();for(;j1;)j1.data=yl(j1.data),j1=m1.nextNode();let f0=(W=C.querySelectorAll)===null||W===void 0?void 0:W.call(C,"template");f0&&qe(f0,M0=>{_t(M0.content)&&Yg(M0.content)})},zl=function(C){let W=A?A(C):null;return typeof W!="string"||O2(W)!=="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!==k(C)||C.childNodes!==f(C)},_t=function(C){if(!k||typeof C!="object"||C===null)return!1;try{return k(C)===h5.documentFragment}catch{return!1}},nr=function(C){if(!k||typeof C!="object"||C===null)return!1;try{return typeof k(C)=="number"}catch{return!1}};function P6(n1,C,W){n1.length!==0&&qe(n1,s1=>{s1.call(t,C,W,Rt)})}let q31=function(C,W){return!!(L1&&C.hasChildNodes()&&!nr(C.firstElementChild)&&X3(cZ,C.textContent)&&X3(cZ,C.innerHTML)||L1&&C.namespaceURI===t0&&zl1[W]&&(nr(C.firstElementChild)||typeof C.textContent=="string"&&X3(kl1[W],C.textContent))||C.nodeType===h5.processingInstruction||L1&&C.nodeType===h5.comment&&X3(hZ,C.data))},kl=function(C,W){if(C instanceof RegExp)return X3(C,W);if(C instanceof Function){for(var s1=arguments.length,m1=new Array(s1>2?s1-2:0),j1=2;j1<s1;j1++)m1[j1-2]=arguments[j1];return!!C(W,...m1)}return!1},$31=function(C,W,s1){if(!x1[W]&&sM(W)&&kl(R0.tagNameCheck,W))return!1;if(H7&&!A2[W]){let m1=b(C),j1=f(C);if(j1&&m1){let f0=j1.length;for(let M0=f0-1;M0>=0;--M0){let E2=C===s1?m(j1[M0],!0):j1[M0];m1.insertBefore(E2,g(C))}}}return H8(C),!0},eM=function(C,W,s1,m1){return C.length===0?W:W===s1||W===m1?p5(W):W},It=function(C,W){return C===W||b(C)!==null?!1:(P7&&wl(C),!0)},tM=function(C,W){if(P6(O.beforeSanitizeElements,C,null),It(C,W))return!0;if(zl(C))return H8(C),!0;let s1=O2(M(C));if(k1=eM(O.uponSanitizeElement,k1,L2,I2),P6(O.uponSanitizeElement,C,{tagName:s1,allowedTags:k1}),It(C,W))return!0;if(q31(C,s1))return H8(C),!0;if(x1[s1]||!(N1.tagCheck instanceof Function&&N1.tagCheck(s1))&&!k1[s1]){let m1=$31(C,s1,W);return m1===!1&&(P6(O.afterSanitizeElements,C,null),It(C,W))?!0:m1}if(F(C)===h5.element&&!G31(C)||(s1==="noscript"||s1==="noembed"||s1==="noframes")&&X3(wl1,C.innerHTML))return H8(C),!0;if(z1&&C.nodeType===h5.text){let m1=yl(C.textContent);C.textContent!==m1&&(Fi(t.removed,{element:C.cloneNode()}),C.textContent=m1)}return P6(O.afterSanitizeElements,C,null),It(C,W)},aM=function(C,W,s1){if(Z1[W]||XC(W,C)||E8&&(W==="id"||W==="name")&&(s1 in a||s1 in O31))return!1;let m1=c0[W]||N1.attributeCheck instanceof Function&&N1.attributeCheck(W,C);return c1&&X3(r0,W)||_0&&X3(k0,W)?!0:m1?s6[W]||X3(F1,Ni(s1,a1,""))||(W==="src"||W==="xlink:href"||W==="href")&&C!=="script"&&tZ(s1,"data:")===0&&C5[C]||i0&&!X3(g0,Ni(s1,a1,""))?!0:!s1:sM(C)&&kl(R0.tagNameCheck,C)&&kl(R0.attributeNameCheck,W,C)||W==="is"&&R0.allowCustomizedBuiltInElements&&kl(R0.tagNameCheck,s1)},j31=F0({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),sM=function(C){return!j31[_i(C)]&&X3(A1,C)},K31=function(C,W,s1,m1){if(z&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!s1)switch(h.getAttributeType(C,W)){case"TrustedHTML":return _(m1);case"TrustedScriptURL":return B(m1)}return m1},Y31=function(C,W,s1,m1){try{return s1?C.setAttributeNS(s1,W,m1):C.setAttribute(W,m1),zl(C)?(H8(C),!1):!0}catch{return oe(W,C),!1}},oM=function(C,W){if(P6(O.beforeSanitizeAttributes,C,null),It(C,W))return;let s1=C.attributes;if(!s1||zl(C))return;c0=eM(O.uponSanitizeAttribute,c0,y2,V2);let m1={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:c0,forceKeepAttr:void 0},j1=s1.length,f0=O2(C.nodeName);for(;j1--;){let M0=s1[j1],E2=M0.name,M5=M0.namespaceURI,X4=M0.value,Vt=O2(E2),Jg=X4,i4=E2==="value"?Jg:al1(Jg),rM=!1;if(m1.attrName=Vt,m1.attrValue=i4,m1.keepAttr=!0,m1.forceKeepAttr=void 0,P6(O.uponSanitizeAttribute,C,m1),i4=m1.attrValue,E7&&(Vt==="id"||Vt==="name")&&tZ(i4,p3)!==0&&(oe(E2,C,M0),i4=p3+i4,rM=!0),L1&&X3(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,i4)){oe(E2,C,M0);continue}if(Vt==="attributename"&&eZ(i4,"href")){oe(E2,C,M0);continue}if(!m1.forceKeepAttr){if(!m1.keepAttr){oe(E2,C,M0);continue}if(!v1&&X3(yl1,i4)){oe(E2,C,M0);continue}if(z1&&(i4=yl(i4)),!aM(f0,Vt,i4)){oe(E2,C,M0);continue}i4=K31(f0,Vt,M5,i4),i4!==Jg&&Y31(C,E2,M5,i4)&&rM&&QD(t.removed)}}P6(O.afterSanitizeAttributes,C,null),It(C,W)},Sl=function(C){let W=null,s1=QC(C);for(P6(O.beforeSanitizeShadowDOM,C,null);W=s1.nextNode();)if(P6(O.uponSanitizeShadowNode,W,null),tM(W,C),oM(W,C),_t(W.content)&&Sl(W.content),F(W)===h5.element){let m1=x(W);_t(m1)&&(Xg(m1),Sl(m1))}P6(O.afterSanitizeShadowDOM,C,null)},Xg=function(C){let W=[{node:C,shadow:null}];for(;W.length>0;){let s1=W.pop();if(s1.shadow){Sl(s1.shadow);continue}let m1=s1.node,j1=F(m1)===h5.element,f0=f(m1);if(f0)for(let M0=f0.length-1;M0>=0;--M0)W.push({node:f0[M0],shadow:null});if(j1){let M0=A?A(m1):null;if(typeof M0=="string"&&O2(M0)==="template"){let E2=m1.content;_t(E2)&&W.push({node:E2,shadow:null})}}if(j1){let M0=x(m1);_t(M0)&&W.push({node:null,shadow:M0},{node:M0,shadow:null})}}};return t.sanitize=function(n1){let C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},W=null,s1=null,m1=null,j1=null;if(G3=!n1,G3&&(n1="<!-->"),typeof n1!="string"&&!nr(n1)&&(n1=nl1(n1),typeof n1!="string"))throw w9("dirty is not a string, aborting");if(!t.isSupported)return n1;$0?(k1=I2,c0=V2):Kg(C),(O.uponSanitizeElement.length>0||O.uponSanitizeAttribute.length>0)&&(k1=p5(k1)),O.uponSanitizeAttribute.length>0&&(c0=p5(c0)),t.removed=[];let f0=P7&&typeof n1!="string"&&nr(n1);if(f0){U31(n1);let M5=M(n1);if(typeof M5=="string"){let X4=O2(M5);if(!k1[X4]||x1[X4])throw xl(n1),w9("root node is forbidden and cannot be sanitized in-place")}if(zl(n1))throw xl(n1),w9("root node is clobbered and cannot be sanitized in-place");try{Xg(n1)}catch(X4){throw xl(n1),X4}}else if(nr(n1))W=JC("<!---->"),s1=W.ownerDocument.importNode(n1,!0),s1.nodeType===h5.element&&s1.nodeName==="BODY"||s1.nodeName==="HTML"?W=s1:W.appendChild(s1),Xg(W);else{if(!H3&&!z1&&!T1&&n1.indexOf("<")===-1)return z&&f2?_(n1):n1;if(W=JC(n1),!W)return H3?null:f2?E:""}W&&c2&&H8(W.firstChild);let M0=f0?n1:W;try{let M5=QC(M0);for(;m1=M5.nextNode();)tM(m1,M0),oM(m1,M0),_t(m1.content)&&Sl(m1.content)}catch(M5){throw f0&&(xl(n1),qe(t.removed,X4=>{X4.element&&wl(X4.element)})),M5}if(f0){let M5=!1;if(qe(t.removed,X4=>{X4.element&&(X4.element===n1&&(M5=!0),wl(X4.element))}),M5)throw w9("a node selected for removal could not be safely returned; refusing to sanitize in place");return z1&&Yg(n1),n1}if(H3){if(z1&&Yg(W),a6)for(j1=t1.call(W.ownerDocument);W.firstChild;)j1.appendChild(W.firstChild);else j1=W;return(c0.shadowroot||c0.shadowrootmode)&&(j1=r1.call(s,j1,!0)),j1}let E2=T1?W.outerHTML:W.innerHTML;return T1&&k1["!doctype"]&&W.ownerDocument&&W.ownerDocument.doctype&&W.ownerDocument.doctype.name&&X3(bl1,W.ownerDocument.doctype.name)&&(E2="<!DOCTYPE "+W.ownerDocument.doctype.name+`>
|
|
3
|
-
`+E2),z1&&(E2=yl(E2)),z&&f2?_(E2):E2},t.setConfig=function(){let n1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Kg(n1),$0=!0,I2=k1,V2=c0},t.clearConfig=function(){Rt=null,$0=!1,I2=null,V2=null,z=N,E=""},t.isValidAttribute=function(n1,C,W){Rt||Kg({});let s1=O2(n1),m1=O2(C);return aM(s1,m1,W)},t.addHook=function(n1,C){typeof C=="function"&&O4(O,n1)&&Fi(O[n1],C)},t.removeHook=function(n1,C){if(O4(O,n1)){if(C!==void 0){let W=el1(O[n1],C);return W===-1?void 0:tl1(O[n1],W,1)[0]}return QD(O[n1])}},t.removeHooks=function(n1){O4(O,n1)&&(O[n1]=[])},t.removeAllHooks=function(){O=pZ()},t}var Ml1=gZ();vZ.exports=Ml1});import{useEffect as YL1,useMemo as XL1,useState as N31}from"react";import{useEaselStrings as JL1}from"efficient-easel/strings";import{jsx as P4,jsxs as q51}from"react/jsx-runtime";import{useCallback as k2,useEffect as Me,useMemo as rF,useRef as Fa,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 kH={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(lr,e),draw(e,t){e.label=lr[t]}};import{jsx as Q31}from"react/jsx-runtime";var SH={name:"sectionGroupAllow",applies:e=>Rl.includes(e),panel(e,t,a,s){let o=e.fields?.sections;o&&(o.allow=[...s.sectionGroupAllow])}},nf=new Set(Object.keys(Y1)),CH={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=>!nf.has(l)):o;i.disallow=Array.from(new Set([...i.disallow??[],...n]))}}};var e41=Array.from(new Set([...cM.map(e=>e.type),...nf,...Cl,"GalleryItem"])),t41={not:{context:"parentOffersPositions",is:!1}},MH={name:"cellWidth",applies:(e,t,a)=>e41.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.cellWidthFields;e.fields={...e.fields,...s()},e.fields=r6(e.fields??{},Object.keys(s()),t41)},draw(e){let t=e.render;e.render=a=>{let s=OM(a.gridSpan),o=t(a);return s==null?o:Q31("div",{className:"sf-grid-cell",[BM]:String(s),children:o})}}};import{jsx as _H}from"react/jsx-runtime";import{Fragment as LH,jsx as Lr,jsxs as a41}from"react/jsx-runtime";import{createContext as lf,useContext as Ar,useId as s41,useMemo as o41}from"react";var wh=lf(null),AH=lf(null),TH=lf(null);function EH({needles:e,styles:t,type:a,children:s}){let o=s41(),r=JSON.stringify([o,e,t,a]),i=o41(()=>pL(e,t,o,n=>Gl(a,n),n=>Zl(a,n)),[r]);return i?a41(LH,{children:[Lr("style",{href:`${r41}${o}-${i41(mv(i))}`,precedence:HH,dangerouslySetInnerHTML:{__html:mv(i).replace(/</g,"\\3c ")}}),Lr(wh.Provider,{value:i,children:s})]}):Lr(LH,{children:s})}var HH="sf-part-styles",r41=`${HH}-`;function i41(e){let t=2166136261;for(let a=0;a<e.length;a+=1)t^=e.charCodeAt(a),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function PH(e){let t=Ar(wh),a=Ar(AH),s=mL(t,e);return s&&s.stamp!==a?s:null}function FH(e){return pv(Ar(wh),e)}function NH({stamp:e,children:t}){return Lr(AH.Provider,{value:e,children:t})}function yh({children:e}){let t=Ar(wh);return Lr(TH.Provider,{value:t,children:e})}function RH(e){return pv(Ar(TH),e)}var IH={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=Gt(n);return n.puck?.isEditing&&i?_H(i,{needles:nv(o(),n),styles:l,type:t,children:r(n)}):Object.keys(l).length?_H(EH,{needles:nv(o(),n),styles:l,type:t,children:r(n)}):r(n)}}};import{jsx as VH}from"react/jsx-runtime";var OH={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=Kl(a.sectionCorners,a.sectionCornerSides),o=t(a),r=tc(a)?`sf-section-corners ${IL}`:"sf-section-corners";return s?VH("div",{className:r,style:{display:"contents",...s},children:o}):o}}},cf=["CollectionCard"],BH={name:"cardCorners",applies:(e,t,a)=>cf.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=VL(a.cardCorners,a.cardCornerSides),o=t(a);return s?VH("div",{className:"sf-card-corners",style:{display:"contents",...s},children:o}):o}}};var DH={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 ZH={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 GH={name:"hiddenNodes",applies:(e,t,a)=>typeof a?.render=="function",draw(e){let t=e.render;e.render=a=>a._hidden?null:t(a)}};var WH=jt.mediaFields,n41=e=>sc(e)?e.src:e;function l41(e,t){let a=t;for(let s of WH[e]??[])a=oc(a,s,n41);return a}var UH={name:"mediaValues",applies:(e,t,a)=>typeof a?.render=="function"&&(WH[e]?.length??0)>0,draw(e,t){let a=e.render;e.render=s=>a(l41(t,s))}};import{jsx as qH,Fragment as c41,jsxs as h41}from"react/jsx-runtime";function p41({anchor:e}){let t=kv(typeof e=="string"?e:"");return t?qH("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var $H={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=>h41(c41,{children:[qH(p41,{anchor:a.anchor}),t(a)]})}};import{jsx as u41}from"react/jsx-runtime";import{jsx as m41}from"react/jsx-runtime";import{useEffect as d41,useRef as jH}from"react";function KH({motion:e,editing:t,children:a}){let s=jH(null),o=jH(e);return d41(()=>{let r=s.current;if(r){if(t){if(o.current===e)return;o.current=e,aA(r);return}return tA(r)}},[e,t]),m41("div",{ref:s,[eA]:e,children:a})}var YH={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!sA.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=QL(s.sectionAnimation);return o?u41(KH,{motion:o,editing:!!s.puck?.isEditing,children:a(s)}):a(s)}}};import{jsx as g41}from"react/jsx-runtime";var v41=[[["sectionHeightValue"],d3("sectionHeightMode",mr,"auto",["fixed","screen"])],[["sectionHeightUnit"],d3("sectionHeightMode",mr,"auto",["fixed"])],[["sectionHeightValuePhone"],d3("sectionHeightModePhone",mr,"auto",["fixed","screen"])],[["sectionHeightUnitPhone"],d3("sectionHeightModePhone",mr,"auto",["fixed"])]],QH={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!rA.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.heightFields;e.fields={...e.fields,...H1(s(),v41)};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=r?.props??{},c=oA(l),h=iA(l)?nA(l):null;return n&&typeof n.then=="function"?n.then(p=>JH(XH(p,c),h)):JH(XH(n,c),h)}},draw(e){let t=e.render;e.render=a=>{let s=lA(a);return s?g41("div",{className:s.className,style:s.style,children:t(a)}):t(a)}}};function XH(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 JH(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 f41}from"react/jsx-runtime";var eP=aP("sectionSticky",(e,t,a)=>t.isSection(e)&&!cA.has(e)&&!!a&&typeof a.render=="function"),tP=aP("cardSticky",(e,t,a)=>cf.includes(e)&&!!a&&typeof a.render=="function");function aP(e,t){return{name:e,applies:t,panel(a,s,o){a.fields={...a.fields,...H1(o.stickFields(),b41)}},draw(a){let s=a.render;a.render=o=>{let r=hA(o);return r?f41("div",{className:r.className,style:r.style,children:s(o)}):s(o)}}}}var b41=[[["stickTopDistance"],{field:"stickTop",is:!0}],[["stickTopDistancePhone"],{field:"stickTopPhone",is:!0}]];import{jsx as S41}from"react/jsx-runtime";import{jsx as w41}from"react/jsx-runtime";var zh="sf-card",s3={min:0,max:100,step:5,fallback:0,unit:"%"},U8=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],x41="68%",H4={desktop:20,phone:20,side:40,sidePhone:24},sP="sf-box-sides";function ye(e){return typeof e=="string"&&e.trim()!==""}function kh(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(s3.max,Math.max(s3.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) ${x41})`}}function Sh(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 Ch={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}},oP=new Set(Object.keys(Ch)),Mh=new Set(["Flex","Text","Heading"]),y41=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),rP=new Set(["ProductGrid"]);function hf(e,t,a=!1){let s=e.render;e.render=o=>{if(t?.(o))return s(o);let r=a?le(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone,o.sectionPaddingLeft,o.sectionPaddingRight,o.sectionPaddingLeftPhone,o.sectionPaddingRightPhone):le(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone),i=s(o);return r?w41("div",{className:r.className,style:r.style,children:i}):i}}var iP={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!y41.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){oP.has(t)||rP.has(t)||(e.fields={...e.fields,...a.sidesPaddingFields()})},draw(e,t){if(oP.has(t)){let a=e.render,s=Ch[t];e.render=o=>{let r=mA(o,s);return a({...o,padTop:r.top,padBottom:r.bottom})};return}if(rP.has(t)){hf(e);return}Mh.has(t)||hf(e,t==="Flex"?a=>ye(a.bgImage):void 0,!0)}},z41=["Heading","Text"],k41=["LogoBlock"],nP={name:"blockPadding",applies:(e,t,a)=>(z41.includes(e)||k41.includes(e))&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.sidesPaddingFields()}},draw(e,t){Mh.has(t)||hf(e,void 0,!0)}};var lP={name:"sectionBorder",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",draw(e,t){if(Mh.has(t))return;let a=e.render;e.render=s=>{let o=cc(s.sectionBorder,s.sectionBorderPhone),r=a(s);return o?S41("div",{className:lc,style:{display:"contents",...o},children:r}):r}}};import{jsx as C41}from"react/jsx-runtime";var cP={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!XL.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:s,SECTION_THEME_FOLLOW_LABEL:o}=a,r=Cv.has(t);e.fields={...e.fields,...r?s(I6,o):s()}},draw(e,t){let a=Cv.has(t),s=e.render;e.render=o=>{let r=Yt(a?{...o,sectionAccent:I6(o.sectionAccent)}:o),i=s(o);return r?C41("div",{className:r.className,style:r.style,children:i}):i}}},hP={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(I6,o)})}};import{jsx as r5}from"react/jsx-runtime";var ze={min:40,max:2e3,step:10,fallback:2e3,unit:"px"};function pP(e){return typeof e!="number"?null:{width:`${e}${ze.unit}`,maxWidth:"100%"}}var M41=new Set(["Flex","Grid"]);function pf(e,t){return e&&!t}var L41=e=>Array.isArray(e)&&e.length>0&&typeof e[0]=="object"&&e[0]!==null&&"type"in e[0];function mP(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=M41.has(n)&&pf(ac(n,i).content!=="full",o);for(let c of Object.values(i)){if(!L41(c))continue;let h=a(c,o||l);if(h!==void 0)return h}}};return a(e,!1)}import{jsx as ke}from"react/jsx-runtime";import{createContext as gP,useContext as dP}from"react";var uP=gP(!1),mf=gP(!1);function vP({children:e}){return ke(mf.Provider,{value:!0,children:e})}function Ea({contained:e,framedClass:t,fillClass:a,columnClass:s,style:o,tabLabel:r,pad:i,border:n,children:l}){let c=dP(uP),h=dP(mf),p=pf(e,c),m=p&&!h,u=i&&!m?uA(i.values,i.frame):null,v=n&&!m?n:null,g=[m?t:a,u?.className,v?pA:null].filter(Boolean).join(" "),f=u||v?{...o,...u?.style,...v}:o,b=p?ke(uP.Provider,{value:!0,children:l}):l,x=ke("div",{className:g,style:f,"data-tab-label":r,children:h?ke(mf.Provider,{value:!1,children:p?ke("div",{className:s,children:b}):b}):b}),w=i&&m?dA(i.values):null,k=w?ke("div",{className:w.className,style:w.style,children:x}):x;return n&&m?ke("div",{className:lc,style:{display:"contents",...n},children:k}):k}import{jsx as A41}from"react/jsx-runtime";var Se="mx-auto w-full max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)]",Ce="max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",Ha=`${Se} ${Ce}`,T41="mx-auto w-full max-w-[1280px] px-[60px]",E41="max-[960px]:px-6",TT1=`${T41} ${E41}`;function i2({contained:e,className:t="",style:a,pad:s,children:o}){return A41(Ea,{contained:e,framedClass:`${Ha} ${t}`,fillClass:`w-full ${t}`,columnClass:Ha,style:a,pad:s,children:o})}function fP(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 Lh(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 H41=new Set(["ProductGrid","RelatedProducts","DeliveryOptions","CheckoutCTA","Ticker","CategoryBar","DocTabs","CustomHTML","Spacer"]),P41=new Set(["ProductHero"]),F41=new Set(["Collections","CatalogFilterBar","AlloyWheelsListing","DeliveryOptions","CheckoutCTA","ProductHero","ProductGrid","DetailRows","FitmentTable","TyreSizes","TyreFitment","EuTyreLabel","BundleOffer","CompatibleTyres","RelatedProducts","FitmentFinder","SpecTable","Subscribe","SubscribeBlogs","ContactRouting","SubmitBuild"]);function Ah(e,t){return jL(e)?!F41.has(e)||t?.widthRows==="two":!1}var Pr="--sf-sw-site",N41="--sf-sw-content",R41="--sf-bg-cap",_41="contents [--sf-site-width:var(--sf-sw-content)] max-[800px]:[--sf-site-width:var(--sf-sw-site)]";function Tr(e,t){let a=t==="content";return e.content==="full"?a?null:"100vw":e.content==="content"&&e.contentMax!==null?a?`min(${e.contentMax}px,var(${Pr}))`:`${e.contentMax}px`:null}function Er(e,t){return t===null?e:r5("div",{className:"contents",style:{[Pr]:l4},children:r5("div",{className:_41,style:{[N41]:t},children:e})})}var I41="--sf-content-cap",V41="contents max-[800px]:[--sf-content-cap:none]";function O41(e,t){if((e.content??"content")==="full")return null;let a=t==="content";return e.contentMax!==null?a?`min(${e.contentMax}px,var(${Pr}))`:`${e.contentMax}px`:a?null:`var(${Pr})`}function B41(e,t){return t===null?e:r5("div",{className:"contents",style:{[Pr]:l4},children:r5("div",{className:V41,style:{[I41]:t},children:e})})}var Hr=(e,t)=>e==="content"?r5("div",{style:ie(l4),children:t}):t;function D41(e,t){let a=wv[t],s=e.render;e.render=o=>{let r=KL(o),i=ac(t,o),n={...i,content:i.content??r.content};if(a==="hero"){let h=n.background??r.background,p=Er(s(o),Tr(n,h));return h==="full"?r5("div",{style:{[UL]:"none",[Yl]:"initial",[Xl]:"initial"},children:p}):h==="content"?r5("div",{style:Jl(!0),children:p}):p}let l=n.background??r.background??"full";if(a==="scrollOver"){let h=(n.content??"content")==="full",p=Er(s({...o,fullWidth:h}),h?null:Tr(n,l));return l==="content"?r5("div",{className:"contents",style:{[R41]:l4},children:p}):p}let c=n.content??"content";switch(a){case"both":return Hr(l,B41(s(o),O41(n,l)));case"contained":{if(c==="full")return Hr(l,s({...o,contained:!1}));let h=Tr(n,l);if(l==="content"&&h===null)return s({...o,contained:!0});let p=r5(vP,{children:s({...o,contained:!0})});return Hr(l,Er(p,h))}case"contentColumn":case"contentFull":case"productGrid":{let h={...o,widthMode:c==="full"?"full":"page",fullWidth:void 0,pageWidth:void 0,contained:void 0},p=Er(s(h),c==="full"?null:Tr(n,l));return a==="productGrid"?l==="content"?r5("div",{className:Ha,children:p}):p:Hr(l,p)}default:return Hr(l,Er(s(o),Tr(n,l)))}}}var bP={name:"sectionWidth",applies:(e,t,a)=>(t.isSection(e)&&!H41.has(e)||Ah(e,a))&&!!a&&typeof a.render=="function",panel(e,t,a){if(Ah(t,e)){let r=a.sectionWidthFields(t),i={...e.fields,...r};e.fields=wv[t]==="contained"?yP(t,e,i,Object.keys(r)):i;return}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=i6(r?.props??{},"full");return n&&typeof n.then=="function"?n.then(c=>df(c,l)):df(n,l)}},draw(e,t){if(Ah(t,e)){D41(e,t);return}let a=P41.has(t),s=e.render;e.render=o=>{let{mode:r}=i6(o,"full"),i=s(o);if(r==="full")return i;let n=ie(l4);return a?r5("div",{style:{"--sf-page-cap":l4},children:i}):r5("div",{style:n,children:i})}}};function df(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 Z41=new Set(["Heading","Text","ImageBlock","ButtonBlock","Banner","Stats","Logos","Divider","Flex","Grid","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA"]),xP={name:"containedWidth",applies:(e,t,a)=>Z41.has(e)&&!Ah(e,a)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.widthField;e.fields=yP(t,e,{...e.fields,...s("page")});let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=i6(r?.props??{},"page"),c=h=>df(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}=i6(a,"page");return t({...a,contained:s!=="full"})}}},G41={not:{context:"inHeroGroupRow",is:!0}},wP={name:"buttonAlignInRow",applies:e=>e==="ButtonBlock",panel(e){let t=e;t.fields=r6(t.fields??{},["align"],G41),Nl(t,{inHeroGroupRow:(a,s)=>{let o=Lh(s.appState,a.props?.id);return!!o&&o.type==="HeroGroup"&&pc("HeroGroup",o.props?.direction)==="row"}})}};function W41(e){return Object.values(e).some(t=>!!t&&typeof t=="object"&&t.type==="slot")}var U41={any:[]},q41={not:{context:"insideSiteGutter",is:!0}},$41={not:{context:"widthCappedByParent",is:!0}};function yP(e,t,a,s=["widthMode","pageWidth"]){return e==="ButtonBlock"?r6(a,["_gWidth",...s],U41):W41(a)?(Nl(t,{insideSiteGutter:(o,r)=>mP(r.appState?.data?.content,o.props?.id)}),r6(a,s,q41)):(Nl(t,{widthCappedByParent:(o,r)=>"parent"in r?UM(r.parent):fP({props:o.props??{}},r)}),r6(a,s,$41))}var zP={name:"imageWidth",applies:e=>e==="ImageBlock",panel(e,t,a){let{slider:s,WidthIcon:o}=a;if(e?.fields){let r=s("Image width",r5(o,{}),ze.min,ze.max,ze.step,ze.fallback,ze.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 j41=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","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"]),kP={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(j41.has(e)||t.isHostBlock(e)),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}},K41=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","AccountBlock","LegalLineBlock"]),SP={name:"blockGroups",applies:e=>K41.has(e),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}};var Y41=["Form","Stats"];function Fr(e,t){let a=new Set(e),s=nM.filter(l=>a.has(l)),o=s.filter(l=>l!=="Header"&&l!=="Footer"&&!Rl.includes(l)),r=new Set([...t,...Cl,...Y41]),i=s.filter(l=>!r.has(l)),n=new Set(s);return{isSection:l=>n.has(l),isHostBlock:()=>!1,sectionGroupAllow:o,contentSectionKeys:i}}var X41=[UH,SH,CH,iP,OH,lP,BH,nP,MH,bP,xP,wP,zP,QH,$H,cP,YH,eP,tP,hP,kP,SP,ZH,DH,IH,GH,kH];function Th(e,t,a){let s=t;for(let o of X41)o.applies(e,a,s)&&(a.inspector&&o.panel?.(s,e,a.inspector,a),o.draw?.(s,e,a));return t}import{WidthIcon as d51}from"efficient-easel/icons";import{jsx as Q41}from"react/jsx-runtime";import{useEffect as e51,useRef as t51}from"react";var CP="data-puck-overlay-portal";function A5(e){return e.setAttribute(CP,"true"),()=>e.removeAttribute(CP)}import{usePreviewParts as a51}from"efficient-easel/draw/client";import{usePreviewDevice as s51}from"efficient-easel/draw/client";import{encodePartId as o51}from"efficient-easel/draw";var Nr="data-puck-component";function gf(e,t){return e.closest(`[${Nr}]`)?.getAttribute(Nr)===t}function MP(e,t,a){let s=e.querySelectorAll("*"),o=[],r=new Set;for(let b=0;b<s.length;b+=1){let x=s[b];if(!gf(x,t))continue;let w=x.getAttribute(F8);w&&(o.push({element:x,partId:P8(t,w)}),r.add(x))}let i=[],n=new Set;for(let b=0;b<s.length;b+=1){let x=s[b];if(!gf(x,t)||r.has(x))continue;let w=sL(x.textContent??"");if(!w)continue;let k=x.closest(`[${rv}]`)?.getAttribute(rv)||null;k&&n.add(k.replace(/\[\d+\]$/u,"")),i.push({element:x,text:w,row:k})}let l=b=>i.filter(x=>x.row===aL(b.key,b.row.index)),c=i.filter(b=>b.row===null),h=b=>b.row&&n.has(b.key)?l(b):n.size?c:i,p=new Map,m=[],u=b=>b.row?`${b.key}.${b.row.rowKey}`:null,v=new Map;for(let b of a){let x=u(b);if(!x||n.has(b.key))continue;let w=v.get(x);w?w.push(b):v.set(x,[b])}let g=new Set;for(let[b,x]of v){if(x.length<2)continue;let w=x.flatMap(T=>T.texts);if(new Set(w).size===w.length)continue;let k=h(x[0]).filter(T=>w.includes(T.text));if(k.length!==x.length)continue;let A=[...x].sort((T,F)=>(T.row?.index??0)-(F.row?.index??0));for(let T=0;T<A.length;T+=1){let F=A[T],M=k[T].element,z={key:F.key,partKey:sv(F.key,F.row),exact:!0},E=p.get(M);E?E.push(z):(p.set(M,[z]),m.push(M))}g.add(b)}for(let b of a){if(g.has(u(b)??""))continue;let x=sv(b.key,b.row);for(let w of b.texts){let k=[],A=null;for(let M of h(b))M.text===w?k.push(M.element):!k.length&&M.text.includes(w)&&(!A||M.text.length<=A.length)&&(A={element:M.element,length:M.text.length});let T=k.length?k:A?[A.element]:[],F=T.filter(M=>!T.some(z=>z!==M&&M.contains(z)));for(let M of F){let z={key:b.key,partKey:x,exact:k.length>0},E=p.get(M);E?E.push(z):(p.set(M,[z]),m.push(M))}}}let f=[...o];for(let b of m){let x=p.get(b)??[],w=x.some(k=>k.exact)?x.filter(k=>k.exact):x;if(new Set(w.map(k=>k.partKey)).size===1){f.push({element:b,partId:P8(t,w[0].partKey)});continue}new Set(w.map(k=>k.key)).size===1&&f.push({element:b,partId:P8(t,w[0].key)})}return f}function uf(e,t,a){let s=e.querySelectorAll(`[${F7}]`);for(let r=0;r<s.length;r+=1){let i=s[r];gf(i,t)&&i.removeAttribute(F7)}let o=[];for(let{element:r,partId:i}of a)r.setAttribute(F7,i),o.push(r);return o}function LP(e,t,a,s,o,r=()=>null){let i=null,n=null,l=null,c=()=>{let h=a(),p=h?.getAttribute(Nr)??null;if(!h||!p)return!1;i=p;let m=MP(e,p,t);return o(h,p,uf(e,p,m)),l=r(()=>{let u=MP(e,p,t);J41(m,u)||(m=u,o(h,p,uf(e,p,u)))}),!0};return c()||(n=s(()=>{(i||c())&&(n?.(),n=null)})),()=>{n?.(),n=null,l?.(),l=null,i&&uf(e,i,[])}}function J41(e,t){return e.length===t.length&&e.every((a,s)=>a.element===t[s].element&&a.partId===t[s].partId)}function AP(e,t){let a=e?.closest?.(`[${F7}],[${Zt}]`),s=a?.getAttribute(F7)??a?.getAttribute(Zt),o=s?Vl(s):null;return a&&s&&o?.nodeId===t&&o.propKey?{id:s,element:a}:null}function vf(e){let t=null,a=null;for(let s=e;s&&(t===null||a===null);s=s.parentElement){let o=s.getAttribute("class");t??=qM(o),a??=vv(o)}return{faceRole:t??"body",sizeGroup:a}}function Eh(e){let t=e.style,a={};for(let i of hv)a[i]=t[i]??"",t[i]="";let s=getComputedStyle(e),o=getComputedStyle(e.ownerDocument.documentElement),r=lL({fontSize:s.fontSize,fontWeight:s.fontWeight,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,textAlign:s.textAlign,textTransform:s.textTransform,paddingTop:s.paddingTop,maxWidth:s.maxWidth},cL(s.fontFamily,i=>o.getPropertyValue(i)));for(let i of hv)t[i]=a[i];return r}function TP({needles:e,styles:t,type:a,children:s}){let o=t51(null),{selectedPartId:r}=a51(),{setPartStyle:i}=dc(),n=s51()==="mobile",l=JSON.stringify(e),c=JSON.stringify(t);return e51(()=>{let h=o.current;if(!h)return;let p=[],m=()=>h.parentElement,u=w=>{let k=m();if(!k)return null;let A=new MutationObserver(w);return A.observe(k,{attributes:!0,attributeFilter:[Nr]}),()=>A.disconnect()},v=w=>{let k=new MutationObserver(w);return k.observe(h,{childList:!0,subtree:!0,characterData:!0}),()=>k.disconnect()},g=[];p.push(()=>{for(let w of g)w();g=[]});let f=JSON.parse(l),b=JSON.parse(c),x=LP(h,f,m,u,(w,k,A)=>{for(let z of g)z();g=[];let T=[];for(let z of A){let E=z,N=A5(E);N&&g.push(N),E.getAttribute(F7)===r?(E.setAttribute(re,""),T.push(E)):E.removeAttribute(re)}let F=hL(k,r,T,z=>$M(z)!==null||vv(z)!==null);if(F&&r){let z=F;i({partId:r,...vf(z),base:Eh(z),inks:xA(z),...(()=>{let E=iv(z);return E?{styleOwner:E}:{}})()})}cv(A.filter(z=>!iv(z)).map(z=>({element:z,partId:z.getAttribute(F7)??""})),b,z=>Eh(z),z=>Gl(a,z),void 0,n,z=>Zl(a,z));let M=[...h.querySelectorAll(`[${Ol}="${CSS.escape(k)}"][${cr}]`)];M.length&&cv(M.map(z=>({element:z,partId:o51(k,z.getAttribute(cr)??"")})),b,void 0,z=>z,void 0,n)},v);return()=>{x();for(let w of p)w()}},[l,c,r,i,n]),Q41("div",{ref:o,"data-sf-part-host":"",style:{display:"contents"},children:s})}import{deviceMetaOf as HP}from"efficient-easel/screen/lib/puck/device-fields";import{noControlMetaOf as r51}from"efficient-easel/screen/lib/puck/panel-no-control-mark";function i51(e,t){let a=HP(t),s=a?a.inner:t;if(br(s))return!1;if(s?.type==="slot")return!0;let o=r51(s);return o==="always"?!1:o==="authored-copy"?tL(e):!0}function EP(e){let t=HP(e),a=t?t.inner:e,s=br(a);return s?cT(a)?0:s.level:null}function n51(e,t,a){return a?t===0&&e===wr.Design||t===1&&e===FT.Content:!1}var l51=new WeakMap,c51=new WeakMap;function Hh(e,t="section"){let a=t==="page"?c51:l51,s=a.get(e);if(s)return s;let o=Object.entries(e).map(([p,m])=>({key:p,field:m,level:EP(m),draws:i51(p,m)||t==="page"&&EP(m)===null&&lv(p,m)})),r=t==="section"&&o.some(p=>lv(p.key,p.field)),i=new Set;for(let p=0;p<o.length;p++){let m=o[p].level;if(m===null)continue;let u=0;for(let v=p+1;v<o.length;v++){let g=o[v].level;if(g!==null&&g<=m)break;o[v].draws&&(u+=1)}u===0&&!n51(o[p].key,m,r)&&i.add(o[p].key)}let n=r&&VT(e),l=n&&!(wr.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=fa(n?IT(c):c);return a.set(e,h),h}import{isShown as h51,showWhenFactReaders as p51}from"efficient-shell/format";var PP=new WeakMap,m51=new Set(Object.values(wr));function FP(e,t,a,s={}){if(!e)return e;let o=t?.props??{},r=o.id,i=p51(s,t,a),n=UT(a,{...i,parentOffersPositions:()=>{let v=Lh(a.appState,r);return v===void 0?void 0:DM(v)},heroGroupDepth:()=>Ot(a.appState?.data,typeof r=="string"?r:"")}),l=[];for(let[v,g]of Object.entries(e)){let f=ZM(g);!f||WT(f,"device")||h51(f,o,n)||l.push(v)}if(l.length===0)return e;let c=PP.get(e);c||PP.set(e,c=new Map);let h=l.join("\0"),p=c.get(h);if(p)return p;let m=new Set(l),u={};for(let[v,g]of Object.entries(e))m.has(v)||(u[v]=g);return l.some(v=>m51.has(v))&&(u=fa(u)),c.set(h,u),u}var Rr={spacingFields:ca,sidesPaddingFields:pe,sectionShapeFields:Hc,cardShapeFields:mT,cellWidthFields:fT,widthField:Rc,sectionWidthFields:HT,heightFields:wT,anchorFields:zT,stickFields:yT,sectionThemeFields:la,sectionAnimationFields:pT,slider:o1,WidthIcon:d51,assignSectionGroups:Zc,dropEmptyHeadings:Hh,rowsShownForNode:FP,SECTION_THEME_FOLLOW_LABEL:vc,BLOCK_THEME_FOLLOW_LABEL:kA,PartAnchors:TP};function Ph(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=Ph(i.arrayFields,t,a),c=Ph(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 u51(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=Th(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 Fh(e,t){let a=Object.entries(t?.host??{}),s=t?.categories??[],o=PM(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,m]of Object.entries(r)){let u=o?Ph(m?.fields,n,l):m?.fields;c[p]=u===m?.fields?m:{...m,fields:u}}if(a.length>0){let p=new Set(a.map(([g])=>g)),m=e.categories?.structure?.components??[],u=Fr(Object.keys(r),m),v={...u,isSection:g=>p.has(g)||u.isSection(g),isHostBlock:g=>p.has(g),inspector:Rr};for(let[g,f]of a){let b=u51(g,f,v),x=Ph(b.fields,n,l);c[g]=x===b.fields?b:{...b,fields:x}}}let h=[];for(let[p,m]of Object.entries(e.categories??{})){let u=m?.components??[],v=u.filter(n);v.length===u.length?h.push([p,m]):v.length>0&&h.push([p,{...m,components:v}])}for(let p of s){let m=p.components.filter(f=>f in c&&n(f));if(m.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??[],...m.filter(x=>!b.has(x))]};continue}let v=[p.key,{title:p.title,components:m}],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 $51}from"efficient-easel/screen/lib/host-chrome";import{sessionRegistry as j51}from"efficient-easel/screen/lib/session";import{useEaselSession as K51}from"efficient-easel/screen/lib/session-context";function g51(e){return!!e&&typeof e=="object"&&typeof e[XA]=="string"}function v51(e,t){if(!e)return e;let a=null;for(let[s,o]of Object.entries(e))g51(o)&&(a??={...e},a[s]={...o,siteGap:t});return a??e}function NP(e,t){let a=e,s=!1,o={};for(let[r,i]of Object.entries(a.components)){let n=v51(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 RP=jt.mediaFields,_P=jt.snapshotObjects,IP=jt.hydratedLists;function f51(e){return typeof e=="string"||sc(e)?"":Array.isArray(e)?[]:e&&typeof e=="object"?null:e}function VP(e,t){if(Array.isArray(e))return e.map(o=>VP(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 b51(e,t){let a=t;for(let o of RP[e]??[])a=oc(a,o,f51);let s=_P[e];if(s)for(let[o,r]of Object.entries(s))o in a&&(a={...a,[o]:VP(a[o],r.keep)});for(let o of IP[e]??[])Array.isArray(a[o])&&(a={...a,[o]:[]});return a}function x51(e,t){return typeof t!="function"?t:a=>t(b51(e,a))}function Nh(e,t){if(!t)return e;let a=e,s={};for(let[o,r]of Object.entries(a.components)){let i=(RP[o]?.length??0)>0||_P[o]||IP[o];s[o]=i&&r.render?{...r,render:x51(o,r.render)}:r}return{...a,components:s}}import Y51,{DocumentScreen as X51}from"efficient-easel/screen/components/ScreenMount";import{useScreenDocument as J51}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as w51}from"react/jsx-runtime";import{createContext as y51,useCallback as z51,useContext as dH1,useState as ff}from"react";var k51=y51({footerBlock:null,setFooterBlock:()=>{},headerGroup:null,setHeaderGroup:()=>{},refreshToken:0,refreshFooter:()=>{}});function OP({children:e,editFooter:t}){let[a,s]=ff(null),[o,r]=ff(null),[i,n]=ff(0),l=z51(()=>n(c=>c+1),[]);return w51(k51.Provider,{value:{footerBlock:a,setFooterBlock:s,headerGroup:o,setHeaderGroup:r,editFooter:t,refreshToken:i,refreshFooter:l},children:e})}import{useCallback as S51,useEffect as C51,useMemo as BP,useRef as DP,useState as M51}from"react";import{useEaselSession as L51}from"efficient-easel/screen/lib/session-context";import{WebsiteBackendError as A51}from"efficient-easel/screen/lib/backend-error";var T51="Could not save this link. Check your connection and try again.";function E51(e,t){if(!(e instanceof A51)||e.kind!=="invalid")return null;let a=e.fields?.[t];return typeof a=="string"&&a.trim()?a:null}function H51(e){return Object.fromEntries(me.map(t=>[t,{value:e[t]??"",error:null}]))}function ZP({token:e,siteId:t,enabled:a}){let[s,o]=M51(Zv),r=DP(null),i=DP(!1),n=L51(),l=J4(n).social,c=a&&!!e&&!!t&&!!l;C51(()=>{if(!c||!e||!t||!l)return;r.current!==t&&(r.current=t,i.current=!1,o(Zv));let m=!1;return l.get({siteId:t}).then(u=>{!m&&!i.current&&o(H51(u))}).catch(()=>{}),()=>{m=!0}},[c,e,t,l]);let h=S51(async(m,u)=>{if(!c||!e||!t||!l)return{ok:!1,error:"There is no website to save to."};try{let v=await l.update({[m]:u.trim()},{siteId:t});return i.current=!0,n6(),o(g=>({...g,[m]:{value:v[m]??"",error:null}})),{ok:!0}}catch(v){let g=E51(v,m)??T51;return o(f=>({...f,[m]:{...f[m],error:g}})),{ok:!1,error:g}}},[c,e,t,l]),p=BP(()=>Gc(Object.fromEntries(me.map(m=>[m,s[m].value]))),[s]);return BP(()=>({links:p,rows:s,canSave:c,saveLink:h}),[p,s,c,h])}import{isBackendError as Pa}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as jP}from"efficient-easel/screen/lib/session";var GP="SharedSection",P51=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,_r=e=>{let t=e?.content;return Array.isArray(t)?t:[]},Ir=e=>{let t=e?.props?.id;return typeof t=="string"?t:void 0};function WP(e){if(e?.type!==GP)return null;let t=e.props?.section;return typeof t=="string"&&P51.test(t)?t.toLowerCase():null}function UP(e){let t=[];for(let a of _r(e)){let s=WP(a),o=Ir(a);s&&o&&t.push({refId:o,section:s})}return t}function Rh(e){let t=_r(e)[0];return t&&typeof t=="object"&&Ir(t)?t:null}function F51(e,t){return{type:GP,props:{id:e,section:t}}}function qP(e,t){let a=new Map,s=new Set,o=!1,r=_r(e).map(i=>{let n=WP(i),l=Ir(i);if(!n||!l||s.has(n))return i;let c=Rh(t.get(n)),h=Ir(c??void 0);return!c||!h||a.has(h)?i:(s.add(n),a.set(h,{section:n,refId:l,reference:i}),o=!0,c)});return{working:o?{...e,content:r}:e,held:a}}function $P(e,t,a){let s=new Map,o=!1,r=_r(e).map(i=>{let n=Ir(i),l=n?t.get(n):void 0,c=l?a.get(l.section):void 0;if(!l||!c||s.has(l.section))return i;let h=_r(c).slice(1),p=Rh(c);return s.set(l.section,p===i?c:{...c,content:[i,...h]}),o=!0,l.reference??F51(l.refId,l.section)});return{page:o?{...e,content:r}:e,docs:s}}function wf(e){return!!(e?.publish&&e.liveState)}function N51(e,t){if(!wf(e))return;let{versions:a,nameVersion:s,restoreVersion:o,previewVersion:r}=e;if(!(!a||!s||!o||!r))return{list:()=>a.call(e,t),name:(i,n)=>s.call(e,i,n,t),restore:(i,n)=>o.call(e,i,n??{},t),preview:i=>r.call(e,i,t)}}function R51(e,t){return async(a,s)=>{try{await zA()}catch(o){throw new Error(d("A change waiting to go live could not be saved."),{cause:o})}return(await e.publish(t)).state==="live"?wA({state:"live",changes:[]}):n6(0),{version:s??null}}}function xf(e,t,a){let s=t?{siteId:t}:void 0;return{resolve:o=>e.load({slug:o,...s}).then(r=>(r&&qc(r.id,r.live),r)),saveLayout:(o,r,i,n)=>e.save(o,{layout:r},{version:i,clientId:n??""}).then(l=>($c(o,l.live),n6(),l)),rereadVersion:e.version?o=>e.version(o):void 0,publish:wf(a)?R51(a,s):e.publish?(o,r)=>e.publish(o,r?{version:r}:void 0).then(i=>(jc(o,i.live),i)):void 0,listPages:()=>e.list(s),createPage:e.create?o=>e.create({...o,...s}):void 0,deletePage:e.remove?(o,r)=>e.remove(o,r):void 0}}function _51(e,t,a,s,o=!1){let r=null,i=new Set,n=!1,l=new Map,c=new Map,h=new Map,p=new Map,m={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1,sections:[]},u=new Set,v=()=>{if(!r)return!1;let z=rE(r.id);return z==="changed"||z==="never"||z===void 0&&n},g=z=>{m={...m,...z,docId:r?.id??null,unpublished:v(),sections:[...h.values()]};for(let E of u)E()},f=(z,E,N)=>{E?h.set(z,{section:z,title:l.get(z)?.title??"",problem:E,holder:N}):h.delete(z)},b=z=>z&&typeof z=="object"&&!Array.isArray(z)?z:{},x=z=>i.has(z),w=()=>new Map([...l].map(([z,E])=>[z,E.layout])),k=()=>`SharedSection-${typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2)}`,A=(z,E,N,R)=>{let D=b(E);l.set(z,{layout:D,version:N,savedJson:JSON.stringify(D),title:R})},T={state:()=>m,subscribe:z=>(u.add(z),()=>{u.delete(z)})},F={sectionOf:z=>c.get(z)?.section??null,heldElsewhere:z=>{let E=c.get(z)?.section;return!!(E&&h.get(E)?.problem==="lock")},adopt:(z,E)=>{A(E.id,E.layout,E.layout_updated_at,E.title),c.set(z,{section:E.id,refId:k()}),p.set(E.id,E.used_on),g({})},place:z=>{if([...c.values()].some(R=>R.section===z.id))return null;let E=Rh(b(z.layout)),N=typeof E?.props?.id=="string"?E.props.id:null;return!E||!N||!E.type?null:(A(z.id,z.layout,z.layout_updated_at,z.title),c.set(N,{section:z.id,refId:k()}),p.set(z.id,z.used_on),E)},usedOn:z=>p.get(z)??null,learn:z=>{for(let E of z){p.set(E.id,E.used_on);let N=l.get(E.id);N&&(N.title=E.title);let R=h.get(E.id);R&&h.set(E.id,{...R,title:E.title})}g({})}},M=async(z,E)=>{for(let[N,R]of z){let D=l.get(N),V=JSON.stringify(R);if(!(!D||V===D.savedJson||h.get(N)?.problem==="lock"))try{let _=await e.save(N,{layout:R},{version:D.version,clientId:E??""});$c(N,_.live),D.layout=R,D.version=_.version,D.savedJson=V,f(N,null)}catch(_){Pa(_,"changed-elsewhere")?f(N,"conflict"):Pa(_,"lock-taken")?f(N,"lock",_.holder??void 0):f(N,"save")}}z.size&&n6(),g({})};return{resolve:async z=>{if(Uv(z===o5?null:T),Wv(z===o5?null:F),l=new Map,c=new Map,h=new Map,p=new Map,z===o5)return a.resolve(z);let E=!1,[N,R]=await Promise.all([a.resolve(z),e.load({slug:o5,...t}).catch(()=>(E=!0,null))]);if(R&&!$A(N?.layout)){qc(R.id,R.live);let X=b(R.layout);r={id:R.id,layout:X,version:R.version,savedJson:""}}else r=null;if(n=!1,!N)return g({conflict:null,saveFailed:!1,loadFailed:E}),N;let D=b(N.layout),V=UP(D),_=await Promise.all(V.map(X=>e.load({id:X.section,...t}).catch(()=>null)));V.forEach((X,G)=>{let $=_[G];$?(qc($.id,$.live),A(X.section,$.layout,$.version,"")):(l.delete(X.section),h.set(X.section,{section:X.section,title:"",problem:"load"}))});let B=qP(D,w());if(c=B.held,!r)return c.size&&i.add(N.id),g({conflict:null,saveFailed:!1,loadFailed:E}),c.size?{...N,layout:B.working}:N;let Z=iE(B.working,r.layout);return r.savedJson=JSON.stringify(Gv(Z,r.layout).chrome),i.add(N.id),g({conflict:null,saveFailed:!1,loadFailed:!1}),{...N,layout:Z}},saveLayout:async(z,E,N,R)=>{if(!x(z))return a.saveLayout(z,E,N,R);let D=r,V=D?Gv(E,D.layout):{page:E,chrome:null},_=$P(V.page,c,w()),B=await a.saveLayout(z,_.page,N,R);if(await M(_.docs,R),!D)return B;let Z=JSON.stringify(V.chrome);if(!V.chrome||Z===D.savedJson||m.lockHolder)return B;try{let X=await e.save(D.id,{layout:V.chrome},{version:D.version,clientId:R??""});$c(D.id,X.live),n6(),D.layout=V.chrome,D.version=X.version,D.savedJson=Z,n=!0,g({conflict:null,saveFailed:!1})}catch(X){Pa(X,"changed-elsewhere")?g({conflict:X.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):Pa(X,"lock-taken")?g({lockHolder:X.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):g({saveFailed:!0})}return B},publish:a.publish?async(z,E)=>{let N=await a.publish(z,E),R=r;if(R&&x(z)&&!o&&e.publish&&v()&&!m.lockHolder){let D=await e.publish(R.id,R.version?{version:R.version}:void 0);jc(R.id,D.live),D.version!==null&&(R.version=D.version),n=!1,g({})}if(x(z)&&!o&&e.publish)for(let[D,V]of l){if(h.get(D)?.problem==="lock")continue;let _=await e.publish(D,V.version?{version:V.version}:void 0);jc(D,_.live),_.version!==null&&(V.version=_.version)}return N}:void 0,lock:s?{claim:async(z,E,N)=>{let R=await s.claim(z,E,N);if(!x(z))return R;let D=r;if(D)try{await s.claim(D.id,E,!1),m.lockHolder&&g({lockHolder:null})}catch(V){Pa(V,"lock-taken")&&g({lockHolder:V.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}for(let V of l.keys())try{await s.claim(V,E,!1),h.get(V)?.problem==="lock"&&f(V,null)}catch(_){Pa(_,"lock-taken")&&f(V,"lock",_.holder??void 0)}return l.size&&g({}),R},release:async(z,E)=>{if(await s.release(z,E),!x(z))return;let N=r;N&&!m.lockHolder&&await s.release(N.id,E).catch(()=>{});for(let R of l.keys())h.get(R)?.problem!=="lock"&&await s.release(R,E).catch(()=>{})}}:void 0,pinnedChrome:T}}function Vr(e,t=J4(),a=ev(),s={}){let o=jP(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=wf(t.site)?t.site:void 0,p=xf(t.pages,e,h),m=c?_51(t.pages,r,p,t.lock,!!h):null;return{capabilities:{canPublish:!!h||!!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},...p,...YP(p.resolve),lock:t.lock,...m,site:i?()=>t.site.get(r):void 0,siteLiveState:h?()=>h.liveState(r):void 0,siteVersions:N51(h,r),updateSite:i&&n?u=>n(u,r):void 0,previewHref:t.preview?u=>t.preview.href(u):void 0}}function KP(e,t=J4(),a=ev()){let s=jP(t),o=t.templates,r=o?o.pages(e):{list:()=>Promise.reject(new Error(bf)),load:()=>Promise.reject(new Error(bf)),save:()=>Promise.reject(new Error(bf))};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},...xf(r,void 0),...YP(xf(r,void 0).resolve),publish:void 0,templateName:o?()=>o.get(e).then(i=>i.name):void 0}}function YP(e){return{resolve:t=>(Uv(null),Wv(null),e(t))}}var bf="This editor's backend has no website templates.";var I51={"Logos.logosPerRow":"columns","HeroSlide.tintOpacity":"overlay","Split.textBgTint":"overlay"};function V51(e){return Array.isArray(e)&&e.length>0&&e.every(t=>!!t&&typeof t=="object"&&typeof t.type=="string")}function yf(e){let t=e.props,a=!1;if(e.type&&t)for(let[s,o]of Object.entries(I51)){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(!V51(r))continue;let i=r.map(yf);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 _h(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(yf);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(yf);return l.some((c,h)=>c!==n[h])&&(o=!0),[i,l]}));o&&(s.zones=r,a=!0)}return a?s:e}var XP={homeSlug:Kt,entryMayBounce:e=>e.kind==="template"||e.kind==="page"&&e.slug===o5,entryBounce:(e,t)=>e.kind==="page"&&e.slug===o5?{kind:"page",slug:Kt,siteId:e.siteId}:e.kind!=="template"||new URLSearchParams(t).get("editTemplate")==="1"?null:{kind:"page",slug:Kt},onSwitch:()=>{},tellsHost:e=>e.kind==="page"&&e.slug!==o5,adapterFor:(e,t,a)=>e.kind==="template"?KP(e.id,t,Qg(a)):Vr(e.siteId,t,Qg(a),{editsPinnedInPlace:!0}),migrateRenamedProps:_h};import{PreviewPartsProvider as Q51}from"efficient-easel/draw/client";import{jsx as O51}from"react/jsx-runtime";import{useMemo as B51,useRef as D51}from"react";import{CanvasPartsContext as Z51}from"efficient-easel/easel";import{usePreviewParts as G51}from"efficient-easel/draw/client";function Ih({children:e}){let{selectedPartId:t,select:a}=G51(),s=D51(t);s.current=t;let o=B51(()=>({partAt:AP,selected:()=>s.current,select:r=>{if(r){a(r);return}let i=s.current?Vl(s.current)?.nodeId:null;i&&a(P8(i,null))}}),[a]);return O51(Z51.Provider,{value:o,children:e})}var zf=new Set,kf=new Set,Sf=new Set;function JP(e){return zf.add(e),()=>zf.delete(e)}function QP(){zf.forEach(e=>e())}function q8(e){return kf.add(e),()=>kf.delete(e)}function eF(){kf.forEach(e=>e())}function Vh(e){return Sf.add(e),()=>Sf.delete(e)}function Cf(){Sf.forEach(e=>e())}var Mf=new Map,W51=9e5,tF=0;function U51(){return tF+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(tF)}`}function aF(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function sF(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let a=U51();return new Promise(s=>{let o=setTimeout(()=>oF(a,{status:"timeout"}),t.timeoutMs??W51);Mf.set(a,r=>{clearTimeout(o),s(r)}),e.send("storefront-editor:open-form",{requestId:a,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function oF(e,t){let a=Mf.get(e);a&&(Mf.delete(e),a(t))}function Lf(e,t){oF(e,t?{status:"saved",form:t}:{status:"closed"})}function Oh(e){switch(e?.type){case"storefront-editor:category-updated":return QP(),!0;case"storefront-editor:menus-updated":return eF(),!0;case"storefront-editor:form-saved":{let t=e;return Cf(),t.requestId&&Lf(t.requestId,t.form??null),!0}case"storefront-editor:form-closed":{let t=e;return Cf(),t.requestId&&Lf(t.requestId,null),!0}default:return!1}}var e61=()=>{if(typeof window>"u")return _6;try{let e=window.localStorage.getItem(hr);return e==="light"||e==="dark"||e==="auto"?e:_6}catch{return _6}},iF=e=>{if(!(typeof window>"u"))try{window.localStorage.setItem(hr,e)}catch{}},t61=()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Wl)!==gv}catch{return!1}},a61=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(dL)}catch{}},nF=e=>{if(!(typeof window>"u"))try{e?window.localStorage.removeItem(Wl):window.localStorage.setItem(Wl,gv)}catch{}};function s61(){let{adapter:e,capabilities:t,templateId:a,ready:s,token:o,siteId:r,currentSlug:i,currentKind:n}=J51();Me(()=>(Bv(i,n),()=>Bv(null,null)),[i,n]);let l=t.placeholderFrames,[c,h]=h2(null),[p,m]=h2("");Me(()=>{let S1=e.templateName;if(!s||!a||!S1){m("");return}let T2=!1;return S1().then(Y4=>!T2&&m(Y4??"")).catch(()=>{}),()=>{T2=!0}},[s,o,a,e]);let[u,v]=h2(_6),[g,f]=h2(!1),[b,x]=h2({selected:0,themes:[]}),[w,k]=h2(jM),[A,T]=h2(wL),[F,M]=h2(null),[z,E]=h2(PL),[N,R]=h2(null),[D,V]=h2(null),[_,B]=h2(bv),[Z,X]=h2(null),[G,$]=h2(null),[t1,d1]=h2(null),[r1,O]=h2(null),K=K51(),j=rF(()=>Fh(j51(K),Ml(K)),[K]),p1=rF(()=>NP(Nh(j,l),r1),[j,l,r1]),[r0,k0]=h2(NL),[g0,a1]=h2(null),[A1,F1]=h2(null),[k1,L2]=h2(null),[c0,y2]=h2(null),[R0,x1]=h2(null),Z1=Fa(null),N1=Fa(!1);Me(()=>{v(e61()),f(t61())},[]);let _0=k2(S1=>{N1.current=!0,a61(),iF(S1),v(S1)},[]),c1=k2(S1=>{N1.current=!0,nF(S1),f(S1)},[]),i0=k2(S1=>{N1.current=!0,x(S1)},[]),v1=k2(S1=>{N1.current=!0,k(S1)},[]),z1=k2(S1=>{N1.current=!0,T(S1)},[]),L1=k2(S1=>{N1.current=!0,M(S1)},[]),T1=k2(S1=>{N1.current=!0,E(S1)},[]),$0=k2(S1=>{N1.current=!0,R(S1)},[]),I2=k2(S1=>{N1.current=!0,V(S1)},[]),V2=k2(S1=>{N1.current=!0,B(S1)},[]),c2=k2(S1=>{N1.current=!0,X(S1)},[]),H3=k2(S1=>{N1.current=!0,k0(S1)},[]),[a6,f2]=h2(null),[E8,E7]=h2(null),p3=k2(S1=>{N1.current=!0,f2(S1)},[]),H7=k2(S1=>{N1.current=!0,$(S1)},[]),P7=k2(S1=>{N1.current=!0,d1(S1)},[]),S5=k2(S1=>{N1.current=!0,O(S1)},[]),A2=k2(S1=>{N1.current=!0,a1(S1)},[]),Z3=k2(S1=>{N1.current=!0,F1(S1)},[]),C5=k2(S1=>{N1.current=!0,L2(S1)},[]),z4=k2(S1=>{N1.current=!0,y2(S1)},[]),s6=k2(S1=>{N1.current=!0,x1(S1)},[]);Me(()=>{let S1=J4(K).theme;if(!o||!t.hasSiteTheme||!S1)return;let T2=r??"";Z1.current!==T2&&(Z1.current=T2,N1.current=!1);let Y4=!1;return S1.get(r?{siteId:r}:void 0).then(Z0=>{if(Y4||N1.current)return;iF(Z0.default_mode),nF(Z0.show_theme_switch),v(Z0.default_mode),f(Z0.show_theme_switch),x({selected:Z0.selected_preset,themes:Z0.theme_presets});let o6=mE(Z0);k(o6.fonts),T(o6.sizes),M(Z0.corner_radius_px===void 0?$l[ql(Z0.corner_style)]:jl(Z0.corner_radius_px)),E(o6.compression),R(Z0.card_shadow==null?zL:SL(Z0.card_shadow)),B(Z0.card_gap==null?bv:CL(Z0.card_gap)),X(Z0.hover_effect==null?kL:ML(Z0.hover_effect)),V(LL(Z0.shadow_color)),$(BL(Z0.site_width)),d1(ZL(Z0.site_gutter)),O(JA(Z0.block_gap)),k0(o6.typography),f2(o6.textStyles),E7(QM(Z0)),a1(Z0.hero_background_follows_width===!0),F1(yv(Z0.section_background_width)),L2(yv(Z0.section_content_width)),y2(Z0.photography_grayscale===!0),x1(Z0.share_button_on_posts===!0)}).catch(()=>{}),()=>{Y4=!0}},[o,r,t.hasSiteTheme,K]);let k4=ZP({token:o,siteId:r,enabled:t.hasSiteSettings}),[r4,E1]=h2(YT),t0=Fa(null),J2=Fa(!1),G3=Fa(null),P1=Fa({}),W2=k2(async()=>{G3.current&&clearTimeout(G3.current),G3.current=null;let S1=P1.current;P1.current={};try{await J4(K).chat?.update(S1,r?{siteId:r}:void 0),n6()}catch(T2){throw P1.current={...S1,...P1.current},T2}},[K,r]);Me(()=>yA(()=>G3.current||Object.keys(P1.current).length>0?W2():void 0),[W2]);let m3=k2(S1=>{J2.current=!0,E1(T2=>({...T2,...S1})),!(!t.hasSiteSettings||!o)&&(P1.current={...P1.current,...S1},G3.current&&clearTimeout(G3.current),G3.current=setTimeout(()=>{W2().catch(()=>{})},500))},[t.hasSiteSettings,o,W2]);return Me(()=>{if(!o||!t.hasSiteSettings)return;let S1=r??"";t0.current!==S1&&(t0.current=S1,J2.current=!1);let T2=!1,Y4=J4(K).chat;if(Y4)return Y4.get(r?{siteId:r}:void 0).then(Z0=>{T2||J2.current||E1(XT(Z0))}).catch(()=>{}),()=>{T2=!0}},[o,r,t.hasSiteSettings,K]),Me(()=>{let S1=e.site;if(!s||!t.hasSiteRecord||!S1){h(null);return}let T2=!1;return S1().then(Y4=>{T2||h(qT(Y4.name))}).catch(()=>{}),()=>{T2=!0}},[s,o,t.hasSiteRecord,r,e]),P4(X51,{config:p1,parts:$E,wrap:(S1,T2)=>P4(gc,{websiteName:c,templateChrome:l,templateName:p||null,themeMode:u,onThemeModeChange:_0,themeSwitchShown:g,onThemeSwitchShownChange:c1,theme:b,onThemeChange:i0,fonts:w,onFontsChange:v1,cornerRadiusPx:F,onCornerRadiusPxChange:L1,cardShadow:N,onCardShadowChange:$0,shadowColor:D,onShadowColorChange:I2,cardGap:_,onCardGapChange:V2,hoverEffect:Z,onHoverEffectChange:c2,headingCompression:z,onHeadingCompressionChange:T1,headingTypography:r0,onHeadingTypographyChange:H3,textStyles:a6,onTextStylesChange:p3,wordStyles:E8,sizes:A,onSizesChange:z1,siteWidth:G,onSiteWidthChange:H7,siteGutter:t1,onSiteGutterChange:P7,blockGap:r1,onBlockGapChange:S5,heroBackgroundFollowsWidth:g0,onHeroBackgroundFollowsWidthChange:A2,sectionBackgroundWidth:A1,onSectionBackgroundWidthChange:Z3,sectionContentWidth:k1,onSectionContentWidthChange:C5,photographyGrayscale:c0,onPhotographyGrayscaleChange:z4,shareButtonOnPosts:R0,onShareButtonOnPostsChange:s6,themeFromDocument:!t.hasSiteTheme,children:P4(OP,{children:P4($51,{wrap:K.chrome?.wrap,surface:"page",children:P4(Kc,{children:P4(Yc,{children:P4(Q51,{children:P4(Ih,{children:P4(Xc,{children:q51(mc,{children:[P4(JT,{chat:r4,onChatChange:m3,children:P4(aE,{value:k4,children:P4(sE,{children:S1})})}),T2]})})})})})})})})})})}function lF({target:e}){return P4(Y51,{target:e,addressing:XP,onHostMessage:Oh,children:P4(s61,{})})}import{createContext as r61,useContext as i61,useMemo as n61}from"react";var o61=["vehicle","process","size","lugs","finish","price"],Bh={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};function cF(e){if(!e)return Bh;let t={...Bh};for(let a of o61){let s=e[a];if(typeof s!="string")continue;let o=s.trim();o&&(t[a]=o)}return t}import{jsx as l61}from"react/jsx-runtime";var hF=r61(Bh);function pF({labels:e,children:t}){let a=n61(()=>cF(e),[e]);return l61(hF.Provider,{value:a,children:t})}function Or(){return i61(hF)}import{createContext as _61,useContext as I61,useMemo as V61}from"react";import{isSafeLinkHref as PF1}from"efficient-shell/markup";var B7=["width","profile","rim"],mF={width:"Width",profile:"Profile",rim:"Rim"},c61=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,h61={width:[100,500],profile:[20,100],rim:[10,30]};function i5(e){let t=c61.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]=h61[o];return a[o]>=r&&a[o]<=i})?a:null}function p6(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 dF(e){return[p6({width:e.width}),p6({width:e.width,profile:e.profile}),p6(e)]}var F4=["alloy-wheel","tyre"],Dh=["alloy-wheel"],n5={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},uF="All products",gF="All product types";function D6(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 Ra=F4.map(e=>({value:e,label:n5[e]}));function m6(e){return e==null?[...Dh]:Array.isArray(e)?F4.filter(t=>e.includes(t)):[...Dh]}var h4=e=>e;function j0(e){return h4(e).kind==="tyre"?"tyre":"alloy-wheel"}function Zh(e,t){return e.filter(a=>t.includes(j0(a)))}function $8(e){return h4(e).slug??""}function Af(e){return h4(e).name??""}function _a(e){return h4(e).brand??""}function vF(e){let t=new Set;for(let a of e)if(t.add(_a(a)),t.size>1)return!0;return!1}function p61(e){return h4(e).process??""}function fF(e){let t=new Set;for(let a of e)if(t.add(p61(a)),t.size>1)return!0;return!1}function Le(e){return h4(e).prices??void 0}function Tf(e){return h4(e).inStock!==!1}function bF(e){let t=h4(e),a=j0(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(a)?a.filter(s=>typeof s=="number"&&Number.isFinite(s)):[]}function Ef(e){return j0(e)!=="tyre"&&h4(e).badge==="new"}function Hf(e){return j0(e)==="tyre"?[]:(h4(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function xF(e){return Hf(e).map(t=>t.family)}function wF(e){if(j0(e)==="tyre")return[];let t=h4(e),a=t.categories;return a&&a.length>0?a:t.process?[t.process]:[]}function yF(e){return j0(e)==="tyre"?[]:h4(e).spec?.pcds??[]}function zF(e){return j0(e)!=="tyre"?[]:h4(e).tyreTypes??[]}function kF(e){return j0(e)!=="tyre"?[]:h4(e).speedRatings??[]}function Ia(e){if(j0(e)!=="tyre")return[];let t=h4(e).sizes;return Array.isArray(t)?t.map(a=>i5(typeof a=="string"?a:null)).filter(a=>a!==null):[]}function d6(e,t){return e.length===0?e:e.filter(a=>a.kind===void 0||a.kind===t)}function Gh(e,t){if(t.length===0)return e;let a=Va(t);return j8(e.filter(s=>a(s.fieldKey)),s=>s.fieldKey,t,"cardOrder")}function SF(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 Pf(e){return Nf(e,"spec")}function Ff(e,t){if(t.length===0)return e;let a=Pf(t),s=e.filter(o=>a(o.fieldKey));return j8(s,o=>o.fieldKey,t,"specOrder")}function j8(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 Va(e){return Nf(e,"card")}function Wh(e){return Nf(e,"filter")}var Oa="collection";function Ba(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":Oa},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function Nf(e,t){let a=new Set(e.filter(s=>s[t]===!1).map(s=>s.fieldKey));return s=>!s||!a.has(s)}var Da={inStock:"In stock",outOfStock:"Out of stock",notInStockHere:"Not in stock here"};function CF(e){return e?Da.inStock:Da.outOfStock}function f3(e){return Number.isInteger(e)?String(e):String(Number(e.toFixed(2)))}var MF=" to ";function Rf(e){return e<0?`\u2212${f3(-e)}`:f3(e)}function Uh(e,t){return e===t?`ET ${Rf(e)}`:`ET ${Rf(e)}${MF}${Rf(t)}`}function qh(e,t){return e===t?`${f3(e)}"`:`${f3(e)}"${MF}${f3(t)}"`}function _f(e){return e==="\u2014"?e:`${e}"`}var Br={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},LF=Object.keys(Br);function Za(e){return z2(LF,"recommended",e)}function If(e){return LF.filter(t=>t!=="recommended"||e.length<=1)}function AF(e,t){let a=Za(e);return If(t).includes(a)?a:"name"}var Dr=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],d61={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},u61={diameters:"tyreSizes"};function TF(e){if(e.length===0)return[];let t=Dr.filter(a=>e.every(s=>d61[a].includes(s)));return t.filter(a=>{let s=u61[a];return!s||!t.includes(s)})}function EF(e,t){return t&&e.includes(t)?[t]:[...e]}function HF(e){let t=new Set;for(let a of e)t.add(j0(a));return[...t]}var D7={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function Ga(e){return`${g61(e.width)}\xD7${e.diameter}`}function g61(e){return f3(e)}function Zr(e,t,a,s=null){if(s!=="kind"&&t.kind&&j0(e)!==t.kind)return!1;for(let o of Dr){if(s===o)continue;let r=t[o];if(r.length===0)continue;let i=r.map(String);if(!NF(e,o).some(n=>i.includes(n)))return!1}return!(s!=="price"&&!uh(Le(e),a,null,t.priceMax)||s!=="inStock"&&t.inStockOnly&&!Tf(e))}function PF(e,t,a){return e.filter(s=>Tf(s)&&Zr(s,t,a,"inStock")).length}function v61(e,t,a){let s=[...e],o=(i,n)=>Af(i).localeCompare(Af(n)),r=HF(e).length>1;switch(t){case"price-asc":return s.sort((i,n)=>Sa(Le(i),Le(n),a,"asc"));case"price-desc":return s.sort((i,n)=>Sa(Le(i),Le(n),a,"desc"));case"name":return s.sort(o);case"new":return s.sort((i,n)=>{let l=(Ef(n)?1:0)-(Ef(i)?1:0);return l!==0||!r?l:o(i,n)});default:return s}}function FF(e,t,a){return v61(e.filter(s=>Zr(s,t,a)),t.sort,a)}function $h(e){return Dr.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}var Vf={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function NF(e,t){switch(t){case"tyreSizes":return[...new Set(Ia(e).flatMap(dF))];case"brands":return _a(e)?[_a(e)]:[];case"finishes":return xF(e);case"diameters":return bF(e).map(String);case"collections":return wF(e);case"pcds":return yF(e);case"tyreTypes":return zF(e);case"speedRatings":return kF(e)}}function f61(e){let t=new Map;for(let a of e)for(let s of Hf(a))s.color&&!t.has(s.family)&&t.set(s.family,s.color);return t}function jh(e,t,a,s=HF(e),o=[]){let r=c=>b61(c,s,o),i=f61(e),n=TF(s).filter(c=>c!=="tyreSizes").filter(r).map(c=>{let h=t[c].map(String),p=new Set,m=new Map,u=new Map;for(let g of e){let f=NF(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(Zr(g,t,a,c))for(let b of new Set(f))m.set(b,(m.get(b)??0)+1)}let v=[...p].map(g=>({value:g,label:c==="diameters"?`${g}\u2033`:g,count:m.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:Vf[c],options:v}}).filter(c=>c.options.length>Gr),l=[];for(let c of n){let h=x61(c.key,s,o);h!==void 0&&l.push({fieldKey:c.key,filterOrder:h})}return[...j8(n,c=>c.key,l,"filterOrder")]}var Gr=1;function Kh(e){return e.showCollection===!1?["collections"]:[]}function b61(e,t,a){return t.length===0||a.length===0?!0:t.some(s=>Wh(d6(a,s))(Ba(e,s)))}function x61(e,t,a){if(a.length===0)return;let s;for(let o of t){let r=SF(d6(a,o),"filter")(Ba(e,o));r!==void 0&&(s===void 0||r<s)&&(s=r)}return s}function w61(e){let t=new Set;for(let a of e)for(let s of Ia(a))t.add(p6(s));return t.size}function RF(e,t){return TF(t).includes("tyreSizes")?w61(e)>Gr:!1}function _F(e){let t=i5(e);if(t)return t;let[a,s]=e.split("/");return{width:a?Number(a):void 0,profile:s?Number(s):void 0}}function y61(e,t,a){return B7.slice(0,B7.indexOf(a)).every(s=>{let o=t[s];return o==null||e[s]===o})}function IF(e,t,a){let s=_F(t.tyreSizes[0]??""),o=new Set(e.filter(r=>Zr(r,t,a,"tyreSizes")));return B7.map(r=>{let i=new Map;for(let l of e){let c=Ia(l).filter(h=>y61(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:mF[r],value:s[r]??null,options:n}})}function VF(e,t,a,s){let o={..._F(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 p6(o)}function OF(e,t,a,s){if(t.length<2)return[];let o=e.filter(r=>Zr(r,a,s,"kind"));return[{kind:null,label:uF,count:o.length,checked:a.kind===null},...t.map(r=>({kind:r,label:n5[r],count:o.filter(i=>j0(i)===r).length,checked:a.kind===r}))]}function BF(e,t){if(e.length===0)return null;let a=e.map(r=>G8(Le(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 DF(e,t,a){let s=[];e.kind&&s.push({key:"kind",value:e.kind,label:n5[e.kind]}),e.inStockOnly&&s.push({key:"inStock",value:"",label:Da.inStock});for(let o of Dr)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 T5={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},K8="type",ZF="maxPrice",GF="inStock",WF="sort",UF="page";function qF(e){let t=r=>e.getAll(r).flatMap(i=>i.split(",")).filter(Boolean),a=Number(e.get(ZF)),s=Number(e.get(UF)),o=e.get(K8);return{tyreSizes:t(T5.tyreSizes),brands:t(T5.brands),finishes:t(T5.finishes),diameters:t(T5.diameters).map(Number).filter(Number.isFinite),collections:t(T5.collections),pcds:t(T5.pcds),tyreTypes:t(T5.tyreTypes),speedRatings:t(T5.speedRatings),priceMax:Number.isFinite(a)&&a>0?a:null,inStockOnly:e.get(GF)==="1",kind:F4.find(r=>r===o)??null,sort:Za(e.get(WF)),page:Number.isFinite(s)&&s>=1?Math.floor(s):1}}function Ae(e){let t=new URLSearchParams;for(let a of Dr){let s=e[a];s.length>0&&t.set(T5[a],s.join(","))}return e.priceMax!=null&&t.set(ZF,String(e.priceMax)),e.inStockOnly&&t.set(GF,"1"),e.kind&&t.set(K8,e.kind),e.sort!=="recommended"&&t.set(WF,e.sort),e.page>1&&t.set(UF,String(e.page)),t}function $F(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 jF(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 Y8="__all__",KF="All products";function z61(e){return e?.slug===Y8}function YF(e){return typeof e?.slug=="string"&&e.slug!==""}function Wa(e,t){if(z61(e))return[...t];let a=o=>o;if(e.process)return t.filter(o=>a(o).process===e.process);let s=e.name??"";return t.filter(o=>{let{process:r,categories:i}=a(o);return(i??(r?[r]:[])).includes(s)})}var Ua="AlloyWheelsListing",k61="ProductGrid",XF="catalog",S61="CatalogFilterBar",Yh="fieldUsage",C61="requestQuery";function JF(e){return e.props?.source}function qa(e){return e?.type===k61&&YF(JF(e))}function Of(e){return e?.type===S61}function M61(e){return e?.type===Ua||qa(e)||Of(e)}function L61(e){let t=e.content??[],a=e.zones??{};return[...t,...Object.values(a).flat()]}function Bf(e){return e?L61(e).some(t=>t?.type===Ua||qa(t)):!1}function QF(e,t){return T61(e,a=>qa(a)?{...a,props:{...Df(a).props,[XF]:Wa(JF(a)??{},A61(t,m6(a.props?.kinds)))}}:{...a,props:{...Zf(a).props,products:t}})}function eN(e){return sN(e,M61,t=>Of(t)?tN(t):qa(t)?Df(t):Zf(t))}function tN(e){if(!e.props||!(Yh in e.props))return e;let{[Yh]:t,...a}=e.props;return{...e,props:a}}function Df(e){let{[XF]:t,[Yh]:a,...s}=e.props??{},o=s.source;if(o&&"wheels"in o){let{wheels:r,...i}=o;s.source=i}return{...e,props:s}}function A61(e,t){let a=new Set(t);return e.filter(s=>{let o=s.kind??"alloy-wheel";return a.has(o)})}function aN(e){return qa(e)?Df(e):Of(e)?tN(e):e?.type===Ua?Zf(e):e}function Zf(e){let{wheels:t,products:a,[Yh]:s,[C61]:o,...r}=e.props??{};return{...e,props:r}}function T61(e,t){return sN(e,a=>a?.type===Ua||qa(a),t)}function sN(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 Wr="/wheels",Gf="Products";function E61(e,t){return t>1?`${Gf} \xB7 ${e}`:Gf}function oN(...e){for(let t of e){let a=(t?.content??[]).find(s=>s?.type===Ua);if(a)return a.props??{}}return null}function Wf(...e){return oN(...e)!==null}function H61(e,t){let a=e.filter(s=>Wf(...s.docs)).map(s=>ne(s.slug));return a.length===0&&t.fallback?[Wr]:a}var rN=[K8,...Object.entries(T5).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function iN(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 P61(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Uf(e){let t=new URLSearchParams(iN(e).query);for(let a of rN){let s=t.get(a);if(s)return{param:a,value:s}}return null}function qf(e,t){let{path:a,query:s,hash:o}=iN(e),r=s.split("&").filter(i=>i&&!rN.includes(P61(i.split("=")[0])));return t?.value&&r.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${a}${r.length?`?${r.join("&")}`:""}${o}`}function nN(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 F61="Product type",N61="AUD";function R61(e,t){let a=t.listing??{},s=m6(a.kinds),o=e.filter(l=>s.includes(j0(l))),r=Kh(a),i=jh(o,D7,N61,s,t.fieldUsage).filter(l=>!r.includes(l.key)).map(l=>({param:T5[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=F4.filter(l=>s.includes(l)&&o.some(c=>j0(c)===l));return n.length>1&&i.unshift({param:K8,label:F61,values:n.map(l=>({value:l,label:n5[l]}))}),i}function lN(e){return t=>{let a=H61(t,{fallback:e.offersCommerce}),s=t.filter(o=>Wf(...o.docs)).length;return{listingPaths:a,pageOptions:o=>{let r=o.map(i=>{let n=t.find(l=>ne(l.slug)===i.value);return n&&Wf(...n.docs)?{...i,label:E61(n.title,s)}:i});return s===0&&e.offersCommerce&&!r.some(i=>i.value===Wr)&&r.push({value:Wr,label:Gf}),r},filtersFor:o=>{if(!a.includes(o))return null;let r=t.find(i=>ne(i.slug)===o);return R61(e.catalogue,{listing:r?oN(...r.docs):null,fieldUsage:e.fieldUsage})},readFilter:Uf,withFilter:qf}}}function cN(e,t=[]){let a=qf(Wr,{param:K8,value:e}),s=t.find(o=>{let r=(o?.url??"").trim();if(!r||r==="#")return!1;let i=Uf(r);return i?.param!==K8||i.value!==e?!1:Sv(r).startsWith("/")});return s?s.url:a}function hN(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 O61}from"react/jsx-runtime";var pN=_61([]);function mN({items:e,children:t}){let a=V61(()=>hN(e),[e]);return O61(pN.Provider,{value:a,children:t})}function dN(){return I61(pN)}import{createContext as Z61,useCallback as G61,useContext as W61}from"react";var uN={tyre:"tire",tyres:"tires",colour:"color",colours:"colors",centre:"center",centres:"centers",catalogue:"catalog",catalogues:"catalogs",enquire:"inquire",enquiry:"inquiry",enquiries:"inquiries",aluminium:"aluminum"},B61=new RegExp(`\\b(${Object.keys(uN).sort((e,t)=>t.length-e.length).join("|")})\\b`,"gi");function gN(e){return e==="us"?"us":"international"}function D61(e,t){return e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t[0].toUpperCase()+t.slice(1):t}function vN(e,t){return t!=="us"?e:e.replace(B61,a=>D61(a,uN[a.toLowerCase()]))}import{jsx as U61}from"react/jsx-runtime";var fN=Z61("international");function bN({variant:e,children:t}){return U61(fN.Provider,{value:e,children:t})}function $a(){let e=W61(fN);return G61(t=>vN(t,e),[e])}import{createContext as q61,useCallback as $f,useContext as $61,useEffect as j61,useMemo as K61,useState as Y61}from"react";import{jsx as J61}from"react/jsx-runtime";var X61={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},xN=q61(X61);function wN({children:e,shortcut:t=!0}){let[a,s]=Y61(!1),o=$f(()=>s(!0),[]),r=$f(()=>s(!1),[]),i=$f(()=>s(l=>!l),[]);j61(()=>{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=K61(()=>({isOpen:a,open:o,close:r,toggle:i}),[a,o,r,i]);return J61(xN.Provider,{value:n,children:e})}function ja(){return $61(xN)}import{createContext as Q61,useCallback as Jh,useContext as e71,useMemo as t71,useState as Kf}from"react";function yN({email:e,firstName:t,interests:a,frequency:s},o){return{email:e.trim(),firstName:t?.trim()||void 0,interests:a&&a.length?a:void 0,frequency:s||void 0,source:o}}var N4={popup:"shop_popup",subscribeSection:"subscribe_section",subscribeBlogsSection:"subscribe_blogs_section",footerSignup:"footer_signup",stockAlertOptIn:"stock_alert_optin"};var aN1=1440*60*1e3;function zN(e){return e===he?{seen:"storefront-subscribe-seen",closedAt:"storefront-popup-closed-at",sentAt:"storefront-popup-sent-at"}:{seen:`storefront-popup:${e}:seen`,closedAt:`storefront-popup:${e}:closed-at`,sentAt:`storefront-popup:${e}:sent-at`}}function jf(e,t,a){let s=zN(e);t.session.setItem(s.seen,"1"),t.local.setItem(s.closedAt,String(a))}function kN(e,t,a){jf(e,t,a),t.local.setItem(zN(e).sentAt,String(a))}var Xh={session:OE,local:N3};import{jsx as a71}from"react/jsx-runtime";var SN=Q61(null);function CN({children:e}){let[t,a]=Kf(!1),[s,o]=Kf("chosen"),[r,i]=Kf({}),n=Jh(m=>{i(m??{}),o("newsletter"),a(!0)},[]),l=Jh(()=>{i({}),o("chosen"),a(!0)},[]),c=Jh(()=>kN(he,Xh,Date.now()),[]),h=Jh(()=>{a(!1),jf(he,Xh,Date.now())},[]),p=t71(()=>({isOpen:t,mode:s,open:n,openByItself:l,close:h,markSent:c,prefillEmail:r.email??"",signupSource:r.source??N4.popup}),[t,s,n,l,h,c,r]);return a71(SN.Provider,{value:p,children:e})}function Qh(){let e=e71(SN);if(!e)throw new Error("useSubscribePopup() must be called inside <SubscribePopupProvider>. Mount the provider in app/layout.tsx.");return e}import{createContext as s71,useContext as o71,useEffect as r71,useState as MN}from"react";import{jsx as n71}from"react/jsx-runtime";var LN="storefront-wishlist";function i71(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var AN=s71(null);function TN({children:e}){let[t,a]=MN([]),[s,o]=MN(!1);r71(()=>{let n=N3.getItem(LN);try{n&&a(i71(n))}catch{}o(!0)},[]);function r(n){let l=t.includes(n)?t.filter(c=>c!==n):[...t,n];a(l),N3.setItem(LN,JSON.stringify(l))}let i={slugs:t,ready:s,has:n=>t.includes(n),toggle:r,count:t.length};return n71(AN.Provider,{value:i,children:e})}function EN(){let e=o71(AN);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}import{jsx as X8}from"react/jsx-runtime";function Yf({catalogFilterLabels:e,englishVariant:t,menuItems:a,currency:s,searchShortcut:o=!0,children:r}){return X8(bN,{variant:gN(t),children:X8(pF,{labels:e,children:X8(mN,{items:a,children:X8(W8,{...s,children:X8(CN,{children:X8(TN,{children:X8(Ma,{children:X8(wN,{shortcut:o,children:r})})})})})})})})}import{jsx as l5}from"react/jsx-runtime";import{useCallback as FN,useEffect as ep,useMemo as Ur,useRef as h71,useState as qr}from"react";import{lazy as l71,Suspense as c71}from"react";import{jsx as HN}from"react/jsx-runtime";function Ka(e,t={}){let a=l71(async()=>{let r=await e();return{default:"default"in r?r.default:r}}),s=t.loading?t.loading():null;function o(r){return HN(c71,{fallback:s,children:HN(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{ScreenDocumentContext as p71}from"efficient-easel/screen/components/ScreenDocumentContext";import{PreviewPartsProvider as m71}from"efficient-easel/draw/client";import{sectionTemplates as Xf}from"efficient-easel/screen/lib/section-templates";import{nodeToDoc as d71,docToNode as NN}from"efficient-easel/screen/lib/puck/section-doc";import{newNodeId as u71}from"efficient-easel/draw";import{NO_BRIDGED_CAPABILITIES as g71,useAdminBridge as v71}from"efficient-easel/screen/lib/admin-bridge";import{useEaselHost as f71}from"efficient-easel/screen/lib/host";import{ChromeWrap as b71}from"efficient-easel/screen/lib/host-chrome";import{sessionRegistry as x71}from"efficient-easel/screen/lib/session";import{useEaselSession as w71}from"efficient-easel/screen/lib/session-context";async function PN(e,t,a){let s=!1;try{s=await e()}catch{}return s?(t(),"switched"):(a(),"refused")}import{routeSharedHostMessage as y71}from"efficient-easel/screen/lib/host-inbound";import{documentPermissions as z71}from"efficient-easel/edit-lock";import{useAutosave as k71}from"efficient-easel/autosave";import{saveStatusOf as S71}from"efficient-easel/screen/lib/document-switch";var C71=Ka(()=>import("./chunks/SiteEditorProvider-3E6XWZIS.js"),{ssr:!1}),M71=Ka(()=>import("efficient-easel/screen/components/SectionScreenShell"),{ssr:!1}),_N="HeroSingle",RN="Untitled section";function L71(e,t){let a=t.components,s=a[e]?e:_N,o=a[s]?.defaultProps??{},r=HM(s,n=>a[n]?.defaultProps??{}),i=s===AE?{blocks:TE()}:null;return{type:s,props:{id:u71(s),...o,...r?{[r.slot]:r.children}:null,...i}}}function A71(){if(typeof window>"u")return _6;try{let e=window.localStorage.getItem(hr);return e==="light"||e==="dark"||e==="auto"?e:_6}catch{return _6}}function IN({id:e,initialType:t,initialName:a=RN}){let[s,o]=qr(e),r=h71(s);ep(()=>{r.current=s},[s]);let i=f71(),[n,l]=qr(t),[c,h]=qr(a),[p,m]=qr(void 0),[u,v]=qr(_6),{token:g,tokenRef:f}=v71({onMessage:_=>{if(Oh(_)||y71(_))return;let B=_;if(B?.type==="storefront-editor:navigate"&&B.target?.kind==="section"&&B.target.id){let Z=B.target.id;if(Z===r.current)return;let X=B.target.type,G=B.target.name;PN(k,()=>{l(X),h(G||RN),o(Z),i.address.show({kind:"section",id:Z})},()=>i.send("storefront-editor:save-failed"))}}}),b=k71({save:_=>Xf.update(_.id,_.node).then(()=>{}),onFailure:(_,B)=>{B===0&&i.send("storefront-editor:save-failed")}}),{state:x,push:w,flush:k}=b;ep(()=>v(A71()),[]);let A=w71(),T=A.usesBridgedToken?!!g:!0,F=Ur(()=>Fh(x71(A),Ml(A)),[A]);ep(()=>{if(!T)return;let _=!1;return m(void 0),Xf.ensure(s,c,L71(n??_N,F)).then(B=>!_&&m(B.node)).catch(()=>!_&&m(null)),()=>{_=!0}},[s,n,c,T,F]);let M=FN(_=>{i.send("storefront-editor:dirty");let B=NN(_);B&&w({id:r.current,node:B})},[w,i]),z=i.send,E=FN(async _=>{try{return await _(f.current??""),!0}catch{return z("storefront-editor:save-failed"),!1}},[z]),N=Ur(()=>Nh(F,!0),[F]);ep(()=>(Dv(null),()=>Dv(null)),[]);let R=Ur(()=>p?_h(d71(p)):null,[p]),D=Ur(()=>({target:{kind:"page",slug:""},adapter:Vr(void 0),capabilities:Vr(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:T,token:g,tokenRef:f,notifyParent:z,runAuthed:E,docId:s,data:R,getLiveData:()=>R,error:null,redirecting:!1,saveStatus:S71(x),saveState:x,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:x.pending,toggleAutoSave:()=>{},retrySave:()=>{b.retryNow()},onChange:M,flushSave:k,onPublish:async _=>{let B=NN(_);B&&await Xf.update(r.current,B)},bridgeCapabilities:g71,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[s,T,g,z,E,R,x,M,k,b.retryNow]),V=Ur(()=>z71(!D.readOnly),[D.readOnly]);return p===void 0?l5("div",{className:"sf-msg",children:d("Loading\u2026")}):p===null||!R?l5("div",{className:"sf-msg sf-msg--error",children:d("Couldn\u2019t open this section.")}):l5(p71.Provider,{value:D,children:l5(gc,{themeMode:u,chromePlaceholder:!0,children:l5(b71,{wrap:A.chrome?.wrap,surface:"section",children:l5(Kc,{children:l5(Yc,{children:l5(m71,{children:l5(Ih,{children:l5(Xc,{children:l5(mc,{children:l5(C71,{config:N,data:R,onChange:M,permissions:V,children:l5(M71,{})},s)})})})})})})})})})}import{EaselHostProvider as QL1}from"efficient-easel/screen/lib/host";import{MediaPanelProvider as eA1}from"efficient-easel/screen/lib/media-panel";import{useEffect as G71,useState as W71}from"react";import{createContext as T71,useCallback as VN,useContext as E71,useEffect as H71,useId as P71,useMemo as F71,useRef as N71,useState as R71}from"react";import{jsx as _71}from"react/jsx-runtime";var ON=T71(null);function BN({reason:e,children:t}){let[a,s]=R71([]),o=N71(null),r=VN(c=>{s(h=>h.includes(c)?h:[...h,c])},[]),i=VN(c=>{s(h=>h.filter(p=>p!==c))},[]),n=e==="none-configured",l=F71(()=>({noCurrencyConfigured:n,live:a,firstRendered:o,join:r,leave:i}),[n,a,r,i]);return _71(ON.Provider,{value:l,children:t})}function DN(e){let t=E71(ON),a=P71(),s=!!e&&!!t?.noCurrencyConfigured;s&&t&&t.firstRendered.current===null&&(t.firstRendered.current=a);let o=t?.join,r=t?.leave;return H71(()=>{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 jr={currencies:[],defaultCurrency:null},I71={currencies:[],defaultCurrency:null,reason:"none-configured"},$r=new Map;function ZN(e,t,a=!1){a&&$r.delete(t);let s=$r.get(t);return s||(s=V71(e,t),$r.set(t,s),s.catch(()=>{$r.get(t)===s&&$r.delete(t)})),s}async function V71(e,t){try{let a=await nh(e,t);if(!a)return jr;let s=await H0.getSiteBySlug(a);return s.status!=="online"?await O71(e,t):{currencies:s.currencies??[],defaultCurrency:s.defaultCurrency??null}}catch(a){return console.warn("[editor-currency-source] load failed; editor stays unpriced",a),jr}}async function O71(e,t){let a=await R1.listSiteCurrencies(t,e);if(!a.length)return I71;let s=[...a].sort((o,r)=>o.display_order-r.display_order).map(o=>({code:o.currency_code,symbol:o.symbol||Z71(o.currency_code),decimalPlaces:typeof o.decimal_places=="number"?o.decimal_places:D71(o.currency_code),isDefault:o.is_default}));return{currencies:s,defaultCurrency:s.find(o=>o.isDefault)?.code??s[0].code}}var B71=0;function GN(e){try{return new Intl.NumberFormat(rH,{style:"currency",currency:e})}catch{return null}}function D71(e){return GN(e)?.resolvedOptions().maximumFractionDigits??B71}function Z71(e){return GN(e)?.formatToParts(0).find(s=>s.type==="currency")?.value||e}import{jsx as WN}from"react/jsx-runtime";function Jf({token:e,siteId:t,enabled:a,children:s}){let[o,r]=W71(jr);return G71(()=>{if(!e||!a||!t){r(jr);return}let i=!1;return ZN(e,t).then(n=>{i||r(n)}).catch(()=>{}),()=>{i=!0}},[e,a,t]),WN(W8,{currencies:o.currencies,defaultCurrency:o.defaultCurrency,children:WN(BN,{reason:o.reason,children:s})})}var Te=new Map,Qf=e=>e??"";function Ee(e,t,a=!1){let s=Qf(t);a&&Te.delete(s);let o=Te.get(s);return o||(o=R1.getHeaderSettings(e,t??void 0),Te.set(s,o),o.catch(()=>{Te.get(s)===o&&Te.delete(s)})),o}function UN(e,t){Te.set(Qf(t),Promise.resolve(e))}function qN(e){Te.delete(Qf(e))}function Kr(e){return{logoUrl:F6(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 $N,useRef as eb}from"react";function tp({token:e,enabled:t=!0,deps:a=[],prime:s,onDisabled:o,refresh:r}){let i=eb(s);i.current=s;let n=eb(o);n.current=o;let l=eb(r);l.current=r,$N(()=>{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]),$N(()=>{if(!e||!t||!l.current)return;let c=!1,h=l.current.subscribe(()=>{let p=l.current;p&&p.load().then(m=>{c||p.publish(m)}).catch(()=>{})});return()=>{c=!0,h()}},[e,t,...a])}function tb({token:e,siteId:t}){let{primeSettings:a,setSettings:s}=Q2();return tp({token:e,deps:[t],prime:{load:()=>Ee(e,t),publish:o=>a(Kr(o))},refresh:{subscribe:q8,load:()=>Ee(e,t,!0),publish:o=>s(Kr(o))}}),null}import{createContext as U71,useCallback as QN,useContext as q71,useMemo as $71,useState as j71}from"react";var Yr=new Map,jN=e=>e??"";function ab(e,t,a){a&&Yr.clear();let s=jN(t),o=Yr.get(s);if(!o){let r=R1.listMenus(e,t);Yr.set(s,r),r.catch(()=>{Yr.get(s)===r&&Yr.delete(s)}),o=r}return o}var ap=new Map;function KN(e,t){let a=jN(t),s=ap.get(a);if(!s){let o=ab(e,t,!0);ap.set(a,o);let r=()=>{ap.get(a)===o&&ap.delete(a)};o.then(r,r),s=o}return s}function Xr(e,t=!1){return ab(e,D2(),t)}function sp(e){return KN(e,D2())}function YN(e,t=!1){return ab(e,null,t)}function XN(e){return KN(e,null)}var sb={ids:new Set,handles:new Set};function ob(e){return{ids:new Set(e.map(t=>t.id).filter(Boolean)),handles:new Set(e.map(t=>t.handle).filter(Boolean))}}function JN({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 op(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 K71}from"react/jsx-runtime";var eR=U71({live:sb,ready:!1,primeLive:()=>{},setLive:()=>{}});function rb({children:e}){let[t,a]=j71({live:sb,ready:!1}),s=QN(i=>a(n=>n.ready?n:{live:i,ready:!0}),[]),o=QN(i=>a({live:i,ready:!0}),[]),r=$71(()=>({...t,primeLive:s,setLive:o}),[t,s,o]);return K71(eR.Provider,{value:r,children:e})}var rp=()=>q71(eR);function ip({token:e}){let{primeLive:t,setLive:a}=rp();return tp({token:e,prime:{load:()=>Xr(e),publish:s=>t(ob(s))},refresh:{subscribe:q8,load:()=>sp(e),publish:s=>a(ob(s))}}),null}import{useScreenDocument as Y71}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as ib,jsxs as nb}from"react/jsx-runtime";function lb({surface:e,children:t}){let{token:a,siteId:s,capabilities:o}=Y71();if(e==="section")return nb(rb,{children:[a?ib(ip,{token:a}):null,t]});let r=a??"";return nb(Jf,{token:r,siteId:s,enabled:o.hasSiteSettings,children:[o.hasSiteSettings&&ib(tb,{token:r,siteId:s}),nb(rb,{children:[o.hasSiteSettings&&ib(ip,{token:r}),t]})]})}import{ShowWhen as Y81}from"efficient-shell/ui";import{useCallback as G6,useEffect as ii,useRef as wb,useState as Q8}from"react";import{requestMediaPick as m81}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as zR}from"efficient-easel/screen/lib/host";var tR="Menu Item",aR=6,cb=4,sR="Menu",oR="Link a menu in the inspector \u2192";function rR(){return d("This column isn't linked to a menu, so the preview shows placeholder links. Pick a menu above.")}function iR(e){return d("\u201C{name}\u201D no longer exists in {place}, so the preview shows placeholder links. Pick another menu.",{name:e,place:d("Storefront \u2192 Menus")})}function nR(){return d("The menu linked here no longer exists in {place}, so the header shows placeholder links. Pick another menu.",{place:d("Storefront \u2192 Menus")})}import{Fragment as X71}from"react";import{jsx as J71}from"react/jsx-runtime";function R4(e,t){return e.split(/\{([A-Za-z][A-Za-z0-9_]*)\}/g).map((a,s)=>s%2===1?J71(X71,{children:a in t?t[a]:`{${a}}`},s):a)}import{HEADER_TYPE as hb,FOOTER_TYPE as Q71}from"efficient-easel/draw";var e81=new Set(["Hero","HeroSingle","IntroBleed"]),R3={min:56,max:140,default:88},Ya={min:0,max:120,step:2,default:32},Jr=`var(--sf-header-h, ${R3.default}px)`,Qr="--sf-header-set-h",pb="--sf-header-h",lR=`var(${Qr}, ${R3.default}px)`,cR="sf-header-clearance",J8="sf-sticky-underheader";function mb(e){return e?.find(t=>t?.type&&t.type!==hb)??null}function hR(e){let t=mb(e)?.type;return!t||!e81.has(t)}function pR(e){return!hR(e)}function db(e){return!!e?.some(t=>t?.type===hb)}function mR(e){return!e||e.length===0?!1:!e.some(t=>t?.type===hb||t?.type===Q71)}var t81=["auto","shared","own"],ub="auto",a81="topSpace",dR="data-top-space";function s81(e){return t81.includes(e)?e:ub}function gb(e,t){let a=s81(e?.props?.[a81]);return a==="own"?!0:a==="shared"?!1:hR(t)}function uR(e,t){return gb(e,t)?"own":null}var ei=YL,o81="sf-header-theme";function ti(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function np(e){let t=ti(e);return t===null?null:{className:o81,style:JL(t)}}var vb="overlay",fb=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function Xa(e){return z2(fb,vb,e)}var E5={desktop:40,mobile:45,min:20,max:80,step:5};function bb(e,t){return`${typeof e=="number"?e:t}%`}var lp="data-lead-ink",cp="data-header-ink";var r81="auto";function i81(e){return e.type==="IntroBleed"?Xa(e.props?.layout)!=="stacked":!0}function gR(e){let t=mb(e);return t&&pR(e)&&i81(t)?"light":null}function Ja(e){return e==="light"||e==="dark"?e:r81}import{Banner as d81,Button as kb,Drawer as u81,InputNumber as g81,LoadingSpinner as v81,MediaUploadField as f81,ShowWhen as oi,Slider as b81,Tabs as x81,tabButtonId as w81,tabPanelId as y81}from"efficient-shell/ui";import{PictureTiles as n81}from"efficient-shell/ui";import{FlagUsIcon as l81,GlobeIcon as c81}from"efficient-shell/icons/efficient";var ai=[{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"}],hp="Show as",si="name";function Z6(e){return ai.some(t=>t.value===e)?e:si}var vR=e=>e==="flag_code"||e==="flag";import{Fragment as xb,jsx as He,jsxs as pp}from"react/jsx-runtime";var fR=He("span",{className:"inline-flex shrink-0 border border-current/20",children:He(l81,{size:15})}),h81={name:"UNITED STATES",code_currency:pp(xb,{children:["US",He("span",{className:"opacity-50",children:"\xB7"}),"USD"]}),globe_code:pp(xb,{children:[He(c81,{size:12,className:"shrink-0"}),"US"]}),currency:"USD",flag_code:pp(xb,{children:[fR,"US"]}),flag:fR};function p81({kind:e}){return pp("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:[h81[e],He("span",{className:"opacity-70",children:"\u25BE"})]})}function mp({value:e,onChange:t}){return He(n81,{label:d(hp),columns:2,captions:!0,value:Z6(e),onChange:t,options:ai.map(a=>({value:a.value,label:d(a.label),picture:He(p81,{kind:a.value})}))})}import{SettingsDefaultReset as yb,SettingsSwitch as ri}from"efficient-easel/panel";import{FieldSelect as Sb}from"efficient-easel/fields";import{useEaselStrings as M81}from"efficient-easel/strings";import{ListIcon as L81,LogoIcon as A81,SettingsIcon as T81,StylesIcon as E81}from"efficient-easel/icons";import{Fragment as Pe,jsx as Q,jsxs as K0}from"react/jsx-runtime";var z81={field:"country_selector_enabled",is:!0},ni={not:{context:"placeholderMode",is:!0}},k81={field:"menu_position",is:"beside"},S81={all:[{field:"logo_position",is:"center"},{not:{field:"menu_position",is:"center"}}]},C81={all:[ni,e5("country_selector_enabled")]},Cb="sf-header",bR="sf-header-size-label",xR="sf-header-gap-label",wR="sf-header-height-label",yR=[{id:"logo",label:"Logo",icon:Q(A81,{})},{id:"menu",label:"Menu",icon:Q(L81,{}),showWhen:ni},{id:"tools",label:"Tools",icon:Q(T81,{})},{id:"look",label:"Look",icon:Q(E81,{})}];function Mb({tokenRef:e,siteId:t,onClose:a,onAuthExpired:s,inline:o,placeholderMode:r,websiteName:i,onOpenWebsiteSettings:n}){let l=zR(),c=M81(),[h,p]=Q8(null),[m,u]=Q8(null),[v,g]=Q8(!1),[f,b]=Q8(yR[0].id),[x,w]=Q8(gE),k=h,A={placeholderMode:r},T=Object.values(GT(Object.fromEntries(yR.map(O=>[O.id,O])),k,A)),F=T.find(O=>O.id===f)??T[0],[M,z]=Q8(0),{setSettings:E}=Q2(),N=wb(null),R=wb(null),D=wb(null);ii(()=>{let O=!1,K=null,j=null,p1=3,r0=(g0,a1=0)=>{O||u(null),Ee(g0,t,a1>0).then(A1=>!O&&p(A1)).catch(()=>{O||(a1+1<p1?j=setTimeout(()=>r0(g0,a1+1),600*(a1+1)):u(d("Could not load header settings.")))})},k0=e.current;if(k0)r0(k0);else{let g0=0;K=setInterval(()=>{let a1=e.current;if(a1){K&&clearInterval(K),K=null,O||u(null),r0(a1);return}g0+=250,g0===5e3&&!O&&u(d("Waiting for editor authorization\u2026")),g0>=3e4&&(K&&clearInterval(K),K=null,O||u(d("Not authorized yet \u2014 reopen once the editor has loaded.")))},250)}return()=>{O=!0,K&&clearInterval(K),j&&clearTimeout(j)}},[e,M,t]),ii(()=>{h&&E(Kr(h))},[h,E]),ii(()=>()=>{N.current&&clearTimeout(N.current),R.current&&clearTimeout(R.current),D.current&&clearTimeout(D.current)},[]);let V=G6(async(O,K)=>{let j=e.current;if(!j||!h)return;let p1=h;K&&p({...h,...K}),g(!0),u(null);try{let r0=await O(j);p(r0),UN(r0,t),n6()}catch(r0){p(p1),r0 instanceof E4&&r0.status===401?(qN(t),s?.(),u(d("Authorization expired \u2014 try again in a moment."))):u(d("Could not save. Please retry."))}finally{g(!1)}},[h,e,s,t]),_=G6(O=>V(K=>R1.updateHeaderSettings(O,K,t??void 0),O),[V,t]),B=G6(O=>{V(K=>R1.setHeaderLogoFromAsset(O,K,t??void 0))},[V,t]),Z=G6(()=>{m81(l,{accept:"image/svg+xml",title:d("Logo (SVG)")}).then(O=>{O&&B(O.id)})},[B]),X=G6((O,K=!0)=>{p(p1=>p1&&{...p1,logo_size_px:O}),N.current&&clearTimeout(N.current);let j=()=>{V(p1=>R1.updateHeaderSettings({logo_size_px:O},p1,t??void 0))};K?j():N.current=setTimeout(j,400)},[V,t]),G=G6((O,K=!0)=>{p(p1=>p1&&{...p1,height_px:O}),R.current&&clearTimeout(R.current);let j=()=>{V(p1=>R1.updateHeaderSettings({height_px:O},p1,t??void 0))};K?j():R.current=setTimeout(j,400)},[V,t]),$=G6((O,K=!0)=>{p(p1=>p1&&{...p1,menu_gap_px:O}),D.current&&clearTimeout(D.current);let j=()=>{V(p1=>R1.updateHeaderSettings({menu_gap_px:O},p1,t??void 0))};K?j():D.current=setTimeout(j,400)},[V,t]),t1=G6(()=>{V(async O=>{let K=await R1.clearHeaderLogo(O,t??void 0);return K.reverse_logo?R1.updateHeaderSettings({reverse_logo:!1},O,t??void 0):K})},[V,t]),d1=G6(O=>{p(K=>K&&{...K,menu:O?.id??null,menu_handle:O?.handle??null,menu_name:O?.name??null,menu_items:O?O.items.map(j=>({label:j.label,url:j.url,dropdown_menu:j.dropdown_menu??null,dropdown_items:j.dropdown_items??[]})):[]}),V(K=>R1.updateHeaderSettings({menu:O?.id??null},K,t??void 0))},[V,t]),r1=K0(Pe,{children:[m&&Q(d81,{tone:"danger",className:"mx-4 mt-3",action:h?void 0:Q(kb,{variant:"secondary",size:"sm",onClick:()=>z(O=>O+1),children:d("Retry")}),children:m}),h?K0(Pe,{children:[Q(Z81,{tabs:T,activeId:F.id,onSelect:b}),K0("div",{id:y81(Cb,F.id),role:"tabpanel","aria-labelledby":w81(Cb,F.id),className:"flex flex-col p-4 [&>*+*]:mt-3",children:[F.id==="logo"&&K0(Pe,{children:[Q(u6,{label:"Image"}),Q(oi,{rule:ni,values:k,context:A,children:Q(H81,{settings:h,websiteName:i,onPick:Z,onClear:t1,showHint:x})}),Q(b3,{label:"Reverse the Logo",children:Q(ri,{checked:h.reverse_logo,onChange:O=>_({reverse_logo:O}),ariaLabel:d("Reverse the Logo")})}),Q(W6,{shown:x,children:d("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.")}),Q(u6,{label:"Placement"}),Q(F81,{label:L0.logoPosition.label,value:L0.logoPosition.options.find(O=>O.value===L0.logoPosition.choose(h.logo_position))?.label,children:Q(_7,{value:L0.logoPosition.choose(h.logo_position),options:L0.logoPosition.options,onChange:O=>_({logo_position:O}),ariaLabel:L0.logoPosition.label})}),K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[Q("span",{id:bR,className:"text-xs text-[var(--ink-muted)]",children:d("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??yr[h.logo_size],"px"]}),Q(yb,{label:d("Size"),words:c.panel,changed:h.logo_size_px!=null,onReset:()=>X(null)})]})]}),Q(zb,{labelledBy:bR,min:rh,max:EE,step:2,value:h.logo_size_px??yr[h.logo_size],onPreview:O=>X(O,!1),onCommit:O=>X(O,!0)}),Q(W6,{shown:x,children:d("Sets the logo\u2019s height; the width follows the logo\u2019s own proportions.")})]}),Q(Jc,{shown:x,onChange:w})]}),F.id==="menu"&&K0(Pe,{children:[Q(u6,{label:"Links"}),Q(P81,{token:e.current,menuId:h.menu,menuName:h.menu_name,itemCount:h.menu_items?.length??0,onPick:d1}),Q(b3,{label:L0.menuAlign.label,children:Q(_7,{value:L0.menuAlign.choose(h.menu_position),options:L0.menuAlign.options.filter(O=>O.value!=="beside"||h.logo_position!=="center"),onChange:O=>_({menu_position:O}),ariaLabel:L0.menuAlign.label})}),Q(oi,{rule:k81,values:k,children:K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[Q("span",{id:xR,className:"text-xs text-[var(--ink-muted)]",children:d("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??Ya.default,"px"]}),Q(yb,{label:d("Space from the logo"),words:c.panel,changed:h.menu_gap_px!=null,onReset:()=>$(null)})]})]}),Q(zb,{labelledBy:xR,min:Ya.min,max:Ya.max,step:Ya.step,value:h.menu_gap_px??Ya.default,onPreview:O=>$(O,!1),onCommit:O=>$(O,!0)}),Q(W6,{shown:x,children:d("How much room the menu leaves the logo. Only the logo moves away; the space between the menu words stays as it is.")})]})}),Q(b3,{label:L0.menuRow.label,children:Q(_7,{value:L0.menuRow.choose(h.menu_row),options:L0.menuRow.options,onChange:O=>_({menu_row:O}),ariaLabel:L0.menuRow.label})}),Q(oi,{rule:S81,values:k,children:Q(b3,{label:"Left items",children:Q("div",{className:"w-16",children:Q(Sb,{value:h.menu_split??3,ariaLabel:d("Left items"),onChange:O=>_({menu_split:O}),options:[1,2,3,4].map(O=>({label:String(O),value:O}))})})})}),Q(b3,{label:L0.navTextCase.label,children:Q(_7,{value:L0.navTextCase.choose(h.nav_text_case),options:L0.navTextCase.options,onChange:O=>_({nav_text_case:O}),ariaLabel:L0.navTextCase.label})}),Q(W6,{shown:x,children:R4(d("{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:Q("strong",{children:d("Uppercase")}),capitalised:Q("strong",{children:d("Capitalised")})})})]}),F.id==="tools"&&K0(Pe,{children:[Q(u6,{label:"Style"}),Q(b3,{label:L0.utilStyle.label,children:Q(_7,{value:L0.utilStyle.choose(h.util_style),options:L0.utilStyle.options,onChange:O=>_({util_style:O}),ariaLabel:L0.utilStyle.label})}),Q(W6,{shown:x,children:R4(d("{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:Q("strong",{children:d("Text")})})}),Q(u6,{label:"Search"}),Q(b3,{label:"Search",children:Q(ri,{checked:h.search_enabled,onChange:O=>_({search_enabled:O}),ariaLabel:d("Search")})}),Q(b3,{label:L0.searchPosition.label,children:Q(_7,{value:L0.searchPosition.choose(h.search_position),options:L0.searchPosition.options,onChange:O=>_({search_position:O}),ariaLabel:L0.searchPosition.label})}),Q(u6,{label:"Country selector"}),Q(b3,{label:"Show selector",children:Q(ri,{checked:h.country_selector_enabled,onChange:O=>_({country_selector_enabled:O}),ariaLabel:d("Show selector")})}),Q(oi,{rule:z81,values:{country_selector_enabled:h.country_selector_enabled},children:Q(b3,{label:"Show as",stacked:!0,children:Q(mp,{value:h.country_selector_show_as,onChange:O=>_({country_selector_show_as:O})})})}),Q(oi,{rule:C81,values:k,context:A,children:Q(W6,{shown:x,children:R4(d("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:Q("strong",{children:d("Storefront \u203A Settings \u203A Regions & currencies")})})})}),Q(u6,{label:"Account and cart"}),Q(b3,{label:"Account",children:Q(ri,{checked:h.account_enabled??!0,onChange:O=>_({account_enabled:O}),ariaLabel:d("Account")})}),Q(b3,{label:"Cart",children:Q(ri,{checked:h.cart_enabled??!0,onChange:O=>_({cart_enabled:O}),ariaLabel:d("Cart")})}),Q(Jc,{shown:x,onChange:w})]}),F.id==="look"&&K0(Pe,{children:[Q(u6,{label:"Dimensions"}),Q(b3,{label:L0.width.label,children:Q(_7,{value:L0.width.choose(h.width),options:L0.width.options,onChange:O=>_({width:O}),ariaLabel:L0.width.label})}),K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[Q("span",{id:wR,className:"text-xs text-[var(--ink-muted)]",children:d("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??R3.default,"px"]}),Q(yb,{label:d("Height"),words:c.panel,changed:h.height_px!=null,onReset:()=>G(null)})]})]}),Q(zb,{labelledBy:wR,min:R3.min,max:R3.max,step:2,value:h.height_px??R3.default,onPreview:O=>G(O,!1),onCommit:O=>G(O,!0)}),Q(W6,{shown:x,children:d("Sets how tall the header bar is; the content below it shifts down to match.")})]}),Q(b3,{label:"Border thickness",children:Q("div",{className:"w-24",children:Q(g81,{value:h.border_thickness,min:0,max:20,precision:0,size:"sm",suffix:"px","aria-label":d("Border thickness"),onChange:O=>_({border_thickness:Math.max(0,O??0)})})})}),Q(u6,{label:"Color"}),Q(b3,{label:"Theme",children:Q(SA,{value:h.theme??ei,onChange:O=>_({theme:O===ei?null:O}),followLabel:d("Follow the site theme")})}),Q(W6,{shown:x,children:d("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.")}),Q(b3,{label:L0.topTextColor.label,children:Q(_7,{value:L0.topTextColor.choose(h.top_text_color),options:L0.topTextColor.options,onChange:O=>_({top_text_color:O}),ariaLabel:L0.topTextColor.label})}),Q(W6,{shown:x,children:d("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.")}),Q(u6,{label:"Behavior"}),Q(b3,{label:"Sticky header",children:Q("div",{className:"w-32",children:Q(Sb,{value:h.sticky,ariaLabel:d("Sticky header"),onChange:O=>_({sticky:O}),options:[{label:d("None"),value:"none"},{label:d("Always"),value:"always"},{label:d("On scroll up"),value:"on_scroll_up"}]})})}),n&&K0(Pe,{children:[Q(u6,{label:"Display mode"}),Q("p",{className:"text-[12px] text-[var(--ink-faint)]",children:d("Set the default Light / Dark / Auto mode and show or hide the light\u2194dark switch in Appearance.")}),Q(kb,{variant:"link",size:"sm",className:"self-start",onClick:n,children:d("Set up display mode \u2192")})]}),Q(Jc,{shown:x,onChange:w})]})]})]}):m?null:Q(v81,{size:"sm",padding:"p-4",label:d("Loading\u2026")})]});return o?K0("div",{className:"flex flex-col",children:[v&&Q("div",{className:"px-4 pt-2 text-[11px] text-[var(--ink-faintest)]",children:d("Saving\u2026")}),r1]}):K0(u81,{open:!0,onClose:a??(()=>{}),side:"right",size:"sm",title:d("Header"),children:[v&&Q("div",{className:"pb-2 text-[11px] text-[var(--ink-faintest)]",children:d("Saving\u2026")}),r1]})}function H81({settings:e,websiteName:t,onPick:a,onClear:s,showHint:o}){let r=!!e.logo_url,i=!r&&!!e.default_logo_url,n=F6(e.effective_logo_url),l=t&&t.trim()?t.trim():I8;return K0("div",{className:"flex flex-col gap-2",children:[Q(f81,{value:n||"",onChange:c=>{c||s()},onPick:a,accept:"image/svg+xml,.svg",acceptHint:"SVG",fit:"contain",height:80,placeholder:d("No logo \u2014 \u201C{name}\u201D wordmark shown",{name:l}),replaceLabel:r?d("Replace SVG logo"):d("Upload SVG logo"),allowRemove:r,removeLabel:d("Use company default")}),Q(W6,{shown:o,children:r?d("Custom SVG logo uploaded for this store."):i?d("Using your company logo from the database."):d("No company logo on file \u2014 upload an SVG or the wordmark is used.")})]})}function P81({token:e,menuId:t,menuName:a,itemCount:s,onPick:o}){let r=zR(),[i,n]=Q8(null),[l,c]=Q8(!1),h=G6(f=>{n(f),c(!0)},[]);ii(()=>{let f=!1;return YN(e).then(b=>!f&&h(b)).catch(()=>!f&&n([])),()=>{f=!0}},[e,h]),ii(()=>{let f=!1,b=q8(()=>{XN(e).then(x=>!f&&h(x)).catch(()=>{})});return()=>{f=!0,b()}},[e,h]);let p=i===null,m=!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:[Q(b3,{label:"Menu",children:Q("div",{className:"w-[170px] max-w-full",children:Q(Sb,{value:v,ariaLabel:d("Menu"),readOnly:p||m,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?d("Loading\u2026"):m?d("No menus"):d("Default links"),value:""},...(i??[]).map(f=>({label:`${f.name} (${f.item_count??f.items.length})`,value:f.id}))]})})}),g?Q("p",{className:"text-[12px] text-[var(--sf-warning,#b45309)]",children:nR()}):Q("p",{className:"text-[12px] text-[var(--ink-faint)]",children:v?u3("Header shows \u201C{name}\u201D \u2014 {n} link.","Header shows \u201C{name}\u201D \u2014 {n} links.",s,{name:a??d("the linked menu")}):m?d("No menus yet. Create one in {place}, then pick it here.",{place:d("Storefront \u2192 Menus")}):d("Pick a menu to drive the header links, or keep the built-in default links.")}),Q(kb,{variant:"link",size:"sm",className:"self-start",onClick:()=>r.send("storefront-editor:open-menus",{menuId:v||null}),children:v?d("Edit menu \u2192"):d("Manage menus \u2192")})]})}function W6({shown:e,children:t}){return e?Q("p",{className:"text-[11px] text-[var(--sf-muted)]",children:t}):null}function zb({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 Q("div",{onPointerUp:l=>n(l.target),onKeyUp:l=>{/^(Arrow|Home|End|Page)/.test(l.key)&&n(l.target)},children:Q(b81,{value:t,min:a,max:s,step:o,showInput:!1,size:"sm","aria-labelledby":e,valueText:l=>d("{n} pixels",{n:l}),onChange:l=>{l!=null&&r(l)}})})}function F81({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:[Q("span",{className:"text-xs text-[var(--ink-muted)]",children:d(e)}),t&&Q("span",{className:"text-[12px] text-[var(--ink-faint)]",children:d(t)})]}),a]})}function u6({label:e}){return Q(na,{label:e})}function b3({label:e,children:t,stacked:a=!1}){return a?K0("div",{className:"flex flex-col gap-y-2",children:[Q("span",{className:"text-xs text-[var(--sf-text-secondary)]",children:d(e)}),t]}):K0("div",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[Q("span",{className:"text-xs text-[var(--sf-text-secondary)]",children:d(e)}),Q("div",{className:"flex-shrink-0",children:t})]})}var N81=[{label:"Left",value:"left"},{label:"Center",value:"center"}],R81=[{label:"Left",value:"left"},{label:"Right",value:"right"}],_81=[{label:"Right",value:"left"},{label:"Centered",value:"center"},{label:"Beside logo",value:"beside"}],I81=[{label:"Own row",value:"top"},{label:"Same row",value:"inline"}],V81=[{label:$t.page,value:"page"},{label:$t.full,value:"full"}],O81=[{label:"Icon",value:"icon"},{label:"Text",value:"text"}],B81=[{label:"Uppercase",value:"uppercase"},{label:"Capitalised",value:"capitalised"}],D81=[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],L0={logoPosition:{label:"Position",options:N81,choose:e=>e==="right"?"center":e},menuAlign:{label:"Alignment",options:_81,choose:e=>e==="center"?"center":e==="beside"?"beside":"left"},menuRow:{label:"Row",options:I81,choose:e=>e==="inline"?"inline":"top"},searchPosition:{label:"Position",options:R81,choose:e=>e},width:{label:"Width",options:V81,choose:e=>e},navTextCase:{label:"Letters",options:B81,choose:e=>e==="capitalised"?"capitalised":"uppercase"},utilStyle:{label:"Show as",options:O81,choose:e=>e==="text"?"text":"icon"},topTextColor:{label:"Text color at the top",options:D81,choose:e=>Ja(e)}};function Z81({tabs:e,activeId:t,onSelect:a}){return Q("div",{className:"es-insp-tabs",children:Q(x81,{variant:"underline",block:!0,labelsFit:!0,"aria-label":d("Header settings"),idPrefix:Cb,value:t,onChange:a,items:e.map(s=>({id:s.id,icon:s.icon,label:d(s.label)}))})})}import{useState as Ab}from"react";import{Banner as G81,Button as Tb}from"efficient-shell/ui";import{createNode as W81,newId as U81}from"efficient-easel/data";import{useEasel as q81}from"efficient-easel/easel";import{useScreenDocument as $81}from"efficient-easel/screen/components/ScreenDocumentContext";function kR(e){return typeof e=="number"&&Number.isInteger(e)&&e>=R3.min&&e<=R3.max?e:R3.default}var dp="fixed inset-x-0 bottom-0 top-[var(--sf-header-h,88px)]",up=e=>!!e&&e.startsWith("/wheels/")&&e!=="/wheels",gp=(e,t)=>!e&&t?"var(--section-bg)":"var(--bg)",SR=e=>e==="capitalised"?"capitalised":"uppercase",li=e=>e==="inline"?"inline":e==="top"||e==="bottom"?"top":null;var CR="Flex",MR=10;function LR(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:T,url:F,dropdown_items:M})=>({label:T,url:F,...M?.length?{dropdown_items:M.map(z=>({label:z.label,url:z.url}))}:{}}))},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:Z6(e.country_selector_show_as)}):null,t("ThemeSwitchBlock"),e.account_enabled!==!1?t("AccountBlock",{style:o}):null,e.cart_enabled!==!1?t("CartBlock",{style:o}):null,n?null:i].filter(T=>T!==null),c=t("LogoBlock",{...s?{heightPx:s}:{},...e.reverse_logo!=null?{reverse:e.reverse_logo?"auto":"off"}:{}}),h=T=>t("MenuBlock",{menu:r,direction:"row",...T}),p=li(e.menu_row)==="inline"?32:20,m=T=>t(CR,{direction:"row",justify:"end",align:"center",share:"content",wrap:"nowrap",phoneRow:3,gap:p,content:T}),u=Math.min(Math.max(e.menu_split??3,1),4),v=e.logo_position==="center"&&r.items.length>u,g=e.menu_position==="center"?"center":e.menu_position==="beside"?"start":"end",f=!v&&g==="start"?e.menu_gap_px??32:32,b=v?[h({linkAlign:"start",linkRange:{from:1,to:u}}),c,m([h({linkAlign:"end",linkRange:{from:u+1}}),...l])]:[c,h({linkAlign:g}),...l.length?[m(l)]:[]],x=t(CR,{direction:"row",justify:"between",align:"center",share:"content",wrap:"nowrap",phoneRow:3,sectionPaddingTop:MR,sectionPaddingBottom:MR,gap:f,content:b}),w=GM(t5,a,[x]),k=ti(e.theme),A=li(e.menu_row);return{...w,props:{...w.props,sticky:e.sticky??"always",topTextColor:e.top_text_color??"auto",...e.height_px!=null?{heightPx:e.height_px}:{},...e.width==="full"?{fullWidth:!0}:{},...k!==null?{sectionAccent:k}:{},...e.nav_text_case?{navTextCase:e.nav_text_case}:{},...A?{menuRow:A}:{}}}}async function Lb(e,t,a,s){let o=await Ee(e,t),r=o.logo_size_px??yr[o.logo_size];return LR(o,a,s,{logoHeightPx:r})}var AR={siteHeader:async({make:e,id:t,siteId:a,token:s})=>s?Lb(s,a,e,t):null};import{Fragment as j81,jsx as vp,jsxs as K81}from"react/jsx-runtime";function Eb(){let{appState:e,dispatch:t,config:a}=q81(g=>g),{readOnly:s,tokenRef:o,siteId:r}=$81(),[i,n]=Ab(!1),[l,c]=Ab(!1),[h,p]=Ab(!1),m=e.data.content;if(s||m.some(g=>g.type===t5))return null;let u=(g,f)=>W81(a,g,f),v=async()=>{let g=o.current;if(!(!g||l)){c(!0),p(!1);try{let f=await Lb(g,r,u,U81(t5));t({type:"setData",data:b=>({...b,content:[...WM(b.content,f)]}),recordHistory:!0}),n(!1)}catch{p(!0)}finally{c(!1)}}};return vp(G81,{tone:h?"danger":"info",title:d("This header uses the old layout"),action:i?K81(j81,{children:[vp(Tb,{variant:"primary",size:"sm",onClick:v,disabled:l,children:l?d("Switching\u2026"):d("Switch now")}),vp(Tb,{variant:"secondary",size:"sm",onClick:()=>n(!1),disabled:l,children:d("Cancel")})]}):vp(Tb,{variant:"secondary",size:"sm",onClick:()=>n(!0),children:d("Switch to Box header")}),children:h?d("The header settings could not be read. Try again."):d("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 X81,jsx as fp,jsxs as J81}from"react/jsx-runtime";function Hb({placeholderMode:e,tokenRef:t,siteId:a,websiteName:s,onOpenWebsiteSettings:o,onAuthExpired:r}){return J81(X81,{children:[fp(Y81,{rule:ni,values:null,context:{placeholderMode:e},children:fp("div",{className:"px-4 pt-3 pb-1",children:fp(Eb,{})})}),fp(Mb,{inline:!0,placeholderMode:e,tokenRef:t,siteId:a,websiteName:s??void 0,onOpenWebsiteSettings:o,onAuthExpired:r})]})}import{useEffect as e91,useState as t91}from"react";import{currentEaselSession as Q81}from"efficient-easel/screen/lib/session";function Qa({fetch:e,keyBy:t}){let a=null,s=null,o=null;return(r=!1)=>{let i=U3(),n=t?t():null;return(r||!a||s===null&&i!==null||o!==n)&&(s=i,o=n,a=i||!Q81().usesBridgedToken?e(i??"",n).catch(()=>[]):Promise.resolve([])),a}}var U6=Qa({fetch:(e,t)=>R1.listProducts(e,{siteId:t,kinds:["alloy-wheel","tyre"]}),keyBy:D2}),Z2=(e=!1)=>U6(e).then(t=>t.filter(a=>a.kind==="alloy-wheel"));function TR(e,t=!0){let[a,s]=t91(null);return e91(()=>{if(!t)return;let o=!1;return e().then(r=>{o||s(r)}),()=>{o=!0}},[e,t]),t?a:null}function bp(){return TR(Z2)}function xp(e=!0){return TR(U6,e)}var HR={list:async()=>(await Z2()).map(e=>({slug:e.slug,name:e.name,href:ic(e.slug)}))},ER=new Map;function a91(e){let t=e??"",a=U3(),s=ER.get(t);if(s&&!(s.token===null&&a!==null))return s.promise;let o=a&&e?R1.listFieldUsage(a,e).then(nN).catch(()=>[]):Promise.resolve([]);return ER.set(t,{promise:o,token:a}),o}var PR={load:async e=>{let[t,a]=await Promise.all([U6().catch(()=>[]),a91(e??void 0)]);return lN({catalogue:t,fieldUsage:a,offersCommerce:!0})}};var Pb=[{key:"cart",label:"Cart",href:"/?cart=open"},{key:"checkout",label:"Checkout",href:"/checkout"}],s91=Object.fromEntries(Pb.map(e=>[e.key,e]));function FR(e){return s91[e]}import{jsx as ci,jsxs as NR}from"react/jsx-runtime";var o91={cart:NR("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:[ci("circle",{cx:"9",cy:"20",r:"1.4"}),ci("circle",{cx:"18",cy:"20",r:"1.4"}),ci("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:NR("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:[ci("rect",{x:"2.5",y:"5",width:"19",height:"14",rx:"2"}),ci("path",{d:"M2.5 9.5h19"})]})},RR={get title(){return d("Shop")},get rows(){return Pb.map(e=>({...e,label:d(e.label),icon:o91[e.key]}))}};import{createEaselSession as jL1}from"efficient-easel/screen/lib/session";import{Inline as i91,InputNumber as OR}from"efficient-shell/ui";import{SettingsField as n91}from"efficient-easel/panel";import{ListIcon as l91}from"efficient-easel/icons";var r91=["start","center","end"],IR=e=>r91.includes(e)?e:null,_R=e=>typeof e=="number"&&Number.isInteger(e)&&e>=1?e:void 0;function hi(e){if(!e||typeof e!="object")return null;let t=_R(e.from)??1,a=_R(e.to);return a!==void 0&&a<t||t===1&&a===void 0?null:a===void 0?{from:t}:{from:t,to:a}}var VR=(e,t)=>t>=e.from&&(e.to===void 0||t<=e.to);import{jsx as wp,jsxs as c91}from"react/jsx-runtime";function Fb({value:e,onChange:t}){let a=hi(e),s=a?.from??1,o=a?.to??null,r=(i,n)=>t(hi({from:i??1,to:n??void 0}));return wp(n91,{label:d("Show links"),icon:wp(l91,{}),changed:a!==null,hint:d("The links this menu shows on a computer. Empty To means to the end."),children:c91(i91,{gap:2,wrap:!1,children:[wp(OR,{size:"sm",prefix:d("From"),min:1,precision:0,value:s,"aria-label":d("Show links from"),onChange:i=>r(i,o)}),wp(OR,{size:"sm",prefix:d("To"),min:1,precision:0,placeholder:d("End"),value:o,"aria-label":d("Show links to"),onChange:i=>r(s,i)})]})})}import{createContext as h91,useCallback as pi,useContext as p91,useEffect as Rb,useMemo as m91,useRef as d91,useState as e9}from"react";function BR(e,t){return`${(hh||(typeof window<"u"?window.location.origin:"")).replace(/^http/,"ws")}/ws/chat/?conversation=${e}&token=${encodeURIComponent(t)}`}var Nb="/api/chat/public";function DR(e){let t=kr.getAccess();return t?{token:t}:e?{headers:{"X-Chat-Token":e}}:{}}async function ZR(e){let t=kr.getAccess();return B8(`${Nb}/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 GR(e,t){return B8(`${Nb}/conversations/${e}/thread/`,DR(t))}async function WR(e,t,a){return B8(`${Nb}/conversations/${e}/thread/`,{method:"POST",body:JSON.stringify({body:a}),...DR(t)})}import{jsx as v91}from"react/jsx-runtime";var u91="sf:aid",UR="sf:chat",qR=h91(null);function g91(){let e=N3.getItem(UR);if(!e)return null;try{return JSON.parse(e)}catch{return null}}function $R({children:e,preview:t=!1}){let[a,s]=e9(!1),[o,r]=e9(null),[i,n]=e9([]),[l,c]=e9(!1),[h,p]=e9(null),[m,u]=e9(0),[v,g]=e9(!1),[f,b]=e9(!1),x=d91(a);x.current=a,Rb(()=>{t||(r(g91()),JE.restoreSession().then(()=>g(!0)).catch(()=>g(!1)))},[t]);let w=pi(async z=>{try{let E=await GR(z.id,z.token);n(E.messages)}catch{}},[]);Rb(()=>{t||o&&w(o)},[t,o,w,v]),Rb(()=>{if(t||!o)return;let z=kr.getAccess()??o.token,E=!1,N=null,R,D=3e3,V=()=>{E||(N=new WebSocket(BR(o.id,z)),N.onmessage=_=>{try{let B=JSON.parse(_.data);B.type==="chat_event"&&B.event==="message"&&(w(o),!x.current&&B.payload?.sender_role==="employee"&&u(Z=>Z+1))}catch{}},N.onclose=()=>{E||(R=setTimeout(V,D),D=Math.min(D*2,3e4))},N.onerror=()=>N?.close())};return V(),()=>{E=!0,R&&clearTimeout(R),N?.close()}},[t,o,w]);let k=pi(()=>{s(!0),u(0)},[]),A=pi(()=>s(!1),[]),T=pi(()=>s(z=>(z||u(0),!z)),[]),F=pi(async(z,E)=>{let N=z.trim();if(N){if(t){n(R=>[...R,{id:`preview-${R.length}`,sender_role:"customer",sender_name:E?.name||"You",body:N,image_url:null,created_at:""}]),b(!0);return}c(!0),p(null);try{if(o){let R=await WR(o.id,o.token,N);n(D=>[...D,R])}else{let R=N3.getItem(u91)||"",D=await ZR({body:N,guestName:E?.name,guestEmail:E?.email,guestKey:R}),V={id:D.id,token:D.guest_token};N3.setItem(UR,JSON.stringify(V)),r(V),n(D.messages)}}catch{p("Could not send your message. Please try again shortly.")}finally{c(!1)}}},[o,t]),M=m91(()=>({isOpen:a,open:k,close:A,toggle:T,messages:i,sending:l,error:h,unread:m,hasConversation:t?f:!!o,isSignedIn:v,send:F}),[a,k,A,T,i,l,h,m,o,v,F,t,f]);return v91(qR.Provider,{value:M,children:e})}function jR(){let e=p91(qR);if(!e)throw new Error("useChat must be used within <ChatProvider>");return e}import{useEffect as N91,useRef as R91,useState as Vb}from"react";import{ChatBubbleLeftRightIcon as f91,ChatBubbleOvalLeftEllipsisIcon as b91,ChatIcon as x91,MegaphoneIcon as w91,PhoneIcon as y91,SparklesIcon as z91}from"efficient-shell/icons/efficient-glyphs";import{Fragment as E91,jsx as yp,jsxs as KR}from"react/jsx-runtime";var k91={"chat-bubble-left-right":f91,"chat-bubble-oval-left-ellipsis":b91,chat:x91,megaphone:w91,phone:y91,sparkles:z91};function S91(e){let t=KT(e?.launcherColor)||"var(--btn)";return{"--assistant-launcher-bg":t,"--assistant-launcher-ink":t==="var(--btn)"?"var(--btn-ink)":Ul(t),"--assistant-launcher-bg-hover":`color-mix(in oklab, ${t} 85%, black)`}}function C91(e){return e?.launcherLabel?.trim()??""}function _b(e){return jT(e?.launcherPosition)==="left"}var M91={position:"fixed",bottom:16,minWidth:48,height:48,padding:0,display:"flex",alignItems:"center",border:0,borderRadius:9999,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)"},L91={width:48,height:48,flex:"none",display:"flex",alignItems:"center",justifyContent:"center"},A91="[data-chat-launcher-label]{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:500;line-height:1;transition:max-width 120ms ease-out,opacity 120ms ease-out,padding 120ms ease-out}[data-chat-launcher]:hover [data-chat-launcher-label],[data-chat-launcher]:focus-visible [data-chat-launcher-label]{max-width:16em;opacity:1;padding-inline-end:16px}@media (prefers-reduced-motion:reduce){[data-chat-launcher-label]{transition:none}}",T91=`@media ${iL}{[data-chat-launcher][data-hide-on-phones]{display:none!important}}`;function Ib({label:e,onOpen:t,onWarm:a,zIndex:s=1e3,badge:o,look:r}){let i=$T(r?.launcherIcon),n=k91[i],l=C91(r),c=_b(r),h=r?.showOnPhones===!1,p=(l?A91:"")+(h?T91:"");return KR(E91,{children:[p&&yp("style",{children:p}),KR("button",{type:"button","aria-label":e,onClick:t,onPointerEnter:a,onFocus:a,"data-sf-floating":"","data-chat-launcher":"","data-side":c?"left":"right","data-hide-on-phones":h?"":void 0,style:{...S91(r),...M91,...c?{left:16}:{right:16},zIndex:s},children:[yp("span",{style:L91,children:yp(n,{size:22,"data-icon":i})}),l&&yp("span",{"data-chat-launcher-label":"",children:l}),o]})]})}import{useEffect as H91,useState as P91}from"react";var YR="(prefers-reduced-motion: reduce)";function F91(){return globalThis.window?.matchMedia?.(YR)?.matches??!1}function Z7(){return F91()?"auto":"smooth"}function XR(){let[e,t]=P91(!1);return H91(()=>{let a=globalThis.window?.matchMedia?.(YR);if(!a||(t(a.matches),typeof a.addEventListener!="function"))return;let s=o=>t(o.matches);return a.addEventListener("change",s),()=>a.removeEventListener("change",s)},[]),e}import{jsx as S2,jsxs as G7}from"react/jsx-runtime";var _91="Chat with us",I91="We usually reply within a few minutes",V91="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function O91({m:e}){if(e.sender_role==="system")return S2("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 S2("div",{className:`flex ${a?"justify-start":"justify-end"}`,children:G7("div",{className:`max-w-[80%] rounded-2xl px-3 py-2 text-sm ${a?"bg-fg/5 text-fg":"bg-accent text-accent-ink"}`,children:[a&&G7("div",{className:"mb-0.5 flex items-center gap-1 text-[10px] font-semibold uppercase tracking-wide text-fg/50",children:[t&&S2("span",{"aria-hidden":"true",children:"\u2726"}),S2("span",{children:t?e.sender_name||"Assistant":e.sender_name||"Support"}),t&&S2("span",{className:"font-normal normal-case tracking-normal",children:"\xB7 automated"})]}),e.body&&S2("p",{className:"whitespace-pre-wrap",children:e.body}),e.image_url&&S2("a",{href:e.image_url,target:"_blank",rel:"noopener noreferrer",children:S2("img",{...r2(e.image_url,{fallbackWidth:640,maxWidth:1280}),sizes:"(max-width: 640px) 80vw, 320px",alt:"Attachment",className:"mt-2 max-h-48 w-auto rounded-lg"})})]})})}function Ob({title:e,subtitle:t,greeting:a,look:s}={}){let{isOpen:o,toggle:r,close:i,messages:n,sending:l,error:c,unread:h,hasConversation:p,isSignedIn:m,send:u}=jR(),v=e?.trim()||_91,g=t?.trim()||I91,f=a?.trim()||V91,[b,x]=Vb(""),[w,k]=Vb(""),[A,T]=Vb(""),F=R91(null),M=!m&&!p;N91(()=>{o&&F.current?.scrollIntoView({behavior:Z7(),block:"nearest"})},[n.length,o]);let z=b.trim().length>0&&(!M||w.trim()&&/.+@.+/.test(A)),E=()=>{!z||l||(u(b,M?{name:w.trim(),email:A.trim()}:void 0),x(""))};return o?G7("aside",{role:"dialog","aria-label":"Chat with us","data-sf-floating":"",className:`fixed bottom-5 ${_b(s)?"left-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:[G7("div",{className:"flex items-center justify-between border-b border-line px-4 py-3",children:[G7("div",{children:[S2("div",{className:"text-sm font-semibold text-fg",children:v}),S2("div",{className:"text-[11px] text-fg/50",children:g})]}),S2("button",{type:"button",onClick:i,"aria-label":"Close chat",className:"rounded-md p-1 text-fg/60 hover:bg-fg/5",children:S2("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.8,children:S2("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),G7("div",{className:"flex-1 space-y-2 overflow-y-auto px-3 py-3",children:[n.length===0&&S2("p",{className:"px-2 py-4 text-center text-sm text-fg/50",children:f}),n.map(N=>S2(O91,{m:N},N.id)),S2("div",{ref:F})]}),G7("div",{className:"border-t border-line p-3",children:[M&&G7("div",{className:"mb-2 grid grid-cols-2 gap-2",children:[S2("input",{value:w,onChange:N=>k(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"}),S2("input",{value:A,onChange:N=>T(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"})]}),c&&S2("p",{className:"mb-2 text-xs text-red-600",children:c}),G7("div",{className:"flex items-end gap-2",children:[S2("textarea",{value:b,onChange:N=>x(N.target.value),onKeyDown:N=>{N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),E())},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"}),S2("button",{type:"button",onClick:E,disabled:!z||l,className:"rounded-lg bg-btn px-3 py-2 text-sm font-semibold text-btn-ink disabled:opacity-40",children:l?"\u2026":"Send"})]})]})]}):S2(Ib,{label:H2(v),onOpen:r,zIndex:60,look:s,badge:h>0&&S2("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:h})})}import{jsx as Bb,jsxs as D91}from"react/jsx-runtime";var B91=`
|
|
3
|
+
`+E2),z1&&(E2=yl(E2)),z&&f2?_(E2):E2},t.setConfig=function(){let n1=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Kg(n1),$0=!0,I2=k1,V2=c0},t.clearConfig=function(){Rt=null,$0=!1,I2=null,V2=null,z=N,E=""},t.isValidAttribute=function(n1,C,W){Rt||Kg({});let s1=O2(n1),m1=O2(C);return aM(s1,m1,W)},t.addHook=function(n1,C){typeof C=="function"&&O4(O,n1)&&Fi(O[n1],C)},t.removeHook=function(n1,C){if(O4(O,n1)){if(C!==void 0){let W=el1(O[n1],C);return W===-1?void 0:tl1(O[n1],W,1)[0]}return QD(O[n1])}},t.removeHooks=function(n1){O4(O,n1)&&(O[n1]=[])},t.removeAllHooks=function(){O=pZ()},t}var Ml1=gZ();vZ.exports=Ml1});import{useEffect as YL1,useMemo as XL1,useState as N31}from"react";import{useEaselStrings as JL1}from"efficient-easel/strings";import{jsx as P4,jsxs as q51}from"react/jsx-runtime";import{useCallback as k2,useEffect as Me,useMemo as rF,useRef as Fa,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 kH={name:"catalogueLabel",applies:e=>Object.prototype.hasOwnProperty.call(lr,e),draw(e,t){e.label=lr[t]}};import{jsx as Q31}from"react/jsx-runtime";var SH={name:"sectionGroupAllow",applies:e=>Rl.includes(e),panel(e,t,a,s){let o=e.fields?.sections;o&&(o.allow=[...s.sectionGroupAllow])}},nf=new Set(Object.keys(Y1)),CH={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=>!nf.has(l)):o;i.disallow=Array.from(new Set([...i.disallow??[],...n]))}}};var e41=Array.from(new Set([...cM.map(e=>e.type),...nf,...Cl,"GalleryItem"])),t41={not:{context:"parentOffersPositions",is:!1}},MH={name:"cellWidth",applies:(e,t,a)=>e41.includes(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.cellWidthFields;e.fields={...e.fields,...s()},e.fields=r6(e.fields??{},Object.keys(s()),t41)},draw(e){let t=e.render;e.render=a=>{let s=OM(a.gridSpan),o=t(a);return s==null?o:Q31("div",{className:"sf-grid-cell",[BM]:String(s),children:o})}}};import{jsx as _H}from"react/jsx-runtime";import{Fragment as LH,jsx as Lr,jsxs as a41}from"react/jsx-runtime";import{createContext as lf,useContext as Ar,useId as s41,useMemo as o41}from"react";var wh=lf(null),AH=lf(null),TH=lf(null);function EH({needles:e,styles:t,type:a,children:s}){let o=s41(),r=JSON.stringify([o,e,t,a]),i=o41(()=>pL(e,t,o,n=>Gl(a,n),n=>Zl(a,n)),[r]);return i?a41(LH,{children:[Lr("style",{href:`${r41}${o}-${i41(mv(i))}`,precedence:HH,dangerouslySetInnerHTML:{__html:mv(i).replace(/</g,"\\3c ")}}),Lr(wh.Provider,{value:i,children:s})]}):Lr(LH,{children:s})}var HH="sf-part-styles",r41=`${HH}-`;function i41(e){let t=2166136261;for(let a=0;a<e.length;a+=1)t^=e.charCodeAt(a),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function PH(e){let t=Ar(wh),a=Ar(AH),s=mL(t,e);return s&&s.stamp!==a?s:null}function FH(e){return pv(Ar(wh),e)}function NH({stamp:e,children:t}){return Lr(AH.Provider,{value:e,children:t})}function yh({children:e}){let t=Ar(wh);return Lr(TH.Provider,{value:t,children:e})}function RH(e){return pv(Ar(TH),e)}var IH={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=Gt(n);return n.puck?.isEditing&&i?_H(i,{needles:nv(o(),n),styles:l,type:t,children:r(n)}):Object.keys(l).length?_H(EH,{needles:nv(o(),n),styles:l,type:t,children:r(n)}):r(n)}}};import{jsx as VH}from"react/jsx-runtime";var OH={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=Kl(a.sectionCorners,a.sectionCornerSides),o=t(a),r=tc(a)?`sf-section-corners ${IL}`:"sf-section-corners";return s?VH("div",{className:r,style:{display:"contents",...s},children:o}):o}}},cf=["CollectionCard"],BH={name:"cardCorners",applies:(e,t,a)=>cf.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=VL(a.cardCorners,a.cardCornerSides),o=t(a);return s?VH("div",{className:"sf-card-corners",style:{display:"contents",...s},children:o}):o}}};var DH={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 ZH={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 GH={name:"hiddenNodes",applies:(e,t,a)=>typeof a?.render=="function",draw(e){let t=e.render;e.render=a=>a._hidden?null:t(a)}};var WH=jt.mediaFields,n41=e=>sc(e)?e.src:e;function l41(e,t){let a=t;for(let s of WH[e]??[])a=oc(a,s,n41);return a}var UH={name:"mediaValues",applies:(e,t,a)=>typeof a?.render=="function"&&(WH[e]?.length??0)>0,draw(e,t){let a=e.render;e.render=s=>a(l41(t,s))}};import{jsx as qH,Fragment as c41,jsxs as h41}from"react/jsx-runtime";function p41({anchor:e}){let t=kv(typeof e=="string"?e:"");return t?qH("span",{id:t,className:"sf-section-anchor","aria-hidden":"true"}):null}var $H={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=>h41(c41,{children:[qH(p41,{anchor:a.anchor}),t(a)]})}};import{jsx as u41}from"react/jsx-runtime";import{jsx as m41}from"react/jsx-runtime";import{useEffect as d41,useRef as jH}from"react";function KH({motion:e,editing:t,children:a}){let s=jH(null),o=jH(e);return d41(()=>{let r=s.current;if(r){if(t){if(o.current===e)return;o.current=e,aA(r);return}return tA(r)}},[e,t]),m41("div",{ref:s,[eA]:e,children:a})}var YH={name:"sectionAnimation",applies:(e,t,a)=>t.isSection(e)&&!sA.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=QL(s.sectionAnimation);return o?u41(KH,{motion:o,editing:!!s.puck?.isEditing,children:a(s)}):a(s)}}};import{jsx as g41}from"react/jsx-runtime";var v41=[[["sectionHeightValue"],d3("sectionHeightMode",mr,"auto",["fixed","screen"])],[["sectionHeightUnit"],d3("sectionHeightMode",mr,"auto",["fixed"])],[["sectionHeightValuePhone"],d3("sectionHeightModePhone",mr,"auto",["fixed","screen"])],[["sectionHeightUnitPhone"],d3("sectionHeightModePhone",mr,"auto",["fixed"])]],QH={name:"sectionHeight",applies:(e,t,a)=>t.isSection(e)&&!rA.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.heightFields;e.fields={...e.fields,...H1(s(),v41)};let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=r?.props??{},c=oA(l),h=iA(l)?nA(l):null;return n&&typeof n.then=="function"?n.then(p=>JH(XH(p,c),h)):JH(XH(n,c),h)}},draw(e){let t=e.render;e.render=a=>{let s=lA(a);return s?g41("div",{className:s.className,style:s.style,children:t(a)}):t(a)}}};function XH(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 JH(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 f41}from"react/jsx-runtime";var eP=aP("sectionSticky",(e,t,a)=>t.isSection(e)&&!cA.has(e)&&!!a&&typeof a.render=="function"),tP=aP("cardSticky",(e,t,a)=>cf.includes(e)&&!!a&&typeof a.render=="function");function aP(e,t){return{name:e,applies:t,panel(a,s,o){a.fields={...a.fields,...H1(o.stickFields(),b41)}},draw(a){let s=a.render;a.render=o=>{let r=hA(o);return r?f41("div",{className:r.className,style:r.style,children:s(o)}):s(o)}}}}var b41=[[["stickTopDistance"],{field:"stickTop",is:!0}],[["stickTopDistancePhone"],{field:"stickTopPhone",is:!0}]];import{jsx as S41}from"react/jsx-runtime";import{jsx as w41}from"react/jsx-runtime";var zh="sf-card",s3={min:0,max:100,step:5,fallback:0,unit:"%"},U8=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],x41="68%",H4={desktop:20,phone:20,side:40,sidePhone:24},sP="sf-box-sides";function ye(e){return typeof e=="string"&&e.trim()!==""}function kh(e,t){let a=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(a)||a<=0)return null;let s=(Math.min(s3.max,Math.max(s3.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) ${x41})`}}function Sh(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 Ch={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}},oP=new Set(Object.keys(Ch)),Mh=new Set(["Flex","Text","Heading"]),y41=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),rP=new Set(["ProductGrid"]);function hf(e,t,a=!1){let s=e.render;e.render=o=>{if(t?.(o))return s(o);let r=a?le(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone,o.sectionPaddingLeft,o.sectionPaddingRight,o.sectionPaddingLeftPhone,o.sectionPaddingRightPhone):le(o.sectionPaddingTop,o.sectionPaddingBottom,o.sectionPaddingTopPhone,o.sectionPaddingBottomPhone),i=s(o);return r?w41("div",{className:r.className,style:r.style,children:i}):i}}var iP={name:"sectionPadding",applies:(e,t,a)=>t.isSection(e)&&!y41.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){oP.has(t)||rP.has(t)||(e.fields={...e.fields,...a.sidesPaddingFields()})},draw(e,t){if(oP.has(t)){let a=e.render,s=Ch[t];e.render=o=>{let r=mA(o,s);return a({...o,padTop:r.top,padBottom:r.bottom})};return}if(rP.has(t)){hf(e);return}Mh.has(t)||hf(e,t==="Flex"?a=>ye(a.bgImage):void 0,!0)}},z41=["Heading","Text"],k41=["LogoBlock"],nP={name:"blockPadding",applies:(e,t,a)=>(z41.includes(e)||k41.includes(e))&&!!a&&typeof a.render=="function",panel(e,t,a){e.fields={...e.fields,...a.sidesPaddingFields()}},draw(e,t){Mh.has(t)||hf(e,void 0,!0)}};var lP={name:"sectionBorder",applies:(e,t,a)=>t.isSection(e)&&!!a&&typeof a.render=="function",draw(e,t){if(Mh.has(t))return;let a=e.render;e.render=s=>{let o=cc(s.sectionBorder,s.sectionBorderPhone),r=a(s);return o?S41("div",{className:lc,style:{display:"contents",...o},children:r}):r}}};import{jsx as C41}from"react/jsx-runtime";var cP={name:"sectionTheme",applies:(e,t,a)=>t.isSection(e)&&!XL.has(e)&&!!a&&typeof a.render=="function",panel(e,t,a){let{sectionThemeFields:s,SECTION_THEME_FOLLOW_LABEL:o}=a,r=Cv.has(t);e.fields={...e.fields,...r?s(I6,o):s()}},draw(e,t){let a=Cv.has(t),s=e.render;e.render=o=>{let r=Yt(a?{...o,sectionAccent:I6(o.sectionAccent)}:o),i=s(o);return r?C41("div",{className:r.className,style:r.style,children:i}):i}}},hP={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(I6,o)})}};import{jsx as r5}from"react/jsx-runtime";var ze={min:40,max:2e3,step:10,fallback:2e3,unit:"px"};function pP(e){return typeof e!="number"?null:{width:`${e}${ze.unit}`,maxWidth:"100%"}}var M41=new Set(["Flex","Grid"]);function pf(e,t){return e&&!t}var L41=e=>Array.isArray(e)&&e.length>0&&typeof e[0]=="object"&&e[0]!==null&&"type"in e[0];function mP(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=M41.has(n)&&pf(ac(n,i).content!=="full",o);for(let c of Object.values(i)){if(!L41(c))continue;let h=a(c,o||l);if(h!==void 0)return h}}};return a(e,!1)}import{jsx as ke}from"react/jsx-runtime";import{createContext as gP,useContext as dP}from"react";var uP=gP(!1),mf=gP(!1);function vP({children:e}){return ke(mf.Provider,{value:!0,children:e})}function Ea({contained:e,framedClass:t,fillClass:a,columnClass:s,style:o,tabLabel:r,pad:i,border:n,children:l}){let c=dP(uP),h=dP(mf),p=pf(e,c),m=p&&!h,u=i&&!m?uA(i.values,i.frame):null,v=n&&!m?n:null,g=[m?t:a,u?.className,v?pA:null].filter(Boolean).join(" "),f=u||v?{...o,...u?.style,...v}:o,b=p?ke(uP.Provider,{value:!0,children:l}):l,x=ke("div",{className:g,style:f,"data-tab-label":r,children:h?ke(mf.Provider,{value:!1,children:p?ke("div",{className:s,children:b}):b}):b}),w=i&&m?dA(i.values):null,k=w?ke("div",{className:w.className,style:w.style,children:x}):x;return n&&m?ke("div",{className:lc,style:{display:"contents",...n},children:k}):k}import{jsx as A41}from"react/jsx-runtime";var Se="mx-auto w-full max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)]",Ce="max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",Ha=`${Se} ${Ce}`,T41="mx-auto w-full max-w-[1280px] px-[60px]",E41="max-[960px]:px-6",TT1=`${T41} ${E41}`;function i2({contained:e,className:t="",style:a,pad:s,children:o}){return A41(Ea,{contained:e,framedClass:`${Ha} ${t}`,fillClass:`w-full ${t}`,columnClass:Ha,style:a,pad:s,children:o})}function fP(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 Lh(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 H41=new Set(["ProductGrid","RelatedProducts","DeliveryOptions","CheckoutCTA","Ticker","CategoryBar","DocTabs","CustomHTML","Spacer"]),P41=new Set(["ProductHero"]),F41=new Set(["Collections","CatalogFilterBar","AlloyWheelsListing","DeliveryOptions","CheckoutCTA","ProductHero","ProductGrid","DetailRows","FitmentTable","TyreSizes","TyreFitment","EuTyreLabel","BundleOffer","CompatibleTyres","RelatedProducts","FitmentFinder","SpecTable","Subscribe","SubscribeBlogs","ContactRouting","SubmitBuild"]);function Ah(e,t){return jL(e)?!F41.has(e)||t?.widthRows==="two":!1}var Pr="--sf-sw-site",N41="--sf-sw-content",R41="--sf-bg-cap",_41="contents [--sf-site-width:var(--sf-sw-content)] max-[800px]:[--sf-site-width:var(--sf-sw-site)]";function Tr(e,t){let a=t==="content";return e.content==="full"?a?null:"100vw":e.content==="content"&&e.contentMax!==null?a?`min(${e.contentMax}px,var(${Pr}))`:`${e.contentMax}px`:null}function Er(e,t){return t===null?e:r5("div",{className:"contents",style:{[Pr]:l4},children:r5("div",{className:_41,style:{[N41]:t},children:e})})}var I41="--sf-content-cap",V41="contents max-[800px]:[--sf-content-cap:none]";function O41(e,t){if((e.content??"content")==="full")return null;let a=t==="content";return e.contentMax!==null?a?`min(${e.contentMax}px,var(${Pr}))`:`${e.contentMax}px`:a?null:`var(${Pr})`}function B41(e,t){return t===null?e:r5("div",{className:"contents",style:{[Pr]:l4},children:r5("div",{className:V41,style:{[I41]:t},children:e})})}var Hr=(e,t)=>e==="content"?r5("div",{style:ie(l4),children:t}):t;function D41(e,t){let a=wv[t],s=e.render;e.render=o=>{let r=KL(o),i=ac(t,o),n={...i,content:i.content??r.content};if(a==="hero"){let h=n.background??r.background,p=Er(s(o),Tr(n,h));return h==="full"?r5("div",{style:{[UL]:"none",[Yl]:"initial",[Xl]:"initial"},children:p}):h==="content"?r5("div",{style:Jl(!0),children:p}):p}let l=n.background??r.background??"full";if(a==="scrollOver"){let h=(n.content??"content")==="full",p=Er(s({...o,fullWidth:h}),h?null:Tr(n,l));return l==="content"?r5("div",{className:"contents",style:{[R41]:l4},children:p}):p}let c=n.content??"content";switch(a){case"both":return Hr(l,B41(s(o),O41(n,l)));case"contained":{if(c==="full")return Hr(l,s({...o,contained:!1}));let h=Tr(n,l);if(l==="content"&&h===null)return s({...o,contained:!0});let p=r5(vP,{children:s({...o,contained:!0})});return Hr(l,Er(p,h))}case"contentColumn":case"contentFull":case"productGrid":{let h={...o,widthMode:c==="full"?"full":"page",fullWidth:void 0,pageWidth:void 0,contained:void 0},p=Er(s(h),c==="full"?null:Tr(n,l));return a==="productGrid"?l==="content"?r5("div",{className:Ha,children:p}):p:Hr(l,p)}default:return Hr(l,Er(s(o),Tr(n,l)))}}}var bP={name:"sectionWidth",applies:(e,t,a)=>(t.isSection(e)&&!H41.has(e)||Ah(e,a))&&!!a&&typeof a.render=="function",panel(e,t,a){if(Ah(t,e)){let r=a.sectionWidthFields(t),i={...e.fields,...r};e.fields=wv[t]==="contained"?yP(t,e,i,Object.keys(r)):i;return}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=i6(r?.props??{},"full");return n&&typeof n.then=="function"?n.then(c=>df(c,l)):df(n,l)}},draw(e,t){if(Ah(t,e)){D41(e,t);return}let a=P41.has(t),s=e.render;e.render=o=>{let{mode:r}=i6(o,"full"),i=s(o);if(r==="full")return i;let n=ie(l4);return a?r5("div",{style:{"--sf-page-cap":l4},children:i}):r5("div",{style:n,children:i})}}};function df(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 Z41=new Set(["Heading","Text","ImageBlock","ButtonBlock","Banner","Stats","Logos","Divider","Flex","Grid","OrderSummary","DeliveryOptions","PaymentBadges","CheckoutCTA"]),xP={name:"containedWidth",applies:(e,t,a)=>Z41.has(e)&&!Ah(e,a)&&!!a&&typeof a.render=="function",panel(e,t,a){let s=a.widthField;e.fields=yP(t,e,{...e.fields,...s("page")});let o=e.resolveFields;e.resolveFields=(r,i)=>{let n=o?o(r,i):i.fields,l=i6(r?.props??{},"page"),c=h=>df(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}=i6(a,"page");return t({...a,contained:s!=="full"})}}},G41={not:{context:"inHeroGroupRow",is:!0}},wP={name:"buttonAlignInRow",applies:e=>e==="ButtonBlock",panel(e){let t=e;t.fields=r6(t.fields??{},["align"],G41),Nl(t,{inHeroGroupRow:(a,s)=>{let o=Lh(s.appState,a.props?.id);return!!o&&o.type==="HeroGroup"&&pc("HeroGroup",o.props?.direction)==="row"}})}};function W41(e){return Object.values(e).some(t=>!!t&&typeof t=="object"&&t.type==="slot")}var U41={any:[]},q41={not:{context:"insideSiteGutter",is:!0}},$41={not:{context:"widthCappedByParent",is:!0}};function yP(e,t,a,s=["widthMode","pageWidth"]){return e==="ButtonBlock"?r6(a,["_gWidth",...s],U41):W41(a)?(Nl(t,{insideSiteGutter:(o,r)=>mP(r.appState?.data?.content,o.props?.id)}),r6(a,s,q41)):(Nl(t,{widthCappedByParent:(o,r)=>"parent"in r?UM(r.parent):fP({props:o.props??{}},r)}),r6(a,s,$41))}var zP={name:"imageWidth",applies:e=>e==="ImageBlock",panel(e,t,a){let{slider:s,WidthIcon:o}=a;if(e?.fields){let r=s("Image width",r5(o,{}),ze.min,ze.max,ze.step,ze.fallback,ze.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 j41=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","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"]),kP={name:"sectionGroups",applies:(e,t)=>t.isSection(e)&&(j41.has(e)||t.isHostBlock(e)),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}},K41=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","AccountBlock","LegalLineBlock"]),SP={name:"blockGroups",applies:e=>K41.has(e),panel(e,t,a){let s=a.assignSectionGroups;e?.fields&&(e.fields=s(e.fields,t))}};var Y41=["Form","Stats"];function Fr(e,t){let a=new Set(e),s=nM.filter(l=>a.has(l)),o=s.filter(l=>l!=="Header"&&l!=="Footer"&&!Rl.includes(l)),r=new Set([...t,...Cl,...Y41]),i=s.filter(l=>!r.has(l)),n=new Set(s);return{isSection:l=>n.has(l),isHostBlock:()=>!1,sectionGroupAllow:o,contentSectionKeys:i}}var X41=[UH,SH,CH,iP,OH,lP,BH,nP,MH,bP,xP,wP,zP,QH,$H,cP,YH,eP,tP,hP,kP,SP,ZH,DH,IH,GH,kH];function Th(e,t,a){let s=t;for(let o of X41)o.applies(e,a,s)&&(a.inspector&&o.panel?.(s,e,a.inspector,a),o.draw?.(s,e,a));return t}import{WidthIcon as d51}from"efficient-easel/icons";import{jsx as Q41}from"react/jsx-runtime";import{useEffect as e51,useRef as t51}from"react";var CP="data-puck-overlay-portal";function A5(e){return e.setAttribute(CP,"true"),()=>e.removeAttribute(CP)}import{usePreviewParts as a51}from"efficient-easel/draw/client";import{usePreviewDevice as s51}from"efficient-easel/draw/client";import{encodePartId as o51}from"efficient-easel/draw";var Nr="data-puck-component";function gf(e,t){return e.closest(`[${Nr}]`)?.getAttribute(Nr)===t}function MP(e,t,a){let s=e.querySelectorAll("*"),o=[],r=new Set;for(let b=0;b<s.length;b+=1){let x=s[b];if(!gf(x,t))continue;let w=x.getAttribute(F8);w&&(o.push({element:x,partId:P8(t,w)}),r.add(x))}let i=[],n=new Set;for(let b=0;b<s.length;b+=1){let x=s[b];if(!gf(x,t)||r.has(x))continue;let w=sL(x.textContent??"");if(!w)continue;let k=x.closest(`[${rv}]`)?.getAttribute(rv)||null;k&&n.add(k.replace(/\[\d+\]$/u,"")),i.push({element:x,text:w,row:k})}let l=b=>i.filter(x=>x.row===aL(b.key,b.row.index)),c=i.filter(b=>b.row===null),h=b=>b.row&&n.has(b.key)?l(b):n.size?c:i,p=new Map,m=[],u=b=>b.row?`${b.key}.${b.row.rowKey}`:null,v=new Map;for(let b of a){let x=u(b);if(!x||n.has(b.key))continue;let w=v.get(x);w?w.push(b):v.set(x,[b])}let g=new Set;for(let[b,x]of v){if(x.length<2)continue;let w=x.flatMap(T=>T.texts);if(new Set(w).size===w.length)continue;let k=h(x[0]).filter(T=>w.includes(T.text));if(k.length!==x.length)continue;let A=[...x].sort((T,F)=>(T.row?.index??0)-(F.row?.index??0));for(let T=0;T<A.length;T+=1){let F=A[T],M=k[T].element,z={key:F.key,partKey:sv(F.key,F.row),exact:!0},E=p.get(M);E?E.push(z):(p.set(M,[z]),m.push(M))}g.add(b)}for(let b of a){if(g.has(u(b)??""))continue;let x=sv(b.key,b.row);for(let w of b.texts){let k=[],A=null;for(let M of h(b))M.text===w?k.push(M.element):!k.length&&M.text.includes(w)&&(!A||M.text.length<=A.length)&&(A={element:M.element,length:M.text.length});let T=k.length?k:A?[A.element]:[],F=T.filter(M=>!T.some(z=>z!==M&&M.contains(z)));for(let M of F){let z={key:b.key,partKey:x,exact:k.length>0},E=p.get(M);E?E.push(z):(p.set(M,[z]),m.push(M))}}}let f=[...o];for(let b of m){let x=p.get(b)??[],w=x.some(k=>k.exact)?x.filter(k=>k.exact):x;if(new Set(w.map(k=>k.partKey)).size===1){f.push({element:b,partId:P8(t,w[0].partKey)});continue}new Set(w.map(k=>k.key)).size===1&&f.push({element:b,partId:P8(t,w[0].key)})}return f}function uf(e,t,a){let s=e.querySelectorAll(`[${F7}]`);for(let r=0;r<s.length;r+=1){let i=s[r];gf(i,t)&&i.removeAttribute(F7)}let o=[];for(let{element:r,partId:i}of a)r.setAttribute(F7,i),o.push(r);return o}function LP(e,t,a,s,o,r=()=>null){let i=null,n=null,l=null,c=()=>{let h=a(),p=h?.getAttribute(Nr)??null;if(!h||!p)return!1;i=p;let m=MP(e,p,t);return o(h,p,uf(e,p,m)),l=r(()=>{let u=MP(e,p,t);J41(m,u)||(m=u,o(h,p,uf(e,p,u)))}),!0};return c()||(n=s(()=>{(i||c())&&(n?.(),n=null)})),()=>{n?.(),n=null,l?.(),l=null,i&&uf(e,i,[])}}function J41(e,t){return e.length===t.length&&e.every((a,s)=>a.element===t[s].element&&a.partId===t[s].partId)}function AP(e,t){let a=e?.closest?.(`[${F7}],[${Zt}]`),s=a?.getAttribute(F7)??a?.getAttribute(Zt),o=s?Vl(s):null;return a&&s&&o?.nodeId===t&&o.propKey?{id:s,element:a}:null}function vf(e){let t=null,a=null;for(let s=e;s&&(t===null||a===null);s=s.parentElement){let o=s.getAttribute("class");t??=qM(o),a??=vv(o)}return{faceRole:t??"body",sizeGroup:a}}function Eh(e){let t=e.style,a={};for(let i of hv)a[i]=t[i]??"",t[i]="";let s=getComputedStyle(e),o=getComputedStyle(e.ownerDocument.documentElement),r=lL({fontSize:s.fontSize,fontWeight:s.fontWeight,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,textAlign:s.textAlign,textTransform:s.textTransform,paddingTop:s.paddingTop,maxWidth:s.maxWidth},cL(s.fontFamily,i=>o.getPropertyValue(i)));for(let i of hv)t[i]=a[i];return r}function TP({needles:e,styles:t,type:a,children:s}){let o=t51(null),{selectedPartId:r}=a51(),{setPartStyle:i}=dc(),n=s51()==="mobile",l=JSON.stringify(e),c=JSON.stringify(t);return e51(()=>{let h=o.current;if(!h)return;let p=[],m=()=>h.parentElement,u=w=>{let k=m();if(!k)return null;let A=new MutationObserver(w);return A.observe(k,{attributes:!0,attributeFilter:[Nr]}),()=>A.disconnect()},v=w=>{let k=new MutationObserver(w);return k.observe(h,{childList:!0,subtree:!0,characterData:!0}),()=>k.disconnect()},g=[];p.push(()=>{for(let w of g)w();g=[]});let f=JSON.parse(l),b=JSON.parse(c),x=LP(h,f,m,u,(w,k,A)=>{for(let z of g)z();g=[];let T=[];for(let z of A){let E=z,N=A5(E);N&&g.push(N),E.getAttribute(F7)===r?(E.setAttribute(re,""),T.push(E)):E.removeAttribute(re)}let F=hL(k,r,T,z=>$M(z)!==null||vv(z)!==null);if(F&&r){let z=F;i({partId:r,...vf(z),base:Eh(z),inks:xA(z),...(()=>{let E=iv(z);return E?{styleOwner:E}:{}})()})}cv(A.filter(z=>!iv(z)).map(z=>({element:z,partId:z.getAttribute(F7)??""})),b,z=>Eh(z),z=>Gl(a,z),void 0,n,z=>Zl(a,z));let M=[...h.querySelectorAll(`[${Ol}="${CSS.escape(k)}"][${cr}]`)];M.length&&cv(M.map(z=>({element:z,partId:o51(k,z.getAttribute(cr)??"")})),b,void 0,z=>z,void 0,n)},v);return()=>{x();for(let w of p)w()}},[l,c,r,i,n]),Q41("div",{ref:o,"data-sf-part-host":"",style:{display:"contents"},children:s})}import{deviceMetaOf as HP}from"efficient-easel/screen/lib/puck/device-fields";import{noControlMetaOf as r51}from"efficient-easel/screen/lib/puck/panel-no-control-mark";function i51(e,t){let a=HP(t),s=a?a.inner:t;if(br(s))return!1;if(s?.type==="slot")return!0;let o=r51(s);return o==="always"?!1:o==="authored-copy"?tL(e):!0}function EP(e){let t=HP(e),a=t?t.inner:e,s=br(a);return s?cT(a)?0:s.level:null}function n51(e,t,a){return a?t===0&&e===wr.Design||t===1&&e===FT.Content:!1}var l51=new WeakMap,c51=new WeakMap;function Hh(e,t="section"){let a=t==="page"?c51:l51,s=a.get(e);if(s)return s;let o=Object.entries(e).map(([p,m])=>({key:p,field:m,level:EP(m),draws:i51(p,m)||t==="page"&&EP(m)===null&&lv(p,m)})),r=t==="section"&&o.some(p=>lv(p.key,p.field)),i=new Set;for(let p=0;p<o.length;p++){let m=o[p].level;if(m===null)continue;let u=0;for(let v=p+1;v<o.length;v++){let g=o[v].level;if(g!==null&&g<=m)break;o[v].draws&&(u+=1)}u===0&&!n51(o[p].key,m,r)&&i.add(o[p].key)}let n=r&&VT(e),l=n&&!(wr.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=fa(n?IT(c):c);return a.set(e,h),h}import{isShown as h51,showWhenFactReaders as p51}from"efficient-shell/format";var PP=new WeakMap,m51=new Set(Object.values(wr));function FP(e,t,a,s={}){if(!e)return e;let o=t?.props??{},r=o.id,i=p51(s,t,a),n=UT(a,{...i,parentOffersPositions:()=>{let v=Lh(a.appState,r);return v===void 0?void 0:DM(v)},heroGroupDepth:()=>Ot(a.appState?.data,typeof r=="string"?r:"")}),l=[];for(let[v,g]of Object.entries(e)){let f=ZM(g);!f||WT(f,"device")||h51(f,o,n)||l.push(v)}if(l.length===0)return e;let c=PP.get(e);c||PP.set(e,c=new Map);let h=l.join("\0"),p=c.get(h);if(p)return p;let m=new Set(l),u={};for(let[v,g]of Object.entries(e))m.has(v)||(u[v]=g);return l.some(v=>m51.has(v))&&(u=fa(u)),c.set(h,u),u}var Rr={spacingFields:ca,sidesPaddingFields:pe,sectionShapeFields:Hc,cardShapeFields:mT,cellWidthFields:fT,widthField:Rc,sectionWidthFields:HT,heightFields:wT,anchorFields:zT,stickFields:yT,sectionThemeFields:la,sectionAnimationFields:pT,slider:o1,WidthIcon:d51,assignSectionGroups:Zc,dropEmptyHeadings:Hh,rowsShownForNode:FP,SECTION_THEME_FOLLOW_LABEL:vc,BLOCK_THEME_FOLLOW_LABEL:kA,PartAnchors:TP};function Ph(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=Ph(i.arrayFields,t,a),c=Ph(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 u51(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=Th(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 Fh(e,t){let a=Object.entries(t?.host??{}),s=t?.categories??[],o=PM(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,m]of Object.entries(r)){let u=o?Ph(m?.fields,n,l):m?.fields;c[p]=u===m?.fields?m:{...m,fields:u}}if(a.length>0){let p=new Set(a.map(([g])=>g)),m=e.categories?.structure?.components??[],u=Fr(Object.keys(r),m),v={...u,isSection:g=>p.has(g)||u.isSection(g),isHostBlock:g=>p.has(g),inspector:Rr};for(let[g,f]of a){let b=u51(g,f,v),x=Ph(b.fields,n,l);c[g]=x===b.fields?b:{...b,fields:x}}}let h=[];for(let[p,m]of Object.entries(e.categories??{})){let u=m?.components??[],v=u.filter(n);v.length===u.length?h.push([p,m]):v.length>0&&h.push([p,{...m,components:v}])}for(let p of s){let m=p.components.filter(f=>f in c&&n(f));if(m.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??[],...m.filter(x=>!b.has(x))]};continue}let v=[p.key,{title:p.title,components:m}],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 $51}from"efficient-easel/screen/lib/host-chrome";import{sessionRegistry as j51}from"efficient-easel/screen/lib/session";import{useEaselSession as K51}from"efficient-easel/screen/lib/session-context";function g51(e){return!!e&&typeof e=="object"&&typeof e[XA]=="string"}function v51(e,t){if(!e)return e;let a=null;for(let[s,o]of Object.entries(e))g51(o)&&(a??={...e},a[s]={...o,siteGap:t});return a??e}function NP(e,t){let a=e,s=!1,o={};for(let[r,i]of Object.entries(a.components)){let n=v51(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 RP=jt.mediaFields,_P=jt.snapshotObjects,IP=jt.hydratedLists;function f51(e){return typeof e=="string"||sc(e)?"":Array.isArray(e)?[]:e&&typeof e=="object"?null:e}function VP(e,t){if(Array.isArray(e))return e.map(o=>VP(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 b51(e,t){let a=t;for(let o of RP[e]??[])a=oc(a,o,f51);let s=_P[e];if(s)for(let[o,r]of Object.entries(s))o in a&&(a={...a,[o]:VP(a[o],r.keep)});for(let o of IP[e]??[])Array.isArray(a[o])&&(a={...a,[o]:[]});return a}function x51(e,t){return typeof t!="function"?t:a=>t(b51(e,a))}function Nh(e,t){if(!t)return e;let a=e,s={};for(let[o,r]of Object.entries(a.components)){let i=(RP[o]?.length??0)>0||_P[o]||IP[o];s[o]=i&&r.render?{...r,render:x51(o,r.render)}:r}return{...a,components:s}}import Y51,{DocumentScreen as X51}from"efficient-easel/screen/components/ScreenMount";import{useScreenDocument as J51}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as w51}from"react/jsx-runtime";import{createContext as y51,useCallback as z51,useContext as dH1,useState as ff}from"react";var k51=y51({footerBlock:null,setFooterBlock:()=>{},headerGroup:null,setHeaderGroup:()=>{},refreshToken:0,refreshFooter:()=>{}});function OP({children:e,editFooter:t}){let[a,s]=ff(null),[o,r]=ff(null),[i,n]=ff(0),l=z51(()=>n(c=>c+1),[]);return w51(k51.Provider,{value:{footerBlock:a,setFooterBlock:s,headerGroup:o,setHeaderGroup:r,editFooter:t,refreshToken:i,refreshFooter:l},children:e})}import{useCallback as S51,useEffect as C51,useMemo as BP,useRef as DP,useState as M51}from"react";import{useEaselSession as L51}from"efficient-easel/screen/lib/session-context";import{WebsiteBackendError as A51}from"efficient-easel/screen/lib/backend-error";var T51="Could not save this link. Check your connection and try again.";function E51(e,t){if(!(e instanceof A51)||e.kind!=="invalid")return null;let a=e.fields?.[t];return typeof a=="string"&&a.trim()?a:null}function H51(e){return Object.fromEntries(me.map(t=>[t,{value:e[t]??"",error:null}]))}function ZP({token:e,siteId:t,enabled:a}){let[s,o]=M51(Zv),r=DP(null),i=DP(!1),n=L51(),l=J4(n).social,c=a&&!!e&&!!t&&!!l;C51(()=>{if(!c||!e||!t||!l)return;r.current!==t&&(r.current=t,i.current=!1,o(Zv));let m=!1;return l.get({siteId:t}).then(u=>{!m&&!i.current&&o(H51(u))}).catch(()=>{}),()=>{m=!0}},[c,e,t,l]);let h=S51(async(m,u)=>{if(!c||!e||!t||!l)return{ok:!1,error:"There is no website to save to."};try{let v=await l.update({[m]:u.trim()},{siteId:t});return i.current=!0,n6(),o(g=>({...g,[m]:{value:v[m]??"",error:null}})),{ok:!0}}catch(v){let g=E51(v,m)??T51;return o(f=>({...f,[m]:{...f[m],error:g}})),{ok:!1,error:g}}},[c,e,t,l]),p=BP(()=>Gc(Object.fromEntries(me.map(m=>[m,s[m].value]))),[s]);return BP(()=>({links:p,rows:s,canSave:c,saveLink:h}),[p,s,c,h])}import{isBackendError as Pa}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as jP}from"efficient-easel/screen/lib/session";var GP="SharedSection",P51=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,_r=e=>{let t=e?.content;return Array.isArray(t)?t:[]},Ir=e=>{let t=e?.props?.id;return typeof t=="string"?t:void 0};function WP(e){if(e?.type!==GP)return null;let t=e.props?.section;return typeof t=="string"&&P51.test(t)?t.toLowerCase():null}function UP(e){let t=[];for(let a of _r(e)){let s=WP(a),o=Ir(a);s&&o&&t.push({refId:o,section:s})}return t}function Rh(e){let t=_r(e)[0];return t&&typeof t=="object"&&Ir(t)?t:null}function F51(e,t){return{type:GP,props:{id:e,section:t}}}function qP(e,t){let a=new Map,s=new Set,o=!1,r=_r(e).map(i=>{let n=WP(i),l=Ir(i);if(!n||!l||s.has(n))return i;let c=Rh(t.get(n)),h=Ir(c??void 0);return!c||!h||a.has(h)?i:(s.add(n),a.set(h,{section:n,refId:l,reference:i}),o=!0,c)});return{working:o?{...e,content:r}:e,held:a}}function $P(e,t,a){let s=new Map,o=!1,r=_r(e).map(i=>{let n=Ir(i),l=n?t.get(n):void 0,c=l?a.get(l.section):void 0;if(!l||!c||s.has(l.section))return i;let h=_r(c).slice(1),p=Rh(c);return s.set(l.section,p===i?c:{...c,content:[i,...h]}),o=!0,l.reference??F51(l.refId,l.section)});return{page:o?{...e,content:r}:e,docs:s}}function wf(e){return!!(e?.publish&&e.liveState)}function N51(e,t){if(!wf(e))return;let{versions:a,nameVersion:s,restoreVersion:o,previewVersion:r}=e;if(!(!a||!s||!o||!r))return{list:()=>a.call(e,t),name:(i,n)=>s.call(e,i,n,t),restore:(i,n)=>o.call(e,i,n??{},t),preview:i=>r.call(e,i,t)}}function R51(e,t){return async(a,s)=>{try{await zA()}catch(o){throw new Error(d("A change waiting to go live could not be saved."),{cause:o})}return(await e.publish(t)).state==="live"?wA({state:"live",changes:[]}):n6(0),{version:s??null}}}function xf(e,t,a){let s=t?{siteId:t}:void 0;return{resolve:o=>e.load({slug:o,...s}).then(r=>(r&&qc(r.id,r.live),r)),saveLayout:(o,r,i,n)=>e.save(o,{layout:r},{version:i,clientId:n??""}).then(l=>($c(o,l.live),n6(),l)),rereadVersion:e.version?o=>e.version(o):void 0,publish:wf(a)?R51(a,s):e.publish?(o,r)=>e.publish(o,r?{version:r}:void 0).then(i=>(jc(o,i.live),i)):void 0,listPages:()=>e.list(s),createPage:e.create?o=>e.create({...o,...s}):void 0,deletePage:e.remove?(o,r)=>e.remove(o,r):void 0}}function _51(e,t,a,s,o=!1){let r=null,i=new Set,n=!1,l=new Map,c=new Map,h=new Map,p=new Map,m={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1,sections:[]},u=new Set,v=()=>{if(!r)return!1;let z=rE(r.id);return z==="changed"||z==="never"||z===void 0&&n},g=z=>{m={...m,...z,docId:r?.id??null,unpublished:v(),sections:[...h.values()]};for(let E of u)E()},f=(z,E,N)=>{E?h.set(z,{section:z,title:l.get(z)?.title??"",problem:E,holder:N}):h.delete(z)},b=z=>z&&typeof z=="object"&&!Array.isArray(z)?z:{},x=z=>i.has(z),w=()=>new Map([...l].map(([z,E])=>[z,E.layout])),k=()=>`SharedSection-${typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2)}`,A=(z,E,N,R)=>{let D=b(E);l.set(z,{layout:D,version:N,savedJson:JSON.stringify(D),title:R})},T={state:()=>m,subscribe:z=>(u.add(z),()=>{u.delete(z)})},F={sectionOf:z=>c.get(z)?.section??null,heldElsewhere:z=>{let E=c.get(z)?.section;return!!(E&&h.get(E)?.problem==="lock")},adopt:(z,E)=>{A(E.id,E.layout,E.layout_updated_at,E.title),c.set(z,{section:E.id,refId:k()}),p.set(E.id,E.used_on),g({})},place:z=>{if([...c.values()].some(R=>R.section===z.id))return null;let E=Rh(b(z.layout)),N=typeof E?.props?.id=="string"?E.props.id:null;return!E||!N||!E.type?null:(A(z.id,z.layout,z.layout_updated_at,z.title),c.set(N,{section:z.id,refId:k()}),p.set(z.id,z.used_on),E)},usedOn:z=>p.get(z)??null,learn:z=>{for(let E of z){p.set(E.id,E.used_on);let N=l.get(E.id);N&&(N.title=E.title);let R=h.get(E.id);R&&h.set(E.id,{...R,title:E.title})}g({})}},M=async(z,E)=>{for(let[N,R]of z){let D=l.get(N),V=JSON.stringify(R);if(!(!D||V===D.savedJson||h.get(N)?.problem==="lock"))try{let _=await e.save(N,{layout:R},{version:D.version,clientId:E??""});$c(N,_.live),D.layout=R,D.version=_.version,D.savedJson=V,f(N,null)}catch(_){Pa(_,"changed-elsewhere")?f(N,"conflict"):Pa(_,"lock-taken")?f(N,"lock",_.holder??void 0):f(N,"save")}}z.size&&n6(),g({})};return{resolve:async z=>{if(Uv(z===o5?null:T),Wv(z===o5?null:F),l=new Map,c=new Map,h=new Map,p=new Map,z===o5)return a.resolve(z);let E=!1,[N,R]=await Promise.all([a.resolve(z),e.load({slug:o5,...t}).catch(()=>(E=!0,null))]);if(R&&!$A(N?.layout)){qc(R.id,R.live);let X=b(R.layout);r={id:R.id,layout:X,version:R.version,savedJson:""}}else r=null;if(n=!1,!N)return g({conflict:null,saveFailed:!1,loadFailed:E}),N;let D=b(N.layout),V=UP(D),_=await Promise.all(V.map(X=>e.load({id:X.section,...t}).catch(()=>null)));V.forEach((X,G)=>{let $=_[G];$?(qc($.id,$.live),A(X.section,$.layout,$.version,"")):(l.delete(X.section),h.set(X.section,{section:X.section,title:"",problem:"load"}))});let B=qP(D,w());if(c=B.held,!r)return c.size&&i.add(N.id),g({conflict:null,saveFailed:!1,loadFailed:E}),c.size?{...N,layout:B.working}:N;let Z=iE(B.working,r.layout);return r.savedJson=JSON.stringify(Gv(Z,r.layout).chrome),i.add(N.id),g({conflict:null,saveFailed:!1,loadFailed:!1}),{...N,layout:Z}},saveLayout:async(z,E,N,R)=>{if(!x(z))return a.saveLayout(z,E,N,R);let D=r,V=D?Gv(E,D.layout):{page:E,chrome:null},_=$P(V.page,c,w()),B=await a.saveLayout(z,_.page,N,R);if(await M(_.docs,R),!D)return B;let Z=JSON.stringify(V.chrome);if(!V.chrome||Z===D.savedJson||m.lockHolder)return B;try{let X=await e.save(D.id,{layout:V.chrome},{version:D.version,clientId:R??""});$c(D.id,X.live),n6(),D.layout=V.chrome,D.version=X.version,D.savedJson=Z,n=!0,g({conflict:null,saveFailed:!1})}catch(X){Pa(X,"changed-elsewhere")?g({conflict:X.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):Pa(X,"lock-taken")?g({lockHolder:X.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):g({saveFailed:!0})}return B},publish:a.publish?async(z,E)=>{let N=await a.publish(z,E),R=r;if(R&&x(z)&&!o&&e.publish&&v()&&!m.lockHolder){let D=await e.publish(R.id,R.version?{version:R.version}:void 0);jc(R.id,D.live),D.version!==null&&(R.version=D.version),n=!1,g({})}if(x(z)&&!o&&e.publish)for(let[D,V]of l){if(h.get(D)?.problem==="lock")continue;let _=await e.publish(D,V.version?{version:V.version}:void 0);jc(D,_.live),_.version!==null&&(V.version=_.version)}return N}:void 0,lock:s?{claim:async(z,E,N)=>{let R=await s.claim(z,E,N);if(!x(z))return R;let D=r;if(D)try{await s.claim(D.id,E,!1),m.lockHolder&&g({lockHolder:null})}catch(V){Pa(V,"lock-taken")&&g({lockHolder:V.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}for(let V of l.keys())try{await s.claim(V,E,!1),h.get(V)?.problem==="lock"&&f(V,null)}catch(_){Pa(_,"lock-taken")&&f(V,"lock",_.holder??void 0)}return l.size&&g({}),R},release:async(z,E)=>{if(await s.release(z,E),!x(z))return;let N=r;N&&!m.lockHolder&&await s.release(N.id,E).catch(()=>{});for(let R of l.keys())h.get(R)?.problem!=="lock"&&await s.release(R,E).catch(()=>{})}}:void 0,pinnedChrome:T}}function Vr(e,t=J4(),a=ev(),s={}){let o=jP(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=wf(t.site)?t.site:void 0,p=xf(t.pages,e,h),m=c?_51(t.pages,r,p,t.lock,!!h):null;return{capabilities:{canPublish:!!h||!!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},...p,...YP(p.resolve),lock:t.lock,...m,site:i?()=>t.site.get(r):void 0,siteLiveState:h?()=>h.liveState(r):void 0,siteVersions:N51(h,r),updateSite:i&&n?u=>n(u,r):void 0,previewHref:t.preview?u=>t.preview.href(u):void 0}}function KP(e,t=J4(),a=ev()){let s=jP(t),o=t.templates,r=o?o.pages(e):{list:()=>Promise.reject(new Error(bf)),load:()=>Promise.reject(new Error(bf)),save:()=>Promise.reject(new Error(bf))};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},...xf(r,void 0),...YP(xf(r,void 0).resolve),publish:void 0,templateName:o?()=>o.get(e).then(i=>i.name):void 0}}function YP(e){return{resolve:t=>(Uv(null),Wv(null),e(t))}}var bf="This editor's backend has no website templates.";var I51={"Logos.logosPerRow":"columns","HeroSlide.tintOpacity":"overlay","Split.textBgTint":"overlay"};function V51(e){return Array.isArray(e)&&e.length>0&&e.every(t=>!!t&&typeof t=="object"&&typeof t.type=="string")}function yf(e){let t=e.props,a=!1;if(e.type&&t)for(let[s,o]of Object.entries(I51)){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(!V51(r))continue;let i=r.map(yf);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 _h(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(yf);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(yf);return l.some((c,h)=>c!==n[h])&&(o=!0),[i,l]}));o&&(s.zones=r,a=!0)}return a?s:e}var XP={homeSlug:Kt,entryMayBounce:e=>e.kind==="template"||e.kind==="page"&&e.slug===o5,entryBounce:(e,t)=>e.kind==="page"&&e.slug===o5?{kind:"page",slug:Kt,siteId:e.siteId}:e.kind!=="template"||new URLSearchParams(t).get("editTemplate")==="1"?null:{kind:"page",slug:Kt},onSwitch:()=>{},tellsHost:e=>e.kind==="page"&&e.slug!==o5,adapterFor:(e,t,a)=>e.kind==="template"?KP(e.id,t,Qg(a)):Vr(e.siteId,t,Qg(a),{editsPinnedInPlace:!0}),migrateRenamedProps:_h};import{PreviewPartsProvider as Q51}from"efficient-easel/draw/client";import{jsx as O51}from"react/jsx-runtime";import{useMemo as B51,useRef as D51}from"react";import{CanvasPartsContext as Z51}from"efficient-easel/easel";import{usePreviewParts as G51}from"efficient-easel/draw/client";function Ih({children:e}){let{selectedPartId:t,select:a}=G51(),s=D51(t);s.current=t;let o=B51(()=>({partAt:AP,selected:()=>s.current,select:r=>{if(r){a(r);return}let i=s.current?Vl(s.current)?.nodeId:null;i&&a(P8(i,null))}}),[a]);return O51(Z51.Provider,{value:o,children:e})}var zf=new Set,kf=new Set,Sf=new Set;function JP(e){return zf.add(e),()=>zf.delete(e)}function QP(){zf.forEach(e=>e())}function q8(e){return kf.add(e),()=>kf.delete(e)}function eF(){kf.forEach(e=>e())}function Vh(e){return Sf.add(e),()=>Sf.delete(e)}function Cf(){Sf.forEach(e=>e())}var Mf=new Map,W51=9e5,tF=0;function U51(){return tF+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(tF)}`}function aF(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function sF(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let a=U51();return new Promise(s=>{let o=setTimeout(()=>oF(a,{status:"timeout"}),t.timeoutMs??W51);Mf.set(a,r=>{clearTimeout(o),s(r)}),e.send("storefront-editor:open-form",{requestId:a,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function oF(e,t){let a=Mf.get(e);a&&(Mf.delete(e),a(t))}function Lf(e,t){oF(e,t?{status:"saved",form:t}:{status:"closed"})}function Oh(e){switch(e?.type){case"storefront-editor:category-updated":return QP(),!0;case"storefront-editor:menus-updated":return eF(),!0;case"storefront-editor:form-saved":{let t=e;return Cf(),t.requestId&&Lf(t.requestId,t.form??null),!0}case"storefront-editor:form-closed":{let t=e;return Cf(),t.requestId&&Lf(t.requestId,null),!0}default:return!1}}var e61=()=>{if(typeof window>"u")return _6;try{let e=window.localStorage.getItem(hr);return e==="light"||e==="dark"||e==="auto"?e:_6}catch{return _6}},iF=e=>{if(!(typeof window>"u"))try{window.localStorage.setItem(hr,e)}catch{}},t61=()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Wl)!==gv}catch{return!1}},a61=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(dL)}catch{}},nF=e=>{if(!(typeof window>"u"))try{e?window.localStorage.removeItem(Wl):window.localStorage.setItem(Wl,gv)}catch{}};function s61(){let{adapter:e,capabilities:t,templateId:a,ready:s,token:o,siteId:r,currentSlug:i,currentKind:n}=J51();Me(()=>(Bv(i,n),()=>Bv(null,null)),[i,n]);let l=t.placeholderFrames,[c,h]=h2(null),[p,m]=h2("");Me(()=>{let S1=e.templateName;if(!s||!a||!S1){m("");return}let T2=!1;return S1().then(Y4=>!T2&&m(Y4??"")).catch(()=>{}),()=>{T2=!0}},[s,o,a,e]);let[u,v]=h2(_6),[g,f]=h2(!1),[b,x]=h2({selected:0,themes:[]}),[w,k]=h2(jM),[A,T]=h2(wL),[F,M]=h2(null),[z,E]=h2(PL),[N,R]=h2(null),[D,V]=h2(null),[_,B]=h2(bv),[Z,X]=h2(null),[G,$]=h2(null),[t1,d1]=h2(null),[r1,O]=h2(null),K=K51(),j=rF(()=>Fh(j51(K),Ml(K)),[K]),p1=rF(()=>NP(Nh(j,l),r1),[j,l,r1]),[r0,k0]=h2(NL),[g0,a1]=h2(null),[A1,F1]=h2(null),[k1,L2]=h2(null),[c0,y2]=h2(null),[R0,x1]=h2(null),Z1=Fa(null),N1=Fa(!1);Me(()=>{v(e61()),f(t61())},[]);let _0=k2(S1=>{N1.current=!0,a61(),iF(S1),v(S1)},[]),c1=k2(S1=>{N1.current=!0,nF(S1),f(S1)},[]),i0=k2(S1=>{N1.current=!0,x(S1)},[]),v1=k2(S1=>{N1.current=!0,k(S1)},[]),z1=k2(S1=>{N1.current=!0,T(S1)},[]),L1=k2(S1=>{N1.current=!0,M(S1)},[]),T1=k2(S1=>{N1.current=!0,E(S1)},[]),$0=k2(S1=>{N1.current=!0,R(S1)},[]),I2=k2(S1=>{N1.current=!0,V(S1)},[]),V2=k2(S1=>{N1.current=!0,B(S1)},[]),c2=k2(S1=>{N1.current=!0,X(S1)},[]),H3=k2(S1=>{N1.current=!0,k0(S1)},[]),[a6,f2]=h2(null),[E8,E7]=h2(null),p3=k2(S1=>{N1.current=!0,f2(S1)},[]),H7=k2(S1=>{N1.current=!0,$(S1)},[]),P7=k2(S1=>{N1.current=!0,d1(S1)},[]),S5=k2(S1=>{N1.current=!0,O(S1)},[]),A2=k2(S1=>{N1.current=!0,a1(S1)},[]),Z3=k2(S1=>{N1.current=!0,F1(S1)},[]),C5=k2(S1=>{N1.current=!0,L2(S1)},[]),z4=k2(S1=>{N1.current=!0,y2(S1)},[]),s6=k2(S1=>{N1.current=!0,x1(S1)},[]);Me(()=>{let S1=J4(K).theme;if(!o||!t.hasSiteTheme||!S1)return;let T2=r??"";Z1.current!==T2&&(Z1.current=T2,N1.current=!1);let Y4=!1;return S1.get(r?{siteId:r}:void 0).then(Z0=>{if(Y4||N1.current)return;iF(Z0.default_mode),nF(Z0.show_theme_switch),v(Z0.default_mode),f(Z0.show_theme_switch),x({selected:Z0.selected_preset,themes:Z0.theme_presets});let o6=mE(Z0);k(o6.fonts),T(o6.sizes),M(Z0.corner_radius_px===void 0?$l[ql(Z0.corner_style)]:jl(Z0.corner_radius_px)),E(o6.compression),R(Z0.card_shadow==null?zL:SL(Z0.card_shadow)),B(Z0.card_gap==null?bv:CL(Z0.card_gap)),X(Z0.hover_effect==null?kL:ML(Z0.hover_effect)),V(LL(Z0.shadow_color)),$(BL(Z0.site_width)),d1(ZL(Z0.site_gutter)),O(JA(Z0.block_gap)),k0(o6.typography),f2(o6.textStyles),E7(QM(Z0)),a1(Z0.hero_background_follows_width===!0),F1(yv(Z0.section_background_width)),L2(yv(Z0.section_content_width)),y2(Z0.photography_grayscale===!0),x1(Z0.share_button_on_posts===!0)}).catch(()=>{}),()=>{Y4=!0}},[o,r,t.hasSiteTheme,K]);let k4=ZP({token:o,siteId:r,enabled:t.hasSiteSettings}),[r4,E1]=h2(YT),t0=Fa(null),J2=Fa(!1),G3=Fa(null),P1=Fa({}),W2=k2(async()=>{G3.current&&clearTimeout(G3.current),G3.current=null;let S1=P1.current;P1.current={};try{await J4(K).chat?.update(S1,r?{siteId:r}:void 0),n6()}catch(T2){throw P1.current={...S1,...P1.current},T2}},[K,r]);Me(()=>yA(()=>G3.current||Object.keys(P1.current).length>0?W2():void 0),[W2]);let m3=k2(S1=>{J2.current=!0,E1(T2=>({...T2,...S1})),!(!t.hasSiteSettings||!o)&&(P1.current={...P1.current,...S1},G3.current&&clearTimeout(G3.current),G3.current=setTimeout(()=>{W2().catch(()=>{})},500))},[t.hasSiteSettings,o,W2]);return Me(()=>{if(!o||!t.hasSiteSettings)return;let S1=r??"";t0.current!==S1&&(t0.current=S1,J2.current=!1);let T2=!1,Y4=J4(K).chat;if(Y4)return Y4.get(r?{siteId:r}:void 0).then(Z0=>{T2||J2.current||E1(XT(Z0))}).catch(()=>{}),()=>{T2=!0}},[o,r,t.hasSiteSettings,K]),Me(()=>{let S1=e.site;if(!s||!t.hasSiteRecord||!S1){h(null);return}let T2=!1;return S1().then(Y4=>{T2||h(qT(Y4.name))}).catch(()=>{}),()=>{T2=!0}},[s,o,t.hasSiteRecord,r,e]),P4(X51,{config:p1,parts:$E,wrap:(S1,T2)=>P4(gc,{websiteName:c,templateChrome:l,templateName:p||null,themeMode:u,onThemeModeChange:_0,themeSwitchShown:g,onThemeSwitchShownChange:c1,theme:b,onThemeChange:i0,fonts:w,onFontsChange:v1,cornerRadiusPx:F,onCornerRadiusPxChange:L1,cardShadow:N,onCardShadowChange:$0,shadowColor:D,onShadowColorChange:I2,cardGap:_,onCardGapChange:V2,hoverEffect:Z,onHoverEffectChange:c2,headingCompression:z,onHeadingCompressionChange:T1,headingTypography:r0,onHeadingTypographyChange:H3,textStyles:a6,onTextStylesChange:p3,wordStyles:E8,sizes:A,onSizesChange:z1,siteWidth:G,onSiteWidthChange:H7,siteGutter:t1,onSiteGutterChange:P7,blockGap:r1,onBlockGapChange:S5,heroBackgroundFollowsWidth:g0,onHeroBackgroundFollowsWidthChange:A2,sectionBackgroundWidth:A1,onSectionBackgroundWidthChange:Z3,sectionContentWidth:k1,onSectionContentWidthChange:C5,photographyGrayscale:c0,onPhotographyGrayscaleChange:z4,shareButtonOnPosts:R0,onShareButtonOnPostsChange:s6,themeFromDocument:!t.hasSiteTheme,children:P4(OP,{children:P4($51,{wrap:K.chrome?.wrap,surface:"page",children:P4(Kc,{children:P4(Yc,{children:P4(Q51,{children:P4(Ih,{children:P4(Xc,{children:q51(mc,{children:[P4(JT,{chat:r4,onChatChange:m3,children:P4(aE,{value:k4,children:P4(sE,{children:S1})})}),T2]})})})})})})})})})})}function lF({target:e}){return P4(Y51,{target:e,addressing:XP,onHostMessage:Oh,children:P4(s61,{})})}import{createContext as r61,useContext as i61,useMemo as n61}from"react";var o61=["vehicle","process","size","lugs","finish","price"],Bh={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};function cF(e){if(!e)return Bh;let t={...Bh};for(let a of o61){let s=e[a];if(typeof s!="string")continue;let o=s.trim();o&&(t[a]=o)}return t}import{jsx as l61}from"react/jsx-runtime";var hF=r61(Bh);function pF({labels:e,children:t}){let a=n61(()=>cF(e),[e]);return l61(hF.Provider,{value:a,children:t})}function Or(){return i61(hF)}import{createContext as _61,useContext as I61,useMemo as V61}from"react";import{isSafeLinkHref as PF1}from"efficient-shell/markup";var B7=["width","profile","rim"],mF={width:"Width",profile:"Profile",rim:"Rim"},c61=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,h61={width:[100,500],profile:[20,100],rim:[10,30]};function i5(e){let t=c61.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]=h61[o];return a[o]>=r&&a[o]<=i})?a:null}function p6(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 dF(e){return[p6({width:e.width}),p6({width:e.width,profile:e.profile}),p6(e)]}var F4=["alloy-wheel","tyre"],Dh=["alloy-wheel"],n5={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},uF="All products",gF="All product types";function D6(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 Ra=F4.map(e=>({value:e,label:n5[e]}));function m6(e){return e==null?[...Dh]:Array.isArray(e)?F4.filter(t=>e.includes(t)):[...Dh]}var h4=e=>e;function j0(e){return h4(e).kind==="tyre"?"tyre":"alloy-wheel"}function Zh(e,t){return e.filter(a=>t.includes(j0(a)))}function $8(e){return h4(e).slug??""}function Af(e){return h4(e).name??""}function _a(e){return h4(e).brand??""}function vF(e){let t=new Set;for(let a of e)if(t.add(_a(a)),t.size>1)return!0;return!1}function p61(e){return h4(e).process??""}function fF(e){let t=new Set;for(let a of e)if(t.add(p61(a)),t.size>1)return!0;return!1}function Le(e){return h4(e).prices??void 0}function Tf(e){return h4(e).inStock!==!1}function bF(e){let t=h4(e),a=j0(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(a)?a.filter(s=>typeof s=="number"&&Number.isFinite(s)):[]}function Ef(e){return j0(e)!=="tyre"&&h4(e).badge==="new"}function Hf(e){return j0(e)==="tyre"?[]:(h4(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function xF(e){return Hf(e).map(t=>t.family)}function wF(e){if(j0(e)==="tyre")return[];let t=h4(e),a=t.categories;return a&&a.length>0?a:t.process?[t.process]:[]}function yF(e){return j0(e)==="tyre"?[]:h4(e).spec?.pcds??[]}function zF(e){return j0(e)!=="tyre"?[]:h4(e).tyreTypes??[]}function kF(e){return j0(e)!=="tyre"?[]:h4(e).speedRatings??[]}function Ia(e){if(j0(e)!=="tyre")return[];let t=h4(e).sizes;return Array.isArray(t)?t.map(a=>i5(typeof a=="string"?a:null)).filter(a=>a!==null):[]}function d6(e,t){return e.length===0?e:e.filter(a=>a.kind===void 0||a.kind===t)}function Gh(e,t){if(t.length===0)return e;let a=Va(t);return j8(e.filter(s=>a(s.fieldKey)),s=>s.fieldKey,t,"cardOrder")}function SF(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 Pf(e){return Nf(e,"spec")}function Ff(e,t){if(t.length===0)return e;let a=Pf(t),s=e.filter(o=>a(o.fieldKey));return j8(s,o=>o.fieldKey,t,"specOrder")}function j8(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 Va(e){return Nf(e,"card")}function Wh(e){return Nf(e,"filter")}var Oa="collection";function Ba(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":Oa},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function Nf(e,t){let a=new Set(e.filter(s=>s[t]===!1).map(s=>s.fieldKey));return s=>!s||!a.has(s)}var Da={inStock:"In stock",outOfStock:"Out of stock",notInStockHere:"Not in stock here"};function CF(e){return e?Da.inStock:Da.outOfStock}function f3(e){return Number.isInteger(e)?String(e):String(Number(e.toFixed(2)))}var MF=" to ";function Rf(e){return e<0?`\u2212${f3(-e)}`:f3(e)}function Uh(e,t){return e===t?`ET ${Rf(e)}`:`ET ${Rf(e)}${MF}${Rf(t)}`}function qh(e,t){return e===t?`${f3(e)}"`:`${f3(e)}"${MF}${f3(t)}"`}function _f(e){return e==="\u2014"?e:`${e}"`}var Br={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},LF=Object.keys(Br);function Za(e){return z2(LF,"recommended",e)}function If(e){return LF.filter(t=>t!=="recommended"||e.length<=1)}function AF(e,t){let a=Za(e);return If(t).includes(a)?a:"name"}var Dr=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],d61={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},u61={diameters:"tyreSizes"};function TF(e){if(e.length===0)return[];let t=Dr.filter(a=>e.every(s=>d61[a].includes(s)));return t.filter(a=>{let s=u61[a];return!s||!t.includes(s)})}function EF(e,t){return t&&e.includes(t)?[t]:[...e]}function HF(e){let t=new Set;for(let a of e)t.add(j0(a));return[...t]}var D7={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function Ga(e){return`${g61(e.width)}\xD7${e.diameter}`}function g61(e){return f3(e)}function Zr(e,t,a,s=null){if(s!=="kind"&&t.kind&&j0(e)!==t.kind)return!1;for(let o of Dr){if(s===o)continue;let r=t[o];if(r.length===0)continue;let i=r.map(String);if(!NF(e,o).some(n=>i.includes(n)))return!1}return!(s!=="price"&&!uh(Le(e),a,null,t.priceMax)||s!=="inStock"&&t.inStockOnly&&!Tf(e))}function PF(e,t,a){return e.filter(s=>Tf(s)&&Zr(s,t,a,"inStock")).length}function v61(e,t,a){let s=[...e],o=(i,n)=>Af(i).localeCompare(Af(n)),r=HF(e).length>1;switch(t){case"price-asc":return s.sort((i,n)=>Sa(Le(i),Le(n),a,"asc"));case"price-desc":return s.sort((i,n)=>Sa(Le(i),Le(n),a,"desc"));case"name":return s.sort(o);case"new":return s.sort((i,n)=>{let l=(Ef(n)?1:0)-(Ef(i)?1:0);return l!==0||!r?l:o(i,n)});default:return s}}function FF(e,t,a){return v61(e.filter(s=>Zr(s,t,a)),t.sort,a)}function $h(e){return Dr.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}var Vf={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function NF(e,t){switch(t){case"tyreSizes":return[...new Set(Ia(e).flatMap(dF))];case"brands":return _a(e)?[_a(e)]:[];case"finishes":return xF(e);case"diameters":return bF(e).map(String);case"collections":return wF(e);case"pcds":return yF(e);case"tyreTypes":return zF(e);case"speedRatings":return kF(e)}}function f61(e){let t=new Map;for(let a of e)for(let s of Hf(a))s.color&&!t.has(s.family)&&t.set(s.family,s.color);return t}function jh(e,t,a,s=HF(e),o=[]){let r=c=>b61(c,s,o),i=f61(e),n=TF(s).filter(c=>c!=="tyreSizes").filter(r).map(c=>{let h=t[c].map(String),p=new Set,m=new Map,u=new Map;for(let g of e){let f=NF(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(Zr(g,t,a,c))for(let b of new Set(f))m.set(b,(m.get(b)??0)+1)}let v=[...p].map(g=>({value:g,label:c==="diameters"?`${g}\u2033`:g,count:m.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:Vf[c],options:v}}).filter(c=>c.options.length>Gr),l=[];for(let c of n){let h=x61(c.key,s,o);h!==void 0&&l.push({fieldKey:c.key,filterOrder:h})}return[...j8(n,c=>c.key,l,"filterOrder")]}var Gr=1;function Kh(e){return e.showCollection===!1?["collections"]:[]}function b61(e,t,a){return t.length===0||a.length===0?!0:t.some(s=>Wh(d6(a,s))(Ba(e,s)))}function x61(e,t,a){if(a.length===0)return;let s;for(let o of t){let r=SF(d6(a,o),"filter")(Ba(e,o));r!==void 0&&(s===void 0||r<s)&&(s=r)}return s}function w61(e){let t=new Set;for(let a of e)for(let s of Ia(a))t.add(p6(s));return t.size}function RF(e,t){return TF(t).includes("tyreSizes")?w61(e)>Gr:!1}function _F(e){let t=i5(e);if(t)return t;let[a,s]=e.split("/");return{width:a?Number(a):void 0,profile:s?Number(s):void 0}}function y61(e,t,a){return B7.slice(0,B7.indexOf(a)).every(s=>{let o=t[s];return o==null||e[s]===o})}function IF(e,t,a){let s=_F(t.tyreSizes[0]??""),o=new Set(e.filter(r=>Zr(r,t,a,"tyreSizes")));return B7.map(r=>{let i=new Map;for(let l of e){let c=Ia(l).filter(h=>y61(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:mF[r],value:s[r]??null,options:n}})}function VF(e,t,a,s){let o={..._F(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 p6(o)}function OF(e,t,a,s){if(t.length<2)return[];let o=e.filter(r=>Zr(r,a,s,"kind"));return[{kind:null,label:uF,count:o.length,checked:a.kind===null},...t.map(r=>({kind:r,label:n5[r],count:o.filter(i=>j0(i)===r).length,checked:a.kind===r}))]}function BF(e,t){if(e.length===0)return null;let a=e.map(r=>G8(Le(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 DF(e,t,a){let s=[];e.kind&&s.push({key:"kind",value:e.kind,label:n5[e.kind]}),e.inStockOnly&&s.push({key:"inStock",value:"",label:Da.inStock});for(let o of Dr)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 T5={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},K8="type",ZF="maxPrice",GF="inStock",WF="sort",UF="page";function qF(e){let t=r=>e.getAll(r).flatMap(i=>i.split(",")).filter(Boolean),a=Number(e.get(ZF)),s=Number(e.get(UF)),o=e.get(K8);return{tyreSizes:t(T5.tyreSizes),brands:t(T5.brands),finishes:t(T5.finishes),diameters:t(T5.diameters).map(Number).filter(Number.isFinite),collections:t(T5.collections),pcds:t(T5.pcds),tyreTypes:t(T5.tyreTypes),speedRatings:t(T5.speedRatings),priceMax:Number.isFinite(a)&&a>0?a:null,inStockOnly:e.get(GF)==="1",kind:F4.find(r=>r===o)??null,sort:Za(e.get(WF)),page:Number.isFinite(s)&&s>=1?Math.floor(s):1}}function Ae(e){let t=new URLSearchParams;for(let a of Dr){let s=e[a];s.length>0&&t.set(T5[a],s.join(","))}return e.priceMax!=null&&t.set(ZF,String(e.priceMax)),e.inStockOnly&&t.set(GF,"1"),e.kind&&t.set(K8,e.kind),e.sort!=="recommended"&&t.set(WF,e.sort),e.page>1&&t.set(UF,String(e.page)),t}function $F(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 jF(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 Y8="__all__",KF="All products";function z61(e){return e?.slug===Y8}function YF(e){return typeof e?.slug=="string"&&e.slug!==""}function Wa(e,t){if(z61(e))return[...t];let a=o=>o;if(e.process)return t.filter(o=>a(o).process===e.process);let s=e.name??"";return t.filter(o=>{let{process:r,categories:i}=a(o);return(i??(r?[r]:[])).includes(s)})}var Ua="AlloyWheelsListing",k61="ProductGrid",XF="catalog",S61="CatalogFilterBar",Yh="fieldUsage",C61="requestQuery";function JF(e){return e.props?.source}function qa(e){return e?.type===k61&&YF(JF(e))}function Of(e){return e?.type===S61}function M61(e){return e?.type===Ua||qa(e)||Of(e)}function L61(e){let t=e.content??[],a=e.zones??{};return[...t,...Object.values(a).flat()]}function Bf(e){return e?L61(e).some(t=>t?.type===Ua||qa(t)):!1}function QF(e,t){return T61(e,a=>qa(a)?{...a,props:{...Df(a).props,[XF]:Wa(JF(a)??{},A61(t,m6(a.props?.kinds)))}}:{...a,props:{...Zf(a).props,products:t}})}function eN(e){return sN(e,M61,t=>Of(t)?tN(t):qa(t)?Df(t):Zf(t))}function tN(e){if(!e.props||!(Yh in e.props))return e;let{[Yh]:t,...a}=e.props;return{...e,props:a}}function Df(e){let{[XF]:t,[Yh]:a,...s}=e.props??{},o=s.source;if(o&&"wheels"in o){let{wheels:r,...i}=o;s.source=i}return{...e,props:s}}function A61(e,t){let a=new Set(t);return e.filter(s=>{let o=s.kind??"alloy-wheel";return a.has(o)})}function aN(e){return qa(e)?Df(e):Of(e)?tN(e):e?.type===Ua?Zf(e):e}function Zf(e){let{wheels:t,products:a,[Yh]:s,[C61]:o,...r}=e.props??{};return{...e,props:r}}function T61(e,t){return sN(e,a=>a?.type===Ua||qa(a),t)}function sN(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 Wr="/wheels",Gf="Products";function E61(e,t){return t>1?`${Gf} \xB7 ${e}`:Gf}function oN(...e){for(let t of e){let a=(t?.content??[]).find(s=>s?.type===Ua);if(a)return a.props??{}}return null}function Wf(...e){return oN(...e)!==null}function H61(e,t){let a=e.filter(s=>Wf(...s.docs)).map(s=>ne(s.slug));return a.length===0&&t.fallback?[Wr]:a}var rN=[K8,...Object.entries(T5).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function iN(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 P61(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Uf(e){let t=new URLSearchParams(iN(e).query);for(let a of rN){let s=t.get(a);if(s)return{param:a,value:s}}return null}function qf(e,t){let{path:a,query:s,hash:o}=iN(e),r=s.split("&").filter(i=>i&&!rN.includes(P61(i.split("=")[0])));return t?.value&&r.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${a}${r.length?`?${r.join("&")}`:""}${o}`}function nN(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 F61="Product type",N61="AUD";function R61(e,t){let a=t.listing??{},s=m6(a.kinds),o=e.filter(l=>s.includes(j0(l))),r=Kh(a),i=jh(o,D7,N61,s,t.fieldUsage).filter(l=>!r.includes(l.key)).map(l=>({param:T5[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=F4.filter(l=>s.includes(l)&&o.some(c=>j0(c)===l));return n.length>1&&i.unshift({param:K8,label:F61,values:n.map(l=>({value:l,label:n5[l]}))}),i}function lN(e){return t=>{let a=H61(t,{fallback:e.offersCommerce}),s=t.filter(o=>Wf(...o.docs)).length;return{listingPaths:a,pageOptions:o=>{let r=o.map(i=>{let n=t.find(l=>ne(l.slug)===i.value);return n&&Wf(...n.docs)?{...i,label:E61(n.title,s)}:i});return s===0&&e.offersCommerce&&!r.some(i=>i.value===Wr)&&r.push({value:Wr,label:Gf}),r},filtersFor:o=>{if(!a.includes(o))return null;let r=t.find(i=>ne(i.slug)===o);return R61(e.catalogue,{listing:r?oN(...r.docs):null,fieldUsage:e.fieldUsage})},readFilter:Uf,withFilter:qf}}}function cN(e,t=[]){let a=qf(Wr,{param:K8,value:e}),s=t.find(o=>{let r=(o?.url??"").trim();if(!r||r==="#")return!1;let i=Uf(r);return i?.param!==K8||i.value!==e?!1:Sv(r).startsWith("/")});return s?s.url:a}function hN(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 O61}from"react/jsx-runtime";var pN=_61([]);function mN({items:e,children:t}){let a=V61(()=>hN(e),[e]);return O61(pN.Provider,{value:a,children:t})}function dN(){return I61(pN)}import{createContext as Z61,useCallback as G61,useContext as W61}from"react";var uN={tyre:"tire",tyres:"tires",colour:"color",colours:"colors",centre:"center",centres:"centers",catalogue:"catalog",catalogues:"catalogs",enquire:"inquire",enquiry:"inquiry",enquiries:"inquiries",aluminium:"aluminum"},B61=new RegExp(`\\b(${Object.keys(uN).sort((e,t)=>t.length-e.length).join("|")})\\b`,"gi");function gN(e){return e==="us"?"us":"international"}function D61(e,t){return e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t[0].toUpperCase()+t.slice(1):t}function vN(e,t){return t!=="us"?e:e.replace(B61,a=>D61(a,uN[a.toLowerCase()]))}import{jsx as U61}from"react/jsx-runtime";var fN=Z61("international");function bN({variant:e,children:t}){return U61(fN.Provider,{value:e,children:t})}function $a(){let e=W61(fN);return G61(t=>vN(t,e),[e])}import{createContext as q61,useCallback as $f,useContext as $61,useEffect as j61,useMemo as K61,useState as Y61}from"react";import{jsx as J61}from"react/jsx-runtime";var X61={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},xN=q61(X61);function wN({children:e,shortcut:t=!0}){let[a,s]=Y61(!1),o=$f(()=>s(!0),[]),r=$f(()=>s(!1),[]),i=$f(()=>s(l=>!l),[]);j61(()=>{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=K61(()=>({isOpen:a,open:o,close:r,toggle:i}),[a,o,r,i]);return J61(xN.Provider,{value:n,children:e})}function ja(){return $61(xN)}import{createContext as Q61,useCallback as Jh,useContext as e71,useMemo as t71,useState as Kf}from"react";function yN({email:e,firstName:t,interests:a,frequency:s},o){return{email:e.trim(),firstName:t?.trim()||void 0,interests:a&&a.length?a:void 0,frequency:s||void 0,source:o}}var N4={popup:"shop_popup",subscribeSection:"subscribe_section",subscribeBlogsSection:"subscribe_blogs_section",footerSignup:"footer_signup",stockAlertOptIn:"stock_alert_optin"};var aN1=1440*60*1e3;function zN(e){return e===he?{seen:"storefront-subscribe-seen",closedAt:"storefront-popup-closed-at",sentAt:"storefront-popup-sent-at"}:{seen:`storefront-popup:${e}:seen`,closedAt:`storefront-popup:${e}:closed-at`,sentAt:`storefront-popup:${e}:sent-at`}}function jf(e,t,a){let s=zN(e);t.session.setItem(s.seen,"1"),t.local.setItem(s.closedAt,String(a))}function kN(e,t,a){jf(e,t,a),t.local.setItem(zN(e).sentAt,String(a))}var Xh={session:OE,local:N3};import{jsx as a71}from"react/jsx-runtime";var SN=Q61(null);function CN({children:e}){let[t,a]=Kf(!1),[s,o]=Kf("chosen"),[r,i]=Kf({}),n=Jh(m=>{i(m??{}),o("newsletter"),a(!0)},[]),l=Jh(()=>{i({}),o("chosen"),a(!0)},[]),c=Jh(()=>kN(he,Xh,Date.now()),[]),h=Jh(()=>{a(!1),jf(he,Xh,Date.now())},[]),p=t71(()=>({isOpen:t,mode:s,open:n,openByItself:l,close:h,markSent:c,prefillEmail:r.email??"",signupSource:r.source??N4.popup}),[t,s,n,l,h,c,r]);return a71(SN.Provider,{value:p,children:e})}function Qh(){let e=e71(SN);if(!e)throw new Error("useSubscribePopup() must be called inside <SubscribePopupProvider>. Mount the provider in app/layout.tsx.");return e}import{createContext as s71,useContext as o71,useEffect as r71,useState as MN}from"react";import{jsx as n71}from"react/jsx-runtime";var LN="storefront-wishlist";function i71(e){let t=JSON.parse(e);return Array.isArray(t)?t.filter(a=>typeof a=="string"):[]}var AN=s71(null);function TN({children:e}){let[t,a]=MN([]),[s,o]=MN(!1);r71(()=>{let n=N3.getItem(LN);try{n&&a(i71(n))}catch{}o(!0)},[]);function r(n){let l=t.includes(n)?t.filter(c=>c!==n):[...t,n];a(l),N3.setItem(LN,JSON.stringify(l))}let i={slugs:t,ready:s,has:n=>t.includes(n),toggle:r,count:t.length};return n71(AN.Provider,{value:i,children:e})}function EN(){let e=o71(AN);if(!e)throw new Error("useWishlist must be used within a WishlistProvider");return e}import{jsx as X8}from"react/jsx-runtime";function Yf({catalogFilterLabels:e,englishVariant:t,menuItems:a,currency:s,searchShortcut:o=!0,children:r}){return X8(bN,{variant:gN(t),children:X8(pF,{labels:e,children:X8(mN,{items:a,children:X8(W8,{...s,children:X8(CN,{children:X8(TN,{children:X8(Ma,{children:X8(wN,{shortcut:o,children:r})})})})})})})})}import{jsx as l5}from"react/jsx-runtime";import{useCallback as FN,useEffect as ep,useMemo as Ur,useRef as h71,useState as qr}from"react";import{lazy as l71,Suspense as c71}from"react";import{jsx as HN}from"react/jsx-runtime";function Ka(e,t={}){let a=l71(async()=>{let r=await e();return{default:"default"in r?r.default:r}}),s=t.loading?t.loading():null;function o(r){return HN(c71,{fallback:s,children:HN(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{ScreenDocumentContext as p71}from"efficient-easel/screen/components/ScreenDocumentContext";import{PreviewPartsProvider as m71}from"efficient-easel/draw/client";import{sectionTemplates as Xf}from"efficient-easel/screen/lib/section-templates";import{nodeToDoc as d71,docToNode as NN}from"efficient-easel/screen/lib/puck/section-doc";import{newNodeId as u71}from"efficient-easel/draw";import{NO_BRIDGED_CAPABILITIES as g71,useAdminBridge as v71}from"efficient-easel/screen/lib/admin-bridge";import{useEaselHost as f71}from"efficient-easel/screen/lib/host";import{ChromeWrap as b71}from"efficient-easel/screen/lib/host-chrome";import{sessionRegistry as x71}from"efficient-easel/screen/lib/session";import{useEaselSession as w71}from"efficient-easel/screen/lib/session-context";async function PN(e,t,a){let s=!1;try{s=await e()}catch{}return s?(t(),"switched"):(a(),"refused")}import{routeSharedHostMessage as y71}from"efficient-easel/screen/lib/host-inbound";import{documentPermissions as z71}from"efficient-easel/edit-lock";import{useAutosave as k71}from"efficient-easel/autosave";import{saveStatusOf as S71}from"efficient-easel/screen/lib/document-switch";var C71=Ka(()=>import("./chunks/SiteEditorProvider-GTIZ4RNX.js"),{ssr:!1}),M71=Ka(()=>import("efficient-easel/screen/components/SectionScreenShell"),{ssr:!1}),_N="HeroSingle",RN="Untitled section";function L71(e,t){let a=t.components,s=a[e]?e:_N,o=a[s]?.defaultProps??{},r=HM(s,n=>a[n]?.defaultProps??{}),i=s===AE?{blocks:TE()}:null;return{type:s,props:{id:u71(s),...o,...r?{[r.slot]:r.children}:null,...i}}}function A71(){if(typeof window>"u")return _6;try{let e=window.localStorage.getItem(hr);return e==="light"||e==="dark"||e==="auto"?e:_6}catch{return _6}}function IN({id:e,initialType:t,initialName:a=RN}){let[s,o]=qr(e),r=h71(s);ep(()=>{r.current=s},[s]);let i=f71(),[n,l]=qr(t),[c,h]=qr(a),[p,m]=qr(void 0),[u,v]=qr(_6),{token:g,tokenRef:f}=v71({onMessage:_=>{if(Oh(_)||y71(_))return;let B=_;if(B?.type==="storefront-editor:navigate"&&B.target?.kind==="section"&&B.target.id){let Z=B.target.id;if(Z===r.current)return;let X=B.target.type,G=B.target.name;PN(k,()=>{l(X),h(G||RN),o(Z),i.address.show({kind:"section",id:Z})},()=>i.send("storefront-editor:save-failed"))}}}),b=k71({save:_=>Xf.update(_.id,_.node).then(()=>{}),onFailure:(_,B)=>{B===0&&i.send("storefront-editor:save-failed")}}),{state:x,push:w,flush:k}=b;ep(()=>v(A71()),[]);let A=w71(),T=A.usesBridgedToken?!!g:!0,F=Ur(()=>Fh(x71(A),Ml(A)),[A]);ep(()=>{if(!T)return;let _=!1;return m(void 0),Xf.ensure(s,c,L71(n??_N,F)).then(B=>!_&&m(B.node)).catch(()=>!_&&m(null)),()=>{_=!0}},[s,n,c,T,F]);let M=FN(_=>{i.send("storefront-editor:dirty");let B=NN(_);B&&w({id:r.current,node:B})},[w,i]),z=i.send,E=FN(async _=>{try{return await _(f.current??""),!0}catch{return z("storefront-editor:save-failed"),!1}},[z]),N=Ur(()=>Nh(F,!0),[F]);ep(()=>(Dv(null),()=>Dv(null)),[]);let R=Ur(()=>p?_h(d71(p)):null,[p]),D=Ur(()=>({target:{kind:"page",slug:""},adapter:Vr(void 0),capabilities:Vr(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:T,token:g,tokenRef:f,notifyParent:z,runAuthed:E,docId:s,data:R,getLiveData:()=>R,error:null,redirecting:!1,saveStatus:S71(x),saveState:x,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:x.pending,toggleAutoSave:()=>{},retrySave:()=>{b.retryNow()},onChange:M,flushSave:k,onPublish:async _=>{let B=NN(_);B&&await Xf.update(r.current,B)},bridgeCapabilities:g71,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[s,T,g,z,E,R,x,M,k,b.retryNow]),V=Ur(()=>z71(!D.readOnly),[D.readOnly]);return p===void 0?l5("div",{className:"sf-msg",children:d("Loading\u2026")}):p===null||!R?l5("div",{className:"sf-msg sf-msg--error",children:d("Couldn\u2019t open this section.")}):l5(p71.Provider,{value:D,children:l5(gc,{themeMode:u,chromePlaceholder:!0,children:l5(b71,{wrap:A.chrome?.wrap,surface:"section",children:l5(Kc,{children:l5(Yc,{children:l5(m71,{children:l5(Ih,{children:l5(Xc,{children:l5(mc,{children:l5(C71,{config:N,data:R,onChange:M,permissions:V,children:l5(M71,{})},s)})})})})})})})})})}import{EaselHostProvider as QL1}from"efficient-easel/screen/lib/host";import{MediaPanelProvider as eA1}from"efficient-easel/screen/lib/media-panel";import{useEffect as G71,useState as W71}from"react";import{createContext as T71,useCallback as VN,useContext as E71,useEffect as H71,useId as P71,useMemo as F71,useRef as N71,useState as R71}from"react";import{jsx as _71}from"react/jsx-runtime";var ON=T71(null);function BN({reason:e,children:t}){let[a,s]=R71([]),o=N71(null),r=VN(c=>{s(h=>h.includes(c)?h:[...h,c])},[]),i=VN(c=>{s(h=>h.filter(p=>p!==c))},[]),n=e==="none-configured",l=F71(()=>({noCurrencyConfigured:n,live:a,firstRendered:o,join:r,leave:i}),[n,a,r,i]);return _71(ON.Provider,{value:l,children:t})}function DN(e){let t=E71(ON),a=P71(),s=!!e&&!!t?.noCurrencyConfigured;s&&t&&t.firstRendered.current===null&&(t.firstRendered.current=a);let o=t?.join,r=t?.leave;return H71(()=>{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 jr={currencies:[],defaultCurrency:null},I71={currencies:[],defaultCurrency:null,reason:"none-configured"},$r=new Map;function ZN(e,t,a=!1){a&&$r.delete(t);let s=$r.get(t);return s||(s=V71(e,t),$r.set(t,s),s.catch(()=>{$r.get(t)===s&&$r.delete(t)})),s}async function V71(e,t){try{let a=await nh(e,t);if(!a)return jr;let s=await H0.getSiteBySlug(a);return s.status!=="online"?await O71(e,t):{currencies:s.currencies??[],defaultCurrency:s.defaultCurrency??null}}catch(a){return console.warn("[editor-currency-source] load failed; editor stays unpriced",a),jr}}async function O71(e,t){let a=await R1.listSiteCurrencies(t,e);if(!a.length)return I71;let s=[...a].sort((o,r)=>o.display_order-r.display_order).map(o=>({code:o.currency_code,symbol:o.symbol||Z71(o.currency_code),decimalPlaces:typeof o.decimal_places=="number"?o.decimal_places:D71(o.currency_code),isDefault:o.is_default}));return{currencies:s,defaultCurrency:s.find(o=>o.isDefault)?.code??s[0].code}}var B71=0;function GN(e){try{return new Intl.NumberFormat(rH,{style:"currency",currency:e})}catch{return null}}function D71(e){return GN(e)?.resolvedOptions().maximumFractionDigits??B71}function Z71(e){return GN(e)?.formatToParts(0).find(s=>s.type==="currency")?.value||e}import{jsx as WN}from"react/jsx-runtime";function Jf({token:e,siteId:t,enabled:a,children:s}){let[o,r]=W71(jr);return G71(()=>{if(!e||!a||!t){r(jr);return}let i=!1;return ZN(e,t).then(n=>{i||r(n)}).catch(()=>{}),()=>{i=!0}},[e,a,t]),WN(W8,{currencies:o.currencies,defaultCurrency:o.defaultCurrency,children:WN(BN,{reason:o.reason,children:s})})}var Te=new Map,Qf=e=>e??"";function Ee(e,t,a=!1){let s=Qf(t);a&&Te.delete(s);let o=Te.get(s);return o||(o=R1.getHeaderSettings(e,t??void 0),Te.set(s,o),o.catch(()=>{Te.get(s)===o&&Te.delete(s)})),o}function UN(e,t){Te.set(Qf(t),Promise.resolve(e))}function qN(e){Te.delete(Qf(e))}function Kr(e){return{logoUrl:F6(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 $N,useRef as eb}from"react";function tp({token:e,enabled:t=!0,deps:a=[],prime:s,onDisabled:o,refresh:r}){let i=eb(s);i.current=s;let n=eb(o);n.current=o;let l=eb(r);l.current=r,$N(()=>{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]),$N(()=>{if(!e||!t||!l.current)return;let c=!1,h=l.current.subscribe(()=>{let p=l.current;p&&p.load().then(m=>{c||p.publish(m)}).catch(()=>{})});return()=>{c=!0,h()}},[e,t,...a])}function tb({token:e,siteId:t}){let{primeSettings:a,setSettings:s}=Q2();return tp({token:e,deps:[t],prime:{load:()=>Ee(e,t),publish:o=>a(Kr(o))},refresh:{subscribe:q8,load:()=>Ee(e,t,!0),publish:o=>s(Kr(o))}}),null}import{createContext as U71,useCallback as QN,useContext as q71,useMemo as $71,useState as j71}from"react";var Yr=new Map,jN=e=>e??"";function ab(e,t,a){a&&Yr.clear();let s=jN(t),o=Yr.get(s);if(!o){let r=R1.listMenus(e,t);Yr.set(s,r),r.catch(()=>{Yr.get(s)===r&&Yr.delete(s)}),o=r}return o}var ap=new Map;function KN(e,t){let a=jN(t),s=ap.get(a);if(!s){let o=ab(e,t,!0);ap.set(a,o);let r=()=>{ap.get(a)===o&&ap.delete(a)};o.then(r,r),s=o}return s}function Xr(e,t=!1){return ab(e,D2(),t)}function sp(e){return KN(e,D2())}function YN(e,t=!1){return ab(e,null,t)}function XN(e){return KN(e,null)}var sb={ids:new Set,handles:new Set};function ob(e){return{ids:new Set(e.map(t=>t.id).filter(Boolean)),handles:new Set(e.map(t=>t.handle).filter(Boolean))}}function JN({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 op(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 K71}from"react/jsx-runtime";var eR=U71({live:sb,ready:!1,primeLive:()=>{},setLive:()=>{}});function rb({children:e}){let[t,a]=j71({live:sb,ready:!1}),s=QN(i=>a(n=>n.ready?n:{live:i,ready:!0}),[]),o=QN(i=>a({live:i,ready:!0}),[]),r=$71(()=>({...t,primeLive:s,setLive:o}),[t,s,o]);return K71(eR.Provider,{value:r,children:e})}var rp=()=>q71(eR);function ip({token:e}){let{primeLive:t,setLive:a}=rp();return tp({token:e,prime:{load:()=>Xr(e),publish:s=>t(ob(s))},refresh:{subscribe:q8,load:()=>sp(e),publish:s=>a(ob(s))}}),null}import{useScreenDocument as Y71}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as ib,jsxs as nb}from"react/jsx-runtime";function lb({surface:e,children:t}){let{token:a,siteId:s,capabilities:o}=Y71();if(e==="section")return nb(rb,{children:[a?ib(ip,{token:a}):null,t]});let r=a??"";return nb(Jf,{token:r,siteId:s,enabled:o.hasSiteSettings,children:[o.hasSiteSettings&&ib(tb,{token:r,siteId:s}),nb(rb,{children:[o.hasSiteSettings&&ib(ip,{token:r}),t]})]})}import{ShowWhen as Y81}from"efficient-shell/ui";import{useCallback as G6,useEffect as ii,useRef as wb,useState as Q8}from"react";import{requestMediaPick as m81}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as zR}from"efficient-easel/screen/lib/host";var tR="Menu Item",aR=6,cb=4,sR="Menu",oR="Link a menu in the inspector \u2192";function rR(){return d("This column isn't linked to a menu, so the preview shows placeholder links. Pick a menu above.")}function iR(e){return d("\u201C{name}\u201D no longer exists in {place}, so the preview shows placeholder links. Pick another menu.",{name:e,place:d("Storefront \u2192 Menus")})}function nR(){return d("The menu linked here no longer exists in {place}, so the header shows placeholder links. Pick another menu.",{place:d("Storefront \u2192 Menus")})}import{Fragment as X71}from"react";import{jsx as J71}from"react/jsx-runtime";function R4(e,t){return e.split(/\{([A-Za-z][A-Za-z0-9_]*)\}/g).map((a,s)=>s%2===1?J71(X71,{children:a in t?t[a]:`{${a}}`},s):a)}import{HEADER_TYPE as hb,FOOTER_TYPE as Q71}from"efficient-easel/draw";var e81=new Set(["Hero","HeroSingle","IntroBleed"]),R3={min:56,max:140,default:88},Ya={min:0,max:120,step:2,default:32},Jr=`var(--sf-header-h, ${R3.default}px)`,Qr="--sf-header-set-h",pb="--sf-header-h",lR=`var(${Qr}, ${R3.default}px)`,cR="sf-header-clearance",J8="sf-sticky-underheader";function mb(e){return e?.find(t=>t?.type&&t.type!==hb)??null}function hR(e){let t=mb(e)?.type;return!t||!e81.has(t)}function pR(e){return!hR(e)}function db(e){return!!e?.some(t=>t?.type===hb)}function mR(e){return!e||e.length===0?!1:!e.some(t=>t?.type===hb||t?.type===Q71)}var t81=["auto","shared","own"],ub="auto",a81="topSpace",dR="data-top-space";function s81(e){return t81.includes(e)?e:ub}function gb(e,t){let a=s81(e?.props?.[a81]);return a==="own"?!0:a==="shared"?!1:hR(t)}function uR(e,t){return gb(e,t)?"own":null}var ei=YL,o81="sf-header-theme";function ti(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function np(e){let t=ti(e);return t===null?null:{className:o81,style:JL(t)}}var vb="overlay",fb=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function Xa(e){return z2(fb,vb,e)}var E5={desktop:40,mobile:45,min:20,max:80,step:5};function bb(e,t){return`${typeof e=="number"?e:t}%`}var lp="data-lead-ink",cp="data-header-ink";var r81="auto";function i81(e){return e.type==="IntroBleed"?Xa(e.props?.layout)!=="stacked":!0}function gR(e){let t=mb(e);return t&&pR(e)&&i81(t)?"light":null}function Ja(e){return e==="light"||e==="dark"?e:r81}import{Banner as d81,Button as kb,Drawer as u81,InputNumber as g81,LoadingSpinner as v81,MediaUploadField as f81,ShowWhen as oi,Slider as b81,Tabs as x81,tabButtonId as w81,tabPanelId as y81}from"efficient-shell/ui";import{PictureTiles as n81}from"efficient-shell/ui";import{FlagUsIcon as l81,GlobeIcon as c81}from"efficient-shell/icons/efficient";var ai=[{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"}],hp="Show as",si="name";function Z6(e){return ai.some(t=>t.value===e)?e:si}var vR=e=>e==="flag_code"||e==="flag";import{Fragment as xb,jsx as He,jsxs as pp}from"react/jsx-runtime";var fR=He("span",{className:"inline-flex shrink-0 border border-current/20",children:He(l81,{size:15})}),h81={name:"UNITED STATES",code_currency:pp(xb,{children:["US",He("span",{className:"opacity-50",children:"\xB7"}),"USD"]}),globe_code:pp(xb,{children:[He(c81,{size:12,className:"shrink-0"}),"US"]}),currency:"USD",flag_code:pp(xb,{children:[fR,"US"]}),flag:fR};function p81({kind:e}){return pp("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:[h81[e],He("span",{className:"opacity-70",children:"\u25BE"})]})}function mp({value:e,onChange:t}){return He(n81,{label:d(hp),columns:2,captions:!0,value:Z6(e),onChange:t,options:ai.map(a=>({value:a.value,label:d(a.label),picture:He(p81,{kind:a.value})}))})}import{SettingsDefaultReset as yb,SettingsSwitch as ri}from"efficient-easel/panel";import{FieldSelect as Sb}from"efficient-easel/fields";import{useEaselStrings as M81}from"efficient-easel/strings";import{ListIcon as L81,LogoIcon as A81,SettingsIcon as T81,StylesIcon as E81}from"efficient-easel/icons";import{Fragment as Pe,jsx as Q,jsxs as K0}from"react/jsx-runtime";var z81={field:"country_selector_enabled",is:!0},ni={not:{context:"placeholderMode",is:!0}},k81={field:"menu_position",is:"beside"},S81={all:[{field:"logo_position",is:"center"},{not:{field:"menu_position",is:"center"}}]},C81={all:[ni,e5("country_selector_enabled")]},Cb="sf-header",bR="sf-header-size-label",xR="sf-header-gap-label",wR="sf-header-height-label",yR=[{id:"logo",label:"Logo",icon:Q(A81,{})},{id:"menu",label:"Menu",icon:Q(L81,{}),showWhen:ni},{id:"tools",label:"Tools",icon:Q(T81,{})},{id:"look",label:"Look",icon:Q(E81,{})}];function Mb({tokenRef:e,siteId:t,onClose:a,onAuthExpired:s,inline:o,placeholderMode:r,websiteName:i,onOpenWebsiteSettings:n}){let l=zR(),c=M81(),[h,p]=Q8(null),[m,u]=Q8(null),[v,g]=Q8(!1),[f,b]=Q8(yR[0].id),[x,w]=Q8(gE),k=h,A={placeholderMode:r},T=Object.values(GT(Object.fromEntries(yR.map(O=>[O.id,O])),k,A)),F=T.find(O=>O.id===f)??T[0],[M,z]=Q8(0),{setSettings:E}=Q2(),N=wb(null),R=wb(null),D=wb(null);ii(()=>{let O=!1,K=null,j=null,p1=3,r0=(g0,a1=0)=>{O||u(null),Ee(g0,t,a1>0).then(A1=>!O&&p(A1)).catch(()=>{O||(a1+1<p1?j=setTimeout(()=>r0(g0,a1+1),600*(a1+1)):u(d("Could not load header settings.")))})},k0=e.current;if(k0)r0(k0);else{let g0=0;K=setInterval(()=>{let a1=e.current;if(a1){K&&clearInterval(K),K=null,O||u(null),r0(a1);return}g0+=250,g0===5e3&&!O&&u(d("Waiting for editor authorization\u2026")),g0>=3e4&&(K&&clearInterval(K),K=null,O||u(d("Not authorized yet \u2014 reopen once the editor has loaded.")))},250)}return()=>{O=!0,K&&clearInterval(K),j&&clearTimeout(j)}},[e,M,t]),ii(()=>{h&&E(Kr(h))},[h,E]),ii(()=>()=>{N.current&&clearTimeout(N.current),R.current&&clearTimeout(R.current),D.current&&clearTimeout(D.current)},[]);let V=G6(async(O,K)=>{let j=e.current;if(!j||!h)return;let p1=h;K&&p({...h,...K}),g(!0),u(null);try{let r0=await O(j);p(r0),UN(r0,t),n6()}catch(r0){p(p1),r0 instanceof E4&&r0.status===401?(qN(t),s?.(),u(d("Authorization expired \u2014 try again in a moment."))):u(d("Could not save. Please retry."))}finally{g(!1)}},[h,e,s,t]),_=G6(O=>V(K=>R1.updateHeaderSettings(O,K,t??void 0),O),[V,t]),B=G6(O=>{V(K=>R1.setHeaderLogoFromAsset(O,K,t??void 0))},[V,t]),Z=G6(()=>{m81(l,{accept:"image/svg+xml",title:d("Logo (SVG)")}).then(O=>{O&&B(O.id)})},[B]),X=G6((O,K=!0)=>{p(p1=>p1&&{...p1,logo_size_px:O}),N.current&&clearTimeout(N.current);let j=()=>{V(p1=>R1.updateHeaderSettings({logo_size_px:O},p1,t??void 0))};K?j():N.current=setTimeout(j,400)},[V,t]),G=G6((O,K=!0)=>{p(p1=>p1&&{...p1,height_px:O}),R.current&&clearTimeout(R.current);let j=()=>{V(p1=>R1.updateHeaderSettings({height_px:O},p1,t??void 0))};K?j():R.current=setTimeout(j,400)},[V,t]),$=G6((O,K=!0)=>{p(p1=>p1&&{...p1,menu_gap_px:O}),D.current&&clearTimeout(D.current);let j=()=>{V(p1=>R1.updateHeaderSettings({menu_gap_px:O},p1,t??void 0))};K?j():D.current=setTimeout(j,400)},[V,t]),t1=G6(()=>{V(async O=>{let K=await R1.clearHeaderLogo(O,t??void 0);return K.reverse_logo?R1.updateHeaderSettings({reverse_logo:!1},O,t??void 0):K})},[V,t]),d1=G6(O=>{p(K=>K&&{...K,menu:O?.id??null,menu_handle:O?.handle??null,menu_name:O?.name??null,menu_items:O?O.items.map(j=>({label:j.label,url:j.url,dropdown_menu:j.dropdown_menu??null,dropdown_items:j.dropdown_items??[]})):[]}),V(K=>R1.updateHeaderSettings({menu:O?.id??null},K,t??void 0))},[V,t]),r1=K0(Pe,{children:[m&&Q(d81,{tone:"danger",className:"mx-4 mt-3",action:h?void 0:Q(kb,{variant:"secondary",size:"sm",onClick:()=>z(O=>O+1),children:d("Retry")}),children:m}),h?K0(Pe,{children:[Q(Z81,{tabs:T,activeId:F.id,onSelect:b}),K0("div",{id:y81(Cb,F.id),role:"tabpanel","aria-labelledby":w81(Cb,F.id),className:"flex flex-col p-4 [&>*+*]:mt-3",children:[F.id==="logo"&&K0(Pe,{children:[Q(u6,{label:"Image"}),Q(oi,{rule:ni,values:k,context:A,children:Q(H81,{settings:h,websiteName:i,onPick:Z,onClear:t1,showHint:x})}),Q(b3,{label:"Reverse the Logo",children:Q(ri,{checked:h.reverse_logo,onChange:O=>_({reverse_logo:O}),ariaLabel:d("Reverse the Logo")})}),Q(W6,{shown:x,children:d("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.")}),Q(u6,{label:"Placement"}),Q(F81,{label:L0.logoPosition.label,value:L0.logoPosition.options.find(O=>O.value===L0.logoPosition.choose(h.logo_position))?.label,children:Q(_7,{value:L0.logoPosition.choose(h.logo_position),options:L0.logoPosition.options,onChange:O=>_({logo_position:O}),ariaLabel:L0.logoPosition.label})}),K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[Q("span",{id:bR,className:"text-xs text-[var(--ink-muted)]",children:d("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??yr[h.logo_size],"px"]}),Q(yb,{label:d("Size"),words:c.panel,changed:h.logo_size_px!=null,onReset:()=>X(null)})]})]}),Q(zb,{labelledBy:bR,min:rh,max:EE,step:2,value:h.logo_size_px??yr[h.logo_size],onPreview:O=>X(O,!1),onCommit:O=>X(O,!0)}),Q(W6,{shown:x,children:d("Sets the logo\u2019s height; the width follows the logo\u2019s own proportions.")})]}),Q(Jc,{shown:x,onChange:w})]}),F.id==="menu"&&K0(Pe,{children:[Q(u6,{label:"Links"}),Q(P81,{token:e.current,menuId:h.menu,menuName:h.menu_name,itemCount:h.menu_items?.length??0,onPick:d1}),Q(b3,{label:L0.menuAlign.label,children:Q(_7,{value:L0.menuAlign.choose(h.menu_position),options:L0.menuAlign.options.filter(O=>O.value!=="beside"||h.logo_position!=="center"),onChange:O=>_({menu_position:O}),ariaLabel:L0.menuAlign.label})}),Q(oi,{rule:k81,values:k,children:K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[Q("span",{id:xR,className:"text-xs text-[var(--ink-muted)]",children:d("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??Ya.default,"px"]}),Q(yb,{label:d("Space from the logo"),words:c.panel,changed:h.menu_gap_px!=null,onReset:()=>$(null)})]})]}),Q(zb,{labelledBy:xR,min:Ya.min,max:Ya.max,step:Ya.step,value:h.menu_gap_px??Ya.default,onPreview:O=>$(O,!1),onCommit:O=>$(O,!0)}),Q(W6,{shown:x,children:d("How much room the menu leaves the logo. Only the logo moves away; the space between the menu words stays as it is.")})]})}),Q(b3,{label:L0.menuRow.label,children:Q(_7,{value:L0.menuRow.choose(h.menu_row),options:L0.menuRow.options,onChange:O=>_({menu_row:O}),ariaLabel:L0.menuRow.label})}),Q(oi,{rule:S81,values:k,children:Q(b3,{label:"Left items",children:Q("div",{className:"w-16",children:Q(Sb,{value:h.menu_split??3,ariaLabel:d("Left items"),onChange:O=>_({menu_split:O}),options:[1,2,3,4].map(O=>({label:String(O),value:O}))})})})}),Q(b3,{label:L0.navTextCase.label,children:Q(_7,{value:L0.navTextCase.choose(h.nav_text_case),options:L0.navTextCase.options,onChange:O=>_({nav_text_case:O}),ariaLabel:L0.navTextCase.label})}),Q(W6,{shown:x,children:R4(d("{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:Q("strong",{children:d("Uppercase")}),capitalised:Q("strong",{children:d("Capitalised")})})})]}),F.id==="tools"&&K0(Pe,{children:[Q(u6,{label:"Style"}),Q(b3,{label:L0.utilStyle.label,children:Q(_7,{value:L0.utilStyle.choose(h.util_style),options:L0.utilStyle.options,onChange:O=>_({util_style:O}),ariaLabel:L0.utilStyle.label})}),Q(W6,{shown:x,children:R4(d("{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:Q("strong",{children:d("Text")})})}),Q(u6,{label:"Search"}),Q(b3,{label:"Search",children:Q(ri,{checked:h.search_enabled,onChange:O=>_({search_enabled:O}),ariaLabel:d("Search")})}),Q(b3,{label:L0.searchPosition.label,children:Q(_7,{value:L0.searchPosition.choose(h.search_position),options:L0.searchPosition.options,onChange:O=>_({search_position:O}),ariaLabel:L0.searchPosition.label})}),Q(u6,{label:"Country selector"}),Q(b3,{label:"Show selector",children:Q(ri,{checked:h.country_selector_enabled,onChange:O=>_({country_selector_enabled:O}),ariaLabel:d("Show selector")})}),Q(oi,{rule:z81,values:{country_selector_enabled:h.country_selector_enabled},children:Q(b3,{label:"Show as",stacked:!0,children:Q(mp,{value:h.country_selector_show_as,onChange:O=>_({country_selector_show_as:O})})})}),Q(oi,{rule:C81,values:k,context:A,children:Q(W6,{shown:x,children:R4(d("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:Q("strong",{children:d("Storefront \u203A Settings \u203A Regions & currencies")})})})}),Q(u6,{label:"Account and cart"}),Q(b3,{label:"Account",children:Q(ri,{checked:h.account_enabled??!0,onChange:O=>_({account_enabled:O}),ariaLabel:d("Account")})}),Q(b3,{label:"Cart",children:Q(ri,{checked:h.cart_enabled??!0,onChange:O=>_({cart_enabled:O}),ariaLabel:d("Cart")})}),Q(Jc,{shown:x,onChange:w})]}),F.id==="look"&&K0(Pe,{children:[Q(u6,{label:"Dimensions"}),Q(b3,{label:L0.width.label,children:Q(_7,{value:L0.width.choose(h.width),options:L0.width.options,onChange:O=>_({width:O}),ariaLabel:L0.width.label})}),K0("div",{className:"flex flex-col gap-2",children:[K0("div",{className:"flex items-center justify-between",children:[Q("span",{id:wR,className:"text-xs text-[var(--ink-muted)]",children:d("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??R3.default,"px"]}),Q(yb,{label:d("Height"),words:c.panel,changed:h.height_px!=null,onReset:()=>G(null)})]})]}),Q(zb,{labelledBy:wR,min:R3.min,max:R3.max,step:2,value:h.height_px??R3.default,onPreview:O=>G(O,!1),onCommit:O=>G(O,!0)}),Q(W6,{shown:x,children:d("Sets how tall the header bar is; the content below it shifts down to match.")})]}),Q(b3,{label:"Border thickness",children:Q("div",{className:"w-24",children:Q(g81,{value:h.border_thickness,min:0,max:20,precision:0,size:"sm",suffix:"px","aria-label":d("Border thickness"),onChange:O=>_({border_thickness:Math.max(0,O??0)})})})}),Q(u6,{label:"Color"}),Q(b3,{label:"Theme",children:Q(SA,{value:h.theme??ei,onChange:O=>_({theme:O===ei?null:O}),followLabel:d("Follow the site theme")})}),Q(W6,{shown:x,children:d("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.")}),Q(b3,{label:L0.topTextColor.label,children:Q(_7,{value:L0.topTextColor.choose(h.top_text_color),options:L0.topTextColor.options,onChange:O=>_({top_text_color:O}),ariaLabel:L0.topTextColor.label})}),Q(W6,{shown:x,children:d("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.")}),Q(u6,{label:"Behavior"}),Q(b3,{label:"Sticky header",children:Q("div",{className:"w-32",children:Q(Sb,{value:h.sticky,ariaLabel:d("Sticky header"),onChange:O=>_({sticky:O}),options:[{label:d("None"),value:"none"},{label:d("Always"),value:"always"},{label:d("On scroll up"),value:"on_scroll_up"}]})})}),n&&K0(Pe,{children:[Q(u6,{label:"Display mode"}),Q("p",{className:"text-[12px] text-[var(--ink-faint)]",children:d("Set the default Light / Dark / Auto mode and show or hide the light\u2194dark switch in Appearance.")}),Q(kb,{variant:"link",size:"sm",className:"self-start",onClick:n,children:d("Set up display mode \u2192")})]}),Q(Jc,{shown:x,onChange:w})]})]})]}):m?null:Q(v81,{size:"sm",padding:"p-4",label:d("Loading\u2026")})]});return o?K0("div",{className:"flex flex-col",children:[v&&Q("div",{className:"px-4 pt-2 text-[11px] text-[var(--ink-faintest)]",children:d("Saving\u2026")}),r1]}):K0(u81,{open:!0,onClose:a??(()=>{}),side:"right",size:"sm",title:d("Header"),children:[v&&Q("div",{className:"pb-2 text-[11px] text-[var(--ink-faintest)]",children:d("Saving\u2026")}),r1]})}function H81({settings:e,websiteName:t,onPick:a,onClear:s,showHint:o}){let r=!!e.logo_url,i=!r&&!!e.default_logo_url,n=F6(e.effective_logo_url),l=t&&t.trim()?t.trim():I8;return K0("div",{className:"flex flex-col gap-2",children:[Q(f81,{value:n||"",onChange:c=>{c||s()},onPick:a,accept:"image/svg+xml,.svg",acceptHint:"SVG",fit:"contain",height:80,placeholder:d("No logo \u2014 \u201C{name}\u201D wordmark shown",{name:l}),replaceLabel:r?d("Replace SVG logo"):d("Upload SVG logo"),allowRemove:r,removeLabel:d("Use company default")}),Q(W6,{shown:o,children:r?d("Custom SVG logo uploaded for this store."):i?d("Using your company logo from the database."):d("No company logo on file \u2014 upload an SVG or the wordmark is used.")})]})}function P81({token:e,menuId:t,menuName:a,itemCount:s,onPick:o}){let r=zR(),[i,n]=Q8(null),[l,c]=Q8(!1),h=G6(f=>{n(f),c(!0)},[]);ii(()=>{let f=!1;return YN(e).then(b=>!f&&h(b)).catch(()=>!f&&n([])),()=>{f=!0}},[e,h]),ii(()=>{let f=!1,b=q8(()=>{XN(e).then(x=>!f&&h(x)).catch(()=>{})});return()=>{f=!0,b()}},[e,h]);let p=i===null,m=!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:[Q(b3,{label:"Menu",children:Q("div",{className:"w-[170px] max-w-full",children:Q(Sb,{value:v,ariaLabel:d("Menu"),readOnly:p||m,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?d("Loading\u2026"):m?d("No menus"):d("Default links"),value:""},...(i??[]).map(f=>({label:`${f.name} (${f.item_count??f.items.length})`,value:f.id}))]})})}),g?Q("p",{className:"text-[12px] text-[var(--sf-warning,#b45309)]",children:nR()}):Q("p",{className:"text-[12px] text-[var(--ink-faint)]",children:v?u3("Header shows \u201C{name}\u201D \u2014 {n} link.","Header shows \u201C{name}\u201D \u2014 {n} links.",s,{name:a??d("the linked menu")}):m?d("No menus yet. Create one in {place}, then pick it here.",{place:d("Storefront \u2192 Menus")}):d("Pick a menu to drive the header links, or keep the built-in default links.")}),Q(kb,{variant:"link",size:"sm",className:"self-start",onClick:()=>r.send("storefront-editor:open-menus",{menuId:v||null}),children:v?d("Edit menu \u2192"):d("Manage menus \u2192")})]})}function W6({shown:e,children:t}){return e?Q("p",{className:"text-[11px] text-[var(--sf-muted)]",children:t}):null}function zb({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 Q("div",{onPointerUp:l=>n(l.target),onKeyUp:l=>{/^(Arrow|Home|End|Page)/.test(l.key)&&n(l.target)},children:Q(b81,{value:t,min:a,max:s,step:o,showInput:!1,size:"sm","aria-labelledby":e,valueText:l=>d("{n} pixels",{n:l}),onChange:l=>{l!=null&&r(l)}})})}function F81({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:[Q("span",{className:"text-xs text-[var(--ink-muted)]",children:d(e)}),t&&Q("span",{className:"text-[12px] text-[var(--ink-faint)]",children:d(t)})]}),a]})}function u6({label:e}){return Q(na,{label:e})}function b3({label:e,children:t,stacked:a=!1}){return a?K0("div",{className:"flex flex-col gap-y-2",children:[Q("span",{className:"text-xs text-[var(--sf-text-secondary)]",children:d(e)}),t]}):K0("div",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[Q("span",{className:"text-xs text-[var(--sf-text-secondary)]",children:d(e)}),Q("div",{className:"flex-shrink-0",children:t})]})}var N81=[{label:"Left",value:"left"},{label:"Center",value:"center"}],R81=[{label:"Left",value:"left"},{label:"Right",value:"right"}],_81=[{label:"Right",value:"left"},{label:"Centered",value:"center"},{label:"Beside logo",value:"beside"}],I81=[{label:"Own row",value:"top"},{label:"Same row",value:"inline"}],V81=[{label:$t.page,value:"page"},{label:$t.full,value:"full"}],O81=[{label:"Icon",value:"icon"},{label:"Text",value:"text"}],B81=[{label:"Uppercase",value:"uppercase"},{label:"Capitalised",value:"capitalised"}],D81=[{label:"Auto",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}],L0={logoPosition:{label:"Position",options:N81,choose:e=>e==="right"?"center":e},menuAlign:{label:"Alignment",options:_81,choose:e=>e==="center"?"center":e==="beside"?"beside":"left"},menuRow:{label:"Row",options:I81,choose:e=>e==="inline"?"inline":"top"},searchPosition:{label:"Position",options:R81,choose:e=>e},width:{label:"Width",options:V81,choose:e=>e},navTextCase:{label:"Letters",options:B81,choose:e=>e==="capitalised"?"capitalised":"uppercase"},utilStyle:{label:"Show as",options:O81,choose:e=>e==="text"?"text":"icon"},topTextColor:{label:"Text color at the top",options:D81,choose:e=>Ja(e)}};function Z81({tabs:e,activeId:t,onSelect:a}){return Q("div",{className:"es-insp-tabs",children:Q(x81,{variant:"underline",block:!0,labelsFit:!0,"aria-label":d("Header settings"),idPrefix:Cb,value:t,onChange:a,items:e.map(s=>({id:s.id,icon:s.icon,label:d(s.label)}))})})}import{useState as Ab}from"react";import{Banner as G81,Button as Tb}from"efficient-shell/ui";import{createNode as W81,newId as U81}from"efficient-easel/data";import{useEasel as q81}from"efficient-easel/easel";import{useScreenDocument as $81}from"efficient-easel/screen/components/ScreenDocumentContext";function kR(e){return typeof e=="number"&&Number.isInteger(e)&&e>=R3.min&&e<=R3.max?e:R3.default}var dp="fixed inset-x-0 bottom-0 top-[var(--sf-header-h,88px)]",up=e=>!!e&&e.startsWith("/wheels/")&&e!=="/wheels",gp=(e,t)=>!e&&t?"var(--section-bg)":"var(--bg)",SR=e=>e==="capitalised"?"capitalised":"uppercase",li=e=>e==="inline"?"inline":e==="top"||e==="bottom"?"top":null;var CR="Flex",MR=10;function LR(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:T,url:F,dropdown_items:M})=>({label:T,url:F,...M?.length?{dropdown_items:M.map(z=>({label:z.label,url:z.url}))}:{}}))},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:Z6(e.country_selector_show_as)}):null,t("ThemeSwitchBlock"),e.account_enabled!==!1?t("AccountBlock",{style:o}):null,e.cart_enabled!==!1?t("CartBlock",{style:o}):null,n?null:i].filter(T=>T!==null),c=t("LogoBlock",{...s?{heightPx:s}:{},...e.reverse_logo!=null?{reverse:e.reverse_logo?"auto":"off"}:{}}),h=T=>t("MenuBlock",{menu:r,direction:"row",...T}),p=li(e.menu_row)==="inline"?32:20,m=T=>t(CR,{direction:"row",justify:"end",align:"center",share:"content",wrap:"nowrap",phoneRow:3,gap:p,content:T}),u=Math.min(Math.max(e.menu_split??3,1),4),v=e.logo_position==="center"&&r.items.length>u,g=e.menu_position==="center"?"center":e.menu_position==="beside"?"start":"end",f=!v&&g==="start"?e.menu_gap_px??32:32,b=v?[h({linkAlign:"start",linkRange:{from:1,to:u}}),c,m([h({linkAlign:"end",linkRange:{from:u+1}}),...l])]:[c,h({linkAlign:g}),...l.length?[m(l)]:[]],x=t(CR,{direction:"row",justify:"between",align:"center",share:"content",wrap:"nowrap",phoneRow:3,sectionPaddingTop:MR,sectionPaddingBottom:MR,gap:f,content:b}),w=GM(t5,a,[x]),k=ti(e.theme),A=li(e.menu_row);return{...w,props:{...w.props,sticky:e.sticky??"always",topTextColor:e.top_text_color??"auto",...e.height_px!=null?{heightPx:e.height_px}:{},...e.width==="full"?{fullWidth:!0}:{},...k!==null?{sectionAccent:k}:{},...e.nav_text_case?{navTextCase:e.nav_text_case}:{},...A?{menuRow:A}:{}}}}async function Lb(e,t,a,s){let o=await Ee(e,t),r=o.logo_size_px??yr[o.logo_size];return LR(o,a,s,{logoHeightPx:r})}var AR={siteHeader:async({make:e,id:t,siteId:a,token:s})=>s?Lb(s,a,e,t):null};import{Fragment as j81,jsx as vp,jsxs as K81}from"react/jsx-runtime";function Eb(){let{appState:e,dispatch:t,config:a}=q81(g=>g),{readOnly:s,tokenRef:o,siteId:r}=$81(),[i,n]=Ab(!1),[l,c]=Ab(!1),[h,p]=Ab(!1),m=e.data.content;if(s||m.some(g=>g.type===t5))return null;let u=(g,f)=>W81(a,g,f),v=async()=>{let g=o.current;if(!(!g||l)){c(!0),p(!1);try{let f=await Lb(g,r,u,U81(t5));t({type:"setData",data:b=>({...b,content:[...WM(b.content,f)]}),recordHistory:!0}),n(!1)}catch{p(!0)}finally{c(!1)}}};return vp(G81,{tone:h?"danger":"info",title:d("This header uses the old layout"),action:i?K81(j81,{children:[vp(Tb,{variant:"primary",size:"sm",onClick:v,disabled:l,children:l?d("Switching\u2026"):d("Switch now")}),vp(Tb,{variant:"secondary",size:"sm",onClick:()=>n(!1),disabled:l,children:d("Cancel")})]}):vp(Tb,{variant:"secondary",size:"sm",onClick:()=>n(!0),children:d("Switch to Box header")}),children:h?d("The header settings could not be read. Try again."):d("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 X81,jsx as fp,jsxs as J81}from"react/jsx-runtime";function Hb({placeholderMode:e,tokenRef:t,siteId:a,websiteName:s,onOpenWebsiteSettings:o,onAuthExpired:r}){return J81(X81,{children:[fp(Y81,{rule:ni,values:null,context:{placeholderMode:e},children:fp("div",{className:"px-4 pt-3 pb-1",children:fp(Eb,{})})}),fp(Mb,{inline:!0,placeholderMode:e,tokenRef:t,siteId:a,websiteName:s??void 0,onOpenWebsiteSettings:o,onAuthExpired:r})]})}import{useEffect as e91,useState as t91}from"react";import{currentEaselSession as Q81}from"efficient-easel/screen/lib/session";function Qa({fetch:e,keyBy:t}){let a=null,s=null,o=null;return(r=!1)=>{let i=U3(),n=t?t():null;return(r||!a||s===null&&i!==null||o!==n)&&(s=i,o=n,a=i||!Q81().usesBridgedToken?e(i??"",n).catch(()=>[]):Promise.resolve([])),a}}var U6=Qa({fetch:(e,t)=>R1.listProducts(e,{siteId:t,kinds:["alloy-wheel","tyre"]}),keyBy:D2}),Z2=(e=!1)=>U6(e).then(t=>t.filter(a=>a.kind==="alloy-wheel"));function TR(e,t=!0){let[a,s]=t91(null);return e91(()=>{if(!t)return;let o=!1;return e().then(r=>{o||s(r)}),()=>{o=!0}},[e,t]),t?a:null}function bp(){return TR(Z2)}function xp(e=!0){return TR(U6,e)}var HR={list:async()=>(await Z2()).map(e=>({slug:e.slug,name:e.name,href:ic(e.slug)}))},ER=new Map;function a91(e){let t=e??"",a=U3(),s=ER.get(t);if(s&&!(s.token===null&&a!==null))return s.promise;let o=a&&e?R1.listFieldUsage(a,e).then(nN).catch(()=>[]):Promise.resolve([]);return ER.set(t,{promise:o,token:a}),o}var PR={load:async e=>{let[t,a]=await Promise.all([U6().catch(()=>[]),a91(e??void 0)]);return lN({catalogue:t,fieldUsage:a,offersCommerce:!0})}};var Pb=[{key:"cart",label:"Cart",href:"/?cart=open"},{key:"checkout",label:"Checkout",href:"/checkout"}],s91=Object.fromEntries(Pb.map(e=>[e.key,e]));function FR(e){return s91[e]}import{jsx as ci,jsxs as NR}from"react/jsx-runtime";var o91={cart:NR("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:[ci("circle",{cx:"9",cy:"20",r:"1.4"}),ci("circle",{cx:"18",cy:"20",r:"1.4"}),ci("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:NR("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:[ci("rect",{x:"2.5",y:"5",width:"19",height:"14",rx:"2"}),ci("path",{d:"M2.5 9.5h19"})]})},RR={get title(){return d("Shop")},get rows(){return Pb.map(e=>({...e,label:d(e.label),icon:o91[e.key]}))}};import{createEaselSession as jL1}from"efficient-easel/screen/lib/session";import{Inline as i91,InputNumber as OR}from"efficient-shell/ui";import{SettingsField as n91}from"efficient-easel/panel";import{ListIcon as l91}from"efficient-easel/icons";var r91=["start","center","end"],IR=e=>r91.includes(e)?e:null,_R=e=>typeof e=="number"&&Number.isInteger(e)&&e>=1?e:void 0;function hi(e){if(!e||typeof e!="object")return null;let t=_R(e.from)??1,a=_R(e.to);return a!==void 0&&a<t||t===1&&a===void 0?null:a===void 0?{from:t}:{from:t,to:a}}var VR=(e,t)=>t>=e.from&&(e.to===void 0||t<=e.to);import{jsx as wp,jsxs as c91}from"react/jsx-runtime";function Fb({value:e,onChange:t}){let a=hi(e),s=a?.from??1,o=a?.to??null,r=(i,n)=>t(hi({from:i??1,to:n??void 0}));return wp(n91,{label:d("Show links"),icon:wp(l91,{}),changed:a!==null,hint:d("The links this menu shows on a computer. Empty To means to the end."),children:c91(i91,{gap:2,wrap:!1,children:[wp(OR,{size:"sm",prefix:d("From"),min:1,precision:0,value:s,"aria-label":d("Show links from"),onChange:i=>r(i,o)}),wp(OR,{size:"sm",prefix:d("To"),min:1,precision:0,placeholder:d("End"),value:o,"aria-label":d("Show links to"),onChange:i=>r(s,i)})]})})}import{createContext as h91,useCallback as pi,useContext as p91,useEffect as Rb,useMemo as m91,useRef as d91,useState as e9}from"react";function BR(e,t){return`${(hh||(typeof window<"u"?window.location.origin:"")).replace(/^http/,"ws")}/ws/chat/?conversation=${e}&token=${encodeURIComponent(t)}`}var Nb="/api/chat/public";function DR(e){let t=kr.getAccess();return t?{token:t}:e?{headers:{"X-Chat-Token":e}}:{}}async function ZR(e){let t=kr.getAccess();return B8(`${Nb}/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 GR(e,t){return B8(`${Nb}/conversations/${e}/thread/`,DR(t))}async function WR(e,t,a){return B8(`${Nb}/conversations/${e}/thread/`,{method:"POST",body:JSON.stringify({body:a}),...DR(t)})}import{jsx as v91}from"react/jsx-runtime";var u91="sf:aid",UR="sf:chat",qR=h91(null);function g91(){let e=N3.getItem(UR);if(!e)return null;try{return JSON.parse(e)}catch{return null}}function $R({children:e,preview:t=!1}){let[a,s]=e9(!1),[o,r]=e9(null),[i,n]=e9([]),[l,c]=e9(!1),[h,p]=e9(null),[m,u]=e9(0),[v,g]=e9(!1),[f,b]=e9(!1),x=d91(a);x.current=a,Rb(()=>{t||(r(g91()),JE.restoreSession().then(()=>g(!0)).catch(()=>g(!1)))},[t]);let w=pi(async z=>{try{let E=await GR(z.id,z.token);n(E.messages)}catch{}},[]);Rb(()=>{t||o&&w(o)},[t,o,w,v]),Rb(()=>{if(t||!o)return;let z=kr.getAccess()??o.token,E=!1,N=null,R,D=3e3,V=()=>{E||(N=new WebSocket(BR(o.id,z)),N.onmessage=_=>{try{let B=JSON.parse(_.data);B.type==="chat_event"&&B.event==="message"&&(w(o),!x.current&&B.payload?.sender_role==="employee"&&u(Z=>Z+1))}catch{}},N.onclose=()=>{E||(R=setTimeout(V,D),D=Math.min(D*2,3e4))},N.onerror=()=>N?.close())};return V(),()=>{E=!0,R&&clearTimeout(R),N?.close()}},[t,o,w]);let k=pi(()=>{s(!0),u(0)},[]),A=pi(()=>s(!1),[]),T=pi(()=>s(z=>(z||u(0),!z)),[]),F=pi(async(z,E)=>{let N=z.trim();if(N){if(t){n(R=>[...R,{id:`preview-${R.length}`,sender_role:"customer",sender_name:E?.name||"You",body:N,image_url:null,created_at:""}]),b(!0);return}c(!0),p(null);try{if(o){let R=await WR(o.id,o.token,N);n(D=>[...D,R])}else{let R=N3.getItem(u91)||"",D=await ZR({body:N,guestName:E?.name,guestEmail:E?.email,guestKey:R}),V={id:D.id,token:D.guest_token};N3.setItem(UR,JSON.stringify(V)),r(V),n(D.messages)}}catch{p("Could not send your message. Please try again shortly.")}finally{c(!1)}}},[o,t]),M=m91(()=>({isOpen:a,open:k,close:A,toggle:T,messages:i,sending:l,error:h,unread:m,hasConversation:t?f:!!o,isSignedIn:v,send:F}),[a,k,A,T,i,l,h,m,o,v,F,t,f]);return v91(qR.Provider,{value:M,children:e})}function jR(){let e=p91(qR);if(!e)throw new Error("useChat must be used within <ChatProvider>");return e}import{useEffect as N91,useRef as R91,useState as Vb}from"react";import{ChatBubbleLeftRightIcon as f91,ChatBubbleOvalLeftEllipsisIcon as b91,ChatIcon as x91,MegaphoneIcon as w91,PhoneIcon as y91,SparklesIcon as z91}from"efficient-shell/icons/efficient-glyphs";import{Fragment as E91,jsx as yp,jsxs as KR}from"react/jsx-runtime";var k91={"chat-bubble-left-right":f91,"chat-bubble-oval-left-ellipsis":b91,chat:x91,megaphone:w91,phone:y91,sparkles:z91};function S91(e){let t=KT(e?.launcherColor)||"var(--btn)";return{"--assistant-launcher-bg":t,"--assistant-launcher-ink":t==="var(--btn)"?"var(--btn-ink)":Ul(t),"--assistant-launcher-bg-hover":`color-mix(in oklab, ${t} 85%, black)`}}function C91(e){return e?.launcherLabel?.trim()??""}function _b(e){return jT(e?.launcherPosition)==="left"}var M91={position:"fixed",bottom:16,minWidth:48,height:48,padding:0,display:"flex",alignItems:"center",border:0,borderRadius:9999,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)"},L91={width:48,height:48,flex:"none",display:"flex",alignItems:"center",justifyContent:"center"},A91="[data-chat-launcher-label]{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:500;line-height:1;transition:max-width 120ms ease-out,opacity 120ms ease-out,padding 120ms ease-out}[data-chat-launcher]:hover [data-chat-launcher-label],[data-chat-launcher]:focus-visible [data-chat-launcher-label]{max-width:16em;opacity:1;padding-inline-end:16px}@media (prefers-reduced-motion:reduce){[data-chat-launcher-label]{transition:none}}",T91=`@media ${iL}{[data-chat-launcher][data-hide-on-phones]{display:none!important}}`;function Ib({label:e,onOpen:t,onWarm:a,zIndex:s=1e3,badge:o,look:r}){let i=$T(r?.launcherIcon),n=k91[i],l=C91(r),c=_b(r),h=r?.showOnPhones===!1,p=(l?A91:"")+(h?T91:"");return KR(E91,{children:[p&&yp("style",{children:p}),KR("button",{type:"button","aria-label":e,onClick:t,onPointerEnter:a,onFocus:a,"data-sf-floating":"","data-chat-launcher":"","data-side":c?"left":"right","data-hide-on-phones":h?"":void 0,style:{...S91(r),...M91,...c?{left:16}:{right:16},zIndex:s},children:[yp("span",{style:L91,children:yp(n,{size:22,"data-icon":i})}),l&&yp("span",{"data-chat-launcher-label":"",children:l}),o]})]})}import{useEffect as H91,useState as P91}from"react";var YR="(prefers-reduced-motion: reduce)";function F91(){return globalThis.window?.matchMedia?.(YR)?.matches??!1}function Z7(){return F91()?"auto":"smooth"}function XR(){let[e,t]=P91(!1);return H91(()=>{let a=globalThis.window?.matchMedia?.(YR);if(!a||(t(a.matches),typeof a.addEventListener!="function"))return;let s=o=>t(o.matches);return a.addEventListener("change",s),()=>a.removeEventListener("change",s)},[]),e}import{jsx as S2,jsxs as G7}from"react/jsx-runtime";var _91="Chat with us",I91="We usually reply within a few minutes",V91="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function O91({m:e}){if(e.sender_role==="system")return S2("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 S2("div",{className:`flex ${a?"justify-start":"justify-end"}`,children:G7("div",{className:`max-w-[80%] rounded-2xl px-3 py-2 text-sm ${a?"bg-fg/5 text-fg":"bg-accent text-accent-ink"}`,children:[a&&G7("div",{className:"mb-0.5 flex items-center gap-1 text-[10px] font-semibold uppercase tracking-wide text-fg/50",children:[t&&S2("span",{"aria-hidden":"true",children:"\u2726"}),S2("span",{children:t?e.sender_name||"Assistant":e.sender_name||"Support"}),t&&S2("span",{className:"font-normal normal-case tracking-normal",children:"\xB7 automated"})]}),e.body&&S2("p",{className:"whitespace-pre-wrap",children:e.body}),e.image_url&&S2("a",{href:e.image_url,target:"_blank",rel:"noopener noreferrer",children:S2("img",{...r2(e.image_url,{fallbackWidth:640,maxWidth:1280}),sizes:"(max-width: 640px) 80vw, 320px",alt:"Attachment",className:"mt-2 max-h-48 w-auto rounded-lg"})})]})})}function Ob({title:e,subtitle:t,greeting:a,look:s}={}){let{isOpen:o,toggle:r,close:i,messages:n,sending:l,error:c,unread:h,hasConversation:p,isSignedIn:m,send:u}=jR(),v=e?.trim()||_91,g=t?.trim()||I91,f=a?.trim()||V91,[b,x]=Vb(""),[w,k]=Vb(""),[A,T]=Vb(""),F=R91(null),M=!m&&!p;N91(()=>{o&&F.current?.scrollIntoView({behavior:Z7(),block:"nearest"})},[n.length,o]);let z=b.trim().length>0&&(!M||w.trim()&&/.+@.+/.test(A)),E=()=>{!z||l||(u(b,M?{name:w.trim(),email:A.trim()}:void 0),x(""))};return o?G7("aside",{role:"dialog","aria-label":"Chat with us","data-sf-floating":"",className:`fixed bottom-5 ${_b(s)?"left-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:[G7("div",{className:"flex items-center justify-between border-b border-line px-4 py-3",children:[G7("div",{children:[S2("div",{className:"text-sm font-semibold text-fg",children:v}),S2("div",{className:"text-[11px] text-fg/50",children:g})]}),S2("button",{type:"button",onClick:i,"aria-label":"Close chat",className:"rounded-md p-1 text-fg/60 hover:bg-fg/5",children:S2("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.8,children:S2("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),G7("div",{className:"flex-1 space-y-2 overflow-y-auto px-3 py-3",children:[n.length===0&&S2("p",{className:"px-2 py-4 text-center text-sm text-fg/50",children:f}),n.map(N=>S2(O91,{m:N},N.id)),S2("div",{ref:F})]}),G7("div",{className:"border-t border-line p-3",children:[M&&G7("div",{className:"mb-2 grid grid-cols-2 gap-2",children:[S2("input",{value:w,onChange:N=>k(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"}),S2("input",{value:A,onChange:N=>T(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"})]}),c&&S2("p",{className:"mb-2 text-xs text-red-600",children:c}),G7("div",{className:"flex items-end gap-2",children:[S2("textarea",{value:b,onChange:N=>x(N.target.value),onKeyDown:N=>{N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),E())},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"}),S2("button",{type:"button",onClick:E,disabled:!z||l,className:"rounded-lg bg-btn px-3 py-2 text-sm font-semibold text-btn-ink disabled:opacity-40",children:l?"\u2026":"Send"})]})]})]}):S2(Ib,{label:H2(v),onOpen:r,zIndex:60,look:s,badge:h>0&&S2("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:h})})}import{jsx as Bb,jsxs as D91}from"react/jsx-runtime";var B91=`
|
|
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, ${A4} 45%, transparent);
|
|
@@ -13,7 +13,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
13
13
|
`;function Db(){let{chromePlaceholder:e,themeFromDocument:t}=Q2(),{chat:a,selected:s,select:o}=QT();return e||t||!a.enabled?null:D91("div",{className:"sf-preview-chat-pick","data-selected":s||void 0,onClick:r=>{r.stopPropagation(),o()},children:[Bb("style",{children:B91}),Bb($R,{preview:!0,children:Bb(Ob,{title:a.title,subtitle:a.subtitle,greeting:a.greeting,look:a})})]})}import{useEffect as ze1,useRef as ke1}from"react";function kp(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 G91(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 zp(e,t=""){return{vehicle:{...e,region:t},status:"unknown",oemSizes:[],variants:[]}}function W91(e,t){if(typeof t!="object"||t===null)return zp(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 zp(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?zp(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 JR(e,t){try{let a=await B8(G91(e,t),{baseUrl:""});return W91(t,a)}catch{return zp(t)}}function QR(e){if(!e)return[];let t=[];for(let a of[...e.frontTyres,...e.rearTyres]){let s=i5(a);if(!s)continue;let o=p6(s);t.includes(o)||t.push(o)}return t}function e_(e,t){if(t.length===0)return null;for(let a of e){let s=i5(a);if(!s)continue;let o=p6(s);if(t.includes(o))return o}return null}function mi(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 U91="/tyres";function es(e){return e?`${U91}/${e}`:null}function ts(e){let t=e.lastIndexOf(" ");return t===-1?{lead:"",accent:e}:{lead:e.slice(0,t+1),accent:e.slice(t+1)}}function Zb(e,t){return aH({partNumber:e.sku,prices:e.prices},t)}var q91="Tyre";function Sp(e,t,a,s){return{id:`${e.slug}|${t.sku}|${a.unit}|${a.spares>0?"spare":"no-spare"}`,slug:e.slug,name:ts(e.name),process:e.brand||q91,positionNo:"01",config:[{label:t.size},{label:mh(a)}],finishName:"",size:t.size,components:Zb(t,a),qty:s,href:es(e.slug)??void 0,kind:"tyre",sku:t.sku,pack:a}}function Cp(e){return e.kind==="tyre"}function t_(e,t){let a=e.prices?.[t];return typeof a!="number"||!Number.isFinite(a)||a<=0?!1:e.inStock}import{useEffect as $91,useState as j91}from"react";var K91=new Map;function a_(e){let[t,a]=j91(null);return $91(()=>{if(!e||t)return;let s=!0;return H0.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??K91}import{useEffect as Mp}from"react";function _4({active:e,onDismiss:t,focusRef:a,lockScroll:s=!0,scopeRef:o}){Mp(()=>{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]),Mp(()=>{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]),Mp(()=>{if(!e)return;let r=(o?.current?.ownerDocument??document).documentElement,i=n=>{let l=Number(r.getAttribute(Gb)||0)+n;l>0?r.setAttribute(Gb,String(l)):r.removeAttribute(Gb)};return i(1),()=>i(-1)},[e,o]),Mp(()=>{e&&a?.current?.focus()},[e,a])}var Gb="data-sf-overlay";import{jsx as Wb,jsxs as Y91}from"react/jsx-runtime";import{useEffect as X91,useState as s_}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,m]=s_(!1),[u,v]=s_(!1),g=a||"";X91(()=>{m(!1),v(!1)},[g]);let f=dM(g),b=f&&!u?r2(g):{src:g},x=!g||p;return Y91("div",{className:`relative h-full w-full overflow-hidden ${t??""}`,children:[Wb("div",{className:"absolute inset-0 flex items-center justify-center",style:c?{background:"var(--site-surface)"}:void 0,children:x?e:null}),g&&(f?Wb("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):m(!0)}):Wb(Ll,{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:()=>m(!0)}))]})}import{useId as re1}from"react";var J91=25.4,di=400,Ap=152,Q91=58,o_=Ap*Math.cos(Q91*Math.PI/180),ee1=14,te1=di/2,ae1={sectionWidth:225,aspectRatio:60,rimDiameter:17};function i_(e){let t=i5(e);return t?{sectionWidth:t.width,aspectRatio:t.profile,rimDiameter:t.rim}:ae1}function n_(e){let t=e.rimDiameter*J91/2,a=t+e.sectionWidth*e.aspectRatio/100,s=Ap*(e.sectionWidth/a),o=t/a;return{cy:te1,rx:o_,ry:Ap,cxf:di/2-s/2-ee1,dx:s,rimRx:o_*o,rimRy:Ap*o}}var A0=e=>e.toFixed(1);function Tp(e,t,a,s=!1){let o=e.cxf+t*e.dx,[r,i]=s?[e.cy+e.ry,e.cy-e.ry]:[e.cy-e.ry,e.cy+e.ry];return`M${A0(o)} ${A0(r)} A${A0(e.rx)} ${A0(e.ry)} 0 0 ${a} ${A0(o)} ${A0(i)}`}function Ub(e,t,a){let s=e.cxf+t*e.dx,o=e.cxf+a*e.dx,r=e.cy-e.ry,i=e.cy+e.ry;return`M${A0(s)} ${A0(r)} L${A0(o)} ${A0(r)} A${A0(e.rx)} ${A0(e.ry)} 0 0 1 ${A0(o)} ${A0(i)} L${A0(s)} ${A0(i)} A${A0(e.rx)} ${A0(e.ry)} 0 0 0 ${A0(s)} ${A0(r)} Z`}function Lp(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 l_(e,t,a,s,o){let[r,i]=Lp(e,t,s),[n,l]=Lp(e,t,o),[c,h]=Lp(e,a,o),[p,m]=Lp(e,a,s);return`M${A0(r)} ${A0(i)} A${A0(e.rx)} ${A0(e.ry)} 0 0 1 ${A0(n)} ${A0(l)} L${A0(c)} ${A0(h)} A${A0(e.rx)} ${A0(e.ry)} 0 0 0 ${A0(p)} ${A0(m)} L${A0(r)} ${A0(i)} Z`}var r_=[{f:[0,.215]},{f:[.245,.485]},{f:[.515,.755]},{f:[.785,1]}],se1={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}}]},oe1=[["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 c_(e){let t=` ${(e??"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim()} `;if(t.trim()==="")return r_;for(let[a,s]of oe1)if(t.includes(` ${a} `))return se1[s];return r_}var Ep="Illustrations are drawn to each tyre's listed size and represent its category; supplier photography replaces them where available.";import{Fragment as ui,jsx as x0,jsxs as q6}from"react/jsx-runtime";var c5={rib:.2,grooveWall:.16,shoulder:.22,silhouette:.26,relief:[.26,.15,.11],lettering:.1,dishFill:.06,dishEdge:.3,spoke:.3,hubFill:.16,hubEdge:.34},ie1=[.8,.52,.24],h_=.4,p_=.88,m_=.3,d_=5,u_=.3,g_=.84,ne1=7,I0=e=>Math.round(e*10)/10;function qb({size:e,type:t,className:a}){let s=re1().replace(/[^a-zA-Z0-9]/g,""),o={tread:`${s}-tread`,wall:`${s}-wall`,rim:`${s}-rim`,shadow:`${s}-shadow`,crown:`${s}-crown`},r=n_(i_(e)),i=Ub(r,0,1),n=e?`${e} tyre illustration`:"Tyre illustration";return q6("svg",{"data-tyre-placeholder":"",viewBox:`0 0 ${di} ${di}`,role:"img","aria-label":n,fill:"none",className:a??"block h-full w-full",children:[x0("title",{children:n}),q6("defs",{children:[x0(ce1,{id:o}),x0("clipPath",{id:o.crown,children:x0("path",{d:i})})]}),x0("ellipse",{cx:I0(r.cxf+r.dx/2),cy:I0(r.cy+r.ry-4),rx:I0(r.dx*1.5),ry:16,fill:`url(#${o.shadow})`}),x0(he1,{g:r,id:o}),x0(pe1,{g:r,id:o}),x0("path",{d:i,fill:`url(#${o.tread})`}),x0("g",{clipPath:`url(#${o.crown})`,children:c_(t).map(l=>x0(le1,{g:r,column:l},l.f[0]))}),x0("path",{d:Tp(r,0,0,!0),stroke:"currentColor",strokeOpacity:c5.shoulder,strokeWidth:1.2}),x0("path",{d:Tp(r,1,1),stroke:"currentColor",strokeOpacity:c5.silhouette,strokeWidth:1.4})]})}function le1({g:e,column:t}){let[a,s]=t.f;if(!t.blocks)return q6(ui,{children:[x0("path",{d:Ub(e,a,s),fill:"currentColor",fillOpacity:c5.rib}),x0("path",{d:Tp(e,a,1),stroke:"currentColor",strokeOpacity:c5.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 x0(ui,{children:l.map(([c,h])=>x0("path",{d:l_(e,a,s,c,h),fill:"currentColor",fillOpacity:c5.rib,stroke:"currentColor",strokeOpacity:c5.grooveWall,strokeWidth:1},c))})}function ce1({id:e}){return q6(ui,{children:[q6("linearGradient",{id:e.tread,x1:"0",y1:"0",x2:"1",y2:"0",children:[x0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.07}),x0("stop",{offset:"0.14",stopColor:"currentColor",stopOpacity:.24}),x0("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.18}),x0("stop",{offset:"0.84",stopColor:"currentColor",stopOpacity:.1}),x0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.05})]}),q6("linearGradient",{id:e.wall,x1:"0.15",y1:"0",x2:"0.9",y2:"1",children:[x0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.28}),x0("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.17}),x0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.08})]}),q6("linearGradient",{id:e.rim,x1:"0.1",y1:"0",x2:"0.9",y2:"1",children:[x0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.46}),x0("stop",{offset:"0.5",stopColor:"currentColor",stopOpacity:.26}),x0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.12})]}),q6("radialGradient",{id:e.shadow,children:[x0("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.22}),x0("stop",{offset:"1",stopColor:"currentColor",stopOpacity:0})]})]})}function he1({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 q6(ui,{children:[x0("ellipse",{cx:I0(e.cxf),cy:I0(e.cy),rx:I0(e.rx),ry:I0(e.ry),fill:`url(#${t.wall})`}),ie1.map((r,i)=>{let n=s(r);return x0("ellipse",{cx:I0(e.cxf),cy:I0(e.cy),rx:I0(e.rx*n),ry:I0(e.ry*n),stroke:"currentColor",strokeOpacity:c5.relief[i],strokeWidth:1},r)}),x0("ellipse",{cx:I0(e.cxf),cy:I0(e.cy),rx:I0(e.rx*s(h_)),ry:I0(e.ry*s(h_)),stroke:"currentColor",strokeOpacity:c5.lettering,strokeWidth:I0(o)})]})}function pe1({g:e,id:t}){let a=Array.from({length:d_},(s,o)=>{let r=(o*(360/d_)-90)*Math.PI/180;return{x1:e.cxf+e.rimRx*u_*Math.cos(r),y1:e.cy+e.rimRy*u_*Math.sin(r),x2:e.cxf+e.rimRx*g_*Math.cos(r),y2:e.cy+e.rimRy*g_*Math.sin(r)}});return q6(ui,{children:[x0("ellipse",{cx:I0(e.cxf),cy:I0(e.cy),rx:I0(e.rimRx),ry:I0(e.rimRy),fill:`url(#${t.rim})`}),x0("ellipse",{cx:I0(e.cxf),cy:I0(e.cy),rx:I0(e.rimRx*p_),ry:I0(e.rimRy*p_),fill:"currentColor",fillOpacity:c5.dishFill,stroke:"currentColor",strokeOpacity:c5.dishEdge,strokeWidth:1}),a.map((s,o)=>x0("line",{x1:I0(s.x1),y1:I0(s.y1),x2:I0(s.x2),y2:I0(s.y2),stroke:"currentColor",strokeOpacity:c5.spoke,strokeWidth:ne1,strokeLinecap:"round"},o)),x0("ellipse",{cx:I0(e.cxf),cy:I0(e.cy),rx:I0(e.rimRx*m_),ry:I0(e.rimRy*m_),fill:"currentColor",fillOpacity:c5.hubFill,stroke:"currentColor",strokeOpacity:c5.hubEdge,strokeWidth:1})]})}import{jsx as $b}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 $b("div",{className:`text-fg ${r}`,style:{padding:"var(--sf-tyre-image-inset, 0)"},children:$b(P0,{label:t||"Tyre",src:Q4(e??void 0),alt:t?`${t} tyre`:"Tyre",objectFit:"contain",sizes:s,priority:o,showBackground:i,fallback:$b(qb,{size:t,type:a,className:"block h-full w-full p-3"})})})}import{jsx as gi}from"react/jsx-runtime";function me1(e){let t=e?.tyreTypes??[];return t.length===1?t[0]:null}function jb({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??vH;return gi("div",{className:"relative flex aspect-square items-center justify-center overflow-hidden border border-line bg-surface",children:Cp(e)?gi(W7,{image:a?.coverImage,size:e.size,type:me1(a),sizes:"96px",className:"h-full w-full"}):r?.src?gi(S4,{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?gi("div",{className:"relative z-[2] block w-[72%]",style:{color:c,filter:"drop-shadow(0 6px 12px rgba(0,0,0,0.25))"},children:gi(be,{spokes:i,mesh:n,className:"block w-full"})}):null})}import{jsx as Kb,jsxs as ue1}from"react/jsx-runtime";var v_={labelSmall:"text-[length:var(--size-label,15px)]",labelLarge:"text-[length:var(--size-label,16px)]"};function f_(e,t){return Math.min(Qv,Math.max(1,e+t))}var b_="disabled:cursor-not-allowed disabled:opacity-40",de1={large:{frame:"flex items-center border-2 border-fg-dim/50",button:`h-12 w-12 cursor-pointer bg-transparent font-mono ${v_.labelLarge} font-bold text-fg transition-colors enabled:hover:bg-surface enabled:hover:text-accent ${b_}`,value:`w-11 text-center font-mono ${v_.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 ${b_}`,value:"min-w-[36px] px-3 text-center font-mono text-[12px] tracking-[0.18em] text-fg"}};function vi({value:e,onChange:t,size:a}){let s=de1[a];return ue1("div",{className:s.frame,children:[Kb("button",{type:"button",onClick:()=>t(f_(e,-1)),disabled:e<=1,"aria-label":"Decrease quantity",className:s.button,children:"\u2212"}),Kb("span",{className:s.value,children:e}),Kb("button",{type:"button",onClick:()=>t(f_(e,1)),disabled:e>=Qv,"aria-label":"Increase quantity",className:s.button,children:"+"})]})}import{jsx as Yb,Fragment as ge1}from"react/jsx-runtime";function x_({className:e=""}){return Yb("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function d0(e){if(!e.includes("\xAE"))return e;let t=e.split("\xAE"),a=[];return t.forEach((s,o)=>{s&&a.push(s),o<t.length-1&&a.push(Yb(x_,{},`r${o}`))}),Yb(ge1,{children:a})}var U7=x_;import{Fragment as $6,jsx as _1,jsxs as T0}from"react/jsx-runtime";function w_({content:e,closeRef:t}){let{close:a,items:s}=a3(),o=t;return T0("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:[T0("div",{className:"flex items-center justify-between",children:[T0("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:o,type:"button",onClick:a,"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"})]}),T0("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:NA(e,s.length)})]})}function y_({content:e}){let{totals:t}=a3(),{activeCountry:a}=S0(),s=a?.name??e.shipsToFallback,o=1+(e.leadTimeValue?1:0)+(s?1:0);return _1($6,{children:T0("div",{className:`grid flex-shrink-0 ${ve1[o-1]} gap-px border-b border-line bg-line`,children:[_1(Xb,{label:"Items",value:T0($6,{children:[_1("em",{className:"font-serif font-normal italic text-accent",children:t.sets})," set",t.sets===1?"":"s"," \xB7 ",t.units," item",t.units===1?"":"s"]})}),e.leadTimeValue?_1(Xb,{label:"Lead time",value:e.leadTimeValue}):null,s?_1(Xb,{label:"Ships to",value:s}):null]})})}function z_({content:e,tyres:t}){let{items:a,remove:s,setQty:o}=a3();return _1($6,{children:a.length===0?_1(ye1,{content:e}):a.map(r=>_1(fe1,{line:r,tyre:t.get(r.slug),onRemove:()=>s(r.id),onQtyChange:i=>o(r.id,i)},r.id))})}function k_(){let{items:e,totals:t,bundles:a}=a3(),{formatMoney:s}=S0(),o=new Set(e.flatMap(n=>(n.components??[]).map(l=>l.partNumber))),r=new Set(t.appliedBundles.map(n=>n.slug)),i=a.filter(n=>!r.has(n.slug)).filter(n=>n.components.some(l=>o.has(l.partNumber))).slice(0,2);return _1($6,{children:i.length>0&&T0("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:[T0("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:i.map(n=>_1(be1,{href:`/bundles/${n.slug}`,title:n.name,sub:xe1(n,t.currency,s)},n.slug))})]})})}function S_(){return _1($6,{children:_1("section",{className:"border-b border-line px-8 py-6 max-[640px]:px-6",children:_1(wH,{})})})}function C_({content:e}){return _1($6,{children: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(t=>_1(we1,{children:t},t))})})}function M_(){let{totals:e,coupon:t}=a3(),{formatMoney:a}=S0();return _1($6,{children:T0("div",{className:"flex flex-shrink-0 flex-col gap-2 border-t border-line px-8 pt-5 max-[640px]:px-6",children:[_1(t9,{label:`Subtotal \xB7 ${e.sets} set${e.sets===1?"":"s"}`,value:a(e.subtotal,e.currency)}),e.appliedBundles.map(s=>_1(t9,{label:`Bundle \xB7 ${s.name}${s.multiples>1?` \xD7${s.multiples}`:""}`,value:T0("span",{style:{color:"var(--green)"},children:["\u2212 ",a(s.discount,e.currency)]})},s.slug)),e.discount>0&&t?.valid&&_1(t9,{label:`Coupon \xB7 ${t.code}`,value:T0("span",{style:{color:"var(--green)"},children:["\u2212 ",a(e.discount,e.currency)]})}),t?.deferred&&_1(t9,{label:`Coupon \xB7 ${t.code}`,value:eH}),t?.valid&&t.effects?.gift&&_1(t9,{label:`Free gift \xB7 ${t.effects.gift.partNumber}${t.effects.gift.quantity>1?` \xD7${t.effects.gift.quantity}`:""}`,value:_1("span",{style:{color:"var(--green)"},children:fe})}),_1(t9,{label:"Shipping",value:e.shippingStatus==="free"?_1("span",{style:{color:"var(--green)"},children:fe}):uH(e.shippingStatus)??a(e.shipping,e.currency)}),e.tax&&(e.tax.charged?_1(t9,{label:e.tax.inclusive?`${e.tax.name} included \xB7 ${e.tax.rate}%`:e.tax.name,value:a(e.tax.amount,e.currency)}):e.tax.name?_1(t9,{label:e.tax.name,value:dH}):null),T0("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-4 text-fg",children:[T0("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:e.repricing?"\u2026":a(e.grand,e.currency)})]})]})})}function L_(){let{items:e,close:t}=a3();return _1($6,{children:T0("div",{className:"flex flex-shrink-0 flex-col gap-3 px-8 pb-6 pt-4 max-[640px]:px-6",children:[T0(I1,{href:"/checkout",onClick:t,"aria-disabled":e.length===0,className:["group flex items-center justify-between border px-5 py-5 font-mono text-[12px] uppercase tracking-[0.3em] transition-colors",e.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(I1,{href:"/wheels",onClick:t,className:"text-fg transition-colors hover:text-accent",children:"\u2190 Keep browsing"})})]})})}var ve1=["grid-cols-1","grid-cols-2","grid-cols-3"];function Xb({label:e,value:t}){return T0("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 fe1({line:e,tyre:t,onRemove:a,onQtyChange:s}){let{catalog:o,totals:r}=a3(),i=(e.components??[]).reduce((c,h)=>c+(r.freeUnitsByPartNumber[h.partNumber]??0),0),{currency:n,formatMoney:l}=S0();return T0($6,{children:[T0("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(jb,{line:e,catalog:o,tyre:t}),T0("div",{className:"flex min-w-0 flex-col gap-2",children:[T0("div",{className:"flex items-start justify-between gap-3",children:[T0("span",{className:"font-mono text-[9px] uppercase tracking-[0.26em] text-accent",children:["N\xB0 ",e.positionNo," \xB7 ",e.process==="FusionForge\xAE"?T0($6,{children:["FusionForge",_1(U7,{})]}):e.process]}),_1("span",{className:"whitespace-nowrap font-display text-[16px] font-medium tracking-[-0.015em] text-fg",children:af(e,n)===null?Z8:l(af(e,n),n)})]}),T0("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&&T0("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&&T0("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"]})]}),T0("div",{className:"mt-3 flex items-center justify-between gap-3",children:[_1(vi,{value:e.qty,onChange:s,size:"small"}),T0("div",{className:"flex gap-4 font-mono text-[10px] uppercase tracking-[0.22em]",children:[_1(I1,{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&&T0("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"}),T0("span",{children:["Verified for your ",_1("strong",{className:"font-medium text-accent",children:e.verifiedFor}),". Final torque values shipped with the wheels."]})]})]})}function be1({title:e,sub:t,href:a}){return T0(I1,{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:[T0("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 xe1(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 we1({children:e}){return _1("span",{className:"inline-flex items-center gap-2 before:text-[6px] before:text-accent before:content-['\u25CF']",children:e})}function t9({label:e,value:t}){return T0("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 ye1({content:e}){return T0("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}),T0(I1,{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{Fragment as Se1,jsx as j6,jsxs as Jb}from"react/jsx-runtime";function fi({content:e=xc}){let{isOpen:t,preview:a,close:s,items:o}=a3(),r=ke1(null),i=a_(o.some(Cp));return _4({active:t,onDismiss:s,lockScroll:!a}),ze1(()=>{t&&r.current?.focus({preventScroll:!0})},[t]),t?Jb(Se1,{children:[j6("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"}),Jb("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:n=>n.stopPropagation(),children:[j6("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
|
-
`}),j6(w_,{content:e,closeRef:r}),j6(y_,{content:e}),Jb("div",{className:"flex-1 overflow-y-auto [scrollbar-color:var(--site-line)_transparent] [scrollbar-width:thin]",children:[j6(z_,{content:e,tyres:i}),j6(k_,{}),j6(S_,{}),j6(C_,{content:e})]}),j6(M_,{}),j6(L_,{})]})]}):null}import Ce1 from"efficient-easel/screen/components/UiIcon";import{Fragment as Le1,jsx as Fe,jsxs as Hp}from"react/jsx-runtime";var Me1=Ka(()=>import("./chunks/EditorPreviewCheckout-BQFPYYBS.js"),{ssr:!1});function Qb(){let{chromePlaceholder:e,themeFromDocument:t}=Q2(),{surface:a}=oE();return e||t||!a||a!=="cart"&&a!=="checkout"?null:a==="checkout"?Hp(Le1,{children:[Fe(Me1,{}),Fe(A_,{surface:a})]}):Fe(W8,{children:Hp(Ma,{preview:!0,children:[Fe(fi,{}),Fe(A_,{surface:a})]})})}function A_({surface:e}){let{label:t,href:a}=FR(e);return Hp("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:[Fe("span",{style:{whiteSpace:"nowrap"},children:d("{name} \xB7 preview only",{name:d(t)})}),Hp("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:[d("Open live"),Fe(Ce1,{name:"external-link",size:13,rounded:!0})]})]})}import{PictureTiles as Ae1}from"efficient-shell/ui";import{SettingsField as Te1}from"efficient-easel/panel";import{GridIcon as Ee1}from"efficient-easel/icons";import{jsx as Ne}from"react/jsx-runtime";function He1({layout:e}){return Ne("span",{"aria-hidden":!0,className:"relative block h-9 w-13 rounded-xs border border-current",children:e==="bar"?Ne("span",{className:"absolute inset-x-0 bottom-0 h-2 bg-current opacity-50"}):Ne("span",{className:"absolute bottom-1 left-1 h-3 w-5 rounded-xs bg-current opacity-50"})})}var T_={type:"custom",render:({value:e,onChange:t})=>{let a=wc({layout:e}).layout,s=Lv.find(o=>o.value===a);return Ne(Te1,{label:d(Av),icon:Ne(Ee1,{}),value:s?d(s.label):void 0,children:Ne(Ae1,{className:"sf-gallery-layouts",label:d(Av),value:a,onChange:t,options:Lv.map(o=>({value:o.value,label:d(o.label),picture:Ne(He1,{layout:o.value})}))})})}};import{AlignLeftIcon as wL1,CategoryIcon as yL1,CheckIcon as M31,ClockIcon as WC,ColumnsIcon as zL1,DirectionIcon as kL1,EyeIcon as SL1,ListIcon as CL1,PageIcon as ML1,PlacementIcon as LL1,ScrollPointIcon as AL1,TriggerIcon as TL1}from"efficient-easel/icons";import{useContext as Fe1,useEffect as H_,useRef as Fp,useState as Np}from"react";import{Button as Rp}from"efficient-shell/ui";import{ScreenDocumentContext as Ne1}from"efficient-easel/screen/components/ScreenDocumentContext";var bi=class extends Error{constructor(a){super("The storefront forms list could not be loaded.");this.cause=a;this.name="FormsUnavailableError"}},Pp=null,ex=null,tx=null;function Pe1(){Pp=null,ex=null,tx=null}function E_(e=!1){let t=U3(),a=D2();return(e||!Pp||ex===null&&t!==null||tx!==a)&&(ex=t,tx=a,Pp=(t?R1.listForms(t,{siteId:a}):Promise.reject(new bi)).catch(s=>{throw Pe1(),s instanceof bi?s:new bi(s)})),Pp}import{useEaselHost as Re1}from"efficient-easel/screen/lib/host";import{jsx as U2,jsxs as K6}from"react/jsx-runtime";var P_="__create-a-new-form__";function _e1({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?d("Loading\u2026"):a?d("Forms couldn\u2019t be loaded"):s===void 0?d("No form yet"):d(s)},l=e&&!r?[{value:e,label:i||a?e:d("{slug} \u2014 no form with this name",{slug:e})}]:[],c=o.map(p=>({value:p.slug,label:p.is_active?p.title:d("{title} (switched off)",{title:p.title})})),h=i?[]:[{value:P_,label:d("Create a new form")}];return[n,...l,...c,...h]}function Ie1(e){return e===P_?{action:"create"}:{action:"store",slug:e}}function Ve1({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 Oe1(e){let t=[d("Goes to {place}",{place:d("Storefront \u2192 Forms")})],a=(e.notify_email??"").trim();return a&&t.push(d("Emails a copy to {email}",{email:a})),e.mailing_list_name&&t.push(e.subscribe_mode==="checkbox"?d("Joins the \u201C{audience}\u201D audience, but only when the consent box is ticked",{audience:e.mailing_list_name}):d("Joins the \u201C{audience}\u201D audience",{audience:e.mailing_list_name})),e.kind==="account_signup"&&t.push(e.signup_customer_type==="importer"?d("Creates a wholesale account"):d("Creates a retail account")),t}function ax({value:e,onChange:t,label:a="Form",emptyLabel:s}){let o=Re1(),r=Fe1(Ne1),i=r?r.capabilities.hasForms:!0,[n,l]=Np(null),[c,h]=Np(!1),[p,m]=Np(!1),[u,v]=Np(!1),g=Fp(!0),f=Fp(e);f.current=e;let b=Fp(t);b.current=t;let x=Fp(null),w=(E=!1)=>E_(E).then(N=>{if(g.current){l(N),h(!1);let R=Ve1({value:f.current,pickedId:x.current,forms:N});R&&b.current(R)}return N},()=>(g.current&&h(!0),[]));H_(()=>(g.current=!0,i&&w(),()=>{g.current=!1}),[i]),H_(()=>i?Vh(()=>{w(!0)}):void 0,[i]);let A=e?(n??[]).find(E=>E.slug===e)??null:null;A?x.current=A.id:e||(x.current=null);let T=!!e&&!A&&n!==null&&!c,F=_e1({value:e,forms:n,loadFailed:c,emptyLabel:s}),M=async()=>{m(!0),v(!1);try{let E=await sF(o,{mode:"create"}),N=await w(!0);if(!g.current)return;if(E.status==="timeout"){v(!0);return}if(E.status!=="saved")return;let{form:R}=E;R.slug!==f.current&&b.current(R.slug),N.some(D=>D.id===R.id)||w(!0)}finally{g.current&&m(!1)}},z=E=>{let N=Ie1(E);N.action==="create"?M():(v(!1),t(N.slug))};return i?K6("div",{className:"sf-formpicker",children:[U2(Qt,{label:a,options:F,fallback:"",value:e??"",onChange:z,placeholder:d("Search forms\u2026")}),u&&U2("p",{className:"sf-formsummary-warn",children:d("That didn\u2019t come back \u2014 pick the form from the list, or try again.")}),A?K6("div",{className:"sf-blogsource sf-formsummary",children:[K6("div",{children:[U2("div",{className:"sf-formsummary-caption",children:u3("{n} field","{n} fields",A.fields.length)}),A.fields.length?U2("ol",{className:"sf-formsummary-fields",children:A.fields.map((E,N)=>U2("li",{children:E.label},E.key||`${E.label}-${N}`))}):U2("p",{className:"es-field-hint sf-hint-keep",children:d("This form has no fields yet, so there is nothing for a visitor to fill in.")})]}),K6("div",{children:[U2("div",{className:"sf-formsummary-caption",children:d("Where the answers go")}),U2("ul",{className:"sf-formsummary-fields",children:Oe1(A).map(E=>U2("li",{children:E},E))})]}),!A.is_active&&U2("p",{className:"sf-formsummary-warn",children:d("This form is switched off, so it won\u2019t appear on the published page. Turn it back on in {place}.",{place:d("Storefront \u2192 Forms")})}),K6("div",{className:"sf-formsummary-actions",children:[U2(Rp,{variant:"secondary",size:"sm",onClick:()=>aF(o,A.id),children:d("Edit form \u270E")}),U2(Rp,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{M()},children:d("New form +")})]}),U2("p",{className:"es-field-hint sf-hint-keep",children:d("The questions, the button text and the thank-you message all come from {place}. Edit them there \u2014 this section updates to match.",{place:d("Storefront \u2192 Forms")})})]}):K6("div",{className:"sf-blogsource sf-formsummary",children:[c?K6("p",{className:"es-field-hint sf-hint-keep",children:[d("This website\u2019s forms couldn\u2019t be loaded, so there is nothing to choose from yet."),e?` ${d("This section still points at \u201C{slug}\u201D, and that is unchanged.",{slug:e})}`:""]}):T&&U2("p",{className:"sf-formsummary-warn",children:d("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??""})}),K6("div",{className:"sf-formsummary-actions",children:[c&&U2(Rp,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{w(!0)},children:d("Try again")}),U2(Rp,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{M()},children:d("New form +")})]}),!c&&U2("p",{className:"es-field-hint sf-hint-keep",children:d("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:d("Storefront \u2192 Forms")})})]})]}):U2("div",{className:"sf-formpicker",children:U2("div",{className:"sf-blogsource sf-formsummary",children:K6("div",{children:[U2("div",{className:"sf-formsummary-caption",children:d(a)}),K6("p",{className:"es-field-hint sf-hint-keep",children:[d("Forms aren\u2019t available in this editor, so there is nothing to choose here."),e?` ${d("This section still points at \u201C{slug}\u201D, and that is unchanged.",{slug:e})}`:""]})]})})})}import{jsx as Be1}from"react/jsx-runtime";function Y6(e,t){return{type:"custom",render:({value:a,onChange:s})=>Be1(ax,{value:a,onChange:s,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}var sx="heroBullets",xi="\xB7",ox={bullets:[]},F_={label:"Free shipping",detail:"USA, UK, AUS"};function N_(e){return e.detail?`${e.label} ${xi} ${e.detail}`:e.label}function De1(e){let t=e.trim();if(!t)return null;let a=t.indexOf(xi);return a<0?{label:t,detail:""}:{label:t.slice(0,a).trim(),detail:t.slice(a+xi.length).trim()}}function R_(e){let t=(e??{})[sx];return Array.isArray(t)?{bullets:t.map(s=>De1(typeof s=="string"?s:PA(s?.text,""))).filter(s=>s!==null)}:ox}var F2={text:"Button label",href:"#"},P={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 $7}from"react/jsx-runtime";import{jsx as a9,Fragment as Ze1,jsxs as Ge1}from"react/jsx-runtime";import{useEasel as __}from"efficient-easel/easel";import{LayersIcon as We1}from"efficient-easel/icons";import{SettingsDrill as Ue1,SettingsField as qe1}from"efficient-easel/panel";import $e1 from"efficient-easel/screen/components/AddChildRow";import{useSlotChildActions as je1}from"efficient-easel/screen/components/SlotChildActionsContext";function Ke1({parent:e,parentType:t,label:a,rowName:s,onSelectChild:o,onAddChild:r,nestDepth:i=0}){let n=zr(t,i);if(!n)return null;let{slot:l,choices:c,spec:h}=n,p=String(e.props.id),m=`${p}:${l}`,u=Array.isArray(e.props[l])?e.props[l]:[],v=h?.addBlocked?.(u)??null,g=h?.notice?.(u)??null,f=Ge1(Ze1,{children:[g?a9("p",{className:"sf-note",children:g}):null,u.map((b,x)=>a9(Ue1,{name:s(b),onOpen:()=>o(m,x,String(b.props.id),t)},String(b.props.id??`${m}-${x}`))),c||h.fixed?null:a9($e1,{label:h.addLabel,blocked:v,onAdd:()=>r(p,l,h.childType,u.length,t)})]});return a9("div",{className:"sf-slot-rows",children:a?a9(qe1,{label:d(a),icon:a9(We1,{}),value:String(u.length),children:f}):f})}function Ye1(e,t){return zr(e)?.spec?.notice?.(t)??null}function I_({parentType:e}){let{selectedItem:t}=__(r=>r);if(!t||t.type!==e)return null;let a=zr(e)?.slot,s=a&&Array.isArray(t.props[a])?t.props[a]:[],o=Ye1(e,s);return o?a9("p",{className:"sf-note",children:o}):null}function Xe1(e,t){return zr(t)?.source==="footer"?e.blockRowName:e.childRowName}function V_({parentType:e,label:t}){let{appState:a,selectedItem:s}=__(i=>i),o=je1();if(!o||!s||s.type!==e)return null;let r=e===TM?Ot(a?.data,String(s.props.id)):0;return a9(Ke1,{parent:s,parentType:e,label:t,rowName:Xe1(o,e),onSelectChild:o.selectChild,onAddChild:o.addChild,nestDepth:r})}var s9={min:40,max:100,step:5,fallback:100,unit:"vh"};function q7(e){return`${typeof e=="number"?e:s9.fallback}${s9.unit}`}function _p(...e){return e.some(t=>typeof t=="number")}var O_="grayscale(1) contrast(1.03)",B_="Black and white";function Je1(e){return e===!0?{filter:O_}:{}}function Qe1(e){let{filter:t}=Je1(e);return t?{style:{filter:t}}:{}}var wi="sf-photo-grayscale",et1=`@media (hover:hover){.${wi}{filter:${O_};transition:filter 160ms ease}.${wi}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${wi}{transition:none}}`;function as(e,t){return typeof e=="boolean"?e?Qe1(!0):{}:t===!0?{className:wi}:{}}function D_(e){return e===!0?{[wi]:et1}:{}}import{AlignLeftIcon as st1,BlackAndWhiteIcon as ot1,ContrastIcon as rt1,HeightIcon as it1,TypeIcon as nt1}from"efficient-easel/icons";import{deviceField as lt1}from"efficient-easel/screen/lib/puck/device-fields";var tt1=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],at1=new Set(tt1);function Z_(e){let t=e.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let a=t.length-1;a>=0;a-=1)if(at1.has(t[a]))return t[a];return null}var j7=e=>lt1(e,o1("Height",$7(it1,{}),s9.min,s9.max,s9.step,s9.fallback,s9.unit)),H5={ctaText:I("Button",F2.text),ctaHref:q1("Button link")},P5=()=>f1("Alignment",$7(st1,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],"left"),Ip=()=>f1("Tone",$7(rt1,{}),[{label:"Default",value:"default"},{label:"Muted",value:"dim"}],"default"),$3=e=>ca({...Ch[e],keys:{top:"padTop",bottom:"padBottom"},group:!1}),X6=(e,t)=>({type:"custom",render:()=>$7(V_,{parentType:e,label:t})}),Vp=e=>({type:"custom",render:()=>$7(I_,{parentType:e})});function ct1(e){let{photographyGrayscale:t}=Q2();return i1(B_,t===!0,$7(ot1,{})).render(e)}function ss(){return{type:"custom",render:e=>$7(ct1,{...e})}}var s0=[...new Set([...Object.keys(Rc("full")),...PT])];function os(e){let t=Z_(e);return t?$7(c4,{noun:t}):$7(nt1,{})}import{readLockHolder as St1}from"efficient-easel/edit-lock";var ix="/api/storefront/section-templates/",rx=e=>`${ix}${encodeURIComponent(e)}/`,nx=e=>e.node!=null;function Op(e){if(!nx(e))throw new Error(`Section template ${e.id} has no design`);return e}var cx=(e,t)=>e instanceof E4&&e.status===t;function ht1(e){return{list:()=>ka(`${ix}?no_page=true`,{token:e()}).then(t=>Array.isArray(t)?t:t.results??[]),get:t=>ka(rx(t),{token:e()}).catch(a=>{if(cx(a,404))return null;throw a}),create:t=>ka(ix,{method:"POST",token:e(),body:JSON.stringify(t)}),patch:(t,a)=>ka(rx(t),{method:"PATCH",token:e(),body:JSON.stringify(a)}),remove:t=>ka(rx(t),{method:"DELETE",token:e()})}}var lx="sf:section-templates",G_=`${lx}.imported`,pt1="Untitled section",mt1=160,Bp=e=>(typeof e=="string"?e.trim().slice(0,mt1):"")||pt1;function dt1(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 ut1(e,t=N3){let a={created:0,seeded:0,left:0,skipped:0,kept:!1},s=t.getItem(lx);if(s===null)return a;for(let o of dt1(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:Bp(o.name),node:o.node}),a.created+=1}catch(i){if(!cx(i,400))throw i;a.skipped+=1}}catch{return{...a,kept:!0}}return t.setItem(G_,s),t.getItem(G_)===s&&t.removeItem(lx),a}var Dp=class{constructor(t,a=N3){this.readToken=t;this.storage=a;this.imported=null;this.http=ht1(t)}ready(){return this.imported?this.imported:this.readToken()?(this.imported=ut1(this.http,this.storage).catch(()=>{}),this.imported):Promise.resolve()}async list(){return await this.ready(),(await this.http.list()).filter(nx)}async get(t){return await this.ready(),this.http.get(t)}async ensure(t,a,s){await this.ready();let o=async i=>i?nx(i)?i:Op(await this.http.patch(t,{node:s})):null,r=await o(await this.http.get(t));if(r)return r;try{return Op(await this.http.create({id:t,name:Bp(a),node:s}))}catch(i){if(cx(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(),Op(await this.http.create({name:Bp(t),node:a}))}async update(t,a){return await this.ready(),Op(await this.http.patch(t,{node:a}))}async rename(t,a){return await this.ready(),this.http.patch(t,{name:Bp(a)})}async remove(t){await this.ready(),await this.http.remove(t)}};var o9="dataSource";var gt1="dataRows",vt1=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,ft1=Symbol.for("efficient.block-sources");function Zp(){let e=globalThis;return e[ft1]??={sources:new Map,revision:0}}function bt1(e){if(typeof e.key!="string"||!vt1.test(e.key))throw new Error(`A block source key is lower-case words joined by hyphens, not ${JSON.stringify(e.key)}.`);if(typeof e.label!="string"||!e.label.trim())throw new Error(`The block source ${e.key} has no label.`);if(!Array.isArray(e.blocks)||!e.blocks.length||e.blocks.some(t=>typeof t!="string"||!t))throw new Error(`The block source ${e.key} names no block it can fill.`);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>U_(t)).filter(t=>t!==null)}:{}}}function W_(e){let t=e.map(bt1),a=Zp();for(let s of t)a.sources.set(s.key,s);t.length&&(a.revision+=1)}function yi(e){let t=[...Zp().sources.values()];return e===void 0?t:t.filter(a=>a.blocks.includes(e))}function xt1(e){return Zp().sources.get(e)??null}function Re(){return Zp().revision}function J6(e){let t=e?.[o9];return typeof t=="string"?t.trim():""}function U_(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let t={};for(let[a,s]of Object.entries(e))typeof s=="string"&&s&&(t[a]=s);return Object.keys(t).length?t:null}function wt1(e){let t=e?.[gt1];return Array.isArray(t)?t.map(U_).filter(a=>a!==null):null}function rs(e,t,a=[]){let s=wt1(e);if(s!==null&&(s.length||!t))return{rows:s,sample:!1};if(!t)return{rows:[],sample:!1};let o=xt1(J6(e))?.sample;return{rows:o?.length?o:a,sample:!0}}var yt1=[{key:"group-offices",label:"Group offices",blocks:["Footprint"]}];W_(yt1);var q_={"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 $_(e,t){let a=q_[e][t];return{maxSizeBytes:a.max_bytes,maxFiles:a.max_files,accept:a.accept==="*"||a.accept==="*/*"?void 0:a.accept,acceptHint:a.hint}}import{EFFICIENT_BACKEND as Ct1,currentEaselSession as Q_,provideDefaultBackend as Mt1}from"efficient-easel/screen/lib/session";var zt1=["home","products","gallery","about","contact"],kt1=e=>{let t=e.slug.trim().toLowerCase(),a=(e.title??"").trim().toLowerCase(),s=zt1.findIndex(o=>o===t||o===a);return s===-1?Number.POSITIVE_INFINITY:s},j_=e=>e.map((t,a)=>({page:t,idx:a,rank:kt1(t)})).sort((t,a)=>t.rank-a.rank||t.idx-a.idx).map(t=>t.page);var px="Popups",K_="Site";var X_={[he]:{label:"Site popup",group:px},[o5]:{label:"Footer",group:K_},[FA]:{label:"Cart drawer",group:K_},[_A]:{label:"Cookie banner",group:px}};function Gp(e){return X_[e.slug]?.label||e.title||e.slug}function hx(e){let t=e.group?.trim();return t||null}function Y_(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 J_(e){let t=j_(e),a=[],s=t.filter(n=>!vr(n.slug)),o=s.filter(n=>!hx(n));o.length&&a.push({key:"top",group:null,pages:o});let r=s.filter(n=>hx(n));for(let[n,l]of Y_(r,c=>hx(c)))a.push({key:`folder:${n}`,group:n,pages:l});let i=t.filter(n=>vr(n.slug));for(let[n,l]of Y_(i,c=>X_[c.slug]?.group??px))a.push({key:`system:${n}`,group:n,pages:l});return a}import{PAGE_CONFLICT_CODE as Lt1}from"efficient-easel/screen/lib/failure";import{WebsiteBackendError as r9,provideHostFailures as At1}from"efficient-easel/screen/lib/backend-error";var mx=e=>e.layout_updated_at??e.updated_at??null,Tt1=["live","changed","never"],eI=e=>Tt1.includes(e.live_state)?{live:e.live_state}:{};function Et1(e){if(!e||typeof e!="object")return null;let t=e;return t.code!==Lt1?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 Ht1(e){return e===401||e===403?"unauthorized":e===404?"not-found":e===KE||e>=500?"unavailable":"invalid"}function Pt1(e){if(!(e instanceof E4))return e;if(e.status===409){let t=Et1(e.data);if(t)return new r9("changed-elsewhere",e.message,{conflict:t,cause:e});let a=St1(e.data);if(a)return new r9("lock-taken",e.message,{holder:a,cause:e})}return new r9(Ht1(e.status),e.message,{cause:e})}function Ft1(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let t=a=>{if(typeof a=="string")return a.trim()||null;let s=Array.isArray(a)?a:a&&typeof a=="object"?Object.values(a):[];for(let o of s){let r=t(o);if(r)return r}return null};for(let[a,s]of Object.entries(e)){if(a==="detail")continue;let o=t(s);if(o)return`${a}: ${o}`}return null}var dx=new WeakMap;function Nt1(e,t){let a=LA(),s=a?new URL(a).hostname:typeof window<"u"?window.location?.hostname??null:null,o=null,r=t.siteId(),i=t.token();if(_E(s)&&r&&i){let l=nh(i,r);dx.has(l)?o=dx.get(l)??null:l.then(c=>dx.set(l,c))}let n=IE({pageSlug:e,siteSlug:o,hostname:s});return a?`${a}${n}`:n}var Rt1={group:"Template pages",groupKey:"template"},tI=e=>({id:e.id,slug:e.slug,label:e.title||e.slug,...Rt1,draft:!1});function aI(e){let t=async m=>{let u=e.token();if(!u)throw new r9("unauthorized","The editor has no sign-in yet.");try{return await m(u)}catch(v){throw Pt1(v)}},a={list:m=>t(async u=>{let v=await R1.listPages(u,m?.siteId);return J_(v.filter(g=>g.slug!==o5)).flatMap(g=>g.pages.map(f=>({id:f.id,slug:f.slug,label:Gp(f),group:g.group,groupKey:g.key,draft:!f.is_published,kind:f.kind??null})))}),load:m=>t(async u=>{let v="id"in m?m.id:(await R1.findPageBySlug(m.slug,u,m.siteId))?.id,g=v?await R1.getPageById(v,u):null;return g?{id:g.id,layout:g.layout,kind:g.kind,version:mx(g),...eI(g)}:null}),save:(m,u,v)=>{let{version:g}=v;return g?t(async f=>{let b=await R1.saveLayout(m,u.layout,f,g,v.clientId||void 0);return{version:mx(b),...eI(b)}}):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:m=>t(u=>R1.getPageById(m,u).then(mx)),linkTargets:m=>t(async u=>(await R1.listPages(u,m?.siteId)).map(v=>({id:v.id,slug:v.slug,label:Gp(v),layout:v.layout??null}))),duplicate:(m,u)=>t(async v=>{let g=await R1.duplicatePage(m,{title:u.title,slug:u.slug},v);return{id:g.id,slug:g.slug,label:Gp(g),group:g.group||null,draft:!g.is_published,kind:g.kind??null}})},s=m=>({list:()=>t(async u=>(await R1.listTemplatePages(m,u)).map(tI)),load:u=>t(async v=>{let g=w=>"id"in u?w.id===u.id:w.slug===u.slug,f=w=>({id:w.id,layout:w.layout,version:null}),b=await R1.listTemplatePages(m,v);if(b.length)return f(b.find(g)??b[0]);let x=await R1.getTemplate(m,v).catch(()=>null);try{return f(await R1.createTemplatePage(m,{slug:Kt,title:"Home",layout:x?.layout??{}},v))}catch{let w=await R1.listTemplatePages(m,v),k=w.find(g)??w[0];return k?f(k):null}}),save:(u,v)=>t(async g=>(await R1.saveTemplatePageLayout(u,v.layout,g),{version:null})),create:u=>t(async v=>tI(await R1.createTemplatePage(m,{slug:u.slug,title:u.title,layout:u.layout},v))),remove:(u,v)=>t(g=>R1.deleteTemplatePage(u,g,v))}),o=m=>{let u=m?.siteId??e.siteId();if(!u)throw new r9("not-found","This editor is not connected to a website.");return u},r=m=>({name:m.name,slug:m.slug,mapsApiKey:m.maps_api_key,mapsMapId:m.maps_map_id}),i=m=>Object.fromEntries(me.map(u=>[u,m[Wc(u)]??""])),n={launcherColor:"launcher_color",launcherIcon:"launcher_icon",launcherPosition:"launcher_position",launcherLabel:"launcher_label",showOnPhones:"show_on_phones"},l=Object.keys(n),c=m=>{let u={enabled:m.enabled,title:m.title,subtitle:m.subtitle,greeting:m.greeting};for(let v of l){let g=m[n[v]];g!==void 0&&Object.assign(u,{[v]:g})}return u},h=m=>{let u={};for(let[v,g]of Object.entries(m))u[n[v]??v]=g;return u},p={pages:a,lock:{claim:(m,u,v)=>t(async g=>({heartbeatSeconds:(await R1.claimPageEditLock(m,g,u,v)).heartbeat_seconds})),release:m=>t(u=>R1.releasePageEditLock(m,u))},site:{get:m=>t(async u=>r(await R1.getSite(o(m),u))),update:(m,u)=>t(async v=>r(await R1.updateSite(o(u),m.mapsApiKey===void 0?{}:{maps_api_key:m.mapsApiKey},v))),publish:m=>t(async u=>{try{let{state:v,published:g}=await R1.publishSite(o(m),u);return{state:v,published:g}}catch(v){let g=v instanceof E4&&v.status===400?Ft1(v.data):null;throw g?new r9("invalid",g,{cause:v}):v}}),liveState:m=>t(async u=>{let{state:v,changes:g}=await R1.getSiteLiveState(o(m),u);return{state:v,changes:g}})},media:{resolve:mM,maxUploadBytes:$_("POST /api/storefront/media/","file").maxSizeBytes},sectionTemplates:new Dp(e.token),social:{get:m=>t(async u=>i(await R1.getSocialSettings(u,o(m)))),update:(m,u)=>t(async v=>{let g=Object.fromEntries(me.filter(f=>f in m).map(f=>[Wc(f),m[f]]));try{return i(await R1.updateSocialSettings(g,v,o(u)))}catch(f){if(f instanceof E4&&f.status===400){let b=f.data??{},x={};for(let w of me){let k=b[Wc(w)],A=Array.isArray(k)?k[0]:k;typeof A=="string"&&A.trim()&&(x[w]=A)}if(Object.keys(x).length>0)throw new r9("invalid",f.message,{fields:x,cause:f})}throw f}})},theme:{get:m=>t(u=>R1.getThemeSettings(u,m?.siteId)),update:(m,u)=>t(v=>R1.updateThemeSettings(m,v,u?.siteId))},geocode:{locate:(m,u)=>t(async v=>{let g=await R1.geocode(m,v,u?.country);if(g.status==="not_found")return null;if(g.status!=="found"||g.lat===null||g.lng===null)throw new r9("unavailable","The geocoder could not answer just now.");return{lat:g.lat,lng:g.lng,label:g.label}})},chat:{get:m=>t(async u=>c(await R1.getChatSettings(u,m?.siteId))),update:(m,u)=>t(async v=>c(await R1.updateChatSettings(h(m),v,u?.siteId)))},blog:{posts:m=>t(async u=>(await R1.listBlogPosts(u,{visibleOnly:!0,siteId:m?.siteId})).map(v=>({slug:v.slug,title:v.title,excerpt:v.excerpt,category:v.category,coverImage:v.cover_image?F6(v.cover_image)??"":"",publishedAt:v.published_at,href:zv(v.slug)})))},templates:{get:m=>t(async u=>{let v=await R1.getTemplate(m,u);return{id:v.id,name:v.name}}),pages:s},preview:{href:m=>Nt1(m,e),draftLink:m=>t(async u=>({url:(await R1.createPagePreviewLink(m,u)).url??null}))}};return p[Ct1]=!0,p}At1({read:e=>e instanceof E4?{status:e.status,data:e.data,message:e.message}:null,unreachableMessage:jE,loadRefusal:(e,{slug:t})=>e instanceof QE?`\u201C${t}\u201D exists on more than one website. Open it from the site you want to edit.`:null});Mt1(e=>aI({token:()=>e.auth.token,siteId:()=>e.siteId()}));function _t1(e={}){return e.portalAudience!==void 0&&YE(e.portalAudience),e.language!==void 0&&XE(e.language),aI({token:()=>Q_().auth.token,siteId:()=>e.siteId??Q_().siteId()})}import{createContext as qt1,useContext as $t1}from"react";import{jsx as p2,jsxs as gx}from"react/jsx-runtime";import{Fragment as oI}from"react";import{Fragment as It1,jsx as ux}from"react/jsx-runtime";function F5({value:e,children:t}){let a=PH(e);return a?ux(NH,{stamp:a.stamp,children:ux("span",{[Bl]:a.stamp,...a.textStyle?{[Dl]:a.textStyle}:{},children:t})}):ux(It1,{children:t})}function L(e,t=!1){let a=Ut1(t),s=Il(e);if(s.length===1){let[r]=s,i=eL(r),n=i?Gt1(i,r.children):r.children;return p2(F5,{value:e,children:Wp(n,a)})}let o=[];return s.forEach((r,i)=>{if(r.bullet){o.push(p2("span",{"data-sf-bullet":"",className:Vt1,children:Wp(r.children,a)},i));return}if(r.number!=null){o.push(gx("span",{"data-sf-number":r.number,className:Ot1,children:[gx("span",{className:Bt1,children:[r.number,"."]}),Wp(r.children,a)]},i));return}i>0&&!Dt1(s[i-1])&&o.push(p2("br",{},`br${i}`)),o.push(p2(oI,{children:Wp(r.children,a)},i))}),p2(F5,{value:e,children:o})}var Vt1="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",Ot1="relative block pl-[2em]",Bt1="absolute left-0 w-[1.6em] text-right tabular-nums";function Dt1(e){return e.bullet||e.number!=null}var Zt1="text-accent underline underline-offset-[0.18em]";function Gt1(e,t){let[a,...s]=t;return a?.kind==="text"?[{kind:"text",text:`${e}${a.text}`},...s]:[{kind:"text",text:e},...t]}function Wt1(e){if(e)return nL(e)?e:Object.hasOwn(ov,e)?ov[e]:void 0}function Wp(e,t){let a=[],s=!1;return e.forEach((o,r)=>{if(o.kind==="text"){a.push(p2("span",{children:d0(o.text)},r)),s=!0;return}s||a.push(p2("span",{},`e${r}`)),a.push(rI(o,r,t)),s=!1}),s||a.push(p2("span",{},"end")),a}function sI(e,t){return e.length===1&&e[0].kind==="text"?d0(e[0].text):e.map((a,s)=>a.kind==="text"?p2(oI,{children:d0(a.text)},s):rI(a,s,t))}function Ut1(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function Y0(e){return p2(F5,{value:e,children:p2("span",{children:e})})}function rI(e,t,a){if(e.kind==="link")return p2("a",{href:e.href,className:Zt1,children:sI(e.children,a)},t);let s=sI(e.children,a),o=YM[e.kind];if(o)return p2("span",{[XM]:o,children:s},t);switch(e.kind){case"underline":return p2("u",{children:s},t);case"sup":return p2("sup",{children:s},t);case"sub":return p2("sub",{children:s},t);case"color":{let r=Wt1(e.color);return r?p2("span",{style:{color:r},children:s},t):p2("span",{children:s},t)}case"accent":case"highlight":return p2("em",{className:a,children:s},t);case"bold":return p2("strong",{className:"font-semibold",children:s},t);case"italic":return p2("em",{className:"italic",children:s},t);case"strike":return p2("s",{className:"line-through",children:s},t);default:return p2("span",{children:s},t)}}function Y(e,t=!0){let a=e.split(`
|
|
16
|
+
`}),j6(w_,{content:e,closeRef:r}),j6(y_,{content:e}),Jb("div",{className:"flex-1 overflow-y-auto [scrollbar-color:var(--site-line)_transparent] [scrollbar-width:thin]",children:[j6(z_,{content:e,tyres:i}),j6(k_,{}),j6(S_,{}),j6(C_,{content:e})]}),j6(M_,{}),j6(L_,{})]})]}):null}import Ce1 from"efficient-easel/screen/components/UiIcon";import{Fragment as Le1,jsx as Fe,jsxs as Hp}from"react/jsx-runtime";var Me1=Ka(()=>import("./chunks/EditorPreviewCheckout-6776GNNO.js"),{ssr:!1});function Qb(){let{chromePlaceholder:e,themeFromDocument:t}=Q2(),{surface:a}=oE();return e||t||!a||a!=="cart"&&a!=="checkout"?null:a==="checkout"?Hp(Le1,{children:[Fe(Me1,{}),Fe(A_,{surface:a})]}):Fe(W8,{children:Hp(Ma,{preview:!0,children:[Fe(fi,{}),Fe(A_,{surface:a})]})})}function A_({surface:e}){let{label:t,href:a}=FR(e);return Hp("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:[Fe("span",{style:{whiteSpace:"nowrap"},children:d("{name} \xB7 preview only",{name:d(t)})}),Hp("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:[d("Open live"),Fe(Ce1,{name:"external-link",size:13,rounded:!0})]})]})}import{PictureTiles as Ae1}from"efficient-shell/ui";import{SettingsField as Te1}from"efficient-easel/panel";import{GridIcon as Ee1}from"efficient-easel/icons";import{jsx as Ne}from"react/jsx-runtime";function He1({layout:e}){return Ne("span",{"aria-hidden":!0,className:"relative block h-9 w-13 rounded-xs border border-current",children:e==="bar"?Ne("span",{className:"absolute inset-x-0 bottom-0 h-2 bg-current opacity-50"}):Ne("span",{className:"absolute bottom-1 left-1 h-3 w-5 rounded-xs bg-current opacity-50"})})}var T_={type:"custom",render:({value:e,onChange:t})=>{let a=wc({layout:e}).layout,s=Lv.find(o=>o.value===a);return Ne(Te1,{label:d(Av),icon:Ne(Ee1,{}),value:s?d(s.label):void 0,children:Ne(Ae1,{className:"sf-gallery-layouts",label:d(Av),value:a,onChange:t,options:Lv.map(o=>({value:o.value,label:d(o.label),picture:Ne(He1,{layout:o.value})}))})})}};import{AlignLeftIcon as wL1,CategoryIcon as yL1,CheckIcon as M31,ClockIcon as WC,ColumnsIcon as zL1,DirectionIcon as kL1,EyeIcon as SL1,ListIcon as CL1,PageIcon as ML1,PlacementIcon as LL1,ScrollPointIcon as AL1,TriggerIcon as TL1}from"efficient-easel/icons";import{useContext as Fe1,useEffect as H_,useRef as Fp,useState as Np}from"react";import{Button as Rp}from"efficient-shell/ui";import{ScreenDocumentContext as Ne1}from"efficient-easel/screen/components/ScreenDocumentContext";var bi=class extends Error{constructor(a){super("The storefront forms list could not be loaded.");this.cause=a;this.name="FormsUnavailableError"}},Pp=null,ex=null,tx=null;function Pe1(){Pp=null,ex=null,tx=null}function E_(e=!1){let t=U3(),a=D2();return(e||!Pp||ex===null&&t!==null||tx!==a)&&(ex=t,tx=a,Pp=(t?R1.listForms(t,{siteId:a}):Promise.reject(new bi)).catch(s=>{throw Pe1(),s instanceof bi?s:new bi(s)})),Pp}import{useEaselHost as Re1}from"efficient-easel/screen/lib/host";import{jsx as U2,jsxs as K6}from"react/jsx-runtime";var P_="__create-a-new-form__";function _e1({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?d("Loading\u2026"):a?d("Forms couldn\u2019t be loaded"):s===void 0?d("No form yet"):d(s)},l=e&&!r?[{value:e,label:i||a?e:d("{slug} \u2014 no form with this name",{slug:e})}]:[],c=o.map(p=>({value:p.slug,label:p.is_active?p.title:d("{title} (switched off)",{title:p.title})})),h=i?[]:[{value:P_,label:d("Create a new form")}];return[n,...l,...c,...h]}function Ie1(e){return e===P_?{action:"create"}:{action:"store",slug:e}}function Ve1({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 Oe1(e){let t=[d("Goes to {place}",{place:d("Storefront \u2192 Forms")})],a=(e.notify_email??"").trim();return a&&t.push(d("Emails a copy to {email}",{email:a})),e.mailing_list_name&&t.push(e.subscribe_mode==="checkbox"?d("Joins the \u201C{audience}\u201D audience, but only when the consent box is ticked",{audience:e.mailing_list_name}):d("Joins the \u201C{audience}\u201D audience",{audience:e.mailing_list_name})),e.kind==="account_signup"&&t.push(e.signup_customer_type==="importer"?d("Creates a wholesale account"):d("Creates a retail account")),t}function ax({value:e,onChange:t,label:a="Form",emptyLabel:s}){let o=Re1(),r=Fe1(Ne1),i=r?r.capabilities.hasForms:!0,[n,l]=Np(null),[c,h]=Np(!1),[p,m]=Np(!1),[u,v]=Np(!1),g=Fp(!0),f=Fp(e);f.current=e;let b=Fp(t);b.current=t;let x=Fp(null),w=(E=!1)=>E_(E).then(N=>{if(g.current){l(N),h(!1);let R=Ve1({value:f.current,pickedId:x.current,forms:N});R&&b.current(R)}return N},()=>(g.current&&h(!0),[]));H_(()=>(g.current=!0,i&&w(),()=>{g.current=!1}),[i]),H_(()=>i?Vh(()=>{w(!0)}):void 0,[i]);let A=e?(n??[]).find(E=>E.slug===e)??null:null;A?x.current=A.id:e||(x.current=null);let T=!!e&&!A&&n!==null&&!c,F=_e1({value:e,forms:n,loadFailed:c,emptyLabel:s}),M=async()=>{m(!0),v(!1);try{let E=await sF(o,{mode:"create"}),N=await w(!0);if(!g.current)return;if(E.status==="timeout"){v(!0);return}if(E.status!=="saved")return;let{form:R}=E;R.slug!==f.current&&b.current(R.slug),N.some(D=>D.id===R.id)||w(!0)}finally{g.current&&m(!1)}},z=E=>{let N=Ie1(E);N.action==="create"?M():(v(!1),t(N.slug))};return i?K6("div",{className:"sf-formpicker",children:[U2(Qt,{label:a,options:F,fallback:"",value:e??"",onChange:z,placeholder:d("Search forms\u2026")}),u&&U2("p",{className:"sf-formsummary-warn",children:d("That didn\u2019t come back \u2014 pick the form from the list, or try again.")}),A?K6("div",{className:"sf-blogsource sf-formsummary",children:[K6("div",{children:[U2("div",{className:"sf-formsummary-caption",children:u3("{n} field","{n} fields",A.fields.length)}),A.fields.length?U2("ol",{className:"sf-formsummary-fields",children:A.fields.map((E,N)=>U2("li",{children:E.label},E.key||`${E.label}-${N}`))}):U2("p",{className:"es-field-hint sf-hint-keep",children:d("This form has no fields yet, so there is nothing for a visitor to fill in.")})]}),K6("div",{children:[U2("div",{className:"sf-formsummary-caption",children:d("Where the answers go")}),U2("ul",{className:"sf-formsummary-fields",children:Oe1(A).map(E=>U2("li",{children:E},E))})]}),!A.is_active&&U2("p",{className:"sf-formsummary-warn",children:d("This form is switched off, so it won\u2019t appear on the published page. Turn it back on in {place}.",{place:d("Storefront \u2192 Forms")})}),K6("div",{className:"sf-formsummary-actions",children:[U2(Rp,{variant:"secondary",size:"sm",onClick:()=>aF(o,A.id),children:d("Edit form \u270E")}),U2(Rp,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{M()},children:d("New form +")})]}),U2("p",{className:"es-field-hint sf-hint-keep",children:d("The questions, the button text and the thank-you message all come from {place}. Edit them there \u2014 this section updates to match.",{place:d("Storefront \u2192 Forms")})})]}):K6("div",{className:"sf-blogsource sf-formsummary",children:[c?K6("p",{className:"es-field-hint sf-hint-keep",children:[d("This website\u2019s forms couldn\u2019t be loaded, so there is nothing to choose from yet."),e?` ${d("This section still points at \u201C{slug}\u201D, and that is unchanged.",{slug:e})}`:""]}):T&&U2("p",{className:"sf-formsummary-warn",children:d("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??""})}),K6("div",{className:"sf-formsummary-actions",children:[c&&U2(Rp,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{w(!0)},children:d("Try again")}),U2(Rp,{variant:"secondary",size:"sm",disabled:p,onClick:()=>{M()},children:d("New form +")})]}),!c&&U2("p",{className:"es-field-hint sf-hint-keep",children:d("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:d("Storefront \u2192 Forms")})})]})]}):U2("div",{className:"sf-formpicker",children:U2("div",{className:"sf-blogsource sf-formsummary",children:K6("div",{children:[U2("div",{className:"sf-formsummary-caption",children:d(a)}),K6("p",{className:"es-field-hint sf-hint-keep",children:[d("Forms aren\u2019t available in this editor, so there is nothing to choose here."),e?` ${d("This section still points at \u201C{slug}\u201D, and that is unchanged.",{slug:e})}`:""]})]})})})}import{jsx as Be1}from"react/jsx-runtime";function Y6(e,t){return{type:"custom",render:({value:a,onChange:s})=>Be1(ax,{value:a,onChange:s,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}var sx="heroBullets",xi="\xB7",ox={bullets:[]},F_={label:"Free shipping",detail:"USA, UK, AUS"};function N_(e){return e.detail?`${e.label} ${xi} ${e.detail}`:e.label}function De1(e){let t=e.trim();if(!t)return null;let a=t.indexOf(xi);return a<0?{label:t,detail:""}:{label:t.slice(0,a).trim(),detail:t.slice(a+xi.length).trim()}}function R_(e){let t=(e??{})[sx];return Array.isArray(t)?{bullets:t.map(s=>De1(typeof s=="string"?s:PA(s?.text,""))).filter(s=>s!==null)}:ox}var F2={text:"Button label",href:"#"},P={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 $7}from"react/jsx-runtime";import{jsx as a9,Fragment as Ze1,jsxs as Ge1}from"react/jsx-runtime";import{useEasel as __}from"efficient-easel/easel";import{LayersIcon as We1}from"efficient-easel/icons";import{SettingsDrill as Ue1,SettingsField as qe1}from"efficient-easel/panel";import $e1 from"efficient-easel/screen/components/AddChildRow";import{useSlotChildActions as je1}from"efficient-easel/screen/components/SlotChildActionsContext";function Ke1({parent:e,parentType:t,label:a,rowName:s,onSelectChild:o,onAddChild:r,nestDepth:i=0}){let n=zr(t,i);if(!n)return null;let{slot:l,choices:c,spec:h}=n,p=String(e.props.id),m=`${p}:${l}`,u=Array.isArray(e.props[l])?e.props[l]:[],v=h?.addBlocked?.(u)??null,g=h?.notice?.(u)??null,f=Ge1(Ze1,{children:[g?a9("p",{className:"sf-note",children:g}):null,u.map((b,x)=>a9(Ue1,{name:s(b),onOpen:()=>o(m,x,String(b.props.id),t)},String(b.props.id??`${m}-${x}`))),c||h.fixed?null:a9($e1,{label:h.addLabel,blocked:v,onAdd:()=>r(p,l,h.childType,u.length,t)})]});return a9("div",{className:"sf-slot-rows",children:a?a9(qe1,{label:d(a),icon:a9(We1,{}),value:String(u.length),children:f}):f})}function Ye1(e,t){return zr(e)?.spec?.notice?.(t)??null}function I_({parentType:e}){let{selectedItem:t}=__(r=>r);if(!t||t.type!==e)return null;let a=zr(e)?.slot,s=a&&Array.isArray(t.props[a])?t.props[a]:[],o=Ye1(e,s);return o?a9("p",{className:"sf-note",children:o}):null}function Xe1(e,t){return zr(t)?.source==="footer"?e.blockRowName:e.childRowName}function V_({parentType:e,label:t}){let{appState:a,selectedItem:s}=__(i=>i),o=je1();if(!o||!s||s.type!==e)return null;let r=e===TM?Ot(a?.data,String(s.props.id)):0;return a9(Ke1,{parent:s,parentType:e,label:t,rowName:Xe1(o,e),onSelectChild:o.selectChild,onAddChild:o.addChild,nestDepth:r})}var s9={min:40,max:100,step:5,fallback:100,unit:"vh"};function q7(e){return`${typeof e=="number"?e:s9.fallback}${s9.unit}`}function _p(...e){return e.some(t=>typeof t=="number")}var O_="grayscale(1) contrast(1.03)",B_="Black and white";function Je1(e){return e===!0?{filter:O_}:{}}function Qe1(e){let{filter:t}=Je1(e);return t?{style:{filter:t}}:{}}var wi="sf-photo-grayscale",et1=`@media (hover:hover){.${wi}{filter:${O_};transition:filter 160ms ease}.${wi}:hover{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${wi}{transition:none}}`;function as(e,t){return typeof e=="boolean"?e?Qe1(!0):{}:t===!0?{className:wi}:{}}function D_(e){return e===!0?{[wi]:et1}:{}}import{AlignLeftIcon as st1,BlackAndWhiteIcon as ot1,ContrastIcon as rt1,HeightIcon as it1,TypeIcon as nt1}from"efficient-easel/icons";import{deviceField as lt1}from"efficient-easel/screen/lib/puck/device-fields";var tt1=["eyebrow","heading","title","body","intro","button","link","label","number","value","name","price","date","caption","note","quote","tag","meta"],at1=new Set(tt1);function Z_(e){let t=e.toLowerCase().split(/[^a-z]+/).filter(Boolean);for(let a=t.length-1;a>=0;a-=1)if(at1.has(t[a]))return t[a];return null}var j7=e=>lt1(e,o1("Height",$7(it1,{}),s9.min,s9.max,s9.step,s9.fallback,s9.unit)),H5={ctaText:I("Button",F2.text),ctaHref:q1("Button link")},P5=()=>f1("Alignment",$7(st1,{}),[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],"left"),Ip=()=>f1("Tone",$7(rt1,{}),[{label:"Default",value:"default"},{label:"Muted",value:"dim"}],"default"),$3=e=>ca({...Ch[e],keys:{top:"padTop",bottom:"padBottom"},group:!1}),X6=(e,t)=>({type:"custom",render:()=>$7(V_,{parentType:e,label:t})}),Vp=e=>({type:"custom",render:()=>$7(I_,{parentType:e})});function ct1(e){let{photographyGrayscale:t}=Q2();return i1(B_,t===!0,$7(ot1,{})).render(e)}function ss(){return{type:"custom",render:e=>$7(ct1,{...e})}}var s0=[...new Set([...Object.keys(Rc("full")),...PT])];function os(e){let t=Z_(e);return t?$7(c4,{noun:t}):$7(nt1,{})}import{readLockHolder as St1}from"efficient-easel/edit-lock";var ix="/api/storefront/section-templates/",rx=e=>`${ix}${encodeURIComponent(e)}/`,nx=e=>e.node!=null;function Op(e){if(!nx(e))throw new Error(`Section template ${e.id} has no design`);return e}var cx=(e,t)=>e instanceof E4&&e.status===t;function ht1(e){return{list:()=>ka(`${ix}?no_page=true`,{token:e()}).then(t=>Array.isArray(t)?t:t.results??[]),get:t=>ka(rx(t),{token:e()}).catch(a=>{if(cx(a,404))return null;throw a}),create:t=>ka(ix,{method:"POST",token:e(),body:JSON.stringify(t)}),patch:(t,a)=>ka(rx(t),{method:"PATCH",token:e(),body:JSON.stringify(a)}),remove:t=>ka(rx(t),{method:"DELETE",token:e()})}}var lx="sf:section-templates",G_=`${lx}.imported`,pt1="Untitled section",mt1=160,Bp=e=>(typeof e=="string"?e.trim().slice(0,mt1):"")||pt1;function dt1(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 ut1(e,t=N3){let a={created:0,seeded:0,left:0,skipped:0,kept:!1},s=t.getItem(lx);if(s===null)return a;for(let o of dt1(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:Bp(o.name),node:o.node}),a.created+=1}catch(i){if(!cx(i,400))throw i;a.skipped+=1}}catch{return{...a,kept:!0}}return t.setItem(G_,s),t.getItem(G_)===s&&t.removeItem(lx),a}var Dp=class{constructor(t,a=N3){this.readToken=t;this.storage=a;this.imported=null;this.http=ht1(t)}ready(){return this.imported?this.imported:this.readToken()?(this.imported=ut1(this.http,this.storage).catch(()=>{}),this.imported):Promise.resolve()}async list(){return await this.ready(),(await this.http.list()).filter(nx)}async get(t){return await this.ready(),this.http.get(t)}async ensure(t,a,s){await this.ready();let o=async i=>i?nx(i)?i:Op(await this.http.patch(t,{node:s})):null,r=await o(await this.http.get(t));if(r)return r;try{return Op(await this.http.create({id:t,name:Bp(a),node:s}))}catch(i){if(cx(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(),Op(await this.http.create({name:Bp(t),node:a}))}async update(t,a){return await this.ready(),Op(await this.http.patch(t,{node:a}))}async rename(t,a){return await this.ready(),this.http.patch(t,{name:Bp(a)})}async remove(t){await this.ready(),await this.http.remove(t)}};var o9="dataSource";var gt1="dataRows",vt1=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,ft1=Symbol.for("efficient.block-sources");function Zp(){let e=globalThis;return e[ft1]??={sources:new Map,revision:0}}function bt1(e){if(typeof e.key!="string"||!vt1.test(e.key))throw new Error(`A block source key is lower-case words joined by hyphens, not ${JSON.stringify(e.key)}.`);if(typeof e.label!="string"||!e.label.trim())throw new Error(`The block source ${e.key} has no label.`);if(!Array.isArray(e.blocks)||!e.blocks.length||e.blocks.some(t=>typeof t!="string"||!t))throw new Error(`The block source ${e.key} names no block it can fill.`);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>U_(t)).filter(t=>t!==null)}:{}}}function W_(e){let t=e.map(bt1),a=Zp();for(let s of t)a.sources.set(s.key,s);t.length&&(a.revision+=1)}function yi(e){let t=[...Zp().sources.values()];return e===void 0?t:t.filter(a=>a.blocks.includes(e))}function xt1(e){return Zp().sources.get(e)??null}function Re(){return Zp().revision}function J6(e){let t=e?.[o9];return typeof t=="string"?t.trim():""}function U_(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let t={};for(let[a,s]of Object.entries(e))typeof s=="string"&&s&&(t[a]=s);return Object.keys(t).length?t:null}function wt1(e){let t=e?.[gt1];return Array.isArray(t)?t.map(U_).filter(a=>a!==null):null}function rs(e,t,a=[]){let s=wt1(e);if(s!==null&&(s.length||!t))return{rows:s,sample:!1};if(!t)return{rows:[],sample:!1};let o=xt1(J6(e))?.sample;return{rows:o?.length?o:a,sample:!0}}var yt1=[{key:"group-offices",label:"Group offices",blocks:["Footprint"]}];W_(yt1);var q_={"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 $_(e,t){let a=q_[e][t];return{maxSizeBytes:a.max_bytes,maxFiles:a.max_files,accept:a.accept==="*"||a.accept==="*/*"?void 0:a.accept,acceptHint:a.hint}}import{EFFICIENT_BACKEND as Ct1,currentEaselSession as Q_,provideDefaultBackend as Mt1}from"efficient-easel/screen/lib/session";var zt1=["home","products","gallery","about","contact"],kt1=e=>{let t=e.slug.trim().toLowerCase(),a=(e.title??"").trim().toLowerCase(),s=zt1.findIndex(o=>o===t||o===a);return s===-1?Number.POSITIVE_INFINITY:s},j_=e=>e.map((t,a)=>({page:t,idx:a,rank:kt1(t)})).sort((t,a)=>t.rank-a.rank||t.idx-a.idx).map(t=>t.page);var px="Popups",K_="Site";var X_={[he]:{label:"Site popup",group:px},[o5]:{label:"Footer",group:K_},[FA]:{label:"Cart drawer",group:K_},[_A]:{label:"Cookie banner",group:px}};function Gp(e){return X_[e.slug]?.label||e.title||e.slug}function hx(e){let t=e.group?.trim();return t||null}function Y_(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 J_(e){let t=j_(e),a=[],s=t.filter(n=>!vr(n.slug)),o=s.filter(n=>!hx(n));o.length&&a.push({key:"top",group:null,pages:o});let r=s.filter(n=>hx(n));for(let[n,l]of Y_(r,c=>hx(c)))a.push({key:`folder:${n}`,group:n,pages:l});let i=t.filter(n=>vr(n.slug));for(let[n,l]of Y_(i,c=>X_[c.slug]?.group??px))a.push({key:`system:${n}`,group:n,pages:l});return a}import{PAGE_CONFLICT_CODE as Lt1}from"efficient-easel/screen/lib/failure";import{WebsiteBackendError as r9,provideHostFailures as At1}from"efficient-easel/screen/lib/backend-error";var mx=e=>e.layout_updated_at??e.updated_at??null,Tt1=["live","changed","never"],eI=e=>Tt1.includes(e.live_state)?{live:e.live_state}:{};function Et1(e){if(!e||typeof e!="object")return null;let t=e;return t.code!==Lt1?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 Ht1(e){return e===401||e===403?"unauthorized":e===404?"not-found":e===KE||e>=500?"unavailable":"invalid"}function Pt1(e){if(!(e instanceof E4))return e;if(e.status===409){let t=Et1(e.data);if(t)return new r9("changed-elsewhere",e.message,{conflict:t,cause:e});let a=St1(e.data);if(a)return new r9("lock-taken",e.message,{holder:a,cause:e})}return new r9(Ht1(e.status),e.message,{cause:e})}function Ft1(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let t=a=>{if(typeof a=="string")return a.trim()||null;let s=Array.isArray(a)?a:a&&typeof a=="object"?Object.values(a):[];for(let o of s){let r=t(o);if(r)return r}return null};for(let[a,s]of Object.entries(e)){if(a==="detail")continue;let o=t(s);if(o)return`${a}: ${o}`}return null}var dx=new WeakMap;function Nt1(e,t){let a=LA(),s=a?new URL(a).hostname:typeof window<"u"?window.location?.hostname??null:null,o=null,r=t.siteId(),i=t.token();if(_E(s)&&r&&i){let l=nh(i,r);dx.has(l)?o=dx.get(l)??null:l.then(c=>dx.set(l,c))}let n=IE({pageSlug:e,siteSlug:o,hostname:s});return a?`${a}${n}`:n}var Rt1={group:"Template pages",groupKey:"template"},tI=e=>({id:e.id,slug:e.slug,label:e.title||e.slug,...Rt1,draft:!1});function aI(e){let t=async m=>{let u=e.token();if(!u)throw new r9("unauthorized","The editor has no sign-in yet.");try{return await m(u)}catch(v){throw Pt1(v)}},a={list:m=>t(async u=>{let v=await R1.listPages(u,m?.siteId);return J_(v.filter(g=>g.slug!==o5)).flatMap(g=>g.pages.map(f=>({id:f.id,slug:f.slug,label:Gp(f),group:g.group,groupKey:g.key,draft:!f.is_published,kind:f.kind??null})))}),load:m=>t(async u=>{let v="id"in m?m.id:(await R1.findPageBySlug(m.slug,u,m.siteId))?.id,g=v?await R1.getPageById(v,u):null;return g?{id:g.id,layout:g.layout,kind:g.kind,version:mx(g),...eI(g)}:null}),save:(m,u,v)=>{let{version:g}=v;return g?t(async f=>{let b=await R1.saveLayout(m,u.layout,f,g,v.clientId||void 0);return{version:mx(b),...eI(b)}}):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:m=>t(u=>R1.getPageById(m,u).then(mx)),linkTargets:m=>t(async u=>(await R1.listPages(u,m?.siteId)).map(v=>({id:v.id,slug:v.slug,label:Gp(v),layout:v.layout??null}))),duplicate:(m,u)=>t(async v=>{let g=await R1.duplicatePage(m,{title:u.title,slug:u.slug},v);return{id:g.id,slug:g.slug,label:Gp(g),group:g.group||null,draft:!g.is_published,kind:g.kind??null}})},s=m=>({list:()=>t(async u=>(await R1.listTemplatePages(m,u)).map(tI)),load:u=>t(async v=>{let g=w=>"id"in u?w.id===u.id:w.slug===u.slug,f=w=>({id:w.id,layout:w.layout,version:null}),b=await R1.listTemplatePages(m,v);if(b.length)return f(b.find(g)??b[0]);let x=await R1.getTemplate(m,v).catch(()=>null);try{return f(await R1.createTemplatePage(m,{slug:Kt,title:"Home",layout:x?.layout??{}},v))}catch{let w=await R1.listTemplatePages(m,v),k=w.find(g)??w[0];return k?f(k):null}}),save:(u,v)=>t(async g=>(await R1.saveTemplatePageLayout(u,v.layout,g),{version:null})),create:u=>t(async v=>tI(await R1.createTemplatePage(m,{slug:u.slug,title:u.title,layout:u.layout},v))),remove:(u,v)=>t(g=>R1.deleteTemplatePage(u,g,v))}),o=m=>{let u=m?.siteId??e.siteId();if(!u)throw new r9("not-found","This editor is not connected to a website.");return u},r=m=>({name:m.name,slug:m.slug,mapsApiKey:m.maps_api_key,mapsMapId:m.maps_map_id}),i=m=>Object.fromEntries(me.map(u=>[u,m[Wc(u)]??""])),n={launcherColor:"launcher_color",launcherIcon:"launcher_icon",launcherPosition:"launcher_position",launcherLabel:"launcher_label",showOnPhones:"show_on_phones"},l=Object.keys(n),c=m=>{let u={enabled:m.enabled,title:m.title,subtitle:m.subtitle,greeting:m.greeting};for(let v of l){let g=m[n[v]];g!==void 0&&Object.assign(u,{[v]:g})}return u},h=m=>{let u={};for(let[v,g]of Object.entries(m))u[n[v]??v]=g;return u},p={pages:a,lock:{claim:(m,u,v)=>t(async g=>({heartbeatSeconds:(await R1.claimPageEditLock(m,g,u,v)).heartbeat_seconds})),release:m=>t(u=>R1.releasePageEditLock(m,u))},site:{get:m=>t(async u=>r(await R1.getSite(o(m),u))),update:(m,u)=>t(async v=>r(await R1.updateSite(o(u),m.mapsApiKey===void 0?{}:{maps_api_key:m.mapsApiKey},v))),publish:m=>t(async u=>{try{let{state:v,published:g}=await R1.publishSite(o(m),u);return{state:v,published:g}}catch(v){let g=v instanceof E4&&v.status===400?Ft1(v.data):null;throw g?new r9("invalid",g,{cause:v}):v}}),liveState:m=>t(async u=>{let{state:v,changes:g}=await R1.getSiteLiveState(o(m),u);return{state:v,changes:g}})},media:{resolve:mM,maxUploadBytes:$_("POST /api/storefront/media/","file").maxSizeBytes},sectionTemplates:new Dp(e.token),social:{get:m=>t(async u=>i(await R1.getSocialSettings(u,o(m)))),update:(m,u)=>t(async v=>{let g=Object.fromEntries(me.filter(f=>f in m).map(f=>[Wc(f),m[f]]));try{return i(await R1.updateSocialSettings(g,v,o(u)))}catch(f){if(f instanceof E4&&f.status===400){let b=f.data??{},x={};for(let w of me){let k=b[Wc(w)],A=Array.isArray(k)?k[0]:k;typeof A=="string"&&A.trim()&&(x[w]=A)}if(Object.keys(x).length>0)throw new r9("invalid",f.message,{fields:x,cause:f})}throw f}})},theme:{get:m=>t(u=>R1.getThemeSettings(u,m?.siteId)),update:(m,u)=>t(v=>R1.updateThemeSettings(m,v,u?.siteId))},geocode:{locate:(m,u)=>t(async v=>{let g=await R1.geocode(m,v,u?.country);if(g.status==="not_found")return null;if(g.status!=="found"||g.lat===null||g.lng===null)throw new r9("unavailable","The geocoder could not answer just now.");return{lat:g.lat,lng:g.lng,label:g.label}})},chat:{get:m=>t(async u=>c(await R1.getChatSettings(u,m?.siteId))),update:(m,u)=>t(async v=>c(await R1.updateChatSettings(h(m),v,u?.siteId)))},blog:{posts:m=>t(async u=>(await R1.listBlogPosts(u,{visibleOnly:!0,siteId:m?.siteId})).map(v=>({slug:v.slug,title:v.title,excerpt:v.excerpt,category:v.category,coverImage:v.cover_image?F6(v.cover_image)??"":"",publishedAt:v.published_at,href:zv(v.slug)})))},templates:{get:m=>t(async u=>{let v=await R1.getTemplate(m,u);return{id:v.id,name:v.name}}),pages:s},preview:{href:m=>Nt1(m,e),draftLink:m=>t(async u=>({url:(await R1.createPagePreviewLink(m,u)).url??null}))}};return p[Ct1]=!0,p}At1({read:e=>e instanceof E4?{status:e.status,data:e.data,message:e.message}:null,unreachableMessage:jE,loadRefusal:(e,{slug:t})=>e instanceof QE?`\u201C${t}\u201D exists on more than one website. Open it from the site you want to edit.`:null});Mt1(e=>aI({token:()=>e.auth.token,siteId:()=>e.siteId()}));function _t1(e={}){return e.portalAudience!==void 0&&YE(e.portalAudience),e.language!==void 0&&XE(e.language),aI({token:()=>Q_().auth.token,siteId:()=>e.siteId??Q_().siteId()})}import{createContext as qt1,useContext as $t1}from"react";import{jsx as p2,jsxs as gx}from"react/jsx-runtime";import{Fragment as oI}from"react";import{Fragment as It1,jsx as ux}from"react/jsx-runtime";function F5({value:e,children:t}){let a=PH(e);return a?ux(NH,{stamp:a.stamp,children:ux("span",{[Bl]:a.stamp,...a.textStyle?{[Dl]:a.textStyle}:{},children:t})}):ux(It1,{children:t})}function L(e,t=!1){let a=Ut1(t),s=Il(e);if(s.length===1){let[r]=s,i=eL(r),n=i?Gt1(i,r.children):r.children;return p2(F5,{value:e,children:Wp(n,a)})}let o=[];return s.forEach((r,i)=>{if(r.bullet){o.push(p2("span",{"data-sf-bullet":"",className:Vt1,children:Wp(r.children,a)},i));return}if(r.number!=null){o.push(gx("span",{"data-sf-number":r.number,className:Ot1,children:[gx("span",{className:Bt1,children:[r.number,"."]}),Wp(r.children,a)]},i));return}i>0&&!Dt1(s[i-1])&&o.push(p2("br",{},`br${i}`)),o.push(p2(oI,{children:Wp(r.children,a)},i))}),p2(F5,{value:e,children:o})}var Vt1="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",Ot1="relative block pl-[2em]",Bt1="absolute left-0 w-[1.6em] text-right tabular-nums";function Dt1(e){return e.bullet||e.number!=null}var Zt1="text-accent underline underline-offset-[0.18em]";function Gt1(e,t){let[a,...s]=t;return a?.kind==="text"?[{kind:"text",text:`${e}${a.text}`},...s]:[{kind:"text",text:e},...t]}function Wt1(e){if(e)return nL(e)?e:Object.hasOwn(ov,e)?ov[e]:void 0}function Wp(e,t){let a=[],s=!1;return e.forEach((o,r)=>{if(o.kind==="text"){a.push(p2("span",{children:d0(o.text)},r)),s=!0;return}s||a.push(p2("span",{},`e${r}`)),a.push(rI(o,r,t)),s=!1}),s||a.push(p2("span",{},"end")),a}function sI(e,t){return e.length===1&&e[0].kind==="text"?d0(e[0].text):e.map((a,s)=>a.kind==="text"?p2(oI,{children:d0(a.text)},s):rI(a,s,t))}function Ut1(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function Y0(e){return p2(F5,{value:e,children:p2("span",{children:e})})}function rI(e,t,a){if(e.kind==="link")return p2("a",{href:e.href,className:Zt1,children:sI(e.children,a)},t);let s=sI(e.children,a),o=YM[e.kind];if(o)return p2("span",{[XM]:o,children:s},t);switch(e.kind){case"underline":return p2("u",{children:s},t);case"sup":return p2("sup",{children:s},t);case"sub":return p2("sub",{children:s},t);case"color":{let r=Wt1(e.color);return r?p2("span",{style:{color:r},children:s},t):p2("span",{children:s},t)}case"accent":case"highlight":return p2("em",{className:a,children:s},t);case"bold":return p2("strong",{className:"font-semibold",children:s},t);case"italic":return p2("em",{className:"italic",children:s},t);case"strike":return p2("s",{className:"line-through",children:s},t);default:return p2("span",{children:s},t)}}function Y(e,t=!0){let a=e.split(`
|
|
17
17
|
`);return p2(F5,{value:e,children:a.map((s,o)=>gx("span",{children:[L(s,t),o<a.length-1?p2("br",{}):null]},o))})}function E0(e){return e.split(/\n\s*\n/).map(t=>t.trim()).filter(Boolean)}import{jsx as i9,jsxs as vx}from"react/jsx-runtime";function fx(e){return F6(e)??void 0}var bx=qt1({}),iI=3;function xx({tag:e,name:t,desc:a,href:s,imageSrc:o,imageLabel:r,price:i}){let{showPrice:n,cardStyle:l,partStyles:c,editing:h}=$t1(bx),p=l==="bordered"?" border border-line":l==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",m=fx(o),u=g=>h?{[de]:g}:{},v=g=>oh(c?.[wa(g)]?.role,SE[g],_l);return vx(I1,{href:s||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${p}`,children:[i9("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:i9(P0,{label:r||"collection.jpg",src:m})}),i9("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"}}),vx("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&&i9("span",{...u("tag"),style:v("tag"),className:`font-mono ${ue.tag} uppercase tracking-[0.25em] opacity-70`,children:L(e)}),t&&i9("h3",{...u("name"),style:v("name"),className:`font-heading2 ${ue.name} font-medium leading-none tracking-[-0.03em] ${ue.namePhone}`,children:typeof t=="string"?Y(t,!1):t}),a&&E0(a).map((g,f)=>i9("p",{...u("body"),style:v("body"),className:`max-w-[420px] ${ue.body} leading-[1.5] opacity-80`,children:L(g)},f)),n&&i&&i9("span",{...u("price"),style:v("price"),className:`font-mono ${ue.price} tracking-[0.05em] text-accent`,children:L(i)}),vx("span",{...u("link"),style:v("link"),className:`mt-2 inline-flex items-center gap-3 font-mono ${ue.link} uppercase tracking-[0.2em]`,children:["Explore",i9("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"\u2192"})]})]})]})}import{createContext as na1,useCallback as la1,useContext as ca1,useEffect as ha1,useRef as pa1,useState as zx}from"react";import{useState as Kt1}from"react";function Up(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 nI(e){return e==="below"}import{Fragment as jt1,jsx as lI}from"react/jsx-runtime";function n9({kind:e,shared:t=!1,children:a}){let s=FH(e),o=RH(e),r=t?o:s;return r?lI("span",{[Bl]:r.stamp,...r.textStyle?{[Dl]:r.textStyle}:{},children:a}):lI(jt1,{children:a})}import{jsx as I4,jsxs as is}from"react/jsx-runtime";function wx({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 m=w=>TA(l,c,w),u=w=>p&&h?{[Ol]:h,[cr]:`@${w}`}:{},v=(w,k)=>!p&&h?I4(n9,{kind:`@${w}`,shared:!0,children:k}):k,[g,f]=Kt1(!1),b=nI(n),x=is("div",{className:["sf-card group relative overflow-hidden bg-surface-2",Up(i),t?"max-[800px]:hidden":""].join(" "),children:[is("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:[I4(P0,{label:e.imageLabel,src:e.imageSrc}),I4("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),I4("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&&I4(S4,{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)&&is("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&&I4("span",{...u("tag"),className:["min-w-0 truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent",m("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",d0(e.process))}),o!=null&&r!=null&&I4("span",{...u("number"),className:`ml-auto shrink-0 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] ${m("number")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:v("number",`${String(o).padStart(2,"0")} / ${String(r).padStart(2,"0")}`)})]}),I4("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:is("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&&I4("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] ${m("eyebrow")}`.trim(),children:v("eyebrow",e.car)}),e.wheel&&I4("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)] ${m("title")}`.trim(),children:v("title",e.wheel)}),e.finish&&I4("div",{...u("meta"),className:`mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em] ${m("meta")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:I4("span",{children:v("meta",d0(e.finish))})})]})})]});return b?is("div",{className:t?"max-[800px]:hidden":"",children:[x,is("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&I4("div",{...u("title"),className:`font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg ${m("title")}`.trim(),children:v("title",e.wheel)}),(e.finish||e.car)&&I4("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 ${m(e.finish?"meta":"eyebrow")}`.trim(),children:v(e.finish?"meta":"eyebrow",d0(e.finish||e.car))})]})]}):x}import{createContext as Yt1,useContext as Xt1,useEffect as Jt1,useLayoutEffect as Qt1,useRef as yx,useState as ea1}from"react";import{createPortal as ta1}from"react-dom";import{Fragment as ra1,jsx as zi,jsxs as ia1}from"react/jsx-runtime";var aa1=".sf-themed-content",cI="sf-section-accent";function sa1(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(cI)&&(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 ${cI}`:"contents",style:a}}function oa1(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 hI=Yt1(()=>{});function _e({open:e,onClose:t,label:a,onPrev:s,onNext:o,className:r="",style:i,children:n}){let l=yx(null),c=yx(null),[h,p]=ea1(null);Qt1(()=>{if(!e){p(null);return}let v=l.current;if(!v)return;let g=v.closest(aa1)??v.ownerDocument.body;p({host:g,theme:sa1(v,g)})},[e]);let m=yx({onClose:t,onPrev:s,onNext:o});m.current={onClose:t,onPrev:s,onNext:o};let u=e&&h!==null;return Jt1(()=>{if(!u)return;let v=c.current,g=v?.ownerDocument??document,f=g.activeElement;v?.focus();let b=k=>{if(k.key==="Escape")m.current.onClose();else if(k.key==="ArrowLeft")m.current.onPrev?.();else if(k.key==="ArrowRight")m.current.onNext?.();else if(k.key==="Tab"&&v){let A=oa1(v);if(A.length===0){k.preventDefault(),v.focus();return}let T=A[0],F=A[A.length-1],M=g.activeElement,z=!!M&&v.contains(M)&&M!==v;if(k.shiftKey&&(!z||M===T))k.preventDefault(),F.focus();else if(!k.shiftKey&&(!z||M===F))k.preventDefault(),T.focus();else{k.preventDefault();let E=A.indexOf(M);A[k.shiftKey?E-1:E+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?ia1(ra1,{children:[zi("span",{ref:l,hidden:!0}),h&&ta1(zi("div",{className:h.theme.className,style:h.theme.style,children:zi("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:zi(hI.Provider,{value:t,children:n})})}),h.host)]}):null}function ns({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=Xt1(hI);return zi("button",{type:"button","aria-label":a,onClick:r=>{r.stopPropagation(),o()},className:e,style:t,children:s})}import{Fragment as ls,jsx as m2,jsxs as j3}from"react/jsx-runtime";var ma1="(max-width: 1100px) 100vw, min(59vw, 1050px)",ki=na1({}),pI=[{id:"tag",label:"Tag"},{id:"eyebrow",label:"Eyebrow"},{id:"title",label:"Title"},{id:"meta",label:"Meta"},{id:"number",label:"Card number"}],Si="data-gallery-grid",kx="data-gallery-tile";function da1(e,t){let[a,s]=zx(null);return ha1(()=>{let o=e.current,r=o?.closest(`[${Si}]`);if(!o||!r)return;let i=()=>{let l=Array.from(r.querySelectorAll(`[${kx}]`)),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 K7={process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},ua1=()=>({image:"",href:"#",process:"",eyebrow:"",name:"",meta:""}),mI=Array.from({length:6},ua1);function ga1(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function va1(e){let t=(e.photos??[]).map(r=>r?.src).filter(r=>!!r),a=e.image||t[0]||"",s=[a,...t].filter(r=>!!r),o=ga1(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 Ci({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}=ca1(ki),p=va1(o),m=p.photos??(p.imageSrc?[p.imageSrc]:[]),u=pa1(null),v=la1(z=>{u.current=z},[]),g=da1(u,e),f=e&&(!!t||!!n),[b,x]=zx(!1),[w,k]=zx(0),A=()=>k(z=>(z-1+m.length)%m.length),T=()=>k(z=>(z+1)%m.length),F=m[w]??p.imageSrc??"",M=m2(wx,{build:p,forceHover:f,index:g?.index,total:g?.total,ratio:a,captionPlace:s,display:l,displayPhone:c,styleOwner:h,editing:e});return j3(ls,{children:[e?m2("div",{ref:v,[kx]:"",className:"block w-full text-left",children:M}):m2("button",{ref:v,[kx]:"",type:"button","aria-label":`Open ${p.car||"build"} on ${p.wheel||"wheel"}`,onClick:()=>{k(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:M}),m2(_e,{open:b,onClose:()=>x(!1),label:`${p.car} on ${p.wheel}`,onPrev:m.length>1?A:void 0,onNext:m.length>1?T: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:j3("div",{onClick:z=>z.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 color-mix(in srgb, var(--sf-shadow-color, #141416) 70%, transparent)"},children:[m2(ns,{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"}),j3("div",{className:"relative flex min-h-[690px] items-center justify-center overflow-hidden bg-surface-2 max-[1100px]:min-h-[450px]",children:[F&&m2("img",{...r2(F,{fallbackWidth:1280}),sizes:ma1,alt:`${p.car} \u2014 ${w+1} of ${m.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},F),m.length>1&&j3(ls,{children:[m2("button",{type:"button","aria-label":"Previous photo",onClick:A,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"}),m2("button",{type:"button","aria-label":"Next photo",onClick:T,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"}),j3("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," / ",m.length]})]})]}),j3("div",{className:"flex flex-col gap-[30px] px-[60px] py-[72px] max-[1100px]:px-9 max-[1100px]:py-[54px]",children:[p.process&&m2("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:L(p.process)}),p.wheel&&m2("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(42px,4.5vw,60px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.025em]",children:Y(p.wheel,!1)}),p.car&&j3("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",m2("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em]",children:L(p.car,!0)})]}),j3("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&&j3(ls,{children:[m2("dt",{className:"text-fg-dim",children:"Wheel"}),m2("dd",{className:"text-fg",children:L(p.wheel)})]}),p.process&&j3(ls,{children:[m2("dt",{className:"text-fg-dim",children:"Process"}),m2("dd",{className:"text-fg",children:L(p.process)})]}),p.finish&&j3(ls,{children:[m2("dt",{className:"text-fg-dim",children:"Finish"}),m2("dd",{className:"text-fg",children:L(p.finish)})]}),p.car&&j3(ls,{children:[m2("dt",{className:"text-fg-dim",children:"Vehicle"}),m2("dd",{className:"text-fg",children:L(p.car)})]})]}),j3("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[j3(I1,{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:[m2("span",{children:"View product"}),m2("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"\u2192"})]}),j3(I1,{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:[m2("span",{children:"See more builds"}),m2("span",{children:"\u2192"})]}),j3(I1,{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:[m2("span",{children:"Submit your build"}),m2("span",{children:"\u2192"})]})]})]})]})})]})}import{createContext as wa1,useContext as ya1,useEffect as qp,useId as za1,useMemo as ka1,useState as o3}from"react";var fa1=14,ba1=3;function Sx(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function xa1(e,t){let a=new Date(`${e}T00:00:00`);return a.setDate(a.getDate()+t),Sx(a)}async function dI(e,t,a={}){let s=a.days??fa1,o=a.read??ve.getAvailability,r=0,i=0;for(let n=0;n<s;n++){if(a.signal?.aborted)return{outcome:"unreadable"};let l=xa1(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>=ba1)return{outcome:"unreadable"}}}return i===s?{outcome:"noneInWindow",days:s}:{outcome:"unreadable"}}import{jsx as Ma1}from"react/jsx-runtime";var uI=wa1(null);function l9(){let e=ya1(uI);if(!e)throw new Error("useBookingForm must be used inside <BookingFormProvider>");return e}var Cx=[{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 Sa1(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 Mx={bookingNumber:"EXAMPLE-0000",service:"Example service",startAt:"2026-01-01T00:00:00.000Z",timezone:"UTC",customerTimezone:"",manageToken:"example"};function Ca1(e,t){return e&&t?.length===0}function gI({editing:e=!1,previewConfirmation:t=!1,children:a}){let s=za1(),o=ka1(()=>Sx(new Date),[]),[r,i]=o3(),[n,l]=o3(""),[c,h]=o3(""),[p,m]=o3(o),[u,v]=o3(o),[g,f]=o3(!1),[b,x]=o3(null),[w,k]=o3(),[A,T]=o3(""),[F,M]=o3(""),[z,E]=o3(""),[N,R]=o3(""),[D,V]=o3(""),[_,B]=o3(()=>rf()),[Z,X]=o3(null),[G,$]=o3(!1),[t1,d1]=o3(!1),[r1,O]=o3(null),[K,j]=o3("");qp(()=>{j(Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC")},[]),qp(()=>{let A1=!1;return ve.listServices().then(F1=>{A1||(i(F1.results),l(F1.currency),h(k1=>k1||F1.results[0]?.id||""))}).catch(()=>{A1||i([])}),()=>{A1=!0}},[]),qp(()=>{if(g||!c)return;let A1={aborted:!1};return T(""),k(void 0),O(null),x(null),$(!0),dI(c,o,{signal:A1}).then(F1=>{if(!A1.aborted){if(F1.outcome==="found"){m(F1.date),v(F1.date),k(F1.availability);return}x(F1.outcome==="noneInWindow"?`No times are available in the next ${F1.days} days.`:"We couldn't load available times. Please try again.")}}).finally(()=>{A1.aborted||$(!1)}),()=>{A1.aborted=!0}},[g,c,o]),qp(()=>{if(!g||!c||!p)return;let A1=!1;return T(""),k(void 0),O(null),x(null),$(!0),ve.getAvailability(c,p).then(F1=>{A1||(k(F1),F1.slots.length===0&&x("No times are available on this date."))}).catch(()=>{A1||x("We couldn't load available times. Please try again.")}).finally(()=>{A1||$(!1)}),()=>{A1=!0}},[p,g,c]);let p1=r?.find(A1=>A1.id===c),r0=p1?.depositAmountDue!=null,k0=!!(!e&&!t1&&p1&&A&&F.trim()&&z.trim()&&!r0);async function g0(A1){if(A1.preventDefault(),!(!k0||!p1)){d1(!0),O(null);try{let F1=await ve.create({serviceId:p1.id,start:A,customer:{name:F.trim(),email:z.trim(),phone:N.trim()},notes:D.trim(),idempotencyKey:_,customerTimezone:K});X(F1),B(rf())}catch(F1){O(F1 instanceof E4&&F1.status===409?"That time was just booked. Choose another available time.":"Your appointment wasn't submitted. Please check your details and try again."),F1 instanceof E4&&F1.status===409&&(T(""),ve.getAvailability(p1.id,p).then(k).catch(()=>{}))}finally{d1(!1)}}}let a1=Ca1(e,r);return Ma1(uI.Provider,{value:{fieldPrefix:s,editing:e,services:a1?Cx:r,currency:a1?"AUD":n,serviceId:a1?Cx[0].id:c,setServiceId:h,service:a1?Cx[0]:p1,requiresPayment:a1?!1:r0,date:p,earliestDate:u,setDate:m,setDateTouched:f,availability:a1?Sa1(p):w,loadingSlots:a1?!1:G,noSlotsMessage:b,selectedStart:a1?`${p}T09:00:00.000Z`:A,setSelectedStart:T,customerTimezone:K,name:F,setName:M,email:z,setEmail:E,phone:N,setPhone:R,notes:D,setNotes:V,confirmation:Z??(t?Mx:null),submitting:t1,error:r1,canSubmit:a1?!1:k0,handleSubmit:g0,sample:!!a1},children:a})}import{jsx as $p,Fragment as vI,jsxs as fI}from"react/jsx-runtime";var La1="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",bI={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 _3(e){let{variant:t="primary",arrow:a,glyphBefore:s,className:o,style:r,children:i,href:n,newTab:l,...c}=e,h=`${La1} ${bI[t]??bI.primary} ${o??""}`,p=s?fI(vI,{children:[a!==null&&$p("span",{"aria-hidden":!0,className:"inline-flex",children:a??"\u2192"}),i]}):fI(vI,{children:[i,a!==null&&$p("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-[3px]",children:a??"\u2192"})]});return n?$p(h0,{href:n,className:h,style:r,...l?{target:"_blank",rel:"noopener noreferrer"}:{},children:p}):$p("button",{type:"button",className:h,style:r,...c,children:p})}import{jsx as V0,jsxs as p4}from"react/jsx-runtime";var Mi="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 Aa1(e,t){let a=Number(e);if(a===0)return fe;try{return iH(a,t)}catch{return`${t} ${e}`}}function xI(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 wI(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 Li="font-[family-name:var(--bk-name-font,var(--font-mono))] text-[length:var(--bk-name-size,12px)]";function Lx({number:e,children:t}){return p4("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 jp({eyebrow:e,heading:t,intro:a}){return p4("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 Kp({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:m,noSlotsMessage:u,selectedStart:v,setSelectedStart:g,customerTimezone:f}=l9();return a?p4("div",{className:"flex flex-col gap-10",style:e,children:[p4("div",{children:[V0(Lx,{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 p4("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}),p4("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 ",Aa1(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."})]}),p4("div",{children:[V0(Lx,{number:"02",children:"Choose a date and time"}),V0(v3,{separate:!0,htmlFor:`${t}-date`,label:"Date",required:!0,labelFace:Li,children:V0("input",{id:`${t}-date`,type:"date",min:l,value:n,onChange:b=>{h(!0),c(b.target.value)},className:Mi,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:m?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=>p4("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:xI(b.start,f||p.timezone)}),f&&f!==p.timezone&&p4("span",{className:"mt-0.5 block text-[9px] font-normal tracking-[0.08em] opacity-70",children:[xI(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&&p4("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 Yp({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:m,error:u,canSubmit:v}=l9();return p4("div",{className:"sf-card border border-line bg-bg p-5 min-[640px]:p-8",style:t,children:[V0(Lx,{number:"03",children:"Your details"}),p4("div",{className:"flex flex-col gap-4",children:[V0(v3,{separate:!0,htmlFor:`${a}-name`,label:"Name",required:!0,labelFace:Li,children:V0("input",{id:`${a}-name`,type:"text",autoComplete:"name",value:o,onChange:g=>r(g.target.value),className:Mi,required:!0})}),V0(v3,{separate:!0,htmlFor:`${a}-email`,label:"Email",required:!0,labelFace:Li,children:V0("input",{id:`${a}-email`,type:"email",inputMode:"email",autoComplete:"email",value:i,onChange:g=>n(g.target.value),className:Mi,required:!0})}),V0(v3,{separate:!0,htmlFor:`${a}-phone`,label:"Phone",labelFace:Li,children:V0("input",{id:`${a}-phone`,type:"tel",inputMode:"tel",autoComplete:"tel",value:l,onChange:g=>c(g.target.value),className:Mi})}),V0(v3,{separate:!0,htmlFor:`${a}-notes`,label:"What would you like to cover?",labelFace:Li,children:V0("textarea",{id:`${a}-notes`,rows:4,value:h,onChange:g=>p(g.target.value),className:`${Mi} 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(_3,{type:s?"button":"submit",disabled:!v,arrow:null,className:"mt-6 w-full disabled:cursor-not-allowed disabled:opacity-50",children:m?"Submitting\u2026":(e??"").trim()||"Book appointment"})]})}function Xp({successMessage:e}){let{confirmation:t,customerTimezone:a}=l9();return t?p4("div",{className:"sf-card max-w-[760px] border border-line bg-bg p-6 min-[640px]:p-10",role:"status",children:[p4("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:wI(t.startAt,t.customerTimezone||a||t.timezone)}),t.customerTimezone&&t.timezone!==t.customerTimezone&&p4("p",{className:"mt-1 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:["Business time: ",wI(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(_3,{href:`/book/${encodeURIComponent(t.manageToken)}`,newTab:t!==Mx,variant:"ghost",className:"mt-8",children:"Manage booking"})]}):null}var Jp=["step","name","value","note"],Ax={step:"Step",name:"Name",value:"Value",note:"Note"},Qp={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},yI={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 Ta1(e){return typeof e=="string"&&R6.includes(e)?e:null}var Ea1={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function zI(e){let t={};for(let a of Jp){let s=Ta1(e[Qp[a]]);if(!s)continue;let o=Wt({role:s},Ea1);o.fontFamily&&(t[yI[a].font]=o.fontFamily),o.fontSize&&(t[yI[a].size]=o.fontSize)}return t}import{jsx as cs}from"react/jsx-runtime";var kI=["head","booking","details","confirm"],SI={head:"Head",booking:"Booking",details:"Your details",confirm:"Confirmation"};function Tx({region:e,eyebrow:t,heading:a,intro:s,buttonLabel:o,successMessage:r,...i}){let{confirmation:n,services:l}=l9(),c=zI(i);return e==="head"?cs("div",{className:"min-[960px]:col-span-2",style:c,children:cs(jp,{eyebrow:t,heading:a,intro:s})}):e==="confirm"?n?cs("div",{className:"min-[960px]:col-span-2",style:c,children:cs(Xp,{successMessage:r})}):null:n||!l||l.length===0?null:e==="booking"?cs(Kp,{style:c}):e==="details"?cs(Yp,{buttonLabel:o,style:c}):null}import{useEffect as CI,useState as Ie}from"react";import{jsx as hs,jsxs as Pa1}from"react/jsx-runtime";function Q6(e,t){let[a,s]=Ie(void 0),[o,r]=Ie(0);return CI(()=>{if(t!==void 0)return;if(!e){s(null);return}let i=!1;return H0.getForm(e).then(n=>{i||s(n)}).catch(()=>{i||s(null)}),()=>{i=!0}},[t,e,o]),CI(()=>{if(t===void 0)return Vh(()=>r(i=>i+1))},[t]),t!==void 0?t:a}var Ha1="Something went wrong \u2014 your submission wasn't sent. Please try again.";function ps(e,t="Thanks \u2014 we've received your submission."){return e.successMessage?.trim()||t}function c9({form:e,formSlug:t,editing:a=!1}){let[s,o]=Ie({}),[r,i]=Ie(""),[n,l]=Ie(!1),[c,h]=Ie(!1),[p,m]=Ie(null);async function u(v){if(v.preventDefault(),!(a||n||!e||!t)){l(!0),m(null);try{let g=e.fields.map(f=>({fieldKey:f.key,value:s[f.key]??""}));await H0.submitForm(t,{answers:g,...r?{company:r}:{}}),h(!0)}catch{m(Ha1)}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 ms({value:e,onChange:t}){return hs("input",{type:"text",name:"company",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"hidden",value:e,onChange:a=>t(a.target.value)})}function h9({field:e,value:t,onChange:a,className:s,rows:o=5,placeholder:r}){let i=r??e.placeholder;return e.type==="textarea"?hs("textarea",{required:e.required,rows:o,value:t,placeholder:i,onChange:n=>a(n.target.value),className:s}):e.type==="select"?Pa1("select",{required:e.required,value:t,onChange:n=>a(n.target.value),className:s,children:[hs("option",{value:"",children:i||"Select\u2026"}),e.options.map(n=>hs("option",{value:n,children:n},n))]}):e.type==="checkbox"?hs("input",{type:"checkbox",required:e.required,checked:t==="true",onChange:n=>a(n.target.checked?"true":""),className:s}):hs("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 B0,jsxs as K3,Fragment as Va1}from"react/jsx-runtime";var Ve="solid",Ex=[{label:"Solid",value:"solid"},{label:"Outlined",value:"outlined"}];function MI(e){return z2(Ex,Ve,e)}var Hx="sf-secnum-outline",LI="font-display text-[length:var(--size-headingMedium,clamp(48px,6vw,96px))] font-medium leading-[0.8] tracking-[-0.02em]",AI=`@supports (-webkit-text-stroke: 1px currentColor){.${Hx}{color:var(--site-surface-2);-webkit-text-stroke:1px var(--site-line)}}`;import{jsx as Px,jsxs as Na1}from"react/jsx-runtime";import{jsx as Fa1}from"react/jsx-runtime";function TI(){return Fa1("span",{className:"block h-px w-[30px] bg-current"})}var Fx={labelUpTo800:"max-[800px]:text-[length:var(--size-label,12px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,14px)]"};function Ra1(e,t){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var _a1=`inline-block w-fit bg-accent px-3.5 py-1.5 font-mono ${Fx.labelSmall} font-semibold uppercase tracking-[0.16em] text-bg`,Ia1=`flex items-center gap-3.5 font-mono ${Fx.labelLarge} uppercase tracking-[0.3em] opacity-80 ${Fx.labelUpTo800} max-[800px]:tracking-[0.25em]`;function W1({text:e,look:t="plain",size:a=13,scaled:s=!0,className:o="",classNameAfter:r=""}){if(t==="line")return Na1("div",{className:[o,Ia1,r].filter(Boolean).join(" "),children:[Px(TI,{}),Px("span",{children:L(e)})]});let i=t==="filled"?_a1:Ra1(a,s);return Px("span",{className:[o,i,r].filter(Boolean).join(" "),children:L(e)})}var n2={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)]",shelfLabel:"text-[length:var(--size-label,13px)]",shelfLabelSmall:"text-[length:var(--size-label,12px)]",shelfBody:"text-[length:var(--size-body,13px)]",shelfHeadingUpTo800Xs:"max-[800px]:text-[length:var(--size-headingMedium,28px)]",shelfHeadingUpTo800Small:"max-[800px]:text-[length:var(--size-headingMedium,32px)]",shelfHeadingUpTo800Large:"max-[800px]:text-[length:var(--size-headingMedium,36px)]",shelfHeadingUpTo800Xl:"max-[800px]:text-[length:var(--size-headingMedium,40px)]",shelfHeading1:"text-[length:var(--size-headingMedium,40px)]",shelfHeading2:"text-[length:var(--size-headingMedium,48px)]",shelfHeading3:"text-[length:var(--size-headingMedium,56px)]",shelfHeading4:"text-[length:var(--size-headingMedium,64px)]"},EI=[{value:"para",label:"Paragraph size \u2014 13px",cls:`font-mono font-normal uppercase tracking-[0.22em] ${n2.shelfLabel}`},{value:"sm",label:"Small \u2014 40px",cls:`font-heading2 font-medium tracking-[-0.03em] ${n2.shelfHeading1} ${n2.shelfHeadingUpTo800Xs}`},{value:"md",label:"Medium \u2014 48px",cls:`font-heading2 font-medium tracking-[-0.03em] ${n2.shelfHeading2} ${n2.shelfHeadingUpTo800Small}`},{value:"lg",label:"Large \u2014 56px",cls:`font-heading2 font-medium tracking-[-0.03em] ${n2.shelfHeading3} ${n2.shelfHeadingUpTo800Large}`},{value:"xl",label:"Extra large \u2014 64px",cls:`font-heading2 font-medium tracking-[-0.03em] ${n2.shelfHeading4} ${n2.shelfHeadingUpTo800Xl}`}],Oa1="lg";function Ba1(e){return(EI.find(t=>t.value===e)??EI.find(t=>t.value===Oa1)).cls}var ds=(e,t=!1)=>typeof e=="string"?Y(e,t):e,Y7=(e,t=!1)=>typeof e=="string"?L(e,t):e;function p0({num:e,title:t,link:a,logo:s,description:o,accent:r,accentNum:i,numStyle:n=Ve,look:l="standard",titleAccent:c,accentTracking:h="-0.02em",spaceBelow:p,rowGap:m,descriptionSize:u,className:v="",eyebrowLook:g=lh,titleSize:f,count:b,capped:x=!1}){let w=p??(l==="editorial"?"mb-[60px]":"");if(l==="shelf")return e||t||o||a?K3("div",{className:`${J8} sticky top-[var(--sf-header-h,88px)] z-30 mb-5 flex items-center justify-between gap-4 max-[800px]:flex-wrap max-[800px]:gap-y-2 border-b border-line bg-bg/95 py-3 backdrop-blur-md ${x?"":"-mx-[var(--sf-site-gutter,40px)] px-[var(--sf-site-gutter,40px)] max-[800px]:-mx-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]"}`,children:[K3("div",{className:"flex min-w-0 items-end gap-6 max-[800px]:flex-col max-[800px]:items-stretch max-[800px]:gap-3",children:[e&&B0("span",{className:`font-mono ${n2.shelfLabel} leading-none uppercase tracking-[0.22em] text-fg-dim`,children:Y7(e)}),t&&B0("h2",{className:`${Ba1(f)} leading-none text-fg max-[800px]:leading-[1] [&>span]:block`,children:ds(t)})]}),(o||a||b)&&K3("div",{className:"flex items-center gap-5 max-[800px]:gap-3 min-[800px]:grow min-[800px]:justify-end",children:[o&&B0("span",{className:`max-w-[340px] truncate font-display ${n2.shelfBody} leading-[1.4] text-fg-dim max-[800px]:hidden min-[800px]:w-0 min-[800px]:grow min-[800px]:text-right`,children:Y7(o)}),a&&K3(h0,{href:a.href,className:`inline-flex items-center gap-2 whitespace-nowrap font-mono ${n2.shelfLabel} uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg`,children:[Y7(a.text),B0("span",{"aria-hidden":!0,children:"\u2192"})]}),b&&B0("span",{className:`whitespace-nowrap font-mono ${n2.shelfLabelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:b})]})]}):null;if(l==="editorial"){let z=!!t||!!c;return K3("header",{className:`${w} 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"?B0(W1,{text:e,className:"pb-2"}):B0("span",{className:"pb-2",children:e})),z&&K3("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&&K3(Va1,{children:[" ",B0("em",{className:"font-serif font-normal italic text-accent",style:{letterSpacing:h},children:c})]})]}),o&&B0("p",{className:`max-w-[360px] pb-1 text-right font-display ${n2.bodySmall} leading-[1.5] text-fg-dim max-[1100px]:max-w-full max-[1100px]:text-left`,children:o})]})}if(l==="simple"){let z=`${w} ${v}`.trim();return K3("div",{className:z||void 0,children:[e&&(typeof e=="string"?B0(W1,{text:e,look:g,className:"mb-4 block"}):B0("span",{className:"mb-4 block",children:e})),t&&B0("h2",{className:`font-heading2 ${n2.headingMedium2} font-medium uppercase leading-none tracking-[-0.02em] text-fg ${n2.headingMediumUpTo800Small}`,children:ds(t)})]})}if(l==="statement"){let z=`${w} ${v}`.trim();return K3("div",{className:z||void 0,children:[e&&(typeof e=="string"?B0(W1,{text:e,look:g,className:"mb-4 block"}):B0("span",{className:"mb-4 block",children:e})),t&&B0("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:ds(t,!0)})]})}if(l==="natural"){let z=`flex max-w-[680px] flex-col ${m??"gap-5"} ${w} ${v}`.replace(/\s+/g," ").trim();return K3("div",{className:z,children:[e&&(typeof e=="string"?B0(W1,{text:e,look:g}):B0("span",{children:e})),t&&B0("h2",{className:`font-heading2 ${n2.headingMedium2} font-medium leading-[1.05] tracking-[-0.03em] ${n2.headingMediumUpTo800Small}`,children:ds(t)}),o&&B0("p",{className:`${u??`${n2.bodyLarge}`} leading-[1.6] opacity-85`,children:o})]})}if(l==="essay"){let z=`${w} ${v}`.trim();return K3("div",{className:z||void 0,children:[e&&(typeof e=="string"?B0(W1,{text:e,look:g,className:"mb-4 block"}):B0("span",{className:"mb-4 block",children:e})),t&&B0("h2",{className:`font-heading2 ${n2.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 ${n2.headingSmallUpTo800}`,children:ds(t)})]})}let k=!!o||!!a,A=!!t,T=MI(n)==="outlined",F=`font-mono ${n2.label} uppercase tracking-[0.3em]`,M=null;if(e)if(T)M=B0("span",{className:`${LI} text-fg-dim ${Hx}`,children:Y7(e)});else if(i&&!r&&typeof e=="string"){let z=e.indexOf("/"),E=z===-1?e:e.slice(0,z),N=z===-1?"":e.slice(z);M=K3("span",{className:F,children:[B0("span",{className:"text-accent",children:Y7(E)}),N&&B0("span",{className:"text-fg-dim",children:Y7(N)})]})}else M=B0("span",{className:`${F} ${r?"text-accent":"text-fg-dim"}`,children:Y7(e)});return K3("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:[T&&e&&B0("style",{children:AI}),K3("div",{className:"flex flex-col items-start gap-3",children:[s?.src&&B0("img",{...Da1(n4(s.src)),alt:s.alt,className:"h-8 w-auto object-contain"}),M]}),A&&B0("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 ${n2.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 ${n2.headingMediumUpTo800Large} max-[800px]:leading-[1]`,children:ds(t)}),k&&K3("div",{className:"flex flex-col items-end gap-3 max-[800px]:items-start",children:[o&&B0("p",{className:`max-w-[340px] font-display ${n2.bodySmall} leading-[1.5] text-fg-dim text-right max-[800px]:max-w-full max-[800px]:text-left`,children:Y7(o)}),a&&K3(h0,{href:a.href,className:`inline-flex items-center gap-2 whitespace-nowrap font-mono ${n2.label} uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg`,children:[Y7(a.text),B0("span",{"aria-hidden":!0,children:"\u2192"})]})]})]})}function Da1(e){let t=r2(e,{fallbackWidth:640,maxWidth:960});return t.srcSet?{src:t.src,srcSet:t.srcSet,sizes:"240px"}:{src:e}}import{jsx as N5,jsxs as Ai}from"react/jsx-runtime";function Za1(e){return e.type==="textarea"||e.type==="select"||e.type==="checkbox"}function HI({eyebrow:e,title:t}){return Ai("div",{className:"flex flex-col gap-4",children:[e&&N5(W1,{text:e,scaled:!1}),t&&N5("h2",{className:"font-display text-[min(clamp(40px,5vw,72px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:Y(t,!0)})]})}function em({body:e,buttonLabel:t,consent:a,form:s,submission:o,showForm:r,resolving:i,editing:n}){return Ai("div",{className:"flex flex-col gap-8",children:[e&&E0(e).map((l,c)=>N5("p",{className:"max-w-[480px] font-display text-[16px] leading-[1.6] text-fg-dim",children:L(l)},c)),r&&(s?o.done?N5("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:ps(s)}):Ai("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",Za1(l)?"col-span-2":""].join(" ");return l.type==="checkbox"?Ai("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:[N5(h9,{field:l,value:o.valueOf(l.key),onChange:h=>o.set(l.key,h),className:"mt-0.5 size-4 accent-accent"}),Ai("span",{children:[l.label,l.required?N5("span",{className:"text-accent",children:" *"}):null]})]},l.key):N5(h9,{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)}),N5(ms,{value:o.honeypot,onChange:o.setHoneypot}),o.error&&N5("p",{role:"alert",className:"col-span-2 font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:o.error}),t&&N5("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":L(t)})]}):N5("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:i?d("Loading form\u2026"):d("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&&N5("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:L(a)})]})}var tm=["field","tick","thanks"],Nx={field:"Form rows",tick:"Tick label",thanks:"Thank-you message"},am={field:"styleField",tick:"styleTick",thanks:"styleThanks"},PI={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 Ga1(e){return typeof e=="string"&&R6.includes(e)?e:null}var Wa1={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function FI(e){let t={};for(let a of tm){let s=Ga1(e[am[a]]);if(!s)continue;let o=Wt({role:s},Wa1);o.fontFamily&&(t[PI[a].font]=o.fontFamily),o.fontSize&&(t[PI[a].size]=o.fontSize)}return t}import{jsx as sm}from"react/jsx-runtime";var NI=["head","form"],RI={head:"Head",form:"Form"};function Rx({region:e,eyebrow:t,title:a,body:s,buttonText:o,consent:r,formSlug:i,form:n,editing:l=!1,...c}){let h=Q6(i,n),p=c9({form:h,formSlug:i,editing:l}),m=FI(c);return e==="head"?sm("div",{style:m,children:sm(p0,{look:"statement",num:t,title:a})}):sm("div",{style:m,children:sm(em,{body:s??"",buttonLabel:o??"",consent:r??"",form:h,submission:p,showForm:!!h||l,resolving:h===void 0,editing:l})})}var Ua1={AppointmentBooking:{slot:"boxes",childType:"BookingBox",addLabel:"Add box",fixed:!0,seeds:()=>kI.map(e=>({region:e,name:SI[e]})),addBlocked:()=>d("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:()=>NI.map(e=>({region:e,name:RI[e]})),addBlocked:()=>d("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:iI},()=>({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:()=>mI.map(e=>({...e})),legacy:e=>Array.isArray(e.cards)?e.cards.map(t=>({...t})):[]}};EM(Ua1);function us(e,t){let a={};for(let s of Object.keys(e))a[s]={...e[s],...t[s]};return a}import{jsx as qa1}from"react/jsx-runtime";import{OpacityIcon as $a1}from"efficient-easel/icons";var _I={fields:{_gContent:y("Content"),eyebrow:I("Eyebrow","Limited release"),title:U("Heading","Banner headline"),body:U("Body","A line or two of supporting copy."),_gBackground:y("Background image"),imageSrc:X1("Image","image/*"),overlay:o1("Overlay",qa1($a1,{}),0,100,5,60,"%"),_gButton:y("Button"),...H5,_gLayout:y("Layout")}};var om={meta:"Trailing note"},II={label:"Breadcrumb",defaultProps:{items:[],meta:""}};var VI={fields:{_gContent:y("Content"),items:{type:"array",label:"Crumbs",arrayFields:{label:q("Label"),href:e3(q("Link"))},getItemSummary:e=>e?.label||"Crumb"},meta:I("Trailing note",om.meta)}};import{jsx as x3,jsxs as ja1}from"react/jsx-runtime";import{ButtonIcon as Ka1,ButtonIconIcon as Ya1,GroundIcon as Xa1,IconAfterTextIcon as Ja1,IconBeforeTextIcon as Qa1,StylesIcon as es1,TextColorIcon as ts1,WidthIcon as as1}from"efficient-easel/icons";import*as ss1 from"efficient-easel/icons";import{SettingsField as os1}from"efficient-easel/panel";import{useSelectedFields as DI}from"efficient-easel/easel";import{IconPicker as rs1,Segmented as is1}from"efficient-shell/ui";function rm(e){return typeof e=="boolean"?e:!0}var _x=["none","arrow-right","arrow-long-right","arrow-up-right","chevron-right","external","cart","bag","tag","email","location","play","download","search","car"];function Ix(e){return typeof e=="string"&&_x.includes(e)?e:void 0}function OI(e,t){return Ix(e)??(rm(t)?"arrow-right":"none")}function im(e){return e==="before"?"before":"after"}function BI(e){return e==="fill"?"fill":"fit"}import{NoControlMark as ns1,noControlField as ls1}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var Vx=e=>({...ls1({type:"custom",render:()=>x3(ns1,{})},"always"),reachedBy:e});function cs1(e){let t=(e==="none"?"no-symbol":e).replace(/(^|-)([a-z])/g,(s,o,r)=>r.toUpperCase()),a=ss1[`${t}Icon`];return a?x3(a,{size:16}):null}var hs1=_x.map(e=>({value:e,icon:cs1(e)}));function ps1({value:e,onChange:t}){let a=DI(),s=a.values.href,o=typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text??""):"";return x3(KA,{label:"Button",icon:x3(Ka1,{size:18}),text:o,onTextChange:t,link:typeof s=="string"?s:"",onLinkChange:r=>a.onChange("href",r)})}function ms1({value:e,onChange:t}){let a=DI(),s=OI(e,a.values.arrow),o=im(a.values.iconPosition);return x3(os1,{label:d("Icon"),icon:x3(Ya1,{size:18}),children:ja1("div",{className:"flex items-center gap-2",children:[x3(rs1,{label:d("Icon"),value:s,emptyValue:"none",options:hs1,onChange:t}),s!=="none"&&x3(is1,{size:"sm",block:!0,label:d("Icon position"),value:o,onChange:r=>a.onChange("iconPosition",r),options:[{value:"before",icon:x3(Qa1,{size:16}),label:x3("span",{className:"sr-only",children:d("Icon before text")}),title:d("Icon before text")},{value:"after",icon:x3(Ja1,{size:16}),label:x3("span",{className:"sr-only",children:d("Icon after text")}),title:d("Icon after text")}]})]})})}var ZI={fields:{label:nT(q("Button"),e=>x3(ps1,{value:e.value,onChange:e.onChange})),href:{...q1("Button link"),...Vx("label")},_dSize:n0("Size"),widthFit:f1("Width",x3(as1,{}),[{label:"Fit content",value:"fit"},{label:"Fill",value:"fill"}],"fit"),_gStyle:y("Style"),variant:f1("Style",x3(es1,{}),[{label:"Filled",value:"primary"},{label:"Outline",value:"ghost"}],"primary"),icon:{type:"custom",render:e=>x3(ms1,{value:e.value,onChange:e.onChange})},iconPosition:Vx("icon"),arrow:Vx("icon"),buttonColor:q3("Fill color",CT,x3(Xa1,{})),buttonTextColor:q3("Text color",MT,x3(ts1,{})),_dLayout:n0("Layout"),align:P5()}};import{jsx as Ox}from"react/jsx-runtime";import{ColumnsIcon as ds1,StylesIcon as WI}from"efficient-easel/icons";var gs={eyebrow:"Label",title:"Section *heading.*"},GI={label:"Cards",defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var UI={fields:{_gContent:y("Content"),eyebrow:I("Eyebrow",gs.eyebrow),eyebrowLook:y1("Eyebrow style",Ox(WI,{}),[...L5],V7("Cards")),title:U("Heading",gs.title),items:{type:"array",label:"Cards",arrayFields:{title:w1("Card title"),body:G1("Card body")},defaultItemProps:{title:"",body:""},getItemSummary:e=>e?.title||e?.body||"Card"},_gStyle:y("Style"),cardStyle:y1("Card style",Ox(WI,{}),[{label:"Cards",value:"cards"},{label:"Label only",value:"label-only"}],"cards"),columns:o1("Columns",Ox(ds1,{}),2,4,1,3)},resolveFields:(e,{fields:t,parent:a})=>{let s=e0(a0(t,a,s0),e.props.headPlacement,Y1.Cards.headRows);if(e.props.cardStyle!=="label-only")return s;let o=s.items,r=s.eyebrowLook;return{...s,...o?{items:{...o,arrayFields:{title:w1("Feature label"),href:e3(q("Link"))}}}:{},...r?{eyebrowLook:{...r,fallback:V7("KeyFeatures")}}:{}}}};import{jsx as us1}from"react/jsx-runtime";import{StickyIcon as gs1}from"efficient-easel/icons";var qI={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:q("Label"),count:q("Count")},getItemSummary:e=>e?.label?`${e.label}${e.count?` \xB7 ${e.count}`:""}`:"Tab"},activeTab:B2(e3(q("Active tab","All"))),_gLinks:y("Links"),links:{type:"array",label:"Right links",arrayFields:{label:q("Label"),href:e3(q("Link"))},getItemSummary:e=>e?.label||"Link"},_gStyle:y("Style"),sticky:i1("Stick to top",!0,us1(gs1,{}))}};import{jsx as vs1}from"react/jsx-runtime";import{StylesIcon as fs1}from"efficient-easel/icons";var vs={eyebrow:"By the numbers",title:`A picture worth
|
|
18
18
|
*a thousand rows.*`},$I={label:"Chart",defaultProps:{eyebrow:"",title:"",body:"",items:[],caption:"",chartStyle:"bars",valueSuffix:""}};var jI={fields:{_gContent:y("Content"),eyebrow:I("Chip label",vs.eyebrow),title:U("Heading",vs.title),body:U("Body",""),items:{type:"array",label:"Data points",arrayFields:{label:w1("Label"),value:q("Value")},defaultItemProps:{label:"",value:""},getItemSummary:e=>[e?.label,e?.value].filter(Boolean).join(" \xB7 ")||"Point"},caption:I("Caption","Illustrative example"),_gStyle:y("Style"),chartStyle:y1("Chart style",vs1(fs1,{}),[{label:"Bars (comparison / funnel)",value:"bars"},{label:"Line (trend)",value:"line"},{label:"Donut (split of a whole)",value:"donut"}],"bars"),valueSuffix:B2(I("Value suffix","%"))}};import{jsx as _s1}from"react/jsx-runtime";import{jsx as V1,Fragment as Zx,jsxs as g6}from"react/jsx-runtime";import{useId as ws1,useState as ys1}from"react";import{InspectorUpLevel as Ti}from"efficient-easel/chrome";import{useEasel as zs1}from"efficient-easel/easel";import{ListField as JI}from"efficient-easel/fields";import{SettingsField as QI}from"efficient-easel/panel";import{ClockIcon as KI,ContrastIcon as ks1,GlobeIcon as Ss1,LinkIcon as Cs1,LocationIcon as Ms1,PhoneIcon as Ls1,SquareIcon as As1,TypeIcon as Gx}from"efficient-easel/icons";import{useSectionOps as Ts1}from"efficient-easel/screen/lib/puck/use-section-ops";import{ROOT_ZONE as Es1}from"efficient-easel/draw";var bs1=["tall","square","wide"],xs1="tall";function nm(e){return bs1.includes(String(e??""))?String(e):xs1}var C2={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",mapTheme:"auto"},fs=[{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:""},{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
@@ -2669,7 +2669,8 @@ span:has(> .es-fnum) { display: flex; min-width: 0; }
|
|
|
2669
2669
|
width: var(--es-left-w, 288px);
|
|
2670
2670
|
box-sizing: border-box;
|
|
2671
2671
|
height: 100%;
|
|
2672
|
-
|
|
2672
|
+
/* No hairline up through the bar since 2026-10-25 (owner): the bar draws no
|
|
2673
|
+
vertical line; the panel below keeps its own edge. */
|
|
2673
2674
|
}
|
|
2674
2675
|
.es-cluster--rail {
|
|
2675
2676
|
/* \`flex: none\` IS THE WIDTH. The bar is a flex row, so \`width\` alone is only a
|