efficient-storefront-blocks 0.47.0 → 0.48.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{A as $o,B as At,Ba as Ga,C as Bt,Ca as pu,Da as mu,E as Jd,H as Rr,J as eu,K as xs,M as ou,N as tu,P as ru,Q as Is,S as au,T as to,U as lt,V as nu,W as Io,X as Wa,Z as lu,_ as hs,a as $d,ba as su,c as qd,ca as gs,d as no,e as Ot,ea as bs,f as Eo,g as za,h as Vd,ia as iu,l as Or,n as ps,oa as st,qa as fu,s as Yd,sa as cu,t as Xd,u as ms,ua as du,v as Qe,w as Zd,x as Qd,y as Rt,ya as Z,z as xo,za as uu}from"./chunk-OUTUANSR.js";import{a as Ud,c as ao,l as jd,m as Lr,n as Kd,q as xu,u as ys}from"./chunk-64T5EISP.js";var Ua=null,LC="en",hu=null;function KM(e,o,t){Ua=e??null,LC=o||"en",hu=t??null}function j(){return hu}function gu(){return Ua}function Iu(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 Iu(e,o)}return Iu(typeof t=="string"&&t?t:e,o)}function it(e,o,t,r){return l(t===1?e:o,{...r,n:t})}import{EaselSessionProvider as XM,useEaselSession as Ae}from"efficient-easel/screen/lib/session-context";import{hostLoadRefusalOf as OC,hostUnreachableMessage as RC,isBackendError as AC,provideHostFailures as BC,readHostFailure as _C,STATUS_UNREACHABLE as DC,WebsiteBackendError as Ss}from"efficient-easel/screen/lib/backend-error";import{createEaselHost as r2,DETACHED_EASEL_HOST as a2,EaselHostContext as n2,EaselHostProvider as l2,useEaselHost as _t}from"efficient-easel/screen/lib/host";function Me(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 bu(e,o){return typeof e=="number"&&Number.isFinite(e)?e:o}function yu(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:Me(r?.text,"")).map(r=>r.trim()).filter(Boolean);return t.length?t:o}var Su="cart-drawer",c2="cart-drawer";var NC={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 d2(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function u2(e){let o=e??{},t=NC;return{kickerBadge:Me(o.kickerBadge,t.kickerBadge),kickerText:Me(o.kickerText,t.kickerText),titleLead:Me(o.titleLead,t.titleLead),titleAccent:Me(o.titleAccent,t.titleAccent),subtitleEmpty:Me(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:Me(o.subtitleOne,t.subtitleOne),subtitleMany:Me(o.subtitleMany,t.subtitleMany),leadTimeValue:Me(o.leadTimeValue,t.leadTimeValue),shipsToFallback:Me(o.shipsToFallback,t.shipsToFallback),promises:$a(o.promises,t.promises),emptyKicker:Me(o.emptyKicker,t.emptyKicker),emptyBody:Me(o.emptyBody,t.emptyBody)}}var MC=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],x2={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"},HC={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"},I2={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 zC(e){return typeof e=="string"&&Eo.includes(e)?e:null}function Cu(e){let o={};for(let t of MC){let r=zC(e[HC[t]]);r&&(o[t]=r)}return o}var Dt="site-footer";var g2=Dt,b2={desktop:!0,tablet:!0,mobile:!0},y2={desktop:!1,tablet:!1,mobile:!1},Cs=1,vu=6,S2=Array.from({length:vu-Cs+1},(e,o)=>Cs+o),qa={desktop:6,tablet:3,mobile:2},WC={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),Cs),vu);function C2(e){if(typeof e=="number")return WC[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 GC="subscribe-popup",E2="subscribe-popup";var UC=[GC,Dt,Su];function Tu(e){return UC.includes(e)}var $C=["delay","scroll","exit"],qC=["all","chosen"],jC=["visit","days","never"],KC=["right","left"],VC={min:0,max:60},YC={min:10,max:90},XC={min:1,max:90},ws={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:{}},he=Me,ZC=bu,wu=yu,Fu=$a;function ja(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function vs(e,o,t){let r=ZC(e,t);return Math.min(o.max,Math.max(o.min,Math.round(r)))}function QC(e){return typeof e.hideAfter=="string"?ja(jC,e.hideAfter,ws.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":ws.hideAfter}function JC(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function ku(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 ev(e,o){return Array.isArray(e)?Fu(e,[]):o}function ov(e,o){return Array.isArray(e)?e.map(t=>{let r=t??{};return{label:he(r.label,""),value:he(r.value,"")}}).filter(t=>t.label||t.value):o}function P2(e){let o=e??{},t=ws;return{metaLabel:he(o.metaLabel,t.metaLabel),issueLabel:ku(o.issueLabel,t.issueLabel),issueNumber:ku(o.issueNumber,t.issueNumber),kicker:he(o.kicker,t.kicker),heading:he(o.heading,t.heading),deck:he(o.deck,t.deck),stats:ov(o.stats,t.stats),formLabel:he(o.formLabel,t.formLabel),formHeading:he(o.formHeading,t.formHeading),formIntro:he(o.formIntro,t.formIntro),firstNameLabel:he(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:he(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:he(o.emailLabel,t.emailLabel),emailPlaceholder:he(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:he(o.interestsLabel,t.interestsLabel),interests:Fu(o.interests,t.interests),frequencyLabel:he(o.frequencyLabel,t.frequencyLabel),frequencies:ev(o.frequencies,t.frequencies),submitText:he(o.submitText,t.submitText),finePrint:he(o.finePrint,t.finePrint),dismissText:he(o.dismissText,t.dismissText),emailInvalidText:he(o.emailInvalidText,t.emailInvalidText),submitErrorText:he(o.submitErrorText,t.submitErrorText),successHeading:he(o.successHeading,t.successHeading),successBody:he(o.successBody,t.successBody),keepBrowsingText:he(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:wu(o.autoOpen,t.autoOpen),autoOpenDelaySec:vs(o.autoOpenDelaySec,VC,t.autoOpenDelaySec),trigger:ja($C,o.trigger,t.trigger),scrollPercent:vs(o.scrollPercent,YC,t.scrollPercent),showOn:ja(qC,o.showOn,t.showOn),showOnPages:JC(o.showOnPages),hideAfter:QC(o),hideDays:vs(o.hideDays,XC,t.hideDays),formSide:ja(KC,o.formSide,t.formSide),valuePanelOnPhone:wu(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:Cu(o)}}import{jsx as ks,Fragment as tv,jsxs as rv}from"react/jsx-runtime";import{createContext as av,useContext as nv}from"react";var lv={mirrorHostStyles:!0,css:null,fontHrefs:[]},Eu=av(lv);function A2({value:e,children:o}){return ks(Eu.Provider,{value:e,children:o})}function Ts(){return nv(Eu)}function Pu(){let{css:e,fontHrefs:o}=Ts();return rv(tv,{children:[o.map(t=>ks("link",{rel:"stylesheet",href:t},t)),e?ks("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as sv}from"react/jsx-runtime";import{createContext as iv,useContext as fv}from"react";var Lu=iv(void 0);function N2({metadata:e,children:o}){return sv(Lu.Provider,{value:e,children:o})}var Ou=()=>fv(Lu);import{jsx as ue,Fragment as bC,jsxs as Da}from"react/jsx-runtime";import{useCallback as Na,useEffect as To,useRef as CM,useState as vM}from"react";import{Button as wM,Tooltip as kM}from"efficient-shell/ui";import{SettingsSwitch as TM}from"efficient-easel/panel";import{PagesIcon as FM,StylesIcon as EM}from"efficient-easel/rail";import{TemplateIcon as PM}from"efficient-easel/icons";import{Subtree as LM,TreeRow as yC}from"efficient-easel/tree";import{useEasel as OM}from"efficient-easel/easel";import{useEaselStrings as SC}from"efficient-easel/strings";import{createContext as cv,useContext as dv}from"react";var Fs=cv(!1),z2=()=>dv(Fs);import{jsx as fe,Fragment as ih,jsxs as fl}from"react/jsx-runtime";import{Fragment as iL,useEffect as fL,useId as cL,useMemo as fh,useState as nr}from"react";import{ScreenDocumentContext as Nt,ScreenDocumentProvider as U2,useScreenDocument as Se}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as cl}from"efficient-easel/draw/client";import{default as Ka,PanelHideButton as Es,PanelModeExit as j2,PanelShowStrip as K2}from"efficient-easel/screen/components/SidePanelHead";import{jsx as J,jsxs as Ct,Fragment as rr}from"react/jsx-runtime";import{useEasel as oh}from"efficient-easel/easel";import{useState as Hf}from"react";import{jsx as Zt,jsxs as Vx,Fragment as rE}from"react/jsx-runtime";import{useState as Yx}from"react";import{SettingsDefaultReset as aE,SettingsField as nE}from"efficient-easel/panel";import{useEaselStrings as lE}from"efficient-easel/strings";import{AddIcon as sE}from"efficient-easel/icons";import{jsx as I,jsxs as yt,Fragment as _o}from"react/jsx-runtime";import{cloneElement as ix,useId as J0,useRef as Hi,useState as En}from"react";import{useEasel as Vr,useSelectedFields as fx}from"efficient-easel/easel";import{readHidable as Qo,hidableText as eT}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as zi,LINK_FIELD_MARKER as oT,MEDIA_FIELD_MARKER as tT,SCAFFOLD_FIELD_MARKER as rT,TEXT_FIELD_MARKER as Bo,foldMetaOf as Do,textFieldIdentifier as Nz}from"efficient-easel/draw";import{jsx as Mu}from"react/jsx-runtime";import{useCallback as Iv,useEffect as hv,useRef as gv,useState as bv}from"react";import{useEasel as yv}from"efficient-easel/easel";import{SettingsAction as Sv}from"efficient-easel/panel";function Ps(e){return typeof e=="number"&&Number.isFinite(e)}function X2(e,o){if(!Ps(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=Ar(o)?Br(r,Po(o)??[]):r;return{...t,[uv]:a}}var uv="--sf-section-radius",Va="--sf-card-radius",ct=["tl","tr","br","bl"];function Po(e){if(!Array.isArray(e))return null;let o=e.filter(t=>ct.includes(t));return ct.filter(t=>o.includes(t))}function Ar(e){let o=Po(e);return o!==null&&o.length<ct.length}function Br(e,o){return ct.map(t=>o.includes(t)?e:"0").join(" ")}var Ru=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var pv="--sf-card-box-radius",mv="--sf-site-card-radius",eH="sf-section-bleeds";function Ls(e){return typeof e=="number"&&Number.isFinite(e)}function oH(e,o){if(!Ls(e))return;let t=Wa(Io(e))[Va];if(typeof t!="string")return;let r=Ar(o)?Br(t,Po(o)??[]):t;return{[pv]:r}}function tH(e){let o=e[Va];return typeof o=="string"?{[mv]:o}:{}}function Au(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 xv}from"efficient-easel/draw";function _r(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=_r(t?.zone),a=r?xv(e,o,r.ownerId):null;return a&&r?{...a,slot:r.slot}:null}function Bu(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,c=i?.props?.id?String(i.props.id):"",u=Math.max(n.length-1,0);return!r||!c?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:u}:Ls(i?.props?.cardCorners)?{can:!0,others:u,zone:r.zone,index:r.index,data:{...r.item,props:{...r.item.props,[a]:Au(n,c)}}}:{can:!1,reason:"unset",others:u}}function _u(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 Du(e){return it("Applied to {n} card","Applied to {n} cards",e)}function Nu(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 Cv=2200,vv="apply-corners-to-siblings",wv="Apply to all cards";function kv({plan:e,doneCount:o,onPress:t}){return Mu(Sv,{id:vv,label:l(wv),note:_u(e),disabled:!e.can,done:o!==null,doneLabel:Du(o??0),onPress:t})}function Hu(){let{appState:e,config:o}=yv(c=>c),t=qo(),[r,a]=bv(null),n=gv(null);hv(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Bu(o,e.data.content??[],e.ui.itemSelector),i=Iv(()=>{Nu(s,t.replaceComponent),s.can&&(a(s.others),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>a(null),Cv))},[s,t]);return Mu(kv,{plan:s,doneCount:r,onPress:i})}var zu=1;function Tv(e){return Io(e)}function SH(e){let o=Tv(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var Wu=1,Gu="Corners";function Fv(e){return Io(e)}function kH(e,o){let t=Fv(e);if(t===null)return null;let r=`${t}px`;return{borderRadius:Ar(o)?Br(r,Po(o)??[]):r}}var Lo={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]]}},Os=Object.keys(Lo),$u=[2,3,4,6];function qu(e){return typeof e!="string"||e===""?null:Lo[e]??null}function Uu(e,o){return o?6/e.acrossPhone:12/e.across}var Ev="sf-wall--";function Pv(e){return`${Ev}${e}`}function FH(e){let o=Lo[e],t=`.${Pv(e)}`,r=[],a=(n,s)=>{let i=[],c=n.length;n.forEach(([u,p],m)=>{i.push(`${t} > :nth-child(${c}n+${m+1}){grid-column:span ${u};grid-row:span ${p}}`)});for(let u=1;u<c;u+=1)i.push(`${t}:has(> :nth-child(${c}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,Uu(o,!1))),r.push("@media (max-width:800px){"),r.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),r.push(...a(o.phone,Uu(o,!0))),r.push("}"),r.join("")}var Xa=12,ju=1,Lv=3;var Ov=3;function Rs(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 Rv(e){return Rs(e,1,Xa)??Ov}function LH(e,o){return Rs(e,ju,Lv)??(Rv(o)===4?2:ju)}function OH(e){return e==null||e===""?null:Rs(e,1,Xa)}var RH="data-sf-span";function AH(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(qu(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 Av(e){let o=ho.indexOf(dt(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function Bv(e){return 1+Av(e).band*6}function _H(e){return Bv(e)+1}function dt(e){return ho.includes(e)?e:Za}function DH(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(o)))}function NH(e,o=60){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(30,Math.min(100,Math.round(t)))}function As(e,o){let t=dt(o);return e.filter(r=>dt(r?.props?.placement)===t).length}function Ku(e){return`${Qa[dt(e)]} already holds 4 boxes. Move one somewhere else first.`}function Bs(e,o){let t=e.filter(r=>r?.props?.id!==o);return ho.map(r=>{let a=As(t,r)>=4,n=Qa[r];return a?{value:r,label:n,disabled:!0,title:Ku(r)}:{value:r,label:n}})}function Ja(e,o){let t=o===void 0?Za:dt(o?.props?.placement);return As(e,t)>=4?Ku(t):null}var en="HeroGroup";function _v(e){return ho.map(o=>{let t=As(e,o);return{anchor:o,total:t,hidden:t-4}}).filter(o=>o.hidden>0)}function _s(e){let o=_v(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 Vu(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(Ds(e,r),t):null}function Ds(e,o){let t=Xu(e,o);return t&&t.ownerType===Nv?t.siblings:[]}function Yu(e,o){let t=Xu(e,o);return t?t.ancestorTypes.filter(r=>r===en).length:Dv}var Dv=1,Nv="HeroSlide";function Xu(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 c=i.type,u=r(i,n+1,[...s,String(c)]);if(u)return u}return null}for(let i of Object.values(a)){let c=r(i,n+1,s);if(c)return c}return null};return r(e,0,[])}import{jsx as Mv}from"react/jsx-runtime";var Hv="sf-hint-keep";function Zu({children:e}){return Mv("span",{className:Hv,children:e})}import{AdjustIcon as aT,AlignLeftIcon as nT,EyeIcon as lT,AlignSeparateIcon as sT,AnimationIcon as cx,BackgroundIcon as iT,BorderAllIcon as fT,BlockSectionIcon as cT,CartIcon as dT,ColumnWidthsIcon as dx,ColumnsIcon as uT,CornerIcon as pT,DirectionDownIcon as mT,DirectionLeftIcon as xT,DirectionRightIcon as IT,DirectionUpIcon as hT,DollarIcon as gT,FinishIcon as bT,GapIcon as ux,GridIcon as yT,GroundIcon as ST,HashIcon as px,HeightIcon as CT,ImageIcon as vT,ListIcon as wT,LocationIcon as Mi,PaddingAllIcon as kT,PaddingBottomIcon as mx,PaddingLeftIcon as xx,PaddingRightIcon as Ix,PaddingTopIcon as hx,PageIcon as gx,PhoneIcon as TT,PlacementIcon as FT,ProductSizeIcon as ET,StickyIcon as PT,RotateIcon as LT,SquareIcon as OT,TypeIcon as RT,WidthIcon as AT,WrapIcon as BT}from"efficient-easel/icons";import{jsx as Q,Fragment as go,jsxs as bo}from"react/jsx-runtime";import{TitleIcon as zv,ButtonIcon as Wv,DollarIcon as Gv,HashIcon as Uv,LinkIcon as $v,NoteIcon as qv,TagIcon as jv,TextLinesIcon as Kv}from"efficient-easel/icons";var Qu={body:Kv,button:Wv,link:$v,label:jv,number:Uv,price:Gv,note:qv,title:zv},Ju={eyebrow:bo(go,{children:[Q("path",{d:"M5 6.5h5"}),Q("path",{d:"M5 12.5h14"}),Q("path",{d:"M5 18h11"})]}),heading:bo(go,{children:[Q("path",{d:"M6.5 5v14"}),Q("path",{d:"M17.5 5v14"}),Q("path",{d:"M6.5 12h11"})]}),intro:bo(go,{children:[Q("path",{d:"M4 5.5v13"}),Q("path",{d:"M8 7.5h12"}),Q("path",{d:"M8 12h12"}),Q("path",{d:"M8 16.5h8"})]}),value:bo(go,{children:[Q("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),Q("path",{d:"M6.5 12h7"})]}),name:bo(go,{children:[Q("path",{d:"M6 3.5v17"}),Q("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:bo(go,{children:[Q("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),Q("path",{d:"M4 10.5h16"}),Q("path",{d:"M9 3.2v4.4"}),Q("path",{d:"M15 3.2v4.4"})]}),caption:bo(go,{children:[Q("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),Q("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),Q("path",{d:"M6.5 19.5h11"})]}),quote:bo(go,{children:[Q("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),Q("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:bo(go,{children:[Q("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),Q("path",{d:"M8 9.5h8"}),Q("path",{d:"M12 9.5v5"})]}),meta:bo(go,{children:[Q("path",{d:"M4 7h16"}),Q("path",{d:"M4 14h3.5"}),Q("path",{d:"M10.5 14h3"}),Q("path",{d:"M17 14h3"})]})};function Ns({noun:e,size:o=14,strokeWidth:t=1.8,className:r,style:a}){let n=Qu[e];return n?Q("span",{className:r,style:{display:"inline-flex",...a},"aria-hidden":"true",children:Q(n,{size:o})}):Q("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:Ju[e]})}var UH=Object.keys(Qu);var $H=Object.keys(Ju);var Vv="#ffffff",Yv=/^#[0-9a-fA-F]{6}$/;function Ms(e){return Xv(e)?e:Vv}function Xv(e){return typeof e=="string"&&Yv.test(e)}function jH(e){return{"--bg":Ms(e)}}var Hs=[{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}],Zv=Hs.filter(e=>e.ink);function Qv(e){let o={color:e.fg};for(let{role:t,token:r}of Zv)o[r]=e[t];return o}var Jv={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},ep=Object.freeze(Qv(Jv));var on=-1,ew="sf-section-accent",op="Color",tp=new Set(["CategoryBar","DocTabs"]),XH=new Set(["Flex"]),ow=0;function zs(e){return e===on?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:ow}function ZH(e){return e??on}function tw(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 Hs)t[`--sf-sec-${r}`]=`var(${o}-${r}, var(--theme-${r}))`;return t}function QH(e){let o=zs(e.sectionAccent);return o===null?null:{className:ew,style:tw(o)}}var rw=["fade","rise","scale"],Ws="none",rp=[{label:"None",value:Ws},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function o5(e){return rw.includes(e)?e:null}var ap="data-sf-anim",Dr="data-sf-anim-state";function t5(e){let o=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(ap))return o;let t=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<t)return o;e.setAttribute(Dr,"armed");let r=new IntersectionObserver(a=>{for(let n of a)if(n.isIntersecting){r.disconnect(),aw(e);break}},{threshold:0});return r.observe(e),()=>{r.disconnect(),e.removeAttribute(Dr)}}function aw(e){if(!e.getAttribute(ap))return;e.removeAttribute(Dr),e.offsetWidth,e.setAttribute(Dr,"play");let o=t=>{t.target===e&&(e.removeAttribute(Dr),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}var r5=tp;function Us(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(Gs(r,o,0))return a??{}}return null}function Gs(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(a=>Gs(a,o,t+1));let r=e.props;return r&&typeof r=="object"&&r.id===o?!0:Object.values(e).some(a=>Gs(a,o,t+1))}import{SettingsDefaultReset as qe,SettingsField as ne,SettingsGroupHead as _T,SettingsGroupSub as DT,SettingsBorder as NT,SettingsSegmented as MT,SettingsSides as HT,SettingsSidesEach as bx,sidesStartEach as zT,SettingsSwitch as yx,borderSides as WT,borderStartEach as GT}from"efficient-easel/panel";import{FieldSelect as UT,ListField as $T}from"efficient-easel/fields";import{DisplayChips as qT}from"efficient-shell/ui";function Mt(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 Mt(e)[o]!==!1}function $s(e,o,t){let r=Mt(o)[t];return typeof r=="boolean"?r:tn(e,t)}function np(e){return Object.values(Mt(e)).some(o=>o===!1)}function lp(e){return Object.keys(Mt(e)).length>0}function sp(e,o,t){let r={...Mt(e)};return t?delete r[o]:r[o]=!1,Object.keys(r).length?r:void 0}function ip(e,o,t){return{...Mt(e),[o]:t}}function l5(e,o,t){let r=tn(e,t),a=$s(e,o,t);return r&&a?"":!r&&!a?"hidden":r?"max-[720px]:hidden":"min-[720px]:hidden"}import{AlignmentGrid as jT,Checkbox as tW,CornersInput as KT,DateTimePicker as VT,FOCAL_DEFAULT as rW,PictureTiles as Sx,Slider as YT,Tooltip as Cx}from"efficient-shell/ui";import{jsx as Nr,jsxs as lw}from"react/jsx-runtime";import{ColorPicker as sw,HexInput as iw}from"efficient-shell/ui";import{typedHex as qs}from"efficient-easel/pick";import{typedHex as nw}from"efficient-easel/pick";function fp(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 c=i?nw(i):null;!c||o.has(c)||(o.add(c),t.push({name:s,value:c}))}}),t}function Je({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,after:s,ariaLabel:i}){return Nr(cw,{value:e,onChange:o,label:l(i??t),id:r,caption:a,inherited:n,after:s})}function fw(){let{theme:e}=Z();return fp(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=fw(),c=e?null:qs(n??""),u=a!==void 0&&(!e||qs(a)!==qs(e))?a:null,p=m=>{m!==e&&o(m)};return lw("div",{className:"sf-colour",children:[Nr(sw,{id:r,value:e,onChange:p,label:t,presets:i,fallback:c??void 0,size:"sm",align:"end"}),u!==null?Nr("span",{className:"sf-colour-caption",children:u}):Nr("span",{className:"sf-colour-hexwrap",children:Nr(iw,{value:e||c||"",onChange:p,label:l("{label} hex code",{label:t}),placeholder:e||c?void 0:l("Not set"),className:c?"sf-colour-hex is-inherited":"sf-colour-hex",size:"sm"})}),s]})}import{jsx as Mr}from"react/jsx-runtime";import{useEffect as Rw,useState as Aw}from"react";import{markSelection as Bw,useCaretEdit as _w}from"efficient-easel/copy";import{RevertIcon as Dw}from"efficient-easel/icons";import{IconButton as Nw,TextToolbar as Mw,Tooltip as Hw}from"efficient-shell/ui";import{applyMark as w5,markupTools as k5,MARKUP_TOOLS as T5,COPY_FIELD_TOOLS as F5,STOREFRONT_MARKUP as E5,tokenizeInline as P5,stripInline as L5,isSafeLinkHref as O5}from"efficient-shell/markup";import{applyMark as Cw,markedAt as vw,markupTools as ww,MARKUP_TOOLS as kw,parseMarkup as Tw,RETIRED_MARKS as Fw,STOREFRONT_MARKUP as Ew,tokenizeInline as A5}from"efficient-shell/markup";var ut=["highlight","strong","quiet"],pt={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},yo={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},pp=Object.fromEntries(ut.map(e=>[yo[e].kind,e])),mp="data-sf-ws",rn=["accent","text","labels"],xp={accent:"Accent",text:"Text",labels:"Labels"},Oo={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},dw=80,uw=120,pw=100,mw=900,xw=.5,Iw=3,hw=-.1,gw=.5,bw=3,js={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},yw={highlight:{...js},strong:{...js},quiet:{...js}};function cp(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function dp(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let r=10**bw;return Math.round(Math.min(Math.max(e,o),t)*r)/r}function up(e){return typeof e=="boolean"?e:null}function Sw(e){let o=typeof e?.font=="string"&&no.some(r=>r.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&rn.includes(e.colour)?e.colour:null;return{font:o,size:cp(e?.size,dw,uw),weight:cp(e?.weight,pw,mw),bold:up(e?.bold),italic:up(e?.italic),lineGap:dp(e?.lineGap,xw,Iw),textGap:dp(e?.textGap,hw,gw),colour:t}}function Ip(e){let o={};for(let t of ut)o[t]=e&&t in e&&e[t]?Sw(e[t]):{...yw[t]};return o}function y5(e){let o=Ip(e),t={};for(let r of ut){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`]=Oo[a.colour])}return t}function S5(e){let o=e?.word_styles??void 0,t={};for(let r of ut)o&&r in o&&(t[r]=o[r]??null);return Ip(t)}var Pw=new Set(["strong"]),hp=ut.map(e=>({open:yo[e].delimiter,close:yo[e].delimiter,kind:yo[e].kind,...Pw.has(e)?{wordStart:!0}:{}})),_5=[{style:yo.highlight.kind,label:pt.highlight,title:`${pt.highlight} word style`},{style:yo.strong.kind,label:pt.strong,title:`${pt.strong} word style`},{style:yo.quiet.kind,label:pt.quiet,title:`${pt.quiet} word style`}],Lw=new Set(hp.map(e=>e.open)),Ht=[...Ew.filter(e=>!Lw.has(e.open)),...hp];function Ks(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function Vs(e){return Tw(typeof e=="string"?e:"",Ht)}var Ow=kw.map(e=>e.style).filter(e=>!Fw.includes(e)).filter(e=>Ht.some(o=>o.kind===e));function gp(){return ww(Ow)}var bp=Object.fromEntries(ut.map(e=>[yo[e].kind,yo[e].delimiter]));function yp(e,o,t,r){let a=bp[r];if(!a)return Cw(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 c=n||"styled text";return{text:e.slice(0,o)+a+c+a+e.slice(t),selectionStart:o+a.length,selectionEnd:o+a.length+c.length}}function Sp(e,o,t,r){let a=bp[r];return a?o>=a.length&&e.slice(o-a.length,o)===a&&e.slice(t,t+a.length)===a:vw(e,o,t,r)}function mt(e){return Vs(e).map(o=>Ks(o)+Cp(o.children)).join(`
3
- `)}function Cp(e){return e.map(o=>o.kind==="text"?o.text:Cp(o.children)).join("")}var vp="Clear formatting";function zw(e,o,t){return Bw(e,o,t,yp)}function Ww(e){let[o,t]=Aw(null);return Rw(()=>{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(c=>c&&c.start===s&&c.end===i?c:{start:s,end:i})};return r.addEventListener("selectionchange",a),()=>r.removeEventListener("selectionchange",a)},[e]),[o,t]}function Gw({target:e,value:o,onChange:t,disabled:r=!1,label:a="Formatting"}){let n=_w({target:e,onChange:t}),[s,i]=Ww(e),c=x=>n(h=>{let b=zw(o,x,h);return i({start:b.selectionStart,end:b.selectionEnd}),b}),u=gp(),p={};if(s)for(let x of u)p[x.style]=Sp(o,s.start,s.end,x.style);let m=mt(o);return Mr(Mw,{offered:new Set(u.map(x=>x.style)),onMark:x=>c(x),pressed:p,disabled:r,"aria-label":l(a),className:"sf-markup-bar",last:Mr("span",{className:"sf-markup-clear",children:Mr(Hw,{content:l(vp),children:Mr(Nw,{size:"sm",onMouseDown:x=>x.preventDefault(),onClick:()=>t(m),disabled:r||m===o,"aria-label":l(vp),children:Mr(Dw,{size:14})})})})})}var Ys=Gw;import{DEVICE_FIELD_MARKER as j5,DEVICE_HIDDEN_ATTR as K5,DEVICE_NOTE as V5,deviceField as ve,deviceMetaOf as Xs,deviceNote as Y5,shownTier as X5,withoutDeviceGate as Z5}from"efficient-easel/screen/lib/puck/device-fields";import{NO_CONTROL_ATTR as e3,NO_CONTROL_FIELD as wp,noControlField as Hr,NoControlMark as zt,noControlMetaOf as o3}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var Zs="__ownBox";function kp(e){return!!e&&typeof e=="object"&&e[Zs]===!0}function Ro(e){return`${e}Phone`}function an(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var nn=void 0;import{jsx as Js,Fragment as qw}from"react/jsx-runtime";import{createContext as jw,useContext as Kw}from"react";var ln={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},sn={Events:["posts"],SubscribeBlogs:["posts"]};var Uw=["anchor"],$w=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function zr(e){return Uw.includes(e)||$w.test(e)}var Qs={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"}}};Qs.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var s3=Object.fromEntries(Object.entries(ln).map(([e,o])=>[e,Object.keys(o)])),i3=Object.fromEntries(Object.entries(sn).map(([e,o])=>[e,[...o]]));var Tp=jw(!1);function Fp({children:e}){return Js(Tp.Provider,{value:!0,children:e})}function Vw(){return Kw(Tp)}function Ep({name:e,children:o}){return!Vw()||!e||zr(e)?Js(qw,{children:o}):Js(zt,{})}function eo(e,o,t){return e.some(r=>(typeof r=="object"?r.value:r)===t)?t:o}var ei="off",oi="none",ti=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],ri=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function h3(e){return eo(ti,ei,e)}function g3(e){return eo(ri,oi,e)}var Pp="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",Yw={plain:`counter(${Wr})`,padded:`counter(${Wr}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Wr}, decimal-leading-zero)`};function y3(e,o){return o==="off"?"":`.${e}{counter-reset:${Wr}}.${e} .${Pp}{counter-increment:${Wr}}.${e} .${Pp}::before{content:${Yw[o]}}`}function S3(e){return e==="hairline"?"border border-line hover:border-accent":""}var Lp=[{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 XT}from"efficient-easel/draw";import{jsx as Ao}from"react/jsx-runtime";import{SettingsDefaultReset as Xw,SettingsField as Ap}from"efficient-easel/panel";import{useSelectedFields as Zw}from"efficient-easel/easel";import{FOCAL_DEFAULT as Qw}from"efficient-shell/format";import{ImageIcon as Bp,PlayIcon as _p}from"efficient-easel/icons";import{ImageBox as Jw}from"efficient-easel/pick";import{useEaselStrings as ek}from"efficient-easel/strings";import{useContext as ok}from"react";import{usePreviewDevice as tk}from"efficient-easel/draw/client";import{requestMediaPick as Op,resolveMediaPick as k3}from"efficient-easel/screen/lib/media-picker";var Ue=Ud,Rp=e=>e.blocks;function rk(e,o){let t=null;try{t=Zw()}catch{t=null}let r=tk()==="mobile";if(!e||!t||o&&!o(t.values??{}))return null;let a=typeof t.values?.[e]=="string"&&t.values[e]?String(t.values[e]):Qw,n=Ro(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:c=>i(r?n:e,c),clear:()=>i(n,nn)}}function Dp({value:e,onChange:o,label:t,accept:r,placeholder:a,focusKey:n,focusWhen:s}){let i=_t(),c=Ae(),u=ek(),p=l(t),m=r.startsWith("video"),x=rk(m?void 0:n,s),h=ok(Nt),b=k=>Op(i,{accept:r,title:p,...k?{file:k}:{}}).then(v=>v?.url??null);if(h&&!h.capabilities.mediaEditing)return Ao(Ap,{label:p,icon:m?Ao(_p,{}):Ao(Bp,{}),children:Ao("div",{className:"sf-image-slot-inert",children:m?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 C=x?.phone&&e?Ao(Xw,{words:j()?.panel,label:l("Image focus"),changed:!!x.own,detail:l("{value} on desktop",{value:x.desktop}),onReset:x.clear}):void 0;return Ao(Ap,{label:p,icon:m?Ao(_p,{}):Ao(Bp,{}),action:C,children:Ao(Jw,{value:e,onChange:o,label:p,kind:m?"video":"image",placeholder:a===void 0?void 0:l(a),openLibrary:b,maxSizeBytes:Ue(c).media.maxUploadBytes,...x?{focus:x.focus,onFocusChange:x.set}:{},words:u.pick.image})})}import{jsx as Np}from"react/jsx-runtime";import{useId as ak}from"react";import{FieldSelect as nk}from"efficient-easel/fields";import{SettingsField as lk}from"efficient-easel/panel";function sk(e){return e.map(({value:o,label:t,note:r})=>({value:o,label:t,...r?{meta:r}:{}}))}function Mp({label:e,options:o,value:t,onChange:r,emptyLabel:a,icon:n,hint:s}){let i=ak(),c=`${i}-label`,u=`${i}-button`,p=Array.isArray(t)?t:[];return Np(lk,{label:l(e),labelId:c,icon:n,hint:s,children:Np(nk,{id:u,multiple:!0,value:p,options:sk(o),onChange:r,placeholder:a===void 0?l("None"):l(a),ariaLabelledBy:`${c} ${u}`,inline:!0})})}import{jsx as Te,jsxs as It,Fragment as Pk}from"react/jsx-runtime";import{useCallback as Lk,useContext as Ok,useEffect as Rk,useId as Jp,useRef as Zp,useState as Qp}from"react";import{ThemeIcon as Ak}from"efficient-easel/icons";import{SettingsField as Bk}from"efficient-easel/panel";import{jsx as $,jsxs as Ko,Fragment as xk}from"react/jsx-runtime";import{SettingsField as li,SettingsGroupSub as Ik}from"efficient-easel/panel";import{Button as ni}from"efficient-shell/ui";import{jsx as jo,jsxs as Hp}from"react/jsx-runtime";import{SettingsField as ik}from"efficient-easel/panel";import{AccentIcon as fk}from"efficient-easel/icons";import{Tooltip as ck}from"efficient-shell/ui";function ai(e){return xo(e).background}function dk(e){let o=$o(e.accent,ai(e));return o===null?null:{ratio:o,grade:Bt(o)}}function uk(e){let o=ai(e),t=$o(e.accent,o);return t===null?[]:Jd(e.accent).filter(r=>{let a=$o(r,o);return a!==null&&a>t&&Bt(a)==="good"})}var pk={good:"Easy to read","large-only":At["large-only"],hard:At.hard};function zp({value:e,onChange:o}){let t=dk(e),r=t?.grade,a=t&&t.grade!=="good"?uk(e):[];return jo(ik,{label:l("Main color"),icon:jo(fk,{}),hint:t?l(pk[t.grade]):void 0,action:jo(Je,{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:Hp("div",{className:"sf-readability",children:[jo("p",{className:"sf-readability-advice",children:mk(r,!0)}),jo("div",{className:"sf-readability-suggestions",children:a.map(n=>{let s=$o(n,ai(e));return jo(ck,{content:l("Use {colour}",{colour:n.toUpperCase()}),children:Hp("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 mk(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 hk,GroundIcon as gk,LayoutIcon as bk,SquareIcon as yk,TextSmallIcon as Sk,TypeIcon as Wp}from"efficient-easel/icons";var Gr=e=>l("Theme {n}",{n:e+1});function Gp({colors:e}){let o=xo(e),t=Rr(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:xs(e,o.accent)},children:l("button")}),$("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:l("card")})]})]})}var si={"Text color":$(Wp,{}),"Label color":$(Sk,{}),Background:$(gk,{}),"Panels & cards":$(bk,{}),Borders:$(yk,{}),"Button color":$(hk,{}),"Button text color":$(Wp,{})};function Ck({label:e,colorKey:o,value:t,onChange:r,idPrefix:a="sf-theme-ink"}){let n=`${a}-${o}`;return $(li,{label:l(e),icon:si[e],htmlFor:n,action:$(Je,{id:n,label:l(e),value:t,onChange:s=>r(o,s)})})}function vk({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 $(li,{label:l("Button color"),icon:si["Button color"],htmlFor:a,action:$(Je,{id:a,label:l("Button color"),value:s,caption:n?s:l("Main"),onChange:t})})}function wk({colors:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button-ink`,n=eu(e),s=xs(e,o),i=Rr(e)??o,c=Bt($o(s,i)??0);return $(li,{label:l("Button text color"),icon:si["Button text color"],hint:n&&c!=="good"?l("{grade} on the button",{grade:l(At[c])}):void 0,htmlFor:a,action:$(Je,{id:a,label:l("Button text color"),value:s,caption:n?s:l("Auto"),onChange:t})})}var kk=[{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 ii({colors:e,onChange:o,idPrefix:t}){let r=xo(e);return $(xk,{children:kk.map(a=>"colour"in a?$(zp,{value:e,onChange:o},"colour"):"group"in a?$(Ik,{title:l(a.group)},a.group):"button"in a?$(vk,{value:e.button,accent:r.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in a?$(wk,{colors:e,accent:r.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):$(Ck,{label:a.label,colorKey:a.key,value:r[a.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},a.key))})}function fn({index:e,colors:o,selected:t,role:r="radio",open:a,editable:n=!0,onPick:s,onEdit:i,onChangeColors:c}){let u=xo(o),p=Gr(e),m=e<ms.length&&!o.brandInk?ms[e]:null,x=Bt($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:$(Gp,{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(At[x])}),n&&i&&$(ni,{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:[$(ii,{colors:o,onChange:C=>c?.(C)}),m&&$(ni,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!h,onClick:()=>c?.({...m}),children:h?l("Reset {name} to the preset",{name:p}):l("Not changed")})]})]})}function Up({colors:e,name:o,nameId:t,open:r,menuId:a,labelId:n,buttonRef:s,onClick:i,onKeyDown:c,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:c,children:e?$(Gp,{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&&$(ni,{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 mi,useEffect as Vp,useRef as un}from"react";import{useSyncExternalStore as Tk}from"react";var qp,fi=null,xt=null,cn=0,ci=new Set;function di(e){qp=e;for(let o of ci)o()}function ui(e){fi=e,cn+=1,xt&&clearTimeout(xt),xt=null,di(void 0)}function I4(e){cn+=1,di(e)}function dn(e=250){fi&&(xt&&clearTimeout(xt),xt=setTimeout(()=>{xt=null;let o=fi;if(!o)return;let t=++cn;o().then(r=>{t===cn&&di(r)}).catch(()=>{})},e))}function $p(){return qp}function Fk(e){return ci.add(e),()=>{ci.delete(e)}}function jp(){return Tk(Fk,$p,$p)}var pi=new Set;function Kp(e){return pi.add(e),()=>{pi.delete(e)}}async function g4(){let e=(await Promise.allSettled([...pi].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}function Yp(e=ao()){return(o,t,r)=>{let a=Ue(e).theme;return a?a.update(o,r?{siteId:r}:void 0):Promise.reject(new Ss("invalid","This backend stores no site theme."))}}function Xp(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function Ek(e,o=Yp()){let{themeFromDocument:t,token:r,siteId:a,patch:n}=e,s=Xp({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 Wt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:r}){let a=un(null),n=un({}),s=Ae(),i=un(r);i.current=r;let c=un(null),u=mi(x=>{if(x.status==="skipped"){let h=`skipped:${x.reason}`;if(c.current===h)return;c.current=h}else c.current=null;i.current?.(x)},[]),p=mi(async()=>{a.current&&(clearTimeout(a.current),a.current=null);let x=n.current;n.current={};let h=await Ek({themeFromDocument:e,token:o?.current,siteId:t,patch:x},Yp(s));return u(h),h.status==="saved"&&dn(),h.status==="failed"&&(n.current={...x,...n.current}),h},[e,o,t,u,s]),m=mi((x,h=!1)=>{let b=Xp({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 Vp(()=>()=>{p()},[p]),Vp(()=>Kp(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 _k="Follow the page",H4="Follow the slideshow",Dk=e=>l("Editing {name} changes it everywhere.",{name:e});function Nk({colors:e}){if(!e)return Te("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=xo(e);return It("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 Mk({themes:e,value:o,onPick:t,onEdit:r,menuId:a,followLabel:n}){return It("div",{className:"sf-multi-menu sf-secttheme-menu",id:a,role:"listbox",children:[n!==void 0&&It(Pk,{children:[It("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(on),children:[Te(Nk,{}),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(fn,{role:"option",index:i,colors:s,selected:!1,onPick:()=>t(i),onEdit:()=>r(i)},i))]})}function Hk({index:e,colors:o,onChange:t,onDone:r}){let a=Gr(e),n=Jp();return It("div",{className:"sf-secttheme-sheet",children:[It("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(ii,{colors:o,onChange:t,idPrefix:n})}),Te("p",{className:"sf-secttheme-warn",children:Dk(a)})]})}function em({value:e,onChange:o,followLabel:t,hint:r}){let{theme:a,setTheme:n}=Z(),s=Qe(a),i=Ok(Nt),c=i?.tokenRef,u=i?.siteId??null,p=!i?.capabilities?.hasSiteTheme,{persist:m,flush:x}=Wt({themeFromDocument:p,tokenRef:c,siteId:u}),h=Qe(s),b=h.themes,C=zs(e),k=C!==null?b[C]:void 0,v=k??(b.length?Rt(h):void 0),[w,g]=Qp(!1),[y,E]=Qp(null),F=Zp(null),L=Zp(null),B=Jp(),O=Lk(()=>{g(!1),E(null)},[]);Rk(()=>{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,Oe)=>Oe===y?H:oe),A={...h,themes:W};n(A),m({selected_preset:A.selected,theme_presets:A.themes})};return It("div",{className:"sf-secttheme",ref:F,children:[Te(Bk,{label:l("Theme"),icon:Te(Ak,{}),labelId:`${B}-label`,hint:r,children:Te(Up,{colors:v,onEdit:C!==null?()=>{E(C),g(!1)}:void 0,name:k?Gr(C):l(t??_k),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(Mk,{themes:b,value:C,onPick:M,onEdit:H=>{E(H),g(!1)},menuId:B,followLabel:t})}),y!==null&&b[y]&&Te(Hk,{index:y,colors:b[y],onChange:re,onDone:()=>{x(),O(),L.current?.focus()}})]})}import{jsx as om}from"react/jsx-runtime";import{useId as zk}from"react";import{FieldSelect as Wk}from"efficient-easel/fields";import{SettingsField as Gk}from"efficient-easel/panel";function Uk(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 j4({label:e,options:o,fallback:t,value:r,onChange:a,placeholder:n,bare:s=!1,icon:i}){let c=zk(),u=`${c}-label`,p=`${c}-button`,m=r??"",x=o.some(k=>k.value===m)?m:t,h=l(e),b=n===void 0?void 0:l(n),C=om(Wk,{id:p,value:x,options:Uk(o),onChange:a,placeholder:b,searchPlaceholder:b,...s?{ariaLabel:h}:{ariaLabelledBy:`${u} ${p}`},searchable:!0,groupCount:!0,inline:!0});return s?C:om(Gk,{label:h,labelId:u,icon:i,children:C})}import{jsx as ht,jsxs as Kk}from"react/jsx-runtime";import{SettingsField as dm}from"efficient-easel/panel";import{LinkIcon as Vk}from"efficient-easel/icons";import{LinkPicker as Yk,TextLinkField as Xk}from"efficient-shell/ui";import{useEffect as cm,useMemo as xn,useRef as Zk,useState as mn}from"react";function tm(){return ao().auth.token}var pn="homepage";function rm(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var am=[{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 nm(e){return e.offersCommerce&&e.offersService?am:am.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}function Ur(e){return e===pn?"/":`/${e}`}function lm(e){return`/journal/${e}`}function e6(e){return`/wheels/${e}`}function sm(e,o){return`${Ur(e)}#${o}`}function $k(e){return rm(e)}function qk(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function im(...e){let o=new Set,t=[];for(let r of e)for(let a of r?.content??[]){let n=qk(a?.props?.anchor);if(!n)continue;let s=$k(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function o6(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 jk=()=>({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 fm(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 xi(e,o){let t=jk(),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:im(...p.docs).map(m=>({value:sm(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:lm(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"}}},c=nm(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:c,rules:{kindOf:p=>fm(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:c,rules:{kindOf:p=>fm(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 um(e){let o=new Map;return(t="")=>{let r=tm(),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 Qk=um(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}))}),Jk=um(async(e,o)=>await Ue().blog?.posts(o?{siteId:o}:void 0)??[]);function e0({value:e,onChange:o,label:t="Link",data:r,filters:a}){let n=xn(()=>xi(r,a),[r,a]),s=l(t);return ht(dm,{label:s,icon:ht(Vk,{}),children:ht(Yk,{value:e,onChange:i=>o(i),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function pm(){let{siteId:e,capabilities:o}=Se(),{offersCommerce:t,hasBlog:r}=o,[a,n]=mn([]),[s,i]=mn([]),[c,u]=mn([]),[p,m]=mn(null),x=Ae().chrome,h=x?.products?.list,b=x?.linkFilters,C=b?void 0:x?.linkRow,k=Zk(!0);cm(()=>(k.current=!0,()=>{k.current=!1}),[]),cm(()=>{let g=!0;return Qk(e??void 0).then(y=>g&&k.current&&n(y)),r&&Jk(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=xn(()=>({pages:a.filter(g=>!Tu(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?c.map(g=>({href:g.href,name:g.name})):[],offers:{offersCommerce:t,offersService:r}}),[a,s,c,t,r]),w=xn(()=>p?p(v.pages):null,[p,v]);return{data:v,filters:w,pages:a,offersCommerce:t,HostLinkRow:C}}function y6({label:e,icon:o,text:t,onTextChange:r,link:a,onLinkChange:n}){let{data:s,filters:i}=pm(),c=xn(()=>xi(s,i),[s,i]),u=l(e);return ht(dm,{label:u,icon:o,children:ht(Xk,{label:u,text:t,onTextChange:r,link:a,onLinkChange:p=>n(p),kinds:c.kinds,rules:c.rules,filtersFor:c.filtersFor})})}function mm({value:e,onChange:o,label:t="Link"}){let r=typeof e=="string"?e:"",{data:a,filters:n,pages:s,offersCommerce:i,HostLinkRow:c}=pm(),u=a.pages.map(m=>Ur(m.slug)),p=i&&c&&(r==="/"||u.includes(r))?c:void 0;return Kk("div",{children:[ht(e0,{value:r,onChange:o,label:t,data:a,filters:n}),p&&ht(p,{value:r,onChange:o,pages:s})]})}import{UiIcon as rx}from"efficient-easel/draw/client";var lo={min:10,max:200,step:10};function xm(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 o0="sf-pad-top-phone",t0="sf-pad-bottom-phone",r0="--sf-pad-t-phone",a0="--sf-pad-b-phone",n0="sf-pad-left-phone",l0="sf-pad-right-phone",s0="--sf-pad-l-phone",i0="--sf-pad-r-phone";function gm(e,o,t,r,a,n,s,i){let c=xm(e,o)??{},u={},p=["sf-section-pad"];typeof t=="number"&&(p.push(o0),u[r0]=`${t}px`),typeof r=="number"&&(p.push(t0),u[a0]=`${r}px`);let m={};return typeof a=="number"&&(m.paddingLeft=a),typeof n=="number"&&(m.paddingRight=n),typeof s=="number"&&(p.push(n0),u[s0]=`${s}px`),typeof i=="number"&&(p.push(l0),u[i0]=`${i}px`),p.length===1&&xm(e,o)===void 0&&!Object.keys(m).length?null:{className:p.join(" "),style:{...c,...m,...u}}}var Im=e=>typeof e=="number"?e:void 0;function hm(e,o,t){let r=Im(e)??t,a=Im(o);return r===void 0?a:a===void 0?r:r+a}function C6(e,o={}){return{top:hm(e.padTop,e.sectionPaddingTop,o.top),bottom:hm(e.padBottom,e.sectionPaddingBottom,o.bottom)}}function v6(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 w6(e){return gm(e.top,e.bottom,e.topPhone,e.bottomPhone,e.left,e.right,e.leftPhone,e.rightPhone)}function k6(e,o){let t=r=>typeof r=="number"?r+o:void 0;return gm(t(e.top),t(e.bottom),t(e.topPhone),t(e.bottomPhone),e.left,e.right,e.leftPhone,e.rightPhone)}var f0=["auto","fixed","screen"],c0=["px","%"];var d0="var(--sf-header-h, 88px)",Ii={min:40,max:2e3,step:10,fallback:600},hi={min:10,max:200,step:5,fallback:100},u0="sf-section-minh",bm={base:"--sf-section-minh",small:"--sf-section-minh-s"},Sm=e=>typeof e=="string"&&f0.includes(e),p0=e=>typeof e=="string"&&c0.includes(e);function In(e){let o=Sm(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":p0(e.sectionHeightUnit)?e.sectionHeightUnit:"px",r=o==="screen"?hi.fallback:Ii.fallback,a=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:r;return{mode:o,value:a,unit:t}}function Cm(e){let{mode:o,value:t,unit:r}=In(e);if(o==="auto")return;if(o==="fixed"&&r==="px")return[`${t}px`,null];let a=t/100,n=s=>o==="screen"?`(100${s} - ${d0})`:`100${s}`;return[`calc(${n("vh")} * ${a})`,`calc(${n("svh")} * ${a})`]}function m0(e){let o=Cm(e);if(!o)return;let[t,r]=o;return{display:"grid",[bm.base]:t,...r?{[bm.small]:r}:{}}}var F6=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),Gt="Height",x0="sf-section-minh-phone",ym={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function gi(e){return Sm(e.sectionHeightModePhone)}function E6(e){return In({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}function I0(e){let o=m0(e),t=gi(e)?Cm({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone}):void 0;if(!o&&!t)return null;let r=[u0],a={...o??{}};return t&&(r.push(x0),a[ym.base]=t[0],t[1]&&(a[ym.small]=t[1])),{className:r.join(" "),style:a}}function P6(e){return I0(e)!==null}var hn="Stick to top",Vo={min:0,max:200,step:4,fallback:0},h0="sf-section-stick",g0="sf-section-stick-phone-on",b0="sf-section-stick-phone-off",vm={desktop:"--sf-stick-distance",phone:"--sf-stick-distance-phone"},O6=new Set(["CategoryBar","DocTabs","IntroBleed"]);function wm(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 bi(e){return typeof e.stickTopPhone=="boolean"}function yi(e){let o=e.stickTop===!0,t=wm(e.stickTopDistance),r=bi(e),a=r?e.stickTopPhone===!0:o,n=r?wm(e.stickTopDistancePhone):t;return{desktop:o,desktopDistance:t,phone:a,phoneDistance:n,ownPhone:r}}function R6(e){let o=yi(e);if(!o.desktop&&!o.phone)return null;let t=[h0],r={};return o.desktop&&(r[vm.desktop]=`${o.desktopDistance}px`),(o.ownPhone||o.phone!==o.desktop)&&(t.push(o.phone?g0:b0),o.phone&&(r[vm.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:r}}var y0=["column","row","tabs"],km="Direction",S0={column:"Stacked",row:"One row",tabs:"Tabs"},Tm={Flex:y0,HeroGroup:["column","row"]},C0={Flex:"row",HeroGroup:"column"},v0={column:"flex-col",row:"flex-row",tabs:"flex-col"};function gn(e,o){return Tm[e].includes(o)?o:C0[e]}function B6(e,o){return v0[gn(e,o)]}function Fm(e){return Tm[e].map(o=>({label:S0[o],value:o}))}var Si=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],Lm=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Stretch",value:"stretch"}],Om="Wrap",Ci=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],Em={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},Pm={start:"items-start",center:"items-center",stretch:"items-stretch"};function D6(e,o){let t=typeof e=="string"&&e in Em?Em[e]:"",r=typeof o=="string"&&o in Pm?Pm[o]:"";return[t,r].filter(Boolean).join(" ")}function N6(e){return e===!0||e==="wrap"?"flex-wrap":""}var vi="Block widths",bn=[{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",w0={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 M6(e){return typeof e=="string"?w0[e]??"":""}var Rm="Columns on phone",wi=1,Am=3,k0={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 H6(e){let o=Number(e);return k0[o]??"max-[800px]:flex-col"}var Bm="Block spacing",ki=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],T0="sf-box-gap-only";function z6(e){return e==="gap"?T0:""}var F0=["solid","dashed","dotted"],E0=["top","right","bottom","left"],G6="sf-section-border",U6="sf-section-border-self",P0=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,_m=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function Dm(e,{phone:o=!1}={}){if(!e||typeof e!="object")return;let t=o?"-phone":"",r={};for(let a of E0){let n=_m(e[a])??_m(e.width);n!==void 0&&(r[`--sf-border-${a}-width${t}`]=n)}return typeof e.style=="string"&&F0.includes(e.style)&&(r[`--sf-border-style${t}`]=e.style),typeof e.color=="string"&&P0.test(e.color)&&(r[`--sf-border-color${t}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function $6(e,o){let t=Dm(e),r=Dm(o,{phone:!0});return t||r?{...t,...r}:void 0}var Hm="sf.gapContainer",Yo={min:-32,max:64,step:2},zm={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},Ut={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},L0=new Set(["Events","GalleryB"]);function Ti(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min)return o;if(typeof o=="string"){let r=zm[e]?.[o];if(typeof r=="number")return r}return typeof t=="number"&&Number.isFinite(t)?t:Ut[e]}var O0="sf-gap-overlap",R0="--sf-gap-overlap",Wm="--sf-block-gap",A0="--sf-block-gap-rem",gt={min:0,max:Yo.max,step:Yo.step};function B0(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),gt.min),gt.max);return o-o%gt.step}function j6(e){let o=B0(e);return o===null?{}:{[Wm]:`${o}px`,[A0]:`${o/16}rem`}}var Nm="sf-gap-zone",Mm="--sf-gap-len";function Fi(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min?!0:typeof o=="string"&&typeof zm[e]?.[o]=="number"}var _0={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function K6(e,o,t){if(!Fi(e,o)){let a=`${Ut[e]}px`,n=L0.has(e)?`var(--sf-card-gap, ${a})`:a;return{className:` ${Nm}`,style:{[Mm]:`var(${Wm}, ${n})`}}}let r=Ti(e,o);return r>=0?{className:` ${Nm}`,style:{[Mm]:`${r}px`}}:{className:` ${O0} ${_0[t]}`,style:{gap:"0px",[R0]:`${-r/2}px`}}}var Gm=["transparent","var(--section-bg)","var(--surface)","var(--surface-2)"],Um={transparent:"No fill","var(--section-bg)":"Section band","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},yn="var(--section-bg)",Sn="inherit";function Y6(e,o){return e===Sn?yn:e===void 0?o:Cn(e)}var D0=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function Cn(e){return e.replace(D0,"var(--site-$1")}function $m(e,o){return e===Sn?!0:e===void 0&&o===yn}var qm=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],jm={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},$t="var(--wheel-stage)",vn="transparent",qr="inherit";function Q6(e,o){return Cn(Ei(e,o))}function Ei(e,o){return e===qr?$t:e==null?o:e===!0?$t:e===!1?vn:e}function J6(e){return typeof e=="string"&&e!==qr?Cn(e):$t}function ez(e){return e!==vn&&e!=="none"&&e!==""}function Km(e,o){return e===qr||e===!0?!0:e==null?o===$t:!1}var Vm="inherit",wn="fixed",Ym=e=>typeof e!="number"&&e!==wn,N0="var(--sf-heading-max, 9999px)";function tz(e,o,t,r){if(typeof e=="number")return`${e}px`;if(e===wn)return o;let a=r?`var(--size-${r}, ${o})`:o;return t==="heading"?`min(${a}, ${N0})`:a}var Be={min:1e3,max:2e3,step:50,default:1600};function Xm(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}function az(e,o){if(e!==!1)return null;let t=typeof o=="number"?o:Be.default;return Xm(t)}var Zm="--sf-site-width",kn=`var(${Zm},${Be.default}px)`,nz=`max-w-[${kn}]`,lz=`max-w-[${Be.default}px]`;function M0(e){return typeof e!="number"||!Number.isFinite(e)?Be.default:Math.round(Math.min(Math.max(e,Be.min),Be.max))}function sz(e){let o=M0(e);return o===Be.default?{}:{[Zm]:`${o}px`}}var So={min:0,max:80,step:4,default:40},Qm="--sf-site-gutter",$e=`var(${Qm},${So.default}px)`,H0=`px-[${$e}]`;var Xo={md:`min(24px,${$e})`,sm:`min(20px,${$e})`,frame:`min(24px,${$e})`,tabs:`min(16px,${$e})`},iz=[[`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"],[H0,"px-10"]];var fz="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 z0(e){return typeof e!="number"||!Number.isFinite(e)?So.default:Math.round(Math.min(Math.max(e,So.min),So.max))}function cz(e){let o=z0(e);return o===So.default?{}:{[Qm]:`${o}px`}}var Tn=`min(var(--sf-page-cap,${kn}),${kn})`,dz=`max-w-[${Tn}]`,uz=`max-w-[min(var(--sf-page-cap,${Be.default}px),${Be.default}px)]`,Jm="--sf-hero-cap",W0=`var(${Jm},none)`,pz=`max-w-[${W0}]`,Pi="--sf-hero-bleed-m",Li="--sf-hero-bleed-w",mz=`var(${Pi},calc(50% - 50vw))`,xz=`var(${Li},100vw)`,Iz=`mx-[var(${Pi},calc(50%_-_50vw))]`,hz=`w-[var(${Li},100vw)]`,Oi="--sf-hero-chrome-x",Ri="--sf-hero-chrome-cap";function gz(e){return e===!0?{[Jm]:Tn,[Pi]:"auto",[Li]:"100%",[Oi]:"24px",[Ri]:"none"}:{}}var Ai=`calc(${kn} - ${$e}*2)`,bz=`max-w-[${Ai.replace(/ /g,"_")}]`;var G0="--sf-chrome-cap",U0=`var(${G0},${Ai})`,yz="data-page-width";function Sz(e){return e==="full"?"full":null}function Cz(e){return e==="full"?null:Xm(e==="content"?Ai:U0)}function vz(e){if(e==="full")return"full";if(e==="content")return"content"}var $0=["contained","page","full"],ex=["full","page"],jr={full:"Full width",page:"Content width"},Bi="inherit",q0=e=>typeof e=="string"&&$0.includes(e),j0=e=>e===Bi;function _i(e,o){let t=typeof e.pageWidth=="number"?e.pageWidth:Be.default;return j0(e.widthMode)?{mode:"full",pageWidth:t,inherited:!0}:e.widthMode==="contained"?{mode:"page",pageWidth:t,inherited:!1}:q0(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 Di(e){return _i(e,"page").mode==="full"}import{jsx as K0}from"react/jsx-runtime";import{createContext as V0,useContext as Y0}from"react";var X0=2,Z0=X0+1,ox=V0(2);function tx({tier:e,children:o}){return K0(ox.Provider,{value:e,children:o})}function Ni(e){let o=Y0(ox);return Z0+Math.max(0,e-o)}import{withStyleKind as ZT}from"efficient-easel/style-clipboard";import{TEXT_CONTROL_KINDS as zW,SCALAR_TEXT_CONTROLS as WW}from"efficient-easel/draw";function Kt(e){for(let[o,t]of Object.entries(e))t&&typeof t=="object"&&!Do(t)&&ZT(t,`section:${o}`);return e}function vx(){return null}function Wi(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return I(vx,{},e)}function QT(e){return e.type===vx}function Co(e){return QT(e)?void 0:e}function jt(e,o){return l("{value} from {from}",{value:e,from:o})}function JT(){let{appState:e}=Vr(a=>a),o=e.data.root?.props??{},{mode:t,pageWidth:r}=_i(o,"full");return t==="page"?jt(`${r}px`,l("the page")):t==="contained"?jt(l("Contained"),l("the page")):jt(l("Full"),l("the page"))}function eF(){let{blockGap:e}=Z();return e===null?l("this container's own spacing"):jt(`${e}px`,l("Site styles"))}function oF({inherited:e,onReset:o,label:t}){return I(qe,{words:j()?.panel,label:l(t),changed:!e,detail:eF(),onReset:o})}function tF({inherited:e,onReset:o,label:t}){return I(qe,{words:j()?.panel,label:l(t),changed:!e,detail:JT(),onReset:o})}function Vt({value:e,onChange:o,label:t,placeholder:r,hint:a,multiline:n,hideable:s=!0,markup:i=!0}){let{text:c,hidden:u}=Qo(e),p=Hi(null),m=Hi(null),x=w=>o(s?{text:w,hidden:u}:w),h=()=>o({text:c,hidden:!u}),b=s&&u,C=J0(),k=a?iF(a)?I("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(a)}):I(Zu,{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(RT,{}),htmlFor:C,className:b?"is-hidden":void 0,hint:k,action:s?I(Cx,{content:v,children:I("button",{type:"button",className:"sf-field-eye","aria-pressed":u,"aria-label":v,onClick:h,children:u?I(rx,{name:"eye-off",size:14}):I(rx,{name:"eye",size:14})})}):void 0,children:yt("div",{className:"sf-copybox",children:[i&&I(Ys,{target:n?m:p,value:c,onChange:x}),n?I("textarea",{id:C,ref:m,value:c,placeholder:r===void 0?void 0:l(r),onChange:w=>x(w.target.value)}):I("input",{id:C,ref:p,type:"text",value:c,placeholder:r===void 0?void 0:l(r),onChange:w=>x(w.target.value)})]})})}function _W(e,o){return{...e,[rT]:o}}function DW(e){let o=e[Bo];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[Bo]:{...o,offPage:!0}}}function Pn(e){return!e||typeof e!="object"?!1:e[Bo]?.offPage===!0}var wx="sfPanelOnly";function NW(e){if(!e[Bo])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[wx]:!0}}function kx(e){return!!e&&typeof e=="object"&&e[wx]===!0}function MW(e){let o=e[Bo];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[Bo]:{...o,identifier:!0}}}function GW(e,o){if(!e[Bo])throw new Error("inOwnBox: the field holds no authored text");let{[wp]:t,...r}=e;return{...r,[Zs]:!0,render:o}}var rF=new Set(XT),Yt=(e,o)=>{let t={...o,[Bo]:e};if(!rF.has(e.control))return t;let r=o.render;return{...Hr(t,"authored-copy"),render:a=>I(Ep,{name:a.name,children:r(a)})}},UW="Everything else on this block comes from the linked post. Unlink it to edit by hand.",aF={field:"source.slug",set:!0},$W={not:aF},nF="Select a word, then press the highlighter.",lF="A short name so a link can jump straight to this section, like yoursite.com/page#about.",sF=new Set([nF]),iF=e=>sF.has(e);function qW(e,o,t){return Yt({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Vt,{value:r,onChange:a,label:e,placeholder:o,hint:t})})}function jW(e,o,t){return Yt({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Vt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0})})}function fF(e,o,t){return Yt({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Vt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function KW(e,o,t){return Yt({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Vt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1})})}function VW(e){return{type:"custom",[oT]:{label:e},render:({value:o,onChange:t})=>I(mm,{value:eT(o),onChange:t,label:e})}}function YW(e,o,t){return Yt({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Vt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var Tx={Design:aT,Animation:cx};function Fx(e,o){return e.includes("Design")?o!=="Design":null}function cF({label:e}){return I(_T,{title:l(e),level:Ni(1)})}function dF({level:e,label:o}){return e===1?I(cF,{label:o}):I(Xt,{label:o})}function Ex(e,o){return{type:"custom",[zi]:{label:e,level:o},render:()=>I(dF,{level:o,label:e})}}function He(e){return Ex(e,2)}function XW(e){return{type:"custom",render:()=>I(uF,{text:e})}}function uF({text:e}){return I("p",{className:"sf-note",children:l(e)})}function ZW(e){return Ex(e,1)}function QW(e){return Do(e)!==null&&e?.tabs!==void 0}var ax=new Map;function Ln(e,o){let t=`${e}\0${o?o.join(""):""}`,r=ax.get(t)??{type:"custom",tabs:o,[zi]:{label:e,level:1},bucket:e,marker:!0,render:()=>I(_o,{})};return ax.set(t,r),r}var nx=new Map;function Gi(e){let o=nx.get(e)??{type:"custom",[zi]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>I(_o,{})};return nx.set(e,o),o}function pF(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function Px(e,o){return pF(e)===o?e:{...e,marker:!0,fold:o,render:()=>I(_o,{})}}function Lx(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 Xt({label:e}){return I(DT,{title:l(e),level:Ni(2)})}function Ox({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 yt("div",{className:"sf-swatches",children:[e.map(i=>{let c=r?.[i]?l(r[i]):i;return I(Cx,{content:c,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":c})},i)}),I("span",{className:"sf-swatch-hex",children:s})]})}function JW(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=$m(t,o);return I(ne,{label:l(e),icon:I(iT,{}),changed:!a,action:I(qe,{words:j()?.panel,label:l(e),changed:!a,detail:l("the theme's section background"),onReset:()=>r(Sn)}),children:Ox({swatches:Gm,current:a?yn:t??o??"",onPick:r,names:Um})})}}}function mF(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=t,n=Km(a,o);return I(ne,{label:l(e),icon:I(ST,{}),changed:!n,action:I(qe,{words:j()?.panel,label:l(e),changed:!n,detail:l("the theme's image stage"),onReset:()=>r(qr)}),children:Ox({swatches:qm,current:n?$t:Ei(a,o),onPick:r,names:jm})})}}}function On(e=t=>t,o){return Kt({_gSectionTheme:He(op),sectionAccent:{type:"custom",render:({value:t,onChange:r})=>I(em,{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:c,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(YT,{min:e,max:o,step:t,value:r,suffix:n||void 0,showInput:s,label:c===void 0?void 0:l(c),disabled:u,size:"sm",className:"sf-slider-track",onChange:m=>{m!==null&&m!==r&&a(m)}})})}function qt(e,o,t,r,a,n,s="",i){return{type:"custom",render:c=>I(ne,{label:l(e),icon:Co(o),action:i?i("storedValue"in c?c.storedValue:c.value,c.onChange):void 0,children:je({min:t,max:r,step:a,value:typeof c.value=="number"?c.value:n,suffix:s,ariaLabel:e,onChange:c.onChange})})}}function Rx(e,o){let{min:t,max:r,step:a=1,unsetLabel:n,hint:s,restTrack:i,unsetMark:c,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?Co(u):void 0,value:h?c||n===void 0?void 0:l(n):`${x}px`,changed:!h,action:c?ix(c,{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 eG(e){let o=qt("Gap",I(ux,{}),Yo.min,Yo.max,Yo.step,Ut[e],"px",(t,r)=>I(oF,{inherited:!Fi(e,t),onReset:()=>r(void 0),label:"Gap"}));return{type:"custom",[Hm]:e,render:t=>o.render({...t,value:Ti(e,t.value,t.field?.siteGap),storedValue:t.value,onChange:r=>t.onChange(r)})}}var Rn="Corners";function Ui(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(Rn),icon:I(pT,{}),changed:a,action:ix(e.mark,{changed:a,onReset:()=>t(null)}),hint:e.hint,children:I(xF,{tier:e,px:r,onRadius:t})})}}}function Ax(e){let o=null;try{o=fx()}catch{o=null}return[o?.values?.[e],t=>o?.onChange(e,t)]}function xF({tier:e,px:o,onRadius:t}){let r=e.useFollowed(),a=e.useClosedReason?e.useClosedReason():null,[n,s]=Ax(e.sidesKey),i=Po(n)??[...ct];return I(KT,{label:l(Rn),value:i,corners:Ru,onChange:c=>{let u=Po(c)??[];s(u.length===ct.length?null:u)},radius:o,onRadiusChange:t,radiusMin:to,radiusMax:lt,radiusStep:e.step??1,radiusPlaceholder:String(r),disabled:a!==null,disabledReason:a??void 0})}function Bx(){return Hr({type:"custom",render:()=>I(zt,{})},"always")}function IF({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:r}=Z(),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"):jt(a,l("Site styles")),onReset:t})}function hF(){let{cornerRadiusPx:e}=Z();return typeof e=="number"?e:to}function gF(){return Ui({sidesKey:"sectionCornerSides",useFollowed:hF,useClosedReason:()=>Dx()?l(_x):null,mark:I(IF,{label:Rn}),hint:I(bF,{})})}var _x="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function Dx(){return Di(St())}function bF(){return I(_o,{children:Dx()?_x:"Follows Site styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function An(){return Kt({_gShape:He("Shape"),sectionCorners:gF(),sectionCornerSides:Bx(),sectionBorder:lx("desktop"),sectionBorderPhone:lx("mobile")})}var yF=()=>({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 SF(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function CF(){let e;try{let o=Qe(Z().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||Xd.line}function vF({value:e,onChange:o,tier:t}){let[r]=Ax("sectionBorder"),a=CF(),n=e&&typeof e=="object"?e:{},s=t==="mobile"?r&&typeof r=="object"?r:{}:{},[i,c]=En(()=>GT(n,s)),u=yF();return I(ne,{label:l("Border"),icon:I(fT,{}),action:I(bx,{each:i,label:l("Each side"),onChange:c}),children:I(NT,{label:l("Border"),value:n,each:i,onChange:p=>o(SF(p)),placeholder:{sides:WT(s),style:s.style??"solid",color:s.color||a},presets:[a],words:u,max:20})})}function lx(e){return ve(e,{type:"custom",render:({value:o,onChange:t})=>I(vF,{value:o,onChange:t,tier:e})})}function Bn(){return{_gMotion:He("Motion"),sectionAnimation:ji("Entrance",I(cx,{}),[...rp],Ws)}}function $i(){let e=null;try{let{appState:o,selectedItem:t}=Vr(a=>a),r=t?.props?.id?String(t.props.id):void 0;e=r?Us(o?.data,r):null}catch{e=null}return e!==null&&Di(e)}function Nx(e){let{cornerRadiusPx:o}=Z(),t=$i(),r=typeof o=="number"?o:e,a=null;try{let{appState:s,selectedItem:i}=Vr(u=>u),c=i?.props?.id?String(i.props.id):void 0;a=c?Us(s?.data,c):null}catch{a=null}if(t||!a)return r;let n=a.sectionCorners;return Ps(n)?n:r}function wF({label:e,changed:o=!1,onReset:t=()=>{}}){let r=$i(),a=Nx(to),n=r?"Site":"Section";return I(qe,{words:j()?.panel,label:l(e),changed:o,detail:jt(`${a}px`,r?l("Site styles"):l("the section")),onReset:t})}function kF(){return I(_o,{children:$i()?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 TF(){return Ui({sidesKey:"cardCornerSides",useFollowed:()=>Nx(to),mark:I(wF,{label:Rn}),hint:I(kF,{})})}function FF(){return{type:"custom",render:()=>I(Hu,{})}}function oG(){return{_gShape:He("Shape"),cardCorners:TF(),cardCornerSides:Bx(),cardCornersApplyAll:FF()}}function tG(){return Zo("Justify",I(sT,{}),Si,Si[0].value)}function rG(){return Zo("Item alignment",I(nT,{}),Lm,"stretch")}function aG(){return Zo(Om,I(BT,{}),Ci,Ci[0].value)}function nG(){return{type:"custom",render:({value:e,onChange:o})=>{let t=bn.find(r=>r.value===e)??bn[0];return I(ne,{label:l(vi),icon:I(dx,{}),value:l(t.label),children:I(Sx,{className:"sf-gallery-layouts",label:l(vi),value:t.value,onChange:o,options:bn.map(r=>({value:r.value,label:l(r.label),picture:I("span",{className:"sf-gallery-pic",children:EF(r.weights).map((a,n)=>I("i",{style:{gridColumn:`span ${a}`}},n))})}))})})}}}function EF(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 lG(){return Zo(Bm,I(ux,{}),ki,ki[0].value)}function sG(){return qt(Rm,I(TT,{}),wi,Am,1,wi)}function iG(e){let o=ji(km,Wi("`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)."),Fm(e),gn(e,void 0));return{type:"custom",render:t=>o.render({...t,value:gn(e,t.value),onChange:r=>t.onChange(r)})}}function fG(e,o,t,r,a,n){return{type:"custom",render:({value:s,onChange:i})=>I(ne,{label:l(e),icon:I(Ns,{noun:n}),action:I(qe,{words:j()?.panel,label:l(e),changed:!Ym(s),detail:l("the Text style in Site styles"),onReset:()=>i(Vm),defaultAction:{onPress:()=>i(wn),title:l("Keep this section's own built-in size"),icon:I(cT,{})}}),children:je({min:o,max:t,step:r,value:typeof s=="number"?s:a,suffix:"px",ariaLabel:e,onChange:i})})}}function cG(){return{_gCellWidth:He("Cell width"),gridSpan:Zo("Positions",I(dx,{}),[{label:"Auto",value:""},...Array.from({length:Xa},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function St(){let e=null;try{e=Vr(o=>o).selectedItem}catch{e=null}return e?.props??{}}function PF({min:e,max:o,step:t,px:r,label:a,onChange:n,desktopKey:s,fallback:i}){let c=St()[s],u=an(void 0,c,i);return I(_o,{children:je({min:e,max:o,step:t,value:an(r,c,i),readout:!1,ariaLabel:a,notch:u,onChange:n})})}function LF({label:e,desktopKey:o,fallback:t,changed:r=!1,onReset:a=()=>{}}){let n=St()[o],s=an(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 OF(e){return Rx(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:I(LF,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:o=>I(PF,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}function dG(e){return{type:"custom",render:({value:o,onChange:t})=>I(AF,{...e,value:o,onChange:t})}}function RF({label:e,icon:o,options:t,value:r,resolved:a,restWord:n,onChange:s}){let i=t.some(c=>c.value===r);return I(ne,{label:l(e),icon:Co(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:Hn({options:t,value:i?r:a,onChange:c=>s(c),ariaLabel:e})})}function AF({label:e,icon:o,options:t,desktopKey:r,resolve:a,value:n,onChange:s}){let i=St()[r],c=a(void 0,i),u=t.find(p=>p.value===c)?.label??"";return I(RF,{label:e,icon:o,options:t,value:n,resolved:c,restWord:u,onChange:s})}var BF={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},_F={Top:hx,Bottom:mx,Left:xx,Right:Ix},DF=e=>{let o=_F[e];return I(o,{})};function uG(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",r=e.group!==!1,a=k=>BF[k],n=k=>qt(a("Top"),I(hx,{}),lo.min,lo.max,lo.step,k,"px"),s=(k,v,w,g=lo)=>ve("mobile",OF({label:a(k),icon:DF(k),desktopKey:v,min:g.min,max:g.max,step:g.step,fallback:w})),i=e.top??lo.min,c=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 Kt({...r?{_gSpacing:He("Padding")}:{},[o]:C(n(i)),...b?{[Ro(o)]:s("Top",o,i)}:{},...e.only==="top"?{}:{[t]:C(qt(a("Bottom"),I(mx,{}),lo.min,lo.max,lo.step,c,"px")),...b?{[Ro(t)]:s("Bottom",t,c)}:{}},...e.sides?{[u]:C(qt(a("Left"),I(xx,{}),m.min,m.max,m.step,x,"px")),...b?{[Ro(u)]:s("Left",u,h,m)}:{},[p]:C(qt(a("Right"),I(Ix,{}),m.min,m.max,m.step,x,"px")),...b?{[Ro(p)]:s("Right",p,h,m)}:{}}:{}})}var Kr=["top","right","bottom","left"],NF={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},sx=e=>typeof e=="number"?e:null;function MF(e,o,t){let r={};for(let a of Kr)t[a]!==o[a]&&(r[e[a]]=t[a]??void 0);return r}function HF({tier:e,o}){let t=null;try{t=fx()}catch{t=null}let r=t?.values??{},a=e==="mobile"?o.phoneKeys:o.keys,n=Object.fromEntries(Kr.map(u=>[u,sx(r[a[u]])])),s=Object.fromEntries(Kr.map(u=>[u,String(e==="mobile"?sx(r[o.keys[u]])??o.fallback[u]:o.fallback[u])])),[i,c]=En(()=>zT(n,s));return I(ne,{label:l("Padding"),icon:I(kT,{}),action:I(bx,{each:i,label:l("Each side"),onChange:c}),children:I(HT,{label:l("Padding"),each:i,value:n,placeholder:s,min:o.min,max:o.max,step:o.step,onChange:u=>{let p=MF(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 _n(e={}){let o={...NF,...e.keys},t={keys:o,phoneKeys:Object.fromEntries(Kr.map(i=>[i,Ro(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 c={type:"custom",render:()=>I(HF,{tier:i,o:t})};return r?ve(i,c):c},n=()=>Hr({type:"custom",render:()=>I(zt,{})},"always"),s=Kr.filter(i=>i!=="top");return Kt({...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"},Fn="Width";function Dn(e,o=ex,t=!0){let r=o.map(a=>({label:jr[a]??zF[a],value:a}));return Kt({...t?{_gWidth:He(Fn)}:{},widthMode:{type:"custom",render:({onChange:a,field:n})=>I(ne,{label:l(Fn),icon:I(AT,{}),action:t?I(tF,{inherited:n?.inherited??!1,onReset:()=>a(Bi),label:Fn}):void 0,children:Hn({options:r,value:n?.currentValue||e,onChange:a,ariaLabel:Fn})})}})}function Nn(){let e=r=>({type:"custom",render:({value:a,onChange:n})=>I(ne,{label:Gt,icon:Co(I(CT,{})),action:r?r(n):void 0,children:Hn({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(a)?a:"auto",onChange:n,ariaLabel:Gt})})}),o=()=>({type:"custom",render:({value:r,onChange:a,field:n})=>{let s=n?.unit==="%"?"%":"px",i=s==="%"?hi:Ii;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:Gt,onChange:a})})}}),t=()=>ji("Unit",I(px,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return Kt({_gHeight:He(Gt),sectionHeightMode:ve("desktop",e()),sectionHeightValue:ve("desktop",o()),sectionHeightUnit:ve("desktop",t()),sectionHeightModePhone:ve("mobile",e(r=>I(WF,{onClear:()=>r(void 0)}))),sectionHeightValuePhone:ve("mobile",o()),sectionHeightUnitPhone:ve("mobile",t())})}function WF({onClear:e}){let o=St(),t=gi(o),r=In(o),a=l("{value} on desktop",{value:r.mode==="auto"?l("Auto"):`${r.value}${r.unit}`});return I(qe,{words:j()?.panel,label:l(Gt),changed:t,detail:a,onReset:e})}function qi(){let e=t=>({type:"custom",render:({value:r,onChange:a,id:n,name:s})=>I(GF,{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(hn),stickTop:ve("desktop",e(!1)),stickTopDistance:ve("desktop",o()),stickTopPhone:ve("mobile",e(!0)),stickTopDistancePhone:ve("mobile",o())}}function GF({value:e,onChange:o,labelId:t,phone:r}){let a=St(),n=yi(a),s=r?n.phone:e===!0;return I(ne,{label:l(hn),labelId:t,icon:Co(I(PT,{})),action:yt(_o,{children:[r?I(qe,{words:j()?.panel,label:l(hn),changed:bi(a),detail:l("{value} on desktop",{value:n.desktop?`${n.desktopDistance}px`:l("Off")}),onReset:()=>o(void 0)}):null,I(yx,{checked:s,onChange:o,ariaLabelledBy:t})]})})}function Mn(){return{_gAnchor:He("Anchor"),anchor:fF("Anchor name","e.g. about",lF)}}function pG(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=`${n??s??e}-datetime`,c=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(VT,{id:i,value:Number.isFinite(c)?new Date(c):null,onChange:u=>a(u?u.toISOString():"")})})}}}function bt(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=typeof r=="boolean"?r:o,c=`${n??s??e}-label`;return I(ne,{label:l(e),labelId:c,icon:t,action:I(yx,{checked:i,onChange:a,ariaLabelledBy:c})})}}}function mG(){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(gx,{}),htmlFor:a,action:I(Je,{id:a,label:"Background",value:Ms(e),onChange:o})})}}}function xG(e,o){return{type:"custom",render:({value:t,onChange:r})=>I(ne,{label:l(e),action:Je({value:t||o,onChange:r,label:e})})}}var UF=[{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 Mx({label:e,value:o,onChange:t,points:r=UF}){let a=r.map(n=>({...n,label:l(n.label),...n.title?{title:l(n.title)}:null}));return I(jT,{label:l(e),value:o,points:a,onChange:t})}function IG(){return Hr({type:"custom",render:()=>I(zt,{})},"always")}var $F=Bs([]);function hG(e,{stacking:o,fallback:t=Za}){return{type:"custom",render:({value:r,onChange:a})=>{let n=ho.includes(r)?r:t;return o?I(qF,{label:e,value:n,onChange:a}):Hx({label:e,value:n,onChange:a,points:$F})}}}function qF({label:e,value:o,onChange:t}){let{appState:r,selectedItem:a}=Vr(i=>i),n=a?.props?.id?String(a.props.id):void 0,s=n?Ds(r?.data,n):[];return Hx({label:e,value:o,onChange:t,points:Bs(s,n)})}function Hx({label:e,value:o,onChange:t,points:r}){let a=r.find(n=>n.disabled);return I(ne,{label:l(e),icon:I(FT,{}),hint:a?.title?l(a.title):void 0,children:Mx({label:e,value:dt(o),onChange:t,points:r})})}var gG={top:I(hT,{}),right:I(IT,{}),bottom:I(mT,{}),left:I(xT,{})};function bG(e,o,t,r,a,n){let s=p=>o.find(m=>m.value===p),i=p=>({value:p,label:"",disabled:!0,title:r}),c=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"),c("top"),i("corner-top-right"),c("left"),i("centre"),c("right"),i("corner-bottom-left"),c("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:Mx({label:e,value:x,onChange:m,points:u})})}}}var jF="\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 c=i.options??t,u=i.fallback??r,p=c.some(m=>m.value===n)?n:u;return I(ne,{label:l(e),icon:Co(o),children:I(UT,{value:p,ariaLabel:l(e),onChange:s,options:[...a?[{label:l(a),value:jF,disabled:!0}]:[],...c.map(m=>({label:l(m.label),value:m.value}))]})})}}}function yG(e,o,t){return{type:"custom",options:o,render:({value:r,onChange:a,field:n})=>I(Mp,{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 SG(e,o={}){return{type:"custom",render:({value:t,onChange:r})=>{let a={value:t,onChange:r,...o};return I(e,{...a})}}}function Hn({options:e,value:o,onChange:t,ariaLabel:r,disabled:a=!1}){return I(MT,{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 CG=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function ji(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:Co(o),children:Hn({options:a,value:a.some(c=>c.value===n)?n:n||i?.currentValue||r,onChange:s,ariaLabel:e})})}}function vG(e,o,t,r={}){return{type:"custom",[tT]:!0,render:({value:a,onChange:n})=>I(Dp,{value:a||"",onChange:n,label:e,accept:o,placeholder:t,focusKey:r.focus,focusWhen:r.focusWhen})}}function wG({value:e,onChange:o,label:t}){let r=e||{},a=!!r.pending,n=a?"var(--fg-dim, #888)":r.ok?"#1d9e75":"#d85a30",s=(i,c)=>o({...r,[i]:c===""?void 0:Number(c)});return yt(ne,{label:l(t),icon:I(Mi,{}),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&&yt("div",{style:{marginTop:8,display:"grid",gap:8},children:[I(ne,{label:l("Latitude"),icon:I(Mi,{}),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(Mi,{}),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 KF(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function VF(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 YF(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 Ki={label:"Ticker items",icon:I(wT,{})};function kG(e,o,t,r){return{type:"custom",[Bo]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:r},render:({value:a,onChange:n})=>I(Vi,{label:e,icon:Co(o),items:Array.isArray(a)?a:[],placeholder:t,onChange:n,markup:r==="markup"})}}function Vi({label:e,icon:o,items:t,placeholder:r,onChange:a,markup:n=!1}){let s=Hi(null),[i,c]=En(null),u=m=>m.map(x=>({text:x?.text??""})),p=m=>{let x=YF(t,m,i);x===null&&(s.current=null),c(x),a(u(m))};return I($T,{label:l(e),icon:o,noun:l("item"),items:t,onChange:p,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?I(Ys,{target:s,value:KF(t,i),onChange:m=>a(VF(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,c(x)}})})}function zx(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Yt({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:r,onChange:a})=>I(Vt,{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 Wx(e){return{_gCards:He("Cards"),coverIndex:Zo("Cover image",I(vT,{}),Lp,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:mF("Image background",vn),cardImage:ZF(),spinOnHover:bt("Rotate on hover",e?.spinDefault??!0,I(LT,{}))}}function Gx(){return{outline:Zo("Card outline",I(OT,{}),ri,oi),indexBadge:Zo("Card number",I(px,{}),ti,ei),showBadge:bt("Product badge",!0,I(Ns,{noun:"tag"}))}}function Ux(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:bt("Price",!0,I(gT,{})),showCardFinishes:bt("Finish swatches",!0,I(bT,{})),showCardSizes:bt("Sizes",t.showCardSizes,I(ET,{})),showCardBuy:bt("Buy button",t.showCardBuy,I(dT,{})),showCardPage:bt("Page button",t.showCardPage,I(gx,{}))}}function TG(e,o="display"){let t=Ro(o);return{[o]:ve("desktop",{type:"custom",render:({value:r,onChange:a})=>I($x,{parts:e,changed:np(r),shown:n=>tn(r,n),onPress:(n,s)=>a(sp(r,n,s)),onReset:()=>a(void 0)})}),[t]:ve("mobile",{type:"custom",render:({value:r,onChange:a})=>I(XF,{parts:e,desktopKey:o,value:r,onChange:a})})}}function $x({parts:e,changed:o,shown:t,onPress:r,onReset:a,detail:n}){let s=l("Display");return I(ne,{label:s,icon:I(lT,{}),changed:o,action:I(qe,{words:j()?.panel,label:s,changed:o,detail:n,onReset:a}),children:I(qT,{label:s,items:e.map(i=>({id:i.id,label:l(i.label),shown:t(i.id)})),onChange:r})})}function XF({parts:e,desktopKey:o,value:t,onChange:r}){let a=St()[o];return I($x,{parts:e,changed:lp(t),shown:n=>$s(a,t,n),onPress:(n,s)=>r(ip(t,n,s)),onReset:()=>r(nn),detail:l("the same as Desktop")})}function ZF(){return Rx("Card image",{min:to,max:lt,step:zu,hint:"Rounds the picture. The card's own corner is in Site styles."})}function FG(){return Ui({sidesKey:"cornerSides",step:Wu,useFollowed:()=>to,mark:I(QF,{label:Gu}),hint:l("Rounds the picture. Left alone it stays square.")})}function QF({label:e,changed:o=!1,onReset:t=()=>{}}){return I(qe,{words:j()?.panel,label:l(e),changed:o,onReset:t})}function EG(){return{type:"custom",render:({value:e,onChange:o})=>I(JF,{value:typeof e=="string"?e:"",onChange:o})}}function JF({value:e,onChange:o}){let[t,r]=En(null),a=Os.filter(s=>t===null||Lo[s].across===t),n=e&&e in Lo?Lo[e]:null;return yt(_o,{children:[I(ne,{label:l("Photos in a row"),icon:I(uT,{}),children:yt("div",{className:"sf-gallery-filter",children:[I("button",{type:"button","aria-pressed":t===null,onClick:()=>r(null),children:l("All")}),$u.map(s=>I("button",{type:"button","aria-pressed":t===s,onClick:()=>r(s),children:s},s))]})}),I(ne,{label:l("Layout"),icon:I(yT,{}),value:n?l(n.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:a.length,total:Os.length}),children:I(Sx,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:o,onClear:()=>o(""),options:a.map(s=>({value:s,label:l(Lo[s].label),picture:I("span",{className:"sf-gallery-pic",children:Lo[s].desktop.map(([i,c],u)=>I("i",{style:{gridColumn:`span ${i}`,gridRow:`span ${c}`}},u))})}))})})]})}import{jsx as zn,Fragment as eE,jsxs as qx}from"react/jsx-runtime";import{Button as jx,Dialog as oE}from"efficient-shell/ui";function tE(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 Kx({count:e,onCancel:o,onConfirm:t}){return qx(oE,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Clear this site\u2019s colors?"),footer:qx(eE,{children:[zn(jx,{variant:"secondary",onClick:o,children:l("Cancel")}),zn(jx,{variant:"danger",onClick:t,children:l("Clear colors")})]}),children:[zn("p",{children:tE(e)}),zn("p",{className:"mt-2 font-medium",children:l("This cannot be undone.")})]})}var iE=Wi("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"),fE="Reset color",cE={selected:0,themes:[]};function dE(e){e(cE)}function Xx({value:e,onChange:o}){let t=e?.themes??[],r=t.length===0,a=Qe(e),[n,s]=Yx(!1),i=lE(),[c,u]=Yx(null),p=(v,w)=>{o({...a,themes:a.themes.map((g,y)=>y===v?w:g)})},m=Rt(a).accent,x=new Set(a.themes.map(v=>v.brandInk).filter(Boolean)),h=Zd.filter(v=>!x.has(v)).map(v=>Qd(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 Vx(rE,{children:[r?null:Zt(nE,{label:l(fE),icon:Co(iE),labelId:"sf-theme-reset",action:Zt(aE,{label:l("all theme colors"),words:i.panel,changed:!0,onReset:()=>s(!0)})}),n&&Zt(Kx,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),dE(o)}}),Zt("div",{className:"sf-theme-list",role:"radiogroup","aria-label":l("Theme"),children:b.map((v,w)=>Zt(fn,{index:w,colors:v,selected:w===a.selected,open:c===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))}),Vx("button",{type:"button",onClick:k,className:"sf-theme-add",children:[Zt(sE,{size:12}),l("Add new theme")]})]})}import{jsx as Wn}from"react/jsx-runtime";import{SettingsDefaultReset as uE,SettingsField as pE}from"efficient-easel/panel";import{SquareIcon as mE}from"efficient-easel/icons";var xE="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",Yi="Corners";function Zx({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Wn(pE,{label:l(Yi),icon:Wn(mE,{}),value:r?void 0:`${e}px`,changed:!r,action:Wn(uE,{words:j()?.panel,label:l(Yi),changed:!r,detail:l("the built-in corners"),onReset:()=>o(null)}),hint:t?l(xE):void 0,children:Wn(je,{min:to,max:lt,step:1,value:e??to,readout:!1,ariaLabel:l(Yi),onChange:o})})}import{jsx as Yr}from"react/jsx-runtime";import{SettingsDefaultReset as IE,SettingsField as hE,SettingsSegmented as gE}from"efficient-easel/panel";import{ShadowIcon as bE}from"efficient-easel/icons";var Xi={none:"None",soft:"Soft",lifted:"Lifted"},yE="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",SE={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)"},CE={labelsPx:90.25,widestLabelPx:34.6};function Qx({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??hs;return Yr(hE,{label:l("Card shadow"),icon:Yr(bE,{}),value:l(Xi[a]),changed:!r,action:Yr(IE,{words:j()?.panel,label:l("Card shadow"),changed:!r,detail:l(Xi[hs]),onReset:()=>o(null)}),hint:t?l(yE):void 0,children:Yr(gE,{options:lu.map(n=>({id:n,label:l(Xi[n]),icon:Yr("span",{className:"sf-shadow-chip",style:{boxShadow:SE[n]}})})),value:a,ariaLabel:l("Card shadow"),fit:CE,onChange:o})})}import{jsx as Zi}from"react/jsx-runtime";import{SettingsDefaultReset as vE,SettingsField as wE}from"efficient-easel/panel";import{ShadowIcon as kE}from"efficient-easel/icons";var TE="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 Jx({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Zi(wE,{label:l("Shadow color"),icon:Zi(kE,{}),changed:!r,action:Je({value:e??"",inherited:r?bs:void 0,onChange:o,label:"Shadow color",after:Zi(vE,{words:j()?.panel,label:l("Shadow color"),changed:!r,detail:bs,onReset:()=>o(null)})}),hint:t?l(TE):void 0})}import{jsx as Gn}from"react/jsx-runtime";import{SettingsDefaultReset as FE,SettingsField as EE}from"efficient-easel/panel";import{AlignSeparateIcon as PE}from"efficient-easel/icons";var LE="The space between the blocks inside a row, a grid or a box. Default means each one keeps the spacing it already has.",Qi="Block gap",OE=Ut.Grid;function eI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Gn(EE,{label:l(Qi),labelId:"sf-block-gap",icon:Gn(PE,{}),value:r?void 0:`${e}px`,changed:!r,action:Gn(FE,{words:j()?.panel,label:l(Qi),changed:!r,detail:l("each block's own spacing"),onReset:()=>o(null)}),hint:t?l(LE):void 0,children:Gn(je,{min:gt.min,max:gt.max,step:gt.step,value:r?OE:e,readout:!1,ariaLabel:l(Qi),onChange:o})})}import{jsx as Un}from"react/jsx-runtime";import{SettingsDefaultReset as RE,SettingsField as AE,SettingsSegmented as BE}from"efficient-easel/panel";import{HoverIcon as _E}from"efficient-easel/icons";var Ji={none:"None",lift:"Lift",highlight:"Highlight"},DE="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 oI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??gs;return Un(AE,{label:l("Hover effect"),icon:Un(_E,{}),value:l(Ji[a]),changed:!r,action:Un(RE,{words:j()?.panel,label:l("Hover effect"),changed:!r,detail:l(Ji[gs]),onReset:()=>o(null)}),hint:t?l(DE):void 0,children:Un(BE,{options:su.map(n=>({id:n,label:l(Ji[n])})),value:a,ariaLabel:l("Hover effect"),onChange:o})})}import{jsx as $n}from"react/jsx-runtime";import{SettingsDefaultReset as NE,SettingsField as ME,SettingsSegmented as HE}from"efficient-easel/panel";import{ImageIcon as zE}from"efficient-easel/icons";var ef="Hero image",of=[{followsWidth:!1,label:jr.full},{followsWidth:!0,label:jr.page}],WE="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 tI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return $n(ME,{label:l(ef),icon:$n(zE,{}),value:l(of.find(n=>n.followsWidth===a).label),changed:!r,action:$n(NE,{words:j()?.panel,label:l(ef),changed:!r,detail:l(of.find(n=>!n.followsWidth).label),onReset:()=>o(null)}),hint:t?l(WE):void 0,children:$n(HE,{options:of.map(n=>({id:n.followsWidth,label:l(n.label)})),value:a,ariaLabel:l(ef),onChange:o})})}import{jsx as qn}from"react/jsx-runtime";import{SettingsDefaultReset as GE,SettingsField as UE,SettingsSegmented as $E}from"efficient-easel/panel";import{DropIcon as qE}from"efficient-easel/icons";var tf="Photography",rI={shot:"As shot",mono:"Black and white"},rf=[{grayscale:!1,label:rI.shot},{grayscale:!0,label:rI.mono}],jE="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function aI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return qn(UE,{label:l(tf),icon:qn(qE,{}),value:l(rf.find(n=>n.grayscale===a).label),changed:!r,action:qn(GE,{words:j()?.panel,label:l(tf),changed:!r,detail:l(rf.find(n=>!n.grayscale).label),onReset:()=>o(null)}),hint:t?l(jE):void 0,children:qn($E,{options:rf.map(n=>({id:n.grayscale,label:l(n.label)})),value:a,ariaLabel:l(tf),onChange:o})})}import{jsx as af}from"react/jsx-runtime";import{useId as KE}from"react";import{SettingsField as VE,SettingsSwitch as YE}from"efficient-easel/panel";import{ShareIcon as XE}from"efficient-easel/icons";var ZE="Share button",QE="On every blog post.";function nI({value:e,onChange:o,showHint:t=!0}){let r=KE();return af(VE,{label:l(ZE),labelId:r,icon:af(XE,{}),action:af(YE,{checked:e===!0,onChange:o,ariaLabelledBy:r}),hint:t?l(QE):void 0})}import{jsx as jn}from"react/jsx-runtime";import{SettingsDefaultReset as JE,SettingsField as e1}from"efficient-easel/panel";import{PaddingXIcon as o1}from"efficient-easel/icons";var nf="Side space",lf=So.default,t1="The room left at the left and right edge of every page.";function lI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return jn(e1,{label:l(nf),labelId:"sf-side-space",icon:jn(o1,{}),value:`${e??lf}px`,changed:!r,action:jn(JE,{words:j()?.panel,label:l(nf),changed:!r,detail:`${lf}px`,onReset:()=>o(null)}),hint:t?l(t1):void 0,children:jn(je,{min:So.min,max:So.max,step:So.step,value:e??lf,readout:!1,ariaLabel:l(nf),onChange:o})})}import{jsx as Kn}from"react/jsx-runtime";import{SettingsDefaultReset as r1,SettingsField as a1}from"efficient-easel/panel";import{WidthIcon as n1}from"efficient-easel/icons";var sf="Content width",ff=Be.default,l1="The standard width every page on this site renders at.";function sI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Kn(a1,{label:l(sf),labelId:"sf-site-width",icon:Kn(n1,{}),value:`${e??ff}px`,changed:!r,action:Kn(r1,{words:j()?.panel,label:l(sf),changed:!r,detail:`${ff}px`,onReset:()=>o(null)}),hint:t?l(l1):void 0,children:Kn(je,{min:Be.min,max:Be.max,step:Be.step,value:e??ff,readout:!1,ariaLabel:l(sf),onChange:o})})}import{jsx as YI}from"react/jsx-runtime";import{TextStyleItem as IP,TextStylesGroup as hP}from"efficient-easel/text-styles";import{jsx as cP}from"react/jsx-runtime";import{useState as dP}from"react";import{TextStylesList as uP}from"efficient-easel/text-styles";import{usePreviewDevice as pP}from"efficient-easel/draw/client";import{textStyleCaseCss as aP}from"efficient-easel/draw";import{textStyleCaseCss as h1,textStyleCaseOfCss as g1}from"efficient-easel/draw";function cf(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 Zn,encodePartId as Qn}from"efficient-easel/draw";import{LINK_FIELD_MARKER as hI,SCAFFOLD_FIELD_MARKER as xI,TEXT_FIELD_MARKER as Jn}from"efficient-easel/draw";import{readHidable as gI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as p1}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as u1}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as iI}from"efficient-easel/draw";import{readHidable as fI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as s1}from"efficient-easel/draw";var i1=s1,f1=["text","textarea"],c1=["textarea","plainTextarea"];function d1(e){return!e||typeof e!="object"?null:e[iI]?.control??null}function Qt(e){let o=d1(e);return o&&i1.includes(o)?o:null}function Vn(e){return c1.includes(e)}function cI(e){return!e||typeof e!="object"?void 0:e[iI]?.placeholder}function Yn(e){return fI(e).text}function df(e,o,t){return f1.includes(e)?{text:t,hidden:fI(o).hidden}:t}function dI(e,o,t,r){return Yn(e[o])===r?null:{...e,[o]:df(t,e[o],r)}}function uf(e){if(!(!e||typeof e!="object"))return e[u1]}function pf(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function uI(e,o){if(!Array.isArray(o))return[];let t=uf(e),r=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,i)=>{let c=s?.[n];typeof c=="string"&&c&&r.push({row:{index:i,rowKey:n},text:c})}),r}let a=pf(e);return a?(o.forEach((n,s)=>{for(let[i,c]of Object.entries(a)){if(!Qt(c))continue;let u=Yn(n?.[i]);u&&r.push({row:{index:s,rowKey:i},text:u})}}),r):[]}function Xr(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function mf(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 pI(e,o,t,r,a){let n=Xr(e[o],t);return Yn(n)===a?null:mf(e,o,t,df(r,n,a))}function mI(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var io="data-sf-part",Ke="data-sf-part-selected",g7="data-sf-part-kind",m1="data-sf-part-style-owner",x1="data-sf-part-style-kind";function b7(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(m1),r=o.getAttribute(x1);if(t&&r)return{owner:t,kind:r};if(o.getAttribute("data-puck-component"))return null}return null}var II=2;function bI(e,o){if(!e)return!1;let t=Zn(e);return!!t?.propKey&&t.nodeId===o}function Jt(e){return mt(e).replace(/\s+/gu,"")}function Xn(e,o,t){let r=e[Jn];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}=gI(o);a?t.push(a):r.placeholder&&t.push(r.placeholder);return}if(!e[hI]){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))Xn(s,a?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[a,n]of Object.entries(e.objectFields))Xn(n,o[a],t)}}function yI(e){if(!e||typeof e!="object")return!1;let o=e;return o[hI]?!1:!!o[Jn]||o.type==="text"||o.type==="textarea"}function el(e,o){let t=e[Jn];return t?.label?t.label:typeof e.label=="string"?e.label:o}function xf(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function y7(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=[];Xn(n,o?.[r],s),!s.length&&n[xI]!==void 0&&Xn(n,n[xI],s);let i=el(n,r),c=new Set;for(let{row:m,text:x}of uI(n,o?.[r])){let h=Jt(x);h.length<II||(c.add(h),t.push({key:r,label:i,texts:[h],row:m}))}let u=new Set(c),p=[];for(let m of s){let x=Jt(m);x.length<II||u.has(x)||(u.add(x),p.push(x))}p.length&&t.push({key:r,label:i,texts:p})}return t}var I1=p1;function SI(e,o){if(!o||typeof o!="object"||zr(e)||kp(o))return null;let t=o[Jn];return!t||!I1.includes(t.control)?null:t}function S7(e,o){let t=SI(e,o);return t!==null&&t.identifier!==!0}function CI(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){let n=SI(r,a);if(!n)continue;let{text:s,hidden:i}=gI(o?.[r]),c=s||n.placeholder||"",u=mt(c).replace(/\s+/gu," ").trim();t.push({key:r,label:xf(el(a,r)),preview:u,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!i})}return t}var gf="_partStyles",yf="data-sf-part-styled",b1=[400,500,600,700],LI=["left","center","right","justify"],vI=5,wI=1e3,y1=-5,S1=10,Sf=0,Cf=64,vf=2,wf=120,Jo=1280,kf=10,kI={size:{min:vI,max:wI,step:1},sizePhone:{min:vI,max:wI,step:1},padding:{min:Sf,max:Cf,step:vf},width:{min:wf,max:Jo,step:kf}},C1=.05,v1=.01,w1=["line","letter"],k1=.5,T1=2.5,F1=-1,E1=1,P1=0,L1=400;function Qr(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function OI(e){return Qr(e?.[gf])??{}}function tl(e,o){let t=OI(e);return Object.hasOwn(t,o)?Qr(t[o])??{}:{}}function RI(e,o,t){let r={...OI(e)};if(O1(t).length?r[o]=t:delete r[o],!Object.keys(r).length){let{[gf]:a,...n}=e;return n}return{...e,[gf]:r}}function O1(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function R1(e){return w1.includes(e)}var Zr=(e,o,t)=>Math.min(t,Math.max(o,e));function A1(e,o){if(R1(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Zr(t,y1,S1)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?er(Zr(t,k1,T1),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?er(Zr(t,F1,E1),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Zr(t,P1,L1)}if(Object.hasOwn(kI,e)){let{min:t,max:r}=kI[e],a=Math.round(Number(o));return Number.isFinite(a)?Zr(a,t,r):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"?Eo.includes(String(o))?o:null:o}var B1=["weight","size","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding","width"];function AI(e){let o=null,t=r=>{o??={...e},delete o[r]};for(let r of B1){let a=e[r];a!==void 0&&!(typeof a=="number"&&Number.isFinite(a))&&t(r)}return e.align!==void 0&&!LI.includes(e.align)&&t("align"),o??e}var _1=[["font","role"],["line","lineHeight"],["letter","letterSpacing"]];function D1(e){let o=[];for(let[t,r]of _1)t===e?o.push(r):r===e&&o.push(t);return o}function ea(e,o,t,r){let a={...tl(e,o)},n=r==null?null:A1(t,r);if(n===null)delete a[t];else{a[t]=n;for(let s of D1(t))delete a[s]}return RI(e,o,a)}function BI(e,o){return RI(e,o,{})}function N1(e){return g1(e)??"none"}function M1(e){return h1(e)??""}var H1={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 z1(e){let o=e.role;return o&&Eo.includes(o)?o:null}var W1={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 G1(e){let o=Vd[e],t=W1[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function oa(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=er(U1+e.line*C1,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=er(e.letter*v1,4)),o}var U1=1,ta="--sf-part-para",Tf="(max-width: 719.98px)";function TI(e){return e=AI(e),typeof e.sizePhone=="number"&&e.sizePhone>0?{fontSize:`${e.sizePhone}px`}:{}}function $1(e,o){return o&&typeof e.sizePhone=="number"&&e.sizePhone>0?{...e,size:e.sizePhone}:e}function ol(e,o){e=AI(e);let t=z1(e),r=oa(e),a=e.size?`${e.size}px`:t?G1(t):"";return{fontFamily:e.font?V1(e.font):t?`var(${H1[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`:"",[ta]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:M1(e.case),textAlign:e.align??"",paddingTop:If(e.padding),paddingBottom:If(e.padding),maxWidth:If(e.width),color:q1(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var q1=e=>e===void 0||e===""?"":Object.hasOwn(Oo,e)?Oo[e]:_I.test(e)?e:"",_I=/^#[0-9a-fA-F]{6}$/;function DI(e){return _I.test(e)}var If=e=>e===void 0?"":`${e}px`,er=(e,o)=>Number(e.toFixed(o));function E7(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:j1(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(r)?er(r/t,3):1.2,letterEm:Number.isFinite(a)?er(a/t,4):0,align:K1(e.textAlign),case:N1(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0,widthPx:Number.isFinite(s)&&s<Jo?Math.round(s):Jo}}function j1(e){return Number.isFinite(e)?b1.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function K1(e){for(let o of LI)if(o===e)return o;return e==="end"?"right":"left"}function P7(e,o){let t=FI(e);if(!t)return"";for(let r of no)if(FI(o(r.cssVar))===t)return r.key;return""}var FI=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function V1(e){let o=Ot(e);return o?`var(${o.cssVar})`:""}function L7(e,o,t,r){return!o||Zn(o)?.nodeId!==e?null:t.find(a=>r(a.getAttribute("class")))??t[0]??null}function O7(e,o,t=()=>Jr,r=s=>s,a=Z1,n=!1){let s=0;for(let{element:i,partId:c}of e){let u=Zn(c)?.propKey;if(!u)continue;let p=r(u),m=Object.hasOwn(o,p)?Qr(o[p])??{}:{},x=ol($1(m,n),Jr),h=hf.some(C=>i.style[C]),b=!1;for(let[C,k]of Object.entries(x))Q1(i,C,k),k&&(b=!0);if(h||hf.some(C=>x[C]))for(let C of Y1(i,a))for(let k of hf)C.style[k]=x[k]??"";b&&(s+=1)}return s}function Y1(e,o){let t=Jt(e.textContent??""),r=[],a=e;for(let n=0;n<X1&&o(a);n+=1){let s=a.parentElement;if(!s||Jt(s.textContent??"")!==t)break;r.push(s),a=s}return r}var X1=8;function Z1(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Jr={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:Jo};function Q1(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===ta&&(t?a.setAttribute?.(EI,""):a.removeAttribute?.(EI))}var EI="data-sf-part-para",J1=Object.keys(ol({},Jr)),bf=new Set(["color","overflowWrap",ta,"fontStyle"]),hf=J1.filter(e=>!bf.has(e));function NI(e,o,t,r=a=>a){let a=new Map;for(let i of e){let c=cf(i.key,i.row);for(let u of i.texts){let p=a.get(u);p?(p.keys.add(i.key),p.partKeys.add(c)):a.set(u,{keys:new Set([i.key]),partKeys:new Set([c])})}}let n=new Map;for(let i of Object.keys(o)){if(!eP(i))continue;let c=Qr(o[i])??{},u=ol(c,Jr),p=TI(c);!Object.values(u).some(Boolean)&&!Object.keys(p).length||n.set(i,{stamp:PI(t,i),declarations:u,...Object.keys(p).length?{phone:p}:{}})}let s=new Map;for(let[i,{keys:c,partKeys:u}]of a){let p=u.size===1?[...u][0]:c.size===1?[...c][0]:null;if(!p)continue;let m=r(p);if(!Object.hasOwn(o,m))continue;let x=Qr(o[m])??{},h=ol(x,Jr),b=TI(x);!Object.values(h).some(Boolean)&&!Object.keys(b).length||s.set(i,{stamp:PI(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 eP(e){return e.startsWith("@")}function Ff(e,o){return e?.kindRules.get(o)??null}function PI(e,o){let t=r=>r.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function MI(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!==""),c=h=>h.map(([b,C])=>`${tP(b)}: ${C}`).join("; "),u=`[${yf}="${n}"]`,p=i.filter(([h])=>!bf.has(h)),m=i.filter(([h])=>bf.has(h));p.length&&o.push(`${u}, *:has(> ${u}) { ${c(p)} }`),m.length&&o.push(`${u} { ${c(m)} }`),s[ta]&&o.push(...oP(u));let x=Object.entries(a.phone??{}).filter(([,h])=>h!=="");x.length&&o.push(`@media ${Tf} { ${u}, *:has(> ${u}) { ${c(x)} } }`)};for(let a of e.rules.values())r(a);for(let a of e.kindRules.values())r(a);return o.join(`
4
- `)}function oP(e){let o=`var(${ta})`,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 tP=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function HI(e,o){if(!e)return null;let t=Jt(o),r=e.rules.get(t);if(r)return r;if(t.length<rP||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 rP=8;var Ef=e=>e==="sentence"?"none":void 0,No=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,ra=e=>typeof e=="string"&&e?e:void 0,WI=["font","color","size","sizePhone","weight","italic","lineHeight","letterSpacing","paragraphSpacing","letterCase","largestSize"];function fo(e){let o={};for(let t of WI)e[t]!==void 0&&(o[t]=e[t]);return o}function Lf(e,o){let{auto:t,...r}=e,a=new Set(o??[]),n=WI.filter(s=>a.has(s)&&e.values[s]===void 0);return n.length?{...r,auto:n}:r}function Of(e){let o=e.fonts,t=e.sizes,r=e.typography,a=fu(e.compression),n=(i,c)=>({id:`heading-${i}`,kind:"heading",name:`Heading ${i}`,values:fo(c)}),s=(i,c={})=>({id:`body-${i}`,kind:"body",name:`Body ${i}`,values:fo(c)});return[n(1,{font:ra(o.heading),size:No(t.headingLarge),weight:No(r.weight),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Ef(r.case),largestSize:No(r.maxPx)}),n(2,{font:ra(o.heading2),size:No(t.headingMedium),weight:No(r.weight2),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Ef(r.case2)}),n(3,{font:ra(o.heading3),size:No(t.headingSmall),weight:No(r.weight3),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Ef(r.case3)}),s(1,{font:ra(o.body),size:No(t.body)}),s(2),s(3),s(4),s(5,{font:ra(o.label),size:No(t.label)})]}function rl(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=>Lf({...o,values:fo(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function N7(e){return rl(e)??[]}function et(e,o){let t=Of(o),r=rl(e);return r?r.map(a=>{let n={...Pf(t,a.id)};for(let s of a.auto??[])delete n[s];return{...a,values:fo({...n,...a.values})}}):t}var Pf=(e,o)=>e.find(t=>t.id===o)?.values??{},zI=["heading-1","heading-2","heading-3"];function GI({saved:e,old:o,cur:t,next:r,sizeOf:a}){let n=Of(o),s=rl(e)??n.map(m=>({...m,values:{}})),i=et(s,o),c=[],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 nP([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],Pf(n,m.id)[y]!==void 0&&(c.push([m.id,y]),C.add(y));continue}if(C.delete(y),g==="lineSpacing")b.lineHeight=or(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?or(E/L,4):0}else b[y]=E}return Lf({id:m.id,kind:m.kind,name:m.name,values:fo(b)},C)}),p=o.compression;if(c.some(([m,x])=>(x==="lineHeight"||x==="letterSpacing")&&zI.includes(m))&&st(p)!=="normal"){for(let m of zI){let x=u.find(b=>b.id===m);if(!x)continue;let h={...x.values};for(let b of["lineHeight","letterSpacing"])c.some(([C,k])=>C===m&&k===b)||h[b]===void 0&&!(x.auto??[]).includes(b)&&(h[b]=Pf(n,m)[b]);x.values=fo(h)}p="normal"}return{saved:u,old:{...o,compression:p}}}function UI(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=st(e.old.compression)),t}var or=(e,o)=>Number(e.toFixed(o));function $I(e,o){return e.map(t=>{let{lineHeight:r,letterSpacing:a,...n}=t.values,s={...n};return r!==void 0&&(s.lineSpacing=or(r*100,1)),a!==void 0&&(s.letterSpacing=or(a*o(t),2)),{id:t.id,kind:t.kind,name:t.name,values:s}})}function nP(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=or(r/100,3)),a!==void 0){let c=o({...s,values:{...s.values}});i.letterSpacing=c?or(a/c,4):0}return{...s,values:fo(i)}})}function M7(e){let o={fonts:Or({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:Is({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:du(e)},t=e.text_styles??null,r=Array.isArray(t)?Rf(et(t,o),o):o;return{fonts:Or(r.fonts),sizes:Is(r.sizes),compression:st(r.compression),typography:r.typography,textStyles:t}}function Rf(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"),c=o.fonts,u=o.sizes,p=o.typography,m=x=>x==="none"?"sentence":"authored";return{fonts:{...c,heading:r.font??c.heading,heading2:a.font??r.font??c.heading2,heading3:n.font??r.font??c.heading3,body:s.font??c.body,label:i.font??c.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 lP(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 sP(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 iP(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 H7(e){let o=[];for(let t of e){let r=t.values,a=`.${lP(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?sP(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 c=[];r.lineHeight!==void 0&&c.push(`line-height: ${r.lineHeight}`),r.letterSpacing!==void 0&&c.push(`letter-spacing: ${r.letterSpacing}em`),t.kind==="body"&&n.push(...c);let u=aP(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"&&c.length&&o.push(`${a}, ${a}:is(h1, h2, h3, h4) { ${c.join("; ")} }`),r.paragraphSpacing&&o.push(...iP(a)),r.sizePhone!==void 0){let p=fP[t.id],m=[`${a} { font-size: ${r.sizePhone}px }`];p&&m.push(`.sf-themed-content { --size-${p}: ${r.sizePhone}px !important }`),o.push(`@media ${Tf} { ${m.join(" ")} }`)}}return o.join(`
5
- `)}var fP={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function z7(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function Af(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 Bf(e){let o=oa(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 qI(e){return Object.keys(Bf(e)).length>0}function jI({saved:e,old:o,styleId:t,values:r}){return{saved:(rl(e)??Of(o).map(a=>({...a,values:{}}))).map(a=>a.id===t?Lf({...a,values:fo({...a.values,...r})},a.auto):a),old:o}}var KI=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],mP=["size","lineSpacing","letterSpacing","letterCase"],xP=500,_f=no.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function VI({saved:e,old:o,colours:t,sizeOf:r,onChange:a,openId:n,onOpenChange:s,readOnly:i=!1,withoutSize:c=!1}){let[u,p]=dP(null),m=pP()==="mobile",x=et(e,o),h=$I(x,r);return cP(uP,{styles:h,onChange:b=>a(GI({saved:e,old:o,cur:h,next:b,sizeOf:r})),fonts:_f,colours:t,settings:c?KI.filter(b=>b!=="size"):KI,auto:mP,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=xP),k}})}var XI=["font","size","weight","emphasis"],gP=500;function bP({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 yP(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 ZI(e){let{headingWeight:o,open:t,onOpenChange:r,onChange:a,withoutSize:n=!1}=e,s=bP(e);return YI(hP,{label:l("Accent"),children:YI(IP,{style:s,fonts:_f,settings:n?XI.filter(i=>i!=="size"):XI,auto:["size"],fallback:()=>({weight:o??gP}),open:t,onOpenChange:r,onChange:i=>yP(s,i).forEach(a)})})}import{SettingsTabs as CP}from"efficient-easel/panel";import{Tooltip as R$,tabButtonId as vP,tabPanelId as wP}from"efficient-shell/ui";import{ContrastIcon as kP,NoteIcon as TP,SettingsIcon as FP,TypeIcon as EP}from"efficient-easel/icons";function QI(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 r$,pinPreviewToBottom as a$,pinPreviewToSection as n$,previewFrame as JI,scrollPreviewToSection as eh,scrollPreviewToTop as Df}from"efficient-easel/screen/lib/puck/preview-dom";import{useEasel as SP}from"efficient-easel/easel";function al({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=SP(L=>L),{fonts:a,setFonts:n,sizes:s,setSizes:i,headingCompression:c,setHeadingCompression:u,headingTypography:p,setHeadingTypography:m,textStyles:x,setTextStyles:h}=Z(),b=t.data,C=b.root?.props??{},k=e?Or(C.fonts):a,v=e?ru:s,w=e?st(C.headingCompression):c,g=e?cu(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=Rf(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(UI(L,y),B)},writeRoot:F}}var Nf="sf-site-styles",PP="sf-site-styles-tabpanel",zf=!1,LP="Show hints";function Wf({shown:e,onChange:o}){return J("div",{className:"sf-hints",children:Ct("button",{type:"button","aria-pressed":e,onClick:()=>o(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[J(TP,{size:13}),l(LP)]})})}var th="text",tr=[{id:"basics",label:"Basics",icon:J(FP,{})},{id:"theme",label:"Theme",icon:J(kP,{})},{id:"text",label:"Text",icon:J(EP,{})}];function OP({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=oh(u=>u),{theme:a,setTheme:n}=Z(),s=t.data,i=s.root?.props??{},c=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 J(Xx,{value:e?i.theme:a,onChange:c})}function RP({themeFromDocument:e,persist:o}){let[t,r]=Hf(null),{theme:a,setFonts:n,setSizes:s,setHeadingTypography:i}=Z(),c=al({themeFromDocument:e,persist:o}),{old:u,saved:p,writeRoot:m}=c,x=c.fonts,h=c.sizes,b=c.typography,C=F=>F.values.size??NP(BP[F.id]??"body")??_P[F.kind],k=F=>c.write(F),v=AP(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 Ct(rr,{children:[J(VI,{saved:p,old:u,colours:v,sizeOf:C,onChange:k,openId:t===Mf?null:t,onOpenChange:r,withoutSize:e}),J(ZI,{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 AP(e){let o=Rt(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 BP={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},_P={heading:32,body:14},DP={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 NP(e){if(typeof document>"u")return null;let o=(JI()?.contentDocument??document).querySelector(DP[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function MP({themeFromDocument:e,persist:o,showHint:t}){let{appState:r,dispatch:a}=oh(x=>x),{cornerRadiusPx:n,setCornerRadiusPx:s}=Z(),i=r.data,c=i.root?.props??{},u=c.cornerRadiusPx===void 0?nu[au(c.cornerStyle)]:Io(c.cornerRadiusPx),p=e?u:n,m=x=>a({type:"replaceRoot",root:{...i.root,props:{...c,...x}},recordHistory:!0});return J(Zx,{value:p,onChange:x=>{e?m({cornerRadiusPx:x}):s(x),o({corner_radius_px:x})},showHint:t})}function HP(e){return{site_width:e}}function zP({persist:e,showHint:o}){let{siteWidth:t,setSiteWidth:r}=Z();return J(sI,{value:t,onChange:a=>{r(a),e(HP(a),a===null)},showHint:o})}function WP(e){return{block_gap:e}}function GP(e){return{site_gutter:e}}function UP({persist:e,showHint:o}){let{siteGutter:t,setSiteGutter:r}=Z();return J(lI,{value:t,onChange:a=>{r(a),e(GP(a),a===null)},showHint:o})}function $P({persist:e,showHint:o}){let{blockGap:t,setBlockGap:r}=Z();return J(eI,{value:t,onChange:a=>{r(a),e(WP(a),a===null)},showHint:o})}function qP({persist:e,showHint:o}){let{heroBackgroundFollowsWidth:t,setHeroBackgroundFollowsWidth:r}=Z();return J(tI,{value:t,onChange:a=>{r(a),e({hero_background_follows_width:a},!0)},showHint:o})}function jP({persist:e,showHint:o=!0}){return Ct(rr,{children:[J(zP,{persist:e,showHint:o}),J(UP,{persist:e,showHint:o}),J($P,{persist:e,showHint:o}),J(qP,{persist:e,showHint:o})]})}function KP(e){return{card_shadow:e}}function VP(e){return e===null?{shadow_color:null}:{shadow_color:iu(e)}}function YP(e){return{hover_effect:e}}function XP({persist:e,showHint:o=!0}){let{cardShadow:t,setCardShadow:r,shadowColor:a,setShadowColor:n,hoverEffect:s,setHoverEffect:i}=Z();return Ct(rr,{children:[J(Qx,{value:t,onChange:c=>{r(c),e(KP(c),!0)},showHint:o}),J(Jx,{value:a,onChange:c=>{n(c),e(VP(c),c===null)},showHint:o}),J(oI,{value:s,onChange:c=>{i(c),e(YP(c),!0)},showHint:o})]})}function ZP(e){return{photography_grayscale:e}}function QP({persist:e,showHint:o}){let{photographyGrayscale:t,setPhotographyGrayscale:r}=Z();return J(aI,{value:t,onChange:a=>{r(a),e(ZP(a),!0)},showHint:o})}function JP({persist:e,showHint:o=!0}){return J(rr,{children:J(QP,{persist:e,showHint:o})})}function eL(e){return{share_button_on_posts:e}}function oL({persist:e,showHint:o=!0}){let{shareButtonOnPosts:t,setShareButtonOnPosts:r}=Z();return J(nI,{value:t,onChange:a=>{r(a),e(eL(a),!0)},showHint:o})}function ar(){let{websiteName:e}=Z();return e?.trim()||uu}function nl({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:r,tab:a,onTabChange:n}){let{persist:s}=Wt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:C=>{let k=QI(C);k&&r?.(k.msg,k.tone)}}),[i,c]=Hf(tr[0].id),u=a!==void 0,p=u?a:i,m=u?n??(()=>{}):c,x=tr.find(C=>C.id===p)??tr[0],[h,b]=Hf(zf);return Ct(rr,{children:[J(CP,{items:tr.map(C=>({...C,label:l(C.label)})),activeId:x.id,onSelect:m,ariaLabel:l("Site styles"),idPrefix:Nf}),Ct("div",{id:wP(Nf,x.id),className:PP,role:"tabpanel","aria-labelledby":vP(Nf,x.id),children:[p==="basics"&&Ct(rr,{children:[J(MP,{themeFromDocument:e,persist:s,showHint:h}),!e&&J(XP,{persist:s,showHint:h}),!e&&J(jP,{persist:s,showHint:h}),!e&&J(JP,{persist:s,showHint:h}),!e&&J(oL,{persist:s,showHint:h}),J(Wf,{shown:h,onChange:b})]}),p==="theme"&&J(OP,{themeFromDocument:e,persist:s}),p==="text"&&J(RP,{themeFromDocument:e,persist:s})]})]})}import{InspectorIconButton as dL}from"efficient-easel/chrome";import{Button as ch,Dialog as uL,FormField as pL,Input as dh,toast as uh}from"efficient-shell/ui";import{LayersTree as mL,TreeGroupLabel as xL,TreeRow as ph,TreeRowAction as Kf}from"efficient-easel/tree";import{AddIcon as IL,PageIcon as hL}from"efficient-easel/icons";import{PagesIcon as gL}from"efficient-easel/rail";var Gf="Main Pages",tL="Dynamic Pages",Uf="dynamic",rL="dynamic";function $f(e){return e.kind===rL}function rh(e){let o=[],t=[];for(let r of e){if($f(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??Gf,rows:[r]})}if(t.length){let r=o.findIndex(a=>a.key.startsWith("system:"));o.splice(r===-1?o.length:r,0,{key:Uf,label:tL,rows:t})}return o}import{useCallback as ll,useEffect as aL,useSyncExternalStore as nL}from"react";var ah=new WeakMap;function aa(e){let o=ah.get(e);return o||(o={rows:null,loading:null,listeners:new Set},ah.set(e,o)),o}function qf(e,o){e.rows=o;for(let t of e.listeners)t()}var sl=new Set;function il(e,o){o?sl.add(e):sl.delete(e)}function nh(e){let o=aa(e),t=e.listPages().then(r=>qf(o,sl.size?r.filter(a=>!sl.has(a.id)):r),()=>qf(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var lh=()=>null,lL=()=>()=>{};function jf(){let{adapter:e,ready:o}=Se(),t=ll(i=>{let{listeners:c}=aa(e);return c.add(i),()=>c.delete(i)},[e]),r=ll(()=>aa(e).rows,[e]),a=nL(o?t:lL,o?r:lh,lh);aL(()=>{if(!o)return;let i=aa(e);i.rows===null&&!i.loading&&nh(e)},[e,o]);let n=ll(()=>o?nh(e):Promise.resolve(),[e,o]),s=ll(i=>qf(aa(e),i),[e]);return{rows:a,reload:n,setRows:s,getRows:r}}function sL(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function sh(){let{currentSlug:e}=Se(),{rows:o}=jf();return sL(o,e)}var mh="sf-editor-pages-collapsed-groups",bL=e=>e.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),xh=(e,o)=>{let t=bL(e)||"page";if(!o.has(t))return t;let r=2;for(;o.has(`${t}-${r}`);)r+=1;return`${t}-${r}`};function Ih({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:r}){let a=Ae().chrome?.pageRows,n=_t(),{adapter:s,capabilities:i,ready:c,currentSlug:u}=Se(),p=ar(),{rows:m,reload:x,setRows:h,getRows:b}=jf(),[C,k]=nr(""),[v,w]=nr(!1),[g,y]=nr(null),[E,F]=nr(!1),[L,B]=nr(""),O=cL(),[M,re]=nr(()=>{if(typeof window>"u")return new Set;try{let P=window.localStorage.getItem(mh);return new Set(P?JSON.parse(P):[])}catch{return new Set}});fL(()=>{try{window.localStorage.setItem(mh,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=fh(()=>rh(m??[]),[m]),A=C.trim().toLowerCase(),oe=P=>!A||P.toLowerCase().includes(A),Oe=P=>A?!0:!M.has(P),Xe=fh(()=>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||!c||v||!s.createPage)){w(!0),y(null);try{let le=await s.createPage({slug:xh(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)}}},Re=P=>{let le=m??[],Y=s.deletePage;if(!c||v||!Y||le.length<=1)return;let te=le.findIndex(ye=>ye.id===P.id),ae=le.filter(ye=>ye.id!==P.id),pe=P.slug===u;il(P.id,!0),h(ae),y(null),pe&&ae[0]&&e(ae[0].slug);let Ne=()=>{il(P.id,!1);let ye=b()??[];if(ye.some(Fo=>Fo.id===P.id))return;let po=[...ye];po.splice(Math.max(0,Math.min(te,po.length)),0,P),h(po)};uh.undoable(l("Deleted \u201C{name}\u201D",{name:P.label}),{actionLabel:l("Undo"),commit:async ye=>{await Y(P.id,ye),il(P.id,!1)},undo:()=>{Ne(),pe&&e(P.slug)},onFail:()=>{Ne(),uh.error(l("Couldn\u2019t delete the page \u2014 please retry."))}})},Ge=P=>n.send("storefront-editor:open-page",{slug:P}),De=P=>{if(!oe(P.label))return null;let le=!t&&P.slug===u,Y=i.canDeletePagesInline&&(m??[]).length>1,te=$f(P),ae=P.kind==="lightbox",pe=[...te?[{label:l("Dynamic"),tone:"info"}]:[],...ae?[{label:l("Lightbox"),tone:"success"}]:[],...P.draft?[{label:l("draft"),tone:"draft"}]:[]],Ne=pe.length>0?pe:void 0,ye=i.pageCreationInAdminForm||Y?fl(ih,{children:[i.pageCreationInAdminForm&&fe(Kf,{kind:"plain",label:l("Edit \u201C{name}\u201D in {place}",{name:P.label,place:l("the admin")}),onClick:()=>Ge(P.slug),children:fe(cl,{name:"pencil",size:13,strokeWidth:1.7,rounded:!0})}),Y&&fe(Kf,{kind:"delete",label:l("Delete \u201C{name}\u201D",{name:P.label}),disabled:v,onClick:()=>Re(P),children:fe(cl,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return fe(ph,{icon:fe(hL,{size:14}),name:P.label,selected:le,onSelect:()=>e(P.slug),badge:Ne,actions:ye,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=Oe(P);return fl(iL,{children:[fe(xL,{count:te.length,expanded:ae,onToggle:()=>H(P),children:le}),ae&&te]},P)},ge=(a?.rows??[]).filter(P=>oe(P.label)).map(P=>{let le=t===P.key;return fe(ph,{icon:P.icon,name:P.label,selected:le,onSelect:()=>r(P.key),badge:{label:l("Preview"),tone:"warning"},actions:fe(Kf,{kind:"plain",label:l("Open the {name} in a new tab",{name:P.label}),onClick:()=>window.open(P.href,"_blank","noopener,noreferrer"),children:fe(cl,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":P.key}},P.key)}),Ie=i.hasSiteSettings&&!!a,Ze=(()=>{if(m===null)return null;let P=[],le=!1;for(let Y of W){Ie&&!le&&Y.key.startsWith("system:")&&(P.push(Ce("shop",a.title,ge)),le=!0);let te=Y.key===Uf||Y.label===Gf?l(Y.label):Y.label;P.push(Ce(Y.key,te,Y.rows.map(De)))}return Ie&&!le&&P.push(Ce("shop",a.title,ge)),P})();return fl("div",{className:"sf-pages",children:[fe(Ka,{icon:fe(gL,{}),title:l("Pages"),context:p,actions:fe(dL,{label:l("New page"),onClick:ro,children:fe(IL,{size:15})}),onHide:o}),fe("div",{className:"sf-pages-find",children:fe(dh,{type:"search",leftIcon:fe(cl,{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(mL,{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(uL,{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:fl(ih,{children:[fe(ch,{variant:"secondary",onClick:()=>F(!1),children:l("Cancel")}),fe(ch,{onClick:()=>{We()},disabled:v||!L.trim(),loading:v,children:l("Add page")})]}),children:fe(pL,{label:l("Page name"),htmlFor:O,hint:L.trim()?l("URL: /{slug}",{slug:xh(L,Xe)}):void 0,error:g??void 0,children:fe(dh,{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 yL}from"react/jsx-runtime";import{createContext as SL,useCallback as CL,useContext as vL,useState as wL}from"react";import{useSelectHandler as kL}from"efficient-easel/draw/client";var dl=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],lr=dl[0];var vt="right";function ul(e){return dl.includes(e??"")?e:lr}function hh(e){return e==="left"?"left":vt}function gh(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():""}var pl={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:vt,launcherLabel:"",showOnPhones:!0};function m8(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:gh(e.launcherColor),launcherIcon:e.launcherIcon?ul(e.launcherIcon):"",launcherPosition:hh(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var bh=SL({chat:pl,setChat:()=>{},selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function x8({children:e,chat:o=pl,onChatChange:t}){let[r,a]=wL(!1),n=CL(c=>t?.(c),[t]),{select:s,setSelectHandler:i}=kL();return yL(bh.Provider,{value:{chat:o,setChat:n,selected:r,setSelected:a,select:s,setSelectHandler:i},children:e})}var ml=()=>vL(bh);import{jsx as Vf}from"react/jsx-runtime";import{DesktopIcon as TL,PhoneIcon as FL,TabletIcon as EL}from"efficient-easel/icons";import{VIEW_TIERS as PL,VIEW_TIER_LABEL as LL}from"efficient-easel/draw";var OL={desktop:Vf(TL,{}),tablet:Vf(EL,{}),mobile:Vf(FL,{})},yh=PL.map(e=>({id:e,get label(){return l(LL[e])},icon:OL[e]}));import{PreviewDeviceContext as RM}from"efficient-easel/draw/client";import{jsx as RL}from"react/jsx-runtime";import{createContext as AL,useCallback as Sh,useContext as BL,useMemo as _L,useRef as DL}from"react";var NL=Object.fromEntries(Ga.map(e=>[e,{value:"",error:null}])),Ch=AL({links:mu,rows:NL,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function k8({children:e,value:o}){let t=DL(()=>{}),r=Sh(()=>t.current(),[]),a=Sh(s=>{t.current=s},[]),n=_L(()=>({...o,openPanel:r,setOpenHandler:a}),[o,r,a]);return RL(Ch.Provider,{value:n,children:e})}var na=()=>BL(Ch);import{jsx as ML}from"react/jsx-runtime";import{createContext as HL,useContext as zL,useMemo as WL,useState as GL}from"react";var vh=HL(null);function P8({children:e}){let[o,t]=GL(null),r=WL(()=>({surface:o,setSurface:t}),[o]);return ML(vh.Provider,{value:r,children:e})}function wh(){return zL(vh)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as UL}from"efficient-easel/draw/client";var la="Scrolling Bar",{Provider:R8,useSelection:xl}=UL("selectedHeroId");import{createPreviewSelectionContext as $L}from"efficient-easel/draw/client";var{Provider:_8,useSelection:Il}=$L("selectedHeroPart");import{isShown as lO,lazyShowWhenContext as sO}from"efficient-shell/format";var hl="product",qL="recordType",jL={key:hl,label:"Product",fields:[]};var KL=new Map,VL=0;function N8(){return[jL,...KL.values()]}function M8(){return VL}function YL(e){let o=e?.[qL];return typeof o!="string"?hl:o.trim()||hl}function Yf(e){return YL(e)===hl}var Xf="product",XL="tyre";var ZL="productType",QL={[Xf]:"alloy-wheel",[XL]:"tyre"},JL=["alloy-wheel","tyre"];function kh(e,o){return Yf(o)?eO(o)??QL[e]??null:null}function eO(e){if(!Yf(e))return null;let o=e?.[ZL];return typeof o=="string"&&JL.includes(o)?o:null}var gl=null,Th=null;function oO(e,o){gl=e,Th=o}function U8(e){oO(e,null)}function $8(){return gl}function Fh(){return Th==="dynamic"||gl===Xf}function q8(e){return kh(gl??"",e)??"alloy-wheel"}import{addShowWhenFacts as tO}from"efficient-shell/format";import{showWhenOf as Zf,shownForOption as rO,truthy as aO,withRowRules as nO,withRowsShownWhen as bl,withShowWhen as yl}from"efficient-shell/format";var Y8=tO;function Ph(e,o,t){let r=!1,a={};for(let[n,s]of Object.entries(e))lO(Zf(s),o??{},t)?a[n]=s:r=!0;return r?a:e}function Lh(e,o,t,r){let a=Ya(o,t,r);return{device:e,parentType:a?.item.type,parent:a?.item.props}}function Eh(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 Eh(t.not,o);for(let r of[t.all,t.any])if(Array.isArray(r)&&r.some(a=>Eh(a,o)))return!0;return!1}function tq(e,o={}){return sO({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>Fh(),root:()=>e.appState?.data?.root?.props,...o})}var Rh=["one","side","stacked"];var aq={one:"One",side:"Side by side",stacked:"Stacked"};function Ah(e){return Rh.includes(e)?e:"one"}function Oh(e){return e==="one"?1:2}function iO(e,o){if(Rh.includes(e))return e;let t=Ah(o);return t==="side"?"stacked":t}function Qf(e){let o=Ah(e.mediaLayout);return Math.max(Oh(o),Oh(iO(e.mediaLayoutPhone,o)))}var sa=["media","image","image2"],sr={media:"Media",image:"Image",image2:"Image 2"},ia={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function Sl(e,o){return e==="image"&&Qf(o)>1?"Image 1":sr[e]}var iq="Video file",fq="Upload a video file";function fO(e,o){return{field:"mediaType",is:e,default:o}}var cO=new Set(["HeroSingle"]),Bh="heroPart";function dO(e,o){return{...o,[Bh]:e}}function cq(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]=yl(n[i],fO(s,r));for(let[s,i]of Object.entries(a??{}))i&&(n[s]=yl(n[s],i));for(let s of sa)for(let i of o[s]??[])n[i]=dO(s,n[i]);return n}function uO(e){let o=e?.[Bh];return sa.includes(o)?o:null}function _h(e,o){let t={};for(let[r,a]of Object.entries(e))uO(a)===o&&(t[r]=a);return t}function Dh(e){if(!cO.has(e.type))return[];let o=[{part:"media",label:sr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:Sl("image",e.props),depth:1}),Qf(e.props)>1&&o.push({part:"image2",label:Sl("image2",e.props),depth:1})),o}function fa(e,o){return`${e}::${o}`}function Nh(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return sa.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var dq="data-sf-hero-part";import{jsx as ee,jsxs as Tt,Fragment as cd}from"react/jsx-runtime";import{useState as xD}from"react";import{useEasel as ID}from"efficient-easel/easel";import{headWords as ky,InspectorHead as hD,InspectorIconButton as vy}from"efficient-easel/chrome";import{DuplicateIcon as gD,TrashIcon as bD}from"efficient-easel/icons";import{panelFieldsOf as Mh}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 xO,BlockBoxIcon as IO,BlockButtonIcon as hO,BlockDividerIcon as zh,BlockFooterIcon as Wh,BlockHeadingIcon as gO,BlockProductIcon as bO,BlockSocialIcon as yO,BlockTextIcon as SO,ChatIcon as CO,GridIcon as vO,ImageIcon as ec,MediaIcon as wO,PageIcon as kO}from"efficient-easel/icons";import{jsx as Jf,Fragment as pO,jsxs as mO}from"react/jsx-runtime";var Hh=mO(pO,{children:[Jf("circle",{cx:"9",cy:"20",r:"1.3"}),Jf("circle",{cx:"18",cy:"20",r:"1.3"}),Jf("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 TO={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:Hh,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"})},FO=T("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),EO={footer:Wh,Footer:Wh,Divider:zh,FooterDivider:zh,Banner:xO,Flex:IO,FooterSocial:yO,page:kO,chat:CO,Heading:gO,Text:SO,ImageBlock:ec,ButtonBlock:hO,Grid:vO,ProductRef:bO,heroMedia:wO,heroImage:ec,heroImage2:ec},PO={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",SiteHeader:"header",SiteFooter:"footer"};function wt({type:e,size:o=16,className:t}){let r=PO[e]??e,a=EO[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:TO[r]??FO})}import{jsx as X,jsxs as oc,Fragment as LO}from"react/jsx-runtime";import{useEffect as OO,useId as Gh,useState as RO}from"react";import{IconPicker as AO}from"efficient-shell/ui";import{SettingsDefaultReset as BO,SettingsField as ir,SettingsSegmented as _O,SettingsSwitch as Uh}from"efficient-easel/panel";import*as DO from"efficient-easel/icons";import{ButtonIcon as NO,ButtonIconIcon as MO,EyeIcon as HO,PhoneIcon as zO,PlacementIcon as WO,TypeIcon as GO}from"efficient-easel/icons";var UO="Chat with us",$O="We usually reply within a few minutes",qO="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function Cl({label:e,value:o,placeholder:t,onCommit:r,multiline:a=!1,hint:n}){let[s,i]=RO(o);OO(()=>i(o),[o]);let c=()=>{s!==o&&r(s)};return X(ir,{label:e,icon:X(GO,{}),changed:o!=="",action:X(fr,{label:e,changed:o!=="",onReset:()=>r("")}),hint:n,children:a?X("textarea",{value:s,placeholder:t,rows:3,onChange:u=>i(u.target.value),onBlur:c,"aria-label":e}):X("input",{type:"text",value:s,placeholder:t,onChange:u=>i(u.target.value),onBlur:c,onKeyDown:u=>{u.key==="Enter"&&u.currentTarget.blur()},"aria-label":e,autoComplete:"off"})})}function fr({label:e,changed:o,onReset:t}){return X(BO,{words:j()?.panel,label:e,changed:o,onReset:t})}function jO({label:e,icon:o,checked:t,fallback:r,onChange:a,hint:n}){let s=Gh();return X(ir,{label:e,labelId:s,icon:o,changed:t!==r,action:oc("span",{className:"inline-flex items-center gap-2",children:[X(Uh,{checked:t,onChange:a,ariaLabelledBy:s}),X(fr,{label:e,changed:t!==r,onReset:()=>a(r)})]}),hint:n})}function KO(e){let o=e.replace(/(^|-)([a-z])/g,(r,a,n)=>n.toUpperCase()),t=DO[`${o}Icon`];return t?X(t,{size:16}):null}var VO=dl.map(e=>({value:e,icon:KO(e)}));function YO(){let{theme:e}=Z(),o=Qe(e).themes[0];return Rr(o)??o?.accent??""}function $h(){let{chat:e,setChat:o}=ml(),t=Gh(),r=YO(),a=e.launcherIcon?ul(e.launcherIcon):lr;return oc(LO,{children:[X(ir,{label:l("Show the chat bubble"),labelId:t,icon:X(HO,{}),changed:!e.enabled,action:oc("span",{className:"inline-flex items-center gap-2",children:[X(Uh,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),X(fr,{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.")}),X(Xt,{label:"Look"}),X(ir,{label:l("Button color"),icon:X(NO,{}),changed:e.launcherColor!=="",action:X(Je,{label:l("Button color"),value:e.launcherColor,inherited:r,caption:e.launcherColor?void 0:l("Site button color"),onChange:n=>o({launcherColor:n}),after:X(fr,{label:l("Button color"),changed:e.launcherColor!=="",onReset:()=>o({launcherColor:""})})})}),X(ir,{label:l("Icon"),icon:X(MO,{}),changed:a!==lr,action:X(fr,{label:l("Icon"),changed:a!==lr,onReset:()=>o({launcherIcon:""})}),children:X(AO,{label:l("Icon"),value:a,options:VO,onChange:n=>o({launcherIcon:n===lr?"":n})})}),X(ir,{label:l("Position"),icon:X(WO,{}),changed:e.launcherPosition!==vt,action:X(fr,{label:l("Position"),changed:e.launcherPosition!==vt,onReset:()=>o({launcherPosition:vt})}),children:X(_O,{options:[{label:l("Right"),id:"right"},{label:l("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:l("Position"),onChange:n=>o({launcherPosition:n})})}),X(Cl,{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")}),X(jO,{label:l("Show on phones"),icon:X(zO,{}),checked:e.showOnPhones,fallback:pl.showOnPhones,onChange:n=>o({showOnPhones:n})}),X(Xt,{label:"Wording"}),X(Cl,{label:l("Title"),value:e.title,placeholder:UO,onCommit:n=>o({title:n})}),X(Cl,{label:l("Subtitle"),value:e.subtitle,placeholder:$O,onCommit:n=>o({subtitle:n})}),X(Cl,{label:l("Greeting message"),value:e.greeting,placeholder:qO,onCommit:n=>o({greeting:n}),multiline:!0}),X("p",{className:"es-field-hint sf-hint-keep",children:l("Leave a field blank to use the built-in wording.")})]})}import{jsx as kt,Fragment as vc,jsxs as Yh}from"react/jsx-runtime";import{useEffect as kR,useId as Kh,useState as Vh}from"react";import{SettingsField as TR}from"efficient-easel/panel";import{jsx as IR}from"react/jsx-runtime";import{forwardRef as XO,createElement as tc}from"react";var qh={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=XO(({color:n="currentColor",size:s=24,stroke:i=2,title:c,className:u,children:p,...m},x)=>tc("svg",{ref:x,...qh[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${o}`,u].filter(Boolean).join(" "),...e==="filled"?{fill:n}:{strokeWidth:i,stroke:n},...m},[c&&tc("title",{key:"svg-title"},c),...r.map(([h,b])=>tc(h,b)),...Array.isArray(p)?p:[p]]));return a.displayName=`${t}`,a};var ZO=[["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"}]],rc=G("outline","brand-facebook","BrandFacebook",ZO);var QO=[["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"}]],ac=G("outline","brand-instagram","BrandInstagram",QO);var JO=[["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"}]],nc=G("outline","brand-line","BrandLine",JO);var eR=[["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"}]],lc=G("outline","brand-linkedin","BrandLinkedin",eR);var oR=[["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"}]],sc=G("outline","brand-pinterest","BrandPinterest",oR);var tR=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],ic=G("outline","brand-telegram","BrandTelegram",tR);var rR=[["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"}]],fc=G("outline","brand-tiktok","BrandTiktok",rR);var aR=[["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"}]],cc=G("outline","brand-wechat","BrandWechat",aR);var nR=[["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"}]],dc=G("outline","brand-whatsapp","BrandWhatsapp",nR);var lR=[["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"}]],uc=G("outline","brand-x","BrandX",lR);var sR=[["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"}]],pc=G("outline","brand-youtube","BrandYoutube",sR);var iR=[["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"}]],mc=G("filled","brand-facebook-filled","BrandFacebookFilled",iR);var fR=[["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"}]],xc=G("filled","brand-instagram-filled","BrandInstagramFilled",fR);var cR=[["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"}]],Ic=G("filled","brand-linkedin-filled","BrandLinkedinFilled",cR);var dR=[["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"}]],hc=G("filled","brand-pinterest-filled","BrandPinterestFilled",dR);var uR=[["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"}]],gc=G("filled","brand-tiktok-filled","BrandTiktokFilled",uR);var pR=[["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"}]],bc=G("filled","brand-whatsapp-filled","BrandWhatsappFilled",pR);var mR=[["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"}]],yc=G("filled","brand-x-filled","BrandXFilled",mR);var xR=[["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"}]],Sc=G("filled","brand-youtube-filled","BrandYoutubeFilled",xR);var q9="outline",vl={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},hR={},Cc={fillRule:"evenodd"},gR=[["path",{...vl,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...Cc,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],bR=[["path",{...vl,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",{...hR,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("")}]],yR=[["path",{...vl,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",{...vl,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",{...Cc,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",{...Cc,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("")}]],SR=G("filled","brand-telegram-filled","BrandTelegramFilled",gR),CR=G("filled","brand-line-filled","BrandLineFilled",bR),vR=G("filled","brand-wechat-filled","BrandWechatFilled",yR),wR={instagram:{outline:ac,solid:xc},facebook:{outline:rc,solid:mc},tiktok:{outline:fc,solid:gc},youtube:{outline:pc,solid:Sc},x:{outline:uc,solid:yc},linkedin:{outline:lc,solid:Ic},pinterest:{outline:sc,solid:hc},whatsapp:{outline:dc,solid:bc},telegram:{outline:ic,solid:SR},line:{outline:nc,solid:CR},wechat:{outline:cc,solid:vR}};function jh({platform:e,iconStyle:o,size:t}){let r=wR[e][o];return IR(r,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var FR={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 ER({platform:e}){let{rows:o,saveLink:t}=na(),{value:r,error:a}=o[e],[n,s]=Vh(r),[i,c]=Vh(!1),u=Kh(),p=Kh();kR(()=>s(r),[r]);let m=async()=>{if(n.trim()===r){n!==r&&s(r);return}c(!0),await t(e,n),c(!1)},x=pu[e];return Yh(vc,{children:[kt(TR,{label:l(x),htmlFor:u,icon:kt(jh,{platform:e,iconStyle:"outline",size:18}),children:kt("input",{id:u,type:"text",inputMode:"url",value:n,placeholder:FR[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&&kt("p",{id:p,className:"sf-note sf-note--error",role:"alert",children:a})]})}function Xh({unavailable:e}){let{canSave:o}=na();return!o&&e?kt(vc,{children:e}):Yh(vc,{children:[kt("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=>kt(ER,{platform:t},t))]})}import{jsx as mr,jsxs as gB}from"react/jsx-runtime";import{useId as bB,useMemo as yB}from"react";import{useEasel as SB}from"efficient-easel/easel";import{SettingsField as CB,SettingsSwitch as vB}from"efficient-easel/panel";import{EyeIcon as wB}from"efficient-easel/icons";import{jsx as vo,jsxs as Rl}from"react/jsx-runtime";import{useCallback as ur,useEffect as pr,useId as dB,useRef as Mo,useState as ga}from"react";var Zh="data-puck-overlay-portal";function wl(e){return e.setAttribute(Zh,"true"),()=>e.removeAttribute(Zh)}import{jsx as ma,jsxs as hg}from"react/jsx-runtime";var wc="small",kc="dot",PR=[{label:"Small",value:"small"},{label:"Display",value:"display"}],LR=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],Qh={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},OR={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)]"},RR={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 Jh(e){return eo(PR,wc,e)}function eg(e){return eo(LR,kc,e)}function og(e){return OR[e]}function tg(e,o){return RR[e][o]}var Tc="left",AR=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],BR={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function rg(e){return eo(AR,Tc,e)}function ag(e){return e==="up"||e==="down"}function ng(e,o){return`${BR[e]} ${o}s linear infinite`}import{jsx as ce,jsxs as Lc}from"react/jsx-runtime";import{Fragment as xg}from"react";import{Fragment as zR,jsx as Ec}from"react/jsx-runtime";import{Fragment as ig,jsx as da,jsxs as NR}from"react/jsx-runtime";import{createContext as Fc,useContext as ua,useId as MR,useMemo as HR}from"react";var ca="@name",lg="@body",sg="@value",sj={[ca]:"Name",[lg]:"Body",[sg]:"Value"},_R={TimelineTrack:{"entries.date":ca,"entries.title":ca,"entries.blurb":lg},Footprint:{"offices.city":ca},Stats:{"items.label":ca,"items.value":sg}};function DR(e){let{key:o,row:t}=so(e);return t?`${o}.${t.rowKey}`:null}function kl(e,o){if(!e)return o;let t=DR(o);return t?_R[e]?.[t]??o:o}var Tl=Fc(null),fg=Fc(null),cg=Fc(null);function pj({needles:e,styles:o,type:t,children:r}){let a=MR(),n=JSON.stringify([a,e,o,t]),s=HR(()=>NI(e,o,a,i=>kl(t,i)),[n]);return s?NR(ig,{children:[da("style",{"data-sf-part-styles":"",dangerouslySetInnerHTML:{__html:MI(s).replace(/</g,"\\3c ")}}),da(Tl.Provider,{value:s,children:r})]}):da(ig,{children:r})}function dg(e){let o=ua(Tl),t=ua(fg),r=HI(o,e);return r&&r.stamp!==t?r:null}function mj(e){return Ff(ua(Tl),e)}function ug({stamp:e,children:o}){return da(fg.Provider,{value:e,children:o})}function xj({children:e}){let o=ua(Tl);return da(cg.Provider,{value:o,children:e})}function Ij(e){return Ff(ua(cg),e)}function pa({value:e,children:o}){let t=dg(e);return t?Ec(ug,{stamp:t.stamp,children:Ec("span",{[yf]:t.stamp,children:o})}):Ec(zR,{children:o})}import{jsx as Pc,Fragment as WR}from"react/jsx-runtime";function pg({className:e=""}){return Pc("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function Fl(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(Pc(pg,{},`r${a}`))}),Pc(WR,{children:t})}var vj=pg;function Oc(e,o=!1){let t=YR(o),r=Vs(e);if(r.length===1){let[n]=r,s=Ks(n),i=s?KR(s,n.children):n.children;return ce(pa,{value:e,children:El(i,t)})}let a=[];return r.forEach((n,s)=>{if(n.bullet){a.push(ce("span",{"data-sf-bullet":"",className:GR,children:El(n.children,t)},s));return}if(n.number!=null){a.push(Lc("span",{"data-sf-number":n.number,className:UR,children:[Lc("span",{className:$R,children:[n.number,"."]}),El(n.children,t)]},s));return}s>0&&!qR(r[s-1])&&a.push(ce("br",{},`br${s}`)),a.push(ce(xg,{children:El(n.children,t)},s))}),ce(pa,{value:e,children:a})}var GR="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",UR="relative block pl-[2em]",$R="absolute left-0 w-[1.6em] text-right tabular-nums";function qR(e){return e.bullet||e.number!=null}var jR="text-accent underline underline-offset-[0.18em]";function KR(e,o){let[t,...r]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...r]:[{kind:"text",text:e},...o]}function VR(e){if(e)return DI(e)?e:Object.hasOwn(Oo,e)?Oo[e]:void 0}function El(e,o){let t=[],r=!1;return e.forEach((a,n)=>{if(a.kind==="text"){t.push(ce("span",{children:Fl(a.text)},n)),r=!0;return}r||t.push(ce("span",{},`e${n}`)),t.push(Ig(a,n,o)),r=!1}),r||t.push(ce("span",{},"end")),t}function mg(e,o){return e.length===1&&e[0].kind==="text"?Fl(e[0].text):e.map((t,r)=>t.kind==="text"?ce(xg,{children:Fl(t.text)},r):Ig(t,r,o))}function YR(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function Rj(e){return ce(pa,{value:e,children:ce("span",{children:e})})}function Ig(e,o,t){if(e.kind==="link")return ce("a",{href:e.href,className:jR,children:mg(e.children,t)},o);let r=mg(e.children,t),a=pp[e.kind];if(a)return ce("span",{[mp]: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=VR(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 Aj(e,o=!0){let t=e.split(`
6
- `);return ce(pa,{value:e,children:t.map((r,a)=>Lc("span",{children:[Oc(r,o),a<t.length-1?ce("br",{}):null]},a))})}function Bj(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var XR={"themed-band":"text-fg/70","themed-section":"text-fg-dim","dark-media":"text-overlay-fg/70"};function gg({items:e,separator:o=kc,size:t=wc,durationSec:r=50,scroll:a=Tc,backdrop:n="themed-band",className:s}){let i=Jh(t),c=rg(a),u=eg(o),p=`text-accent ${tg(i,u)}`.trim(),m=Qh[u],x=m===""?ma("span",{}):ma("span",{className:p,children:m}),h=ag(c),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=>ma("span",{className:b,children:e.map((w,g)=>{let y=typeof w=="string"?w:w.text,E=typeof w=="object"&&w.gold;return hg("span",{className:C,children:[ma("span",{className:E?"text-accent":void 0,children:Oc(y)}),x]},g)})},v);return ma("div",{className:`overflow-hidden ${s??""}`,children:hg("div",{className:`flex ${h?"flex-col ":""}whitespace-nowrap ${og(i)} ${XR[n]}`,style:{animation:ng(c,r)},children:[k("a"),k("b")]})})}import{jsx as Ia,jsxs as kA}from"react/jsx-runtime";import{createContext as TA,useContext as FA}from"react";import{jsx as cr,jsxs as Pg}from"react/jsx-runtime";import{useEffect as Ac,useRef as pA,useState as xa}from"react";import{jsx as bg}from"react/jsx-runtime";import{createContext as ZR,lazy as qj,Suspense as jj,useContext as QR}from"react";var JR={Link:qd,Image:$d},eA=ZR(JR);function yg(){return QR(eA)}function Kj(e){let{Link:o}=yg();return bg(o,{...e})}function Sg(e){let{Image:o}=yg();return bg(o,{...e})}import{jsx as Cg,Fragment as oA,jsxs as tA}from"react/jsx-runtime";import{useEffect as rA,useRef as vg,useState as aA}from"react";var nA="#t=0.001",lA=2;function sA(e,o){if(e.readyState<lA||!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 wg({src:e,objectPosition:o="50% 50%",onError:t}){let r=vg(null),a=vg(null),[n,s]=aA(!1);return rA(()=>{let i=r.current,c=a.current;if(n||!i||!c)return;let u=()=>{sA(i,c)&&s(!0)};return u(),i.addEventListener("loadeddata",u),i.addEventListener("seeked",u),()=>{i.removeEventListener("loadeddata",u),i.removeEventListener("seeked",u)}},[n]),tA(oA,{children:[Cg("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&&Cg("video",{ref:r,src:`${e}${nA}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as Tg,imageSrcSet as iA}from"efficient-shell/image-copies";var kg;function Rc(){return kg===void 0?{}:{host:kg}}var Jj="(max-width: 800px) 100vw, min(100vw, 1600px)";function Fg(e,{fallbackWidth:o=1280,maxWidth:t}={}){let r=iA(e,{...Rc(),...t===void 0?{}:{maxWidth:t}});return r?{src:Tg(e,o,Rc()),srcSet:r}:{src:e}}function eK(e){let o=Tg(e,1920,Rc());return o===e?`url(${e})`:`url("${o}")`}import{formatFocal as fA,parseFocal as cA}from"efficient-shell/format";var dA="sf-focus-phone",uA="--sf-focus-phone";function Eg(e){if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return{className:"",style:{}};let{x:o,y:t}=cA(e);return{className:dA,style:{[uA]:fA(o,t)}}}var mA=.5;function Lg({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:r=mA,objectPosition:a="50% 50%",objectPositionPhone:n,quiet:s=!1}){let i=Eg(n),c=o||"",u=e||"",[p,m]=xa(!1),[x,h]=xa(!1),[b,C]=xa(!1),[k,v]=xa(!1),[w,g]=xa(!1),y=pA(null);Ac(()=>{m(!1),h(!1),C(!1),v(!1)},[e,o]),Ac(()=>{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)},[]),Ac(()=>{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=jd(c),F=c&&E&&!x?Fg(c):{src:c};return Pg("div",{className:"absolute inset-0 z-[1]",children:[cr("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),c&&(E?cr("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)},c):cr(Sg,{src:c,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)},c)),t&&!s&&u&&w&&!b&&Pg("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:[Kd(u)&&cr("source",{src:u.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),cr("source",{src:u,type:"video/mp4"})]},u),t&&s&&u&&w&&!k&&(!c||p)&&cr(wg,{src:u,objectPosition:a,onError:()=>v(!0)},u)]})}var Og=["top","middle","bottom"],Rg=["left","center","right"],Ag="bottom",Bg="left",xA={top:"Top",middle:"Middle",bottom:"Bottom"},IA={left:"Left",center:"Center",right:"Right"};var uK="Up and down",pK="Sideways",hA={top:"flex-start",middle:"center",bottom:"flex-end"},gA={left:"flex-start",center:"center",right:"flex-end"},bA="--sf-hero-phone-y",yA="--sf-hero-phone-x";function SA(e){return Og.includes(e)?e:Ag}function CA(e){return Rg.includes(e)?e:Bg}function _g(e,o){let t=SA(e),r=CA(o),a={};return t!==Ag&&(a[bA]=hA[t]),r!==Bg&&(a[yA]=gA[r]),a}function mK(){return Og.map(e=>({label:xA[e],value:e}))}function xK(){return Rg.map(e=>({label:IA[e],value:e}))}var vA="#0A0A0A",wA=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function Dg(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 Ng(e){return e==null?!0:e!==!1}function Mg(e){let o=(e?Dg(e):null)??Dg(vA);return`linear-gradient(180deg, ${wA.map(([t,r])=>`rgba(${o},${r}) ${t}%`).join(", ")})`}var Bc=TA({});function kK({name:e,process:o,mediaType:t="video",mediaSrc:r,videoSpeed:a,poster:n,objectPosition:s,objectPositionPhone:i,tintColor:c="#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}=FA(Bc),E=t==="video",F=E?Lr(r):void 0,L=E?Lr(n):Lr(r)??Lr(n),B=typeof a=="number"?a/100:1;return kA("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:[Ia(Lg,{videoSrc:F,posterSrc:L,showVideo:E,playbackRate:B,objectPosition:s,objectPositionPhone:E?void 0:i,quiet:w}),u>0&&Ia("div",{className:"absolute inset-0 z-[2]",style:{background:c,opacity:Math.min(Math.max(u,0),100)/100}}),Ng(k)&&Ia("div",{className:"absolute inset-0 z-[2]",style:{background:Mg(v),...C!==void 0?{opacity:C/100}:null}}),Ia("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:{...ep,..._g(g,y)},children:p&&Ia(p,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}var Hg=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{jsx as _c}from"react/jsx-runtime";import{UiIcon as NA}from"efficient-easel/draw/client";var EA={"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]"},PA=`calc(${Tn} - ${$e}*2)`,zg=`var(${Oi},${$e})`,PK=`pointer-events-none absolute inset-y-0 left-[${zg}] right-[${zg}] z-[6] mx-auto max-w-[var(${Ri},${PA.replace(/ /g,"_")})]`;function Pl(e,o){return`pointer-events-auto absolute ${EA[e]} z-[6] sf-hero-overlay-rail flex ${o}`}function Wg(e){return ho.includes(e)?e:null}var LA="bottom-right",OA=["outline","solid","square","bare"],RA="outline",RK={outline:"Outline",solid:"Solid",square:"Square",bare:"Bare"},AK=!1,Gg=["prev","next"],Ug={prev:"Previous slide",next:"Next slide"};function AA(e){return OA.includes(e)?e:RA}function BA(e){return Wg(e)??LA}var _A="flex-row items-center gap-2";function $g(e){return Pl(BA(e),_A)}var DA={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 qg(e){return DA[AA(e)]}function jg(e){return e.shown===!0&&(e.count??0)>1}function Ll(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 Kg({shape:e,placement:o,ref:t}){let r=qg(e);return _c("div",{ref:t,className:$g(o),style:{color:"var(--overlay-fg)"},children:Gg.map(a=>_c("button",{type:"button","data-hero-nav":a,"aria-label":Ug[a],className:r,children:_c(NA,{name:"chevron-right",size:18,rounded:!0,style:a==="prev"?{rotate:"180deg"}:void 0})},a))})}import{jsx as we,jsxs as Dc,Fragment as dr}from"react/jsx-runtime";var MA=ho;var HA="top-right",zA=["cards","dots","numbers","bar","squares","tabs"],WA=["cards","dots","numbers","bar","squares"],Vg="cards",WK={cards:"Cards",dots:"Dots",numbers:"Numbers",bar:"Bar",squares:"Squares",tabs:"Tabs"},GK=!0;function Ol(e){return zA.includes(e)?e:Vg}function Yg(e){return WA.includes(e)?e:Vg}function GA(e){return MA.includes(e)?e:HA}var Xg={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 Zg(e,o){return Pl(GA(o),Xg[Ol(e)])}function Qg(e){return`flex ${Xg[Ol(e)]}`}function Jg(e){return e.shown!==!1&&(e.count??0)>1}function UA(e){return{name:e.dataset.slideName||"",process:e.dataset.slideProcess||"",video:e.dataset.slideMedia==="video"}}function $A(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 eb(e,o){let t=Array.from(o,UA);return $A(e,t)?e:t}function ob({slides:e,active:o,shape:t,placement:r,ref:a,tone:n="media",label:s}){let i=Ol(t),c=n==="surface"?{"--overlay-fg":"var(--fg)","--overlay-chrome":"var(--fg)","--overlay-scrim":"var(--site-surface-2)"}:void 0;return Dc("aside",{ref:a,"aria-label":s??"Featured slides",className:n==="surface"?Qg(i):Zg(i,r),style:{color:"var(--overlay-fg)",...c},children:[i==="cards"&&we(qA,{slides:e,active:o}),i==="dots"&&we(jA,{count:e.length,active:o}),i==="numbers"&&we(KA,{count:e.length,active:o}),i==="bar"&&we(YA,{count:e.length,active:o}),i==="squares"&&we(VA,{count:e.length,active:o}),i==="tabs"&&we(XA,{slides:e,active:o})]})}function qA({slides:e,active:o}){return Dc(dr,{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 Dc("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 jA({count:e,active:o}){return we(dr,{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 KA({count:e,active:o}){return we(dr,{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 VA({count:e,active:o}){return we(dr,{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 YA({count:e,active:o}){return we(dr,{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 XA({slides:e,active:o}){return we(dr,{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 ZA,useState as QA}from"react";var tb="(prefers-reduced-motion: reduce)";function JA(){return globalThis.window?.matchMedia?.(tb)?.matches??!1}function VK(){return JA()?"auto":"smooth"}function rb(){let[e,o]=QA(!1);return ZA(()=>{let t=globalThis.window?.matchMedia?.(tb);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 ha={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 ab={min:40,max:100,step:5,fallback:100,unit:"vh"};function Nc(e){return`${typeof e=="number"?e:ab.fallback}${ab.unit}`}function nb(...e){return e.some(o=>typeof o=="number")}import{HEADER_TYPE as Mc,FOOTER_TYPE as eB}from"efficient-easel/draw";var oB=new Set(["Hero","HeroSingle","IntroBleed"]),lb={min:56,max:140,default:88},JK={min:0,max:120,step:2,default:32},sb=`var(--sf-header-h, ${lb.default}px)`,tB="--sf-header-set-h",eV="--sf-header-h",oV=`var(${tB}, ${lb.default}px)`,tV="sf-header-clearance",rV="sf-sticky-underheader";function rB(e){return e?.find(o=>o?.type&&o.type!==Mc)??null}function ib(e){let o=rB(e)?.type;return!o||!oB.has(o)}function aV(e){return!ib(e)}function nV(e){return!!e?.some(o=>o?.type===Mc)}function lV(e){return!e||e.length===0?!1:!e.some(o=>o?.type===Mc||o?.type===eB)}var aB=["auto","shared","own"],nB="auto",lB="topSpace",sV="data-top-space";function sB(e){return aB.includes(e)?e:nB}function iB(e,o){let t=sB(e?.props?.[lB]);return t==="own"?!0:t==="shared"?!1:ib(o)}function iV(e,o){return iB(e,o)?"own":null}var fB=40;function cB(e,o){return Math.abs(e)<=fB||Math.abs(e)<=Math.abs(o)?null:e<0?"next":"prev"}function fb(e,o,t,r){let a=cB(e,o);return a?Ll(a,t,r):t}function cb(e){return(e.count??0)>1&&e.editing!==!0}function db(e){return e.editing!==!0?!1:(e.slides??[])[e.shown??0]?.video===!0}function ub(e){return e.editing!==!0?!1:!(e.playing===!0&&e.controlShown===!0)}import{HERO_SLIDER_GOTO_EVENT as pb}from"efficient-easel/draw";var uB=`
7
- .hero-ticker-pick { cursor: pointer; }
8
- .hero-ticker-pick:hover {
9
- outline: 2px solid color-mix(in srgb, ${ha.accent} 45%, transparent);
10
- outline-offset: -2px;
11
- }
12
- .hero-ticker-pick[data-selected] {
13
- outline: 2px solid ${ha.accent};
14
- outline-offset: -2px;
15
- }
16
- `,pB="Play video",mB="Hold video",xB="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",IB=()=>l("item"),Hc=["","","","","",""],mb=new Map;function hB(e,o){let t=e?.ownerDocument?.defaultView;if(t)return t.addEventListener(pb,o),()=>t.removeEventListener(pb,o)}function OV({slides:e,alignment:o,textureOpacity:t,showTexture:r,textureColor:a,phoneUpDown:n,phoneSideways:s,autoplay:i,autoplayInterval:c,showTicker:u,tickerItems:p,heightDesktop:m,heightMobile:x,showPicker:h,pickerShape:b,pickerPlacement:C,showArrows:k,arrowsShape:v,arrowsPlacement:w,editing:g}){let y=nb(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":Nc(m),"--sf-hero-h-m":Nc(x)}:void 0,L=(p??Hc.map(N=>({text:N}))).map(N=>N?.text?.trim()?N.text:g?IB():"").filter(Boolean),B=u!==!1,O=Mo(null),M=Mo(null),re=Mo(null),H=Mo(null),W=Mo(null),A=dB(),oe=Mo(A),[Oe,Xe]=ga([]),[ro,We]=ga(0),Re=Mo(0),[Ge,De]=ga(!1),[Ce,ge]=ga(!1),[Ie,Ze]=ga(null),P=rb(),{selectedHeroId:le,select:Y}=xl(),te=ur(()=>O.current?.querySelector(".hero-track")??null,[]),ae=ur((N,U=!1)=>{We(N),Re.current=N,mb.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}%)`},[]);pr(()=>{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=mb.get(U);typeof q=="number"&&(We(q),Re.current=q)},[]),pr(()=>{let N=te();if(!N)return;let U=()=>{Xe(se=>eb(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]),pr(()=>{if(!g)return;let N=U=>{let q=U.detail;if(!q||typeof q.index!="number")return;let se=O.current,oo=se?.getAttribute("data-puck-component")||se?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||oe.current;q.id&&q.id!==oo||ae(q.index,!0)};return hB(O.current,N)},[g,ae]);let pe=Oe.length,Ne=Math.min(Math.max(ro,0),Math.max(0,pe-1)),ye=Jg({shown:h,count:pe}),po=jg({shown:k,count:pe}),Fo=db({editing:g,shown:Ne,slides:Oe}),Wo=ub({editing:g,playing:Ce,controlShown:Fo}),Pe=cb({count:pe,editing:g}),Go=Mo(null),rt=Mo(null),at=ur(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]),cs=ur(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=ur(()=>{let N=Go.current,U=rt.current;if(Go.current=null,rt.current=null,!Pe||!N||!U)return;let q=fb(U.x-N.x,U.y-N.y,Re.current,pe);q!==Re.current&&ae(q)},[Pe,pe,ae]);pr(()=>{if(g||!i||Ge||P||pe<=1)return;let N=Math.max(1,typeof c=="number"?c:6)*1e3,U=window.setTimeout(()=>ae((Ne+1)%pe),N);return()=>window.clearTimeout(U)},[g,i,c,Ge,P,pe,Ne,ae]),pr(()=>{let N=[M.current,re.current,H.current].filter(Boolean),U=N.map(se=>wl(se)),q=se=>{let oo=se.target,Uo=oo.closest("[data-hero-nav]"),Ha=Uo??oo.closest("[data-idx]");if(!Ha)return;se.stopPropagation(),se.preventDefault();let Lt=Uo?Ll(Uo.dataset.heroNav,Re.current,pe):Number(Ha.dataset.idx);Number.isNaN(Lt)||(ae(Lt,g),te()?.querySelectorAll("[data-slide-name]")[Lt]?.click())};return N.forEach(se=>se.addEventListener("click",q,{capture:!0})),()=>{U.forEach(se=>se?.()),N.forEach(se=>se.removeEventListener("click",q,{capture:!0}))}},[pe,ae,te,g]),pr(()=>{if(!g)return;let N=W.current;if(!N)return;let U=wl(N),q=se=>{se.stopPropagation(),se.preventDefault();let oo=O.current,Uo=oo?.getAttribute("data-puck-component")||oo?.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 Er=ur(N=>{if(!N)return;let U=wl(N),q=se=>{se.stopPropagation(),se.preventDefault(),ge(oo=>!oo)};return N.addEventListener("click",q,{capture:!0}),()=>{U?.(),N.removeEventListener("click",q,{capture:!0})}},[]);return vo(Bc.Provider,{value:{alignment:o,textureOpacity:t,textureOn:r,textureColor:a,quietVideo:Wo,phoneUpDown:n,phoneSideways:s},children:Rl("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:()=>De(!0),onMouseLeave:()=>De(!1),onTouchStart:at,onTouchMove:cs,onTouchEnd:Ma,children:[vo(e,{className:"hero-track flex h-full [&>*]:h-full [&>*]:min-w-full [&>*]:shrink-0 [&>*]:basis-full",style:{transform:`translateX(-${Ne*100}%)`,transition:P?"none":"transform 600ms cubic-bezier(.22,.61,.36,1)"},minEmptyHeight:400}),Fo&&vo("div",{ref:Er,"data-hero-video-control":Ce?"playing":"held",className:"sf-hero-video-control absolute left-6 z-[7]",style:{top:`calc(${sb} + 16px)`},children:Rl("button",{type:"button",className:xB,children:[vo("span",{"aria-hidden":"true",children:Ce?"\u275A\u275A":"\u25B6"}),l(Ce?mB:pB)]})}),(ye||po)&&Rl("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:[ye&&vo(ob,{ref:M,slides:Oe,active:Ne,shape:Yg(b),placement:C}),po&&vo(Kg,{ref:H,shape:v,placement:w})]}),ye&&vo("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:Oe.map((N,U)=>vo("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===Ne?"w-5 bg-accent":"w-2 bg-white/45 hover:bg-white/70"}`},U))}),B&&L.length>0&&Rl("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&&Ie!=null&&le===Ie?"":void 0,style:{background:"rgba(10,10,10,.55)"},children:[g&&vo("style",{children:uB}),vo(gg,{items:L,backdrop:"dark-media"})]})]})})}var kB="root:default-zone";function xb({heroId:e}){let{appState:o,dispatch:t}=SB(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=yB(()=>{let p=n?.props.tickerItems;return Array.isArray(p)?p:Hc.map(m=>({text:m}))},[n]),c=bB();if(!n)return mr("p",{className:"sf-note",children:l("This ticker\u2019s hero is no longer on the page.")});let u=p=>t({type:"replace",destinationZone:kB,destinationIndex:a,data:{...n,props:{...n.props,...p}}});return gB("div",{children:[mr(Xt,{label:"Ticker"}),mr(CB,{label:l("Show ticker"),labelId:c,icon:mr(wB,{}),action:mr(vB,{checked:s,onChange:p=>u({showTicker:p}),ariaLabelledBy:c})}),mr(Vi,{label:Ki.label,icon:Ki.icon,items:i,placeholder:"item",onChange:p=>u({tickerItems:p}),markup:!0})]})}import{jsx as z,Fragment as Xc,jsxs as wo}from"react/jsx-runtime";import{useContext as o_,useEffect as Kc,useRef as t_,useState as Mb}from"react";import{FieldSelect as r_,InspectorField as a_}from"efficient-easel/fields";import{SettingsField as n_}from"efficient-easel/panel";import{InspectorUpLevel as Hl}from"efficient-easel/chrome";import{StylesIcon as l_,TypeIcon as s_}from"efficient-easel/icons";import{useEasel as i_}from"efficient-easel/easel";import{TextPartPanel as f_}from"efficient-easel/copy";import{Tooltip as c_}from"efficient-shell/ui";import{jsx as $c,jsxs as AB}from"react/jsx-runtime";import{COPY_CELLS as ba,CopyBox as BB}from"efficient-easel/copy";import{PaddingYIcon as _B,WidthIcon as DB}from"efficient-easel/icons";import{useSyncExternalStore as TB}from"react";import{decodePartId as FB}from"efficient-easel/draw";function xr(e,o){let t=uf(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?zx(t,o.index):null:pf(e)?.[o.rowKey]??null}function Al(e,o,t){let r=e.node.props,{key:a,row:n}=so(e.propKey),s=n?pI(r,a,n,e.kind,o):dI(r,a,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}var EB=["bold","italic","underline","strike","link","sup","sub"],PB=["bullet","number"];function Gc(e,o){return e?[...EB,...o?PB:[]]:[]}function Ib(e,o){let t=FB(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:c}=so(a),u=o.components[n.type]?.fields?.[i],p=c?xr(u,c):u,m=Qt(p);if(!m)return null;let x=n.props??{};if(c&&!(Array.isArray(x[i])&&c.index<x[i].length))return null;let h=c?Xr(x[i],c):x[i];return{node:n,selector:s,propKey:a,kind:m,stored:h,offPage:Pn(p)}}function hb(e,o){let t=Ib(e,o);if(!t||t.offPage)return null;let{text:r,hidden:a}=Qo(t.stored);if(a)return null;let n=Vn(t.kind);return{partId:e,value:r,rules:Ht,multiline:n,offered:Gc(t.kind!=="plainText",n),write:s=>{let i=Ib(e,o);i&&Al({node:i.node,propKey:i.propKey,kind:i.kind,zone:i.selector.zone,index:i.selector.index},s,o.replace)}}}function gb(e,o,t){return e?.isConnected&&e.getAttribute(io)===t?e:o?.querySelector(`[${io}="${LB(t)}"]`)??null}function LB(e){return e.replace(/["\\]/g,"\\$&")}function bb(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var zc=null,Wc=new Set;function OB(){return zc}function Uc(e){if(e!==zc){zc=e;for(let o of Wc)o()}}function RB(e){return Wc.add(e),()=>{Wc.delete(e)}}function yb(){return TB(RB,OB,()=>null)}var NB=["left","center","right","justify"];function qc(e,o,t,r={}){let a=oa(e),n=(r.phone?e.sizePhone:void 0)??e.size??o.sizePx;return[r.phone?{...ba.fontSize,value:e.sizePhone,styleValue:Math.round(o.sizePx),onChange:s=>t({sizePhone:s??null})}:{...ba.fontSize,value:e.size,styleValue:Math.round(o.sizePx),onChange:s=>t({size:s??null})},{...ba.lineHeight,value:a.lineHeight,styleValue:o.lineRatio,onChange:s=>t(s===void 0?{lineHeight:null,line:null}:{lineHeight:s})},{...ba.letterSpacing,scale:n,value:a.letterSpacingEm,styleValue:o.letterEm,onChange:s=>t(s===void 0?{letterSpacing:null,letter:null}:{letterSpacing:s})},{...ba.paragraphSpacing,value:e.paragraphSpacing,styleValue:0,onChange:s=>t({paragraphSpacing:s??null})},{key:"padding",name:l("Padding"),icon:$c(_B,{}),unit:"px",step:vf,shiftStep:10,min:Sf,max:Cf,value:e.padding,styleValue:o.paddingPx,onChange:s=>t({padding:s??null})},{key:"width",name:l("Width"),icon:$c(DB,{}),unit:"px",step:kf,shiftStep:100,min:wf,max:Jo,value:e.width,styleValue:o.widthPx,onChange:s=>t({width:s??null})}]}function Sb({text:e,onTextChange:o,multiline:t,markup:r=!0,styled:a=!0,style:n,base:s,setValue:i,colors:c,placeholder:u,ariaLabel:p,head:m,typedOnCanvas:x=!1}){let h=qc(n,s,i),b=Gc(r,t);return AB("div",{className:"sf-part-textbox",children:[m,$c(BB,{value:e,onChange:o,multiline:t,placeholder:u,ariaLabel:p,rules:Ht,tools:b,barShows:x?"focus":"always",colors:r?c:[],align:a?{value:n.align??s.align,allow:NB,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 Hb}from"efficient-easel/draw/client";import{jsx as Bl,Fragment as MB,jsxs as HB}from"react/jsx-runtime";import{Button as Cb,Dialog as zB}from"efficient-shell/ui";function vb({styleName:e,onCancel:o,onConfirm:t}){return Bl(zB,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Update {style}?",{style:e}),footer:HB(MB,{children:[Bl(Cb,{variant:"secondary",onClick:o,children:l("Cancel")}),Bl(Cb,{variant:"primary",onClick:t,children:l("Update style")})]}),children:Bl("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 d_}from"efficient-easel/draw/client";import{jsx as WB}from"react/jsx-runtime";import{createContext as GB,useContext as UB,useMemo as $B,useState as qB}from"react";var jB={partStyle:null,setPartStyle:()=>{}},wb=GB(jB);function gY({children:e}){let[o,t]=qB(null),r=$B(()=>({partStyle:o,setPartStyle:t}),[o]);return WB(wb.Provider,{value:r,children:e})}function kb(){return UB(wb)}import{TEXT_FIELD_MARKER as u_}from"efficient-easel/draw";var KB="#9ca3af";function VB(e){return rn.map(o=>({key:o,name:xp[o],value:e?.[o]||KB}))}function _l(e){return VB(e).map(o=>({name:o.key,label:l(o.name),value:o.value}))}function Fb(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 rn){let i=Oo[s].replace(/^var\((--[\w-]+)\)$/,"$1"),c=a.getPropertyValue(i).trim();if(!c)continue;let u=Tb(c);!u&&n&&(n.fillStyle="#000000",n.fillStyle=c,u=Tb(String(n.fillStyle))),u&&(o[s]=u)}return o}function Tb(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 YB(e){let o=new Set([...Object.keys(ln[e]??{}),...sn[e]??[]]);for(let[t,r]of Object.entries(Qs[e]??{}))r.verb==="snapshot"&&o.add(t);return[...o].sort()}var XB={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},Eb={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},Pb="Open",Lb={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 ya(e){let o=e?.source?.slug;return typeof o=="string"&&o.length>0?o:void 0}function Sa(e){return XB[e]??null}function Ob(e,o){let t=Sa(e);return t&&YB(e).includes(o)?t:null}function Dl(e){let o=e?.menu?.id;return typeof o=="string"&&o.length>0?o:void 0}var Nl="data-sf-spec-region";function TY(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 Ir(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 ZB(e){return`@${e}`}function jc(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function Rb(e,o){return o&&o in e?o:null}function QB(e,o){let t=o?.closest(`[${Nl}]`)?.getAttribute(Nl);return Rb(e,t??null)}var Ca={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)]"},JB={tag:{label:"Tag",follows:"Labels",builtIn:Ir(Ca.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:Ir(Ca.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:Ir(Ca.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:Ir(Ca.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:Ir(Ca.link),writable:!0}},Ab=JB;var e_={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}},Bb=e_;var AY=Nl;var _b={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 Db={SpecTable:_b,FAQ:Bb,Collections:Ab};function Nb(e){return e&&Object.hasOwn(Db,e)?Db[e]:null}function Yc(e){return e?l(e):null}function zb(e){return e.kind==="role"?za[e.role]:e.kind==="custom"?"Custom":null}function p_(e){let o=e.role;return o&&Eo.includes(o)?{kind:"role",role:o}:null}function m_(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 Vc(e,o,t,r){return p_(tl(e,o))??m_(t,r)}function x_(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(r=>o(r)===t)?t:null}var Ml="";function I_({face:e,base:o,onPick:t}){let r=e.kind==="role"?e.role:Ml,a=[{label:l("No style"),value:Ml},...Eo.map(n=>({label:l(za[n]),value:n}))];return z(r_,{ariaLabel:l("Style"),value:r,options:a,inline:!0,onChange:n=>t(n===Ml?null:n),renderOption:n=>n.value===Ml?wo(Xc,{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(${Ot(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:Yc(zb(e))}),valueText:n=>Yc(zb(e))??n?.label??""})}function h_({sectionName:e,onBack:o,textEditor:t,styleRow:r,children:a}){return wo("div",{className:"sf-part-panel",children:[z(Hl,{inline:!0,name:l(e),onSelect:o}),t,r,a]})}function zl({source:e,slug:o,menuId:t}){let r=_t(),a=Lb[e],n=!a.needsSlug||!!o;return z("div",{className:"sf-note sf-note--source",children:wo("p",{className:"es-field-hint sf-hint-keep",children:[l(Eb[e]),n?wo(Xc,{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(Pb)})]}):null]})})}var Wb=4,g_=120;function b_({region:e,sizePx:o,face:t,base:r,onFollowStyle:a,source:n,slug:s,onBack:i}){let c=e.follows;return wo("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(c),px:Math.round(o)}):l("Its size follows Site styles \u25B8 {follows}.",{follows:l(c)})}),a?z(Xc,{children:z(n_,{label:l("Style"),icon:z(l_,{}),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(I_,{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(zl,{source:n,slug:s}):null,z(Hl,{inline:!0,name:l("Page"),onSelect:i})]})}function y_({onBack:e}){return wo("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(Hl,{inline:!0,name:l("Page"),onSelect:e})]})}function S_({onBack:e,partId:o,why:t}){return wo("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:wo("code",{children:[o," \u2014 ",t]})}),z(Hl,{inline:!0,name:l("Page"),onSelect:e})]})}function Gb({nodeId:e,propKey:o,onBack:t,onEditStyle:r}){let{getItemById:a,getSelectorForId:n,config:s}=i_(D=>D),i=qo(),c=yb(),{partStyle:u}=kb(),{fonts:p,textStyles:m}=Z(),x=o_(Nt),h=!x?.capabilities?.hasSiteTheme,{persist:b}=Wt({themeFromDocument:h,tokenRef:x?.tokenRef,siteId:x?.siteId??null}),C=al({themeFromDocument:h,persist:b}),[k,v]=Mb(!1),w=d_()==="mobile",g=t_(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?xr(O,B):O,re=Qn(e,o),H=y?.props??{},W=Qt(M),A=Pn(M),oe=yI(M),Oe=y?Sa(y.type):null,Xe=y?Ob(y.type,L):null,ro=B?Xr(H[L],B):H[L],We=!!B&&!(Array.isArray(H[L])&&B.index<H[L].length);Kc(()=>{bb(document)||g.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[re]);let[Re,Ge]=Mb(0);Kc(()=>Ge(0),[re]);let De=!!y&&!We&&(!E||!M);Kc(()=>{if(!De||Re>=Wb)return;let D=setTimeout(()=>Ge(ke=>ke+1),g_);return()=>clearTimeout(D)},[De,Re]);let Ce=De&&Re<Wb;if(!y||We)return z(y_,{onBack:t});let ge=Nb(y.type),Ie=ge?jc(ge,o):null;if(ge&&Ie){let D=u?.partId===re?u:null,ke=ge[Ie],mo=ke.writable===!0&&!!E,Pr=us=>{E&&i.replaceComponent(E.zone,E.index,{...y,props:ea(H,o,"role",us)})};return z(b_,{region:ke,sizePx:D?.base.sizePx??null,face:Vc(H,o,D,p),base:D?.base??null,onFollowStyle:mo?Pr:void 0,source:Oe,slug:ya(H),onBack:t})}if(!E||!M)return Ce?z("div",{className:"sf-note","aria-busy":"true"}):z(S_,{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?mf(H,L,B,D):{...H,[L]:D};ke&&Ze(ke);return}Al({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,pe=te&&ae?n(te.owner):null,Ne=!!(te&&ae&&pe),ye=Ne?ae.props??{}:H,po=Ne?D=>i.replaceComponent(pe.zone,pe.index,{...ae,props:D}):Ze,Fo=Ne?te.kind:kl(y?.type,o),Wo=tl(ye,Fo),Pe=[{partKey:Fo,face:Vc(ye,Fo,Y,p),sizeGroup:Y?.sizeGroup??null,base:Y?.base??v_,style:Wo}],Go=x_(Pe,D=>D.sizeGroup),rt=_l(Y?.inks),at=(D,ke)=>{let mo=ye;for(let Pr of Pe)mo=ea(mo,Pr.partKey,D,ke);po(mo)},cs=D=>at("role",D),Ma=D=>{let ke=ye;for(let mo of Pe)for(let[Pr,us]of Object.entries(D))ke=ea(ke,mo.partKey,Pr,us??null);po(ke)},Er=W==="text"||W==="textarea",{text:N,hidden:U}=Qo(ro),q=M?.[u_]?.label??o,se=U?l("Show {label} on the slide",{label:l(q)}):l("Hide {label} on the slide",{label:l(q)}),oo=wo("div",{className:"sf-field-head",children:[z(s_,{}),z("span",{className:"sf-field-label sf-field-label--inline",children:l(q)}),Er&&z(c_,{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(Hb,{name:"eye-off",size:14}):z(Hb,{name:"eye",size:14})})})]}),Uo=!A&&oe,Ha=!!W&&(kx(M)||A||U||!oe),Lt=Vc(ye,Fo,Y,p),ds=Lt.kind==="role"?Lt.role:null,kC=Object.entries(Wo).filter(([D,ke])=>D!=="role"&&ke!==void 0).length,TC=()=>{let D=ye;for(let ke of Pe){let mo=ke.style.role;D=BI(D,ke.partKey),mo&&(D=ea(D,ke.partKey,"role",mo))}po(D)},nt=Af(ds),FC=qI(Pe[0].style),EC=nt?et(C.saved,C.old).find(D=>D.id===nt)?.name??nt:"",PC=()=>{v(!1),nt&&(C.write(jI({saved:C.saved,old:C.old,styleId:nt,values:Bf(Pe[0].style)}),!0),TC())};return wo(h_,{sectionName:F?.label??y.type,onBack:t,textEditor:z("div",{ref:g,className:"sf-part-text",children:Ha?z(Sb,{text:N,onTextChange:D=>P(Er?{text:D,hidden:U}:D),multiline:Vn(W),markup:W!=="plainText",styled:!1,style:Pe[0].style,base:Pe[0].base,setValue:Ma,colors:rt,placeholder:Yc(cI(M))??void 0,ariaLabel:l(q),head:oo,typedOnCanvas:c===re}):W?Er?oo:null:z(a_,{field:M,name:o,value:le,onChange:P,id:`sf-part-${e}-${o}`})}),children:[Xe&&z(zl,{source:Xe,slug:ya(H),menuId:Dl(H)}),Uo&&z(f_,{style:{value:ds??"",options:[{value:"",label:l("No style"),description:l("Section\u2019s own")},...Eo.map(D=>({value:D,label:l(za[D]),description:Ot(p[D])?.label}))],onChange:D=>cs(D||null),changed:kC>0,onEditStyles:r,onUpdateStyle:nt&&FC?()=>v(!0):void 0},font:{value:Wo.font??"",styleValue:Ot(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:C_(m,ds),onChange:D=>at("italic",D??null)},cells:qc(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(vb,{styleName:EC,onCancel:()=>v(!1),onConfirm:PC}),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 C_(e,o){let t=Af(o);return!t||!Array.isArray(e)?!1:e.find(r=>r?.id===t)?.values?.italic===!0}var v_={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:Jo};import{jsx as co,jsxs as Zc,Fragment as w_}from"react/jsx-runtime";import{useCallback as k_,useRef as T_,useState as va}from"react";import{InspectorIconButton as F_}from"efficient-easel/chrome";import{PopupMenu as E_,PopupMenuItem as P_,PopupMenuLabel as Wl}from"efficient-shell/ui";import{CopyToPageIcon as L_}from"efficient-easel/icons";import{cloneNodeWithFreshIds as Ub,docToNode as wX,nodeToDoc as kX}from"efficient-easel/screen/lib/puck/section-doc";import{FOOTER_TYPE as O_}from"efficient-easel/draw";function $b({node:e,currentSlug:o,siteId:t,tokenRef:r,runAuthed:a,onNotify:n}){let[s,i]=va(!1),[c,u]=va(null),p=Ae(),[m,x]=va(!1),[h,b]=va(null),C=T_(null),[k,v]=va(null),w=k_(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=(c??[]).filter(F=>F.slug!==o),E=async F=>{if(h)return;b(F.slug);let L=Ub(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===O_);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 Zc(w_,{children:[co("span",{"data-menu-toggle":!0,style:{display:"contents"},children:co(F_,{buttonRef:C,label:l("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:g,children:co(L_,{size:15})})}),s&&k&&co(E_,{portal:!0,style:{top:k.top,right:k.right},onClose:()=>i(!1),children:Zc("div",{role:"menu","aria-label":l("Duplicate to page"),children:[co(Wl,{children:l("Duplicate to page")}),m?co(Wl,{children:l("Couldn\u2019t load pages")}):c===null?co(Wl,{children:l("Loading\u2026")}):y.length===0?co(Wl,{children:l("No other pages")}):y.map(F=>Zc(P_,{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 HX,sameInspectorMode as zX,SELECTION_MODE as qb,useScreenParts as WX,useScreenBlockLook as GX,useScreenBlockRules as UX,useScreenBridges as $X,useScreenCanvasFrame as qX,useScreenDevices as jX,useScreenDocumentPass as KX,useScreenInspectorPanel as VX,useScreenLeftView as YX,useScreenOwnerName as XX,useScreenPinned as ZX,useStandaloneScreenBridges as QX}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as yD}from"efficient-easel/draw/client";import{jsx as wa,jsxs as R_}from"react/jsx-runtime";import{SettingsDrill as A_}from"efficient-easel/panel";import{UiIcon as B_}from"efficient-easel/draw/client";var __="Not shown on the page";function D_({part:e,onOpen:o}){return wa(A_,{name:l(e.label),preview:e.offPage?l(__):e.preview||l("Empty"),offPage:e.offPage,status:e.hidden?wa("span",{className:"sf-entry-eye",role:"img","aria-label":l("Hidden on the page"),children:wa(B_,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function Qc(e){return e.filter(o=>!o.identifier)}function jb({parts:e,onOpen:o,heading:t=!0}){let r=Qc(e);return r.length?R_("div",{className:"sf-entries",children:[t?wa("h3",{className:"sf-entries-head",children:l("Text")}):null,r.map(a=>wa(D_,{part:a,onOpen:o},a.key))]}):null}import{HEADER_TYPE as SD,ROOT_ZONE as wy}from"efficient-easel/draw";import{HEADER_TYPE as Ve,FOOTER_TYPE as me,newNodeId as N_}from"efficient-easel/draw";function Gl(){return{type:Ve,props:{id:N_(Ve)}}}var Kb=[{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"}],M_=Kb.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),H_="FooterGroup",Vb="blocks";function Yb(e){return e===me?Kb:e===H_?M_:null}function Ul(){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 _e="SiteHeader",de="SiteFooter",Jc="sections",sZ=[_e,de],hr=e=>e===_e||e===de,Xb=e=>`${e}:${Jc}`;function Zb(e,o,t=[]){return{type:e,props:{id:o,[Jc]:t}}}var z_=new Set(["Footer",_e,de]);function gr(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 Qb(e,o){return e.some(t=>t?.type===o.type)?e:o.type===_e?[o,...e]:[...e,o]}var Jb={[_e]:{max:3,takes:["Flex","Ticker"]},[de]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function ey(e,o,t){if(!hr(e))return!0;let r=Jb[e];return t<r.max&&r.takes.includes(o)}function oy(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(!hr(n?.type))continue;let s=n.props?.[Jc];if(!Array.isArray(s)||!s.some(c=>c?.props?.id===r))continue;let i=Jb[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 ty(e){switch(e?.type){case _e: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 me:return l("Footer \xB7 on every page \xB7 old style");default:return null}}var ry=()=>l("Every page"),ay=()=>l("Changed on every page");function $l(e,o){let t=Vu(e,o);if(t)return t;let r=oy(e,o);if(!r)return null;let a=r.group===_e;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 jl,Fragment as U_,jsxs as $_}from"react/jsx-runtime";import{useState as q_}from"react";import{createNode as j_,newId as K_}from"efficient-easel/data";import{useEasel as V_}from"efficient-easel/easel";import{Banner as Y_,Button as ed}from"efficient-shell/ui";var ql="Flex",W_={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},G_=e=>{let{id:o,...t}=e;return t},ny=e=>typeof e=="string"?e:"";function ly(e,o){let t=e.props??{},r=W_[e.type];if(r)return[o(r,G_(t))];switch(e.type){case"FooterLogo":{let a=o("LogoBlock",t.reverse?{reverse:t.reverse}:{}),n=ny(t.tagline).trim();return n?[a,o("Text",{text:n,tone:"dim",align:t.align==="center"?"center":"left"})]:[a]}case"FooterText":return[o("Text",{text:ny(t.text),tone:typeof t.tone=="string"?t.tone:"default"})];case"FooterDivider":return[o("Divider")];case"FooterGroup":{let a=Array.isArray(t.blocks)?t.blocks:[];return[o(ql,{direction:t.direction==="horizontal"?"row":"column",content:a.flatMap(n=>ly(n,o))})]}default:return[]}}function ka(e,o,t){let r=(e&&Array.isArray(e.props?.blocks)?e.props.blocks:[]).flatMap(s=>{let i=ly(s,o);return i.length<=1?i:[o(ql,{direction:"column",content:i})]}),a=o(ql,{direction:"row",wrap:!0,share:"equal",content:r}),n=o(ql,{direction:"column",content:[o("LegalLineBlock")]});return Zb(de,t,[a,n])}function sy(){let{appState:e,dispatch:o,config:t}=V_(p=>p),{readOnly:r}=Se(),[a,n]=q_(!1),s=e.data.content;if(r||s.some(p=>p.type===de))return null;let i=s.find(p=>p.type===me)??null,c=(p,m)=>j_(t,p,m),u=()=>{let p=ka(i,c,K_(de));o({type:"setData",data:m=>({...m,content:[...Qb(m.content,p)]}),recordHistory:!0}),n(!1)};return jl(Y_,{tone:"info",title:l("This footer uses the old layout"),action:a?$_(U_,{children:[jl(ed,{variant:"primary",size:"sm",onClick:u,children:l("Switch now")}),jl(ed,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:l("Cancel")})]}):jl(ed,{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 id}from"react/jsx-runtime";import{useLayoutEffect as lD,useMemo as by,useRef as sD,useState as ld}from"react";import{useEasel as iD,useSelectedFields as fD}from"efficient-easel/easel";import{Inspector as cD,planFields as yy}from"efficient-easel/fields";import{DESIGN_GROUPS as td,SETTINGS_BUCKETS as X_}from"efficient-easel/panel";import{BUCKET_KEY as Ye,DESIGN_GROUP_KEY as br}from"efficient-easel/screen/lib/puck/field-buckets";var Ta=X_;var Z_="Editor only \u2014 not shown live",rd={"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",[Z_]:"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"},fy={"AlloyWheelsListing._gCards":"Design","ProductGrid._gCards":"Design"},cy={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function od(e,o,t){let r=`${e}.${o}`;return cy[r]??fy[r]??rd[t]}function dy(e){return e==="Animation"?[Ye.Animation]:[Ye.Design,br[e]]}function Kl(...e){let o=[];for(let t of e)for(let r of Object.values(t)){let a=Xs(r),n=Do(a?a.inner:r),s=n?rd[n.label]:void 0;if(s)for(let i of dy(s))o.includes(i)||o.push(i)}return o}var AZ=[...Kl(_n(),Dn("full"),Nn(),Mn(),qi()),...Object.keys(_n()),...Object.keys(Dn("full")),...Object.keys(Nn()),...Object.keys(Mn()),...Object.keys(qi())],BZ=[...Kl(On()),...Object.keys(On())],_Z=[...Kl(An()),...Object.keys(An())],DZ=[...Kl(Bn()),...Object.keys(Bn())],Q_=Object.keys(Wx()),J_=new Set(["cardImage","imageBackground"]),NZ=[...dy(od("ProductGrid","_gCards","Cards")??"Design"),...Q_.filter(e=>e.startsWith("_g")||J_.has(e))],MZ=Object.keys(Gx()),HZ=Object.keys(Ux({bottomDefault:!0})),eD={"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)"},uy={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},py={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={..._n(),...Dn("full"),...Nn(),...Mn(),...On(),...An(),...Bn()};for(let o of Object.keys(py)){let t=Do(e[o]),r=t?rd[t.label]:void 0;if(!t||t.level!==2||!r||!uy[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 oD=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),tD=new Map([[Ye.Design,"Content"],[Ye.Animation,"Animation"],...td.map(e=>[br[e],e])]);function my(e){let o=new Set([...Object.values(Ye),br.Content]);for(let[t,r]of Object.entries(e))if(!o.has(t)&&Do(r)?.level===1)return 1;return 2}function rD(e){let o=`${e}.`;return Object.keys(eD).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function aD(e,o){let t=Xs(e),r=He(o);return t?ve(t.tier,r):r}function nD(e,o){let t=Do(o);return t?e==="Content"||e==="Animation"?Px(o,t.label):Lx(o):o}function iy(e){return e==="Design"?td:["Animation"]}function zZ(e,o){let t=[],r=new Set(rD(o)),a=new Set,n=!1,s=null;for(let[x,h]of Object.entries(e)){let b=Do(h);if(oD.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=tD.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 py){let v=od(o,x,b.label);if(b.level!==2||!v||!uy[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=od(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 ${[...td,"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:aD(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",cy],["KEY_GROUP",fy]]){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 c=n?[]:[...r].filter(x=>!a.has(x));if(c.length)throw new Error(`${o}: RETIRED (lib/puck/field-groups.ts) lists ${JSON.stringify(c)}, but this section has no such fold header${c.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=Ta.filter(x=>iy(x).some(h=>u.has(h))),m={};for(let x of p){m[Ye[x]]=Ln(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[br[h]]=Gi(h));for(let k of b)for(let[v,w]of k.entries)m[v]=nD(h,w)}}return m}function WZ(e){return Ye.Design in e?e:{[Ye.Design]:Ln("Design",null),[br.Content]:Gi("Content"),...e}}function GZ(e){return Ta.some(o=>Ye[o]in e)}function UZ(e){let o=Ta.filter(r=>Ye[r]in e);if(o.length===0)return e;let t={...e};for(let r of o)t[Ye[r]]=Ln(r,r===o[0]?o:null);return t}import{usePreviewDevice as dD}from"efficient-easel/draw/client";var ad=" text",xy="Text";function nd(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function Iy(e){return e.filter(nd).map(o=>o.key)}function hy(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 gy(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var sd=new Map,Vl=new Set;function uD(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),c=!!i&&[...i.children].some(p=>!p.hidden),u=i?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:c,labelled:c&&!!u}})});return r}var pD=Object.fromEntries(Ta.map(e=>{let o=Tx[e];return[e,id(o,{},e)]}));function Fa({entries:e,entryCount:o=0,part:t=null}){let{id:r,fields:a,values:n,readOnly:s,onChange:i}=fD(),c=dD(),{appState:u,config:p}=iD(W=>W),m=Lh(c,p,u.data.content??[],u.ui.itemSelector),x=_h(a,t),h=Ph(x,n,m),[b,C]=ld(()=>new Set(Vl)),[k,v]=ld(()=>new Set),w=sD(null),g=by(()=>{let W=new Map;for(let A of yy(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]);lD(()=>{let W=w.current?.parentElement;if(!W)return;let A=new Set(Iy(uD(W,g)));v(oe=>gy(oe,A)?oe:A)});let y=by(()=>hy(h,k),[h,k]),E={key:ad,rows:Array.from({length:o},()=>({shown:!0,labelled:!0}))},F=nd(E)?void 0:{key:ad,title:xy},[L,B]=ld(()=>sd.get(r)),O=sd.get(r),M=yy(h).buckets,re=O&&M.includes(O)?O:L&&M.includes(L)?L:M[0],H=re===void 0||Fx(M,re)!==!0;return id(cD,{fields:y,values:n,onChange:i,readOnly:s,showWhenContext:{...m,node:n},tab:re,onTab:W=>{sd.set(r,W),B(W)},tabIcons:pD,idPrefix:r,ariaLabel:l("Section settings"),lead:H?e:null,leadFold:F,closedFolds:b,onFold:(W,A)=>{A?Vl.delete(W):Vl.add(W),C(new Set(Vl))},children:id("span",{ref:w,hidden:!0})})}import{jsx as fd,jsxs as mD}from"react/jsx-runtime";import{InspectorUpLevel as Sy}from"efficient-easel/chrome";function Cy({nodeId:e,part:o,sectionName:t,onUpToSection:r}){let{select:a}=Il();return mD("div",{children:[o!=="media"?fd(Sy,{inline:!0,name:l(sr.media),onSelect:()=>a(fa(e,"media"))}):fd(Sy,{inline:!0,name:l(t),onSelect:r}),fd(Fa,{part:o})]})}import{SettingsSwitch as CD}from"efficient-easel/panel";var Ty=qb,ud={kind:"header"},pd={kind:"website"},Fy={kind:"chat"},Ey={kind:"social"},Ea="Part";function vD(e){return l("Part of {name}",{name:l(e)})}function wD(e,o,t){let r=e.describeNode(o);return{name:t,kindLabel:r?vD(r.label):l(Ea)}}function kD(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 Py({what:e}){let o=kD(e);return Tt("div",{className:"sf-note",children:[ee("p",{children:ee("strong",{children:o.title})}),Tt("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 dd(e){let o=ia[e];return{name:sr[e],kindLabel:Ea,icon:o,head:(t,r)=>{if(t.kind!==o)return null;let a=r.describeNode(t.nodeId);if(!a)return null;let n=ky({name:l(Sl(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(Cy,{nodeId:t.nodeId,part:e,sectionName:r.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>r.onSelectNode(t.nodeId)}):null}}var TD={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(nl,{themeFromDocument:!o.capabilities.hasSiteTheme,tokenRef:o.tokenRef,siteId:o.siteId,onNotify:o.onNotify})},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>ee($h,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>ee(Xh,{unavailable:ee(Py,{what:"Social link"})})},ticker:{name:la,kindLabel:Ea,icon:"ticker",head:(e,o)=>e.kind==="ticker"?wD(o,e.heroId,l(la)):null,render:e=>ee(xb,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:dd("media"),heroImage:dd("image"),heroImage2:dd("image2"),part:{name:Ea,kindLabel:Ea,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?xr(t.fields[r],a):t.fields[r],s=mI(l(xf(el(n??{},r))),a),i=ky({name:s,tier:"part",of:l(t.label)},{partOf:({name:c})=>l("Part of {name}",{name:c})});return{name:i.name,kindLabel:i.kind}},render:(e,o)=>e.kind==="part"?ee(Gb,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},FD=new Set(["header","website","chat"]);function ED(e,o){if(e==="puck")return null;let t=TD[e];return FD.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>ee(Py,{what:t.name})}:t}function Ly({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r,hideNodeActions:a=!1,onNotify:n,onHidePanel:s}){let{capabilities:i,tokenRef:c,notifyParent:u,currentSlug:p,siteId:m,runAuthed:x,readOnly:h}=Se(),{websiteName:b}=Z(),C=qo({readOnly:h}),{select:k}=yD(),{selectedItem:v,getItemById:w,getSelectorForId:g,config:y,appState:E}=ID(te=>te),F=Mh(y,v?{type:v.type,props:v.props}:null),L=v?CI(F??y.components[v.type]?.fields,v.props):[],B=te=>y.components[te]?.label??te,O=v?g(v.props.id):void 0,M=ED(e.kind,i),re=Ae(),H={capabilities:i,tokenRef:c,hostPanels:re.chrome?.panels,describeNode:te=>{let ae=w(te);if(!ae)return null;let pe=y.components[ae.type];return{type:ae.type,label:pe?.label??ae.type,fields:pe?.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!==wy?l("Block"):l("Section"):l("Page")),Oe=M?M.icon:v?v.type:"page",Xe=M?null:v?y.components[v.type]?.fields??null:y.root?.fields??null,ro=Xe?my(Xe):2,We=e.kind==="puck"&&v?Sa(v.type):null,Re=!!v&&!!O&&O.zone===wy&&v.type!==me&&v.type!==SD,Ge=$l(E?.data,v),De=()=>{Ge||O&&C.duplicateComponent(O.zone,O.index)},Ce=()=>{O&&(C.removeComponent(O.zone,O.index),C.select(null))},ge=v?y.components[v.type]?.defaultProps?.previewHover:void 0,Ie=e.kind==="puck"&&!!v&&!!O&&ge!==void 0,Ze=Ie&&v.props.previewHover===!0,P=()=>{!v||!O||C.replaceComponent(O.zone,O.index,{...v,props:{...v.props,previewHover:!Ze}})},[le,Y]=xD(zf);return Tt("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right${le||!(!M&&v)?"":" sf-hints-folded"}`,children:[ee(hD,{icon:ee(wt,{type:Oe,size:15}),name:A,kind:oe,actions:!a&&e.kind==="puck"&&v&&v.type!==me?Tt(cd,{children:[ee(vy,{label:l("Duplicate section"),title:Ge??void 0,disabled:Ge!==null,onClick:De,children:ee(gD,{size:15})}),Re&&i.hasSiteSettings&&ee($b,{node:v,currentSlug:p,siteId:m??void 0,tokenRef:c,runAuthed:x,onNotify:n}),ee(vy,{label:l("Remove section"),danger:!0,onClick:Ce,children:ee(bD,{size:15})}),s?ee(Es,{side:"right",onHide:s,divider:!0}):null]}):s?ee(Es,{side:"right",onHide:s}):void 0}),Ie&&Tt("div",{className:"sf-preview-pin",children:[Tt("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(CD,{checked:Ze,onChange:P,ariaLabel:l("Preview hover state")})]}),ee(tx,{tier:ro,children:ee("div",{className:"sf-insp-body es-insp-body sf-scroll",children:M?M.render(e,H):v?Tt(cd,{children:[v.type===me&&i.hasSiteSettings&&ee(sy,{}),ee(Fp,{children:ee(Fa,{entries:ee(jb,{parts:L,heading:!1,onOpen:te=>k(Qn(v.props.id,te))}),entryCount:Qc(L).length})}),We&&ee(zl,{source:We,slug:ya(v?.props),menuId:Dl(v?.props)}),ee(Wf,{shown:le,onChange:Y})]}):ee(cd,{children:ee(Fa,{})})})})]})}import{jsx as f,jsxs as S,Fragment as _y}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)"},md="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 f("div",{style:{width:e,height:o,borderRadius:r,background:Fe[t],flex:"none",...a}})}var PD={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)"},xe=(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:[f("span",{style:r("8% 26% 30% 6%",d.mark1)}),f("span",{style:r("26% 6% 8% 30%",d.mark2,"multiply")})]})}function La({children:e}){return f("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:d.muted},children:e})}function Oy({over:e,overTone:o,head:t,headSize:r=11.5,cta:a,ctaBg:n,ctaFg:s,tone:i}){return S(_y,{children:[e&&f("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:o},children:e}),f("span",{style:{fontSize:r,lineHeight:1.15,fontWeight:700,maxWidth:"78%",color:i},children:t}),a&&f("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 xd({name:e,price:o}){return S("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[f("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",...xe(d.paper,d.paper2,150)},children:f(zo,{size:34,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),f("span",{style:{fontSize:"3.65cqw",fontWeight:600,color:d.text},children:e}),f("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:[f("span",{children:e}),S("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[f("b",{style:{color:d.text,fontWeight:700},children:o}),t&&f("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:[f(La,{children:e}),o]})}function Ry({size:e=14}){return f("span",{style:{width:e,height:e,borderRadius:"50%",flex:"none",display:"block",background:`linear-gradient(150deg,${d.mark1},${d.mark2})`}})}function Id({filled:e=5,size:o=6}){return S("span",{style:{fontSize:o,letterSpacing:"0.06em",color:d.rust,lineHeight:1},children:["\u2605".repeat(e),f("span",{style:{color:d.mark1},children:"\u2605".repeat(5-e)})]})}function Pa({n:e,label:o,tone:t=d.text}){return S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[f("b",{style:{fontSize:"8.16cqw",lineHeight:1,color:t},children:e}),f("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",opacity:.62,color:t},children:o})]})}function Le({children:e,w:o}){return f("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:d.muted,width:o,display:"block"},children:e})}function Yl({label:e,w:o="100%",filled:t}){return S("div",{style:{width:o,display:"flex",flexDirection:"column",gap:2},children:[f("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:d.muted},children:e}),f("span",{style:{height:9,borderRadius:3,border:`1px solid ${d.rule}`,background:t?d.paper:d.card}})]})}function Ay({children:e}){return f("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 LD={wheelslisting:f(ie,{title:"All wheels",children:f("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:[f("span",{style:{width:20,height:15,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",...xe(d.paper,d.paper2,150)},children:f(zo,{size:12,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),f("b",{style:{flex:1,fontSize:"4.31cqw",color:d.text},children:e}),f("span",{style:{fontSize:"3.65cqw",color:d.muted},children:o}),f("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,f("span",{style:{opacity:.6},children:"\u2715"})]},e)),f("span",{style:{fontSize:"3.65cqw",color:d.rust,fontWeight:700},children:"Clear"})]}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[f("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"128 results"}),f("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",...xe(d.ink,d.inkSoft)},children:[f("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," ",f("span",{style:{color:d.muted},children:"\u25BE"})]},e)),f("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.08em",background:d.warm,color:d.ink,borderRadius:3,padding:"5px 7px"},children:"GO"})]})]}),compatibletyres:f(ie,{title:"Tyres that suit",children:f("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:[f("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",background:d.ink},children:f("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"}})}),f("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:d.text,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:e}),f("span",{style:{fontSize:"3.32cqw",color:d.muted},children:o})]},e))})}),tyresizes:f(ie,{title:"Available sizes",children:f("div",{style:{flex:1,display:"flex",flexWrap:"wrap",gap:4,alignContent:"center"},children:["265/65R17","285/70R17","265/60R18","275/55R20"].map((e,o)=>f("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:[f("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," ",f("span",{style:{color:d.muted},children:"\u25BE"})]},e))}),f("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:[f("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:d.text},children:e}),f("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:[f("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:[f("span",{style:{width:o,height:6,borderRadius:"0 2px 2px 0",background:t===1?d.rust:d.mark1}}),f("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:[f("b",{style:{fontSize:"6.63cqw",lineHeight:1,color:d.text},children:"72"}),f("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:[f(La,{children:"Buy it with"}),S("div",{style:{display:"flex",alignItems:"center",gap:5},children:[[0,1].map(e=>f("span",{style:{width:26,height:22,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",background:d.card},children:f(zo,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),f("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:d.muted},children:"+"}),S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1},children:[f("span",{style:{fontSize:"3.65cqw",color:d.muted,textDecoration:"line-through"},children:"$1,024"}),f("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,...xe(d.ink,d.ink2)},children:[S("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[f("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",color:d.warm,fontWeight:700},children:"READY TO ORDER"}),f("b",{style:{fontSize:"6.63cqw",color:d.onInk,lineHeight:1},children:"$1,956"}),f("span",{style:{fontSize:"3.65cqw",color:d.onInk,opacity:.65},children:"4 items \xB7 fitted free"})]}),f("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:f(ie,{title:"Who do you need?",children:f("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:[f("b",{style:{flex:1,fontSize:"4.31cqw",color:d.text},children:e}),f("span",{style:{fontSize:"3.65cqw",color:d.muted},children:o}),f("span",{style:{fontSize:"4.64cqw",color:d.rust,lineHeight:1},children:"\u203A"})]},e))})}),contactlocations:f(ie,{title:"Find us",children:f("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:[f("b",{style:{fontSize:"4.31cqw",color:d.text},children:e}),f("span",{style:{fontSize:"3.32cqw",color:d.muted},children:o}),f("span",{style:{fontSize:"3.32cqw",color:d.rust,fontWeight:700},children:t})]},e))})}),form:f(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:[f(Yl,{label:"Name"}),f(Yl,{label:"Email"})]}),f(Yl,{label:"Message",filled:!0}),f(Ay,{children:"SEND"})]})}),appointmentbooking:f(ie,{title:"Book a fitting",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[f("div",{style:{display:"flex",gap:3},children:["Mon","Tue","Wed","Thu"].map((e,o)=>f("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))}),f("div",{style:{display:"flex",gap:3},children:["8:00","10:30","13:00","15:30"].map((e,o)=>f("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:f(ie,{title:"Leave a review",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[f(Id,{filled:4,size:14}),f(Yl,{label:"Your review",filled:!0}),f(Ay,{children:"POST"})]})}),submitbuild:f(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:[f("span",{style:{fontSize:"6.63cqw",lineHeight:1,color:d.rust,fontWeight:300},children:"+"}),f("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:[f("span",{style:{height:1.5,background:d.text}}),f("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:[f("span",{children:"Issue 14"}),f("span",{children:"Spring 2026"})]}),f("span",{style:{height:1,background:d.rule}})]}),featuredcover:S("div",{style:{..._,overflow:"hidden",...xe(d.ink,d.inkSoft2)},children:[f(zo,{size:92,style:{right:-18,top:-14}}),f("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:[f("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.warm},children:"FEATURE"}),f("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:[f("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.14em",fontWeight:700,color:d.rust},children:"12 MIN READ"}),f("span",{style:{fontSize:"6.02cqw",lineHeight:1.15,fontWeight:700,color:d.text},children:"What breaks first, and why"}),f(Le,{children:"Every failure starts in the same place \u2014 not the rim, not"}),f(Le,{w:"62%",children:"the tyre, but the bolt nobody re-torqued."})]}),series:f(ie,{title:"Recurring columns",children:f("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:[f("span",{style:{width:3,height:12,borderRadius:2,background:d.rust,flex:"none"}}),f("b",{style:{flex:1,fontSize:"4.64cqw",color:d.text},children:e}),f("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:d.muted},children:o})]},e))})}),events:f(ie,{title:"Latest posts",children:f("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:[f("span",{style:{width:24,height:18,borderRadius:3,flex:"none",...xe(e,o,150)}}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[f("b",{style:{fontSize:"4.31cqw",color:d.text},children:t}),f("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:[f("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.muted},children:"POLICY"}),f("span",{style:{fontSize:"6.49cqw",fontWeight:700,color:d.text,lineHeight:1.1},children:"Returns & refunds"}),f("span",{style:{fontSize:"3.65cqw",color:d.muted},children:"Version 3 \xB7 Updated 4 Sep 2026"}),f("span",{style:{height:2,width:26,background:d.rust,borderRadius:1}})]}),docbody:f("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:[f("b",{style:{fontSize:"3.98cqw",color:d.rust,flex:"none"},children:e}),f(Le,{children:o})]},e))}),docmetacards:f(ie,{title:"At a glance",children:f("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:[f("b",{style:{fontSize:"5.31cqw",color:d.text,lineHeight:1},children:e}),f("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:[f("div",{style:{display:"flex",gap:0},children:["Returns","Warranty","Shipping"].map((e,o)=>f("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))}),f("span",{style:{height:1,background:d.rule}}),S("div",{style:{paddingTop:6,display:"flex",flexDirection:"column",gap:2},children:[f(Le,{children:"Unfitted wheels come back within 30 days, no questions."}),f(Le,{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:[f("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:[f(Le,{children:"Forged, correctly offset, rated for what you actually"}),f(Le,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:f(ie,{title:"Key features",children:f("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:[f("span",{style:{fontSize:"4.64cqw",color:d.rust,fontWeight:700,lineHeight:1},children:"\u2713"}),f("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:[f(Pa,{n:"27k",label:"Rigs"}),f(Pa,{n:"4.9",label:"Rating"})]}),S("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[f(Le,{children:"Twelve years of fitting the same three questions, and the"}),f(Le,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:S(ie,{title:"Load vs weight",children:[f("div",{style:{flex:1,display:"flex",alignItems:"flex-end",gap:5,paddingBottom:2},children:[38,62,84,71,96].map((e,o)=>f("span",{style:{flex:1,height:`${e}%`,borderRadius:"2px 2px 0 0",background:o===4?d.rust:d.mark1}},o))}),f("span",{style:{height:1,background:d.rule,marginTop:-4}})]}),mockup:f("div",{style:{..._,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...xe(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:[f("div",{style:{height:9,background:d.paper,display:"flex",alignItems:"center",gap:2,padding:"0 4px"},children:[0,1,2].map(e=>f("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:[f("span",{style:{height:4,width:"56%",borderRadius:1,background:d.mark2}}),f("span",{style:{height:14,borderRadius:2,...xe(d.paper,d.paper2,150)}}),f("span",{style:{height:3,width:"38%",borderRadius:1,background:d.rust}})]})]})}),manifesto:f("div",{style:{..._,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...xe(d.ink,d.ink2)},children:S("span",{style:{fontSize:"6.63cqw",lineHeight:1.2,fontWeight:700,color:d.onInk},children:["We build for the ",f("span",{style:{color:d.warm},children:"last"})," ten percent of the track."]})}),timeline:f(ie,{title:"Our story",children:f("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&&f("span",{style:{position:"absolute",left:3,top:8,bottom:-8,width:1,background:d.rule}}),f("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:[f("b",{style:{fontSize:"4.64cqw",color:d.text},children:e}),f(Le,{children:o})]})]},e))})}),timelinetrack:S("div",{style:{..._,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...xe(d.ink,d.inkSoft)},children:[f("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:[f("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:[f("span",{style:{position:"absolute",top:-7,width:6,height:6,borderRadius:"50%",background:o===3?d.warm:d.mark1}}),f("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",...xe(d.paper,d.paper2,150)},children:[f("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}}),f("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])=>f("span",{style:{position:"absolute",left:e,top:o,width:7,height:7,borderRadius:"50% 50% 50% 0",transform:"rotate(-45deg)",background:d.rust}},e)),f("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:[f("b",{style:{fontSize:"6.02cqw",color:d.onInk},children:"End of season \xB7 20% off"}),f("span",{style:{fontSize:"3.98cqw",color:d.onInk,opacity:.8},children:"Fitted free, this month only."})]}),f("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:[f("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:[f("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"}),f("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:f("div",{style:{..._,overflow:"hidden",background:d.ink,display:"flex",alignItems:"center"},children:f("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",...xe(d.ink,d.ink2)},children:[f("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.16em",textTransform:"uppercase",color:d.muted},children:"Back online in"}),f("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&&f("b",{style:{fontSize:"9.5cqw",lineHeight:1,color:d.warm},children:":"}),S("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[f("b",{style:{fontSize:"11.5cqw",lineHeight:1,color:d.onInk,fontVariantNumeric:"tabular-nums"},children:e}),f("span",{style:{fontSize:"3.2cqw",letterSpacing:"0.1em",textTransform:"uppercase",opacity:.62,color:d.onInk},children:o})]})]},o))})]}),breadcrumb:f("div",{style:{..._,background:d.card,display:"flex",alignItems:"center",padding:"0 13px"},children:S("span",{style:{fontSize:"4.64cqw",color:d.muted},children:["Home ",f("span",{style:{opacity:.5},children:"/"})," Wheels ",f("span",{style:{opacity:.5},children:"/"})," ",f("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:[f("div",{style:{display:"flex",gap:5},children:["All","Wheels","Tyres","Lift"].map((e,o)=>f("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))}),f("span",{style:{height:1,background:d.rule}})]}),intro:S("div",{style:{..._,overflow:"hidden",background:d.card},children:[f("div",{style:{position:"absolute",inset:0,...xe(d.ink,d.inkSoft2)}}),f(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:[f("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:d.text},children:"Since 1998"}),f(Le,{children:"One shed, one lathe, one idea."}),f(Le,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:f(ie,{title:"From our customers",children:f("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)=>f("div",{style:{borderRadius:3,...xe(e,o,140+t*22)}},t))})}),gallery:S(ie,{title:"Gallery",children:[f("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:-2},children:["On the truck","Studio","Close-ups"].map((e,o)=>f("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))}),f("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)=>f("div",{style:{borderRadius:3,...xe(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:[f("span",{style:{width:26,height:26,borderRadius:4,position:"relative",overflow:"hidden",flex:"none",...xe(d.paper,d.paper2,150)},children:f(zo,{size:18,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[f("b",{style:{fontSize:"4.31cqw",color:d.text},children:"Ridge Grappler"}),f("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:[f(Ho,{k:"Subtotal",v:"$1,956"}),f(Ho,{k:"Fitting",v:"Free"}),S("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:5,fontSize:"4.64cqw"},children:[f("b",{style:{color:d.text},children:"Total"}),f("b",{style:{color:d.text,fontSize:"6.02cqw"},children:"$1,956"})]})]})]}),deliveryoptions:f(ie,{title:"Delivery",children:f("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:[f("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",border:`1.5px solid ${r?d.rust:d.mark1}`,background:r?d.rust:"transparent"}}),f("span",{style:{flex:1,fontSize:"4.31cqw",fontWeight:600,color:d.text},children:e}),f("span",{style:{fontSize:"3.98cqw",color:d.muted},children:o}),f("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:[f(La,{children:"Ways to pay"}),f("div",{style:{display:"flex",gap:5},children:[["VISA",d.ink],["MC",d.rust],["AMEX",d.inkSoft],["PayPal",d.ink2]].map(([e,o])=>f("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",...xe(d.ink,d.ink2)},children:[f("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:[f(Pa,{n:"27k",label:"Rigs fitted",tone:d.onInk}),f(Pa,{n:"12",label:"Years",tone:d.onInk}),f(Pa,{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:[f("span",{style:{position:"absolute",right:10,top:2,fontSize:"22.4cqw",lineHeight:1,fontWeight:800,color:d.rust,opacity:.16},children:"\u201D"}),f(Id,{filled:5,size:7}),f("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:[f(Ry,{}),f("span",{style:{fontSize:"3.98cqw",color:d.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:S(ie,{title:"Reviews",children:[f("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)=>f("div",{style:{flex:1,borderRadius:3,...xe(e,o,140+t*15)}},t))}),f("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:[f(Ry,{size:12}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[S("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[f("b",{style:{fontSize:"3.98cqw",color:d.text},children:e}),f(Id,{filled:o})]}),f(Le,{children:t})]})]},e))})]}),logos:S("div",{style:{..._,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...xe(d.ink,d.inkSoft)},children:[f("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:d.warm},children:"As fitted by"}),f("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:8},children:["ARB","TJM","IRONMAN","OPPOSITE"].map(e=>f("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:[f("span",{style:{fontSize:"5.86cqw",fontWeight:700,color:d.text},children:"Why offset matters"}),S("div",{style:{display:"flex",gap:6},children:[f("span",{style:{fontSize:"15.3cqw",lineHeight:.78,fontWeight:800,color:d.rust,marginTop:1},children:"T"}),S("div",{style:{display:"flex",flexDirection:"column"},children:[f(Le,{children:"he number on the back of your wheel decides whether the"}),f(Le,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:f(ie,{title:"What you get",children:f("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:[f("span",{style:{width:11,height:11,borderRadius:3,background:d.rust,opacity:.9}}),f("b",{style:{fontSize:"3.98cqw",color:d.text},children:e}),f(Le,{children:o})]},e))})}),faq:f(ie,{title:"Questions",children:f("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:[f("b",{style:{fontSize:"4.31cqw",color:d.text},children:e}),f("span",{style:{fontSize:"4.64cqw",color:d.muted,lineHeight:1},children:o?"\u2212":"+"})]}),o&&f(Le,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:S("div",{style:{..._,overflow:"hidden",...xe(d.ink,d.ink2)},children:[f("div",{style:{..._,background:`linear-gradient(90deg,${d.scrim},transparent 70%)`}}),f("div",{style:{position:"relative",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",padding:"12px 14px",gap:5},children:f(Oy,{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})}),f(zo,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:S("div",{style:{..._,display:"flex",background:d.paper,overflow:"hidden"},children:[f("div",{style:{flex:1,padding:12,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:f(Oy,{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})}),f("div",{style:{flex:1,position:"relative",...xe(d.inkSoft,d.inkSoft2)},children:f(zo,{size:74,style:{right:-14,top:16}})})]}),productgrid:f(ie,{title:"Best sellers",children:S("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[f(xd,{name:"Ridge 19",price:"$365"}),f(xd,{name:"Ridge 29",price:"$410"}),f(xd,{name:"Ridge 39",price:"$455"})]})}),collections:f(ie,{title:"Shop by category",children:f("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])=>f("div",{style:{borderRadius:4,display:"flex",alignItems:"flex-end",padding:5,color:d.onInk,...xe(o,t)},children:f("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:[f("div",{style:{flex:1.1,position:"relative",...xe(d.paper,d.paper2,150)},children:f(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:[f("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:d.rust},children:"NITTO"}),f("b",{style:{fontSize:"6.29cqw",color:d.text},children:"Ridge Grappler"}),f("span",{style:{fontSize:"6.63cqw",fontWeight:700,color:d.text},children:"$489"}),f("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:f(ie,{title:"Specifications",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[f(Ho,{k:"Diameter",v:'20"'}),f(Ho,{k:"Width",v:"9.0J"}),f(Ho,{k:"Offset",v:"+12"}),f(Ho,{k:"Load",v:"1250 kg"})]})}),fitmenttable:f(ie,{title:"Will it fit?",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[f(Ho,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),f(Ho,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),f(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:[f(La,{children:"Brands we carry"}),f("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["NITTO","BFG","FUEL","TOYO"].map(e=>f("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:[f(La,{children:"How it works"}),f("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:[f("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}),f("span",{style:{fontSize:"3.98cqw",color:d.text,fontWeight:600},children:e})]},e))})]}),detailrows:f("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=f("div",{style:{flex:1,...xe(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:[f("b",{style:{fontSize:"4.64cqw",color:d.text},children:e}),f("span",{style:{fontSize:"3.98cqw",color:d.muted,lineHeight:1.3},children:o})]},"tx");return f("div",{style:{flex:1,display:"flex",minHeight:0},children:t?[a,r]:[r,a]},e)})}),specstrip:f("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:[f("b",{style:{fontSize:"5.69cqw",letterSpacing:"0.02em"},children:e}),f("span",{style:{fontSize:"3.65cqw",color:d.mark2,letterSpacing:"0.1em",textTransform:"uppercase"},children:o})]},o))})},By={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:[f(R,{w:8,h:8,r:2,tone:"accent"}),f(R,{w:38,h:7,r:3,tone:"dark"}),f(R,{w:16,h:7,r:3,tone:"accent"})]}),f(R,{w:38,h:4,r:2,tone:"soft"})]}),f("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:[f(R,{w:"46%",h:3,r:2,tone:"accent"}),f(R,{w:"84%",h:8,r:4,tone:"dark"}),f(R,{w:"56%",h:8,r:4,tone:"accent"}),f(R,{w:"96%",h:3,r:2,tone:"soft",style:{marginTop:2}}),S("div",{style:{display:"flex",gap:5,marginTop:4},children:[f("div",{style:{flex:1,height:13,borderRadius:5,border:`1px solid ${Fe.line}`,background:Fe.block}}),f(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:[f(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:[f(R,{w:34,h:4,r:2,tone:"dark"}),f(R,{w:16,h:3,r:2,tone:"soft"})]},o))]})]})]}),split:S("div",{style:{..._,display:"flex"},children:[f("div",{style:{width:"44%",background:md}}),S("div",{style:{flex:1,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[f(R,{w:"44%",h:5,r:3,tone:"accent"}),f(R,{w:"88%",h:8,r:4,tone:"dark"}),f(R,{w:"70%",h:8,r:4,tone:"dark"}),f(R,{w:"94%",h:5,r:2,tone:"soft",style:{marginTop:2}}),f(R,{w:"80%",h:5,r:2,tone:"soft"}),f(R,{w:"40%",h:13,r:6,tone:"accent",style:{marginTop:5}})]})]}),sectionheader:S(_y,{children:[f(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:[f(R,{w:16,h:16,r:4,tone:"accent"}),f(R,{w:"20%",h:9,r:4,tone:"dark"})]}),f(R,{w:"62%",h:10,r:5,tone:"dark"}),f(R,{w:"42%",h:6,r:3,tone:"soft"})]})]}),header:f("div",{style:{..._,padding:14,display:"flex",flexDirection:"column",justifyContent:"center"},children:S("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[f(R,{w:"22%",h:12,r:4,tone:"dark"}),S("div",{style:{display:"flex",gap:9,alignItems:"center"},children:[f(R,{w:26,h:6,r:3,tone:"soft"}),f(R,{w:26,h:6,r:3,tone:"soft"}),f(R,{w:26,h:6,r:3,tone:"soft"}),f(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:[f(R,{w:"60%",h:9,r:4,tone:"dark"}),f(R,{w:"90%",h:5,r:2,tone:"soft"}),f(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:[f(R,{w:"50%",h:6,r:3,tone:"dark"}),f(R,{w:"80%",h:5,r:2,tone:"soft"}),f(R,{w:"66%",h:5,r:2,tone:"soft"})]},e))]}),f("div",{style:{height:1,background:Fe.line}}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[f(R,{w:"30%",h:5,r:2,tone:"soft"}),f(R,{w:"16%",h:5,r:2,tone:"soft"})]})]}),grid:f("div",{style:{..._,padding:14,display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",gap:9},children:Array.from({length:4}).map((e,o)=>f("div",{style:{borderRadius:6,background:Fe.block}},o))}),blanksection:f("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:[f(R,{w:14,h:2,r:1,tone:"tint"}),f(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:[f(R,{w:"100%",h:6,r:3,tone:"soft"}),f(R,{w:16,h:22,r:3,tone:"block",style:{alignSelf:"center"}}),f(R,{w:"100%",h:6,r:3,tone:"soft"})]}),divider:f("div",{style:{..._,padding:14,display:"flex",alignItems:"center"},children:f(R,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:S("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:md},children:[f(R,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(-14deg)"}}),f(R,{w:16,h:10,r:3,tone:"accent"}),f(R,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(14deg)"}})]}),heading:f("div",{style:{..._,padding:14,display:"flex",alignItems:"center"},children:f(R,{w:"64%",h:13,r:4,tone:"dark"})}),text:S("div",{style:{..._,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[f(R,{w:"100%",h:6,r:3,tone:"soft"}),f(R,{w:"96%",h:6,r:3,tone:"soft"}),f(R,{w:"100%",h:6,r:3,tone:"soft"}),f(R,{w:"58%",h:6,r:3,tone:"soft"})]}),image:f("div",{style:{position:"absolute",inset:14,borderRadius:7,background:md}}),button:f("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"center"},children:f(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:[f(R,{w:"48%",h:7,r:3,tone:"dark"}),f(R,{w:"82%",h:5,r:2,tone:"soft"}),f(R,{w:"66%",h:5,r:2,tone:"soft"}),f(R,{w:"74%",h:5,r:2,tone:"soft"}),f(R,{w:"58%",h:5,r:2,tone:"soft"})]}),emailform:S("div",{style:{..._,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[f(R,{w:"56%",h:8,r:3,tone:"dark"}),S("div",{style:{display:"flex",gap:6},children:[f("div",{style:{flex:1,height:16,borderRadius:5,border:`1px solid ${Fe.line}`}}),f(R,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:f("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"center",gap:9},children:[0,1,2,3].map(e=>f(R,{w:16,h:16,r:8,tone:"dark"},e))}),search:f("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:[f("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${Fe.dark}`}}),f(R,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:S("div",{style:{..._,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[f("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${Fe.dark}`}}),f("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${Fe.dark}`},children:f(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:[f(R,{w:22,h:6,r:2,tone:"dark"}),f(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:[f(R,{w:"80%",h:4,r:2,tone:"accent"}),f(R,{w:"64%",h:4,r:2,tone:"soft"}),f(R,{w:"72%",h:4,r:2,tone:"soft"})]})]}),legalline:S("div",{style:{..._,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[f("div",{style:{height:1,background:Fe.line}}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[f(R,{w:"38%",h:5,r:2,tone:"soft"}),S("div",{style:{display:"flex",gap:5},children:[f(R,{w:14,h:5,r:2,tone:"soft"}),f(R,{w:14,h:5,r:2,tone:"soft"}),f(R,{w:14,h:5,r:2,tone:"soft"})]})]})]}),fallback:f("div",{style:{position:"absolute",inset:14,borderRadius:8,background:Fe.block}})};function Dy({type:e}){let o=PD[e]??"",t=LD[o]??By[o]??By.fallback;return f("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 yr,jsxs as OD}from"react/jsx-runtime";import{StylesIcon as RD}from"efficient-easel/rail";import{Tooltip as AD}from"efficient-shell/ui";function Ny({tokenRef:e,siteId:o,onClose:t,onNotify:r,tab:a,onTabChange:n}){let s=ar();return OD("div",{className:"sf-styles",children:[yr(Ka,{icon:yr(RD,{}),title:l("Site styles"),context:yr(AD,{content:l("{name} \u2014 renamed in the Console: {place}.",{name:s,place:l("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:yr("span",{className:"sf-name-text",children:s})}),onHide:t}),yr("div",{className:"sf-insp-body sf-scroll",children:yr(nl,{tokenRef:e,siteId:o,onNotify:r,tab:a,onTabChange:n})})]})}import{jsx as Ee,jsxs as Et,Fragment as HD}from"react/jsx-runtime";import{Fragment as Qy,useEffect as Jy,useRef as Cd}from"react";import{useTreeDrag as eS}from"efficient-easel/drag";import{GlobeIcon as zD,ImageIcon as WD,LocationIcon as GD,MapIcon as UD,TextLinesIcon as $D,TrashIcon as oS}from"efficient-easel/icons";import{Subtree as tS,TreeRow as Ra,TreeRowAction as rS,TreeSeam as aS}from"efficient-easel/tree";import{useEaselStrings as qD}from"efficient-easel/strings";import{createPreviewSelectionContext as BD}from"efficient-easel/draw/client";var{Provider:lJ,useSelection:My}=BD("selectedLocationPartId");function Hy(e,o,t){return`${e}::${o}::${t}`}function zy(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 _D}from"react";var DD={level:"groups"},Gy=DD,hd=new Set;function uo(e){Gy=e;for(let o of hd)o()}function ND(e){return hd.add(e),()=>{hd.delete(e)}}var Wy=()=>Gy;function Uy(){return _D(ND,Wy,Wy)}function $y(e,o,t){let r=[];return e.forEach((a,n)=>{let s=o(a),i=r.find(c=>c.key===s);i||(i={key:s,name:t(a),items:[]},r.push(i)),i.items.push({item:a,index:n})}),r}function cJ(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 Oa=e=>String(e?.group??""),gd=new WeakMap,MD=0;function Xl(e){let o=gd.get(e);return o||(o=`loc${++MD}`,gd.set(e,o)),o}var qy=(e,o)=>o||e||"Ungrouped",jy={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 Ft(e){return $y(e,Oa,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var bd=e=>e.flatMap(o=>o.cards),Ky=(e,o,t)=>Math.min(Math.max(e,o),t);function Zl(e,o,t){let r=0;for(let a=0;a<e.length;a++)if(Oa(e[a])===o){if(r===t)return a;r++}return-1}function yd(e,o,t){let r=Ft(e);if(o<0||o>=r.length)return e;let[a]=r.splice(o,1),n=Ky(o<t?t-1:t,0,r.length);return r.splice(n,0,a),bd(r)}function Sd(e,o,t,r,a){let n=Ft(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[c]=s.cards.splice(t,1),u=o===r?c:{...c,group:i.key,groupName:i.name};u!==c&&gd.set(u,Xl(c));let p=Ky(s===i&&t<a?a-1:a,0,i.cards.length);return i.cards.splice(p,0,u),bd(n)}function Vy(e,o){let t=Ft(e),r=t.find(n=>n.key===o),a={...jy,group:o,groupName:r?.name??""};return r?(r.cards.push(a),bd(t)):[...e,a]}function Yy(e){let o=new Set(Ft(e).map(a=>a.key)),t=o.size+1,r=`Group ${t}`;for(;o.has(r);)r=`Group ${++t}`;return{cards:[...e,{...jy,group:r,groupName:""}],key:r}}function Xy(e,o){return e.filter(t=>Oa(t)!==o)}function Zy(e,o,t){let r=Zl(e,o,t);return r<0?e:e.filter((a,n)=>n!==r)}function pJ(e,o,t){let r=e.flatMap((s,i)=>Oa(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 mJ(e,o,t){return o.flatMap(r=>{let a=e.filter(n=>Oa(n)===r);return a.length?a:t(r)})}var Jl="ContactLocations",Ql=e=>({parentId:`locations-${e}`,slot:"groups"}),vd=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function nS(e,o){let{readOnly:t,selected:r}=o,a=qD().tree,n=o.data?.content??[],s=e.kind===Ty.kind,i=Cd(null);Jy(()=>{let g=r?.type===Jl?String(r.props.id):null;g&&g!==i.current&&uo({level:"groups"}),i.current=g},[r?.props.id]);let{selectedLocationPartId:c,setSelectedLocationPartId:u,setSelectHandler:p}=My(),m=Uy(),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=eS({keyOf:g=>`group:${g.si}:${g.index}`,readOnly:!!t,canDrop:(g,y)=>y.parentId===Ql(g.si).parentId&&y.slot==="groups",onDrop:(g,y)=>{x(g.si,yd(h(g.si),g.index,y.index)),m.level==="city"&&uo({level:"groups"})},onStep:(g,y)=>{x(g.si,yd(h(g.si),g.index,y<0?g.index-1:g.index+2)),m.level==="city"&&uo({level:"groups"})}}),C=eS({keyOf:g=>`city:${g.si}:${g.group}:${g.index}`,readOnly:!!t,canDrop:(g,y)=>y.parentId===Ql(g.si).parentId&&y.slot.startsWith("cities:"),onDrop:(g,y)=>{let E=y.slot.slice(7);x(g.si,Sd(h(g.si),g.group,g.index,E,y.index)),uo({level:"group",key:E})},onStep:(g,y)=>{x(g.si,Sd(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=Cd(n);k.current=n;let v=Cd(()=>{});Jy(()=>{p(g=>{let y=zy(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(Hy(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=Ft(B),M=String(g.props.id),re=s&&r?.props.id===M,H=A=>Ee(aS,{...t?{}:b.seam({place:{...Ql(y),index:A}})},`seam:${M}:groups:${A}`),W=(A,oe)=>Ee(aS,{...t?{}:C.seam({place:{...vd(y,A),index:oe}})},`seam:${M}:cities:${A}:${oe}`);return Et(HD,{children:[Ee(Ra,{icon:Ee($D,{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 Oe=`${M}::grp::${A.key}`,Xe=F(Oe),ro=re&&m.level==="group"&&m.key===A.key,We=A.name||A.key?qy(A.key,A.name):l("Ungrouped"),Re={...vd(y,A.key),index:A.cards.length},Ge=C.row({item:{si:y,group:A.key,index:-1},place:Re,into:Re,canDrag:!1},{onClick:E(()=>w(y,{level:"group",key:A.key}))}),De=b.row({item:{si:y,index:oe},place:{...Ql(y),index:oe}},Ge.rowProps);return Et(Qy,{children:[oe===0&&H(0),Ee(Ra,{icon:Ee(zD,{size:13}),name:We,words:a,onSelect:()=>w(y,{level:"group",key:A.key}),selected:ro,draggable:De.draggable,dragging:De.dragging,drop:De.drop??Ge.drop,fold:{open:!Xe,label:l("group"),onToggle:()=>L(Oe)},actions:Ee(rS,{kind:"delete",label:it("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",A.cards.length,{label:We}),onClick:()=>{x(y,Xy(B,A.key)),uo({level:"groups"})},children:Ee(oS,{size:15})}),rowProps:De.rowProps,children:Ee("span",{className:"es-group-count",children:A.cards.length})}),!Xe&&Et(tS,{children:[A.cards.map((Ce,ge)=>{let Ie=Zl(B,A.key,ge),Ze=re&&m.level==="city"&&m.index===Ie,P=String(Ce?.name??"")||l("City"),le=`${M}::city::${Xl(Ce)}`,Y=F(le),{rowProps:te,...ae}=C.row({item:{si:y,group:A.key,index:ge},place:{...vd(y,A.key),index:ge}},{onClick:E(()=>w(y,{level:"city",index:Ie}))});return Et(Qy,{children:[ge===0&&W(A.key,0),Ee(Ra,{icon:Ee(GD,{size:13}),name:P,words:a,onSelect:()=>w(y,{level:"city",index:Ie}),selected:Ze,...ae,fold:{open:!Y,label:P,onToggle:()=>L(le)},actions:Ee(rS,{kind:"delete",label:l("Delete {name}",{name:P}),onClick:()=>{x(y,Zy(B,A.key,ge)),uo({level:"group",key:A.key})},children:Ee(oS,{size:15})}),rowProps:te}),!Y&&Et(tS,{children:[Ee(Ra,{icon:Ee(WD,{size:13}),name:l("Image"),words:a,onSelect:()=>w(y,{level:"image",index:Ie}),selected:re&&m.level==="image"&&m.index===Ie,rowProps:{onClick:E(()=>w(y,{level:"image",index:Ie}))}}),Ee(Ra,{icon:Ee(UD,{size:13}),name:l("Map"),words:a,onSelect:()=>w(y,{level:"map",index:Ie}),selected:re&&m.level==="map"&&m.index===Ie,rowProps:{onClick:E(()=>w(y,{level:"map",index:Ie}))}})]}),W(A.key,ge+1)]},Xl(Ce))}),Et("button",{type:"button",className:"sf-add-card",onClick:()=>{let Ce=Vy(B,A.key);x(y,Ce);let ge=Ft(Ce).find(Ie=>Ie.key===A.key);uo(ge&&ge.cards.length?{level:"city",index:Zl(Ce,A.key,ge.cards.length-1)}:{level:"group",key:A.key})},children:[Ee("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add city")]})]}),H(oe+1)]},Oe)}),Et("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:A,key:oe}=Yy(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===Jl&&uo({level:"groups"})}}}import{useEffect as YD,useRef as XD}from"react";import{createNode as iS,newId as fS}from"efficient-easel/data";import{useEaselApi as ZD}from"efficient-easel/easel";import{ROOT_ZONE as Sr,missingPinnedTypes as QD,pinnedDuplicateIds as wd}from"efficient-easel/draw";import{resetForDocumentSwitch as jD,saveStatusForNewDocument as KD,saveStatusOf as VD}from"efficient-easel/screen/lib/document-switch";function lS(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function sS(e,o){let t=e.some(n=>n?.type===de),r=e[e.length-1],a=!t&&r?.type===me?r:null;return{remove:e.filter(n=>n?.type===me&&n!==a).map(n=>String(n.props?.id??"")).filter(Boolean),seedHeader:!e.some(n=>n?.type===Ve),seedFooter:o.hasChromeDoc&&!t&&!a}}function cS(e,o){let{adapter:t,capabilities:r,currentSlug:a,docId:n,data:s,saveStatus:i}=Se(),{hasSiteSettings:c,hasPinnedChrome:u}=r,p=!!r.editsPinnedInPlace&&a!==Dt,m=a===Dt,x=ZD().getState,h=XD(null);YD(()=>{if(!lS({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(!c){let E=new Set(wd(C)),F=E.size?C.filter(B=>!E.has(B.props.id)):C;E.size&&e.setDocument({...b,content:F});let L=QD(F,k);if(L.includes(me)){let B=F.length,O=e.insertSection(me,B);e.replaceComponent(Sr,B,{type:me,props:{id:O,blocks:Ul()}})}L.includes(Ve)&&e.insertNode(Sr,0,Gl());return}if(m){let E=gr(C);if(E!==C&&e.setDocument({...b,content:[...E]}),!E.find(F=>F.type===me)&&!v(k,me)&&!v(E,de)&&!v(k,de)){let F=(B,O)=>iS(o,B,O),L={type:me,props:{blocks:Ul()}};e.insertNode(Sr,E.length,ka(L,F,fS(de)))}return}if(p){let E=!!t?.pinnedChrome?.state().docId,F=sS(C,{hasChromeDoc:E}),L=new Set([...F.remove,...wd(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,me)&&!v(k,de)){let O=(re,H)=>iS(o,re,H),M={type:me,props:{blocks:Ul()}};e.insertNode(Sr,B.length,ka(M,O,fS(de)))}if(F.seedHeader&&!v(k,Ve)){let O=B[0]?.type==="SiteHeader"?1:0;e.insertNode(Sr,O,Gl())}return}let w=C.filter(E=>E.type!==me),g=new Set(wd(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(Sr,0,Gl())},[n,i,s,x,e,c,u,m,p,t])}import{useEffect as pS,useState as mS}from"react";var es=new Map;async function JD(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 dS(e,o){let t=es.get(o);return t||(t=JD(e,o),es.set(o,t),t.catch(()=>{es.get(o)===t&&es.delete(o)})),t}var eN=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function kd(e){return!!e&&eN.test(e)}function uS(e){let{pageSlug:o,siteSlug:t,hostname:r}=e,a=o===pn?"/":`/${encodeURIComponent(o)}`;if(!kd(r))return a;let n=t?.trim();return n?`${a}?site=${encodeURIComponent(n)}`:a}function xS(e){let{pageSlug:o,siteId:t,token:r}=e,[a,n]=mS(null),[s,i]=mS(null),c=xu();pS(()=>i(c?new URL(c).hostname:window.location.hostname),[c]),pS(()=>{if(!kd(s)||!t||!r){n(null);return}let p=!1;return dS(r,t).then(m=>{p||n(m)}),()=>{p=!0}},[s,t,r]);let u=uS({pageSlug:o,siteSlug:a,hostname:s});return c?`${c}${u}`:u}import{jsx as Aa,jsxs as oN}from"react/jsx-runtime";import{ExternalIcon as IS}from"efficient-easel/icons";import{Button as tN,Tooltip as hS,buttonClasses as rN}from"efficient-shell/ui";function aN({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 gS({liveHref:e,pageId:o,draftLink:t}){return t&&o?Aa(hS,{content:l("Open your saved draft in a new tab. Visitors don't see it."),children:Aa(tN,{variant:"secondary",onClick:()=>{aN({pageId:o,liveHref:e,draftLink:t})},rightIcon:Aa(IS,{size:15}),"aria-label":l("Preview your saved draft in a new tab"),children:l("Preview")})}):Aa(hS,{content:l("Preview the live site (opens in a new tab)"),children:oN("a",{className:rN({variant:"secondary"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":l("Preview the live site in a new tab"),children:[l("Preview"),Aa(IS,{size:15})]})})}import{useCallback as fN,useEffect as vS,useRef as wS,useState as cN}from"react";import{useSyncExternalStore as nN}from"react";var lN=()=>()=>{},bS=()=>null;function os(e){return nN(e?e.subscribe:lN,e?e.state:bS,e?e.state:bS)}function ts(){let{adapter:e}=Se();return e?.pinnedChrome}import{useSyncExternalStore as sN}from"react";var Cr=new Map,Td=new Set;function Fd(e,o){if(!(Cr.has(e)&&Cr.get(e)===o)){Cr.set(e,o);for(let t of Td)t()}}function uee(e,o){Fd(e,o)}function pee(e,o){let t=Cr.get(e);Fd(e,o??(t==="live"?"changed":t))}function mee(e,o){Fd(e,o??"live")}function xee(e){return Cr.get(e)}function iN(e){return Td.add(e),()=>{Td.delete(e)}}function yS(e){let o=()=>e?Cr.get(e):void 0;return sN(iN,o,o)}function SS(e,o){return e==="live"&&o?"changed":e}function Ed({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 CS(e){return e.map(o=>o.change==="take_down"?l("{name} (taken down)",{name:o.name}):o.name)}function kS(e){let{docId:o,capabilities:t,hasUnsavedEdits:r,onPublish:a,adapter:n}=Se(),s=SS(yS(o??null),r),i=os(ts()),c=n.siteLiveState;vS(()=>{if(c)return ui(c),dn(0),()=>ui(null)},[c]);let u=jp(),[p,m]=cN(!1),x=wS(e);x.current=e;let h=wS(!0);vS(()=>(h.current=!0,()=>{h.current=!1}),[]);let b=fN(()=>{m(!0),a(x.current).finally(()=>{h.current&&m(!1)})},[a]);if(t.canPublish){if(c){let C=u===void 0?void 0:r||u.state==="changed"?"changed":"live";return Ed({live:C,onPress:b,busy:p,goingLive:CS(u?.changes??[])})}return Ed({live:s,onPress:b,busy:p,pinnedUnpublished:i?.unpublished??!1})}}var TS=["general","commerce","service"],vr=[{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(vr.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var dN={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."},wee=["Grid"],kee=Array.from(new Set([...vr.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(dN)])),Tee=Object.fromEntries(vr.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),uN={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"},rs={...uN,...Object.fromEntries(vr.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function FS(e){return Object.prototype.hasOwnProperty.call(rs,e)?rs[e]:void 0}function Pd(e){return Object.keys(rs).filter(o=>rs[o]===e).sort()}var Fee=Pd("general"),Eee=Pd("commerce"),Pee=Pd("service"),Ld="Flex",ot="Box",Lee=`${ot}es`;function pN(e){return e==="section"?"Blank section":ot}function Od(e,o,t){return e===Ld?pN(o):t}var mN={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 ES(e){return mN[e]?.label}var PS=Ld;var xN={general:!0,commerce:!0,service:!0};function Rd(e){let o=e?.sets;return o?Object.fromEntries(TS.map(t=>[t,o.includes(t)])):xN}function Dee(e=ao()){return Rd(e.blocks)}var wr="content",be="Flex",IN="Text & media",hN="Layout & structure",gN=[{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:IN})),bN=(vr.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:hN})),LS=[...gN,...bN],Ad=[{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}],Hee=Ad.map(e=>e.type),yN=1,SN=Ad.filter(e=>e.type!=="HeroGroup");function CN(e){return e<yN?Ad:SN}var vN={Flex:{slot:wr,choices:()=>LS},Grid:{slot:wr,choices:()=>LS},HeroGroup:{slot:wr,choices:CN}};function OS(e,o=0){let t=vN[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 RS(e,o,t){return ze(be,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var wN={Manifesto:(e,o)=>({type:be,props:{...e(be),id:o(be),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[ze(be,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)]}),RS(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:be,props:{...e(be),id:o(be),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[ze(be,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)]}),RS(e,o,{direction:"column",name:"Image",content:[ze("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:be,props:{...e(be),id:o(be),direction:"column",name:"Subscribe",content:[ze("Heading",e,o),ze("Text",e,o),ze("Form",e,o)]}})};function as(e){return wN[e]??null}import{blockTypesIn as Bd}from"efficient-easel/screen/lib/puck/block-types-in";import{newNodeId as AS}from"efficient-easel/draw";var kN="ImageBlock",TN=3,ns=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:AS(e),...t}}),FN=e=>({...e?.(be)??{},direction:"column",[wr]:[ns(kN,e),ns(be,e,{direction:"column",[wr]:[ns("Heading",e),ns("Text",e)]})]}),ko={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>Hg.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${ot.toLowerCase()}`,seeds:()=>[],addBlocked:Ja,notice:_s},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${ot.toLowerCase()}`,seeds:()=>[],addBlocked:Ja,notice:_s},ProcessSteps:{slot:"boxes",childType:be,addLabel:`Add ${ot.toLowerCase()}`,seeds:e=>Array.from({length:TN},()=>FN(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}};function Xee(e){for(let[o,t]of Object.entries(e)){if(o in ko&&ko[o]!==t)throw new Error(`lib/puck/slot-specs: "${o}" already has a slot spec`);ko[o]=t}}function Zee(e,o){let t=ko[e];return t?{slot:t.slot,children:t.seeds(o).map(r=>({type:t.childType,props:{id:AS(t.childType),...r}}))}:null}var BS=()=>({}),_S=new Map;function EN(e){let o=_S.get(e);if(o)return o;let t=new Set,r=ko[e];if(r)for(let s of r.seeds(BS))for(let i of Bd({type:r.childType,props:s}))t.add(i);let a=as(e);if(a){let s=0;for(let i of Bd(a(BS,c=>`${c}-${s+=1}`)))t.add(i)}t.delete(e);let n=[...t].sort();return _S.set(e,n),n}function PN(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=Rd(e),t=e.allow?new Set(e.allow):null,r=new Set(e.deny??[]),a=new Set(Object.keys(e.host??{})),n=c=>{if(r.has(c))return!1;if(a.has(c))return!0;let u=FS(c);return!u||!o[u]?!1:t?t.has(c):!0},s=new Map,i=c=>{let u=s.get(c);if(u!==void 0)return u;s.set(c,!1);let p=n(c)&&EN(c).every(i);return s.set(c,p),p};return{sets:o,offers:i}}var LN="block-offer";function _d(e=ao()){return e.cache(LN,()=>PN(Rp(e)))}function DS(e,o=ao()){let t=_d(o);return t?t.offers(e):!0}function NS(e,o=0){let t=RN(e,o),r=t?_d():null;return t&&r?ON(t,r):t}function ON(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 RN(e,o){let t=ko[e];if(t)return{source:"section",slot:t.slot,choices:null,spec:t};let r=OS(e,o);if(r)return{source:"container",slot:r.slot,choices:r.choices,spec:null};let a=Yb(e);return a?{source:"footer",slot:Vb,choices:a,spec:null}:null}import{useSyncExternalStore as AN}from"react";var Dd=null,Nd=new Set;function MS(e){if(Dd!==e){Dd=e;for(let o of Nd)o()}}function BN(e){return Nd.add(e),()=>{Nd.delete(e)}}function moe(){return AN(BN,()=>Dd,()=>null)}function HS(e){return _r(e)?.ownerId??null}function zS(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 WS="sf-editor-left-view";function GS(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(WS);return e==="sections"||e==="styles"||e==="media"?e:"pages"}catch{return"pages"}}function US(e){if(!(typeof window>"u"))try{window.localStorage.setItem(WS,e)}catch{}}function $S(e,o,t=!1){return e==="styles"&&!o||e==="media"&&!t?"sections":e}function qS(e,o){return e?"sections":o}var jS="Footer",_N=[_e,jS,de],kr=e=>{let o=e?.content;return Array.isArray(o)?o:[]},Pt=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},Ba=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},KS=e=>_r(e)?.ownerId??"";function VS(e){let o=gr(kr(e)),t=o.some(r=>r?.type===de);return o.filter(r=>r?.type===_e||r?.type===de||r?.type===jS&&!t)}function Md(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=Ba(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(KS(s))||(n.add(s),r(i),a=!0)}}return t}function Hd(e,o){let t={},r={};for(let[a,n]of Object.entries(e??{}))(o.has(KS(a))?t:r)[a]=n;return{owned:t,rest:r}}function Soe(e,o){if(!o)return e;let t=VS(o);if(!t.length)return e;let r=t.filter(i=>i.type===_e),a=t.filter(i=>i.type!==_e),n={...e,content:[...r,...kr(e),...a]},{owned:s}=Hd(Pt(o),Md(t,Pt(o)));return Object.keys(s).length&&(n.zones={...Pt(e)??{},...s}),n}function Coe(e,o){if(!o)return{page:e,chrome:null};let t=VS(o),r=new Set(t.map(Ba).filter(w=>!!w)),a=[],n=[];for(let w of kr(e)){let g=Ba(w);g&&r.has(g)||hr(w?.type)?n.push(w):a.push(w)}let s=new Map(n.map(w=>[Ba(w),w])),i=new Set,c=gr(kr(o)).flatMap(w=>{let g=Ba(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)||c.some(g=>g?.type===w.type)||(c=w.type===_e?[w,...c]:[...c,w]);c=gr(c);let u=c.length===kr(o).length&&c.every((w,g)=>w===kr(o)[g]),p=Pt(e),m=Md(c,p),{owned:x,rest:h}=Hd(p,m),b=Hd(Pt(o),Md(t,Pt(o))).owned,C={...o,content:u?o.content:[...c]},k=Pt(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&&DN(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 DN(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 YS(e,o){return t=>e(t)||t!==void 0&&_N.includes(t)&&o()}var ls=null;function woe(e){ls=e}function XS(){return!!(ls&&ls.state().lockHolder)}function Tr(){return ls!==null}var NN=new Set(["BookingBox","SubmitBox"]);function MN(e){return typeof e=="string"&&NN.has(e)}var ZS=YS(MN,XS);import{Fragment as Wd,jsx as fs,jsxs as lM}from"react/jsx-runtime";import{useMemo as sM,useRef as lC}from"react";import{EaselCanvas as iM,useEaselApi as fM}from"efficient-easel/easel";import{jsx as tC,Fragment as KN,jsxs as VN}from"react/jsx-runtime";import{useEffect as rC,useLayoutEffect as YN}from"react";var ss="data-theme",QS="light";function HN(e){return e.getAttribute(ss)===QS?"light":"dark"}function zN(e,o){return HN(e)===o?!1:(o==="light"?e.setAttribute(ss,QS):e.removeAttribute(ss),!0)}function WN(e){return ys(e).getItem(ps)}function Ooe(e,o){ys(e).setItem(ps,o)}function GN(e,o,t=new Date().getHours()){return Yd({mode:o.mode,override:WN(e),switchShown:o.switchShown,hour:t})}function JS(e,o){let t=e.documentElement;if(!t)return()=>{};let r=()=>zN(t,GN(e,o));r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[ss]}),()=>n.disconnect()}var UN="style";function $N(e,o){let t=tu(o),r=!1;for(let a of ou){let n=t[a]??"";e.style.getPropertyValue(a)!==n&&(n?e.style.setProperty(a,n):e.style.removeProperty(a),r=!0)}return r}function eC(e,o){let t=e.body;if(!t)return()=>{};let r=()=>$N(t,o);r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[UN]}),()=>n.disconnect()}var qN=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);`,jN="storefront-fit-words";function oC(e){let o=e.createElement("script");return o.id=jN,o.textContent=qN,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var XN=`
242
- [${io}][${io}] { cursor: text; }
243
- [${Ke}][${Ke}][${Ke}] {
244
- outline: 1px solid ${ha.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 aC({children:e,document:o}){let{theme:t,themeMode:r,themeSwitchShown:a}=Z(),n=Qe(t);return rC(()=>{if(o)return JS(o,{mode:r,switchShown:a})},[o,r,a]),rC(()=>{if(o)return eC(o,n)},[o,n]),YN(()=>{if(o)return oC(o)},[o]),VN(KN,{children:[tC(Pu,{}),tC("style",{children:XN}),e]})}import{jsx as zd}from"react/jsx-runtime";import{useEffect as ZN,useState as QN}from"react";import{Banner as JN}from"efficient-shell/ui";var is={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."},eM=is.load,oM=is.lock,tM=is.conflict,rM=is.save;function aM(e){return e?e.loadFailed?l(eM):e.lockHolder?l(oM,{name:e.lockHolder.name||l("Somebody else")}):e.conflict?l(tM):e.saveFailed?l(rM):null:null}function nM({report:e}){let o=aM(os(e)),[t,r]=QN(null);return ZN(()=>{o||r(null)},[o]),!o||t===o?null:zd("aside",{className:"sf-canvas-notice",children:zd(JN,{tone:"warning",onDismiss:()=>r(o),children:o})})}function nC(){return zd(nM,{report:ts()})}import{usePreviewParts as sC}from"efficient-easel/draw/client";function cM({children:e,componentId:o}){let{selectedPartId:t}=sC();return bI(t,o)?fs(Wd,{}):fs(Wd,{children:e})}function iC(e){let{mirrorHostStyles:o}=Ts(),t=Ou(),r=lC(null),a=dM(r),{onDocument:n}=e,s=i=>{r.current=i,n?.(i)};return lM(Wd,{children:[fs(nC,{}),fs(iM,{...e,onDocument:s,typing:a,metadata:e.metadata??t,height:"fill",mirrorStyles:o,frameWrapper:aC,overlay:cM})]})}function dM(e){let o=fM(),t=qo(),r=sC(),a=lC({ops:t,parts:r});return a.current={ops:t,parts:r},sM(()=>{let n={getItemById:i=>o.getState().getItemById(i),getSelectorForId:i=>o.getState().getSelectorForId(i),get components(){return o.getState().config.components},replace:(i,c,u)=>a.current.ops.replaceComponent(i,c,u)},s=(i,c)=>{let u=hb(i,n);if(!u)return null;let p=c,m=()=>(p=gb(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?_l(Fb(x)):void 0}}:null};return{at:i=>{let c=i.closest(`[${io}]`),u=c?.getAttribute(io);return c&&u?s(u,c):null},atSelection:()=>{let i=a.current.parts.selectedPartId;return i?s(i,null):null},onChange:i=>{if(!i.typing){Uc(null);return}let c=i.element.closest(`[${io}]`)?.getAttribute(io)??null;Uc(c),c&&a.current.parts.selectedPartId!==c&&a.current.parts.select(c)}}},[o,e])}var fC={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 uM="Save your page changes first";function cC(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:uM}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var dC="storefront-editor:save-as-template";var pM="plain",uC=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],mM="line",xM={KeyFeatures:"filled"};function _a(e){return xM[e]??pM}function ute(e,o){return eo(uC,_a(o),e)}function pte(e){return eo(uC,mM,e)}var IM="inline",hM=[{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"}},Fr="SectionHeader";function pC(e){return e in tt}function hte(e){return eo(hM,IM,e)}var mC=new Set(["Flex"]);function gte(e){return!!e?.type&&mC.has(e.type)}var gM={not:{context:"parentType",in:[...mC]}};function bte(e,o,t){return bl(e,t,gM)}var bM={not:{field:"headPlacement",is:"own-box"}};function yte(e,o,t){return bl(e,t,bM)}function xC(e,{nodeDefaults:o,newNodeId:t,sectionLabel:r,blockIsOffered:a}){let n=as(e);return n?n(o,t):pC(e)&&a(be)&&a(Fr)?{type:be,props:{...o(be),id:t(be),direction:"column",name:`${r(e)} section`,content:[{type:Fr,props:{...o(Fr),id:t(Fr),...tt[e]?.headStyle?{headStyle:tt[e].headStyle}:{},...tt[e]?.headRowGap?{rowGap:tt[e].headRowGap}:{},...tt[e]?.headDescriptionSize?{descriptionSize:tt[e].headDescriptionSize}:{},..._a(e)!==_a(Fr)?{eyebrowLook:_a(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box"}}]}}:ko[e]?.fixed===!0?{type:e,props:{...o(e),id:t(e),layout:"boxes"}}:null}import{useEffect as yM,useState as SM}from"react";function IC(){let e=Ae().chrome?.products?.list,[o,t]=SM(null);return yM(()=>{if(!e)return;let r=!1;return e().then(a=>{r||t(a)}),()=>{r=!0}},[e]),o}function CC({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:r}=xl(),a=SC().tree,n=e,s=n.kind==="ticker"?n.heroId:null,i=Na(c=>{c&&(o({kind:"ticker",heroId:c}),eh(c))},[o]);return To(()=>{t(s)},[s,t]),To(()=>{r(i)},[r,i]),{partRows:(c,{rowClick:u})=>{let p=String(c.props.id);return c.type==="Hero"&&ue(yC,{icon:ue(wt,{type:"ticker",size:13}),name:l(la),onSelect:()=>i(p),selected:s===p,rowProps:{onClick:u(()=>i(p))},words:a})}}}function vC({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:r}=Il(),a=SC().tree,{appState:n}=OM(x=>x),s=n.data.content??[],i=CM(s);i.current=s;let c=e,u=sa.find(x=>ia[x]===c.kind),p=u&&"nodeId"in c?fa(String(c.nodeId),u):null,m=Na(x=>{let h=Nh(x);if(!h)return;let b=i.current.findIndex(k=>String(k.props.id)===h.nodeId);if(b<0)return;let C={kind:ia[h.part],nodeId:h.nodeId};o({index:b},C)},[o]);return To(()=>{t(p)},[p,t]),To(()=>{r(m)},[r,m]),{partRows:(x,{rowClick:h})=>{let b=String(x.props.id),C=Dh(x);if(C.length===0)return null;let k=g=>{let y=fa(b,g.part);return ue(yC,{icon:ue(wt,{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 Da(bC,{children:[k(v),w.length>0&&ue(LM,{children:w.map(k)})]})}}}function wC(e,o){return{partRows:(t,r)=>Da(bC,{children:[e.partRows?.(t,r),o.partRows?.(t,r)]})}}function AM(e){let{adapter:o,capabilities:t,currentSlug:r,siteId:a,docId:n,hasUnsavedEdits:s,bridgeCapabilities:i,notifyParent:c,token:u}=Se(),{hasPreviewLink:p}=t,m=Ue(Ae()).preview?.draftLink,x=kS(e.data),h=cC({hasTrustedConsole:!!u,canCreatePlatformTemplate:i.canCreatePlatformTemplate,capabilities:t,siteId:a,hasUnsavedEdits:s}),b=Na(()=>{!a||!r||c(dC,{siteId:a,slug:r})},[c,a,r]),C=xS({pageSlug:r,siteId:a,token:u}),k=o.previewHref?.(r)??C;return{barLead:()=>h.visible&&ue(kM,{side:"bottom",content:h.enabled?l("Save this website as a platform template"):l(h.disabledReason),children:ue("span",{className:"sf-tip-disabled",tabIndex:h.enabled?void 0:0,children:ue(wM,{variant:"secondary",disabled:!h.enabled,onClick:b,rightIcon:ue(PM,{size:15}),children:l("Save as Template")})})}),barTrail:()=>p&&r&&ue(gS,{liveHref:k,pageId:n??null,draftLink:m}),mainAction:x}}function BM(){return Da("svg",{width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",children:[ue("path",{d:"M12 3a9 9 0 0 0 0 18 2.3 2.3 0 0 0 2.3-2.3c0-.55-.22-1.05-.57-1.42-.34-.37-.56-.87-.56-1.43A2.35 2.35 0 0 1 15.6 13.5H18a3 3 0 0 0 3-3c0-4.14-4-7.5-9-7.5z"}),ue("circle",{cx:"7.7",cy:"11.3",r:"1.05",fill:"currentColor",stroke:"none"}),ue("circle",{cx:"12",cy:"8",r:"1.05",fill:"currentColor",stroke:"none"}),ue("circle",{cx:"16",cy:"11",r:"1.05",fill:"currentColor",stroke:"none"})]})}function _M(e,o){let{capabilities:t,templateId:r,siteId:a,tokenRef:n,navigate:s}=Se(),{hasSiteTheme:i,explainsSiteSettings:c}=t,u=v=>o.setView(v),[p,m]=vM(tr[0].id),{surface:x,setSurface:h}=wh(),b=()=>{if(i){u("styles"),o.reveal(),Df();return}e.show(pd),e.reveal(),Df()},C={id:"pages",label:l("Pages"),icon:ue(FM,{}),panel:({onHide:v})=>ue(Ih,{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&&c&&k.push({id:"appearance",label:l("Appearance"),icon:ue(BM,{}),active:e.kind==="website",onSelect:b}),i&&k.push({id:"styles",label:l("Site styles"),icon:ue(EM,{}),panel:({onHide:v,notify:w})=>ue(Ny,{tokenRef:n,siteId:a??void 0,onClose:v,onNotify:w,tab:p,onTabChange:m})}),{railLead:[C],railTrail:k,resolveLeftView:(v,w)=>$S(v,i,w),openSettings:b,openStyles:()=>{m(th),u("styles")}}}function DM(e,o,t,r){let{kind:a,open:n}=e,{selected:s,zoneOf:i}=o;To(()=>{MS(s?.type==="BookingBox"&&s.props.region==="confirm"?HS(i(String(s.props.id))):null)},[s?.props.id]);let c=nS(e,o),{capabilities:{hasSiteSettings:u}}=Se(),{setSelected:p,setSelectHandler:m}=Z(),{chat:x,setChat:h,setSelected:b,setSelectHandler:C}=ml(),k=a==="header";To(()=>{p(k)},[k,p]),To(()=>{m(()=>n(ud))},[m,n]);let v=Na(()=>n(Fy),[n]),w=a==="chat";To(()=>{b(w)},[w,b]),To(()=>{C(v)},[C,v]);let{setOpenHandler:g}=na(),y=Na(()=>n(Ey),[n]);To(()=>{g(y)},[g,y]);let E=wC(CC(e),vC(e)),F=AM(o),L=_M(e,r),B=t.device;return{...E,...F,...L,hasOwnRows:O=>O.type===Jl,ownRows:c.renderLocationTree,sectionPressed:c.sectionPressed,wrap:O=>ue(Fs.Provider,{value:!0,children:ue(RM.Provider,{value:B,children:O})}),addPanelRow:O=>u?Da("div",{className:"sf-addside-sitewide",children:[ue("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:ue(wt,{type:"chat",size:16})}),Da("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{O(),v()},children:[l("Live chat"),ue("span",{className:"sf-addside-sitewide-desc",children:l("A chat bubble on every page")})]}),ue(TM,{checked:x.enabled,onChange:M=>h({enabled:M}),ariaLabel:l("Show the chat bubble on the whole site")})]}):void 0}}var hC=null,Gd=new WeakMap;function NM(e){let o=gu();if(!e||!o)return e;hC!==o&&(hC=o,Gd=new WeakMap);let t=Gd.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},Gd.set(e,t)),t}var MM={isLockedBlock:ZS,duplicateBlocked:$l,nestDepth:(e,o,t)=>o===en?Yu(e,t):0,newSectionNode:xC,canAddTo:(e,o)=>NM(NS(e,o)),blockIsOffered:DS},HM=new Proxy(fC,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?l(t):t}}),zM={labelAtLevel:(e,o,t)=>l(Od(e,o,t)),descriptions:HM,categoryLabel:e=>{let o=ES(e);return o===void 0?void 0:l(o)},firstSection:PS,blockRowName:zS,plainText:mt,Icon:wt,Thumbnail:Dy,useProducts:IC},WM={desktop:2e3,tablet:800,mobile:390},gC="desktop",GM={options:yh,initial:gC,fluid:gC,widths:WM},UM={read:GS,write:e=>US(e),forSelection:(e,o)=>qS(e,o)},$M={first:Ve,last:me,firstGroup:_e,lastGroup:de,isSectionGroup:hr,sectionGroupZone:Xb,panelOf:e=>e===Ve?ud:null,get groupTab(){return Tr()?ty:void 0},get groupBadge(){return Tr()?ry():void 0},get changeNotice(){return Tr()?ay():void 0},get band(){return Tr()?qM:void 0},get groupAccepts(){return Tr()?ey:void 0}},qM={foldable:!0};function jM(e){return{...wC(CC(e),vC(e)),openSettings:()=>e.show(pd)}}var Rre={useOwnerName:ar,useDocumentLabel:sh,useBridges:DM,useStandaloneBridges:jM,useDocumentPass:cS,blockRules:MM,blockLook:zM,devices:GM,leftView:UM,pinned:$M,Canvas:iC,Inspector:Ly};export{vee as a,wee as b,kee as c,Tee as d,ot as e,Rd as f,Dee as g,Ue as h,Rp as i,LS as j,Hee as k,Kj as l,Sg as m,Jj as n,Fg as o,eK as p,Eg as q,Lg as r,Ag as s,Bg as t,uK as u,pK as v,mK as w,xK as x,vA as y,ep as z,kK as A,Za as B,Av as C,_H as D,dt as E,DH as F,NH as G,en as H,Yu as I,Xee as J,Zee as K,PN as L,qu as M,Pv as N,FH as O,Xa as P,ju as Q,Lv as R,Ov as S,Rv as T,LH as U,OH as V,RH as W,AH as X,Zf as Y,rO as Z,aO as _,nO as $,bl as aa,yl as ba,Y8 as ca,_e as da,de as ea,sZ as fa,Zb as ga,Qb as ha,eo as ia,tt as ja,hte as ka,gte as la,bte as ma,yte as na,cf as oa,y5 as pa,S5 as qa,Vs as ra,mt as sa,zr as ta,Qn as ua,io as va,Ke as wa,g7 as xa,m1 as ya,x1 as za,b7 as Aa,Jt as Ba,y7 as Ca,S7 as Da,yf as Ea,OI as Fa,ol as Ga,E7 as Ha,P7 as Ia,L7 as Ja,O7 as Ka,J1 as La,ca as Ma,lg as Na,sg as Oa,kl as Pa,pj as Qa,mj as Ra,xj as Sa,Ij as Ta,X2 as Ua,eH as Va,oH as Wa,tH as Xa,Be as Ya,Xm as Za,az as _a,kn as $a,M0 as ab,sz as bb,fz as cb,z0 as db,cz as eb,Jm as fb,Oi as gb,Ri as hb,gz as ib,yz as jb,Sz as kb,Cz as lb,vz as mb,jr as nb,_i as ob,Di as pb,pn as qb,rm as rb,Ur as sb,lm as tb,e6 as ub,$k as vb,o6 as wb,on as xb,tp as yb,XH as zb,ZH as Ab,tw as Bb,QH as Cb,o5 as Db,ap as Eb,t5 as Fb,aw as Gb,r5 as Hb,f0 as Ib,In as Jb,F6 as Kb,gi as Lb,E6 as Mb,I0 as Nb,P6 as Ob,O6 as Pb,R6 as Qb,G6 as Rb,U6 as Sb,$6 as Tb,gm as Ub,C6 as Vb,v6 as Wb,w6 as Xb,k6 as Yb,S0 as Zb,gn as _b,B6 as $b,Fm as ac,KM as bc,j as cc,l as dc,it as ec,Fb as fc,wl as gc,gY as hc,kb as ic,Nt as jc,Se as kc,XM as lc,Ae as mc,I4 as nc,dn as oc,Kp as pc,g4 as qc,AC as rc,BC as sc,Ss as tc,_k as uc,H4 as vc,em as wc,qo as xc,SH as yc,kH as zc,Ns as Ac,Xv as Bc,jH as Cc,l5 as Dc,ve as Ec,Xs as Fc,Y5 as Gc,Hr as Hc,zt as Ic,o3 as Jc,ei as Kc,oi as Lc,h3 as Mc,g3 as Nc,Pp as Oc,b3 as Pc,y3 as Qc,S3 as Rc,Op as Sc,r2 as Tc,l2 as Uc,_t as Vc,Dp as Wc,Mp as Xc,j4 as Yc,tm as Zc,Me as _c,Su as $c,c2 as ad,NC as bd,d2 as cd,u2 as dd,MC as ed,x2 as fd,HC as gd,I2 as hd,Dt as id,g2 as jd,b2 as kd,y2 as ld,S2 as md,qa as nd,C2 as od,GC as pd,E2 as qd,Tu as rd,VC as sd,YC as td,XC as ud,ws as vd,P2 as wd,Qk as xd,y6 as yd,D6 as zd,N6 as Ad,M6 as Bd,H6 as Cd,z6 as Dd,Hm as Ed,B0 as Fd,j6 as Gd,Nm as Hd,Mm as Id,K6 as Jd,yn as Kd,Sn as Ld,Y6 as Md,$t as Nd,vn as Od,Q6 as Pd,J6 as Qd,ez as Rd,Vm as Sd,tz as Td,Qo as Ud,Do as Vd,Wi as Wd,Co as Xd,_W as Yd,DW as Zd,NW as _d,MW as $d,GW as ae,UW as be,aF as ce,$W as de,qW as ee,jW as fe,fF as ge,KW as he,VW as ie,YW as je,He as ke,XW as le,uF as me,ZW as ne,QW as oe,Xt as pe,JW as qe,On as re,qt as se,eG as te,Bx as ue,An as ve,Bn as we,oG as xe,tG as ye,rG as ze,aG as Ae,nG as Be,lG as Ce,sG as De,iG as Ee,fG as Fe,cG as Ge,dG as He,uG as Ie,_n as Je,Dn as Ke,Nn as Le,qi as Me,Mn as Ne,pG as Oe,bt as Pe,mG as Qe,xG as Re,IG as Se,hG as Te,gG as Ue,bG as Ve,Zo as We,yG as Xe,SG as Ye,Hn as Ze,CG as _e,ji as $e,vG as af,wG as bf,Ki as cf,kG as df,Wx as ef,Gx as ff,Ux as gf,TG as hf,ZF as if,FG as jf,EG as kf,Ye as lf,br as mf,Z_ as nf,dy as of,AZ as pf,BZ as qf,_Z as rf,DZ as sf,NZ as tf,MZ as uf,HZ as vf,zZ as wf,WZ as xf,GZ as yf,UZ as zf,hl as Af,qL as Bf,N8 as Cf,M8 as Df,YL as Ef,ZL as Ff,kh as Gf,oO as Hf,U8 as If,$8 as Jf,Fh as Kf,q8 as Lf,Eh as Mf,tq as Nf,pl as Of,m8 as Pf,x8 as Qf,ml as Rf,NL as Sf,k8 as Tf,na as Uf,P8 as Vf,wh as Wf,uee as Xf,pee as Yf,mee as Zf,xee as _f,Soe as $f,Coe as ag,woe as bg,R8 as cg,_8 as dg,Il as eg,lJ as fg,My as gg,Hy as hg,z2 as ig,N7 as jg,M7 as kg,H7 as lg,z7 as mg,zf as ng,Wf as og,Rh as pg,aq as qg,Ah as rg,iO as sg,Qf as tg,iq as ug,fq as vg,fO as wg,cq as xg,fa as yg,Nh as zg,dq as Ag,Hh as Bg,q9 as Cg,jh as Dg,wc as Eg,kc as Fg,PR as Gg,LR as Hg,Tc as Ig,AR as Jg,pa as Kg,Fl as Lg,vj as Mg,Oc as Ng,Rj as Og,Aj as Pg,Bj as Qg,gg as Rg,LA as Sg,OA as Tg,RA as Ug,RK as Vg,AK as Wg,HA as Xg,WA as Yg,Vg as Zg,WK as _g,GK as $g,ob as ah,VK as bh,ha as ch,ab as dh,Nc as eh,nb as fh,lb as gh,JK as hh,sb as ih,tB as jh,eV as kh,oV as lh,tV as mh,rV as nh,rB as oh,aV as ph,nV as qh,lV as rh,nB as sh,sV as th,iB as uh,iV as vh,Hc as wh,OV as xh,Nl as yh,TY as zh,ZB as Ah,Rb as Bh,QB as Ch,Ca as Dh,JB as Eh,e_ as Fh,AY as Gh,Nb as Hh,wX as Ih,kX as Jh,me as Kh,Ul as Lh,uo as Mh,Uy as Nh,$y as Oh,cJ as Ph,Oa as Qh,qy as Rh,jy as Sh,pJ as Th,mJ as Uh,VD as Vh,dS as Wh,kd as Xh,uS as Yh,NS as Zh,moe as _h,ss as $h,HN as ai,zN as bi,Ooe as ci,A2 as di,N2 as ei,pM as fi,uC as gi,mM as hi,_a as ii,ute as ji,pte as ki,Rre as li};