efficient-web-builder 0.0.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +174 -0
- package/LICENSE +10 -0
- package/README.md +230 -2
- package/dist/chunks/EditorPreviewCheckout-UMTU2FL4.js +4 -0
- package/dist/chunks/PreviewFooter-3TQMFRPZ.js +1 -0
- package/dist/chunks/SectionEditorShell-FZIT2REV.js +1 -0
- package/dist/chunks/SiteEditorProvider-FHKVGA4K.js +1 -0
- package/dist/chunks/StorefrontEditorChrome-MYOIHQ5J.js +1 -0
- package/dist/chunks/chunk-4G3T6ZD2.js +1 -0
- package/dist/chunks/chunk-4KLEZTLW.js +11 -0
- package/dist/chunks/chunk-IVOJJ6LW.js +1 -0
- package/dist/chunks/chunk-K3Y6UBLO.js +1 -0
- package/dist/chunks/chunk-KR3FTVDW.js +2 -0
- package/dist/chunks/chunk-N35EG6RF.js +143 -0
- package/dist/chunks/chunk-N35EG6RF.js.LEGAL.txt +4 -0
- package/dist/chunks/chunk-RF5DTRJ5.js +1 -0
- package/dist/chunks/chunk-UBYBQ3KR.js +1 -0
- package/dist/chunks/chunk-UTFM4DGR.js +15 -0
- package/dist/chunks/chunk-UTFM4DGR.js.LEGAL.txt +27 -0
- package/dist/chunks/chunk-WMFQNAWF.js +11 -0
- package/dist/chunks/chunk-X6KEAC34.js +1 -0
- package/dist/chunks/chunk-Y6SLVHK3.js +1 -0
- package/dist/chunks/fitment-data-ZLYB5QPR.js +1 -0
- package/dist/chunks/gallery-builds-data-SWA6XKFF.js +1 -0
- package/dist/chunks/headers-3CAQXQEY.js +1 -0
- package/dist/chunks/render-client-A75K43T5.js +1 -0
- package/dist/contract.d.ts +48 -0
- package/dist/contract.js +1 -0
- package/dist/editor.css +1 -0
- package/dist/index.d.ts +541 -0
- package/dist/index.js +10681 -0
- package/package.json +47 -3
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{$ as co,$b as pu,$c as hu,Ab as au,Bb as lu,C as Wd,Cb as ea,D as lo,Db as ar,E as so,Eb as ta,F as or,Fb as oa,G as rr,Ga as Kd,Gb as ra,Gc as Iu,H as Ud,Hb as su,Hc as Jr,Ib as iu,Ja as _o,Jb as cu,K as ds,Ka as ps,Kb as fu,La as jn,M as zd,Ma as $d,N as us,Nb as Xe,Pb as fo,Qa as Vd,Qb as du,Ra as qd,Ta as Yd,Wa as Jn,Xb as na,Y as io,Ya as Xd,Z as Eo,_b as uu,_c as gs,a as Pe,aa as Xn,ac as mu,b as no,bb as ms,bd as bu,d as is,dc as xu,eb as jd,gb as Jd,gc as gu,h as Nd,hb as Zd,i as Kt,k as Qo,kd as yu,ld as aa,nd as uo,ob as nr,pb as Qd,pd as Is,qb as eu,r as et,rb as tu,s as Bd,sb as xs,tb as ou,ub as ru,vb as Zn,wb as Qn,y as fs,z as jr,zb as nu}from"./chunk-4KLEZTLW.js";import{A as Ro,E as at,F as Dd,G as er,H as Md,J as Hd,P as Tt,Q as Fo,R as Gd,S as tr,T as oe,a as Td,b as ls,d as Rd,e as Fd,f as Ye,g as ss,h as Ed,j as _d,k as Ad,l as Ld,m as qn,n as zt,p as Od,u as cs,y as Yn}from"./chunk-RF5DTRJ5.js";import{b as ao}from"./chunk-UBYBQ3KR.js";import{useEffect as pS,useState as mS}from"react";function lr(){return Ye().auth.token}function Su({fetch:e,keyBy:t}){let o=null,r=null,n=null;return(a=!1)=>{let l=lr(),s=t?t():null;return(a||!o||r===null&&l!==null||n!==s)&&(r=l,n=s,o=l?e(l,s).catch(()=>[]):Promise.resolve([])),o}}var la=Su({fetch:(e,t)=>oe.listProducts(e,{siteId:t,kinds:["alloy-wheel","tyre"]}),keyBy:Ro}),Ao=(e=!1)=>la(e).then(t=>t.filter(o=>o.kind==="alloy-wheel"));function Cu(e){let[t,o]=mS(null);return pS(()=>{let r=!1;return e().then(n=>{r||o(n)}),()=>{r=!0}},[e]),t}function VO(){return Cu(Ao)}function qO(){return Cu(la)}import{useMemo as xS}from"react";import{useEditor as gS}from"efficient-easel/editor";function Pu(e={}){let{dispatch:t}=gS(r=>r),o=e.readOnly===!0;return xS(()=>{let r=(a,l,s)=>{let i=_o(l);return o||t({type:"insert",componentType:l,destinationZone:a,destinationIndex:s,id:i}),i},n=(a,l,s)=>{o||t({type:"replace",destinationZone:a,destinationIndex:l,data:s})};return{insertComponent:r,insertSection:(a,l)=>r($d,a,l),replaceComponent:n,seedChild:(a,l,s,i)=>{let c=r(a,s,l);n(a,l,{type:s,props:{id:c,...i}})},insertNode:(a,l,s)=>{let i=r(a,s.type,l);return n(a,l,{type:s.type,props:{...s.props,id:i}}),i},removeComponent:(a,l)=>{o||t({type:"remove",index:l,zone:a})},reorderComponent:(a,l,s)=>{o||t({type:"reorder",sourceIndex:l,destinationIndex:s,destinationZone:a})},duplicateComponent:(a,l)=>{o||t({type:"duplicate",sourceIndex:l,sourceZone:a})},select:a=>t({type:"setUi",ui:{itemSelector:a}}),setDocument:a=>{o||t({type:"setData",data:a})},commitDocument:a=>{o||t({type:"setData",data:()=>a,recordHistory:!0})}}},[t,o])}var bt=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],sa="bottom-left";var Zr={"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 IS(e){let t=bt.indexOf(po(e));return{band:Math.floor(t/3),column:["start","center","end"][t%3]}}function hS(e){return 1+IS(e).band*6}function QO(e){return hS(e)+1}function po(e){return bt.includes(e)?e:sa}function eN(e){let t=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(t)))}function tN(e,t=60){let o=typeof e=="number"&&Number.isFinite(e)?e:t;return Math.max(30,Math.min(100,Math.round(o)))}function hs(e,t){let o=po(t);return e.filter(r=>po(r?.props?.placement)===o).length}function ku(e){return`${Zr[po(e)]} already holds 4 boxes. Move one somewhere else first.`}function bs(e,t){let o=e.filter(r=>r?.props?.id!==t);return bt.map(r=>{let n=hs(o,r)>=4,a=Zr[r];return n?{value:r,label:a,disabled:!0,title:ku(r)}:{value:r,label:a}})}function ia(e,t){let o=t===void 0?sa:po(t?.props?.placement);return hs(e,o)>=4?ku(o):null}var wu="HeroGroup";function oN(e){let t=new Map,o=!1,r=e.filter(n=>{let a=po(n?.props?.placement),l=(t.get(a)??0)+1;return t.set(a,l),l<=4?!0:(o=!0,!1)});return o?r:e}function bS(e){return bt.map(t=>{let o=hs(e,t);return{anchor:t,total:o,hidden:o-4}}).filter(t=>t.hidden>0)}function ys(e){let t=bS(e);return t.length===0?null:t.map(({anchor:o,total:r,hidden:n})=>{let a=Zr[o],l=n===1?"1 is not shown":`${n} are not shown`;return`${a} holds ${r} boxes. The published page draws the first 4, so ${l}. ${n===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function rN(e,t){let o=t;if(o?.type!==wu)return null;let r=o.props?.id===void 0?"":String(o.props.id);return r?ia(Ss(e,r),o):null}function Ss(e,t){let o=vu(e,t);return o&&o.ownerType===SS?o.siblings:[]}function nN(e,t){let o=vu(e,t);return o?o.ancestorTypes.filter(r=>r===wu).length:yS}var yS=1,SS="HeroSlide";function vu(e,t){let o=n=>Array.isArray(n)&&n.length>0&&n.every(a=>!!a&&typeof a=="object"&&typeof a.type=="string"),r=(n,a,l)=>{if(a>12||!n||typeof n!="object")return null;if(o(n)){if(n.some(s=>s?.props?.id===t))return{siblings:n,ownerType:l.at(-1)??null,ancestorTypes:l};for(let s of n){let i=s.type,c=r(s,a+1,[...l,String(i)]);if(c)return c}return null}for(let s of Object.values(n)){let i=r(s,a+1,l);if(i)return i}return null};return r(e,0,[])}var lt="site-footer";var lN=lt,sN={desktop:!0,tablet:!0,mobile:!0},iN={desktop:!1,tablet:!1,mobile:!1},Cs=1,Tu=6,cN=Array.from({length:Tu-Cs+1},(e,t)=>Cs+t),ca={desktop:6,tablet:3,mobile:2},CS={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}},Lo=e=>Math.min(Math.max(Math.round(e),Cs),Tu);function fN(e){if(typeof e=="number")return CS[Lo(e)]??{desktop:Lo(e),tablet:Lo(e),mobile:Lo(e)};if(e&&typeof e=="object"){let t=e;return{desktop:Lo(t.desktop??ca.desktop),tablet:Lo(t.tablet??ca.tablet),mobile:Lo(t.mobile??ca.mobile)}}return{...ca}}function PS(e){let t=e?.content;return Array.isArray(t)?t.find(r=>!!r&&typeof r=="object"&&r.type==="Footer")??null:null}function dN(e){let t=e?.content;return Array.isArray(t)?t.find(r=>!!r&&typeof r=="object"&&r.type===kS)??PS(e):null}var kS="SiteFooter",wS="SiteHeader";function uN(e){let t=e?.content;return Array.isArray(t)?t.find(r=>!!r&&typeof r=="object"&&r.type===wS)??null:null}function je(e,t){if(typeof e=="string")return e||t;if(e&&typeof e=="object"&&"text"in e){let o=e.text;return typeof o=="string"&&o?o:t}return t}function Ru(e,t){return typeof e=="number"&&Number.isFinite(e)?e:t}function Fu(e,t){return typeof e=="boolean"?e:t}function fa(e,t){if(!Array.isArray(e))return t;let o=e.map(r=>typeof r=="string"?r:je(r?.text,"")).map(r=>r.trim()).filter(Boolean);return o.length?o:t}var da="cart-drawer",gN="cart-drawer";var vS={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 IN(e,t){return t===0?e.subtitleEmpty:t===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(t))}function hN(e){let t=e??{},o=vS;return{kickerBadge:je(t.kickerBadge,o.kickerBadge),kickerText:je(t.kickerText,o.kickerText),titleLead:je(t.titleLead,o.titleLead),titleAccent:je(t.titleAccent,o.titleAccent),subtitleEmpty:je(t.subtitleEmpty,o.subtitleEmpty),subtitleOne:je(t.subtitleOne,o.subtitleOne),subtitleMany:je(t.subtitleMany,o.subtitleMany),leadTimeValue:je(t.leadTimeValue,o.leadTimeValue),shipsToFallback:je(t.shipsToFallback,o.shipsToFallback),promises:fa(t.promises,o.promises),emptyKicker:je(t.emptyKicker,o.emptyKicker),emptyBody:je(t.emptyBody,o.emptyBody)}}var TS=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],SN={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"},RS={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"},CN={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 FS(e){return typeof e=="string"&&Kt.includes(e)?e:null}function Eu(e){let t={};for(let o of TS){let r=FS(e[RS[o]]);r&&(t[o]=r)}return t}var ws="subscribe-popup",RN="subscribe-popup";var ES=[ws,lt,da];function Qr(e){return ES.includes(e)}var _S=["delay","scroll","exit"],AS=["all","chosen"],LS=["visit","days","never"],OS=["right","left"],NS={min:0,max:60},BS={min:10,max:90},DS={min:1,max:90},ks={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:{}},me=je,MS=Ru,_u=Fu,Lu=fa;function ua(e,t,o){return typeof t=="string"&&e.includes(t)?t:o}function Ps(e,t,o){let r=MS(e,o);return Math.min(t.max,Math.max(t.min,Math.round(r)))}function HS(e){return typeof e.hideAfter=="string"?ua(LS,e.hideAfter,ks.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":ks.hideAfter}function GS(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?t.trim():"").filter(Boolean).map(t=>t.startsWith("/")?t:`/${t}`):[]}function Au(e,t){if(e==null)return t;let o=r=>r.trim()?r:"";if(typeof e=="string")return o(e);if(typeof e=="object"&&"text"in e){let r=e.text;return typeof r=="string"?o(r):""}return t}function WS(e,t){return Array.isArray(e)?Lu(e,[]):t}function US(e,t){return Array.isArray(e)?e.map(o=>{let r=o??{};return{label:me(r.label,""),value:me(r.value,"")}}).filter(o=>o.label||o.value):t}function FN(e){let t=e??{},o=ks;return{metaLabel:me(t.metaLabel,o.metaLabel),issueLabel:Au(t.issueLabel,o.issueLabel),issueNumber:Au(t.issueNumber,o.issueNumber),kicker:me(t.kicker,o.kicker),heading:me(t.heading,o.heading),deck:me(t.deck,o.deck),stats:US(t.stats,o.stats),formLabel:me(t.formLabel,o.formLabel),formHeading:me(t.formHeading,o.formHeading),formIntro:me(t.formIntro,o.formIntro),firstNameLabel:me(t.firstNameLabel,o.firstNameLabel),firstNamePlaceholder:me(t.firstNamePlaceholder,o.firstNamePlaceholder),emailLabel:me(t.emailLabel,o.emailLabel),emailPlaceholder:me(t.emailPlaceholder,o.emailPlaceholder),interestsLabel:me(t.interestsLabel,o.interestsLabel),interests:Lu(t.interests,o.interests),frequencyLabel:me(t.frequencyLabel,o.frequencyLabel),frequencies:WS(t.frequencies,o.frequencies),submitText:me(t.submitText,o.submitText),finePrint:me(t.finePrint,o.finePrint),dismissText:me(t.dismissText,o.dismissText),emailInvalidText:me(t.emailInvalidText,o.emailInvalidText),submitErrorText:me(t.submitErrorText,o.submitErrorText),successHeading:me(t.successHeading,o.successHeading),successBody:me(t.successBody,o.successBody),keepBrowsingText:me(t.keepBrowsingText,o.keepBrowsingText),formSlug:typeof t.formSlug=="string"?t.formSlug.trim():o.formSlug,autoOpen:_u(t.autoOpen,o.autoOpen),autoOpenDelaySec:Ps(t.autoOpenDelaySec,NS,o.autoOpenDelaySec),trigger:ua(_S,t.trigger,o.trigger),scrollPercent:Ps(t.scrollPercent,BS,o.scrollPercent),showOn:ua(AS,t.showOn,o.showOn),showOnPages:GS(t.showOnPages),hideAfter:HS(t),hideDays:Ps(t.hideDays,DS,o.hideDays),formSide:ua(OS,t.formSide,o.formSide),valuePanelOnPhone:_u(t.valuePanelOnPhone,o.valuePanelOnPhone),sectionAccent:t.sectionAccent,sectionCorners:t.sectionCorners,sectionCornerSides:t.sectionCornerSides,textStyles:Eu(t)}}var mo=class extends Error{constructor(t,o,r={}){super(o??zS[t],r.cause===void 0?void 0:{cause:r.cause}),this.name="WebsiteBackendError",this.kind=t,this.conflict=r.conflict,this.holder=r.holder}},zS={unauthorized:"The editor's sign-in was refused.","changed-elsewhere":"This page was changed somewhere else.","lock-taken":"Somebody else is editing this page.","not-found":"This no longer exists.",invalid:"The request was refused.",unavailable:"The server could not be reached."};function pa(e,t){if(!e||typeof e!="object")return!1;let o=e;return o.name!=="WebsiteBackendError"||typeof o.kind!="string"?!1:t===void 0||o.kind===t}import{readLockHolder as iC}from"efficient-easel/edit-lock";var Ts="/api/storefront/section-templates/",vs=e=>`${Ts}${encodeURIComponent(e)}/`,Rs=e=>e.node!=null;function ma(e){if(!Rs(e))throw new Error(`Section template ${e.id} has no design`);return e}var Es=(e,t)=>e instanceof at&&e.status===t;function KS(e){return{list:()=>tr(`${Ts}?no_page=true`,{token:e()}).then(t=>Array.isArray(t)?t:t.results??[]),get:t=>tr(vs(t),{token:e()}).catch(o=>{if(Es(o,404))return null;throw o}),create:t=>tr(Ts,{method:"POST",token:e(),body:JSON.stringify(t)}),patch:(t,o)=>tr(vs(t),{method:"PATCH",token:e(),body:JSON.stringify(o)}),remove:t=>tr(vs(t),{method:"DELETE",token:e()})}}var Fs="sf:section-templates",Ou=`${Fs}.imported`,$S="Untitled section",VS=160,xa=e=>(typeof e=="string"?e.trim().slice(0,VS):"")||$S;function qS(e){try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(o=>{let r=o?.node;return typeof o?.id=="string"&&typeof r?.type=="string"}):[]}catch{return[]}}async function YS(e,t=cs){let o={created:0,seeded:0,left:0,skipped:0,kept:!1},r=t.getItem(Fs);if(r===null)return o;for(let n of qS(r))try{let a=await e.get(n.id);if(a)a.node==null?(await e.patch(n.id,{node:n.node}),o.seeded+=1):o.left+=1;else try{await e.create({id:n.id,name:xa(n.name),node:n.node}),o.created+=1}catch(l){if(!Es(l,400))throw l;o.skipped+=1}}catch{return{...o,kept:!0}}return t.setItem(Ou,r),t.getItem(Ou)===r&&t.removeItem(Fs),o}var ga=class{constructor(t,o=cs){this.readToken=t;this.storage=o;this.imported=null;this.http=KS(t)}ready(){return this.imported?this.imported:this.readToken()?(this.imported=YS(this.http,this.storage).catch(()=>{}),this.imported):Promise.resolve()}async list(){return await this.ready(),(await this.http.list()).filter(Rs)}async get(t){return await this.ready(),this.http.get(t)}async ensure(t,o,r){await this.ready();let n=async l=>l?Rs(l)?l:ma(await this.http.patch(t,{node:r})):null,a=await n(await this.http.get(t));if(a)return a;try{return ma(await this.http.create({id:t,name:xa(o),node:r}))}catch(l){if(Es(l,400)){let s=await n(await this.http.get(t));if(s)return s}throw l}}async save(t,o){return await this.ready(),ma(await this.http.create({name:xa(t),node:o}))}async update(t,o){return await this.ready(),ma(await this.http.patch(t,{node:o}))}async rename(t,o){return await this.ready(),this.http.patch(t,{name:xa(o)})}async remove(t){await this.ready(),await this.http.remove(t)}};var dt="homepage";var XS="product",jS="tyre";var JS="productType",ZS={[XS]:"alloy-wheel",[jS]:"tyre"},QS=["alloy-wheel","tyre"];function BN(e,t){return eC(t)??ZS[e]??null}function eC(e){let t=e?.[JS];return typeof t=="string"&&QS.includes(t)?t:null}var tC=["home","products","gallery","about","contact"],oC=e=>{let t=e.slug.trim().toLowerCase(),o=(e.title??"").trim().toLowerCase(),r=tC.findIndex(n=>n===t||n===o);return r===-1?Number.POSITIVE_INFINITY:r},Nu=e=>e.map((t,o)=>({page:t,idx:o,rank:oC(t)})).sort((t,o)=>t.rank-o.rank||t.idx-o.idx).map(t=>t.page);var Mu="Popups",Bu="Site",rC="Main Pages",nC="Dynamic Pages",aC="dynamic",lC="dynamic";function sC(e){return e.kind===lC}var Hu={[ws]:{label:"Site popup",group:Mu},[lt]:{label:"Footer",group:Bu},[da]:{label:"Cart drawer",group:Bu}};function en(e){return Hu[e.slug]?.label||e.title||e.slug}function _s(e){let t=e.group?.trim();return t||null}function Du(e,t){let o=new Map;for(let r of e){let n=t(r),a=o.get(n);a?a.push(r):o.set(n,[r])}return o}function Gu(e){let t=Nu(e),o=[],r=t.filter(s=>!Qr(s.slug)),n=r.filter(s=>!_s(s));n.length&&o.push({key:"top",group:null,pages:n});let a=r.filter(s=>_s(s));for(let[s,i]of Du(a,c=>_s(c)))o.push({key:`folder:${s}`,group:s,pages:i});let l=t.filter(s=>Qr(s.slug));for(let[s,i]of Du(l,c=>Hu[c.slug]?.group??Mu))o.push({key:`system:${s}`,group:s,pages:i});return o}function $N(e){let t=[],o=[];for(let r of e){if(sC(r)){o.push(r);continue}let n=r.groupKey??(r.group?`folder:${r.group}`:"top"),a=t[t.length-1];a&&a.key===n?a.rows.push(r):t.push({key:n,label:r.group??rC,rows:[r]})}if(o.length){let r=t.findIndex(n=>n.key.startsWith("system:"));t.splice(r===-1?t.length:r,0,{key:aC,label:nC,rows:o})}return t}var on="page_changed_elsewhere",tn=e=>e.layout_updated_at??e.updated_at??null;function cC(e){if(!e||typeof e!="object")return null;let t=e;return t.code!==on?null:{savedBy:typeof t.saved_by=="string"?t.saved_by:"",savedByYou:t.saved_by_you===!0,secondsAgo:typeof t.seconds_ago=="number"?t.seconds_ago:0}}function fC(e){return e===401||e===403?"unauthorized":e===404?"not-found":e===er||e>=500?"unavailable":"invalid"}function dC(e){if(!(e instanceof at))return e;if(e.status===409){let t=cC(e.data);if(t)return new mo("changed-elsewhere",e.message,{conflict:t,cause:e});let o=iC(e.data);if(o)return new mo("lock-taken",e.message,{holder:o,cause:e})}return new mo(fC(e.status),e.message,{cause:e})}var uC={group:"Template pages",groupKey:"template"},Wu=e=>({id:e.id,slug:e.slug,label:e.title||e.slug,...uC,draft:!1});function zu(e){let t=async s=>{let i=e.token();if(!i)throw new mo("unauthorized","The editor has no sign-in yet.");try{return await s(i)}catch(c){throw dC(c)}},o={list:s=>t(async i=>{let c=await oe.listPages(i,s?.siteId);return Gu(c.filter(f=>f.slug!==lt)).flatMap(f=>f.pages.map(u=>({id:u.id,slug:u.slug,label:en(u),group:f.group,groupKey:f.key,draft:!u.is_published,kind:u.kind??null})))}),load:s=>t(async i=>{let c="id"in s?await oe.getPageById(s.id,i):await oe.findPageBySlug(s.slug,i,s.siteId);return c?{id:c.id,layout:c.layout,kind:c.kind,version:tn(c)}:null}),save:(s,i,c)=>{let{version:f}=c;return f?t(async u=>({version:tn(await oe.saveLayout(s,i.layout,u,f,c.clientId||void 0))})):Promise.reject(new Error("Refusing to save this page: the editor does not know which version it is replacing. Reload the page and try again."))},version:s=>t(i=>oe.getPageById(s,i).then(tn)),publish:(s,i)=>t(async c=>({version:tn(await oe.publishPage(s,c,i?.version))}))},r=s=>({list:()=>t(async i=>(await oe.listTemplatePages(s,i)).map(Wu)),load:i=>t(async c=>{let f=x=>"id"in i?x.id===i.id:x.slug===i.slug,u=x=>({id:x.id,layout:x.layout,version:null}),d=await oe.listTemplatePages(s,c);if(d.length)return u(d.find(f)??d[0]);let p=await oe.getTemplate(s,c).catch(()=>null);try{return u(await oe.createTemplatePage(s,{slug:dt,title:"Home",layout:p?.layout??{}},c))}catch{let x=await oe.listTemplatePages(s,c),g=x.find(f)??x[0];return g?u(g):null}}),save:(i,c)=>t(async f=>(await oe.saveTemplatePageLayout(i,c.layout,f),{version:null})),create:i=>t(async c=>Wu(await oe.createTemplatePage(s,{slug:i.slug,title:i.title,layout:i.layout},c))),remove:i=>t(c=>oe.deleteTemplatePage(i,c))}),n=s=>{let i=s?.siteId??e.siteId();if(!i)throw new mo("not-found","This editor is not connected to a website.");return i},a=s=>({name:s.name,slug:s.slug,mapsApiKey:s.maps_api_key,mapsMapId:s.maps_map_id}),l={pages:o,lock:{claim:(s,i,c)=>t(async f=>({heartbeatSeconds:(await oe.claimPageEditLock(s,f,i,c)).heartbeat_seconds})),release:s=>t(i=>oe.releasePageEditLock(s,i))},site:{get:s=>t(async i=>a(await oe.getSite(n(s),i))),update:(s,i)=>t(async c=>a(await oe.updateSite(n(i),s.mapsApiKey===void 0?{}:{maps_api_key:s.mapsApiKey},c)))},media:{resolve:Ad},sectionTemplates:new ga(e.token),templates:{get:s=>t(async i=>{let c=await oe.getTemplate(s,i);return{id:c.id,name:c.name}}),pages:r}};return l[Td]=!0,l}var Uu=new WeakMap;function rn(e=Ye()){if(e.hostBackend)return e.hostBackend;let t=Uu.get(e);return t||(t=zu({token:()=>e.auth.token,siteId:()=>e.siteId()}),Uu.set(e,t)),t}function oB(e={}){return zu({token:()=>Ye().auth.token,siteId:()=>e.siteId??Ye().siteId()})}var Ku=["general","commerce","service"],sr=[{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:"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 nB(){return Object.fromEntries(sr.map(e=>[e.key,{title:e.title,components:e.sections.map(t=>t.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var pC={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."},aB=["Grid"],lB=Array.from(new Set([...sr.flatMap(e=>e.sections.map(t=>t.type)),...Object.keys(pC)])),sB=Object.fromEntries(sr.flatMap(e=>e.sections.map(t=>[t.type,t.label]))),mC={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",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"},Ia={...mC,...Object.fromEntries(sr.flatMap(e=>e.sections.map(t=>[t.type,t.set])))};function $u(e){return Object.prototype.hasOwnProperty.call(Ia,e)?Ia[e]:void 0}function As(e){return Object.keys(Ia).filter(t=>Ia[t]===e).sort()}var iB=As("general"),cB=As("commerce"),fB=As("service"),xC="Flex",xo="Box",dB=`${xo}es`;function gC(e){return e==="section"?"Blank section":xo}function uB(e,t,o){return e===xC?gC(t):o}import{createContext as IC,useContext as hC,useEffect as bC}from"react";import{jsx as yC}from"react/jsx-runtime";var Vu=IC(null);function gB({session:e,children:t}){return ss(e),bC(()=>(ss(e),()=>Ed(e)),[e]),yC(Vu.Provider,{value:e,children:t})}function ha(){return hC(Vu)??Ye()}var Ls="sf-editor-footer-return";function bB(e){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Ls,e)}catch{}}function Os(){if(typeof window>"u")return null;try{return window.sessionStorage.getItem(Ls)}catch{return null}}function Ns(){if(!(typeof window>"u"))try{window.sessionStorage.removeItem(Ls)}catch{}}import{accessForNewDocument as SC}from"efficient-easel/edit-lock";function qu(e){return e.failed?"error":e.pending?"saving":e.saved?"saved":"idle"}function CB(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function Yu(e,t){t.resetAutosave(),t.setVersion(null),t.setSaveConflict(null),t.setAccess(SC(e))}import{createContext as CC,useContext as PC,useEffect as kC,useSyncExternalStore as wC}from"react";import{jsx as FC}from"react/jsx-runtime";var Xu=CC(null),nn=null;function wB({panel:e,children:t}){return nn=e,kC(()=>(nn=e,()=>{nn===e&&(nn=null,Qu(Rt?.request.requestId??"",null))}),[e]),FC(Xu.Provider,{value:e,children:t})}function vB(){return PC(Xu)}function ju(){return nn!==null}var Rt=null,Bs=new Set,Ju=()=>{for(let e of[...Bs])e()};function Zu(e){return new Promise(t=>{let o=Rt;Rt={request:e,resolve:t},Ju(),o?.resolve(null)})}function Qu(e,t){if(!Rt||Rt.request.requestId!==e)return;let{resolve:o}=Rt;Rt=null,Ju(),o(t)}function TB(){Rt&&Qu(Rt.request.requestId,null)}function vC(e){return Bs.add(e),()=>{Bs.delete(e)}}var TC=()=>Rt?.request??null,RC=()=>null;function RB(){return wC(vC,TC,RC)}var Ds=new Map,ep=0;function EC(){return ep+=1,`mp-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(ep)}`}function Ms(e,t){if(!e.connected)return Promise.resolve(null);let o=EC();return ju()?Zu({requestId:o,accept:t.accept,title:t.title,file:t.file??null}):new Promise(r=>{Ds.set(o,r),e.send("storefront-editor:open-media-picker",{requestId:o,accept:t.accept,title:t.title,...t.file?{file:t.file}:{}})})}function Hs(e,t){let o=Ds.get(e);o&&(Ds.delete(e),o(t))}var _C={"Logos.logosPerRow":"columns","HeroSlide.tintOpacity":"overlay","Split.textBgTint":"overlay"};function AC(e){return Array.isArray(e)&&e.length>0&&e.every(t=>!!t&&typeof t=="object"&&typeof t.type=="string")}function Gs(e){let t=e.props,o=!1;if(e.type&&t)for(let[r,n]of Object.entries(_C)){let a=r.indexOf("."),l=r.slice(0,a),s=r.slice(a+1);if(l!==e.type||!(s in t))continue;let i=t[s],c={...t};delete c[s],(!(n in c)||c[n]===void 0)&&(c[n]=i),t=c,o=!0}if(t){let r=t;for(let[n,a]of Object.entries(t)){if(!AC(a))continue;let l=a.map(Gs);l.some((s,i)=>s!==a[i])&&(r===t&&(r={...t}),r[n]=l,o=!0)}t=r}return o?{...e,props:t}:e}function tp(e){let t=e;if(!t||typeof t!="object")return e;let o=!1,r={...e};if(Array.isArray(t.content)){let n=t.content.map(Gs);n.some((a,l)=>a!==t.content[l])&&(r.content=n,o=!0)}if(t.zones&&typeof t.zones=="object"){let n=!1,a=Object.fromEntries(Object.entries(t.zones).map(([l,s])=>{if(!Array.isArray(s))return[l,s];let i=s.map(Gs);return i.some((c,f)=>c!==s[f])&&(n=!0),[l,i]}));n&&(r.zones=a,o=!0)}return o?r:e}import{createContext as cT,useCallback as ke,useContext as fT,useEffect as ut,useMemo as xc,useRef as ot,useState as St}from"react";var LC={general:!0,commerce:!0,service:!0};function Ws(e){let t=e?.sets;return t?Object.fromEntries(Ku.map(o=>[o,t.includes(o)])):LC}function an(e=Ye()){return Ws(e.blocks)}function op(e,t){let o=t?{siteId:t}:void 0;return{resolve:r=>e.load({slug:r,...o}),saveLayout:(r,n,a,l)=>e.save(r,{layout:n},{version:a,clientId:l??""}),rereadVersion:e.version?r=>e.version(r):void 0,publish:e.publish?(r,n)=>e.publish(r,n?{version:n}:void 0):void 0,listPages:()=>e.list(o),createPage:e.create?r=>e.create({...r,...o}):void 0,deletePage:e.remove?r=>e.remove(r):void 0}}function rp(e,t=rn(),o=an()){let r=ls(t),n=e?{siteId:e}:void 0,a=r?!!e:!0,l=t.site.update;return{capabilities:{canPublish:!!t.pages.publish,hasSiteSettings:r,hasSiteTheme:r,placeholderFrames:!1,mediaEditing:!0,pageCreationInAdminForm:!t.pages.create,canDeletePagesInline:!!t.pages.remove,hasEditLock:!!t.lock,hasEditGuard:!0,hasPinnedChrome:r&&o.commerce&&o.service,explainsSiteSettings:!1,hasSiteRecord:a,canEditSiteRecord:a&&!!l,hasPreviewLink:r||!!t.preview,hasCatalog:r&&o.commerce,hasForms:r&&o.service,offersCommerce:o.commerce,offersService:o.service},...op(t.pages,e),lock:t.lock,site:a?()=>t.site.get(n):void 0,updateSite:a&&l?s=>l(s,n):void 0,previewHref:t.preview?s=>t.preview.href(s):void 0}}function np(e,t=rn(),o=an()){let r=ls(t),n=t.templates,a=n?n.pages(e):{list:()=>Promise.reject(new Error(Us)),load:()=>Promise.reject(new Error(Us)),save:()=>Promise.reject(new Error(Us))};return{capabilities:{canPublish:!1,hasSiteSettings:!1,hasSiteTheme:!1,placeholderFrames:!0,mediaEditing:!1,pageCreationInAdminForm:!a.create,canDeletePagesInline:!!a.remove,hasEditLock:!1,hasEditGuard:!1,hasPinnedChrome:r&&o.commerce&&o.service,explainsSiteSettings:r,hasSiteRecord:!1,canEditSiteRecord:!1,hasPreviewLink:!1,hasCatalog:r&&o.commerce,hasForms:r&&o.service,offersCommerce:o.commerce,offersService:o.service},...op(a,void 0),publish:void 0,templateName:n?()=>n.get(e).then(l=>l.name):void 0}}var Us="This editor's backend has no website templates.";import{EDIT_LOCK_TAKEN as OC}from"efficient-easel/edit-lock";var NC={unauthorized:401,"changed-elsewhere":409,"lock-taken":409,"not-found":404,invalid:400,unavailable:er};function zs(e){if(e instanceof at)return{status:e.status,data:e.data};if(!pa(e))return null;if(e.cause instanceof at)return{status:e.cause.status,data:e.cause.data};let t=NC[e.kind];return e.kind==="changed-elsewhere"?{status:t,data:{code:on,saved_by:e.conflict?.savedBy??"",saved_by_you:e.conflict?.savedByYou===!0,seconds_ago:e.conflict?.secondsAgo??0}}:e.kind==="lock-taken"?{status:t,data:{code:OC,holder_name:e.holder?.name??"",seconds_since_seen:e.holder?.secondsSinceSeen??0,seconds_since_held:e.holder?.secondsSinceHeld??0}}:{status:t,data:null}}function ap(e){return zs(e)?.status===401}import{Fragment as BC}from"react";function ba(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}import{jsx as DC,jsxs as MC}from"react/jsx-runtime";var ya=["FusionForge\xAE","Precision Forged","Monoblock Cast"];function Ks(e){return ba(e)}function lp(e){let t=e.split("\xAE");return t.length===1?e:t.map((o,r)=>MC(BC,{children:[o,r<t.length-1&&DC(Bd,{})]},r))}var sp=ya.map((e,t)=>({key:e,num:String(t+1).padStart(2,"0"),title:lp(e)}));function $s(e){if(e.length===0)return[...ya];let t=new Set(e.map(o=>o.process));return ya.filter(o=>t.has(o))}function ip(e){return $s(e).map((t,o)=>({key:t,num:String(o+1).padStart(2,"0"),title:lp(t)}))}var jB=Object.fromEntries(ya.map(e=>[e,Ks(e)]));var cp=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],fp={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Ft="var(--wheel-stage)",Et="transparent",ln="inherit";function Sa(e,t){return e===ln?Ft:e==null?t:e===!0?Ft:e===!1?Et:e}function QB(e){return typeof e=="string"&&e!==ln?e:Ft}function dp(e){return e!==Et&&e!=="none"&&e!==""}function up(e,t){return e===ln||e===!0?!0:e==null?t===Ft:!1}import{useEffect as Cg,useId as Dv,useMemo as Cr}from"react";var pp=1;function HC(e){return co(e)}function mp(e){let t=HC(e);return t===null?{}:{"--sf-card-image-radius":`${t}px`}}var Ip="sf.gapContainer",go={min:-32,max:64,step:2},hp={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},Ca={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},GC=new Set(["Events","GalleryB"]);function qs(e,t,o){if(typeof t=="number"&&Number.isFinite(t)&&t>=go.min)return t;if(typeof t=="string"){let r=hp[e]?.[t];if(typeof r=="number")return r}return typeof o=="number"&&Number.isFinite(o)?o:Ca[e]}var WC="sf-gap-overlap",UC="--sf-gap-overlap",bp="--sf-block-gap",zC="--sf-block-gap-rem",Vs={min:0,max:go.max,step:go.step};function KC(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.min(Math.max(Math.round(e),Vs.min),Vs.max);return t-t%Vs.step}function r1(e){let t=KC(e);return t===null?{}:{[bp]:`${t}px`,[zC]:`${t/16}rem`}}var xp="sf-gap-zone",gp="--sf-gap-len";function Ys(e,t){return typeof t=="number"&&Number.isFinite(t)&&t>=go.min?!0:typeof t=="string"&&typeof hp[e]?.[t]=="number"}var $C={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function yp(e,t,o){if(!Ys(e,t)){let n=`${Ca[e]}px`,a=GC.has(e)?`var(--sf-card-gap, ${n})`:n;return{className:` ${xp}`,style:{[gp]:`var(${bp}, ${a})`}}}let r=qs(e,t);return r>=0?{className:` ${xp}`,style:{[gp]:`${r}px`}}:{className:` ${WC} ${$C[o]}`,style:{gap:"0px",[UC]:`${-r/2}px`}}}import{useMemo as lk,useState as sk}from"react";function VC(e){return(e.components??[]).reduce((o,r)=>o+r.wheels,0)>4}function l1(e){return e.kind==="alloy-wheel"&&(e.source.variants??[]).some(VC)}var qC=150,YC="Front + rear",Sp="L/R pair",Cp="Not handed",XC="L/R";function jC(e){return e.et==null||e.rearEt==null?0:Math.abs(e.rearEt-e.et)}function JC(e){return jC(e)>=qC}function s1(e){return e.kind==="alloy-wheel"&&(e.source.variants??[]).some(JC)}function ir(e){return e.directional===!0}function Pp(e){return e.rearWidth!=null||e.rearEt!=null&&e.rearEt!==e.et}function kp(e){return{twoObjects:QC(e),handed:e.handed??!1,staggered:!1}}function wp(e){let t=[e.twoObjects?YC:"",e.handed?XC:""].filter(Boolean);return t.length?t.join(" \xB7 "):null}function vp(e){return e.handed}function ZC(e){return new Set((e.components??[]).map(t=>t.partNumber)).size>1}function i1(e){return e.kind==="alloy-wheel"&&(e.source.variants??[]).some(ZC)}function QC(e){return(e.setWheelCount??0)>4}var eP=new Set(["boltPattern"]);function c1(e,t){return e&&eP.has(t)}function tP(e){return typeof e=="number"?String(e):""}function Tp(e){let t=tP(e);return t&&`${t} LUG`}function Xs(e){let t=e.spec?.lugs;return typeof t=="number"?t:null}function Rp(e){let t=new Set;for(let o of e){let r=Xs(o);r!==null&&t.add(r)}return[...t].sort((o,r)=>o-r)}function Be(e){return Number.isInteger(e)?String(e):String(Number(e.toFixed(2)))}function Fp(e,t){return e===t?`ET ${e}`:`ET ${e}\u2013${t}`}function Ep(e,t){return e===t?`${Be(e)}"`:`${Be(e)}"\u2013${Be(t)}"`}function u1(e){return e==="\u2014"?e:`${e}"`}function oP(e){return e.length===0?null:{min:Math.min(...e),max:Math.max(...e)}}function Pa(e){let t=oP(e);return t?Ep(t.min,t.max):null}function _p(e){let t=new Set;for(let o of e)for(let r of o.sizes??[])typeof r=="number"&&t.add(r);return[...t].sort((o,r)=>o-r)}var Ap=5,Np=.2;function Bp(e){if(!e)return{holes:null,circles:[]};let t=e.replace(/\([^)]*\)?/g," ").trim(),o=t.match(/^\s*(\d+)\s*[x×*]\s*(.+)$/i),r=o?Number(o[1]):null,a=(o?o[2]:t).split(/[-/,]/).map(l=>Number(l.trim().replace(/[^\d.]/g,""))).filter(l=>Number.isFinite(l)&&l>0);return{holes:r,circles:a}}function js(e){if(!e||e.length<2)return null;let[t,o]=e;return!Number.isFinite(t)||!Number.isFinite(o)?null:[Math.min(t,o),Math.max(t,o)]}function b1(e){if(!e)return null;let t=Bp(e.pcd||e.boltPattern);if(t.holes===null||t.circles.length===0)return null;let o=t.circles[0],r=js(e.etRange),n=r?[r[0]-Ap,r[1]+Ap]:null;return{holes:t.holes,circle:o,centreBore:typeof e.centreBore=="number"&&e.centreBore>0?e.centreBore:null,etRange:n}}function rP(e,t){return Math.abs(e-t)<=Np}function Dp(e,t,o){let r=Bp(e);return(r.holes??t)!==o.holes?!1:r.circles.some(a=>rP(a,o.circle))}function Mp(e,t){return t.centreBore===null?!0:e+Np>=t.centreBore}function nP(e,t){return e[0]<=t[1]&&e[1]>=t[0]}function ka(e,t){let o=`${t.holes}\xD7${t.circle}`;return e.pcds.length===0?{key:"unverifiable",wheel:"",vehicle:o}:e.pcds.some(r=>Dp(r,e.lugs,t))?t.etRange!==null&&e.etRange!==null&&!nP(e.etRange,t.etRange)?{key:"et",wheel:wa(e.etRange),vehicle:wa(t.etRange)}:e.centreBores.length>0&&!e.centreBores.some(r=>Mp(r,t))?{key:"bore",wheel:`${e.centreBores.join(" / ")} mm`,vehicle:`${t.centreBore} mm`}:null:{key:"pcd",wheel:e.pcds.join(" / "),vehicle:o}}function Hp(e){return{pcds:e.spec?.pcds??[],lugs:e.spec?.lugs??null,etRange:js(e.spec?.etRange),centreBores:e.spec?.centreBores??[]}}function Gp(e){let t=e.et,o=e.rearEt??e.et;return{pcds:e.boltPattern?[e.boltPattern]:[],lugs:null,etRange:t==null||o==null?null:[Math.min(t,o),Math.max(t,o)],centreBores:e.centreBore==null?[]:[e.centreBore]}}function Wp(e,t){let o=ka(e,t);return o===null||o.key!=="et"?o:ka(e,{...t,etRange:null})}function y1(e,t){return ka(Hp(e),t)}function S1(e,t){return ka(Gp(e),t)}function aP(e,t){return Wp(Gp(e),t)===null}function Up(e,t){return t?e.filter(o=>aP(o,t)):[...e]}function lP(e,t){return Wp(Hp(e),t)===null}function zp(e,t){return t?e.filter(o=>lP(o,t)):e}var Lp=1;function sP(e,t){let o=e.spec?.pcds??[],r=e.spec?.centreBores??[],n=js(e.spec?.etRange);if(!t)return{pcds:o,etRange:n,centreBores:r};let a=e.spec?.lugs??null,l=o.filter(i=>Dp(i,a,t)),s=r.filter(i=>Mp(i,t));return{pcds:l.length>0?l:o,etRange:n,centreBores:s.length>0?s:r}}function wa(e){return Fp(e[0],e[1])}function Op(e){let t=e.slice(0,Lp).join(" / "),o=e.length-Lp;return o>0?`${t} +${o}`:t}var C1="\xB7";function Kp(e){return[{fieldKey:"diameter",text:Pa(e.sizes)},{fieldKey:"holes",text:Tp(e.spec?.lugs)}].filter(t=>!!t.text)}function P1(e,t){let{pcds:o,etRange:r,centreBores:n}=sP(e,t),a=[];return o.length>0&&a.push({fieldKey:"pcd",text:`PCD ${Op(o)}`}),r!==null&&a.push({fieldKey:"et",text:wa(r)}),n.length>0&&a.push({fieldKey:"center_bore",text:`C/B ${Op(n)} mm`}),a}function iP(e){return e?[{key:"pcd",name:"Bolt pattern",value:`${e.holes}\xD7${e.circle}`},{key:"bore",name:"Hub bore",value:e.centreBore!==null?`${e.centreBore} mm bore`:null},{key:"et",name:"Offset",value:e.etRange!==null?wa(e.etRange):null}]:[]}function k1(e){return iP(e).map(t=>t.value).filter(t=>t!==null).join(" \xB7 ")}var cr="off",Io="none",Js=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],Zs=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function $p(e){return Xe(Js,cr,e)}function T1(e){return Xe(Zs,Io,e)}var va="sf-card-index",sn="sf-card-index",Vp="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",cP={plain:`counter(${sn})`,padded:`counter(${sn}, decimal-leading-zero)`,numero:`"N\xB0" counter(${sn}, decimal-leading-zero)`};function qp(e,t){return t==="off"?"":`.${e}{counter-reset:${sn}}.${e} .${va}{counter-increment:${sn}}.${e} .${va}::before{content:${cP[t]}}`}function Yp(e){return e==="hairline"?"border border-line hover:border-accent":""}var Xp=[{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"}];function F1(e){let t=typeof e=="number"?e:Number.parseInt(String(e??""),10);return!Number.isFinite(t)||t<1||t>5?1:Math.trunc(t)}function fP(e,t){if(!e||!t||!Number.isFinite(t)||t<=0)return null;let o=e.lugRenderings?.[String(t)];if(!Array.isArray(o))return null;let r=o.filter(n=>typeof n=="string"&&n.length>0);return r.length>0?r:null}function dP({carRenderings:e,renderings:t,coverIndex:o,shownFinishName:r,defaultFinishName:n,shownSrc:a}){if(e&&e.length>0){let s=Math.min(Math.max(o,1)-1,e.length-1);return e[s]??a}if(o<=1||!t||t.length===0||!n||r!==n)return a;let l=Math.min(o-1,t.length-1);return t[l]??a}function jp({overrideSrc:e,hookSrc:t,failed:o}){return e&&!o.has(e)?e:t&&t!==e&&!o.has(t)?t:null}function Jp(e,t,o,r,n){let a=o===void 0?void 0:e.finishes?.find(l=>l.name===o);return dP({carRenderings:fP(a,n),renderings:e.defaultFinishRenderings,coverIndex:t,shownFinishName:o,defaultFinishName:e.defaultFinish,shownSrc:r})}function fr(e,t){return e.length===0?e:e.filter(o=>o.kind===void 0||o.kind===t)}function Zp(e,t){if(t.length===0)return e;let o=dr(t);return Ta(e.filter(r=>o(r.fieldKey)),r=>r.fieldKey,t,"cardOrder")}function Qp(e,t){let o=t==="filter"?"filterOrder":"cardOrder",r=new Map;for(let n of e){let a=n[o];if(typeof a!="number"||!Number.isFinite(a))continue;let l=r.get(n.fieldKey);(l===void 0||a<l)&&r.set(n.fieldKey,a)}return n=>n?r.get(n):void 0}function uP(e){return Fa(e,"spec")}function _1(e){return Fa(e,"fitment")}function A1(e,t){if(t.length===0)return e;let o=uP(t),r=e.filter(n=>o(n.fieldKey));return Ta(r,n=>n.fieldKey,t,"specOrder")}function Ta(e,t,o,r){let n=new Map;for(let i of o){let c=i[r];typeof c=="number"&&n.set(i.fieldKey,c)}if(n.size===0)return e;let a=[],l=[];e.forEach((i,c)=>{let f=t(i);f&&(a.push(c),l.push({item:i,index:c,order:n.get(f)}))}),l.sort((i,c)=>i.order!==void 0&&c.order!==void 0?i.order-c.order||i.index-c.index:i.order!==void 0?-1:c.order!==void 0?1:i.index-c.index);let s=[...e];return a.forEach((i,c)=>{s[i]=l[c].item}),s.every((i,c)=>i===e[c])?e:s}function dr(e){return Fa(e,"card")}function em(e){return Fa(e,"filter")}var Ra="collection";function Qs(e,t){return{tyreSizes:{},brands:{"alloy-wheel":"brand",tyre:"brand"},finishes:{"alloy-wheel":"wheel_finish_ref"},diameters:{"alloy-wheel":"diameter",tyre:"rim_diameter"},collections:{"alloy-wheel":Ra},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function Fa(e,t){let o=new Set(e.filter(r=>r[t]===!1).map(r=>r.fieldKey));return r=>!r||!o.has(r)}import{Fragment as pP,jsx as tm,jsxs as mP}from"react/jsx-runtime";function ei(e,t){return!e&&!t?null:mP(pP,{children:[e&&tm("span",{className:"text-fg",children:e}),e&&t?tm("span",{className:"mx-[6px] text-fg-dim",children:"\xB7"}):null,t]})}function ti(e,t){let o=dr(t);return e.kind||e.brand&&o("brand")?!0:e.process&&o(Ra)}function om({kindLabel:e,brand:t,process:o},r){if(!ti({kind:!!e,brand:!!t,process:!!o},r))return null;let n=dr(r);return ei(e,n("brand")?t:null)??(n(Ra)?o:null)}import{jsx as oi,jsxs as xP}from"react/jsx-runtime";function ri({finishes:e,availability:t,selectedIdx:o,hoverIdx:r,activeFinish:n,onSelect:a,onHover:l,showLabel:s=!0,className:i}){return xP("div",{className:["mt-4",i].filter(Boolean).join(" "),children:[oi("div",{className:"flex flex-wrap items-center gap-2",onMouseLeave:()=>l(null),onClick:c=>c.preventDefault(),children:e.map((c,f)=>{if(!t[f])return null;let u=f===o,d=r===f&&r!==o;return oi("button",{type:"button",title:c.name,"aria-label":c.name,"aria-pressed":u,onMouseEnter:()=>l(f),onFocus:()=>l(f),onBlur:()=>l(null),onClick:p=>{p.preventDefault(),p.stopPropagation(),a(f)},className:["h-4 w-4 shrink-0 rounded-full transition-all",u?"ring-2 ring-accent ring-offset-2 ring-offset-surface":d?"ring-1 ring-fg ring-offset-2 ring-offset-surface":"ring-1 ring-fg/30 ring-offset-1 ring-offset-surface"].join(" "),style:{background:c.color,border:"1px solid var(--swatch-border)"}},c.name)})}),s&&n&&oi("div",{className:"mt-2 truncate font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:n.name})]})}import{useEffect as gP,useMemo as IP,useState as ni}from"react";import{jsx as rm}from"react/jsx-runtime";function Ea(e,t,o){let[r,n]=ni(()=>{let I=o?e.findIndex(h=>h.name===o):-1;return I>=0?I:0}),[a,l]=ni(null),[s,i]=ni(()=>e.map(()=>!0)),c=I=>{i(h=>{if(h[I]===!1)return h;let k=[...h];return k[I]=!1,k})},f=IP(()=>s.map((I,h)=>I?h:-1).filter(I=>I!==-1),[s]);gP(()=>{if(f.length===0){r!==-1&&n(-1),a!==null&&l(null);return}r>=0&&!f.includes(r)&&n(f[0]),a!==null&&!f.includes(a)&&l(null)},[f,r,a]);let u=a??r,d=u>=0?e[u]:void 0,p=d?.src??t,x=f.length>=2,g=e.length>0?rm("div",{className:"hidden","aria-hidden":!0,children:e.map((I,h)=>rm(no,{src:I.src,alt:"",width:16,height:16,loading:"eager",onError:()=>c(h)},I.src))}):null;return{selectedIdx:r,setSelectedIdx:n,hoverIdx:a,setHoverIdx:l,availability:s,finish:d,shownSrc:p,showSwatches:x,probes:g}}import{useState as hP}from"react";import{jsx as ur,jsxs as nm}from"react/jsx-runtime";function ai({src:e,alt:t=""}){let[o,r]=hP(!1),n=e||"";return ur("div",{className:"relative aspect-square overflow-hidden bg-bg",children:nm("div",{className:"absolute inset-0 flex items-center justify-center transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] group-hover:rotate-[60deg]",children:[ur("div",{className:"absolute inset-0 z-[1] flex items-center justify-center",children:nm("div",{className:"relative flex h-[70%] w-[70%] items-center justify-center rounded-full border-2",style:{borderColor:"var(--accent)"},children:[ur("div",{className:"absolute inset-[10%] rounded-full border",style:{borderColor:"var(--accent)",opacity:.4}}),ur("div",{className:"absolute left-1/2 top-1/2 h-[18%] w-[18%] -translate-x-1/2 -translate-y-1/2 rounded-full border-2",style:{borderColor:"var(--accent)"}}),ur("div",{className:"absolute left-1/2 top-1/2 h-[6%] w-[6%] -translate-x-1/2 -translate-y-1/2 rounded-full",style:{background:"var(--accent)"}})]})}),n&&ur("img",{src:n,alt:t,className:"absolute inset-0 z-[2] h-full w-full object-contain",style:{display:o?"none":"block"},onError:()=>r(!0)})]})})}import{createContext as bP,useContext as yP,useMemo as SP}from"react";import{jsx as PP}from"react/jsx-runtime";var am=[],CP={imageBackgroundFill:Ft,spinOnHover:!0,coverIndex:1,indexBadge:cr,outline:Io,showBadge:!0,fieldUsage:am,reserveEyebrow:!1,showCardPrice:!0,showCardFinishes:!0,showCardSizes:!1,showCardBuy:!1,showCardPage:!1},lm=bP(CP);function sm({imageBackgroundFill:e,spinOnHover:t,coverIndex:o=1,indexBadge:r=cr,outline:n=Io,showBadge:a=!0,fieldUsage:l=am,reserveEyebrow:s=!1,showCardPrice:i=!0,showCardFinishes:c=!0,showCardSizes:f=!1,showCardBuy:u=!1,showCardPage:d=!1,children:p}){let x=SP(()=>({imageBackgroundFill:e,spinOnHover:t,coverIndex:o,indexBadge:r,outline:n,showBadge:a,fieldUsage:l,reserveEyebrow:s,showCardPrice:i,showCardFinishes:c,showCardSizes:f,showCardBuy:u,showCardPage:d}),[e,t,o,r,n,a,l,s,i,c,f,u,d]);return PP(lm.Provider,{value:x,children:p})}function im(){return yP(lm)}import{useCallback as Im,useEffect as ci,useMemo as Oa,useRef as fi,useState as hm}from"react";import{useEffect as kP,useState as cm}from"react";var li=new Map;function wP(e){let t=li.get(e);if(t)return t;let o=Tt.getWheel(e).catch(r=>{throw li.delete(e),r});return li.set(e,o),o}function fm(e,t){let[o,r]=cm("idle"),[n,a]=cm(null);return kP(()=>{if(!t)return;let l=!1;return r("loading"),wP(e).then(s=>{l||(a(s),r("ready"))}).catch(()=>{l||r("error")}),()=>{l=!0}},[e,t]),{state:o,wheel:n}}function dm(e,t){return t.length===0?-1:e.findIndex(o=>t.includes(o.family))}function um(e){if(e.diameter==null||e.width==null)return e.size;let t=e.rearWidth!=null?`${Be(e.width)}/${Be(e.rearWidth)}`:Be(e.width);return`${e.diameter}" \xD7 ${t}`}function _a(e){return e.et==null?null:e.rearEt!=null&&e.rearEt!==e.et?`${e.et}/${e.rearEt}`:String(e.et)}function si(e){return e.diameter==null||e.width==null?JSON.stringify([e.size]):JSON.stringify([e.kind,e.diameter,e.width,e.rearWidth??null])}function pm(e){return e.diameter==null||e.width==null?e.size:`${e.diameter}" ${e.kind}`}function mm(e){return e.diameter==null||e.width==null?"":e.rearWidth!=null?`${Be(e.width)} front / ${Be(e.rearWidth)} rear`:`${Be(e.width)} all round`}function nD(e){if(e.diameter==null||e.width==null)return e.size;let t=(o,r)=>`${e.diameter} \xD7 ${Be(o)}${r!=null?` ET ${r}`:""}`;return Pp(e)?`${t(e.width,e.et)} front \xB7 ${t(e.rearWidth??e.width,e.rearEt)} rear`:t(e.width,e.et)}function ii(e,t){return t?e.filter(o=>o.finishName===t):[]}var vP="dually";function Aa(e){let t=e.components.reduce((n,a)=>n+a.wheels,0)||4,o=e.kind,r=[o==="staggered"?"Staggered":o===vP?"Dually":"",ir(e)?"L/R":""].filter(Boolean);return r.length?`${r.join(" ")} set of ${t}`:`Set of ${t}`}function TP(e,t){return[...new Set(e.filter(o=>!t||o.finishName===t).map(o=>o.size))]}function La(e,t,o){if(!(!t||!o))return e.find(r=>r.finishName===t&&r.size===o)}function cn(e){return e!=null&&e.inStock===!1}function xm(e,t){return t?e.filter(o=>o.finishName===t&&cn(o)):[]}function gm(e,t,o){return t.findIndex((r,n)=>o[n]!==!1&&TP(e,r).length>0)}var RP=[];function bm(e,t=RP){let o=Oa(()=>e.finishes.filter(Yn),[e.finishes]),r=o.length>0,n=Ea(o,e.coverImage??null,e.defaultFinish??void 0),[a,l]=hm(!1),s=Im(()=>{r&&l(!0)},[r]),{state:i,wheel:c}=fm(e.slug,a),f=Oa(()=>c?.variants??[],[c]),u=n.selectedIdx>=0?o[n.selectedIdx]?.name??null:null,[d,p]=hm(null),{setSelectedIdx:x}=n,g=fi(!1),I=Im(R=>{g.current=!0,x(R)},[x]),h=t.join(","),k=fi(null);ci(()=>{if(k.current===h)return;k.current=h;let R=dm(o,t);R<0||(g.current=!0,x(R))},[h,t,o,x]);let S=fi(!1);ci(()=>{if(S.current||g.current||f.length===0||!u||(S.current=!0,ii(f,u).length>0))return;let R=gm(f,o.map(_=>_.name),n.availability);R>=0&&x(R)},[f,u,o,n.availability,x]);let C=Oa(()=>ii(f,u),[f,u]);ci(()=>{p(R=>R&&C.some(_=>_.size===R)?R:C.length===1?C[0].size:null)},[C]);let T=La(f,u,d),b=cn(T),w=T!=null&&!b,O=!r||i==="error"||i==="ready"&&C.length===0,D=Oa(()=>xm(f,u),[f,u]);return{...n,setSelectedIdx:I,finishes:o,arm:s,detailState:i,confirmedFinishName:u,sizeOptions:C,size:d,setSize:p,selectedVariant:T,outOfStock:b,outOfStockVariants:D,canAdd:w,unsellable:O}}import{useEffect as ok,useState as rk}from"react";var Vt=["width","profile","rim"],ym={width:"Width",profile:"Profile",rim:"Rim"},FP=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,EP={width:[100,500],profile:[20,100],rim:[10,30]};function qt(e){let t=FP.exec(e??"");if(!t)return null;let o={width:Number(t[1]),profile:Number(t[2]),rim:Number(t[3])};return Vt.every(n=>{let[a,l]=EP[n];return o[n]>=a&&o[n]<=l})?o:null}function $t(e){if(e.width==null)return"";if(e.profile==null)return String(e.width);let t=`${e.width}/${e.profile}`;return e.rim==null?t:`${t} R${e.rim}`}function Sm(e){return[$t({width:e.width}),$t({width:e.width,profile:e.profile}),$t(e)]}var No=["alloy-wheel","tyre"],Cm=["alloy-wheel"],mr={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},Pm="All products",km="All product types";function wm(e){return e.length===1&&e[0]==="alloy-wheel"?{one:"wheel",many:"wheels"}:e.length===1&&e[0]==="tyre"?{one:"tyre",many:"tyres"}:{one:"product",many:"products"}}var bD=No.map(e=>({value:e,label:mr[e]}));function Na(e){return e==null?[...Cm]:Array.isArray(e)?No.filter(t=>e.includes(t)):[...Cm]}var Je=e=>e;function Ee(e){return Je(e).kind==="tyre"?"tyre":"alloy-wheel"}function yD(e,t){return e.filter(o=>t.includes(Ee(o)))}function SD(e){return Je(e).slug??""}function di(e){return Je(e).name??""}function Ba(e){return Je(e).brand??""}function CD(e){let t=new Set;for(let o of e)if(t.add(Ba(o)),t.size>1)return!0;return!1}function _P(e){return Je(e).process??""}function PD(e){let t=new Set;for(let o of e)if(t.add(_P(o)),t.size>1)return!0;return!1}function Bo(e){return Je(e).prices??void 0}function ui(e){return Je(e).inStock!==!1}function vm(e){let t=Je(e),o=Ee(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(o)?o.filter(r=>typeof r=="number"&&Number.isFinite(r)):[]}function pi(e){return Ee(e)!=="tyre"&&Je(e).badge==="new"}function mi(e){return Ee(e)==="tyre"?[]:(Je(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function Tm(e){return mi(e).map(t=>t.family)}function Rm(e){if(Ee(e)==="tyre")return[];let t=Je(e),o=t.categories;return o&&o.length>0?o:t.process?[t.process]:[]}function Fm(e){return Ee(e)==="tyre"?[]:Je(e).spec?.pcds??[]}function Em(e){return Ee(e)!=="tyre"?[]:Je(e).tyreTypes??[]}function _m(e){return Ee(e)!=="tyre"?[]:Je(e).speedRatings??[]}function Da(e){if(Ee(e)!=="tyre")return[];let t=Je(e).sizes;return Array.isArray(t)?t.map(o=>qt(typeof o=="string"?o:null)).filter(o=>o!==null):[]}var AP={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},Am=Object.keys(AP);function Lm(e){return Xe(Am,"recommended",e)}function LP(e){return Am.filter(t=>t!=="recommended"||e.length<=1)}function _D(e,t){let o=Lm(e);return LP(t).includes(o)?o:"name"}var fn=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],OP={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},NP={diameters:"tyreSizes"};function Om(e){if(e.length===0)return[];let t=fn.filter(o=>e.every(r=>OP[o].includes(r)));return t.filter(o=>{let r=NP[o];return!r||!t.includes(r)})}function AD(e,t){return t&&e.includes(t)?[t]:[...e]}function Nm(e){let t=new Set;for(let o of e)t.add(Ee(o));return[...t]}var LD={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function BP(e){return`${DP(e.width)}\xD7${e.diameter}`}function Bm(e){return(e.sizePairs??[]).map(BP)}function DP(e){return Be(e)}function dn(e,t,o,r=null){if(r!=="kind"&&t.kind&&Ee(e)!==t.kind)return!1;for(let n of fn){if(r===n)continue;let a=t[n];if(a.length===0)continue;let l=a.map(String);if(!Dm(e,n).some(s=>l.includes(s)))return!1}return!(r!=="price"&&!ta(Bo(e),o,null,t.priceMax)||r!=="inStock"&&t.inStockOnly&&!ui(e))}function OD(e,t,o){return e.filter(r=>ui(r)&&dn(r,t,o,"inStock")).length}function MP(e,t,o){let r=[...e],n=(l,s)=>di(l).localeCompare(di(s)),a=Nm(e).length>1;switch(t){case"price-asc":return r.sort((l,s)=>ar(Bo(l),Bo(s),o,"asc"));case"price-desc":return r.sort((l,s)=>ar(Bo(l),Bo(s),o,"desc"));case"name":return r.sort(n);case"new":return r.sort((l,s)=>{let i=(pi(s)?1:0)-(pi(l)?1:0);return i!==0||!a?i:n(l,s)});default:return r}}function ND(e,t,o){return MP(e.filter(r=>dn(r,t,o)),t.sort,o)}function BD(e){return fn.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}var HP={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function Dm(e,t){switch(t){case"tyreSizes":return[...new Set(Da(e).flatMap(Sm))];case"brands":return Ba(e)?[Ba(e)]:[];case"finishes":return Tm(e);case"diameters":return vm(e).map(String);case"collections":return Rm(e);case"pcds":return Fm(e);case"tyreTypes":return Em(e);case"speedRatings":return _m(e)}}function GP(e){let t=new Map;for(let o of e)for(let r of mi(o))r.color&&!t.has(r.family)&&t.set(r.family,r.color);return t}function DD(e,t,o,r=Nm(e),n=[]){let a=c=>WP(c,r,n),l=GP(e),s=Om(r).filter(c=>c!=="tyreSizes").filter(a).map(c=>{let f=t[c].map(String),u=new Set,d=new Map,p=new Map;for(let g of e){let I=Dm(g,c);for(let h of I)u.add(h);for(let h of new Set(I))p.set(h,(p.get(h)??0)+1);if(dn(g,t,o,c))for(let h of new Set(I))d.set(h,(d.get(h)??0)+1)}let x=[...u].map(g=>({value:g,label:c==="diameters"?`${g}\u2033`:g,count:d.get(g)??0,checked:f.includes(g),swatch:c==="finishes"?l.get(g)??null:null})).sort((g,I)=>{if(c==="diameters")return Number(g.value)-Number(I.value);let h=(p.get(I.value)??0)-(p.get(g.value)??0);return h!==0?h:g.value.localeCompare(I.value)});return{key:c,label:HP[c],options:x}}).filter(c=>c.options.length>Mm),i=[];for(let c of s){let f=UP(c.key,r,n);f!==void 0&&i.push({fieldKey:c.key,filterOrder:f})}return[...Ta(s,c=>c.key,i,"filterOrder")]}var Mm=1;function MD(e){return e.showCollection===!1?["collections"]:[]}function WP(e,t,o){return t.length===0||o.length===0?!0:t.some(r=>em(fr(o,r))(Qs(e,r)))}function UP(e,t,o){if(o.length===0)return;let r;for(let n of t){let a=Qp(fr(o,n),"filter")(Qs(e,n));a!==void 0&&(r===void 0||a<r)&&(r=a)}return r}function zP(e){let t=new Set;for(let o of e)for(let r of Da(o))t.add($t(r));return t.size}function HD(e,t){return Om(t).includes("tyreSizes")?zP(e)>Mm:!1}function Hm(e){let t=qt(e);if(t)return t;let[o,r]=e.split("/");return{width:o?Number(o):void 0,profile:r?Number(r):void 0}}function KP(e,t,o){return Vt.slice(0,Vt.indexOf(o)).every(r=>{let n=t[r];return n==null||e[r]===n})}function GD(e,t,o){let r=Hm(t.tyreSizes[0]??""),n=new Set(e.filter(a=>dn(a,t,o,"tyreSizes")));return Vt.map(a=>{let l=new Map;for(let i of e){let c=Da(i).filter(f=>KP(f,r,a));for(let f of new Set(c.map(u=>u[a])))l.has(f)||l.set(f,0),n.has(i)&&l.set(f,(l.get(f)??0)+1)}let s=[...l.keys()].sort((i,c)=>i-c).map(i=>({value:i,label:a==="rim"?`R${i}`:String(i),count:l.get(i)??0}));return{part:a,label:ym[a],value:r[a]??null,options:s}})}function WD(e,t,o,r){let n={...Hm(t)},a=Vt.indexOf(o);n[o]=r??void 0;for(let l of Vt.slice(a+1))n[l]!=null&&e.some(c=>Vt.slice(0,Vt.indexOf(l)+1).every(f=>n[f]==null||c[f]===n[f]))||(n[l]=void 0);return $t(n)}function UD(e,t,o,r){if(t.length<2)return[];let n=e.filter(a=>dn(a,o,r,"kind"));return[{kind:null,label:Pm,count:n.length,checked:o.kind===null},...t.map(a=>({kind:a,label:mr[a],count:n.filter(l=>Ee(l)===a).length,checked:o.kind===a}))]}function zD(e,t){if(e.length===0)return null;let o=e.map(a=>ea(Bo(a),t)).filter(a=>a!==null);if(o.length===0)return null;let r=Math.floor(Math.min(...o)),n=Math.ceil(Math.max(...o));return n>r?{min:r,max:n}:null}function KD(e,t,o){let r=[];e.kind&&r.push({key:"kind",value:e.kind,label:mr[e.kind]}),e.inStockOnly&&r.push({key:"inStock",value:"",label:"In stock"});for(let n of fn)for(let a of e[n]){let l=String(a);r.push({key:n,value:l,label:n==="diameters"?`${l}\u2033`:n==="pcds"?`PCD ${l}`:l})}return e.priceMax!=null&&r.push({key:"price",value:"",label:`Up to ${o(e.priceMax,t)}`}),r}var Yt={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},xr="type",Gm="maxPrice",Wm="inStock",Um="sort",zm="page";function $D(e){let t=a=>e.getAll(a).flatMap(l=>l.split(",")).filter(Boolean),o=Number(e.get(Gm)),r=Number(e.get(zm)),n=e.get(xr);return{tyreSizes:t(Yt.tyreSizes),brands:t(Yt.brands),finishes:t(Yt.finishes),diameters:t(Yt.diameters).map(Number).filter(Number.isFinite),collections:t(Yt.collections),pcds:t(Yt.pcds),tyreTypes:t(Yt.tyreTypes),speedRatings:t(Yt.speedRatings),priceMax:Number.isFinite(o)&&o>0?o:null,inStockOnly:e.get(Wm)==="1",kind:No.find(a=>a===n)??null,sort:Lm(e.get(Um)),page:Number.isFinite(r)&&r>=1?Math.floor(r):1}}function VD(e){let t=new URLSearchParams;for(let o of fn){let r=e[o];r.length>0&&t.set(Yt[o],r.join(","))}return e.priceMax!=null&&t.set(Gm,String(e.priceMax)),e.inStockOnly&&t.set(Wm,"1"),e.kind&&t.set(xr,e.kind),e.sort!=="recommended"&&t.set(Um,e.sort),e.page>1&&t.set(zm,String(e.page)),t}function qD(e,t){if(e<=7)return Array.from({length:e},(a,l)=>l+1);let o=[1],r=Math.max(2,t-1),n=Math.min(e-1,t+1);r>2&&o.push(null);for(let a=r;a<=n;a++)o.push(a);return n<e-1&&o.push(null),o.push(e),o}function YD(e,t,o){let r=e.length,n=Math.max(1,Math.floor(o)),a=Math.max(1,Math.ceil(r/n)),l=Math.min(Math.max(1,Math.floor(t)),a),s=(l-1)*n;return{items:e.slice(s,s+n),page:l,pageCount:a,total:r,from:r===0?0:s+1,to:Math.min(s+n,r)}}function gr(e){let t=e.lastIndexOf(" ");return t===-1?{lead:"",accent:e}:{lead:e.slice(0,t+1),accent:e.slice(t+1)}}import{Fragment as $P}from"react";import{Fragment as xi,jsx as yt,jsxs as _t}from"react/jsx-runtime";var Ma="mt-3 flex h-[26px] items-center gap-1",Ha="flex min-w-0 items-center gap-1 overflow-hidden",Ga="shrink-0 border border-line px-1.5 py-0.5 font-mono text-[length:var(--size-label,11px)] tracking-[0.08em] text-fg-dim",un="border px-1.5 py-0.5 font-mono text-[length:var(--size-label,11px)] tracking-[0.08em] whitespace-nowrap",Wa=`${un} border-accent/60 text-accent`,VP=e=>`calc((100% - ${e}px) / 2)`,qP=2,YP=28,Km=e=>qP+2*YP+(e?10:0);var XP=16;var jP="whitespace-nowrap",JP=e=>typeof e=="string"?e:e.text;function $m(e,t="\xB7"){return e.map((o,r)=>{let n=JP(o),a=typeof o!="string"&&o.accent;return _t($P,{children:[yt("span",{className:`${jP}${a?" text-accent":""}`,children:r<e.length-1?`${n} ${t}`:n}),r<e.length-1?" ":null]},n)})}var Ua="mt-3 flex flex-col gap-2",Ir="cursor-pointer bg-btn px-4 py-2.5 font-mono text-[length:var(--size-label,11px)] font-bold uppercase tracking-[0.24em] text-btn-ink transition-colors hover:bg-fg",za="border border-btn px-4 py-2.5 text-center font-mono text-[length:var(--size-label,11px)] font-bold uppercase tracking-[0.24em] text-btn transition-colors hover:bg-btn hover:text-btn-ink",ZP="border px-2 py-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.3em]",gi="absolute right-[18px] top-[18px] z-10";function Ii({tone:e,className:t,children:o}){return yt("span",{className:[t,ZP,e==="solid"?"border-accent bg-accent text-bg":"border-accent text-accent"].filter(Boolean).join(" "),children:o})}function pn({variant:e="catalog",wide:t=!1,href:o,identityLink:r=!1,outline:n="none",imageBackgroundFill:a=Et,containerProps:l,probes:s,indexBadge:i,badges:c,image:f,imageSecond:u,plate:d,eyebrow:p,reserveEyebrow:x=!1,name:g,spec:I,was:h,price:k,metaLine:S,swatches:C,showPrice:T=!0,reserveSwatches:b=!0,extras:w}){let O=e==="catalog",D=dp(a),R=D&&a===Ft,_=R?"bg-[var(--wheel-stage)] p-[5px]":D?"p-[5px]":"",G=D&&!R?{backgroundColor:a}:{},Y=(Ie,de)=>yt("figure",{className:`m-0 aspect-square [flex:0_0_auto] max-w-full max-[800px]:w-[252px] ${de}`,style:{width:VP(Km(D))},children:Ie}),M=O?_t("div",{className:t?`relative mt-2 mb-5 flex items-center justify-center [&_img]:object-top max-[800px]:flex-col ${_}`:`relative mt-2 mb-5 flex aspect-square items-center justify-center overflow-hidden [&_img]:object-top ${_}`,style:t?{...G,borderRadius:10,columnGap:Km(D),rowGap:XP}:{...G,borderRadius:"var(--sf-card-image-radius, 10px)"},children:[t?_t(xi,{children:[Y(f,"max-[800px]:-translate-x-[38px]"),Y(u??f,"max-[800px]:translate-x-[38px]")]}):f,d]}):_t("div",{className:"relative mb-[18px] aspect-square overflow-hidden bg-bg p-[30px] [&_img]:object-top",style:{borderRadius:"var(--sf-card-image-radius, 10px)"},children:[f,d]}),v=`font-mono text-[length:var(--size-label,12px)] uppercase text-accent ${O?"tracking-[0.3em]":"tracking-[0.25em]"}`,j=p?yt("div",{className:v,children:p}):O&&x?yt("div",{"aria-hidden":!0,className:v,children:"\xA0"}):null,F=yt("div",{className:O?"mt-2 h-[60px] overflow-hidden break-words font-heading3 text-[length:var(--size-headingSmall,30px)] font-medium uppercase leading-none tracking-[-0.02em]":"mt-[6px] font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium tracking-[-0.02em]",children:g}),E=yt("div",{className:O?"mt-2 h-[38px] overflow-hidden font-mono text-[length:var(--size-label,13px)] leading-[19px] tracking-[0.14em] text-fg-dim":"mt-[4px] font-mono text-[length:var(--size-label,13px)] tracking-[0.1em] text-fg-dim",children:I}),se=T?_t("div",{className:"mt-2 font-mono text-[length:var(--size-label,13px)]",children:[h&&yt("span",{className:"mr-2 text-fg-dim line-through",children:h}),k]}):null,N=T&&S?yt("div",{className:"mt-[2px] font-mono text-[length:var(--size-label,11px)] tracking-[0.08em] text-fg-dim",children:S}):null,le=O&&!C?b?yt("div",{"aria-hidden":!0,className:"mt-4 h-4"}):null:C,xe=[O?"sf-card sf-card-fill group relative flex min-h-[460px] flex-col bg-[var(--card-bg)] px-7 pt-8 pb-7 transition-colors duration-200 hover:bg-[var(--card-bg-hover)]":"sf-card sf-card-fill group relative block bg-[var(--card-bg)] p-5 transition-colors duration-300 hover:bg-[var(--card-bg-hover)]",Yp(n),t?"col-span-2 max-[800px]:col-span-1 @max-[720px]:col-span-1":""].filter(Boolean).join(" "),ie=_t(xi,{children:[M,j,F]}),te=_t(xi,{children:[E,se,N,le,w]});return o?r?_t("article",{...l,className:xe,children:[s,i,c,yt(Pe,{href:o,className:"flex flex-col",children:ie}),te]}):_t(Pe,{href:o,className:xe,children:[s,i,c,ie,te]}):_t("article",{...l,className:xe,children:[s,i,c,ie,te]})}import{useId as jm,useRef as tk,useState as bi}from"react";import{useEffect as hi}from"react";function Vm({active:e,onDismiss:t,focusRef:o,lockScroll:r=!0}){hi(()=>{if(!e)return;let n=a=>{a.key==="Escape"&&t()};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e,t]),hi(()=>{if(!e||!r)return;let n=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=n}},[e,r]),hi(()=>{e&&o?.current?.focus()},[e,o])}import{useCallback as Ym,useRef as QP,useState as ek}from"react";function aM({email:e,firstName:t,interests:o,frequency:r},n){return{email:e.trim(),firstName:t?.trim()||void 0,interests:o&&o.length?o:void 0,frequency:r||void 0,source:n}}var qm={popup:"shop_popup",subscribeSection:"subscribe_section",subscribeBlogsSection:"subscribe_blogs_section",footerSignup:"footer_signup",stockAlertOptIn:"stock_alert_optin"};function Xm(){let[e,t]=ek("idle"),o=QP(!1),r=Ym(()=>{o.current=!1,t("idle")},[]),n=Ym(async({partNumbers:a,email:l,productSlug:s,subscribeToOffers:i=!1,dryRun:c=!1})=>{if(o.current)return;let f=l.trim();if(!du(f)){t("invalid");return}o.current=!0,t("sending");try{if(!c)for(let u of a)await Tt.createStockAlert({partNumber:u,email:f,productSlug:s})}catch{o.current=!1,t("error");return}if(i&&!c)try{await Tt.createNewsletterSubscription({email:f,source:qm.stockAlertOptIn})}catch{}o.current=!1,t("sent")},[]);return{status:e,submit:n,reset:r}}import{jsx as ae,jsxs as Ge}from"react/jsx-runtime";function yi({wheelName:e,productSlug:t,finishName:o,variants:r,initialSize:n,onClose:a,editing:l=!1}){let s=jm(),i=jm(),c=tk(null),{currency:f}=fo(),u=Xm(),[d,p]=bi(()=>n??r[0]?.size??""),[x,g]=bi(""),[I,h]=bi(!1);Vm({active:!0,onDismiss:a,focusRef:c});let k=r.find(w=>w.size===d)??r[0];if(!k)return null;let S=u.status==="sent",C=u.status==="sending",T=u.status==="invalid"?"Please enter a valid email address.":u.status==="error"?"Couldn't save that \u2014 please try again.":null;function b(){k&&u.submit({partNumbers:k.components.map(w=>w.partNumber),email:x,productSlug:t,subscribeToOffers:I,dryRun:l})}return ae("div",{role:"dialog","aria-modal":"true","aria-labelledby":s,onClick:w=>{w.target===w.currentTarget&&a()},className:"fixed inset-0 z-[90] flex items-center justify-center overflow-y-auto p-6 backdrop-blur-[6px]",style:{background:"color-mix(in oklab, var(--bg) 78%, transparent)"},children:Ge("div",{ref:c,tabIndex:-1,className:"relative w-[420px] max-w-full border-2 border-accent bg-surface text-left shadow-[0_24px_60px_rgba(0,0,0,0.55)] outline-none",children:[ae("button",{type:"button",onClick:a,"aria-label":"Close",className:"absolute right-[10px] top-[10px] z-[2] flex h-9 w-9 cursor-pointer items-center justify-center text-fg-dim transition-colors hover:text-accent",children:ae("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":!0,children:ae("path",{d:"M6 6l12 12M18 6 6 18"})})}),S?Ge("div",{className:"px-6 py-8 text-center",children:[ae("span",{className:"mx-auto mb-4 grid h-16 w-16 place-items-center rounded-full border-[1.5px] border-accent bg-accent/15",children:ae("svg",{width:"30",height:"30",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"2.5","aria-hidden":!0,children:ae("path",{d:"M20 6 9 17l-5-5"})})}),ae("h3",{id:s,className:"font-display text-[22px] font-medium uppercase leading-tight tracking-[-0.02em]",children:"You're on the list"}),Ge("p",{className:"mx-auto mt-2 max-w-[34ch] text-[13px] leading-[1.6] text-fg-dim",children:["We'll alert ",ae("strong",{className:"font-normal text-fg",children:x.trim()})," as soon as the ",et(e)," in ",k.size," is back. Keep an eye on your inbox."]}),ae("button",{type:"button",onClick:a,className:"mt-6 w-full cursor-pointer border border-line px-4 py-3 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-fg transition-colors hover:border-accent hover:text-accent",children:"Continue browsing"})]}):Ge("form",{className:"p-6",noValidate:!0,onSubmit:w=>{w.preventDefault(),b()},children:[Ge("div",{className:"mb-2 flex items-center gap-3",children:[ae("span",{className:"grid h-11 w-11 flex-none place-items-center border-[1.5px] border-accent bg-accent/15",children:Ge("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"2","aria-hidden":!0,children:[ae("path",{d:"M18 8a6 6 0 1 0-12 0c0 7-3 9-3 9h18s-3-2-3-9"}),ae("path",{d:"M13.7 21a2 2 0 0 1-3.4 0"})]})}),Ge("div",{children:[ae("div",{className:"font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:"Back-in-stock alert"}),ae("h3",{id:s,className:"mt-0.5 font-display text-[22px] font-medium uppercase leading-tight tracking-[-0.02em]",children:"Notify me"})]})]}),Ge("p",{className:"mb-5 text-[13px] leading-[1.6] text-fg-dim",children:["We'll email you the moment the"," ",ae("strong",{className:"font-normal text-fg",children:et(e)}),o?` in ${o}`:""," ","is back in stock. No spam \u2014 one alert, then we're done."]}),Ge("fieldset",{className:"mb-4 border-0 p-0",children:[ae("legend",{className:"mb-2 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:"Which fitment?"}),ae("div",{className:"flex flex-wrap gap-2",children:r.map(w=>{let O=w.size===k.size;return Ge("button",{type:"button","aria-pressed":O,onClick:()=>p(w.size),className:["flex min-w-[calc(50%-4px)] flex-1 cursor-pointer flex-col items-start gap-0.5 border-[1.5px] px-3 py-2.5 text-left transition-colors",O?"border-accent bg-accent/15":"border-line hover:border-accent/60"].join(" "),children:[ae("span",{className:"font-mono text-[12px] font-bold tracking-[0.08em] text-fg",children:w.size}),ae("span",{className:"font-mono text-[10px] tracking-[0.08em] text-fg-dim",children:(()=>{let D=iu(w.components,f);return D.setTotal!=null?nu(D.setTotal,f):au})()})]},w.size)})})]}),Ge("div",{className:"mb-4",children:[ae("label",{htmlFor:i,className:"mb-2 block font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:"Email address"}),ae("input",{id:i,type:"email",value:x,onChange:w=>{g(w.target.value),(u.status==="invalid"||u.status==="error")&&u.reset()},placeholder:"you@example.com",disabled:C,className:"w-full border-2 border-line bg-bg px-3.5 py-3 font-display text-[15px] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent disabled:opacity-60"})]}),Ge("label",{className:"mb-5 flex cursor-pointer items-start gap-2.5 text-[12px] leading-[1.5] text-fg-dim",children:[ae("input",{type:"checkbox",checked:I,onChange:w=>h(w.target.checked),className:"mt-0.5 h-[18px] w-[18px] flex-none cursor-pointer accent-[var(--accent)]"}),ae("span",{children:"Also send me fitment tips and occasional offers for my vehicle."})]}),Ge("button",{type:"submit",disabled:C,className:"flex h-[50px] w-full cursor-pointer items-center justify-center gap-2 bg-btn px-4 font-mono text-[12px] font-bold uppercase tracking-[0.24em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:bg-btn",children:[Ge("svg",{width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":!0,children:[ae("path",{d:"m22 2-7 20-4-9-9-4Z"}),ae("path",{d:"M22 2 11 13"})]}),C?"Sending\u2026":"Notify me when available"]}),T&&ae("p",{role:"alert",className:"mt-2.5 text-[12px] leading-[1.5]",style:{color:"var(--alert)"},children:T}),Ge("div",{className:"mt-3 flex items-center justify-center gap-1.5 text-[11px] text-fg-dim",children:[Ge("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":!0,children:[ae("rect",{x:"3",y:"11",width:"18",height:"11",rx:"1"}),ae("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"We never share your details."]})]})]})})}import{Fragment as ak,jsx as Xt,jsxs as Ka}from"react/jsx-runtime";var Si=3;function nk({wheel:e,sel:t,price:o,editing:r,detailReady:n}){let{add:a,open:l,warmCatalog:s}=na();ok(()=>{r||s()},[r,s]);function i(){let c=t.selectedVariant;!c||!t.canAdd||o.priced&&(r||(a({id:`${e.slug}|${c.finishName}|${c.size}|quick`,slug:e.slug,name:gr(e.name),process:e.process,positionNo:"01",config:[{label:c.size},{label:c.finishName,gold:!0},{label:Aa(c)}],finishName:c.finishName,size:c.size,components:c.components,qty:1}),l()))}return Xt("button",{type:"button",onClick:i,[Qn]:"",disabled:!t.canAdd,className:t.canAdd?Ir:n?"cursor-not-allowed border border-dashed border-accent/50 px-4 py-2.5 font-mono text-[length:var(--size-label,11px)] font-bold uppercase tracking-[0.24em] text-accent/70":`${Ir} opacity-80`,children:n&&!t.canAdd?"Select a size":"Add to basket"})}function Jm({wheel:e,sel:t,price:o,editing:r,show:n,href:a}){let[l,s]=rk(!1),i=Bm(e),c=i.length>0?i:e.sizes.map(S=>`${S}\u2033`),f=t.detailState==="ready",u=t.unsellable,d=S=>["cursor-pointer transition-colors",un,S?"border-accent bg-accent text-bg":"border-accent/60 text-accent hover:border-accent hover:bg-accent/10"].join(" "),p=f&&!u?t.sizeOptions.length:c.length,x=Math.max(0,p-Si),g=n.sizes?Ka("div",{className:Ma,children:[Xt("div",{className:Ha,children:f&&!u?t.sizeOptions.slice(0,Si).map(S=>Xt("button",{type:"button",title:S.size,"aria-label":S.size,"aria-pressed":t.size===S.size,onClick:()=>t.setSize(S.size),className:d(t.size===S.size),children:um(S)},S.size)):u?Xt("span",{className:"truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-fg-dim",children:"Options on the product page"}):c.slice(0,Si).map(S=>Xt("span",{className:Wa,children:S},S))}),!u&&x>0&&Ka("span",{className:Ga,children:["+",x]})]}):null,I=n.buy&&!u?t.outOfStock?Xt("button",{type:"button",onClick:()=>s(!0),className:Ir,children:"Notify me when back"}):o.priced?Xt(nk,{wheel:e,sel:t,price:o,editing:r,detailReady:f}):null:null,h=n.page?Xt(Pe,{href:a,className:za,children:"Open product page"}):null,k=I||h?Ka("div",{className:Ua,children:[I,h]}):null;return{extras:g||k?Ka(ak,{children:[g,k]}):null,dialog:l?Xt(yi,{wheelName:e.name,productSlug:e.slug,finishName:t.confirmedFinishName,variants:t.outOfStockVariants,initialSize:t.selectedVariant?.size,onClose:()=>s(!1),editing:r}):null}}import{Fragment as Zm,jsx as ho,jsxs as Qm}from"react/jsx-runtime";function mn({wheel:e,variant:t="compact",defaultFinish:o}){let r=t==="catalog",n=lk(()=>e.finishes.filter(Yn),[e.finishes]),a=e.coverImage??null,{currency:l}=fo(),{imageBackgroundFill:s,spinOnHover:i,coverIndex:c,indexBadge:f,outline:u,showBadge:d,fieldUsage:p,reserveEyebrow:x,showCardPrice:g,showCardFinishes:I,showCardSizes:h,showCardBuy:k,showCardPage:S}=im(),C=r&&(h||k||S),T=oa(e.prices[l],e.msrpPrices?.[l]),b=ra(T,l,"from "),w=su(T,l),O=kp(e),D=vp(O),R=wp(O),_=Zp([...Kp(e).map(Ne=>({fieldKey:Ne.fieldKey,field:Ne.text})),...R?[{field:{text:R,accent:!0}}]:[]],p).map(Ne=>Ne.field),{selectedIdx:G,setSelectedIdx:Y,hoverIdx:M,setHoverIdx:v,availability:j,finish:F,shownSrc:E,showSwatches:se,probes:N}=Ea(n,a,o??e.defaultFinish??void 0),le=Jp(e,c,F?.name,E),xe="h-full w-full",ie=i?`transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] ${r?"group-hover:rotate-[72deg]":"group-hover:rotate-[60deg]"}`:"",[te,Ie]=sk(()=>new Set),de=Ne=>Ie(Ve=>Ve.has(Ne)?Ve:new Set(Ve).add(Ne)),z=jp({overrideSrc:le,hookSrc:E,failed:te}),Le=z?ho(no,{src:z,alt:F?`${e.name} \u2014 ${F.name}`:e.name,width:1e3,height:1e3,sizes:"(max-width: 640px) 90vw, (max-width: 1024px) 45vw, 300px",className:`block object-contain ${ie} ${xe}`,draggable:!1,onError:()=>de(z)},z):ho(ai,{imageLabel:e.name}),Re=r&&d&&e.badge?ho(Ii,{className:gi,tone:e.badge==="new"?"solid":"outline",children:e.badge==="new"?"New":"Bestseller"}):null,Oe=R&&r?ho(Ii,{className:gi,tone:"outline",children:R}):Re,ne=om({kindLabel:null,brand:null,process:e.process?et(e.process):null},p),K=D?Qm(Zm,{children:[ne,ho("span",{className:`${ne?"ml-2":""} inline-block bg-accent px-1.5 py-[2px] align-middle font-mono text-[10px] font-bold uppercase tracking-[0.18em] text-bg`,children:"Set"})]}):ne,H=f!=="off"?ho("span",{"aria-hidden":!0,className:`${va} ${Vp}`}):null,He=bm(e),Ze=cu(e,He.selectedVariant,l,1),It=Jm({wheel:e,sel:He,price:Ze,href:`/wheels/${e.slug}`,show:{sizes:C&&h,buy:C&&k,page:C&&S}}),oo=I&&se?ho(ri,{finishes:n,availability:j,selectedIdx:G,hoverIdx:M,activeFinish:F,onSelect:Y,onHover:v,showLabel:!1}):null;return Qm(Zm,{children:[ho(pn,{variant:t,wide:D&&r,href:`/wheels/${e.slug}`,outline:u,imageBackgroundFill:s,probes:N,reserveEyebrow:x,indexBadge:H,badges:Oe,image:Le,imageSecond:void 0,eyebrow:K,name:et(e.name),spec:$m(_),was:D?void 0:w,price:D?T.priced?b:lu:C?fu(Ze,l):b,metaLine:D?"the set":void 0,swatches:oo,reserveSwatches:I,showPrice:g,identityLink:C,extras:It.extras}),It.dialog]})}import{Fragment as Mx}from"react";import{applyMark as f2,markupTools as d2,MARKUP_TOOLS as u2,COPY_FIELD_TOOLS as p2,STOREFRONT_MARKUP as m2,tokenizeInline as x2,stripInline as g2,isSafeLinkHref as I2}from"efficient-easel/markup";import{applyMark as ik,markedAt as ck,markupTools as fk,MARKUP_TOOLS as dk,parseMarkup as uk,STOREFRONT_MARKUP as pk,tokenizeInline as l2}from"efficient-easel/markup";var $a=["highlight","strong","quiet"],Do={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},At={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},ex=Object.fromEntries($a.map(e=>[At[e].kind,e])),tx="data-sf-ws",t2=["accent","text","labels"],o2={accent:"Accent",text:"Text",labels:"Labels"},Pi={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"};var Ci={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},r2={highlight:{...Ci},strong:{...Ci},quiet:{...Ci}};var rx=$a.map(e=>({open:At[e].delimiter,close:At[e].delimiter,kind:At[e].kind})),nx=[{style:At.highlight.kind,label:Do.highlight,title:`${Do.highlight} word style`},{style:At.strong.kind,label:Do.strong,title:`${Do.strong} word style`},{style:At.quiet.kind,label:Do.quiet,title:`${Do.quiet} word style`}],mk=new Set(rx.map(e=>e.open)),ax=[...pk.filter(e=>!mk.has(e.open)),...rx];function ki(e){return uk(typeof e=="string"?e:"",ax)}var xk=["quiet"],ox=[...dk.map(e=>e.style).filter(e=>!xk.includes(e)),...nx.map(e=>e.style)].filter(e=>ax.some(t=>t.kind===e));function lx(){return[...fk(ox),...nx].filter(e=>ox.includes(e.style))}var sx=Object.fromEntries($a.map(e=>[At[e].kind,At[e].delimiter]));function ix(e,t,o,r){let n=sx[r];if(!n)return ik(e,t,o,r);let a=e.slice(t,o),l=e.slice(Math.max(0,t-n.length),t),s=e.slice(o,o+n.length);if(l===n&&s===n)return{text:e.slice(0,t-n.length)+a+e.slice(o+n.length),selectionStart:t-n.length,selectionEnd:t-n.length+a.length};let i=a||"styled text";return{text:e.slice(0,t)+n+i+n+e.slice(o),selectionStart:t+n.length,selectionEnd:t+n.length+i.length}}function cx(e,t,o,r){let n=sx[r];return n?t>=n.length&&e.slice(t-n.length,t)===n&&e.slice(o,o+n.length)===n:ck(e,t,o,r)}function jt(e){return ki(e).map(t=>(t.bullet?"- ":"")+fx(t.children)).join(`
|
|
3
|
+
`)}function fx(e){return e.map(t=>t.kind==="text"?t.text:fx(t.children)).join("")}import{createContext as Lx,useContext as Ni,useId as gw,useMemo as Iw}from"react";function wi(e,t){return t?`${e}[${t.index}].${t.rowKey}`:e}function vi(e){let t=/^([A-Za-z0-9_$]+)\[(\d+)\]\.([A-Za-z0-9_$]+)$/u.exec(e);return t?{key:t[1],row:{index:Number(t[2]),rowKey:t[3]}}:{key:e,row:null}}var _e="__text",xn="__link",gn="__scaffold";function Jt(e){return e&&typeof e=="object"?{text:e.text??"",hidden:!!e.hidden}:{text:typeof e=="string"?e:"",hidden:!1}}function hr(e){return Jt(e).text}var dx={text:"scalar",textarea:"scalar",plainText:"scalar",copyText:"scalar",plainTextarea:"scalar",textList:"list"},Mo=Object.entries(dx).filter(([,e])=>e==="scalar").map(([e])=>e);var ux={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},px={Events:["posts"],SubscribeBlogs:["posts"]};var gk=["anchor"],Ik=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function In(e){return gk.includes(e)||Ik.test(e)}var hk={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"}}};hk.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var k2=Object.fromEntries(Object.entries(ux).map(([e,t])=>[e,Object.keys(t)])),w2=Object.fromEntries(Object.entries(px).map(([e,t])=>[e,[...t]]));var bk=Mo,yk=["text","textarea"];function Sk(e){return!e||typeof e!="object"?null:e[_e]?.control??null}function mx(e){let t=Sk(e);return t&&bk.includes(t)?t:null}function Va(e){return Jt(e).text}function Ti(e,t,o){return yk.includes(e)?{text:o,hidden:Jt(t).hidden}:o}function E2(e,t,o,r){return Va(e[t])===r?null:{...e,[t]:Ti(o,e[t],r)}}function Ck(e){if(!(!e||typeof e!="object"))return e[_e]}function Pk(e){if(!e||typeof e!="object")return null;let t=e.arrayFields;return t&&typeof t=="object"?t:null}function xx(e,t){if(!Array.isArray(t))return[];let o=Ck(e),r=[];if(o?.control==="textList"){let a=o.itemKey??"text";return t.forEach((l,s)=>{let i=l?.[a];typeof i=="string"&&i&&r.push({row:{index:s,rowKey:a},text:i})}),r}let n=Pk(e);return n?(t.forEach((a,l)=>{for(let[s,i]of Object.entries(n)){if(!mx(i))continue;let c=Va(a?.[s]);c&&r.push({row:{index:l,rowKey:s},text:c})}}),r):[]}function kk(e,t){if(Array.isArray(e))return e[t.index]?.[t.rowKey]}function wk(e,t,o,r){let n=e[t];return!Array.isArray(n)||o.index<0||o.index>=n.length?null:{...e,[t]:n.map((a,l)=>l===o.index?{...a,[o.rowKey]:r}:a)}}function O2(e,t,o,r,n){let a=kk(e[t],o);return Va(a)===n?null:wk(e,t,o,Ti(r,a,n))}function N2(e,t){return t?`${e} \xB7 row ${t.index+1}`:e}var K2="data-sf-part",$2="data-sf-part-selected",V2="data-sf-part-kind",Ri="::",gx=2;function q2(e,t){return`${e}${Ri}${t??""}`}function Ya(e){let t=e.indexOf(Ri);return t<=0?null:{nodeId:e.slice(0,t),propKey:e.slice(t+Ri.length)||null}}function Y2(e,t){if(!e)return!1;let o=Ya(e);return!!o?.propKey&&o.nodeId===t}function br(e){return jt(e).replace(/\s+/gu,"")}function qa(e,t,o){let r=e[_e];if(r){if(r.control==="textList"){let a=r.itemKey??"text";if(!Array.isArray(t))return;for(let l of t){let s=l?.[a];typeof s=="string"&&o.push(s)}return}let{text:n}=Jt(t);n?o.push(n):r.placeholder&&o.push(r.placeholder);return}if(!e[xn]){if(e.type==="text"||e.type==="textarea"){typeof t=="string"&&t&&o.push(t);return}if(e.arrayFields&&Array.isArray(t)){for(let n of t)for(let[a,l]of Object.entries(e.arrayFields))qa(l,n?.[a],o);return}if(e.objectFields&&t&&typeof t=="object")for(let[n,a]of Object.entries(e.objectFields))qa(a,t[n],o)}}function X2(e){if(!e||typeof e!="object")return!1;let t=e;return t[xn]?!1:!!t[_e]||t.type==="text"||t.type==="textarea"}function Ix(e,t){let o=e[_e];return o?.label?o.label:typeof e.label=="string"?e.label:t}function vk(e){let t=e.indexOf(" (");return(t>0?e.slice(0,t):e).trim()}function j2(e,t){if(!e)return[];let o=[];for(let[r,n]of Object.entries(e)){if(!n||typeof n!="object"||In(r))continue;let a=n,l=[];qa(a,t?.[r],l),!l.length&&a[gn]!==void 0&&qa(a,a[gn],l);let s=Ix(a,r),i=new Set;for(let{row:u,text:d}of xx(a,t?.[r])){let p=br(d);p.length<gx||(i.add(p),o.push({key:r,label:s,texts:[p],row:u}))}let c=new Set(i),f=[];for(let u of l){let d=br(u);d.length<gx||c.has(d)||(c.add(d),f.push(d))}f.length&&o.push({key:r,label:s,texts:f})}return o}var Tk=Mo;function hx(e,t){if(!t||typeof t!="object"||In(e))return null;let o=t[_e];return!o||!Tk.includes(o.control)?null:o}function J2(e,t){let o=hx(e,t);return o!==null&&o.identifier!==!0}function Z2(e,t){if(!e)return[];let o=[];for(let[r,n]of Object.entries(e)){let a=hx(r,n);if(!a)continue;let{text:l,hidden:s}=Jt(t?.[r]),i=l||a.placeholder||"",c=jt(i).replace(/\s+/gu," ").trim();o.push({key:r,label:vk(Ix(n,r)),preview:c,offPage:a.offPage===!0,identifier:a.identifier===!0,hidden:!!s})}return o}var _i="_partStyles",Oi="data-sf-part-styled",Rk=["none","upper","lower"],Fk=[400,500,600,700],Ek=["left","center","right"],_k=9,Ak=144,Lk=-5,Ok=10,Nk=0,Bk=64,Dk=2,Mk=200,Xa=900,Hk=10,bx={size:{min:_k,max:Ak,step:1},padding:{min:Nk,max:Bk,step:Dk},width:{min:Mk,max:Xa,step:Hk}},Gk=.05,Wk=.01,Uk=["line","letter"],Ai={none:"none",upper:"uppercase",lower:"lowercase"};function hn(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Px(e){return hn(e?.[_i])??{}}function zk(e,t){let o=Px(e);return Object.hasOwn(o,t)?hn(o[t])??{}:{}}function kx(e,t,o){let r={...Px(e)};if(Kk(o).length?r[t]=o:delete r[t],!Object.keys(r).length){let{[_i]:n,...a}=e;return a}return{...e,[_i]:r}}function Kk(e){return Object.entries(e).filter(([,t])=>t!==void 0)}function $k(e){return Uk.includes(e)}var yx=(e,t,o)=>Math.min(o,Math.max(t,e));function Vk(e,t){if($k(e)){let o=Math.round(Number(t));return!Number.isFinite(o)||o===0?null:yx(o,Lk,Ok)}if(Object.hasOwn(bx,e)){let{min:o,max:r}=bx[e],n=Math.round(Number(t));return Number.isFinite(n)?yx(n,o,r):null}return e==="role"?Kt.includes(String(t))?t:null:t}var qk=[["font","role"]];function Yk(e){let t=[];for(let[o,r]of qk)o===e?t.push(r):r===e&&t.push(o);return t}function nH(e,t,o,r){let n={...zk(e,t)},a=r==null?null:Vk(o,r);if(a===null)delete n[o];else{n[o]=a;for(let l of Yk(o))delete n[l]}return kx(e,t,n)}function aH(e,t){return kx(e,t,{})}function Xk(e){for(let t of Rk)if(Ai[t]===e)return t;return"none"}function jk(e){return!e||!Object.hasOwn(Ai,e)?"":Ai[e]}var Jk={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 Zk(e){let t=e.role;return t&&Kt.includes(t)?t:null}var Qk={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 bo(e,t,o){let r=Zk(e),n=e.size?`${e.size}px`:r?o?.has(Qo[r])?`var(--size-${Qo[r]})`:Qk[Qo[r]]??"":"";return{fontFamily:e.font?nw(e.font):r?`var(${Jk[r]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:n,minWidth:n?"0":"",overflowWrap:n?"break-word":"",lineHeight:e.line?String(ja(t.lineRatio+e.line*Gk,3)):"",letterSpacing:e.letter?`${ja(t.letterEm+e.letter*Wk,4)}em`:"",textTransform:jk(e.case),textAlign:e.align??"",paddingTop:Fi(e.padding),paddingBottom:Fi(e.padding),maxWidth:Fi(e.width),color:ew(e.color)}}var ew=e=>e===void 0||e===""?"":Object.hasOwn(Pi,e)?Pi[e]:tw.test(e)?e:"",tw=/^#[0-9a-fA-F]{6}$/,Fi=e=>e===void 0?"":`${e}px`,ja=(e,t)=>Number(e.toFixed(t));function lH(e,t){let o=Number.parseFloat(e.fontSize)||16,r=Number.parseFloat(e.lineHeight),n=Number.parseFloat(e.letterSpacing),a=Number.parseFloat(e.paddingTop),l=Number.parseFloat(e.maxWidth);return{fontKey:t,sizePx:o,weight:ow(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(r)?ja(r/o,3):1.2,letterEm:Number.isFinite(n)?ja(n/o,4):0,align:rw(e.textAlign),case:Xk(e.textTransform),paddingPx:Number.isFinite(a)?Math.round(a):0,widthPx:Number.isFinite(l)&&l<Xa?Math.round(l):Xa}}function ow(e){return Number.isFinite(e)?Fk.reduce((t,o)=>Math.abs(o-e)<Math.abs(t-e)?o:t):400}function rw(e){for(let t of Ek)if(t===e)return t;return e==="end"?"right":"left"}function sH(e,t){let o=Sx(e);if(!o)return"";for(let r of is)if(Sx(t(r.cssVar))===o)return r.key;return""}var Sx=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function nw(e){let t=Nd(e);return t?`var(${t.cssVar})`:""}function iH(e,t,o,r){return!t||Ya(t)?.nodeId!==e?null:o.find(a=>r(a.getAttribute("class")))??o[0]??null}function aw(e){let t=new Set,o=e;if(typeof window>"u"||!o?.ownerDocument)return t;let r=window.getComputedStyle(o);for(let n of lw)r.getPropertyValue(`--size-${n}`).trim()&&t.add(n);return t}var lw=["headingLarge","headingMedium","headingSmall","accent","body","label"];function cH(e,t,o=()=>bn,r=a=>a,n=cw){let a=0;for(let{element:l,partId:s}of e){let i=Ya(s)?.propKey;if(!i)continue;let c=r(i),f=Object.hasOwn(t,c)?hn(t[c])??{}:{},u=!!f.line||!!f.letter,d=bo(f,u?o(l):bn,aw(l)),p=Ei.some(I=>l.style[I]),x=!1;for(let[I,h]of Object.entries(d))l.style[I]=h,h&&(x=!0);if(p||Ei.some(I=>d[I]))for(let I of sw(l,n))for(let h of Ei)I.style[h]=d[h]??"";x&&(a+=1)}return a}function sw(e,t){let o=br(e.textContent??""),r=[],n=e;for(let a=0;a<iw&&t(n);a+=1){let l=n.parentElement;if(!l||br(l.textContent??"")!==o)break;r.push(l),n=l}return r}var iw=8;function cw(e){let t=e;return typeof window>"u"||!t?.ownerDocument?!1:window.getComputedStyle(t).display==="inline"}var bn={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:Xa},fw=Object.keys(bo({},bn)),Li=new Set(["color","overflowWrap"]),Ei=fw.filter(e=>!Li.has(e));function wx(e,t,o,r=n=>n){let n=new Map;for(let s of e){let i=wi(s.key,s.row);for(let c of s.texts){let f=n.get(c);f?(f.keys.add(s.key),f.partKeys.add(i)):n.set(c,{keys:new Set([s.key]),partKeys:new Set([i])})}}let a=new Map;for(let s of Object.keys(t)){if(!dw(s))continue;let i=hn(t[s])??{},c=bo(i,bn);Object.values(c).some(Boolean)&&a.set(s,{stamp:Cx(o,s),declarations:c})}let l=new Map;for(let[s,{keys:i,partKeys:c}]of n){let f=c.size===1?[...c][0]:i.size===1?[...i][0]:null;if(!f)continue;let u=r(f);if(!Object.hasOwn(t,u))continue;let d=hn(t[u])??{},p=bo(d,bn);Object.values(p).some(Boolean)&&l.set(s,{stamp:Cx(o,f),declarations:p})}return l.size||a.size?{rules:l,kindRules:a,drawn:new Set(n.keys())}:null}function dw(e){return e.startsWith("@")}function vx(e,t){return e?.kindRules.get(t)??null}function Cx(e,t){let o=r=>r.replace(/[^A-Za-z0-9_-]+/g,"-");return`${o(e)}~${o(t)}`}function Tx(e){let t=[],o=new Set,r=n=>{let{stamp:a,declarations:l}=n;if(o.has(a))return;o.add(a);let s=Object.entries(l).filter(([,d])=>d!==""),i=d=>d.map(([p,x])=>`${uw(p)}: ${x}`).join("; "),c=`[${Oi}="${a}"]`,f=s.filter(([d])=>!Li.has(d)),u=s.filter(([d])=>Li.has(d));f.length&&t.push(`${c}, *:has(> ${c}) { ${i(f)} }`),u.length&&t.push(`${c} { ${i(u)} }`)};for(let n of e.rules.values())r(n);for(let n of e.kindRules.values())r(n);return t.join(`
|
|
4
|
+
`)}var uw=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`);function Rx(e,t){if(!e)return null;let o=br(t),r=e.rules.get(o);if(r)return r;if(o.length<pw||e.drawn.has(o))return null;let n=null;for(let[a,l]of e.rules)if(a.includes(o)){if(n&&n.stamp!==l.stamp)return null;n=l}return n}var pw=8;var yn="@name",Fx="@body",Ex="@value",uH={[yn]:"Name",[Fx]:"Body",[Ex]:"Value"},mw={TimelineTrack:{"entries.date":yn,"entries.title":yn,"entries.blurb":Fx},Footprint:{"offices.city":yn},Stats:{"items.label":yn,"items.value":Ex}};function xw(e){let{key:t,row:o}=vi(e);return o?`${t}.${o.rowKey}`:null}function _x(e,t){if(!e)return t;let o=xw(t);return o?mw[e]?.[o]??t:t}import{Fragment as Ax,jsx as Ja,jsxs as hw}from"react/jsx-runtime";var Bi=Lx(null),Ox=Lx(null);function hH({needles:e,styles:t,type:o,children:r}){let n=gw(),a=JSON.stringify([n,e,t,o]),l=Iw(()=>wx(e,t,n,s=>_x(o,s)),[a]);return l?hw(Ax,{children:[Ja("style",{"data-sf-part-styles":"",dangerouslySetInnerHTML:{__html:Tx(l)}}),Ja(Bi.Provider,{value:l,children:r})]}):Ja(Ax,{children:r})}function Nx(e){let t=Ni(Bi),o=Ni(Ox),r=Rx(t,e);return r&&r.stamp!==o?r:null}function bH(e){return vx(Ni(Bi),e)}function Bx({stamp:e,children:t}){return Ja(Ox.Provider,{value:e,children:t})}import{Fragment as bw,jsx as Di}from"react/jsx-runtime";function yr({value:e,children:t}){let o=Nx(e);return o?Di(Bx,{stamp:o.stamp,children:Di("span",{[Oi]:o.stamp,children:t})}):Di(bw,{children:t})}import{jsx as Se,jsxs as Pw}from"react/jsx-runtime";function re(e,t=!1){let o=t?"font-normal italic text-accent":"not-italic text-accent",r=ki(e);if(r.length===1){let[a]=r,l=a.bullet?Cw(a.children):a.children;return Se(yr,{value:e,children:Mi(l,o)})}let n=[];return r.forEach((a,l)=>{if(a.bullet){n.push(Se("span",{"data-sf-bullet":"",className:yw,children:Mi(a.children,o)},l));return}l>0&&!r[l-1].bullet&&n.push(Se("br",{},`br${l}`)),n.push(Se(Mx,{children:Mi(a.children,o)},l))}),Se(yr,{value:e,children:n})}var yw="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",Sw="text-accent underline underline-offset-[0.18em]";function Cw(e){let[t,...o]=e;return t?.kind==="text"?[{kind:"text",text:`- ${t.text}`},...o]:[{kind:"text",text:"- "},...e]}function Mi(e,t){let o=[],r=!1;return e.forEach((n,a)=>{if(n.kind==="text"){o.push(Se("span",{children:et(n.text)},a)),r=!0;return}r||o.push(Se("span",{},`e${a}`)),o.push(Hx(n,a,t)),r=!1}),r||o.push(Se("span",{},"end")),o}function Dx(e,t){return e.length===1&&e[0].kind==="text"?et(e[0].text):e.map((o,r)=>o.kind==="text"?Se(Mx,{children:et(o.text)},r):Hx(o,r,t))}function _H(e){return Se(yr,{value:e,children:Se("span",{children:e})})}function Hx(e,t,o){if(e.kind==="link")return Se("a",{href:e.href,className:Sw,children:Dx(e.children,o)},t);let r=Dx(e.children,o),n=ex[e.kind];if(n)return Se("span",{[tx]:n,children:r},t);switch(e.kind){case"accent":case"highlight":return Se("em",{className:o,children:r},t);case"bold":return Se("strong",{className:"font-semibold",children:r},t);case"italic":return Se("em",{className:"italic",children:r},t);case"strike":return Se("s",{className:"line-through",children:r},t);default:return Se("span",{children:r},t)}}function Lt(e,t=!0){let o=e.split(`
|
|
5
|
+
`);return Se(yr,{value:e,children:o.map((r,n)=>Pw("span",{children:[re(r,t),n<o.length-1?Se("br",{}):null]},n))})}function Za(e){return e.split(/\n\s*\n/).map(t=>t.trim()).filter(Boolean)}import{jsxs as Gx}from"react/jsx-runtime";function Hi({text:e,linkText:t,linkHref:o}){let r=(t??"").trim(),n=(o??"").trim(),a=!!r&&!!n;return!e&&!a?null:Gx("p",{className:"mt-5 font-mono text-[length:var(--size-label,13px)] tracking-[0.06em] text-fg-dim",children:[e?re(e):null,e&&a?" ":null,a&&Gx(Pe,{href:n,className:"text-accent transition-colors hover:text-fg",children:[re(r)," \u2192"]})]})}import{createContext as kw,useCallback as Wx,useContext as ww,useEffect as vw,useId as Tw,useMemo as Rw,useRef as Fw,useState as Ew}from"react";import{jsx as _w}from"react/jsx-runtime";var Ux=kw(null);function HH({reason:e,children:t}){let[o,r]=Ew([]),n=Fw(null),a=Wx(c=>{r(f=>f.includes(c)?f:[...f,c])},[]),l=Wx(c=>{r(f=>f.filter(u=>u!==c))},[]),s=e==="none-configured",i=Rw(()=>({noCurrencyConfigured:s,live:o,firstRendered:n,join:a,leave:l}),[s,o,a,l]);return _w(Ux.Provider,{value:i,children:t})}function zx(e){let t=ww(Ux),o=Tw(),r=!!e&&!!t?.noCurrencyConfigured;r&&t&&t.firstRendered.current===null&&(t.firstRendered.current=o);let n=t?.join,a=t?.leave;return vw(()=>{if(!(!r||!n||!a))return n(o),()=>a(o)},[r,n,a,o]),!r||!t?!1:(t.live.length>0?t.live[0]:t.firstRendered.current)===o}import{jsx as Lw}from"react/jsx-runtime";var Aw="This website has no currency yet. Add one in Settings and these cards will price. Only you can see this line.";function Gi({editing:e}){return zx(e)?Lw(Hi,{text:Aw}):null}import{createContext as Ow,useContext as Nw,useEffect as Bw,useState as Kx}from"react";import{jsx as Qa}from"react/jsx-runtime";var $x=Ow({wheels:[],loading:!1});function Vx({children:e}){let[t,o]=Kx([]),[r,n]=Kx(!0);return Bw(()=>{let a=!1;return Ao().then(l=>{a||(o(l),n(!1))}).catch(()=>{a||n(!1)}),()=>{a=!0}},[]),Qa($x.Provider,{value:{wheels:t,loading:r},children:e})}function Dw({code:e,finish:t,wheel:o}){let{wheels:r,loading:n}=Nw($x),a=o??(e?r.find(l=>l.slug===e):void 0);return a?Qa(mn,{wheel:a,variant:"catalog",defaultFinish:t},t??""):Qa("div",{className:"sf-card flex aspect-square w-full items-center justify-center bg-surface-2 p-4 text-center",children:Qa("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:n?"Loading\u2026":e||"Set a design code"})})}import{createContext as Gw,useCallback as tt,useContext as Ww,useEffect as Uw,useMemo as zw,useRef as jx,useState as Sr}from"react";var eG={default:"Sort \xB7 Featured",new:"Newest","price-asc":"Price \xB7 Low","price-desc":"Price \xB7 High",name:"Name A\u2013Z"},el={process:null,size:null,lugs:null,finish:null,priceMin:null,priceMax:null,sort:"default"};function Mw(e,t,o){return!(t.process&&e.process!==t.process||t.size&&!e.sizes.includes(t.size)||t.lugs!=null&&Xs(e)!==t.lugs||t.finish&&!e.finishes.some(r=>r.family===t.finish)||!ta(e.prices,o,t.priceMin,t.priceMax))}function Hw(e,t,o){return[...e].sort((r,n)=>{switch(t){case"price-asc":return ar(r.prices,n.prices,o,"asc");case"price-desc":return ar(r.prices,n.prices,o,"desc");case"name":return r.name.localeCompare(n.name);case"new":return(n.badge==="new"?1:0)-(r.badge==="new"?1:0);default:return 0}})}function qx(e,t,o,r=null){let n=zp(e,r);return Hw(n.filter(a=>Mw(a,t,o)),t.sort,o)}import{jsx as $w}from"react/jsx-runtime";var Jx={fit:null,name:"",resolving:!1,unresolved:!1};function Kw(e,t){return e.fit===t.fit&&e.name===t.name&&e.resolving===t.resolving&&e.unresolved===t.unresolved}var st=()=>{},Zx=Gw({filters:el,setProcess:st,setSize:st,setLugs:st,setFinish:st,setPriceMin:st,setPriceMax:st,setSort:st,clearAll:st,reportCount:st,total:0,reportLugs:st,lugOptions:[],reportSizes:st,sizeOptions:[],reportFinishes:st,finishOptions:[],optionsReported:!1,scrollProcess:null,vehicle:Jx,publishVehicle:st}),tl="data-catalog-collection",Yx=(e,t)=>e-t;function Xx(e,t){return e.length===t.length&&e.every((o,r)=>o===t[r])}function Wi(e){let t=jx(new Map),[o,r]=Sr([]),n=tt((a,l)=>{let s=t.current.get(a);if(s&&Xx(s,l))return;t.current.set(a,l);let i=new Set;for(let f of t.current.values())for(let u of f)i.add(u);let c=[...i].sort(e);r(f=>Xx(f,c)?f:c)},[e]);return[o,n]}function aG({children:e,initial:t}){let[o,r]=Sr(t??el),n=tt(F=>r(E=>({...E,process:F})),[]),a=tt(F=>r(E=>({...E,size:F})),[]),l=tt(F=>r(E=>({...E,lugs:F})),[]),s=tt(F=>r(E=>({...E,finish:F})),[]),i=tt(F=>r(E=>({...E,priceMin:F})),[]),c=tt(F=>r(E=>({...E,priceMax:F})),[]),f=tt(F=>r(E=>({...E,sort:F})),[]),u=tt(()=>r(F=>({...el,sort:F.sort})),[]),[d,p]=Sr(Jx),x=tt(F=>{p(E=>Kw(E,F)?E:F)},[]),g=jx(new Map),[I,h]=Sr(0),k=tt((F,E)=>{if(g.current.get(F)===E)return;g.current.set(F,E);let N=0;for(let le of g.current.values())N+=le;h(N)},[]),[S,C]=Wi(Yx),[T,b]=Wi(Yx),[w,O]=Wi(pu),[D,R]=Sr(!1),_=tt((F,E)=>{R(!0),C(F,E)},[C]),G=tt((F,E)=>{R(!0),b(F,E)},[b]),Y=tt((F,E)=>{R(!0),O(F,E)},[O]),[M,v]=Sr(null);Uw(()=>{let E=0,se=()=>{E=0;let le=null,xe=document.querySelectorAll(`[${tl}]`);for(let ie of xe){let te=ie.getBoundingClientRect();if(te.top<=140&&te.bottom>140){le=ie.getAttribute(tl)??null;break}}v(le)},N=()=>{E||(E=requestAnimationFrame(se))};return se(),window.addEventListener("scroll",N,{passive:!0}),window.addEventListener("resize",N),()=>{window.removeEventListener("scroll",N),window.removeEventListener("resize",N),E&&cancelAnimationFrame(E)}},[]);let j=zw(()=>({filters:o,setProcess:n,setSize:a,setLugs:l,setFinish:s,setPriceMin:i,setPriceMax:c,setSort:f,clearAll:u,reportCount:k,total:I,reportLugs:_,lugOptions:S,reportSizes:G,sizeOptions:T,reportFinishes:Y,finishOptions:w,optionsReported:D,scrollProcess:M,vehicle:d,publishVehicle:x}),[o,n,a,l,s,i,c,f,u,k,I,_,S,G,T,Y,w,D,M,d,x]);return $w(Zx.Provider,{value:j,children:e})}function Qx(){return Ww(Zx)}function Vw(e){if(!e.includes("_"))return e;let t=e.replace(/^_+/,""),o=e.slice(0,e.length-t.length),[r,...n]=t.split("_");return o+r+n.map(a=>a.slice(0,1).toUpperCase()+a.slice(1)).join("")}function Ui(e){if(Array.isArray(e))return e.map(Ui);if(e&&typeof e=="object"){let t={};for(let[o,r]of Object.entries(e))t[Vw(o)]=Ui(r);return t}return e}function qw(e){return Ui(e)}function ol(e){return e.map(t=>Ee(t)==="tyre"?t:qw(t))}import{useCallback as Fv,useEffect as Ev,useMemo as _v,useState as Sg}from"react";import{useState as Yw}from"react";import{jsx as zi}from"react/jsx-runtime";function Ki({brand:e,logo:t}){let[o,r]=Yw(!1),n=(e??"").trim();if(!n)return null;let a=o?void 0:zt(t??void 0);return zi("div",{className:"sf-card-plate absolute inset-x-0 bottom-0 flex h-1/4 items-center justify-center bg-[var(--card-bg)] px-4 transition-colors duration-200 group-hover:bg-[var(--card-bg-hover)]",children:a?zi("img",{src:a,alt:n,className:"max-h-[52%] max-w-[78%] object-contain",draggable:!1,onError:()=>r(!0)}):zi("span",{className:"truncate font-display text-[length:var(--size-body,18px)] font-medium uppercase leading-none tracking-[-0.01em] text-fg",children:n})})}import{useEffect as tv,useState as ov}from"react";import{createContext as Xw,lazy as jw,Suspense as Jw,useContext as Zw}from"react";import{jsx as rl}from"react/jsx-runtime";var Qw={Link:Pe,Image:no},ev=Xw(Qw);function eg(){return Zw(ev)}function nl(e){let{Link:t}=eg();return rl(t,{...e})}function al(e){let{Image:t}=eg();return rl(t,{...e})}function IG(e){let t=jw(e);return function(r){return rl(Jw,{fallback:null,children:rl(t,{...r})})}}import{jsx as $i,jsxs as rv}from"react/jsx-runtime";function Ho({fallback:e,className:t,src:o,alt:r="",objectPosition:n,objectFit:a="cover",sizes:l="100vw",priority:s=!1,deferFetch:i=!1,showBackground:c=!0,treatment:f}){let[u,d]=ov(!1),p=o||"";tv(()=>{d(!1)},[p]);let x=qn(p),g=!p||u;return rv("div",{className:`relative h-full w-full overflow-hidden ${t??""}`,children:[$i("div",{className:"absolute inset-0 flex items-center justify-center",style:c?{background:"var(--surface)"}:void 0,children:g?e:null}),p&&(x?$i("img",{src:p,alt:r,decoding:"async",...i?{loading:"lazy"}:{},className:`absolute inset-0 h-full w-full${f?.className?` ${f.className}`:""}`,style:{display:u?"none":"block",objectFit:a,...n?{objectPosition:n}:{},...f?.style??{}},onError:()=>d(!0)}):$i(al,{src:p,alt:r,fill:!0,sizes:l,priority:s,...f?.className?{className:f.className}:{},style:{display:u?"none":"block",objectFit:a,...n?{objectPosition:n}:{},...f?.style??{}},onError:()=>d(!0)}))]})}import{useId as dv}from"react";var nv=25.4,Sn=400,sl=152,av=58,tg=sl*Math.cos(av*Math.PI/180),lv=14,sv=Sn/2,iv={sectionWidth:225,aspectRatio:60,rimDiameter:17};function rg(e){let t=qt(e);return t?{sectionWidth:t.width,aspectRatio:t.profile,rimDiameter:t.rim}:iv}function ng(e){let t=e.rimDiameter*nv/2,o=t+e.sectionWidth*e.aspectRatio/100,r=sl*(e.sectionWidth/o),n=t/o;return{cy:sv,rx:tg,ry:sl,cxf:Sn/2-r/2-lv,dx:r,rimRx:tg*n,rimRy:sl*n}}var X=e=>e.toFixed(1);function il(e,t,o,r=!1){let n=e.cxf+t*e.dx,[a,l]=r?[e.cy+e.ry,e.cy-e.ry]:[e.cy-e.ry,e.cy+e.ry];return`M${X(n)} ${X(a)} A${X(e.rx)} ${X(e.ry)} 0 0 ${o} ${X(n)} ${X(l)}`}function Vi(e,t,o){let r=e.cxf+t*e.dx,n=e.cxf+o*e.dx,a=e.cy-e.ry,l=e.cy+e.ry;return`M${X(r)} ${X(a)} L${X(n)} ${X(a)} A${X(e.rx)} ${X(e.ry)} 0 0 1 ${X(n)} ${X(l)} L${X(r)} ${X(l)} A${X(e.rx)} ${X(e.ry)} 0 0 0 ${X(r)} ${X(a)} Z`}function ll(e,t,o){let r=o*Math.PI;return[e.cxf+t*e.dx+e.rx*Math.sin(r),e.cy-e.ry*Math.cos(r)]}function ag(e,t,o,r,n){let[a,l]=ll(e,t,r),[s,i]=ll(e,t,n),[c,f]=ll(e,o,n),[u,d]=ll(e,o,r);return`M${X(a)} ${X(l)} A${X(e.rx)} ${X(e.ry)} 0 0 1 ${X(s)} ${X(i)} L${X(c)} ${X(f)} A${X(e.rx)} ${X(e.ry)} 0 0 0 ${X(u)} ${X(d)} L${X(a)} ${X(l)} Z`}var og=[{f:[0,.215]},{f:[.245,.485]},{f:[.515,.755]},{f:[.785,1]}],cv={COM:[{f:[0,.115]},{f:[.145,.26]},{f:[.29,.405]},{f:[.435,.55]},{f:[.58,.695]},{f:[.725,.84]},{f:[.87,1]}],P:[{f:[0,.17],blocks:{count:9,gap:.34}},{f:[.2,.38]},{f:[.42,.58]},{f:[.62,.8]},{f:[.83,1],blocks:{count:9,gap:.34,phase:.5}}],HP:[{f:[0,.3]},{f:[.34,.52]},{f:[.56,.7]},{f:[.74,1],blocks:{count:16,gap:.18}}],UHP:[{f:[0,.34]},{f:[.4,.56]},{f:[.62,1]}],SUV:[{f:[0,.16],blocks:{count:7,gap:.4}},{f:[.2,.36],blocks:{count:11,gap:.26,phase:.5}},{f:[.4,.6]},{f:[.64,.8],blocks:{count:11,gap:.26,phase:.5}},{f:[.84,1],blocks:{count:7,gap:.4}}],LT:[{f:[0,.22],blocks:{count:11,gap:.26}},{f:[.26,.48],blocks:{count:11,gap:.26,phase:.5}},{f:[.52,.74],blocks:{count:11,gap:.26}},{f:[.78,1],blocks:{count:11,gap:.26,phase:.5}}],AT:[{f:[0,.23],blocks:{count:6,gap:.46}},{f:[.29,.5],blocks:{count:6,gap:.46,phase:.5}},{f:[.56,.77],blocks:{count:6,gap:.46}},{f:[.83,1],blocks:{count:6,gap:.46,phase:.5}}],MT:[{f:[0,.29],blocks:{count:4,gap:.58}},{f:[.36,.64],blocks:{count:4,gap:.58,phase:.5}},{f:[.71,1],blocks:{count:4,gap:.58}}]},fv=[["ultra high performance","UHP"],["uhp","UHP"],["high performance","HP"],["hp","HP"],["performance","HP"],["sport","HP"],["mud terrain","MT"],["mud","MT"],["mt","MT"],["all terrain","AT"],["at","AT"],["light truck","LT"],["lt","LT"],["commercial","COM"],["com","COM"],["van","COM"],["cargo","COM"],["suv","SUV"],["4x4","SUV"],["crossover","SUV"],["cuv","SUV"],["passenger","P"],["touring","P"],["highway","P"],["p","P"]];function lg(e){let t=` ${(e??"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim()} `;if(t.trim()==="")return og;for(let[o,r]of fv)if(t.includes(` ${o} `))return cv[r];return og}var vG="Illustrations are drawn to each tyre's listed size and represent its category; supplier photography replaces them where available.";import{Fragment as Cn,jsx as V,jsxs as Ot}from"react/jsx-runtime";var it={rib:.2,grooveWall:.16,shoulder:.22,silhouette:.26,relief:[.26,.15,.11],lettering:.1,dishFill:.06,dishEdge:.3,spoke:.3,hubFill:.16,hubEdge:.34},uv=[.8,.52,.24],sg=.4,ig=.88,cg=.3,fg=5,dg=.3,ug=.84,pv=7,Q=e=>Math.round(e*10)/10;function qi({size:e,type:t,className:o}){let r=dv().replace(/[^a-zA-Z0-9]/g,""),n={tread:`${r}-tread`,wall:`${r}-wall`,rim:`${r}-rim`,shadow:`${r}-shadow`,crown:`${r}-crown`},a=ng(rg(e)),l=Vi(a,0,1),s=e?`${e} tyre illustration`:"Tyre illustration";return Ot("svg",{"data-tyre-placeholder":"",viewBox:`0 0 ${Sn} ${Sn}`,role:"img","aria-label":s,fill:"none",className:o??"block h-full w-full",children:[V("title",{children:s}),Ot("defs",{children:[V(xv,{id:n}),V("clipPath",{id:n.crown,children:V("path",{d:l})})]}),V("ellipse",{cx:Q(a.cxf+a.dx/2),cy:Q(a.cy+a.ry-4),rx:Q(a.dx*1.5),ry:16,fill:`url(#${n.shadow})`}),V(gv,{g:a,id:n}),V(Iv,{g:a,id:n}),V("path",{d:l,fill:`url(#${n.tread})`}),V("g",{clipPath:`url(#${n.crown})`,children:lg(t).map(i=>V(mv,{g:a,column:i},i.f[0]))}),V("path",{d:il(a,0,0,!0),stroke:"currentColor",strokeOpacity:it.shoulder,strokeWidth:1.2}),V("path",{d:il(a,1,1),stroke:"currentColor",strokeOpacity:it.silhouette,strokeWidth:1.4})]})}function mv({g:e,column:t}){let[o,r]=t.f;if(!t.blocks)return Ot(Cn,{children:[V("path",{d:Vi(e,o,r),fill:"currentColor",fillOpacity:it.rib}),V("path",{d:il(e,o,1),stroke:"currentColor",strokeOpacity:it.grooveWall,strokeWidth:1})]});let{count:n,gap:a,phase:l=0}=t.blocks,s=1/n,i=[];for(let c=-1;c<=n;c+=1){let f=Math.max((c+l+a/2)*s,0),u=Math.min((c+l+1-a/2)*s,1);u-f>s*.15&&i.push([f,u])}return V(Cn,{children:i.map(([c,f])=>V("path",{d:ag(e,o,r,c,f),fill:"currentColor",fillOpacity:it.rib,stroke:"currentColor",strokeOpacity:it.grooveWall,strokeWidth:1},c))})}function xv({id:e}){return Ot(Cn,{children:[Ot("linearGradient",{id:e.tread,x1:"0",y1:"0",x2:"1",y2:"0",children:[V("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.07}),V("stop",{offset:"0.14",stopColor:"currentColor",stopOpacity:.24}),V("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.18}),V("stop",{offset:"0.84",stopColor:"currentColor",stopOpacity:.1}),V("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.05})]}),Ot("linearGradient",{id:e.wall,x1:"0.15",y1:"0",x2:"0.9",y2:"1",children:[V("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.28}),V("stop",{offset:"0.45",stopColor:"currentColor",stopOpacity:.17}),V("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.08})]}),Ot("linearGradient",{id:e.rim,x1:"0.1",y1:"0",x2:"0.9",y2:"1",children:[V("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.46}),V("stop",{offset:"0.5",stopColor:"currentColor",stopOpacity:.26}),V("stop",{offset:"1",stopColor:"currentColor",stopOpacity:.12})]}),Ot("radialGradient",{id:e.shadow,children:[V("stop",{offset:"0",stopColor:"currentColor",stopOpacity:.22}),V("stop",{offset:"1",stopColor:"currentColor",stopOpacity:0})]})]})}function gv({g:e,id:t}){let o=e.rimRy/e.ry,r=a=>o+(1-o)*a,n=Math.max(6,(e.ry-e.rimRy)*.3);return Ot(Cn,{children:[V("ellipse",{cx:Q(e.cxf),cy:Q(e.cy),rx:Q(e.rx),ry:Q(e.ry),fill:`url(#${t.wall})`}),uv.map((a,l)=>{let s=r(a);return V("ellipse",{cx:Q(e.cxf),cy:Q(e.cy),rx:Q(e.rx*s),ry:Q(e.ry*s),stroke:"currentColor",strokeOpacity:it.relief[l],strokeWidth:1},a)}),V("ellipse",{cx:Q(e.cxf),cy:Q(e.cy),rx:Q(e.rx*r(sg)),ry:Q(e.ry*r(sg)),stroke:"currentColor",strokeOpacity:it.lettering,strokeWidth:Q(n)})]})}function Iv({g:e,id:t}){let o=Array.from({length:fg},(r,n)=>{let a=(n*(360/fg)-90)*Math.PI/180;return{x1:e.cxf+e.rimRx*dg*Math.cos(a),y1:e.cy+e.rimRy*dg*Math.sin(a),x2:e.cxf+e.rimRx*ug*Math.cos(a),y2:e.cy+e.rimRy*ug*Math.sin(a)}});return Ot(Cn,{children:[V("ellipse",{cx:Q(e.cxf),cy:Q(e.cy),rx:Q(e.rimRx),ry:Q(e.rimRy),fill:`url(#${t.rim})`}),V("ellipse",{cx:Q(e.cxf),cy:Q(e.cy),rx:Q(e.rimRx*ig),ry:Q(e.rimRy*ig),fill:"currentColor",fillOpacity:it.dishFill,stroke:"currentColor",strokeOpacity:it.dishEdge,strokeWidth:1}),o.map((r,n)=>V("line",{x1:Q(r.x1),y1:Q(r.y1),x2:Q(r.x2),y2:Q(r.y2),stroke:"currentColor",strokeOpacity:it.spoke,strokeWidth:pv,strokeLinecap:"round"},n)),V("ellipse",{cx:Q(e.cxf),cy:Q(e.cy),rx:Q(e.rimRx*cg),ry:Q(e.rimRy*cg),fill:"currentColor",fillOpacity:it.hubFill,stroke:"currentColor",strokeOpacity:it.hubEdge,strokeWidth:1})]})}import{jsx as Yi}from"react/jsx-runtime";function Xi({image:e,size:t,type:o,sizes:r,priority:n=!1,className:a="aspect-square",showBackground:l=!0}){return Yi("div",{className:`text-fg ${a}`,style:{padding:"var(--sf-tyre-image-inset, 0)"},children:Yi(Ho,{label:t||"Tyre",src:zt(e??void 0),alt:t?`${t} tyre`:"Tyre",objectFit:"contain",sizes:r,priority:n,showBackground:l,fallback:Yi(qi,{size:t,type:o,className:"block h-full w-full p-3"})})})}import{useEffect as hv,useState as pg}from"react";var ji=new Map;function bv(e){let t=ji.get(e);if(t)return t;let o=Tt.getTyre(e).catch(r=>{throw ji.delete(e),r});return ji.set(e,o),o}function mg(e,t){let[o,r]=pg("idle"),[n,a]=pg(null);return hv(()=>{if(!t||!e)return;let l=!1;return r("loading"),bv(e).then(s=>{l||(a(s),r("ready"))}).catch(()=>{l||r("error")}),()=>{l=!0}},[e,t]),{state:o,tyre:n}}function UG(e){if(!e||e.year===null)return null;let{make:t,model:o,year:r,modification:n}=e;return!t||!o||!n?null:{make:t,model:o,year:r,modification:n}}function yv(e,t){let o=new URLSearchParams({make:t.make,model:t.model,year:String(t.year),modification:t.modification});return`/api/v1/tyres/${encodeURIComponent(e)}/fitment?${o.toString()}`}function cl(e,t=""){return{vehicle:{...e,region:t},status:"unknown",oemSizes:[],variants:[]}}function Sv(e,t){if(typeof t!="object"||t===null)return cl(e);let o=t,r=typeof o.vehicle=="object"&&o.vehicle!==null?o.vehicle:{},n=typeof r.region=="string"?r.region:"",a=o.status;if(a!=="fits"&&a!=="doesNotFit")return cl(e,n);let l=Array.isArray(o.variants)?o.variants.filter(s=>typeof s=="object"&&s!==null&&typeof s.sku=="string"&&typeof s.fits=="boolean"):[];return l.length===0?cl(e,n):{vehicle:{make:typeof r.make=="string"?r.make:e.make,model:typeof r.model=="string"?r.model:e.model,year:typeof r.year=="number"?r.year:e.year,modification:typeof r.modification=="string"?r.modification:e.modification,region:n},status:a,oemSizes:Array.isArray(o.oemSizes)?o.oemSizes.filter(s=>typeof s=="string"):[],variants:l.map(s=>({sku:s.sku,size:typeof s.size=="string"?s.size:"",fits:s.fits}))}}async function zG(e,t){try{let o=await Md(yv(e,t),{baseUrl:Hd});return Sv(t,o)}catch{return cl(t)}}function KG(e){if(!e)return[];let t=[];for(let o of[...e.frontTyres,...e.rearTyres]){let r=qt(o);if(!r)continue;let n=$t(r);t.includes(n)||t.push(n)}return t}function $G(e,t){if(t.length===0)return null;for(let o of e){let r=qt(o);if(!r)continue;let n=$t(r);if(t.includes(n))return n}return null}function Cv(e,t){if(!e||e.status==="unknown")return"unknown";let o=e.variants.find(r=>r.sku===t);return o?o.fits?"fits":"doesNotFit":"unknown"}var Pv="/tyres";function fl(e){return e?`${Pv}/${e}`:null}function Ji(e,t){return tu({partNumber:e.sku,prices:e.prices},t)}var kv="Tyre";function dl(e,t,o,r){return{id:`${e.slug}|${t.sku}|${o.unit}|${o.spares>0?"spare":"no-spare"}`,slug:e.slug,name:gr(e.name),process:e.brand||kv,positionNo:"01",config:[{label:t.size},{label:Zn(o)}],finishName:"",size:t.size,components:Ji(t,o),qty:r,href:fl(e.slug)??void 0,kind:"tyre",sku:t.sku,pack:o}}function ZG(e){return e.kind==="tyre"}function xg(e,t){let o=e.prices?.[t];return typeof o!="number"||!Number.isFinite(o)||o<=0?!1:e.inStock}var gg="handed",Ig="plain";function l4(e){let t=e.variants??[],o=e.finishes.map(d=>({value:d.name,label:d.name,swatch:d.color}));function r(d){let p=[];for(let x of t){let g=d(x);!g||p.some(I=>I.value===g.value)||p.push(g)}return p}let n=r(d=>({value:si(d),label:pm(d),note:mm(d)})),a=r(d=>d.boltPattern?{value:d.boltPattern,label:d.boltPattern}:null),l=r(d=>{let p=_a(d);return p===null?null:{value:p,label:`ET ${p}`}}),s=r(d=>d.centreBore==null?null:{value:Be(d.centreBore),label:`${Be(d.centreBore)} mm`}),i=r(d=>({value:ir(d)?gg:Ig,label:ir(d)?Sp:Cp})),c=t.map(d=>({id:`${d.finishName}|${d.size}`,options:{finish:d.finishName,size:si(d),variantSize:d.size,...d.boltPattern?{boltPattern:d.boltPattern}:{},..._a(d)!==null?{et:_a(d)}:{},...d.centreBore==null?{}:{centreBore:Be(d.centreBore)},pairing:ir(d)?gg:Ig},inStock:!cn(d),image:null,components:d.components})),u=((e.defaultFinish?o.find(d=>d.value===e.defaultFinish):void 0)??o[0])?.value;return{kind:"alloy-wheel",source:e,slug:e.slug,name:e.name,eyebrow:e.process,badge:e.badge==="new"?"New 2026":e.badge?"Bestseller":"",href:`/wheels/${e.slug}`,crumbs:[{label:"Home",href:"/"},{label:"Wheels",href:"/wheels"},{label:e.process,href:"/wheels"},{label:e.name}],cover:e.coverImage??null,inStock:e.inStock===!0,mediaGroups:e.mediaGroups,optionFields:[{key:"finish",label:"Finish",prompt:"Select a finish",role:"resolves",display:"swatch",defaultValue:u},{key:"size",label:"Size",prompt:"Select a size",role:"resolves",display:"pill",empty:{text:"This wheel isn't available to order online in this finish.",linkText:"Contact us about it \u2192",href:"/contact"}},{key:"boltPattern",label:"Bolt pattern",prompt:"Select a bolt pattern",role:"describes",display:"pill"},{key:"et",label:"Offset",prompt:"Select an offset",role:"describes",display:"pill"},{key:"centreBore",label:"Centre bore",prompt:"Select a centre bore",role:"describes",display:"pill"},{key:"pairing",label:"Wheels",prompt:"Select a pairing",role:"describes",display:"pill"}],optionValues:{finish:o,size:n,boltPattern:a,et:l,centreBore:s,pairing:i},parts:c,anchorPrices:e.prices,anchorMsrpPrices:e.msrpPrices??{}}}function s4(e,t){if(e.kind!=="alloy-wheel"||t===null)return e;let o=new Set(Up(e.source.variants??[],t));if(o.size===0)return e;let r=e.parts.filter(s=>{let i=ul(e.source,s);return i!==null&&o.has(i)});if(r.length===0||r.length===e.parts.length)return e;let n=(s,i)=>new Set(s.map(c=>c.options[i]).filter(c=>c!==void 0)),a={},l=[];for(let s of e.optionFields){let i=n(e.parts,s.key),c=n(r,s.key),f=(e.optionValues[s.key]??[]).filter(d=>c.has(d.value)||!i.has(d.value));a[s.key]=f;let u=s.defaultValue!==void 0&&!f.some(d=>d.value===s.defaultValue)?f[0]?.value:s.defaultValue;l.push(u===s.defaultValue?s:{...s,defaultValue:u})}return{...e,optionFields:l,optionValues:a,parts:r}}function ul(e,t){return t?La(e.variants??[],t.options.finish,t.options.variantSize)??null:null}function i4(e,t){return e.finishes.find(o=>o.name===t)??e.finishes[0]??uu}function x4(e){return e.kind==="tyre"?"advisory":"required"}var Zi={choice:eu,qty:1};function wv(e,t){if(e.kind!=="alloy-wheel")return`Set of ${4}`;let o=ul(e.source,t);return o?Aa(o):`Set of ${4}`}var hg=(e,t)=>e===1?t:`${e} \xD7 ${t}`;function bg(e){return e.unit==="set"?{label:`Add a spare \u2014 ${nr+1} instead of ${nr}`}:null}var Pn={howMany:"How many wheels",oneSet:"One set",oneSetPlusSpare:"One set + 1 spare",whichSide:"Which side is the spare?",left:"Left",right:"Right"};function vv(e,t){return t.unit!=="set"||ou(e)===null?null:{counts:[{value:nr,label:Pn.oneSet},{value:nr+Qd,label:Pn.oneSetPlusSpare}],side:t.spares>0?{label:Pn.whichSide,options:[{value:"left",label:Pn.left},{value:"right",label:Pn.right}]}:null}}function Tv(e,t,o){if(e.kind==="tyre")return{packs:[{value:"set",label:`A set of ${nr}`},{value:"single",label:"Just one"}],extra:bg(o.choice),spareCounts:[],spareSide:null,components:t?Ji({sku:t.id,prices:t.components[0].prices},o.choice):[],quantityLabel:hg(o.qty,Zn(o.choice))};let r=t?vv(t.components,o.choice):null;return{packs:[],extra:r?null:bg(o.choice),spareCounts:r?.counts??[],spareSide:r?.side??null,components:t?xs(t.components,o.choice):[],quantityLabel:hg(o.qty,ru(wv(e,t),o.choice))}}function g4(e,t,o,r,n){if(!t)return null;if(e.kind==="tyre"){let f=(e.source.variants??[]).find(u=>u.sku===t.id);return f?dl(e.source,f,r.choice,r.qty):null}let a=e.source,l=ul(a,t);if(!l)return null;let s=t.options.finish??"",i=l.size,c=r.choice.spares>0;return{id:`${a.slug}|${s}|${i}|${n.fitmentKey}${c?"|spare":""}`,slug:a.slug,name:gr(a.name),process:a.process,positionNo:"01",config:[{label:i},{label:s,gold:!0},{label:n.fitmentLabel},{label:Tv(e,t,r).quantityLabel}],finishName:s,size:i,components:xs(t.components,r.choice),qty:r.qty,...c?{pack:r.choice}:{}}}function yg(e,t){let o=t.trim(),r=e.trim();return!r||!Rv(o,r)?o:o.slice(r.length).replace(/^[^\p{L}\p{N}]+/u,"")||o}function Rv(e,t){if(e.length<t.length||e.slice(0,t.length).toLowerCase()!==t.toLowerCase())return!1;let o=e[t.length];return o===void 0||!/[\p{L}\p{N}]/u.test(o)}import{Fragment as Nv,jsx as yo,jsxs as kn}from"react/jsx-runtime";var Av="from ",Lv=2,Ov=[];function Qi({brand:e,brandLogo:t,brandPlate:o=!0,kindLabel:r=null,showBrand:n=!0,name:a,slug:l,sizes:s,fitSize:i=null,rimDiameters:c,prices:f,image:u,currency:d,editing:p=!1,fieldUsage:x=Ov}){let g=dr(x),{add:I,open:h,warmCatalog:k}=na();Ev(()=>{p||k("tyre")},[p,k]);let{currency:S}=fo(),C=oa(ea(f,d),null),T=ra(C,d,Av),b=[s.length>0?`${s.length} ${s.length===1?"size":"sizes"}`:null,g("rim_diameter")?Pa(c):null].filter(Boolean).join(" \xB7 "),w=fl(l),[O,D]=Sg(!1),R=Fv(()=>{l&&D(!0)},[l]),{state:_,tyre:G}=mg(l??null,O),Y=_v(()=>G?.variants??[],[G]),[M,v]=Sg(null),j=Y.length===1?Y[0].size:null,F=M??j,E=Y.find(z=>z.size===F),se=E!=null&&xg(E,S),N=_==="ready",le=!w||_==="error"||N&&Y.length===0;function xe(){!G||!E||!se||p||(I(dl(G,E,Zi.choice,Zi.qty)),h())}let ie=N&&Y.length>0?Y.map(z=>z.size):s,te=ie.slice(0,Lv),Ie=ie.length-te.length,de=z=>["cursor-pointer transition-colors",un,z?"border-accent bg-accent text-bg":"border-accent/60 text-accent hover:border-accent hover:bg-accent/10"].join(" ");return yo(pn,{href:w,identityLink:!0,containerProps:{onPointerEnter:R,onTouchStart:R,onFocusCapture:R},image:yo(Xi,{image:u,className:"h-full w-full",sizes:"(max-width: 640px) 90vw, (max-width: 1024px) 45vw, 280px",showBackground:!1}),plate:o?yo(Ki,{brand:e,logo:t}):null,eyebrow:ei(r,n&&g("brand")&&e||null),name:yg(e??"",a),spec:b,price:T,metaLine:C.priced?"each":null,extras:kn(Nv,{children:[i&&kn("p",{className:"font-mono text-[length:var(--size-label,11px)] font-medium uppercase tracking-[0.14em] text-green",children:["Fits \xB7 ",i]}),kn("div",{className:Ma,children:[yo("div",{className:Ha,children:te.map(z=>N&&Y.length>0?yo("button",{type:"button",title:z,"aria-label":z,"aria-pressed":F===z,onClick:()=>v(z),className:de(F===z),children:z},z):yo("span",{className:Wa,children:z},z))}),Ie>0&&kn("span",{className:Ga,children:["+",Ie]})]}),kn("div",{className:Ua,children:[!le&&C.priced&&yo("button",{type:"button",onClick:xe,[Qn]:"",disabled:N&&!se,className:se||!N?`${Ir}${se?"":" opacity-80"}`:"cursor-not-allowed border border-dashed border-accent/50 px-4 py-2.5 font-mono text-[length:var(--size-label,11px)] font-bold uppercase tracking-[0.24em] text-accent/70",children:N&&!se?"Select a size":"Add to basket"}),w&&yo(Pe,{href:w,className:za,children:"Open product page"})]})]})})}import{jsx as Bv}from"react/jsx-runtime";function ec({item:e,currency:t,kindLabel:o=null,showBrand:r=!0,fitSize:n=null,editing:a=!1,fieldUsage:l}){return Bv(Qi,{brand:e.brand,brandLogo:e.brandLogo,kindLabel:o,showBrand:r,name:e.name,slug:e.slug,sizes:e.sizes,fitSize:n,rimDiameters:e.rimDiameters,prices:e.prices,image:e.coverImage,currency:t,editing:a,fieldUsage:l})}import{Fragment as Gv,jsx as We,jsxs as Go}from"react/jsx-runtime";var Pg={1:"grid-cols-1",2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[800px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1",5:"grid-cols-5 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1",6:"grid-cols-6 max-[1100px]:grid-cols-3 max-[800px]:grid-cols-1"},kg=[{value:"para",label:"Paragraph size \u2014 13px",cls:"font-mono font-normal uppercase tracking-[0.22em] text-[length:var(--size-label,13px)]"},{value:"sm",label:"Small \u2014 40px",cls:"font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,40px)] max-[800px]:text-[length:var(--size-headingMedium,28px)]"},{value:"md",label:"Medium \u2014 48px",cls:"font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,48px)] max-[800px]:text-[length:var(--size-headingMedium,32px)]"},{value:"lg",label:"Large \u2014 56px",cls:"font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,56px)] max-[800px]:text-[length:var(--size-headingMedium,36px)]"},{value:"xl",label:"Extra large \u2014 64px",cls:"font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,64px)] max-[800px]:text-[length:var(--size-headingMedium,40px)]"}],tc="lg";function Mv(e){return(kg.find(t=>t.value===e)??kg.find(t=>t.value===tc)).cls}function Hv({num:e,catalog:t,kinds:o,title:r,titleSize:n,padTop:a,description:l,link:s,products:i,source:c,columns:f,limit:u,editing:d,capWidth:p,imageBackground:x,spinOnHover:g,coverIndex:I,indexBadge:h,outline:k,showBadge:S,fieldUsage:C,showCardPrice:T,showCardFinishes:b,showCardSizes:w,showCardBuy:O,showCardPage:D,cardImage:R,gap:_}){let G=Cr(()=>C?fr(C,"alloy-wheel"):void 0,[C]),Y=Cr(()=>C?fr(C,"tyre"):void 0,[C]),M=`pg-${Dv().replace(/:/g,"")}`,v=Pg[Math.min(6,Math.max(1,f??4))]??Pg[4],j=typeof u=="number"&&u>0,F=typeof p=="number",E=Cr(()=>{let Fe=t??c?.wheels??null;return Fe?ol(Fe):null},[t,c]),se=c?.process,N=!!se,{filters:le,reportCount:xe,reportLugs:ie,reportSizes:te,reportFinishes:Ie,vehicle:de}=Qx(),{currency:z}=fo(),Le=N&&!!le.process&&le.process!==se,Re=Cr(()=>E?N?qx(E,le,z,de.fit):E:null,[E,N,le,z,de.fit]);Cg(()=>{if(N)return xe(M,Le?0:Re?.length??0),()=>xe(M,0)},[N,Le,Re,xe,M]);let Oe=Cr(()=>{let Fe=(Re??[]).filter(B=>Ee(B)!=="tyre");if(Fe.length===0)return!1;let L=Fe.some(B=>!!B.process);return Fe.some(B=>!!B.setWords)||ti({kind:!1,brand:!1,process:L},G??[])},[Re,G]),ne=Cr(()=>({lugs:Rp(E??[]),sizes:_p(E??[]),finishes:mu(E??[])}),[E]);Cg(()=>(ie(M,ne.lugs),te(M,ne.sizes),Ie(M,ne.finishes),()=>{ie(M,[]),te(M,[]),Ie(M,[])}),[ne,ie,te,Ie,M]);let K=yp("ProductGrid",_,"both"),H=`${M} grid${K.className} bg-[var(--catalog-grid-bg)] ${v}`,He=Re?Re.length>0?We("div",{className:H,style:K.style,children:Re.map((Fe,L)=>Ee(Fe)==="tyre"?We(ec,{item:Fe,currency:z,editing:d,fieldUsage:Y},`tyre:${Fe.slug}-${L}`):We(mn,{wheel:Fe,variant:"catalog"},`${Fe.slug}-${L}`))}):d?We("div",{className:"flex min-h-[320px] items-center justify-center rounded bg-surface-2 p-4 text-center",children:Go("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:["No products in \u201C",c?.name,"\u201D yet"]})}):null:We(i,{className:H,style:K.style,minEmptyHeight:320}),Ze=Re?Re.length:null,It=wm(Na(o)),Ne=e||r||l||s?Go("div",{className:`${gu} sticky top-[var(--sf-header-h,88px)] z-30 mb-[18px] flex items-center justify-between gap-4 max-[800px]:flex-wrap max-[800px]:gap-y-2 border-b border-line bg-bg/95 py-3 backdrop-blur-md ${F?"":"-mx-[var(--sf-site-gutter,40px)] px-[var(--sf-site-gutter,40px)] max-[800px]:-mx-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]"}`,children:[Go("div",{className:"flex min-w-0 items-end gap-[21px]",children:[e&&We("span",{className:"font-mono text-[length:var(--size-label,13px)] leading-none uppercase tracking-[0.22em] text-fg-dim",children:re(e)}),r&&We("h2",{className:`${Mv(n)} leading-none text-fg max-[800px]:leading-[1] [&>span]:block`,children:Lt(r,!1)})]}),(l||s||Ze!==null)&&Go("div",{className:"flex items-center gap-5 max-[800px]:gap-3",children:[l&&We("span",{className:"max-w-[340px] truncate font-display text-[length:var(--size-body,13px)] leading-[1.4] text-fg-dim max-[800px]:hidden",children:re(l)}),s&&Go(Pe,{href:s.href,className:"inline-flex items-center gap-2 whitespace-nowrap font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg",children:[re(s.text),We("span",{"aria-hidden":!0,children:"\u2192"})]}),Ze!==null&&Go("span",{className:"whitespace-nowrap font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:[Ze," ",Ze===1?It.one:It.many]})]})]}):null,Ve=typeof a=="number"?a:120,ht=$p(h),rt=qp(M,ht),Ut=Go(Gv,{children:[j&&We("style",{children:`.${M} > *:nth-child(n+${u+1}){display:none}`}),rt&&We("style",{children:rt}),Ne,He,We(Gi,{editing:d})]});if(Le)return null;let Jo=We("section",{...N?{[tl]:se}:{},className:"relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] pt-[var(--pg-pt)] pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-[70px] max-[800px]:pb-[70px]",style:{"--pg-pt":`${Ve}px`,...mp(R)},children:F?We("div",{style:Xd(!1,p)??void 0,children:Ut}):Ut}),Yr=d&&!E?We(Vx,{children:Jo}):Jo;return We(sm,{imageBackgroundFill:Sa(x,Et),spinOnHover:g??!0,coverIndex:I??1,indexBadge:ht,outline:k??Io,showBadge:S??!0,fieldUsage:G,reserveEyebrow:Oe,showCardPrice:T??!0,showCardFinishes:b??!0,showCardSizes:w??!1,showCardBuy:O??!1,showCardPage:D??!1,children:Yr})}var oc="wheels",Wv="collection:",Uv=60;function zv(e){let t=e?.props?.source;return e?.type==="ProductGrid"&&!!t?.process}function Kv(e){return e.some(t=>t?.type==="CatalogFilterBar"||zv(t))}function $v(){return{type:"CatalogFilterBar",props:{id:"CatalogFilterBar-wheels-seed",showProcess:!0,showLugs:!0,showPrice:!0,showCount:!0,showSort:!0}}}function Vv(e,t){let o=Ks(e);return{type:"ProductGrid",props:{id:`ProductGrid-wheels-${o}`,dynamic:!1,num:t,title:e,titleSize:tc,padTop:100,description:"",linkText:"Explore the collection",linkHref:`/wheels/collections/${o}`,columns:4,showAll:!0,limit:8,imageBackground:Et,spinOnHover:!0,source:{slug:`${Wv}${o}`,name:e,process:e,wheels:[]},fullWidth:!0,pageWidth:Jn.default,products:[]}}}function qv(e){let t=e?ip(e):sp;return[$v(),...t.map(o=>Vv(o.key,o.num))]}function wg(e,t,o){if(e!==oc)return t;let r=t?.content??[];if(Kv(r))return t;let n=qv(o),a=r.findIndex(s=>s?.type===jn),l=a===-1?[...r,...n]:[...r.slice(0,a),...n,...r.slice(a)];return{...t,content:l}}function vg(e,t,o={}){let r=e?.content??[],n=o.scopeToCatalog?$s(t):null,a=r.map(l=>{let s=l?.props?.source;if(l?.type==="CatalogFilterBar"&&n)return{...l,props:{...l.props,processOptions:n}};if(l?.type!=="ProductGrid"||!s?.process)return l;if(n&&!n.includes(s.process))return null;if(o.onlyEmpty&&(s.wheels?.length??0)>0)return l;let i=t.filter(c=>c.process===s.process).slice(0,Uv);return{...l,props:{...l.props,source:{...s,wheels:i}}}}).filter(l=>l!==null);return{...e,content:a}}var Yv="__all__",S5="All products";function Tg(e){return e?.slug===Yv}var Pr="AlloyWheelsListing",Xv="ProductGrid",Rg="catalog",jv="CatalogFilterBar",pl="fieldUsage";function kr(e){return e?.type===Xv&&Tg(e.props?.source)}function rc(e){return e?.type===jv}function Jv(e){return e?.type===Pr||kr(e)||rc(e)}function Zv(e){let t=e.content??[],o=e.zones??{};return[...t,...Object.values(o).flat()]}function ml(e){return e?Zv(e).some(t=>t?.type===Pr||kr(t)):!1}function Fg(e,t){return eT(e,o=>kr(o)?{...o,props:{...ac(o).props,[Rg]:Qv(t,Na(o.props?.kinds))}}:{...o,props:{...lc(o).props,products:t}})}function nc(e){return _g(e,Jv,t=>rc(t)?Eg(t):kr(t)?ac(t):lc(t))}function Eg(e){if(!e.props||!(pl in e.props))return e;let{[pl]:t,...o}=e.props;return{...e,props:o}}function ac(e){let{[Rg]:t,[pl]:o,...r}=e.props??{};return{...e,props:r}}function Qv(e,t){let o=new Set(t);return e.filter(r=>{let n=r.kind??"alloy-wheel";return o.has(n)})}function w5(e){return kr(e)?ac(e):rc(e)?Eg(e):e?.type===Pr?lc(e):e}function lc(e){let{wheels:t,products:o,[pl]:r,...n}=e.props??{};return{...e,props:n}}function eT(e,t){return _g(e,o=>o?.type===Pr||kr(o),t)}function _g(e,t,o){let r=l=>t(l)?o(l):l,n=e,a={...e};return n.content&&(a.content=n.content.map(r)),n.zones&&(a.zones=Object.fromEntries(Object.entries(n.zones).map(([l,s])=>[l,s.map(r)]))),a}import{useEffect as Lg,useRef as sc,useState as Og}from"react";var tT="data-editor-theme";function Ag(e){typeof document>"u"||document.documentElement.setAttribute(tT,"light")}var oT=500,Ng={canCreatePlatformTemplate:!1};function rT(e){return!e||typeof e!="object"?Ng:{canCreatePlatformTemplate:e.canCreatePlatformTemplate===!0}}function nT(e,t={}){let o=t.session??Ye();o.auth.token=e.token,o.auth.brandId=e.brandId??null,Fd(o,e.siteId),(t.stampChromeTheme??!0)&&Ag(e.theme)}function Bg(e){let[t,o]=Og(null),r=sc(null),[n,a]=Og(Ng),l=sc(e?.onAuth),s=sc(e?.onMessage);Lg(()=>{l.current=e?.onAuth,s.current=e?.onMessage});let i=ao(),c=ha();return Lg(()=>{let f=i.subscribe(d=>{let p=d;if(p.type==="storefront-editor:auth"&&typeof p.token=="string"&&p.token){let x=!!r.current;r.current=p.token,o(p.token),nT({...p,token:p.token},{stampChromeTheme:i.ownsDocument,session:c}),a(rT(p.can)),l.current?.(x)}else s.current?.(d)});if(i.send("storefront-editor:ready"),!c.usesBridgedToken)return f;let u=window.setInterval(()=>{r.current?window.clearInterval(u):i.send("storefront-editor:ready")},oT);return()=>{f(),window.clearInterval(u)}},[i,c]),{token:t,tokenRef:r,capabilities:n}}var ic=new Set,cc=new Set,fc=new Set;function O5(e){return ic.add(e),()=>ic.delete(e)}function Dg(){ic.forEach(e=>e())}function N5(e){return cc.add(e),()=>cc.delete(e)}function Mg(){cc.forEach(e=>e())}function xl(e){return fc.add(e),()=>fc.delete(e)}function dc(){fc.forEach(e=>e())}var uc=new Map,aT=9e5,Hg=0;function lT(){return Hg+=1,`fe-${typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():String(Hg)}`}function Gg(e,t){e.connected&&e.send("storefront-editor:open-form",{mode:"edit",formId:t})}function Wg(e,t){if(!e.connected)return Promise.resolve({status:"closed"});let o=lT();return new Promise(r=>{let n=setTimeout(()=>Ug(o,{status:"timeout"}),t.timeoutMs??aT);uc.set(o,a=>{clearTimeout(n),r(a)}),e.send("storefront-editor:open-form",{requestId:o,mode:t.mode,...t.formId?{formId:t.formId}:{}})})}function Ug(e,t){let o=uc.get(e);o&&(uc.delete(e),o(t))}function pc(e,t){Ug(e,t?{status:"saved",form:t}:{status:"closed"})}function zg(e){switch(e?.type){case"storefront-editor:category-updated":return Dg(),!0;case"storefront-editor:menus-updated":return Mg(),!0;case"storefront-editor:form-saved":{let o=e;return dc(),o.requestId&&pc(o.requestId,o.form??null),!0}case"storefront-editor:form-closed":{let o=e;return dc(),o.requestId&&pc(o.requestId,null),!0}case"storefront-editor:media-picked":{let o=e;return o.requestId&&Hs(o.requestId,o.media??null),!0}case"storefront-editor:media-pick-cancelled":{let o=e;return o.requestId&&Hs(o.requestId,null),!0}default:return!1}}var sT={unauthorized:"the editor's sign-in was refused (unauthorized).","changed-elsewhere":"the page changed while it was being opened (changed-elsewhere).","lock-taken":"somebody else holds this page (lock-taken).","not-found":"this page no longer exists (not-found).",invalid:"the backend refused the request (invalid).",unavailable:"the backend could not be reached (unavailable)."};function mc(e){return pa(e)?e.cause instanceof at?mc(e.cause):`${sT[e.kind]} ${e.message}`.trim():e instanceof at?e.status===er?`${Dd} (no response)`:e.status===401||e.status===403?`the editor's sign-in was refused (${e.status}). Reload the console and open the editor again; if it keeps happening the bridged token is not valid for this site.`:e.status===404?"this page no longer exists (404).":e.status>=500?`the server failed (${e.status}). ${e.message}`:`the server refused the request (${e.status}). ${e.message}`:e instanceof Error?`${e.name}: ${e.message}`:String(e)}import{canWriteDocument as Wo,holderOf as dT,newEditorClientId as uT,reloadIfVersionMoved as pT}from"efficient-easel/edit-lock";import{useAutosave as mT}from"efficient-easel/autosave";import{createEditLock as iT}from"efficient-easel/edit-lock";var gl=iT({readFailure:zs,conflictCode:on});import{jsx as IT}from"react/jsx-runtime";var xT={content:[],root:{},zones:{}};function gT(e,t){if(e.kind!==t.kind)return!1;if(e.kind==="template"){let r=t;return e.id===r.id&&(e.pageSlug??dt)===(r.pageSlug??dt)}let o=t;return e.slug===o.slug&&e.siteId===o.siteId}var So=cT(null);function Kg(){let e=fT(So);if(!e)throw new Error("useStorefrontDocument must be used within StorefrontDocumentProvider");return e}function yW({target:e,children:t}){let[o,r]=St(e),n=ao(),a=ha(),l=xc(()=>rn(a),[a]),s=o.kind==="template",i=o.kind==="template"?o.id:null,c=o.kind==="template"?o.pageSlug??dt:o.slug,f=o.kind==="page"?o.siteId??null:null,u=xc(()=>an(a),[a]),d=xc(()=>o.kind==="template"?np(o.id,l,u):rp(o.siteId,l,u),[l,u,o.kind,o.kind==="template"?o.id:o.siteId]),p=d.capabilities,x=o.kind==="page"?o.originSlug??null:null;ut(()=>{Rd(a,f)},[a,f]);let g=ot(o);ut(()=>{g.current=o},[o]);let{token:I,tokenRef:h,capabilities:k}=Bg({onMessage:P=>{if(zg(P))return;if(P?.type==="storefront-editor:navigate"){let be=P;be?.target&&kd(be.target)}}}),S=a.usesBridgedToken?I!==null:!0,C=d.lock,T=!!l.lock,[b,w]=St(null),[O,D]=St(null),[R,_]=St(null),[G,Y]=St(null),M=ot(null),[v,j]=St(!1),F=ot(null),[E,se]=St(null),N=ot(null),[le,xe]=St(null),ie=ot(null);ut(()=>{ie.current=le},[le]);let[te,Ie]=St(p.hasEditLock?{kind:"checking"}:{kind:"editing"}),de=ot(te);ut(()=>{de.current=te},[te]);let z=ot(()=>Promise.resolve(!1)),Le=ke(P=>{M.current=P,j(!0)},[]),Re=mT({save:async({id:P,data:A})=>{if(!Wo(de.current)){Le({id:P,data:A});return}if(!await z.current(P,A)){if(!Wo(de.current)){Le({id:P,data:A});return}throw new Error("page save did not land")}},onFailure:(P,A)=>{A===0&&n.send("storefront-editor:save-failed")}}),{state:Oe,push:ne,flush:K,pause:H,resume:He,stop:Ze,reset:It,retryNow:oo,hasPending:Ne}=Re,Ve=ot(Oe);ut(()=>{Ve.current=Oe},[Oe]);let ht=qu(Oe),rt=ke(()=>{let P=M.current;P&&(M.current=null,j(!1),ne(P))},[ne]),Ut=ot("");Ut.current||(Ut.current=uT());let[Jo,Yr]=St(0),Fe=ot(!1),L=e.kind==="page"&&e.slug===lt,[W,B]=St(e.kind==="template"||L),ce=ot(!1);ut(()=>{if(ce.current)return;ce.current=!0;let P=n.address.search();if(e.kind==="page"&&e.slug===lt){let A=Os(),be=A&&A!==lt?A:dt;n.address.load({kind:"page",slug:be,siteId:e.siteId});return}if(e.kind==="template"){if(new URLSearchParams(P).get("editTemplate")==="1"){B(!1);return}n.address.load({kind:"page",slug:dt})}},[e,n]);let ge=n.send;ut(()=>{if(!S)return;let P=!1,A=d.resolve(c),ye=p.hasCatalog&&!s&&c===oc?Ao().catch(()=>[]):Promise.resolve([]);return Promise.all([A,ye]).then(async([pe,qe])=>{if(P)return;if(!pe){if(!s&&c!==dt){n.address.load({kind:"page",slug:dt,siteId:f??void 0});return}Y(s?"Couldn\u2019t open a page in this template.":`No storefront page with slug "${c}".`);return}w(pe.id),D(pe.kind??null),N.current=pe.version??null;let Qe=pe.layout,dS=Qe&&Object.keys(Qe).length?Qe:xT,uS=tp(dS),wd=wg(s||!p.hasCatalog?"":c,uS,qe),as=qe.length?vg(wd,qe,{onlyEmpty:!0}):wd;if(p.hasCatalog&&ml(as)){let vd=await la().catch(()=>[]);if(P)return;if(vd.length){_(Fg(as,ol(vd)));return}}_(as)}).catch(pe=>{P||(console.error("[storefront-editor] document load failed",pe),Y(pe instanceof Gd?`\u201C${c}\u201D exists on more than one website. Open it from the site you want to edit.`:`Could not load the document \u2014 ${mc(pe)}`))}),()=>{P=!0}},[S,I,s,d,c]);let ro=ke(P=>new Promise(A=>{let be=Date.now(),ye=setInterval(()=>{let pe=h.current;pe&&pe!==P?(clearInterval(ye),A(pe)):Date.now()-be>6e3&&(clearInterval(ye),A(null))},200)}),[]),nt=ke(async P=>{let A=h.current;if(!A&&a.usesBridgedToken)return{ok:!1,error:new Error("no editor token")};try{return{ok:!0,value:await P(A??"")}}catch(be){if(ap(be)){ge("storefront-editor:auth-expired");let ye=A?await ro(A):null;if(ye)try{return{ok:!0,value:await P(ye)}}catch(pe){return{ok:!1,error:pe}}}return{ok:!1,error:be}}},[ge,ro,a]),Xr=ke(async P=>{let A=h.current?await nt(P):{ok:!1,error:new Error("no editor token")};return A.ok||ge("storefront-editor:save-failed"),A.ok},[ge,nt]),Vn=ke(async(P,A,be=!1)=>{if(!Wo(de.current)||ie.current)return!1;let ye=await nt(()=>d.saveLayout(P,A,N.current,Ut.current));if(ye.ok)return N.current=ye.value.version??N.current,!0;let pe=gl.readLockTaken(ye.error);if(pe){let Qe={kind:"takenover",holder:pe};return de.current=Qe,Ie(Qe),!1}let qe=gl.readSaveConflict(ye.error);if(qe){if(qe.savedByYou&&!be&&d.rereadVersion){let Qe=await nt(()=>d.rereadVersion(P));if(Qe.ok&&Qe.value)return N.current=Qe.value,z.current(P,A,!0)}Ze(),ie.current=qe,xe(qe)}return!1},[d,nt,Ze]);ut(()=>{z.current=Vn},[Vn]);let oS=ke(P=>{if(ge("storefront-editor:dirty"),!b)return;let A=ml(P)?nc(P):P;if(F.current=A,!Wo(de.current)){Le({id:b,data:A});return}ne({id:b,data:A})},[b,ge,Le,ne]),Zo=ke(async()=>(Wo(de.current)&&rt(),await K()&&M.current==null),[rt,K]),Cd=ot(Zo);ut(()=>{Cd.current=Zo},[Zo]);let rs=ot(nt);ut(()=>{rs.current=nt},[nt]);let ns=ke(()=>{n.address.reload()},[n]),Pd=ot(()=>Promise.resolve(!1));ut(()=>{Pd.current=()=>{let P=d.rereadVersion;return!b||!P?Promise.resolve(!1):pT({ours:N.current,stored:async()=>{let A=await rs.current(()=>P(b));return A.ok?A.value:null},hasPending:()=>M.current!=null||Ne(),reload:ns})}},[d,b,Ne,ns]),ut(()=>{if(!C||!b||!S)return;let P=!1,A=null,be=Ut.current,ye=gl.makeClaimBeat({claim:async qe=>{let Qe=await rs.current(()=>C.claim(b,be,qe));if(Qe.ok)return{heartbeat_seconds:Qe.value.heartbeatSeconds};throw Qe.error},cancelled:()=>P,currentAccess:()=>de.current,heldWrite:()=>({pending:M.current!=null||Ne(),autoSaveEnabled:!Ve.current.paused,saveConflict:ie.current!=null}),setAccess:qe=>{de.current=qe,Ie(qe)},releaseHeldWrite:()=>{Cd.current()},startHeartbeat:qe=>{A=setInterval(()=>{ye(!1)},qe)},stopHeartbeat:()=>{A&&(clearInterval(A),A=null)},reloadIfMoved:()=>{Pd.current()}}),pe=Fe.current;return Fe.current=!1,pe||Ie({kind:"checking"}),ye(pe),()=>{P=!0,A&&clearInterval(A),C.release(b,be).catch(()=>{})}},[b,C,S,I,Jo]);let rS=ke(()=>{!C||!b||(Fe.current=!0,Yr(P=>P+1))},[b,C]),nS=ke(()=>{Ie(P=>{let A=P.kind==="blocked"||P.kind==="takenover"?P.holder:null;return A?{kind:"readonly",holder:A}:P})},[]),aS=ke(()=>{Ve.current.paused?(Wo(de.current)&&rt(),He()):H()},[rt,H,He]),lS=ke(()=>{oo()},[oo]),To=ke(P=>{if(F.current=null,Yu(P.kind!=="template"&&T,{resetAutosave:()=>{It(),M.current=null,j(!1)},setVersion:A=>{N.current=A},setSaveConflict:xe,setAccess:Ie}),P.kind==="page"){let A=Os();P.slug!==lt&&P.slug!==A&&Ns()}else Ns();r(P),w(null),D(null),_(null),Y(null),n.address.show(P),P.kind==="page"&&P.slug!==lt&&n.send("storefront-editor:navigated",{target:P})},[It,n,T]),kd=ke(P=>{if(gT(P,g.current))return;let A=M.current!=null;if(!A&&!Ne()){To(P);return}let be=Ve.current;if(A||be.paused||be.failed||be.stopped){se(P);return}K().then(ye=>{ye?To(P):se(P)})},[To,Ne,K]),sS=ke(()=>se(null),[]),iS=ke(()=>{se(P=>(P&&To(P),null))},[To]),cS=ke(async()=>{let P=E;if(!P)return;await Zo()&&(se(null),To(P))},[E,Zo,To]),fS=ke(async P=>{if(!b||!Wo(de.current)||ie.current)return;let A=ml(P)?nc(P):P;if(!await Vn(b,A)){ie.current||ge("storefront-editor:save-failed");return}let ye=d.publish;if(!p.canPublish||!ye){ge("storefront-editor:saved");return}let pe=await nt(()=>ye(b,N.current??void 0));if(!pe.ok){ge("storefront-editor:save-failed");return}N.current=pe.value.version??N.current,ge("storefront-editor:published")},[b,d,p.canPublish,ge,Vn,nt]);return IT(So.Provider,{value:{target:o,adapter:d,capabilities:p,templateId:i,currentSlug:c,currentKind:O,siteId:f,ready:S,token:I,tokenRef:h,notifyParent:ge,bridgeCapabilities:k,runAuthed:Xr,docId:b,data:R,getLiveData:()=>F.current??R,footerOriginSlug:x,error:G,redirecting:W,saveStatus:ht,saveState:Oe,autoSaveEnabled:!Oe.paused,autoSaveStoppedByConflict:Oe.stopped,hasUnsavedEdits:Oe.pending||v,toggleAutoSave:aS,retrySave:lS,onChange:oS,flushSave:Zo,onPublish:fS,access:te,readOnly:dT(te)!==null,takeOverEditing:rS,viewReadOnly:nS,saveConflict:le,reloadFromServer:ns,navigate:kd,pendingNav:E,cancelPendingNav:sS,discardAndNavigate:iS,saveAndNavigate:cS},children:t})}import{createContext as hT,useContext as bT}from"react";var yT=hT("desktop"),gc=()=>bT(yT);import{useRef as gf,useState as Wl}from"react";import{useEditor as Or}from"efficient-easel/editor";var $g="50% 50%";var vr=e=>e<0?0:e>100?100:Math.round(e);function Ic(e){let t=String(e??"").trim().split(/\s+/);if(t.length!==2)return{x:50,y:50};let o=a=>{let l=/^(-?\d+(?:\.\d+)?)%$/.exec(a);return l?Number(l[1]):null},r=o(t[0]),n=o(t[1]);return r===null||n===null?{x:50,y:50}:{x:vr(r),y:vr(n)}}function wr(e,t){return`${vr(e)}% ${vr(t)}%`}function Vg(e,t,o=!1){let r=o?10:1,{x:n,y:a}=Ic(e);switch(t){case"ArrowLeft":return wr(n-r,a);case"ArrowRight":return wr(n+r,a);case"ArrowUp":return wr(n,a-r);case"ArrowDown":return wr(n,a+r);default:return null}}function qg(e,t,o){return!(e.width>0)||!(e.height>0)?{x:50,y:50}:{x:vr((t-e.left)/e.width*100),y:vr((o-e.top)/e.height*100)}}import{useCallback as kT,useEffect as wT,useRef as vT,useState as TT}from"react";import{useEditor as RT}from"efficient-easel/editor";import{SettingsAction as FT}from"efficient-easel/panel";function hc(e){return typeof e=="number"&&Number.isFinite(e)}function TW(e,t){if(!hc(e))return;let o=Xn(co(e));if(Object.keys(o).length===0)return;let r=o[Il];if(typeof r!="string")return o;let n=Tr(t)?Rr(r,pt(t)??[]):r;return{...o,[ST]:n}}var ST="--sf-section-radius",Il="--sf-card-radius",ct=["tl","tr","br","bl"];function pt(e){if(!Array.isArray(e))return null;let t=e.filter(o=>ct.includes(o));return ct.filter(o=>t.includes(o))}function Tr(e){let t=pt(e);return t!==null&&t.length<ct.length}function Rr(e,t){return ct.map(o=>t.includes(o)?e:"0").join(" ")}var Co="Which corners",Fr=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];function hl(e){let t=o=>e.includes(o);if(e.length===ct.length)return"All four";if(e.length===0)return"None";if(e.length===1)return Fr.find(o=>o.value===e[0])?.label??"1 corner";if(e.length===2){if(t("tl")&&t("tr"))return"Top two";if(t("bl")&&t("br"))return"Bottom two";if(t("tl")&&t("bl"))return"Left two";if(t("tr")&&t("br"))return"Right two"}return`${e.length} corners`}var CT="--sf-card-box-radius",PT="--sf-site-card-radius",_W="sf-section-bleeds";function wn(e){return typeof e=="number"&&Number.isFinite(e)}function AW(e,t){if(!wn(e))return;let o=Xn(co(e))[Il];if(typeof o!="string")return;let r=Tr(t)?Rr(o,pt(t)??[]):o;return{[CT]:r}}function LW(e){let t=e[Il];return typeof t=="string"?{[PT]:t}:{}}function Yg(e,t){let o=e.find(a=>a?.props?.id===t);if(!o)return[...e];let r=o.props?.cardCorners,n=o.props?.cardCornerSides;return e.map(a=>a?.props?.id===t?a:{...a,props:{...a.props,cardCorners:r,cardCornerSides:n}})}function Xg(e,t,o){let r=o?.zone??"",n=r.lastIndexOf(":"),a=n>0?r.slice(0,n):"",l=n>0?r.slice(n+1):"",s=a?Kd(e,t,a):null,i=s&&Array.isArray(s.item.props[l])?s.item.props[l]:[],c=o?.index??-1,f=c>=0?i[c]:void 0,u=f?.props?.id?String(f.props.id):"",d=Math.max(i.length-1,0);return!s||!u?{can:!1,reason:"unreachable",others:0}:i.length<=1?{can:!1,reason:"alone",others:d}:wn(f?.props?.cardCorners)?{can:!0,others:d,zone:s.zone,index:s.index,data:{...s.item,props:{...s.item.props,[l]:Yg(i,u)}}}:{can:!1,reason:"unset",others:d}}function jg(e){if(!e.can)return e.reason==="alone"?"This is the only card in the section.":e.reason==="unset"?"Set this card's corners first.":"This card is not in a section that can share corners.";let t=e.others;return`Gives the other ${t===1?"card":`${t} cards`} this card's Corners and Which corners.`}function Jg(e){return`Applied to ${e} ${e===1?"card":"cards"}`}function Zg(e,t){e.can&&t(e.zone,e.index,e.data)}import{jsx as Qg}from"react/jsx-runtime";var ET=2200,_T="apply-corners-to-siblings",AT="Apply to all cards";function LT({plan:e,doneCount:t,onPress:o}){return Qg(FT,{id:_T,label:AT,note:jg(e),disabled:!e.can,done:t!==null,doneLabel:Jg(t??0),onPress:o})}function bc(){let{appState:e,config:t}=RT(i=>i),o=Pu(),[r,n]=TT(null),a=vT(null);wT(()=>()=>{a.current&&clearTimeout(a.current)},[]);let l=Xg(t,e.data.content??[],e.ui.itemSelector),s=kT(()=>{Zg(l,o.replaceComponent),l.can&&(n(l.others),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>n(null),ET))},[l,o]);return Qg(LT,{plan:l,doneCount:r,onPress:s})}import{jsx as vn,jsxs as eI}from"react/jsx-runtime";function bl({label:e,onClear:t,what:o="override"}){return vn("button",{type:"button",className:"sf-part-mark",title:`Clear ${o}`,"aria-label":`Clear ${o}: ${e}`,onClick:t,children:vn(OT,{})})}function OT(){return eI("svg",{width:"12",height:"12",viewBox:"0 0 16 16","aria-hidden":"true",children:[vn("circle",{className:"sf-part-mark-dot",cx:"8",cy:"8",r:"3",fill:"currentColor"}),eI("g",{className:"sf-part-mark-arrow",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",children:[vn("path",{d:"M13 8a5 5 0 1 1-1.6-3.7"}),vn("path",{d:"M13 2.5V5h-2.6"})]})]})}var tI=1,oI="Corners";function NT(e){return co(e)}function jW(e,t){let o=NT(e);if(o===null)return null;let r=`${o}px`;return{borderRadius:Tr(t)?Rr(r,pt(t)??[]):r}}import{createContext as DT,useContext as MT,useMemo as HT}from"react";var BT=["vehicle","process","size","lugs","finish","price"],yl={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};function rI(e){if(!e)return yl;let t={...yl};for(let o of BT){let r=e[o];if(typeof r!="string")continue;let n=r.trim();n&&(t[o]=n)}return t}import{jsx as GT}from"react/jsx-runtime";var nI=DT(yl);function tU({labels:e,children:t}){let o=HT(()=>rI(e),[e]);return GT(nI.Provider,{value:o,children:t})}function yc(){return MT(nI)}var Nt={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]]}},Sc=Object.keys(Nt),lI=[2,3,4,6];function sI(e){return typeof e!="string"||e===""?null:Nt[e]??null}function aI(e,t){return t?6/e.acrossPhone:12/e.across}var WT="sf-wall--";function UT(e){return`${WT}${e}`}function nU(e){let t=Nt[e],o=`.${UT(e)}`,r=[],n=(a,l)=>{let s=[],i=a.length;a.forEach(([c,f],u)=>{s.push(`${o} > :nth-child(${i}n+${u+1}){grid-column:span ${c};grid-row:span ${f}}`)});for(let c=1;c<i;c+=1)s.push(`${o}:has(> :nth-child(${i}n+${c}):last-child) > :nth-last-child(-n+${c}){grid-column:span ${l};grid-row:span 1}`);return s};return r.push(`${o}{grid-template-columns:repeat(12,minmax(0,1fr))}`),r.push(...n(t.desktop,aI(t,!1))),r.push("@media (max-width:800px){"),r.push(`${o}{grid-template-columns:repeat(6,minmax(0,1fr))}`),r.push(...n(t.phone,aI(t,!0))),r.push("}"),r.join("")}var Sl=12,iI=1,zT=3;var KT=3;function Cc(e,t,o){let r=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(r)?Math.min(o,Math.max(t,Math.trunc(r))):null}function $T(e){return Cc(e,1,Sl)??KT}function sU(e,t){let o=Cc(e,iI,zT);return o??($T(t)===4?2:iI)}function iU(e){return e==null||e===""?null:Cc(e,1,Sl)}var cU="data-sf-span";function fU(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(sI(e.props?.layout))return!1;let t=e.props?.columns;return t!=null&&t!==""}return!1}import{AlignLeftIcon as kE,AlignSeparateIcon as wE,AnimationIcon as Eh,BackgroundIcon as vE,CartIcon as TE,ColumnWidthsIcon as _h,ColumnsIcon as RE,CornerIcon as Ah,DirectionDownIcon as FE,DirectionLeftIcon as EE,DirectionRightIcon as _E,DirectionUpIcon as AE,DollarIcon as LE,FinishIcon as OE,GapIcon as Lh,GridIcon as NE,GroundIcon as BE,HashIcon as Oh,ImageIcon as DE,LayoutIcon as ME,ListIcon as HE,LocationIcon as mf,PaddingBottomIcon as GE,PaddingLeftIcon as WE,PaddingRightIcon as UE,PaddingTopIcon as zE,PageIcon as Nh,PhoneIcon as KE,PlacementIcon as $E,ProductSizeIcon as VE,RotateIcon as qE,SquareIcon as YE,StylesIcon as XE,TextLinesIcon as jE,WidthIcon as JE,WrapIcon as ZE}from"efficient-easel/icons";import{TitleIcon as VT,ButtonIcon as qT,DollarIcon as YT,HashIcon as XT,LinkIcon as jT,NoteIcon as JT,TagIcon as ZT,TextLinesIcon as QT}from"efficient-easel/icons";import{Fragment as Bt,jsx as J,jsxs as Dt}from"react/jsx-runtime";var cI={body:QT,button:qT,link:jT,label:ZT,number:XT,price:YT,note:JT,title:VT},fI={eyebrow:Dt(Bt,{children:[J("path",{d:"M5 6.5h5"}),J("path",{d:"M5 12.5h14"}),J("path",{d:"M5 18h11"})]}),heading:Dt(Bt,{children:[J("path",{d:"M6.5 5v14"}),J("path",{d:"M17.5 5v14"}),J("path",{d:"M6.5 12h11"})]}),intro:Dt(Bt,{children:[J("path",{d:"M4 5.5v13"}),J("path",{d:"M8 7.5h12"}),J("path",{d:"M8 12h12"}),J("path",{d:"M8 16.5h8"})]}),value:Dt(Bt,{children:[J("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),J("path",{d:"M6.5 12h7"})]}),name:Dt(Bt,{children:[J("path",{d:"M6 3.5v17"}),J("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:Dt(Bt,{children:[J("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),J("path",{d:"M4 10.5h16"}),J("path",{d:"M9 3.2v4.4"}),J("path",{d:"M15 3.2v4.4"})]}),caption:Dt(Bt,{children:[J("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),J("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),J("path",{d:"M6.5 19.5h11"})]}),quote:Dt(Bt,{children:[J("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),J("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:Dt(Bt,{children:[J("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),J("path",{d:"M8 9.5h8"}),J("path",{d:"M12 9.5v5"})]}),meta:Dt(Bt,{children:[J("path",{d:"M4 7h16"}),J("path",{d:"M4 14h3.5"}),J("path",{d:"M10.5 14h3"}),J("path",{d:"M17 14h3"})]})};function Pc({noun:e,size:t=14,strokeWidth:o=1.8,className:r,style:n}){let a=cI[e];return a?J("span",{className:r,style:{display:"inline-flex",...n},"aria-hidden":"true",children:J(a,{size:t})}):J("svg",{className:r,style:n,width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:fI[e]})}var pU=Object.keys(cI);var mU=Object.keys(fI);var eR="#ffffff",tR=/^#[0-9a-fA-F]{6}$/;function kc(e){return oR(e)?e:eR}function oR(e){return typeof e=="string"&&tR.test(e)}function IU(e){return{"--bg":kc(e)}}var rR=["fade","rise","scale"],wc="none",dI=[{label:"None",value:wc},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function yU(e){return rR.includes(e)?e:null}var uI="data-sf-anim",Tn="data-sf-anim-state";function SU(e){let t=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(uI))return t;let o=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<o)return t;e.setAttribute(Tn,"armed");let r=new IntersectionObserver(n=>{for(let a of n)if(a.isIntersecting){r.disconnect(),nR(e);break}},{threshold:0});return r.observe(e),()=>{r.disconnect(),e.removeAttribute(Tn)}}function nR(e){if(!e.getAttribute(uI))return;e.removeAttribute(Tn),e.offsetWidth,e.setAttribute(Tn,"play");let t=o=>{o.target===e&&(e.removeAttribute(Tn),e.removeEventListener("animationend",t))};e.addEventListener("animationend",t)}var CU=qd;function Tc(e,t){let o=e?.content;if(!Array.isArray(o))return null;for(let r of o){if(!r||typeof r!="object")continue;let n=r.props;if(n?.id===t)return null;if(vc(r,t,0))return n??{}}return null}function vc(e,t,o){if(o>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(n=>vc(n,t,o+1));let r=e.props;return r&&typeof r=="object"&&r.id===t?!0:Object.values(e).some(n=>vc(n,t,o+1))}import{SettingsCorners as Bh,SettingsField as he,SettingsGroupHead as QE,SettingsGroupSub as e_,SettingsPlacement as t_,SettingsSegmented as o_,SettingsSwitch as Dh}from"efficient-easel/panel";import{ListField as r_}from"efficient-easel/fields";import{useContext as iR,useEffect as xI,useRef as vl,useState as Tl}from"react";import{useEffect as pI,useMemo as Cl,useRef as aR,useState as Rc}from"react";import{jsx as Mt,jsxs as Pl}from"react/jsx-runtime";function lR(e,t){let o=t.trim().toLowerCase(),r=o?e.filter(l=>l.label.toLowerCase().includes(o)):[...e],n=[],a;for(let l of r)l.group&&l.group!==a&&n.push({type:"group",label:l.group,count:r.filter(s=>s.group===l.group).length}),a=l.group,n.push({type:"option",option:l});return n}function kl({label:e,options:t,fallback:o,value:r,onChange:n,placeholder:a,bare:l=!1}){let[s,i]=Rc(!1),[c,f]=Rc(""),[u,d]=Rc(0),p=aR(null),x=r??"",g=Cl(()=>t.find(b=>b.value===x)??t.find(b=>b.value===o)??null,[t,x,o]),I=Cl(()=>lR(t,c),[t,c]),h=Cl(()=>I.filter(b=>b.type==="option").map(b=>b.option),[I]),k=Cl(()=>t.some(b=>b.thumb!==void 0),[t]);pI(()=>{if(!s)return;let b=w=>{p.current&&!p.current.contains(w.target)&&(i(!1),f(""))};return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[s]),pI(()=>{d(b=>b>=h.length?0:b)},[h.length]);let S=b=>{n(b.value),i(!1),f("")},C=b=>{b.key==="Escape"?(i(!1),f("")):b.key==="ArrowDown"?(b.preventDefault(),i(!0),d(w=>Math.min(w+1,Math.max(h.length-1,0)))):b.key==="ArrowUp"?(b.preventDefault(),d(w=>Math.max(w-1,0))):b.key==="Enter"&&s&&h[u]&&(b.preventDefault(),S(h[u]))},T=-1;return Pl("div",{className:l?"sf-combo":"sf-field sf-combo",ref:p,children:[!l&&Mt("div",{className:"sf-field-label",children:e}),Pl("div",{className:"sf-combo-control",children:[Mt("input",{type:"text",className:"sf-combo-input",role:"combobox",...l?{"aria-label":e}:{},"aria-expanded":s,"aria-autocomplete":"list",value:s?c:g?.label??"",placeholder:a??"Search\u2026",onChange:b=>{f(b.target.value),i(!0),d(0)},onFocus:()=>{i(!0),f("")},onClick:()=>i(!0),onKeyDown:C}),Mt("span",{className:"sf-combo-caret","aria-hidden":"true",children:"\u25BE"})]}),s&&Mt("ul",{className:"sf-combo-menu",role:"listbox",children:h.length===0?Mt("li",{className:"sf-combo-empty",children:"No matches"}):I.map(b=>{if(b.type==="group")return Pl("li",{className:"sf-combo-group",role:"presentation",children:[b.label,Mt("span",{className:"sf-combo-group-count",children:b.count})]},`group:${b.label}`);let w=b.option,O=++T;return Pl("li",{role:"option","aria-selected":w.value===x,className:"sf-combo-option"+(O===u?" is-active":"")+(w.value===x?" is-selected":""),onMouseDown:D=>{D.preventDefault(),S(w)},onMouseEnter:()=>d(O),children:[k&&Mt("span",{className:"sf-combo-thumb","aria-hidden":"true",children:w.thumb?Mt("img",{src:w.thumb,alt:"",loading:"lazy"}):null}),Mt("span",{className:"sf-combo-option-label",children:w.label}),w.meta!==void 0&&Mt("span",{className:"sf-combo-meta",children:w.meta})]},w.value||"__none__")})})]})}var Rn=class extends Error{constructor(o){super("The storefront forms list could not be loaded.");this.cause=o;this.name="FormsUnavailableError"}},wl=null,Fc=null,Ec=null;function sR(){wl=null,Fc=null,Ec=null}function mI(e=!1){let t=lr(),o=Ro();return(e||!wl||Fc===null&&t!==null||Ec!==o)&&(Fc=t,Ec=o,wl=(t?oe.listForms(t,{siteId:o}):Promise.reject(new Rn)).catch(r=>{throw sR(),r instanceof Rn?r:new Rn(r)})),wl}import{jsx as we,jsxs as Ct}from"react/jsx-runtime";var gI="__create-a-new-form__";function cR({value:e,forms:t,loadFailed:o,emptyLabel:r="No form yet"}){let n=t??[],a=e?n.some(u=>u.slug===e):!0,l=t===null&&!o,s={value:"",label:l?"Loading\u2026":o?"Forms couldn\u2019t be loaded":r},i=e&&!a?[{value:e,label:l||o?e:`${e} \u2014 no form with this name`}]:[],c=n.map(u=>({value:u.slug,label:u.is_active?u.title:`${u.title} (switched off)`})),f=l?[]:[{value:gI,label:"Create a new form\u2026"}];return[s,...i,...c,...f]}function fR(e){return e===gI?{action:"create"}:{action:"store",slug:e}}function dR({value:e,pickedId:t,forms:o}){if(!e||!t||o.some(n=>n.slug===e))return null;let r=o.find(n=>n.id===t);return r&&r.slug&&r.slug!==e?r.slug:null}function uR(e){let t=["Goes to Storefront \u2192 Forms"],o=(e.notify_email??"").trim();return o&&t.push(`Emails a copy to ${o}`),e.mailing_list_name&&t.push(e.subscribe_mode==="checkbox"?`Joins the \u201C${e.mailing_list_name}\u201D audience, but only when the consent box is ticked`:`Joins the \u201C${e.mailing_list_name}\u201D audience`),e.kind==="account_signup"&&t.push(e.signup_customer_type==="importer"?"Creates a wholesale account":"Creates a retail account"),t}function _c({value:e,onChange:t,label:o="Form",emptyLabel:r}){let n=ao(),a=iR(So),l=a?a.capabilities.hasForms:!0,[s,i]=Tl(null),[c,f]=Tl(!1),[u,d]=Tl(!1),[p,x]=Tl(!1),g=vl(!0),I=vl(e);I.current=e;let h=vl(t);h.current=t;let k=vl(null),S=(R=!1)=>mI(R).then(_=>{if(g.current){i(_),f(!1);let G=dR({value:I.current,pickedId:k.current,forms:_});G&&h.current(G)}return _},()=>(g.current&&f(!0),[]));xI(()=>(g.current=!0,l&&S(),()=>{g.current=!1}),[l]),xI(()=>l?xl(()=>{S(!0)}):void 0,[l]);let T=e?(s??[]).find(R=>R.slug===e)??null:null;T?k.current=T.id:e||(k.current=null);let b=!!e&&!T&&s!==null&&!c,w=cR({value:e,forms:s,loadFailed:c,emptyLabel:r}),O=async()=>{d(!0),x(!1);try{let R=await Wg(n,{mode:"create"}),_=await S(!0);if(!g.current)return;if(R.status==="timeout"){x(!0);return}if(R.status!=="saved")return;let{form:G}=R;G.slug!==I.current&&h.current(G.slug),_.some(Y=>Y.id===G.id)||S(!0)}finally{g.current&&d(!1)}},D=R=>{let _=fR(R);_.action==="create"?O():(x(!1),t(_.slug))};return l?Ct("div",{className:"sf-formpicker",children:[we(kl,{label:o,options:w,fallback:"",value:e??"",onChange:D,placeholder:"Search forms\u2026"}),p&&we("p",{className:"sf-formsummary-warn",children:"That didn\u2019t come back \u2014 pick the form from the list, or try again."}),T?Ct("div",{className:"sf-blogsource sf-formsummary",children:[Ct("div",{children:[we("div",{className:"sf-formsummary-caption",children:T.fields.length===1?"1 field":`${T.fields.length} fields`}),T.fields.length?we("ol",{className:"sf-formsummary-fields",children:T.fields.map((R,_)=>we("li",{children:R.label},R.key||`${R.label}-${_}`))}):we("p",{className:"sf-blogsource-hint",children:"This form has no fields yet, so there is nothing for a visitor to fill in."})]}),Ct("div",{children:[we("div",{className:"sf-formsummary-caption",children:"Where the answers go"}),we("ul",{className:"sf-formsummary-fields",children:uR(T).map(R=>we("li",{children:R},R))})]}),!T.is_active&&we("p",{className:"sf-formsummary-warn",children:"This form is switched off, so it won\u2019t appear on the published page. Turn it back on in Storefront \u2192 Forms."}),Ct("div",{className:"sf-formsummary-actions",children:[we("button",{type:"button",className:"sf-blogsource-btn",onClick:()=>Gg(n,T.id),children:"Edit form \u270E"}),we("button",{type:"button",className:"sf-blogsource-btn",disabled:u,onClick:()=>{O()},children:"New form +"})]}),we("p",{className:"sf-blogsource-hint",children:"The questions, the button text and the thank-you message all come from Storefront \u2192 Forms. Edit them there \u2014 this section updates to match."})]}):Ct("div",{className:"sf-blogsource sf-formsummary",children:[c?Ct("p",{className:"sf-blogsource-hint",children:["This website\u2019s forms couldn\u2019t be loaded, so there is nothing to choose from yet.",e?` This section still points at \u201C${e}\u201D, and that is unchanged.`:""]}):b&&Ct("p",{className:"sf-formsummary-warn",children:["This section points at \u201C",e,"\u201D, and this website has no form with that name. Pick one from the list above, or leave it \u2014 nothing has been changed."]}),Ct("div",{className:"sf-formsummary-actions",children:[c&&we("button",{type:"button",className:"sf-blogsource-btn",disabled:u,onClick:()=>{S(!0)},children:"Try again"}),we("button",{type:"button",className:"sf-blogsource-btn",disabled:u,onClick:()=>{O()},children:"New form +"})]}),!c&&we("p",{className:"sf-blogsource-hint",children:"Pick a form to show here, or build a new one. Forms are made once in Storefront \u2192 Forms and can be shown on any number of pages."})]})]}):we("div",{className:"sf-formpicker",children:we("div",{className:"sf-blogsource sf-formsummary",children:Ct("div",{children:[we("div",{className:"sf-formsummary-caption",children:o}),Ct("p",{className:"sf-blogsource-hint",children:["Forms aren\u2019t available in this editor, so there is nothing to choose here.",e?` This section still points at \u201C${e}\u201D, and that is unchanged.`:""]})]})})})}import{ColourPicker as mR}from"efficient-easel/pick";import{typedHex as pR}from"efficient-easel/pick";function II(e){let t=new Set,o=[];return jr(e).themes.forEach((r,n)=>{let a=[[`Theme ${n+1} main color`,r.accent],[`Theme ${n+1} text color`,r.text],[`Theme ${n+1} background`,r.background]];for(let[l,s]of a){let i=s?pR(s):null;!i||t.has(i)||(t.add(i),o.push({name:l,value:i}))}}),o}import{jsx as hI}from"react/jsx-runtime";function Zt({value:e,onChange:t,label:o,id:r,caption:n,ariaLabel:a}){return hI(xR,{value:e,onChange:t,label:a??o,id:r,caption:n})}function xR({value:e,onChange:t,label:o,id:r,caption:n}){let{theme:a}=uo();return hI(mR,{value:e,onChange:t,label:o,id:r,caption:n,theme:II(a)})}import{useEffect as gR,useState as IR}from"react";import{MarkBar as hR,markSelection as bR,useCaretEdit as yR}from"efficient-easel/copy";import{RevertIcon as SR}from"efficient-easel/icons";import{Fragment as Rl,jsx as Ue,jsxs as Fl}from"react/jsx-runtime";function CR({style:e}){let t=o=>Ue("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.9,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:o});switch(e){case"bold":return t(Ue("path",{d:"M7 5h6.5a3.5 3.5 0 0 1 0 7H7zm0 7h7.5a3.5 3.5 0 0 1 0 7H7z"}));case"italic":return t(Fl(Rl,{children:[Ue("line",{x1:"10",y1:"5",x2:"19",y2:"5"}),Ue("line",{x1:"5",y1:"19",x2:"14",y2:"19"}),Ue("line",{x1:"14",y1:"5",x2:"10",y2:"19"})]}));case"strike":return t(Fl(Rl,{children:[Ue("path",{d:"M16.5 6.5A4.2 4.2 0 0 0 12.7 4.7C10 4.7 8.4 6 8.4 7.9c0 1.6 1.2 2.5 3.4 3.1"}),Ue("path",{d:"M7.6 17.4A4.4 4.4 0 0 0 11.7 19.3c2.8 0 4.5-1.4 4.5-3.4 0-1-.4-1.8-1.2-2.4"}),Ue("line",{x1:"4",y1:"12",x2:"20",y2:"12"})]}));case"highlight":return t(Fl(Rl,{children:[Ue("path",{d:"M14.5 4.5l5 5-8 8H6.5v-5z"}),Ue("line",{x1:"4",y1:"21",x2:"20",y2:"21"})]}));case"quiet":return t(Fl(Rl,{children:[Ue("path",{d:"M12 4.5l5.5 7.5L12 19.5 6.5 12z"}),Ue("line",{x1:"9.4",y1:"12",x2:"14.6",y2:"12"})]}));default:return null}}var PR=["bold","italic","strike","highlight"],kR=Object.fromEntries(PR.map(e=>[e,Ue(CR,{style:e},e)])),bI="Clear formatting";function wR(e,t,o){return bR(e,t,o,ix)}function vR(e){let[t,o]=IR(null);return gR(()=>{let r=e.current?.ownerDocument??(typeof document>"u"?null:document);if(!r)return;let n=()=>{let a=e.current;if(!a||r.activeElement!==a)return;let l=a.selectionStart??a.value.length,s=a.selectionEnd??l;o(i=>i&&i.start===l&&i.end===s?i:{start:l,end:s})};return r.addEventListener("selectionchange",n),()=>r.removeEventListener("selectionchange",n)},[e]),[t,o]}function TR({target:e,value:t,onChange:o,disabled:r=!1,label:n="Formatting"}){let a=yR({target:e,onChange:o}),[l,s]=vR(e),i=d=>a(p=>{let x=wR(t,d,p);return s({start:x.selectionStart,end:x.selectionEnd}),x}),c=lx(),f={};if(l)for(let d of c)f[d.style]=cx(t,l.start,l.end,d.style);let u=jt(t);return Ue(hR,{tools:c,onApply:i,pressed:f,disabled:r,glyphs:kR,ariaLabel:n,actions:Ue("button",{type:"button",className:"sf-markup-btn sf-markup-clear",onMouseDown:d=>d.preventDefault(),onClick:()=>o(u),disabled:r||u===t,title:bI,"aria-label":bI,children:Ue(SR,{size:14})})})}var Ac=TR;import{jsx as FR}from"react/jsx-runtime";var RR="data-sf-no-control";function yI(){return FR("span",{[RR]:"",hidden:!0})}var SI="__noControl";function t6(e){return e?.[SI]??null}function El(e,t){return{...e,[SI]:t}}import{jsx as Uo}from"react/jsx-runtime";function ER(e){return e==="mobile"?"mobile":"desktop"}var _R={desktop:null,tablet:"Tablet uses the desktop settings.",mobile:"Showing the phone settings for this section."},AR="data-sf-device-hidden";function CI(){return Uo("span",{hidden:!0,[AR]:""})}function LR({tier:e,render:t,...o}){let r=gc();return ER(r)===e?Uo(t,{...o}):Uo(CI,{})}var PI="__device";function Lc(e){return e?.[PI]??null}function l6(e){return Lc(e)?.inner??e}function Pt(e,t){let o=t.render,r=n=>Uo(LR,{tier:e,render:o,...n});return{...t,[PI]:{tier:e,inner:t},render:r}}function OR(){let e=_R[gc()];return e?Uo("div",{className:"sf-device-scope",children:e}):Uo(CI,{})}function s6(){return El({type:"custom",render:()=>Uo(OR,{})},"always")}function Fn(e){return`${e}Phone`}function _l(e,t,o){return typeof e=="number"?e:typeof t=="number"?t:o}import{createContext as NR,useContext as BR}from"react";import{Fragment as MR,jsx as Oc}from"react/jsx-runtime";var kI=NR(!1);function m6({children:e}){return Oc(kI.Provider,{value:!0,children:e})}function DR(){return BR(kI)}function wI({name:e,children:t}){return!DR()||!e||In(e)?Oc(MR,{children:t}):Oc(yI,{})}var Nc="Enter",HR="Escape",GR=/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)$/,WR=/(px|%)$/i;function UR(e,t,o,r){let n=e.trim().replace(/\s+/g,"").replace(WR,"");if(!GR.test(n))return null;let a=Number(n);if(!Number.isFinite(a))return null;let l=Math.min(o,Math.max(t,a));if(!(r>0))return l;let s=t+Math.round((l-t)/r)*r,i=Math.min(o,Math.max(t,s));return Number(i.toFixed(4))}function Bc(e,t,o,r,n){return e===Nc?{handled:!0,editing:!1,commit:UR(t,o,r,n)}:e===HR?{handled:!0,editing:!1,commit:null}:{handled:!1,editing:!0,commit:null}}import{useRef as TI,useState as $R}from"react";import{ChevronIcon as zR}from"efficient-easel/icons";import{jsx as Ht,jsxs as vI}from"react/jsx-runtime";function Dc({styleKey:e,label:t,icon:o,value:r,sampleStyle:n,open:a,onToggle:l,saved:s=!1,children:i}){return vI("div",{"data-sf-style-row":e,className:`sf-style-row${a?" is-open":""}`,children:[vI("button",{type:"button",className:"sf-style-head","aria-expanded":a,onClick:l,children:[Ht("span",{className:"sf-style-caret","aria-hidden":"true",children:Ht(zR,{size:13})}),o?Ht("span",{className:"es-field-icon",children:o}):null,Ht("span",{className:"sf-style-name",children:t}),r!=null?Ht("span",{className:"sf-style-sample",style:n,title:typeof r=="string"?r:void 0,children:r}):null,Ht("span",{className:`sf-style-slot${s?" is-saved":""}`,children:Ht(KR,{})})]}),a&&Ht("div",{className:"sf-style-body",children:i})]})}function KR(){return Ht("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:Ht("polyline",{points:"20 6 9 17 4 12"})})}import{Fragment as VR,jsx as Gt,jsxs as Mc}from"react/jsx-runtime";function Hc({label:e,value:t,onChange:o,image:r}){let[n,a]=$R(!1),l=TI(null),s=TI(!1),{x:i,y:c}=Ic(t),f=(g,I)=>{let h=l.current?.getBoundingClientRect();if(!h)return;let k=qg(h,g,I);o(wr(k.x,k.y))},u=g=>{let I=Vg(t,g.key,g.shiftKey);I!==null&&(g.preventDefault(),o(I))},d=g=>{g.currentTarget.setPointerCapture?.(g.pointerId),s.current=!0,f(g.clientX,g.clientY)},p=g=>{s.current&&f(g.clientX,g.clientY)},x=()=>{s.current=!1};return Gt(Dc,{styleKey:"imageFocal",label:e,value:t,sampleStyle:{fontSize:11,fontVariantNumeric:"tabular-nums"},open:n,onToggle:()=>a(g=>!g),children:n?Gt("div",{className:"sf-focus","data-sf-focusing":"",children:r?Mc(VR,{children:[Gt("button",{type:"button",className:"sf-focus-canvas","aria-label":`${e}: ${t}. Use the arrow keys to move the point.`,onKeyDown:u,onPointerDown:d,onPointerMove:p,onPointerUp:x,onPointerCancel:x,onLostPointerCapture:x,children:Mc("span",{className:"sf-focus-pane",ref:l,children:[Gt("img",{className:"sf-focus-img",src:r,alt:"",draggable:!1}),Gt("span",{className:"sf-focus-cross sf-focus-cross--h",style:{top:`${c}%`}}),Gt("span",{className:"sf-focus-cross sf-focus-cross--v",style:{left:`${i}%`}}),Gt("span",{className:"sf-focus-marker",style:{left:`${i}%`,top:`${c}%`}})]})}),Mc("div",{className:"sf-focus-bar",children:[Gt("span",{className:"sf-focus-hint",children:"Press the picture, or nudge the point with the arrow keys."}),Gt("button",{type:"button",className:"sf-image-btn",onClick:()=>a(!1),children:"Done"})]})]}):Gt("p",{className:"sf-field-hint",children:"Choose a background image first \u2014 there\u2019s nothing to focus yet."})}):null})}import{SettingsField as EI}from"efficient-easel/panel";import{ImageIcon as _I,PlayIcon as AI}from"efficient-easel/icons";import{ImageBox as qR}from"efficient-easel/pick";import{useContext as YR,useState as LI}from"react";import{FileIntakeAlert as XR,useFileIntake as jR}from"efficient-shell/file-intake";var RI={"PATCH /api/activity/note-media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PATCH /api/activity/notes/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/auth/entities/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_on_dark:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_square:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PATCH /api/auth/me/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"PATCH /api/auth/users/{id}/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"PATCH /api/bug-reports/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"PATCH /api/employee-documents/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issue-files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issues/{id}/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issues/{id}/carton-groups/{group_id}/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issues/{id}/pallets/{pallet_id}/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/goods-issues/{id}/update_status/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/platform/brand-catalog/brands/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PATCH /api/products/brands/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PATCH /api/products/design-images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/products/dfm-log-files/{id}/":{file:{accept:".stp,.step,.dxf,.pdf,application/pdf,application/step,model/step,application/dxf,image/vnd.dxf",hint:"STP \xB7 STEP \xB7 DXF \xB7 PDF",max_bytes:536870912,max_files:1,policy:"dfm_file"}},"PATCH /api/products/moulds/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/products/project-images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/products/proposals/{id}/":{file:{accept:".pdf,application/pdf",hint:"PDF",max_bytes:52428800,max_files:1,policy:"proposal_pdf"}},"PATCH /api/products/weight-logs/{id}/":{image:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"},photo:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PATCH /api/purchase-invoices/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/purchase-orders/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/qc-reports/media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PATCH /api/recruitment/candidates/{id}/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"PATCH /api/reimbursements/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PATCH /api/rnd/images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PATCH /api/sales-claims/media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PATCH /api/storefront/header-settings/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PATCH /api/storefront/sites/{id}/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"POST /api/activity/note-media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/activity/notes/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/auth/entities/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_on_dark:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_square:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/auth/users/{id}/reset-password/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"POST /api/bank-statements/{id}/import_csv/":{file:{accept:".csv,text/csv,text/plain,application/vnd.ms-excel",hint:"CSV",max_bytes:5242880,max_files:1,policy:"csv_import"}},"POST /api/bank-statements/{id}/preview_csv/":{file:{accept:".csv,text/csv,text/plain,application/vnd.ms-excel",hint:"CSV",max_bytes:5242880,max_files:1,policy:"csv_import"}},"POST /api/bug-reports/":{attachments:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},files:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"POST /api/bug-reports/{id}/bookmark/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"POST /api/bug-reports/{id}/thread/":{attachments:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},files:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"POST /api/careers/assessments/{token}/snapshots/":{image:{accept:"image/*",max_bytes:409600,max_files:1,policy:"proctoring_snapshot"}},"POST /api/careers/jobs/{slug}/apply/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/chat/conversations/{id}/thread/":{files:{accept:"*",max_bytes:26214400,max_files:10,policy:"chat_files"}},"POST /api/chat/public/conversations/{id}/thread/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"chat_image",reencoded_image:!0}},"POST /api/customer-portal/conversations/{id}/thread/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"chat_image",reencoded_image:!0}},"POST /api/customer-portal/warranty-claim-media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/dealer-portal/wheel-media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/employee-documents/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issue-files/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/bulk_update_status/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/actual_packing/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/carton-groups/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/generate-label/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/pallets/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/refresh-tracking/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/regenerate-label/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/regenerate_invoice/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/goods-issues/{id}/update_loaded/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/platform/brand-catalog/brands/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/brand-catalog/brands/{id}/assign-owner/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/brand-catalog/brands/{id}/publish/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/brand-catalog/brands/{id}/resync/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/brand-catalog/brands/{id}/unpublish/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/platform/feedback/reports/{id}/thread/":{attachments:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"},files:{accept:"*",max_bytes:26214400,max_files:10,policy:"feedback_attachment"}},"POST /api/products/brands/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/products/brands/{id}/generate-box-pns/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"POST /api/products/design-images/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/products/dfm-log-files/":{file:{accept:".stp,.step,.dxf,.pdf,application/pdf,application/step,model/step,application/dxf,image/vnd.dxf",hint:"STP \xB7 STEP \xB7 DXF \xB7 PDF",max_bytes:536870912,max_files:1,policy:"dfm_file"}},"POST /api/products/moulds/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/products/project-images/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/products/proposals/":{file:{accept:".pdf,application/pdf",hint:"PDF",max_bytes:52428800,max_files:1,policy:"proposal_pdf"}},"POST /api/products/proposals/{id}/approve-project/":{file:{accept:".pdf,application/pdf",hint:"PDF",max_bytes:52428800,max_files:1,policy:"proposal_pdf"}},"POST /api/products/weight-logs/":{image:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"},photo:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/purchase-invoices/capture/":{file:{accept:"application/pdf,image/jpeg,image/png",hint:"PDF \xB7 JPG \xB7 PNG",max_bytes:15728640,max_files:1,policy:"bill_capture"}},"POST /api/purchase-invoices/files/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/purchase-orders/files/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/qc-reports/media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/recruitment/candidates/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/analyze-cv/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/hire/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/move-stage/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/reinstate/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/reject/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/recruitment/candidates/{id}/withdraw/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"POST /api/reimbursements/files/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"POST /api/rnd/images/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/rnd/{id}/upload_image/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"POST /api/sales-claims/media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/sales/contacts/import-csv/":{file:{accept:".csv,text/csv,text/plain,application/vnd.ms-excel",hint:"CSV",max_bytes:5242880,max_files:1,policy:"csv_import"}},"POST /api/sales/contacts/{id}/avatar/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"POST /api/shop-portal/return-media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"POST /api/storefront/media/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 SVG \xB7 WEBP \xB7 MP4",max_bytes:268435456,max_files:1,policy:"storefront_media"}},"POST /api/storefront/media/ingest/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 SVG \xB7 WEBP \xB7 MP4",max_bytes:268435456,max_files:1,policy:"storefront_media"}},"POST /api/storefront/sites/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"POST /api/storefront/sites/{id}/address/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"POST /api/storefront/sites/{id}/duplicate/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"POST /api/supplier-portal/dfm-log-files/":{file:{accept:".stp,.step,.dxf,.pdf,application/pdf,application/step,model/step,application/dxf,image/vnd.dxf",hint:"STP \xB7 STEP \xB7 DXF \xB7 PDF",max_bytes:536870912,max_files:1,policy:"dfm_file"}},"POST /api/utility/mail/send/":{attachments:{accept:"*",max_bytes:26214400,max_files:10,policy:"mail_attachments"},files:{accept:"*",max_bytes:26214400,max_files:10,policy:"mail_attachments"}},"PUT /api/activity/note-media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PUT /api/activity/notes/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/auth/entities/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_on_dark:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0},logo_square:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PUT /api/auth/me/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"PUT /api/auth/users/{id}/":{avatar:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"avatar",reencoded_image:!0}},"PUT /api/bug-reports/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0},screenshot:{accept:"image/*",hint:"PNG \xB7 JPG",max_bytes:26214400,max_files:1,policy:"feedback_image",reencoded_image:!0}},"PUT /api/employee-documents/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/goods-issue-files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/goods-issues/{id}/":{label:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/products/brands/{id}/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PUT /api/products/design-images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/products/dfm-log-files/{id}/":{file:{accept:".stp,.step,.dxf,.pdf,application/pdf,application/step,model/step,application/dxf,image/vnd.dxf",hint:"STP \xB7 STEP \xB7 DXF \xB7 PDF",max_bytes:536870912,max_files:1,policy:"dfm_file"}},"PUT /api/products/moulds/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/products/project-images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/products/proposals/{id}/":{file:{accept:".pdf,application/pdf",hint:"PDF",max_bytes:52428800,max_files:1,policy:"proposal_pdf"}},"PUT /api/products/weight-logs/{id}/":{image:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"},photo:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PUT /api/purchase-invoices/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/purchase-orders/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/qc-reports/media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PUT /api/recruitment/candidates/{id}/":{cv:{accept:".pdf,.doc,.docx,.txt,.md,application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,text/plain,text/markdown",hint:"PDF \xB7 DOC \xB7 DOCX \xB7 TXT",max_bytes:10485760,max_files:1,policy:"cv"}},"PUT /api/reimbursements/files/{id}/":{file:{accept:"*",max_bytes:52428800,max_files:1,policy:"record_document"}},"PUT /api/rnd/images/{id}/":{image:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:26214400,max_files:1,policy:"record_image",reencoded_image:!0}},"PUT /api/sales-claims/media/{id}/":{file:{accept:"image/*,video/*",hint:"PNG \xB7 JPG \xB7 MP4",max_bytes:104857600,max_files:1,policy:"record_media"}},"PUT /api/storefront/header-settings/":{logo:{accept:"image/*",hint:"PNG \xB7 JPG \xB7 WEBP",max_bytes:5242880,max_files:1,policy:"brand_logo",reencoded_image:!0}},"PUT /api/storefront/sites/{id}/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"PUT /api/storefront/sites/{id}/countries/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"PUT /api/storefront/sites/{id}/currencies/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}},"PUT /api/storefront/sites/{id}/part-prices/":{favicon:{accept:"image/png,image/x-icon,image/vnd.microsoft.icon,.ico,image/svg+xml,image/jpeg,image/webp",hint:"PNG \xB7 ICO \xB7 SVG",max_bytes:1048576,max_files:1,policy:"favicon"}}};function FI(e,t){let o=RI[e][t];return{maxSizeBytes:o.max_bytes,maxFiles:o.max_files,accept:o.accept==="*"||o.accept==="*/*"?void 0:o.accept,acceptHint:o.hint}}import{jsx as kt,jsxs as OI}from"react/jsx-runtime";var JR=FI("POST /api/storefront/media/","file");function Gc({value:e,onChange:t,label:o,accept:r,placeholder:n}){let a=ao(),[l,s]=LI(!1),[i,c]=LI(null),f=r.startsWith("video"),u=YR(So),d=jR({accept:r,maxSizeBytes:JR.maxSizeBytes,acceptHint:f?"videos only":"images only",multiple:!1,disabled:l,onAccept:([x])=>{c(null),s(!0),Ms(a,{accept:r,title:o,file:x}).then(g=>{g&&t(g.url)}).catch(()=>c("Couldn\u2019t open the media picker \u2014 please try again.")).finally(()=>s(!1))}}),p=()=>(d.clearRejections(),c(null),Ms(a,{accept:r,title:o}).then(x=>x?.url??null));return u&&!u.capabilities.mediaEditing?kt(EI,{label:o,icon:f?kt(AI,{}):kt(_I,{}),children:OI("div",{className:"sf-image-slot-inert",children:["Templates don\u2019t store ",f?"videos":"images"," \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created."]})}):OI("div",{children:[kt(EI,{label:o,icon:f?kt(AI,{}):kt(_I,{}),children:kt("div",{className:`sf-image-drop${d.dragOver?" is-dragover":""}`,...d.zoneProps,children:kt(qR,{value:e,onChange:t,label:o,kind:f?"video":"image",placeholder:n,openLibrary:l?void 0:p})})}),l&&kt("div",{className:"sf-image-status",role:"status",children:"Opening the picker\u2026"}),i&&kt("div",{className:"sf-image-status sf-image-status--error",role:"alert",children:i}),kt(XR,{rejections:d.rejections,className:"sf-image-status sf-image-status--error"})]})}import{useEffect as ZR,useId as QR,useRef as NI,useState as eF}from"react";import{jsx as zo,jsxs as Wc}from"react/jsx-runtime";function Uc({label:e,options:t,value:o,onChange:r,emptyLabel:n="None"}){let[a,l]=eF(!1),s=NI(null),i=NI(null),c=QR(),f=Array.isArray(o)?o:[];ZR(()=>{if(!a)return;let p=x=>{s.current&&!s.current.contains(x.target)&&l(!1)};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[a]);let u=(p,x)=>{let g=t.map(I=>I.value).filter(I=>I===p?x:f.includes(I));r(g)},d=t.filter(p=>f.includes(p.value)).map(p=>p.label).join(", ");return Wc("div",{className:"sf-field sf-multi",ref:s,children:[zo("div",{className:"sf-field-label",id:`${c}-label`,children:e}),Wc("button",{ref:i,type:"button",className:"sf-multi-btn","aria-expanded":a,"aria-controls":c,"aria-labelledby":`${c}-label ${c}-value`,onClick:()=>l(p=>!p),onKeyDown:p=>{p.key==="Escape"&&a&&(p.preventDefault(),l(!1))},children:[zo("span",{id:`${c}-value`,className:`sf-multi-value${d?"":" is-empty"}`,children:d||n}),zo("span",{className:"sf-multi-caret","aria-hidden":"true",children:"\u25BE"})]}),a&&zo("div",{className:"sf-multi-menu",id:c,role:"group","aria-labelledby":`${c}-label`,onKeyDown:p=>{p.key==="Escape"&&(p.preventDefault(),l(!1),i.current?.focus())},children:t.map(p=>Wc("label",{className:"sf-multi-option",children:[zo("input",{type:"checkbox",checked:f.includes(p.value),onChange:x=>u(p.value,x.target.checked)}),zo("span",{children:p.label}),p.note?zo("span",{className:"sf-note","aria-hidden":"true",children:p.note}):null]},p.value))})]})}import{useCallback as SF,useContext as CF,useEffect as PF,useId as $I,useRef as zI,useState as KI}from"react";import{ThemeIcon as kF}from"efficient-easel/icons";import{SettingsField as wF}from"efficient-easel/panel";import{SettingsField as $c,SettingsGroupSub as sF}from"efficient-easel/panel";import{SettingsField as tF}from"efficient-easel/panel";import{AccentIcon as oF}from"efficient-easel/icons";import{jsx as Ko,jsxs as BI}from"react/jsx-runtime";function zc(e){return lo(e).background}function rF(e){let t=so(e.accent,zc(e));return t===null?null:{ratio:t,grade:rr(t)}}function nF(e){let t=zc(e),o=so(e.accent,t);return o===null?[]:Ud(e.accent).filter(r=>{let n=so(r,t);return n!==null&&n>o&&rr(n)==="good"})}var aF={good:"Easy to read","large-only":or["large-only"],hard:or.hard};function Kc({value:e,onChange:t}){let o=rF(e),r=o?.grade,n=o&&o.grade!=="good"?nF(e):[];return Ko(tF,{label:"Main color",icon:Ko(oF,{}),hint:o?aF[o.grade]:void 0,action:Ko(Zt,{value:e.accent,onChange:a=>t({...e,accent:a}),label:"Main color"}),children:n.length>0?Ko("div",{className:"w-full min-w-0",children:BI("div",{className:"sf-readability",children:[Ko("p",{className:"sf-readability-advice",children:lF(r,!0)}),Ko("div",{className:"sf-readability-suggestions",children:n.map(a=>{let l=so(a,zc(e));return BI("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>t({...e,accent:a}),title:`Use ${a.toUpperCase()}`,children:[Ko("span",{className:"sf-readability-chip",style:{background:a},"aria-hidden":!0}),l?`${l.toFixed(1)}:1`:a.toUpperCase()]},a)})})]})}):null})}function lF(e,t){return e?e==="good"?"This color reads clearly on your pages.":t?"This color is hard to read on this theme's page. The buttons below are the same hue, darkened.":"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.":"Pick a color to see how it reads."}import{ButtonIcon as iF,GroundIcon as cF,LayoutIcon as fF,SquareIcon as dF,TextSmallIcon as uF,TypeIcon as DI}from"efficient-easel/icons";import{Fragment as IF,jsx as U,jsxs as Po}from"react/jsx-runtime";var En=e=>`Theme ${e+1}`;function MI({colors:e}){let t=lo(e),o=ds(e)??t.accent;return Po("span",{className:"sf-theme-page",style:{background:t.background,color:t.text},"aria-hidden":!0,children:[U("span",{className:"sf-theme-eyebrow",style:{color:t.muted},children:"label"}),Po("span",{className:"sf-theme-headline",children:["Heading ",U("span",{style:{color:t.accent},children:"accent"})]}),U("span",{className:"sf-theme-body",children:"body text"}),Po("span",{className:"sf-theme-row",children:[U("span",{className:"sf-theme-btn",style:{background:o,color:us(e,t.accent)},children:"button"}),U("span",{className:"sf-theme-mini",style:{background:t.surface,borderColor:t.line},children:"card"})]})]})}var Vc={"Text color":U(DI,{}),"Label color":U(uF,{}),Background:U(cF,{}),"Panels & cards":U(fF,{}),Borders:U(dF,{}),"Button color":U(iF,{}),"Button text color":U(DI,{})};function pF({label:e,colorKey:t,value:o,onChange:r,idPrefix:n="sf-theme-ink"}){let a=`${n}-${t}`;return U($c,{label:e,icon:Vc[e],htmlFor:a,action:U(Zt,{id:a,label:e,value:o,onChange:l=>r(t,l)})})}function mF({value:e,accent:t,onChange:o,idPrefix:r="sf-theme-ink"}){let n=`${r}-button`,a=/^#[0-9a-fA-F]{6}$/.test(e??""),l=a?e:t;return U($c,{label:"Button color",icon:Vc["Button color"],htmlFor:n,action:U(Zt,{id:n,label:"Button color",value:l,caption:a?l:"Main",onChange:o})})}function xF({colors:e,accent:t,onChange:o,idPrefix:r="sf-theme-ink"}){let n=`${r}-button-ink`,a=zd(e),l=us(e,t),s=ds(e)??t,i=rr(so(l,s)??0);return U($c,{label:"Button text color",icon:Vc["Button text color"],hint:a&&i!=="good"?`${or[i]} on the button`:void 0,htmlFor:n,action:U(Zt,{id:n,label:"Button text color",value:l,caption:a?l:"Auto",onChange:o})})}var gF=[{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 qc({colors:e,onChange:t,idPrefix:o}){let r=lo(e);return U(IF,{children:gF.map(n=>"colour"in n?U(Kc,{value:e,onChange:t},"colour"):"group"in n?U(sF,{title:n.group},n.group):"button"in n?U(mF,{value:e.button,accent:r.accent,onChange:a=>t({...e,button:a}),idPrefix:o},"button"):"buttonInk"in n?U(xF,{colors:e,accent:r.accent,onChange:a=>t({...e,buttonInk:a}),idPrefix:o},"buttonInk"):U(pF,{label:n.label,colorKey:n.key,value:r[n.key],onChange:(a,l)=>t({...e,[a]:l}),idPrefix:o},n.key))})}function HI({index:e,colors:t,selected:o,role:r="radio",open:n,editable:a=!0,onPick:l,onEdit:s,onChangeColors:i}){let c=lo(t),f=En(e),u=e<fs.length&&!t.brandInk?fs[e]:null,d=rr(so(c.text,c.background)??0),p=u?JSON.stringify(t)!==JSON.stringify(u):!1,x=n!==void 0;return Po("div",{className:`sf-theme-card${o?" is-selected":""}`,children:[U("button",{type:"button",role:r,"aria-checked":r==="radio"?o:void 0,"aria-selected":r==="option"?o:void 0,"aria-label":f,className:"sf-theme-pick",onClick:l,children:U(MI,{colors:t})}),Po("div",{className:"sf-theme-foot",children:[U("span",{className:"sf-theme-name",children:f}),d!=="good"&&U("span",{className:"sf-theme-warn",children:or[d]}),a&&s&&U("button",{type:"button",className:`sf-theme-edit${n?" is-open":""}`,"aria-expanded":x?n:void 0,"aria-controls":x?`sf-theme-colours-${e}`:void 0,"aria-label":`${n?"Done":"Edit"} ${f}`,onClick:s,children:n?"Done":"Edit"})]}),n&&Po("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[U(qc,{colors:t,onChange:g=>i?.(g)}),u&&U("button",{type:"button",className:"sf-theme-reset",disabled:!p,onClick:()=>i?.({...u}),children:p?`Reset ${f} to the preset`:"Not changed"})]})]})}function GI({colors:e,name:t,nameId:o,open:r,menuId:n,labelId:a,buttonRef:l,onClick:s,onKeyDown:i,onEdit:c}){return Po("div",{className:"sf-secttheme-btn",children:[U("button",{ref:l,type:"button",className:"sf-theme-pick","aria-expanded":r,"aria-controls":n,"aria-labelledby":`${a} ${o}`,onClick:s,onKeyDown:i,children:e?U(MI,{colors:e}):U("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Po("div",{className:"sf-theme-foot",children:[U("span",{id:o,className:"sf-theme-name",children:t}),c&&U("button",{type:"button",className:"sf-theme-edit","aria-label":`Edit ${t}`,onClick:c,children:"Edit"}),U("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:s,children:U("span",{className:"sf-multi-caret",children:"\u25BE"})})]})]})}import{useCallback as Yc,useEffect as hF,useRef as Al}from"react";function WI(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function bF(e,t=oe.updateThemeSettings){let{themeFromDocument:o,token:r,siteId:n,patch:a}=e,l=WI({themeFromDocument:o,token:r});if(l)return l;if(Object.keys(a).length===0)return{status:"skipped",reason:"empty"};try{return await t(a,r,n??void 0),{status:"saved"}}catch(s){return{status:"failed",error:s}}}function UI({themeFromDocument:e,tokenRef:t,siteId:o,onResult:r}){let n=Al(null),a=Al({}),l=Al(r);l.current=r;let s=Al(null),i=Yc(u=>{if(u.status==="skipped"){let d=`skipped:${u.reason}`;if(s.current===d)return;s.current=d}else s.current=null;l.current?.(u)},[]),c=Yc(async()=>{n.current&&(clearTimeout(n.current),n.current=null);let u=a.current;a.current={};let d=await bF({themeFromDocument:e,token:t?.current,siteId:o,patch:u});return i(d),d},[e,t,o,i]),f=Yc((u,d=!1)=>{let p=WI({themeFromDocument:e,token:t?.current});if(p){i(p);return}a.current={...a.current,...u},n.current&&clearTimeout(n.current),d?c():n.current=setTimeout(()=>{c()},500)},[e,t,c,i]);return hF(()=>()=>{c()},[c]),{persist:f,flush:c}}import{Fragment as _F,jsx as ve,jsxs as $o}from"react/jsx-runtime";var vF="Follow the page",mz="Follow the slideshow",TF=e=>`Editing ${e} changes it everywhere.`;function RF({colors:e}){if(!e)return ve("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let t=lo(e);return $o("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[ve("i",{style:{background:t.background}}),ve("i",{className:"sf-secttheme-chip-accent",style:{background:t.accent}})]})}function FF({themes:e,value:t,onPick:o,onEdit:r,menuId:n,followLabel:a}){return $o("div",{className:"sf-multi-menu sf-secttheme-menu",id:n,role:"listbox",children:[a!==void 0&&$o(_F,{children:[$o("button",{type:"button",role:"option","aria-selected":t===null,className:`sf-secttheme-item${t===null?" is-active":""}`,onClick:()=>o(-1),children:[ve(RF,{}),ve("span",{className:"sf-secttheme-name",children:a})]}),ve("div",{className:"sf-secttheme-sep",role:"presentation"})]}),t!==null&&e[t]&&ve("p",{className:"sf-secttheme-oncard",role:"presentation",children:`${En(t)} is on this section`}),e.map((l,s)=>s===t?null:ve(HI,{role:"option",index:s,colors:l,selected:!1,onPick:()=>o(s),onEdit:()=>r(s)},s))]})}function EF({index:e,colors:t,onChange:o,onDone:r}){let n=En(e),a=$I();return $o("div",{className:"sf-secttheme-sheet",children:[$o("div",{className:"sf-secttheme-sheet-head",children:[ve("span",{children:n}),ve("button",{type:"button",className:"sf-secttheme-done",onClick:r,children:"Done"})]}),ve("div",{className:"sf-secttheme-rows",children:ve(qc,{colors:t,onChange:o,idPrefix:a})}),ve("p",{className:"sf-secttheme-warn",children:TF(n)})]})}function Xc({value:e,onChange:t,followLabel:o}){let{theme:r,setTheme:n}=uo(),a=jr(r),l=CF(So),s=l?.tokenRef,i=l?.siteId??null,c=!l?.capabilities?.hasSiteTheme,{persist:f,flush:u}=UI({themeFromDocument:c,tokenRef:s,siteId:i}),d=jr(a),p=d.themes,x=Yd(e),g=x!==null?p[x]:void 0,I=g??(p.length?Wd(d):void 0),[h,k]=KI(!1),[S,C]=KI(null),T=zI(null),b=zI(null),w=$I(),O=SF(()=>{k(!1),C(null)},[]);PF(()=>{if(!h&&S===null)return;let _=G=>{T.current&&!T.current.contains(G.target)&&(u(),O())};return document.addEventListener("mousedown",_),()=>document.removeEventListener("mousedown",_)},[h,S,O,u]);let D=_=>{t(_),O()},R=_=>{if(S===null)return;let G=p.map((M,v)=>v===S?_:M),Y={...d,themes:G};n(Y),f({selected_preset:Y.selected,theme_presets:Y.themes})};return $o("div",{className:"sf-secttheme",ref:T,children:[ve(wF,{label:"Theme",icon:ve(kF,{}),labelId:`${w}-label`,children:ve(GI,{colors:I,onEdit:x!==null?()=>{C(x),k(!1)}:void 0,name:g?En(x):o??vF,nameId:`${w}-value`,labelId:`${w}-label`,open:h,menuId:w,buttonRef:b,onClick:()=>{C(null),k(_=>!_)},onKeyDown:_=>{_.key==="Escape"&&(h||S!==null)&&(_.preventDefault(),O())}})}),h&&S===null&&ve("div",{onKeyDown:_=>{_.key==="Escape"&&(_.preventDefault(),O(),b.current?.focus())},children:ve(FF,{themes:p,value:x,onPick:D,onEdit:_=>{C(_),k(!1)},menuId:w,followLabel:o})}),S!==null&&p[S]&&ve(EF,{index:S,colors:p[S],onChange:R,onDone:()=>{u(),O(),b.current?.focus()}})]})}import{SettingsField as HF}from"efficient-easel/panel";import{LinkIcon as GF}from"efficient-easel/icons";import{useEffect as oh,useRef as WF,useState as Ll}from"react";var VI=[{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 qI(e){return e.offersCommerce&&e.offersService?VI:VI.filter(t=>!t.needs||(t.needs==="commerce"?e.offersCommerce:e.offersService))}function AF(e){return ba(e)}function _n(e){return e===dt?"/":`/${e}`}function YI(e){return`/journal/${e}`}function XI(e){return`/wheels/${e}`}function jc(e,t){return`${_n(e)}#${t}`}function LF(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function jI(...e){let t=new Set,o=[];for(let r of e){let n=r;for(let a of n?.content??[]){let l=LF(a?.props?.anchor);if(!l)continue;let s=AF(l);!s||t.has(s)||(t.add(s),o.push({slug:s,name:l}))}}return o}function Sz(){return"/wheels"}function OF(e){return(e.layout?.content??[]).some(o=>o?.type===Pr)}function JI(e){return e.filter(OF).map(t=>_n(t.slug))}function Jc(e){let t=e.indexOf("#"),o=t===-1?"":e.slice(t),r=t===-1?e:e.slice(0,t),n=r.indexOf("?");return{path:n===-1?r:r.slice(0,n),params:new URLSearchParams(n===-1?"":r.slice(n+1)),hash:o}}function ZI(e){return Jc(e).path}function QI(e){return Jc(e).params.get(xr)||null}function eh(e,t){let{path:o,params:r,hash:n}=Jc(e);t?r.set(xr,t):r.delete(xr);let a=r.toString();return`${o}${a?`?${a}`:""}${n}`}function th(e,t){if(!e)return"page";if(e.startsWith("/journal/"))return"blog";if(e.startsWith("/wheels/"))return"product";if(e.includes("#")){let o=e.slice(0,e.indexOf("#"));if(o===""||o==="/"||t.includes(o))return"anchor"}return e==="/"||t.includes(e)?"page":"custom"}import{SettingsField as NF}from"efficient-easel/panel";import{CategoryIcon as BF}from"efficient-easel/icons";import{Fragment as DF,jsx as Er,jsxs as MF}from"react/jsx-runtime";function Zc({value:e,onChange:t}){let o=QI(e),r=o&&!No.some(n=>n===o)?o:null;return Er(NF,{label:"Product type",icon:Er(BF,{}),hint:Er(DF,{children:"The same page can sit in the menu more than once, each entry opening it on a different type."}),children:MF("select",{value:o??"",onChange:n=>t(eh(e,n.target.value||null)),"aria-label":"Product type this link opens the listing on",children:[Er("option",{value:"",children:km}),No.map(n=>Er("option",{value:n,children:mr[n]},n)),r&&Er("option",{value:r,children:`${r} (unavailable)`})]})})}import{jsx as mt,jsxs as Ol}from"react/jsx-runtime";function rh(e){let t=new Map;return(o="")=>{let r=lr(),n=t.get(o);if(!n||n.token===null&&r!==null){let a=r?e(r,o).catch(()=>[]):Promise.resolve([]);return t.set(o,{promise:a,token:r}),a}return n.promise}}var UF=rh((e,t)=>oe.listPages(e,t||void 0)),zF=rh((e,t)=>oe.listBlogPosts(e,{visibleOnly:!0,siteId:t||void 0}));function Qc(e,t){return e&&!t.some(o=>o.value===e)?[{value:e,label:`${e} (unavailable)`},...t]:t}function ef({value:e,onChange:t,label:o="Link"}){let r=typeof e=="string"?e:"",{siteId:n,capabilities:a}=Kg(),{offersCommerce:l,offersService:s}=a,i=qI({offersCommerce:l,offersService:s}),[c,f]=Ll([]),[u,d]=Ll([]),[p,x]=Ll([]),[g,I]=Ll(null),h=WF(!0);oh(()=>(h.current=!0,()=>{h.current=!1}),[]),oh(()=>{let v=!0;return UF(n??void 0).then(j=>v&&h.current&&f(j)),s&&zF(n??void 0).then(j=>v&&h.current&&d(j)),l&&Ao().then(j=>v&&h.current&&x(j)),()=>{v=!1}},[n,l,s]);let k=c.map(v=>_n(v.slug)),S=g??th(r,k),C=i.some(v=>v.value===S)?S:"custom",T=l&&C==="page"&&JI(c).includes(ZI(r)),b=v=>{I(v),v!=="custom"&&t("")},w=c.filter(v=>!Qr(v.slug)),O=Qc(r,w.map(v=>({value:_n(v.slug),label:en(v)}))),D=Qc(r,u.map(v=>({value:YI(v.slug),label:v.title||v.slug}))),R=Qc(r,p.map(v=>({value:XI(v.slug),label:v.name}))),_=(v,j)=>Ol("select",{value:r,onChange:F=>t(F.target.value),children:[mt("option",{value:"",children:j}),v.map((F,E)=>mt("option",{value:F.value,children:F.label},`${F.value}:${E}`))]}),G=w.map(v=>({page:v,anchors:jI(v.layout)})).filter(v=>v.anchors.length>0),Y=G.flatMap(v=>v.anchors.map(j=>jc(v.page.slug,j.slug))),M=Ol("select",{value:r,onChange:v=>t(v.target.value),children:[mt("option",{value:"",children:G.length?"Select a section\u2026":"No section anchors yet"}),r&&!Y.includes(r)&&mt("option",{value:r,children:`${r} (unavailable)`}),G.map(v=>mt("optgroup",{label:en(v.page),children:v.anchors.map(j=>{let F=jc(v.page.slug,j.slug);return mt("option",{value:F,children:j.name},F)})},v.page.id))]});return Ol("div",{children:[mt(HF,{label:o,icon:mt(GF,{}),children:Ol("div",{className:"sf-linkstack",children:[mt("select",{"aria-label":"Link type",value:C,onChange:v=>b(v.target.value),children:i.map(v=>mt("option",{value:v.value,children:v.label},v.value))}),C==="page"&&_(O,"Select a page\u2026"),C==="anchor"&&M,C==="blog"&&_(D,"Select a blog post\u2026"),C==="product"&&_(R,"Select a product\u2026"),C==="custom"&&mt("input",{type:"text",value:r,placeholder:"Link (e.g. /wheels or https://\u2026)",onChange:v=>t(v.target.value)})]})}),T&&mt(Zc,{value:r,onChange:t})]})}var wt={min:10,max:200,step:10};function nh(e,t){let o=typeof e=="number"?e:void 0,r=typeof t=="number"?t:void 0;if(!(o===void 0&&r===void 0))return{paddingTop:o,paddingBottom:r}}var KF="sf-pad-top-phone",$F="sf-pad-bottom-phone",VF="--sf-pad-t-phone",qF="--sf-pad-b-phone",YF="sf-pad-left-phone",XF="sf-pad-right-phone",jF="--sf-pad-l-phone",JF="--sf-pad-r-phone";function Uz(e,t,o,r,n,a,l,s){let i=nh(e,t)??{},c={},f=["sf-section-pad"];typeof o=="number"&&(f.push(KF),c[VF]=`${o}px`),typeof r=="number"&&(f.push($F),c[qF]=`${r}px`);let u={};return typeof n=="number"&&(u.paddingLeft=n),typeof a=="number"&&(u.paddingRight=a),typeof l=="number"&&(f.push(YF),c[jF]=`${l}px`),typeof s=="number"&&(f.push(XF),c[JF]=`${s}px`),f.length===1&&nh(e,t)===void 0&&!Object.keys(u).length?null:{className:f.join(" "),style:{...i,...u,...c}}}var ah=e=>typeof e=="number"?e:void 0;function lh(e,t,o){let r=ah(e)??o,n=ah(t);return r===void 0?n:n===void 0?r:r+n}function zz(e,t={}){return{top:lh(e.padTop,e.sectionPaddingTop,t.top),bottom:lh(e.padBottom,e.sectionPaddingBottom,t.bottom)}}var ZF=["auto","fixed","screen"],QF=["px","%"];var eE="var(--sf-header-h, 88px)",tf={min:40,max:2e3,step:10,fallback:600},of={min:10,max:200,step:5,fallback:100},tE="sf-section-minh",sh={base:"--sf-section-minh",small:"--sf-section-minh-s"},ch=e=>typeof e=="string"&&ZF.includes(e),oE=e=>typeof e=="string"&&QF.includes(e);function Nl(e){let t=ch(e.sectionHeightMode)?e.sectionHeightMode:"auto",o=t==="screen"?"%":oE(e.sectionHeightUnit)?e.sectionHeightUnit:"px",r=t==="screen"?of.fallback:tf.fallback,n=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:r;return{mode:t,value:n,unit:o}}function fh(e){let{mode:t,value:o,unit:r}=Nl(e);if(t==="auto")return;if(t==="fixed"&&r==="px")return[`${o}px`,null];let n=o/100,a=l=>t==="screen"?`(100${l} - ${eE})`:`100${l}`;return[`calc(${a("vh")} * ${n})`,`calc(${a("svh")} * ${n})`]}function rE(e){let t=fh(e);if(!t)return;let[o,r]=t;return{display:"grid",[sh.base]:o,...r?{[sh.small]:r}:{}}}var $z=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),_r="Height",nE="sf-section-minh-phone",ih={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function rf(e){return ch(e.sectionHeightModePhone)}function Vz(e){return Nl({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}function aE(e){let t=rE(e),o=rf(e)?fh({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone}):void 0;if(!t&&!o)return null;let r=[tE],n={...t??{}};return o&&(r.push(nE),n[ih.base]=o[0],o[1]&&(n[ih.small]=o[1])),{className:r.join(" "),style:n}}function qz(e){return aE(e)!==null}var Xz=["desktop","tablet","mobile"],Ar={desktop:"Desktop",tablet:"Tablet",mobile:"Mobile"},lE=720,sE=1100;function jz(e){return e>=sE?"desktop":e>=lE?"tablet":"mobile"}var iE=["column","row","tabs"],dh="Direction",cE={column:"Stacked",row:"One row",tabs:"Tabs"},uh={Flex:iE,HeroGroup:["column","row"]},fE={Flex:"row",HeroGroup:"column"},dE={column:"flex-col",row:"flex-row",tabs:"flex-col"};function Bl(e,t){return uh[e].includes(t)?t:fE[e]}function Zz(e,t){return dE[Bl(e,t)]}function ph(e){return uh[e].map(t=>({label:cE[t],value:t}))}var nf=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],gh=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Stretch",value:"stretch"}],Ih="Wrap",af=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],mh={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},xh={start:"items-start",center:"items-center",stretch:"items-stretch"};function e3(e,t){let o=typeof e=="string"&&e in mh?mh[e]:"",r=typeof t=="string"&&t in xh?xh[t]:"";return[o,r].filter(Boolean).join(" ")}function t3(e){return e===!0||e==="wrap"?"flex-wrap":""}var lf="Block widths",Dl=[{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]}],An="[&>*]:min-w-0 [&>*]:flex-1 [&>*]:basis-0",uE={equal:An,bigLeft:`${An} [&>*:first-child]:min-[800px]:grow-[2]`,bigRight:`${An} [&>*:last-child]:min-[800px]:grow-[2]`,biggerLeft:`${An} [&>*:first-child]:min-[800px]:grow-[3]`,biggerRight:`${An} [&>*:last-child]:min-[800px]:grow-[3]`};function o3(e){return typeof e=="string"?uE[e]??"":""}var hh="Columns on phone",sf=1,bh=3,pE={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 r3(e){let t=Number(e);return pE[t]??"max-[800px]:flex-col"}var yh="Block spacing",cf=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],mE="sf-box-gap-only";function n3(e){return e==="gap"?mE:""}var Sh=["transparent","var(--section-bg)","var(--surface)","var(--surface-2)"],Ch={transparent:"No fill","var(--section-bg)":"Section band","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Ml="var(--section-bg)",Hl="inherit";function l3(e,t){return e===Hl?Ml:e===void 0?t:e}function Ph(e,t){return e===Hl?!0:e===void 0&&t===Ml}var kh="inherit",Gl="fixed",wh=e=>typeof e!="number"&&e!==Gl,xE="var(--sf-heading-max, 9999px)";function i3(e,t,o,r){if(typeof e=="number")return`${e}px`;if(e===Gl)return t;let n=r?`var(--size-${r}, ${t})`:t;return o==="heading"?`min(${n}, ${xE})`:n}var gE=["contained","page","full"],vh=["full","page"],Th={full:"Full width",page:"Content width"},ff="inherit",IE=e=>typeof e=="string"&&gE.includes(e),hE=e=>e===ff;function df(e,t){let o=typeof e.pageWidth=="number"?e.pageWidth:Jn.default;return hE(e.widthMode)?{mode:"full",pageWidth:o,inherited:!0}:e.widthMode==="contained"?{mode:"page",pageWidth:o,inherited:!1}:IE(e.widthMode)?{mode:e.widthMode,pageWidth:o,inherited:!1}:e.contained===!0?{mode:"page",pageWidth:o,inherited:!1}:typeof e.fullWidth=="boolean"?{mode:e.fullWidth?"full":"page",pageWidth:o,inherited:!1}:e.contained===!1?{mode:"full",pageWidth:o,inherited:!1}:{mode:t,pageWidth:o,inherited:t==="full"}}function uf(e){return df(e,"page").mode==="full"}import{createContext as bE,useContext as yE}from"react";import{jsx as PE}from"react/jsx-runtime";var SE=2,CE=SE+1,Rh=bE(2);function p3({tier:e,children:t}){return PE(Rh.Provider,{value:e,children:t})}function pf(e){let t=yE(Rh);return CE+Math.max(0,e-t)}import{withStyleKind as n_}from"efficient-easel/style-clipboard";import{Fragment as Qt,jsx as m,jsxs as Ce}from"react/jsx-runtime";function Ln(e){for(let[t,o]of Object.entries(e))o&&typeof o=="object"&&!Br(o)&&n_(o,`section:${t}`);return e}function Mh(){return null}function a_(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return m(Mh,{},e)}function l_(e){return e.type===Mh}function Ul(e){return l_(e)?void 0:e}function wo({inherited:e,source:t,detail:o,onReset:r,onOptOut:n,optOutTitle:a,label:l}){if(e){let i=o?`Following the ${t.toLowerCase()} setting \u2014 ${o}`:`Following the ${t.toLowerCase()} setting`;if(!n)return Ce("span",{className:"sf-inherit",title:o?i:void 0,children:["Inherits \xB7 ",t]});let c=`${i}. ${a??`Click to keep ${l} at this section's own size instead`}`;return Ce("button",{type:"button",className:"sf-inherit sf-inherit--following",onClick:n,title:c,"aria-label":c,children:["Inherits \xB7 ",t,m("span",{className:"sf-inherit-revert","aria-hidden":"true",children:"\u21F1"})]})}let s=`Reset ${l} to follow the ${t.toLowerCase()} setting${o?` (${o})`:""}`;return Ce("button",{type:"button",className:"sf-inherit sf-inherit--over",onClick:r,title:s,"aria-label":s,children:["Overridden",m("span",{className:"sf-inherit-revert","aria-hidden":"true",children:"\u21BA"})]})}function s_(){let{appState:e}=Or(n=>n),t=e.data.root?.props??{},{mode:o,pageWidth:r}=df(t,"full");return o==="page"?`Page width \u2014 ${r}px`:o==="contained"?"Page width \u2014 Contained":"Page width \u2014 Full"}function i_(){let{blockGap:e}=uo();return e===null?"Site block gap \u2014 not set, so this container keeps its own spacing":`Site block gap \u2014 ${e}px`}function c_({inherited:e,onReset:t,label:o}){return m(wo,{inherited:e,source:"Site",detail:i_(),onReset:t,label:o})}function f_({inherited:e,onReset:t,label:o}){return m(wo,{inherited:e,source:"Page",detail:s_(),onReset:t,label:o})}function d_(){return Ce("svg",{className:"sf-field-type",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.8,"aria-hidden":"true",children:[m("polyline",{points:"4 7 4 4 20 4 20 7"}),m("line",{x1:"9",x2:"15",y1:"20",y2:"20"}),m("line",{x1:"12",x2:"12",y1:"4",y2:"20"})]})}function qo({value:e,onChange:t,label:o,placeholder:r,hint:n,multiline:a,hideable:l=!0,markup:s=!0}){let{text:i,hidden:c}=Jt(e),f=gf(null),u=gf(null),d=g=>t(l?{text:g,hidden:c}:g),p=()=>t({text:i,hidden:!c});return Ce("div",{className:`sf-field${l&&c?" is-hidden":""}`,children:[Ce("div",{className:"sf-field-head",children:[m(d_,{}),m("span",{className:"sf-field-label sf-field-label--inline",children:o}),l&&m("button",{type:"button",className:"sf-field-eye","aria-pressed":c,"aria-label":c?`Show ${o} on the slide`:`Hide ${o} on the slide`,title:c?`Show ${o} on the slide`:`Hide ${o} on the slide`,onClick:p,children:c?m(Jr,{name:"eye-off",size:14}):m(Jr,{name:"eye",size:14})})]}),Ce("div",{className:"sf-copybox",children:[s&&m(Ac,{target:a?u:f,value:i,onChange:d}),a?m("textarea",{ref:u,value:i,placeholder:r,onChange:g=>d(g.target.value)}):m("input",{ref:f,type:"text",value:i,placeholder:r,onChange:g=>d(g.target.value)})]}),n&&m("p",{className:`sf-field-hint${g_(n)?" sf-field-hint--while-typing":""}`,children:n})]})}function PK(e,t){return{...e,[gn]:t}}function kK(e){let t=e[_e];if(!t)throw new Error("withOffPage: the field holds no authored text");return{...e,[_e]:{...t,offPage:!0}}}function wK(e){return!e||typeof e!="object"?!1:e[_e]?.offPage===!0}function vK(e){let t=e[_e];if(!t)throw new Error("withIdentifier: the field holds no authored text");return{...e,[_e]:{...t,identifier:!0}}}function Hh(e){return!e||typeof e!="object"?!1:e[_e]?.identifier===!0}var u_=new Set(Mo),Nr=(e,t)=>{let o={...t,[_e]:e};if(!u_.has(e.control))return o;let r=t.render;return{...El(o,"authored-copy"),render:n=>m(wI,{name:n.name,children:r(n)})}},TK="Everything else on this block comes from the linked post. Unlink it to edit by hand.",p_="Select a word, then press the highlighter.",m_="A short name so a link can jump straight to this section, like yoursite.com/page#about.",x_=new Set([p_]),g_=e=>x_.has(e);function RK(e,t,o){return Nr({control:"text",label:e,placeholder:t,hint:o},{type:"custom",render:({value:r,onChange:n})=>m(qo,{value:r,onChange:n,label:e,placeholder:t,hint:o})})}function FK(e,t,o){return Nr({control:"textarea",label:e,placeholder:t,hint:o},{type:"custom",render:({value:r,onChange:n})=>m(qo,{value:r,onChange:n,label:e,placeholder:t,hint:o,multiline:!0})})}function I_(e,t,o){return Nr({control:"plainText",label:e,placeholder:t,hint:o},{type:"custom",render:({value:r,onChange:n})=>m(qo,{value:r,onChange:n,label:e,placeholder:t,hint:o,hideable:!1,markup:!1})})}function EK(e,t,o){return Nr({control:"copyText",label:e,placeholder:t,hint:o},{type:"custom",render:({value:r,onChange:n})=>m(qo,{value:r,onChange:n,label:e,placeholder:t,hint:o,hideable:!1})})}function _K(e){return{type:"custom",[xn]:{label:e},render:({value:t,onChange:o})=>m(ef,{value:hr(t),onChange:o,label:e})}}function AK(e,t,o){return Nr({control:"plainTextarea",label:e,placeholder:t,hint:o},{type:"custom",render:({value:r,onChange:n})=>m(qo,{value:r,onChange:n,label:e,placeholder:t,hint:o,multiline:!0,hideable:!1})})}var LK={Content:jE,Style:XE,Layout:ME,Animation:Eh};function OK(e,t){return e.includes("Content")?t!=="Content":null}function h_({label:e}){return m(QE,{title:e,level:pf(1)})}function b_({level:e,label:t}){return e===1?m(h_,{label:t}):m(y_,{label:t})}var If="__fold";function Br(e){return e?.[If]??null}function Gh(e,t){return{type:"custom",[If]:{label:e,level:t},render:()=>m(b_,{level:t,label:e})}}function ft(e){return Gh(e,2)}function NK(e){return{type:"custom",render:()=>m(Wh,{text:e})}}function Wh({text:e}){return m("p",{className:"sf-note",children:e})}function BK(e){return Gh(e,1)}function DK(e){return Br(e)!==null&&e?.tabs!==void 0}var Fh=new Map;function zl(e,t){let o=`${e}\0${t?t.join(""):""}`,r=Fh.get(o)??{type:"custom",tabs:t,[If]:{label:e,level:1},bucket:e,marker:!0,render:()=>m(Qt,{})};return Fh.set(o,r),r}function y_({label:e}){return m(e_,{title:e,level:pf(2)})}function Uh({swatches:e,current:t,onPick:o,names:r}){let n=e.find(l=>l.toLowerCase()===t.toLowerCase()),a=(n?r?.[n]:void 0)??t;return Ce("div",{className:"sf-swatches",children:[e.map(l=>{let s=r?.[l]??l;return m("button",{type:"button","aria-pressed":t.toLowerCase()===l.toLowerCase(),className:`sf-swatch ${t.toLowerCase()===l.toLowerCase()?"is-active":""}`,style:{background:l},onClick:()=>o(l),"aria-label":s,title:s},l)}),m("span",{className:"sf-swatch-hex",children:a})]})}function MK(e,t){return{type:"custom",render:({value:o,onChange:r})=>{let n=Ph(o,t);return m(he,{label:e,icon:m(vE,{}),action:m(wo,{inherited:n,source:"Theme",detail:"the theme's section background",onReset:()=>r(Hl),label:e}),children:Uh({swatches:Sh,current:n?Ml:o??t??"",onPick:r,names:Ch})})}}}function S_(e,t){return{type:"custom",render:({value:o,onChange:r})=>{let n=o,a=up(n,t);return m(he,{label:e,icon:m(BE,{}),action:m(wo,{inherited:a,source:"Theme",detail:"the theme's image stage",onReset:()=>r(ln),label:e}),children:Uh({swatches:cp,current:a?Ft:Sa(n,t),onPick:r,names:fp})})}}}function zh(e=o=>o,t){return Ln({_gSectionTheme:ft(Vd),sectionAccent:{type:"custom",render:({value:o,onChange:r})=>m(Xc,{value:e(o),onChange:r,followLabel:t})}})}function Yo({min:e,max:t,step:o,value:r,onChange:n,suffix:a="",readout:l=!0,notch:s,ariaLabel:i,disabled:c=!1}){let f=s!==void 0&&Number.isFinite(s)&&s>=e&&s<=t;return Ce("div",{className:f?"sf-slider has-notch":"sf-slider",style:f?{"--sf-notch":(s-e)/(t-e)}:void 0,children:[m("input",{type:"range",min:e,max:t,step:o,value:r,"aria-label":i,disabled:c||void 0,onChange:u=>n(Number(u.target.value))}),l&&m(C_,{value:r,min:e,max:t,step:o,suffix:a,ariaLabel:i,onChange:n})]})}function C_({value:e,min:t,max:o,step:r,onChange:n,suffix:a="",ariaLabel:l,children:s}){let[i,c]=Wl(null),f=u=>{u.editing||c(null),u.commit!==null&&u.commit!==e&&n(u.commit)};return i===null?m("button",{type:"button",className:"sf-slider-val",title:"Click to type a value","aria-label":l?`${l}: type a value`:"Type a value",onClick:()=>c(String(e)),children:s??Ce(Qt,{children:[e,a]})}):m("input",{autoFocus:!0,type:"text",inputMode:"decimal",className:"sf-slider-val sf-slider-typed",value:i,"aria-label":l,onChange:u=>c(u.target.value),onFocus:u=>u.currentTarget.select(),onKeyDown:u=>{let d=Bc(u.key,i,t,o,r);d.handled&&(u.preventDefault(),u.stopPropagation(),f(d))},onBlur:()=>f(Bc(Nc,i,t,o,r))})}function Lr(e,t,o,r,n,a,l="",s){return{type:"custom",render:i=>m(he,{label:e,icon:Ul(t),action:s?s("storedValue"in i?i.storedValue:i.value,i.onChange):void 0,children:Yo({min:o,max:r,step:n,value:typeof i.value=="number"?i.value:a,suffix:l,onChange:i.onChange})})}}function Kh({min:e,max:t,step:o,px:r,label:n,onChange:a,disabled:l=!1}){let{cornerRadiusPx:s}=uo();return m(Qt,{children:Yo({min:e,max:t,step:o,value:r??(typeof s=="number"?s:e),readout:!1,ariaLabel:n,disabled:l,onChange:a})})}function On(e,t){let{min:o,max:r,step:n=1,unsetLabel:a="Not set",hint:l,restAtSite:s=!1,restTrack:i,unsetMark:c}=t;return{type:"custom",render:({value:f,onChange:u})=>{let d=typeof f=="number"?f:null,p=d===null;return m(he,{label:e,value:p?c?"":a:`${d}px`,changed:!p,action:p?c??null:m(bl,{label:e,what:"change",onClear:()=>u(null)}),hint:l,children:i?i({min:o,max:r,step:n,px:d,label:e,onChange:u}):s?m(Kh,{min:o,max:r,step:n,px:d,label:e,onChange:u}):Yo({min:o,max:r,step:n,value:d??o,readout:!1,ariaLabel:e,onChange:u})})}}}function HK(e){let t=Lr("Gap",m(Lh,{}),go.min,go.max,go.step,Ca[e],"px",(o,r)=>m(c_,{inherited:!Ys(e,o),onReset:()=>r(void 0),label:"Gap"}));return{type:"custom",[Ip]:e,render:o=>t.render({...o,value:qs(e,o.value,o.field?.siteGap),storedValue:o.value,onChange:r=>o.onChange(r)})}}function P_(){return{type:"custom",render:({value:e,onChange:t})=>{let r=pt(e)??[...ct],n=r.length===ct.length;return m(he,{label:Co,icon:m(Ah,{}),value:hl(r),changed:!n,action:n?null:m(bl,{label:Co,what:"change",onClear:()=>t(null)}),hint:"Corners left off stay square. The row above sets how round the others are.",children:m(T_,{value:r,onChange:a=>{let l=pt(a)??[];t(l.length===ct.length?null:l)}})})}}}function k_(){return On("Corners",{min:io,max:Eo,unsetLabel:"Inherits \xB7 Site",restTrack:e=>m(w_,{...e}),hint:m(v_,{})})}var $h="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function hf(){return uf(Kl())}function w_(e){return m(Kh,{...e,disabled:hf()})}function v_(){return m(Qt,{children:hf()?$h:"Follows Site styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function T_({value:e,onChange:t}){let o=hf();return m(Bh,{label:Co,value:e,corners:o?Fr.map(r=>({...r,disabled:!0,title:$h})):Fr,onChange:t})}function Vh(){return Ln({_gShape:ft("Shape"),sectionCorners:k_(),sectionCornerSides:P_()})}function qh(){return{_gMotion:ft("Motion"),sectionAnimation:Sf("Entrance",m(Eh,{}),[...dI],wc)}}function bf(){let e=null;try{let{appState:t,selectedItem:o}=Or(n=>n),r=o?.props?.id?String(o.props.id):void 0;e=r?Tc(t?.data,r):null}catch{e=null}return e!==null&&uf(e)}function Yh(e){let{cornerRadiusPx:t}=uo(),o=bf(),r=typeof t=="number"?t:e,n=null;try{let{appState:l,selectedItem:s}=Or(c=>c),i=s?.props?.id?String(s.props.id):void 0;n=i?Tc(l?.data,i):null}catch{n=null}if(o||!n)return r;let a=n.sectionCorners;return hc(a)?a:r}function R_({min:e,max:t,step:o,px:r,label:n,onChange:a}){let l=Yh(e);return m(Qt,{children:Yo({min:e,max:t,step:o,value:r??l,readout:!1,ariaLabel:n,onChange:a})})}function F_({label:e}){let t=bf(),o=Yh(io);return m(wo,{inherited:!0,source:t?"Site":"Section",detail:`${t?"Site":"Section"} \u2014 ${o}px`,onReset:()=>{},label:e})}function E_(){return m(Qt,{children:bf()?"The section is full width, so this card follows Site styles \u25B8 Basics \u25B8 Corners.":"Follows the section's Corners until you set a number here."})}function __(){return On("Corners",{min:io,max:Eo,unsetLabel:"Inherits \xB7 Section",unsetMark:m(F_,{label:"Corners"}),restTrack:e=>m(R_,{...e}),hint:m(E_,{})})}function A_({value:e,onChange:t}){return m(Bh,{label:Co,value:e,corners:Fr,onChange:t})}function L_({unset:e}){return m(Qt,{children:e?"Set a number above first \u2014 there is nothing to shape yet.":"Corners left off stay square. The row above sets how round the others are."})}function O_(){return{type:"custom",render:({value:e,onChange:t})=>{let r=pt(e)??[...ct],n=r.length===ct.length;return m(he,{label:Co,icon:m(Ah,{}),value:hl(r),changed:!n,action:n?null:m(bl,{label:Co,what:"change",onClear:()=>t(null)}),hint:m(L_,{unset:!wn(e)}),children:m(A_,{value:r,onChange:a=>{let l=pt(a)??[];t(l.length===ct.length?null:l)}})})}}}function N_(){return{type:"custom",render:()=>m(bc,{})}}function GK(){return{_gShape:ft("Shape"),cardCorners:__(),cardCornerSides:O_(),cardCornersApplyAll:N_()}}function WK(){return ko("Justify",m(wE,{}),nf,nf[0].value)}function UK(){return ko("Item alignment",m(kE,{}),gh,"stretch")}function zK(){return ko(Ih,m(ZE,{}),af,af[0].value)}function KK(){return{type:"custom",render:({value:e,onChange:t})=>{let o=Dl.find(r=>r.value===e)??Dl[0];return m(he,{label:lf,icon:m(_h,{}),value:o.label,children:m("div",{className:"sf-gallery-layouts",role:"group","aria-label":lf,children:Dl.map(r=>m("button",{type:"button","aria-pressed":o.value===r.value,"aria-label":r.label,title:r.label,onClick:()=>t(r.value),children:m("span",{className:"sf-gallery-pic",children:B_(r.weights).map((n,a)=>m("i",{style:{gridColumn:`span ${n}`}},a))})},r.value))})})}}}function B_(e){if(!e)return[3,4];let t=e.reduce((o,r)=>o+r,0);return e.map(o=>Math.round(o/t*12))}function $K(){return ko(yh,m(Lh,{}),cf,cf[0].value)}function VK(){return Lr(hh,m(KE,{}),sf,bh,1,sf)}function qK(e){let t=Sf(dh,a_("`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)."),ph(e),Bl(e,void 0));return{type:"custom",render:o=>t.render({...o,value:Bl(e,o.value),onChange:r=>o.onChange(r)})}}function YK(e,t,o,r,n,a){return{type:"custom",render:({value:l,onChange:s})=>m(he,{label:e,icon:m(Pc,{noun:a}),action:m(wo,{inherited:wh(l),source:"Text",detail:"Website settings \u2192 Text",onReset:()=>s(kh),onOptOut:()=>s(Gl),optOutTitle:`Click to keep ${e} at this section's own built-in size instead`,label:e}),children:Yo({min:t,max:o,step:r,value:typeof l=="number"?l:n,suffix:"px",onChange:s})})}}function XK(){return{_gCellWidth:ft("Cell width"),gridSpan:ko("Positions",m(_h,{}),[{label:"Auto",value:""},...Array.from({length:Sl},(e,t)=>({label:t===0?"1 position":`${t+1} positions`,value:String(t+1)}))],"")}}function Kl(){let e=null;try{e=Or(t=>t).selectedItem}catch{e=null}return e?.props??{}}function D_({min:e,max:t,step:o,px:r,label:n,onChange:a,desktopKey:l,fallback:s}){let i=Kl()[l],c=_l(void 0,i,s);return m(Qt,{children:Yo({min:e,max:t,step:o,value:_l(r,i,s),readout:!1,ariaLabel:n,notch:c,onChange:a})})}function M_({label:e,desktopKey:t,fallback:o}){let r=Kl()[t],n=_l(void 0,r,o);return m(wo,{inherited:!0,source:Ar.desktop,detail:`${Ar.desktop} \u2014 ${n}px`,onReset:()=>{},label:e})}function H_(e){return On(e.label,{min:e.min,max:e.max,step:e.step,unsetLabel:`Inherits \xB7 ${Ar.desktop}`,unsetMark:m(M_,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:t=>m(D_,{...t,desktopKey:e.desktopKey,fallback:e.fallback})})}function Xh(e={}){let t=e.keys?.top??"sectionPaddingTop",o=e.keys?.bottom??"sectionPaddingBottom",r=e.group!==!1,n=I=>r?I:`Padding ${I.toLowerCase()}`,a=I=>Lr(n("Top"),m(zE,{}),wt.min,wt.max,wt.step,I,"px"),l=(I,h,k,S=wt)=>Pt("mobile",H_({label:n(I),desktopKey:h,min:S.min,max:S.max,step:S.step,fallback:k})),s=e.top??wt.min,i=e.bottom??wt.min,c="sectionPaddingLeft",f="sectionPaddingRight",u=e.sideBounds??wt,d=e.side??u.min,p=e.sidePhone??d,x=e.phone===!0,g=I=>x?Pt("desktop",I):I;return Ln({...r?{_gSpacing:ft("Padding")}:{},[t]:g(a(s)),...x?{[Fn(t)]:l("Top",t,s)}:{},...e.only==="top"?{}:{[o]:g(Lr(n("Bottom"),m(GE,{}),wt.min,wt.max,wt.step,i,"px")),...x?{[Fn(o)]:l("Bottom",o,i)}:{}},...e.sides?{[c]:g(Lr(n("Left"),m(WE,{}),u.min,u.max,u.step,d,"px")),...x?{[Fn(c)]:l("Left",c,p,u)}:{},[f]:g(Lr(n("Right"),m(UE,{}),u.min,u.max,u.step,d,"px")),...x?{[Fn(f)]:l("Right",f,p,u)}:{}}:{}})}var G_={contained:"Contained",page:"Page",full:"Full"},xf="Width";function jh(e,t=vh,o=!0){let r=t.map(n=>({label:Th[n]??G_[n],value:n}));return Ln({...o?{_gWidth:ft(xf)}:{},widthMode:{type:"custom",render:({onChange:n,field:a})=>m(he,{label:"Width",icon:m(JE,{}),action:o?m(f_,{inherited:a?.inherited??!1,onReset:()=>n(ff),label:xf}):void 0,children:yf({options:r,value:a?.currentValue||e,onChange:n,ariaLabel:xf})})}})}function Jh(){let e=r=>({type:"custom",render:({value:n,onChange:a})=>Ce("div",{className:"sf-field",children:[r?Ce("div",{className:"sf-field-head",children:[m("span",{className:"sf-field-label sf-field-label--inline",children:_r}),r(a)]}):null,m("div",{children:yf({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(n)?n:"auto",onChange:a,ariaLabel:_r})})]})}),t=()=>({type:"custom",render:({value:r,onChange:n,field:a})=>{let l=a?.unit==="%"?"%":"px",s=l==="%"?of:tf;return m("div",{className:"sf-field",children:Yo({min:s.min,max:s.max,step:s.step,value:typeof r=="number"?r:s.fallback,suffix:l,ariaLabel:_r,onChange:n})})}}),o=()=>Sf("Unit",m(Oh,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return Ln({_gHeight:ft(_r),sectionHeightMode:Pt("desktop",e()),sectionHeightValue:Pt("desktop",t()),sectionHeightUnit:Pt("desktop",o()),sectionHeightModePhone:Pt("mobile",e(r=>m(W_,{onClear:()=>r(void 0)}))),sectionHeightValuePhone:Pt("mobile",t()),sectionHeightUnitPhone:Pt("mobile",o())})}function W_({onClear:e}){let t=Kl(),o=rf(t),r=Nl(t),n=`${Ar.desktop} \u2014 ${r.mode==="auto"?"Auto":`${r.value}${r.unit}`}`;return m(wo,{inherited:!o,source:Ar.desktop,detail:n,onReset:e,label:_r})}function Zh(){return{_gAnchor:ft("Anchor"),anchor:I_("Anchor name","e.g. about",m_)}}function jK({value:e,onChange:t,label:o,disabled:r=!1}){return m("button",{type:"button",role:"switch","aria-checked":e,"aria-label":o,disabled:r,className:`sf-toggle ${e?"is-on":""}`,onClick:()=>t(!e),children:m("span",{className:"sf-toggle-knob"})})}function Vo(e,t,o){return{type:"custom",render:({value:r,onChange:n,id:a,name:l})=>{let s=typeof r=="boolean"?r:t,i=`${a??l??e}-label`;return m(he,{label:e,labelId:i,icon:o,action:m(Dh,{checked:s,onChange:n,ariaLabelledBy:i})})}}}function JK(){return{type:"custom",render:({value:e,onChange:t,id:o,name:r})=>{let n=`${String(o??r??"pageBackground")}-colour`;return m(he,{label:"Background",icon:m(Nh,{}),htmlFor:n,action:m(Zt,{id:n,label:"Background",value:kc(e),onChange:t})})}}}function U_({facet:e,fallback:t,value:o,onChange:r,fieldId:n}){let l=yc()[e],s=typeof o=="boolean"?o:t,i=`${n}-label`;return m(he,{label:l,labelId:i,action:m(Dh,{checked:s,onChange:r,ariaLabelledBy:i})})}function ZK(e,t){return{type:"custom",render:({value:o,onChange:r,id:n,name:a})=>m(U_,{facet:e,fallback:t,value:o,onChange:r,fieldId:String(n??a??e)})}}function QK(e,t){return{type:"custom",render:()=>m(z_,{facets:e,rest:t})}}function z_({facets:e,rest:t}){let o=yc(),r=e.map(a=>o[a]),n=r.length>1?`${r.slice(0,-1).join(", ")} and ${r[r.length-1]}`:r.join("");return m(Wh,{text:`${n} ${t}`})}function e8(e,t){return{type:"custom",render:({value:o,onChange:r})=>Ce("div",{className:"sf-field sf-field--row",children:[m("span",{className:"sf-field-label sf-field-label--inline",children:e}),Zt({value:o||t,onChange:r,label:e})]})}}var K_=[{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 Qh({label:e,value:t,onChange:o,points:r=K_}){return m(t_,{label:e,value:t,points:r,onChange:o})}function t8(e,t=$g,o="mediaImage"){return{type:"custom",render:({value:r,onChange:n})=>m("div",{className:"sf-field",children:m($_,{label:e,value:r||t,onChange:n,imageProp:o})})}}function $_({label:e,value:t,onChange:o,imageProp:r}){let{selectedItem:n}=Or(l=>l),a=n?.props?.[r];return m(Hc,{label:e,value:t,onChange:o,image:typeof a=="string"?a:void 0})}var V_=bs([]);function o8(e,{stacking:t,fallback:o=sa}){return{type:"custom",render:({value:r,onChange:n})=>{let a=bt.includes(r)?r:o;return t?m(q_,{label:e,value:a,onChange:n}):eb({label:e,value:a,onChange:n,points:V_})}}}function q_({label:e,value:t,onChange:o}){let{appState:r,selectedItem:n}=Or(s=>s),a=n?.props?.id?String(n.props.id):void 0,l=a?Ss(r?.data,a):[];return eb({label:e,value:t,onChange:o,points:bs(l,a)})}function eb({label:e,value:t,onChange:o,points:r}){let n=r.find(a=>a.disabled);return m(he,{label:e,icon:m($E,{}),hint:n?n.title:void 0,children:Qh({label:e,value:po(t),onChange:o,points:r})})}var r8={top:m(AE,{}),right:m(_E,{}),bottom:m(FE,{}),left:m(EE,{})};function n8(e,t,o,r,n,a){let l=f=>t.find(u=>u.value===f),s=f=>({value:f,label:"",disabled:!0,title:r}),i=f=>{let u=t.find(p=>p.cell===f);if(!u)return s(`missing-${f}`);let d=a?.[f];return d?{value:u.value,label:u.label,icon:d}:{value:u.value,label:u.label}},c=[s("corner-top-left"),i("top"),s("corner-top-right"),i("left"),s("centre"),i("right"),s("corner-bottom-left"),i("bottom"),s("corner-bottom-right")];return{type:"custom",render:({value:f,onChange:u})=>{let d=t.some(p=>p.value===f)?f:o;return m(he,{label:e,icon:n,value:l(d)?.label??"",children:Qh({label:e,value:d,onChange:u,points:c})})}}}function ko(e,t,o,r,n){return{type:"custom",options:o,fallback:r,render:({value:a,onChange:l,field:s})=>{let i=s.options??o,c=s.fallback??r,f=i.some(u=>u.value===a)?a:c;return m(he,{label:e,icon:Ul(t),children:Ce("select",{value:f,onChange:u=>l(u.target.value),children:[n?m("option",{disabled:!0,value:"",children:n}):null,i.map(u=>m("option",{value:u.value,children:u.label},u.value))]})})}}}function a8(e,t,o){return{type:"custom",options:t,render:({value:r,onChange:n,field:a})=>m(Uc,{label:e,options:a.options??t,value:Array.isArray(r)?r:[],onChange:n,...o?{emptyLabel:o}:{}})}}function l8(e,t){return{type:"custom",render:({value:o,onChange:r})=>m(_c,{value:o,onChange:r,...e?{label:e}:{},...t?{emptyLabel:t}:{}})}}function s8(e,t={}){return{type:"custom",render:({value:o,onChange:r})=>{let n={value:o,onChange:r,...t};return m(e,{...n})}}}function yf({options:e,value:t,onChange:o,ariaLabel:r,disabled:n=!1}){return m(o_,{options:e.map(a=>({id:a.value,label:a.label,title:a.title})),value:t,onChange:o,ariaLabel:r,disabled:n})}var i8=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function Sf(e,t,o,r){let n=o.map(a=>typeof a=="string"?{label:a,value:a}:a);return{type:"custom",render:({value:a,onChange:l,field:s})=>m(he,{label:e,icon:Ul(t),children:yf({options:n,value:n.some(i=>i.value===a)?a:a||s?.currentValue||r,onChange:l,ariaLabel:e})})}}var Y_="__media";function c8(e,t,o){return{type:"custom",[Y_]:!0,render:({value:r,onChange:n})=>m(Gc,{value:r||"",onChange:n,label:e,accept:t,placeholder:o})}}function f8({value:e,onChange:t,label:o}){let r=e||{},n=!!r.pending,a=n?"var(--fg-dim, #888)":r.ok?"#1d9e75":"#d85a30",l=(s,i)=>t({...r,[s]:i===""?void 0:Number(i)});return Ce(he,{label:o,icon:m(mf,{}),children:[m("button",{type:"button",disabled:n,onClick:()=>t({...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:n?"default":"pointer",opacity:n?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:n?"Finding\u2026":"Find coordinates"}),r.status&&m("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:a},children:r.status}),m("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:"Coordinates from OpenStreetMap"}),m("button",{type:"button",onClick:()=>t({...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?"Hide manual coordinates":"Enter coordinates manually"}),r.manual&&Ce("div",{style:{marginTop:8,display:"grid",gap:8},children:[m(he,{label:"Latitude",icon:m(mf,{}),children:m("input",{type:"number",step:"any",placeholder:"e.g. 34.0990198",value:typeof r.lat=="number"?r.lat:"",onChange:s=>l("lat",s.target.value)})}),m(he,{label:"Longitude",icon:m(mf,{}),children:m("input",{type:"number",step:"any",placeholder:"e.g. -117.9842833",value:typeof r.lng=="number"?r.lng:"",onChange:s=>l("lng",s.target.value)})})]})]})}function d8({items:e,placeholder:t,onChange:o,markup:r=!1}){let n=gf(null),[a,l]=Wl(null),s=u=>u.map(d=>({text:d?.text??""})),i=(u,d)=>o(j_(e,u,d)),c=u=>{let d=J_(a,u);d===null&&(n.current=null),l(d),o(s(e.filter((p,x)=>x!==u)))},f=()=>o([...s(e),{text:""}]);return Ce("div",{className:"sf-textlist",children:[r&&m(Ac,{target:n,value:X_(e,a),onChange:u=>i(a??-1,u),disabled:a===null,label:a===null?"Formatting \u2014 click a row first":`Formatting \u2014 row ${a+1}`}),e.map((u,d)=>Ce("div",{className:`sf-textlist-row${r&&a===d?" is-marking":""}`,children:[m("input",{type:"text",value:u?.text??"",placeholder:t,onChange:p=>i(d,p.target.value),onFocus:p=>{n.current=p.currentTarget,l(d)}}),m("button",{type:"button",className:"sf-textlist-x",onClick:()=>c(d),"aria-label":"Remove item",title:"Remove item",children:"\xD7"})]},d)),m("button",{type:"button",className:"sf-textlist-add",onClick:f,children:"+ Add item"})]})}function X_(e,t){return t===null||t<0||t>=e.length?"":e[t]?.text??""}function j_(e,t,o){let r=e.map(n=>({text:n?.text??""}));return t===null||t<0||t>=e.length?r:r.map((n,a)=>a===t?{text:o}:n)}function J_(e,t){return e===null?null:t>e?e:null}var u8={label:"Ticker items",icon:m(HE,{})};function p8(e,t,o,r){return{type:"custom",[_e]:{control:"textList",label:e,placeholder:o,itemKey:"text",rendering:r},render:({value:n,onChange:a})=>m(Z_,{label:e,icon:Ul(t),items:Array.isArray(n)?n:[],placeholder:o,onChange:a,markup:r==="markup"})}}function Z_({label:e,icon:t,items:o,placeholder:r,onChange:n,markup:a=!1}){let[l,s]=Wl(null),i=c=>c.map(f=>({text:f?.text??""}));return m(r_,{label:e,icon:t,noun:"line",items:o,onChange:c=>n(i(c)),newItem:()=>({text:""}),itemName:(c,f)=>`Line ${f+1}`,summary:c=>jt(c?.text??"")||r,open:l,onOpen:s,renderItem:(c,f,u)=>m(qo,{value:c?.text??"",onChange:d=>u({text:typeof d=="string"?d:d?.text??""}),label:`${e} \u2014 line ${f+1}`,placeholder:r,hideable:!1,markup:a})})}function m8(e,t){let o=`${e.label} \u2014 row ${t+1}`;return Nr({control:"plainText",label:o,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:r,onChange:n})=>m(qo,{value:r,onChange:n,label:o,placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function tb(e){return{_gCards:ft("Cards"),coverIndex:ko("Cover image",m(DE,{}),Xp,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:S_("Image background",Et),cardImage:Q_(),spinOnHover:Vo("Rotate on hover",e?.spinDefault??!0,m(qE,{}))}}function ob(){return{outline:ko("Card outline",m(YE,{}),Zs,Io),indexBadge:ko("Card number",m(Oh,{}),Js,cr),showBadge:Vo("Product badge",!0,m(Pc,{noun:"tag"}))}}function rb(e){let t=e?.bottomDefault??!0;return{_gShowOnCard:ft("Show on a card"),showCardPrice:Vo("Price",!0,m(LE,{})),showCardFinishes:Vo("Finish swatches",!0,m(OE,{})),showCardSizes:Vo("Sizes",t,m(VE,{})),showCardBuy:Vo("Buy button",t,m(TE,{})),showCardPage:Vo("Page button",t,m(Nh,{}))}}function Q_(){return On("Card image",{min:io,max:Eo,step:pp,hint:"Rounds the picture. The card's own corner is in Site styles."})}function x8(){return On(oI,{min:io,max:Eo,step:tI,unsetLabel:"Square",hint:"Rounds the picture. Left alone it stays square."})}function g8(){return{type:"custom",render:({value:e,onChange:t})=>m(e0,{value:typeof e=="string"?e:"",onChange:t})}}function e0({value:e,onChange:t}){let[o,r]=Wl(null),n=Sc.filter(l=>o===null||Nt[l].across===o),a=e&&e in Nt?Nt[e]:null;return Ce(Qt,{children:[m(he,{label:"Photos in a row",icon:m(RE,{}),children:Ce("div",{className:"sf-gallery-filter",children:[m("button",{type:"button","aria-pressed":o===null,onClick:()=>r(null),children:"All"}),lI.map(l=>m("button",{type:"button","aria-pressed":o===l,onClick:()=>r(l),children:l},l))]})}),m(he,{label:"Layout",icon:m(NE,{}),value:a?a.label:"Not chosen",hint:`${n.length} of ${Sc.length} layouts`,children:m("div",{className:"sf-gallery-layouts",children:n.map(l=>m("button",{type:"button","aria-pressed":e===l,"aria-label":Nt[l].label,title:Nt[l].label,onClick:()=>t(e===l?"":l),children:m("span",{className:"sf-gallery-pic",children:Nt[l].desktop.map(([s,i],c)=>m("i",{style:{gridColumn:`span ${s}`,gridRow:`span ${i}`}},c))})},l))})})]})}function t0(e,t){let o=hr(e.props.name);if(o)return o;let r=hr(e.props.altName);if(r)return r;let n=e.props.collection?.name;if(n)return n;let a=e.props.source?.title;if(a)return a;let l=e.props.code;return l?t?.(l)??l:""}function C8(e,t,o){return jt(t0(e,o))||t(e.type)}function P8(e){if(!e)return null;for(let t of["name","altName"])if(Hh(e[t]))return t;return null}function k8(e,t){return hr(e.props?.name).trim()||t}var Dr="content",Ae="Flex",o0="Text & media",r0="Layout & structure",n0=[{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:o0})),a0=(sr.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:r0})),nb=[...n0,...a0],Cf=[{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:xo}],T8=Cf.map(e=>e.type),l0=1,s0=Cf.filter(e=>e.type!=="HeroGroup");function i0(e){return e<l0?Cf:s0}var c0={Flex:{slot:Dr,choices:()=>nb},Grid:{slot:Dr,choices:()=>nb},HeroGroup:{slot:Dr,choices:i0}};function ab(e,t=0){let o=c0[e];return o?{slot:o.slot,choices:o.choices(t)}:null}var $l="SiteHeader",Pf="SiteFooter",lb="sections",F8=[$l,Pf],E8=e=>e===$l||e===Pf,_8=e=>`${e}:${lb}`;function A8(e,t,o=[]){return{type:e,props:{id:t,[lb]:o}}}var f0=new Set(["Footer",$l,Pf]);function L8(e){let t=new Set,o=!1,r=e.filter(n=>{let a=n?.type??"";return a==="Header"?(o=!0,!1):f0.has(a)?t.has(a)?(o=!0,!1):(t.add(a),!0):!0});return o?r:e}function O8(e,t){return e.some(o=>o?.type===t.type)?e:t.type===$l?[t,...e]:[...e,t]}var kf="plain",sb=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],d0="line",u0={KeyFeatures:"filled"};function p0(e){return u0[e]??kf}function D8(e,t){return Xe(sb,p0(t),e)}function M8(e){return Xe(sb,d0,e)}import{createContext as m0,useCallback as ib,useContext as x0,useMemo as g0,useRef as I0}from"react";import{jsx as b0}from"react/jsx-runtime";var h0=Object.fromEntries(hu.map(e=>[e,{value:"",error:null}])),cb=m0({links:bu,rows:h0,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function U8({children:e,value:t}){let o=I0(()=>{}),r=ib(()=>o.current(),[]),n=ib(l=>{o.current=l},[]),a=g0(()=>({...t,openPanel:r,setOpenHandler:n}),[t,r,n]);return b0(cb.Provider,{value:a,children:e})}var z8=()=>x0(cb);import{createContext as y0,useCallback as S0,useContext as C0,useState as P0}from"react";import{jsx as k0}from"react/jsx-runtime";var fb={enabled:!0,title:"",subtitle:"",greeting:""},db=y0({chat:fb,setChat:()=>{},selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function Y8({children:e,chat:t=fb,onChatChange:o}){let[r,n]=P0(!1),a=S0(i=>o?.(i),[o]),{select:l,setSelectHandler:s}=yu();return k0(db.Provider,{value:{chat:t,setChat:a,selected:r,setSelected:n,select:l,setSelectHandler:s},children:e})}var X8=()=>C0(db);import{BlockBannerIcon as w0,BlockBoxIcon as v0,BlockButtonIcon as T0,BlockDividerIcon as ub,BlockFooterIcon as pb,BlockHeadingIcon as R0,BlockProductIcon as F0,BlockSocialIcon as E0,BlockTextIcon as _0,ChatIcon as A0,GridIcon as L0,ImageIcon as O0,PageIcon as N0}from"efficient-easel/icons";import{Fragment as $,jsx as y,jsxs as q}from"react/jsx-runtime";var B0={header:q($,{children:[y("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),y("path",{d:"M3 9.5h18"})]}),website:q($,{children:[y("circle",{cx:"12",cy:"12",r:"9"}),y("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:q($,{children:[y("circle",{cx:"6",cy:"12",r:"2.5"}),y("circle",{cx:"18",cy:"6",r:"2.5"}),y("circle",{cx:"18",cy:"18",r:"2.5"}),y("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:q($,{children:[y("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),y("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:q($,{children:[y("path",{d:"M4 15.5h6M4 18h4"}),y("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:y("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:q($,{children:[y("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),y("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:y("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:q($,{children:[y("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),y("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:q($,{children:[y("circle",{cx:"11",cy:"11",r:"6"}),y("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:Iu,CountrySwitchBlock:q($,{children:[y("circle",{cx:"12",cy:"12",r:"8.5"}),y("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:q($,{children:[y("path",{d:"M3 9h18"}),y("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:q($,{children:[y("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),y("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:q($,{children:[y("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),y("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:q($,{children:[y("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),y("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),y("path",{d:"M7 17h7"})]}),Collections:q($,{children:[y("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),y("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),y("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:q($,{children:[y("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),y("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:q($,{children:[y("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),y("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),y("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),y("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),y("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:q($,{children:[y("path",{d:"M3 7h9M15.5 7H21"}),y("circle",{cx:"13.5",cy:"7",r:"1.7"}),y("path",{d:"M3 12h4M10.5 12H21"}),y("circle",{cx:"8.5",cy:"12",r:"1.7"}),y("path",{d:"M3 17h9M15.5 17H21"}),y("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:q($,{children:[y("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),y("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),y("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),y("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),y("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),y("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:q($,{children:[y("path",{d:"M3 5h10"}),y("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),y("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),y("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:q($,{children:[y("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),y("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),y("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:q($,{children:[y("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),y("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),y("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),y("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:q($,{children:[y("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),y("circle",{cx:"9",cy:"10",r:"1.6"}),y("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:q($,{children:[y("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),y("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:q($,{children:[y("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),y("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),y("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:q($,{children:[y("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),y("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:q($,{children:[y("path",{d:"M3.5 20h17"}),y("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:q($,{children:[y("circle",{cx:"6",cy:"12",r:"2.6"}),y("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),y("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:q($,{children:[y("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),y("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:q($,{children:[y("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),y("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:q($,{children:[y("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),y("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:q($,{children:[y("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),y("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:q($,{children:[y("path",{d:"M4 8.5h4.5M11 8.5h9"}),y("path",{d:"M4 14.5h16"})]}),HeroGroup:q($,{children:[y("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),y("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:q($,{children:[y("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),y("path",{d:"M6.5 9h11M6.5 12.5h11"}),y("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:y($,{children:y("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:q($,{children:[y("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),y("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:q($,{children:[y("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),y("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),y("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),y("path",{d:"M4 13.5h11M4 17.5h7"}),y("path",{d:"M17 15l3 2-3 2"})]}),CustomHTML:y("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},D0=y("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),M0={footer:pb,Footer:pb,Divider:ub,FooterDivider:ub,Banner:w0,Flex:v0,FooterSocial:E0,page:N0,chat:A0,Heading:R0,Text:_0,ImageBlock:O0,ButtonBlock:T0,Grid:L0,ProductRef:F0},H0={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",SiteHeader:"header",SiteFooter:"footer"};function G0({type:e,size:t=16,className:o}){let r=H0[e]??e,n=M0[r];return n?y(n,{size:t,className:o}):y("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",className:o,"aria-hidden":"true",children:B0[r]??D0})}function r$(){return{type:ps,props:{id:_o(ps)}}}function n$(e){let t=[];for(let o of e){let r=t[t.length-1];r&&r.group===o.group?r.items.push(o):t.push({group:o.group,items:[o]})}return t}var mb=[{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"}],W0=mb.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),U0="FooterGroup",xb="blocks";function gb(e){return e===jn?mb:e===U0?W0:null}function a$(){let e=(t,o)=>({type:t,props:{id:`${t}-${crypto.randomUUID()}`,...o}});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"})]})]}import{createContext as z0,useContext as K0}from"react";import{jsx as $0}from"react/jsx-runtime";var Ib=z0(null);function i$({value:e,children:t}){return $0(Ib.Provider,{value:e,children:t})}function c$(){return K0(Ib)}function ze(e,t,o,r={}){return{type:e,props:{...t(e),id:o(e),...r}}}var V0={Manifesto:(e,t)=>({type:Ae,props:{...e(Ae),id:t(Ae),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[ze(Ae,e,t,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[ze("Eyebrow",e,t,{eyebrowLook:"plain"}),ze("Heading",e,t),ze("Text",e,t),ze("Stats",e,t)]}),ze(Ae,e,t,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,t)=>({type:Ae,props:{...e(Ae),id:t(Ae),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[ze(Ae,e,t,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[ze("Eyebrow",e,t,{eyebrowLook:"plain"}),ze("Heading",e,t),ze("Text",e,t),ze("ButtonBlock",e,t)]}),ze(Ae,e,t,{direction:"column",name:"Image",content:[ze("ImageBlock",e,t)]})]}}),Subscribe:(e,t)=>({type:Ae,props:{...e(Ae),id:t(Ae),direction:"column",name:"Subscribe",content:[ze("Heading",e,t),ze("Text",e,t),ze("Form",e,t)]}})};function hb(e){return V0[e]??null}import{createContext as X0,useContext as j0}from"react";var wf={tag:{label:"Tag",follows:"Labels",builtIn:"13px",writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:"48px",writable:!0},body:{label:"Body",follows:"Body",builtIn:"14px",writable:!0},price:{label:"Price",follows:"Labels",builtIn:"15px",writable:!0},link:{label:"Link",follows:"Labels",builtIn:"14px",writable:!0}},bb=wf;var Mr="data-sf-spec-region";function yb(e,t,o){if(!e)return;let r=o[e];if(r)return{fontFamily:`var(--font-role-${e})`,fontSize:`var(--size-${r}, ${t.builtIn})`}}function vf(e){return`@${e}`}function q0(e,t){if(!t.startsWith("@"))return null;let o=t.slice(1);return o in e?o:null}function Sb(e,t){return t&&t in e?t:null}function Y0(e,t){let o=t?.closest(`[${Mr}]`)?.getAttribute(Mr);return Sb(e,o??null)}import{jsx as vo,jsxs as Tf}from"react/jsx-runtime";function J0(e){return Ld(e)??void 0}var Z0=X0({}),Cb=3;function Q0({tag:e,name:t,desc:o,href:r,imageSrc:n,imageLabel:a,price:l}){let{showPrice:s,cardStyle:i,partStyles:c,editing:f}=j0(Z0),u=i==="bordered"?" border border-line":i==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",d=J0(n),p=g=>f?{[Mr]:g}:{},x=g=>yb(c?.[vf(g)]?.role,wf[g],Qo);return Tf(Pe,{href:r||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${u}`,children:[vo("div",{className:"relative z-0 aspect-[4/5] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] group-hover:scale-[1.04]",children:vo(Ho,{label:a||"collection.jpg",src:d})}),vo("div",{className:"pointer-events-none absolute inset-0 z-[1] [background:rgba(0,0,0,0.4)] group-hover:[background:rgba(0,0,0,0.3)] max-[800px]:hidden",style:{transition:"none"}}),Tf("div",{className:"absolute inset-x-8 bottom-8 z-[2] flex flex-col gap-2.5 text-overlay-fg max-[800px]:relative max-[800px]:inset-auto max-[800px]:p-6 max-[800px]:gap-3 max-[800px]:text-fg",children:[e&&vo("span",{...p("tag"),style:x("tag"),className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.25em] opacity-70",children:re(e)}),t&&vo("h3",{...p("name"),style:x("name"),className:"font-heading2 text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))] font-medium leading-none tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",children:typeof t=="string"?Lt(t,!1):t}),o&&Za(o).map((g,I)=>vo("p",{...p("body"),style:x("body"),className:"max-w-[420px] text-[length:var(--size-body,14px)] leading-[1.5] opacity-80",children:re(g)},I)),s&&l&&vo("span",{...p("price"),style:x("price"),className:"font-mono text-[length:var(--size-label,15px)] tracking-[0.05em] text-accent",children:re(l)}),Tf("span",{...p("link"),style:x("link"),className:"mt-2 inline-flex items-center gap-2.5 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em]",children:["Explore",vo("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"\u2192"})]})]})]})}import{createContext as tA,useCallback as oA,useContext as rA,useEffect as wb,useRef as nA,useState as Ff}from"react";import{useState as eA}from"react";function Pb(e){switch(e){case"tall":return"aspect-[3/4]";case"wide":return"aspect-[2/1]";case"landscape":return"aspect-[4/3]";case"portrait":return"aspect-[4/5]";case"auto":return"";default:return"aspect-square"}}function kb(e){return e==="below"}import{jsx as vt,jsxs as Hr}from"react/jsx-runtime";function Rf({build:e,hiddenMobile:t,alwaysShowOverlay:o,forceHover:r,index:n,total:a,ratio:l,captionPlace:s}){let[i,c]=eA(!1),f=kb(s),u=Hr("div",{className:["sf-card group relative overflow-hidden bg-surface-2",Pb(l),t?"max-[800px]:hidden":""].join(" "),children:[Hr("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",r?"scale-[1.06] opacity-0 [filter:brightness(0.5)]":"group-hover:scale-[1.06] group-hover:opacity-0 group-hover:[filter:brightness(0.5)]"].join(" "),children:[vt(Ho,{label:e.imageLabel,src:e.imageSrc}),vt("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),vt("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",r?"opacity-100 scale-[1.06] [filter:brightness(0.5)]":"opacity-0 group-hover:scale-[1.06] group-hover:opacity-100 group-hover:[filter:brightness(0.5)]"].join(" "),style:{background:"var(--surface)"},children:e.detailSrc&&vt(no,{src:e.detailSrc,alt:"",fill:!0,sizes:"(max-width: 800px) 100vw, (max-width: 1500px) 33vw, 25vw",loading:"lazy",className:"absolute inset-0 z-[3] object-cover",style:{display:i?"none":"block"},onError:()=>c(!0)})}),n!=null&&a!=null&&Hr("span",{className:"pointer-events-none absolute top-3 right-3 z-[3] font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] max-[800px]:top-2.5 max-[800px]:right-2.5",style:{color:"rgba(245,241,232,0.7)"},children:[String(n).padStart(2,"0")," / ",String(a).padStart(2,"0")]}),e.process&&vt("span",{className:["pointer-events-none absolute top-3 left-3 z-[3] inline-block max-w-[60%] truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent max-[800px]:top-2.5 max-[800px]:left-2.5","transition-opacity duration-300 ease-out",o||r?"opacity-100":"opacity-0 group-hover:opacity-100 max-[800px]:opacity-100"].join(" "),children:et(e.process)}),Hr("div",{className:["absolute inset-0 z-[2] flex flex-col justify-end gap-1 p-6","transition-[opacity,transform] duration-300 ease-out",o||r?"opacity-100 translate-y-0":"opacity-0 translate-y-2 group-hover:opacity-100 group-hover:translate-y-0 max-[800px]:opacity-100 max-[800px]:translate-y-0","max-[800px]:p-3.5"].join(" "),style:{color:"var(--overlay-fg)",background:"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:[e.car&&vt("div",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent max-[800px]:text-[length:var(--size-label,11px)] max-[800px]:tracking-[0.15em]",children:e.car}),e.wheel&&vt("div",{className:"font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-[1.05] tracking-[-0.02em] max-[800px]:text-[length:var(--size-body,16px)]",children:e.wheel}),e.finish&&vt("div",{className:"mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em]",style:{color:"rgba(245,241,232,0.7)"},children:vt("span",{children:et(e.finish)})})]})]});return f?Hr("div",{className:t?"max-[800px]:hidden":"",children:[u,Hr("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&vt("div",{className:"font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg",children:e.wheel}),(e.finish||e.car)&&vt("div",{className:"mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim",children:et(e.finish||e.car)})]})]}):u}import{Fragment as Gr,jsx as ue,jsxs as Ke}from"react/jsx-runtime";var aA=tA({}),lA="data-gallery-grid",Ef="data-gallery-tile";function sA(e,t){let[o,r]=Ff(null);return wb(()=>{let n=e.current,a=n?.closest(`[${lA}]`);if(!n||!a)return;let l=()=>{let i=Array.from(a.querySelectorAll(`[${Ef}]`)),c=i.indexOf(n),f=c>=0?{index:c+1,total:i.length}:null;r(u=>u?.index===f?.index&&u?.total===f?.total?u:f)};if(l(),!t)return;let s=new MutationObserver(l);return s.observe(a,{childList:!0,subtree:!0}),()=>s.disconnect()},[e,t]),o}var vb=[{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},{image:"",href:"#",process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"}];function iA(e,t){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function cA(e){let t=(e.photos??[]).map(a=>a?.src).filter(a=>!!a),o=e.image||t[0]||"",r=[o,...t].filter(a=>!!a),n=iA(e.name,"gallery-item");return{car:e.eyebrow??"",wheel:e.name??"",process:e.process??"",finish:e.meta??"",imageLabel:`${n}.jpg`,detailLabel:`${n}-detail.jpg`,imageSrc:o||void 0,detailSrc:t[0]||o||void 0,photos:r,href:e.href}}function fA({editing:e=!1,previewHover:t,ratio:o,captionPlace:r,...n}){let{galleryHref:a="/gallery",submitHref:l="/contact",previewHover:s}=rA(aA),i=cA(n),c=i.photos??(i.imageSrc?[i.imageSrc]:[]),f=nA(null),u=oA(S=>{f.current=S},[]),d=sA(f,e),p=e&&(!!t||!!s),[x,g]=Ff(!1),[I,h]=Ff(0);wb(()=>{if(!x)return;let S=T=>{T.key==="Escape"?g(!1):T.key==="ArrowLeft"&&c.length>1?h(b=>(b-1+c.length)%c.length):T.key==="ArrowRight"&&c.length>1&&h(b=>(b+1)%c.length)};window.addEventListener("keydown",S);let C=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{window.removeEventListener("keydown",S),document.body.style.overflow=C}},[x,c.length]);let k=ue(Rf,{build:i,forceHover:p,index:d?.index,total:d?.total,ratio:o,captionPlace:r});return Ke(Gr,{children:[e?ue("div",{ref:u,[Ef]:"",className:"block w-full text-left",children:k}):ue("button",{ref:u,[Ef]:"",type:"button","aria-label":`Open ${i.car||"build"} on ${i.wheel||"wheel"}`,onClick:()=>{h(0),g(!0)},className:"block w-full cursor-pointer text-left focus:outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2",children:k}),x&&(()=>{let S=c[I]??i.imageSrc??"",C=()=>h(b=>(b-1+c.length)%c.length),T=()=>h(b=>(b+1)%c.length);return ue("div",{role:"dialog","aria-modal":"true","aria-label":`${i.car} on ${i.wheel}`,onClick:()=>g(!1),className:"fixed inset-0 z-[100] flex items-center justify-center p-6 backdrop-blur-[8px] max-[700px]:p-3",style:{background:"color-mix(in oklab, var(--bg) 78%, transparent)"},children:Ke("div",{onClick:b=>b.stopPropagation(),className:"relative grid w-[min(1800px,100%)] max-h-[calc(100vh-48px)] grid-cols-[1.4fr_1fr] overflow-hidden border border-line bg-bg max-[1100px]:grid-cols-1 max-[1100px]:overflow-auto",style:{boxShadow:"0 60px 120px -20px rgba(0,0,0,0.7)"},children:[ue("button",{type:"button",onClick:()=>g(!1),"aria-label":"Close popup",className:"absolute right-[24px] top-[24px] z-[5] flex h-[56px] w-[56px] items-center justify-center border border-line font-mono text-[length:var(--size-label,21px)] text-fg-dim transition-colors hover:border-accent hover:text-fg",style:{background:"color-mix(in oklab, var(--bg) 70%, transparent)"},children:"\u2715"}),Ke("div",{className:"relative flex min-h-[690px] items-center justify-center overflow-hidden bg-surface-2 max-[1100px]:min-h-[450px]",children:[S&&ue("img",{src:S,alt:`${i.car} \u2014 ${I+1} of ${c.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},S),c.length>1&&Ke(Gr,{children:[ue("button",{type:"button","aria-label":"Previous photo",onClick:C,className:"absolute left-4 top-1/2 flex h-16 w-16 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 font-mono text-[length:var(--size-label,24px)] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u25C1"}),ue("button",{type:"button","aria-label":"Next photo",onClick:T,className:"absolute right-4 top-1/2 flex h-16 w-16 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 font-mono text-[length:var(--size-label,24px)] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"\u25B7"}),Ke("span",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 border border-fg-dim/30 bg-overlay-scrim/50 px-4 py-1.5 font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.22em] text-fg-dim backdrop-blur-[4px]",children:[I+1," / ",c.length]})]})]}),Ke("div",{className:"flex flex-col gap-[30px] px-[60px] py-[72px] max-[1100px]:px-9 max-[1100px]:py-[54px]",children:[i.process&&ue("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:re(i.process)}),i.wheel&&ue("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(42px,4.5vw,60px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.025em]",children:Lt(i.wheel,!1)}),i.car&&Ke("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",ue("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em]",children:re(i.car,!0)})]}),Ke("dl",{className:"mt-3 grid grid-cols-[auto_1fr] gap-x-7 gap-y-[18px] border-y border-line py-[30px] font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.22em]",children:[i.wheel&&Ke(Gr,{children:[ue("dt",{className:"text-fg-dim",children:"Wheel"}),ue("dd",{className:"text-fg",children:re(i.wheel)})]}),i.process&&Ke(Gr,{children:[ue("dt",{className:"text-fg-dim",children:"Process"}),ue("dd",{className:"text-fg",children:re(i.process)})]}),i.finish&&Ke(Gr,{children:[ue("dt",{className:"text-fg-dim",children:"Finish"}),ue("dd",{className:"text-fg",children:re(i.finish)})]}),i.car&&Ke(Gr,{children:[ue("dt",{className:"text-fg-dim",children:"Vehicle"}),ue("dd",{className:"text-fg",children:re(i.car)})]})]}),Ke("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[Ke(Pe,{href:i.href||"/wheels",onClick:()=>g(!1),className:"group flex items-center justify-between gap-6 border border-btn bg-btn px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-btn-ink transition-colors hover:border-fg hover:bg-fg",children:[ue("span",{children:"View product"}),ue("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"\u2192"})]}),Ke(Pe,{href:a,onClick:()=>g(!1),className:"flex items-center justify-between gap-6 border border-line px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[ue("span",{children:"See more builds"}),ue("span",{children:"\u2192"})]}),Ke(Pe,{href:l,onClick:()=>g(!1),className:"flex items-center justify-between gap-6 border border-line px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[ue("span",{children:"Submit your build"}),ue("span",{children:"\u2192"})]})]})]})]})})})()]})}import{createContext as PA,useContext as kA}from"react";import{useEffect as _f,useRef as dA,useState as Af}from"react";import{jsx as Nn,jsxs as Tb}from"react/jsx-runtime";var uA=.5;function Lf({videoSrc:e,posterSrc:t,showVideo:o=!0,playbackRate:r=uA,objectPosition:n="50% 50%",quiet:a=!1}){let l=t||"",s=e||"",[i,c]=Af(!1),[f,u]=Af(!1),[d,p]=Af(!1),x=dA(null);_f(()=>{c(!1),u(!1)},[e,t]),_f(()=>{if(typeof window>"u")return;let I=()=>{let h=window;h.requestIdleCallback?h.requestIdleCallback(()=>p(!0),{timeout:2e3}):setTimeout(()=>p(!0),800)};if(document.readyState==="complete"){I();return}return window.addEventListener("load",I,{once:!0}),()=>window.removeEventListener("load",I)},[]),_f(()=>{let I=x.current;if(!I)return;let h=()=>{I.playbackRate=r};return h(),I.addEventListener("loadedmetadata",h),()=>I.removeEventListener("loadedmetadata",h)},[e,r]);let g=qn(l);return Tb("div",{className:"absolute inset-0 z-[1]",children:[Nn("div",{className:"absolute inset-0",style:{background:"var(--surface)"}}),l&&(g?Nn("img",{src:l,alt:"",className:"absolute inset-0 z-[2] h-full w-full object-cover",style:{display:i?"none":"block",objectPosition:n},onError:()=>c(!0)},l):Nn(al,{src:l,alt:"",fill:!0,priority:!0,sizes:"100vw",className:"z-[2] object-cover",style:{display:i?"none":"block",objectPosition:n},onError:()=>c(!0)},l)),o&&!a&&s&&d&&!f&&Tb("video",{ref:x,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:n},onError:()=>u(!0),children:[Od(s)&&Nn("source",{src:s.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),Nn("source",{src:s,type:"video/mp4"})]},s)]})}var Rb=["top","middle","bottom"],Fb=["left","center","right"],Eb="bottom",_b="left",pA={top:"Top",middle:"Middle",bottom:"Bottom"},mA={left:"Left",center:"Center",right:"Right"};var $$="Up and down",V$="Sideways",xA={top:"flex-start",middle:"center",bottom:"flex-end"},gA={left:"flex-start",center:"center",right:"flex-end"},IA="--sf-hero-phone-y",hA="--sf-hero-phone-x";function bA(e){return Rb.includes(e)?e:Eb}function yA(e){return Fb.includes(e)?e:_b}function Ab(e,t){let o=bA(e),r=yA(t),n={};return o!==Eb&&(n[IA]=xA[o]),r!==_b&&(n[hA]=gA[r]),n}function q$(){return Rb.map(e=>({label:pA[e],value:e}))}function Y$(){return Fb.map(e=>({label:mA[e],value:e}))}var SA="#0A0A0A",CA=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function Lb(e){let t=e.trim().replace(/^#/,""),o=t.length===3?t.split("").map(n=>n+n).join(""):t;if(!/^[0-9a-fA-F]{6}$/.test(o))return null;let r=Number.parseInt(o,16);return`${r>>16&255},${r>>8&255},${r&255}`}function Ob(e){return e==null?!0:e!==!1}function Nb(e){let t=(e?Lb(e):null)??Lb(SA);return`linear-gradient(180deg, ${CA.map(([r,n])=>`rgba(${t},${n}) ${r}%`).join(", ")})`}import{jsx as Bn,jsxs as vA}from"react/jsx-runtime";var Of=PA({});function wA({name:e,process:t,mediaType:o="video",mediaSrc:r,videoSpeed:n,poster:a,objectPosition:l,tintColor:s="#000000",tintOpacity:i=0,groups:c,editing:f=!1,themeClassName:u,themeStyle:d}){let{alignment:p="left",textureOpacity:x,textureOn:g,textureColor:I,quietVideo:h,phoneUpDown:k,phoneSideways:S}=kA(Of),C=o==="video",T=C?zt(r):void 0,b=C?zt(a):zt(r)??zt(a),w=typeof n=="number"?n/100:1;return vA("section",{className:u?`relative h-full w-full overflow-hidden ${u}`:"relative h-full w-full overflow-hidden",style:d,"data-slide-name":e??"","data-slide-process":t??"","data-slide-media":T?"video":"still",children:[Bn(Lf,{videoSrc:T,posterSrc:b,showVideo:C,playbackRate:w,objectPosition:l,quiet:h}),i>0&&Bn("div",{className:"absolute inset-0 z-[2]",style:{background:s,opacity:Math.min(Math.max(i,0),100)/100}}),Ob(g)&&Bn("div",{className:"absolute inset-0 z-[2]",style:{background:Nb(I),...x!==void 0?{opacity:x/100}:null}}),Bn("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",f?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{color:"var(--overlay-fg)",...Ab(k,S)},children:c&&Bn(c,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}var Bb=Array.from({length:3},(e,t)=>({name:`Slide ${t+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{createContext as EA,useContext as _A,useEffect as Vl,useId as AA,useMemo as LA,useState as Te}from"react";var TA=14,RA=3;function Nf(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function FA(e,t){let o=new Date(`${e}T00:00:00`);return o.setDate(o.getDate()+t),Nf(o)}async function Db(e,t,o={}){let r=o.days??TA,n=o.read??Fo.getAvailability,a=0,l=0;for(let s=0;s<r;s++){if(o.signal?.aborted)return{outcome:"unreadable"};let i=FA(t,s);try{let c=await n(e,i);if(a=0,l++,c.slots.length>0)return{outcome:"found",date:i,availability:c}}catch{if(a++,a>=RA)return{outcome:"unreadable"}}}return l===r?{outcome:"noneInWindow",days:r}:{outcome:"unreadable"}}import{jsx as DA}from"react/jsx-runtime";var Mb=EA(null);function Wr(){let e=_A(Mb);if(!e)throw new Error("useBookingForm must be used inside <BookingFormProvider>");return e}var Bf=[{id:"example-1",name:"Example service",durationMinutes:45,price:"80.00",description:"What this appointment includes, in a sentence."},{id:"example-2",name:"Second example",durationMinutes:30,price:"0",description:""}];function OA(e){return{timezone:"UTC",slots:[`${e}T09:00:00.000Z`,`${e}T10:30:00.000Z`,`${e}T13:00:00.000Z`].map(t=>({start:t}))}}var NA={bookingNumber:"EXAMPLE-0000",service:"Example service",startAt:"2026-01-01T00:00:00.000Z",timezone:"UTC",customerTimezone:"",manageToken:"example"};function BA(e,t){return e&&t?.length===0}function fV({editing:e=!1,previewConfirmation:t=!1,children:o}){let r=AA(),n=LA(()=>Nf(new Date),[]),[a,l]=Te(),[s,i]=Te(""),[c,f]=Te(""),[u,d]=Te(n),[p,x]=Te(n),[g,I]=Te(!1),[h,k]=Te(null),[S,C]=Te(),[T,b]=Te(""),[w,O]=Te(""),[D,R]=Te(""),[_,G]=Te(""),[Y,M]=Te(""),[v,j]=Te(()=>Is()),[F,E]=Te(null),[se,N]=Te(!1),[le,xe]=Te(!1),[ie,te]=Te(null),[Ie,de]=Te("");Vl(()=>{de(Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC")},[]),Vl(()=>{let K=!1;return Fo.listServices().then(H=>{K||(l(H.results),i(H.currency),f(He=>He||H.results[0]?.id||""))}).catch(()=>{K||l([])}),()=>{K=!0}},[]),Vl(()=>{if(g||!c)return;let K={aborted:!1};return b(""),C(void 0),te(null),k(null),N(!0),Db(c,n,{signal:K}).then(H=>{if(!K.aborted){if(H.outcome==="found"){d(H.date),x(H.date),C(H.availability);return}k(H.outcome==="noneInWindow"?`No times are available in the next ${H.days} days.`:"We couldn't load available times. Please try again.")}}).finally(()=>{K.aborted||N(!1)}),()=>{K.aborted=!0}},[g,c,n]),Vl(()=>{if(!g||!c||!u)return;let K=!1;return b(""),C(void 0),te(null),k(null),N(!0),Fo.getAvailability(c,u).then(H=>{K||(C(H),H.slots.length===0&&k("No times are available on this date."))}).catch(()=>{K||k("We couldn't load available times. Please try again.")}).finally(()=>{K||N(!1)}),()=>{K=!0}},[u,g,c]);let z=a?.find(K=>K.id===c),Le=z?.depositAmountDue!=null,Re=!!(!e&&!le&&z&&T&&w.trim()&&D.trim()&&!Le);async function Oe(K){if(K.preventDefault(),!(!Re||!z)){xe(!0),te(null);try{let H=await Fo.create({serviceId:z.id,start:T,customer:{name:w.trim(),email:D.trim(),phone:_.trim()},notes:Y.trim(),idempotencyKey:v,customerTimezone:Ie});E(H),j(Is())}catch(H){te(H instanceof at&&H.status===409?"That time was just booked. Choose another available time.":"Your appointment wasn't submitted. Please check your details and try again."),H instanceof at&&H.status===409&&(b(""),Fo.getAvailability(z.id,u).then(C).catch(()=>{}))}finally{xe(!1)}}}let ne=BA(e,a);return DA(Mb.Provider,{value:{fieldPrefix:r,editing:e,services:ne?Bf:a,currency:ne?"AUD":s,serviceId:ne?Bf[0].id:c,setServiceId:f,service:ne?Bf[0]:z,requiresPayment:ne?!1:Le,date:u,earliestDate:p,setDate:d,setDateTouched:I,availability:ne?OA(u):S,loadingSlots:ne?!1:se,noSlotsMessage:h,selectedStart:ne?`${u}T09:00:00.000Z`:T,setSelectedStart:b,customerTimezone:Ie,name:w,setName:O,email:D,setEmail:R,phone:_,setPhone:G,notes:Y,setNotes:M,confirmation:F??(t?NA:null),submitting:le,error:ie,canSubmit:ne?!1:Re,handleSubmit:Oe,sample:!!ne},children:o})}import{Fragment as HA,jsx as Df,jsxs as GA}from"react/jsx-runtime";var MA="sf-button group inline-flex items-center justify-center gap-2.5 border px-[22px] py-4 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em] transition-colors",Hb={primary:"border-btn bg-btn text-btn-ink hover:border-btn-2 hover:bg-btn-2",ghost:"border-current bg-transparent hover:bg-white/10"};function ql(e){let{variant:t="primary",arrow:o,className:r,style:n,children:a,href:l,...s}=e,i=`${MA} ${Hb[t]??Hb.primary} ${r??""}`,c=GA(HA,{children:[a,o!==null&&Df("span",{"aria-hidden":!0,className:"transition-transform group-hover:translate-x-[3px]",children:o??"\u2192"})]});return l?Df(nl,{href:l,className:i,style:n,children:c}):Df("button",{type:"button",className:i,style:n,...s,children:c})}import{jsx as Z,jsxs as De}from"react/jsx-runtime";var Dn="w-full border-2 border-line bg-bg px-4 py-3.5 font-[family-name:var(--bk-value-font,var(--font-display))] text-[length:var(--bk-value-size,17px)] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent";function WA(e,t){let o=Number(e);if(o===0)return"Free";try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(o)}catch{return`${t} ${e}`}}function Gb(e,t){try{return new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",timeZone:t}).format(new Date(e))}catch{return new Date(e).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}}function Wb(e,t){try{return new Intl.DateTimeFormat(void 0,{weekday:"long",day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"2-digit",timeZone:t,timeZoneName:"short"}).format(new Date(e))}catch{return new Date(e).toLocaleString()}}function Mn({id:e,label:t,required:o,children:r}){return De("div",{className:"flex flex-col gap-2",children:[De("label",{htmlFor:e,className:"font-[family-name:var(--bk-name-font,var(--font-mono))] text-[length:var(--bk-name-size,12px)] font-semibold uppercase tracking-[0.2em] text-fg",children:[t,o?Z("span",{className:"text-accent",children:" *"}):null]}),r]})}function Mf({number:e,children:t}){return De("div",{className:"mb-4 flex items-center gap-3",children:[Z("span",{className:"flex size-8 shrink-0 items-center justify-center rounded-full border border-line font-[family-name:var(--bk-step-font,var(--font-mono))] text-[length:var(--bk-step-size,11px)] font-semibold text-fg-dim",children:e}),Z("h3",{className:"font-[family-name:var(--bk-step-font,var(--font-mono))] text-[length:var(--bk-step-size,12px)] font-semibold uppercase tracking-[0.2em] text-fg",children:t})]})}function Ub({eyebrow:e,heading:t,intro:o}){return De("div",{className:"mb-10 max-w-[760px]",children:[(e??"").trim()&&Z("p",{className:"mb-4 font-mono text-[12px] font-semibold uppercase tracking-[0.24em] text-accent",children:e}),(t??"").trim()&&Z("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.98] tracking-[-0.025em] text-fg max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:t}),(o??"").trim()&&Z("p",{className:"mt-5 max-w-[660px] font-display text-[17px] leading-[1.65] text-fg-dim",children:o})]})}function zb({style:e}={}){let{fieldPrefix:t,services:o,currency:r,serviceId:n,setServiceId:a,requiresPayment:l,date:s,earliestDate:i,setDate:c,setDateTouched:f,availability:u,loadingSlots:d,noSlotsMessage:p,selectedStart:x,setSelectedStart:g,customerTimezone:I}=Wr();return o?De("div",{className:"flex flex-col gap-9",style:e,children:[De("div",{children:[Z(Mf,{number:"01",children:"Choose a service"}),Z("div",{className:"grid gap-3 sm:grid-cols-2",children:o.map(h=>{let k=h.id===n;return De("button",{type:"button","aria-pressed":k,onClick:()=>a(h.id),className:`min-h-11 border p-4 text-left transition-colors ${k?"border-accent bg-accent/10":"border-line bg-bg hover:border-fg-dim"}`,children:[Z("span",{className:"block font-[family-name:var(--bk-name-font,var(--font-display))] text-[length:var(--bk-name-size,18px)] font-medium text-fg",children:h.name}),De("span",{className:"mt-1 block font-[family-name:var(--bk-value-font,var(--font-mono))] text-[length:var(--bk-value-size,11px)] uppercase tracking-[0.14em] text-fg-dim",children:[h.durationMinutes," min \xB7 ",WA(h.price,r)]}),h.description&&Z("span",{className:"mt-3 block font-[family-name:var(--bk-note-font,var(--font-display))] text-[length:var(--bk-note-size,14px)] leading-[1.5] text-fg-dim",children:h.description})]},h.id)})}),l&&Z("p",{className:"mt-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.14em] text-alert",role:"alert",children:"This service requires an upfront payment and cannot be booked through this form yet."})]}),De("div",{children:[Z(Mf,{number:"02",children:"Choose a date and time"}),Z(Mn,{id:`${t}-date`,label:"Date",required:!0,children:Z("input",{id:`${t}-date`,type:"date",min:i,value:s,onChange:h=>{f(!0),c(h.target.value)},className:Dn,required:!0})}),Z("div",{className:"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 min-[1200px]:grid-cols-4",role:"group","aria-label":"Available appointment times",children:d?Z("p",{className:"col-span-full py-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.18em] text-fg-dim",children:"Loading times\u2026"}):u?.slots.length?u.slots.map(h=>De("button",{type:"button","aria-pressed":x===h.start,onClick:()=>g(h.start),className:`min-h-11 border px-3 py-2 font-[family-name:var(--bk-value-font,var(--font-mono))] text-[length:var(--bk-value-size,12px)] font-semibold uppercase tracking-[0.12em] transition-colors ${x===h.start?"border-accent bg-accent text-bg":"border-line bg-bg text-fg hover:border-accent"}`,children:[Z("span",{className:"block",children:Gb(h.start,I||u.timezone)}),I&&I!==u.timezone&&De("span",{className:"mt-0.5 block text-[9px] font-normal tracking-[0.08em] opacity-70",children:[Gb(h.start,u.timezone)," business"]})]},h.start)):p?Z("p",{className:"col-span-full py-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.18em] text-fg-dim",role:"status",children:p}):null}),u?.timezone&&De("p",{className:"mt-3 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,10px)] uppercase tracking-[0.16em] text-fg-dim",children:["Times shown in ",I||u.timezone,I&&I!==u.timezone?` \xB7 business timezone ${u.timezone}`:""]})]})]}):null}function Kb({buttonLabel:e,style:t}){let{fieldPrefix:o,editing:r,name:n,setName:a,email:l,setEmail:s,phone:i,setPhone:c,notes:f,setNotes:u,submitting:d,error:p,canSubmit:x}=Wr();return De("div",{className:"sf-card border border-line bg-bg p-5 min-[640px]:p-7",style:t,children:[Z(Mf,{number:"03",children:"Your details"}),De("div",{className:"flex flex-col gap-4",children:[Z(Mn,{id:`${o}-name`,label:"Name",required:!0,children:Z("input",{id:`${o}-name`,type:"text",autoComplete:"name",value:n,onChange:g=>a(g.target.value),className:Dn,required:!0})}),Z(Mn,{id:`${o}-email`,label:"Email",required:!0,children:Z("input",{id:`${o}-email`,type:"email",inputMode:"email",autoComplete:"email",value:l,onChange:g=>s(g.target.value),className:Dn,required:!0})}),Z(Mn,{id:`${o}-phone`,label:"Phone",children:Z("input",{id:`${o}-phone`,type:"tel",inputMode:"tel",autoComplete:"tel",value:i,onChange:g=>c(g.target.value),className:Dn})}),Z(Mn,{id:`${o}-notes`,label:"What would you like to cover?",children:Z("textarea",{id:`${o}-notes`,rows:4,value:f,onChange:g=>u(g.target.value),className:`${Dn} resize-y`})})]}),p&&Z("p",{className:"mt-4 font-[family-name:var(--bk-note-font,var(--font-mono))] text-[length:var(--bk-note-size,11px)] uppercase tracking-[0.16em] text-alert",role:"alert",children:p}),Z(ql,{type:r?"button":"submit",disabled:!x,arrow:null,className:"mt-6 w-full disabled:cursor-not-allowed disabled:opacity-50",children:d?"Submitting\u2026":(e??"").trim()||"Book appointment"})]})}function $b({successMessage:e}){let{confirmation:t,customerTimezone:o}=Wr();return t?De("div",{className:"sf-card max-w-[760px] border border-line bg-bg p-6 min-[640px]:p-9",role:"status",children:[De("p",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.22em] text-accent",children:["Request received \xB7 ",t.bookingNumber]}),Z("h3",{className:"mt-4 font-display text-[28px] font-medium uppercase text-fg",children:t.service}),Z("p",{className:"mt-2 font-display text-[17px] text-fg-dim",children:Wb(t.startAt,t.customerTimezone||o||t.timezone)}),t.customerTimezone&&t.timezone!==t.customerTimezone&&De("p",{className:"mt-1 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:["Business time: ",Wb(t.startAt,t.timezone)]}),(e??"").trim()&&Z("p",{className:"mt-5 max-w-[620px] font-serif text-[18px] italic leading-[1.6] text-fg-dim",children:e}),Z(ql,{href:`/book/${encodeURIComponent(t.manageToken)}`,variant:"ghost",className:"mt-7",children:"Manage booking"})]}):null}var UA=["step","name","value","note"],CV={step:"Step",name:"Name",value:"Value",note:"Note"},zA={step:"styleStep",name:"styleName",value:"styleValue",note:"styleNote"},Vb={step:{font:"--bk-step-font",size:"--bk-step-size"},name:{font:"--bk-name-font",size:"--bk-name-size"},value:{font:"--bk-value-font",size:"--bk-value-size"},note:{font:"--bk-note-font",size:"--bk-note-size"}};function KA(e){return typeof e=="string"&&Kt.includes(e)?e:null}var $A={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function qb(e,t){let o={};for(let r of UA){let n=KA(e[zA[r]]);if(!n)continue;let a=bo({role:n},$A,t);a.fontFamily&&(o[Vb[r].font]=a.fontFamily),a.fontSize&&(o[Vb[r].size]=a.fontSize)}return o}import{jsx as Ur}from"react/jsx-runtime";var Yb=["head","booking","details","confirm"],Xb={head:"Head",booking:"Booking",details:"Your details",confirm:"Confirmation"};function VA({region:e,eyebrow:t,heading:o,intro:r,buttonLabel:n,successMessage:a,...l}){let{confirmation:s,services:i}=Wr(),c=qb(l);return e==="head"?Ur("div",{className:"min-[960px]:col-span-2",style:c,children:Ur(Ub,{eyebrow:t,heading:o,intro:r})}):e==="confirm"?s?Ur("div",{className:"min-[960px]:col-span-2",style:c,children:Ur($b,{successMessage:a})}):null:s||!i||i.length===0?null:e==="booking"?Ur(zb,{style:c}):e==="details"?Ur(Kb,{buttonLabel:n,style:c}):null}import{useEffect as jb,useState as Xo}from"react";import{jsx as zr,jsxs as YA}from"react/jsx-runtime";function Jb(e,t){let[o,r]=Xo(void 0),[n,a]=Xo(0);return jb(()=>{if(t!==void 0)return;if(!e){r(null);return}let l=!1;return Tt.getForm(e).then(s=>{l||r(s)}).catch(()=>{l||r(null)}),()=>{l=!0}},[t,e,n]),jb(()=>{if(t===void 0)return xl(()=>a(l=>l+1))},[t]),t!==void 0?t:o}var qA="Something went wrong \u2014 your submission wasn't sent. Please try again.";function Zb(e,t="Thanks \u2014 we've received your submission."){return e.successMessage?.trim()||t}function Qb({form:e,formSlug:t,editing:o=!1}){let[r,n]=Xo({}),[a,l]=Xo(""),[s,i]=Xo(!1),[c,f]=Xo(!1),[u,d]=Xo(null);async function p(x){if(x.preventDefault(),!(o||s||!e||!t)){i(!0),d(null);try{let g=e.fields.map(I=>({fieldKey:I.key,value:r[I.key]??""}));await Tt.submitForm(t,{answers:g,...a?{company:a}:{}}),f(!0)}catch{d(qA)}finally{i(!1)}}}return{valueOf:x=>r[x]??"",set:(x,g)=>n(I=>({...I,[x]:g})),honeypot:a,setHoneypot:l,submitting:s,done:c,error:u,handleSubmit:p}}function ey({value:e,onChange:t}){return zr("input",{type:"text",name:"company",tabIndex:-1,autoComplete:"off","aria-hidden":"true",className:"hidden",value:e,onChange:o=>t(o.target.value)})}function Hf({field:e,value:t,onChange:o,className:r,rows:n=5,placeholder:a}){let l=a??e.placeholder;return e.type==="textarea"?zr("textarea",{required:e.required,rows:n,value:t,placeholder:l,onChange:s=>o(s.target.value),className:r}):e.type==="select"?YA("select",{required:e.required,value:t,onChange:s=>o(s.target.value),className:r,children:[zr("option",{value:"",children:l||"Select\u2026"}),e.options.map(s=>zr("option",{value:s,children:s},s))]}):e.type==="checkbox"?zr("input",{type:"checkbox",required:e.required,checked:t==="true",onChange:s=>o(s.target.checked?"true":""),className:r}):zr("input",{type:e.type==="email"?"email":e.type==="tel"?"tel":"text",required:e.required,value:t,placeholder:l,onChange:s=>o(s.target.value),className:r})}var Gf="solid",XA=[{label:"Solid",value:"solid"},{label:"Outlined",value:"outlined"}];function ty(e){return Xe(XA,Gf,e)}var Wf="sf-secnum-outline",oy="font-display text-[length:var(--size-headingMedium,clamp(48px,6vw,96px))] font-medium leading-[0.8] tracking-[-0.02em]",ry=`@supports (-webkit-text-stroke: 1px currentColor){.${Wf}{color:var(--surface-2);-webkit-text-stroke:1px var(--line)}}`;import{jsx as jA}from"react/jsx-runtime";function Uf(){return jA("span",{className:"block h-px w-[30px] bg-current"})}import{jsx as zf,jsxs as eL}from"react/jsx-runtime";function JA(e,t){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var ZA="inline-block w-fit bg-accent px-3.5 py-1.5 font-mono text-[length:var(--size-label,12px)] font-semibold uppercase tracking-[0.16em] text-bg",QA="flex items-center gap-3.5 font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em] opacity-80 max-[800px]:text-[length:var(--size-label,12px)] max-[800px]:tracking-[0.25em]";function eo({text:e,look:t="plain",size:o=13,scaled:r=!0,className:n="",classNameAfter:a=""}){if(t==="line")return eL("div",{className:[n,QA,a].filter(Boolean).join(" "),children:[zf(Uf,{}),zf("span",{children:re(e)})]});let l=t==="filled"?ZA:JA(o,r);return zf("span",{className:[n,l,a].filter(Boolean).join(" "),children:re(e)})}import{Fragment as tL,jsx as fe,jsxs as xt}from"react/jsx-runtime";var Hn=(e,t=!1)=>typeof e=="string"?Lt(e,t):e,Kr=(e,t=!1)=>typeof e=="string"?re(e,t):e;function Kf({num:e,title:t,link:o,logo:r,description:n,accent:a,accentNum:l,numStyle:s=Gf,look:i="standard",titleAccent:c,accentTracking:f="-0.02em",spaceBelow:u,rowGap:d,descriptionSize:p,className:x="",eyebrowLook:g=kf}){let I=u??(i==="editorial"?"mb-[60px]":"");if(i==="editorial"){let b=!!t||!!c;return xt("header",{className:`${I} grid grid-cols-[auto_1fr_auto] items-end gap-10 border-b border-line pb-8 max-[1100px]:grid-cols-1 max-[1100px]:gap-3.5 ${x}`.trim(),children:[e&&(typeof e=="string"?fe(eo,{text:e,className:"pb-2"}):fe("span",{className:"pb-2",children:e})),b&&xt("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5.5vw,80px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:[t,c&&xt(tL,{children:[" ",fe("em",{className:"font-serif font-normal italic text-accent",style:{letterSpacing:f},children:c})]})]}),n&&fe("p",{className:"max-w-[360px] pb-1 text-right font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim max-[1100px]:max-w-full max-[1100px]:text-left",children:n})]})}if(i==="simple"){let b=`${I} ${x}`.trim();return xt("div",{className:b||void 0,children:[e&&(typeof e=="string"?fe(eo,{text:e,look:g,className:"mb-4 block"}):fe("span",{className:"mb-4 block",children:e})),t&&fe("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:Hn(t)})]})}if(i==="statement"){let b=`${I} ${x}`.trim();return xt("div",{className:b||void 0,children:[e&&(typeof e=="string"?fe(eo,{text:e,look:g,className:"mb-4 block"}):fe("span",{className:"mb-4 block",children:e})),t&&fe("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,72px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em] text-fg",children:Hn(t,!0)})]})}if(i==="natural"){let b=`flex max-w-[680px] flex-col ${d??"gap-5"} ${I} ${x}`.replace(/\s+/g," ").trim();return xt("div",{className:b,children:[e&&(typeof e=="string"?fe(eo,{text:e,look:g}):fe("span",{children:e})),t&&fe("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:Hn(t)}),n&&fe("p",{className:`${p??"text-[length:var(--size-body,16px)]"} leading-[1.6] opacity-85`,children:n})]})}if(i==="essay"){let b=`${I} ${x}`.trim();return xt("div",{className:b||void 0,children:[e&&(typeof e=="string"?fe(eo,{text:e,look:g,className:"mb-4 block"}):fe("span",{className:"mb-4 block",children:e})),t&&fe("h2",{className:"font-heading2 text-[length:var(--sf-heading-max,var(--size-headingMedium,38px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-none tracking-[-0.02em] text-fg max-[800px]:text-[length:var(--size-headingSmall,28px)]",children:Hn(t)})]})}let h=!!n||!!o,k=!!t,S=ty(s)==="outlined",C="font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em]",T=null;if(e)if(S)T=fe("span",{className:`${oy} text-fg-dim ${Wf}`,children:Kr(e)});else if(l&&!a&&typeof e=="string"){let b=e.indexOf("/"),w=b===-1?e:e.slice(0,b),O=b===-1?"":e.slice(b);T=xt("span",{className:C,children:[fe("span",{className:"text-accent",children:Kr(w)}),O&&fe("span",{className:"text-fg-dim",children:Kr(O)})]})}else T=fe("span",{className:`${C} ${a?"text-accent":"text-fg-dim"}`,children:Kr(e)});return xt("div",{className:"mb-16 grid grid-cols-[auto_1fr_auto] items-end gap-10 border-b border-line pb-6 max-[800px]:mb-9 max-[800px]:grid-cols-1 max-[800px]:gap-3 max-[800px]:pb-5",children:[S&&e&&fe("style",{children:ry}),xt("div",{className:"flex flex-col items-start gap-3",children:[r?.src&&fe("img",{src:_d(r.src),alt:r.alt,className:"h-8 w-auto object-contain"}),T]}),k&&fe("h2",{className:a?"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,5vw,64px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[0.95] tracking-[-0.025em]":"font-heading2 text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-none tracking-[-0.03em] whitespace-pre-line max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))] max-[800px]:leading-[1]",children:Hn(t)}),h&&xt("div",{className:"flex flex-col items-end gap-3 max-[800px]:items-start",children:[n&&fe("p",{className:"max-w-[340px] font-display text-[length:var(--size-body,14px)] leading-[1.5] text-fg-dim text-right max-[800px]:max-w-full max-[800px]:text-left",children:Kr(n)}),o&&xt(nl,{href:o.href,className:"inline-flex items-center gap-2 whitespace-nowrap font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg",children:[Kr(o.text),fe("span",{"aria-hidden":!0,children:"\u2192"})]})]})]})}import{jsx as gt,jsxs as Gn}from"react/jsx-runtime";function oL(e){return e.type==="textarea"||e.type==="select"||e.type==="checkbox"}function QV({eyebrow:e,title:t}){return Gn("div",{className:"flex flex-col gap-4",children:[e&>(eo,{text:e,scaled:!1}),t&>("h2",{className:"font-display text-[min(clamp(40px,5vw,72px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:Lt(t,!0)})]})}function ny({body:e,buttonLabel:t,consent:o,form:r,submission:n,showForm:a,resolving:l,editing:s}){return Gn("div",{className:"flex flex-col gap-7",children:[e&&Za(e).map((i,c)=>gt("p",{className:"max-w-[480px] font-display text-[16px] leading-[1.6] text-fg-dim",children:re(i)},c)),a&&(r?n.done?gt("p",{role:"status",className:"max-w-[480px] font-[family-name:var(--sb-thanks-font,var(--font-serif))] text-[length:var(--sb-thanks-size,17px)] italic leading-[1.6] text-fg-dim",children:Zb(r)}):Gn("form",{className:"grid grid-cols-2 gap-2",onSubmit:n.handleSubmit,children:[r.fields.map(i=>{let c=["border border-line bg-transparent px-4 py-3.5 font-[family-name:var(--sb-field-font,var(--font-mono))] text-[length:var(--sb-field-size,14px)] tracking-[0.1em] text-fg outline-none focus:border-accent",oL(i)?"col-span-2":""].join(" ");return i.type==="checkbox"?Gn("label",{className:"col-span-2 flex items-start gap-3 font-[family-name:var(--sb-tick-font,var(--font-mono))] text-[length:var(--sb-tick-size,12px)] uppercase tracking-[0.18em] text-fg-dim",children:[gt(Hf,{field:i,value:n.valueOf(i.key),onChange:f=>n.set(i.key,f),className:"mt-0.5 size-4 accent-accent"}),Gn("span",{children:[i.label,i.required?gt("span",{className:"text-accent",children:" *"}):null]})]},i.key):gt(Hf,{field:i,value:n.valueOf(i.key),onChange:f=>n.set(i.key,f),rows:4,placeholder:i.placeholder||i.label,className:i.type==="textarea"?`${c} resize-y`:c},i.key)}),gt(ey,{value:n.honeypot,onChange:n.setHoneypot}),n.error&>("p",{role:"alert",className:"col-span-2 font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:n.error}),t&>("button",{type:s?"button":"submit",disabled:n.submitting,className:"col-span-2 cursor-pointer bg-btn px-6 py-4 font-mono text-[14px] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg hover:text-bg disabled:cursor-wait disabled:opacity-60",children:n.submitting?"Sending\u2026":re(t)})]}):gt("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:l?"Loading form\u2026":"Choose a form in the inspector, under Form \u2014 until then this form is hidden on the live page and nothing can be submitted."})),a&&o&>("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:re(o)})]})}var rL=["field","tick","thanks"],nq={field:"Form rows",tick:"Tick label",thanks:"Thank-you message"},nL={field:"styleField",tick:"styleTick",thanks:"styleThanks"},ay={field:{font:"--sb-field-font",size:"--sb-field-size"},tick:{font:"--sb-tick-font",size:"--sb-tick-size"},thanks:{font:"--sb-thanks-font",size:"--sb-thanks-size"}};function aL(e){return typeof e=="string"&&Kt.includes(e)?e:null}var lL={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:900};function ly(e,t){let o={};for(let r of rL){let n=aL(e[nL[r]]);if(!n)continue;let a=bo({role:n},lL,t);a.fontFamily&&(o[ay[r].font]=a.fontFamily),a.fontSize&&(o[ay[r].size]=a.fontSize)}return o}import{jsx as Yl}from"react/jsx-runtime";var sy=["head","form"],iy={head:"Head",form:"Form"};function sL({region:e,eyebrow:t,title:o,body:r,buttonText:n,consent:a,formSlug:l,form:s,editing:i=!1,...c}){let f=Jb(l,s),u=Qb({form:f,formSlug:l,editing:i}),d=ly(c);return e==="head"?Yl("div",{style:d,children:Yl(Kf,{look:"statement",num:t,title:o})}):Yl("div",{style:d,children:Yl(ny,{body:r??"",buttonLabel:n??"",consent:a??"",form:f,submission:u,showForm:!!f||i,resolving:f===void 0,editing:i})})}var iL="ImageBlock",cL=3,Xl=(e,t,o={})=>({type:e,props:{...t?.(e)??{},id:_o(e),...o}}),fL=e=>({...e?.(Ae)??{},direction:"column",[Dr]:[Xl(iL,e),Xl(Ae,e,{direction:"column",[Dr]:[Xl("Heading",e),Xl("Text",e)]})]}),Wn={AppointmentBooking:{slot:"boxes",childType:"BookingBox",addLabel:"Add box",fixed:!0,seeds:()=>Yb.map(e=>({region:e,name:Xb[e]})),addBlocked:()=>"A Booking Form is these three boxes. They cannot be added to or removed.",skipSeed:e=>e.layout!=="boxes"},SubmitBuild:{slot:"boxes",childType:"SubmitBox",addLabel:"Add box",fixed:!0,seeds:()=>sy.map(e=>({region:e,name:iy[e]})),addBlocked:()=>"A Submit-a-build section is these two boxes. They cannot be added to or removed.",skipSeed:e=>e.layout!=="boxes"},Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>Bb.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${xo.toLowerCase()}`,seeds:()=>[],addBlocked:ia,notice:ys},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${xo.toLowerCase()}`,seeds:()=>[],addBlocked:ia,notice:ys},Collections:{slot:"cards",childType:"CollectionCard",addLabel:"Add card",seeds:()=>Array.from({length:Cb},()=>({collection:null}))},ProductGrid:{slot:"products",childType:"ProductRef",addLabel:"Add product",seeds:()=>[{code:""},{code:""},{code:""}],legacy:e=>Array.isArray(e.design_codes)?e.design_codes.map(t=>t?.code).filter(t=>!!t).map(t=>({code:t})):[]},GalleryB:{slot:"items",childType:"GalleryItem",addLabel:"Add image",seeds:()=>vb.map(e=>({...e})),legacy:e=>Array.isArray(e.cards)?e.cards.map(t=>({...t})):[]},ProcessSteps:{slot:"boxes",childType:Ae,addLabel:`Add ${xo.toLowerCase()}`,seeds:e=>Array.from({length:cL},()=>fL(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}};function Sq(e,t){let o=Wn[e];return o?{slot:o.slot,children:o.seeds(t).map(r=>({type:o.childType,props:{id:_o(o.childType),...r}}))}:null}var jo=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function $f(e){return jo(e)&&typeof e.type=="string"&&e.type!==""&&jo(e.props)}function cy(e,t,o){if(Array.isArray(e))for(let r of e)$f(r)?Vf(r,t,o):jo(r)&&typeof r.type=="string"&&r.type!==""&&t.add(r.type)}function jl(e,t,o){if(Array.isArray(e)){if(o.has(e))return;o.add(e);for(let r of e)$f(r)?Vf(r,t,o):jl(r,t,o);return}if(!(!jo(e)||o.has(e))){o.add(e);for(let r of Object.values(e))jl(r,t,o)}}function Vf(e,t,o){if(!o.has(e)){o.add(e),t.add(e.type);for(let r of Object.values(e.props))jl(r,t,o)}}function qf(e){let t=new Set,o=new Set;if($f(e))Vf(e,t,o);else if(jo(e)){if(cy(e.content,t,o),jo(e.zones))for(let r of Object.values(e.zones))cy(r,t,o);jo(e.root)&&jl(e.root,t,o)}return[...t].sort()}var fy=()=>({}),dy=new Map;function dL(e){let t=dy.get(e);if(t)return t;let o=new Set,r=Wn[e];if(r)for(let l of r.seeds(fy))for(let s of qf({type:r.childType,props:l}))o.add(s);let n=hb(e);if(n){let l=0;for(let s of qf(n(fy,i=>`${i}-${l+=1}`)))o.add(s)}o.delete(e);let a=[...o].sort();return dy.set(e,a),a}function uL(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let t=Ws(e),o=e.allow?new Set(e.allow):null,r=new Set(e.deny??[]),n=new Set(Object.keys(e.host??{})),a=i=>{if(r.has(i))return!1;if(n.has(i))return!0;let c=$u(i);return!c||!t[c]?!1:o?o.has(i):!0},l=new Map,s=i=>{let c=l.get(i);if(c!==void 0)return c;l.set(i,!1);let f=a(i)&&dL(i).every(s);return l.set(i,f),f};return{sets:t,offers:s}}var pL="block-offer";function Yf(e=Ye()){return e.cache(pL,()=>uL(e.blocks))}function Eq(e,t=Ye()){let o=Yf(t);return o?o.offers(e):!0}function Bq(e,t=0){let o=xL(e,t),r=o?Yf():null;return o&&r?mL(o,r):o}function mL(e,t){if(e.spec)return t.offers(e.spec.childType)?e:null;let o=e.choices??[],r=o.filter(n=>t.offers(n.type));return r.length===o.length?e:r.length>0?{...e,choices:r}:null}function xL(e,t){let o=Wn[e];if(o)return{source:"section",slot:o.slot,choices:null,spec:o};let r=ab(e,t);if(r)return{source:"container",slot:r.slot,choices:r.choices,spec:null};let n=gb(e);return n?{source:"footer",slot:xb,choices:n,spec:null}:null}var Hq="Scrolling Bar",{Provider:Gq,useSelection:uy}=aa("selectedHeroId");import{SETTINGS_BUCKETS as gL}from"efficient-easel/panel";var $r=gL,$e={Content:"_sContent",Style:"_sStyle",Layout:"_sLayout",Animation:"_sAnimation"},$q=[$e.Layout,...Object.keys(Xh({phone:!0})),...Object.keys(jh("full")),...Object.keys(Jh()),...Object.keys(Zh())],Vq=[$e.Style,...Object.keys(zh())],qq=[$e.Style,...Object.keys(Vh())],Yq=[$e.Animation,...Object.keys(qh())],IL=Object.keys(tb()),hL=new Set(["cardImage","imageBackground"]),Xq=[$e.Style,...IL.filter(e=>e.startsWith("_g")||hL.has(e))],jq=Object.keys(ob()),Jq=Object.keys(rb({bottomDefault:!0})),bL="Editor only \u2014 not shown live",py={"Archive link":"Content",Article:"Content",Boxes:"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","Opening filter":"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","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",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":"Style",Gallery:"Style",Image:"Style","Image column":"Style",Images:"Style",Logo:"Style",Media:"Style","Background image":"Style",Color:"Style","Image tint":"Style",Style:"Style",Shape:"Style",Texture:"Style","Text style":"Style",Motion:"Animation",Animation:"Animation",Anchor:"Layout",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Layout",Behavior:"Layout",Controls:"Layout",Diagram:"Layout",[bL]:"Layout","Filters shown":"Layout","Slide picker":"Layout",Arrows:"Layout","On a phone":"Layout",Nudge:"Layout","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:"Layout",Height:"Layout"},my={"AlloyWheelsListing._gCards":"Style","ProductGrid._gCards":"Style"};function yL(e,t,o){return my[`${e}.${t}`]??py[o]}var SL={"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)","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)"};function Zq(e){let t=new Set(Object.values($e));for(let[o,r]of Object.entries(e))if(!t.has(o)&&Br(r)?.level===1)return 1;return 2}function CL(e){let t=`${e}.`;return Object.keys(SL).filter(o=>o.startsWith(t)).map(o=>o.slice(t.length))}function PL(e,t){let o=Lc(e),r=ft(t);return o?Pt(o.tier,r):r}function Qq(e,t){let o=[],r=new Set(CL(t)),n=new Set,a=null;for(let[d,p]of Object.entries(e)){let x=Br(p);if(!x){a||o.push(a={bucket:"Content",entries:[]}),a.entries.push([d,p]);continue}if(r.has(d)){let h=py[x.label];if(x.level!==2||!h||x.label!==h)throw new Error(`${t}.${d}: RETIRED (lib/puck/field-groups.ts) lists this sub-heading as one whose name duplicates its bucket, but it is a level-${x.level} "${x.label}" header in the ${h??"(unclassified)"} bucket. Only a level-2 header whose label IS its bucket's name may be retired \u2014 anything else is a heading a merchant reads for its own sake. Fix the row or drop it.`);n.add(d),o.push(a={bucket:h,entries:[]});continue}let g=yL(t,d,x.label);if(!g)throw new Error(`${t}.${d}: the inspector group "${x.label}" is not classified in LABEL_BUCKET (lib/puck/field-groups.ts), so there is no way to say which of ${$r.join(" / ")} its controls belong under. Classify it \u2014 an unclassified group silently lands wherever it was declared, which is the whole bug.`);let I=d===$e[g]&&x.level===1;if(!I&&d===$e[g])throw new Error(`${t}.${d}: that key is reserved for the ${g} bucket header, but this field is a level-${x.level} "${x.label}" header, so it cannot serve as one. Rename the section's own field.`);o.push(a={bucket:g,entries:[[d,I||x.level===2?p:PL(p,x.label)]],isBucketHeader:I})}let l=new Set(Object.entries(e).filter(([,d])=>Br(d)).map(([d])=>d)),s=Object.keys(my).filter(d=>d.startsWith(`${t}.`)).filter(d=>!l.has(d.slice(t.length+1)));if(s.length)throw new Error(`${t}: KEY_BUCKET (lib/puck/field-groups.ts) lists ${JSON.stringify(s)}, 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=o.some(d=>d.isBucketHeader)?[]:[...r].filter(d=>!n.has(d));if(c.length)throw new Error(`${t}: 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.`);for(let d of $r){let p=$e[d];if(p in e&&!o.some(x=>x.isBucketHeader&&x.entries[0]?.[0]===p))throw new Error(`${t}.${p} is reserved for the ${d} bucket header but is not a level-1 "${d}" fold header. Rename the section's own field.`)}let f=$r.filter(d=>o.some(p=>p.bucket===d)),u={};for(let d of $r){let p=o.filter(I=>I.bucket===d);if(!p.length)continue;let x=p.findIndex(I=>I.isBucketHeader);x>0&&p.unshift(...p.splice(x,1));let g=zl(d,d===f[0]?f:null);x<0&&(u[$e[d]]=g);for(let I of p)for(let[h,k]of I.entries)u[h]=I.isBucketHeader&&h===$e[d]?g:k}return u}function e9(e){return $e.Content in e?e:{[$e.Content]:zl("Content",null),...e}}function t9(e){return $r.some(t=>$e[t]in e)}function o9(e){let t=$r.filter(r=>$e[r]in e);if(t.length===0)return e;let o={...e};for(let r of t)o[$e[r]]=zl(r,r===t[0]?t:null);return o}var{Provider:a9,useSelection:l9}=aa("selectedPartId");import{createContext as kL,useContext as wL,useMemo as vL,useState as TL}from"react";import{jsx as FL}from"react/jsx-runtime";var RL={partStyle:null,setPartStyle:()=>{}},xy=kL(RL);function c9({children:e}){let[t,o]=TL(null),r=vL(()=>({partStyle:t,setPartStyle:o}),[t]);return FL(xy.Provider,{value:r,children:e})}function f9(){return wL(xy)}import{forwardRef as EL,createElement as Xf}from"react";var gy={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 ee=(e,t,o,r)=>{let n=EL(({color:a="currentColor",size:l=24,stroke:s=2,title:i,className:c,children:f,...u},d)=>Xf("svg",{ref:d,...gy[e],width:l,height:l,className:["tabler-icon",`tabler-icon-${t}`,c].join(" "),...e==="filled"?{fill:a}:{strokeWidth:s,stroke:a},...u},[i&&Xf("title",{key:"svg-title"},i),...r.map(([p,x])=>Xf(p,x)),...Array.isArray(f)?f:[f]]));return n.displayName=`${o}`,n};var _L=[["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"}]],jf=ee("outline","brand-facebook","BrandFacebook",_L);var AL=[["path",{d:"M4 8a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4l0 -8",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}],["path",{d:"M16.5 7.5v.01",key:"svg-2"}]],Jf=ee("outline","brand-instagram","BrandInstagram",AL);var LL=[["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"}]],Zf=ee("outline","brand-linkedin","BrandLinkedin",LL);var OL=[["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"}]],Qf=ee("outline","brand-pinterest","BrandPinterest",OL);var NL=[["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"}]],ed=ee("outline","brand-tiktok","BrandTiktok",NL);var BL=[["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"}]],td=ee("outline","brand-whatsapp","BrandWhatsapp",BL);var DL=[["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"}]],od=ee("outline","brand-x","BrandX",DL);var ML=[["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"}]],rd=ee("outline","brand-youtube","BrandYoutube",ML);var HL=[["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"}]],nd=ee("filled","brand-facebook-filled","BrandFacebookFilled",HL);var GL=[["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"}]],ad=ee("filled","brand-instagram-filled","BrandInstagramFilled",GL);var WL=[["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"}]],ld=ee("filled","brand-linkedin-filled","BrandLinkedinFilled",WL);var UL=[["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"}]],sd=ee("filled","brand-pinterest-filled","BrandPinterestFilled",UL);var zL=[["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"}]],id=ee("filled","brand-tiktok-filled","BrandTiktokFilled",zL);var KL=[["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"}]],cd=ee("filled","brand-whatsapp-filled","BrandWhatsappFilled",KL);var $L=[["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"}]],fd=ee("filled","brand-x-filled","BrandXFilled",$L);var VL=[["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"}]],dd=ee("filled","brand-youtube-filled","BrandYoutubeFilled",VL);import{jsx as YL}from"react/jsx-runtime";var p7="outline",qL={instagram:{outline:Jf,solid:ad},facebook:{outline:jf,solid:nd},tiktok:{outline:ed,solid:id},youtube:{outline:rd,solid:dd},x:{outline:od,solid:fd},linkedin:{outline:Zf,solid:ld},pinterest:{outline:Qf,solid:sd},whatsapp:{outline:td,solid:cd}};function m7({platform:e,iconStyle:t,size:o}){let r=qL[e][t];return YL(r,{size:o,stroke:1.75,"aria-hidden":"true",focusable:"false"})}import{useCallback as Vr,useEffect as qr,useId as RO,useRef as to,useState as Kn}from"react";var Iy="data-puck-overlay-portal";function Jl(e){return e.setAttribute(Iy,"true"),()=>e.removeAttribute(Iy)}var ud="small",pd="dot",XL=[{label:"Small",value:"small"},{label:"Display",value:"display"}],jL=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],hy={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},JL={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)]"},ZL={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 by(e){return Xe(XL,ud,e)}function yy(e){return Xe(jL,pd,e)}function Sy(e){return JL[e]}function Cy(e,t){return ZL[e][t]}var md="left",QL=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],eO={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function Py(e){return Xe(QL,md,e)}function ky(e){return e==="up"||e==="down"}function wy(e,t){return`${eO[e]} ${t}s linear infinite`}import{jsx as Un,jsxs as vy}from"react/jsx-runtime";var tO={"themed-band":"text-fg/70","themed-section":"text-fg-dim","dark-media":"text-overlay-fg/70"};function xd({items:e,separator:t=pd,size:o=ud,durationSec:r=50,scroll:n=md,backdrop:a="themed-band",className:l}){let s=by(o),i=Py(n),c=yy(t),f=`text-accent ${Cy(s,c)}`.trim(),u=hy[c],d=u===""?Un("span",{}):Un("span",{className:f,children:u}),p=ky(i),x=p?"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",g=p?"inline-flex flex-col items-center gap-[60px] max-[800px]:gap-8":"inline-flex items-center gap-[60px] max-[800px]:gap-8",I=h=>Un("span",{className:x,children:e.map((k,S)=>{let C=typeof k=="string"?k:k.text,T=typeof k=="object"&&k.gold;return vy("span",{className:g,children:[Un("span",{className:T?"text-accent":void 0,children:re(C)}),d]},S)})},h);return Un("div",{className:`overflow-hidden ${l??""}`,children:vy("div",{className:`flex ${p?"flex-col ":""}whitespace-nowrap ${Sy(s)} ${tO[a]}`,style:{animation:wy(i,r)},children:[I("a"),I("b")]})})}var oO={"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]"},rO=`calc(${jd} - ${ms}*2)`,Ty=`var(${Jd},${ms})`,F7=`pointer-events-none absolute inset-y-0 left-[${Ty}] right-[${Ty}] z-[6] mx-auto max-w-[var(${Zd},${rO.replace(/ /g,"_")})]`;function Zl(e,t){return`pointer-events-auto absolute ${oO[e]} z-[6] sf-hero-overlay-rail flex ${t}`}function Ry(e){return bt.includes(e)?e:null}var nO="bottom-right",aO=["outline","solid","square","bare"],lO="outline",L7={outline:"Outline",solid:"Solid",square:"Square",bare:"Bare"},O7=!1,Fy=["prev","next"],Ey={prev:"Previous slide",next:"Next slide"};function sO(e){return aO.includes(e)?e:lO}function iO(e){return Ry(e)??nO}var cO="flex-row items-center gap-2";function _y(e){return Zl(iO(e),cO)}var fO={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 Ay(e){return fO[sO(e)]}function Ly(e){return e.shown===!0&&(e.count??0)>1}function Ql(e,t,o){if(o<=1)return t;let r=Math.min(Math.max(t,0),o-1);return e==="prev"?(r-1+o)%o:(r+1)%o}import{jsx as gd}from"react/jsx-runtime";function Id({shape:e,placement:t,ref:o}){let r=Ay(e);return gd("div",{ref:o,className:_y(t),style:{color:"var(--overlay-fg)"},children:Fy.map(n=>gd("button",{type:"button","data-hero-nav":n,"aria-label":Ey[n],className:r,children:gd(Jr,{name:"chevron-right",size:18,rounded:!0,style:n==="prev"?{rotate:"180deg"}:void 0})},n))})}var dO=bt;var uO="top-right",pO=["cards","dots","numbers","bar","tabs"],mO=["cards","dots","numbers","bar"],Oy="cards",U7={cards:"Cards",dots:"Dots",numbers:"Numbers",bar:"Bar",tabs:"Tabs"},z7=!0;function es(e){return pO.includes(e)?e:Oy}function Ny(e){return mO.includes(e)?e:Oy}function xO(e){return dO.includes(e)?e:uO}var By={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",tabs:"flex-row items-stretch w-full overflow-x-auto"};function Dy(e,t){return Zl(xO(t),By[es(e)])}function My(e){return`flex ${By[es(e)]}`}function Hy(e){return e.shown!==!1&&(e.count??0)>1}function gO(e){return{name:e.dataset.slideName||"",process:e.dataset.slideProcess||"",video:e.dataset.slideMedia==="video"}}function IO(e,t){return e===t?!0:e.length!==t.length?!1:e.every((o,r)=>o.name===t[r].name&&o.process===t[r].process&&o.video===t[r].video)}function Gy(e,t){let o=Array.from(t,gO);return IO(e,o)?e:o}import{Fragment as zn,jsx as Me,jsxs as hd}from"react/jsx-runtime";function bd({slides:e,active:t,shape:o,placement:r,ref:n,tone:a="media",label:l}){let s=es(o),i=a==="surface"?{"--overlay-fg":"var(--fg)","--overlay-chrome":"var(--fg)","--overlay-scrim":"var(--surface-2)"}:void 0;return hd("aside",{ref:n,"aria-label":l??"Featured slides",className:a==="surface"?My(s):Dy(s,r),style:{color:"var(--overlay-fg)",...i},children:[s==="cards"&&Me(hO,{slides:e,active:t}),s==="dots"&&Me(bO,{count:e.length,active:t}),s==="numbers"&&Me(yO,{count:e.length,active:t}),s==="bar"&&Me(SO,{count:e.length,active:t}),s==="tabs"&&Me(CO,{slides:e,active:t})]})}function hO({slides:e,active:t}){return hd(zn,{children:[Me("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((o,r)=>{let n=r===t;return hd("button",{type:"button","data-idx":r,"aria-pressed":n,"aria-label":`Go to ${o.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]",n?"border-accent bg-overlay-scrim/70":"border-overlay-chrome/15 hover:border-overlay-chrome/45 hover:bg-overlay-scrim/70"].join(" "),children:[Me("span",{className:["font-display text-[length:var(--size-body,13px)] font-medium uppercase leading-tight tracking-[-0.01em]",n?"text-accent":"text-overlay-fg"].join(" "),children:o.name||`Slide ${r+1}`}),Me("span",{className:"font-mono text-[length:var(--size-label,9px)] uppercase tracking-[0.2em] text-overlay-chrome/55",children:n?"\u25B6 Now playing":o.process||" "})]},r)})]})}function bO({count:e,active:t}){return Me(zn,{children:Array.from({length:e},(o,r)=>Me("button",{type:"button","data-idx":r,"aria-pressed":r===t,"aria-label":`Go to slide ${r+1}`,className:`h-2 cursor-pointer rounded-full transition-all motion-reduce:transition-none ${r===t?"w-5 bg-accent":"w-2 bg-overlay-chrome/45 hover:bg-overlay-chrome/70"}`},r))})}function yO({count:e,active:t}){return Me(zn,{children:Array.from({length:e},(o,r)=>Me("button",{type:"button","data-idx":r,"aria-pressed":r===t,"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===t?"text-overlay-fg":"text-overlay-chrome/45 hover:text-overlay-chrome/80"}`,children:String(r+1).padStart(2,"0")},r))})}function SO({count:e,active:t}){return Me(zn,{children:Array.from({length:e},(o,r)=>Me("button",{type:"button","data-idx":r,"aria-pressed":r===t,"aria-label":`Go to slide ${r+1}`,className:`h-full flex-1 cursor-pointer transition-colors ${r<=t?"bg-overlay-fg":"bg-overlay-chrome/25"}`},r))})}function CO({slides:e,active:t}){return Me(zn,{children:e.map((o,r)=>{let n=r===t;return Me("button",{type:"button","data-idx":r,"aria-pressed":n,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":"",n?"bg-overlay-scrim/70":"hover:bg-overlay-scrim/40"].join(" "),children:Me("span",{className:["font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium uppercase leading-tight tracking-[-0.02em]",n?"text-overlay-fg":"text-overlay-chrome/55"].join(" "),children:o.name})},r)})})}import{useEffect as PO,useState as kO}from"react";var Wy="(prefers-reduced-motion: reduce)";function wO(){return globalThis.window?.matchMedia?.(Wy)?.matches??!1}function X7(){return wO()?"auto":"smooth"}function Uy(){let[e,t]=kO(!1);return PO(()=>{let o=globalThis.window?.matchMedia?.(Wy);if(!o||(t(o.matches),typeof o.addEventListener!="function"))return;let r=n=>t(n.matches);return o.addEventListener("change",r),()=>o.removeEventListener("change",r)},[]),e}var zy={min:40,max:100,step:5,fallback:100,unit:"vh"};function yd(e){return`${typeof e=="number"?e:zy.fallback}${zy.unit}`}function Ky(...e){return e.some(t=>typeof t=="number")}var vO=40;function TO(e,t){return Math.abs(e)<=vO||Math.abs(e)<=Math.abs(t)?null:e<0?"next":"prev"}function $y(e,t,o,r){let n=TO(e,t);return n?Ql(n,o,r):o}function Vy(e){return(e.count??0)>1&&e.editing!==!0}function qy(e){return e.editing!==!0?!1:(e.slides??[])[e.shown??0]?.video===!0}function Yy(e){return e.editing!==!0?!1:!(e.playing===!0&&e.controlShown===!0)}import{jsx as Wt,jsxs as ts}from"react/jsx-runtime";var FO=`
|
|
6
|
+
.hero-ticker-pick { cursor: pointer; }
|
|
7
|
+
.hero-ticker-pick:hover {
|
|
8
|
+
outline: 2px solid color-mix(in srgb, ${gs.accent} 45%, transparent);
|
|
9
|
+
outline-offset: -2px;
|
|
10
|
+
}
|
|
11
|
+
.hero-ticker-pick[data-selected] {
|
|
12
|
+
outline: 2px solid ${gs.accent};
|
|
13
|
+
outline-offset: -2px;
|
|
14
|
+
}
|
|
15
|
+
`,EO="Play video",_O="Hold video",AO="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",LO="item",OO=["","","","","",""],Xy=new Map,jy="hero-slider:goto";function NO(e,t){let o=e?.ownerDocument?.defaultView;if(o)return o.addEventListener(jy,t),()=>o.removeEventListener(jy,t)}function BO({slides:e,alignment:t,textureOpacity:o,showTexture:r,textureColor:n,phoneUpDown:a,phoneSideways:l,autoplay:s,autoplayInterval:i,showTicker:c,tickerItems:f,heightDesktop:u,heightMobile:d,showPicker:p,pickerShape:x,pickerPlacement:g,showArrows:I,arrowsShape:h,arrowsPlacement:k,editing:S}){let C=Ky(u,d),T=C?"h-[var(--sf-hero-h-m)] min-[720px]:h-[var(--sf-hero-h-d)]":"h-screen min-h-[680px]",b=C?{"--sf-hero-h-d":yd(u),"--sf-hero-h-m":yd(d)}:void 0,O=(f??OO.map(L=>({text:L}))).map(L=>L?.text?.trim()?L.text:S?LO:"").filter(Boolean),D=c!==!1,R=to(null),_=to(null),G=to(null),Y=to(null),M=to(null),v=RO(),j=to(v),[F,E]=Kn([]),[se,N]=Kn(0),le=to(0),[xe,ie]=Kn(!1),[te,Ie]=Kn(!1),[de,z]=Kn(null),Le=Uy(),{selectedHeroId:Re,select:Oe}=uy(),ne=Vr(()=>R.current?.querySelector(".hero-track")??null,[]),K=Vr((L,W=!1)=>{N(L),le.current=L,Xy.set(j.current,L);let B=R.current?.querySelector(".hero-track");if(B)if(W){let ce=B.style.transition;B.style.transition="none",B.style.transform=`translateX(-${Math.max(0,L)*100}%)`,B.offsetHeight,B.style.transition=ce}else B.style.transform=`translateX(-${Math.max(0,L)*100}%)`},[]);qr(()=>{let L=R.current,W=L?.getAttribute("data-puck-component")||L?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||v;j.current=W,z(W);let B=Xy.get(W);typeof B=="number"&&(N(B),le.current=B)},[]),qr(()=>{let L=ne();if(!L)return;let W=()=>{E(ce=>Gy(ce,L.querySelectorAll("[data-slide-name]")))};W();let B=new MutationObserver(W);return B.observe(L,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-slide-name","data-slide-process","data-slide-media"]}),()=>{B.disconnect()}},[ne]),qr(()=>{if(!S)return;let L=W=>{let B=W.detail;if(!B||typeof B.index!="number")return;let ce=R.current,ge=ce?.getAttribute("data-puck-component")||ce?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||j.current;B.id&&B.id!==ge||K(B.index,!0)};return NO(R.current,L)},[S,K]);let H=F.length,He=Math.min(Math.max(se,0),Math.max(0,H-1)),Ze=Hy({shown:p,count:H}),It=Ly({shown:I,count:H}),oo=qy({editing:S,shown:He,slides:F}),Ne=Yy({editing:S,playing:te,controlShown:oo}),Ve=Vy({count:H,editing:S}),ht=to(null),rt=to(null),Ut=Vr(L=>{if(ht.current=null,rt.current=null,!Ve||L.touches.length!==1)return;let W=L.touches[0];ht.current={x:W.clientX,y:W.clientY},rt.current={x:W.clientX,y:W.clientY}},[Ve]),Jo=Vr(L=>{if(!ht.current)return;if(L.touches.length!==1){ht.current=null;return}let W=L.touches[0];rt.current={x:W.clientX,y:W.clientY}},[]),Yr=Vr(()=>{let L=ht.current,W=rt.current;if(ht.current=null,rt.current=null,!Ve||!L||!W)return;let B=$y(W.x-L.x,W.y-L.y,le.current,H);B!==le.current&&K(B)},[Ve,H,K]);qr(()=>{if(S||!s||xe||Le||H<=1)return;let W=Math.max(1,typeof i=="number"?i:6)*1e3,B=window.setTimeout(()=>K((He+1)%H),W);return()=>window.clearTimeout(B)},[S,s,i,xe,Le,H,He,K]),qr(()=>{let L=[_.current,G.current,Y.current].filter(Boolean),W=L.map(ce=>Jl(ce)),B=ce=>{let ge=ce.target,ro=ge.closest("[data-hero-nav]"),nt=ro??ge.closest("[data-idx]");if(!nt)return;ce.stopPropagation(),ce.preventDefault();let Xr=ro?Ql(ro.dataset.heroNav,le.current,H):Number(nt.dataset.idx);Number.isNaN(Xr)||(K(Xr,S),ne()?.querySelectorAll("[data-slide-name]")[Xr]?.click())};return L.forEach(ce=>ce.addEventListener("click",B,{capture:!0})),()=>{W.forEach(ce=>ce?.()),L.forEach(ce=>ce.removeEventListener("click",B,{capture:!0}))}},[H,K,ne,S]),qr(()=>{if(!S)return;let L=M.current;if(!L)return;let W=Jl(L),B=ce=>{ce.stopPropagation(),ce.preventDefault();let ge=R.current,ro=ge?.getAttribute("data-puck-component")||ge?.closest("[data-puck-component]")?.getAttribute("data-puck-component")||j.current;Oe(ro)};return L.addEventListener("click",B,{capture:!0}),()=>{W?.(),L.removeEventListener("click",B,{capture:!0})}},[S,Oe,D,O.length]);let Fe=Vr(L=>{if(!L)return;let W=Jl(L),B=ce=>{ce.stopPropagation(),ce.preventDefault(),Ie(ge=>!ge)};return L.addEventListener("click",B,{capture:!0}),()=>{W?.(),L.removeEventListener("click",B,{capture:!0})}},[]);return Wt(Of.Provider,{value:{alignment:t,textureOpacity:o,textureOn:r,textureColor:n,quietVideo:Ne,phoneUpDown:a,phoneSideways:l},children:ts("div",{ref:R,className:`relative mx-[var(--sf-hero-bleed-m,calc(50%_-_50vw))] w-[var(--sf-hero-bleed-w,100vw)] ${T} max-w-[var(--sf-hero-cap,none)] overflow-hidden`,style:b,onMouseEnter:()=>ie(!0),onMouseLeave:()=>ie(!1),onTouchStart:Ut,onTouchMove:Jo,onTouchEnd:Yr,children:[Wt(e,{className:"hero-track flex h-full [&>*]:h-full [&>*]:min-w-full [&>*]:shrink-0 [&>*]:basis-full",style:{transform:`translateX(-${He*100}%)`,transition:Le?"none":"transform 600ms cubic-bezier(.22,.61,.36,1)"},minEmptyHeight:400}),oo&&Wt("div",{ref:Fe,"data-hero-video-control":te?"playing":"held",className:"sf-hero-video-control absolute left-6 z-[7]",style:{top:`calc(${xu} + 16px)`},children:ts("button",{type:"button",className:AO,children:[Wt("span",{"aria-hidden":"true",children:te?"\u275A\u275A":"\u25B6"}),te?_O:EO]})}),(Ze||It)&&ts("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:[Ze&&Wt(bd,{ref:_,slides:F,active:He,shape:Ny(x),placement:g}),It&&Wt(Id,{ref:Y,shape:h,placement:k})]}),Ze&&Wt("div",{ref:G,className:"sf-hero-phone-dots absolute bottom-[80px] left-1/2 z-[6] hidden -translate-x-1/2 items-center gap-2",children:F.map((L,W)=>Wt("button",{type:"button","data-idx":W,"aria-label":`Go to slide ${W+1}`,className:`h-2 rounded-full transition-all motion-reduce:transition-none ${W===He?"w-5 bg-accent":"w-2 bg-white/45 hover:bg-white/70"}`},W))}),D&&O.length>0&&ts("div",{ref:M,className:`sf-hero-ticker absolute inset-x-0 bottom-0 z-[5] border-t border-overlay-chrome/10 py-3.5${S?" hero-ticker-pick":""}`,"data-selected":S&&de!=null&&Re===de?"":void 0,style:{background:"rgba(10,10,10,.55)"},children:[S&&Wt("style",{children:FO}),Wt(xd,{items:O,backdrop:"dark-media"})]})]})})}var yY=Mr;var Jy={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 DO={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}},Zy=DO;var Qy={SpecTable:Jy,FAQ:Zy,Collections:bb};function vY(e){return e&&Object.hasOwn(Qy,e)?Qy[e]:null}var $n=new Map,eS=e=>e??"";function Sd(e,t,o){o&&$n.clear();let r=eS(t),n=$n.get(r);if(!n){let a=oe.listMenus(e,t);$n.set(r,a),a.catch(()=>{$n.get(r)===a&&$n.delete(r)}),n=a}return n}var os=new Map;function tS(e,t){let o=eS(t),r=os.get(o);if(!r){let n=Sd(e,t,!0);os.set(o,n);let a=()=>{os.get(o)===n&&os.delete(o)};n.then(a,a),r=n}return r}function EY(e,t=!1){return Sd(e,Ro(),t)}function _Y(e){return tS(e,Ro())}function AY(e,t=!1){return Sd(e,null,t)}function LY(e){return tS(e,null)}var OY={ids:new Set,handles:new Set};function NY(e){return{ids:new Set(e.map(t=>t.id).filter(Boolean)),handles:new Set(e.map(t=>t.handle).filter(Boolean))}}function BY({id:e,handle:t,editing:o,ready:r,live:n}){if(!o)return!1;let a=e??"",l=t??"";return!a&&!l?!0:r?a?!n.ids.has(a):!n.handles.has(l):!1}function DY(e,t){if(t){if(t.id)return e.find(o=>o.id===t.id);if(t.handle)return e.find(o=>o.handle===t.handle)}}export{nl as a,al as b,IG as c,Ho as d,Mr as e,yb as f,vf as g,q0 as h,Sb as i,Y0 as j,t2 as k,o2 as l,ki as m,jt as n,wi as o,vi as p,_e as q,xn as r,Jt as s,hr as t,In as u,mx as v,E2 as w,Ck as x,Pk as y,kk as z,wk as A,O2 as B,N2 as C,K2 as D,$2 as E,V2 as F,q2 as G,Ya as H,Y2 as I,br as J,X2 as K,Ix as L,vk as M,j2 as N,J2 as O,Z2 as P,Oi as Q,Lk as R,Ok as S,Xa as T,bx as U,Px as V,zk as W,nH as X,aH as Y,bo as Z,lH as _,sH as $,iH as aa,cH as ba,fw as ca,yn as da,Fx as ea,uH as fa,_x as ga,hH as ha,bH as ia,yr as ja,re as ka,_H as la,Lt as ma,Za as na,J0 as oa,Z0 as pa,Q0 as qa,lr as ra,Su as sa,la as ta,Ao as ua,VO as va,qO as wa,ba as xa,Ks as ya,sp as za,Yv as Aa,S5 as Ba,Tg as Ca,O5 as Da,N5 as Ea,Uc as Fa,$g as Ga,TW as Ha,_W as Ia,AW as Ja,LW as Ka,Pu as La,bl as Ma,mp as Na,jW as Oa,tU as Pa,yc as Qa,sI as Ra,UT as Sa,nU as Ta,Sl as Ua,iI as Va,zT as Wa,KT as Xa,$T as Ya,sU as Za,iU as _a,cU as $a,fU as ab,sa as bb,IS as cb,QO as db,po as eb,eN as fb,tN as gb,wu as hb,oN as ib,rN as jb,nN as kb,SS as lb,Pc as mb,oR as nb,IU as ob,yU as pb,uI as qb,SU as rb,nR as sb,CU as tb,kl as ub,lt as vb,lN as wb,sN as xb,iN as yb,cN as zb,ca as Ab,fN as Bb,dN as Cb,uN as Db,dt as Eb,je as Fb,gN as Gb,vS as Hb,IN as Ib,hN as Jb,TS as Kb,SN as Lb,RS as Mb,CN as Nb,RN as Ob,Qr as Pb,NS as Qb,BS as Rb,DS as Sb,ks as Tb,FN as Ub,XS as Vb,JS as Wb,BN as Xb,Nu as Yb,rC as Zb,sC as _b,en as $b,Gu as ac,$N as bc,mo as cc,rn as dc,oB as ec,nB as fc,aB as gc,lB as hc,sB as ic,xC as jc,xo as kc,dB as lc,uB as mc,rp as nc,gB as oc,ha as pc,bB as qc,Os as rc,Ns as sc,qu as tc,CB as uc,Ft as vc,Et as wc,Sa as xc,QB as yc,Ip as zc,Ca as Ac,Vs as Bc,KC as Cc,r1 as Dc,yp as Ec,VC as Fc,l1 as Gc,s1 as Hc,i1 as Ic,c1 as Jc,tP as Kc,Be as Lc,Fp as Mc,u1 as Nc,Bp as Oc,b1 as Pc,ka as Qc,Gp as Rc,Wp as Sc,y1 as Tc,S1 as Uc,zp as Vc,C1 as Wc,Kp as Xc,P1 as Yc,iP as Zc,k1 as _c,cr as $c,Io as ad,$p as bd,T1 as cd,va as dd,Vp as ed,qp as fd,Yp as gd,F1 as hd,fP as id,jp as jd,Jp as kd,fr as ld,Zp as md,uP as nd,_1 as od,A1 as pd,Ta as qd,em as rd,Ra as sd,Qs as td,ti as ud,om as vd,ri as wd,ai as xd,sm as yd,nD as zd,Aa as Ad,La as Bd,bm as Cd,qt as Dd,$t as Ed,No as Fd,Cm as Gd,mr as Hd,km as Id,wm as Jd,bD as Kd,Na as Ld,Ee as Md,yD as Nd,SD as Od,Ba as Pd,CD as Qd,PD as Rd,Da as Sd,AP as Td,Lm as Ud,LP as Vd,_D as Wd,AD as Xd,LD as Yd,BP as Zd,OD as _d,ND as $d,BD as ae,HP as be,DD as ce,Mm as de,MD as ee,HD as fe,GD as ge,WD as he,UD as ie,zD as je,KD as ke,$D as le,VD as me,qD as ne,YD as oe,$m as pe,gi as qe,Ii as re,pn as se,Vm as te,aM as ue,qm as ve,Xm as we,Jm as xe,mn as ye,Hi as ze,HH as Ae,Gi as Be,Dw as Ce,eG as De,el as Ee,aG as Fe,Qx as Ge,Ki as He,vG as Ie,Xi as Je,UG as Ke,zG as Le,KG as Me,$G as Ne,Cv as Oe,fl as Pe,ZG as Qe,l4 as Re,s4 as Se,ul as Te,i4 as Ue,x4 as Ve,Zi as We,Pn as Xe,Tv as Ye,g4 as Ze,yg as _e,ec as $e,kg as af,tc as bf,Hv as cf,nc as df,w5 as ef,Ng as ff,Bg as gf,wB as hf,vB as if,Qu as jf,TB as kf,RB as lf,Ms as mf,zg as nf,tp as of,So as pf,Kg as qf,yW as rf,Zt as sf,yT as tf,gc as uf,yI as vf,t6 as wf,El as xf,Lc as yf,l6 as zf,Pt as Af,s6 as Bf,m6 as Cf,Dc as Df,Gc as Ef,HI as Ff,UI as Gf,vF as Hf,mz as If,Xc as Jf,AF as Kf,_n as Lf,Sz as Mf,ZI as Nf,QI as Of,eh as Pf,UF as Qf,Uz as Rf,zz as Sf,Nl as Tf,$z as Uf,rf as Vf,Vz as Wf,aE as Xf,qz as Yf,Xz as Zf,Ar as _f,jz as $f,cE as ag,Bl as bg,Zz as cg,ph as dg,e3 as eg,t3 as fg,o3 as gg,r3 as hg,n3 as ig,Ml as jg,Hl as kg,l3 as lg,kh as mg,i3 as ng,Th as og,df as pg,uf as qg,p3 as rg,a_ as sg,Ul as tg,PK as ug,kK as vg,wK as wg,vK as xg,TK as yg,p_ as zg,RK as Ag,FK as Bg,I_ as Cg,EK as Dg,_K as Eg,AK as Fg,LK as Gg,OK as Hg,Br as Ig,ft as Jg,NK as Kg,BK as Lg,DK as Mg,y_ as Ng,MK as Og,zh as Pg,Yo as Qg,C_ as Rg,Lr as Sg,HK as Tg,P_ as Ug,Vh as Vg,qh as Wg,GK as Xg,WK as Yg,UK as Zg,zK as _g,KK as $g,$K as ah,VK as bh,qK as ch,YK as dh,XK as eh,Xh as fh,jh as gh,Jh as hh,Zh as ih,jK as jh,Vo as kh,JK as lh,ZK as mh,QK as nh,e8 as oh,t8 as ph,o8 as qh,r8 as rh,n8 as sh,ko as th,a8 as uh,l8 as vh,s8 as wh,yf as xh,i8 as yh,Sf as zh,Y_ as Ah,c8 as Bh,f8 as Ch,d8 as Dh,u8 as Eh,p8 as Fh,m8 as Gh,tb as Hh,ob as Ih,rb as Jh,Q_ as Kh,x8 as Lh,g8 as Mh,t0 as Nh,C8 as Oh,P8 as Ph,k8 as Qh,$r as Rh,$e as Sh,$q as Th,Vq as Uh,qq as Vh,Yq as Wh,Xq as Xh,jq as Yh,Jq as Zh,bL as _h,Zq as $h,Qq as ai,e9 as bi,t9 as ci,o9 as di,Ae as ei,nb as fi,T8 as gi,$l as hi,Pf as ii,F8 as ji,E8 as ki,_8 as li,A8 as mi,L8 as ni,O8 as oi,Jl as pi,a9 as qi,l9 as ri,c9 as si,f9 as ti,Gf as ui,XA as vi,kf as wi,sb as xi,d0 as yi,p0 as zi,D8 as Ai,M8 as Bi,eo as Ci,Kf as Di,DO as Ei,yY as Fi,vY as Gi,Jb as Hi,Zb as Ii,Qb as Ji,ey as Ki,Hf as Li,X7 as Mi,Wr as Ni,fV as Oi,ql as Pi,Ub as Qi,zb as Ri,Kb as Si,$b as Ti,UA as Ui,CV as Vi,zA as Wi,VA as Xi,Pb as Yi,aA as Zi,lA as _i,fA as $i,h0 as aj,U8 as bj,z8 as cj,EY as dj,_Y as ej,AY as fj,LY as gj,OY as hj,NY as ij,BY as jj,DY as kj,p7 as lj,m7 as mj,fb as nj,Y8 as oj,X8 as pj,QV as qj,ny as rj,rL as sj,nq as tj,nL as uj,sL as vj,G0 as wj,r$ as xj,n$ as yj,a$ as zj,i$ as Aj,c$ as Bj,hb as Cj,qf as Dj,Lf as Ej,Eb as Fj,_b as Gj,$$ as Hj,V$ as Ij,q$ as Jj,Y$ as Kj,SA as Lj,wA as Mj,Wn as Nj,Sq as Oj,uL as Pj,Yf as Qj,Eq as Rj,Bq as Sj,zy as Tj,yd as Uj,Ky as Vj,uO as Wj,mO as Xj,Oy as Yj,U7 as Zj,z7 as _j,bd as $j,nO as ak,aO as bk,lO as ck,L7 as dk,O7 as ek,ud as fk,pd as gk,XL as hk,jL as ik,md as jk,QL as kk,xd as lk,Hq as mk,Gq as nk,uy as ok,OO as pk,jy as qk,BO as rk};
|