efficient-storefront-blocks 0.51.0 → 0.52.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.
@@ -1,255 +0,0 @@
1
- import{$ as ys,A as $o,Aa as mu,B as _t,C as Dt,Ca as Ga,Da as xu,E as eu,Ea as Iu,H as Ar,J as ou,Ja as hu,K as gs,L as tu,N as ru,O as au,Q as nu,R as bs,T as lu,U as oo,V as lt,W as su,X as Io,Y as Wa,_ as iu,a as qd,c as jd,ca as fu,d as no,da as Ss,e as At,f as Po,fa as Cs,g as za,h as Yd,ja as cu,l as Rr,n as Is,pa as st,ra as du,s as Xd,t as Zd,ta as uu,u as hs,v as Qe,va as pu,w as Qd,x as Jd,y as Bt,z as xo,za as X}from"./chunk-H2GMJL72.js";import{a as $d,b as ao,i as Kd,j as Or,k as Vd,n as gu,r as vs}from"./chunk-QISNU4TH.js";var Ua=null,MC="en",yu=null;function c2(e,o,t){Ua=e??null,MC=o||"en",yu=t??null}function j(){return yu}function Su(){return Ua}function bu(e,o){return o?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,r)=>Object.prototype.hasOwnProperty.call(o,r)?String(o[r]):t):e}function l(e,o){let t=Ua?Ua[e]:void 0;if(typeof t=="function"){try{let r=t(o??{});if(typeof r=="string"&&r)return r}catch{}return bu(e,o)}return bu(typeof t=="string"&&t?t:e,o)}function it(e,o,t,r){return l(t===1?e:o,{...r,n:t})}import{hostLoadRefusalOf as HC,hostUnreachableMessage as zC,isBackendError as WC,provideHostFailures as GC,readHostFailure as UC,STATUS_UNREACHABLE as $C,WebsiteBackendError as ws}from"efficient-easel/screen/lib/backend-error";function Le(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return typeof t=="string"&&t?t:o}return o}function Cu(e,o){return typeof e=="number"&&Number.isFinite(e)?e:o}function vu(e,o){return typeof e=="boolean"?e:o}function $a(e,o){if(!Array.isArray(e))return o;let t=e.map(r=>typeof r=="string"?r:Le(r?.text,"")).map(r=>r.trim()).filter(Boolean);return t.length?t:o}var wu="cart-drawer",g2="cart-drawer";var qC={kickerBadge:"",kickerText:"Your order",titleLead:"Your",titleAccent:"cart.",subtitleEmpty:"Empty for now.",subtitleOne:"One set in your cart.",subtitleMany:"{count} sets in your cart.",leadTimeValue:"",shipsToFallback:"",promises:[],emptyKicker:"No wheels yet",emptyBody:"Your cart is empty. Pick a wheel to get started."};function b2(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function y2(e){let o=e??{},t=qC;return{kickerBadge:Le(o.kickerBadge,t.kickerBadge),kickerText:Le(o.kickerText,t.kickerText),titleLead:Le(o.titleLead,t.titleLead),titleAccent:Le(o.titleAccent,t.titleAccent),subtitleEmpty:Le(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:Le(o.subtitleOne,t.subtitleOne),subtitleMany:Le(o.subtitleMany,t.subtitleMany),leadTimeValue:Le(o.leadTimeValue,t.leadTimeValue),shipsToFallback:Le(o.shipsToFallback,t.shipsToFallback),promises:$a(o.promises,t.promises),emptyKicker:Le(o.emptyKicker,t.emptyKicker),emptyBody:Le(o.emptyBody,t.emptyBody)}}var Tu="consent-banner",v2="consent-banner";var jC=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],w2="Layout",ku={layout:"bar"},KC=e=>jC.some(o=>o.value===e);function k2(e){let o=Le((e??{}).layout,ku.layout);return{layout:KC(o)?o:ku.layout}}var VC=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],E2={meta:"Meta line",eyebrow:"Eyebrow",heading:"Heading",body:"Body",statName:"Stat name",statValue:"Stat value",formEyebrow:"Form eyebrow",formHeading:"Form heading",formIntro:"Form intro",fieldLabel:"Field label",option:"Option",finePrint:"Fine print",dismiss:"Dismiss link",doneHeading:"Success heading",doneBody:"Success message"},YC={meta:"styleMeta",eyebrow:"styleEyebrow",heading:"styleHeading",body:"styleBody",statName:"styleStatName",statValue:"styleStatValue",formEyebrow:"styleFormEyebrow",formHeading:"styleFormHeading",formIntro:"styleFormIntro",fieldLabel:"styleFieldLabel",option:"styleOption",finePrint:"styleFinePrint",dismiss:"styleDismiss",doneHeading:"styleDoneHeading",doneBody:"styleDoneBody"},P2={meta:{font:"--pp-meta-font",size:"--pp-meta-size"},eyebrow:{font:"--pp-eyebrow-font",size:"--pp-eyebrow-size"},heading:{font:"--pp-heading-font",size:"--pp-heading-size"},body:{font:"--pp-body-font",size:"--pp-body-size"},statName:{font:"--pp-statname-font",size:"--pp-statname-size"},statValue:{font:"--pp-statvalue-font",size:"--pp-statvalue-size"},formEyebrow:{font:"--pp-formeyebrow-font",size:"--pp-formeyebrow-size"},formHeading:{font:"--pp-formheading-font",size:"--pp-formheading-size"},formIntro:{font:"--pp-formintro-font",size:"--pp-formintro-size"},fieldLabel:{font:"--pp-fieldlabel-font",size:"--pp-fieldlabel-size"},option:{font:"--pp-option-font",size:"--pp-option-size"},finePrint:{font:"--pp-fineprint-font",size:"--pp-fineprint-size"},dismiss:{font:"--pp-dismiss-font",size:"--pp-dismiss-size"},doneHeading:{font:"--pp-doneheading-font",size:"--pp-doneheading-size"},doneBody:{font:"--pp-donebody-font",size:"--pp-donebody-size"}};function XC(e){return typeof e=="string"&&Po.includes(e)?e:null}function Fu(e){let o={};for(let t of VC){let r=XC(e[YC[t]]);r&&(o[t]=r)}return o}var Nt="site-footer";var O2=Nt,R2={desktop:!0,tablet:!0,mobile:!0},A2={desktop:!1,tablet:!1,mobile:!1},ks=1,Eu=6,B2=Array.from({length:Eu-ks+1},(e,o)=>ks+o),qa={desktop:6,tablet:3,mobile:2},ZC={2:{desktop:2,tablet:2,mobile:1},3:{desktop:3,tablet:3,mobile:1},4:{desktop:4,tablet:2,mobile:2},5:{desktop:5,tablet:3,mobile:2},6:{desktop:6,tablet:3,mobile:2}},ft=e=>Math.min(Math.max(Math.round(e),ks),Eu);function _2(e){if(typeof e=="number")return ZC[ft(e)]??{desktop:ft(e),tablet:ft(e),mobile:ft(e)};if(e&&typeof e=="object"){let o=e;return{desktop:ft(o.desktop??qa.desktop),tablet:ft(o.tablet??qa.tablet),mobile:ft(o.mobile??qa.mobile)}}return{...qa}}var QC="subscribe-popup",G2="subscribe-popup";var JC=[QC,Nt,wu,Tu];function Ou(e){return JC.includes(e)}var ev=["delay","scroll","exit"],ov=["all","chosen"],tv=["visit","days","never"],rv=["right","left"],av={min:0,max:60},nv={min:10,max:90},lv={min:1,max:90},Fs={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
2
- *Highlight line*`,deck:"Add a sentence or two of supporting copy.",stats:[{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"}],formLabel:"Section label",formHeading:"Main heading *highlight*",formIntro:"Add a sentence or two of supporting copy.",firstNameLabel:"Field label",firstNamePlaceholder:"Placeholder",emailLabel:"Field label",emailPlaceholder:"Placeholder",interestsLabel:"Field label",interests:["Option one","Option two","Option three"],frequencyLabel:"Field label",frequencies:["Option one","Option two","Option three"],submitText:"Button label",finePrint:"Fine print",dismissText:"Dismiss link",emailInvalidText:"Enter a valid email address.",submitErrorText:"Could not subscribe right now. Please try again.",successHeading:"Main heading *highlight*",successBody:"Add a sentence or two of supporting copy \u2014 the {email} and {issue} tokens are substituted here.",keepBrowsingText:"Button label",autoOpen:!1,autoOpenDelaySec:15,formSlug:"",trigger:"delay",scrollPercent:50,showOn:"all",showOnPages:[],hideAfter:"days",hideDays:7,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},Ie=Le,sv=Cu,Pu=vu,Ru=$a;function ja(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function Ts(e,o,t){let r=sv(e,t);return Math.min(o.max,Math.max(o.min,Math.round(r)))}function iv(e){return typeof e.hideAfter=="string"?ja(tv,e.hideAfter,Fs.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":Fs.hideAfter}function fv(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function Lu(e,o){if(e==null)return o;let t=r=>r.trim()?r:"";if(typeof e=="string")return t(e);if(typeof e=="object"&&"text"in e){let r=e.text;return typeof r=="string"?t(r):""}return o}function cv(e,o){return Array.isArray(e)?Ru(e,[]):o}function dv(e,o){return Array.isArray(e)?e.map(t=>{let r=t??{};return{label:Ie(r.label,""),value:Ie(r.value,"")}}).filter(t=>t.label||t.value):o}function U2(e){let o=e??{},t=Fs;return{metaLabel:Ie(o.metaLabel,t.metaLabel),issueLabel:Lu(o.issueLabel,t.issueLabel),issueNumber:Lu(o.issueNumber,t.issueNumber),kicker:Ie(o.kicker,t.kicker),heading:Ie(o.heading,t.heading),deck:Ie(o.deck,t.deck),stats:dv(o.stats,t.stats),formLabel:Ie(o.formLabel,t.formLabel),formHeading:Ie(o.formHeading,t.formHeading),formIntro:Ie(o.formIntro,t.formIntro),firstNameLabel:Ie(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:Ie(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:Ie(o.emailLabel,t.emailLabel),emailPlaceholder:Ie(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:Ie(o.interestsLabel,t.interestsLabel),interests:Ru(o.interests,t.interests),frequencyLabel:Ie(o.frequencyLabel,t.frequencyLabel),frequencies:cv(o.frequencies,t.frequencies),submitText:Ie(o.submitText,t.submitText),finePrint:Ie(o.finePrint,t.finePrint),dismissText:Ie(o.dismissText,t.dismissText),emailInvalidText:Ie(o.emailInvalidText,t.emailInvalidText),submitErrorText:Ie(o.submitErrorText,t.submitErrorText),successHeading:Ie(o.successHeading,t.successHeading),successBody:Ie(o.successBody,t.successBody),keepBrowsingText:Ie(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:Pu(o.autoOpen,t.autoOpen),autoOpenDelaySec:Ts(o.autoOpenDelaySec,av,t.autoOpenDelaySec),trigger:ja(ev,o.trigger,t.trigger),scrollPercent:Ts(o.scrollPercent,nv,t.scrollPercent),showOn:ja(ov,o.showOn,t.showOn),showOnPages:fv(o.showOnPages),hideAfter:iv(o),hideDays:Ts(o.hideDays,lv,t.hideDays),formSide:ja(rv,o.formSide,t.formSide),valuePanelOnPhone:Pu(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:Fu(o)}}import{jsx as Es,Fragment as uv,jsxs as pv}from"react/jsx-runtime";import{createContext as mv,useContext as xv}from"react";var Iv={mirrorHostStyles:!0,css:null,fontHrefs:[]},Au=mv(Iv);function K2({value:e,children:o}){return Es(Au.Provider,{value:e,children:o})}function Ps(){return xv(Au)}function Bu(){let{css:e,fontHrefs:o}=Ps();return pv(uv,{children:[o.map(t=>Es("link",{rel:"stylesheet",href:t},t)),e?Es("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as hv}from"react/jsx-runtime";import{createContext as gv,useContext as bv}from"react";var _u=gv(void 0);function Z2({metadata:e,children:o}){return hv(_u.Provider,{value:e,children:o})}var Du=()=>bv(_u);import{jsx as Se,Fragment as FC,jsxs as us}from"react/jsx-runtime";import{useCallback as Na,useEffect as Fo,useRef as HM,useState as zM}from"react";import{Button as WM,Tooltip as GM}from"efficient-shell/ui";import{SettingsSwitch as UM}from"efficient-easel/panel";import{PagesIcon as $M,StylesIcon as qM}from"efficient-easel/rail";import{PaletteIcon as jM}from"efficient-shell/icons/efficient";import{TemplateIcon as KM}from"efficient-easel/icons";import{Subtree as VM,TreeRow as EC}from"efficient-easel/tree";import{useEasel as YM}from"efficient-easel/easel";import{useEaselStrings as PC}from"efficient-easel/strings";import{createContext as yv,useContext as Sv}from"react";var Ls=yv(!1),eH=()=>Sv(Ls);import{jsx as fe,Fragment as mh,jsxs as cl}from"react/jsx-runtime";import{Fragment as bL,useEffect as yL,useId as SL,useMemo as xh,useState as lr}from"react";import{ScreenDocumentContext as Mt,ScreenDocumentProvider as rH,useScreenDocument as ye}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as dl}from"efficient-easel/draw/client";import{default as Ka,PanelHideButton as Os,PanelModeExit as lH,PanelShowStrip as sH}from"efficient-easel/screen/components/SidePanelHead";import{jsx as Z,jsxs as wt,Fragment as ar}from"react/jsx-runtime";import{useEasel as sh}from"efficient-easel/easel";import{useState as Hf}from"react";import{jsx as Qt,jsxs as Jx,Fragment as xE}from"react/jsx-runtime";import{useState as eI}from"react";import{SettingsDefaultReset as IE,SettingsField as hE}from"efficient-easel/panel";import{useEaselStrings as gE}from"efficient-easel/strings";import{AddIcon as bE}from"efficient-easel/icons";import{jsx as I,jsxs as Ct,Fragment as _o}from"react/jsx-runtime";import{cloneElement as px,useId as c0,useRef as Wi,useState as Pn}from"react";import{useEasel as Yr,useSelectedFields as mx}from"efficient-easel/easel";import{readHidable as Qo,hidableText as d0}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as Gi,LINK_FIELD_MARKER as u0,MEDIA_FIELD_MARKER as p0,SCAFFOLD_FIELD_MARKER as m0,TEXT_FIELD_MARKER as Bo,foldMetaOf as Do,textFieldIdentifier as lW}from"efficient-easel/draw";import{jsx as Uu}from"react/jsx-runtime";import{useCallback as Tv,useEffect as Fv,useRef as Ev,useState as Pv}from"react";import{useEasel as Lv}from"efficient-easel/easel";import{SettingsAction as Ov}from"efficient-easel/panel";function Rs(e){return typeof e=="number"&&Number.isFinite(e)}function cH(e,o){if(!Rs(e))return;let t=Wa(Io(e));if(Object.keys(t).length===0)return;let r=t[Va];if(typeof r!="string")return t;let a=Br(o)?_r(r,Lo(o)??[]):r;return{...t,[Cv]:a}}var Cv="--sf-section-radius",Va="--sf-card-radius",ct=["tl","tr","br","bl"];function Lo(e){if(!Array.isArray(e))return null;let o=e.filter(t=>ct.includes(t));return ct.filter(t=>o.includes(t))}function Br(e){let o=Lo(e);return o!==null&&o.length<ct.length}function _r(e,o){return ct.map(t=>o.includes(t)?e:"0").join(" ")}var Nu=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var vv="--sf-card-box-radius",wv="--sf-site-card-radius",mH="sf-section-bleeds";function As(e){return typeof e=="number"&&Number.isFinite(e)}function xH(e,o){if(!As(e))return;let t=Wa(Io(e))[Va];if(typeof t!="string")return;let r=Br(o)?_r(t,Lo(o)??[]):t;return{[vv]:r}}function IH(e){let o=e[Va];return typeof o=="string"?{[wv]:o}:{}}function Mu(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let r=t.props?.cardCorners,a=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:r,cardCornerSides:a}})}import{locateNode as kv}from"efficient-easel/draw";function Dr(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function Ya(e,o,t){let r=Dr(t?.zone),a=r?kv(e,o,r.ownerId):null;return a&&r?{...a,slot:r.slot}:null}function Hu(e,o,t){let r=Ya(e,o,t),a=r?.slot??"",n=r&&Array.isArray(r.item.props[a])?r.item.props[a]:[],s=t?.index??-1,i=s>=0?n[s]:void 0,f=i?.props?.id?String(i.props.id):"",u=Math.max(n.length-1,0);return!r||!f?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:u}:As(i?.props?.cardCorners)?{can:!0,others:u,zone:r.zone,index:r.index,data:{...r.item,props:{...r.item.props,[a]:Mu(n,f)}}}:{can:!1,reason:"unset",others:u}}function zu(e){return e.can?it("Gives the other card this card's Corners.","Gives the other {n} cards this card's Corners.",e.others):e.reason==="alone"?l("This is the only card in the section."):e.reason==="unset"?l("Set this card's corners first."):l("This card is not in a section that can share corners.")}function Wu(e){return it("Applied to {n} card","Applied to {n} cards",e)}function Gu(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as qo}from"efficient-easel/screen/lib/puck/use-section-ops";var Rv=2200,Av="apply-corners-to-siblings",Bv="Apply to all cards";function _v({plan:e,doneCount:o,onPress:t}){return Uu(Ov,{id:Av,label:l(Bv),note:zu(e),disabled:!e.can,done:o!==null,doneLabel:Wu(o??0),onPress:t})}function $u(){let{appState:e,config:o}=Lv(f=>f),t=qo(),[r,a]=Pv(null),n=Ev(null);Fv(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Hu(o,e.data.content??[],e.ui.itemSelector),i=Tv(()=>{Gu(s,t.replaceComponent),s.can&&(a(s.others),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>a(null),Rv))},[s,t]);return Uu(_v,{plan:s,doneCount:r,onPress:i})}var qu=1;function Dv(e){return Io(e)}function _H(e){let o=Dv(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var ju=1,Ku="Corners";function Nv(e){return Io(e)}function HH(e,o){let t=Nv(e);if(t===null)return null;let r=`${t}px`;return{borderRadius:Br(o)?_r(r,Lo(o)??[]):r}}var Oo={twoAcross:{label:"Two across",across:2,acrossPhone:2,desktop:[[6,1],[6,1]],phone:[[3,1],[3,1]]},zigzag:{label:"Zigzag",across:2,acrossPhone:2,desktop:[[8,1],[4,1],[4,1],[8,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},brick:{label:"Brick",across:2,acrossPhone:2,desktop:[[5,1],[7,1],[7,1],[5,1]],phone:[[2,1],[4,1],[4,1],[2,1]]},twoTall:{label:"Two tall",across:2,acrossPhone:2,desktop:[[6,2],[6,2]],phone:[[3,2],[3,2]]},offsetTall:{label:"Offset tall",across:2,acrossPhone:2,desktop:[[5,2],[7,1],[3,1],[4,1]],phone:[[3,2],[3,1],[3,1]]},ladder:{label:"Ladder",across:2,acrossPhone:2,desktop:[[3,2],[9,1],[5,1],[4,1]],phone:[[2,2],[4,1],[2,1],[2,1]]},threeAcross:{label:"Three across",across:3,acrossPhone:3,desktop:[[4,1],[4,1],[4,1]],phone:[[2,1],[2,1],[2,1]]},bigLeft:{label:"Big left",across:3,acrossPhone:3,desktop:[[6,1],[3,1],[3,1]],phone:[[4,1],[1,1],[1,1]]},bigRight:{label:"Big right",across:3,acrossPhone:3,desktop:[[3,1],[3,1],[6,1]],phone:[[1,1],[1,1],[4,1]]},threeStagger:{label:"Three stagger",across:3,acrossPhone:3,desktop:[[5,1],[4,1],[3,1],[3,1],[4,1],[5,1]],phone:[[3,1],[2,1],[1,1],[1,1],[2,1],[3,1]]},threeLadder:{label:"Three ladder",across:3,acrossPhone:3,desktop:[[3,1],[4,1],[5,1],[5,1],[4,1],[3,1]],phone:[[1,1],[2,1],[3,1],[3,1],[2,1],[1,1]]},tallMiddle:{label:"Tall middle",across:3,acrossPhone:3,desktop:[[4,1],[4,2],[4,1],[4,1],[4,1]],phone:[[2,1],[2,2],[2,1],[2,1],[2,1]]},fourAcross:{label:"Four across",across:4,acrossPhone:2,desktop:[[3,1],[3,1],[3,1],[3,1]],phone:[[3,1],[3,1]]},bigFirst:{label:"Big first",across:4,acrossPhone:2,desktop:[[6,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},fourStagger:{label:"Four stagger",across:4,acrossPhone:2,desktop:[[4,1],[3,1],[2,1],[3,1],[2,1],[3,1],[4,1],[3,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},tallFirst:{label:"Tall first",across:4,acrossPhone:2,desktop:[[3,2],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[3,2],[3,1],[3,1]]},oneThenFour:{label:"One then four",across:4,acrossPhone:2,desktop:[[12,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},sixAcross:{label:"Six across",across:6,acrossPhone:3,desktop:[[2,1],[2,1],[2,1],[2,1],[2,1],[2,1]],phone:[[2,1],[2,1],[2,1]]},sixStagger:{label:"Six stagger",across:6,acrossPhone:6,desktop:[[3,1],[2,1],[1,1],[2,1],[1,1],[3,1],[1,1],[3,1],[2,1],[2,1],[1,1],[3,1]],phone:[[1,1],[1,1],[1,1],[1,1],[1,1],[1,1]]}},Bs=Object.keys(Oo),Yu=[2,3,4,6];function Xu(e){return typeof e!="string"||e===""?null:Oo[e]??null}function Vu(e,o){return o?6/e.acrossPhone:12/e.across}var Mv="sf-wall--";function Hv(e){return`${Mv}${e}`}function WH(e){let o=Oo[e],t=`.${Hv(e)}`,r=[],a=(n,s)=>{let i=[],f=n.length;n.forEach(([u,p],m)=>{i.push(`${t} > :nth-child(${f}n+${m+1}){grid-column:span ${u};grid-row:span ${p}}`)});for(let u=1;u<f;u+=1)i.push(`${t}:has(> :nth-child(${f}n+${u}):last-child) > :nth-last-child(-n+${u}){grid-column:span ${s};grid-row:span 1}`);return i};return r.push(`${t}{grid-template-columns:repeat(12,minmax(0,1fr))}`),r.push(...a(o.desktop,Vu(o,!1))),r.push("@media (max-width:800px){"),r.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),r.push(...a(o.phone,Vu(o,!0))),r.push("}"),r.join("")}var Xa=12,Zu=1,zv=3;var Wv=3;function _s(e,o,t){let r=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(r)?Math.min(t,Math.max(o,Math.trunc(r))):null}function Gv(e){return _s(e,1,Xa)??Wv}function $H(e,o){return _s(e,Zu,zv)??(Gv(o)===4?2:Zu)}function qH(e){return e==null||e===""?null:_s(e,1,Xa)}var jH="data-sf-span";function KH(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(Xu(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}var ho=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],Za="bottom-left";var Qa={"top-left":"Top left","top-center":"Top center","top-right":"Top right",left:"Left",center:"Center",right:"Right","bottom-left":"Bottom left","bottom-center":"Bottom center","bottom-right":"Bottom right"};function Uv(e){let o=ho.indexOf(dt(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function $v(e){return 1+Uv(e).band*6}function YH(e){return $v(e)+1}function dt(e){return ho.includes(e)?e:Za}function XH(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(o)))}function ZH(e,o=60){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(30,Math.min(100,Math.round(t)))}function Ds(e,o){let t=dt(o);return e.filter(r=>dt(r?.props?.placement)===t).length}function Qu(e){return`${Qa[dt(e)]} already holds 4 boxes. Move one somewhere else first.`}function Ns(e,o){let t=e.filter(r=>r?.props?.id!==o);return ho.map(r=>{let a=Ds(t,r)>=4,n=Qa[r];return a?{value:r,label:n,disabled:!0,title:Qu(r)}:{value:r,label:n}})}function Ja(e,o){let t=o===void 0?Za:dt(o?.props?.placement);return Ds(e,t)>=4?Qu(t):null}var en="HeroGroup";function qv(e){return ho.map(o=>{let t=Ds(e,o);return{anchor:o,total:t,hidden:t-4}}).filter(o=>o.hidden>0)}function Ms(e){let o=qv(e);return o.length===0?null:o.map(({anchor:t,total:r,hidden:a})=>{let n=Qa[t],s=a===1?"1 is not shown":`${a} are not shown`;return`${n} holds ${r} boxes. The published page draws the first 4, so ${s}. ${a===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function Ju(e,o){let t=o;if(t?.type!==en)return null;let r=t.props?.id===void 0?"":String(t.props.id);return r?Ja(Hs(e,r),t):null}function Hs(e,o){let t=op(e,o);return t&&t.ownerType===Kv?t.siblings:[]}function ep(e,o){let t=op(e,o);return t?t.ancestorTypes.filter(r=>r===en).length:jv}var jv=1,Kv="HeroSlide";function op(e,o){let t=a=>Array.isArray(a)&&a.length>0&&a.every(n=>!!n&&typeof n=="object"&&typeof n.type=="string"),r=(a,n,s)=>{if(n>12||!a||typeof a!="object")return null;if(t(a)){if(a.some(i=>i?.props?.id===o))return{siblings:a,ownerType:s.at(-1)??null,ancestorTypes:s};for(let i of a){let f=i.type,u=r(i,n+1,[...s,String(f)]);if(u)return u}return null}for(let i of Object.values(a)){let f=r(i,n+1,s);if(f)return f}return null};return r(e,0,[])}import{jsx as Vv}from"react/jsx-runtime";var Yv="sf-hint-keep";function tp({children:e}){return Vv("span",{className:Yv,children:e})}import{AdjustIcon as x0,AlignLeftIcon as I0,EyeIcon as h0,AlignSeparateIcon as g0,AnimationIcon as xx,BackgroundIcon as b0,BorderAllIcon as y0,BlockSectionIcon as S0,CartIcon as C0,ColumnWidthsIcon as Ix,ColumnsIcon as v0,CornerIcon as w0,DirectionDownIcon as k0,DirectionLeftIcon as T0,DirectionRightIcon as F0,DirectionUpIcon as E0,DollarIcon as P0,FinishIcon as L0,GapIcon as hx,GridIcon as O0,GroundIcon as R0,HashIcon as gx,HeightIcon as A0,ImageIcon as B0,ListIcon as _0,LocationIcon as zi,PaddingAllIcon as D0,PaddingBottomIcon as bx,PaddingLeftIcon as yx,PaddingRightIcon as Sx,PaddingTopIcon as Cx,PageIcon as vx,PhoneIcon as N0,PlacementIcon as M0,ProductSizeIcon as H0,StickyIcon as z0,RotateIcon as W0,SquareIcon as G0,TypeIcon as U0,WidthIcon as $0,WrapIcon as q0}from"efficient-easel/icons";import{jsx as J,Fragment as go,jsxs as bo}from"react/jsx-runtime";import{TitleIcon as Xv,ButtonIcon as Zv,DollarIcon as Qv,HashIcon as Jv,LinkIcon as ew,NoteIcon as ow,TagIcon as tw,TextLinesIcon as rw}from"efficient-easel/icons";var rp={body:rw,button:Zv,link:ew,label:tw,number:Jv,price:Qv,note:ow,title:Xv},ap={eyebrow:bo(go,{children:[J("path",{d:"M5 6.5h5"}),J("path",{d:"M5 12.5h14"}),J("path",{d:"M5 18h11"})]}),heading:bo(go,{children:[J("path",{d:"M6.5 5v14"}),J("path",{d:"M17.5 5v14"}),J("path",{d:"M6.5 12h11"})]}),intro:bo(go,{children:[J("path",{d:"M4 5.5v13"}),J("path",{d:"M8 7.5h12"}),J("path",{d:"M8 12h12"}),J("path",{d:"M8 16.5h8"})]}),value:bo(go,{children:[J("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),J("path",{d:"M6.5 12h7"})]}),name:bo(go,{children:[J("path",{d:"M6 3.5v17"}),J("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:bo(go,{children:[J("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),J("path",{d:"M4 10.5h16"}),J("path",{d:"M9 3.2v4.4"}),J("path",{d:"M15 3.2v4.4"})]}),caption:bo(go,{children:[J("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),J("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),J("path",{d:"M6.5 19.5h11"})]}),quote:bo(go,{children:[J("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),J("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:bo(go,{children:[J("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),J("path",{d:"M8 9.5h8"}),J("path",{d:"M12 9.5v5"})]}),meta:bo(go,{children:[J("path",{d:"M4 7h16"}),J("path",{d:"M4 14h3.5"}),J("path",{d:"M10.5 14h3"}),J("path",{d:"M17 14h3"})]})};function zs({noun:e,size:o=14,strokeWidth:t=1.8,className:r,style:a}){let n=rp[e];return n?J("span",{className:r,style:{display:"inline-flex",...a},"aria-hidden":"true",children:J(n,{size:o})}):J("svg",{className:r,style:a,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:ap[e]})}var r5=Object.keys(rp);var a5=Object.keys(ap);var aw="#ffffff",nw=/^#[0-9a-fA-F]{6}$/;function Ws(e){return lw(e)?e:aw}function lw(e){return typeof e=="string"&&nw.test(e)}function l5(e){return{"--bg":Ws(e)}}var Gs=[{role:"bg",token:"--bg",ink:!1},{role:"fg",token:"--fg",ink:!0},{role:"surface",token:"--site-surface",ink:!1},{role:"surface-2",token:"--site-surface-2",ink:!1},{role:"line",token:"--site-line",ink:!0},{role:"muted",token:"--fg-dim",ink:!0}],sw=Gs.filter(e=>e.ink);function iw(e){let o={color:e.fg};for(let{role:t,token:r}of sw)o[r]=e[t];return o}var fw={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},np=Object.freeze(iw(fw));var on=-1,cw="sf-section-accent",lp="Color",sp=new Set(["CategoryBar","DocTabs"]),c5=new Set(["Flex"]),dw=0;function Us(e){return e===on?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:dw}function d5(e){return e??on}function uw(e){let o=`--theme-preset-${e}`,t={"--sf-sec-accent":`var(${o}-accent)`,"--sf-sec-accent-2":`var(${o}-accent-2)`,"--sf-sec-accent-ink":`var(${o}-accent-ink)`};for(let{role:r}of Gs)t[`--sf-sec-${r}`]=`var(${o}-${r}, var(--theme-${r}))`;return t}function u5(e){let o=Us(e.sectionAccent);return o===null?null:{className:cw,style:uw(o)}}var pw=["fade","rise","scale"],$s="none",ip=[{label:"None",value:$s},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function x5(e){return pw.includes(e)?e:null}var fp="data-sf-anim",Nr="data-sf-anim-state";function I5(e){let o=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(fp))return o;let t=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<t)return o;e.setAttribute(Nr,"armed");let r=new IntersectionObserver(a=>{for(let n of a)if(n.isIntersecting){r.disconnect(),mw(e);break}},{threshold:0});return r.observe(e),()=>{r.disconnect(),e.removeAttribute(Nr)}}function mw(e){if(!e.getAttribute(fp))return;e.removeAttribute(Nr),e.offsetWidth,e.setAttribute(Nr,"play");let o=t=>{t.target===e&&(e.removeAttribute(Nr),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}var h5=sp;function js(e,o){let t=e?.content;if(!Array.isArray(t))return null;for(let r of t){if(!r||typeof r!="object")continue;let a=r.props;if(a?.id===o)return null;if(qs(r,o,0))return a??{}}return null}function qs(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(a=>qs(a,o,t+1));let r=e.props;return r&&typeof r=="object"&&r.id===o?!0:Object.values(e).some(a=>qs(a,o,t+1))}import{SettingsDefaultReset as qe,SettingsField as ne,SettingsGroupHead as j0,SettingsGroupSub as K0,SettingsBorder as V0,SettingsSegmented as Y0,SettingsSides as X0,SettingsSidesEach as wx,sidesStartEach as Z0,SettingsSwitch as kx,borderSides as Q0,borderStartEach as J0}from"efficient-easel/panel";import{FieldSelect as eF,ListField as oF}from"efficient-easel/fields";import{DisplayChips as tF}from"efficient-shell/ui";function Ht(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,r]of Object.entries(e))typeof r=="boolean"&&(o[t]=r);return o}function tn(e,o){return Ht(e)[o]!==!1}function Ks(e,o,t){let r=Ht(o)[t];return typeof r=="boolean"?r:tn(e,t)}function cp(e){return Object.values(Ht(e)).some(o=>o===!1)}function dp(e){return Object.keys(Ht(e)).length>0}function up(e,o,t){let r={...Ht(e)};return t?delete r[o]:r[o]=!1,Object.keys(r).length?r:void 0}function pp(e,o,t){return{...Ht(e),[o]:t}}function y5(e,o,t){let r=tn(e,t),a=Ks(e,o,t);return r&&a?"":!r&&!a?"hidden":r?"max-[720px]:hidden":"min-[720px]:hidden"}import{AlignmentGrid as rF,Checkbox as kW,CornersInput as aF,DateTimePicker as nF,FOCAL_DEFAULT as TW,PictureTiles as Tx,Slider as lF,Tooltip as Fx}from"efficient-shell/ui";import{jsx as ut,jsxs as Iw}from"react/jsx-runtime";import{ColorPicker as hw,HexInput as gw}from"efficient-shell/ui";import{SettingsDefaultReset as bw,SettingsField as yw}from"efficient-easel/panel";import{typedHex as Vs}from"efficient-easel/pick";import{typedHex as xw}from"efficient-easel/pick";function mp(e){let o=new Set,t=[];return Qe(e).themes.forEach((r,a)=>{let n=[[l("Theme {n} main color",{n:a+1}),r.accent],[l("Theme {n} text color",{n:a+1}),r.text],[l("Theme {n} background",{n:a+1}),r.background]];for(let[s,i]of n){let f=i?xw(i):null;!f||o.has(f)||(o.add(f),t.push({name:s,value:f}))}}),t}function to({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,after:s,ariaLabel:i}){return ut(Cw,{value:e,onChange:o,label:l(i??t),id:r,caption:a,inherited:n,after:s})}function Sw(){let{theme:e}=X();return mp(e).map(o=>({value:o.value,label:o.name}))}function Cw({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,after:s}){let i=Sw(),f=e?null:Vs(n??""),u=a!==void 0&&(!e||Vs(a)!==Vs(e))?a:null,p=m=>{m!==e&&o(m)};return Iw("div",{className:"sf-colour",children:[ut(hw,{id:r,value:e,onChange:p,label:t,presets:i,fallback:f??void 0,size:"sm",align:"end"}),u!==null?ut("span",{className:"sf-colour-caption",children:u}):ut("span",{className:"sf-colour-hexwrap",children:ut(gw,{value:e||f||"",onChange:p,label:l("{label} hex code",{label:t}),placeholder:e||f?void 0:l("Not set"),className:f?"sf-colour-hex is-inherited":"sf-colour-hex",size:"sm"})}),s]})}function rn({label:e,icon:o,value:t,inherited:r,resetTo:a,onChange:n,onReset:s,hint:i}){let f=!!t;return ut(yw,{label:e,icon:o,changed:f,action:to({value:t,inherited:f?void 0:r,onChange:n,label:e,after:ut(bw,{words:j()?.panel,label:e,changed:f,detail:a,onReset:s})}),hint:i})}import{jsx as Mr}from"react/jsx-runtime";import{useEffect as $w,useState as qw}from"react";import{markSelection as jw,useCaretEdit as Kw}from"efficient-easel/copy";import{RevertIcon as Vw}from"efficient-easel/icons";import{IconButton as Yw,TextToolbar as Xw,Tooltip as Zw}from"efficient-shell/ui";import{applyMark as H5,markupTools as z5,MARKUP_TOOLS as W5,COPY_FIELD_TOOLS as G5,STOREFRONT_MARKUP as U5,tokenizeInline as $5,stripInline as q5,isSafeLinkHref as j5}from"efficient-shell/markup";import{applyMark as Bw,markedAt as _w,markupTools as Dw,MARKUP_TOOLS as Nw,parseMarkup as Mw,RETIRED_MARKS as Hw,STOREFRONT_MARKUP as zw,tokenizeInline as V5}from"efficient-shell/markup";var pt=["highlight","strong","quiet"],mt={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},yo={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},gp=Object.fromEntries(pt.map(e=>[yo[e].kind,e])),bp="data-sf-ws",an=["accent","text","labels"],yp={accent:"Accent",text:"Text",labels:"Labels"},Ro={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},vw=80,ww=120,kw=100,Tw=900,Fw=.5,Ew=3,Pw=-.1,Lw=.5,Ow=3,Ys={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},Rw={highlight:{...Ys},strong:{...Ys},quiet:{...Ys}};function xp(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function Ip(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let r=10**Ow;return Math.round(Math.min(Math.max(e,o),t)*r)/r}function hp(e){return typeof e=="boolean"?e:null}function Aw(e){let o=typeof e?.font=="string"&&no.some(r=>r.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&an.includes(e.colour)?e.colour:null;return{font:o,size:xp(e?.size,vw,ww),weight:xp(e?.weight,kw,Tw),bold:hp(e?.bold),italic:hp(e?.italic),lineGap:Ip(e?.lineGap,Fw,Ew),textGap:Ip(e?.textGap,Pw,Lw),colour:t}}function Sp(e){let o={};for(let t of pt)o[t]=e&&t in e&&e[t]?Aw(e[t]):{...Rw[t]};return o}function _5(e){let o=Sp(e),t={};for(let r of pt){let a=o[r],n=`--sf-ws-${r}`;if(a.font){let s=no.find(i=>i.key===a.font);s&&(t[`${n}-font`]=`var(${s.cssVar})`)}a.size!==null&&(t[`${n}-size`]=`${a.size/100}em`),a.weight!==null&&(t[`${n}-weight`]=String(a.weight)),a.bold!==null&&(t[`${n}-weight-bold`]=a.bold?"700":"400"),a.italic!==null&&(t[`${n}-style`]=a.italic?"italic":"normal"),a.lineGap!==null&&(t[`${n}-line`]=String(a.lineGap)),a.textGap!==null&&(t[`${n}-track`]=`${a.textGap}em`),a.colour!==null&&(t[`${n}-color`]=Ro[a.colour])}return t}function D5(e){let o=e?.word_styles??void 0,t={};for(let r of pt)o&&r in o&&(t[r]=o[r]??null);return Sp(t)}var Ww=new Set(["strong"]),Cp=pt.map(e=>({open:yo[e].delimiter,close:yo[e].delimiter,kind:yo[e].kind,...Ww.has(e)?{wordStart:!0}:{}})),X5=[{style:yo.highlight.kind,label:mt.highlight,title:`${mt.highlight} word style`},{style:yo.strong.kind,label:mt.strong,title:`${mt.strong} word style`},{style:yo.quiet.kind,label:mt.quiet,title:`${mt.quiet} word style`}],Gw=new Set(Cp.map(e=>e.open)),zt=[...zw.filter(e=>!Gw.has(e.open)),...Cp];function Xs(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function Zs(e){return Mw(typeof e=="string"?e:"",zt)}var Uw=Nw.map(e=>e.style).filter(e=>!Hw.includes(e)).filter(e=>zt.some(o=>o.kind===e));function vp(){return Dw(Uw)}var wp=Object.fromEntries(pt.map(e=>[yo[e].kind,yo[e].delimiter]));function kp(e,o,t,r){let a=wp[r];if(!a)return Bw(e,o,t,r);let n=e.slice(o,t),s=e.slice(Math.max(0,o-a.length),o),i=e.slice(t,t+a.length);if(s===a&&i===a)return{text:e.slice(0,o-a.length)+n+e.slice(t+a.length),selectionStart:o-a.length,selectionEnd:o-a.length+n.length};let f=n||"styled text";return{text:e.slice(0,o)+a+f+a+e.slice(t),selectionStart:o+a.length,selectionEnd:o+a.length+f.length}}function Tp(e,o,t,r){let a=wp[r];return a?o>=a.length&&e.slice(o-a.length,o)===a&&e.slice(t,t+a.length)===a:_w(e,o,t,r)}function xt(e){return Zs(e).map(o=>Xs(o)+Fp(o.children)).join(`
3
- `)}function Fp(e){return e.map(o=>o.kind==="text"?o.text:Fp(o.children)).join("")}var Ep="Clear formatting";function Qw(e,o,t){return jw(e,o,t,kp)}function Jw(e){let[o,t]=qw(null);return $w(()=>{let r=e.current?.ownerDocument??(typeof document>"u"?null:document);if(!r)return;let a=()=>{let n=e.current;if(!n||r.activeElement!==n)return;let s=n.selectionStart??n.value.length,i=n.selectionEnd??s;t(f=>f&&f.start===s&&f.end===i?f:{start:s,end:i})};return r.addEventListener("selectionchange",a),()=>r.removeEventListener("selectionchange",a)},[e]),[o,t]}function ek({target:e,value:o,onChange:t,disabled:r=!1,label:a="Formatting"}){let n=Kw({target:e,onChange:t}),[s,i]=Jw(e),f=x=>n(h=>{let b=Qw(o,x,h);return i({start:b.selectionStart,end:b.selectionEnd}),b}),u=vp(),p={};if(s)for(let x of u)p[x.style]=Tp(o,s.start,s.end,x.style);let m=xt(o);return Mr(Xw,{offered:new Set(u.map(x=>x.style)),onMark:x=>f(x),pressed:p,disabled:r,"aria-label":l(a),className:"sf-markup-bar",last:Mr("span",{className:"sf-markup-clear",children:Mr(Zw,{content:l(Ep),children:Mr(Yw,{size:"sm",onMouseDown:x=>x.preventDefault(),onClick:()=>t(m),disabled:r||m===o,"aria-label":l(Ep),children:Mr(Vw,{size:14})})})})})}var Qs=ek;import{DEVICE_FIELD_MARKER as s3,DEVICE_HIDDEN_ATTR as i3,DEVICE_NOTE as f3,deviceField as ve,deviceMetaOf as Js,deviceNote as c3,shownTier as d3,withoutDeviceGate as u3}from"efficient-easel/screen/lib/puck/device-fields";import{NO_CONTROL_ATTR as x3,NO_CONTROL_FIELD as Pp,noControlField as Hr,NoControlMark as Wt,noControlMetaOf as I3}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var ei="__ownBox";function Lp(e){return!!e&&typeof e=="object"&&e[ei]===!0}function Ao(e){return`${e}Phone`}function nn(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var ln=void 0;import{jsx as ti,Fragment as rk}from"react/jsx-runtime";import{createContext as ak,useContext as nk}from"react";var sn={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},fn={Events:["posts"],SubscribeBlogs:["posts"]};var ok=["anchor"],tk=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function zr(e){return ok.includes(e)||tk.test(e)}var oi={Gallery:{source:{verb:"snapshot",keep:[]}},ProductHero:{source:{verb:"snapshot",keep:[]}},SpecTable:{source:{verb:"snapshot",keep:[]},wheel:{verb:"reference"},finish:{verb:"reference"},size:{verb:"reference"}},CollectionCard:{collection:{verb:"snapshot",keep:[]}},FooterMenu:{menu:{verb:"snapshot",keep:[]}},MenuBlock:{menu:{verb:"snapshot",keep:[]}},BrandStrip:{picks:{verb:"reference"}},ProductGrid:{design_codes:{verb:"reference"}},ProductRef:{code:{verb:"reference"},finish:{verb:"reference"}},FitmentTable:{wheel:{verb:"reference"}},GalleryItem:{fromProduct:{verb:"reference"}},Footprint:{"offices[].group":{verb:"groupKey"},"offices[].lat":{verb:"pii"},"offices[].lng":{verb:"pii"},"offices[].geocode":{verb:"pii"}}};oi.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var C3=Object.fromEntries(Object.entries(sn).map(([e,o])=>[e,Object.keys(o)])),v3=Object.fromEntries(Object.entries(fn).map(([e,o])=>[e,[...o]]));var Op=ak(!1);function Rp({children:e}){return ti(Op.Provider,{value:!0,children:e})}function lk(){return nk(Op)}function Ap({name:e,children:o}){return!lk()||!e||zr(e)?ti(rk,{children:o}):ti(Wt,{})}function Je(e,o,t){return e.some(r=>(typeof r=="object"?r.value:r)===t)?t:o}var ri="off",ai="none",ni=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],li=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function R3(e){return Je(ni,ri,e)}function A3(e){return Je(li,ai,e)}var Bp="sf-card-index",Wr="sf-card-index",B3="pointer-events-none absolute left-[18px] top-[18px] z-10 border border-line bg-bg/70 px-2 py-1 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.16em] text-fg-dim",sk={plain:`counter(${Wr})`,padded:`counter(${Wr}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Wr}, decimal-leading-zero)`};function _3(e,o){return o==="off"?"":`.${e}{counter-reset:${Wr}}.${e} .${Bp}{counter-increment:${Wr}}.${e} .${Bp}::before{content:${sk[o]}}`}function D3(e){return e==="hairline"?"border border-line hover:border-accent":""}var _p=[{value:"1",label:"1st rendering"},{value:"2",label:"2nd rendering"},{value:"3",label:"3rd rendering"},{value:"4",label:"4th rendering"},{value:"5",label:"5th rendering"}];import{SCALAR_TEXT_CONTROLS as sF}from"efficient-easel/draw";import{jsx as So}from"react/jsx-runtime";import{SettingsDefaultReset as ik,SettingsField as Mp}from"efficient-easel/panel";import{useSelectedFields as fk}from"efficient-easel/easel";import{FOCAL_DEFAULT as ck}from"efficient-shell/format";import{ImageIcon as Hp,PlayIcon as zp}from"efficient-easel/icons";import{MediaUploadField as dk}from"efficient-shell/ui";import{useContext as uk}from"react";import{usePreviewDevice as pk}from"efficient-easel/draw/client";import{requestMediaPick as Dp,resolveMediaPick as z3}from"efficient-easel/screen/lib/media-picker";import{createEaselHost as U3,DETACHED_EASEL_HOST as $3,EaselHostContext as q3,EaselHostProvider as j3,useEaselHost as Gt}from"efficient-easel/screen/lib/host";var Ue=$d,Np=e=>e.blocks;import{EaselSessionProvider as Z3,useEaselSession as Be}from"efficient-easel/screen/lib/session-context";function mk(e,o){let t=null;try{t=fk()}catch{t=null}let r=pk()==="mobile";if(!e||!t||o&&!o(t.values??{}))return null;let a=typeof t.values?.[e]=="string"&&t.values[e]?String(t.values[e]):ck,n=Ao(e),s=typeof t.values?.[n]=="string"&&t.values[n]?String(t.values[n]):void 0,i=t.onChange;return{phone:r,desktop:a,own:s,focus:r?s??a:a,set:f=>i(r?n:e,f),clear:()=>i(n,ln)}}function Wp({value:e,onChange:o,label:t,accept:r,placeholder:a,focusKey:n,focusWhen:s}){let i=Gt(),f=Be(),u=l(t),p=r.startsWith("video"),m=mk(p?void 0:n,s),x=uk(Mt),h=C=>Dp(i,{accept:r,title:u,...C?{file:C}:{}}).then(k=>k?.url??null);if(x&&!x.capabilities.mediaEditing)return So(Mp,{label:u,icon:p?So(zp,{}):So(Hp,{}),children:So("div",{className:"sf-image-slot-inert",children:p?l("Templates don\u2019t store videos \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created."):l("Templates don\u2019t store images \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created.")})});let b=m?.phone&&e?So(ik,{words:j()?.panel,label:l("Image focus"),changed:!!m.own,detail:l("{value} on desktop",{value:m.desktop}),onReset:m.clear}):void 0;return So(Mp,{label:u,icon:p?So(zp,{}):So(Hp,{}),action:b,children:So("div",{style:{flex:"1 1 auto",minWidth:0},children:So(dk,{value:e,onChange:o,onPick:h,accept:p?"video/*":"image/*",kind:p?"video":"image",placeholder:a===void 0?void 0:l(a),maxSizeBytes:Ue(f).media.maxUploadBytes,...m?{focus:m.focus,onFocusChange:m.set}:{}})})})}import{jsx as Gp}from"react/jsx-runtime";import{useId as xk}from"react";import{FieldSelect as Ik}from"efficient-easel/fields";import{SettingsField as hk}from"efficient-easel/panel";function gk(e){return e.map(({value:o,label:t,note:r})=>({value:o,label:t,...r?{meta:r}:{}}))}function Up({label:e,options:o,value:t,onChange:r,emptyLabel:a,icon:n,hint:s}){let i=xk(),f=`${i}-label`,u=`${i}-button`,p=Array.isArray(t)?t:[];return Gp(hk,{label:l(e),labelId:f,icon:n,hint:s,children:Gp(Ik,{id:u,multiple:!0,value:p,options:gk(o),onChange:r,placeholder:a===void 0?l("None"):l(a),ariaLabelledBy:`${f} ${u}`,inline:!0})})}import{jsx as Te,jsxs as ht,Fragment as zk}from"react/jsx-runtime";import{useCallback as Wk,useContext as Gk,useEffect as Uk,useId as am,useRef as tm,useState as rm}from"react";import{ThemeIcon as $k}from"efficient-easel/icons";import{SettingsField as qk}from"efficient-easel/panel";import{jsx as $,jsxs as Ko,Fragment as Tk}from"react/jsx-runtime";import{SettingsField as fi,SettingsGroupSub as Fk}from"efficient-easel/panel";import{Button as ii}from"efficient-shell/ui";import{jsx as jo,jsxs as $p}from"react/jsx-runtime";import{SettingsField as bk}from"efficient-easel/panel";import{AccentIcon as yk}from"efficient-easel/icons";import{Tooltip as Sk}from"efficient-shell/ui";function si(e){return xo(e).background}function Ck(e){let o=$o(e.accent,si(e));return o===null?null:{ratio:o,grade:Dt(o)}}function vk(e){let o=si(e),t=$o(e.accent,o);return t===null?[]:eu(e.accent).filter(r=>{let a=$o(r,o);return a!==null&&a>t&&Dt(a)==="good"})}var wk={good:"Easy to read","large-only":_t["large-only"],hard:_t.hard};function qp({value:e,onChange:o}){let t=Ck(e),r=t?.grade,a=t&&t.grade!=="good"?vk(e):[];return jo(bk,{label:l("Main color"),icon:jo(yk,{}),hint:t?l(wk[t.grade]):void 0,action:jo(to,{value:e.accent,onChange:n=>o({...e,accent:n}),label:l("Main color")}),children:a.length>0?jo("div",{className:"w-full min-w-0",children:$p("div",{className:"sf-readability",children:[jo("p",{className:"sf-readability-advice",children:kk(r,!0)}),jo("div",{className:"sf-readability-suggestions",children:a.map(n=>{let s=$o(n,si(e));return jo(Sk,{content:l("Use {colour}",{colour:n.toUpperCase()}),children:$p("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>o({...e,accent:n}),children:[jo("span",{className:"sf-readability-chip",style:{background:n},"aria-hidden":!0}),s?`${s.toFixed(1)}:1`:n.toUpperCase()]})},n)})})]})}):null})}function kk(e,o){return e?e==="good"?l("This color reads clearly on your pages."):o?l("This color is hard to read on this theme's page. The buttons below are the same hue, darkened."):l("This color is hard to read on your page background. Pick one further from it \u2014 lighter if your pages are dark, deeper if they are light."):l("Pick a color to see how it reads.")}import{ButtonIcon as Ek,GroundIcon as Pk,LayoutIcon as Lk,SquareIcon as Ok,TextSmallIcon as Rk,TypeIcon as jp}from"efficient-easel/icons";var Gr=e=>l("Theme {n}",{n:e+1});function Kp({colors:e}){let o=xo(e),t=Ar(e)??o.accent;return Ko("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[$("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:l("label")}),Ko("span",{className:"sf-theme-headline",children:[l("Heading")," ",$("span",{style:{color:o.accent},children:l("accent")})]}),$("span",{className:"sf-theme-body",children:l("body text")}),Ko("span",{className:"sf-theme-row",children:[$("span",{className:"sf-theme-btn",style:{background:t,color:gs(e,o.accent)},children:l("button")}),$("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:l("card")})]})]})}var ci={"Text color":$(jp,{}),"Label color":$(Rk,{}),Background:$(Pk,{}),"Panels & cards":$(Lk,{}),Borders:$(Ok,{}),"Button color":$(Ek,{}),"Button text color":$(jp,{})};function Ak({label:e,colorKey:o,value:t,onChange:r,idPrefix:a="sf-theme-ink"}){let n=`${a}-${o}`;return $(fi,{label:l(e),icon:ci[e],htmlFor:n,action:$(to,{id:n,label:l(e),value:t,onChange:s=>r(o,s)})})}function Bk({value:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button`,n=/^#[0-9a-fA-F]{6}$/.test(e??""),s=n?e:o;return $(fi,{label:l("Button color"),icon:ci["Button color"],htmlFor:a,action:$(to,{id:a,label:l("Button color"),value:s,caption:n?s:l("Main"),onChange:t})})}function _k({colors:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button-ink`,n=ou(e),s=gs(e,o),i=Ar(e)??o,f=Dt($o(s,i)??0);return $(fi,{label:l("Button text color"),icon:ci["Button text color"],hint:n&&f!=="good"?l("{grade} on the button",{grade:l(_t[f])}):void 0,htmlFor:a,action:$(to,{id:a,label:l("Button text color"),value:s,caption:n?s:l("Auto"),onChange:t})})}var Dk=[{colour:!0},{label:"Text color",key:"text"},{label:"Label color",key:"muted"},{button:!0},{buttonInk:!0},{group:"Surfaces"},{label:"Background",key:"background"},{label:"Panels & cards",key:"surface"},{label:"Borders",key:"line"}];function di({colors:e,onChange:o,idPrefix:t}){let r=xo(e);return $(Tk,{children:Dk.map(a=>"colour"in a?$(qp,{value:e,onChange:o},"colour"):"group"in a?$(Fk,{title:l(a.group)},a.group):"button"in a?$(Bk,{value:e.button,accent:r.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in a?$(_k,{colors:e,accent:r.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):$(Ak,{label:a.label,colorKey:a.key,value:r[a.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},a.key))})}function cn({index:e,colors:o,selected:t,role:r="radio",open:a,editable:n=!0,onPick:s,onEdit:i,onChangeColors:f}){let u=xo(o),p=Gr(e),m=e<hs.length&&!o.brandInk?hs[e]:null,x=Dt($o(u.text,u.background)??0),h=m?JSON.stringify(o)!==JSON.stringify(m):!1,b=a!==void 0;return Ko("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[$("button",{type:"button",role:r,"aria-checked":r==="radio"?t:void 0,"aria-selected":r==="option"?t:void 0,"aria-label":p,className:"sf-theme-pick",onClick:s,children:$(Kp,{colors:o})}),Ko("div",{className:"sf-theme-foot",children:[$("span",{className:"sf-theme-name",children:p}),x!=="good"&&$("span",{className:"sf-theme-warn",children:l(_t[x])}),n&&i&&$(ii,{variant:a?"primary":"secondary",size:"sm",className:"sf-theme-edit","aria-expanded":b?a:void 0,"aria-controls":b?`sf-theme-colours-${e}`:void 0,"aria-label":a?l("Done {name}",{name:p}):l("Edit {name}",{name:p}),onClick:i,children:a?l("Done"):l("Edit")})]}),a&&Ko("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[$(di,{colors:o,onChange:C=>f?.(C)}),m&&$(ii,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!h,onClick:()=>f?.({...m}),children:h?l("Reset {name} to the preset",{name:p}):l("Not changed")})]})]})}function Vp({colors:e,name:o,nameId:t,open:r,menuId:a,labelId:n,buttonRef:s,onClick:i,onKeyDown:f,onEdit:u}){return Ko("div",{className:"sf-secttheme-btn",children:[$("button",{ref:s,type:"button",className:"sf-theme-pick","aria-expanded":r,"aria-controls":a,"aria-labelledby":`${n} ${t}`,onClick:i,onKeyDown:f,children:e?$(Kp,{colors:e}):$("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Ko("div",{className:"sf-theme-foot",children:[$("span",{id:t,className:"sf-theme-name",children:o}),u&&$(ii,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:o}),onClick:u,children:l("Edit")}),$("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:$("span",{className:"sf-multi-caret",children:"\u25BE"})})]})]})}import{useCallback as hi,useEffect as Jp,useRef as pn}from"react";import{useSyncExternalStore as Nk}from"react";var Xp,ui=null,It=null,dn=0,pi=new Set;function mi(e){Xp=e;for(let o of pi)o()}function xi(e){ui=e,dn+=1,It&&clearTimeout(It),It=null,mi(void 0)}function H4(e){dn+=1,mi(e)}function un(e=250){ui&&(It&&clearTimeout(It),It=setTimeout(()=>{It=null;let o=ui;if(!o)return;let t=++dn;o().then(r=>{t===dn&&mi(r)}).catch(()=>{})},e))}function Yp(){return Xp}function Mk(e){return pi.add(e),()=>{pi.delete(e)}}function Zp(){return Nk(Mk,Yp,Yp)}var Ii=new Set;function Qp(e){return Ii.add(e),()=>{Ii.delete(e)}}async function W4(){let e=(await Promise.allSettled([...Ii].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}function em(e=ao()){return(o,t,r)=>{let a=Ue(e).theme;return a?a.update(o,r?{siteId:r}:void 0):Promise.reject(new ws("invalid","This backend stores no site theme."))}}function om(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function Hk(e,o=em()){let{themeFromDocument:t,token:r,siteId:a,patch:n}=e,s=om({themeFromDocument:t,token:r});if(s)return s;if(Object.keys(n).length===0)return{status:"skipped",reason:"empty"};try{return await o(n,r,a??void 0),{status:"saved"}}catch(i){return{status:"failed",error:i}}}function Ut({themeFromDocument:e,tokenRef:o,siteId:t,onResult:r}){let a=pn(null),n=pn({}),s=Be(),i=pn(r);i.current=r;let f=pn(null),u=hi(x=>{if(x.status==="skipped"){let h=`skipped:${x.reason}`;if(f.current===h)return;f.current=h}else f.current=null;i.current?.(x)},[]),p=hi(async()=>{a.current&&(clearTimeout(a.current),a.current=null);let x=n.current;n.current={};let h=await Hk({themeFromDocument:e,token:o?.current,siteId:t,patch:x},em(s));return u(h),h.status==="saved"&&un(),h.status==="failed"&&(n.current={...x,...n.current}),h},[e,o,t,u,s]),m=hi((x,h=!1)=>{let b=om({themeFromDocument:e,token:o?.current});if(b){u(b);return}n.current={...n.current,...x},a.current&&clearTimeout(a.current),h?p():a.current=setTimeout(()=>{p()},500)},[e,o,p,u]);return Jp(()=>()=>{p()},[p]),Jp(()=>Qp(async()=>{if(!a.current&&Object.keys(n.current).length===0)return;let x=await p();if(x.status==="failed")throw x.error}),[p]),{persist:m,flush:p}}var jk="Follow the page",i6="Follow the slideshow",Kk=e=>l("Editing {name} changes it everywhere.",{name:e});function Vk({colors:e}){if(!e)return Te("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=xo(e);return ht("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[Te("i",{style:{background:o.background}}),Te("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function Yk({themes:e,value:o,onPick:t,onEdit:r,menuId:a,followLabel:n}){return ht("div",{className:"sf-multi-menu sf-secttheme-menu",id:a,role:"listbox",children:[n!==void 0&&ht(zk,{children:[ht("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(on),children:[Te(Vk,{}),Te("span",{className:"sf-secttheme-name",children:l(n)})]}),Te("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&Te("p",{className:"sf-secttheme-oncard",role:"presentation",children:l("{name} is on this section",{name:Gr(o)})}),e.map((s,i)=>i===o?null:Te(cn,{role:"option",index:i,colors:s,selected:!1,onPick:()=>t(i),onEdit:()=>r(i)},i))]})}function Xk({index:e,colors:o,onChange:t,onDone:r}){let a=Gr(e),n=am();return ht("div",{className:"sf-secttheme-sheet",children:[ht("div",{className:"sf-secttheme-sheet-head",children:[Te("span",{children:a}),Te("button",{type:"button",className:"sf-secttheme-done",onClick:r,children:l("Done")})]}),Te("div",{className:"sf-secttheme-rows",children:Te(di,{colors:o,onChange:t,idPrefix:n})}),Te("p",{className:"sf-secttheme-warn",children:Kk(a)})]})}function nm({value:e,onChange:o,followLabel:t,hint:r}){let{theme:a,setTheme:n}=X(),s=Qe(a),i=Gk(Mt),f=i?.tokenRef,u=i?.siteId??null,p=!i?.capabilities?.hasSiteTheme,{persist:m,flush:x}=Ut({themeFromDocument:p,tokenRef:f,siteId:u}),h=Qe(s),b=h.themes,C=Us(e),k=C!==null?b[C]:void 0,v=k??(b.length?Bt(h):void 0),[w,g]=rm(!1),[y,E]=rm(null),F=tm(null),L=tm(null),B=am(),O=Wk(()=>{g(!1),E(null)},[]);Uk(()=>{if(!w&&y===null)return;let H=W=>{F.current&&!F.current.contains(W.target)&&(x(),O())};return document.addEventListener("mousedown",H),()=>document.removeEventListener("mousedown",H)},[w,y,O,x]);let M=H=>{o(H),O()},re=H=>{if(y===null)return;let W=b.map((oe,Re)=>Re===y?H:oe),A={...h,themes:W};n(A),m({selected_preset:A.selected,theme_presets:A.themes})};return ht("div",{className:"sf-secttheme",ref:F,children:[Te(qk,{label:l("Theme"),icon:Te($k,{}),labelId:`${B}-label`,hint:r,children:Te(Vp,{colors:v,onEdit:C!==null?()=>{E(C),g(!1)}:void 0,name:k?Gr(C):l(t??jk),nameId:`${B}-value`,labelId:`${B}-label`,open:w,menuId:B,buttonRef:L,onClick:()=>{E(null),g(H=>!H)},onKeyDown:H=>{H.key==="Escape"&&(w||y!==null)&&(H.preventDefault(),O())}})}),w&&y===null&&Te("div",{onKeyDown:H=>{H.key==="Escape"&&(H.preventDefault(),O(),L.current?.focus())},children:Te(Yk,{themes:b,value:C,onPick:M,onEdit:H=>{E(H),g(!1)},menuId:B,followLabel:t})}),y!==null&&b[y]&&Te(Xk,{index:y,colors:b[y],onChange:re,onDone:()=>{x(),O(),L.current?.focus()}})]})}import{jsx as lm}from"react/jsx-runtime";import{useId as Zk}from"react";import{FieldSelect as Qk}from"efficient-easel/fields";import{SettingsField as Jk}from"efficient-easel/panel";function eT(e){return e.map(({value:o,label:t,group:r,thumb:a,meta:n})=>({value:o,label:t,...r!==void 0?{group:r}:{},...a!==void 0?{thumb:a}:{},...n!==void 0?{meta:n}:{}}))}function x6({label:e,options:o,fallback:t,value:r,onChange:a,placeholder:n,bare:s=!1,icon:i}){let f=Zk(),u=`${f}-label`,p=`${f}-button`,m=r??"",x=o.some(k=>k.value===m)?m:t,h=l(e),b=n===void 0?void 0:l(n),C=lm(Qk,{id:p,value:x,options:eT(o),onChange:a,placeholder:b,searchPlaceholder:b,...s?{ariaLabel:h}:{ariaLabelledBy:`${u} ${p}`},searchable:!0,groupCount:!0,inline:!0});return s?C:lm(Jk,{label:h,labelId:u,icon:i,children:C})}import{jsx as gt,jsxs as aT}from"react/jsx-runtime";import{SettingsField as Im}from"efficient-easel/panel";import{LinkIcon as nT}from"efficient-easel/icons";import{LinkPicker as lT,TextLinkField as sT}from"efficient-shell/ui";import{useEffect as xm,useMemo as In,useRef as iT,useState as xn}from"react";function sm(){return ao().auth.token}var mn="homepage";function im(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var fm=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"custom",label:"Custom URL"}];function cm(e){return e.offersCommerce&&e.offersService?fm:fm.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}function Ur(e){return e===mn?"/":`/${e}`}function dm(e){return`/journal/${e}`}function v6(e){return`/wheels/${e}`}function um(e,o){return`${Ur(e)}#${o}`}function oT(e){return im(e)}function tT(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function pm(...e){let o=new Set,t=[];for(let r of e)for(let a of r?.content??[]){let n=tT(a?.props?.anchor);if(!n)continue;let s=oT(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function w6(e){let o=e.indexOf("#"),t=o===-1?e:e.slice(0,o),r=t.indexOf("?");return r===-1?t:t.slice(0,r)}var rT=()=>({choosePage:l("Choose a page"),chooseSection:l("Choose a section"),noSections:l("No section anchors yet"),sectionHint:l("Jumps to a section on that page."),choosePost:l("Choose a post"),chooseProduct:l("Choose a product")});function mm(e,o,t){if(!e)return"page";if(e.startsWith("/journal/"))return"blog";if(e.startsWith("/wheels/"))return"product";if(e.includes("#")){let r=e.slice(0,e.indexOf("#"));if(r===""||r==="/"||o.includes(r))return"anchor"}return e==="/"||o.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function gi(e,o){let t=rT(),r=e.pages.map(p=>({value:Ur(p.slug),label:p.title})),a=o?.pageOptions?o.pageOptions(r):r,n=a.map(p=>p.value),s=e.pages.map(p=>({label:p.title,options:pm(...p.docs).map(m=>({value:um(p.slug,m.slug),label:m.name}))})).filter(p=>p.options.length>0),i=p=>{switch(p){case"page":return{type:"select",options:a,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:s,placeholder:s.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(m=>({value:dm(m.slug),label:m.title||m.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(m=>({value:m.href,label:m.name||m.href})),placeholder:t.chooseProduct};case"custom":return{type:"text"}}},f=cm(e.offers).map(p=>({value:p.value,label:l(p.label),target:i(p.value),...p.value==="anchor"?{hint:t.sectionHint}:{},...p.value==="blog"||p.value==="product"?{hideWhenEmpty:!0}:{}}));if(!o)return{kinds:f,rules:{kindOf:p=>mm(p,n),targetOf:p=>p,readFilter:()=>null,withFilter:p=>p}};let u=p=>{let m=o.withFilter(p,null);return o.listingPaths.includes(m)?m:p};return{kinds:f,rules:{kindOf:p=>mm(p,n,{listingPaths:o.listingPaths,targetOf:u}),targetOf:u,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:p=>o.listingPaths.includes(p)?o.filtersFor(p):null}}function hm(e){let o=new Map;return(t="")=>{let r=sm(),a=o.get(t);if(!a||a.token===null&&r!==null){let n=r||!ao().usesBridgedToken?e(r??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:r}),n}return a.promise}}var fT=hm(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:r}=Ue();return r.linkTargets?r.linkTargets(t):(await r.list(t)).map(a=>({id:a.id,slug:a.slug,label:a.label,layout:null}))}),cT=hm(async(e,o)=>await Ue().blog?.posts(o?{siteId:o}:void 0)??[]);function dT({value:e,onChange:o,label:t="Link",data:r,filters:a}){let n=In(()=>gi(r,a),[r,a]),s=l(t);return gt(Im,{label:s,icon:gt(nT,{}),children:gt(lT,{value:e,onChange:i=>o(i),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function gm(){let{siteId:e,capabilities:o}=ye(),{offersCommerce:t,hasBlog:r}=o,[a,n]=xn([]),[s,i]=xn([]),[f,u]=xn([]),[p,m]=xn(null),x=Be().chrome,h=x?.products?.list,b=x?.linkFilters,C=b?void 0:x?.linkRow,k=iT(!0);xm(()=>(k.current=!0,()=>{k.current=!1}),[]),xm(()=>{let g=!0;return fT(e??void 0).then(y=>g&&k.current&&n(y)),r&&cT(e??void 0).then(y=>g&&k.current&&i(y)),t&&h?.().then(y=>g&&k.current&&u(y)),t&&b?b.load(e).catch(()=>null).then(y=>g&&k.current&&m(()=>y)):m(null),()=>{g=!1}},[e,t,r,h,b]);let v=In(()=>({pages:a.filter(g=>!Ou(g.slug)).map(g=>({slug:g.slug,title:g.label,docs:[g.layout]})),posts:r?s.map(g=>({slug:g.slug,title:g.title})):[],products:t?f.map(g=>({href:g.href,name:g.name})):[],offers:{offersCommerce:t,offersService:r}}),[a,s,f,t,r]),w=In(()=>p?p(v.pages):null,[p,v]);return{data:v,filters:w,pages:a,offersCommerce:t,HostLinkRow:C}}function U6({label:e,icon:o,text:t,onTextChange:r,link:a,onLinkChange:n}){let{data:s,filters:i}=gm(),f=In(()=>gi(s,i),[s,i]),u=l(e);return gt(Im,{label:u,icon:o,children:gt(sT,{label:u,text:t,onTextChange:r,link:a,onLinkChange:p=>n(p),kinds:f.kinds,rules:f.rules,filtersFor:f.filtersFor})})}function bm({value:e,onChange:o,label:t="Link"}){let r=typeof e=="string"?e:"",{data:a,filters:n,pages:s,offersCommerce:i,HostLinkRow:f}=gm(),u=a.pages.map(m=>Ur(m.slug)),p=i&&f&&(r==="/"||u.includes(r))?f:void 0;return aT("div",{children:[gt(dT,{value:r,onChange:o,label:t,data:a,filters:n}),p&&gt(p,{value:r,onChange:o,pages:s})]})}import{UiIcon as ix}from"efficient-easel/draw/client";var lo={min:10,max:200,step:10};function ym(e,o){let t=typeof e=="number"?e:void 0,r=typeof o=="number"?o:void 0;if(!(t===void 0&&r===void 0))return{paddingTop:t,paddingBottom:r}}var uT="sf-pad-top-phone",pT="sf-pad-bottom-phone",mT="--sf-pad-t-phone",xT="--sf-pad-b-phone",IT="sf-pad-left-phone",hT="sf-pad-right-phone",gT="--sf-pad-l-phone",bT="--sf-pad-r-phone";function vm(e,o,t,r,a,n,s,i){let f=ym(e,o)??{},u={},p=["sf-section-pad"];typeof t=="number"&&(p.push(uT),u[mT]=`${t}px`),typeof r=="number"&&(p.push(pT),u[xT]=`${r}px`);let m={};return typeof a=="number"&&(m.paddingLeft=a),typeof n=="number"&&(m.paddingRight=n),typeof s=="number"&&(p.push(IT),u[gT]=`${s}px`),typeof i=="number"&&(p.push(hT),u[bT]=`${i}px`),p.length===1&&ym(e,o)===void 0&&!Object.keys(m).length?null:{className:p.join(" "),style:{...f,...m,...u}}}var Sm=e=>typeof e=="number"?e:void 0;function Cm(e,o,t){let r=Sm(e)??t,a=Sm(o);return r===void 0?a:a===void 0?r:r+a}function q6(e,o={}){return{top:Cm(e.padTop,e.sectionPaddingTop,o.top),bottom:Cm(e.padBottom,e.sectionPaddingBottom,o.bottom)}}function j6(e){return{top:e.sectionPaddingTop,bottom:e.sectionPaddingBottom,topPhone:e.sectionPaddingTopPhone,bottomPhone:e.sectionPaddingBottomPhone,left:e.sectionPaddingLeft,right:e.sectionPaddingRight,leftPhone:e.sectionPaddingLeftPhone,rightPhone:e.sectionPaddingRightPhone}}function K6(e){return vm(e.top,e.bottom,e.topPhone,e.bottomPhone,e.left,e.right,e.leftPhone,e.rightPhone)}function V6(e,o){let t=r=>typeof r=="number"?r+o:void 0;return vm(t(e.top),t(e.bottom),t(e.topPhone),t(e.bottomPhone),e.left,e.right,e.leftPhone,e.rightPhone)}var yT=["auto","fixed","screen"],ST=["px","%"];var CT="var(--sf-header-h, 88px)",bi={min:40,max:2e3,step:10,fallback:600},yi={min:10,max:200,step:5,fallback:100},vT="sf-section-minh",wm={base:"--sf-section-minh",small:"--sf-section-minh-s"},Tm=e=>typeof e=="string"&&yT.includes(e),wT=e=>typeof e=="string"&&ST.includes(e);function hn(e){let o=Tm(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":wT(e.sectionHeightUnit)?e.sectionHeightUnit:"px",r=o==="screen"?yi.fallback:bi.fallback,a=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:r;return{mode:o,value:a,unit:t}}function Fm(e){let{mode:o,value:t,unit:r}=hn(e);if(o==="auto")return;if(o==="fixed"&&r==="px")return[`${t}px`,null];let a=t/100,n=s=>o==="screen"?`(100${s} - ${CT})`:`100${s}`;return[`calc(${n("vh")} * ${a})`,`calc(${n("svh")} * ${a})`]}function kT(e){let o=Fm(e);if(!o)return;let[t,r]=o;return{display:"grid",[wm.base]:t,...r?{[wm.small]:r}:{}}}var X6=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),$t="Height",TT="sf-section-minh-phone",km={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function Si(e){return Tm(e.sectionHeightModePhone)}function Z6(e){return hn({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}function FT(e){let o=kT(e),t=Si(e)?Fm({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone}):void 0;if(!o&&!t)return null;let r=[vT],a={...o??{}};return t&&(r.push(TT),a[km.base]=t[0],t[1]&&(a[km.small]=t[1])),{className:r.join(" "),style:a}}function Q6(e){return FT(e)!==null}var gn="Stick to top",Vo={min:0,max:200,step:4,fallback:0},ET="sf-section-stick",PT="sf-section-stick-phone-on",LT="sf-section-stick-phone-off",Em={desktop:"--sf-stick-distance",phone:"--sf-stick-distance-phone"},ez=new Set(["CategoryBar","DocTabs","IntroBleed"]);function Pm(e){let o=typeof e=="number"&&Number.isFinite(e)?e:Vo.fallback;return Math.min(Vo.max,Math.max(Vo.min,Math.round(o)))}function Ci(e){return typeof e.stickTopPhone=="boolean"}function vi(e){let o=e.stickTop===!0,t=Pm(e.stickTopDistance),r=Ci(e),a=r?e.stickTopPhone===!0:o,n=r?Pm(e.stickTopDistancePhone):t;return{desktop:o,desktopDistance:t,phone:a,phoneDistance:n,ownPhone:r}}function oz(e){let o=vi(e);if(!o.desktop&&!o.phone)return null;let t=[ET],r={};return o.desktop&&(r[Em.desktop]=`${o.desktopDistance}px`),(o.ownPhone||o.phone!==o.desktop)&&(t.push(o.phone?PT:LT),o.phone&&(r[Em.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:r}}var OT=["column","row","tabs"],Lm="Direction",RT={column:"Stacked",row:"One row",tabs:"Tabs"},Om={Flex:OT,HeroGroup:["column","row"]},AT={Flex:"row",HeroGroup:"column"},BT={column:"flex-col",row:"flex-row",tabs:"flex-col"};function bn(e,o){return Om[e].includes(o)?o:AT[e]}function rz(e,o){return BT[bn(e,o)]}function Rm(e){return Om[e].map(o=>({label:RT[o],value:o}))}var wi=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],_m=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"},{label:"Stretch",value:"stretch"}],Dm="Wrap",ki=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],Am={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},Bm={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function nz(e,o){let t=typeof e=="string"&&e in Am?Am[e]:"",r=typeof o=="string"&&o in Bm?Bm[o]:"";return[t,r].filter(Boolean).join(" ")}function lz(e){return e===!0||e==="wrap"?"flex-wrap":""}var Ti="Block widths",yn=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Big left",value:"bigLeft",weights:[2,1]},{label:"Big right",value:"bigRight",weights:[1,2]},{label:"Bigger left",value:"biggerLeft",weights:[3,1]},{label:"Bigger right",value:"biggerRight",weights:[1,3]}],$r="[&>*]:min-w-0 [&>*]:flex-1 [&>*]:basis-0",_T={equal:$r,bigLeft:`${$r} [&>*:first-child]:min-[800px]:grow-[2]`,bigRight:`${$r} [&>*:last-child]:min-[800px]:grow-[2]`,biggerLeft:`${$r} [&>*:first-child]:min-[800px]:grow-[3]`,biggerRight:`${$r} [&>*:last-child]:min-[800px]:grow-[3]`};function sz(e){return typeof e=="string"?_T[e]??"":""}var Nm="Columns on phone",Fi=1,Mm=3,DT={2:"max-[800px]:flex-wrap [&>*]:max-[800px]:min-w-0 [&>*]:max-[800px]:basis-[calc((100%_-_var(--sf-gap-len,0px))/2)]",3:"max-[800px]:flex-wrap [&>*]:max-[800px]:min-w-0 [&>*]:max-[800px]:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_2)/3)]"};function iz(e){let o=Number(e);return DT[o]??"max-[800px]:flex-col"}var Hm="Block spacing",Ei=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],NT="sf-box-gap-only";function fz(e){return e==="gap"?NT:""}var MT=["solid","dashed","dotted"],HT=["top","right","bottom","left"],dz="sf-section-border",uz="sf-section-border-self",zT=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,zm=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function Wm(e,{phone:o=!1}={}){if(!e||typeof e!="object")return;let t=o?"-phone":"",r={};for(let a of HT){let n=zm(e[a])??zm(e.width);n!==void 0&&(r[`--sf-border-${a}-width${t}`]=n)}return typeof e.style=="string"&&MT.includes(e.style)&&(r[`--sf-border-style${t}`]=e.style),typeof e.color=="string"&&zT.test(e.color)&&(r[`--sf-border-color${t}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function pz(e,o){let t=Wm(e),r=Wm(o,{phone:!0});return t||r?{...t,...r}:void 0}var $m="sf.gapContainer",Yo={min:-32,max:64,step:2},qm={Grid:{sm:12,md:24,lg:40},Flex:{sm:12,md:24,lg:40},FooterGroup:{sm:8,md:16,lg:32},HeroGroup:null,Events:null,GalleryB:null,ProductGrid:null},qt={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},WT=new Set(["Events","GalleryB"]);function qr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min)return o;if(typeof o=="string"){let r=qm[e]?.[o];if(typeof r=="number")return r}return typeof t=="number"&&Number.isFinite(t)?t:qt[e]}var GT="sf-gap-overlap",UT="--sf-gap-overlap",jm="--sf-block-gap",$T="--sf-block-gap-rem",bt={min:0,max:Yo.max,step:Yo.step};function qT(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),bt.min),bt.max);return o-o%bt.step}function xz(e){let o=qT(e);return o===null?{}:{[jm]:`${o}px`,[$T]:`${o/16}rem`}}var Gm="sf-gap-zone",Um="--sf-gap-len";function Pi(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min?!0:typeof o=="string"&&typeof qm[e]?.[o]=="number"}var jT={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function Iz(e,o,t){if(!Pi(e,o)){let a=`${qt[e]}px`,n=WT.has(e)?`var(--sf-card-gap, ${a})`:a;return{className:` ${Gm}`,style:{[Um]:`var(${jm}, ${n})`}}}let r=qr(e,o);return r>=0?{className:` ${Gm}`,style:{[Um]:`${r}px`}}:{className:` ${GT} ${jT[t]}`,style:{gap:"0px",[UT]:`${-r/2}px`}}}var Km=["transparent","var(--section-bg)","var(--surface)","var(--surface-2)"],Vm={transparent:"No fill","var(--section-bg)":"Section band","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Sn="var(--section-bg)",Cn="inherit";function gz(e,o){return e===Cn?Sn:e===void 0?o:vn(e)}var KT=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function vn(e){return e.replace(KT,"var(--site-$1")}function Ym(e,o){return e===Cn?!0:e===void 0&&o===Sn}var Xm=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],Zm={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},jt="var(--wheel-stage)",wn="transparent",jr="inherit";function Sz(e,o){return vn(Li(e,o))}function Li(e,o){return e===jr?jt:e==null?o:e===!0?jt:e===!1?wn:e}function Cz(e){return typeof e=="string"&&e!==jr?vn(e):jt}function vz(e){return e!==wn&&e!=="none"&&e!==""}function Qm(e,o){return e===jr||e===!0?!0:e==null?o===jt:!1}var Jm="inherit",kn="fixed",ex=e=>typeof e!="number"&&e!==kn,VT="var(--sf-heading-max, 9999px)";function kz(e,o,t,r){if(typeof e=="number")return`${e}px`;if(e===kn)return o;let a=r?`var(--size-${r}, ${o})`:o;return t==="heading"?`min(${a}, ${VT})`:a}var _e={min:1e3,max:2e3,step:50,default:1600};function ox(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}function Fz(e,o){if(e!==!1)return null;let t=typeof o=="number"?o:_e.default;return ox(t)}var tx="--sf-site-width",Tn=`var(${tx},${_e.default}px)`,Ez=`max-w-[${Tn}]`,Pz=`max-w-[${_e.default}px]`;function YT(e){return typeof e!="number"||!Number.isFinite(e)?_e.default:Math.round(Math.min(Math.max(e,_e.min),_e.max))}function Lz(e){let o=YT(e);return o===_e.default?{}:{[tx]:`${o}px`}}var Co={min:0,max:80,step:4,default:40},rx="--sf-site-gutter",$e=`var(${rx},${Co.default}px)`,XT=`px-[${$e}]`;var Xo={md:`min(24px,${$e})`,sm:`min(20px,${$e})`,frame:`min(24px,${$e})`,tabs:`min(16px,${$e})`},Oz=[[`max-[1100px]:px-[${Xo.md}]`,"max-[1100px]:px-6"],[`max-[1100px]:px-[${Xo.tabs}]`,"max-[1100px]:px-4"],[`max-[960px]:px-[${Xo.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${Xo.md}]`,"max-[900px]:px-6"],[`max-[800px]:px-[${Xo.md}]`,"max-[800px]:px-6"],[`max-[720px]:px-[${Xo.sm}]`,"max-[720px]:px-5"],[`max-[800px]:px-[${Xo.sm}]`,"max-[800px]:px-5"],[`max-[640px]:px-[${Xo.sm}]`,"max-[640px]:px-5"],[`min-[800px]:px-[${$e}]`,"min-[800px]:px-10"],[`max-[720px]:px-[min(24px,${$e})]`,"max-[720px]:px-6"],[`max-[800px]:-mx-[min(20px,${$e})]`,"max-[800px]:-mx-5"],[`max-[720px]:-mx-[min(20px,${$e})]`,"max-[720px]:-mx-5"],[`-mx-[${$e}]`,"-mx-10"],[XT,"px-10"]];var Rz="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]";function ZT(e){return typeof e!="number"||!Number.isFinite(e)?Co.default:Math.round(Math.min(Math.max(e,Co.min),Co.max))}function Az(e){let o=ZT(e);return o===Co.default?{}:{[rx]:`${o}px`}}var Fn=`min(var(--sf-page-cap,${Tn}),${Tn})`,Bz=`max-w-[${Fn}]`,_z=`max-w-[min(var(--sf-page-cap,${_e.default}px),${_e.default}px)]`,ax="--sf-hero-cap",QT=`var(${ax},none)`,Dz=`max-w-[${QT}]`,Oi="--sf-hero-bleed-m",Ri="--sf-hero-bleed-w",Nz=`var(${Oi},calc(50% - 50vw))`,Mz=`var(${Ri},100vw)`,Hz=`mx-[var(${Oi},calc(50%_-_50vw))]`,zz=`w-[var(${Ri},100vw)]`,Ai="--sf-hero-chrome-x",Bi="--sf-hero-chrome-cap";function Wz(e){return e===!0?{[ax]:Fn,[Oi]:"auto",[Ri]:"100%",[Ai]:"24px",[Bi]:"none"}:{}}var _i=`calc(${Tn} - ${$e}*2)`,Gz=`max-w-[${_i.replace(/ /g,"_")}]`;var JT="--sf-chrome-cap",e0=`var(${JT},${_i})`,Uz="data-page-width";function $z(e){return e==="full"?"full":null}function qz(e){return e==="full"?null:ox(e==="content"?_i:e0)}function jz(e){if(e==="full")return"full";if(e==="content")return"content"}var o0=["contained","page","full"],nx=["full","page"],Kr={full:"Full width",page:"Content width"},Di="inherit",t0=e=>typeof e=="string"&&o0.includes(e),r0=e=>e===Di;function Ni(e,o){let t=typeof e.pageWidth=="number"?e.pageWidth:_e.default;return r0(e.widthMode)?{mode:"full",pageWidth:t,inherited:!0}:e.widthMode==="contained"?{mode:"page",pageWidth:t,inherited:!1}:t0(e.widthMode)?{mode:e.widthMode,pageWidth:t,inherited:!1}:e.contained===!0?{mode:"page",pageWidth:t,inherited:!1}:typeof e.fullWidth=="boolean"?{mode:e.fullWidth?"full":"page",pageWidth:t,inherited:!1}:e.contained===!1?{mode:"full",pageWidth:t,inherited:!1}:{mode:o,pageWidth:t,inherited:o==="full"}}function Mi(e){return Ni(e,"page").mode==="full"}import{jsx as a0}from"react/jsx-runtime";import{createContext as n0,useContext as l0}from"react";var s0=2,i0=s0+1,lx=n0(2);function sx({tier:e,children:o}){return a0(lx.Provider,{value:e,children:o})}function Hi(e){let o=l0(lx);return i0+Math.max(0,e-o)}import{withStyleKind as iF}from"efficient-easel/style-clipboard";import{TEXT_CONTROL_KINDS as fG,SCALAR_TEXT_CONTROLS as cG}from"efficient-easel/draw";function Vt(e){for(let[o,t]of Object.entries(e))t&&typeof t=="object"&&!Do(t)&&iF(t,`section:${o}`);return e}function Ex(){return null}function Ui(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return I(Ex,{},e)}function fF(e){return e.type===Ex}function vo(e){return fF(e)?void 0:e}function St(e,o){return l("{value} from {from}",{value:e,from:o})}function cF(){let{appState:e}=Yr(a=>a),o=e.data.root?.props??{},{mode:t,pageWidth:r}=Ni(o,"full");return t==="page"?St(`${r}px`,l("the page")):t==="contained"?St(l("Contained"),l("the page")):St(l("Full"),l("the page"))}function dF(){let{blockGap:e}=X();return e===null?l("this container's own spacing"):St(`${e}px`,l("Site styles"))}function uF({inherited:e,onReset:o,label:t}){return I(qe,{words:j()?.panel,label:l(t),changed:!e,detail:dF(),onReset:o})}function pF({inherited:e,onReset:o,label:t}){return I(qe,{words:j()?.panel,label:l(t),changed:!e,detail:cF(),onReset:o})}function Yt({value:e,onChange:o,label:t,placeholder:r,hint:a,multiline:n,hideable:s=!0,markup:i=!0}){let{text:f,hidden:u}=Qo(e),p=Wi(null),m=Wi(null),x=w=>o(s?{text:w,hidden:u}:w),h=()=>o({text:f,hidden:!u}),b=s&&u,C=c0(),k=a?bF(a)?I("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(a)}):I(tp,{children:l(a)}):void 0,v=u?l("Show {label} on the slide",{label:l(t)}):l("Hide {label} on the slide",{label:l(t)});return I(ne,{label:l(t),icon:I(U0,{}),htmlFor:C,className:b?"is-hidden":void 0,hint:k,action:s?I(Fx,{content:v,children:I("button",{type:"button",className:"sf-field-eye","aria-pressed":u,"aria-label":v,onClick:h,children:u?I(ix,{name:"eye-off",size:14}):I(ix,{name:"eye",size:14})})}):void 0,children:Ct("div",{className:"sf-copybox",children:[i&&I(Qs,{target:n?m:p,value:f,onChange:x}),n?I("textarea",{id:C,ref:m,value:f,placeholder:r===void 0?void 0:l(r),onChange:w=>x(w.target.value)}):I("input",{id:C,ref:p,type:"text",value:f,placeholder:r===void 0?void 0:l(r),onChange:w=>x(w.target.value)})]})})}function aG(e,o){return{...e,[m0]:o}}function nG(e){let o=e[Bo];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[Bo]:{...o,offPage:!0}}}function Ln(e){return!e||typeof e!="object"?!1:e[Bo]?.offPage===!0}var Px="sfPanelOnly";function lG(e){if(!e[Bo])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[Px]:!0}}function Lx(e){return!!e&&typeof e=="object"&&e[Px]===!0}function sG(e){let o=e[Bo];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[Bo]:{...o,identifier:!0}}}function dG(e,o){if(!e[Bo])throw new Error("inOwnBox: the field holds no authored text");let{[Pp]:t,...r}=e;return{...r,[ei]:!0,render:o}}var mF=new Set(sF),Xt=(e,o)=>{let t={...o,[Bo]:e};if(!mF.has(e.control))return t;let r=o.render;return{...Hr(t,"authored-copy"),render:a=>I(Ap,{name:a.name,children:r(a)})}},uG="Everything else on this block comes from the linked post. Unlink it to edit by hand.",xF={field:"source.slug",set:!0},pG={not:xF},IF="Select a word, then press the highlighter.",hF="A short name so a link can jump straight to this section, like yoursite.com/page#about.",gF=new Set([IF]),bF=e=>gF.has(e);function mG(e,o,t){return Xt({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Yt,{value:r,onChange:a,label:e,placeholder:o,hint:t})})}function xG(e,o,t){return Xt({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Yt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0})})}function yF(e,o,t){return Xt({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Yt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function IG(e,o,t){return Xt({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Yt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1})})}function hG(e){return{type:"custom",[u0]:{label:e},render:({value:o,onChange:t})=>I(bm,{value:d0(o),onChange:t,label:e})}}function gG(e,o,t){return Xt({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Yt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var Ox={Design:x0,Animation:xx};function Rx(e,o){return e.includes("Design")?o!=="Design":null}function SF({label:e}){return I(j0,{title:l(e),level:Hi(1)})}function CF({level:e,label:o}){return e===1?I(SF,{label:o}):I(Zt,{label:o})}function Ax(e,o){return{type:"custom",[Gi]:{label:e,level:o},render:()=>I(CF,{level:o,label:e})}}function He(e){return Ax(e,2)}function bG(e){return{type:"custom",render:()=>I(vF,{text:e})}}function vF({text:e}){return I("p",{className:"sf-note",children:l(e)})}function yG(e){return Ax(e,1)}function SG(e){return Do(e)!==null&&e?.tabs!==void 0}var fx=new Map;function On(e,o){let t=`${e}\0${o?o.join(""):""}`,r=fx.get(t)??{type:"custom",tabs:o,[Gi]:{label:e,level:1},bucket:e,marker:!0,render:()=>I(_o,{})};return fx.set(t,r),r}var cx=new Map;function $i(e){let o=cx.get(e)??{type:"custom",[Gi]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>I(_o,{})};return cx.set(e,o),o}function wF(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function Bx(e,o){return wF(e)===o?e:{...e,marker:!0,fold:o,render:()=>I(_o,{})}}function _x(e){let o=e;if(o.marker===!0&&o.fold===void 0)return e;let{fold:t,...r}=e;return{...r,marker:!0,render:()=>I(_o,{})}}function Zt({label:e}){return I(K0,{title:l(e),level:Hi(2)})}function Dx({swatches:e,current:o,onPick:t,names:r}){let a=e.find(i=>i.toLowerCase()===o.toLowerCase()),n=a?r?.[a]:void 0,s=n?l(n):o;return Ct("div",{className:"sf-swatches",children:[e.map(i=>{let f=r?.[i]?l(r[i]):i;return I(Fx,{content:f,children:I("button",{type:"button","aria-pressed":o.toLowerCase()===i.toLowerCase(),className:`sf-swatch ${o.toLowerCase()===i.toLowerCase()?"is-active":""}`,style:{background:i},onClick:()=>t(i),"aria-label":f})},i)}),I("span",{className:"sf-swatch-hex",children:s})]})}function CG(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=Ym(t,o);return I(ne,{label:l(e),icon:I(b0,{}),changed:!a,action:I(qe,{words:j()?.panel,label:l(e),changed:!a,detail:l("the theme's section background"),onReset:()=>r(Cn)}),children:Dx({swatches:Km,current:a?Sn:t??o??"",onPick:r,names:Vm})})}}}function kF(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=t,n=Qm(a,o);return I(ne,{label:l(e),icon:I(R0,{}),changed:!n,action:I(qe,{words:j()?.panel,label:l(e),changed:!n,detail:l("the theme's image stage"),onReset:()=>r(jr)}),children:Dx({swatches:Xm,current:n?jt:Li(a,o),onPick:r,names:Zm})})}}}function Rn(e=t=>t,o){return Vt({_gSectionTheme:He(lp),sectionAccent:{type:"custom",render:({value:t,onChange:r})=>I(nm,{value:e(t),onChange:r,followLabel:o})}})}function je({min:e,max:o,step:t,value:r,onChange:a,suffix:n="",readout:s=!0,notch:i,ariaLabel:f,disabled:u=!1}){let p=i!==void 0&&Number.isFinite(i)&&i>=e&&i<=o;return I("div",{className:p?"sf-slider has-notch":"sf-slider",style:p?{"--sf-notch":(i-e)/(o-e)}:void 0,children:I(lF,{min:e,max:o,step:t,value:r,suffix:n||void 0,showInput:s,label:f===void 0?void 0:l(f),disabled:u,size:"sm",className:"sf-slider-track",onChange:m=>{m!==null&&m!==r&&a(m)}})})}function Kt(e,o,t,r,a,n,s="",i){return{type:"custom",render:f=>I(ne,{label:l(e),icon:vo(o),action:i?i("storedValue"in f?f.storedValue:f.value,f.onChange):void 0,children:je({min:t,max:r,step:a,value:typeof f.value=="number"?f.value:n,suffix:s,ariaLabel:e,onChange:f.onChange})})}}function Nx(e,o){let{min:t,max:r,step:a=1,unsetLabel:n,hint:s,restTrack:i,unsetMark:f,icon:u}=o;return{type:"custom",render:({value:p,onChange:m})=>{let x=typeof p=="number"?p:null,h=x===null;return I(ne,{label:l(e),icon:u?vo(u):void 0,value:h?f||n===void 0?void 0:l(n):`${x}px`,changed:!h,action:f?px(f,{changed:!h,onReset:()=>m(null)}):I(qe,{words:j()?.panel,label:l(e),changed:!h,onReset:()=>m(null)}),hint:typeof s=="string"?l(s):s,children:i?i({min:t,max:r,step:a,px:x,label:e,onChange:m}):je({min:t,max:r,step:a,value:x??t,readout:!1,ariaLabel:e,onChange:m})})}}}function vG(e){let o=Kt("Gap",I(hx,{}),Yo.min,Yo.max,Yo.step,qt[e],"px",(t,r)=>I(uF,{inherited:!Pi(e,t),onReset:()=>r(void 0),label:"Gap"}));return{type:"custom",[$m]:e,render:t=>o.render({...t,value:qr(e,t.value,t.field?.siteGap),storedValue:t.value,onChange:r=>t.onChange(r)})}}var An="Corners";function qi(e){return{type:"custom",render:({value:o,onChange:t})=>{let r=typeof o=="number"&&Number.isFinite(o)?o:null,a=r!==null;return I(ne,{label:l(An),icon:I(w0,{}),changed:a,action:px(e.mark,{changed:a,onReset:()=>t(null)}),hint:e.hint,children:I(TF,{tier:e,px:r,onRadius:t})})}}}function Mx(e){let o=null;try{o=mx()}catch{o=null}return[o?.values?.[e],t=>o?.onChange(e,t)]}function TF({tier:e,px:o,onRadius:t}){let r=e.useFollowed(),a=e.useClosedReason?e.useClosedReason():null,[n,s]=Mx(e.sidesKey),i=Lo(n)??[...ct];return I(aF,{label:l(An),value:i,corners:Nu,onChange:f=>{let u=Lo(f)??[];s(u.length===ct.length?null:u)},radius:o,onRadiusChange:t,radiusMin:oo,radiusMax:lt,radiusStep:e.step??1,radiusPlaceholder:String(r),disabled:a!==null,disabledReason:a??void 0})}function Hx(){return Hr({type:"custom",render:()=>I(Wt,{})},"always")}function FF({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:r}=X(),a=typeof r=="number"?`${r}px`:l("not set");return I(qe,{words:j()?.panel,label:l(e),changed:o,detail:r==null?l("the built-in corners"):St(a,l("Site styles")),onReset:t})}function EF(){let{cornerRadiusPx:e}=X();return typeof e=="number"?e:oo}function PF(){return qi({sidesKey:"sectionCornerSides",useFollowed:EF,useClosedReason:()=>Wx()?l(zx):null,mark:I(FF,{label:An}),hint:I(LF,{})})}var zx="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function Wx(){return Mi(vt())}function LF(){return I(_o,{children:Wx()?zx:"Follows Site styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function Bn(){return Vt({_gShape:He("Shape"),sectionCorners:PF(),sectionCornerSides:Hx(),sectionBorder:dx("desktop"),sectionBorderPhone:dx("mobile")})}var OF=()=>({width:l("Border width"),sides:{top:l("Border top"),right:l("Border right"),bottom:l("Border bottom"),left:l("Border left")},style:l("Border style"),styles:{solid:l("Solid"),dashed:l("Dashed"),dotted:l("Dotted")},color:l("Border color"),unit:"px"});function RF(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function AF(){let e;try{let o=Qe(X().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||Zd.line}function BF({value:e,onChange:o,tier:t}){let[r]=Mx("sectionBorder"),a=AF(),n=e&&typeof e=="object"?e:{},s=t==="mobile"?r&&typeof r=="object"?r:{}:{},[i,f]=Pn(()=>J0(n,s)),u=OF();return I(ne,{label:l("Border"),icon:I(y0,{}),action:I(wx,{each:i,label:l("Each side"),onChange:f}),children:I(V0,{label:l("Border"),value:n,each:i,onChange:p=>o(RF(p)),placeholder:{sides:Q0(s),style:s.style??"solid",color:s.color||a},presets:[a],words:u,max:20})})}function dx(e){return ve(e,{type:"custom",render:({value:o,onChange:t})=>I(BF,{value:o,onChange:t,tier:e})})}function _n(){return{_gMotion:He("Motion"),sectionAnimation:Vi("Entrance",I(xx,{}),[...ip],$s)}}function ji(){let e=null;try{let{appState:o,selectedItem:t}=Yr(a=>a),r=t?.props?.id?String(t.props.id):void 0;e=r?js(o?.data,r):null}catch{e=null}return e!==null&&Mi(e)}function Gx(e){let{cornerRadiusPx:o}=X(),t=ji(),r=typeof o=="number"?o:e,a=null;try{let{appState:s,selectedItem:i}=Yr(u=>u),f=i?.props?.id?String(i.props.id):void 0;a=f?js(s?.data,f):null}catch{a=null}if(t||!a)return r;let n=a.sectionCorners;return Rs(n)?n:r}function _F({label:e,changed:o=!1,onReset:t=()=>{}}){let r=ji(),a=Gx(oo),n=r?"Site":"Section";return I(qe,{words:j()?.panel,label:l(e),changed:o,detail:St(`${a}px`,r?l("Site styles"):l("the section")),onReset:t})}function DF(){return I(_o,{children:ji()?l("The section is full width, so this card follows Site styles \u25B8 Basics \u25B8 Corners."):l("Follows the section's Corners until you set a number here.")})}function NF(){return qi({sidesKey:"cardCornerSides",useFollowed:()=>Gx(oo),mark:I(_F,{label:An}),hint:I(DF,{})})}function MF(){return{type:"custom",render:()=>I($u,{})}}function wG(){return{_gShape:He("Shape"),cardCorners:NF(),cardCornerSides:Hx(),cardCornersApplyAll:MF()}}function kG(){return Zo("Justify",I(g0,{}),wi,wi[0].value)}function TG(){return Zo("Item alignment",I(I0,{}),_m,"stretch")}function FG(){return Zo(Dm,I(q0,{}),ki,ki[0].value)}function EG(){return{type:"custom",render:({value:e,onChange:o})=>{let t=yn.find(r=>r.value===e)??yn[0];return I(ne,{label:l(Ti),icon:I(Ix,{}),value:l(t.label),children:I(Tx,{className:"sf-gallery-layouts",label:l(Ti),value:t.value,onChange:o,options:yn.map(r=>({value:r.value,label:l(r.label),picture:I("span",{className:"sf-gallery-pic",children:HF(r.weights).map((a,n)=>I("i",{style:{gridColumn:`span ${a}`}},n))})}))})})}}}function HF(e){if(!e)return[3,4];let o=e.reduce((t,r)=>t+r,0);return e.map(t=>Math.round(t/o*12))}function PG(){return Zo(Hm,I(hx,{}),Ei,Ei[0].value)}function LG(){return Kt(Nm,I(N0,{}),Fi,Mm,1,Fi)}function OG(e){let o=Vi(Lm,Ui("`Direction` names how a container's children run \u2014 a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),Rm(e),bn(e,void 0));return{type:"custom",render:t=>o.render({...t,value:bn(e,t.value),onChange:r=>t.onChange(r)})}}function RG(e,o,t,r,a,n){return{type:"custom",render:({value:s,onChange:i})=>I(ne,{label:l(e),icon:I(zs,{noun:n}),action:I(qe,{words:j()?.panel,label:l(e),changed:!ex(s),detail:l("the Text style in Site styles"),onReset:()=>i(Jm),defaultAction:{onPress:()=>i(kn),title:l("Keep this section's own built-in size"),icon:I(S0,{})}}),children:je({min:o,max:t,step:r,value:typeof s=="number"?s:a,suffix:"px",ariaLabel:e,onChange:i})})}}function AG(){return{_gCellWidth:He("Cell width"),gridSpan:Zo("Positions",I(Ix,{}),[{label:"Auto",value:""},...Array.from({length:Xa},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function vt(){let e=null;try{e=Yr(o=>o).selectedItem}catch{e=null}return e?.props??{}}function zF({min:e,max:o,step:t,px:r,label:a,onChange:n,desktopKey:s,fallback:i}){let f=vt()[s],u=nn(void 0,f,i);return I(_o,{children:je({min:e,max:o,step:t,value:nn(r,f,i),readout:!1,ariaLabel:a,notch:u,onChange:n})})}function WF({label:e,desktopKey:o,fallback:t,changed:r=!1,onReset:a=()=>{}}){let n=vt()[o],s=nn(void 0,n,t);return I(qe,{words:j()?.panel,label:l(e),changed:r,detail:l("{value} on desktop",{value:`${s}px`}),onReset:a})}function GF(e){return Nx(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:I(WF,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:o=>I(zF,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}function BG(e){return{type:"custom",render:({value:o,onChange:t})=>I($F,{...e,value:o,onChange:t})}}function UF({label:e,icon:o,options:t,value:r,resolved:a,restWord:n,onChange:s}){let i=t.some(f=>f.value===r);return I(ne,{label:l(e),icon:vo(o),action:I(qe,{words:j()?.panel,label:l(e),changed:i,detail:l("{value} on desktop",{value:l(n)}),onReset:()=>s(void 0)}),children:zn({options:t,value:i?r:a,onChange:f=>s(f),ariaLabel:e})})}function $F({label:e,icon:o,options:t,desktopKey:r,resolve:a,value:n,onChange:s}){let i=vt()[r],f=a(void 0,i),u=t.find(p=>p.value===f)?.label??"";return I(UF,{label:e,icon:o,options:t,value:n,resolved:f,restWord:u,onChange:s})}var qF={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},jF={Top:Cx,Bottom:bx,Left:yx,Right:Sx},KF=e=>{let o=jF[e];return I(o,{})};function _G(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",r=e.group!==!1,a=k=>qF[k],n=k=>Kt(a("Top"),I(Cx,{}),lo.min,lo.max,lo.step,k,"px"),s=(k,v,w,g=lo)=>ve("mobile",GF({label:a(k),icon:KF(k),desktopKey:v,min:g.min,max:g.max,step:g.step,fallback:w})),i=e.top??lo.min,f=e.bottom??lo.min,u="sectionPaddingLeft",p="sectionPaddingRight",m=e.sideBounds??lo,x=e.side??m.min,h=e.sidePhone??x,b=e.phone===!0,C=k=>b?ve("desktop",k):k;return Vt({...r?{_gSpacing:He("Padding")}:{},[o]:C(n(i)),...b?{[Ao(o)]:s("Top",o,i)}:{},...e.only==="top"?{}:{[t]:C(Kt(a("Bottom"),I(bx,{}),lo.min,lo.max,lo.step,f,"px")),...b?{[Ao(t)]:s("Bottom",t,f)}:{}},...e.sides?{[u]:C(Kt(a("Left"),I(yx,{}),m.min,m.max,m.step,x,"px")),...b?{[Ao(u)]:s("Left",u,h,m)}:{},[p]:C(Kt(a("Right"),I(Sx,{}),m.min,m.max,m.step,x,"px")),...b?{[Ao(p)]:s("Right",p,h,m)}:{}}:{}})}var Vr=["top","right","bottom","left"],VF={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},ux=e=>typeof e=="number"?e:null;function YF(e,o,t){let r={};for(let a of Vr)t[a]!==o[a]&&(r[e[a]]=t[a]??void 0);return r}function XF({tier:e,o}){let t=null;try{t=mx()}catch{t=null}let r=t?.values??{},a=e==="mobile"?o.phoneKeys:o.keys,n=Object.fromEntries(Vr.map(u=>[u,ux(r[a[u]])])),s=Object.fromEntries(Vr.map(u=>[u,String(e==="mobile"?ux(r[o.keys[u]])??o.fallback[u]:o.fallback[u])])),[i,f]=Pn(()=>Z0(n,s));return I(ne,{label:l("Padding"),icon:I(D0,{}),action:I(wx,{each:i,label:l("Each side"),onChange:f}),children:I(X0,{label:l("Padding"),each:i,value:n,placeholder:s,min:o.min,max:o.max,step:o.step,onChange:u=>{let p=YF(a,n,u);Object.keys(p).length&&t?.onChangeMany(p)},words:{sides:{top:l("Padding top"),right:l("Padding right"),bottom:l("Padding bottom"),left:l("Padding left")},vertical:l("Top and bottom"),horizontal:l("Left and right"),unit:"px"}})})}function Dn(e={}){let o={...VF,...e.keys},t={keys:o,phoneKeys:Object.fromEntries(Vr.map(i=>[i,Ao(o[i])])),fallback:{top:0,right:0,bottom:0,left:0,...e.fallback},min:e.min??0,max:e.max??200,step:e.step??4},r=e.phone!==!1,a=i=>{let f={type:"custom",render:()=>I(XF,{tier:i,o:t})};return r?ve(i,f):f},n=()=>Hr({type:"custom",render:()=>I(Wt,{})},"always"),s=Vr.filter(i=>i!=="top");return Vt({...e.group===!1?{}:{_gSpacing:He("Padding")},[t.keys.top]:a("desktop"),...r?{[t.phoneKeys.top]:a("mobile")}:{},...Object.fromEntries(s.map(i=>[t.keys[i],{...n(),reachedBy:t.keys.top}])),...r?Object.fromEntries(s.map(i=>[t.phoneKeys[i],ve("mobile",n())])):{}})}var ZF={contained:"Contained",page:"Page",full:"Full"},En="Width";function Nn(e,o=nx,t=!0){let r=o.map(a=>({label:Kr[a]??ZF[a],value:a}));return Vt({...t?{_gWidth:He(En)}:{},widthMode:{type:"custom",render:({onChange:a,field:n})=>I(ne,{label:l(En),icon:I($0,{}),action:t?I(pF,{inherited:n?.inherited??!1,onReset:()=>a(Di),label:En}):void 0,children:zn({options:r,value:n?.currentValue||e,onChange:a,ariaLabel:En})})}})}function Mn(){let e=r=>({type:"custom",render:({value:a,onChange:n})=>I(ne,{label:$t,icon:vo(I(A0,{})),action:r?r(n):void 0,children:zn({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(a)?a:"auto",onChange:n,ariaLabel:$t})})}),o=()=>({type:"custom",render:({value:r,onChange:a,field:n})=>{let s=n?.unit==="%"?"%":"px",i=s==="%"?yi:bi;return I("div",{className:"sf-field",children:je({min:i.min,max:i.max,step:i.step,value:typeof r=="number"?r:i.fallback,suffix:s,ariaLabel:$t,onChange:a})})}}),t=()=>Vi("Unit",I(gx,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return Vt({_gHeight:He($t),sectionHeightMode:ve("desktop",e()),sectionHeightValue:ve("desktop",o()),sectionHeightUnit:ve("desktop",t()),sectionHeightModePhone:ve("mobile",e(r=>I(QF,{onClear:()=>r(void 0)}))),sectionHeightValuePhone:ve("mobile",o()),sectionHeightUnitPhone:ve("mobile",t())})}function QF({onClear:e}){let o=vt(),t=Si(o),r=hn(o),a=l("{value} on desktop",{value:r.mode==="auto"?l("Auto"):`${r.value}${r.unit}`});return I(qe,{words:j()?.panel,label:l($t),changed:t,detail:a,onReset:e})}function Ki(){let e=t=>({type:"custom",render:({value:r,onChange:a,id:n,name:s})=>I(JF,{value:r,onChange:a,labelId:`${n??s??"stickTop"}-label`,phone:t})}),o=()=>({type:"custom",render:({value:t,onChange:r})=>I("div",{className:"sf-field",children:je({min:Vo.min,max:Vo.max,step:Vo.step,value:typeof t=="number"?t:Vo.fallback,suffix:"px",ariaLabel:l("Distance from top"),onChange:r})})});return{_gStick:He(gn),stickTop:ve("desktop",e(!1)),stickTopDistance:ve("desktop",o()),stickTopPhone:ve("mobile",e(!0)),stickTopDistancePhone:ve("mobile",o())}}function JF({value:e,onChange:o,labelId:t,phone:r}){let a=vt(),n=vi(a),s=r?n.phone:e===!0;return I(ne,{label:l(gn),labelId:t,icon:vo(I(z0,{})),action:Ct(_o,{children:[r?I(qe,{words:j()?.panel,label:l(gn),changed:Ci(a),detail:l("{value} on desktop",{value:n.desktop?`${n.desktopDistance}px`:l("Off")}),onReset:()=>o(void 0)}):null,I(kx,{checked:s,onChange:o,ariaLabelledBy:t})]})})}function Hn(){return{_gAnchor:He("Anchor"),anchor:yF("Anchor name","e.g. about",hF)}}function DG(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=`${n??s??e}-datetime`,f=Date.parse(typeof r=="string"?r:"");return I(ne,{label:l(e),icon:o,htmlFor:i,hint:t===void 0?void 0:l(t),children:I(nF,{id:i,value:Number.isFinite(f)?new Date(f):null,onChange:u=>a(u?u.toISOString():"")})})}}}function yt(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=typeof r=="boolean"?r:o,f=`${n??s??e}-label`;return I(ne,{label:l(e),labelId:f,icon:t,action:I(kx,{checked:i,onChange:a,ariaLabelledBy:f})})}}}function NG(){return{type:"custom",render:({value:e,onChange:o,id:t,name:r})=>{let a=`${String(t??r??"pageBackground")}-colour`;return I(ne,{label:l("Background"),icon:I(vx,{}),htmlFor:a,action:I(to,{id:a,label:"Background",value:Ws(e),onChange:o})})}}}var MG={follows:"fill"},HG={follows:"ink"};function zG(e,o,t){if(typeof o!="string"){let r=o.follows;return{type:"custom",render:({value:a,onChange:n})=>I(eE,{label:e,part:r,icon:t,value:a,onChange:n})}}return{type:"custom",render:({value:r,onChange:a})=>I(ne,{label:l(e),icon:t,action:to({value:r||o,onChange:a,label:e})})}}function eE({label:e,part:o,icon:t,value:r,onChange:a}){let n=tu(X().theme),s=o==="fill"?n.fill:n.ink;return I(rn,{label:l(e),icon:t,value:r||"",inherited:s,resetTo:St(s.toUpperCase(),l("Site styles")),onChange:a,onReset:()=>a("")})}var oE=[{value:"0% 0%",label:"Top left"},{value:"50% 0%",label:"Top"},{value:"100% 0%",label:"Top right"},{value:"0% 50%",label:"Left"},{value:"50% 50%",label:"Center"},{value:"100% 50%",label:"Right"},{value:"0% 100%",label:"Bottom left"},{value:"50% 100%",label:"Bottom"},{value:"100% 100%",label:"Bottom right"}];function Ux({label:e,value:o,onChange:t,points:r=oE}){let a=r.map(n=>({...n,label:l(n.label),...n.title?{title:l(n.title)}:null}));return I(rF,{label:l(e),value:o,points:a,onChange:t})}function WG(){return Hr({type:"custom",render:()=>I(Wt,{})},"always")}var tE=Ns([]);function GG(e,{stacking:o,fallback:t=Za}){return{type:"custom",render:({value:r,onChange:a})=>{let n=ho.includes(r)?r:t;return o?I(rE,{label:e,value:n,onChange:a}):$x({label:e,value:n,onChange:a,points:tE})}}}function rE({label:e,value:o,onChange:t}){let{appState:r,selectedItem:a}=Yr(i=>i),n=a?.props?.id?String(a.props.id):void 0,s=n?Hs(r?.data,n):[];return $x({label:e,value:o,onChange:t,points:Ns(s,n)})}function $x({label:e,value:o,onChange:t,points:r}){let a=r.find(n=>n.disabled);return I(ne,{label:l(e),icon:I(M0,{}),hint:a?.title?l(a.title):void 0,children:Ux({label:e,value:dt(o),onChange:t,points:r})})}var UG={top:I(E0,{}),right:I(F0,{}),bottom:I(k0,{}),left:I(T0,{})};function $G(e,o,t,r,a,n){let s=p=>o.find(m=>m.value===p),i=p=>({value:p,label:"",disabled:!0,title:r}),f=p=>{let m=o.find(h=>h.cell===p);if(!m)return i(`missing-${p}`);let x=n?.[p];return x?{value:m.value,label:m.label,icon:x}:{value:m.value,label:m.label}},u=[i("corner-top-left"),f("top"),i("corner-top-right"),f("left"),i("centre"),f("right"),i("corner-bottom-left"),f("bottom"),i("corner-bottom-right")];return{type:"custom",render:({value:p,onChange:m})=>{let x=o.some(h=>h.value===p)?p:t;return I(ne,{label:l(e),icon:a,value:s(x)?.label?l(s(x).label):"",children:Ux({label:e,value:x,onChange:m,points:u})})}}}var aE="\0note";function Zo(e,o,t,r,a){return{type:"custom",options:t,fallback:r,...a?{note:a}:{},render:({value:n,onChange:s,field:i})=>{let f=i.options??t,u=i.fallback??r,p=f.some(m=>m.value===n)?n:u;return I(ne,{label:l(e),icon:vo(o),children:I(eF,{value:p,ariaLabel:l(e),onChange:s,options:[...a?[{label:l(a),value:aE,disabled:!0}]:[],...f.map(m=>({label:l(m.label),value:m.value}))]})})}}}function qG(e,o,t){return{type:"custom",options:o,render:({value:r,onChange:a,field:n})=>I(Up,{label:e,options:(n.options??o).map(s=>({...s,label:l(s.label)})),value:Array.isArray(r)?r:[],onChange:a,...t?{emptyLabel:l(t)}:{}})}}function jG(e,o={}){return{type:"custom",render:({value:t,onChange:r})=>{let a={value:t,onChange:r,...o};return I(e,{...a})}}}function zn({options:e,value:o,onChange:t,ariaLabel:r,disabled:a=!1}){return I(Y0,{options:e.map(n=>n.picture?{id:n.value,label:n.picture,title:l(n.title??n.label)}:{id:n.value,label:l(n.label),title:n.title===void 0?void 0:l(n.title)}),value:o,onChange:t,ariaLabel:l(r),disabled:a})}var KG=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function Vi(e,o,t,r){let a=t.map(n=>typeof n=="string"?{label:n,value:n}:n);return{type:"custom",render:({value:n,onChange:s,field:i})=>I(ne,{label:l(e),icon:vo(o),children:zn({options:a,value:a.some(f=>f.value===n)?n:n||i?.currentValue||r,onChange:s,ariaLabel:e})})}}function VG(e,o,t,r={}){return{type:"custom",[p0]:!0,render:({value:a,onChange:n})=>I(Wp,{value:a||"",onChange:n,label:e,accept:o,placeholder:t,focusKey:r.focus,focusWhen:r.focusWhen})}}function YG({value:e,onChange:o,label:t}){let r=e||{},a=!!r.pending,n=a?"var(--fg-dim, #888)":r.ok?"#1d9e75":"#d85a30",s=(i,f)=>o({...r,[i]:f===""?void 0:Number(f)});return Ct(ne,{label:l(t),icon:I(zi,{}),children:[I("button",{type:"button",disabled:a,onClick:()=>o({...r,pending:!0,ok:!1,status:"Finding\u2026"}),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"8px 10px",fontSize:13,cursor:a?"default":"pointer",opacity:a?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:a?l("Finding\u2026"):l("Find coordinates")}),r.status&&I("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:n},children:l(r.status)}),I("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:l("Coordinates from OpenStreetMap")}),I("button",{type:"button",onClick:()=>o({...r,manual:!r.manual}),style:{marginTop:8,padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer",textDecoration:"underline"},children:r.manual?l("Hide manual coordinates"):l("Enter coordinates manually")}),r.manual&&Ct("div",{style:{marginTop:8,display:"grid",gap:8},children:[I(ne,{label:l("Latitude"),icon:I(zi,{}),children:I("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"34.0990198"}),value:typeof r.lat=="number"?r.lat:"",onChange:i=>s("lat",i.target.value)})}),I(ne,{label:l("Longitude"),icon:I(zi,{}),children:I("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"-117.9842833"}),value:typeof r.lng=="number"?r.lng:"",onChange:i=>s("lng",i.target.value)})})]})]})}function nE(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function lE(e,o,t){let r=e.map(a=>({text:a?.text??""}));return o===null||o<0||o>=e.length?r:r.map((a,n)=>n===o?{text:t}:a)}function sE(e,o,t){if(t===null||t>=o.length)return null;for(let r=0;r<t;r+=1)if(e[r]!==o[r])return null;return e[t]!==o[t]&&o.includes(e[t])||e[t]!==o[t]&&o.length!==e.length?null:t}var Yi={label:"Ticker items",icon:I(_0,{})};function XG(e,o,t,r){return{type:"custom",[Bo]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:r},render:({value:a,onChange:n})=>I(Xi,{label:e,icon:vo(o),items:Array.isArray(a)?a:[],placeholder:t,onChange:n,markup:r==="markup"})}}function Xi({label:e,icon:o,items:t,placeholder:r,onChange:a,markup:n=!1}){let s=Wi(null),[i,f]=Pn(null),u=m=>m.map(x=>({text:x?.text??""})),p=m=>{let x=sE(t,m,i);x===null&&(s.current=null),f(x),a(u(m))};return I(oF,{label:l(e),icon:o,noun:l("item"),items:t,onChange:p,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?I(Qs,{target:s,value:nE(t,i),onChange:m=>a(lE(t,i??-1,m)),disabled:i===null,label:i===null?l("Formatting \u2014 click a row first"):l("Formatting \u2014 row {n}",{n:i+1})}):void 0,renderRow:(m,x,h)=>I("input",{type:"text",className:n&&i===x?"sf-list-marking":void 0,value:m?.text??"",placeholder:l(r),"aria-label":l("{label} {n}",{label:l(e),n:x+1}),onChange:b=>h({text:b.target.value}),onFocus:b=>{s.current=b.currentTarget,f(x)}})})}function qx(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Xt({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:r,onChange:a})=>I(Yt,{value:r,onChange:a,label:l("{label} \u2014 row {n}",{label:l(e.label),n:o+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function jx(e){return{_gCards:He("Cards"),coverIndex:Zo("Cover image",I(B0,{}),_p,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:kF("Image background",wn),cardImage:fE(),spinOnHover:yt("Rotate on hover",e?.spinDefault??!0,I(W0,{}))}}function Kx(){return{outline:Zo("Card outline",I(G0,{}),li,ai),indexBadge:Zo("Card number",I(gx,{}),ni,ri),showBadge:yt("Product badge",!0,I(zs,{noun:"tag"}))}}function Vx(e){let o=e&&"bottomDefault"in e?e.bottomDefault:!0,t=e&&"defaults"in e?e.defaults:{showCardSizes:o,showCardBuy:o,showCardPage:o};return{_gShowOnCard:He("Show on a card"),showCardPrice:yt("Price",!0,I(P0,{})),showCardFinishes:yt("Finish swatches",!0,I(L0,{})),showCardSizes:yt("Sizes",t.showCardSizes,I(H0,{})),showCardBuy:yt("Buy button",t.showCardBuy,I(C0,{})),showCardPage:yt("Page button",t.showCardPage,I(vx,{}))}}function ZG(e,o="display"){let t=Ao(o);return{[o]:ve("desktop",{type:"custom",render:({value:r,onChange:a})=>I(Yx,{parts:e,changed:cp(r),shown:n=>tn(r,n),onPress:(n,s)=>a(up(r,n,s)),onReset:()=>a(void 0)})}),[t]:ve("mobile",{type:"custom",render:({value:r,onChange:a})=>I(iE,{parts:e,desktopKey:o,value:r,onChange:a})})}}function Yx({parts:e,changed:o,shown:t,onPress:r,onReset:a,detail:n}){let s=l("Display");return I(ne,{label:s,icon:I(h0,{}),changed:o,action:I(qe,{words:j()?.panel,label:s,changed:o,detail:n,onReset:a}),children:I(tF,{label:s,items:e.map(i=>({id:i.id,label:l(i.label),shown:t(i.id)})),onChange:r})})}function iE({parts:e,desktopKey:o,value:t,onChange:r}){let a=vt()[o];return I(Yx,{parts:e,changed:dp(t),shown:n=>Ks(a,t,n),onPress:(n,s)=>r(pp(t,n,s)),onReset:()=>r(ln),detail:l("the same as Desktop")})}function fE(){return Nx("Card image",{min:oo,max:lt,step:qu,hint:"Rounds the picture. The card's own corner is in Site styles."})}function QG(){return qi({sidesKey:"cornerSides",step:ju,useFollowed:()=>oo,mark:I(cE,{label:Ku}),hint:l("Rounds the picture. Left alone it stays square.")})}function cE({label:e,changed:o=!1,onReset:t=()=>{}}){return I(qe,{words:j()?.panel,label:l(e),changed:o,onReset:t})}function JG(){return{type:"custom",render:({value:e,onChange:o})=>I(dE,{value:typeof e=="string"?e:"",onChange:o})}}function dE({value:e,onChange:o}){let[t,r]=Pn(null),a=Bs.filter(s=>t===null||Oo[s].across===t),n=e&&e in Oo?Oo[e]:null;return Ct(_o,{children:[I(ne,{label:l("Photos in a row"),icon:I(v0,{}),children:Ct("div",{className:"sf-gallery-filter",children:[I("button",{type:"button","aria-pressed":t===null,onClick:()=>r(null),children:l("All")}),Yu.map(s=>I("button",{type:"button","aria-pressed":t===s,onClick:()=>r(s),children:s},s))]})}),I(ne,{label:l("Layout"),icon:I(O0,{}),value:n?l(n.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:a.length,total:Bs.length}),children:I(Tx,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:o,onClear:()=>o(""),options:a.map(s=>({value:s,label:l(Oo[s].label),picture:I("span",{className:"sf-gallery-pic",children:Oo[s].desktop.map(([i,f],u)=>I("i",{style:{gridColumn:`span ${i}`,gridRow:`span ${f}`}},u))})}))})})]})}import{jsx as Wn,Fragment as uE,jsxs as Xx}from"react/jsx-runtime";import{Button as Zx,Dialog as pE}from"efficient-shell/ui";function mE(e){return it("This site has {n} color theme of its own. Clearing takes them away and puts back the four the shop supplies.","This site has {n} color themes of its own. Clearing takes them away and puts back the four the shop supplies.",e)}function Qx({count:e,onCancel:o,onConfirm:t}){return Xx(pE,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Clear this site\u2019s colors?"),footer:Xx(uE,{children:[Wn(Zx,{variant:"secondary",onClick:o,children:l("Cancel")}),Wn(Zx,{variant:"danger",onClick:t,children:l("Clear colors")})]}),children:[Wn("p",{children:mE(e)}),Wn("p",{className:"mt-2 font-medium",children:l("This cannot be undone.")})]})}var yE=Ui("the row's whole content is an action; the gutter names a subject and this row has none \u2014 the button's label is the name GG, 2026-09-23"),SE="Reset color",CE={selected:0,themes:[]};function vE(e){e(CE)}function oI({value:e,onChange:o}){let t=e?.themes??[],r=t.length===0,a=Qe(e),[n,s]=eI(!1),i=gE(),[f,u]=eI(null),p=(v,w)=>{o({...a,themes:a.themes.map((g,y)=>y===v?w:g)})},m=Bt(a).accent,x=new Set(a.themes.map(v=>v.brandInk).filter(Boolean)),h=Qd.filter(v=>!x.has(v)).map(v=>Jd(m,v)),b=[...a.themes,...h],C=v=>{if(v<a.themes.length)return o({...a,selected:v});let w=[...a.themes,b[v]];o({...a,themes:w,selected:w.length-1})},k=()=>{let v=[...a.themes,{...xo(a.themes[a.selected])}];o({...a,themes:v,selected:v.length-1}),u(v.length-1)};return Jx(xE,{children:[r?null:Qt(hE,{label:l(SE),icon:vo(yE),labelId:"sf-theme-reset",action:Qt(IE,{label:l("all theme colors"),words:i.panel,changed:!0,onReset:()=>s(!0)})}),n&&Qt(Qx,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),vE(o)}}),Qt("div",{className:"sf-theme-list",role:"radiogroup","aria-label":l("Theme"),children:b.map((v,w)=>Qt(cn,{index:w,colors:v,selected:w===a.selected,open:f===w&&w<a.themes.length,editable:w<a.themes.length,onPick:()=>C(w),onEdit:()=>u(g=>g===w?null:w),onChangeColors:g=>p(w,g)},w))}),Jx("button",{type:"button",onClick:k,className:"sf-theme-add",children:[Qt(bE,{size:12}),l("Add new theme")]})]})}import{jsx as Gn}from"react/jsx-runtime";import{SettingsDefaultReset as wE,SettingsField as kE}from"efficient-easel/panel";import{SquareIcon as TE}from"efficient-easel/icons";var FE="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",Zi="Corners";function tI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Gn(kE,{label:l(Zi),icon:Gn(TE,{}),value:r?l("Default"):`${e}px`,changed:!r,action:Gn(wE,{words:j()?.panel,label:l(Zi),changed:!r,detail:l("the built-in corners"),onReset:()=>o(null)}),hint:t?l(FE):void 0,children:Gn(je,{min:oo,max:lt,step:1,value:e??oo,readout:!1,ariaLabel:l(Zi),onChange:o})})}import{jsx as Xr}from"react/jsx-runtime";import{SettingsDefaultReset as EE,SettingsField as PE,SettingsSegmented as LE}from"efficient-easel/panel";import{ShadowIcon as OE}from"efficient-easel/icons";var Qi={none:"None",soft:"Soft",lifted:"Lifted"},RE="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",AE={none:"none",soft:"0 1px 1px rgba(20, 20, 22, 0.10), 0 2px 4px -1px rgba(20, 20, 22, 0.14)",lifted:"0 1px 2px rgba(20, 20, 22, 0.10), 0 4px 7px -2px rgba(20, 20, 22, 0.30)"},BE={labelsPx:90.25,widestLabelPx:34.6};function rI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??ys;return Xr(PE,{label:l("Card shadow"),icon:Xr(OE,{}),value:l(Qi[a]),changed:!r,action:Xr(EE,{words:j()?.panel,label:l("Card shadow"),changed:!r,detail:l(Qi[ys]),onReset:()=>o(null)}),hint:t?l(RE):void 0,children:Xr(LE,{options:iu.map(n=>({id:n,label:l(Qi[n]),icon:Xr("span",{className:"sf-shadow-chip",style:{boxShadow:AE[n]}})})),value:a,ariaLabel:l("Card shadow"),fit:BE,onChange:o})})}import{jsx as aI}from"react/jsx-runtime";import{ShadowIcon as _E}from"efficient-easel/icons";var DE="Most useful on a dark theme, where a black shadow cannot be seen. Also used by the Lift hover, even with the card shadow off.";function nI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return aI(rn,{label:l("Shadow color"),icon:aI(_E,{}),value:e??"",inherited:Cs,resetTo:Cs,onChange:o,onReset:()=>o(null),hint:t?l(DE):void 0})}import{jsx as Un}from"react/jsx-runtime";import{SettingsDefaultReset as NE,SettingsField as ME}from"efficient-easel/panel";import{AlignSeparateIcon as HE}from"efficient-easel/icons";var zE="The space between the blocks inside a row, a grid or a box. Default means each one keeps the spacing it already has.",Ji="Block gap",WE=qt.Grid;function lI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Un(ME,{label:l(Ji),labelId:"sf-block-gap",icon:Un(HE,{}),value:r?l("Default"):`${e}px`,changed:!r,action:Un(NE,{words:j()?.panel,label:l(Ji),changed:!r,detail:l("each block's own spacing"),onReset:()=>o(null)}),hint:t?l(zE):void 0,children:Un(je,{min:bt.min,max:bt.max,step:bt.step,value:r?WE:e,readout:!1,ariaLabel:l(Ji),onChange:o})})}import{jsx as $n}from"react/jsx-runtime";import{SettingsDefaultReset as GE,SettingsField as UE,SettingsSegmented as $E}from"efficient-easel/panel";import{HoverIcon as qE}from"efficient-easel/icons";var ef={none:"None",lift:"Lift",highlight:"Highlight"},jE="What a card does when a shopper points at it \u2014 or taps it, on a phone. Highlight is the effect your cards already use.";function sI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??Ss;return $n(UE,{label:l("Hover effect"),icon:$n(qE,{}),value:l(ef[a]),changed:!r,action:$n(GE,{words:j()?.panel,label:l("Hover effect"),changed:!r,detail:l(ef[Ss]),onReset:()=>o(null)}),hint:t?l(jE):void 0,children:$n($E,{options:fu.map(n=>({id:n,label:l(ef[n])})),value:a,ariaLabel:l("Hover effect"),onChange:o})})}import{jsx as qn}from"react/jsx-runtime";import{SettingsDefaultReset as KE,SettingsField as VE,SettingsSegmented as YE}from"efficient-easel/panel";import{ImageIcon as XE}from"efficient-easel/icons";var of="Hero image",tf=[{followsWidth:!1,label:Kr.full},{followsWidth:!0,label:Kr.page}],ZE="Whether the big picture at the top of a page runs edge to edge, or sits inside the page width. The words follow the page width either way.";function iI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return qn(VE,{label:l(of),icon:qn(XE,{}),value:l(tf.find(n=>n.followsWidth===a).label),changed:!r,action:qn(KE,{words:j()?.panel,label:l(of),changed:!r,detail:l(tf.find(n=>!n.followsWidth).label),onReset:()=>o(null)}),hint:t?l(ZE):void 0,children:qn(YE,{options:tf.map(n=>({id:n.followsWidth,label:l(n.label)})),value:a,ariaLabel:l(of),onChange:o})})}import{jsx as jn}from"react/jsx-runtime";import{SettingsDefaultReset as QE,SettingsField as JE,SettingsSegmented as eP}from"efficient-easel/panel";import{DropIcon as oP}from"efficient-easel/icons";var rf="Photography",fI={shot:"As shot",mono:"Black and white"},af=[{grayscale:!1,label:fI.shot},{grayscale:!0,label:fI.mono}],tP="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function cI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return jn(JE,{label:l(rf),icon:jn(oP,{}),value:l(af.find(n=>n.grayscale===a).label),changed:!r,action:jn(QE,{words:j()?.panel,label:l(rf),changed:!r,detail:l(af.find(n=>!n.grayscale).label),onReset:()=>o(null)}),hint:t?l(tP):void 0,children:jn(eP,{options:af.map(n=>({id:n.grayscale,label:l(n.label)})),value:a,ariaLabel:l(rf),onChange:o})})}import{jsx as nf}from"react/jsx-runtime";import{useId as rP}from"react";import{SettingsField as aP,SettingsSwitch as nP}from"efficient-easel/panel";import{ShareIcon as lP}from"efficient-easel/icons";var sP="Share button",iP="On every blog post.";function dI({value:e,onChange:o,showHint:t=!0}){let r=rP();return nf(aP,{label:l(sP),labelId:r,icon:nf(lP,{}),action:nf(nP,{checked:e===!0,onChange:o,ariaLabelledBy:r}),hint:t?l(iP):void 0})}import{jsx as Kn}from"react/jsx-runtime";import{SettingsDefaultReset as fP,SettingsField as cP}from"efficient-easel/panel";import{PaddingXIcon as dP}from"efficient-easel/icons";var lf="Side space",sf=Co.default,uP="The room left at the left and right edge of every page.";function uI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Kn(cP,{label:l(lf),labelId:"sf-side-space",icon:Kn(dP,{}),value:`${e??sf}px`,changed:!r,action:Kn(fP,{words:j()?.panel,label:l(lf),changed:!r,detail:`${sf}px`,onReset:()=>o(null)}),hint:t?l(uP):void 0,children:Kn(je,{min:Co.min,max:Co.max,step:Co.step,value:e??sf,readout:!1,ariaLabel:l(lf),onChange:o})})}import{jsx as Vn}from"react/jsx-runtime";import{SettingsDefaultReset as pP,SettingsField as mP}from"efficient-easel/panel";import{WidthIcon as xP}from"efficient-easel/icons";var ff="Content width",cf=_e.default,IP="The standard width every page on this site renders at.";function pI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Vn(mP,{label:l(ff),labelId:"sf-site-width",icon:Vn(xP,{}),value:`${e??cf}px`,changed:!r,action:Vn(pP,{words:j()?.panel,label:l(ff),changed:!r,detail:`${cf}px`,onReset:()=>o(null)}),hint:t?l(IP):void 0,children:Vn(je,{min:_e.min,max:_e.max,step:_e.step,value:e??cf,readout:!1,ariaLabel:l(ff),onChange:o})})}import{jsx as oh}from"react/jsx-runtime";import{TextStyleItem as T1,TextStylesGroup as F1}from"efficient-easel/text-styles";import{jsx as y1}from"react/jsx-runtime";import{useState as S1}from"react";import{TextStylesList as C1}from"efficient-easel/text-styles";import{usePreviewDevice as v1}from"efficient-easel/draw/client";import{textStyleCaseCss as m1}from"efficient-easel/draw";import{textStyleCaseCss as FP,textStyleCaseOfCss as EP}from"efficient-easel/draw";function df(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function so(e){let o=/^([A-Za-z0-9_$]+)\[(\d+)\]\.([A-Za-z0-9_$]+)$/u.exec(e);return o?{key:o[1],row:{index:Number(o[2]),rowKey:o[3]}}:{key:e,row:null}}import{decodePartId as Qn,encodePartId as Jn}from"efficient-easel/draw";import{LINK_FIELD_MARKER as vI,SCAFFOLD_FIELD_MARKER as SI,TEXT_FIELD_MARKER as el}from"efficient-easel/draw";import{readHidable as wI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as vP}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as CP}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as mI}from"efficient-easel/draw";import{readHidable as xI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as hP}from"efficient-easel/draw";var gP=hP,bP=["text","textarea"],yP=["textarea","plainTextarea"];function SP(e){return!e||typeof e!="object"?null:e[mI]?.control??null}function Jt(e){let o=SP(e);return o&&gP.includes(o)?o:null}function Yn(e){return yP.includes(e)}function II(e){return!e||typeof e!="object"?void 0:e[mI]?.placeholder}function Xn(e){return xI(e).text}function uf(e,o,t){return bP.includes(e)?{text:t,hidden:xI(o).hidden}:t}function hI(e,o,t,r){return Xn(e[o])===r?null:{...e,[o]:uf(t,e[o],r)}}function pf(e){if(!(!e||typeof e!="object"))return e[CP]}function mf(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function gI(e,o){if(!Array.isArray(o))return[];let t=pf(e),r=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,i)=>{let f=s?.[n];typeof f=="string"&&f&&r.push({row:{index:i,rowKey:n},text:f})}),r}let a=mf(e);return a?(o.forEach((n,s)=>{for(let[i,f]of Object.entries(a)){if(!Jt(f))continue;let u=Xn(n?.[i]);u&&r.push({row:{index:s,rowKey:i},text:u})}}),r):[]}function Zr(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function xf(e,o,t,r){let a=e[o];return!Array.isArray(a)||t.index<0||t.index>=a.length?null:{...e,[o]:a.map((n,s)=>s===t.index?{...n,[t.rowKey]:r}:n)}}function bI(e,o,t,r,a){let n=Zr(e[o],t);return Xn(n)===a?null:xf(e,o,t,uf(r,n,a))}function yI(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var io="data-sf-part",Ke="data-sf-part-selected",G$="data-sf-part-kind",wP="data-sf-part-style-owner",kP="data-sf-part-style-kind";function U$(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(wP),r=o.getAttribute(kP);if(t&&r)return{owner:t,kind:r};if(o.getAttribute("data-puck-component"))return null}return null}var CI=2;function kI(e,o){if(!e)return!1;let t=Qn(e);return!!t?.propKey&&t.nodeId===o}function er(e){return xt(e).replace(/\s+/gu,"")}function Zn(e,o,t){let r=e[el];if(r){if(r.control==="textList"){let n=r.itemKey??"text";if(!Array.isArray(o))return;for(let s of o){let i=s?.[n];typeof i=="string"&&t.push(i)}return}let{text:a}=wI(o);a?t.push(a):r.placeholder&&t.push(r.placeholder);return}if(!e[vI]){if(e.type==="text"||e.type==="textarea"){typeof o=="string"&&o&&t.push(o);return}if(e.arrayFields&&Array.isArray(o)){for(let a of o)for(let[n,s]of Object.entries(e.arrayFields))Zn(s,a?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[a,n]of Object.entries(e.objectFields))Zn(n,o[a],t)}}function TI(e){if(!e||typeof e!="object")return!1;let o=e;return o[vI]?!1:!!o[el]||o.type==="text"||o.type==="textarea"}function ol(e,o){let t=e[el];return t?.label?t.label:typeof e.label=="string"?e.label:o}function If(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function $$(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){if(!a||typeof a!="object"||zr(r))continue;let n=a,s=[];Zn(n,o?.[r],s),!s.length&&n[SI]!==void 0&&Zn(n,n[SI],s);let i=ol(n,r),f=new Set;for(let{row:m,text:x}of gI(n,o?.[r])){let h=er(x);h.length<CI||(f.add(h),t.push({key:r,label:i,texts:[h],row:m}))}let u=new Set(f),p=[];for(let m of s){let x=er(m);x.length<CI||u.has(x)||(u.add(x),p.push(x))}p.length&&t.push({key:r,label:i,texts:p})}return t}var TP=vP;function FI(e,o){if(!o||typeof o!="object"||zr(e)||Lp(o))return null;let t=o[el];return!t||!TP.includes(t.control)?null:t}function q$(e,o){let t=FI(e,o);return t!==null&&t.identifier!==!0}function EI(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){let n=FI(r,a);if(!n)continue;let{text:s,hidden:i}=wI(o?.[r]),f=s||n.placeholder||"",u=xt(f).replace(/\s+/gu," ").trim();t.push({key:r,label:If(ol(a,r)),preview:u,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!i})}return t}var bf="_partStyles",Sf="data-sf-part-styled",PP=[400,500,600,700],DI=["left","center","right","justify"],PI=5,LI=1e3,LP=-5,OP=10,Cf=0,vf=64,wf=2,kf=120,Jo=1280,Tf=10,OI={size:{min:PI,max:LI,step:1},sizePhone:{min:PI,max:LI,step:1},padding:{min:Cf,max:vf,step:wf},width:{min:kf,max:Jo,step:Tf}},RP=.05,AP=.01,BP=["line","letter"],_P=.5,DP=2.5,NP=-1,MP=1,HP=0,zP=400;function Jr(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function NI(e){return Jr(e?.[bf])??{}}function rl(e,o){let t=NI(e);return Object.hasOwn(t,o)?Jr(t[o])??{}:{}}function MI(e,o,t){let r={...NI(e)};if(WP(t).length?r[o]=t:delete r[o],!Object.keys(r).length){let{[bf]:a,...n}=e;return n}return{...e,[bf]:r}}function WP(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function GP(e){return BP.includes(e)}var Qr=(e,o,t)=>Math.min(t,Math.max(o,e));function UP(e,o){if(GP(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Qr(t,LP,OP)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?or(Qr(t,_P,DP),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?or(Qr(t,NP,MP),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Qr(t,HP,zP)}if(Object.hasOwn(OI,e)){let{min:t,max:r}=OI[e],a=Math.round(Number(o));return Number.isFinite(a)?Qr(a,t,r):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"?Po.includes(String(o))?o:null:o}var $P=["weight","size","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding","width"];function HI(e){let o=null,t=r=>{o??={...e},delete o[r]};for(let r of $P){let a=e[r];a!==void 0&&!(typeof a=="number"&&Number.isFinite(a))&&t(r)}return e.align!==void 0&&!DI.includes(e.align)&&t("align"),o??e}var qP=[["font","role"],["line","lineHeight"],["letter","letterSpacing"]];function jP(e){let o=[];for(let[t,r]of qP)t===e?o.push(r):r===e&&o.push(t);return o}function oa(e,o,t,r){let a={...rl(e,o)},n=r==null?null:UP(t,r);if(n===null)delete a[t];else{a[t]=n;for(let s of jP(t))delete a[s]}return MI(e,o,a)}function zI(e,o){return MI(e,o,{})}function KP(e){return EP(e)??"none"}function VP(e){return FP(e)??""}var YP={heading:"--font-role-heading",heading2:"--font-role-heading2",heading3:"--font-role-heading3",body:"--font-role-body",accent:"--font-role-accent",label:"--font-role-label"};function XP(e){let o=e.role;return o&&Po.includes(o)?o:null}var ZP={headingLarge:"min(clamp(64px,9vw,144px), var(--sf-heading-max,9999px))",headingMedium:"min(32px, var(--sf-heading-max,9999px))",headingSmall:"min(24px, var(--sf-heading-max,9999px))",accent:"32px",body:"14px",label:"12px"};function QP(e){let o=Yd[e],t=ZP[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function ta(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=or(JP+e.line*RP,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=or(e.letter*AP,4)),o}var JP=1,ra="--sf-part-para",Ff="(max-width: 719.98px)";function RI(e){return e=HI(e),typeof e.sizePhone=="number"&&e.sizePhone>0?{fontSize:`${e.sizePhone}px`}:{}}function e1(e,o){return o&&typeof e.sizePhone=="number"&&e.sizePhone>0?{...e,size:e.sizePhone}:e}function tl(e,o){e=HI(e);let t=XP(e),r=ta(e),a=e.size?`${e.size}px`:t?QP(t):"";return{fontFamily:e.font?a1(e.font):t?`var(${YP[t]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:a,minWidth:a?"0":"",overflowWrap:a?"break-word":"",lineHeight:r.lineHeight!==void 0?String(r.lineHeight):"",letterSpacing:r.letterSpacingEm!==void 0?`${r.letterSpacingEm}em`:"",[ra]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:VP(e.case),textAlign:e.align??"",paddingTop:hf(e.padding),paddingBottom:hf(e.padding),maxWidth:hf(e.width),color:o1(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var o1=e=>e===void 0||e===""?"":Object.hasOwn(Ro,e)?Ro[e]:WI.test(e)?e:"",WI=/^#[0-9a-fA-F]{6}$/;function GI(e){return WI.test(e)}var hf=e=>e===void 0?"":`${e}px`,or=(e,o)=>Number(e.toFixed(o));function Q$(e,o){let t=Number.parseFloat(e.fontSize)||16,r=Number.parseFloat(e.lineHeight),a=Number.parseFloat(e.letterSpacing),n=Number.parseFloat(e.paddingTop),s=Number.parseFloat(e.maxWidth);return{fontKey:o,sizePx:t,weight:t1(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(r)?or(r/t,3):1.2,letterEm:Number.isFinite(a)?or(a/t,4):0,align:r1(e.textAlign),case:KP(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0,widthPx:Number.isFinite(s)&&s<Jo?Math.round(s):Jo}}function t1(e){return Number.isFinite(e)?PP.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function r1(e){for(let o of DI)if(o===e)return o;return e==="end"?"right":"left"}function J$(e,o){let t=AI(e);if(!t)return"";for(let r of no)if(AI(o(r.cssVar))===t)return r.key;return""}var AI=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function a1(e){let o=At(e);return o?`var(${o.cssVar})`:""}function e8(e,o,t,r){return!o||Qn(o)?.nodeId!==e?null:t.find(a=>r(a.getAttribute("class")))??t[0]??null}function o8(e,o,t=()=>ea,r=s=>s,a=s1,n=!1){let s=0;for(let{element:i,partId:f}of e){let u=Qn(f)?.propKey;if(!u)continue;let p=r(u),m=Object.hasOwn(o,p)?Jr(o[p])??{}:{},x=tl(e1(m,n),ea),h=gf.some(C=>i.style[C]),b=!1;for(let[C,k]of Object.entries(x))i1(i,C,k),k&&(b=!0);if(h||gf.some(C=>x[C]))for(let C of n1(i,a))for(let k of gf)C.style[k]=x[k]??"";b&&(s+=1)}return s}function n1(e,o){let t=er(e.textContent??""),r=[],a=e;for(let n=0;n<l1&&o(a);n+=1){let s=a.parentElement;if(!s||er(s.textContent??"")!==t)break;r.push(s),a=s}return r}var l1=8;function s1(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var ea={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:Jo};function i1(e,o,t){if(!o.startsWith("--")){e.style[o]=t;return}let r=e.style;typeof r.setProperty=="function"?t?r.setProperty(o,t):r.removeProperty?.(o):r[o]=t;let a=e;o===ra&&(t?a.setAttribute?.(BI,""):a.removeAttribute?.(BI))}var BI="data-sf-part-para",f1=Object.keys(tl({},ea)),yf=new Set(["color","overflowWrap",ra,"fontStyle"]),gf=f1.filter(e=>!yf.has(e));function UI(e,o,t,r=a=>a){let a=new Map;for(let i of e){let f=df(i.key,i.row);for(let u of i.texts){let p=a.get(u);p?(p.keys.add(i.key),p.partKeys.add(f)):a.set(u,{keys:new Set([i.key]),partKeys:new Set([f])})}}let n=new Map;for(let i of Object.keys(o)){if(!c1(i))continue;let f=Jr(o[i])??{},u=tl(f,ea),p=RI(f);!Object.values(u).some(Boolean)&&!Object.keys(p).length||n.set(i,{stamp:_I(t,i),declarations:u,...Object.keys(p).length?{phone:p}:{}})}let s=new Map;for(let[i,{keys:f,partKeys:u}]of a){let p=u.size===1?[...u][0]:f.size===1?[...f][0]:null;if(!p)continue;let m=r(p);if(!Object.hasOwn(o,m))continue;let x=Jr(o[m])??{},h=tl(x,ea),b=RI(x);!Object.values(h).some(Boolean)&&!Object.keys(b).length||s.set(i,{stamp:_I(t,p),declarations:h,...Object.keys(b).length?{phone:b}:{}})}return s.size||n.size?{rules:s,kindRules:n,drawn:new Set(a.keys())}:null}function c1(e){return e.startsWith("@")}function Ef(e,o){return e?.kindRules.get(o)??null}function _I(e,o){let t=r=>r.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function $I(e){let o=[],t=new Set,r=a=>{let{stamp:n,declarations:s}=a;if(t.has(n))return;t.add(n);let i=Object.entries(s).filter(([,h])=>h!==""),f=h=>h.map(([b,C])=>`${u1(b)}: ${C}`).join("; "),u=`[${Sf}="${n}"]`,p=i.filter(([h])=>!yf.has(h)),m=i.filter(([h])=>yf.has(h));p.length&&o.push(`${u}, *:has(> ${u}) { ${f(p)} }`),m.length&&o.push(`${u} { ${f(m)} }`),s[ra]&&o.push(...d1(u));let x=Object.entries(a.phone??{}).filter(([,h])=>h!=="");x.length&&o.push(`@media ${Ff} { ${u}, *:has(> ${u}) { ${f(x)} } }`)};for(let a of e.rules.values())r(a);for(let a of e.kindRules.values())r(a);return o.join(`
4
- `)}function d1(e){let o=`var(${ra})`,t=":is([data-sf-bullet], [data-sf-number])";return[`${e} br:not(br + br) { display: block; content: ""; margin-top: ${o} }`,`${e} ${t}:not(:first-child) { margin-top: ${o} }`,`${e} ${t}:not(:last-child) { margin-bottom: ${o} }`]}var u1=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function qI(e,o){if(!e)return null;let t=er(o),r=e.rules.get(t);if(r)return r;if(t.length<p1||e.drawn.has(t))return null;let a=null;for(let[n,s]of e.rules)if(n.includes(t)){if(a&&a.stamp!==s.stamp)return null;a=s}return a}var p1=8;var Pf=e=>e==="sentence"?"none":void 0,No=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,aa=e=>typeof e=="string"&&e?e:void 0,KI=["font","color","size","sizePhone","weight","italic","lineHeight","letterSpacing","paragraphSpacing","letterCase","largestSize"];function fo(e){let o={};for(let t of KI)e[t]!==void 0&&(o[t]=e[t]);return o}function Of(e,o){let{auto:t,...r}=e,a=new Set(o??[]),n=KI.filter(s=>a.has(s)&&e.values[s]===void 0);return n.length?{...r,auto:n}:r}function Rf(e){let o=e.fonts,t=e.sizes,r=e.typography,a=du(e.compression),n=(i,f)=>({id:`heading-${i}`,kind:"heading",name:`Heading ${i}`,values:fo(f)}),s=(i,f={})=>({id:`body-${i}`,kind:"body",name:`Body ${i}`,values:fo(f)});return[n(1,{font:aa(o.heading),size:No(t.headingLarge),weight:No(r.weight),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Pf(r.case),largestSize:No(r.maxPx)}),n(2,{font:aa(o.heading2),size:No(t.headingMedium),weight:No(r.weight2),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Pf(r.case2)}),n(3,{font:aa(o.heading3),size:No(t.headingSmall),weight:No(r.weight3),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Pf(r.case3)}),s(1,{font:aa(o.body),size:No(t.body)}),s(2),s(3),s(4),s(5,{font:aa(o.label),size:No(t.label)})]}function al(e){return Array.isArray(e)&&e.every(o=>o&&typeof o=="object"&&typeof o.id=="string"&&(o.kind==="heading"||o.kind==="body")&&typeof o.name=="string")?e.map(o=>Of({...o,values:fo(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function s8(e){return al(e)??[]}function et(e,o){let t=Rf(o),r=al(e);return r?r.map(a=>{let n={...Lf(t,a.id)};for(let s of a.auto??[])delete n[s];return{...a,values:fo({...n,...a.values})}}):t}var Lf=(e,o)=>e.find(t=>t.id===o)?.values??{},jI=["heading-1","heading-2","heading-3"];function VI({saved:e,old:o,cur:t,next:r,sizeOf:a}){let n=Rf(o),s=al(e)??n.map(m=>({...m,values:{}})),i=et(s,o),f=[],u=r.map(m=>{let x=t.find(g=>g.id===m.id),h=s.find(g=>g.id===m.id);if(!x||!h)return x1([m],a)[0];let b={...h.values},C=new Set(h.auto??[]),k=m.values,v=x.values,w=[...new Set([...Object.keys(k),...Object.keys(v)])].filter(g=>JSON.stringify(k[g])!==JSON.stringify(v[g]));w.sort((g,y)=>+(g==="letterSpacing")-+(y==="letterSpacing"));for(let g of w){let y=g==="lineSpacing"?"lineHeight":g,E=k[g];if(E===void 0){delete b[y],Lf(n,m.id)[y]!==void 0&&(f.push([m.id,y]),C.add(y));continue}if(C.delete(y),g==="lineSpacing")b.lineHeight=tr(E/100,3);else if(g==="letterSpacing"){let F=i.find(B=>B.id===m.id),L=a({...m,values:fo({...F?.values??{},...b})});b.letterSpacing=L?tr(E/L,4):0}else b[y]=E}return Of({id:m.id,kind:m.kind,name:m.name,values:fo(b)},C)}),p=o.compression;if(f.some(([m,x])=>(x==="lineHeight"||x==="letterSpacing")&&jI.includes(m))&&st(p)!=="normal"){for(let m of jI){let x=u.find(b=>b.id===m);if(!x)continue;let h={...x.values};for(let b of["lineHeight","letterSpacing"])f.some(([C,k])=>C===m&&k===b)||h[b]===void 0&&!(x.auto??[]).includes(b)&&(h[b]=Lf(n,m)[b]);x.values=fo(h)}p="normal"}return{saved:u,old:{...o,compression:p}}}function YI(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=st(e.old.compression)),t}var tr=(e,o)=>Number(e.toFixed(o));function XI(e,o){return e.map(t=>{let{lineHeight:r,letterSpacing:a,...n}=t.values,s={...n};return r!==void 0&&(s.lineSpacing=tr(r*100,1)),a!==void 0&&(s.letterSpacing=tr(a*o(t),2)),{id:t.id,kind:t.kind,name:t.name,values:s}})}function x1(e,o){return e.map(t=>{let{lineSpacing:r,letterSpacing:a,...n}=t.values,s={id:t.id,kind:t.kind,name:t.name,values:fo({...n})},i={...s.values};if(r!==void 0&&(i.lineHeight=tr(r/100,3)),a!==void 0){let f=o({...s,values:{...s.values}});i.letterSpacing=f?tr(a/f,4):0}return{...s,values:fo(i)}})}function i8(e){let o={fonts:Rr({heading:e.heading_font??void 0,heading2:e.heading_2_font??void 0,heading3:e.heading_3_font??void 0,body:e.body_font??void 0,accent:e.accent_font??void 0,label:e.label_font??void 0}),sizes:bs({headingLarge:e.heading_size_large_px,headingMedium:e.heading_size_medium_px,headingSmall:e.heading_size_small_px,accent:e.accent_size_px,body:e.body_size_px,label:e.label_size_px}),compression:st(e.heading_compression),typography:pu(e)},t=e.text_styles??null,r=Array.isArray(t)?Af(et(t,o),o):o;return{fonts:Rr(r.fonts),sizes:bs(r.sizes),compression:st(r.compression),typography:r.typography,textStyles:t}}function Af(e,o){let t=x=>e.find(h=>h.id===x)?.values??{},r=t("heading-1"),a=t("heading-2"),n=t("heading-3"),s=t("body-1"),i=t("body-5"),f=o.fonts,u=o.sizes,p=o.typography,m=x=>x==="none"?"sentence":"authored";return{fonts:{...f,heading:r.font??f.heading,heading2:a.font??r.font??f.heading2,heading3:n.font??r.font??f.heading3,body:s.font??f.body,label:i.font??f.label},sizes:{...u,headingLarge:r.size??null,headingMedium:a.size??null,headingSmall:n.size??null,body:s.size??null,label:i.size??null},compression:o.compression,typography:{...p,case:m(r.letterCase),weight:r.weight??null,maxPx:r.largestSize??null,weight2:a.weight??null,weight3:n.weight??null,case2:m(a.letterCase),case3:m(n.letterCase)}}}function I1(e){switch(e.id){case"heading-1":return"font-display";case"heading-2":return"font-heading2";case"heading-3":return"font-heading3";case"body-1":return"font-body";case"body-5":return"font-mono";default:return`font-${e.id}`}}function h1(e){return e==="accent"?"var(--accent)":e==="text"?"var(--fg)":e==="labels"?"var(--fg-dim)":/^#[0-9a-f]{6}$/i.test(e)?e:null}function g1(e){let o=":is([data-sf-bullet], [data-sf-number])";return[`${e} br:not(br + br) { display: block; content: ""; margin-top: var(--sf-part-para) }`,`${e} ${o}:not(:first-child) { margin-top: var(--sf-part-para) }`,`${e} ${o}:not(:last-child) { margin-bottom: var(--sf-part-para) }`]}function f8(e){let o=[];for(let t of e){let r=t.values,a=`.${I1(t)}`,n=[],s=r.font!==void 0?no.find(p=>p.key===r.font)?.cssVar:void 0;if(s&&n.push(`font-family: var(${s})`),r.size!==void 0){let p=r.largestSize!==void 0?Math.min(r.size,r.largestSize):r.size;n.push(`font-size: ${p}px`)}let i=r.color!==void 0?h1(r.color):null;i&&n.push(`color: ${i}`),r.italic===!0&&n.push("font-style: italic"),r.weight!==void 0&&n.push(`font-weight: ${r.weight}`);let f=[];r.lineHeight!==void 0&&f.push(`line-height: ${r.lineHeight}`),r.letterSpacing!==void 0&&f.push(`letter-spacing: ${r.letterSpacing}em`),t.kind==="body"&&n.push(...f);let u=m1(r.letterCase);if(u&&n.push(`text-transform: ${u}`),r.paragraphSpacing&&n.push(`--sf-part-para: ${r.paragraphSpacing}px`),n.length&&o.push(`${a} { ${n.join("; ")} }`),t.kind==="heading"&&f.length&&o.push(`${a}, ${a}:is(h1, h2, h3, h4) { ${f.join("; ")} }`),r.paragraphSpacing&&o.push(...g1(a)),r.sizePhone!==void 0){let p=b1[t.id],m=[`${a} { font-size: ${r.sizePhone}px }`];p&&m.push(`.sf-themed-content { --size-${p}: ${r.sizePhone}px !important }`),o.push(`@media ${Ff} { ${m.join(" ")} }`)}}return o.join(`
5
- `)}var b1={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function c8(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function Bf(e){switch(e){case"heading":return"heading-1";case"heading2":return"heading-2";case"heading3":return"heading-3";case"body":return"body-1";case"label":return"body-5";default:return}}function _f(e){let o=ta(e);return fo({font:e.font,color:e.color,size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function ZI(e){return Object.keys(_f(e)).length>0}function QI({saved:e,old:o,styleId:t,values:r}){return{saved:(al(e)??Rf(o).map(a=>({...a,values:{}}))).map(a=>a.id===t?Of({...a,values:fo({...a.values,...r})},a.auto):a),old:o}}var JI=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],w1=["size","lineSpacing","letterSpacing","letterCase"],k1=500,Df=no.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function eh({saved:e,old:o,colours:t,sizeOf:r,onChange:a,openId:n,onOpenChange:s,readOnly:i=!1,withoutSize:f=!1}){let[u,p]=S1(null),m=v1()==="mobile",x=et(e,o),h=XI(x,r);return y1(C1,{styles:h,onChange:b=>a(VI({saved:e,old:o,cur:h,next:b,sizeOf:r})),fonts:Df,colours:t,settings:f?JI.filter(b=>b!=="size"):JI,auto:w1,openId:n===void 0?u:n,onOpenChange:s??p,readOnly:i,device:m?"phone":"desktop",fallback:b=>{let C=x.find(v=>v.id===(b.kind==="heading"?"heading-1":"body-1")),k={};return C?.values.font&&b.id!==C.id&&(k.font=C.values.font),b.kind==="heading"&&(k.weight=k1),k}})}var th=["font","size","weight","emphasis"],E1=500;function P1({font:e,size:o,weight:t,italic:r}){let a={font:e};return o!==null&&(a.size=o),t!==null&&(a.weight=t),r!==null&&(a.italic=r),{id:"accent",kind:"heading",name:l("Accent"),values:a}}function L1(e,o){let t=[],r=e.values,a=o.values;return a.font!==r.font&&a.font!==void 0&&t.push({key:"font",value:a.font}),a.size!==r.size&&t.push({key:"size",value:a.size??null}),a.weight!==r.weight&&t.push({key:"weight",value:a.weight??null}),a.italic!==r.italic&&t.push({key:"italic",value:a.italic??null}),t}function rh(e){let{headingWeight:o,open:t,onOpenChange:r,onChange:a,withoutSize:n=!1}=e,s=P1(e);return oh(F1,{label:l("Accent"),children:oh(T1,{style:s,fonts:Df,settings:n?th.filter(i=>i!=="size"):th,auto:["size"],fallback:()=>({weight:o??E1}),open:t,onOpenChange:r,onChange:i=>L1(s,i).forEach(a)})})}import{Tabs as R1,Tooltip as o7,tabButtonId as A1,tabPanelId as B1}from"efficient-shell/ui";import{ContrastIcon as _1,NoteIcon as D1,SettingsIcon as N1,TypeIcon as M1}from"efficient-easel/icons";function ah(e){switch(e.status){case"saved":return null;case"failed":return{msg:l("Not saved. Try again."),tone:"error"};case"skipped":switch(e.reason){case"empty":return null;case"no-token":return{msg:l("Not saved. Reload the page."),tone:"error"};case"template":return{msg:l("Templates keep their look. Press Done."),tone:"success"}}}}import{gotoPreviewSlide as F8,pinPreviewToBottom as E8,pinPreviewToSection as P8,previewFrame as nh,scrollPreviewToSection as lh,scrollPreviewToTop as Nf}from"efficient-easel/screen/lib/puck/preview-dom";import{useEasel as O1}from"efficient-easel/easel";function nl({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=O1(L=>L),{fonts:a,setFonts:n,sizes:s,setSizes:i,headingCompression:f,setHeadingCompression:u,headingTypography:p,setHeadingTypography:m,textStyles:x,setTextStyles:h}=X(),b=t.data,C=b.root?.props??{},k=e?Rr(C.fonts):a,v=e?nu:s,w=e?st(C.headingCompression):f,g=e?uu(C.headingTypography):p,y={fonts:k,sizes:v,compression:w,typography:g},E=e?C.textStyles:x,F=L=>r({type:"replaceRoot",root:{...b.root,props:{...C,...L}},recordHistory:!0});return{fonts:k,sizes:v,compression:w,typography:g,old:y,saved:E,write:(L,B)=>{let O=Af(et(L.saved,L.old),L.old);e?F({textStyles:L.saved,fonts:O.fonts,headingCompression:O.compression,headingTypography:O.typography}):(h(L.saved),n(O.fonts),i(O.sizes),u(O.compression),m(O.typography)),o(YI(L,y),B)},writeRoot:F}}var zf="sf-site-styles",H1="sf-site-styles-tabpanel",Wf=!1,z1="Show hints";function Gf({shown:e,onChange:o}){return Z("div",{className:"sf-hints",children:wt("button",{type:"button","aria-pressed":e,onClick:()=>o(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[Z(D1,{size:13}),l(z1)]})})}var ih="text",rr=[{id:"basics",label:"Basics",icon:Z(N1,{})},{id:"theme",label:"Theme",icon:Z(_1,{})},{id:"text",label:"Text",icon:Z(M1,{})}];function W1({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=sh(u=>u),{theme:a,setTheme:n}=X(),s=t.data,i=s.root?.props??{},f=u=>{if(e){let p={...i,theme:u};r({type:"replaceRoot",root:{...s.root,props:p},recordHistory:!0})}else n(u);o({selected_preset:u.selected,theme_presets:u.themes})};return Z(oI,{value:e?i.theme:a,onChange:f})}function G1({themeFromDocument:e,persist:o}){let[t,r]=Hf(null),{theme:a,setFonts:n,setSizes:s,setHeadingTypography:i}=X(),f=nl({themeFromDocument:e,persist:o}),{old:u,saved:p,writeRoot:m}=f,x=f.fonts,h=f.sizes,b=f.typography,C=F=>F.values.size??K1($1[F.id]??"body")??q1[F.kind],k=F=>f.write(F),v=U1(a),w=F=>{let L={...x,accent:F};e?m({fonts:L}):n(L),o({accent_font:F})},g=F=>{s({...h,accent:F}),o({accent_size_px:F})},y=F=>{let L={...b,weightStrong:F};e?m({headingTypography:L}):i(L),o({heading_weight_strong:F})},E=F=>{let L={...b,italicStrong:F};e?m({headingTypography:L}):i(L),o({accent_italic:F})};return wt(ar,{children:[Z(eh,{saved:p,old:u,colours:v,sizeOf:C,onChange:k,openId:t===Mf?null:t,onOpenChange:r,withoutSize:e}),Z(rh,{font:x.accent,size:h.accent,weight:b.weightStrong,italic:b.italicStrong,headingWeight:b.weight,open:t===Mf,onOpenChange:F=>r(F?Mf:null),onChange:F=>{F.key==="font"?w(F.value):F.key==="size"?g(F.value):F.key==="weight"?y(F.value):E(F.value)},withoutSize:e})]})}var Mf="accent";function U1(e){let o=Bt(e);return[{key:"accent",name:l("Accent"),value:o.accent},{key:"text",name:l("Text"),value:o.text},{key:"labels",name:l("Labels"),value:o.muted??o.text}]}var $1={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},q1={heading:32,body:14},j1={heading:"main h1, main h2",heading2:"main h1, main h2",heading3:"main h1, main h2",accent:"main h1 em, main h2 em",body:"main p",label:"main .mono-eyebrow"};function K1(e){if(typeof document>"u")return null;let o=(nh()?.contentDocument??document).querySelector(j1[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function V1({themeFromDocument:e,persist:o,showHint:t}){let{appState:r,dispatch:a}=sh(x=>x),{cornerRadiusPx:n,setCornerRadiusPx:s}=X(),i=r.data,f=i.root?.props??{},u=f.cornerRadiusPx===void 0?su[lu(f.cornerStyle)]:Io(f.cornerRadiusPx),p=e?u:n,m=x=>a({type:"replaceRoot",root:{...i.root,props:{...f,...x}},recordHistory:!0});return Z(tI,{value:p,onChange:x=>{e?m({cornerRadiusPx:x}):s(x),o({corner_radius_px:x})},showHint:t})}function Y1(e){return{site_width:e}}function X1({persist:e,showHint:o}){let{siteWidth:t,setSiteWidth:r}=X();return Z(pI,{value:t,onChange:a=>{r(a),e(Y1(a),a===null)},showHint:o})}function Z1(e){return{block_gap:e}}function Q1(e){return{site_gutter:e}}function J1({persist:e,showHint:o}){let{siteGutter:t,setSiteGutter:r}=X();return Z(uI,{value:t,onChange:a=>{r(a),e(Q1(a),a===null)},showHint:o})}function eL({persist:e,showHint:o}){let{blockGap:t,setBlockGap:r}=X();return Z(lI,{value:t,onChange:a=>{r(a),e(Z1(a),a===null)},showHint:o})}function oL({persist:e,showHint:o}){let{heroBackgroundFollowsWidth:t,setHeroBackgroundFollowsWidth:r}=X();return Z(iI,{value:t,onChange:a=>{r(a),e({hero_background_follows_width:a},!0)},showHint:o})}function tL({persist:e,showHint:o=!0}){return wt(ar,{children:[Z(X1,{persist:e,showHint:o}),Z(J1,{persist:e,showHint:o}),Z(eL,{persist:e,showHint:o}),Z(oL,{persist:e,showHint:o})]})}function rL(e){return{card_shadow:e}}function aL(e){return e===null?{shadow_color:null}:{shadow_color:cu(e)}}function nL(e){return{hover_effect:e}}function lL({persist:e,showHint:o=!0}){let{cardShadow:t,setCardShadow:r,shadowColor:a,setShadowColor:n,hoverEffect:s,setHoverEffect:i}=X();return wt(ar,{children:[Z(rI,{value:t,onChange:f=>{r(f),e(rL(f),!0)},showHint:o}),Z(nI,{value:a,onChange:f=>{n(f),e(aL(f),f===null)},showHint:o}),Z(sI,{value:s,onChange:f=>{i(f),e(nL(f),!0)},showHint:o})]})}function sL(e){return{photography_grayscale:e}}function iL({persist:e,showHint:o}){let{photographyGrayscale:t,setPhotographyGrayscale:r}=X();return Z(cI,{value:t,onChange:a=>{r(a),e(sL(a),!0)},showHint:o})}function fL({persist:e,showHint:o=!0}){return Z(ar,{children:Z(iL,{persist:e,showHint:o})})}function cL(e){return{share_button_on_posts:e}}function dL({persist:e,showHint:o=!0}){let{shareButtonOnPosts:t,setShareButtonOnPosts:r}=X();return Z(dI,{value:t,onChange:a=>{r(a),e(cL(a),!0)},showHint:o})}function nr(){let{websiteName:e}=X();return e?.trim()||mu}function ll({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:r,tab:a,onTabChange:n}){let{persist:s}=Ut({themeFromDocument:e,tokenRef:o,siteId:t,onResult:C=>{let k=ah(C);k&&r?.(k.msg,k.tone)}}),[i,f]=Hf(rr[0].id),u=a!==void 0,p=u?a:i,m=u?n??(()=>{}):f,x=rr.find(C=>C.id===p)??rr[0],[h,b]=Hf(Wf);return wt(ar,{children:[Z(uL,{activeId:x.id,onSelect:m}),wt("div",{id:B1(zf,x.id),className:H1,role:"tabpanel","aria-labelledby":A1(zf,x.id),children:[p==="basics"&&wt(ar,{children:[Z(V1,{themeFromDocument:e,persist:s,showHint:h}),!e&&Z(lL,{persist:s,showHint:h}),!e&&Z(tL,{persist:s,showHint:h}),!e&&Z(fL,{persist:s,showHint:h}),!e&&Z(dL,{persist:s,showHint:h}),Z(Gf,{shown:h,onChange:b})]}),p==="theme"&&Z(W1,{themeFromDocument:e,persist:s}),p==="text"&&Z(G1,{themeFromDocument:e,persist:s})]})]})}function uL({activeId:e,onSelect:o}){return Z("div",{className:"es-insp-tabs",children:Z(R1,{variant:"underline",block:!0,labelsFit:!0,"aria-label":l("Site styles"),idPrefix:zf,value:e,onChange:o,items:rr.map(t=>{let r=l(t.label);return{id:t.id,icon:t.icon,label:r}})})})}import{InspectorIconButton as CL}from"efficient-easel/chrome";import{Button as Ih,Dialog as vL,FormField as wL,Input as hh,toast as gh}from"efficient-shell/ui";import{LayersTree as kL,TreeGroupLabel as TL,TreeRow as bh,TreeRowAction as Vf}from"efficient-easel/tree";import{AddIcon as FL,PageIcon as EL}from"efficient-easel/icons";import{PagesIcon as PL}from"efficient-easel/rail";var Uf="Main Pages",pL="Dynamic Pages",$f="dynamic",mL="dynamic";function qf(e){return e.kind===mL}function fh(e){let o=[],t=[];for(let r of e){if(qf(r)){t.push(r);continue}let a=r.groupKey??(r.group?`folder:${r.group}`:"top"),n=o[o.length-1];n&&n.key===a?n.rows.push(r):o.push({key:a,label:r.group??Uf,rows:[r]})}if(t.length){let r=o.findIndex(a=>a.key.startsWith("system:"));o.splice(r===-1?o.length:r,0,{key:$f,label:pL,rows:t})}return o}import{useCallback as sl,useEffect as xL,useSyncExternalStore as IL}from"react";var ch=new WeakMap;function na(e){let o=ch.get(e);return o||(o={rows:null,loading:null,listeners:new Set},ch.set(e,o)),o}function jf(e,o){e.rows=o;for(let t of e.listeners)t()}var il=new Set;function fl(e,o){o?il.add(e):il.delete(e)}function dh(e){let o=na(e),t=e.listPages().then(r=>jf(o,il.size?r.filter(a=>!il.has(a.id)):r),()=>jf(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var uh=()=>null,hL=()=>()=>{};function Kf(){let{adapter:e,ready:o}=ye(),t=sl(i=>{let{listeners:f}=na(e);return f.add(i),()=>f.delete(i)},[e]),r=sl(()=>na(e).rows,[e]),a=IL(o?t:hL,o?r:uh,uh);xL(()=>{if(!o)return;let i=na(e);i.rows===null&&!i.loading&&dh(e)},[e,o]);let n=sl(()=>o?dh(e):Promise.resolve(),[e,o]),s=sl(i=>jf(na(e),i),[e]);return{rows:a,reload:n,setRows:s,getRows:r}}function gL(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function ph(){let{currentSlug:e}=ye(),{rows:o}=Kf();return gL(o,e)}var yh="sf-editor-pages-collapsed-groups",LL=e=>e.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),Sh=(e,o)=>{let t=LL(e)||"page";if(!o.has(t))return t;let r=2;for(;o.has(`${t}-${r}`);)r+=1;return`${t}-${r}`};function Ch({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:r}){let a=Be().chrome?.pageRows,n=Gt(),{adapter:s,capabilities:i,ready:f,currentSlug:u}=ye(),p=nr(),{rows:m,reload:x,setRows:h,getRows:b}=Kf(),[C,k]=lr(""),[v,w]=lr(!1),[g,y]=lr(null),[E,F]=lr(!1),[L,B]=lr(""),O=SL(),[M,re]=lr(()=>{if(typeof window>"u")return new Set;try{let P=window.localStorage.getItem(yh);return new Set(P?JSON.parse(P):[])}catch{return new Set}});yL(()=>{try{window.localStorage.setItem(yh,JSON.stringify([...M]))}catch{}},[M]);let H=P=>re(le=>{let Y=new Set(le);return Y.has(P)?Y.delete(P):Y.add(P),Y}),W=xh(()=>fh(m??[]),[m]),A=C.trim().toLowerCase(),oe=P=>!A||P.toLowerCase().includes(A),Re=P=>A?!0:!M.has(P),Xe=xh(()=>new Set((m??[]).map(P=>P.slug)),[m]),ro=()=>{if(i.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}B(""),y(null),F(!0)},We=async()=>{let P=L.trim();if(!(!P||!f||v||!s.createPage)){w(!0),y(null);try{let le=await s.createPage({slug:Sh(P,Xe),title:P,layout:{}});await x(),F(!1),B(""),e(le.slug)}catch{y(l("Couldn\u2019t add the page \u2014 please retry."))}finally{w(!1)}}},Ae=P=>{let le=m??[],Y=s.deletePage;if(!f||v||!Y||le.length<=1)return;let te=le.findIndex(be=>be.id===P.id),ae=le.filter(be=>be.id!==P.id),ue=P.slug===u;fl(P.id,!0),h(ae),y(null),ue&&ae[0]&&e(ae[0].slug);let Me=()=>{fl(P.id,!1);let be=b()??[];if(be.some(Eo=>Eo.id===P.id))return;let po=[...be];po.splice(Math.max(0,Math.min(te,po.length)),0,P),h(po)};gh.undoable(l("Deleted \u201C{name}\u201D",{name:P.label}),{actionLabel:l("Undo"),commit:async be=>{await Y(P.id,be),fl(P.id,!1)},undo:()=>{Me(),ue&&e(P.slug)},onFail:()=>{Me(),gh.error(l("Couldn\u2019t delete the page \u2014 please retry."))}})},Ge=P=>n.send("storefront-editor:open-page",{slug:P}),Ne=P=>{if(!oe(P.label))return null;let le=!t&&P.slug===u,Y=i.canDeletePagesInline&&(m??[]).length>1,te=qf(P),ae=P.kind==="lightbox",ue=[...te?[{label:l("Dynamic"),tone:"info"}]:[],...ae?[{label:l("Lightbox"),tone:"success"}]:[],...P.draft?[{label:l("draft"),tone:"draft"}]:[]],Me=ue.length>0?ue:void 0,be=i.pageCreationInAdminForm||Y?cl(mh,{children:[i.pageCreationInAdminForm&&fe(Vf,{kind:"plain",label:l("Edit \u201C{name}\u201D in {place}",{name:P.label,place:l("the admin")}),onClick:()=>Ge(P.slug),children:fe(dl,{name:"pencil",size:13,strokeWidth:1.7,rounded:!0})}),Y&&fe(Vf,{kind:"delete",label:l("Delete \u201C{name}\u201D",{name:P.label}),disabled:v,onClick:()=>Ae(P),children:fe(dl,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return fe(bh,{icon:fe(EL,{size:14}),name:P.label,selected:le,onSelect:()=>e(P.slug),badge:Me,actions:be,rowProps:{"data-page-slug":P.slug}},P.id)},Ce=(P,le,Y)=>{let te=Y.filter(Boolean);if(te.length===0)return null;let ae=Re(P);return cl(bL,{children:[fe(TL,{count:te.length,expanded:ae,onToggle:()=>H(P),children:le}),ae&&te]},P)},he=(a?.rows??[]).filter(P=>oe(P.label)).map(P=>{let le=t===P.key;return fe(bh,{icon:P.icon,name:P.label,selected:le,onSelect:()=>r(P.key),badge:{label:l("Preview"),tone:"warning"},actions:fe(Vf,{kind:"plain",label:l("Open the {name} in a new tab",{name:P.label}),onClick:()=>window.open(P.href,"_blank","noopener,noreferrer"),children:fe(dl,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":P.key}},P.key)}),xe=i.hasSiteSettings&&!!a,Ze=(()=>{if(m===null)return null;let P=[],le=!1;for(let Y of W){xe&&!le&&Y.key.startsWith("system:")&&(P.push(Ce("shop",a.title,he)),le=!0);let te=Y.key===$f||Y.label===Uf?l(Y.label):Y.label;P.push(Ce(Y.key,te,Y.rows.map(Ne)))}return xe&&!le&&P.push(Ce("shop",a.title,he)),P})();return cl("div",{className:"sf-pages",children:[fe(Ka,{icon:fe(PL,{}),title:l("Pages"),context:p,actions:fe(CL,{label:l("New page"),onClick:ro,children:fe(FL,{size:15})}),onHide:o}),fe("div",{className:"sf-pages-find",children:fe(hh,{type:"search",leftIcon:fe(dl,{name:"search",size:14,rounded:!0}),placeholder:l("Search all pages\u2026"),value:C,onChange:P=>k(P.target.value),"aria-label":l("Search all pages")})}),g&&!E&&fe("div",{className:"sf-note sf-note--error",role:"alert",children:g}),Ze===null?fe("div",{className:"sf-note",children:l("Loading\u2026")}):Ze.some(Boolean)?fe(kL,{ariaLabel:l("Pages"),className:"sf-scroll",children:Ze}):fe("div",{className:"sf-note",children:C.trim()?l("No pages match your search"):l("No pages yet. Add one with + above.")}),fe(vL,{open:E,onClose:()=>F(!1),size:"sm",title:l("Add a page"),description:l("Give the new template page a name. It starts blank \u2014 add sections once it opens."),footer:cl(mh,{children:[fe(Ih,{variant:"secondary",onClick:()=>F(!1),children:l("Cancel")}),fe(Ih,{onClick:()=>{We()},disabled:v||!L.trim(),loading:v,children:l("Add page")})]}),children:fe(wL,{label:l("Page name"),htmlFor:O,hint:L.trim()?l("URL: /{slug}",{slug:Sh(L,Xe)}):void 0,error:g??void 0,children:fe(hh,{id:O,value:L,invalid:!!g,onChange:P=>B(P.target.value),onKeyDown:P=>{P.key==="Enter"&&We()},placeholder:l("e.g. About")})})})]})}import{jsx as OL}from"react/jsx-runtime";import{createContext as RL,useCallback as AL,useContext as BL,useState as _L}from"react";import{useSelectHandler as DL}from"efficient-easel/draw/client";var ul=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],sr=ul[0];var kt="right";function pl(e){return ul.includes(e??"")?e:sr}function vh(e){return e==="left"?"left":kt}function wh(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():""}var ml={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:kt,launcherLabel:"",showOnPhones:!0};function N7(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:wh(e.launcherColor),launcherIcon:e.launcherIcon?pl(e.launcherIcon):"",launcherPosition:vh(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var kh=RL({chat:ml,setChat:()=>{},selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function M7({children:e,chat:o=ml,onChatChange:t}){let[r,a]=_L(!1),n=AL(f=>t?.(f),[t]),{select:s,setSelectHandler:i}=DL();return OL(kh.Provider,{value:{chat:o,setChat:n,selected:r,setSelected:a,select:s,setSelectHandler:i},children:e})}var xl=()=>BL(kh);import{jsx as Yf}from"react/jsx-runtime";import{DesktopIcon as NL,PhoneIcon as ML,TabletIcon as HL}from"efficient-easel/icons";import{VIEW_TIERS as zL,VIEW_TIER_LABEL as WL}from"efficient-easel/draw";var GL={desktop:Yf(NL,{}),tablet:Yf(HL,{}),mobile:Yf(ML,{})},Th=zL.map(e=>({id:e,get label(){return l(WL[e])},icon:GL[e]}));import{PreviewDeviceContext as XM}from"efficient-easel/draw/client";import{jsx as UL}from"react/jsx-runtime";import{createContext as $L,useCallback as Fh,useContext as qL,useMemo as jL,useRef as KL}from"react";var VL=Object.fromEntries(Ga.map(e=>[e,{value:"",error:null}])),Eh=$L({links:Iu,rows:VL,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function V7({children:e,value:o}){let t=KL(()=>{}),r=Fh(()=>t.current(),[]),a=Fh(s=>{t.current=s},[]),n=jL(()=>({...o,openPanel:r,setOpenHandler:a}),[o,r,a]);return UL(Eh.Provider,{value:n,children:e})}var la=()=>qL(Eh);import{jsx as YL}from"react/jsx-runtime";import{createContext as XL,useContext as ZL,useMemo as QL,useState as JL}from"react";var Ph=XL(null);function Q7({children:e}){let[o,t]=JL(null),r=QL(()=>({surface:o,setSurface:t}),[o]);return YL(Ph.Provider,{value:r,children:e})}function Lh(){return ZL(Ph)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as eO}from"efficient-easel/draw/client";var sa="Scrolling Bar",{Provider:oq,useSelection:Il}=eO("selectedHeroId");import{createPreviewSelectionContext as oO}from"efficient-easel/draw/client";var{Provider:aq,useSelection:hl}=oO("selectedHeroPart");import{isShown as hO,lazyShowWhenContext as gO}from"efficient-shell/format";var gl="product",tO="recordType",rO={key:gl,label:"Product",fields:[]};var aO=new Map,nO=0;function lq(){return[rO,...aO.values()]}function sq(){return nO}function lO(e){let o=e?.[tO];return typeof o!="string"?gl:o.trim()||gl}function Xf(e){return lO(e)===gl}var Zf="product",sO="tyre";var iO="productType",fO={[Zf]:"alloy-wheel",[sO]:"tyre"},cO=["alloy-wheel","tyre"];function Oh(e,o){return Xf(o)?dO(o)??fO[e]??null:null}function dO(e){if(!Xf(e))return null;let o=e?.[iO];return typeof o=="string"&&cO.includes(o)?o:null}var bl=null,Rh=null;function uO(e,o){bl=e,Rh=o}function uq(e){uO(e,null)}function pq(){return bl}function Ah(){return Rh==="dynamic"||bl===Zf}function mq(e){return Oh(bl??"",e)??"alloy-wheel"}import{addShowWhenFacts as pO}from"efficient-shell/format";import{showWhenOf as Qf,shownForOption as mO,truthy as xO,withRowRules as IO,withRowsShownWhen as yl,withShowWhen as Sl}from"efficient-shell/format";var gq=pO;function _h(e,o,t){let r=!1,a={};for(let[n,s]of Object.entries(e))hO(Qf(s),o??{},t)?a[n]=s:r=!0;return r?a:e}function Dh(e,o,t,r){let a=Ya(o,t,r);return{device:e,parentType:a?.item.type,parent:a?.item.props}}function Bh(e,o){if(!e||typeof e!="object")return!1;let t=e;if(typeof t.context=="string"&&(t.context===o||t.context.startsWith(`${o}.`)))return!0;if("not"in t)return Bh(t.not,o);for(let r of[t.all,t.any])if(Array.isArray(r)&&r.some(a=>Bh(a,o)))return!0;return!1}function kq(e,o={}){return gO({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>Ah(),root:()=>e.appState?.data?.root?.props,...o})}var Mh=["one","side","stacked"];var Fq={one:"One",side:"Side by side",stacked:"Stacked"};function Hh(e){return Mh.includes(e)?e:"one"}function Nh(e){return e==="one"?1:2}function bO(e,o){if(Mh.includes(e))return e;let t=Hh(o);return t==="side"?"stacked":t}function Jf(e){let o=Hh(e.mediaLayout);return Math.max(Nh(o),Nh(bO(e.mediaLayoutPhone,o)))}var ia=["media","image","image2"],ir={media:"Media",image:"Image",image2:"Image 2"},fa={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function Cl(e,o){return e==="image"&&Jf(o)>1?"Image 1":ir[e]}var Oq="Video file",Rq="Upload a video file";function yO(e,o){return{field:"mediaType",is:e,default:o}}var SO=new Set(["HeroSingle"]),zh="heroPart";function CO(e,o){return{...o,[zh]:e}}function Aq(e,{parts:o={},onlyFor:t,fallback:r,rules:a}){let n={...e};for(let s of["image","video"])for(let i of t[s])n[i]=Sl(n[i],yO(s,r));for(let[s,i]of Object.entries(a??{}))i&&(n[s]=Sl(n[s],i));for(let s of ia)for(let i of o[s]??[])n[i]=CO(s,n[i]);return n}function vO(e){let o=e?.[zh];return ia.includes(o)?o:null}function Wh(e,o){let t={};for(let[r,a]of Object.entries(e))vO(a)===o&&(t[r]=a);return t}function Gh(e){if(!SO.has(e.type))return[];let o=[{part:"media",label:ir.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:Cl("image",e.props),depth:1}),Jf(e.props)>1&&o.push({part:"image2",label:Cl("image2",e.props),depth:1})),o}function ca(e,o){return`${e}::${o}`}function Uh(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return ia.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var Bq="data-sf-hero-part";import{jsx as ee,jsxs as Et,Fragment as dd}from"react/jsx-runtime";import{useState as RD}from"react";import{useEasel as AD}from"efficient-easel/easel";import{headWords as Ay,InspectorHead as BD,InspectorIconButton as Oy}from"efficient-easel/chrome";import{DuplicateIcon as _D,TrashIcon as DD}from"efficient-easel/icons";import{panelFieldsOf as $h}from"efficient-easel/screen/lib/puck/panel-fields";import{jsx as T,Fragment as K,jsxs as V}from"react/jsx-runtime";import{BlockBannerIcon as TO,BlockBoxIcon as FO,BlockButtonIcon as EO,BlockDividerIcon as jh,BlockFooterIcon as Kh,BlockHeadingIcon as PO,BlockProductIcon as LO,BlockSocialIcon as OO,BlockTextIcon as RO,ChatIcon as AO,GridIcon as BO,ImageIcon as oc,MediaIcon as _O,PageIcon as DO}from"efficient-easel/icons";import{jsx as ec,Fragment as wO,jsxs as kO}from"react/jsx-runtime";var qh=kO(wO,{children:[ec("circle",{cx:"9",cy:"20",r:"1.3"}),ec("circle",{cx:"18",cy:"20",r:"1.3"}),ec("path",{d:"M2.5 3.5h3l2.3 11.3a1.6 1.6 0 0 0 1.6 1.3h8.1a1.6 1.6 0 0 0 1.6-1.2L21 7H6"})]});var NO={header:V(K,{children:[T("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),T("path",{d:"M3 9.5h18"})]}),website:V(K,{children:[T("circle",{cx:"12",cy:"12",r:"9"}),T("path",{d:"M3 12h18M12 3c2.6 2.7 2.6 15.3 0 18M12 3c-2.6 2.7-2.6 15.3 0 18"})]}),social:V(K,{children:[T("circle",{cx:"6",cy:"12",r:"2.5"}),T("circle",{cx:"18",cy:"6",r:"2.5"}),T("circle",{cx:"18",cy:"18",r:"2.5"}),T("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:V(K,{children:[T("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),T("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:V(K,{children:[T("path",{d:"M4 15.5h6M4 18h4"}),T("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:T("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:V(K,{children:[T("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),T("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:T("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:V(K,{children:[T("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),T("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:V(K,{children:[T("circle",{cx:"11",cy:"11",r:"6"}),T("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:qh,CountrySwitchBlock:V(K,{children:[T("circle",{cx:"12",cy:"12",r:"8.5"}),T("path",{d:"M3.5 12h17M12 3.5c2.6 2.4 3.6 5.2 3.6 8.5s-1 6.1-3.6 8.5M12 3.5c-2.6 2.4-3.6 5.2-3.6 8.5s1 6.1 3.6 8.5"})]}),LegalLineBlock:V(K,{children:[T("path",{d:"M3 9h18"}),T("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:V(K,{children:[T("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),T("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:V(K,{children:[T("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),T("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:V(K,{children:[T("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),T("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),T("path",{d:"M7 17h7"})]}),Collections:V(K,{children:[T("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),T("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),T("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:V(K,{children:[T("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),T("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:V(K,{children:[T("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),T("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),T("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),T("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),T("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:V(K,{children:[T("path",{d:"M3 7h9M15.5 7H21"}),T("circle",{cx:"13.5",cy:"7",r:"1.7"}),T("path",{d:"M3 12h4M10.5 12H21"}),T("circle",{cx:"8.5",cy:"12",r:"1.7"}),T("path",{d:"M3 17h9M15.5 17H21"}),T("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:V(K,{children:[T("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:V(K,{children:[T("path",{d:"M3 5h10"}),T("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),T("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),T("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:V(K,{children:[T("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),T("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),T("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:V(K,{children:[T("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),T("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),T("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),T("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:V(K,{children:[T("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),T("circle",{cx:"9",cy:"10",r:"1.6"}),T("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:V(K,{children:[T("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),T("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:V(K,{children:[T("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),T("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),T("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:V(K,{children:[T("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),T("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:V(K,{children:[T("path",{d:"M3.5 20h17"}),T("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:V(K,{children:[T("circle",{cx:"6",cy:"12",r:"2.6"}),T("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),T("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:V(K,{children:[T("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),T("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:V(K,{children:[T("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),T("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:V(K,{children:[T("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),T("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:V(K,{children:[T("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),T("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:V(K,{children:[T("path",{d:"M4 8.5h4.5M11 8.5h9"}),T("path",{d:"M4 14.5h16"})]}),HeroGroup:V(K,{children:[T("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),T("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:V(K,{children:[T("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),T("path",{d:"M6.5 9h11M6.5 12.5h11"}),T("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:T(K,{children:T("path",{d:"M12 3.5l7.5 3.2v5.1c0 4.2-3.2 7.1-7.5 8.7-4.3-1.6-7.5-4.5-7.5-8.7V6.7z"})}),Spacer:V(K,{children:[T("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),T("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:V(K,{children:[T("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),T("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),T("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),T("path",{d:"M4 13.5h11M4 17.5h7"}),T("path",{d:"M17 15l3 2-3 2"})]}),CustomHTML:T("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},MO=T("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),HO={footer:Kh,Footer:Kh,Divider:jh,FooterDivider:jh,Banner:TO,Flex:FO,FooterSocial:OO,page:DO,chat:AO,Heading:PO,Text:RO,ImageBlock:oc,ButtonBlock:EO,Grid:BO,ProductRef:LO,heroMedia:_O,heroImage:oc,heroImage2:oc},zO={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",SiteHeader:"header",SiteFooter:"footer"};function Tt({type:e,size:o=16,className:t}){let r=zO[e]??e,a=HO[r];return a?T(a,{size:o,className:t}):T("svg",{width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",className:t,"aria-hidden":"true",children:NO[r]??MO})}import{jsx as Q,jsxs as tc,Fragment as WO}from"react/jsx-runtime";import{useEffect as GO,useId as Vh,useState as UO}from"react";import{IconPicker as $O}from"efficient-shell/ui";import{SettingsDefaultReset as qO,SettingsField as fr,SettingsSegmented as jO,SettingsSwitch as Yh}from"efficient-easel/panel";import*as KO from"efficient-easel/icons";import{ButtonIcon as VO,ButtonIconIcon as YO,EyeIcon as XO,PhoneIcon as ZO,PlacementIcon as QO,TypeIcon as JO}from"efficient-easel/icons";var eR="Chat with us",oR="We usually reply within a few minutes",tR="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function vl({label:e,value:o,placeholder:t,onCommit:r,multiline:a=!1,hint:n}){let[s,i]=UO(o);GO(()=>i(o),[o]);let f=()=>{s!==o&&r(s)};return Q(fr,{label:e,icon:Q(JO,{}),changed:o!=="",action:Q(cr,{label:e,changed:o!=="",onReset:()=>r("")}),hint:n,children:a?Q("textarea",{value:s,placeholder:t,rows:3,onChange:u=>i(u.target.value),onBlur:f,"aria-label":e}):Q("input",{type:"text",value:s,placeholder:t,onChange:u=>i(u.target.value),onBlur:f,onKeyDown:u=>{u.key==="Enter"&&u.currentTarget.blur()},"aria-label":e,autoComplete:"off"})})}function cr({label:e,changed:o,onReset:t}){return Q(qO,{words:j()?.panel,label:e,changed:o,onReset:t})}function rR({label:e,icon:o,checked:t,fallback:r,onChange:a,hint:n}){let s=Vh();return Q(fr,{label:e,labelId:s,icon:o,changed:t!==r,action:tc("span",{className:"inline-flex items-center gap-2",children:[Q(Yh,{checked:t,onChange:a,ariaLabelledBy:s}),Q(cr,{label:e,changed:t!==r,onReset:()=>a(r)})]}),hint:n})}function aR(e){let o=e.replace(/(^|-)([a-z])/g,(r,a,n)=>n.toUpperCase()),t=KO[`${o}Icon`];return t?Q(t,{size:16}):null}var nR=ul.map(e=>({value:e,icon:aR(e)}));function lR(){let{theme:e}=X(),o=Qe(e).themes[0];return Ar(o)??o?.accent??""}function Xh(){let{chat:e,setChat:o}=xl(),t=Vh(),r=lR(),a=e.launcherIcon?pl(e.launcherIcon):sr;return tc(WO,{children:[Q(fr,{label:l("Show the chat bubble"),labelId:t,icon:Q(XO,{}),changed:!e.enabled,action:tc("span",{className:"inline-flex items-center gap-2",children:[Q(Yh,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),Q(cr,{label:l("Show the chat bubble"),changed:!e.enabled,onReset:()=>o({enabled:!0})})]}),hint:e.enabled?l("The floating chat bubble shows in the corner of every page."):l("The chat bubble is hidden across the whole site.")}),Q(Zt,{label:"Look"}),Q(fr,{label:l("Button color"),icon:Q(VO,{}),changed:e.launcherColor!=="",action:Q(to,{label:l("Button color"),value:e.launcherColor,inherited:r,caption:e.launcherColor?void 0:l("Site button color"),onChange:n=>o({launcherColor:n}),after:Q(cr,{label:l("Button color"),changed:e.launcherColor!=="",onReset:()=>o({launcherColor:""})})})}),Q(fr,{label:l("Icon"),icon:Q(YO,{}),changed:a!==sr,action:Q(cr,{label:l("Icon"),changed:a!==sr,onReset:()=>o({launcherIcon:""})}),children:Q($O,{label:l("Icon"),value:a,options:nR,onChange:n=>o({launcherIcon:n===sr?"":n})})}),Q(fr,{label:l("Position"),icon:Q(QO,{}),changed:e.launcherPosition!==kt,action:Q(cr,{label:l("Position"),changed:e.launcherPosition!==kt,onReset:()=>o({launcherPosition:kt})}),children:Q(jO,{options:[{label:l("Right"),id:"right"},{label:l("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:l("Position"),onChange:n=>o({launcherPosition:n})})}),Q(vl,{label:l("Label"),value:e.launcherLabel,placeholder:l("Icon only"),onCommit:n=>o({launcherLabel:n}),hint:l("Shows when a visitor points at the button")}),Q(rR,{label:l("Show on phones"),icon:Q(ZO,{}),checked:e.showOnPhones,fallback:ml.showOnPhones,onChange:n=>o({showOnPhones:n})}),Q(Zt,{label:"Wording"}),Q(vl,{label:l("Title"),value:e.title,placeholder:eR,onCommit:n=>o({title:n})}),Q(vl,{label:l("Subtitle"),value:e.subtitle,placeholder:oR,onCommit:n=>o({subtitle:n})}),Q(vl,{label:l("Greeting message"),value:e.greeting,placeholder:tR,onCommit:n=>o({greeting:n}),multiline:!0}),Q("p",{className:"es-field-hint sf-hint-keep",children:l("Leave a field blank to use the built-in wording.")})]})}import{jsx as Ft,Fragment as wc,jsxs as og}from"react/jsx-runtime";import{useEffect as DR,useId as Jh,useState as eg}from"react";import{SettingsField as NR}from"efficient-easel/panel";import{jsx as FR}from"react/jsx-runtime";import{forwardRef as sR,createElement as rc}from"react";var Zh={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};var G=(e,o,t,r)=>{let a=sR(({color:n="currentColor",size:s=24,stroke:i=2,title:f,className:u,children:p,...m},x)=>rc("svg",{ref:x,...Zh[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${o}`,u].filter(Boolean).join(" "),...e==="filled"?{fill:n}:{strokeWidth:i,stroke:n},...m},[f&&rc("title",{key:"svg-title"},f),...r.map(([h,b])=>rc(h,b)),...Array.isArray(p)?p:[p]]));return a.displayName=`${t}`,a};var iR=[["path",{d:"M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3",key:"svg-0"}]],ac=G("outline","brand-facebook","BrandFacebook",iR);var fR=[["path",{d:"M3 7a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v10a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4l0 -10",key:"svg-0"}],["path",{d:"M8.5 12a3.5 3.5 0 1 0 7 0a3.5 3.5 0 0 0 -7 0",key:"svg-1"}],["path",{d:"M17 7v.01",key:"svg-2"}]],nc=G("outline","brand-instagram","BrandInstagram",fR);var cR=[["path",{d:"M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01",key:"svg-0"}]],lc=G("outline","brand-line","BrandLine",cR);var dR=[["path",{d:"M8 11v5",key:"svg-0"}],["path",{d:"M8 8v.01",key:"svg-1"}],["path",{d:"M12 16v-5",key:"svg-2"}],["path",{d:"M16 16v-3a2 2 0 1 0 -4 0",key:"svg-3"}],["path",{d:"M3 7a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v10a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4l0 -10",key:"svg-4"}]],sc=G("outline","brand-linkedin","BrandLinkedin",dR);var uR=[["path",{d:"M8 20l4 -9",key:"svg-0"}],["path",{d:"M10.7 14c.437 1.263 1.43 2 2.55 2c2.071 0 3.75 -1.554 3.75 -4a5 5 0 1 0 -9.7 1.7",key:"svg-1"}],["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-2"}]],ic=G("outline","brand-pinterest","BrandPinterest",uR);var pR=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],fc=G("outline","brand-telegram","BrandTelegram",pR);var mR=[["path",{d:"M21 7.917v4.034a9.948 9.948 0 0 1 -5 -1.951v4.5a6.5 6.5 0 1 1 -8 -6.326v4.326a2.5 2.5 0 1 0 4 2v-11.5h4.083a6.005 6.005 0 0 0 4.917 4.917",key:"svg-0"}]],cc=G("outline","brand-tiktok","BrandTiktok",mR);var xR=[["path",{d:"M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5",key:"svg-0"}],["path",{d:"M11.197 15.698c-.69 .196 -1.43 .302 -2.197 .302a8.008 8.008 0 0 1 -2.612 -.432l-2.388 1.432v-2.801c-1.237 -1.082 -2 -2.564 -2 -4.199c0 -3.314 3.134 -6 7 -6c3.782 0 6.863 2.57 7 5.785l0 .233",key:"svg-1"}],["path",{d:"M10 8h.01",key:"svg-2"}],["path",{d:"M7 8h.01",key:"svg-3"}],["path",{d:"M15 14h.01",key:"svg-4"}],["path",{d:"M18 14h.01",key:"svg-5"}]],dc=G("outline","brand-wechat","BrandWechat",xR);var IR=[["path",{d:"M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9",key:"svg-0"}],["path",{d:"M9 10a.5 .5 0 0 0 1 0v-1a.5 .5 0 0 0 -1 0v1a5 5 0 0 0 5 5h1a.5 .5 0 0 0 0 -1h-1a.5 .5 0 0 0 0 1",key:"svg-1"}]],uc=G("outline","brand-whatsapp","BrandWhatsapp",IR);var hR=[["path",{d:"M4 4l11.733 16h4.267l-11.733 -16l-4.267 0",key:"svg-0"}],["path",{d:"M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772",key:"svg-1"}]],pc=G("outline","brand-x","BrandX",hR);var gR=[["path",{d:"M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8",key:"svg-0"}],["path",{d:"M10 9l5 3l-5 3l0 -6",key:"svg-1"}]],mc=G("outline","brand-youtube","BrandYoutube",gR);var bR=[["path",{d:"M18 2a1 1 0 0 1 .993 .883l.007 .117v4a1 1 0 0 1 -.883 .993l-.117 .007h-3v1h3a1 1 0 0 1 .991 1.131l-.02 .112l-1 4a1 1 0 0 1 -.858 .75l-.113 .007h-2v6a1 1 0 0 1 -.883 .993l-.117 .007h-4a1 1 0 0 1 -.993 -.883l-.007 -.117v-6h-2a1 1 0 0 1 -.993 -.883l-.007 -.117v-4a1 1 0 0 1 .883 -.993l.117 -.007h2v-1a6 6 0 0 1 5.775 -5.996l.225 -.004h3z",key:"svg-0"}]],xc=G("filled","brand-facebook-filled","BrandFacebookFilled",bR);var yR=[["path",{d:"M16 3a5 5 0 0 1 5 5v8a5 5 0 0 1 -5 5h-8a5 5 0 0 1 -5 -5v-8a5 5 0 0 1 5 -5zm-4 5a4 4 0 0 0 -3.995 3.8l-.005 .2a4 4 0 1 0 4 -4m4.5 -1.5a1 1 0 0 0 -.993 .883l-.007 .127a1 1 0 0 0 1.993 .117l.007 -.127a1 1 0 0 0 -1 -1",key:"svg-0"}]],Ic=G("filled","brand-instagram-filled","BrandInstagramFilled",yR);var SR=[["path",{d:"M17 2a5 5 0 0 1 5 5v10a5 5 0 0 1 -5 5h-10a5 5 0 0 1 -5 -5v-10a5 5 0 0 1 5 -5zm-9 8a1 1 0 0 0 -1 1v5a1 1 0 0 0 2 0v-5a1 1 0 0 0 -1 -1m6 0a3 3 0 0 0 -1.168 .236l-.125 .057a1 1 0 0 0 -1.707 .707v5a1 1 0 0 0 2 0v-3a1 1 0 0 1 2 0v3a1 1 0 0 0 2 0v-3a3 3 0 0 0 -3 -3m-6 -3a1 1 0 0 0 -.993 .883l-.007 .127a1 1 0 0 0 1.993 .117l.007 -.127a1 1 0 0 0 -1 -1",key:"svg-0"}]],hc=G("filled","brand-linkedin-filled","BrandLinkedinFilled",SR);var CR=[["path",{d:"M17 3.34a10 10 0 0 1 -8.512 18.023l2.364 -5.315a3.5 3.5 0 0 0 2.398 .952c2.708 0 4.75 -2.089 4.75 -5a6 6 0 1 0 -11.64 2.041a1 1 0 1 0 1.88 -.682a4 4 0 1 1 7.76 -1.36c0 1.818 -1.156 3.001 -2.75 3.001c-.609 0 -1.153 -.361 -1.478 -1.022l1.142 -2.572a1 1 0 0 0 -1.828 -.812l-4.392 9.882a10 10 0 0 1 -4.694 -8.476l.005 -.324a10 10 0 0 1 14.995 -8.336",key:"svg-0"}]],gc=G("filled","brand-pinterest-filled","BrandPinterestFilled",CR);var vR=[["path",{d:"M16.083 2h-4.083a1 1 0 0 0 -1 1v11.5a1.5 1.5 0 1 1 -2.519 -1.1l.12 -.1a1 1 0 0 0 .399 -.8v-4.326a1 1 0 0 0 -1.23 -.974a7.5 7.5 0 0 0 1.73 14.8l.243 -.005a7.5 7.5 0 0 0 7.257 -7.495v-2.7l.311 .153c1.122 .53 2.333 .868 3.59 .993a1 1 0 0 0 1.099 -.996v-4.033a1 1 0 0 0 -.834 -.986a5.005 5.005 0 0 1 -4.097 -4.096a1 1 0 0 0 -.986 -.835z",key:"svg-0"}]],bc=G("filled","brand-tiktok-filled","BrandTiktokFilled",vR);var wR=[["path",{d:"M18.497 4.409a10 10 0 0 1 -10.36 16.828l-.223 -.098l-4.759 .849l-.11 .011a1 1 0 0 1 -.11 0l-.102 -.013l-.108 -.024l-.105 -.037l-.099 -.047l-.093 -.058l-.014 -.011l-.012 -.007l-.086 -.073l-.077 -.08l-.067 -.088l-.056 -.094l-.034 -.07l-.04 -.108l-.028 -.128l-.012 -.102a1 1 0 0 1 0 -.125l.012 -.1l.024 -.11l.045 -.122l1.433 -3.304l-.009 -.014a10 10 0 0 1 1.549 -12.454l.215 -.203a10 10 0 0 1 13.226 -.217m-8.997 3.09a1.5 1.5 0 0 0 -1.5 1.5v1a6 6 0 0 0 6 6h1a1.5 1.5 0 0 0 0 -3h-1l-.144 .007a1.5 1.5 0 0 0 -1.128 .697l-.042 .074l-.022 -.007a4.01 4.01 0 0 1 -2.435 -2.435l-.008 -.023l.075 -.041a1.5 1.5 0 0 0 .704 -1.272v-1a1.5 1.5 0 0 0 -1.5 -1.5",key:"svg-0"}]],yc=G("filled","brand-whatsapp-filled","BrandWhatsappFilled",wR);var kR=[["path",{d:"M8.267 3a1 1 0 0 1 .73 .317l.076 .092l4.274 5.828l5.946 -5.944a1 1 0 0 1 1.497 1.32l-.083 .094l-6.163 6.162l6.262 8.54a1 1 0 0 1 -.697 1.585l-.109 .006h-4.267a1 1 0 0 1 -.73 -.317l-.076 -.092l-4.276 -5.829l-5.944 5.945a1 1 0 0 1 -1.497 -1.32l.083 -.094l6.161 -6.163l-6.26 -8.539a1 1 0 0 1 .697 -1.585l.109 -.006h4.267z",key:"svg-0"}]],Sc=G("filled","brand-x-filled","BrandXFilled",kR);var TR=[["path",{d:"M18 3a5 5 0 0 1 5 5v8a5 5 0 0 1 -5 5h-12a5 5 0 0 1 -5 -5v-8a5 5 0 0 1 5 -5zm-9 6v6a1 1 0 0 0 1.514 .857l5 -3a1 1 0 0 0 0 -1.714l-5 -3a1 1 0 0 0 -1.514 .857z",key:"svg-0"}]],Cc=G("filled","brand-youtube-filled","BrandYoutubeFilled",TR);var mj="outline",wl={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ER={},vc={fillRule:"evenodd"},PR=[["path",{...wl,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...vc,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],LR=[["path",{...wl,d:["M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663","c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133","c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48","c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01z"].join("")}],["path",{...ER,d:["M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663","c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133","c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48","c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01z"].join("")}]],OR=[["path",{...wl,d:["M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178","a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5z"].join("")}],["path",{...wl,d:["M8.319 15.972L7.84 15.918L7.349 15.832L6.865 15.715L6.388 15.568L4 17L4 14.199","L3.559 13.775L3.197 13.356L2.877 12.91L2.603 12.439L2.376 11.946L2.201 11.433","L2.079 10.902L2.016 10.405L2.001 9.897L2.036 9.386L2.12 8.889L2.25 8.405L2.425 7.937","L2.642 7.486L2.9 7.055L3.195 6.645L3.459 6.333L3.744 6.037L4.05 5.757L4.377 5.495","L4.723 5.25L5.086 5.025L5.467 4.819L5.864 4.634L6.275 4.471L6.701 4.331L7.139 4.214","L7.589 4.122L8.05 4.055L8.521 4.014L9.352 4.007L9.815 4.04L10.269 4.098L10.713 4.181","L11.146 4.287L11.567 4.416L11.975 4.567L12.369 4.739L12.748 4.932L13.112 5.143","L13.459 5.374L13.788 5.622L14.172 5.956L14.458 6.241L14.722 6.542L14.965 6.856","L15.217 7.237A8.35 7.35 0 0 0 8.319 15.972z"].join("")}],["path",{...vc,d:["M8.319 15.972L7.84 15.918L7.349 15.832L6.865 15.715L6.388 15.568L4 17L4 14.199","L3.559 13.775L3.197 13.356L2.877 12.91L2.603 12.439L2.376 11.946L2.201 11.433","L2.079 10.902L2.016 10.405L2.001 9.897L2.036 9.386L2.12 8.889L2.25 8.405L2.425 7.937","L2.642 7.486L2.9 7.055L3.195 6.645L3.459 6.333L3.744 6.037L4.05 5.757L4.377 5.495","L4.723 5.25L5.086 5.025L5.467 4.819L5.864 4.634L6.275 4.471L6.701 4.331L7.139 4.214","L7.589 4.122L8.05 4.055L8.521 4.014L9.352 4.007L9.815 4.04L10.269 4.098L10.713 4.181","L11.146 4.287L11.567 4.416L11.975 4.567L12.369 4.739L12.748 4.932L13.112 5.143","L13.459 5.374L13.788 5.622L14.172 5.956L14.458 6.241L14.722 6.542L14.965 6.856","L15.217 7.237A8.35 7.35 0 0 0 8.319 15.972zM5.25 7.9a0.85 0.85 0 1 0 1.7 0","a0.85 0.85 0 1 0 -1.7 0zM8.25 7.9a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0z"].join("")}],["path",{...vc,d:["M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178","a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5z","M14.15 14a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0zM17.15 14","a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0z"].join("")}]],RR=G("filled","brand-telegram-filled","BrandTelegramFilled",PR),AR=G("filled","brand-line-filled","BrandLineFilled",LR),BR=G("filled","brand-wechat-filled","BrandWechatFilled",OR),_R={instagram:{outline:nc,solid:Ic},facebook:{outline:ac,solid:xc},tiktok:{outline:cc,solid:bc},youtube:{outline:mc,solid:Cc},x:{outline:pc,solid:Sc},linkedin:{outline:sc,solid:hc},pinterest:{outline:ic,solid:gc},whatsapp:{outline:uc,solid:yc},telegram:{outline:fc,solid:RR},line:{outline:lc,solid:AR},wechat:{outline:dc,solid:BR}};function Qh({platform:e,iconStyle:o,size:t}){let r=_R[e][o];return FR(r,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var MR={instagram:"instagram.com/yourshop",facebook:"facebook.com/yourshop",tiktok:"tiktok.com/@yourshop",youtube:"youtube.com/@yourshop",x:"x.com/yourshop",linkedin:"linkedin.com/company/yourshop",pinterest:"pinterest.com/yourshop",whatsapp:"wa.me/61400000000",telegram:"t.me/yourshop",line:"line.me/ti/p/~yourshop",wechat:"u.wechat.com/your-qr-code-link"};function HR({platform:e}){let{rows:o,saveLink:t}=la(),{value:r,error:a}=o[e],[n,s]=eg(r),[i,f]=eg(!1),u=Jh(),p=Jh();DR(()=>s(r),[r]);let m=async()=>{if(n.trim()===r){n!==r&&s(r);return}f(!0),await t(e,n),f(!1)},x=xu[e];return og(wc,{children:[Ft(NR,{label:l(x),htmlFor:u,icon:Ft(Qh,{platform:e,iconStyle:"outline",size:18}),children:Ft("input",{id:u,type:"text",inputMode:"url",value:n,placeholder:MR[e],onChange:h=>s(h.target.value),onBlur:()=>{m()},onKeyDown:h=>{h.key==="Enter"&&h.currentTarget.blur(),h.key==="Escape"&&(s(r),h.currentTarget.blur())},"aria-invalid":a?!0:void 0,"aria-describedby":a?p:void 0,"aria-busy":i||void 0,autoComplete:"off",spellCheck:!1})}),a&&Ft("p",{id:p,className:"sf-note sf-note--error",role:"alert",children:a})]})}function tg({unavailable:e}){let{canSave:o}=la();return!o&&e?Ft(wc,{children:e}):og(wc,{children:[Ft("p",{className:"es-field-hint sf-hint-keep",children:l("Paste a link to each profile. A platform left empty shows nothing on the site.")}),Ga.map(t=>Ft(HR,{platform:t},t))]})}import{jsx as xr,jsxs as PB}from"react/jsx-runtime";import{useId as LB,useMemo as OB}from"react";import{useEasel as RB}from"efficient-easel/easel";import{SettingsField as AB,SettingsSwitch as BB}from"efficient-easel/panel";import{EyeIcon as _B}from"efficient-easel/icons";import{jsx as wo,jsxs as Al}from"react/jsx-runtime";import{useCallback as pr,useEffect as mr,useId as CB,useRef as Mo,useState as ba}from"react";var rg="data-puck-overlay-portal";function kl(e){return e.setAttribute(rg,"true"),()=>e.removeAttribute(rg)}import{jsx as xa,jsxs as vg}from"react/jsx-runtime";var kc="small",Tc="dot",zR=[{label:"Small",value:"small"},{label:"Display",value:"display"}],WR=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],ag={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},GR={small:"font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.25em] max-[800px]:text-[length:var(--size-label,12px)]",display:"font-display font-medium text-[length:var(--size-headingMedium,44px)] uppercase leading-none tracking-[0.005em] max-[800px]:text-[length:var(--size-headingMedium,28px)]"},UR={small:{dot:"",cross:"text-[0.77em]",slash:"text-[0.77em]",triangle:"",none:""},display:{dot:"text-[0.3em]",cross:"text-[0.64em]",slash:"text-[0.64em]",triangle:"text-[0.3em]",none:""}};function ng(e){return Je(zR,kc,e)}function lg(e){return Je(WR,Tc,e)}function sg(e){return GR[e]}function ig(e,o){return UR[e][o]}var Fc="left",$R=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],qR={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function fg(e){return Je($R,Fc,e)}function cg(e){return e==="up"||e==="down"}function dg(e,o){return`${qR[e]} ${o}s linear infinite`}import{jsx as ce,jsxs as Oc}from"react/jsx-runtime";import{Fragment as Sg}from"react";import{Fragment as ZR,jsx as Pc}from"react/jsx-runtime";import{Fragment as mg,jsx as ua,jsxs as VR}from"react/jsx-runtime";import{createContext as Ec,useContext as pa,useId as YR,useMemo as XR}from"react";var da="@name",ug="@body",pg="@value",Lj={[da]:"Name",[ug]:"Body",[pg]:"Value"},jR={TimelineTrack:{"entries.date":da,"entries.title":da,"entries.blurb":ug},Footprint:{"offices.city":da},Stats:{"items.label":da,"items.value":pg}};function KR(e){let{key:o,row:t}=so(e);return t?`${o}.${t.rowKey}`:null}function Tl(e,o){if(!e)return o;let t=KR(o);return t?jR[e]?.[t]??o:o}var Fl=Ec(null),xg=Ec(null),Ig=Ec(null);function Dj({needles:e,styles:o,type:t,children:r}){let a=YR(),n=JSON.stringify([a,e,o,t]),s=XR(()=>UI(e,o,a,i=>Tl(t,i)),[n]);return s?VR(mg,{children:[ua("style",{"data-sf-part-styles":"",dangerouslySetInnerHTML:{__html:$I(s).replace(/</g,"\\3c ")}}),ua(Fl.Provider,{value:s,children:r})]}):ua(mg,{children:r})}function hg(e){let o=pa(Fl),t=pa(xg),r=qI(o,e);return r&&r.stamp!==t?r:null}function Nj(e){return Ef(pa(Fl),e)}function gg({stamp:e,children:o}){return ua(xg.Provider,{value:e,children:o})}function Mj({children:e}){let o=pa(Fl);return ua(Ig.Provider,{value:o,children:e})}function Hj(e){return Ef(pa(Ig),e)}function ma({value:e,children:o}){let t=hg(e);return t?Pc(gg,{stamp:t.stamp,children:Pc("span",{[Sf]:t.stamp,children:o})}):Pc(ZR,{children:o})}import{jsx as Lc,Fragment as QR}from"react/jsx-runtime";function bg({className:e=""}){return Lc("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function El(e){if(!e.includes("\xAE"))return e;let o=e.split("\xAE"),t=[];return o.forEach((r,a)=>{r&&t.push(r),a<o.length-1&&t.push(Lc(bg,{},`r${a}`))}),Lc(QR,{children:t})}var jj=bg;function Rc(e,o=!1){let t=lA(o),r=Zs(e);if(r.length===1){let[n]=r,s=Xs(n),i=s?aA(s,n.children):n.children;return ce(ma,{value:e,children:Pl(i,t)})}let a=[];return r.forEach((n,s)=>{if(n.bullet){a.push(ce("span",{"data-sf-bullet":"",className:JR,children:Pl(n.children,t)},s));return}if(n.number!=null){a.push(Oc("span",{"data-sf-number":n.number,className:eA,children:[Oc("span",{className:oA,children:[n.number,"."]}),Pl(n.children,t)]},s));return}s>0&&!tA(r[s-1])&&a.push(ce("br",{},`br${s}`)),a.push(ce(Sg,{children:Pl(n.children,t)},s))}),ce(ma,{value:e,children:a})}var JR="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",eA="relative block pl-[2em]",oA="absolute left-0 w-[1.6em] text-right tabular-nums";function tA(e){return e.bullet||e.number!=null}var rA="text-accent underline underline-offset-[0.18em]";function aA(e,o){let[t,...r]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...r]:[{kind:"text",text:e},...o]}function nA(e){if(e)return GI(e)?e:Object.hasOwn(Ro,e)?Ro[e]:void 0}function Pl(e,o){let t=[],r=!1;return e.forEach((a,n)=>{if(a.kind==="text"){t.push(ce("span",{children:El(a.text)},n)),r=!0;return}r||t.push(ce("span",{},`e${n}`)),t.push(Cg(a,n,o)),r=!1}),r||t.push(ce("span",{},"end")),t}function yg(e,o){return e.length===1&&e[0].kind==="text"?El(e[0].text):e.map((t,r)=>t.kind==="text"?ce(Sg,{children:El(t.text)},r):Cg(t,r,o))}function lA(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function oK(e){return ce(ma,{value:e,children:ce("span",{children:e})})}function Cg(e,o,t){if(e.kind==="link")return ce("a",{href:e.href,className:rA,children:yg(e.children,t)},o);let r=yg(e.children,t),a=gp[e.kind];if(a)return ce("span",{[bp]:a,children:r},o);switch(e.kind){case"underline":return ce("u",{children:r},o);case"sup":return ce("sup",{children:r},o);case"sub":return ce("sub",{children:r},o);case"color":{let n=nA(e.color);return n?ce("span",{style:{color:n},children:r},o):ce("span",{children:r},o)}case"accent":case"highlight":return ce("em",{className:t,children:r},o);case"bold":return ce("strong",{className:"font-semibold",children:r},o);case"italic":return ce("em",{className:"italic",children:r},o);case"strike":return ce("s",{className:"line-through",children:r},o);default:return ce("span",{children:r},o)}}function tK(e,o=!0){let t=e.split(`
6
- `);return ce(ma,{value:e,children:t.map((r,a)=>Oc("span",{children:[Rc(r,o),a<t.length-1?ce("br",{}):null]},a))})}function rK(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var sA={"themed-band":"text-fg/70","themed-section":"text-fg-dim","dark-media":"text-overlay-fg/70"};function wg({items:e,separator:o=Tc,size:t=kc,durationSec:r=50,scroll:a=Fc,backdrop:n="themed-band",className:s}){let i=ng(t),f=fg(a),u=lg(o),p=`text-accent ${ig(i,u)}`.trim(),m=ag[u],x=m===""?xa("span",{}):xa("span",{className:p,children:m}),h=cg(f),b=h?"inline-flex flex-col items-center gap-[60px] pb-[60px] max-[800px]:gap-8 max-[800px]:pb-8":"inline-flex items-center gap-[60px] pr-[60px] max-[800px]:gap-8 max-[800px]:pr-8",C=h?"inline-flex flex-col items-center gap-[60px] max-[800px]:gap-8":"inline-flex items-center gap-[60px] max-[800px]:gap-8",k=v=>xa("span",{className:b,children:e.map((w,g)=>{let y=typeof w=="string"?w:w.text,E=typeof w=="object"&&w.gold;return vg("span",{className:C,children:[xa("span",{className:E?"text-accent":void 0,children:Rc(y)}),x]},g)})},v);return xa("div",{className:`overflow-hidden ${s??""}`,children:vg("div",{className:`flex ${h?"flex-col ":""}whitespace-nowrap ${sg(i)} ${sA[n]}`,style:{animation:dg(f,r)},children:[k("a"),k("b")]})})}import{jsx as ha,jsxs as DA}from"react/jsx-runtime";import{createContext as NA,useContext as MA}from"react";import{jsx as dr,jsxs as _g}from"react/jsx-runtime";import{useEffect as Bc,useRef as wA,useState as Ia}from"react";import{jsx as kg}from"react/jsx-runtime";import{createContext as iA,lazy as mK,Suspense as xK,useContext as fA}from"react";var cA={Link:jd,Image:qd},dA=iA(cA);function Tg(){return fA(dA)}function IK(e){let{Link:o}=Tg();return kg(o,{...e})}function Fg(e){let{Image:o}=Tg();return kg(o,{...e})}import{jsx as Eg,Fragment as uA,jsxs as pA}from"react/jsx-runtime";import{useEffect as mA,useRef as Pg,useState as xA}from"react";var IA="#t=0.001",hA=2;function gA(e,o){if(e.readyState<hA||!e.videoWidth||!e.videoHeight)return!1;let t=o.getContext("2d");return t?(o.width=e.videoWidth,o.height=e.videoHeight,t.drawImage(e,0,0,o.width,o.height),!0):!1}function Lg({src:e,objectPosition:o="50% 50%",onError:t}){let r=Pg(null),a=Pg(null),[n,s]=xA(!1);return mA(()=>{let i=r.current,f=a.current;if(n||!i||!f)return;let u=()=>{gA(i,f)&&s(!0)};return u(),i.addEventListener("loadeddata",u),i.addEventListener("seeked",u),()=>{i.removeEventListener("loadeddata",u),i.removeEventListener("seeked",u)}},[n]),pA(uA,{children:[Eg("canvas",{ref:a,"aria-hidden":!0,className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:o,visibility:n?"visible":"hidden"}}),!n&&Eg("video",{ref:r,src:`${e}${IA}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as Rg,imageSrcSet as bA}from"efficient-shell/image-copies";var Og;function Ac(){return Og===void 0?{}:{host:Og}}var CK="(max-width: 800px) 100vw, min(100vw, 1600px)";function Ag(e,{fallbackWidth:o=1280,maxWidth:t}={}){let r=bA(e,{...Ac(),...t===void 0?{}:{maxWidth:t}});return r?{src:Rg(e,o,Ac()),srcSet:r}:{src:e}}function vK(e){let o=Rg(e,1920,Ac());return o===e?`url(${e})`:`url("${o}")`}import{formatFocal as yA,parseFocal as SA}from"efficient-shell/format";var CA="sf-focus-phone",vA="--sf-focus-phone";function Bg(e){if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return{className:"",style:{}};let{x:o,y:t}=SA(e);return{className:CA,style:{[vA]:yA(o,t)}}}var kA=.5;function Dg({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:r=kA,objectPosition:a="50% 50%",objectPositionPhone:n,quiet:s=!1}){let i=Bg(n),f=o||"",u=e||"",[p,m]=Ia(!1),[x,h]=Ia(!1),[b,C]=Ia(!1),[k,v]=Ia(!1),[w,g]=Ia(!1),y=wA(null);Bc(()=>{m(!1),h(!1),C(!1),v(!1)},[e,o]),Bc(()=>{if(typeof window>"u")return;let L=()=>{let B=window;B.requestIdleCallback?B.requestIdleCallback(()=>g(!0),{timeout:2e3}):setTimeout(()=>g(!0),800)};if(document.readyState==="complete"){L();return}return window.addEventListener("load",L,{once:!0}),()=>window.removeEventListener("load",L)},[]),Bc(()=>{let L=y.current;if(!L)return;let B=()=>{L.playbackRate=r};return B(),L.addEventListener("loadedmetadata",B),()=>L.removeEventListener("loadedmetadata",B)},[e,r]);let E=Kd(f),F=f&&E&&!x?Ag(f):{src:f};return _g("div",{className:"absolute inset-0 z-[1]",children:[dr("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),f&&(E?dr("img",{src:F.src,...F.srcSet?{srcSet:F.srcSet,sizes:"100vw"}:{},alt:"",className:`absolute inset-0 z-[2] h-full w-full object-cover ${i.className}`.trim(),style:{display:p?"none":"block",objectPosition:a,...i.style},onError:()=>F.srcSet?h(!0):m(!0)},f):dr(Fg,{src:f,alt:"",fill:!0,priority:!0,sizes:"100vw",className:`z-[2] object-cover ${i.className}`.trim(),style:{display:p?"none":"block",objectPosition:a,...i.style},onError:()=>m(!0)},f)),t&&!s&&u&&w&&!b&&_g("video",{ref:y,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:a},onError:()=>C(!0),children:[Vd(u)&&dr("source",{src:u.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),dr("source",{src:u,type:"video/mp4"})]},u),t&&s&&u&&w&&!k&&(!f||p)&&dr(Lg,{src:u,objectPosition:a,onError:()=>v(!0)},u)]})}var Ng=["top","middle","bottom"],Mg=["left","center","right"],Hg="bottom",zg="left",TA={top:"Top",middle:"Middle",bottom:"Bottom"},FA={left:"Left",center:"Center",right:"Right"};var _K="Up and down",DK="Sideways",EA={top:"flex-start",middle:"center",bottom:"flex-end"},PA={left:"flex-start",center:"center",right:"flex-end"},LA="--sf-hero-phone-y",OA="--sf-hero-phone-x";function RA(e){return Ng.includes(e)?e:Hg}function AA(e){return Mg.includes(e)?e:zg}function Wg(e,o){let t=RA(e),r=AA(o),a={};return t!==Hg&&(a[LA]=EA[t]),r!==zg&&(a[OA]=PA[r]),a}function NK(){return Ng.map(e=>({label:TA[e],value:e}))}function MK(){return Mg.map(e=>({label:FA[e],value:e}))}var BA="#0A0A0A",_A=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function Gg(e){let o=e.trim().replace(/^#/,""),t=o.length===3?o.split("").map(a=>a+a).join(""):o;if(!/^[0-9a-fA-F]{6}$/.test(t))return null;let r=Number.parseInt(t,16);return`${r>>16&255},${r>>8&255},${r&255}`}function Ug(e){return e==null?!0:e!==!1}function $g(e){let o=(e?Gg(e):null)??Gg(BA);return`linear-gradient(180deg, ${_A.map(([t,r])=>`rgba(${o},${r}) ${t}%`).join(", ")})`}var _c=NA({});function VK({name:e,process:o,mediaType:t="video",mediaSrc:r,videoSpeed:a,poster:n,objectPosition:s,objectPositionPhone:i,tintColor:f="#000000",tintOpacity:u=0,groups:p,editing:m=!1,themeClassName:x,themeStyle:h}){let{alignment:b="left",textureOpacity:C,textureOn:k,textureColor:v,quietVideo:w,phoneUpDown:g,phoneSideways:y}=MA(_c),E=t==="video",F=E?Or(r):void 0,L=E?Or(n):Or(r)??Or(n),B=typeof a=="number"?a/100:1;return DA("section",{className:x?`relative h-full w-full overflow-hidden ${x}`:"relative h-full w-full overflow-hidden",style:h,"data-slide-name":e??"","data-slide-process":o??"","data-slide-media":F?"video":"still",children:[ha(Dg,{videoSrc:F,posterSrc:L,showVideo:E,playbackRate:B,objectPosition:s,objectPositionPhone:E?void 0:i,quiet:w}),u>0&&ha("div",{className:"absolute inset-0 z-[2]",style:{background:f,opacity:Math.min(Math.max(u,0),100)/100}}),Ug(k)&&ha("div",{className:"absolute inset-0 z-[2]",style:{background:$g(v),...C!==void 0?{opacity:C/100}:null}}),ha("div",{className:["sf-hero-group-layer absolute inset-0 z-[3] mx-auto max-w-[min(var(--sf-page-cap,var(--sf-site-width,1600px)),var(--sf-site-width,1600px))] px-[var(--sf-site-gutter,40px)] pt-[140px] pb-14",m?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{...np,...Wg(g,y)},children:p&&ha(p,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}var qg=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{jsx as Dc}from"react/jsx-runtime";import{UiIcon as VA}from"efficient-easel/draw/client";var HA={"top-left":"left-0 top-[120px]","top-center":"left-1/2 top-[120px] -translate-x-1/2","top-right":"right-0 top-[120px]",left:"left-0 top-1/2 -translate-y-1/2",center:"left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2",right:"right-0 top-1/2 -translate-y-1/2","bottom-left":"left-0 bottom-[120px]","bottom-center":"left-1/2 bottom-[120px] -translate-x-1/2","bottom-right":"right-0 bottom-[120px]"},zA=`calc(${Fn} - ${$e}*2)`,jg=`var(${Ai},${$e})`,QK=`pointer-events-none absolute inset-y-0 left-[${jg}] right-[${jg}] z-[6] mx-auto max-w-[var(${Bi},${zA.replace(/ /g,"_")})]`;function Ll(e,o){return`pointer-events-auto absolute ${HA[e]} z-[6] sf-hero-overlay-rail flex ${o}`}function Kg(e){return ho.includes(e)?e:null}var WA="bottom-right",GA=["outline","solid","square","bare"],UA="outline",oV={outline:"Outline",solid:"Solid",square:"Square",bare:"Bare"},tV=!1,Vg=["prev","next"],Yg={prev:"Previous slide",next:"Next slide"};function $A(e){return GA.includes(e)?e:UA}function qA(e){return Kg(e)??WA}var jA="flex-row items-center gap-2";function Xg(e){return Ll(qA(e),jA)}var KA={outline:"grid h-10 w-10 cursor-pointer place-items-center rounded-full border border-overlay-chrome/60 text-overlay-fg transition-colors hover:border-overlay-chrome hover:bg-overlay-scrim/30",solid:"grid h-10 w-10 cursor-pointer place-items-center rounded-full border border-overlay-chrome bg-overlay-chrome text-overlay-scrim transition-colors hover:bg-overlay-chrome/85",square:"grid h-10 w-10 cursor-pointer place-items-center rounded-md border border-overlay-chrome/60 text-overlay-fg transition-colors hover:border-overlay-chrome hover:bg-overlay-scrim/30",bare:"grid h-10 w-10 cursor-pointer place-items-center text-overlay-fg transition-colors hover:text-overlay-chrome"};function Zg(e){return KA[$A(e)]}function Qg(e){return e.shown===!0&&(e.count??0)>1}function Ol(e,o,t){if(t<=1)return o;let r=Math.min(Math.max(o,0),t-1);return e==="prev"?(r-1+t)%t:(r+1)%t}function Jg({shape:e,placement:o,ref:t}){let r=Zg(e);return Dc("div",{ref:t,className:Xg(o),style:{color:"var(--overlay-fg)"},children:Vg.map(a=>Dc("button",{type:"button","data-hero-nav":a,"aria-label":Yg[a],className:r,children:Dc(VA,{name:"chevron-right",size:18,rounded:!0,style:a==="prev"?{rotate:"180deg"}:void 0})},a))})}import{jsx as we,jsxs as Nc,Fragment as ur}from"react/jsx-runtime";var YA=ho;var XA="top-right",ZA=["cards","dots","numbers","bar","squares","tabs"],QA=["cards","dots","numbers","bar","squares"],eb="cards",cV={cards:"Cards",dots:"Dots",numbers:"Numbers",bar:"Bar",squares:"Squares",tabs:"Tabs"},dV=!0;function Rl(e){return ZA.includes(e)?e:eb}function ob(e){return QA.includes(e)?e:eb}function JA(e){return YA.includes(e)?e:XA}var tb={cards:"flex-col gap-2.5",dots:"flex-row items-center gap-2",numbers:"flex-col gap-2",bar:"h-0.5 w-[34%] max-w-[420px] gap-px overflow-hidden rounded-full",squares:"flex-col gap-0",tabs:"flex-row items-stretch w-full overflow-x-auto"};function rb(e,o){return Ll(JA(o),tb[Rl(e)])}function ab(e){return`flex ${tb[Rl(e)]}`}function nb(e){return e.shown!==!1&&(e.count??0)>1}function eB(e){return{name:e.dataset.slideName||"",process:e.dataset.slideProcess||"",video:e.dataset.slideMedia==="video"}}function oB(e,o){return e===o?!0:e.length!==o.length?!1:e.every((t,r)=>t.name===o[r].name&&t.process===o[r].process&&t.video===o[r].video)}function lb(e,o){let t=Array.from(o,eB);return oB(e,t)?e:t}function sb({slides:e,active:o,shape:t,placement:r,ref:a,tone:n="media",label:s}){let i=Rl(t),f=n==="surface"?{"--overlay-fg":"var(--fg)","--overlay-chrome":"var(--fg)","--overlay-scrim":"var(--site-surface-2)"}:void 0;return Nc("aside",{ref:a,"aria-label":s??"Featured slides",className:n==="surface"?ab(i):rb(i,r),style:{color:"var(--overlay-fg)",...f},children:[i==="cards"&&we(tB,{slides:e,active:o}),i==="dots"&&we(rB,{count:e.length,active:o}),i==="numbers"&&we(aB,{count:e.length,active:o}),i==="bar"&&we(lB,{count:e.length,active:o}),i==="squares"&&we(nB,{count:e.length,active:o}),i==="tabs"&&we(sB,{slides:e,active:o})]})}function tB({slides:e,active:o}){return Nc(ur,{children:[we("span",{className:"mb-1 font-mono text-[length:var(--size-label,10px)] uppercase tracking-[0.28em] text-overlay-chrome/55",children:"Reel \xB7 pick a slide"}),e.map((t,r)=>{let a=r===o;return Nc("button",{type:"button","data-idx":r,"aria-pressed":a,"aria-label":`Go to ${t.name||`slide ${r+1}`}`,className:["group flex w-[170px] cursor-pointer flex-col items-start gap-0.5 border bg-overlay-scrim/55 px-3 py-2.5 text-left transition-all motion-reduce:transition-none max-[1100px]:w-[140px]",a?"border-accent bg-overlay-scrim/70":"border-overlay-chrome/15 hover:border-overlay-chrome/45 hover:bg-overlay-scrim/70"].join(" "),children:[we("span",{className:["font-display text-[length:var(--size-body,13px)] font-medium uppercase leading-tight tracking-[-0.01em]",a?"text-accent":"text-overlay-fg"].join(" "),children:t.name||`Slide ${r+1}`}),we("span",{className:"font-mono text-[length:var(--size-label,9px)] uppercase tracking-[0.2em] text-overlay-chrome/55",children:a?"\u25B6 Now playing":t.process||" "})]},r)})]})}function rB({count:e,active:o}){return we(ur,{children:Array.from({length:e},(t,r)=>we("button",{type:"button","data-idx":r,"aria-pressed":r===o,"aria-label":`Go to slide ${r+1}`,className:`h-2 cursor-pointer rounded-full transition-all motion-reduce:transition-none ${r===o?"w-5 bg-accent":"w-2 bg-overlay-chrome/45 hover:bg-overlay-chrome/70"}`},r))})}function aB({count:e,active:o}){return we(ur,{children:Array.from({length:e},(t,r)=>we("button",{type:"button","data-idx":r,"aria-pressed":r===o,"aria-label":`Go to slide ${r+1}`,className:`cursor-pointer font-mono text-[length:var(--size-label,11px)] leading-none tracking-[0.06em] transition-colors ${r===o?"text-overlay-fg":"text-overlay-chrome/45 hover:text-overlay-chrome/80"}`,children:String(r+1).padStart(2,"0")},r))})}function nB({count:e,active:o}){return we(ur,{children:Array.from({length:e},(t,r)=>we("button",{type:"button","data-idx":r,"aria-pressed":r===o,"aria-label":`Go to slide ${r+1}`,className:`grid h-8 w-8 cursor-pointer place-items-center border border-overlay-chrome/25 text-[length:var(--size-label,14px)] font-bold leading-none transition-colors motion-reduce:transition-none ${r===o?"bg-accent text-[color:var(--accent-ink)]":"bg-overlay-scrim/45 text-overlay-chrome/75 hover:text-overlay-chrome"}`,children:r+1},r))})}function lB({count:e,active:o}){return we(ur,{children:Array.from({length:e},(t,r)=>we("button",{type:"button","data-idx":r,"aria-pressed":r===o,"aria-label":`Go to slide ${r+1}`,className:`h-full flex-1 cursor-pointer transition-colors ${r<=o?"bg-overlay-fg":"bg-overlay-chrome/25"}`},r))})}function sB({slides:e,active:o}){return we(ur,{children:e.map((t,r)=>{let a=r===o;return we("button",{type:"button","data-idx":r,"aria-pressed":a,className:["flex min-w-[140px] flex-1 cursor-pointer items-end px-6 py-7 text-left transition-colors",r>0?"border-l border-overlay-chrome/15":"",a?"bg-overlay-scrim/70":"hover:bg-overlay-scrim/40"].join(" "),children:we("span",{className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium uppercase leading-tight tracking-[-0.02em]",a?"text-overlay-fg":"text-overlay-chrome/55"].join(" "),children:t.name})},r)})})}import{useEffect as iB,useState as fB}from"react";var ib="(prefers-reduced-motion: reduce)";function cB(){return globalThis.window?.matchMedia?.(ib)?.matches??!1}function hV(){return cB()?"auto":"smooth"}function fb(){let[e,o]=fB(!1);return iB(()=>{let t=globalThis.window?.matchMedia?.(ib);if(!t||(o(t.matches),typeof t.addEventListener!="function"))return;let r=a=>o(a.matches);return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[]),e}var ga={accent:"#2563eb",accentTint:"#eff6ff",accentText:"#1d4ed8",appBg:"#f9fafb",previewBg:"#f3f4f6",panel:"#ffffff",fieldBg:"#ffffff",inputBorder:"#d1d5db",text:"#111827",text2:"#374151",muted:"#6b7280",line:"#e5e7eb",chipBg:"#f3f4f6",chipFg:"#6b7280",panelRadius:12,rowRadius:8,panelShadow:"0 1px 2px rgba(0,0,0,.05), 0 10px 30px rgba(0,0,0,.06)",topbarShadow:"0 1px 3px rgba(0,0,0,.06)",panelGap:10,leftWidth:288,rightWidth:308,topbarHeight:52,labelFont:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif"};var cb={min:40,max:100,step:5,fallback:100,unit:"vh"};function Mc(e){return`${typeof e=="number"?e:cb.fallback}${cb.unit}`}function db(...e){return e.some(o=>typeof o=="number")}import{HEADER_TYPE as Hc,FOOTER_TYPE as dB}from"efficient-easel/draw";var uB=new Set(["Hero","HeroSingle","IntroBleed"]),ub={min:56,max:140,default:88},CV={min:0,max:120,step:2,default:32},pb=`var(--sf-header-h, ${ub.default}px)`,pB="--sf-header-set-h",vV="--sf-header-h",wV=`var(${pB}, ${ub.default}px)`,kV="sf-header-clearance",TV="sf-sticky-underheader";function mB(e){return e?.find(o=>o?.type&&o.type!==Hc)??null}function mb(e){let o=mB(e)?.type;return!o||!uB.has(o)}function FV(e){return!mb(e)}function EV(e){return!!e?.some(o=>o?.type===Hc)}function PV(e){return!e||e.length===0?!1:!e.some(o=>o?.type===Hc||o?.type===dB)}var xB=["auto","shared","own"],IB="auto",hB="topSpace",LV="data-top-space";function gB(e){return xB.includes(e)?e:IB}function bB(e,o){let t=gB(e?.props?.[hB]);return t==="own"?!0:t==="shared"?!1:mb(o)}function OV(e,o){return bB(e,o)?"own":null}var yB=40;function SB(e,o){return Math.abs(e)<=yB||Math.abs(e)<=Math.abs(o)?null:e<0?"next":"prev"}function xb(e,o,t,r){let a=SB(e,o);return a?Ol(a,t,r):t}function Ib(e){return(e.count??0)>1&&e.editing!==!0}function hb(e){return e.editing!==!0?!1:(e.slides??[])[e.shown??0]?.video===!0}function gb(e){return e.editing!==!0?!1:!(e.playing===!0&&e.controlShown===!0)}import{HERO_SLIDER_GOTO_EVENT as bb}from"efficient-easel/draw";var vB=`
7
- .hero-ticker-pick { cursor: pointer; }
8
- .hero-ticker-pick:hover {
9
- outline: 2px solid color-mix(in srgb, ${ga.accent} 45%, transparent);
10
- outline-offset: -2px;
11
- }
12
- .hero-ticker-pick[data-selected] {
13
- outline: 2px solid ${ga.accent};
14
- outline-offset: -2px;
15
- }
16
- `,wB="Play video",kB="Hold video",TB="flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-overlay-chrome/25 bg-overlay-scrim/80 px-[11px] font-mono text-[11px] leading-none tracking-[0.05em] text-overlay-fg",FB=()=>l("item"),zc=["","","","","",""],yb=new Map;function EB(e,o){let t=e?.ownerDocument?.defaultView;if(t)return t.addEventListener(bb,o),()=>t.removeEventListener(bb,o)}function eY({slides:e,alignment:o,textureOpacity:t,showTexture:r,textureColor:a,phoneUpDown:n,phoneSideways:s,autoplay:i,autoplayInterval:f,showTicker:u,tickerItems:p,heightDesktop:m,heightMobile:x,showPicker:h,pickerShape:b,pickerPlacement:C,showArrows:k,arrowsShape:v,arrowsPlacement:w,editing:g}){let y=db(m,x),E=y?"h-[var(--sf-hero-h-m)] min-[720px]:h-[var(--sf-hero-h-d)]":"h-screen min-h-[680px]",F=y?{"--sf-hero-h-d":Mc(m),"--sf-hero-h-m":Mc(x)}:void 0,L=(p??zc.map(N=>({text:N}))).map(N=>N?.text?.trim()?N.text:g?FB():"").filter(Boolean),B=u!==!1,O=Mo(null),M=Mo(null),re=Mo(null),H=Mo(null),W=Mo(null),A=CB(),oe=Mo(A),[Re,Xe]=ba([]),[ro,We]=ba(0),Ae=Mo(0),[Ge,Ne]=ba(!1),[Ce,he]=ba(!1),[xe,Ze]=ba(null),P=fb(),{selectedHeroId:le,select:Y}=Il(),te=pr(()=>O.current?.querySelector(".hero-track")??null,[]),ae=pr((N,U=!1)=>{We(N),Ae.current=N,yb.set(oe.current,N);let q=O.current?.querySelector(".hero-track");if(q)if(U){let se=q.style.transition;q.style.transition="none",q.style.transform=`translateX(-${Math.max(0,N)*100}%)`,q.offsetHeight,q.style.transition=se}else q.style.transform=`translateX(-${Math.max(0,N)*100}%)`},[]);mr(()=>{let N=O.current,U=N?.getAttribute("data-puck-component")||N?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||A;oe.current=U,Ze(U);let q=yb.get(U);typeof q=="number"&&(We(q),Ae.current=q)},[]),mr(()=>{let N=te();if(!N)return;let U=()=>{Xe(se=>lb(se,N.querySelectorAll("[data-slide-name]")))};U();let q=new MutationObserver(U);return q.observe(N,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-slide-name","data-slide-process","data-slide-media"]}),()=>{q.disconnect()}},[te]),mr(()=>{if(!g)return;let N=U=>{let q=U.detail;if(!q||typeof q.index!="number")return;let se=O.current,eo=se?.getAttribute("data-puck-component")||se?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||oe.current;q.id&&q.id!==eo||ae(q.index,!0)};return EB(O.current,N)},[g,ae]);let ue=Re.length,Me=Math.min(Math.max(ro,0),Math.max(0,ue-1)),be=nb({shown:h,count:ue}),po=Qg({shown:k,count:ue}),Eo=hb({editing:g,shown:Me,slides:Re}),Wo=gb({editing:g,playing:Ce,controlShown:Eo}),Pe=Ib({count:ue,editing:g}),Go=Mo(null),rt=Mo(null),at=pr(N=>{if(Go.current=null,rt.current=null,!Pe||N.touches.length!==1)return;let U=N.touches[0];Go.current={x:U.clientX,y:U.clientY},rt.current={x:U.clientX,y:U.clientY}},[Pe]),ps=pr(N=>{if(!Go.current)return;if(N.touches.length!==1){Go.current=null;return}let U=N.touches[0];rt.current={x:U.clientX,y:U.clientY}},[]),Ma=pr(()=>{let N=Go.current,U=rt.current;if(Go.current=null,rt.current=null,!Pe||!N||!U)return;let q=xb(U.x-N.x,U.y-N.y,Ae.current,ue);q!==Ae.current&&ae(q)},[Pe,ue,ae]);mr(()=>{if(g||!i||Ge||P||ue<=1)return;let N=Math.max(1,typeof f=="number"?f:6)*1e3,U=window.setTimeout(()=>ae((Me+1)%ue),N);return()=>window.clearTimeout(U)},[g,i,f,Ge,P,ue,Me,ae]),mr(()=>{let N=[M.current,re.current,H.current].filter(Boolean),U=N.map(se=>kl(se)),q=se=>{let eo=se.target,Uo=eo.closest("[data-hero-nav]"),Ha=Uo??eo.closest("[data-idx]");if(!Ha)return;se.stopPropagation(),se.preventDefault();let Rt=Uo?Ol(Uo.dataset.heroNav,Ae.current,ue):Number(Ha.dataset.idx);Number.isNaN(Rt)||(ae(Rt,g),te()?.querySelectorAll("[data-slide-name]")[Rt]?.click())};return N.forEach(se=>se.addEventListener("click",q,{capture:!0})),()=>{U.forEach(se=>se?.()),N.forEach(se=>se.removeEventListener("click",q,{capture:!0}))}},[ue,ae,te,g]),mr(()=>{if(!g)return;let N=W.current;if(!N)return;let U=kl(N),q=se=>{se.stopPropagation(),se.preventDefault();let eo=O.current,Uo=eo?.getAttribute("data-puck-component")||eo?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||oe.current;Y(Uo)};return N.addEventListener("click",q,{capture:!0}),()=>{U?.(),N.removeEventListener("click",q,{capture:!0})}},[g,Y,B,L.length]);let Pr=pr(N=>{if(!N)return;let U=kl(N),q=se=>{se.stopPropagation(),se.preventDefault(),he(eo=>!eo)};return N.addEventListener("click",q,{capture:!0}),()=>{U?.(),N.removeEventListener("click",q,{capture:!0})}},[]);return wo(_c.Provider,{value:{alignment:o,textureOpacity:t,textureOn:r,textureColor:a,quietVideo:Wo,phoneUpDown:n,phoneSideways:s},children:Al("div",{ref:O,className:`relative mx-[var(--sf-hero-bleed-m,calc(50%_-_50vw))] w-[var(--sf-hero-bleed-w,100vw)] ${E} max-w-[var(--sf-hero-cap,none)] overflow-hidden`,style:F,onMouseEnter:()=>Ne(!0),onMouseLeave:()=>Ne(!1),onTouchStart:at,onTouchMove:ps,onTouchEnd:Ma,children:[wo(e,{className:"hero-track flex h-full [&>*]:h-full [&>*]:min-w-full [&>*]:shrink-0 [&>*]:basis-full",style:{transform:`translateX(-${Me*100}%)`,transition:P?"none":"transform 600ms cubic-bezier(.22,.61,.36,1)"},minEmptyHeight:400}),Eo&&wo("div",{ref:Pr,"data-hero-video-control":Ce?"playing":"held",className:"sf-hero-video-control absolute left-6 z-[7]",style:{top:`calc(${pb} + 16px)`},children:Al("button",{type:"button",className:TB,children:[wo("span",{"aria-hidden":"true",children:Ce?"\u275A\u275A":"\u25B6"}),l(Ce?kB:wB)]})}),(be||po)&&Al("div",{className:"pointer-events-none absolute inset-y-0 left-[var(--sf-hero-chrome-x,var(--sf-site-gutter,40px))] right-[var(--sf-hero-chrome-x,var(--sf-site-gutter,40px))] z-[6] mx-auto max-w-[var(--sf-hero-chrome-cap,calc(min(var(--sf-page-cap,var(--sf-site-width,1600px)),var(--sf-site-width,1600px))_-_var(--sf-site-gutter,40px)*2))]",children:[be&&wo(sb,{ref:M,slides:Re,active:Me,shape:ob(b),placement:C}),po&&wo(Jg,{ref:H,shape:v,placement:w})]}),be&&wo("div",{ref:re,className:"sf-hero-phone-dots absolute bottom-[80px] left-1/2 z-[6] hidden -translate-x-1/2 items-center gap-2",children:Re.map((N,U)=>wo("button",{type:"button","data-idx":U,"aria-label":`Go to slide ${U+1}`,className:`h-2 rounded-full transition-all motion-reduce:transition-none ${U===Me?"w-5 bg-accent":"w-2 bg-white/45 hover:bg-white/70"}`},U))}),B&&L.length>0&&Al("div",{ref:W,className:`sf-hero-ticker absolute inset-x-0 bottom-0 z-[5] border-t border-overlay-chrome/10 py-3.5${g?" hero-ticker-pick":""}`,"data-selected":g&&xe!=null&&le===xe?"":void 0,style:{background:"rgba(10,10,10,.55)"},children:[g&&wo("style",{children:vB}),wo(wg,{items:L,backdrop:"dark-media"})]})]})})}var DB="root:default-zone";function Sb({heroId:e}){let{appState:o,dispatch:t}=RB(p=>p),r=o.data.content??[],a=r.findIndex(p=>p.props.id===e),n=a>=0?r[a]:null,s=n?n.props.showTicker??!0:!0,i=OB(()=>{let p=n?.props.tickerItems;return Array.isArray(p)?p:zc.map(m=>({text:m}))},[n]),f=LB();if(!n)return xr("p",{className:"sf-note",children:l("This ticker\u2019s hero is no longer on the page.")});let u=p=>t({type:"replace",destinationZone:DB,destinationIndex:a,data:{...n,props:{...n.props,...p}}});return PB("div",{children:[xr(Zt,{label:"Ticker"}),xr(AB,{label:l("Show ticker"),labelId:f,icon:xr(_B,{}),action:xr(BB,{checked:s,onChange:p=>u({showTicker:p}),ariaLabelledBy:f})}),xr(Xi,{label:Yi.label,icon:Yi.icon,items:i,placeholder:"item",onChange:p=>u({tickerItems:p}),markup:!0})]})}import{jsx as z,Fragment as Zc,jsxs as ko}from"react/jsx-runtime";import{useContext as u_,useEffect as Vc,useRef as p_,useState as $b}from"react";import{FieldSelect as m_,InspectorField as x_}from"efficient-easel/fields";import{SettingsField as I_}from"efficient-easel/panel";import{InspectorUpLevel as zl}from"efficient-easel/chrome";import{StylesIcon as h_,TypeIcon as g_}from"efficient-easel/icons";import{useEasel as b_}from"efficient-easel/easel";import{TextPartPanel as y_}from"efficient-easel/copy";import{Tooltip as S_}from"efficient-shell/ui";import{jsx as qc,jsxs as $B}from"react/jsx-runtime";import{COPY_CELLS as ya,CopyBox as qB}from"efficient-easel/copy";import{PaddingYIcon as jB,WidthIcon as KB}from"efficient-easel/icons";import{useSyncExternalStore as NB}from"react";import{decodePartId as MB}from"efficient-easel/draw";function Ir(e,o){let t=pf(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?qx(t,o.index):null:mf(e)?.[o.rowKey]??null}function Bl(e,o,t){let r=e.node.props,{key:a,row:n}=so(e.propKey),s=n?bI(r,a,n,e.kind,o):hI(r,a,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}var HB=["bold","italic","underline","strike","link","sup","sub"],zB=["bullet","number"];function Uc(e,o){return e?[...HB,...o?zB:[]]:[]}function Cb(e,o){let t=MB(e);if(!t?.propKey)return null;let{nodeId:r,propKey:a}=t,n=o.getItemById(r),s=o.getSelectorForId(r);if(!n||!s)return null;let{key:i,row:f}=so(a),u=o.components[n.type]?.fields?.[i],p=f?Ir(u,f):u,m=Jt(p);if(!m)return null;let x=n.props??{};if(f&&!(Array.isArray(x[i])&&f.index<x[i].length))return null;let h=f?Zr(x[i],f):x[i];return{node:n,selector:s,propKey:a,kind:m,stored:h,offPage:Ln(p)}}function vb(e,o){let t=Cb(e,o);if(!t||t.offPage)return null;let{text:r,hidden:a}=Qo(t.stored);if(a)return null;let n=Yn(t.kind);return{partId:e,value:r,rules:zt,multiline:n,offered:Uc(t.kind!=="plainText",n),write:s=>{let i=Cb(e,o);i&&Bl({node:i.node,propKey:i.propKey,kind:i.kind,zone:i.selector.zone,index:i.selector.index},s,o.replace)}}}function wb(e,o,t){return e?.isConnected&&e.getAttribute(io)===t?e:o?.querySelector(`[${io}="${WB(t)}"]`)??null}function WB(e){return e.replace(/["\\]/g,"\\$&")}function kb(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var Wc=null,Gc=new Set;function GB(){return Wc}function $c(e){if(e!==Wc){Wc=e;for(let o of Gc)o()}}function UB(e){return Gc.add(e),()=>{Gc.delete(e)}}function Tb(){return NB(UB,GB,()=>null)}var VB=["left","center","right","justify"];function jc(e,o,t,r={}){let a=ta(e),n=(r.phone?e.sizePhone:void 0)??e.size??o.sizePx;return[r.phone?{...ya.fontSize,value:e.sizePhone,styleValue:Math.round(o.sizePx),onChange:s=>t({sizePhone:s??null})}:{...ya.fontSize,value:e.size,styleValue:Math.round(o.sizePx),onChange:s=>t({size:s??null})},{...ya.lineHeight,value:a.lineHeight,styleValue:o.lineRatio,onChange:s=>t(s===void 0?{lineHeight:null,line:null}:{lineHeight:s})},{...ya.letterSpacing,scale:n,value:a.letterSpacingEm,styleValue:o.letterEm,onChange:s=>t(s===void 0?{letterSpacing:null,letter:null}:{letterSpacing:s})},{...ya.paragraphSpacing,value:e.paragraphSpacing,styleValue:0,onChange:s=>t({paragraphSpacing:s??null})},{key:"padding",name:l("Padding"),icon:qc(jB,{}),unit:"px",step:wf,shiftStep:10,min:Cf,max:vf,value:e.padding,styleValue:o.paddingPx,onChange:s=>t({padding:s??null})},{key:"width",name:l("Width"),icon:qc(KB,{}),unit:"px",step:Tf,shiftStep:100,min:kf,max:Jo,value:e.width,styleValue:o.widthPx,onChange:s=>t({width:s??null})}]}function Fb({text:e,onTextChange:o,multiline:t,markup:r=!0,styled:a=!0,style:n,base:s,setValue:i,colors:f,placeholder:u,ariaLabel:p,head:m,typedOnCanvas:x=!1}){let h=jc(n,s,i),b=Uc(r,t);return $B("div",{className:"sf-part-textbox",children:[m,qc(qB,{value:e,onChange:o,multiline:t,placeholder:u,ariaLabel:p,rules:zt,tools:b,barShows:x?"focus":"always",colors:r?f:[],align:a?{value:n.align??s.align,allow:VB,onChange:C=>i({align:C})}:void 0,letterCase:a?{value:n.case==="capitalize"?"":n.case??"",onChange:C=>i({case:C||null})}:void 0,cells:a?h:void 0})]})}import{UiIcon as qb}from"efficient-easel/draw/client";import{jsx as _l,Fragment as YB,jsxs as XB}from"react/jsx-runtime";import{Button as Eb,Dialog as ZB}from"efficient-shell/ui";function Pb({styleName:e,onCancel:o,onConfirm:t}){return _l(ZB,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Update {style}?",{style:e}),footer:XB(YB,{children:[_l(Eb,{variant:"secondary",onClick:o,children:l("Cancel")}),_l(Eb,{variant:"primary",onClick:t,children:l("Update style")})]}),children:_l("p",{children:l("Every text on the site that follows {style} changes to look like this one. This text\u2019s own changes are cleared, and it keeps following {style}.",{style:e})})})}import{usePreviewDevice as C_}from"efficient-easel/draw/client";import{jsx as QB}from"react/jsx-runtime";import{createContext as JB,useContext as e_,useMemo as o_,useState as t_}from"react";var r_={partStyle:null,setPartStyle:()=>{}},Lb=JB(r_);function WY({children:e}){let[o,t]=t_(null),r=o_(()=>({partStyle:o,setPartStyle:t}),[o]);return QB(Lb.Provider,{value:r,children:e})}function Ob(){return e_(Lb)}import{TEXT_FIELD_MARKER as v_}from"efficient-easel/draw";var a_="#9ca3af";function n_(e){return an.map(o=>({key:o,name:yp[o],value:e?.[o]||a_}))}function Dl(e){return n_(e).map(o=>({name:o.key,label:l(o.name),value:o.value}))}function Ab(e){let o={},t=e.ownerDocument,r=t?.defaultView;if(!t||!r)return o;let a=r.getComputedStyle(e),n=t.createElement("canvas").getContext("2d");for(let s of an){let i=Ro[s].replace(/^var\((--[\w-]+)\)$/,"$1"),f=a.getPropertyValue(i).trim();if(!f)continue;let u=Rb(f);!u&&n&&(n.fillStyle="#000000",n.fillStyle=f,u=Rb(String(n.fillStyle))),u&&(o[s]=u)}return o}function Rb(e){let o=e.trim().toLowerCase();if(/^#[0-9a-f]{6}$/.test(o))return o;if(/^#[0-9a-f]{3}$/.test(o))return`#${[...o.slice(1)].map(r=>r+r).join("")}`;let t=o.match(/^rgba?\(\s*(\d+)[\s,]+(\d+)[\s,]+(\d+)/);return t?`#${t.slice(1,4).map(r=>Math.min(255,Number(r)).toString(16).padStart(2,"0")).join("")}`:null}function l_(e){let o=new Set([...Object.keys(sn[e]??{}),...fn[e]??[]]);for(let[t,r]of Object.entries(oi[e]??{}))r.verb==="snapshot"&&o.add(t);return[...o].sort()}var s_={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},Bb={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},_b="Open",Db={product:{type:"storefront-editor:open-product",needsSlug:!0},blog:{type:"storefront-editor:open-post",needsSlug:!0},menu:{type:"storefront-editor:open-menus",needsSlug:!1}};function Sa(e){let o=e?.source?.slug;return typeof o=="string"&&o.length>0?o:void 0}function Ca(e){return s_[e]??null}function Nb(e,o){let t=Ca(e);return t&&l_(e).includes(o)?t:null}function Nl(e){let o=e?.menu?.id;return typeof o=="string"&&o.length>0?o:void 0}var Ml="data-sf-spec-region";function YY(e,o,t){if(!e)return;let r=t[e];if(r)return{fontFamily:`var(--font-role-${e})`,fontSize:`var(--size-${r}, ${o.builtIn})`}}function hr(e){let o=/var\(--size-[A-Za-z]+, ?([0-9.]+px)\)/.exec(e);if(!o)throw new Error(`builtInOf: no --size-* fallback in ${e}`);return o[1]}function i_(e){return`@${e}`}function Kc(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function Mb(e,o){return o&&o in e?o:null}function f_(e,o){let t=o?.closest(`[${Ml}]`)?.getAttribute(Ml);return Mb(e,t??null)}var va={tag:"text-[length:var(--size-label,13px)]",name:"text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))]",namePhone:"max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,14px)]",price:"text-[length:var(--size-label,15px)]",link:"text-[length:var(--size-label,14px)]"},c_={tag:{label:"Tag",follows:"Labels",builtIn:hr(va.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:hr(va.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:hr(va.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:hr(va.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:hr(va.link),writable:!0}},Hb=c_;var d_={number:{label:"Number",follows:"Labels",builtIn:"14px",writable:!0},question:{label:"Question",follows:"Body",builtIn:"18px",writable:!0},answer:{label:"Answer",follows:"Body",builtIn:"15px",writable:!0}},zb=d_;var tX=Ml;var Wb={rowLabel:{label:"Spec row name",follows:"Labels",builtIn:"14px"},rowValue:{label:"Spec row value",follows:"Labels",builtIn:"14px"},diagramTitle:{label:"Diagram title",follows:"Labels",builtIn:"12px"},diagramCallout:{label:"Diagram measurement",follows:"Labels",builtIn:"12px"},diagramStatLabel:{label:"Diagram stat name",follows:"Labels",builtIn:"11px"},diagramStatValue:{label:"Diagram stat value",follows:"Labels",builtIn:"11px"}};var Gb={SpecTable:Wb,FAQ:zb,Collections:Hb};function Ub(e){return e&&Object.hasOwn(Gb,e)?Gb[e]:null}function Xc(e){return e?l(e):null}function jb(e){return e.kind==="role"?za[e.role]:e.kind==="custom"?"Custom":null}function w_(e){let o=e.role;return o&&Po.includes(o)?{kind:"role",role:o}:null}function k_(e,o){if(!e)return{kind:"unread"};let{faceRole:t,base:r}=e;if(o[t]===r.fontKey)return{kind:"role",role:t};let a=Object.keys(o).filter(n=>o[n]===r.fontKey);return a.length===1?{kind:"role",role:a[0]}:{kind:"custom"}}function Yc(e,o,t,r){return w_(rl(e,o))??k_(t,r)}function T_(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(r=>o(r)===t)?t:null}var Hl="";function F_({face:e,base:o,onPick:t}){let r=e.kind==="role"?e.role:Hl,a=[{label:l("No style"),value:Hl},...Po.map(n=>({label:l(za[n]),value:n}))];return z(m_,{ariaLabel:l("Style"),value:r,options:a,inline:!0,onChange:n=>t(n===Hl?null:n),renderOption:n=>n.value===Hl?ko(Zc,{children:[z("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),z("span",{className:"sf-part-style-aside","aria-hidden":"true",children:l("Section\u2019s own")})]}):z("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>z("span",{style:{fontFamily:o?.fontKey?`var(${At(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:Xc(jb(e))}),valueText:n=>Xc(jb(e))??n?.label??""})}function E_({sectionName:e,onBack:o,textEditor:t,styleRow:r,children:a}){return ko("div",{className:"sf-part-panel",children:[z(zl,{inline:!0,name:l(e),onSelect:o}),t,r,a]})}function Wl({source:e,slug:o,menuId:t}){let r=Gt(),a=Db[e],n=!a.needsSlug||!!o;return z("div",{className:"sf-note sf-note--source",children:ko("p",{className:"es-field-hint sf-hint-keep",children:[l(Bb[e]),n?ko(Zc,{children:[" ",z("button",{type:"button",className:"sf-source-open",onClick:()=>{a.type==="storefront-editor:open-menus"?r.send(a.type,{menuId:t??null}):o&&r.send(a.type,{slug:o})},children:l(_b)})]}):null]})})}var Kb=4,P_=120;function L_({region:e,sizePx:o,face:t,base:r,onFollowStyle:a,source:n,slug:s,onBack:i}){let f=e.follows;return ko("div",{className:"sf-note",children:[z("p",{children:z("strong",{children:l(e.label)})}),z("p",{children:o?l("Its size follows Site styles \u25B8 {follows} \u2014 {px}px right now.",{follows:l(f),px:Math.round(o)}):l("Its size follows Site styles \u25B8 {follows}.",{follows:l(f)})}),a?z(Zc,{children:z(I_,{label:l("Style"),icon:z(h_,{}),hint:l("Every {part} in this section follows it. The face and the size change; the letter case is the section\u2019s own and stays as it is.",{part:l(e.label).toLowerCase()}),children:z(F_,{face:t,base:r,onPick:a})})}):z("p",{className:"es-field-hint sf-hint-keep",children:l("Only the size follows a site style. This section sets its own font, weight and letter case.")}),n?z(Wl,{source:n,slug:s}):null,z(zl,{inline:!0,name:l("Page"),onSelect:i})]})}function O_({onBack:e}){return ko("div",{className:"sf-note",children:[z("p",{children:z("strong",{children:l("This part is no longer here.")})}),z("p",{children:l("The section it belonged to has been changed or removed.")}),z(zl,{inline:!0,name:l("Page"),onSelect:e})]})}function R_({onBack:e,partId:o,why:t}){return ko("div",{className:"sf-note",children:[z("p",{children:z("strong",{children:l("This part's settings did not open.")})}),z("p",{children:l("The words are still on your page and nothing has been lost. The editor could not work out which control belongs to them, which is a fault on our side. Go back and click the section to open its settings instead.")}),z("p",{className:"sf-note-detail",children:ko("code",{children:[o," \u2014 ",t]})}),z(zl,{inline:!0,name:l("Page"),onSelect:e})]})}function Vb({nodeId:e,propKey:o,onBack:t,onEditStyle:r}){let{getItemById:a,getSelectorForId:n,config:s}=b_(D=>D),i=qo(),f=Tb(),{partStyle:u}=Ob(),{fonts:p,textStyles:m}=X(),x=u_(Mt),h=!x?.capabilities?.hasSiteTheme,{persist:b}=Ut({themeFromDocument:h,tokenRef:x?.tokenRef,siteId:x?.siteId??null}),C=nl({themeFromDocument:h,persist:b}),[k,v]=$b(!1),w=C_()==="mobile",g=p_(null),y=a(e),E=n(e),F=y?s.components[y.type]:void 0,{key:L,row:B}=so(o),O=F?.fields?.[L],M=B?Ir(O,B):O,re=Jn(e,o),H=y?.props??{},W=Jt(M),A=Ln(M),oe=TI(M),Re=y?Ca(y.type):null,Xe=y?Nb(y.type,L):null,ro=B?Zr(H[L],B):H[L],We=!!B&&!(Array.isArray(H[L])&&B.index<H[L].length);Vc(()=>{kb(document)||g.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[re]);let[Ae,Ge]=$b(0);Vc(()=>Ge(0),[re]);let Ne=!!y&&!We&&(!E||!M);Vc(()=>{if(!Ne||Ae>=Kb)return;let D=setTimeout(()=>Ge(ke=>ke+1),P_);return()=>clearTimeout(D)},[Ne,Ae]);let Ce=Ne&&Ae<Kb;if(!y||We)return z(O_,{onBack:t});let he=Ub(y.type),xe=he?Kc(he,o):null;if(he&&xe){let D=u?.partId===re?u:null,ke=he[xe],mo=ke.writable===!0&&!!E,Lr=xs=>{E&&i.replaceComponent(E.zone,E.index,{...y,props:oa(H,o,"role",xs)})};return z(L_,{region:ke,sizePx:D?.base.sizePx??null,face:Yc(H,o,D,p),base:D?.base??null,onFollowStyle:mo?Lr:void 0,source:Re,slug:Sa(H),onBack:t})}if(!E||!M)return Ce?z("div",{className:"sf-note","aria-busy":"true"}):z(R_,{onBack:t,partId:re,why:E?"no field":"no selector"});let Ze=D=>{i.replaceComponent(E.zone,E.index,{...y,props:D})},P=D=>{if(Qo(D).hidden!==Qo(ro).hidden||!W){let ke=B?xf(H,L,B,D):{...H,[L]:D};ke&&Ze(ke);return}Bl({node:y,propKey:o,kind:W,zone:E.zone,index:E.index},Qo(D).text,i.replaceComponent)},le=ro,Y=u?.partId===re?u:null,te=Y?.styleOwner,ae=te?a(te.owner):null,ue=te&&ae?n(te.owner):null,Me=!!(te&&ae&&ue),be=Me?ae.props??{}:H,po=Me?D=>i.replaceComponent(ue.zone,ue.index,{...ae,props:D}):Ze,Eo=Me?te.kind:Tl(y?.type,o),Wo=rl(be,Eo),Pe=[{partKey:Eo,face:Yc(be,Eo,Y,p),sizeGroup:Y?.sizeGroup??null,base:Y?.base??B_,style:Wo}],Go=T_(Pe,D=>D.sizeGroup),rt=Dl(Y?.inks),at=(D,ke)=>{let mo=be;for(let Lr of Pe)mo=oa(mo,Lr.partKey,D,ke);po(mo)},ps=D=>at("role",D),Ma=D=>{let ke=be;for(let mo of Pe)for(let[Lr,xs]of Object.entries(D))ke=oa(ke,mo.partKey,Lr,xs??null);po(ke)},Pr=W==="text"||W==="textarea",{text:N,hidden:U}=Qo(ro),q=M?.[v_]?.label??o,se=U?l("Show {label} on the slide",{label:l(q)}):l("Hide {label} on the slide",{label:l(q)}),eo=ko("div",{className:"sf-field-head",children:[z(g_,{}),z("span",{className:"sf-field-label sf-field-label--inline",children:l(q)}),Pr&&z(S_,{content:se,children:z("button",{type:"button",className:"sf-field-eye","aria-pressed":U,"aria-label":se,onClick:()=>P({text:N,hidden:!U}),children:U?z(qb,{name:"eye-off",size:14}):z(qb,{name:"eye",size:14})})})]}),Uo=!A&&oe,Ha=!!W&&(Lx(M)||A||U||!oe),Rt=Yc(be,Eo,Y,p),ms=Rt.kind==="role"?Rt.role:null,AC=Object.entries(Wo).filter(([D,ke])=>D!=="role"&&ke!==void 0).length,BC=()=>{let D=be;for(let ke of Pe){let mo=ke.style.role;D=zI(D,ke.partKey),mo&&(D=oa(D,ke.partKey,"role",mo))}po(D)},nt=Bf(ms),_C=ZI(Pe[0].style),DC=nt?et(C.saved,C.old).find(D=>D.id===nt)?.name??nt:"",NC=()=>{v(!1),nt&&(C.write(QI({saved:C.saved,old:C.old,styleId:nt,values:_f(Pe[0].style)}),!0),BC())};return ko(E_,{sectionName:F?.label??y.type,onBack:t,textEditor:z("div",{ref:g,className:"sf-part-text",children:Ha?z(Fb,{text:N,onTextChange:D=>P(Pr?{text:D,hidden:U}:D),multiline:Yn(W),markup:W!=="plainText",styled:!1,style:Pe[0].style,base:Pe[0].base,setValue:Ma,colors:rt,placeholder:Xc(II(M))??void 0,ariaLabel:l(q),head:eo,typedOnCanvas:f===re}):W?Pr?eo:null:z(x_,{field:M,name:o,value:le,onChange:P,id:`sf-part-${e}-${o}`})}),children:[Xe&&z(Wl,{source:Xe,slug:Sa(H),menuId:Nl(H)}),Uo&&z(y_,{style:{value:ms??"",options:[{value:"",label:l("No style"),description:l("Section\u2019s own")},...Po.map(D=>({value:D,label:l(za[D]),description:At(p[D])?.label}))],onChange:D=>ps(D||null),changed:AC>0,onEditStyles:r,onUpdateStyle:nt&&_C?()=>v(!0):void 0},font:{value:Wo.font??"",styleValue:At(Pe[0].base.fontKey)?.label,options:no.map(D=>({label:D.label,value:D.key})),onChange:D=>at("font",D||null)},italic:{value:Wo.italic,styleValue:A_(m,ms),onChange:D=>at("italic",D??null)},cells:jc(Pe[0].style,Pe[0].base,Ma,{phone:w}),align:{value:Wo.align??"",styleValue:Pe[0].base.align,onChange:D=>at("align",D||null)},letterCase:{value:Wo.case??"",styleValue:Pe[0].base.case,onChange:D=>at("case",D||null)}}),k&&nt&&z(Pb,{styleName:DC,onCancel:()=>v(!1),onConfirm:NC}),Uo&&Go===null&&z("p",{className:"es-field-hint sf-hint-keep",children:l("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")})]})}function A_(e,o){let t=Bf(o);return!t||!Array.isArray(e)?!1:e.find(r=>r?.id===t)?.values?.italic===!0}var B_={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:Jo};import{jsx as co,jsxs as Qc,Fragment as __}from"react/jsx-runtime";import{useCallback as D_,useRef as N_,useState as wa}from"react";import{InspectorIconButton as M_}from"efficient-easel/chrome";import{PopupMenu as H_,PopupMenuItem as z_,PopupMenuLabel as Gl}from"efficient-shell/ui";import{CopyToPageIcon as W_}from"efficient-easel/icons";import{cloneNodeWithFreshIds as Yb,docToNode as KX,nodeToDoc as VX}from"efficient-easel/screen/lib/puck/section-doc";import{FOOTER_TYPE as G_}from"efficient-easel/draw";function Xb({node:e,currentSlug:o,siteId:t,tokenRef:r,runAuthed:a,onNotify:n}){let[s,i]=wa(!1),[f,u]=wa(null),p=Be(),[m,x]=wa(!1),[h,b]=wa(null),C=N_(null),[k,v]=wa(null),w=D_(async()=>{if(p.usesBridgedToken&&!r.current){x(!0);return}try{u(await Ue(p).pages.list(t?{siteId:t}:void 0))}catch{x(!0)}},[r,t,p]),g=()=>{if(s){i(!1);return}let F=C.current?.getBoundingClientRect();F&&v({top:F.bottom+6,right:Math.max(8,window.innerWidth-F.right)}),u(null),x(!1),w(),i(!0)},y=(f??[]).filter(F=>F.slug!==o),E=async F=>{if(h)return;b(F.slug);let L=Yb(e),B=p.documentHooks?.storedNode?.(L)??L,O=Ue(p).pages,M=await a(async()=>{let re=await O.load({id:F.id});if(!re)throw new Error(`Page "${F.slug}" no longer exists.`);let H=re.layout??{},W=Array.isArray(H.content)?[...H.content]:[],A=W.findIndex(oe=>oe?.type===G_);W.splice(A===-1?W.length:A,0,B),await O.save(F.id,{layout:{root:{},zones:{},...H,content:W}},{version:re.version,clientId:""})});b(null),i(!1),n?.(M?l("Duplicated to \u201C{name}\u201D",{name:F.label}):l("Couldn\u2019t duplicate the section \u2014 please retry"),M?"success":"error")};return Qc(__,{children:[co("span",{"data-menu-toggle":!0,style:{display:"contents"},children:co(M_,{buttonRef:C,label:l("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:g,children:co(W_,{size:15})})}),s&&k&&co(H_,{portal:!0,style:{top:k.top,right:k.right},onClose:()=>i(!1),children:Qc("div",{role:"menu","aria-label":l("Duplicate to page"),children:[co(Gl,{children:l("Duplicate to page")}),m?co(Gl,{children:l("Couldn\u2019t load pages")}):f===null?co(Gl,{children:l("Loading\u2026")}):y.length===0?co(Gl,{children:l("No other pages")}):y.map(F=>Qc(z_,{role:"menuitem",disabled:h!==null,onClick:()=>{E(F)},children:[co("span",{className:"min-w-0 flex-1 truncate",children:F.label}),h===F.slug?co("span",{className:"shrink-0 text-xs",children:l("Copying\u2026")}):F.draft&&co("span",{className:"shrink-0 text-xs",children:l("draft")})]},F.id))]})})]})}import{ScreenPartsProvider as iZ,sameInspectorMode as fZ,SELECTION_MODE as Zb,useScreenParts as cZ,useScreenBlockLook as dZ,useScreenBlockRules as uZ,useScreenBridges as pZ,useScreenCanvasFrame as mZ,useScreenDevices as xZ,useScreenDocumentPass as IZ,useScreenInspectorPanel as hZ,useScreenLeftView as gZ,useScreenOwnerName as bZ,useScreenPinned as yZ,useStandaloneScreenBridges as SZ}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as ND}from"efficient-easel/draw/client";import{jsx as ka,jsxs as U_}from"react/jsx-runtime";import{SettingsDrill as $_}from"efficient-easel/panel";import{UiIcon as q_}from"efficient-easel/draw/client";var j_="Not shown on the page";function K_({part:e,onOpen:o}){return ka($_,{name:l(e.label),preview:e.offPage?l(j_):e.preview||l("Empty"),offPage:e.offPage,status:e.hidden?ka("span",{className:"sf-entry-eye",role:"img","aria-label":l("Hidden on the page"),children:ka(q_,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function Jc(e){return e.filter(o=>!o.identifier)}function Qb({parts:e,onOpen:o,heading:t=!0}){let r=Jc(e);return r.length?U_("div",{className:"sf-entries",children:[t?ka("h3",{className:"sf-entries-head",children:l("Text")}):null,r.map(a=>ka(K_,{part:a,onOpen:o},a.key))]}):null}import{HEADER_TYPE as MD,ROOT_ZONE as Ry}from"efficient-easel/draw";import{HEADER_TYPE as Ve,FOOTER_TYPE as pe,newNodeId as V_}from"efficient-easel/draw";function Ul(){return{type:Ve,props:{id:V_(Ve)}}}var Jb=[{type:"FooterLogo",label:"Logo"},{type:"FooterMenu",label:"Menu"},{type:"FooterText",label:"Text"},{type:"FooterEmailSignup",label:"Email Form"},{type:"FooterSocial",label:"Social Logos"},{type:"FooterGroup",label:"Footer Box"},{type:"FooterDivider",label:"Divider"}],Y_=Jb.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),X_="FooterGroup",ey="blocks";function oy(e){return e===pe?Jb:e===X_?Y_:null}function $l(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterGroup",{direction:"vertical",align:"start",blocks:[e("FooterText",{text:"Join our email list",size:"md",tone:"default"}),e("FooterEmailSignup",{heading:"",placeholder:"Email address",buttonLabel:"Subscribe"})]})]}var De="SiteHeader",de="SiteFooter",ed="sections",LZ=[De,de],gr=e=>e===De||e===de,ty=e=>`${e}:${ed}`;function ry(e,o,t=[]){return{type:e,props:{id:o,[ed]:t}}}var Z_=new Set(["Footer",De,de]);function br(e){let o=new Set,t=!1,r=e.filter(a=>{let n=a?.type??"";return n==="Header"?(t=!0,!1):Z_.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?r:e}function ay(e,o){return e.some(t=>t?.type===o.type)?e:o.type===De?[o,...e]:[...e,o]}var ny={[De]:{max:3,takes:["Flex","Ticker"]},[de]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function ly(e,o,t){if(!gr(e))return!0;let r=ny[e];return t<r.max&&r.takes.includes(o)}function sy(e,o){let t=o,r=t?.props?.id;if(r==null)return null;let a=e?.content;if(!Array.isArray(a))return null;for(let n of a){if(!gr(n?.type))continue;let s=n.props?.[ed];if(!Array.isArray(s)||!s.some(f=>f?.props?.id===r))continue;let i=ny[n.type];return i.takes.includes(t?.type??"")?s.length>=i.max?{group:n.type,why:"full"}:null:{group:n.type,why:"type"}}return null}function iy(e){switch(e?.type){case De:return l("Header \xB7 on every page");case de:return l("Footer \xB7 on every page");case Ve:return l("Header \xB7 on every page \xB7 old style");case pe:return l("Footer \xB7 on every page \xB7 old style");default:return null}}var fy=()=>l("Every page"),cy=()=>l("Changed on every page");function ql(e,o){let t=Ju(e,o);if(t)return t;let r=sy(e,o);if(!r)return null;let a=r.group===De;return r.why==="type"?a?l("The header cannot take another one of these"):l("The footer cannot take another one of these"):a?l("The header holds at most 3 sections"):l("The footer holds at most 6 sections")}import{jsx as Vl,Fragment as lD,jsxs as sD}from"react/jsx-runtime";import{useState as iD}from"react";import{createNode as fD,newId as cD}from"efficient-easel/data";import{useEasel as dD}from"efficient-easel/easel";import{Banner as uD,Button as od}from"efficient-shell/ui";var jl="Flex",Q_={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},J_=e=>{let{id:o,...t}=e;return t},dy=e=>typeof e=="string"?e:"",Kl=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,uy={sm:12,md:13,lg:15},eD="md",py=1.5,oD={size:13,lineHeight:py,width:280},tD=14,rD=40,aD=e=>e==="center"||e==="right"?e:"left";function nD(e){let o={},t=[["padTop","sectionPaddingTop"],["padRight","sectionPaddingRight"],["padBottom","sectionPaddingBottom"],["padLeft","sectionPaddingLeft"]];for(let[r,a]of t){let n=Kl(e[r]);n&&(o[a]=n)}return o}function my(e,o){let t=e.props??{},r=Q_[e.type];if(r)return[o(r,J_(t))];switch(e.type){case"FooterLogo":{let a=aD(t.align),n=o("LogoBlock",{...t.reverse?{reverse:t.reverse}:{},...typeof t.customColor=="string"&&t.customColor?{customColor:t.customColor}:{},heightPx:Math.round(hu*((Kl(t.widthPct)??100)/100)),href:"/",align:a,...nD(t)}),s=dy(t.tagline).trim();return s?[n,o("Text",{text:s,tone:"dim",align:a,_partStyles:{text:{...oD}}})]:[n]}case"FooterText":{let a=typeof t.size=="string"&&t.size in uy?t.size:eD;return[o("Text",{text:dy(t.text),tone:typeof t.tone=="string"?t.tone:"default",_partStyles:{text:{size:uy[a],lineHeight:py}}})]}case"FooterDivider":{let a=Kl(t.thickness),n=Kl(t.lengthPct);return[o("Divider",{...a!==void 0?{thickness:a}:{},...n!==void 0?{lengthPct:n}:{},...t.hideOnMobile===!0?{hideOnMobile:!0}:{}})]}case"FooterGroup":{let a=Array.isArray(t.blocks)?t.blocks:[];return[o(jl,{direction:t.direction==="horizontal"?"row":"column",gap:qr("FooterGroup",t.gap),align:t.align==="center"||t.align==="end"?t.align:"start",content:a.flatMap(n=>my(n,o))})]}default:return[]}}function Ta(e,o,t){let r=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],a=u=>o(jl,{direction:"row",wrap:!0,share:"equal",gap:rD,content:u}),n=[],s=[];for(let u of r){let p=my(u,o);if(u.type==="FooterDivider"){s.length&&n.push(a(s)),s=[],n.push(...p);continue}p.length<=1?s.push(...p):s.push(o(jl,{direction:"column",gap:tD,align:"stretch",content:p}))}(s.length||!n.length)&&n.push(a(s));let i=o(jl,{direction:"column",content:[o("LegalLineBlock")]}),f=ry(de,t,[...n,i]);return{...f,props:{...f.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}function xy(){let{appState:e,dispatch:o,config:t}=dD(p=>p),{readOnly:r}=ye(),[a,n]=iD(!1),s=e.data.content;if(r||s.some(p=>p.type===de))return null;let i=s.find(p=>p.type===pe)??null,f=(p,m)=>fD(t,p,m),u=()=>{let p=Ta(i,f,cD(de));o({type:"setData",data:m=>({...m,content:[...ay(m.content,p)]}),recordHistory:!0}),n(!1)};return Vl(uD,{tone:"info",title:l("This footer uses the old layout"),action:a?sD(lD,{children:[Vl(od,{variant:"primary",size:"sm",onClick:u,children:l("Switch now")}),Vl(od,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:l("Cancel")})]}):Vl(od,{variant:"secondary",size:"sm",onClick:()=>n(!0),children:l("Switch to Box footer")}),children:l("Build this footer out of Boxes and blocks, like a page: the same menus, signup, social links and logo, with the copyright as a Legal Line. Your current footer is kept.")})}import{jsx as fd}from"react/jsx-runtime";import{useLayoutEffect as vD,useMemo as Fy,useRef as wD,useState as sd}from"react";import{useEasel as kD,useSelectedFields as TD}from"efficient-easel/easel";import{Inspector as FD,planFields as Ey}from"efficient-easel/fields";import{DESIGN_GROUPS as rd,SETTINGS_BUCKETS as pD}from"efficient-easel/panel";import{BUCKET_KEY as Ye,DESIGN_GROUP_KEY as yr}from"efficient-easel/screen/lib/puck/field-buckets";var Fa=pD;var mD="Editor only \u2014 not shown live",ad={"Archive link":"Content",Article:"Content",Blocks:"Content","Blog posts":"Content","Browser mock":"Content",Button:"Content","Call to action":"Content","Car prompt":"Content","Card link":"Content",Cards:"Content","Claims bars":"Content","Contact info":"Content",Content:"Content","Content source":"Content",Contents:"Content",Filters:"Content","Show on a card":"Content",Footnote:"Content",Form:"Content",Founders:"Content","Gallery A":"Content","Gallery B":"Content","Gallery link":"Content",Header:"Content","Header link":"Content","Image caption":"Content","In this issue":"Content",Items:"Content","Kanban columns":"Content",Lead:"Content","Left panel":"Content",Link:"Content",Links:"Content",List:"Content","Message form":"Content",Metadata:"Content",Milestones:"Content","Mockup card":"Content","Newsletter panel":"Content",Offices:"Content",Options:"Content","Others gallery":"Content","Overlay button":"Content",Product:"Content","Product page":"Content",Products:"Content","Pull quote":"Content",Questions:"Content","Recent issues":"Content","Recent posts":"Content",Reviews:"Content","Right panel \xB7 actions":"Content","Right panel \xB7 choices":"Content","Right panel \xB7 form":"Content","Routing groups":"Content",Rows:"Content",Search:"Content",Section:"Content","Section header":"Content",Sections:"Content","Signup form":"Content","Source product":"Content","Stat & note":"Content",Stats:"Content","Submit button":"Content","Success state":"Content",Wheel:"Content",Terminal:"Content",Text:"Content","Text column":"Content","Timeline entries":"Content","Top row":"Content",Total:"Content","Trailing note":"Content","\u201COther\u201D reason":"Content","Background images":"Design",Gallery:"Content",Image:"Content","Image column":"Content",Images:"Content",Logo:"Content",Media:"Content","Background image":"Design",Color:"Design","Image tint":"Design",Style:"Design",Shape:"Design",Texture:"Design","Text style":"Design",Motion:"Animation",Anchor:"Anchor",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Size",Behavior:"Layout",Controls:"Layout",Diagram:"Layout",[mD]:"Layout","Filters shown":"Layout","Slide picker":"Layout",Arrows:"Layout","On a phone":"Layout",Nudge:"Position","Stick to top":"Position","Image gallery":"Layout",Grid:"Layout",Layout:"Layout",Padding:"Layout",Price:"Layout",Preview:"Layout",Setup:"Layout","Show / hide elements":"Layout","Show in the buy box":"Layout",Visibility:"Layout",Width:"Size",Height:"Size"},hy={"AlloyWheelsListing._gCards":"Design","ProductGrid._gCards":"Design"},gy={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function td(e,o,t){let r=`${e}.${o}`;return gy[r]??hy[r]??ad[t]}function by(e){return e==="Animation"?[Ye.Animation]:[Ye.Design,yr[e]]}function Yl(...e){let o=[];for(let t of e)for(let r of Object.values(t)){let a=Js(r),n=Do(a?a.inner:r),s=n?ad[n.label]:void 0;if(s)for(let i of by(s))o.includes(i)||o.push(i)}return o}var aQ=[...Yl(Dn(),Nn("full"),Mn(),Hn(),Ki()),...Object.keys(Dn()),...Object.keys(Nn("full")),...Object.keys(Mn()),...Object.keys(Hn()),...Object.keys(Ki())],nQ=[...Yl(Rn()),...Object.keys(Rn())],lQ=[...Yl(Bn()),...Object.keys(Bn())],sQ=[...Yl(_n()),...Object.keys(_n())],xD=Object.keys(jx()),ID=new Set(["cardImage","imageBackground"]),iQ=[...by(td("ProductGrid","_gCards","Cards")??"Design"),...xD.filter(e=>e.startsWith("_g")||ID.has(e))],fQ=Object.keys(Kx()),cQ=Object.keys(Vx({bottomDefault:!0})),hD={"ImageBlock._gStyle":"duplicated the Style bucket header above it (2026-09-04)","ButtonBlock._gStyle":"duplicated the Style bucket header above it (2026-09-04)","HeroGroup._gContent":"duplicated the Content bucket header above it (2026-09-04)","HeroGroup._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","Footer._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","FooterLogo._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterLogo._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterMenu._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterMenu._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterGroup._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","FooterText._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterText._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterSocial._gStyle":"duplicated the Style bucket header above it (born tabbed, 2026-09-17)","FooterSocial._gLayout":"duplicated the Layout bucket header above it (born tabbed, 2026-09-17)","MenuBlock._gContent":"duplicated the Content bucket header above it (born tabbed, H.1)","MenuBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","EmailFormBlock._gContent":"duplicated the Content bucket header above it (born tabbed, H.1)","SocialLogosBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","SocialLogosBlock._gLayout":"duplicated the Layout bucket header above it (born tabbed, H.1)","SearchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CartBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CountrySwitchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed with its Show as, 2026-10-17)","Split._gContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gVehicleContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gWheelContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gOthersContent":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gHeadCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gLeftCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gRightCopy":"duplicated the Content bucket header above it (2026-09-04)","CollectionCard._gContent":"duplicated the Content bucket header above it (A Card Sets Its Own Corners)","HeroSlide._gContent":"duplicated the Content bucket header above it (Hero Slide Tabs And Theme)","BrandStrip._gContent":"duplicated the Content bucket header above it (66338)","BrandStrip._gStyle":"duplicated the Style bucket header above it (66338)","BrandStrip._gLayout":"duplicated the Layout bucket header above it (66338)","KeyFeatures._gContent":"duplicated the Content bucket header above it (66049)","KeyFeatures._gStyle":"duplicated the Style bucket header above it (66049)","ParagraphsA._gContent":"duplicated the Content bucket header above it (66049)","ParagraphsA._gStyle":"duplicated the Style bucket header above it (66049)","Chart._gContent":"duplicated the Content bucket header above it (66049)","Chart._gStyle":"duplicated the Style bucket header above it (66049)","Logos._gContent":"duplicated the Content bucket header above it (66049)","Logos._gStyle":"duplicated the Style bucket header above it (66049)","Mockup._gContent":"duplicated the Content bucket header above it (66049)","Mockup._gStyle":"duplicated the Style bucket header above it (66049)","Stats._gContent":"duplicated the Content bucket header above it (66049)","Stats._gStyle":"duplicated the Style bucket header above it (66049)","StatsParagraph._gContent":"duplicated the Content bucket header above it (66049)","StatsParagraph._gStyle":"duplicated the Style bucket header above it (66049)","Testimonials._gContent":"duplicated the Content bucket header above it (66049)","Testimonials._gStyle":"duplicated the Style bucket header above it (66049)","AppointmentBooking._gContent":"duplicated the Content bucket header above it (66050)","BookingBox._gContent":"duplicated the Content bucket header above it ([SPLIT] Booking Form Into Three Boxes) \u2014 the same fault its own section retired in 66050, one level down","FAQ._gContent":"duplicated the Content bucket header above it (66050, family sweep)","FAQ._gLayout":"duplicated the Layout bucket header above it (66050, family sweep)","Form._gContent":"duplicated the Content bucket header above it (66050)","ReviewForm._gContent":"duplicated the Content bucket header above it (66050)","SubmitBuild._gContent":"duplicated the Content bucket header above it (66050)","SubmitBox._gContent":"duplicated the Content bucket header above it ([SPLIT] SubmitBuild Keeps Its Two Columns) \u2014 the same fault its own section retired in 66050, one level down","CheckoutCTA._gContent":"duplicated the Content bucket header above it (66051)","CheckoutCTA._gLayout":"duplicated the Layout bucket header above it (66051)","DeliveryOptions._gContent":"duplicated the Content bucket header above it (66051)","DeliveryOptions._gLayout":"duplicated the Layout bucket header above it (66051)","OrderSummary._gContent":"duplicated the Content bucket header above it (66051)","OrderSummary._gLayout":"duplicated the Layout bucket header above it (66051)","PaymentBadges._gContent":"duplicated the Content bucket header above it (66051)","PaymentBadges._gLayout":"duplicated the Layout bucket header above it (66051)","Collections._gContent":"duplicated the Content bucket header above it (66052)","Collections._gLayout":"duplicated the Layout bucket header above it (66052)","DocMasthead._gContent":"duplicated the Content bucket header above it (66053)","Events._gContent":"duplicated the Content bucket header above it (66054)","Events._gLayout":"duplicated the Layout bucket header above it (66054)","FeaturedCover._gContent":"duplicated the Content bucket header above it (66054)","Series._gStyle":"duplicated the Style bucket header above it (66054)","Flex._gContent":"duplicated the Content bucket header above it (66055)","Flex._gLayout":"duplicated the Layout bucket header above it (66055)","SectionHeader._gContent":"duplicated the Content bucket header above it (66055)","Breadcrumb._gContent":"duplicated the Content bucket header above it (66056)","CategoryBar._gStyle":"duplicated the Style bucket header above it (66056)","Hero._gContent":"duplicated the Content bucket header above it (66056)","Hero._gStyle":"duplicated the Style bucket header above it (66056)","HeroSingle._gStyle":"duplicated the Style bucket header above it (66056)","IntroBleed._gContent":"duplicated the Content bucket header above it (66056)","IntroBleed._gLayout":"duplicated the Layout bucket header above it (66056)","BundleOffer._gLayout":"duplicated the Layout bucket header above it (66059)","ProcessSteps._gContent":"duplicated the Content bucket header above it (66059)","Banner._gContent":"duplicated the Content bucket header above it (66060.1)","Banner._gLayout":"duplicated the Layout bucket header above it, and governed no controls (66060.1)","Manifesto._gContent":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gHeadCopy":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gLeftCopy":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gRightCopy":"duplicated the Content bucket header above it (66060.1)","Ticker._gContent":"duplicated the Content bucket header above it (66060.1)","Ticker._gStyle":"duplicated the Style bucket header above it (66060.1)","Timeline._gContent":"duplicated the Content bucket header above it (66060.1)","TitleWithButtons._gContent":"duplicated the Content bucket header above it (66060.1)","TitleWithButtons._gStyle":"duplicated the Style bucket header above it (66060.1)","Cards._gContent":"duplicated the Content bucket header above it (66218)","Cards._gStyle":"duplicated the Style bucket header above it (66218)","Prose._gContent":"duplicated the Content bucket header above it (66218)","Reviews._gContent":"duplicated the Content bucket header above it (66218)","Reviews._gStyle":"duplicated the Style bucket header above it (66218)"},yy={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},Sy={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...Dn(),...Nn("full"),...Mn(),...Hn(),...Rn(),...Bn(),..._n()};for(let o of Object.keys(Sy)){let t=Do(e[o]),r=t?ad[t.label]:void 0;if(!t||t.level!==2||!r||!yy[r].includes(t.label))throw new Error(`INJECTED_RETIRED (lib/puck/field-groups.ts) lists "${o}", but no uniform builder makes a level-2 heading by that key whose label repeats its place's word. The heading was renamed, moved or removed and the row is stale \u2014 a list that quietly matches nothing is worse than no list.`)}}var gD=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),bD=new Map([[Ye.Design,"Content"],[Ye.Animation,"Animation"],...rd.map(e=>[yr[e],e])]);function Cy(e){let o=new Set([...Object.values(Ye),yr.Content]);for(let[t,r]of Object.entries(e))if(!o.has(t)&&Do(r)?.level===1)return 1;return 2}function yD(e){let o=`${e}.`;return Object.keys(hD).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function SD(e,o){let t=Js(e),r=He(o);return t?ve(t.tier,r):r}function CD(e,o){let t=Do(o);return t?e==="Content"||e==="Animation"?Bx(o,t.label):_x(o):o}function Iy(e){return e==="Design"?rd:["Animation"]}function dQ(e,o){let t=[],r=new Set(yD(o)),a=new Set,n=!1,s=null;for(let[x,h]of Object.entries(e)){let b=Do(h);if(gD.has(x))throw new Error(`${o}.${x}: that key was a tab header until efficient-web-builder 11.0.0, when the panel moved to two tabs (Design \xB7 Animation). Its tab is gone, so the key may not come back. Give the heading a key of the section's own (\`_g\u2026\`), or open a Design group with its own key (\`_dDesign: section("Design")\`, \`_dLayout: section("Layout")\`).`);let C=bD.get(x);if(C!==void 0){if(b?.level!==1)throw new Error(`${o}.${x}: that key is reserved for the ${C} heading of the settings panel, but this field is ${b?`a level-${b.level} "${b.label}" header`:"not a header"}, so it cannot serve as one. Rename the section's own field.`);(x===Ye.Design||x===Ye.Animation)&&(n=!0),t.push(s={place:C,entries:[],adopted:!0});continue}if(!b){s||t.push(s={place:"Content",entries:[]}),s.entries.push([x,h]);continue}if(r.has(x)||x in Sy){let v=td(o,x,b.label);if(b.level!==2||!v||!yy[v].includes(b.label))throw new Error(`${o}.${x}: ${r.has(x)?"RETIRED":"INJECTED_RETIRED"} (lib/puck/field-groups.ts) lists this sub-heading as one whose name repeats the place it sits in, but it is a level-${b.level} "${b.label}" header in the ${v??"(unclassified)"} place. Only a level-2 header whose label is one of its place's words (PLACE_WORDS) may be retired \u2014 anything else is a heading a merchant reads for its own sake. Fix the row or drop it.`);r.has(x)&&a.add(x),t.push(s={place:v,entries:[]});continue}let k=td(o,x,b.label);if(!k)throw new Error(`${o}.${x}: the inspector group "${b.label}" is not classified in LABEL_GROUP (lib/puck/field-groups.ts), so there is no way to say which of ${[...rd,"Animation"].join(" / ")} its controls belong under. Classify it \u2014 an unclassified group silently lands wherever it was declared, which is the whole bug.`);t.push(s={place:k,entries:[[x,b.level===2?h:SD(h,b.label)]]})}let i=new Set(Object.entries(e).filter(([,x])=>Do(x)).map(([x])=>x));for(let[x,h]of[["BLOCK_KEY_GROUP",gy],["KEY_GROUP",hy]]){let b=Object.keys(h).filter(C=>C.startsWith(`${o}.`)).filter(C=>!i.has(C.slice(o.length+1)));if(b.length)throw new Error(`${o}: ${x} (lib/puck/field-groups.ts) lists ${JSON.stringify(b)}, but no fold header by that key is in this section's panel. Either the heading was renamed or removed and the row is stale, or the row names the wrong key \u2014 an override that quietly matches nothing is worse than no override.`)}let f=n?[]:[...r].filter(x=>!a.has(x));if(f.length)throw new Error(`${o}: RETIRED (lib/puck/field-groups.ts) lists ${JSON.stringify(f)}, but this section has no such fold header${f.length>1?"s":""}. Either the heading was renamed or removed and the row is stale, or the row names the wrong section \u2014 a list that quietly matches nothing is worse than no list.`);let u=new Set(t.filter(x=>x.entries.length>0).map(x=>x.place)),p=Fa.filter(x=>Iy(x).some(h=>u.has(h))),m={};for(let x of p){m[Ye[x]]=On(x,x===p[0]?p:null);for(let h of Iy(x)){if(!u.has(h))continue;let b=t.filter(k=>k.place===h),C=b.findIndex(k=>k.adopted);C>0&&b.unshift(...b.splice(C,1)),x==="Design"&&(m[yr[h]]=$i(h));for(let k of b)for(let[v,w]of k.entries)m[v]=CD(h,w)}}return m}function uQ(e){return Ye.Design in e?e:{[Ye.Design]:On("Design",null),[yr.Content]:$i("Content"),...e}}function pQ(e){return Fa.some(o=>Ye[o]in e)}function mQ(e){let o=Fa.filter(r=>Ye[r]in e);if(o.length===0)return e;let t={...e};for(let r of o)t[Ye[r]]=On(r,r===o[0]?o:null);return t}import{usePreviewDevice as ED}from"efficient-easel/draw/client";var nd=" text",vy="Text";function ld(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function wy(e){return e.filter(ld).map(o=>o.key)}function ky(e,o){let t=null;for(let r of o){let a=e[r];!a||a.marker!==!0||typeof a.fold!="string"||(t??={...e},t[r]={...a,fold:!1})}return t??e}function Ty(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var id=new Map,Xl=new Set;function PD(e,o){let t=new Map;for(let a of e.querySelectorAll(".es-insp-row[data-field]"))t.set(a.getAttribute("data-field")??"",a);let r=[];for(let[a,n]of o)r.push({key:a,rows:n.map(s=>{let i=t.get(s),f=!!i&&[...i.children].some(p=>!p.hidden),u=i?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:f,labelled:f&&!!u}})});return r}var LD=Object.fromEntries(Fa.map(e=>{let o=Ox[e];return[e,fd(o,{},e)]}));function Ea({entries:e,entryCount:o=0,part:t=null}){let{id:r,fields:a,values:n,readOnly:s,onChange:i}=TD(),f=ED(),{appState:u,config:p}=kD(W=>W),m=Dh(f,p,u.data.content??[],u.ui.itemSelector),x=Wh(a,t),h=_h(x,n,m),[b,C]=sd(()=>new Set(Xl)),[k,v]=sd(()=>new Set),w=wD(null),g=Fy(()=>{let W=new Map;for(let A of Ey(h).rows){if(!A.fold)continue;let oe=W.get(A.fold.key)??[];oe.push(A.name),W.set(A.fold.key,oe)}return W},[h]);vD(()=>{let W=w.current?.parentElement;if(!W)return;let A=new Set(wy(PD(W,g)));v(oe=>Ty(oe,A)?oe:A)});let y=Fy(()=>ky(h,k),[h,k]),E={key:nd,rows:Array.from({length:o},()=>({shown:!0,labelled:!0}))},F=ld(E)?void 0:{key:nd,title:vy},[L,B]=sd(()=>id.get(r)),O=id.get(r),M=Ey(h).buckets,re=O&&M.includes(O)?O:L&&M.includes(L)?L:M[0],H=re===void 0||Rx(M,re)!==!0;return fd(FD,{fields:y,values:n,onChange:i,readOnly:s,showWhenContext:{...m,node:n},tab:re,onTab:W=>{id.set(r,W),B(W)},tabIcons:LD,idPrefix:r,ariaLabel:l("Section settings"),lead:H?e:null,leadFold:F,closedFolds:b,onFold:(W,A)=>{A?Xl.delete(W):Xl.add(W),C(new Set(Xl))},children:fd("span",{ref:w,hidden:!0})})}import{jsx as cd,jsxs as OD}from"react/jsx-runtime";import{InspectorUpLevel as Py}from"efficient-easel/chrome";function Ly({nodeId:e,part:o,sectionName:t,onUpToSection:r}){let{select:a}=hl();return OD("div",{children:[o!=="media"?cd(Py,{inline:!0,name:l(ir.media),onSelect:()=>a(ca(e,"media"))}):cd(Py,{inline:!0,name:l(t),onSelect:r}),cd(Ea,{part:o})]})}import{SettingsSwitch as HD}from"efficient-easel/panel";var By=Zb,pd={kind:"header"},md={kind:"website"},_y={kind:"chat"},Dy={kind:"social"},Pa="Part";function zD(e){return l("Part of {name}",{name:l(e)})}function WD(e,o,t){let r=e.describeNode(o);return{name:t,kindLabel:r?zD(r.label):l(Pa)}}function GD(e){switch(e){case"Header":return{title:l("Header settings belong to a website."),own:l("Each website created from this template sets its own header afterwards.")};case"Appearance":return{title:l("Appearance settings belong to a website."),own:l("Each website created from this template sets its own appearance afterwards.")};case"Live chat":return{title:l("Live chat settings belong to a website."),own:l("Each website created from this template sets its own live chat afterwards.")};case"Social link":return{title:l("Social link settings belong to a website."),own:l("Each website created from this template sets its own social link afterwards.")};default:return{title:l("{what} settings belong to a website.",{what:e}),own:l("Each website created from this template sets its own {what} afterwards.",{what:e.toLowerCase()})}}}function Ny({what:e}){let o=GD(e);return Et("div",{className:"sf-note",children:[ee("p",{children:ee("strong",{children:o.title})}),Et("p",{children:[l("A template is a blueprint \u2014 it has no website of its own, so there is nothing here to change.")," ",o.own]})]})}function ud(e){let o=fa[e];return{name:ir[e],kindLabel:Pa,icon:o,head:(t,r)=>{if(t.kind!==o)return null;let a=r.describeNode(t.nodeId);if(!a)return null;let n=Ay({name:l(Cl(e,a.props)),tier:"part",of:l(a.label)},{partOf:({name:s})=>l("Part of {name}",{name:s})});return{name:n.name,kindLabel:n.kind}},render:(t,r)=>t.kind===o?ee(Ly,{nodeId:t.nodeId,part:e,sectionName:r.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>r.onSelectNode(t.nodeId)}):null}}var UD={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,o)=>{let t=o.hostPanels?.header;return t?ee(t,{placeholderMode:o.capabilities.placeholderFrames,tokenRef:o.tokenRef,siteId:o.siteId,websiteName:o.websiteName,onOpenWebsiteSettings:o.onOpenWebsiteSettings,onAuthExpired:()=>o.notifyParent("storefront-editor:auth-expired")}):null}},website:{name:"Appearance",kindLabel:"Site settings",icon:"website",render:(e,o)=>ee(ll,{themeFromDocument:!o.capabilities.hasSiteTheme,tokenRef:o.tokenRef,siteId:o.siteId,onNotify:o.onNotify})},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>ee(Xh,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>ee(tg,{unavailable:ee(Ny,{what:"Social link"})})},ticker:{name:sa,kindLabel:Pa,icon:"ticker",head:(e,o)=>e.kind==="ticker"?WD(o,e.heroId,l(sa)):null,render:e=>ee(Sb,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:ud("media"),heroImage:ud("image"),heroImage2:ud("image2"),part:{name:Pa,kindLabel:Pa,icon:"Text",head:(e,o)=>{if(e.kind!=="part")return null;let t=o.describeNode(e.nodeId);if(!t)return null;let{key:r,row:a}=so(e.propKey),n=a?Ir(t.fields[r],a):t.fields[r],s=yI(l(If(ol(n??{},r))),a),i=Ay({name:s,tier:"part",of:l(t.label)},{partOf:({name:f})=>l("Part of {name}",{name:f})});return{name:i.name,kindLabel:i.kind}},render:(e,o)=>e.kind==="part"?ee(Vb,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},$D=new Set(["header","website","chat"]);function qD(e,o){if(e==="puck")return null;let t=UD[e];return $D.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>ee(Ny,{what:t.name})}:t}function My({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r,hideNodeActions:a=!1,onNotify:n,onHidePanel:s}){let{capabilities:i,tokenRef:f,notifyParent:u,currentSlug:p,siteId:m,runAuthed:x,readOnly:h}=ye(),{websiteName:b}=X(),C=qo({readOnly:h}),{select:k}=ND(),{selectedItem:v,getItemById:w,getSelectorForId:g,config:y,appState:E}=AD(te=>te),F=$h(y,v?{type:v.type,props:v.props}:null),L=v?EI(F??y.components[v.type]?.fields,v.props):[],B=te=>y.components[te]?.label??te,O=v?g(v.props.id):void 0,M=qD(e.kind,i),re=Be(),H={capabilities:i,tokenRef:f,hostPanels:re.chrome?.panels,describeNode:te=>{let ae=w(te);if(!ae)return null;let ue=y.components[ae.type];return{type:ae.type,label:ue?.label??ae.type,fields:ue?.fields??{},props:ae.props??{}}},siteId:m,websiteName:b??null,notifyParent:u,onNotify:n,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},W=M?.head?.(e,H)??null,A=W?.name??(M?l(M.name):v?l(B(v.type)):l("Page settings")),oe=W?.kindLabel??(M?l(M.kindLabel):v?O&&O.zone!==Ry?l("Block"):l("Section"):l("Page")),Re=M?M.icon:v?v.type:"page",Xe=M?null:v?y.components[v.type]?.fields??null:y.root?.fields??null,ro=Xe?Cy(Xe):2,We=e.kind==="puck"&&v?Ca(v.type):null,Ae=!!v&&!!O&&O.zone===Ry&&v.type!==pe&&v.type!==MD,Ge=ql(E?.data,v),Ne=()=>{Ge||O&&C.duplicateComponent(O.zone,O.index)},Ce=()=>{O&&(C.removeComponent(O.zone,O.index),C.select(null))},he=v?y.components[v.type]?.defaultProps?.previewHover:void 0,xe=e.kind==="puck"&&!!v&&!!O&&he!==void 0,Ze=xe&&v.props.previewHover===!0,P=()=>{!v||!O||C.replaceComponent(O.zone,O.index,{...v,props:{...v.props,previewHover:!Ze}})},[le,Y]=RD(Wf);return Et("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right${le||!(!M&&v)?"":" sf-hints-folded"}`,children:[ee(BD,{icon:ee(Tt,{type:Re,size:15}),name:A,kind:oe,actions:!a&&e.kind==="puck"&&v&&v.type!==pe?Et(dd,{children:[ee(Oy,{label:l("Duplicate section"),title:Ge??void 0,disabled:Ge!==null,onClick:Ne,children:ee(_D,{size:15})}),Ae&&i.hasSiteSettings&&ee(Xb,{node:v,currentSlug:p,siteId:m??void 0,tokenRef:f,runAuthed:x,onNotify:n}),ee(Oy,{label:l("Remove section"),danger:!0,onClick:Ce,children:ee(DD,{size:15})}),s?ee(Os,{side:"right",onHide:s,divider:!0}):null]}):s?ee(Os,{side:"right",onHide:s}):void 0}),xe&&Et("div",{className:"sf-preview-pin",children:[Et("div",{className:"sf-preview-pin-text",children:[ee("span",{className:"sf-preview-pin-label",children:l("Preview hover state")}),ee("span",{className:"sf-preview-pin-hint",children:l("not shown live")})]}),ee(HD,{checked:Ze,onChange:P,ariaLabel:l("Preview hover state")})]}),ee(sx,{tier:ro,children:ee("div",{className:"sf-insp-body es-insp-body sf-scroll",children:M?M.render(e,H):v?Et(dd,{children:[v.type===pe&&i.hasSiteSettings&&ee(xy,{}),ee(Rp,{children:ee(Ea,{entries:ee(Qb,{parts:L,heading:!1,onOpen:te=>k(Jn(v.props.id,te))}),entryCount:Jc(L).length})}),We&&ee(Wl,{source:We,slug:Sa(v?.props),menuId:Nl(v?.props)}),ee(Gf,{shown:le,onChange:Y})]}):ee(dd,{children:ee(Ea,{})})})})]})}import{jsx as c,jsxs as S,Fragment as Uy}from"react/jsx-runtime";var Fe={dark:"var(--sf-thumb-bar-dark)",soft:"var(--sf-thumb-bar-light)",accent:"var(--sf-thumb-accent)",tint:"var(--sf-thumb-accent-tint)",block:"var(--sf-thumb-block)",line:"var(--sf-thumb-border)",card:"var(--sf-thumb-card)"},xd="repeating-linear-gradient(135deg,var(--sf-thumb-hatch1) 0,var(--sf-thumb-hatch1) 5px,var(--sf-thumb-hatch2) 5px,var(--sf-thumb-hatch2) 10px)";function R({w:e,h:o,tone:t="dark",r=2,style:a}){return c("div",{style:{width:e,height:o,borderRadius:r,background:Fe[t],flex:"none",...a}})}var jD={Hero:"hero",HeroSingle:"herosingle",IntroBleed:"intro",Collections:"collections",AlloyWheelsListing:"wheelslisting",CatalogFilterBar:"catalogfilterbar",ProductGrid:"productgrid",BrandStrip:"brandstrip",FitmentFinder:"fitmentfinder",Gallery:"gallery",GalleryB:"gallerygrid",SpecStrip:"specstrip",ProductHero:"producthero",SpecTable:"spectable",ProcessSteps:"processsteps",DetailRows:"detailrows",FitmentTable:"fitmenttable",CompatibleTyres:"compatibletyres",TyreSizes:"tyresizes",TyreFitment:"tyrefitment",EuTyreLabel:"eutyrelabel",RelatedProducts:"productgrid",BundleOffer:"bundleoffer",OrderSummary:"ordersummary",DeliveryOptions:"deliveryoptions",PaymentBadges:"paymentbadges",CheckoutCTA:"checkoutcta",Manifesto:"manifesto",ParagraphsA:"paragraphs",Prose:"prose",StatsParagraph:"statsparagraph",Chart:"chart",Mockup:"mockup",Footprint:"footprint",Timeline:"timeline",TimelineTrack:"timelinetrack",TitleWithButtons:"titlewithbuttons",Split:"split",Cards:"cards",FAQ:"faq",Testimonials:"testimonials",Masthead:"masthead",Breadcrumb:"breadcrumb",CategoryBar:"categorybar",FeaturedCover:"featuredcover",LongRead:"longread",Series:"series",Subscribe:"subscribe",SubscribeBlogs:"subscribe",Events:"events",DocMasthead:"docmasthead",DocTabs:"doctabs",DocBody:"docbody",DocMetaCards:"docmetacards",Banner:"banner",Stats:"stats",KeyFeatures:"keyfeatures",Logos:"logos",Ticker:"ticker",Countdown:"countdown",Reviews:"reviews",SubmitBuild:"submitbuild",ReviewForm:"reviewform",Form:"form",AppointmentBooking:"appointmentbooking",ContactRouting:"contact",ContactLocations:"contactlocations",Header:"header",Footer:"footer",SectionHeader:"sectionheader",Grid:"grid",Flex:"blanksection",Spacer:"spacer",Divider:"divider",CustomHTML:"customhtml",Heading:"heading",Text:"text",ImageBlock:"image",ButtonBlock:"button",MenuBlock:"menu",EmailFormBlock:"emailform",SocialLogosBlock:"sociallogos",LegalLineBlock:"legalline",SearchBlock:"search",CartBlock:"cart",CountrySwitchBlock:"countryswitch"},_={position:"absolute",inset:0},d={ink:"var(--sf-thumb-ink)",ink2:"var(--sf-thumb-ink-2)",inkSoft:"var(--sf-thumb-ink-soft)",inkSoft2:"var(--sf-thumb-ink-soft-2)",paper:"var(--sf-thumb-paper)",paper2:"var(--sf-thumb-paper-2)",warm:"var(--sf-thumb-warm)",rust:"var(--sf-thumb-rust)",onInk:"var(--sf-thumb-on-ink)",text:"var(--sf-thumb-scene-text)",muted:"var(--sf-thumb-scene-muted)",rule:"var(--sf-thumb-scene-rule)",mark1:"var(--sf-thumb-mark-1)",mark2:"var(--sf-thumb-mark-2)",card:"var(--sf-thumb-card)",scrim:"var(--sf-thumb-scrim)"},me=(e,o,t=160)=>({background:`linear-gradient(${t}deg,${e},${o})`});function zo({size:e,style:o}){let t=Math.max(2,Math.round(e*.13)),r=(a,n,s)=>({position:"absolute",inset:a,background:n,borderRadius:t,...s?{mixBlendMode:s}:null});return S("span",{style:{position:"absolute",display:"block",width:e,height:e,...o},children:[c("span",{style:r("8% 26% 30% 6%",d.mark1)}),c("span",{style:r("26% 6% 8% 30%",d.mark2,"multiply")})]})}function Oa({children:e}){return c("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:d.muted},children:e})}function Hy({over:e,overTone:o,head:t,headSize:r=11.5,cta:a,ctaBg:n,ctaFg:s,tone:i}){return S(Uy,{children:[e&&c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:o},children:e}),c("span",{style:{fontSize:r,lineHeight:1.15,fontWeight:700,maxWidth:"78%",color:i},children:t}),a&&c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,marginTop:2,background:n,color:s},children:a})]})}function Id({name:e,price:o}){return S("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[c("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",...me(d.paper,d.paper2,150)},children:c(zo,{size:34,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),c("span",{style:{fontSize:"3.65cqw",fontWeight:600,color:d.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:o})]})}function Ho({k:e,v:o,ok:t}){return S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,padding:"3.5px 2px",borderBottom:`1px solid ${d.rule}`,fontSize:"3.98cqw",color:d.muted},children:[c("span",{children:e}),S("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("b",{style:{color:d.text,fontWeight:700},children:o}),t&&c("span",{style:{color:d.rust,fontWeight:700},children:"\u2713"})]})]})}function ie({title:e,children:o}){return S("div",{style:{..._,background:d.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[c(Oa,{children:e}),o]})}function zy({size:e=14}){return c("span",{style:{width:e,height:e,borderRadius:"50%",flex:"none",display:"block",background:`linear-gradient(150deg,${d.mark1},${d.mark2})`}})}function hd({filled:e=5,size:o=6}){return S("span",{style:{fontSize:o,letterSpacing:"0.06em",color:d.rust,lineHeight:1},children:["\u2605".repeat(e),c("span",{style:{color:d.mark1},children:"\u2605".repeat(5-e)})]})}function La({n:e,label:o,tone:t=d.text}){return S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"8.16cqw",lineHeight:1,color:t},children:e}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",opacity:.62,color:t},children:o})]})}function Oe({children:e,w:o}){return c("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:d.muted,width:o,display:"block"},children:e})}function Zl({label:e,w:o="100%",filled:t}){return S("div",{style:{width:o,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:d.muted},children:e}),c("span",{style:{height:9,borderRadius:3,border:`1px solid ${d.rule}`,background:t?d.paper:d.card}})]})}function Wy({children:e}){return c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:d.text,color:d.onInk},children:e})}var KD={wheelslisting:c(ie,{title:"All wheels",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Ridge 19","20\xD79 +12","$365"],["Ridge 29","18\xD79 +20","$410"],["Ridge 39","17\xD78 \u221210","$455"]].map(([e,o,t])=>S("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c("span",{style:{width:20,height:15,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",...me(d.paper,d.paper2,150)},children:c(zo,{size:12,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),c("b",{style:{flex:1,fontSize:"4.31cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:o}),c("b",{style:{fontSize:"4.31cqw",color:d.text,width:26,textAlign:"right"},children:t})]},e))})}),catalogfilterbar:S("div",{style:{..._,background:d.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[S("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["20 inch","6\xD7139.7","Black"].map(e=>S("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"4px 7px",borderRadius:99,background:d.text,color:d.onInk,display:"flex",gap:4,alignItems:"center"},children:[e,c("span",{style:{opacity:.6},children:"\u2715"})]},e)),c("span",{style:{fontSize:"3.65cqw",color:d.rust,fontWeight:700},children:"Clear"})]}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"128 results"}),c("span",{style:{fontSize:"3.65cqw",color:d.muted,border:`1px solid ${d.rule}`,borderRadius:3,padding:"3px 6px"},children:"Sort: Price \u25BE"})]})]}),fitmentfinder:S("div",{style:{..._,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...me(d.ink,d.inkSoft)},children:[c("span",{style:{fontSize:"5.31cqw",fontWeight:700,color:d.onInk},children:"Will it fit your rig?"}),S("div",{style:{display:"flex",gap:4},children:[["2021","Toyota","Hilux"].map(e=>S("span",{style:{flex:1,fontSize:"3.65cqw",color:d.text,background:d.card,borderRadius:3,padding:"5px 6px",display:"flex",justifyContent:"space-between"},children:[e," ",c("span",{style:{color:d.muted},children:"\u25BE"})]},e)),c("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.08em",background:d.warm,color:d.ink,borderRadius:3,padding:"5px 7px"},children:"GO"})]})]}),compatibletyres:c(ie,{title:"Tyres that suit",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Ridge Grappler","$489"],["Trail Grappler","$525"],["Terra Grappler","$438"]].map(([e,o])=>S("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[c("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",background:d.ink},children:c("span",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:26,height:26,borderRadius:"50%",border:`5px solid ${d.mark2}`,boxSizing:"border-box"}})}),c("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:d.text,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:e}),c("span",{style:{fontSize:"3.32cqw",color:d.muted},children:o})]},e))})}),tyresizes:c(ie,{title:"Available sizes",children:c("div",{style:{flex:1,display:"flex",flexWrap:"wrap",gap:4,alignContent:"center"},children:["265/65R17","285/70R17","265/60R18","275/55R20"].map((e,o)=>c("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"5px 7px",borderRadius:3,border:`1px solid ${o===0?d.rust:d.rule}`,color:o===0?d.rust:d.text,background:o===0?d.paper:d.card},children:e},e))})}),tyrefitment:S(ie,{title:"Will it fit your car?",children:[c("div",{style:{display:"flex",gap:3},children:["Make","Model","Year","Trim"].map(e=>S("span",{style:{flex:1,minWidth:0,fontSize:"3.32cqw",color:d.muted,background:d.paper,border:`1px solid ${d.rule}`,borderRadius:3,padding:"4px 5px",display:"flex",justifyContent:"space-between",gap:2,overflow:"hidden",whiteSpace:"nowrap"},children:[e," ",c("span",{style:{color:d.muted},children:"\u25BE"})]},e))}),c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2,justifyContent:"center",minHeight:0},children:[["265/65R17","Fits",!0],["285/70R17","Not your size",!1]].map(([e,o,t])=>S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:6,borderTop:`1px solid ${d.rule}`,paddingTop:3},children:[c("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:d.text},children:e}),c("span",{style:{fontSize:"3.32cqw",fontWeight:t?700:400,letterSpacing:"0.06em",color:t?d.warm:d.muted},children:o})]},e))})]}),eutyrelabel:S("div",{style:{..._,background:d.card,padding:"9px 11px",display:"flex",gap:8,alignItems:"center"},children:[c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1.5},children:[["A","42%"],["B","56%"],["C","70%"],["D","84%"]].map(([e,o],t)=>S("div",{style:{display:"flex",alignItems:"center",gap:3},children:[c("span",{style:{width:o,height:6,borderRadius:"0 2px 2px 0",background:t===1?d.rust:d.mark1}}),c("span",{style:{fontSize:"3.32cqw",fontWeight:700,color:t===1?d.rust:d.muted},children:e})]},e))}),S("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:3,alignItems:"center"},children:[c("b",{style:{fontSize:"6.63cqw",lineHeight:1,color:d.text},children:"72"}),c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",color:d.muted},children:"dB"})]})]}),bundleoffer:S("div",{style:{..._,background:d.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c(Oa,{children:"Buy it with"}),S("div",{style:{display:"flex",alignItems:"center",gap:5},children:[[0,1].map(e=>c("span",{style:{width:26,height:22,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",background:d.card},children:c(zo,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),c("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:d.muted},children:"+"}),S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1},children:[c("span",{style:{fontSize:"3.65cqw",color:d.muted,textDecoration:"line-through"},children:"$1,024"}),c("b",{style:{fontSize:"6.02cqw",color:d.rust,lineHeight:1},children:"$899"})]})]})]}),checkoutcta:S("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...me(d.ink,d.ink2)},children:[S("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",color:d.warm,fontWeight:700},children:"READY TO ORDER"}),c("b",{style:{fontSize:"6.63cqw",color:d.onInk,lineHeight:1},children:"$1,956"}),c("span",{style:{fontSize:"3.65cqw",color:d.onInk,opacity:.65},children:"4 items \xB7 fitted free"})]}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"6px 10px",borderRadius:2,background:d.warm,color:d.ink,flex:"none"},children:"CHECKOUT"})]}),contact:c(ie,{title:"Who do you need?",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Fitment help","the workshop"],["Order status","the front desk"],["Trade accounts","sales"]].map(([e,o])=>S("div",{style:{display:"flex",alignItems:"center",gap:5},children:[c("b",{style:{flex:1,fontSize:"4.31cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:o}),c("span",{style:{fontSize:"4.64cqw",color:d.rust,lineHeight:1},children:"\u203A"})]},e))})}),contactlocations:c(ie,{title:"Find us",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["Brisbane","7 Kerry Rd","Mon\u2013Sat"],["Townsville","12 Enterprise","Mon\u2013Fri"]].map(([e,o,t])=>S("div",{style:{border:`1px solid ${d.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[c("b",{style:{fontSize:"4.31cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.32cqw",color:d.muted},children:o}),c("span",{style:{fontSize:"3.32cqw",color:d.rust,fontWeight:700},children:t})]},e))})}),form:c(ie,{title:"Send us a message",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[S("div",{style:{display:"flex",gap:5},children:[c(Zl,{label:"Name"}),c(Zl,{label:"Email"})]}),c(Zl,{label:"Message",filled:!0}),c(Wy,{children:"SEND"})]})}),appointmentbooking:c(ie,{title:"Book a fitting",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("div",{style:{display:"flex",gap:3},children:["Mon","Tue","Wed","Thu"].map((e,o)=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",fontWeight:o===2?700:500,padding:"4px 0",borderRadius:3,background:o===2?d.text:d.paper,color:o===2?d.onInk:d.muted},children:e},e))}),c("div",{style:{display:"flex",gap:3},children:["8:00","10:30","13:00","15:30"].map((e,o)=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",padding:"4px 0",borderRadius:3,border:`1px solid ${o===1?d.rust:d.rule}`,color:o===1?d.rust:d.muted,background:o===3?d.paper:d.card,textDecoration:o===3?"line-through":"none"},children:e},e))})]})}),reviewform:c(ie,{title:"Leave a review",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c(hd,{filled:4,size:14}),c(Zl,{label:"Your review",filled:!0}),c(Wy,{children:"POST"})]})}),submitbuild:c(ie,{title:"Show us your build",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:3,border:`1px dashed ${d.mark1}`,borderRadius:5,background:d.paper},children:[c("span",{style:{fontSize:"6.63cqw",lineHeight:1,color:d.rust,fontWeight:300},children:"+"}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"Drop a photo of your rig"})]})}),masthead:S("div",{style:{..._,background:d.paper,display:"flex",flexDirection:"column",justifyContent:"center",padding:"0 13px",gap:5},children:[c("span",{style:{height:1.5,background:d.text}}),c("span",{style:{fontSize:"7.65cqw",fontWeight:800,letterSpacing:"0.02em",color:d.text,lineHeight:1},children:"THE TRACK"}),S("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"3.65cqw",letterSpacing:"0.1em",textTransform:"uppercase",color:d.muted},children:[c("span",{children:"Issue 14"}),c("span",{children:"Spring 2026"})]}),c("span",{style:{height:1,background:d.rule}})]}),featuredcover:S("div",{style:{..._,overflow:"hidden",...me(d.ink,d.inkSoft2)},children:[c(zo,{size:92,style:{right:-18,top:-14}}),c("div",{style:{position:"absolute",inset:0,background:`linear-gradient(0deg,${d.scrim},transparent 62%)`}}),S("div",{style:{position:"absolute",left:12,right:12,bottom:11,display:"flex",flexDirection:"column",gap:3},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.warm},children:"FEATURE"}),c("span",{style:{fontSize:"6.16cqw",lineHeight:1.15,fontWeight:700,color:d.onInk},children:"Four days on the Madigan Line"})]})]}),longread:S("div",{style:{..._,background:d.card,padding:"10px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.14em",fontWeight:700,color:d.rust},children:"12 MIN READ"}),c("span",{style:{fontSize:"6.02cqw",lineHeight:1.15,fontWeight:700,color:d.text},children:"What breaks first, and why"}),c(Oe,{children:"Every failure starts in the same place \u2014 not the rim, not"}),c(Oe,{w:"62%",children:"the tyre, but the bolt nobody re-torqued."})]}),series:c(ie,{title:"Recurring columns",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Shed Notes","Monthly"],["Track Tested","Fortnightly"],["Reader Rigs","Weekly"]].map(([e,o])=>S("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c("span",{style:{width:3,height:12,borderRadius:2,background:d.rust,flex:"none"}}),c("b",{style:{flex:1,fontSize:"4.64cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:d.muted},children:o})]},e))})}),events:c(ie,{title:"Latest posts",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[[d.inkSoft,d.inkSoft2,"Madigan Line, four days"],[d.rust,d.warm,"Why offset beats width"]].map(([e,o,t])=>S("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("span",{style:{width:24,height:18,borderRadius:3,flex:"none",...me(e,o,150)}}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"4.31cqw",color:d.text},children:t}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"4 Sep \xB7 Shed Notes"})]})]},t))})}),docmasthead:S("div",{style:{..._,background:d.card,padding:"12px 14px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.muted},children:"POLICY"}),c("span",{style:{fontSize:"6.49cqw",fontWeight:700,color:d.text,lineHeight:1.1},children:"Returns & refunds"}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"Version 3 \xB7 Updated 4 Sep 2026"}),c("span",{style:{height:2,width:26,background:d.rust,borderRadius:1}})]}),docbody:c("div",{style:{..._,background:d.card,padding:"9px 13px",display:"flex",flexDirection:"column",gap:3,justifyContent:"center"},children:[["1.","You may return an unfitted wheel within 30 days."],["2.","Fitted wheels are covered by the structural warranty."],["3.","Freight on a change of mind is yours."]].map(([e,o])=>S("div",{style:{display:"flex",gap:5},children:[c("b",{style:{fontSize:"3.98cqw",color:d.rust,flex:"none"},children:e}),c(Oe,{children:o})]},e))}),docmetacards:c(ie,{title:"At a glance",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["30 days","To return"],["5 years","Structural"],["Free","Fitting"],["48 hrs","Dispatch"]].map(([e,o])=>S("div",{style:{border:`1px solid ${d.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[c("b",{style:{fontSize:"5.31cqw",color:d.text,lineHeight:1},children:e}),c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:d.muted},children:o})]},o))})}),doctabs:S("div",{style:{..._,background:d.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:0,padding:"0 11px"},children:[c("div",{style:{display:"flex",gap:0},children:["Returns","Warranty","Shipping"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"5px 8px",color:o===0?d.text:d.muted,background:o===0?d.paper:"transparent",borderRadius:"4px 4px 0 0",border:`1px solid ${o===0?d.rule:"transparent"}`,borderBottom:"none"},children:e},e))}),c("span",{style:{height:1,background:d.rule}}),S("div",{style:{paddingTop:6,display:"flex",flexDirection:"column",gap:2},children:[c(Oe,{children:"Unfitted wheels come back within 30 days, no questions."}),c(Oe,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs:S("div",{style:{..._,background:d.card,padding:"11px 14px",display:"flex",gap:10,alignItems:"center"},children:[c("span",{style:{flex:1,fontSize:"5.86cqw",lineHeight:1.2,fontWeight:700,color:d.text},children:"The right wheel is the boring one."}),S("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[c(Oe,{children:"Forged, correctly offset, rated for what you actually"}),c(Oe,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:c(ie,{title:"Key features",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:["Flow-formed barrel","1250 kg per corner","Hub-centric fit"].map(e=>S("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("span",{style:{fontSize:"4.64cqw",color:d.rust,fontWeight:700,lineHeight:1},children:"\u2713"}),c("span",{style:{fontSize:"4.31cqw",color:d.text},children:e})]},e))})}),statsparagraph:S("div",{style:{..._,background:d.paper,padding:"10px 12px",display:"flex",gap:10,alignItems:"center"},children:[S("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:5},children:[c(La,{n:"27k",label:"Rigs"}),c(La,{n:"4.9",label:"Rating"})]}),S("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[c(Oe,{children:"Twelve years of fitting the same three questions, and the"}),c(Oe,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:S(ie,{title:"Load vs weight",children:[c("div",{style:{flex:1,display:"flex",alignItems:"flex-end",gap:5,paddingBottom:2},children:[38,62,84,71,96].map((e,o)=>c("span",{style:{flex:1,height:`${e}%`,borderRadius:"2px 2px 0 0",background:o===4?d.rust:d.mark1}},o))}),c("span",{style:{height:1,background:d.rule,marginTop:-4}})]}),mockup:c("div",{style:{..._,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...me(d.inkSoft,d.ink)},children:S("div",{style:{width:"72%",height:"74%",borderRadius:4,overflow:"hidden",background:d.card,boxShadow:`0 6px 14px ${d.scrim}`},children:[c("div",{style:{height:9,background:d.paper,display:"flex",alignItems:"center",gap:2,padding:"0 4px"},children:[0,1,2].map(e=>c("span",{style:{width:2.5,height:2.5,borderRadius:"50%",background:d.mark1}},e))}),S("div",{style:{padding:5,display:"flex",flexDirection:"column",gap:3},children:[c("span",{style:{height:4,width:"56%",borderRadius:1,background:d.mark2}}),c("span",{style:{height:14,borderRadius:2,...me(d.paper,d.paper2,150)}}),c("span",{style:{height:3,width:"38%",borderRadius:1,background:d.rust}})]})]})}),manifesto:c("div",{style:{..._,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...me(d.ink,d.ink2)},children:S("span",{style:{fontSize:"6.63cqw",lineHeight:1.2,fontWeight:700,color:d.onInk},children:["We build for the ",c("span",{style:{color:d.warm},children:"last"})," ten percent of the track."]})}),timeline:c(ie,{title:"Our story",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",gap:6,paddingLeft:4},children:[["1998","One shed, one lathe."],["2009","First forged rim."],["2024","27,000 rigs on."]].map(([e,o],t)=>S("div",{style:{display:"flex",gap:7,alignItems:"flex-start",position:"relative"},children:[t<2&&c("span",{style:{position:"absolute",left:3,top:8,bottom:-8,width:1,background:d.rule}}),c("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",marginTop:1,background:d.rust,zIndex:1}}),S("div",{style:{display:"flex",flexDirection:"column",gap:0,minWidth:0},children:[c("b",{style:{fontSize:"4.64cqw",color:d.text},children:e}),c(Oe,{children:o})]})]},e))})}),timelinetrack:S("div",{style:{..._,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...me(d.ink,d.inkSoft)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:d.warm},children:"Milestones"}),S("div",{style:{position:"relative",display:"flex",justifyContent:"space-between",paddingTop:7},children:[c("span",{style:{position:"absolute",left:0,right:0,top:3,height:1,background:d.mark2,opacity:.55}}),["1998","2009","2016","2024"].map((e,o)=>S("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:3,position:"relative"},children:[c("span",{style:{position:"absolute",top:-7,width:6,height:6,borderRadius:"50%",background:o===3?d.warm:d.mark1}}),c("span",{style:{fontSize:"4.31cqw",fontWeight:700,color:o===3?d.warm:d.onInk,opacity:o===3?1:.75},children:e})]},e))]})]}),footprint:S("div",{style:{..._,overflow:"hidden",...me(d.paper,d.paper2,150)},children:[c("span",{style:{position:"absolute",left:"8%",top:"18%",width:"62%",height:"64%",borderRadius:"48% 52% 40% 60% / 55% 45% 55% 45%",background:d.mark1,opacity:.75}}),c("span",{style:{position:"absolute",left:"52%",top:"52%",width:"34%",height:"34%",borderRadius:"58% 42% 55% 45% / 45% 58% 42% 55%",background:d.mark2,opacity:.55}}),[["26%","38%"],["44%","58%"],["62%","34%"]].map(([e,o])=>c("span",{style:{position:"absolute",left:e,top:o,width:7,height:7,borderRadius:"50% 50% 50% 0",transform:"rotate(-45deg)",background:d.rust}},e)),c("span",{style:{position:"absolute",left:11,bottom:9,fontSize:"4.64cqw",fontWeight:700,color:d.text},children:"3 fitting bays"})]}),banner:S("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,background:d.rust},children:[S("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[c("b",{style:{fontSize:"6.02cqw",color:d.onInk},children:"End of season \xB7 20% off"}),c("span",{style:{fontSize:"3.98cqw",color:d.onInk,opacity:.8},children:"Fitted free, this month only."})]}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:d.onInk,color:d.text,flex:"none"},children:"SHOP"})]}),titlewithbuttons:S("div",{style:{..._,background:d.paper,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:7,padding:"0 14px",textAlign:"center"},children:[c("span",{style:{fontSize:"6.49cqw",lineHeight:1.15,fontWeight:700,color:d.text},children:"Not sure what fits?"}),S("div",{style:{display:"flex",gap:5},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:d.text,color:d.onInk},children:"FIND MY FIT"}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,border:`1px solid ${d.text}`,color:d.text},children:"CALL US"})]})]}),ticker:c("div",{style:{..._,overflow:"hidden",background:d.ink,display:"flex",alignItems:"center"},children:c("span",{style:{whiteSpace:"nowrap",fontSize:"6.29cqw",fontWeight:800,letterSpacing:"0.06em",color:d.warm,marginLeft:-14},children:"FREE FITTING \xB7 48HR DISPATCH \xB7 FREE FITTING \xB7 48HR DISPATCH"})}),countdown:S("div",{style:{..._,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...me(d.ink,d.ink2)},children:[c("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.16em",textTransform:"uppercase",color:d.muted},children:"Back online in"}),c("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[["23","Hours"],["59","Minutes"],["48","Seconds"]].map(([e,o],t)=>S("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[t>0&&c("b",{style:{fontSize:"9.5cqw",lineHeight:1,color:d.warm},children:":"}),S("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[c("b",{style:{fontSize:"11.5cqw",lineHeight:1,color:d.onInk,fontVariantNumeric:"tabular-nums"},children:e}),c("span",{style:{fontSize:"3.2cqw",letterSpacing:"0.1em",textTransform:"uppercase",opacity:.62,color:d.onInk},children:o})]})]},o))})]}),breadcrumb:c("div",{style:{..._,background:d.card,display:"flex",alignItems:"center",padding:"0 13px"},children:S("span",{style:{fontSize:"4.64cqw",color:d.muted},children:["Home ",c("span",{style:{opacity:.5},children:"/"})," Wheels ",c("span",{style:{opacity:.5},children:"/"})," ",c("span",{style:{color:d.text,fontWeight:700},children:"20 inch"})]})}),categorybar:S("div",{style:{..._,background:d.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[c("div",{style:{display:"flex",gap:5},children:["All","Wheels","Tyres","Lift"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"4px 7px",borderRadius:99,background:o===0?d.text:d.paper,color:o===0?d.onInk:d.muted},children:e},e))}),c("span",{style:{height:1,background:d.rule}})]}),intro:S("div",{style:{..._,overflow:"hidden",background:d.card},children:[c("div",{style:{position:"absolute",inset:0,...me(d.ink,d.inkSoft2)}}),c(zo,{size:64,style:{right:8,top:6}}),S("div",{style:{position:"absolute",left:16,right:16,bottom:8,top:"46%",background:d.paper,borderRadius:6,padding:"8px 11px",display:"flex",flexDirection:"column",gap:2,boxShadow:`0 -4px 10px ${d.scrim}`},children:[c("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:d.text},children:"Since 1998"}),c(Oe,{children:"One shed, one lathe, one idea."}),c(Oe,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:c(ie,{title:"From our customers",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gridTemplateRows:"repeat(2,1fr)",gap:4,minHeight:0},children:[[d.rust,d.warm],[d.inkSoft,d.ink],[d.paper2,d.mark2],[d.ink,d.inkSoft2],[d.warm,d.paper2],[d.mark2,d.inkSoft]].map(([e,o],t)=>c("div",{style:{borderRadius:3,...me(e,o,140+t*22)}},t))})}),gallery:S(ie,{title:"Gallery",children:[c("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:-2},children:["On the truck","Studio","Close-ups"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,color:o===0?d.text:d.muted,borderBottom:`1.5px solid ${o===0?d.rust:"transparent"}`,paddingBottom:2},children:e},e))}),c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:4,minHeight:0},children:[[d.rust,d.warm],[d.ink,d.inkSoft],[d.paper2,d.mark2]].map(([e,o],t)=>c("div",{style:{borderRadius:3,...me(e,o,150+t*20)}},t))})]}),ordersummary:S(ie,{title:"Order summary",children:[S("div",{style:{display:"flex",gap:6,alignItems:"center",paddingBottom:4},children:[c("span",{style:{width:26,height:26,borderRadius:4,position:"relative",overflow:"hidden",flex:"none",...me(d.paper,d.paper2,150)},children:c(zo,{size:18,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"4.31cqw",color:d.text},children:"Ridge Grappler"}),c("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"20\xD79 +12 \xB7 qty 4"})]})]}),S("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Subtotal",v:"$1,956"}),c(Ho,{k:"Fitting",v:"Free"}),S("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:5,fontSize:"4.64cqw"},children:[c("b",{style:{color:d.text},children:"Total"}),c("b",{style:{color:d.text,fontSize:"6.02cqw"},children:"$1,956"})]})]})]}),deliveryoptions:c(ie,{title:"Delivery",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Standard","3\u20135 days","Free",!0],["Express","Next day","$19",!1]].map(([e,o,t,r])=>S("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 6px",borderRadius:4,border:`1px solid ${r?d.rust:d.rule}`,background:r?d.paper:d.card},children:[c("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",border:`1.5px solid ${r?d.rust:d.mark1}`,background:r?d.rust:"transparent"}}),c("span",{style:{flex:1,fontSize:"4.31cqw",fontWeight:600,color:d.text},children:e}),c("span",{style:{fontSize:"3.98cqw",color:d.muted},children:o}),c("b",{style:{fontSize:"4.31cqw",color:d.text},children:t})]},e))})}),paymentbadges:S("div",{style:{..._,background:d.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[c(Oa,{children:"Ways to pay"}),c("div",{style:{display:"flex",gap:5},children:[["VISA",d.ink],["MC",d.rust],["AMEX",d.inkSoft],["PayPal",d.ink2]].map(([e,o])=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.65cqw",fontWeight:800,letterSpacing:"0.06em",color:d.onInk,borderRadius:3,padding:"6px 0",background:o},children:e},e))})]}),stats:S("div",{style:{..._,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...me(d.ink,d.ink2)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:d.warm},children:"By the numbers"}),S("div",{style:{display:"flex",gap:8},children:[c(La,{n:"27k",label:"Rigs fitted",tone:d.onInk}),c(La,{n:"12",label:"Years",tone:d.onInk}),c(La,{n:"4.9",label:"Avg rating",tone:d.warm})]})]}),testimonials:S("div",{style:{..._,overflow:"hidden",background:d.paper,padding:"10px 11px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center"},children:[c("span",{style:{position:"absolute",right:10,top:2,fontSize:"22.4cqw",lineHeight:1,fontWeight:800,color:d.rust,opacity:.16},children:"\u201D"}),c(hd,{filled:5,size:7}),c("span",{style:{position:"relative",fontSize:"5.31cqw",lineHeight:1.35,color:d.text,fontWeight:600},children:"\u201CTook them out to the Simpson and back. Not one chip.\u201D"}),S("div",{style:{display:"flex",alignItems:"center",gap:5},children:[c(zy,{}),c("span",{style:{fontSize:"3.98cqw",color:d.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:S(ie,{title:"Reviews",children:[c("div",{style:{display:"flex",gap:4,height:22},children:[[d.inkSoft,d.inkSoft2],[d.rust,d.warm],[d.ink,d.inkSoft],[d.mark2,d.mark1]].map(([e,o],t)=>c("div",{style:{flex:1,borderRadius:3,...me(e,o,140+t*15)}},t))}),c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Dave M.",5,"Not one chip after the Simpson."],["Sara K.",4,"Fitted in an hour, no fuss."]].map(([e,o,t])=>S("div",{style:{display:"flex",gap:5,alignItems:"flex-start"},children:[c(zy,{size:12}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[S("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[c("b",{style:{fontSize:"3.98cqw",color:d.text},children:e}),c(hd,{filled:o})]}),c(Oe,{children:t})]})]},e))})]}),logos:S("div",{style:{..._,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...me(d.ink,d.inkSoft)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:d.warm},children:"As fitted by"}),c("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:8},children:["ARB","TJM","IRONMAN","OPPOSITE"].map(e=>c("span",{style:{textAlign:"center",fontSize:"4.31cqw",fontWeight:800,letterSpacing:"0.08em",color:d.onInk,opacity:.82},children:e},e))})]}),prose:S("div",{style:{..._,background:d.paper,padding:"11px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"5.86cqw",fontWeight:700,color:d.text},children:"Why offset matters"}),S("div",{style:{display:"flex",gap:6},children:[c("span",{style:{fontSize:"15.3cqw",lineHeight:.78,fontWeight:800,color:d.rust,marginTop:1},children:"T"}),S("div",{style:{display:"flex",flexDirection:"column"},children:[c(Oe,{children:"he number on the back of your wheel decides whether the"}),c(Oe,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:c(ie,{title:"What you get",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Fitted free","In store, same day."],["5 yr cover","Structural, no fine print."],["Swap it","30 days, any reason."]].map(([e,o])=>S("div",{style:{border:`1px solid ${d.rule}`,borderRadius:4,padding:6,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{width:11,height:11,borderRadius:3,background:d.rust,opacity:.9}}),c("b",{style:{fontSize:"3.98cqw",color:d.text},children:e}),c(Oe,{children:o})]},e))})}),faq:c(ie,{title:"Questions",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[["Will these fit my Hilux?",!0],["Do you fit them for me?",!1],["What if I pick wrong?",!1]].map(([e,o])=>S("div",{style:{borderBottom:`1px solid ${d.rule}`,padding:"4px 2px"},children:[S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6},children:[c("b",{style:{fontSize:"4.31cqw",color:d.text},children:e}),c("span",{style:{fontSize:"4.64cqw",color:d.muted,lineHeight:1},children:o?"\u2212":"+"})]}),o&&c(Oe,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:S("div",{style:{..._,overflow:"hidden",...me(d.ink,d.ink2)},children:[c("div",{style:{..._,background:`linear-gradient(90deg,${d.scrim},transparent 70%)`}}),c("div",{style:{position:"relative",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",padding:"12px 14px",gap:5},children:c(Hy,{over:"NEW \xB7 SUMMER",overTone:d.warm,head:"Built for the worst road you own",cta:"SHOP ALL",ctaBg:d.warm,ctaFg:d.ink,tone:d.onInk})}),c(zo,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:S("div",{style:{..._,display:"flex",background:d.paper,overflow:"hidden"},children:[c("div",{style:{flex:1,padding:12,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:c(Hy,{over:"ALL-TERRAIN",overTone:d.rust,head:"Grip that does not ask",headSize:12,cta:"EXPLORE",ctaBg:d.text,ctaFg:d.onInk,tone:d.text})}),c("div",{style:{flex:1,position:"relative",...me(d.inkSoft,d.inkSoft2)},children:c(zo,{size:74,style:{right:-14,top:16}})})]}),productgrid:c(ie,{title:"Best sellers",children:S("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[c(Id,{name:"Ridge 19",price:"$365"}),c(Id,{name:"Ridge 29",price:"$410"}),c(Id,{name:"Ridge 39",price:"$455"})]})}),collections:c(ie,{title:"Shop by category",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Wheels",d.inkSoft,d.inkSoft2],["Tyres",d.rust,d.warm],["Lift kits",d.ink,d.inkSoft]].map(([e,o,t])=>c("div",{style:{borderRadius:4,display:"flex",alignItems:"flex-end",padding:5,color:d.onInk,...me(o,t)},children:c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:S("div",{style:{..._,display:"flex",background:d.card,overflow:"hidden"},children:[c("div",{style:{flex:1.1,position:"relative",...me(d.paper,d.paper2,150)},children:c(zo,{size:78,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),S("div",{style:{flex:1,padding:"10px 10px 10px 8px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.rust},children:"NITTO"}),c("b",{style:{fontSize:"6.29cqw",color:d.text},children:"Ridge Grappler"}),c("span",{style:{fontSize:"6.63cqw",fontWeight:700,color:d.text},children:"$489"}),c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,background:d.text,color:d.onInk},children:"ADD TO CART"})]})]}),spectable:c(ie,{title:"Specifications",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Diameter",v:'20"'}),c(Ho,{k:"Width",v:"9.0J"}),c(Ho,{k:"Offset",v:"+12"}),c(Ho,{k:"Load",v:"1250 kg"})]})}),fitmenttable:c(ie,{title:"Will it fit?",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),c(Ho,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),c(Ho,{k:"LC79",v:"17\xD78 \u221210",ok:!0})]})}),brandstrip:S("div",{style:{..._,background:d.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[c(Oa,{children:"Brands we carry"}),c("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["NITTO","BFG","FUEL","TOYO"].map(e=>c("span",{style:{fontSize:"4.64cqw",fontWeight:800,letterSpacing:"0.1em",color:d.mark2},children:e},e))})]}),processsteps:S("div",{style:{..._,background:d.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[c(Oa,{children:"How it works"}),c("div",{style:{display:"flex",gap:6},children:["Pick your rig","Match the fit","We fit it"].map((e,o)=>S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{width:11,height:11,borderRadius:"50%",background:d.text,color:d.onInk,fontSize:"3.98cqw",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700},children:o+1}),c("span",{style:{fontSize:"3.98cqw",color:d.text,fontWeight:600},children:e})]},e))})]}),detailrows:c("div",{style:{..._,background:d.card,display:"flex",flexDirection:"column",overflow:"hidden"},children:[["Forged, not cast","Half the weight, twice the road.",!1],["Fits your load","Rated to 1250 kg a corner.",!0]].map(([e,o,t])=>{let r=c("div",{style:{flex:1,...me(t?d.rust:d.inkSoft,t?d.warm:d.inkSoft2)}},"art"),a=S("div",{style:{flex:1.1,padding:8,display:"flex",flexDirection:"column",gap:2,justifyContent:"center"},children:[c("b",{style:{fontSize:"4.64cqw",color:d.text},children:e}),c("span",{style:{fontSize:"3.98cqw",color:d.muted,lineHeight:1.3},children:o})]},"tx");return c("div",{style:{flex:1,display:"flex",minHeight:0},children:t?[a,r]:[r,a]},e)})}),specstrip:c("div",{style:{..._,background:d.ink,color:d.onInk,display:"flex",alignItems:"center",justifyContent:"space-around",padding:"0 8px"},children:[["5 yr","Warranty"],["Free","Fitting"],["48 hr","Dispatch"]].map(([e,o])=>S("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:1},children:[c("b",{style:{fontSize:"5.69cqw",letterSpacing:"0.02em"},children:e}),c("span",{style:{fontSize:"3.65cqw",color:d.mark2,letterSpacing:"0.1em",textTransform:"uppercase"},children:o})]},o))})},Gy={subscribe:S("div",{style:{..._,padding:13,display:"flex",flexDirection:"column"},children:[S("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[S("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c(R,{w:8,h:8,r:2,tone:"accent"}),c(R,{w:38,h:7,r:3,tone:"dark"}),c(R,{w:16,h:7,r:3,tone:"accent"})]}),c(R,{w:38,h:4,r:2,tone:"soft"})]}),c("div",{style:{height:1,background:Fe.line,marginBottom:10}}),S("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${Fe.line}`,borderRadius:7,padding:10},children:[S("div",{style:{flex:1.1,display:"flex",flexDirection:"column",justifyContent:"center",gap:5},children:[c(R,{w:"46%",h:3,r:2,tone:"accent"}),c(R,{w:"84%",h:8,r:4,tone:"dark"}),c(R,{w:"56%",h:8,r:4,tone:"accent"}),c(R,{w:"96%",h:3,r:2,tone:"soft",style:{marginTop:2}}),S("div",{style:{display:"flex",gap:5,marginTop:4},children:[c("div",{style:{flex:1,height:13,borderRadius:5,border:`1px solid ${Fe.line}`,background:Fe.block}}),c(R,{w:34,h:13,r:5,tone:"accent"})]})]}),S("div",{style:{flex:1,background:Fe.block,borderRadius:6,padding:8,display:"flex",flexDirection:"column",gap:6},children:[c(R,{w:"52%",h:4,r:2,tone:"accent"}),Array.from({length:3}).map((e,o)=>S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,borderTop:o?`1px solid ${Fe.line}`:"none",paddingTop:o?4:0},children:[c(R,{w:34,h:4,r:2,tone:"dark"}),c(R,{w:16,h:3,r:2,tone:"soft"})]},o))]})]})]}),split:S("div",{style:{..._,display:"flex"},children:[c("div",{style:{width:"44%",background:xd}}),S("div",{style:{flex:1,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(R,{w:"44%",h:5,r:3,tone:"accent"}),c(R,{w:"88%",h:8,r:4,tone:"dark"}),c(R,{w:"70%",h:8,r:4,tone:"dark"}),c(R,{w:"94%",h:5,r:2,tone:"soft",style:{marginTop:2}}),c(R,{w:"80%",h:5,r:2,tone:"soft"}),c(R,{w:"40%",h:13,r:6,tone:"accent",style:{marginTop:5}})]})]}),sectionheader:S(Uy,{children:[c(R,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),S("div",{style:{..._,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:10},children:[S("div",{style:{display:"flex",alignItems:"center",gap:9},children:[c(R,{w:16,h:16,r:4,tone:"accent"}),c(R,{w:"20%",h:9,r:4,tone:"dark"})]}),c(R,{w:"62%",h:10,r:5,tone:"dark"}),c(R,{w:"42%",h:6,r:3,tone:"soft"})]})]}),header:c("div",{style:{..._,padding:14,display:"flex",flexDirection:"column",justifyContent:"center"},children:S("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[c(R,{w:"22%",h:12,r:4,tone:"dark"}),S("div",{style:{display:"flex",gap:9,alignItems:"center"},children:[c(R,{w:26,h:6,r:3,tone:"soft"}),c(R,{w:26,h:6,r:3,tone:"soft"}),c(R,{w:26,h:6,r:3,tone:"soft"}),c(R,{w:18,h:14,r:5,tone:"accent"})]})]})}),footer:S("div",{style:{..._,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:12},children:[S("div",{style:{display:"flex",gap:14},children:[S("div",{style:{flex:1.4,display:"flex",flexDirection:"column",gap:6},children:[c(R,{w:"60%",h:9,r:4,tone:"dark"}),c(R,{w:"90%",h:5,r:2,tone:"soft"}),c(R,{w:"70%",h:5,r:2,tone:"soft"})]}),[0,1].map(e=>S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[c(R,{w:"50%",h:6,r:3,tone:"dark"}),c(R,{w:"80%",h:5,r:2,tone:"soft"}),c(R,{w:"66%",h:5,r:2,tone:"soft"})]},e))]}),c("div",{style:{height:1,background:Fe.line}}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c(R,{w:"30%",h:5,r:2,tone:"soft"}),c(R,{w:"16%",h:5,r:2,tone:"soft"})]})]}),grid:c("div",{style:{..._,padding:14,display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",gap:9},children:Array.from({length:4}).map((e,o)=>c("div",{style:{borderRadius:6,background:Fe.block}},o))}),blanksection:c("div",{style:{..._,padding:14,display:"flex"},children:S("div",{style:{flex:1,border:`1px dashed ${Fe.line}`,borderRadius:7,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[c(R,{w:14,h:2,r:1,tone:"tint"}),c(R,{w:2,h:14,r:1,tone:"tint",style:{position:"absolute"}})]})}),spacer:S("div",{style:{..._,padding:14,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[c(R,{w:"100%",h:6,r:3,tone:"soft"}),c(R,{w:16,h:22,r:3,tone:"block",style:{alignSelf:"center"}}),c(R,{w:"100%",h:6,r:3,tone:"soft"})]}),divider:c("div",{style:{..._,padding:14,display:"flex",alignItems:"center"},children:c(R,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:S("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:xd},children:[c(R,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(-14deg)"}}),c(R,{w:16,h:10,r:3,tone:"accent"}),c(R,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(14deg)"}})]}),heading:c("div",{style:{..._,padding:14,display:"flex",alignItems:"center"},children:c(R,{w:"64%",h:13,r:4,tone:"dark"})}),text:S("div",{style:{..._,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(R,{w:"100%",h:6,r:3,tone:"soft"}),c(R,{w:"96%",h:6,r:3,tone:"soft"}),c(R,{w:"100%",h:6,r:3,tone:"soft"}),c(R,{w:"58%",h:6,r:3,tone:"soft"})]}),image:c("div",{style:{position:"absolute",inset:14,borderRadius:7,background:xd}}),button:c("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"center"},children:c(R,{w:"34%",h:16,r:8,tone:"accent"})}),menu:S("div",{style:{..._,padding:"14px 22%",display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(R,{w:"48%",h:7,r:3,tone:"dark"}),c(R,{w:"82%",h:5,r:2,tone:"soft"}),c(R,{w:"66%",h:5,r:2,tone:"soft"}),c(R,{w:"74%",h:5,r:2,tone:"soft"}),c(R,{w:"58%",h:5,r:2,tone:"soft"})]}),emailform:S("div",{style:{..._,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[c(R,{w:"56%",h:8,r:3,tone:"dark"}),S("div",{style:{display:"flex",gap:6},children:[c("div",{style:{flex:1,height:16,borderRadius:5,border:`1px solid ${Fe.line}`}}),c(R,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:c("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"center",gap:9},children:[0,1,2,3].map(e=>c(R,{w:16,h:16,r:8,tone:"dark"},e))}),search:c("div",{style:{..._,padding:"0 18%",display:"flex",alignItems:"center"},children:S("div",{style:{flex:1,height:22,borderRadius:11,border:`1px solid ${Fe.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[c("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${Fe.dark}`}}),c(R,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:S("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[c("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${Fe.dark}`}}),c("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${Fe.dark}`},children:c(R,{w:7,h:7,r:2,tone:"dark"})})]}),countryswitch:S("div",{style:{..._,padding:14,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:5},children:[S("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",border:`1px solid ${Fe.line}`},children:[c(R,{w:22,h:6,r:2,tone:"dark"}),c(R,{w:6,h:4,r:1,tone:"soft"})]}),S("div",{style:{width:"46%",display:"flex",flexDirection:"column",gap:4,padding:6,border:`1px solid ${Fe.line}`},children:[c(R,{w:"80%",h:4,r:2,tone:"accent"}),c(R,{w:"64%",h:4,r:2,tone:"soft"}),c(R,{w:"72%",h:4,r:2,tone:"soft"})]})]}),legalline:S("div",{style:{..._,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[c("div",{style:{height:1,background:Fe.line}}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c(R,{w:"38%",h:5,r:2,tone:"soft"}),S("div",{style:{display:"flex",gap:5},children:[c(R,{w:14,h:5,r:2,tone:"soft"}),c(R,{w:14,h:5,r:2,tone:"soft"}),c(R,{w:14,h:5,r:2,tone:"soft"})]})]})]}),fallback:c("div",{style:{position:"absolute",inset:14,borderRadius:8,background:Fe.block}})};function $y({type:e}){let o=jD[e]??"",t=KD[o]??Gy[o]??Gy.fallback;return c("div",{className:"sf-thumb","aria-hidden":"true",style:{position:"absolute",inset:0,background:"var(--sf-thumb-thumb-bg)",pointerEvents:"none",containerType:"inline-size"},children:t})}import{jsx as Sr,jsxs as VD}from"react/jsx-runtime";import{StylesIcon as YD}from"efficient-easel/rail";import{Tooltip as XD}from"efficient-shell/ui";function qy({tokenRef:e,siteId:o,onClose:t,onNotify:r,tab:a,onTabChange:n}){let s=nr();return VD("div",{className:"sf-styles",children:[Sr(Ka,{icon:Sr(YD,{}),title:l("Site styles"),context:Sr(XD,{content:l("{name} \u2014 renamed in the Console: {place}.",{name:s,place:l("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:Sr("span",{className:"sf-name-text",children:s})}),onHide:t}),Sr("div",{className:"sf-insp-body es-insp-body sf-scroll",children:Sr(ll,{tokenRef:e,siteId:o,onNotify:r,tab:a,onTabChange:n})})]})}import{jsx as Ee,jsxs as Lt,Fragment as tN}from"react/jsx-runtime";import{Fragment as lS,useEffect as sS,useRef as vd}from"react";import{useTreeDrag as iS}from"efficient-easel/drag";import{GlobeIcon as rN,ImageIcon as aN,LocationIcon as nN,MapIcon as lN,TextLinesIcon as sN,TrashIcon as fS}from"efficient-easel/icons";import{Subtree as cS,TreeRow as Aa,TreeRowAction as dS,TreeSeam as uS}from"efficient-easel/tree";import{useEaselStrings as iN}from"efficient-easel/strings";import{createPreviewSelectionContext as ZD}from"efficient-easel/draw/client";var{Provider:OJ,useSelection:jy}=ZD("selectedLocationPartId");function Ky(e,o,t){return`${e}::${o}::${t}`}function Vy(e){if(!e)return null;let o=e.split("::");if(o.length<3)return null;let t=o[o.length-1];if(t!=="image"&&t!=="map")return null;let r=Number(o[o.length-2]);if(!Number.isInteger(r)||r<0)return null;let a=o.slice(0,-2).join("::");return a?{nodeId:a,index:r,part:t}:null}import{useSyncExternalStore as QD}from"react";var JD={level:"groups"},Xy=JD,gd=new Set;function uo(e){Xy=e;for(let o of gd)o()}function eN(e){return gd.add(e),()=>{gd.delete(e)}}var Yy=()=>Xy;function Zy(){return QD(eN,Yy,Yy)}function Qy(e,o,t){let r=[];return e.forEach((a,n)=>{let s=o(a),i=r.find(f=>f.key===s);i||(i={key:s,name:t(a),items:[]},r.push(i)),i.items.push({item:a,index:n})}),r}function _J(e){if(e<=1)return"grid-cols-1";if(e===2)return"grid-cols-2";if(e===3)return"grid-cols-3";if(e===4)return"grid-cols-4";let o=t=>e%t||t;return o(4)>=o(3)?"grid-cols-4":"grid-cols-3"}var Ra=e=>String(e?.group??""),bd=new WeakMap,oN=0;function Ql(e){let o=bd.get(e);return o||(o=`loc${++oN}`,bd.set(e,o)),o}var Jy=(e,o)=>o||e||"Ungrouped",eS={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
17
- Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function Pt(e){return Qy(e,Ra,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var yd=e=>e.flatMap(o=>o.cards),oS=(e,o,t)=>Math.min(Math.max(e,o),t);function Jl(e,o,t){let r=0;for(let a=0;a<e.length;a++)if(Ra(e[a])===o){if(r===t)return a;r++}return-1}function Sd(e,o,t){let r=Pt(e);if(o<0||o>=r.length)return e;let[a]=r.splice(o,1),n=oS(o<t?t-1:t,0,r.length);return r.splice(n,0,a),yd(r)}function Cd(e,o,t,r,a){let n=Pt(e),s=n.find(m=>m.key===o),i=n.find(m=>m.key===r);if(!s||!i||t<0||t>=s.cards.length)return e;let[f]=s.cards.splice(t,1),u=o===r?f:{...f,group:i.key,groupName:i.name};u!==f&&bd.set(u,Ql(f));let p=oS(s===i&&t<a?a-1:a,0,i.cards.length);return i.cards.splice(p,0,u),yd(n)}function tS(e,o){let t=Pt(e),r=t.find(n=>n.key===o),a={...eS,group:o,groupName:r?.name??""};return r?(r.cards.push(a),yd(t)):[...e,a]}function rS(e){let o=new Set(Pt(e).map(a=>a.key)),t=o.size+1,r=`Group ${t}`;for(;o.has(r);)r=`Group ${++t}`;return{cards:[...e,{...eS,group:r,groupName:""}],key:r}}function aS(e,o){return e.filter(t=>Ra(t)!==o)}function nS(e,o,t){let r=Jl(e,o,t);return r<0?e:e.filter((a,n)=>n!==r)}function MJ(e,o,t){let r=e.flatMap((s,i)=>Ra(s)===o?[i]:[]),a=e.slice();r.forEach((s,i)=>{a[s]=t[i]});let n=t.slice(r.length);return[...a.filter(s=>s!==void 0),...n]}function HJ(e,o,t){return o.flatMap(r=>{let a=e.filter(n=>Ra(n)===r);return a.length?a:t(r)})}var os="ContactLocations",es=e=>({parentId:`locations-${e}`,slot:"groups"}),wd=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function pS(e,o){let{readOnly:t,selected:r}=o,a=iN().tree,n=o.data?.content??[],s=e.kind===By.kind,i=vd(null);sS(()=>{let g=r?.type===os?String(r.props.id):null;g&&g!==i.current&&uo({level:"groups"}),i.current=g},[r?.props.id]);let{selectedLocationPartId:f,setSelectedLocationPartId:u,setSelectHandler:p}=jy(),m=Zy(),x=(g,y)=>{let E=n[g];E&&o.replace(g,{type:E.type,props:{...E.props,locations:y}})},h=g=>{let y=n[g]?.props?.locations;return Array.isArray(y)?y:[]},b=iS({keyOf:g=>`group:${g.si}:${g.index}`,readOnly:!!t,canDrop:(g,y)=>y.parentId===es(g.si).parentId&&y.slot==="groups",onDrop:(g,y)=>{x(g.si,Sd(h(g.si),g.index,y.index)),m.level==="city"&&uo({level:"groups"})},onStep:(g,y)=>{x(g.si,Sd(h(g.si),g.index,y<0?g.index-1:g.index+2)),m.level==="city"&&uo({level:"groups"})}}),C=iS({keyOf:g=>`city:${g.si}:${g.group}:${g.index}`,readOnly:!!t,canDrop:(g,y)=>y.parentId===es(g.si).parentId&&y.slot.startsWith("cities:"),onDrop:(g,y)=>{let E=y.slot.slice(7);x(g.si,Cd(h(g.si),g.group,g.index,E,y.index)),uo({level:"group",key:E})},onStep:(g,y)=>{x(g.si,Cd(h(g.si),g.group,g.index,g.group,y<0?g.index-1:g.index+2)),m.level==="city"&&uo({level:"group",key:g.group})}}),k=vd(n);k.current=n;let v=vd(()=>{});sS(()=>{p(g=>{let y=Vy(g);if(!y)return;let E=k.current.findIndex(F=>F.props?.id===y.nodeId);E<0||v.current(E,{level:y.part,index:y.index})})},[p]);let w=(g,y)=>{i.current=n[g]?.props?.id??null,o.select(g),uo(y),e.reveal();let E=n[g]?.props?.id;typeof E=="string"&&(y.level==="image"||y.level==="map")?u(Ky(E,y.index,y.level)):u(null),typeof E=="string"&&o.scrollTo(E)};return v.current=w,{renderLocationTree:(g,y,{rowClick:E,isCollapsed:F,toggleCollapse:L})=>{let B=h(y),O=Pt(B),M=String(g.props.id),re=s&&r?.props.id===M,H=A=>Ee(uS,{...t?{}:b.seam({place:{...es(y),index:A}})},`seam:${M}:groups:${A}`),W=(A,oe)=>Ee(uS,{...t?{}:C.seam({place:{...wd(y,A),index:oe}})},`seam:${M}:cities:${A}:${oe}`);return Lt(tN,{children:[Ee(Aa,{icon:Ee(sN,{size:13}),name:l("Texts"),words:a,onSelect:()=>w(y,{level:"texts"}),selected:re&&m.level==="texts",rowProps:{onClick:E(()=>w(y,{level:"texts"}))}}),O.map((A,oe)=>{let Re=`${M}::grp::${A.key}`,Xe=F(Re),ro=re&&m.level==="group"&&m.key===A.key,We=A.name||A.key?Jy(A.key,A.name):l("Ungrouped"),Ae={...wd(y,A.key),index:A.cards.length},Ge=C.row({item:{si:y,group:A.key,index:-1},place:Ae,into:Ae,canDrag:!1},{onClick:E(()=>w(y,{level:"group",key:A.key}))}),Ne=b.row({item:{si:y,index:oe},place:{...es(y),index:oe}},Ge.rowProps);return Lt(lS,{children:[oe===0&&H(0),Ee(Aa,{icon:Ee(rN,{size:13}),name:We,words:a,onSelect:()=>w(y,{level:"group",key:A.key}),selected:ro,draggable:Ne.draggable,dragging:Ne.dragging,drop:Ne.drop??Ge.drop,fold:{open:!Xe,label:l("group"),onToggle:()=>L(Re)},actions:Ee(dS,{kind:"delete",label:it("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",A.cards.length,{label:We}),onClick:()=>{x(y,aS(B,A.key)),uo({level:"groups"})},children:Ee(fS,{size:15})}),rowProps:Ne.rowProps,children:Ee("span",{className:"es-group-count",children:A.cards.length})}),!Xe&&Lt(cS,{children:[A.cards.map((Ce,he)=>{let xe=Jl(B,A.key,he),Ze=re&&m.level==="city"&&m.index===xe,P=String(Ce?.name??"")||l("City"),le=`${M}::city::${Ql(Ce)}`,Y=F(le),{rowProps:te,...ae}=C.row({item:{si:y,group:A.key,index:he},place:{...wd(y,A.key),index:he}},{onClick:E(()=>w(y,{level:"city",index:xe}))});return Lt(lS,{children:[he===0&&W(A.key,0),Ee(Aa,{icon:Ee(nN,{size:13}),name:P,words:a,onSelect:()=>w(y,{level:"city",index:xe}),selected:Ze,...ae,fold:{open:!Y,label:P,onToggle:()=>L(le)},actions:Ee(dS,{kind:"delete",label:l("Delete {name}",{name:P}),onClick:()=>{x(y,nS(B,A.key,he)),uo({level:"group",key:A.key})},children:Ee(fS,{size:15})}),rowProps:te}),!Y&&Lt(cS,{children:[Ee(Aa,{icon:Ee(aN,{size:13}),name:l("Image"),words:a,onSelect:()=>w(y,{level:"image",index:xe}),selected:re&&m.level==="image"&&m.index===xe,rowProps:{onClick:E(()=>w(y,{level:"image",index:xe}))}}),Ee(Aa,{icon:Ee(lN,{size:13}),name:l("Map"),words:a,onSelect:()=>w(y,{level:"map",index:xe}),selected:re&&m.level==="map"&&m.index===xe,rowProps:{onClick:E(()=>w(y,{level:"map",index:xe}))}})]}),W(A.key,he+1)]},Ql(Ce))}),Lt("button",{type:"button",className:"sf-add-card",onClick:()=>{let Ce=tS(B,A.key);x(y,Ce);let he=Pt(Ce).find(xe=>xe.key===A.key);uo(he&&he.cards.length?{level:"city",index:Jl(Ce,A.key,he.cards.length-1)}:{level:"group",key:A.key})},children:[Ee("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add city")]})]}),H(oe+1)]},Re)}),Lt("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:A,key:oe}=rS(B);x(y,A),w(y,{level:"group",key:oe})},children:[Ee("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add group")]})]})},sectionPressed:g=>{g?.type===os&&uo({level:"groups"})}}}import{useEffect as uN,useRef as pN}from"react";import{createNode as IS,newId as hS}from"efficient-easel/data";import{useEaselApi as mN}from"efficient-easel/easel";import{ROOT_ZONE as Cr,missingPinnedTypes as xN,pinnedDuplicateIds as kd}from"efficient-easel/draw";import{resetForDocumentSwitch as fN,saveStatusForNewDocument as cN,saveStatusOf as dN}from"efficient-easel/screen/lib/document-switch";function mS(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function xS(e,o){let t=e.some(n=>n?.type===de),r=e[e.length-1],a=!t&&r?.type===pe?r:null;return{remove:e.filter(n=>n?.type===pe&&n!==a).map(n=>String(n.props?.id??"")).filter(Boolean),seedHeader:!e.some(n=>n?.type===Ve),seedFooter:o.hasChromeDoc&&!t&&!a}}function gS(e,o){let{adapter:t,capabilities:r,currentSlug:a,docId:n,data:s,saveStatus:i}=ye(),{hasSiteSettings:f,hasPinnedChrome:u}=r,p=!!r.editsPinnedInPlace&&a!==Nt,m=a===Nt,x=mN().getState,h=pN(null);uN(()=>{if(!mS({docId:n,saveStatus:i,seededDocId:h.current})||(h.current=n,!u))return;let b=x().appState.data,C=b.content,k=s?.content??[],v=(E,F)=>E.some(L=>L?.type===F);if(!f){let E=new Set(kd(C)),F=E.size?C.filter(B=>!E.has(B.props.id)):C;E.size&&e.setDocument({...b,content:F});let L=xN(F,k);if(L.includes(pe)){let B=F.length,O=e.insertSection(pe,B);e.replaceComponent(Cr,B,{type:pe,props:{id:O,blocks:$l()}})}L.includes(Ve)&&e.insertNode(Cr,0,Ul());return}if(m){let E=br(C);if(E!==C&&e.setDocument({...b,content:[...E]}),!E.find(F=>F.type===pe)&&!v(k,pe)&&!v(E,de)&&!v(k,de)){let F=(B,O)=>IS(o,B,O),L={type:pe,props:{blocks:$l()}};e.insertNode(Cr,E.length,Ta(L,F,hS(de)))}return}if(p){let E=!!t?.pinnedChrome?.state().docId,F=xS(C,{hasChromeDoc:E}),L=new Set([...F.remove,...kd(C.filter(O=>!F.remove.includes(String(O.props.id))))]),B=L.size?C.filter(O=>!L.has(String(O.props.id))):C;if(B.length!==C.length&&e.setDocument({...b,content:B}),F.seedFooter&&!v(k,pe)&&!v(k,de)){let O=(re,H)=>IS(o,re,H),M={type:pe,props:{blocks:$l()}};e.insertNode(Cr,B.length,Ta(M,O,hS(de)))}if(F.seedHeader&&!v(k,Ve)){let O=B[0]?.type==="SiteHeader"?1:0;e.insertNode(Cr,O,Ul())}return}let w=C.filter(E=>E.type!==pe),g=new Set(kd(w)),y=g.size?w.filter(E=>!g.has(E.props.id)):w;y.length!==C.length&&e.setDocument({...b,content:y}),!v(y,Ve)&&!v(k,Ve)&&e.insertNode(Cr,0,Ul())},[n,i,s,x,e,f,u,m,p,t])}import{useEffect as SS,useState as CS}from"react";var ts=new Map;async function IN(e,o){try{return(await Ue().site.get({siteId:o})).slug?.trim()||null}catch(t){return console.warn("[editor-site-slug] could not resolve the site slug",t),null}}function bS(e,o){let t=ts.get(o);return t||(t=IN(e,o),ts.set(o,t),t.catch(()=>{ts.get(o)===t&&ts.delete(o)})),t}var hN=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function Td(e){return!!e&&hN.test(e)}function yS(e){let{pageSlug:o,siteSlug:t,hostname:r}=e,a=o===mn?"/":`/${encodeURIComponent(o)}`;if(!Td(r))return a;let n=t?.trim();return n?`${a}?site=${encodeURIComponent(n)}`:a}function vS(e){let{pageSlug:o,siteId:t,token:r}=e,[a,n]=CS(null),[s,i]=CS(null),f=gu();SS(()=>i(f?new URL(f).hostname:window.location.hostname),[f]),SS(()=>{if(!Td(s)||!t||!r){n(null);return}let p=!1;return bS(r,t).then(m=>{p||n(m)}),()=>{p=!0}},[s,t,r]);let u=yS({pageSlug:o,siteSlug:a,hostname:s});return f?`${f}${u}`:u}import{jsx as Ba,jsxs as gN}from"react/jsx-runtime";import{ExternalIcon as wS}from"efficient-easel/icons";import{Button as bN,Tooltip as kS,buttonClasses as yN}from"efficient-shell/ui";function SN({pageId:e,liveHref:o,draftLink:t,win:r=window}){let a=r.open("","_blank");if(a)try{a.opener=null}catch{}let n=s=>{a&&!a.closed?a.location.href=s:r.open(s,"_blank","noopener,noreferrer")};return t(e).then(s=>n(s.url??o),()=>n(o))}function TS({liveHref:e,pageId:o,draftLink:t}){return t&&o?Ba(kS,{content:l("Open your saved draft in a new tab. Visitors don't see it."),children:Ba(bN,{variant:"secondary",onClick:()=>{SN({pageId:o,liveHref:e,draftLink:t})},rightIcon:Ba(wS,{size:15}),"aria-label":l("Preview your saved draft in a new tab"),children:l("Preview")})}):Ba(kS,{content:l("Preview the live site (opens in a new tab)"),children:gN("a",{className:yN({variant:"secondary"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":l("Preview the live site in a new tab"),children:[l("Preview"),Ba(wS,{size:15})]})})}import{useCallback as TN,useEffect as OS,useRef as RS,useState as FN}from"react";import{useSyncExternalStore as CN}from"react";var vN=()=>()=>{},FS=()=>null;function rs(e){return CN(e?e.subscribe:vN,e?e.state:FS,e?e.state:FS)}function as(){let{adapter:e}=ye();return e?.pinnedChrome}import{useSyncExternalStore as wN}from"react";var vr=new Map,Fd=new Set;function Ed(e,o){if(!(vr.has(e)&&vr.get(e)===o)){vr.set(e,o);for(let t of Fd)t()}}function Nee(e,o){Ed(e,o)}function Mee(e,o){let t=vr.get(e);Ed(e,o??(t==="live"?"changed":t))}function Hee(e,o){Ed(e,o??"live")}function zee(e){return vr.get(e)}function kN(e){return Fd.add(e),()=>{Fd.delete(e)}}function ES(e){let o=()=>e?vr.get(e):void 0;return wN(kN,o,o)}function PS(e,o){return e==="live"&&o?"changed":e}function Pd({live:e,onPress:o,busy:t=!1,pinnedUnpublished:r=!1,goingLive:a}){let n=e==="live"&&!r,s=e==="changed"?l("Changes not live yet"):e==="never"?l("Never published"):r?l("Header and footer not live yet"):e==="live"?l("Everything is live"):null;return{label:l("Publish"),tooltip:e==="never"?l("Put this page on your site"):l("Put your changes on your site"),status:s,quiet:n?{label:l("Published"),reason:l("Everything is live")}:null,...a&&a.length?{goingLive:a}:{},onPress:o,busy:t}}function LS(e){return e.map(o=>o.change==="take_down"?l("{name} (taken down)",{name:o.name}):o.name)}function AS(e){let{docId:o,capabilities:t,hasUnsavedEdits:r,onPublish:a,adapter:n}=ye(),s=PS(ES(o??null),r),i=rs(as()),f=n.siteLiveState;OS(()=>{if(f)return xi(f),un(0),()=>xi(null)},[f]);let u=Zp(),[p,m]=FN(!1),x=RS(e);x.current=e;let h=RS(!0);OS(()=>(h.current=!0,()=>{h.current=!1}),[]);let b=TN(()=>{m(!0),a(x.current).finally(()=>{h.current&&m(!1)})},[a]);if(t.canPublish){if(f){let C=u===void 0?void 0:r||u.state==="changed"?"changed":"live";return Pd({live:C,onPress:b,busy:p,goingLive:LS(u?.changes??[])})}return Pd({live:s,onPress:b,busy:p,pinnedUnpublished:i?.unpublished??!1})}}var BS=["general","commerce","service"],wr=[{key:"openers",title:"Hero & intros",defaultExpanded:!0,templateable:!0,sections:[{type:"Hero",label:"Hero Slideshow",set:"general"},{type:"HeroSingle",label:"Hero",set:"general"},{type:"IntroBleed",label:"Scroll-Over Text",set:"general"}]},{key:"shop",title:"Shop & galleries",templateable:!0,sections:[{type:"Collections",label:"Collections",set:"commerce"},{type:"BrandStrip",label:"Brand Strip",set:"commerce"},{type:"AlloyWheelsListing",label:"List",set:"commerce"},{type:"CatalogFilterBar",label:"Catalog Filter Bar",set:"commerce"},{type:"ProductGrid",label:"Product Grid",set:"commerce"},{type:"FitmentFinder",label:"Fitment Form",set:"commerce"},{type:"Gallery",label:"Tabbed Gallery",set:"commerce"},{type:"GalleryB",label:"Customer Photo Grid",set:"commerce"},{type:"SpecStrip",label:"Spec Strip",set:"general"}]},{key:"product",title:"Product page",templateable:!0,sections:[{type:"ProductHero",label:"Product Hero",set:"commerce"},{type:"SpecTable",label:"Spec Table",set:"commerce"},{type:"ProcessSteps",label:"Image & Text Columns",set:"general"},{type:"DetailRows",label:"Feature Rows",set:"commerce"},{type:"FitmentTable",label:"Fitment Table",set:"commerce"},{type:"TyreSizes",label:"Tyre Sizes",set:"commerce"},{type:"TyreFitment",label:"Tyre Fitment Form",set:"commerce"},{type:"EuTyreLabel",label:"EU Tyre Label",set:"commerce"},{type:"RelatedProducts",label:"Related Products",set:"commerce"},{type:"BundleOffer",label:"Bundle Products",set:"commerce"}]},{key:"checkout",title:"Checkout & ordering",templateable:!0,sections:[{type:"OrderSummary",label:"Order Table",set:"general"},{type:"DeliveryOptions",label:"Delivery Options",set:"commerce"},{type:"PaymentBadges",label:"Payment Methods",set:"general"},{type:"CheckoutCTA",label:"Ready-to-Order Banner",set:"commerce"}]},{key:"about",title:"About & brand story",templateable:!0,sections:[{type:"Manifesto",label:"Brand Text",set:"general"},{type:"Timeline",label:"Story Timeline",set:"general"},{type:"TimelineTrack",label:"Milestone Timeline",set:"general"},{type:"Footprint",label:"Locations Map",set:"general"}]},{key:"content",title:"Text & content",templateable:!0,sections:[{type:"Prose",label:"Editorial Text",set:"general"},{type:"ParagraphsA",label:"Lead Text",set:"general"},{type:"Split",label:"Image & Text Split",set:"general"},{type:"Cards",label:"Cards",set:"general"},{type:"KeyFeatures",label:"Key Features",set:"general"}]},{key:"proof",title:"Stats & social proof",templateable:!0,sections:[{type:"Stats",label:"Stats",set:"general"},{type:"StatsParagraph",label:"Stats with Text",set:"general"},{type:"Chart",label:"Chart",set:"general"},{type:"Mockup",label:"Mockup Card",set:"general"},{type:"Testimonials",label:"Testimonials",set:"general"},{type:"Reviews",label:"Reviews",set:"service"},{type:"Logos",label:"Logos",set:"general"}]},{key:"promo",title:"Promotions & sign-ups",templateable:!0,sections:[{type:"Banner",label:"Banner",set:"general"},{type:"TitleWithButtons",label:"Call-to-Action Heading",set:"general"},{type:"Ticker",label:"Scrolling Bar",set:"general"},{type:"Countdown",label:"Countdown",set:"general"},{type:"Subscribe",label:"Signup Form",set:"service"}]},{key:"blog",title:"Blog & journal",templateable:!0,sections:[{type:"Masthead",label:"Issue Header",set:"general"},{type:"FeaturedCover",label:"Feature Banner",set:"general"},{type:"LongRead",label:"Article Text",set:"general"},{type:"Series",label:"Recurring Columns",set:"general"},{type:"Events",label:"Latest Posts",set:"service"}]},{key:"navigation",title:"Navigation & wayfinding",templateable:!0,sections:[{type:"Breadcrumb",label:"Breadcrumb",set:"general"},{type:"CategoryBar",label:"Category Bar",set:"general"},{type:"DocTabs",label:"Document Tabs",set:"general"}]},{key:"legal",title:"Legal & documents",templateable:!0,sections:[{type:"DocMasthead",label:"Document Header",set:"general"},{type:"DocBody",label:"Document Text",set:"general"},{type:"DocMetaCards",label:"Document Detail Cards",set:"general"}]},{key:"contact",title:"Contact, FAQ & forms",templateable:!0,sections:[{type:"FAQ",label:"Q&A",set:"general"},{type:"ContactRouting",label:"Contact Form",set:"service"},{type:"ContactLocations",label:"Contact / Locations",set:"general"},{type:"SubmitBuild",label:"Photo Submission Form",set:"service"},{type:"ReviewForm",label:"Review Form",set:"service"},{type:"Form",label:"Form",set:"service"},{type:"AppointmentBooking",label:"Booking Form",set:"service"}]},{key:"structure",title:"Layout, structure & embeds",templateable:!1,sections:[{type:"SectionHeader",label:"Section Header",set:"general"},{type:"Flex",label:"Box",set:"general"},{type:"Spacer",label:"Spacer",set:"general"},{type:"Divider",label:"Divider",set:"general"},{type:"CustomHTML",label:"Custom HTML",set:"general"}]}];function Vee(){return Object.fromEntries(wr.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var EN={Grid:'Lewis, 2026-09-14: Box and Grid duplicate each other and it feels confusing. 2026-09-15 he chose the order: give Box uneven widths FIRST, then merge Grid into Box. Shown three ways to pick the widths (mockup "Uneven Box Widths"), he chose A \u2014 shape pictures on the Box\'s `Block widths` row, the same "a row is a shape, pick a picture of it" rule he set for the photo wall on 2026-09-07.\n\nWHAT REPLACES IT: a Box set to One row, with `Block widths` at Equal or a shape (Big left, Big right, Bigger left, Bigger right) and its own `Columns on phone`. Measured on PRODUCTION 2026-09-16 ~09:28 AEST (database `efficient-system`, all 10 tenant schemas, 128 storefront pages, both `layout` and `published_layout` \u2014 256 documents): 2 Grid nodes, and they are ONE Grid counted twice \u2014 the 9DIEM homepage on 9diem.com (`xtreme_mudder` schema), once as draft and once as published. It is top-level, holds three `ImageBlock`s at `columns` 3 \u2014 equal thirds \u2014 and NO block sets `Positions`. A Box draws that with `Block widths` at Equal.\n\n\u26A0\uFE0F THE COUNT MOVES; THE RULE MUST NOT DEPEND ON IT. This entry has already carried three different readings. A local-clone snapshot said no Grid used `Positions`. A PRODUCTION reading on 2026-09-15 ~13:15 AEST found 6 nodes on two sites, 4 of them spanned \u2014 hartesmetal.com.au homepage and about, 4 columns, spans 1 + 3. That one was TRUE when it was taken and stopped being true the same day: those two pages were rebuilt on Box (`Block widths: Bigger right`), and on 2026-09-16 they hold zero Grid nodes and are built from `Flex`. \u26D4 So the rule is NOT "there are still N spanned Grids". NEVER delete the Grid component or its `gridSpan` handling, whatever a census says \u2014 Grid still renders, still edits, still drags, and a merchant may rebuild a page either way on any day. Re-run the census on production before anyone PROPOSES deleting either, and read any number written here as the reading of its own day, not as the state of the world.\n\nWHAT A MERCHANT LOSES: a new Grid, and with it a fixed "N per row" that wraps by itself past three across, and the per-block `Positions` number. Box wraps with `Wrap`, but by content width, not by a fixed count.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Grid still renders through it and can still be edited, dragged and added to; no document is rewritten and NO MIGRATION RUNS \u2014 the owner redoes live sections himself.\n\n\u26A0\uFE0F AND IT STAYS DROPPABLE WHERE IT LIVES. The drop rule in lib/puck/config.tsx read the nestable containers off the catalogue\'s `structure` row, so leaving the catalogue would have made every open slot \u2014 a Box included \u2014 refuse a Grid already stored inside one. `scripts/test-retired-grid-stays-editable.tsx` \xA73 pins it.',CompatibleTyres:'Lewis, 2026-09-09: "Do not bother counting. Delete Compatible Tyres and use the new one. The new one needs complete settings \u2014 it must have every setting our cards have." Shown three ways to finish it, he chose C: retire from the menu now, and take styling the card text as its own card.\n\nWHAT REPLACES IT: `RelatedProducts` with its `Show` dropdown set to "Tyres that fit this product". That block is the GENERIC relationship section from card 1128 \u2014 it knows nothing about wheels or tyres, it asks the registry for a relationship by name. The two have rendered through the SAME renderer (`DynamicRelatedProducts`) since that card; this one is the pre-registry one-off that was never removed.\n\n\u26A0\uFE0F THE SWAP WAS NOT SAFE UNTIL #1305, AND SAYING SO IS THE POINT. The first old-versus-new table put in front of the owner was WRONG. `DynamicRelatedProducts` returns EARLY on a tyre answer and draws this component, so the seven card settings, the head split and the Width control all stopped at that call \u2014 nine settings, measured NO EFFECT, on precisely the relationship that replaces this block. #1283 gave the new block the card settings, #1299 the head split and its own Width, #1305 carried all of it onto the tyre branch. Only then was the claim true.\n\nWHAT WAS MEASURED BEFORE RETIRING, four ways, because the premise decides the card:\n \u2022 settable text kinds (SECTION_TEXT_KINDS): both blocks ABSENT \u2014 the map holds only TimelineTrack and Footprint, both AUTHORED lists\n \u2022 read-only text regions: neither `components/CompatibleTyres` nor `components/TyreCard` stamps one\n \u2022 panel rows through resolveFields: this block 31, `RelatedProducts` 42. This block\'s only style-ish key is `_sStyle`, the bucket HEADER, not a control\n \u2022 head text (num/title/description) is authored on both, so `_partStyles` reaches it identically\nSo on the CARD runs the two are zero against zero \u2014 neither can style them \u2014 and everywhere else the new block is ahead. Styling those runs needs a section-level prop family and a paint path for DERIVED text, which no section has yet: a part is anchored by matching an AUTHORED prop\'s string against the DOM, and `lib/puck/source-bound-parts` keeps hydrated copy unreachable on purpose so a merchant cannot type into a copy of a product name and lose it at the next sync. That is its own card, and `lib/sections/text-regions` is the read-only half that already ships.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT, the same contract Subscribe, Split and SubscribeBlogs have. Every page holding a `CompatibleTyres` still renders through it, no published document is rewritten, and NO MIGRATION RUNS \u2014 the owner\'s standing ruling of 2026-09-05: he redoes live sections himself and deletes the old ones when he does. He also said explicitly not to count them first.\n\n\u26A0\uFE0F AND THIS COMPONENT IS LOAD-BEARING FOR ITS OWN REPLACEMENT: `DynamicRelatedProducts` draws it for EVERY tyre answer. Deleting it would blank the block that replaces it, not just the pages still holding this one.',SubscribeBlogs:"card 66396 \u2014 folded into `Subscribe`, which now chooses its rail's content with a `Type` control (the newsletter's own issues, or live blog posts). The two shared 21 of their fields and rendered THE SAME BYTES from equivalent rows, so offering both asked a merchant to choose between two names for one section. The type key stays because it is stored on published pages, and the component stays because those pages still render through it."},Yee=["Grid"],Xee=Array.from(new Set([...wr.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(EN)])),Zee=Object.fromEntries(wr.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),PN={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",ButtonBlock:"general",PostCard:"general",HeroSlide:"general",HeroGroup:"general",Integrations:"general",Grid:"general",CollectionCard:"commerce",GalleryItem:"commerce",ProductRef:"commerce",CompatibleTyres:"commerce",Header:"commerce",SearchBlock:"commerce",CartBlock:"commerce",CountrySwitchBlock:"commerce",AccountBlock:"commerce",ThemeSwitchBlock:"commerce",SubmitBox:"service",BookingBox:"service",SubscribeBlogs:"service",Footer:"service",FooterLogo:"service",FooterMenu:"service",FooterDivider:"service",FooterGroup:"service",FooterText:"service",FooterEmailSignup:"service",FooterSocial:"service",MenuBlock:"service",EmailFormBlock:"service",SocialLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},ns={...PN,...Object.fromEntries(wr.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function _S(e){return Object.prototype.hasOwnProperty.call(ns,e)?ns[e]:void 0}function Ld(e){return Object.keys(ns).filter(o=>ns[o]===e).sort()}var Qee=Ld("general"),Jee=Ld("commerce"),eoe=Ld("service"),Od="Flex",ot="Box",ooe=`${ot}es`;function LN(e){return e==="section"?"Blank section":ot}function Rd(e,o,t){return e===Od?LN(o):t}var ON={openers:{label:"Hero & intros",icon:"image"},shop:{label:"Shop & galleries",icon:"bag"},product:{label:"Product page",icon:"box"},checkout:{label:"Checkout & ordering",icon:"bag"},about:{label:"About & brand story",icon:"book"},content:{label:"Text & content",icon:"type"},proof:{label:"Stats & social proof",icon:"star"},promo:{label:"Promotions & sign-ups",icon:"sparkles"},blog:{label:"Blog & journal",icon:"newspaper"},navigation:{label:"Navigation & wayfinding",icon:"bookmark"},legal:{label:"Legal & documents",icon:"file"},contact:{label:"Contact, FAQ & forms",icon:"mail"},structure:{label:"Layout, structure & embeds",icon:"grid"}};function DS(e){return ON[e]?.label}var NS=Od;var RN={general:!0,commerce:!0,service:!0};function Ad(e){let o=e?.sets;return o?Object.fromEntries(BS.map(t=>[t,o.includes(t)])):RN}function soe(e=ao()){return Ad(e.blocks)}var kr="content",ge="Flex",AN="Text & media",BN="Layout & structure",_N=[{type:"Eyebrow",label:"Eyebrow"},{type:"Heading",label:"Heading"},{type:"Text",label:"Text"},{type:"ImageBlock",label:"Image"},{type:"LogoBlock",label:"Logo"},{type:"ButtonBlock",label:"Button"},{type:"Form",label:"Form"},{type:"PostCard",label:"Post Card"},{type:"Stats",label:"Stats"},{type:"MenuBlock",label:"Menu"},{type:"EmailFormBlock",label:"Email Form"},{type:"SocialLogosBlock",label:"Social Logos"},{type:"LegalLineBlock",label:"Legal Line"},{type:"SearchBlock",label:"Search"},{type:"CartBlock",label:"Cart"},{type:"CountrySwitchBlock",label:"Country Switch"}].map(e=>({...e,group:AN})),DN=(wr.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:BN})),MS=[..._N,...DN],Bd=[{type:"Eyebrow",label:"Eyebrow"},{type:"Heading",label:"Heading"},{type:"Text",label:"Text"},{type:"ImageBlock",label:"Image"},{type:"LogoBlock",label:"Logo"},{type:"ButtonBlock",label:"Button"},{type:"HeroGroup",label:ot}],coe=Bd.map(e=>e.type),NN=1,MN=Bd.filter(e=>e.type!=="HeroGroup");function HN(e){return e<NN?Bd:MN}var zN={Flex:{slot:kr,choices:()=>MS},Grid:{slot:kr,choices:()=>MS},HeroGroup:{slot:kr,choices:HN}};function HS(e,o=0){let t=zN[e];return t?{slot:t.slot,choices:t.choices(o)}:null}function ze(e,o,t,r={}){return{type:e,props:{...o(e),id:t(e),...r}}}function zS(e,o,t){return ze(ge,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var WN={Manifesto:(e,o)=>({type:ge,props:{...e(ge),id:o(ge),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[ze(ge,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[ze("Eyebrow",e,o,{eyebrowLook:"plain"}),ze("Heading",e,o),ze("Text",e,o),ze("Stats",e,o)]}),zS(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:ge,props:{...e(ge),id:o(ge),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[ze(ge,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[ze("Eyebrow",e,o,{eyebrowLook:"plain"}),ze("Heading",e,o),ze("Text",e,o),ze("ButtonBlock",e,o)]}),zS(e,o,{direction:"column",name:"Image",content:[ze("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:ge,props:{...e(ge),id:o(ge),direction:"column",name:"Subscribe",content:[ze("Heading",e,o),ze("Text",e,o),ze("Form",e,o)]}})};function ls(e){return WN[e]??null}import{blockTypesIn as _d}from"efficient-easel/screen/lib/puck/block-types-in";import{newNodeId as WS}from"efficient-easel/draw";var GN="ImageBlock",UN=3,ss=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:WS(e),...t}}),$N=e=>({...e?.(ge)??{},direction:"column",[kr]:[ss(GN,e),ss(ge,e,{direction:"column",[kr]:[ss("Heading",e),ss("Text",e)]})]}),To={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>qg.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${ot.toLowerCase()}`,seeds:()=>[],addBlocked:Ja,notice:Ms},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${ot.toLowerCase()}`,seeds:()=>[],addBlocked:Ja,notice:Ms},ProcessSteps:{slot:"boxes",childType:ge,addLabel:`Add ${ot.toLowerCase()}`,seeds:e=>Array.from({length:UN},()=>$N(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}};function Soe(e){for(let[o,t]of Object.entries(e)){if(o in To&&To[o]!==t)throw new Error(`lib/puck/slot-specs: "${o}" already has a slot spec`);To[o]=t}}function Coe(e,o){let t=To[e];return t?{slot:t.slot,children:t.seeds(o).map(r=>({type:t.childType,props:{id:WS(t.childType),...r}}))}:null}var GS=()=>({}),US=new Map;function qN(e){let o=US.get(e);if(o)return o;let t=new Set,r=To[e];if(r)for(let s of r.seeds(GS))for(let i of _d({type:r.childType,props:s}))t.add(i);let a=ls(e);if(a){let s=0;for(let i of _d(a(GS,f=>`${f}-${s+=1}`)))t.add(i)}t.delete(e);let n=[...t].sort();return US.set(e,n),n}function jN(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=Ad(e),t=e.allow?new Set(e.allow):null,r=new Set(e.deny??[]),a=new Set(Object.keys(e.host??{})),n=f=>{if(r.has(f))return!1;if(a.has(f))return!0;let u=_S(f);return!u||!o[u]?!1:t?t.has(f):!0},s=new Map,i=f=>{let u=s.get(f);if(u!==void 0)return u;s.set(f,!1);let p=n(f)&&qN(f).every(i);return s.set(f,p),p};return{sets:o,offers:i}}var KN="block-offer";function Dd(e=ao()){return e.cache(KN,()=>jN(Np(e)))}function $S(e,o=ao()){let t=Dd(o);return t?t.offers(e):!0}function qS(e,o=0){let t=YN(e,o),r=t?Dd():null;return t&&r?VN(t,r):t}function VN(e,o){if(e.spec)return o.offers(e.spec.childType)?e:null;let t=e.choices??[],r=t.filter(a=>o.offers(a.type));return r.length===t.length?e:r.length>0?{...e,choices:r}:null}function YN(e,o){let t=To[e];if(t)return{source:"section",slot:t.slot,choices:null,spec:t};let r=HS(e,o);if(r)return{source:"container",slot:r.slot,choices:r.choices,spec:null};let a=oy(e);return a?{source:"footer",slot:ey,choices:a,spec:null}:null}import{useSyncExternalStore as XN}from"react";var Nd=null,Md=new Set;function jS(e){if(Nd!==e){Nd=e;for(let o of Md)o()}}function ZN(e){return Md.add(e),()=>{Md.delete(e)}}function Hoe(){return XN(ZN,()=>Nd,()=>null)}function KS(e){return Dr(e)?.ownerId??null}function VS(e,o){let t=e.props;if(e.type==="FooterMenu"){let r=t.menu;return t.heading||r?.name||l("Menu")}if(e.type==="FooterText"){let r=typeof t.text=="string"?t.text.trim():"";return r?r.length>28?`${r.slice(0,28)}\u2026`:r:l("Text")}return e.type==="FooterEmailSignup"?t.heading||l("Email signup"):o(e.type)}var YS="sf-editor-left-view";function XS(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(YS);return e==="sections"||e==="styles"||e==="media"?e:"pages"}catch{return"pages"}}function ZS(e){if(!(typeof window>"u"))try{window.localStorage.setItem(YS,e)}catch{}}function QS(e,o,t=!1){return e==="styles"&&!o||e==="media"&&!t?"sections":e}function JS(e,o){return e?"sections":o}var eC="Footer",QN=[De,eC,de],Tr=e=>{let o=e?.content;return Array.isArray(o)?o:[]},Ot=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},_a=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},oC=e=>Dr(e)?.ownerId??"";function tC(e){let o=br(Tr(e)),t=o.some(r=>r?.type===de);return o.filter(r=>r?.type===De||r?.type===de||r?.type===eC&&!t)}function Hd(e,o){let t=new Set,r=a=>{if(Array.isArray(a)){for(let s of a)r(s);return}if(!a||typeof a!="object")return;let n=a;if(typeof n.type=="string"&&n.props&&typeof n.props=="object"){let s=_a(n);s&&t.add(s)}for(let s of Object.values(a))r(s)};if(r(e),o){let a=!0,n=new Set;for(;a;){a=!1;for(let[s,i]of Object.entries(o))n.has(s)||!t.has(oC(s))||(n.add(s),r(i),a=!0)}}return t}function zd(e,o){let t={},r={};for(let[a,n]of Object.entries(e??{}))(o.has(oC(a))?t:r)[a]=n;return{owned:t,rest:r}}function joe(e,o){if(!o)return e;let t=tC(o);if(!t.length)return e;let r=t.filter(i=>i.type===De),a=t.filter(i=>i.type!==De),n={...e,content:[...r,...Tr(e),...a]},{owned:s}=zd(Ot(o),Hd(t,Ot(o)));return Object.keys(s).length&&(n.zones={...Ot(e)??{},...s}),n}function Koe(e,o){if(!o)return{page:e,chrome:null};let t=tC(o),r=new Set(t.map(_a).filter(w=>!!w)),a=[],n=[];for(let w of Tr(e)){let g=_a(w);g&&r.has(g)||gr(w?.type)?n.push(w):a.push(w)}let s=new Map(n.map(w=>[_a(w),w])),i=new Set,f=br(Tr(o)).flatMap(w=>{let g=_a(w);if(!g||!r.has(g))return[w];let y=s.get(g);return y?(i.add(y),[y]):[]});for(let w of n)i.has(w)||f.some(g=>g?.type===w.type)||(f=w.type===De?[w,...f]:[...f,w]);f=br(f);let u=f.length===Tr(o).length&&f.every((w,g)=>w===Tr(o)[g]),p=Ot(e),m=Hd(f,p),{owned:x,rest:h}=zd(p,m),b=zd(Ot(o),Hd(t,Ot(o))).owned,C={...o,content:u?o.content:[...f]},k=Ot(o);if(k||Object.keys(x).length){let w={};for(let[g,y]of Object.entries(k??{}))g in b?g in x&&(w[g]=x[g]):w[g]=y;for(let[g,y]of Object.entries(x))g in w||(w[g]=y);C.zones=w,k&&JN(C.zones,k)&&(C.zones=k)}let v={...e,content:a};return p&&(Object.keys(h).length||!Object.keys(b).length?v.zones=h:delete v.zones),{page:v,chrome:C}}function JN(e,o){let t=Object.keys(e),r=Object.keys(o);return t.length===r.length&&t.every((a,n)=>a===r[n]&&e[a]===o[a])}function rC(e,o){return t=>e(t)||t!==void 0&&QN.includes(t)&&o()}var is=null;function Yoe(e){is=e}function aC(){return!!(is&&is.state().lockHolder)}function Fr(){return is!==null}var eM=new Set(["BookingBox","SubmitBox"]);function oM(e){return typeof e=="string"&&eM.has(e)}var nC=rC(oM,aC);import{Fragment as Gd,jsx as ds,jsxs as vM}from"react/jsx-runtime";import{useMemo as wM,useRef as mC}from"react";import{EaselCanvas as kM,useEaselApi as TM}from"efficient-easel/easel";import{jsx as cC,Fragment as cM,jsxs as dM}from"react/jsx-runtime";import{useEffect as dC,useLayoutEffect as uM}from"react";var fs="data-theme",lC="light";function tM(e){return e.getAttribute(fs)===lC?"light":"dark"}function rM(e,o){return tM(e)===o?!1:(o==="light"?e.setAttribute(fs,lC):e.removeAttribute(fs),!0)}function aM(e){return vs(e).getItem(Is)}function tte(e,o){vs(e).setItem(Is,o)}function nM(e,o,t=new Date().getHours()){return Xd({mode:o.mode,override:aM(e),switchShown:o.switchShown,hour:t})}function sC(e,o){let t=e.documentElement;if(!t)return()=>{};let r=()=>rM(t,nM(e,o));r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[fs]}),()=>n.disconnect()}var lM="style";function sM(e,o){let t=au(o),r=!1;for(let a of ru){let n=t[a]??"";e.style.getPropertyValue(a)!==n&&(n?e.style.setProperty(a,n):e.style.removeProperty(a),r=!0)}return r}function iC(e,o){let t=e.body;if(!t)return()=>{};let r=()=>sM(t,o);r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[lM]}),()=>n.disconnect()}var iM=String.raw`(function (doc) {
18
- if (doc.__sfFitWords) return;
19
- var win = doc.defaultView;
20
- var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
21
- var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1;
22
-
23
- function measure(el) {
24
- var widest = 0, current = 0, last = null, split = false, lastBlock = null;
25
- function blockOf(n) {
26
- for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
27
- var d = win.getComputedStyle(p).display;
28
- if (d.indexOf("inline") !== 0 && d !== "contents") return p;
29
- }
30
- return el;
31
- }
32
- function close() { if (current > widest) widest = current; current = 0; last = null; }
33
- var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
34
- while ((node = walker.nextNode())) {
35
- if (node.nodeType === 1) {
36
- if (node.tagName === "BR" || node.tagName === "WBR") close();
37
- continue;
38
- }
39
- var block = blockOf(node);
40
- if (block !== lastBlock) close();
41
- lastBlock = block;
42
- var re = /(\S+)|(\s+)/g, m;
43
- while ((m = re.exec(node.data))) {
44
- if (m[2]) { close(); continue; }
45
- range.setStart(node, m.index);
46
- range.setEnd(node, m.index + m[0].length);
47
- var rects = range.getClientRects();
48
- for (var i = 0; i < rects.length; i++) {
49
- var r = rects[i];
50
- if (r.width <= 0) continue;
51
- current += r.width;
52
- if (last && r.top > last.top + last.height / 2) split = true;
53
- last = r;
54
- }
55
- }
56
- }
57
- close();
58
- return { widest: widest, split: split };
59
- }
60
-
61
- function lineWidth(el) {
62
- var cs = win.getComputedStyle(el);
63
- return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
64
- - parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
65
- }
66
-
67
- // ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
68
- // runs before React hydrates, and React 19 in development reports ANY
69
- // attribute that differs from what it rendered ("a tree hydrated but some
70
- // attributes didn't match"): first our inline font-size on the hero (which
71
- // React owns via --heading-size), then, when that moved to a data-sf-fit
72
- // attribute, the attribute itself. So the fitted size lives only in this
73
- // script's own stylesheet, in <head>, addressed to each heading by its
74
- // POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
75
- // structure changes, so the rules are rewritten in the MutationObserver
76
- // callback, which runs before the next paint. !important so the size also
77
- // beats a part's own inline size.
78
- var head = doc.head || doc.documentElement;
79
- var fitEl = doc.createElement("style");
80
- fitEl.id = "storefront-fit-words-sizes";
81
- head.appendChild(fitEl);
82
- var fitted = new Map(); // heading -> fitted size, e.g. "43.8px"
83
-
84
- function pathOf(el) {
85
- var parts = [];
86
- for (var e = el; e && e.parentElement; e = e.parentElement) {
87
- var i = 1, s = e;
88
- while ((s = s.previousElementSibling)) i++;
89
- parts.unshift("*:nth-child(" + i + ")");
90
- }
91
- return ":root>" + parts.join(">");
92
- }
93
- function writeRules() {
94
- var css = "";
95
- fitted.forEach(function (size, el) {
96
- if (!el.isConnected) { fitted.delete(el); return; }
97
- css += pathOf(el) + "{font-size:" + size + " !important}";
98
- });
99
- if (fitEl.textContent !== css) fitEl.textContent = css;
100
- }
101
-
102
- function unfit(el) {
103
- if (fitted.delete(el)) writeRules();
104
- }
105
-
106
- function fits(el) {
107
- var m = measure(el);
108
- return !m.split && m.widest <= lineWidth(el) + SLACK;
109
- }
110
-
111
- function fit(el) {
112
- unfit(el);
113
- if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
114
- if (fits(el)) return;
115
- var set = parseFloat(win.getComputedStyle(el).fontSize);
116
- if (!set) return;
117
- var floor = Math.max(set * MIN_SCALE, MIN_PX);
118
- if (floor >= set) return;
119
- function size(px) { return Math.floor(px * 10) / 10 + "px"; }
120
- // The SEARCH tries sizes on the element's own style and then puts that
121
- // attribute back byte for byte (or removes it, if it had none), so nothing
122
- // is left for React to see. A trial in a stylesheet instead restyles the
123
- // whole page per step: a full pass on the Hartes home took 75–160ms at 4x
124
- // CPU that way.
125
- var hadStyle = el.hasAttribute("style"), origStyle = el.getAttribute("style");
126
- function attempt(px) { el.style.setProperty("font-size", size(px), "important"); }
127
- function done() { if (hadStyle) el.setAttribute("style", origStyle); else el.removeAttribute("style"); }
128
- attempt(floor);
129
- if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
130
- var lo = floor, hi = set;
131
- for (var i = 0; i < 8; i++) {
132
- var mid = (lo + hi) / 2;
133
- attempt(mid);
134
- if (fits(el)) lo = mid; else hi = mid;
135
- }
136
- done();
137
- fitted.set(el, size(lo));
138
- writeRules();
139
- }
140
-
141
- // What each heading measured right after we last fitted it, so the
142
- // ResizeObserver below can tell a real change (a font swap, a rotate, a
143
- // container that moved) from the size change our own write just caused.
144
- var seen = new WeakMap();
145
- function remember(el) {
146
- var b = el.getBoundingClientRect();
147
- seen.set(el, b.width + "x" + b.height);
148
- }
149
- function fitAndRemember(el) { fit(el); remember(el); }
150
-
151
- // ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
152
- // WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
153
- // fitted heading, and fonts.ready resolves only after that frame is painted —
154
- // measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
155
- // reported here is fitted in the same frame, so the broken state is never
156
- // drawn. It also covers a container that resizes.
157
- var ro = new win.ResizeObserver(function (entries) {
158
- for (var i = 0; i < entries.length; i++) {
159
- var el = entries[i].target;
160
- var b = el.getBoundingClientRect();
161
- if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
162
- fitAndRemember(el);
163
- }
164
- });
165
- // Its own set, not seen: fitAndRemember has written seen by the
166
- // time watch runs, so a seen test observed no heading at all, and a
167
- // heading fitted in the fallback face was never fitted again when the web
168
- // font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
169
- var watched = new WeakSet();
170
- function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
171
-
172
- function fitAll() {
173
- var els = doc.querySelectorAll(SELECTOR);
174
- for (var i = 0; i < els.length; i++) { fitAndRemember(els[i]); watch(els[i]); }
175
- }
176
-
177
- var queued = 0, all = false, touched = new Set();
178
- function run() {
179
- queued = 0;
180
- if (all) { all = false; touched.clear(); fitAll(); return; }
181
- var els = Array.from(touched);
182
- touched.clear();
183
- for (var i = 0; i < els.length; i++) if (els[i].isConnected) { fitAndRemember(els[i]); watch(els[i]); }
184
- }
185
- function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
186
- function scheduleAll() { all = true; schedule(); }
187
-
188
- fitAll();
189
- // A backstop only: a font that changes widths without changing any
190
- // heading's box is not seen by the ResizeObserver.
191
- if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
192
-
193
- // …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
194
- // heading sized to its own text (fit-content, a flex item) keeps the SAME box
195
- // when the phone turns to 844, so nothing reports a change and it would stay
196
- // shrunk. The probe's rotate check caught exactly that.
197
- var lastWidth = win.innerWidth;
198
- function onResize() {
199
- if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
200
- lastWidth = win.innerWidth;
201
- scheduleAll();
202
- }
203
- win.addEventListener("resize", onResize);
204
-
205
- var mo = new win.MutationObserver(function (records) {
206
- // Positions first: a node added or removed anywhere can shift the
207
- // nth-child path of a fitted heading, and this callback runs before paint.
208
- if (fitted.size) {
209
- for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
210
- }
211
- for (var i = 0; i < records.length; i++) {
212
- var r = records[i];
213
- var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
214
- var own = target && target.closest(SELECTOR);
215
- if (own) touched.add(own);
216
- for (var j = 0; j < r.addedNodes.length; j++) {
217
- var n = r.addedNodes[j];
218
- if (n.nodeType !== 1) continue;
219
- if (n.matches(SELECTOR)) touched.add(n);
220
- var inner = n.querySelectorAll(SELECTOR);
221
- for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
222
- }
223
- }
224
- if (touched.size) schedule();
225
- });
226
- mo.observe(doc.body, { childList: true, subtree: true, characterData: true });
227
-
228
- doc.__sfFitWords = function stop() {
229
- win.removeEventListener("resize", onResize);
230
- ro.disconnect();
231
- mo.disconnect();
232
- if (queued) win.cancelAnimationFrame(queued);
233
- fitted.clear();
234
- fitEl.remove();
235
- delete doc.__sfFitWords;
236
- };
237
- // For the probe and for debugging: which headings are fitted, at what size,
238
- // and the sheet that holds it (disable it to read a heading's set size).
239
- doc.__sfFitWords.fitted = fitted;
240
- doc.__sfFitWords.sheet = fitEl;
241
- })(document);`,fM="storefront-fit-words";function fC(e){let o=e.createElement("script");return o.id=fM,o.textContent=iM,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var pM=`
242
- [${io}][${io}] { cursor: text; }
243
- [${Ke}][${Ke}][${Ke}] {
244
- outline: 1px solid ${ga.accent};
245
- outline-offset: 2px;
246
- }
247
- [${Ke}][${Ke}]:has([${Ke}]),
248
- [data-puck-overlay-portal][data-puck-overlay-portal]:has([${Ke}]) {
249
- outline: none;
250
- }
251
- [${Ke}][${Ke}][${Ke}][data-es-typing],
252
- [data-es-typing] [${Ke}][${Ke}][${Ke}] {
253
- outline: none;
254
- }
255
- `;function uC({children:e,document:o}){let{theme:t,themeMode:r,themeSwitchShown:a}=X(),n=Qe(t);return dC(()=>{if(o)return sC(o,{mode:r,switchShown:a})},[o,r,a]),dC(()=>{if(o)return iC(o,n)},[o,n]),uM(()=>{if(o)return fC(o)},[o]),dM(cM,{children:[cC(Bu,{}),cC("style",{children:pM}),e]})}import{jsx as Wd}from"react/jsx-runtime";import{useEffect as mM,useState as xM}from"react";import{Banner as IM}from"efficient-shell/ui";var cs={load:"The header and footer could not load. They are hidden for now and nothing in them is saved. Reload to try again.",lock:"{name} is editing the header and footer. Nothing you change in them here is saved.",conflict:"The header and footer were changed somewhere else. Nothing you change in them here is saved. Reload to get the latest.",save:"The header and footer did not save. They are sent again with your next change."},hM=cs.load,gM=cs.lock,bM=cs.conflict,yM=cs.save;function SM(e){return e?e.loadFailed?l(hM):e.lockHolder?l(gM,{name:e.lockHolder.name||l("Somebody else")}):e.conflict?l(bM):e.saveFailed?l(yM):null:null}function CM({report:e}){let o=SM(rs(e)),[t,r]=xM(null);return mM(()=>{o||r(null)},[o]),!o||t===o?null:Wd("aside",{className:"sf-canvas-notice",children:Wd(IM,{tone:"warning",onDismiss:()=>r(o),children:o})})}function pC(){return Wd(CM,{report:as()})}import{usePreviewParts as xC}from"efficient-easel/draw/client";function FM({children:e,componentId:o}){let{selectedPartId:t}=xC();return kI(t,o)?ds(Gd,{}):ds(Gd,{children:e})}function IC(e){let{mirrorHostStyles:o}=Ps(),t=Du(),r=mC(null),a=EM(r),{onDocument:n}=e,s=i=>{r.current=i,n?.(i)};return vM(Gd,{children:[ds(pC,{}),ds(kM,{...e,onDocument:s,typing:a,metadata:e.metadata??t,height:"fill",mirrorStyles:o,frameWrapper:uC,overlay:FM})]})}function EM(e){let o=TM(),t=qo(),r=xC(),a=mC({ops:t,parts:r});return a.current={ops:t,parts:r},wM(()=>{let n={getItemById:i=>o.getState().getItemById(i),getSelectorForId:i=>o.getState().getSelectorForId(i),get components(){return o.getState().config.components},replace:(i,f,u)=>a.current.ops.replaceComponent(i,f,u)},s=(i,f)=>{let u=vb(i,n);if(!u)return null;let p=f,m=()=>(p=wb(p,p?.ownerDocument??e.current,i),p),x=m();return x?{element:m,value:u.value,rules:u.rules,multiline:u.multiline,write:u.write,toolbar:{offered:u.offered,colors:u.offered.length>0?Dl(Ab(x)):void 0}}:null};return{at:i=>{let f=i.closest(`[${io}]`),u=f?.getAttribute(io);return f&&u?s(u,f):null},atSelection:()=>{let i=a.current.parts.selectedPartId;return i?s(i,null):null},onChange:i=>{if(!i.typing){$c(null);return}let f=i.element.closest(`[${io}]`)?.getAttribute(io)??null;$c(f),f&&a.current.parts.selectedPartId!==f&&a.current.parts.select(f)}}},[o,e])}var hC={Hero:"Full-screen opener with rotating slides.",HeroSingle:"Full-screen image or video with a headline.",IntroBleed:"Full-bleed intro image the next section scrolls over.",Collections:"Product collections in a tidy grid.",AlloyWheelsListing:"A full product-listing page: filter rail, sortable card grid and pagination, from the live catalog. Choose which product types it shows.",CatalogFilterBar:"Filters the collection grids below it \u2014 a sticky row of Pills (the default), or Columns, one per filter you switch on.",ProductGrid:"Hand-picked products in a tidy grid.",FitmentFinder:"A vehicle picker \u2014 make, model, year and trim resolve the OEM stock fitment live.",Gallery:"Two image galleries with tabs and filters.",GalleryB:"Customer photos in a card grid with a click-to-open lightbox.",SpecStrip:"A thin one-line spec strip \u2014 small-caps items spread across the width, as a dark band or a bare hairline row.",ProductHero:"A product hero \u2014 image beside price, bullets and a buy button.",SpecTable:"A spec sheet \u2014 labeled rows of product specifications.",ProcessSteps:"A heading over columns of image, title, blurb and specs.",DetailRows:"Repeating full-width rows \u2014 eyebrow, title and copy beside a numbered close-up image, alternating sides each row.",FitmentTable:"A fitment table \u2014 per-size bolt patterns, offsets and load ratings, filterable by diameter.",CompatibleTyres:"The current product's compatible tyres \u2014 image, size, key specs and price per tyre, with an inquiry link. Display only.",RelatedProducts:"The current product's related items in a tidy row \u2014 the product page's built-in 'Pair with' cross-sell.",OrderSummary:"A display order-summary panel \u2014 items, totals and a note.",DeliveryOptions:"Delivery tiers as cards \u2014 name, window and price, one highlighted.",PaymentBadges:"A payment-methods trust strip with reassurance lines.",CheckoutCTA:"A centered 'ready to order?' headline with the checkout button.",Manifesto:"A bold brand statement beside a full-height image, with a stat strip.",ParagraphsA:"An editorial text panel with a stat strip and founders' note.",StatsParagraph:"An editorial heading and paragraph over a row of theme-color-accented stat cards.",Chart:"A titled chart \u2014 bars, line or donut \u2014 drawn from your own labeled data points.",Mockup:"A headline beside a stylized product-UI mockup card \u2014 spec sheet, fitment, portal, kanban and more.",Prose:"A plain editorial text section \u2014 eyebrow, heading and body copy.",Timeline:"An editorial aside beside a rail-marked timeline of dated entries.",TimelineTrack:"A horizontal year track of milestones \u2014 company history or roadmap.",Footprint:"A world map of your locations with a legend \u2014 designed here, sold worldwide.",TitleWithButtons:"A big headline beside a stack of call-to-action buttons.",Split:"Side-by-side image and text in two columns.",Cards:"A heading over a grid of free-text title-and-blurb cards.",FAQ:"A frequently-asked-questions accordion with a header.",Testimonials:"Customer quotes in a grid \u2014 the quote, a name and a role.",Masthead:"A journal issue header with a lead statement and contents.",Breadcrumb:"A slim trail showing where the reader is (Home / Journal\u2026).",CategoryBar:"A sticky row of category tabs with counts and links.",FeaturedCover:"A featured article \u2014 big cover image beside a headline and dek.",LongRead:"A long-form article spread with a pull-quote and cover image.",Series:"A section heading over a grid of column cards.",Subscribe:"A newsletter signup beside a list of recent issues.",SubscribeBlogs:"A newsletter signup beside your latest blog posts, pulled live.",Events:"Latest journal posts in a three-card row.",DocMasthead:"A document header \u2014 headline, metadata and standfirst.",DocTabs:"A sticky tab bar to switch between documents.",DocBody:"Long-form document body with an 'On this page' contents list.",DocMetaCards:"A three-up meta strip for the foot of a document.",Banner:"Wide promo strip with background image.",Stats:"Highlight key numbers \u2014 years, designs.",Countdown:"Hours, minutes and seconds to a set date and time, then one line.",KeyFeatures:"A theme-color chip and heading over a grid of short feature labels.",Logos:"A row of partner or brand logos.",Ticker:"A scrolling marquee of short phrases, full width.",Reviews:"Approved customer reviews in a star-rated card grid, pulled live.",SubmitBuild:"A 'Show us yours.' headline with a photo-submission form.",ReviewForm:"A write-a-review form \u2014 submissions wait for your approval before they show.",ContactRouting:"Pick who to reach, then a form that routes the message.",ContactLocations:"Your locations as a city gallery plus address and map cards.",SectionHeader:"A numbered section title with optional link.",Grid:"Multi-column container for blocks.",Flex:"An empty section. Add whatever you want inside.",Spacer:"Vertical breathing room between sections.",Divider:"A thin horizontal rule between sections.",CustomHTML:"Drop in your own sanitized HTML.",Heading:"A single heading line.",Text:"A paragraph of body copy.",ImageBlock:"A standalone image, at the width you set.",ButtonBlock:"A call-to-action button."};var PM="Save your page changes first";function gC(e){return e.hasTrustedConsole?e.canCreatePlatformTemplate?!e.capabilities.canPublish||!e.capabilities.hasSiteSettings?{visible:!1,hiddenReason:"not-a-site-page"}:e.siteId?e.hasUnsavedEdits?{visible:!0,enabled:!1,disabledReason:PM}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var bC="storefront-editor:save-as-template";var LM="plain",yC=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],OM="line",RM={KeyFeatures:"filled"};function Da(e){return RM[e]??LM}function Nte(e,o){return Je(yC,Da(o),e)}function Mte(e){return Je(yC,OM,e)}var AM="inline",BM=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var tt={ProductGrid:{num:"num",title:"title",description:"description",headRows:["num","title","titleSize","description","linkText","linkHref"],renderer:"ProductGridSection",padKey:"padTop",linkProp:"link"},TyreSizes:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreSizes"},FitmentFinder:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentFinder"},TyreFitment:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreFitment"},BundleOffer:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicBundleOffer"},CompatibleTyres:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},RelatedProducts:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},SpecTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"SpecTable"},FAQ:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"FAQ"},GalleryB:{num:"num",title:"title",headRows:["num","title","linkText","linkHref"],renderer:"GalleryGrid"},FitmentTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentTable"},Events:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"Events"},ProcessSteps:{num:"num",title:"title",description:"description",headRows:["num","title","description"],headStyle:"editorial",renderer:"ProcessSteps",padKey:"padTop"},LongRead:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"LongRead"},Series:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"Series"},TimelineTrack:{num:"eyebrow",title:"title",description:"intro",headRows:["eyebrow","title","intro"],headStyle:"editorial",renderer:"TimelineTrack",padKey:"padTop"},StatsParagraph:{num:"eyebrow",title:"title",description:"desc",headRows:["eyebrow","title","desc"],headStyle:"editorial",renderer:"StatsParagraph"},Footprint:{num:"sectionNumber",title:"heading",description:"tagline",headRows:["sectionNumber","heading","tagline"],headStyle:"editorial",renderer:"Footprint",padKey:"padTop"},Collections:{num:"eyebrow",title:"heading",headRows:["eyebrow","heading"],renderer:"Collections"},Cards:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Cards"},Testimonials:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Testimonials"},Reviews:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Reviews"},Prose:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"essay",renderer:"Prose"},ReviewForm:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"simple",renderer:"ReviewForm"},DeliveryOptions:{num:"eyebrow",title:"title",description:"body",headRows:["eyebrow","title","body"],headStyle:"natural",headRowGap:"gap-3",headDescriptionSize:"text-[15px]",renderer:"DeliveryOptions"}},Er="SectionHeader";function SC(e){return e in tt}function Gte(e){return Je(BM,AM,e)}var CC=new Set(["Flex"]);function Ute(e){return!!e?.type&&CC.has(e.type)}var _M={not:{context:"parentType",in:[...CC]}};function $te(e,o,t){return yl(e,t,_M)}var DM={not:{field:"headPlacement",is:"own-box"}};function qte(e,o,t){return yl(e,t,DM)}function vC(e,{nodeDefaults:o,newNodeId:t,sectionLabel:r,blockIsOffered:a}){let n=ls(e);return n?n(o,t):SC(e)&&a(ge)&&a(Er)?{type:ge,props:{...o(ge),id:t(ge),direction:"column",name:`${r(e)} section`,content:[{type:Er,props:{...o(Er),id:t(Er),...tt[e]?.headStyle?{headStyle:tt[e].headStyle}:{},...tt[e]?.headRowGap?{rowGap:tt[e].headRowGap}:{},...tt[e]?.headDescriptionSize?{descriptionSize:tt[e].headDescriptionSize}:{},...Da(e)!==Da(Er)?{eyebrowLook:Da(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box"}}]}}:To[e]?.fixed===!0?{type:e,props:{...o(e),id:t(e),layout:"boxes"}}:null}import{useEffect as NM,useState as MM}from"react";function wC(){let e=Be().chrome?.products?.list,[o,t]=MM(null);return NM(()=>{if(!e)return;let r=!1;return e().then(a=>{r||t(a)}),()=>{r=!0}},[e]),o}function LC({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:r}=Il(),a=PC().tree,n=e,s=n.kind==="ticker"?n.heroId:null,i=Na(f=>{f&&(o({kind:"ticker",heroId:f}),lh(f))},[o]);return Fo(()=>{t(s)},[s,t]),Fo(()=>{r(i)},[r,i]),{partRows:(f,{rowClick:u})=>{let p=String(f.props.id);return f.type==="Hero"&&Se(EC,{icon:Se(Tt,{type:"ticker",size:13}),name:l(sa),onSelect:()=>i(p),selected:s===p,rowProps:{onClick:u(()=>i(p))},words:a})}}}function OC({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:r}=hl(),a=PC().tree,{appState:n}=YM(x=>x),s=n.data.content??[],i=HM(s);i.current=s;let f=e,u=ia.find(x=>fa[x]===f.kind),p=u&&"nodeId"in f?ca(String(f.nodeId),u):null,m=Na(x=>{let h=Uh(x);if(!h)return;let b=i.current.findIndex(k=>String(k.props.id)===h.nodeId);if(b<0)return;let C={kind:fa[h.part],nodeId:h.nodeId};o({index:b},C)},[o]);return Fo(()=>{t(p)},[p,t]),Fo(()=>{r(m)},[r,m]),{partRows:(x,{rowClick:h})=>{let b=String(x.props.id),C=Gh(x);if(C.length===0)return null;let k=g=>{let y=ca(b,g.part);return Se(EC,{icon:Se(Tt,{type:g.part==="media"?"heroMedia":"heroImage",size:13}),name:l(g.label),onSelect:()=>m(y),selected:p===y,rowProps:{onClick:h(()=>m(y))},words:a},y)},[v,...w]=C;return us(FC,{children:[k(v),w.length>0&&Se(VM,{children:w.map(k)})]})}}}function RC(e,o){return{partRows:(t,r)=>us(FC,{children:[e.partRows?.(t,r),o.partRows?.(t,r)]})}}function ZM(e){let{adapter:o,capabilities:t,currentSlug:r,siteId:a,docId:n,hasUnsavedEdits:s,bridgeCapabilities:i,notifyParent:f,token:u}=ye(),{hasPreviewLink:p}=t,m=Ue(Be()).preview?.draftLink,x=AS(e.data),h=gC({hasTrustedConsole:!!u,canCreatePlatformTemplate:i.canCreatePlatformTemplate,capabilities:t,siteId:a,hasUnsavedEdits:s}),b=Na(()=>{!a||!r||f(bC,{siteId:a,slug:r})},[f,a,r]),C=vS({pageSlug:r,siteId:a,token:u}),k=o.previewHref?.(r)??C;return{barLead:()=>h.visible&&Se(GM,{side:"bottom",content:h.enabled?l("Save this website as a platform template"):l(h.disabledReason),children:Se("span",{className:"sf-tip-disabled",tabIndex:h.enabled?void 0:0,children:Se(WM,{variant:"secondary",disabled:!h.enabled,onClick:b,rightIcon:Se(KM,{size:15}),children:l("Save as Template")})})}),barTrail:()=>p&&r&&Se(TS,{liveHref:k,pageId:n??null,draftLink:m}),mainAction:x}}function QM(e,o){let{capabilities:t,templateId:r,siteId:a,tokenRef:n,navigate:s}=ye(),{hasSiteTheme:i,explainsSiteSettings:f}=t,u=v=>o.setView(v),[p,m]=zM(rr[0].id),{surface:x,setSurface:h}=Lh(),b=()=>{if(i){u("styles"),o.reveal(),Nf();return}e.show(md),e.reveal(),Nf()},C={id:"pages",label:l("Pages"),icon:Se($M,{}),panel:({onHide:v})=>Se(Ch,{activeSurface:x,onPreviewSurface:h,onNavigate:w=>{h(null),s(r?{kind:"template",id:r,pageSlug:w}:{kind:"page",slug:w,siteId:a??void 0})},onClose:v})},k=[];return!i&&f&&k.push({id:"appearance",label:l("Appearance"),icon:Se(jM,{}),active:e.kind==="website",onSelect:b}),i&&k.push({id:"styles",label:l("Site styles"),icon:Se(qM,{}),panel:({onHide:v,notify:w})=>Se(qy,{tokenRef:n,siteId:a??void 0,onClose:v,onNotify:w,tab:p,onTabChange:m})}),{railLead:[C],railTrail:k,resolveLeftView:(v,w)=>QS(v,i,w),openSettings:b,openStyles:()=>{m(ih),u("styles")}}}function JM(e,o,t,r){let{kind:a,open:n}=e,{selected:s,zoneOf:i}=o;Fo(()=>{jS(s?.type==="BookingBox"&&s.props.region==="confirm"?KS(i(String(s.props.id))):null)},[s?.props.id]);let f=pS(e,o),{capabilities:{hasSiteSettings:u}}=ye(),{setSelected:p,setSelectHandler:m}=X(),{chat:x,setChat:h,setSelected:b,setSelectHandler:C}=xl(),k=a==="header";Fo(()=>{p(k)},[k,p]),Fo(()=>{m(()=>n(pd))},[m,n]);let v=Na(()=>n(_y),[n]),w=a==="chat";Fo(()=>{b(w)},[w,b]),Fo(()=>{C(v)},[C,v]);let{setOpenHandler:g}=la(),y=Na(()=>n(Dy),[n]);Fo(()=>{g(y)},[g,y]);let E=RC(LC(e),OC(e)),F=ZM(o),L=QM(e,r),B=t.device;return{...E,...F,...L,hasOwnRows:O=>O.type===os,ownRows:f.renderLocationTree,sectionPressed:f.sectionPressed,wrap:O=>Se(Ls.Provider,{value:!0,children:Se(XM.Provider,{value:B,children:O})}),addPanelRow:O=>u?us("div",{className:"sf-addside-sitewide",children:[Se("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:Se(Tt,{type:"chat",size:16})}),us("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{O(),v()},children:[l("Live chat"),Se("span",{className:"sf-addside-sitewide-desc",children:l("A chat bubble on every page")})]}),Se(UM,{checked:x.enabled,onChange:M=>h({enabled:M}),ariaLabel:l("Show the chat bubble on the whole site")})]}):void 0}}var kC=null,Ud=new WeakMap;function e2(e){let o=Su();if(!e||!o)return e;kC!==o&&(kC=o,Ud=new WeakMap);let t=Ud.get(e);return t||(t={...e,choices:e.choices?e.choices.map(r=>({...r,label:l(r.label)})):null,spec:e.spec?{...e.spec,addLabel:l(e.spec.addLabel)}:null},Ud.set(e,t)),t}var o2={isLockedBlock:nC,duplicateBlocked:ql,nestDepth:(e,o,t)=>o===en?ep(e,t):0,newSectionNode:vC,canAddTo:(e,o)=>e2(qS(e,o)),blockIsOffered:$S},t2=new Proxy(hC,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?l(t):t}}),r2={labelAtLevel:(e,o,t)=>l(Rd(e,o,t)),descriptions:t2,categoryLabel:e=>{let o=DS(e);return o===void 0?void 0:l(o)},firstSection:NS,blockRowName:VS,plainText:xt,Icon:Tt,Thumbnail:$y,useProducts:wC},a2={desktop:2e3,tablet:800,mobile:390},TC="desktop",n2={options:Th,initial:TC,fluid:TC,widths:a2},l2={read:XS,write:e=>ZS(e),forSelection:(e,o)=>JS(e,o)},s2={first:Ve,last:pe,firstGroup:De,lastGroup:de,isSectionGroup:gr,sectionGroupZone:ty,panelOf:e=>e===Ve?pd:null,get groupTab(){return Fr()?iy:void 0},get groupBadge(){return Fr()?fy():void 0},get changeNotice(){return Fr()?cy():void 0},get band(){return Fr()?i2:void 0},get groupAccepts(){return Fr()?ly:void 0}},i2={foldable:!0};function f2(e){return{...RC(LC(e),OC(e)),openSettings:()=>e.show(md)}}var aae={useOwnerName:nr,useDocumentLabel:ph,useBridges:JM,useStandaloneBridges:f2,useDocumentPass:gS,blockRules:o2,blockLook:r2,devices:n2,leftView:l2,pinned:s2,Canvas:IC,Inspector:My};export{Vee as a,Yee as b,Xee as c,Zee as d,ot as e,Ad as f,soe as g,Ue as h,Np as i,MS as j,coe as k,IK as l,Fg as m,CK as n,Ag as o,vK as p,Bg as q,Dg as r,Hg as s,zg as t,_K as u,DK as v,NK as w,MK as x,BA as y,np as z,VK as A,Za as B,Uv as C,YH as D,dt as E,XH as F,ZH as G,en as H,ep as I,Soe as J,Coe as K,jN as L,Xu as M,Hv as N,WH as O,Xa as P,Zu as Q,zv as R,Wv as S,Gv as T,$H as U,qH as V,jH as W,KH as X,Qf as Y,mO as Z,xO as _,IO as $,yl as aa,Sl as ba,gq as ca,De as da,de as ea,LZ as fa,ry as ga,ay as ha,Je as ia,tt as ja,Gte as ka,Ute as la,$te as ma,qte as na,df as oa,_5 as pa,D5 as qa,Zs as ra,xt as sa,zr as ta,Jn as ua,io as va,Ke as wa,G$ as xa,wP as ya,kP as za,U$ as Aa,er as Ba,$$ as Ca,q$ as Da,Sf as Ea,NI as Fa,tl as Ga,Q$ as Ha,J$ as Ia,e8 as Ja,o8 as Ka,f1 as La,da as Ma,ug as Na,pg as Oa,Tl as Pa,Dj as Qa,Nj as Ra,Mj as Sa,Hj as Ta,cH as Ua,mH as Va,xH as Wa,IH as Xa,_e as Ya,ox as Za,Fz as _a,Tn as $a,YT as ab,Lz as bb,Rz as cb,ZT as db,Az as eb,ax as fb,Ai as gb,Bi as hb,Wz as ib,Uz as jb,$z as kb,qz as lb,jz as mb,Kr as nb,Ni as ob,Mi as pb,mn as qb,im as rb,Ur as sb,dm as tb,v6 as ub,oT as vb,w6 as wb,on as xb,sp as yb,c5 as zb,d5 as Ab,uw as Bb,u5 as Cb,x5 as Db,fp as Eb,I5 as Fb,mw as Gb,h5 as Hb,yT as Ib,hn as Jb,X6 as Kb,Si as Lb,Z6 as Mb,FT as Nb,Q6 as Ob,ez as Pb,oz as Qb,dz as Rb,uz as Sb,pz as Tb,vm as Ub,q6 as Vb,j6 as Wb,K6 as Xb,V6 as Yb,RT as Zb,bn as _b,rz as $b,Rm as ac,c2 as bc,j as cc,l as dc,it as ec,Ab as fc,kl as gc,WY as hc,Ob as ic,Mt as jc,ye as kc,Be as lc,H4 as mc,un as nc,Qp as oc,W4 as pc,WC as qc,GC as rc,ws as sc,jk as tc,i6 as uc,nm as vc,qo as wc,_H as xc,HH as yc,zs as zc,lw as Ac,l5 as Bc,y5 as Cc,ve as Dc,Js as Ec,c3 as Fc,Hr as Gc,Wt as Hc,I3 as Ic,ri as Jc,ai as Kc,R3 as Lc,A3 as Mc,Bp as Nc,B3 as Oc,_3 as Pc,D3 as Qc,Gt as Rc,Wp as Sc,Up as Tc,x6 as Uc,sm as Vc,Le as Wc,wu as Xc,g2 as Yc,qC as Zc,b2 as _c,y2 as $c,Tu as ad,v2 as bd,jC as cd,w2 as dd,k2 as ed,VC as fd,E2 as gd,YC as hd,P2 as id,Nt as jd,O2 as kd,R2 as ld,A2 as md,B2 as nd,qa as od,_2 as pd,QC as qd,G2 as rd,Ou as sd,ev as td,ov as ud,tv as vd,av as wd,nv as xd,lv as yd,Fs as zd,U2 as Ad,fT as Bd,U6 as Cd,nz as Dd,lz as Ed,sz as Fd,iz as Gd,fz as Hd,$m as Id,qT as Jd,xz as Kd,Gm as Ld,Um as Md,Iz as Nd,Sn as Od,Cn as Pd,gz as Qd,jt as Rd,wn as Sd,Sz as Td,Cz as Ud,vz as Vd,Jm as Wd,kz as Xd,Qo as Yd,Do as Zd,Ui as _d,vo as $d,aG as ae,nG as be,lG as ce,sG as de,dG as ee,uG as fe,xF as ge,pG as he,mG as ie,xG as je,yF as ke,IG as le,hG as me,gG as ne,He as oe,bG as pe,vF as qe,yG as re,SG as se,Zt as te,CG as ue,Rn as ve,Kt as we,vG as xe,Hx as ye,Bn as ze,_n as Ae,wG as Be,kG as Ce,TG as De,FG as Ee,EG as Fe,PG as Ge,LG as He,OG as Ie,RG as Je,AG as Ke,BG as Le,_G as Me,Dn as Ne,Nn as Oe,Mn as Pe,Ki as Qe,Hn as Re,DG as Se,yt as Te,NG as Ue,MG as Ve,HG as We,zG as Xe,WG as Ye,GG as Ze,UG as _e,$G as $e,Zo as af,qG as bf,jG as cf,zn as df,KG as ef,Vi as ff,VG as gf,YG as hf,Yi as if,XG as jf,jx as kf,Kx as lf,Vx as mf,ZG as nf,fE as of,QG as pf,JG as qf,Ye as rf,yr as sf,mD as tf,by as uf,aQ as vf,nQ as wf,lQ as xf,sQ as yf,iQ as zf,fQ as Af,cQ as Bf,dQ as Cf,uQ as Df,pQ as Ef,mQ as Ff,gl as Gf,tO as Hf,lq as If,sq as Jf,lO as Kf,iO as Lf,Oh as Mf,uO as Nf,uq as Of,pq as Pf,Ah as Qf,mq as Rf,_h as Sf,Bh as Tf,kq as Uf,ml as Vf,N7 as Wf,M7 as Xf,xl as Yf,VL as Zf,V7 as _f,la as $f,Q7 as ag,Lh as bg,Nee as cg,Mee as dg,Hee as eg,zee as fg,joe as gg,Koe as hg,Yoe as ig,oq as jg,aq as kg,hl as lg,OJ as mg,jy as ng,Ky as og,eH as pg,s8 as qg,i8 as rg,f8 as sg,c8 as tg,Wf as ug,Gf as vg,Mh as wg,Fq as xg,Hh as yg,bO as zg,Jf as Ag,Oq as Bg,Rq as Cg,yO as Dg,Aq as Eg,ca as Fg,Uh as Gg,Bq as Hg,qh as Ig,mj as Jg,Qh as Kg,kc as Lg,Tc as Mg,zR as Ng,WR as Og,Fc as Pg,$R as Qg,ma as Rg,El as Sg,jj as Tg,Rc as Ug,oK as Vg,tK as Wg,rK as Xg,wg as Yg,WA as Zg,GA as _g,UA as $g,oV as ah,tV as bh,XA as ch,QA as dh,eb as eh,cV as fh,dV as gh,sb as hh,hV as ih,ga as jh,cb as kh,Mc as lh,db as mh,ub as nh,CV as oh,pb as ph,pB as qh,vV as rh,wV as sh,kV as th,TV as uh,mB as vh,FV as wh,EV as xh,PV as yh,IB as zh,LV as Ah,bB as Bh,OV as Ch,zc as Dh,eY as Eh,Ml as Fh,YY as Gh,i_ as Hh,Mb as Ih,f_ as Jh,va as Kh,c_ as Lh,d_ as Mh,tX as Nh,Ub as Oh,KX as Ph,VX as Qh,pe as Rh,$l as Sh,uo as Th,Zy as Uh,Qy as Vh,_J as Wh,Ra as Xh,Jy as Yh,eS as Zh,MJ as _h,HJ as $h,dN as ai,bS as bi,Td as ci,yS as di,qS as ei,Hoe as fi,fs as gi,tM as hi,rM as ii,tte as ji,K2 as ki,Z2 as li,LM as mi,yC as ni,OM as oi,Da as pi,Nte as qi,Mte as ri,aae as si};