efficient-storefront-blocks 0.90.0 → 0.92.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 +36 -0
- package/dist/chunks/{EditorPreviewCheckout-M4LID5YF.js → EditorPreviewCheckout-VHPWPS3N.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-2JWQZN2Q.js → SiteEditorProvider-C4HT4BT4.js} +1 -1
- package/dist/chunks/chunk-7L5DVQZ4.js +1 -0
- package/dist/chunks/chunk-PW7BA4ZJ.js +1 -0
- package/dist/chunks/{chunk-3XIZADE6.js → chunk-RAOSZKA3.js} +1 -1
- package/dist/chunks/chunk-S2WLJ6H2.js +388 -0
- package/dist/chunks/{fitment-data-3VLLTJW6.js → fitment-data-URJZ24LU.js} +1 -1
- package/dist/contract.js +11 -19
- package/dist/editor/components/GalleryShowcaseSource.js +1 -1
- package/dist/editor/lib/document/block-align-row.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/index.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/AppointmentBooking/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Events/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/index.d.ts +1 -1
- package/dist/editor/lib/document/config.d.ts +2 -0
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/efficient-block-sources.js +1 -1
- package/dist/editor/lib/storefront-editor-words-kept.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +8 -7
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +53 -39
- package/dist/links.js +1 -1
- package/dist/render/app/globals.css +10 -1
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/AppointmentBooking.d.ts +2 -1
- package/dist/render/components/AppointmentBooking.js +1 -1
- package/dist/render/components/ContactRouting.d.ts +2 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/Events.d.ts +3 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FooterMenu.d.ts +3 -1
- package/dist/render/components/FooterMenu.js +1 -1
- package/dist/render/components/FooterPayment.js +1 -1
- package/dist/render/components/FooterSocial.js +1 -1
- package/dist/render/components/GridCardTemplate.d.ts +30 -1
- package/dist/render/components/GridCardTemplate.js +1 -1
- package/dist/render/components/ProductGridSection.d.ts +2 -1
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/PublishedFooter.js +1 -1
- package/dist/render/components/PublishedHeader.js +1 -1
- package/dist/render/components/RatingBlockView.d.ts +5 -0
- package/dist/render/components/RatingBlockView.js +1 -0
- package/dist/render/components/ReviewForm.js +1 -1
- package/dist/render/components/TyrePlpCard.d.ts +2 -1
- package/dist/render/components/TyrePlpCard.js +1 -1
- package/dist/render/components/TyreSummaryCard.d.ts +2 -1
- package/dist/render/components/TyreSummaryCard.js +1 -1
- package/dist/render/components/WheelCardFrame.d.ts +1 -2
- package/dist/render/components/WheelCardFrame.js +1 -1
- package/dist/render/components/card-pieces/CardPicture.d.ts +1 -1
- package/dist/render/components/card-pieces/CardProductPicture.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
- package/dist/render/components/pdp-dynamic/RecordPhotoGallery.d.ts +2 -1
- package/dist/render/components/pdp-dynamic/RecordPhotoGallery.js +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +5 -14
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
- package/dist/render/lib/api/index.d.ts +3 -1
- package/dist/render/lib/api/index.js +1 -1
- package/dist/render/lib/chrome-cache.d.ts +1 -0
- package/dist/render/lib/chrome-cache.js +1 -1
- package/dist/render/lib/content/events-featured-look.d.ts +3 -0
- package/dist/render/lib/content/events-featured-look.js +1 -0
- package/dist/render/lib/content/menu-card-seed.d.ts +4 -0
- package/dist/render/lib/content/menu-card-seed.js +1 -1
- package/dist/render/lib/content/menu-entry-type.d.ts +2 -0
- package/dist/render/lib/content/menu-entry-type.js +1 -0
- package/dist/render/lib/content/product-card-seed.d.ts +7 -0
- package/dist/render/lib/content/product-card-seed.js +1 -1
- package/dist/render/lib/content/rating.d.ts +1 -0
- package/dist/render/lib/content/rating.js +1 -0
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/meta.d.ts +6 -0
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductColour/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductPrice/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/render.js +1 -1
- package/dist/render/lib/document/blocks/service/AppointmentBooking/render.js +1 -1
- package/dist/render/lib/document/blocks/service/ContactRouting/render.js +1 -1
- package/dist/render/lib/document/blocks/service/Events/meta.d.ts +6 -0
- package/dist/render/lib/document/blocks/service/Events/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/Events/render.js +1 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/meta.d.ts +2 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -1
- package/dist/render/lib/document/card-templates.d.ts +3 -1
- package/dist/render/lib/document/card-templates.js +1 -1
- package/dist/render/lib/document/footer-page-blocks.js +1 -1
- package/dist/render/lib/document/published-chrome-data.d.ts +2 -0
- package/dist/render/lib/document/published-chrome-data.js +1 -0
- package/dist/render/lib/document/render-config.d.ts +2 -0
- package/dist/render/lib/document/render-config.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-detail.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-events.d.ts +1 -0
- package/dist/render/lib/document/section-to-box-rows-events.js +1 -0
- package/dist/render/lib/document/section-to-box-rows-reviews.d.ts +2 -1
- package/dist/render/lib/document/section-to-box-rows-reviews.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-service.d.ts +1 -0
- package/dist/render/lib/document/section-to-box-rows-service.js +1 -0
- package/dist/render/lib/document/section-to-box-rows-spec.js +1 -1
- package/dist/render/lib/sections/grid-no-hole.d.ts +1 -1
- package/dist/render/lib/sections/product-pictures.d.ts +2 -1
- package/dist/render/lib/sections/product-pictures.js +1 -1
- package/dist/render/lib/wheels/plp-hydrate.d.ts +3 -0
- package/dist/render/lib/wheels/plp-hydrate.js +1 -1
- package/dist/words.d.ts +19 -7
- package/dist/words.js +5 -5
- package/package.json +4 -2
- package/dist/chunks/chunk-6TDIG6W3.js +0 -395
- package/dist/chunks/chunk-JMUP4FBL.js +0 -1
- package/dist/chunks/chunk-U6UPMVSX.js +0 -1
- package/dist/render/components/wheels-plp/PlpCard.d.ts +0 -29
- package/dist/render/components/wheels-plp/PlpCard.js +0 -1
- package/dist/render/lib/content/legacy-block-align.d.ts +0 -2
- package/dist/render/lib/content/legacy-block-align.js +0 -1
- /package/dist/chunks/{chunk-N445XY3W.js → chunk-JB6ISWYA.js} +0 -0
- /package/dist/chunks/{chunk-6TDIG6W3.js.LEGAL.txt → chunk-S2WLJ6H2.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import{$ as Nt,A as wn,Aa as pw,Ab as Ow,B as Cn,Ca as uw,D as JS,Da as mw,Fa as hw,G as Ks,Ha as vn,I as ZS,Ia as xw,J as Sm,Ka as Sd,La as gw,M as Id,N as QS,O as ew,P as ow,Pa as Iw,Q as bd,R as tw,Ra as wd,S as aw,U as rw,V as wm,X as nw,Xa as bw,Y as Qo,Z as ir,_ as sw,a as ht,aa as yd,ab as Cd,b as bn,c as KS,cb as kn,d as Zt,da as lw,e as Im,ea as Cm,eb as Tn,f as yn,fb as vd,ha as iw,hb as yw,ia as vm,j as js,ka as km,l as va,lb as Sw,m as bm,nb as ww,oa as dw,rb as xe,s as VS,t as qS,u as ym,ua as dr,v as ao,vb as Tw,w as YS,wa as cw,wb as Pw,x as XS,y as Sn,ya as fw,yb as kd,z as Bo,zb as Ew}from"./chunk-PW7BA4ZJ.js";import{d as Cw,e as ka,f as vw,g as kw,j as Pn,n as Tm}from"./chunk-JB6ISWYA.js";var Z=e=>typeof e=="string"&&e?e:void 0;var Aw="en",Td=null,Rw=Aw,Lw=null;function wde(e,o,t){Td=e??null,Rw=o||Aw,Lw=t??null}function re(){return Lw}function Pm(){return Rw}function Fw(){return Td}function _w(e,o){return o?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,a)=>Object.prototype.hasOwnProperty.call(o,a)?String(o[a]):t):e}function i(e,o){let t=Td?Td[e]:void 0;if(typeof t=="function"){try{let a=Z(t(o??{}));if(a)return a}catch{}return _w(e,o)}return _w(Z(t)??e,o)}function Po(e,o,t,a){return i(t===1?e:o,{...a,n:t})}import{jsx as Em,Fragment as oH,jsxs as tH}from"react/jsx-runtime";import{createContext as aH,useContext as rH}from"react";var nH={mirrorHostStyles:!0,css:null,fontHrefs:[]},Bw=aH(nH);function Tde({value:e,children:o}){return Em(Bw.Provider,{value:e,children:o})}function Om(){return rH(Bw)}function Dw(){let{css:e,fontHrefs:o}=Om();return tH(oH,{children:[o.map(t=>Em("link",{rel:"stylesheet",href:t},t)),e?Em("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as sH}from"react/jsx-runtime";import{createContext as lH,useContext as iH}from"react";var Nw=lH(void 0);function _de({metadata:e,children:o}){return sH(Nw.Provider,{value:e,children:o})}var Mw=()=>iH(Nw);import{jsx as po,Fragment as FM,jsxs as xd}from"react/jsx-runtime";import{useCallback as zs,useEffect as Xt,useRef as Yie,useState as _M}from"react";import{SettingsSwitch as Xie}from"efficient-easel/panel";import{PagesIcon as Jie,StylesIcon as Zie}from"efficient-easel/rail";import{PaletteIcon as Qie}from"efficient-shell/icons/efficient";import{Subtree as ede,TreeRow as BM}from"efficient-easel/tree";import{useEasel as DM}from"efficient-easel/easel";import{useEaselStrings as NM}from"efficient-easel/strings";import{createContext as dH,useContext as cH}from"react";var _m=dH(!1),Lde=()=>cH(_m);import{useMemo as fH,useRef as pH}from"react";import{useEaselApi as uH}from"efficient-easel/easel";import{useSectionOps as mH}from"efficient-easel/screen/lib/document/use-section-ops";function Pd(){let e=uH(),o=mH(),t=pH(o);return t.current=o,fH(()=>({getItemById:a=>e.getState().getItemById(a),getSelectorForId:a=>e.getState().getSelectorForId(a),get components(){return e.getState().config.components},replace:(a,r,n)=>t.current.replaceComponent(a,r,n)}),[e])}import{encodePartId as VK}from"efficient-easel/draw";import{insertAt as qK,moveTo as YK,removeAt as XK}from"efficient-easel/fields";function Ta(e,o){let t=globalThis,a=Symbol.for(e),r=t[a];return r===void 0&&(r=o(),t[a]=r),r}var Eo="dataSource",Qt="dataSourceOptions",hH="dataRows",xt="countKey",Vs="counts",$de="location-payment-methods",Ww="shop-payment-methods",zde="delivery-options";function xH(e){return typeof e.open=="function"}var gH=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;function qs(){return Ta("efficient.block-sources",()=>({sources:new Map,revision:0}))}var IH=e=>[e?.key,e?.label,e?.value].every(o=>typeof o=="string"&&o.trim()!==""),bH=e=>[e?.key,e?.label].every(o=>typeof o=="string"&&o.trim()!==""),Hw=e=>typeof e=="string"&&e.trim()!=="";function yH(e){if(!e||!Hw(e.label))return null;if(xH(e))return{label:e.label.trim(),open:e.open};let o=e.href;return Hw(o)?{label:e.label.trim(),href:o.trim()}:null}function SH(e){if(typeof e.key!="string"||!gH.test(e.key))throw new Error(`A block source key is lower-case words joined by hyphens, not ${JSON.stringify(e.key)}.`);if(typeof e.label!="string"||!e.label.trim())throw new Error(`The block source ${e.key} has no label.`);if(!Array.isArray(e.blocks)||!e.blocks.length||e.blocks.some(t=>typeof t!="string"||!t))throw new Error(`The block source ${e.key} names no block it can fill.`);let o=yH(e.edit);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>$w(t)).filter(t=>t!==null)}:{},...Array.isArray(e.choices)?{choices:e.choices.filter(IH)}:{},...Array.isArray(e.fields)?{fields:e.fields.filter(bH).map(t=>({...t}))}:{},...o?{edit:o}:{},...typeof e.useRows=="function"?{useRows:e.useRows}:{},...Array.isArray(e.records)?{records:e.records.filter(t=>typeof t=="string"&&t.trim()!=="").map(t=>t.trim())}:{}}}function Ude(e){let o=e.map(SH),t=qs();for(let a of o)t.sources.set(a.key,a);o.length&&(t.revision+=1)}function jde(e){let o=[...qs().sources.values()];return e===void 0?o:o.filter(t=>t.blocks.includes(e))}function Ed(e){return qs().sources.get(e)??null}function Gw(e){return qs().sources.get(e)?.choices??[]}function Kde(){return qs().revision}function lo(e){let o=e?.[Eo];return typeof o=="string"?o.trim():""}function $w(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let o={};for(let[t,a]of Object.entries(e)){let r=Z(a);r&&(o[t]=r)}return Object.keys(o).length?o:null}function wH(e){let o=e?.[hH];return Array.isArray(o)?o.map($w).filter(t=>t!==null):null}function Vde(e,o,t=[]){let a=wH(e);if(a!==null&&(a.length||!o))return{rows:a,sample:!1};if(!o)return{rows:[],sample:!1};let r=Ed(lo(e))?.sample;return{rows:r?.length?r:t,sample:!0}}import{isNodeList as x5}from"efficient-easel/data";var zw=["general","commerce","service"],Pa=[{key:"openers",title:"Hero & intros",defaultExpanded:!0,templateable:!0,sections:[{type:"Hero",label:"Hero",set:"general"},{type:"HeroSingle",label:"Hero Single",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:"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:"GalleryB",label:"Gallery",set:"commerce"}]},{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:"EuTyreLabel",label:"EU Tyre Label",set:"commerce"}]},{key:"checkout",title:"Checkout & ordering",templateable:!0,sections:[{type:"OrderSummary",label:"Order Table",set:"general"},{type:"CheckoutCTA",label:"Ready-to-Order Banner",set:"commerce"}]},{key:"about",title:"About & brand story",templateable:!0,sections:[{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:"Cards",label:"Cards",set:"general"}]},{key:"proof",title:"Stats & social proof",templateable:!0,sections:[{type:"Stats",label:"Stats",set:"general"},{type:"Chart",label:"Chart",set:"general"},{type:"Mockup",label:"Mockup Card",set:"general"},{type:"Reviews",label:"Reviews",set:"service"}]},{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:"Countdown",label:"Countdown",set:"general"}]},{key:"blog",title:"Blog & journal",templateable:!0,sections:[{type:"FeaturedCover",label:"Feature Banner",set:"general"},{type:"LongRead",label:"Article Text",set:"general"},{type:"ArticleBody",label:"Article Body",set:"service"},{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:"DocBody",label:"Document Text",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:"Divider",label:"Divider",set:"general"},{type:"CustomHTML",label:"Custom HTML",set:"general"}]},{key:"layouts",title:"Layouts",templateable:!0,sections:[{type:"Manifesto",label:"Brand Text",set:"general"},{type:"Split",label:"Image & Text Split",set:"general"},{type:"Subscribe",label:"Signup Form",set:"service"},{type:"Ticker",label:"Scrolling Bar",set:"general"},{type:"SpecStrip",label:"Spec Strip",set:"general"},{type:"TimelineTrack",label:"Milestone Timeline",set:"general"},{type:"Timeline",label:"Story Timeline",set:"general"},{type:"Logos",label:"Logos",set:"general"},{type:"DocMasthead",label:"Page Header",set:"general"}]}];function Yde(){return Object.fromEntries(Pa.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var CH="2027-02-05",Uw={Masthead:{label:"Issue Header",note:`Owner, 2026-10-10 (the page headers become ONE Layouts row): Issue Header and Document Header are one Page Header. Retired from the Add menu with no second preset (reviewer, 2026-11-06).
|
|
2
|
+
|
|
3
|
+
WHAT REPLACES IT: Page Header, a Box of Text blocks: a Header Box (the eyebrow, the title, a Details Box of one Text per line) over a Deck Box. Every Issue Header field is plain words with no data source, so the merchant makes the issue shape from Text blocks in that Box: the issue lines are Details lines, the lead is the Deck, and the "In this issue" panel is a Box of Texts beside it. Its converter row (\`section-to-box-rows-pageheader\` \`masthead\`, OFF) stays for a stored page that moves later.
|
|
4
|
+
|
|
5
|
+
WHAT A MERCHANT LOSES: a press that lays down the two-row issue shape with its "In this issue" panel; the merchant builds it from Boxes and Text blocks. No field is lost.
|
|
6
|
+
|
|
7
|
+
1 Issue Header is stored on the US sites (journal, draft and published; read only, 2026-11-07). Old sites stay as they are (owner, 2026-11-06).
|
|
8
|
+
|
|
9
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT. A page holding an Issue Header still renders through it and can still be edited; no document is rewritten.`},Grid:{label:"Grid",note:'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 Custom, and its own `Columns` in the Phone view. 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/document/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:{label:"Compatible Tyres",note:'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/document/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.'},Spacer:{label:"Spacer",note:`Lewis, 2026-10-10 (section-merges.md group 19, approved): one Divider holds space and lines. Style = None (was Spacer) / Line / Stripes; the space above and below as number boxes. Retired by card [MERGE] Spacer Into Divider (2026-10-26).
|
|
10
|
+
|
|
11
|
+
WHAT REPLACES IT: a Divider with Style set to None. It draws no line, only its space, and that space is the Divider's Padding row (top and bottom, each with its phone value): the Spacer's 24 / 48 / 96 / 160 px are None with Padding 12 + 12, 24 + 24, 48 + 48, 80 + 80. \`scripts/test-divider-holds-the-spacer.tsx\` \xA75 holds it.
|
|
12
|
+
|
|
13
|
+
WHAT A MERCHANT LOSES on a NEW space: nothing the Spacer had. Four fixed sizes become any number on the 4px grid, top and bottom apart, and a phone value.
|
|
14
|
+
|
|
15
|
+
NO CONVERTER ROW: 0 Spacer nodes on any page, draft or published, in any schema of the local production clone (read-only count, 2026-10-26), and none in the backend's seed files. This entry is its reason in the guard (\`scripts/test-section-to-box.tsx\` \xA75: a retired type is accounted for).
|
|
16
|
+
|
|
17
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT. A Spacer anywhere still renders through it and can still be edited; no document is rewritten.`},KeyFeatures:{label:"Key Features",note:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds Cards and Key Features; Key Features' diamond cells are the card style "Label only". Retired by card [MERGE] One Text Block And Click Through Parts (2026-10-22).
|
|
18
|
+
|
|
19
|
+
WHAT REPLACES IT: a Cards section with Card style set to Label only. Every cell is a copy of the Label only card template (Cards/card-seed \`labelOnlyCardSeed\`): a cell Box (its link from the row's \`href\`), a 9px Mark Box in the main colour turned 45 degrees, and the label Text; the eyebrow starts on the pill look when none is stored. A cell's words are the card's \`title\` (row "Feature label"), its link the card's \`href\` (row "Link"). The Key Features conversion lands on the same card (\`scripts/test-key-features-diamond.tsx\`).
|
|
20
|
+
|
|
21
|
+
WHAT A MERCHANT LOSES on a NEW Label only section: nothing this section had. It GAINS the Cards head split (its head can move into a box of its own), which Key Features never had: that head draws the shared \`simple\` head, eyebrow ABOVE the heading, where Key Features drew it beside.
|
|
22
|
+
|
|
23
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT, until the stored nodes move (delete date ${CH}). Every page holding a Key Features still renders through it and can still be edited; no document is rewritten and NO MIGRATION RUNS.`},DeliveryOptions:{label:"Delivery Options",note:"Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds the five card grids \u2014 Cards, Key Features, Document Detail Cards, Recurring Columns and Delivery Options. Card content = Manual / Delivery options; the card's parts are Display chips; one Highlighted card row with its Highlight badge. Retired by card [MERGE] Delivery Options, Detail Cards And Recurring Columns Into Cards (M3, 2026-11-04).\n\nWHAT REPLACES IT: Cards with Card content set to Delivery options, drawn from its card template: the backend's `delivery-options` rows (name, price, time, note), one card each, in the website's own currency. The one Highlighted card row and the Highlight badge replace the per-option Highlight switch.\n\nWHAT A MERCHANT LOSES: more than one highlighted option (Lewis approved ONE Highlighted card row, 2026-10-10). No stored node held two.\n\nNO CONVERTER ROW: 0 DeliveryOptions nodes on the US sites, draft or published (read only, 2026-11-04). This entry is its reason in the guard (`scripts/test-section-to-box.tsx` \xA75).\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT (efficient-storefront-blocks). A Delivery Options anywhere still renders through it and can still be edited; no document is rewritten.\n\nDELETE DATE 2026-12-18: the retired component in efficient-storefront-blocks (`components/DeliveryOptions`, `DeliveryOptionsSource`, `blocks/commerce/DeliveryOptions`) goes then, in a storefront-blocks follow-up. 0 stored DeliveryOptions nodes on the 34 US pages, draft or published (read only, 2026-11-08), and no converter row is coming."},Series:{label:"Recurring Columns",note:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds the five card grids \u2014 Cards, Key Features, Document Detail Cards, Recurring Columns and Delivery Options. Card content = Manual / Delivery options; the card's parts are Display chips; one Highlighted card row with its Highlight badge. Retired by card [MERGE] Delivery Options, Detail Cards And Recurring Columns Into Cards (M3, 2026-11-04).
|
|
24
|
+
|
|
25
|
+
WHAT REPLACES IT: Cards drawn from its card template. A column's number is Number, its "Right Top Text" Corner note, its title Card title, its words Card body, its count and label one Count, and the one \`viewLabel\` a plain Text typed once in the template, so every card shows it; the background is the Box's. The converter row (\`section-to-box-rows-cards.ts\`, OFF) lays down that Cards inside a Box.
|
|
26
|
+
|
|
27
|
+
WHAT A MERCHANT LOSES (the LOOK GAPS in that file): the grid takes the Cards block's own gaps and breakpoints; a short row no longer keeps 4 columns; the count is one plain Text, its figure no longer in the text ink; a card with no count still draws the footer line.
|
|
28
|
+
|
|
29
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Recurring Columns still renders through it and can still be edited; no document is rewritten.`},DocMetaCards:{label:"Document Detail Cards",note:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds the five card grids \u2014 Cards, Key Features, Document Detail Cards, Recurring Columns and Delivery Options. Card content = Manual / Delivery options; the card's parts are Display chips; one Highlighted card row with its Highlight badge. Retired by card [MERGE] Delivery Options, Detail Cards And Recurring Columns Into Cards (M3, 2026-11-04).
|
|
30
|
+
|
|
31
|
+
WHAT REPLACES IT: Cards drawn from its card template, each card a Label, a Value and a Card body. The converter row (\`section-to-box-rows-cards.ts\`, OFF) lays down that Cards inside a Box.
|
|
32
|
+
|
|
33
|
+
WHAT A MERCHANT LOSES (the LOOK GAPS in that file): the grid takes the Cards block's own gaps and breakpoints, not the old 40 (16 on a phone).
|
|
34
|
+
|
|
35
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Document Detail Cards still renders through it and can still be edited; no document is rewritten.`},StatsParagraph:{label:"Stats with Text",note:`Lewis, 2026-10-10 (approved): one Stats holds Stats and Stats with Text. Its head (eyebrow, heading, body) and each number's Prefix, Unit, Superscript, Label, "Use accent color" and text go into Stats; Card style Table (the old Stats with Text) or List (the old Stats). 2026-10-27: no Number block, the cards are Box + Text. Retired when the two became one Stats (2026-11-06).
|
|
36
|
+
|
|
37
|
+
WHAT REPLACES IT: a Stats press, a Box of real parts: three head Texts, then a Stats Box holding ONE Card list, Card style Table. Each number is a row of the Card list; its card is a figure Text (the prefix and number typed in it, the unit marked \`==_yr_==\`, which draws the section theme's Main colour; a whole number in that colour is \`==_8_==\`), a superscript Text beside it, a label Text and a body Text, each showing its row's field, and a row may link its own live number. The Stats Box's Card style row (Table / List) writes the Box's Gap and the card's own Border, Padding and Height.
|
|
38
|
+
|
|
39
|
+
WHAT A MERCHANT LOSES: the numbers do not count up (the Text block's Count up numbers setting is its own change, held); the figure has no tabular numbers; a unit is not a lighter weight than its number; rows of four stack below 800px, not two columns from 1100px.
|
|
40
|
+
|
|
41
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Stats with Text still renders through it and can still be edited; no document is rewritten (owner 2026-11-06: old sites stay as they are).`},Testimonials:{label:"Testimonials",note:"Lewis, 2026-10-10 (section-merges.md group 6, approved): Testimonials goes into Reviews, whose Review content is Manual (typed quotes) or Reviews (the store's approved reviews), with a product choice in place of the old Design code. Retired by card [MERGE] Remaining Section Merges (2026-11-06), after Reviews took typed quotes and a card template (efficient-storefront-blocks #242) and the product choice (#359).\n\nWHAT REPLACES IT: Reviews with Review content set to Manual. Every Testimonials key has the same key there: `eyebrow`, `eyebrowLook`, `title`, `items[]` (`quote`, `name`, `role`), `columns` 1-3 and `headPlacement` (both split their head). A typed review also has a `title` and a `rating`, empty for a quote that has none.\n\nWHAT A MERCHANT LOSES on a NEW quote list: nothing this section had. Reviews is in the service set where this section was general; no host narrows the sets (2026-11-06).\n\nNO CONVERTER ROW HERE: its Box row is efficient-storefront-blocks' (`section-to-box-rows-reviews`, OFF). 0 Testimonials nodes on the US sites, draft or published (read only, 2026-11-06). Old sites stay as they are (owner, 2026-11-06).\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. A Testimonials anywhere still renders through it and can still be edited; no document is rewritten."},SubscribeBlogs:{label:"Subscribe with Posts",note:"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."},RelatedProducts:{label:"Related Products",note:`Owner, 2026-11-06 (plan productgrid-card-template-2026-11-06, inovit row 19): a Product Grid with "Show the current product's related" on IS the related grid, so offering both asked a merchant to choose between two names for one section.
|
|
42
|
+
|
|
43
|
+
WHAT REPLACES IT: Product Grid, bound to the current product. Both draw every card through the grid's ONE card template (efficient-storefront-blocks, lib/content/product-card-seed).
|
|
44
|
+
|
|
45
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT. A stored Related Products node is read as that grid by the host (\`relatedToGrid\`) and draws the same cards; no document is rewritten. Its footnote is the one value the grid has no home for.`},BundleOffer:{label:"Bundle Products",note:`Plan section-parts bundles grid source (2026-11-07): a Product Grid that shows "Bundles with this product" IS the bundle section, so offering both asked a merchant to choose between two names for one section.
|
|
46
|
+
|
|
47
|
+
WHAT REPLACES IT: Product Grid, bound to the current product, Show set to its bundles. Both draw every kit through the grid's ONE card template (efficient-storefront-blocks, lib/content/product-card-seed).
|
|
48
|
+
|
|
49
|
+
THE TYPE KEY STAYS AND SO DOES THE DRAWING. A stored Bundle Products node is read as that grid by the host (\`bundleToGrid\`) and draws its kits; no document is rewritten.`},TyreFitment:{label:"Tyre Fitment Form",note:`Owner, 2026-10-10 (approved): the Tyre Fitment Form goes into the Fitment Form, whose answer follows the page. One vehicle section, not two.
|
|
50
|
+
|
|
51
|
+
WHAT REPLACES IT: the Fitment Form, a Box of a head, the vehicle picker (\`FitmentPicker\`), its answer (\`StockFitment\`) and a Button. On a tyre product page the answer part draws one verdict per size against the picked car, the same \`TyreFitVerdicts\` drawing this section made; on every other page it draws the car's OEM fitment card (efficient-storefront-blocks 0.87.0). The old escape link is the Box's Button.
|
|
52
|
+
|
|
53
|
+
WHAT A MERCHANT LOSES: the tyre-only head copy ("Will it fit your car?"); a press seeds the Fitment Form's own head. The page decides the answer, so there is no mode row.
|
|
54
|
+
|
|
55
|
+
NO CONVERTER ROW: 0 TyreFitment nodes on the US sites, draft or published (read only, 2026-11-07). Old sites stay as they are (owner, 2026-11-06).
|
|
56
|
+
|
|
57
|
+
THE TYPE KEY STAYS AND SO DOES THE COMPONENT (efficient-storefront-blocks). A stored Tyre Fitment Form still renders through it and can still be edited, its head split, width, heading level, settings groups and cover included; no document is rewritten.`},PaymentBadges:{label:"Payment Methods",note:"Owner, 2026-10-10: Logos and Payment Methods are one block, and a payment wall is a Logos block with the payment chip for its look. 2026-11-07: the dot before each line is a Mark Box at full strength (approved).\n\nWHAT REPLACES IT: the Logos row (Layouts group), Logo style Cards. Field by field, as its converter row (`section-to-box-rows-logos`) moves it: `heading` is a Text block; each of `badges` is a Logo block in the wall, its name the Logo's name and its `src` the Logo's picture; `dataSource` is the wall's own Logo content row (\"Ways to pay here\" or \"Ways to pay at checkout\", served by the backend to Logos too), and the wall draws ONE Logo card template per served method, the same chip; `assurances` are a Reassurance Box of lines, each a Mark Box (an empty Box, 4 x 4, Corners 2, Fill main) before a Text; `contained` is the Box's site frame. A press of this type lays down that Box (SECTION_TO_BOX_PRESS).\n\nWHAT A MERCHANT LOSES: the 60% and 70% opacity of the old dot and words (a Box and a Text have no opacity: the dot is the main colour, the words the label ink) and the 4px gap between wrapped lines (a Box has one Gap). No field is lost.\n\n4 Payment Methods nodes are stored on the US sites, all on template pages, draft only, all fed by a source; 0 on pages (read only, 2026-11-07). Old sites stay as they are (owner, 2026-11-06); moving a page is a separate write.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. A stored Payment Methods node still renders through it, its dot included, and can still be edited; no document is rewritten."},Gallery:{label:"Tabbed Gallery",note:'Owner, 2026-10-10 (approved): the Tabbed Gallery goes into the Customer Photo Grid, and the one that is left is called Gallery; its vehicle / wheel / others halves become a Tabs list, and its wall becomes one of the photo layouts. Retired from the Add menu with no preset row and no migration.\n\nWHAT REPLACES IT, field by field: the Gallery (`GalleryB`). `mode` both = a Box in Tabs mode with one Gallery per panel; one mode = one Gallery, no Tabs Box. `vehicleTabLabel` / `wheelTabLabel` = the Box\'s panel names, Tab shape "Large tabs" (this strip is the Tabbed Gallery\'s own, class for class); `showTabs` off = the Box Stacked. `source` (one product, or All products and a `category`) = each Gallery\'s `dataSource: "product-pictures"`, with `product`, `designCode`, `mediaZone` (lifestyle = the vehicle half, photos = the wheel half, others) and `category`; it reads live on every view, nothing is baked. `kicker`, the titles, `*Body1` / `*Body2` = Text blocks in the panel\'s Box (Heading N, Body N); `showIntro` off = the Layers eye. `*Stats` = a Stats block; `breadcrumbLabel` = a Breadcrumb block; `showFilters`, `showCount`, `showSort` = a Filter chips block over the Gallery (`showCount`, `showSort`). A card\'s `image`, `photos`, `href`, `name`, `meta`, `process` (the Tag) and `eyebrow` (the caption line over the title) = a Gallery Item\'s, or the served row\'s. The wall (two half, then thirds, 4:3, one across on a phone) = layout "Two, then threes" (`twoThenThreesPhoto`), the default for product pictures. Words at rest, the tile number, the hover zoom and the lightbox\'s "View product" are the Gallery card\'s. `previewTab` = the Box Tabs pane switch; `previewHover` = the Gallery\'s own. `anchor`, `sectionAccent` and `_partStyles` are the same injected keys on the Box and the Gallery.\n\nWHAT A MERCHANT LOSES: the per-tab note under each tab ("N items \xB7 Community photos" / "Featured photos", desktop only): Large tabs draws the letter and the name only. Accepted only because nothing stored moves now. \u26D4 A "Tab note" Box setting MUST exist before the /gallery move: a moved page with no home for it loses a line the shopper sees. Also lost: the empty line ("No items in this gallery yet." / "No items match this filter."); an empty Gallery draws nothing, and the chips come from the tiles, so "no match" cannot happen.\n\nNO CONVERTER ROW: no stored node is rewritten and SECTION_TO_BOX_ON stays without it (owner, 2026-11-06: old sites stay as they are). 2 Tabbed Gallery nodes are stored on the US sites, both top level, draft equal to published (read only, 2026-11-08): `Gallery-f1eb706a` (inovit.com /gallery: mode both, every show flag on, All products, 10 + 10 cards, 20 of 20 with a caption, 3 + 3 stats) and `Gallery-ce49eb98` (hartesmetal.com /gallery: mode vehicles, count and stats on, All products, 49 cards, 0 with a caption, 2 stats).\n\nTHE MOVE RECIPE, for the day the owner orders the /gallery move (a live write, his word): a Box in Tabs mode (inovit) or one Gallery (hartes); each Gallery `dataSource: "product-pictures"`, `mediaZone` lifestyle / photos, and `displayPhone: {tag:true}` (a new Gallery stores `{tag:false}`, and the Tabbed Gallery drew its Tag at every width). The captions: the stored ones are frozen copies that live only in the page; a product-pictures row serves its media group\'s `vehicle` as `eyebrow`, and that is empty on every group today (the editor\'s product binding clears `eyebrow` and reads only `vehicle`). So carry them as typed Gallery Items with the stored `eyebrow` copies, OR fill each media group\'s `vehicle` first (a data write). It needs efficient-storefront-blocks 0.91.0 (the photo layout default and the stored cards kept on open) and the backend\'s product-pictures source (106.0.0).\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT (efficient-storefront-blocks GalleryShowcase). A stored Tabbed Gallery still renders through it and can still be edited, its source row, cover, width, heading level and settings groups included; in Layers it keeps its block\'s own label, "Tabbed Gallery". Delete the component only when the last stored `Gallery` node is gone.'}},Am=Object.fromEntries(Object.entries(Uw).map(([e,o])=>[e,o.note])),Xde=["Grid","Spacer","TyreFitment"],Jde=Array.from(new Set([...Pa.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(Am)])),vH=Object.fromEntries(Object.entries(Uw).map(([e,o])=>[e,o.label])),_d={...vH,...Object.fromEntries(Pa.flatMap(e=>e.sections.map(o=>[o.type,o.label])))},kH={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",LocationMap:"general",Contents:"general",ListSearch:"general",ButtonBlock:"general",CardList:"general",PostCard:"general",HeroSlide:"general",HeroGroup:"general",Integrations:"general",Grid:"general",KeyFeatures:"general",Spacer:"general",Series:"general",DocMetaCards:"general",StatsParagraph:"general",Testimonials:"general",Masthead:"general",CollectionCard:"commerce",GalleryItem:"commerce",ProductRef:"commerce",CompatibleTyres:"commerce",DeliveryOptions:"commerce",Header:"commerce",SearchBlock:"commerce",CartBlock:"commerce",CountrySwitchBlock:"commerce",AccountBlock:"commerce",ThemeSwitchBlock:"commerce",ProductGallery:"commerce",EuTyreLabelBlock:"commerce",SubmitBox:"service",BookingBox:"service",SubscribeBlogs:"service",RatingBlock:"service",Footer:"service",FooterLogo:"service",FooterMenu:"service",FooterDivider:"service",FooterGroup:"service",FooterText:"service",FooterEmailSignup:"service",FooterSocial:"service",FooterPayment:"service",MenuBlock:"service",MenuLinkBlock:"service",ProductPrice:"commerce",ProductSize:"commerce",ProductColour:"commerce",ProductPicture:"commerce",ProductEyebrow:"commerce",ProductName:"commerce",ProductSpecs:"commerce",ProductBuy:"commerce",FitmentPicker:"commerce",StockFitment:"commerce",RelatedProducts:"commerce",BundleOffer:"commerce",TyreFitment:"commerce",PaymentBadges:"general",Gallery:"commerce",EmailFormBlock:"service",SocialLogosBlock:"service",PaymentLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},Od={...kH,...Object.fromEntries(Pa.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function jw(e){return Object.prototype.hasOwnProperty.call(Od,e)?Od[e]:void 0}function Rm(e){return Object.keys(Od).filter(o=>Od[o]===e).sort()}var Zde=Rm("general"),Qde=Rm("commerce"),ece=Rm("service"),Lm="Flex",ea="Box",oce=`${ea}es`;function TH(e){return e==="section"?"Blank section":ea}function Fm(e,o,t){return e===Lm?TH(o):t}var se="content",V="Flex",PH="Text & media",EH="Layout & structure",Vw=[{type:"Eyebrow",label:"Eyebrow",retired:!0},{type:"Heading",label:"Heading",retired:!0},{type:"Text",label:"Text"},{type:"ImageBlock",label:"Image"},{type:"LogoBlock",label:"Logo"},{type:"LocationMap",label:"Map"},{type:"ButtonBlock",label:"Button"},{type:"Contents",label:"Contents"}],OH=[...Vw,{type:"ListSearch",label:"List search"},{type:"Form",label:"Form"},{type:"PostCard",label:"Post Card"},{type:"Stats",label:"Stats",retired:!0},{type:"MenuBlock",label:"Menu"},{type:"EmailFormBlock",label:"Email Form"},{type:"SocialLogosBlock",label:"Social Logos"},{type:"PaymentLogosBlock",label:"Payment Logos",retired:!0},{type:"LegalLineBlock",label:"Legal Line"},{type:"SearchBlock",label:"Search"},{type:"CartBlock",label:"Cart"},{type:"CountrySwitchBlock",label:"Country Switch"},{type:"AccountBlock",label:"Account"},{type:"ThemeSwitchBlock",label:"Theme Switch"}].map(e=>({...e,group:PH})),_H=(Pa.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:EH})),Kw=[...OH,..._H],Bm=[...Vw,{type:"HeroGroup",label:ea}],rce=Bm.map(e=>e.type),AH=1,RH=Bm.filter(e=>e.type!=="HeroGroup");function LH(e){return e<AH?Bm:RH}var FH={Flex:{slot:se,choices:()=>Kw},Grid:{slot:se,choices:()=>Kw},HeroGroup:{slot:se,choices:LH}};function qw(e,o=0){let t=FH[e];return t?{slot:t.slot,choices:t.choices(o)}:null}import{applyMark as fce,markupTools as pce,MARKUP_TOOLS as uce,COPY_FIELD_TOOLS as mce,STOREFRONT_MARKUP as hce,tokenizeInline as xce,stripInline as gce,isSafeLinkHref as oC}from"efficient-shell/markup";import{applyMark as VH,clearStyle as qH,markedAt as YH,markupTools as XH,MARKUP_TOOLS as JH,parseMarkup as ZH,RETIRED_MARKS as QH,STOREFRONT_MARKUP as e4,tokenizeInline as bce}from"efficient-shell/markup";var cr=["highlight","strong","quiet"],fr={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},Mt={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},Zw=Object.fromEntries(cr.map(e=>[Mt[e].kind,e])),Qw="data-sf-ws",BH=["accent","text","labels"],Ea={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},DH=80,NH=120,MH=100,HH=900,WH=.5,GH=3,$H=-.1,zH=.5,UH=3,Dm={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},jH={highlight:{...Dm},strong:{...Dm},quiet:{...Dm}};function Yw(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function Xw(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**UH;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function Jw(e){return typeof e=="boolean"?e:null}function KH(e){let o=typeof e?.font=="string"&&ht.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&BH.includes(e.colour)?e.colour:null;return{font:o,size:Yw(e?.size,DH,NH),weight:Yw(e?.weight,MH,HH),bold:Jw(e?.bold),italic:Jw(e?.italic),lineGap:Xw(e?.lineGap,WH,GH),textGap:Xw(e?.textGap,$H,zH),colour:t}}function eC(e){let o={};for(let t of cr)o[t]=e&&t in e&&e[t]?KH(e[t]):{...jH[t]};return o}function lce(e){let o=eC(e),t={};for(let a of cr){let r=o[a],n=`--sf-ws-${a}`;if(r.font){let s=ht.find(l=>l.key===r.font);s&&(t[`${n}-font`]=`var(${s.cssVar})`)}r.size!==null&&(t[`${n}-size`]=`${r.size/100}em`),r.weight!==null&&(t[`${n}-weight`]=String(r.weight)),r.bold!==null&&(t[`${n}-weight-bold`]=r.bold?"700":"400"),r.italic!==null&&(t[`${n}-style`]=r.italic?"italic":"normal"),r.lineGap!==null&&(t[`${n}-line`]=String(r.lineGap)),r.textGap!==null&&(t[`${n}-track`]=`${r.textGap}em`),r.colour!==null&&(t[`${n}-color`]=Ea[r.colour])}return t}function ice(e){let o=e?.word_styles??void 0,t={};for(let a of cr)o&&a in o&&(t[a]=o[a]??null);return eC(t)}var o4=new Set(["strong"]),tC=cr.map(e=>({open:Mt[e].delimiter,close:Mt[e].delimiter,kind:Mt[e].kind,...o4.has(e)?{wordStart:!0}:{}})),Sce=[{style:Mt.highlight.kind,label:fr.highlight,title:`${fr.highlight} word style`},{style:Mt.strong.kind,label:fr.strong,title:`${fr.strong} word style`},{style:Mt.quiet.kind,label:fr.quiet,title:`${fr.quiet} word style`}],t4=new Set(tC.map(e=>e.open)),pr=[...e4.filter(e=>!t4.has(e.open)),...tC];function Nm(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function Ys(e){return ZH(typeof e=="string"?e:"",pr)}var a4=JH.map(e=>e.style).filter(e=>!QH.includes(e)).filter(e=>pr.some(o=>o.kind===e));function aC(){return XH(a4)}var rC=Object.fromEntries(cr.map(e=>[Mt[e].kind,Mt[e].delimiter]));function nC(e,o,t,a){let r=rC[a];if(!r)return VH(e,o,t,a);let n=e.slice(o,t),s=e.slice(Math.max(0,o-r.length),o),l=e.slice(t,t+r.length);if(s===r&&l===r)return{text:e.slice(0,o-r.length)+n+e.slice(t+r.length),selectionStart:o-r.length,selectionEnd:o-r.length+n.length};let d=n||"styled text";return{text:e.slice(0,o)+r+d+r+e.slice(t),selectionStart:o+r.length,selectionEnd:o+r.length+d.length}}function sC(e,o,t,a){let r=rC[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:YH(e,o,t,a)}function ur(e){return e.replace(/==(.+?)==/g,(o,t)=>t.startsWith("_")&&t.endsWith("_")?o:`==_${t}_==`)}function oa(e){return Ys(e).map(o=>Nm(o)+iC(o.children)).join(`
|
|
58
|
+
`)}function lC(e,o,t){return qH(e,o,t,pr)}function iC(e){return e.map(o=>o.kind==="text"?o.text:iC(o.children)).join("")}var j=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0;var Ht={min:0,max:360,step:1},dC="angle";function kce(e){let o=j(e);if(o===void 0)return null;let t=Math.min(Ht.max,Math.max(Ht.min,o));return t===Ht.min||t===Ht.max?null:{rotate:`${t}deg`}}import{HOVER_MOTION as r4,hoverKindsOf as Rd,motionSeconds as Ad}from"efficient-shell/format";var Qe="hover",mr="_gHover",hr={none:"None",nextImage:"Show next image",rotate:"Rotate",zoom:"Zoom",lift:"Lift",mono:"Black and white"},Wt="highlight",Mm="Highlight",Hm=["none",Wt],Wm={none:hr.none,[Wt]:Mm};function n4(e){return e[Qe]===Wt?Wt:"none"}var _ce="transition-colors hover:bg-[var(--sf-hl-bg)]! hover:[--fg:var(--sf-hl-ink)] active:bg-[var(--sf-hl-bg)]! active:[--fg:var(--sf-hl-ink)]";function Ace(e,o){return n4(e)!==Wt?null:{"--sf-hl-bg":o("surface"),"--sf-hl-ink":o("main")}}var Ld=Rd(["none","lift"]);function fC(e){let o=e[Qe];return Ld.includes(o)?o:"none"}var Fd=Rd(["none","rotate"]),Ne={kind:Qe,angle:"hoverAngle",duration:"hoverDuration",delay:"hoverDelay"},Xs="spinOnHover",cC=Ht,pC={ProductGrid:"rotate",RelatedProducts:"rotate",AlloyWheelsListing:"none"},Rce=Object.keys(pC);function Gm(e){return pC[e]??"none"}var $m=r4.rotateFallbackDeg;function zm(e,o){let t=e[Ne.kind];if(Fd.includes(t))return t;let a=e[Xs];return typeof a=="boolean"?a?"rotate":"none":o}function Um(e){let o=j(e);return o===void 0?$m:Math.min(cC.max,Math.max(cC.min,o))}function Lce(e,o){let t=Gm(o),a=zm(e,t);return{kind:a,angle:a==="rotate"?Um(e[Ne.angle]):null,duration:Ad("hover","duration",a==="rotate"?e[Ne.duration]:void 0),delay:Ad("hover","delay",a==="rotate"?e[Ne.delay]:void 0)}}function uC(e){let o={field:Ne.kind,in:[...Fd]};return{any:[{field:Ne.kind,is:"rotate"},{all:[{not:o},e==="rotate"?{not:{field:Xs,is:!1}}:{field:Xs,is:!0}]}]}}var Bd=Rd(["none","mono"]),jm=Rd(["none","nextImage","mono"]),mC={ImageBlock:"none",Manifesto:"none",Split:"none",ContactLocations:"mono"},Fce=Object.keys(mC);function Km(e){return mC[e]??"none"}var Js={zoom:"hoverZoom",darken:"hoverDarken"},ta={min:100,max:150,step:1,unit:"%"},Dd=["nextImage"];function s4(e,o){if(!Dd.includes(o))return null;let t=j(e[Js.zoom]);if(t===void 0)return null;let a=Math.min(ta.max,Math.max(ta.min,t));return a===ta.min?null:String(a/100)}function l4(e,o){if(!Dd.includes(o))return null;let t=j(e[Js.darken]);return t!==void 0&&t>0?t:null}var Vm=["ImageBlock"];function qm(e,o,t=Bd){let a=e[Qe];return t.includes(a)?a:o}function hC(e,o=""){let t=Vm.includes(o)?jm:Bd,a=qm(e,Km(o),t),r=a!=="none";return{kind:a,duration:Ad("hover","duration",r?e[Ne.duration]:void 0),delay:Ad("hover","delay",r?e[Ne.delay]:void 0),...Dd.includes(a)?{zoom:s4(e,a),darken:l4(e,a)}:{}}}function xC(){return{field:Qe,in:[...Dd]}}function Ym(e){return e==="none"?{field:Qe,in:["mono","nextImage"]}:{not:{field:Qe,is:"none"}}}var Oa="rowImageField",i4="boxOutsideCopy",d4={all:[{field:Oa,set:!0},{not:{context:i4,is:!0}}]},Xm={any:[{field:"bgImage",set:!0},d4]},gC="boxInCopy",c4={any:[{not:{field:Oa,set:!0}},{not:{context:gC,is:!0}}]},Dce={all:[{not:{field:"bgImage",set:!0}},c4]},IC={all:[{not:{context:"parent.bgImage",set:!0}},{any:[{not:{context:`parent.${Oa}`,set:!0}},{not:{context:gC,is:!0}}]}]};function uo(e,o,t){return e.some(a=>(typeof a=="object"?a.value:a)===t)?t:o}var Jm="small",Zm="dot",f4=[{label:"Small",value:"small"},{label:"Display",value:"display"}],Qm=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],Nd={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},p4={small:"font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.25em] max-view-wide:text-[length:var(--size-label,12px)]",display:"font-display font-medium text-[length:var(--size-headingMedium,44px)] uppercase leading-none tracking-[0.005em] max-view-wide:text-[length:var(--size-headingMedium,28px)]"},u4={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 Wce(e){return uo(f4,Jm,e)}function Zs(e){return uo(Qm,Zm,e)}function Gce(e){return p4[e]}function bC(e,o){return u4[e][o]}var Uce=[{value:"none"},{value:"dot"},{value:"cross"},{value:"slash"},{value:"triangle"}];function yC(e){return Qm.some(o=>o.value===e)?Zs(e):void 0}var m4="overflow-x-clip [&>*]:shrink-0 [&>[data-sf-box-items]>*]:shrink-0 [&>*]:max-view-wide:basis-[content] [&>[data-sf-box-items]>*]:max-view-wide:basis-[content] [&>*_:is(p,h1,h2,h3,h4,h5,h6)]:max-w-none [&>[data-sf-box-items]>*_:is(p,h1,h2,h3,h4,h5,h6)]:max-w-none [&>*_:is(.sf-button-block>div)]:font-mono [&>[data-sf-box-items]>*_:is(.sf-button-block>div)]:font-mono [&>*_:is(.sf-button-block>div)]:text-[length:var(--size-label,14px)] [&>[data-sf-box-items]>*_:is(.sf-button-block>div)]:text-[length:var(--size-label,14px)] [&>*_:is(.sf-button-block>div)]:tracking-[0.2em] [&>[data-sf-box-items]>*_:is(.sf-button-block>div)]:tracking-[0.2em] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:inline-flex [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:inline-flex [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:items-center [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:items-center [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:align-top [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:align-top [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:h-[calc(1lh/var(--sf-sep-k,1))] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:h-[calc(1lh/var(--sf-sep-k,1))] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:mr-[var(--sf-gap-len,0px)] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:mr-[var(--sf-gap-len,0px)] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:max-view-wide:before:mr-[var(--sf-gap-len-phone,calc(var(--sf-gap-len,0px)/2))] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:max-view-wide:before:mr-[var(--sf-gap-len-phone,calc(var(--sf-gap-len,0px)/2))] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:text-accent [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:text-accent [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:text-[length:calc(var(--sf-sep-k,1)*1em)] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:text-[length:calc(var(--sf-sep-k,1)*1em)] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:content-[var(--sf-sep-mark)] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:content-[var(--sf-sep-mark)]";function xr(e,o){return e==="row"&&yC(o)!==void 0}function jce(e,o){return xr(e,o)?m4:""}var h4="[&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:inline-flex [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:items-center [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:align-top [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:h-[calc(1lh/var(--sf-sep-k,1))] [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:ml-[var(--sf-gap-len,0px)] [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:max-view-wide:after:ml-[var(--sf-gap-len-phone,calc(var(--sf-gap-len,0px)/2))] [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:text-accent [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:text-[length:calc(var(--sf-sep-k,1)*1em)] [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:content-[var(--sf-sep-mark)] [&>[data-sf-box-items]:last-child>*:not(:last-child)_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:content-none";function Kce(e,o){return xr(e,o)?h4:""}function Vce(e,o){if(!xr(e,o))return{};let t=yC(o),a=/^text-\[([\d.]+)em\]$/.exec(bC("small",t))?.[1],r=Nd[t];return{"--sf-sep-mark":r===""?"none":JSON.stringify(r),...a?{"--sf-sep-k":a}:{}}}import{AUTO_RULES as I4,FOLLOW_RULES as b4,isAuto as y4,resolveViewValue as S4}from"efficient-easel/screen/lib/content/view-tiers";import{VIEW_DESKTOP_MIN as x4,VIEW_TABLET_MIN as g4}from"efficient-easel/screen/lib/content/view-tiers";var eh="v1",aa=800,SC={"view-tablet":g4,"view-desktop":x4,"view-wide":aa};function Xce(e){let o=e.startsWith("max-"),t=o?e.slice(4):e;if(t in SC)return{px:SC[t],max:o};let a=/^(max|min)-\[(\d+)px\]$/.exec(e);return a?{px:Number(a[2]),max:a[1]==="max"}:void 0}function gr(){return eh==="v2"?I4:b4}function Uo(e,o,t,a,r=gr()){let n=S4(e,o,t,a,r),s={},l=(d,c)=>!y4(d)||c!=null&&c!==o;return l(t,n.tablet)&&(s.tablet=n.tablet),l(a,n.phone)&&(s.phone=n.phone),s}var ol={sectionPaddingTop:0,sectionPaddingBottom:0},Qs={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},el={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function rfe(e,o){let t=typeof e=="string"&&e in Qs?Qs[e]:"",a=typeof o=="string"&&o in el?el[o]:"";return[t,a].filter(Boolean).join(" ")}function w4(e){return e===!0||e==="wrap"?"flex-wrap":""}var C4={start:"view-wide:max-view-desktop:justify-start!",center:"view-wide:max-view-desktop:justify-center!",between:"view-wide:max-view-desktop:justify-between!",end:"view-wide:max-view-desktop:justify-end!"},v4={start:"max-view-wide:justify-start",center:"max-view-wide:justify-center",between:"max-view-wide:justify-between",end:"max-view-wide:justify-end"},k4={start:"view-wide:max-view-desktop:items-start!",center:"view-wide:max-view-desktop:items-center!",end:"view-wide:max-view-desktop:items-end!",stretch:"view-wide:max-view-desktop:items-stretch!"},T4={start:"max-view-wide:items-start",center:"max-view-wide:items-center",end:"max-view-wide:items-end",stretch:"max-view-wide:items-stretch"},P4={wrap:"view-wide:max-view-desktop:flex-wrap!",nowrap:"view-wide:max-view-desktop:flex-nowrap!"};function yr(e,o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(e,o)?o:void 0}function th(e,o,t){let a=Uo("same",e,o,t),r={};return a.tablet!==void 0&&a.tablet!==e&&(r.tablet=a.tablet),a.phone!==void 0&&a.phone!==e&&(r.phone=a.phone),r}function ah(e,o,t){return[e.tablet?o[e.tablet]:"",e.phone?t[e.phone]:""].filter(Boolean).join(" ")}function E4(e,o,t){return th(yr(Qs,e)??"start",yr(Qs,o),yr(Qs,t))}function nfe(e,o,t){return ah(E4(e,o,t),C4,v4)}function sfe(e,o,t){let a=yr(el,e)??"stretch";if(a==="stretch")return"";let r=th(a,yr(el,o),yr(el,t));return ah(r,k4,T4)}function oh(e){if(e===!0||e==="wrap")return"wrap";if(e===!1||e==="nowrap")return"nowrap"}function lfe(e,o){let t=w4(e)===""?"nowrap":"wrap",a=oh(o);return a&&a!==t?P4[a]:""}var Sr="Block widths",kC=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{value:"bigLeft",weights:[2,1]},{value:"bigRight",weights:[1,2]},{value:"biggerLeft",weights:[3,1]},{value:"biggerRight",weights:[1,3]},{value:"twoThree",weights:[2,3]}],O4="data-sf-box-items",ife=new RegExp(`[ \\t]+[^\\s"'\`]*\\[${O4}\\][^\\s"'\`]*`,"g");var rh=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Custom",value:"custom",weights:[2,1]}];function nh(e){return Array.isArray(e)?"custom":e==="equal"?"equal":typeof e=="string"&&e in Hd?"custom":"content"}var TC=4,wC=10;function _4(e,o){if(!Number.isInteger(o)||o<2||o>TC||e.length!==o-1||!e.every(r=>typeof r=="number"&&Number.isFinite(r)))return;let t=[],a=0;return e.forEach((r,n)=>{let s=100-a-wC*(o-1-n),l=Math.min(s,Math.max(wC,Math.round(r)));t.push(l),a+=l}),t}function CC(e,o,t){if(!Array.isArray(o))return;let a=_4(o,t),r=a?[...a,100-a.reduce((s,l)=>s+l,0)]:[],n={};for(let s=0;s<TC;s+=1)n[`--${e}-${s+1}`]=r[s]??1;return n}function dfe(e,o,t){let a=CC("sf-share",e,t),r=CC("sf-share-tablet",o,t);return a||r?{...a,...r}:void 0}function A4(e,o){let t=Array.from({length:o},()=>1),a=kC.find(s=>s.value===e);if(!a?.weights||o<1)return t;let[r,n]=a.weights;return r>1&&(t[0]=r),n>1&&(t[o-1]=n),t}function Md(e,o){if(typeof e!="string"||!(e in Hd)||e==="equal")return e;let t=A4(e,o),a=t.reduce((r,n)=>r+n,0);return t.slice(0,-1).map(r=>Math.round(r/a*100))}var Ir="[&>*]:min-w-0 [&>[data-sf-box-items]>*]:min-w-0 [&>*]:flex-1 [&>[data-sf-box-items]>*]:flex-1 [&>*]:basis-0 [&>[data-sf-box-items]>*]:basis-0",Hd={equal:Ir,bigLeft:`${Ir} [&>*:first-child]:view-wide:grow-[2] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[2]`,bigRight:`${Ir} [&>*:last-child]:view-wide:grow-[2] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[2]`,biggerLeft:`${Ir} [&>*:first-child]:view-wide:grow-[3] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[3]`,biggerRight:`${Ir} [&>*:last-child]:view-wide:grow-[3] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[3]`,twoThree:`${Ir} [&>*:first-child]:view-wide:grow-[2] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[2] [&>*:last-child]:view-wide:grow-[3] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[3]`},R4=`${Ir} [&>*:nth-child(1)]:view-wide:grow-[var(--sf-share-1,1)] [&>[data-sf-box-items]>*:nth-child(1)]:view-wide:grow-[var(--sf-share-1,1)] [&>*:nth-child(2)]:view-wide:grow-[var(--sf-share-2,1)] [&>[data-sf-box-items]>*:nth-child(2)]:view-wide:grow-[var(--sf-share-2,1)] [&>*:nth-child(3)]:view-wide:grow-[var(--sf-share-3,1)] [&>[data-sf-box-items]>*:nth-child(3)]:view-wide:grow-[var(--sf-share-3,1)] [&>*:nth-child(4)]:view-wide:grow-[var(--sf-share-4,1)] [&>[data-sf-box-items]>*:nth-child(4)]:view-wide:grow-[var(--sf-share-4,1)]`;function L4(e){return Array.isArray(e)?R4:typeof e=="string"?Hd[e]??"":""}var cfe={all:[{context:"parentType",is:"Flex"},{context:"parent.direction",is:"row"},{any:[{not:{context:"parent.align",set:!0}},{context:"parent.align",is:"stretch"}]},{not:{context:"parent.separator",set:!0}},{not:{context:"parent.loop",is:"scroll"}},{not:{context:"parent.line",is:!0}},IC,{any:[{context:"parent.columns",in:[2,3,4,5,6]},{all:[{not:{context:"parent.columns",is:1}},{context:"parent.share",in:Object.keys(Hd)}]}]}]},PC="view-wide:max-view-desktop:flex-row!",br=`${PC} [&>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:grow! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:grow! [&>*:nth-child(n)]:view-wide:max-view-desktop:basis-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:basis-0!`,EC={content:`${PC} [&>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:basis-[content]! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:basis-[content]!`,equal:br,bigLeft:`${br} [&>*:first-child:nth-child(n)]:view-wide:max-view-desktop:grow-[2]! [&>[data-sf-box-items]:first-child>*:first-child:nth-child(n)]:view-wide:max-view-desktop:grow-[2]!`,bigRight:`${br} [&>*:last-child:nth-child(n)]:view-wide:max-view-desktop:grow-[2]! [&>[data-sf-box-items]:last-child>*:last-child:nth-child(n)]:view-wide:max-view-desktop:grow-[2]!`,biggerLeft:`${br} [&>*:first-child:nth-child(n)]:view-wide:max-view-desktop:grow-[3]! [&>[data-sf-box-items]:first-child>*:first-child:nth-child(n)]:view-wide:max-view-desktop:grow-[3]!`,biggerRight:`${br} [&>*:last-child:nth-child(n)]:view-wide:max-view-desktop:grow-[3]! [&>[data-sf-box-items]:last-child>*:last-child:nth-child(n)]:view-wide:max-view-desktop:grow-[3]!`,twoThree:`${br} [&>*:first-child:nth-child(n)]:view-wide:max-view-desktop:grow-[2]! [&>[data-sf-box-items]:first-child>*:first-child:nth-child(n)]:view-wide:max-view-desktop:grow-[2]! [&>*:last-child:nth-child(n)]:view-wide:max-view-desktop:grow-[3]! [&>[data-sf-box-items]:last-child>*:last-child:nth-child(n)]:view-wide:max-view-desktop:grow-[3]!`},F4=`${br} [&>*:nth-child(1):nth-child(n)]:view-wide:max-view-desktop:grow-[var(--sf-share-tablet-1,1)]! [&>[data-sf-box-items]>*:nth-child(1):nth-child(n)]:view-wide:max-view-desktop:grow-[var(--sf-share-tablet-1,1)]! [&>*:nth-child(2):nth-child(n)]:view-wide:max-view-desktop:grow-[var(--sf-share-tablet-2,1)]! [&>[data-sf-box-items]>*:nth-child(2):nth-child(n)]:view-wide:max-view-desktop:grow-[var(--sf-share-tablet-2,1)]! [&>*:nth-child(3):nth-child(n)]:view-wide:max-view-desktop:grow-[var(--sf-share-tablet-3,1)]! [&>[data-sf-box-items]>*:nth-child(3):nth-child(n)]:view-wide:max-view-desktop:grow-[var(--sf-share-tablet-3,1)]! [&>*:nth-child(4):nth-child(n)]:view-wide:max-view-desktop:grow-[var(--sf-share-tablet-4,1)]! [&>[data-sf-box-items]>*:nth-child(4):nth-child(n)]:view-wide:max-view-desktop:grow-[var(--sf-share-tablet-4,1)]!`;function B4(e){return Array.isArray(e)||typeof e=="string"&&e in EC?e:null}function ffe(e){if(e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0||LC(e.columns)!==""||FC(e.columnsTablet)!=="")return"";let o=B4(e.shareTablet);return o===null?"":typeof o=="string"?EC[o]:F4}var D4="[&>*]:view-wide:basis-[content] [&>[data-sf-box-items]>*]:view-wide:basis-[content]";function pfe(e){return L4(e)===""?D4:""}var sh="Columns",Wd=1,OC=3,lh={2:"max-view-wide:flex-wrap [&>*]:max-view-wide:min-w-0 [&>[data-sf-box-items]>*]:max-view-wide:min-w-0 [&>*]:max-view-wide:basis-[calc((100%_-_var(--sf-gap-len-phone,var(--sf-gap-len,0px)))/2)] [&>[data-sf-box-items]>*]:max-view-wide:basis-[calc((100%_-_var(--sf-gap-len-phone,var(--sf-gap-len,0px)))/2)]",3:"max-view-wide:flex-wrap [&>*]:max-view-wide:min-w-0 [&>[data-sf-box-items]>*]:max-view-wide:min-w-0 [&>*]:max-view-wide:basis-[calc((100%_-_var(--sf-gap-len-phone,var(--sf-gap-len,0px))_*_2)/3)] [&>[data-sf-box-items]>*]:max-view-wide:basis-[calc((100%_-_var(--sf-gap-len-phone,var(--sf-gap-len,0px))_*_2)/3)]"},_C=kC.filter(e=>e.value==="content"||e.value==="equal"),AC="equal",ih=1,RC=6,En="view-wide:flex-wrap [&>*]:view-wide:min-w-0 [&>[data-sf-box-items]>*]:view-wide:min-w-0 [&>*]:view-wide:grow-0! [&>[data-sf-box-items]>*]:view-wide:grow-0!",N4={1:`${En} [&>*]:view-wide:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc(100%/1)]!`,2:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px))/2)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px))/2)]!`,3:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_2)/3)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_2)/3)]!`,4:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_3)/4)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_3)/4)]!`,5:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_4)/5)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_4)/5)]!`,6:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_5)/6)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_5)/6)]!`};function LC(e){return typeof e=="number"?N4[e]??"":""}var M4={1:"view-wide:max-view-desktop:flex-row! view-wide:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc(100%/1)]!",2:"view-wide:max-view-desktop:flex-row! view-wide:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px)))/2)]! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px)))/2)]!",3:"view-wide:max-view-desktop:flex-row! view-wide:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_2)/3)]! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_2)/3)]!",4:"view-wide:max-view-desktop:flex-row! view-wide:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_3)/4)]! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_3)/4)]!",5:"view-wide:max-view-desktop:flex-row! view-wide:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_4)/5)]! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_4)/5)]!",6:"view-wide:max-view-desktop:flex-row! view-wide:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_5)/6)]! [&>[data-sf-box-items]>*:nth-child(n)]:view-wide:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_5)/6)]!"};function FC(e){return typeof e=="number"?M4[e]??"":""}function ufe(e){return e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":FC(e.columnsTablet)}function mfe(e){return e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":LC(e.columns)}var BC={2:"view-wide:grid view-wide:grid-cols-2",3:"view-wide:grid view-wide:grid-cols-3",4:"view-wide:grid view-wide:grid-cols-4",5:"view-wide:grid view-wide:grid-cols-5",6:"view-wide:grid view-wide:grid-cols-6"},DC={2:"max-view-wide:grid max-view-wide:grid-cols-2",3:"max-view-wide:grid max-view-wide:grid-cols-3"},hfe=Object.keys(BC).map(Number),xfe=Object.keys(DC).map(Number);function gfe(e,o,t=!1){let a=typeof e=="number"?BC[e]??"":"",r=DC[Number(o)]??"";return!a&&!r?"":[a,r,t?"gap-y-0!":""].filter(Boolean).join(" ")}var H4="max-view-wide:flex-wrap [&>*]:max-view-wide:min-w-0 [&>[data-sf-box-items]>*]:max-view-wide:min-w-0 [&>*]:max-view-wide:grow-0 [&>[data-sf-box-items]>*]:max-view-wide:grow-0 [&>*]:max-view-wide:basis-[content] [&>[data-sf-box-items]>*]:max-view-wide:basis-[content]",W4={2:"max-view-wide:flex-nowrap [&>*]:max-view-wide:min-w-0 [&>[data-sf-box-items]>*]:max-view-wide:min-w-0 [&>*]:max-view-wide:basis-[calc((100%_-_var(--sf-gap-len-phone,var(--sf-gap-len,0px)))/2)] [&>[data-sf-box-items]>*]:max-view-wide:basis-[calc((100%_-_var(--sf-gap-len-phone,var(--sf-gap-len,0px)))/2)]",3:"max-view-wide:flex-nowrap [&>*]:max-view-wide:min-w-0 [&>[data-sf-box-items]>*]:max-view-wide:min-w-0 [&>*]:max-view-wide:basis-[calc((100%_-_var(--sf-gap-len-phone,var(--sf-gap-len,0px))_*_2)/3)] [&>[data-sf-box-items]>*]:max-view-wide:basis-[calc((100%_-_var(--sf-gap-len-phone,var(--sf-gap-len,0px))_*_2)/3)]"},G4="max-view-wide:flex-nowrap [&>*]:max-view-wide:grow-0 [&>[data-sf-box-items]>*]:max-view-wide:grow-0 [&>*]:max-view-wide:basis-[content] [&>[data-sf-box-items]>*]:max-view-wide:basis-[content]";function $4(e,o){return(oh(e)??oh(o)??"wrap")==="nowrap"}function Ife(e,o,t,a){let r=lh[Number(e)];if(!r)return"max-view-wide:flex-col";let n=$4(t,a);return NC(e,o)?n?G4:H4:n?W4[Number(e)]:r}function bfe(e,o){return Number(e)in lh&&!NC(e,o)}function NC(e,o){return Number(e)in lh&&o==="content"}var MC="Block spacing",dh=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],z4="sf-box-gap-only";function yfe(e){return e==="gap"?z4:""}var vC={each:"sf-box-each-tablet",gap:"sf-box-gap-only-tablet"},U4={each:"sf-box-each-phone",gap:"sf-box-gap-only-phone"};function Sfe(e,o,t){let a=n=>yr(vC,n),r=th(e==="gap"?"gap":"each",a(o),a(t));return ah(r,vC,U4)}var HC={label:"Text",defaultProps:{text:"",align:"left",tone:"default",tag:"p",contained:!0}};var{text:Tfe,tag:Pfe,...j4}=HC.defaultProps,G=j4,Y={...G,tone:"dim"},Gd={justify:"start",align:"stretch",wrap:!1,blockSpacing:"gap",padV2:!0},_={...Gd,direction:"column",...ol},Xe=(e,o=e,t=e,a=o)=>({sectionPaddingTop:e,sectionPaddingRight:o,sectionPaddingBottom:e,sectionPaddingLeft:o,sectionPaddingTopPhone:t,sectionPaddingRightPhone:a,sectionPaddingBottomPhone:t,sectionPaddingLeftPhone:a}),_a=e=>({fillColor:e}),$d=(e,o,t={})=>({..._,widthFit:"fixed",width:e,minWidth:e,sectionHeightMode:"fixed",sectionHeightValue:e,sectionHeightUnit:"px",..._a(o),...t}),M=(e,o,t,a)=>({sizeToken:{step:e,px:o,...a?{stepPhone:a}:{},...t?{pxPhone:t}:{}}}),WC={case:"upper"},Oo={textStyle:"body-5",...WC},tl=(e,o)=>({...M("label",e,o),letterSpacing:.2,...WC}),gt=(e,o)=>({...Oo,...tl(e,o)});function wo(e,o,t=""){return e.map((a,r)=>{let n=t?`${t}.${r}`:String(r),s={...a.props??{}};for(let[l,d]of Object.entries(a.slots??{}))s[l]=wo(d,o,n);return{type:a.type,props:{...s,id:o(a.type,n)}}})}var Aa=()=>({tag:"h2",_partStyles:{text:{textStyle:"heading-2"}}}),It=()=>({_partStyles:{text:{...Oo,color:"accent",letterSpacing:.3,lineHeight:1.5}}});var K4={..._,gap:12,gapPhone:12,...Xe(32,32,28,28)},V4={textStyle:"heading-3",...M("headingSmall",20),weight:500,case:"upper",lineHeight:1.5,letterSpacing:.02},rl={textStyle:"body-1",...M("body",15),lineHeight:1.6},ie=(e,o,t,a=!1)=>({type:"Text",props:{...o,text:"",[Co]:e,_partStyles:{text:{...a?It()._partStyles?.text??{}:{},...t}}}}),Ra={title:"title",body:"body"},zd={title:"name",body:"note"},ch=(e=Ra)=>({type:V,props:{...K4,name:"Card"},slots:{[se]:[ie(e.title,{...G,tag:"p",widthFit:"fill"},V4),ie(e.body,{...Y,tag:"p",widthFit:"fill"},rl)]}}),Ud=(e,o)=>wo([ch(o)],e),al={label:Ra.title,href:"href"},q4={textStyle:"body-1",fontRole:"heading",color:"text",...M("body",17),weight:500,case:"upper",letterSpacing:.06,lineHeight:1.5},Y4=$d(9,"main",{[dC]:45}),fh=(e=!1)=>({type:V,props:{..._,name:"Card",direction:"row",align:"center",gap:16,gapPhone:16,phoneRow:2,sharePhone:"content",wrapPhone:!1,...Xe(32,28),[nl]:al.href,...e?{[Qe]:Wt}:{}},slots:{[se]:[{type:V,props:{...Y4,name:"Mark"}},ie(al.label,{...G,tag:"p",widthFit:"fill"},q4)]}}),GC=e=>(o,t)=>t==="0"?`${e}~card`:`${e}~card.${t.slice(2)}`,$C=(e,o=!1)=>wo([fh(o)],e);function UC(e,o){if(e!=="Cards")return o;if(o.template!==void 0)return zC(o);let t=Z(o.id)??"Cards",a=GC(t);if(o.cardStyle==="label-only"){let n=Array.isArray(o.items)&&o.items.some(s=>Z(s?.href)!==void 0);return zC({...o,template:$C(a,n)})}let r=lo(o)?zd:Ra;return{...o,template:Ud(a,r)}}var X4=e=>{let[o,t]=e?[Ra,zd]:[zd,Ra];return new Map([[o.title,t.title],[o.body,t.body]])};function jC(e,o){let t=null;return e.forEach((a,r)=>{let n=a?.props;if(!n)return;let s=n,l=n[Co];a.type==="Text"&&typeof l=="string"&&o.has(l)&&(s={...s,[Co]:o.get(l)});let d=n[se];if(Array.isArray(d)){let c=jC(d,o);c!==d&&(s={...s,[se]:c})}s!==n&&(t??=[...e],t[r]={...a,props:s})}),t??e}function zC(e,o){if(!Array.isArray(e.template))return e;let t=X4(!!lo(e)),a=o?new Map([...t].filter(([n,s])=>o(s)&&!o(n))):t;if(!a.size)return e;let r=jC(e.template,a);return r===e.template?e:{...e,template:r}}var J4="label";function KC(e){if(e.template!==void 0)return e;let o=Z(e.id)??"CardList",t={type:V,props:{..._,name:"Item"},slots:{[se]:[ie(J4,{...G,tag:"p"},rl)]}};return{...e,template:wo([t],(a,r)=>r==="0"?`${o}~item`:`${o}~item.${r.slice(2)}`)}}var sl="ArticleBody",Z4={textStyle:"heading-3",...M("headingSmall",20),weight:500,lineHeight:1.4,align:"center"},Q4={...rl,align:"center"},VC=640,e5=()=>[ie("heading",{...G,tag:"h2",align:"center",maxWidth:VC},Z4),ie("paragraph",{...Y,tag:"p",align:"center",maxWidth:VC},Q4)],ph=e=>wo(e5(),e);function o5(e){return ph((o,t)=>`${e}~${t==="0"?"heading":"paragraph"}`)}function qC(e){if(e.template!==void 0)return e;let o=typeof e.id=="string"&&e.id.trim()?e.id:sl;return{...e,template:o5(o)}}var t5="label",jd=()=>({type:"LogoBlock",props:{[Co]:t5}}),YC=e=>{let o=Z(e.id)??"Logos";return{...e,template:wo([jd()],()=>`${o}~logo`)}};function XC(e){return!lo(e)||e.template!==void 0?e:YC(e)}function tpe(e){if(!lo(e))return e;let o=e.template;return o!==void 0&&!(Array.isArray(o)&&o.length===0)?e:YC(e)}import{addShowWhenFacts as a5}from"efficient-shell/format";import{showWhenOf as uh,shownForOption as r5,truthy as n5,withRowRules as mh,withRowsShownWhen as On,withShowWhen as Je}from"efficient-shell/format";var spe=a5;function s5(e,o,t){return e.slice(0,-1).reduceRight((a,r)=>({any:[{all:[o(r),t(r)]},{all:[{not:o(r)},a]}]}),t(e[e.length-1]))}var l5="inline",i5=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var _o={ProductGrid:{num:"num",title:"title",description:"description",headRows:["num","title","titleSize","description","linkText","linkHref"],renderer:"ProductGridSection",padKey:"padTop",linkProp:"link"},TyreSizes:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreSizes"},FitmentFinder:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentFinder"},TyreFitment:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreFitment"},BundleOffer:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},CompatibleTyres:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},RelatedProducts:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},SpecTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"SpecTable"},FAQ:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"FAQ"},GalleryB:{num:"num",title:"title",headRows:["num","title","linkText","linkHref"],renderer:"GalleryGrid"},FitmentTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentTable"},Events:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"Events"},ProcessSteps:{num:"num",title:"title",description:"description",headRows:["num","title","description"],headStyle:"editorial",renderer:"ProcessSteps",padKey:"padTop"},LongRead:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"LongRead"},Series:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"Series"},TimelineTrack:{num:"eyebrow",title:"title",description:"intro",headRows:["eyebrow","title","intro"],headStyle:"editorial",renderer:"TimelineTrack",padKey:"padTop"},StatsParagraph:{num:"eyebrow",title:"title",description:"desc",headRows:["eyebrow","title","desc"],headStyle:"editorial",renderer:"StatsParagraph"},Footprint:{num:"sectionNumber",title:"heading",description:"tagline",headRows:["sectionNumber","heading","tagline"],headStyle:"editorial",renderer:"Footprint",padKey:"padTop"},Collections:{num:"eyebrow",title:"heading",headRows:["eyebrow","heading"],renderer:"Collections"},Cards:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Cards"},Testimonials:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Testimonials"},Reviews:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Reviews"},Prose:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"essay",renderer:"Prose"},ReviewForm:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"simple",renderer:"ReviewForm"},DeliveryOptions:{num:"eyebrow",title:"title",description:"body",headRows:["eyebrow","title","body"],headStyle:"natural",headRowGap:"gap-3",headDescriptionSize:"text-[15px]",renderer:"DeliveryOptions"}},_n="SectionHeader";function JC(e){return e in _o}function Kd(e){return uo(i5,l5,e)}var d5=new Set(["Flex"]);function cpe(e){return!!e?.type&&d5.has(e.type)}var ZC={not:{field:"headPlacement",is:"own-box"}},fpe={not:ZC};function ppe(e,o,t){return On(e,t,ZC)}var Vd="data-sf-spec-region";function QC(e){return e.writable===!0&&e.sized===!0}function qd(e,o,t){if(!e)return;let a=t[e];if(a)return{fontFamily:`var(--font-role-${e})`,fontSize:`var(--size-${a}, ${o.builtIn})`}}function An(e){let o=/var\(--size-[A-Za-z]+, ?([0-9.]+px)\)/.exec(e);if(!o)throw new Error(`builtInOf: no --size-* fallback in ${e}`);return o[1]}function ll(e){return`@${e}`}function il(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function c5(e,o){return o&&o in e?o:null}var hh={number:{label:"Number",follows:"Labels",builtIn:"14px",writable:!0,sized:!0},question:{label:"Question",follows:"Body",builtIn:"18px",writable:!0,sized:!0},answer:{label:"Answer",follows:"Body",builtIn:"15px",writable:!0,sized:!0}},ev=hh;var f5="question",p5="answer",u5={textStyle:"body-1",fontRole:"heading",...M("body",18,15),weight:500,case:"upper",letterSpacing:.02,lineHeight:1.5},m5={textStyle:"body-1",...M("body",15),lineHeight:1.7};function ov(){return Object.keys(hh).map(ll)}var xh=()=>({type:V,props:{..._,gap:0,name:"Question"},slots:{rowTitle:[ie(f5,{...G,tag:"p",widthFit:"fill"},u5)],[se]:[ie(p5,{...Y,tag:"p",widthFit:"fill",maxWidth:760},m5)]}});function h5(e){return Kd(e.headPlacement)==="own-box"?!1:["num","title","linkText"].some(o=>Z(e[o])!==void 0)}function tv(e){if(e.template!==void 0||h5(e))return e;let o=Z(e.id)??"FAQ",t=0;return{...e,template:wo([xh()],a=>a===V?`${o}~row`:`${o}~row.${t++}`)}}var eo="template",av="Card template",Ao="CardList",rv=["Text","ImageBlock","ButtonBlock","Flex"],Co="rowField",nl="rowLinkField";function nv(){return{type:"slot",allow:[...rv]}}var g5=rv.filter(e=>e!=="ButtonBlock"),dl="items",sv="itemFields";function Bpe(){return{type:"slot",allow:[...g5]}}var I5=[{block:"OrderSummary",typedRows:"rows",linesBetween:!0,fields:[{key:"label",label:"Item"},{key:"meta",label:"Meta line"},{key:"amount",label:"Amount"}]},{block:"FAQ",typedRows:"items",fields:[{key:"question",label:"Question"},{key:"answer",label:"Answer",multiline:!0}],seedOnInsert:e=>tv(e)},{block:"Footprint",typedRows:"offices",fields:[{key:"badge",label:"HQ"},{key:"role",label:"Role"},{key:"city",label:"City"},{key:"country",label:"Region \xB7 country"},{key:"address",label:"Address"},{key:"linkLabel",label:"Button"},{key:"href",label:"Link",kind:"link"}]},{block:"Cards",typedRows:"items",fields:[{key:"num",label:"Number"},{key:"since",label:"Corner note"},{key:"label",label:"Label"},{key:"title",label:"Card title"},{key:"value",label:"Value"},{key:"body",label:"Card body",multiline:!0},{key:"href",label:"Link",kind:"link"},{key:"count",label:"Count"},{key:"badge",label:"Highlight badge",everySource:!0}],seed:e=>UC("Cards",e)},{block:"ProcessSteps",fields:[{key:"eyebrow",label:"Eyebrow"},{key:"title",label:"Title",mark:"accentItalic"},{key:"copy",label:"Body",multiline:!0},{key:"image",label:"Image",kind:"image",alt:"title"},{key:"tag",label:"Image tag"},{key:"specs",label:"Specs",kind:"list",fields:[{key:"label",label:"Label"},{key:"value",label:"Value"}]}],blocks:[{type:Ao,label:"Card list"}]},{block:"Logos",fields:[{key:"label",label:"Name"},{key:"kind",label:"Kind"}],seed:e=>XC(e)},{block:Ao,fields:[{key:"badge",label:"Highlight badge",everySource:!0}],typedRows:dl,seed:e=>KC(e)},{block:sl,fields:[{key:"heading",label:"Subhead"},{key:"paragraph",label:"Paragraph",multiline:!0}],seed:e=>qC(e)}];function jo(){return Ta("efficient.card-templates",()=>new Map(I5.map(e=>[e.block,e])))}function Dpe(e){for(let o of e){if(typeof o.block!="string"||!o.block)throw new Error("A card template names no block.");let t=[];for(let r of o.blocks??[]){if(typeof r?.type!="string"||!r.type)throw new Error(`The card template of ${o.block} names an empty block.`);t.some(n=>n.type===r.type)||t.push({type:r.type,label:r.label||r.type})}let a=Z(o.typedRows);jo().set(o.block,{block:o.block,fields:o.fields.map(r=>({...r})),blocks:t,typedRows:a,...o.seed?{seed:o.seed}:{},...o.seedOnInsert?{seedOnInsert:o.seedOnInsert}:{},...o.linesBetween===!0?{linesBetween:!0}:{}})}}function b5(e,o){let t=e?jo().get(e)?.seed:void 0;return t?t(o):o}function lv(e,o){if(!(o.template===void 0||Array.isArray(o.template)&&o.template.length===0))return o;let{template:t,...a}=o,r=e?jo().get(e)?.seedOnInsert:void 0,n=r?r(a):b5(e,a);return n===a?o:n}function iv(){for(let e of jo().values())if(e.blocks?.length)return!0;return!1}function dv(e){return jo().get(e)?.blocks??[]}function Npe(e){for(let o of jo().values())if(o.blocks?.some(t=>t.type===e))return!0;return!1}function cv(e){return typeof e=="string"&&jo().get(e)?.typedRows||""}function Mpe(e){return typeof e=="string"&&jo().get(e)?.linesBetween===!0}function gh(e){return typeof e=="string"&&jo().has(e)}function y5(e,o){let t=jo().get(e)?.fields??[];return o?t.filter(a=>(a.kind??"text")===o):t}function S5(e){return typeof e=="string"?y5(e,"list")[0]?.key??"":""}function w5(e,o){return vo(e)||S5(o)}function fv(e,o){let t=typeof e?.type=="string"?e.type:"";if(!t)return[];let a=jo().get(t)?.fields??[],r=Ed(lo(e?.props))?.fields,n=r?.length?[...r.map(s=>({...s})),...a.filter(s=>s.everySource&&!r.some(l=>l.key===s.key))]:a;return o?n.filter(s=>(s.kind??"text")===o):n}function cl(e,o,t){return e?t?fv(t).find(a=>a.key===o)??null:jo().get(e)?.fields.find(a=>a.key===o)??null:null}function vo(e,o=Co){let t=e?.[o];return typeof t=="string"?t.trim():""}function fl(e,o){return e.key||String(o+1)}function Ih(e){let o={};if(e&&typeof e=="object"&&!Array.isArray(e))for(let[t,a]of Object.entries(e))typeof a=="string"&&(o[t]=a);return o}var bh="hideWhenRowEmpty";function Hpe(e,o){let t=e[bh];return!o||!Array.isArray(t)||!t.length?!1:t.every(a=>typeof a!="string"||!o[a]?.trim())}function Wpe(e,o,t=""){let a=o&&e&&typeof e=="object"?e[o]:void 0;if(!Array.isArray(a))return"";for(let r of a){let n=typeof r=="string"?r:r?.src,s=Z(typeof n=="string"?n.trim():void 0);if(s&&s!==t.trim())return s}return""}var pv={Text:{text:Co},ImageBlock:{src:Co},ButtonBlock:{label:Co,href:nl},LogoBlock:{alt:Co},Breadcrumb:{currentCrumb:Co}};var C5=new Set(["ButtonBlock.label","LogoBlock.alt"]);function Gpe(e,o,t){return yh(e,o,t)&&!C5.has(`${e}.${t}`)}function yh(e,o,t){return Sh(e,o,t)!==""}function Sh(e,o,t){let a=pv[e]?.[t];return a?vo(o,a):""}function Yd(e,o){return!o||!e?null:e[o]??""}function $pe(e,o,t,a){if(!t)return o;let r=null;for(let[n,s]of Object.entries(pv[e]??{})){let l=vo(o,s),d=Yd(t,l);d!==null&&(r??={...o},r[n]=a&&cl(a,l)?.mark==="accentItalic"?ur(d):d)}return r??o}function wh(e,o){let t=e?.data?.content;if(!Array.isArray(t)||typeof o!="string")return;let a=(n,s)=>{for(let l of n){if(l?.props?.id===o)return s;for(let[d,c]of Object.entries(l?.props??{})){if(!x5(c))continue;let f=d===eo&&gh(l.type)?{owner:l,direct:!0,nested:s!==null,underBox:!1}:s&&{owner:s.owner,direct:!1,nested:s.nested,underBox:s.underBox||l.type===V},u=a(c,f);if(u!==void 0)return u}}},r=a(t,null);return r===void 0?null:r}function pl(e,o){let t=wh(e,o);return t&&t.owner}function Ch(e,o){let t=wh(e,o);return t&&(t.direct?t.owner:null)}function zpe(e,o){let t=wh(e,o);if(t!==void 0)return t===null?{inCopy:!1,nestedCopy:!1,underBox:!1}:{inCopy:!0,nestedCopy:t.nested,underBox:t.underBox}}function Upe(e,o,t){if(o?.type!==Ao)return[];let a=pl(e,o.props?.id);if(!a){let s=Ed(lo(o.props))?.fields,l=s?.length?s.map(f=>({...f})):v5(o.props),d=(jo().get(Ao)?.fields??[]).filter(f=>f.everySource&&!l.some(u=>u.key===f.key)),c=[...l,...d];return t?c.filter(f=>(f.kind??"text")===t):c}let r=w5(o.props,a.type),n=r&&fv(a,"list").find(s=>s.key===r)?.fields||[];return t?n.filter(s=>(s.kind??"text")===t):n}function Xd(e,o){return{[Co]:"",[dl]:e.map(t=>({...t})),[sv]:o.map(t=>({...t}))}}function v5(e,o){let t=e?.[sv];if(!Array.isArray(t))return[];let a=t.flatMap(r=>{if(!r||typeof r!="object")return[];let{key:n,label:s,kind:l,multiline:d}=r;if(typeof n!="string"||!n||typeof s!="string")return[];let c=l==="image"||l==="link"||l==="colour"?l:void 0;return[{key:n,label:s,...c?{kind:c}:{},...d===!0?{multiline:!0}:{}}]});return o?a.filter(r=>(r.kind??"text")===o):a}import{useSyncExternalStore as WK}from"react";import{isNodeList as Jd}from"efficient-easel/data";var uv="Flex";function Rn(e,o){return vo(e)?typeof e?.[xt]=="string"?vh(o?.[xt]):"":vh(e?.[xt])}var vh=e=>typeof e=="string"?e.trim():"",k5=e=>e.type===Ao&&Array.isArray(e.props?.[dl])&&e.props[dl].some(o=>vh(o?.[xt])!==""),T5=new Intl.NumberFormat("en-US");function P5(e){return/^\d+$/.test(e)?T5.format(Number(e)):e}function Ype(e,o){let t=o?o.find(a=>a.key===e)?.value:Gw(Vs).find(a=>a.key===e)?.value;return t===void 0?null:P5(t)}var E5={[xt]:"any"};function kh(e,o=!1){let t=e.props;if(!t)return{node:e,names:!1};let a=e.type==="Text"&&(Rn(t)!==""||o&&Rn(t,E5)!==""),r=o||k5(e),n=t;for(let[l,d]of Object.entries(t)){if(!Jd(d))continue;let c=d.map(f=>kh(f,r));c.some(f=>f.names)&&(a=!0),c.some((f,u)=>f.node!==d[u])&&(n={...n,[l]:c.map(f=>f.node)})}if(e.type!==uv)return{node:n===t?e:{...e,props:n},names:a};let s=lo(n);if(a&&!s&&(n={...n,[Eo]:Vs}),!a&&s===Vs){let{[Eo]:l,...d}=n;n=d}return{node:n===t?e:{...e,props:n},names:!1}}function mv(e,o,t){for(let a of e){if(a?.props?.id===o)return t;for(let r of Object.values(a?.props??{})){if(!Jd(r))continue;let n=mv(r,o,a.type===uv?a:t);if(n!==void 0)return n}}}function Xpe(e,o){if(!Jd(e))return!0;let t=mv(e,o,null);if(t===void 0)return!0;if(t===null)return!1;let a=lo(t.props);return!a||a===Vs}function hv(e){let o=e?.content;if(!Jd(o))return e;let t=o.map(a=>kh(a));return t.every((a,r)=>a.node===o[r])?e:{...e,content:t.map(a=>a.node)}}function xv(e){return kh(e).node}import{jsx as w,jsxs as ja,Fragment as ma}from"react/jsx-runtime";import{cloneElement as c0,createContext as aU,useContext as f0,useEffect as rU,useId as p0,useRef as Hl,useState as Wl}from"react";import{useEasel as cf,useSelectedHost as Zn}from"efficient-easel/easel";import{toDateKey as YSe,fromDateKey as XSe}from"efficient-shell/format";function O5(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function Ro(e){return typeof e=="string"?e:O5(e)?e.src:""}function Zpe(e,o,t){return Th(e,o.split("."),t)}function Th(e,o,t){if(o.length===0)return t(e);let[a,...r]=o,n=a.endsWith("[]"),s=n?a.slice(0,-2):a;if(!e||typeof e!="object"||Array.isArray(e))return e;let l=e;if(!(s in l))return e;let d=l[s];if(n){if(!Array.isArray(d))return e;let f=!1,u=d.map(p=>{let x=Th(p,r,t);return x!==p&&(f=!0),x});return f?{...l,[s]:u}:e}let c=Th(d,r,t);return c===d?e:{...l,[s]:c}}var _5=["upload","youtube"],A5="upload",oue={upload:"Upload",youtube:"YouTube"},R5=["background","click"],L5="background",tue={background:"Background",click:"Click to play"};function Iv(e){return _5.includes(e)?e:A5}function bv(e){return R5.includes(e)?e:L5}var gv=/^[A-Za-z0-9_-]{11}$/,F5=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function yv(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(gv.test(o))return o;let t;try{t=new URL(/^[a-z]+:\/\//i.test(o)?o:`https://${o}`)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:"||!F5.test(t.hostname))return null;let a=t.pathname.split("/").filter(Boolean),r=t.hostname.endsWith("youtu.be")?a[0]:a[0]==="watch"?t.searchParams.get("v"):a[0]==="embed"||a[0]==="shorts"||a[0]==="live"||a[0]==="v"?a[1]:null;return r&&gv.test(r)?r:null}function Ph(e,o){let t=o==="click"?"autoplay=1&playsinline=1&rel=0":`autoplay=1&mute=1&loop=1&playlist=${e}&controls=0&playsinline=1&rel=0&disablekb=1`;return`https://www.youtube-nocookie.com/embed/${e}?${t}`}function Sv(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function wv(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var Eh="Play video";var Oh={frame:"Video frame",image:"Image"},aue={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function ul(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":Ro(e.poster)?"image":"frame"}function rue(e){let[o,t]=ul(e)==="image"?[e.poster,e.videoFrame]:[e.videoFrame,e.poster];return Ro(o)||Ro(t)||void 0}function Cv(e){if(Ro(e.mediaVideo)){if(ul(e)==="frame")return Ro(e.videoFrame)?void 0:Ro(e.poster)?"frame-missing-image":"frame-missing-surface";if(!Ro(e.poster))return Ro(e.videoFrame)?"image-missing-frame":"image-missing-surface"}}var Zd="videoFrames",_h="videoFramesNotOwn";function vv(e,o,t){let a=Ro(e.mediaVideo);if(!a||!o||ul(e)!=="frame"||Ro(e.videoFrame))return;let r=o[a],n=!!Ro(e.poster);if(r?.state==="ready")return null;if(n)return!r||r.state==="pending"?void 0:"image-no-frame";if(!r)return t?"save-makes-frame":void 0;switch(r.state){case"pending":return r.noted!=="save"&&t?"save-makes-frame":null;case"dark":return"starts-dark";case"outside":return"outside";case"unsupported":return"unsupported";case"failed":return"failed";default:return null}}function B5(e,o){let t=Ro(e),a=t&&o?o[t]:void 0;return a?.state==="ready"&&a.frame?a.frame:void 0}function nue(e,o,t){let a=t?.[_h];if(!(Array.isArray(a)&&a.includes(e)))return B5(o,t?.[Zd])}import{useSyncExternalStore as D5}from"react";function Qd(){let e=new Map,o=new Set,t=a=>(o.add(a),()=>{o.delete(a)});return{get:a=>e.get(a),has:a=>e.has(a),set(a,r){if(!(e.has(a)&&e.get(a)===r)){e.set(a,r);for(let n of o)n()}},use(a){let r=()=>a?e.get(a):void 0;return D5(t,r,r)}}}var Me="SiteHeader",Ae="SiteFooter",Ah="sections",due=[Me,Ae],Ln=e=>e===Me||e===Ae,kv=e=>`${e}:${Ah}`;function Tv(e,o,t=[]){return{type:e,props:{id:o,[Ah]:t}}}var N5=new Set(["Footer",Me,Ae]);function Fn(e){let o=new Set,t=!1,a=e.filter(r=>{let n=r?.type??"";return n==="Header"?(t=!0,!1):N5.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?a:e}function ec(e,o){return e.some(t=>t?.type===o.type)?e:o.type===Me?[o,...e]:[...e,o]}var Pv={[Me]:{max:3,takes:["Flex","Ticker"]},[Ae]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function Ev(e,o,t){if(!Ln(e))return!0;let a=Pv[e];return t<a.max&&a.takes.includes(o)}function Ov(e,o){let t=o,a=t?.props?.id;if(a==null)return null;let r=e?.content;if(!Array.isArray(r))return null;for(let n of r){if(!Ln(n?.type))continue;let s=n.props?.[Ah];if(!Array.isArray(s)||!s.some(d=>d?.props?.id===a))continue;let l=Pv[n.type];return l.takes.includes(t?.type??"")?s.length>=l.max?{group:n.type,why:"full"}:null:{group:n.type,why:"type"}}return null}import{locateNode as M5}from"efficient-easel/draw";function ml(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function oc(e,o,t){let a=ml(t?.zone),r=a?M5(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}import{isNode as H5}from"efficient-easel/data";var _v="Footer",Av=[Me,_v,Ae],wr=e=>{let o=e?.content;return Array.isArray(o)?o:[]},La=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},Bn=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},Rv=e=>ml(e)?.ownerId??"";function Lv(e){let o=Fn(wr(e)),t=o.some(a=>a?.type===Ae);return o.filter(a=>a?.type===Me||a?.type===Ae||a?.type===_v&&!t)}function tc(e,o){let t=new Set,a=r=>{if(Array.isArray(r)){for(let n of r)a(n);return}if(!(!r||typeof r!="object")){if(H5(r)){let n=Bn(r);n&&t.add(n)}for(let n of Object.values(r))a(n)}};if(a(e),o){let r=!0,n=new Set;for(;r;){r=!1;for(let[s,l]of Object.entries(o))n.has(s)||!t.has(Rv(s))||(n.add(s),a(l),r=!0)}}return t}function Fv(e,o){let t=wr(e).filter(a=>{let r=Bn(a);return typeof a?.type=="string"&&Av.includes(a.type)||r!==void 0&&o(r)});return t.length?tc(t,La(e)):new Set}function Rh(e,o){let t={},a={};for(let[r,n]of Object.entries(e??{}))(o.has(Rv(r))?t:a)[r]=n;return{owned:t,rest:a}}function Bv(e,o){if(!o)return e;let t=Lv(o);if(!t.length)return e;let a=t.filter(l=>l.type===Me),r=t.filter(l=>l.type!==Me),n={...e,content:[...a,...wr(e),...r]},{owned:s}=Rh(La(o),tc(t,La(o)));return Object.keys(s).length&&(n.zones={...La(e)??{},...s}),n}function Lh(e,o){if(!o)return{page:e,chrome:null};let t=Lv(o),a=new Set(t.map(Bn).filter(C=>!!C)),r=[],n=[];for(let C of wr(e)){let b=Bn(C);b&&a.has(b)||Ln(C?.type)?n.push(C):r.push(C)}let s=new Map(n.map(C=>[Bn(C),C])),l=new Set,d=Fn(wr(o)).flatMap(C=>{let b=Bn(C);if(!b||!a.has(b))return[C];let v=s.get(b);return v?(l.add(v),[v]):[]});for(let C of n)l.has(C)||d.some(b=>b?.type===C.type)||(d=C.type===Me?[C,...d]:[...d,C]);d=Fn(d);let c=d.length===wr(o).length&&d.every((C,b)=>C===wr(o)[b]),f=La(e),u=tc(d,f),{owned:p,rest:x}=Rh(f,u),g=Rh(La(o),tc(t,La(o))).owned,I={...o,content:c?o.content:[...d]},k=La(o);if(k||Object.keys(p).length){let C={};for(let[b,v]of Object.entries(k??{}))b in g?b in p&&(C[b]=p[b]):C[b]=v;for(let[b,v]of Object.entries(p))b in C||(C[b]=v);I.zones=C,k&&W5(I.zones,k)&&(I.zones=k)}let S={...e,content:r};return f&&(Object.keys(x).length||!Object.keys(g).length?S.zones=x:delete S.zones),{page:S,chrome:I}}function W5(e,o){let t=Object.keys(e),a=Object.keys(o);return t.length===a.length&&t.every((r,n)=>r===a[n]&&e[r]===o[r])}function Dv(e,o){return t=>e(t)||t!==void 0&&Av.includes(t)&&o()}var Nv=null;function Fh(e){Nv=e}function bt(){return Nv}var Mv=null;function Bh(e){Mv=e}function ac(){return Mv}var Dh=Qd();function Hv(e,o,t){if(!o)return;let a={...Dh.get(e)};for(let[r,n]of Object.entries(o))a[r]={...n,noted:t};Dh.set(e,a)}function Wv(e,o){Hv(e,o,"load")}function Gv(e,o){Hv(e,o,"save")}function rc(e){return Dh.use(e)}var Nh=e=>!!bt()?.sectionOf(e);function $v(e,o=Nh){return Fv(e,o)}function zv(e,o,t,a=Nh){if(t)return e&&$v(o,a).has(e)?void 0:t}function Uv(e,o,t=Nh){if(!e)return{};let a=[...$v(o,t)];return a.length?{[Zd]:e,[_h]:a}:{[Zd]:e}}import{ScreenDocumentContext as nU}from"efficient-easel/screen/components/ScreenDocumentContext";import{readHidable as Va,hidableText as sU}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as u0,LINK_FIELD_MARKER as lU,MEDIA_FIELD_MARKER as iU,SCAFFOLD_FIELD_MARKER as dU,TEXT_FIELD_MARKER as pa,foldMetaOf as ha,textFieldIdentifier as awe}from"efficient-easel/draw";import{jsx as Jv}from"react/jsx-runtime";import{useCallback as z5}from"react";import{useEasel as U5}from"efficient-easel/easel";import{SettingsAction as j5}from"efficient-easel/panel";import{CORNER_SIDES as nc,hasCornerSubset as hl,normalizeCornerSides as Gt}from"efficient-easel/screen/lib/content/style-keys";function Mh(e){return typeof e=="number"&&Number.isFinite(e)}function kue(e,o){if(!Mh(e))return;let t=yd(Nt(e));if(Object.keys(t).length===0)return;let a=t[Hh];if(typeof a!="string")return t;let r=hl(o)?Cr(a,Gt(o)??[]):a;return{...t,[G5]:r}}var G5="--sf-section-radius",Hh="--sf-card-radius";function Cr(e,o){return nc.map(t=>o.includes(t)?e:"0").join(" ")}var jv=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var $5="--sf-card-box-radius";function Wh(e){return typeof e=="number"&&Number.isFinite(e)}function Oue(e,o){if(!Wh(e))return;let t=yd(Nt(e))[Hh];if(typeof t!="string")return;let a=hl(o)?Cr(t,Gt(o)??[]):t;return{[$5]:a}}function Kv(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let a=t.props?.cardCorners,r=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:a,cardCornerSides:r}})}function Vv(e,o,t){let a=oc(e,o,t),r=a?.slot??"",n=a&&Array.isArray(a.item.props[r])?a.item.props[r]:[],s=t?.index??-1,l=s>=0?n[s]:void 0,d=l?.props?.id?String(l.props.id):"",c=Math.max(n.length-1,0);return!a||!d?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:c}:Wh(l?.props?.cardCorners)?{can:!0,others:c,zone:a.zone,index:a.index,data:{...a.item,props:{...a.item.props,[r]:Kv(n,d)}}}:{can:!1,reason:"unset",others:c}}function qv(e){return e.can?Po("Gives the other card this card's Corners.","Gives the other {n} cards this card's Corners.",e.others):e.reason==="alone"?i("This is the only card in the section."):e.reason==="unset"?i("Set this card's corners first."):i("This card is not in a section that can share corners.")}function Yv(e){return Po("Applied to {n} card","Applied to {n} cards",e)}function Xv(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as K5}from"efficient-easel/screen/lib/document/use-section-ops";var V5="apply-corners-to-siblings",q5="Apply to all cards";function Y5({plan:e,onPress:o}){return Jv(j5,{id:V5,label:i(q5),note:qv(e),disabled:!e.can,doneLabel:Yv(e.others),onPress:o})}function Zv(){let{appState:e,config:o}=U5(n=>n),t=K5(),a=Vv(o,e.data.content??[],e.ui.itemSelector),r=z5(()=>{Xv(a,t.replaceComponent)},[a,t]);return Jv(Y5,{plan:a,onPress:r})}import{isShown as ik,lazyShowWhenContext as i6}from"efficient-shell/format";var Fa="product",sc="recordType",Qv={key:Fa,label:"Product",fields:[]},X5=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,J5=/^[a-z][A-Za-z0-9]*$/,Z5=["text","date","images"],Gh=new Map,ek=0;function Q5(e){if(typeof e.key!="string"||!X5.test(e.key))throw new Error(`A record type key is lower-case words joined by hyphens, not ${JSON.stringify(e.key)}.`);if(e.key===Fa)throw new Error("The product record type is the builder's own and is not declared by a host.");if(typeof e.label!="string"||!e.label.trim())throw new Error(`The record type ${e.key} has no label.`);let o=new Set;for(let t of e.fields){if(typeof t.key!="string"||!J5.test(t.key)||o.has(t.key))throw new Error(`The record type ${e.key} has a field key it cannot use: ${JSON.stringify(t.key)}.`);if(!Z5.includes(t.kind))throw new Error(`The field ${t.key} of ${e.key} has no kind ${JSON.stringify(t.kind)}.`);o.add(t.key)}return{key:e.key,label:e.label.trim(),fields:e.fields.map(t=>({...t}))}}function zue(e){let o=e.map(Q5);for(let t of o)Gh.set(t.key,t);o.length&&(ek+=1)}function $h(){return[Qv,...Gh.values()]}function e6(e){return e===Fa?Qv:Gh.get(e)??null}function zh(){return ek}function xl(e){let o=e?.[sc];return typeof o!="string"?Fa:o.trim()||Fa}function Uh(e){return xl(e)===Fa}function Uue(e,o){let t=e6(e)?.fields??[];return o?t.filter(a=>o.includes(a.kind)):t}var lc="product",ok="tyre",o6=[lc,ok];function Vue(e){return o6.includes(e)}var t6="productType",a6={[lc]:"alloy-wheel",[ok]:"tyre"},r6=["alloy-wheel","tyre"];function tk(e,o){return Uh(o)?ak(o)??a6[e]??null:null}function ak(e){if(!Uh(e))return null;let o=e?.[t6];return typeof o=="string"&&r6.includes(o)?o:null}function que(e){let o=e?.root;return ak(o?.props)}var jh="Main Pages",n6="Dynamic Pages",Kh="dynamic",s6="dynamic";function vr(e){return e.kind===s6}var Vh="lightbox";function rk(e){return e.kind===Vh}function nk(e){let o=[],t=[];for(let a of e){if(vr(a)){t.push(a);continue}let r=a.groupKey??(a.group?`folder:${a.group}`:"top"),n=o[o.length-1];n&&n.key===r?n.rows.push(a):o.push({key:r,label:a.group??jh,rows:[a]})}if(t.length){let a=o.findIndex(r=>r.key.startsWith("system:"));o.splice(a===-1?o.length:a,0,{key:Kh,label:n6,rows:t})}return o}var ic=null,sk=null;function l6(e,o){ic=e,sk=o}function eme(e){l6(e,null)}function ome(){return ic}function gl(){return vr({kind:sk})||ic===lc}function tme(e){return tk(ic??"",e)??"alloy-wheel"}function ame(e){return gl()?xl(e):null}function qh(e,o,t){let a=!1,r={};for(let[n,s]of Object.entries(e)){if(!ik(uh(s),o??{},t)){a=!0;continue}let l=d6(s,o?.[n],o??{},t);l!==s&&(a=!0),r[n]=l}return a?r:e}function d6(e,o,t,a){let r=e?.options;if(!Array.isArray(r))return e;let n=r.filter(s=>s?.value===o||!s?.showWhen||ik(s.showWhen,t,a));return n.length===r.length?e:{...e,options:n}}function dk(e,o,t,a){let r=oc(o,t,a);return{device:e,parentType:r?.item.type,parent:r?.item.props}}function lk(e,o){if(!e||typeof e!="object")return!1;let t=e;if(typeof t.context=="string"&&(t.context===o||t.context.startsWith(`${o}.`)))return!0;if("not"in t)return lk(t.not,o);for(let a of[t.all,t.any])if(Array.isArray(a)&&a.some(r=>lk(r,o)))return!0;return!1}function cme(e,o={}){return i6({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>gl(),root:()=>e.appState?.data?.root?.props,...o})}var ck=1;function c6(e){return Nt(e)}function ume(e){let o=c6(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var fk=1,pk="Corners";function f6(e){return Nt(e)}function gme(e,o){let t=f6(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:hl(o)?Cr(a,Gt(o)??[]):a}}import{isNodeList as p6}from"efficient-easel/data";var Dn=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],mk="bottom-left",Nn=4,u6=Nn+1,uk=40,m6=30,h6=100,x6=60,yme=100;var Yh={"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 g6(e){let o=Dn.indexOf(Il(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function I6(e){return 1+g6(e).band*(u6+1)}function Sme(e){return I6(e)+1}function Il(e){return Dn.includes(e)?e:mk}function wme(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-uk,Math.min(uk,Math.round(o)))}function Cme(e,o=x6){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(m6,Math.min(h6,Math.round(t)))}function Xh(e,o){let t=Il(o);return e.filter(a=>Il(a?.props?.placement)===t).length}function hk(e){return`${Yh[Il(e)]} already holds ${Nn} boxes. Move one somewhere else first.`}function xk(e,o){let t=e.filter(a=>a?.props?.id!==o);return Dn.map(a=>{let r=Xh(t,a)>=Nn,n=Yh[a];return r?{value:a,label:n,disabled:!0,title:hk(a)}:{value:a,label:n}})}function dc(e,o){let t=o===void 0?mk:Il(o?.props?.placement);return Xh(e,t)>=Nn?hk(t):null}var cc="HeroGroup";function b6(e){return Dn.map(o=>{let t=Xh(e,o);return{anchor:o,total:t,hidden:t-Nn}}).filter(o=>o.hidden>0)}function Jh(e){let o=b6(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=Yh[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first ${Nn}, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function gk(e,o){let t=o;if(t?.type!==cc)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?dc(Zh(e,a),t):null}function Zh(e,o){let t=bk(e,o);return t&&t.ownerType===S6?t.siblings:[]}function Ik(e,o){let t=bk(e,o);return t?t.ancestorTypes.filter(a=>a===cc).length:y6}var y6=1,S6="HeroSlide";function bk(e,o){let t=(a,r,n)=>{if(r>12||!a||typeof a!="object")return null;if(p6(a)){if(a.some(s=>s?.props?.id===o))return{siblings:a,ownerType:n.at(-1)??null,ancestorTypes:n};for(let s of a){let l=s.type,d=t(s,r+1,[...n,String(l)]);if(d)return d}return null}for(let s of Object.values(a)){let l=t(s,r+1,n);if(l)return l}return null};return t(e,0,[])}function Ba(e){return`color-mix(in srgb, var(--overlay-scrim) ${Math.round(Math.min(1,Math.max(0,e))*1e3)/10}%, transparent)`}function Pme(e){switch(e){case"tall":return"aspect-[3/4]";case"wide":return"aspect-[2/1]";case"landscape":return"aspect-[4/3]";case"screen":return"aspect-[16/10]";case"portrait":return"aspect-[4/5]";case"video":return"aspect-[16/9]";case"panorama":return"aspect-[21/9]";case"story":return"aspect-[9/16]";case"poster":return"aspect-[2/3]";case"auto":return"";default:return"aspect-square"}}var Qh=[{shape:"auto",image:"auto",ratio:null,label:"Auto"},{shape:"story",image:"9/16",ratio:[9,16],label:"Story 9:16"},{shape:"poster",image:"2/3",ratio:[2,3],label:"Poster 2:3"},{shape:"tall",image:"3/4",ratio:[3,4],label:"Tall 3:4"},{shape:"portrait",image:"4/5",ratio:[4,5],label:"Portrait 4:5"},{shape:"square",image:"1/1",ratio:[1,1],label:"Square 1:1"},{shape:"landscape",image:"4/3",ratio:[4,3],label:"Landscape 4:3"},{shape:"screen",image:"16/10",ratio:[16,10],label:"Screen 16:10"},{shape:"video",image:"16/9",ratio:[16,9],label:"Video 16:9"},{shape:"wide",image:"2/1",ratio:[2,1],label:"Wide 2:1"},{shape:"panorama",image:"21/9",ratio:[21,9],label:"Panorama 21:9"}];function Eme(e){return Qh.filter(o=>e.includes(o.shape))}function Ome(e){return e==="below"}var _me=`linear-gradient(180deg, transparent 40%, ${Ba(.85)} 100%)`,Ame=`linear-gradient(0deg, transparent 40%, ${Ba(.85)} 100%)`,Rme=Ba(.45);var Sk=12,wk=6,w6=800,ra={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]]},twoThenThrees:{label:"Two, then threes",across:3,acrossPhone:3,lead:[[6,1],[6,1]],desktop:[[4,1],[4,1],[4,1]],leadPhone:[[3,1],[3,1]],phone:[[2,1],[2,1],[2,1]]},twoThenThreesPhoto:{label:"Two, then threes \xB7 photo",across:3,acrossPhone:1,lead:[[6,1],[6,1]],desktop:[[4,1],[4,1],[4,1]],phone:[[6,1]],ratio:"landscape"}},ex=Object.keys(ra),Ck=[2,3,4,6];function ox(e,o){return ex.filter(t=>t===o||e===null||ra[t].across===e)}function vk(e){return typeof e!="string"||e===""?null:ra[e]??null}function yk(e,o){return o?wk/e.acrossPhone:Sk/e.across}function tx(e){return e.ratio?Qh.find(o=>o.shape===e.ratio)?.ratio??null:null}function kk(e){return[...e.lead??[],...e.desktop]}var C6="sf-wall--";function v6(e){return`${C6}${e}`}function Bme(e){let o=ra[e],t=`.${v6(e)}`,a=[],r=(l,d,c)=>`${t}:has(> :nth-child(${l}n+${d+c}):last-child) > :nth-last-child(-n+${c})`,n=(l,d,c=[])=>{let f=[],u=l.length,p=c.length;c.forEach(([x,g],I)=>{f.push(`${t} > :nth-child(${I+1}){grid-column:span ${x};grid-row:span ${g}}`)}),l.forEach(([x,g],I)=>{f.push(`${t} > :nth-child(${u}n+${p+I+1}){grid-column:span ${x};grid-row:span ${g}}`)});for(let x=1;x<u;x+=1)f.push(`${r(u,p,x)}{grid-column:span ${d};grid-row:span 1}`);return f};a.push(`${t}{grid-template-columns:repeat(${Sk},minmax(0,1fr))}`);let s=tx(o);if(s&&(a.push(`${t}${t}{grid-auto-rows:auto}`),a.push(`${t}${t} > *{aspect-ratio:${s[0]}/${s[1]};height:auto}`)),a.push(...n(o.desktop,yk(o,!1),o.lead)),a.push(`@media (max-width:${w6}px){`),a.push(`${t}{grid-template-columns:repeat(${wk},minmax(0,1fr))}`),a.push(...n(o.phone,yk(o,!0),o.leadPhone)),o.phone.length===1&&!o.leadPhone?.length){let[l,d]=o.phone[0],c=o.lead?.length??0;for(let f=1;f<o.desktop.length;f+=1)a.push(`${r(o.desktop.length,c,f)}{grid-column:span ${l};grid-row:span ${d}}`)}return a.push("}"),a.join("")}var fc=12,Tk=1,k6=3;var T6=3;function ax(e,o,t){let a=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(a)?Math.min(t,Math.max(o,Math.trunc(a))):null}function P6(e){return ax(e,1,fc)??T6}function Mme(e,o){return ax(e,Tk,k6)??(P6(o)===4?2:Tk)}function Hme(e){return e==null||e===""?null:ax(e,1,fc)}var Wme="data-sf-span";function Gme(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(vk(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}import{jsx as E6}from"react/jsx-runtime";import*as O6 from"efficient-easel/icons";function pc(e){let o=e.replace(/(^|-)([a-z])/g,(a,r,n)=>n.toUpperCase()),t=O6[`${o}Icon`];return t?E6(t,{size:16}):null}import{jsx as Da,Fragment as R6,jsxs as Fk}from"react/jsx-runtime";import{useContext as L6,useEffect as F6,useId as B6,useState as Bk}from"react";import{SettingsField as D6,SettingsSwitch as N6}from"efficient-easel/panel";import{AnchorIcon as M6}from"efficient-easel/icons";import{ScreenDocumentContext as H6}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as W6}from"efficient-shell/ui";import{slugify as G6}from"efficient-shell/format";import{slugify as _6}from"efficient-shell/format";function bl(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var uc=e=>_6(bl(e));var mc="homepage";import{slugify as A6}from"efficient-shell/format";var Pk=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"popup",label:"Popup"},{value:"custom",label:"Custom URL"}];function Ek(e){return e.offersCommerce&&e.offersService?Pk:Pk.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var rx="#popup:";function Ok(e){return`${rx}${e}`}function _k(e){return e.startsWith(rx)&&e.slice(rx.length).trim()||null}function yl(e){return e===mc?"/":`/${e}`}function Ak(e){return`/journal/${e}`}function Jme(e){return`/wheels/${e}`}function hc(e,o){return`${yl(e)}#${o}`}function Rk(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=bl(r?.props?.anchor);if(!n)continue;let s=A6(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function Zme(e){let o=e.indexOf("#"),t=o===-1?e:e.slice(0,o),a=t.indexOf("?");return a===-1?t:t.slice(0,a)}function Lk(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as $6}from"efficient-easel/draw";function Dk({value:e,onChange:o,nameBox:t}){let a=$6(e).text,[r,n]=Bk(!1),s=r||a.trim()!=="",l=B6();return Fk(R6,{children:[Da(D6,{label:i("Add an anchor"),labelId:l,icon:Da(M6,{}),action:Da(N6,{checked:s,ariaLabelledBy:l,onChange:d=>{n(d),!d&&a!==""&&o("")}})}),s&&t(e,o),s&&Da(z6,{name:a})]})}function z6({name:e}){let o=L6(H6),t=o?.templateId?"":o?.currentSlug??"",[a,r]=Bk("");F6(()=>r(Pn()||window.location.origin),[]);let n=G6(e);if(!n||!t)return null;let s=`${a}${hc(t,n)}`,l=s.replace(/^https?:\/\//,""),d=l.lastIndexOf("#");return Da("div",{className:"sf-anchor-link",children:Da(W6,{value:s,label:i("link"),size:"sm",children:Fk("span",{className:"sf-anchor-link-text",children:[Da("span",{className:"sf-anchor-link-path",children:l.slice(0,d)}),Da("span",{className:"sf-anchor-link-hash",children:l.slice(d)})]})})})}import{jsx as $t,jsxs as U6}from"react/jsx-runtime";import{Fragment as j6}from"react";import{Button as xc,Tooltip as K6}from"efficient-shell/ui";function Nk({status:e,statusText:o,onRefresh:t,busy:a=!1,edit:r,hint:n,spaced:s=!0,compact:l=!1,oneLine:d=!1}){return l?$t("div",{className:`sf-blogsource sf-blogsource--compact${d?" sf-blogsource--line":""}`,style:s?{marginTop:8}:void 0,children:$t(K6,{content:n,className:d?"sf-name-tip":void 0,children:$t("p",{className:"sf-blogsource-status","data-state":e,children:[o?$t(j6,{children:o},"status"):null,t?$t(xc,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:t,disabled:a,children:i("Refresh now")},"refresh"):null,r?$t(xc,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:r.onClick,children:r.label},"edit"):null].filter(Boolean).flatMap((c,f)=>f?[" \xB7 ",c]:[c])})})}):U6("div",{className:"sf-blogsource",style:s?{marginTop:9}:void 0,children:[$t("p",{className:"sf-blogsource-status","data-state":e,children:o}),t?$t(xc,{variant:"secondary",className:"sf-blogsource-action",onClick:t,disabled:a,children:i("Refresh now")}):null,r?$t(xc,{variant:"secondary",className:"sf-blogsource-action",onClick:r.onClick,children:r.label}):null,$t("p",{className:"es-field-hint",children:n})]})}import{AdjustIcon as cU,EyeIcon as fU,AnimationIcon as pU,BackgroundIcon as o0,BorderAllIcon as uU,BlockSectionIcon as mU,ColumnWidthsIcon as ug,ColumnsIcon as m0,CornerIcon as hU,DirectionDownIcon as xU,DirectionLeftIcon as gU,DirectionRightIcon as IU,DirectionUpIcon as bU,EditIcon as yU,GapIcon as SU,GridIcon as wU,GroundIcon as pg,HashIcon as h0,HeightIcon as CU,ImageIcon as vU,ListIcon as kU,LocationIcon as t0,PaddingBottomIcon as x0,PaddingLeftIcon as g0,PaddingRightIcon as I0,PaddingTopIcon as b0,PageIcon as TU,StickyIcon as PU,SearchIcon as EU,SquareIcon as OU,TypeIcon as _U,WidthIcon as AU}from"efficient-easel/icons";import{jsx as $e,Fragment as kr,jsxs as Tr}from"react/jsx-runtime";import{CaptionIcon as V6,DateIcon as q6,FlagIcon as Y6,TitleIcon as X6,ButtonIcon as J6,DollarIcon as Z6,HashIcon as Q6,LinkIcon as e3,NoteIcon as o3,TagIcon as t3,TextLinesIcon as a3}from"efficient-easel/icons";var Mk={body:a3,button:J6,link:e3,label:t3,number:Q6,price:Z6,note:o3,name:Y6,date:q6,caption:V6,title:X6},Hk={eyebrow:Tr(kr,{children:[$e("path",{d:"M5 6.5h5"}),$e("path",{d:"M5 12.5h14"}),$e("path",{d:"M5 18h11"})]}),heading:Tr(kr,{children:[$e("path",{d:"M6.5 5v14"}),$e("path",{d:"M17.5 5v14"}),$e("path",{d:"M6.5 12h11"})]}),intro:Tr(kr,{children:[$e("path",{d:"M4 5.5v13"}),$e("path",{d:"M8 7.5h12"}),$e("path",{d:"M8 12h12"}),$e("path",{d:"M8 16.5h8"})]}),value:Tr(kr,{children:[$e("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),$e("path",{d:"M6.5 12h7"})]}),quote:Tr(kr,{children:[$e("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),$e("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:Tr(kr,{children:[$e("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),$e("path",{d:"M8 9.5h8"}),$e("path",{d:"M12 9.5v5"})]}),meta:Tr(kr,{children:[$e("path",{d:"M4 7h16"}),$e("path",{d:"M4 14h3.5"}),$e("path",{d:"M10.5 14h3"}),$e("path",{d:"M17 14h3"})]})};function nx({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=Mk[e];return n?$e("span",{className:a,style:{display:"inline-flex",...r},"aria-hidden":"true",children:$e(n,{size:o})}):$e("svg",{className:a,style:r,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:Hk[e]})}var bhe=Object.keys(Mk);var yhe=Object.keys(Hk);import{parseHexColor as p3}from"efficient-shell/format";import{parseHexColor as Vk}from"efficient-shell/format";import{COLOR_SLOTS as qk,FILL_COLOR_SLOTS as c3,colorRole as f3,fillColorRole as Yk}from"efficient-shell/markup";import{parseHexColor as $k}from"efficient-shell/format";import{FILL_COLOR_SLOTS as l3}from"efficient-shell/markup";var Sl=[{role:"bg",token:"--bg",ink:!1},{role:"fg",token:"--fg",ink:!0},{role:"surface",token:"--site-surface",ink:!1},{role:"surface-2",token:"--site-surface-2",ink:!1},{role:"line",token:"--site-line",ink:!0},{role:"muted",token:"--fg-dim",ink:!0}],r3=Sl.filter(e=>e.ink);function n3(e){let o={color:e.fg};for(let{role:t,token:a}of r3)o[a]=e[t];return o}var s3={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},Wk=Object.freeze(n3(s3));var gc=e=>{let o=Sl.find(t=>t.role===e);return o?`var(${o.token})`:""},i3=e=>gc(e)?`var(--theme-${e})`:"",Gk={main:{ink:Ea.accent,page:Ea.accent,key:"accent",label:()=>i("Main"),words:e=>i("Theme {n} main color",{n:e})},text:{ink:Ea.text,page:Ea.text,key:"text",label:()=>i("Text"),words:e=>i("Theme {n} text color",{n:e})},background:{ink:gc("bg"),page:i3("bg"),key:"background",label:()=>i("Background"),words:e=>i("Theme {n} background",{n:e})},muted:{ink:Ea.labels,page:Ea.labels,key:"muted",label:()=>i("Muted"),words:e=>i("Theme {n} muted color",{n:e})},surface:{ink:gc("surface"),page:gc("surface"),key:"surface",label:()=>i("Surface"),words:e=>i("Theme {n} surface color",{n:e})}};function Na(e){return Object.hasOwn(Gk,e)?Gk[e]:void 0}var sx="#9ca3af";function Mn(e,o,t){let a=Na(e);return a?{hex:$k(o[a.key]??"")??"",words:a.words(t)}:null}function zk(e,o){return l3.flatMap(t=>{let a=Mn(t,e,o);return a&&Na(t)?.ink?[{name:t,label:a.words,value:a.hex||sx}]:[]})}var d3=["main","text","background"];function Uk(e){let o=new Set,t=[];return ao(e).themes.forEach((a,r)=>{for(let n of d3){let s=Na(n),l=s?a[s.key]:void 0,d=typeof l=="string"&&l?$k(l):null;!s||!d||o.has(d)||(o.add(d),t.push({value:d,label:s.words(r+1)}))}}),t}function na(e){return Na(e)?.ink??""}function zt(e){if(typeof e!="string")return null;let o=Yk(e.trim());return o?.kind==="slot"&&na(o.slot)?o.slot:null}var jk={accent:"main",labels:"muted"};function Ko(e){return Object.hasOwn(jk,e)?jk[e]:e}function Hn(e){if(!e)return"";if(e.startsWith("#"))return Vk(e)===e.toLowerCase()?e:"";let o=f3(Ko(e));return o?.kind==="slot"?na(o.slot):""}function Wn(e,o=qk){return o.flatMap(t=>{let a=Na(t);return a?.ink?[{name:t,label:a.label(),value:e?.[t]||sx}]:[]})}function Xk(e){let o=Yk(Ko(e));return o?.kind==="slot"?na(o.slot):""}function lx(e){let o=e?.trim();return o?c3.find(t=>na(t)===o)??null:null}function Jk(e){let o={},t=e.ownerDocument,a=t?.defaultView;if(!t||!a)return o;let r=a.getComputedStyle(e),n=t.createElement("canvas").getContext("2d");for(let s of qk){let l=na(s);if(!l)continue;let d=l.replace(/^var\((--[\w-]+)\)$/,"$1"),c=r.getPropertyValue(d).trim();if(!c)continue;let f=Kk(c);!f&&n&&(n.fillStyle="#000000",n.fillStyle=c,f=Kk(String(n.fillStyle))),f&&(o[s]=f)}return o}function Kk(e){let o=e.trim().toLowerCase();if(o.startsWith("#"))return Vk(o);let t=o.match(/^rgba?\(\s*(\d+)[\s,]+(\d+)[\s,]+(\d+)/);return t?`#${t.slice(1,4).map(a=>Math.min(255,Number(a)).toString(16).padStart(2,"0")).join("")}`:null}var u3="#ffffff";function ix(e){return Zk(e)||(m3(e)?e:u3)}function Zk(e){let o=zt(e);return o?Na(o)?.page??"":""}function m3(e){return typeof e=="string"&&p3(e)===e.toLowerCase()||Zk(e)!==""}function Nhe(e){return{"--bg":ix(e)}}import{parseHexColor as h3}from"efficient-shell/format";import{fillColorRole as x3}from"efficient-shell/markup";function wl(e,o,t,a){let r=a??t??o,n=t!==null&&t!==o,s=r!==null&&r!==o;return{className:[n?e.tabletClass:"",s?e.phoneClass:""].filter(Boolean).join(" "),style:{...n?{[e.tabletVar]:t}:{},...s?{[e.phoneVar]:r}:{}}}}var Vhe="sf-card",Ma={min:0,max:100,step:5,fallback:0,unit:"%"},g3=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],I3="68%",qhe={desktop:20,phone:20,side:40,sidePhone:24},Yhe="sf-box-sides";function cx(e){return typeof e=="string"&&e.trim()!==""}function Xhe(e){return cx(typeof e?.bgImage=="string"?e.bgImage:null)||vo(e,Oa)!==""}function Jhe(e,o){return o||vo(e,Oa)===""?e:{...e,[Oa]:""}}function Zhe(e,o){return Yd(o,vo(e,Oa))?.trim()||null}function Qk(e,o){let t=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(t)||t<=0)return null;let a=(Math.min(Ma.max,Math.max(Ma.min,t))/100).toFixed(2);return o!=="bottom"?{background:Ba(Number(a))}:{background:`linear-gradient(0deg, ${Ba(Number(a))} 0%, ${Ba(0)} ${I3})`}}var Ic=e=>typeof e=="string"?h3(e.trim()):null,dx=e=>{let o=Ic(e);if(o!==null||typeof e!="string")return o;let t=e.trim();return t&&!t.startsWith("#")&&Xk(t)||null},bc=e=>{if(typeof e!="string")return null;let o=x3(Ko(e.trim()));return o?.kind==="slot"?o.slot:null},b3="swatch";function Qhe(e,o){if(!o)return null;let t=Yd(o,vo(e,b3)),a=zt(t);return Ic(t)??(a&&na(a)||null)}var y3={tabletClass:"sf-fill-tablet",tabletVar:"--sf-fill-tablet",phoneClass:"sf-fill-phone",phoneVar:"--sf-fill-phone"};function exe(e,o,t){return wl(y3,dx(e),dx(o),dx(t))}var S3={tabletClass:"sf-wash-tablet",tabletVar:"--sf-wash-tablet",phoneClass:"sf-wash-phone",phoneVar:"--sf-wash-phone"};function oxe(e){let o=Qk(e.darken,e.darkenStyle);if(!o)return{className:"",style:{}};let t=(u,p)=>String(Qk(u,p)?.background??"none"),a=u=>(typeof u=="number"||typeof u=="string"&&u.trim()!=="")&&Number.isFinite(Number(u))?u:void 0,r=u=>g3.some(p=>p.value===u)?u:void 0,[n,s,l,d]=[a(e.darkenTablet),r(e.darkenStyleTablet),a(e.darkenPhone),r(e.darkenStylePhone)],c=n??e.darken,f=s??e.darkenStyle;return wl(S3,String(o.background),n!==void 0||s!==void 0?t(c,f):null,l!==void 0||d!==void 0?t(l??c,d??f):null)}function txe(e,o){let t={"top-left":["start","start"],"top-center":["center","start"],"top-right":["end","start"],left:["start","center"],center:["center","center"],right:["end","center"],"bottom-left":["start","end"],"bottom-center":["center","end"],"bottom-right":["end","end"]},[a,r]=t[e]??t.center,[n,s]=o==="column"?[r,a]:[a,r],l={start:"justify-start",center:"justify-center",end:"justify-end"},d={start:"items-start",center:"items-center",end:"items-end"};return`${l[n]} ${d[s]}`}function eT(e,o){let t=e?.content;if(!Array.isArray(t))return null;for(let a of t){if(!a||typeof a!="object")continue;let{type:r,props:n}=a;if(n?.id===o)return null;if(fx(a,o,0))return{type:typeof r=="string"?r:"",props:n??{}}}return null}function fx(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>fx(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>fx(r,o,t+1))}function oT(e,o){let t=e?.content;return Array.isArray(t)?yc(t,o,0)??[]:[]}function yc(e,o,t){if(t>12||!e||typeof e!="object")return null;if(Array.isArray(e)){for(let r of e){let n=yc(r,o,t+1);if(n)return n}return null}let a=e.props;if(a&&typeof a=="object"){if(a.id===o)return[];for(let r of Object.values(a)){let n=yc(r,o,t+1);if(n)return[a,...n]}return null}for(let r of Object.values(e)){let n=yc(r,o,t+1);if(n)return n}return null}import{SettingsDefaultReset as To,SettingsDrill as RU,SettingsField as no,SettingsGroup as LU,SettingsGroupSub as Swe,SettingsSegmented as FU,SettingsBorder as BU,SettingsSidesEach as DU,SettingsSwitch as mg,borderSides as NU,borderStartEach as MU}from"efficient-easel/panel";import{ListField as HU}from"efficient-easel/fields";import{DisplayChips as WU}from"efficient-shell/ui";import{HIDDEN_KEY as w3,hiddenInEveryView as C3,hiddenInView as px,hiddenKeyOf as tT}from"efficient-easel/screen/lib/content/view-hide";var v3={"000":"",100:"view-desktop:hidden","010":"view-wide:max-view-desktop:hidden","001":"max-view-wide:hidden",110:"view-wide:hidden","011":"max-view-desktop:hidden",101:"view-desktop:hidden max-view-wide:hidden",111:"hidden"},k3={"000":"",100:"view-desktop:hidden","010":"view-tablet:max-view-desktop:hidden","001":"max-view-tablet:hidden",110:"view-tablet:hidden","011":"max-view-desktop:hidden",101:"view-desktop:hidden max-view-tablet:hidden",111:"hidden"},aT=e=>(e.desktop?"1":"0")+(e.tablet?"1":"0")+(e.mobile?"1":"0");function Sc(e,{atSectionLine:o=!1}={}){return(o?k3:v3)[aT(e)]}var Gn=[w3,tT("tablet"),tT("mobile")];function rT(e){return{desktop:px(e,"desktop"),tablet:px(e,"tablet"),mobile:px(e,"mobile")}}function Cl(e){return C3(e)}function sxe(e){let o=rT(e);return["desktop","tablet","mobile"].filter(t=>o[t]).join(" ")}var T3={"000":"",100:"view-desktop:hidden!","010":"view-wide:max-view-desktop:hidden!","001":"max-view-wide:hidden!",110:"view-wide:hidden!","011":"max-view-desktop:hidden!",101:"view-desktop:hidden! max-view-wide:hidden!",111:"hidden!"},P3={"000":"",100:"view-desktop:hidden!","010":"view-tablet:max-view-desktop:hidden!","001":"max-view-tablet:hidden!",110:"view-tablet:hidden!","011":"max-view-desktop:hidden!",101:"view-desktop:hidden! max-view-tablet:hidden!",111:"hidden!"};function lxe(e,{atSectionLine:o=!1}={}){return(o?P3:T3)[aT(rT(e))]}function $n(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,a]of Object.entries(e))typeof a=="boolean"&&(o[t]=a);return o}function wc(e,o){return $n(e)[o]!==!1}function ux(e,o,t){let a=$n(o)[t];return typeof a=="boolean"?a:wc(e,t)}function nT(e){return Object.values($n(e)).some(o=>o===!1)}function sT(e){return Object.keys($n(e)).length>0}function lT(e,o,t){let a={...$n(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function iT(e,o,t){return{...$n(e),[o]:t}}function cxe(e,o,t,{atSectionLine:a=!0}={}){let r=!wc(e,t);return Sc({desktop:r,tablet:r,mobile:!ux(e,o,t)},{atSectionLine:a})}import{AlignmentGrid as GU,Checkbox as Twe,ColorSwatch as $U,CornersInput as zU,DatePicker as Pwe,DateTimePicker as UU,FOCAL_DEFAULT as Ewe,IconPicker as y0,COLUMN_COUNT_MAX as a0,COLUMN_SHARE_MIN as jU,COLUMN_SHARES_EQUAL as KU,resolveColumnShares as S0,WidthsBar as VU,useShellStrings as qU,IconButton as w0,InputNumber as r0,Slider as YU,Tooltip as hg}from"efficient-shell/ui";import{backendOf as E3}from"efficient-easel/screen/lib/session";var ze=E3,Cc=e=>e.blocks;async function dT(e){let o=e.trim();if(!o)return null;let t=ze().geocode;if(!t)throw new Error("geocode_unavailable");return t.locate(o)}var mx="Lookup busy \u2014 try again in a moment.",vc=e=>typeof e=="number"&&Number.isFinite(e);function gxe(e){return e.some(o=>{let t=o?.geocode;return t?t.pending||t.manual&&t.lat===void 0&&t.lng===void 0?!0:vc(t.lat)&&t.lat!==o.lat||vc(t.lng)&&t.lng!==o.lng:!1})}async function Ixe(e,o,{geocode:t=dT,courtesyGapMs:a=1100}={}){let r=s=>new Promise(l=>setTimeout(l,s)),n=e.slice();if(e.some(s=>s?.geocode?.pending)){let s=[],l=!1;for(let d of e){if(!d?.geocode?.pending){s.push(d);continue}l&&a>0&&await r(a),l=!0;try{let c=await t(o(d));s.push(c?{...d,lat:c.lat,lng:c.lng,geocode:{...d.geocode,pending:!1,ok:!0,status:`Found \u2014 ${c.label.split(",").slice(0,3).join(",").trim()}`,lat:c.lat,lng:c.lng}}:{...d,geocode:{...d.geocode,pending:!1,ok:!1,status:"No match \u2014 check the address and try again."}})}catch{s.push({...d,geocode:{...d.geocode,pending:!1,ok:!1,status:mx}})}}n=s}return n.map(s=>{let l=s?.geocode;if(!l)return s;if(l.manual&&l.lat===void 0&&l.lng===void 0)return{...s,geocode:{...l,lat:s.lat,lng:s.lng}};let d=vc(l.lat)&&l.lat!==s.lat?l.lat:s.lat,c=vc(l.lng)&&l.lng!==s.lng?l.lng:s.lng;return d!==s.lat||c!==s.lng?{...s,lat:d,lng:c}:s})}import{jsx as Do,jsxs as xx}from"react/jsx-runtime";import{useRef as O3}from"react";import{ColorPicker as _3,ColorPickerPanel as A3,ColorSwatch as R3,HexInput as L3,Popover as F3,Tooltip as B3,colorFill as D3,colorSwatchClasses as N3,useShellStrings as M3}from"efficient-shell/ui";import{SettingsDefaultReset as H3,SettingsField as W3}from"efficient-easel/panel";import{typedHex as hx}from"efficient-easel/pick";var cT="Not set";function G3({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,choices:l}){return Do(z3,{value:e,onChange:o,label:i(s??t),id:a,caption:r,inherited:n,choices:l})}function $3(){let{theme:e}=xe();return Uk(e)}function z3({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,choices:s}){let l=$3(),d=e?null:hx(n??""),c=r!==void 0&&(!e||hx(r)!==hx(e))?r:null,f=u=>{u!==e&&o(u)};return xx("div",{className:"sf-colour",children:[s?Do(U3,{id:a,value:e,onChange:o,label:t,presets:l,follows:d,choices:s}):Do(_3,{id:a,value:e,onChange:f,label:t,presets:l,fallback:d??void 0,size:"md",align:"start"}),c!==null?Do("span",{className:"sf-colour-caption",children:c}):Do("span",{className:"sf-colour-hexwrap",children:Do(L3,{value:e||d||"",onChange:f,label:i("{label} hex code",{label:t}),placeholder:e||d?void 0:i(cT),className:d?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function U3({value:e,onChange:o,label:t,id:a,presets:r,follows:n,choices:s}){let l=M3().color,d=e||n||"",c=s.findIndex(p=>p.selected),f=c>=0,u=O3(c);return f&&(u.current=c),Do(F3,{id:a,trigger:Do("span",{"aria-hidden":"true",className:"absolute inset-0",style:D3(d)}),triggerLabel:l.swatch(t,d.toUpperCase()||l.none),triggerClassName:N3({size:"md"}),"aria-label":l.panel(t),align:"start",children:xx("div",{className:"sf-colour-window",children:[Do("div",{role:"group","aria-label":t,className:"sf-colour-choices",children:s.map(p=>Do(B3,{content:p.label,children:Do(R3,{color:p.color,"aria-label":p.label,selected:p.selected,onClick:()=>{p.selected||p.onPick()}})},p.label))}),Do(A3,{value:f?"":e,onChange:o,label:t,presets:r,fallback:(f?d:n)??void 0},u.current)]})})}function No({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...l}){return xx(W3,{label:e,icon:o,htmlFor:l.id,changed:t,hint:a,action:r?Do(H3,{words:re()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[G3({...l,label:e}),s]})}function vl({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:l,choices:d}){let c=!!t;return Do(No,{label:e,icon:o,value:t,inherited:c?void 0:a,onChange:n,changed:c,onReset:s,resetTo:r,hint:l,choices:d})}import{keptByRow as XU}from"efficient-easel/screen/lib/document/style-fields";import{jsx as j3}from"react/jsx-runtime";import{useEffect as K3,useState as V3}from"react";import{clearRangeOf as q3,markSelection as Y3,useCaretEdit as X3}from"efficient-easel/copy";import{TextToolbar as J3}from"efficient-shell/ui";function Z3(e,o,t){return Y3(e,o,t,nC)}function fT(e,o){let t=q3(o,e.length),a=lC(e,t.start,t.end);return a.text===e?null:a}function Q3(e){let[o,t]=V3(null);return K3(()=>{let a=e.current?.ownerDocument??(typeof document>"u"?null:document);if(!a)return;let r=()=>{let n=e.current;if(!n||a.activeElement!==n)return;let s=n.selectionStart??n.value.length,l=n.selectionEnd??s;t(d=>d&&d.start===s&&d.end===l?d:{start:s,end:l})};return a.addEventListener("selectionchange",r),()=>a.removeEventListener("selectionchange",r)},[e]),[o,t]}function eW({target:e,value:o,onChange:t,disabled:a=!1,label:r="Formatting"}){let n=X3({target:e,onChange:t}),[s,l]=Q3(e),d=p=>n(x=>{let g=Z3(o,p,x);return l({start:g.selectionStart,end:g.selectionEnd}),g}),c=aC(),f={};if(s)for(let p of c)f[p.style]=sC(o,s.start,s.end,p.style);let u=a?null:fT(o,s);return j3(J3,{offered:new Set(c.map(p=>p.style)),onMark:p=>d(p),pressed:f,disabled:a,"aria-label":i(r),className:"sf-markup-bar",clear:u?{onClear:()=>n(()=>{let p=e.current,x=p&&p.ownerDocument.activeElement===p?{start:p.selectionStart??0,end:p.selectionEnd??0}:null,g=fT(o,x)??{text:o,selectionStart:x?.start??0,selectionEnd:x?.end??0};return l({start:g.selectionStart,end:g.selectionEnd}),g})}:void 0})}var gx=eW;import{deviceField as jt}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as JU,NoControlMark as ZU,noControlField as C0}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Ix="__ownBox";function pT(e){return!!e&&typeof e=="object"&&e[Ix]===!0}function kc(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var Tc=void 0;import{phoneKey as fa,tabletKey as Jn}from"efficient-easel/draw";import{jsx as yx,Fragment as aW}from"react/jsx-runtime";import{createContext as rW,useContext as nW}from"react";var Pc={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},Ec={Events:["posts"],SubscribeBlogs:["posts"]};var oW=["anchor"],tW=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function kl(e){return oW.includes(e)||tW.test(e)}var bx={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:[]}},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"}}};bx.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var $xe=Object.fromEntries(Object.entries(Pc).map(([e,o])=>[e,Object.keys(o)])),zxe=Object.fromEntries(Object.entries(Ec).map(([e,o])=>[e,[...o]]));import{NoControlMark as sW}from"efficient-easel/screen/lib/document/panel-no-control-mark";var uT=rW(!1);function mT({children:e}){return yx(uT.Provider,{value:!0,children:e})}function lW(){return nW(uT)}function hT({name:e,children:o}){return!lW()||!e||!iW(e)||kl(e)?yx(aW,{children:o}):yx(sW,{})}function iW(e){return/^[A-Za-z0-9_$]+$/u.test(e)}var Sx="off",gT="none",wx=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],IT=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function Jxe(e){return uo(wx,Sx,e)}var xT="sf-card-index",Tl="sf-card-index",Zxe="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",dW={plain:`counter(${Tl})`,padded:`counter(${Tl}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Tl}, decimal-leading-zero)`};function Qxe(e,o){return o==="off"?"":`.${e}{counter-reset:${Tl}}.${e} .${xT}{counter-increment:${Tl}}.${e} .${xT}::before{content:${dW[o]}}`}function ege(e){return e==="hairline"?"border border-line hover:border-accent":""}var bT=[{value:"1",label:"1st rendering"},{value:"2",label:"2nd rendering"},{value:"3",label:"3rd rendering"},{value:"4",label:"4th rendering"},{value:"5",label:"5th rendering"}];import{SCALAR_TEXT_CONTROLS as QU}from"efficient-easel/draw";import{jsx as Mo}from"react/jsx-runtime";import{SettingsDefaultReset as gW,SettingsField as Cx}from"efficient-easel/panel";import{useSelectedHost as IW}from"efficient-easel/easel";import{FOCAL_DEFAULT as bW}from"efficient-shell/format";import{ImageIcon as vx,PlayIcon as ST}from"efficient-easel/icons";import{ImageFocusPoint as yW,MediaUploadField as SW}from"efficient-shell/ui";import{useContext as wW}from"react";import{ScreenDocumentContext as CW}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as vW,tabletKey as wT}from"efficient-easel/draw";import{usePreviewDevice as kW}from"efficient-easel/draw/client";import{formatFocal as cW,parseFocal as fW}from"efficient-shell/format";var pW="sf-focus-phone",uW="--sf-focus-phone",mW="sf-focus-tablet",hW="--sf-focus-tablet",Pl=e=>{if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return null;let{x:o,y:t}=fW(e);return cW(o,t)};function yT(e,o){return wl(xW,null,Pl(o),Pl(e))}var xW={tabletClass:mW,tabletVar:hW,phoneClass:pW,phoneVar:uW};import{shownTier as kx}from"efficient-easel/screen/lib/document/device-fields";import{onDesktopWords as TW}from"efficient-easel/screen/lib/document/box-fields";import{requestMediaPick as PW}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as EW}from"efficient-easel/screen/lib/host";import{useEaselSession as OW}from"efficient-easel/screen/lib/session-context";function _W(e,o,t,a=!0){let r=kx(t),n=typeof e[o]=="string"&&e[o]?String(e[o]):bW;if(r==="desktop")return{ownView:!1,followed:n,followsView:"desktop",own:void 0,focus:n,key:o};let s=r==="tablet"?wT(o):vW(o),l=Pl(e[s])??void 0,d=r==="mobile"&&a?Pl(e[wT(o)])??void 0:void 0,c=d??n;return{ownView:!0,followed:c,followsView:d?"tablet":"desktop",own:l,focus:l??c,key:s}}function AW(e,o,t){let a=IW();if(!o||!a)return null;let r=a.values??{};if(t&&!t(r,kx(e)))return null;let n=_W(r,o,e,t?t(r,"tablet"):!0),s=a.onChange;return{...n,set:l=>s(n.key,l),clear:()=>s(n.key,Tc)}}function CT({value:e,onChange:o,label:t,accept:a,placeholder:r,focusKey:n,focusWhen:s,frameKey:l,fieldKey:d}){let c=EW(),f=OW(),u=i(t),p=kW(),x=a.startsWith("video"),g=AW(p,x?void 0:n,s),I=!!n&&kx(p)!=="desktop",k=wW(CW),S=El(),C=l&&d?{video:d,frame:l}:null,b=P=>PW(c,{accept:a,title:u,...P?{file:P}:{}}).then(D=>!D||!C?D?.url??null:(S({[C.video]:D.url,[C.frame]:D.posterUrl??""}),null)),v=C?P=>P?o(P):S({[C.video]:"",[C.frame]:""}):o,T=Ro(e);if(I&&(!g||!T))return null;if(k&&!k.capabilities.mediaEditing)return Mo(Cx,{label:u,icon:x?Mo(ST,{}):Mo(vx,{}),children:Mo("div",{className:"sf-image-slot-inert",children:x?i("Templates don\u2019t store videos \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created."):i("Templates don\u2019t store images \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created.")})});let F=g?.ownView&&T?Mo(gW,{words:re()?.panel,label:i("Image focus"),changed:!!g.own,detail:TW(P=>i(P),g.followed,g.followsView),onReset:g.clear}):void 0;return I&&g?Mo(Cx,{label:u,icon:Mo(vx,{}),action:F,children:Mo("div",{style:{flex:"1 1 auto",minWidth:0},children:Mo(yW,{value:g.focus,onChange:g.set,label:i("Image focus"),image:T,hint:null})})}):Mo(Cx,{label:u,icon:x?Mo(ST,{}):Mo(vx,{}),children:Mo("div",{style:{flex:"1 1 auto",minWidth:0},children:Mo(SW,{value:T,onChange:v,onPick:b,accept:x?"video/*":"image/*",kind:x?"video":"image",placeholder:r===void 0?void 0:i(r),maxSizeBytes:ze(f).media.maxUploadBytes,...g?{focus:g.focus,onFocusChange:g.set}:{}})})})}import{jsx as vT}from"react/jsx-runtime";import{useId as RW}from"react";import{FieldSelect as LW}from"efficient-easel/fields";import{SettingsField as FW}from"efficient-easel/panel";function BW(e){return e.map(({value:o,label:t,note:a})=>({value:o,label:t,...a?{meta:a}:{}}))}function kT({label:e,options:o,value:t,onChange:a,emptyLabel:r,icon:n,hint:s}){let l=RW(),d=`${l}-label`,c=`${l}-button`,f=Array.isArray(t)?t:[];return vT(FW,{label:i(e),labelId:d,icon:n,hint:s,children:vT(LW,{id:c,multiple:!0,value:f,options:BW(o),onChange:a,placeholder:r===void 0?i("None"):i(r),ariaLabelledBy:`${d} ${c}`,inline:!0})})}import{jsx as ro,jsxs as Er,Fragment as pG}from"react/jsx-runtime";import{useCallback as WT,useContext as uG,useId as zT,useRef as GT,useState as $T}from"react";import{ThemeIcon as mG}from"efficient-easel/icons";import{Button as hG,useClickOutside as xG}from"efficient-shell/ui";import{SettingsField as gG}from"efficient-easel/panel";import{ScreenDocumentContext as IG}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as fe,jsxs as Wa,Fragment as UW}from"react/jsx-runtime";import{parseHexColor as jW}from"efficient-shell/format";import{Button as Px,IconButton as KW,Tooltip as VW}from"efficient-shell/ui";import{jsx as Ha,jsxs as DW}from"react/jsx-runtime";import{AccentIcon as NW}from"efficient-easel/icons";import{Button as MW,Tooltip as HW}from"efficient-shell/ui";function Tx(e){return Bo(e).background}function WW(e){let o=va(e.accent,Tx(e));return o===null?null:{ratio:o,grade:Cn(o)}}function GW(e){let o=Tx(e),t=va(e.accent,o);return t===null?[]:JS(e.accent).filter(a=>{let r=va(a,o);return r!==null&&r>t&&Cn(r)==="good"})}var $W={good:"Easy to read","large-only":wn["large-only"],hard:wn.hard};function TT({value:e,onChange:o}){let t=WW(e),a=t?.grade,r=t&&t.grade!=="good"?GW(e):[];return Ha(No,{label:i("Main color"),icon:Ha(NW,{}),hint:t?i($W[t.grade]):void 0,value:e.accent,onChange:n=>o({...e,accent:n}),children:r.length>0?Ha("div",{className:"w-full min-w-0",children:DW("div",{className:"sf-readability",children:[Ha("p",{className:"sf-readability-advice",children:zW(a,!0)}),Ha("div",{className:"sf-readability-suggestions",children:r.map(n=>{let s=va(n,Tx(e));return Ha(HW,{content:i("Use {colour}",{colour:n.toUpperCase()}),children:Ha(MW,{variant:"secondary",className:"sf-readability-suggestion",leftIcon:Ha("span",{className:"sf-readability-chip",style:{background:n},"aria-hidden":!0}),onClick:()=>o({...e,accent:n}),children:s?`${s.toFixed(1)}:1`:n.toUpperCase()})},n)})})]})}):null})}function zW(e,o){return e?e==="good"?i("This color reads clearly on your pages."):o?i("This color is hard to read on this theme's page. The buttons below are the same hue, darkened."):i("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."):i("Pick a color to see how it reads.")}import{ButtonIcon as qW,ChevronDownIcon as ET,ChevronUpIcon as YW,GroundIcon as XW,LayoutIcon as JW,SquareIcon as ZW,TextSmallIcon as QW,TypeIcon as PT}from"efficient-easel/icons";var Ol=e=>i("Theme {n}",{n:e+1});function OT({colors:e}){let o=Bo(e),t=Ks(e)??o.accent;return Wa("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[fe("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:i("label")}),Wa("span",{className:"sf-theme-headline",children:[i("Heading")," ",fe("span",{style:{color:o.accent},children:i("main")})]}),fe("span",{className:"sf-theme-body",children:i("body text")}),Wa("span",{className:"sf-theme-row",children:[fe("span",{className:"sf-theme-btn",style:{background:t,color:Sm(e,o.accent)},children:i("button")}),fe("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:i("card")})]})]})}var Ex={"Text color":fe(PT,{}),"Label color":fe(QW,{}),Background:fe(XW,{}),"Panels & cards":fe(JW,{}),Borders:fe(ZW,{}),"Button color":fe(qW,{}),"Button text color":fe(PT,{})};function eG({label:e,colorKey:o,value:t,onChange:a,idPrefix:r="sf-theme-ink"}){let n=`${r}-${o}`;return fe(No,{label:i(e),icon:Ex[e],id:n,value:t,onChange:s=>a(o,s)})}function oG({value:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button`,n=e!==void 0&&jW(e)===e.toLowerCase(),s=n?e:o;return fe(No,{label:i("Button color"),icon:Ex["Button color"],id:r,value:s,caption:n?s:i("Main"),onChange:t})}function tG({colors:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button-ink`,n=ZS(e),s=Sm(e,o),l=Ks(e)??o,d=Cn(va(s,l)??0);return fe(No,{label:i("Button text color"),icon:Ex["Button text color"],hint:n&&d!=="good"?i("{grade} on the button",{grade:i(wn[d])}):void 0,id:r,value:s,caption:n?s:i("Auto"),onChange:t})}var aG=[{colour:!0},{label:"Text color",key:"text"},{label:"Label color",key:"muted"},{button:!0},{buttonInk:!0},{moduleBreak:!0},{label:"Background",key:"background"},{label:"Panels & cards",key:"surface"},{label:"Borders",key:"line"}];function Ox({colors:e,onChange:o,idPrefix:t}){let a=Bo(e);return fe(UW,{children:aG.map(r=>"colour"in r?fe(TT,{value:e,onChange:o},"colour"):"moduleBreak"in r?fe("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in r?fe(oG,{value:e.button,accent:a.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in r?fe(tG,{colors:e,accent:a.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):fe(eG,{label:r.label,colorKey:r.key,value:a[r.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},r.key))})}function Oc({index:e,colors:o,selected:t,role:a="radio",open:r,editable:n=!0,onPick:s,onEdit:l,onChangeColors:d}){let c=Bo(o),f=Ol(e),u=e<ym.length&&!o.brandInk?ym[e]:null,p=Cn(va(c.text,c.background)??0),x=u?JSON.stringify(o)!==JSON.stringify(u):!1,g=r!==void 0;return Wa("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[fe("button",{type:"button",role:a,"aria-checked":a==="radio"?t:void 0,"aria-selected":a==="option"?t:void 0,"aria-label":f,className:"sf-theme-pick",onClick:s,children:fe(OT,{colors:o})}),Wa("div",{className:"sf-theme-foot",children:[fe("span",{className:"sf-theme-name",children:f}),p!=="good"&&fe("span",{className:"sf-theme-warn",children:i(wn[p])}),n&&l&&g&&fe("span",{className:"sf-theme-edit",children:fe(VW,{content:r?i("Collapse"):i("Edit colors"),children:fe(KW,{size:"sm","aria-expanded":r,"aria-controls":`sf-theme-colours-${e}`,"aria-label":r?i("Collapse {name}",{name:f}):i("Edit colors for {name}",{name:f}),onClick:l,children:r?fe(YW,{size:14}):fe(ET,{size:14})})})}),n&&l&&!g&&fe(Px,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:f}),onClick:l,children:i("Edit")})]}),r&&Wa("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[fe(Ox,{colors:o,onChange:I=>d?.(I)}),u&&fe(Px,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!x,onClick:()=>d?.({...u}),children:x?i("Reset {name} to the preset",{name:f}):i("Not changed")})]})]})}function _T({colors:e,name:o,nameId:t,open:a,menuId:r,labelId:n,buttonRef:s,onClick:l,onKeyDown:d,onEdit:c}){return Wa("div",{className:"sf-secttheme-btn",children:[fe("button",{ref:s,type:"button",className:"sf-theme-pick","aria-expanded":a,"aria-controls":r,"aria-labelledby":`${n} ${t}`,onClick:l,onKeyDown:d,children:e?fe(OT,{colors:e}):fe("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Wa("div",{className:"sf-theme-foot",children:[fe("span",{id:t,className:"sf-theme-name",children:o}),c&&fe(Px,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:o}),onClick:c,children:i("Edit")}),fe("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:l,children:fe(ET,{size:12,className:"sf-multi-caret","aria-hidden":"true"})})]})]})}import{useCallback as Bx,useEffect as BT,useRef as Lc}from"react";import{currentEaselSession as sG}from"efficient-easel/screen/lib/session";import{useEaselSession as lG}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as rG}from"react";var RT,_x=null,Pr=null,_c=0,Ax=new Set;function Rx(e){RT=e;for(let o of Ax)o()}function Lx(e){_x=e,_c+=1,Pr&&clearTimeout(Pr),Pr=null,Rx(void 0)}function Ac(e){_c+=1,Rx(e)}function sa(e=250){_x&&(Pr&&clearTimeout(Pr),Pr=setTimeout(()=>{Pr=null;let o=_x;if(!o)return;let t=++_c;o().then(a=>{t===_c&&Rx(a)}).catch(()=>{})},e))}function AT(){return RT}function nG(e){return Ax.add(e),()=>{Ax.delete(e)}}function Rc(){return rG(nG,AT,AT)}var Fx=new Set;function LT(e){return Fx.add(e),()=>{Fx.delete(e)}}async function FT(){let e=(await Promise.allSettled([...Fx].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as iG}from"efficient-easel/screen/lib/backend-error";function DT(e=sG()){return(o,t,a)=>{let r=ze(e).theme;return r?r.update(o,a?{siteId:a}:void 0):Promise.reject(new iG("invalid","This backend stores no site theme."))}}function NT(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function dG(e,o=DT()){let{themeFromDocument:t,token:a,siteId:r,patch:n}=e,s=NT({themeFromDocument:t,token:a});if(s)return s;if(Object.keys(n).length===0)return{status:"skipped",reason:"empty"};try{return await o(n,a,r??void 0),{status:"saved"}}catch(l){return{status:"failed",error:l}}}function zn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:a}){let r=Lc(null),n=Lc({}),s=lG(),l=Lc(a);l.current=a;let d=Lc(null),c=Bx(p=>{if(p.status==="skipped"){let x=`skipped:${p.reason}`;if(d.current===x)return;d.current=x}else d.current=null;l.current?.(p)},[]),f=Bx(async()=>{r.current&&(clearTimeout(r.current),r.current=null);let p=n.current;n.current={};let x=await dG({themeFromDocument:e,token:o?.current,siteId:t,patch:p},DT(s));return c(x),x.status==="saved"&&sa(),x.status==="failed"&&(n.current={...p,...n.current}),x},[e,o,t,c,s]),u=Bx((p,x=!1)=>{let g=NT({themeFromDocument:e,token:o?.current});if(g){c(g);return}n.current={...n.current,...p},r.current&&clearTimeout(r.current),x?f():r.current=setTimeout(()=>{f()},500)},[e,o,f,c]);return BT(()=>()=>{f()},[f]),BT(()=>LT(async()=>{if(!r.current&&Object.keys(n.current).length===0)return;let p=await f();if(p.status==="failed")throw p.error}),[f]),{persist:u,flush:f}}var et=-1,cG="sf-section-accent",MT="Color",HT=new Set(["CategoryBar","DocTabs"]),iIe=new Set(["Flex"]),Dx=0;function yt(e){return e===et?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Dx}function Nx(e){return e??et}function fG(e){let o=`--theme-preset-${e}`,t={"--sf-sec-accent":`var(${o}-accent)`,"--sf-sec-accent-2":`var(${o}-accent-2)`,"--sf-sec-accent-ink":`var(${o}-accent-ink)`};for(let{role:a}of Sl)t[`--sf-sec-${a}`]=`var(${o}-${a}, var(--theme-${a}))`;return t}function dIe(e){let o=yt(e.sectionAccent);return o===null?null:{className:cG,style:fG(o)}}var bG="Follow the page",CIe="Follow the slideshow",yG=e=>i("Editing {name} changes it everywhere.",{name:e});function SG({colors:e}){if(!e)return ro("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=Bo(e);return Er("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[ro("i",{style:{background:o.background}}),ro("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function wG({themes:e,value:o,onPick:t,onEdit:a,menuId:r,followLabel:n}){return Er("div",{className:"sf-multi-menu sf-secttheme-menu",id:r,role:"listbox",children:[n!==void 0&&Er(pG,{children:[Er("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(et),children:[ro(SG,{}),ro("span",{className:"sf-secttheme-name",children:i(n)})]}),ro("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&ro("p",{className:"sf-secttheme-oncard",role:"presentation",children:i("{name} is on this section",{name:Ol(o)})}),e.map((s,l)=>l===o?null:ro(Oc,{role:"option",index:l,colors:s,selected:!1,onPick:()=>t(l),onEdit:()=>a(l)},l))]})}function CG({index:e,colors:o,onChange:t,onDone:a}){let r=Ol(e),n=zT();return Er("div",{className:"sf-secttheme-sheet",children:[Er("div",{className:"sf-secttheme-sheet-head",children:[ro("span",{children:r}),ro(hG,{variant:"secondary",className:"sf-secttheme-done",onClick:a,children:i("Done")})]}),ro("div",{className:"sf-secttheme-rows",children:ro(Ox,{colors:o,onChange:t,idPrefix:n})}),ro("p",{className:"sf-secttheme-warn",children:yG(r)})]})}function UT({value:e,onChange:o,followLabel:t,hint:a}){let{theme:r,setTheme:n}=xe(),s=ao(r),l=uG(IG),d=l?.tokenRef,c=l?.siteId??null,f=!l?.capabilities?.hasSiteTheme,{persist:u,flush:p}=zn({themeFromDocument:f,tokenRef:d,siteId:c}),x=ao(s),g=x.themes,I=yt(e),k=I!==null?g[I]:void 0,S=k??(g.length?Sn(x):void 0),[C,b]=$T(!1),[v,T]=$T(null),F=GT(null),P=GT(null),D=zT(),O=WT(()=>{b(!1),T(null)},[]),R=WT(()=>{!C&&v===null||(p(),O())},[C,v,O,p]);xG(F,R);let N=A=>{o(A),O()},y=A=>{if(v===null)return;let L=g.map((X,q)=>q===v?A:X),H={...x,themes:L};n(H),u({selected_preset:H.selected,theme_presets:H.themes})};return Er("div",{className:"sf-secttheme",ref:F,children:[ro(gG,{label:i("Theme"),icon:ro(mG,{}),labelId:`${D}-label`,hint:a,children:ro(_T,{colors:S,onEdit:I!==null?()=>{T(I),b(!1)}:void 0,name:k?Ol(I):i(t??bG),nameId:`${D}-value`,labelId:`${D}-label`,open:C,menuId:D,buttonRef:P,onClick:()=>{T(null),b(A=>!A)},onKeyDown:A=>{A.key==="Escape"&&(C||v!==null)&&(A.preventDefault(),O())}})}),C&&v===null&&ro("div",{onKeyDown:A=>{A.key==="Escape"&&(A.preventDefault(),O(),P.current?.focus())},children:ro(wG,{themes:g,value:I,onPick:N,onEdit:A=>{T(A),b(!1)},menuId:D,followLabel:t})}),v!==null&&g[v]&&ro(CG,{index:v,colors:g[v],onChange:y,onDone:()=>{p(),O(),P.current?.focus()}})]})}import{jsx as jT}from"react/jsx-runtime";import{useId as vG}from"react";import{FieldSelect as kG}from"efficient-easel/fields";import{SettingsField as TG}from"efficient-easel/panel";function PG(e){return e.map(({value:o,label:t,group:a,thumb:r,meta:n})=>({value:o,label:t,...a!==void 0?{group:a}:{},...r!==void 0?{thumb:r}:{},...n!==void 0?{meta:n}:{}}))}function _Ie({label:e,options:o,fallback:t,value:a,onChange:r,placeholder:n,bare:s=!1,icon:l}){let d=vG(),c=`${d}-label`,f=`${d}-button`,u=a??"",p=o.some(k=>k.value===u)?u:t,x=i(e),g=n===void 0?void 0:i(n),I=jT(kG,{id:f,value:p,options:PG(o),onChange:r,placeholder:g,searchPlaceholder:g,...s?{ariaLabel:x}:{ariaLabelledBy:`${c} ${f}`},searchable:!0,groupCount:!0,inline:!0});return s?I:jT(TG,{label:x,labelId:c,icon:l,children:I})}import{jsx as _r,jsxs as s$}from"react/jsx-runtime";import{SettingsField as mP}from"efficient-easel/panel";import{LinkIcon as l$}from"efficient-easel/icons";import{LinkPicker as i$,TextLinkField as d$}from"efficient-shell/ui";import{useEffect as uP,useMemo as Mc,useRef as c$,useState as Nc}from"react";import{currentEaselSession as EG}from"efficient-easel/screen/lib/session";function KT(){return EG().auth.token}import{currentEaselSession as f$}from"efficient-easel/screen/lib/session";import{useScreenDocument as p$}from"efficient-easel/screen/components/ScreenDocumentContext";var OG=()=>({choosePage:i("Choose a page"),chooseSection:i("Choose a section"),noSections:i("No section anchors yet"),sectionHint:i("Jumps to a section on that page."),choosePost:i("Choose a post"),chooseProduct:i("Choose a product"),choosePopup:i("Choose a popup")});function VT(e,o,t){if(!e)return"page";if(_k(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(Lk(e))return"product";if(e.includes("#")){let a=e.slice(0,e.indexOf("#"));if(a===""||a==="/"||o.includes(a))return"anchor"}return e==="/"||o.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function Mx(e,o){let t=OG(),a=e.pages.map(f=>({value:yl(f.slug),label:f.title})),r=o?.pageOptions?o.pageOptions(a):a,n=r.map(f=>f.value),s=e.pages.map(f=>({label:f.title,options:Rk(...f.docs).map(u=>({value:hc(f.slug,u.slug),label:u.name}))})).filter(f=>f.options.length>0),l=f=>{switch(f){case"page":return{type:"select",options:r,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:s,placeholder:s.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(u=>({value:Ak(u.slug),label:u.title||u.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(u=>({value:u.href,label:u.name||u.href})),placeholder:t.chooseProduct};case"popup":return{type:"select",options:(e.popups??[]).map(u=>({value:Ok(u.slug),label:u.title||u.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},d=Ek(e.offers).map(f=>({value:f.value,label:i(f.label),target:l(f.value),...f.value==="anchor"?{hint:t.sectionHint}:{},...f.value==="blog"||f.value==="product"||f.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!o)return{kinds:d,rules:{kindOf:f=>VT(f,n),targetOf:f=>f,readFilter:()=>null,withFilter:f=>f}};let c=f=>{let u=o.withFilter(f,null);return o.listingPaths.includes(u)?u:f};return{kinds:d,rules:{kindOf:f=>VT(f,n,{listingPaths:o.listingPaths,targetOf:c}),targetOf:c,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:f=>o.listingPaths.includes(f)?o.filtersFor(f):null}}import{useEaselSession as u$}from"efficient-easel/screen/lib/session-context";function mo(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return Z(t)??o}return o}function qT(e,o){return j(e)??o}function la(e,o){return typeof e=="boolean"?e:o}function Fc(e,o){if(!Array.isArray(e))return o;let t=e.map(a=>typeof a=="string"?a:mo(a?.text,"")).map(a=>a.trim()).filter(Boolean);return t.length?t:o}var XT=["delay","scroll","exit"],JT=["all","chosen","except"],ZT=["visit","days","never","once"],_G=["all","desktop","phone"],AG=["stop","continue"],QT={min:0,max:60},eP={min:10,max:90},oP={min:1,max:90},St={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function Vo(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function Un(e,o,t){let a=qT(e,t);return Math.min(o.max,Math.max(o.min,Math.round(a)))}function RG(e){return typeof e.hideAfter=="string"?Vo(ZT,e.hideAfter,St.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":St.hideAfter}function LG(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function YT(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function tP(e){let o=e??{},t=St;return{autoOpen:la(o.autoOpen,t.autoOpen),trigger:Vo(XT,o.trigger,t.trigger),autoOpenDelaySec:Un(o.autoOpenDelaySec,QT,t.autoOpenDelaySec),scrollPercent:Un(o.scrollPercent,eP,t.scrollPercent),showOn:Vo(JT,o.showOn,t.showOn),showOnPages:LG(o.showOnPages),devices:Vo(_G,o.devices,t.devices),hideAfter:RG(o),hideDays:Un(o.hideDays,oP,t.hideDays),afterSubmit:Vo(AG,o.afterSubmit,t.afterSubmit),startDate:YT(o.startDate),endDate:YT(o.endDate)}}import{parseHexColor as FG}from"efficient-shell/format";var wt="#000000";var Hx="popup",BG=Dn,DG=["auto","full"],NG=["inside","outside","none"],MG={min:240,max:1440},HG={min:0,max:100},_l={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:wt,tintOpacity:60,outsideClick:!0,closeButton:"inside"};function WG(e,o){let t=typeof e=="string"?e.trim():"";return t&&FG(t)===t.toLowerCase()?t:o}function Wx(e,o=_l){let t=e??{},a=o;return{placement:Vo(BG,t.placement,a.placement),fullWidth:la(t.fullWidth,a.fullWidth),width:Un(t.width,MG,a.width),height:Vo(DG,t.height,a.height),tintColor:WG(t.tintColor,a.tintColor),tintOpacity:Un(t.tintOpacity,HG,a.tintOpacity),outsideClick:la(t.outsideClick,a.outsideClick),closeButton:Vo(NG,t.closeButton,a.closeButton)}}var aP="cart-drawer",ZIe="cart-drawer",GG={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 QIe(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function ebe(e){let o=e??{},t=GG;return{kickerBadge:mo(o.kickerBadge,t.kickerBadge),kickerText:mo(o.kickerText,t.kickerText),titleLead:mo(o.titleLead,t.titleLead),titleAccent:mo(o.titleAccent,t.titleAccent),subtitleEmpty:mo(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:mo(o.subtitleOne,t.subtitleOne),subtitleMany:mo(o.subtitleMany,t.subtitleMany),leadTimeValue:mo(o.leadTimeValue,t.leadTimeValue),shipsToFallback:mo(o.shipsToFallback,t.shipsToFallback),promises:Fc(o.promises,t.promises),emptyKicker:mo(o.emptyKicker,t.emptyKicker),emptyBody:mo(o.emptyBody,t.emptyBody)}}var $G=["right","left"],zG={..._l,width:520,tintOpacity:68};function obe(e){let o=e??{};return{...Wx(o,zG),placement:Vo($G,o.placement,"right"),height:"full",fullWidth:!1,autoOpen:la(o.autoOpen,!0)}}var nP="consent-banner",nbe="consent-banner";var UG=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],sbe="Layout",rP={layout:"bar"},jG=e=>UG.some(o=>o.value===e);function lbe(e){let o=mo((e??{}).layout,rP.layout);return{layout:jG(o)?o:rP.layout}}var ibe={..._l,placement:"bottom-center",fullWidth:!0,width:440,tintOpacity:0,outsideClick:!1,closeButton:"none"};var KG="consentWords",VG=["eyebrow","notice","accept","reject","choose"];function Gx(e){let o=(e??{})[KG];return typeof o=="string"&&VG.includes(o)?o:null}function $x(e){let o=e?.props;return o?Gx(o)!==null?!0:Object.values(o).some(t=>Array.isArray(t)&&t.some(a=>a&&typeof a=="object"&&"props"in a&&$x(a))):!1}var qG=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],fbe={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"},YG={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"},pbe={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 sP(e){let o={};for(let t of qG){let a=Zt(e[YG[t]]);a&&(o[t]=a)}return o}var lP={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},XG={lead:"We accept"},Dc={...XG,methods:[],size:"sm",align:"start",dataSource:Ww},Ct="site-footer";var hbe=Ct,xbe={desktop:!0,tablet:!0,mobile:!0},gbe={desktop:!1,tablet:!1,mobile:!1},zx=1,iP=6,Ibe=Array.from({length:iP-zx+1},(e,o)=>zx+o),Bc={desktop:6,tablet:3,mobile:2},JG={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}},Or=e=>Math.min(Math.max(Math.round(e),zx),iP);function bbe(e){if(typeof e=="number")return JG[Or(e)]??{desktop:Or(e),tablet:Or(e),mobile:Or(e)};if(e&&typeof e=="object"){let o=e;return{desktop:Or(o.desktop??Bc.desktop),tablet:Or(o.tablet??Bc.tablet),mobile:Or(o.mobile??Bc.mobile)}}return{...Bc}}var Ux="subscribe-popup",Pbe="subscribe-popup",ZG=[Ux,Ct,aP,nP];function cP(e){return ZG.includes(e)}var QG=["right","left"],e$={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
|
|
59
|
+
*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:St.autoOpen,autoOpenDelaySec:St.autoOpenDelaySec,formSlug:"",trigger:St.trigger,scrollPercent:St.scrollPercent,showOn:St.showOn,showOnPages:[],hideAfter:St.hideAfter,hideDays:St.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},Ue=mo,o$=la,fP=Fc;function dP(e,o){if(e==null)return o;let t=a=>a.trim()?a:"";if(typeof e=="string")return t(e);if(typeof e=="object"&&"text"in e){let a=e.text;return typeof a=="string"?t(a):""}return o}function t$(e,o){return Array.isArray(e)?fP(e,[]):o}function a$(e,o){return Array.isArray(e)?e.map(t=>{let a=t??{};return{label:Ue(a.label,""),value:Ue(a.value,"")}}).filter(t=>t.label||t.value):o}function Obe(e){let o=e??{},t=e$,a=tP(o);return{metaLabel:Ue(o.metaLabel,t.metaLabel),issueLabel:dP(o.issueLabel,t.issueLabel),issueNumber:dP(o.issueNumber,t.issueNumber),kicker:Ue(o.kicker,t.kicker),heading:Ue(o.heading,t.heading),deck:Ue(o.deck,t.deck),stats:a$(o.stats,t.stats),formLabel:Ue(o.formLabel,t.formLabel),formHeading:Ue(o.formHeading,t.formHeading),formIntro:Ue(o.formIntro,t.formIntro),firstNameLabel:Ue(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:Ue(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:Ue(o.emailLabel,t.emailLabel),emailPlaceholder:Ue(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:Ue(o.interestsLabel,t.interestsLabel),interests:fP(o.interests,t.interests),frequencyLabel:Ue(o.frequencyLabel,t.frequencyLabel),frequencies:t$(o.frequencies,t.frequencies),submitText:Ue(o.submitText,t.submitText),finePrint:Ue(o.finePrint,t.finePrint),dismissText:Ue(o.dismissText,t.dismissText),emailInvalidText:Ue(o.emailInvalidText,t.emailInvalidText),submitErrorText:Ue(o.submitErrorText,t.submitErrorText),successHeading:Ue(o.successHeading,t.successHeading),successBody:Ue(o.successBody,t.successBody),keepBrowsingText:Ue(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:a.autoOpen,autoOpenDelaySec:a.autoOpenDelaySec,trigger:a.trigger,scrollPercent:a.scrollPercent,showOn:a.showOn,showOnPages:a.showOnPages,hideAfter:a.hideAfter,hideDays:a.hideDays,formSide:Vo(QG,o.formSide,t.formSide),valuePanelOnPhone:o$(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:sP(o)}}function r$(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function n$(e){return{root:{props:{title:e,kind:Hx}},content:[],zones:{}}}function pP(e,o,t){return{slug:r$(o,t),title:e,kind:Vh,layout:n$(e)}}function Al(e){return e?.root?.props?.kind===Hx}function hP(e){let o=new Map;return(t="")=>{let a=KT(),r=o.get(t);if(!r||r.token===null&&a!==null){let n=a||!f$().usesBridgedToken?e(a??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:a}),n}return r.promise}}var m$=hP(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:a}=ze();return a.linkTargets?a.linkTargets(t):(await a.list(t)).map(r=>({id:r.id,slug:r.slug,label:r.label,layout:null}))}),h$=hP(async(e,o)=>await ze().blog?.posts(o?{siteId:o}:void 0)??[]);function x$({value:e,onChange:o,label:t="Link",data:a,filters:r}){let n=Mc(()=>Mx(a,r),[a,r]),s=i(t);return _r(mP,{label:s,icon:_r(l$,{}),children:_r(i$,{value:e,onChange:l=>o(l),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function xP(){let{siteId:e,capabilities:o}=p$(),{offersCommerce:t,hasBlog:a}=o,[r,n]=Nc([]),[s,l]=Nc([]),[d,c]=Nc([]),[f,u]=Nc(null),p=u$().chrome,x=p?.products?.list,g=p?.linkFilters,I=g?void 0:p?.linkRow,k=c$(!0);uP(()=>(k.current=!0,()=>{k.current=!1}),[]),uP(()=>{let b=!0;return m$(e??void 0).then(v=>b&&k.current&&n(v)),a&&h$(e??void 0).then(v=>b&&k.current&&l(v)),t&&x?.().then(v=>b&&k.current&&c(v)),t&&g?g.load(e).catch(()=>null).then(v=>b&&k.current&&u(()=>v)):u(null),()=>{b=!1}},[e,t,a,x,g]);let S=Mc(()=>({pages:r.filter(b=>!cP(b.slug)&&!Al(b.layout)).map(b=>({slug:b.slug,title:b.label,docs:[b.layout]})),popups:r.filter(b=>b.slug===Ux||Al(b.layout)).map(b=>({slug:b.slug,title:b.label})),posts:a?s.map(b=>({slug:b.slug,title:b.title})):[],products:t?d.map(b=>({href:b.href,name:b.name})):[],offers:{offersCommerce:t,offersService:a}}),[r,s,d,t,a]),C=Mc(()=>f?f(S.pages):null,[f,S]);return{data:S,filters:C,pages:r,offersCommerce:t,HostLinkRow:I}}function Ybe({label:e,icon:o,text:t,onTextChange:a,link:r,onLinkChange:n}){let{data:s,filters:l}=xP(),d=Mc(()=>Mx(s,l),[s,l]),c=i(e);return _r(mP,{label:c,icon:o,children:_r(d$,{label:c,text:t,onTextChange:a,link:r,onLinkChange:f=>n(f),kinds:d.kinds,rules:d.rules,filtersFor:d.filtersFor})})}function gP({value:e,onChange:o,label:t="Link"}){let a=typeof e=="string"?e:"",{data:r,filters:n,pages:s,offersCommerce:l,HostLinkRow:d}=xP(),c=r.pages.map(u=>yl(u.slug)),f=l&&d&&(a==="/"||c.includes(a))?d:void 0;return s$("div",{children:[_r(x$,{value:a,onChange:o,label:t,data:r,filters:n}),f&&_r(f,{value:a,onChange:o,pages:s})]})}import{UiIcon as n0}from"efficient-easel/draw/client";import{phoneKey as Rl,resolveViewValue as g$,tabletKey as Ll}from"efficient-easel/draw";import{SECTION_PAD_UNIT_KEY as I$,convertLength as b$,isLengthUnit as bP,sideLengthAt as y$,withLength as jx}from"efficient-easel/screen/lib/content/length-units";var ot={min:10,max:200,step:10};function S$(e,o,t,a=0){let r=j(e),n=j(o);if(r===void 0&&n===void 0)return;let s=Hc(t),l=d=>d===void 0?void 0:s==="px"?d:jx(d,s,a);return{paddingTop:l(r),paddingBottom:l(n)}}var Hc=e=>bP(e)?e:"px",w$="sf-pad-top-phone",C$="sf-pad-bottom-phone",v$="--sf-pad-t-phone",k$="--sf-pad-b-phone",T$="sf-pad-left-phone",P$="sf-pad-right-phone",E$="--sf-pad-l-phone",O$="--sf-pad-r-phone",_$="sf-pad-top-tablet",A$="sf-pad-bottom-tablet",R$="sf-pad-left-tablet",L$="sf-pad-right-tablet",F$="--sf-pad-t-tablet",B$="--sf-pad-b-tablet",D$="--sf-pad-l-tablet",N$="--sf-pad-r-tablet";function Gc(e){let o={desktop:e.unit,tablet:e.unitTablet,phone:e.unitPhone},t=S$(e.top,e.bottom,e.unit,e.frame),a=Kx({left:e.left,right:e.right},{top:e.topPhone,bottom:e.bottomPhone,left:e.leftPhone,right:e.rightPhone},{top:e.topTablet,bottom:e.bottomTablet,left:e.leftTablet,right:e.rightTablet},{top:e.top,bottom:e.bottom,left:e.left,right:e.right},o,e.frame);return t===void 0&&!a.classes.length&&!Object.keys(a.style).length?null:{className:["sf-section-pad",...a.classes].join(" "),style:{...t,...a.style}}}var M$=[["top","paddingTop",[_$,F$],[w$,v$]],["bottom","paddingBottom",[A$,B$],[C$,k$]],["left","paddingLeft",[R$,D$],[T$,E$]],["right","paddingRight",[L$,N$],[P$,O$]]];function oye(e,o,t){return!bP(o)||o==="px"?e:b$(e,"px",o,t,{min:0,max:ot.max,step:1})}function H$(e,o,t,a={},r=0){let n=(x,g)=>{if(g==="px")return`${x}px`;let I=jx(x,g,r);return typeof I=="number"?`${I}px`:I},s={n:e,[Ll("n")]:o,[Rl("n")]:t,u:a.desktop,[Ll("u")]:a.tablet,[Rl("u")]:a.phone},l=g$("spacing",e,o,t,gr()),d=(x,g,I)=>{let k=y$(s,{side:"n"},"u",x,"side");if(!k)return;let S=g!==null&&!I&&k.unit==="px"&&typeof l[g]=="number";return n(S?l[g]:k.value,k.unit)},c=d("desktop",null,!0),f={},u=d("tablet","tablet",o!==void 0);u!==void 0&&(o!==void 0||u!==c)&&(f.tablet=u);let p=d("mobile","phone",t!==void 0);return p!==void 0&&(t!==void 0||p!==c)&&(f.phone=p),f}function Kx(e,o,t={},a=e,r={},n=0){let s={},l={},d=[];for(let[c,f,...u]of M$){let p=j(e[c]),x=c==="top"||c==="bottom"?n:0;p!==void 0&&(s[f]=Hc(r.desktop)==="px"?p:jx(p,Hc(r.desktop),x));let g=H$(j(a[c]),j(t[c]),j(o[c]),r,x);for(let[I,[k,S]]of[["tablet",u[0]],["phone",u[1]]]){let C=g[I];C!==void 0&&(d.push(k),l[S]=C)}}return{classes:d,style:{...s,...l}}}function IP(e,o,t){let a=j(e)??t,r=j(o);return a===void 0?r:r===void 0?a:a+r}function $c(e,o={}){return{top:IP(e.padTop,e.sectionPaddingTop,o.top),bottom:IP(e.padBottom,e.sectionPaddingBottom,o.bottom)}}var Wc={top:"sectionPaddingTop",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft",right:"sectionPaddingRight"};function yP(e,o=Wc,t=!0,a=o===Wc?I$:void 0){let r={};a&&(e[a]!==void 0&&(r.unit=e[a]),e[Ll(a)]!==void 0&&(r.unitTablet=e[Ll(a)]),e[Rl(a)]!==void 0&&(r.unitPhone=e[Rl(a)]));for(let n of t?["top","bottom","left","right"]:["top","bottom"])r[n]=e[o[n]],r[`${n}Tablet`]=e[Ll(o[n])],r[`${n}Phone`]=e[Rl(o[n])];return r}function tye(e){return Gc(e)}function aye(e,o){let t=(a,r)=>typeof a!="number"?void 0:Hc(r)==="px"?a+o:a;return Gc({...e,frame:o,top:t(e.top,e.unit),bottom:t(e.bottom,e.unit),topTablet:t(e.topTablet,e.unitTablet),bottomTablet:t(e.bottomTablet,e.unitTablet),topPhone:t(e.topPhone,e.unitPhone),bottomPhone:t(e.bottomPhone,e.unitPhone)})}import{BUTTON_PAD_KEYS as zc,buttonBorderOf as W$,buttonFillOpacityOf as G$,buttonPadSidesOf as $$}from"efficient-easel/draw";import{BUTTON_PAD_UNIT_KEY as Vx}from"efficient-easel/screen/lib/content/length-units";var z$="px-6 py-4",U$=4,Uc=e=>{let o=new RegExp(`\\bp${e}-(?:\\[(\\d+)px\\]|(\\d+))`).exec(z$);if(!o)throw new Error(`BUTTON_PAD_CLASSES has no p${e}`);return o[1]!==void 0?Number(o[1]):Number(o[2])*U$},fye={top:Uc("y"),right:Uc("x"),bottom:Uc("y"),left:Uc("x")},wP="var(--btn)";function j$(e){let o=e.variant==="ghost",t=G$(e.buttonFillOpacity),a=W$(e.buttonBorder),r=Z(e.buttonColor);return{fillOpacity:t??(o?0:100),border:{width:a?.width??1,color:a?.color??r??(o?"currentColor":wP)},changed:t!==void 0||a!==void 0}}function pye(e){let o=j$(e);if(!o.changed)return null;let t=Z(e.buttonColor)??wP;return{background:o.fillOpacity===0?"transparent":o.fillOpacity===100?t:`color-mix(in srgb, ${t} ${o.fillOpacity}%, transparent)`,borderWidth:o.border.width,borderStyle:"solid",borderColor:o.border.color}}var K$="var(--sf-button-radius, 0)";function uye(e){let o=j(e.buttonCorners),t=Gt(e.buttonCornerSides);if(o===void 0&&t===null)return null;let a=o===void 0?K$:`${Math.max(0,o)}px`;return{borderRadius:t===null?a:Cr(a,t)}}function mye(e){let o=n=>$$({top:e[`${zc.top}${n}`],right:e[`${zc.right}${n}`],bottom:e[`${zc.bottom}${n}`],left:e[`${zc.left}${n}`]})??{},t={desktop:e[Vx],tablet:e[`${Vx}Tablet`],phone:e[`${Vx}Phone`]},{classes:a,style:r}=Kx(o(""),o("Phone"),o("Tablet"),void 0,t);return Object.keys(r).length?{className:a.join(" "),style:r}:null}var SP="upper";function CP(e,o,t){let a=e&&typeof e=="object"?e:{},r=Z(a.textStyle),n=r?Z(o?.find(f=>f?.id===r)?.name):void 0,s=r?/^(heading|body)-(\d+)$/.exec(r):null,l=r?n||(s?t.styleName({kind:s[1],n:Number(s[2])}):r):t.noStyle,{cases:d}=t,c=Z(a.case)??SP;return`${l} \xB7 ${d[c]??d[SP]}`}import{usePreviewParts as ej}from"efficient-easel/draw/client";import{encodePartId as oj}from"efficient-easel/draw";import{DEFAULT_EASEL_STRINGS as tj,useEaselStrings as aj}from"efficient-easel/strings";var jc="Stick to top",Ga={min:0,max:200,step:4,fallback:0},V$="sf-section-stick",gye="sf-scroll-over",q$="sf-section-stick-tablet-on",Y$="sf-section-stick-tablet-off",X$="sf-section-stick-phone-on",J$="sf-section-stick-phone-off",qx={desktop:"--sf-stick-distance",tablet:"--sf-stick-distance-tablet",phone:"--sf-stick-distance-phone"},Iye=new Set(["CategoryBar","DocTabs","IntroBleed","Contents"]);function Yx(e){let o=j(e)??Ga.fallback;return Math.min(Ga.max,Math.max(Ga.min,Math.round(o)))}function Xx(e){return typeof e.stickTopTablet=="boolean"}function Jx(e){return typeof e.stickTopPhone=="boolean"}function Kc(e){let o=e.stickTop===!0,t=Yx(e.stickTopDistance),a=Xx(e),r=a?e.stickTopTablet===!0:o,n=a?Yx(e.stickTopDistanceTablet):t,s=Jx(e),l=s?e.stickTopPhone===!0:r,d=s?Yx(e.stickTopDistancePhone):n;return{desktop:o,desktopDistance:t,tablet:r,tabletDistance:n,ownTablet:a,phone:l,phoneDistance:d,ownPhone:s}}function bye(e){let o=Kc(e);if(!o.desktop&&!o.tablet&&!o.phone)return null;let t=[V$],a={};return o.desktop&&(a[qx.desktop]=`${o.desktopDistance}px`),o.ownTablet&&(t.push(o.tablet?q$:Y$),o.tablet&&(a[qx.tablet]=`${o.tabletDistance}px`)),(o.ownPhone||o.ownTablet||o.phone!==o.desktop)&&(t.push(o.phone?X$:J$),o.phone&&(a[qx.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:a}}var Z$=["column","row","tabs","accordion"];var Q$={column:"Stacked",row:"One row",tabs:"Tabs",accordion:"Accordion"},vP={Flex:Z$,HeroGroup:["column","row"]},ez={Flex:"row",HeroGroup:"column"},oz={column:"flex-col",row:"flex-row",tabs:"flex-col",accordion:"flex-col"};function jn(e,o){return vP[e].includes(o)?o:ez[e]}function Sye(e,o){return oz[jn(e,o)]}function kP(e){return vP[e].map(o=>({label:Q$[o],value:o}))}var tz=["solid","dashed","dotted"],PP=["top","right","bottom","left"],Cye="sf-section-border",vye="sf-section-border-self",az=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,TP=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function Kn(e,{phone:o=!1,tablet:t=!1}={}){if(!e||typeof e!="object")return;let a=o?"-phone":t?"-tablet":"",r={};for(let n of PP){let s=TP(e[n])??TP(e.width);s!==void 0&&(r[`--sf-border-${n}-width${a}`]=s)}return typeof e.style=="string"&&tz.includes(e.style)&&(r[`--sf-border-style${a}`]=e.style),typeof e.color=="string"&&az.test(e.color)&&(r[`--sf-border-color${a}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function Zx(e){let{width:o,...t}=e;return typeof o!="number"?e:{...t,...Object.fromEntries(PP.map(a=>[a,t[a]??o]))}}function kye(e,o,t){let a=Kn(e),r=Kn(t,{tablet:!0}),n=Kn(t,{phone:!0})||Kn(o,{phone:!0})?{...Kn(t,{phone:!0}),...Kn(o,{phone:!0})}:void 0;return a||r||n?{...a,...r,...n}:void 0}var Vc="sf.gapContainer",ia={min:-32,max:64,step:2},AP={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},Vn={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},rz=new Set(["Events","GalleryB"]);function Rr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=ia.min)return o;if(typeof o=="string"){let a=AP[e]?.[o];if(typeof a=="number")return a}return typeof t=="number"&&Number.isFinite(t)?t:Vn[e]}var nz="sf-gap-overlap",sz="--sf-gap-overlap",RP="--sf-block-gap",lz="--sf-block-gap-rem",Ar={min:0,max:ia.max,step:ia.step};function Fl(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),Ar.min),Ar.max);return o-o%Ar.step}function Pye(e){let o=Fl(e);return o===null?{}:{[RP]:`${o}px`,[lz]:`${o/16}rem`}}var iz="--sf-block-gap-phone",dz="--sf-block-gap-phone-rem",cz="--sf-block-gap-on-phone",fz="max-view-tablet:[--sf-block-gap-on-phone:var(--sf-block-gap-phone)]";function Eye(e){let o=Fl(e);return o===null?{}:{[iz]:`${o}px`,[dz]:`${o/16}rem`}}function Oye(e){return Fl(e)===null?"":fz}var EP="sf-gap-zone",OP="--sf-gap-len";function qc(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=ia.min?!0:typeof o=="string"&&typeof AP[e]?.[o]=="number"}var _P="--sf-gap-len-phone",pz="--sf-gap-len-tablet",Bl={min:0,max:ia.max,step:ia.step};function $a(e){return typeof e=="number"&&Number.isFinite(e)&&e>=Bl.min}function Qx(e){return e/2}function eg(e,o,t){return $a(t)&&!qc(e,o)}function og(e,o,t,a,r){return $a(o)?o:eg(e,t,r)?r:Qx(Rr(e,t,a))}var uz={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function _ye(e,o,t,a,r){let n={...$a(a)?{[_P]:`${a}px`}:null,...$a(r)?{[pz]:`${r}px`}:null};if(!qc(e,o)){let l=`${Vn[e]}px`,d=rz.has(e)?`var(--sf-card-gap, ${l})`:l;return{className:` ${EP}`,style:{[OP]:`var(${RP}, ${d})`,[_P]:`var(${cz})`,...n}}}let s=Rr(e,o);return s>=0?{className:` ${EP}`,style:{[OP]:`${s}px`,...n}}:{className:` ${nz} ${uz[t]}`,style:{gap:"0px",[sz]:`${-s/2}px`}}}import{parseHexColor as mz}from"efficient-shell/format";var ko="var(--section-bg)",Dl="inherit";function Ut(e,o){return e===Dl?ko:e===void 0?o:Yc(e)}var hz=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function Yc(e){let o=zt(e);return o?na(o):e.replace(hz,"var(--site-$1")}var xz={"var(--section-bg)":"band","var(--site-surface)":"surface","var(--site-surface-2)":"surface2"};function tg(e,o,t){let a=Ut(e,o);if(!a||a==="transparent")return t.background.toLowerCase();let r=a.trim(),n=r.startsWith("#")?mz(r):null;if(n)return n.toLowerCase();let s=xz[r.replace(/\s+/g,"")];return(s?t[s]:t.background).toLowerCase()}var ag="transparent";function LP(e,o){let t=Ut(e,o);return!t||t===ag?"none":t===ko?"band":null}function FP(e,o,t=o){let a=n=>!n||n==="transparent",r=Ut(e,o);return r===t||a(r)&&a(t)}var BP=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],DP={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},qn="var(--wheel-stage)",Xc="transparent",Nl="inherit";function Dye(e,o){return Yc(rg(e,o))}function rg(e,o){return e===Nl?qn:e==null?o:e===!0?qn:e===!1?Xc:e}function Nye(e){return typeof e=="string"&&e!==Nl?Yc(e):qn}function Mye(e){return e!==Xc&&e!=="none"&&e!==""}function NP(e,o){return e===Nl||e===!0?!0:e==null?o===qn:!1}var MP="inherit",Jc="fixed",HP=e=>typeof e!="number"&&e!==Jc,gz="var(--sf-heading-max, 9999px)";function Wye(e,o,t,a){if(typeof e=="number")return`${e}px`;if(e===Jc)return o;let r=a?`var(--size-${a}, ${o})`:o;return t==="heading"?`min(${r}, ${gz})`:r}var ho={min:1e3,max:2e3,step:50,default:1600};function Iz(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var WP="--sf-site-width",ng=`var(${WP},${ho.default}px)`,$ye="100vw",zye=`max-w-[${ng}]`,Uye=`max-w-[${ho.default}px]`;function GP(e){return typeof e!="number"||!Number.isFinite(e)?ho.default:Math.round(Math.min(Math.max(e,ho.min),ho.max))}function jye(e){let o=GP(e);return o===ho.default?{}:{[WP]:`${o}px`}}var da={min:0,max:80,step:4,default:40},$P="--sf-site-gutter",Ml={min:0,max:24,step:4},bz="--sf-site-gutter-phone",yz="max-view-tablet:[--sf-site-gutter:var(--sf-site-gutter-phone)]!",vt=`var(${$P},${da.default}px)`,Sz=`px-[${vt}]`;var za={md:`min(24px,${vt})`,sm:`min(20px,${vt})`,frame:`min(24px,${vt})`,tabs:`min(16px,${vt})`},Kye=[[`max-view-desktop:px-[${za.md}]`,"max-view-desktop:px-6"],[`max-view-desktop:px-[${za.tabs}]`,"max-view-desktop:px-4"],[`max-[960px]:px-[${za.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${za.md}]`,"max-[900px]:px-6"],[`max-view-wide:px-[${za.md}]`,"max-view-wide:px-6"],[`max-view-tablet:px-[${za.sm}]`,"max-view-tablet:px-5"],[`max-view-wide:px-[${za.sm}]`,"max-view-wide:px-5"],[`max-[640px]:px-[${za.sm}]`,"max-[640px]:px-5"],[`view-wide:px-[${vt}]`,"view-wide:px-10"],[`max-view-tablet:px-[min(24px,${vt})]`,"max-view-tablet:px-6"],[`max-view-wide:-mx-[min(20px,${vt})]`,"max-view-wide:-mx-5"],[`max-view-tablet:-mx-[min(20px,${vt})]`,"max-view-tablet:-mx-5"],[`-mx-[${vt}]`,"-mx-10"],[Sz,"px-10"]];var wz="max-view-wide:px-[min(20px,var(--sf-site-gutter,40px))]",Vye="max-view-wide:[--sf-edge-g:min(20px,var(--sf-box-g,var(--sf-site-gutter,40px)))]",qye=`mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] ${wz}`,Yye="[--sf-box-g:var(--sf-site-gutter,40px)] [&>*]:[--sf-site-gutter:0px]";var Xye="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-view-desktop:px-[min(24px,var(--sf-site-gutter,40px))]";function Zc(e){return typeof e!="number"||!Number.isFinite(e)?da.default:Math.round(Math.min(Math.max(e,da.min),da.max))}function Jye(e){let o=Zc(e);return o===da.default?{}:{[$P]:`${o}px`}}function Qc(e){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,Ml.min),Ml.max))}function zP(e){return typeof e=="number"&&Number.isFinite(e)?GP(e):null}function Zye(e){let o=Qc(e);return o===null?{}:{[bz]:`${o}px`}}function Qye(e){return Qc(e)===null?"":yz}function ef(e){return Math.min(Ml.max,Zc(e))}var UP=ng,eSe=`max-w-[${UP}]`,oSe=`max-w-[min(var(--sf-page-cap,${ho.default}px),${ho.default}px)]`,jP="--sf-hero-cap",Cz=`var(${jP},none)`,tSe=`max-w-[${Cz}]`,vz="--sf-hero-bleed-m",kz="--sf-hero-bleed-w",Tz="--sf-hero-chrome-x",Pz="--sf-hero-chrome-cap";function aSe(e){return e===!0?{[jP]:UP,[vz]:"auto",[kz]:"100%",[Tz]:"24px",[Pz]:"none"}:{}}var sg=`calc(${ng} - ${vt}*2)`,rSe=`max-w-[${sg.replace(/ /g,"_")}]`;var Ez="--sf-chrome-cap",Oz=`var(${Ez},${sg})`,nSe="data-page-width";function sSe(e){return e==="full"?"full":null}function lSe(e){return e==="full"?null:Iz(e==="content"?sg:Oz)}function iSe(e){if(e==="full")return"full";if(e==="content")return"content"}var _z=["page","full"],KP=["full","page"],Lr={full:"Full",page:"Content"},lg="inherit",Az=e=>typeof e=="string"&&_z.includes(e),Rz=e=>e===lg;function Lz(e,o){return Rz(e.widthMode)?{mode:"full",inherited:!0}:Az(e.widthMode)?{mode:e.widthMode,inherited:!1}:{mode:o,inherited:o==="full"}}function fSe(e){return Lz(e,"page").mode==="full"}var Fz={CustomHTML:"rawMarkup",Hero:"hero",HeroSingle:"hero",IntroBleed:"scrollOver",SpecStrip:"background",Timeline:"background",Footprint:"background",Prose:"background",ParagraphsA:"background",Cards:"background",KeyFeatures:"background",Chart:"background",Mockup:"background",Testimonials:"background",TitleWithButtons:"background",Countdown:"background",DocMasthead:"background",DocBody:"background",DocMetaCards:"background",Gallery:"background",GalleryB:"background",Reviews:"background",ReviewForm:"background",Form:"background",AppointmentBooking:"background",FAQ:"background",Events:"background",Split:"both",Breadcrumb:"both",Collections:"both",CatalogFilterBar:"both",AlloyWheelsListing:"both",Banner:"contained",Stats:"contained",Logos:"contained",Divider:"contained",OrderSummary:"contained",DeliveryOptions:"contained",PaymentBadges:"contained",CheckoutCTA:"contained",Flex:"contained",Grid:"contained",ContactCards:"contained",MessagingCards:"contained",OpeningHours:"contained",RateTable:"contained",Manifesto:"contentColumn",SectionHeader:"contentFull",ProductHero:"contentFull",ProductGrid:"productGrid",TimelineTrack:"capped",DetailRows:"capped",FitmentTable:"capped",TyreSizes:"capped",TyreFitment:"capped",EuTyreLabel:"capped",BundleOffer:"capped",CompatibleTyres:"capped",RelatedProducts:"capped",ProcessSteps:"capped",StatsParagraph:"capped",Masthead:"capped",FeaturedCover:"capped",LongRead:"capped",Series:"capped",ContactLocations:"capped",FitmentFinder:"capped",SpecTable:"capped",Subscribe:"capped",SubscribeBlogs:"capped",ContactRouting:"capped",SubmitBuild:"capped"};function pSe(e){return Object.prototype.hasOwnProperty.call(Fz,e)}var io={background:"sectionBackgroundWidth",content:"sectionContentWidth",contentMax:"sectionContentMax"};function Bz(e){let o=zP(e[io.contentMax]),t=Yn(e[io.content])??(o===null?null:"content");return{background:Yn(e[io.background]),content:t,contentMax:t==="content"?o:null}}function uSe(e){let o=Bz(e);return o.content===null&&e.fullWidth===!0?{...o,content:"full"}:o}function mSe(e){return e.background!==null||e.content!==null}var hSe=e=>({[io.background]:e}),xSe=e=>e==="full"?{[io.content]:e,[io.contentMax]:void 0}:{[io.content]:e},gSe=e=>({[io.content]:"content",[io.contentMax]:e}),ISe=e=>e==="background"?{[io.background]:void 0}:{[io.content]:void 0,[io.contentMax]:void 0},VP="siteWidths",Dz=e=>e==="full"||e==="content";function Yn(e){return Dz(e)?e:null}function qP(e,o){return{[VP]:{background:Yn(e),content:Yn(o)}}}function bSe(e){let o=e.editor?.metadata?.[VP];return{background:Yn(o?.background),content:Yn(o?.content)}}import{jsx as Nz}from"react/jsx-runtime";import{createContext as Mz,useContext as CSe}from"react";var Hz=2,vSe=Hz+1,Wz=Mz(2);function YP({tier:e,children:o}){return Nz(Wz.Provider,{value:e,children:o})}import{useEaselSession as rj}from"efficient-easel/screen/lib/session-context";import{BOX_GAP as nj,describedAs as Ka,group as kt,iconOf as Gl,sharedStyleKinds as $l}from"efficient-easel/screen/lib/document/box-fields";import{VIEW_KEY_ACCESS as xg,onDesktopWords as Fr,phoneTwinFields as lf}from"efficient-easel/screen/lib/document/box-fields";import{createElement as tt}from"react";import{SettingsDefaultReset as Gz,SettingsField as $z}from"efficient-easel/panel";import{boxFieldBuilders as zz,describedAs as Uz,iconOf as jz,onDesktopWords as Kz}from"efficient-easel/screen/lib/document/box-fields";import{LENGTH_UNITS as Vz}from"efficient-easel/screen/lib/content/length-units";import{IconPicker as qz,Tooltip as Yz,useShellStrings as Xz}from"efficient-shell/ui";import{RotateIcon as Jz}from"efficient-easel/icons";var XP=e=>i(e),Zz=Vz,xo=zz(XP,{paddingUnits:Zz}),Ho=xo.slider,ca=xo.select,of=xo.Segmented,tf=xo.segmented,FSe=xo.alignmentField,BSe=xo.alignmentFields,DSe=xo.blockAlignmentField,NSe=xo.blockAlignmentFields,MSe=xo.boxJustifyField,HSe=xo.boxAlignField,WSe=xo.boxWrapField,JP=xo.directionField,af=xo.gapField,GSe=xo.placementField,$Se=xo.PlacementGridView,zSe=xo.positionFields,rf=xo.sidesPaddingFields;function ZP(e,o){return Ho("Angle",tt(Jz),Ht.min,Ht.max,Ht.step,e,"\xB0",o)}var Qz={width:"3.5rem",height:"2.75rem"};function ig({value:e}){return Xz().iconNames[e]??e}function dg(e,o,t){return tt(Yz,{content:t,className:"sf-pick-tip",children:tt("span",{className:"sf-pick"},tt("span",{className:"sf-pick-pic"},e),tt("span",{className:"sf-pick-cap"},o))})}function eU(e){let o=t=>t.label===void 0?tt(ig,{value:t.value}):i(t.label);return e.map(t=>({value:t.value,...t.label===void 0?{}:{label:i(t.hint??t.label)},icon:dg(t.picture,o(t),t.hint===void 0?o(t):i(t.hint))}))}function QP(e,o){return tt("span",{className:"sf-pick"},tt("span",{className:"sf-pick-pic"},e),tt("span",{className:"sf-pick-cap sf-pick-cap-closed"},o))}function e0(e,o,t,a,r={}){let n=d=>t.some(c=>c.value===d),s=d=>r.resolve?r.resolve(d):n(d)?d:void 0,l=t.map(d=>({value:d.value,...d.label===void 0?{}:{label:d.label},...d.showWhen?{showWhen:d.showWhen}:{}}));return{type:"custom",...Uz({},{type:"radio",label:e,options:l}),options:l,render:d=>{let{value:c,onChange:f,field:u}=d,p=u?.options,x=eU(t.filter(v=>!p||p.some(T=>T.value===v.value))),g="follows"in d,I=g?s(r.phoneRest?r.phoneRest(d.follows):d.follows)??a:void 0,k=u?.currentValue,S=s(c)??I??s(k)??a,C=c!=null&&c!=="",b=I===void 0?void 0:t.find(v=>v.value===I);return tt($z,{label:i(e),icon:jz(o),action:g?tt(Gz,{words:re()?.panel,label:i(e),changed:C,detail:b?.label!==void 0?Kz(XP,i(b.label),d.followsView):void 0,disabled:d.readOnly===!0,onReset:()=>f(void 0)}):void 0},tt(qz,{label:i(e),value:S,options:x,onChange:f,columns:r.columns,cell:r.cell??Qz,tooltips:!1,disabled:d.readOnly===!0}))}}}import{TEXT_CONTROL_KINDS as PCe,SCALAR_TEXT_CONTROLS as ECe}from"efficient-easel/draw";function Br(e,o){return i("{value} from {from}",{value:e,from:o})}function sj(){let{blockGap:e}=xe();return e===null?i("this container's own spacing"):Br(`${e}px`,i("Styles"))}function lj({inherited:e,onReset:o,label:t}){return w(To,{words:re()?.panel,label:i(t),changed:!e,detail:sj(),onReset:o})}function ij(e){return af({...nj,builtIn:Vn[e],resolve:(o,t)=>Rr(e,o,t?.siteGap),action:(o,t)=>w(lj,{inherited:!qc(e,o),onReset:()=>t(void 0),label:"Gap"}),mark:{[Vc]:e}})}function dj(e){return Je(jt("mobile",{[Vc]:e,type:"custom",render:o=>w(pj,{container:e,...o})}),v0)}function cj(e){return Je(jt("tablet",{[Vc]:e,type:"custom",render:o=>w(fj,{container:e,...o})}),v0)}var v0={not:{field:"gap",in:Array.from({length:-ia.min},(e,o)=>ia.min+o)}};function bCe(e){return{gap:jt("desktop",ij(e)),[Jn("gap")]:cj(e),[fa("gap")]:dj(e)}}function fj({container:e,...o}){let[t]=ua("gap"),{siteGap:a}=o.field??{},r=Math.max(Bl.min,Rr(e,t,a));return af({...Bl,builtIn:r,resolve:n=>$a(n)?n:r,action:(n,s)=>w(To,{words:re()?.panel,label:i("Gap"),changed:$a(n),detail:Fr(l=>i(l),`${r}px`),onReset:()=>s(void 0)})}).render(o)}function pj({container:e,...o}){let[t]=ua("gap"),{siteGap:a,siteGapPhone:r}=o.field??{},n=og(e,void 0,t,a,r);return af({...Bl,builtIn:n,resolve:s=>og(e,s,t,a,r),action:(s,l)=>w(To,{words:re()?.panel,label:i("Gap"),changed:$a(s),detail:Br(`${n}px`,eg(e,t,r)?i("Styles"):i("Desktop")),onReset:()=>l(void 0)})}).render(o)}function yCe(e){return JP({offered:kP(e),fallback:jn(e,void 0),resolve:o=>jn(e,o)})}function SCe(e,o){return xk(o?Zh(e,o):[],o)}function uj({inherited:e,onReset:o,label:t}){return w(To,{words:re()?.panel,label:i(t),changed:!e,detail:Br(i("Full"),i("the page")),onReset:o})}function Dr({value:e,onChange:o,label:t,placeholder:a,hint:r,multiline:n,hideable:s=!0,markup:l=!0}){let{text:d,hidden:c}=Va(e),f=Hl(null),u=Hl(null),p=C=>o(s?{text:C,hidden:c}:C),x=()=>o({text:d,hidden:!c}),g=s&&c,I=p0(),k=r?Ij(r)?w("span",{className:"sf-hint-while-typing",children:i(r)}):i(r):void 0,S=c?i("Show {label} on the slide",{label:i(t)}):i("Hide {label} on the slide",{label:i(t)});return w(no,{label:i(t),icon:w(_U,{}),htmlFor:I,className:g?"is-hidden":void 0,hint:k,action:s?w(hg,{content:S,children:w(w0,{"aria-pressed":c,"aria-label":S,onClick:x,children:c?w(n0,{name:"eye-off",size:14}):w(n0,{name:"eye",size:14})})}):void 0,children:ja("div",{className:"sf-copybox",children:[l&&w(gx,{target:n?u:f,value:d,onChange:p}),n?w("textarea",{id:I,ref:u,value:d,placeholder:a===void 0?void 0:i(a),onChange:C=>p(C.target.value)}):w("input",{id:I,ref:f,type:"text",value:d,placeholder:a===void 0?void 0:i(a),onChange:C=>p(C.target.value)})]})})}function wCe(e,o){return{...e,[dU]:o}}function CCe(e){let o=e[pa];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[pa]:{...o,offPage:!0}}}function ff(e){return!e||typeof e!="object"?!1:e[pa]?.offPage===!0}var k0="sfPanelOnly";function vCe(e){if(!e[pa])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[k0]:!0}}function T0(e){return!!e&&typeof e=="object"&&e[k0]===!0}function kCe(e){let o=e[pa];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[pa]:{...o,identifier:!0}}}function OCe(e,o){if(!e[pa])throw new Error("inOwnBox: the field holds no authored text");let{[JU]:t,...a}=e;return{...a,[Ix]:!0,render:o}}var mj=new Set(QU),df={type:"radio",options:[{value:!0},{value:!1}]},P0={text:{type:"object",objectFields:{text:{type:"text"},hidden:df}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:df}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},Nr=(e,o)=>{let t=Ka({...o,[pa]:e},{...P0[e.control],label:e.label});if(!mj.has(e.control))return t;let a=o.render;return{...C0(t,"authored-copy"),render:r=>w(hT,{name:r.name,children:a(r)})}},_Ce="Everything else on this block comes from the linked post. Unlink it to edit by hand.",hj={field:"source.slug",set:!0},ACe={not:hj},xj="Select a word, then press the highlighter.",gj=new Set([xj]),Ij=e=>gj.has(e);function RCe(e,o,t){return Nr({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t})})}function LCe(e,o,t){return Nr({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0})})}function FCe(e,o,t){return Nr({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function BCe(e,o,t){return Nr({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1})})}function DCe(e){return{type:"custom",[lU]:{label:e},...Ka({},{type:"text",label:e}),render:({value:o,onChange:t})=>w(gP,{value:sU(o),onChange:t,label:e})}}function NCe(e,o,t){return Nr({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var E0={Design:cU,Animation:pU};function MCe(e){return{type:"custom",render:()=>w(bj,{text:e})}}function bj({text:e}){return w("p",{className:"sf-note",children:i(e)})}function HCe(e){return ha(e)!==null&&e?.tabs!==void 0}var s0=new Map;function pf(e,o){let t=`${e}\0${o?o.join(""):""}`,a=s0.get(t)??{type:"custom",tabs:o,[u0]:{label:e,level:1},bucket:e,marker:!0,render:()=>w(ma,{})};return s0.set(t,a),a}var l0=new Map;function gg(e){let o=l0.get(e)??{type:"custom",[u0]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>w(ma,{})};return l0.set(e,o),o}function yj(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function O0(e,o){return yj(e)===o?e:{...e,marker:!0,fold:o,render:()=>w(ma,{})}}function _0(e){let o=e;if(o.marker===!0&&o.fold===void 0)return e;let{fold:t,...a}=e;return{...a,marker:!0,render:()=>w(ma,{})}}function Ig({title:e,children:o}){let[t,a]=Wl(()=>!cg.has(e));return w(LU,{title:e,open:t,onToggle:r=>{a(r),r?cg.delete(e):cg.add(e)},children:o})}var cg=new Set;function Sj({swatches:e,current:o,onPick:t,names:a}){let r=e.find(l=>l.toLowerCase()===o.toLowerCase()),n=r?a?.[r]:void 0,s=n?i(n):o;return ja("div",{className:"sf-swatches",children:[e.map(l=>{let d=a?.[l]?i(a[l]):l;return w(hg,{content:d,children:w($U,{color:l,selected:o.toLowerCase()===l.toLowerCase(),onClick:()=>t(l),"aria-label":d})},l)}),w("span",{className:"sf-swatch-hex",children:s})]})}function WCe(e,o,t=!1){return{type:"custom",render:({value:a,onChange:r})=>w(wj,{label:e,builtIn:o,followsBand:t,value:a,onChange:r})}}function wj({label:e,builtIn:o,followsBand:t,value:a,onChange:r}){let n=typeof a=="string"?a:void 0,{colors:s,n:l}=vg(),d={background:s.background,surface:s.surface,surface2:Id(s),band:QS(s)},c=t?ko:o,f=FP(n,o,c),u=tg(void 0,c,d),p=t?Dl:void 0,x=c===ko?i("the theme's section background"):i("Theme {n} background",{n:l}),g=Cj(n,o,s,l,d,r),I=Br(u.toUpperCase(),x),k=zt(n),S=k?Mn(k,s,l):null;return S?w(No,{label:i(e),icon:w(o0,{}),value:S.hex,caption:S.words,onChange:r,changed:!0,onReset:()=>r(p),resetTo:I,choices:g}):w(vl,{label:i(e),icon:w(o0,{}),value:f?"":tg(n,o,d),inherited:u,resetTo:I,onChange:r,onReset:()=>r(p),choices:g})}function Cj(e,o,t,a,r,n){let s=LP(e,o);return[{label:i("No fill"),color:"",selected:s==="none",onPick:()=>n(ag)},{label:`${i("Section band")} \xB7 ${r.band.toUpperCase()}`,color:r.band,selected:s==="band",onPick:()=>n(ko)},...Cg(zt(e)??"",t,a,n)]}function vj(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=t,n=NP(r,o);return w(no,{label:i(e),icon:w(pg,{}),changed:!n,action:w(To,{words:re()?.panel,label:i(e),changed:!n,detail:i("the theme's image stage"),onReset:()=>a(Nl)}),children:Sj({swatches:BP,current:n?qn:rg(r,o),onPick:a,names:DP})})}}}function uf(e=t=>t,o){return $l({_gSectionTheme:kt(MT),sectionAccent:{type:"custom",render:({value:t,onChange:a})=>w(UT,{value:e(t),onChange:a,followLabel:o})}})}function qo({min:e,max:o,step:t,value:a,onChange:r,suffix:n="",readout:s=!0,notch:l,ariaLabel:d,disabled:c=!1,placeholder:f,placeholderWord:u,onClear:p}){let x=l!==void 0&&Number.isFinite(l)&&l>=e&&l<=o;return w("div",{className:x?"sf-slider has-notch":"sf-slider",style:x?{"--sf-notch":(l-e)/(o-e)}:void 0,children:w(YU,{min:e,max:o,step:t,value:a,...a===null&&f!==void 0?{placeholderValue:f}:{},...u?{emptyLabel:i(u)}:{},suffix:n||void 0,showInput:s,label:d===void 0?void 0:i(d),disabled:c,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:g=>{g===null?p?.():g!==a&&r(g)}})})}function A0(e,o){let{min:t,max:a,step:r=1,unsetLabel:n,hint:s,restTrack:l,unsetMark:d,icon:c,unit:f="px"}=o;return{type:"custom",render:({value:u,onChange:p})=>{let x=typeof u=="number"?u:null,g=x===null;return w(no,{label:i(e),icon:c?Gl(c):void 0,value:g?d||n===void 0?void 0:i(n):`${x}${f}`,changed:!g,action:d?c0(d,{changed:!g,onReset:()=>p(null)}):w(To,{words:re()?.panel,label:i(e),changed:!g,onReset:()=>p(null)}),hint:typeof s=="string"?i(s):s,children:l?l({min:t,max:a,step:r,px:x,label:e,onChange:p}):qo({min:t,max:a,step:r,value:x??t,readout:!1,ariaLabel:e,onChange:p})})}}}var mf="Corners";function bg(e){return{type:"custom",render:({value:o,onChange:t})=>{let a=typeof o=="number"&&Number.isFinite(o)?o:null,r=a!==null;return w(no,{label:i(mf),icon:w(hU,{}),changed:r,action:c0(e.mark,{changed:r,onReset:()=>t(null)}),hint:e.hint,children:w(kj,{tier:e,px:a,onRadius:t})})}}}function ua(e){let o=Zn();return[o?.values?.[e],t=>o?.onChange(e,t)]}function R0(){return C0({type:"custom",render:()=>w(ZU,{})},"always")}function El(){let e=Zn();return o=>e?.onChangeMany(o)}function kj({tier:e,px:o,onRadius:t}){let a=e.useFollowed(),[r,n]=ua(e.sidesKey),s=Gt(r)??[...nc];return w(zU,{label:i(mf),value:s,corners:jv,onChange:l=>{let d=Gt(l)??[];n(d.length===nc.length?null:d)},radius:o,onRadiusChange:t,radiusMin:Qo,radiusMax:ir,radiusStep:e.step??1,radiusPlaceholder:String(a)})}function L0(){return R0()}function Tj({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:a}=xe(),r=typeof a=="number"?`${a}px`:i("not set");return w(To,{words:re()?.panel,label:i(e),changed:o,detail:a==null?i("the built-in corners"):Br(r,i("Styles")),onReset:t})}function Pj(){let{cornerRadiusPx:e}=xe();return typeof e=="number"?e:Qo}function Ej(){return bg({sidesKey:"sectionCornerSides",useFollowed:Pj,mark:w(Tj,{label:mf}),hint:Oj})}var Oj="Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here.";function hf(){return $l({_gShape:kt("Shape"),sectionCorners:Ej(),sectionCornerSides:L0(),...Xn("sectionBorder",Bj)})}var _j=()=>({width:i("Border width"),sides:{top:i("Border top"),right:i("Border right"),bottom:i("Border bottom"),left:i("Border left")},style:i("Border style"),styles:{solid:i("Solid"),dashed:i("Dashed"),dotted:i("Dotted")},color:i("Border color"),unit:"px"});function Aj(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function Rj(){let e;try{let o=ao(xe().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||qS.line}function Lj({value:e,onChange:o,placeholder:t,presets:a,sides:r=!0,styles:n=!0,above:s={}}){let l=e&&typeof e=="object"?e:{},[d,c]=Wl(()=>r?MU(l,s):!1),f=_j(),u=p=>Aj(r&&n?p:{width:p.width,color:p.color,...n?{style:p.style}:{}});return w(no,{label:i("Border"),icon:w(uU,{}),action:r?w(DU,{each:d,label:i("Each side"),onChange:c}):void 0,children:w(BU,{label:i("Border"),value:l,each:d,onChange:p=>o(u(p)),placeholder:t,presets:a,words:f,styles:n,max:20})})}function Fj({value:e,onChange:o,view:t}){let[a]=ua("sectionBorder"),[r]=ua(Jn("sectionBorder")),n=Rj(),s=d=>d&&typeof d=="object"?d:{},l=t==="phone"?{...Zx(s(a)),...Zx(s(r))}:t==="tablet"?s(a):{};return w(Lj,{value:e,onChange:o,placeholder:{sides:NU(l),style:l.style??"solid",color:l.color||n},presets:[n],above:l})}function Bj(e){return{type:"custom",render:({value:o,onChange:t})=>w(Fj,{value:o,onChange:t,view:e})}}function Xn(e,o){let t=(a,r)=>lf(e,o(a),xg)[r];return{[e]:t("desktop",e),[Jn(e)]:t("tablet",Jn(e)),[fa(e)]:t("phone",fa(e))}}function GCe(e){return{type:"custom",render:()=>w(Dj,{partKey:e})}}function Dj({partKey:e}){let[o]=ua("id"),[t]=ua("_partStyles"),{textStyles:a}=xe(),r=aj(),n=null;try{n=ej().select}catch{n=null}let s=t&&typeof t=="object"?t[e]:void 0,l=Array.isArray(a)?a:null;return w(RU,{name:i("Text"),preview:CP(s,l,{noStyle:i("No style"),styleName:r.textStyles.styleName,cases:(r.copy.panel??tj.copy.panel).cases}),onOpen:()=>{n&&typeof o=="string"&&n(oj(o,e))}})}function F0(e){let{cornerRadiusPx:o}=xe(),t=typeof o=="number"?o:e,a=null;try{let{appState:n,selectedItem:s}=cf(d=>d),l=s?.props?.id?String(s.props.id):void 0;a=l?eT(n?.data,l)?.props??null:null}catch{a=null}if(!a)return t;let r=a.sectionCorners;return Mh(r)?r:t}function Nj({label:e,changed:o=!1,onReset:t=()=>{}}){let a=F0(Qo);return w(To,{words:re()?.panel,label:i(e),changed:o,detail:Br(`${a}px`,i("the section")),onReset:t})}function Mj(){return w(ma,{children:i("Follows the section's Corners until you set a number here.")})}function Hj(){return bg({sidesKey:"cardCornerSides",useFollowed:()=>F0(Qo),mark:w(Nj,{label:mf}),hint:w(Mj,{})})}function Wj(){return{type:"custom",render:()=>w(Zv,{})}}function $Ce(){return{_gShape:kt("Shape"),cardCorners:Hj(),cardCornerSides:L0(),cardCornersApplyAll:Wj()}}function Gj(){return Ka({type:"custom",render:e=>w(zj,{...e})},{type:"select",label:Sr,options:[{value:"content",label:"Fit content"},{value:"equal",label:"Equal"},{value:[50],label:"Custom: the width of each block in %, the last block left out"}]})}function $j(e,o){let t=nh(e);if(t!=="custom")return i(rh.find(r=>r.value===t)?.label??"");let a=S0(Md(e,o),o);return a?[...a,100-a.reduce((r,n)=>r+n,0)].join(" / "):i("Custom")}function zj(e){let{value:o,onChange:t}=e,[a]=ua("content"),r=Array.isArray(a)?a.length:0,n="follows"in e,s=o!=null,l=s?o:n?e.follows:void 0,d=nh(l),c=r>=2&&r<=a0,f=()=>[...KU[r]??[]],u=Hl(null),p=S=>{let C=u.current;C&&JSON.stringify(S)===JSON.stringify(C.shares)?t(C.value):S&&t(S)},x=S=>{S===d||S==="custom"&&!c||t(S==="custom"?f():S)},g=i("The width bar works for 2 to {count} blocks.",{count:a0}),I=s&&(n||o!=="content"),k=qU().widths.hint(r,jU);return w(no,{label:i(Sr),icon:w(ug,{}),changed:I,hint:d!=="custom"?void 0:c?k:g,action:w(To,{words:re()?.panel,label:i(Sr),changed:I,disabled:e.readOnly===!0,detail:n?Fr(S=>i(S),$j(e.follows,r),e.followsView):i("Fit content"),onReset:()=>t(void 0)}),children:ja("div",{className:"sf-share-row",children:[w("div",{className:"sf-share-pick",children:w(y0,{label:i(Sr),value:d,options:rh.map(S=>({value:S.value,label:S.value==="custom"&&!c?g:i(S.label),icon:dg(w("span",{className:"sf-gallery-pic sf-share-pic",children:B0(S.weights).map((C,b)=>w("i",{style:{gridColumn:`span ${C}`}},b))}),i(S.label),S.value==="custom"&&!c?g:i(S.label))})),onChange:x,columns:3,cell:D0,tooltips:!1,disabled:e.readOnly===!0})}),d==="custom"&&c?w("div",{onFocus:()=>{u.current={value:o,shares:S0(Md(l,r),r)}},onBlur:()=>{u.current=null},children:w(VU,{label:i(Sr),count:r,value:Md(l,r),onChange:p,readOnly:e.readOnly===!0})}):null]})})}function B0(e){if(!e)return[3,4];let o=e.reduce((t,a)=>t+a,0);return e.map(t=>Math.round(t/o*12))}function zCe(){return ca(MC,w(SU,{}),dh,dh[0].value)}function UCe(){return jt("mobile",e0(Sr,w(ug,{}),_C.map(e=>({label:e.label,value:e.value,picture:w("span",{className:"sf-gallery-pic sf-share-pic",children:B0(e.weights).map((o,t)=>w("i",{style:{gridColumn:`span ${o}`}},t))})})),AC,{columns:2,cell:D0}))}var D0={width:"5.75rem",height:"3.25rem"};function jCe(){return lf("share",Gj(),xg)[Jn("share")]}function Uj(){return jt("mobile",Ho(sh,w(m0,{}),Wd,OC,1,Wd,"",{clear:{phoneFollows:!1,hint:Wd}}))}var i0={read:e=>e.phoneRow,write:(e,o,t)=>({phoneRow:t}),fieldKey:()=>"phoneRow",ownField:!0};function KCe(){let e=Ho(sh,w(m0,{}),ih,RC,1,ih,"",{clear:{emptyLabel:"Auto"}}),o=lf("columns",e,{...i0,tablet:xg.tablet}),t=lf("columns",e,i0,{phoneRow:Uj()});return{...o,phoneRow:t.phoneRow}}function VCe(e,o,t,a,r,n){return{type:"custom",render:({value:s,onChange:l})=>w(no,{label:i(e),icon:w(nx,{noun:n}),action:w(To,{words:re()?.panel,label:i(e),changed:!HP(s),detail:i("the Text style in Styles"),onReset:()=>l(MP),defaultAction:{onPress:()=>l(Jc),title:i("Keep this section's own built-in size"),icon:w(mU,{})}}),children:qo({min:o,max:t,step:a,value:typeof s=="number"?s:r,suffix:"px",ariaLabel:e,onChange:l})})}}function qCe(){return{_gCellWidth:kt("Cell width"),gridSpan:ca("Positions",w(ug,{}),[{label:"Auto",value:""},...Array.from({length:fc},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function at(){let e=null,o=null;try{e=f0(yg),o=cf(t=>t).selectedItem}catch{o=null}return e??o?.props??{}}var yg=aU(null);function jj({min:e,max:o,step:t,px:a,label:r,onChange:n,desktopKey:s,fallback:l}){let d=at()[s],c=kc(void 0,d,l);return w(ma,{children:qo({min:e,max:o,step:t,value:kc(a,d,l),readout:!1,ariaLabel:r,notch:c,onChange:n})})}function Kj({label:e,desktopKey:o,fallback:t,unit:a="px",changed:r=!1,onReset:n=()=>{}}){let s=at()[o],l=kc(void 0,s,t);return w(To,{words:re()?.panel,label:i(e),changed:r,detail:Fr(d=>i(d),`${l}${a}`),onReset:n})}function xf(e){return A0(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unit:e.unit,unsetLabel:"Follows Desktop",unsetMark:w(Kj,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback,unit:e.unit}),restTrack:o=>w(jj,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}var Vj={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},qj={Top:b0,Bottom:x0,Left:g0,Right:I0},Yj=e=>{let o=qj[e];return w(o,{})};function YCe(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",a=e.group!==!1,r=k=>Vj[k],n=k=>Ho(r("Top"),w(b0,{}),ot.min,ot.max,ot.step,k,"px"),s=(k,S,C,b=ot)=>jt("mobile",xf({label:r(k),icon:Yj(k),desktopKey:S,min:b.min,max:b.max,step:b.step,fallback:C})),l=e.top??ot.min,d=e.bottom??ot.min,c="sectionPaddingLeft",f="sectionPaddingRight",u=e.sideBounds??ot,p=e.side??u.min,x=e.sidePhone??p,g=e.phone===!0,I=k=>g?jt("desktop",k):k;return $l({...a?{_gSpacing:kt("Padding")}:{},[o]:I(n(l)),...g?{[fa(o)]:s("Top",o,l)}:{},...e.only==="top"?{}:{[t]:I(Ho(r("Bottom"),w(x0,{}),ot.min,ot.max,ot.step,d,"px")),...g?{[fa(t)]:s("Bottom",t,d)}:{}},...e.sides?{[c]:I(Ho(r("Left"),w(g0,{}),u.min,u.max,u.step,p,"px")),...g?{[fa(c)]:s("Left",c,x,u)}:{},[f]:I(Ho(r("Right"),w(I0,{}),u.min,u.max,u.step,p,"px")),...g?{[fa(f)]:s("Right",f,x,u)}:{}}:{}})}function XCe(e,o){let t=Object.fromEntries(Object.entries(o).map(([n,s])=>[n,n in e&&ha(s)?e[n]:s])),a={},r=!1;for(let[n,s]of Object.entries(e)){if(n in o){r||Object.assign(a,t),r=!0;continue}a[n]=s}return r||Object.assign(a,t),a}var nf="Width";function gf(e,o=KP,t=!0){let a=o.map(r=>({label:Lr[r],value:r}));return $l({...t?{_gWidth:kt(nf)}:{},widthMode:{type:"custom",render:({onChange:r,field:n})=>w(no,{label:i(nf),icon:w(AU,{}),action:t?w(uj,{inherited:n?.inherited??!1,onReset:()=>r(lg),label:nf}):void 0,children:of({options:a,value:n?.currentValue||e,onChange:r,ariaLabel:nf})})}})}function If(){let e=(a,r)=>({type:"custom",render:({value:n,onChange:s})=>w(Xj,{value:n,onChange:s,view:a,badge:r})}),o=a=>({type:"custom",render:({value:r,onChange:n,field:s})=>w(Zj,{value:r,onChange:n,unit:s?.unit,view:a})}),t=a=>{let r=tf("Unit",w(h0,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");if(a==="desktop")return r;let n=r.render;return{...r,render:s=>w(Qj,{props:s,draw:n,view:a})}};return $l({_gHeight:kt(vn),...Xn("sectionHeightMode",a=>a==="desktop"?e(a):e(a,r=>w(eK,{view:a,onClear:()=>r(void 0)}))),...Xn("sectionHeightValue",o),...Xn("sectionHeightUnit",t)})}function Xj({value:e,onChange:o,view:t,badge:a}){let r=at(),n=l=>["auto","fixed","screen"].includes(l),s=bf(t,r)?.mode??"auto";return w(no,{label:vn,icon:Gl(w(CU,{})),action:a?a(o):void 0,children:of({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:n(e)?e:s,onChange:o,ariaLabel:vn})})}function N0(e,o){return e==="phone"&&Sd(o)?gw(o):hw(o)}function bf(e,o){return e==="desktop"||(e==="tablet"?Sd(o):xw(o))?null:N0(e,o)}var Ua=(e,o)=>e==="tablet"?Jn(o):fa(o);function Jj(e,o,t,a){let r=bf(e,o);return!r||e==="desktop"?null:a===void 0?{}:{[Ua(e,"sectionHeightMode")]:r.mode,...r.mode==="fixed"?{[Ua(e,"sectionHeightUnit")]:r.unit}:{},...t==="sectionHeightUnit"?{[Ua(e,"sectionHeightValue")]:r.value}:{},[Ua(e,t)]:a}}function M0(e,o,t){let a=Zn(),r=bf(e,at());return!a||!r?{followed:null,write:t}:{followed:r,write:n=>a.onChangeMany(s=>{let l=Jj(e,s,o,n);return l===null?{[e==="desktop"?o:Ua(e,o)]:n}:Object.keys(l).length?l:null})}}function Zj({value:e,onChange:o,unit:t,view:a}){let{followed:r,write:n}=M0(a,"sectionHeightValue",o),s=(r?r.unit:t)==="%"?"%":"px",l=s==="%"?mw:uw;return w("div",{className:"sf-field",children:qo({min:l.min,max:l.max,step:l.step,value:r?null:typeof e=="number"?e:l.fallback,...r?{placeholder:r.value}:{},suffix:s,ariaLabel:vn,onChange:n})})}function Qj({props:e,draw:o,view:t}){let{followed:a,write:r}=M0(t,"sectionHeightUnit",e.onChange);return o({...e,...a?{value:void 0,storedValue:void 0,follows:a.unit}:{},onChange:r})}function eK({view:e,onClear:o}){let t=at(),a=bf(e,t)===null,r=e==="phone"&&Sd(t),n=N0(e,t),s=Fr(l=>i(l),n.mode==="auto"?i("Auto"):`${n.value}${n.unit}`,r?"tablet":"desktop");return w(To,{words:re()?.panel,label:i(vn),changed:a,detail:s,onReset:o})}function Sg(){let e=t=>({type:"custom",render:({value:a,onChange:r,id:n,name:s})=>w(aK,{value:a,onChange:r,labelId:`${n??s??"stickTop"}-label`,view:t})}),o=t=>({type:"custom",render:({value:a,onChange:r})=>w(oK,{value:a,onChange:r,view:t})});return{_gStick:kt(jc),...Xn("stickTop",e),...Xn("stickTopDistance",o)}}function oK({value:e,onChange:o,view:t}){let a=Zn(),r=at(),n=t==="desktop"||wg(t,r)?null:H0(t,Kc(r)),s=n&&a?l=>a.onChangeMany(d=>{let c=tK(t,d,l);return c===null?{[Ua(t,"stickTopDistance")]:l}:Object.keys(c).length?c:null}):o;return w("div",{className:"sf-field",children:qo({min:Ga.min,max:Ga.max,step:Ga.step,value:n?null:typeof e=="number"?e:Ga.fallback,...n?{placeholder:n.distance}:{},suffix:"px",ariaLabel:i("Distance from top"),onChange:s})})}function wg(e,o){return e==="tablet"?Xx(o):Jx(o)}function H0(e,o){return e==="phone"?{on:o.tablet,distance:o.tabletDistance}:{on:o.desktop,distance:o.desktopDistance}}function tK(e,o,t){return e==="desktop"||wg(e,o)?null:t===void 0?{}:{[Ua(e,"stickTop")]:!0,[Ua(e,"stickTopDistance")]:t}}function aK({value:e,onChange:o,labelId:t,view:a}){let r=at(),n=Kc(r),s=a==="phone"?n.phone:a==="tablet"?n.tablet:e===!0,l=a==="phone"&&n.ownTablet,d=a==="desktop"?null:H0(a,n),c=d?.on?`${d.distance}px`:i("Off");return w(no,{label:i(jc),labelId:t,icon:Gl(w(PU,{})),action:ja(ma,{children:[a!=="desktop"?w(To,{words:re()?.panel,label:i(jc),changed:wg(a,r),detail:Fr(f=>i(f),c,l?"tablet":"desktop"),onReset:()=>o(void 0)}):null,w(mg,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var d0="e.g. about";function yf(){return{_gAnchor:kt("Anchor"),anchor:Nr({control:"plainText",label:"Name",placeholder:d0},{type:"custom",render:({value:e,onChange:o})=>w(Dk,{value:e,onChange:o,nameBox:(t,a)=>w(Dr,{value:t,onChange:a,label:"Name",placeholder:d0,hideable:!1,markup:!1})})})}}function JCe(e,o,t){return{type:"custom",render:({value:a,onChange:r,id:n,name:s})=>{let l=`${n??s??e}-datetime`,d=Date.parse(typeof a=="string"?a:"");return w(no,{label:i(e),icon:o,htmlFor:l,hint:t===void 0?void 0:i(t),children:w(UU,{id:l,value:Number.isFinite(d)?new Date(d):null,onChange:c=>r(c?c.toISOString():"")})})}}}function rK(e,o,t,a){return{type:"custom",...Ka({},{...df,label:e}),render:r=>{let{value:n,onChange:s,id:l,name:d}=r,c="follows"in r,f=r,u=typeof n=="boolean",p=typeof f.follows=="boolean"?f.follows:o,x=u?n:c?p:o,g=`${l??d??e}-label`,I=f.readOnly===!0,k=w(mg,{checked:x,onChange:s,disabled:I,ariaLabelledBy:g});return w(no,{label:i(e),labelId:g,icon:t,hint:a===void 0?void 0:i(a),action:c?ja(ma,{children:[w(To,{words:re()?.panel,label:i(e),changed:u,detail:f.followsNoView?i(p?"On":"Off"):Fr(S=>i(S),i(p?"On":"Off"),f.followsView),disabled:I,onReset:()=>s(void 0)}),k]}):k})}}}function W0(){return{type:"custom",render:({value:e,onChange:o,id:t,name:a})=>{let r=`${String(t??a??"pageBackground")}-colour`;return w(nK,{label:"Background",icon:w(TU,{}),id:r,value:e,shown:ix(e),onChange:o})}}}function ZCe(e,o,t){return{type:"custom",render:({value:a,onChange:r})=>w(No,{label:i(e),icon:t,value:a||o,onChange:r})}}function nK({label:e,icon:o,id:t,value:a,shown:r,onChange:n}){let{colors:s,n:l}=vg(),d=zt(a),c=d?Mn(d,s,l):null;return w(No,{label:i(e),icon:o,id:t,value:c?c.hex:r,caption:c?.words,onChange:n,choices:Cg(d??"",s,l,n)})}function QCe(){return{type:"custom",render:e=>{let{value:o,onChange:t}=e,a=e;return w(sK,{value:typeof o=="string"?o:"",onChange:t,twin:"follows"in e?{follows:a.follows,view:a.followsView}:void 0})}}}function Cg(e,o,t,a){let r=bc(e);return zk(o,t).map(n=>({label:n.label,color:n.value,selected:r===n.name,onPick:()=>a(n.name)}))}function sK({value:e,onChange:o,twin:t}){let{colors:a,n:r}=vg(),n=a.background,s=Br(n.toUpperCase(),i("Theme {n} background",{n:r})),l=bc(e),d=l?Mn(l,a,r):null,c=Cg(e,a,r,o),f=t?()=>o(void 0):()=>o(""),u=n,p=s;if(t){let x=bc(t.follows),g=Ic(t.follows),I=x?Mn(x,a,r):g?{hex:g,words:g.toUpperCase()}:null;u=I?.hex??n,p=Fr(k=>i(k),I?I.words:s,t.view)}return d?w(No,{label:i("Fill"),icon:w(pg,{}),value:d.hex,caption:d.words,onChange:o,changed:!0,onReset:f,resetTo:p,choices:c}):w(vl,{label:i("Fill"),icon:w(pg,{}),value:e,inherited:u,resetTo:p,onChange:o,onReset:f,choices:c})}function lK(e,o,t){if((e?.content??[]).some(n=>n?.props?.id===o))return yt(t);let a=oT(e,o);if(a.length===0)return null;let r=yt(Nx(t));if(r!==null)return r;for(let n=a.length-1;n>0;n-=1){let s=yt(Nx(a[n].sectionAccent));if(s!==null)return s}return yt(a[0].sectionAccent)}function vg(){let e=ao(xe().theme),[o]=ua("sectionAccent"),t=null;try{let{appState:r,selectedItem:n}=cf(l=>l),s=n?.props?.id?String(n.props.id):void 0;t=s?lK(r?.data,s,o):null}catch{t=null}let a=t!==null&&e.themes[t]?t:e.selected;return{colors:Bo(e.themes[a]),n:a+1}}var iK=[{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 dK({label:e,value:o,onChange:t,points:a=iK}){let r=a.map(n=>({...n,label:i(n.label),...n.title?{title:i(n.title)}:null}));return w(GU,{label:i(e),value:o,points:r,onChange:t})}function eve(){return R0()}var G0={top:w(bU,{}),right:w(IU,{}),bottom:w(xU,{}),left:w(gU,{})};function $0(e,o,t,a,r,n,s){let l=u=>o.find(p=>p.value===u),d=u=>({value:u,label:"",disabled:!0,title:a}),c=u=>{let p=o.find(g=>g.cell===u);if(!p)return d(`missing-${u}`);let x=n?.[u];return x?{value:p.value,label:p.label,icon:x}:{value:p.value,label:p.label}},f=[d("corner-top-left"),c("top"),d("corner-top-right"),c("left"),d("centre"),c("right"),d("corner-bottom-left"),c("bottom"),d("corner-bottom-right")];return{type:"custom",render:({value:u,onChange:p})=>{let x=o.some(g=>g.value===u)?u:t;return w(no,{label:i(e),icon:r,value:l(x)?.label?i(l(x).label):s?i(s):"",children:dK({label:e,value:x,onChange:p,points:f})})}}}function ove(e,o,t){return{type:"custom",options:o,render:({value:a,onChange:r,field:n})=>w(kT,{label:e,options:(n.options??o).map(s=>({...s,label:i(s.label)})),value:Array.isArray(a)?a:[],onChange:r,...t?{emptyLabel:i(t)}:{}})}}function tve(e,o={}){return{type:"custom",render:({value:t,onChange:a})=>{let r={value:t,onChange:a,...o};return w(e,{...r})}}}var ave=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function rve(e,o,t){let a=Object.keys(Oh).map(r=>({label:Oh[r],value:r,picture:t[r]}));return{type:"custom",...Ka({},{type:"radio",label:e,options:a.map(r=>({value:r.value,label:r.label}))}),render:({onChange:r})=>w(fK,{label:e,icon:o,options:a,onChange:r})}}function cK(e,o,t){let a=vv(e,o,t);if(a!==void 0)return a==="save-makes-frame"?i("A frame is made from this video when you save the page."):a==="starts-dark"?i("This video starts dark, so no frame was made. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="outside"?i("This video is on another website, so no frame can be made. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="unsupported"?i("This video's file type gives no frame. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="failed"?i("No frame could be made from this video. It is tried again the next time you save the page. The slide shows its background colour while the video loads."):a==="image-no-frame"?i("The slide shows your Image while the video loads, because this video has no frame."):void 0;let r=Cv(e);return r==="frame-missing-image"?i("This video has no frame yet. The slide shows its image until one is made."):r==="frame-missing-surface"?i("This video has no frame yet. The slide shows its background colour until one is made."):r==="image-missing-frame"?i("No image yet. The slide shows the video's frame until you choose one."):r==="image-missing-surface"?i("No image yet. The slide shows its background colour until you choose one."):void 0}function fK({label:e,icon:o,options:t,onChange:a}){let r=Zn(),n=r?.values??{},s=ul(n),l=f0(nU),d=rc(l?.docId??null),c=null;try{c=cf(u=>u.appState.data)}catch{c=null}let f=zv(r?.id,c,d);return w(no,{label:i(e),icon:Gl(o),hint:cK(n,f,l?.hasUnsavedEdits??!1),children:of({options:t,value:s,onChange:a,ariaLabel:e})})}function nve(e,o,t,a={}){let r={type:"custom",[iU]:!0,render:({value:n,onChange:s,name:l})=>w(CT,{value:n||"",onChange:s,fieldKey:l,label:e,accept:o,placeholder:t,focusKey:a.focus,focusWhen:a.focusWhen,frameKey:a.frame}),...a.focus?{focusKey:a.focus}:{},...a.focusWhen?{focusWhen:a.focusWhen}:{}};return a.focus?jt("each",r):r}function pK(e){let o=i(e.status??"");return e.ok&&typeof e.lat=="number"&&typeof e.lng=="number"?`${o} \xB7 ${e.lat.toFixed(4)}, ${e.lng.toFixed(4)}`:o}function sve({value:e,onChange:o,label:t}){let a=e||{},r=Zn(),n=r?r.values!==r.node.props:!0,s=!!a.pending&&n,l=!!a.pending&&!n,d=!!ze(rj()).geocode,c=p0(),f=(u,p)=>o({...a,[u]:p??void 0});return ja(ma,{children:[w(no,{label:i(t),icon:w(t0,{}),action:d?w(hg,{content:i("Find from the address (OpenStreetMap)"),children:w(w0,{"aria-label":i("Find from the address"),"aria-busy":s||void 0,disabled:s,onClick:()=>o({...a,pending:!0,ok:!1,status:"Finding\u2026"}),children:w(EU,{})})}):void 0,children:d&&a.status?w(Nk,{compact:!0,oneLine:!0,spaced:!1,status:s?"busy":a.ok&&!l?"found":"notfound",statusText:s?i("Finding\u2026"):l?i(mx):i(a.status),hint:pK(a)}):null}),w(no,{label:i("Enter by hand"),labelId:c,icon:w(yU,{}),action:w(mg,{checked:!!a.manual,onChange:u=>o({...a,manual:u}),ariaLabelledBy:c})}),a.manual&&w(no,{label:i("Latitude, longitude"),icon:w(t0,{}),children:ja("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,width:"100%",minWidth:0},children:[w(r0,{value:typeof a.lat=="number"?a.lat:null,onChange:u=>f("lat",u),min:-90,max:90,step:1e-4,placeholder:i("Latitude")}),w(r0,{value:typeof a.lng=="number"?a.lng:null,onChange:u=>f("lng",u),min:-180,max:180,step:1e-4,placeholder:i("Longitude")})]})})]})}function uK(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function mK(e,o,t){let a=e.map(r=>({text:r?.text??""}));return o===null||o<0||o>=e.length?a:a.map((r,n)=>n===o?{text:t}:r)}function hK(e,o,t){if(t===null||t>=o.length)return null;for(let a=0;a<t;a+=1)if(e[a]!==o[a])return null;return e[t]!==o[t]&&o.includes(e[t])||e[t]!==o[t]&&o.length!==e.length?null:t}var kg={label:"Ticker items",icon:w(kU,{})};function lve(e,o,t,a){return{type:"custom",[pa]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:a},...Ka({},{...P0.textList,label:e}),render:({value:r,onChange:n})=>w(Tg,{label:e,icon:Gl(o),items:Array.isArray(r)?r:[],placeholder:t,onChange:n,markup:a==="markup"})}}function Tg({label:e,icon:o,items:t,placeholder:a,onChange:r,markup:n=!1}){let s=Hl(null),[l,d]=Wl(null),c=u=>u.map(p=>({text:p?.text??""})),f=u=>{let p=hK(t,u,l);p===null&&(s.current=null),d(p),r(c(u))};return w(HU,{label:i(e),icon:o,noun:i("item"),items:t,onChange:f,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?w(gx,{target:s,value:uK(t,l),onChange:u=>r(mK(t,l??-1,u)),disabled:l===null,label:l===null?i("Formatting \u2014 click a row first"):i("Formatting \u2014 row {n}",{n:l+1})}):void 0,renderRow:(u,p,x)=>w("input",{type:"text",className:n&&l===p?"sf-list-marking":void 0,value:u?.text??"",placeholder:i(a),"aria-label":i("{label} {n}",{label:i(e),n:p+1}),onChange:g=>x({text:g.target.value}),onFocus:g=>{s.current=g.currentTarget,d(p)}})})}function z0(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Nr({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:a,onChange:r})=>w(Dr,{value:a,onChange:r,label:i("{label} \u2014 row {n}",{label:i(e.label),n:o+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function U0(e){return{_gCards:kt("Cards"),coverIndex:ca("Cover image",w(vU,{}),bT,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:vj("Image background",Xc),cardImage:IK()}}function j0(){return{outline:ca("Card outline",w(OU,{}),IT,gT),indexBadge:ca("Card number",w(h0,{}),wx,Sx),showBadge:rK("Product badge",!0,w(nx,{noun:"tag"}))}}function K0(e){let o=e?.defaults??{showCardSizes:!0,showCardBuy:!0,showCardPage:!0},t=r=>({...df,label:sf.find(n=>n.id===r).label}),a=r=>Ka(XU(fg),t(r));return{_gShowOnCard:kt("Show on a card"),[fg]:Ka({type:"custom",render:()=>w(xK,{rest:{showCardPrice:!0,showCardFinishes:!0,...o}})},t(fg)),showCardFinishes:a("showCardFinishes"),showCardSizes:a("showCardSizes"),showCardBuy:a("showCardBuy"),showCardPage:a("showCardPage")}}var fg="showCardPrice",sf=[{id:"showCardPrice",label:"Price"},{id:"showCardFinishes",label:"Finish swatches"},{id:"showCardSizes",label:"Sizes"},{id:"showCardBuy",label:"Buy button"},{id:"showCardPage",label:"Page button"}];function xK({rest:e}){let o=at(),t=El(),a=s=>typeof o[s]=="boolean"?o[s]:void 0,r=s=>a(s)??e[s],n=sf.some(({id:s})=>a(s)!==void 0&&a(s)!==e[s]);return w(Qn,{parts:sf,changed:n,shown:r,onPress:(s,l)=>t({[s]:l}),onReset:()=>t(Object.fromEntries(sf.map(({id:s})=>[s,void 0])))})}function ive(e,o="display"){let t=fa(o);return{[o]:jt("desktop",{type:"custom",render:({value:a,onChange:r})=>w(Qn,{parts:e,changed:nT(a),shown:n=>wc(a,n),onPress:(n,s)=>r(lT(a,n,s)),onReset:()=>r(void 0)})}),[t]:jt("mobile",{type:"custom",render:({value:a,onChange:r})=>w(gK,{parts:e,desktopKey:o,value:a,onChange:r})})}}function Qn({parts:e,changed:o,shown:t,onPress:a,onReset:r,detail:n,disabledReason:s}){let l=i("Display");return w(no,{label:l,icon:w(fU,{}),changed:o,action:w(To,{words:re()?.panel,label:l,changed:o,detail:n,onReset:r}),children:w(WU,{label:l,items:e.map(d=>({id:d.id,label:i(d.label),shown:t(d.id),...s?{disabled:!0,disabledReason:i(s)}:{}})),onChange:a})})}function gK({parts:e,desktopKey:o,value:t,onChange:a}){let r=at()[o];return w(Qn,{parts:e,changed:sT(t),shown:n=>ux(r,t,n),onPress:(n,s)=>a(iT(t,n,s)),onReset:()=>a(Tc),detail:i("the same as Desktop")})}function IK(){return A0("Card image",{min:Qo,max:ir,step:ck,hint:"Rounds the picture. The card's own corner is in Styles."})}function dve(){return bg({sidesKey:"cornerSides",step:fk,useFollowed:()=>Qo,mark:w(bK,{label:pk}),hint:i("Rounds the picture. Left alone it stays square.")})}function bK({label:e,changed:o=!1,onReset:t=()=>{}}){return w(To,{words:re()?.panel,label:i(e),changed:o,onReset:t})}function cve(){return{type:"custom",render:({value:e,onChange:o})=>w(CK,{value:typeof e=="string"?e:"",onChange:o})}}function yK({layout:e,width:o}){let t=tx(e),a=t?`${t[0]}/${t[1]}`:void 0;return w("span",{"aria-hidden":"true",style:{display:"grid",width:o,gridTemplateColumns:"repeat(12, minmax(0, 1fr))",gridAutoRows:a?"auto":6,gridAutoFlow:"row dense",gap:2},children:kk(e).map(([r,n],s)=>w("i",{className:"block rounded-xs bg-current opacity-60",style:{gridColumn:`span ${r}`,gridRow:`span ${n}`,aspectRatio:a}},s))})}var SK={width:"3.5rem",height:"2.5rem"},wK=200;function CK({value:e,onChange:o}){let[t,a]=Wl(null),[r,n]=Wl(4),s=Hl(null);rU(()=>{let p=s.current;if(!p||typeof ResizeObserver!="function")return;let x=()=>n(p.getBoundingClientRect().width>=wK?4:3);x();let g=new ResizeObserver(x);return g.observe(p),()=>g.disconnect()},[]);let l=e&&e in ra?e:"",d=ox(t,l),c=ox(t,"").length,f=pc("no-symbol"),u=[{value:"",label:i("Not chosen"),icon:QP(f,i("Not chosen"))},...d.map(p=>({value:p,label:i(ra[p].label),icon:w(yK,{layout:ra[p],width:40})}))];return w(no,{label:i("Layout"),icon:w(wU,{}),value:l?i(ra[l].label):void 0,children:w("div",{ref:s,style:{flex:"1 1 auto",minWidth:0},children:w(y0,{label:i("Layout"),value:l,options:u,onChange:o,columns:r,cell:SK,header:ja("div",{className:"mb-2 flex flex-col gap-1",style:{minWidth:"11rem"},children:[w("span",{className:"text-2xs text-ink-faint",children:i("Photos in a row")}),w(FU,{options:[{id:"all",label:i("All")},...Ck.map(p=>({id:String(p),label:String(p)}))],value:t===null?"all":String(t),ariaLabel:i("Photos in a row"),onChange:p=>a(p==="all"?null:Number(p))}),w("span",{className:"text-2xs text-ink-faint",children:i("{n} of {total} layouts",{n:c,total:ex.length})})]})})})})}import{decodePartId as GK}from"efficient-easel/draw";import{decodePartId as _g,encodePartId as kf}from"efficient-easel/draw";import{LINK_FIELD_MARKER as tE,SCAFFOLD_FIELD_MARKER as eE,TEXT_FIELD_MARKER as Tf}from"efficient-easel/draw";import{readHidable as aE}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as _K}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as OK}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as V0}from"efficient-easel/draw";import{readHidable as q0}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as vK}from"efficient-easel/draw";var kK=vK,TK=["text","textarea"],PK=["textarea","plainTextarea"];function EK(e){return!e||typeof e!="object"?null:e[V0]?.control??null}function es(e){let o=EK(e);return o&&kK.includes(o)?o:null}function Sf(e){return PK.includes(e)}function Y0(e){return!e||typeof e!="object"?void 0:e[V0]?.placeholder}function wf(e){return q0(e).text}function Pg(e,o,t){return TK.includes(e)?{text:t,hidden:q0(o).hidden}:t}function X0(e,o,t,a){return wf(e[o])===a?null:{...e,[o]:Pg(t,e[o],a)}}function os(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function Tt(e){let o=/^([A-Za-z0-9_$]+)\[(\d+)\]\.([A-Za-z0-9_$]+)$/u.exec(e);return o?{key:o[1],row:{index:Number(o[2]),rowKey:o[3]}}:{key:e,row:null}}function Cf(e){if(!(!e||typeof e!="object"))return e[OK]}function Eg(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function J0(e,o){if(!Array.isArray(o))return[];let t=Cf(e),a=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,l)=>{let d=Z(s?.[n]);d&&a.push({row:{index:l,rowKey:n},text:d})}),a}let r=Eg(e);return r?(o.forEach((n,s)=>{for(let[l,d]of Object.entries(r)){if(!es(d))continue;let c=wf(n?.[l])||Cf(d)?.placeholder||"";c&&a.push({row:{index:s,rowKey:l},text:c})}}),a):[]}function zl(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function Og(e,o,t,a){let r=e[o];return!Array.isArray(r)||t.index<0||t.index>=r.length?null:{...e,[o]:r.map((n,s)=>s===t.index?{...n,[t.rowKey]:a}:n)}}function Z0(e,o,t,a,r){let n=zl(e[o],t);return wf(n)===r?null:Og(e,o,t,Pg(a,n,r))}function Q0(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var Pt="data-sf-part",Ave="data-sf-region-part",Rve="data-sf-part-row";function Lve(e,o){return`${e}[${o}]`}var Fve="data-sf-part-kind",AK="data-sf-part-style-owner",RK="data-sf-part-style-kind";function Bve(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(AK),a=o.getAttribute(RK);if(t&&a)return{owner:t,kind:a};if(o.getAttribute("data-easel-block"))return null}return null}var oE=2;function ts(e){return oa(e).replace(/\s+/gu,"")}function vf(e,o,t){let a=e[Tf];if(a){if(a.control==="textList"){let n=a.itemKey??"text";if(!Array.isArray(o))return;for(let s of o){let l=s?.[n];typeof l=="string"&&t.push(l)}return}let{text:r}=aE(o);r?t.push(r):a.placeholder&&t.push(a.placeholder);return}if(!e[tE]){if(e.type==="text"||e.type==="textarea"){let r=Z(o);r&&t.push(r);return}if(e.arrayFields&&Array.isArray(o)){for(let r of o)for(let[n,s]of Object.entries(e.arrayFields))vf(s,r?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[r,n]of Object.entries(e.objectFields))vf(n,o[r],t)}}function Ag(e){if(!e||typeof e!="object")return!1;let o=e;return o[tE]?!1:!!o[Tf]||o.type==="text"||o.type==="textarea"}function Pf(e,o){let t=e[Tf];return t?.label?t.label:typeof e.label=="string"?e.label:o}function Rg(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function Dve(e,o,t){if(!e)return[];let a=[];for(let[r,n]of Object.entries(e)){if(!n||typeof n!="object"||kl(r))continue;let s=n,l=[];vf(s,o?.[r],l),!l.length&&s[eE]!==void 0&&vf(s,s[eE],l);let d=Pf(s,r);if(t?.(r)&&Ag(s)){l.length&&a.push({key:r,label:d,texts:[],keyed:!0});continue}let c=new Set;for(let{row:p,text:x}of J0(s,o?.[r])){let g=ts(x);g.length<oE||(c.add(g),a.push({key:r,label:d,texts:[g],row:p}))}let f=new Set(c),u=[];for(let p of l){let x=ts(p);x.length<oE||f.has(x)||(f.add(x),u.push(x))}u.length&&a.push({key:r,label:d,texts:u})}return a}function Lg(e){return!e.offPage&&!e.hidden}var LK=_K;function rE(e,o){if(!o||typeof o!="object"||kl(e)||pT(o))return null;let t=o[Tf];return!t||!LK.includes(t.control)?null:t}function Nve(e,o){let t=rE(e,o);return t!==null&&t.identifier!==!0}function nE(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){let n=rE(a,r);if(!n)continue;let{text:s,hidden:l}=aE(o?.[a]);if(Lg({offPage:n.offPage===!0,hidden:!!l}))continue;let d=s||n.placeholder||"",c=oa(d).replace(/\s+/gu," ").trim();t.push({key:a,label:Rg(Pf(r,a)),preview:c,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!l})}return t}function as(e,o){let t=Cf(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?z0(t,o.index):null:Eg(e)?.[o.rowKey]??null}function Ef(e,o,t){let a=e.node.props,{key:r,row:n}=Tt(e.propKey),s=n?Z0(a,r,n,e.kind,o):X0(a,r,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}import{readHidable as dE}from"efficient-easel/draw";import{isNodeList as FK}from"efficient-easel/data";var Fg=e=>String(e+1).padStart(2,"0"),jve=[{label:"01 \xB7",value:"two-digit"},{label:"1.",value:"plain"}],Bg="two-digit",sE=e=>e==="plain"?"plain":Bg,Of=(e,o)=>e==="plain"?`${o+1}.`:Fg(o);var Ng="Contents",Dg="Flex",lE="Text",BK="numberForm",tke="_contentsEntries",ake="_kickerNumber",cE="data-sf-kicker-number",DK=e=>dE(e).text.trim(),fE=e=>uc(e?.anchor),iE=e=>String(e.props?.id??""),NK=e=>!dE(e.props?.text).hidden&&!Rn(e.props)&&!vo(e.props);function Ul(e){return Object.values(e.props??{}).filter(FK)}function pE(e){for(let o of Ul(e))for(let t of o){if(Cl(t.props??{}))continue;if(t.type===lE&&NK(t))return t;if(t.type===lE)continue;let a=pE(t);if(a)return a}}function uE(e){return Ul(e).some(o=>o.some(t=>t&&!Cl(t.props??{})&&(t.type===Ng||uE(t))))}var mE=e=>e.type===Dg&&jn(Dg,e.props?.direction)==="row";function hE(e){return Ul(e).some(o=>o.some(t=>t&&!Cl(t.props??{})&&(t.type===Ng||!mE(t)&&hE(t))))}function MK(e){let o=[],t=(a,r)=>{for(let n of a){if(!n||Cl(n.props??{}))continue;if(n.type===Ng){r.open={contents:n,sections:r.waiting??[]},r.waiting=null,o.push(r.open);continue}if(mE(n)&&hE(n)){let l={inRow:!0,open:null,waiting:[]};for(let d of Ul(n))t(d,l);r.inRow||(r.open=null);continue}let s=r.open?.sections??r.waiting;if(n.type===Dg&&fE(n.props)&&s&&!uE(n)){s.push({box:n,kicker:pE(n)});continue}for(let l of Ul(n))t(l,r)}};return t(e,{inRow:!1,open:null,waiting:null}),o}function HK(e){return e.map(o=>({label:o.kicker?oa(DK(o.kicker.props?.text)):"",anchor:fE(o.box.props)}))}function rke(e){let o=e?.length?MK(e):[];if(!o.length)return null;let t=new Map,a=new Map;for(let r of o){let n=iE(r.contents);n&&t.set(n,HK(r.sections));let s=sE(r.contents.props?.[BK]);r.sections.forEach((l,d)=>{let c=l.kicker?iE(l.kicker):"";c&&a.set(c,Of(s,d))})}return{entries:t,numbers:a}}var nke=e=>e.endsWith(".")?`${e} `:`${e} \xB7 `;var $K=`[${cE}]`,zK=["bold","italic","underline","strike","link","sup","sub"],UK=["bullet","number"];function Wg(e,o){return e?[...zK,...o?UK:[]]:[]}function xE(e,o){let t=GK(e);if(!t?.propKey)return null;let{nodeId:a,propKey:r}=t,n=o.getItemById(a),s=o.getSelectorForId(a);if(!n||!s)return null;let{key:l,row:d}=Tt(r),c=o.components[n.type]?.fields?.[l],f=d?as(c,d):c,u=es(f);if(!u)return null;let p=n.props??{};if(Gx(p)!==null||!d&&yh(n.type,p,l)||n.type==="Text"&&l==="text"&&Rn(p)||d&&!(Array.isArray(p[l])&&d.index<p[l].length))return null;let x=d?zl(p[l],d):p[l];return{node:n,selector:s,propKey:r,kind:u,stored:x,offPage:ff(f)}}function _f(e,o){let t=xE(e,o);if(!t)return null;let{text:a,hidden:r}=Va(t.stored);if(!Lg({offPage:t.offPage,hidden:!!r}))return null;let n=Sf(t.kind);return{partId:e,value:a,rules:pr,multiline:n,skip:$K,offered:Wg(t.kind!=="plainText",n),write:s=>{let l=xE(e,o);l&&Ef({node:l.node,propKey:l.propKey,kind:l.kind,zone:l.selector.zone,index:l.selector.index},s,o.replace)}}}function Gg(e,o,t){return e?.isConnected&&e.getAttribute(Pt)===t?e:o?.querySelector(`[${Pt}="${Af(t)}"]`)??null}function Af(e){return e.replace(/["\\]/g,"\\$&")}function gE(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var Mg=null,Hg=new Set;function jK(){return Mg}function $g(e){if(e!==Mg){Mg=e;for(let o of Hg)o()}}function KK(e){return Hg.add(e),()=>{Hg.delete(e)}}function IE(){return WK(KK,jK,()=>null)}function bE(e,o){if(e.outer)return null;let t=o.getItemById(e.ownerId);if(!t)return null;let a=cv(t.type);return!a||lo(t.props)?null:{node:t,rows:a}}function JK(e,o){let t=bE(e,o),a=o.getItemById(e.nodeId);if(!t||!a)return null;let r=Sh(a.type,a.props,e.key);if(!r)return null;let n=t.node.props[t.rows];return!Array.isArray(n)||e.index<0||e.index>=n.length?null:VK(e.ownerId,os(t.rows,{index:e.index,rowKey:r}))}function Rf(e,o){let t=JK(e,o);return t?_f(t,o):null}function yE(e,o){return Rf(e,o)?.value}function SE(e,o){let t=Rf(e,o);return t?(t.write(e.text),!0):!1}function wE(e,o){let t=bE(e,o),a=t&&o.getSelectorForId(e.ownerId);if(!t||!a)return!1;let r=t.node.props,n=r[t.rows],s=e.index;if(!Array.isArray(n)||s<0||s>=n.length)return!1;let l;switch(e.action){case"addAfter":{let d=o.components[t.node.type]?.fields?.[t.rows];l=qK(n,s+1,{...d?.defaultItemProps??{}});break}case"moveEarlier":case"moveLater":{let d=e.action==="moveEarlier"?s-1:s+1;if(d<0||d>=n.length)return!1;l=YK(n,s,d);break}case"delete":l=XK(n,s);break;default:return!1}return o.replace(a.zone,a.index,{...t.node,props:{...r,[t.rows]:l}}),!0}import{jsx as we,Fragment as JO,jsxs as ei}from"react/jsx-runtime";import{Fragment as Oq,useEffect as _q,useId as Aq,useMemo as ZO,useRef as Rq,useState as qa}from"react";import{useScreenDocument as s_}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as RI}from"efficient-easel/draw/client";import Lq from"efficient-easel/screen/components/SidePanelHead";import{jsx as be,Fragment as us,jsxs as $r}from"react/jsx-runtime";import{useEasel as zO,useRootFields as D7}from"efficient-easel/easel";import{Inspector as N7}from"efficient-easel/fields";import{SettingsGroup as M7}from"efficient-easel/panel";import{useEffect as H7,useRef as W7,useState as OI}from"react";import{jsx as Mr,Fragment as o8,jsxs as t8}from"react/jsx-runtime";import{useState as TE}from"react";import{SettingsDefaultReset as a8,SettingsField as r8}from"efficient-easel/panel";import{useEaselStrings as n8}from"efficient-easel/strings";import{AddIcon as s8}from"efficient-easel/icons";import{Button as l8}from"efficient-shell/ui";import{iconOf as i8,noGlyph as d8}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Lf,Fragment as ZK,jsxs as CE}from"react/jsx-runtime";import{Button as vE,Dialog as QK}from"efficient-shell/ui";function e8(e){return Po("This site has {n} color theme of its own. Clearing takes them away and puts back the four the shop supplies.","This site has {n} color themes of its own. Clearing takes them away and puts back the four the shop supplies.",e)}function kE({count:e,onCancel:o,onConfirm:t}){return CE(QK,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Clear this site\u2019s colors?"),footer:CE(ZK,{children:[Lf(vE,{variant:"secondary",onClick:o,children:i("Cancel")}),Lf(vE,{variant:"danger",onClick:t,children:i("Clear colors")})]}),children:[Lf("p",{children:e8(e)}),Lf("p",{className:"mt-2 font-medium",children:i("This cannot be undone.")})]})}var c8=d8("the row's whole content is an action; the gutter names a subject and this row has none \u2014 the button's label is the name GG, 2026-09-23"),f8="Reset color",p8={selected:0,themes:[]};function u8(e){e(p8)}function PE({value:e,onChange:o}){let t=e?.themes??[],a=t.length===0,r=ao(e),[n,s]=TE(!1),l=n8(),[d,c]=TE(null),f=(S,C)=>{o({...r,themes:r.themes.map((b,v)=>v===S?C:b)})},u=Sn(r).accent,p=new Set(r.themes.map(S=>S.brandInk).filter(Boolean)),x=YS.filter(S=>!p.has(S)).map(S=>XS(u,S)),g=[...r.themes,...x],I=S=>{if(S<r.themes.length)return o({...r,selected:S});let C=[...r.themes,g[S]];o({...r,themes:C,selected:C.length-1})},k=()=>{let S=[...r.themes,{...Bo(r.themes[r.selected])}];o({...r,themes:S,selected:S.length-1}),c(S.length-1)};return t8(o8,{children:[a?null:Mr(r8,{label:i(f8),icon:i8(c8),labelId:"sf-theme-reset",action:Mr(a8,{label:i("all theme colors"),words:l.panel,changed:!0,onReset:()=>s(!0)})}),n&&Mr(kE,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),u8(o)}}),Mr("div",{className:"sf-theme-list",role:"radiogroup","aria-label":i("Theme"),children:g.map((S,C)=>Mr(Oc,{index:C,colors:S,selected:C===r.selected,open:d===C&&C<r.themes.length,editable:C<r.themes.length,onPick:()=>I(C),onEdit:()=>c(b=>b===C?null:C),onChangeColors:b=>f(C,b)},C))}),Mr(l8,{variant:"secondary",leftIcon:Mr(s8,{}),onClick:k,className:"sf-theme-add",children:i("Add new theme")})]})}import{jsx as Ff}from"react/jsx-runtime";import{SettingsDefaultReset as m8,SettingsField as h8}from"efficient-easel/panel";import{SquareIcon as x8}from"efficient-easel/icons";var g8="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",zg="Corners";function EE({value:e,onChange:o}){let t=e===null;return Ff(h8,{label:i(zg),icon:Ff(x8,{}),changed:!t,action:Ff(m8,{words:re()?.panel,label:i(zg),changed:!t,detail:i("the built-in corners"),onReset:()=>o(null)}),hint:i(g8),children:Ff(qo,{min:Qo,max:ir,step:1,value:e,...e===null?{}:{suffix:"px"},placeholder:Qo,placeholderWord:"Auto",onClear:()=>o(null),ariaLabel:i(zg),onChange:o})})}import{jsx as jl}from"react/jsx-runtime";import{SettingsDefaultReset as I8,SettingsField as b8}from"efficient-easel/panel";import{IconPicker as y8}from"efficient-shell/ui";import{ShadowIcon as S8}from"efficient-easel/icons";var Ug={none:"None",soft:"Soft",lifted:"Lifted"},w8="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",C8={none:"none",soft:"0 1px 1px rgba(20, 20, 22, 0.10), 0 2px 4px -1px rgba(20, 20, 22, 0.14)",lifted:"0 1px 2px rgba(20, 20, 22, 0.10), 0 4px 7px -2px rgba(20, 20, 22, 0.30)"};function OE({value:e,onChange:o}){let t=e===null,a=e??Cm;return jl(b8,{label:i("Card shadow"),icon:jl(S8,{}),value:i(Ug[a]),changed:!t,action:jl(I8,{words:re()?.panel,label:i("Card shadow"),changed:!t,detail:i(Ug[Cm]),onReset:()=>o(null)}),hint:i(w8),children:jl(y8,{label:i("Card shadow"),value:a,options:lw.map(r=>({value:r,label:i(Ug[r]),icon:jl("span",{className:"sf-shadow-chip border border-line bg-surface",style:{boxShadow:C8[r]}})})),onChange:o})})}import{jsx as _E}from"react/jsx-runtime";import{ShadowIcon as v8}from"efficient-easel/icons";var k8="Most useful on a dark theme, where a black shadow cannot be seen. Also used by the Lift hover, even with the card shadow off.";function AE({value:e,onChange:o}){let t=e===null;return _E(vl,{label:i("Shadow color"),icon:_E(v8,{}),value:e??"",inherited:km,resetTo:km,onChange:o,onReset:()=>o(null),hint:i(k8)})}import{jsx as Df}from"react/jsx-runtime";import{SettingsDefaultReset as T8,SettingsField as P8}from"efficient-easel/panel";import{AlignSeparateIcon as E8}from"efficient-easel/icons";function Bf(e,o){return e==="tablet"?null:e==="mobile"?o.phone:o.desktop}var O8="The space between the blocks inside a row, a grid or a box. Auto means each one keeps the spacing it already has.",_8="The space between the blocks inside a row, a grid or a box, on a phone. Until you set it, a phone uses half the desktop gap.",jg="Block gap",RE=Vn.Grid;function LE(e,o){return Bf(e,{desktop:{key:"block_gap",value:o.gap,followsPx:null},phone:{key:"block_gap_phone",value:o.phone,followsPx:o.gap===null?null:Qx(o.gap)}})}function FE({value:e,onChange:o,followsPx:t=null}){let a=e===null,r=t===null?null:`${t}px`,n=t===null?RE:Fl(t)??RE;return Df(P8,{label:i(jg),labelId:"sf-block-gap",icon:Df(E8,{}),changed:!a,action:Df(T8,{words:re()?.panel,label:i(jg),changed:!a,detail:r??i("each block's own spacing"),onReset:()=>o(null)}),hint:i(r===null?O8:_8),children:Df(qo,{min:Ar.min,max:Ar.max,step:Ar.step,value:e,...e===null&&t===null?{}:{suffix:"px"},placeholder:n,...t===null?{placeholderWord:"Auto"}:t===n?{}:{placeholderWord:String(t)},onClear:()=>o(null),ariaLabel:i(jg),onChange:o})})}import{jsx as Nf}from"react/jsx-runtime";import{SettingsDefaultReset as A8,SettingsField as R8,SettingsSegmented as L8}from"efficient-easel/panel";import{HoverIcon as F8}from"efficient-easel/icons";var Kg={none:hr.none,lift:hr.lift,highlight:Mm},B8="What a card does when a shopper points at it \u2014 or taps it, on a phone. Highlight is the effect your cards already use.";function BE({value:e,onChange:o}){let t=e===null,a=e??vm;return Nf(R8,{label:i("Hover effect"),icon:Nf(F8,{}),value:i(Kg[a]),changed:!t,action:Nf(A8,{words:re()?.panel,label:i("Hover effect"),changed:!t,detail:i(Kg[vm]),onReset:()=>o(null)}),hint:i(B8),children:Nf(L8,{options:iw.map(r=>({id:r,label:i(Kg[r])})),value:a,ariaLabel:i("Hover effect"),onChange:o})})}import{jsx as Mf}from"react/jsx-runtime";import{SettingsDefaultReset as D8,SettingsField as N8,SettingsSegmented as M8}from"efficient-easel/panel";import{DropIcon as H8}from"efficient-easel/icons";var Vg="Photography",DE={shot:"As shot",mono:"Black and white"},qg=[{grayscale:!1,label:DE.shot},{grayscale:!0,label:DE.mono}],W8="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function NE({value:e,onChange:o}){let t=e===null,a=e??!1;return Mf(N8,{label:i(Vg),icon:Mf(H8,{}),value:i(qg.find(r=>r.grayscale===a).label),changed:!t,action:Mf(D8,{words:re()?.panel,label:i(Vg),changed:!t,detail:i(qg.find(r=>!r.grayscale).label),onReset:()=>o(null)}),hint:i(W8),children:Mf(M8,{options:qg.map(r=>({id:r.grayscale,label:i(r.label)})),value:a,ariaLabel:i(Vg),onChange:o})})}import{jsx as Yg}from"react/jsx-runtime";import{useId as G8}from"react";import{SettingsField as $8,SettingsSwitch as z8}from"efficient-easel/panel";import{ShareIcon as U8}from"efficient-easel/icons";var j8="Share button",K8="On every blog post.";function ME({value:e,onChange:o}){let t=G8();return Yg($8,{label:i(j8),labelId:t,icon:Yg(U8,{}),action:Yg(z8,{checked:e===!0,onChange:o,ariaLabelledBy:t}),hint:i(K8)})}import{usePreviewDevice as _I}from"efficient-easel/draw/client";import{jsx as Hf}from"react/jsx-runtime";import{SettingsDefaultReset as V8,SettingsField as q8}from"efficient-easel/panel";import{PaddingXIcon as Y8}from"efficient-easel/icons";var Xg="Side space",HE=da.default,X8="The room left at the left and right edge of every page.";function WE(e,o){return Bf(e,{desktop:{key:"site_gutter",value:o.gutter,unsetPx:HE,bounds:da},phone:{key:"site_gutter_phone",value:o.phone,unsetPx:ef(o.gutter),bounds:Ml}})}function GE({value:e,onChange:o,unsetPx:t=HE,bounds:a=da}){let r=e===null;return Hf(q8,{label:i(Xg),labelId:"sf-side-space",icon:Hf(Y8,{}),changed:!r,action:Hf(V8,{words:re()?.panel,label:i(Xg),changed:!r,detail:`${t}px`,onReset:()=>o(null)}),hint:i(X8),children:Hf(qo,{min:a.min,max:a.max,step:a.step,value:e,suffix:"px",placeholder:t,onClear:()=>o(null),ariaLabel:i(Xg),onChange:o})})}import{jsx as Jg}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as VTe,SettingsBackgroundWidth as J8,SettingsContentWidth as Z8}from"efficient-easel/panel";var Q8="Background width",eV="Content width";var Wf=e=>i(Lr[e==="content"?"page":"full"]),$E="The width of every section's background.",zE="The width of every section's content.";function UE({value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n,labelId:s}){return Jg(J8,{value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n?i(n):void 0,labelId:s,words:{label:i(Q8),full:Wf("full"),content:Wf("content")},resetWords:re()?.panel})}function jE({mode:e,px:o,max:t=ho.max,min:a=ho.min,changed:r,detail:n,fullClosed:s,onMode:l,onPx:d,onReset:c,hint:f,labelId:u}){let p=i(eV),x=e!=="full"?Jg(qo,{min:a,max:t,step:ho.step,value:Math.min(Math.max(o,a),t),onChange:d,suffix:"px",ariaLabel:p}):null;return Jg(Z8,{mode:e,onMode:l,number:x,changed:r,detail:n,fullClosed:s,onReset:c,hint:f?i(f):void 0,labelId:u,words:{label:p,full:Wf("full"),content:Wf("content")},resetWords:re()?.panel})}import{jsx as OO}from"react/jsx-runtime";import{TextStyleItem as p7,TextStylesGroup as u7}from"efficient-easel/text-styles";import{jsx as n7}from"react/jsx-runtime";import{useState as s7}from"react";import{TextStylesList as l7}from"efficient-easel/text-styles";import{usePreviewDevice as i7}from"efficient-easel/draw/client";import{defaultTextStyles as hO,textStyleCaseCss as XV,textStyleViewKey as JV}from"efficient-easel/text-styles/model";import{phoneKey as ZV,resolveViewValue as xO,tabletKey as QV}from"efficient-easel/draw";import{VIEW_DESKTOP_MIN as KE,VIEW_TABLET_MIN as VE}from"efficient-easel/draw";var Gf=.02,qE=`(min-width: ${aa}px) and (max-width: ${KE-Gf}px)`,$f=`(max-width: ${aa-Gf}px)`,zf=`(min-width: ${VE}px) and (max-width: ${KE-Gf}px)`,rs=`(max-width: ${VE-Gf}px)`;import{textStyleCaseCss as oV,textStyleCaseOfCss as tV}from"efficient-easel/draw";function ns(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function ss(e,o){return ns(e?.[o])??{}}function Uf(e,o,t){let a=ss(e,o);return Object.hasOwn(a,t)?ns(a[t])??{}:{}}function jf(e,o,t,a){let{[t]:r,...n}=ss(e,o),s=a?{...n,[t]:a}:n,{[o]:l,...d}=e;return Object.keys(s).length?{...d,[o]:s}:d}var tI="_partStyles",aI="data-sf-part-styled",ls="data-sf-text-style",aV=/^(heading|body)-[1-7]$/;function Wr(e){return typeof e=="string"&&aV.test(e)}var Kf={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function rV(e){if(!e)return null;for(let[o,t]of Object.entries(Kf))if(t===e)return o;return null}function rI(e){if(Wr(e.textStyle))return e.textStyle;let o=Zt(e.role);return o?Kf[o]:void 0}var nV=[400,500,600,700],Vl=["left","center","right","justify"],Zg=5,Qg=1e3,sV=-5,lV=10,nI=0,sI=64,lI=2,YE={size:{min:Zg,max:Qg,step:1},sizeTablet:{min:Zg,max:Qg,step:1},sizePhone:{min:Zg,max:Qg,step:1},padding:{min:nI,max:sI,step:lI}},iV=.05,dV=.01,cV=["line","letter"],fV=.5,pV=2.5,uV=-1,mV=1,hV=0,xV=400,gV=[...new Set(Object.values(yn))];function oO(e){return[`${e} { transition: translate var(--page-motion-hover-duration) var(--page-ease-media) var(--page-motion-hover-delay) }`,`${e}:hover, ${e}:active { translate: 0 calc(-1 * var(--page-hover-lift)) }`]}function pPe(e){return ss(e,tI)}function ql(e,o){return Uf(e,tI,o)}function tO(e,o,t){return jf(e,tI,o,IV(t).length?t:null)}function IV(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function bV(e){return cV.includes(e)}var Kl=(e,o,t)=>Math.min(t,Math.max(o,e));function yV(e,o){if(bV(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Kl(t,sV,lV)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?is(Kl(t,fV,pV),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?is(Kl(t,uV,mV),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Kl(t,hV,xV)}if(Object.hasOwn(YE,e)){let{min:t,max:a}=YE[e],r=Math.round(Number(o));return Number.isFinite(r)?Kl(r,t,a):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"||e==="fontRole"?Zt(o)?o:null:e==="sizeToken"?iI(o)?o:null:e==="textStyle"?Wr(o)?o:null:e==="alignPhone"||e==="alignTablet"?Vl.includes(o)?o:null:o}var SV=["weight","size","sizeTablet","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding"];function ds(e){let o=null,t=a=>{o??={...e},delete o[a]};for(let a of SV){let r=e[a];r!==void 0&&!(typeof r=="number"&&Number.isFinite(r))&&t(a)}return e.align!==void 0&&!Vl.includes(e.align)&&t("align"),e.alignTablet!==void 0&&!Vl.includes(e.alignTablet)&&t("alignTablet"),e.alignPhone!==void 0&&!Vl.includes(e.alignPhone)&&t("alignPhone"),e.textStyle!==void 0&&!Wr(e.textStyle)&&t("textStyle"),e.sizeToken!==void 0&&!iI(e.sizeToken)&&t("sizeToken"),e.fontRole!==void 0&&!Zt(e.fontRole)&&t("fontRole"),o??e}function iI(e){if(!e||typeof e!="object")return!1;let{step:o,px:t,stepPhone:a,pxPhone:r,fluid:n}=e,s=d=>typeof d=="number"&&Number.isFinite(d)&&d>0,l=d=>typeof d=="string"&&gV.includes(d);return l(o)&&s(t)&&(a===void 0||l(a))&&(r===void 0||s(r))&&(n===void 0||wV(n,t))}function wV(e,o){if(!e||typeof e!="object"||Array.isArray(e))return!1;let{minPx:t,vw:a,...r}=e;return Object.keys(r).length===0&&typeof t=="number"&&Number.isFinite(t)&&t>0&&t<o&&typeof a=="number"&&Number.isFinite(a)&&a>0&&a<=100}function dI(e){return e?.pxPhone&&iI(e)?{step:e.stepPhone??e.step,px:e.pxPhone}:null}function aO({step:e,px:o,fluid:t}){let a=t?`clamp(${t.minPx}px, ${t.vw}vw, ${o}px)`:`${o}px`,r=`var(--size-${e}, ${a})`;return e.startsWith("heading")?`min(${r}, var(--sf-heading-max,9999px))`:r}var CV=[["font","role"],["font","fontRole"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function vV(e){let o=[];for(let[t,a]of CV)t===e?o.push(a):a===e&&o.push(t);return o}function xa(e,o,t,a){let r={...ql(e,o)},n=a==null?null:yV(t,a);if(n===null)delete r[t];else{r[t]=n;for(let s of vV(t))delete r[s]}return tO(e,o,r)}function rO(e,o){return tO(e,o,{})}function kV(e){return tV(e)??"none"}function TV(e){return oV(e)??""}var XE={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 PV(e,o){return Zt(e.role)||(o?.blockDrawsStyle?null:rV(e.textStyle))}function nO(e,o){return e==="Text"&&o==="text"}var EV={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 OV(e){let o=yn[e],t=EV[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function Yl(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=is(_V+e.line*iV,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=is(e.letter*dV,4)),o}var _V=1,Hr="--sf-part-para";function AV(e){e=ds(e);let o={};if(typeof e.sizePhone=="number"&&e.sizePhone>0)o.fontSize=`${e.sizePhone}px`;else{let a=dI(e.sizeToken);if(a)o.fontSize=aO(a);else{let r=qf(e);r!==void 0&&(o.fontSize=`${r}px`)}}let t=e.alignPhone??Vf(e);return t&&(o.textAlign=t),o}function Vf(e){return e.alignTablet&&e.alignTablet!==e.align?e.alignTablet:void 0}function qf(e){let o=Uo("textSize",e.size,e.sizeTablet,void 0).tablet;return o&&o>0?o:void 0}function RV(e){let o=ds(e),t={},a=qf(o);a!==void 0&&(t.fontSize=`${a}px`);let r=Vf(o);return r&&(t.textAlign=r),t}function sO(e,o){if(o==="desktop")return;let t=ds(e);return(o==="mobile"?Vf(t):void 0)??t.align}function LV(e,o){if(o==="desktop")return e;let t=ds(e),a=qf(t),r=Vf(t);if(o==="tablet"){let l=e;return a!==void 0&&(l={...l,size:a}),r&&(l={...l,align:r}),l}let n=e;if(typeof t.sizePhone=="number"&&t.sizePhone>0)n={...n,size:t.sizePhone};else{let l=dI(t.sizeToken);l?n={...n,size:void 0,sizeToken:l}:a!==void 0&&(n={...n,size:a})}let s=t.alignPhone??r;return s&&(n={...n,align:s}),n}function cI(e,o,t){return pI(LV(e,o),Yf,t)}function fI(e){return e==="mobile"?"sizePhone":e==="tablet"?"sizeTablet":"size"}function lO(e,o){if(o==="desktop")return null;let t=ds(e);if(o==="mobile"){if(dI(t.sizeToken))return null;let a=qf(t);if(a!==void 0)return{px:a,view:"tablet"}}return typeof t.size=="number"&&t.size>0?{px:t.size,view:"desktop"}:null}function iO(e,o){let t=fI(o);if(!Object.hasOwn(e,t))return e;let a={...e};return delete a[t],a}function uPe(e,o,t){let a=cI(iO(e,o),o,t);return{fontFamily:a.fontFamily,fontSize:a.fontSize}}function pI(e,o,t){e=ds(e);let a=PV(e,t),r=Yl(e),n=e.size?`${e.size}px`:e.sizeToken?aO(e.sizeToken):a?OV(a):"";return{fontFamily:e.font?NV(e.font):e.fontRole?`var(${XE[e.fontRole]})`:a?`var(${XE[a]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:n,minWidth:n?"0":"",overflowWrap:n?"break-word":"",lineHeight:r.lineHeight!==void 0?String(r.lineHeight):"",letterSpacing:r.letterSpacingEm!==void 0?`${r.letterSpacingEm}em`:"",[Hr]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:TV(e.case),textAlign:e.align??"",paddingTop:JE(e.padding),paddingBottom:JE(e.padding),color:FV(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var FV=e=>Hn(e),JE=e=>e===void 0?"":`${e}px`,is=(e,o)=>Number(e.toFixed(o));function mPe(e,o){let t=Number.parseFloat(e.fontSize)||16,a=Number.parseFloat(e.lineHeight),r=Number.parseFloat(e.letterSpacing),n=Number.parseFloat(e.paddingTop);return{fontKey:o,sizePx:t,weight:BV(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(a)?is(a/t,3):1.2,letterEm:Number.isFinite(r)?is(r/t,4):0,align:DV(e.textAlign),case:kV(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0}}function BV(e){return Number.isFinite(e)?nV.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function DV(e){for(let o of Vl)if(o===e)return o;return e==="end"?"right":"left"}function hPe(e,o){let t=ZE(e);if(!t)return"";for(let a of ht)if(ZE(o(a.cssVar))===t)return a.key;return""}var ZE=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function NV(e){let o=bn(e);return o?`var(${o.cssVar})`:""}function xPe(e,o,t,a){return!o||_g(o)?.nodeId!==e?null:t.find(r=>a(r.getAttribute("class")))??t[0]??null}function MV(e,o){return Object.hasOwn(e,o)?ns(e[o])??{}:{}}function gPe(e,o,t=()=>Yf,a=l=>l,r=GV,n="desktop",s=()=>!1){let l=0;for(let{element:d,partId:c}of e){let f=_g(c)?.propKey;if(!f)continue;let u=MV(o,a(f)),p=cI(u,n,{blockDrawsStyle:s(f)});Wr(u.textStyle)?d.setAttribute?.(ls,u.textStyle):d.removeAttribute?.(ls);let x=eI.some(I=>d.style[I]),g=!1;for(let[I,k]of Object.entries(p))UV(d,I,k),k&&(g=!0);if(x||eI.some(I=>p[I]))for(let I of HV(d,r))for(let k of eI)I.style[k]=p[k]??"";g&&(l+=1)}return l}function HV(e,o){let t=ts(e.textContent??""),a=[],r=e;for(let n=0;n<WV&&o(r);n+=1){let s=r.parentElement;if(!s||ts(s.textContent??"")!==t)break;a.push(s),r=s}return a}var WV=8;function GV(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Yf={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0};function $V(e){if(!e||typeof e!="object")return null;let o={};return Wr(e.textStyle)&&(o.textStyle=e.textStyle),typeof e.size=="number"&&e.size>0&&(o.size=e.size),typeof e.sizeTablet=="number"&&e.sizeTablet>0&&(o.sizeTablet=e.sizeTablet),typeof e.sizePhone=="number"&&e.sizePhone>0&&(o.sizePhone=e.sizePhone),Object.keys(o).length?o:null}function zV(e,o){let t=$V(e);if(!t)return{};let a=cI(t,o);return{...a.fontFamily?{fontFamily:a.fontFamily}:{},...a.fontSize?{fontSize:a.fontSize}:{}}}function dO(e){return Wr(e?.textStyle)||!!e?.role||typeof e?.size=="number"&&e.size>0}function IPe(e,o,t){if(!e||typeof e!="object")return{};let a=qd(e.role,o,yn)??{},r=o.sized?zV(iO(e,t),t):{};return{...a,...r}}function bPe(e,o,t){t.fontFamily&&e.fontFamily===t.fontFamily&&(e.fontFamily=o.fontFamily),t.fontSize&&e.fontSize===t.fontSize&&(e.fontSize=o.fontSize)}function UV(e,o,t){if(!o.startsWith("--")){e.style[o]=t;return}let a=e.style;typeof a.setProperty=="function"?t?a.setProperty(o,t):a.removeProperty?.(o):a[o]=t;let r=e;o===Hr&&(t?r.setAttribute?.(QE,""):r.removeAttribute?.(QE))}var QE="data-sf-part-para",jV=Object.keys(pI({},Yf)),oI=new Set(["color","overflowWrap",Hr,"fontStyle"]),eI=jV.filter(e=>!oI.has(e));function cO(e,o,t,a=l=>l,r=()=>!1,n=()=>null,s=[]){let l=new Map;for(let u of e){let p=os(u.key,u.row);for(let x of u.texts){let g=l.get(x);g?(g.keys.add(u.key),g.partKeys.add(p)):l.set(x,{keys:new Set([u.key]),partKeys:new Set([p])})}}let d=new Map;for(let u of new Set([...Object.keys(o),...s])){if(!KV(u))continue;let p=eO(t,u,ns(o[u])??{},!1,n(u));p&&d.set(u,p)}let c=u=>{let p=a(u),x=n(p);if(!Object.hasOwn(o,p)&&!x)return null;let g=ns(o[p])??{};return eO(t,u,g,r(u),x)},f=new Map;for(let[u,{keys:p,partKeys:x}]of l){let g=x.size===1?[...x][0]:p.size===1?[...p][0]:null;if(!g)continue;let I=c(g);I&&f.set(u,I)}for(let u of e){if(!u.keyed)continue;let p=c(os(u.key,u.row));p&&d.set(u.key,p)}return f.size||d.size?{rules:f,kindRules:d,drawn:new Set(l.keys())}:null}function eO(e,o,t,a,r){let n=pI(t,Yf,{blockDrawsStyle:a}),s=RV(t),l=AV(t),d=Wr(t.textStyle)?t.textStyle:void 0;return!Object.values(n).some(Boolean)&&!Object.keys(s).length&&!Object.keys(l).length&&!d&&!r?null:{stamp:VV(e,o),declarations:n,...Object.keys(s).length?{tablet:s}:{},...Object.keys(l).length?{phone:l}:{},...d?{textStyle:d}:{},...r?{motion:r}:{}}}function KV(e){return e.startsWith("@")}function uI(e,o){return e?.kindRules.get(o)??null}function VV(e,o){let t=a=>a.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function fO(e,{inBox:o=!1}={}){let t=o?qE:zf,a=o?$f:rs,r=[],n=new Set,s=l=>{let{stamp:d,declarations:c}=l;if(n.has(d))return;n.add(d);let f=Object.entries(c).filter(([,S])=>S!==""),u=S=>S.map(([C,b])=>`${qV(C)}: ${b}`).join("; "),p=`[${aI}="${d}"]`,x=f.filter(([S])=>!oI.has(S)),g=f.filter(([S])=>oI.has(S));x.length&&r.push(`${p}, *:has(> ${p}) { ${u(x)} }`),g.length&&r.push(`${p} { ${u(g)} }`),c[Hr]&&(r.push(`*:has(> ${p}) { ${Hr}: ${c[Hr]} }`),r.push(...Xf(p,`*:has(> ${p})`)));let I=Object.entries(l.tablet??{}).filter(([,S])=>S!=="");I.length&&r.push(`@media ${t} { ${p}, *:has(> ${p}) { ${u(I)} } }`);let k=Object.entries(l.phone??{}).filter(([,S])=>S!=="");k.length&&r.push(`@media ${a} { ${p}, *:has(> ${p}) { ${u(k)} } }`)};for(let l of e.rules.values())s(l);for(let l of e.kindRules.values())s(l);return r.join(`
|
|
60
|
+
`)}function Xf(e,o){let t=`var(${Hr})`,a=":is([data-sf-bullet], [data-sf-number])";return[`${e} br:not(br + br) { display: block; content: ""; margin-top: ${t} }`,`${e} ${a}:not(:first-child) { margin-top: ${t} }`,`${e} ${a}:not(:last-child) { margin-bottom: ${t} }`,`:is(${o}) + :is(${o}) { margin-top: ${t} }`]}var qV=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function pO(e,o){if(!e)return null;let t=ts(o),a=e.rules.get(t);if(a)return a;if(t.length<YV||e.drawn.has(t))return null;let r=null;for(let[n,s]of e.rules)if(n.includes(t)){if(r&&r.stamp!==s.stamp)return null;r=s}return r}var YV=8;function uO(e){switch(e.id){case"heading-1":return"font-display";case"heading-2":return"font-heading2";case"heading-3":return"font-heading3";case"body-1":return"font-body";case"body-5":return"font-mono";default:return`font-${e.id}`}}var mI=e=>e==="sentence"?"none":void 0,gO=["font","color","size","sizeTablet","sizePhone","weight","italic","lineHeight","lineHeightTablet","lineHeightPhone","letterSpacing","letterSpacingTablet","letterSpacingPhone","paragraphSpacing","paragraphSpacingTablet","paragraphSpacingPhone","letterCase","largestSize","largestSizeTablet","largestSizePhone"],cs=["desktop","tablet","phone"],Xl=(e,o)=>o==="desktop"?e:o==="tablet"?QV(e):ZV(e),Gr=(e,o)=>o==="desktop"?e:JV(e,o);function gI(e,o,t,a=gr()){return xO("textSize",o,e.sizeTablet,e.sizePhone,a)[t]}var e7=[["lineSpacing","lineHeight","line"],["letterSpacing","letterSpacing","letter"]];function hI(e){for(let[o,t,a]of e7)for(let r of cs)if(e===Gr(o,r))return{key:Xl(t,r),view:r,spacing:a};return{key:e,view:"desktop",spacing:null}}function Kt(e){let o={};for(let t of gO)e[t]!==void 0&&(o[t]=e[t]);return o}function II(e,o){let{auto:t,...a}=e,r=new Set(o??[]),n=gO.filter(s=>r.has(s)&&e.values[s]===void 0);return n.length?{...a,auto:n}:a}function IO(e){let o=e.fonts,t=e.sizes,a=e.typography,r=cw(e.compression),n={"heading-1":{font:Z(o.heading),size:j(t.headingLarge),weight:j(a.weight),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:mI(a.case),largestSize:j(a.maxPx)},"heading-2":{font:Z(o.heading2),size:j(t.headingMedium),weight:j(a.weight2),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:mI(a.case2)},"heading-3":{font:Z(o.heading3),size:j(t.headingSmall),weight:j(a.weight3),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:mI(a.case3)},"body-1":{font:Z(o.body),size:j(t.body)},"body-5":{font:Z(o.label),size:j(t.label)}};return hO().map(({id:s,kind:l,name:d})=>({id:s,kind:l,name:d,values:Kt(n[s]??{})}))}function bI(e){return Array.isArray(e)&&e.every(o=>o&&typeof o=="object"&&typeof o.id=="string"&&(o.kind==="heading"||o.kind==="body")&&typeof o.name=="string")?e.map(o=>II({...o,values:Kt(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function RPe(e){return bI(e)??[]}function bO(e){return bI(e)??hO().map(({id:o,kind:t,name:a})=>({id:o,kind:t,name:a,values:{}}))}function ga(e,o){let t=IO(o),a=bI(e);return a?a.map(r=>{let n={...xI(t,r.id)};for(let s of r.auto??[])delete n[s];return{...r,values:Kt({...n,...r.values})}}):t}var xI=(e,o)=>e.find(t=>t.id===o)?.values??{},mO=["heading-1","heading-2","heading-3"];function yO({saved:e,old:o,cur:t,next:a,sizeOf:r,panelView:n="desktop"}){let s=IO(o),l=bO(e),d=ga(l,o),c=[],f=a.map(p=>{let x=t.find(T=>T.id===p.id),g=l.find(T=>T.id===p.id);if(!x||!g){let T=o7([p],r,n)[0],F=T.values.color;return F===void 0?T:{...T,values:{...T.values,color:Ko(F)}}}let I={...g.values},k=new Set(g.auto??[]),S=p.values,C=x.values,b=[...new Set([...Object.keys(S),...Object.keys(C)])].filter(T=>JSON.stringify(S[T])!==JSON.stringify(C[T])),v=T=>hI(T).spacing==="letter";b.sort((T,F)=>Number(v(T))-Number(v(F)));for(let T of b){let{key:F,view:P,spacing:D}=hI(T),O=F,R=S[T];if(R===void 0){delete I[O],xI(s,p.id)[O]!==void 0&&(c.push([p.id,O]),k.add(O));continue}if(k.delete(O),D==="line")I[O]=fs(R/100,3);else if(D==="letter"){let N={...d.find(L=>L.id===p.id)?.values??{}};for(let L of b)S[L]===void 0&&delete N[hI(L).key];let y=Kt({...N,...I}),A=gI(y,r({...p,values:y}),P);I[O]=A?fs(R/A,4):0}else I[O]=R}return II({id:p.id,kind:p.kind,name:p.name,values:Kt(I)},k)}),u=o.compression;if(c.some(([p,x])=>(x==="lineHeight"||x==="letterSpacing")&&mO.includes(p))&&dr(u)!=="normal"){for(let p of mO){let x=f.find(I=>I.id===p);if(!x)continue;let g={...x.values};for(let I of["lineHeight","letterSpacing"])c.some(([k,S])=>k===p&&S===I)||g[I]===void 0&&!(x.auto??[]).includes(I)&&(g[I]=xI(s,p)[I]);x.values=Kt(g)}u="normal"}return{saved:f,old:{...o,compression:u}}}function SO(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=dr(e.old.compression)),t}var fs=(e,o)=>Number(e.toFixed(o)),wO=(e,o)=>cs.indexOf(e)<cs.indexOf(o)?o:e;function CO(e,o,t="desktop"){return e.map(a=>{let r={...a.values},n=o(a);for(let s of cs){let l=Xl("lineHeight",s),d=a.values[l],c=a.values[Xl("letterSpacing",s)];delete r[l],d!==void 0&&(r[Gr("lineSpacing",s)]=fs(d*100,1));let f=wO(s,t);c!==void 0&&(r[Gr("letterSpacing",s)]=fs(c*gI(a.values,n,f),f===s?2:4))}return{id:a.id,kind:a.kind,name:a.name,values:r}})}function o7(e,o,t="desktop"){return e.map(a=>{let r=a.values,n={...r};for(let c of cs)delete n[Gr("lineSpacing",c)],delete n[Gr("letterSpacing",c)];let s={id:a.id,kind:a.kind,name:a.name,values:Kt(n)},l={...s.values},d=o({...s,values:{...s.values}});for(let c of cs){let f=r[Gr("lineSpacing",c)],u=r[Gr("letterSpacing",c)];if(typeof f=="number"&&(l[Xl("lineHeight",c)]=fs(f/100,3)),typeof u=="number"){let p=gI(s.values,d,wO(c,t));l[Xl("letterSpacing",c)]=p?fs(u/p,4):0}}return{...s,values:Kt(l)}})}function LPe(e){let o={fonts:js({heading:e.heading_font??void 0,heading2:e.heading_2_font??void 0,heading3:e.heading_3_font??void 0,body:e.body_font??void 0,accent:e.accent_font??void 0,label:e.label_font??void 0}),sizes:wm({headingLarge:e.heading_size_large_px,headingMedium:e.heading_size_medium_px,headingSmall:e.heading_size_small_px,accent:e.accent_size_px,body:e.body_size_px,label:e.label_size_px}),compression:dr(e.heading_compression),typography:pw(e)},t=e.text_styles??null,a=Array.isArray(t)?yI(ga(t,o),o):o;return{fonts:js(a.fonts),sizes:wm(a.sizes),compression:dr(a.compression),typography:a.typography,textStyles:t}}function yI(e,o){let t=p=>e.find(x=>x.id===p)?.values??{},a=t("heading-1"),r=t("heading-2"),n=t("heading-3"),s=t("body-1"),l=t("body-5"),d=o.fonts,c=o.sizes,f=o.typography,u=p=>p==="none"?"sentence":"authored";return{fonts:{...d,heading:a.font??d.heading,heading2:r.font??a.font??d.heading2,heading3:n.font??a.font??d.heading3,body:s.font??d.body,label:l.font??d.label},sizes:{...c,headingLarge:a.size??null,headingMedium:r.size??null,headingSmall:n.size??null,body:s.size??null,label:l.size??null},compression:o.compression,typography:{...f,case:u(a.letterCase),weight:a.weight??null,maxPx:a.largestSize??null,weight2:r.weight??null,weight3:n.weight??null,case2:u(r.letterCase),case3:u(n.letterCase)}}}function FPe(e){let o=[];for(let t of e){let a=t.values,r=`.${uO(t)}`,n=`[${ls}="${t.id}"]`,s=`${r}, ${n}`,l=[],d=a.font!==void 0?ht.find(p=>p.key===a.font)?.cssVar:void 0;if(d&&l.push(`font-family: var(${d})`),a.size!==void 0){let p=a.largestSize!==void 0?Math.min(a.size,a.largestSize):a.size;l.push(`font-size: ${p}px`)}let c=Hn(a.color);c&&l.push(`color: ${c}`),a.italic===!0&&l.push("font-style: italic"),a.weight!==void 0&&l.push(`font-weight: ${a.weight}`);let f=[];a.lineHeight!==void 0&&f.push(`line-height: ${a.lineHeight}`),a.letterSpacing!==void 0&&f.push(`letter-spacing: ${a.letterSpacing}em`),t.kind==="body"&&l.push(...f);let u=XV(a.letterCase);u&&t.kind==="body"&&l.push(`text-transform: ${u}`),a.paragraphSpacing&&l.push(`--sf-part-para: ${a.paragraphSpacing}px`),l.length&&o.push(`${s} { ${l.join("; ")} }`),t.kind==="heading"&&f.length&&o.push(`${s}, ${r}:is(h1, h2, h3, h4), ${n}:is(h1, h2, h3, h4) { ${f.join("; ")} }`),t.kind==="heading"&&u&&o.push(`${n}, ${r}:is(h1, h2, h3, h4) { text-transform: ${u} }`),a.paragraphSpacing&&(o.push(`*:has(> ${n}) { --sf-part-para: ${a.paragraphSpacing}px }`),o.push(...Xf(`:is(${s})`,`*:has(> ${n})`))),o.push(...t7(t,s,r,n))}return o.join(`
|
|
61
|
+
`)}function t7(e,o,t,a){let r=e.values,n=Uo("textSize",r.size,r.sizeTablet,r.sizePhone),s=Uo("textSize",r.largestSize,r.largestSizeTablet,r.largestSizePhone),l=Uo("same",r.lineHeight,r.lineHeightTablet,r.lineHeightPhone),d=Uo("same",r.letterSpacing,r.letterSpacingTablet,r.letterSpacingPhone),c=Uo("spacing",r.paragraphSpacing,r.paragraphSpacingTablet,r.paragraphSpacingPhone),f=xO("textSize",r.size,r.sizeTablet,r.sizePhone,gr()),u=a7[e.id],p=[];for(let[x,g]of[["tablet",zf],["phone",rs]]){let I=[],k=[],S=f[x],C=s[x],b=n[x]===void 0&&C===void 0||S===void 0?void 0:C===void 0?S:Math.min(S,C);b!==void 0&&k.push(`font-size: ${b}px`);let v=[];l[x]!==void 0&&v.push(`line-height: ${l[x]}`),d[x]!==void 0&&v.push(`letter-spacing: ${d[x]}em`),e.kind==="body"&&k.push(...v),c[x]!==void 0&&k.push(`--sf-part-para: ${c[x]}px`),k.length&&I.push(`${o} { ${k.join("; ")} }`),e.kind==="heading"&&v.length&&I.push(`${o}, ${t}:is(h1, h2, h3, h4), ${a}:is(h1, h2, h3, h4) { ${v.join("; ")} }`),c[x]!==void 0&&I.push(`*:has(> ${a}) { --sf-part-para: ${c[x]}px }`),c[x]!==void 0&&!r.paragraphSpacing&&I.push(...Xf(`:is(${o})`,`*:has(> ${a})`)),b!==void 0&&u&&I.push(`.sf-themed-content { --size-${u}: ${b}px !important }`),I.length&&p.push(`@media ${g} { ${I.join(" ")} }`)}return p}var a7={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function BPe(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function vO(e){return e?Kf[e]:void 0}function SI(e){let o=Yl(e);return Kt({font:e.font,color:e.color===void 0?void 0:Ko(e.color),size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function kO(e){return Object.keys(SI(e)).length>0}function TO({saved:e,old:o,styleId:t,values:a}){let r=bO(e);return{saved:r7(r,t,a),old:o}}function r7(e,o,t){return e.map(a=>a.id===o?II({...a,values:Kt({...a.values,...t})},a.auto):a)}var d7={desktop:"desktop",tablet:"tablet",mobile:"phone"},PO=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],c7=["size","lineSpacing","letterSpacing","letterCase"],f7=500,wI=ht.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function EO({saved:e,old:o,colours:t,colourNameOf:a,sizeOf:r,onChange:n,openId:s,onOpenChange:l,readOnly:d=!1,withoutSize:c=!1}){let f=i7(),[u,p]=s7(null),x=ga(e,o),g=d7[f],I=CO(x,r,g);return n7(l7,{styles:I,onChange:k=>n(yO({saved:e,old:o,cur:I,next:k,sizeOf:r,panelView:g})),fonts:wI,colours:t,colourNameOf:a,settings:c?PO.filter(k=>k!=="size"):PO,auto:c7,openId:s===void 0?u:s,onOpenChange:l??p,readOnly:d,device:g,fallback:k=>{let S=x.find(b=>b.id===(k.kind==="heading"?"heading-1":"body-1")),C={};return S?.values.font&&k.id!==S.id&&(C.font=S.values.font),k.kind==="heading"&&(C.weight=f7),C}})}var _O=["font","size","weight","emphasis"],m7=500;function h7({font:e,size:o,weight:t,italic:a}){let r={font:e};return o!==null&&(r.size=o),t!==null&&(r.weight=t),a!==null&&(r.italic=a),{id:"accent",kind:"heading",name:i("Emphasis"),values:r}}function x7(e,o){let t=[],a=e.values,r=o.values;return r.font!==a.font&&r.font!==void 0&&t.push({key:"font",value:r.font}),r.size!==a.size&&t.push({key:"size",value:r.size??null}),r.weight!==a.weight&&t.push({key:"weight",value:r.weight??null}),r.italic!==a.italic&&t.push({key:"italic",value:r.italic??null}),t}function AO(e){let{headingWeight:o,open:t,onOpenChange:a,onChange:r,withoutSize:n=!1}=e,s=h7(e);return OO(u7,{label:i("Emphasis"),children:OO(p7,{style:s,fonts:wI,settings:n?_O.filter(l=>l!=="size"):_O,auto:["size"],fallback:()=>({weight:o??m7}),open:t,onOpenChange:a,onChange:l=>x7(s,l).forEach(r)})})}import{EmptyState as G7,SliderGroup as $7,Tabs as z7,Tooltip as aEe,tabButtonId as U7,tabPanelId as j7}from"efficient-shell/ui";import{ContrastIcon as K7,SettingsIcon as V7,TypeIcon as q7}from"efficient-easel/icons";function RO(e){switch(e.status){case"saved":return null;case"failed":return{msg:i("Not saved. Try again."),tone:"error"};case"skipped":switch(e.reason){case"empty":return null;case"no-token":return{msg:i("Not saved. Reload the page."),tone:"error"};case"template":return{msg:i("Templates keep their look. Press Done."),tone:"success"}}}}import{jsx as TI}from"react/jsx-runtime";import{ListIcon as O7,PaddingTopIcon as _7}from"efficient-easel/icons";import{jsx as Jf}from"react/jsx-runtime";import{SettingsDefaultReset as g7,SettingsField as I7,SettingsSegmented as b7}from"efficient-easel/panel";import{WidthIcon as y7}from"efficient-easel/icons";function LO({value:e,resolved:o,onChange:t,label:a="Width",labelId:r,followsLabel:n,hint:s}){let l=e===void 0,d=l?o:e,c=i(a);return Jf(I7,{label:c,labelId:r,icon:Jf(y7,{}),value:l?n:void 0,changed:!l,action:Jf(g7,{words:re()?.panel,label:c,changed:!l,onReset:()=>t(void 0)}),hint:s,children:Jf(b7,{options:[{label:i(Lr.full),id:"full"},{label:i(Lr.page),id:"content"}],value:d,ariaLabel:c,onChange:t})})}import{HEADER_TYPE as CI,FOOTER_TYPE as S7}from"efficient-easel/draw";var w7=new Set(["Hero","HeroSingle","IntroBleed"]),FO={min:56,max:140,default:88},r0e={min:0,max:120,step:2,default:32},n0e=`var(--sf-header-h, ${FO.default}px)`,C7="--sf-header-set-h",s0e="--sf-header-h",l0e=`var(${C7}, ${FO.default}px)`,i0e="sf-header-clearance",d0e="sf-sticky-underheader";function v7(e){return e?.find(o=>o?.type&&o.type!==CI)??null}function BO(e){let o=v7(e)?.type;return!o||!w7.has(o)}function c0e(e){return!BO(e)}function f0e(e){return!!e?.some(o=>o?.type===CI)}function p0e(e){return!e||e.length===0?!1:!e.some(o=>o?.type===CI||o?.type===S7)}var k7=["auto","shared","own"],vI="auto",T7="topSpace",u0e="data-top-space";function P7(e){return k7.includes(e)?e:vI}function E7(e,o){let t=P7(e?.props?.[T7]);return t==="own"?!0:t==="shared"?!1:BO(o)}function m0e(e,o){return E7(e,o)?"own":null}function A7(){return{type:"custom",render:({value:e,onChange:o})=>TI(LO,{value:e==="full"?"full":e==="content"?"content":void 0,resolved:"content",label:"Page width",followsLabel:i("Follows the site"),hint:i("Whether this page sits on the site's content column, or runs edge to edge."),onChange:t=>o(t)})}}var R7=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],k0e={pageBackground:W0(),topSpace:ca("Top space",TI(_7,{}),R7,vI),widthChoice:A7()},Jl=["pageBackground","topSpace","widthChoice"],L7="Record type",kI=new Map,DO=-1;function F7(e){DO!==zh()&&(kI.clear(),DO=zh());let o=$h(),t=o.some(r=>r.key===e)?"":e,a=kI.get(t);return a||(a=ca(L7,TI(O7,{}),[...o.map(r=>({label:r.label,value:r.key})),...t?[{label:t,value:t}]:[]],Fa),kI.set(t,a)),a}var NO=new WeakMap;function T0e(e,o){if(!gl()||$h().length<2||sc in e)return e;let t=F7(xl(o)),a=NO.get(e);if(a&&a.row===t)return a.fields;let r={[sc]:t,...e};return NO.set(e,{row:t,fields:r}),r}import{previewFrame as Y7}from"efficient-easel/screen/lib/document/preview-dom";var MO="background";function HO(e){let o=Bo(Sn(e));return Wn({main:o.accent,text:o.text,background:o.background,muted:o.muted}).map(t=>({key:t.name,name:t.label??t.name,value:t.value}))}function WO(e){return HO(e).filter(o=>o.key!==MO)}function GO(e){let o=HO(e).filter(t=>t.key===MO);return t=>{let a=Ko(t);return o.find(r=>r.key===a)?.value??a}}import{useEasel as B7}from"efficient-easel/easel";function Zf({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=B7(P=>P),{fonts:r,setFonts:n,sizes:s,setSizes:l,headingCompression:d,setHeadingCompression:c,headingTypography:f,setHeadingTypography:u,textStyles:p,setTextStyles:x}=xe(),g=t.data,I=g.root?.props??{},k=e?js(I.fonts):r,S=e?rw:s,C=e?dr(I.headingCompression):d,b=e?fw(I.headingTypography):f,v={fonts:k,sizes:S,compression:C,typography:b},T=e?I.textStyles:p,F=P=>a({type:"replaceRoot",root:{...g.root,props:{...I,...P}},recordHistory:!0});return{fonts:k,sizes:S,compression:C,typography:b,old:v,saved:T,write:(P,D)=>{let O=yI(ga(P.saved,P.old),P.old);e?F({textStyles:P.saved,fonts:O.fonts,headingCompression:O.compression,headingTypography:O.typography}):(x(P.saved),n(O.fonts),l(O.sizes),c(O.compression),u(O.typography)),o(SO(P,v),D)},writeRoot:F}}var EI="sf-site-styles",X7="sf-site-styles-tabpanel",UO="text",ms="basics",$O="this-page-group",ps=[{id:ms,label:"Basics",icon:be(V7,{})},{id:"theme",label:"Theme",icon:be(K7,{})},{id:"text",label:"Text",icon:be(q7,{})}];function J7({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=zO(c=>c),{theme:r,setTheme:n}=xe(),s=t.data,l=s.root?.props??{},d=c=>{if(e){let f={...l,theme:c};a({type:"replaceRoot",root:{...s.root,props:f},recordHistory:!0})}else n(c);o({selected_preset:c.selected,theme_presets:c.themes})};return be(PE,{value:e?l.theme:r,onChange:d})}function Z7({themeFromDocument:e,persist:o}){let[t,a]=OI(null),{theme:r,setFonts:n,setSizes:s,setHeadingTypography:l}=xe(),d=Zf({themeFromDocument:e,persist:o}),{old:c,saved:f,writeRoot:u}=d,p=d.fonts,x=d.sizes,g=d.typography,I=P=>P.values.size??tq(Q7[P.id]??"body")??eq[P.kind],k=P=>d.write(P),S=WO(r),C=GO(r),b=P=>{let D={...p,accent:P};e?u({fonts:D}):n(D),o({accent_font:P})},v=P=>{s({...x,accent:P}),o({accent_size_px:P})},T=P=>{let D={...g,weightStrong:P};e?u({headingTypography:D}):l(D),o({heading_weight_strong:P})},F=P=>{let D={...g,italicStrong:P};e?u({headingTypography:D}):l(D),o({accent_italic:P})};return $r(us,{children:[be(EO,{saved:f,old:c,colours:S,colourNameOf:C,sizeOf:I,onChange:k,openId:t===PI?null:t,onOpenChange:a,withoutSize:e}),be(AO,{font:p.accent,size:x.accent,weight:g.weightStrong,italic:g.italicStrong,headingWeight:g.weight,open:t===PI,onOpenChange:P=>a(P?PI:null),onChange:P=>{P.key==="font"?b(P.value):P.key==="size"?v(P.value):P.key==="weight"?T(P.value):F(P.value)},withoutSize:e})]})}var PI="accent",Q7={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},eq={heading:32,body:14},oq={heading:"main h1, main h2",heading2:"main h1, main h2",heading3:"main h1, main h2",accent:"main h1 em, main h2 em",body:"main p",label:"main .mono-eyebrow"};function tq(e){if(typeof document>"u")return null;let o=(Y7()?.contentDocument??document).querySelector(oq[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function aq({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=zO(u=>u),{cornerRadiusPx:r,setCornerRadiusPx:n}=xe(),s=t.data,l=s.root?.props??{},d=l.cornerRadiusPx===void 0?sw[nw(l.cornerStyle)]:Nt(l.cornerRadiusPx),c=e?d:r,f=u=>a({type:"replaceRoot",root:{...s.root,props:{...l,...u}},recordHistory:!0});return be(EE,{value:c,onChange:u=>{e?f({cornerRadiusPx:u}):n(u),o({corner_radius_px:u})}})}function rq(e){return{site_width:e}}function nq({persist:e}){let{siteWidth:o,setSiteWidth:t,sectionBackgroundWidth:a,setSectionBackgroundWidth:r,sectionContentWidth:n,setSectionContentWidth:s}=xe();if(_I()!=="desktop")return null;let l=typeof o=="number"?o:ho.default,d=u=>{t(u),e(rq(u),u===null)},c=u=>{r(u),e({section_background_width:u},!0)},f=u=>{s(u),e({section_content_width:u},!0)};return $r(us,{children:[be(UE,{value:a??"full",changed:a!==null,detail:i("Full width"),onChange:c,onReset:()=>c(null),hint:$E}),be(jE,{mode:n??"content",px:l,min:ho.min,max:ho.max,changed:typeof o=="number"||n!==null,detail:`${i("Content width")} ${ho.default}px`,onMode:f,onPx:u=>d(u),onReset:()=>{f(null),d(null)},hint:zE})]})}function sq(e){return{block_gap:e}}function lq(e){return{block_gap_phone:e}}function iq(e){return{site_gutter:e}}function dq(e){return{site_gutter_phone:e}}function jO(e,[o,t],a){o(e),a(t(e),e===null)}function cq({persist:e}){let{siteGutter:o,siteGutterPhone:t,setSiteGutter:a,setSiteGutterPhone:r}=xe(),n=WE(_I(),{gutter:o,phone:t});if(!n)return null;let s=n.key==="site_gutter_phone"?[r,dq]:[a,iq];return be(GE,{value:n.value,onChange:l=>jO(l,s,e),unsetPx:n.unsetPx,bounds:n.bounds})}function fq({persist:e}){let{blockGap:o,blockGapPhone:t,setBlockGap:a,setBlockGapPhone:r}=xe(),n=LE(_I(),{gap:o,phone:t});if(!n)return null;let s=n.key==="block_gap_phone"?[r,lq]:[a,sq];return be(FE,{value:n.value,onChange:l=>jO(l,s,e),followsPx:n.followsPx})}function pq({persist:e}){return $r(us,{children:[be(nq,{persist:e}),be(cq,{persist:e}),be(fq,{persist:e})]})}function uq(e){return{card_shadow:e}}function mq(e){return e===null?{shadow_color:null}:{shadow_color:dw(e)}}function hq(e){return{hover_effect:e}}function xq({persist:e}){let{cardShadow:o,setCardShadow:t,shadowColor:a,setShadowColor:r,hoverEffect:n,setHoverEffect:s}=xe();return $r(us,{children:[be(OE,{value:o,onChange:l=>{t(l),e(uq(l),!0)}}),be(AE,{value:a,onChange:l=>{r(l),e(mq(l),l===null)}}),be(BE,{value:n,onChange:l=>{s(l),e(hq(l),!0)}})]})}function gq(e){return{photography_grayscale:e}}function Iq({persist:e}){let{photographyGrayscale:o,setPhotographyGrayscale:t}=xe();return be(NE,{value:o,onChange:a=>{t(a),e(gq(a),!0)}})}function bq({persist:e}){return be(us,{children:be(Iq,{persist:e})})}function yq(e){return{share_button_on_posts:e}}function Sq({persist:e}){let{shareButtonOnPosts:o,setShareButtonOnPosts:t}=xe();return be(ME,{value:o,onChange:a=>{t(a),e(yq(a),!0)}})}function hs(){let{websiteName:e}=xe();return e?.trim()||Pw}function Qf({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:a,tab:r,onTabChange:n,initialTab:s,revealPageGroup:l=!1,onPageGroupRevealed:d}){let{persist:c}=zn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:k=>{let S=RO(k);S&&a?.(S.msg,S.tone)}}),[f,u]=OI(s??ps[0].id),p=r!==void 0,x=p?r:f,g=p?n??(()=>{}):u,I=ps.find(k=>k.id===x)??ps[0];return $r($7,{children:[be(vq,{activeId:I.id,onSelect:g}),$r("div",{id:j7(EI,I.id),className:X7,role:"tabpanel","aria-labelledby":U7(EI,I.id),children:[x===ms&&$r(us,{children:[be(aq,{themeFromDocument:e,persist:c}),!e&&be(xq,{persist:c}),!e&&be(pq,{persist:c}),!e&&be(bq,{persist:c}),!e&&be(Sq,{persist:c}),be(wq,{reveal:l,onRevealed:d})]}),x==="theme"&&be(J7,{themeFromDocument:e,persist:c}),x==="text"&&be(Z7,{themeFromDocument:e,persist:c})]})]})}function wq({reveal:e,onRevealed:o}){let[t,a]=OI(!0),r=W7(o);return r.current=o,H7(()=>{if(!e)return;a(!0);let n=requestAnimationFrame(()=>{document.getElementById($O)?.scrollIntoView({block:"start"}),r.current?.()});return()=>cancelAnimationFrame(n)},[e]),be(M7,{title:i("This page"),open:t,onToggle:a,id:$O,children:be(Cq,{})})}function Cq(){let{fields:e,values:o,readOnly:t,onChange:a}=D7(),r=Object.fromEntries(Jl.filter(n=>n in e).map(n=>[n,e[n]]));return Object.keys(r).length===0?be(G7,{variant:"none",icon:!1,message:i("This page has no look of its own to set.")}):be(N7,{fields:r,values:o,onChange:a,readOnly:t,tabs:!1,idPrefix:"this-page",ariaLabel:i("This page")})}function vq({activeId:e,onSelect:o}){return be("div",{className:"es-insp-tabs",children:be(z7,{variant:"underline",block:!0,labelsFit:!0,"aria-label":i("Styles"),idPrefix:EI,value:e,onChange:o,items:ps.map(t=>{let a=i(t.label);return{id:t.id,icon:t.icon,label:a}})})})}import{InspectorIconButton as Fq}from"efficient-easel/chrome";import{Button as QO,Dialog as Bq,FormField as Dq,Input as e_,PopupMenu as Nq,PopupMenuItem as o_,toast as t_}from"efficient-shell/ui";import{LayersTree as Mq,TreeGroupLabel as Hq,TreeRow as a_,TreeRowAction as ap}from"efficient-easel/tree";import{AddIcon as Wq,DuplicateIcon as Gq,PageIcon as $q,SettingsIcon as zq}from"efficient-easel/icons";import{PagesIcon as Uq}from"efficient-easel/rail";import{useEaselHost as jq}from"efficient-easel/screen/lib/host";import{useEaselSession as l_}from"efficient-easel/screen/lib/session-context";import{useCallback as ep,useEffect as kq,useSyncExternalStore as Tq}from"react";import{useScreenDocument as YO}from"efficient-easel/screen/components/ScreenDocumentContext";var KO=new WeakMap;function Zl(e){let o=KO.get(e);return o||(o={rows:null,loading:null,listeners:new Set},KO.set(e,o)),o}function AI(e,o){e.rows=o;for(let t of e.listeners)t()}var op=new Set;function tp(e,o){o?op.add(e):op.delete(e)}function VO(e){let o=Zl(e),t=e.listPages().then(a=>AI(o,op.size?a.filter(r=>!op.has(r.id)):a),()=>AI(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var qO=()=>null,Pq=()=>()=>{};function Ql(){let{adapter:e,ready:o}=YO(),t=ep(l=>{let{listeners:d}=Zl(e);return d.add(l),()=>d.delete(l)},[e]),a=ep(()=>Zl(e).rows,[e]),r=Tq(o?t:Pq,o?a:qO,qO);kq(()=>{if(!o)return;let l=Zl(e);l.rows===null&&!l.loading&&VO(e)},[e,o]);let n=ep(()=>o?VO(e):Promise.resolve(),[e,o]),s=ep(l=>AI(Zl(e),l),[e]);return{rows:r,reload:n,setRows:s,getRows:a}}function Eq(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function XO(){let{currentSlug:e}=YO(),{rows:o}=Ql();return Eq(o,e)}import{canDuplicatePage as Kq,DuplicatePageDialog as Vq,uniqueSlug as r_}from"efficient-easel/page-copy";var n_="sf-editor-pages-collapsed-groups";function qq(){let e=l_(),{siteId:o,templateId:t}=s_(),a=ze(e).pages;if(!(!a.duplicate||t))return(r,n)=>a.duplicate(r.id,{...n,...o?{siteId:o}:{}})}function Yq(){try{let e=Pn()||(typeof window>"u"?"":window.location.origin);return e?new URL(e).host:""}catch{return""}}function i_({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:a}){let r=l_().chrome?.pageRows,n=jq(),{adapter:s,capabilities:l,ready:d,currentSlug:c}=s_(),f=hs(),{rows:u,reload:p,setRows:x,getRows:g}=Ql(),[I,k]=qa(""),[S,C]=qa(!1),[b,v]=qa(null),[T,F]=qa(!1),[P,D]=qa(""),O=Aq(),R=qq(),[N,y]=qa(null),[A,L]=qa(()=>{if(typeof window>"u")return new Set;try{let W=window.localStorage.getItem(n_);return new Set(W?JSON.parse(W):[])}catch{return new Set}});_q(()=>{try{window.localStorage.setItem(n_,JSON.stringify([...A]))}catch{}},[A]);let H=W=>L(Le=>{let ne=new Set(Le);return ne.has(W)?ne.delete(W):ne.add(W),ne}),X=ZO(()=>nk(u??[]),[u]),q=I.trim().toLowerCase(),U=W=>!q||W.toLowerCase().includes(q),ge=W=>q?!0:!A.has(W),te=ZO(()=>new Set((u??[]).map(W=>W.slug)),[u]),Re=()=>{if(l.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}D(""),v(null),F(!0)},We=async()=>{let W=P.trim();if(!(!W||!d||S||!s.createPage)){C(!0),v(null);try{let Le=await s.createPage({slug:r_(W,te),title:W,layout:{}});await p(),F(!1),D(""),e(Le.slug)}catch{v(i("Couldn\u2019t add the page \u2014 please retry."))}finally{C(!1)}}},Pe=l.hasSiteSettings&&!!s.createPage,Ie=async()=>{if(!(!d||S||!s.createPage)){C(!0),v(null);try{let W=await s.createPage(pP(i("New popup"),te));await p(),e(W.slug)}catch{v(i("Couldn\u2019t add the popup \u2014 please retry."))}finally{C(!1)}}},Ee=Rq(null),[Ge,to]=qa(null),So=()=>{if(!Pe)return Re();if(Ge)return to(null);let W=Ee.current?.getBoundingClientRect();W&&to({top:W.bottom+6,right:Math.max(8,window.innerWidth-W.right)})},he=W=>{let Le=u??[],ne=s.deletePage;if(!d||S||!ne||Le.length<=1)return;let Fe=Le.findIndex(Ze=>Ze.id===W.id),_e=Le.filter(Ze=>Ze.id!==W.id),pt=W.slug===c;tp(W.id,!0),x(_e),v(null),pt&&_e[0]&&e(_e[0].slug);let Bt=()=>{tp(W.id,!1);let Ze=g()??[];if(Ze.some(Dt=>Dt.id===W.id))return;let ut=[...Ze];ut.splice(Math.max(0,Math.min(Fe,ut.length)),0,W),x(ut)};t_.undoable(i("Deleted \u201C{name}\u201D",{name:W.label}),{actionLabel:i("Undo"),commit:async Ze=>{await ne(W.id,Ze),tp(W.id,!1)},undo:()=>{Bt(),pt&&e(W.slug)},onFail:()=>{Bt(),t_.error(i("Couldn\u2019t delete the page \u2014 please retry."))}})},Ke=W=>n.send("storefront-editor:open-page",{slug:W}),Oe=W=>{if(!U(W.label))return null;let Le=!t&&W.slug===c,ne=l.canDeletePagesInline&&(u??[]).length>1,Fe=vr(W),_e=rk(W),pt=[...Fe?[{label:i("Dynamic"),tone:"info"}]:[],..._e?[{label:i("Lightbox"),tone:"success"}]:[],...W.draft?[{label:i("draft"),tone:"draft"}]:[]],Bt=pt.length>0?pt:void 0,Ze=!!R&&Kq(W),ut=Ze||l.pageCreationInAdminForm||ne?ei(JO,{children:[Ze&&we(ap,{kind:"plain",label:i("Duplicate \u201C{name}\u201D",{name:W.label}),disabled:S,onClick:()=>y(W),children:we(Gq,{size:13})}),l.pageCreationInAdminForm&&we(ap,{kind:"plain",label:i("Page settings for \u201C{name}\u201D",{name:W.label}),onClick:()=>Ke(W.slug),children:we(zq,{size:13})}),ne&&we(ap,{kind:"delete",label:i("Delete \u201C{name}\u201D",{name:W.label}),disabled:S,onClick:()=>he(W),children:we(RI,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return we(a_,{icon:we($q,{size:14}),name:W.label,selected:Le,onSelect:()=>e(W.slug),badge:Bt,actions:ut,rowProps:{"data-page-slug":W.slug}},W.id)},ve=(W,Le,ne)=>{let Fe=ne.filter(Boolean);if(Fe.length===0)return null;let _e=ge(W);return ei(Oq,{children:[we(Hq,{count:Fe.length,countLabel:Po("{n} page","{n} pages",Fe.length),expanded:_e,onToggle:()=>H(W),children:Le}),_e&&Fe]},W)},Ye=(r?.rows??[]).filter(W=>U(W.label)).map(W=>{let Le=t===W.key;return we(a_,{icon:W.icon,name:W.label,selected:Le,onSelect:()=>a(W.key),badge:{label:i("Preview"),tone:"warning"},actions:we(ap,{kind:"plain",label:i("Open the {name} in a new tab",{name:W.label}),onClick:()=>window.open(W.href,"_blank","noopener,noreferrer"),children:we(RI,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":W.key}},W.key)}),Ft=l.hasSiteSettings&&!!r,Fo=(()=>{if(u===null)return null;let W=[],Le=!1;for(let ne of X){Ft&&!Le&&ne.key.startsWith("system:")&&(W.push(ve("shop",r.title,Ye)),Le=!0);let Fe=ne.key===Kh||ne.label===jh?i(ne.label):ne.label;W.push(ve(ne.key,Fe,ne.rows.map(Oe)))}return Ft&&!Le&&W.push(ve("shop",r.title,Ye)),W})();return ei("div",{className:"sf-pages",children:[we(Lq,{icon:we(Uq,{}),title:i("Pages"),context:f,actions:we(Fq,{buttonRef:Ee,label:Pe?i("Add"):i("New page"),hasPopup:Pe?"menu":void 0,expanded:Pe?Ge!==null:void 0,onClick:So,children:we(Wq,{size:15})})}),Ge&&we(Nq,{portal:!0,style:{top:Ge.top,right:Ge.right},onClose:()=>to(null),children:ei("div",{role:"menu","aria-label":i("Add"),children:[we(o_,{role:"menuitem",onClick:()=>{to(null),Re()},children:i("Page")}),we(o_,{role:"menuitem",disabled:S,onClick:()=>{to(null),Ie()},children:i("Popup")})]})}),we("div",{className:"sf-pages-find",children:we(e_,{type:"search",leftIcon:we(RI,{name:"search",size:14,rounded:!0}),placeholder:i("Search all pages\u2026"),value:I,onChange:W=>k(W.target.value),"aria-label":i("Search all pages")})}),b&&!T&&we("div",{className:"sf-note sf-note--error",role:"alert",children:b}),Fo===null?we("div",{className:"sf-note",children:i("Loading\u2026")}):Fo.some(Boolean)?we(Mq,{ariaLabel:i("Pages"),className:"sf-scroll",children:Fo}):we("div",{className:"sf-note",children:I.trim()?i("No pages match your search"):i("No pages yet. Add one with + above.")}),R&&N&&we(Vq,{source:{title:N.label,slug:N.slug},taken:te,host:Yq(),duplicate:W=>R(N,W),onClose:()=>y(null),onDuplicated:W=>{y(null),p(),e(W.slug)}},N.id),we(Bq,{open:T,onClose:()=>F(!1),size:"sm",title:i("Add a page"),description:i("Give the new template page a name. It starts blank \u2014 add sections once it opens."),footer:ei(JO,{children:[we(QO,{variant:"secondary",onClick:()=>F(!1),children:i("Cancel")}),we(QO,{onClick:()=>{We()},disabled:S||!P.trim(),loading:S,children:i("Add page")})]}),children:we(Dq,{label:i("Page name"),htmlFor:O,hint:P.trim()?i("URL: /{slug}",{slug:r_(P,te)}):void 0,error:b??void 0,children:we(e_,{id:O,value:P,invalid:!!b,onChange:W=>D(W.target.value),onKeyDown:W=>{W.key==="Enter"&&We()},placeholder:i("e.g. About")})})})]})}import{jsx as f_}from"react/jsx-runtime";import{createContext as Jq,useCallback as Zq,useContext as Qq,useMemo as eY,useState as oY}from"react";import{CanvasChromeContext as tY}from"efficient-easel/easel";import{useSelectHandler as aY}from"efficient-easel/draw/client";import{parseHexColor as Xq}from"efficient-shell/format";var rp=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],xs=rp[0];var zr="right";function np(e){return rp.includes(e??"")?e:xs}function d_(e){return e==="left"?"left":zr}function c_(e){return e&&Xq(e)===e.toLowerCase()?e.toLowerCase():""}var p_="chat",sp={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:zr,launcherLabel:"",showOnPhones:!0};function VEe(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:c_(e.launcherColor),launcherIcon:e.launcherIcon?np(e.launcherIcon):"",launcherPosition:d_(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var u_=Jq({chat:sp,setChat:()=>{},setSelected:()=>{},setSelectHandler:()=>{}});function qEe({children:e,chat:o=sp,onChatChange:t}){let[a,r]=oY(!1),n=Zq(c=>t?.(c),[t]),{select:s,setSelectHandler:l}=aY(),d=eY(()=>({selected:()=>a?p_:null,select:c=>c===p_&&s()}),[a,s]);return f_(u_.Provider,{value:{chat:o,setChat:n,setSelected:r,setSelectHandler:l},children:f_(tY.Provider,{value:d,children:e})})}var lp=()=>Qq(u_);import{jsx as LI}from"react/jsx-runtime";import{DesktopIcon as rY,PhoneIcon as nY,TabletIcon as sY}from"efficient-easel/icons";import{VIEW_TIERS as lY,VIEW_TIER_LABEL as iY}from"efficient-easel/draw";var dY={desktop:LI(rY,{}),tablet:LI(sY,{}),mobile:LI(nY,{})},m_=lY.map(e=>({id:e,get label(){return i(iY[e])},icon:dY[e]}));import{PreviewDeviceContext as ode}from"efficient-easel/draw/client";import{jsx as cY}from"react/jsx-runtime";import{createContext as fY,useCallback as h_,useContext as pY,useMemo as uY,useRef as mY}from"react";var hY=Object.fromEntries(kd.map(e=>[e,{value:"",error:null}])),x_=fY({links:Ow,rows:hY,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function rOe({children:e,value:o}){let t=mY(()=>{}),a=h_(()=>t.current(),[]),r=h_(s=>{t.current=s},[]),n=uY(()=>({...o,openPanel:a,setOpenHandler:r}),[o,a,r]);return cY(x_.Provider,{value:n,children:e})}var oi=()=>pY(x_);import{jsx as xY}from"react/jsx-runtime";import{createContext as gY,useContext as IY,useMemo as bY,useState as yY}from"react";var g_=gY(null);function iOe({children:e}){let[o,t]=yY(null),a=bY(()=>({surface:o,setSurface:t}),[o]);return xY(g_.Provider,{value:a,children:e})}function I_(){return IY(g_)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as SY}from"efficient-easel/draw/client";var ti="Scrolling Bar",{Provider:fOe,useSelection:b_}=SY("selectedHeroId"),pOe="data-sf-hero-ticker";function uOe(e){return`${e}::ticker`}function mOe(e){return!e||!e.endsWith("::ticker")?null:e.slice(0,-8)||null}var y_=["","","","","",""],S_="#ticker",ai="strip",FI={sectionAccent:et,line:!1};function wY(e){return(Array.isArray(e.tickerItems)?e.tickerItems:[]).map(o=>typeof o?.text=="string"?o.text:"").filter(o=>o.trim()!=="")}function BI(e){return wY(e).length>0}function gOe(e){return e.showTicker!==!1&&BI(e)}import{createPreviewSelectionContext as CY}from"efficient-easel/draw/client";var{Provider:yOe,useSelection:ip}=CY("selectedHeroPart");var C_=["one","side","stacked"];var wOe={one:"One",side:"Side by side",stacked:"Stacked"};function dp(e){return C_.includes(e)?e:"one"}function w_(e){return e==="one"?1:2}function DI(e,o){if(C_.includes(e))return e;let t=dp(o);return t==="side"?"stacked":t}function ri(e){let o=dp(e.mediaLayout);return Math.max(w_(o),w_(DI(e.mediaLayoutPhone,o)))}var Ur=["media","image","image2"],jr={media:"Media",image:"Image",image2:"Image 2"},ni={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function cp(e,o){return e==="image"&&ri(o)>1?"Image 1":jr[e]}var TOe="Video file",POe="Upload a video file";function vY(e,o){return{field:"mediaType",is:e,default:o}}var kY=new Set(["HeroSingle"]),v_="heroPart";function TY(e,o){return{...o,[v_]:e}}function EOe(e,{parts:o={},onlyFor:t,fallback:a,rules:r}){let n={...e};for(let s of["image","video"])for(let l of t[s])n[l]=Je(n[l],vY(s,a));for(let[s,l]of Object.entries(r??{}))l&&(n[s]=Je(n[s],l));for(let s of Ur)for(let l of o[s]??[])n[l]=TY(s,n[l]);return n}function PY(e){let o=e?.[v_];return Ur.includes(o)?o:null}function k_(e,o){let t={};for(let[a,r]of Object.entries(e))PY(r)===o&&(t[a]=r);return t}function T_(e){if(!kY.has(e.type))return[];let o=[{part:"media",label:jr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:cp("image",e.props),depth:1}),ri(e.props)>1&&o.push({part:"image2",label:cp("image2",e.props),depth:1})),o}function si(e,o){return`${e}::${o}`}function P_(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return Ur.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var E_="data-sf-hero-part";import{jsx as Se,jsxs as ar,Fragment as qB}from"react/jsx-runtime";import{useEasel as Sre,useRootFields as wre}from"efficient-easel/easel";import{Button as Cre,EmptyState as vre}from"efficient-shell/ui";function O_({kind:e,pageName:o}){return{name:o?.trim()||i("This page"),kindLabel:vr({kind:e})?i("Template"):i("Page")}}import{headWords as ZB,InspectorHead as kre,InspectorIconButton as YB}from"efficient-easel/chrome";import{DuplicateIcon as Tre,TrashIcon as Pre}from"efficient-easel/icons";import{panelFieldsOf as Ere}from"efficient-easel/screen/lib/document/panel-fields";import{jsx as B,Fragment as ue,jsxs as me}from"react/jsx-runtime";import{BlockBannerIcon as _Y,BlockBoxIcon as AY,BlockButtonIcon as RY,BlockDividerIcon as A_,BlockFooterIcon as R_,BlockHeadingIcon as LY,BlockProductIcon as FY,BlockSocialIcon as BY,BlockTextIcon as DY,CardPaymentIcon as NY,ChatIcon as MY,AccountIcon as HY,GlobeIcon as WY,GridIcon as GY,ImageIcon as MI,MapIcon as $Y,MediaIcon as zY,PageIcon as UY}from"efficient-easel/icons";import{jsx as NI,Fragment as EY,jsxs as OY}from"react/jsx-runtime";var __=OY(EY,{children:[NI("circle",{cx:"9",cy:"20",r:"1.3"}),NI("circle",{cx:"18",cy:"20",r:"1.3"}),NI("path",{d:"M2.5 3.5h3l2.3 11.3a1.6 1.6 0 0 0 1.6 1.3h8.1a1.6 1.6 0 0 0 1.6-1.2L21 7H6"})]});var jY={header:me(ue,{children:[B("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),B("path",{d:"M3 9.5h18"})]}),social:me(ue,{children:[B("circle",{cx:"6",cy:"12",r:"2.5"}),B("circle",{cx:"18",cy:"6",r:"2.5"}),B("circle",{cx:"18",cy:"18",r:"2.5"}),B("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:me(ue,{children:[B("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),B("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:me(ue,{children:[B("path",{d:"M4 15.5h6M4 18h4"}),B("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:B("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:me(ue,{children:[B("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),B("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:B("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:me(ue,{children:[B("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),B("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:me(ue,{children:[B("circle",{cx:"11",cy:"11",r:"6"}),B("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:__,CountrySwitchBlock:me(ue,{children:[B("circle",{cx:"12",cy:"12",r:"8.5"}),B("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"})]}),ThemeSwitchBlock:me(ue,{children:[B("circle",{cx:"12",cy:"12",r:"8.5"}),B("path",{d:"M12 3.5v17M12 5.5l6 6M12 10.5l5.2 5.2M12 15.5l2.8 2.8"})]}),LegalLineBlock:me(ue,{children:[B("path",{d:"M3 9h18"}),B("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:me(ue,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:me(ue,{children:[B("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),B("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:me(ue,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),B("path",{d:"M7 17h7"})]}),Collections:me(ue,{children:[B("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),B("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),B("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:me(ue,{children:[B("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),B("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:me(ue,{children:[B("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),B("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:me(ue,{children:[B("path",{d:"M3 7h9M15.5 7H21"}),B("circle",{cx:"13.5",cy:"7",r:"1.7"}),B("path",{d:"M3 12h4M10.5 12H21"}),B("circle",{cx:"8.5",cy:"12",r:"1.7"}),B("path",{d:"M3 17h9M15.5 17H21"}),B("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:me(ue,{children:[B("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:me(ue,{children:[B("path",{d:"M3 5h10"}),B("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),B("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),B("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:me(ue,{children:[B("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),B("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),B("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:me(ue,{children:[B("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:me(ue,{children:[B("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),B("circle",{cx:"9",cy:"10",r:"1.6"}),B("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:me(ue,{children:[B("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),B("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:me(ue,{children:[B("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),B("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),B("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:me(ue,{children:[B("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),B("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:me(ue,{children:[B("path",{d:"M3.5 20h17"}),B("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:me(ue,{children:[B("circle",{cx:"6",cy:"12",r:"2.6"}),B("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),B("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:me(ue,{children:[B("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),B("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:me(ue,{children:[B("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),B("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:me(ue,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:me(ue,{children:[B("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),B("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:me(ue,{children:[B("path",{d:"M4 8.5h4.5M11 8.5h9"}),B("path",{d:"M4 14.5h16"})]}),HeroGroup:me(ue,{children:[B("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),B("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:me(ue,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M6.5 9h11M6.5 12.5h11"}),B("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:B(ue,{children:B("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:me(ue,{children:[B("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),B("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:me(ue,{children:[B("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),B("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),B("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),B("path",{d:"M4 13.5h11M4 17.5h7"}),B("path",{d:"M17 15l3 2-3 2"})]}),Contents:me(ue,{children:[B("path",{d:"M4 7h2M4 12h2M4 17h2"}),B("path",{d:"M9 7h11M9 12h9M9 17h10"})]}),ListSearch:me(ue,{children:[B("path",{d:"M4 6h9M4 11h5M4 16h5"}),B("circle",{cx:"15",cy:"15",r:"4"}),B("path",{d:"M20.5 20.5l-2.7-2.7"})]}),CustomHTML:B("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},KY=B("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),VY={footer:R_,Footer:R_,Divider:A_,FooterDivider:A_,Banner:_Y,Flex:AY,FooterSocial:BY,FooterPayment:NY,page:UY,website:WY,AccountBlock:HY,chat:MY,Heading:LY,Text:DY,ImageBlock:MI,ButtonBlock:RY,LocationMap:$Y,Grid:GY,ProductRef:FY,heroMedia:zY,heroImage:MI,heroImage2:MI},qY={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",PaymentLogosBlock:"FooterPayment",SiteHeader:"header",SiteFooter:"footer"};function Kr({type:e,size:o=16,className:t}){let a=qY[e]??e,r=VY[a];return r?B(r,{size:o,className:t}):B("svg",{width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",className:t,"aria-hidden":"true",children:jY[a]??KY})}import{PanelHideButton as XB}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as Ore}from"efficient-easel/screen/lib/session-context";import{jsx as Ce,jsxs as li,Fragment as YY}from"react/jsx-runtime";import{useEffect as XY,useId as L_,useState as JY}from"react";import{IconPicker as ZY}from"efficient-shell/ui";import{SettingsDefaultReset as QY,SettingsField as ii,SettingsSegmented as e9,SettingsSwitch as F_}from"efficient-easel/panel";import{ButtonIcon as o9,ButtonIconIcon as t9,EyeIcon as a9,PhoneIcon as r9,PlacementIcon as n9,TypeIcon as s9}from"efficient-easel/icons";var l9="Chat with us",i9="We usually reply within a few minutes",d9="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function fp({label:e,value:o,placeholder:t,onCommit:a,multiline:r=!1,hint:n}){let[s,l]=JY(o);XY(()=>l(o),[o]);let d=()=>{s!==o&&a(s)};return Ce(ii,{label:e,icon:Ce(s9,{}),changed:o!=="",action:Ce(di,{label:e,changed:o!=="",onReset:()=>a("")}),hint:n,children:r?Ce("textarea",{value:s,placeholder:t,rows:3,onChange:c=>l(c.target.value),onBlur:d,"aria-label":e}):Ce("input",{type:"text",value:s,placeholder:t,onChange:c=>l(c.target.value),onBlur:d,onKeyDown:c=>{c.key==="Enter"&&c.currentTarget.blur()},"aria-label":e,autoComplete:"off"})})}function di({label:e,changed:o,onReset:t}){return Ce(QY,{words:re()?.panel,label:e,changed:o,onReset:t})}function c9({label:e,icon:o,checked:t,fallback:a,onChange:r,hint:n}){let s=L_();return Ce(ii,{label:e,labelId:s,icon:o,changed:t!==a,action:li("span",{className:"inline-flex items-center gap-2",children:[Ce(F_,{checked:t,onChange:r,ariaLabelledBy:s}),Ce(di,{label:e,changed:t!==a,onReset:()=>r(a)})]}),hint:n})}var f9=rp.map(e=>({value:e,icon:pc(e)}));function p9(){let{theme:e}=xe(),o=ao(e).themes[0];return Ks(o)??o?.accent??""}function B_(){let{chat:e,setChat:o}=lp(),t=L_(),a=p9(),r=e.launcherIcon?np(e.launcherIcon):xs;return li(YY,{children:[Ce(ii,{label:i("Show the chat bubble"),labelId:t,icon:Ce(a9,{}),changed:!e.enabled,action:li("span",{className:"inline-flex items-center gap-2",children:[Ce(F_,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),Ce(di,{label:i("Show the chat bubble"),changed:!e.enabled,onReset:()=>o({enabled:!0})})]}),hint:e.enabled?i("The floating chat bubble shows in the corner of every page."):i("The chat bubble is hidden across the whole site.")}),li(Ig,{title:i("Look"),children:[Ce(No,{label:i("Button color"),icon:Ce(o9,{}),changed:e.launcherColor!=="",value:e.launcherColor,inherited:a,caption:e.launcherColor?void 0:i("Site button color"),onChange:n=>o({launcherColor:n}),onReset:()=>o({launcherColor:""})}),Ce(ii,{label:i("Icon"),icon:Ce(t9,{}),value:Ce(ig,{value:r}),changed:r!==xs,action:Ce(di,{label:i("Icon"),changed:r!==xs,onReset:()=>o({launcherIcon:""})}),children:Ce(ZY,{label:i("Icon"),value:r,options:f9,onChange:n=>o({launcherIcon:n===xs?"":n})})}),Ce(ii,{label:i("Position"),icon:Ce(n9,{}),changed:e.launcherPosition!==zr,action:Ce(di,{label:i("Position"),changed:e.launcherPosition!==zr,onReset:()=>o({launcherPosition:zr})}),children:Ce(e9,{options:[{label:i("Right"),id:"right"},{label:i("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:i("Position"),onChange:n=>o({launcherPosition:n})})}),Ce(fp,{label:i("Label"),value:e.launcherLabel,placeholder:i("Icon only"),onCommit:n=>o({launcherLabel:n}),hint:i("Shows when a visitor points at the button")}),Ce(c9,{label:i("Show on phones"),icon:Ce(r9,{}),checked:e.showOnPhones,fallback:sp.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),li(Ig,{title:i("Wording"),children:[Ce(fp,{label:i("Title"),value:e.title,placeholder:l9,onCommit:n=>o({title:n})}),Ce(fp,{label:i("Subtitle"),value:e.subtitle,placeholder:i9,onCommit:n=>o({subtitle:n})}),Ce(fp,{label:i("Greeting message"),value:e.greeting,placeholder:d9,onCommit:n=>o({greeting:n}),multiline:!0}),Ce("p",{className:"es-field-hint",children:i("Leave a field blank to use the built-in wording.")})]})]})}import{jsx as Vr,Fragment as sb,jsxs as W_}from"react/jsx-runtime";import{useEffect as $9,useId as M_,useState as H_}from"react";import{SettingsField as z9}from"efficient-easel/panel";import{jsx as L9}from"react/jsx-runtime";import{forwardRef as u9,createElement as HI}from"react";var D_={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 le=(e,o,t,a)=>{let r=u9(({color:n="currentColor",size:s=24,stroke:l=2,title:d,className:c,children:f,...u},p)=>HI("svg",{ref:p,...D_[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${o}`,c].filter(Boolean).join(" "),...e==="filled"?{fill:n}:{strokeWidth:l,stroke:n},...u},[d&&HI("title",{key:"svg-title"},d),...a.map(([x,g])=>HI(x,g)),...Array.isArray(f)?f:[f]]));return r.displayName=`${t}`,r};var m9=[["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"}]],WI=le("outline","brand-facebook","BrandFacebook",m9);var h9=[["path",{d:"M3 7a4 4 0 0 1 4 -4h10a4 4 0 0 1 4 4v10a4 4 0 0 1 -4 4h-10a4 4 0 0 1 -4 -4l0 -10",key:"svg-0"}],["path",{d:"M8.5 12a3.5 3.5 0 1 0 7 0a3.5 3.5 0 0 0 -7 0",key:"svg-1"}],["path",{d:"M17 7v.01",key:"svg-2"}]],GI=le("outline","brand-instagram","BrandInstagram",h9);var x9=[["path",{d:"M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01",key:"svg-0"}]],$I=le("outline","brand-line","BrandLine",x9);var g9=[["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"}]],zI=le("outline","brand-linkedin","BrandLinkedin",g9);var I9=[["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"}]],UI=le("outline","brand-pinterest","BrandPinterest",I9);var b9=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],jI=le("outline","brand-telegram","BrandTelegram",b9);var y9=[["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"}]],KI=le("outline","brand-tiktok","BrandTiktok",y9);var S9=[["path",{d:"M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5",key:"svg-0"}],["path",{d:"M11.197 15.698c-.69 .196 -1.43 .302 -2.197 .302a8.008 8.008 0 0 1 -2.612 -.432l-2.388 1.432v-2.801c-1.237 -1.082 -2 -2.564 -2 -4.199c0 -3.314 3.134 -6 7 -6c3.782 0 6.863 2.57 7 5.785l0 .233",key:"svg-1"}],["path",{d:"M10 8h.01",key:"svg-2"}],["path",{d:"M7 8h.01",key:"svg-3"}],["path",{d:"M15 14h.01",key:"svg-4"}],["path",{d:"M18 14h.01",key:"svg-5"}]],VI=le("outline","brand-wechat","BrandWechat",S9);var w9=[["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"}]],qI=le("outline","brand-whatsapp","BrandWhatsapp",w9);var C9=[["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"}]],YI=le("outline","brand-x","BrandX",C9);var v9=[["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"}]],XI=le("outline","brand-youtube","BrandYoutube",v9);var k9=[["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"}]],JI=le("filled","brand-facebook-filled","BrandFacebookFilled",k9);var T9=[["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"}]],ZI=le("filled","brand-instagram-filled","BrandInstagramFilled",T9);var P9=[["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"}]],QI=le("filled","brand-linkedin-filled","BrandLinkedinFilled",P9);var E9=[["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"}]],eb=le("filled","brand-pinterest-filled","BrandPinterestFilled",E9);var O9=[["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"}]],ob=le("filled","brand-tiktok-filled","BrandTiktokFilled",O9);var _9=[["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"}]],tb=le("filled","brand-whatsapp-filled","BrandWhatsappFilled",_9);var A9=[["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"}]],ab=le("filled","brand-x-filled","BrandXFilled",A9);var R9=[["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"}]],rb=le("filled","brand-youtube-filled","BrandYoutubeFilled",R9);var f1e="outline",pp={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},F9={},nb={fillRule:"evenodd"},B9=[["path",{...pp,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...nb,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],D9=[["path",{...pp,d:["M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663","c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133","c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48","c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01z"].join("")}],["path",{...F9,d:["M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663","c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133","c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48","c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01z"].join("")}]],N9=[["path",{...pp,d:["M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178","a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5z"].join("")}],["path",{...pp,d:["M8.319 15.972L7.84 15.918L7.349 15.832L6.865 15.715L6.388 15.568L4 17L4 14.199","L3.559 13.775L3.197 13.356L2.877 12.91L2.603 12.439L2.376 11.946L2.201 11.433","L2.079 10.902L2.016 10.405L2.001 9.897L2.036 9.386L2.12 8.889L2.25 8.405L2.425 7.937","L2.642 7.486L2.9 7.055L3.195 6.645L3.459 6.333L3.744 6.037L4.05 5.757L4.377 5.495","L4.723 5.25L5.086 5.025L5.467 4.819L5.864 4.634L6.275 4.471L6.701 4.331L7.139 4.214","L7.589 4.122L8.05 4.055L8.521 4.014L9.352 4.007L9.815 4.04L10.269 4.098L10.713 4.181","L11.146 4.287L11.567 4.416L11.975 4.567L12.369 4.739L12.748 4.932L13.112 5.143","L13.459 5.374L13.788 5.622L14.172 5.956L14.458 6.241L14.722 6.542L14.965 6.856","L15.217 7.237A8.35 7.35 0 0 0 8.319 15.972z"].join("")}],["path",{...nb,d:["M8.319 15.972L7.84 15.918L7.349 15.832L6.865 15.715L6.388 15.568L4 17L4 14.199","L3.559 13.775L3.197 13.356L2.877 12.91L2.603 12.439L2.376 11.946L2.201 11.433","L2.079 10.902L2.016 10.405L2.001 9.897L2.036 9.386L2.12 8.889L2.25 8.405L2.425 7.937","L2.642 7.486L2.9 7.055L3.195 6.645L3.459 6.333L3.744 6.037L4.05 5.757L4.377 5.495","L4.723 5.25L5.086 5.025L5.467 4.819L5.864 4.634L6.275 4.471L6.701 4.331L7.139 4.214","L7.589 4.122L8.05 4.055L8.521 4.014L9.352 4.007L9.815 4.04L10.269 4.098L10.713 4.181","L11.146 4.287L11.567 4.416L11.975 4.567L12.369 4.739L12.748 4.932L13.112 5.143","L13.459 5.374L13.788 5.622L14.172 5.956L14.458 6.241L14.722 6.542L14.965 6.856","L15.217 7.237A8.35 7.35 0 0 0 8.319 15.972zM5.25 7.9a0.85 0.85 0 1 0 1.7 0","a0.85 0.85 0 1 0 -1.7 0zM8.25 7.9a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0z"].join("")}],["path",{...nb,d:["M16.5 10c3.038 0 5.5 2.015 5.5 4.5c0 1.397 -.778 2.645 -2 3.47l0 2.03l-1.964 -1.178","a6.649 6.649 0 0 1 -1.536 .178c-3.038 0 -5.5 -2.015 -5.5 -4.5s2.462 -4.5 5.5 -4.5z","M14.15 14a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0zM17.15 14","a0.85 0.85 0 1 0 1.7 0a0.85 0.85 0 1 0 -1.7 0z"].join("")}]],M9=le("filled","brand-telegram-filled","BrandTelegramFilled",B9),H9=le("filled","brand-line-filled","BrandLineFilled",D9),W9=le("filled","brand-wechat-filled","BrandWechatFilled",N9),G9={instagram:{outline:GI,solid:ZI},facebook:{outline:WI,solid:JI},tiktok:{outline:KI,solid:ob},youtube:{outline:XI,solid:rb},x:{outline:YI,solid:ab},linkedin:{outline:zI,solid:QI},pinterest:{outline:UI,solid:eb},whatsapp:{outline:qI,solid:tb},telegram:{outline:jI,solid:M9},line:{outline:$I,solid:H9},wechat:{outline:VI,solid:W9}};function N_({platform:e,iconStyle:o,size:t}){let a=G9[e][o];return L9(a,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var U9={instagram:"instagram.com/yourshop",facebook:"facebook.com/yourshop",tiktok:"tiktok.com/@yourshop",youtube:"youtube.com/@yourshop",x:"x.com/yourshop",linkedin:"linkedin.com/company/yourshop",pinterest:"pinterest.com/yourshop",whatsapp:"wa.me/61400000000",telegram:"t.me/yourshop",line:"line.me/ti/p/~yourshop",wechat:"u.wechat.com/your-qr-code-link"};function j9({platform:e}){let{rows:o,saveLink:t}=oi(),{value:a,error:r}=o[e],[n,s]=H_(a),[l,d]=H_(!1),c=M_(),f=M_();$9(()=>s(a),[a]);let u=async()=>{if(n.trim()===a){n!==a&&s(a);return}d(!0),await t(e,n),d(!1)},p=Ew[e];return W_(sb,{children:[Vr(z9,{label:i(p),htmlFor:c,icon:Vr(N_,{platform:e,iconStyle:"outline",size:18}),children:Vr("input",{id:c,type:"text",inputMode:"url",value:n,placeholder:U9[e],onChange:x=>s(x.target.value),onBlur:()=>{u()},onKeyDown:x=>{x.key==="Enter"&&x.currentTarget.blur(),x.key==="Escape"&&(s(a),x.currentTarget.blur())},"aria-invalid":r?!0:void 0,"aria-describedby":r?f:void 0,"aria-busy":l||void 0,autoComplete:"off",spellCheck:!1})}),r&&Vr("p",{id:f,className:"sf-note sf-note--error",role:"alert",children:r})]})}function G_({unavailable:e}){let{canSave:o}=oi();return!o&&e?Vr(sb,{children:e}):W_(sb,{children:[Vr("p",{className:"es-field-hint",children:i("Paste a link to each profile. A platform left empty shows nothing on the site.")}),kd.map(t=>Vr(j9,{platform:t},t))]})}import{jsx as Jr,Fragment as PZ,jsxs as EZ}from"react/jsx-runtime";import{useId as OZ,useMemo as _Z}from"react";import{useEasel as AZ}from"efficient-easel/easel";import{SettingsField as RZ,SettingsSwitch as LZ}from"efficient-easel/panel";import{EyeIcon as FZ}from"efficient-easel/icons";import{fieldShownInView as BZ}from"efficient-easel/fields";import{usePreviewDevice as DZ}from"efficient-easel/draw/client";import{jsx as Yr,Fragment as sJ,jsxs as lJ}from"react/jsx-runtime";import{createContext as iJ,useContext as dJ,useLayoutEffect as y1,useMemo as kp,useRef as S1,useState as hb}from"react";import{useEasel as w1,useSelectedFields as cJ}from"efficient-easel/easel";import{fieldShownInView as fJ,Inspector as pJ,planFields as xb}from"efficient-easel/fields";function $_({allTabs:e,remembered:o,inherited:t,buckets:a,hasText:r}){return o&&(e||a.includes(o))?o:t&&a.includes(t)?t:r?"Design":a[0]??"Design"}import{group as KX}from"efficient-easel/screen/lib/document/box-fields";import{deviceField as VX,deviceMetaOf as l1}from"efficient-easel/screen/lib/document/device-fields";import{jsx as Be,Fragment as tX,jsxs as aX}from"react/jsx-runtime";import{useRef as Q_}from"react";import{phoneKey as Ia}from"efficient-easel/draw";import{SettingsDefaultReset as rX}from"efficient-easel/panel";import{ClockIcon as nX,DirectionDownIcon as sX,DirectionIcon as lX,DirectionLeftIcon as iX,DirectionRightIcon as dX,DirectionUpIcon as cX,DurationIcon as fX,EntranceBounceIcon as pX,EntranceFadeIcon as uX,EntranceFlipIcon as mX,EntranceGlideIcon as hX,EntranceRevealIcon as xX,EntranceRiseIcon as gX,EntranceScaleIcon as IX,EntranceSpinIcon as bX,NoSymbolIcon as yX}from"efficient-easel/icons";import{effectTiles as SX}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as ys}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as wX,noControlField as CX}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{customize as vX,describedAs as e1,group as kX,onDesktopWords as TX,phoneTwinFields as PX}from"efficient-easel/screen/lib/document/box-fields";import{ENTRANCE_FROM as EX,ENTRANCE_FROM_DEFAULT as o1,ENTRANCE_KINDS as wp,ENTRANCE_KINDS_WITH_FROM as J_,MOTION_TIMING as OX,entranceAttrs as _X,playEntrance as AX,readEntrance as RX}from"efficient-shell/format";import{jsx as db}from"react/jsx-runtime";import{ClockIcon as Y9,DurationIcon as X9}from"efficient-easel/icons";import{MOTION_TIMING as q_}from"efficient-shell/format";import{useSelectedHost as J9}from"efficient-easel/easel";import{MOTION_EASING as K9,MOTION_TIMING as z_,motionSeconds as U_}from"efficient-shell/format";var lb="none",up=[{label:"None",value:"none"},{label:"Marquee",value:"scroll"}];function v1e(e){return uo(up,lb,e)}var ci={field:"loop",is:"scroll"},fi="left",ib=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],V9={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function j_(e){return uo(ib,fi,e)}function k1e(e){return e==="up"||e==="down"}function K_(e){return U_("loop","duration",e.loopDuration!=null?e.loopDuration:e.speed)}var T1e=z_.loop.duration.default,q9=z_.loop.delay.default;function V_(e){return U_("loop","delay",e.loopDelay)}function P1e(e,o,t=q9){return`${V9[e]} ${o}s ${K9.loop}${t?` ${t}s`:""} infinite`}function gs(e){let{min:o,max:t,step:a,default:r}=q_[e].duration;return Ho("Duration",db(X9,{}),o,t,a,r,"s")}function Is(e){let{min:o,max:t,step:a,default:r}=q_[e].delay;return Ho("Delay",db(Y9,{}),o,t,a,r,"s")}function bs(e,o){let t=e.render,a=r=>{let n=J9();return t({...r,value:o(r.value,n?.values)})};return{...e,render:r=>db(a,{...r})}}function mp({readsSpeed:e}){return bs(gs("loop"),(o,t)=>K_({loopDuration:o,speed:e?t?.speed:void 0}))}function hp(){return bs(Is("loop"),e=>V_({loopDelay:e}))}import{phoneKey as Z9}from"efficient-easel/draw";import{readEntrance as Q9}from"efficient-shell/format";var gp="sf-entrance",ke={kind:"entrance",from:"entranceFrom",duration:"entranceDuration",delay:"entranceDelay"},Ip="sectionAnimation",Y_=e=>e!=null&&e!=="";function eX(e,o){let t=e[ke[o]];return o==="kind"&&!Y_(t)?e[Ip]:t}function xp(e,o,t){if(t==="phone"){let a=e[Z9(ke[o])];if(Y_(a))return a}return eX(e,o)}function pi(e,o){return Q9(xp(e,"kind",o),xp(e,"from",o),xp(e,"duration",o),xp(e,"delay",o))}function bp(e){let o=pi(e,"desktop"),t=pi(e,"phone");return o.kind==="none"&&t.kind==="none"?null:{desktop:o,phone:t}}var oX={...Object.fromEntries([...HT].map(e=>[e,"a root position: sticky bar; an outer box becomes its sticky containing block and the pin collapses (the same fact every wrapper pass excludes it for, lib/content/section-surface)"])),HeroSlide:"a slide is a direct child of the Hero's transform track ([&>*]:basis-full); a wrapper would take its width, and the Hero already moves one slide in at a time",HeroGroup:"a slide box is placed by grid-item properties on its own root (--sf-hg-row, justify-self); a wrapper becomes the grid item and the box loses its anchor (lib/document/blocks/general/HeroGroup/meta)"},H1e=new Set(Object.keys(oX));var X_="_gEntrance";var cb={none:"None",fade:"Fade",rise:"Rise",scale:"Scale",glide:"Glide",bounce:"Bounce",flip:"Flip",reveal:"Reveal",spin:"Spin"},LX={top:"Top",bottom:"Bottom",left:"Left",right:"Right"},FX={top:()=>Be(sX,{}),bottom:()=>Be(cX,{}),left:()=>Be(dX,{}),right:()=>Be(iX,{})},fb="Entrance",yp=wp.filter(e=>e!=="none"),Sp=e=>({any:[{field:ke.kind,in:e},{all:[{field:ke.kind,set:!1},{field:Ip,in:e}]}]}),Z_=e=>({any:[{field:Ia(ke.kind),in:e},{all:[{field:Ia(ke.kind),set:!1},Sp(e)]}]}),BX={any:[Sp(yp),{field:Ia(ke.kind),in:yp}]},DX=[[[ke.from],Sp(J_)],[[Ia(ke.from)],Z_(J_)],[[ke.duration,ke.delay],Sp(yp)],[[Ia(ke.duration),Ia(ke.delay)],Z_(yp)]],NX={none:()=>Be(yX,{}),fade:()=>Be(uX,{}),rise:()=>Be(gX,{}),scale:()=>Be(IX,{}),glide:()=>Be(hX,{}),bounce:()=>Be(pX,{}),flip:()=>Be(mX,{}),reveal:()=>Be(xX,{}),spin:()=>Be(bX,{})},t1="data-entrance-tile";function MX({kind:e}){let{attrs:o}=_X(RX(e,o1));return Be("span",{className:"sf-entrance-stage",[t1]:e,children:Be("i",{...o,children:NX[e]()})})}var HX=e=>o=>{let t=e.current?.querySelector(`[${t1}="${o}"] > i`);t&&AX(t)},a1=e=>SX({label:i(fb),options:wp.map(o=>({value:o,label:i(cb[o]),picture:Be(MX,{kind:o})})),fallback:"none",onPreview:e?HX(e):void 0});function r1({row:e,children:o}){return Be("div",{ref:e,style:{display:"contents"},children:o})}function WX({value:e,onChange:o}){let t=at(),a=pi({...t,[ke.kind]:e},"desktop").kind,r=Q_(null);return Be(r1,{row:r,children:a1(r).render({value:a,onChange:n=>o(n??"none")})})}function GX({value:e,onChange:o}){let t=at(),a=typeof e=="string"&&wp.includes(e),r=pi(t,"desktop").kind,n=Q_(null);return aX(tX,{children:[Be(r1,{row:n,children:a1(n).render({value:a?e:r,onChange:o})}),a&&Be(rX,{words:re()?.panel,label:i($X),changed:a,detail:TX(s=>i(s),i(cb[r])),onReset:()=>o(void 0)})]})}var $X="Effect",n1={type:"select",label:fb,options:wp.map(e=>({value:e,label:cb[e]}))},zX=()=>e1({type:"custom",render:({value:e,onChange:o})=>Be(WX,{value:e,onChange:o})},n1),UX=()=>e1({type:"custom",render:({value:e,onChange:o})=>Be(GX,{value:e,onChange:o})},n1),jX=EX.map(e=>({label:LX[e],value:e,picture:FX[e]()}));function Et(){let{duration:e,delay:o}=OX.entrance,t={[X_]:kX(fb,{dot:BX}),[ke.kind]:ys("desktop",zX()),[Ip]:CX({type:"custom",render:()=>Be(wX,{})},"always"),[Ia(ke.kind)]:ys("mobile",UX()),_cEntrance:vX(),...PX(ke.from,tf("From",Be(lX,{}),jX,o1)),[ke.duration]:ys("desktop",gs("entrance")),[Ia(ke.duration)]:ys("mobile",xf({label:"Duration",desktopKey:ke.duration,icon:Be(fX,{}),min:e.min,max:e.max,step:e.step,fallback:e.default,unit:"s"})),[ke.delay]:ys("desktop",Is("entrance")),[Ia(ke.delay)]:ys("mobile",xf({label:"Delay",desktopKey:ke.delay,icon:Be(nX,{}),min:o.min,max:o.max,step:o.step,fallback:o.default,unit:"s"}))};return mh(t,DX)}import{DESIGN_GROUPS as ub,SETTINGS_BUCKETS as qX}from"efficient-easel/panel";import{BUCKET_KEY as Yo,DESIGN_GROUP_KEY as ui}from"efficient-easel/screen/lib/document/field-buckets";var mi=qX;var YX="Editor only \u2014 not shown live",mb={"Archive link":"Content",Article:"Content",Blocks:"Content","Blog posts":"Content","Browser mock":"Content",Button:"Content","Call to action":"Content","Car prompt":"Content","Card link":"Content","Card list":"Content",Cards:"Content","Claims bars":"Content","Contact info":"Content",Content:"Content",Display:"Content","Content source":"Content",Contents:"Content",Filters:"Content","Show on a card":"Content",Footnote:"Content",Form:"Content",Founders:"Content","Gallery A":"Content","Gallery B":"Content","Gallery link":"Content",Header:"Content","Header link":"Content","Image caption":"Content","In this issue":"Content",Items:"Content","Kanban columns":"Content",Lead:"Content","Left panel":"Content",Link:"Content",Links:"Content",List:"Content","Message form":"Content",Metadata:"Content",Milestones:"Content","Mockup card":"Content","Newsletter panel":"Content",Offices:"Content",Options:"Content","Others gallery":"Content","Overlay button":"Content",Product:"Content","Product page":"Content",Products:"Content","Pull quote":"Content",Questions:"Content","Recent issues":"Content","Recent posts":"Content",Reviews:"Content","Right panel \xB7 actions":"Content","Right panel \xB7 choices":"Content","Right panel \xB7 form":"Content","Routing groups":"Content",Rows:"Content",Search:"Content",Section:"Content","Section header":"Content",Sections:"Content","Signup form":"Content",Source:"Content","Source product":"Content","Stat & note":"Content",Stats:"Content","Submit button":"Content","Success state":"Content",Wheel:"Content",Terminal:"Content",Text:"Content","Text column":"Content","Timeline entries":"Content","Top row":"Content",Total:"Content","Trailing note":"Content","\u201COther\u201D reason":"Content","Background images":"Design",Gallery:"Content",Image:"Content","Image column":"Content",Images:"Content",Logo:"Content",Map:"Content",Media:"Content","Background image":"Design",Color:"Design","Image tint":"Design",Style:"Design",Shape:"Design",Shadow:"Design",Texture:"Design",Overlay:"Design","Text style":"Design",Entrance:"Animation",Hover:"Animation",Loop:"Animation",Anchor:"Anchor",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Size",Behavior:"Layout",Schedule:"Layout",Controls:"Layout",Diagram:"Layout",[YX]:"Layout","Filters shown":"Layout","Slide picker":"Layout",Arrows:"Layout","On a phone":"Layout",Placement:"Position",Nudge:"Position","Stick to top":"Position","Image gallery":"Layout",Grid:"Layout",Layout:"Layout",Padding:"Layout",Price:"Layout",Preview:"Layout",Setup:"Layout","Show / hide elements":"Layout","Show in the buy box":"Layout",Visibility:"Layout",Width:"Size",Size:"Size",Height:"Size"},i1={"AlloyWheelsListing._gCards":"Design"},d1={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function pb(e,o,t){let a=`${e}.${o}`;return d1[a]??i1[a]??mb[t]}function c1(e){return e==="Animation"?[Yo.Animation]:[Yo.Design,ui[e]]}function Cp(...e){let o=[];for(let t of e)for(let a of Object.values(t)){let r=l1(a),n=ha(r?r.inner:a),s=n?mb[n.label]:void 0;if(s)for(let l of c1(s))o.includes(l)||o.push(l)}return o}var mAe=[...Cp(rf({tablet:!0}),gf("full"),If(),yf(),Sg()),...Object.keys(rf({tablet:!0})),...Object.keys(gf("full")),...Object.keys(If()),...Object.keys(yf()),...Object.keys(Sg())],hAe=[...Cp(uf()),...Object.keys(uf())],xAe=[...Cp(hf()),...Object.keys(hf())],gAe=[...Cp(Et()),...Object.keys(Et())],XX=Object.keys(U0()),JX=new Set(["cardImage","imageBackground"]),IAe=[...c1(pb("ProductGrid","_gCards","Cards")??"Design"),...XX.filter(e=>e.startsWith("_g")||JX.has(e))],bAe=Object.keys(j0()),yAe=Object.keys(K0()),ZX={"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)","SocialLogosBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","SocialLogosBlock._gLayout":"duplicated the Layout bucket header above it (born tabbed, H.1)","SearchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CartBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CountrySwitchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed with its Show as, 2026-10-17)","Split._gContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gVehicleContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gWheelContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gOthersContent":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gHeadCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gLeftCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gRightCopy":"duplicated the Content bucket header above it (2026-09-04)","CollectionCard._gContent":"duplicated the Content bucket header above it (A Card Sets Its Own Corners)","HeroSlide._gContent":"duplicated the Content bucket header above it (Hero Slide Tabs And Theme)","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)"},f1={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},p1={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...rf({tablet:!0}),...gf("full"),...If(),...yf(),...uf(),...hf(),...Et()};for(let o of Object.keys(p1)){let t=ha(e[o]),a=t?mb[t.label]:void 0;if(!t||t.level!==2||!a||!f1[a].includes(t.label))throw new Error(`INJECTED_RETIRED (lib/document/field-groups.ts) lists "${o}", but no uniform builder makes a level-2 heading by that key whose label repeats its place's word. The heading was renamed, moved or removed and the row is stale \u2014 a list that quietly matches nothing is worse than no list.`)}}var QX=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),eJ=new Map([[Yo.Design,"Content"],[Yo.Animation,"Animation"],...ub.map(e=>[ui[e],e])]);function u1(e){let o=new Set([...Object.values(Yo),ui.Content]);for(let[t,a]of Object.entries(e))if(!o.has(t)&&ha(a)?.level===1)return 1;return 2}function oJ(e){let o=`${e}.`;return Object.keys(ZX).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function tJ(e,o){let t=l1(e),a=KX(o);return t?VX(t.tier,a):a}function aJ(e,o){let t=ha(o);return t?e==="Content"||e==="Animation"?O0(o,t.label):_0(o):o}function s1(e){return e==="Design"?ub:["Animation"]}function m1(e,o){let t=[],a=new Set(oJ(o)),r=new Set,n=!1,s=null;for(let[p,x]of Object.entries(e)){let g=ha(x);if(QX.has(p))throw new Error(`${o}.${p}: that key was a tab header until efficient-web-builder 11.0.0, when the panel moved to two tabs (Design \xB7 Animation). Its tab is gone, so the key may not come back. Give the heading a key of the section's own (\`_g\u2026\`), or open a Design group with its own key (\`_dDesign: section("Design")\`, \`_dLayout: section("Layout")\`).`);let I=eJ.get(p);if(I!==void 0){if(g?.level!==1)throw new Error(`${o}.${p}: that key is reserved for the ${I} heading of the settings panel, but this field is ${g?`a level-${g.level} "${g.label}" header`:"not a header"}, so it cannot serve as one. Rename the section's own field.`);(p===Yo.Design||p===Yo.Animation)&&(n=!0),t.push(s={place:I,entries:[],adopted:!0});continue}if(!g){s||t.push(s={place:"Content",entries:[]}),s.entries.push([p,x]);continue}if(a.has(p)||p in p1){let S=pb(o,p,g.label);if(g.level!==2||!S||!f1[S].includes(g.label))throw new Error(`${o}.${p}: ${a.has(p)?"RETIRED":"INJECTED_RETIRED"} (lib/document/field-groups.ts) lists this sub-heading as one whose name repeats the place it sits in, but it is a level-${g.level} "${g.label}" header in the ${S??"(unclassified)"} place. Only a level-2 header whose label is one of its place's words (PLACE_WORDS) may be retired \u2014 anything else is a heading a merchant reads for its own sake. Fix the row or drop it.`);a.has(p)&&r.add(p),t.push(s={place:S,entries:[]});continue}let k=pb(o,p,g.label);if(!k)throw new Error(`${o}.${p}: the inspector group "${g.label}" is not classified in LABEL_GROUP (lib/document/field-groups.ts), so there is no way to say which of ${[...ub,"Animation"].join(" / ")} its controls belong under. Classify it \u2014 an unclassified group silently lands wherever it was declared, which is the whole bug.`);t.push(s={place:k,entries:[[p,g.level===2?x:tJ(x,g.label)]]})}let l=new Set(Object.entries(e).filter(([,p])=>ha(p)).map(([p])=>p));for(let[p,x]of[["BLOCK_KEY_GROUP",d1],["KEY_GROUP",i1]]){let g=Object.keys(x).filter(I=>I.startsWith(`${o}.`)).filter(I=>!l.has(I.slice(o.length+1)));if(g.length)throw new Error(`${o}: ${p} (lib/document/field-groups.ts) lists ${JSON.stringify(g)}, 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 d=n?[]:[...a].filter(p=>!r.has(p));if(d.length)throw new Error(`${o}: RETIRED (lib/document/field-groups.ts) lists ${JSON.stringify(d)}, but this section has no such fold header${d.length>1?"s":""}. Either the heading was renamed or removed and the row is stale, or the row names the wrong section \u2014 a list that quietly matches nothing is worse than no list.`);let c=new Set(t.filter(p=>p.entries.length>0).map(p=>p.place)),f=mi.filter(p=>s1(p).some(x=>c.has(x))),u={};for(let p of f){u[Yo[p]]=pf(p,p===f[0]?f:null);for(let x of s1(p)){if(!c.has(x))continue;let g=t.filter(k=>k.place===x),I=g.findIndex(k=>k.adopted);I>0&&g.unshift(...g.splice(I,1)),p==="Design"&&(u[ui[x]]=gg(x));for(let k of g)for(let[S,C]of k.entries)u[S]=aJ(x,C)}}return u}function SAe(e){return Yo.Design in e?e:{[Yo.Design]:pf("Design",null),[ui.Content]:gg("Content"),...e}}function wAe(e){return mi.some(o=>Yo[o]in e)}function CAe(e){let o=mi.filter(a=>Yo[a]in e);if(o.length===0)return e;let t={...e};for(let a of o)t[Yo[a]]=pf(a,a===o[0]?o:null);return t}import{jsx as rJ}from"react/jsx-runtime";import{EmptyState as nJ}from"efficient-shell/ui";function qr(){return rJ(nJ,{variant:"none",icon:!1,message:i("These settings apply to every view.")})}import{usePreviewDevice as uJ}from"efficient-easel/draw/client";import{deviceField as mJ}from"efficient-easel/screen/lib/document/device-fields";var vp=" text",h1="Text";function hi(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function x1(e){return e.filter(hi).map(o=>o.key)}function g1(e,o){let t=e.filter(r=>!hi(r));if(t.length!==1)return null;let a=e.filter(hi).flatMap(r=>r.rows);return[...o,...a].some(r=>r.shown)?null:t[0].rows.filter(r=>r.shown).length>1?t[0].key:null}function I1(e,o){let t=null;for(let a of o){let r=e[a];!r||r.marker!==!0||typeof r.fold!="string"||(t??={...e},t[a]={...r,fold:!1})}return t??e}function b1(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var gb=new Map,Tp=new Set;function C1(e,o){let t=new Map;for(let r of e.querySelectorAll(".es-insp-row[data-field]"))t.set(r.getAttribute("data-field")??"",r);let a=[];for(let[r,n]of o)a.push({key:r,rows:n.map(s=>{let l=t.get(s),d=!!l&&[...l.children].some(f=>!f.hidden),c=l?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:d,labelled:d&&!!c}})});return a}var hJ=Object.fromEntries(mi.map(e=>{let o=E0[e];return[e,Yr(o,{},e)]})),v1=iJ(null),xJ={_partBody:mJ("each",{type:"custom",render:()=>Yr(gJ,{})})};function gJ(){return Yr(sJ,{children:dJ(v1)})}function Ot({entries:e,entryCount:o=0,part:t=null,omit:a,motion:r,body:n,itemWord:s}){let{id:l,fields:d,values:c,readOnly:f,onChange:u}=cJ(),p=kp(()=>r?{...c,...r.values}:c,[c,r?.values]),x=(he,Ke)=>r?.keys.has(he)?r.onChange(he,Ke):u(he,Ke),g=uJ(),{appState:I,config:k}=w1(he=>he),S=dk(g,k,I.data.content??[],I.ui.itemSelector),C=n===void 0?k_(d,t):xJ,b=kp(()=>{let he=a?.length?Object.fromEntries(Object.entries(C).filter(([Ke])=>!a.includes(Ke))):C;return r?{...he,...r.fields}:he},[C,a,r?.fields]),v=qh(b,p,S),[T,F]=hb(()=>new Set(Tp)),[P,D]=hb(()=>new Set),O=S1(null),{bandRows:R,designBands:N,looseRows:y}=kp(()=>{let he=new Map,Ke=new Set,Oe=[];for(let ve of xb(v).rows){if(!ve.fold){ve.bucket==="Design"&&Oe.push(ve.name);continue}let Ye=he.get(ve.fold.key)??[];Ye.push(ve.name),he.set(ve.fold.key,Ye),ve.bucket==="Design"&&Ke.add(ve.fold.key)}return{bandRows:he,designBands:Ke,looseRows:new Map([["",Oe]])}},[v]),A=fJ({},g),L={key:vp,rows:Array.from({length:A?o:0},()=>({shown:!0,labelled:!0}))};y1(()=>{let he=O.current?.parentElement;if(!he)return;let Ke=C1(he,R),Oe=new Set(x1(Ke)),ve=g1([L,...Ke.filter(Ye=>N.has(Ye.key))],C1(he,y)[0].rows);ve&&Oe.add(ve),D(Ye=>b1(Ye,Oe)?Ye:Oe)});let H=kp(()=>I1(v,P),[v,P]),X=!hi(L)&&!P.has(vp)?{key:vp,title:h1}:void 0,q=w1(he=>he.selectedItem)!==null,U=r?.part??t??"",ge=`${l}:${U}:${String(g)}`,[te,Re]=hb(()=>({tab:gb.get(ge)})),We=`${l}:${U}`,Pe=S1(null),Ie={...S,node:p},Ee=xb(v,{values:p,context:Ie}).buckets,Ge=$_({allTabs:q,remembered:gb.get(ge),inherited:Pe.current?.panel===We?Pe.current.tab:te.tab,buckets:Ee,hasText:A&&o>0}),to=!A&&!Ee.includes(Ge)&&(xb(qh(b,p,{...S,device:"desktop"}),{values:p,context:{...Ie,device:"desktop"}}).buckets.includes(Ge)||Ge==="Design"&&o>0);y1(()=>{Pe.current={panel:We,tab:Ge}});let So=Ge==="Design";return Yr(v1.Provider,{value:n??null,children:Yr(yg.Provider,{value:r?p:null,children:lJ(pJ,{fields:H,values:p,onChange:x,readOnly:f,allTabs:q,showWhenContext:Ie,context:{itemWord:s},tab:Ge,onTab:he=>{gb.set(ge,he),Re({tab:he})},tabIcons:hJ,idPrefix:l,ariaLabel:i("Section settings"),lead:So?e:null,leadFold:X,closedFolds:T,onFold:(he,Ke)=>{Ke?Tp.delete(he):Tp.add(he),F(new Set(Tp))},children:[Yr("span",{ref:O,hidden:!0}),to&&Yr(qr,{})]})})})}import{useMemo as bZ}from"react";import{useEasel as yZ}from"efficient-easel/easel";import{useSectionOps as SZ}from"efficient-easel/screen/lib/document/use-section-ops";import{jsx as _t}from"react/jsx-runtime";import{AccentIcon as IJ,ContrastIcon as bJ,NoSymbolIcon as T1,HoverLiftIcon as yJ,HoverNextImageIcon as SJ,HoverRotateIcon as wJ,HoverZoomIcon as P1,OpacityIcon as CJ}from"efficient-easel/icons";import{customize as vJ,describedAs as E1,group as kJ}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as O1}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as Xo}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as TJ,noControlField as PJ}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Pp=e=>Xo("desktop",kJ("Hover",{dot:e})),_1=()=>Xo("desktop",vJ()),EJ="What this does when a shopper points at it, or taps it on a phone.",OJ="What this picture does when a shopper points at it. Black and white shows it in grey until then. A phone shows its colour.",_J="What this picture does when a shopper points at the card. Show next image fades to the card's next photo. Black and white shows it in grey until then. A phone shows the first photo in colour.",AJ="What each card does when a shopper points at it, or taps it on a phone. Rotate turns the wheel picture.",RJ={none:()=>_t(T1,{}),nextImage:()=>_t(SJ,{}),rotate:()=>_t(wJ,{}),zoom:()=>_t(P1,{}),lift:()=>_t(yJ,{}),mono:()=>_t(bJ,{})};function Ib(e,o){let t=O1({label:i("Hover effect"),options:e.map(a=>({value:a,label:i(hr[a]),picture:RJ[a]()})),fallback:o});return E1(t,{type:"select",label:"Hover effect",options:e.map(a=>({value:a,label:hr[a]}))})}function A1(){return{[mr]:Pp({field:Qe,in:Ld.filter(e=>e!=="none")}),[Qe]:Xo("desktop",{...Ib(Ld,"none"),description:EJ})}}function R1(e){let o=uC(e),t=ZP($m);return{[mr]:Pp(o),[Ne.kind]:Xo("desktop",{...bs(Ib(Fd,e),(a,r)=>zm(r??{},e)),description:AJ}),[Xs]:PJ({type:"custom",render:()=>_t(TJ,{})},"always"),_cHover:_1(),[Ne.angle]:Xo("desktop",Je(bs(t,a=>Um(a)),o)),[Ne.duration]:Xo("desktop",Je(gs("hover"),o)),[Ne.delay]:Xo("desktop",Je(Is("hover"),o))}}function bb(e,o=""){let t=Ym(e);return{[mr]:Pp(t),[Ne.kind]:L1(Bd,e,OJ),_cHover:_1(),...Vm.includes(o)?LJ():{},[Ne.duration]:Xo("desktop",Je(gs("hover"),t)),[Ne.delay]:Xo("desktop",Je(Is("hover"),t))}}function LJ(){let e=xC(),o=Ho("Zoom",_t(P1,{}),ta.min,ta.max,ta.step,ta.min,ta.unit),t=Ho("Darken on hover",_t(CJ,{}),Ma.min,Ma.max,Ma.step,Ma.fallback,Ma.unit);return{[Js.zoom]:Xo("desktop",Je(o,e)),[Js.darken]:Xo("desktop",Je(t,e))}}function L1(e,o,t){let a=Xo("desktop",{...bs(Ib(e,o),r=>qm({[Qe]:r},o,e)),description:t});return Object.assign(a,{[F1]:o})}var F1="sfPictureResting",k1=new WeakMap;function rRe(e,o,t){let a=e[Ne.kind],r=a?.[F1];if(!a||!r)return e;let n=o.props?.[Qe]==="nextImage",s=n?null:pl(t.appState,o.props?.id),l=s?cl(String(s.type),vo(o.props),s):null;if(!n&&!l?.next)return e;let d=k1.get(e);return d||(d={...e,[Ne.kind]:L1(jm,r,_J)},k1.set(e,d)),d}var FJ="What this card does when a shopper points at it, or taps it on a phone. Highlight fills it with the surface color and turns its text the main color.",BJ={none:()=>_t(T1,{}),[Wt]:()=>_t(IJ,{})},nRe=Xo("desktop",{...E1(O1({label:i("Hover effect"),options:Hm.map(e=>({value:e,label:i(Wm[e]),picture:BJ[e]()})),fallback:"none"}),{type:"select",label:"Hover effect",options:Hm.map(e=>({value:e,label:Wm[e]}))}),description:FJ});function B1(){let e={any:[Ym("none"),{field:Qe,is:Wt}]};return{...bb("none"),[mr]:Pp(e)}}import{jsx as xi}from"react/jsx-runtime";import{isNodeList as HJ}from"efficient-easel/data";import{useEasel as WJ}from"efficient-easel/easel";import{hiddenInView as GJ,hiddenKeyOf as Sb,hidePatch as $J,slotChildName as zJ,slotChildRowName as UJ}from"efficient-easel/draw";var Ep=null;function yb(e){Ep=e}function D1(){return!!(Ep&&Ep.state().lockHolder)}function Xr(){return Ep!==null}var DJ=new Set(["BookingBox","SubmitBox"]);function NJ(e){return typeof e=="string"&&DJ.has(e)}var MJ=Dv(NJ,D1);function Op(e,o){return MJ(e)||$x(o)}var _p=(e,o,t)=>{if(o!=="block"||e.props?.fromProduct!==!0)return t;let a=e.props.product;return!a?.code||typeof a.name!="string"?t:a.name.trim()||t};import{deviceField as jJ}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as KJ}from"efficient-easel/screen/lib/document/panel-no-control-mark";var N1="notCardOfTemplate",wb={not:{context:N1,is:!0}},kRe={[N1]:(e,o)=>{let t=Ch(o.appState,e.props?.id);return t===void 0?void 0:t===null}};function Ap(e){let o=e.props?.content;return HJ(o)?o:[]}var Lp=(e,o)=>GJ(e.props??{},o),VJ=(e,o)=>e.props?.[Sb(o)]!==void 0;function M1(e,o=()=>!1,t="desktop"){return Ap(e).flatMap(a=>typeof a?.props?.id!="string"?[]:Ap(a).length&&!Lp(a,t)?M1(a,o,t):o(a)?[]:[a])}function qJ(e,o,t,a="desktop"){let r=M1(e,t,a).map(l=>({child:l,name:o(l)})),n=new Set(r.map(l=>l.name)),s=new Set;return r.map(({child:l,name:d})=>{let c=d;if(s.has(d)){let f=2;for(;n.has(`${d} ${f}`);)f+=1;c=`${d} ${f}`,n.add(c)}return s.add(d),{id:l.props.id,label:c,shown:!Lp(l,a)}})}function Rp(e,o,t){let a=r=>t==="desktop"?Lp(r,t):VJ(r,t);return Ap(e).flatMap(r=>a(r)?o(r)?[]:[r,...Rp(r,o,t)]:Rp(r,o,t))}function YJ(e,o){let t={...e};for(let[a,r]of Object.entries(o))r===void 0||a===Sb("desktop")&&r===!1?delete t[a]:t[a]=r;return Object.keys(t).length===Object.keys(e).length&&Object.keys(t).every(a=>t[a]===e[a])?e:t}function Cb(e,o,t){let a=Ap(e),r=!1,n=a.map(s=>{if(r)return s;let l=s;if(s?.props?.id===o){let d=YJ(s.props,t(s.props));d!==s.props&&(l={...s,props:d})}else l=Cb(s,o,t);return r=l!==s,l});return r?{...e,props:{...e.props,content:n}}:e}function H1(e,o,t,a="desktop"){return Cb(e,o,r=>a==="desktop"&&Lp({props:r},a)===!t?{}:$J(r,a,!t))}function XJ(e,o,t){return t==="desktop"?H1(e,o,!0,t):Cb(e,o,()=>({[Sb(t)]:void 0}))}function JJ(e,o,t,a){return zJ(e).trim()?t(e):cl(o,vo(e.props),a)?.label??t(e)}var ZJ="This page is read-only.";function QJ({card:e,ownerType:o,owner:t,labelOf:a,write:r,readOnly:n,view:s="desktop"}){let l=f=>UJ(f,a,oa,void 0,_p),d=f=>Op(f.type,f),c=qJ(e,f=>JJ(f,o,l,t),d,s);return c.length?xi(Qn,{parts:c,changed:Rp(e,d,s).length>0,shown:f=>c.find(u=>u.id===f)?.shown??!0,disabledReason:n?ZJ:void 0,onPress:(f,u)=>r(p=>H1(p,f,u,s)),onReset:()=>r(f=>Rp(f,d,s).reduce((u,p)=>XJ(u,String(p.props.id),s),f))}):xi(KJ,{})}function eZ(){try{let e=WJ(r=>r),o=e.config.components??{},t=e.selectedItem;if(!t)return null;let a=Ch(e.appState,t.props?.id);return{labelOf:r=>o[r]?.label??r,card:t,ownerType:typeof a?.type=="string"?a.type:void 0,owner:a}}catch{return null}}function oZ({readOnly:e,view:o}){let t=eZ(),a=El();return t?xi(QJ,{...t,view:o,readOnly:e,write:r=>{e||a(n=>{let s={...t.card,props:n},l=r(s);return l===s?null:{content:l.props.content}})}}):xi(Qn,{parts:[],changed:!1,shown:()=>!0,onPress:()=>{},onReset:()=>{}})}function TRe(e){return Je(jJ(e,{type:"custom",render:({readOnly:o})=>xi(oZ,{readOnly:o,view:e})}),wb)}import{customize as fZ}from"efficient-easel/screen/lib/document/box-fields";import{jsx as vb}from"react/jsx-runtime";import{DirectionIcon as tZ,LoopMarqueeIcon as aZ,NoSymbolIcon as rZ}from"efficient-easel/icons";import{customize as nZ,describedAs as sZ,group as lZ}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as iZ}from"efficient-easel/screen/lib/document/effect-tiles";function kb(){return $0("Direction",ib,fi,"A marquee cannot run diagonally, so the corners are not answers.",vb(tZ,{}),G0)}var Tb=e=>lZ("Loop",e?{dot:e}:void 0),dZ={none:()=>vb(rZ,{}),scroll:()=>vb(aZ,{})};function cZ(){let e=iZ({label:i("Loop"),options:up.map(({value:o,label:t})=>({value:o,label:i(t),picture:dZ[o]()})),fallback:lb});return sZ(e,{type:"select",label:"Loop",options:up.map(({value:o,label:t})=>({value:o,label:t}))})}function W1(){return{_gLoop:Tb(ci),loop:cZ(),_cLoop:nZ(),scrollDirection:Je(kb(),ci),loopDuration:Je(mp({readsSpeed:!1}),ci),loopDelay:Je(hp(),ci)}}function pZ(){let e=B1(),o=[mr,Qe],t=On(e,Object.keys(e).filter(a=>!o.includes(a)),Xm);return On(t,o,{any:[Xm,wb]})}function G1(e,o=""){switch(e){case"section":case"block":return Et();case"box":return{...Et(),...W1(),...pZ()};case"picture":return{...Et(),...bb(Km(o),o)};case"textPart":return{...Et(),...A1()};case"cards":return{...Et(),...R1(Gm(o))};case"marquee":return{...Et(),_gLoop:Tb(),_cLoop:fZ(),scrollDirection:kb(),loopDuration:mp({readsSpeed:!0}),loopDelay:hp()}}}import{phoneKey as uZ}from"efficient-easel/draw";import{ENTRANCE_STATE_ATTR as mZ,entranceAttrs as hZ}from"efficient-shell/format";var z1={},Pb="_partMotion",Eb=[...Object.values(ke).flatMap(e=>[e,uZ(e)]),Qe,Ne.duration,Ne.delay];function eLe(e){return ss(e,Pb)}function Ss(e,o){return Uf(e,Pb,o)}var xZ=new Set([ke.kind,Qe]);function U1(e,o,t,a){let{[t]:r,...n}=Ss(e,o),s=a==null||a===""||a==="none"&&xZ.has(t)?n:{...n,[t]:a};return jf(e,Pb,o,Object.keys(s).length?s:null)}function Ob(e){return{entrance:bp(e),hover:fC(e)}}function j1(e){let o=Ob(e);return o.entrance!==null||o.hover!=="none"}function K1(e,o){let{attrs:t,style:a}=hZ(o),r=Object.keys(t).filter(n=>t[n]!==void 0);for(let n of r)e.setAttribute(n,String(t[n]));for(let[n,s]of Object.entries(a))e.style.setProperty(n,String(s));return()=>{for(let n of r)e.removeAttribute(n);for(let n of Object.keys(a))e.style.removeProperty(n);e.removeAttribute(mZ)}}var gZ=4;function V1(e){let o;for(let t of e)(!o||t.element.compareDocumentPosition(o.element)&gZ)&&(o=t);return o}var IZ="data-sf-part-host";function q1(e){let o=e?.ownerDocument.defaultView,t=e;for(;t&&!t.hasAttribute(IZ)&&!t.classList.contains(gp);){let a=o?.getComputedStyle(t).display??"";if(a==="contents")return null;if(a!=="inline")return t;t=t.parentElement}return null}var Fp="data-sf-part-lift",$1="sf-part-lift";function Y1(e){if(e.getElementById($1))return;let o=e.createElement("style");o.id=$1,o.textContent=oO(`[${Fp}]`).join(`
|
|
62
|
+
`),e.head.appendChild(o)}var X1=new Map,wZ=e=>{let o=X1.get(e);return o||X1.set(e,o=m1(G1(e),`part:${e}`)),o},CZ=new Set(Eb);function ws(e,o,t){let{getItemById:a,getSelectorForId:r}=yZ(f=>f),n=SZ(),s=a(e)?.props??{},l=Ss(s,o),d=JSON.stringify(l),c=bZ(()=>Object.fromEntries(Eb.map(f=>[f,l[f]])),[d]);return{part:o,fields:wZ(t),values:c,keys:CZ,onChange:(f,u)=>{let p=r(e),x=a(e);if(!p||!x)return;let g=U1(x.props??{},o,f,u);n.replaceComponent(p.zone,p.index,{...x,props:g})}}}import{Fragment as vZ,createElement as kZ}from"react";import{deviceField as _b}from"efficient-easel/screen/lib/document/device-fields";var go=()=>({type:"custom",render:()=>kZ(vZ)});var Ab={words:go(),sourceNote:go(),style:go(),font:go(),italic:go(),fontSize:_b("each",go()),lineHeight:go(),letterSpacing:go(),paragraphSpacing:go(),padding:go(),align:_b("each",go()),letterCase:go(),fixedSizeHint:_b("each",go()),regionNote:go(),regionStyle:go()},TZ=["fontSize","align"];function J1(e){return TZ.includes(e)}var Z1={showTicker:go(),items:go()};var NZ="root:default-zone";function Q1({heroId:e}){let{appState:o,dispatch:t}=AZ(x=>x),a=o.data.content??[],r=a.findIndex(x=>x.props.id===e),n=r>=0?a[r]:null,s=n?n.props.showTicker??!0:!0,l=_Z(()=>{let x=n?.props.tickerItems;return Array.isArray(x)?x:y_.map(g=>({text:g}))},[n]),d=OZ(),c=DZ(),f=x=>BZ(Z1[x],c),u=ws(e,S_,"block");if(!n)return Jr("p",{className:"sf-note",children:i("This ticker\u2019s hero is no longer on the page.")});let p=x=>t({type:"replace",destinationZone:NZ,destinationIndex:r,data:{...n,props:{...n.props,...x}}});return Jr(Ot,{motion:u,body:EZ(PZ,{children:[!f("showTicker")&&!f("items")&&Jr(qr,{}),f("showTicker")&&Jr(RZ,{label:i("Show ticker"),labelId:d,icon:Jr(FZ,{}),action:Jr(LZ,{checked:s,onChange:x=>p({showTicker:x}),ariaLabelledBy:d})}),f("items")&&Jr(Tg,{label:kg.label,icon:kg.icon,items:l,placeholder:"item",onChange:x=>p({tickerItems:x}),markup:!0})]})})}import{jsx as J,Fragment as wi,jsxs as rt}from"react/jsx-runtime";import{useContext as aQ,useEffect as Lb,useRef as rQ,useState as xA}from"react";import{FieldSelect as nQ,InspectorField as sQ,fieldShownInView as lQ}from"efficient-easel/fields";import{InertHint as kA,SettingsField as iQ}from"efficient-easel/panel";import{InspectorUpLevel as zp}from"efficient-easel/chrome";import{StylesIcon as dQ,TypeIcon as cQ}from"efficient-easel/icons";import{useEasel as fQ}from"efficient-easel/easel";import{TextPartPanel as gA}from"efficient-easel/copy";import{Button as pQ,IconButton as uQ,Tooltip as mQ}from"efficient-shell/ui";import{jsx as eA,jsxs as MZ}from"react/jsx-runtime";import{COPY_CELLS as Bp,CopyBox as HZ}from"efficient-easel/copy";import{PaddingYIcon as WZ}from"efficient-easel/icons";import{onDesktopWords as GZ}from"efficient-easel/screen/lib/document/box-fields";var $Z=["left","center","right","justify"];function Dp(e,o,t,a="desktop"){let r=Yl(e),n=fI(a),s=e[n]??e.size??o.sizePx,l=lO(e,a);return[{...Bp.fontSize,key:"fontSize",value:e[n],styleValue:Math.round(o.sizePx),onChange:d=>t({[n]:d??null}),...n==="size"?{}:{reset:{detail:l?GZ(d=>i(d),`${l.px}px`,l.view):void 0}}},{...Bp.lineHeight,key:"lineHeight",value:r.lineHeight,styleValue:o.lineRatio,onChange:d=>t(d===void 0?{lineHeight:null,line:null}:{lineHeight:d})},{...Bp.letterSpacing,key:"letterSpacing",scale:s,value:r.letterSpacingEm,styleValue:o.letterEm,onChange:d=>t(d===void 0?{letterSpacing:null,letter:null}:{letterSpacing:d})},{...Bp.paragraphSpacing,key:"paragraphSpacing",value:e.paragraphSpacing,styleValue:0,onChange:d=>t({paragraphSpacing:d??null})},{key:"padding",name:i("Padding"),icon:eA(WZ,{}),unit:"px",step:lI,shiftStep:10,min:nI,max:sI,value:e.padding,styleValue:o.paddingPx,onChange:d=>t({padding:d??null})}]}function oA({text:e,onTextChange:o,multiline:t,markup:a=!0,styled:r=!0,style:n,base:s,setValue:l,colors:d,placeholder:c,ariaLabel:f,head:u,typedOnCanvas:p=!1}){let x=Dp(n,s,l),g=Wg(a,t);return MZ("div",{className:"sf-part-textbox",children:[u,eA(HZ,{value:e,onChange:o,multiline:t,placeholder:c,ariaLabel:f,rules:pr,tools:g,barShows:p?"focus":"always",colors:a?d:[],colorNameOf:Ko,align:r?{value:n.align??s.align,allow:$Z,onChange:I=>l({align:I})}:void 0,letterCase:r?{value:n.case==="capitalize"?"":n.case??"",onChange:I=>l({case:I||null})}:void 0,cells:r?x:void 0})]})}import{UiIcon as IA}from"efficient-easel/draw/client";import{jsx as Np,Fragment as zZ,jsxs as UZ}from"react/jsx-runtime";import{Button as tA,Dialog as jZ}from"efficient-shell/ui";function aA({styleName:e,onCancel:o,onConfirm:t}){return Np(jZ,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Update {style}?",{style:e}),footer:UZ(zZ,{children:[Np(tA,{variant:"secondary",onClick:o,children:i("Cancel")}),Np(tA,{variant:"primary",onClick:t,children:i("Update style")})]}),children:Np("p",{children:i("Every text on the site that follows {style} changes to look like this one. This text\u2019s own changes are cleared, and it keeps following {style}.",{style:e})})})}import{ScreenDocumentContext as hQ}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as xQ}from"efficient-easel/draw/client";import{shownTier as Gp}from"efficient-easel/screen/lib/document/device-fields";import{jsx as KZ}from"react/jsx-runtime";import{createContext as VZ,useContext as qZ,useMemo as YZ,useState as XZ}from"react";var JZ={partStyle:null,setPartStyle:()=>{}},rA=VZ(JZ);function ULe({children:e}){let[o,t]=XZ(null),a=YZ(()=>({partStyle:o,setPartStyle:t}),[o]);return KZ(rA.Provider,{value:a,children:e})}function nA(){return qZ(rA)}import{TEXT_FIELD_MARKER as gQ}from"efficient-easel/draw";import{useSectionOps as IQ}from"efficient-easel/screen/lib/document/use-section-ops";var gi="@name",sA="@body",lA="@value",iA={[gi]:"Name",[sA]:"Body",[lA]:"Value"},ZZ={TimelineTrack:{"entries.date":gi,"entries.title":gi,"entries.blurb":sA},Footprint:{"offices.city":gi},Stats:{"items.label":gi,"items.value":lA}};function QZ(e){let{key:o,row:t}=Tt(e);return t?`${o}.${t.rowKey}`:null}function Ii(e,o){if(!e)return o;let t=QZ(o);return t?ZZ[e]?.[t]??o:o}import{useEaselHost as bQ}from"efficient-easel/screen/lib/host";function eQ(e){let o=new Set([...Object.keys(Pc[e]??{}),...Ec[e]??[]]);for(let[t,a]of Object.entries(bx[e]??{}))a.verb==="snapshot"&&o.add(t);return[...o].sort()}var oQ={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},dA={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},cA="Open",fA={product:{type:"storefront-editor:open-product",needsSlug:!0},blog:{type:"storefront-editor:open-post",needsSlug:!0},menu:{type:"storefront-editor:open-menus",needsSlug:!1}};function Cs(e){let o=e?.source?.slug;return Z(o)}function bi(e){return oQ[e]??null}function pA(e,o){let t=bi(e);return t&&eQ(e).includes(o)?t:null}function Mp(e){let o=e?.menu?.id;return Z(o)}var yi={tag:"text-[length:var(--size-label,13px)]",name:"text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))]",namePhone:"max-view-wide:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,14px)]",price:"text-[length:var(--size-label,15px)]",link:"text-[length:var(--size-label,14px)]"},tQ={tag:{label:"Tag",follows:"Labels",builtIn:An(yi.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:An(yi.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:An(yi.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:An(yi.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:An(yi.link),writable:!0}},uA=tQ;var Hp={entry:{label:"Entry",follows:"Labels",builtIn:"13px",writable:!0},number:{label:"Entry number",follows:"Labels",builtIn:"13px",writable:!0}};var aFe=Vd,mA={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 Rb={SpecTable:mA,FAQ:ev,Collections:uA,Contents:Hp};function hA(){return Ta("efficient.section-text-regions",()=>new Map)}function cFe(e){let o=hA();for(let[t,a]of Object.entries(e)){if(Object.hasOwn(Rb,t))throw new Error(`lib/sections/section-text-regions: "${t}" is a builder section; its table is the builder's`);let r=o.get(t);if(r&&r!==a)throw new Error(`lib/sections/section-text-regions: "${t}" already has a table`);o.set(t,a)}}function Wp(e){return e?Object.hasOwn(Rb,e)?Rb[e]:hA().get(e)??null:null}function Fb(e){return e?i(e):null}function bA(e){return e.kind==="role"?Im[e.role]:e.kind==="custom"?"Custom":null}function yQ(e){let o=Zt(e.role);return o?{kind:"role",role:o}:null}function SQ(e,o){if(!e)return{kind:"unread"};let{faceRole:t,base:a}=e;if(o[t]===a.fontKey)return{kind:"role",role:t};let r=Object.keys(o).filter(n=>o[n]===a.fontKey);return r.length===1?{kind:"role",role:r[0]}:{kind:"custom"}}function $p(e,o,t,a){return yQ(ql(e,o))??SQ(t,a)}function wQ(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(a=>o(a)===t)?t:null}function yA(e){return[{value:Si,label:i("No style"),description:i("Section\u2019s own")},...e.map(o=>({value:o.id,label:o.name,description:o.values.font?bn(o.values.font)?.label:void 0}))]}var Si="";function CQ({face:e,base:o,onPick:t}){let a=e.kind==="role"?e.role:Si,r=[{label:i("No style"),value:Si},...KS.map(n=>({label:i(Im[n]),value:n}))];return J(nQ,{ariaLabel:i("Style"),value:a,options:r,inline:!0,onChange:n=>t(n===Si?null:n),renderOption:n=>n.value===Si?rt(wi,{children:[J("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),J("span",{className:"sf-part-style-aside","aria-hidden":"true",children:i("Section\u2019s own")})]}):J("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>J("span",{style:{fontFamily:o?.fontKey?`var(${bn(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:Fb(bA(e))}),valueText:n=>Fb(bA(e))??n?.label??""})}var TA=["regionNote","regionStyle"],vQ=Object.keys(Ab).filter(e=>!TA.includes(e));function PA(e,o){return!e.some(o)}function kQ({sectionName:e,onBack:o,textEditor:t,styleRow:a,children:r,tabs:n}){let s=rt(wi,{children:[t,a,r]});return rt("div",{className:"sf-part-panel",children:[J(zp,{inline:!0,name:i(e),onSelect:o}),n?n(s):s]})}function Up({source:e,slug:o,menuId:t}){let a=bQ(),r=fA[e],n=!r.needsSlug||!!o;return J("div",{className:"sf-note sf-note--source",children:rt(kA,{children:[i(dA[e]),n?rt(wi,{children:[" ",J(pQ,{type:"button",variant:"link",size:"sm",onClick:()=>{r.type==="storefront-editor:open-menus"?a.send(r.type,{menuId:t??null}):o&&a.send(r.type,{slug:o})},children:i(cA)})]}):null]})})}var SA=4,TQ=120;function wA(e){return i("Every {part} in this section follows it. The face and the size change; the letter case is the section\u2019s own and stays as it is.",{part:i(e.label).toLowerCase()})}function CA({region:e,sizePx:o,face:t,base:a,onFollowStyle:r,source:n,slug:s,onBack:l,shows:d,sizedStyle:c,ownLook:f}){let u=e.follows;return rt("div",{className:"sf-note",children:[J("p",{children:J("strong",{children:i(e.label)})}),d("regionNote")&&!f&&J("p",{children:o?i("Its size follows Styles \u25B8 {follows} \u2014 {px}px right now.",{follows:i(u),px:Math.round(o)}):i("Its size follows Styles \u25B8 {follows}.",{follows:i(u)})}),c?rt(wi,{children:[c,d("regionStyle")&&J("p",{className:"es-field-hint",children:wA(e)})]}):r?d("regionStyle")?J(wi,{children:J(iQ,{label:i("Style"),icon:J(dQ,{}),hint:wA(e),children:J(CQ,{face:t,base:a,onPick:r})})}):null:d("regionNote")&&J("p",{className:"es-field-hint",children:i("Only the size follows a site style. This section sets its own font, weight and letter case.")}),n&&d("sourceNote")?J(Up,{source:n,slug:s}):null,PA([...TA,"sourceNote",...c?["fontSize"]:[]],p=>d(p)&&(p!=="sourceNote"||!!n))&&J(qr,{}),J(zp,{inline:!0,name:i("Page"),onSelect:l})]})}function PQ({onBack:e}){return rt("div",{className:"sf-note",children:[J("p",{children:J("strong",{children:i("This part is no longer here.")})}),J("p",{children:i("The section it belonged to has been changed or removed.")}),J(zp,{inline:!0,name:i("Page"),onSelect:e})]})}function EQ({onBack:e,partId:o,why:t}){return rt("div",{className:"sf-note",children:[J("p",{children:J("strong",{children:i("This part's settings did not open.")})}),J("p",{children:i("The words are still on your page and nothing has been lost. The editor could not work out which control belongs to them, which is a fault on our side. Go back and click the section to open its settings instead.")}),J("p",{className:"sf-note-detail",children:rt("code",{children:[o," \u2014 ",t]})}),J(zp,{inline:!0,name:i("Page"),onSelect:e})]})}function EA({nodeId:e,propKey:o,onBack:t,onEditStyle:a}){let{getItemById:r,getSelectorForId:n,config:s}=fQ(z=>z),l=IQ(),d=IE(),{partStyle:c}=nA(),{fonts:f,textStyles:u}=xe(),p=aQ(hQ),x=!p?.capabilities?.hasSiteTheme,{persist:g}=zn({themeFromDocument:x,tokenRef:p?.tokenRef,siteId:p?.siteId??null}),I=Zf({themeFromDocument:x,persist:g}),[k,S]=xA(!1),C=xQ(),b=z=>(Gp(C)!=="tablet"||J1(z))&&lQ(Ab[z],C),v=rQ(null),T=r(e),F=n(e),P=T?s.components[T.type]:void 0,{key:D,row:O}=Tt(o),R=P?.fields?.[D],N=O?as(R,O):R,y=kf(e,o),A=T?.props??{},L=es(N),H=ff(N),X=Ag(N),q=T?bi(T.type):null,U=T?pA(T.type,D):null,ge=O?zl(A[D],O):A[D],te=!!O&&!(Array.isArray(A[D])&&O.index<A[D].length);Lb(()=>{gE(document)||v.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[y]);let[Re,We]=xA(0);Lb(()=>We(0),[y]);let Pe=!!T&&!te&&(!F||!N);Lb(()=>{if(!Pe||Re>=SA)return;let z=setTimeout(()=>We(Ve=>Ve+1),TQ);return()=>clearTimeout(z)},[Pe,Re]);let Ie=Pe&&Re<SA,Ee=ws(e,Ii(T?.type,o),"textPart");if(!T||te)return J(PQ,{onBack:t});let Ge=Wp(T.type),to=Ge?il(Ge,o):null;if(Ge&&to){let z=c?.partId===y?c:null,Ve=Ge[to],mt=Ve.writable===!0&&!!F,Ca=sr=>{F&&l.replaceComponent(F.zone,F.index,{...T,props:xa(A,o,"role",sr)})};if(mt&&QC(Ve)){let sr=ql(A,o),jS=lr=>{if(!F)return;let gm=A;for(let[QM,eH]of Object.entries(lr))gm=xa(gm,o,QM,eH??null);l.replaceComponent(F.zone,F.index,{...T,props:gm})},XM=ga(I.saved,I.old),JM=rI(sr)??"",ZM=Dp(sr,z?.base??vA,jS,Gp(C)).filter(lr=>lr.key==="fontSize"&&b(lr.key));return J(Ot,{motion:Ee,body:J(CA,{region:Ve,sizePx:z?.base.sizePx??null,face:$p(A,o,z,f),base:z?.base??null,source:q,slug:Cs(A),onBack:t,shows:b,ownLook:dO(sr),sizedStyle:J(gA,{style:b("style")?{value:JM,options:yA(XM),onChange:lr=>jS(lr?{textStyle:lr}:{textStyle:null,role:null}),onEditStyles:a}:void 0,cells:ZM})})})}return J(Ot,{motion:Ee,body:J(CA,{region:Ve,sizePx:z?.base.sizePx??null,face:$p(A,o,z,f),base:z?.base??null,onFollowStyle:mt?Ca:void 0,source:q,slug:Cs(A),onBack:t,shows:b})})}if(!F||!N)return Ie?J("div",{className:"sf-note","aria-busy":"true"}):J(EQ,{onBack:t,partId:y,why:F?"no field":"no selector"});let So=z=>{l.replaceComponent(F.zone,F.index,{...T,props:z})},he=z=>{if(Va(z).hidden!==Va(ge).hidden||!L){let Ve=O?Og(A,D,O,z):{...A,[D]:z};Ve&&So(Ve);return}Ef({node:T,propKey:o,kind:L,zone:F.zone,index:F.index},Va(z).text,l.replaceComponent)},Ke=ge,Oe=c?.partId===y?c:null,ve=Oe?.styleOwner,Ye=ve?r(ve.owner):null,Ft=ve&&Ye?n(ve.owner):null,Fo=!!(ve&&Ye&&Ft),W=Fo?Ye.props??{}:A,Le=Fo?z=>l.replaceComponent(Ft.zone,Ft.index,{...Ye,props:z}):So,ne=Fo?ve.kind:Ii(T?.type,o),Fe=ql(W,ne),_e=[{partKey:ne,face:$p(W,ne,Oe,f),sizeGroup:Oe?.sizeGroup??null,base:Oe?.base??vA,style:Fe}],pt=wQ(_e,z=>z.sizeGroup),Bt=Wn(Oe?.inks),Ze=(z,Ve)=>{let mt=W;for(let Ca of _e)mt=xa(mt,Ca.partKey,z,Ve);Le(mt)},ut=z=>z?Ze("textStyle",z):Dt({textStyle:null,role:null}),Dt=z=>{let Ve=W;for(let mt of _e)for(let[Ca,sr]of Object.entries(z))Ve=xa(Ve,mt.partKey,Ca,sr??null);Le(Ve)},gn=L==="text"||L==="textarea",{text:Us,hidden:Jt}=Va(ge),rr=N?.[gQ]?.label??o,In=Jt?i("Show {label} on the slide",{label:i(rr)}):i("Hide {label} on the slide",{label:i(rr)}),$S=rt("div",{className:"sf-field-head",children:[J(cQ,{}),J("span",{className:"sf-field-label sf-field-label--inline",children:i(rr)}),gn&&J(mQ,{content:In,children:J(uQ,{"aria-pressed":Jt,"aria-label":In,onClick:()=>he({text:Us,hidden:!Jt}),children:Jt?J(IA,{name:"eye-off",size:14}):J(IA,{name:"eye",size:14})})})]}),gd=!H&&X,zM=!!L&&(T0(N)||H||Jt||!X),zS=$p(W,ne,Oe,f),UM=zS.kind==="role"?zS.role:null,xm=rI(Fe)??vO(UM),US=ga(I.saved,I.old),jM=Object.entries(Fe).filter(([z,Ve])=>z!=="role"&&z!=="textStyle"&&Ve!==void 0).length,KM=()=>{let z=W;for(let Ve of _e){let{role:mt,textStyle:Ca}=Ve.style;z=rO(z,Ve.partKey),mt&&(z=xa(z,Ve.partKey,"role",mt)),Ca&&(z=xa(z,Ve.partKey,"textStyle",Ca))}Le(z)},nr=xm,VM=kO(_e[0].style),qM=nr?US.find(z=>z.id===nr)?.name??nr:"",YM=()=>{S(!1),nr&&(I.write(TO({saved:I.saved,old:I.old,styleId:nr,values:SI(_e[0].style)}),!0),KM())};return rt(kQ,{sectionName:P?.label??T.type,onBack:t,tabs:z=>J(Ot,{motion:Ee,body:z}),textEditor:b("words")?J("div",{ref:v,className:"sf-part-text",children:zM?J(oA,{text:Us,onTextChange:z=>he(gn?{text:z,hidden:Jt}:z),multiline:Sf(L),markup:L!=="plainText",styled:!1,style:_e[0].style,base:_e[0].base,setValue:Dt,colors:Bt,placeholder:Fb(Y0(N))??void 0,ariaLabel:i(rr),head:$S,typedOnCanvas:d===y}):L?gn?$S:null:J(sQ,{field:N,name:o,value:Ke,onChange:he,id:`sf-part-${e}-${o}`})}):void 0,children:[U&&b("sourceNote")&&J(Up,{source:U,slug:Cs(A),menuId:Mp(A)}),gd&&J(gA,{style:b("style")?{value:xm??"",options:yA(US),onChange:z=>ut(z||null),changed:jM>0,onEditStyles:a,onUpdateStyle:nr&&VM?()=>S(!0):void 0}:void 0,font:b("font")?{value:Fe.font??"",styleValue:bn(_e[0].base.fontKey)?.label,options:ht.map(z=>({label:z.label,value:z.key})),onChange:z=>Ze("font",z||null)}:void 0,italic:b("italic")?{value:Fe.italic,styleValue:AQ(u,xm),onChange:z=>Ze("italic",z??null)}:void 0,cells:Dp(_e[0].style,_e[0].base,Dt,Gp(C)).filter(z=>b(z.key)),align:b("align")?_Q(Fe,_e[0].base.align,Gp(C),Ze):void 0,letterCase:b("letterCase")?{value:Fe.case??"",styleValue:_e[0].base.case,onChange:z=>Ze("case",z||null)}:void 0}),k&&nr&&J(aA,{styleName:qM,onCancel:()=>S(!1),onConfirm:YM}),gd&&pt===null&&b("fixedSizeHint")&&J(kA,{children:i("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")}),PA(vQ,z=>b(z)&&(z==="words"||(z==="sourceNote"?!!U:z==="fixedSizeHint"?gd&&pt===null:gd)))&&J(qr,{})]})}var OQ={desktop:"align",tablet:"alignTablet",mobile:"alignPhone"};function _Q(e,o,t,a){let r=OQ[t],n=sO(e,t);return{value:e[r]??"",styleValue:n??o,onChange:s=>a(r,s||null)}}function AQ(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var vA={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0};import{jsx as At,jsxs as $b,Fragment as HQ}from"react/jsx-runtime";import{useCallback as WQ,useRef as GQ,useState as ki}from"react";import{InspectorIconButton as $Q}from"efficient-easel/chrome";import{useEasel as zQ}from"efficient-easel/easel";import{PopupMenu as UQ,PopupMenuItem as jQ,PopupMenuLabel as Jp}from"efficient-shell/ui";import{CopyToPageIcon as KQ}from"efficient-easel/icons";import{useEaselSession as VQ}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as qQ}from"efficient-easel/screen/lib/document/section-doc";import{FOOTER_TYPE as YQ}from"efficient-easel/draw";import{currentEaselSession as RQ}from"efficient-easel/screen/lib/session";var LQ={general:!0,commerce:!0,service:!0};function Bb(e){let o=e?.sets;return o?Object.fromEntries(zw.map(t=>[t,o.includes(t)])):LQ}function Db(e=RQ()){return Bb(e.blocks)}import{isBackendError as vs}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as MA}from"efficient-easel/screen/lib/session";var jp=Qd(),Nb=jp.set;function Kp(e,o){Nb(e,o)}function Vp(e,o){let t=jp.get(e);Nb(e,o??(t==="live"?"changed":t))}function qp(e,o){Nb(e,o??"live")}function OA(e){return jp.get(e)}function _A(e){return jp.use(e)}function AA(e,o){return e==="live"&&o?"changed":e}function Mb({live:e,onPress:o,busy:t=!1,pinnedUnpublished:a=!1,goingLive:r}){let n=e==="live"&&!a,s=e==="changed"?i("Changes not live yet"):e==="never"?i("Never published"):a?i("Header and footer not live yet"):e==="live"?i("Everything is live"):null;return{label:i("Publish"),tooltip:e==="never"?i("Put this page on your site"):i("Put your changes on your site"),status:s,quiet:n?{label:i("Published"),reason:i("Everything is live")}:null,...r&&r.length?{goingLive:r}:{},onPress:o,busy:t}}function RA(e){return e.map(o=>o.change==="take_down"?i("{name} (taken down)",{name:o.name}):o.name)}var LA="SharedSection",FQ=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Ci=e=>{let o=e?.content;return Array.isArray(o)?o:[]},vi=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0};function FA(e){if(e?.type!==LA)return null;let o=e.props?.section;return typeof o=="string"&&FQ.test(o)?o.toLowerCase():null}function BA(e){let o=[];for(let t of Ci(e)){let a=FA(t),r=vi(t);a&&r&&o.push({refId:r,section:a})}return o}function Yp(e){let o=Ci(e)[0];return o&&typeof o=="object"&&vi(o)?o:null}function BQ(e,o){return{type:LA,props:{id:e,section:o}}}function DA(e,o){let t=new Map,a=new Set,r=!1,n=Ci(e).map(s=>{let l=FA(s),d=vi(s);if(!l||!d||a.has(l))return s;let c=Yp(o.get(l)),f=vi(c??void 0);return!c||!f||t.has(f)?s:(a.add(l),t.set(f,{section:l,refId:d,reference:s}),r=!0,c)});return{working:r?{...e,content:n}:e,held:t}}function NA(e,o,t){let a=new Map,r=!1,n=Ci(e).map(s=>{let l=vi(s),d=l?o.get(l):void 0,c=d?t.get(d.section):void 0;if(!d||!c||a.has(d.section))return s;let f=Ci(c).slice(1),u=Yp(c);return a.set(d.section,u===s?c:{...c,content:[s,...f]}),r=!0,d.reference??BQ(d.refId,d.section)});return{page:r?{...e,content:n}:e,docs:a}}function Gb(e){return!!(e?.publish&&e.liveState)}function DQ(e,o){if(!Gb(e))return;let{versions:t,nameVersion:a,restoreVersion:r,previewVersion:n}=e;if(!(!t||!a||!r||!n))return{list:()=>t.call(e,o),name:(s,l)=>a.call(e,s,l,o),restore:(s,l)=>r.call(e,s,l??{},o),preview:s=>n.call(e,s,o)}}function NQ(e,o){return async(t,a)=>{try{await FT()}catch(r){throw new Error(i("A change waiting to go live could not be saved."),{cause:r})}return(await e.publish(o)).state==="live"?Ac({state:"live",changes:[]}):sa(0),{version:a??null}}}function Wb(e,o,t){let a=o?{siteId:o}:void 0;return{resolve:r=>e.load({slug:r,...a}).then(n=>(n&&(Kp(n.id,n.live),Wv(n.id,n.videoFrames)),n)),saveLayout:(r,n,s,l)=>e.save(r,{layout:n},{version:s,clientId:l??""}).then(d=>(Vp(r,d.live),Gv(r,d.videoFrames),sa(),d)),rereadVersion:e.version?r=>e.version(r):void 0,publish:Gb(t)?NQ(t,a):e.publish?(r,n)=>e.publish(r,n?{version:n}:void 0).then(s=>(qp(r,s.live),s)):void 0,listPages:()=>e.list(a),createPage:e.create?r=>e.create({...r,...a}):void 0,deletePage:e.remove?(r,n)=>e.remove(r,n):void 0}}function MQ(e,o,t,a,r=!1){let n=null,s=new Set,l=!1,d=new Map,c=new Map,f=new Map,u=new Map,p={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1,sections:[]},x=new Set,g=()=>{if(!n)return!1;let O=OA(n.id);return O==="changed"||O==="never"||O===void 0&&l},I=O=>{p={...p,...O,docId:n?.id??null,unpublished:g(),sections:[...f.values()]};for(let R of x)R()},k=(O,R,N)=>{R?f.set(O,{section:O,title:d.get(O)?.title??"",problem:R,holder:N}):f.delete(O)},S=O=>O&&typeof O=="object"&&!Array.isArray(O)?O:{},C=O=>s.has(O),b=()=>new Map([...d].map(([O,R])=>[O,R.layout])),v=()=>`SharedSection-${typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2)}`,T=(O,R,N,y)=>{let A=S(R);d.set(O,{layout:A,version:N,savedJson:JSON.stringify(A),title:y})},F={state:()=>p,subscribe:O=>(x.add(O),()=>{x.delete(O)})},P={sectionOf:O=>c.get(O)?.section??null,heldElsewhere:O=>{let R=c.get(O)?.section;return!!(R&&f.get(R)?.problem==="lock")},adopt:(O,R)=>{T(R.id,R.layout,R.layout_updated_at,R.title),c.set(O,{section:R.id,refId:v()}),u.set(R.id,R.used_on),I({})},place:O=>{if([...c.values()].some(y=>y.section===O.id))return null;let R=Yp(S(O.layout)),N=typeof R?.props?.id=="string"?R.props.id:null;return!R||!N||!R.type?null:(T(O.id,O.layout,O.layout_updated_at,O.title),c.set(N,{section:O.id,refId:v()}),u.set(O.id,O.used_on),R)},usedOn:O=>u.get(O)??null,learn:O=>{for(let R of O){u.set(R.id,R.used_on);let N=d.get(R.id);N&&(N.title=R.title);let y=f.get(R.id);y&&f.set(R.id,{...y,title:R.title})}I({})}},D=async(O,R)=>{for(let[N,y]of O){let A=d.get(N),L=JSON.stringify(y);if(!(!A||L===A.savedJson||f.get(N)?.problem==="lock"))try{let H=await e.save(N,{layout:y},{version:A.version,clientId:R??""});Vp(N,H.live),A.layout=y,A.version=H.version,A.savedJson=L,k(N,null)}catch(H){vs(H,"changed-elsewhere")?k(N,"conflict"):vs(H,"lock-taken")?k(N,"lock",H.holder??void 0):k(N,"save")}}O.size&&sa(),I({})};return{resolve:async O=>{if(yb(O===Ct?null:F),Fh(O===Ct?null:P),d=new Map,c=new Map,f=new Map,u=new Map,O===Ct)return t.resolve(O);let R=!1,[N,y]=await Promise.all([t.resolve(O),e.load({slug:Ct,...o}).catch(()=>(R=!0,null))]);if(y&&!Al(N?.layout)){Kp(y.id,y.live);let U=S(y.layout);n={id:y.id,layout:U,version:y.version,savedJson:""}}else n=null;if(l=!1,!N)return I({conflict:null,saveFailed:!1,loadFailed:R}),N;let A=S(N.layout),L=BA(A),H=await Promise.all(L.map(U=>e.load({id:U.section,...o}).catch(()=>null)));L.forEach((U,ge)=>{let te=H[ge];te?(Kp(te.id,te.live),T(U.section,te.layout,te.version,"")):(d.delete(U.section),f.set(U.section,{section:U.section,title:"",problem:"load"}))});let X=DA(A,b());if(c=X.held,!n)return c.size&&s.add(N.id),I({conflict:null,saveFailed:!1,loadFailed:R}),c.size?{...N,layout:X.working}:N;let q=Bv(X.working,n.layout);return n.savedJson=JSON.stringify(Lh(q,n.layout).chrome),s.add(N.id),I({conflict:null,saveFailed:!1,loadFailed:!1}),{...N,layout:q}},saveLayout:async(O,R,N,y)=>{if(!C(O))return t.saveLayout(O,R,N,y);let A=n,L=A?Lh(R,A.layout):{page:R,chrome:null},H=NA(L.page,c,b()),X=await t.saveLayout(O,H.page,N,y);if(await D(H.docs,y),!A)return X;let q=JSON.stringify(L.chrome);if(!L.chrome||q===A.savedJson||p.lockHolder)return X;try{let U=await e.save(A.id,{layout:L.chrome},{version:A.version,clientId:y??""});Vp(A.id,U.live),sa(),A.layout=L.chrome,A.version=U.version,A.savedJson=q,l=!0,I({conflict:null,saveFailed:!1})}catch(U){vs(U,"changed-elsewhere")?I({conflict:U.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):vs(U,"lock-taken")?I({lockHolder:U.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):I({saveFailed:!0})}return X},publish:t.publish?async(O,R)=>{let N=await t.publish(O,R),y=n;if(y&&C(O)&&!r&&e.publish&&g()&&!p.lockHolder){let A=await e.publish(y.id,y.version?{version:y.version}:void 0);qp(y.id,A.live),A.version!==null&&(y.version=A.version),l=!1,I({})}if(C(O)&&!r&&e.publish)for(let[A,L]of d){if(f.get(A)?.problem==="lock")continue;let H=await e.publish(A,L.version?{version:L.version}:void 0);qp(A,H.live),H.version!==null&&(L.version=H.version)}return N}:void 0,lock:a?{claim:async(O,R,N)=>{let y=await a.claim(O,R,N);if(!C(O))return y;let A=n;if(A)try{await a.claim(A.id,R,!1),p.lockHolder&&I({lockHolder:null})}catch(L){vs(L,"lock-taken")&&I({lockHolder:L.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}for(let L of d.keys())try{await a.claim(L,R,!1),f.get(L)?.problem==="lock"&&k(L,null)}catch(H){vs(H,"lock-taken")&&k(L,"lock",H.holder??void 0)}return d.size&&I({}),y},release:async(O,R)=>{if(await a.release(O,R),!C(O))return;let N=n;N&&!p.lockHolder&&await a.release(N.id,R).catch(()=>{});for(let y of d.keys())f.get(y)?.problem!=="lock"&&await a.release(y,R).catch(()=>{})}}:void 0,pinnedChrome:F}}function Xp(e){let o=(t,a,r)=>e.save(t,a.layout?{...a,layout:hv(a.layout)}:a,r);return new Proxy(e,{get(t,a){if(a==="save")return o;let r=Reflect.get(t,a,t);return typeof r=="function"?r.bind(t):r}})}function vBe(e,o,t){return e.update(o,xv(t))}function kBe(e,o=ze(),t=Db(),a={}){let r=MA(o),n=e?{siteId:e}:void 0,s=r?!!e:!0,l=o.site.update,d=r&&t.commerce&&t.service,c=!!a.editsPinnedInPlace&&d,f=Gb(o.site)?o.site:void 0,u=Xp(o.pages),p=Wb(u,e,f),x=c?MQ(u,n,p,o.lock,!!f):null;return{capabilities:{canPublish:!!f||!!o.pages.publish,hasSiteSettings:r,hasSiteTheme:!!o.theme,placeholderFrames:!1,mediaEditing:!0,pageCreationInAdminForm:!o.pages.create,canDeletePagesInline:!!o.pages.remove,hasEditLock:!!o.lock,hasEditGuard:!0,hasPinnedChrome:d,editsPinnedInPlace:c,explainsSiteSettings:!1,hasSiteRecord:s,canEditSiteRecord:s&&!!l,hasPreviewLink:r||!!o.preview,hasCatalog:r&&t.commerce,hasForms:r&&t.service,hasBlog:!!o.blog&&t.service,offersCommerce:t.commerce,offersService:t.service},...p,...HA(p.resolve),lock:o.lock,...x,site:s?()=>o.site.get(n):void 0,siteLiveState:f?()=>f.liveState(n):void 0,siteVersions:DQ(f,n),updateSite:s&&l?g=>l(g,n):void 0,previewHref:o.preview?g=>o.preview.href(g):void 0}}function TBe(e,o=ze(),t=Db()){let a=MA(o),r=o.templates,n=r?Xp(r.pages(e)):{list:()=>Promise.reject(new Error(Hb)),load:()=>Promise.reject(new Error(Hb)),save:()=>Promise.reject(new Error(Hb))};return{capabilities:{canPublish:!1,hasSiteSettings:!1,hasSiteTheme:!1,placeholderFrames:!0,mediaEditing:!1,pageCreationInAdminForm:!n.create,canDeletePagesInline:!!n.remove,hasEditLock:!1,hasEditGuard:!1,hasPinnedChrome:a&&t.commerce&&t.service,editsPinnedInPlace:!1,explainsSiteSettings:a,hasSiteRecord:!1,canEditSiteRecord:!1,hasPreviewLink:!1,hasCatalog:a&&t.commerce,hasForms:a&&t.service,hasBlog:!!o.blog&&t.service,offersCommerce:t.commerce,offersService:t.service},...Wb(n,void 0),...HA(Wb(n,void 0).resolve),publish:void 0,templateName:r?()=>r.get(e).then(s=>s.name):void 0}}function HA(e){return{resolve:o=>(yb(null),Fh(null),e(o))}}var Hb="This editor's backend has no website templates.";function XQ(e,o,t){let a=qQ(e,void 0,o);return t?.(a)??a}function WA({node:e,currentSlug:o,siteId:t,tokenRef:a,runAuthed:r,onNotify:n}){let[s,l]=ki(!1),[d,c]=ki(null),f=VQ(),u=zQ(P=>P.config.components),[p,x]=ki(!1),[g,I]=ki(null),k=GQ(null),[S,C]=ki(null),b=WQ(async()=>{if(f.usesBridgedToken&&!a.current){x(!0);return}try{c(await ze(f).pages.list(t?{siteId:t}:void 0))}catch{x(!0)}},[a,t,f]),v=()=>{if(s){l(!1);return}let P=k.current?.getBoundingClientRect();P&&C({top:P.bottom+6,right:Math.max(8,window.innerWidth-P.right)}),c(null),x(!1),b(),l(!0)},T=(d??[]).filter(P=>P.slug!==o),F=async P=>{if(g)return;I(P.slug);let D=XQ(e,u,f.documentHooks?.storedNode),O=await r(()=>JQ(ze(f).pages,P,D));I(null),l(!1),n?.(O?i("Duplicated to \u201C{name}\u201D",{name:P.label}):i("Couldn\u2019t duplicate the section \u2014 please retry"),O?"success":"error")};return $b(HQ,{children:[At("span",{"data-menu-toggle":!0,style:{display:"contents"},children:At($Q,{buttonRef:k,label:i("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:v,children:At(KQ,{size:15})})}),s&&S&&At(UQ,{portal:!0,style:{top:S.top,right:S.right},onClose:()=>l(!1),children:$b("div",{role:"menu","aria-label":i("Duplicate to page"),children:[At(Jp,{children:i("Duplicate to page")}),p?At(Jp,{children:i("Couldn\u2019t load pages")}):d===null?At(Jp,{children:i("Loading\u2026")}):T.length===0?At(Jp,{children:i("No other pages")}):T.map(P=>$b(jQ,{role:"menuitem",disabled:g!==null,onClick:()=>{F(P)},children:[At("span",{className:"min-w-0 flex-1 truncate",children:P.label}),g===P.slug?At("span",{className:"shrink-0 text-xs",children:i("Copying\u2026")}):P.draft&&At("span",{className:"shrink-0 text-xs",children:i("draft")})]},P.id))]})})]})}async function JQ(e,o,t){let a=Xp(e),r=await a.load({id:o.id});if(!r)throw new Error(`Page "${o.slug}" no longer exists.`);let n=r.layout??{},s=Array.isArray(n.content)?[...n.content]:[],l=s.findIndex(d=>d?.type===YQ);s.splice(l===-1?s.length:l,0,t),await a.save(o.id,{layout:{root:{},zones:{},...n,content:s}},{version:r.version,clientId:""})}import{useScreenDocument as _re}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as Are}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as W3e,isSelectionMode as oS}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as Rre}from"efficient-easel/draw/client";import{jsx as Ti,jsxs as ZQ}from"react/jsx-runtime";import{SettingsDrill as QQ}from"efficient-easel/panel";import{UiIcon as eee}from"efficient-easel/draw/client";var oee="Not shown on the page";function tee({part:e,onOpen:o}){return Ti(QQ,{name:i(e.label),preview:e.offPage?i(oee):e.preview||i("Empty"),offPage:e.offPage,status:e.hidden?Ti("span",{className:"sf-entry-eye",role:"img","aria-label":i("Hidden on the page"),children:Ti(eee,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function zb(e){return e.filter(o=>!o.identifier)}function GA({parts:e,onOpen:o,heading:t=!0}){let a=zb(e);return a.length?ZQ("div",{className:"sf-entries",children:[t?Ti("h3",{className:"sf-entries-head",children:i("Text")}):null,a.map(r=>Ti(tee,{part:r,onOpen:o},r.key))]}):null}import{HEADER_TYPE as Lre,ROOT_ZONE as JB}from"efficient-easel/draw";import{HEADER_TYPE as Wo,FOOTER_TYPE as He,newNodeId as aee}from"efficient-easel/draw";function Zp(){return{type:Wo,props:{id:aee(Wo)}}}var $A=[{type:"FooterLogo",label:"Logo"},{type:"FooterMenu",label:"Menu"},{type:"FooterText",label:"Text"},{type:"FooterEmailSignup",label:"Email Form"},{type:"FooterSocial",label:"Social Logos"},{type:"FooterPayment",label:"Payment Logos"},{type:"FooterGroup",label:"Footer Box"}],ree=$A.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),nee="FooterGroup",zA="blocks";function UA(e){return e===He?$A:e===nee?ree:null}function Qp(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterEmailSignup",{...lP}),e("FooterPayment",{...Dc})]}function Ub(e){switch(e?.type){case Me:case Ae:return i("On every page");case Wo:case He:return i("On every page \xB7 old style");default:return null}}var jA=()=>null,KA=()=>i("Changed on every page");function eu(e,o){let t=gk(e,o);if(t)return t;let a=Ov(e,o);if(!a)return null;let r=a.group===Me;return a.why==="type"?r?i("The header cannot take another one of these"):i("The footer cannot take another one of these"):r?i("The header holds at most 3 sections"):i("The footer holds at most 6 sections")}import{jsx as $u,Fragment as pre,jsxs as ure}from"react/jsx-runtime";import{useState as mre}from"react";import{createNode as hre,newId as xre}from"efficient-easel/data";import{useEasel as gre}from"efficient-easel/easel";import{Banner as Ire,Button as Qy}from"efficient-shell/ui";import{useScreenDocument as bre}from"efficient-easel/screen/components/ScreenDocumentContext";import{isNodeList as see}from"efficient-easel/data";import{hiddenKeyOf as lee}from"efficient-easel/screen/lib/content/view-hide";var ou="Flex",iee={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},dee={FooterPayment:"PaymentLogosBlock"},cee=e=>{let{id:o,...t}=e;return t},VA=e=>typeof e=="string"?e:"",ks={sm:12,md:13,lg:15},qA={sm:{mark:16,words:ks.sm},md:{mark:20,words:ks.md}},fee="md",YA=1.5,pee={size:13,lineHeight:YA,width:280},uee=14,mee=40,hee=e=>e==="center"||e==="right"?e:"left";function xee(e){let o={},t=[["padTop","sectionPaddingTop"],["padRight","sectionPaddingRight"],["padBottom","sectionPaddingBottom"],["padLeft","sectionPaddingLeft"]];for(let[a,r]of t){let n=j(e[a]);n&&(o[r]=n)}return o}function gee(e,o,t){let a=t(e,cee(o));if(Array.isArray(o.template))return{...a,props:{...a.props,template:XA(o.template,String(a.props.id))}};if(o.template!==void 0)return a;let r=lv(e,a.props);return r===a.props?a:{...a,props:r}}function XA(e,o,t={at:0}){return e.map(a=>{let r={...a.props,id:`${o}~t${t.at++}`};for(let[n,s]of Object.entries(r))see(s)&&(r[n]=XA(s,o,t));return{...a,props:r}})}function JA(e,o,t){let a=e.props??{},r=t?.(e,o);if(r)return r;let n=iee[e.type]??dee[e.type];if(n)return[gee(n,a,o)];switch(e.type){case"FooterLogo":{let s=hee(a.align),l=o("LogoBlock",{...a.reverse?{reverse:a.reverse}:{},...typeof a.customColor=="string"&&a.customColor?{customColor:a.customColor}:{},heightPx:Math.round(yw*((j(a.widthPct)??100)/100)),href:"/",align:s,...xee(a)}),d=VA(a.tagline).trim();return d?[l,o("Text",{text:d,tone:"dim",align:s,_partStyles:{text:{...pee}}})]:[l]}case"FooterText":{let s=typeof a.size=="string"&&a.size in ks?a.size:fee;return[o("Text",{text:VA(a.text),tone:typeof a.tone=="string"?a.tone:"default",_partStyles:{text:{size:ks[s],lineHeight:YA}}})]}case"FooterDivider":{let s=j(a.thickness),l=j(a.lengthPct);return[o("Divider",{...s!==void 0?{thickness:s}:{},...l!==void 0?{lengthPct:l}:{},...a.hideOnMobile===!0?{[lee("mobile")]:!0}:{}})]}case"FooterGroup":{let s=Array.isArray(a.blocks)?a.blocks:[];return[o(ou,{direction:a.direction==="horizontal"?"row":"column",gap:Rr("FooterGroup",a.gap),align:a.align==="center"||a.align==="end"||a.align==="stretch"?a.align:"start",...ol,content:s.flatMap(l=>JA(l,o,t))})]}default:return[]}}function Pi(e,o,t,a){let r=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],n=f=>o(ou,{direction:"row",wrap:!0,share:"equal",gap:mee,content:f}),s=[],l=[];for(let f of r){let u=JA(f,o,a);if(f.type==="FooterDivider"){l.length&&s.push(n(l)),l=[],s.push(...u);continue}u.length<=1?l.push(...u):l.push(o(ou,{direction:"column",gap:uee,align:"stretch",...ol,content:u}))}(l.length||!s.length)&&s.push(n(l));let d=o(ou,{direction:"column",content:[o("LegalLineBlock")]}),c=Tv(Ae,t,[...s,d]);return{...c,props:{...c.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}import{isNodeList as cre}from"efficient-easel/data";import{readHidable as bee}from"efficient-easel/draw";function tu(e,o,t){let a=[];return e.forEach((r,n)=>{let s=o(r),l=a.find(d=>d.key===s);l||(l={key:s,name:t(r),items:[]},a.push(l)),l.items.push({item:r,index:n})}),a}function dDe(e){return Iee[Ei(e)]}var Iee={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"};function Ei(e){if(e<=1)return 1;if(e<=4)return e;let o=t=>e%t||t;return o(4)>=o(3)?4:3}var Vt=V,qt=se;function Ya(e){if(e.theme)return ao(e.theme);let o=e.site?.themePresets;return o?ao({selected:e.site?.selectedPreset??0,themes:[...o]}):void 0}function yee(e,o){return o===0?`${e}~box`:`${e}~box-${o+1}`}var QA=new Set(["id"]),Zr={},eR=[],See=["ProductGrid","Events","ContactRouting","ReviewForm","AppointmentBooking","Reviews","CheckoutCTA"],Oi=["Breadcrumb","DocBody","Form","SubmitBuild","Footprint","FAQ",...See,"Stats","Logos","PaymentBadges","PaymentLogosBlock","FitmentFinder","DocMasthead","Timeline","TimelineTrack","OrderSummary","Chart","Mockup","Countdown","FeaturedCover","Cards"];function Io(e){for(let[o,t]of Object.entries(e)){if(o in Zr&&Zr[o]!==t)throw new Error(`lib/sections/section-to-box: "${o}" already has a row`);Zr[o]=t}}function Xa(e){return Zr[e]}function wee(e){return e in Zr&&eR.includes(e)}function oR(e,o=Oi){return e in Zr&&(o.includes(e)||wee(e))}function yDe(e){let o=_o[e];if(!o)throw new Error(`lib/sections/section-to-box: "${e}" has no head row in SPLITTABLE_SECTIONS`);let t=[{kind:"text",key:o.num,role:"eyebrow"},{kind:"text",key:o.title,role:"heading"}];return o.description&&t.push({kind:"text",key:o.description,role:"body"}),o.headRows.includes("linkText")&&o.headRows.includes("linkHref")&&t.push({kind:"button",key:"linkText",href:"linkHref"}),t}var jb=e=>bee(e),qe=e=>jb(e).text.trim()!=="";function Cee(e){if(e.includes("=="))return e;let o=e.indexOf("/"),t=o===-1?e:e.slice(0,o),a=t.trim();if(!a)return e;let r=t.indexOf(a);return`${t.slice(0,r)}==${a}==${t.slice(r+a.length)}${o===-1?"":e.slice(o)}`}var vee=e=>e==="heading"?Aa():e==="eyebrow"?It():{};function kee(e,o,t,a){let r={...e._partStyles?.text??{},...o??{},...t??{}};return(a==="center"||a==="right")&&r.align===void 0&&(r.align=a),Object.keys(r).length?{_partStyles:{text:r}}:{}}function Tee(e,o){if(e===void 0)return{};if(typeof e=="string")return{variant:e};let t=o[e.key];return{variant:typeof t=="string"&&Object.hasOwn(e.map,t)?e.map[t]:e.fallback}}function ZA(e,o,t,a,r={}){let n={...o};for(let s of e){let[l,d,c]=typeof s=="string"?[s,s,void 0]:s;if(t[l]===void 0)continue;let f=c?c(t[l],t,r):t[l];f===void 0?delete n[d]:n[d]=f,a(l,d,f===void 0)}return n}function Pee(e){let o=new Set([...QA,"headPlacement","_partStyles",...Object.keys(e.drop??{}),...Object.keys(e.reads??{})]),t=r=>{for(let n of r??[])o.add(typeof n=="string"?n:n[0])},a=r=>{for(let n of r)switch(n.kind){case"text":case"image":o.add(n.key),n.kind==="image"&&n.alt&&o.add(n.alt);break;case"button":o.add(n.key),o.add(n.href),typeof n.variant=="object"&&o.add(n.variant.key);break;case"list":o.add(n.key);break;case"group":case"block":t(n.box),a(n.parts??[]);break;case"core":if(n.keep!=="rest"&&n.keep.forEach(s=>o.add(s)),Object.keys(n.rename??{}).forEach(s=>o.add(s)),n.derive?.reads.forEach(s=>o.add(s)),typeof n.slots!="function")for(let s of Object.values(n.slots??{}))for(let l of s)"kind"in l&&o.add(l.key);break}};for(let r of[e,...e.also??[]])t(r.box),a(r.parts);return o}var Kb=e=>Kd(e.headPlacement)==="own-box";function Eee(e){return Kb(e)?"its head sits in a Box of its own above it (own-box): the row draws the head inline":void 0}function Oee(e,o){let t=e[o];return Array.isArray(t)&&t.some(a=>!!a&&typeof a=="object"&&typeof a.type=="string")?"already on the Box path: its items draw from a filled card template":void 0}function _ee(e){let o=new Set,t=a=>{for(let r of a)if(r.kind==="group"||r.kind==="block")t(r.parts??[]);else if(r.kind==="core"&&r.slots&&typeof r.slots!="function")for(let[n,s]of Object.entries(r.slots))s.length>0&&s.every(l=>!("kind"in l))&&o.add(n)};for(let a of[e,...e.also??[]])t(a.parts);return[...o]}function Aee(e,o,t){if(!t.press)for(let a of _ee(e)){let r=Oee(o,a);if(r!==void 0)return r}}function Ts(e,o,t={}){let a=e.props,r=(o.ownBoxConverts?void 0:Eee(a))??Aee(o,a,t)??o.skip?.(a);if(r!==void 0)return{node:e,nodes:[e],carried:[],dropped:[],siteWrites:[],restyled:[],skipped:r};let n=String(a.id??e.type),s=[],l=[],d=[],c=new Set,f=(T,F)=>{s.push({key:T,home:F}),c.add(T)},u=a._partStyles??{},p=Pee(o),x=0,g=(T,F)=>({type:T,props:{...F,id:`${n}~${T}-${++x}`}}),I=(T,F,P,D,O,R,N)=>{if(O){for(let A of T??[]){let L=typeof A=="string"?A:A[0];P[L]!==void 0&&N(L,`nothing \u2014 the ${D} has no parts, so it is not drawn`)}return}let y=typeof F=="function"?F(a,t):F??{};return ZA(T??[],y,P,(A,L,H)=>N(A,H?`nothing \u2014 the old value draws nothing (${D}: no ${L})`:`${R}${D}: ${L}`),t)},k=T=>wo(T,F=>`${n}~${F}-${++x}`),S=(T,F,P)=>{let D=T.of?T.of(F):Array.isArray(F[T.key])?F[T.key]:[],O=typeof T.props=="function"?T.props(a,t):T.props??{},R=D.map((H,X)=>{let q=H??{},U=T.item?.(q,X,a)??{},ge=C(U.reverse?[...T.parts].reverse():T.parts,q,!1,`item ${X+1}: `);return T.flat?U.props?ge.map(te=>({...te,props:{...te.props,...U.props,id:te.props.id}})):ge:[g(Vt,{name:`${T.name} ${X+1}`,...O,...U.props??{},[qt]:ge})]});if(T.groups){let H=T.groups;return P(T.key,D.length?`one Box per item (${D.length}), in a Box per group`:"nothing \u2014 the list is empty"),tu(D.map(X=>X??{}),H.of,H.of).map((X,q)=>{let U=X.items.map(Ie=>Ie.item),ge=H.parts?C(H.parts,H.head?.(U,a)??{},!1,`group ${q+1}: `):[],te=X.items.map(Ie=>R[Ie.index]),Re=H.perRow?.(U.length,a),We=Number.isInteger(Re)&&Re>=1?Re:1,Pe=[];if(H.perRow&&We<te.length)for(let Ie=0;Ie*We<te.length;Ie++)Pe.push(te.slice(Ie*We,(Ie+1)*We).flat());return g(Vt,{name:`${H.name} ${q+1}`,...H.props??{},[qt]:[...ge,g(Vt,{name:`${H.itemsName} ${q+1}`,...H.itemsProps?.(U.length,a)??{},[qt]:Pe.length?Pe.map((Ie,Ee)=>g(Vt,{name:`${H.rowName??`${H.itemsName} row`} ${Ee+1}`,...H.rowProps??{},[qt]:Ie})):te.flat()})]})})}let N=T.perRow?.(a),y=T.perRow?Number.isInteger(N)&&N>=1?N:1:0;if(P(T.key,(D.length?T.flat?`each item's parts (${D.length} items), in order`:`one Box per item (${D.length}), its parts inside`:"nothing \u2014 the list is empty")+(y&&D.length?`, in rows of ${y}`:"")),!y)return R.flat();let A=typeof T.rowProps=="function"?T.rowProps(a,t):T.rowProps??{},L=[];for(let H=0;H*y<R.length;H++){let X=R.slice(H*y,(H+1)*y).flat(),q=T.rowFiller?y-R.slice(H*y,(H+1)*y).length:0;L.push(g(Vt,{name:`${T.rowName??`${T.name} row`} ${H+1}`,...A,[qt]:[...X,...Array.from({length:q},(U,ge)=>g(Vt,{name:`Empty ${ge+1}`,...T.rowFiller,[qt]:[]}))]}))}return L},C=(T,F,P,D)=>{let O=[],R=(y,A)=>P?f(y,A):void 0,N=y=>P?u[y]:void 0;for(let y of T)if(!(y.when&&!y.when(a,P?void 0:F)))switch(y.kind){case"text":{let A=jb(F[y.key]);if(!A.text.trim()&&!(P&&t.press&&o.pressKeepsEmpty?.includes(y.key))){R(y.key,"nothing \u2014 empty words draw nothing, so no block");break}let L=vee(y.role??"body"),{_partStyles:H,...X}=L,q=kee(L,y.styleFrom?{...y.style,...y.styleFrom(a,t)}:y.style,N(y.key),y.props?.align);if(y.was&&P){let U=q._partStyles?.text??{};d.push({key:y.key,was:y.was,...typeof U.textStyle=="string"?{textStyle:U.textStyle}:{},...j(U.size)!==void 0?{size:j(U.size)}:{},...j(U.sizePhone)!==void 0?{sizePhone:j(U.sizePhone)}:{}})}O.push(g("Text",{text:y.mark==="accentLead"?Cee(A.text):y.mark==="accentItalic"?ur(A.text):A.text,...X,...y.props??{},...q,...A.hidden?{_hidden:!0}:{}})),R(y.key,`${D}Text block: its words${A.hidden?", hidden":""}`);break}case"button":{let A=jb(F[y.key]);if(!A.text.trim()){R(y.key,"nothing \u2014 no words, no button"),R(y.href,"nothing \u2014 no button to link"),typeof y.variant=="object"&&R(y.variant.key,"nothing \u2014 no button to style");break}let L=typeof F[y.href]=="string"&&F[y.href]?F[y.href]:"#",H={...y.style??{},...N(y.key)??{}};O.push(g("ButtonBlock",{label:A.text,href:L,...typeof y.props=="function"?y.props(F,t):y.props??{},...Tee(y.variant,F),...Object.keys(H).length?{_partStyles:{label:H}}:{},...A.hidden?{_hidden:!0}:{}})),R(y.key,`${D}Button block: its words`),R(y.href,`${D}Button block: its link`),typeof y.variant=="object"&&R(y.variant.key,`${D}Button block: its Style`);break}case"image":{let A=F[y.key];if(typeof A!="string"||!A){R(y.key,"nothing \u2014 no picture, no block"),y.alt&&R(y.alt,"nothing \u2014 no picture to describe");break}let L=y.alt&&typeof F[y.alt]=="string"?F[y.alt]:"";O.push(g("ImageBlock",{src:A,alt:L,...y.props??{}})),R(y.key,`${D}Image block: its picture`),y.alt&&R(y.alt,`${D}Image block: its alt text`);break}case"list":{O.push(...S(y,F,R));break}case"group":{let A=C(y.parts,F,P,D),L=I(y.box,y.props,F,`${y.name} Box`,!A.length&&!y.keepEmpty,D,R);L&&O.push(g(Vt,{name:y.name,...L,[qt]:A}));break}case"block":{let A=y.parts?C(y.parts,F,P,D):[],L=I(y.box,y.props,F,`${y.type} block`,!!y.parts&&!A.length&&!y.keepEmpty,D,R);L&&O.push(g(y.type,{...L,...y.slot?{[y.slot]:A}:{}}));break}case"core":{let A=y.as??e.type,L={...y.headless?{}:{headPlacement:"own-box"},...y.props??{}},H=y.keep==="rest"?Object.keys(F).filter(q=>!p.has(q)&&!(q in L)):y.keep;for(let q of H)F[q]!==void 0&&(L[q]=F[q],R(q,`the ${A} block inside the Box`));if(y.keep==="rest"){for(let U of Object.keys(y.props??{}))F[U]!==void 0&&!p.has(U)&&R(U,`nothing \u2014 the ${A} block inside the Box has the row's own value`);F.headPlacement!==void 0&&R("headPlacement",`the ${A} block inside the Box: own-box`);let q=Object.fromEntries(Object.entries(u).filter(([U])=>!p.has(U)));Object.keys(q).length&&(L._partStyles=q)}for(let[q,U]of Object.entries(y.rename??{}))F[q]!==void 0&&(L[U]=F[q],R(q,`the ${A} block inside the Box: ${U}`));if(y.derive){Object.assign(L,y.derive.props(F,t));for(let q of y.derive.reads)F[q]!==void 0&&R(q,`the ${A} block inside the Box`)}let X=typeof y.slots=="function"?y.slots(F,t):y.slots??{};for(let[q,U]of Object.entries(X))L[q]=U.flatMap(ge=>"kind"in ge?S(ge,F,R):k([ge]));O.push(g(A,L));break}}return O},b=(T,F)=>{let P=F===0?"Box":`${T.name} Box`,D=C(T.parts,a,!0,F===0?"":`${P}: `),O=typeof T.boxProps=="function"?T.boxProps(a,t):T.boxProps??{},R=ZA(T.box??[],O,a,(N,y,A)=>f(N,A?`nothing \u2014 the old value draws nothing (${P}: no ${y})`:`${P}: ${y}`),t);return{type:Vt,props:{name:T.name,...R,[qt]:D,id:yee(n,F)}}},v=[o,...o.also??[]].map(b);a._partStyles!==void 0&&f("_partStyles","each old part's style moved to its new part");for(let[T,F]of Object.entries(o.reads??{}))a[T]!==void 0&&f(T,F);for(let[T,F]of Object.entries(o.drop??{}))T in a&&(l.push({key:T,why:F}),c.add(T));for(let T of Object.keys(a))QA.has(T)||c.has(T)||l.push({key:T,why:"not in the row \u2014 not carried"});return{node:v[0],nodes:v,carried:s,dropped:l,siteWrites:[...o.site?.(e,t)??[]],restyled:d}}function tR(e,o=eR,t={}){if(!Array.isArray(e))return[];let a=[];return e.forEach((r,n)=>{let s=r&&typeof r.type=="string"&&o.includes(r.type)?Zr[r.type]:void 0;if(!s)return;let l=Ts(r,s,t);l.skipped===void 0&&a.push({index:n,node:l.node,nodes:l.nodes})}),a}import{phoneKey as Mee}from"efficient-easel/draw";var aR={label:"Button",defaultProps:{label:"",href:"#",variant:"primary",align:"left",contained:!0}};import{jsx as Lee}from"react/jsx-runtime";import{isNodeList as Ree}from"efficient-easel/data";var Vb=new Set(["FAQ"]);function rR(e,o){if(!Vb.has(e))return!1;let t=o.template;return typeof t=="function"?(t.blockCount??0)>0:Ree(t)}var au={ParagraphsA:{top:60,bottom:80},StatsParagraph:{top:120,bottom:120},Timeline:{top:120,bottom:120},Footprint:{top:120,bottom:120},TimelineTrack:{top:120,bottom:120},TitleWithButtons:{top:140,bottom:140},ProcessSteps:{top:120,bottom:120},DetailRows:{top:100,bottom:100}},nR=new Set(Object.keys(au)),lR=new Set(["Flex","Text","Heading","ImageBlock"]),Fee=new Set(["Divider"]),Bee=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),sR=new Set(["ProductGrid"]);function qb(e,o,t=!1){let a=e.render;e.render=r=>{if(o?.(r))return a(r);let n=Gc(yP(r,Wc,t)),s=a(r),l=Iw(r);return n?Lee(vd,{className:l?`${n.className} ${l}`:n.className,style:n.style,children:s}):s}}var ADe={name:"sectionPadding",applies:(e,o,t)=>o.isSection(e)&&!Bee.has(e)&&!!t&&typeof t.render=="function",panel(e,o,t){nR.has(o)||sR.has(o)||(e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})})},draw(e,o){if(nR.has(o)){let t=e.render,a=au[o];e.render=r=>{let n=$c(r,a);return t({...r,padTop:n.top,padBottom:n.bottom})};return}if(sR.has(o)){qb(e);return}lR.has(o)||Fee.has(o)||qb(e,o==="Flex"?t=>cx(t.bgImage):Vb.has(o)?t=>rR(o,t):void 0,!0)}},Dee=["Heading","Text","ImageBlock"],Nee=["LogoBlock"],RDe={name:"blockPadding",applies:(e,o,t)=>(Dee.includes(e)||Nee.includes(e))&&!!t&&typeof t.render=="function",panel(e,o,t){e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})}},draw(e,o){lR.has(o)||qb(e,void 0,!0)}};import{parseHexColor as Hee}from"efficient-shell/format";import{convertLength as Wee,isLengthUnit as Gee}from"efficient-easel/screen/lib/content/length-units";var Yb=e=>Gee(e)?e:"px",Ja=(e,o,t,a)=>o===t?e:Wee(e,o,t,a,{min:0,max:200,step:4}),Qr={textFit:"line",textFitPhone:"wrap"},en={...G,[xt]:""},{label:QDe,href:eNe,...$ee}=aR.defaultProps,co=$ee,on={buttonFillOpacity:0,buttonBorder:{width:0},buttonPaddingTop:0,buttonPaddingRight:0,buttonPaddingBottom:0,buttonPaddingLeft:0},Q={...Gd,sectionAccent:0},Es={sectionAccent:-1},ae=["gridSpan","sectionHeightMode","sectionHeightValue","sectionHeightUnit","sectionHeightModeTablet","sectionHeightValueTablet","sectionHeightUnitTablet","sectionHeightModePhone","sectionHeightValuePhone","sectionHeightUnitPhone","sectionCorners","sectionCornerSides","sectionBorder","sectionBorderTablet","sectionBorderPhone","sectionAccent","stickTop","stickTopDistance","stickTopTablet","stickTopDistanceTablet","stickTopPhone","stickTopDistancePhone","anchor","sectionAnimation",...Gn,...Object.values(ke).flatMap(e=>[e,Mee(e)]),"widthFit","widthFitTablet","widthFitPhone","width","widthTablet","widthPhone","minWidth","minWidthTablet","minWidthPhone","maxWidth","maxWidthTablet","maxWidthPhone",...Object.values(io)],Ps="a section width key, ignored since efficient-web-builder 45 (an old key; a section's own width has new keys, lib/content/section-width), so dropping it changes nothing",oe={sectionSurface:"read by nothing in src/ (searched 2026-10-24): a retired theme key that draws nothing today, so dropping it changes nothing",widthMode:Ps,fullWidth:Ps,pageWidth:Ps,backgroundWidth:Ps,contentWidth:Ps,contentMax:Ps},ce=Object.fromEntries(["sectionPaddingLeft","sectionPaddingRight","sectionPaddingLeftTablet","sectionPaddingRightTablet","sectionPaddingLeftPhone","sectionPaddingRightPhone"].map(e=>[e,"needs Box side padding outside its gutter: the old section added it outside its frame, a Box's side padding replaces the gutter. 0 live nodes store it (JJ's read-only export, 2026-10-24)"]));function de(e,o){let t=j(e.sectionPaddingTop)??0,a=j(e.sectionPaddingBottom)??0,r=j(e.sectionPaddingTopTablet),n=j(e.sectionPaddingBottomTablet),s=Yb(e.sectionPaddingUnit),l=Yb(e.sectionPaddingUnitTablet),d=Yb(e.sectionPaddingUnitPhone),c=(u,p,x,g)=>{let I=j(u);if(I!==void 0)return I+Ja(g,"px",d,"mobile");let k=p===void 0?{n:x,unit:s}:{n:p,unit:l};return Ja(k.n,k.unit,d,"mobile")+Ja(g,"px",d,"mobile")},f=(u,p,x,g,I)=>p!==void 0?{[u]:p+Ja(I??g,"px",l,"tablet")}:I===void 0?{}:{[u]:Ja(x,s,l,"tablet")+Ja(I,"px",l,"tablet")};return{sectionPaddingTop:t+Ja(o.top,"px",s,"desktop"),sectionPaddingBottom:a+Ja(o.bottom,"px",s,"desktop"),...f("sectionPaddingTopTablet",r,t,o.top,o.topTablet),...f("sectionPaddingBottomTablet",n,a,o.bottom,o.bottomTablet),sectionPaddingTopPhone:c(e.sectionPaddingTopPhone,r,t,o.topPhone),sectionPaddingBottomPhone:c(e.sectionPaddingBottomPhone,n,a,o.bottomPhone)}}var ye=e=>[...["sectionPaddingTop","sectionPaddingBottom","sectionPaddingTopTablet","sectionPaddingBottomTablet","sectionPaddingTopPhone","sectionPaddingBottomPhone"].map(o=>[o,o,(t,a)=>de(a,typeof e=="function"?e(a):e)[o]]),["sectionPaddingUnit","sectionPaddingUnit"],["sectionPaddingUnitTablet","sectionPaddingUnitTablet"],["sectionPaddingUnitPhone","sectionPaddingUnitPhone"]];function Lo(e,o){let t=$c(e,au[o]);return{sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom}}var Za=e=>[["padTop","sectionPaddingTop",(o,t)=>Lo(t,e).sectionPaddingTop],["padBottom","sectionPaddingBottom",(o,t)=>Lo(t,e).sectionPaddingBottom],["sectionPaddingTop","sectionPaddingTop",(o,t)=>Lo(t,e).sectionPaddingTop],["sectionPaddingBottom","sectionPaddingBottom",(o,t)=>Lo(t,e).sectionPaddingBottom]],zee={kind:"heading-case-upper",styles:["heading-1","heading-2","heading-3"]},oNe=e=>o=>qe(o.props[e])?[zee]:[],pe=(e,o)=>({kind:"text",key:e,role:"eyebrow",props:G,...o?{style:o}:{}}),ru=e=>({kind:"group",name:"Chip",props:{..._,..._a("main"),...Xe(6,14)},parts:[pe(e,{color:"background",...M("label",12),weight:600,letterSpacing:.16})]}),iR=e=>e.background!=="transparent",Uee=(e,o)=>{let[t,a]=[e,o].map(r=>typeof r=="string"?r.trim():"");return t?a?`[${t} ]{color=text}${a}`:`[${t}]{color=text}`:a},_i={align:"right",alignPhone:"left"},jee=(e,o,t)=>{let a=r=>Uee(r[e],r[o]);return{kind:"block",type:"Text",when:(r,n)=>n!==void 0&&a(n)!=="",box:[[e,"text",(r,n)=>a(n)],[o,"text",(r,n)=>a(n)]],props:t}},Ai=(e,o,t,a={})=>jee(e,o,{...en,..._i,...a,_partStyles:{text:{...Oo,color:"labels",...t,case:Oo.case,..._i}}}),tn=(e,o)=>typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Ya(o)?.selected??0,dR="var(--site-surface-2)",nu=(e,o)=>Ya(o)?.themes[tn(e.sectionAccent??0,o)],Go=(e,o)=>(t,a)=>{if(!o?.(t,a))return _a(e);let r=nu(t,a)?.[e];return r?{fillColor:r}:{}},su=(e,o)=>Qa(e,o)>=0,cR=e=>e.startsWith("#")&&Hee(e)!==null,lu=(e,o,t)=>{let a=e?.trim();if(a&&cR(a))return{fillColor:a};let r=lx(a);if(r)return _a(r);let n=a===dR?nu(o,t):void 0;return n?{fillColor:Id(n)}:{}},iu=e=>{let o=e?.trim();return!o||o==="transparent"||o===ko||lx(o)||o===dR||cR(o)?void 0:"it paints a colour that no Box Fill can hold"},Qa=(e,o)=>{let t=Ya(o)?.themes;return t&&iR(e)?ew(t,tn(e.sectionAccent,o)):-1},er=(e,o,t)=>{let a=Qa(o,t);return a>=0?a:e},an=(e,o)=>{let t=Qa(e,o);return t>=0?{sectionAccent:t}:{}},or=(e,o)=>iR(e.props)&&Qa(e.props,o)<0?[{kind:"band-preset",page:tn(e.props.sectionAccent,o)}]:[],Os=e=>Zc(e.site?.siteGutter),Ri=Object.fromEntries(["Top","Right","Bottom","Left","TopPhone","RightPhone","BottomPhone","LeftPhone"].map(e=>[`sectionPadding${e}`,0])),Li=e=>({top:0,right:0,bottom:0,left:0,...e}),Xb=(e,o,t,a=[])=>({kind:"group",name:e,keepEmpty:!0,props:(r,n)=>({..._,...Ri,...Go("surface")(r,n),...typeof t=="function"?t(r,n):t}),box:[[o,"bgImage"],Ne.kind,Ne.duration,Ne.delay],parts:a});import{phoneKey as ly,readHidable as iy}from"efficient-easel/draw";import{isNodeList as Soe,newId as woe}from"efficient-easel/data";function fR(e){return Math.min(4,Math.max(2,e??3))}var nNe={eyebrow:"Label",title:"Section *heading.*"},Kee={template:nv()},pR={label:"Cards",fields:Kee,defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var iNe={eyebrow:"Highlight",title:"Key *features.*"},dNe=()=>[{label:i("Feature label one")},{label:i("Feature label two")},{label:i("Feature label three")},{label:i("Feature label four")},{label:i("Feature label five")},{label:i("Feature label six")}],uR={label:"Key Features",defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var Vee="plain",mR=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],qee="line",Yee={KeyFeatures:"filled"};function Fi(e){return Yee[e]??Vee}function hR(e,o){return uo(mR,Fi(o),e)}function pNe(e){return uo(mR,qee,e)}var Jb="cardPlace";function hNe(e){return e[Jb]==="top-line"?"top-line":""}var xNe="absolute left-5 top-0 z-10 -translate-y-1/2 bg-bg px-2",gNe="data-sf-top-line",Xee=new Set(["Cards",Ao]);function INe(e){return typeof e=="string"&&Xee.has(e)}var Jee=e=>{if(!e||typeof e!="object")return!1;let o=e,t=n=>typeof n=="number"&&n>0,a=o.width,r=n=>typeof o[n]=="number"?t(o[n]):t(a);return r("top")&&!r("right")&&!r("bottom")&&!r("left")};function bNe(e,o,t){return!t||!o?.linesBetween||o.index!==0?e:Jee(e)?{...e,top:0}:e}var yNe="outsideFramedCard";function CNe(e){return typeof e=="string"?e.trim():""}var vNe="data-sf-box-link",xR="absolute inset-0 -z-[1] outline-none focus-visible:z-[2] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent",kNe="relative isolate pointer-events-none [&_a]:pointer-events-auto [&_button]:pointer-events-auto [&_input]:pointer-events-auto [&_select]:pointer-events-auto [&_textarea]:pointer-events-auto [&_label]:pointer-events-auto [&_summary]:pointer-events-auto [&_iframe]:pointer-events-auto [&_video]:pointer-events-auto [&_audio]:pointer-events-auto [&_[role=button]]:pointer-events-auto [&_[tabindex]:not([tabindex='-1'])]:pointer-events-auto",Zee="data-sf-box-jump";function Qee(e){return`sf-box-jump-${e}`}function TNe(e,o){return e===!0?uc(o):""}function eoe({box:e,lit:o,first:t}){let a=s=>s.join(`,
|
|
63
|
+
`),r=t(e),n=o.flatMap(t);return`
|
|
64
|
+
${e} {
|
|
65
|
+
outline: 2px solid transparent;
|
|
66
|
+
outline-offset: -2px;
|
|
67
|
+
transition: outline-color 600ms ease-out;
|
|
68
|
+
}
|
|
69
|
+
${a(r)} { transition: background-color 600ms ease-out; }
|
|
70
|
+
${a(r.map(s=>`${s} *`))} { transition: color 600ms ease-out; }
|
|
71
|
+
${a(o)} { outline-color: var(--accent); }
|
|
72
|
+
${a(n)} { background-color: var(--accent); }
|
|
73
|
+
${a([...n,...n.map(s=>`${s} *`)])} { color: var(--bg) !important; }
|
|
74
|
+
`}function PNe(e){let o=`[${Zee}="${e}"]`,t=`.${Qee(e)}`,a=`[id="${e}"]:target`;return eoe({box:o,lit:[`${a}~${o}`,`${a}~* ${o}`],first:r=>[`${r} ${t}>:first-child:not(.sf-section-anchor)`,`${r} ${t}>.sf-section-anchor:first-child+*`]})}var ooe=["selected","highlighted"],toe="data-sf-card-state",ANe="pointer-events-none absolute inset-0 border border-accent",RNe="pointer-events-none absolute inset-x-0 bottom-0 border-b-2 border-accent";function aoe(e){return e?ooe.filter(o=>e[o]===!0).join(" "):""}function LNe(e){let o=aoe(e);return o?{[toe]:o,className:"relative"}:{}}var roe={highlighted:!0},noe={},du="badge";function FNe(e,o=[]){return e.map((t,a)=>({...t,key:t.key||o[a]?.key||fl(t,a)}))}function BNe(e){return!e||typeof e!="object"?!1:Object.entries(e).some(([o,t])=>o==="key"||o===du||o==="state"?!1:typeof t=="string"?t.trim()!=="":Array.isArray(t)?t.length>0:t!=null&&typeof t!="function")}function DNe(e,{chosen:o,badge:t}){let a=o.trim(),r=a?e.findIndex(n=>n.key===a):-1;return{rows:e.map((n,s)=>({...n,[du]:s===r?t:""})),states:e.map((n,s)=>s===r?roe:noe)}}function NNe(e){return{chosen:typeof e.highlightedCard=="string"?e.highlightedCard.trim():"",badge:typeof e.highlightBadge=="string"?e.highlightBadge:""}}function MNe(e){if(!e||typeof e!="object")return;let o=e.press;return typeof o=="function"?{press:o}:void 0}var HNe="data-sf-card-press",WNe=`${xR} appearance-none bg-transparent border-0 p-0 m-0 cursor-pointer`;var cu={sectionBorder:{top:0,right:1,bottom:1,left:0},..._a("background")},soe={gap:0,gapPhone:0,sectionBorder:{top:1,right:0,bottom:0,left:1},shadow:!0},fu=e=>({direction:"row",columns:e,columnsTablet:e,...soe}),gR=(e={})=>ie(du,{...G,tag:"p",[Jb]:"top-line"},e,!0),IR=(e=Ra)=>{let o=ch(e);return{...o,props:{...cu,...o.props},slots:{[se]:[...o.slots?.[se]??[],gR()]}}},Zb=(e=!1)=>{let o=fh(e);return{...o,props:{...cu,...o.props}}},loe={name:"name",time:"time",note:"note",price:"price"},ioe={textStyle:"body-1",...M("body",16),weight:500,lineHeight:1.5},doe={...Oo,...M("label",12),letterSpacing:.18,lineHeight:1.5},coe={textStyle:"body-1",...M("body",14),lineHeight:1.6},foe={textStyle:"body-1",fontRole:"heading",...M("headingSmall",20),weight:500,color:"accent",lineHeight:1.5},poe={...M("label",11),letterSpacing:.25},uoe={gap:16,gapPhone:16,sectionBorder:{top:0,right:0,bottom:0,left:0},shadow:!1},moe=e=>({direction:"row",columns:e,...uoe}),VNe=[...new Set([...Object.keys(fu(1)),...Object.keys(moe(1))])],qNe=()=>{let e=loe,o={tag:"p",widthFit:"fill"};return{type:V,props:{..._,name:"Card",justify:"between",gap:16,gapPhone:16,...Xe(24),sectionBorder:{top:1,right:1,bottom:1,left:1},..._a("surface"),shadow:!0},slots:{[se]:[gR(poe),{type:V,props:{..._,name:"Words",gap:8,gapPhone:8},slots:{[se]:[ie(e.name,{...G,...o},ioe),ie(e.time,{...Y,...o},doe),ie(e.note,{...Y,...o},coe)]}},ie(e.price,{...G,...o},foe)]}}};function As(e){if(e==="ProductGrid")return"shelf";let o=_o[e]?.headStyle;return o==="editorial"||o==="simple"||o==="essay"?o:"standard"}var uu={standard:64,editorial:60,simple:36,essay:28,shelf:20},hoe={SectionHeader:"accent",FAQ:"accent",FitmentFinder:"accent",FitmentTable:"accent",SpecTable:"accent",RelatedProducts:"accent",Collections:"accentNum"};function xoe(e){if(e==="SectionHeader")return{num:"num",title:"title",description:"description",link:!0};let o=_o[e];if(!o)throw new Error(`section-head-looks: "${e}" has no head row in SPLITTABLE_SECTIONS`);return{num:o.num,title:o.title,description:o.description,link:o.headRows.includes("linkText")&&o.headRows.includes("linkHref")}}function mu(e,o,t){let a=`editorial:${e}|${o}|${t}`,r=pu.get(a);if(r)return r;let n=wR({num:e,title:o,description:t,link:!1});return pu.set(a,n),n}var ey={top:0,right:0,bottom:1,left:0},$o=(e,o,t,a)=>({sizeToken:{step:e,px:a,fluid:{minPx:o,vw:t}}}),hu=(e,o,t={})=>pe(e,{...M("label",o),...t}),xu=(e,o)=>({kind:"text",key:e,role:"heading",props:G,style:{textStyle:"heading-2",...o}}),oy=800,ty=(e,o,t,a)=>({kind:"text",key:e,props:{...Y,align:"right",alignPhone:"left",...t?{maxWidth:t,maxWidthPhone:oy}:{}},style:{textStyle:"body-5",fontRole:"heading",alignPhone:"left",...M("body",o),...a}}),SR={...co,align:"right",alignPhone:"left",...on,icon:"arrow-right",iconPosition:"after"},Qb=e=>({kind:"button",key:"linkText",href:"linkHref",variant:"ghost",props:SR,style:{...gt(e),color:"labels"}}),bR=(e,o,t)=>{let a=t.role==="heading"?{tag:"h2"}:{};return{kind:"block",type:"Text",when:r=>r[e]===void 0,props:{...G,...a,...t.props,text:o,_partStyles:{text:{...t.role==="eyebrow"?goe(It()):{},...t.style}}}}},goe=e=>e._partStyles.text??{},_s={widthFitPhone:"fill"};function ay(e){if(e.kind!=="group")return e;if(e.name==="Words"){let o=e.props;return{...e,props:typeof o=="function"?(t,a)=>({...o(t,a),..._s}):{...o,..._s}}}return{...e,parts:e.parts.map(ay)}}function Ioe(e,o){let t=hoe[e],a=t==="accent",r=hu(o.num,14,{color:a?"accent":"labels"}),n=t==="accentNum"&&r.kind==="text"?{...r,mark:"accentLead"}:r,s=xu(o.title,a?{...$o("headingMedium",36,5,64),case:"upper",lineHeight:.95,letterSpacing:-.025}:{...M("headingMedium",56,36),case:"none",lineHeight:1,letterSpacing:-.03}),l=e==="Collections";return{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:12,share:"content",sectionBorder:ey,sectionPaddingBottom:24,sectionPaddingBottomPhone:20},parts:[{kind:"group",name:"Title",props:{..._,..._s,direction:"row",align:"end",gap:40,gapPhone:12,share:"content"},parts:[{kind:"group",name:"Number",props:{..._,..._s,align:"start",gap:12},parts:[{kind:"image",key:"logoSrc",alt:"logoAlt",props:{aspect:"auto",contained:!1}},n,...l?[bR(o.num,"==01== / Collections",n)]:[]]},{kind:"group",name:"Heading",props:{..._,..._s},parts:[s,...l?[bR(o.title,`Three ranges,
|
|
75
|
+
one standard.`,s)]:[]]}]},{kind:"group",name:"Words",props:{..._,..._s,gap:12,maxWidth:340,maxWidthPhone:oy},parts:[...o.description?[ty(o.description,14,void 0,{lineHeight:1.5})]:[],...o.link?[Qb(14)]:[],...l?[{kind:"block",type:"ButtonBlock",props:{...SR,variant:"ghost",label:"View all",href:"/wheels",_partStyles:{label:Qb(14).style}}}]:[]]}]}}function wR(e){return{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:14,share:"content",sectionBorder:ey,sectionPaddingBottom:32},parts:[{kind:"group",name:"Title",props:{..._,direction:"row",align:"end",gap:40,gapPhone:14,share:"content"},parts:[{kind:"group",name:"Number",props:{..._,sectionPaddingBottom:8},parts:[{...hu(e.num,13),props:{...G,...Qr}}]},xu(e.title,{...$o("headingMedium",40,5.5,80),case:"upper",weight:500,lineHeight:1,letterSpacing:-.03})]},{kind:"group",name:"Words",props:{..._,sectionPaddingBottom:4,maxWidth:360,maxWidthPhone:oy},parts:e.description?[ty(e.description,14,void 0,{lineHeight:1.5})]:[]}]}}function yR(e,o){return{kind:"group",name:"Header",props:{..._,gap:16,gapPhone:16},parts:[hu(e.num,13),xu(e.title,o)]}}var CR=[["para",{...gt(13),weight:400,lineHeight:1,letterSpacing:.22}],["sm",{...M("headingMedium",40,28),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["md",{...M("headingMedium",48,32),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["lg",{...M("headingMedium",56,36),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["xl",{...M("headingMedium",64,40),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}]],boe=e=>CR.some(([o])=>o===e.titleSize)?e.titleSize:"lg";function yoe(e){return{kind:"group",name:"Header",props:{..._,direction:"row",align:"center",justify:"between",gap:16,share:"content",stickTop:!0,sectionBorder:ey,sectionPaddingTop:12,sectionPaddingBottom:12},parts:[{kind:"group",name:"Title",props:{..._,direction:"row",align:"end",gap:24,share:"content"},parts:[hu(e.num,13,{color:"labels",letterSpacing:.22,lineHeight:1}),...CR.map(([o,t])=>({...xu(e.title,t),when:a=>boe(a)===o}))]},{kind:"group",name:"Words",props:{..._,direction:"row",align:"center",justify:"end",gap:20,share:"content"},parts:[...e.description?[ty(e.description,13,340,{lineHeight:1.4})]:[],...e.link?[Qb(13)]:[]]}]}}function gu(e){return As(e)==="shelf"?{titleSize:"the Header Box's title Text part: its size, as the old shelf title drew it (lib/document/blocks/general/section-head-looks)"}:{}}var pu=new Map,ry={...M("headingMedium",44,32),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02};function nt(e){let o=pu.get(e);if(o)return o;let t=xoe(e),a=As(e),r=a==="editorial"?wR(t):a==="simple"?yR(t,ry):a==="essay"?yR(t,{...M("headingMedium",38,28,"headingSmall"),case:"upper",lineHeight:1,letterSpacing:-.02}):a==="shelf"?yoe(t):Ioe(e,t);return pu.set(e,r),r}var rn={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:ko,Stats:void 0};var Bi=(e,o,t,a)=>({sectionBorder:{top:e,right:o,bottom:t,left:a}}),DR=e=>o=>fR(j(o.columns)??j(e.columns)),Coe="inline is the head the row draws; an own-box node is skipped (`skip`)",voe={kind:"text",key:"title",role:"heading",props:G,style:{textStyle:"heading-3",...ry}},vR={top:120,bottom:120,topPhone:80,bottomPhone:80,topTablet:80,bottomTablet:80},bu=e=>{let o=Ut(typeof e.background=="string"?e.background:void 0,rn.Series);return o&&o!=="transparent"?o:void 0},Iu=e=>bu(e)===ko,koe={..._,justify:"between",gap:16,gapPhone:16,sectionHeightMode:"fixed",sectionHeightValue:340,sectionHeightUnit:"px",sectionPaddingTop:36,sectionPaddingRight:28,sectionPaddingBottom:32,sectionPaddingLeft:28,sectionPaddingTopPhone:36,sectionPaddingRightPhone:28,sectionPaddingBottomPhone:32,sectionPaddingLeftPhone:28},kR={..._,direction:"row",justify:"between",gap:12,share:"content",phoneRow:2,[ly("share")]:"content"},Toe=e=>{let o=bu(e)?1:2;return{..._,direction:"row",columns:4,columnsTablet:2,gap:o,gapPhone:o}},ny={...gt(12),letterSpacing:.22,lineHeight:1.5},TR=e=>qe(e.viewLabel)&&!iy(e.viewLabel).hidden,st=e=>iy(e).text?.trim?.()??"",yu=e=>Object.fromEntries(Object.entries(e).filter(([,o])=>Z(o)!==void 0)),dy=e=>e.map(([o,t,a])=>({key:o,label:t,...a?{multiline:!0}:{}})),Poe=dy([["num","Number"],["since","Corner note"],["title","Card title"],["body","Card body",!0],["count","Count"],["countLabel","Count word"]]),Eoe=dy([["label","Label"],["value","Value"],["body","Card body",!0]]),Di=(e,o,t,a,r,{reads:n=["cards"],keep:s=[]}={})=>({kind:"group",name:e,props:o,parts:[{kind:"core",as:Ao,headless:!0,keep:s,derive:{reads:n,props:l=>Xd(a(l),t)},slots:(l,d)=>({[eo]:[r(l,d)]})}]}),NR=e=>Array.isArray(e.cards)?e.cards:[],PR={top:76,bottom:76,topPhone:76,bottomPhone:76},MR=e=>(Array.isArray(e.items)?e.items:[]).map(o=>yu({title:st(o?.label),href:typeof o?.href=="string"?o.href.trim():""})).filter(o=>o.title!==void 0).map((o,t)=>({key:fl(Ih(o),t),...o})),Ooe=e=>MR(e).some(o=>Z(o.href)!==void 0),HR=[{key:al.label,label:"Feature label"},{key:al.href,label:"Link",kind:"link"}],ER=e=>hR(e.eyebrowLook,"KeyFeatures")==="filled",_oe={name:"Key Features",boxProps:(e,o)=>({...Q,direction:"column",gap:44,gapPhone:32,...Go("surface")(e,o),...Bi(1,0,1,0),...de(e,PR)}),box:[...ae,...ye(PR)],parts:[{kind:"group",name:"Heading",props:{..._,direction:"row",align:"end",gap:20,wrap:!0,share:"content",phoneRow:2,[ly("share")]:"content"},parts:[{...ru("eyebrow"),when:ER},{...pe("eyebrow"),when:e=>!ER(e)},voe]},Di("Cards",e=>({..._,...fu(DR(uR.defaultProps)(e))}),HR,MR,e=>Zb(Ooe(e)),{reads:["items"]})],drop:{...oe,...ce,columns:'Box "Cards": its Columns and tablet Columns',eyebrowLook:"the Filled look is a Box in the main colour round the eyebrow Text; the plain look is the eyebrow Text"}},OR={top:72,bottom:72,topPhone:72,bottomPhone:72},_R=(e,o)=>({...cu,...Go("background")(e,o)}),AR=e=>{let o=DR(pR.defaultProps)(e);return{..._,...fu(o)}},Aoe=dy([["title","Card title"],["body","Card body",!0]]),WR=e=>(Array.isArray(e.items)?e.items:[]).map((o,t)=>({key:typeof o?.key=="string"&&o.key?o.key:fl(Ih(o),t),title:st(o?.title),body:st(o?.body)})),GR=e=>{let o={},t={};for(let[a,r]of Object.entries(e.props??{}))a!=="id"&&(Soe(r)?t[a]=r.map(GR):o[a]=r);return{type:String(e.type),props:o,...Object.keys(t).length?{slots:t}:{}}},RR=(e,o)=>{let t=sy(e)?Zb(Roe(e)):IR(),a=Array.isArray(e.template)?e.template.map(GR):[t],[r]=a;return a.length===1&&r.type===V?{...r,props:{..._R(e,o),...r.props}}:{type:V,props:{..._,..._R(e,o),name:"Card"},slots:{[se]:a}}},sy=e=>e.cardStyle==="label-only",$R=e=>WR(e).map((o,t)=>{let a=e.items[t]?.href;return yu({key:o.key,title:o.title,href:typeof a=="string"?a.trim():""})}),Roe=e=>$R(e).some(o=>Z(o.href)!==void 0),LR=e=>Array.isArray(e.template)&&e.template.length===0,FR=["dataSource","dataSourceOptions","highlightedCard","highlightBadge"];function zR(){let e=t=>({key:woe("card"),title:i(t),body:i("A short line about this card.")}),o=[e("Card title one"),e("Card title two"),e("Card title three")];return{eyebrow:i("Label"),title:i("Section *heading.*"),items:o}}var Loe={name:"Cards",ownBoxConverts:!0,boxProps:(e,o)=>({...Q,direction:"column",gap:36,gapPhone:28,...Go("surface")(e,o),...de(e,OR)}),box:[...ae,...ye(OR)],parts:[{...nt("Cards"),when:e=>!Kb(e)},{...Di("Cards",AR,Aoe,WR,RR,{reads:["items"],keep:FR}),when:e=>!LR(e)&&!sy(e)},{...Di("Cards",AR,HR,$R,RR,{reads:["items"],keep:FR}),when:e=>!LR(e)&&sy(e)}],drop:{...oe,...ce,columns:'Box "Cards": its Columns and tablet Columns',cardStyle:"the Card list's template: the Cards card, or under Label only the Label only card (a cell Box, a Mark Box, the label Text)",template:"the Card list's template (the card Box takes the old cell's ground and lines)",headPlacement:"an own-box node lands without its head; inline is the head the row draws",eyebrowLook:"needs the eyebrow's Filled look on a Text block: Plain is the eyebrow start look the row draws; 2 of 62 live nodes store it (the stored-node export, 2026-10-24)"}},Foe={name:"Recurring Columns",boxProps:(e,o)=>({...Q,direction:"column",gap:60,gapPhone:60,...Bi(0,0,1,0),...Iu(e)?an(e,o):{},...lu(bu(e),e,o),...de(e,vR)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Iu(o)?er(e,o,t):e],...ye(vR)],skip:e=>iu(bu(e)),site:(e,o)=>Iu(e.props)?or(e,o):[],parts:[nt("Series"),Di("Cards",Toe,Poe,e=>NR(e).map(o=>yu({num:st(o.num),since:st(o.since),title:st(o.title),body:st(o.desc),count:st(o.entries),countLabel:st(o.entriesLabel)})),(e,o)=>({type:V,props:{...koe,...Go("background",(t,a)=>Iu(t)&&su(t,a))(e,o),name:"Card"},slots:{[se]:[{type:V,props:{..._,name:"Words",gap:16,gapPhone:16},slots:{[se]:[{type:V,props:{...kR,name:"Top"},slots:{[se]:[ie("num",G,M("label",13),!0),ie("since",G,M("label",13),!0)]}},ie("title",{...G,tag:"h3"},{textStyle:"heading-3",...M("headingSmall",28),weight:500,case:"upper",lineHeight:1.04,letterSpacing:-.02}),ie("body",Y,{textStyle:"body-5",fontRole:"heading",...M("body",14),lineHeight:1.6})]}},{type:V,props:{...kR,name:"Footer",align:"center",gap:0,gapPhone:0,sectionPaddingTop:16,sectionPaddingTopPhone:16,...Bi(1,0,0,0),...TR(e)?{}:{[bh]:["count","countLabel"]}},slots:{[se]:[{type:V,props:{..._,name:"Count",direction:"row",align:"center",gap:12,gapPhone:12,share:"content",phoneRow:2,[ly("share")]:"content"},slots:{[se]:[ie("count",G,ny),ie("countLabel",Y,ny)]}},...TR(e)?[{type:V,props:{..._,name:"View",maxWidthPhone:266},slots:{[se]:[{type:"Text",props:{...G,text:iy(e.viewLabel).text,_partStyles:{text:{...It()._partStyles.text,...ny}}}}]}}]:[]]}}]}}))],reads:{viewLabel:"a Text typed once in the card template: the far end of every card's footer",background:"the Box's theme (the band preset) or its Fill"},drop:{...oe,...ce,headPlacement:Coe}},BR={top:60,bottom:60,topPhone:40,bottomPhone:40},Boe={..._,direction:"row",columns:3,gap:40,gapPhone:16},Doe={..._,gap:8,gapPhone:8,...Xe(24),...Bi(1,1,1,1)},Noe={name:"Document Detail Cards",boxProps:e=>({...Q,direction:"column",gap:40,gapPhone:16,...Bi(0,0,1,0),...de(e,BR)}),box:[...ae,...ye(BR)],parts:[Di("Cards",Boe,Eoe,e=>NR(e).map(o=>yu({label:st(o.label),value:st(o.value),body:st(o.desc)})),(e,o)=>({type:V,props:{...Doe,...Go("surface")(e,o),name:"Card"},slots:{[se]:[ie("label",G,{...M("label",12),lineHeight:1.5},!0),{type:V,props:{..._,name:"Words",gap:14,gapPhone:14},slots:{[se]:[ie("value",G,{textStyle:"heading-3",...M("headingSmall",20),weight:500,letterSpacing:-.015,lineHeight:1.5}),ie("body",Y,{textStyle:"body-5",fontRole:"accent",...M("body",14),italic:!0,lineHeight:1.5})]}}]}}))],drop:{...oe,...ce}},UR={Cards:Loe,KeyFeatures:_oe,Series:Foe,DocMetaCards:Noe};import{phoneKey as Goe}from"efficient-easel/draw";import{newId as $oe}from"efficient-easel/data";import{phoneKey as Moe}from"efficient-easel/draw";import{isNode as Ni}from"efficient-easel/data";var Rs="cardStyle";function jR(e){let{widthPhone:o,...t}=e;return e.widthFitPhone==="fixed"?{...t,widthFitPhone:"fill"}:{...e}}var Su={table:{items:{gap:0,gapPhone:0,columnsTablet:2},grid:{gap:0},row:{gap:0,[Moe("share")]:"content"},card:{justify:"between",gap:12,gapPhone:12,sectionHeightMode:"fixed",sectionHeightValue:242,sectionHeightUnit:"px",widthFitPhone:"fixed",widthPhone:800,sectionPaddingTop:48,sectionPaddingBottom:48,sectionPaddingLeft:32,sectionPaddingRight:32,sectionBorder:{top:1,right:1,bottom:1,left:1}}},list:{items:{gap:32,gapPhone:32,phoneRow:2},grid:{gap:32,gapPhone:32},row:{gap:32,gapPhone:32},card:{justify:"start",gap:8,gapPhone:8,sectionPaddingTop:20,sectionPaddingBottom:0,sectionBorder:{top:1,right:0,bottom:0,left:0}}}},lt={table:{...Su.table,listCard:jR(Su.table.card)},list:{...Su.list,listCard:jR(Su.list.card)}},E2e=[{label:"Table",value:"table"},{label:"List",value:"list"}],O2e=e=>e==="table"||e==="list",Hoe=e=>[...new Set([...Object.keys(lt.table[e]),...Object.keys(lt.list[e])])];function Mi(e,o,t){let a={...e};for(let r of Hoe(o))delete a[r];return{...a,...structuredClone(lt[t][o])}}function Woe(e,o,t){let a=e.props??{},r=Array.isArray(a[eo])?a[eo]:[],n=r.findIndex(d=>Ni(d)&&d.type===t);if(n<0)return e;let s=r[n],l=r.map((d,c)=>c===n?{...s,props:Mi(s.props??{},"listCard",o)}:d);return{...e,props:{...a,[eo]:l}}}function _2e(e,o,t,a){let r=Array.isArray(e[a])?e[a]:[];if(r.some(s=>Ni(s)&&s.type===Ao)){let s=r.map(l=>Ni(l)&&l.type===Ao?Woe(l,o,t):l);return{...Mi(e,"items",o),[Rs]:o,[a]:s}}let n=r.map(s=>{if(!Ni(s)||s.type!==t)return s;let l=s.props??{},d=(Array.isArray(l[a])?l[a]:[]).map(c=>Ni(c)&&c.type===t?{...c,props:Mi(c.props??{},"card",o)}:c);return{...s,props:{...Mi(l,"row",o),[a]:d}}});return{...Mi(e,"grid",o),[Rs]:o,[a]:n}}var cy=e=>typeof e=="string"?e.trim():"";function KR(e){let o=`${cy(e.prefix)}${cy(e.value)}`,t=cy(e.suffix);return e.emphasizeAll===!0?o?`==_${o}_==`:"":`${o}${t?`==_${t}_==`:""}`}var YR={textStyle:"heading-2",...$o("headingMedium",56,7,96),weight:500,case:"none",lineHeight:.9,letterSpacing:-.04},fy={kind:"block",type:"Text",props:{...en,_partStyles:{text:YR}},box:[["value","text",(e,o)=>KR(o)]],when:(e,o)=>o!==void 0&&typeof o.value=="string"&&KR(o)!==""},VR=e=>qe(e?.supSuffix),XR={textStyle:"body-1",fontRole:"heading",...M("body",16),lineHeight:1.5,letterSpacing:-.01},JR={color:"labels",...M("label",12),lineHeight:1.5,letterSpacing:.24},ZR={..._,direction:"row",align:"start",gap:32,gapPhone:32,share:"content",phoneRow:2,[Goe("share")]:"content"},QR={textStyle:"body-5",...M("label",13),weight:500,color:"accent",letterSpacing:.18,lineHeight:1,padding:12},py=e=>Ut(e.background,rn.StatsParagraph),Hi=e=>py(e)===ko,wu=e=>({...e,sectionAccent:e.sectionAccent??0}),zoe=(e,o)=>Hi(e)?Go("background",(t,a)=>su(wu(t),a))(e,o):{},Uoe={name:"Stats with Text",skip:e=>py(e)&&py(e)!=="transparent"&&!Hi(e)?"it paints a colour of its own, not the section band":void 0,boxProps:(e,o)=>({...Q,direction:"column",gap:60,gapPhone:60,sectionBorder:{bottom:1},...Lo(e,"StatsParagraph"),...Hi(e)?an(wu(e),o):{}}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Hi(o)?er(e,wu(o),t):e],...Za("StatsParagraph")],site:(e,o)=>Hi(e.props)?or({props:wu(e.props)},o):[],parts:[nt("StatsParagraph"),{kind:"group",name:"Stats",props:{..._,...lt.table.grid,[Rs]:"table"},parts:[{kind:"list",key:"stats",name:"Stat",perRow:()=>4,rowName:"Stats row",rowProps:{..._,direction:"row",share:"equal",phoneRow:2,...lt.table.row},props:(e,o)=>({..._,...lt.table.card,...zoe(e,o)}),parts:[{...fy,when:(e,o)=>!VR(o)&&fy.when(e,o)},{kind:"group",name:"Figure",props:ZR,when:(e,o)=>VR(o),parts:[fy,{kind:"text",key:"supSuffix",props:G,style:QR}]},{kind:"group",name:"Words",props:{..._,gap:4,gapPhone:4},parts:[{kind:"text",key:"label",props:G,style:XR},pe("sub",JR)]}]}]}],drop:{...oe,...ce,background:"the band is the Box's theme: the site's band preset (`sectionAccent`), or a declared band-preset write; none paints nothing, and any other colour is skipped",headPlacement:"needs a row per head placement: an own-box Stats with Text draws no head (its words sit in a Section Header above it), the row always draws the head"}},joe=new Set(["value","label",xt]),qR={top:48,bottom:48,topPhone:48,bottomPhone:48},Koe=e=>{let o=Ut(typeof e.background=="string"?e.background:void 0,rn.Stats);return!!o&&o!=="transparent"},Voe={name:"Stats",skip:e=>Koe(e)?"it paints a colour inside its padding, and a Box paints its Fill over the padding too":qe(e.dataSource)?"its figures come from a source":Array.isArray(e.items)&&e.items.some(o=>qe(o?.[xt]))?"a figure names a count, and each figure Text here is typed by hand until it is linked":Array.isArray(e.items)&&e.items.some(o=>Object.keys(o??{}).some(t=>!joe.has(t)))?"a figure has a key no part here reads":Object.keys(e._partStyles??{}).some(o=>o!=="heading")?"a figure or a name has a style of its own, kept by kind, which no part here reads":void 0,boxProps:e=>({...Q,direction:"column",gap:24,gapPhone:24,...de(e,qR)}),box:[...ae,...ye(qR)],parts:[pe("heading",{color:"labels",...M("label",12),letterSpacing:.2}),{kind:"group",name:"Stats",props:{..._,...lt.list.grid,[Rs]:"list"},parts:[{kind:"list",key:"items",name:"Stat",perRow:e=>j(e.columns)??4,rowName:"Stats row",rowProps:{..._,direction:"row",share:"equal",phoneRow:2,...lt.list.row},props:{..._,...lt.list.card},parts:[{kind:"text",key:"value",props:en,style:{textStyle:"heading-2",...M("headingMedium",48,36),weight:500,case:"none",lineHeight:1,letterSpacing:-.03}},pe("label",{color:"labels",...M("label",12),letterSpacing:.2})]}]}],drop:{...oe,...ce,columns:"the rows of N: one row Box per `columns` figures, which the Box draws",dataSource:"an empty source is typed figures, what the row draws; a sourced node is skipped (0 Hartes nodes)",dataSourceOptions:"read only with a source; a sourced node is skipped (0 Hartes nodes)",contained:"the Box draws the site frame now; each figure fills the Box's column",background:"only no fill reaches here: a node that paints a colour is skipped"}},eL={StatsParagraph:Uoe,Stats:Voe};function oL(){return{eyebrow:i("By the numbers"),title:i("What we count."),desc:i("A few numbers that matter to us."),stats:[],background:"transparent"}}var qoe=[{key:"figure",label:"Figure"},{key:"superscript",label:"Superscript"},{key:"label",label:"Label"},{key:"body",label:"Text",multiline:!0}];function tL(){let e=(o,t,a,r="")=>({key:$oe("stat"),figure:o,superscript:r,label:t,body:a});return[e("28==_yr_==",i("Years in business"),i("Privately held since day one. Same two founders.")),e("==_8_==",i("Operating footprint"),i("Los Angeles \xB7 Fort Lauderdale \xB7 Bewdley \xB7 Drachten \xB7 Mumbai \xB7 Selangor \xB7 Ho Chi Minh \xB7 Sydney. Three continents covered from one California design studio."),i("cities")),e("\u221221==_%_==",i("Avg. weight saving"),i("Versus OEM equivalents, across our forged catalog.")),e("14==_\xD7_==",i("Finish steps"),i("Specified in California to a 14-step protocol. No two sets are identical."))]}function Yoe(e){return{type:V,props:{..._,name:"Card",...structuredClone(lt[e].listCard)},slots:{[se]:[{type:V,props:{...ZR,name:"Figure"},slots:{[se]:[ie("figure",en,YR),ie("superscript",G,QR)]}},{type:V,props:{..._,name:"Words",gap:4,gapPhone:4},slots:{[se]:[ie("label",{...G,widthFit:"fill"},XR),ie("body",{...G,widthFit:"fill"},JR,!0)]}}]}}}function uy(e,o,t=4){return{type:V,props:{..._,name:"Stats",direction:"row",columns:t,...structuredClone(lt[o].items),[Rs]:o},slots:{[se]:[{type:Ao,props:Xd(e,qoe),slots:{[eo]:[Yoe(o)]}}]}}}var aL={heading:"Trusted by *teams worldwide*"},rL=()=>[{src:"",alt:i("Logo one")},{src:"",alt:i("Logo two")},{src:"",alt:i("Logo three")},{src:"",alt:i("Logo four")},{src:"",alt:i("Logo five")}],Xoe={logos:{type:"slot",allow:["LogoBlock"]},template:{type:"slot",allow:["LogoBlock"]}},q2e={label:"Logos",fields:Xoe,defaultProps:{items:[],contained:!0}};var nL={heading:"Ways to pay"},sL=()=>[{label:"Visa"},{label:"Mastercard"},{label:"Amex"},{label:"PayPal"}],lL=()=>[{text:i("Secure encrypted checkout")},{text:i("30-day returns")}],J2e={label:"Payment Methods",defaultProps:{heading:"",badges:[],assurances:[],contained:!0}};var eMe={left:"justify-start",center:"justify-center",right:"justify-end"},Joe={text:{left:"view-wide:max-view-desktop:text-left",center:"view-wide:max-view-desktop:text-center",right:"view-wide:max-view-desktop:text-right"},place:{left:"view-wide:max-view-desktop:mx-0",center:"view-wide:max-view-desktop:mx-auto",right:"view-wide:max-view-desktop:ml-auto view-wide:max-view-desktop:mr-0"},items:{left:"view-wide:max-view-desktop:grid-cols-1 view-wide:max-view-desktop:justify-items-start",center:"view-wide:max-view-desktop:grid-cols-1 view-wide:max-view-desktop:justify-items-center",right:"view-wide:max-view-desktop:justify-items-end"},justify:{left:"view-wide:max-view-desktop:justify-start",center:"view-wide:max-view-desktop:justify-center",right:"view-wide:max-view-desktop:justify-end"}},Zoe={text:{left:"max-view-wide:text-left",center:"max-view-wide:text-center",right:"max-view-wide:text-right"},place:{left:"max-view-wide:mx-0",center:"max-view-wide:mx-auto",right:"max-view-wide:ml-auto max-view-wide:mr-0"},items:{left:"max-view-wide:grid-cols-1 max-view-wide:justify-items-start",center:"max-view-wide:grid-cols-1 max-view-wide:justify-items-center",right:"max-view-wide:justify-items-end"},justify:{left:"max-view-wide:justify-start",center:"max-view-wide:justify-center",right:"max-view-wide:justify-end"}},Qoe={text:{left:"view-tablet:max-view-desktop:text-left",center:"view-tablet:max-view-desktop:text-center",right:"view-tablet:max-view-desktop:text-right"},place:{left:"view-tablet:max-view-desktop:mx-0",center:"view-tablet:max-view-desktop:mx-auto",right:"view-tablet:max-view-desktop:ml-auto view-tablet:max-view-desktop:mr-0"},items:{left:"view-tablet:max-view-desktop:grid-cols-1 view-tablet:max-view-desktop:justify-items-start",center:"view-tablet:max-view-desktop:grid-cols-1 view-tablet:max-view-desktop:justify-items-center",right:"view-tablet:max-view-desktop:justify-items-end"},justify:{left:"view-tablet:max-view-desktop:justify-start",center:"view-tablet:max-view-desktop:justify-center",right:"view-tablet:max-view-desktop:justify-end"}},ete={text:{left:"max-view-tablet:text-left",center:"max-view-tablet:text-center",right:"max-view-tablet:text-right"},place:{left:"max-view-tablet:mx-0",center:"max-view-tablet:mx-auto",right:"max-view-tablet:ml-auto max-view-tablet:mr-0"},items:{left:"max-view-tablet:grid-cols-1 max-view-tablet:justify-items-start",center:"max-view-tablet:grid-cols-1 max-view-tablet:justify-items-center",right:"max-view-tablet:justify-items-end"},justify:{left:"max-view-tablet:justify-start",center:"max-view-tablet:justify-center",right:"max-view-tablet:justify-end"}};function Cu(e){return e==="left"||e==="center"||e==="right"?e:void 0}function iL(e){return e==="start"?"left":e==="end"?"right":Cu(e)}function ote(e,o,t){let a=Cu(e)??"left",r=Uo("same",a,Cu(o),Cu(t)),n={};return r.tablet&&r.tablet!==a&&(n.tablet=r.tablet),r.phone&&r.phone!==a&&(n.phone=r.phone),n}function oMe(e,o,t,a,{atSectionLine:r=!1}={}){let n=ote(o,t,a),s=r?Qoe:Joe,l=r?ete:Zoe;return[n.tablet?s[e][n.tablet]:"",n.phone?l[e][n.phone]:""].filter(Boolean).join(" ")}import{phoneKey as hy,readHidable as tte}from"efficient-easel/draw";var xy={contained:!1},gy=(e,o)=>({logos:[{kind:"list",key:e,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[o,"alt"]],when:(t,a)=>qe(a?.src)||qe(a?.[o])}]}]}),my=e=>{let o=j(e.bandPadding)??40;return{top:o,bottom:o,topPhone:o,bottomPhone:o}},ate={...pe("heading",{color:"labels",letterSpacing:.2}),props:{...G,align:"center"}},rte={name:"Logos",boxProps:e=>({...Q,direction:"column",gap:32,...de(e,my(e))}),box:[...ae,...ye(my),["bandPadding","sectionPaddingTop",(e,o)=>de(o,my(o)).sectionPaddingTop]],parts:[ate,{kind:"core",keep:["columns","logoHeight","grayscale"],rename:{logosPerRow:"columns"},props:xy,slots:gy("items","alt")}],drop:{...oe,...ce,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)",headPlacement:"a Logos band has no split head (not in SPLITTABLE_SECTIONS): no stored node can hold one, and the converted block stores own-box"}},nte={kind:"group",name:"Mark",keepEmpty:!0,parts:[],props:$d(4,"main",{sectionCorners:2})},dL={top:24,bottom:24,topPhone:24,bottomPhone:24},ste={name:"Payment Methods",boxProps:e=>({...Q,direction:"column",...de(e,dL)}),box:[...ae,...ye(dL)],parts:[{kind:"group",name:"Methods",props:{..._,align:"center",gap:20,gapPhone:20,sectionBorder:{top:1,bottom:1},sectionPaddingTop:32,sectionPaddingBottom:32},parts:[{...pe("heading",{color:"labels"}),props:{...G,align:"center"}},{kind:"core",keep:[],as:"Logos",derive:{reads:[Eo,Qt],props:e=>qe(e[Eo])?{[Eo]:e[Eo],...e[Qt]!==void 0?{[Qt]:e[Qt]}:{}}:{}},props:{...xy,look:"cards",grayscale:!1},slots:e=>({...gy("badges","label"),...qe(e[Eo])?{[eo]:[jd()]}:{}})},{kind:"group",name:"Reassurance",props:{..._,direction:"row",wrap:!0,justify:"center",gap:24,gapPhone:24,phoneRow:2,[hy("share")]:"content"},parts:[{kind:"list",key:"assurances",name:"Line",of:e=>(Array.isArray(e.assurances)?e.assurances:[]).filter(o=>qe(o?.text)),props:{..._,direction:"row",align:"center",gap:8,gapPhone:8,phoneRow:2,[hy("share")]:"content"},item:e=>tte(e.text).hidden?{props:{_hidden:!0}}:{},parts:[nte,{kind:"text",key:"text",props:{...G,align:"center"},style:{...M("label",13),color:"labels",lineHeight:1.5}}]}]}]}],drop:{...oe,...ce,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)"}},lte={left:"start",center:"center",right:"end"},cL=e=>iL(e.align)??"left",fL=e=>e.size==="md"?"md":"sm",pL=12,uL={name:"Payment logos",boxProps:e=>({..._,direction:"row",wrap:!0,align:"center",justify:lte[cL(e)],gap:pL,gapPhone:pL,phoneRow:2,[hy("share")]:"content"}),parts:[{kind:"text",key:"lead",props:Y,styleFrom:e=>({size:ks[fL(e)],lineHeight:1.5})},{kind:"core",keep:[],as:"Logos",derive:{reads:[Eo,Qt],props:e=>({logoHeight:qA[fL(e)].mark,align:cL(e),...qe(e[Eo])?{[Eo]:e[Eo],...e[Qt]!==void 0?{[Qt]:e[Qt]}:{}}:{}})},props:{...xy,look:"marks",grayscale:!1,sectionAccent:et},slots:e=>({...gy("methods","label"),...qe(e[Eo])?{[eo]:[jd()]}:{}})}],drop:{size:"read as the wall's Logo height (S 16, M 20) and the lead's size (the footer size table, 12 / 13)",align:"read as the Box's justify and the wall's own Alignment (start is left, end is right)",editing:"the editor's preview flag, never a stored setting: the editor tells every block it is editing"}},mL={Logos:rte,PaymentBadges:ste,FooterPayment:uL,PaymentLogosBlock:uL},hL=()=>({heading:aL.heading,items:rL()}),xL=()=>({heading:nL.heading,badges:sL(),assurances:lL()}),gL=()=>({...Dc,methods:[]});import{mixHex as dte}from"efficient-shell/format";var IMe="none",bMe=[{label:"Nothing",value:"none"},{label:"Section above",value:"above"},{label:"Section below",value:"below"}];function IL(e){return e==="above"||e==="below"?e:null}var yMe="sf-ticker-join";function ite(e){return e==="above"?"sf-ticker-join-above":"sf-ticker-join-below"}function SMe(e){return`absolute inset-x-0 ${ite(e)}`}var nn={direction:"row",share:"content",align:"center"},Wi={top:14,bottom:14,topPhone:12,bottomPhone:12},vu={wrap:"nowrap",loop:"scroll",sectionAccent:Dx,gap:60,gapPhone:32,separator:"dot",sectionBorder:{top:1,bottom:1}},bL={gap:120,gapPhone:64},ku={...Oo,sizeToken:{step:"label",px:14,pxPhone:12},letterSpacing:.25,lineHeight:1.5},yL={textStyle:"heading-3",letterSpacing:.005,case:"upper",lineHeight:1},Gi={top:16,bottom:16,topPhone:12,bottomPhone:12},$i={justify:"between",wrap:"wrap",gap:32,separator:"none"},zi={...Oo,letterSpacing:.1,lineHeight:1.5};var SL=e=>e.size==="display",cte=(e,o)=>{let t=nu(e,o),a=e.tone!=="plain"&&t?.text&&t.background?dte(t.text,t.background,.3):null;return a?{color:a}:{}},fte=(e,o)=>e.tone!=="plain"&&yt(e.sectionAccent)===null?Go("background")(e,o):{},wL=(e,o)=>({kind:"list",key:"items",name:"Item",flat:!0,when:o,parts:[{kind:"text",key:"text",props:Y,style:e,styleFrom:cte}]}),pte={name:"Scrolling Bar",boxProps:(e,o)=>({...Q,...nn,...vu,...Nd[Zs(e.separator)]===""?bL:{},...de(e,Wi),...fte(e,o)}),box:[["scrollDirection","scrollDirection",e=>j_(e)],["speed","loopDuration",(e,o)=>o.loopDuration!=null?o.loopDuration:e],["loopDuration","loopDuration",(e,o)=>e??o.speed],["loopDelay","loopDelay",e=>e],["separator","separator",e=>Zs(e)],["join","join",e=>IL(e)??void 0],["borders","sectionBorder",e=>e===!1?void 0:{top:1,bottom:1}],...ae,["tone","sectionAccent",(e,o)=>yt(o.sectionAccent)??et],...ye(Wi)],parts:[wL(ku,e=>!SL(e)),wL(yL,SL)],drop:{...oe,...ce,size:"each item's Text style: Small \u2192 Body 5, Display \u2192 Heading 3"}},CL=e=>e?.tone==="muted",vL=e=>bd(Ya(e)),ute={name:"Spec Strip",boxProps:(e,o)=>({...Q,...nn,...$i,...e.fill==="none"?{sectionBorder:{top:1}}:{sectionAccent:vL(o)},...de(e,Gi)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>o.fill==="none"?e:vL(t)],...ye(Gi)],parts:[{kind:"list",key:"cells",name:"Cell",flat:!0,parts:[{kind:"text",key:"text",props:G,style:zi,when:(e,o)=>!CL(o)},{kind:"text",key:"text",props:Y,style:zi,when:(e,o)=>CL(o)}]}],drop:{...oe,...ce,fill:"None \u2192 no fill and a line on top. Dark band (the default) \u2192 the Box's theme is the site's first dark preset that is not its page (lib/theme `darkBandIndex`; Theme 2 with no site theme): the old fixed `plate-band` colour, as a theme"}},kL={Ticker:pte,SpecStrip:ute};import{jsxs as Vi,jsx as je}from"react/jsx-runtime";import{Fragment as ML}from"react";import{Fragment as Ete,jsx as Cy}from"react/jsx-runtime";import{Fragment as EL,jsx as Ui,jsxs as yte}from"react/jsx-runtime";import{createContext as wy,useContext as ji,useEffect as Ste,useId as wte,useMemo as Cte,useRef as vte}from"react";import{armEntrance as kte}from"efficient-shell/format";import{jsx as mte}from"react/jsx-runtime";import{useEffect as PL,useRef as TL,useState as hte}from"react";import{armEntrance as xte,entranceAttrs as gte,playEntrance as Ite}from"efficient-shell/format";function by({desktop:e,phone:o,editing:t,boxClass:a,boxAttrs:r,boxStyle:n,takesViewHide:s=!1,atEdge:l=!1,children:d}){let c=TL(null),f=bw(),u=kn(),p=s?u:Cd,x=yy(c,!0,l),g=x?o:e,{attrs:I,style:k}=gte(g),S=TL(Iy.seed(e,o)),C=JSON.stringify(e),b=JSON.stringify(o);return PL(()=>{let v=c.current;if(v){if(t){let T=Iy.next(S.current,e,o,x);S.current=T.seen,T.play&&Ite(v);return}return xte(v)}},[C,b,x,t]),p.scope(mte("div",{ref:c,className:Tn(`${gp}${f.fill}${a?` ${a}`:""}`,p.className),...r,...p.attrs,...I,...Object.keys(k).length||n?{style:{...n,...k}}:{},children:f.inner(d)}))}var Iy={seed(e,o){return{desktop:JSON.stringify(e),phone:JSON.stringify(o)}},next(e,o,t,a){let r=Iy.seed(o,t);return{play:a?r.phone!==e.phone:r.desktop!==e.desktop,seen:r}}};function bte(e){return e?$f:rs}function yy(e,o=!0,t=!1){let[a,r]=hte(!1),n=bte(wd()||t);return PL(()=>{if(!o)return;let s=e.current?.ownerDocument?.defaultView??(typeof window>"u"?null:window);if(!s?.matchMedia)return;let l=s.matchMedia(n),d=()=>r(l.matches);return d(),l.addEventListener("change",d),()=>l.removeEventListener("change",d)},[e,o,n]),a}var Tu=wy(null),_L=wy(null),AL=wy(null);function ZMe({needles:e,styles:o,motions:t=z1,type:a,atEdge:r=!1,children:n}){let s=wte(),l=wd()||r,d=JSON.stringify([s,e,o,t,a]),c=Cte(()=>{let u=Object.keys(t).filter(p=>j1(t[p]));return cO(e,o,s,p=>Ii(a,p),p=>nO(a,p),p=>u.includes(p)?Ob(t[p]):null,u)},[d]);if(!c)return Ui(EL,{children:n});let f=fO(c,{inBox:l});return yte(EL,{children:[f&&Ui("style",{href:`${Tte}${s}-${Pte(f)}`,precedence:LL,dangerouslySetInnerHTML:{__html:f.replace(/</g,"\\3c ")}}),Ui(Tu.Provider,{value:c,children:n})]})}var Sy=new WeakMap;function OL(e,o){let t=V1(o.filter(a=>a.arm));for(let a of o)a===t||!a.undo||(a.undo(),a.undo=void 0);t?.arm&&!t.undo&&(t.undo=t.arm()),o.some(a=>a.lift)?(Y1(e.ownerDocument),e.setAttribute(Fp,"")):e.removeAttribute(Fp)}function RL(e){let o=vte(null),t=e?.motion?.entrance??null,a=e?.motion?.hover==="lift",r=yy(o,t!==null),n=JSON.stringify(t);return Ste(()=>{let s=o.current,l=q1(s?.parentElement??null);if(!t&&!a||!s||!l)return;let d=t?()=>{let u=K1(l,r?t.phone:t.desktop),p=kte(l);return()=>{p?.(),u()}}:null,c=Sy.get(l)??[];Sy.set(l,c);let f={element:s,arm:d,lift:a};return c.push(f),OL(l,c),()=>{let u=c.indexOf(f);u<0||(c.splice(u,1),f.undo?.(),f.undo=void 0,OL(l,c),c.length||Sy.delete(l))}},[n,a,r]),o}var LL="sf-part-styles",Tte=`${LL}-`;function Pte(e){let o=2166136261;for(let t=0;t<e.length;t+=1)o^=e.charCodeAt(t),o=Math.imul(o,16777619);return(o>>>0).toString(36)}function FL(e){let o=ji(Tu),t=ji(_L),a=pO(o,e);return a&&a.stamp!==t?a:null}function QMe(e){return uI(ji(Tu),e)}function BL({stamp:e,children:o}){return Ui(_L.Provider,{value:e,children:o})}function eHe({children:e}){let o=ji(Tu);return Ui(AL.Provider,{value:o,children:e})}function oHe(e){return uI(ji(AL),e)}function Ki({value:e,children:o}){let t=FL(e),a=RL(t);return t?Cy(BL,{stamp:t.stamp,children:Cy("span",{ref:a,[aI]:t.stamp,...t.textStyle?{[ls]:t.textStyle}:{},children:o})}):Cy(Ete,{children:o})}import{jsx as vy,Fragment as Ote}from"react/jsx-runtime";function DL({className:e=""}){return vy("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function Pu(e){if(!e.includes("\xAE"))return e;let o=e.split("\xAE"),t=[];return o.forEach((a,r)=>{a&&t.push(a),r<o.length-1&&t.push(vy(DL,{},`r${r}`))}),vy(Ote,{children:t})}var iHe=DL;function ba(e,o=!1,t){let a=Nte(o),r=Ys(e);if(r.length===1){let[s]=r,l=Nm(s),d=l?Bte(l,s.children):s.children;return Vi(Ki,{value:e,children:[t,Eu(d,a)]})}let n=[];return r.forEach((s,l)=>{if(s.bullet){n.push(je("span",{"data-sf-bullet":"",className:_te,children:Eu(s.children,a)},l));return}if(s.number!=null){n.push(Vi("span",{"data-sf-number":s.number,className:Ate,children:[Vi("span",{className:Rte,children:[s.number,"."]}),Eu(s.children,a)]},l));return}l>0&&!Lte(r[l-1])&&n.push(je("br",{},`br${l}`)),n.push(je(ML,{children:Eu(s.children,a)},l))}),Vi(Ki,{value:e,children:[t,n]})}var _te="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",Ate="relative block pl-[2em]",Rte="absolute left-0 w-[1.6em] text-right tabular-nums";function Lte(e){return e.bullet||e.number!=null}var Fte="text-accent underline underline-offset-[0.18em]";function Bte(e,o){let[t,...a]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...a]:[{kind:"text",text:e},...o]}function Dte(e){return Hn(e)||void 0}function Eu(e,o){let t=[],a=!1;return e.forEach((r,n)=>{if(r.kind==="text"){t.push(je("span",{children:Pu(r.text)},n)),a=!0;return}a||t.push(je("span",{},`e${n}`)),t.push(HL(r,n,o)),a=!1}),a||t.push(je("span",{},"end")),t}function NL(e,o){return e.length===1&&e[0].kind==="text"?Pu(e[0].text):e.map((t,a)=>t.kind==="text"?je(ML,{children:Pu(t.text)},a):HL(t,a,o))}function Nte(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function gHe(e){return je(Ki,{value:e,children:je("span",{children:e})})}function HL(e,o,t){if(e.kind==="link")return je("a",{href:e.href,className:Fte,children:NL(e.children,t)},o);let a=NL(e.children,t),r=Zw[e.kind];if(r)return je("span",{[Qw]:r,children:a},o);switch(e.kind){case"underline":return je("u",{children:a},o);case"sup":return je("sup",{children:a},o);case"sub":return je("sub",{children:a},o);case"color":{let n=Dte(e.color);return n?je("span",{style:{color:n},children:a},o):je("span",{children:a},o)}case"accent":case"highlight":return je("em",{className:t,children:a},o);case"bold":return je("strong",{className:"font-semibold",children:a},o);case"italic":return je("em",{className:"italic",children:a},o);case"strike":return je("s",{className:"line-through",children:a},o);default:return je("span",{children:a},o)}}function IHe(e,o=!0){let t=e.split(`
|
|
76
|
+
`);return je(Ki,{value:e,children:t.map((a,r)=>Vi("span",{children:[ba(a,o),r<t.length-1?je("br",{}):null]},r))})}function WL(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var GL={direction:"column",justify:"between",gap:14,gapPhone:14,sectionPaddingLeft:14,sectionPaddingRight:14,sectionPaddingLeftPhone:0,sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},ky={name:"Year and title",direction:"column",gap:14,gapPhone:14};var ya={text:"Button label",href:"#"},qi=e=>e.replace(/\*([^*]+)\*/g,"==$1=="),bo={eyebrow:"Eyebrow",heading:"Main heading",accent:"Highlight line",body:"Add a sentence or two of supporting copy.",button:"Button label",link:"#",sectionHeading:"Section heading",slideName:"Slide name",boxName:"Box name",headingAccent:"Section heading *here.*",sectionNumber:"Section number",imageCaption:"Image caption",bookingConfirmation:"Thanks \u2014 we'll email you to confirm.",imageMeta:"Image meta",label:"Label",value:"Value",viewAll:"View all",date:"Month DD, YYYY",category:"Category"};var Ou={eyebrow:bo.eyebrow,title:`Section heading
|
|
77
|
+
*Highlight line*`,intro:bo.body,imageCaption:bo.imageCaption,imageMeta:bo.imageMeta,cta:ya.text},$L=()=>[{date:i("Year"),title:i("Milestone title."),body:i("Describe what happened, in a sentence or two.")},{date:i("Year"),title:i("Milestone title."),body:i("Describe what happened, in a sentence or two.")},{date:i("Year"),title:i("Milestone title."),body:i("Describe what happened, in a sentence or two.")}],vHe={label:"Story Timeline",defaultProps:{layout:"split",eyebrow:"",title:"",intro:"",imageSrc:"",imageCaption:"",imageMeta:"",ctaText:"",ctaHref:"",entries:[],padTop:120,padBottom:120}};var _u={eyebrow:bo.eyebrow,title:bo.headingAccent,intro:bo.body,cta:ya.text},zL=()=>[{date:i("Year"),title:i("Milestone"),blurb:i("A short line about this milestone."),future:!1},{date:i("Year"),title:i("Milestone"),blurb:i("A short line about this milestone."),future:!1},{date:i("Year"),title:i("Milestone"),blurb:i("A short line about this milestone."),future:!1},{date:i("Year \u2192"),title:i("Upcoming"),blurb:i("A milestone still to come."),future:!0}],OHe={label:"Milestone Timeline",defaultProps:{eyebrow:"",title:"",intro:"",entries:[],ctaText:"",ctaHref:"",background:Dl,padTop:120,padBottom:120}};var YL={buttonBorder:{width:0}},Lu=(e,o,t={})=>({textStyle:"body-5",...M("label",e),letterSpacing:o,lineHeight:1.5,weight:400,...t}),Ls=(e,o,t={})=>({...Lu(e,o),...Oo,...t}),Fu=(e,o,t)=>({...e,case:"upper",weight:500,letterSpacing:o,lineHeight:t}),Yi=(e,o,t={})=>({textStyle:"body-1",fontRole:"heading",...e,weight:400,case:"none",lineHeight:o,...t}),it=(e,o,t={})=>({kind:"text",key:e,props:G,style:o,...t});function XL(e,o){return e.kind==="text"?o.includes(e.key)?{...e,mark:"accentItalic"}:e:e.kind==="group"?{...e,parts:e.parts.map(t=>XL(t,o))}:e}var UL=(e,o)=>o?.future===!0,Au=e=>WL(typeof e?.body=="string"?e.body:""),_y=e=>Ut(typeof e.background=="string"?e.background:void 0,rn.TimelineTrack),Ty=e=>_y(e)===ko?e:{...e,background:"transparent"},Mte={name:"Milestone Timeline",skip:e=>iu(_y(e)),boxProps:(e,o)=>{let t=Qa(Ty(e),o);return{...Q,direction:"column",gap:60,gapPhone:36,sectionBorder:{bottom:1},...Lo(e,"TimelineTrack"),...lu(_y(e),e,o),...t>=0?{sectionAccent:t}:{}}},box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>er(e,Ty(o),t)],...Za("TimelineTrack")],parts:[ay(XL(mu("eyebrow","title","intro"),["title","intro"])),{kind:"group",name:"Track",props:{..._,gap:48,gapPhone:48},parts:[{kind:"group",name:"Years",props:{..._,direction:"row",share:"equal",gap:0,line:!0},parts:[{kind:"list",key:"entries",name:"Year",props:{..._,...GL},item:e=>({props:e.future===!0?{upcoming:!0}:{}}),parts:[{kind:"group",name:ky.name,props:{..._,...ky},parts:[it("date",Lu(13,.22,{color:"accent"}),{when:(e,o)=>!UL(e,o)}),it("date",Lu(13,.22,{color:"labels"}),{when:UL}),it("title",{textStyle:"heading-3",...Fu(M("headingSmall",20),-.02,1.1)},{role:"heading"})]},it("blurb",Yi(M("body",13),1.55),{props:Y,mark:"accentItalic"})]}]},{kind:"group",name:"Button row",props:{..._,sectionBorder:{top:1,right:0,bottom:0,left:0},sectionPaddingTop:32},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...co,align:"right",...YL},style:Ls(13,.3)}]}]}],site:(e,o)=>or({props:Ty(e.props)},o),drop:{...oe,...ce,background:"another colour is the Box's Fill, or a skip if no Fill holds it; the band is the Box's theme: the site's band preset (`sectionAccent`), or a declared band-preset write (`lib/theme` `bandPresetIndex`)",headPlacement:"needs a row per head placement: an own-box Milestone Timeline draws no head (its words sit in a Section Header above it), the row always draws the head"}},Ry=e=>typeof e.layout=="string"?e.layout:"split",Ru=e=>Ry(e)==="split",Ay=e=>!Ru(e),JL=e=>Ry(e)==="spine",Hte=e=>Ay(e)&&!JL(e),jL=(e,o,t,a)=>({kind:"group",name:"Picture",keepEmpty:!0,box:[["imageSrc","bgImage"]],props:{..._,sectionBorder:{top:1,right:1,bottom:1,left:1},darken:75,darkenStyle:"bottom",placement:"bottom-center",sectionHeightMode:"fixed",sectionHeightValue:e,sectionHeightUnit:"px",sectionHeightModePhone:"fixed",sectionHeightValuePhone:o,sectionHeightUnitPhone:"px",...Xe(12,16),...t},when:r=>a(r)&&typeof r.imageSrc=="string"&&r.imageSrc.trim()!=="",parts:[{kind:"group",name:"Caption",props:{..._,direction:"row",justify:"between",align:"center",gap:12,gapPhone:12,share:"content",phoneRow:2},parts:[it("imageCaption",Ls(11,.24,{color:"text"})),it("imageMeta",Ls(11,.24,{color:"accent"}),{props:{...G,align:"right"}})]}]}),KL=(e={})=>({kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...co,...e,...YL},style:Ls(13,.3)}),Py=()=>[it("title",{textStyle:"heading-3",...Fu(M("headingSmall",24,20),-.02,1.5)},{role:"heading",mark:"accentItalic"}),{kind:"block",type:"Text",props:{...G,_partStyles:{text:Yi(M("body",17,16),1.6)}},box:[["body","text",(e,o)=>ur(Au(o)[0]??"")]],when:(e,o)=>Au(o).length>0},{kind:"block",type:"Text",props:{...Y,_partStyles:{text:Yi(M("body",17,16),1.6,{paragraphSpacing:14})}},box:[["body","text",(e,o)=>ur(Au(o).slice(1).join(`
|
|
78
|
+
|
|
79
|
+
`))]],when:(e,o)=>Au(o).length>1}],Ey=()=>it("date",Lu(13,.24,{color:"accent"})),Oy=(e,o,t={})=>it(e,o,{...t,props:{...G,...t.props??{},align:"center"}}),VL=$o("headingMedium",40,5,76),qL={sectionBorder:{bottom:1}},Wte={name:"Story Timeline",skip:e=>Ry(e)==="track"?'display "track": not converted (it draws the Milestone rail; a Track story is not stored anywhere)':void 0,boxProps:e=>Ru(e)?{...Q,direction:"row",share:[40],gap:80,gapPhone:48,align:"start",...qL,...Lo(e,"Timeline")}:{...Q,direction:"column",gap:48,gapPhone:48,align:"center",...qL,...Lo(e,"Timeline")},box:[...ae,...Za("Timeline")],parts:[{kind:"group",name:"Heading",props:{..._,gap:24,gapPhone:24},when:Ru,parts:[it("eyebrow",Ls(12,.3,{color:"accent"}),{role:"eyebrow"}),it("title",{textStyle:"heading-2",...Fu(VL,-.03,.94)},{role:"heading",mark:"accentItalic"}),it("intro",Yi(M("body",14),1.6),{props:{...Y,maxWidth:360},mark:"accentItalic"}),jL(667,419,{},()=>!0),KL()]},{kind:"group",name:"Chapters",props:{..._,gap:48,gapPhone:48,line:!1},when:Ru,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,direction:"row",gap:24,gapPhone:8,share:[12],align:"start"},parts:[Ey(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Py()}]}]},{kind:"group",name:"Heading",props:{..._,gap:24,gapPhone:24,align:"center",maxWidth:760,widthFit:"fill"},when:Ay,parts:[Oy("eyebrow",Ls(12,.3,{color:"accent"}),{role:"eyebrow"}),Oy("title",{textStyle:"heading-2",...Fu(VL,-.03,.94)},{role:"heading",mark:"accentItalic"}),Oy("intro",Yi(M("body",14),1.6),{props:{...Y,maxWidth:520},mark:"accentItalic"}),KL({align:"center"})]},jL(506,192,{maxWidth:900,widthFit:"fill"},Ay),{kind:"group",name:"Chapters",props:{..._,gap:48,gapPhone:48,line:!0,maxWidth:760,widthFit:"fill",sectionPaddingTop:16},when:JL,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,gap:8,gapPhone:8},parts:[Ey(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Py()}]}]},{kind:"group",name:"Chapters",props:{..._,gap:56,gapPhone:56,maxWidth:1e3,widthFit:"fill",sectionPaddingTop:16,mirrorCards:"even"},when:Hte,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,direction:"row",gap:64,gapPhone:0,share:[50],align:"start"},parts:[{kind:"group",name:"Entry",props:{..._,gap:8,gapPhone:8},parts:[Ey(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Py()}]},{kind:"group",name:"Spacer",props:{..._},keepEmpty:!0,parts:[]}]}]}],drop:{...oe,...ce,layout:"the Box's own arrangement replaces it: Split a row of two Boxes; Spine and Alternating a centred column (Track is skipped)"}},ZL=()=>({eyebrow:Ou.eyebrow,title:qi(Ou.title),intro:Ou.intro,ctaText:ya.text,ctaHref:ya.href,entries:$L()}),QL=()=>({eyebrow:_u.eyebrow,title:qi(_u.title),intro:_u.intro,ctaText:ya.text,ctaHref:ya.href,entries:zL()}),eF={TimelineTrack:Mte,Timeline:Wte};import{tabletKey as jte}from"efficient-easel/draw";import{slugify as VHe}from"efficient-shell/format";import{rootIsDark as Gte}from"efficient-shell/format";function UHe(e="auto"){return e==="light"?!0:e==="dark"?!1:!Gte({whenUnset:!0})}function oF(e,o){return Number.isFinite(e)&&Number.isFinite(o)&&!(e===0&&o===0)}function Ly(e){let o=Number.parseFloat(e??"");return Number.isFinite(o)?o:0}var $te=["tall","square","wide"],zte="tall";function tF(e){return $te.includes(String(e??""))?String(e):zte}var YHe={sectionNumber:"\xB7 Locations",heading:"Our *locations.*",tagline:"Visit us in person \u2014 find your nearest studio below.",galleryKicker:"Gallery",galleryHint:"Hover to see in colour \xB7 click to jump",mapTheme:"auto"},XHe=[{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
80
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""},{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
81
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""}],Ute=/^https?:\/\//i;function JHe(e){let o=(e.mapsUrl??"").trim();return{photo:"",group:"",groupName:"",name:e.name??"",state:e.state??"",country:e.country??"",timezone:"",address:e.address??"",phone:e.phone??"",hours:e.hours??"",lat:Ly(e.lat),lng:Ly(e.lng),mapsUrl:Ute.test(o)?o:""}}function Fy(e){let o=String(e??"").split(" \xB7 ");return{state:(o[0]??"").trim(),country:(o[1]??"").trim()}}var ZHe="other",QHe={routingNumber:"02 \xB7 Routing",routingTagline:"What can we help you with?",groups:[{id:"fitment",eyebrow:"A \xB7 Label",title:"Group one",copy:"Short description of this routing group.",response:"< 48h"},{id:"trade",eyebrow:"B \xB7 Label",title:"Group two",copy:"Short description of this routing group.",response:"< 24h"},{id:"press",eyebrow:"C \xB7 Label",title:"Group three",copy:"Short description of this routing group.",response:"< 48h"},{id:"order",eyebrow:"D \xB7 Label",title:"Group four",copy:"Short description of this routing group.",response:"< 24h"}],formNumber:"03 \xB7 Message",formHeading:"Send *a note.*",metaLines:["Encrypted in transit","Stored 12 months"],showOther:!0,otherLabel:"Other",otherNoteTitle:"No matching team",otherNoteBody:"Tell us what you need in the message field below \u2014 we'll route it to whoever can help.",buttonText:"Send Message \u2192",consent:"By submitting, you agree to our privacy policy. We never share contact details with third parties.",channels:[{label:"Team one",value:"team-one@email.com",href:"mailto:team-one@email.com",sub:"Detail \xB7 Detail",groupId:"fitment"},{label:"Team two",value:"team-two@email.com",href:"mailto:team-two@email.com",sub:"Detail \xB7 Detail",groupId:"trade"},{label:"Team three",value:"team-three@email.com",href:"mailto:team-three@email.com",sub:"Detail \xB7 Detail",groupId:"press"},{label:"Team four",value:"team-four@email.com",href:"mailto:team-four@email.com",sub:"Detail \xB7 Detail",groupId:"order"},{label:"Phone",value:"+1 (000) 000-0000",href:"tel:+10000000000",sub:"Mon\u2013Fri \xB7 9:00\u201318:00"}]};function aF(e){let o=String(e??"").replace(/[^+\d]/g,"");return o?`tel:${o}`:void 0}var dt=e=>typeof e=="string"?e:e==null?"":String(e),Dy=e=>Array.isArray(e.locations)?e.locations.map(o=>o??{}):[],Fs=e=>dt(e.group),pF=e=>`loc-${e}`,uF=e=>dt(e.state).trim()||Fy(dt(e.region)).state,mF=e=>dt(e.country).trim()||Fy(dt(e.region)).country,rF=e=>[uF(e),mF(e)].filter(Boolean).join(" \xB7 "),Kte=e=>Dy(e).some(o=>dt(o.photo).trim()!==""),Vte=e=>Dy(e).some(o=>oF(Number(o.lat),Number(o.lng))),qte=(e,o)=>Dy(e).filter(t=>Fs(t)===Fs(o)).length,Yte=(e,o)=>qte(e,o)===1?"wide":tF(e.imageShape),By={top:100,bottom:100,topPhone:60,bottomPhone:60},nF=48,Rt=(e,o={})=>({...gt(e),...o}),Ny={top:1,right:1,bottom:1,left:1},My={..._,direction:"row",share:"equal",gap:0},Xte=e=>o=>o>Ei(o)?{..._,gap:0}:{...My,...o>1?{phoneRow:e}:{}},Jte={kind:"group",name:"Gallery",props:{..._,gap:20,_hidden:!0},when:Kte,parts:[{kind:"group",name:"Gallery head",props:{..._,direction:"row",justify:"between",align:"end",gap:24,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},parts:[pe("galleryKicker",Rt(12,{color:"accent",letterSpacing:.3})),{kind:"text",key:"galleryHint",props:{...Y,align:"right",alignPhone:"left"},style:Rt(11,{letterSpacing:.22,alignPhone:"left"})}]},{kind:"group",name:"Groups",props:{..._,gap:24},parts:[{kind:"list",key:"locations",name:"City picture",props:{..._,darken:85,darkenStyle:"bottom",placement:"bottom-left",sectionBorder:Ny,...Xe(12,12)},item:(e,o,t)=>({props:{...dt(e.photo).trim()?{bgImage:dt(e.photo),hover:"mono"}:{},link:`#${pF(o)}`,boxShape:Yte(t,e)}}),parts:[{kind:"text",key:"name",props:G,style:Rt(11,{letterSpacing:.22,color:"text"})}],groups:{of:Fs,name:"Group",props:{..._,gap:10},head:e=>({label:Fs(e[0]??{})}),parts:[pe("label",Rt(11,{color:"accent",letterSpacing:.3}))],itemsName:"Cities",itemsProps:Xte(2),perRow:Ei,rowName:"Row",rowProps:{...My,phoneRow:2}}}]}]},Zte={kind:"group",name:"Words",props:{..._,gap:12,gapPhone:12,...Xe(28,28),sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},parts:[{kind:"group",name:"Name row",props:{..._,direction:"row",justify:"between",align:"start",gap:14,share:"content",phoneRow:2,sharePhone:"content",wrapPhone:"wrap",sectionPaddingBottom:6,sectionPaddingBottomPhone:6},parts:[{kind:"group",name:"Name",props:{..._,gap:6,gapPhone:6},parts:[{kind:"text",key:"name",role:"heading",props:G,style:{textStyle:"heading-3",...M("headingSmall",30),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}},{kind:"block",type:"Text",props:{...G,_partStyles:{text:Rt(12,{color:"accent",letterSpacing:.24,lineHeight:1.5})}},box:["region","state","country"].map(e=>[e,"text",(o,t)=>rF(t)]),when:(e,o)=>rF(o??{})!==""}]},{kind:"group",name:"Time zone",props:{..._,sectionBorder:Ny,...Xe(6,10)},parts:[{kind:"text",key:"timezone",props:{...Y,textFit:"line"},style:Rt(12,{letterSpacing:.22,lineHeight:1.5})}]}]},{kind:"text",key:"address",props:Y,style:{textStyle:"body-5",fontRole:"heading",...M("body",14),lineHeight:1.5}},{kind:"block",type:"ButtonBlock",props:{...co,...on,variant:"ghost",arrow:!1,_partStyles:{label:Rt(13,{letterSpacing:.18,color:"text",lineHeight:24/13})}},box:[["phone","label"],["phone","href",e=>aF(dt(e))??"#"]],when:(e,o)=>dt(o?.phone).trim()!==""},{kind:"text",key:"hours",props:Y,style:Rt(12,{letterSpacing:.18,lineHeight:1.7})}]},Qte={kind:"block",type:"LocationMap",props:e=>({mapTheme:typeof e.mapTheme=="string"?e.mapTheme:"auto"}),box:["name","lat","lng","mapsUrl","geocode",...["region","state"].map(e=>[e,"state",(o,t)=>uF(t)]),...["region","country"].map(e=>[e,"country",(o,t)=>mF(t)])]},eae={kind:"group",name:"Map",props:{..._,sectionBorder:{top:1,right:0,bottom:0,left:0}},parts:[Qte]},oae={kind:"list",key:"locations",name:"City",props:(e,o)=>({..._,gap:0,justify:"between",sectionBorder:Ny,jumpHighlight:!0,sectionAccent:Qa(e,o)>=0?tn(e.sectionAccent,o):-1}),item:(e,o)=>({props:{anchor:pF(o)}}),parts:[Zte,eae],groups:{of:Fs,name:"Group",props:{..._,gap:20},head:e=>{let o=e[0]??{};return{key:Fs(o),groupName:dt(o.groupName),count:`${e.length} location${e.length===1?"":"s"}`}},parts:[{kind:"group",name:"Group head",props:{..._,direction:"row",justify:"between",align:"end",gap:16,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},when:(e,o)=>dt(o?.key).trim()!=="",parts:[pe("key",Rt(13,{color:"accent",letterSpacing:.3})),{kind:"text",key:"groupName",role:"heading",props:G,style:{textStyle:"heading-3",...M("headingSmall",24),case:"upper",weight:500,letterSpacing:-.01}},{kind:"text",key:"count",props:Y,style:Rt(12,{letterSpacing:.22})}]}],itemsName:"Cities",itemsProps:e=>({...My,columns:Ei(e),[jte("columns")]:1})}},sF=Rt(10,{letterSpacing:.25}),tae={kind:"block",type:Vt,props:{..._,name:"Credit",direction:"row",justify:"end",align:"center",gap:6,share:"content",wrap:!0},when:Vte,slot:qt,keepEmpty:!0,parts:[{kind:"block",type:"Text",props:{...Y,text:"Location coordinates \xA9",_partStyles:{text:sF}}},{kind:"block",type:"ButtonBlock",props:{...co,...on,variant:"ghost",arrow:!1,label:"OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright",_partStyles:{label:{...sF,color:"labels"}}}}]},lF=(e,o)=>Object.fromEntries(o.filter(t=>e[t]!==void 0).map(t=>[t,e[t]])),iF=["sectionPaddingTop","sectionPaddingTopTablet","sectionPaddingTopPhone"],dF=["sectionPaddingBottom","sectionPaddingBottomTablet","sectionPaddingBottomPhone"],cF=e=>e.map(o=>[o,o,(t,a)=>de(a,By)[o]]),fF=["sectionAccent","sectionAccent",er],aae=["gridSpan",...Gn,...Object.values(io)],rae={name:"City pictures",skip:e=>lo(e)?`fed by the data source "${lo(e)}": its cities are read as the page is served, not stored on the node`:void 0,boxProps:(e,o)=>({...Q,direction:"column",gap:40,anchor:"studios",...lF(de(e,By),iF),sectionPaddingBottom:nF,sectionPaddingBottomPhone:nF,...an(e,o)}),box:[...ae.filter(e=>e!=="sectionAccent"&&e!=="anchor"),fF,["anchor","anchor",e=>bl(e).trim()?e:"studios"],...cF(iF)],parts:[mu("sectionNumber","heading","tagline"),Jte],also:[{name:"City maps",boxProps:(e,o)=>({...Q,direction:"column",gap:40,sectionBorder:{bottom:1},sectionPaddingTop:0,sectionPaddingTopPhone:0,...lF(de(e,By),dF),...an(e,o)}),box:[...aae,fF,...cF(dF)],parts:[oae,tae]}],reads:{mapTheme:"City maps Box: each Map block's Map theme",imageShape:"City pictures Box: each picture Box's Box shape"},site:or,drop:{...oe,...ce,apiKey:"a stored Google Maps key from before the map needed none: the website's one map (components/SiteMap) takes no key, and a key is a credential, never page content",mapId:"a Google Maps style id from the same retired map: nothing in src/ reads it",gallery:"the retired separate tile list: the wall is derived from the cities (`components/ContactLocations`), nothing in src/ reads it",dataSource:"always empty here: a node fed by a source is skipped (see skip)"}},hF={ContactLocations:rae};var Bu=tl(11),nae={textStyle:"body-1",...M("body",18),weight:500,lineHeight:1.2},xF=()=>({type:V,props:{..._,gap:8,gapPhone:8,...Xe(20,24,20,20),name:"Office"},slots:{[se]:[ie("badge",{...G,tag:"p",widthFit:"fill"},Bu,!0),ie("role",{...G,tag:"p",widthFit:"fill"},Bu,!0),ie("city",{...G,tag:"p",widthFit:"fill"},nae),ie("country",{...Y,tag:"p",widthFit:"fill"},Bu),ie("address",{...Y,tag:"p",widthFit:"fill"},Bu),{type:"ButtonBlock",props:{variant:"link",label:"",href:"",[Co]:"linkLabel",[nl]:"href"}}]}});var gF="sideSpace",sn="site",S4e=[{value:"box",label:"Box"},{value:sn,label:"Site"}],w4e="box",C4e="Box: on small screens the Box keeps its own side space, up to 24 px. Site: it uses the site's Side space, as the site's own sections do. It has no effect when Content is Full width.";function v4e(e){return e===sn?sn:"box"}function k4e(e){return e===sn?sn:void 0}var sae=["Collections","FAQ","Footprint","GalleryB","LongRead","ProcessSteps","RelatedProducts"];var tr=(e,o)=>()=>({top:e,topPhone:o}),IF=e=>o=>{let t=Lo(o,e).sectionPaddingTop;return{top:t,topPhone:t}},lae={Collections:tr(120,70),Events:tr(120,70),FAQ:tr(120,70),GalleryB:tr(120,70),FitmentTable:tr(120,80),SpecTable:tr(120,80),LongRead:tr(120,80),RelatedProducts:tr(0,0),Footprint:IF("Footprint"),ProcessSteps:IF("ProcessSteps"),ProductGrid:e=>({top:j(e.padTop)??120,topPhone:0})};function iae(e,o={}){let t=_o[e],a=lae[e];if(!t||!a)throw new Error(`section-to-box-rows-head: "${e}" has no head row or no head room`);let r=t.padKey,n=nt(e),s=gu(e),l=t.headRows.filter(c=>![t.num,t.title,t.description,"linkText","linkHref"].includes(c)),d={...Object.fromEntries(l.filter(c=>!(c in s)).map(c=>[c,"a head setting no Header Box part reads (lib/document/blocks/general/section-head-looks `headReads`)"])),...o.drop};return{name:_d[e]??e,boxProps:(c,f)=>{let u=a(c),p=o.roomBelow?{sectionPaddingBottom:o.roomBelow.bottom,sectionPaddingBottomPhone:o.roomBelow.bottomPhone}:{},x=typeof o.boxProps=="function"?o.boxProps(c,f):o.boxProps??{};return{...Q,direction:"column",gap:uu[As(e)],sectionPaddingTop:u.top,sectionPaddingTopPhone:u.topPhone,...p,...x}},box:[...ae,...r?[[r,"sectionPaddingTop",(c,f)=>a(f).top]]:[]],parts:[n,...(()=>{let c={...r?{[r]:0}:{},...o.coreProps},f={kind:"core",keep:"rest",...Object.keys(c).length?{props:c}:{},...o.slots?{slots:o.slots}:{}};return[o.coreBox?{kind:"group",name:o.coreBox.name,props:o.coreBox.props,parts:[f]}:f]})(),...o.partsAfter??[]],...Object.keys(s).length?{reads:s}:{},...Object.keys(d).length?{drop:d}:{},...o.pressHeading?{pressKeepsEmpty:[t.title]}:{},...o.skip?{skip:o.skip}:{}}}var dae={..._,direction:"accordion",rowStyle:"numbered"},cae={Footprint:{slots:{[eo]:[xF()]},pressHeading:!0},FAQ:{slots:{[eo]:[xh()]},pressHeading:!0,coreBox:{name:"Questions",props:dae},coreProps:{sectionAccent:et},roomBelow:{bottom:120,bottomPhone:70},boxProps:(e,o)=>o.press?{}:{[gF]:sn},skip:e=>{let o=e._partStyles??{},t=ov().filter(a=>o[a]!==void 0);return t.length?`held: its rows carry their own run style (_partStyles ${t.map(a=>`"${a}"`).join(", ")}), which the Box path does not draw the same`:void 0}}},bF=Object.fromEntries(sae.map(e=>[e,iae(e,cae[e])]));import{BLOCK_WIDTH_LIMIT as fae}from"efficient-easel/draw";var Du={eyebrow:bo.eyebrow,title:bo.headingAccent,deck:"Add a sentence or two introducing this document."},W4e={label:"Document masthead",defaultProps:{eyebrow:"",title:"",deck:"",meta:[]}};var EF={minWidth:fae.min},yF=(e,o,t)=>({...pe(e,{...o,..._i}),props:{...G,align:"right",...Qr,...t}}),OF={top:1,bottom:0},Wy=(e,o,t,a)=>({kind:"group",name:e,props:{..._,sectionPaddingBottom:o,sectionPaddingBottomPhone:t},parts:[a]}),SF={widthFit:"fill",...EF},wF={top:100,bottom:60,topPhone:60,bottomPhone:40},pae={...M("label",13),letterSpacing:.22,lineHeight:1.8},CF={textStyle:"heading-1",...$o("headingLarge",56,8,128),case:"upper",weight:500,lineHeight:.88,letterSpacing:-.04},vF=e=>e.titleLevel===2,uae=()=>({name:"Page Header",boxProps:e=>({...Q,direction:"column",gap:0,sectionBorder:{bottom:1},...de(e,wF)}),box:[...ae,...ye(wF)],parts:[{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Wy("Eyebrow",12,0,{...pe("eyebrow",M("label",13)),props:{...G,...Qr}}),{kind:"text",key:"title",role:"heading",props:{...G,tag:"h1",...SF},style:CF,mark:"accentItalic",when:e=>!vF(e)},{kind:"text",key:"title",role:"heading",props:{...G,tag:"h2",...SF},style:CF,mark:"accentItalic",when:vF},{kind:"group",name:"Details",props:{..._,align:"stretch",gap:0,gapPhone:0,sectionPaddingBottom:12,sectionPaddingBottomPhone:0},parts:[{kind:"list",key:"meta",name:"Detail",flat:!0,parts:[Ai("label","value",pae,Qr)]}]}]},{kind:"group",name:"Deck",props:{..._,maxWidth:760,sectionBorder:OF,sectionPaddingTop:28},parts:[{kind:"text",key:"deck",props:Y,style:{textStyle:"body-1",fontRole:"accent",...M("body",22,19),italic:!0,lineHeight:1.5}}]}],drop:{...oe,...ce,titleLevel:"read by the title part's `when`: 2 (set by lib/document/one-h1 on a later opener) makes the Text an h2, anything else an h1"}}),_F=()=>({eyebrow:Du.eyebrow,title:qi(Du.title),deck:Du.deck,meta:[{label:bo.label,value:bo.value},{label:bo.label,value:bo.value}]}),kF={top:80,bottom:40,topPhone:60,bottomPhone:32},mae={...M("label",13),letterSpacing:.18,lineHeight:1.8},TF={...M("label",13),letterSpacing:.22,lineHeight:1.9},hae=()=>({name:"Issue Header",boxProps:e=>({...Q,direction:"column",gap:0,sectionBorder:{bottom:1},...de(e,kF)}),box:[...ae,...ye(kF)],parts:[{kind:"group",name:"Top",props:{..._,direction:"row",align:"end",justify:"between",gap:60,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Wy("Eyebrow",14,14,pe("eyebrow",M("label",14))),{kind:"group",name:"Issue",props:{..._,align:"end",gap:0,gapPhone:0,sectionPaddingBottom:14},parts:[{kind:"list",key:"issueMeta",name:"Issue line",flat:!0,parts:[Ai("lead","rest",mae)]}]}]},{kind:"group",name:"Bottom",props:{..._,direction:"row",align:"start",justify:"between",gap:60,gapPhone:16,share:"content",sectionBorder:OF,sectionPaddingTop:32},parts:[{kind:"text",key:"lead",props:{...G,maxWidth:720,...EF},style:{textStyle:"body-1",fontRole:"heading3",...M("headingSmall",20),lineHeight:1.5,letterSpacing:-.005,paragraphSpacing:16}},{kind:"group",name:"In this issue",props:{..._,align:"stretch",gap:0},parts:[Wy("Heading",6,6,{kind:"text",key:"issueHeading",props:{...G,align:"right",...Qr},style:{textStyle:"body-1",fontRole:"heading",...M("body",18),weight:400,letterSpacing:-.01,lineHeight:1.9,..._i}}),{kind:"group",name:"Lines",props:{..._,align:"stretch",gap:0},parts:[{kind:"list",key:"issueList",name:"Line",flat:!0,parts:[yF("text",{color:"labels",...TF})]}]},yF("issueTotal",TF)]}]}],drop:{...oe,...ce}}),PF={top:24,bottom:24,topPhone:16,bottomPhone:16},Hy={color:"labels",...M("label",13),letterSpacing:.2},AF=e=>(Array.isArray(e.items)?e.items:[]).filter(o=>o&&typeof o.label=="string"&&o.label.trim()!==""),Gy=(e,o)=>o!==void 0&&AF(e).at(-1)===o,RF=(e,o)=>o!==void 0&&AF(e).includes(o),xae=(e,o)=>RF(e,o)&&!Gy(e,o)&&qe(o?.href),gae=()=>({name:"Breadcrumb",skip:e=>qe(e.meta)?'a trailing note after "\xB7" needs a second mark; none live':void 0,boxProps:e=>({...Q,...nn,wrap:"wrap",gap:16,gapPhone:16,separator:"slash",sectionBorder:{bottom:1},...de(e,PF)}),box:[...ae,...ye(PF)],parts:[{kind:"list",key:"items",name:"Crumb",flat:!0,parts:[{kind:"button",key:"label",href:"href",variant:"ghost",when:xae,props:{...co,...on,icon:"none"},style:Hy},{...pe("label",Hy),when:(e,o)=>RF(e,o)&&!Gy(e,o)&&!qe(o?.href)},{...pe("label",{...Hy,color:"text"}),when:Gy}]}],drop:{...oe,...ce,meta:"a node that stores a note is skipped (`skip`); an empty one draws nothing"}}),LF={DocMasthead:uae(),Masthead:hae(),Breadcrumb:gae()};import{jsx as ln,jsxs as zy}from"react/jsx-runtime";import{slugify as Iae}from"efficient-shell/format";import{jsx as $y,jsxs as FF}from"react/jsx-runtime";var X4e="sticky top-[120px]";var BF=(e,o)=>e?{[Vd]:o}:{},DF=(e,o)=>qd(e?.[ll(o)]?.role,Hp[o],yn),NF=120;function MF({title:e,entries:o,stickyTop:t,sticky:a=!0,editing:r=!1,partStyles:n,numberForm:s=Bg,takesViewHide:l=!1}){let d=s==="plain",c=kn(),f=l?c:Cd;return f.scope(FF("aside",{className:Tn(`${a?"sticky ":""}flex flex-col self-start max-[900px]:static`,f.className),style:a?{top:t}:void 0,...f.attrs,children:[e&&$y("h4",{className:"mb-[18px] font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:ba(e)}),o.map((u,p)=>{let x=$y("span",{...BF(r,"number"),style:DF(n,"number"),className:"text-accent",children:Of(s,p)});return FF("a",{href:`#${u.anchor}`,className:`flex items-center ${d?"justify-start gap-1":"justify-between gap-3"} border-b border-line py-2.5 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim transition-colors hover:text-fg${p===0?" border-t":""}`,children:[d&&x,$y("span",{...BF(r,"entry"),style:DF(n,"entry"),children:ba(u.label||"Section")}),!d&&x]},`${p}-${u.anchor}`)})]}))}function bae(e,o){return Iae(e)||`section-${o+1}`}var Uy=e=>typeof e=="string"&&e.trim()!=="";function jy(e){return(e??[]).filter(o=>Uy(o.heading)||Uy(o.label)||Uy(o.body))}function Ky(e){let o=new Set;return e.map((t,a)=>{let r=bae(t.label||t.heading||"",a),n=r,s=2;for(;o.has(n);)n=`${r}-${s++}`;return o.add(n),n})}function Vy(e){let o=[];for(let t of e.replace(/\r\n?/g,`
|
|
82
|
+
`).split(/\n[ \t]*\n/))t.split(`
|
|
83
|
+
`).map(a=>a.replace(/\s+$/,"")).filter(a=>a.trim()!=="").forEach((a,r)=>{let n=Ys(a)[0].bullet,s=o.at(-1),l=r===0||!s||s.type==="ul"!==n;if(n){let d=a.slice(2);!l&&s?.type==="ul"?s.items.push(d):o.push({type:"ul",items:[d]})}else!l&&s?.type==="p"?s.text+=`
|
|
84
|
+
${a}`:o.push({type:"p",text:a})});return o}var yae=()=>[{label:i("First section"),heading:i("Your *first* section."),body:i(`Write the opening paragraph here.
|
|
85
|
+
|
|
86
|
+
- Start a line with a dash for a bullet.
|
|
87
|
+
- Add as many as you like.`)},{label:i("Second section"),heading:i("Your *second* section."),body:i("Leave a blank line between paragraphs to start a new one.")}],Sae=NF;function h5e({tocTitle:e,sections:o,editing:t=!1,stickyTop:a=Sae}){let r=jy(o);if(r.length===0&&!t)return null;let n=r.length===0&&t?yae():r,s=Ky(n);return ln(vd,{as:"section",className:"relative z-[2] bg-bg",children:zy("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[240px_1fr] items-start gap-20 border-b border-line px-[var(--sf-site-gutter,40px)] py-20 max-[900px]:grid-cols-1 max-[900px]:gap-10 max-[900px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[900px]:py-[60px]",children:[ln(MF,{title:e,entries:n.map((l,d)=>({label:l.label||"Section",anchor:s[d]})),stickyTop:a}),ln("div",{className:"flex flex-col gap-16",children:n.map((l,d)=>zy("article",{id:s[d],className:"flex flex-col gap-[18px]",style:{scrollMarginTop:a},children:[zy("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:[Fg(d)," \xB7 ",ba(l.label||"Section")]}),l.heading&&ln("h2",{className:"mb-2 border-b border-line pb-[18px] font-heading2 text-[length:min(var(--size-headingMedium,clamp(28px,3.5vw,44px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[1.04] tracking-[-0.025em]",children:ba(l.heading)}),Vy(l.body??"").map((c,f)=>c.type==="ul"?ln("ul",{className:"flex max-w-[680px] list-none flex-col gap-2.5 pl-0",children:c.items.map((u,p)=>ln("li",{className:"relative pl-6 font-serif text-[length:var(--size-body,17px)] leading-[1.65] text-fg-dim before:absolute before:-top-0.5 before:left-1.5 before:text-[length:var(--size-body,24px)] before:leading-none before:text-accent before:content-['\xB7']",children:ba(u)},p))},f):ln("p",{className:"max-w-[680px] font-serif text-[length:var(--size-body,17px)] leading-[1.7] text-fg-dim",children:ba(c.text)},f))]},s[d]))})]})})}import{VIEW_DESKTOP_MIN as qy,VIEW_TABLET_MIN as I5e}from"efficient-easel/draw";var Nu=aa,HF=960,WF=aa;var GF={min:Nu,max:1600,step:10},$F="stackBelow";function y5e(e){if(!(typeof e!="number"||!Number.isFinite(e))&&!(e<GF.min||e>GF.max))return Math.round(e)}var wae=e=>`sf-stack-${e}`,Cae=e=>`sf-stack-${e}-gutter`,vae=e=>`sf-stack-${e}-outer`,Bs=e=>`${e-.02}px`;function S5e(e,o={}){let t=o.gutter!==!1,a=`.${wae(e)}`,r=`.${Cae(e)}`,n=`.${vae(e)}`,s=[];if(e>Nu){let l=`${a}>.sf-block-size,${a}>[data-easel-block]>[data-sf-part-host]>.sf-block-size`,d=Math.min(e,qy);s.push(`@media (min-width:${Nu}px) and (max-width:${Bs(e)}){${a}${a}{flex-direction:column}.sf-gap-overlap${a}{--sf-gap-overlap-eff:calc(var(--sf-gap-overlap) / 2)}${l}{width:min(var(--sf-bw-p,100%),100%);flex-grow:0}}`,`@media (min-width:${Nu}px) and (max-width:${Bs(d)}){.sf-gap-zone${a}{gap:var(--sf-gap-len-tablet,var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2)))}}`),e>qy&&s.push(`@media (min-width:${qy}px) and (max-width:${Bs(e)}){.sf-gap-zone${a}{gap:var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2))}}`)}return t&&s.push(`@media (max-width:${Bs(e)}){${r}${r}{padding-inline:min(24px,var(--sf-site-gutter,40px))}}`),t&&e<HF&&s.push(`@media (min-width:${e}px) and (max-width:${Bs(HF)}){${r}${r}{padding-inline:var(--sf-site-gutter,40px)}}`),e>WF&&s.push(`@media (min-width:${WF}px) and (max-width:${Bs(e)}){`+["top","bottom","left","right"].map(l=>`.sf-pad-${l}-phone:has(>${n}),.sf-pad-${l}-phone${n}{padding-${l}:var(--sf-pad-${l[0]}-phone)!important}`).join("")+"}"),s.join("")}var zF={top:80,bottom:80,topPhone:60,bottomPhone:60},UF=18,jF=18,KF=8,kae=10,Yy=e=>typeof e=="string"&&e.trim()!=="",VF=e=>jy(e.sections),Tae=e=>Vy(typeof e.body=="string"?e.body:"").map(o=>o.type==="ul"?{kind:"ul",text:o.items.map(t=>`- ${t}`).join(`
|
|
88
|
+
`)}:{kind:"p",text:o.text}),Xy={...gt(12),letterSpacing:.3,color:"accent",lineHeight:1.5},qF={textStyle:"body-1",fontRole:"accent",...M("body",17)},Pae=[pe("label",Xy),{...pe("title",Xy),when:(e,o)=>!Yy(o?.label)},{kind:"block",type:"Text",when:(e,o)=>!Yy(o?.label)&&!Yy(o?.title),props:{...G,text:"Section",_partStyles:{text:Xy}}},{kind:"group",name:"Heading",props:{..._,sectionPaddingBottom:KF,sectionPaddingBottomPhone:KF},parts:[{kind:"group",name:"Heading line",props:{..._,sectionBorder:{bottom:1},sectionPaddingBottom:jF,sectionPaddingBottomPhone:jF},parts:[{kind:"text",key:"heading",role:"heading",props:G,style:{textStyle:"heading-2",...$o("headingMedium",28,3.5,44),case:"upper",weight:500,lineHeight:1.04,letterSpacing:-.025}}]}]},{kind:"list",key:"body",name:"Body",flat:!0,of:Tae,parts:[{kind:"text",key:"text",props:Y,style:{...qF,lineHeight:1.7},when:(e,o)=>o?.kind==="p"},{kind:"text",key:"text",props:Y,style:{...qF,lineHeight:1.65,paragraphSpacing:kae},when:(e,o)=>o?.kind==="ul"}]}],Eae=900,Oae={name:"Document Text",boxProps:e=>({...Q,direction:"row",gap:80,gapPhone:40,[$F]:Eae,sectionBorder:{bottom:1},...de(e,zF)}),box:["anchor","sectionAccent",...Gn,...Object.values(io),...ye(zF)],parts:[{kind:"block",type:"Contents",props:e=>({title:e.tocTitle??"",sticky:!0,widthFit:"fixed",width:240,widthFitPhone:"fill"})},{kind:"group",name:"Sections",props:{..._,gap:64,gapPhone:64,widthFit:"fill"},parts:[{kind:"list",key:"sections",name:"Section",of:e=>VF(e),props:{..._,gap:UF,gapPhone:UF},item:(e,o,t)=>({props:{anchor:Ky(VF(t))[o]??`section-${o+1}`}}),parts:Pae}]}],reads:{tocTitle:"the Contents block's Heading"},drop:{...oe,stickyTop:"the Contents block draws DocBody's default (120px); 0 live nodes store it"}},YF={DocBody:Oae};var R5e="[--intro-edge:60px] max-[960px]:[--intro-edge:24px]",_ae="overlay",Aae=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function XF(e){return uo(Aae,_ae,e)}var L5e={desktop:40,mobile:45,min:20,max:80,step:5};function F5e(e,o){return`${typeof e=="number"?e:o}%`}var JF=(e,o)=>{let t=j(e),a=j(o);return{...t===void 0?{}:{size:t},...a===void 0?{}:{sizePhone:a}}},Rae=e=>XF(e.layout)==="stacked",ZF=e=>Math.min(Math.max(j(e.overlay)??60,0),100),Mu=e=>j(e)??100,Lae={textStyle:"heading-1",sizeToken:{...$o("headingLarge",48,7,96).sizeToken,pxPhone:36},weight:500,lineHeight:.95,letterSpacing:-.03},Fae=[pe("eyebrow",M("label",14)),...[!0,!1].map(e=>({kind:"text",key:"title",role:"heading",props:G,style:{...Lae,case:e?"upper":"none"},styleFrom:o=>JF(o.titleSizeDesktop,o.titleSizeMobile),when:o=>o.uppercase===!0===e})),{kind:"text",key:"body",props:{...Y,maxWidth:560},style:{textStyle:"body-1",...M("body",17,16),lineHeight:1.6,paragraphSpacing:24},styleFrom:e=>JF(e.bodySizeDesktop,e.bodySizeMobile)},{kind:"group",name:"Button",props:{..._,align:"start",sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:co}]}],QF=e=>`${e}: a Button block has no colour of its own (it follows the site Button colour, as the old fallback did); 0 of 3 live US nodes store one (CLI read, 2026-11-03)`,Bae=()=>({name:"Scroll-Over Text",skip:e=>Rae(e)?"the stacked layout: its words row's height floor (`copyShare*`) and the header subtraction have no Box setting; 0 live US nodes":void 0,boxProps:e=>({...Q,direction:"column",justify:"center",align:"start",gap:24,gapPhone:24,share:"content",...Ri,placement:"left",darken:ZF(e),darkenStyle:"even",sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:Mu(e.heightDesktop),sectionHeightModePhone:"fixed",sectionHeightUnitPhone:"%",sectionHeightValuePhone:Mu(e.heightMobile)}),box:[...ae.filter(e=>!String(typeof e=="string"?e:e[0]).startsWith("sectionHeight")),["imageSrc","bgImage"],["imageSrcMobile","bgImagePhone"],["overlay","darken",(e,o)=>ZF(o)],["heightDesktop","sectionHeightValue",e=>Mu(e)],["heightMobile","sectionHeightValuePhone",e=>Mu(e)]],parts:Fae,drop:{uppercase:"not a value of its own: it picks the heading part \u2014 Case Upper when on, None (as typed) when off",layout:"not a value of its own: the overlay layout is this tree; a stacked node is skipped (`skip`)",copyShareDesktop:"the stacked layout's words-row floor, read only there; a stacked node is skipped",copyShareMobile:"the stacked layout's words-row floor, read only there; a stacked node is skipped",sticky:"the old pin never held on a live page (its theme wrapper is as tall as the section; decision 3, 2026-10-14), so the Box does not pin",titleSizeDesktop:"read by the heading part's `styleFrom`: a number is its Size, `inherit` and unset follow the token",titleSizeMobile:"read by the heading part's `styleFrom`: a number is its phone Size, `inherit` and unset follow the token",bodySizeDesktop:"read by the words part's `styleFrom`: a number is its Size, `inherit` and unset follow the token",bodySizeMobile:"read by the words part's `styleFrom`: a number is its phone Size, `inherit` and unset follow the token",buttonColor:QF("Button color"),buttonTextColor:QF("Button text color"),...oe}}),tB={textStyle:"heading-2",...M("headingMedium",56,36),weight:400,lineHeight:1.05,letterSpacing:-.03},Dae={textStyle:"body-1",...M("body",16),lineHeight:1.7},aB=e=>({kind:"text",key:"body",props:{...Y,maxWidth:520},style:{...Dae,paragraphSpacing:e}}),Wu={top:0,bottom:0,topPhone:0,bottomPhone:0},Jy=(e,o)=>typeof e.sectionHeightMode=="string"&&e.sectionHeightMode!=="auto"?{}:{sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:o,sectionHeightModePhone:"auto"},Nae=(e,o)=>{let t=Jy(e,o);return Object.keys(t).length?t:{sectionHeightMode:e.sectionHeightMode,...e.sectionHeightValue===void 0?{}:{sectionHeightValue:e.sectionHeightValue},...e.sectionHeightUnit===void 0?{}:{sectionHeightUnit:e.sectionHeightUnit},sectionHeightModePhone:"auto"}},rB={boxShapePhone:"landscape"},nB="needs a black-and-white setting on a Box picture (the old photograph followed it, else the site's Photography); 0 live US nodes store it (CLI read, 2026-11-03)",Mae=(e,o)=>({[e]:o,[`${e}Phone`]:o}),Hae={textStyle:"heading-2",...M("headingMedium",40),weight:500,case:"none",lineHeight:1,letterSpacing:-.02},eB=e=>(Array.isArray(e.stats)?e.stats:[]).filter(o=>o&&(String(o.value??"").trim()!==""||String(o.label??"").trim()!=="")),Wae=()=>({name:"Brand Text",boxProps:(e,o)=>({...Q,...Go("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...de(e,Wu),...Jy(e,100)}),box:[...ae,...ye(Wu)],parts:[{kind:"group",name:"Words",props:(e,o)=>({..._,justify:"center",gap:28,gapPhone:28,sectionBorder:Li({right:1}),sectionBorderPhone:Li({}),...Ri,sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60,sectionPaddingRight:Os(o)}),parts:[pe("eyebrow",M("label",14)),{kind:"text",key:"heading",role:"heading",props:G,style:{...tB,case:"none"},mark:"accentItalic"},aB(28),{kind:"group",name:"Stats",props:{..._,sectionPaddingTop:16,sectionPaddingTopPhone:16},parts:[{kind:"group",name:"Figures",props:e=>({..._,direction:"row",share:"equal",gap:24,gapPhone:24,maxWidth:520,phoneRow:Math.min(Math.max(eB(e).length,1),3),...Mae("sectionBorder",Li({top:1})),sectionPaddingTop:28,sectionPaddingTopPhone:28}),parts:[{kind:"list",key:"stats",name:"Stat",of:eB,props:{..._,gap:4,gapPhone:4},parts:[{kind:"text",key:"value",props:en,style:Hae},pe("label",{...M("label",13),color:"labels",letterSpacing:.2})]}]}]}]},Xb("Picture","imageSrc",rB)],drop:{...oe,grayscale:nB,...ce}}),Hu=e=>{let o=e.textAlign==="center"||e.textAlign==="right"?{align:e.textAlign}:{},t=e.textAlignPhone==="left"||e.textAlignPhone==="center"||e.textAlignPhone==="right"?{alignPhone:e.textAlignPhone}:{};return{...o,...t}},Gae=e=>e.textAlign==="center"?"center":e.textAlign==="right"?"end":"stretch",$ae=e=>Math.min(Math.max(j(e.overlay)??60,0),100),sB=e=>typeof e=="string"&&e.trim()!=="",zae={...co,align:"center",alignPhone:"center",buttonFillOpacity:0,buttonBorder:{width:1},buttonPaddingTop:16,buttonPaddingRight:28,buttonPaddingBottom:16,buttonPaddingLeft:28,buttonPaddingTopPhone:12,buttonPaddingRightPhone:20,buttonPaddingBottomPhone:12,buttonPaddingLeftPhone:20},oB=e=>({...Xb("Picture","imageSrc",(o,t)=>({...sB(o.imageSrc)?{darken:40,darkenStyle:"even"}:{},placement:"center",...rB,sectionBorder:Li(e?{left:1}:{right:1}),...lB(e?"left":"right",Os(t))}),[{kind:"button",key:"imageBtnText",href:"imageBtnHref",variant:"ghost",props:zae,style:{...gt(13,12),letterSpacing:.18}}]),when:o=>o.reverse===!0===e}),lB=(e,o)=>{let t=Math.max(60-o,0);return{sectionPaddingLeft:e==="left"?60:t,sectionPaddingRight:e==="right"?60:t}},Uae={kind:"group",name:"Words",props:(e,o)=>{let t=e.reverse===!0;return{..._,justify:"center",align:Gae(e),placement:e.textAlign==="center"?"center":e.textAlign==="right"?"right":"left",...Nae(e,72),gap:24,gapPhone:24,...sB(e.textBgSrc)?{darken:$ae(e),darkenStyle:"even"}:{},...Ri,sectionPaddingTop:100,sectionPaddingBottom:100,...lB(t?"right":"left",Os(o)),sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60}},box:[["textBgSrc","bgImage"]],parts:[{...pe("eyebrow",M("label",14)),styleFrom:Hu},{kind:"text",key:"title",role:"heading",props:G,style:tB,styleFrom:e=>({case:e.uppercase===!0?"upper":"none",...Hu(e)})},{...aB(24),styleFrom:Hu},{kind:"group",name:"Button",props:{..._,sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:e=>{let o=Hu(e);return{...co,...o.align?{align:o.align}:{},...o.alignPhone?{alignPhone:o.alignPhone}:{}}}}]}]},jae=()=>({name:"Image & Text Split",boxProps:(e,o)=>({...Q,...Go("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...de(e,Wu),...Jy(e,72)}),box:[...ae,...ye(Wu)],parts:[oB(!1),Uae,oB(!0)],drop:{reverse:"not a value of its own: it picks the order \u2014 the Picture Box first, or after the Words",uppercase:"not a value of its own: the heading part's Case \u2014 Upper when on, None (as typed) when off",textAlign:"read by each words part (its Align) and the Words Box (its Align); left writes nothing, as the old emitted no class",textAlignPhone:"read by each words part as its phone Align",textAlignTablet:"not carried to the words part's own tablet Align (`alignTablet`) yet: no old node stores it (new with the Tablet view's Text alignment row, 0 stored on the US sites 2026-11-06), so nothing moves",overlay:"read by the Words Box: its Darken over the words picture (60 when unset); no picture, no wash",grayscale:nB,...oe,...ce}}),iB={IntroBleed:Bae(),Manifesto:Wae(),Split:jae()};var fB={headPlacement:void 0},dB={top:0,bottom:0,topPhone:0,bottomPhone:0},Kae=()=>({name:"Form",ownBoxConverts:!0,boxProps:e=>({...Q,direction:"column",...de(e,dB)}),box:[...ae,...ye(dB)],parts:[{kind:"core",keep:"rest",props:fB}],drop:{...oe,...ce}}),cB={top:120,bottom:120,topPhone:60,bottomPhone:60},Vae=()=>({name:"Photo Submission Form",boxProps:e=>({...Q,direction:"column",gap:24,...de(e,cB)}),box:[...ae,...ye(cB)],parts:[pe("eyebrow"),{kind:"text",key:"title",role:"heading",props:G,style:{textStyle:"heading-2"},mark:"accentItalic"},{kind:"text",key:"body",role:"body",props:Y},{kind:"core",as:"Form",keep:["formSlug"],rename:{buttonText:"submitText",consent:"finePrint"},props:fB}],skip:e=>e.layout==="boxes"?`its words are in its two SubmitBox regions (layout "boxes"); this row reads only the section's own words`:void 0,drop:{...oe,...ce,layout:'the marker of the two-region drawing; a node that has it is skipped (above), so here it is never "boxes"',boxes:'the SubmitBox regions, drawn only under layout "boxes", which this row skips (above); without that marker they draw nothing'}}),pB={Form:Kae(),SubmitBuild:Vae()};import{phoneKey as uB}from"efficient-easel/draw";var hB=1.5,mB={textStyle:"body-1",...M("body",15),lineHeight:hB},qae={...Oo,...M("label",12),letterSpacing:.12,lineHeight:hB},xB=()=>({type:V,props:{..._,direction:"row",justify:"between",align:"start",gap:16,gapPhone:16,share:"content",phoneRow:2,[uB("share")]:"content",[uB("wrap")]:"nowrap",...Xe(12,0),sectionBorder:{top:1},name:"Item"},slots:{[se]:[{type:V,props:{..._,gap:0,gapPhone:0,name:"Item words"},slots:{[se]:[ie("label",{...G,tag:"p"},mB),ie("meta",{...Y,tag:"p"},qae)]}},ie("amount",{...G,tag:"p"},mB)]}});var Yae=()=>({name:"Order Table",boxProps:()=>({...Q,direction:"column"}),box:[...ae],parts:[{kind:"core",keep:"rest",headless:!0,slots:{[eo]:[xB()]}}],drop:{...oe}}),gB={OrderSummary:Yae()};import{phoneKey as Xae}from"efficient-easel/draw";var Q5e={eyebrow:"By the numbers",title:`A picture worth
|
|
89
|
+
*a thousand rows.*`},IB=["eyebrow","title","body","caption"],e6e={label:"Chart",defaultProps:{eyebrow:"",title:"",body:"",items:[],caption:"",chartStyle:"bars",valueSuffix:""}};var bB=["eyebrow","title","body"],t6e={label:"Mockup Card",defaultProps:{eyebrow:"",title:"",body:"",variant:"spec-card",cardHeader:"",badge:"",cardTitle:"",cardSubtitle:"",pills:[],tiles:[],rows:[],button:"",footnote:"",col1Title:"",col1Cards:[],col2Title:"",col2Cards:[],col3Title:"",col3Cards:[],col4Title:"",col4Cards:[],barsHeading:"",bars:[],termLines:[],urlText:"",heroTitle:"",heroButton:"",products:[],align:"right"}};var wB={top:76,bottom:76,topPhone:76,bottomPhone:76},CB=()=>({kind:"group",name:"Words",props:{..._,gap:20,gapPhone:20},parts:[{kind:"group",name:"Chip row",props:{..._,direction:"row",phoneRow:2,[Xae("share")]:"content"},parts:[ru("eyebrow")]},{kind:"text",key:"title",role:"heading",props:G,style:{textStyle:"heading-2",...M("headingMedium",44,32),weight:500,case:"upper",lineHeight:1.04,letterSpacing:-.02}},{kind:"text",key:"body",props:{...Y,maxWidth:435},style:{textStyle:"body-1",...M("body",15),lineHeight:1.625}}]}),vB=(e,o)=>{let t=Ya(o)?.themes,a=t?ow(t,tn(e,o)):-1;return a>=0?a:e},kB=e=>(o,t)=>({...Q,sectionAccent:vB(o.sectionAccent??0,t),direction:"row",align:"center",gap:56,gapPhone:56,share:e,sectionBorder:{top:1,bottom:1},...de(o,wB)}),TB=[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>vB(e,t)],...ye(wB)],Jae=()=>({name:"Chart",boxProps:kB([42]),box:TB,parts:[CB(),{kind:"group",name:"Chart",props:{..._,gap:16,gapPhone:16},keepEmpty:!0,parts:[{kind:"core",keep:"rest",props:Es},pe("caption",{color:"muted",...M("label",10),letterSpacing:.14})]}],pressKeepsEmpty:[...IB],drop:{...oe,...ce}}),yB=e=>e.align==="left",SB={kind:"group",name:"Card",keepEmpty:!0,props:_,parts:[{kind:"core",keep:"rest",props:Es}]},Zae=()=>({name:"Mockup Card",boxProps:kB("equal"),box:TB,parts:[{...SB,when:yB},CB(),{...SB,when:e=>!yB(e)}],pressKeepsEmpty:[...bB],drop:{...oe,...ce}}),PB={Chart:Jae(),Mockup:Zae()};var Qae={title:"Back online in",zeroText:"Almost done. Back very soon."},EB=["title"],p6e={label:"Countdown",defaultProps:{...Qae,endsAt:"",showUnits:!0}};var OB={top:48,bottom:48,topPhone:48,bottomPhone:48},ere={...pe("title",{...tl(12),color:"muted"}),props:{...G,align:"center"}},ore=()=>({name:"Countdown",boxProps:e=>({...Q,direction:"column",align:"center",gap:16,gapPhone:16,...de(e,OB)}),box:[...ae,...ye(OB)],parts:[ere,{kind:"core",keep:"rest",props:Es}],pressKeepsEmpty:[...EB],drop:{...oe,...ce}}),_B={top:80,bottom:80,topTablet:60,bottomTablet:60,topPhone:60,bottomPhone:60},tre=()=>({name:"Feature Banner",boxProps:e=>({...Q,direction:"column",sectionBorder:{bottom:1},...de(e,_B)}),box:[...ae,...ye(_B)],parts:[{kind:"core",keep:"rest",props:Es}],drop:{...oe,...ce}}),AB={Countdown:ore(),FeaturedCover:tre()};var RB={top:80,bottom:80,topPhone:60,bottomPhone:60},are=()=>{let e=gu("FitmentFinder");return{name:"Fitment Form",boxProps:o=>({...Q,direction:"column",gap:uu[As("FitmentFinder")],...de(o,RB)}),box:[...ae,...ye(RB)],parts:[nt("FitmentFinder"),{kind:"block",type:"FitmentPicker"},{kind:"block",type:"StockFitment"},{kind:"button",key:"ctaText",href:"ctaHref"}],skip:o=>o.layout==="bar"?"the one-row shape goes to the shop on the fourth pick and draws no head; the Fitment picker block never leaves the page":void 0,...Object.keys(e).length?{reads:e}:{},drop:{...oe,...ce,layout:'the section shape; "bar" is skipped (above), so here it is the stacked shape this Box draws'}}},LB={FitmentFinder:are()};var FB={top:72,bottom:72,topPhone:72,bottomPhone:72},rre={name:"Editorial Text",boxProps:e=>({...Q,direction:"column",gap:28,gapPhone:28,sectionBorder:{top:1},...de(e,FB)}),box:[["topBorder","sectionBorder",e=>e===!1?void 0:{top:1}],...ae,...ye(FB)],parts:[nt("Prose"),{kind:"text",key:"body",props:Y,style:{textStyle:"body-1",...M("body",16),lineHeight:1.7,paragraphSpacing:18}}],drop:{...oe,...ce,headPlacement:"needs a row per head placement: an own-box Prose draws no head (its words sit in a Section Header above it), the row always draws the head. 0 of 123 live nodes store it (the live export, 2026-10-24)"}},BB={buttonPaddingTop:20,buttonPaddingBottom:20,buttonPaddingLeft:28,buttonPaddingRight:28},DB=(e,o)=>o?.variant==="primary",NB=(e,o)=>({kind:"list",key:"buttons",name:"Button",flat:!0,when:e,parts:[{kind:"button",key:"label",href:"href",when:DB,variant:"primary",style:{letterSpacing:.3},props:{...co,...BB,...o}},{kind:"button",key:"label",href:"href",when:(t,a)=>!DB(t,a),variant:"ghost",style:{letterSpacing:.3},props:{...co,...BB,...o}}]}),Gu=e=>qe(e.title),nre={name:"Call-to-Action Heading",boxProps:e=>({...Q,direction:"row",align:"center",justify:Gu(e)?"between":"end",gap:60,gapPhone:60,share:"content",sectionBorder:{bottom:1},...Lo(e,"TitleWithButtons")}),box:[...ae,...Za("TitleWithButtons")],parts:[{kind:"group",name:"Title",props:{..._,maxWidth:1e3,widthFitPhone:"fill"},parts:[{kind:"text",key:"title",role:"heading",props:G,style:{textStyle:"heading-1",...$o("headingLarge",48,7,108),case:"upper",lineHeight:.94,letterSpacing:-.035}}]},{kind:"group",name:"Buttons",props:e=>({..._,gap:14,gapPhone:14,widthFitPhone:"fill",...Gu(e)?{minWidth:280,minWidthPhone:0}:{}}),parts:[NB(Gu,{widthFit:"fill",iconPosition:"end"}),NB(e=>!Gu(e),{})]}],drop:{...oe,buttonsAlign:"moves the buttons only when there is no heading (4 of 128 live nodes), where the Box puts them at the end. 0 of 128 live nodes store it (the live export, 2026-10-24)",buttonsAlignPhone:"the phone's own side of `buttonsAlign`, read only with no heading; no old node stores it (it is new with the Phone view's Block alignment row), so nothing moves",buttonsAlignTablet:"the tablet's own side of `buttonsAlign`, read only with no heading; no old node stores it (it is new with the Tablet view's Block alignment row, 0 stored on the US sites 2026-11-05), so nothing moves"}};function sre(e){let{siteGutter:o,siteGutterPhone:t}=e.site??{},a=Os(e),r=Math.min(20,Qc(t)??ef(o));return{sectionPaddingLeft:a,sectionPaddingRight:a,sectionPaddingLeftPhone:r,sectionPaddingRightPhone:r}}var MB={top:40,bottom:64,topPhone:24,bottomPhone:36},lre={name:"Section Header",boxProps:(e,o)=>({...Q,direction:"column",gap:0,...de(e,MB),...sre(o)}),box:[...ae,...ye(MB)],parts:[nt("SectionHeader")],drop:{...oe,...ce,headStyle:"needs a row per head look: the row draws the standard look; the editorial, simple, statement, natural and essay looks are other layouts. 0 of 69 live nodes store it (the live export, 2026-10-24)",eyebrowLook:"read only by the simple, statement, natural and essay looks, which this row does not draw. 0 of 69 live nodes store it",rowGap:"read only by the natural look, which this row does not draw. 0 of 69 live nodes store it",descriptionSize:"read only by the natural look, which this row does not draw. 0 of 69 live nodes store it",numStyle:"Solid (the default; 4 of 69 live nodes store it) IS the eyebrow Text the row draws; Outlined (0 live) needs an outlined-number text look"}},HB={..._,direction:"row",share:[67],gap:30},WB={..._,sectionPaddingLeft:30,sectionPaddingLeftPhone:0},GB=(e,o,t)=>({kind:"group",name:e,props:o,parts:[t]}),ire={name:"Lead Text",boxProps:e=>({...Q,direction:"column",gap:40,gapPhone:40,sectionBorder:{bottom:1},...Lo(e,"ParagraphsA")}),box:[...ae,...Za("ParagraphsA")],parts:[{kind:"group",name:"Numbers",props:{...HB,gapPhone:24,sectionBorder:{bottom:1},sectionPaddingBottom:40,sectionPaddingBottomPhone:40},parts:[{kind:"group",name:"Eyebrow",props:{..._,sectionPaddingTop:5,sectionPaddingBottom:1,sectionPaddingTopPhone:5,sectionPaddingBottomPhone:1},parts:[pe("eyebrow",{color:"labels",...M("label",12),letterSpacing:.24})]},GB("Stats column",_,{kind:"group",name:"Stats",props:{...WB,gap:0,gapPhone:0},parts:[{kind:"list",key:"stats",name:"Stat",flat:!0,parts:[Ai("value","label",{...M("label",13),letterSpacing:.18,lineHeight:1.8})]}]})]},{kind:"group",name:"Words",props:{...HB,gapPhone:28},parts:[{kind:"group",name:"Lead",props:_,parts:[{kind:"group",name:"Measure",props:{..._,maxWidth:780},parts:[{kind:"text",key:"lead",props:G,style:{textStyle:"heading-3",...M("headingSmall",22,20),weight:400,case:"none",lineHeight:1.45,letterSpacing:-.005}}]}]},GB("Note column",{..._,justify:"end",widthFit:"fill"},{kind:"group",name:"Founders",props:{...WB,gap:8,gapPhone:8},parts:[{kind:"group",name:"Note",props:{..._,gap:6,gapPhone:6},parts:[{kind:"text",key:"foundersHeading",props:G,style:{textStyle:"body-1",fontRole:"heading",...M("body",18,16),weight:500,letterSpacing:-.01,lineHeight:1.7}},{kind:"text",key:"foundersBody",props:Y,style:{textStyle:"body-5",fontRole:"heading",...M("body",14,12),lineHeight:1.7}}]},pe("attribution",{...M("label",12,10),letterSpacing:.24,lineHeight:1.7})]})]}],drop:{...oe}},$B={top:24,bottom:24,topPhone:24,bottomPhone:24},dre={name:"Banner",boxProps:e=>({...Q,direction:"column",gap:0,...de(e,$B)}),box:[...ae,"contained",...ye($B)],parts:[{kind:"group",name:"Card",keepEmpty:!0,props:{..._,gap:28,placement:"top-left",darken:60,darkenStyle:"even",sectionBorder:{width:1},...Xe(64,40,40,24)},box:[["imageSrc","bgImage"],["overlay","darken",e=>Math.min(Math.max(j(e)??60,0),100)]],parts:[{kind:"group",name:"Words",props:{..._,gap:20},parts:[pe("eyebrow"),{kind:"text",key:"title",role:"heading",props:{...G,maxWidth:680},style:{weight:500,lineHeight:1.05,letterSpacing:-.03,case:"none"}},{kind:"text",key:"body",props:{...Y,maxWidth:680},style:{textStyle:"body-1",lineHeight:1.6},was:{size:16}}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:co}]}],drop:{...oe,...ce}},Zy={Prose:rre,TitleWithButtons:nre,SectionHeader:lre,ParagraphsA:ire,Banner:dre};function zB(){Io(Zy),Io(eL),Io(mL),Io(UR),Io(kL),Io(eF),Io(hF),Io(bF),Io(LF),Io(YF),Io(iB),Io(pB),Io(gB),Io(LB),Io(PB),Io(AB)}var fre=["FooterPayment"];function UB(e,o){let{id:t,...a}=e.props;for(let[r,n]of Object.entries(a))cre(n)&&(a[r]=n.map(s=>UB(s,o)));return o(e.type,a)}var Xi=(e,o)=>{if(!fre.includes(e.type))return null;zB();let t=Xa(e.type);return t?Ts({type:e.type,props:{...e.props}},t).nodes.map(a=>UB(a,o)):null};function jB(){let{appState:e,dispatch:o,config:t}=gre(f=>f),{readOnly:a}=bre(),[r,n]=mre(!1),s=e.data.content;if(a||s.some(f=>f.type===Ae))return null;let l=s.find(f=>f.type===He)??null,d=(f,u)=>hre(t,f,u),c=()=>{let f=Pi(l,d,xre(Ae),Xi);o({type:"setData",data:u=>({...u,content:[...ec(u.content,f)]}),recordHistory:!0}),n(!1)};return $u(Ire,{tone:"info",title:i("This footer uses the old layout"),action:r?ure(pre,{children:[$u(Qy,{variant:"primary",size:"sm",onClick:c,children:i("Switch now")}),$u(Qy,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:i("Cancel")})]}):$u(Qy,{variant:"secondary",size:"sm",onClick:()=>n(!0),children:i("Switch to Box footer")}),children:i("Build this footer out of Boxes and blocks, like a page: the same menus, signup, social links and logo, with the copyright as a Legal Line. Your current footer is kept.")})}import{jsx as eS,jsxs as yre}from"react/jsx-runtime";import{InspectorUpLevel as KB}from"efficient-easel/chrome";function VB({nodeId:e,part:o,sectionName:t,onUpToSection:a}){let{select:r}=ip(),n=ws(e,o,"picture");return yre("div",{children:[o!=="media"?eS(KB,{inline:!0,name:i(jr.media),onSelect:()=>r(si(e,"media"))}):eS(KB,{inline:!0,name:i(t),onSelect:a}),eS(Ot,{part:o,motion:n,itemWord:i(jr[o])})]})}import{HintsToggle as Fre,SettingsSwitch as Bre,hintsFoldClass as Dre}from"efficient-easel/panel";import{useHints as Nre}from"efficient-easel/screen/lib/hints";var QB={kind:"header"},aS={kind:"website"},eD={kind:"website",tab:ms,revealPageGroup:!0},oD={kind:"chat"},tD={kind:"social"},Ji="Part";function Mre(e){return i("Part of {name}",{name:i(e)})}function Hre(e,o,t){let a=e.describeNode(o);return{name:t,kindLabel:a?Mre(a.label):i(Ji)}}function Wre(e){switch(e){case"Header":return{title:i("Header settings belong to a website."),own:i("Each website created from this template sets its own header afterwards.")};case"Appearance":return{title:i("Appearance settings belong to a website."),own:i("Each website created from this template sets its own appearance afterwards.")};case"Live chat":return{title:i("Live chat settings belong to a website."),own:i("Each website created from this template sets its own live chat afterwards.")};case"Social link":return{title:i("Social link settings belong to a website."),own:i("Each website created from this template sets its own social link afterwards.")};default:return{title:i("{what} settings belong to a website.",{what:e}),own:i("Each website created from this template sets its own {what} afterwards.",{what:e.toLowerCase()})}}}function aD({what:e}){let o=Wre(e);return ar("div",{className:"sf-note",children:[Se("p",{children:Se("strong",{children:o.title})}),ar("p",{children:[i("A template is a blueprint \u2014 it has no website of its own, so there is nothing here to change.")," ",o.own]})]})}function tS(e){let o=ni[e];return{name:jr[e],kindLabel:Ji,icon:o,head:(t,a)=>{if(t.kind!==o)return null;let r=a.describeNode(t.nodeId);if(!r)return null;let n=ZB({name:i(cp(e,r.props)),tier:"part",of:i(r.label)},{partOf:({name:s})=>i("Part of {name}",{name:s})});return{name:n.name,kindLabel:n.kind}},render:(t,a)=>t.kind===o?Se(VB,{nodeId:t.nodeId,part:e,sectionName:a.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>a.onSelectNode(t.nodeId)}):null}}var Gre={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,o)=>{let t=o.hostPanels?.header;return t?Se(t,{placeholderMode:o.capabilities.placeholderFrames,tokenRef:o.tokenRef,siteId:o.siteId,websiteName:o.websiteName,onOpenWebsiteSettings:o.onOpenWebsiteSettings,onAuthExpired:()=>o.notifyParent("storefront-editor:auth-expired")}):null}},website:{name:"Appearance",kindLabel:"Site settings",icon:"website",render:(e,o)=>Se(Qf,{initialTab:e.tab,revealPageGroup:e.revealPageGroup,themeFromDocument:!o.capabilities.hasSiteTheme,tokenRef:o.tokenRef,siteId:o.siteId,onNotify:o.onNotify},e.tab??"")},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>Se(B_,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>Se(G_,{unavailable:Se(aD,{what:"Social link"})})},ticker:{name:ti,kindLabel:Ji,icon:"ticker",head:(e,o)=>e.kind==="ticker"?Hre(o,e.heroId,i(ti)):null,render:e=>Se(Q1,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:tS("media"),heroImage:tS("image"),heroImage2:tS("image2"),part:{name:Ji,kindLabel:Ji,icon:"Text",head:(e,o)=>{if(e.kind!=="part")return null;let t=o.describeNode(e.nodeId);if(!t)return null;let{key:a,row:r}=Tt(e.propKey),n=r?as(t.fields[a],r):t.fields[a],s=Wp(t.type),l=s?il(s,e.propKey):null,d=s&&l?s[l].label:iA[e.propKey],c=d?i(d):Q0(i(Rg(Pf(n??{},a))),r),f=ZB({name:c,tier:"part",of:i(t.label)},{partOf:({name:u})=>i("Part of {name}",{name:u})});return{name:f.name,kindLabel:f.kind}},render:(e,o)=>e.kind==="part"?Se(EA,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},$re=new Set(["header","website","chat"]);function zre(e,o){if(e==="selection")return null;let t=Gre[e];return $re.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>Se(aD,{what:t.name})}:t}function rD({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onOpenPageStyles:a,onSelectNode:r,hideNodeActions:n=!1,onNotify:s,onHidePanel:l}){let{capabilities:d,tokenRef:c,notifyParent:f,currentSlug:u,siteId:p,runAuthed:x,readOnly:g,navigate:I}=_re(),{rows:k}=Ql(),S=k?.find(ne=>ne.slug===u)??null,C=wre(),b=Object.keys(C.fields).some(ne=>!ne.startsWith("_")&&!Jl.includes(ne)),{websiteName:v}=xe(),T=Are({readOnly:g}),{select:F}=Rre(),{selectedItem:P,getItemById:D,getSelectorForId:O,config:R,appState:N}=Sre(ne=>ne),y=Ere(R,P?{type:P.type,props:P.props}:null),A=P?nE(y??R.components[P.type]?.fields,P.props):[],L=ne=>R.components[ne]?.label??ne,H=P?O(P.props.id):void 0,X=zre(e.kind,d),q=Ore(),U={capabilities:d,tokenRef:c,hostPanels:q.chrome?.panels,describeNode:ne=>{let Fe=D(ne);if(!Fe)return null;let _e=R.components[Fe.type];return{type:Fe.type,label:_e?.label??Fe.type,fields:_e?.fields??{},props:Fe.props??{}}},siteId:p,websiteName:v??null,notifyParent:f,onNotify:s,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},ge=X?.head?.(e,U)??null,te=O_({kind:S?.kind,pageName:S?.label}),Re=ge?.name??(X?i(X.name):P?i(L(P.type)):te.name),We=ge?.kindLabel??(X?i(X.kindLabel):P?H&&H.zone!==JB?i("Block"):i("Section"):te.kindLabel),Pe=X?X.icon:P?P.type:"page",Ie=X?null:P?R.components[P.type]?.fields??null:R.root?.fields??null,Ee=Ie?u1(Ie):2,Ge=oS(e)&&P?bi(P.type):null,to=!!P&&!!H&&H.zone===JB&&P.type!==He&&P.type!==Lre,So=eu(N?.data,P),he=()=>{So||H&&T.duplicateComponent(H.zone,H.index)},Ke=()=>{H&&(T.removeComponent(H.zone,H.index),T.select(null))},Oe=P?R.components[P.type]?.defaultProps?.previewHover:void 0,ve=oS(e)&&!!P&&!!H&&Oe!==void 0,Ye=ve&&P.props.previewHover===!0,Ft=()=>{!P||!H||T.replaceComponent(H.zone,H.index,{...P,props:{...P.props,previewHover:!Ye}})},{shown:Fo,setShown:W}=Nre(),Le=!!(X||P||b);return ar("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right ${Dre(Fo)}`.trim(),children:[Se(kre,{icon:Se(Kr,{type:Pe,size:15}),name:Re,kind:We,actions:!n&&oS(e)&&P&&P.type!==He?ar(qB,{children:[Se(YB,{label:i("Duplicate section"),title:So??void 0,disabled:So!==null,onClick:he,children:Se(Tre,{size:15})}),to&&d.hasSiteSettings&&Se(WA,{node:P,currentSlug:u,siteId:p??void 0,tokenRef:c,runAuthed:x,onNotify:s}),Se(YB,{label:i("Remove section"),danger:!0,onClick:Ke,children:Se(Pre,{size:15})}),l?Se(XB,{side:"right",onHide:l,divider:!0}):null]}):l?Se(XB,{side:"right",onHide:l}):void 0}),ve&&ar("div",{className:"sf-preview-pin",children:[ar("div",{className:"sf-preview-pin-text",children:[Se("span",{className:"sf-preview-pin-label",children:i("Preview hover state")}),Se("span",{className:"sf-preview-pin-hint",children:i("not shown live")})]}),Se(Bre,{checked:Ye,onChange:Ft,ariaLabel:i("Preview hover state")})]}),Se(YP,{tier:Ee,children:ar("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[X?X.render(e,U):P?ar(qB,{children:[P.type===He&&d.hasSiteSettings&&Se(jB,{}),Se(mT,{children:Se(Ot,{entries:Se(GA,{parts:A,heading:!1,onOpen:ne=>F(kf(P.props.id,ne))}),entryCount:zb(A).length,itemWord:Re})}),Ge&&Se(Up,{source:Ge,slug:Cs(P?.props),menuId:Mp(P?.props)})]}):b?Se(Ot,{omit:Jl}):Se(vre,{variant:"none",icon:!1,message:i("Select a section or block to edit it."),children:a&&Se(Cre,{variant:"secondary",onClick:a,children:i("This page")})}),Le&&Se(Fre,{shown:Fo,onChange:W,label:i("Show hints")})]})})]})}import{jsx as m,jsxs as E,Fragment as dD}from"react/jsx-runtime";var so={dark:"var(--sf-thumb-bar-dark)",soft:"var(--sf-thumb-bar-light)",accent:"var(--sf-thumb-accent)",tint:"var(--sf-thumb-accent-tint)",block:"var(--sf-thumb-block)",line:"var(--sf-thumb-border)",card:"var(--sf-thumb-card)"},rS="repeating-linear-gradient(135deg,var(--sf-thumb-hatch1) 0,var(--sf-thumb-hatch1) 5px,var(--sf-thumb-hatch2) 5px,var(--sf-thumb-hatch2) 10px)";function $({w:e,h:o,tone:t="dark",r:a=2,style:r}){return m("div",{style:{width:e,height:o,borderRadius:a,background:so[t],flex:"none",...r}})}var Ure={Hero:"hero",HeroSingle:"herosingle",IntroBleed:"intro",Collections:"collections",AlloyWheelsListing:"wheelslisting",CatalogFilterBar:"catalogfilterbar",ProductGrid:"productgrid",FitmentFinder:"fitmentfinder",Gallery:"gallery",GalleryB:"gallerygrid",SpecStrip:"specstrip",ProductHero:"producthero",SpecTable:"spectable",ProcessSteps:"processsteps",DetailRows:"detailrows",FitmentTable:"fitmenttable",CompatibleTyres:"compatibletyres",TyreSizes:"tyresizes",TyreFitment:"tyrefitment",EuTyreLabel:"eutyrelabel",RelatedProducts:"productgrid",BundleOffer:"bundleoffer",OrderSummary:"ordersummary",DeliveryOptions:"deliveryoptions",PaymentBadges:"paymentbadges",CheckoutCTA:"checkoutcta",Manifesto:"manifesto",ParagraphsA:"paragraphs",Prose:"prose",StatsParagraph:"statsparagraph",Chart:"chart",Mockup:"mockup",Footprint:"footprint",Timeline:"timeline",TimelineTrack:"timelinetrack",TitleWithButtons:"titlewithbuttons",Split:"split",Cards:"cards",FAQ:"faq",Testimonials:"testimonials",Masthead:"masthead",Breadcrumb:"breadcrumb",CategoryBar:"categorybar",FeaturedCover:"featuredcover",LongRead:"longread",ArticleBody:"articlebody",Series:"series",Subscribe:"subscribe",SubscribeBlogs:"subscribe",Events:"events",DocMasthead:"docmasthead",DocTabs:"doctabs",DocBody:"docbody",DocMetaCards:"docmetacards",Banner:"banner",Stats:"stats",KeyFeatures:"keyfeatures",Logos:"logos",Ticker:"ticker",Countdown:"countdown",Reviews:"reviews",SubmitBuild:"submitbuild",ReviewForm:"reviewform",Form:"form",AppointmentBooking:"appointmentbooking",ContactRouting:"contact",ContactLocations:"contactlocations",CityPictures:"citypictures",CityMaps:"citymaps",Header:"header",Footer:"footer",SectionHeader:"sectionheader",Grid:"grid",Flex:"blanksection",Spacer:"spacer",Divider:"divider",CustomHTML:"customhtml",Heading:"heading",Text:"text",ImageBlock:"image",ButtonBlock:"button",MenuBlock:"menu",EmailFormBlock:"emailform",SocialLogosBlock:"sociallogos",PaymentLogosBlock:"paymentlogos",LegalLineBlock:"legalline",SearchBlock:"search",CartBlock:"cart",CountrySwitchBlock:"countryswitch"},K={position:"absolute",inset:0},h={ink:"var(--sf-thumb-ink)",ink2:"var(--sf-thumb-ink-2)",inkSoft:"var(--sf-thumb-ink-soft)",inkSoft2:"var(--sf-thumb-ink-soft-2)",paper:"var(--sf-thumb-paper)",paper2:"var(--sf-thumb-paper-2)",warm:"var(--sf-thumb-warm)",rust:"var(--sf-thumb-rust)",onInk:"var(--sf-thumb-on-ink)",text:"var(--sf-thumb-scene-text)",muted:"var(--sf-thumb-scene-muted)",rule:"var(--sf-thumb-scene-rule)",mark1:"var(--sf-thumb-mark-1)",mark2:"var(--sf-thumb-mark-2)",card:"var(--sf-thumb-card)",scrim:"var(--sf-thumb-scrim)"},De=(e,o,t=160)=>({background:`linear-gradient(${t}deg,${e},${o})`});function wa({size:e,style:o}){let t=Math.max(2,Math.round(e*.13)),a=(r,n,s)=>({position:"absolute",inset:r,background:n,borderRadius:t,...s?{mixBlendMode:s}:null});return E("span",{style:{position:"absolute",display:"block",width:e,height:e,...o},children:[m("span",{style:a("8% 26% 30% 6%",h.mark1)}),m("span",{style:a("26% 6% 8% 30%",h.mark2,"multiply")})]})}function Uu({children:e}){return m("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:h.muted},children:e})}function nD({over:e,overTone:o,head:t,headSize:a=11.5,cta:r,ctaBg:n,ctaFg:s,tone:l}){return E(dD,{children:[e&&m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:o},children:e}),m("span",{style:{fontSize:a,lineHeight:1.15,fontWeight:700,maxWidth:"78%",color:l},children:t}),r&&m("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,marginTop:2,background:n,color:s},children:r})]})}function nS({name:e,price:o}){return E("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[m("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",...De(h.paper,h.paper2,150)},children:m(wa,{size:34,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),m("span",{style:{fontSize:"3.65cqw",fontWeight:600,color:h.text},children:e}),m("span",{style:{fontSize:"3.65cqw",color:h.muted},children:o})]})}function Sa({k:e,v:o,ok:t}){return E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,padding:"3.5px 2px",borderBottom:`1px solid ${h.rule}`,fontSize:"3.98cqw",color:h.muted},children:[m("span",{children:e}),E("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[m("b",{style:{color:h.text,fontWeight:700},children:o}),t&&m("span",{style:{color:h.rust,fontWeight:700},children:"\u2713"})]})]})}function Te({title:e,children:o}){return E("div",{style:{...K,background:h.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[m(Uu,{children:e}),o]})}function sD({size:e=14}){return m("span",{style:{width:e,height:e,borderRadius:"50%",flex:"none",display:"block",background:`linear-gradient(150deg,${h.mark1},${h.mark2})`}})}function sS({filled:e=5,size:o=6}){return E("span",{style:{fontSize:o,letterSpacing:"0.06em",color:h.rust,lineHeight:1},children:["\u2605".repeat(e),m("span",{style:{color:h.mark1},children:"\u2605".repeat(5-e)})]})}function Zi({n:e,label:o,tone:t=h.text}){return E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[m("b",{style:{fontSize:"8.16cqw",lineHeight:1,color:t},children:e}),m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",opacity:.62,color:t},children:o})]})}function oo({children:e,w:o}){return m("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:h.muted,width:o,display:"block"},children:e})}function zu({label:e,w:o="100%",filled:t}){return E("div",{style:{width:o,display:"flex",flexDirection:"column",gap:2},children:[m("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:h.muted},children:e}),m("span",{style:{height:9,borderRadius:3,border:`1px solid ${h.rule}`,background:t?h.paper:h.card}})]})}function lD({children:e}){return m("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:h.text,color:h.onInk},children:e})}var jre={wheelslisting:m(Te,{title:"All wheels",children:m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Ridge 19","20\xD79 +12","$365"],["Ridge 29","18\xD79 +20","$410"],["Ridge 39","17\xD78 \u221210","$455"]].map(([e,o,t])=>E("div",{style:{display:"flex",alignItems:"center",gap:6},children:[m("span",{style:{width:20,height:15,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",...De(h.paper,h.paper2,150)},children:m(wa,{size:12,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),m("b",{style:{flex:1,fontSize:"4.31cqw",color:h.text},children:e}),m("span",{style:{fontSize:"3.65cqw",color:h.muted},children:o}),m("b",{style:{fontSize:"4.31cqw",color:h.text,width:26,textAlign:"right"},children:t})]},e))})}),catalogfilterbar:E("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[E("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["20 inch","6\xD7139.7","Black"].map(e=>E("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"4px 7px",borderRadius:99,background:h.text,color:h.onInk,display:"flex",gap:4,alignItems:"center"},children:[e,m("span",{style:{opacity:.6},children:"\u2715"})]},e)),m("span",{style:{fontSize:"3.65cqw",color:h.rust,fontWeight:700},children:"Clear"})]}),E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[m("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"128 results"}),m("span",{style:{fontSize:"3.65cqw",color:h.muted,border:`1px solid ${h.rule}`,borderRadius:3,padding:"3px 6px"},children:"Sort: Price \u25BE"})]})]}),fitmentfinder:E("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...De(h.ink,h.inkSoft)},children:[m("span",{style:{fontSize:"5.31cqw",fontWeight:700,color:h.onInk},children:"Will it fit your rig?"}),E("div",{style:{display:"flex",gap:4},children:[["2021","Toyota","Hilux"].map(e=>E("span",{style:{flex:1,fontSize:"3.65cqw",color:h.text,background:h.card,borderRadius:3,padding:"5px 6px",display:"flex",justifyContent:"space-between"},children:[e," ",m("span",{style:{color:h.muted},children:"\u25BE"})]},e)),m("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.08em",background:h.warm,color:h.ink,borderRadius:3,padding:"5px 7px"},children:"GO"})]})]}),compatibletyres:m(Te,{title:"Tyres that suit",children:m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Ridge Grappler","$489"],["Trail Grappler","$525"],["Terra Grappler","$438"]].map(([e,o])=>E("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[m("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",background:h.ink},children:m("span",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:26,height:26,borderRadius:"50%",border:`5px solid ${h.mark2}`,boxSizing:"border-box"}})}),m("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:h.text,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:e}),m("span",{style:{fontSize:"3.32cqw",color:h.muted},children:o})]},e))})}),tyresizes:m(Te,{title:"Available sizes",children:m("div",{style:{flex:1,display:"flex",flexWrap:"wrap",gap:4,alignContent:"center"},children:["265/65R17","285/70R17","265/60R18","275/55R20"].map((e,o)=>m("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"5px 7px",borderRadius:3,border:`1px solid ${o===0?h.rust:h.rule}`,color:o===0?h.rust:h.text,background:o===0?h.paper:h.card},children:e},e))})}),tyrefitment:E(Te,{title:"Will it fit your car?",children:[m("div",{style:{display:"flex",gap:3},children:["Make","Model","Year","Trim"].map(e=>E("span",{style:{flex:1,minWidth:0,fontSize:"3.32cqw",color:h.muted,background:h.paper,border:`1px solid ${h.rule}`,borderRadius:3,padding:"4px 5px",display:"flex",justifyContent:"space-between",gap:2,overflow:"hidden",whiteSpace:"nowrap"},children:[e," ",m("span",{style:{color:h.muted},children:"\u25BE"})]},e))}),m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2,justifyContent:"center",minHeight:0},children:[["265/65R17","Fits",!0],["285/70R17","Not your size",!1]].map(([e,o,t])=>E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:6,borderTop:`1px solid ${h.rule}`,paddingTop:3},children:[m("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:h.text},children:e}),m("span",{style:{fontSize:"3.32cqw",fontWeight:t?700:400,letterSpacing:"0.06em",color:t?h.warm:h.muted},children:o})]},e))})]}),eutyrelabel:E("div",{style:{...K,background:h.card,padding:"9px 11px",display:"flex",gap:8,alignItems:"center"},children:[m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1.5},children:[["A","42%"],["B","56%"],["C","70%"],["D","84%"]].map(([e,o],t)=>E("div",{style:{display:"flex",alignItems:"center",gap:3},children:[m("span",{style:{width:o,height:6,borderRadius:"0 2px 2px 0",background:t===1?h.rust:h.mark1}}),m("span",{style:{fontSize:"3.32cqw",fontWeight:700,color:t===1?h.rust:h.muted},children:e})]},e))}),E("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:3,alignItems:"center"},children:[m("b",{style:{fontSize:"6.63cqw",lineHeight:1,color:h.text},children:"72"}),m("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",color:h.muted},children:"dB"})]})]}),bundleoffer:E("div",{style:{...K,background:h.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[m(Uu,{children:"Buy it with"}),E("div",{style:{display:"flex",alignItems:"center",gap:5},children:[[0,1].map(e=>m("span",{style:{width:26,height:22,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",background:h.card},children:m(wa,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),m("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:h.muted},children:"+"}),E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1},children:[m("span",{style:{fontSize:"3.65cqw",color:h.muted,textDecoration:"line-through"},children:"$1,024"}),m("b",{style:{fontSize:"6.02cqw",color:h.rust,lineHeight:1},children:"$899"})]})]})]}),checkoutcta:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...De(h.ink,h.ink2)},children:[E("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",color:h.warm,fontWeight:700},children:"READY TO ORDER"}),m("b",{style:{fontSize:"6.63cqw",color:h.onInk,lineHeight:1},children:"$1,956"}),m("span",{style:{fontSize:"3.65cqw",color:h.onInk,opacity:.65},children:"4 items \xB7 fitted free"})]}),m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"6px 10px",borderRadius:2,background:h.warm,color:h.ink,flex:"none"},children:"CHECKOUT"})]}),contact:m(Te,{title:"Who do you need?",children:m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Fitment help","the workshop"],["Order status","the front desk"],["Trade accounts","sales"]].map(([e,o])=>E("div",{style:{display:"flex",alignItems:"center",gap:5},children:[m("b",{style:{flex:1,fontSize:"4.31cqw",color:h.text},children:e}),m("span",{style:{fontSize:"3.65cqw",color:h.muted},children:o}),m("span",{style:{fontSize:"4.64cqw",color:h.rust,lineHeight:1},children:"\u203A"})]},e))})}),contactlocations:m(Te,{title:"Find us",children:m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["Brisbane","7 Kerry Rd","Mon\u2013Sat"],["Townsville","12 Enterprise","Mon\u2013Fri"]].map(([e,o,t])=>E("div",{style:{border:`1px solid ${h.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[m("b",{style:{fontSize:"4.31cqw",color:h.text},children:e}),m("span",{style:{fontSize:"3.32cqw",color:h.muted},children:o}),m("span",{style:{fontSize:"3.32cqw",color:h.rust,fontWeight:700},children:t})]},e))})}),citypictures:m(Te,{title:"Our studios",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:3,minHeight:0},children:[m("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.12em",fontWeight:700,color:h.muted},children:"A \xB7 AMERICAS"}),m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:4,minHeight:0},children:["Los Angeles","Miami","Toronto"].map(e=>E("div",{style:{position:"relative",minHeight:0},children:[m($,{r:3,style:{...K,background:`linear-gradient(transparent 45%,${h.scrim} 45%),${De(h.ink,h.inkSoft2).background}`}}),m("b",{style:{position:"absolute",left:5,bottom:4,fontSize:"3.65cqw",color:h.onInk},children:e})]},e))})]})}),citymaps:m(Te,{title:"Find us",children:m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["Brisbane","7 Kerry Rd"],["Townsville","12 Enterprise"]].map(([e,o])=>E("div",{style:{position:"relative",padding:"4px 5px",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:[m($,{r:4,style:{...K,background:"none",border:`1px solid ${h.rule}`}}),m("b",{style:{position:"relative",fontSize:"4.31cqw",color:h.text},children:e}),m("span",{style:{position:"relative",fontSize:"3.32cqw",color:h.muted},children:o}),E("div",{style:{flex:1,minHeight:0,position:"relative"},children:[m($,{r:3,style:{...K,...De(h.paper,h.paper2,150)}}),m($,{w:"60%",h:"60%",r:8,style:{position:"absolute",left:"12%",top:"20%",background:h.mark1,opacity:.75}}),m($,{w:6,h:6,r:3,style:{position:"absolute",left:"44%",top:"34%",background:h.rust}})]})]},e))})}),form:m(Te,{title:"Send us a message",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[E("div",{style:{display:"flex",gap:5},children:[m(zu,{label:"Name"}),m(zu,{label:"Email"})]}),m(zu,{label:"Message",filled:!0}),m(lD,{children:"SEND"})]})}),appointmentbooking:m(Te,{title:"Book a fitting",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[m("div",{style:{display:"flex",gap:3},children:["Mon","Tue","Wed","Thu"].map((e,o)=>m("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",fontWeight:o===2?700:500,padding:"4px 0",borderRadius:3,background:o===2?h.text:h.paper,color:o===2?h.onInk:h.muted},children:e},e))}),m("div",{style:{display:"flex",gap:3},children:["8:00","10:30","13:00","15:30"].map((e,o)=>m("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",padding:"4px 0",borderRadius:3,border:`1px solid ${o===1?h.rust:h.rule}`,color:o===1?h.rust:h.muted,background:o===3?h.paper:h.card,textDecoration:o===3?"line-through":"none"},children:e},e))})]})}),reviewform:m(Te,{title:"Leave a review",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[m(sS,{filled:4,size:14}),m(zu,{label:"Your review",filled:!0}),m(lD,{children:"POST"})]})}),submitbuild:m(Te,{title:"Show us your build",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:3,border:`1px dashed ${h.mark1}`,borderRadius:5,background:h.paper},children:[m("span",{style:{fontSize:"6.63cqw",lineHeight:1,color:h.rust,fontWeight:300},children:"+"}),m("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"Drop a photo of your rig"})]})}),masthead:E("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",justifyContent:"center",padding:"0 13px",gap:5},children:[m("span",{style:{height:1.5,background:h.text}}),m("span",{style:{fontSize:"7.65cqw",fontWeight:800,letterSpacing:"0.02em",color:h.text,lineHeight:1},children:"THE TRACK"}),E("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"3.65cqw",letterSpacing:"0.1em",textTransform:"uppercase",color:h.muted},children:[m("span",{children:"Issue 14"}),m("span",{children:"Spring 2026"})]}),m("span",{style:{height:1,background:h.rule}})]}),featuredcover:E("div",{style:{...K,overflow:"hidden",...De(h.ink,h.inkSoft2)},children:[m(wa,{size:92,style:{right:-18,top:-14}}),m("div",{style:{position:"absolute",inset:0,background:`linear-gradient(0deg,${h.scrim},transparent 62%)`}}),E("div",{style:{position:"absolute",left:12,right:12,bottom:11,display:"flex",flexDirection:"column",gap:3},children:[m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:h.warm},children:"FEATURE"}),m("span",{style:{fontSize:"6.16cqw",lineHeight:1.15,fontWeight:700,color:h.onInk},children:"Four days on the Madigan Line"})]})]}),longread:E("div",{style:{...K,background:h.card,padding:"10px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.14em",fontWeight:700,color:h.rust},children:"12 MIN READ"}),m("span",{style:{fontSize:"6.02cqw",lineHeight:1.15,fontWeight:700,color:h.text},children:"What breaks first, and why"}),m(oo,{children:"Every failure starts in the same place:"}),m(oo,{w:"80%",children:"the bolt nobody re-torqued."})]}),articlebody:E("div",{style:{...K,background:h.card,padding:"10px 22px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center",alignItems:"center",textAlign:"center"},children:[m("span",{style:{fontSize:"4.97cqw",lineHeight:1.2,fontWeight:700,color:h.text},children:"Why offset beats width"}),m(oo,{w:"100%",children:"A wider wheel adds grip only if the offset still"}),m(oo,{w:"88%",children:"clears the arch, so the offset is chosen first."}),m(oo,{w:"80%",children:"Width follows from the space left."})]}),series:m(Te,{title:"Recurring columns",children:m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Shed Notes","Monthly"],["Track Tested","Fortnightly"],["Reader Rigs","Weekly"]].map(([e,o])=>E("div",{style:{display:"flex",alignItems:"center",gap:6},children:[m("span",{style:{width:3,height:12,borderRadius:2,background:h.rust,flex:"none"}}),m("b",{style:{flex:1,fontSize:"4.64cqw",color:h.text},children:e}),m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:h.muted},children:o})]},e))})}),events:m(Te,{title:"Latest posts",children:m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[[h.inkSoft,h.inkSoft2,"Madigan Line, four days"],[h.rust,h.warm,"Why offset beats width"]].map(([e,o,t])=>E("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[m("span",{style:{width:24,height:18,borderRadius:3,flex:"none",...De(e,o,150)}}),E("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[m("b",{style:{fontSize:"4.31cqw",color:h.text},children:t}),m("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"4 Sep \xB7 Shed Notes"})]})]},t))})}),docmasthead:E("div",{style:{...K,background:h.card,padding:"12px 14px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:h.muted},children:"POLICY"}),m("span",{style:{fontSize:"6.49cqw",fontWeight:700,color:h.text,lineHeight:1.1},children:"Returns & refunds"}),m("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"Version 3 \xB7 Updated 4 Sep 2026"}),m("span",{style:{height:2,width:26,background:h.rust,borderRadius:1}})]}),docbody:m("div",{style:{...K,background:h.card,padding:"9px 13px",display:"flex",flexDirection:"column",gap:3,justifyContent:"center"},children:[["1.","You may return an unfitted wheel within 30 days."],["2.","Fitted wheels are covered by the structural warranty."],["3.","Freight on a change of mind is yours."]].map(([e,o])=>E("div",{style:{display:"flex",gap:5},children:[m("b",{style:{fontSize:"3.98cqw",color:h.rust,flex:"none"},children:e}),m(oo,{children:o})]},e))}),docmetacards:m(Te,{title:"At a glance",children:m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["30 days","To return"],["5 years","Structural"],["Free","Fitting"],["48 hrs","Dispatch"]].map(([e,o])=>E("div",{style:{border:`1px solid ${h.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[m("b",{style:{fontSize:"5.31cqw",color:h.text,lineHeight:1},children:e}),m("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:h.muted},children:o})]},o))})}),doctabs:E("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:0,padding:"0 11px"},children:[m("div",{style:{display:"flex",gap:0},children:["Returns","Warranty","Shipping"].map((e,o)=>m("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"5px 8px",color:o===0?h.text:h.muted,background:o===0?h.paper:"transparent",borderRadius:"4px 4px 0 0",border:`1px solid ${o===0?h.rule:"transparent"}`,borderBottom:"none"},children:e},e))}),m("span",{style:{height:1,background:h.rule}}),E("div",{style:{paddingTop:6,display:"flex",flexDirection:"column",gap:2},children:[m(oo,{children:"Unfitted wheels come back within 30 days, no questions."}),m(oo,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs:E("div",{style:{...K,background:h.card,padding:"11px 14px",display:"flex",gap:10,alignItems:"center"},children:[m("span",{style:{flex:1,fontSize:"5.86cqw",lineHeight:1.2,fontWeight:700,color:h.text},children:"The right wheel is the boring one."}),E("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[m(oo,{children:"Forged, correctly offset, rated for what you actually"}),m(oo,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:m(Te,{title:"Key features",children:m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:["Flow-formed barrel","1250 kg per corner","Hub-centric fit"].map(e=>E("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[m("span",{style:{fontSize:"4.64cqw",color:h.rust,fontWeight:700,lineHeight:1},children:"\u2713"}),m("span",{style:{fontSize:"4.31cqw",color:h.text},children:e})]},e))})}),statsparagraph:E("div",{style:{...K,background:h.paper,padding:"10px 12px",display:"flex",gap:10,alignItems:"center"},children:[E("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:5},children:[m(Zi,{n:"27k",label:"Rigs"}),m(Zi,{n:"4.9",label:"Rating"})]}),E("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[m(oo,{children:"Twelve years of fitting the same three questions, and the"}),m(oo,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:E(Te,{title:"Load vs weight",children:[m("div",{style:{flex:1,display:"flex",alignItems:"flex-end",gap:5,paddingBottom:2},children:[38,62,84,71,96].map((e,o)=>m("span",{style:{flex:1,height:`${e}%`,borderRadius:"2px 2px 0 0",background:o===4?h.rust:h.mark1}},o))}),m("span",{style:{height:1,background:h.rule,marginTop:-4}})]}),mockup:m("div",{style:{...K,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...De(h.inkSoft,h.ink)},children:E("div",{style:{width:"72%",height:"74%",borderRadius:4,overflow:"hidden",background:h.card,boxShadow:`0 6px 14px ${h.scrim}`},children:[m("div",{style:{height:9,background:h.paper,display:"flex",alignItems:"center",gap:2,padding:"0 4px"},children:[0,1,2].map(e=>m("span",{style:{width:2.5,height:2.5,borderRadius:"50%",background:h.mark1}},e))}),E("div",{style:{padding:5,display:"flex",flexDirection:"column",gap:3},children:[m("span",{style:{height:4,width:"56%",borderRadius:1,background:h.mark2}}),m("span",{style:{height:14,borderRadius:2,...De(h.paper,h.paper2,150)}}),m("span",{style:{height:3,width:"38%",borderRadius:1,background:h.rust}})]})]})}),manifesto:m("div",{style:{...K,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...De(h.ink,h.ink2)},children:E("span",{style:{fontSize:"6.63cqw",lineHeight:1.2,fontWeight:700,color:h.onInk},children:["We build for the ",m("span",{style:{color:h.warm},children:"last"})," ten percent of the track."]})}),timeline:m(Te,{title:"Our story",children:m("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",gap:6,paddingLeft:4},children:[["1998","One shed, one lathe."],["2009","First forged rim."],["2024","27,000 rigs on."]].map(([e,o],t)=>E("div",{style:{display:"flex",gap:7,alignItems:"flex-start",position:"relative"},children:[t<2&&m("span",{style:{position:"absolute",left:3,top:8,bottom:-8,width:1,background:h.rule}}),m("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",marginTop:1,background:h.rust,zIndex:1}}),E("div",{style:{display:"flex",flexDirection:"column",gap:0,minWidth:0},children:[m("b",{style:{fontSize:"4.64cqw",color:h.text},children:e}),m(oo,{children:o})]})]},e))})}),timelinetrack:E("div",{style:{...K,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...De(h.ink,h.inkSoft)},children:[m("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:h.warm},children:"Milestones"}),E("div",{style:{position:"relative",display:"flex",justifyContent:"space-between",paddingTop:7},children:[m("span",{style:{position:"absolute",left:0,right:0,top:3,height:1,background:h.mark2,opacity:.55}}),["1998","2009","2016","2024"].map((e,o)=>E("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:3,position:"relative"},children:[m("span",{style:{position:"absolute",top:-7,width:6,height:6,borderRadius:"50%",background:o===3?h.warm:h.mark1}}),m("span",{style:{fontSize:"4.31cqw",fontWeight:700,color:o===3?h.warm:h.onInk,opacity:o===3?1:.75},children:e})]},e))]})]}),footprint:E("div",{style:{...K,overflow:"hidden",...De(h.paper,h.paper2,150)},children:[m("span",{style:{position:"absolute",left:"8%",top:"18%",width:"62%",height:"64%",borderRadius:"48% 52% 40% 60% / 55% 45% 55% 45%",background:h.mark1,opacity:.75}}),m("span",{style:{position:"absolute",left:"52%",top:"52%",width:"34%",height:"34%",borderRadius:"58% 42% 55% 45% / 45% 58% 42% 55%",background:h.mark2,opacity:.55}}),[["26%","38%"],["44%","58%"],["62%","34%"]].map(([e,o])=>m("span",{style:{position:"absolute",left:e,top:o,width:7,height:7,borderRadius:"50% 50% 50% 0",transform:"rotate(-45deg)",background:h.rust}},e)),m("span",{style:{position:"absolute",left:11,bottom:9,fontSize:"4.64cqw",fontWeight:700,color:h.text},children:"3 fitting bays"})]}),banner:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,background:h.rust},children:[E("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[m("b",{style:{fontSize:"6.02cqw",color:h.onInk},children:"End of season \xB7 20% off"}),m("span",{style:{fontSize:"3.98cqw",color:h.onInk,opacity:.8},children:"Fitted free, this month only."})]}),m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:h.onInk,color:h.text,flex:"none"},children:"SHOP"})]}),titlewithbuttons:E("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:7,padding:"0 14px",textAlign:"center"},children:[m("span",{style:{fontSize:"6.49cqw",lineHeight:1.15,fontWeight:700,color:h.text},children:"Not sure what fits?"}),E("div",{style:{display:"flex",gap:5},children:[m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:h.text,color:h.onInk},children:"FIND MY FIT"}),m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,border:`1px solid ${h.text}`,color:h.text},children:"CALL US"})]})]}),ticker:m("div",{style:{...K,overflow:"hidden",background:h.ink,display:"flex",alignItems:"center"},children:m("span",{style:{whiteSpace:"nowrap",fontSize:"6.29cqw",fontWeight:800,letterSpacing:"0.06em",color:h.warm,marginLeft:-14},children:"FREE FITTING \xB7 48HR DISPATCH \xB7 FREE FITTING \xB7 48HR DISPATCH"})}),countdown:E("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...De(h.ink,h.ink2)},children:[m("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.16em",textTransform:"uppercase",color:h.muted},children:"Back online in"}),m("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[["23","Hours"],["59","Minutes"],["48","Seconds"]].map(([e,o],t)=>E("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[t>0&&m("b",{style:{fontSize:"9.5cqw",lineHeight:1,color:h.warm},children:":"}),E("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[m("b",{style:{fontSize:"11.5cqw",lineHeight:1,color:h.onInk,fontVariantNumeric:"tabular-nums"},children:e}),m("span",{style:{fontSize:"3.2cqw",letterSpacing:"0.1em",textTransform:"uppercase",opacity:.62,color:h.onInk},children:o})]})]},o))})]}),breadcrumb:m("div",{style:{...K,background:h.card,display:"flex",alignItems:"center",padding:"0 13px"},children:E("span",{style:{fontSize:"4.64cqw",color:h.muted},children:["Home ",m("span",{style:{opacity:.5},children:"/"})," Wheels ",m("span",{style:{opacity:.5},children:"/"})," ",m("span",{style:{color:h.text,fontWeight:700},children:"20 inch"})]})}),categorybar:E("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[m("div",{style:{display:"flex",gap:5},children:["All","Wheels","Tyres","Lift"].map((e,o)=>m("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"4px 7px",borderRadius:99,background:o===0?h.text:h.paper,color:o===0?h.onInk:h.muted},children:e},e))}),m("span",{style:{height:1,background:h.rule}})]}),intro:E("div",{style:{...K,overflow:"hidden",background:h.card},children:[m("div",{style:{position:"absolute",inset:0,...De(h.ink,h.inkSoft2)}}),m(wa,{size:64,style:{right:8,top:6}}),E("div",{style:{position:"absolute",left:16,right:16,bottom:8,top:"46%",background:h.paper,borderRadius:6,padding:"8px 11px",display:"flex",flexDirection:"column",gap:2,boxShadow:`0 -4px 10px ${h.scrim}`},children:[m("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:h.text},children:"Since 1998"}),m(oo,{children:"One shed, one lathe, one idea."}),m(oo,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:m(Te,{title:"Photo gallery",children:m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gridTemplateRows:"repeat(2,1fr)",gap:4,minHeight:0},children:[[h.rust,h.warm],[h.inkSoft,h.ink],[h.paper2,h.mark2],[h.ink,h.inkSoft2],[h.warm,h.paper2],[h.mark2,h.inkSoft]].map(([e,o],t)=>m("div",{style:{borderRadius:3,...De(e,o,140+t*22)}},t))})}),gallery:E(Te,{title:"Gallery",children:[m("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:-2},children:["On the truck","Studio","Close-ups"].map((e,o)=>m("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,color:o===0?h.text:h.muted,borderBottom:`1.5px solid ${o===0?h.rust:"transparent"}`,paddingBottom:2},children:e},e))}),m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:4,minHeight:0},children:[[h.rust,h.warm],[h.ink,h.inkSoft],[h.paper2,h.mark2]].map(([e,o],t)=>m("div",{style:{borderRadius:3,...De(e,o,150+t*20)}},t))})]}),ordersummary:E(Te,{title:"Order summary",children:[E("div",{style:{display:"flex",gap:6,alignItems:"center",paddingBottom:4},children:[m("span",{style:{width:26,height:26,borderRadius:4,position:"relative",overflow:"hidden",flex:"none",...De(h.paper,h.paper2,150)},children:m(wa,{size:18,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),E("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[m("b",{style:{fontSize:"4.31cqw",color:h.text},children:"Ridge Grappler"}),m("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"20\xD79 +12 \xB7 qty 4"})]})]}),E("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",justifyContent:"center"},children:[m(Sa,{k:"Subtotal",v:"$1,956"}),m(Sa,{k:"Fitting",v:"Free"}),E("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:5,fontSize:"4.64cqw"},children:[m("b",{style:{color:h.text},children:"Total"}),m("b",{style:{color:h.text,fontSize:"6.02cqw"},children:"$1,956"})]})]})]}),deliveryoptions:m(Te,{title:"Delivery",children:m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Standard","3\u20135 days","Free",!0],["Express","Next day","$19",!1]].map(([e,o,t,a])=>E("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 6px",borderRadius:4,border:`1px solid ${a?h.rust:h.rule}`,background:a?h.paper:h.card},children:[m("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",border:`1.5px solid ${a?h.rust:h.mark1}`,background:a?h.rust:"transparent"}}),m("span",{style:{flex:1,fontSize:"4.31cqw",fontWeight:600,color:h.text},children:e}),m("span",{style:{fontSize:"3.98cqw",color:h.muted},children:o}),m("b",{style:{fontSize:"4.31cqw",color:h.text},children:t})]},e))})}),paymentbadges:E("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[m(Uu,{children:"Ways to pay"}),m("div",{style:{display:"flex",gap:5},children:[["VISA",h.ink],["MC",h.rust],["AMEX",h.inkSoft],["PayPal",h.ink2]].map(([e,o])=>m("span",{style:{flex:1,textAlign:"center",fontSize:"3.65cqw",fontWeight:800,letterSpacing:"0.06em",color:h.onInk,borderRadius:3,padding:"6px 0",background:o},children:e},e))})]}),stats:E("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...De(h.ink,h.ink2)},children:[m("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:h.warm},children:"By the numbers"}),E("div",{style:{display:"flex",gap:8},children:[m(Zi,{n:"27k",label:"Rigs fitted",tone:h.onInk}),m(Zi,{n:"12",label:"Years",tone:h.onInk}),m(Zi,{n:"4.9",label:"Avg rating",tone:h.warm})]})]}),testimonials:E("div",{style:{...K,overflow:"hidden",background:h.paper,padding:"10px 11px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center"},children:[m("span",{style:{position:"absolute",right:10,top:2,fontSize:"22.4cqw",lineHeight:1,fontWeight:800,color:h.rust,opacity:.16},children:"\u201D"}),m(sS,{filled:5,size:7}),m("span",{style:{position:"relative",fontSize:"5.31cqw",lineHeight:1.35,color:h.text,fontWeight:600},children:"\u201CTook them out to the Simpson and back. Not one chip.\u201D"}),E("div",{style:{display:"flex",alignItems:"center",gap:5},children:[m(sD,{}),m("span",{style:{fontSize:"3.98cqw",color:h.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:E(Te,{title:"Reviews",children:[m("div",{style:{display:"flex",gap:4,height:22},children:[[h.inkSoft,h.inkSoft2],[h.rust,h.warm],[h.ink,h.inkSoft],[h.mark2,h.mark1]].map(([e,o],t)=>m("div",{style:{flex:1,borderRadius:3,...De(e,o,140+t*15)}},t))}),m("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Dave M.",5,"Not one chip after the Simpson."],["Sara K.",4,"Fitted in an hour, no fuss."]].map(([e,o,t])=>E("div",{style:{display:"flex",gap:5,alignItems:"flex-start"},children:[m(sD,{size:12}),E("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[E("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[m("b",{style:{fontSize:"3.98cqw",color:h.text},children:e}),m(sS,{filled:o})]}),m(oo,{children:t})]})]},e))})]}),logos:E("div",{style:{...K,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...De(h.ink,h.inkSoft)},children:[m("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:h.warm},children:"As fitted by"}),m("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:8},children:["ARB","TJM","IRONMAN","OPPOSITE"].map(e=>m("span",{style:{textAlign:"center",fontSize:"4.31cqw",fontWeight:800,letterSpacing:"0.08em",color:h.onInk,opacity:.82},children:e},e))})]}),prose:E("div",{style:{...K,background:h.paper,padding:"11px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[m("span",{style:{fontSize:"5.86cqw",fontWeight:700,color:h.text},children:"Why offset matters"}),E("div",{style:{display:"flex",gap:6},children:[m("span",{style:{fontSize:"15.3cqw",lineHeight:.78,fontWeight:800,color:h.rust,marginTop:1},children:"T"}),E("div",{style:{display:"flex",flexDirection:"column"},children:[m(oo,{children:"he number on the back of your wheel decides whether the"}),m(oo,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:m(Te,{title:"What you get",children:m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Fitted free","In store, same day."],["5 yr cover","Structural, no fine print."],["Swap it","30 days, any reason."]].map(([e,o])=>E("div",{style:{border:`1px solid ${h.rule}`,borderRadius:4,padding:6,display:"flex",flexDirection:"column",gap:2},children:[m("span",{style:{width:11,height:11,borderRadius:3,background:h.rust,opacity:.9}}),m("b",{style:{fontSize:"3.98cqw",color:h.text},children:e}),m(oo,{children:o})]},e))})}),faq:m(Te,{title:"Questions",children:m("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[["Will these fit my Hilux?",!0],["Do you fit them for me?",!1],["What if I pick wrong?",!1]].map(([e,o])=>E("div",{style:{borderBottom:`1px solid ${h.rule}`,padding:"4px 2px"},children:[E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6},children:[m("b",{style:{fontSize:"4.31cqw",color:h.text},children:e}),m("span",{style:{fontSize:"4.64cqw",color:h.muted,lineHeight:1},children:o?"\u2212":"+"})]}),o&&m(oo,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:E("div",{style:{...K,overflow:"hidden",...De(h.ink,h.ink2)},children:[m("div",{style:{...K,background:`linear-gradient(90deg,${h.scrim},transparent 70%)`}}),m("div",{style:{position:"relative",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",padding:"12px 14px",gap:5},children:m(nD,{over:"NEW \xB7 SUMMER",overTone:h.warm,head:"Built for the worst road you own",cta:"SHOP ALL",ctaBg:h.warm,ctaFg:h.ink,tone:h.onInk})}),m(wa,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:E("div",{style:{...K,display:"flex",background:h.paper,overflow:"hidden"},children:[m("div",{style:{flex:1,padding:12,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:m(nD,{over:"ALL-TERRAIN",overTone:h.rust,head:"Grip that does not ask",headSize:12,cta:"EXPLORE",ctaBg:h.text,ctaFg:h.onInk,tone:h.text})}),m("div",{style:{flex:1,position:"relative",...De(h.inkSoft,h.inkSoft2)},children:m(wa,{size:74,style:{right:-14,top:16}})})]}),productgrid:m(Te,{title:"Best sellers",children:E("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[m(nS,{name:"Ridge 19",price:"$365"}),m(nS,{name:"Ridge 29",price:"$410"}),m(nS,{name:"Ridge 39",price:"$455"})]})}),collections:m(Te,{title:"Shop by category",children:m("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Wheels",h.inkSoft,h.inkSoft2],["Tyres",h.rust,h.warm],["Lift kits",h.ink,h.inkSoft]].map(([e,o,t])=>m("div",{style:{borderRadius:4,display:"flex",alignItems:"flex-end",padding:5,color:h.onInk,...De(o,t)},children:m("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:E("div",{style:{...K,display:"flex",background:h.card,overflow:"hidden"},children:[m("div",{style:{flex:1.1,position:"relative",...De(h.paper,h.paper2,150)},children:m(wa,{size:78,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),E("div",{style:{flex:1,padding:"10px 10px 10px 8px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[m("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:h.rust},children:"NITTO"}),m("b",{style:{fontSize:"6.29cqw",color:h.text},children:"Ridge Grappler"}),m("span",{style:{fontSize:"6.63cqw",fontWeight:700,color:h.text},children:"$489"}),m("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,background:h.text,color:h.onInk},children:"ADD TO CART"})]})]}),spectable:m(Te,{title:"Specifications",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[m(Sa,{k:"Diameter",v:'20"'}),m(Sa,{k:"Width",v:"9.0J"}),m(Sa,{k:"Offset",v:"+12"}),m(Sa,{k:"Load",v:"1250 kg"})]})}),fitmenttable:m(Te,{title:"Will it fit?",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[m(Sa,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),m(Sa,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),m(Sa,{k:"LC79",v:"17\xD78 \u221210",ok:!0})]})}),processsteps:E("div",{style:{...K,background:h.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[m(Uu,{children:"How it works"}),m("div",{style:{display:"flex",gap:6},children:["Pick your rig","Match the fit","We fit it"].map((e,o)=>E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[m("span",{style:{width:11,height:11,borderRadius:"50%",background:h.text,color:h.onInk,fontSize:"3.98cqw",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700},children:o+1}),m("span",{style:{fontSize:"3.98cqw",color:h.text,fontWeight:600},children:e})]},e))})]}),detailrows:m("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",overflow:"hidden"},children:[["Forged, not cast","Half the weight, twice the road.",!1],["Fits your load","Rated to 1250 kg a corner.",!0]].map(([e,o,t])=>{let a=m("div",{style:{flex:1,...De(t?h.rust:h.inkSoft,t?h.warm:h.inkSoft2)}},"art"),r=E("div",{style:{flex:1.1,padding:8,display:"flex",flexDirection:"column",gap:2,justifyContent:"center"},children:[m("b",{style:{fontSize:"4.64cqw",color:h.text},children:e}),m("span",{style:{fontSize:"3.98cqw",color:h.muted,lineHeight:1.3},children:o})]},"tx");return m("div",{style:{flex:1,display:"flex",minHeight:0},children:t?[r,a]:[a,r]},e)})}),specstrip:m("div",{style:{...K,background:h.ink,color:h.onInk,display:"flex",alignItems:"center",justifyContent:"space-around",padding:"0 8px"},children:[["5 yr","Warranty"],["Free","Fitting"],["48 hr","Dispatch"]].map(([e,o])=>E("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:1},children:[m("b",{style:{fontSize:"5.69cqw",letterSpacing:"0.02em"},children:e}),m("span",{style:{fontSize:"3.65cqw",color:h.mark2,letterSpacing:"0.1em",textTransform:"uppercase"},children:o})]},o))})},iD={subscribe:E("div",{style:{...K,padding:13,display:"flex",flexDirection:"column"},children:[E("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[E("div",{style:{display:"flex",alignItems:"center",gap:6},children:[m($,{w:8,h:8,r:2,tone:"accent"}),m($,{w:38,h:7,r:3,tone:"dark"}),m($,{w:16,h:7,r:3,tone:"accent"})]}),m($,{w:38,h:4,r:2,tone:"soft"})]}),m("div",{style:{height:1,background:so.line,marginBottom:10}}),E("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${so.line}`,borderRadius:7,padding:10},children:[E("div",{style:{flex:1.1,display:"flex",flexDirection:"column",justifyContent:"center",gap:5},children:[m($,{w:"46%",h:3,r:2,tone:"accent"}),m($,{w:"84%",h:8,r:4,tone:"dark"}),m($,{w:"56%",h:8,r:4,tone:"accent"}),m($,{w:"96%",h:3,r:2,tone:"soft",style:{marginTop:2}}),E("div",{style:{display:"flex",gap:5,marginTop:4},children:[m("div",{style:{flex:1,height:13,borderRadius:5,border:`1px solid ${so.line}`,background:so.block}}),m($,{w:34,h:13,r:5,tone:"accent"})]})]}),E("div",{style:{flex:1,background:so.block,borderRadius:6,padding:8,display:"flex",flexDirection:"column",gap:6},children:[m($,{w:"52%",h:4,r:2,tone:"accent"}),Array.from({length:3}).map((e,o)=>E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,borderTop:o?`1px solid ${so.line}`:"none",paddingTop:o?4:0},children:[m($,{w:34,h:4,r:2,tone:"dark"}),m($,{w:16,h:3,r:2,tone:"soft"})]},o))]})]})]}),split:E("div",{style:{...K,display:"flex"},children:[m("div",{style:{width:"44%",background:rS}}),E("div",{style:{flex:1,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[m($,{w:"44%",h:5,r:3,tone:"accent"}),m($,{w:"88%",h:8,r:4,tone:"dark"}),m($,{w:"70%",h:8,r:4,tone:"dark"}),m($,{w:"94%",h:5,r:2,tone:"soft",style:{marginTop:2}}),m($,{w:"80%",h:5,r:2,tone:"soft"}),m($,{w:"40%",h:13,r:6,tone:"accent",style:{marginTop:5}})]})]}),sectionheader:E(dD,{children:[m($,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),E("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:10},children:[E("div",{style:{display:"flex",alignItems:"center",gap:9},children:[m($,{w:16,h:16,r:4,tone:"accent"}),m($,{w:"20%",h:9,r:4,tone:"dark"})]}),m($,{w:"62%",h:10,r:5,tone:"dark"}),m($,{w:"42%",h:6,r:3,tone:"soft"})]})]}),header:m("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",justifyContent:"center"},children:E("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[m($,{w:"22%",h:12,r:4,tone:"dark"}),E("div",{style:{display:"flex",gap:9,alignItems:"center"},children:[m($,{w:26,h:6,r:3,tone:"soft"}),m($,{w:26,h:6,r:3,tone:"soft"}),m($,{w:26,h:6,r:3,tone:"soft"}),m($,{w:18,h:14,r:5,tone:"accent"})]})]})}),footer:E("div",{style:{...K,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:12},children:[E("div",{style:{display:"flex",gap:14},children:[E("div",{style:{flex:1.4,display:"flex",flexDirection:"column",gap:6},children:[m($,{w:"60%",h:9,r:4,tone:"dark"}),m($,{w:"90%",h:5,r:2,tone:"soft"}),m($,{w:"70%",h:5,r:2,tone:"soft"})]}),[0,1].map(e=>E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[m($,{w:"50%",h:6,r:3,tone:"dark"}),m($,{w:"80%",h:5,r:2,tone:"soft"}),m($,{w:"66%",h:5,r:2,tone:"soft"})]},e))]}),m("div",{style:{height:1,background:so.line}}),E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[m($,{w:"30%",h:5,r:2,tone:"soft"}),m($,{w:"16%",h:5,r:2,tone:"soft"})]})]}),grid:m("div",{style:{...K,padding:14,display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",gap:9},children:Array.from({length:4}).map((e,o)=>m("div",{style:{borderRadius:6,background:so.block}},o))}),blanksection:m("div",{style:{...K,padding:14,display:"flex"},children:E("div",{style:{flex:1,border:`1px dashed ${so.line}`,borderRadius:7,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[m($,{w:14,h:2,r:1,tone:"tint"}),m($,{w:2,h:14,r:1,tone:"tint",style:{position:"absolute"}})]})}),spacer:E("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[m($,{w:"100%",h:6,r:3,tone:"soft"}),m($,{w:16,h:22,r:3,tone:"block",style:{alignSelf:"center"}}),m($,{w:"100%",h:6,r:3,tone:"soft"})]}),divider:m("div",{style:{...K,padding:14,display:"flex",alignItems:"center"},children:m($,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:rS},children:[m($,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(-14deg)"}}),m($,{w:16,h:10,r:3,tone:"accent"}),m($,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(14deg)"}})]}),heading:m("div",{style:{...K,padding:14,display:"flex",alignItems:"center"},children:m($,{w:"64%",h:13,r:4,tone:"dark"})}),text:E("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[m($,{w:"100%",h:6,r:3,tone:"soft"}),m($,{w:"96%",h:6,r:3,tone:"soft"}),m($,{w:"100%",h:6,r:3,tone:"soft"}),m($,{w:"58%",h:6,r:3,tone:"soft"})]}),image:m("div",{style:{position:"absolute",inset:14,borderRadius:7,background:rS}}),button:m("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center"},children:m($,{w:"34%",h:16,r:8,tone:"accent"})}),menu:E("div",{style:{...K,padding:"14px 22%",display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[m($,{w:"48%",h:7,r:3,tone:"dark"}),m($,{w:"82%",h:5,r:2,tone:"soft"}),m($,{w:"66%",h:5,r:2,tone:"soft"}),m($,{w:"74%",h:5,r:2,tone:"soft"}),m($,{w:"58%",h:5,r:2,tone:"soft"})]}),emailform:E("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[m($,{w:"56%",h:8,r:3,tone:"dark"}),E("div",{style:{display:"flex",gap:6},children:[m("div",{style:{flex:1,height:16,borderRadius:5,border:`1px solid ${so.line}`}}),m($,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:m("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:9},children:[0,1,2,3].map(e=>m($,{w:16,h:16,r:8,tone:"dark"},e))}),paymentlogos:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[m($,{w:22,h:6,r:2,tone:"soft"}),[0,1,2,3].map(e=>m($,{w:20,h:13,r:3,tone:"dark"},e))]}),search:m("div",{style:{...K,padding:"0 18%",display:"flex",alignItems:"center"},children:E("div",{style:{flex:1,height:22,borderRadius:11,border:`1px solid ${so.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[m("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${so.dark}`}}),m($,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[m("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${so.dark}`}}),m("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${so.dark}`},children:m($,{w:7,h:7,r:2,tone:"dark"})})]}),countryswitch:E("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:5},children:[E("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",border:`1px solid ${so.line}`},children:[m($,{w:22,h:6,r:2,tone:"dark"}),m($,{w:6,h:4,r:1,tone:"soft"})]}),E("div",{style:{width:"46%",display:"flex",flexDirection:"column",gap:4,padding:6,border:`1px solid ${so.line}`},children:[m($,{w:"80%",h:4,r:2,tone:"accent"}),m($,{w:"64%",h:4,r:2,tone:"soft"}),m($,{w:"72%",h:4,r:2,tone:"soft"})]})]}),legalline:E("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[m("div",{style:{height:1,background:so.line}}),E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[m($,{w:"38%",h:5,r:2,tone:"soft"}),E("div",{style:{display:"flex",gap:5},children:[m($,{w:14,h:5,r:2,tone:"soft"}),m($,{w:14,h:5,r:2,tone:"soft"}),m($,{w:14,h:5,r:2,tone:"soft"})]})]})]}),fallback:m("div",{style:{position:"absolute",inset:14,borderRadius:8,background:so.block}})};function cD({type:e}){let o=Ure[e]??"",t=jre[o]??iD[o]??iD.fallback;return m("div",{className:"sf-thumb","aria-hidden":"true",style:{position:"absolute",inset:0,background:"var(--sf-thumb-thumb-bg)",pointerEvents:"none",containerType:"inline-size"},children:t})}import{useScreenDocument as hm}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as Ds,jsxs as fD}from"react/jsx-runtime";import Kre from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as Vre}from"efficient-easel/rail";import{Tooltip as qre}from"efficient-shell/ui";import{HintsToggle as Yre,hintsFoldClass as Xre}from"efficient-easel/panel";import{useHints as Jre}from"efficient-easel/screen/lib/hints";function pD({tokenRef:e,siteId:o,onClose:t,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}){let d=hs(),{shown:c,setShown:f}=Jre();return fD("div",{className:`sf-styles ${Xre(c)}`.trim(),children:[Ds(Kre,{icon:Ds(Vre,{}),title:i("Styles"),context:Ds(qre,{content:i("{name} \u2014 renamed in the Console: {place}.",{name:d,place:i("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:Ds("span",{className:"sf-name-text",children:d})})}),fD("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[Ds(Qf,{tokenRef:e,siteId:o,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}),Ds(Yre,{shown:c,onChange:f,label:i("Show hints")})]})]})}import{jsx as fo,jsxs as cn,Fragment as ane}from"react/jsx-runtime";import{Fragment as TD,useEffect as PD,useRef as pS}from"react";import{useTreeDrag as ED}from"efficient-easel/drag";import{GlobeIcon as rne,ImageIcon as nne,LocationIcon as sne,MapIcon as lne,TextLinesIcon as ine,TrashIcon as OD}from"efficient-easel/icons";import{Subtree as _D,TreeRow as ed,TreeRowAction as AD,TreeSeam as RD}from"efficient-easel/tree";import{useEaselStrings as dne}from"efficient-easel/strings";import{createPreviewSelectionContext as Zre}from"efficient-easel/draw/client";var{Provider:IWe,useSelection:uD}=Zre("selectedLocationPartId");function mD(e,o,t){return`${e}::${o}::${t}`}function hD(e){if(!e)return null;let o=e.split("::");if(o.length<3)return null;let t=o[o.length-1];if(t!=="image"&&t!=="map"&&t!=="city")return null;let a=Number(o[o.length-2]);if(!Number.isInteger(a)||a<0)return null;let r=o.slice(0,-2).join("::");return r?{nodeId:r,index:a,part:t}:null}import{isSelectionMode as cne}from"efficient-easel/screen/lib/screen-parts";import{useSyncExternalStore as Qre}from"react";var ene={level:"groups"},gD=ene,lS=new Set;function Lt(e){gD=e;for(let o of lS)o()}function one(e){return lS.add(e),()=>{lS.delete(e)}}var xD=()=>gD;function ID(){return Qre(one,xD,xD)}var Qi=e=>String(e?.group??""),iS=new WeakMap,tne=0;function ju(e){let o=iS.get(e);return o||(o=`loc${++tne}`,iS.set(e,o)),o}var bD=(e,o)=>o||e||"Ungrouped",yD={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
90
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function dn(e){return tu(e,Qi,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var dS=e=>e.flatMap(o=>o.cards),SD=(e,o,t)=>Math.min(Math.max(e,o),t);function Ku(e,o,t){let a=0;for(let r=0;r<e.length;r++)if(Qi(e[r])===o){if(a===t)return r;a++}return-1}function cS(e,o,t){let a=dn(e);if(o<0||o>=a.length)return e;let[r]=a.splice(o,1),n=SD(o<t?t-1:t,0,a.length);return a.splice(n,0,r),dS(a)}function fS(e,o,t,a,r){let n=dn(e),s=n.find(u=>u.key===o),l=n.find(u=>u.key===a);if(!s||!l||t<0||t>=s.cards.length)return e;let[d]=s.cards.splice(t,1),c=o===a?d:{...d,group:l.key,groupName:l.name};c!==d&&iS.set(c,ju(d));let f=SD(s===l&&t<r?r-1:r,0,l.cards.length);return l.cards.splice(f,0,c),dS(n)}function wD(e,o){let t=dn(e),a=t.find(n=>n.key===o),r={...yD,group:o,groupName:a?.name??""};return a?(a.cards.push(r),dS(t)):[...e,r]}function CD(e){let o=new Set(dn(e).map(r=>r.key)),t=o.size+1,a=`Group ${t}`;for(;o.has(a);)a=`Group ${++t}`;return{cards:[...e,{...yD,group:a,groupName:""}],key:a}}function vD(e,o){return e.filter(t=>Qi(t)!==o)}function kD(e,o,t){let a=Ku(e,o,t);return a<0?e:e.filter((r,n)=>n!==a)}function CWe(e,o,t){let a=e.flatMap((s,l)=>Qi(s)===o?[l]:[]),r=e.slice();a.forEach((s,l)=>{r[s]=t[l]});let n=t.slice(a.length);return[...r.filter(s=>s!==void 0),...n]}function vWe(e,o,t){return o.flatMap(a=>{let r=e.filter(n=>Qi(n)===a);return r.length?r:t(a)})}var qu="ContactLocations",Vu=e=>({parentId:`locations-${e}`,slot:"groups"}),uS=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function LD(e,o){let{readOnly:t,selected:a}=o,r=dne().tree,n=o.data?.content??[],s=cne(e),l=pS(null);PD(()=>{let b=a?.type===qu?String(a.props.id):null;b&&b!==l.current&&Lt({level:"groups"}),l.current=b},[a?.props.id]);let{selectedLocationPartId:d,setSelectedLocationPartId:c,setSelectHandler:f}=uD(),u=ID(),p=(b,v)=>{let T=n[b];T&&o.replace(b,{type:T.type,props:{...T.props,locations:v}})},x=b=>{let v=n[b]?.props?.locations;return Array.isArray(v)?v:[]},g=ED({keyOf:b=>`group:${b.si}:${b.index}`,readOnly:!!t,canDrop:(b,v)=>v.parentId===Vu(b.si).parentId&&v.slot==="groups",onDrop:(b,v)=>{p(b.si,cS(x(b.si),b.index,v.index)),u.level==="city"&&Lt({level:"groups"})},onStep:(b,v)=>{p(b.si,cS(x(b.si),b.index,v<0?b.index-1:b.index+2)),u.level==="city"&&Lt({level:"groups"})}}),I=ED({keyOf:b=>`city:${b.si}:${b.group}:${b.index}`,readOnly:!!t,canDrop:(b,v)=>v.parentId===Vu(b.si).parentId&&v.slot.startsWith("cities:"),onDrop:(b,v)=>{let T=v.slot.slice(7);p(b.si,fS(x(b.si),b.group,b.index,T,v.index)),Lt({level:"group",key:T})},onStep:(b,v)=>{p(b.si,fS(x(b.si),b.group,b.index,b.group,v<0?b.index-1:b.index+2)),u.level==="city"&&Lt({level:"group",key:b.group})}}),k=pS(n);k.current=n;let S=pS(()=>{});PD(()=>{f(b=>{let v=hD(b);if(!v)return;let T=k.current.findIndex(F=>F.props?.id===v.nodeId);T<0||S.current(T,{level:v.part,index:v.index})})},[f]);let C=(b,v)=>{l.current=n[b]?.props?.id??null,o.select(b),Lt(v),e.reveal();let T=n[b]?.props?.id;typeof T=="string"&&(v.level==="city"||v.level==="image"||v.level==="map")?c(mD(T,v.index,v.level)):c(null),typeof T=="string"&&o.scrollTo(T)};return S.current=C,{renderLocationTree:(b,v,{rowClick:T,isCollapsed:F,toggleCollapse:P})=>{let D=x(v),O=dn(D),R=String(b.props.id),N=s&&a?.props.id===R,y=L=>fo(RD,{...t?{}:g.seam({place:{...Vu(v),index:L}})},`seam:${R}:groups:${L}`),A=(L,H)=>fo(RD,{...t?{}:I.seam({place:{...uS(v,L),index:H}})},`seam:${R}:cities:${L}:${H}`);return cn(ane,{children:[fo(ed,{icon:fo(ine,{size:13}),name:i("Texts"),words:r,onSelect:()=>C(v,{level:"texts"}),selected:N&&u.level==="texts",rowProps:{onClick:T(()=>C(v,{level:"texts"}))}}),O.map((L,H)=>{let X=`${R}::grp::${L.key}`,q=F(X),U=N&&u.level==="group"&&u.key===L.key,ge=L.name||L.key?bD(L.key,L.name):i("Ungrouped"),te={...uS(v,L.key),index:L.cards.length},Re=I.row({item:{si:v,group:L.key,index:-1},place:te,into:te,canDrag:!1},{onClick:T(()=>C(v,{level:"group",key:L.key}))}),We=g.row({item:{si:v,index:H},place:{...Vu(v),index:H}},Re.rowProps);return cn(TD,{children:[H===0&&y(0),fo(ed,{icon:fo(rne,{size:13}),name:ge,words:r,onSelect:()=>C(v,{level:"group",key:L.key}),selected:U,draggable:We.draggable,dragging:We.dragging,drop:We.drop??Re.drop,fold:{open:!q,label:i("group"),onToggle:()=>P(X)},actions:fo(AD,{kind:"delete",label:Po("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",L.cards.length,{label:ge}),onClick:()=>{p(v,vD(D,L.key)),Lt({level:"groups"})},children:fo(OD,{size:15})}),rowProps:We.rowProps,count:L.cards.length,countLabel:Po("{n} city","{n} cities",L.cards.length)}),!q&&cn(_D,{children:[L.cards.map((Pe,Ie)=>{let Ee=Ku(D,L.key,Ie),Ge=N&&u.level==="city"&&u.index===Ee,to=String(Pe?.name??"")||i("City"),So=`${R}::city::${ju(Pe)}`,he=F(So),{rowProps:Ke,...Oe}=I.row({item:{si:v,group:L.key,index:Ie},place:{...uS(v,L.key),index:Ie}},{onClick:T(()=>C(v,{level:"city",index:Ee}))});return cn(TD,{children:[Ie===0&&A(L.key,0),fo(ed,{icon:fo(sne,{size:13}),name:to,words:r,onSelect:()=>C(v,{level:"city",index:Ee}),selected:Ge,...Oe,fold:{open:!he,label:to,onToggle:()=>P(So)},actions:fo(AD,{kind:"delete",label:i("Delete {name}",{name:to}),onClick:()=>{p(v,kD(D,L.key,Ie)),Lt({level:"group",key:L.key})},children:fo(OD,{size:15})}),rowProps:Ke}),!he&&cn(_D,{children:[fo(ed,{icon:fo(nne,{size:13}),name:i("Image"),words:r,onSelect:()=>C(v,{level:"image",index:Ee}),selected:N&&u.level==="image"&&u.index===Ee,rowProps:{onClick:T(()=>C(v,{level:"image",index:Ee}))}}),fo(ed,{icon:fo(lne,{size:13}),name:i("Map"),words:r,onSelect:()=>C(v,{level:"map",index:Ee}),selected:N&&u.level==="map"&&u.index===Ee,rowProps:{onClick:T(()=>C(v,{level:"map",index:Ee}))}})]}),A(L.key,Ie+1)]},ju(Pe))}),cn("button",{type:"button",className:"sf-add-card",onClick:()=>{let Pe=wD(D,L.key);p(v,Pe);let Ie=dn(Pe).find(Ee=>Ee.key===L.key);Lt(Ie&&Ie.cards.length?{level:"city",index:Ku(Pe,L.key,Ie.cards.length-1)}:{level:"group",key:L.key})},children:[fo("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add city")]})]}),y(H+1)]},X)}),cn("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:L,key:H}=CD(D);p(v,L),C(v,{level:"group",key:H})},children:[fo("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add group")]})]})},sectionPressed:b=>{b?.type===qu&&Lt({level:"groups"})}}}import{useEffect as mne,useRef as hne}from"react";import{createNode as hS,newId as xS}from"efficient-easel/data";import{useEaselApi as xne}from"efficient-easel/easel";import{useScreenDocument as gne}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as Ine}from"efficient-easel/screen/lib/session-context";import{useEffect as DD,useRef as fne}from"react";import{useEasel as pne}from"efficient-easel/easel";import{ROOT_ZONE as mS}from"efficient-easel/draw";var od={};function FD(e){return od=e?.theme?{theme:e.theme}:{},od}function BD(e){od===e&&(od={})}function Yu(){return od}function MD(e){let o=pne(s=>s.appState.data.content),{theme:t,themeRow:a,themeFromDocument:r}=xe(),n=fne(new Set);DD(()=>{let s=ND({theme:t,themeRow:a,themeFromDocument:r});s&&une(tR(o,void 0,s),e,n.current)},[o,e,t,a,r]),DD(()=>{let s=FD(ND({theme:t,themeRow:a,themeFromDocument:r}));return()=>BD(s)},[t,a,r])}function ND(e){return e.themeFromDocument||e.themeRow==="none"?{}:e.themeRow==="read"?{theme:e.theme}:null}function une(e,o,t){for(let{index:a,nodes:r}of[...e].sort((n,s)=>s.index-n.index)){let n=String(r[0].props.id);t.has(n)||(t.add(n),o.replaceComponent(mS,a,r[0]),r.slice(1).forEach((s,l)=>{o.insertNode(mS,a+1+l,s),o.replaceComponent(mS,a+1+l,s)}))}}import{ROOT_ZONE as Ns,missingPinnedTypes as bne,pinnedDuplicateIds as gS}from"efficient-easel/draw";function HD(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function WD(e,o){let t=e.some(l=>l?.type===Ae),a=e[e.length-1],r=!t&&a?.type===He?a:null,n=e.filter(l=>l?.type===He&&l!==r).map(l=>String(l.props?.id??"")).filter(Boolean),s=o.hasChromeDoc&&!t&&!r;return{remove:n,seedHeader:!e.some(l=>l?.type===Wo),seedFooter:s,seedSiteHeader:s&&!e.some(l=>l?.type===Me)}}async function GD(e){let o=e.blocks?.seeds?.siteHeader;if(!o)return!1;let t;try{t=await o({make:e.make,id:e.id,siteId:e.siteId,token:e.token})}catch{return!1}if(!t||t.type!==Me||!e.stillOpen())return!1;let a=e.latest();return a.some(r=>r?.type===Me)?!1:(e.write(ec(a,t)),!0)}function $D(e,o){let{adapter:t,capabilities:a,currentSlug:r,docId:n,data:s,saveStatus:l,siteId:d,tokenRef:c}=gne(),f=Ine(),{hasSiteSettings:u,hasPinnedChrome:p}=a;MD(e);let x=!!a.editsPinnedInPlace&&r!==Ct,g=r===Ct,I=xne().getState,k=hne(null);mne(()=>{if(!HD({docId:n,saveStatus:l,seededDocId:k.current})||(k.current=n,!p))return;let S=I().appState.data,C=S.content,b=s?.content??[],v=(D,O)=>D.some(R=>R?.type===O);if(!u){let D=new Set(gS(C)),O=D.size?C.filter(N=>!D.has(N.props.id)):C;if(D.size&&e.setDocument({...S,content:O}),g)return;let R=bne(O,b);if(R.includes(He)){let N=O.length,y=e.insertSection(He,N);e.replaceComponent(Ns,N,{type:He,props:{id:y,blocks:Qp()}})}R.includes(Wo)&&e.insertNode(Ns,0,Zp());return}if(g){let D=Fn(C);if(D!==C&&e.setDocument({...S,content:[...D]}),!D.find(O=>O.type===He)&&!v(b,He)&&!v(D,Ae)&&!v(b,Ae)){let O=(N,y)=>hS(o,N,y),R={type:He,props:{blocks:Qp()}};e.insertNode(Ns,D.length,Pi(R,O,xS(Ae),Xi))}return}if(x){let D=!!t?.pinnedChrome?.state().docId,O=WD(C,{hasChromeDoc:D}),R=new Set([...O.remove,...gS(C.filter(y=>!O.remove.includes(String(y.props.id))))]),N=R.size?C.filter(y=>!R.has(String(y.props.id))):C;if(N.length!==C.length&&e.setDocument({...S,content:N}),O.seedFooter&&!v(b,He)&&!v(b,Ae)){let y=(L,H)=>hS(o,L,H),A={type:He,props:{blocks:Qp()}};e.insertNode(Ns,N.length,Pi(A,y,xS(Ae),Xi))}if(O.seedHeader&&!v(b,Wo)){let y=N[0]?.type===Me?1:0;e.insertNode(Ns,y,Zp())}if(O.seedSiteHeader&&!v(b,Me)&&!v(b,He)&&!v(b,Ae)){let y=n;GD({blocks:Cc(f),make:(A,L)=>hS(o,A,L),id:xS(Me),siteId:d??null,token:c.current,latest:()=>I().appState.data.content,stillOpen:()=>k.current===y,write:A=>{let L=I().appState.data;e.setDocument({...L,content:[...A]})}})}return}let T=C.filter(D=>D.type!==He),F=new Set(gS(T)),P=F.size?T.filter(D=>!F.has(D.props.id)):T;P.length!==C.length&&e.setDocument({...S,content:P}),!v(P,Wo)&&!v(b,Wo)&&e.insertNode(Ns,0,Zp())},[n,l,s,I,e,u,p,g,x,t,f,d,c])}import{useEffect as nN,useMemo as Fne,useRef as sN}from"react";import{useEasel as Bne}from"efficient-easel/easel";import{useEaselHost as Dne}from"efficient-easel/screen/lib/host";import{FIELD_DESCRIPTION_MARKER as Ene}from"efficient-easel/screen/lib/host";import{isNode as IS}from"efficient-easel/data";var zD=[{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"}],IGe={label:"Scrolling Bar",defaultProps:{items:[],tone:"scrim",borders:!0,size:Jm,separator:Zm,scrollDirection:fi}};var UD=()=>[{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"},{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"}],SGe={label:"Spec Strip",defaultProps:{cells:[{text:"",tone:"normal"},{text:"",tone:"normal"}],fill:"dark"}};function yo(e,o,t,a={}){return{type:e,props:{...o(e),id:t(e),...a}}}function jD(e,o,t){return yo(V,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var Xu={Manifesto:(e,o)=>({type:V,props:{...e(V),id:o(V),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[yo(V,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[yo("Text",e,o,It()),yo("Text",e,o,Aa()),yo("Text",e,o),yo("Stats",e,o)]}),jD(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:V,props:{...e(V),id:o(V),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[yo(V,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[yo("Text",e,o,It()),yo("Text",e,o,Aa()),yo("Text",e,o),yo("ButtonBlock",e,o)]}),jD(e,o,{direction:"column",name:"Image",content:[yo("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:V,props:{...e(V),id:o(V),direction:"column",name:"Subscribe",content:[yo("Text",e,o,Aa()),yo("Text",e,o),yo("Form",e,o)]}}),Ticker:(e,o)=>KD("Scrolling Bar",vu,Wi,zD.map(t=>({text:t.text,style:ku,muted:!0})),e,o),SpecStrip:(e,o,t)=>KD("Spec Strip",t?.theme?{...$i,sectionAccent:bd(ao(t.theme))}:{...$i,sectionBorder:{top:1}},Gi,UD().map(a=>({text:a.text??"",style:zi,muted:a.tone==="muted"})),e,o)};function KD(e,o,t,a,r,n){return yo(V,r,n,{...nn,...o,blockSpacing:"gap",padV2:!0,name:e,sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom,sectionPaddingTopPhone:t.topPhone,sectionPaddingBottomPhone:t.bottomPhone,content:a.map(s=>yo("Text",r,n,{text:s.text,...s.muted?{tone:"dim"}:{},_partStyles:{text:s.style}}))})}function VD(e){return Xu[e]??null}import{isNodeList as td}from"efficient-easel/data";var GGe=Object.keys(Zy),yne={Logos:hL,DocMasthead:_F,Timeline:ZL,TimelineTrack:QL},Sne={PaymentBadges:xL,PaymentLogosBlock:gL};function Ju(e,o,t){let a={};for(let r of Object.keys(o(e.type)))a[r]=void 0;for(let[r,n]of Object.entries(e.props))a[r]=td(n)?n.map(s=>Ju(s,o,t)):n;return a.id=t(e.type),{type:e.type,props:a}}var qD=e=>({...e?.theme?{theme:e.theme}:{},press:!0});function Zu(e,o,t=0,a=()=>({})){return(r,n,s)=>{let{nodes:l}=Ts({type:e,props:{...r(e),...a(),id:n(e)}},o,qD(s));return Ju(l[t],r,n)}}var wne={Stats:vne,Cards:Cne};function Cne(){let e=Xa("Cards");if(!e)return null;let o=Zu("Cards",e,0,zR);return(t,a,r)=>{let n=o(t,a,r);return{...n,props:{...n.props,name:"Cards section"}}}}function vne(){let e=Xa("StatsParagraph");return e?(o,t,a)=>{let{nodes:r}=Ts({type:"StatsParagraph",props:{...o("StatsParagraph"),...oL(),id:t("StatsParagraph")}},e,qD(a)),n=r[0],s=td(n.props.content)?n.props.content.filter(f=>f.props?.cardStyle===void 0):[],l=XD(uy(tL(),"table")),d=s.map(YD),c=Ju({...n,props:{...n.props,content:[...d,l]}},o,t);return{...c,props:{...c.props,name:"Stats section"}}}:null}function YD(e){if(e.props?.name==="Words"){let o=td(e.props.content)?e.props.content.map(kne):e.props.content;return{...e,props:{...e.props,widthFitPhone:"fill",content:o}}}return td(e.props?.content)?{...e,props:{...e.props,content:e.props.content.map(YD)}}:e}function kne(e){return e.type!=="Text"?e:{...e,props:xa({...e.props,alignTablet:"left"},"text","alignTablet","left")}}var XD=e=>wo([e],(o,t)=>`${o}-seed-${t}`)[0];function Tne(e,o){if(!oR(e,o))return null;let t=wne[e];if(t)return t();let a=Xa(e);return a?Zu(e,a,0,yne[e]??Sne[e]):null}function Pne(e){return(o,t,a)=>{let r=n=>{if(n.type==="Stats"){let d=Ju(XD(uy([],"list")),o,t);return{...d,props:{...d.props,name:"Numbers"}}}let s=!1,l={};for(let[d,c]of Object.entries(n.props))if(td(c)){let f=c.map(r);s||=f.some((u,p)=>u!==c[p]),l[d]=f}else l[d]=c;return s?{type:n.type,props:l}:n};return r(e(o,t,a))}}function Ms(e,o=Oi){let t=VD(e);return t?Pne(t):Tne(e,o)}function ad(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function One(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function bS(e,o,t,a){e.forEach((r,n)=>{if(IS(r)){a.push({node:r,list:e,index:n,parent:o,slot:t});for(let[s,l]of Object.entries(r.props))Array.isArray(l)&&l.some(IS)&&bS(l,r,s,a)}})}function _ne(e){let o=[];bS(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&bS(t,null,"",o);return o}function QD(e,o){return _ne(e).find(t=>String(t.node.props.id)===o)}function eN(e,o,t){if(!t)return null;let a=QD(o,t);if(!a)return null;let r=ad(e,a.node.type),n=a.parent?`${ad(e,a.parent.type)} \xB7 ${One(a.slot)} ${a.index+1}`:r;return{blockId:t,type:a.node.type,label:n,path:""}}var Ane=e=>e.filter(o=>!!o&&typeof o=="object"&&"value"in o).map(o=>typeof o.label=="string"?{value:o.value,label:o.label}:{value:o.value});function Rne(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[Ene]:void 0,a={type:t?.type??o.type},r=t?.label??o.label;typeof r=="string"&&(a.label=r);let n=t?.options??o.options;Array.isArray(n)&&(a.options=Ane(n));for(let s of["arrayFields","objectFields"]){let l=t?.[s]??o[s];l&&typeof l=="object"&&(a[s]=oN(l))}return a}function oN(e){let o={};for(let[t,a]of Object.entries(e??{})){let r=Rne(a);r&&(o[t]=r)}return o}function tN(e){let o={};for(let[t,a]of Object.entries(e.components))a&&(o[t]={label:ad(e,t),fields:oN(a.fields),...aN(t)?{retired:!0}:{}});return o}function aN(e){return Object.prototype.hasOwnProperty.call(Am,e)}function JD(e,o){let t=e.components[o]?.defaultProps;return t&&typeof t=="object"?structuredClone(t):{}}function Lne(e,o){let t=e;for(let a of o?o.split("."):[]){let r=/^([A-Za-z_][A-Za-z0-9_]*)(?:\[(\d+)\])?$/.exec(a);if(!r||!t||typeof t!="object")return null;t=t[r[1]],r[2]!==void 0&&(t=Array.isArray(t)?t[Number(r[2])]:void 0)}return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function yS(e,o){return e.findIndex(t=>IS(t)&&String(t.props.id)===o)}function ZD(e,o,t){let a=o||t;if(!a)return e.length;let r=yS(e,a);if(r<0)throw new Error(`there is no top-level block ${a}`);return o?r+1:r}function rN(e,o,t,a,r={}){let n=structuredClone(o),s=Array.isArray(n.content)?n.content:n.content=[];try{t.forEach((l,d)=>{let c=f=>{throw new Error(`change ${d+1}: ${f}`)};switch(l.op){case"set_props":{let f=QD(n,l.block_id)??c(`there is no block ${l.block_id}`);"id"in l.props&&c("a block's id is never changed");let u=Lne(f.node.props,l.path)??c(`there is no ${l.path} in that block`);Object.assign(u,structuredClone(l.props));break}case"insert_block":{e.components[l.type]??c(`there is no block type ${l.type}`),aN(l.type)&&c(`${ad(e,l.type)} is retired: it is no longer added (a page that holds one keeps it)`);let f=Ms(l.type),u=Object.keys(l.props??{}).filter(x=>x!=="id");f&&u.length&&c(`${ad(e,l.type)} is laid down as a Box of blocks: insert it with no props, then change its blocks`);let p=f?f(x=>JD(e,x),a,r):{type:l.type,props:{...JD(e,l.type),...structuredClone(l.props),id:a(l.type)}};s.splice(ZD(s,l.after,l.before),0,p);break}case"remove_block":{let f=yS(s,l.block_id);f<0&&c(`there is no top-level block ${l.block_id}`),s.splice(f,1);break}case"move_block":{let f=yS(s,l.block_id);f<0&&c(`there is no top-level block ${l.block_id}`);let[u]=s.splice(f,1);s.splice(ZD(s,l.after,l.before),0,u);break}default:c(`"${l.op}" is not a change this editor makes`)}})}catch(l){return{ok:!1,reason:l instanceof Error?l.message:String(l)}}return{ok:!0,document:n}}var SS=e=>Z(e.requestId)??null;function lN(){let e=Dne(),{appState:o,selectedItem:t,dispatch:a,history:r,config:n}=Bne(p=>p),s=n,l=sN({appState:o,dispatch:a,history:r,blockConfig:s});l.current={appState:o,dispatch:a,history:r,blockConfig:s};let d=sN(new Map),c=t?.props?.id,f=Fne(()=>eN(s,o.data,c),[s,o.data,c]),u=f?JSON.stringify(f):"";nN(()=>{e.connected&&e.send("storefront-editor:selection",{selection:f})},[e,u]),nN(()=>e.subscribe(p=>{let{appState:x,dispatch:g,history:I,blockConfig:k}=l.current;switch(p.type){case"storefront-editor:request-document":{let S=SS(p);if(!S)return;e.send("storefront-editor:document",{requestId:S,document:x.data,blocks:tN(k)});return}case"storefront-editor:apply-page-edits":{let S=SS(p);if(!S)return;let C=Array.isArray(p.ops)?p.ops:[],b=C.length?rN(k,x.data,C,v=>`${v}-${crypto.randomUUID()}`,Yu()):{ok:!1,reason:"no changes"};b.ok&&(g({type:"setData",data:b.document,recordHistory:!0}),d.current.set(S,JSON.stringify(b.document.content??[]))),e.send("storefront-editor:page-edits-result",{requestId:S,applied:b.ok,reason:b.ok?null:b.reason});return}case"storefront-editor:undo-page-edits":{let S=SS(p);if(!S)return;let C=d.current.get(S),b=C!==void 0&&C===JSON.stringify(x.data.content??[]);b&&I.hasPast&&(I.back(),d.current.delete(S)),e.send("storefront-editor:page-edits-result",{requestId:S,applied:b&&I.hasPast,reason:b?null:"the page has changed since"});return}case"storefront-editor:set-right-panel":typeof p.shown=="boolean"&&g({type:"setUi",ui:{rightSideBarVisible:p.shown}});return;default:return}}),[e])}import{useEffect as cN,useState as fN}from"react";var Qu=new Map;async function Nne(e,o){try{return(await ze().site.get({siteId:o})).slug?.trim()||null}catch(t){return console.warn("[editor-site-slug] could not resolve the site slug",t),null}}function iN(e,o){let t=Qu.get(o);return t||(t=Nne(e,o),Qu.set(o,t),t.catch(()=>{Qu.get(o)===t&&Qu.delete(o)})),t}var Mne=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function wS(e){return!!e&&Mne.test(e)}function dN(e){let{pageSlug:o,siteSlug:t,hostname:a}=e,r=o===mc?"/":`/${encodeURIComponent(o)}`;if(!wS(a))return r;let n=t?.trim();return n?`${r}?site=${encodeURIComponent(n)}`:r}function pN(e){let{pageSlug:o,siteId:t,token:a}=e,[r,n]=fN(null),[s,l]=fN(null),d=Pn();cN(()=>l(d?new URL(d).hostname:window.location.hostname),[d]),cN(()=>{if(!wS(s)||!t||!a){n(null);return}let f=!1;return iN(a,t).then(u=>{f||n(u)}),()=>{f=!0}},[s,t,a]);let c=dN({pageSlug:o,siteSlug:r,hostname:s});return d?`${d}${c}`:c}import{jsx as rd}from"react/jsx-runtime";import{useEffect as Hne,useRef as uN,useState as Wne}from"react";import{ExternalIcon as mN}from"efficient-easel/icons";import{EaselIconButton as Gne}from"efficient-easel/chrome";import{Tooltip as $ne,iconButtonClasses as zne}from"efficient-shell/ui";import{useSettledPress as Une}from"efficient-easel/easel";import{useScreenDocument as jne}from"efficient-easel/screen/components/ScreenDocumentContext";async function Kne({pageId:e,liveHref:o,draftLink:t,ready:a=async()=>!0,win:r=window}){let n=r.open("","_blank");if(n)try{n.opener=null}catch{}let s=l=>{n&&!n.closed?n.location.href=l:r.open(l,"_blank","noopener,noreferrer")};try{await a()}catch{}return t(e).then(l=>s(l.url??o),()=>s(o))}function hN({liveHref:e,pageId:o,draftLink:t}){let{flushSave:a}=jne(),r=uN(a);r.current=a;let n=Une(),[s,l]=Wne(!1),d=uN(null);if(Hne(()=>()=>d.current?.(),[]),t&&o){let c=()=>new Promise((u,p)=>{d.current=()=>u(!1),n.run(()=>{d.current=null,r.current().then(u,p)})}),f=()=>{s||n.waiting||(l(!0),Kne({pageId:o,liveHref:e,draftLink:t,ready:c}).finally(()=>l(!1)))};return rd(Gne,{label:i("Preview your saved draft in a new tab"),tip:i("Open your saved draft in a new tab. Visitors don't see it."),disabled:s||n.waiting,onClick:f,children:rd(mN,{})})}return rd($ne,{content:i("Preview the live site (opens in a new tab)"),side:"bottom",children:rd("a",{className:zne({className:"es-iconbtn"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":i("Preview the live site in a new tab"),children:rd(mN,{})})})}import{createElement as Jne,useCallback as Zne,useEffect as RN,useRef as LN,useState as Qne}from"react";import{ClockIcon as ese}from"efficient-shell/icons/efficient";import{useScreenDocument as ose}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as Vne}from"react";import{useScreenDocument as qne}from"efficient-easel/screen/components/ScreenDocumentContext";var Yne=()=>()=>{},xN=()=>null;function em(e){return Vne(e?e.subscribe:Yne,e?e.state:xN,e?e.state:xN)}function om(){let{adapter:e}=qne();return e?.pinnedChrome}import{useSyncExternalStore as bN}from"react";var nd=!1,Hs=null,CS=new Set;function ld(){for(let e of CS)e()}function yN(e){return CS.add(e),()=>{CS.delete(e)}}function SN(){nd||(nd=!0,ld())}function wN(){nd&&(nd=!1,ld())}function gN(){return nd}function CN(){return bN(yN,gN,gN)}function IN(){return Hs}function tm(){Hs&&(Hs=null,ld())}function vN(){return bN(yN,IN,IN)}var sd=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function kN(e,o,t,{flushSave:a,reload:r}){if(!await a())throw new sd;let n=await e.restore(o,t);return Ac(n.liveState),r(),n}async function TN({access:e,version:o,page:t,...a}){let r=await kN(e,o.id,t?{page:t.id}:{},a);Hs={title:Xne(o,t??null),undo:r.undo},ld()}async function PN({access:e,...o}){let t=Hs?.undo;t&&(await kN(e,t,{},o),Hs=null,ld())}function EN(e){return e.name?e.name:e.kind==="draft_before_restore"?i("Draft before restore"):i("Version {n}",{n:e.number})}function Xne(e,o){return e.kind==="draft_before_restore"?i("Your drafts from before the restore are back"):o?i("{page} from version {n} is now your draft",{page:o.name,n:e.number}):i("Version {n} is now your draft",{n:e.number})}function ON(e){let o=e.changes.filter(a=>a.kind==="page").length,t=[...o?[Po("{n} page","{n} pages",o)]:[],...e.changes.filter(a=>a.kind!=="page").map(a=>a.name)];if(!t.length)return"";try{return new Intl.ListFormat(Pm(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function _N(e){return e.change==="take_down"?i("{name} (taken down)",{name:e.name}):e.name}function AN(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=Pm(),r=new Intl.DateTimeFormat(a,{hour:"numeric",minute:"2-digit"}).format(t);if(t.toDateString()===o.toDateString())return i("Today, {time}",{time:r});let n=new Intl.DateTimeFormat(a,{day:"numeric",month:"short",...t.getFullYear()===o.getFullYear()?{}:{year:"numeric"}}).format(t);return i("{day}, {time}",{day:n,time:r})}function FN(e){let{docId:o,capabilities:t,hasUnsavedEdits:a,onPublish:r,adapter:n}=ose(),s=AA(_A(o??null),a),l=em(om()),d=n.siteLiveState;RN(()=>{if(d)return Lx(d),sa(0),()=>Lx(null)},[d]);let c=Rc(),[f,u]=Qne(!1),p=LN(e);p.current=e;let x=LN(!0);RN(()=>(x.current=!0,()=>{x.current=!1}),[]);let g=Zne(()=>{u(!0),r(p.current).then(()=>{tm()}).finally(()=>{x.current&&u(!1)})},[r]);if(t.canPublish){if(d){let I=c===void 0?void 0:a||c.state==="changed"?"changed":"live",k=Mb({live:I,onPress:g,busy:f,goingLive:RA(c?.changes??[])});return n.siteVersions?{...k,menuItems:tse()}:k}return Mb({live:s,onPress:g,busy:f,pinnedUnpublished:l?.unpublished??!1})}}function tse(){return[{key:"version-history",label:i("Version history"),icon:Jne(ese),onSelect:SN}]}import{jsx as ee,jsxs as Jo,Fragment as cd}from"react/jsx-runtime";import{useCallback as ase,useEffect as rse,useId as NN,useRef as nse,useState as ct}from"react";import{useSettledAction as sse}from"efficient-easel/easel";import{Avatar as lse,Banner as id,Button as fn,ColoredBadge as vS,Dialog as MN,Drawer as ise,DropdownMenu as dse,FormField as HN,iconButtonClasses as cse,Inline as kS,Input as fse,ListRow as pse,Select as use,SortableList as mse,Stack as dd}from"efficient-shell/ui";import{EditIcon as hse,EyeIcon as BN,MenuIcon as xse,MoreIcon as gse,PageIcon as WN,RevertIcon as DN,StylesIcon as Ise}from"efficient-shell/icons/efficient";import{useScreenDocument as GN}from"efficient-easel/screen/components/ScreenDocumentContext";var bse={page:WN,menu:xse};function yse(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function Sse(e,o){let t=window.open("","_blank");if(t)try{t.opener=null}catch{}return e.preview(o).then(({url:a})=>{t&&!t.closed?t.location.href=a:window.open(a,"_blank","noopener,noreferrer")},a=>{throw t?.close(),a})}function wse({version:e,page:o,waiting:t,busy:a,error:r,onCancel:n,onConfirm:s,onPage:l}){let d=NN();if(!e)return null;let c=e.kind==="draft_before_restore",f=e.number,u=ON(e),p=c?i("Put your drafts back?"):o?i("Restore {page} from version {n}?",{page:o.name,n:f}):i("Restore version {n}?",{n:f}),x=c?i("Your drafts go back to how they were before the restore."):o?i("{page} goes back to version {n} as a draft. Nothing else on your website changes.",{page:o.name,n:f}):u?i("The whole website goes back to version {n} as a draft: {what}.",{n:f,what:u}):i("The whole website goes back to version {n} as a draft.",{n:f}),g=e.deletedPictures??0;return ee(MN,{open:!0,onClose:()=>{a||n()},size:"sm",title:p,footer:Jo(cd,{children:[ee(fn,{variant:"secondary",onClick:n,disabled:a,children:i("Cancel")}),ee(fn,{onClick:s,loading:a,disabled:a,children:i("Restore as draft")})]}),children:Jo(dd,{gap:4,children:[o&&e.pages.length>1?ee(HN,{label:i("Page"),htmlFor:d,children:ee(use,{id:d,value:o.id,options:e.pages.map(I=>({value:I.id,label:I.name})),onChange:l,disabled:a})}):null,ee("p",{children:x}),ee("p",{children:i("Your live website does not change until you press Publish.")}),g>0?ee(id,{tone:"warning",children:Po("{n} picture in this version was deleted from the media library. It stays empty.","{n} pictures in this version were deleted from the media library. They stay empty.",g)}):null,t?ee(id,{tone:"info",title:i("Your unpublished changes are kept"),children:i("They are saved in Version history as \u201CDraft before restore\u201D, so you can get them back.")}):null,r?ee(id,{tone:"danger",children:r}):null]})})}function Cse({version:e,onCancel:o,onSave:t}){let a=NN(),[r,n]=ct(null),[s,l]=ct(""),[d,c]=ct(!1),[f,u]=ct(null);if(e!==r&&(n(e),l(e?.name??""),u(null)),!e)return null;let p=s.trim()===e.name,x=async()=>{if(!(d||p)){c(!0),u(null);try{await t(s.trim())}catch{u(i("The name was not saved. Try again."))}finally{c(!1)}}};return ee(MN,{open:!0,onClose:()=>{d||o()},size:"sm",title:i("Name this version"),footer:Jo(cd,{children:[ee(fn,{variant:"secondary",onClick:o,disabled:d,children:i("Cancel")}),ee(fn,{onClick:()=>{x()},loading:d,disabled:d||p,children:i("Save")})]}),children:ee(HN,{label:i("Name"),htmlFor:a,hint:i("Named versions are always kept. Leave it empty to take the name away."),error:f??void 0,children:ee(fse,{id:a,value:s,invalid:!!f,onChange:g=>l(g.target.value),onKeyDown:g=>{g.key==="Enter"&&x()}})})})}function vse({version:e,expanded:o,onToggle:t,onPreview:a,onRestore:r,onRestorePage:n,onName:s}){let l=e.kind==="draft_before_restore",d=!e.live,c=e.changes.length,f=[...l?[]:[{key:"preview",label:i("Preview"),icon:ee(BN,{}),onSelect:a}],...d?[{key:"restore",label:l?i("Put these drafts back"):i("Restore whole website"),icon:ee(DN,{}),onSelect:r}]:[],...d&&!l&&e.pages.length?[{key:"restore-page",label:i("Restore one page only"),icon:ee(WN,{}),onSelect:n}]:[],...l?[]:[{type:"divider",key:"divider"},{key:"name",label:i("Name this version"),icon:ee(hse,{}),onSelect:s}]];return ee(pse,{title:Jo("span",{className:"sf-version-title",children:[ee("span",{children:EN(e)}),e.live?ee(vS,{tone:"success",size:"xs",children:i("Live")}):null,e.name?ee(vS,{tone:"neutral",size:"xs",children:i("Version {n}",{n:e.number})}):null,l?ee(vS,{tone:"warning",size:"xs",children:i("Not published")}):null]}),expanded:o,onToggle:t,actions:ee(dse,{align:"end","aria-label":i("More"),items:f,triggerClassName:cse({variant:"ghost",size:"sm"}),trigger:ee(gse,{})}),below:Jo(dd,{gap:3,children:[Jo(kS,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[ee(lse,{name:e.createdBy,size:"xs"}),ee("span",{children:e.createdBy}),ee("span",{"aria-hidden":"true",children:"\xB7"}),ee("span",{children:AN(e.createdAt)}),c?Jo(cd,{children:[ee("span",{"aria-hidden":"true",children:"\xB7"}),ee("span",{children:Po("{n} change","{n} changes",c)})]}):null]}),o?Jo(dd,{gap:3,children:[c?ee(dd,{gap:2,children:e.changes.map(u=>{let p=bse[u.kind]??Ise;return Jo(kS,{gap:2,align:"center",children:[ee(p,{size:16}),ee("span",{children:_N(u)})]},`${u.kind}:${u.id}`)})}):null,Jo(kS,{gap:2,children:[l?null:ee(fn,{variant:"secondary",size:"sm",leftIcon:ee(BN,{}),onClick:a,children:i("Preview")}),d?ee(fn,{variant:"secondary",size:"sm",leftIcon:ee(DN,{}),onClick:r,children:i("Restore")}):null]})]}):null]})})}function kse({open:e,onClose:o,access:t,waiting:a}){let{flushSave:r,reloadFromServer:n,docId:s}=GN(),[l,d]=ct(null),[c,f]=ct(!1),[u,p]=ct(null),[x,g]=ct(null),[I,k]=ct(!1),[S,C]=ct(null),[b,v]=ct(null),[T,F]=ct(!1),P=nse(0),D=ase(()=>{let y=++P.current;f(!1),t.list().then(A=>{y===P.current&&d(A)},()=>{y===P.current&&f(!0)})},[t]);rse(()=>{e&&D()},[e,D]);let O=y=>{F(!1),Sse(t,y.id).catch(()=>F(!0))},R=async()=>{if(!(!x||I)){k(!0),C(null);try{await TN({access:t,version:x.version,page:x.page,flushSave:r,reload:n}),g(null),o()}catch(y){C(y instanceof sd?i("Your last changes did not save, so nothing was restored. Try again."):i("The version was not restored. Nothing changed. Try again."))}finally{k(!1)}}},N=sse({onPress:()=>{R()},busy:I});return Jo(cd,{children:[ee(ise,{open:e,onClose:o,side:"right",size:"md",title:i("Version history"),description:Jo(cd,{children:[i("Every Publish keeps a copy of the whole website: pages, menus and site styles.")," ",i("Products, prices and forms always show as they are now.")]}),footer:ee("span",{className:"sf-version-foot",children:i("The newest 30 are kept. Named versions are always kept.")}),children:Jo(dd,{gap:3,children:[T?ee(id,{tone:"danger",onDismiss:()=>F(!1),children:i("The preview did not open. Try again.")}):null,c?ee(id,{tone:"danger",action:ee(fn,{variant:"secondary",size:"sm",onClick:D,children:i("Try again")}),children:i("Version history did not load.")}):l===null?ee("p",{className:"sf-version-foot",children:i("Loading versions")}):l.length===0?ee("p",{className:"sf-version-foot",children:i("No versions yet. Every Publish from now on keeps one.")}):ee(mse,{"aria-label":i("Versions"),spacing:"comfortable",children:l.map(y=>ee(vse,{version:y,expanded:u===y.id,onToggle:()=>p(A=>A===y.id?null:y.id),onPreview:()=>O(y),onRestore:()=>{C(null),g({version:y,page:null})},onRestorePage:()=>{C(null),g({version:y,page:yse(y,s)})},onName:()=>v(y)},y.id))})]})}),ee(wse,{version:x?.version??null,page:x?.page??null,waiting:a,busy:N.busy===!0,error:S,onCancel:()=>g(null),onConfirm:N.onPress,onPage:y=>g(A=>A&&{...A,page:A.version.pages.find(L=>L.id===y)??A.page})}),ee(Cse,{version:b,onCancel:()=>v(null),onSave:async y=>{await t.name(b.id,y),v(null),D()}})]})}function $N(){let{adapter:e,hasUnsavedEdits:o}=GN(),t=e.siteVersions,a=CN(),r=Rc();return t?ee(kse,{open:a,onClose:wN,access:t,waiting:o||r?.state==="changed"}):null}import{useEaselSession as MM}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as K$e,categoryLabel as V$e,paletteWithoutPinned as q$e,pinnedSection as Y$e}from"efficient-easel/screen/lib/document/palette-sections";var Tse={openers:{label:"Hero & intros",icon:"image"},shop:{label:"Shop & galleries",icon:"bag"},product:{label:"Product page",icon:"box"},checkout:{label:"Checkout & ordering",icon:"bag"},about:{label:"About & brand story",icon:"book"},content:{label:"Text & content",icon:"type"},proof:{label:"Stats & social proof",icon:"star"},promo:{label:"Promotions & sign-ups",icon:"sparkles"},blog:{label:"Blog & journal",icon:"newspaper"},navigation:{label:"Navigation & wayfinding",icon:"bookmark"},legal:{label:"Legal & documents",icon:"file"},contact:{label:"Contact, FAQ & forms",icon:"mail"},structure:{label:"Layout, structure & embeds",icon:"grid"},layouts:{label:"Layouts",icon:"layers"}};function zN(e){return Tse[e]?.label}var UN=Lm;import{currentEaselSession as U2}from"efficient-easel/screen/lib/session";import{blockTypesIn as G2}from"efficient-easel/screen/lib/document/block-types-in";import{jsx as ft,jsxs as B2}from"react/jsx-runtime";import{createContext as Tle,useContext as Ple,useEffect as Ele,useRef as Ole,useState as D2}from"react";import{jsx as Ws,jsxs as n2}from"react/jsx-runtime";import{useEffect as Gs,useRef as qse,useState as un}from"react";import{jsx as pn}from"react/jsx-runtime";import{Component as _se,createContext as Ase,lazy as nze,Suspense as sze,useContext as Rse}from"react";var Pse="hrefRewrite";function Ese(){return Ta("efficient.link-href-rewrites",()=>({rewrites:new Map,count:0,missed:new Set}))}function Ose(){return typeof process<"u"&&!0}function Q$e(e){let o=e?.[Pse];return typeof o=="string"?o.trim():""}function jN(e){if(!e)return null;let o=Ese(),t=o.rewrites.get(e);return!t&&!Ose()&&o.missed.add(e),t??null}var Lse={Link:ww,Image:Sw},KN=Ase(Lse);function cze({runtime:e,children:o}){return pn(KN.Provider,{value:e,children:o})}function PS(){return Rse(KN)}function fze(){return PS().pagePath??null}function pze({hrefRewrite:e,...o}){let{Link:t}=PS(),a=jN(e);return a?pn(TS,{name:a.name,href:o.href,fallback:pn(t,{...o}),children:pn(Fse,{Link:t,rewrite:a.rewrite,...o})},a.key):pn(t,{...o})}function Fse({Link:e,rewrite:o,...t}){let a=Z(o(t.href)),r=a&&oC(a)?a:t.href;return pn(e,{...t,href:r})}var TS=class extends _se{state={failed:!1,href:this.props.href};static getDerivedStateFromProps(o,t){return o.href===t.href?null:{failed:!1,href:o.href}}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(o){console.error(`The link href rewrite ${this.props.name} failed; the link goes where it was typed.`,o)}render(){return this.state.failed?this.props.fallback:this.props.children}};function VN(e){let{Image:o}=PS();return pn(o,{...e})}import{jsx as qN,Fragment as Bse,jsxs as Dse}from"react/jsx-runtime";import{useEffect as Nse,useRef as YN,useState as Mse}from"react";var Hse="#t=0.001",Wse=2;function Gse(e,o){if(e.readyState<Wse||!e.videoWidth||!e.videoHeight)return!1;let t=o.getContext("2d");return t?(o.width=e.videoWidth,o.height=e.videoHeight,t.drawImage(e,0,0,o.width,o.height),!0):!1}function XN({src:e,objectPosition:o="50% 50%",onError:t}){let a=YN(null),r=YN(null),[n,s]=Mse(!1);return Nse(()=>{let l=a.current,d=r.current;if(n||!l||!d)return;let c=()=>{Gse(l,d)&&s(!0)};return c(),l.addEventListener("loadeddata",c),l.addEventListener("seeked",c),()=>{l.removeEventListener("loadeddata",c),l.removeEventListener("seeked",c)}},[n]),Dse(Bse,{children:[qN("canvas",{ref:r,"aria-hidden":!0,className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:o,visibility:n?"visible":"hidden"}}),!n&&qN("video",{ref:a,src:`${e}${Hse}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as QN,imageSrcSet as $se}from"efficient-shell/image-copies";var JN;function ES(){return JN===void 0?{}:{host:JN}}var Ize="(max-width: 800px) 100vw, min(100vw, 1600px)",bze="(max-width: 960px) 100vw, 50vw";function e2(e,{fallbackWidth:o=1280,maxWidth:t}={}){let a=$se(e,{...ES(),...t===void 0?{}:{maxWidth:t}});return a?{src:QN(e,o,ES()),srcSet:a}:{src:e}}var zse=/[\s"'()\\;]/,Use={"\\":"\\\\",'"':'\\"',"\n":"\\a ","\r":"\\d ","\f":"\\c "};function ZN(e){return e.replace(/[\\"\n\r\f]/g,o=>Use[o]??o)}function yze(e){let o=QN(e,1920,ES());return o===e?zse.test(e)?`url("${ZN(e)}")`:`url(${e})`:`url("${ZN(o)}")`}import{jsx as o2}from"react/jsx-runtime";import{createContext as jse,useContext as Kse,useMemo as vze}from"react";var t2=jse(null);function a2({children:e}){return o2(t2.Provider,{value:"below",children:e})}function fd(){return Kse(t2)}function Vse(){return fd()==="below"?{loading:"lazy"}:{}}function r2(e){let o=Vse();return o2("img",{...e,...o})}var kze="laterSlideIds";var Yse=.5;function pd({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:a=Yse,objectPosition:r="50% 50%",objectPositionPhone:n,objectPositionTablet:s,quiet:l=!1,slideShown:d,laterSlide:c=!1,laterOfLead:f=!1}){let u=yT(n,s),p=fd(),[x,g]=un(!1),I=p==="below"&&!x,k=p==="first",S=o||"",C=e||"",[b,v]=un(!1),[T,F]=un(!1),[P,D]=un(!1),[O,R]=un(!1),N=d??!0,[y,A]=un(!1),L=p!=="first"&&!f,[H,X]=un(!1),q=qse(null);Gs(()=>{if(!L)return;if(document.readyState==="complete"){X(!0);return}let te=()=>X(!0);return window.addEventListener("load",te,{once:!0}),()=>window.removeEventListener("load",te)},[L]),Gs(()=>{v(!1),F(!1),D(!1),R(!1)},[e,o]),Gs(()=>{N&&A(!0)},[N]),Gs(()=>{let te=q.current;te&&(N?te.play()?.catch(()=>{}):te.pause())},[N,y,H]),Gs(()=>{if(!c||L&&!H)return;let te=()=>g(!0);if(typeof window.requestIdleCallback=="function"){let We=window.requestIdleCallback(te,{timeout:2e3});return()=>window.cancelIdleCallback(We)}let Re=setTimeout(te,800);return()=>clearTimeout(Re)},[c,L,H]),Gs(()=>{let te=q.current;if(!te)return;let Re=()=>{te.playbackRate=a};return Re(),te.addEventListener("loadedmetadata",Re),()=>te.removeEventListener("loadedmetadata",Re)},[e,a]);let U=Cw(S),ge=S&&U&&!T?e2(S):{src:S};return n2("div",{className:"absolute inset-0 z-[1]",children:[Ws("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),S&&(U?Ws("img",{src:ge.src,...ge.srcSet?{srcSet:ge.srcSet,sizes:"100vw"}:{},alt:"",...I?{loading:"lazy"}:{},...k?{fetchPriority:"high"}:{},className:`absolute inset-0 z-[2] h-full w-full object-cover ${u.className}`.trim(),style:{display:b?"none":"block",objectPosition:r,...u.style},onError:()=>ge.srcSet?F(!0):v(!0)},S):Ws(VN,{src:S,alt:"",fill:!0,...I?{}:x?{loading:"eager"}:{priority:!0},sizes:"100vw",className:`z-[2] object-cover ${u.className}`.trim(),style:{display:b?"none":"block",objectPosition:r,...u.style},onError:()=>v(!0)},S)),t&&!l&&C&&y&&(!L||H)&&!P&&n2("video",{ref:q,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:r},onError:()=>D(!0),children:[vw(C)&&Ws("source",{src:C.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),Ws("source",{src:C,type:"video/mp4"})]},C),t&&l&&C&&y&&(!L||H)&&!O&&(!S||b)&&Ws(XN,{src:C,objectPosition:r,onError:()=>R(!0)},C)]})}import{Fragment as p2,jsx as zo,jsxs as AS}from"react/jsx-runtime";import{MOTION_TIMING as Xse}from"efficient-shell/format";var d2="grayscale(1) contrast(1.03)",Nze="Black and white";function Jse(e){return e===!0?{filter:d2}:{}}function Zse(e){let{filter:o}=Jse(e);return o?{style:{filter:o}}:{}}var hn="sf-photo-grayscale",_S="data-sf-photo-host",s2={duration:"--sf-photo-hover-duration",delay:"--sf-photo-hover-delay"},sm=`@media (hover:hover){.${hn}{filter:${d2};transition:filter var(--sf-photo-hover-duration,var(--page-motion-hover-duration)) var(--page-ease-media) var(--sf-photo-hover-delay,var(--page-motion-hover-delay))}.${hn}:hover,[data-sf-photo-host]:hover .${hn}{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${hn}{transition:none}}`;function c2(e){let o=Xse.hover,t={...e.duration!==o.duration.default?{[s2.duration]:`${e.duration}s`}:{},...e.delay!==o.delay.default?{[s2.delay]:`${e.delay}s`}:{}};return Object.keys(t).length?t:void 0}function f2(e,o,t){if(e===!0)return Zse(!0);if(t?.kind==="mono"){let a=c2(t);return{className:hn,sheet:sm,...a?{style:a}:{}}}return e===!1?{}:o===!0?{className:hn}:{}}var mn="sf-photo-next",l2="data-sf-repeat",OS="sf-photo-zoom",Qse="--sf-photo-zoom",Mze="sf-photo-wash",am="sf-photo-wash-rest",ud="sf-photo-wash-hover",rm="sf-photo-frame",nm=(e,o)=>{let t=`:not([${l2}]:not(:hover) .${e})`;return`${o},[${l2}]:hover .${e}${t},[${_S}]:hover .${e}${t}`},i2=e=>`${e} var(--sf-photo-hover-duration,var(--page-motion-hover-duration)) var(--page-ease-media) var(--sf-photo-hover-delay,var(--page-motion-hover-delay))`,ele=`.${mn}{opacity:0}.${ud}{opacity:0}@media (hover:hover){.${mn},.${am},.${ud}{transition:${i2("opacity")}}${nm(mn,`.${mn}:hover,.${rm}:hover .${mn}`)},${nm(ud,`.${rm}:hover .${ud}`)}{opacity:1}${nm(am,`.${rm}:hover .${am}`)}{opacity:0}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.${OS}{transition:${i2("transform")}}${nm(OS,`.${rm}:hover .${OS}`)}{transform:scale(var(${Qse}))}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${mn},.${am},.${ud}{transition:none}}`;function Hze(e){if(e?.kind!=="nextImage")return null;let o=c2(e);return{className:mn,sheet:ele,...o?{style:o}:{}}}function Wze(e){return e===!0?{[hn]:sm}:{}}import{hidableText as ole}from"efficient-easel/draw";var tle={one:"max-view-tablet:grid-cols-1 max-view-tablet:grid-rows-1",side:"max-view-tablet:grid-cols-2 max-view-tablet:grid-rows-1",stacked:"max-view-tablet:grid-cols-1 max-view-tablet:grid-rows-2"},ale={one:"view-tablet:grid-cols-1 view-tablet:grid-rows-1",side:"view-tablet:grid-cols-2 view-tablet:grid-rows-1",stacked:"view-tablet:grid-cols-1 view-tablet:grid-rows-2"};function u2(e){let o=e.isVideo&&Iv(e.videoSource)==="youtube",t=e.isVideo&&bv(e.videoPlayback)==="click",a=o?yv(ole(e.youtubeUrl)):null,r=dp(e.mediaLayout);return{fromYouTube:o,onClick:t,youTubeId:a,backgroundFile:e.isVideo&&!o&&!t,desktopLayout:r,phoneLayout:DI(e.mediaLayoutPhone,r),twoPictures:!e.isVideo&&ri(e)>1}}function md(e,o){return bp(Ss({_partMotion:e},o))}function $s(e,o){return f2(void 0,void 0,hC(Ss({_partMotion:e},o)))}function m2(e){return Ur.some(o=>$s(e,o).className)?{hostAttrs:{[_S]:""},sheet:sm}:{}}function lm({treatment:e,children:o}){return e.className?zo("div",{className:`absolute inset-0 ${e.className}`,...e.style?{style:e.style}:{},children:o}):zo(p2,{children:o})}function im({color:e,opacity:o,passClicks:t=!0}){return o>0?zo("div",{className:t?"pointer-events-none absolute inset-0 z-[2]":"absolute inset-0 z-[2]",style:{background:e,opacity:Math.min(Math.max(o,0),100)/100}}):null}function dm({part:e,editing:o,marked:t=!0,entrance:a,className:r,children:n}){let s=o&&t?{[E_]:e}:void 0;return a?zo(by,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:r,boxAttrs:s,children:n}):zo("div",{className:r,...s,children:n})}function h2({partMotion:e,editing:o,children:t}){let a=md(e,"media"),r=$s(e,"media"),n=r.className?zo("div",{className:`absolute inset-0 z-[1] ${r.className}`,...r.style?{style:r.style}:{},children:t}):t;return a?zo(by,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:"absolute inset-0 z-[1]",children:n}):zo(p2,{children:n})}function x2({desktopLayout:e,phoneLayout:o,editing:t,marked:a=!0,partMotion:r,first:n,second:s,laterSlide:l=!1}){return AS("div",{className:`absolute inset-0 z-[1] grid ${tle[o]} ${ale[e]}`,"data-hero-layout":e,"data-hero-layout-phone":o,children:[zo(dm,{part:"image",editing:t,marked:a,entrance:md(r,"image"),className:"relative overflow-hidden",children:AS(lm,{treatment:$s(r,"image"),children:[zo(pd,{posterSrc:ka(n.src),showVideo:!1,laterSlide:l,objectPosition:n.objectPosition,objectPositionPhone:n.objectPositionPhone,objectPositionTablet:n.objectPositionTablet}),zo(im,{color:n.tintColor,opacity:n.tintOpacity})]})}),zo(dm,{part:"image2",editing:t,marked:a,entrance:md(r,"image2"),className:`relative overflow-hidden ${Sc({desktop:e==="one",tablet:e==="one",mobile:o==="one"},{atSectionLine:!0})}`.trimEnd(),children:AS(lm,{treatment:$s(r,"image2"),children:[zo(pd,{posterSrc:ka(s.src),showVideo:!1,laterSlide:l,objectPosition:s.objectPosition,objectPositionPhone:s.objectPositionPhone,objectPositionTablet:s.objectPositionTablet}),zo(im,{color:s.tintColor,opacity:s.tintOpacity})]})})]})}import{jsx as xn,Fragment as rle,jsxs as nle}from"react/jsx-runtime";import{useEffect as sle,useState as lle}from"react";import{PlaySolidIcon as ile}from"efficient-shell/icons/efficient-looks";function g2({youTubeId:e,ownPoster:o,background:t,editing:a}){let[r,n]=lle("large");return sle(()=>n("large"),[e]),e?nle(rle,{children:[!o&&r!=="none"&&xn(r2,{src:r==="large"?Sv(e):wv(e),alt:"",className:"absolute inset-0 z-[2] h-full w-full object-cover",onLoad:s=>{r==="large"&&s.currentTarget.naturalWidth<=120&&n("small")},onError:()=>n(r==="large"?"small":"none")},`${e}-${r}`),t&&!a&&xn("div",{className:"pointer-events-none absolute inset-0 z-[3] overflow-hidden [container-type:size]","aria-hidden":"true",children:xn("iframe",{src:Ph(e,"background"),title:"",tabIndex:-1,allow:"autoplay; encrypted-media; picture-in-picture",className:"absolute left-1/2 top-1/2 h-[max(100%,56.25cqw)] w-[max(100%,177.78cqh)] -translate-x-1/2 -translate-y-1/2 border-0"})})]}):null}function I2({youTubeId:e,fileSrc:o,playing:t,onPlay:a,editing:r}){return!e&&!o?null:t&&!r?e?xn("iframe",{src:Ph(e,"click"),title:Eh,allow:"autoplay; encrypted-media; picture-in-picture; fullscreen",allowFullScreen:!0,className:"absolute inset-0 z-[6] h-full w-full border-0 bg-overlay-scrim"}):xn("video",{src:o,controls:!0,autoPlay:!0,playsInline:!0,className:"absolute inset-0 z-[6] h-full w-full bg-overlay-scrim object-contain"}):xn("button",{type:"button","aria-label":Eh,onClick:r?void 0:a,className:`absolute left-1/2 top-1/2 z-[4] grid h-16 w-16 -translate-x-1/2 -translate-y-1/2 place-items-center rounded-full bg-btn text-btn-ink shadow-lg transition-transform motion-reduce:transition-none ${r?"pointer-events-none":"cursor-pointer hover:scale-105"}`,children:xn(ile,{size:28})})}function b2(e,o){if(!e)return[];let t=`[${o}]`;return Array.from(e.querySelectorAll(t)).filter(a=>{let r=a.parentElement?.closest(t);return!r||r===e||!e.contains(r)})}var y2=["top","middle","bottom"],S2=["left","center","right"],w2="bottom",C2="left",dle={top:"Top",middle:"Middle",bottom:"Bottom"},cle={left:"Left",center:"Center",right:"Right"},dUe="Up and down",cUe="Sideways",fle={top:"flex-start",middle:"center",bottom:"flex-end"},ple={left:"flex-start",center:"center",right:"flex-end"},ule="--sf-hero-phone-y",mle="--sf-hero-phone-x";function hle(e){return y2.includes(e)?e:w2}function xle(e){return S2.includes(e)?e:C2}function v2(e,o){let t=hle(e),a=xle(o),r={};return t!==w2&&(r[ule]=fle[t]),a!==C2&&(r[mle]=ple[a]),r}function fUe(){return y2.map(e=>({label:dle[e],value:e}))}function pUe(){return S2.map(e=>({label:cle[e],value:e}))}import{hexToRgb as gle}from"efficient-shell/format";var Ile=!0;var ble=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function k2(e){let o=gle(e);return o?`${o.r},${o.g},${o.b}`:null}function T2(e){return e==null?Ile:e!==!1}function P2(e){let o=(e?k2(e):null)??k2(wt);return`linear-gradient(180deg, ${ble.map(([t,a])=>`rgba(${o},${a}) ${t}%`).join(", ")})`}import{hexToRgb as E2}from"efficient-shell/format";var O2="bottom";var yle=[{label:"Bottom",value:"bottom",cell:"bottom"},{label:"Top",value:"top",cell:"top"},{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"}],Sle={bottom:180,top:0,left:270,right:90},wle=[[.55,0],[.15,18],[null,35],[null,55],[.85,100]],Cle=[[null,33],[.6,67],[.94,100]];function vle(e,o){let{r:t,g:a,b:r}=E2(e)??E2(wt);return`rgba(${t},${a},${r},${o})`}function _2(e){return uo(yle,O2,e)}function A2(e=wt,o=O2){let t=_2(o),a=(t==="top"||t==="bottom"?wle:Cle).map(([r,n])=>`${r===null?"transparent":vle(e,r)} ${n}%`);return`linear-gradient(${Sle[t]}deg, ${a.join(", ")})`}function R2(e,o){let t=Z(e.overlayColor),a=Z(e.overlayPosition),r=Z(o)??wt;return!t&&!a?{own:!1,color:r,position:null}:{own:!0,color:t??r,position:_2(a)}}import{jsx as kle}from"react/jsx-runtime";var L2="sf-photo-hover";function F2({sheet:e,name:o=L2}){return e?kle("style",{href:o,precedence:L2,dangerouslySetInnerHTML:{__html:e}}):null}var _le=Tle({});function HUe({name:e,process:o,mediaType:t="video",mediaSrc:a,videoSpeed:r,poster:n,objectPosition:s,objectPositionPhone:l,objectPositionTablet:d,tintColor:c=wt,tintOpacity:f=0,groups:u,editing:p=!1,themeClassName:x,themeStyle:g,overlayColor:I,overlayPosition:k,mediaLayout:S,mediaLayoutPhone:C,mediaImage2:b,objectPosition2:v,objectPosition2Phone:T,objectPosition2Tablet:F,tintColor2:P=wt,tintOpacity2:D=0,videoSource:O,youtubeUrl:R,videoPlayback:N,partMotion:y,laterSlide:A=!1}){let L=kn(),{alignment:H="left",textureOpacity:X,textureOn:q,textureColor:U,quietVideo:ge,phoneUpDown:te,phoneSideways:Re,holdReel:We,reelHeld:Pe,shownSlide:Ie,ratioMin:Ee}=Ple(_le),Ge=fd(),to=A&&Ge==="first",So=Ole(null),[he,Ke]=D2(Ie===void 0?void 0:!1);Ele(()=>{let In=So.current;Ke(Ie===void 0||!In?void 0:b2(In.closest(".hero-track"),"data-slide-name")[Ie]===In)});let Oe=t==="video",ve=Oe?ka(a):void 0,Ye=Oe?ka(n):ka(a)??ka(n),Ft=typeof r=="number"?r/100:1,{fromYouTube:Fo,onClick:W,youTubeId:Le,backgroundFile:ne,desktopLayout:Fe,phoneLayout:_e,twoPictures:pt}=u2({isVideo:Oe,videoSource:O,videoPlayback:N,youtubeUrl:R,mediaLayout:S,mediaLayoutPhone:C}),[Bt,Ze]=D2(!1);Bt&&Pe===!1&&Ze(!1);let ut=!Bt,Dt=R2({overlayColor:I,overlayPosition:k},U),gn=Oe?null:md(y,"image"),Us=m2(y),Jt=ft(lm,{treatment:Oe?{}:$s(y,"image"),children:ft(pd,{videoSrc:ne?ve:void 0,posterSrc:Ye,showVideo:ne,playbackRate:Ft,objectPosition:s,objectPositionPhone:Oe?void 0:l,objectPositionTablet:Oe?void 0:d,quiet:ge,slideShown:he,laterSlide:A,laterOfLead:to})}),rr=B2("section",{ref:So,className:Tn(`${Ee?"relative min-h-full w-full overflow-clip":"relative h-full w-full overflow-hidden"}${x?` ${x}`:""}`,L.className),...L.attrs,style:g,"data-slide-name":e??"","data-slide-process":o??"","data-slide-media":ne&&ve?"video":"still",...Us.hostAttrs,children:[ft(F2,{sheet:Us.sheet}),ft(h2,{partMotion:y,editing:p,children:pt?ft(x2,{laterSlide:A,desktopLayout:Fe,phoneLayout:_e,editing:p,marked:!1,partMotion:y,first:{src:a,objectPosition:s,objectPositionPhone:l,objectPositionTablet:d,tintColor:c,tintOpacity:f},second:{src:b,objectPosition:v,objectPositionPhone:T,objectPositionTablet:F,tintColor:P,tintOpacity:D}}):Fo||gn?B2(dm,{part:Oe?"media":"image",editing:p,marked:!1,entrance:gn,className:"absolute inset-0 z-[1]",children:[Jt,Fo&&ft(g2,{youTubeId:Le,ownPoster:!!Ye,background:!W,editing:p})]}):Jt}),W&&ft(I2,{youTubeId:Le,fileSrc:Fo?void 0:ve,playing:Bt,onPlay:()=>{Ze(!0),We?.()},editing:p}),ut&&!pt&&ft(im,{color:c,opacity:f,passClicks:!1}),ut&&T2(q)&&ft("div",{className:"absolute inset-0 z-[2]",style:{background:Dt.own?A2(Dt.color,Dt.position??void 0):P2(Dt.color),...X!==void 0?{opacity:X/100}:null}}),ut&&ft("div",{className:[Ee?"sf-hero-group-layer relative min-h-full z-[3] mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-[140px] pb-14":"sf-hero-group-layer absolute inset-0 z-[3] mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-[140px] pb-14",p?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{...Wk,...v2(te,Re)},children:u&&ft(u,{className:"sf-hero-group-zone",minEmptyHeight:160})})]});return L.scope(to?ft(a2,{children:rr}):rr)}var N2=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as H2}from"efficient-easel/draw";var Ale="ImageBlock",Rle=3,cm=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:H2(e),...t}}),Lle=e=>({...e?.(V)??{},direction:"column",[se]:[cm(Ale,e),cm(V,e,{direction:"column",[se]:[cm("Text",e,Aa()),cm("Text",e)]})]}),Yt={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>N2.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${ea.toLowerCase()}`,seeds:()=>[],addBlocked:dc,notice:Jh},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${ea.toLowerCase()}`,seeds:()=>[],addBlocked:dc,notice:Jh},ProcessSteps:{slot:"boxes",childType:V,addLabel:`Add ${ea.toLowerCase()}`,seeds:e=>Array.from({length:Rle},()=>Lle(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}},M2=1,Fle={slot:ai,childType:V,addLabel:`Add ${ea.toLowerCase()}`,seeds:()=>[],addBlocked:e=>e.length>=M2?"This Hero has its Scrolling Bar already. Delete it to add another.":null,notice:e=>e.length>M2?`This Hero holds ${e.length} Scrolling Bars. Keep one and delete the others.`:null},W2={Hero:{[ai]:Fle}};function qUe(e){for(let[o,t]of Object.entries(e)){if(o in Yt&&Yt[o]!==t)throw new Error(`lib/document/slot-specs: "${o}" already has a slot spec`);Yt[o]=t}}function YUe(e,o){let t=Yt[e];return t?{slot:t.slot,children:t.seeds(o).map(a=>({type:t.childType,props:{id:H2(t.childType),...a}}))}:null}var $2=()=>({}),z2=new Map;function Ble(e){let o=z2.get(e);if(o)return o;let t=new Set,a=Yt[e];if(a)for(let s of a.seeds($2))for(let l of G2({type:a.childType,props:s}))t.add(l);let r=Ms(e);if(r){let s=0;for(let l of G2(r($2,d=>`${d}-${s+=1}`)))t.add(l)}t.delete(e);let n=[...t].sort();return z2.set(e,n),n}function Dle(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=Bb(e),t=e.allow?new Set(e.allow):null,a=new Set(e.deny??[]),r=new Set(Object.keys(e.host??{})),n=d=>{if(a.has(d))return!1;if(r.has(d))return!0;let c=jw(d);return!c||!o[c]?!1:t?t.has(d):!0},s=new Map,l=d=>{let c=s.get(d);if(c!==void 0)return c;s.set(d,!1);let f=n(d)&&Ble(d).every(l);return s.set(d,f),f};return{sets:o,offers:l}}var Nle="block-offer";function RS(e=U2()){return e.cache(Nle,()=>Dle(Cc(e)))}function j2(e,o=U2()){let t=RS(o);return t?t.offers(e):!0}function Mle(e){let o=Xu.Ticker(e.nodeDefaults,e.newNodeId),{sectionBorder:t,...a}=o.props,r=FI.line?{sectionBorder:t}:{};return{...o,props:{...a,...r,sectionAccent:FI.sectionAccent}}}var Hle={Hero:{[ai]:{newChild:Mle,childLabel:_d.Ticker}}},K2=Object.fromEntries(Object.entries(W2).map(([e,o])=>[e,Object.fromEntries(Object.entries(o).map(([t,a])=>[t,{...a,...Hle[e]?.[t]}]))]));function V2(e,o=0,t,a){let r=Gle($le(e,o,a),t),n=r?RS():null;return r&&n?Wle(r,n):r}function Wle(e,o){if(e.spec)return o.offers(e.spec.childType)?e:null;let t=e.choices??[],a=t.filter(r=>o.offers(r.type));return a.length===t.length?e:a.length>0?{...e,choices:a}:null}function Gle(e,o){if(!e||e.source!=="container"||!o||!iv())return e;let t=pl({data:o.data},o.id),a=typeof t?.type=="string"?dv(t.type):[],r=e.choices??[],n=a.filter(s=>!r.some(l=>l.type===s.type));return n.length?{...e,choices:[...r,...n.map(s=>({type:s.type,label:s.label}))]}:e}function $le(e,o,t){let a=t?K2[e]?.[t]:void 0;if(a)return{source:"section",slot:a.slot,choices:null,spec:a};let r=Yt[e];if(r)return{source:"section",slot:r.slot,choices:null,spec:r};let n=qw(e,o);if(n)return{source:"container",slot:n.slot,choices:n.choices,spec:null};let s=UA(e);return s?{source:"footer",slot:zA,choices:s,spec:null}:null}function q2(e,o=[eo]){return gh(e.type)?o.map(t=>t===eo?{slot:t,label:i(av),rung:!0}:{slot:t,label:t,rung:!1}):null}import{useSyncExternalStore as zle}from"react";var LS=null,FS=new Set;function Y2(e){if(LS!==e){LS=e;for(let o of FS)o()}}function Ule(e){return FS.add(e),()=>{FS.delete(e)}}function wje(){return zle(Ule,()=>LS,()=>null)}function X2(e){return ml(e)?.ownerId??null}function J2(e,o){let t=e.props;if(e.type==="FooterMenu"){let a=t.menu;return t.heading||a?.name||i("Menu")}if(e.type==="FooterText"){let a=typeof t.text=="string"?t.text.trim():"";return a?a.length>28?`${a.slice(0,28)}\u2026`:a:i("Text")}return e.type==="FooterEmailSignup"?t.heading||i("Email signup"):o(e.type)}var Z2="sf-editor-left-view";function Q2(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(Z2);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function eM(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Z2,e)}catch{}}function oM(e,o){return e==="styles"&&!o?"sections":e}function tM(e,o){return e?"sections":o}import{copyNode as jle}from"efficient-easel/data";function aM(e){let o=typeof e?.props?.id=="string"?e.props.id:null,t=bt(),a=o&&t?t.sectionOf(o):null;if(!t||!a)return null;let r=t.usedOn(a);return r?r.length===1?i("On 1 page"):i("On {count} pages",{count:r.length}):i("On other pages")}var rM={usedOn:e=>{let o=bt(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>ac()?.openPage(e),adopt:(e,o)=>bt()?.adopt(e.props.id,o),nodeOf:e=>bt()?.place(e)??null,detach:e=>{let o=ac()?.config;return o?jle(e,o):e},removed:()=>ac()?.reload()};import{sharedSectionsOf as tde}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as ade,scrollPreviewToTop as AM}from"efficient-easel/screen/lib/document/preview-dom";import{jsx as NS,Fragment as Cie,jsxs as vie}from"react/jsx-runtime";import{useContext as kie,useEffect as Tie,useMemo as WS,useRef as xM}from"react";import{EaselCanvas as Pie,repeatCopyAt as Eie,useEasel as Oie}from"efficient-easel/easel";import{jsx as dM,Fragment as rie,jsxs as nie}from"react/jsx-runtime";import{useEffect as cM,useLayoutEffect as sie}from"react";var fm="data-theme",nM="light";function Kle(e){return e.getAttribute(fm)===nM?"light":"dark"}function Vle(e,o){return Kle(e)===o?!1:(o==="light"?e.setAttribute(fm,nM):e.removeAttribute(fm),!0)}function qle(e){return Tm(e).getItem(bm)}function Lje(e,o){Tm(e).setItem(bm,o)}function Yle(e,o,t=new Date().getHours()){return VS({mode:o.mode,override:qle(e),switchShown:o.switchShown,hour:t})}function sM(e,o){let t=e.documentElement;if(!t)return()=>{};let a=()=>Vle(t,Yle(e,o));a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[fm]}),()=>n.disconnect()}var Xle="style";function Jle(e,o){let t=aw(o),a=!1;for(let r of tw){let n=t[r]??"";e.style.getPropertyValue(r)!==n&&(n?e.style.setProperty(r,n):e.style.removeProperty(r),a=!0)}return a}function lM(e,o){let t=e.body;if(!t)return()=>{};let a=()=>Jle(t,o);a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[Xle]}),()=>n.disconnect()}import{VIEW_DESKTOP_MIN as Zle,VIEW_TABLET_MIN as Qle}from"efficient-easel/screen/lib/content/view-tiers";var eie={fit:"data-fit",fitTablet:"data-fit-tablet",fitPhone:"data-fit-phone",min:"data-fit-min",minTablet:"data-fit-min-tablet",minPhone:"data-fit-min-phone",edge:"data-fit-edge"},Zo=eie,oie=e=>e.flatMap(o=>[`[${o}] p`,`[${o}] li`]).join(","),tie=String.raw`(function (doc) {
|
|
91
|
+
if (doc.__sfFitWords) return;
|
|
92
|
+
var win = doc.defaultView;
|
|
93
|
+
var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
|
|
94
|
+
// Body text a block asked to shrink (its Text group's Shrink), beside
|
|
95
|
+
// the headings: what this script may fit at all. modeOf() decides each one.
|
|
96
|
+
var SHRINK_BODY = ${JSON.stringify(oie([Zo.fit,Zo.fitTablet,Zo.fitPhone]))};
|
|
97
|
+
var CANDIDATES = SELECTOR + "," + SHRINK_BODY;
|
|
98
|
+
var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1, PHONE_BELOW = ${aa};
|
|
99
|
+
var TABLET_MIN = ${Qle}, DESKTOP_MIN = ${Zle};
|
|
100
|
+
|
|
101
|
+
// A block's own answer (lib/content/block-size, the wrapper's attributes):
|
|
102
|
+
// the fit "wrap" | "shrink" | "line" and the floor, each with a tablet and a
|
|
103
|
+
// phone twin. From 1100 the desktop's; from the tablet line (800 for a holder
|
|
104
|
+
// in a Box, marked edge; 720 outside one) the tablet's where it has one;
|
|
105
|
+
// under it the phone's, else the tablet's, else the desktop's. With no
|
|
106
|
+
// tablet answer the phone's is read under 800, as before (the edge moves with
|
|
107
|
+
// F1). With none, a heading shrinks and body text wraps, as always.
|
|
108
|
+
// A holder with any tablet attribute takes the three views (its line and 1100)
|
|
109
|
+
// for its fit AND its floor together; one with none keeps the 800 edge.
|
|
110
|
+
var TABLET_ATTRS = [${JSON.stringify(Zo.fitTablet)}, ${JSON.stringify(Zo.minTablet)}];
|
|
111
|
+
function own(el, attr, tabletAttr, phoneAttr) {
|
|
112
|
+
var holder = el.closest("[" + attr + "],[" + tabletAttr + "],[" + phoneAttr + "]");
|
|
113
|
+
if (!holder) return null;
|
|
114
|
+
var w = win.innerWidth, d = holder.getAttribute(attr);
|
|
115
|
+
if (w >= DESKTOP_MIN) return d;
|
|
116
|
+
var t = holder.getAttribute(tabletAttr), p = holder.getAttribute(phoneAttr);
|
|
117
|
+
if (w < (holder.hasAttribute(${JSON.stringify(Zo.edge)}) ? PHONE_BELOW : TABLET_MIN)) return p || t || d;
|
|
118
|
+
if (holder.hasAttribute(TABLET_ATTRS[0]) || holder.hasAttribute(TABLET_ATTRS[1])) return t || d;
|
|
119
|
+
return (w < PHONE_BELOW && p) || d;
|
|
120
|
+
}
|
|
121
|
+
function modeOf(el) {
|
|
122
|
+
var mode = own(el, ${JSON.stringify(Zo.fit)}, ${JSON.stringify(Zo.fitTablet)}, ${JSON.stringify(Zo.fitPhone)});
|
|
123
|
+
if (mode === "wrap" || mode === "shrink") return mode;
|
|
124
|
+
if (mode === "line") return "wrap"; // One line: the block keeps its words whole, nothing shrinks
|
|
125
|
+
return el.matches(SELECTOR) ? "shrink" : "wrap";
|
|
126
|
+
}
|
|
127
|
+
function floorOf(el, set) {
|
|
128
|
+
var min = parseFloat(own(el, ${JSON.stringify(Zo.min)}, ${JSON.stringify(Zo.minTablet)}, ${JSON.stringify(Zo.minPhone)}));
|
|
129
|
+
return min >= 0 ? min : Math.max(set * MIN_SCALE, MIN_PX);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function measure(el) {
|
|
133
|
+
var widest = 0, current = 0, last = null, split = false, lastBlock = null;
|
|
134
|
+
function blockOf(n) {
|
|
135
|
+
for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
|
|
136
|
+
var d = win.getComputedStyle(p).display;
|
|
137
|
+
if (d.indexOf("inline") !== 0 && d !== "contents") return p;
|
|
138
|
+
}
|
|
139
|
+
return el;
|
|
140
|
+
}
|
|
141
|
+
function close() { if (current > widest) widest = current; current = 0; last = null; }
|
|
142
|
+
var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
|
|
143
|
+
while ((node = walker.nextNode())) {
|
|
144
|
+
if (node.nodeType === 1) {
|
|
145
|
+
if (node.tagName === "BR" || node.tagName === "WBR") close();
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
var block = blockOf(node);
|
|
149
|
+
if (block !== lastBlock) close();
|
|
150
|
+
lastBlock = block;
|
|
151
|
+
var re = /(\S+)|(\s+)/g, m;
|
|
152
|
+
while ((m = re.exec(node.data))) {
|
|
153
|
+
if (m[2]) { close(); continue; }
|
|
154
|
+
range.setStart(node, m.index);
|
|
155
|
+
range.setEnd(node, m.index + m[0].length);
|
|
156
|
+
var rects = range.getClientRects();
|
|
157
|
+
for (var i = 0; i < rects.length; i++) {
|
|
158
|
+
var r = rects[i];
|
|
159
|
+
if (r.width <= 0) continue;
|
|
160
|
+
current += r.width;
|
|
161
|
+
if (last && r.top > last.top + last.height / 2) split = true;
|
|
162
|
+
last = r;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
close();
|
|
167
|
+
return { widest: widest, split: split };
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function lineWidth(el) {
|
|
171
|
+
var cs = win.getComputedStyle(el);
|
|
172
|
+
return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
|
|
173
|
+
- parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
|
|
177
|
+
// runs before React hydrates, and React 19 in development reports ANY
|
|
178
|
+
// attribute that differs from what it rendered ("a tree hydrated but some
|
|
179
|
+
// attributes didn't match"): first our inline font-size on the hero (which
|
|
180
|
+
// React owns via --heading-size), then, when that moved to a data-sf-fit
|
|
181
|
+
// attribute, the attribute itself. So the fitted size lives only in this
|
|
182
|
+
// script's own stylesheet, in <head>, addressed to each heading by its
|
|
183
|
+
// POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
|
|
184
|
+
// structure changes, so the rules are rewritten in the MutationObserver
|
|
185
|
+
// callback, which runs before the next paint. !important so the size also
|
|
186
|
+
// beats a part's own inline size.
|
|
187
|
+
var head = doc.head || doc.documentElement;
|
|
188
|
+
var fitEl = doc.createElement("style");
|
|
189
|
+
fitEl.id = "storefront-fit-words-sizes";
|
|
190
|
+
head.appendChild(fitEl);
|
|
191
|
+
// heading -> [[element, fitted size]]: the heading and each Text part inside
|
|
192
|
+
// it that holds its own size (a span [data-sf-part-styled]), e.g.
|
|
193
|
+
// [[h2, "43.8px"], [span, "43.8px"]]. Sizing the heading alone leaves such
|
|
194
|
+
// a part at its own size, and the word still breaks (card C25, Spec Table).
|
|
195
|
+
var fitted = new Map();
|
|
196
|
+
|
|
197
|
+
function pathOf(el) {
|
|
198
|
+
var parts = [];
|
|
199
|
+
for (var e = el; e && e.parentElement; e = e.parentElement) {
|
|
200
|
+
var i = 1, s = e;
|
|
201
|
+
while ((s = s.previousElementSibling)) i++;
|
|
202
|
+
parts.unshift("*:nth-child(" + i + ")");
|
|
203
|
+
}
|
|
204
|
+
return ":root>" + parts.join(">");
|
|
205
|
+
}
|
|
206
|
+
function writeRules() {
|
|
207
|
+
var css = "";
|
|
208
|
+
fitted.forEach(function (sizes, el) {
|
|
209
|
+
if (!el.isConnected) { fitted.delete(el); return; }
|
|
210
|
+
for (var i = 0; i < sizes.length; i++) css += pathOf(sizes[i][0]) + "{font-size:" + sizes[i][1] + " !important}";
|
|
211
|
+
});
|
|
212
|
+
if (fitEl.textContent !== css) fitEl.textContent = css;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function unfit(el) {
|
|
216
|
+
if (fitted.delete(el)) writeRules();
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function fits(el) {
|
|
220
|
+
var m = measure(el);
|
|
221
|
+
return !m.split && m.widest <= lineWidth(el) + SLACK;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
function fit(el) {
|
|
225
|
+
unfit(el);
|
|
226
|
+
if (modeOf(el) !== "shrink") return; // the block's own Wrap
|
|
227
|
+
if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
|
|
228
|
+
if (fits(el)) return;
|
|
229
|
+
var set = parseFloat(win.getComputedStyle(el).fontSize);
|
|
230
|
+
if (!set) return;
|
|
231
|
+
var floor = floorOf(el, set);
|
|
232
|
+
if (floor >= set) return;
|
|
233
|
+
function size(px) { return Math.floor(px * 10) / 10 + "px"; }
|
|
234
|
+
// The SEARCH tries sizes on the element's own style and then puts that
|
|
235
|
+
// attribute back byte for byte (or removes it, if it had none), so nothing
|
|
236
|
+
// is left for React to see. A trial in a stylesheet instead restyles the
|
|
237
|
+
// whole page per step: a full pass on the Hartes home took 75–160ms at 4x
|
|
238
|
+
// CPU that way.
|
|
239
|
+
// Every trial scales the heading AND each part inside it that holds its
|
|
240
|
+
// own size, by the same ratio, so a part keeps its proportion to the
|
|
241
|
+
// heading.
|
|
242
|
+
var carriers = [el].concat(Array.prototype.slice.call(el.querySelectorAll("[data-sf-part-styled]")));
|
|
243
|
+
var base = carriers.map(function (c) { return parseFloat(win.getComputedStyle(c).fontSize) || set; });
|
|
244
|
+
var saved = carriers.map(function (c) { return c.hasAttribute("style") ? c.getAttribute("style") : null; });
|
|
245
|
+
function attempt(px) {
|
|
246
|
+
for (var i = 0; i < carriers.length; i++) carriers[i].style.setProperty("font-size", size(base[i] * px / set), "important");
|
|
247
|
+
}
|
|
248
|
+
function done() {
|
|
249
|
+
for (var i = 0; i < carriers.length; i++) {
|
|
250
|
+
if (saved[i] !== null) carriers[i].setAttribute("style", saved[i]); else carriers[i].removeAttribute("style");
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
attempt(floor);
|
|
254
|
+
if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
|
|
255
|
+
var lo = floor, hi = set;
|
|
256
|
+
for (var i = 0; i < 8; i++) {
|
|
257
|
+
var mid = (lo + hi) / 2;
|
|
258
|
+
attempt(mid);
|
|
259
|
+
if (fits(el)) lo = mid; else hi = mid;
|
|
260
|
+
}
|
|
261
|
+
done();
|
|
262
|
+
fitted.set(el, carriers.map(function (c, i) { return [c, size(base[i] * lo / set)]; }));
|
|
263
|
+
writeRules();
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// What each heading measured right after we last fitted it, so the
|
|
267
|
+
// ResizeObserver below can tell a real change (a font swap, a rotate, a
|
|
268
|
+
// container that moved) from the size change our own write just caused.
|
|
269
|
+
var seen = new WeakMap();
|
|
270
|
+
function remember(el) {
|
|
271
|
+
var b = el.getBoundingClientRect();
|
|
272
|
+
seen.set(el, b.width + "x" + b.height);
|
|
273
|
+
}
|
|
274
|
+
function fitAndRemember(el) { fit(el); remember(el); }
|
|
275
|
+
|
|
276
|
+
// ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
|
|
277
|
+
// WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
|
|
278
|
+
// fitted heading, and fonts.ready resolves only after that frame is painted —
|
|
279
|
+
// measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
|
|
280
|
+
// reported here is fitted in the same frame, so the broken state is never
|
|
281
|
+
// drawn. It also covers a container that resizes.
|
|
282
|
+
var ro = new win.ResizeObserver(function (entries) {
|
|
283
|
+
for (var i = 0; i < entries.length; i++) {
|
|
284
|
+
var el = entries[i].target;
|
|
285
|
+
var b = el.getBoundingClientRect();
|
|
286
|
+
if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
|
|
287
|
+
fitAndRemember(el);
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
// Its own set, not seen: fitAndRemember has written seen by the
|
|
291
|
+
// time watch runs, so a seen test observed no heading at all, and a
|
|
292
|
+
// heading fitted in the fallback face was never fitted again when the web
|
|
293
|
+
// font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
|
|
294
|
+
var watched = new WeakSet();
|
|
295
|
+
function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
|
|
296
|
+
|
|
297
|
+
function fitAll() {
|
|
298
|
+
var els = doc.querySelectorAll(CANDIDATES);
|
|
299
|
+
for (var i = 0; i < els.length; i++) {
|
|
300
|
+
if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
|
|
301
|
+
else unfit(els[i]); // Wrap here (a phone value may differ from the desktop's)
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
var queued = 0, all = false, touched = new Set();
|
|
306
|
+
function run() {
|
|
307
|
+
queued = 0;
|
|
308
|
+
if (all) { all = false; touched.clear(); fitAll(); return; }
|
|
309
|
+
var els = Array.from(touched);
|
|
310
|
+
touched.clear();
|
|
311
|
+
for (var i = 0; i < els.length; i++) {
|
|
312
|
+
if (!els[i].isConnected) continue;
|
|
313
|
+
if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
|
|
314
|
+
else unfit(els[i]);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
|
|
318
|
+
function scheduleAll() { all = true; schedule(); }
|
|
319
|
+
|
|
320
|
+
fitAll();
|
|
321
|
+
// A backstop only: a font that changes widths without changing any
|
|
322
|
+
// heading's box is not seen by the ResizeObserver.
|
|
323
|
+
if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
|
|
324
|
+
|
|
325
|
+
// …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
|
|
326
|
+
// heading sized to its own text (fit-content, a flex item) keeps the SAME box
|
|
327
|
+
// when the phone turns to 844, so nothing reports a change and it would stay
|
|
328
|
+
// shrunk. The probe's rotate check caught exactly that.
|
|
329
|
+
var lastWidth = win.innerWidth;
|
|
330
|
+
function onResize() {
|
|
331
|
+
if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
|
|
332
|
+
lastWidth = win.innerWidth;
|
|
333
|
+
scheduleAll();
|
|
334
|
+
}
|
|
335
|
+
win.addEventListener("resize", onResize);
|
|
336
|
+
|
|
337
|
+
var mo = new win.MutationObserver(function (records) {
|
|
338
|
+
// Positions first: a node added or removed anywhere can shift the
|
|
339
|
+
// nth-child path of a fitted heading, and this callback runs before paint.
|
|
340
|
+
if (fitted.size) {
|
|
341
|
+
for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
|
|
342
|
+
}
|
|
343
|
+
for (var i = 0; i < records.length; i++) {
|
|
344
|
+
var r = records[i];
|
|
345
|
+
// A block's text fit (Wrap / Shrink / One line) or Min font size changed in the editor:
|
|
346
|
+
// only a data-fit attribute moved, so every heading is measured again.
|
|
347
|
+
if (r.type === "attributes") { scheduleAll(); continue; }
|
|
348
|
+
var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
|
|
349
|
+
var owner = target && target.closest(CANDIDATES);
|
|
350
|
+
if (owner) touched.add(owner);
|
|
351
|
+
for (var j = 0; j < r.addedNodes.length; j++) {
|
|
352
|
+
var n = r.addedNodes[j];
|
|
353
|
+
if (n.nodeType !== 1) continue;
|
|
354
|
+
if (n.matches(CANDIDATES)) touched.add(n);
|
|
355
|
+
var inner = n.querySelectorAll(CANDIDATES);
|
|
356
|
+
for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
if (touched.size) schedule();
|
|
360
|
+
});
|
|
361
|
+
mo.observe(doc.body, {
|
|
362
|
+
childList: true,
|
|
363
|
+
subtree: true,
|
|
364
|
+
characterData: true,
|
|
365
|
+
attributes: true,
|
|
366
|
+
attributeFilter: ${JSON.stringify(Object.values(Zo))},
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
doc.__sfFitWords = function stop() {
|
|
370
|
+
win.removeEventListener("resize", onResize);
|
|
371
|
+
ro.disconnect();
|
|
372
|
+
mo.disconnect();
|
|
373
|
+
if (queued) win.cancelAnimationFrame(queued);
|
|
374
|
+
fitted.clear();
|
|
375
|
+
fitEl.remove();
|
|
376
|
+
delete doc.__sfFitWords;
|
|
377
|
+
};
|
|
378
|
+
// For the probe and for debugging: which headings are fitted, at what size,
|
|
379
|
+
// and the sheet that holds it (disable it to read a heading's set size).
|
|
380
|
+
doc.__sfFitWords.fitted = fitted;
|
|
381
|
+
doc.__sfFitWords.sheet = fitEl;
|
|
382
|
+
// …and the two questions a block's own answer changes, for the guard
|
|
383
|
+
// (scripts/test-block-size.tsx §5): which mode an element is in, and its floor.
|
|
384
|
+
doc.__sfFitWords.modeOf = modeOf;
|
|
385
|
+
doc.__sfFitWords.floorOf = floorOf;
|
|
386
|
+
})(document);`,aie="storefront-fit-words";function iM(e){let o=e.createElement("script");return o.id=aie,o.textContent=tie,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var lie=`
|
|
387
|
+
[${Pt}][${Pt}] { cursor: text; }
|
|
388
|
+
`;function fM({children:e,document:o}){let{theme:t,themeMode:a,themeSwitchShown:r}=xe(),n=ao(t);return cM(()=>{if(o)return sM(o,{mode:a,switchShown:r})},[o,a,r]),cM(()=>{if(o)return lM(o,n)},[o,n]),sie(()=>{if(o)return iM(o)},[o]),nie(rie,{children:[dM(Dw,{}),dM("style",{children:lie}),e]})}import{jsx as BS}from"react/jsx-runtime";import{useEffect as iie,useState as die}from"react";import{Banner as cie}from"efficient-shell/ui";var pm={load:"The header and footer could not load. They are hidden for now and nothing in them is saved. Reload to try again.",lock:"{name} is editing the header and footer. Nothing you change in them here is saved.",conflict:"The header and footer were changed somewhere else. Nothing you change in them here is saved. Reload to get the latest.",save:"The header and footer did not save. They are sent again with your next change."},fie={load:"{section} could not load. It stays on the page as it was. Reload to try again.",lock:"{name} is editing {section}. Nothing you change in it here is saved.",conflict:"{section} was changed somewhere else. Nothing you change in it here is saved. Reload to get the latest.",save:"{section} did not save. It is sent again with your next change."},pie=pm.load,uie=pm.lock,mie=pm.conflict,hie=pm.save;function xie(e){if(!e)return null;if(e.loadFailed)return i(pie);if(e.lockHolder)return i(uie,{name:e.lockHolder.name||i("Somebody else")});if(e.conflict)return i(mie);if(e.saveFailed)return i(hie);let o=e.sections?.[0];if(!o)return null;let t=o.title||i("A shared section"),a=o.holder?.name||i("Somebody else");return i(fie[o.problem],{section:t,name:a})}function gie({report:e}){let o=xie(em(e)),[t,a]=die(null);return iie(()=>{o||a(null)},[o]),!o||t===o?null:BS("aside",{className:"sf-canvas-notice",children:BS(cie,{tone:"warning",onDismiss:()=>a(o),children:o})})}function pM(){return BS(gie,{report:om()})}import{jsx as um}from"react/jsx-runtime";import{useState as uM}from"react";import{Banner as Iie,Button as bie}from"efficient-shell/ui";import{UndoIcon as yie}from"efficient-shell/icons/efficient";import{useScreenDocument as Sie}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSettledAction as wie}from"efficient-easel/easel";function mM(){let e=vN(),{adapter:o,flushSave:t,reloadFromServer:a}=Sie(),r=o.siteVersions,[n,s]=uM(!1),[l,d]=uM(!1),c=async()=>{if(!(!r||n)){s(!0),d(!1);try{await PN({access:r,flushSave:t,reload:a})}catch{d(!0)}finally{s(!1)}}},f=wie({onPress:()=>{c()},busy:n});return e?um("aside",{className:"sf-canvas-notice",children:um(Iie,{tone:l?"danger":"info",title:e.title,onDismiss:tm,action:r&&e.undo?um(bie,{variant:"secondary",size:"sm",leftIcon:um(yie,{}),loading:f.busy,disabled:f.busy,onClick:f.onPress,children:i("Undo")}):void 0,children:l?i("Undo did not work. Nothing changed. Try again."):i("Check it with Preview. Press Publish to put it live.")})}):null}import{decodePartId as _ie,REPEAT_ATTRIBUTE as MS,REPEAT_INDEX_ATTRIBUTE as HS}from"efficient-easel/draw";import{usePreviewParts as Aie}from"efficient-easel/draw/client";var hM=null;function DS(e){hM=e}function iKe(){return hM}import{ScreenDocumentContext as Rie}from"efficient-easel/screen/components/ScreenDocumentContext";function gM(e){let{mirrorHostStyles:o}=Om(),t=Mw(),{sectionBackgroundWidth:a,themeFromDocument:r}=xe(),n=Tw(),s=kie(Rie),l=rc(s?.docId??null),d=Oie(S=>S.appState.data),c=Uv(l,d),f=JSON.stringify(c),u=WS(()=>c,[f]),p=WS(()=>({...e.metadata??t??{},...qP(r?null:a,n),...u}),[e.metadata,t,a,n,r,u]);Tie(()=>(DS(n),()=>DS(null)),[n]);let x=xM(null),g=Lie(x),{onDocument:I}=e,k=S=>{x.current=S,I?.(S)};return vie(Cie,{children:[NS(mM,{}),NS(pM,{}),NS(Pie,{...e,onDocument:k,typing:g,metadata:p,height:"fill",mirrorStyles:o,frameWrapper:fM})]})}function Lie(e){let o=Pd(),t=Aie(),a=xM({parts:t});return a.current={parts:t},WS(()=>{let r=(n,s)=>{let l=_f(n,o),d,c=null,f=s??(l?null:Gg(null,e.current,n)),u=!l&&f?Eie(f):null,p=u?_ie(n):null;if(u&&f&&p?.propKey){l=Rf({...u,nodeId:p.nodeId,key:p.propKey},o),d=p.propKey;let k=f.closest(`[${MS}][${HS}]`),S=`[${MS}="${Af(k?.getAttribute(MS)??"")}"][${HS}="${Af(k?.getAttribute(HS)??"")}"]`;c=()=>(f.ownerDocument??e.current)?.querySelector(S)??null}if(!l)return null;let x=f,g=()=>(x=Gg(x,c?c():x?.ownerDocument??e.current,n),x),I=g();return I?{element:g,value:l.value,rules:l.rules,multiline:l.multiline,skip:l.skip,write:l.write,key:d,toolbar:{offered:l.offered,colors:l.offered.length>0?Wn(Jk(I)):void 0,colorNameOf:Ko}}:null};return{at:n=>{let s=n.closest(`[${Pt}]`),l=s?.getAttribute(Pt);return s&&l?r(l,s):null},atSelection:()=>{let n=a.current.parts.selectedPartId;return n?r(n,null):null},onCopyText:n=>SE(n,o),copyValue:n=>yE(n,o),onChange:n=>{if(!n.typing){$g(null);return}let s=n.element.closest(`[${Pt}]`)?.getAttribute(Pt)??null;$g(s),s&&a.current.parts.selectedPartId!==s&&a.current.parts.select(s)}}},[o,e])}var Fie=kw.mediaFields,Bie=/video|poster|focal|phone/i;function IM(e){return(Fie[e]??[]).find(o=>!o.includes("[]")&&!Bie.test(o))??null}var bM={adds:{kind:"block",type:"ImageBlock"},takes:e=>IM(e.type)!==null,replace:(e,o)=>{let t=IM(e.type);return t?{...e.props,[t]:o.url}:{...e.props}},create:(e,o)=>({type:"ImageBlock",props:{...o.nodeDefaults("ImageBlock"),id:o.newNodeId("ImageBlock"),src:e.url}})};var yM={Hero:"Full-screen opener with rotating slides.",HeroSingle:"Full-screen image or video with a headline.",IntroBleed:"Full-bleed intro image the next section scrolls over.",Collections:"Product collections in a tidy grid.",AlloyWheelsListing:"A full product-listing page: filter rail, sortable card grid and pagination, from the live catalog. Choose which product types it shows.",CatalogFilterBar:"Filters the collection grids below it \u2014 a sticky row of Pills (the default), or Columns, one per filter you switch on.",ProductGrid:"Hand-picked products in a tidy grid.",FitmentFinder:"A vehicle picker \u2014 make, model, year and trim resolve the OEM stock fitment live.",Gallery:"Two image galleries with tabs and filters.",GalleryB:"A wall of your photos or your products' pictures, with a click-to-open lightbox.",SpecStrip:"A thin one-line spec strip \u2014 small-caps items spread across the width, as a dark band or a bare hairline row.",ProductHero:"A product hero \u2014 image beside price, bullets and a buy button.",SpecTable:"A spec sheet \u2014 labeled rows of product specifications.",ProcessSteps:"A heading over columns, or alternating rows, of image, title, blurb and specs.",DetailRows:"Repeating full-width rows \u2014 eyebrow, title and copy beside a numbered close-up image, alternating sides each row.",FitmentTable:"A fitment table \u2014 per-size bolt patterns, offsets and load ratings, filterable by diameter.",CompatibleTyres:"The current product's compatible tyres \u2014 image, size, key specs and price per tyre, with an inquiry link. Display only.",RelatedProducts:"The current product's related items in a tidy row \u2014 the product page's built-in 'Pair with' cross-sell.",OrderSummary:"A display order-summary panel \u2014 items, totals and a note.",DeliveryOptions:"Delivery tiers as cards \u2014 name, window and price, one highlighted.",PaymentBadges:"A payment-methods trust strip with reassurance lines.",CheckoutCTA:"A centered 'ready to order?' headline with the checkout button.",Manifesto:"A bold brand statement beside a full-height image, with a stat strip.",ParagraphsA:"An editorial text panel with a stat strip and founders' note.",StatsParagraph:"An editorial heading and paragraph over a row of stat cards whose units and small labels take the main color.",Chart:"A titled chart \u2014 bars, line or donut \u2014 drawn from your own labeled data points.",Mockup:"A headline beside a stylized product-UI mockup card \u2014 spec sheet, fitment, portal, kanban and more.",Prose:"A plain editorial text section \u2014 eyebrow, heading and body copy.",Timeline:"An editorial aside beside a rail-marked timeline of dated entries.",TimelineTrack:"A horizontal year track of milestones \u2014 company history or roadmap.",Footprint:"A world map of your locations with a legend \u2014 designed here, sold worldwide.",TitleWithButtons:"A big headline beside a stack of call-to-action buttons.",Split:"Side-by-side image and text in two columns.",Cards:"A heading over a grid of free-text title-and-blurb cards.",FAQ:"A frequently-asked-questions accordion with a header.",Testimonials:"Customer quotes in a grid \u2014 the quote, a name and a role.",Masthead:"A journal issue header with a lead statement and contents.",Breadcrumb:"A slim trail showing where the reader is (Home / Journal\u2026).",CategoryBar:"A sticky row of category tabs with counts and links.",FeaturedCover:"A featured article \u2014 big cover image beside a headline and dek.",LongRead:"A long-form article spread with a pull-quote and cover image.",Series:"A section heading over a grid of column cards.",Subscribe:"A newsletter signup beside a list of recent issues.",SubscribeBlogs:"A newsletter signup beside your latest blog posts, pulled live.",Events:"Latest journal posts in a three-card row.",DocMasthead:"A page header: eyebrow, title, details and a deck.",DocTabs:"A sticky tab bar to switch between documents.",DocBody:"Long-form document body with an 'On this page' contents list.",DocMetaCards:"A three-up meta strip for the foot of a document.",Banner:"Wide promo strip with background image.",Stats:"Highlight key numbers \u2014 years, designs.",Countdown:"Hours, minutes and seconds to a set date and time, then one line.",KeyFeatures:"A theme-color chip and heading over a grid of short feature labels.",Logos:"A row of partner or brand logos.",Ticker:"A scrolling marquee of short phrases, full width.",Reviews:"Approved customer reviews in a star-rated card grid, pulled live.",SubmitBuild:"A 'Show us yours.' headline with a photo-submission form.",ReviewForm:"A write-a-review form \u2014 submissions wait for your approval before they show.",ContactRouting:"Pick who to reach, then a form that routes the message.",ContactLocations:"Your locations as a city gallery plus address and map cards.",SectionHeader:"A numbered section title with optional link.",Grid:"Multi-column container for blocks.",Flex:"An empty section. Add whatever you want inside.",Spacer:"Vertical breathing room between sections.",Divider:"A thin horizontal rule between sections.",CustomHTML:"Drop in your own sanitized HTML.",Heading:"A single heading line.",Text:"A paragraph of body copy.",ImageBlock:"A standalone image, at the width you set.",ButtonBlock:"A call-to-action button."};import{jsx as mm}from"react/jsx-runtime";import{useState as Die}from"react";import{Button as Nie,Tooltip as Mie,toast as SM}from"efficient-shell/ui";import{TemplateIcon as Hie}from"efficient-easel/icons";import{useSettledAction as Wie}from"efficient-easel/easel";import{useScreenDocument as Gie}from"efficient-easel/screen/components/ScreenDocumentContext";function CM({enabled:e,reason:o,onSaved:t}){let{flushSave:a}=Gie(),[r,n]=Die(!1),s=async()=>{if(!r){n(!0);try{await a()?t():SM.error(i(wM))}catch{SM.error(i(wM))}finally{n(!1)}}},l=Wie({onPress:()=>{s()},busy:r});return mm(Mie,{side:"bottom",content:e?i("Save this website as a platform template"):i(o),children:mm("span",{className:"sf-tip-disabled",tabIndex:e?void 0:0,children:mm(Nie,{variant:"secondary",disabled:!e||l.busy,loading:l.busy,onClick:l.onPress,rightIcon:mm(Hie,{size:15}),children:i("Save as Template")})})})}var wM="Your last changes did not save, so the template was not made. Try again.";var $ie="Save your page changes first";function vM(e){return e.hasTrustedConsole?e.canCreatePlatformTemplate?!e.capabilities.canPublish||!e.capabilities.hasSiteSettings?{visible:!1,hiddenReason:"not-a-site-page"}:e.siteId?e.hasUnsavedEdits?{visible:!0,enabled:!1,disabledReason:$ie}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var kM="storefront-editor:save-as-template";var hd="ContactLocations",zie="CityPictures",Uie="CityMaps",jie=[{key:zie,label:"City pictures",desc:"A wall of city photos, grouped by region. Each photo links to its city's card."},{key:Uie,label:"City maps",desc:"A card per city, grouped by region: address, phone, hours and a map."}];function TM(e=Oi){let o=Pa.find(t=>t.sections.some(a=>a.type===hd))?.key;return!e.includes(hd)||!o?[]:jie.map(({key:t,label:a,desc:r},n)=>({key:t,label:a,cat:o,after:hd,desc:r,alias:"locations offices stores branches",insert:s=>{let l=Xa(hd);return l?Zu(hd,l,n)(s.nodeDefaults,s.newNodeId):null}}))}function EM(e,{nodeDefaults:o,newNodeId:t,sectionLabel:a,blockIsOffered:r}){let n=Ms(e);if(n)return n(o,t,Yu());if(JC(e)&&r(V)&&r(_n))return{type:V,props:{...o(V),id:t(V),direction:"column",name:`${a(e)} section`,content:[{type:_n,props:{...o(_n),id:t(_n),..._o[e]?.headStyle?{headStyle:_o[e].headStyle}:{},..._o[e]?.headRowGap?{rowGap:_o[e].headRowGap}:{},..._o[e]?.headDescriptionSize?{descriptionSize:_o[e].headDescriptionSize}:{},...Fi(e)!==Fi(_n)?{eyebrowLook:Fi(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box",...PM(e,t)}}]}};if(Yt[e]?.fixed===!0)return{type:e,props:{...o(e),id:t(e),layout:"boxes"}};let s=PM(e,t);return Object.keys(s).length?{type:e,props:{...o(e),id:t(e),...s}}:null}function PM(e,o){return e==="Cards"?{template:Ud(t=>o(t))}:e===sl?{template:ph(t=>o(t))}:{}}import{useEffect as Kie,useState as Vie}from"react";import{useEaselSession as qie}from"efficient-easel/screen/lib/session-context";function OM(){let e=qie().chrome?.products?.list,[o,t]=Vie(null);return Kie(()=>{if(!e)return;let a=!1;return e().then(r=>{a||t(r)}),()=>{a=!0}},[e]),o}function HM({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:a}=b_(),r=NM().tree,n=e,s=n.kind==="ticker"?n.heroId:null,l=zs(d=>{d&&(o({kind:"ticker",heroId:d}),ade(d))},[o]);return Xt(()=>{t(s)},[s,t]),Xt(()=>{a(l)},[a,l]),{partRows:(d,{rowClick:c})=>{let f=String(d.props.id);return d.type==="Hero"&&BI(d.props)&&po(BM,{icon:po(Kr,{type:"ticker",size:13}),name:i(ti),onSelect:()=>l(f),selected:s===f,rowProps:{onClick:c(()=>l(f))},words:r})}}}function WM({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:a}=ip(),r=NM().tree,{appState:n}=DM(p=>p),s=n.data.content??[],l=Yie(s);l.current=s;let d=e,c=Ur.find(p=>ni[p]===d.kind),f=c&&"nodeId"in d?si(String(d.nodeId),c):null,u=zs(p=>{let x=P_(p);if(!x)return;let g=l.current.findIndex(k=>String(k.props.id)===x.nodeId);if(g<0)return;let I={kind:ni[x.part],nodeId:x.nodeId};o({index:g},I)},[o]);return Xt(()=>{t(f)},[f,t]),Xt(()=>{a(u)},[a,u]),{partRows:(p,{rowClick:x})=>{let g=String(p.props.id),I=T_(p);if(I.length===0)return null;let k=b=>{let v=si(g,b.part);return po(BM,{icon:po(Kr,{type:b.part==="media"?"heroMedia":"heroImage",size:13}),name:i(b.label),onSelect:()=>u(v),selected:f===v,rowProps:{onClick:x(()=>u(v))},words:r},v)},[S,...C]=I;return xd(FM,{children:[k(S),C.length>0&&po(ede,{children:C.map(k)})]})}}}function GM(e,o){return{partRows:(t,a)=>xd(FM,{children:[e.partRows?.(t,a),o.partRows?.(t,a)]})}}function rde(e){let{adapter:o,capabilities:t,currentSlug:a,siteId:r,docId:n,hasUnsavedEdits:s,bridgeCapabilities:l,notifyParent:d,token:c}=hm(),{hasPreviewLink:f}=t,u=ze(MM()).preview?.draftLink,p=FN(e.data),x=vM({hasTrustedConsole:!!c,canCreatePlatformTemplate:l.canCreatePlatformTemplate,capabilities:t,siteId:r,hasUnsavedEdits:s}),g=zs(()=>{!r||!a||d(kM,{siteId:r,slug:a})},[d,r,a]),I=pN({pageSlug:a,siteId:r,token:c}),k=o.previewHref?.(a)??I;return{barLead:()=>x.visible&&po(CM,{enabled:x.enabled,reason:x.enabled?"":x.disabledReason,onSaved:g}),barView:()=>f&&a&&po(hN,{liveHref:k,pageId:n??null,draftLink:u}),mainAction:p}}function nde(e,o){let{capabilities:t,templateId:a,siteId:r,tokenRef:n,navigate:s}=hm(),{hasSiteTheme:l,explainsSiteSettings:d}=t,c=b=>o.setView(b),[f,u]=_M(ps[0].id),[p,x]=_M(!1),{surface:g,setSurface:I}=I_(),k=()=>{if(l){c("styles"),o.reveal(),AM();return}e.show(aS),e.reveal(),AM()},S={id:"pages",label:i("Pages"),icon:po(Jie,{}),panel:({onHide:b})=>po(i_,{activeSurface:g,onPreviewSurface:I,onNavigate:v=>{I(null),s(a?{kind:"template",id:a,pageSlug:v}:{kind:"page",slug:v,siteId:r??void 0})},onClose:b})},C=[];return!l&&d&&C.push({id:"appearance",label:i("Appearance"),icon:po(Qie,{}),active:e.kind==="website",onSelect:k}),l&&C.push({id:"styles",label:i("Styles"),icon:po(Zie,{}),panel:({onHide:b,notify:v})=>po(pD,{tokenRef:n,siteId:r??void 0,onClose:b,onNotify:v,tab:f,onTabChange:u,revealPageGroup:p,onPageGroupRevealed:()=>x(!1)})}),{railLead:[S],railTrail:C,resolveLeftView:b=>oM(b,l),openSettings:k,openStyles:()=>{u(UO),c("styles")},openPageStyles:l?()=>{u(ms),x(!0),c("styles"),o.reveal()}:d?()=>{e.show(eD),e.reveal()}:void 0}}function sde(){let{navigate:e,siteId:o,reloadFromServer:t,docId:a}=hm(),r=DM(s=>s.config),n=MM();Xt(()=>(Bh({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:r}),()=>Bh(null)),[e,o,t,r]),Xt(()=>{let s=bt();if(!s||!a)return;let l=!1;return tde(n).list().then(d=>{l||s.learn(d)}).catch(()=>{}),()=>{l=!0}},[a,n])}function $M(){let e=Pd();return zs(o=>{wE(o,e)},[e])}function lde(e,o,t,a){let{kind:r,open:n}=e,{selected:s,zoneOf:l}=o;Xt(()=>{Y2(s?.type==="BookingBox"&&s.props.region==="confirm"?X2(l(String(s.props.id))):null)},[s?.props.id]);let d=LD(e,o),{capabilities:{hasSiteSettings:c}}=hm();sde();let{chat:f,setChat:u,setSelected:p,setSelectHandler:x}=lp(),g=zs(()=>n(oD),[n]),I=r==="chat";Xt(()=>{p(I)},[I,p]),Xt(()=>{x(g)},[x,g]);let{setOpenHandler:k}=oi(),S=zs(()=>n(tD),[n]);Xt(()=>{k(S)},[k,S]);let C=GM(HM(e),WM(e)),b=rde(o),v=nde(e,a),T=t.device,F=$M();return{...C,...b,...v,hasOwnRows:P=>P.type===qu,ownRows:d.renderLocationTree,sectionPressed:d.sectionPressed,onCopyItem:F,wrap:P=>po(_m.Provider,{value:!0,children:xd(ode.Provider,{value:T,children:[P,po($N,{})]})}),addPanelRow:P=>c?xd("div",{className:"sf-addside-sitewide",children:[po("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:po(Kr,{type:"chat",size:16})}),xd("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{P(),g()},children:[i("Live chat"),po("span",{className:"sf-addside-sitewide-desc",children:i("A chat bubble on every page")})]}),po(Xie,{checked:f.enabled,onChange:D=>u({enabled:D}),ariaLabel:i("Show the chat bubble on the whole site")})]}):void 0}}var RM=null,GS=new WeakMap;function ide(e){let o=Fw();if(!e||!o)return e;RM!==o&&(RM=o,GS=new WeakMap);let t=GS.get(e);return t||(t={...e,choices:e.choices?e.choices.map(a=>({...a,label:i(a.label)})):null,spec:e.spec?{...e.spec,addLabel:i(e.spec.addLabel),...e.spec.childLabel?{childLabel:i(e.spec.childLabel)}:{}}:null},GS.set(e,t)),t}var dde={isLockedBlock:(e,o)=>Op(e,o)||!!(o&&bt()?.heldElsewhere(o.props.id)),duplicateBlocked:eu,nestDepth:(e,o,t)=>o===cc?Ik(e,t):0,newSectionNode:EM,canAddTo:(e,o,t,a)=>ide(V2(e,o,a,t)),blockIsOffered:j2,slotsOf:q2,resolveOnInsert:!0},cde=new Proxy(yM,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?i(t):t}}),fde={labelAtLevel:(e,o,t)=>i(Fm(e,o,t)),descriptions:cde,categoryLabel:e=>{let o=zN(e);return o===void 0?void 0:i(o)},firstSection:UN,blockRowName:J2,rowName:_p,plainText:oa,Icon:Kr,Thumbnail:cD,useProducts:OM,presets:TM()},pde={desktop:2e3,tablet:800,mobile:390},LM="desktop",ude={options:m_,initial:LM,fluid:LM,widths:pde,hidesPerView:!0},mde={read:Q2,write:e=>eM(e),forSelection:(e,o)=>tM(e,o)},hde={first:Wo,last:He,firstGroup:Me,lastGroup:Ae,isSectionGroup:Ln,sectionGroupZone:kv,panelOf:e=>e===Wo?QB:null,get sharedReach(){return Xr()?gde:void 0},get shared(){return bt()?rM:void 0},get groupTab(){return Xr()?jA:void 0},get groupBadge(){return Xr()?Ub({type:Ae})??void 0:void 0},get changeNotice(){return Xr()?KA():void 0},get band(){return Xr()?xde:void 0},get groupAccepts(){return Xr()?Ev:void 0}},xde={foldable:!0},gde=e=>Ub(e)??aM(e);function Ide(e){return{...GM(HM(e),WM(e)),onCopyItem:$M(),openSettings:()=>e.show(aS)}}function bde(e,o){$D(e,o),lN()}var gVe={useOwnerName:hs,useDocumentLabel:XO,useBridges:lde,useStandaloneBridges:Ide,useDocumentPass:bde,blockRules:dde,blockLook:fde,devices:ude,leftView:mde,pinned:hde,Canvas:gM,canvasDrag:{media:bM},Inspector:rD};export{Ta as a,Z as b,Eo as c,hH as d,xt as e,Vs as f,$de as g,Ww as h,zde as i,xH as j,Ude as k,jde as l,Ed as m,Gw as n,Kde as o,lo as p,wH as q,Vde as r,Yde as s,Xde as t,Jde as u,_d as v,ea as w,se as x,V as y,Kw as z,rce as A,qw as B,lce as C,ice as D,pr as E,nC as F,oa as G,j as H,dC as I,kce as J,Qe as K,mr as L,_ce as M,Ace as N,Ne as O,Rce as P,Lce as Q,Fce as R,hC as S,Oa as T,i4 as U,Xm as V,gC as W,Dce as X,uo as Y,Jm as Z,Zm as _,f4 as $,Nd as aa,Wce as ba,Zs as ca,Gce as da,bC as ea,Uce as fa,yC as ga,xr as ha,jce as ia,Kce as ja,Vce as ka,aa as la,SC as ma,Xce as na,Uo as oa,el as pa,rfe as qa,w4 as ra,E4 as sa,nfe as ta,sfe as ua,oh as va,lfe as wa,O4 as xa,dfe as ya,L4 as za,cfe as Aa,B4 as Ba,ffe as Ca,pfe as Da,ih as Ea,RC as Fa,LC as Ga,FC as Ha,ufe as Ia,mfe as Ja,hfe as Ka,xfe as La,gfe as Ma,$4 as Na,Ife as Oa,bfe as Pa,NC as Qa,z4 as Ra,yfe as Sa,Sfe as Ta,HC as Ua,G as Va,Y as Wa,Gd as Xa,_ as Ya,Xe as Za,_a,M as $a,tl as ab,gt as bb,wo as cb,rl as db,ie as eb,Ra as fb,zd as gb,ch as hb,fh as ib,GC as jb,zC as kb,KC as lb,tpe as mb,uh as nb,r5 as ob,n5 as pb,mh as qb,On as rb,Je as sb,spe as tb,s5 as ub,_o as vb,Kd as wb,cpe as xb,ZC as yb,fpe as zb,ppe as Ab,Vd as Bb,qd as Cb,An as Db,ll as Eb,c5 as Fb,hh as Gb,eo as Hb,Ao as Ib,Co as Jb,nl as Kb,nv as Lb,dl as Mb,sv as Nb,Bpe as Ob,Dpe as Pb,b5 as Qb,lv as Rb,dv as Sb,Npe as Tb,Mpe as Ub,gh as Vb,y5 as Wb,w5 as Xb,fv as Yb,cl as Zb,vo as _b,fl as $b,Ih as ac,bh as bc,Hpe as cc,Wpe as dc,Gpe as ec,Yd as fc,$pe as gc,pl as hc,Ch as ic,zpe as jc,Upe as kc,Bb as lc,ze as mc,Cc as nc,tu as oc,dDe as pc,Vt as qc,qt as rc,Ya as sc,Io as tc,yDe as uc,v1e as vc,ci as wc,fi as xc,j_ as yc,k1e as zc,K_ as Ac,T1e as Bc,q9 as Cc,V_ as Dc,P1e as Ec,X_ as Fc,zD as Gc,IGe as Hc,wde as Ic,re as Jc,i as Kc,Po as Lc,UD as Mc,SGe as Nc,Wk as Oc,et as Pc,HT as Qc,iIe as Rc,Nx as Sc,fG as Tc,dIe as Uc,ho as Vc,Iz as Wc,ng as Xc,$ye as Yc,GP as Zc,jye as _c,vt as $c,wz as ad,Vye as bd,qye as cd,Yye as dd,Xye as ed,Zc as fd,Jye as gd,Qc as hd,Zye as id,Qye as jd,UP as kd,jP as ld,Tz as md,Pz as nd,aSe as od,nSe as pd,sSe as qd,lSe as rd,iSe as sd,KP as td,Lr as ud,Lz as vd,fSe as wd,Fz as xd,pSe as yd,io as zd,Bz as Ad,uSe as Bd,mSe as Cd,hSe as Dd,xSe as Ed,gSe as Fd,ISe as Gd,Yn as Hd,bSe as Id,ke as Jd,Ip as Kd,pi as Ld,bp as Md,H1e as Nd,Gc as Od,oye as Pd,H$ as Qd,yP as Rd,tye as Sd,aye as Td,aR as Ud,Jk as Vd,Ba as Wd,Vhe as Xd,Ma as Yd,g3 as Zd,qhe as _d,Yhe as $d,cx as ae,Xhe as be,Jhe as ce,Zhe as de,Qk as ee,dx as fe,b3 as ge,Qhe as he,exe as ie,oxe as je,txe as ke,rR as le,au as me,lR as ne,ADe as oe,RDe as pe,Dl as qe,Ut as re,Cl as se,sxe as te,lxe as ue,co as ve,on as we,Q as xe,Es as ye,ae as ze,oe as Ae,ce as Be,de as Ce,ye as De,oNe as Ee,pe as Fe,tn as Ge,Ri as He,Li as Ie,fR as Je,nNe as Ke,Kee as Le,pR as Me,iNe as Ne,dNe as Oe,uR as Pe,Vee as Qe,mR as Re,qee as Se,Fi as Te,hR as Ue,pNe as Ve,Jb as We,hNe as Xe,xNe as Ye,gNe as Ze,INe as _e,bNe as $e,yNe as af,uc as bf,CNe as cf,vNe as df,xR as ef,kNe as ff,Zee as gf,Qee as hf,TNe as if,eoe as jf,PNe as kf,toe as lf,ANe as mf,RNe as nf,aoe as of,LNe as pf,FNe as qf,BNe as rf,DNe as sf,NNe as tf,MNe as uf,HNe as vf,WNe as wf,fu as xf,IR as yf,moe as zf,VNe as Af,qNe as Bf,rn as Cf,Rs as Df,E2e as Ef,O2e as Ff,_2e as Gf,aL as Hf,rL as If,Xoe as Jf,q2e as Kf,nL as Lf,sL as Mf,lL as Nf,J2e as Of,eMe as Pf,Cu as Qf,iL as Rf,ote as Sf,oMe as Tf,XG as Uf,Ct as Vf,hbe as Wf,xbe as Xf,gbe as Yf,Ibe as Zf,Bc as _f,bbe as $f,Vc as ag,Fl as bg,Pye as cg,Eye as dg,Oye as eg,EP as fg,OP as gg,_P as hg,_ye as ig,Me as jg,Ae as kg,due as lg,Tv as mg,ec as ng,qA as og,IMe as pg,bMe as qg,IL as rg,yMe as sg,SMe as tg,os as ug,kl as vg,Pg as wg,_g as xg,kf as yg,Pt as zg,Ave as Ag,Rve as Bg,Lve as Cg,Fve as Dg,AK as Eg,RK as Fg,Bve as Gg,ts as Hg,Rg as Ig,Dve as Jg,Nve as Kg,rs as Lg,tI as Mg,aI as Ng,ls as Og,Wr as Pg,pPe as Qg,ql as Rg,nO as Sg,uPe as Tg,pI as Ug,mPe as Vg,hPe as Wg,xPe as Xg,MV as Yg,gPe as Zg,$V as _g,zV as $g,IPe as ah,bPe as bh,jV as ch,by as dh,Iy as eh,gi as fh,sA as gh,lA as hh,Ii as ih,z1 as jh,Pb as kh,eLe as lh,Ss as mh,Ob as nh,K1 as oh,V1 as ph,IZ as qh,q1 as rh,Fp as sh,Y1 as th,ZMe as uh,RL as vh,QMe as wh,eHe as xh,oHe as yh,Ki as zh,Pu as Ah,iHe as Bh,ba as Ch,gHe as Dh,IHe as Eh,WL as Fh,ya as Gh,bo as Hh,Ou as Ih,$L as Jh,vHe as Kh,_u as Lh,zL as Mh,OHe as Nh,UHe as Oh,oF as Ph,Ly as Qh,tF as Rh,YHe as Sh,XHe as Th,JHe as Uh,Fy as Vh,ZHe as Wh,QHe as Xh,aF as Yh,gF as Zh,sn as _h,S4e as $h,w4e as ai,C4e as bi,v4e as ci,k4e as di,iae as ei,Du as fi,W4e as gi,Fg as hi,jve as ii,Bg as ji,sE as ki,X4e as li,NF as mi,MF as ni,h5e as oi,Nu as pi,GF as qi,$F as ri,y5e as si,wae as ti,Cae as ui,vae as vi,S5e as wi,R5e as xi,_ae as yi,Aae as zi,XF as Ai,L5e as Bi,F5e as Ci,Q5e as Di,IB as Ei,e6e as Fi,bB as Gi,t6e as Hi,Qae as Ii,EB as Ji,p6e as Ki,zB as Li,Q$e as Mi,cze as Ni,PS as Oi,fze as Pi,pze as Qi,VN as Ri,Ize as Si,bze as Ti,e2 as Ui,yze as Vi,yT as Wi,FO as Xi,r0e as Yi,n0e as Zi,C7 as _i,s0e as $i,l0e as aj,i0e as bj,d0e as cj,v7 as dj,c0e as ej,f0e as fj,p0e as gj,u0e as hj,E7 as ij,m0e as jj,Vse as kj,r2 as lj,kze as mj,pd as nj,Fa as oj,zue as pj,e6 as qj,zh as rj,xl as sj,Uue as tj,Vue as uj,t6 as vj,tk as wj,que as xj,vr as yj,l6 as zj,eme as Aj,ome as Bj,gl as Cj,tme as Dj,ame as Ej,qh as Fj,lk as Gj,cme as Hj,C_ as Ij,wOe as Jj,DI as Kj,jr as Lj,TOe as Mj,POe as Nj,vY as Oj,EOe as Pj,si as Qj,P_ as Rj,E_ as Sj,Nze as Tj,_S as Uj,f2 as Vj,mn as Wj,OS as Xj,Qse as Yj,Mze as Zj,am as _j,ud as $j,rm as ak,Hze as bk,Wze as ck,O5 as dk,Zpe as ek,_5 as fk,A5 as gk,oue as hk,R5 as ik,L5 as jk,tue as kk,aue as lk,rue as mk,nue as nk,u2 as ok,md as pk,$s as qk,m2 as rk,lm as sk,im as tk,dm as uk,h2 as vk,x2 as wk,g2 as xk,I2 as yk,b2 as zk,w2 as Ak,C2 as Bk,dUe as Ck,cUe as Dk,fUe as Ek,pUe as Fk,wt as Gk,Ile as Hk,O2 as Ik,yle as Jk,A2 as Kk,R2 as Lk,F2 as Mk,_le as Nk,HUe as Ok,Dn as Pk,mk as Qk,uk as Rk,m6 as Sk,h6 as Tk,x6 as Uk,yme as Vk,g6 as Wk,Sme as Xk,Il as Yk,wme as Zk,Cme as _k,cc as $k,Ik as al,S_ as bl,gOe as cl,qUe as dl,YUe as el,Dle as fl,eie as gl,Q$ as hl,jn as il,Sye as jl,Pme as kl,Qh as ll,Eme as ml,Ome as nl,ra as ol,vk as pl,yk as ql,tx as rl,v6 as sl,Bme as tl,fc as ul,Tk as vl,k6 as wl,T6 as xl,P6 as yl,Mme as zl,Hme as Al,Wme as Bl,Gme as Cl,Cye as Dl,vye as El,kye as Fl,kue as Gl,Oue as Hl,jc as Il,gye as Jl,Iye as Kl,bye as Ll,iKe as Ml,ULe as Nl,nA as Ol,ti as Pl,fOe as Ql,b_ as Rl,pOe as Sl,uOe as Tl,mOe as Ul,IWe as Vl,uD as Wl,mD as Xl,hD as Yl,XP as Zl,Zz as _l,Ho as $l,ca as am,of as bm,tf as cm,FSe as dm,BSe as em,NSe as fm,MSe as gm,HSe as hm,WSe as im,GSe as jm,zSe as km,rf as lm,ZP as mm,ig as nm,eU as om,QP as pm,e0 as qm,ume as rm,gme as sm,pc as tm,mc as um,yl as vm,Ak as wm,Jme as xm,Zme as ym,Nk as zm,nx as Am,m3 as Bm,Nhe as Cm,cxe as Dm,gxe as Em,Ixe as Fm,$3 as Gm,No as Hm,vl as Im,Sx as Jm,wx as Km,Jxe as Lm,xT as Mm,Zxe as Nm,Qxe as Om,ege as Pm,CT as Qm,kT as Rm,sa as Sm,LT as Tm,bG as Um,CIe as Vm,UT as Wm,_Ie as Xm,KT as Ym,XT as Zm,JT as _m,ZT as $m,QT as an,eP as bn,oP as cn,Hx as dn,MG as en,HG as fn,_l as gn,Wx as hn,aP as in,ZIe as jn,GG as kn,QIe as ln,ebe as mn,obe as nn,nP as on,nbe as pn,UG as qn,sbe as rn,lbe as sn,KG as tn,Gx as un,qG as vn,fbe as wn,YG as xn,pbe as yn,Ux as zn,Pbe as An,cP as Bn,e$ as Cn,Obe as Dn,Al as En,m$ as Fn,Ybe as Gn,z$ as Hn,fye as In,j$ as Jn,pye as Kn,uye as Ln,mye as Mn,qn as Nn,Xc as On,Dye as Pn,Nye as Qn,Mye as Rn,MP as Sn,Wye as Tn,Va as Un,ha as Vn,Br as Wn,bCe as Xn,yCe as Yn,SCe as Zn,wCe as _n,CCe as $n,vCe as ao,kCe as bo,OCe as co,_Ce as do,hj as eo,ACe as fo,RCe as go,LCe as ho,FCe as io,BCe as jo,DCe as ko,NCe as lo,MCe as mo,bj as no,HCe as oo,Ig as po,WCe as qo,uf as ro,qo as so,ua as to,R0 as uo,El as vo,L0 as wo,hf as xo,GCe as yo,$Ce as zo,Gj as Ao,zCe as Bo,UCe as Co,jCe as Do,KCe as Eo,VCe as Fo,qCe as Go,at as Ho,YCe as Io,XCe as Jo,nf as Ko,gf as Lo,If as Mo,Sg as No,yf as Oo,JCe as Po,rK as Qo,ZCe as Ro,nK as So,QCe as To,eve as Uo,$0 as Vo,ove as Wo,tve as Xo,ave as Yo,rve as Zo,nve as _o,sve as $o,kg as ap,lve as bp,U0 as cp,j0 as dp,ive as ep,Qn as fp,IK as gp,dve as hp,cve as ip,rRe as jp,nRe as kp,_p as lp,wb as mp,kRe as np,TRe as op,G1 as pp,Yo as qp,ui as rp,YX as sp,c1 as tp,mAe as up,hAe as vp,xAe as wp,gAe as xp,m1 as yp,SAe as zp,wAe as Ap,CAe as Bp,UE as Cp,jE as Dp,np as Ep,d_ as Fp,c_ as Gp,p_ as Hp,sp as Ip,VEe as Jp,qEe as Kp,lp as Lp,hY as Mp,rOe as Np,oi as Op,iOe as Pp,I_ as Qp,Rn as Rp,P5 as Sp,Ype as Tp,Xpe as Up,vBe as Vp,kBe as Wp,TBe as Xp,yOe as Yp,ip as Zp,Lde as _p,BK as $p,tke as aq,ake as bq,cE as cq,rke as dq,nke as eq,Xg as fq,uO as gq,RPe as hq,LPe as iq,FPe as jq,BPe as kq,LO as lq,k0e as mq,T0e as nq,__ as oq,f1e as pq,N_ as qq,yi as rq,tQ as sq,aFe as tq,cFe as uq,Wp as vq,He as wq,Qp as xq,Lt as yq,ID as zq,Qi as Aq,bD as Bq,yD as Cq,CWe as Dq,vWe as Eq,iN as Fq,wS as Gq,dN as Hq,V2 as Iq,wje as Jq,fm as Kq,Kle as Lq,Vle as Mq,Lje as Nq,Tde as Oq,_de as Pq,gVe as Qq};
|