efficient-storefront-blocks 0.93.0 → 0.94.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 +21 -0
- package/dist/chunks/{EditorPreviewCheckout-FSEFJZSO.js → EditorPreviewCheckout-OPDSFBJH.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-N76XROIW.js → SiteEditorProvider-ZP6NAWYT.js} +1 -1
- package/dist/chunks/{chunk-ITIVEB2I.js → chunk-ATCBSW73.js} +1 -1
- package/dist/chunks/{chunk-NSW5PCGW.js → chunk-CEFKTE5A.js} +1 -1
- package/dist/chunks/chunk-JKJ76CRT.js +388 -0
- package/dist/chunks/chunk-JTDOMQMQ.js +1 -0
- package/dist/chunks/{fitment-data-2SHEWSDK.js → fitment-data-IPAMN5IH.js} +1 -1
- package/dist/editor/components/GalleryPicturesSource.js +1 -1
- package/dist/editor/components/GalleryProductBinding.js +1 -1
- package/dist/editor/components/GalleryShowcaseSource.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductHero/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/index.d.ts +1 -1
- package/dist/editor/lib/storefront-document.js +1 -1
- package/dist/editor/lib/storefront-editor-words-kept.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +3 -0
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/index.js +33 -33
- package/dist/links.js +1 -1
- package/dist/render/app/globals.css +37 -1
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/DefaultProductHero.d.ts +12 -0
- package/dist/render/components/DefaultProductHero.js +1 -0
- package/dist/render/components/GridCardTemplate.d.ts +7 -4
- package/dist/render/components/GridCardTemplate.js +1 -1
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/ProductHeroPanel.d.ts +2 -1
- package/dist/render/components/ProductHeroPanel.js +1 -1
- package/dist/render/components/card-pieces/CardBuyButton.js +1 -1
- package/dist/render/components/card-pieces/CardName.js +1 -1
- package/dist/render/components/card-pieces/CardProductPicture.js +1 -1
- package/dist/render/components/card-pieces/CardSizes.d.ts +10 -2
- package/dist/render/components/card-pieces/CardSizes.js +1 -1
- package/dist/render/components/card-pieces/CardSpecs.d.ts +2 -0
- package/dist/render/components/card-pieces/CardSpecs.js +1 -1
- package/dist/render/components/card-pieces/ProductCardState.d.ts +14 -4
- package/dist/render/components/card-pieces/ProductCardState.js +1 -1
- package/dist/render/components/catalog/ShopperChips.js +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
- package/dist/render/lib/content/hero-option-seed.d.ts +28 -0
- package/dist/render/lib/content/hero-option-seed.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/meta.d.ts +4 -0
- package/dist/render/lib/document/blocks/commerce/ProductHero/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/render.js +1 -1
- package/dist/render/lib/document/card-templates.js +1 -1
- package/dist/render/lib/sections/filter-option-rows.d.ts +14 -0
- package/dist/render/lib/sections/filter-option-rows.js +1 -1
- package/dist/render/lib/sections/product-pictures.d.ts +2 -2
- package/dist/render/lib/sections/product-pictures.js +1 -1
- package/dist/render/lib/wheels/plp-hydrate.d.ts +4 -1
- package/dist/render/lib/wheels/plp-hydrate.js +1 -1
- package/dist/words.d.ts +4 -0
- package/dist/words.js +2 -2
- package/package.json +3 -3
- package/dist/chunks/chunk-IZEIMAJI.js +0 -1
- package/dist/chunks/chunk-OERUEODX.js +0 -388
- package/dist/render/components/TyrePlpCard.d.ts +0 -20
- package/dist/render/components/TyrePlpCard.js +0 -1
- package/dist/render/components/TyreSummaryCard.d.ts +0 -12
- package/dist/render/components/TyreSummaryCard.js +0 -1
- /package/dist/chunks/{chunk-OERUEODX.js.LEGAL.txt → chunk-JKJ76CRT.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-XYG76Y4H.js → chunk-LRLOANKA.js} +0 -0
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
import{$ as bw,A as vn,Ab as Gw,B as Cn,Ba as kw,Bb as $w,D as dw,Da as Tw,E as cw,Ea as Pw,Ga as Ew,H as Ys,Ia as kn,J as fw,Ja as Ow,K as Cm,La as Cd,Ma as _w,N as Sd,O as pw,P as uw,Q as mw,Qa as Aw,R as wd,S as hw,Sa as kd,T as xw,V as gw,W as km,Y as Iw,Ya as Rw,Z as et,_ as lr,a as xt,aa as Mt,b as yn,ba as vd,bb as Td,c as rw,d as Qt,db as Tn,e as Sm,ea as yw,f as Sn,fa as Tm,fb as Pn,gb as Pd,ia as Sw,ib as Lw,j as qs,ja as Pm,l as Ca,la as Em,m as wm,mb as Fw,ob as Bw,pa as ww,s as nw,sb as xe,t as sw,u as vm,v as ao,va as ir,w as lw,wb as Hw,x as iw,xa as vw,xb as Ww,y as wn,z as Do,za as Cw,zb as Ed}from"./chunk-IZEIMAJI.js";import{d as Dw,e as ka,f as Nw,g as Mw,j as En,n as Om}from"./chunk-XYG76Y4H.js";var J=e=>typeof e=="string"&&e?e:void 0;var Uw="en",Od=null,jw=Uw,Kw=null;function rce(e,o,t){Od=e??null,jw=o||Uw,Kw=t??null}function ne(){return Kw}function _m(){return jw}function Vw(){return Od}function zw(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=Od?Od[e]:void 0;if(typeof t=="function"){try{let a=J(t(o??{}));if(a)return a}catch{}return zw(e,o)}return zw(J(t)??e,o)}function Eo(e,o,t,a){return i(t===1?e:o,{...a,n:t})}import{jsx as Am,Fragment as SH,jsxs as wH}from"react/jsx-runtime";import{createContext as vH,useContext as CH}from"react";var kH={mirrorHostStyles:!0,css:null,fontHrefs:[]},qw=vH(kH);function ice({value:e,children:o}){return Am(qw.Provider,{value:e,children:o})}function Rm(){return CH(qw)}function Yw(){let{css:e,fontHrefs:o}=Rm();return wH(SH,{children:[o.map(t=>Am("link",{rel:"stylesheet",href:t},t)),e?Am("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as TH}from"react/jsx-runtime";import{createContext as PH,useContext as EH}from"react";var Xw=PH(void 0);function pce({metadata:e,children:o}){return TH(Xw.Provider,{value:e,children:o})}var Jw=()=>EH(Xw);import{jsx as uo,Fragment as eH,jsxs as bd}from"react/jsx-runtime";import{useCallback as Ks,useEffect as Jt,useRef as Ade,useState as XM}from"react";import{SettingsSwitch as Rde}from"efficient-easel/panel";import{PagesIcon as Lde,StylesIcon as Fde}from"efficient-easel/rail";import{PaletteIcon as Bde}from"efficient-shell/icons/efficient";import{Subtree as Dde,TreeRow as oH}from"efficient-easel/tree";import{useEasel as tH}from"efficient-easel/easel";import{useEaselStrings as aH}from"efficient-easel/strings";import{createContext as OH,useContext as _H}from"react";var Lm=OH(!1),hce=()=>_H(Lm);import{useMemo as AH,useRef as RH}from"react";import{useEaselApi as LH}from"efficient-easel/easel";import{useSectionOps as FH}from"efficient-easel/screen/lib/document/use-section-ops";function _d(){let e=LH(),o=FH(),t=RH(o);return t.current=o,AH(()=>({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 v8}from"efficient-easel/draw";import{insertAt as C8,moveTo as k8,removeAt as T8}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 Oo="dataSource",ea="dataSourceOptions",BH="dataRows",gt="countKey",Xs="counts",Cce="location-payment-methods",Qw="shop-payment-methods",kce="delivery-options";function DH(e){return typeof e.open=="function"}var NH=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;function Js(){return Ta("efficient.block-sources",()=>({sources:new Map,revision:0}))}var MH=e=>[e?.key,e?.label,e?.value].every(o=>typeof o=="string"&&o.trim()!==""),HH=e=>[e?.key,e?.label].every(o=>typeof o=="string"&&o.trim()!==""),Zw=e=>typeof e=="string"&&e.trim()!=="";function WH(e){if(!e||!Zw(e.label))return null;if(DH(e))return{label:e.label.trim(),open:e.open};let o=e.href;return Zw(o)?{label:e.label.trim(),href:o.trim()}:null}function GH(e){if(typeof e.key!="string"||!NH.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=WH(e.edit);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>ov(t)).filter(t=>t!==null)}:{},...Array.isArray(e.choices)?{choices:e.choices.filter(MH)}:{},...Array.isArray(e.fields)?{fields:e.fields.filter(HH).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 Tce(e){let o=e.map(GH),t=Js();for(let a of o)t.sources.set(a.key,a);o.length&&(t.revision+=1)}function Pce(e){let o=[...Js().sources.values()];return e===void 0?o:o.filter(t=>t.blocks.includes(e))}function Ad(e){return Js().sources.get(e)??null}function ev(e){return Js().sources.get(e)?.choices??[]}function Ece(){return Js().revision}function lo(e){let o=e?.[Oo];return typeof o=="string"?o.trim():""}function ov(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let o={};for(let[t,a]of Object.entries(e)){let r=J(a);r&&(o[t]=r)}return Object.keys(o).length?o:null}function $H(e){let o=e?.[BH];return Array.isArray(o)?o.map(ov).filter(t=>t!==null):null}function Oce(e,o,t=[]){let a=$H(e);if(a!==null&&(a.length||!o))return{rows:a,sample:!1};if(!o)return{rows:[],sample:!1};let r=Ad(lo(e))?.sample;return{rows:r?.length?r:t,sample:!0}}import{isNodeList as U5}from"efficient-easel/data";var tv=["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 Ace(){return Object.fromEntries(Pa.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var zH="2027-02-05",av={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 ${zH}). 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.'}},Fm=Object.fromEntries(Object.entries(av).map(([e,o])=>[e,o.note])),Rce=["Grid","Spacer","TyreFitment"],Lce=Array.from(new Set([...Pa.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(Fm)])),UH=Object.fromEntries(Object.entries(av).map(([e,o])=>[e,o.label])),Ld={...UH,...Object.fromEntries(Pa.flatMap(e=>e.sections.map(o=>[o.type,o.label])))},jH={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"},Rd={...jH,...Object.fromEntries(Pa.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function rv(e){return Object.prototype.hasOwnProperty.call(Rd,e)?Rd[e]:void 0}function Bm(e){return Object.keys(Rd).filter(o=>Rd[o]===e).sort()}var Fce=Bm("general"),Bce=Bm("commerce"),Dce=Bm("service"),Dm="Flex",oa="Box",Nce=`${oa}es`;function KH(e){return e==="section"?"Blank section":oa}function Nm(e,o,t){return e===Dm?KH(o):t}var se="content",K="Flex",VH="Text & media",qH="Layout & structure",sv=[{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"}],YH=[...sv,{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:VH})),XH=(Pa.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:qH})),nv=[...YH,...XH],Mm=[...sv,{type:"HeroGroup",label:oa}],Wce=Mm.map(e=>e.type),JH=1,ZH=Mm.filter(e=>e.type!=="HeroGroup");function QH(e){return e<JH?Mm:ZH}var e4={Flex:{slot:se,choices:()=>nv},Grid:{slot:se,choices:()=>nv},HeroGroup:{slot:se,choices:QH}};function lv(e,o=0){let t=e4[e];return t?{slot:t.slot,choices:t.choices(o)}:null}import{applyMark as Vce,markupTools as qce,MARKUP_TOOLS as Yce,COPY_FIELD_TOOLS as Xce,STOREFRONT_MARKUP as Jce,tokenizeInline as Zce,stripInline as Qce,isSafeLinkHref as mv}from"efficient-shell/markup";import{applyMark as u4,clearStyle as m4,markedAt as h4,markupTools as x4,MARKUP_TOOLS as g4,parseMarkup as I4,RETIRED_MARKS as b4,STOREFRONT_MARKUP as y4,tokenizeInline as ofe}from"efficient-shell/markup";var dr=["highlight","strong","quiet"],cr={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},Ht={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},fv=Object.fromEntries(dr.map(e=>[Ht[e].kind,e])),pv="data-sf-ws",o4=["accent","text","labels"],Ea={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},t4=80,a4=120,r4=100,n4=900,s4=.5,l4=3,i4=-.1,d4=.5,c4=3,Hm={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},f4={highlight:{...Hm},strong:{...Hm},quiet:{...Hm}};function iv(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function dv(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**c4;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function cv(e){return typeof e=="boolean"?e:null}function p4(e){let o=typeof e?.font=="string"&&xt.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&o4.includes(e.colour)?e.colour:null;return{font:o,size:iv(e?.size,t4,a4),weight:iv(e?.weight,r4,n4),bold:cv(e?.bold),italic:cv(e?.italic),lineGap:dv(e?.lineGap,s4,l4),textGap:dv(e?.textGap,i4,d4),colour:t}}function uv(e){let o={};for(let t of dr)o[t]=e&&t in e&&e[t]?p4(e[t]):{...f4[t]};return o}function zce(e){let o=uv(e),t={};for(let a of dr){let r=o[a],n=`--sf-ws-${a}`;if(r.font){let s=xt.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 Uce(e){let o=e?.word_styles??void 0,t={};for(let a of dr)o&&a in o&&(t[a]=o[a]??null);return uv(t)}var S4=new Set(["strong"]),hv=dr.map(e=>({open:Ht[e].delimiter,close:Ht[e].delimiter,kind:Ht[e].kind,...S4.has(e)?{wordStart:!0}:{}})),afe=[{style:Ht.highlight.kind,label:cr.highlight,title:`${cr.highlight} word style`},{style:Ht.strong.kind,label:cr.strong,title:`${cr.strong} word style`},{style:Ht.quiet.kind,label:cr.quiet,title:`${cr.quiet} word style`}],w4=new Set(hv.map(e=>e.open)),fr=[...y4.filter(e=>!w4.has(e.open)),...hv];function Wm(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function Zs(e){return I4(typeof e=="string"?e:"",fr)}var v4=g4.map(e=>e.style).filter(e=>!b4.includes(e)).filter(e=>fr.some(o=>o.kind===e));function xv(){return x4(v4)}var gv=Object.fromEntries(dr.map(e=>[Ht[e].kind,Ht[e].delimiter]));function Iv(e,o,t,a){let r=gv[a];if(!r)return u4(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 bv(e,o,t,a){let r=gv[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:h4(e,o,t,a)}function pr(e){return e.replace(/==(.+?)==/g,(o,t)=>t.startsWith("_")&&t.endsWith("_")?o:`==_${t}_==`)}function ta(e){return Zs(e).map(o=>Wm(o)+Sv(o.children)).join(`
|
|
58
|
-
`)}function yv(e,o,t){return m4(e,o,t,fr)}function Sv(e){return e.map(o=>o.kind==="text"?o.text:Sv(o.children)).join("")}var j=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0;var Wt={min:0,max:360,step:1},wv="angle";function lfe(e){let o=j(e);if(o===void 0)return null;let t=Math.min(Wt.max,Math.max(Wt.min,o));return t===Wt.min||t===Wt.max?null:{rotate:`${t}deg`}}import{HOVER_MOTION as C4,hoverKindsOf as Bd,motionSeconds as Fd}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"},Gt="highlight",$m="Highlight",zm=["none",Gt],Um={none:hr.none,[Gt]:$m};function k4(e){return e[Qe]===Gt?Gt:"none"}var pfe="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)]",ufe="hover:[--fg:var(--sf-hl-ink)]! hover:[--fg-dim:inherit]! hover:[--site-line:inherit]! hover:[color:inherit]! active:[--fg:var(--sf-hl-ink)]! active:[--fg-dim:inherit]! active:[--site-line:inherit]! active:[color:inherit]!";function mfe(e,o){return k4(e)!==Gt?null:{"--sf-hl-bg":o("surface"),"--sf-hl-ink":o("main")}}var Dd=Bd(["none","lift"]);function Cv(e){let o=e[Qe];return Dd.includes(o)?o:"none"}var Nd=Bd(["none","nextImage","rotate"]),we={kind:Qe,angle:"hoverAngle",duration:"hoverDuration",delay:"hoverDelay",mediaKind:"hoverKind",mediaGroup:"hoverGroup",cover:"hoverCover"},Qs="spinOnHover",vv=Wt,kv={ProductGrid:"rotate",RelatedProducts:"rotate",AlloyWheelsListing:"none"},hfe=Object.keys(kv);function jm(e){return kv[e]??"none"}var Km=C4.rotateFallbackDeg,Vm=["photos","lifestyle","renderings","accessories","others"],Tv={photos:"Product photos",lifestyle:"Lifestyle photos",renderings:"Renderings",accessories:"Accessories",others:"Others"},qm=["finish","first"],Pv={finish:"Same finish",first:"First group"},Ym=["card","picture"],Ev={card:"Whole card",picture:"Picture"},ur={kind:"photos",group:"finish",cover:"card"},Gm=(e,o,t)=>e.includes(o)?o:t;function T4(e){return{kind:Gm(Vm,e[we.mediaKind],ur.kind),group:Gm(qm,e[we.mediaGroup],ur.group),cover:Gm(Ym,e[we.cover],ur.cover)}}function Ov(){return{field:we.kind,is:"nextImage"}}function Xm(e,o){let t=e[we.kind];if(Nd.includes(t))return t;let a=e[Qs];return typeof a=="boolean"?a?"rotate":"none":o}function Jm(e){let o=j(e);return o===void 0?Km:Math.min(vv.max,Math.max(vv.min,o))}function xfe(e,o){let t=jm(o),a=Xm(e,t);return{kind:a,angle:a==="rotate"?Jm(e[we.angle]):null,duration:Fd("hover","duration",a==="rotate"?e[we.duration]:void 0),delay:Fd("hover","delay",a==="rotate"?e[we.delay]:void 0),...a==="nextImage"?{media:T4(e)}:{}}}function _v(e){let o={field:we.kind,in:[...Nd]};return{any:[{field:we.kind,is:"rotate"},{all:[{not:o},e==="rotate"?{not:{field:Qs,is:!1}}:{field:Qs,is:!0}]}]}}var Md=Bd(["none","mono"]),Zm=Bd(["none","nextImage","mono"]),Av={ImageBlock:"none",Manifesto:"none",Split:"none",ContactLocations:"mono"},gfe=Object.keys(Av);function Qm(e){return Av[e]??"none"}var el={zoom:"hoverZoom",darken:"hoverDarken"},aa={min:100,max:150,step:1,unit:"%"},Hd=["nextImage"];function P4(e,o){if(!Hd.includes(o))return null;let t=j(e[el.zoom]);if(t===void 0)return null;let a=Math.min(aa.max,Math.max(aa.min,t));return a===aa.min?null:String(a/100)}function E4(e,o){if(!Hd.includes(o))return null;let t=j(e[el.darken]);return t!==void 0&&t>0?t:null}var eh=["ImageBlock"];function oh(e,o,t=Md){let a=e[Qe];return t.includes(a)?a:o}function Rv(e,o=""){let t=eh.includes(o)?Zm:Md,a=oh(e,Qm(o),t),r=a!=="none";return{kind:a,duration:Fd("hover","duration",r?e[we.duration]:void 0),delay:Fd("hover","delay",r?e[we.delay]:void 0),...Hd.includes(a)?{zoom:P4(e,a),darken:E4(e,a)}:{}}}function Lv(){return{field:Qe,in:[...Hd]}}function th(e){return e==="none"?{field:Qe,in:["mono","nextImage"]}:{not:{field:Qe,is:"none"}}}var Oa="rowImageField",O4="boxOutsideCopy",_4={all:[{field:Oa,set:!0},{not:{context:O4,is:!0}}]},ah={any:[{field:"bgImage",set:!0},_4]},Fv="boxInCopy",A4={any:[{not:{field:Oa,set:!0}},{not:{context:Fv,is:!0}}]},bfe={all:[{not:{field:"bgImage",set:!0}},A4]},Bv={all:[{not:{context:"parent.bgImage",set:!0}},{any:[{not:{context:`parent.${Oa}`,set:!0}},{not:{context:Fv,is:!0}}]}]};function mo(e,o,t){return e.some(a=>(typeof a=="object"?a.value:a)===t)?t:o}var rh="small",nh="dot",R4=[{label:"Small",value:"small"},{label:"Display",value:"display"}],sh=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],Wd={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},L4={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)]"},F4={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 vfe(e){return mo(R4,rh,e)}function ol(e){return mo(sh,nh,e)}function Cfe(e){return L4[e]}function Dv(e,o){return F4[e][o]}var Pfe=[{value:"none"},{value:"dot"},{value:"cross"},{value:"slash"},{value:"triangle"}];function Nv(e){return sh.some(o=>o.value===e)?ol(e):void 0}var B4="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"&&Nv(o)!==void 0}function Efe(e,o){return xr(e,o)?B4:""}var D4="[&>*: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 Ofe(e,o){return xr(e,o)?D4:""}function _fe(e,o){if(!xr(e,o))return{};let t=Nv(o),a=/^text-\[([\d.]+)em\]$/.exec(Dv("small",t))?.[1],r=Wd[t];return{"--sf-sep-mark":r===""?"none":JSON.stringify(r),...a?{"--sf-sep-k":a}:{}}}import{AUTO_RULES as H4,FOLLOW_RULES as W4,isAuto as G4,resolveViewValue as $4}from"efficient-easel/screen/lib/content/view-tiers";import{VIEW_DESKTOP_MIN as N4,VIEW_TABLET_MIN as M4}from"efficient-easel/screen/lib/content/view-tiers";var lh="v1",ra=800,Mv={"view-tablet":M4,"view-desktop":N4,"view-wide":ra};function Lfe(e){let o=e.startsWith("max-"),t=o?e.slice(4):e;if(t in Mv)return{px:Mv[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 lh==="v2"?H4:W4}function Ko(e,o,t,a,r=gr()){let n=$4(e,o,t,a,r),s={},l=(d,c)=>!G4(d)||c!=null&&c!==o;return l(t,n.tablet)&&(s.tablet=n.tablet),l(a,n.phone)&&(s.phone=n.phone),s}var rl={sectionPaddingTop:0,sectionPaddingBottom:0},tl={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},al={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function Gfe(e,o){let t=typeof e=="string"&&e in tl?tl[e]:"",a=typeof o=="string"&&o in al?al[o]:"";return[t,a].filter(Boolean).join(" ")}function z4(e){return e===!0||e==="wrap"?"flex-wrap":""}var U4={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!"},j4={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!"},V4={start:"max-view-wide:items-start",center:"max-view-wide:items-center",end:"max-view-wide:items-end",stretch:"max-view-wide:items-stretch"},q4={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 dh(e,o,t){let a=Ko("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 ch(e,o,t){return[e.tablet?o[e.tablet]:"",e.phone?t[e.phone]:""].filter(Boolean).join(" ")}function Y4(e,o,t){return dh(yr(tl,e)??"start",yr(tl,o),yr(tl,t))}function $fe(e,o,t){return ch(Y4(e,o,t),U4,j4)}function zfe(e,o,t){let a=yr(al,e)??"stretch";if(a==="stretch")return"";let r=dh(a,yr(al,o),yr(al,t));return ch(r,K4,V4)}function ih(e){if(e===!0||e==="wrap")return"wrap";if(e===!1||e==="nowrap")return"nowrap"}function Ufe(e,o){let t=z4(e)===""?"nowrap":"wrap",a=ih(o);return a&&a!==t?q4[a]:""}var Sr="Block widths",$v=[{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]}],X4="data-sf-box-items",jfe=new RegExp(`[ \\t]+[^\\s"'\`]*\\[${X4}\\][^\\s"'\`]*`,"g");var fh=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Custom",value:"custom",weights:[2,1]}];function ph(e){return Array.isArray(e)?"custom":e==="equal"?"equal":typeof e=="string"&&e in $d?"custom":"content"}var zv=4,Hv=10;function J4(e,o){if(!Number.isInteger(o)||o<2||o>zv||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-Hv*(o-1-n),l=Math.min(s,Math.max(Hv,Math.round(r)));t.push(l),a+=l}),t}function Wv(e,o,t){if(!Array.isArray(o))return;let a=J4(o,t),r=a?[...a,100-a.reduce((s,l)=>s+l,0)]:[],n={};for(let s=0;s<zv;s+=1)n[`--${e}-${s+1}`]=r[s]??1;return n}function Kfe(e,o,t){let a=Wv("sf-share",e,t),r=Wv("sf-share-tablet",o,t);return a||r?{...a,...r}:void 0}function Z4(e,o){let t=Array.from({length:o},()=>1),a=$v.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 Gd(e,o){if(typeof e!="string"||!(e in $d)||e==="equal")return e;let t=Z4(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",$d={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]`},Q4=`${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 e5(e){return Array.isArray(e)?Q4:typeof e=="string"?$d[e]??"":""}var Vfe={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}},Bv,{any:[{context:"parent.columns",in:[2,3,4,5,6]},{all:[{not:{context:"parent.columns",is:1}},{context:"parent.share",in:Object.keys($d)}]}]}]},Uv="view-wide:max-view-desktop:flex-row!",br=`${Uv} [&>*: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!`,jv={content:`${Uv} [&>*: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]!`},o5=`${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 t5(e){return Array.isArray(e)||typeof e=="string"&&e in jv?e:null}function qfe(e){if(e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0||Xv(e.columns)!==""||Jv(e.columnsTablet)!=="")return"";let o=t5(e.shareTablet);return o===null?"":typeof o=="string"?jv[o]:o5}var a5="[&>*]:view-wide:basis-[content] [&>[data-sf-box-items]>*]:view-wide:basis-[content]";function Yfe(e){return e5(e)===""?a5:""}var uh="Columns",zd=1,Kv=3,mh={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)]"},Vv=$v.filter(e=>e.value==="content"||e.value==="equal"),qv="equal",hh=1,Yv=6,On="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!",r5={1:`${On} [&>*]:view-wide:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc(100%/1)]!`,2:`${On} [&>*]: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:`${On} [&>*]: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:`${On} [&>*]: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:`${On} [&>*]: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:`${On} [&>*]: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 Xv(e){return typeof e=="number"?r5[e]??"":""}var n5={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 Jv(e){return typeof e=="number"?n5[e]??"":""}function Xfe(e){return e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Jv(e.columnsTablet)}function Jfe(e){return e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Xv(e.columns)}var Zv={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"},Qv={2:"max-view-wide:grid max-view-wide:grid-cols-2",3:"max-view-wide:grid max-view-wide:grid-cols-3"},Zfe=Object.keys(Zv).map(Number),Qfe=Object.keys(Qv).map(Number);function epe(e,o,t=!1){let a=typeof e=="number"?Zv[e]??"":"",r=Qv[Number(o)]??"";return!a&&!r?"":[a,r,t?"gap-y-0!":""].filter(Boolean).join(" ")}var s5="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]",l5={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)]"},i5="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 d5(e,o){return(ih(e)??ih(o)??"wrap")==="nowrap"}function ope(e,o,t,a){let r=mh[Number(e)];if(!r)return"max-view-wide:flex-col";let n=d5(t,a);return eC(e,o)?n?i5:s5:n?l5[Number(e)]:r}function tpe(e,o){return Number(e)in mh&&!eC(e,o)}function eC(e,o){return Number(e)in mh&&o==="content"}var oC="Block spacing",xh=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],c5="sf-box-gap-only";function ape(e){return e==="gap"?c5:""}var Gv={each:"sf-box-each-tablet",gap:"sf-box-gap-only-tablet"},f5={each:"sf-box-each-phone",gap:"sf-box-gap-only-phone"};function rpe(e,o,t){let a=n=>yr(Gv,n),r=dh(e==="gap"?"gap":"each",a(o),a(t));return ch(r,Gv,f5)}var tC={label:"Text",defaultProps:{text:"",align:"left",tone:"default",tag:"p",contained:!0}};var{text:dpe,tag:cpe,...p5}=tC.defaultProps,G=p5,Y={...G,tone:"dim"},Ud={justify:"start",align:"stretch",wrap:!1,blockSpacing:"gap",padV2:!0},_={...Ud,direction:"column",...rl},Ye=(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}),jd=(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}:{}}}),aC={case:"upper"},_o={textStyle:"body-5",...aC},nl=(e,o)=>({...M("label",e,o),letterSpacing:.2,...aC}),It=(e,o)=>({..._o,...nl(e,o)});function io(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]=io(d,o,n);return{type:a.type,props:{...s,id:o(a.type,n)}}})}var Aa=()=>({tag:"h2",_partStyles:{text:{textStyle:"heading-2"}}}),bt=()=>({_partStyles:{text:{..._o,color:"accent",letterSpacing:.3,lineHeight:1.5}}});var u5={..._,gap:12,gapPhone:12,...Ye(32,32,28,28)},m5={textStyle:"heading-3",...M("headingSmall",20),weight:500,case:"upper",lineHeight:1.5,letterSpacing:.02},ll={textStyle:"body-1",...M("body",15),lineHeight:1.6},re=(e,o,t,a=!1)=>({type:"Text",props:{...o,text:"",[vo]:e,_partStyles:{text:{...a?bt()._partStyles?.text??{}:{},...t}}}}),Ra={title:"title",body:"body"},Kd={title:"name",body:"note"},gh=(e=Ra)=>({type:K,props:{...u5,name:"Card"},slots:{[se]:[re(e.title,{...G,tag:"p",widthFit:"fill"},m5),re(e.body,{...Y,tag:"p",widthFit:"fill"},ll)]}}),Vd=(e,o)=>io([gh(o)],e),sl={label:Ra.title,href:"href"},h5={textStyle:"body-1",fontRole:"heading",color:"text",...M("body",17),weight:500,case:"upper",letterSpacing:.06,lineHeight:1.5},x5=jd(9,"main",{[wv]:45}),Ih=(e=!1)=>({type:K,props:{..._,name:"Card",direction:"row",align:"center",gap:16,gapPhone:16,phoneRow:2,sharePhone:"content",wrapPhone:!1,...Ye(32,28),[il]:sl.href,...e?{[Qe]:Gt}:{}},slots:{[se]:[{type:K,props:{...x5,name:"Mark"}},re(sl.label,{...G,tag:"p",widthFit:"fill"},h5)]}}),rC=e=>(o,t)=>t==="0"?`${e}~card`:`${e}~card.${t.slice(2)}`,nC=(e,o=!1)=>io([Ih(o)],e);function lC(e,o){if(e!=="Cards")return o;if(o.template!==void 0)return sC(o);let t=J(o.id)??"Cards",a=rC(t);if(o.cardStyle==="label-only"){let n=Array.isArray(o.items)&&o.items.some(s=>J(s?.href)!==void 0);return sC({...o,template:nC(a,n)})}let r=lo(o)?Kd:Ra;return{...o,template:Vd(a,r)}}var g5=e=>{let[o,t]=e?[Ra,Kd]:[Kd,Ra];return new Map([[o.title,t.title],[o.body,t.body]])};function iC(e,o){let t=null;return e.forEach((a,r)=>{let n=a?.props;if(!n)return;let s=n,l=n[vo];a.type==="Text"&&typeof l=="string"&&o.has(l)&&(s={...s,[vo]:o.get(l)});let d=n[se];if(Array.isArray(d)){let c=iC(d,o);c!==d&&(s={...s,[se]:c})}s!==n&&(t??=[...e],t[r]={...a,props:s})}),t??e}function sC(e,o){if(!Array.isArray(e.template))return e;let t=g5(!!lo(e)),a=o?new Map([...t].filter(([n,s])=>o(s)&&!o(n))):t;if(!a.size)return e;let r=iC(e.template,a);return r===e.template?e:{...e,template:r}}var I5="label";function dC(e){if(e.template!==void 0)return e;let o=J(e.id)??"CardList",t={type:K,props:{..._,name:"Item"},slots:{[se]:[re(I5,{...G,tag:"p"},ll)]}};return{...e,template:io([t],(a,r)=>r==="0"?`${o}~item`:`${o}~item.${r.slice(2)}`)}}var dl="ArticleBody",b5={textStyle:"heading-3",...M("headingSmall",20),weight:500,lineHeight:1.4,align:"center"},y5={...ll,align:"center"},cC=640,S5=()=>[re("heading",{...G,tag:"h2",align:"center",maxWidth:cC},b5),re("paragraph",{...Y,tag:"p",align:"center",maxWidth:cC},y5)],bh=e=>io(S5(),e);function w5(e){return bh((o,t)=>`${e}~${t==="0"?"heading":"paragraph"}`)}function fC(e){if(e.template!==void 0)return e;let o=typeof e.id=="string"&&e.id.trim()?e.id:dl;return{...e,template:w5(o)}}var v5="label",qd=()=>({type:"LogoBlock",props:{[vo]:v5}}),pC=e=>{let o=J(e.id)??"Logos";return{...e,template:io([qd()],()=>`${o}~logo`)}};function uC(e){return!lo(e)||e.template!==void 0?e:pC(e)}function Hpe(e){if(!lo(e))return e;let o=e.template;return o!==void 0&&!(Array.isArray(o)&&o.length===0)?e:pC(e)}import{addShowWhenFacts as C5}from"efficient-shell/format";import{showWhenOf as yh,shownForOption as k5,truthy as T5,withRowRules as Sh,withRowsShownWhen as _n,withShowWhen as $e}from"efficient-shell/format";var zpe=C5;function P5(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 E5="inline",O5=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var Ao={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"}},An="SectionHeader";function mC(e){return e in Ao}function Yd(e){return mo(O5,E5,e)}var _5=new Set(["Flex"]);function Vpe(e){return!!e?.type&&_5.has(e.type)}var hC={not:{field:"headPlacement",is:"own-box"}},qpe={not:hC};function Ype(e,o,t){return _n(e,t,hC)}var Xd="data-sf-spec-region";function xC(e){return e.writable===!0&&e.sized===!0}function Jd(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 Rn(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 cl(e){return`@${e}`}function fl(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function A5(e,o){return o&&o in e?o:null}var wh={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}},gC=wh;var R5="question",L5="answer",F5={textStyle:"body-1",fontRole:"heading",...M("body",18,15),weight:500,case:"upper",letterSpacing:.02,lineHeight:1.5},B5={textStyle:"body-1",...M("body",15),lineHeight:1.7};function IC(){return Object.keys(wh).map(cl)}var vh=()=>({type:K,props:{..._,gap:0,name:"Question"},slots:{rowTitle:[re(R5,{...G,tag:"p",widthFit:"fill"},F5)],[se]:[re(L5,{...Y,tag:"p",widthFit:"fill",maxWidth:760},B5)]}});function D5(e){return Yd(e.headPlacement)==="own-box"?!1:["num","title","linkText"].some(o=>J(e[o])!==void 0)}function bC(e){if(e.template!==void 0||D5(e))return e;let o=J(e.id)??"FAQ",t=0;return{...e,template:io([vh()],a=>a===K?`${o}~row`:`${o}~row.${t++}`)}}var N5=["below","left","right"];function M5(e){return N5.includes(e)?e:"below"}function yC(e){return M5(e)!=="below"}function Ch(e){return Array.isArray(e)?e.map(Ch):!e||typeof e!="object"?e:Object.fromEntries(Object.entries(e).filter(([o,t])=>o!=="id"&&t!==void 0&&!(Array.isArray(t)&&t.length===0)).sort(([o],[t])=>o<t?-1:o>t?1:0).map(([o,t])=>[o,Ch(t)]))}var kh=e=>JSON.stringify(Ch(e));var Zd=nl(11),H5={textStyle:"body-1",...M("body",18),weight:500,lineHeight:1.2},wC=()=>({type:K,props:{..._,gap:8,gapPhone:8,...Ye(20,24,20,20),name:"Office"},slots:{[se]:[re("badge",{...G,tag:"p",widthFit:"fill"},Zd,!0),re("role",{...G,tag:"p",widthFit:"fill"},Zd,!0),re("city",{...G,tag:"p",widthFit:"fill"},H5),re("country",{...Y,tag:"p",widthFit:"fill"},Zd),re("address",{...Y,tag:"p",widthFit:"fill"},Zd),{type:"ButtonBlock",props:{variant:"link",label:"",href:"",[vo]:"linkLabel",[il]:"href"}}]}}),W5={textStyle:"body-1",fontRole:"heading",...M("body",16),weight:500,lineHeight:1.25},SC={textStyle:"body-1",...M("body",14),lineHeight:1.5},G5=()=>({type:K,props:{..._,gap:4,gapPhone:4,...Ye(16,4),sectionBorder:{bottom:1},name:"Office"},slots:{[se]:[re("city",{...G,tag:"p",widthFit:"fill"},W5),re("address",{...Y,tag:"p",widthFit:"fill"},SC),re("phone",{...Y,tag:"p",widthFit:"fill"},SC)]}});function vC(e){let o=J(e.id)??"Footprint",t=0;return io([G5()],a=>a===K?`${o}~office`:`${o}~office.${t++}`)}function $5(e){return Array.isArray(e.template)&&e.template.length>0&&kh(e.template)===kh(vC(e))}var z5=e=>e===void 0||Array.isArray(e)&&e.length===0;function CC(e){return yC(e.listPosition)?!z5(e.template)||e.source==="dealers"?e:{...e,template:vC(e)}:$5(e)?{...e,template:[]}:e}var eo="template",kC="Card template",Ro="CardList",TC=["Text","ImageBlock","ButtonBlock","Flex"],vo="rowField",il="rowLinkField";function PC(){return{type:"slot",allow:[...TC]}}var j5=TC.filter(e=>e!=="ButtonBlock"),pl="items",EC="itemFields";function Oue(){return{type:"slot",allow:[...j5]}}var K5=[{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=>bC(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:"phone",label:"Phone"},{key:"linkLabel",label:"Button"},{key:"href",label:"Link",kind:"link"}],seed:e=>CC(e)},{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=>lC("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:Ro,label:"Card list"}]},{block:"Logos",fields:[{key:"label",label:"Name"},{key:"kind",label:"Kind"}],seed:e=>uC(e)},{block:Ro,fields:[{key:"badge",label:"Highlight badge",everySource:!0}],typedRows:pl,seed:e=>dC(e)},{block:dl,fields:[{key:"heading",label:"Subhead"},{key:"paragraph",label:"Paragraph",multiline:!0}],seed:e=>fC(e)}];function Vo(){return Ta("efficient.card-templates",()=>new Map(K5.map(e=>[e.block,e])))}function _ue(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=J(o.typedRows);Vo().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 V5(e,o){let t=e?Vo().get(e)?.seed:void 0;return t?t(o):o}function OC(e,o){if(!(o.template===void 0||Array.isArray(o.template)&&o.template.length===0))return o;let{template:t,...a}=o,r=e?Vo().get(e)?.seedOnInsert:void 0,n=r?r(a):V5(e,a);return n===a?o:n}function _C(){for(let e of Vo().values())if(e.blocks?.length)return!0;return!1}function AC(e){return Vo().get(e)?.blocks??[]}function Aue(e){for(let o of Vo().values())if(o.blocks?.some(t=>t.type===e))return!0;return!1}function RC(e){return typeof e=="string"&&Vo().get(e)?.typedRows||""}function Rue(e){return typeof e=="string"&&Vo().get(e)?.linesBetween===!0}function Th(e){return typeof e=="string"&&Vo().has(e)}function q5(e,o){let t=Vo().get(e)?.fields??[];return o?t.filter(a=>(a.kind??"text")===o):t}function Y5(e){return typeof e=="string"?q5(e,"list")[0]?.key??"":""}function X5(e,o){return Co(e)||Y5(o)}function LC(e,o){let t=typeof e?.type=="string"?e.type:"";if(!t)return[];let a=Vo().get(t)?.fields??[],r=Ad(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 J5(e,o,t){return e?t?LC(t).find(a=>a.key===o)??null:Vo().get(e)?.fields.find(a=>a.key===o)??null:null}function ul(e,o){return!e||!o?null:e.fields?.find(t=>t.key===o)??J5(e.ownerType,o,e.owner)}function Co(e,o=vo){let t=e?.[o];return typeof t=="string"?t.trim():""}function ml(e,o){return e.key||String(o+1)}function Ph(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 Eh="hideWhenRowEmpty";function Lue(e,o){let t=e[Eh];return!o||!Array.isArray(t)||!t.length?!1:t.every(a=>typeof a!="string"||!o[a]?.trim())}function Fue(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=J(typeof n=="string"?n.trim():void 0);if(s&&s!==t.trim())return s}return""}var FC={Text:{text:vo},ImageBlock:{src:vo},ButtonBlock:{label:vo,href:il},LogoBlock:{alt:vo},Breadcrumb:{currentCrumb:vo}};var Z5=new Set(["ButtonBlock.label","LogoBlock.alt"]);function Bue(e,o,t){return Oh(e,o,t)&&!Z5.has(`${e}.${t}`)}function Oh(e,o,t){return _h(e,o,t)!==""}function _h(e,o,t){let a=FC[e]?.[t];return a?Co(o,a):""}function Qd(e,o){return!o||!e?null:e[o]??""}function Due(e,o,t,a,r){if(!t)return o;let n=null;for(let[s,l]of Object.entries(FC[e]??{})){let d=Co(o,l),c=Qd(t,d);c!==null&&(n??={...o},n[s]=ul({ownerType:a,fields:r},d)?.mark==="accentItalic"?pr(c):c)}return n??o}function Ah(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(!U5(c))continue;let f=d===eo&&Th(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===K},u=a(c,f);if(u!==void 0)return u}}},r=a(t,null);return r===void 0?null:r}function hl(e,o){let t=Ah(e,o);return t&&t.owner}function Rh(e,o){let t=Ah(e,o);return t&&(t.direct?t.owner:null)}function Nue(e,o){let t=Ah(e,o);if(t!==void 0)return t===null?{inCopy:!1,nestedCopy:!1,underBox:!1}:{inCopy:!0,nestedCopy:t.nested,underBox:t.underBox}}function ec(e,o,t){if(o?.type!==Ro)return[];let a=hl(e,o.props?.id);if(!a){let s=Ad(lo(o.props))?.fields,l=s?.length?s.map(f=>({...f})):Q5(o.props),d=(Vo().get(Ro)?.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=X5(o.props,a.type),n=r&&LC(a,"list").find(s=>s.key===r)?.fields||[];return t?n.filter(s=>(s.kind??"text")===t):n}function oc(e,o){return{[vo]:"",[pl]:e.map(t=>({...t})),[EC]:o.map(t=>({...t}))}}function Q5(e,o){let t=e?.[EC];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,alt:c,next:f}=r;if(typeof n!="string"||!n||typeof s!="string")return[];let u=l==="image"||l==="link"||l==="colour"?l:void 0;return[{key:n,label:s,...u?{kind:u}:{},...d===!0?{multiline:!0}:{},...typeof c=="string"&&c?{alt:c}:{},...typeof f=="string"&&f?{next:f}:{}}]});return o?a.filter(r=>(r.kind??"text")===o):a}import{useSyncExternalStore as x8}from"react";import{isNodeList as tc}from"efficient-easel/data";var BC="Flex";function Ln(e,o){return Co(e)?typeof e?.[gt]=="string"?Lh(o?.[gt]):"":Lh(e?.[gt])}var Lh=e=>typeof e=="string"?e.trim():"",e6=e=>e.type===Ro&&Array.isArray(e.props?.[pl])&&e.props[pl].some(o=>Lh(o?.[gt])!==""),o6=new Intl.NumberFormat("en-US");function t6(e){return/^\d+$/.test(e)?o6.format(Number(e)):e}function $ue(e,o){let t=o?o.find(a=>a.key===e)?.value:ev(Xs).find(a=>a.key===e)?.value;return t===void 0?null:t6(t)}var a6={[gt]:"any"};function Fh(e,o=!1){let t=e.props;if(!t)return{node:e,names:!1};let a=e.type==="Text"&&(Ln(t)!==""||o&&Ln(t,a6)!==""),r=o||e6(e),n=t;for(let[l,d]of Object.entries(t)){if(!tc(d))continue;let c=d.map(f=>Fh(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!==BC)return{node:n===t?e:{...e,props:n},names:a};let s=lo(n);if(a&&!s&&(n={...n,[Oo]:Xs}),!a&&s===Xs){let{[Oo]:l,...d}=n;n=d}return{node:n===t?e:{...e,props:n},names:!1}}function DC(e,o,t){for(let a of e){if(a?.props?.id===o)return t;for(let r of Object.values(a?.props??{})){if(!tc(r))continue;let n=DC(r,o,a.type===BC?a:t);if(n!==void 0)return n}}}function zue(e,o){if(!tc(e))return!0;let t=DC(e,o,null);if(t===void 0)return!0;if(t===null)return!1;let a=lo(t.props);return!a||a===Xs}function NC(e){let o=e?.content;if(!tc(o))return e;let t=o.map(a=>Fh(a));return t.every((a,r)=>a.node===o[r])?e:{...e,content:t.map(a=>a.node)}}function MC(e){return Fh(e).node}import{jsx as w,jsxs as ja,Fragment as ma}from"react/jsx-runtime";import{cloneElement as R0,createContext as FU,useContext as L0,useEffect as BU,useId as F0,useRef as $l,useState as zl}from"react";import{useEasel as mf,useSelectedHost as es}from"efficient-easel/easel";import{toDateKey as Kwe,fromDateKey as Vwe}from"efficient-shell/format";function r6(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function Lo(e){return typeof e=="string"?e:r6(e)?e.src:""}function jue(e,o,t){return Bh(e,o.split("."),t)}function Bh(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=Bh(p,r,t);return x!==p&&(f=!0),x});return f?{...l,[s]:u}:e}let c=Bh(d,r,t);return c===d?e:{...l,[s]:c}}var n6=["upload","youtube"],s6="upload",que={upload:"Upload",youtube:"YouTube"},l6=["background","click"],i6="background",Yue={background:"Background",click:"Click to play"};function WC(e){return n6.includes(e)?e:s6}function GC(e){return l6.includes(e)?e:i6}var HC=/^[A-Za-z0-9_-]{11}$/,d6=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function $C(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(HC.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:"||!d6.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&&HC.test(r)?r:null}function Dh(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 zC(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function UC(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var Nh="Play video";var Mh={frame:"Video frame",image:"Image"},Xue={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function xl(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":Lo(e.poster)?"image":"frame"}function Jue(e){let[o,t]=xl(e)==="image"?[e.poster,e.videoFrame]:[e.videoFrame,e.poster];return Lo(o)||Lo(t)||void 0}function jC(e){if(Lo(e.mediaVideo)){if(xl(e)==="frame")return Lo(e.videoFrame)?void 0:Lo(e.poster)?"frame-missing-image":"frame-missing-surface";if(!Lo(e.poster))return Lo(e.videoFrame)?"image-missing-frame":"image-missing-surface"}}var ac="videoFrames",Hh="videoFramesNotOwn";function KC(e,o,t){let a=Lo(e.mediaVideo);if(!a||!o||xl(e)!=="frame"||Lo(e.videoFrame))return;let r=o[a],n=!!Lo(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 c6(e,o){let t=Lo(e),a=t&&o?o[t]:void 0;return a?.state==="ready"&&a.frame?a.frame:void 0}function Zue(e,o,t){let a=t?.[Hh];if(!(Array.isArray(a)&&a.includes(e)))return c6(o,t?.[ac])}import{useSyncExternalStore as f6}from"react";function rc(){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 f6(t,r,r)}}}var Me="SiteHeader",Re="SiteFooter",Wh="sections",tme=[Me,Re],Fn=e=>e===Me||e===Re,VC=e=>`${e}:${Wh}`;function qC(e,o,t=[]){return{type:e,props:{id:o,[Wh]:t}}}var p6=new Set(["Footer",Me,Re]);function Bn(e){let o=new Set,t=!1,a=e.filter(r=>{let n=r?.type??"";return n==="Header"?(t=!0,!1):p6.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?a:e}function nc(e,o){return e.some(t=>t?.type===o.type)?e:o.type===Me?[o,...e]:[...e,o]}var YC={[Me]:{max:3,takes:["Flex","Ticker"]},[Re]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function XC(e,o,t){if(!Fn(e))return!0;let a=YC[e];return t<a.max&&a.takes.includes(o)}function JC(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(!Fn(n?.type))continue;let s=n.props?.[Wh];if(!Array.isArray(s)||!s.some(d=>d?.props?.id===a))continue;let l=YC[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 u6}from"efficient-easel/draw";function gl(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function sc(e,o,t){let a=gl(t?.zone),r=a?u6(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}import{isNode as m6}from"efficient-easel/data";var ZC="Footer",QC=[Me,ZC,Re],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},Dn=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},ek=e=>gl(e)?.ownerId??"";function ok(e){let o=Bn(wr(e)),t=o.some(a=>a?.type===Re);return o.filter(a=>a?.type===Me||a?.type===Re||a?.type===ZC&&!t)}function lc(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(m6(r)){let n=Dn(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(ek(s))||(n.add(s),a(l),r=!0)}}return t}function tk(e,o){let t=wr(e).filter(a=>{let r=Dn(a);return typeof a?.type=="string"&&QC.includes(a.type)||r!==void 0&&o(r)});return t.length?lc(t,La(e)):new Set}function Gh(e,o){let t={},a={};for(let[r,n]of Object.entries(e??{}))(o.has(ek(r))?t:a)[r]=n;return{owned:t,rest:a}}function ak(e,o){if(!o)return e;let t=ok(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}=Gh(La(o),lc(t,La(o)));return Object.keys(s).length&&(n.zones={...La(e)??{},...s}),n}function $h(e,o){if(!o)return{page:e,chrome:null};let t=ok(o),a=new Set(t.map(Dn).filter(v=>!!v)),r=[],n=[];for(let v of wr(e)){let b=Dn(v);b&&a.has(b)||Fn(v?.type)?n.push(v):r.push(v)}let s=new Map(n.map(v=>[Dn(v),v])),l=new Set,d=Bn(wr(o)).flatMap(v=>{let b=Dn(v);if(!b||!a.has(b))return[v];let C=s.get(b);return C?(l.add(C),[C]):[]});for(let v of n)l.has(v)||d.some(b=>b?.type===v.type)||(d=v.type===Me?[v,...d]:[...d,v]);d=Bn(d);let c=d.length===wr(o).length&&d.every((v,b)=>v===wr(o)[b]),f=La(e),u=lc(d,f),{owned:p,rest:x}=Gh(f,u),g=Gh(La(o),lc(t,La(o))).owned,I={...o,content:c?o.content:[...d]},k=La(o);if(k||Object.keys(p).length){let v={};for(let[b,C]of Object.entries(k??{}))b in g?b in p&&(v[b]=p[b]):v[b]=C;for(let[b,C]of Object.entries(p))b in v||(v[b]=C);I.zones=v,k&&h6(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 h6(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 rk(e,o){return t=>e(t)||t!==void 0&&QC.includes(t)&&o()}var nk=null;function zh(e){nk=e}function yt(){return nk}var sk=null;function Uh(e){sk=e}function ic(){return sk}var jh=rc();function lk(e,o,t){if(!o)return;let a={...jh.get(e)};for(let[r,n]of Object.entries(o))a[r]={...n,noted:t};jh.set(e,a)}function ik(e,o){lk(e,o,"load")}function dk(e,o){lk(e,o,"save")}function dc(e){return jh.use(e)}var Kh=e=>!!yt()?.sectionOf(e);function ck(e,o=Kh){return tk(e,o)}function fk(e,o,t,a=Kh){if(t)return e&&ck(o,a).has(e)?void 0:t}function pk(e,o,t=Kh){if(!e)return{};let a=[...ck(o,t)];return a.length?{[ac]:e,[Hh]:a}:{[ac]:e}}import{ScreenDocumentContext as DU}from"efficient-easel/screen/components/ScreenDocumentContext";import{readHidable as Va,hidableText as NU}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as B0,LINK_FIELD_MARKER as MU,MEDIA_FIELD_MARKER as HU,SCAFFOLD_FIELD_MARKER as WU,TEXT_FIELD_MARKER as pa,foldMetaOf as ha,textFieldIdentifier as eve}from"efficient-easel/draw";import{jsx as bk}from"react/jsx-runtime";import{useCallback as I6}from"react";import{useEasel as b6}from"efficient-easel/easel";import{SettingsAction as y6}from"efficient-easel/panel";import{CORNER_SIDES as cc,hasCornerSubset as Il,normalizeCornerSides as $t}from"efficient-easel/screen/lib/content/style-keys";function Vh(e){return typeof e=="number"&&Number.isFinite(e)}function Ime(e,o){if(!Vh(e))return;let t=vd(Mt(e));if(Object.keys(t).length===0)return;let a=t[qh];if(typeof a!="string")return t;let r=Il(o)?vr(a,$t(o)??[]):a;return{...t,[x6]:r}}var x6="--sf-section-radius",qh="--sf-card-radius";function vr(e,o){return cc.map(t=>o.includes(t)?e:"0").join(" ")}var uk=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var g6="--sf-card-box-radius";function Yh(e){return typeof e=="number"&&Number.isFinite(e)}function wme(e,o){if(!Yh(e))return;let t=vd(Mt(e))[qh];if(typeof t!="string")return;let a=Il(o)?vr(t,$t(o)??[]):t;return{[g6]:a}}function mk(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 hk(e,o,t){let a=sc(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}:Yh(l?.props?.cardCorners)?{can:!0,others:c,zone:a.zone,index:a.index,data:{...a.item,props:{...a.item.props,[r]:mk(n,d)}}}:{can:!1,reason:"unset",others:c}}function xk(e){return e.can?Eo("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 gk(e){return Eo("Applied to {n} card","Applied to {n} cards",e)}function Ik(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as S6}from"efficient-easel/screen/lib/document/use-section-ops";var w6="apply-corners-to-siblings",v6="Apply to all cards";function C6({plan:e,onPress:o}){return bk(y6,{id:w6,label:i(v6),note:xk(e),disabled:!e.can,doneLabel:gk(e.others),onPress:o})}function yk(){let{appState:e,config:o}=b6(n=>n),t=S6(),a=hk(o,e.data.content??[],e.ui.itemSelector),r=I6(()=>{Ik(a,t.replaceComponent)},[a,t]);return bk(C6,{plan:a,onPress:r})}import{isShown as _k,lazyShowWhenContext as N6}from"efficient-shell/format";var Fa="product",fc="recordType",Sk={key:Fa,label:"Product",fields:[]},k6=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,T6=/^[a-z][A-Za-z0-9]*$/,P6=["text","date","images"],Xh=new Map,wk=0;function E6(e){if(typeof e.key!="string"||!k6.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"||!T6.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(!P6.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 Dme(e){let o=e.map(E6);for(let t of o)Xh.set(t.key,t);o.length&&(wk+=1)}function Jh(){return[Sk,...Xh.values()]}function O6(e){return e===Fa?Sk:Xh.get(e)??null}function Zh(){return wk}function bl(e){let o=e?.[fc];return typeof o!="string"?Fa:o.trim()||Fa}function Qh(e){return bl(e)===Fa}function Nme(e,o){let t=O6(e)?.fields??[];return o?t.filter(a=>o.includes(a.kind)):t}var pc="product",vk="tyre",_6=[pc,vk];function Wme(e){return _6.includes(e)}var A6="productType",R6={[pc]:"alloy-wheel",[vk]:"tyre"},L6=["alloy-wheel","tyre"];function Ck(e,o){return Qh(o)?kk(o)??R6[e]??null:null}function kk(e){if(!Qh(e))return null;let o=e?.[A6];return typeof o=="string"&&L6.includes(o)?o:null}function Gme(e){let o=e?.root;return kk(o?.props)}var ex="Main Pages",F6="Dynamic Pages",ox="dynamic",B6="dynamic";function Cr(e){return e.kind===B6}var tx="lightbox";function Tk(e){return e.kind===tx}function Pk(e){let o=[],t=[];for(let a of e){if(Cr(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??ex,rows:[a]})}if(t.length){let a=o.findIndex(r=>r.key.startsWith("system:"));o.splice(a===-1?o.length:a,0,{key:ox,label:F6,rows:t})}return o}var uc=null,Ek=null;function D6(e,o){uc=e,Ek=o}function Vme(e){D6(e,null)}function qme(){return uc}function yl(){return Cr({kind:Ek})||uc===pc}function Yme(e){return Ck(uc??"",e)??"alloy-wheel"}function Xme(e){return yl()?bl(e):null}function ax(e,o,t){let a=!1,r={};for(let[n,s]of Object.entries(e)){if(!_k(yh(s),o??{},t)){a=!0;continue}let l=M6(s,o?.[n],o??{},t);l!==s&&(a=!0),r[n]=l}return a?r:e}function M6(e,o,t,a){let r=e?.options;if(!Array.isArray(r))return e;let n=r.filter(s=>s?.value===o||!s?.showWhen||_k(s.showWhen,t,a));return n.length===r.length?e:{...e,options:n}}function Ak(e,o,t,a){let r=sc(o,t,a);return{device:e,parentType:r?.item.type,parent:r?.item.props}}function Ok(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 Ok(t.not,o);for(let a of[t.all,t.any])if(Array.isArray(a)&&a.some(r=>Ok(r,o)))return!0;return!1}function ahe(e,o={}){return N6({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>yl(),root:()=>e.appState?.data?.root?.props,...o})}var Rk=1;function H6(e){return Mt(e)}function she(e){let o=H6(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var Lk=1,Fk="Corners";function W6(e){return Mt(e)}function che(e,o){let t=W6(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:Il(o)?vr(a,$t(o)??[]):a}}import{isNodeList as G6}from"efficient-easel/data";var Nn=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],Dk="bottom-left",Mn=4,$6=Mn+1,Bk=40,z6=30,U6=100,j6=60,uhe=100;var rx={"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 K6(e){let o=Nn.indexOf(Sl(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function V6(e){return 1+K6(e).band*($6+1)}function mhe(e){return V6(e)+1}function Sl(e){return Nn.includes(e)?e:Dk}function hhe(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-Bk,Math.min(Bk,Math.round(o)))}function xhe(e,o=j6){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(z6,Math.min(U6,Math.round(t)))}function nx(e,o){let t=Sl(o);return e.filter(a=>Sl(a?.props?.placement)===t).length}function Nk(e){return`${rx[Sl(e)]} already holds ${Mn} boxes. Move one somewhere else first.`}function Mk(e,o){let t=e.filter(a=>a?.props?.id!==o);return Nn.map(a=>{let r=nx(t,a)>=Mn,n=rx[a];return r?{value:a,label:n,disabled:!0,title:Nk(a)}:{value:a,label:n}})}function mc(e,o){let t=o===void 0?Dk:Sl(o?.props?.placement);return nx(e,t)>=Mn?Nk(t):null}var hc="HeroGroup";function q6(e){return Nn.map(o=>{let t=nx(e,o);return{anchor:o,total:t,hidden:t-Mn}}).filter(o=>o.hidden>0)}function sx(e){let o=q6(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=rx[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first ${Mn}, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function Hk(e,o){let t=o;if(t?.type!==hc)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?mc(lx(e,a),t):null}function lx(e,o){let t=Gk(e,o);return t&&t.ownerType===X6?t.siblings:[]}function Wk(e,o){let t=Gk(e,o);return t?t.ancestorTypes.filter(a=>a===hc).length:Y6}var Y6=1,X6="HeroSlide";function Gk(e,o){let t=(a,r,n)=>{if(r>12||!a||typeof a!="object")return null;if(G6(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 yhe(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 ix=[{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 She(e){return ix.filter(o=>e.includes(o.shape))}function whe(e){return e==="below"}var vhe=`linear-gradient(180deg, transparent 40%, ${Ba(.85)} 100%)`,Che=`linear-gradient(0deg, transparent 40%, ${Ba(.85)} 100%)`,khe=Ba(.45);var zk=12,Uk=6,J6=800,na={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"}},dx=Object.keys(na),jk=[2,3,4,6];function cx(e,o){return dx.filter(t=>t===o||e===null||na[t].across===e)}function Kk(e){return typeof e!="string"||e===""?null:na[e]??null}function $k(e,o){return o?Uk/e.acrossPhone:zk/e.across}function fx(e){return e.ratio?ix.find(o=>o.shape===e.ratio)?.ratio??null:null}function Vk(e){return[...e.lead??[],...e.desktop]}var Z6="sf-wall--";function Q6(e){return`${Z6}${e}`}function Ehe(e){let o=na[e],t=`.${Q6(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(${zk},minmax(0,1fr))}`);let s=fx(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,$k(o,!1),o.lead)),a.push(`@media (max-width:${J6}px){`),a.push(`${t}{grid-template-columns:repeat(${Uk},minmax(0,1fr))}`),a.push(...n(o.phone,$k(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 xc=12,qk=1,e3=3;var o3=3;function px(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 t3(e){return px(e,1,xc)??o3}function Ahe(e,o){return px(e,qk,e3)??(t3(o)===4?2:qk)}function Rhe(e){return e==null||e===""?null:px(e,1,xc)}var Lhe="data-sf-span";function Fhe(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(Kk(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}import{jsx as a3}from"react/jsx-runtime";import*as r3 from"efficient-easel/icons";function gc(e){let o=e.replace(/(^|-)([a-z])/g,(a,r,n)=>n.toUpperCase()),t=r3[`${o}Icon`];return t?a3(t,{size:16}):null}import{jsx as Da,Fragment as l3,jsxs as tT}from"react/jsx-runtime";import{useContext as i3,useEffect as d3,useId as c3,useState as aT}from"react";import{SettingsField as f3,SettingsSwitch as p3}from"efficient-easel/panel";import{AnchorIcon as u3}from"efficient-easel/icons";import{ScreenDocumentContext as m3}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as h3}from"efficient-shell/ui";import{slugify as x3}from"efficient-shell/format";import{slugify as n3}from"efficient-shell/format";function wl(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var Ic=e=>n3(wl(e));var bc="homepage";import{slugify as s3}from"efficient-shell/format";var Yk=[{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 Xk(e){return e.offersCommerce&&e.offersService?Yk:Yk.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var ux="#popup:";function Jk(e){return`${ux}${e}`}function Zk(e){return e.startsWith(ux)&&e.slice(ux.length).trim()||null}function vl(e){return e===bc?"/":`/${e}`}function Qk(e){return`/journal/${e}`}function Uhe(e){return`/wheels/${e}`}function yc(e,o){return`${vl(e)}#${o}`}function eT(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=wl(r?.props?.anchor);if(!n)continue;let s=s3(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function jhe(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 oT(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as g3}from"efficient-easel/draw";function rT({value:e,onChange:o,nameBox:t}){let a=g3(e).text,[r,n]=aT(!1),s=r||a.trim()!=="",l=c3();return tT(l3,{children:[Da(f3,{label:i("Add an anchor"),labelId:l,icon:Da(u3,{}),action:Da(p3,{checked:s,ariaLabelledBy:l,onChange:d=>{n(d),!d&&a!==""&&o("")}})}),s&&t(e,o),s&&Da(I3,{name:a})]})}function I3({name:e}){let o=i3(m3),t=o?.templateId?"":o?.currentSlug??"",[a,r]=aT("");d3(()=>r(En()||window.location.origin),[]);let n=x3(e);if(!n||!t)return null;let s=`${a}${yc(t,n)}`,l=s.replace(/^https?:\/\//,""),d=l.lastIndexOf("#");return Da("div",{className:"sf-anchor-link",children:Da(h3,{value:s,label:i("link"),size:"sm",children:tT("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 zt,jsxs as b3}from"react/jsx-runtime";import{Fragment as y3}from"react";import{Button as Sc,Tooltip as S3}from"efficient-shell/ui";function nT({status:e,statusText:o,onRefresh:t,busy:a=!1,edit:r,hint:n,spaced:s=!0,compact:l=!1,oneLine:d=!1}){return l?zt("div",{className:`sf-blogsource sf-blogsource--compact${d?" sf-blogsource--line":""}`,style:s?{marginTop:8}:void 0,children:zt(S3,{content:n,className:d?"sf-name-tip":void 0,children:zt("p",{className:"sf-blogsource-status","data-state":e,children:[o?zt(y3,{children:o},"status"):null,t?zt(Sc,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:t,disabled:a,children:i("Refresh now")},"refresh"):null,r?zt(Sc,{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])})})}):b3("div",{className:"sf-blogsource",style:s?{marginTop:9}:void 0,children:[zt("p",{className:"sf-blogsource-status","data-state":e,children:o}),t?zt(Sc,{variant:"secondary",className:"sf-blogsource-action",onClick:t,disabled:a,children:i("Refresh now")}):null,r?zt(Sc,{variant:"secondary",className:"sf-blogsource-action",onClick:r.onClick,children:r.label}):null,zt("p",{className:"es-field-hint",children:n})]})}import{AdjustIcon as GU,EyeIcon as $U,AnimationIcon as zU,BackgroundIcon as v0,BorderAllIcon as UU,BlockSectionIcon as jU,ColumnWidthsIcon as Cg,ColumnsIcon as D0,CornerIcon as N0,DirectionDownIcon as KU,DirectionLeftIcon as VU,DirectionRightIcon as qU,DirectionUpIcon as YU,EditIcon as XU,GapIcon as JU,GridIcon as ZU,GroundIcon as vg,HashIcon as M0,HeightIcon as QU,ImageIcon as ej,ListIcon as oj,LocationIcon as C0,PaddingBottomIcon as H0,PaddingLeftIcon as W0,PaddingRightIcon as G0,PaddingTopIcon as $0,PageIcon as tj,StickyIcon as aj,SearchIcon as rj,SquareIcon as nj,TypeIcon as sj,WidthIcon as lj}from"efficient-easel/icons";import{jsx as ze,Fragment as kr,jsxs as Tr}from"react/jsx-runtime";import{CaptionIcon as w3,DateIcon as v3,FlagIcon as C3,TitleIcon as k3,ButtonIcon as T3,DollarIcon as P3,HashIcon as E3,LinkIcon as O3,NoteIcon as _3,TagIcon as A3,TextLinesIcon as R3}from"efficient-easel/icons";var sT={body:R3,button:T3,link:O3,label:A3,number:E3,price:P3,note:_3,name:C3,date:v3,caption:w3,title:k3},lT={eyebrow:Tr(kr,{children:[ze("path",{d:"M5 6.5h5"}),ze("path",{d:"M5 12.5h14"}),ze("path",{d:"M5 18h11"})]}),heading:Tr(kr,{children:[ze("path",{d:"M6.5 5v14"}),ze("path",{d:"M17.5 5v14"}),ze("path",{d:"M6.5 12h11"})]}),intro:Tr(kr,{children:[ze("path",{d:"M4 5.5v13"}),ze("path",{d:"M8 7.5h12"}),ze("path",{d:"M8 12h12"}),ze("path",{d:"M8 16.5h8"})]}),value:Tr(kr,{children:[ze("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),ze("path",{d:"M6.5 12h7"})]}),quote:Tr(kr,{children:[ze("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),ze("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:Tr(kr,{children:[ze("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),ze("path",{d:"M8 9.5h8"}),ze("path",{d:"M12 9.5v5"})]}),meta:Tr(kr,{children:[ze("path",{d:"M4 7h16"}),ze("path",{d:"M4 14h3.5"}),ze("path",{d:"M10.5 14h3"}),ze("path",{d:"M17 14h3"})]})};function mx({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=sT[e];return n?ze("span",{className:a,style:{display:"inline-flex",...r},"aria-hidden":"true",children:ze(n,{size:o})}):ze("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:lT[e]})}var pxe=Object.keys(sT);var uxe=Object.keys(lT);import{parseHexColor as z3}from"efficient-shell/format";import{parseHexColor as hT}from"efficient-shell/format";import{COLOR_SLOTS as xT,FILL_COLOR_SLOTS as G3,colorRole as $3,fillColorRole as gT}from"efficient-shell/markup";import{parseHexColor as cT}from"efficient-shell/format";import{FILL_COLOR_SLOTS as M3}from"efficient-shell/markup";import{parseHexColor as L3}from"efficient-shell/format";var Cl=[{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}],F3=Cl.filter(e=>e.ink);function iT(e){let o={color:e.fg};for(let{role:t,token:a}of F3)o[a]=e[t];return o}var B3={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},hx=Object.freeze(iT(B3)),D3={fg:"var(--overlay-fg-on-light)",line:"color-mix(in srgb, var(--overlay-fg-on-light) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg-on-light) 76%, transparent)"},N3=Object.freeze(iT(D3));function gxe(e){let o=e?L3(e):null;return o?dw(o)?hx:N3:null}var wc=e=>{let o=Cl.find(t=>t.role===e);return o?`var(${o.token})`:""},H3=e=>wc(e)?`var(--theme-${e})`:"",dT={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:wc("bg"),page:H3("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:wc("surface"),page:wc("surface"),key:"surface",label:()=>i("Surface"),words:e=>i("Theme {n} surface color",{n:e})}};function Na(e){return Object.hasOwn(dT,e)?dT[e]:void 0}var xx="#9ca3af";function Hn(e,o,t){let a=Na(e);return a?{hex:cT(o[a.key]??"")??"",words:a.words(t)}:null}function fT(e,o){return M3.flatMap(t=>{let a=Hn(t,e,o);return a&&Na(t)?.ink?[{name:t,label:a.words,value:a.hex||xx}]:[]})}var W3=["main","text","background"];function pT(e){let o=new Set,t=[];return ao(e).themes.forEach((a,r)=>{for(let n of W3){let s=Na(n),l=s?a[s.key]:void 0,d=typeof l=="string"&&l?cT(l):null;!s||!d||o.has(d)||(o.add(d),t.push({value:d,label:s.words(r+1)}))}}),t}function sa(e){return Na(e)?.ink??""}function Ut(e){if(typeof e!="string")return null;let o=gT(e.trim());return o?.kind==="slot"&&sa(o.slot)?o.slot:null}var uT={accent:"main",labels:"muted"};function qo(e){return Object.hasOwn(uT,e)?uT[e]:e}function Wn(e){if(!e)return"";if(e.startsWith("#"))return hT(e)===e.toLowerCase()?e:"";let o=$3(qo(e));return o?.kind==="slot"?sa(o.slot):""}function Gn(e,o=xT){return o.flatMap(t=>{let a=Na(t);return a?.ink?[{name:t,label:a.label(),value:e?.[t]||xx}]:[]})}function IT(e){let o=gT(qo(e));return o?.kind==="slot"?sa(o.slot):""}function gx(e){let o=e?.trim();return o?G3.find(t=>sa(t)===o)??null:null}function bT(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 xT){let l=sa(s);if(!l)continue;let d=l.replace(/^var\((--[\w-]+)\)$/,"$1"),c=r.getPropertyValue(d).trim();if(!c)continue;let f=mT(c);!f&&n&&(n.fillStyle="#000000",n.fillStyle=c,f=mT(String(n.fillStyle))),f&&(o[s]=f)}return o}function mT(e){let o=e.trim().toLowerCase();if(o.startsWith("#"))return hT(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 yT(e)||(j3(e)?e:U3)}function yT(e){let o=Ut(e);return o?Na(o)?.page??"":""}function j3(e){return typeof e=="string"&&z3(e)===e.toLowerCase()||yT(e)!==""}function Lxe(e){return{"--bg":Ix(e)}}import{parseHexColor as K3}from"efficient-shell/format";import{fillColorRole as V3}from"efficient-shell/markup";function kl(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 zxe="sf-card",Ma={min:0,max:100,step:5,fallback:0,unit:"%"},q3=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],Y3="68%",Uxe={desktop:20,phone:20,side:40,sidePhone:24},jxe="sf-box-sides";function yx(e){return typeof e=="string"&&e.trim()!==""}function Kxe(e){return yx(typeof e?.bgImage=="string"?e.bgImage:null)||Co(e,Oa)!==""}function Vxe(e,o){return o||Co(e,Oa)===""?e:{...e,[Oa]:""}}function qxe(e,o){return Qd(o,Co(e,Oa))?.trim()||null}function ST(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)} ${Y3})`}}var vc=e=>typeof e=="string"?K3(e.trim()):null,bx=e=>{let o=vc(e);if(o!==null||typeof e!="string")return o;let t=e.trim();return t&&!t.startsWith("#")&&IT(t)||null},Cc=e=>{if(typeof e!="string")return null;let o=V3(qo(e.trim()));return o?.kind==="slot"?o.slot:null},X3="swatch";function Yxe(e,o){if(!o)return null;let t=Qd(o,Co(e,X3)),a=Ut(t);return vc(t)??(a&&sa(a)||null)}var J3={tabletClass:"sf-fill-tablet",tabletVar:"--sf-fill-tablet",phoneClass:"sf-fill-phone",phoneVar:"--sf-fill-phone"};function Xxe(e,o,t){return kl(J3,bx(e),bx(o),bx(t))}var Z3={tabletClass:"sf-wash-tablet",tabletVar:"--sf-wash-tablet",phoneClass:"sf-wash-phone",phoneVar:"--sf-wash-phone"};function Jxe(e){let o=ST(e.darken,e.darkenStyle);if(!o)return{className:"",style:{}};let t=(u,p)=>String(ST(u,p)?.background??"none"),a=u=>(typeof u=="number"||typeof u=="string"&&u.trim()!=="")&&Number.isFinite(Number(u))?u:void 0,r=u=>q3.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 kl(Z3,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 Zxe(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 wT(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(Sx(a,o,0))return{type:typeof r=="string"?r:"",props:n??{}}}return null}function Sx(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>Sx(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>Sx(r,o,t+1))}function vT(e,o){let t=e?.content;return Array.isArray(t)?kc(t,o,0)??[]:[]}function kc(e,o,t){if(t>12||!e||typeof e!="object")return null;if(Array.isArray(e)){for(let r of e){let n=kc(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=kc(r,o,t+1);if(n)return[a,...n]}return null}for(let r of Object.values(e)){let n=kc(r,o,t+1);if(n)return n}return null}import{SettingsDefaultReset as To,SettingsDrill as ij,SettingsField as no,SettingsGroup as dj,SettingsGroupSub as Ive,SettingsSegmented as cj,SettingsBorder as fj,SettingsSidesEach as pj,SettingsSwitch as kg,borderSides as uj,borderStartEach as mj}from"efficient-easel/panel";import{ListField as hj}from"efficient-easel/fields";import{DisplayChips as xj}from"efficient-shell/ui";import{HIDDEN_KEY as Q3,hiddenInEveryView as eW,hiddenInView as wx,hiddenKeyOf as CT}from"efficient-easel/screen/lib/content/view-hide";var oW={"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"},tW={"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"},kT=e=>(e.desktop?"1":"0")+(e.tablet?"1":"0")+(e.mobile?"1":"0");function Tc(e,{atSectionLine:o=!1}={}){return(o?tW:oW)[kT(e)]}var $n=[Q3,CT("tablet"),CT("mobile")];function TT(e){return{desktop:wx(e,"desktop"),tablet:wx(e,"tablet"),mobile:wx(e,"mobile")}}function Tl(e){return eW(e)}function tge(e){let o=TT(e);return["desktop","tablet","mobile"].filter(t=>o[t]).join(" ")}var aW={"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!"},rW={"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 age(e,{atSectionLine:o=!1}={}){return(o?rW:aW)[kT(TT(e))]}function zn(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 Pc(e,o){return zn(e)[o]!==!1}function vx(e,o,t){let a=zn(o)[t];return typeof a=="boolean"?a:Pc(e,t)}function PT(e){return Object.values(zn(e)).some(o=>o===!1)}function ET(e){return Object.keys(zn(e)).length>0}function OT(e,o,t){let a={...zn(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function _T(e,o,t){return{...zn(e),[o]:t}}function sge(e,o,t,{atSectionLine:a=!0}={}){let r=!Pc(e,t);return Tc({desktop:r,tablet:r,mobile:!vx(e,o,t)},{atSectionLine:a})}import{AlignmentGrid as gj,Checkbox as vve,ColorSwatch as Ij,CornersInput as bj,DatePicker as Cve,DateTimePicker as yj,FOCAL_DEFAULT as kve,IconPicker as z0,COLUMN_COUNT_MAX as k0,COLUMN_SHARE_MIN as Sj,COLUMN_SHARES_EQUAL as wj,resolveColumnShares as U0,WidthsBar as vj,useShellStrings as Cj,IconButton as j0,InputNumber as T0,Slider as kj,Tooltip as Tg}from"efficient-shell/ui";import{backendOf as nW}from"efficient-easel/screen/lib/session";var Ue=nW,Ec=e=>e.blocks;async function AT(e){let o=e.trim();if(!o)return null;let t=Ue().geocode;if(!t)throw new Error("geocode_unavailable");return t.locate(o)}var Cx="Lookup busy \u2014 try again in a moment.",Oc=e=>typeof e=="number"&&Number.isFinite(e);function uge(e){return e.some(o=>{let t=o?.geocode;return t?t.pending||t.manual&&t.lat===void 0&&t.lng===void 0?!0:Oc(t.lat)&&t.lat!==o.lat||Oc(t.lng)&&t.lng!==o.lng:!1})}async function mge(e,o,{geocode:t=AT,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:Cx}})}}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=Oc(l.lat)&&l.lat!==s.lat?l.lat:s.lat,c=Oc(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 No,jsxs as Tx}from"react/jsx-runtime";import{useRef as sW}from"react";import{ColorPicker as lW,ColorPickerPanel as iW,ColorSwatch as dW,HexInput as cW,Popover as fW,Tooltip as pW,colorFill as uW,colorSwatchClasses as mW,useShellStrings as hW}from"efficient-shell/ui";import{SettingsDefaultReset as xW,SettingsField as gW}from"efficient-easel/panel";import{typedHex as kx}from"efficient-easel/pick";var RT="Not set";function IW({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,choices:l}){return No(yW,{value:e,onChange:o,label:i(s??t),id:a,caption:r,inherited:n,choices:l})}function bW(){let{theme:e}=xe();return pT(e)}function yW({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,choices:s}){let l=bW(),d=e?null:kx(n??""),c=r!==void 0&&(!e||kx(r)!==kx(e))?r:null,f=u=>{u!==e&&o(u)};return Tx("div",{className:"sf-colour",children:[s?No(SW,{id:a,value:e,onChange:o,label:t,presets:l,follows:d,choices:s}):No(lW,{id:a,value:e,onChange:f,label:t,presets:l,fallback:d??void 0,size:"md",align:"start"}),c!==null?No("span",{className:"sf-colour-caption",children:c}):No("span",{className:"sf-colour-hexwrap",children:No(cW,{value:e||d||"",onChange:f,label:i("{label} hex code",{label:t}),placeholder:e||d?void 0:i(RT),className:d?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function SW({value:e,onChange:o,label:t,id:a,presets:r,follows:n,choices:s}){let l=hW().color,d=e||n||"",c=s.findIndex(p=>p.selected),f=c>=0,u=sW(c);return f&&(u.current=c),No(fW,{id:a,trigger:No("span",{"aria-hidden":"true",className:"absolute inset-0",style:uW(d)}),triggerLabel:l.swatch(t,d.toUpperCase()||l.none),triggerClassName:mW({size:"md"}),"aria-label":l.panel(t),align:"start",children:Tx("div",{className:"sf-colour-window",children:[No("div",{role:"group","aria-label":t,className:"sf-colour-choices",children:s.map(p=>No(pW,{content:p.label,children:No(dW,{color:p.color,"aria-label":p.label,selected:p.selected,onClick:()=>{p.selected||p.onPick()}})},p.label))}),No(iW,{value:f?"":e,onChange:o,label:t,presets:r,fallback:(f?d:n)??void 0},u.current)]})})}function Mo({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...l}){return Tx(gW,{label:e,icon:o,htmlFor:l.id,changed:t,hint:a,action:r?No(xW,{words:ne()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[IW({...l,label:e}),s]})}function Pl({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:l,choices:d}){let c=!!t;return No(Mo,{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 Tj}from"efficient-easel/screen/lib/document/style-fields";import{jsx as wW}from"react/jsx-runtime";import{useEffect as vW,useState as CW}from"react";import{clearRangeOf as kW,markSelection as TW,useCaretEdit as PW}from"efficient-easel/copy";import{TextToolbar as EW}from"efficient-shell/ui";function OW(e,o,t){return TW(e,o,t,Iv)}function LT(e,o){let t=kW(o,e.length),a=yv(e,t.start,t.end);return a.text===e?null:a}function _W(e){let[o,t]=CW(null);return vW(()=>{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 AW({target:e,value:o,onChange:t,disabled:a=!1,label:r="Formatting"}){let n=PW({target:e,onChange:t}),[s,l]=_W(e),d=p=>n(x=>{let g=OW(o,p,x);return l({start:g.selectionStart,end:g.selectionEnd}),g}),c=xv(),f={};if(s)for(let p of c)f[p.style]=bv(o,s.start,s.end,p.style);let u=a?null:LT(o,s);return wW(EW,{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=LT(o,x)??{text:o,selectionStart:x?.start??0,selectionEnd:x?.end??0};return l({start:g.selectionStart,end:g.selectionEnd}),g})}:void 0})}var Px=AW;import{deviceField as Kt}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as Pj,NoControlMark as Ej,noControlField as K0}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Ex="__ownBox";function FT(e){return!!e&&typeof e=="object"&&e[Ex]===!0}var Ox="sfPanelOnly";function Un(e){return!!e&&typeof e=="object"&&e[Ox]===!0}function _c(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var Ac=void 0;import{phoneKey as fa,tabletKey as Qn}from"efficient-easel/draw";import{jsx as Ax,Fragment as FW}from"react/jsx-runtime";import{createContext as BW,useContext as DW}from"react";var Rc={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},Lc={Events:["posts"],SubscribeBlogs:["posts"]};var RW=["anchor"],LW=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function El(e){return RW.includes(e)||LW.test(e)}var _x={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"}}};_x.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var Hge=Object.fromEntries(Object.entries(Rc).map(([e,o])=>[e,Object.keys(o)])),Wge=Object.fromEntries(Object.entries(Lc).map(([e,o])=>[e,[...o]]));import{NoControlMark as NW}from"efficient-easel/screen/lib/document/panel-no-control-mark";var BT=BW(!1);function DT({children:e}){return Ax(BT.Provider,{value:!0,children:e})}function MW(){return DW(BT)}function NT({name:e,children:o}){return!MW()||!e||!HW(e)||El(e)?Ax(FW,{children:o}):Ax(NW,{})}function HW(e){return/^[A-Za-z0-9_$]+$/u.test(e)}var Rx="off",HT="none",Lx=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],WT=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function qge(e){return mo(Lx,Rx,e)}var MT="sf-card-index",Ol="sf-card-index",Yge="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",WW={plain:`counter(${Ol})`,padded:`counter(${Ol}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Ol}, decimal-leading-zero)`};function Xge(e,o){return o==="off"?"":`.${e}{counter-reset:${Ol}}.${e} .${MT}{counter-increment:${Ol}}.${e} .${MT}::before{content:${WW[o]}}`}function Jge(e){return e==="hairline"?"border border-line hover:border-accent":""}var GT=[{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 Oj}from"efficient-easel/draw";import{jsx as Ho}from"react/jsx-runtime";import{SettingsDefaultReset as qW,SettingsField as Fx}from"efficient-easel/panel";import{useSelectedHost as YW}from"efficient-easel/easel";import{FOCAL_DEFAULT as XW}from"efficient-shell/format";import{ImageIcon as Bx,PlayIcon as zT}from"efficient-easel/icons";import{ImageFocusPoint as JW,MediaUploadField as ZW}from"efficient-shell/ui";import{useContext as QW}from"react";import{ScreenDocumentContext as eG}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as oG,tabletKey as UT}from"efficient-easel/draw";import{usePreviewDevice as tG}from"efficient-easel/draw/client";import{formatFocal as GW,parseFocal as $W}from"efficient-shell/format";var zW="sf-focus-phone",UW="--sf-focus-phone",jW="sf-focus-tablet",KW="--sf-focus-tablet",_l=e=>{if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return null;let{x:o,y:t}=$W(e);return GW(o,t)};function $T(e,o){return kl(VW,null,_l(o),_l(e))}var VW={tabletClass:jW,tabletVar:KW,phoneClass:zW,phoneVar:UW};import{shownTier as Dx}from"efficient-easel/screen/lib/document/device-fields";import{onDesktopWords as aG}from"efficient-easel/screen/lib/document/box-fields";import{requestMediaPick as rG}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as nG}from"efficient-easel/screen/lib/host";import{useEaselSession as sG}from"efficient-easel/screen/lib/session-context";function lG(e,o,t,a=!0){let r=Dx(t),n=typeof e[o]=="string"&&e[o]?String(e[o]):XW;if(r==="desktop")return{ownView:!1,followed:n,followsView:"desktop",own:void 0,focus:n,key:o};let s=r==="tablet"?UT(o):oG(o),l=_l(e[s])??void 0,d=r==="mobile"&&a?_l(e[UT(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 iG(e,o,t){let a=YW();if(!o||!a)return null;let r=a.values??{};if(t&&!t(r,Dx(e)))return null;let n=lG(r,o,e,t?t(r,"tablet"):!0),s=a.onChange;return{...n,set:l=>s(n.key,l),clear:()=>s(n.key,Ac)}}function jT({value:e,onChange:o,label:t,accept:a,placeholder:r,focusKey:n,focusWhen:s,frameKey:l,fieldKey:d}){let c=nG(),f=sG(),u=i(t),p=tG(),x=a.startsWith("video"),g=iG(p,x?void 0:n,s),I=!!n&&Dx(p)!=="desktop",k=QW(eG),S=Al(),v=l&&d?{video:d,frame:l}:null,b=P=>rG(c,{accept:a,title:u,...P?{file:P}:{}}).then(D=>!D||!v?D?.url??null:(S({[v.video]:D.url,[v.frame]:D.posterUrl??""}),null)),C=v?P=>P?o(P):S({[v.video]:"",[v.frame]:""}):o,T=Lo(e);if(I&&(!g||!T))return null;if(k&&!k.capabilities.mediaEditing)return Ho(Fx,{label:u,icon:x?Ho(zT,{}):Ho(Bx,{}),children:Ho("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?Ho(qW,{words:ne()?.panel,label:i("Image focus"),changed:!!g.own,detail:aG(P=>i(P),g.followed,g.followsView),onReset:g.clear}):void 0;return I&&g?Ho(Fx,{label:u,icon:Ho(Bx,{}),action:F,children:Ho("div",{style:{flex:"1 1 auto",minWidth:0},children:Ho(JW,{value:g.focus,onChange:g.set,label:i("Image focus"),image:T,hint:null})})}):Ho(Fx,{label:u,icon:x?Ho(zT,{}):Ho(Bx,{}),children:Ho("div",{style:{flex:"1 1 auto",minWidth:0},children:Ho(ZW,{value:T,onChange:C,onPick:b,accept:x?"video/*":"image/*",kind:x?"video":"image",placeholder:r===void 0?void 0:i(r),maxSizeBytes:Ue(f).media.maxUploadBytes,...g?{focus:g.focus,onFocusChange:g.set}:{}})})})}import{jsx as KT}from"react/jsx-runtime";import{useId as dG}from"react";import{FieldSelect as cG}from"efficient-easel/fields";import{SettingsField as fG}from"efficient-easel/panel";function pG(e){return e.map(({value:o,label:t,note:a})=>({value:o,label:t,...a?{meta:a}:{}}))}function VT({label:e,options:o,value:t,onChange:a,emptyLabel:r,icon:n,hint:s}){let l=dG(),d=`${l}-label`,c=`${l}-button`,f=Array.isArray(t)?t:[];return KT(fG,{label:i(e),labelId:d,icon:n,hint:s,children:KT(cG,{id:c,multiple:!0,value:f,options:pG(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 zG}from"react/jsx-runtime";import{useCallback as iP,useContext as UG,useId as fP,useRef as dP,useState as cP}from"react";import{ThemeIcon as jG}from"efficient-easel/icons";import{Button as KG,useClickOutside as VG}from"efficient-shell/ui";import{SettingsField as qG}from"efficient-easel/panel";import{ScreenDocumentContext as YG}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as fe,jsxs as Wa,Fragment as SG}from"react/jsx-runtime";import{parseHexColor as wG}from"efficient-shell/format";import{Button as Mx,IconButton as vG,Tooltip as CG}from"efficient-shell/ui";import{jsx as Ha,jsxs as uG}from"react/jsx-runtime";import{AccentIcon as mG}from"efficient-easel/icons";import{Button as hG,Tooltip as xG}from"efficient-shell/ui";function Nx(e){return Do(e).background}function gG(e){let o=Ca(e.accent,Nx(e));return o===null?null:{ratio:o,grade:Cn(o)}}function IG(e){let o=Nx(e),t=Ca(e.accent,o);return t===null?[]:cw(e.accent).filter(a=>{let r=Ca(a,o);return r!==null&&r>t&&Cn(r)==="good"})}var bG={good:"Easy to read","large-only":vn["large-only"],hard:vn.hard};function qT({value:e,onChange:o}){let t=gG(e),a=t?.grade,r=t&&t.grade!=="good"?IG(e):[];return Ha(Mo,{label:i("Main color"),icon:Ha(mG,{}),hint:t?i(bG[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:uG("div",{className:"sf-readability",children:[Ha("p",{className:"sf-readability-advice",children:yG(a,!0)}),Ha("div",{className:"sf-readability-suggestions",children:r.map(n=>{let s=Ca(n,Nx(e));return Ha(xG,{content:i("Use {colour}",{colour:n.toUpperCase()}),children:Ha(hG,{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 yG(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 kG,ChevronDownIcon as XT,ChevronUpIcon as TG,GroundIcon as PG,LayoutIcon as EG,SquareIcon as OG,TextSmallIcon as _G,TypeIcon as YT}from"efficient-easel/icons";var Rl=e=>i("Theme {n}",{n:e+1});function JT({colors:e}){let o=Do(e),t=Ys(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:Cm(e,o.accent)},children:i("button")}),fe("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:i("card")})]})]})}var Hx={"Text color":fe(YT,{}),"Label color":fe(_G,{}),Background:fe(PG,{}),"Panels & cards":fe(EG,{}),Borders:fe(OG,{}),"Button color":fe(kG,{}),"Button text color":fe(YT,{})};function AG({label:e,colorKey:o,value:t,onChange:a,idPrefix:r="sf-theme-ink"}){let n=`${r}-${o}`;return fe(Mo,{label:i(e),icon:Hx[e],id:n,value:t,onChange:s=>a(o,s)})}function RG({value:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button`,n=e!==void 0&&wG(e)===e.toLowerCase(),s=n?e:o;return fe(Mo,{label:i("Button color"),icon:Hx["Button color"],id:r,value:s,caption:n?s:i("Main"),onChange:t})}function LG({colors:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button-ink`,n=fw(e),s=Cm(e,o),l=Ys(e)??o,d=Cn(Ca(s,l)??0);return fe(Mo,{label:i("Button text color"),icon:Hx["Button text color"],hint:n&&d!=="good"?i("{grade} on the button",{grade:i(vn[d])}):void 0,id:r,value:s,caption:n?s:i("Auto"),onChange:t})}var FG=[{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 Wx({colors:e,onChange:o,idPrefix:t}){let a=Do(e);return fe(SG,{children:FG.map(r=>"colour"in r?fe(qT,{value:e,onChange:o},"colour"):"moduleBreak"in r?fe("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in r?fe(RG,{value:e.button,accent:a.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in r?fe(LG,{colors:e,accent:a.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):fe(AG,{label:r.label,colorKey:r.key,value:a[r.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},r.key))})}function Fc({index:e,colors:o,selected:t,role:a="radio",open:r,editable:n=!0,onPick:s,onEdit:l,onChangeColors:d}){let c=Do(o),f=Rl(e),u=e<vm.length&&!o.brandInk?vm[e]:null,p=Cn(Ca(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(JT,{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(vn[p])}),n&&l&&g&&fe("span",{className:"sf-theme-edit",children:fe(CG,{content:r?i("Collapse"):i("Edit colors"),children:fe(vG,{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(TG,{size:14}):fe(XT,{size:14})})})}),n&&l&&!g&&fe(Mx,{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(Wx,{colors:o,onChange:I=>d?.(I)}),u&&fe(Mx,{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 ZT({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(JT,{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(Mx,{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(XT,{size:12,className:"sf-multi-caret","aria-hidden":"true"})})]})]})}import{useCallback as Kx,useEffect as aP,useRef as Mc}from"react";import{currentEaselSession as NG}from"efficient-easel/screen/lib/session";import{useEaselSession as MG}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as BG}from"react";var eP,Gx=null,Pr=null,Bc=0,$x=new Set;function zx(e){eP=e;for(let o of $x)o()}function Ux(e){Gx=e,Bc+=1,Pr&&clearTimeout(Pr),Pr=null,zx(void 0)}function Dc(e){Bc+=1,zx(e)}function la(e=250){Gx&&(Pr&&clearTimeout(Pr),Pr=setTimeout(()=>{Pr=null;let o=Gx;if(!o)return;let t=++Bc;o().then(a=>{t===Bc&&zx(a)}).catch(()=>{})},e))}function QT(){return eP}function DG(e){return $x.add(e),()=>{$x.delete(e)}}function Nc(){return BG(DG,QT,QT)}var jx=new Set;function oP(e){return jx.add(e),()=>{jx.delete(e)}}async function tP(){let e=(await Promise.allSettled([...jx].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as HG}from"efficient-easel/screen/lib/backend-error";function rP(e=NG()){return(o,t,a)=>{let r=Ue(e).theme;return r?r.update(o,a?{siteId:a}:void 0):Promise.reject(new HG("invalid","This backend stores no site theme."))}}function nP(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function WG(e,o=rP()){let{themeFromDocument:t,token:a,siteId:r,patch:n}=e,s=nP({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 jn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:a}){let r=Mc(null),n=Mc({}),s=MG(),l=Mc(a);l.current=a;let d=Mc(null),c=Kx(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=Kx(async()=>{r.current&&(clearTimeout(r.current),r.current=null);let p=n.current;n.current={};let x=await WG({themeFromDocument:e,token:o?.current,siteId:t,patch:p},rP(s));return c(x),x.status==="saved"&&la(),x.status==="failed"&&(n.current={...p,...n.current}),x},[e,o,t,c,s]),u=Kx((p,x=!1)=>{let g=nP({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 aP(()=>()=>{f()},[f]),aP(()=>oP(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 ot=-1,GG="sf-section-accent",sP="Color",lP=new Set(["CategoryBar","DocTabs"]),nbe=new Set(["Flex"]),Vx=0;function St(e){return e===ot?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Vx}function qx(e){return e??ot}function $G(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 Cl)t[`--sf-sec-${a}`]=`var(${o}-${a}, var(--theme-${a}))`;return t}function sbe(e){let o=St(e.sectionAccent);return o===null?null:{className:GG,style:$G(o)}}var XG="Follow the page",ybe="Follow the slideshow",JG=e=>i("Editing {name} changes it everywhere.",{name:e});function ZG({colors:e}){if(!e)return ro("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=Do(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 QG({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(zG,{children:[Er("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(ot),children:[ro(ZG,{}),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:Rl(o)})}),e.map((s,l)=>l===o?null:ro(Fc,{role:"option",index:l,colors:s,selected:!1,onPick:()=>t(l),onEdit:()=>a(l)},l))]})}function e$({index:e,colors:o,onChange:t,onDone:a}){let r=Rl(e),n=fP();return Er("div",{className:"sf-secttheme-sheet",children:[Er("div",{className:"sf-secttheme-sheet-head",children:[ro("span",{children:r}),ro(KG,{variant:"secondary",className:"sf-secttheme-done",onClick:a,children:i("Done")})]}),ro("div",{className:"sf-secttheme-rows",children:ro(Wx,{colors:o,onChange:t,idPrefix:n})}),ro("p",{className:"sf-secttheme-warn",children:JG(r)})]})}function pP({value:e,onChange:o,followLabel:t,hint:a}){let{theme:r,setTheme:n}=xe(),s=ao(r),l=UG(YG),d=l?.tokenRef,c=l?.siteId??null,f=!l?.capabilities?.hasSiteTheme,{persist:u,flush:p}=jn({themeFromDocument:f,tokenRef:d,siteId:c}),x=ao(s),g=x.themes,I=St(e),k=I!==null?g[I]:void 0,S=k??(g.length?wn(x):void 0),[v,b]=cP(!1),[C,T]=cP(null),F=dP(null),P=dP(null),D=fP(),O=iP(()=>{b(!1),T(null)},[]),R=iP(()=>{!v&&C===null||(p(),O())},[v,C,O,p]);VG(F,R);let N=A=>{o(A),O()},y=A=>{if(C===null)return;let L=g.map((X,q)=>q===C?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(qG,{label:i("Theme"),icon:ro(jG,{}),labelId:`${D}-label`,hint:a,children:ro(ZT,{colors:S,onEdit:I!==null?()=>{T(I),b(!1)}:void 0,name:k?Rl(I):i(t??XG),nameId:`${D}-value`,labelId:`${D}-label`,open:v,menuId:D,buttonRef:P,onClick:()=>{T(null),b(A=>!A)},onKeyDown:A=>{A.key==="Escape"&&(v||C!==null)&&(A.preventDefault(),O())}})}),v&&C===null&&ro("div",{onKeyDown:A=>{A.key==="Escape"&&(A.preventDefault(),O(),P.current?.focus())},children:ro(QG,{themes:g,value:I,onPick:N,onEdit:A=>{T(A),b(!1)},menuId:D,followLabel:t})}),C!==null&&g[C]&&ro(e$,{index:C,colors:g[C],onChange:y,onDone:()=>{p(),O(),P.current?.focus()}})]})}import{jsx as uP}from"react/jsx-runtime";import{useId as o$}from"react";import{FieldSelect as t$}from"efficient-easel/fields";import{SettingsField as a$}from"efficient-easel/panel";function r$(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 Pbe({label:e,options:o,fallback:t,value:a,onChange:r,placeholder:n,bare:s=!1,icon:l}){let d=o$(),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=uP(t$,{id:f,value:p,options:r$(o),onChange:r,placeholder:g,searchPlaceholder:g,...s?{ariaLabel:x}:{ariaLabelledBy:`${c} ${f}`},searchable:!0,groupCount:!0,inline:!0});return s?I:uP(a$,{label:x,labelId:c,icon:l,children:I})}import{jsx as _r,jsxs as N$}from"react/jsx-runtime";import{SettingsField as DP}from"efficient-easel/panel";import{LinkIcon as M$}from"efficient-easel/icons";import{LinkPicker as H$,TextLinkField as W$}from"efficient-shell/ui";import{useEffect as BP,useMemo as zc,useRef as G$,useState as $c}from"react";import{currentEaselSession as n$}from"efficient-easel/screen/lib/session";function mP(){return n$().auth.token}import{currentEaselSession as $$}from"efficient-easel/screen/lib/session";import{useScreenDocument as z$}from"efficient-easel/screen/components/ScreenDocumentContext";var s$=()=>({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 hP(e,o,t){if(!e)return"page";if(Zk(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(oT(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 Yx(e,o){let t=s$(),a=e.pages.map(f=>({value:vl(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:eT(...f.docs).map(u=>({value:yc(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:Qk(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:Jk(u.slug),label:u.title||u.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},d=Xk(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=>hP(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=>hP(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 ho(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return J(t)??o}return o}function xP(e,o){return j(e)??o}function ia(e,o){return typeof e=="boolean"?e:o}function Hc(e,o){if(!Array.isArray(e))return o;let t=e.map(a=>typeof a=="string"?a:ho(a?.text,"")).map(a=>a.trim()).filter(Boolean);return t.length?t:o}var IP=["delay","scroll","exit"],bP=["all","chosen","except"],yP=["visit","days","never","once"],l$=["all","desktop","phone"],i$=["stop","continue"],SP={min:0,max:60},wP={min:10,max:90},vP={min:1,max:90},wt={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function Yo(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function Kn(e,o,t){let a=xP(e,t);return Math.min(o.max,Math.max(o.min,Math.round(a)))}function d$(e){return typeof e.hideAfter=="string"?Yo(yP,e.hideAfter,wt.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":wt.hideAfter}function c$(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function gP(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function CP(e){let o=e??{},t=wt;return{autoOpen:ia(o.autoOpen,t.autoOpen),trigger:Yo(IP,o.trigger,t.trigger),autoOpenDelaySec:Kn(o.autoOpenDelaySec,SP,t.autoOpenDelaySec),scrollPercent:Kn(o.scrollPercent,wP,t.scrollPercent),showOn:Yo(bP,o.showOn,t.showOn),showOnPages:c$(o.showOnPages),devices:Yo(l$,o.devices,t.devices),hideAfter:d$(o),hideDays:Kn(o.hideDays,vP,t.hideDays),afterSubmit:Yo(i$,o.afterSubmit,t.afterSubmit),startDate:gP(o.startDate),endDate:gP(o.endDate)}}import{parseHexColor as f$}from"efficient-shell/format";var vt="#000000";var Xx="popup",p$=Nn,u$=["auto","full"],m$=["inside","outside","none"],h$={min:240,max:1440},x$={min:0,max:100},Ll={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:vt,tintOpacity:60,outsideClick:!0,closeButton:"inside"};function g$(e,o){let t=typeof e=="string"?e.trim():"";return t&&f$(t)===t.toLowerCase()?t:o}function Jx(e,o=Ll){let t=e??{},a=o;return{placement:Yo(p$,t.placement,a.placement),fullWidth:ia(t.fullWidth,a.fullWidth),width:Kn(t.width,h$,a.width),height:Yo(u$,t.height,a.height),tintColor:g$(t.tintColor,a.tintColor),tintOpacity:Kn(t.tintOpacity,x$,a.tintOpacity),outsideClick:ia(t.outsideClick,a.outsideClick),closeButton:Yo(m$,t.closeButton,a.closeButton)}}var kP="cart-drawer",Ybe="cart-drawer",I$={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 Xbe(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function Jbe(e){let o=e??{},t=I$;return{kickerBadge:ho(o.kickerBadge,t.kickerBadge),kickerText:ho(o.kickerText,t.kickerText),titleLead:ho(o.titleLead,t.titleLead),titleAccent:ho(o.titleAccent,t.titleAccent),subtitleEmpty:ho(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:ho(o.subtitleOne,t.subtitleOne),subtitleMany:ho(o.subtitleMany,t.subtitleMany),leadTimeValue:ho(o.leadTimeValue,t.leadTimeValue),shipsToFallback:ho(o.shipsToFallback,t.shipsToFallback),promises:Hc(o.promises,t.promises),emptyKicker:ho(o.emptyKicker,t.emptyKicker),emptyBody:ho(o.emptyBody,t.emptyBody)}}var b$=["right","left"],y$={...Ll,width:520,tintOpacity:68};function Zbe(e){let o=e??{};return{...Jx(o,y$),placement:Yo(b$,o.placement,"right"),height:"full",fullWidth:!1,autoOpen:ia(o.autoOpen,!0)}}var PP="consent-banner",tye="consent-banner";var S$=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],aye="Layout",TP={layout:"bar"},w$=e=>S$.some(o=>o.value===e);function rye(e){let o=ho((e??{}).layout,TP.layout);return{layout:w$(o)?o:TP.layout}}var nye={...Ll,placement:"bottom-center",fullWidth:!0,width:440,tintOpacity:0,outsideClick:!1,closeButton:"none"};var v$="consentWords",C$=["eyebrow","notice","accept","reject","choose"];function Zx(e){let o=(e??{})[v$];return typeof o=="string"&&C$.includes(o)?o:null}function Qx(e){let o=e?.props;return o?Zx(o)!==null?!0:Object.values(o).some(t=>Array.isArray(t)&&t.some(a=>a&&typeof a=="object"&&"props"in a&&Qx(a))):!1}var k$=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],iye={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"},T$={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"},dye={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 EP(e){let o={};for(let t of k$){let a=Qt(e[T$[t]]);a&&(o[t]=a)}return o}var OP={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},P$={lead:"We accept"},Gc={...P$,methods:[],size:"sm",align:"start",dataSource:Qw},Ct="site-footer";var pye=Ct,uye={desktop:!0,tablet:!0,mobile:!0},mye={desktop:!1,tablet:!1,mobile:!1},eg=1,_P=6,hye=Array.from({length:_P-eg+1},(e,o)=>eg+o),Wc={desktop:6,tablet:3,mobile:2},E$={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),eg),_P);function xye(e){if(typeof e=="number")return E$[Or(e)]??{desktop:Or(e),tablet:Or(e),mobile:Or(e)};if(e&&typeof e=="object"){let o=e;return{desktop:Or(o.desktop??Wc.desktop),tablet:Or(o.tablet??Wc.tablet),mobile:Or(o.mobile??Wc.mobile)}}return{...Wc}}var og="subscribe-popup",Cye="subscribe-popup",O$=[og,Ct,kP,PP];function RP(e){return O$.includes(e)}var _$=["right","left"],A$={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:wt.autoOpen,autoOpenDelaySec:wt.autoOpenDelaySec,formSlug:"",trigger:wt.trigger,scrollPercent:wt.scrollPercent,showOn:wt.showOn,showOnPages:[],hideAfter:wt.hideAfter,hideDays:wt.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},je=ho,R$=ia,LP=Hc;function AP(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 L$(e,o){return Array.isArray(e)?LP(e,[]):o}function F$(e,o){return Array.isArray(e)?e.map(t=>{let a=t??{};return{label:je(a.label,""),value:je(a.value,"")}}).filter(t=>t.label||t.value):o}function Tye(e){let o=e??{},t=A$,a=CP(o);return{metaLabel:je(o.metaLabel,t.metaLabel),issueLabel:AP(o.issueLabel,t.issueLabel),issueNumber:AP(o.issueNumber,t.issueNumber),kicker:je(o.kicker,t.kicker),heading:je(o.heading,t.heading),deck:je(o.deck,t.deck),stats:F$(o.stats,t.stats),formLabel:je(o.formLabel,t.formLabel),formHeading:je(o.formHeading,t.formHeading),formIntro:je(o.formIntro,t.formIntro),firstNameLabel:je(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:je(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:je(o.emailLabel,t.emailLabel),emailPlaceholder:je(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:je(o.interestsLabel,t.interestsLabel),interests:LP(o.interests,t.interests),frequencyLabel:je(o.frequencyLabel,t.frequencyLabel),frequencies:L$(o.frequencies,t.frequencies),submitText:je(o.submitText,t.submitText),finePrint:je(o.finePrint,t.finePrint),dismissText:je(o.dismissText,t.dismissText),emailInvalidText:je(o.emailInvalidText,t.emailInvalidText),submitErrorText:je(o.submitErrorText,t.submitErrorText),successHeading:je(o.successHeading,t.successHeading),successBody:je(o.successBody,t.successBody),keepBrowsingText:je(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:Yo(_$,o.formSide,t.formSide),valuePanelOnPhone:R$(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:EP(o)}}function B$(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function D$(e){return{root:{props:{title:e,kind:Xx}},content:[],zones:{}}}function FP(e,o,t){return{slug:B$(o,t),title:e,kind:tx,layout:D$(e)}}function Fl(e){return e?.root?.props?.kind===Xx}function NP(e){let o=new Map;return(t="")=>{let a=mP(),r=o.get(t);if(!r||r.token===null&&a!==null){let n=a||!$$().usesBridgedToken?e(a??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:a}),n}return r.promise}}var j$=NP(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:a}=Ue();return a.linkTargets?a.linkTargets(t):(await a.list(t)).map(r=>({id:r.id,slug:r.slug,label:r.label,layout:null}))}),K$=NP(async(e,o)=>await Ue().blog?.posts(o?{siteId:o}:void 0)??[]);function V$({value:e,onChange:o,label:t="Link",data:a,filters:r}){let n=zc(()=>Yx(a,r),[a,r]),s=i(t);return _r(DP,{label:s,icon:_r(M$,{}),children:_r(H$,{value:e,onChange:l=>o(l),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function MP(){let{siteId:e,capabilities:o}=z$(),{offersCommerce:t,hasBlog:a}=o,[r,n]=$c([]),[s,l]=$c([]),[d,c]=$c([]),[f,u]=$c(null),p=U$().chrome,x=p?.products?.list,g=p?.linkFilters,I=g?void 0:p?.linkRow,k=G$(!0);BP(()=>(k.current=!0,()=>{k.current=!1}),[]),BP(()=>{let b=!0;return j$(e??void 0).then(C=>b&&k.current&&n(C)),a&&K$(e??void 0).then(C=>b&&k.current&&l(C)),t&&x?.().then(C=>b&&k.current&&c(C)),t&&g?g.load(e).catch(()=>null).then(C=>b&&k.current&&u(()=>C)):u(null),()=>{b=!1}},[e,t,a,x,g]);let S=zc(()=>({pages:r.filter(b=>!RP(b.slug)&&!Fl(b.layout)).map(b=>({slug:b.slug,title:b.label,docs:[b.layout]})),popups:r.filter(b=>b.slug===og||Fl(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]),v=zc(()=>f?f(S.pages):null,[f,S]);return{data:S,filters:v,pages:r,offersCommerce:t,HostLinkRow:I}}function Kye({label:e,icon:o,text:t,onTextChange:a,link:r,onLinkChange:n}){let{data:s,filters:l}=MP(),d=zc(()=>Yx(s,l),[s,l]),c=i(e);return _r(DP,{label:c,icon:o,children:_r(W$,{label:c,text:t,onTextChange:a,link:r,onLinkChange:f=>n(f),kinds:d.kinds,rules:d.rules,filtersFor:d.filtersFor})})}function HP({value:e,onChange:o,label:t="Link"}){let a=typeof e=="string"?e:"",{data:r,filters:n,pages:s,offersCommerce:l,HostLinkRow:d}=MP(),c=r.pages.map(u=>vl(u.slug)),f=l&&d&&(a==="/"||c.includes(a))?d:void 0;return N$("div",{children:[_r(V$,{value:a,onChange:o,label:t,data:r,filters:n}),f&&_r(f,{value:a,onChange:o,pages:s})]})}import{UiIcon as P0}from"efficient-easel/draw/client";import{phoneKey as Bl,resolveViewValue as q$,tabletKey as Dl}from"efficient-easel/draw";import{SECTION_PAD_UNIT_KEY as Y$,convertLength as X$,isLengthUnit as GP,sideLengthAt as J$,withLength as tg}from"efficient-easel/screen/lib/content/length-units";var tt={min:10,max:200,step:10};function Z$(e,o,t,a=0){let r=j(e),n=j(o);if(r===void 0&&n===void 0)return;let s=Uc(t),l=d=>d===void 0?void 0:s==="px"?d:tg(d,s,a);return{paddingTop:l(r),paddingBottom:l(n)}}var Uc=e=>GP(e)?e:"px",Q$="sf-pad-top-phone",ez="sf-pad-bottom-phone",oz="--sf-pad-t-phone",tz="--sf-pad-b-phone",az="sf-pad-left-phone",rz="sf-pad-right-phone",nz="--sf-pad-l-phone",sz="--sf-pad-r-phone",lz="sf-pad-top-tablet",iz="sf-pad-bottom-tablet",dz="sf-pad-left-tablet",cz="sf-pad-right-tablet",fz="--sf-pad-t-tablet",pz="--sf-pad-b-tablet",uz="--sf-pad-l-tablet",mz="--sf-pad-r-tablet";function Kc(e){let o={desktop:e.unit,tablet:e.unitTablet,phone:e.unitPhone},t=Z$(e.top,e.bottom,e.unit,e.frame),a=ag({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 hz=[["top","paddingTop",[lz,fz],[Q$,oz]],["bottom","paddingBottom",[iz,pz],[ez,tz]],["left","paddingLeft",[dz,uz],[az,nz]],["right","paddingRight",[cz,mz],[rz,sz]]];function Zye(e,o,t){return!GP(o)||o==="px"?e:X$(e,"px",o,t,{min:0,max:tt.max,step:1})}function xz(e,o,t,a={},r=0){let n=(x,g)=>{if(g==="px")return`${x}px`;let I=tg(x,g,r);return typeof I=="number"?`${I}px`:I},s={n:e,[Dl("n")]:o,[Bl("n")]:t,u:a.desktop,[Dl("u")]:a.tablet,[Bl("u")]:a.phone},l=q$("spacing",e,o,t,gr()),d=(x,g,I)=>{let k=J$(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 ag(e,o,t={},a=e,r={},n=0){let s={},l={},d=[];for(let[c,f,...u]of hz){let p=j(e[c]),x=c==="top"||c==="bottom"?n:0;p!==void 0&&(s[f]=Uc(r.desktop)==="px"?p:tg(p,Uc(r.desktop),x));let g=xz(j(a[c]),j(t[c]),j(o[c]),r,x);for(let[I,[k,S]]of[["tablet",u[0]],["phone",u[1]]]){let v=g[I];v!==void 0&&(d.push(k),l[S]=v)}}return{classes:d,style:{...s,...l}}}function WP(e,o,t){let a=j(e)??t,r=j(o);return a===void 0?r:r===void 0?a:a+r}function Vc(e,o={}){return{top:WP(e.padTop,e.sectionPaddingTop,o.top),bottom:WP(e.padBottom,e.sectionPaddingBottom,o.bottom)}}var jc={top:"sectionPaddingTop",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft",right:"sectionPaddingRight"};function $P(e,o=jc,t=!0,a=o===jc?Y$:void 0){let r={};a&&(e[a]!==void 0&&(r.unit=e[a]),e[Dl(a)]!==void 0&&(r.unitTablet=e[Dl(a)]),e[Bl(a)]!==void 0&&(r.unitPhone=e[Bl(a)]));for(let n of t?["top","bottom","left","right"]:["top","bottom"])r[n]=e[o[n]],r[`${n}Tablet`]=e[Dl(o[n])],r[`${n}Phone`]=e[Bl(o[n])];return r}function Qye(e){return Kc(e)}function eSe(e,o){let t=(a,r)=>typeof a!="number"?void 0:Uc(r)==="px"?a+o:a;return Kc({...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 qc,buttonBorderOf as gz,buttonFillOpacityOf as Iz,buttonPadSidesOf as bz}from"efficient-easel/draw";import{BUTTON_PAD_UNIT_KEY as rg}from"efficient-easel/screen/lib/content/length-units";var yz="px-6 py-4",Sz=4,Yc=e=>{let o=new RegExp(`\\bp${e}-(?:\\[(\\d+)px\\]|(\\d+))`).exec(yz);if(!o)throw new Error(`BUTTON_PAD_CLASSES has no p${e}`);return o[1]!==void 0?Number(o[1]):Number(o[2])*Sz},iSe={top:Yc("y"),right:Yc("x"),bottom:Yc("y"),left:Yc("x")},UP="var(--btn)";function wz(e){let o=e.variant==="ghost",t=Iz(e.buttonFillOpacity),a=gz(e.buttonBorder),r=J(e.buttonColor);return{fillOpacity:t??(o?0:100),border:{width:a?.width??1,color:a?.color??r??(o?"currentColor":UP)},changed:t!==void 0||a!==void 0}}function dSe(e){let o=wz(e);if(!o.changed)return null;let t=J(e.buttonColor)??UP;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 vz="var(--sf-button-radius, 0)";function cSe(e){let o=j(e.buttonCorners),t=$t(e.buttonCornerSides);if(o===void 0&&t===null)return null;let a=o===void 0?vz:`${Math.max(0,o)}px`;return{borderRadius:t===null?a:vr(a,t)}}function fSe(e){let o=n=>bz({top:e[`${qc.top}${n}`],right:e[`${qc.right}${n}`],bottom:e[`${qc.bottom}${n}`],left:e[`${qc.left}${n}`]})??{},t={desktop:e[rg],tablet:e[`${rg}Tablet`],phone:e[`${rg}Phone`]},{classes:a,style:r}=ag(o(""),o("Phone"),o("Tablet"),void 0,t);return Object.keys(r).length?{className:a.join(" "),style:r}:null}var zP="upper";function jP(e,o,t){let a=e&&typeof e=="object"?e:{},r=J(a.textStyle),n=r?J(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=J(a.case)??zP;return`${l} \xB7 ${d[c]??d[zP]}`}import{usePreviewParts as _j}from"efficient-easel/draw/client";import{encodePartId as Aj}from"efficient-easel/draw";import{DEFAULT_EASEL_STRINGS as Rj,useEaselStrings as Lj}from"efficient-easel/strings";var Xc="Stick to top",Ga={min:0,max:200,step:4,fallback:0},Cz="sf-section-stick",mSe="sf-scroll-over",kz="sf-section-stick-tablet-on",Tz="sf-section-stick-tablet-off",Pz="sf-section-stick-phone-on",Ez="sf-section-stick-phone-off",ng={desktop:"--sf-stick-distance",tablet:"--sf-stick-distance-tablet",phone:"--sf-stick-distance-phone"},hSe=new Set(["CategoryBar","DocTabs","IntroBleed","Contents"]);function sg(e){let o=j(e)??Ga.fallback;return Math.min(Ga.max,Math.max(Ga.min,Math.round(o)))}function lg(e){return typeof e.stickTopTablet=="boolean"}function ig(e){return typeof e.stickTopPhone=="boolean"}function Jc(e){let o=e.stickTop===!0,t=sg(e.stickTopDistance),a=lg(e),r=a?e.stickTopTablet===!0:o,n=a?sg(e.stickTopDistanceTablet):t,s=ig(e),l=s?e.stickTopPhone===!0:r,d=s?sg(e.stickTopDistancePhone):n;return{desktop:o,desktopDistance:t,tablet:r,tabletDistance:n,ownTablet:a,phone:l,phoneDistance:d,ownPhone:s}}function xSe(e){let o=Jc(e);if(!o.desktop&&!o.tablet&&!o.phone)return null;let t=[Cz],a={};return o.desktop&&(a[ng.desktop]=`${o.desktopDistance}px`),o.ownTablet&&(t.push(o.tablet?kz:Tz),o.tablet&&(a[ng.tablet]=`${o.tabletDistance}px`)),(o.ownPhone||o.ownTablet||o.phone!==o.desktop)&&(t.push(o.phone?Pz:Ez),o.phone&&(a[ng.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:a}}var Oz=["column","row","tabs","accordion"];var _z={column:"Stacked",row:"One row",tabs:"Tabs",accordion:"Accordion"},KP={Flex:Oz,HeroGroup:["column","row"]},Az={Flex:"row",HeroGroup:"column"},Rz={column:"flex-col",row:"flex-row",tabs:"flex-col",accordion:"flex-col"};function Vn(e,o){return KP[e].includes(o)?o:Az[e]}function ISe(e,o){return Rz[Vn(e,o)]}function VP(e){return KP[e].map(o=>({label:_z[o],value:o}))}var Lz=["solid","dashed","dotted"],YP=["top","right","bottom","left"],ySe="sf-section-border",SSe="sf-section-border-self",Fz=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,qP=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function qn(e,{phone:o=!1,tablet:t=!1}={}){if(!e||typeof e!="object")return;let a=o?"-phone":t?"-tablet":"",r={};for(let n of YP){let s=qP(e[n])??qP(e.width);s!==void 0&&(r[`--sf-border-${n}-width${a}`]=s)}return typeof e.style=="string"&&Lz.includes(e.style)&&(r[`--sf-border-style${a}`]=e.style),typeof e.color=="string"&&Fz.test(e.color)&&(r[`--sf-border-color${a}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function dg(e){let{width:o,...t}=e;return typeof o!="number"?e:{...t,...Object.fromEntries(YP.map(a=>[a,t[a]??o]))}}function wSe(e,o,t){let a=qn(e),r=qn(t,{tablet:!0}),n=qn(t,{phone:!0})||qn(o,{phone:!0})?{...qn(t,{phone:!0}),...qn(o,{phone:!0})}:void 0;return a||r||n?{...a,...r,...n}:void 0}var Zc="sf.gapContainer",da={min:-32,max:64,step:2},QP={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},Yn={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},Bz=new Set(["Events","GalleryB"]);function Rr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=da.min)return o;if(typeof o=="string"){let a=QP[e]?.[o];if(typeof a=="number")return a}return typeof t=="number"&&Number.isFinite(t)?t:Yn[e]}var Dz="sf-gap-overlap",Nz="--sf-gap-overlap",e0="--sf-block-gap",Mz="--sf-block-gap-rem",Ar={min:0,max:da.max,step:da.step};function Nl(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 CSe(e){let o=Nl(e);return o===null?{}:{[e0]:`${o}px`,[Mz]:`${o/16}rem`}}var Hz="--sf-block-gap-phone",Wz="--sf-block-gap-phone-rem",Gz="--sf-block-gap-on-phone",$z="max-view-tablet:[--sf-block-gap-on-phone:var(--sf-block-gap-phone)]";function kSe(e){let o=Nl(e);return o===null?{}:{[Hz]:`${o}px`,[Wz]:`${o/16}rem`}}function TSe(e){return Nl(e)===null?"":$z}var XP="sf-gap-zone",JP="--sf-gap-len";function Qc(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=da.min?!0:typeof o=="string"&&typeof QP[e]?.[o]=="number"}var ZP="--sf-gap-len-phone",zz="--sf-gap-len-tablet",Ml={min:0,max:da.max,step:da.step};function $a(e){return typeof e=="number"&&Number.isFinite(e)&&e>=Ml.min}function cg(e){return e/2}function fg(e,o,t){return $a(t)&&!Qc(e,o)}function pg(e,o,t,a,r){return $a(o)?o:fg(e,t,r)?r:cg(Rr(e,t,a))}var Uz={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function PSe(e,o,t,a,r){let n={...$a(a)?{[ZP]:`${a}px`}:null,...$a(r)?{[zz]:`${r}px`}:null};if(!Qc(e,o)){let l=`${Yn[e]}px`,d=Bz.has(e)?`var(--sf-card-gap, ${l})`:l;return{className:` ${XP}`,style:{[JP]:`var(${e0}, ${d})`,[ZP]:`var(${Gz})`,...n}}}let s=Rr(e,o);return s>=0?{className:` ${XP}`,style:{[JP]:`${s}px`,...n}}:{className:` ${Dz} ${Uz[t]}`,style:{gap:"0px",[Nz]:`${-s/2}px`}}}import{parseHexColor as jz}from"efficient-shell/format";var ko="var(--section-bg)",Hl="inherit";function jt(e,o){return e===Hl?ko:e===void 0?o:ef(e)}var Kz=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function ef(e){let o=Ut(e);return o?sa(o):e.replace(Kz,"var(--site-$1")}var Vz={"var(--section-bg)":"band","var(--site-surface)":"surface","var(--site-surface-2)":"surface2"};function ug(e,o,t){let a=jt(e,o);if(!a||a==="transparent")return t.background.toLowerCase();let r=a.trim(),n=r.startsWith("#")?jz(r):null;if(n)return n.toLowerCase();let s=Vz[r.replace(/\s+/g,"")];return(s?t[s]:t.background).toLowerCase()}var mg="transparent";function o0(e,o){let t=jt(e,o);return!t||t===mg?"none":t===ko?"band":null}function t0(e,o,t=o){let a=n=>!n||n==="transparent",r=jt(e,o);return r===t||a(r)&&a(t)}var a0=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],r0={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Xn="var(--wheel-stage)",of="transparent",Wl="inherit";function LSe(e,o){return ef(hg(e,o))}function hg(e,o){return e===Wl?Xn:e==null?o:e===!0?Xn:e===!1?of:e}function FSe(e){return typeof e=="string"&&e!==Wl?ef(e):Xn}function BSe(e){return e!==of&&e!=="none"&&e!==""}function n0(e,o){return e===Wl||e===!0?!0:e==null?o===Xn:!1}var s0="inherit",tf="fixed",l0=e=>typeof e!="number"&&e!==tf,qz="var(--sf-heading-max, 9999px)";function NSe(e,o,t,a){if(typeof e=="number")return`${e}px`;if(e===tf)return o;let r=a?`var(--size-${a}, ${o})`:o;return t==="heading"?`min(${r}, ${qz})`:r}var xo={min:1e3,max:2e3,step:50,default:1600};function Yz(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var i0="--sf-site-width",xg=`var(${i0},${xo.default}px)`,HSe="100vw",WSe=`max-w-[${xg}]`,GSe=`max-w-[${xo.default}px]`;function d0(e){return typeof e!="number"||!Number.isFinite(e)?xo.default:Math.round(Math.min(Math.max(e,xo.min),xo.max))}function $Se(e){let o=d0(e);return o===xo.default?{}:{[i0]:`${o}px`}}var ca={min:0,max:80,step:4,default:40},c0="--sf-site-gutter",Gl={min:0,max:24,step:4},Xz="--sf-site-gutter-phone",Jz="max-view-tablet:[--sf-site-gutter:var(--sf-site-gutter-phone)]!",kt=`var(${c0},${ca.default}px)`,Zz=`px-[${kt}]`;var za={md:`min(24px,${kt})`,sm:`min(20px,${kt})`,frame:`min(24px,${kt})`,tabs:`min(16px,${kt})`},zSe=[[`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-[${kt}]`,"view-wide:px-10"],[`max-view-tablet:px-[min(24px,${kt})]`,"max-view-tablet:px-6"],[`max-view-wide:-mx-[min(20px,${kt})]`,"max-view-wide:-mx-5"],[`max-view-tablet:-mx-[min(20px,${kt})]`,"max-view-tablet:-mx-5"],[`-mx-[${kt}]`,"-mx-10"],[Zz,"px-10"]];var Qz="max-view-wide:px-[min(20px,var(--sf-site-gutter,40px))]",USe="max-view-wide:[--sf-edge-g:min(20px,var(--sf-box-g,var(--sf-site-gutter,40px)))]",jSe=`mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] ${Qz}`,KSe="[--sf-box-g:var(--sf-site-gutter,40px)] [&>*]:[--sf-site-gutter:0px]";var VSe="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 af(e){return typeof e!="number"||!Number.isFinite(e)?ca.default:Math.round(Math.min(Math.max(e,ca.min),ca.max))}function qSe(e){let o=af(e);return o===ca.default?{}:{[c0]:`${o}px`}}function rf(e){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,Gl.min),Gl.max))}function f0(e){return typeof e=="number"&&Number.isFinite(e)?d0(e):null}function YSe(e){let o=rf(e);return o===null?{}:{[Xz]:`${o}px`}}function XSe(e){return rf(e)===null?"":Jz}function nf(e){return Math.min(Gl.max,af(e))}var p0=xg,JSe=`max-w-[${p0}]`,ZSe=`max-w-[min(var(--sf-page-cap,${xo.default}px),${xo.default}px)]`,u0="--sf-hero-cap",eU=`var(${u0},none)`,QSe=`max-w-[${eU}]`,oU="--sf-hero-bleed-m",tU="--sf-hero-bleed-w",aU="--sf-hero-chrome-x",rU="--sf-hero-chrome-cap";function ewe(e){return e===!0?{[u0]:p0,[oU]:"auto",[tU]:"100%",[aU]:"24px",[rU]:"none"}:{}}var gg=`calc(${xg} - ${kt}*2)`,owe=`max-w-[${gg.replace(/ /g,"_")}]`;var nU="--sf-chrome-cap",sU=`var(${nU},${gg})`,twe="data-page-width";function awe(e){return e==="full"?"full":null}function rwe(e){return e==="full"?null:Yz(e==="content"?gg:sU)}function nwe(e){if(e==="full")return"full";if(e==="content")return"content"}var lU=["page","full"],m0=["full","page"],Lr={full:"Full",page:"Content"},Ig="inherit",iU=e=>typeof e=="string"&&lU.includes(e),dU=e=>e===Ig;function cU(e,o){return dU(e.widthMode)?{mode:"full",inherited:!0}:iU(e.widthMode)?{mode:e.widthMode,inherited:!1}:{mode:o,inherited:o==="full"}}function iwe(e){return cU(e,"page").mode==="full"}var fU={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 dwe(e){return Object.prototype.hasOwnProperty.call(fU,e)}var co={background:"sectionBackgroundWidth",content:"sectionContentWidth",contentMax:"sectionContentMax"};function pU(e){let o=f0(e[co.contentMax]),t=Jn(e[co.content])??(o===null?null:"content");return{background:Jn(e[co.background]),content:t,contentMax:t==="content"?o:null}}function cwe(e){let o=pU(e);return o.content===null&&e.fullWidth===!0?{...o,content:"full"}:o}function fwe(e){return e.background!==null||e.content!==null}var pwe=e=>({[co.background]:e}),uwe=e=>e==="full"?{[co.content]:e,[co.contentMax]:void 0}:{[co.content]:e},mwe=e=>({[co.content]:"content",[co.contentMax]:e}),hwe=e=>e==="background"?{[co.background]:void 0}:{[co.content]:void 0,[co.contentMax]:void 0},h0="siteWidths",uU=e=>e==="full"||e==="content";function Jn(e){return uU(e)?e:null}function x0(e,o){return{[h0]:{background:Jn(e),content:Jn(o)}}}function xwe(e){let o=e.editor?.metadata?.[h0];return{background:Jn(o?.background),content:Jn(o?.content)}}import{jsx as mU}from"react/jsx-runtime";import{createContext as hU,useContext as ywe}from"react";var xU=2,Swe=xU+1,gU=hU(2);function g0({tier:e,children:o}){return mU(gU.Provider,{value:e,children:o})}import{useEaselSession as Fj}from"efficient-easel/screen/lib/session-context";import{BOX_GAP as Bj,describedAs as Ka,group as Pt,iconOf as Ul,sharedStyleKinds as jl}from"efficient-easel/screen/lib/document/box-fields";import{VIEW_KEY_ACCESS as Pg,onDesktopWords as Br,phoneTwinFields as pf}from"efficient-easel/screen/lib/document/box-fields";import{createElement as at}from"react";import{SettingsDefaultReset as IU,SettingsField as bU}from"efficient-easel/panel";import{boxFieldBuilders as yU,describedAs as SU,iconOf as wU,onDesktopWords as vU}from"efficient-easel/screen/lib/document/box-fields";import{LENGTH_UNITS as CU}from"efficient-easel/screen/lib/content/length-units";import{IconPicker as kU,Tooltip as TU,useShellStrings as PU}from"efficient-shell/ui";import{RotateIcon as EU}from"efficient-easel/icons";var I0=e=>i(e),OU=CU,go=yU(I0,{paddingUnits:OU}),Wo=go.slider,Tt=go.select,sf=go.Segmented,Fr=go.segmented,Awe=go.alignmentField,Rwe=go.alignmentFields,Lwe=go.blockAlignmentField,Fwe=go.blockAlignmentFields,Bwe=go.boxJustifyField,Dwe=go.boxAlignField,Nwe=go.boxWrapField,b0=go.directionField,lf=go.gapField,Mwe=go.placementField,Hwe=go.PlacementGridView,Wwe=go.positionFields,df=go.sidesPaddingFields;function y0(e,o){return Wo("Angle",at(EU),Wt.min,Wt.max,Wt.step,e,"\xB0",o)}var _U={width:"3.5rem",height:"2.75rem"};function bg({value:e}){return PU().iconNames[e]??e}function yg(e,o,t){return at(TU,{content:t,className:"sf-pick-tip",children:at("span",{className:"sf-pick"},at("span",{className:"sf-pick-pic"},e),at("span",{className:"sf-pick-cap"},o))})}function AU(e){let o=t=>t.label===void 0?at(bg,{value:t.value}):i(t.label);return e.map(t=>({value:t.value,...t.label===void 0?{}:{label:i(t.hint??t.label)},icon:yg(t.picture,o(t),t.hint===void 0?o(t):i(t.hint))}))}function S0(e,o){return at("span",{className:"sf-pick"},at("span",{className:"sf-pick-pic"},e),at("span",{className:"sf-pick-cap sf-pick-cap-closed"},o))}function w0(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",...SU({},{type:"radio",label:e,options:l}),options:l,render:d=>{let{value:c,onChange:f,field:u}=d,p=u?.options,x=AU(t.filter(C=>!p||p.some(T=>T.value===C.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,v=c!=null&&c!=="",b=I===void 0?void 0:t.find(C=>C.value===I);return at(bU,{label:i(e),icon:wU(o),action:g?at(IU,{words:ne()?.panel,label:i(e),changed:v,detail:b?.label!==void 0?vU(I0,i(b.label),d.followsView):void 0,disabled:d.readOnly===!0,onReset:()=>f(void 0)}):void 0},at(kU,{label:i(e),value:S,options:x,onChange:f,columns:r.columns,cell:r.cell??_U,tooltips:!1,disabled:d.readOnly===!0}))}}}import{TEXT_CONTROL_KINDS as kCe,SCALAR_TEXT_CONTROLS as TCe}from"efficient-easel/draw";function Dr(e,o){return i("{value} from {from}",{value:e,from:o})}function Dj(){let{blockGap:e}=xe();return e===null?i("this container's own spacing"):Dr(`${e}px`,i("Styles"))}function Nj({inherited:e,onReset:o,label:t}){return w(To,{words:ne()?.panel,label:i(t),changed:!e,detail:Dj(),onReset:o})}function Mj(e){return lf({...Bj,builtIn:Yn[e],resolve:(o,t)=>Rr(e,o,t?.siteGap),action:(o,t)=>w(Nj,{inherited:!Qc(e,o),onReset:()=>t(void 0),label:"Gap"}),mark:{[Zc]:e}})}function Hj(e){return $e(Kt("mobile",{[Zc]:e,type:"custom",render:o=>w($j,{container:e,...o})}),V0)}function Wj(e){return $e(Kt("tablet",{[Zc]:e,type:"custom",render:o=>w(Gj,{container:e,...o})}),V0)}var V0={not:{field:"gap",in:Array.from({length:-da.min},(e,o)=>da.min+o)}};function gCe(e){return{gap:Kt("desktop",Mj(e)),[Qn("gap")]:Wj(e),[fa("gap")]:Hj(e)}}function Gj({container:e,...o}){let[t]=ua("gap"),{siteGap:a}=o.field??{},r=Math.max(Ml.min,Rr(e,t,a));return lf({...Ml,builtIn:r,resolve:n=>$a(n)?n:r,action:(n,s)=>w(To,{words:ne()?.panel,label:i("Gap"),changed:$a(n),detail:Br(l=>i(l),`${r}px`),onReset:()=>s(void 0)})}).render(o)}function $j({container:e,...o}){let[t]=ua("gap"),{siteGap:a,siteGapPhone:r}=o.field??{},n=pg(e,void 0,t,a,r);return lf({...Ml,builtIn:n,resolve:s=>pg(e,s,t,a,r),action:(s,l)=>w(To,{words:ne()?.panel,label:i("Gap"),changed:$a(s),detail:Dr(`${n}px`,fg(e,t,r)?i("Styles"):i("Desktop")),onReset:()=>l(void 0)})}).render(o)}function ICe(e){return b0({offered:VP(e),fallback:Vn(e,void 0),resolve:o=>Vn(e,o)})}function bCe(e,o){return Mk(o?lx(e,o):[],o)}function zj({inherited:e,onReset:o,label:t}){return w(To,{words:ne()?.panel,label:i(t),changed:!e,detail:Dr(i("Full"),i("the page")),onReset:o})}function Nr({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=$l(null),u=$l(null),p=v=>o(s?{text:v,hidden:c}:v),x=()=>o({text:d,hidden:!c}),g=s&&c,I=F0(),k=r?qj(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(sj,{}),htmlFor:I,className:g?"is-hidden":void 0,hint:k,action:s?w(Tg,{content:S,children:w(j0,{"aria-pressed":c,"aria-label":S,onClick:x,children:c?w(P0,{name:"eye-off",size:14}):w(P0,{name:"eye",size:14})})}):void 0,children:ja("div",{className:"sf-copybox",children:[l&&w(Px,{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:v=>p(v.target.value)}):w("input",{id:I,ref:f,type:"text",value:d,placeholder:a===void 0?void 0:i(a),onChange:v=>p(v.target.value)})]})})}function yCe(e,o){return{...e,[WU]:o}}function SCe(e){let o=e[pa];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[pa]:{...o,offPage:!0}}}function hf(e){return!e||typeof e!="object"?!1:e[pa]?.offPage===!0}function wCe(e){if(!e[pa])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[Ox]:!0}}function q0(e){return Un(e)}function vCe(e){let o=e[pa];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[pa]:{...o,identifier:!0}}}function PCe(e,o){if(!e[pa])throw new Error("inOwnBox: the field holds no authored text");let{[Pj]:t,...a}=e;return{...a,[Ex]:!0,render:o}}var Uj=new Set(Oj),uf={type:"radio",options:[{value:!0},{value:!1}]},Y0={text:{type:"object",objectFields:{text:{type:"text"},hidden:uf}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:uf}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},Mr=(e,o)=>{let t=Ka({...o,[pa]:e},{...Y0[e.control],label:e.label});if(!Uj.has(e.control))return t;let a=o.render;return{...K0(t,"authored-copy"),render:r=>w(NT,{name:r.name,children:a(r)})}},ECe="Everything else on this block comes from the linked post. Unlink it to edit by hand.",jj={field:"source.slug",set:!0},OCe={not:jj},Kj="Select a word, then press the highlighter.",Vj=new Set([Kj]),qj=e=>Vj.has(e);function _Ce(e,o,t){return Mr({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Nr,{value:a,onChange:r,label:e,placeholder:o,hint:t})})}function ACe(e,o,t){return Mr({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Nr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0})})}function RCe(e,o,t){return Mr({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Nr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function LCe(e,o,t){return Mr({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Nr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1})})}function FCe(e){return{type:"custom",[MU]:{label:e},...Ka({},{type:"text",label:e}),render:({value:o,onChange:t})=>w(HP,{value:NU(o),onChange:t,label:e})}}function BCe(e,o,t){return Mr({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Nr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var X0={Design:GU,Animation:zU};function DCe(e){return{type:"custom",render:()=>w(Yj,{text:e})}}function Yj({text:e}){return w("p",{className:"sf-note",children:i(e)})}function NCe(e){return ha(e)!==null&&e?.tabs!==void 0}var E0=new Map;function xf(e,o){let t=`${e}\0${o?o.join(""):""}`,a=E0.get(t)??{type:"custom",tabs:o,[B0]:{label:e,level:1},bucket:e,marker:!0,render:()=>w(ma,{})};return E0.set(t,a),a}var O0=new Map;function Eg(e){let o=O0.get(e)??{type:"custom",[B0]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>w(ma,{})};return O0.set(e,o),o}function Xj(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function J0(e,o){return Xj(e)===o?e:{...e,marker:!0,fold:o,render:()=>w(ma,{})}}function Z0(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 Og({title:e,children:o}){let[t,a]=zl(()=>!Sg.has(e));return w(dj,{title:e,open:t,onToggle:r=>{a(r),r?Sg.delete(e):Sg.add(e)},children:o})}var Sg=new Set;function Jj({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(Tg,{content:d,children:w(Ij,{color:l,selected:o.toLowerCase()===l.toLowerCase(),onClick:()=>t(l),"aria-label":d})},l)}),w("span",{className:"sf-swatch-hex",children:s})]})}function MCe(e,o,t=!1){return{type:"custom",render:({value:a,onChange:r})=>w(Zj,{label:e,builtIn:o,followsBand:t,value:a,onChange:r})}}function Zj({label:e,builtIn:o,followsBand:t,value:a,onChange:r}){let n=typeof a=="string"?a:void 0,{colors:s,n:l}=Bg(),d={background:s.background,surface:s.surface,surface2:Sd(s),band:pw(s)},c=t?ko:o,f=t0(n,o,c),u=ug(void 0,c,d),p=t?Hl:void 0,x=c===ko?i("the theme's section background"):i("Theme {n} background",{n:l}),g=Qj(n,o,s,l,d,r),I=Dr(u.toUpperCase(),x),k=Ut(n),S=k?Hn(k,s,l):null;return S?w(Mo,{label:i(e),icon:w(v0,{}),value:S.hex,caption:S.words,onChange:r,changed:!0,onReset:()=>r(p),resetTo:I,choices:g}):w(Pl,{label:i(e),icon:w(v0,{}),value:f?"":ug(n,o,d),inherited:u,resetTo:I,onChange:r,onReset:()=>r(p),choices:g})}function Qj(e,o,t,a,r,n){let s=o0(e,o);return[{label:i("No fill"),color:"",selected:s==="none",onPick:()=>n(mg)},{label:`${i("Section band")} \xB7 ${r.band.toUpperCase()}`,color:r.band,selected:s==="band",onPick:()=>n(ko)},...Fg(Ut(e)??"",t,a,n)]}function eK(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=t,n=n0(r,o);return w(no,{label:i(e),icon:w(vg,{}),changed:!n,action:w(To,{words:ne()?.panel,label:i(e),changed:!n,detail:i("the theme's image stage"),onReset:()=>a(Wl)}),children:Jj({swatches:a0,current:n?Xn:hg(r,o),onPick:a,names:r0})})}}}function gf(e=t=>t,o){return jl({_gSectionTheme:Pt(sP),sectionAccent:{type:"custom",render:({value:t,onChange:a})=>w(pP,{value:e(t),onChange:a,followLabel:o})}})}function Xo({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(kj,{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 Q0(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?Ul(c):void 0,value:g?d||n===void 0?void 0:i(n):`${x}${f}`,changed:!g,action:d?R0(d,{changed:!g,onReset:()=>p(null)}):w(To,{words:ne()?.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}):Xo({min:t,max:a,step:r,value:x??t,readout:!1,ariaLabel:e,onChange:p})})}}}var If="Corners";function _g(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(If),icon:w(N0,{}),changed:r,action:R0(e.mark,{changed:r,onReset:()=>t(null)}),hint:e.hint,children:w(oK,{tier:e,px:a,onRadius:t})})}}}function ua(e){let o=es();return[o?.values?.[e],t=>o?.onChange(e,t)]}function eE(){return K0({type:"custom",render:()=>w(Ej,{})},"always")}function Al(){let e=es();return o=>e?.onChangeMany(o)}function oK({tier:e,px:o,onRadius:t}){let a=e.useFollowed(),[r,n]=ua(e.sidesKey),s=$t(r)??[...cc];return w(bj,{label:i(If),value:s,corners:uk,onChange:l=>{let d=$t(l)??[];n(d.length===cc.length?null:d)},radius:o,onRadiusChange:t,radiusMin:et,radiusMax:lr,radiusStep:e.step??1,radiusPlaceholder:String(a)})}function oE(){return eE()}function tK({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:a}=xe(),r=typeof a=="number"?`${a}px`:i("not set");return w(To,{words:ne()?.panel,label:i(e),changed:o,detail:a==null?i("the built-in corners"):Dr(r,i("Styles")),onReset:t})}function aK(){let{cornerRadiusPx:e}=xe();return typeof e=="number"?e:et}function rK(){return _g({sidesKey:"sectionCornerSides",useFollowed:aK,mark:w(tK,{label:If}),hint:nK})}var nK="Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here.";function bf(){return jl({_gShape:Pt("Shape"),sectionCorners:rK(),sectionCornerSides:oE(),...Zn("sectionBorder",fK)})}var sK=()=>({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 lK(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function iK(){let e;try{let o=ao(xe().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||sw.line}function dK({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]=zl(()=>r?mj(l,s):!1),f=sK(),u=p=>lK(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(pj,{each:d,label:i("Each side"),onChange:c}):void 0,children:w(fj,{label:i("Border"),value:l,each:d,onChange:p=>o(u(p)),placeholder:t,presets:a,words:f,styles:n,max:20})})}function cK({value:e,onChange:o,view:t}){let[a]=ua("sectionBorder"),[r]=ua(Qn("sectionBorder")),n=iK(),s=d=>d&&typeof d=="object"?d:{},l=t==="phone"?{...dg(s(a)),...dg(s(r))}:t==="tablet"?s(a):{};return w(dK,{value:e,onChange:o,placeholder:{sides:uj(l),style:l.style??"solid",color:l.color||n},presets:[n],above:l})}function fK(e){return{type:"custom",render:({value:o,onChange:t})=>w(cK,{value:o,onChange:t,view:e})}}function Zn(e,o){let t=(a,r)=>pf(e,o(a),Pg)[r];return{[e]:t("desktop",e),[Qn(e)]:t("tablet",Qn(e)),[fa(e)]:t("phone",fa(e))}}function HCe(e){return{type:"custom",render:()=>w(pK,{partKey:e})}}function pK({partKey:e}){let[o]=ua("id"),[t]=ua("_partStyles"),{textStyles:a}=xe(),r=Lj(),n=null;try{n=_j().select}catch{n=null}let s=t&&typeof t=="object"?t[e]:void 0,l=Array.isArray(a)?a:null;return w(ij,{name:i("Text"),preview:jP(s,l,{noStyle:i("No style"),styleName:r.textStyles.styleName,cases:(r.copy.panel??Rj.copy.panel).cases}),onOpen:()=>{n&&typeof o=="string"&&n(Aj(o,e))}})}function tE(e){let{cornerRadiusPx:o}=xe(),t=typeof o=="number"?o:e,a=null;try{let{appState:n,selectedItem:s}=mf(d=>d),l=s?.props?.id?String(s.props.id):void 0;a=l?wT(n?.data,l)?.props??null:null}catch{a=null}if(!a)return t;let r=a.sectionCorners;return Vh(r)?r:t}function uK({label:e,changed:o=!1,onReset:t=()=>{}}){let a=tE(et);return w(To,{words:ne()?.panel,label:i(e),changed:o,detail:Dr(`${a}px`,i("the section")),onReset:t})}function mK(){return w(ma,{children:i("Follows the section's Corners until you set a number here.")})}function hK(){return _g({sidesKey:"cardCornerSides",useFollowed:()=>tE(et),mark:w(uK,{label:If}),hint:w(mK,{})})}function xK(){return{type:"custom",render:()=>w(yk,{})}}function WCe(){return{_gShape:Pt("Shape"),cardCorners:hK(),cardCornerSides:oE(),cardCornersApplyAll:xK()}}function gK(){return Ka({type:"custom",render:e=>w(bK,{...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 IK(e,o){let t=ph(e);if(t!=="custom")return i(fh.find(r=>r.value===t)?.label??"");let a=U0(Gd(e,o),o);return a?[...a,100-a.reduce((r,n)=>r+n,0)].join(" / "):i("Custom")}function bK(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=ph(l),c=r>=2&&r<=k0,f=()=>[...wj[r]??[]],u=$l(null),p=S=>{let v=u.current;v&&JSON.stringify(S)===JSON.stringify(v.shares)?t(v.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:k0}),I=s&&(n||o!=="content"),k=Cj().widths.hint(r,Sj);return w(no,{label:i(Sr),icon:w(Cg,{}),changed:I,hint:d!=="custom"?void 0:c?k:g,action:w(To,{words:ne()?.panel,label:i(Sr),changed:I,disabled:e.readOnly===!0,detail:n?Br(S=>i(S),IK(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(z0,{label:i(Sr),value:d,options:fh.map(S=>({value:S.value,label:S.value==="custom"&&!c?g:i(S.label),icon:yg(w("span",{className:"sf-gallery-pic sf-share-pic",children:aE(S.weights).map((v,b)=>w("i",{style:{gridColumn:`span ${v}`}},b))}),i(S.label),S.value==="custom"&&!c?g:i(S.label))})),onChange:x,columns:3,cell:rE,tooltips:!1,disabled:e.readOnly===!0})}),d==="custom"&&c?w("div",{onFocus:()=>{u.current={value:o,shares:U0(Gd(l,r),r)}},onBlur:()=>{u.current=null},children:w(vj,{label:i(Sr),count:r,value:Gd(l,r),onChange:p,readOnly:e.readOnly===!0})}):null]})})}function aE(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 GCe(){return Tt(oC,w(JU,{}),xh,xh[0].value)}function $Ce(){return Kt("mobile",w0(Sr,w(Cg,{}),Vv.map(e=>({label:e.label,value:e.value,picture:w("span",{className:"sf-gallery-pic sf-share-pic",children:aE(e.weights).map((o,t)=>w("i",{style:{gridColumn:`span ${o}`}},t))})})),qv,{columns:2,cell:rE}))}var rE={width:"5.75rem",height:"3.25rem"};function zCe(){return pf("share",gK(),Pg)[Qn("share")]}function yK(){return Kt("mobile",Wo(uh,w(D0,{}),zd,Kv,1,zd,"",{clear:{phoneFollows:!1,hint:zd}}))}var _0={read:e=>e.phoneRow,write:(e,o,t)=>({phoneRow:t}),fieldKey:()=>"phoneRow",ownField:!0};function UCe(){let e=Wo(uh,w(D0,{}),hh,Yv,1,hh,"",{clear:{emptyLabel:"Auto"}}),o=pf("columns",e,{..._0,tablet:Pg.tablet}),t=pf("columns",e,_0,{phoneRow:yK()});return{...o,phoneRow:t.phoneRow}}function jCe(e,o,t,a,r,n){return{type:"custom",render:({value:s,onChange:l})=>w(no,{label:i(e),icon:w(mx,{noun:n}),action:w(To,{words:ne()?.panel,label:i(e),changed:!l0(s),detail:i("the Text style in Styles"),onReset:()=>l(s0),defaultAction:{onPress:()=>l(tf),title:i("Keep this section's own built-in size"),icon:w(jU,{})}}),children:Xo({min:o,max:t,step:a,value:typeof s=="number"?s:r,suffix:"px",ariaLabel:e,onChange:l})})}}function KCe(){return{_gCellWidth:Pt("Cell width"),gridSpan:Tt("Positions",w(Cg,{}),[{label:"Auto",value:""},...Array.from({length:xc},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function rt(){let e=null,o=null;try{e=L0(Ag),o=mf(t=>t).selectedItem}catch{o=null}return e??o?.props??{}}var Ag=FU(null);function SK({min:e,max:o,step:t,px:a,label:r,onChange:n,desktopKey:s,fallback:l}){let d=rt()[s],c=_c(void 0,d,l);return w(ma,{children:Xo({min:e,max:o,step:t,value:_c(a,d,l),readout:!1,ariaLabel:r,notch:c,onChange:n})})}function wK({label:e,desktopKey:o,fallback:t,unit:a="px",changed:r=!1,onReset:n=()=>{}}){let s=rt()[o],l=_c(void 0,s,t);return w(To,{words:ne()?.panel,label:i(e),changed:r,detail:Br(d=>i(d),`${l}${a}`),onReset:n})}function yf(e){return Q0(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unit:e.unit,unsetLabel:"Follows Desktop",unsetMark:w(wK,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback,unit:e.unit}),restTrack:o=>w(SK,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}var vK={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},CK={Top:$0,Bottom:H0,Left:W0,Right:G0},kK=e=>{let o=CK[e];return w(o,{})};function VCe(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",a=e.group!==!1,r=k=>vK[k],n=k=>Wo(r("Top"),w($0,{}),tt.min,tt.max,tt.step,k,"px"),s=(k,S,v,b=tt)=>Kt("mobile",yf({label:r(k),icon:kK(k),desktopKey:S,min:b.min,max:b.max,step:b.step,fallback:v})),l=e.top??tt.min,d=e.bottom??tt.min,c="sectionPaddingLeft",f="sectionPaddingRight",u=e.sideBounds??tt,p=e.side??u.min,x=e.sidePhone??p,g=e.phone===!0,I=k=>g?Kt("desktop",k):k;return jl({...a?{_gSpacing:Pt("Padding")}:{},[o]:I(n(l)),...g?{[fa(o)]:s("Top",o,l)}:{},...e.only==="top"?{}:{[t]:I(Wo(r("Bottom"),w(H0,{}),tt.min,tt.max,tt.step,d,"px")),...g?{[fa(t)]:s("Bottom",t,d)}:{}},...e.sides?{[c]:I(Wo(r("Left"),w(W0,{}),u.min,u.max,u.step,p,"px")),...g?{[fa(c)]:s("Left",c,x,u)}:{},[f]:I(Wo(r("Right"),w(G0,{}),u.min,u.max,u.step,p,"px")),...g?{[fa(f)]:s("Right",f,x,u)}:{}}:{}})}function qCe(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 cf="Width";function Sf(e,o=m0,t=!0){let a=o.map(r=>({label:Lr[r],value:r}));return jl({...t?{_gWidth:Pt(cf)}:{},widthMode:{type:"custom",render:({onChange:r,field:n})=>w(no,{label:i(cf),icon:w(lj,{}),action:t?w(zj,{inherited:n?.inherited??!1,onReset:()=>r(Ig),label:cf}):void 0,children:sf({options:a,value:n?.currentValue||e,onChange:r,ariaLabel:cf})})}})}function wf(){let e=(a,r)=>({type:"custom",render:({value:n,onChange:s})=>w(TK,{value:n,onChange:s,view:a,badge:r})}),o=a=>({type:"custom",render:({value:r,onChange:n,field:s})=>w(EK,{value:r,onChange:n,unit:s?.unit,view:a})}),t=a=>{let r=Fr("Unit",w(M0,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");if(a==="desktop")return r;let n=r.render;return{...r,render:s=>w(OK,{props:s,draw:n,view:a})}};return jl({_gHeight:Pt(kn),...Zn("sectionHeightMode",a=>a==="desktop"?e(a):e(a,r=>w(_K,{view:a,onClear:()=>r(void 0)}))),...Zn("sectionHeightValue",o),...Zn("sectionHeightUnit",t)})}function TK({value:e,onChange:o,view:t,badge:a}){let r=rt(),n=l=>["auto","fixed","screen"].includes(l),s=vf(t,r)?.mode??"auto";return w(no,{label:kn,icon:Ul(w(QU,{})),action:a?a(o):void 0,children:sf({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:n(e)?e:s,onChange:o,ariaLabel:kn})})}function nE(e,o){return e==="phone"&&Cd(o)?_w(o):Ew(o)}function vf(e,o){return e==="desktop"||(e==="tablet"?Cd(o):Ow(o))?null:nE(e,o)}var Ua=(e,o)=>e==="tablet"?Qn(o):fa(o);function PK(e,o,t,a){let r=vf(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 sE(e,o,t){let a=es(),r=vf(e,rt());return!a||!r?{followed:null,write:t}:{followed:r,write:n=>a.onChangeMany(s=>{let l=PK(e,s,o,n);return l===null?{[e==="desktop"?o:Ua(e,o)]:n}:Object.keys(l).length?l:null})}}function EK({value:e,onChange:o,unit:t,view:a}){let{followed:r,write:n}=sE(a,"sectionHeightValue",o),s=(r?r.unit:t)==="%"?"%":"px",l=s==="%"?Pw:Tw;return w("div",{className:"sf-field",children:Xo({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:kn,onChange:n})})}function OK({props:e,draw:o,view:t}){let{followed:a,write:r}=sE(t,"sectionHeightUnit",e.onChange);return o({...e,...a?{value:void 0,storedValue:void 0,follows:a.unit}:{},onChange:r})}function _K({view:e,onClear:o}){let t=rt(),a=vf(e,t)===null,r=e==="phone"&&Cd(t),n=nE(e,t),s=Br(l=>i(l),n.mode==="auto"?i("Auto"):`${n.value}${n.unit}`,r?"tablet":"desktop");return w(To,{words:ne()?.panel,label:i(kn),changed:a,detail:s,onReset:o})}function Rg(){let e=t=>({type:"custom",render:({value:a,onChange:r,id:n,name:s})=>w(LK,{value:a,onChange:r,labelId:`${n??s??"stickTop"}-label`,view:t})}),o=t=>({type:"custom",render:({value:a,onChange:r})=>w(AK,{value:a,onChange:r,view:t})});return{_gStick:Pt(Xc),...Zn("stickTop",e),...Zn("stickTopDistance",o)}}function AK({value:e,onChange:o,view:t}){let a=es(),r=rt(),n=t==="desktop"||Lg(t,r)?null:lE(t,Jc(r)),s=n&&a?l=>a.onChangeMany(d=>{let c=RK(t,d,l);return c===null?{[Ua(t,"stickTopDistance")]:l}:Object.keys(c).length?c:null}):o;return w("div",{className:"sf-field",children:Xo({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 Lg(e,o){return e==="tablet"?lg(o):ig(o)}function lE(e,o){return e==="phone"?{on:o.tablet,distance:o.tabletDistance}:{on:o.desktop,distance:o.desktopDistance}}function RK(e,o,t){return e==="desktop"||Lg(e,o)?null:t===void 0?{}:{[Ua(e,"stickTop")]:!0,[Ua(e,"stickTopDistance")]:t}}function LK({value:e,onChange:o,labelId:t,view:a}){let r=rt(),n=Jc(r),s=a==="phone"?n.phone:a==="tablet"?n.tablet:e===!0,l=a==="phone"&&n.ownTablet,d=a==="desktop"?null:lE(a,n),c=d?.on?`${d.distance}px`:i("Off");return w(no,{label:i(Xc),labelId:t,icon:Ul(w(aj,{})),action:ja(ma,{children:[a!=="desktop"?w(To,{words:ne()?.panel,label:i(Xc),changed:Lg(a,r),detail:Br(f=>i(f),c,l?"tablet":"desktop"),onReset:()=>o(void 0)}):null,w(kg,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var A0="e.g. about";function Cf(){return{_gAnchor:Pt("Anchor"),anchor:Mr({control:"plainText",label:"Name",placeholder:A0},{type:"custom",render:({value:e,onChange:o})=>w(rT,{value:e,onChange:o,nameBox:(t,a)=>w(Nr,{value:t,onChange:a,label:"Name",placeholder:A0,hideable:!1,markup:!1})})})}}function YCe(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(yj,{id:l,value:Number.isFinite(d)?new Date(d):null,onChange:c=>r(c?c.toISOString():"")})})}}}function FK(e,o,t,a){return{type:"custom",...Ka({},{...uf,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(kg,{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:ne()?.panel,label:i(e),changed:u,detail:f.followsNoView?i(p?"On":"Off"):Br(S=>i(S),i(p?"On":"Off"),f.followsView),disabled:I,onReset:()=>s(void 0)}),k]}):k})}}}function iE(){return{type:"custom",render:({value:e,onChange:o,id:t,name:a})=>{let r=`${String(t??a??"pageBackground")}-colour`;return w(BK,{label:"Background",icon:w(tj,{}),id:r,value:e,shown:Ix(e),onChange:o})}}}function XCe(e,o,t){return{type:"custom",render:({value:a,onChange:r})=>w(Mo,{label:i(e),icon:t,value:a||o,onChange:r})}}function BK({label:e,icon:o,id:t,value:a,shown:r,onChange:n}){let{colors:s,n:l}=Bg(),d=Ut(a),c=d?Hn(d,s,l):null;return w(Mo,{label:i(e),icon:o,id:t,value:c?c.hex:r,caption:c?.words,onChange:n,choices:Fg(d??"",s,l,n)})}function JCe(){return{type:"custom",render:e=>{let{value:o,onChange:t}=e,a=e;return w(DK,{value:typeof o=="string"?o:"",onChange:t,twin:"follows"in e?{follows:a.follows,view:a.followsView}:void 0})}}}function Fg(e,o,t,a){let r=Cc(e);return fT(o,t).map(n=>({label:n.label,color:n.value,selected:r===n.name,onPick:()=>a(n.name)}))}function DK({value:e,onChange:o,twin:t}){let{colors:a,n:r}=Bg(),n=a.background,s=Dr(n.toUpperCase(),i("Theme {n} background",{n:r})),l=Cc(e),d=l?Hn(l,a,r):null,c=Fg(e,a,r,o),f=t?()=>o(void 0):()=>o(""),u=n,p=s;if(t){let x=Cc(t.follows),g=vc(t.follows),I=x?Hn(x,a,r):g?{hex:g,words:g.toUpperCase()}:null;u=I?.hex??n,p=Br(k=>i(k),I?I.words:s,t.view)}return d?w(Mo,{label:i("Fill"),icon:w(vg,{}),value:d.hex,caption:d.words,onChange:o,changed:!0,onReset:f,resetTo:p,choices:c}):w(Pl,{label:i("Fill"),icon:w(vg,{}),value:e,inherited:u,resetTo:p,onChange:o,onReset:f,choices:c})}function NK(e,o,t){if((e?.content??[]).some(n=>n?.props?.id===o))return St(t);let a=vT(e,o);if(a.length===0)return null;let r=St(qx(t));if(r!==null)return r;for(let n=a.length-1;n>0;n-=1){let s=St(qx(a[n].sectionAccent));if(s!==null)return s}return St(a[0].sectionAccent)}function Bg(){let e=ao(xe().theme),[o]=ua("sectionAccent"),t=null;try{let{appState:r,selectedItem:n}=mf(l=>l),s=n?.props?.id?String(n.props.id):void 0;t=s?NK(r?.data,s,o):null}catch{t=null}let a=t!==null&&e.themes[t]?t:e.selected;return{colors:Do(e.themes[a]),n:a+1}}var MK=[{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 HK({label:e,value:o,onChange:t,points:a=MK}){let r=a.map(n=>({...n,label:i(n.label),...n.title?{title:i(n.title)}:null}));return w(gj,{label:i(e),value:o,points:r,onChange:t})}function ZCe(){return eE()}var dE={top:w(YU,{}),right:w(qU,{}),bottom:w(KU,{}),left:w(VU,{})};function cE(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:HK({label:e,value:x,onChange:p,points:f})})}}}function QCe(e,o,t){return{type:"custom",options:o,render:({value:a,onChange:r,field:n})=>w(VT,{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 eke(e,o={}){return{type:"custom",render:({value:t,onChange:a})=>{let r={value:t,onChange:a,...o};return w(e,{...r})}}}var oke=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function tke(e,o,t){let a=Object.keys(Mh).map(r=>({label:Mh[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(GK,{label:e,icon:o,options:a,onChange:r})}}function WK(e,o,t){let a=KC(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=jC(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 GK({label:e,icon:o,options:t,onChange:a}){let r=es(),n=r?.values??{},s=xl(n),l=L0(DU),d=dc(l?.docId??null),c=null;try{c=mf(u=>u.appState.data)}catch{c=null}let f=fk(r?.id,c,d);return w(no,{label:i(e),icon:Ul(o),hint:WK(n,f,l?.hasUnsavedEdits??!1),children:sf({options:t,value:s,onChange:a,ariaLabel:e})})}function ake(e,o,t,a={}){let r={type:"custom",[HU]:!0,render:({value:n,onChange:s,name:l})=>w(jT,{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?Kt("each",r):r}function $K(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 rke({value:e,onChange:o,label:t}){let a=e||{},r=es(),n=r?r.values!==r.node.props:!0,s=!!a.pending&&n,l=!!a.pending&&!n,d=!!Ue(Fj()).geocode,c=F0(),f=(u,p)=>o({...a,[u]:p??void 0});return ja(ma,{children:[w(no,{label:i(t),icon:w(C0,{}),action:d?w(Tg,{content:i("Find from the address (OpenStreetMap)"),children:w(j0,{"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(rj,{})})}):void 0,children:d&&a.status?w(nT,{compact:!0,oneLine:!0,spaced:!1,status:s?"busy":a.ok&&!l?"found":"notfound",statusText:s?i("Finding\u2026"):l?i(Cx):i(a.status),hint:$K(a)}):null}),w(no,{label:i("Enter by hand"),labelId:c,icon:w(XU,{}),action:w(kg,{checked:!!a.manual,onChange:u=>o({...a,manual:u}),ariaLabelledBy:c})}),a.manual&&w(no,{label:i("Latitude, longitude"),icon:w(C0,{}),children:ja("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,width:"100%",minWidth:0},children:[w(T0,{value:typeof a.lat=="number"?a.lat:null,onChange:u=>f("lat",u),min:-90,max:90,step:1e-4,placeholder:i("Latitude")}),w(T0,{value:typeof a.lng=="number"?a.lng:null,onChange:u=>f("lng",u),min:-180,max:180,step:1e-4,placeholder:i("Longitude")})]})})]})}function zK(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function UK(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 jK(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 Dg={label:"Ticker items",icon:w(oj,{})};function nke(e,o,t,a){return{type:"custom",[pa]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:a},...Ka({},{...Y0.textList,label:e}),render:({value:r,onChange:n})=>w(Ng,{label:e,icon:Ul(o),items:Array.isArray(r)?r:[],placeholder:t,onChange:n,markup:a==="markup"})}}function Ng({label:e,icon:o,items:t,placeholder:a,onChange:r,markup:n=!1}){let s=$l(null),[l,d]=zl(null),c=u=>u.map(p=>({text:p?.text??""})),f=u=>{let p=jK(t,u,l);p===null&&(s.current=null),d(p),r(c(u))};return w(hj,{label:i(e),icon:o,noun:i("item"),items:t,onChange:f,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?w(Px,{target:s,value:zK(t,l),onChange:u=>r(UK(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 fE(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Mr({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:a,onChange:r})=>w(Nr,{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 pE(e){return{_gCards:Pt("Cards"),coverIndex:Tt("Cover image",w(ej,{}),GT,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:eK("Image background",of),cardImage:qK()}}function uE(){return{outline:Tt("Card outline",w(nj,{}),WT,HT),indexBadge:Tt("Card number",w(M0,{}),Lx,Rx),showBadge:FK("Product badge",!0,w(mx,{noun:"tag"}))}}function mE(e){let o=e?.defaults??{showCardSizes:!0,showCardBuy:!0,showCardPage:!0},t=r=>({...uf,label:ff.find(n=>n.id===r).label}),a=r=>Ka(Tj(wg),t(r));return{_gShowOnCard:Pt("Show on a card"),[wg]:Ka({type:"custom",render:()=>w(KK,{rest:{showCardPrice:!0,showCardFinishes:!0,...o}})},t(wg)),showCardFinishes:a("showCardFinishes"),showCardSizes:a("showCardSizes"),showCardBuy:a("showCardBuy"),showCardPage:a("showCardPage")}}var wg="showCardPrice",ff=[{id:"showCardPrice",label:"Price"},{id:"showCardFinishes",label:"Finish swatches"},{id:"showCardSizes",label:"Sizes"},{id:"showCardBuy",label:"Buy button"},{id:"showCardPage",label:"Page button"}];function KK({rest:e}){let o=rt(),t=Al(),a=s=>typeof o[s]=="boolean"?o[s]:void 0,r=s=>a(s)??e[s],n=ff.some(({id:s})=>a(s)!==void 0&&a(s)!==e[s]);return w(os,{parts:ff,changed:n,shown:r,onPress:(s,l)=>t({[s]:l}),onReset:()=>t(Object.fromEntries(ff.map(({id:s})=>[s,void 0])))})}function ske(e,o="display"){let t=fa(o);return{[o]:Kt("desktop",{type:"custom",render:({value:a,onChange:r})=>w(os,{parts:e,changed:PT(a),shown:n=>Pc(a,n),onPress:(n,s)=>r(OT(a,n,s)),onReset:()=>r(void 0)})}),[t]:Kt("mobile",{type:"custom",render:({value:a,onChange:r})=>w(VK,{parts:e,desktopKey:o,value:a,onChange:r})})}}function os({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($U,{}),changed:o,action:w(To,{words:ne()?.panel,label:l,changed:o,detail:n,onReset:r}),children:w(xj,{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 VK({parts:e,desktopKey:o,value:t,onChange:a}){let r=rt()[o];return w(os,{parts:e,changed:ET(t),shown:n=>vx(r,t,n),onPress:(n,s)=>a(_T(t,n,s)),onReset:()=>a(Ac),detail:i("the same as Desktop")})}function qK(){return Q0("Card image",{min:et,max:lr,step:Rk,icon:w(N0,{}),hint:"Rounds the picture. The card's own corner is in Styles."})}function lke(){return _g({sidesKey:"cornerSides",step:Lk,useFollowed:()=>et,mark:w(YK,{label:Fk}),hint:i("Rounds the picture. Left alone it stays square.")})}function YK({label:e,changed:o=!1,onReset:t=()=>{}}){return w(To,{words:ne()?.panel,label:i(e),changed:o,onReset:t})}function ike(){return{type:"custom",render:({value:e,onChange:o})=>w(QK,{value:typeof e=="string"?e:"",onChange:o})}}function XK({layout:e,width:o}){let t=fx(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:Vk(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 JK={width:"3.5rem",height:"2.5rem"},ZK=200;function QK({value:e,onChange:o}){let[t,a]=zl(null),[r,n]=zl(4),s=$l(null);BU(()=>{let p=s.current;if(!p||typeof ResizeObserver!="function")return;let x=()=>n(p.getBoundingClientRect().width>=ZK?4:3);x();let g=new ResizeObserver(x);return g.observe(p),()=>g.disconnect()},[]);let l=e&&e in na?e:"",d=cx(t,l),c=cx(t,"").length,f=gc("no-symbol"),u=[{value:"",label:i("Not chosen"),icon:S0(f,i("Not chosen"))},...d.map(p=>({value:p,label:i(na[p].label),icon:w(XK,{layout:na[p],width:40})}))];return w(no,{label:i("Layout"),icon:w(ZU,{}),value:l?i(na[l].label):void 0,children:w("div",{ref:s,style:{flex:"1 1 auto",minWidth:0},children:w(z0,{label:i("Layout"),value:l,options:u,onChange:o,columns:r,cell:JK,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(cj,{options:[{id:"all",label:i("All")},...jk.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:dx.length})})]})})})})}import{decodePartId as g8}from"efficient-easel/draw";import{decodePartId as Gg,encodePartId as Of}from"efficient-easel/draw";import{LINK_FIELD_MARKER as CE,SCAFFOLD_FIELD_MARKER as wE,TEXT_FIELD_MARKER as _f}from"efficient-easel/draw";import{readHidable as kE}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as s8}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as n8}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as hE}from"efficient-easel/draw";import{readHidable as xE}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as e8}from"efficient-easel/draw";var o8=e8,t8=["text","textarea"],a8=["textarea","plainTextarea"];function r8(e){return!e||typeof e!="object"?null:e[hE]?.control??null}function ts(e){let o=r8(e);return o&&o8.includes(o)?o:null}function kf(e){return a8.includes(e)}function gE(e){return!e||typeof e!="object"?void 0:e[hE]?.placeholder}function Tf(e){return xE(e).text}function Mg(e,o,t){return t8.includes(e)?{text:t,hidden:xE(o).hidden}:t}function IE(e,o,t,a){return Tf(e[o])===a?null:{...e,[o]:Mg(t,e[o],a)}}function as(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function Et(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 Pf(e){if(!(!e||typeof e!="object"))return e[n8]}function Hg(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function bE(e,o){if(!Array.isArray(o))return[];let t=Pf(e),a=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,l)=>{let d=J(s?.[n]);d&&a.push({row:{index:l,rowKey:n},text:d})}),a}let r=Hg(e);return r?(o.forEach((n,s)=>{for(let[l,d]of Object.entries(r)){if(!ts(d))continue;let c=Tf(n?.[l])||Pf(d)?.placeholder||"";c&&a.push({row:{index:s,rowKey:l},text:c})}}),a):[]}function Kl(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function Wg(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 yE(e,o,t,a,r){let n=Kl(e[o],t);return Tf(n)===r?null:Wg(e,o,t,Mg(a,n,r))}function SE(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var Ot="data-sf-part",_ke="data-sf-region-part",Ake="data-sf-part-row";function Rke(e,o){return`${e}[${o}]`}var Lke="data-sf-part-kind",l8="data-sf-part-style-owner",i8="data-sf-part-style-kind";function Fke(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(l8),a=o.getAttribute(i8);if(t&&a)return{owner:t,kind:a};if(o.getAttribute("data-easel-block"))return null}return null}var vE=2;function rs(e){return ta(e).replace(/\s+/gu,"")}function Ef(e,o,t){let a=e[_f];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}=kE(o);r?t.push(r):a.placeholder&&t.push(a.placeholder);return}if(!e[CE]){if(e.type==="text"||e.type==="textarea"){let r=J(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))Ef(s,r?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[r,n]of Object.entries(e.objectFields))Ef(n,o[r],t)}}function $g(e){if(!e||typeof e!="object")return!1;let o=e;return o[CE]?!1:!!o[_f]||o.type==="text"||o.type==="textarea"}function Af(e,o){let t=e[_f];return t?.label?t.label:typeof e.label=="string"?e.label:o}function zg(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function Bke(e,o,t){if(!e)return[];let a=[];for(let[r,n]of Object.entries(e)){if(!n||typeof n!="object"||El(r))continue;let s=n,l=[];Ef(s,o?.[r],l),!l.length&&s[wE]!==void 0&&Ef(s,s[wE],l);let d=Af(s,r);if(t?.(r)&&$g(s)){l.length&&a.push({key:r,label:d,texts:[],keyed:!0});continue}let c=new Set;for(let{row:p,text:x}of bE(s,o?.[r])){let g=rs(x);g.length<vE||(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=rs(p);x.length<vE||f.has(x)||(f.add(x),u.push(x))}u.length&&a.push({key:r,label:d,texts:u})}return a}function Ug(e){return!e.offPage&&!e.hidden&&e.panelOnly!==!0}var d8=s8;function TE(e,o){if(!o||typeof o!="object"||El(e)||FT(o))return null;let t=o[_f];return!t||!d8.includes(t.control)?null:t}function Dke(e,o){let t=TE(e,o);return t!==null&&t.identifier!==!0}function PE(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){let n=TE(a,r);if(!n)continue;let{text:s,hidden:l}=kE(o?.[a]);if(Ug({offPage:n.offPage===!0,hidden:!!l,panelOnly:Un(r)}))continue;let d=s||n.placeholder||"",c=ta(d).replace(/\s+/gu," ").trim();t.push({key:a,label:zg(Af(r,a)),preview:c,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!l})}return t}function ns(e,o){let t=Pf(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?fE(t,o.index):null:Hg(e)?.[o.rowKey]??null}function Rf(e,o,t){let a=e.node.props,{key:r,row:n}=Et(e.propKey),s=n?yE(a,r,n,e.kind,o):IE(a,r,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}import{readHidable as AE}from"efficient-easel/draw";import{isNodeList as c8}from"efficient-easel/data";var jg=e=>String(e+1).padStart(2,"0"),Uke=[{label:"01 \xB7",value:"two-digit"},{label:"1.",value:"plain"}],Kg="two-digit",EE=e=>e==="plain"?"plain":Kg,Lf=(e,o)=>e==="plain"?`${o+1}.`:jg(o);var qg="Contents",Vg="Flex",OE="Text",f8="numberForm",oTe="_contentsEntries",tTe="_kickerNumber",RE="data-sf-kicker-number",p8=e=>AE(e).text.trim(),LE=e=>Ic(e?.anchor),_E=e=>String(e.props?.id??""),u8=e=>!AE(e.props?.text).hidden&&!Ln(e.props)&&!Co(e.props);function Vl(e){return Object.values(e.props??{}).filter(c8)}function FE(e){for(let o of Vl(e))for(let t of o){if(Tl(t.props??{}))continue;if(t.type===OE&&u8(t))return t;if(t.type===OE)continue;let a=FE(t);if(a)return a}}function BE(e){return Vl(e).some(o=>o.some(t=>t&&!Tl(t.props??{})&&(t.type===qg||BE(t))))}var DE=e=>e.type===Vg&&Vn(Vg,e.props?.direction)==="row";function NE(e){return Vl(e).some(o=>o.some(t=>t&&!Tl(t.props??{})&&(t.type===qg||!DE(t)&&NE(t))))}function m8(e){let o=[],t=(a,r)=>{for(let n of a){if(!n||Tl(n.props??{}))continue;if(n.type===qg){r.open={contents:n,sections:r.waiting??[]},r.waiting=null,o.push(r.open);continue}if(DE(n)&&NE(n)){let l={inRow:!0,open:null,waiting:[]};for(let d of Vl(n))t(d,l);r.inRow||(r.open=null);continue}let s=r.open?.sections??r.waiting;if(n.type===Vg&&LE(n.props)&&s&&!BE(n)){s.push({box:n,kicker:FE(n)});continue}for(let l of Vl(n))t(l,r)}};return t(e,{inRow:!1,open:null,waiting:null}),o}function h8(e){return e.map(o=>({label:o.kicker?ta(p8(o.kicker.props?.text)):"",anchor:LE(o.box.props)}))}function aTe(e){let o=e?.length?m8(e):[];if(!o.length)return null;let t=new Map,a=new Map;for(let r of o){let n=_E(r.contents);n&&t.set(n,h8(r.sections));let s=EE(r.contents.props?.[f8]);r.sections.forEach((l,d)=>{let c=l.kicker?_E(l.kicker):"";c&&a.set(c,Lf(s,d))})}return{entries:t,numbers:a}}var rTe=e=>e.endsWith(".")?`${e} `:`${e} \xB7 `;var I8=`[${RE}]`,b8=["bold","italic","underline","strike","link","sup","sub"],y8=["bullet","number"];function Jg(e,o){return e?[...b8,...o?y8:[]]:[]}function ME(e,o){let t=g8(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}=Et(r),c=o.components[n.type]?.fields?.[l],f=d?ns(c,d):c,u=ts(f);if(!u)return null;let p=n.props??{};if(Zx(p)!==null||!d&&Oh(n.type,p,l)||n.type==="Text"&&l==="text"&&Ln(p)||d&&!(Array.isArray(p[l])&&d.index<p[l].length))return null;let x=d?Kl(p[l],d):p[l];return{node:n,selector:s,propKey:r,kind:u,stored:x,offPage:hf(f),panelOnly:Un(f)}}function Ff(e,o){let t=ME(e,o);if(!t)return null;let{text:a,hidden:r}=Va(t.stored);if(!Ug({offPage:t.offPage,hidden:!!r,panelOnly:t.panelOnly}))return null;let n=kf(t.kind);return{partId:e,value:a,rules:fr,multiline:n,skip:I8,offered:Jg(t.kind!=="plainText",n),write:s=>{let l=ME(e,o);l&&Rf({node:l.node,propKey:l.propKey,kind:l.kind,zone:l.selector.zone,index:l.selector.index},s,o.replace)}}}function Zg(e,o,t){return e?.isConnected&&e.getAttribute(Ot)===t?e:o?.querySelector(`[${Ot}="${Bf(t)}"]`)??null}function Bf(e){return e.replace(/["\\]/g,"\\$&")}function HE(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var Yg=null,Xg=new Set;function S8(){return Yg}function Qg(e){if(e!==Yg){Yg=e;for(let o of Xg)o()}}function w8(e){return Xg.add(e),()=>{Xg.delete(e)}}function WE(){return x8(w8,S8,()=>null)}function GE(e,o){if(e.outer)return null;let t=o.getItemById(e.ownerId);if(!t)return null;let a=RC(t.type);return!a||lo(t.props)?null:{node:t,rows:a}}function P8(e,o){let t=GE(e,o),a=o.getItemById(e.nodeId);if(!t||!a)return null;let r=_h(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:v8(e.ownerId,as(t.rows,{index:e.index,rowKey:r}))}function Df(e,o){let t=P8(e,o);return t?Ff(t,o):null}function $E(e,o){return Df(e,o)?.value}function zE(e,o){let t=Df(e,o);return t?(t.write(e.text),!0):!1}function UE(e,o){let t=GE(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=C8(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=k8(n,s,d);break}case"delete":l=T8(n,s);break;default:return!1}return o.replace(a.zone,a.index,{...t.node,props:{...r,[t.rows]:l}}),!0}import{jsx as ve,Fragment as b_,jsxs as ai}from"react/jsx-runtime";import{Fragment as nY,useEffect as sY,useId as lY,useMemo as y_,useRef as iY,useState as qa}from"react";import{useScreenDocument as E_}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as zI}from"efficient-easel/draw/client";import dY from"efficient-easel/screen/components/SidePanelHead";import{jsx as be,Fragment as hs,jsxs as zr}from"react/jsx-runtime";import{useEasel as f_,useRootFields as pq}from"efficient-easel/easel";import{Inspector as uq}from"efficient-easel/fields";import{SettingsGroup as mq}from"efficient-easel/panel";import{useEffect as hq,useRef as xq,useState as WI}from"react";import{jsx as Hr,Fragment as A8,jsxs as R8}from"react/jsx-runtime";import{useState as qE}from"react";import{SettingsDefaultReset as L8,SettingsField as F8}from"efficient-easel/panel";import{useEaselStrings as B8}from"efficient-easel/strings";import{AddIcon as D8}from"efficient-easel/icons";import{Button as N8}from"efficient-shell/ui";import{iconOf as M8,noGlyph as H8}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Nf,Fragment as E8,jsxs as jE}from"react/jsx-runtime";import{Button as KE,Dialog as O8}from"efficient-shell/ui";function _8(e){return Eo("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 VE({count:e,onCancel:o,onConfirm:t}){return jE(O8,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Clear this site\u2019s colors?"),footer:jE(E8,{children:[Nf(KE,{variant:"secondary",onClick:o,children:i("Cancel")}),Nf(KE,{variant:"danger",onClick:t,children:i("Clear colors")})]}),children:[Nf("p",{children:_8(e)}),Nf("p",{className:"mt-2 font-medium",children:i("This cannot be undone.")})]})}var W8=H8("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"),G8="Reset color",$8={selected:0,themes:[]};function z8(e){e($8)}function YE({value:e,onChange:o}){let t=e?.themes??[],a=t.length===0,r=ao(e),[n,s]=qE(!1),l=B8(),[d,c]=qE(null),f=(S,v)=>{o({...r,themes:r.themes.map((b,C)=>C===S?v:b)})},u=wn(r).accent,p=new Set(r.themes.map(S=>S.brandInk).filter(Boolean)),x=lw.filter(S=>!p.has(S)).map(S=>iw(u,S)),g=[...r.themes,...x],I=S=>{if(S<r.themes.length)return o({...r,selected:S});let v=[...r.themes,g[S]];o({...r,themes:v,selected:v.length-1})},k=()=>{let S=[...r.themes,{...Do(r.themes[r.selected])}];o({...r,themes:S,selected:S.length-1}),c(S.length-1)};return R8(A8,{children:[a?null:Hr(F8,{label:i(G8),icon:M8(W8),labelId:"sf-theme-reset",action:Hr(L8,{label:i("all theme colors"),words:l.panel,changed:!0,onReset:()=>s(!0)})}),n&&Hr(VE,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),z8(o)}}),Hr("div",{className:"sf-theme-list",role:"radiogroup","aria-label":i("Theme"),children:g.map((S,v)=>Hr(Fc,{index:v,colors:S,selected:v===r.selected,open:d===v&&v<r.themes.length,editable:v<r.themes.length,onPick:()=>I(v),onEdit:()=>c(b=>b===v?null:v),onChangeColors:b=>f(v,b)},v))}),Hr(N8,{variant:"secondary",leftIcon:Hr(D8,{}),onClick:k,className:"sf-theme-add",children:i("Add new theme")})]})}import{jsx as Mf}from"react/jsx-runtime";import{SettingsDefaultReset as U8,SettingsField as j8}from"efficient-easel/panel";import{SquareIcon as K8}from"efficient-easel/icons";var V8="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",eI="Corners";function XE({value:e,onChange:o}){let t=e===null;return Mf(j8,{label:i(eI),icon:Mf(K8,{}),changed:!t,action:Mf(U8,{words:ne()?.panel,label:i(eI),changed:!t,detail:i("the built-in corners"),onReset:()=>o(null)}),hint:i(V8),children:Mf(Xo,{min:et,max:lr,step:1,value:e,...e===null?{}:{suffix:"px"},placeholder:et,placeholderWord:"Auto",onClear:()=>o(null),ariaLabel:i(eI),onChange:o})})}import{jsx as ql}from"react/jsx-runtime";import{SettingsDefaultReset as q8,SettingsField as Y8}from"efficient-easel/panel";import{IconPicker as X8}from"efficient-shell/ui";import{ShadowIcon as J8}from"efficient-easel/icons";var oI={none:"None",soft:"Soft",lifted:"Lifted"},Z8="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",Q8={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 JE({value:e,onChange:o}){let t=e===null,a=e??Tm;return ql(Y8,{label:i("Card shadow"),icon:ql(J8,{}),value:i(oI[a]),changed:!t,action:ql(q8,{words:ne()?.panel,label:i("Card shadow"),changed:!t,detail:i(oI[Tm]),onReset:()=>o(null)}),hint:i(Z8),children:ql(X8,{label:i("Card shadow"),value:a,options:yw.map(r=>({value:r,label:i(oI[r]),icon:ql("span",{className:"sf-shadow-chip border border-line bg-surface",style:{boxShadow:Q8[r]}})})),onChange:o})})}import{jsx as ZE}from"react/jsx-runtime";import{ShadowIcon as eV}from"efficient-easel/icons";var oV="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 QE({value:e,onChange:o}){let t=e===null;return ZE(Pl,{label:i("Shadow color"),icon:ZE(eV,{}),value:e??"",inherited:Em,resetTo:Em,onChange:o,onReset:()=>o(null),hint:i(oV)})}import{jsx as Wf}from"react/jsx-runtime";import{SettingsDefaultReset as tV,SettingsField as aV}from"efficient-easel/panel";import{AlignSeparateIcon as rV}from"efficient-easel/icons";function Hf(e,o){return e==="tablet"?null:e==="mobile"?o.phone:o.desktop}var nV="The space between the blocks inside a row, a grid or a box. Auto means each one keeps the spacing it already has.",sV="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.",tI="Block gap",eO=Yn.Grid;function oO(e,o){return Hf(e,{desktop:{key:"block_gap",value:o.gap,followsPx:null},phone:{key:"block_gap_phone",value:o.phone,followsPx:o.gap===null?null:cg(o.gap)}})}function tO({value:e,onChange:o,followsPx:t=null}){let a=e===null,r=t===null?null:`${t}px`,n=t===null?eO:Nl(t)??eO;return Wf(aV,{label:i(tI),labelId:"sf-block-gap",icon:Wf(rV,{}),changed:!a,action:Wf(tV,{words:ne()?.panel,label:i(tI),changed:!a,detail:r??i("each block's own spacing"),onReset:()=>o(null)}),hint:i(r===null?nV:sV),children:Wf(Xo,{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(tI),onChange:o})})}import{jsx as Gf}from"react/jsx-runtime";import{SettingsDefaultReset as lV,SettingsField as iV,SettingsSegmented as dV}from"efficient-easel/panel";import{HoverIcon as cV}from"efficient-easel/icons";var aI={none:hr.none,lift:hr.lift,highlight:$m},fV="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 aO({value:e,onChange:o}){let t=e===null,a=e??Pm;return Gf(iV,{label:i("Hover effect"),icon:Gf(cV,{}),value:i(aI[a]),changed:!t,action:Gf(lV,{words:ne()?.panel,label:i("Hover effect"),changed:!t,detail:i(aI[Pm]),onReset:()=>o(null)}),hint:i(fV),children:Gf(dV,{options:Sw.map(r=>({id:r,label:i(aI[r])})),value:a,ariaLabel:i("Hover effect"),onChange:o})})}import{jsx as $f}from"react/jsx-runtime";import{SettingsDefaultReset as pV,SettingsField as uV,SettingsSegmented as mV}from"efficient-easel/panel";import{DropIcon as hV}from"efficient-easel/icons";var rI="Photography",rO={shot:"As shot",mono:"Black and white"},nI=[{grayscale:!1,label:rO.shot},{grayscale:!0,label:rO.mono}],xV="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function nO({value:e,onChange:o}){let t=e===null,a=e??!1;return $f(uV,{label:i(rI),icon:$f(hV,{}),value:i(nI.find(r=>r.grayscale===a).label),changed:!t,action:$f(pV,{words:ne()?.panel,label:i(rI),changed:!t,detail:i(nI.find(r=>!r.grayscale).label),onReset:()=>o(null)}),hint:i(xV),children:$f(mV,{options:nI.map(r=>({id:r.grayscale,label:i(r.label)})),value:a,ariaLabel:i(rI),onChange:o})})}import{jsx as sI}from"react/jsx-runtime";import{useId as gV}from"react";import{SettingsField as IV,SettingsSwitch as bV}from"efficient-easel/panel";import{ShareIcon as yV}from"efficient-easel/icons";var SV="Share button",wV="On every blog post.";function sO({value:e,onChange:o}){let t=gV();return sI(IV,{label:i(SV),labelId:t,icon:sI(yV,{}),action:sI(bV,{checked:e===!0,onChange:o,ariaLabelledBy:t}),hint:i(wV)})}import{usePreviewDevice as GI}from"efficient-easel/draw/client";import{jsx as zf}from"react/jsx-runtime";import{SettingsDefaultReset as vV,SettingsField as CV}from"efficient-easel/panel";import{PaddingXIcon as kV}from"efficient-easel/icons";var lI="Side space",lO=ca.default,TV="The room left at the left and right edge of every page.";function iO(e,o){return Hf(e,{desktop:{key:"site_gutter",value:o.gutter,unsetPx:lO,bounds:ca},phone:{key:"site_gutter_phone",value:o.phone,unsetPx:nf(o.gutter),bounds:Gl}})}function dO({value:e,onChange:o,unsetPx:t=lO,bounds:a=ca}){let r=e===null;return zf(CV,{label:i(lI),labelId:"sf-side-space",icon:zf(kV,{}),changed:!r,action:zf(vV,{words:ne()?.panel,label:i(lI),changed:!r,detail:`${t}px`,onReset:()=>o(null)}),hint:i(TV),children:zf(Xo,{min:a.min,max:a.max,step:a.step,value:e,suffix:"px",placeholder:t,onClear:()=>o(null),ariaLabel:i(lI),onChange:o})})}import{jsx as iI}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as VPe,SettingsBackgroundWidth as PV,SettingsContentWidth as EV}from"efficient-easel/panel";var OV="Background width",_V="Content width";var Uf=e=>i(Lr[e==="content"?"page":"full"]),cO="The width of every section's background.",fO="The width of every section's content.";function pO({value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n,labelId:s}){return iI(PV,{value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n?i(n):void 0,labelId:s,words:{label:i(OV),full:Uf("full"),content:Uf("content")},resetWords:ne()?.panel})}function uO({mode:e,px:o,max:t=xo.max,min:a=xo.min,changed:r,detail:n,fullClosed:s,onMode:l,onPx:d,onReset:c,hint:f,labelId:u}){let p=i(_V),x=e!=="full"?iI(Xo,{min:a,max:t,step:xo.step,value:Math.min(Math.max(o,a),t),onChange:d,suffix:"px",ariaLabel:p}):null;return iI(EV,{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:Uf("full"),content:Uf("content")},resetWords:ne()?.panel})}import{jsx as JO}from"react/jsx-runtime";import{TextStyleItem as $7,TextStylesGroup as z7}from"efficient-easel/text-styles";import{jsx as B7}from"react/jsx-runtime";import{useState as D7}from"react";import{TextStylesList as N7}from"efficient-easel/text-styles";import{usePreviewDevice as M7}from"efficient-easel/draw/client";import{defaultTextStyles as NO,textStyleCaseCss as T7,textStyleViewKey as P7}from"efficient-easel/text-styles/model";import{phoneKey as E7,resolveViewValue as MO,tabletKey as O7}from"efficient-easel/draw";import{VIEW_DESKTOP_MIN as mO,VIEW_TABLET_MIN as hO}from"efficient-easel/draw";var jf=.02,xO=`(min-width: ${ra}px) and (max-width: ${mO-jf}px)`,Kf=`(max-width: ${ra-jf}px)`,Vf=`(min-width: ${hO}px) and (max-width: ${mO-jf}px)`,ss=`(max-width: ${hO-jf}px)`;import{textStyleCaseCss as AV,textStyleCaseOfCss as RV}from"efficient-easel/draw";function ls(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function is(e,o){return ls(e?.[o])??{}}function qf(e,o,t){let a=is(e,o);return Object.hasOwn(a,t)?ls(a[t])??{}:{}}function Yf(e,o,t,a){let{[t]:r,...n}=is(e,o),s=a?{...n,[t]:a}:n,{[o]:l,...d}=e;return Object.keys(s).length?{...d,[o]:s}:d}var uI="_partStyles",mI="data-sf-part-styled",ds="data-sf-text-style",LV=/^(heading|body)-[1-7]$/;function Gr(e){return typeof e=="string"&&LV.test(e)}var Xf={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function FV(e){if(!e)return null;for(let[o,t]of Object.entries(Xf))if(t===e)return o;return null}function hI(e){if(Gr(e.textStyle))return e.textStyle;let o=Qt(e.role);return o?Xf[o]:void 0}var BV=[400,500,600,700],Xl=["left","center","right","justify"],dI=5,cI=1e3,DV=-5,NV=10,xI=0,gI=64,II=2,gO={size:{min:dI,max:cI,step:1},sizeTablet:{min:dI,max:cI,step:1},sizePhone:{min:dI,max:cI,step:1},padding:{min:xI,max:gI,step:II}},MV=.05,HV=.01,WV=["line","letter"],GV=.5,$V=2.5,zV=-1,UV=1,jV=0,KV=400,VV=[...new Set(Object.values(Sn))];function vO(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 p0e(e){return is(e,uI)}function Jl(e,o){return qf(e,uI,o)}function CO(e,o,t){return Yf(e,uI,o,qV(t).length?t:null)}function qV(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function YV(e){return WV.includes(e)}var Yl=(e,o,t)=>Math.min(t,Math.max(o,e));function XV(e,o){if(YV(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Yl(t,DV,NV)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?cs(Yl(t,GV,$V),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?cs(Yl(t,zV,UV),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Yl(t,jV,KV)}if(Object.hasOwn(gO,e)){let{min:t,max:a}=gO[e],r=Math.round(Number(o));return Number.isFinite(r)?Yl(r,t,a):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"||e==="fontRole"?Qt(o)?o:null:e==="sizeToken"?bI(o)?o:null:e==="textStyle"?Gr(o)?o:null:e==="alignPhone"||e==="alignTablet"?Xl.includes(o)?o:null:o}var JV=["weight","size","sizeTablet","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding"];function fs(e){let o=null,t=a=>{o??={...e},delete o[a]};for(let a of JV){let r=e[a];r!==void 0&&!(typeof r=="number"&&Number.isFinite(r))&&t(a)}return e.align!==void 0&&!Xl.includes(e.align)&&t("align"),e.alignTablet!==void 0&&!Xl.includes(e.alignTablet)&&t("alignTablet"),e.alignPhone!==void 0&&!Xl.includes(e.alignPhone)&&t("alignPhone"),e.textStyle!==void 0&&!Gr(e.textStyle)&&t("textStyle"),e.sizeToken!==void 0&&!bI(e.sizeToken)&&t("sizeToken"),e.fontRole!==void 0&&!Qt(e.fontRole)&&t("fontRole"),o??e}function bI(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"&&VV.includes(d);return l(o)&&s(t)&&(a===void 0||l(a))&&(r===void 0||s(r))&&(n===void 0||ZV(n,t))}function ZV(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 yI(e){return e?.pxPhone&&bI(e)?{step:e.stepPhone??e.step,px:e.pxPhone}:null}function kO({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 QV=[["font","role"],["font","fontRole"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function e7(e){let o=[];for(let[t,a]of QV)t===e?o.push(a):a===e&&o.push(t);return o}function xa(e,o,t,a){let r={...Jl(e,o)},n=a==null?null:XV(t,a);if(n===null)delete r[t];else{r[t]=n;for(let s of e7(t))delete r[s]}return CO(e,o,r)}function TO(e,o){return CO(e,o,{})}function o7(e){return RV(e)??"none"}function t7(e){return AV(e)??""}var IO={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 a7(e,o){return Qt(e.role)||(o?.blockDrawsStyle?null:FV(e.textStyle))}function PO(e,o){return e==="Text"&&o==="text"}var r7={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 n7(e){let o=Sn[e],t=r7[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function Zl(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=cs(s7+e.line*MV,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=cs(e.letter*HV,4)),o}var s7=1,Wr="--sf-part-para";function l7(e){e=fs(e);let o={};if(typeof e.sizePhone=="number"&&e.sizePhone>0)o.fontSize=`${e.sizePhone}px`;else{let a=yI(e.sizeToken);if(a)o.fontSize=kO(a);else{let r=Zf(e);r!==void 0&&(o.fontSize=`${r}px`)}}let t=e.alignPhone??Jf(e);return t&&(o.textAlign=t),o}function Jf(e){return e.alignTablet&&e.alignTablet!==e.align?e.alignTablet:void 0}function Zf(e){let o=Ko("textSize",e.size,e.sizeTablet,void 0).tablet;return o&&o>0?o:void 0}function i7(e){let o=fs(e),t={},a=Zf(o);a!==void 0&&(t.fontSize=`${a}px`);let r=Jf(o);return r&&(t.textAlign=r),t}function EO(e,o){if(o==="desktop")return;let t=fs(e);return(o==="mobile"?Jf(t):void 0)??t.align}function d7(e,o){if(o==="desktop")return e;let t=fs(e),a=Zf(t),r=Jf(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=yI(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 SI(e,o,t){return vI(d7(e,o),Qf,t)}function wI(e){return e==="mobile"?"sizePhone":e==="tablet"?"sizeTablet":"size"}function OO(e,o){if(o==="desktop")return null;let t=fs(e);if(o==="mobile"){if(yI(t.sizeToken))return null;let a=Zf(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 _O(e,o){let t=wI(o);if(!Object.hasOwn(e,t))return e;let a={...e};return delete a[t],a}function u0e(e,o,t){let a=SI(_O(e,o),o,t);return{fontFamily:a.fontFamily,fontSize:a.fontSize}}function vI(e,o,t){e=fs(e);let a=a7(e,t),r=Zl(e),n=e.size?`${e.size}px`:e.sizeToken?kO(e.sizeToken):a?n7(a):"";return{fontFamily:e.font?u7(e.font):e.fontRole?`var(${IO[e.fontRole]})`:a?`var(${IO[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`:"",[Wr]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:t7(e.case),textAlign:e.align??"",paddingTop:bO(e.padding),paddingBottom:bO(e.padding),color:c7(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var c7=e=>Wn(e),bO=e=>e===void 0?"":`${e}px`,cs=(e,o)=>Number(e.toFixed(o));function m0e(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:f7(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(a)?cs(a/t,3):1.2,letterEm:Number.isFinite(r)?cs(r/t,4):0,align:p7(e.textAlign),case:o7(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0}}function f7(e){return Number.isFinite(e)?BV.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function p7(e){for(let o of Xl)if(o===e)return o;return e==="end"?"right":"left"}function h0e(e,o){let t=yO(e);if(!t)return"";for(let a of xt)if(yO(o(a.cssVar))===t)return a.key;return""}var yO=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function u7(e){let o=yn(e);return o?`var(${o.cssVar})`:""}function x0e(e,o,t,a){return!o||Gg(o)?.nodeId!==e?null:t.find(r=>a(r.getAttribute("class")))??t[0]??null}function m7(e,o){return Object.hasOwn(e,o)?ls(e[o])??{}:{}}function g0e(e,o,t=()=>Qf,a=l=>l,r=g7,n="desktop",s=()=>!1){let l=0;for(let{element:d,partId:c}of e){let f=Gg(c)?.propKey;if(!f)continue;let u=m7(o,a(f)),p=SI(u,n,{blockDrawsStyle:s(f)});Gr(u.textStyle)?d.setAttribute?.(ds,u.textStyle):d.removeAttribute?.(ds);let x=fI.some(I=>d.style[I]),g=!1;for(let[I,k]of Object.entries(p))y7(d,I,k),k&&(g=!0);if(x||fI.some(I=>p[I]))for(let I of h7(d,r))for(let k of fI)I.style[k]=p[k]??"";g&&(l+=1)}return l}function h7(e,o){let t=rs(e.textContent??""),a=[],r=e;for(let n=0;n<x7&&o(r);n+=1){let s=r.parentElement;if(!s||rs(s.textContent??"")!==t)break;a.push(s),r=s}return a}var x7=8;function g7(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Qf={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0};function I7(e){if(!e||typeof e!="object")return null;let o={};return Gr(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 b7(e,o){let t=I7(e);if(!t)return{};let a=SI(t,o);return{...a.fontFamily?{fontFamily:a.fontFamily}:{},...a.fontSize?{fontSize:a.fontSize}:{}}}function AO(e){return Gr(e?.textStyle)||!!e?.role||typeof e?.size=="number"&&e.size>0}function I0e(e,o,t){if(!e||typeof e!="object")return{};let a=Jd(e.role,o,Sn)??{},r=o.sized?b7(_O(e,t),t):{};return{...a,...r}}function b0e(e,o,t){t.fontFamily&&e.fontFamily===t.fontFamily&&(e.fontFamily=o.fontFamily),t.fontSize&&e.fontSize===t.fontSize&&(e.fontSize=o.fontSize)}function y7(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===Wr&&(t?r.setAttribute?.(SO,""):r.removeAttribute?.(SO))}var SO="data-sf-part-para",S7=Object.keys(vI({},Qf)),pI=new Set(["color","overflowWrap",Wr,"fontStyle"]),fI=S7.filter(e=>!pI.has(e));function RO(e,o,t,a=l=>l,r=()=>!1,n=()=>null,s=[]){let l=new Map;for(let u of e){let p=as(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(!w7(u))continue;let p=wO(t,u,ls(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=ls(o[p])??{};return wO(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(as(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 wO(e,o,t,a,r){let n=vI(t,Qf,{blockDrawsStyle:a}),s=i7(t),l=l7(t),d=Gr(t.textStyle)?t.textStyle:void 0;return!Object.values(n).some(Boolean)&&!Object.keys(s).length&&!Object.keys(l).length&&!d&&!r?null:{stamp:v7(e,o),declarations:n,...Object.keys(s).length?{tablet:s}:{},...Object.keys(l).length?{phone:l}:{},...d?{textStyle:d}:{},...r?{motion:r}:{}}}function w7(e){return e.startsWith("@")}function CI(e,o){return e?.kindRules.get(o)??null}function v7(e,o){let t=a=>a.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function LO(e,{inBox:o=!1}={}){let t=o?xO:Vf,a=o?Kf:ss,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(([v,b])=>`${C7(v)}: ${b}`).join("; "),p=`[${mI}="${d}"]`,x=f.filter(([S])=>!pI.has(S)),g=f.filter(([S])=>pI.has(S));x.length&&r.push(`${p}, *:has(> ${p}) { ${u(x)} }`),g.length&&r.push(`${p} { ${u(g)} }`),c[Wr]&&(r.push(`*:has(> ${p}) { ${Wr}: ${c[Wr]} }`),r.push(...ep(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 ep(e,o){let t=`var(${Wr})`,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 C7=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function FO(e,o){if(!e)return null;let t=rs(o),a=e.rules.get(t);if(a)return a;if(t.length<k7||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 k7=8;function BO(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 kI=e=>e==="sentence"?"none":void 0,HO=["font","color","size","sizeTablet","sizePhone","weight","italic","lineHeight","lineHeightTablet","lineHeightPhone","letterSpacing","letterSpacingTablet","letterSpacingPhone","paragraphSpacing","paragraphSpacingTablet","paragraphSpacingPhone","letterCase","largestSize","largestSizeTablet","largestSizePhone"],ps=["desktop","tablet","phone"],Ql=(e,o)=>o==="desktop"?e:o==="tablet"?O7(e):E7(e),$r=(e,o)=>o==="desktop"?e:P7(e,o);function EI(e,o,t,a=gr()){return MO("textSize",o,e.sizeTablet,e.sizePhone,a)[t]}var _7=[["lineSpacing","lineHeight","line"],["letterSpacing","letterSpacing","letter"]];function TI(e){for(let[o,t,a]of _7)for(let r of ps)if(e===$r(o,r))return{key:Ql(t,r),view:r,spacing:a};return{key:e,view:"desktop",spacing:null}}function Vt(e){let o={};for(let t of HO)e[t]!==void 0&&(o[t]=e[t]);return o}function OI(e,o){let{auto:t,...a}=e,r=new Set(o??[]),n=HO.filter(s=>r.has(s)&&e.values[s]===void 0);return n.length?{...a,auto:n}:a}function WO(e){let o=e.fonts,t=e.sizes,a=e.typography,r=vw(e.compression),n={"heading-1":{font:J(o.heading),size:j(t.headingLarge),weight:j(a.weight),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:kI(a.case),largestSize:j(a.maxPx)},"heading-2":{font:J(o.heading2),size:j(t.headingMedium),weight:j(a.weight2),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:kI(a.case2)},"heading-3":{font:J(o.heading3),size:j(t.headingSmall),weight:j(a.weight3),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:kI(a.case3)},"body-1":{font:J(o.body),size:j(t.body)},"body-5":{font:J(o.label),size:j(t.label)}};return NO().map(({id:s,kind:l,name:d})=>({id:s,kind:l,name:d,values:Vt(n[s]??{})}))}function _I(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=>OI({...o,values:Vt(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function R0e(e){return _I(e)??[]}function GO(e){return _I(e)??NO().map(({id:o,kind:t,name:a})=>({id:o,kind:t,name:a,values:{}}))}function ga(e,o){let t=WO(o),a=_I(e);return a?a.map(r=>{let n={...PI(t,r.id)};for(let s of r.auto??[])delete n[s];return{...r,values:Vt({...n,...r.values})}}):t}var PI=(e,o)=>e.find(t=>t.id===o)?.values??{},DO=["heading-1","heading-2","heading-3"];function $O({saved:e,old:o,cur:t,next:a,sizeOf:r,panelView:n="desktop"}){let s=WO(o),l=GO(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=A7([p],r,n)[0],F=T.values.color;return F===void 0?T:{...T,values:{...T.values,color:qo(F)}}}let I={...g.values},k=new Set(g.auto??[]),S=p.values,v=x.values,b=[...new Set([...Object.keys(S),...Object.keys(v)])].filter(T=>JSON.stringify(S[T])!==JSON.stringify(v[T])),C=T=>TI(T).spacing==="letter";b.sort((T,F)=>Number(C(T))-Number(C(F)));for(let T of b){let{key:F,view:P,spacing:D}=TI(T),O=F,R=S[T];if(R===void 0){delete I[O],PI(s,p.id)[O]!==void 0&&(c.push([p.id,O]),k.add(O));continue}if(k.delete(O),D==="line")I[O]=us(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[TI(L).key];let y=Vt({...N,...I}),A=EI(y,r({...p,values:y}),P);I[O]=A?us(R/A,4):0}else I[O]=R}return OI({id:p.id,kind:p.kind,name:p.name,values:Vt(I)},k)}),u=o.compression;if(c.some(([p,x])=>(x==="lineHeight"||x==="letterSpacing")&&DO.includes(p))&&ir(u)!=="normal"){for(let p of DO){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]=PI(s,p)[I]);x.values=Vt(g)}u="normal"}return{saved:f,old:{...o,compression:u}}}function zO(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=ir(e.old.compression)),t}var us=(e,o)=>Number(e.toFixed(o)),UO=(e,o)=>ps.indexOf(e)<ps.indexOf(o)?o:e;function jO(e,o,t="desktop"){return e.map(a=>{let r={...a.values},n=o(a);for(let s of ps){let l=Ql("lineHeight",s),d=a.values[l],c=a.values[Ql("letterSpacing",s)];delete r[l],d!==void 0&&(r[$r("lineSpacing",s)]=us(d*100,1));let f=UO(s,t);c!==void 0&&(r[$r("letterSpacing",s)]=us(c*EI(a.values,n,f),f===s?2:4))}return{id:a.id,kind:a.kind,name:a.name,values:r}})}function A7(e,o,t="desktop"){return e.map(a=>{let r=a.values,n={...r};for(let c of ps)delete n[$r("lineSpacing",c)],delete n[$r("letterSpacing",c)];let s={id:a.id,kind:a.kind,name:a.name,values:Vt(n)},l={...s.values},d=o({...s,values:{...s.values}});for(let c of ps){let f=r[$r("lineSpacing",c)],u=r[$r("letterSpacing",c)];if(typeof f=="number"&&(l[Ql("lineHeight",c)]=us(f/100,3)),typeof u=="number"){let p=EI(s.values,d,UO(c,t));l[Ql("letterSpacing",c)]=p?us(u/p,4):0}}return{...s,values:Vt(l)}})}function L0e(e){let o={fonts:qs({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:km({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:ir(e.heading_compression),typography:kw(e)},t=e.text_styles??null,a=Array.isArray(t)?AI(ga(t,o),o):o;return{fonts:qs(a.fonts),sizes:km(a.sizes),compression:ir(a.compression),typography:a.typography,textStyles:t}}function AI(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 F0e(e){let o=[];for(let t of e){let a=t.values,r=`.${BO(t)}`,n=`[${ds}="${t.id}"]`,s=`${r}, ${n}`,l=[],d=a.font!==void 0?xt.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=Wn(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=T7(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(...ep(`:is(${s})`,`*:has(> ${n})`))),o.push(...R7(t,s,r,n))}return o.join(`
|
|
61
|
-
`)}function R7(e,o,t,a){let r=e.values,n=Ko("textSize",r.size,r.sizeTablet,r.sizePhone),s=Ko("textSize",r.largestSize,r.largestSizeTablet,r.largestSizePhone),l=Ko("same",r.lineHeight,r.lineHeightTablet,r.lineHeightPhone),d=Ko("same",r.letterSpacing,r.letterSpacingTablet,r.letterSpacingPhone),c=Ko("spacing",r.paragraphSpacing,r.paragraphSpacingTablet,r.paragraphSpacingPhone),f=MO("textSize",r.size,r.sizeTablet,r.sizePhone,gr()),u=L7[e.id],p=[];for(let[x,g]of[["tablet",Vf],["phone",ss]]){let I=[],k=[],S=f[x],v=s[x],b=n[x]===void 0&&v===void 0||S===void 0?void 0:v===void 0?S:Math.min(S,v);b!==void 0&&k.push(`font-size: ${b}px`);let C=[];l[x]!==void 0&&C.push(`line-height: ${l[x]}`),d[x]!==void 0&&C.push(`letter-spacing: ${d[x]}em`),e.kind==="body"&&k.push(...C),c[x]!==void 0&&k.push(`--sf-part-para: ${c[x]}px`),k.length&&I.push(`${o} { ${k.join("; ")} }`),e.kind==="heading"&&C.length&&I.push(`${o}, ${t}:is(h1, h2, h3, h4), ${a}:is(h1, h2, h3, h4) { ${C.join("; ")} }`),c[x]!==void 0&&I.push(`*:has(> ${a}) { --sf-part-para: ${c[x]}px }`),c[x]!==void 0&&!r.paragraphSpacing&&I.push(...ep(`: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 L7={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function B0e(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function KO(e){return e?Xf[e]:void 0}function RI(e){let o=Zl(e);return Vt({font:e.font,color:e.color===void 0?void 0:qo(e.color),size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function VO(e){return Object.keys(RI(e)).length>0}function qO({saved:e,old:o,styleId:t,values:a}){let r=GO(e);return{saved:F7(r,t,a),old:o}}function F7(e,o,t){return e.map(a=>a.id===o?OI({...a,values:Vt({...a.values,...t})},a.auto):a)}var H7={desktop:"desktop",tablet:"tablet",mobile:"phone"},YO=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],W7=["size","lineSpacing","letterSpacing","letterCase"],G7=500,LI=xt.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function XO({saved:e,old:o,colours:t,colourNameOf:a,sizeOf:r,onChange:n,openId:s,onOpenChange:l,readOnly:d=!1,withoutSize:c=!1}){let f=M7(),[u,p]=D7(null),x=ga(e,o),g=H7[f],I=jO(x,r,g);return B7(N7,{styles:I,onChange:k=>n($O({saved:e,old:o,cur:I,next:k,sizeOf:r,panelView:g})),fonts:LI,colours:t,colourNameOf:a,settings:c?YO.filter(k=>k!=="size"):YO,auto:W7,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")),v={};return S?.values.font&&k.id!==S.id&&(v.font=S.values.font),k.kind==="heading"&&(v.weight=G7),v}})}var ZO=["font","size","weight","emphasis"],U7=500;function j7({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 K7(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 QO(e){let{headingWeight:o,open:t,onOpenChange:a,onChange:r,withoutSize:n=!1}=e,s=j7(e);return JO(z7,{label:i("Emphasis"),children:JO($7,{style:s,fonts:LI,settings:n?ZO.filter(l=>l!=="size"):ZO,auto:["size"],fallback:()=>({weight:o??U7}),open:t,onOpenChange:a,onChange:l=>K7(s,l).forEach(r)})})}import{EmptyState as gq,SliderGroup as Iq,Tabs as bq,Tooltip as aOe,tabButtonId as yq,tabPanelId as Sq}from"efficient-shell/ui";import{ContrastIcon as wq,SettingsIcon as vq,TypeIcon as Cq}from"efficient-easel/icons";function e_(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 NI}from"react/jsx-runtime";import{ListIcon as nq,PaddingTopIcon as sq}from"efficient-easel/icons";import{jsx as op}from"react/jsx-runtime";import{SettingsDefaultReset as V7,SettingsField as q7,SettingsSegmented as Y7}from"efficient-easel/panel";import{WidthIcon as X7}from"efficient-easel/icons";function o_({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 op(q7,{label:c,labelId:r,icon:op(X7,{}),value:l?n:void 0,changed:!l,action:op(V7,{words:ne()?.panel,label:c,changed:!l,onReset:()=>t(void 0)}),hint:s,children:op(Y7,{options:[{label:i(Lr.full),id:"full"},{label:i(Lr.page),id:"content"}],value:d,ariaLabel:c,onChange:t})})}import{HEADER_TYPE as FI,FOOTER_TYPE as J7}from"efficient-easel/draw";var Z7=new Set(["Hero","HeroSingle","IntroBleed"]),t_={min:56,max:140,default:88},rEe={min:0,max:120,step:2,default:32},nEe=`var(--sf-header-h, ${t_.default}px)`,Q7="--sf-header-set-h",sEe="--sf-header-h",lEe=`var(${Q7}, ${t_.default}px)`,iEe="sf-header-clearance",dEe="sf-sticky-underheader";function eq(e){return e?.find(o=>o?.type&&o.type!==FI)??null}function a_(e){let o=eq(e)?.type;return!o||!Z7.has(o)}function cEe(e){return!a_(e)}function fEe(e){return!!e?.some(o=>o?.type===FI)}function pEe(e){return!e||e.length===0?!1:!e.some(o=>o?.type===FI||o?.type===J7)}var oq=["auto","shared","own"],BI="auto",tq="topSpace",uEe="data-top-space";function aq(e){return oq.includes(e)?e:BI}function rq(e,o){let t=aq(e?.props?.[tq]);return t==="own"?!0:t==="shared"?!1:a_(o)}function mEe(e,o){return rq(e,o)?"own":null}function lq(){return{type:"custom",render:({value:e,onChange:o})=>NI(o_,{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 iq=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],kEe={pageBackground:iE(),topSpace:Tt("Top space",NI(sq,{}),iq,BI),widthChoice:lq()},ei=["pageBackground","topSpace","widthChoice"],dq="Record type",DI=new Map,r_=-1;function cq(e){r_!==Zh()&&(DI.clear(),r_=Zh());let o=Jh(),t=o.some(r=>r.key===e)?"":e,a=DI.get(t);return a||(a=Tt(dq,NI(nq,{}),[...o.map(r=>({label:r.label,value:r.key})),...t?[{label:t,value:t}]:[]],Fa),DI.set(t,a)),a}var n_=new WeakMap;function TEe(e,o){if(!yl()||Jh().length<2||fc in e)return e;let t=cq(bl(o)),a=n_.get(e);if(a&&a.row===t)return a.fields;let r={[fc]:t,...e};return n_.set(e,{row:t,fields:r}),r}import{previewFrame as kq}from"efficient-easel/screen/lib/document/preview-dom";var s_="background";function l_(e){let o=Do(wn(e));return Gn({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 i_(e){return l_(e).filter(o=>o.key!==s_)}function d_(e){let o=l_(e).filter(t=>t.key===s_);return t=>{let a=qo(t);return o.find(r=>r.key===a)?.value??a}}import{useEasel as fq}from"efficient-easel/easel";function tp({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=fq(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?qs(I.fonts):r,S=e?gw:s,v=e?ir(I.headingCompression):d,b=e?Cw(I.headingTypography):f,C={fonts:k,sizes:S,compression:v,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:v,typography:b,old:C,saved:T,write:(P,D)=>{let O=AI(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(zO(P,C),D)},writeRoot:F}}var HI="sf-site-styles",Tq="sf-site-styles-tabpanel",p_="text",xs="basics",c_="this-page-group",ms=[{id:xs,label:"Basics",icon:be(vq,{})},{id:"theme",label:"Theme",icon:be(wq,{})},{id:"text",label:"Text",icon:be(Cq,{})}];function Pq({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=f_(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(YE,{value:e?l.theme:r,onChange:d})}function Eq({themeFromDocument:e,persist:o}){let[t,a]=WI(null),{theme:r,setFonts:n,setSizes:s,setHeadingTypography:l}=xe(),d=tp({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??Rq(Oq[P.id]??"body")??_q[P.kind],k=P=>d.write(P),S=i_(r),v=d_(r),b=P=>{let D={...p,accent:P};e?u({fonts:D}):n(D),o({accent_font:P})},C=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 zr(hs,{children:[be(XO,{saved:f,old:c,colours:S,colourNameOf:v,sizeOf:I,onChange:k,openId:t===MI?null:t,onOpenChange:a,withoutSize:e}),be(QO,{font:p.accent,size:x.accent,weight:g.weightStrong,italic:g.italicStrong,headingWeight:g.weight,open:t===MI,onOpenChange:P=>a(P?MI:null),onChange:P=>{P.key==="font"?b(P.value):P.key==="size"?C(P.value):P.key==="weight"?T(P.value):F(P.value)},withoutSize:e})]})}var MI="accent",Oq={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},_q={heading:32,body:14},Aq={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 Rq(e){if(typeof document>"u")return null;let o=(kq()?.contentDocument??document).querySelector(Aq[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function Lq({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=f_(u=>u),{cornerRadiusPx:r,setCornerRadiusPx:n}=xe(),s=t.data,l=s.root?.props??{},d=l.cornerRadiusPx===void 0?bw[Iw(l.cornerStyle)]:Mt(l.cornerRadiusPx),c=e?d:r,f=u=>a({type:"replaceRoot",root:{...s.root,props:{...l,...u}},recordHistory:!0});return be(XE,{value:c,onChange:u=>{e?f({cornerRadiusPx:u}):n(u),o({corner_radius_px:u})}})}function Fq(e){return{site_width:e}}function Bq({persist:e}){let{siteWidth:o,setSiteWidth:t,sectionBackgroundWidth:a,setSectionBackgroundWidth:r,sectionContentWidth:n,setSectionContentWidth:s}=xe();if(GI()!=="desktop")return null;let l=typeof o=="number"?o:xo.default,d=u=>{t(u),e(Fq(u),u===null)},c=u=>{r(u),e({section_background_width:u},!0)},f=u=>{s(u),e({section_content_width:u},!0)};return zr(hs,{children:[be(pO,{value:a??"full",changed:a!==null,detail:i("Full width"),onChange:c,onReset:()=>c(null),hint:cO}),be(uO,{mode:n??"content",px:l,min:xo.min,max:xo.max,changed:typeof o=="number"||n!==null,detail:`${i("Content width")} ${xo.default}px`,onMode:f,onPx:u=>d(u),onReset:()=>{f(null),d(null)},hint:fO})]})}function Dq(e){return{block_gap:e}}function Nq(e){return{block_gap_phone:e}}function Mq(e){return{site_gutter:e}}function Hq(e){return{site_gutter_phone:e}}function u_(e,[o,t],a){o(e),a(t(e),e===null)}function Wq({persist:e}){let{siteGutter:o,siteGutterPhone:t,setSiteGutter:a,setSiteGutterPhone:r}=xe(),n=iO(GI(),{gutter:o,phone:t});if(!n)return null;let s=n.key==="site_gutter_phone"?[r,Hq]:[a,Mq];return be(dO,{value:n.value,onChange:l=>u_(l,s,e),unsetPx:n.unsetPx,bounds:n.bounds})}function Gq({persist:e}){let{blockGap:o,blockGapPhone:t,setBlockGap:a,setBlockGapPhone:r}=xe(),n=oO(GI(),{gap:o,phone:t});if(!n)return null;let s=n.key==="block_gap_phone"?[r,Nq]:[a,Dq];return be(tO,{value:n.value,onChange:l=>u_(l,s,e),followsPx:n.followsPx})}function $q({persist:e}){return zr(hs,{children:[be(Bq,{persist:e}),be(Wq,{persist:e}),be(Gq,{persist:e})]})}function zq(e){return{card_shadow:e}}function Uq(e){return e===null?{shadow_color:null}:{shadow_color:ww(e)}}function jq(e){return{hover_effect:e}}function Kq({persist:e}){let{cardShadow:o,setCardShadow:t,shadowColor:a,setShadowColor:r,hoverEffect:n,setHoverEffect:s}=xe();return zr(hs,{children:[be(JE,{value:o,onChange:l=>{t(l),e(zq(l),!0)}}),be(QE,{value:a,onChange:l=>{r(l),e(Uq(l),l===null)}}),be(aO,{value:n,onChange:l=>{s(l),e(jq(l),!0)}})]})}function Vq(e){return{photography_grayscale:e}}function qq({persist:e}){let{photographyGrayscale:o,setPhotographyGrayscale:t}=xe();return be(nO,{value:o,onChange:a=>{t(a),e(Vq(a),!0)}})}function Yq({persist:e}){return be(hs,{children:be(qq,{persist:e})})}function Xq(e){return{share_button_on_posts:e}}function Jq({persist:e}){let{shareButtonOnPosts:o,setShareButtonOnPosts:t}=xe();return be(sO,{value:o,onChange:a=>{t(a),e(Xq(a),!0)}})}function gs(){let{websiteName:e}=xe();return e?.trim()||Ww}function ap({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:a,tab:r,onTabChange:n,initialTab:s,revealPageGroup:l=!1,onPageGroupRevealed:d}){let{persist:c}=jn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:k=>{let S=e_(k);S&&a?.(S.msg,S.tone)}}),[f,u]=WI(s??ms[0].id),p=r!==void 0,x=p?r:f,g=p?n??(()=>{}):u,I=ms.find(k=>k.id===x)??ms[0];return zr(Iq,{children:[be(eY,{activeId:I.id,onSelect:g}),zr("div",{id:Sq(HI,I.id),className:Tq,role:"tabpanel","aria-labelledby":yq(HI,I.id),children:[x===xs&&zr(hs,{children:[be(Lq,{themeFromDocument:e,persist:c}),!e&&be(Kq,{persist:c}),!e&&be($q,{persist:c}),!e&&be(Yq,{persist:c}),!e&&be(Jq,{persist:c}),be(Zq,{reveal:l,onRevealed:d})]}),x==="theme"&&be(Pq,{themeFromDocument:e,persist:c}),x==="text"&&be(Eq,{themeFromDocument:e,persist:c})]})]})}function Zq({reveal:e,onRevealed:o}){let[t,a]=WI(!0),r=xq(o);return r.current=o,hq(()=>{if(!e)return;a(!0);let n=requestAnimationFrame(()=>{document.getElementById(c_)?.scrollIntoView({block:"start"}),r.current?.()});return()=>cancelAnimationFrame(n)},[e]),be(mq,{title:i("This page"),open:t,onToggle:a,id:c_,children:be(Qq,{})})}function Qq(){let{fields:e,values:o,readOnly:t,onChange:a}=pq(),r=Object.fromEntries(ei.filter(n=>n in e).map(n=>[n,e[n]]));return Object.keys(r).length===0?be(gq,{variant:"none",icon:!1,message:i("This page has no look of its own to set.")}):be(uq,{fields:r,values:o,onChange:a,readOnly:t,tabs:!1,idPrefix:"this-page",ariaLabel:i("This page")})}function eY({activeId:e,onSelect:o}){return be("div",{className:"es-insp-tabs",children:be(bq,{variant:"underline",block:!0,labelsFit:!0,"aria-label":i("Styles"),idPrefix:HI,value:e,onChange:o,items:ms.map(t=>{let a=i(t.label);return{id:t.id,icon:t.icon,label:a}})})})}import{InspectorIconButton as cY}from"efficient-easel/chrome";import{Button as S_,Dialog as fY,FormField as pY,Input as w_,PopupMenu as uY,PopupMenuItem as v_,toast as C_}from"efficient-shell/ui";import{LayersTree as mY,TreeGroupLabel as hY,TreeRow as k_,TreeRowAction as lp}from"efficient-easel/tree";import{AddIcon as xY,DuplicateIcon as gY,PageIcon as IY,SettingsIcon as bY}from"efficient-easel/icons";import{PagesIcon as yY}from"efficient-easel/rail";import{useEaselHost as SY}from"efficient-easel/screen/lib/host";import{useEaselSession as O_}from"efficient-easel/screen/lib/session-context";import{useCallback as rp,useEffect as oY,useSyncExternalStore as tY}from"react";import{useScreenDocument as g_}from"efficient-easel/screen/components/ScreenDocumentContext";var m_=new WeakMap;function oi(e){let o=m_.get(e);return o||(o={rows:null,loading:null,listeners:new Set},m_.set(e,o)),o}function $I(e,o){e.rows=o;for(let t of e.listeners)t()}var np=new Set;function sp(e,o){o?np.add(e):np.delete(e)}function h_(e){let o=oi(e),t=e.listPages().then(a=>$I(o,np.size?a.filter(r=>!np.has(r.id)):a),()=>$I(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var x_=()=>null,aY=()=>()=>{};function ti(){let{adapter:e,ready:o}=g_(),t=rp(l=>{let{listeners:d}=oi(e);return d.add(l),()=>d.delete(l)},[e]),a=rp(()=>oi(e).rows,[e]),r=tY(o?t:aY,o?a:x_,x_);oY(()=>{if(!o)return;let l=oi(e);l.rows===null&&!l.loading&&h_(e)},[e,o]);let n=rp(()=>o?h_(e):Promise.resolve(),[e,o]),s=rp(l=>$I(oi(e),l),[e]);return{rows:r,reload:n,setRows:s,getRows:a}}function rY(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function I_(){let{currentSlug:e}=g_(),{rows:o}=ti();return rY(o,e)}import{canDuplicatePage as wY,DuplicatePageDialog as vY,uniqueSlug as T_}from"efficient-easel/page-copy";var P_="sf-editor-pages-collapsed-groups";function CY(){let e=O_(),{siteId:o,templateId:t}=E_(),a=Ue(e).pages;if(!(!a.duplicate||t))return(r,n)=>a.duplicate(r.id,{...n,...o?{siteId:o}:{}})}function kY(){try{let e=En()||(typeof window>"u"?"":window.location.origin);return e?new URL(e).host:""}catch{return""}}function __({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:a}){let r=O_().chrome?.pageRows,n=SY(),{adapter:s,capabilities:l,ready:d,currentSlug:c}=E_(),f=gs(),{rows:u,reload:p,setRows:x,getRows:g}=ti(),[I,k]=qa(""),[S,v]=qa(!1),[b,C]=qa(null),[T,F]=qa(!1),[P,D]=qa(""),O=lY(),R=CY(),[N,y]=qa(null),[A,L]=qa(()=>{if(typeof window>"u")return new Set;try{let W=window.localStorage.getItem(P_);return new Set(W?JSON.parse(W):[])}catch{return new Set}});sY(()=>{try{window.localStorage.setItem(P_,JSON.stringify([...A]))}catch{}},[A]);let H=W=>L(Fe=>{let le=new Set(Fe);return le.has(W)?le.delete(W):le.add(W),le}),X=y_(()=>Pk(u??[]),[u]),q=I.trim().toLowerCase(),U=W=>!q||W.toLowerCase().includes(q),ge=W=>q?!0:!A.has(W),te=y_(()=>new Set((u??[]).map(W=>W.slug)),[u]),Le=()=>{if(l.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}D(""),C(null),F(!0)},We=async()=>{let W=P.trim();if(!(!W||!d||S||!s.createPage)){v(!0),C(null);try{let Fe=await s.createPage({slug:T_(W,te),title:W,layout:{}});await p(),F(!1),D(""),e(Fe.slug)}catch{C(i("Couldn\u2019t add the page \u2014 please retry."))}finally{v(!1)}}},Ee=l.hasSiteSettings&&!!s.createPage,Ie=async()=>{if(!(!d||S||!s.createPage)){v(!0),C(null);try{let W=await s.createPage(FP(i("New popup"),te));await p(),e(W.slug)}catch{C(i("Couldn\u2019t add the popup \u2014 please retry."))}finally{v(!1)}}},Oe=iY(null),[Ge,to]=qa(null),wo=()=>{if(!Ee)return Le();if(Ge)return to(null);let W=Oe.current?.getBoundingClientRect();W&&to({top:W.bottom+6,right:Math.max(8,window.innerWidth-W.right)})},he=W=>{let Fe=u??[],le=s.deletePage;if(!d||S||!le||Fe.length<=1)return;let Be=Fe.findIndex(Ze=>Ze.id===W.id),Ae=Fe.filter(Ze=>Ze.id!==W.id),ut=W.slug===c;sp(W.id,!0),x(Ae),C(null),ut&&Ae[0]&&e(Ae[0].slug);let Dt=()=>{sp(W.id,!1);let Ze=g()??[];if(Ze.some(Nt=>Nt.id===W.id))return;let mt=[...Ze];mt.splice(Math.max(0,Math.min(Be,mt.length)),0,W),x(mt)};C_.undoable(i("Deleted \u201C{name}\u201D",{name:W.label}),{actionLabel:i("Undo"),commit:async Ze=>{await le(W.id,Ze),sp(W.id,!1)},undo:()=>{Dt(),ut&&e(W.slug)},onFail:()=>{Dt(),C_.error(i("Couldn\u2019t delete the page \u2014 please retry."))}})},Ve=W=>n.send("storefront-editor:open-page",{slug:W}),_e=W=>{if(!U(W.label))return null;let Fe=!t&&W.slug===c,le=l.canDeletePagesInline&&(u??[]).length>1,Be=Cr(W),Ae=Tk(W),ut=[...Be?[{label:i("Dynamic"),tone:"info"}]:[],...Ae?[{label:i("Lightbox"),tone:"success"}]:[],...W.draft?[{label:i("draft"),tone:"draft"}]:[]],Dt=ut.length>0?ut:void 0,Ze=!!R&&wY(W),mt=Ze||l.pageCreationInAdminForm||le?ai(b_,{children:[Ze&&ve(lp,{kind:"plain",label:i("Duplicate \u201C{name}\u201D",{name:W.label}),disabled:S,onClick:()=>y(W),children:ve(gY,{size:13})}),l.pageCreationInAdminForm&&ve(lp,{kind:"plain",label:i("Page settings for \u201C{name}\u201D",{name:W.label}),onClick:()=>Ve(W.slug),children:ve(bY,{size:13})}),le&&ve(lp,{kind:"delete",label:i("Delete \u201C{name}\u201D",{name:W.label}),disabled:S,onClick:()=>he(W),children:ve(zI,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return ve(k_,{icon:ve(IY,{size:14}),name:W.label,selected:Fe,onSelect:()=>e(W.slug),badge:Dt,actions:mt,rowProps:{"data-page-slug":W.slug}},W.id)},ke=(W,Fe,le)=>{let Be=le.filter(Boolean);if(Be.length===0)return null;let Ae=ge(W);return ai(nY,{children:[ve(hY,{count:Be.length,countLabel:Eo("{n} page","{n} pages",Be.length),expanded:Ae,onToggle:()=>H(W),children:Fe}),Ae&&Be]},W)},Je=(r?.rows??[]).filter(W=>U(W.label)).map(W=>{let Fe=t===W.key;return ve(k_,{icon:W.icon,name:W.label,selected:Fe,onSelect:()=>a(W.key),badge:{label:i("Preview"),tone:"warning"},actions:ve(lp,{kind:"plain",label:i("Open the {name} in a new tab",{name:W.label}),onClick:()=>window.open(W.href,"_blank","noopener,noreferrer"),children:ve(zI,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":W.key}},W.key)}),Bt=l.hasSiteSettings&&!!r,Bo=(()=>{if(u===null)return null;let W=[],Fe=!1;for(let le of X){Bt&&!Fe&&le.key.startsWith("system:")&&(W.push(ke("shop",r.title,Je)),Fe=!0);let Be=le.key===ox||le.label===ex?i(le.label):le.label;W.push(ke(le.key,Be,le.rows.map(_e)))}return Bt&&!Fe&&W.push(ke("shop",r.title,Je)),W})();return ai("div",{className:"sf-pages",children:[ve(dY,{icon:ve(yY,{}),title:i("Pages"),context:f,actions:ve(cY,{buttonRef:Oe,label:Ee?i("Add"):i("New page"),hasPopup:Ee?"menu":void 0,expanded:Ee?Ge!==null:void 0,onClick:wo,children:ve(xY,{size:15})})}),Ge&&ve(uY,{portal:!0,style:{top:Ge.top,right:Ge.right},onClose:()=>to(null),children:ai("div",{role:"menu","aria-label":i("Add"),children:[ve(v_,{role:"menuitem",onClick:()=>{to(null),Le()},children:i("Page")}),ve(v_,{role:"menuitem",disabled:S,onClick:()=>{to(null),Ie()},children:i("Popup")})]})}),ve("div",{className:"sf-pages-find",children:ve(w_,{type:"search",leftIcon:ve(zI,{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&&ve("div",{className:"sf-note sf-note--error",role:"alert",children:b}),Bo===null?ve("div",{className:"sf-note",children:i("Loading\u2026")}):Bo.some(Boolean)?ve(mY,{ariaLabel:i("Pages"),className:"sf-scroll",children:Bo}):ve("div",{className:"sf-note",children:I.trim()?i("No pages match your search"):i("No pages yet. Add one with + above.")}),R&&N&&ve(vY,{source:{title:N.label,slug:N.slug},taken:te,host:kY(),duplicate:W=>R(N,W),onClose:()=>y(null),onDuplicated:W=>{y(null),p(),e(W.slug)}},N.id),ve(fY,{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:ai(b_,{children:[ve(S_,{variant:"secondary",onClick:()=>F(!1),children:i("Cancel")}),ve(S_,{onClick:()=>{We()},disabled:S||!P.trim(),loading:S,children:i("Add page")})]}),children:ve(pY,{label:i("Page name"),htmlFor:O,hint:P.trim()?i("URL: /{slug}",{slug:T_(P,te)}):void 0,error:b??void 0,children:ve(w_,{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 L_}from"react/jsx-runtime";import{createContext as PY,useCallback as EY,useContext as OY,useMemo as _Y,useState as AY}from"react";import{CanvasChromeContext as RY}from"efficient-easel/easel";import{useSelectHandler as LY}from"efficient-easel/draw/client";import{parseHexColor as TY}from"efficient-shell/format";var ip=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],Is=ip[0];var Ur="right";function dp(e){return ip.includes(e??"")?e:Is}function A_(e){return e==="left"?"left":Ur}function R_(e){return e&&TY(e)===e.toLowerCase()?e.toLowerCase():""}var F_="chat",cp={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:Ur,launcherLabel:"",showOnPhones:!0};function VOe(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:R_(e.launcherColor),launcherIcon:e.launcherIcon?dp(e.launcherIcon):"",launcherPosition:A_(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var B_=PY({chat:cp,setChat:()=>{},setSelected:()=>{},setSelectHandler:()=>{}});function qOe({children:e,chat:o=cp,onChatChange:t}){let[a,r]=AY(!1),n=EY(c=>t?.(c),[t]),{select:s,setSelectHandler:l}=LY(),d=_Y(()=>({selected:()=>a?F_:null,select:c=>c===F_&&s()}),[a,s]);return L_(B_.Provider,{value:{chat:o,setChat:n,setSelected:r,setSelectHandler:l},children:L_(RY.Provider,{value:d,children:e})})}var fp=()=>OY(B_);import{jsx as UI}from"react/jsx-runtime";import{DesktopIcon as FY,PhoneIcon as BY,TabletIcon as DY}from"efficient-easel/icons";import{VIEW_TIERS as NY,VIEW_TIER_LABEL as MY}from"efficient-easel/draw";var HY={desktop:UI(FY,{}),tablet:UI(DY,{}),mobile:UI(BY,{})},D_=NY.map(e=>({id:e,get label(){return i(MY[e])},icon:HY[e]}));import{PreviewDeviceContext as Nde}from"efficient-easel/draw/client";import{jsx as WY}from"react/jsx-runtime";import{createContext as GY,useCallback as N_,useContext as $Y,useMemo as zY,useRef as UY}from"react";var jY=Object.fromEntries(Ed.map(e=>[e,{value:"",error:null}])),M_=GY({links:$w,rows:jY,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function r_e({children:e,value:o}){let t=UY(()=>{}),a=N_(()=>t.current(),[]),r=N_(s=>{t.current=s},[]),n=zY(()=>({...o,openPanel:a,setOpenHandler:r}),[o,a,r]);return WY(M_.Provider,{value:n,children:e})}var ri=()=>$Y(M_);import{jsx as KY}from"react/jsx-runtime";import{createContext as VY,useContext as qY,useMemo as YY,useState as XY}from"react";var H_=VY(null);function i_e({children:e}){let[o,t]=XY(null),a=YY(()=>({surface:o,setSurface:t}),[o]);return KY(H_.Provider,{value:a,children:e})}function W_(){return qY(H_)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as JY}from"efficient-easel/draw/client";var ni="Scrolling Bar",{Provider:f_e,useSelection:G_}=JY("selectedHeroId"),p_e="data-sf-hero-ticker";function u_e(e){return`${e}::ticker`}function m_e(e){return!e||!e.endsWith("::ticker")?null:e.slice(0,-8)||null}var $_=["","","","","",""],z_="#ticker",si="strip",jI={sectionAccent:ot,line:!1};function ZY(e){return(Array.isArray(e.tickerItems)?e.tickerItems:[]).map(o=>typeof o?.text=="string"?o.text:"").filter(o=>o.trim()!=="")}function KI(e){return ZY(e).length>0}function g_e(e){return e.showTicker!==!1&&KI(e)}import{createPreviewSelectionContext as QY}from"efficient-easel/draw/client";var{Provider:y_e,useSelection:pp}=QY("selectedHeroPart");var j_=["one","side","stacked"];var w_e={one:"One",side:"Side by side",stacked:"Stacked"};function up(e){return j_.includes(e)?e:"one"}function U_(e){return e==="one"?1:2}function VI(e,o){if(j_.includes(e))return e;let t=up(o);return t==="side"?"stacked":t}function li(e){let o=up(e.mediaLayout);return Math.max(U_(o),U_(VI(e.mediaLayoutPhone,o)))}var jr=["media","image","image2"],Kr={media:"Media",image:"Image",image2:"Image 2"},ii={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function mp(e,o){return e==="image"&&li(o)>1?"Image 1":Kr[e]}var T_e="Video file",P_e="Upload a video file";function e9(e,o){return{field:"mediaType",is:e,default:o}}var o9=new Set(["HeroSingle"]),K_="heroPart";function t9(e,o){return{...o,[K_]:e}}function E_e(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]=$e(n[l],e9(s,a));for(let[s,l]of Object.entries(r??{}))l&&(n[s]=$e(n[s],l));for(let s of jr)for(let l of o[s]??[])n[l]=t9(s,n[l]);return n}function a9(e){let o=e?.[K_];return jr.includes(o)?o:null}function V_(e,o){let t={};for(let[a,r]of Object.entries(e))a9(r)===o&&(t[a]=r);return t}function q_(e){if(!o9.has(e.type))return[];let o=[{part:"media",label:Kr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:mp("image",e.props),depth:1}),li(e.props)>1&&o.push({part:"image2",label:mp("image2",e.props),depth:1})),o}function di(e,o){return`${e}::${o}`}function Y_(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return jr.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var X_="data-sf-hero-part";import{jsx as Se,jsxs as tr,Fragment as mD}from"react/jsx-runtime";import{useEasel as ane,useRootFields as rne}from"efficient-easel/easel";import{Button as nne,EmptyState as sne}from"efficient-shell/ui";function J_({kind:e,pageName:o}){return{name:o?.trim()||i("This page"),kindLabel:Cr({kind:e})?i("Template"):i("Page")}}import{headWords as ID,InspectorHead as lne,InspectorIconButton as hD}from"efficient-easel/chrome";import{DuplicateIcon as ine,TrashIcon as dne}from"efficient-easel/icons";import{panelFieldsOf as cne}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 s9,BlockBoxIcon as l9,BlockButtonIcon as i9,BlockDividerIcon as Q_,BlockFooterIcon as e1,BlockHeadingIcon as d9,BlockProductIcon as c9,BlockSocialIcon as f9,BlockTextIcon as p9,CardPaymentIcon as u9,ChatIcon as m9,AccountIcon as h9,GlobeIcon as x9,GridIcon as g9,ImageIcon as YI,MapIcon as I9,MediaIcon as b9,PageIcon as y9}from"efficient-easel/icons";import{jsx as qI,Fragment as r9,jsxs as n9}from"react/jsx-runtime";var Z_=n9(r9,{children:[qI("circle",{cx:"9",cy:"20",r:"1.3"}),qI("circle",{cx:"18",cy:"20",r:"1.3"}),qI("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 S9={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:Z_,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"})},w9=B("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),v9={footer:e1,Footer:e1,Divider:Q_,FooterDivider:Q_,Banner:s9,Flex:l9,FooterSocial:f9,FooterPayment:u9,page:y9,website:x9,AccountBlock:h9,chat:m9,Heading:d9,Text:p9,ImageBlock:YI,ButtonBlock:i9,LocationMap:I9,Grid:g9,ProductRef:c9,heroMedia:b9,heroImage:YI,heroImage2:YI},C9={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",PaymentLogosBlock:"FooterPayment",SiteHeader:"header",SiteFooter:"footer"};function Vr({type:e,size:o=16,className:t}){let a=C9[e]??e,r=v9[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:S9[a]??w9})}import{PanelHideButton as xD}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as fne}from"efficient-easel/screen/lib/session-context";import{jsx as Ce,jsxs as ci,Fragment as k9}from"react/jsx-runtime";import{useEffect as T9,useId as o1,useState as P9}from"react";import{IconPicker as E9}from"efficient-shell/ui";import{SettingsDefaultReset as O9,SettingsField as fi,SettingsSegmented as _9,SettingsSwitch as t1}from"efficient-easel/panel";import{ButtonIcon as A9,ButtonIconIcon as R9,EyeIcon as L9,PhoneIcon as F9,PlacementIcon as B9,TypeIcon as D9}from"efficient-easel/icons";var N9="Chat with us",M9="We usually reply within a few minutes",H9="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function hp({label:e,value:o,placeholder:t,onCommit:a,multiline:r=!1,hint:n}){let[s,l]=P9(o);T9(()=>l(o),[o]);let d=()=>{s!==o&&a(s)};return Ce(fi,{label:e,icon:Ce(D9,{}),changed:o!=="",action:Ce(pi,{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 pi({label:e,changed:o,onReset:t}){return Ce(O9,{words:ne()?.panel,label:e,changed:o,onReset:t})}function W9({label:e,icon:o,checked:t,fallback:a,onChange:r,hint:n}){let s=o1();return Ce(fi,{label:e,labelId:s,icon:o,changed:t!==a,action:ci("span",{className:"inline-flex items-center gap-2",children:[Ce(t1,{checked:t,onChange:r,ariaLabelledBy:s}),Ce(pi,{label:e,changed:t!==a,onReset:()=>r(a)})]}),hint:n})}var G9=ip.map(e=>({value:e,icon:gc(e)}));function $9(){let{theme:e}=xe(),o=ao(e).themes[0];return Ys(o)??o?.accent??""}function a1(){let{chat:e,setChat:o}=fp(),t=o1(),a=$9(),r=e.launcherIcon?dp(e.launcherIcon):Is;return ci(k9,{children:[Ce(fi,{label:i("Show the chat bubble"),labelId:t,icon:Ce(L9,{}),changed:!e.enabled,action:ci("span",{className:"inline-flex items-center gap-2",children:[Ce(t1,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),Ce(pi,{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.")}),ci(Og,{title:i("Look"),children:[Ce(Mo,{label:i("Button color"),icon:Ce(A9,{}),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(fi,{label:i("Icon"),icon:Ce(R9,{}),value:Ce(bg,{value:r}),changed:r!==Is,action:Ce(pi,{label:i("Icon"),changed:r!==Is,onReset:()=>o({launcherIcon:""})}),children:Ce(E9,{label:i("Icon"),value:r,options:G9,onChange:n=>o({launcherIcon:n===Is?"":n})})}),Ce(fi,{label:i("Position"),icon:Ce(B9,{}),changed:e.launcherPosition!==Ur,action:Ce(pi,{label:i("Position"),changed:e.launcherPosition!==Ur,onReset:()=>o({launcherPosition:Ur})}),children:Ce(_9,{options:[{label:i("Right"),id:"right"},{label:i("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:i("Position"),onChange:n=>o({launcherPosition:n})})}),Ce(hp,{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(W9,{label:i("Show on phones"),icon:Ce(F9,{}),checked:e.showOnPhones,fallback:cp.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),ci(Og,{title:i("Wording"),children:[Ce(hp,{label:i("Title"),value:e.title,placeholder:N9,onCommit:n=>o({title:n})}),Ce(hp,{label:i("Subtitle"),value:e.subtitle,placeholder:M9,onCommit:n=>o({subtitle:n})}),Ce(hp,{label:i("Greeting message"),value:e.greeting,placeholder:H9,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 qr,Fragment as gb,jsxs as i1}from"react/jsx-runtime";import{useEffect as IX,useId as s1,useState as l1}from"react";import{SettingsField as bX}from"efficient-easel/panel";import{jsx as dX}from"react/jsx-runtime";import{forwardRef as z9,createElement as XI}from"react";var r1={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 ie=(e,o,t,a)=>{let r=z9(({color:n="currentColor",size:s=24,stroke:l=2,title:d,className:c,children:f,...u},p)=>XI("svg",{ref:p,...r1[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&&XI("title",{key:"svg-title"},d),...a.map(([x,g])=>XI(x,g)),...Array.isArray(f)?f:[f]]));return r.displayName=`${t}`,r};var U9=[["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"}]],JI=ie("outline","brand-facebook","BrandFacebook",U9);var j9=[["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"}]],ZI=ie("outline","brand-instagram","BrandInstagram",j9);var K9=[["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"}]],QI=ie("outline","brand-line","BrandLine",K9);var V9=[["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"}]],eb=ie("outline","brand-linkedin","BrandLinkedin",V9);var q9=[["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"}]],ob=ie("outline","brand-pinterest","BrandPinterest",q9);var Y9=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],tb=ie("outline","brand-telegram","BrandTelegram",Y9);var X9=[["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"}]],ab=ie("outline","brand-tiktok","BrandTiktok",X9);var J9=[["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"}]],rb=ie("outline","brand-wechat","BrandWechat",J9);var Z9=[["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"}]],nb=ie("outline","brand-whatsapp","BrandWhatsapp",Z9);var Q9=[["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"}]],sb=ie("outline","brand-x","BrandX",Q9);var eX=[["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"}]],lb=ie("outline","brand-youtube","BrandYoutube",eX);var oX=[["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"}]],ib=ie("filled","brand-facebook-filled","BrandFacebookFilled",oX);var tX=[["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"}]],db=ie("filled","brand-instagram-filled","BrandInstagramFilled",tX);var aX=[["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"}]],cb=ie("filled","brand-linkedin-filled","BrandLinkedinFilled",aX);var rX=[["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"}]],fb=ie("filled","brand-pinterest-filled","BrandPinterestFilled",rX);var nX=[["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"}]],pb=ie("filled","brand-tiktok-filled","BrandTiktokFilled",nX);var sX=[["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"}]],ub=ie("filled","brand-whatsapp-filled","BrandWhatsappFilled",sX);var lX=[["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"}]],mb=ie("filled","brand-x-filled","BrandXFilled",lX);var iX=[["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"}]],hb=ie("filled","brand-youtube-filled","BrandYoutubeFilled",iX);var fAe="outline",xp={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},cX={},xb={fillRule:"evenodd"},fX=[["path",{...xp,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...xb,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],pX=[["path",{...xp,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",{...cX,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("")}]],uX=[["path",{...xp,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",{...xp,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",{...xb,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",{...xb,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("")}]],mX=ie("filled","brand-telegram-filled","BrandTelegramFilled",fX),hX=ie("filled","brand-line-filled","BrandLineFilled",pX),xX=ie("filled","brand-wechat-filled","BrandWechatFilled",uX),gX={instagram:{outline:ZI,solid:db},facebook:{outline:JI,solid:ib},tiktok:{outline:ab,solid:pb},youtube:{outline:lb,solid:hb},x:{outline:sb,solid:mb},linkedin:{outline:eb,solid:cb},pinterest:{outline:ob,solid:fb},whatsapp:{outline:nb,solid:ub},telegram:{outline:tb,solid:mX},line:{outline:QI,solid:hX},wechat:{outline:rb,solid:xX}};function n1({platform:e,iconStyle:o,size:t}){let a=gX[e][o];return dX(a,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var yX={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 SX({platform:e}){let{rows:o,saveLink:t}=ri(),{value:a,error:r}=o[e],[n,s]=l1(a),[l,d]=l1(!1),c=s1(),f=s1();IX(()=>s(a),[a]);let u=async()=>{if(n.trim()===a){n!==a&&s(a);return}d(!0),await t(e,n),d(!1)},p=Gw[e];return i1(gb,{children:[qr(bX,{label:i(p),htmlFor:c,icon:qr(n1,{platform:e,iconStyle:"outline",size:18}),children:qr("input",{id:c,type:"text",inputMode:"url",value:n,placeholder:yX[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&&qr("p",{id:f,className:"sf-note sf-note--error",role:"alert",children:r})]})}function d1({unavailable:e}){let{canSave:o}=ri();return!o&&e?qr(gb,{children:e}):i1(gb,{children:[qr("p",{className:"es-field-hint",children:i("Paste a link to each profile. A platform left empty shows nothing on the site.")}),Ed.map(t=>qr(SX,{platform:t},t))]})}import{jsx as Zr,Fragment as cQ,jsxs as fQ}from"react/jsx-runtime";import{useId as pQ,useMemo as uQ}from"react";import{useEasel as mQ}from"efficient-easel/easel";import{SettingsField as hQ,SettingsSwitch as xQ}from"efficient-easel/panel";import{EyeIcon as gQ}from"efficient-easel/icons";import{fieldShownInView as IQ}from"efficient-easel/fields";import{usePreviewDevice as bQ}from"efficient-easel/draw/client";import{jsx as Xr,Fragment as DJ,jsxs as NJ}from"react/jsx-runtime";import{createContext as MJ,useContext as HJ,useLayoutEffect as $1,useMemo as Op,useRef as z1,useState as Tb}from"react";import{useEasel as U1,useSelectedFields as WJ}from"efficient-easel/easel";import{fieldShownInView as GJ,Inspector as $J,planFields as Pb}from"efficient-easel/fields";function c1({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 wJ}from"efficient-easel/screen/lib/document/box-fields";import{deviceField as vJ,deviceMetaOf as O1}from"efficient-easel/screen/lib/document/device-fields";import{jsx as De,Fragment as RX,jsxs as LX}from"react/jsx-runtime";import{useRef as S1}from"react";import{phoneKey as Ia}from"efficient-easel/draw";import{SettingsDefaultReset as FX}from"efficient-easel/panel";import{ClockIcon as BX,DirectionDownIcon as DX,DirectionIcon as NX,DirectionLeftIcon as MX,DirectionRightIcon as HX,DirectionUpIcon as WX,DurationIcon as GX,EntranceBounceIcon as $X,EntranceFadeIcon as zX,EntranceFlipIcon as UX,EntranceGlideIcon as jX,EntranceRevealIcon as KX,EntranceRiseIcon as VX,EntranceScaleIcon as qX,EntranceSpinIcon as YX,NoSymbolIcon as XX}from"efficient-easel/icons";import{effectTiles as JX}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as ws}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as ZX,noControlField as QX}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{customize as eJ,describedAs as w1,group as oJ,onDesktopWords as tJ,phoneTwinFields as aJ}from"efficient-easel/screen/lib/document/box-fields";import{ENTRANCE_FROM as rJ,ENTRANCE_FROM_DEFAULT as v1,ENTRANCE_KINDS as Tp,ENTRANCE_KINDS_WITH_FROM as b1,MOTION_TIMING as nJ,entranceAttrs as sJ,playEntrance as lJ,readEntrance as iJ}from"efficient-shell/format";import{jsx as yb}from"react/jsx-runtime";import{ClockIcon as kX,DurationIcon as TX}from"efficient-easel/icons";import{MOTION_TIMING as x1}from"efficient-shell/format";import{useSelectedHost as PX}from"efficient-easel/easel";import{MOTION_EASING as wX,MOTION_TIMING as f1,motionSeconds as p1}from"efficient-shell/format";var Ib="none",gp=[{label:"None",value:"none"},{label:"Marquee",value:"scroll"}];function CAe(e){return mo(gp,Ib,e)}var ui={field:"loop",is:"scroll"},mi="left",bb=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],vX={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function u1(e){return mo(bb,mi,e)}function kAe(e){return e==="up"||e==="down"}function m1(e){return p1("loop","duration",e.loopDuration!=null?e.loopDuration:e.speed)}var TAe=f1.loop.duration.default,CX=f1.loop.delay.default;function h1(e){return p1("loop","delay",e.loopDelay)}function PAe(e,o,t=CX){return`${vX[e]} ${o}s ${wX.loop}${t?` ${t}s`:""} infinite`}function bs(e){let{min:o,max:t,step:a,default:r}=x1[e].duration;return Wo("Duration",yb(TX,{}),o,t,a,r,"s")}function ys(e){let{min:o,max:t,step:a,default:r}=x1[e].delay;return Wo("Delay",yb(kX,{}),o,t,a,r,"s")}function Ss(e,o){let t=e.render,a=r=>{let n=PX();return t({...r,value:o(r.value,n?.values)})};return{...e,render:r=>yb(a,{...r})}}function Ip({readsSpeed:e}){return Ss(bs("loop"),(o,t)=>m1({loopDuration:o,speed:e?t?.speed:void 0}))}function bp(){return Ss(ys("loop"),e=>h1({loopDelay:e}))}import{phoneKey as EX}from"efficient-easel/draw";import{readEntrance as OX}from"efficient-shell/format";var Sp="sf-entrance",Te={kind:"entrance",from:"entranceFrom",duration:"entranceDuration",delay:"entranceDelay"},wp="sectionAnimation",g1=e=>e!=null&&e!=="";function _X(e,o){let t=e[Te[o]];return o==="kind"&&!g1(t)?e[wp]:t}function yp(e,o,t){if(t==="phone"){let a=e[EX(Te[o])];if(g1(a))return a}return _X(e,o)}function hi(e,o){return OX(yp(e,"kind",o),yp(e,"from",o),yp(e,"duration",o),yp(e,"delay",o))}function vp(e){let o=hi(e,"desktop"),t=hi(e,"phone");return o.kind==="none"&&t.kind==="none"?null:{desktop:o,phone:t}}var AX={...Object.fromEntries([...lP].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)"},HAe=new Set(Object.keys(AX));var I1="_gEntrance";var Sb={none:"None",fade:"Fade",rise:"Rise",scale:"Scale",glide:"Glide",bounce:"Bounce",flip:"Flip",reveal:"Reveal",spin:"Spin"},dJ={top:"Top",bottom:"Bottom",left:"Left",right:"Right"},cJ={top:()=>De(DX,{}),bottom:()=>De(WX,{}),left:()=>De(HX,{}),right:()=>De(MX,{})},wb="Entrance",Cp=Tp.filter(e=>e!=="none"),kp=e=>({any:[{field:Te.kind,in:e},{all:[{field:Te.kind,set:!1},{field:wp,in:e}]}]}),y1=e=>({any:[{field:Ia(Te.kind),in:e},{all:[{field:Ia(Te.kind),set:!1},kp(e)]}]}),fJ={any:[kp(Cp),{field:Ia(Te.kind),in:Cp}]},pJ=[[[Te.from],kp(b1)],[[Ia(Te.from)],y1(b1)],[[Te.duration,Te.delay],kp(Cp)],[[Ia(Te.duration),Ia(Te.delay)],y1(Cp)]],uJ={none:()=>De(XX,{}),fade:()=>De(zX,{}),rise:()=>De(VX,{}),scale:()=>De(qX,{}),glide:()=>De(jX,{}),bounce:()=>De($X,{}),flip:()=>De(UX,{}),reveal:()=>De(KX,{}),spin:()=>De(YX,{})},C1="data-entrance-tile";function mJ({kind:e}){let{attrs:o}=sJ(iJ(e,v1));return De("span",{className:"sf-entrance-stage",[C1]:e,children:De("i",{...o,children:uJ[e]()})})}var hJ=e=>o=>{let t=e.current?.querySelector(`[${C1}="${o}"] > i`);t&&lJ(t)},k1=e=>JX({label:i(wb),options:Tp.map(o=>({value:o,label:i(Sb[o]),picture:De(mJ,{kind:o})})),fallback:"none",onPreview:e?hJ(e):void 0});function T1({row:e,children:o}){return De("div",{ref:e,style:{display:"contents"},children:o})}function xJ({value:e,onChange:o}){let t=rt(),a=hi({...t,[Te.kind]:e},"desktop").kind,r=S1(null);return De(T1,{row:r,children:k1(r).render({value:a,onChange:n=>o(n??"none")})})}function gJ({value:e,onChange:o}){let t=rt(),a=typeof e=="string"&&Tp.includes(e),r=hi(t,"desktop").kind,n=S1(null);return LX(RX,{children:[De(T1,{row:n,children:k1(n).render({value:a?e:r,onChange:o})}),a&&De(FX,{words:ne()?.panel,label:i(IJ),changed:a,detail:tJ(s=>i(s),i(Sb[r])),onReset:()=>o(void 0)})]})}var IJ="Effect",P1={type:"select",label:wb,options:Tp.map(e=>({value:e,label:Sb[e]}))},bJ=()=>w1({type:"custom",render:({value:e,onChange:o})=>De(xJ,{value:e,onChange:o})},P1),yJ=()=>w1({type:"custom",render:({value:e,onChange:o})=>De(gJ,{value:e,onChange:o})},P1),SJ=rJ.map(e=>({label:dJ[e],value:e,picture:cJ[e]()}));function _t(){let{duration:e,delay:o}=nJ.entrance,t={[I1]:oJ(wb,{dot:fJ}),[Te.kind]:ws("desktop",bJ()),[wp]:QX({type:"custom",render:()=>De(ZX,{})},"always"),[Ia(Te.kind)]:ws("mobile",yJ()),_cEntrance:eJ(),...aJ(Te.from,Fr("From",De(NX,{}),SJ,v1)),[Te.duration]:ws("desktop",bs("entrance")),[Ia(Te.duration)]:ws("mobile",yf({label:"Duration",desktopKey:Te.duration,icon:De(GX,{}),min:e.min,max:e.max,step:e.step,fallback:e.default,unit:"s"})),[Te.delay]:ws("desktop",ys("entrance")),[Ia(Te.delay)]:ws("mobile",yf({label:"Delay",desktopKey:Te.delay,icon:De(BX,{}),min:o.min,max:o.max,step:o.step,fallback:o.default,unit:"s"}))};return Sh(t,pJ)}import{DESIGN_GROUPS as Cb,SETTINGS_BUCKETS as CJ}from"efficient-easel/panel";import{BUCKET_KEY as Jo,DESIGN_GROUP_KEY as xi}from"efficient-easel/screen/lib/document/field-buckets";var gi=CJ;var kJ="Editor only \u2014 not shown live",kb={"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",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",[kJ]:"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"},_1={"AlloyWheelsListing._gCards":"Design"},A1={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function vb(e,o,t){let a=`${e}.${o}`;return A1[a]??_1[a]??kb[t]}function R1(e){return e==="Animation"?[Jo.Animation]:[Jo.Design,xi[e]]}function Pp(...e){let o=[];for(let t of e)for(let a of Object.values(t)){let r=O1(a),n=ha(r?r.inner:a),s=n?kb[n.label]:void 0;if(s)for(let l of R1(s))o.includes(l)||o.push(l)}return o}var mRe=[...Pp(df({tablet:!0}),Sf("full"),wf(),Cf(),Rg()),...Object.keys(df({tablet:!0})),...Object.keys(Sf("full")),...Object.keys(wf()),...Object.keys(Cf()),...Object.keys(Rg())],hRe=[...Pp(gf()),...Object.keys(gf())],xRe=[...Pp(bf()),...Object.keys(bf())],gRe=[...Pp(_t()),...Object.keys(_t())],TJ=Object.keys(pE()),PJ=new Set(["cardImage","imageBackground"]),IRe=[...R1(vb("ProductGrid","_gCards","Cards")??"Design"),...TJ.filter(e=>e.startsWith("_g")||PJ.has(e))],bRe=Object.keys(uE()),yRe=Object.keys(mE()),EJ={"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)"},L1={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},F1={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...df({tablet:!0}),...Sf("full"),...wf(),...Cf(),...gf(),...bf(),..._t()};for(let o of Object.keys(F1)){let t=ha(e[o]),a=t?kb[t.label]:void 0;if(!t||t.level!==2||!a||!L1[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 OJ=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),_J=new Map([[Jo.Design,"Content"],[Jo.Animation,"Animation"],...Cb.map(e=>[xi[e],e])]);function B1(e){let o=new Set([...Object.values(Jo),xi.Content]);for(let[t,a]of Object.entries(e))if(!o.has(t)&&ha(a)?.level===1)return 1;return 2}function AJ(e){let o=`${e}.`;return Object.keys(EJ).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function RJ(e,o){let t=O1(e),a=wJ(o);return t?vJ(t.tier,a):a}function LJ(e,o){let t=ha(o);return t?e==="Content"||e==="Animation"?J0(o,t.label):Z0(o):o}function E1(e){return e==="Design"?Cb:["Animation"]}function D1(e,o){let t=[],a=new Set(AJ(o)),r=new Set,n=!1,s=null;for(let[p,x]of Object.entries(e)){let g=ha(x);if(OJ.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=_J.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===Jo.Design||p===Jo.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 F1){let S=vb(o,p,g.label);if(g.level!==2||!S||!L1[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=vb(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 ${[...Cb,"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:RJ(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",A1],["KEY_GROUP",_1]]){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=gi.filter(p=>E1(p).some(x=>c.has(x))),u={};for(let p of f){u[Jo[p]]=xf(p,p===f[0]?f:null);for(let x of E1(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[xi[x]]=Eg(x));for(let k of g)for(let[S,v]of k.entries)u[S]=LJ(x,v)}}return u}function SRe(e){return Jo.Design in e?e:{[Jo.Design]:xf("Design",null),[xi.Content]:Eg("Content"),...e}}function wRe(e){return gi.some(o=>Jo[o]in e)}function vRe(e){let o=gi.filter(a=>Jo[a]in e);if(o.length===0)return e;let t={...e};for(let a of o)t[Jo[a]]=xf(a,a===o[0]?o:null);return t}import{jsx as FJ}from"react/jsx-runtime";import{EmptyState as BJ}from"efficient-shell/ui";function Yr(){return FJ(BJ,{variant:"none",icon:!1,message:i("These settings apply to every view.")})}import{usePreviewDevice as zJ}from"efficient-easel/draw/client";import{deviceField as UJ}from"efficient-easel/screen/lib/document/device-fields";var Ep=" text",N1="Text";function Ii(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function M1(e){return e.filter(Ii).map(o=>o.key)}function H1(e,o){let t=e.filter(r=>!Ii(r));if(t.length!==1)return null;let a=e.filter(Ii).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 W1(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 G1(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var Eb=new Map,_p=new Set;function j1(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 jJ=Object.fromEntries(gi.map(e=>{let o=X0[e];return[e,Xr(o,{},e)]})),K1=MJ(null),KJ={_partBody:UJ("each",{type:"custom",render:()=>Xr(VJ,{})})};function VJ(){return Xr(DJ,{children:HJ(K1)})}function At({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}=WJ(),p=Op(()=>r?{...c,...r.values}:c,[c,r?.values]),x=(he,Ve)=>r?.keys.has(he)?r.onChange(he,Ve):u(he,Ve),g=zJ(),{appState:I,config:k}=U1(he=>he),S=Ak(g,k,I.data.content??[],I.ui.itemSelector),v=n===void 0?V_(d,t):KJ,b=Op(()=>{let he=a?.length?Object.fromEntries(Object.entries(v).filter(([Ve])=>!a.includes(Ve))):v;return r?{...he,...r.fields}:he},[v,a,r?.fields]),C=ax(b,p,S),[T,F]=Tb(()=>new Set(_p)),[P,D]=Tb(()=>new Set),O=z1(null),{bandRows:R,designBands:N,looseRows:y}=Op(()=>{let he=new Map,Ve=new Set,_e=[];for(let ke of Pb(C).rows){if(!ke.fold){ke.bucket==="Design"&&_e.push(ke.name);continue}let Je=he.get(ke.fold.key)??[];Je.push(ke.name),he.set(ke.fold.key,Je),ke.bucket==="Design"&&Ve.add(ke.fold.key)}return{bandRows:he,designBands:Ve,looseRows:new Map([["",_e]])}},[C]),A=GJ({},g),L={key:Ep,rows:Array.from({length:A?o:0},()=>({shown:!0,labelled:!0}))};$1(()=>{let he=O.current?.parentElement;if(!he)return;let Ve=j1(he,R),_e=new Set(M1(Ve)),ke=H1([L,...Ve.filter(Je=>N.has(Je.key))],j1(he,y)[0].rows);ke&&_e.add(ke),D(Je=>G1(Je,_e)?Je:_e)});let H=Op(()=>W1(C,P),[C,P]),X=!Ii(L)&&!P.has(Ep)?{key:Ep,title:N1}:void 0,q=U1(he=>he.selectedItem)!==null,U=r?.part??t??"",ge=`${l}:${U}:${String(g)}`,[te,Le]=Tb(()=>({tab:Eb.get(ge)})),We=`${l}:${U}`,Ee=z1(null),Ie={...S,node:p},Oe=Pb(C,{values:p,context:Ie}).buckets,Ge=c1({allTabs:q,remembered:Eb.get(ge),inherited:Ee.current?.panel===We?Ee.current.tab:te.tab,buckets:Oe,hasText:A&&o>0}),to=!A&&!Oe.includes(Ge)&&(Pb(ax(b,p,{...S,device:"desktop"}),{values:p,context:{...Ie,device:"desktop"}}).buckets.includes(Ge)||Ge==="Design"&&o>0);$1(()=>{Ee.current={panel:We,tab:Ge}});let wo=Ge==="Design";return Xr(K1.Provider,{value:n??null,children:Xr(Ag.Provider,{value:r?p:null,children:NJ($J,{fields:H,values:p,onChange:x,readOnly:f,allTabs:q,showWhenContext:Ie,context:{itemWord:s},tab:Ge,onTab:he=>{Eb.set(ge,he),Le({tab:he})},tabIcons:jJ,idPrefix:l,ariaLabel:i("Section settings"),lead:wo?e:null,leadFold:X,closedFolds:T,onFold:(he,Ve)=>{Ve?_p.delete(he):_p.add(he),F(new Set(_p))},children:[Xr("span",{ref:O,hidden:!0}),to&&Xr(Yr,{})]})})})}import{useMemo as tQ}from"react";import{useEasel as aQ}from"efficient-easel/easel";import{useSectionOps as rQ}from"efficient-easel/screen/lib/document/use-section-ops";import{jsx as Go}from"react/jsx-runtime";import{AccentIcon as qJ,ContrastIcon as YJ,ExpandIcon as XJ,FinishIcon as JJ,ImagesIcon as ZJ,NoSymbolIcon as q1,HoverLiftIcon as QJ,HoverNextImageIcon as eZ,HoverRotateIcon as oZ,HoverZoomIcon as Y1,OpacityIcon as tZ}from"efficient-easel/icons";import{customize as aZ,describedAs as X1,group as rZ}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as J1}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as Po}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as nZ,noControlField as sZ}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Ap=e=>Po("desktop",rZ("Hover",{dot:e})),Z1=()=>Po("desktop",aZ()),lZ="What this does when a shopper points at it, or taps it on a phone.",iZ="What this picture does when a shopper points at it. Black and white shows it in grey until then. A phone shows its colour.",dZ="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.",cZ="What each card does when a shopper points at it. Show next image covers the card with this product's photos, with arrows; a phone shows the card as it is. Rotate turns the wheel picture.",fZ="Which of the product's pictures the card shows.",pZ="Same finish shows the photos of the finish the card shows, else the first group.",uZ="Whole card hides the words under the photo. Picture keeps the words and swatches in view.",mZ={none:()=>Go(q1,{}),nextImage:()=>Go(eZ,{}),rotate:()=>Go(oZ,{}),zoom:()=>Go(Y1,{}),lift:()=>Go(QJ,{}),mono:()=>Go(YJ,{})};function Ob(e,o){let t=J1({label:i("Hover effect"),options:e.map(a=>({value:a,label:i(hr[a]),picture:mZ[a]()})),fallback:o});return X1(t,{type:"select",label:"Hover effect",options:e.map(a=>({value:a,label:hr[a]}))})}function Q1(){return{[mr]:Ap({field:Qe,in:Dd.filter(e=>e!=="none")}),[Qe]:Po("desktop",{...Ob(Dd,"none"),description:lZ})}}function eA(e){let o=_v(e),t=Ov(),a=y0(Km);return{[mr]:Ap({any:[o,t]}),[we.kind]:Po("desktop",{...Ss(Ob(Nd,e),(r,n)=>Xm(n??{},e)),description:cZ}),...hZ(t),[Qs]:sZ({type:"custom",render:()=>Go(nZ,{})},"always"),_cHover:Z1(),[we.angle]:Po("desktop",$e(Ss(a,r=>Jm(r)),o)),[we.duration]:Po("desktop",$e(bs("hover"),o)),[we.delay]:Po("desktop",$e(ys("hover"),o))}}function hZ(e){let o=Tt("Type",Go(ZJ,{}),Vm.map(r=>({value:r,label:Tv[r]})),ur.kind),t=Fr("Group",Go(JJ,{}),qm.map(r=>({value:r,label:Pv[r]})),ur.group),a=Fr("Covers",Go(XJ,{}),Ym.map(r=>({value:r,label:Ev[r]})),ur.cover);return{[we.mediaKind]:Po("desktop",$e({...o,description:fZ},e)),[we.mediaGroup]:Po("desktop",$e({...t,description:pZ},e)),[we.cover]:Po("desktop",$e({...a,description:uZ},e))}}function _b(e,o=""){let t=th(e);return{[mr]:Ap(t),[we.kind]:oA(Md,e,iZ),_cHover:Z1(),...eh.includes(o)?xZ():{},[we.duration]:Po("desktop",$e(bs("hover"),t)),[we.delay]:Po("desktop",$e(ys("hover"),t))}}function xZ(){let e=Lv(),o=Wo("Zoom",Go(Y1,{}),aa.min,aa.max,aa.step,aa.min,aa.unit),t=Wo("Darken on hover",Go(tZ,{}),Ma.min,Ma.max,Ma.step,Ma.fallback,Ma.unit);return{[el.zoom]:Po("desktop",$e(o,e)),[el.darken]:Po("desktop",$e(t,e))}}function oA(e,o,t){let a=Po("desktop",{...Ss(Ob(e,o),r=>oh({[Qe]:r},o,e)),description:t});return Object.assign(a,{[tA]:o})}var tA="sfPictureResting",V1=new WeakMap;function rLe(e,o,t){let a=e[we.kind],r=a?.[tA];if(!a||!r)return e;let n=o.props?.[Qe]==="nextImage",s=n?null:hl(t.appState,o.props?.id),l=s?ul({ownerType:String(s.type),owner:s,fields:ec(t.appState,s)},Co(o.props)):null;if(!n&&!l?.next)return e;let d=V1.get(e);return d||(d={...e,[we.kind]:oA(Zm,r,dZ)},V1.set(e,d)),d}var gZ="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.",IZ={none:()=>Go(q1,{}),[Gt]:()=>Go(qJ,{})},nLe=Po("desktop",{...X1(J1({label:i("Hover effect"),options:zm.map(e=>({value:e,label:i(Um[e]),picture:IZ[e]()})),fallback:"none"}),{type:"select",label:"Hover effect",options:zm.map(e=>({value:e,label:Um[e]}))}),description:gZ});function aA(){let e={any:[th("none"),{field:Qe,is:Gt}]};return{..._b("none"),[mr]:Ap(e)}}import{jsx as bi}from"react/jsx-runtime";import{isNodeList as wZ}from"efficient-easel/data";import{useEasel as vZ}from"efficient-easel/easel";import{hiddenInView as CZ,hiddenKeyOf as Rb,hidePatch as kZ,slotChildName as TZ,slotChildRowName as PZ}from"efficient-easel/draw";var Rp=null;function Ab(e){Rp=e}function rA(){return!!(Rp&&Rp.state().lockHolder)}function Jr(){return Rp!==null}var bZ=new Set(["BookingBox","SubmitBox"]);function yZ(e){return typeof e=="string"&&bZ.has(e)}var SZ=rk(yZ,rA);function Lp(e,o){return SZ(e)||Qx(o)}var Fp=(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 EZ}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as OZ}from"efficient-easel/screen/lib/document/panel-no-control-mark";var nA="notCardOfTemplate",Lb={not:{context:nA,is:!0}},kLe={[nA]:(e,o)=>{let t=Rh(o.appState,e.props?.id);return t===void 0?void 0:t===null}};function Bp(e){let o=e.props?.content;return wZ(o)?o:[]}var Np=(e,o)=>CZ(e.props??{},o),_Z=(e,o)=>e.props?.[Rb(o)]!==void 0;function sA(e,o=()=>!1,t="desktop"){return Bp(e).flatMap(a=>typeof a?.props?.id!="string"?[]:Bp(a).length&&!Np(a,t)?sA(a,o,t):o(a)?[]:[a])}function AZ(e,o,t,a="desktop"){let r=sA(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:!Np(l,a)}})}function Dp(e,o,t){let a=r=>t==="desktop"?Np(r,t):_Z(r,t);return Bp(e).flatMap(r=>a(r)?o(r)?[]:[r,...Dp(r,o,t)]:Dp(r,o,t))}function RZ(e,o){let t={...e};for(let[a,r]of Object.entries(o))r===void 0||a===Rb("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 Fb(e,o,t){let a=Bp(e),r=!1,n=a.map(s=>{if(r)return s;let l=s;if(s?.props?.id===o){let d=RZ(s.props,t(s.props));d!==s.props&&(l={...s,props:d})}else l=Fb(s,o,t);return r=l!==s,l});return r?{...e,props:{...e.props,content:n}}:e}function lA(e,o,t,a="desktop"){return Fb(e,o,r=>a==="desktop"&&Np({props:r},a)===!t?{}:kZ(r,a,!t))}function LZ(e,o,t){return t==="desktop"?lA(e,o,!0,t):Fb(e,o,()=>({[Rb(t)]:void 0}))}function FZ(e,o,t,a,r){return TZ(e).trim()?t(e):ul({ownerType:o,owner:a,fields:r},Co(e.props))?.label??t(e)}var BZ="This page is read-only.";function DZ({card:e,ownerType:o,owner:t,fields:a,labelOf:r,write:n,readOnly:s,view:l="desktop"}){let d=u=>PZ(u,r,ta,void 0,Fp),c=u=>Lp(u.type,u),f=AZ(e,u=>FZ(u,o,d,t,a),c,l);return f.length?bi(os,{parts:f,changed:Dp(e,c,l).length>0,shown:u=>f.find(p=>p.id===u)?.shown??!0,disabledReason:s?BZ:void 0,onPress:(u,p)=>n(x=>lA(x,u,p,l)),onReset:()=>n(u=>Dp(u,c,l).reduce((p,x)=>LZ(p,String(x.props.id),l),u))}):bi(OZ,{})}function NZ(){try{let e=vZ(r=>r),o=e.config.components??{},t=e.selectedItem;if(!t)return null;let a=Rh(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,fields:ec(e.appState,a)}}catch{return null}}function MZ({readOnly:e,view:o}){let t=NZ(),a=Al();return t?bi(DZ,{...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}})}}):bi(os,{parts:[],changed:!1,shown:()=>!0,onPress:()=>{},onReset:()=>{}})}function TLe(e){return $e(EZ(e,{type:"custom",render:({readOnly:o})=>bi(MZ,{readOnly:o,view:e})}),Lb)}import{customize as qZ}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Bb}from"react/jsx-runtime";import{DirectionIcon as HZ,LoopMarqueeIcon as WZ,NoSymbolIcon as GZ}from"efficient-easel/icons";import{customize as $Z,describedAs as zZ,group as UZ}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as jZ}from"efficient-easel/screen/lib/document/effect-tiles";function Db(){return cE("Direction",bb,mi,"A marquee cannot run diagonally, so the corners are not answers.",Bb(HZ,{}),dE)}var Nb=e=>UZ("Loop",e?{dot:e}:void 0),KZ={none:()=>Bb(GZ,{}),scroll:()=>Bb(WZ,{})};function VZ(){let e=jZ({label:i("Loop"),options:gp.map(({value:o,label:t})=>({value:o,label:i(t),picture:KZ[o]()})),fallback:Ib});return zZ(e,{type:"select",label:"Loop",options:gp.map(({value:o,label:t})=>({value:o,label:t}))})}function iA(){return{_gLoop:Nb(ui),loop:VZ(),_cLoop:$Z(),scrollDirection:$e(Db(),ui),loopDuration:$e(Ip({readsSpeed:!1}),ui),loopDelay:$e(bp(),ui)}}function YZ(){let e=aA(),o=[mr,Qe],t=_n(e,Object.keys(e).filter(a=>!o.includes(a)),ah);return _n(t,o,{any:[ah,Lb]})}function dA(e,o=""){switch(e){case"section":case"block":return _t();case"box":return{..._t(),...iA(),...YZ()};case"picture":return{..._t(),..._b(Qm(o),o)};case"textPart":return{..._t(),...Q1()};case"cards":return{..._t(),...eA(jm(o))};case"marquee":return{..._t(),_gLoop:Nb(),_cLoop:qZ(),scrollDirection:Db(),loopDuration:Ip({readsSpeed:!0}),loopDelay:bp()}}}import{phoneKey as XZ}from"efficient-easel/draw";import{ENTRANCE_STATE_ATTR as JZ,entranceAttrs as ZZ}from"efficient-shell/format";var fA={},Mb="_partMotion",Hb=[...Object.values(Te).flatMap(e=>[e,XZ(e)]),Qe,we.duration,we.delay];function eFe(e){return is(e,Mb)}function vs(e,o){return qf(e,Mb,o)}var QZ=new Set([Te.kind,Qe]);function pA(e,o,t,a){let{[t]:r,...n}=vs(e,o),s=a==null||a===""||a==="none"&&QZ.has(t)?n:{...n,[t]:a};return Yf(e,Mb,o,Object.keys(s).length?s:null)}function Wb(e){return{entrance:vp(e),hover:Cv(e)}}function uA(e){let o=Wb(e);return o.entrance!==null||o.hover!=="none"}function mA(e,o){let{attrs:t,style:a}=ZZ(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(JZ)}}var eQ=4;function hA(e){let o;for(let t of e)(!o||t.element.compareDocumentPosition(o.element)&eQ)&&(o=t);return o}var oQ="data-sf-part-host";function xA(e){let o=e?.ownerDocument.defaultView,t=e;for(;t&&!t.hasAttribute(oQ)&&!t.classList.contains(Sp);){let a=o?.getComputedStyle(t).display??"";if(a==="contents")return null;if(a!=="inline")return t;t=t.parentElement}return null}var Mp="data-sf-part-lift",cA="sf-part-lift";function gA(e){if(e.getElementById(cA))return;let o=e.createElement("style");o.id=cA,o.textContent=vO(`[${Mp}]`).join(`
|
|
62
|
-
`),e.head.appendChild(o)}var IA=new Map,nQ=e=>{let o=IA.get(e);return o||IA.set(e,o=D1(dA(e),`part:${e}`)),o},sQ=new Set(Hb);function Cs(e,o,t){let{getItemById:a,getSelectorForId:r}=aQ(f=>f),n=rQ(),s=a(e)?.props??{},l=vs(s,o),d=JSON.stringify(l),c=tQ(()=>Object.fromEntries(Hb.map(f=>[f,l[f]])),[d]);return{part:o,fields:nQ(t),values:c,keys:sQ,onChange:(f,u)=>{let p=r(e),x=a(e);if(!p||!x)return;let g=pA(x.props??{},o,f,u);n.replaceComponent(p.zone,p.index,{...x,props:g})}}}import{Fragment as lQ,createElement as iQ}from"react";import{deviceField as Gb}from"efficient-easel/screen/lib/document/device-fields";var Io=()=>({type:"custom",render:()=>iQ(lQ)});var $b={words:Io(),sourceNote:Io(),style:Io(),font:Io(),italic:Io(),fontSize:Gb("each",Io()),lineHeight:Io(),letterSpacing:Io(),paragraphSpacing:Io(),padding:Io(),align:Gb("each",Io()),letterCase:Io(),fixedSizeHint:Gb("each",Io()),regionNote:Io(),regionStyle:Io()},dQ=["fontSize","align"];function bA(e){return dQ.includes(e)}var yA={showTicker:Io(),items:Io()};var yQ="root:default-zone";function SA({heroId:e}){let{appState:o,dispatch:t}=mQ(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=uQ(()=>{let x=n?.props.tickerItems;return Array.isArray(x)?x:$_.map(g=>({text:g}))},[n]),d=pQ(),c=bQ(),f=x=>IQ(yA[x],c),u=Cs(e,z_,"block");if(!n)return Zr("p",{className:"sf-note",children:i("This ticker\u2019s hero is no longer on the page.")});let p=x=>t({type:"replace",destinationZone:yQ,destinationIndex:r,data:{...n,props:{...n.props,...x}}});return Zr(At,{motion:u,body:fQ(cQ,{children:[!f("showTicker")&&!f("items")&&Zr(Yr,{}),f("showTicker")&&Zr(hQ,{label:i("Show ticker"),labelId:d,icon:Zr(gQ,{}),action:Zr(xQ,{checked:s,onChange:x=>p({showTicker:x}),ariaLabelledBy:d})}),f("items")&&Zr(Ng,{label:Dg.label,icon:Dg.icon,items:l,placeholder:"item",onChange:x=>p({tickerItems:x}),markup:!0})]})})}import{jsx as Z,Fragment as ki,jsxs as nt}from"react/jsx-runtime";import{useContext as WQ,useEffect as Ub,useRef as GQ,useState as MA}from"react";import{FieldSelect as $Q,InspectorField as zQ,fieldShownInView as UQ}from"efficient-easel/fields";import{InertHint as VA,SettingsField as jQ}from"efficient-easel/panel";import{InspectorUpLevel as Vp}from"efficient-easel/chrome";import{StylesIcon as KQ,TypeIcon as VQ}from"efficient-easel/icons";import{useEasel as qQ}from"efficient-easel/easel";import{TextPartPanel as HA}from"efficient-easel/copy";import{Button as YQ,IconButton as XQ,Tooltip as JQ}from"efficient-shell/ui";import{jsx as wA,jsxs as SQ}from"react/jsx-runtime";import{COPY_CELLS as Hp,CopyBox as wQ}from"efficient-easel/copy";import{PaddingYIcon as vQ}from"efficient-easel/icons";import{onDesktopWords as CQ}from"efficient-easel/screen/lib/document/box-fields";var kQ=["left","center","right","justify"];function Wp(e,o,t,a="desktop"){let r=Zl(e),n=wI(a),s=e[n]??e.size??o.sizePx,l=OO(e,a);return[{...Hp.fontSize,key:"fontSize",value:e[n],styleValue:Math.round(o.sizePx),onChange:d=>t({[n]:d??null}),...n==="size"?{}:{reset:{detail:l?CQ(d=>i(d),`${l.px}px`,l.view):void 0}}},{...Hp.lineHeight,key:"lineHeight",value:r.lineHeight,styleValue:o.lineRatio,onChange:d=>t(d===void 0?{lineHeight:null,line:null}:{lineHeight:d})},{...Hp.letterSpacing,key:"letterSpacing",scale:s,value:r.letterSpacingEm,styleValue:o.letterEm,onChange:d=>t(d===void 0?{letterSpacing:null,letter:null}:{letterSpacing:d})},{...Hp.paragraphSpacing,key:"paragraphSpacing",value:e.paragraphSpacing,styleValue:0,onChange:d=>t({paragraphSpacing:d??null})},{key:"padding",name:i("Padding"),icon:wA(vQ,{}),unit:"px",step:II,shiftStep:10,min:xI,max:gI,value:e.padding,styleValue:o.paddingPx,onChange:d=>t({padding:d??null})}]}function vA({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=Wp(n,s,l),g=Jg(a,t);return SQ("div",{className:"sf-part-textbox",children:[u,wA(wQ,{value:e,onChange:o,multiline:t,placeholder:c,ariaLabel:f,rules:fr,tools:g,barShows:p?"focus":"always",colors:a?d:[],colorNameOf:qo,align:r?{value:n.align??s.align,allow:kQ,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 WA}from"efficient-easel/draw/client";import{jsx as Gp,Fragment as TQ,jsxs as PQ}from"react/jsx-runtime";import{Button as CA,Dialog as EQ}from"efficient-shell/ui";function kA({styleName:e,onCancel:o,onConfirm:t}){return Gp(EQ,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Update {style}?",{style:e}),footer:PQ(TQ,{children:[Gp(CA,{variant:"secondary",onClick:o,children:i("Cancel")}),Gp(CA,{variant:"primary",onClick:t,children:i("Update style")})]}),children:Gp("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 ZQ}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as QQ}from"efficient-easel/draw/client";import{shownTier as jp}from"efficient-easel/screen/lib/document/device-fields";import{jsx as OQ}from"react/jsx-runtime";import{createContext as _Q,useContext as AQ,useMemo as RQ,useState as LQ}from"react";var FQ={partStyle:null,setPartStyle:()=>{}},TA=_Q(FQ);function UFe({children:e}){let[o,t]=LQ(null),a=RQ(()=>({partStyle:o,setPartStyle:t}),[o]);return OQ(TA.Provider,{value:a,children:e})}function PA(){return AQ(TA)}import{TEXT_FIELD_MARKER as eee}from"efficient-easel/draw";import{useSectionOps as oee}from"efficient-easel/screen/lib/document/use-section-ops";var yi="@name",EA="@body",OA="@value",_A={[yi]:"Name",[EA]:"Body",[OA]:"Value"},BQ={TimelineTrack:{"entries.date":yi,"entries.title":yi,"entries.blurb":EA},Footprint:{"offices.city":yi},Stats:{"items.label":yi,"items.value":OA}};function DQ(e){let{key:o,row:t}=Et(e);return t?`${o}.${t.rowKey}`:null}function Si(e,o){if(!e)return o;let t=DQ(o);return t?BQ[e]?.[t]??o:o}import{useEaselHost as tee}from"efficient-easel/screen/lib/host";function NQ(e){let o=new Set([...Object.keys(Rc[e]??{}),...Lc[e]??[]]);for(let[t,a]of Object.entries(_x[e]??{}))a.verb==="snapshot"&&o.add(t);return[...o].sort()}var MQ={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},AA={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},RA="Open",LA={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 ks(e){let o=e?.source?.slug;return J(o)}function wi(e){return MQ[e]??null}function FA(e,o){let t=wi(e);return t&&NQ(e).includes(o)?t:null}function $p(e){let o=e?.menu?.id;return J(o)}var vi={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)]"},HQ={tag:{label:"Tag",follows:"Labels",builtIn:Rn(vi.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:Rn(vi.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:Rn(vi.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:Rn(vi.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:Rn(vi.link),writable:!0}},BA=HQ;var zp={entry:{label:"Entry",follows:"Labels",builtIn:"13px",writable:!0},number:{label:"Entry number",follows:"Labels",builtIn:"13px",writable:!0}};var aBe=Xd,DA={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 zb={SpecTable:DA,FAQ:gC,Collections:BA,Contents:zp};function NA(){return Ta("efficient.section-text-regions",()=>new Map)}function cBe(e){let o=NA();for(let[t,a]of Object.entries(e)){if(Object.hasOwn(zb,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 Up(e){return e?Object.hasOwn(zb,e)?zb[e]:NA().get(e)??null:null}function jb(e){return e?i(e):null}function GA(e){return e.kind==="role"?Sm[e.role]:e.kind==="custom"?"Custom":null}function aee(e){let o=Qt(e.role);return o?{kind:"role",role:o}:null}function ree(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 Kp(e,o,t,a){return aee(Jl(e,o))??ree(t,a)}function nee(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(a=>o(a)===t)?t:null}function $A(e){return[{value:Ci,label:i("No style"),description:i("Section\u2019s own")},...e.map(o=>({value:o.id,label:o.name,description:o.values.font?yn(o.values.font)?.label:void 0}))]}var Ci="";function see({face:e,base:o,onPick:t}){let a=e.kind==="role"?e.role:Ci,r=[{label:i("No style"),value:Ci},...rw.map(n=>({label:i(Sm[n]),value:n}))];return Z($Q,{ariaLabel:i("Style"),value:a,options:r,inline:!0,onChange:n=>t(n===Ci?null:n),renderOption:n=>n.value===Ci?nt(ki,{children:[Z("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),Z("span",{className:"sf-part-style-aside","aria-hidden":"true",children:i("Section\u2019s own")})]}):Z("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>Z("span",{style:{fontFamily:o?.fontKey?`var(${yn(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:jb(GA(e))}),valueText:n=>jb(GA(e))??n?.label??""})}var qA=["regionNote","regionStyle"],lee=Object.keys($b).filter(e=>!qA.includes(e));function YA(e,o){return!e.some(o)}function iee({sectionName:e,onBack:o,textEditor:t,styleRow:a,children:r,tabs:n}){let s=nt(ki,{children:[t,a,r]});return nt("div",{className:"sf-part-panel",children:[Z(Vp,{inline:!0,name:i(e),onSelect:o}),n?n(s):s]})}function qp({source:e,slug:o,menuId:t}){let a=tee(),r=LA[e],n=!r.needsSlug||!!o;return Z("div",{className:"sf-note sf-note--source",children:nt(VA,{children:[i(AA[e]),n?nt(ki,{children:[" ",Z(YQ,{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(RA)})]}):null]})})}var zA=4,dee=120;function UA(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 jA({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 nt("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:i(e.label)})}),d("regionNote")&&!f&&Z("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?nt(ki,{children:[c,d("regionStyle")&&Z("p",{className:"es-field-hint",children:UA(e)})]}):r?d("regionStyle")?Z(ki,{children:Z(jQ,{label:i("Style"),icon:Z(KQ,{}),hint:UA(e),children:Z(see,{face:t,base:a,onPick:r})})}):null:d("regionNote")&&Z("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")?Z(qp,{source:n,slug:s}):null,YA([...qA,"sourceNote",...c?["fontSize"]:[]],p=>d(p)&&(p!=="sourceNote"||!!n))&&Z(Yr,{}),Z(Vp,{inline:!0,name:i("Page"),onSelect:l})]})}function cee({onBack:e}){return nt("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:i("This part is no longer here.")})}),Z("p",{children:i("The section it belonged to has been changed or removed.")}),Z(Vp,{inline:!0,name:i("Page"),onSelect:e})]})}function fee({onBack:e,partId:o,why:t}){return nt("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:i("This part's settings did not open.")})}),Z("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.")}),Z("p",{className:"sf-note-detail",children:nt("code",{children:[o," \u2014 ",t]})}),Z(Vp,{inline:!0,name:i("Page"),onSelect:e})]})}function XA({nodeId:e,propKey:o,onBack:t,onEditStyle:a}){let{getItemById:r,getSelectorForId:n,config:s}=qQ(z=>z),l=oee(),d=WE(),{partStyle:c}=PA(),{fonts:f,textStyles:u}=xe(),p=WQ(ZQ),x=!p?.capabilities?.hasSiteTheme,{persist:g}=jn({themeFromDocument:x,tokenRef:p?.tokenRef,siteId:p?.siteId??null}),I=tp({themeFromDocument:x,persist:g}),[k,S]=MA(!1),v=QQ(),b=z=>(jp(v)!=="tablet"||bA(z))&&UQ($b[z],v),C=GQ(null),T=r(e),F=n(e),P=T?s.components[T.type]:void 0,{key:D,row:O}=Et(o),R=P?.fields?.[D],N=O?ns(R,O):R,y=Of(e,o),A=T?.props??{},L=ts(N),H=hf(N),X=$g(N),q=T?wi(T.type):null,U=T?FA(T.type,D):null,ge=O?Kl(A[D],O):A[D],te=!!O&&!(Array.isArray(A[D])&&O.index<A[D].length);Ub(()=>{HE(document)||C.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[y]);let[Le,We]=MA(0);Ub(()=>We(0),[y]);let Ee=!!T&&!te&&(!F||!N);Ub(()=>{if(!Ee||Le>=zA)return;let z=setTimeout(()=>We(qe=>qe+1),dee);return()=>clearTimeout(z)},[Ee,Le]);let Ie=Ee&&Le<zA,Oe=Cs(e,Si(T?.type,o),"textPart");if(!T||te)return Z(cee,{onBack:t});let Ge=Up(T.type),to=Ge?fl(Ge,o):null;if(Ge&&to){let z=c?.partId===y?c:null,qe=Ge[to],ht=qe.writable===!0&&!!F,va=nr=>{F&&l.replaceComponent(F.zone,F.index,{...T,props:xa(A,o,"role",nr)})};if(ht&&xC(qe)){let nr=Jl(A,o),aw=sr=>{if(!F)return;let ym=A;for(let[bH,yH]of Object.entries(sr))ym=xa(ym,o,bH,yH??null);l.replaceComponent(F.zone,F.index,{...T,props:ym})},xH=ga(I.saved,I.old),gH=hI(nr)??"",IH=Wp(nr,z?.base??KA,aw,jp(v)).filter(sr=>sr.key==="fontSize"&&b(sr.key));return Z(At,{motion:Oe,body:Z(jA,{region:qe,sizePx:z?.base.sizePx??null,face:Kp(A,o,z,f),base:z?.base??null,source:q,slug:ks(A),onBack:t,shows:b,ownLook:AO(nr),sizedStyle:Z(HA,{style:b("style")?{value:gH,options:$A(xH),onChange:sr=>aw(sr?{textStyle:sr}:{textStyle:null,role:null}),onEditStyles:a}:void 0,cells:IH})})})}return Z(At,{motion:Oe,body:Z(jA,{region:qe,sizePx:z?.base.sizePx??null,face:Kp(A,o,z,f),base:z?.base??null,onFollowStyle:ht?va:void 0,source:q,slug:ks(A),onBack:t,shows:b})})}if(!F||!N)return Ie?Z("div",{className:"sf-note","aria-busy":"true"}):Z(fee,{onBack:t,partId:y,why:F?"no field":"no selector"});let wo=z=>{l.replaceComponent(F.zone,F.index,{...T,props:z})},he=z=>{if(Va(z).hidden!==Va(ge).hidden||!L){let qe=O?Wg(A,D,O,z):{...A,[D]:z};qe&&wo(qe);return}Rf({node:T,propKey:o,kind:L,zone:F.zone,index:F.index},Va(z).text,l.replaceComponent)},Ve=ge,_e=c?.partId===y?c:null,ke=_e?.styleOwner,Je=ke?r(ke.owner):null,Bt=ke&&Je?n(ke.owner):null,Bo=!!(ke&&Je&&Bt),W=Bo?Je.props??{}:A,Fe=Bo?z=>l.replaceComponent(Bt.zone,Bt.index,{...Je,props:z}):wo,le=Bo?ke.kind:Si(T?.type,o),Be=Jl(W,le),Ae=[{partKey:le,face:Kp(W,le,_e,f),sizeGroup:_e?.sizeGroup??null,base:_e?.base??KA,style:Be}],ut=nee(Ae,z=>z.sizeGroup),Dt=Gn(_e?.inks),Ze=(z,qe)=>{let ht=W;for(let va of Ae)ht=xa(ht,va.partKey,z,qe);Fe(ht)},mt=z=>z?Ze("textStyle",z):Nt({textStyle:null,role:null}),Nt=z=>{let qe=W;for(let ht of Ae)for(let[va,nr]of Object.entries(z))qe=xa(qe,ht.partKey,va,nr??null);Fe(qe)},In=L==="text"||L==="textarea",{text:Vs,hidden:Zt}=Va(ge),ar=N?.[eee]?.label??o,bn=Zt?i("Show {label} on the slide",{label:i(ar)}):i("Hide {label} on the slide",{label:i(ar)}),ew=nt("div",{className:"sf-field-head",children:[Z(VQ,{}),Z("span",{className:"sf-field-label sf-field-label--inline",children:i(ar)}),In&&Z(JQ,{content:bn,children:Z(XQ,{"aria-pressed":Zt,"aria-label":bn,onClick:()=>he({text:Vs,hidden:!Zt}),children:Zt?Z(WA,{name:"eye-off",size:14}):Z(WA,{name:"eye",size:14})})})]}),yd=!H&&X,dH=!!L&&(q0(N)||H||Zt||!X),ow=Kp(W,le,_e,f),cH=ow.kind==="role"?ow.role:null,bm=hI(Be)??KO(cH),tw=ga(I.saved,I.old),fH=Object.entries(Be).filter(([z,qe])=>z!=="role"&&z!=="textStyle"&&qe!==void 0).length,pH=()=>{let z=W;for(let qe of Ae){let{role:ht,textStyle:va}=qe.style;z=TO(z,qe.partKey),ht&&(z=xa(z,qe.partKey,"role",ht)),va&&(z=xa(z,qe.partKey,"textStyle",va))}Fe(z)},rr=bm,uH=VO(Ae[0].style),mH=rr?tw.find(z=>z.id===rr)?.name??rr:"",hH=()=>{S(!1),rr&&(I.write(qO({saved:I.saved,old:I.old,styleId:rr,values:RI(Ae[0].style)}),!0),pH())};return nt(iee,{sectionName:P?.label??T.type,onBack:t,tabs:z=>Z(At,{motion:Oe,body:z}),textEditor:b("words")?Z("div",{ref:C,className:"sf-part-text",children:dH?Z(vA,{text:Vs,onTextChange:z=>he(In?{text:z,hidden:Zt}:z),multiline:kf(L),markup:L!=="plainText",styled:!1,style:Ae[0].style,base:Ae[0].base,setValue:Nt,colors:Dt,placeholder:jb(gE(N))??void 0,ariaLabel:i(ar),head:ew,typedOnCanvas:d===y}):L?In?ew:null:Z(zQ,{field:N,name:o,value:Ve,onChange:he,id:`sf-part-${e}-${o}`})}):void 0,children:[U&&b("sourceNote")&&Z(qp,{source:U,slug:ks(A),menuId:$p(A)}),yd&&Z(HA,{style:b("style")?{value:bm??"",options:$A(tw),onChange:z=>mt(z||null),changed:fH>0,onEditStyles:a,onUpdateStyle:rr&&uH?()=>S(!0):void 0}:void 0,font:b("font")?{value:Be.font??"",styleValue:yn(Ae[0].base.fontKey)?.label,options:xt.map(z=>({label:z.label,value:z.key})),onChange:z=>Ze("font",z||null)}:void 0,italic:b("italic")?{value:Be.italic,styleValue:mee(u,bm),onChange:z=>Ze("italic",z??null)}:void 0,cells:Wp(Ae[0].style,Ae[0].base,Nt,jp(v)).filter(z=>b(z.key)),align:b("align")?uee(Be,Ae[0].base.align,jp(v),Ze):void 0,letterCase:b("letterCase")?{value:Be.case??"",styleValue:Ae[0].base.case,onChange:z=>Ze("case",z||null)}:void 0}),k&&rr&&Z(kA,{styleName:mH,onCancel:()=>S(!1),onConfirm:hH}),yd&&ut===null&&b("fixedSizeHint")&&Z(VA,{children:i("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")}),YA(lee,z=>b(z)&&(z==="words"||(z==="sourceNote"?!!U:z==="fixedSizeHint"?yd&&ut===null:yd)))&&Z(Yr,{})]})}var pee={desktop:"align",tablet:"alignTablet",mobile:"alignPhone"};function uee(e,o,t,a){let r=pee[t],n=EO(e,t);return{value:e[r]??"",styleValue:n??o,onChange:s=>a(r,s||null)}}function mee(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var KA={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0};import{jsx as Rt,jsxs as Qb,Fragment as wee}from"react/jsx-runtime";import{useCallback as vee,useRef as Cee,useState as Ei}from"react";import{InspectorIconButton as kee}from"efficient-easel/chrome";import{useEasel as Tee}from"efficient-easel/easel";import{PopupMenu as Pee,PopupMenuItem as Eee,PopupMenuLabel as ou}from"efficient-shell/ui";import{CopyToPageIcon as Oee}from"efficient-easel/icons";import{useEaselSession as _ee}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as Aee}from"efficient-easel/screen/lib/document/section-doc";import{FOOTER_TYPE as Ree}from"efficient-easel/draw";import{currentEaselSession as hee}from"efficient-easel/screen/lib/session";var xee={general:!0,commerce:!0,service:!0};function Kb(e){let o=e?.sets;return o?Object.fromEntries(tv.map(t=>[t,o.includes(t)])):xee}function Vb(e=hee()){return Kb(e.blocks)}import{isBackendError as Ts}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as sR}from"efficient-easel/screen/lib/session";var Yp=rc(),qb=Yp.set;function Xp(e,o){qb(e,o)}function Jp(e,o){let t=Yp.get(e);qb(e,o??(t==="live"?"changed":t))}function Zp(e,o){qb(e,o??"live")}function JA(e){return Yp.get(e)}function ZA(e){return Yp.use(e)}function QA(e,o){return e==="live"&&o?"changed":e}function Yb({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 eR(e){return e.map(o=>o.change==="take_down"?i("{name} (taken down)",{name:o.name}):o.name)}var oR="SharedSection",gee=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Ti=e=>{let o=e?.content;return Array.isArray(o)?o:[]},Pi=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0};function tR(e){if(e?.type!==oR)return null;let o=e.props?.section;return typeof o=="string"&&gee.test(o)?o.toLowerCase():null}function aR(e){let o=[];for(let t of Ti(e)){let a=tR(t),r=Pi(t);a&&r&&o.push({refId:r,section:a})}return o}function Qp(e){let o=Ti(e)[0];return o&&typeof o=="object"&&Pi(o)?o:null}function Iee(e,o){return{type:oR,props:{id:e,section:o}}}function rR(e,o){let t=new Map,a=new Set,r=!1,n=Ti(e).map(s=>{let l=tR(s),d=Pi(s);if(!l||!d||a.has(l))return s;let c=Qp(o.get(l)),f=Pi(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 nR(e,o,t){let a=new Map,r=!1,n=Ti(e).map(s=>{let l=Pi(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=Ti(c).slice(1),u=Qp(c);return a.set(d.section,u===s?c:{...c,content:[s,...f]}),r=!0,d.reference??Iee(d.refId,d.section)});return{page:r?{...e,content:n}:e,docs:a}}function Zb(e){return!!(e?.publish&&e.liveState)}function bee(e,o){if(!Zb(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 yee(e,o){return async(t,a)=>{try{await tP()}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"?Dc({state:"live",changes:[]}):la(0),{version:a??null}}}function Jb(e,o,t){let a=o?{siteId:o}:void 0;return{resolve:r=>e.load({slug:r,...a}).then(n=>(n&&(Xp(n.id,n.live),ik(n.id,n.videoFrames)),n)),saveLayout:(r,n,s,l)=>e.save(r,{layout:n},{version:s,clientId:l??""}).then(d=>(Jp(r,d.live),dk(r,d.videoFrames),la(),d)),rereadVersion:e.version?r=>e.version(r):void 0,publish:Zb(t)?yee(t,a):e.publish?(r,n)=>e.publish(r,n?{version:n}:void 0).then(s=>(Zp(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 See(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=JA(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:{},v=O=>s.has(O),b=()=>new Map([...d].map(([O,R])=>[O,R.layout])),C=()=>`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:C()}),u.set(R.id,R.used_on),I({})},place:O=>{if([...c.values()].some(y=>y.section===O.id))return null;let R=Qp(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:C()}),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??""});Jp(N,H.live),A.layout=y,A.version=H.version,A.savedJson=L,k(N,null)}catch(H){Ts(H,"changed-elsewhere")?k(N,"conflict"):Ts(H,"lock-taken")?k(N,"lock",H.holder??void 0):k(N,"save")}}O.size&&la(),I({})};return{resolve:async O=>{if(Ab(O===Ct?null:F),zh(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&&!Fl(N?.layout)){Xp(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=aR(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?(Xp(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=rR(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=ak(X.working,n.layout);return n.savedJson=JSON.stringify($h(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(!v(O))return t.saveLayout(O,R,N,y);let A=n,L=A?$h(R,A.layout):{page:R,chrome:null},H=nR(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??""});Jp(A.id,U.live),la(),A.layout=L.chrome,A.version=U.version,A.savedJson=q,l=!0,I({conflict:null,saveFailed:!1})}catch(U){Ts(U,"changed-elsewhere")?I({conflict:U.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):Ts(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&&v(O)&&!r&&e.publish&&g()&&!p.lockHolder){let A=await e.publish(y.id,y.version?{version:y.version}:void 0);Zp(y.id,A.live),A.version!==null&&(y.version=A.version),l=!1,I({})}if(v(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);Zp(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(!v(O))return y;let A=n;if(A)try{await a.claim(A.id,R,!1),p.lockHolder&&I({lockHolder:null})}catch(L){Ts(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){Ts(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),!v(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 eu(e){let o=(t,a,r)=>e.save(t,a.layout?{...a,layout:NC(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 CDe(e,o,t){return e.update(o,MC(t))}function kDe(e,o=Ue(),t=Vb(),a={}){let r=sR(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=Zb(o.site)?o.site:void 0,u=eu(o.pages),p=Jb(u,e,f),x=c?See(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,...lR(p.resolve),lock:o.lock,...x,site:s?()=>o.site.get(n):void 0,siteLiveState:f?()=>f.liveState(n):void 0,siteVersions:bee(f,n),updateSite:s&&l?g=>l(g,n):void 0,previewHref:o.preview?g=>o.preview.href(g):void 0}}function TDe(e,o=Ue(),t=Vb()){let a=sR(o),r=o.templates,n=r?eu(r.pages(e)):{list:()=>Promise.reject(new Error(Xb)),load:()=>Promise.reject(new Error(Xb)),save:()=>Promise.reject(new Error(Xb))};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},...Jb(n,void 0),...lR(Jb(n,void 0).resolve),publish:void 0,templateName:r?()=>r.get(e).then(s=>s.name):void 0}}function lR(e){return{resolve:o=>(Ab(null),zh(null),e(o))}}var Xb="This editor's backend has no website templates.";function Lee(e,o,t){let a=Aee(e,void 0,o);return t?.(a)??a}function iR({node:e,currentSlug:o,siteId:t,tokenRef:a,runAuthed:r,onNotify:n}){let[s,l]=Ei(!1),[d,c]=Ei(null),f=_ee(),u=Tee(P=>P.config.components),[p,x]=Ei(!1),[g,I]=Ei(null),k=Cee(null),[S,v]=Ei(null),b=vee(async()=>{if(f.usesBridgedToken&&!a.current){x(!0);return}try{c(await Ue(f).pages.list(t?{siteId:t}:void 0))}catch{x(!0)}},[a,t,f]),C=()=>{if(s){l(!1);return}let P=k.current?.getBoundingClientRect();P&&v({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=Lee(e,u,f.documentHooks?.storedNode),O=await r(()=>Fee(Ue(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 Qb(wee,{children:[Rt("span",{"data-menu-toggle":!0,style:{display:"contents"},children:Rt(kee,{buttonRef:k,label:i("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:C,children:Rt(Oee,{size:15})})}),s&&S&&Rt(Pee,{portal:!0,style:{top:S.top,right:S.right},onClose:()=>l(!1),children:Qb("div",{role:"menu","aria-label":i("Duplicate to page"),children:[Rt(ou,{children:i("Duplicate to page")}),p?Rt(ou,{children:i("Couldn\u2019t load pages")}):d===null?Rt(ou,{children:i("Loading\u2026")}):T.length===0?Rt(ou,{children:i("No other pages")}):T.map(P=>Qb(Eee,{role:"menuitem",disabled:g!==null,onClick:()=>{F(P)},children:[Rt("span",{className:"min-w-0 flex-1 truncate",children:P.label}),g===P.slug?Rt("span",{className:"shrink-0 text-xs",children:i("Copying\u2026")}):P.draft&&Rt("span",{className:"shrink-0 text-xs",children:i("draft")})]},P.id))]})})]})}async function Fee(e,o,t){let a=eu(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===Ree);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 pne}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as une}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as LWe,isSelectionMode as uS}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as mne}from"efficient-easel/draw/client";import{jsx as Oi,jsxs as Bee}from"react/jsx-runtime";import{SettingsDrill as Dee}from"efficient-easel/panel";import{UiIcon as Nee}from"efficient-easel/draw/client";var Mee="Not shown on the page";function Hee({part:e,onOpen:o}){return Oi(Dee,{name:i(e.label),preview:e.offPage?i(Mee):e.preview||i("Empty"),offPage:e.offPage,status:e.hidden?Oi("span",{className:"sf-entry-eye",role:"img","aria-label":i("Hidden on the page"),children:Oi(Nee,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function ey(e){return e.filter(o=>!o.identifier)}function dR({parts:e,onOpen:o,heading:t=!0}){let a=ey(e);return a.length?Bee("div",{className:"sf-entries",children:[t?Oi("h3",{className:"sf-entries-head",children:i("Text")}):null,a.map(r=>Oi(Hee,{part:r,onOpen:o},r.key))]}):null}import{HEADER_TYPE as hne,ROOT_ZONE as gD}from"efficient-easel/draw";import{HEADER_TYPE as $o,FOOTER_TYPE as He,newNodeId as Wee}from"efficient-easel/draw";function tu(){return{type:$o,props:{id:Wee($o)}}}var cR=[{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"}],Gee=cR.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),$ee="FooterGroup",fR="blocks";function pR(e){return e===He?cR:e===$ee?Gee:null}function au(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterEmailSignup",{...OP}),e("FooterPayment",{...Gc})]}function oy(e){switch(e?.type){case Me:case Re:return i("On every page");case $o:case He:return i("On every page \xB7 old style");default:return null}}var uR=()=>null,mR=()=>i("Changed on every page");function ru(e,o){let t=Hk(e,o);if(t)return t;let a=JC(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 ju,Fragment as qre,jsxs as Yre}from"react/jsx-runtime";import{useState as Xre}from"react";import{createNode as Jre,newId as Zre}from"efficient-easel/data";import{useEasel as Qre}from"efficient-easel/easel";import{Banner as ene,Button as fS}from"efficient-shell/ui";import{useScreenDocument as one}from"efficient-easel/screen/components/ScreenDocumentContext";import{isNodeList as zee}from"efficient-easel/data";import{hiddenKeyOf as Uee}from"efficient-easel/screen/lib/content/view-hide";var nu="Flex",jee={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},Kee={FooterPayment:"PaymentLogosBlock"},Vee=e=>{let{id:o,...t}=e;return t},hR=e=>typeof e=="string"?e:"",Ps={sm:12,md:13,lg:15},xR={sm:{mark:16,words:Ps.sm},md:{mark:20,words:Ps.md}},qee="md",gR=1.5,Yee={size:13,lineHeight:gR,width:280},Xee=14,Jee=40,Zee=e=>e==="center"||e==="right"?e:"left";function Qee(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 eoe(e,o,t){let a=t(e,Vee(o));if(Array.isArray(o.template))return{...a,props:{...a.props,template:IR(o.template,String(a.props.id))}};if(o.template!==void 0)return a;let r=OC(e,a.props);return r===a.props?a:{...a,props:r}}function IR(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))zee(s)&&(r[n]=IR(s,o,t));return{...a,props:r}})}function bR(e,o,t){let a=e.props??{},r=t?.(e,o);if(r)return r;let n=jee[e.type]??Kee[e.type];if(n)return[eoe(n,a,o)];switch(e.type){case"FooterLogo":{let s=Zee(a.align),l=o("LogoBlock",{...a.reverse?{reverse:a.reverse}:{},...typeof a.customColor=="string"&&a.customColor?{customColor:a.customColor}:{},heightPx:Math.round(Lw*((j(a.widthPct)??100)/100)),href:"/",align:s,...Qee(a)}),d=hR(a.tagline).trim();return d?[l,o("Text",{text:d,tone:"dim",align:s,_partStyles:{text:{...Yee}}})]:[l]}case"FooterText":{let s=typeof a.size=="string"&&a.size in Ps?a.size:qee;return[o("Text",{text:hR(a.text),tone:typeof a.tone=="string"?a.tone:"default",_partStyles:{text:{size:Ps[s],lineHeight:gR}}})]}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?{[Uee("mobile")]:!0}:{}})]}case"FooterGroup":{let s=Array.isArray(a.blocks)?a.blocks:[];return[o(nu,{direction:a.direction==="horizontal"?"row":"column",gap:Rr("FooterGroup",a.gap),align:a.align==="center"||a.align==="end"||a.align==="stretch"?a.align:"start",...rl,content:s.flatMap(l=>bR(l,o,t))})]}default:return[]}}function _i(e,o,t,a){let r=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],n=f=>o(nu,{direction:"row",wrap:!0,share:"equal",gap:Jee,content:f}),s=[],l=[];for(let f of r){let u=bR(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(nu,{direction:"column",gap:Xee,align:"stretch",...rl,content:u}))}(l.length||!s.length)&&s.push(n(l));let d=o(nu,{direction:"column",content:[o("LegalLineBlock")]}),c=qC(Re,t,[...s,d]);return{...c,props:{...c.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}import{isNodeList as Kre}from"efficient-easel/data";import{readHidable as toe}from"efficient-easel/draw";function su(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 dNe(e){return ooe[Ai(e)]}var ooe={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"};function Ai(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 qt=K,Yt=se;function en(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 aoe(e,o){return o===0?`${e}~box`:`${e}~box-${o+1}`}var SR=new Set(["id"]),Qr={},wR=[],roe=["ProductGrid","Events","ContactRouting","ReviewForm","AppointmentBooking","Reviews","CheckoutCTA"],Ri=["Breadcrumb","DocBody","Form","SubmitBuild","Footprint","FAQ",...roe,"Stats","Logos","PaymentBadges","PaymentLogosBlock","FitmentFinder","DocMasthead","Timeline","TimelineTrack","OrderSummary","Chart","Mockup","Countdown","FeaturedCover","Cards"];function bo(e){for(let[o,t]of Object.entries(e)){if(o in Qr&&Qr[o]!==t)throw new Error(`lib/sections/section-to-box: "${o}" already has a row`);Qr[o]=t}}function Ya(e){return Qr[e]}function noe(e){return e in Qr&&wR.includes(e)}function vR(e,o=Ri){return e in Qr&&(o.includes(e)||noe(e))}function yNe(e){let o=Ao[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 ty=e=>toe(e),Xe=e=>ty(e).text.trim()!=="";function soe(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 loe=e=>e==="heading"?Aa():e==="eyebrow"?bt():{};function ioe(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 doe(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 yR(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 coe(e){let o=new Set([...SR,"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 ay=e=>Yd(e.headPlacement)==="own-box";function foe(e){return ay(e)?"its head sits in a Box of its own above it (own-box): the row draws the head inline":void 0}function poe(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 uoe(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 moe(e,o,t){if(!t.press)for(let a of uoe(e)){let r=poe(o,a);if(r!==void 0)return r}}function Es(e,o,t={}){let a=e.props,r=(o.ownBoxConverts?void 0:foe(a))??moe(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=coe(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 yR(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=>io(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=v(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(qt,{name:`${T.name} ${X+1}`,...O,...U.props??{},[Yt]: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"),su(D.map(X=>X??{}),H.of,H.of).map((X,q)=>{let U=X.items.map(Ie=>Ie.item),ge=H.parts?v(H.parts,H.head?.(U,a)??{},!1,`group ${q+1}: `):[],te=X.items.map(Ie=>R[Ie.index]),Le=H.perRow?.(U.length,a),We=Number.isInteger(Le)&&Le>=1?Le:1,Ee=[];if(H.perRow&&We<te.length)for(let Ie=0;Ie*We<te.length;Ie++)Ee.push(te.slice(Ie*We,(Ie+1)*We).flat());return g(qt,{name:`${H.name} ${q+1}`,...H.props??{},[Yt]:[...ge,g(qt,{name:`${H.itemsName} ${q+1}`,...H.itemsProps?.(U.length,a)??{},[Yt]:Ee.length?Ee.map((Ie,Oe)=>g(qt,{name:`${H.rowName??`${H.itemsName} row`} ${Oe+1}`,...H.rowProps??{},[Yt]: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(qt,{name:`${T.rowName??`${T.name} row`} ${H+1}`,...A,[Yt]:[...X,...Array.from({length:q},(U,ge)=>g(qt,{name:`Empty ${ge+1}`,...T.rowFiller,[Yt]:[]}))]}))}return L},v=(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=ty(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=loe(y.role??"body"),{_partStyles:H,...X}=L,q=ioe(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"?soe(A.text):y.mark==="accentItalic"?pr(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=ty(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??{},...doe(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=v(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(qt,{name:y.name,...L,[Yt]:A}));break}case"block":{let A=y.parts?v(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=v(T.parts,a,!0,F===0?"":`${P}: `),O=typeof T.boxProps=="function"?T.boxProps(a,t):T.boxProps??{},R=yR(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:qt,props:{name:T.name,...R,[Yt]:D,id:aoe(n,F)}}},C=[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))SR.has(T)||c.has(T)||l.push({key:T,why:"not in the row \u2014 not carried"});return{node:C[0],nodes:C,carried:s,dropped:l,siteWrites:[...o.site?.(e,t)??[]],restyled:d}}function CR(e,o=wR,t={}){if(!Array.isArray(e))return[];let a=[];return e.forEach((r,n)=>{let s=r&&typeof r.type=="string"&&o.includes(r.type)?Qr[r.type]:void 0;if(!s)return;let l=Es(r,s,t);l.skipped===void 0&&a.push({index:n,node:l.node,nodes:l.nodes})}),a}import{phoneKey as Soe}from"efficient-easel/draw";var kR={label:"Button",defaultProps:{label:"",href:"#",variant:"primary",align:"left",contained:!0}};import{jsx as xoe}from"react/jsx-runtime";import{isNodeList as hoe}from"efficient-easel/data";var ry=new Set(["FAQ"]);function TR(e,o){if(!ry.has(e))return!1;let t=o.template;return typeof t=="function"?(t.blockCount??0)>0:hoe(t)}var lu={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}},PR=new Set(Object.keys(lu)),OR=new Set(["Flex","Text","Heading","ImageBlock"]),goe=new Set(["Divider"]),Ioe=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),ER=new Set(["ProductGrid"]);function ny(e,o,t=!1){let a=e.render;e.render=r=>{if(o?.(r))return a(r);let n=Kc($P(r,jc,t)),s=a(r),l=Aw(r);return n?xoe(Pd,{className:l?`${n.className} ${l}`:n.className,style:n.style,children:s}):s}}var ANe={name:"sectionPadding",applies:(e,o,t)=>o.isSection(e)&&!Ioe.has(e)&&!!t&&typeof t.render=="function",panel(e,o,t){PR.has(o)||ER.has(o)||(e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})})},draw(e,o){if(PR.has(o)){let t=e.render,a=lu[o];e.render=r=>{let n=Vc(r,a);return t({...r,padTop:n.top,padBottom:n.bottom})};return}if(ER.has(o)){ny(e);return}OR.has(o)||goe.has(o)||ny(e,o==="Flex"?t=>yx(t.bgImage):ry.has(o)?t=>TR(o,t):void 0,!0)}},boe=["Heading","Text","ImageBlock"],yoe=["LogoBlock"],RNe={name:"blockPadding",applies:(e,o,t)=>(boe.includes(e)||yoe.includes(e))&&!!t&&typeof t.render=="function",panel(e,o,t){e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})}},draw(e,o){OR.has(o)||ny(e,void 0,!0)}};import{parseHexColor as woe}from"efficient-shell/format";import{convertLength as voe,isLengthUnit as Coe}from"efficient-easel/screen/lib/content/length-units";var sy=e=>Coe(e)?e:"px",Xa=(e,o,t,a)=>o===t?e:voe(e,o,t,a,{min:0,max:200,step:4}),on={textFit:"line",textFitPhone:"wrap"},tn={...G,[gt]:""},{label:QNe,href:e2e,...koe}=kR.defaultProps,fo=koe,an={buttonFillOpacity:0,buttonBorder:{width:0},buttonPaddingTop:0,buttonPaddingRight:0,buttonPaddingBottom:0,buttonPaddingLeft:0},Q={...Ud,sectionAccent:0},_s={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",...$n,...Object.values(Te).flatMap(e=>[e,Soe(e)]),"widthFit","widthFitTablet","widthFitPhone","width","widthTablet","widthPhone","minWidth","minWidthTablet","minWidthPhone","maxWidth","maxWidthTablet","maxWidthPhone",...Object.values(co)],Os="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:Os,fullWidth:Os,pageWidth:Os,backgroundWidth:Os,contentWidth:Os,contentMax:Os},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=sy(e.sectionPaddingUnit),l=sy(e.sectionPaddingUnitTablet),d=sy(e.sectionPaddingUnitPhone),c=(u,p,x,g)=>{let I=j(u);if(I!==void 0)return I+Xa(g,"px",d,"mobile");let k=p===void 0?{n:x,unit:s}:{n:p,unit:l};return Xa(k.n,k.unit,d,"mobile")+Xa(g,"px",d,"mobile")},f=(u,p,x,g,I)=>p!==void 0?{[u]:p+Xa(I??g,"px",l,"tablet")}:I===void 0?{}:{[u]:Xa(x,s,l,"tablet")+Xa(I,"px",l,"tablet")};return{sectionPaddingTop:t+Xa(o.top,"px",s,"desktop"),sectionPaddingBottom:a+Xa(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 Fo(e,o){let t=Vc(e,lu[o]);return{sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom}}var Ja=e=>[["padTop","sectionPaddingTop",(o,t)=>Fo(t,e).sectionPaddingTop],["padBottom","sectionPaddingBottom",(o,t)=>Fo(t,e).sectionPaddingBottom],["sectionPaddingTop","sectionPaddingTop",(o,t)=>Fo(t,e).sectionPaddingTop],["sectionPaddingBottom","sectionPaddingBottom",(o,t)=>Fo(t,e).sectionPaddingBottom]],Toe={kind:"heading-case-upper",styles:["heading-1","heading-2","heading-3"]},o2e=e=>o=>Xe(o.props[e])?[Toe]:[],pe=(e,o)=>({kind:"text",key:e,role:"eyebrow",props:G,...o?{style:o}:{}}),iu=e=>({kind:"group",name:"Chip",props:{..._,..._a("main"),...Ye(6,14)},parts:[pe(e,{color:"background",...M("label",12),weight:600,letterSpacing:.16})]}),_R=e=>e.background!=="transparent",Poe=(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},Li={align:"right",alignPhone:"left"},Eoe=(e,o,t)=>{let a=r=>Poe(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}},Fi=(e,o,t,a={})=>Eoe(e,o,{...tn,...Li,...a,_partStyles:{text:{..._o,color:"labels",...t,case:_o.case,...Li}}}),As=(e,o)=>typeof e=="number"&&Number.isInteger(e)&&e>=0?e:en(o)?.selected??0,AR="var(--site-surface-2)",du=(e,o)=>en(o)?.themes[As(e.sectionAccent??0,o)],zo=(e,o)=>(t,a)=>{if(!o?.(t,a))return _a(e);let r=du(t,a)?.[e];return r?{fillColor:r}:{}},cu=(e,o)=>Za(e,o)>=0,RR=e=>e.startsWith("#")&&woe(e)!==null,fu=(e,o,t)=>{let a=e?.trim();if(a&&RR(a))return{fillColor:a};let r=gx(a);if(r)return _a(r);let n=a===AR?du(o,t):void 0;return n?{fillColor:Sd(n)}:{}},pu=e=>{let o=e?.trim();return!o||o==="transparent"||o===ko||gx(o)||o===AR||RR(o)?void 0:"it paints a colour that no Box Fill can hold"},Za=(e,o)=>{let t=en(o)?.themes;return t&&_R(e)?uw(t,As(e.sectionAccent,o)):-1},Qa=(e,o,t)=>{let a=Za(o,t);return a>=0?a:e},ly=(e,o)=>{let t=en(o)?.themes,a=t?mw(t,As(e,o)):-1;return a>=0?a:e},rn=(e,o)=>{let t=Za(e,o);return t>=0?{sectionAccent:t}:{}},er=(e,o)=>_R(e.props)&&Za(e.props,o)<0?[{kind:"band-preset",page:As(e.props.sectionAccent,o)}]:[],Rs=e=>af(e.site?.siteGutter),Bi=Object.fromEntries(["Top","Right","Bottom","Left","TopPhone","RightPhone","BottomPhone","LeftPhone"].map(e=>[`sectionPadding${e}`,0])),Di=e=>({top:0,right:0,bottom:0,left:0,...e}),iy=(e,o,t,a=[])=>({kind:"group",name:e,keepEmpty:!0,props:(r,n)=>({..._,...Bi,...zo("surface")(r,n),...typeof t=="function"?t(r,n):t}),box:[[o,"bgImage"],we.kind,we.duration,we.delay],parts:a});import{phoneKey as by,readHidable as yy}from"efficient-easel/draw";import{isNodeList as rte,newId as nte}from"efficient-easel/data";function LR(e){return Math.min(4,Math.max(2,e??3))}var n2e={eyebrow:"Label",title:"Section *heading.*"},Ooe={template:PC()},FR={label:"Cards",fields:Ooe,defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var i2e={eyebrow:"Highlight",title:"Key *features.*"},d2e=()=>[{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")}],BR={label:"Key Features",defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var _oe="plain",DR=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],Aoe="line",Roe={KeyFeatures:"filled"};function Ni(e){return Roe[e]??_oe}function NR(e,o){return mo(DR,Ni(o),e)}function p2e(e){return mo(DR,Aoe,e)}var dy="cardPlace";function h2e(e){return e[dy]==="top-line"?"top-line":""}var x2e="absolute left-5 top-0 z-10 -translate-y-1/2 bg-bg px-2",g2e="data-sf-top-line",Loe=new Set(["Cards",Ro]);function I2e(e){return typeof e=="string"&&Loe.has(e)}var Foe=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 b2e(e,o,t){return!t||!o?.linesBetween||o.index!==0?e:Foe(e)?{...e,top:0}:e}var y2e="outsideFramedCard";function v2e(e){return typeof e=="string"?e.trim():""}var C2e="data-sf-box-link",MR="absolute inset-0 -z-[1] outline-none focus-visible:z-[2] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent",k2e="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",Boe="data-sf-box-jump";function Doe(e){return`sf-box-jump-${e}`}function T2e(e,o){return e===!0?Ic(o):""}function Noe({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 P2e(e){let o=`[${Boe}="${e}"]`,t=`.${Doe(e)}`,a=`[id="${e}"]:target`;return Noe({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 Moe=["selected","highlighted"],Hoe="data-sf-card-state",A2e="pointer-events-none absolute inset-0 border border-accent",R2e="pointer-events-none absolute inset-x-0 bottom-0 border-b-2 border-accent";function Woe(e){return e?Moe.filter(o=>e[o]===!0).join(" "):""}function L2e(e){let o=Woe(e);return o?{[Hoe]:o,className:"relative"}:{}}var Goe={highlighted:!0},$oe={},uu="badge";function F2e(e,o=[]){return e.map((t,a)=>({...t,key:t.key||o[a]?.key||ml(t,a)}))}function B2e(e){return!e||typeof e!="object"?!1:Object.entries(e).some(([o,t])=>o==="key"||o===uu||o==="state"?!1:typeof t=="string"?t.trim()!=="":Array.isArray(t)?t.length>0:t!=null&&typeof t!="function")}function D2e(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,[uu]:s===r?t:""})),states:e.map((n,s)=>s===r?Goe:$oe)}}function N2e(e){return{chosen:typeof e.highlightedCard=="string"?e.highlightedCard.trim():"",badge:typeof e.highlightBadge=="string"?e.highlightBadge:""}}function M2e(e){if(!e||typeof e!="object")return;let o=e.press;return typeof o=="function"?{press:o}:void 0}var H2e="data-sf-card-press",W2e=`${MR} appearance-none bg-transparent border-0 p-0 m-0 cursor-pointer`;var mu={sectionBorder:{top:0,right:1,bottom:1,left:0},..._a("background")},zoe={gap:0,gapPhone:0,sectionBorder:{top:1,right:0,bottom:0,left:1},shadow:!0},hu=e=>({direction:"row",columns:e,columnsTablet:e,...zoe}),HR=(e={})=>re(uu,{...G,tag:"p",[dy]:"top-line"},e,!0),WR=(e=Ra)=>{let o=gh(e);return{...o,props:{...mu,...o.props},slots:{[se]:[...o.slots?.[se]??[],HR()]}}},cy=(e=!1)=>{let o=Ih(e);return{...o,props:{...mu,...o.props}}},Uoe={name:"name",time:"time",note:"note",price:"price"},joe={textStyle:"body-1",...M("body",16),weight:500,lineHeight:1.5},Koe={..._o,...M("label",12),letterSpacing:.18,lineHeight:1.5},Voe={textStyle:"body-1",...M("body",14),lineHeight:1.6},qoe={textStyle:"body-1",fontRole:"heading",...M("headingSmall",20),weight:500,color:"accent",lineHeight:1.5},Yoe={...M("label",11),letterSpacing:.25},Xoe={gap:16,gapPhone:16,sectionBorder:{top:0,right:0,bottom:0,left:0},shadow:!1},Joe=e=>({direction:"row",columns:e,...Xoe}),V2e=[...new Set([...Object.keys(hu(1)),...Object.keys(Joe(1))])],q2e=()=>{let e=Uoe,o={tag:"p",widthFit:"fill"};return{type:K,props:{..._,name:"Card",justify:"between",gap:16,gapPhone:16,...Ye(24),sectionBorder:{top:1,right:1,bottom:1,left:1},..._a("surface"),shadow:!0},slots:{[se]:[HR(Yoe),{type:K,props:{..._,name:"Words",gap:8,gapPhone:8},slots:{[se]:[re(e.name,{...G,...o},joe),re(e.time,{...Y,...o},Koe),re(e.note,{...Y,...o},Voe)]}},re(e.price,{...G,...o},qoe)]}}};function Fs(e){if(e==="ProductGrid")return"shelf";let o=Ao[e]?.headStyle;return o==="editorial"||o==="simple"||o==="essay"?o:"standard"}var gu={standard:64,editorial:60,simple:36,essay:28,shelf:20},Zoe={SectionHeader:"accent",FAQ:"accent",FitmentFinder:"accent",FitmentTable:"accent",SpecTable:"accent",RelatedProducts:"accent",Collections:"accentNum"};function Qoe(e){if(e==="SectionHeader")return{num:"num",title:"title",description:"description",link:!0};let o=Ao[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 Iu(e,o,t){let a=`editorial:${e}|${o}|${t}`,r=xu.get(a);if(r)return r;let n=UR({num:e,title:o,description:t,link:!1});return xu.set(a,n),n}var py={top:0,right:0,bottom:1,left:0},Uo=(e,o,t,a)=>({sizeToken:{step:e,px:a,fluid:{minPx:o,vw:t}}}),bu=(e,o,t={})=>pe(e,{...M("label",o),...t}),yu=(e,o)=>({kind:"text",key:e,role:"heading",props:G,style:{textStyle:"heading-2",...o}}),uy=800,my=(e,o,t,a)=>({kind:"text",key:e,props:{...Y,align:"right",alignPhone:"left",...t?{maxWidth:t,maxWidthPhone:uy}:{}},style:{textStyle:"body-5",fontRole:"heading",alignPhone:"left",...M("body",o),...a}}),zR={...fo,align:"right",alignPhone:"left",...an,icon:"arrow-right",iconPosition:"after"},fy=e=>({kind:"button",key:"linkText",href:"linkHref",variant:"ghost",props:zR,style:{...It(e),color:"labels"}}),GR=(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"?ete(bt()):{},...t.style}}}}},ete=e=>e._partStyles.text??{},Ls={widthFitPhone:"fill"};function hy(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),...Ls}):{...o,...Ls}}}return{...e,parts:e.parts.map(hy)}}function ote(e,o){let t=Zoe[e],a=t==="accent",r=bu(o.num,14,{color:a?"accent":"labels"}),n=t==="accentNum"&&r.kind==="text"?{...r,mark:"accentLead"}:r,s=yu(o.title,a?{...Uo("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:py,sectionPaddingBottom:24,sectionPaddingBottomPhone:20},parts:[{kind:"group",name:"Title",props:{..._,...Ls,direction:"row",align:"end",gap:40,gapPhone:12,share:"content"},parts:[{kind:"group",name:"Number",props:{..._,...Ls,align:"start",gap:12},parts:[{kind:"image",key:"logoSrc",alt:"logoAlt",props:{aspect:"auto",contained:!1}},n,...l?[GR(o.num,"==01== / Collections",n)]:[]]},{kind:"group",name:"Heading",props:{..._,...Ls},parts:[s,...l?[GR(o.title,`Three ranges,
|
|
75
|
-
one standard.`,s)]:[]]}]},{kind:"group",name:"Words",props:{..._,...Ls,gap:12,maxWidth:340,maxWidthPhone:uy},parts:[...o.description?[my(o.description,14,void 0,{lineHeight:1.5})]:[],...o.link?[fy(14)]:[],...l?[{kind:"block",type:"ButtonBlock",props:{...zR,variant:"ghost",label:"View all",href:"/wheels",_partStyles:{label:fy(14).style}}}]:[]]}]}}function UR(e){return{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:14,share:"content",sectionBorder:py,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:[{...bu(e.num,13),props:{...G,...on}}]},yu(e.title,{...Uo("headingMedium",40,5.5,80),case:"upper",weight:500,lineHeight:1,letterSpacing:-.03})]},{kind:"group",name:"Words",props:{..._,sectionPaddingBottom:4,maxWidth:360,maxWidthPhone:uy},parts:e.description?[my(e.description,14,void 0,{lineHeight:1.5})]:[]}]}}function $R(e,o){return{kind:"group",name:"Header",props:{..._,gap:16,gapPhone:16},parts:[bu(e.num,13),yu(e.title,o)]}}var jR=[["para",{...It(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}]],tte=e=>jR.some(([o])=>o===e.titleSize)?e.titleSize:"lg";function ate(e){return{kind:"group",name:"Header",props:{..._,direction:"row",align:"center",justify:"between",gap:16,share:"content",stickTop:!0,sectionBorder:py,sectionPaddingTop:12,sectionPaddingBottom:12},parts:[{kind:"group",name:"Title",props:{..._,direction:"row",align:"end",gap:24,share:"content"},parts:[bu(e.num,13,{color:"labels",letterSpacing:.22,lineHeight:1}),...jR.map(([o,t])=>({...yu(e.title,t),when:a=>tte(a)===o}))]},{kind:"group",name:"Words",props:{..._,direction:"row",align:"center",justify:"end",gap:20,share:"content"},parts:[...e.description?[my(e.description,13,340,{lineHeight:1.4})]:[],...e.link?[fy(13)]:[]]}]}}function Su(e){return Fs(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 xu=new Map,xy={...M("headingMedium",44,32),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02};function st(e){let o=xu.get(e);if(o)return o;let t=Qoe(e),a=Fs(e),r=a==="editorial"?UR(t):a==="simple"?$R(t,xy):a==="essay"?$R(t,{...M("headingMedium",38,28,"headingSmall"),case:"upper",lineHeight:1,letterSpacing:-.02}):a==="shelf"?ate(t):ote(e,t);return xu.set(e,r),r}var nn={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:ko,Stats:void 0};var Mi=(e,o,t,a)=>({sectionBorder:{top:e,right:o,bottom:t,left:a}}),rL=e=>o=>LR(j(o.columns)??j(e.columns)),ste="inline is the head the row draws; an own-box node is skipped (`skip`)",lte={kind:"text",key:"title",role:"heading",props:G,style:{textStyle:"heading-3",...xy}},KR={top:120,bottom:120,topPhone:80,bottomPhone:80,topTablet:80,bottomTablet:80},vu=e=>{let o=jt(typeof e.background=="string"?e.background:void 0,nn.Series);return o&&o!=="transparent"?o:void 0},wu=e=>vu(e)===ko,ite={..._,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},VR={..._,direction:"row",justify:"between",gap:12,share:"content",phoneRow:2,[by("share")]:"content"},dte=e=>{let o=vu(e)?1:2;return{..._,direction:"row",columns:4,columnsTablet:2,gap:o,gapPhone:o}},gy={...It(12),letterSpacing:.22,lineHeight:1.5},qR=e=>Xe(e.viewLabel)&&!yy(e.viewLabel).hidden,lt=e=>yy(e).text?.trim?.()??"",Cu=e=>Object.fromEntries(Object.entries(e).filter(([,o])=>J(o)!==void 0)),Sy=e=>e.map(([o,t,a])=>({key:o,label:t,...a?{multiline:!0}:{}})),cte=Sy([["num","Number"],["since","Corner note"],["title","Card title"],["body","Card body",!0],["count","Count"],["countLabel","Count word"]]),fte=Sy([["label","Label"],["value","Value"],["body","Card body",!0]]),Hi=(e,o,t,a,r,{reads:n=["cards"],keep:s=[]}={})=>({kind:"group",name:e,props:o,parts:[{kind:"core",as:Ro,headless:!0,keep:s,derive:{reads:n,props:l=>oc(a(l),t)},slots:(l,d)=>({[eo]:[r(l,d)]})}]}),nL=e=>Array.isArray(e.cards)?e.cards:[],YR={top:76,bottom:76,topPhone:76,bottomPhone:76},sL=e=>(Array.isArray(e.items)?e.items:[]).map(o=>Cu({title:lt(o?.label),href:typeof o?.href=="string"?o.href.trim():""})).filter(o=>o.title!==void 0).map((o,t)=>({key:ml(Ph(o),t),...o})),pte=e=>sL(e).some(o=>J(o.href)!==void 0),lL=[{key:sl.label,label:"Feature label"},{key:sl.href,label:"Link",kind:"link"}],XR=e=>NR(e.eyebrowLook,"KeyFeatures")==="filled",ute={name:"Key Features",boxProps:(e,o)=>({...Q,direction:"column",gap:44,gapPhone:32,...zo("surface")(e,o),...Mi(1,0,1,0),...de(e,YR)}),box:[...ae,...ye(YR)],parts:[{kind:"group",name:"Heading",props:{..._,direction:"row",align:"end",gap:20,wrap:!0,share:"content",phoneRow:2,[by("share")]:"content"},parts:[{...iu("eyebrow"),when:XR},{...pe("eyebrow"),when:e=>!XR(e)},lte]},Hi("Cards",e=>({..._,...hu(rL(BR.defaultProps)(e))}),lL,sL,e=>cy(pte(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"}},JR={top:72,bottom:72,topPhone:72,bottomPhone:72},ZR=(e,o)=>({...mu,...zo("background")(e,o)}),QR=e=>{let o=rL(FR.defaultProps)(e);return{..._,...hu(o)}},mte=Sy([["title","Card title"],["body","Card body",!0]]),iL=e=>(Array.isArray(e.items)?e.items:[]).map((o,t)=>({key:typeof o?.key=="string"&&o.key?o.key:ml(Ph(o),t),title:lt(o?.title),body:lt(o?.body)})),dL=e=>{let o={},t={};for(let[a,r]of Object.entries(e.props??{}))a!=="id"&&(rte(r)?t[a]=r.map(dL):o[a]=r);return{type:String(e.type),props:o,...Object.keys(t).length?{slots:t}:{}}},eL=(e,o)=>{let t=Iy(e)?cy(hte(e)):WR(),a=Array.isArray(e.template)?e.template.map(dL):[t],[r]=a;return a.length===1&&r.type===K?{...r,props:{...ZR(e,o),...r.props}}:{type:K,props:{..._,...ZR(e,o),name:"Card"},slots:{[se]:a}}},Iy=e=>e.cardStyle==="label-only",cL=e=>iL(e).map((o,t)=>{let a=e.items[t]?.href;return Cu({key:o.key,title:o.title,href:typeof a=="string"?a.trim():""})}),hte=e=>cL(e).some(o=>J(o.href)!==void 0),oL=e=>Array.isArray(e.template)&&e.template.length===0,tL=["dataSource","dataSourceOptions","highlightedCard","highlightBadge"];function fL(){let e=t=>({key:nte("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 xte={name:"Cards",ownBoxConverts:!0,boxProps:(e,o)=>({...Q,direction:"column",gap:36,gapPhone:28,...zo("surface")(e,o),...de(e,JR)}),box:[...ae,...ye(JR)],parts:[{...st("Cards"),when:e=>!ay(e)},{...Hi("Cards",QR,mte,iL,eL,{reads:["items"],keep:tL}),when:e=>!oL(e)&&!Iy(e)},{...Hi("Cards",QR,lL,cL,eL,{reads:["items"],keep:tL}),when:e=>!oL(e)&&Iy(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)"}},gte={name:"Recurring Columns",boxProps:(e,o)=>({...Q,direction:"column",gap:60,gapPhone:60,...Mi(0,0,1,0),...wu(e)?rn(e,o):{},...fu(vu(e),e,o),...de(e,KR)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>wu(o)?Qa(e,o,t):e],...ye(KR)],skip:e=>pu(vu(e)),site:(e,o)=>wu(e.props)?er(e,o):[],parts:[st("Series"),Hi("Cards",dte,cte,e=>nL(e).map(o=>Cu({num:lt(o.num),since:lt(o.since),title:lt(o.title),body:lt(o.desc),count:lt(o.entries),countLabel:lt(o.entriesLabel)})),(e,o)=>({type:K,props:{...ite,...zo("background",(t,a)=>wu(t)&&cu(t,a))(e,o),name:"Card"},slots:{[se]:[{type:K,props:{..._,name:"Words",gap:16,gapPhone:16},slots:{[se]:[{type:K,props:{...VR,name:"Top"},slots:{[se]:[re("num",G,M("label",13),!0),re("since",G,M("label",13),!0)]}},re("title",{...G,tag:"h3"},{textStyle:"heading-3",...M("headingSmall",28),weight:500,case:"upper",lineHeight:1.04,letterSpacing:-.02}),re("body",Y,{textStyle:"body-5",fontRole:"heading",...M("body",14),lineHeight:1.6})]}},{type:K,props:{...VR,name:"Footer",align:"center",gap:0,gapPhone:0,sectionPaddingTop:16,sectionPaddingTopPhone:16,...Mi(1,0,0,0),...qR(e)?{}:{[Eh]:["count","countLabel"]}},slots:{[se]:[{type:K,props:{..._,name:"Count",direction:"row",align:"center",gap:12,gapPhone:12,share:"content",phoneRow:2,[by("share")]:"content"},slots:{[se]:[re("count",G,gy),re("countLabel",Y,gy)]}},...qR(e)?[{type:K,props:{..._,name:"View",maxWidthPhone:266},slots:{[se]:[{type:"Text",props:{...G,text:yy(e.viewLabel).text,_partStyles:{text:{...bt()._partStyles.text,...gy}}}}]}}]:[]]}}]}}))],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:ste}},aL={top:60,bottom:60,topPhone:40,bottomPhone:40},Ite={..._,direction:"row",columns:3,gap:40,gapPhone:16},bte={..._,gap:8,gapPhone:8,...Ye(24),...Mi(1,1,1,1)},yte={name:"Document Detail Cards",boxProps:e=>({...Q,direction:"column",gap:40,gapPhone:16,...Mi(0,0,1,0),...de(e,aL)}),box:[...ae,...ye(aL)],parts:[Hi("Cards",Ite,fte,e=>nL(e).map(o=>Cu({label:lt(o.label),value:lt(o.value),body:lt(o.desc)})),(e,o)=>({type:K,props:{...bte,...zo("surface")(e,o),name:"Card"},slots:{[se]:[re("label",G,{...M("label",12),lineHeight:1.5},!0),{type:K,props:{..._,name:"Words",gap:14,gapPhone:14},slots:{[se]:[re("value",G,{textStyle:"heading-3",...M("headingSmall",20),weight:500,letterSpacing:-.015,lineHeight:1.5}),re("body",Y,{textStyle:"body-5",fontRole:"accent",...M("body",14),italic:!0,lineHeight:1.5})]}}]}}))],drop:{...oe,...ce}},pL={Cards:xte,KeyFeatures:ute,Series:gte,DocMetaCards:yte};import{phoneKey as Cte}from"efficient-easel/draw";import{newId as kte}from"efficient-easel/data";import{phoneKey as Ste}from"efficient-easel/draw";import{isNode as Wi}from"efficient-easel/data";var Bs="cardStyle";function uL(e){let{widthPhone:o,...t}=e;return e.widthFitPhone==="fixed"?{...t,widthFitPhone:"fill"}:{...e}}var ku={table:{items:{gap:0,gapPhone:0,columnsTablet:2},grid:{gap:0},row:{gap:0,[Ste("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}}}},it={table:{...ku.table,listCard:uL(ku.table.card)},list:{...ku.list,listCard:uL(ku.list.card)}},EMe=[{label:"Table",value:"table"},{label:"List",value:"list"}],OMe=e=>e==="table"||e==="list",wte=e=>[...new Set([...Object.keys(it.table[e]),...Object.keys(it.list[e])])];function Gi(e,o,t){let a={...e};for(let r of wte(o))delete a[r];return{...a,...structuredClone(it[t][o])}}function vte(e,o,t){let a=e.props??{},r=Array.isArray(a[eo])?a[eo]:[],n=r.findIndex(d=>Wi(d)&&d.type===t);if(n<0)return e;let s=r[n],l=r.map((d,c)=>c===n?{...s,props:Gi(s.props??{},"listCard",o)}:d);return{...e,props:{...a,[eo]:l}}}function _Me(e,o,t,a){let r=Array.isArray(e[a])?e[a]:[];if(r.some(s=>Wi(s)&&s.type===Ro)){let s=r.map(l=>Wi(l)&&l.type===Ro?vte(l,o,t):l);return{...Gi(e,"items",o),[Bs]:o,[a]:s}}let n=r.map(s=>{if(!Wi(s)||s.type!==t)return s;let l=s.props??{},d=(Array.isArray(l[a])?l[a]:[]).map(c=>Wi(c)&&c.type===t?{...c,props:Gi(c.props??{},"card",o)}:c);return{...s,props:{...Gi(l,"row",o),[a]:d}}});return{...Gi(e,"grid",o),[Bs]:o,[a]:n}}var wy=e=>typeof e=="string"?e.trim():"";function mL(e){let o=`${wy(e.prefix)}${wy(e.value)}`,t=wy(e.suffix);return e.emphasizeAll===!0?o?`==_${o}_==`:"":`${o}${t?`==_${t}_==`:""}`}var gL={textStyle:"heading-2",...Uo("headingMedium",56,7,96),weight:500,case:"none",lineHeight:.9,letterSpacing:-.04},vy={kind:"block",type:"Text",props:{...tn,_partStyles:{text:gL}},box:[["value","text",(e,o)=>mL(o)]],when:(e,o)=>o!==void 0&&typeof o.value=="string"&&mL(o)!==""},hL=e=>Xe(e?.supSuffix),IL={textStyle:"body-1",fontRole:"heading",...M("body",16),lineHeight:1.5,letterSpacing:-.01},bL={color:"labels",...M("label",12),lineHeight:1.5,letterSpacing:.24},yL={..._,direction:"row",align:"start",gap:32,gapPhone:32,share:"content",phoneRow:2,[Cte("share")]:"content"},SL={textStyle:"body-5",...M("label",13),weight:500,color:"accent",letterSpacing:.18,lineHeight:1,padding:12},Cy=e=>jt(e.background,nn.StatsParagraph),$i=e=>Cy(e)===ko,Tu=e=>({...e,sectionAccent:e.sectionAccent??0}),Tte=(e,o)=>$i(e)?zo("background",(t,a)=>cu(Tu(t),a))(e,o):{},Pte={name:"Stats with Text",skip:e=>Cy(e)&&Cy(e)!=="transparent"&&!$i(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},...Fo(e,"StatsParagraph"),...$i(e)?rn(Tu(e),o):{}}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>$i(o)?Qa(e,Tu(o),t):e],...Ja("StatsParagraph")],site:(e,o)=>$i(e.props)?er({props:Tu(e.props)},o):[],parts:[st("StatsParagraph"),{kind:"group",name:"Stats",props:{..._,...it.table.grid,[Bs]:"table"},parts:[{kind:"list",key:"stats",name:"Stat",perRow:()=>4,rowName:"Stats row",rowProps:{..._,direction:"row",share:"equal",phoneRow:2,...it.table.row},props:(e,o)=>({..._,...it.table.card,...Tte(e,o)}),parts:[{...vy,when:(e,o)=>!hL(o)&&vy.when(e,o)},{kind:"group",name:"Figure",props:yL,when:(e,o)=>hL(o),parts:[vy,{kind:"text",key:"supSuffix",props:G,style:SL}]},{kind:"group",name:"Words",props:{..._,gap:4,gapPhone:4},parts:[{kind:"text",key:"label",props:G,style:IL},pe("sub",bL)]}]}]}],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"}},Ete=new Set(["value","label",gt]),xL={top:48,bottom:48,topPhone:48,bottomPhone:48},Ote=e=>{let o=jt(typeof e.background=="string"?e.background:void 0,nn.Stats);return!!o&&o!=="transparent"},_te={name:"Stats",skip:e=>Ote(e)?"it paints a colour inside its padding, and a Box paints its Fill over the padding too":Xe(e.dataSource)?"its figures come from a source":Array.isArray(e.items)&&e.items.some(o=>Xe(o?.[gt]))?"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=>!Ete.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,xL)}),box:[...ae,...ye(xL)],parts:[pe("heading",{color:"labels",...M("label",12),letterSpacing:.2}),{kind:"group",name:"Stats",props:{..._,...it.list.grid,[Bs]:"list"},parts:[{kind:"list",key:"items",name:"Stat",perRow:e=>j(e.columns)??4,rowName:"Stats row",rowProps:{..._,direction:"row",share:"equal",phoneRow:2,...it.list.row},props:{..._,...it.list.card},parts:[{kind:"text",key:"value",props:tn,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"}},wL={StatsParagraph:Pte,Stats:_te};function vL(){return{eyebrow:i("By the numbers"),title:i("What we count."),desc:i("A few numbers that matter to us."),stats:[],background:"transparent"}}var Ate=[{key:"figure",label:"Figure"},{key:"superscript",label:"Superscript"},{key:"label",label:"Label"},{key:"body",label:"Text",multiline:!0}];function CL(){let e=(o,t,a,r="")=>({key:kte("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 Rte(e){return{type:K,props:{..._,name:"Card",...structuredClone(it[e].listCard)},slots:{[se]:[{type:K,props:{...yL,name:"Figure"},slots:{[se]:[re("figure",tn,gL),re("superscript",G,SL)]}},{type:K,props:{..._,name:"Words",gap:4,gapPhone:4},slots:{[se]:[re("label",{...G,widthFit:"fill"},IL),re("body",{...G,widthFit:"fill"},bL,!0)]}}]}}}function ky(e,o,t=4){return{type:K,props:{..._,name:"Stats",direction:"row",columns:t,...structuredClone(it[o].items),[Bs]:o},slots:{[se]:[{type:Ro,props:oc(e,Ate),slots:{[eo]:[Rte(o)]}}]}}}var kL={heading:"Trusted by *teams worldwide*"},TL=()=>[{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")}],Lte={logos:{type:"slot",allow:["LogoBlock"]},template:{type:"slot",allow:["LogoBlock"]}},qMe={label:"Logos",fields:Lte,defaultProps:{items:[],contained:!0}};var PL={heading:"Ways to pay"},EL=()=>[{label:"Visa"},{label:"Mastercard"},{label:"Amex"},{label:"PayPal"}],OL=()=>[{text:i("Secure encrypted checkout")},{text:i("30-day returns")}],JMe={label:"Payment Methods",defaultProps:{heading:"",badges:[],assurances:[],contained:!0}};var eHe={left:"justify-start",center:"justify-center",right:"justify-end"},Fte={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"}},Bte={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"}},Dte={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"}},Nte={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 Pu(e){return e==="left"||e==="center"||e==="right"?e:void 0}function _L(e){return e==="start"?"left":e==="end"?"right":Pu(e)}function Mte(e,o,t){let a=Pu(e)??"left",r=Ko("same",a,Pu(o),Pu(t)),n={};return r.tablet&&r.tablet!==a&&(n.tablet=r.tablet),r.phone&&r.phone!==a&&(n.phone=r.phone),n}function oHe(e,o,t,a,{atSectionLine:r=!1}={}){let n=Mte(o,t,a),s=r?Dte:Fte,l=r?Nte:Bte;return[n.tablet?s[e][n.tablet]:"",n.phone?l[e][n.phone]:""].filter(Boolean).join(" ")}import{phoneKey as Py,readHidable as Hte}from"efficient-easel/draw";var Ey={contained:!1},Oy=(e,o)=>({logos:[{kind:"list",key:e,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[o,"alt"]],when:(t,a)=>Xe(a?.src)||Xe(a?.[o])}]}]}),Ty=e=>{let o=j(e.bandPadding)??40;return{top:o,bottom:o,topPhone:o,bottomPhone:o}},Wte={...pe("heading",{color:"labels",letterSpacing:.2}),props:{...G,align:"center"}},Gte={name:"Logos",boxProps:e=>({...Q,direction:"column",gap:32,...de(e,Ty(e))}),box:[...ae,...ye(Ty),["bandPadding","sectionPaddingTop",(e,o)=>de(o,Ty(o)).sectionPaddingTop]],parts:[Wte,{kind:"core",keep:["columns","logoHeight","grayscale"],rename:{logosPerRow:"columns"},props:Ey,slots:Oy("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"}},$te={kind:"group",name:"Mark",keepEmpty:!0,parts:[],props:jd(4,"main",{sectionCorners:2})},AL={top:24,bottom:24,topPhone:24,bottomPhone:24},zte={name:"Payment Methods",boxProps:e=>({...Q,direction:"column",...de(e,AL)}),box:[...ae,...ye(AL)],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:[Oo,ea],props:e=>Xe(e[Oo])?{[Oo]:e[Oo],...e[ea]!==void 0?{[ea]:e[ea]}:{}}:{}},props:{...Ey,look:"cards",grayscale:!1},slots:e=>({...Oy("badges","label"),...Xe(e[Oo])?{[eo]:[qd()]}:{}})},{kind:"group",name:"Reassurance",props:{..._,direction:"row",wrap:!0,justify:"center",gap:24,gapPhone:24,phoneRow:2,[Py("share")]:"content"},parts:[{kind:"list",key:"assurances",name:"Line",of:e=>(Array.isArray(e.assurances)?e.assurances:[]).filter(o=>Xe(o?.text)),props:{..._,direction:"row",align:"center",gap:8,gapPhone:8,phoneRow:2,[Py("share")]:"content"},item:e=>Hte(e.text).hidden?{props:{_hidden:!0}}:{},parts:[$te,{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`)"}},Ute={left:"start",center:"center",right:"end"},RL=e=>_L(e.align)??"left",LL=e=>e.size==="md"?"md":"sm",FL=12,BL={name:"Payment logos",boxProps:e=>({..._,direction:"row",wrap:!0,align:"center",justify:Ute[RL(e)],gap:FL,gapPhone:FL,phoneRow:2,[Py("share")]:"content"}),parts:[{kind:"text",key:"lead",props:Y,styleFrom:e=>({size:Ps[LL(e)],lineHeight:1.5})},{kind:"core",keep:[],as:"Logos",derive:{reads:[Oo,ea],props:e=>({logoHeight:xR[LL(e)].mark,align:RL(e),...Xe(e[Oo])?{[Oo]:e[Oo],...e[ea]!==void 0?{[ea]:e[ea]}:{}}:{}})},props:{...Ey,look:"marks",grayscale:!1,sectionAccent:ot},slots:e=>({...Oy("methods","label"),...Xe(e[Oo])?{[eo]:[qd()]}:{}})}],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"}},DL={Logos:Gte,PaymentBadges:zte,FooterPayment:BL,PaymentLogosBlock:BL},NL=()=>({heading:kL.heading,items:TL()}),ML=()=>({heading:PL.heading,badges:EL(),assurances:OL()}),HL=()=>({...Gc,methods:[]});import{mixHex as Kte}from"efficient-shell/format";var IHe="none",bHe=[{label:"Nothing",value:"none"},{label:"Section above",value:"above"},{label:"Section below",value:"below"}];function WL(e){return e==="above"||e==="below"?e:null}var yHe="sf-ticker-join";function jte(e){return e==="above"?"sf-ticker-join-above":"sf-ticker-join-below"}function SHe(e){return`absolute inset-x-0 ${jte(e)}`}var sn={direction:"row",share:"content",align:"center"},zi={top:14,bottom:14,topPhone:12,bottomPhone:12},Eu={wrap:"nowrap",loop:"scroll",sectionAccent:Vx,gap:60,gapPhone:32,separator:"dot",sectionBorder:{top:1,bottom:1}},GL={gap:120,gapPhone:64},Ou={..._o,sizeToken:{step:"label",px:14,pxPhone:12},letterSpacing:.25,lineHeight:1.5},$L={textStyle:"heading-3",letterSpacing:.005,case:"upper",lineHeight:1},Ui={top:16,bottom:16,topPhone:12,bottomPhone:12},ji={justify:"between",wrap:"wrap",gap:32,separator:"none"},Ki={..._o,letterSpacing:.1,lineHeight:1.5};var zL=e=>e.size==="display",Vte=(e,o)=>{let t=du(e,o),a=e.tone!=="plain"&&t?.text&&t.background?Kte(t.text,t.background,.3):null;return a?{color:a}:{}},qte=(e,o)=>e.tone!=="plain"&&St(e.sectionAccent)===null?zo("background")(e,o):{},UL=(e,o)=>({kind:"list",key:"items",name:"Item",flat:!0,when:o,parts:[{kind:"text",key:"text",props:Y,style:e,styleFrom:Vte}]}),Yte={name:"Scrolling Bar",boxProps:(e,o)=>({...Q,...sn,...Eu,...Wd[ol(e.separator)]===""?GL:{},...de(e,zi),...qte(e,o)}),box:[["scrollDirection","scrollDirection",e=>u1(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=>ol(e)],["join","join",e=>WL(e)??void 0],["borders","sectionBorder",e=>e===!1?void 0:{top:1,bottom:1}],...ae,["tone","sectionAccent",(e,o)=>St(o.sectionAccent)??ot],...ye(zi)],parts:[UL(Ou,e=>!zL(e)),UL($L,zL)],drop:{...oe,...ce,size:"each item's Text style: Small \u2192 Body 5, Display \u2192 Heading 3"}},jL=e=>e?.tone==="muted",KL=e=>wd(en(e)),Xte={name:"Spec Strip",boxProps:(e,o)=>({...Q,...sn,...ji,...e.fill==="none"?{sectionBorder:{top:1}}:{sectionAccent:KL(o)},...de(e,Ui)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>o.fill==="none"?e:KL(t)],...ye(Ui)],parts:[{kind:"list",key:"cells",name:"Cell",flat:!0,parts:[{kind:"text",key:"text",props:G,style:Ki,when:(e,o)=>!jL(o)},{kind:"text",key:"text",props:Y,style:Ki,when:(e,o)=>jL(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"}},VL={Ticker:Yte,SpecStrip:Xte};import{jsxs as Xi,jsx as Ke}from"react/jsx-runtime";import{Fragment as sF}from"react";import{Fragment as fae,jsx as By}from"react/jsx-runtime";import{Fragment as XL,jsx as Vi,jsxs as aae}from"react/jsx-runtime";import{createContext as Fy,useContext as qi,useEffect as rae,useId as nae,useMemo as sae,useRef as lae}from"react";import{armEntrance as iae}from"efficient-shell/format";import{jsx as Jte}from"react/jsx-runtime";import{useEffect as YL,useRef as qL,useState as Zte}from"react";import{armEntrance as Qte,entranceAttrs as eae,playEntrance as oae}from"efficient-shell/format";function Ay({desktop:e,phone:o,editing:t,boxClass:a,boxAttrs:r,boxStyle:n,takesViewHide:s=!1,atEdge:l=!1,children:d}){let c=qL(null),f=Rw(),u=Tn(),p=s?u:Td,x=Ry(c,!0,l),g=x?o:e,{attrs:I,style:k}=eae(g),S=qL(_y.seed(e,o)),v=JSON.stringify(e),b=JSON.stringify(o);return YL(()=>{let C=c.current;if(C){if(t){let T=_y.next(S.current,e,o,x);S.current=T.seen,T.play&&oae(C);return}return Qte(C)}},[v,b,x,t]),p.scope(Jte("div",{ref:c,className:Pn(`${Sp}${f.fill}${a?` ${a}`:""}`,p.className),...r,...p.attrs,...I,...Object.keys(k).length||n?{style:{...n,...k}}:{},children:f.inner(d)}))}var _y={seed(e,o){return{desktop:JSON.stringify(e),phone:JSON.stringify(o)}},next(e,o,t,a){let r=_y.seed(o,t);return{play:a?r.phone!==e.phone:r.desktop!==e.desktop,seen:r}}};function tae(e){return e?Kf:ss}function Ry(e,o=!0,t=!1){let[a,r]=Zte(!1),n=tae(kd()||t);return YL(()=>{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 _u=Fy(null),ZL=Fy(null),QL=Fy(null);function ZHe({needles:e,styles:o,motions:t=fA,type:a,atEdge:r=!1,children:n}){let s=nae(),l=kd()||r,d=JSON.stringify([s,e,o,t,a]),c=sae(()=>{let u=Object.keys(t).filter(p=>uA(t[p]));return RO(e,o,s,p=>Si(a,p),p=>PO(a,p),p=>u.includes(p)?Wb(t[p]):null,u)},[d]);if(!c)return Vi(XL,{children:n});let f=LO(c,{inBox:l});return aae(XL,{children:[f&&Vi("style",{href:`${dae}${s}-${cae(f)}`,precedence:oF,dangerouslySetInnerHTML:{__html:f.replace(/</g,"\\3c ")}}),Vi(_u.Provider,{value:c,children:n})]})}var Ly=new WeakMap;function JL(e,o){let t=hA(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)?(gA(e.ownerDocument),e.setAttribute(Mp,"")):e.removeAttribute(Mp)}function eF(e){let o=lae(null),t=e?.motion?.entrance??null,a=e?.motion?.hover==="lift",r=Ry(o,t!==null),n=JSON.stringify(t);return rae(()=>{let s=o.current,l=xA(s?.parentElement??null);if(!t&&!a||!s||!l)return;let d=t?()=>{let u=mA(l,r?t.phone:t.desktop),p=iae(l);return()=>{p?.(),u()}}:null,c=Ly.get(l)??[];Ly.set(l,c);let f={element:s,arm:d,lift:a};return c.push(f),JL(l,c),()=>{let u=c.indexOf(f);u<0||(c.splice(u,1),f.undo?.(),f.undo=void 0,JL(l,c),c.length||Ly.delete(l))}},[n,a,r]),o}var oF="sf-part-styles",dae=`${oF}-`;function cae(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 tF(e){let o=qi(_u),t=qi(ZL),a=FO(o,e);return a&&a.stamp!==t?a:null}function QHe(e){return CI(qi(_u),e)}function aF({stamp:e,children:o}){return Vi(ZL.Provider,{value:e,children:o})}function e4e({children:e}){let o=qi(_u);return Vi(QL.Provider,{value:o,children:e})}function o4e(e){return CI(qi(QL),e)}function Yi({value:e,children:o}){let t=tF(e),a=eF(t);return t?By(aF,{stamp:t.stamp,children:By("span",{ref:a,[mI]:t.stamp,...t.textStyle?{[ds]:t.textStyle}:{},children:o})}):By(fae,{children:o})}import{jsx as Dy,Fragment as pae}from"react/jsx-runtime";function rF({className:e=""}){return Dy("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function Au(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(Dy(rF,{},`r${r}`))}),Dy(pae,{children:t})}var i4e=rF;function ba(e,o=!1,t){let a=yae(o),r=Zs(e);if(r.length===1){let[s]=r,l=Wm(s),d=l?Iae(l,s.children):s.children;return Xi(Yi,{value:e,children:[t,Ru(d,a)]})}let n=[];return r.forEach((s,l)=>{if(s.bullet){n.push(Ke("span",{"data-sf-bullet":"",className:uae,children:Ru(s.children,a)},l));return}if(s.number!=null){n.push(Xi("span",{"data-sf-number":s.number,className:mae,children:[Xi("span",{className:hae,children:[s.number,"."]}),Ru(s.children,a)]},l));return}l>0&&!xae(r[l-1])&&n.push(Ke("br",{},`br${l}`)),n.push(Ke(sF,{children:Ru(s.children,a)},l))}),Xi(Yi,{value:e,children:[t,n]})}var uae="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",mae="relative block pl-[2em]",hae="absolute left-0 w-[1.6em] text-right tabular-nums";function xae(e){return e.bullet||e.number!=null}var gae="text-accent underline underline-offset-[0.18em]";function Iae(e,o){let[t,...a]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...a]:[{kind:"text",text:e},...o]}function bae(e){return Wn(e)||void 0}function Ru(e,o){let t=[],a=!1;return e.forEach((r,n)=>{if(r.kind==="text"){t.push(Ke("span",{children:Au(r.text)},n)),a=!0;return}a||t.push(Ke("span",{},`e${n}`)),t.push(lF(r,n,o)),a=!1}),a||t.push(Ke("span",{},"end")),t}function nF(e,o){return e.length===1&&e[0].kind==="text"?Au(e[0].text):e.map((t,a)=>t.kind==="text"?Ke(sF,{children:Au(t.text)},a):lF(t,a,o))}function yae(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function g4e(e){return Ke(Yi,{value:e,children:Ke("span",{children:e})})}function lF(e,o,t){if(e.kind==="link")return Ke("a",{href:e.href,className:gae,children:nF(e.children,t)},o);let a=nF(e.children,t),r=fv[e.kind];if(r)return Ke("span",{[pv]:r,children:a},o);switch(e.kind){case"underline":return Ke("u",{children:a},o);case"sup":return Ke("sup",{children:a},o);case"sub":return Ke("sub",{children:a},o);case"color":{let n=bae(e.color);return n?Ke("span",{style:{color:n},children:a},o):Ke("span",{children:a},o)}case"accent":case"highlight":return Ke("em",{className:t,children:a},o);case"bold":return Ke("strong",{className:"font-semibold",children:a},o);case"italic":return Ke("em",{className:"italic",children:a},o);case"strike":return Ke("s",{className:"line-through",children:a},o);default:return Ke("span",{children:a},o)}}function I4e(e,o=!0){let t=e.split(`
|
|
76
|
-
`);return Ke(Yi,{value:e,children:t.map((a,r)=>Xi("span",{children:[ba(a,o),r<t.length-1?Ke("br",{}):null]},r))})}function iF(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var dF={direction:"column",justify:"between",gap:14,gapPhone:14,sectionPaddingLeft:14,sectionPaddingRight:14,sectionPaddingLeftPhone:0,sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},Ny={name:"Year and title",direction:"column",gap:14,gapPhone:14};var ya={text:"Button label",href:"#"},Ji=e=>e.replace(/\*([^*]+)\*/g,"==$1=="),yo={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 Lu={eyebrow:yo.eyebrow,title:`Section heading
|
|
77
|
-
*Highlight line*`,intro:yo.body,imageCaption:yo.imageCaption,imageMeta:yo.imageMeta,cta:ya.text},cF=()=>[{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.")}],C4e={label:"Story Timeline",defaultProps:{layout:"split",eyebrow:"",title:"",intro:"",imageSrc:"",imageCaption:"",imageMeta:"",ctaText:"",ctaHref:"",entries:[],padTop:120,padBottom:120}};var Fu={eyebrow:yo.eyebrow,title:yo.headingAccent,intro:yo.body,cta:ya.text},fF=()=>[{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}],O4e={label:"Milestone Timeline",defaultProps:{eyebrow:"",title:"",intro:"",entries:[],ctaText:"",ctaHref:"",background:Hl,padTop:120,padBottom:120}};var gF={buttonBorder:{width:0}},Nu=(e,o,t={})=>({textStyle:"body-5",...M("label",e),letterSpacing:o,lineHeight:1.5,weight:400,...t}),Ds=(e,o,t={})=>({...Nu(e,o),..._o,...t}),Mu=(e,o,t)=>({...e,case:"upper",weight:500,letterSpacing:o,lineHeight:t}),Zi=(e,o,t={})=>({textStyle:"body-1",fontRole:"heading",...e,weight:400,case:"none",lineHeight:o,...t}),dt=(e,o,t={})=>({kind:"text",key:e,props:G,style:o,...t});function IF(e,o){return e.kind==="text"?o.includes(e.key)?{...e,mark:"accentItalic"}:e:e.kind==="group"?{...e,parts:e.parts.map(t=>IF(t,o))}:e}var pF=(e,o)=>o?.future===!0,Bu=e=>iF(typeof e?.body=="string"?e.body:""),$y=e=>jt(typeof e.background=="string"?e.background:void 0,nn.TimelineTrack),My=e=>$y(e)===ko?e:{...e,background:"transparent"},Sae={name:"Milestone Timeline",skip:e=>pu($y(e)),boxProps:(e,o)=>{let t=Za(My(e),o);return{...Q,direction:"column",gap:60,gapPhone:36,sectionBorder:{bottom:1},...Fo(e,"TimelineTrack"),...fu($y(e),e,o),...t>=0?{sectionAccent:t}:{}}},box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Qa(e,My(o),t)],...Ja("TimelineTrack")],parts:[hy(IF(Iu("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:{..._,...dF},item:e=>({props:e.future===!0?{upcoming:!0}:{}}),parts:[{kind:"group",name:Ny.name,props:{..._,...Ny},parts:[dt("date",Nu(13,.22,{color:"accent"}),{when:(e,o)=>!pF(e,o)}),dt("date",Nu(13,.22,{color:"labels"}),{when:pF}),dt("title",{textStyle:"heading-3",...Mu(M("headingSmall",20),-.02,1.1)},{role:"heading"})]},dt("blurb",Zi(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:{...fo,align:"right",...gF},style:Ds(13,.3)}]}]}],site:(e,o)=>er({props:My(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"}},Uy=e=>typeof e.layout=="string"?e.layout:"split",Du=e=>Uy(e)==="split",zy=e=>!Du(e),bF=e=>Uy(e)==="spine",wae=e=>zy(e)&&!bF(e),uF=(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",...Ye(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:[dt("imageCaption",Ds(11,.24,{color:"text"})),dt("imageMeta",Ds(11,.24,{color:"accent"}),{props:{...G,align:"right"}})]}]}),mF=(e={})=>({kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...fo,...e,...gF},style:Ds(13,.3)}),Hy=()=>[dt("title",{textStyle:"heading-3",...Mu(M("headingSmall",24,20),-.02,1.5)},{role:"heading",mark:"accentItalic"}),{kind:"block",type:"Text",props:{...G,_partStyles:{text:Zi(M("body",17,16),1.6)}},box:[["body","text",(e,o)=>pr(Bu(o)[0]??"")]],when:(e,o)=>Bu(o).length>0},{kind:"block",type:"Text",props:{...Y,_partStyles:{text:Zi(M("body",17,16),1.6,{paragraphSpacing:14})}},box:[["body","text",(e,o)=>pr(Bu(o).slice(1).join(`
|
|
78
|
-
|
|
79
|
-
`))]],when:(e,o)=>Bu(o).length>1}],Wy=()=>dt("date",Nu(13,.24,{color:"accent"})),Gy=(e,o,t={})=>dt(e,o,{...t,props:{...G,...t.props??{},align:"center"}}),hF=Uo("headingMedium",40,5,76),xF={sectionBorder:{bottom:1}},vae={name:"Story Timeline",skip:e=>Uy(e)==="track"?'display "track": not converted (it draws the Milestone rail; a Track story is not stored anywhere)':void 0,boxProps:e=>Du(e)?{...Q,direction:"row",share:[40],gap:80,gapPhone:48,align:"start",...xF,...Fo(e,"Timeline")}:{...Q,direction:"column",gap:48,gapPhone:48,align:"center",...xF,...Fo(e,"Timeline")},box:[...ae,...Ja("Timeline")],parts:[{kind:"group",name:"Heading",props:{..._,gap:24,gapPhone:24},when:Du,parts:[dt("eyebrow",Ds(12,.3,{color:"accent"}),{role:"eyebrow"}),dt("title",{textStyle:"heading-2",...Mu(hF,-.03,.94)},{role:"heading",mark:"accentItalic"}),dt("intro",Zi(M("body",14),1.6),{props:{...Y,maxWidth:360},mark:"accentItalic"}),uF(667,419,{},()=>!0),mF()]},{kind:"group",name:"Chapters",props:{..._,gap:48,gapPhone:48,line:!1},when:Du,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,direction:"row",gap:24,gapPhone:8,share:[12],align:"start"},parts:[Wy(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Hy()}]}]},{kind:"group",name:"Heading",props:{..._,gap:24,gapPhone:24,align:"center",maxWidth:760,widthFit:"fill"},when:zy,parts:[Gy("eyebrow",Ds(12,.3,{color:"accent"}),{role:"eyebrow"}),Gy("title",{textStyle:"heading-2",...Mu(hF,-.03,.94)},{role:"heading",mark:"accentItalic"}),Gy("intro",Zi(M("body",14),1.6),{props:{...Y,maxWidth:520},mark:"accentItalic"}),mF({align:"center"})]},uF(506,192,{maxWidth:900,widthFit:"fill"},zy),{kind:"group",name:"Chapters",props:{..._,gap:48,gapPhone:48,line:!0,maxWidth:760,widthFit:"fill",sectionPaddingTop:16},when:bF,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,gap:8,gapPhone:8},parts:[Wy(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Hy()}]}]},{kind:"group",name:"Chapters",props:{..._,gap:56,gapPhone:56,maxWidth:1e3,widthFit:"fill",sectionPaddingTop:16,mirrorCards:"even"},when:wae,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:[Wy(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Hy()}]},{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)"}},yF=()=>({eyebrow:Lu.eyebrow,title:Ji(Lu.title),intro:Lu.intro,ctaText:ya.text,ctaHref:ya.href,entries:cF()}),SF=()=>({eyebrow:Fu.eyebrow,title:Ji(Fu.title),intro:Fu.intro,ctaText:ya.text,ctaHref:ya.href,entries:fF()}),wF={TimelineTrack:Sae,Timeline:vae};import{tabletKey as Eae}from"efficient-easel/draw";import{slugify as V4e}from"efficient-shell/format";import{rootIsDark as Cae}from"efficient-shell/format";function U4e(e="auto"){return e==="light"?!0:e==="dark"?!1:!Cae({whenUnset:!0})}function vF(e,o){return Number.isFinite(e)&&Number.isFinite(o)&&!(e===0&&o===0)}function jy(e){let o=Number.parseFloat(e??"");return Number.isFinite(o)?o:0}var kae=["tall","square","wide"],Tae="tall";function CF(e){return kae.includes(String(e??""))?String(e):Tae}var Y4e={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"},X4e=[{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:""}],Pae=/^https?:\/\//i;function J4e(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:jy(e.lat),lng:jy(e.lng),mapsUrl:Pae.test(o)?o:""}}function Ky(e){let o=String(e??"").split(" \xB7 ");return{state:(o[0]??"").trim(),country:(o[1]??"").trim()}}var Z4e="other",Q4e={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 kF(e){let o=String(e??"").replace(/[^+\d]/g,"");return o?`tel:${o}`:void 0}var ct=e=>typeof e=="string"?e:e==null?"":String(e),qy=e=>Array.isArray(e.locations)?e.locations.map(o=>o??{}):[],Ns=e=>ct(e.group),FF=e=>`loc-${e}`,BF=e=>ct(e.state).trim()||Ky(ct(e.region)).state,DF=e=>ct(e.country).trim()||Ky(ct(e.region)).country,TF=e=>[BF(e),DF(e)].filter(Boolean).join(" \xB7 "),Oae=e=>qy(e).some(o=>ct(o.photo).trim()!==""),_ae=e=>qy(e).some(o=>vF(Number(o.lat),Number(o.lng))),Aae=(e,o)=>qy(e).filter(t=>Ns(t)===Ns(o)).length,Rae=(e,o)=>Aae(e,o)===1?"wide":CF(e.imageShape),Vy={top:100,bottom:100,topPhone:60,bottomPhone:60},PF=48,Lt=(e,o={})=>({...It(e),...o}),Yy={top:1,right:1,bottom:1,left:1},Xy={..._,direction:"row",share:"equal",gap:0},Lae=e=>o=>o>Ai(o)?{..._,gap:0}:{...Xy,...o>1?{phoneRow:e}:{}},Fae={kind:"group",name:"Gallery",props:{..._,gap:20,_hidden:!0},when:Oae,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",Lt(12,{color:"accent",letterSpacing:.3})),{kind:"text",key:"galleryHint",props:{...Y,align:"right",alignPhone:"left"},style:Lt(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:Yy,...Ye(12,12)},item:(e,o,t)=>({props:{...ct(e.photo).trim()?{bgImage:ct(e.photo),hover:"mono"}:{},link:`#${FF(o)}`,boxShape:Rae(t,e)}}),parts:[{kind:"text",key:"name",props:G,style:Lt(11,{letterSpacing:.22,color:"text"})}],groups:{of:Ns,name:"Group",props:{..._,gap:10},head:e=>({label:Ns(e[0]??{})}),parts:[pe("label",Lt(11,{color:"accent",letterSpacing:.3}))],itemsName:"Cities",itemsProps:Lae(2),perRow:Ai,rowName:"Row",rowProps:{...Xy,phoneRow:2}}}]}]},Bae={kind:"group",name:"Words",props:{..._,gap:12,gapPhone:12,...Ye(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:Lt(12,{color:"accent",letterSpacing:.24,lineHeight:1.5})}},box:["region","state","country"].map(e=>[e,"text",(o,t)=>TF(t)]),when:(e,o)=>TF(o??{})!==""}]},{kind:"group",name:"Time zone",props:{..._,sectionBorder:Yy,...Ye(6,10)},parts:[{kind:"text",key:"timezone",props:{...Y,textFit:"line"},style:Lt(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:{...fo,...an,variant:"ghost",arrow:!1,_partStyles:{label:Lt(13,{letterSpacing:.18,color:"text",lineHeight:24/13})}},box:[["phone","label"],["phone","href",e=>kF(ct(e))??"#"]],when:(e,o)=>ct(o?.phone).trim()!==""},{kind:"text",key:"hours",props:Y,style:Lt(12,{letterSpacing:.18,lineHeight:1.7})}]},Dae={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)=>BF(t)]),...["region","country"].map(e=>[e,"country",(o,t)=>DF(t)])]},Nae={kind:"group",name:"Map",props:{..._,sectionBorder:{top:1,right:0,bottom:0,left:0}},parts:[Dae]},Mae={kind:"list",key:"locations",name:"City",props:(e,o)=>({..._,gap:0,justify:"between",sectionBorder:Yy,jumpHighlight:!0,sectionAccent:Za(e,o)>=0?As(e.sectionAccent,o):-1}),item:(e,o)=>({props:{anchor:FF(o)}}),parts:[Bae,Nae],groups:{of:Ns,name:"Group",props:{..._,gap:20},head:e=>{let o=e[0]??{};return{key:Ns(o),groupName:ct(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)=>ct(o?.key).trim()!=="",parts:[pe("key",Lt(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:Lt(12,{letterSpacing:.22})}]}],itemsName:"Cities",itemsProps:e=>({...Xy,columns:Ai(e),[Eae("columns")]:1})}},EF=Lt(10,{letterSpacing:.25}),Hae={kind:"block",type:qt,props:{..._,name:"Credit",direction:"row",justify:"end",align:"center",gap:6,share:"content",wrap:!0},when:_ae,slot:Yt,keepEmpty:!0,parts:[{kind:"block",type:"Text",props:{...Y,text:"Location coordinates \xA9",_partStyles:{text:EF}}},{kind:"block",type:"ButtonBlock",props:{...fo,...an,variant:"ghost",arrow:!1,label:"OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright",_partStyles:{label:{...EF,color:"labels"}}}}]},OF=(e,o)=>Object.fromEntries(o.filter(t=>e[t]!==void 0).map(t=>[t,e[t]])),_F=["sectionPaddingTop","sectionPaddingTopTablet","sectionPaddingTopPhone"],AF=["sectionPaddingBottom","sectionPaddingBottomTablet","sectionPaddingBottomPhone"],RF=e=>e.map(o=>[o,o,(t,a)=>de(a,Vy)[o]]),LF=["sectionAccent","sectionAccent",Qa],Wae=["gridSpan",...$n,...Object.values(co)],Gae={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",...OF(de(e,Vy),_F),sectionPaddingBottom:PF,sectionPaddingBottomPhone:PF,...rn(e,o)}),box:[...ae.filter(e=>e!=="sectionAccent"&&e!=="anchor"),LF,["anchor","anchor",e=>wl(e).trim()?e:"studios"],...RF(_F)],parts:[Iu("sectionNumber","heading","tagline"),Fae],also:[{name:"City maps",boxProps:(e,o)=>({...Q,direction:"column",gap:40,sectionBorder:{bottom:1},sectionPaddingTop:0,sectionPaddingTopPhone:0,...OF(de(e,Vy),AF),...rn(e,o)}),box:[...Wae,LF,...RF(AF)],parts:[Mae,Hae]}],reads:{mapTheme:"City maps Box: each Map block's Map theme",imageShape:"City pictures Box: each picture Box's Box shape"},site:er,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)"}},NF={ContactLocations:Gae};var MF="sideSpace",ln="site",x5e=[{value:"box",label:"Box"},{value:ln,label:"Site"}],g5e="box",I5e="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 b5e(e){return e===ln?ln:"box"}function y5e(e){return e===ln?ln:void 0}var $ae=["Collections","FAQ","Footprint","GalleryB","LongRead","ProcessSteps","RelatedProducts"];var or=(e,o)=>()=>({top:e,topPhone:o}),HF=e=>o=>{let t=Fo(o,e).sectionPaddingTop;return{top:t,topPhone:t}},zae={Collections:or(120,70),Events:or(120,70),FAQ:or(120,70),GalleryB:or(120,70),FitmentTable:or(120,80),SpecTable:or(120,80),LongRead:or(120,80),RelatedProducts:or(0,0),Footprint:HF("Footprint"),ProcessSteps:HF("ProcessSteps"),ProductGrid:e=>({top:j(e.padTop)??120,topPhone:0})};function Uae(e,o={}){let t=Ao[e],a=zae[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=st(e),s=Su(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:Ld[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:gu[Fs(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 jae={..._,direction:"accordion",rowStyle:"numbered"},Kae={Footprint:{slots:{[eo]:[wC()]},pressHeading:!0},FAQ:{slots:{[eo]:[vh()]},pressHeading:!0,coreBox:{name:"Questions",props:jae},coreProps:{sectionAccent:ot},roomBelow:{bottom:120,bottomPhone:70},boxProps:(e,o)=>o.press?{}:{[MF]:ln},skip:e=>{let o=e._partStyles??{},t=IC().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}}},WF=Object.fromEntries($ae.map(e=>[e,Uae(e,Kae[e])]));import{BLOCK_WIDTH_LIMIT as Vae}from"efficient-easel/draw";var Hu={eyebrow:yo.eyebrow,title:yo.headingAccent,deck:"Add a sentence or two introducing this document."},B5e={label:"Document masthead",defaultProps:{eyebrow:"",title:"",deck:"",meta:[]}};var YF={minWidth:Vae.min},GF=(e,o,t)=>({...pe(e,{...o,...Li}),props:{...G,align:"right",...on,...t}}),XF={top:1,bottom:0},Zy=(e,o,t,a)=>({kind:"group",name:e,props:{..._,sectionPaddingBottom:o,sectionPaddingBottomPhone:t},parts:[a]}),$F={widthFit:"fill",...YF},zF={top:100,bottom:60,topPhone:60,bottomPhone:40},qae={...M("label",13),letterSpacing:.22,lineHeight:1.8},UF={textStyle:"heading-1",...Uo("headingLarge",56,8,128),case:"upper",weight:500,lineHeight:.88,letterSpacing:-.04},jF=e=>e.titleLevel===2,Yae=()=>({name:"Page Header",boxProps:e=>({...Q,direction:"column",gap:0,sectionBorder:{bottom:1},...de(e,zF)}),box:[...ae,...ye(zF)],parts:[{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Zy("Eyebrow",12,0,{...pe("eyebrow",M("label",13)),props:{...G,...on}}),{kind:"text",key:"title",role:"heading",props:{...G,tag:"h1",...$F},style:UF,mark:"accentItalic",when:e=>!jF(e)},{kind:"text",key:"title",role:"heading",props:{...G,tag:"h2",...$F},style:UF,mark:"accentItalic",when:jF},{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:[Fi("label","value",qae,on)]}]}]},{kind:"group",name:"Deck",props:{..._,maxWidth:760,sectionBorder:XF,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"}}),JF=()=>({eyebrow:Hu.eyebrow,title:Ji(Hu.title),deck:Hu.deck,meta:[{label:yo.label,value:yo.value},{label:yo.label,value:yo.value}]}),KF={top:80,bottom:40,topPhone:60,bottomPhone:32},Xae={...M("label",13),letterSpacing:.18,lineHeight:1.8},VF={...M("label",13),letterSpacing:.22,lineHeight:1.9},Jae=()=>({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:[Zy("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:[Fi("lead","rest",Xae)]}]}]},{kind:"group",name:"Bottom",props:{..._,direction:"row",align:"start",justify:"between",gap:60,gapPhone:16,share:"content",sectionBorder:XF,sectionPaddingTop:32},parts:[{kind:"text",key:"lead",props:{...G,maxWidth:720,...YF},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:[Zy("Heading",6,6,{kind:"text",key:"issueHeading",props:{...G,align:"right",...on},style:{textStyle:"body-1",fontRole:"heading",...M("body",18),weight:400,letterSpacing:-.01,lineHeight:1.9,...Li}}),{kind:"group",name:"Lines",props:{..._,align:"stretch",gap:0},parts:[{kind:"list",key:"issueList",name:"Line",flat:!0,parts:[GF("text",{color:"labels",...VF})]}]},GF("issueTotal",VF)]}]}],drop:{...oe,...ce}}),qF={top:24,bottom:24,topPhone:16,bottomPhone:16},Jy={color:"labels",...M("label",13),letterSpacing:.2},ZF=e=>(Array.isArray(e.items)?e.items:[]).filter(o=>o&&typeof o.label=="string"&&o.label.trim()!==""),Qy=(e,o)=>o!==void 0&&ZF(e).at(-1)===o,QF=(e,o)=>o!==void 0&&ZF(e).includes(o),Zae=(e,o)=>QF(e,o)&&!Qy(e,o)&&Xe(o?.href),Qae=()=>({name:"Breadcrumb",skip:e=>Xe(e.meta)?'a trailing note after "\xB7" needs a second mark; none live':void 0,boxProps:e=>({...Q,...sn,wrap:"wrap",gap:16,gapPhone:16,separator:"slash",sectionBorder:{bottom:1},...de(e,qF)}),box:[...ae,...ye(qF)],parts:[{kind:"list",key:"items",name:"Crumb",flat:!0,parts:[{kind:"button",key:"label",href:"href",variant:"ghost",when:Zae,props:{...fo,...an,icon:"none"},style:Jy},{...pe("label",Jy),when:(e,o)=>QF(e,o)&&!Qy(e,o)&&!Xe(o?.href)},{...pe("label",{...Jy,color:"text"}),when:Qy}]}],drop:{...oe,...ce,meta:"a node that stores a note is skipped (`skip`); an empty one draws nothing"}}),eB={DocMasthead:Yae(),Masthead:Jae(),Breadcrumb:Qae()};import{jsx as dn,jsxs as oS}from"react/jsx-runtime";import{slugify as ere}from"efficient-shell/format";import{jsx as eS,jsxs as oB}from"react/jsx-runtime";var j5e="sticky top-[120px]";var tB=(e,o)=>e?{[Xd]:o}:{},aB=(e,o)=>Jd(e?.[cl(o)]?.role,zp[o],Sn),rB=120;function nB({title:e,entries:o,stickyTop:t,sticky:a=!0,editing:r=!1,partStyles:n,numberForm:s=Kg,takesViewHide:l=!1}){let d=s==="plain",c=Tn(),f=l?c:Td;return f.scope(oB("aside",{className:Pn(`${a?"sticky ":""}flex flex-col self-start max-[900px]:static`,f.className),style:a?{top:t}:void 0,...f.attrs,children:[e&&eS("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=eS("span",{...tB(r,"number"),style:aB(n,"number"),className:"text-accent",children:Lf(s,p)});return oB("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,eS("span",{...tB(r,"entry"),style:aB(n,"entry"),children:ba(u.label||"Section")}),!d&&x]},`${p}-${u.anchor}`)})]}))}function ore(e,o){return ere(e)||`section-${o+1}`}var tS=e=>typeof e=="string"&&e.trim()!=="";function aS(e){return(e??[]).filter(o=>tS(o.heading)||tS(o.label)||tS(o.body))}function rS(e){let o=new Set;return e.map((t,a)=>{let r=ore(t.label||t.heading||"",a),n=r,s=2;for(;o.has(n);)n=`${r}-${s++}`;return o.add(n),n})}function nS(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=Zs(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 tre=()=>[{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.")}],are=rB;function c6e({tocTitle:e,sections:o,editing:t=!1,stickyTop:a=are}){let r=aS(o);if(r.length===0&&!t)return null;let n=r.length===0&&t?tre():r,s=rS(n);return dn(Pd,{as:"section",className:"relative z-[2] bg-bg",children:oS("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:[dn(nB,{title:e,entries:n.map((l,d)=>({label:l.label||"Section",anchor:s[d]})),stickyTop:a}),dn("div",{className:"flex flex-col gap-16",children:n.map((l,d)=>oS("article",{id:s[d],className:"flex flex-col gap-[18px]",style:{scrollMarginTop:a},children:[oS("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:[jg(d)," \xB7 ",ba(l.label||"Section")]}),l.heading&&dn("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)}),nS(l.body??"").map((c,f)=>c.type==="ul"?dn("ul",{className:"flex max-w-[680px] list-none flex-col gap-2.5 pl-0",children:c.items.map((u,p)=>dn("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):dn("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 sS,VIEW_TABLET_MIN as u6e}from"efficient-easel/draw";var Wu=ra,sB=960,lB=ra;var iB={min:Wu,max:1600,step:10},dB="stackBelow";function h6e(e){if(!(typeof e!="number"||!Number.isFinite(e))&&!(e<iB.min||e>iB.max))return Math.round(e)}var rre=e=>`sf-stack-${e}`,nre=e=>`sf-stack-${e}-gutter`,sre=e=>`sf-stack-${e}-outer`,Ms=e=>`${e-.02}px`;function x6e(e,o={}){let t=o.gutter!==!1,a=`.${rre(e)}`,r=`.${nre(e)}`,n=`.${sre(e)}`,s=[];if(e>Wu){let l=`${a}>.sf-block-size,${a}>[data-easel-block]>[data-sf-part-host]>.sf-block-size`,d=Math.min(e,sS);s.push(`@media (min-width:${Wu}px) and (max-width:${Ms(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:${Wu}px) and (max-width:${Ms(d)}){.sf-gap-zone${a}{gap:var(--sf-gap-len-tablet,var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2)))}}`),e>sS&&s.push(`@media (min-width:${sS}px) and (max-width:${Ms(e)}){.sf-gap-zone${a}{gap:var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2))}}`)}return t&&s.push(`@media (max-width:${Ms(e)}){${r}${r}{padding-inline:min(24px,var(--sf-site-gutter,40px))}}`),t&&e<sB&&s.push(`@media (min-width:${e}px) and (max-width:${Ms(sB)}){${r}${r}{padding-inline:var(--sf-site-gutter,40px)}}`),e>lB&&s.push(`@media (min-width:${lB}px) and (max-width:${Ms(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 cB={top:80,bottom:80,topPhone:60,bottomPhone:60},fB=18,pB=18,uB=8,lre=10,lS=e=>typeof e=="string"&&e.trim()!=="",mB=e=>aS(e.sections),ire=e=>nS(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}),iS={...It(12),letterSpacing:.3,color:"accent",lineHeight:1.5},hB={textStyle:"body-1",fontRole:"accent",...M("body",17)},dre=[pe("label",iS),{...pe("title",iS),when:(e,o)=>!lS(o?.label)},{kind:"block",type:"Text",when:(e,o)=>!lS(o?.label)&&!lS(o?.title),props:{...G,text:"Section",_partStyles:{text:iS}}},{kind:"group",name:"Heading",props:{..._,sectionPaddingBottom:uB,sectionPaddingBottomPhone:uB},parts:[{kind:"group",name:"Heading line",props:{..._,sectionBorder:{bottom:1},sectionPaddingBottom:pB,sectionPaddingBottomPhone:pB},parts:[{kind:"text",key:"heading",role:"heading",props:G,style:{textStyle:"heading-2",...Uo("headingMedium",28,3.5,44),case:"upper",weight:500,lineHeight:1.04,letterSpacing:-.025}}]}]},{kind:"list",key:"body",name:"Body",flat:!0,of:ire,parts:[{kind:"text",key:"text",props:Y,style:{...hB,lineHeight:1.7},when:(e,o)=>o?.kind==="p"},{kind:"text",key:"text",props:Y,style:{...hB,lineHeight:1.65,paragraphSpacing:lre},when:(e,o)=>o?.kind==="ul"}]}],cre=900,fre={name:"Document Text",boxProps:e=>({...Q,direction:"row",gap:80,gapPhone:40,[dB]:cre,sectionBorder:{bottom:1},...de(e,cB)}),box:["anchor","sectionAccent",...$n,...Object.values(co),...ye(cB)],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=>mB(e),props:{..._,gap:fB,gapPhone:fB},item:(e,o,t)=>({props:{anchor:rS(mB(t))[o]??`section-${o+1}`}}),parts:dre}]}],reads:{tocTitle:"the Contents block's Heading"},drop:{...oe,stickyTop:"the Contents block draws DocBody's default (120px); 0 live nodes store it"}},xB={DocBody:fre};var P6e="[--intro-edge:60px] max-[960px]:[--intro-edge:24px]",pre="overlay",ure=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function gB(e){return mo(ure,pre,e)}var E6e={desktop:40,mobile:45,min:20,max:80,step:5};function O6e(e,o){return`${typeof e=="number"?e:o}%`}var IB=(e,o)=>{let t=j(e),a=j(o);return{...t===void 0?{}:{size:t},...a===void 0?{}:{sizePhone:a}}},mre=e=>gB(e.layout)==="stacked",bB=e=>Math.min(Math.max(j(e.overlay)??60,0),100),Gu=e=>j(e)??100,hre={textStyle:"heading-1",sizeToken:{...Uo("headingLarge",48,7,96).sizeToken,pxPhone:36},weight:500,lineHeight:.95,letterSpacing:-.03},xre=[pe("eyebrow",M("label",14)),...[!0,!1].map(e=>({kind:"text",key:"title",role:"heading",props:G,style:{...hre,case:e?"upper":"none"},styleFrom:o=>IB(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=>IB(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:fo}]}],yB=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)`,gre=()=>({name:"Scroll-Over Text",skip:e=>mre(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",...Bi,placement:"left",darken:bB(e),darkenStyle:"even",sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:Gu(e.heightDesktop),sectionHeightModePhone:"fixed",sectionHeightUnitPhone:"%",sectionHeightValuePhone:Gu(e.heightMobile)}),box:[...ae.filter(e=>!String(typeof e=="string"?e:e[0]).startsWith("sectionHeight")),["imageSrc","bgImage"],["imageSrcMobile","bgImagePhone"],["overlay","darken",(e,o)=>bB(o)],["heightDesktop","sectionHeightValue",e=>Gu(e)],["heightMobile","sectionHeightValuePhone",e=>Gu(e)]],parts:xre,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:yB("Button color"),buttonTextColor:yB("Button text color"),...oe}}),vB={textStyle:"heading-2",...M("headingMedium",56,36),weight:400,lineHeight:1.05,letterSpacing:-.03},Ire={textStyle:"body-1",...M("body",16),lineHeight:1.7},CB=e=>({kind:"text",key:"body",props:{...Y,maxWidth:520},style:{...Ire,paragraphSpacing:e}}),zu={top:0,bottom:0,topPhone:0,bottomPhone:0},dS=(e,o)=>typeof e.sectionHeightMode=="string"&&e.sectionHeightMode!=="auto"?{}:{sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:o,sectionHeightModePhone:"auto"},bre=(e,o)=>{let t=dS(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"}},kB={boxShapePhone:"landscape"},TB="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)",yre=(e,o)=>({[e]:o,[`${e}Phone`]:o}),Sre={textStyle:"heading-2",...M("headingMedium",40),weight:500,case:"none",lineHeight:1,letterSpacing:-.02},SB=e=>(Array.isArray(e.stats)?e.stats:[]).filter(o=>o&&(String(o.value??"").trim()!==""||String(o.label??"").trim()!=="")),wre=()=>({name:"Brand Text",boxProps:(e,o)=>({...Q,...zo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...de(e,zu),...dS(e,100)}),box:[...ae,...ye(zu)],parts:[{kind:"group",name:"Words",props:(e,o)=>({..._,justify:"center",gap:28,gapPhone:28,sectionBorder:Di({right:1}),sectionBorderPhone:Di({}),...Bi,sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60,sectionPaddingRight:Rs(o)}),parts:[pe("eyebrow",M("label",14)),{kind:"text",key:"heading",role:"heading",props:G,style:{...vB,case:"none"},mark:"accentItalic"},CB(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(SB(e).length,1),3),...yre("sectionBorder",Di({top:1})),sectionPaddingTop:28,sectionPaddingTopPhone:28}),parts:[{kind:"list",key:"stats",name:"Stat",of:SB,props:{..._,gap:4,gapPhone:4},parts:[{kind:"text",key:"value",props:tn,style:Sre},pe("label",{...M("label",13),color:"labels",letterSpacing:.2})]}]}]}]},iy("Picture","imageSrc",kB)],drop:{...oe,grayscale:TB,...ce}}),$u=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}},vre=e=>e.textAlign==="center"?"center":e.textAlign==="right"?"end":"stretch",Cre=e=>Math.min(Math.max(j(e.overlay)??60,0),100),PB=e=>typeof e=="string"&&e.trim()!=="",kre={...fo,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},wB=e=>({...iy("Picture","imageSrc",(o,t)=>({...PB(o.imageSrc)?{darken:40,darkenStyle:"even"}:{},placement:"center",...kB,sectionBorder:Di(e?{left:1}:{right:1}),...EB(e?"left":"right",Rs(t))}),[{kind:"button",key:"imageBtnText",href:"imageBtnHref",variant:"ghost",props:kre,style:{...It(13,12),letterSpacing:.18}}]),when:o=>o.reverse===!0===e}),EB=(e,o)=>{let t=Math.max(60-o,0);return{sectionPaddingLeft:e==="left"?60:t,sectionPaddingRight:e==="right"?60:t}},Tre={kind:"group",name:"Words",props:(e,o)=>{let t=e.reverse===!0;return{..._,justify:"center",align:vre(e),placement:e.textAlign==="center"?"center":e.textAlign==="right"?"right":"left",...bre(e,72),gap:24,gapPhone:24,...PB(e.textBgSrc)?{darken:Cre(e),darkenStyle:"even"}:{},...Bi,sectionPaddingTop:100,sectionPaddingBottom:100,...EB(t?"right":"left",Rs(o)),sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60}},box:[["textBgSrc","bgImage"]],parts:[{...pe("eyebrow",M("label",14)),styleFrom:$u},{kind:"text",key:"title",role:"heading",props:G,style:vB,styleFrom:e=>({case:e.uppercase===!0?"upper":"none",...$u(e)})},{...CB(24),styleFrom:$u},{kind:"group",name:"Button",props:{..._,sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:e=>{let o=$u(e);return{...fo,...o.align?{align:o.align}:{},...o.alignPhone?{alignPhone:o.alignPhone}:{}}}}]}]},Pre=()=>({name:"Image & Text Split",boxProps:(e,o)=>({...Q,...zo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...de(e,zu),...dS(e,72)}),box:[...ae,...ye(zu)],parts:[wB(!1),Tre,wB(!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:TB,...oe,...ce}}),OB={IntroBleed:gre(),Manifesto:wre(),Split:Pre()};var RB={headPlacement:void 0},_B={top:0,bottom:0,topPhone:0,bottomPhone:0},Ere=()=>({name:"Form",ownBoxConverts:!0,boxProps:e=>({...Q,direction:"column",...de(e,_B)}),box:[...ae,...ye(_B)],parts:[{kind:"core",keep:"rest",props:RB}],drop:{...oe,...ce}}),AB={top:120,bottom:120,topPhone:60,bottomPhone:60},Ore=()=>({name:"Photo Submission Form",boxProps:e=>({...Q,direction:"column",gap:24,...de(e,AB)}),box:[...ae,...ye(AB)],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:RB}],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'}}),LB={Form:Ere(),SubmitBuild:Ore()};import{phoneKey as FB}from"efficient-easel/draw";var DB=1.5,BB={textStyle:"body-1",...M("body",15),lineHeight:DB},_re={..._o,...M("label",12),letterSpacing:.12,lineHeight:DB},NB=()=>({type:K,props:{..._,direction:"row",justify:"between",align:"start",gap:16,gapPhone:16,share:"content",phoneRow:2,[FB("share")]:"content",[FB("wrap")]:"nowrap",...Ye(12,0),sectionBorder:{top:1},name:"Item"},slots:{[se]:[{type:K,props:{..._,gap:0,gapPhone:0,name:"Item words"},slots:{[se]:[re("label",{...G,tag:"p"},BB),re("meta",{...Y,tag:"p"},_re)]}},re("amount",{...G,tag:"p"},BB)]}});var Are=()=>({name:"Order Table",boxProps:()=>({...Q,direction:"column"}),box:[...ae],parts:[{kind:"core",keep:"rest",headless:!0,slots:{[eo]:[NB()]}}],drop:{...oe}}),MB={OrderSummary:Are()};import{phoneKey as Rre}from"efficient-easel/draw";var q6e={eyebrow:"By the numbers",title:`A picture worth
|
|
89
|
-
*a thousand rows.*`},HB=["eyebrow","title","body","caption"],Y6e={label:"Chart",defaultProps:{eyebrow:"",title:"",body:"",items:[],caption:"",chartStyle:"bars",valueSuffix:""}};var WB=["eyebrow","title","body"],J6e={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 zB={top:76,bottom:76,topPhone:76,bottomPhone:76},UB=()=>({kind:"group",name:"Words",props:{..._,gap:20,gapPhone:20},parts:[{kind:"group",name:"Chip row",props:{..._,direction:"row",phoneRow:2,[Rre("share")]:"content"},parts:[iu("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}}]}),jB=e=>(o,t)=>({...Q,sectionAccent:ly(o.sectionAccent??0,t),direction:"row",align:"center",gap:56,gapPhone:56,share:e,sectionBorder:{top:1,bottom:1},...de(o,zB)}),KB=[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>ly(e,t)],...ye(zB)],Lre=()=>({name:"Chart",boxProps:jB([42]),box:KB,parts:[UB(),{kind:"group",name:"Chart",props:{..._,gap:16,gapPhone:16},keepEmpty:!0,parts:[{kind:"core",keep:"rest",props:_s},pe("caption",{color:"muted",...M("label",10),letterSpacing:.14})]}],pressKeepsEmpty:[...HB],drop:{...oe,...ce}}),GB=e=>e.align==="left",$B={kind:"group",name:"Card",keepEmpty:!0,props:_,parts:[{kind:"core",keep:"rest",props:_s}]},Fre=()=>({name:"Mockup Card",boxProps:jB("equal"),box:KB,parts:[{...$B,when:GB},UB(),{...$B,when:e=>!GB(e)}],pressKeepsEmpty:[...WB],drop:{...oe,...ce}}),VB={Chart:Lre(),Mockup:Fre()};var Bre={title:"Back online in",zeroText:"Almost done. Back very soon."},qB=["title"],n3e={label:"Countdown",defaultProps:{...Bre,endsAt:"",showUnits:!0}};var YB={top:48,bottom:48,topPhone:48,bottomPhone:48},Dre={...pe("title",{...nl(12),color:"muted"}),props:{...G,align:"center"}},Nre=()=>({name:"Countdown",boxProps:e=>({...Q,direction:"column",align:"center",gap:16,gapPhone:16,...de(e,YB)}),box:[...ae,...ye(YB)],parts:[Dre,{kind:"core",keep:"rest",props:_s}],pressKeepsEmpty:[...qB],drop:{...oe,...ce}}),XB={top:80,bottom:80,topTablet:60,bottomTablet:60,topPhone:60,bottomPhone:60},Mre=()=>({name:"Feature Banner",boxProps:e=>({...Q,direction:"column",sectionBorder:{bottom:1},...de(e,XB)}),box:[...ae,...ye(XB)],parts:[{kind:"core",keep:"rest",props:_s}],drop:{...oe,...ce}}),JB={Countdown:Nre(),FeaturedCover:Mre()};var ZB={top:80,bottom:80,topPhone:60,bottomPhone:60},Hre=()=>{let e=Su("FitmentFinder");return{name:"Fitment Form",boxProps:o=>({...Q,direction:"column",gap:gu[Fs("FitmentFinder")],...de(o,ZB)}),box:[...ae,...ye(ZB)],parts:[st("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'}}},QB={FitmentFinder:Hre()};var eD={top:72,bottom:72,topPhone:72,bottomPhone:72},Wre={name:"Editorial Text",boxProps:e=>({...Q,direction:"column",gap:28,gapPhone:28,sectionBorder:{top:1},...de(e,eD)}),box:[["topBorder","sectionBorder",e=>e===!1?void 0:{top:1}],...ae,...ye(eD)],parts:[st("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)"}},oD={buttonPaddingTop:20,buttonPaddingBottom:20,buttonPaddingLeft:28,buttonPaddingRight:28},tD=(e,o)=>o?.variant==="primary",aD=(e,o)=>({kind:"list",key:"buttons",name:"Button",flat:!0,when:e,parts:[{kind:"button",key:"label",href:"href",when:tD,variant:"primary",style:{letterSpacing:.3},props:{...fo,...oD,...o}},{kind:"button",key:"label",href:"href",when:(t,a)=>!tD(t,a),variant:"ghost",style:{letterSpacing:.3},props:{...fo,...oD,...o}}]}),Uu=e=>Xe(e.title),Gre={name:"Call-to-Action Heading",boxProps:e=>({...Q,direction:"row",align:"center",justify:Uu(e)?"between":"end",gap:60,gapPhone:60,share:"content",sectionBorder:{bottom:1},...Fo(e,"TitleWithButtons")}),box:[...ae,...Ja("TitleWithButtons")],parts:[{kind:"group",name:"Title",props:{..._,maxWidth:1e3,widthFitPhone:"fill"},parts:[{kind:"text",key:"title",role:"heading",props:G,style:{textStyle:"heading-1",...Uo("headingLarge",48,7,108),case:"upper",lineHeight:.94,letterSpacing:-.035}}]},{kind:"group",name:"Buttons",props:e=>({..._,gap:14,gapPhone:14,widthFitPhone:"fill",...Uu(e)?{minWidth:280,minWidthPhone:0}:{}}),parts:[aD(Uu,{widthFit:"fill",iconPosition:"end"}),aD(e=>!Uu(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 $re(e){let{siteGutter:o,siteGutterPhone:t}=e.site??{},a=Rs(e),r=Math.min(20,rf(t)??nf(o));return{sectionPaddingLeft:a,sectionPaddingRight:a,sectionPaddingLeftPhone:r,sectionPaddingRightPhone:r}}var rD={top:40,bottom:64,topPhone:24,bottomPhone:36},zre={name:"Section Header",boxProps:(e,o)=>({...Q,direction:"column",gap:0,...de(e,rD),...$re(o)}),box:[...ae,...ye(rD)],parts:[st("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"}},nD={..._,direction:"row",share:[67],gap:30},sD={..._,sectionPaddingLeft:30,sectionPaddingLeftPhone:0},lD=(e,o,t)=>({kind:"group",name:e,props:o,parts:[t]}),Ure={name:"Lead Text",boxProps:e=>({...Q,direction:"column",gap:40,gapPhone:40,sectionBorder:{bottom:1},...Fo(e,"ParagraphsA")}),box:[...ae,...Ja("ParagraphsA")],parts:[{kind:"group",name:"Numbers",props:{...nD,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})]},lD("Stats column",_,{kind:"group",name:"Stats",props:{...sD,gap:0,gapPhone:0},parts:[{kind:"list",key:"stats",name:"Stat",flat:!0,parts:[Fi("value","label",{...M("label",13),letterSpacing:.18,lineHeight:1.8})]}]})]},{kind:"group",name:"Words",props:{...nD,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}}]}]},lD("Note column",{..._,justify:"end",widthFit:"fill"},{kind:"group",name:"Founders",props:{...sD,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}},iD={top:24,bottom:24,topPhone:24,bottomPhone:24},jre={name:"Banner",boxProps:e=>({...Q,direction:"column",gap:0,...de(e,iD)}),box:[...ae,"contained",...ye(iD)],parts:[{kind:"group",name:"Card",keepEmpty:!0,props:{..._,gap:28,placement:"top-left",darken:60,darkenStyle:"even",sectionBorder:{width:1},...Ye(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:fo}]}],drop:{...oe,...ce}},cS={Prose:Wre,TitleWithButtons:Gre,SectionHeader:zre,ParagraphsA:Ure,Banner:jre};function dD(){bo(cS),bo(wL),bo(DL),bo(pL),bo(VL),bo(wF),bo(NF),bo(WF),bo(eB),bo(xB),bo(OB),bo(LB),bo(MB),bo(QB),bo(VB),bo(JB)}var Vre=["FooterPayment"];function cD(e,o){let{id:t,...a}=e.props;for(let[r,n]of Object.entries(a))Kre(n)&&(a[r]=n.map(s=>cD(s,o)));return o(e.type,a)}var Qi=(e,o)=>{if(!Vre.includes(e.type))return null;dD();let t=Ya(e.type);return t?Es({type:e.type,props:{...e.props}},t).nodes.map(a=>cD(a,o)):null};function fD(){let{appState:e,dispatch:o,config:t}=Qre(f=>f),{readOnly:a}=one(),[r,n]=Xre(!1),s=e.data.content;if(a||s.some(f=>f.type===Re))return null;let l=s.find(f=>f.type===He)??null,d=(f,u)=>Jre(t,f,u),c=()=>{let f=_i(l,d,Zre(Re),Qi);o({type:"setData",data:u=>({...u,content:[...nc(u.content,f)]}),recordHistory:!0}),n(!1)};return ju(ene,{tone:"info",title:i("This footer uses the old layout"),action:r?Yre(qre,{children:[ju(fS,{variant:"primary",size:"sm",onClick:c,children:i("Switch now")}),ju(fS,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:i("Cancel")})]}):ju(fS,{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 pS,jsxs as tne}from"react/jsx-runtime";import{InspectorUpLevel as pD}from"efficient-easel/chrome";function uD({nodeId:e,part:o,sectionName:t,onUpToSection:a}){let{select:r}=pp(),n=Cs(e,o,"picture");return tne("div",{children:[o!=="media"?pS(pD,{inline:!0,name:i(Kr.media),onSelect:()=>r(di(e,"media"))}):pS(pD,{inline:!0,name:i(t),onSelect:a}),pS(At,{part:o,motion:n,itemWord:i(Kr[o])})]})}import{HintsToggle as xne,SettingsSwitch as gne,hintsFoldClass as Ine}from"efficient-easel/panel";import{useHints as bne}from"efficient-easel/screen/lib/hints";var bD={kind:"header"},hS={kind:"website"},yD={kind:"website",tab:xs,revealPageGroup:!0},SD={kind:"chat"},wD={kind:"social"},ed="Part";function yne(e){return i("Part of {name}",{name:i(e)})}function Sne(e,o,t){let a=e.describeNode(o);return{name:t,kindLabel:a?yne(a.label):i(ed)}}function wne(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 vD({what:e}){let o=wne(e);return tr("div",{className:"sf-note",children:[Se("p",{children:Se("strong",{children:o.title})}),tr("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 mS(e){let o=ii[e];return{name:Kr[e],kindLabel:ed,icon:o,head:(t,a)=>{if(t.kind!==o)return null;let r=a.describeNode(t.nodeId);if(!r)return null;let n=ID({name:i(mp(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(uD,{nodeId:t.nodeId,part:e,sectionName:a.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>a.onSelectNode(t.nodeId)}):null}}var vne={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(ap,{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(a1,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>Se(d1,{unavailable:Se(vD,{what:"Social link"})})},ticker:{name:ni,kindLabel:ed,icon:"ticker",head:(e,o)=>e.kind==="ticker"?Sne(o,e.heroId,i(ni)):null,render:e=>Se(SA,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:mS("media"),heroImage:mS("image"),heroImage2:mS("image2"),part:{name:ed,kindLabel:ed,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}=Et(e.propKey),n=r?ns(t.fields[a],r):t.fields[a],s=Up(t.type),l=s?fl(s,e.propKey):null,d=s&&l?s[l].label:_A[e.propKey],c=d?i(d):SE(i(zg(Af(n??{},a))),r),f=ID({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(XA,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},Cne=new Set(["header","website","chat"]);function kne(e,o){if(e==="selection")return null;let t=vne[e];return Cne.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>Se(vD,{what:t.name})}:t}function CD({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}=pne(),{rows:k}=ti(),S=k?.find(le=>le.slug===u)??null,v=rne(),b=Object.keys(v.fields).some(le=>!le.startsWith("_")&&!ei.includes(le)),{websiteName:C}=xe(),T=une({readOnly:g}),{select:F}=mne(),{selectedItem:P,getItemById:D,getSelectorForId:O,config:R,appState:N}=ane(le=>le),y=cne(R,P?{type:P.type,props:P.props}:null),A=P?PE(y??R.components[P.type]?.fields,P.props):[],L=le=>R.components[le]?.label??le,H=P?O(P.props.id):void 0,X=kne(e.kind,d),q=fne(),U={capabilities:d,tokenRef:c,hostPanels:q.chrome?.panels,describeNode:le=>{let Be=D(le);if(!Be)return null;let Ae=R.components[Be.type];return{type:Be.type,label:Ae?.label??Be.type,fields:Ae?.fields??{},props:Be.props??{}}},siteId:p,websiteName:C??null,notifyParent:f,onNotify:s,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},ge=X?.head?.(e,U)??null,te=J_({kind:S?.kind,pageName:S?.label}),Le=ge?.name??(X?i(X.name):P?i(L(P.type)):te.name),We=ge?.kindLabel??(X?i(X.kindLabel):P?H&&H.zone!==gD?i("Block"):i("Section"):te.kindLabel),Ee=X?X.icon:P?P.type:"page",Ie=X?null:P?R.components[P.type]?.fields??null:R.root?.fields??null,Oe=Ie?B1(Ie):2,Ge=uS(e)&&P?wi(P.type):null,to=!!P&&!!H&&H.zone===gD&&P.type!==He&&P.type!==hne,wo=ru(N?.data,P),he=()=>{wo||H&&T.duplicateComponent(H.zone,H.index)},Ve=()=>{H&&(T.removeComponent(H.zone,H.index),T.select(null))},_e=P?R.components[P.type]?.defaultProps?.previewHover:void 0,ke=uS(e)&&!!P&&!!H&&_e!==void 0,Je=ke&&P.props.previewHover===!0,Bt=()=>{!P||!H||T.replaceComponent(H.zone,H.index,{...P,props:{...P.props,previewHover:!Je}})},{shown:Bo,setShown:W}=bne(),Fe=!!(X||P||b);return tr("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right ${Ine(Bo)}`.trim(),children:[Se(lne,{icon:Se(Vr,{type:Ee,size:15}),name:Le,kind:We,actions:!n&&uS(e)&&P&&P.type!==He?tr(mD,{children:[Se(hD,{label:i("Duplicate section"),title:wo??void 0,disabled:wo!==null,onClick:he,children:Se(ine,{size:15})}),to&&d.hasSiteSettings&&Se(iR,{node:P,currentSlug:u,siteId:p??void 0,tokenRef:c,runAuthed:x,onNotify:s}),Se(hD,{label:i("Remove section"),danger:!0,onClick:Ve,children:Se(dne,{size:15})}),l?Se(xD,{side:"right",onHide:l,divider:!0}):null]}):l?Se(xD,{side:"right",onHide:l}):void 0}),ke&&tr("div",{className:"sf-preview-pin",children:[tr("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(gne,{checked:Je,onChange:Bt,ariaLabel:i("Preview hover state")})]}),Se(g0,{tier:Oe,children:tr("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[X?X.render(e,U):P?tr(mD,{children:[P.type===He&&d.hasSiteSettings&&Se(fD,{}),Se(DT,{children:Se(At,{entries:Se(dR,{parts:A,heading:!1,onOpen:le=>F(Of(P.props.id,le))}),entryCount:ey(A).length,itemWord:Le})}),Ge&&Se(qp,{source:Ge,slug:ks(P?.props),menuId:$p(P?.props)})]}):b?Se(At,{omit:ei}):Se(sne,{variant:"none",icon:!1,message:i("Select a section or block to edit it."),children:a&&Se(nne,{variant:"secondary",onClick:a,children:i("This page")})}),Fe&&Se(xne,{shown:Bo,onChange:W,label:i("Show hints")})]})})]})}import{jsx as m,jsxs as E,Fragment as OD}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)"},xS="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 Tne={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"},V={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)"},Ne=(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 Vu({children:e}){return m("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:h.muted},children:e})}function kD({over:e,overTone:o,head:t,headSize:a=11.5,cta:r,ctaBg:n,ctaFg:s,tone:l}){return E(OD,{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 gS({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",...Ne(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 Pe({title:e,children:o}){return E("div",{style:{...V,background:h.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[m(Vu,{children:e}),o]})}function TD({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 IS({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 od({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 Ku({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 PD({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 Pne={wheelslisting:m(Pe,{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",...Ne(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:{...V,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:{...V,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...Ne(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(Pe,{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(Pe,{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(Pe,{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:{...V,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:{...V,background:h.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[m(Vu,{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:{...V,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...Ne(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(Pe,{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(Pe,{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(Pe,{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:{...V,background:`linear-gradient(transparent 45%,${h.scrim} 45%),${Ne(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(Pe,{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:{...V,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:{...V,...Ne(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(Pe,{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(Ku,{label:"Name"}),m(Ku,{label:"Email"})]}),m(Ku,{label:"Message",filled:!0}),m(PD,{children:"SEND"})]})}),appointmentbooking:m(Pe,{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(Pe,{title:"Leave a review",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[m(IS,{filled:4,size:14}),m(Ku,{label:"Your review",filled:!0}),m(PD,{children:"POST"})]})}),submitbuild:m(Pe,{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:{...V,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:{...V,overflow:"hidden",...Ne(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:{...V,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:{...V,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(Pe,{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(Pe,{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",...Ne(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:{...V,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:{...V,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(Pe,{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:{...V,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:{...V,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(Pe,{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:{...V,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(od,{n:"27k",label:"Rigs"}),m(od,{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(Pe,{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:{...V,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...Ne(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,...Ne(h.paper,h.paper2,150)}}),m("span",{style:{height:3,width:"38%",borderRadius:1,background:h.rust}})]})]})}),manifesto:m("div",{style:{...V,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...Ne(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(Pe,{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:{...V,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...Ne(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:{...V,overflow:"hidden",...Ne(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:{...V,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:{...V,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:{...V,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:{...V,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...Ne(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:{...V,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:{...V,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:{...V,overflow:"hidden",background:h.card},children:[m("div",{style:{position:"absolute",inset:0,...Ne(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(Pe,{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,...Ne(e,o,140+t*22)}},t))})}),gallery:E(Pe,{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,...Ne(e,o,150+t*20)}},t))})]}),ordersummary:E(Pe,{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",...Ne(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(Pe,{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:{...V,background:h.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[m(Vu,{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:{...V,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...Ne(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(od,{n:"27k",label:"Rigs fitted",tone:h.onInk}),m(od,{n:"12",label:"Years",tone:h.onInk}),m(od,{n:"4.9",label:"Avg rating",tone:h.warm})]})]}),testimonials:E("div",{style:{...V,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(IS,{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(TD,{}),m("span",{style:{fontSize:"3.98cqw",color:h.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:E(Pe,{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,...Ne(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(TD,{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(IS,{filled:o})]}),m(oo,{children:t})]})]},e))})]}),logos:E("div",{style:{...V,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...Ne(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:{...V,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(Pe,{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(Pe,{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:{...V,overflow:"hidden",...Ne(h.ink,h.ink2)},children:[m("div",{style:{...V,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(kD,{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:{...V,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(kD,{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",...Ne(h.inkSoft,h.inkSoft2)},children:m(wa,{size:74,style:{right:-14,top:16}})})]}),productgrid:m(Pe,{title:"Best sellers",children:E("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[m(gS,{name:"Ridge 19",price:"$365"}),m(gS,{name:"Ridge 29",price:"$410"}),m(gS,{name:"Ridge 39",price:"$455"})]})}),collections:m(Pe,{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,...Ne(o,t)},children:m("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:E("div",{style:{...V,display:"flex",background:h.card,overflow:"hidden"},children:[m("div",{style:{flex:1.1,position:"relative",...Ne(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(Pe,{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(Pe,{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:{...V,background:h.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[m(Vu,{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:{...V,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,...Ne(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:{...V,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))})},ED={subscribe:E("div",{style:{...V,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:{...V,display:"flex"},children:[m("div",{style:{width:"44%",background:xS}}),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(OD,{children:[m($,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),E("div",{style:{...V,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:{...V,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:{...V,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:{...V,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:{...V,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:{...V,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:{...V,padding:14,display:"flex",alignItems:"center"},children:m($,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:E("div",{style:{...V,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:xS},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:{...V,padding:14,display:"flex",alignItems:"center"},children:m($,{w:"64%",h:13,r:4,tone:"dark"})}),text:E("div",{style:{...V,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:xS}}),button:m("div",{style:{...V,display:"flex",alignItems:"center",justifyContent:"center"},children:m($,{w:"34%",h:16,r:8,tone:"accent"})}),menu:E("div",{style:{...V,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:{...V,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:{...V,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:{...V,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:{...V,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:{...V,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:{...V,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:{...V,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 _D({type:e}){let o=Tne[e]??"",t=Pne[o]??ED[o]??ED.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 Im}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as Hs,jsxs as AD}from"react/jsx-runtime";import Ene from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as One}from"efficient-easel/rail";import{Tooltip as _ne}from"efficient-shell/ui";import{HintsToggle as Ane,hintsFoldClass as Rne}from"efficient-easel/panel";import{useHints as Lne}from"efficient-easel/screen/lib/hints";function RD({tokenRef:e,siteId:o,onClose:t,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}){let d=gs(),{shown:c,setShown:f}=Lne();return AD("div",{className:`sf-styles ${Rne(c)}`.trim(),children:[Hs(Ene,{icon:Hs(One,{}),title:i("Styles"),context:Hs(_ne,{content:i("{name} \u2014 renamed in the Console: {place}.",{name:d,place:i("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:Hs("span",{className:"sf-name-text",children:d})})}),AD("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[Hs(ap,{tokenRef:e,siteId:o,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}),Hs(Ane,{shown:c,onChange:f,label:i("Show hints")})]})]})}import{jsx as po,jsxs as fn,Fragment as Hne}from"react/jsx-runtime";import{Fragment as KD,useEffect as VD,useRef as CS}from"react";import{useTreeDrag as qD}from"efficient-easel/drag";import{GlobeIcon as Wne,ImageIcon as Gne,LocationIcon as $ne,MapIcon as zne,TextLinesIcon as Une,TrashIcon as YD}from"efficient-easel/icons";import{Subtree as XD,TreeRow as ad,TreeRowAction as JD,TreeSeam as ZD}from"efficient-easel/tree";import{useEaselStrings as jne}from"efficient-easel/strings";import{createPreviewSelectionContext as Fne}from"efficient-easel/draw/client";var{Provider:fGe,useSelection:LD}=Fne("selectedLocationPartId");function FD(e,o,t){return`${e}::${o}::${t}`}function BD(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 Kne}from"efficient-easel/screen/lib/screen-parts";import{useSyncExternalStore as Bne}from"react";var Dne={level:"groups"},ND=Dne,bS=new Set;function Ft(e){ND=e;for(let o of bS)o()}function Nne(e){return bS.add(e),()=>{bS.delete(e)}}var DD=()=>ND;function MD(){return Bne(Nne,DD,DD)}var td=e=>String(e?.group??""),yS=new WeakMap,Mne=0;function qu(e){let o=yS.get(e);return o||(o=`loc${++Mne}`,yS.set(e,o)),o}var HD=(e,o)=>o||e||"Ungrouped",WD={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 cn(e){return su(e,td,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var SS=e=>e.flatMap(o=>o.cards),GD=(e,o,t)=>Math.min(Math.max(e,o),t);function Yu(e,o,t){let a=0;for(let r=0;r<e.length;r++)if(td(e[r])===o){if(a===t)return r;a++}return-1}function wS(e,o,t){let a=cn(e);if(o<0||o>=a.length)return e;let[r]=a.splice(o,1),n=GD(o<t?t-1:t,0,a.length);return a.splice(n,0,r),SS(a)}function vS(e,o,t,a,r){let n=cn(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&&yS.set(c,qu(d));let f=GD(s===l&&t<r?r-1:r,0,l.cards.length);return l.cards.splice(f,0,c),SS(n)}function $D(e,o){let t=cn(e),a=t.find(n=>n.key===o),r={...WD,group:o,groupName:a?.name??""};return a?(a.cards.push(r),SS(t)):[...e,r]}function zD(e){let o=new Set(cn(e).map(r=>r.key)),t=o.size+1,a=`Group ${t}`;for(;o.has(a);)a=`Group ${++t}`;return{cards:[...e,{...WD,group:a,groupName:""}],key:a}}function UD(e,o){return e.filter(t=>td(t)!==o)}function jD(e,o,t){let a=Yu(e,o,t);return a<0?e:e.filter((r,n)=>n!==a)}function xGe(e,o,t){let a=e.flatMap((s,l)=>td(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 gGe(e,o,t){return o.flatMap(a=>{let r=e.filter(n=>td(n)===a);return r.length?r:t(a)})}var Ju="ContactLocations",Xu=e=>({parentId:`locations-${e}`,slot:"groups"}),kS=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function QD(e,o){let{readOnly:t,selected:a}=o,r=jne().tree,n=o.data?.content??[],s=Kne(e),l=CS(null);VD(()=>{let b=a?.type===Ju?String(a.props.id):null;b&&b!==l.current&&Ft({level:"groups"}),l.current=b},[a?.props.id]);let{selectedLocationPartId:d,setSelectedLocationPartId:c,setSelectHandler:f}=LD(),u=MD(),p=(b,C)=>{let T=n[b];T&&o.replace(b,{type:T.type,props:{...T.props,locations:C}})},x=b=>{let C=n[b]?.props?.locations;return Array.isArray(C)?C:[]},g=qD({keyOf:b=>`group:${b.si}:${b.index}`,readOnly:!!t,canDrop:(b,C)=>C.parentId===Xu(b.si).parentId&&C.slot==="groups",onDrop:(b,C)=>{p(b.si,wS(x(b.si),b.index,C.index)),u.level==="city"&&Ft({level:"groups"})},onStep:(b,C)=>{p(b.si,wS(x(b.si),b.index,C<0?b.index-1:b.index+2)),u.level==="city"&&Ft({level:"groups"})}}),I=qD({keyOf:b=>`city:${b.si}:${b.group}:${b.index}`,readOnly:!!t,canDrop:(b,C)=>C.parentId===Xu(b.si).parentId&&C.slot.startsWith("cities:"),onDrop:(b,C)=>{let T=C.slot.slice(7);p(b.si,vS(x(b.si),b.group,b.index,T,C.index)),Ft({level:"group",key:T})},onStep:(b,C)=>{p(b.si,vS(x(b.si),b.group,b.index,b.group,C<0?b.index-1:b.index+2)),u.level==="city"&&Ft({level:"group",key:b.group})}}),k=CS(n);k.current=n;let S=CS(()=>{});VD(()=>{f(b=>{let C=BD(b);if(!C)return;let T=k.current.findIndex(F=>F.props?.id===C.nodeId);T<0||S.current(T,{level:C.part,index:C.index})})},[f]);let v=(b,C)=>{l.current=n[b]?.props?.id??null,o.select(b),Ft(C),e.reveal();let T=n[b]?.props?.id;typeof T=="string"&&(C.level==="city"||C.level==="image"||C.level==="map")?c(FD(T,C.index,C.level)):c(null),typeof T=="string"&&o.scrollTo(T)};return S.current=v,{renderLocationTree:(b,C,{rowClick:T,isCollapsed:F,toggleCollapse:P})=>{let D=x(C),O=cn(D),R=String(b.props.id),N=s&&a?.props.id===R,y=L=>po(ZD,{...t?{}:g.seam({place:{...Xu(C),index:L}})},`seam:${R}:groups:${L}`),A=(L,H)=>po(ZD,{...t?{}:I.seam({place:{...kS(C,L),index:H}})},`seam:${R}:cities:${L}:${H}`);return fn(Hne,{children:[po(ad,{icon:po(Une,{size:13}),name:i("Texts"),words:r,onSelect:()=>v(C,{level:"texts"}),selected:N&&u.level==="texts",rowProps:{onClick:T(()=>v(C,{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?HD(L.key,L.name):i("Ungrouped"),te={...kS(C,L.key),index:L.cards.length},Le=I.row({item:{si:C,group:L.key,index:-1},place:te,into:te,canDrag:!1},{onClick:T(()=>v(C,{level:"group",key:L.key}))}),We=g.row({item:{si:C,index:H},place:{...Xu(C),index:H}},Le.rowProps);return fn(KD,{children:[H===0&&y(0),po(ad,{icon:po(Wne,{size:13}),name:ge,words:r,onSelect:()=>v(C,{level:"group",key:L.key}),selected:U,draggable:We.draggable,dragging:We.dragging,drop:We.drop??Le.drop,fold:{open:!q,label:i("group"),onToggle:()=>P(X)},actions:po(JD,{kind:"delete",label:Eo("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",L.cards.length,{label:ge}),onClick:()=>{p(C,UD(D,L.key)),Ft({level:"groups"})},children:po(YD,{size:15})}),rowProps:We.rowProps,count:L.cards.length,countLabel:Eo("{n} city","{n} cities",L.cards.length)}),!q&&fn(XD,{children:[L.cards.map((Ee,Ie)=>{let Oe=Yu(D,L.key,Ie),Ge=N&&u.level==="city"&&u.index===Oe,to=String(Ee?.name??"")||i("City"),wo=`${R}::city::${qu(Ee)}`,he=F(wo),{rowProps:Ve,..._e}=I.row({item:{si:C,group:L.key,index:Ie},place:{...kS(C,L.key),index:Ie}},{onClick:T(()=>v(C,{level:"city",index:Oe}))});return fn(KD,{children:[Ie===0&&A(L.key,0),po(ad,{icon:po($ne,{size:13}),name:to,words:r,onSelect:()=>v(C,{level:"city",index:Oe}),selected:Ge,..._e,fold:{open:!he,label:to,onToggle:()=>P(wo)},actions:po(JD,{kind:"delete",label:i("Delete {name}",{name:to}),onClick:()=>{p(C,jD(D,L.key,Ie)),Ft({level:"group",key:L.key})},children:po(YD,{size:15})}),rowProps:Ve}),!he&&fn(XD,{children:[po(ad,{icon:po(Gne,{size:13}),name:i("Image"),words:r,onSelect:()=>v(C,{level:"image",index:Oe}),selected:N&&u.level==="image"&&u.index===Oe,rowProps:{onClick:T(()=>v(C,{level:"image",index:Oe}))}}),po(ad,{icon:po(zne,{size:13}),name:i("Map"),words:r,onSelect:()=>v(C,{level:"map",index:Oe}),selected:N&&u.level==="map"&&u.index===Oe,rowProps:{onClick:T(()=>v(C,{level:"map",index:Oe}))}})]}),A(L.key,Ie+1)]},qu(Ee))}),fn("button",{type:"button",className:"sf-add-card",onClick:()=>{let Ee=$D(D,L.key);p(C,Ee);let Ie=cn(Ee).find(Oe=>Oe.key===L.key);Ft(Ie&&Ie.cards.length?{level:"city",index:Yu(Ee,L.key,Ie.cards.length-1)}:{level:"group",key:L.key})},children:[po("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add city")]})]}),y(H+1)]},X)}),fn("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:L,key:H}=zD(D);p(C,L),v(C,{level:"group",key:H})},children:[po("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add group")]})]})},sectionPressed:b=>{b?.type===Ju&&Ft({level:"groups"})}}}import{useEffect as Xne,useRef as Jne}from"react";import{createNode as PS,newId as ES}from"efficient-easel/data";import{useEaselApi as Zne}from"efficient-easel/easel";import{useScreenDocument as Qne}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as ese}from"efficient-easel/screen/lib/session-context";import{useEffect as tN,useRef as Vne}from"react";import{useEasel as qne}from"efficient-easel/easel";import{ROOT_ZONE as TS}from"efficient-easel/draw";var rd={};function eN(e){return rd=e?.theme?{theme:e.theme}:{},rd}function oN(e){rd===e&&(rd={})}function Zu(){return rd}function rN(e){let o=qne(s=>s.appState.data.content),{theme:t,themeRow:a,themeFromDocument:r}=xe(),n=Vne(new Set);tN(()=>{let s=aN({theme:t,themeRow:a,themeFromDocument:r});s&&Yne(CR(o,void 0,s),e,n.current)},[o,e,t,a,r]),tN(()=>{let s=eN(aN({theme:t,themeRow:a,themeFromDocument:r}));return()=>oN(s)},[t,a,r])}function aN(e){return e.themeFromDocument||e.themeRow==="none"?{}:e.themeRow==="read"?{theme:e.theme}:null}function Yne(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(TS,a,r[0]),r.slice(1).forEach((s,l)=>{o.insertNode(TS,a+1+l,s),o.replaceComponent(TS,a+1+l,s)}))}}import{ROOT_ZONE as Ws,missingPinnedTypes as ose,pinnedDuplicateIds as OS}from"efficient-easel/draw";function nN(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function sN(e,o){let t=e.some(l=>l?.type===Re),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===$o),seedFooter:s,seedSiteHeader:s&&!e.some(l=>l?.type===Me)}}async function lN(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(nc(a,t)),!0)}function iN(e,o){let{adapter:t,capabilities:a,currentSlug:r,docId:n,data:s,saveStatus:l,siteId:d,tokenRef:c}=Qne(),f=ese(),{hasSiteSettings:u,hasPinnedChrome:p}=a;rN(e);let x=!!a.editsPinnedInPlace&&r!==Ct,g=r===Ct,I=Zne().getState,k=Jne(null);Xne(()=>{if(!nN({docId:n,saveStatus:l,seededDocId:k.current})||(k.current=n,!p))return;let S=I().appState.data,v=S.content,b=s?.content??[],C=(D,O)=>D.some(R=>R?.type===O);if(!u){let D=new Set(OS(v)),O=D.size?v.filter(N=>!D.has(N.props.id)):v;if(D.size&&e.setDocument({...S,content:O}),g)return;let R=ose(O,b);if(R.includes(He)){let N=O.length,y=e.insertSection(He,N);e.replaceComponent(Ws,N,{type:He,props:{id:y,blocks:au()}})}R.includes($o)&&e.insertNode(Ws,0,tu());return}if(g){let D=Bn(v);if(D!==v&&e.setDocument({...S,content:[...D]}),!D.find(O=>O.type===He)&&!C(b,He)&&!C(D,Re)&&!C(b,Re)){let O=(N,y)=>PS(o,N,y),R={type:He,props:{blocks:au()}};e.insertNode(Ws,D.length,_i(R,O,ES(Re),Qi))}return}if(x){let D=!!t?.pinnedChrome?.state().docId,O=sN(v,{hasChromeDoc:D}),R=new Set([...O.remove,...OS(v.filter(y=>!O.remove.includes(String(y.props.id))))]),N=R.size?v.filter(y=>!R.has(String(y.props.id))):v;if(N.length!==v.length&&e.setDocument({...S,content:N}),O.seedFooter&&!C(b,He)&&!C(b,Re)){let y=(L,H)=>PS(o,L,H),A={type:He,props:{blocks:au()}};e.insertNode(Ws,N.length,_i(A,y,ES(Re),Qi))}if(O.seedHeader&&!C(b,$o)){let y=N[0]?.type===Me?1:0;e.insertNode(Ws,y,tu())}if(O.seedSiteHeader&&!C(b,Me)&&!C(b,He)&&!C(b,Re)){let y=n;lN({blocks:Ec(f),make:(A,L)=>PS(o,A,L),id:ES(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=v.filter(D=>D.type!==He),F=new Set(OS(T)),P=F.size?T.filter(D=>!F.has(D.props.id)):T;P.length!==v.length&&e.setDocument({...S,content:P}),!C(P,$o)&&!C(b,$o)&&e.insertNode(Ws,0,tu())},[n,l,s,I,e,u,p,g,x,t,f,d,c])}import{useEffect as kN,useMemo as xse,useRef as TN}from"react";import{useEasel as gse}from"efficient-easel/easel";import{useEaselHost as Ise}from"efficient-easel/screen/lib/host";import{FIELD_DESCRIPTION_MARKER as cse}from"efficient-easel/screen/lib/host";import{isNode as _S}from"efficient-easel/data";var dN=[{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"}],f$e={label:"Scrolling Bar",defaultProps:{items:[],tone:"scrim",borders:!0,size:rh,separator:nh,scrollDirection:mi}};var cN=()=>[{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"},{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"}],m$e={label:"Spec Strip",defaultProps:{cells:[{text:"",tone:"normal"},{text:"",tone:"normal"}],fill:"dark"}};function So(e,o,t,a={}){return{type:e,props:{...o(e),id:t(e),...a}}}function fN(e,o,t){return So(K,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var Qu={Manifesto:(e,o)=>({type:K,props:{...e(K),id:o(K),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[So(K,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[So("Text",e,o,bt()),So("Text",e,o,Aa()),So("Text",e,o),So("Stats",e,o)]}),fN(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:K,props:{...e(K),id:o(K),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[So(K,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[So("Text",e,o,bt()),So("Text",e,o,Aa()),So("Text",e,o),So("ButtonBlock",e,o)]}),fN(e,o,{direction:"column",name:"Image",content:[So("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:K,props:{...e(K),id:o(K),direction:"column",name:"Subscribe",content:[So("Text",e,o,Aa()),So("Text",e,o),So("Form",e,o)]}}),Ticker:(e,o)=>pN("Scrolling Bar",Eu,zi,dN.map(t=>({text:t.text,style:Ou,muted:!0})),e,o),SpecStrip:(e,o,t)=>pN("Spec Strip",t?.theme?{...ji,sectionAccent:wd(ao(t.theme))}:{...ji,sectionBorder:{top:1}},Ui,cN().map(a=>({text:a.text??"",style:Ki,muted:a.tone==="muted"})),e,o)};function pN(e,o,t,a,r,n){return So(K,r,n,{...sn,...o,blockSpacing:"gap",padV2:!0,name:e,sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom,sectionPaddingTopPhone:t.topPhone,sectionPaddingBottomPhone:t.bottomPhone,content:a.map(s=>So("Text",r,n,{text:s.text,...s.muted?{tone:"dim"}:{},_partStyles:{text:s.style}}))})}function uN(e){return Qu[e]??null}import{isNodeList as nd}from"efficient-easel/data";var F$e=Object.keys(cS),tse={Logos:NL,DocMasthead:JF,Timeline:yF,TimelineTrack:SF},ase={PaymentBadges:ML,PaymentLogosBlock:HL};function em(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]=nd(n)?n.map(s=>em(s,o,t)):n;return a.id=t(e.type),{type:e.type,props:a}}var mN=e=>({...e?.theme?{theme:e.theme}:{},press:!0});function om(e,o,t=0,a=()=>({})){return(r,n,s)=>{let{nodes:l}=Es({type:e,props:{...r(e),...a(),id:n(e)}},o,mN(s));return em(l[t],r,n)}}var rse={Stats:sse,Cards:nse};function nse(){let e=Ya("Cards");if(!e)return null;let o=om("Cards",e,0,fL);return(t,a,r)=>{let n=o(t,a,r);return{...n,props:{...n.props,name:"Cards section"}}}}function sse(){let e=Ya("StatsParagraph");return e?(o,t,a)=>{let{nodes:r}=Es({type:"StatsParagraph",props:{...o("StatsParagraph"),...vL(),id:t("StatsParagraph")}},e,mN(a)),n=r[0],s=nd(n.props.content)?n.props.content.filter(f=>f.props?.cardStyle===void 0):[],l=xN(ky(CL(),"table")),d=s.map(hN),c=em({...n,props:{...n.props,content:[...d,l]}},o,t);return{...c,props:{...c.props,name:"Stats section"}}}:null}function hN(e){if(e.props?.name==="Words"){let o=nd(e.props.content)?e.props.content.map(lse):e.props.content;return{...e,props:{...e.props,widthFitPhone:"fill",content:o}}}return nd(e.props?.content)?{...e,props:{...e.props,content:e.props.content.map(hN)}}:e}function lse(e){return e.type!=="Text"?e:{...e,props:xa({...e.props,alignTablet:"left"},"text","alignTablet","left")}}var xN=e=>io([e],(o,t)=>`${o}-seed-${t}`)[0];function ise(e,o){if(!vR(e,o))return null;let t=rse[e];if(t)return t();let a=Ya(e);return a?om(e,a,0,tse[e]??ase[e]):null}function dse(e){return(o,t,a)=>{let r=n=>{if(n.type==="Stats"){let d=em(xN(ky([],"list")),o,t);return{...d,props:{...d.props,name:"Numbers"}}}let s=!1,l={};for(let[d,c]of Object.entries(n.props))if(nd(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 Gs(e,o=Ri){let t=uN(e);return t?dse(t):ise(e,o)}function sd(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function fse(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function AS(e,o,t,a){e.forEach((r,n)=>{if(_S(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(_S)&&AS(l,r,s,a)}})}function pse(e){let o=[];AS(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&AS(t,null,"",o);return o}function bN(e,o){return pse(e).find(t=>String(t.node.props.id)===o)}function yN(e,o,t){if(!t)return null;let a=bN(o,t);if(!a)return null;let r=sd(e,a.node.type),n=a.parent?`${sd(e,a.parent.type)} \xB7 ${fse(a.slot)} ${a.index+1}`:r;return{blockId:t,type:a.node.type,label:n,path:""}}var use=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 mse(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[cse]: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=use(n));for(let s of["arrayFields","objectFields"]){let l=t?.[s]??o[s];l&&typeof l=="object"&&(a[s]=SN(l))}return a}function SN(e){let o={};for(let[t,a]of Object.entries(e??{})){let r=mse(a);r&&(o[t]=r)}return o}function wN(e){let o={};for(let[t,a]of Object.entries(e.components))a&&(o[t]={label:sd(e,t),fields:SN(a.fields),...vN(t)?{retired:!0}:{}});return o}function vN(e){return Object.prototype.hasOwnProperty.call(Fm,e)}function gN(e,o){let t=e.components[o]?.defaultProps;return t&&typeof t=="object"?structuredClone(t):{}}function hse(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 RS(e,o){return e.findIndex(t=>_S(t)&&String(t.props.id)===o)}function IN(e,o,t){let a=o||t;if(!a)return e.length;let r=RS(e,a);if(r<0)throw new Error(`there is no top-level block ${a}`);return o?r+1:r}function CN(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=bN(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=hse(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}`),vN(l.type)&&c(`${sd(e,l.type)} is retired: it is no longer added (a page that holds one keeps it)`);let f=Gs(l.type),u=Object.keys(l.props??{}).filter(x=>x!=="id");f&&u.length&&c(`${sd(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=>gN(e,x),a,r):{type:l.type,props:{...gN(e,l.type),...structuredClone(l.props),id:a(l.type)}};s.splice(IN(s,l.after,l.before),0,p);break}case"remove_block":{let f=RS(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=RS(s,l.block_id);f<0&&c(`there is no top-level block ${l.block_id}`);let[u]=s.splice(f,1);s.splice(IN(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 LS=e=>J(e.requestId)??null;function PN(){let e=Ise(),{appState:o,selectedItem:t,dispatch:a,history:r,config:n}=gse(p=>p),s=n,l=TN({appState:o,dispatch:a,history:r,blockConfig:s});l.current={appState:o,dispatch:a,history:r,blockConfig:s};let d=TN(new Map),c=t?.props?.id,f=xse(()=>yN(s,o.data,c),[s,o.data,c]),u=f?JSON.stringify(f):"";kN(()=>{e.connected&&e.send("storefront-editor:selection",{selection:f})},[e,u]),kN(()=>e.subscribe(p=>{let{appState:x,dispatch:g,history:I,blockConfig:k}=l.current;switch(p.type){case"storefront-editor:request-document":{let S=LS(p);if(!S)return;e.send("storefront-editor:document",{requestId:S,document:x.data,blocks:wN(k)});return}case"storefront-editor:apply-page-edits":{let S=LS(p);if(!S)return;let v=Array.isArray(p.ops)?p.ops:[],b=v.length?CN(k,x.data,v,C=>`${C}-${crypto.randomUUID()}`,Zu()):{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=LS(p);if(!S)return;let v=d.current.get(S),b=v!==void 0&&v===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 _N,useState as AN}from"react";var tm=new Map;async function bse(e,o){try{return(await Ue().site.get({siteId:o})).slug?.trim()||null}catch(t){return console.warn("[editor-site-slug] could not resolve the site slug",t),null}}function EN(e,o){let t=tm.get(o);return t||(t=bse(e,o),tm.set(o,t),t.catch(()=>{tm.get(o)===t&&tm.delete(o)})),t}var yse=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function FS(e){return!!e&&yse.test(e)}function ON(e){let{pageSlug:o,siteSlug:t,hostname:a}=e,r=o===bc?"/":`/${encodeURIComponent(o)}`;if(!FS(a))return r;let n=t?.trim();return n?`${r}?site=${encodeURIComponent(n)}`:r}function RN(e){let{pageSlug:o,siteId:t,token:a}=e,[r,n]=AN(null),[s,l]=AN(null),d=En();_N(()=>l(d?new URL(d).hostname:window.location.hostname),[d]),_N(()=>{if(!FS(s)||!t||!a){n(null);return}let f=!1;return EN(a,t).then(u=>{f||n(u)}),()=>{f=!0}},[s,t,a]);let c=ON({pageSlug:o,siteSlug:r,hostname:s});return d?`${d}${c}`:c}import{jsx as ld}from"react/jsx-runtime";import{useEffect as Sse,useRef as LN,useState as wse}from"react";import{ExternalIcon as FN}from"efficient-easel/icons";import{EaselIconButton as vse}from"efficient-easel/chrome";import{Tooltip as Cse,iconButtonClasses as kse}from"efficient-shell/ui";import{useSettledPress as Tse}from"efficient-easel/easel";import{useScreenDocument as Pse}from"efficient-easel/screen/components/ScreenDocumentContext";async function Ese({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 BN({liveHref:e,pageId:o,draftLink:t}){let{flushSave:a}=Pse(),r=LN(a);r.current=a;let n=Tse(),[s,l]=wse(!1),d=LN(null);if(Sse(()=>()=>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),Ese({pageId:o,liveHref:e,draftLink:t,ready:c}).finally(()=>l(!1)))};return ld(vse,{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:ld(FN,{})})}return ld(Cse,{content:i("Preview the live site (opens in a new tab)"),side:"bottom",children:ld("a",{className:kse({className:"es-iconbtn"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":i("Preview the live site in a new tab"),children:ld(FN,{})})})}import{createElement as Lse,useCallback as Fse,useEffect as ZN,useRef as QN,useState as Bse}from"react";import{ClockIcon as Dse}from"efficient-shell/icons/efficient";import{useScreenDocument as Nse}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as Ose}from"react";import{useScreenDocument as _se}from"efficient-easel/screen/components/ScreenDocumentContext";var Ase=()=>()=>{},DN=()=>null;function am(e){return Ose(e?e.subscribe:Ase,e?e.state:DN,e?e.state:DN)}function rm(){let{adapter:e}=_se();return e?.pinnedChrome}import{useSyncExternalStore as HN}from"react";var id=!1,$s=null,BS=new Set;function cd(){for(let e of BS)e()}function WN(e){return BS.add(e),()=>{BS.delete(e)}}function GN(){id||(id=!0,cd())}function $N(){id&&(id=!1,cd())}function NN(){return id}function zN(){return HN(WN,NN,NN)}function MN(){return $s}function nm(){$s&&($s=null,cd())}function UN(){return HN(WN,MN,MN)}var dd=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function jN(e,o,t,{flushSave:a,reload:r}){if(!await a())throw new dd;let n=await e.restore(o,t);return Dc(n.liveState),r(),n}async function KN({access:e,version:o,page:t,...a}){let r=await jN(e,o.id,t?{page:t.id}:{},a);$s={title:Rse(o,t??null),undo:r.undo},cd()}async function VN({access:e,...o}){let t=$s?.undo;t&&(await jN(e,t,{},o),$s=null,cd())}function qN(e){return e.name?e.name:e.kind==="draft_before_restore"?i("Draft before restore"):i("Version {n}",{n:e.number})}function Rse(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 YN(e){let o=e.changes.filter(a=>a.kind==="page").length,t=[...o?[Eo("{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(_m(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function XN(e){return e.change==="take_down"?i("{name} (taken down)",{name:e.name}):e.name}function JN(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=_m(),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 e2(e){let{docId:o,capabilities:t,hasUnsavedEdits:a,onPublish:r,adapter:n}=Nse(),s=QA(ZA(o??null),a),l=am(rm()),d=n.siteLiveState;ZN(()=>{if(d)return Ux(d),la(0),()=>Ux(null)},[d]);let c=Nc(),[f,u]=Bse(!1),p=QN(e);p.current=e;let x=QN(!0);ZN(()=>(x.current=!0,()=>{x.current=!1}),[]);let g=Fse(()=>{u(!0),r(p.current).then(()=>{nm()}).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=Yb({live:I,onPress:g,busy:f,goingLive:eR(c?.changes??[])});return n.siteVersions?{...k,menuItems:Mse()}:k}return Yb({live:s,onPress:g,busy:f,pinnedUnpublished:l?.unpublished??!1})}}function Mse(){return[{key:"version-history",label:i("Version history"),icon:Lse(Dse),onSelect:GN}]}import{jsx as ee,jsxs as Zo,Fragment as ud}from"react/jsx-runtime";import{useCallback as Hse,useEffect as Wse,useId as a2,useRef as Gse,useState as ft}from"react";import{useSettledAction as $se}from"efficient-easel/easel";import{Avatar as zse,Banner as fd,Button as pn,ColoredBadge as DS,Dialog as r2,Drawer as Use,DropdownMenu as jse,FormField as n2,iconButtonClasses as Kse,Inline as NS,Input as Vse,ListRow as qse,Select as Yse,SortableList as Xse,Stack as pd}from"efficient-shell/ui";import{EditIcon as Jse,EyeIcon as o2,MenuIcon as Zse,MoreIcon as Qse,PageIcon as s2,RevertIcon as t2,StylesIcon as ele}from"efficient-shell/icons/efficient";import{useScreenDocument as l2}from"efficient-easel/screen/components/ScreenDocumentContext";var ole={page:s2,menu:Zse};function tle(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function ale(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 rle({version:e,page:o,waiting:t,busy:a,error:r,onCancel:n,onConfirm:s,onPage:l}){let d=a2();if(!e)return null;let c=e.kind==="draft_before_restore",f=e.number,u=YN(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(r2,{open:!0,onClose:()=>{a||n()},size:"sm",title:p,footer:Zo(ud,{children:[ee(pn,{variant:"secondary",onClick:n,disabled:a,children:i("Cancel")}),ee(pn,{onClick:s,loading:a,disabled:a,children:i("Restore as draft")})]}),children:Zo(pd,{gap:4,children:[o&&e.pages.length>1?ee(n2,{label:i("Page"),htmlFor:d,children:ee(Yse,{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(fd,{tone:"warning",children:Eo("{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(fd,{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(fd,{tone:"danger",children:r}):null]})})}function nle({version:e,onCancel:o,onSave:t}){let a=a2(),[r,n]=ft(null),[s,l]=ft(""),[d,c]=ft(!1),[f,u]=ft(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(r2,{open:!0,onClose:()=>{d||o()},size:"sm",title:i("Name this version"),footer:Zo(ud,{children:[ee(pn,{variant:"secondary",onClick:o,disabled:d,children:i("Cancel")}),ee(pn,{onClick:()=>{x()},loading:d,disabled:d||p,children:i("Save")})]}),children:ee(n2,{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(Vse,{id:a,value:s,invalid:!!f,onChange:g=>l(g.target.value),onKeyDown:g=>{g.key==="Enter"&&x()}})})})}function sle({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(o2,{}),onSelect:a}],...d?[{key:"restore",label:l?i("Put these drafts back"):i("Restore whole website"),icon:ee(t2,{}),onSelect:r}]:[],...d&&!l&&e.pages.length?[{key:"restore-page",label:i("Restore one page only"),icon:ee(s2,{}),onSelect:n}]:[],...l?[]:[{type:"divider",key:"divider"},{key:"name",label:i("Name this version"),icon:ee(Jse,{}),onSelect:s}]];return ee(qse,{title:Zo("span",{className:"sf-version-title",children:[ee("span",{children:qN(e)}),e.live?ee(DS,{tone:"success",size:"xs",children:i("Live")}):null,e.name?ee(DS,{tone:"neutral",size:"xs",children:i("Version {n}",{n:e.number})}):null,l?ee(DS,{tone:"warning",size:"xs",children:i("Not published")}):null]}),expanded:o,onToggle:t,actions:ee(jse,{align:"end","aria-label":i("More"),items:f,triggerClassName:Kse({variant:"ghost",size:"sm"}),trigger:ee(Qse,{})}),below:Zo(pd,{gap:3,children:[Zo(NS,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[ee(zse,{name:e.createdBy,size:"xs"}),ee("span",{children:e.createdBy}),ee("span",{"aria-hidden":"true",children:"\xB7"}),ee("span",{children:JN(e.createdAt)}),c?Zo(ud,{children:[ee("span",{"aria-hidden":"true",children:"\xB7"}),ee("span",{children:Eo("{n} change","{n} changes",c)})]}):null]}),o?Zo(pd,{gap:3,children:[c?ee(pd,{gap:2,children:e.changes.map(u=>{let p=ole[u.kind]??ele;return Zo(NS,{gap:2,align:"center",children:[ee(p,{size:16}),ee("span",{children:XN(u)})]},`${u.kind}:${u.id}`)})}):null,Zo(NS,{gap:2,children:[l?null:ee(pn,{variant:"secondary",size:"sm",leftIcon:ee(o2,{}),onClick:a,children:i("Preview")}),d?ee(pn,{variant:"secondary",size:"sm",leftIcon:ee(t2,{}),onClick:r,children:i("Restore")}):null]})]}):null]})})}function lle({open:e,onClose:o,access:t,waiting:a}){let{flushSave:r,reloadFromServer:n,docId:s}=l2(),[l,d]=ft(null),[c,f]=ft(!1),[u,p]=ft(null),[x,g]=ft(null),[I,k]=ft(!1),[S,v]=ft(null),[b,C]=ft(null),[T,F]=ft(!1),P=Gse(0),D=Hse(()=>{let y=++P.current;f(!1),t.list().then(A=>{y===P.current&&d(A)},()=>{y===P.current&&f(!0)})},[t]);Wse(()=>{e&&D()},[e,D]);let O=y=>{F(!1),ale(t,y.id).catch(()=>F(!0))},R=async()=>{if(!(!x||I)){k(!0),v(null);try{await KN({access:t,version:x.version,page:x.page,flushSave:r,reload:n}),g(null),o()}catch(y){v(y instanceof dd?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=$se({onPress:()=>{R()},busy:I});return Zo(ud,{children:[ee(Use,{open:e,onClose:o,side:"right",size:"md",title:i("Version history"),description:Zo(ud,{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:Zo(pd,{gap:3,children:[T?ee(fd,{tone:"danger",onDismiss:()=>F(!1),children:i("The preview did not open. Try again.")}):null,c?ee(fd,{tone:"danger",action:ee(pn,{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(Xse,{"aria-label":i("Versions"),spacing:"comfortable",children:l.map(y=>ee(sle,{version:y,expanded:u===y.id,onToggle:()=>p(A=>A===y.id?null:y.id),onPreview:()=>O(y),onRestore:()=>{v(null),g({version:y,page:null})},onRestorePage:()=>{v(null),g({version:y,page:tle(y,s)})},onName:()=>C(y)},y.id))})]})}),ee(rle,{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(nle,{version:b,onCancel:()=>C(null),onSave:async y=>{await t.name(b.id,y),C(null),D()}})]})}function i2(){let{adapter:e,hasUnsavedEdits:o}=l2(),t=e.siteVersions,a=zN(),r=Nc();return t?ee(lle,{open:a,onClose:$N,access:t,waiting:o||r?.state==="changed"}):null}import{useEaselSession as rH}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as Hze,categoryLabel as Wze,paletteWithoutPinned as Gze,pinnedSection as $ze}from"efficient-easel/screen/lib/document/palette-sections";var ile={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 d2(e){return ile[e]?.label}var c2=Dm;import{currentEaselSession as cM}from"efficient-easel/screen/lib/session";import{blockTypesIn as lM}from"efficient-easel/screen/lib/document/block-types-in";import{jsx as pt,jsxs as oM}from"react/jsx-runtime";import{createContext as iie,useContext as die,useEffect as cie,useRef as fie,useState as tM}from"react";import{jsx as zs,jsxs as k2}from"react/jsx-runtime";import{useEffect as Us,useRef as _le,useState as mn}from"react";import{jsx as un}from"react/jsx-runtime";import{Component as ple,createContext as ule,lazy as Zze,Suspense as Qze,useContext as mle}from"react";var dle="hrefRewrite";function cle(){return Ta("efficient.link-href-rewrites",()=>({rewrites:new Map,count:0,missed:new Set}))}function fle(){return typeof process<"u"&&!0}function Kze(e){let o=e?.[dle];return typeof o=="string"?o.trim():""}function f2(e){if(!e)return null;let o=cle(),t=o.rewrites.get(e);return!t&&!fle()&&o.missed.add(e),t??null}var hle={Link:Bw,Image:Fw},p2=ule(hle);function aUe({runtime:e,children:o}){return un(p2.Provider,{value:e,children:o})}function HS(){return mle(p2)}function rUe(){return HS().pagePath??null}function nUe({hrefRewrite:e,...o}){let{Link:t}=HS(),a=f2(e);return a?un(MS,{name:a.name,href:o.href,fallback:un(t,{...o}),children:un(xle,{Link:t,rewrite:a.rewrite,...o})},a.key):un(t,{...o})}function xle({Link:e,rewrite:o,...t}){let a=J(o(t.href)),r=a&&mv(a)?a:t.href;return un(e,{...t,href:r})}var MS=class extends ple{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 u2(e){let{Image:o}=HS();return un(o,{...e})}import{jsx as m2,Fragment as gle,jsxs as Ile}from"react/jsx-runtime";import{useEffect as ble,useRef as h2,useState as yle}from"react";var Sle="#t=0.001",wle=2;function vle(e,o){if(e.readyState<wle||!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 x2({src:e,objectPosition:o="50% 50%",onError:t}){let a=h2(null),r=h2(null),[n,s]=yle(!1);return ble(()=>{let l=a.current,d=r.current;if(n||!l||!d)return;let c=()=>{vle(l,d)&&s(!0)};return c(),l.addEventListener("loadeddata",c),l.addEventListener("seeked",c),()=>{l.removeEventListener("loadeddata",c),l.removeEventListener("seeked",c)}},[n]),Ile(gle,{children:[m2("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&&m2("video",{ref:a,src:`${e}${Sle}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as b2,imageSrcSet as Cle}from"efficient-shell/image-copies";var g2;function WS(){return g2===void 0?{}:{host:g2}}var fUe="(max-width: 800px) 100vw, min(100vw, 1600px)",pUe="(max-width: 960px) 100vw, 50vw";function y2(e,{fallbackWidth:o=1280,maxWidth:t}={}){let a=Cle(e,{...WS(),...t===void 0?{}:{maxWidth:t}});return a?{src:b2(e,o,WS()),srcSet:a}:{src:e}}var kle=/[\s"'()\\;]/,Tle={"\\":"\\\\",'"':'\\"',"\n":"\\a ","\r":"\\d ","\f":"\\c "};function I2(e){return e.replace(/[\\"\n\r\f]/g,o=>Tle[o]??o)}function uUe(e){let o=b2(e,1920,WS());return o===e?kle.test(e)?`url("${I2(e)}")`:`url(${e})`:`url("${I2(o)}")`}import{jsx as S2}from"react/jsx-runtime";import{createContext as Ple,useContext as Ele,useMemo as gUe}from"react";var w2=Ple(null);function v2({children:e}){return S2(w2.Provider,{value:"below",children:e})}function md(){return Ele(w2)}function Ole(){return md()==="below"?{loading:"lazy"}:{}}function C2(e){let o=Ole();return S2("img",{...e,...o})}var IUe="laterSlideIds";var Ale=.5;function hd({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:a=Ale,objectPosition:r="50% 50%",objectPositionPhone:n,objectPositionTablet:s,quiet:l=!1,slideShown:d,laterSlide:c=!1,laterOfLead:f=!1}){let u=$T(n,s),p=md(),[x,g]=mn(!1),I=p==="below"&&!x,k=p==="first",S=o||"",v=e||"",[b,C]=mn(!1),[T,F]=mn(!1),[P,D]=mn(!1),[O,R]=mn(!1),N=d??!0,[y,A]=mn(!1),L=p!=="first"&&!f,[H,X]=mn(!1),q=_le(null);Us(()=>{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]),Us(()=>{C(!1),F(!1),D(!1),R(!1)},[e,o]),Us(()=>{N&&A(!0)},[N]),Us(()=>{let te=q.current;te&&(N?te.play()?.catch(()=>{}):te.pause())},[N,y,H]),Us(()=>{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 Le=setTimeout(te,800);return()=>clearTimeout(Le)},[c,L,H]),Us(()=>{let te=q.current;if(!te)return;let Le=()=>{te.playbackRate=a};return Le(),te.addEventListener("loadedmetadata",Le),()=>te.removeEventListener("loadedmetadata",Le)},[e,a]);let U=Dw(S),ge=S&&U&&!T?y2(S):{src:S};return k2("div",{className:"absolute inset-0 z-[1]",children:[zs("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),S&&(U?zs("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):C(!0)},S):zs(u2,{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:()=>C(!0)},S)),t&&!l&&v&&y&&(!L||H)&&!P&&k2("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:[Nw(v)&&zs("source",{src:v.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),zs("source",{src:v,type:"video/mp4"})]},v),t&&l&&v&&y&&(!L||H)&&!O&&(!S||b)&&zs(x2,{src:v,objectPosition:r,onError:()=>R(!0)},v)]})}import{Fragment as R2,jsx as jo,jsxs as zS}from"react/jsx-runtime";import{MOTION_TIMING as Rle}from"efficient-shell/format";var O2="grayscale(1) contrast(1.03)",_Ue="Black and white";function Lle(e){return e===!0?{filter:O2}:{}}function Fle(e){let{filter:o}=Lle(e);return o?{style:{filter:o}}:{}}var xn="sf-photo-grayscale",$S="data-sf-photo-host",T2={duration:"--sf-photo-hover-duration",delay:"--sf-photo-hover-delay"},dm=`@media (hover:hover){.${xn}{filter:${O2};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))}.${xn}:hover,[data-sf-photo-host]:hover .${xn}{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${xn}{transition:none}}`;function _2(e){let o=Rle.hover,t={...e.duration!==o.duration.default?{[T2.duration]:`${e.duration}s`}:{},...e.delay!==o.delay.default?{[T2.delay]:`${e.delay}s`}:{}};return Object.keys(t).length?t:void 0}function A2(e,o,t){if(e===!0)return Fle(!0);if(t?.kind==="mono"){let a=_2(t);return{className:xn,sheet:dm,...a?{style:a}:{}}}return e===!1?{}:o===!0?{className:xn}:{}}var hn="sf-photo-next",P2="data-sf-repeat",GS="sf-photo-zoom",Ble="--sf-photo-zoom",AUe="sf-photo-wash",sm="sf-photo-wash-rest",xd="sf-photo-wash-hover",lm="sf-photo-frame",im=(e,o)=>{let t=`:not([${P2}]:not(:hover) .${e})`;return`${o},[${P2}]:hover .${e}${t},[${$S}]:hover .${e}${t}`},E2=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))`,Dle=`.${hn}{opacity:0}.${xd}{opacity:0}@media (hover:hover){.${hn},.${sm},.${xd}{transition:${E2("opacity")}}${im(hn,`.${hn}:hover,.${lm}:hover .${hn}`)},${im(xd,`.${lm}:hover .${xd}`)}{opacity:1}${im(sm,`.${lm}:hover .${sm}`)}{opacity:0}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.${GS}{transition:${E2("transform")}}${im(GS,`.${lm}:hover .${GS}`)}{transform:scale(var(${Ble}))}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${hn},.${sm},.${xd}{transition:none}}`;function RUe(e){if(e?.kind!=="nextImage")return null;let o=_2(e);return{className:hn,sheet:Dle,...o?{style:o}:{}}}function LUe(e){return e===!0?{[xn]:dm}:{}}import{hidableText as Nle}from"efficient-easel/draw";var Mle={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"},Hle={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 L2(e){let o=e.isVideo&&WC(e.videoSource)==="youtube",t=e.isVideo&&GC(e.videoPlayback)==="click",a=o?$C(Nle(e.youtubeUrl)):null,r=up(e.mediaLayout);return{fromYouTube:o,onClick:t,youTubeId:a,backgroundFile:e.isVideo&&!o&&!t,desktopLayout:r,phoneLayout:VI(e.mediaLayoutPhone,r),twoPictures:!e.isVideo&&li(e)>1}}function gd(e,o){return vp(vs({_partMotion:e},o))}function js(e,o){return A2(void 0,void 0,Rv(vs({_partMotion:e},o)))}function F2(e){return jr.some(o=>js(e,o).className)?{hostAttrs:{[$S]:""},sheet:dm}:{}}function cm({treatment:e,children:o}){return e.className?jo("div",{className:`absolute inset-0 ${e.className}`,...e.style?{style:e.style}:{},children:o}):jo(R2,{children:o})}function fm({color:e,opacity:o,passClicks:t=!0}){return o>0?jo("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 pm({part:e,editing:o,marked:t=!0,entrance:a,className:r,children:n}){let s=o&&t?{[X_]:e}:void 0;return a?jo(Ay,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:r,boxAttrs:s,children:n}):jo("div",{className:r,...s,children:n})}function B2({partMotion:e,editing:o,children:t}){let a=gd(e,"media"),r=js(e,"media"),n=r.className?jo("div",{className:`absolute inset-0 z-[1] ${r.className}`,...r.style?{style:r.style}:{},children:t}):t;return a?jo(Ay,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:"absolute inset-0 z-[1]",children:n}):jo(R2,{children:n})}function D2({desktopLayout:e,phoneLayout:o,editing:t,marked:a=!0,partMotion:r,first:n,second:s,laterSlide:l=!1}){return zS("div",{className:`absolute inset-0 z-[1] grid ${Mle[o]} ${Hle[e]}`,"data-hero-layout":e,"data-hero-layout-phone":o,children:[jo(pm,{part:"image",editing:t,marked:a,entrance:gd(r,"image"),className:"relative overflow-hidden",children:zS(cm,{treatment:js(r,"image"),children:[jo(hd,{posterSrc:ka(n.src),showVideo:!1,laterSlide:l,objectPosition:n.objectPosition,objectPositionPhone:n.objectPositionPhone,objectPositionTablet:n.objectPositionTablet}),jo(fm,{color:n.tintColor,opacity:n.tintOpacity})]})}),jo(pm,{part:"image2",editing:t,marked:a,entrance:gd(r,"image2"),className:`relative overflow-hidden ${Tc({desktop:e==="one",tablet:e==="one",mobile:o==="one"},{atSectionLine:!0})}`.trimEnd(),children:zS(cm,{treatment:js(r,"image2"),children:[jo(hd,{posterSrc:ka(s.src),showVideo:!1,laterSlide:l,objectPosition:s.objectPosition,objectPositionPhone:s.objectPositionPhone,objectPositionTablet:s.objectPositionTablet}),jo(fm,{color:s.tintColor,opacity:s.tintOpacity})]})})]})}import{jsx as gn,Fragment as Wle,jsxs as Gle}from"react/jsx-runtime";import{useEffect as $le,useState as zle}from"react";import{PlaySolidIcon as Ule}from"efficient-shell/icons/efficient-looks";function N2({youTubeId:e,ownPoster:o,background:t,editing:a}){let[r,n]=zle("large");return $le(()=>n("large"),[e]),e?Gle(Wle,{children:[!o&&r!=="none"&&gn(C2,{src:r==="large"?zC(e):UC(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&&gn("div",{className:"pointer-events-none absolute inset-0 z-[3] overflow-hidden [container-type:size]","aria-hidden":"true",children:gn("iframe",{src:Dh(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 M2({youTubeId:e,fileSrc:o,playing:t,onPlay:a,editing:r}){return!e&&!o?null:t&&!r?e?gn("iframe",{src:Dh(e,"click"),title:Nh,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"}):gn("video",{src:o,controls:!0,autoPlay:!0,playsInline:!0,className:"absolute inset-0 z-[6] h-full w-full bg-overlay-scrim object-contain"}):gn("button",{type:"button","aria-label":Nh,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:gn(Ule,{size:28})})}function H2(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 W2=["top","middle","bottom"],G2=["left","center","right"],$2="bottom",z2="left",jle={top:"Top",middle:"Middle",bottom:"Bottom"},Kle={left:"Left",center:"Center",right:"Right"},tje="Up and down",aje="Sideways",Vle={top:"flex-start",middle:"center",bottom:"flex-end"},qle={left:"flex-start",center:"center",right:"flex-end"},Yle="--sf-hero-phone-y",Xle="--sf-hero-phone-x";function Jle(e){return W2.includes(e)?e:$2}function Zle(e){return G2.includes(e)?e:z2}function U2(e,o){let t=Jle(e),a=Zle(o),r={};return t!==$2&&(r[Yle]=Vle[t]),a!==z2&&(r[Xle]=qle[a]),r}function rje(){return W2.map(e=>({label:jle[e],value:e}))}function nje(){return G2.map(e=>({label:Kle[e],value:e}))}import{hexToRgb as Qle}from"efficient-shell/format";var eie=!0;var oie=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function j2(e){let o=Qle(e);return o?`${o.r},${o.g},${o.b}`:null}function K2(e){return e==null?eie:e!==!1}function V2(e){let o=(e?j2(e):null)??j2(vt);return`linear-gradient(180deg, ${oie.map(([t,a])=>`rgba(${o},${a}) ${t}%`).join(", ")})`}import{hexToRgb as q2}from"efficient-shell/format";var Y2="bottom";var tie=[{label:"Bottom",value:"bottom",cell:"bottom"},{label:"Top",value:"top",cell:"top"},{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"}],aie={bottom:180,top:0,left:270,right:90},rie=[[.55,0],[.15,18],[null,35],[null,55],[.85,100]],nie=[[null,33],[.6,67],[.94,100]];function sie(e,o){let{r:t,g:a,b:r}=q2(e)??q2(vt);return`rgba(${t},${a},${r},${o})`}function X2(e){return mo(tie,Y2,e)}function J2(e=vt,o=Y2){let t=X2(o),a=(t==="top"||t==="bottom"?rie:nie).map(([r,n])=>`${r===null?"transparent":sie(e,r)} ${n}%`);return`linear-gradient(${aie[t]}deg, ${a.join(", ")})`}function Z2(e,o){let t=J(e.overlayColor),a=J(e.overlayPosition),r=J(o)??vt;return!t&&!a?{own:!1,color:r,position:null}:{own:!0,color:t??r,position:X2(a)}}import{jsx as lie}from"react/jsx-runtime";var Q2="sf-photo-hover";function eM({sheet:e,name:o=Q2}){return e?lie("style",{href:o,precedence:Q2,dangerouslySetInnerHTML:{__html:e}}):null}var pie=iie({});function Rje({name:e,process:o,mediaType:t="video",mediaSrc:a,videoSpeed:r,poster:n,objectPosition:s,objectPositionPhone:l,objectPositionTablet:d,tintColor:c=vt,tintOpacity:f=0,groups:u,editing:p=!1,themeClassName:x,themeStyle:g,overlayColor:I,overlayPosition:k,mediaLayout:S,mediaLayoutPhone:v,mediaImage2:b,objectPosition2:C,objectPosition2Phone:T,objectPosition2Tablet:F,tintColor2:P=vt,tintOpacity2:D=0,videoSource:O,youtubeUrl:R,videoPlayback:N,partMotion:y,laterSlide:A=!1}){let L=Tn(),{alignment:H="left",textureOpacity:X,textureOn:q,textureColor:U,quietVideo:ge,phoneUpDown:te,phoneSideways:Le,holdReel:We,reelHeld:Ee,shownSlide:Ie,ratioMin:Oe}=die(pie),Ge=md(),to=A&&Ge==="first",wo=fie(null),[he,Ve]=tM(Ie===void 0?void 0:!1);cie(()=>{let bn=wo.current;Ve(Ie===void 0||!bn?void 0:H2(bn.closest(".hero-track"),"data-slide-name")[Ie]===bn)});let _e=t==="video",ke=_e?ka(a):void 0,Je=_e?ka(n):ka(a)??ka(n),Bt=typeof r=="number"?r/100:1,{fromYouTube:Bo,onClick:W,youTubeId:Fe,backgroundFile:le,desktopLayout:Be,phoneLayout:Ae,twoPictures:ut}=L2({isVideo:_e,videoSource:O,videoPlayback:N,youtubeUrl:R,mediaLayout:S,mediaLayoutPhone:v}),[Dt,Ze]=tM(!1);Dt&&Ee===!1&&Ze(!1);let mt=!Dt,Nt=Z2({overlayColor:I,overlayPosition:k},U),In=_e?null:gd(y,"image"),Vs=F2(y),Zt=pt(cm,{treatment:_e?{}:js(y,"image"),children:pt(hd,{videoSrc:le?ke:void 0,posterSrc:Je,showVideo:le,playbackRate:Bt,objectPosition:s,objectPositionPhone:_e?void 0:l,objectPositionTablet:_e?void 0:d,quiet:ge,slideShown:he,laterSlide:A,laterOfLead:to})}),ar=oM("section",{ref:wo,className:Pn(`${Oe?"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":le&&ke?"video":"still",...Vs.hostAttrs,children:[pt(eM,{sheet:Vs.sheet}),pt(B2,{partMotion:y,editing:p,children:ut?pt(D2,{laterSlide:A,desktopLayout:Be,phoneLayout:Ae,editing:p,marked:!1,partMotion:y,first:{src:a,objectPosition:s,objectPositionPhone:l,objectPositionTablet:d,tintColor:c,tintOpacity:f},second:{src:b,objectPosition:C,objectPositionPhone:T,objectPositionTablet:F,tintColor:P,tintOpacity:D}}):Bo||In?oM(pm,{part:_e?"media":"image",editing:p,marked:!1,entrance:In,className:"absolute inset-0 z-[1]",children:[Zt,Bo&&pt(N2,{youTubeId:Fe,ownPoster:!!Je,background:!W,editing:p})]}):Zt}),W&&pt(M2,{youTubeId:Fe,fileSrc:Bo?void 0:ke,playing:Dt,onPlay:()=>{Ze(!0),We?.()},editing:p}),mt&&!ut&&pt(fm,{color:c,opacity:f,passClicks:!1}),mt&&K2(q)&&pt("div",{className:"absolute inset-0 z-[2]",style:{background:Nt.own?J2(Nt.color,Nt.position??void 0):V2(Nt.color),...X!==void 0?{opacity:X/100}:null}}),mt&&pt("div",{className:[Oe?"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:{...hx,...U2(te,Le)},children:u&&pt(u,{className:"sf-hero-group-zone",minEmptyHeight:160})})]});return L.scope(to?pt(v2,{children:ar}):ar)}var aM=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as nM}from"efficient-easel/draw";var uie="ImageBlock",mie=3,um=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:nM(e),...t}}),hie=e=>({...e?.(K)??{},direction:"column",[se]:[um(uie,e),um(K,e,{direction:"column",[se]:[um("Text",e,Aa()),um("Text",e)]})]}),Xt={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>aM.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${oa.toLowerCase()}`,seeds:()=>[],addBlocked:mc,notice:sx},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${oa.toLowerCase()}`,seeds:()=>[],addBlocked:mc,notice:sx},ProcessSteps:{slot:"boxes",childType:K,addLabel:`Add ${oa.toLowerCase()}`,seeds:e=>Array.from({length:mie},()=>hie(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}},rM=1,xie={slot:si,childType:K,addLabel:`Add ${oa.toLowerCase()}`,seeds:()=>[],addBlocked:e=>e.length>=rM?"This Hero has its Scrolling Bar already. Delete it to add another.":null,notice:e=>e.length>rM?`This Hero holds ${e.length} Scrolling Bars. Keep one and delete the others.`:null},sM={Hero:{[si]:xie}};function Gje(e){for(let[o,t]of Object.entries(e)){if(o in Xt&&Xt[o]!==t)throw new Error(`lib/document/slot-specs: "${o}" already has a slot spec`);Xt[o]=t}}function $je(e,o){let t=Xt[e];return t?{slot:t.slot,children:t.seeds(o).map(a=>({type:t.childType,props:{id:nM(t.childType),...a}}))}:null}var iM=()=>({}),dM=new Map;function gie(e){let o=dM.get(e);if(o)return o;let t=new Set,a=Xt[e];if(a)for(let s of a.seeds(iM))for(let l of lM({type:a.childType,props:s}))t.add(l);let r=Gs(e);if(r){let s=0;for(let l of lM(r(iM,d=>`${d}-${s+=1}`)))t.add(l)}t.delete(e);let n=[...t].sort();return dM.set(e,n),n}function Iie(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=Kb(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=rv(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)&&gie(d).every(l);return s.set(d,f),f};return{sets:o,offers:l}}var bie="block-offer";function US(e=cM()){return e.cache(bie,()=>Iie(Ec(e)))}function fM(e,o=cM()){let t=US(o);return t?t.offers(e):!0}function yie(e){let o=Qu.Ticker(e.nodeDefaults,e.newNodeId),{sectionBorder:t,...a}=o.props,r=jI.line?{sectionBorder:t}:{};return{...o,props:{...a,...r,sectionAccent:jI.sectionAccent}}}var Sie={Hero:{[si]:{newChild:yie,childLabel:Ld.Ticker}}},pM=Object.fromEntries(Object.entries(sM).map(([e,o])=>[e,Object.fromEntries(Object.entries(o).map(([t,a])=>[t,{...a,...Sie[e]?.[t]}]))]));function uM(e,o=0,t,a){let r=vie(Cie(e,o,a),t),n=r?US():null;return r&&n?wie(r,n):r}function wie(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 vie(e,o){if(!e||e.source!=="container"||!o||!_C())return e;let t=hl({data:o.data},o.id),a=typeof t?.type=="string"?AC(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 Cie(e,o,t){let a=t?pM[e]?.[t]:void 0;if(a)return{source:"section",slot:a.slot,choices:null,spec:a};let r=Xt[e];if(r)return{source:"section",slot:r.slot,choices:null,spec:r};let n=lv(e,o);if(n)return{source:"container",slot:n.slot,choices:n.choices,spec:null};let s=pR(e);return s?{source:"footer",slot:fR,choices:s,spec:null}:null}function mM(e,o=[eo]){return Th(e.type)?o.map(t=>t===eo?{slot:t,label:i(kC),rung:!0}:{slot:t,label:t,rung:!1}):null}import{useSyncExternalStore as kie}from"react";var jS=null,KS=new Set;function hM(e){if(jS!==e){jS=e;for(let o of KS)o()}}function Tie(e){return KS.add(e),()=>{KS.delete(e)}}function hKe(){return kie(Tie,()=>jS,()=>null)}function xM(e){return gl(e)?.ownerId??null}function gM(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 IM="sf-editor-left-view";function bM(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(IM);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function yM(e){if(!(typeof window>"u"))try{window.localStorage.setItem(IM,e)}catch{}}function SM(e,o){return e==="styles"&&!o?"sections":e}function wM(e,o){return e?"sections":o}import{copyNode as Pie}from"efficient-easel/data";function vM(e){let o=typeof e?.props?.id=="string"?e.props.id:null,t=yt(),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 CM={usedOn:e=>{let o=yt(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>ic()?.openPage(e),adopt:(e,o)=>yt()?.adopt(e.props.id,o),nodeOf:e=>yt()?.place(e)??null,detach:e=>{let o=ic()?.config;return o?Pie(e,o):e},removed:()=>ic()?.reload()};import{sharedSectionsOf as Mde}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as Hde,scrollPreviewToTop as JM}from"efficient-easel/screen/lib/document/preview-dom";import{jsx as YS,Fragment as nde,jsxs as sde}from"react/jsx-runtime";import{useContext as lde,useEffect as ide,useMemo as ZS,useRef as DM}from"react";import{EaselCanvas as dde,repeatCopyAt as cde,useEasel as fde}from"efficient-easel/easel";import{jsx as OM,Fragment as Wie,jsxs as Gie}from"react/jsx-runtime";import{useEffect as _M,useLayoutEffect as $ie}from"react";var mm="data-theme",kM="light";function Eie(e){return e.getAttribute(mm)===kM?"light":"dark"}function Oie(e,o){return Eie(e)===o?!1:(o==="light"?e.setAttribute(mm,kM):e.removeAttribute(mm),!0)}function _ie(e){return Om(e).getItem(wm)}function TKe(e,o){Om(e).setItem(wm,o)}function Aie(e,o,t=new Date().getHours()){return nw({mode:o.mode,override:_ie(e),switchShown:o.switchShown,hour:t})}function TM(e,o){let t=e.documentElement;if(!t)return()=>{};let a=()=>Oie(t,Aie(e,o));a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[mm]}),()=>n.disconnect()}var Rie="style";function Lie(e,o){let t=xw(o),a=!1;for(let r of hw){let n=t[r]??"";e.style.getPropertyValue(r)!==n&&(n?e.style.setProperty(r,n):e.style.removeProperty(r),a=!0)}return a}function PM(e,o){let t=e.body;if(!t)return()=>{};let a=()=>Lie(t,o);a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[Rie]}),()=>n.disconnect()}import{VIEW_DESKTOP_MIN as Fie,VIEW_TABLET_MIN as Bie}from"efficient-easel/screen/lib/content/view-tiers";var Die={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"},Qo=Die,Nie=e=>e.flatMap(o=>[`[${o}] p`,`[${o}] li`]).join(","),Mie=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(Nie([Qo.fit,Qo.fitTablet,Qo.fitPhone]))};
|
|
97
|
-
var CANDIDATES = SELECTOR + "," + SHRINK_BODY;
|
|
98
|
-
var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1, PHONE_BELOW = ${ra};
|
|
99
|
-
var TABLET_MIN = ${Bie}, DESKTOP_MIN = ${Fie};
|
|
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(Qo.fitTablet)}, ${JSON.stringify(Qo.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(Qo.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(Qo.fit)}, ${JSON.stringify(Qo.fitTablet)}, ${JSON.stringify(Qo.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(Qo.min)}, ${JSON.stringify(Qo.minTablet)}, ${JSON.stringify(Qo.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(Qo))},
|
|
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);`,Hie="storefront-fit-words";function EM(e){let o=e.createElement("script");return o.id=Hie,o.textContent=Mie,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var zie=`
|
|
387
|
-
[${Ot}][${Ot}] { cursor: text; }
|
|
388
|
-
`;function AM({children:e,document:o}){let{theme:t,themeMode:a,themeSwitchShown:r}=xe(),n=ao(t);return _M(()=>{if(o)return TM(o,{mode:a,switchShown:r})},[o,a,r]),_M(()=>{if(o)return PM(o,n)},[o,n]),$ie(()=>{if(o)return EM(o)},[o]),Gie(Wie,{children:[OM(Yw,{}),OM("style",{children:zie}),e]})}import{jsx as VS}from"react/jsx-runtime";import{useEffect as Uie,useState as jie}from"react";import{Banner as Kie}from"efficient-shell/ui";var hm={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."},Vie={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."},qie=hm.load,Yie=hm.lock,Xie=hm.conflict,Jie=hm.save;function Zie(e){if(!e)return null;if(e.loadFailed)return i(qie);if(e.lockHolder)return i(Yie,{name:e.lockHolder.name||i("Somebody else")});if(e.conflict)return i(Xie);if(e.saveFailed)return i(Jie);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(Vie[o.problem],{section:t,name:a})}function Qie({report:e}){let o=Zie(am(e)),[t,a]=jie(null);return Uie(()=>{o||a(null)},[o]),!o||t===o?null:VS("aside",{className:"sf-canvas-notice",children:VS(Kie,{tone:"warning",onDismiss:()=>a(o),children:o})})}function RM(){return VS(Qie,{report:rm()})}import{jsx as xm}from"react/jsx-runtime";import{useState as LM}from"react";import{Banner as ede,Button as ode}from"efficient-shell/ui";import{UndoIcon as tde}from"efficient-shell/icons/efficient";import{useScreenDocument as ade}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSettledAction as rde}from"efficient-easel/easel";function FM(){let e=UN(),{adapter:o,flushSave:t,reloadFromServer:a}=ade(),r=o.siteVersions,[n,s]=LM(!1),[l,d]=LM(!1),c=async()=>{if(!(!r||n)){s(!0),d(!1);try{await VN({access:r,flushSave:t,reload:a})}catch{d(!0)}finally{s(!1)}}},f=rde({onPress:()=>{c()},busy:n});return e?xm("aside",{className:"sf-canvas-notice",children:xm(ede,{tone:l?"danger":"info",title:e.title,onDismiss:nm,action:r&&e.undo?xm(ode,{variant:"secondary",size:"sm",leftIcon:xm(tde,{}),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 pde,REPEAT_ATTRIBUTE as XS,REPEAT_INDEX_ATTRIBUTE as JS}from"efficient-easel/draw";import{usePreviewParts as ude}from"efficient-easel/draw/client";var BM=null;function qS(e){BM=e}function o8e(){return BM}import{ScreenDocumentContext as mde}from"efficient-easel/screen/components/ScreenDocumentContext";function NM(e){let{mirrorHostStyles:o}=Rm(),t=Jw(),{sectionBackgroundWidth:a,themeFromDocument:r}=xe(),n=Hw(),s=lde(mde),l=dc(s?.docId??null),d=fde(S=>S.appState.data),c=pk(l,d),f=JSON.stringify(c),u=ZS(()=>c,[f]),p=ZS(()=>({...e.metadata??t??{},...x0(r?null:a,n),...u}),[e.metadata,t,a,n,r,u]);ide(()=>(qS(n),()=>qS(null)),[n]);let x=DM(null),g=hde(x),{onDocument:I}=e,k=S=>{x.current=S,I?.(S)};return sde(nde,{children:[YS(FM,{}),YS(RM,{}),YS(dde,{...e,onDocument:k,typing:g,metadata:p,height:"fill",mirrorStyles:o,frameWrapper:AM})]})}function hde(e){let o=_d(),t=ude(),a=DM({parts:t});return a.current={parts:t},ZS(()=>{let r=(n,s)=>{let l=Ff(n,o),d,c=null,f=s??(l?null:Zg(null,e.current,n)),u=!l&&f?cde(f):null,p=u?pde(n):null;if(u&&f&&p?.propKey){l=Df({...u,nodeId:p.nodeId,key:p.propKey},o),d=p.propKey;let k=f.closest(`[${XS}][${JS}]`),S=`[${XS}="${Bf(k?.getAttribute(XS)??"")}"][${JS}="${Bf(k?.getAttribute(JS)??"")}"]`;c=()=>(f.ownerDocument??e.current)?.querySelector(S)??null}if(!l)return null;let x=f,g=()=>(x=Zg(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?Gn(bT(I)):void 0,colorNameOf:qo}}:null};return{at:n=>{let s=n.closest(`[${Ot}]`),l=s?.getAttribute(Ot);return s&&l?r(l,s):null},atSelection:()=>{let n=a.current.parts.selectedPartId;return n?r(n,null):null},onCopyText:n=>zE(n,o),copyValue:n=>$E(n,o),onChange:n=>{if(!n.typing){Qg(null);return}let s=n.element.closest(`[${Ot}]`)?.getAttribute(Ot)??null;Qg(s),s&&a.current.parts.selectedPartId!==s&&a.current.parts.select(s)}}},[o,e])}var xde=Mw.mediaFields,gde=/video|poster|focal|phone/i;function MM(e){return(xde[e]??[]).find(o=>!o.includes("[]")&&!gde.test(o))??null}var HM={adds:{kind:"block",type:"ImageBlock"},takes:e=>MM(e.type)!==null,replace:(e,o)=>{let t=MM(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 WM={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 gm}from"react/jsx-runtime";import{useState as Ide}from"react";import{Button as bde,Tooltip as yde,toast as GM}from"efficient-shell/ui";import{TemplateIcon as Sde}from"efficient-easel/icons";import{useSettledAction as wde}from"efficient-easel/easel";import{useScreenDocument as vde}from"efficient-easel/screen/components/ScreenDocumentContext";function zM({enabled:e,reason:o,onSaved:t}){let{flushSave:a}=vde(),[r,n]=Ide(!1),s=async()=>{if(!r){n(!0);try{await a()?t():GM.error(i($M))}catch{GM.error(i($M))}finally{n(!1)}}},l=wde({onPress:()=>{s()},busy:r});return gm(yde,{side:"bottom",content:e?i("Save this website as a platform template"):i(o),children:gm("span",{className:"sf-tip-disabled",tabIndex:e?void 0:0,children:gm(bde,{variant:"secondary",disabled:!e||l.busy,loading:l.busy,onClick:l.onPress,rightIcon:gm(Sde,{size:15}),children:i("Save as Template")})})})}var $M="Your last changes did not save, so the template was not made. Try again.";var Cde="Save your page changes first";function UM(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:Cde}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var jM="storefront-editor:save-as-template";var Id="ContactLocations",kde="CityPictures",Tde="CityMaps",Pde=[{key:kde,label:"City pictures",desc:"A wall of city photos, grouped by region. Each photo links to its city's card."},{key:Tde,label:"City maps",desc:"A card per city, grouped by region: address, phone, hours and a map."}];function KM(e=Ri){let o=Pa.find(t=>t.sections.some(a=>a.type===Id))?.key;return!e.includes(Id)||!o?[]:Pde.map(({key:t,label:a,desc:r},n)=>({key:t,label:a,cat:o,after:Id,desc:r,alias:"locations offices stores branches",insert:s=>{let l=Ya(Id);return l?om(Id,l,n)(s.nodeDefaults,s.newNodeId):null}}))}function qM(e,{nodeDefaults:o,newNodeId:t,sectionLabel:a,blockIsOffered:r}){let n=Gs(e);if(n)return n(o,t,Zu());if(mC(e)&&r(K)&&r(An))return{type:K,props:{...o(K),id:t(K),direction:"column",name:`${a(e)} section`,content:[{type:An,props:{...o(An),id:t(An),...Ao[e]?.headStyle?{headStyle:Ao[e].headStyle}:{},...Ao[e]?.headRowGap?{rowGap:Ao[e].headRowGap}:{},...Ao[e]?.headDescriptionSize?{descriptionSize:Ao[e].headDescriptionSize}:{},...Ni(e)!==Ni(An)?{eyebrowLook:Ni(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box",...VM(e,t)}}]}};if(Xt[e]?.fixed===!0)return{type:e,props:{...o(e),id:t(e),layout:"boxes"}};let s=VM(e,t);return Object.keys(s).length?{type:e,props:{...o(e),id:t(e),...s}}:null}function VM(e,o){return e==="Cards"?{template:Vd(t=>o(t))}:e===dl?{template:bh(t=>o(t))}:{}}import{useEffect as Ede,useState as Ode}from"react";import{useEaselSession as _de}from"efficient-easel/screen/lib/session-context";function YM(){let e=_de().chrome?.products?.list,[o,t]=Ode(null);return Ede(()=>{if(!e)return;let a=!1;return e().then(r=>{a||t(r)}),()=>{a=!0}},[e]),o}function nH({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:a}=G_(),r=aH().tree,n=e,s=n.kind==="ticker"?n.heroId:null,l=Ks(d=>{d&&(o({kind:"ticker",heroId:d}),Hde(d))},[o]);return Jt(()=>{t(s)},[s,t]),Jt(()=>{a(l)},[a,l]),{partRows:(d,{rowClick:c})=>{let f=String(d.props.id);return d.type==="Hero"&&KI(d.props)&&uo(oH,{icon:uo(Vr,{type:"ticker",size:13}),name:i(ni),onSelect:()=>l(f),selected:s===f,rowProps:{onClick:c(()=>l(f))},words:r})}}}function sH({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:a}=pp(),r=aH().tree,{appState:n}=tH(p=>p),s=n.data.content??[],l=Ade(s);l.current=s;let d=e,c=jr.find(p=>ii[p]===d.kind),f=c&&"nodeId"in d?di(String(d.nodeId),c):null,u=Ks(p=>{let x=Y_(p);if(!x)return;let g=l.current.findIndex(k=>String(k.props.id)===x.nodeId);if(g<0)return;let I={kind:ii[x.part],nodeId:x.nodeId};o({index:g},I)},[o]);return Jt(()=>{t(f)},[f,t]),Jt(()=>{a(u)},[a,u]),{partRows:(p,{rowClick:x})=>{let g=String(p.props.id),I=q_(p);if(I.length===0)return null;let k=b=>{let C=di(g,b.part);return uo(oH,{icon:uo(Vr,{type:b.part==="media"?"heroMedia":"heroImage",size:13}),name:i(b.label),onSelect:()=>u(C),selected:f===C,rowProps:{onClick:x(()=>u(C))},words:r},C)},[S,...v]=I;return bd(eH,{children:[k(S),v.length>0&&uo(Dde,{children:v.map(k)})]})}}}function lH(e,o){return{partRows:(t,a)=>bd(eH,{children:[e.partRows?.(t,a),o.partRows?.(t,a)]})}}function Wde(e){let{adapter:o,capabilities:t,currentSlug:a,siteId:r,docId:n,hasUnsavedEdits:s,bridgeCapabilities:l,notifyParent:d,token:c}=Im(),{hasPreviewLink:f}=t,u=Ue(rH()).preview?.draftLink,p=e2(e.data),x=UM({hasTrustedConsole:!!c,canCreatePlatformTemplate:l.canCreatePlatformTemplate,capabilities:t,siteId:r,hasUnsavedEdits:s}),g=Ks(()=>{!r||!a||d(jM,{siteId:r,slug:a})},[d,r,a]),I=RN({pageSlug:a,siteId:r,token:c}),k=o.previewHref?.(a)??I;return{barLead:()=>x.visible&&uo(zM,{enabled:x.enabled,reason:x.enabled?"":x.disabledReason,onSaved:g}),barView:()=>f&&a&&uo(BN,{liveHref:k,pageId:n??null,draftLink:u}),mainAction:p}}function Gde(e,o){let{capabilities:t,templateId:a,siteId:r,tokenRef:n,navigate:s}=Im(),{hasSiteTheme:l,explainsSiteSettings:d}=t,c=b=>o.setView(b),[f,u]=XM(ms[0].id),[p,x]=XM(!1),{surface:g,setSurface:I}=W_(),k=()=>{if(l){c("styles"),o.reveal(),JM();return}e.show(hS),e.reveal(),JM()},S={id:"pages",label:i("Pages"),icon:uo(Lde,{}),panel:({onHide:b})=>uo(__,{activeSurface:g,onPreviewSurface:I,onNavigate:C=>{I(null),s(a?{kind:"template",id:a,pageSlug:C}:{kind:"page",slug:C,siteId:r??void 0})},onClose:b})},v=[];return!l&&d&&v.push({id:"appearance",label:i("Appearance"),icon:uo(Bde,{}),active:e.kind==="website",onSelect:k}),l&&v.push({id:"styles",label:i("Styles"),icon:uo(Fde,{}),panel:({onHide:b,notify:C})=>uo(RD,{tokenRef:n,siteId:r??void 0,onClose:b,onNotify:C,tab:f,onTabChange:u,revealPageGroup:p,onPageGroupRevealed:()=>x(!1)})}),{railLead:[S],railTrail:v,resolveLeftView:b=>SM(b,l),openSettings:k,openStyles:()=>{u(p_),c("styles")},openPageStyles:l?()=>{u(xs),x(!0),c("styles"),o.reveal()}:d?()=>{e.show(yD),e.reveal()}:void 0}}function $de(){let{navigate:e,siteId:o,reloadFromServer:t,docId:a}=Im(),r=tH(s=>s.config),n=rH();Jt(()=>(Uh({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:r}),()=>Uh(null)),[e,o,t,r]),Jt(()=>{let s=yt();if(!s||!a)return;let l=!1;return Mde(n).list().then(d=>{l||s.learn(d)}).catch(()=>{}),()=>{l=!0}},[a,n])}function iH(){let e=_d();return Ks(o=>{UE(o,e)},[e])}function zde(e,o,t,a){let{kind:r,open:n}=e,{selected:s,zoneOf:l}=o;Jt(()=>{hM(s?.type==="BookingBox"&&s.props.region==="confirm"?xM(l(String(s.props.id))):null)},[s?.props.id]);let d=QD(e,o),{capabilities:{hasSiteSettings:c}}=Im();$de();let{chat:f,setChat:u,setSelected:p,setSelectHandler:x}=fp(),g=Ks(()=>n(SD),[n]),I=r==="chat";Jt(()=>{p(I)},[I,p]),Jt(()=>{x(g)},[x,g]);let{setOpenHandler:k}=ri(),S=Ks(()=>n(wD),[n]);Jt(()=>{k(S)},[k,S]);let v=lH(nH(e),sH(e)),b=Wde(o),C=Gde(e,a),T=t.device,F=iH();return{...v,...b,...C,hasOwnRows:P=>P.type===Ju,ownRows:d.renderLocationTree,sectionPressed:d.sectionPressed,onCopyItem:F,wrap:P=>uo(Lm.Provider,{value:!0,children:bd(Nde.Provider,{value:T,children:[P,uo(i2,{})]})}),addPanelRow:P=>c?bd("div",{className:"sf-addside-sitewide",children:[uo("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:uo(Vr,{type:"chat",size:16})}),bd("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{P(),g()},children:[i("Live chat"),uo("span",{className:"sf-addside-sitewide-desc",children:i("A chat bubble on every page")})]}),uo(Rde,{checked:f.enabled,onChange:D=>u({enabled:D}),ariaLabel:i("Show the chat bubble on the whole site")})]}):void 0}}var ZM=null,QS=new WeakMap;function Ude(e){let o=Vw();if(!e||!o)return e;ZM!==o&&(ZM=o,QS=new WeakMap);let t=QS.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},QS.set(e,t)),t}var jde={isLockedBlock:(e,o)=>Lp(e,o)||!!(o&&yt()?.heldElsewhere(o.props.id)),duplicateBlocked:ru,nestDepth:(e,o,t)=>o===hc?Wk(e,t):0,newSectionNode:qM,canAddTo:(e,o,t,a)=>Ude(uM(e,o,a,t)),blockIsOffered:fM,slotsOf:mM,resolveOnInsert:!0},Kde=new Proxy(WM,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?i(t):t}}),Vde={labelAtLevel:(e,o,t)=>i(Nm(e,o,t)),descriptions:Kde,categoryLabel:e=>{let o=d2(e);return o===void 0?void 0:i(o)},firstSection:c2,blockRowName:gM,rowName:Fp,plainText:ta,Icon:Vr,Thumbnail:_D,useProducts:YM,presets:KM()},qde={desktop:2e3,tablet:800,mobile:390},QM="desktop",Yde={options:D_,initial:QM,fluid:QM,widths:qde,hidesPerView:!0},Xde={read:bM,write:e=>yM(e),forSelection:(e,o)=>wM(e,o)},Jde={first:$o,last:He,firstGroup:Me,lastGroup:Re,isSectionGroup:Fn,sectionGroupZone:VC,panelOf:e=>e===$o?bD:null,get sharedReach(){return Jr()?Qde:void 0},get shared(){return yt()?CM:void 0},get groupTab(){return Jr()?uR:void 0},get groupBadge(){return Jr()?oy({type:Re})??void 0:void 0},get changeNotice(){return Jr()?mR():void 0},get band(){return Jr()?Zde:void 0},get groupAccepts(){return Jr()?XC:void 0}},Zde={foldable:!0},Qde=e=>oy(e)??vM(e);function ece(e){return{...lH(nH(e),sH(e)),onCopyItem:iH(),openSettings:()=>e.show(hS)}}function oce(e,o){iN(e,o),PN()}var c7e={useOwnerName:gs,useDocumentLabel:I_,useBridges:zde,useStandaloneBridges:ece,useDocumentPass:oce,blockRules:jde,blockLook:Vde,devices:Yde,leftView:Xde,pinned:Jde,Canvas:NM,canvasDrag:{media:HM},Inspector:CD};export{Ta as a,J as b,Oo as c,BH as d,gt as e,Xs as f,Cce as g,Qw as h,kce as i,DH as j,Tce as k,Pce as l,Ad as m,ev as n,Ece as o,lo as p,$H as q,Oce as r,Ace as s,Rce as t,Lce as u,Ld as v,oa as w,se as x,K as y,nv as z,Wce as A,lv as B,zce as C,Uce as D,fr as E,Iv as F,ta as G,j as H,wv as I,lfe as J,Qe as K,mr as L,pfe as M,ufe as N,mfe as O,we as P,hfe as Q,Vm as R,Tv as S,xfe as T,gfe as U,Rv as V,Oa as W,O4 as X,ah as Y,Fv as Z,bfe as _,mo as $,rh as aa,nh as ba,R4 as ca,Wd as da,vfe as ea,ol as fa,Cfe as ga,Dv as ha,Pfe as ia,Nv as ja,xr as ka,Efe as la,Ofe as ma,_fe as na,ra as oa,Mv as pa,Lfe as qa,Ko as ra,al as sa,Gfe as ta,z4 as ua,Y4 as va,$fe as wa,zfe as xa,ih as ya,Ufe as za,X4 as Aa,Kfe as Ba,e5 as Ca,Vfe as Da,t5 as Ea,qfe as Fa,Yfe as Ga,hh as Ha,Yv as Ia,Xv as Ja,Jv as Ka,Xfe as La,Jfe as Ma,Zfe as Na,Qfe as Oa,epe as Pa,d5 as Qa,ope as Ra,tpe as Sa,eC as Ta,c5 as Ua,ape as Va,rpe as Wa,tC as Xa,G as Ya,Y as Za,Ud as _a,_ as $a,Ye as ab,_a as bb,M as cb,nl as db,It as eb,io as fb,ll as gb,re as hb,Ra as ib,Kd as jb,gh as kb,Ih as lb,rC as mb,sC as nb,dC as ob,Hpe as pb,yh as qb,k5 as rb,T5 as sb,Sh as tb,_n as ub,$e as vb,zpe as wb,P5 as xb,Ao as yb,Yd as zb,Vpe as Ab,hC as Bb,qpe as Cb,Ype as Db,Xd as Eb,Jd as Fb,Rn as Gb,cl as Hb,A5 as Ib,wh as Jb,M5 as Kb,kh as Lb,CC as Mb,eo as Nb,Ro as Ob,vo as Pb,il as Qb,PC as Rb,pl as Sb,EC as Tb,Oue as Ub,_ue as Vb,V5 as Wb,OC as Xb,AC as Yb,Aue as Zb,Rue as _b,Th as $b,q5 as ac,X5 as bc,LC as cc,ul as dc,Co as ec,ml as fc,Ph as gc,Eh as hc,Lue as ic,Fue as jc,Bue as kc,Qd as lc,Due as mc,hl as nc,Rh as oc,Nue as pc,ec as qc,Kb as rc,Ue as sc,Ec as tc,su as uc,dNe as vc,qt as wc,Yt as xc,bo as yc,yNe as zc,CAe as Ac,ui as Bc,mi as Cc,u1 as Dc,kAe as Ec,m1 as Fc,TAe as Gc,CX as Hc,h1 as Ic,PAe as Jc,I1 as Kc,dN as Lc,f$e as Mc,rce as Nc,ne as Oc,i as Pc,Eo as Qc,cN as Rc,m$e as Sc,hx as Tc,gxe as Uc,ot as Vc,lP as Wc,nbe as Xc,qx as Yc,$G as Zc,sbe as _c,xo as $c,Yz as ad,xg as bd,HSe as cd,d0 as dd,$Se as ed,kt as fd,Qz as gd,USe as hd,jSe as id,KSe as jd,VSe as kd,af as ld,qSe as md,rf as nd,YSe as od,XSe as pd,p0 as qd,u0 as rd,aU as sd,rU as td,ewe as ud,twe as vd,awe as wd,rwe as xd,nwe as yd,m0 as zd,Lr as Ad,cU as Bd,iwe as Cd,fU as Dd,dwe as Ed,co as Fd,pU as Gd,cwe as Hd,fwe as Id,pwe as Jd,uwe as Kd,mwe as Ld,hwe as Md,Jn as Nd,xwe as Od,Te as Pd,wp as Qd,hi as Rd,vp as Sd,HAe as Td,Kc as Ud,Zye as Vd,xz as Wd,$P as Xd,Qye as Yd,eSe as Zd,kR as _d,bT as $d,Ba as ae,zxe as be,Ma as ce,q3 as de,Uxe as ee,jxe as fe,yx as ge,Kxe as he,Vxe as ie,qxe as je,ST as ke,bx as le,X3 as me,Yxe as ne,Xxe as oe,Jxe as pe,Zxe as qe,TR as re,lu as se,OR as te,ANe as ue,RNe as ve,Hl as we,jt as xe,Tl as ye,tge as ze,age as Ae,fo as Be,an as Ce,Q as De,_s as Ee,ae as Fe,oe as Ge,ce as He,de as Ie,ye as Je,o2e as Ke,pe as Le,As as Me,ly as Ne,Bi as Oe,Di as Pe,LR as Qe,n2e as Re,Ooe as Se,FR as Te,i2e as Ue,d2e as Ve,BR as We,_oe as Xe,DR as Ye,Aoe as Ze,Ni as _e,NR as $e,p2e as af,dy as bf,h2e as cf,x2e as df,g2e as ef,I2e as ff,b2e as gf,y2e as hf,Ic as if,v2e as jf,C2e as kf,MR as lf,k2e as mf,Boe as nf,Doe as of,T2e as pf,Noe as qf,P2e as rf,Hoe as sf,A2e as tf,R2e as uf,Woe as vf,L2e as wf,F2e as xf,B2e as yf,D2e as zf,N2e as Af,M2e as Bf,H2e as Cf,W2e as Df,hu as Ef,WR as Ff,Joe as Gf,V2e as Hf,q2e as If,nn as Jf,Bs as Kf,EMe as Lf,OMe as Mf,_Me as Nf,kL as Of,TL as Pf,Lte as Qf,qMe as Rf,PL as Sf,EL as Tf,OL as Uf,JMe as Vf,eHe as Wf,Pu as Xf,_L as Yf,Mte as Zf,oHe as _f,P$ as $f,Ct as ag,pye as bg,uye as cg,mye as dg,hye as eg,Wc as fg,xye as gg,Zc as hg,Nl as ig,CSe as jg,kSe as kg,TSe as lg,XP as mg,JP as ng,ZP as og,PSe as pg,Me as qg,Re as rg,tme as sg,qC as tg,nc as ug,xR as vg,IHe as wg,bHe as xg,WL as yg,yHe as zg,SHe as Ag,as as Bg,El as Cg,Mg as Dg,Gg as Eg,Of as Fg,Ot as Gg,_ke as Hg,Ake as Ig,Rke as Jg,Lke as Kg,l8 as Lg,i8 as Mg,Fke as Ng,rs as Og,zg as Pg,Bke as Qg,Dke as Rg,ss as Sg,uI as Tg,mI as Ug,ds as Vg,Gr as Wg,p0e as Xg,Jl as Yg,PO as Zg,u0e as _g,vI as $g,m0e as ah,h0e as bh,x0e as ch,m7 as dh,g0e as eh,I7 as fh,b7 as gh,I0e as hh,b0e as ih,S7 as jh,Ay as kh,_y as lh,yi as mh,EA as nh,OA as oh,Si as ph,fA as qh,Mb as rh,eFe as sh,vs as th,Wb as uh,mA as vh,hA as wh,oQ as xh,xA as yh,Mp as zh,gA as Ah,ZHe as Bh,eF as Ch,QHe as Dh,e4e as Eh,o4e as Fh,Yi as Gh,Au as Hh,i4e as Ih,ba as Jh,g4e as Kh,I4e as Lh,iF as Mh,ya as Nh,yo as Oh,Lu as Ph,cF as Qh,C4e as Rh,Fu as Sh,fF as Th,O4e as Uh,U4e as Vh,vF as Wh,jy as Xh,CF as Yh,Y4e as Zh,X4e as _h,J4e as $h,Ky as ai,Z4e as bi,Q4e as ci,kF as di,MF as ei,ln as fi,x5e as gi,g5e as hi,I5e as ii,b5e as ji,y5e as ki,Uae as li,Hu as mi,B5e as ni,jg as oi,Uke as pi,Kg as qi,EE as ri,j5e as si,rB as ti,nB as ui,c6e as vi,Wu as wi,iB as xi,dB as yi,h6e as zi,rre as Ai,nre as Bi,sre as Ci,x6e as Di,P6e as Ei,pre as Fi,ure as Gi,gB as Hi,E6e as Ii,O6e as Ji,q6e as Ki,HB as Li,Y6e as Mi,WB as Ni,J6e as Oi,Bre as Pi,qB as Qi,n3e as Ri,dD as Si,Kze as Ti,aUe as Ui,HS as Vi,rUe as Wi,nUe as Xi,u2 as Yi,fUe as Zi,pUe as _i,y2 as $i,uUe as aj,$T as bj,t_ as cj,rEe as dj,nEe as ej,Q7 as fj,sEe as gj,lEe as hj,iEe as ij,dEe as jj,eq as kj,cEe as lj,fEe as mj,pEe as nj,uEe as oj,rq as pj,mEe as qj,Ole as rj,C2 as sj,IUe as tj,hd as uj,Fa as vj,Dme as wj,O6 as xj,Zh as yj,bl as zj,Nme as Aj,Wme as Bj,A6 as Cj,Ck as Dj,Gme as Ej,Cr as Fj,D6 as Gj,Vme as Hj,qme as Ij,yl as Jj,Yme as Kj,Xme as Lj,ax as Mj,Ok as Nj,ahe as Oj,j_ as Pj,w_e as Qj,VI as Rj,Kr as Sj,T_e as Tj,P_e as Uj,e9 as Vj,E_e as Wj,di as Xj,Y_ as Yj,X_ as Zj,_Ue as _j,$S as $j,A2 as ak,hn as bk,P2 as ck,GS as dk,Ble as ek,AUe as fk,sm as gk,xd as hk,lm as ik,RUe as jk,LUe as kk,r6 as lk,jue as mk,n6 as nk,s6 as ok,que as pk,l6 as qk,i6 as rk,Yue as sk,Xue as tk,Jue as uk,Zue as vk,L2 as wk,gd as xk,js as yk,F2 as zk,cm as Ak,fm as Bk,pm as Ck,B2 as Dk,D2 as Ek,N2 as Fk,M2 as Gk,H2 as Hk,$2 as Ik,z2 as Jk,tje as Kk,aje as Lk,rje as Mk,nje as Nk,vt as Ok,eie as Pk,Y2 as Qk,tie as Rk,J2 as Sk,Z2 as Tk,eM as Uk,pie as Vk,Rje as Wk,Nn as Xk,Dk as Yk,Bk as Zk,z6 as _k,U6 as $k,j6 as al,uhe as bl,K6 as cl,mhe as dl,Sl as el,hhe as fl,xhe as gl,hc as hl,Wk as il,z_ as jl,g_e as kl,Gje as ll,$je as ml,Iie as nl,Die as ol,_z as pl,Vn as ql,ISe as rl,yhe as sl,ix as tl,She as ul,whe as vl,na as wl,Kk as xl,$k as yl,fx as zl,Q6 as Al,Ehe as Bl,xc as Cl,qk as Dl,e3 as El,o3 as Fl,t3 as Gl,Ahe as Hl,Rhe as Il,Lhe as Jl,Fhe as Kl,ySe as Ll,SSe as Ml,wSe as Nl,Ime as Ol,wme as Pl,Xc as Ql,mSe as Rl,hSe as Sl,xSe as Tl,o8e as Ul,UFe as Vl,PA as Wl,ni as Xl,f_e as Yl,G_ as Zl,p_e as _l,u_e as $l,m_e as am,fGe as bm,LD as cm,FD as dm,BD as em,I0 as fm,OU as gm,Wo as hm,Tt as im,sf as jm,Fr as km,Awe as lm,Rwe as mm,Fwe as nm,Bwe as om,Dwe as pm,Nwe as qm,Mwe as rm,Wwe as sm,df as tm,y0 as um,bg as vm,AU as wm,S0 as xm,w0 as ym,she as zm,che as Am,gc as Bm,bc as Cm,vl as Dm,Qk as Em,Uhe as Fm,jhe as Gm,nT as Hm,mx as Im,j3 as Jm,Lxe as Km,sge as Lm,uge as Mm,mge as Nm,bW as Om,Mo as Pm,Pl as Qm,Rx as Rm,Lx as Sm,qge as Tm,MT as Um,Yge as Vm,Xge as Wm,Jge as Xm,jT as Ym,VT as Zm,la as _m,oP as $m,XG as an,ybe as bn,pP as cn,Pbe as dn,mP as en,IP as fn,bP as gn,yP as hn,SP as in,wP as jn,vP as kn,Xx as ln,h$ as mn,x$ as nn,Ll as on,Jx as pn,kP as qn,Ybe as rn,I$ as sn,Xbe as tn,Jbe as un,Zbe as vn,PP as wn,tye as xn,S$ as yn,aye as zn,rye as An,v$ as Bn,Zx as Cn,k$ as Dn,iye as En,T$ as Fn,dye as Gn,og as Hn,Cye as In,RP as Jn,A$ as Kn,Tye as Ln,Fl as Mn,j$ as Nn,Kye as On,yz as Pn,iSe as Qn,wz as Rn,dSe as Sn,cSe as Tn,fSe as Un,Xn as Vn,of as Wn,LSe as Xn,FSe as Yn,BSe as Zn,s0 as _n,NSe as $n,Va as ao,ha as bo,Dr as co,gCe as do,ICe as eo,bCe as fo,yCe as go,SCe as ho,wCe as io,vCe as jo,PCe as ko,ECe as lo,jj as mo,OCe as no,_Ce as oo,ACe as po,RCe as qo,LCe as ro,FCe as so,BCe as to,DCe as uo,Yj as vo,NCe as wo,Og as xo,MCe as yo,gf as zo,Xo as Ao,ua as Bo,eE as Co,Al as Do,oE as Eo,bf as Fo,HCe as Go,WCe as Ho,gK as Io,GCe as Jo,$Ce as Ko,zCe as Lo,UCe as Mo,jCe as No,KCe as Oo,rt as Po,VCe as Qo,qCe as Ro,cf as So,Sf as To,wf as Uo,Rg as Vo,Cf as Wo,YCe as Xo,FK as Yo,XCe as Zo,BK as _o,JCe as $o,ZCe as ap,cE as bp,QCe as cp,eke as dp,oke as ep,tke as fp,ake as gp,rke as hp,Dg as ip,nke as jp,pE as kp,uE as lp,ske as mp,os as np,qK as op,lke as pp,ike as qp,rLe as rp,nLe as sp,Fp as tp,Lb as up,kLe as vp,TLe as wp,dA as xp,Jo as yp,xi as zp,kJ as Ap,R1 as Bp,mRe as Cp,hRe as Dp,xRe as Ep,gRe as Fp,D1 as Gp,SRe as Hp,wRe as Ip,vRe as Jp,pO as Kp,uO as Lp,dp as Mp,A_ as Np,R_ as Op,F_ as Pp,cp as Qp,VOe as Rp,qOe as Sp,fp as Tp,jY as Up,r_e as Vp,ri as Wp,i_e as Xp,W_ as Yp,Ln as Zp,t6 as _p,$ue as $p,zue as aq,CDe as bq,kDe as cq,TDe as dq,y_e as eq,pp as fq,hce as gq,f8 as hq,oTe as iq,tTe as jq,RE as kq,aTe as lq,rTe as mq,lI as nq,BO as oq,R0e as pq,L0e as qq,F0e as rq,B0e as sq,o_ as tq,kEe as uq,TEe as vq,Z_ as wq,fAe as xq,n1 as yq,vi as zq,HQ as Aq,aBe as Bq,cBe as Cq,Up as Dq,He as Eq,au as Fq,Ft as Gq,MD as Hq,td as Iq,HD as Jq,WD as Kq,xGe as Lq,gGe as Mq,EN as Nq,FS as Oq,ON as Pq,uM as Qq,hKe as Rq,mm as Sq,Eie as Tq,Oie as Uq,TKe as Vq,ice as Wq,pce as Xq,c7e as Yq};
|