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
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import{$ as lr,Aa as ww,Ab as Hw,B as wn,C as vn,Ca as vw,Da as Cw,E as lw,F as iw,Fa as kw,Ha as Cn,I as qs,Ia as Tw,K as cw,Ka as wc,L as ym,La as Pw,O as bc,P as dw,Pa as Ew,Q as fw,R as pw,Ra as vc,S as yc,T as uw,U as mw,W as hw,X as Sm,Xa as Ow,Z as xw,_ as et,a as xt,aa as gw,ab as Cc,b as bn,ba as Mt,c as tw,ca as Sc,cb as kn,d as Qt,e as gm,eb as Tn,f as yn,fa as Iw,fb as kc,ga as wm,hb as _w,j as Vs,ja as bw,ka as vm,l as Ca,lb as Aw,m as Im,nb as Rw,rb as xe,s as aw,t as rw,u as bm,ua as ir,v as to,vb as Dw,w as nw,wa as yw,wb as Nw,x as sw,y as Sn,ya as Sw,yb as Tc,z as Bo,zb as Mw}from"./chunk-JTDOMQMQ.js";import{d as Lw,e as ka,f as Fw,g as Bw,j as Pn,n as Cm}from"./chunk-LRLOANKA.js";var J=e=>typeof e=="string"&&e?e:void 0;var Gw="en",Pc=null,$w=Gw,zw=null;function fde(e,o,t){Pc=e??null,$w=o||Gw,zw=t??null}function ne(){return zw}function km(){return $w}function Uw(){return Pc}function Ww(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=Pc?Pc[e]:void 0;if(typeof t=="function"){try{let a=J(t(o??{}));if(a)return a}catch{}return Ww(e,o)}return Ww(J(t)??e,o)}function Po(e,o,t,a){return i(t===1?e:o,{...a,n:t})}import{jsx as Tm,Fragment as CH,jsxs as kH}from"react/jsx-runtime";import{createContext as TH,useContext as PH}from"react";var EH={mirrorHostStyles:!0,css:null,fontHrefs:[]},jw=TH(EH);function hde({value:e,children:o}){return Tm(jw.Provider,{value:e,children:o})}function Pm(){return PH(jw)}function Kw(){let{css:e,fontHrefs:o}=Pm();return kH(CH,{children:[o.map(t=>Tm("link",{rel:"stylesheet",href:t},t)),e?Tm("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as OH}from"react/jsx-runtime";import{createContext as _H,useContext as AH}from"react";var Vw=_H(void 0);function bde({metadata:e,children:o}){return OH(Vw.Provider,{value:e,children:o})}var qw=()=>AH(Vw);import{jsx as uo,Fragment as aH,jsxs as gc}from"react/jsx-runtime";import{useCallback as js,useEffect as Jt,useRef as Mce,useState as QM}from"react";import{SettingsSwitch as Hce}from"efficient-easel/panel";import{PagesIcon as Wce,StylesIcon as Gce}from"efficient-easel/rail";import{PaletteIcon as $ce}from"efficient-shell/icons/efficient";import{Subtree as zce,TreeRow as rH}from"efficient-easel/tree";import{useEasel as nH}from"efficient-easel/easel";import{useEaselStrings as sH}from"efficient-easel/strings";import{createContext as RH,useContext as LH}from"react";var Em=RH(!1),wde=()=>LH(Em);import{useMemo as FH,useRef as BH}from"react";import{useEaselApi as DH}from"efficient-easel/easel";import{useSectionOps as NH}from"efficient-easel/screen/lib/document/use-section-ops";function Ec(){let e=DH(),o=NH(),t=BH(o);return t.current=o,FH(()=>({getItemById:a=>e.getState().getItemById(a),getSelectorForId:a=>e.getState().getSelectorForId(a),get components(){return e.getState().config.components},replace:(a,r,n)=>t.current.replaceComponent(a,r,n)}),[e])}import{encodePartId as O8}from"efficient-easel/draw";import{insertAt as _8,moveTo as A8,removeAt as R8}from"efficient-easel/fields";function Ta(e,o){let t=globalThis,a=Symbol.for(e),r=t[a];return r===void 0&&(r=o(),t[a]=r),r}var Eo="dataSource",ea="dataSourceOptions",MH="dataRows",gt="countKey",Ys="counts",Ade="location-payment-methods",Xw="shop-payment-methods",Rde="delivery-options";function HH(e){return typeof e.open=="function"}var WH=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;function Xs(){return Ta("efficient.block-sources",()=>({sources:new Map,revision:0}))}var GH=e=>[e?.key,e?.label,e?.value].every(o=>typeof o=="string"&&o.trim()!==""),$H=e=>[e?.key,e?.label].every(o=>typeof o=="string"&&o.trim()!==""),Yw=e=>typeof e=="string"&&e.trim()!=="";function zH(e){if(!e||!Yw(e.label))return null;if(HH(e))return{label:e.label.trim(),open:e.open};let o=e.href;return Yw(o)?{label:e.label.trim(),href:o.trim()}:null}function UH(e){if(typeof e.key!="string"||!WH.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=zH(e.edit);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>Zw(t)).filter(t=>t!==null)}:{},...Array.isArray(e.choices)?{choices:e.choices.filter(GH)}:{},...Array.isArray(e.fields)?{fields:e.fields.filter($H).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 Lde(e){let o=e.map(UH),t=Xs();for(let a of o)t.sources.set(a.key,a);o.length&&(t.revision+=1)}function Fde(e){let o=[...Xs().sources.values()];return e===void 0?o:o.filter(t=>t.blocks.includes(e))}function Oc(e){return Xs().sources.get(e)??null}function Jw(e){return Xs().sources.get(e)?.choices??[]}function Bde(){return Xs().revision}function so(e){let o=e?.[Eo];return typeof o=="string"?o.trim():""}function Zw(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 jH(e){let o=e?.[MH];return Array.isArray(o)?o.map(Zw).filter(t=>t!==null):null}function Dde(e,o,t=[]){let a=jH(e);if(a!==null&&(a.length||!o))return{rows:a,sample:!1};if(!o)return{rows:[],sample:!1};let r=Oc(so(e))?.sample;return{rows:r?.length?r:t,sample:!0}}import{isNodeList as V5}from"efficient-easel/data";var Qw=["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 Mde(){return Object.fromEntries(Pa.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var KH="2027-02-05",ev={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 ${KH}). 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.'}},Om=Object.fromEntries(Object.entries(ev).map(([e,o])=>[e,o.note])),Hde=["Grid","Spacer","TyreFitment"],Wde=Array.from(new Set([...Pa.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(Om)])),VH=Object.fromEntries(Object.entries(ev).map(([e,o])=>[e,o.label])),Ac={...VH,...Object.fromEntries(Pa.flatMap(e=>e.sections.map(o=>[o.type,o.label])))},qH={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"},_c={...qH,...Object.fromEntries(Pa.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function ov(e){return Object.prototype.hasOwnProperty.call(_c,e)?_c[e]:void 0}function _m(e){return Object.keys(_c).filter(o=>_c[o]===e).sort()}var Gde=_m("general"),$de=_m("commerce"),zde=_m("service"),Am="Flex",oa="Box",Ude=`${oa}es`;function YH(e){return e==="section"?"Blank section":oa}function Rm(e,o,t){return e===Am?YH(o):t}var se="content",K="Flex",XH="Text & media",JH="Layout & structure",av=[{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"}],ZH=[...av,{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:XH})),QH=(Pa.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:JH})),tv=[...ZH,...QH],Lm=[...av,{type:"HeroGroup",label:oa}],Vde=Lm.map(e=>e.type),e4=1,o4=Lm.filter(e=>e.type!=="HeroGroup");function t4(e){return e<e4?Lm:o4}var a4={Flex:{slot:se,choices:()=>tv},Grid:{slot:se,choices:()=>tv},HeroGroup:{slot:se,choices:t4}};function rv(e,o=0){let t=a4[e];return t?{slot:t.slot,choices:t.choices(o)}:null}import{applyMark as efe,markupTools as ofe,MARKUP_TOOLS as tfe,COPY_FIELD_TOOLS as afe,STOREFRONT_MARKUP as rfe,tokenizeInline as nfe,stripInline as sfe,isSafeLinkHref as fv}from"efficient-shell/markup";import{applyMark as x4,clearStyle as g4,markedAt as I4,markupTools as b4,MARKUP_TOOLS as y4,parseMarkup as S4,RETIRED_MARKS as w4,STOREFRONT_MARKUP as v4,tokenizeInline as ife}from"efficient-shell/markup";var cr=["highlight","strong","quiet"],dr={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},Ht={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},iv=Object.fromEntries(cr.map(e=>[Ht[e].kind,e])),cv="data-sf-ws",r4=["accent","text","labels"],Ea={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},n4=80,s4=120,l4=100,i4=900,c4=.5,d4=3,f4=-.1,p4=.5,u4=3,Fm={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},m4={highlight:{...Fm},strong:{...Fm},quiet:{...Fm}};function nv(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function sv(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**u4;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function lv(e){return typeof e=="boolean"?e:null}function h4(e){let o=typeof e?.font=="string"&&xt.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&r4.includes(e.colour)?e.colour:null;return{font:o,size:nv(e?.size,n4,s4),weight:nv(e?.weight,l4,i4),bold:lv(e?.bold),italic:lv(e?.italic),lineGap:sv(e?.lineGap,c4,d4),textGap:sv(e?.textGap,f4,p4),colour:t}}function dv(e){let o={};for(let t of cr)o[t]=e&&t in e&&e[t]?h4(e[t]):{...m4[t]};return o}function Xde(e){let o=dv(e),t={};for(let a of cr){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 Jde(e){let o=e?.word_styles??void 0,t={};for(let a of cr)o&&a in o&&(t[a]=o[a]??null);return dv(t)}var C4=new Set(["strong"]),pv=cr.map(e=>({open:Ht[e].delimiter,close:Ht[e].delimiter,kind:Ht[e].kind,...C4.has(e)?{wordStart:!0}:{}})),dfe=[{style:Ht.highlight.kind,label:dr.highlight,title:`${dr.highlight} word style`},{style:Ht.strong.kind,label:dr.strong,title:`${dr.strong} word style`},{style:Ht.quiet.kind,label:dr.quiet,title:`${dr.quiet} word style`}],k4=new Set(pv.map(e=>e.open)),fr=[...v4.filter(e=>!k4.has(e.open)),...pv];function Bm(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function Js(e){return S4(typeof e=="string"?e:"",fr)}var T4=y4.map(e=>e.style).filter(e=>!w4.includes(e)).filter(e=>fr.some(o=>o.kind===e));function uv(){return b4(T4)}var mv=Object.fromEntries(cr.map(e=>[Ht[e].kind,Ht[e].delimiter]));function hv(e,o,t,a){let r=mv[a];if(!r)return x4(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 c=n||"styled text";return{text:e.slice(0,o)+r+c+r+e.slice(t),selectionStart:o+r.length,selectionEnd:o+r.length+c.length}}function xv(e,o,t,a){let r=mv[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:I4(e,o,t,a)}function pr(e){return e.replace(/==(.+?)==/g,(o,t)=>t.startsWith("_")&&t.endsWith("_")?o:`==_${t}_==`)}function ta(e){return Js(e).map(o=>Bm(o)+Iv(o.children)).join(`
|
|
58
|
+
`)}function gv(e,o,t){return g4(e,o,t,fr)}function Iv(e){return e.map(o=>o.kind==="text"?o.text:Iv(o.children)).join("")}var j=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0;var Wt={min:0,max:360,step:1},bv="angle";function mfe(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 P4,hoverKindsOf as Lc,motionSeconds as Rc}from"efficient-shell/format";var Ye="hover",mr="_gHover",hr={none:"None",nextImage:"Show next image",rotate:"Rotate",zoom:"Zoom",lift:"Lift",mono:"Black and white"},Gt="highlight",Nm="Highlight",Mm=["none",Gt],Hm={none:hr.none,[Gt]:Nm};function E4(e){return e[Ye]===Gt?Gt:"none"}var bfe="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)]",yfe="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 Sfe(e,o){return E4(e)!==Gt?null:{"--sf-hl-bg":o("surface"),"--sf-hl-ink":o("main")}}var Fc=Lc(["none","lift"]);function Sv(e){let o=e[Ye];return Fc.includes(o)?o:"none"}var Bc=Lc(["none","nextImage","rotate"]),we={kind:Ye,angle:"hoverAngle",duration:"hoverDuration",delay:"hoverDelay",mediaKind:"hoverKind",mediaGroup:"hoverGroup",cover:"hoverCover"},Zs="spinOnHover",yv=Wt,wv={ProductGrid:"rotate",RelatedProducts:"rotate",AlloyWheelsListing:"none"},vv=Object.keys(wv);function Wm(e){return wv[e]??"none"}var Gm=P4.rotateFallbackDeg,$m=["photos","lifestyle","renderings","accessories","others"],Cv={photos:"Product photos",lifestyle:"Lifestyle photos",renderings:"Renderings",accessories:"Accessories",others:"Others"},zm=["finish","first"],kv={finish:"Same finish",first:"First group"},Um=["card","picture"],Tv={card:"Whole card",picture:"Picture"},ur={kind:"photos",group:"finish",cover:"card"},Dm=(e,o,t)=>e.includes(o)?o:t;function Pv(e){return{kind:Dm($m,e[we.mediaKind],ur.kind),group:Dm(zm,e[we.mediaGroup],ur.group),cover:Dm(Um,e[we.cover],ur.cover)}}function jm(){return{field:we.kind,is:"nextImage"}}function Km(e,o){let t=e[we.kind];if(Bc.includes(t))return t;let a=e[Zs];return typeof a=="boolean"?a?"rotate":"none":o}function Vm(e){let o=j(e);return o===void 0?Gm:Math.min(yv.max,Math.max(yv.min,o))}function wfe(e,o){let t=Wm(o),a=Km(e,t);return{kind:a,angle:a==="rotate"?Vm(e[we.angle]):null,duration:Rc("hover","duration",a==="rotate"?e[we.duration]:void 0),delay:Rc("hover","delay",a==="rotate"?e[we.delay]:void 0),...a==="nextImage"?{media:Pv(e)}:{}}}function Ev(e){let o={field:we.kind,in:[...Bc]};return{any:[{field:we.kind,is:"rotate"},{all:[{not:o},e==="rotate"?{not:{field:Zs,is:!1}}:{field:Zs,is:!0}]}]}}var Dc=Lc(["none","mono"]),qm=Lc(["none","nextImage","mono"]),Ov={ImageBlock:"none",Manifesto:"none",Split:"none",ContactLocations:"mono"},vfe=Object.keys(Ov);function Ym(e){return Ov[e]??"none"}var Qs={zoom:"hoverZoom",darken:"hoverDarken"},aa={min:100,max:150,step:1,unit:"%"};function O4(e){let o=j(e[Qs.zoom]);if(o===void 0)return null;let t=Math.min(aa.max,Math.max(aa.min,o));return t===aa.min?null:String(t/100)}function _4(e){let o=j(e[Qs.darken]);return o!==void 0&&o>0?o:null}var Nc=["ImageBlock"];function Xm(e,o,t=Dc){let a=e[Ye];return t.includes(a)?a:o}function _v(e,o=""){let t=Nc.includes(o)?qm:Dc,a=Xm(e,Ym(o),t),r=a==="mono";return{kind:a,duration:Rc("hover","duration",r?e[we.duration]:void 0),delay:Rc("hover","delay",r?e[we.delay]:void 0),...a==="nextImage"?{media:Pv(e)}:A4(e)}}function A4(e){let o=O4(e),t=_4(e);return{...o?{zoom:o}:{},...t?{darken:t}:{}}}function Av(){return{not:{field:Ye,is:"nextImage"}}}function Jm(e){return e==="none"?{field:Ye,in:["mono","nextImage"]}:{not:{field:Ye,is:"none"}}}function Rv(e){return e==="none"?{field:Ye,is:"mono"}:{not:{field:Ye,in:["none","nextImage"]}}}var Oa="rowImageField",R4="boxOutsideCopy",L4={all:[{field:Oa,set:!0},{not:{context:R4,is:!0}}]},Zm={any:[{field:"bgImage",set:!0},L4]},Lv="boxInCopy",F4={any:[{not:{field:Oa,set:!0}},{not:{context:Lv,is:!0}}]},kfe={all:[{not:{field:"bgImage",set:!0}},F4]},Fv={all:[{not:{context:"parent.bgImage",set:!0}},{any:[{not:{context:`parent.${Oa}`,set:!0}},{not:{context:Lv,is:!0}}]}]};function mo(e,o,t){return e.some(a=>(typeof a=="object"?a.value:a)===t)?t:o}var Qm="small",eh="dot",B4=[{label:"Small",value:"small"},{label:"Display",value:"display"}],oh=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],Mc={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},D4={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)]"},N4={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 Ofe(e){return mo(B4,Qm,e)}function el(e){return mo(oh,eh,e)}function _fe(e){return D4[e]}function Bv(e,o){return N4[e][o]}var Lfe=[{value:"none"},{value:"dot"},{value:"cross"},{value:"slash"},{value:"triangle"}];function Dv(e){return oh.some(o=>o.value===e)?el(e):void 0}var M4="overflow-x-clip [&>*]:shrink-0 [&>[data-sf-box-items]>*]:shrink-0 [&>*]:max-view-wide:basis-[content] [&>[data-sf-box-items]>*]:max-view-wide:basis-[content] [&>*_:is(p,h1,h2,h3,h4,h5,h6)]:max-w-none [&>[data-sf-box-items]>*_:is(p,h1,h2,h3,h4,h5,h6)]:max-w-none [&>*_:is(.sf-button-block>div)]:font-mono [&>[data-sf-box-items]>*_:is(.sf-button-block>div)]:font-mono [&>*_:is(.sf-button-block>div)]:text-[length:var(--size-label,14px)] [&>[data-sf-box-items]>*_:is(.sf-button-block>div)]:text-[length:var(--size-label,14px)] [&>*_:is(.sf-button-block>div)]:tracking-[0.2em] [&>[data-sf-box-items]>*_:is(.sf-button-block>div)]:tracking-[0.2em] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:inline-flex [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:inline-flex [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:items-center [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:items-center [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:align-top [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:align-top [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:h-[calc(1lh/var(--sf-sep-k,1))] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:h-[calc(1lh/var(--sf-sep-k,1))] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:mr-[var(--sf-gap-len,0px)] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:mr-[var(--sf-gap-len,0px)] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:max-view-wide:before:mr-[var(--sf-gap-len-phone,calc(var(--sf-gap-len,0px)/2))] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:max-view-wide:before:mr-[var(--sf-gap-len-phone,calc(var(--sf-gap-len,0px)/2))] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:text-accent [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:text-accent [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:text-[length:calc(var(--sf-sep-k,1)*1em)] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:text-[length:calc(var(--sf-sep-k,1)*1em)] [&>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:content-[var(--sf-sep-mark)] [&>[data-sf-box-items]>*+*_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:before:content-[var(--sf-sep-mark)]";function xr(e,o){return e==="row"&&Dv(o)!==void 0}function Ffe(e,o){return xr(e,o)?M4:""}var H4="[&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:inline-flex [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:items-center [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:align-top [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:h-[calc(1lh/var(--sf-sep-k,1))] [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:ml-[var(--sf-gap-len,0px)] [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:max-view-wide:after:ml-[var(--sf-gap-len-phone,calc(var(--sf-gap-len,0px)/2))] [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:text-accent [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:text-[length:calc(var(--sf-sep-k,1)*1em)] [&>*:last-child_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:content-[var(--sf-sep-mark)] [&>[data-sf-box-items]:last-child>*:not(:last-child)_:is(:is(p,h1,h2,h3,h4,h5,h6):first-child,.sf-button-block>div)]:after:content-none";function Bfe(e,o){return xr(e,o)?H4:""}function Dfe(e,o){if(!xr(e,o))return{};let t=Dv(o),a=/^text-\[([\d.]+)em\]$/.exec(Bv("small",t))?.[1],r=Mc[t];return{"--sf-sep-mark":r===""?"none":JSON.stringify(r),...a?{"--sf-sep-k":a}:{}}}import{AUTO_RULES as $4,FOLLOW_RULES as z4,isAuto as U4,resolveViewValue as j4}from"efficient-easel/screen/lib/content/view-tiers";import{VIEW_DESKTOP_MIN as W4,VIEW_TABLET_MIN as G4}from"efficient-easel/screen/lib/content/view-tiers";var th="v1",ra=800,Nv={"view-tablet":G4,"view-desktop":W4,"view-wide":ra};function Hfe(e){let o=e.startsWith("max-"),t=o?e.slice(4):e;if(t in Nv)return{px:Nv[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 th==="v2"?$4:z4}function Vo(e,o,t,a,r=gr()){let n=j4(e,o,t,a,r),s={},l=(c,d)=>!U4(c)||d!=null&&d!==o;return l(t,n.tablet)&&(s.tablet=n.tablet),l(a,n.phone)&&(s.phone=n.phone),s}var al={sectionPaddingTop:0,sectionPaddingBottom:0},ol={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},tl={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function Vfe(e,o){let t=typeof e=="string"&&e in ol?ol[e]:"",a=typeof o=="string"&&o in tl?tl[o]:"";return[t,a].filter(Boolean).join(" ")}function K4(e){return e===!0||e==="wrap"?"flex-wrap":""}var V4={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!"},q4={start:"max-view-wide:justify-start",center:"max-view-wide:justify-center",between:"max-view-wide:justify-between",end:"max-view-wide:justify-end"},Y4={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!"},X4={start:"max-view-wide:items-start",center:"max-view-wide:items-center",end:"max-view-wide:items-end",stretch:"max-view-wide:items-stretch"},J4={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 rh(e,o,t){let a=Vo("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 nh(e,o,t){return[e.tablet?o[e.tablet]:"",e.phone?t[e.phone]:""].filter(Boolean).join(" ")}function Z4(e,o,t){return rh(yr(ol,e)??"start",yr(ol,o),yr(ol,t))}function qfe(e,o,t){return nh(Z4(e,o,t),V4,q4)}function Yfe(e,o,t){let a=yr(tl,e)??"stretch";if(a==="stretch")return"";let r=rh(a,yr(tl,o),yr(tl,t));return nh(r,Y4,X4)}function ah(e){if(e===!0||e==="wrap")return"wrap";if(e===!1||e==="nowrap")return"nowrap"}function Xfe(e,o){let t=K4(e)===""?"nowrap":"wrap",a=ah(o);return a&&a!==t?J4[a]:""}var Sr="Block widths",Gv=[{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]}],Q4="data-sf-box-items",Jfe=new RegExp(`[ \\t]+[^\\s"'\`]*\\[${Q4}\\][^\\s"'\`]*`,"g");var sh=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Custom",value:"custom",weights:[2,1]}];function lh(e){return Array.isArray(e)?"custom":e==="equal"?"equal":typeof e=="string"&&e in Wc?"custom":"content"}var $v=4,Mv=10;function e5(e,o){if(!Number.isInteger(o)||o<2||o>$v||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-Mv*(o-1-n),l=Math.min(s,Math.max(Mv,Math.round(r)));t.push(l),a+=l}),t}function Hv(e,o,t){if(!Array.isArray(o))return;let a=e5(o,t),r=a?[...a,100-a.reduce((s,l)=>s+l,0)]:[],n={};for(let s=0;s<$v;s+=1)n[`--${e}-${s+1}`]=r[s]??1;return n}function Zfe(e,o,t){let a=Hv("sf-share",e,t),r=Hv("sf-share-tablet",o,t);return a||r?{...a,...r}:void 0}function o5(e,o){let t=Array.from({length:o},()=>1),a=Gv.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 Hc(e,o){if(typeof e!="string"||!(e in Wc)||e==="equal")return e;let t=o5(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",Wc={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]`},t5=`${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 a5(e){return Array.isArray(e)?t5:typeof e=="string"?Wc[e]??"":""}var Qfe={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}},Fv,{any:[{context:"parent.columns",in:[2,3,4,5,6]},{all:[{not:{context:"parent.columns",is:1}},{context:"parent.share",in:Object.keys(Wc)}]}]}]},zv="view-wide:max-view-desktop:flex-row!",br=`${zv} [&>*: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!`,Uv={content:`${zv} [&>*: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]!`},r5=`${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 n5(e){return Array.isArray(e)||typeof e=="string"&&e in Uv?e:null}function epe(e){if(e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0||Yv(e.columns)!==""||Xv(e.columnsTablet)!=="")return"";let o=n5(e.shareTablet);return o===null?"":typeof o=="string"?Uv[o]:r5}var s5="[&>*]:view-wide:basis-[content] [&>[data-sf-box-items]>*]:view-wide:basis-[content]";function ope(e){return a5(e)===""?s5:""}var ih="Columns",Gc=1,jv=3,ch={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)]"},Kv=Gv.filter(e=>e.value==="content"||e.value==="equal"),Vv="equal",dh=1,qv=6,En="view-wide:flex-wrap [&>*]:view-wide:min-w-0 [&>[data-sf-box-items]>*]:view-wide:min-w-0 [&>*]:view-wide:grow-0! [&>[data-sf-box-items]>*]:view-wide:grow-0!",l5={1:`${En} [&>*]:view-wide:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc(100%/1)]!`,2:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px))/2)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px))/2)]!`,3:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_2)/3)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_2)/3)]!`,4:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_3)/4)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_3)/4)]!`,5:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_4)/5)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_4)/5)]!`,6:`${En} [&>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_5)/6)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_5)/6)]!`};function Yv(e){return typeof e=="number"?l5[e]??"":""}var i5={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 Xv(e){return typeof e=="number"?i5[e]??"":""}function tpe(e){return e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Xv(e.columnsTablet)}function ape(e){return e.direction!=="row"||xr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Yv(e.columns)}var Jv={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"},Zv={2:"max-view-wide:grid max-view-wide:grid-cols-2",3:"max-view-wide:grid max-view-wide:grid-cols-3"},rpe=Object.keys(Jv).map(Number),npe=Object.keys(Zv).map(Number);function spe(e,o,t=!1){let a=typeof e=="number"?Jv[e]??"":"",r=Zv[Number(o)]??"";return!a&&!r?"":[a,r,t?"gap-y-0!":""].filter(Boolean).join(" ")}var c5="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]",d5={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)]"},f5="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 p5(e,o){return(ah(e)??ah(o)??"wrap")==="nowrap"}function lpe(e,o,t,a){let r=ch[Number(e)];if(!r)return"max-view-wide:flex-col";let n=p5(t,a);return Qv(e,o)?n?f5:c5:n?d5[Number(e)]:r}function ipe(e,o){return Number(e)in ch&&!Qv(e,o)}function Qv(e,o){return Number(e)in ch&&o==="content"}var eC="Block spacing",fh=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],u5="sf-box-gap-only";function cpe(e){return e==="gap"?u5:""}var Wv={each:"sf-box-each-tablet",gap:"sf-box-gap-only-tablet"},m5={each:"sf-box-each-phone",gap:"sf-box-gap-only-phone"};function dpe(e,o,t){let a=n=>yr(Wv,n),r=rh(e==="gap"?"gap":"each",a(o),a(t));return nh(r,Wv,m5)}var oC={label:"Text",defaultProps:{text:"",align:"left",tone:"default",tag:"p",contained:!0}};var{text:hpe,tag:xpe,...h5}=oC.defaultProps,G=h5,Y={...G,tone:"dim"},$c={justify:"start",align:"stretch",wrap:!1,blockSpacing:"gap",padV2:!0},_={...$c,direction:"column",...al},Xe=(e,o=e,t=e,a=o)=>({sectionPaddingTop:e,sectionPaddingRight:o,sectionPaddingBottom:e,sectionPaddingLeft:o,sectionPaddingTopPhone:t,sectionPaddingRightPhone:a,sectionPaddingBottomPhone:t,sectionPaddingLeftPhone:a}),_a=e=>({fillColor:e}),zc=(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}:{}}}),tC={case:"upper"},Oo={textStyle:"body-5",...tC},rl=(e,o)=>({...M("label",e,o),letterSpacing:.2,...tC}),It=(e,o)=>({...Oo,...rl(e,o)});function lo(e,o,t=""){return e.map((a,r)=>{let n=t?`${t}.${r}`:String(r),s={...a.props??{}};for(let[l,c]of Object.entries(a.slots??{}))s[l]=lo(c,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:{...Oo,color:"accent",letterSpacing:.3,lineHeight:1.5}}});var x5={..._,gap:12,gapPhone:12,...Xe(32,32,28,28)},g5={textStyle:"heading-3",...M("headingSmall",20),weight:500,case:"upper",lineHeight:1.5,letterSpacing:.02},sl={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"},Uc={title:"name",body:"note"},ph=(e=Ra)=>({type:K,props:{...x5,name:"Card"},slots:{[se]:[re(e.title,{...G,tag:"p",widthFit:"fill"},g5),re(e.body,{...Y,tag:"p",widthFit:"fill"},sl)]}}),jc=(e,o)=>lo([ph(o)],e),nl={label:Ra.title,href:"href"},I5={textStyle:"body-1",fontRole:"heading",color:"text",...M("body",17),weight:500,case:"upper",letterSpacing:.06,lineHeight:1.5},b5=zc(9,"main",{[bv]:45}),uh=(e=!1)=>({type:K,props:{..._,name:"Card",direction:"row",align:"center",gap:16,gapPhone:16,phoneRow:2,sharePhone:"content",wrapPhone:!1,...Xe(32,28),[ll]:nl.href,...e?{[Ye]:Gt}:{}},slots:{[se]:[{type:K,props:{...b5,name:"Mark"}},re(nl.label,{...G,tag:"p",widthFit:"fill"},I5)]}}),aC=e=>(o,t)=>t==="0"?`${e}~card`:`${e}~card.${t.slice(2)}`,rC=(e,o=!1)=>lo([uh(o)],e);function sC(e,o){if(e!=="Cards")return o;if(o.template!==void 0)return nC(o);let t=J(o.id)??"Cards",a=aC(t);if(o.cardStyle==="label-only"){let n=Array.isArray(o.items)&&o.items.some(s=>J(s?.href)!==void 0);return nC({...o,template:rC(a,n)})}let r=so(o)?Uc:Ra;return{...o,template:jc(a,r)}}var y5=e=>{let[o,t]=e?[Ra,Uc]:[Uc,Ra];return new Map([[o.title,t.title],[o.body,t.body]])};function lC(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 c=n[se];if(Array.isArray(c)){let d=lC(c,o);d!==c&&(s={...s,[se]:d})}s!==n&&(t??=[...e],t[r]={...a,props:s})}),t??e}function nC(e,o){if(!Array.isArray(e.template))return e;let t=y5(!!so(e)),a=o?new Map([...t].filter(([n,s])=>o(s)&&!o(n))):t;if(!a.size)return e;let r=lC(e.template,a);return r===e.template?e:{...e,template:r}}var S5="label";function iC(e){if(e.template!==void 0)return e;let o=J(e.id)??"CardList",t={type:K,props:{..._,name:"Item"},slots:{[se]:[re(S5,{...G,tag:"p"},sl)]}};return{...e,template:lo([t],(a,r)=>r==="0"?`${o}~item`:`${o}~item.${r.slice(2)}`)}}var il="ArticleBody",w5={textStyle:"heading-3",...M("headingSmall",20),weight:500,lineHeight:1.4,align:"center"},v5={...sl,align:"center"},cC=640,C5=()=>[re("heading",{...G,tag:"h2",align:"center",maxWidth:cC},w5),re("paragraph",{...Y,tag:"p",align:"center",maxWidth:cC},v5)],mh=e=>lo(C5(),e);function k5(e){return mh((o,t)=>`${e}~${t==="0"?"heading":"paragraph"}`)}function dC(e){if(e.template!==void 0)return e;let o=typeof e.id=="string"&&e.id.trim()?e.id:il;return{...e,template:k5(o)}}var T5="label",Kc=()=>({type:"LogoBlock",props:{[vo]:T5}}),fC=e=>{let o=J(e.id)??"Logos";return{...e,template:lo([Kc()],()=>`${o}~logo`)}};function pC(e){return!so(e)||e.template!==void 0?e:fC(e)}function jpe(e){if(!so(e))return e;let o=e.template;return o!==void 0&&!(Array.isArray(o)&&o.length===0)?e:fC(e)}import{addShowWhenFacts as P5}from"efficient-shell/format";import{showWhenOf as hh,shownForOption as E5,truthy as O5,withRowRules as xh,withRowsShownWhen as On,withShowWhen as $e}from"efficient-shell/format";var Ype=P5;function _5(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 A5="inline",R5=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var _o={ProductGrid:{num:"num",title:"title",description:"description",headRows:["num","title","titleSize","description","linkText","linkHref"],renderer:"ProductGridSection",padKey:"padTop",linkProp:"link"},TyreSizes:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreSizes"},FitmentFinder:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentFinder"},TyreFitment:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreFitment"},BundleOffer:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},CompatibleTyres:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},RelatedProducts:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},SpecTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"SpecTable"},FAQ:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"FAQ"},GalleryB:{num:"num",title:"title",headRows:["num","title","linkText","linkHref"],renderer:"GalleryGrid"},FitmentTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentTable"},Events:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"Events"},ProcessSteps:{num:"num",title:"title",description:"description",headRows:["num","title","description"],headStyle:"editorial",renderer:"ProcessSteps",padKey:"padTop"},LongRead:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"LongRead"},Series:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"Series"},TimelineTrack:{num:"eyebrow",title:"title",description:"intro",headRows:["eyebrow","title","intro"],headStyle:"editorial",renderer:"TimelineTrack",padKey:"padTop"},StatsParagraph:{num:"eyebrow",title:"title",description:"desc",headRows:["eyebrow","title","desc"],headStyle:"editorial",renderer:"StatsParagraph"},Footprint:{num:"sectionNumber",title:"heading",description:"tagline",headRows:["sectionNumber","heading","tagline"],headStyle:"editorial",renderer:"Footprint",padKey:"padTop"},Collections:{num:"eyebrow",title:"heading",headRows:["eyebrow","heading"],renderer:"Collections"},Cards:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Cards"},Testimonials:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Testimonials"},Reviews:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Reviews"},Prose:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"essay",renderer:"Prose"},ReviewForm:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"simple",renderer:"ReviewForm"},DeliveryOptions:{num:"eyebrow",title:"title",description:"body",headRows:["eyebrow","title","body"],headStyle:"natural",headRowGap:"gap-3",headDescriptionSize:"text-[15px]",renderer:"DeliveryOptions"}},_n="SectionHeader";function uC(e){return e in _o}function Vc(e){return mo(R5,A5,e)}var L5=new Set(["Flex"]);function Qpe(e){return!!e?.type&&L5.has(e.type)}var mC={not:{field:"headPlacement",is:"own-box"}},eue={not:mC};function oue(e,o,t){return On(e,t,mC)}var qc="data-sf-spec-region";function hC(e){return e.writable===!0&&e.sized===!0}function Yc(e,o,t){if(!e)return;let a=t[e];if(a)return{fontFamily:`var(--font-role-${e})`,fontSize:`var(--size-${a}, ${o.builtIn})`}}function An(e){let o=/var\(--size-[A-Za-z]+, ?([0-9.]+px)\)/.exec(e);if(!o)throw new Error(`builtInOf: no --size-* fallback in ${e}`);return o[1]}function cl(e){return`@${e}`}function dl(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function F5(e,o){return o&&o in e?o:null}var gh={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}},xC=gh;var B5="question",D5="answer",N5={textStyle:"body-1",fontRole:"heading",...M("body",18,15),weight:500,case:"upper",letterSpacing:.02,lineHeight:1.5},M5={textStyle:"body-1",...M("body",15),lineHeight:1.7};function gC(){return Object.keys(gh).map(cl)}var Ih=()=>({type:K,props:{..._,gap:0,name:"Question"},slots:{rowTitle:[re(B5,{...G,tag:"p",widthFit:"fill"},N5)],[se]:[re(D5,{...Y,tag:"p",widthFit:"fill",maxWidth:760},M5)]}});function H5(e){return Vc(e.headPlacement)==="own-box"?!1:["num","title","linkText"].some(o=>J(e[o])!==void 0)}function IC(e){if(e.template!==void 0||H5(e))return e;let o=J(e.id)??"FAQ",t=0;return{...e,template:lo([Ih()],a=>a===K?`${o}~row`:`${o}~row.${t++}`)}}var W5=["below","left","right"];function G5(e){return W5.includes(e)?e:"below"}function bC(e){return G5(e)!=="below"}function bh(e){return Array.isArray(e)?e.map(bh):!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,bh(t)]))}var yh=e=>JSON.stringify(bh(e));var Xc=rl(11),$5={textStyle:"body-1",...M("body",18),weight:500,lineHeight:1.2},SC=()=>({type:K,props:{..._,gap:8,gapPhone:8,...Xe(20,24,20,20),name:"Office"},slots:{[se]:[re("badge",{...G,tag:"p",widthFit:"fill"},Xc,!0),re("role",{...G,tag:"p",widthFit:"fill"},Xc,!0),re("city",{...G,tag:"p",widthFit:"fill"},$5),re("country",{...Y,tag:"p",widthFit:"fill"},Xc),re("address",{...Y,tag:"p",widthFit:"fill"},Xc),{type:"ButtonBlock",props:{variant:"link",label:"",href:"",[vo]:"linkLabel",[ll]:"href"}}]}}),z5={textStyle:"body-1",fontRole:"heading",...M("body",16),weight:500,lineHeight:1.25},yC={textStyle:"body-1",...M("body",14),lineHeight:1.5},U5=()=>({type:K,props:{..._,gap:4,gapPhone:4,...Xe(16,4),sectionBorder:{bottom:1},name:"Office"},slots:{[se]:[re("city",{...G,tag:"p",widthFit:"fill"},z5),re("address",{...Y,tag:"p",widthFit:"fill"},yC),re("phone",{...Y,tag:"p",widthFit:"fill"},yC)]}});function wC(e){let o=J(e.id)??"Footprint",t=0;return lo([U5()],a=>a===K?`${o}~office`:`${o}~office.${t++}`)}function j5(e){return Array.isArray(e.template)&&e.template.length>0&&yh(e.template)===yh(wC(e))}var K5=e=>e===void 0||Array.isArray(e)&&e.length===0;function vC(e){return bC(e.listPosition)?!K5(e.template)||e.source==="dealers"?e:{...e,template:wC(e)}:j5(e)?{...e,template:[]}:e}var io="template",q5="Card template",Ao="CardList",CC=["Text","ImageBlock","ButtonBlock","Flex"],vo="rowField",ll="rowLinkField";function kC(){return{type:"slot",allow:[...CC]}}var Y5=CC.filter(e=>e!=="ButtonBlock"),fl="items",TC="itemFields";function Bue(){return{type:"slot",allow:[...Y5]}}var X5=[{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=>IC(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=>vC(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=>sC("Cards",e)},{block:"ProcessSteps",fields:[{key:"eyebrow",label:"Eyebrow"},{key:"title",label:"Title",mark:"accentItalic"},{key:"copy",label:"Body",multiline:!0},{key:"image",label:"Image",kind:"image",alt:"title"},{key:"tag",label:"Image tag"},{key:"specs",label:"Specs",kind:"list",fields:[{key:"label",label:"Label"},{key:"value",label:"Value"}]}],blocks:[{type:Ao,label:"Card list"}]},{block:"Logos",fields:[{key:"label",label:"Name"},{key:"kind",label:"Kind"}],seed:e=>pC(e)},{block:Ao,fields:[{key:"badge",label:"Highlight badge",everySource:!0}],typedRows:fl,seed:e=>iC(e)},{block:il,fields:[{key:"heading",label:"Subhead"},{key:"paragraph",label:"Paragraph",multiline:!0}],seed:e=>dC(e)}];function Do(){return Ta("efficient.card-templates",()=>new Map(X5.map(e=>[e.block,e])))}function Due(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 n of o.blocks??[]){if(typeof n?.type!="string"||!n.type)throw new Error(`The card template of ${o.block} names an empty block.`);t.some(s=>s.type===n.type)||t.push({type:n.type,label:n.label||n.type})}let a=[];for(let n of o.slots??[]){if(typeof n?.slot!="string"||!n.slot)throw new Error(`The card template of ${o.block} names an empty slot.`);let s=J(n.label);a.some(l=>l.slot===n.slot)||a.push(s?{slot:n.slot,label:s}:{slot:n.slot})}let r=J(o.typedRows);Do().set(o.block,{block:o.block,...a.length?{slots:a}:{},fields:o.fields.map(n=>({...n})),blocks:t,typedRows:r,...o.seed?{seed:o.seed}:{},...o.seedOnInsert?{seedOnInsert:o.seedOnInsert}:{},...o.linesBetween===!0?{linesBetween:!0}:{}})}}function J5(e,o){let t=e?Do().get(e)?.seed:void 0;return t?t(o):o}function PC(e,o){let t=wh(e),a=(t.length?t:[io]).filter(l=>o[l]===void 0||Array.isArray(o[l])&&o[l].length===0);if(!a.length)return o;let r={...o};for(let l of a)delete r[l];let n=e?Do().get(e)?.seedOnInsert:void 0,s=n?n(r):J5(e,r);return s===r?o:s}function EC(){for(let e of Do().values())if(e.blocks?.length)return!0;return!1}function OC(e){return Do().get(e)?.blocks??[]}function Nue(e){for(let o of Do().values())if(o.blocks?.some(t=>t.type===e))return!0;return!1}function _C(e){return typeof e=="string"&&Do().get(e)?.typedRows||""}function Mue(e){return typeof e=="string"&&Do().get(e)?.linesBetween===!0}function AC(e){return typeof e=="string"&&Do().has(e)}var Z5=[{slot:io}];function Sh(e){if(typeof e!="string")return[];let o=Do().get(e);return o?o.slots??Z5:[]}function wh(e){return Sh(e).map(o=>o.slot)}function Q5(e,o){return Sh(e).some(t=>t.slot===o)}function RC(e,o){let t=Sh(e).find(a=>a.slot===o);return t?t.label??q5:null}function e6(e,o){let t=Do().get(e)?.fields??[];return o?t.filter(a=>(a.kind??"text")===o):t}function o6(e){return typeof e=="string"?e6(e,"list")[0]?.key??"":""}function t6(e,o){return No(e)||o6(o)}function LC(e,o){let t=typeof e?.type=="string"?e.type:"";if(!t)return[];let a=Do().get(t)?.fields??[],r=Oc(so(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 a6(e,o,t){return e?t?LC(t).find(a=>a.key===o)??null:Do().get(e)?.fields.find(a=>a.key===o)??null:null}function vh(e,o){return!e||!o?null:e.fields?.find(t=>t.key===o)??a6(e.ownerType,o,e.owner)}function No(e,o=vo){let t=e?.[o];return typeof t=="string"?t.trim():""}function pl(e,o){return e.key||String(o+1)}function Ch(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 kh="hideWhenRowEmpty";function Hue(e,o){let t=e[kh];return!o||!Array.isArray(t)||!t.length?!1:t.every(a=>typeof a!="string"||!o[a]?.trim())}var FC={Text:{text:vo},ImageBlock:{src:vo},ButtonBlock:{label:vo,href:ll},LogoBlock:{alt:vo},Breadcrumb:{currentCrumb:vo}};var r6=new Set(["ButtonBlock.label","LogoBlock.alt"]);function Wue(e,o,t){return Th(e,o,t)&&!r6.has(`${e}.${t}`)}function Th(e,o,t){return Ph(e,o,t)!==""}function Ph(e,o,t){let a=FC[e]?.[t];return a?No(o,a):""}function Jc(e,o){return!o||!e?null:e[o]??""}function Gue(e,o,t,a,r){if(!t)return o;let n=null;for(let[s,l]of Object.entries(FC[e]??{})){let c=No(o,l),d=Jc(t,c);d!==null&&(n??={...o},n[s]=vh({ownerType:a,fields:r},c)?.mark==="accentItalic"?pr(d):d)}return n??o}function Eh(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[c,d]of Object.entries(l?.props??{})){if(!V5(d))continue;let f=Q5(l.type,c)?{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(d,f);if(u!==void 0)return u}}},r=a(t,null);return r===void 0?null:r}function ul(e,o){let t=Eh(e,o);return t&&t.owner}function Oh(e,o){let t=Eh(e,o);return t&&(t.direct?t.owner:null)}function $ue(e,o){let t=Eh(e,o);if(t!==void 0)return t===null?{inCopy:!1,nestedCopy:!1,underBox:!1}:{inCopy:!0,nestedCopy:t.nested,underBox:t.underBox}}function BC(e,o,t){if(o?.type!==Ao)return[];let a=ul(e,o.props?.id);if(!a){let s=Oc(so(o.props))?.fields,l=s?.length?s.map(f=>({...f})):n6(o.props),c=(Do().get(Ao)?.fields??[]).filter(f=>f.everySource&&!l.some(u=>u.key===f.key)),d=[...l,...c];return t?d.filter(f=>(f.kind??"text")===t):d}let r=t6(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 Zc(e,o){return{[vo]:"",[fl]:e.map(t=>({...t})),[TC]:o.map(t=>({...t}))}}function n6(e,o){let t=e?.[TC];if(!Array.isArray(t))return[];let a=t.flatMap(r=>{if(!r||typeof r!="object")return[];let{key:n,label:s,kind:l,multiline:c,alt:d,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}:{},...c===!0?{multiline:!0}:{},...typeof d=="string"&&d?{alt:d}:{},...typeof f=="string"&&f?{next:f}:{}}]});return o?a.filter(r=>(r.kind??"text")===o):a}import{useSyncExternalStore as w8}from"react";import{isNodeList as Qc}from"efficient-easel/data";var DC="Flex";function Rn(e,o){return No(e)?typeof e?.[gt]=="string"?_h(o?.[gt]):"":_h(e?.[gt])}var _h=e=>typeof e=="string"?e.trim():"",s6=e=>e.type===Ao&&Array.isArray(e.props?.[fl])&&e.props[fl].some(o=>_h(o?.[gt])!==""),l6=new Intl.NumberFormat("en-US");function i6(e){return/^\d+$/.test(e)?l6.format(Number(e)):e}function Vue(e,o){let t=o?o.find(a=>a.key===e)?.value:Jw(Ys).find(a=>a.key===e)?.value;return t===void 0?null:i6(t)}var c6={[gt]:"any"};function Ah(e,o=!1){let t=e.props;if(!t)return{node:e,names:!1};let a=e.type==="Text"&&(Rn(t)!==""||o&&Rn(t,c6)!==""),r=o||s6(e),n=t;for(let[l,c]of Object.entries(t)){if(!Qc(c))continue;let d=c.map(f=>Ah(f,r));d.some(f=>f.names)&&(a=!0),d.some((f,u)=>f.node!==c[u])&&(n={...n,[l]:d.map(f=>f.node)})}if(e.type!==DC)return{node:n===t?e:{...e,props:n},names:a};let s=so(n);if(a&&!s&&(n={...n,[Eo]:Ys}),!a&&s===Ys){let{[Eo]:l,...c}=n;n=c}return{node:n===t?e:{...e,props:n},names:!1}}function NC(e,o,t){for(let a of e){if(a?.props?.id===o)return t;for(let r of Object.values(a?.props??{})){if(!Qc(r))continue;let n=NC(r,o,a.type===DC?a:t);if(n!==void 0)return n}}}function que(e,o){if(!Qc(e))return!0;let t=NC(e,o,null);if(t===void 0)return!0;if(t===null)return!1;let a=so(t.props);return!a||a===Ys}function MC(e){let o=e?.content;if(!Qc(o))return e;let t=o.map(a=>Ah(a));return t.every((a,r)=>a.node===o[r])?e:{...e,content:t.map(a=>a.node)}}function HC(e){return Ah(e).node}import{jsx as w,jsxs as ja,Fragment as ma}from"react/jsx-runtime";import{cloneElement as L0,createContext as WU,useContext as F0,useEffect as GU,useId as B0,useRef as Wl,useState as Gl}from"react";import{useEasel as ff,useSelectedHost as Qn}from"efficient-easel/easel";import{toDateKey as Jwe,fromDateKey as Zwe}from"efficient-shell/format";function d6(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function Ro(e){return typeof e=="string"?e:d6(e)?e.src:""}function Xue(e,o,t){return Rh(e,o.split("."),t)}function Rh(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 c=l[s];if(n){if(!Array.isArray(c))return e;let f=!1,u=c.map(p=>{let x=Rh(p,r,t);return x!==p&&(f=!0),x});return f?{...l,[s]:u}:e}let d=Rh(c,r,t);return d===c?e:{...l,[s]:d}}var f6=["upload","youtube"],p6="upload",Que={upload:"Upload",youtube:"YouTube"},u6=["background","click"],m6="background",eme={background:"Background",click:"Click to play"};function GC(e){return f6.includes(e)?e:p6}function $C(e){return u6.includes(e)?e:m6}var WC=/^[A-Za-z0-9_-]{11}$/,h6=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function zC(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(WC.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:"||!h6.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&&WC.test(r)?r:null}function Lh(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 UC(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function jC(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var Fh="Play video";var Bh={frame:"Video frame",image:"Image"},ome={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function ml(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":Ro(e.poster)?"image":"frame"}function tme(e){let[o,t]=ml(e)==="image"?[e.poster,e.videoFrame]:[e.videoFrame,e.poster];return Ro(o)||Ro(t)||void 0}function KC(e){if(Ro(e.mediaVideo)){if(ml(e)==="frame")return Ro(e.videoFrame)?void 0:Ro(e.poster)?"frame-missing-image":"frame-missing-surface";if(!Ro(e.poster))return Ro(e.videoFrame)?"image-missing-frame":"image-missing-surface"}}var ed="videoFrames",Dh="videoFramesNotOwn";function VC(e,o,t){let a=Ro(e.mediaVideo);if(!a||!o||ml(e)!=="frame"||Ro(e.videoFrame))return;let r=o[a],n=!!Ro(e.poster);if(r?.state==="ready")return null;if(n)return!r||r.state==="pending"?void 0:"image-no-frame";if(!r)return t?"save-makes-frame":void 0;switch(r.state){case"pending":return r.noted!=="save"&&t?"save-makes-frame":null;case"dark":return"starts-dark";case"outside":return"outside";case"unsupported":return"unsupported";case"failed":return"failed";default:return null}}function x6(e,o){let t=Ro(e),a=t&&o?o[t]:void 0;return a?.state==="ready"&&a.frame?a.frame:void 0}function ame(e,o,t){let a=t?.[Dh];if(!(Array.isArray(a)&&a.includes(e)))return x6(o,t?.[ed])}import{useSyncExternalStore as g6}from"react";function od(){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 g6(t,r,r)}}}var Me="SiteHeader",Re="SiteFooter",Nh="sections",lme=[Me,Re],Ln=e=>e===Me||e===Re,qC=e=>`${e}:${Nh}`;function YC(e,o,t=[]){return{type:e,props:{id:o,[Nh]:t}}}var I6=new Set(["Footer",Me,Re]);function Fn(e){let o=new Set,t=!1,a=e.filter(r=>{let n=r?.type??"";return n==="Header"?(t=!0,!1):I6.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?a:e}function td(e,o){return e.some(t=>t?.type===o.type)?e:o.type===Me?[o,...e]:[...e,o]}var XC={[Me]:{max:3,takes:["Flex","Ticker"]},[Re]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function JC(e,o,t){if(!Ln(e))return!0;let a=XC[e];return t<a.max&&a.takes.includes(o)}function ZC(e,o){let t=o,a=t?.props?.id;if(a==null)return null;let r=e?.content;if(!Array.isArray(r))return null;for(let n of r){if(!Ln(n?.type))continue;let s=n.props?.[Nh];if(!Array.isArray(s)||!s.some(c=>c?.props?.id===a))continue;let l=XC[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 b6}from"efficient-easel/draw";function hl(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function ad(e,o,t){let a=hl(t?.zone),r=a?b6(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}import{isNode as y6}from"efficient-easel/data";var QC="Footer",ek=[Me,QC,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},Bn=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},ok=e=>hl(e)?.ownerId??"";function tk(e){let o=Fn(wr(e)),t=o.some(a=>a?.type===Re);return o.filter(a=>a?.type===Me||a?.type===Re||a?.type===QC&&!t)}function rd(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(y6(r)){let n=Bn(r);n&&t.add(n)}for(let n of Object.values(r))a(n)}};if(a(e),o){let r=!0,n=new Set;for(;r;){r=!1;for(let[s,l]of Object.entries(o))n.has(s)||!t.has(ok(s))||(n.add(s),a(l),r=!0)}}return t}function ak(e,o){let t=wr(e).filter(a=>{let r=Bn(a);return typeof a?.type=="string"&&ek.includes(a.type)||r!==void 0&&o(r)});return t.length?rd(t,La(e)):new Set}function Mh(e,o){let t={},a={};for(let[r,n]of Object.entries(e??{}))(o.has(ok(r))?t:a)[r]=n;return{owned:t,rest:a}}function rk(e,o){if(!o)return e;let t=tk(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}=Mh(La(o),rd(t,La(o)));return Object.keys(s).length&&(n.zones={...La(e)??{},...s}),n}function Hh(e,o){if(!o)return{page:e,chrome:null};let t=tk(o),a=new Set(t.map(Bn).filter(v=>!!v)),r=[],n=[];for(let v of wr(e)){let b=Bn(v);b&&a.has(b)||Ln(v?.type)?n.push(v):r.push(v)}let s=new Map(n.map(v=>[Bn(v),v])),l=new Set,c=Fn(wr(o)).flatMap(v=>{let b=Bn(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)||c.some(b=>b?.type===v.type)||(c=v.type===Me?[v,...c]:[...c,v]);c=Fn(c);let d=c.length===wr(o).length&&c.every((v,b)=>v===wr(o)[b]),f=La(e),u=rd(c,f),{owned:p,rest:x}=Mh(f,u),g=Mh(La(o),rd(t,La(o))).owned,I={...o,content:d?o.content:[...c]},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&&S6(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 S6(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 nk(e,o){return t=>e(t)||t!==void 0&&ek.includes(t)&&o()}var sk=null;function Wh(e){sk=e}function yt(){return sk}var lk=null;function Gh(e){lk=e}function nd(){return lk}var $h=od();function ik(e,o,t){if(!o)return;let a={...$h.get(e)};for(let[r,n]of Object.entries(o))a[r]={...n,noted:t};$h.set(e,a)}function ck(e,o){ik(e,o,"load")}function dk(e,o){ik(e,o,"save")}function sd(e){return $h.use(e)}var zh=e=>!!yt()?.sectionOf(e);function fk(e,o=zh){return ak(e,o)}function pk(e,o,t,a=zh){if(t)return e&&fk(o,a).has(e)?void 0:t}function uk(e,o,t=zh){if(!e)return{};let a=[...fk(o,t)];return a.length?{[ed]:e,[Dh]:a}:{[ed]:e}}import{ScreenDocumentContext as $U}from"efficient-easel/screen/components/ScreenDocumentContext";import{readHidable as Va,hidableText as zU}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as D0,LINK_FIELD_MARKER as UU,MEDIA_FIELD_MARKER as jU,SCAFFOLD_FIELD_MARKER as KU,TEXT_FIELD_MARKER as pa,foldMetaOf as ha,textFieldIdentifier as nve}from"efficient-easel/draw";import{jsx as yk}from"react/jsx-runtime";import{useCallback as C6}from"react";import{useEasel as k6}from"efficient-easel/easel";import{SettingsAction as T6}from"efficient-easel/panel";import{CORNER_SIDES as ld,hasCornerSubset as xl,normalizeCornerSides as $t}from"efficient-easel/screen/lib/content/style-keys";function Uh(e){return typeof e=="number"&&Number.isFinite(e)}function vme(e,o){if(!Uh(e))return;let t=Sc(Mt(e));if(Object.keys(t).length===0)return;let a=t[jh];if(typeof a!="string")return t;let r=xl(o)?vr(a,$t(o)??[]):a;return{...t,[w6]:r}}var w6="--sf-section-radius",jh="--sf-card-radius";function vr(e,o){return ld.map(t=>o.includes(t)?e:"0").join(" ")}var mk=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var v6="--sf-card-box-radius";function Kh(e){return typeof e=="number"&&Number.isFinite(e)}function Pme(e,o){if(!Kh(e))return;let t=Sc(Mt(e))[jh];if(typeof t!="string")return;let a=xl(o)?vr(t,$t(o)??[]):t;return{[v6]:a}}function hk(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 xk(e,o,t){let a=ad(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,c=l?.props?.id?String(l.props.id):"",d=Math.max(n.length-1,0);return!a||!c?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:d}:Kh(l?.props?.cardCorners)?{can:!0,others:d,zone:a.zone,index:a.index,data:{...a.item,props:{...a.item.props,[r]:hk(n,c)}}}:{can:!1,reason:"unset",others:d}}function gk(e){return e.can?Po("Gives the other card this card's Corners.","Gives the other {n} cards this card's Corners.",e.others):e.reason==="alone"?i("This is the only card in the section."):e.reason==="unset"?i("Set this card's corners first."):i("This card is not in a section that can share corners.")}function Ik(e){return Po("Applied to {n} card","Applied to {n} cards",e)}function bk(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as P6}from"efficient-easel/screen/lib/document/use-section-ops";var E6="apply-corners-to-siblings",O6="Apply to all cards";function _6({plan:e,onPress:o}){return yk(T6,{id:E6,label:i(O6),note:gk(e),disabled:!e.can,doneLabel:Ik(e.others),onPress:o})}function Sk(){let{appState:e,config:o}=k6(n=>n),t=P6(),a=xk(o,e.data.content??[],e.ui.itemSelector),r=C6(()=>{bk(a,t.replaceComponent)},[a,t]);return yk(_6,{plan:a,onPress:r})}import{isShown as Ak,lazyShowWhenContext as z6}from"efficient-shell/format";var Fa="product",id="recordType",wk={key:Fa,label:"Product",fields:[]},A6=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,R6=/^[a-z][A-Za-z0-9]*$/,L6=["text","date","images"],Vh=new Map,vk=0;function F6(e){if(typeof e.key!="string"||!A6.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"||!R6.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(!L6.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 Gme(e){let o=e.map(F6);for(let t of o)Vh.set(t.key,t);o.length&&(vk+=1)}function qh(){return[wk,...Vh.values()]}function B6(e){return e===Fa?wk:Vh.get(e)??null}function Yh(){return vk}function gl(e){let o=e?.[id];return typeof o!="string"?Fa:o.trim()||Fa}function Xh(e){return gl(e)===Fa}function $me(e,o){let t=B6(e)?.fields??[];return o?t.filter(a=>o.includes(a.kind)):t}var cd="product",Ck="tyre",D6=[cd,Ck];function jme(e){return D6.includes(e)}var N6="productType",M6={[cd]:"alloy-wheel",[Ck]:"tyre"},H6=["alloy-wheel","tyre"];function kk(e,o){return Xh(o)?Tk(o)??M6[e]??null:null}function Tk(e){if(!Xh(e))return null;let o=e?.[N6];return typeof o=="string"&&H6.includes(o)?o:null}function Kme(e){let o=e?.root;return Tk(o?.props)}var Jh="Main Pages",W6="Dynamic Pages",Zh="dynamic",G6="dynamic";function Cr(e){return e.kind===G6}var Qh="lightbox";function Pk(e){return e.kind===Qh}function Ek(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??Jh,rows:[a]})}if(t.length){let a=o.findIndex(r=>r.key.startsWith("system:"));o.splice(a===-1?o.length:a,0,{key:Zh,label:W6,rows:t})}return o}var dd=null,Ok=null;function $6(e,o){dd=e,Ok=o}function Zme(e){$6(e,null)}function Qme(){return dd}function Il(){return Cr({kind:Ok})||dd===cd}function ehe(e){return kk(dd??"",e)??"alloy-wheel"}function ohe(e){return Il()?gl(e):null}function ex(e,o,t){let a=!1,r={};for(let[n,s]of Object.entries(e)){if(!Ak(hh(s),o??{},t)){a=!0;continue}let l=U6(s,o?.[n],o??{},t);l!==s&&(a=!0),r[n]=l}return a?r:e}function U6(e,o,t,a){let r=e?.options;if(!Array.isArray(r))return e;let n=r.filter(s=>s?.value===o||!s?.showWhen||Ak(s.showWhen,t,a));return n.length===r.length?e:{...e,options:n}}function Rk(e,o,t,a){let r=ad(o,t,a);return{device:e,parentType:r?.item.type,parent:r?.item.props}}function _k(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 _k(t.not,o);for(let a of[t.all,t.any])if(Array.isArray(a)&&a.some(r=>_k(r,o)))return!0;return!1}function ihe(e,o={}){return z6({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>Il(),root:()=>e.appState?.data?.root?.props,...o})}var Lk=1;function j6(e){return Mt(e)}function fhe(e){let o=j6(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var Fk=1,Bk="Corners";function K6(e){return Mt(e)}function hhe(e,o){let t=K6(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:xl(o)?vr(a,$t(o)??[]):a}}import{isNodeList as V6}from"efficient-easel/data";var Dn=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],Nk="bottom-left",Nn=4,q6=Nn+1,Dk=40,Y6=30,X6=100,J6=60,Ihe=100;var ox={"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 Z6(e){let o=Dn.indexOf(bl(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function Q6(e){return 1+Z6(e).band*(q6+1)}function bhe(e){return Q6(e)+1}function bl(e){return Dn.includes(e)?e:Nk}function yhe(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-Dk,Math.min(Dk,Math.round(o)))}function She(e,o=J6){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(Y6,Math.min(X6,Math.round(t)))}function tx(e,o){let t=bl(o);return e.filter(a=>bl(a?.props?.placement)===t).length}function Mk(e){return`${ox[bl(e)]} already holds ${Nn} boxes. Move one somewhere else first.`}function Hk(e,o){let t=e.filter(a=>a?.props?.id!==o);return Dn.map(a=>{let r=tx(t,a)>=Nn,n=ox[a];return r?{value:a,label:n,disabled:!0,title:Mk(a)}:{value:a,label:n}})}function fd(e,o){let t=o===void 0?Nk:bl(o?.props?.placement);return tx(e,t)>=Nn?Mk(t):null}var pd="HeroGroup";function e3(e){return Dn.map(o=>{let t=tx(e,o);return{anchor:o,total:t,hidden:t-Nn}}).filter(o=>o.hidden>0)}function ax(e){let o=e3(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=ox[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first ${Nn}, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function Wk(e,o){let t=o;if(t?.type!==pd)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?fd(rx(e,a),t):null}function rx(e,o){let t=$k(e,o);return t&&t.ownerType===t3?t.siblings:[]}function Gk(e,o){let t=$k(e,o);return t?t.ancestorTypes.filter(a=>a===pd).length:o3}var o3=1,t3="HeroSlide";function $k(e,o){let t=(a,r,n)=>{if(r>12||!a||typeof a!="object")return null;if(V6(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,c=t(s,r+1,[...n,String(l)]);if(c)return c}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 khe(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 nx=[{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 The(e){return nx.filter(o=>e.includes(o.shape))}function Phe(e){return e==="below"}var Ehe=`linear-gradient(180deg, transparent 40%, ${Ba(.85)} 100%)`,Ohe=`linear-gradient(0deg, transparent 40%, ${Ba(.85)} 100%)`,_he=Ba(.45);var Uk=12,jk=6,a3=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"}},sx=Object.keys(na),Kk=[2,3,4,6];function lx(e,o){return sx.filter(t=>t===o||e===null||na[t].across===e)}function Vk(e){return typeof e!="string"||e===""?null:na[e]??null}function zk(e,o){return o?jk/e.acrossPhone:Uk/e.across}function ix(e){return e.ratio?nx.find(o=>o.shape===e.ratio)?.ratio??null:null}function qk(e){return[...e.lead??[],...e.desktop]}var r3="sf-wall--";function n3(e){return`${r3}${e}`}function Lhe(e){let o=na[e],t=`.${n3(e)}`,a=[],r=(l,c,d)=>`${t}:has(> :nth-child(${l}n+${c+d}):last-child) > :nth-last-child(-n+${d})`,n=(l,c,d=[])=>{let f=[],u=l.length,p=d.length;d.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 ${c};grid-row:span 1}`);return f};a.push(`${t}{grid-template-columns:repeat(${Uk},minmax(0,1fr))}`);let s=ix(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,zk(o,!1),o.lead)),a.push(`@media (max-width:${a3}px){`),a.push(`${t}{grid-template-columns:repeat(${jk},minmax(0,1fr))}`),a.push(...n(o.phone,zk(o,!0),o.leadPhone)),o.phone.length===1&&!o.leadPhone?.length){let[l,c]=o.phone[0],d=o.lead?.length??0;for(let f=1;f<o.desktop.length;f+=1)a.push(`${r(o.desktop.length,d,f)}{grid-column:span ${l};grid-row:span ${c}}`)}return a.push("}"),a.join("")}var ud=12,Yk=1,s3=3;var l3=3;function cx(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 i3(e){return cx(e,1,ud)??l3}function Dhe(e,o){return cx(e,Yk,s3)??(i3(o)===4?2:Yk)}function Nhe(e){return e==null||e===""?null:cx(e,1,ud)}var Mhe="data-sf-span";function Hhe(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(Vk(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}import{jsx as c3}from"react/jsx-runtime";import*as d3 from"efficient-easel/icons";function md(e){let o=e.replace(/(^|-)([a-z])/g,(a,r,n)=>n.toUpperCase()),t=d3[`${o}Icon`];return t?c3(t,{size:16}):null}import{jsx as Da,Fragment as u3,jsxs as aT}from"react/jsx-runtime";import{useContext as m3,useEffect as h3,useId as x3,useState as rT}from"react";import{SettingsField as g3,SettingsSwitch as I3}from"efficient-easel/panel";import{AnchorIcon as b3}from"efficient-easel/icons";import{ScreenDocumentContext as y3}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as S3}from"efficient-shell/ui";import{slugify as w3}from"efficient-shell/format";import{slugify as f3}from"efficient-shell/format";function yl(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var hd=e=>f3(yl(e));var xd="homepage";import{slugify as p3}from"efficient-shell/format";var Xk=[{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 Jk(e){return e.offersCommerce&&e.offersService?Xk:Xk.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var dx="#popup:";function Zk(e){return`${dx}${e}`}function Qk(e){return e.startsWith(dx)&&e.slice(dx.length).trim()||null}function Sl(e){return e===xd?"/":`/${e}`}function eT(e){return`/journal/${e}`}function Yhe(e){return`/wheels/${e}`}function gd(e,o){return`${Sl(e)}#${o}`}function oT(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=yl(r?.props?.anchor);if(!n)continue;let s=p3(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function Xhe(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 tT(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as v3}from"efficient-easel/draw";function nT({value:e,onChange:o,nameBox:t}){let a=v3(e).text,[r,n]=rT(!1),s=r||a.trim()!=="",l=x3();return aT(u3,{children:[Da(g3,{label:i("Add an anchor"),labelId:l,icon:Da(b3,{}),action:Da(I3,{checked:s,ariaLabelledBy:l,onChange:c=>{n(c),!c&&a!==""&&o("")}})}),s&&t(e,o),s&&Da(C3,{name:a})]})}function C3({name:e}){let o=m3(y3),t=o?.templateId?"":o?.currentSlug??"",[a,r]=rT("");h3(()=>r(Pn()||window.location.origin),[]);let n=w3(e);if(!n||!t)return null;let s=`${a}${gd(t,n)}`,l=s.replace(/^https?:\/\//,""),c=l.lastIndexOf("#");return Da("div",{className:"sf-anchor-link",children:Da(S3,{value:s,label:i("link"),size:"sm",children:aT("span",{className:"sf-anchor-link-text",children:[Da("span",{className:"sf-anchor-link-path",children:l.slice(0,c)}),Da("span",{className:"sf-anchor-link-hash",children:l.slice(c)})]})})})}import{jsx as zt,jsxs as k3}from"react/jsx-runtime";import{Fragment as T3}from"react";import{Button as Id,Tooltip as P3}from"efficient-shell/ui";function sT({status:e,statusText:o,onRefresh:t,busy:a=!1,edit:r,hint:n,spaced:s=!0,compact:l=!1,oneLine:c=!1}){return l?zt("div",{className:`sf-blogsource sf-blogsource--compact${c?" sf-blogsource--line":""}`,style:s?{marginTop:8}:void 0,children:zt(P3,{content:n,className:c?"sf-name-tip":void 0,children:zt("p",{className:"sf-blogsource-status","data-state":e,children:[o?zt(T3,{children:o},"status"):null,t?zt(Id,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:t,disabled:a,children:i("Refresh now")},"refresh"):null,r?zt(Id,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:r.onClick,children:r.label},"edit"):null].filter(Boolean).flatMap((d,f)=>f?[" \xB7 ",d]:[d])})})}):k3("div",{className:"sf-blogsource",style:s?{marginTop:9}:void 0,children:[zt("p",{className:"sf-blogsource-status","data-state":e,children:o}),t?zt(Id,{variant:"secondary",className:"sf-blogsource-action",onClick:t,disabled:a,children:i("Refresh now")}):null,r?zt(Id,{variant:"secondary",className:"sf-blogsource-action",onClick:r.onClick,children:r.label}):null,zt("p",{className:"es-field-hint",children:n})]})}import{AdjustIcon as VU,EyeIcon as qU,AnimationIcon as YU,BackgroundIcon as C0,BorderAllIcon as XU,BlockSectionIcon as JU,ColumnWidthsIcon as Sg,ColumnsIcon as N0,CornerIcon as M0,DirectionDownIcon as ZU,DirectionLeftIcon as QU,DirectionRightIcon as ej,DirectionUpIcon as oj,EditIcon as tj,GapIcon as aj,GridIcon as rj,GroundIcon as yg,HashIcon as H0,HeightIcon as nj,ImageIcon as sj,ListIcon as lj,LocationIcon as k0,PaddingBottomIcon as W0,PaddingLeftIcon as G0,PaddingRightIcon as $0,PaddingTopIcon as z0,PageIcon as ij,StickyIcon as cj,SearchIcon as dj,SquareIcon as fj,TypeIcon as pj,WidthIcon as uj}from"efficient-easel/icons";import{jsx as ze,Fragment as kr,jsxs as Tr}from"react/jsx-runtime";import{CaptionIcon as E3,DateIcon as O3,FlagIcon as _3,TitleIcon as A3,ButtonIcon as R3,DollarIcon as L3,HashIcon as F3,LinkIcon as B3,NoteIcon as D3,TagIcon as N3,TextLinesIcon as M3}from"efficient-easel/icons";var lT={body:M3,button:R3,link:B3,label:N3,number:F3,price:L3,note:D3,name:_3,date:O3,caption:E3,title:A3},iT={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 fx({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=lT[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:iT[e]})}var gxe=Object.keys(lT);var Ixe=Object.keys(iT);import{parseHexColor as Y3}from"efficient-shell/format";import{parseHexColor as xT}from"efficient-shell/format";import{COLOR_SLOTS as gT,FILL_COLOR_SLOTS as V3,colorRole as q3,fillColorRole as IT}from"efficient-shell/markup";import{parseHexColor as fT}from"efficient-shell/format";import{FILL_COLOR_SLOTS as U3}from"efficient-shell/markup";import{parseHexColor as H3}from"efficient-shell/format";var wl=[{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}],W3=wl.filter(e=>e.ink);function cT(e){let o={color:e.fg};for(let{role:t,token:a}of W3)o[a]=e[t];return o}var G3={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},px=Object.freeze(cT(G3)),$3={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)"},z3=Object.freeze(cT($3));function wxe(e,o){let t=e?H3(e):null;return t?lw(t,o)?px:z3:null}var bd=e=>{let o=wl.find(t=>t.role===e);return o?`var(${o.token})`:""},j3=e=>bd(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:bd("bg"),page:j3("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:bd("surface"),page:bd("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 ux="#9ca3af";function Mn(e,o,t){let a=Na(e);return a?{hex:fT(o[a.key]??"")??"",words:a.words(t)}:null}function pT(e,o){return U3.flatMap(t=>{let a=Mn(t,e,o);return a&&Na(t)?.ink?[{name:t,label:a.words,value:a.hex||ux}]:[]})}var K3=["main","text","background"];function uT(e){let o=new Set,t=[];return to(e).themes.forEach((a,r)=>{for(let n of K3){let s=Na(n),l=s?a[s.key]:void 0,c=typeof l=="string"&&l?fT(l):null;!s||!c||o.has(c)||(o.add(c),t.push({value:c,label:s.words(r+1)}))}}),t}function sa(e){return Na(e)?.ink??""}function Ut(e){if(typeof e!="string")return null;let o=IT(e.trim());return o?.kind==="slot"&&sa(o.slot)?o.slot:null}var mT={accent:"main",labels:"muted"};function qo(e){return Object.hasOwn(mT,e)?mT[e]:e}function Hn(e){if(!e)return"";if(e.startsWith("#"))return xT(e)===e.toLowerCase()?e:"";let o=q3(qo(e));return o?.kind==="slot"?sa(o.slot):""}function Wn(e,o=gT){return o.flatMap(t=>{let a=Na(t);return a?.ink?[{name:t,label:a.label(),value:e?.[t]||ux}]:[]})}function bT(e){let o=IT(qo(e));return o?.kind==="slot"?sa(o.slot):""}function mx(e){let o=e?.trim();return o?V3.find(t=>sa(t)===o)??null:null}function yT(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 gT){let l=sa(s);if(!l)continue;let c=l.replace(/^var\((--[\w-]+)\)$/,"$1"),d=r.getPropertyValue(c).trim();if(!d)continue;let f=hT(d);!f&&n&&(n.fillStyle="#000000",n.fillStyle=d,f=hT(String(n.fillStyle))),f&&(o[s]=f)}return o}function hT(e){let o=e.trim().toLowerCase();if(o.startsWith("#"))return xT(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 X3="#ffffff";function hx(e){return ST(e)||(J3(e)?e:X3)}function ST(e){let o=Ut(e);return o?Na(o)?.page??"":""}function J3(e){return typeof e=="string"&&Y3(e)===e.toLowerCase()||ST(e)!==""}function Mxe(e){return{"--bg":hx(e)}}import{parseHexColor as Z3}from"efficient-shell/format";import{fillColorRole as Q3}from"efficient-shell/markup";function vl(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 qxe="sf-card",Ma={min:0,max:100,step:5,fallback:0,unit:"%"},eW=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],oW="68%",Yxe={desktop:20,phone:20,side:40,sidePhone:24},Xxe="sf-box-sides";function gx(e){return typeof e=="string"&&e.trim()!==""}function Jxe(e){return gx(typeof e?.bgImage=="string"?e.bgImage:null)||No(e,Oa)!==""}function Zxe(e,o){return o||No(e,Oa)===""?e:{...e,[Oa]:""}}function Qxe(e,o){return Jc(o,No(e,Oa))?.trim()||null}function wT(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)} ${oW})`}}var yd=e=>typeof e=="string"?Z3(e.trim()):null,xx=e=>{let o=yd(e);if(o!==null||typeof e!="string")return o;let t=e.trim();return t&&!t.startsWith("#")&&bT(t)||null},Sd=e=>{if(typeof e!="string")return null;let o=Q3(qo(e.trim()));return o?.kind==="slot"?o.slot:null},tW="swatch";function ege(e,o){if(!o)return null;let t=Jc(o,No(e,tW)),a=Ut(t);return yd(t)??(a&&sa(a)||null)}var aW={tabletClass:"sf-fill-tablet",tabletVar:"--sf-fill-tablet",phoneClass:"sf-fill-phone",phoneVar:"--sf-fill-phone"};function oge(e,o,t){return vl(aW,xx(e),xx(o),xx(t))}var rW={tabletClass:"sf-wash-tablet",tabletVar:"--sf-wash-tablet",phoneClass:"sf-wash-phone",phoneVar:"--sf-wash-phone"};function tge(e){let o=wT(e.darken,e.darkenStyle);if(!o)return{className:"",style:{}};let t=(u,p)=>String(wT(u,p)?.background??"none"),a=u=>(typeof u=="number"||typeof u=="string"&&u.trim()!=="")&&Number.isFinite(Number(u))?u:void 0,r=u=>eW.some(p=>p.value===u)?u:void 0,[n,s,l,c]=[a(e.darkenTablet),r(e.darkenStyleTablet),a(e.darkenPhone),r(e.darkenStylePhone)],d=n??e.darken,f=s??e.darkenStyle;return vl(rW,String(o.background),n!==void 0||s!==void 0?t(d,f):null,l!==void 0||c!==void 0?t(l??d,c??f):null)}function age(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"},c={start:"items-start",center:"items-center",end:"items-end"};return`${l[n]} ${c[s]}`}function vT(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(Ix(a,o,0))return{type:typeof r=="string"?r:"",props:n??{}}}return null}function Ix(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>Ix(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>Ix(r,o,t+1))}function CT(e,o){let t=e?.content;return Array.isArray(t)?wd(t,o,0)??[]:[]}function wd(e,o,t){if(t>12||!e||typeof e!="object")return null;if(Array.isArray(e)){for(let r of e){let n=wd(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=wd(r,o,t+1);if(n)return[a,...n]}return null}for(let r of Object.values(e)){let n=wd(r,o,t+1);if(n)return n}return null}import{SettingsDefaultReset as ko,SettingsDrill as mj,SettingsField as ro,SettingsGroup as hj,SettingsGroupSub as vve,SettingsSegmented as xj,SettingsBorder as gj,SettingsSidesEach as Ij,SettingsSwitch as wg,borderSides as bj,borderStartEach as yj}from"efficient-easel/panel";import{ListField as Sj}from"efficient-easel/fields";import{DisplayChips as wj}from"efficient-shell/ui";import{HIDDEN_KEY as nW,hiddenInEveryView as sW,hiddenInView as bx,hiddenKeyOf as kT}from"efficient-easel/screen/lib/content/view-hide";var lW={"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"},iW={"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"},TT=e=>(e.desktop?"1":"0")+(e.tablet?"1":"0")+(e.mobile?"1":"0");function vd(e,{atSectionLine:o=!1}={}){return(o?iW:lW)[TT(e)]}var Gn=[nW,kT("tablet"),kT("mobile")];function PT(e){return{desktop:bx(e,"desktop"),tablet:bx(e,"tablet"),mobile:bx(e,"mobile")}}function Cl(e){return sW(e)}function lge(e){let o=PT(e);return["desktop","tablet","mobile"].filter(t=>o[t]).join(" ")}var cW={"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!"},dW={"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 ige(e,{atSectionLine:o=!1}={}){return(o?dW:cW)[TT(PT(e))]}function $n(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,a]of Object.entries(e))typeof a=="boolean"&&(o[t]=a);return o}function Cd(e,o){return $n(e)[o]!==!1}function yx(e,o,t){let a=$n(o)[t];return typeof a=="boolean"?a:Cd(e,t)}function ET(e){return Object.values($n(e)).some(o=>o===!1)}function OT(e){return Object.keys($n(e)).length>0}function _T(e,o,t){let a={...$n(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function AT(e,o,t){return{...$n(e),[o]:t}}function fge(e,o,t,{atSectionLine:a=!0}={}){let r=!Cd(e,t);return vd({desktop:r,tablet:r,mobile:!yx(e,o,t)},{atSectionLine:a})}import{AlignmentGrid as vj,Checkbox as Eve,ColorSwatch as Cj,CornersInput as kj,DatePicker as Ove,DateTimePicker as Tj,FOCAL_DEFAULT as _ve,IconPicker as U0,COLUMN_COUNT_MAX as T0,COLUMN_SHARE_MIN as Pj,COLUMN_SHARES_EQUAL as Ej,resolveColumnShares as j0,WidthsBar as Oj,useShellStrings as _j,IconButton as K0,InputNumber as P0,Slider as Aj,Tooltip as vg}from"efficient-shell/ui";import{backendOf as fW}from"efficient-easel/screen/lib/session";var Ue=fW,kd=e=>e.blocks;async function RT(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 Sx="Lookup busy \u2014 try again in a moment.",Td=e=>typeof e=="number"&&Number.isFinite(e);function Ige(e){return e.some(o=>{let t=o?.geocode;return t?t.pending||t.manual&&t.lat===void 0&&t.lng===void 0?!0:Td(t.lat)&&t.lat!==o.lat||Td(t.lng)&&t.lng!==o.lng:!1})}async function bge(e,o,{geocode:t=RT,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 c of e){if(!c?.geocode?.pending){s.push(c);continue}l&&a>0&&await r(a),l=!0;try{let d=await t(o(c));s.push(d?{...c,lat:d.lat,lng:d.lng,geocode:{...c.geocode,pending:!1,ok:!0,status:`Found \u2014 ${d.label.split(",").slice(0,3).join(",").trim()}`,lat:d.lat,lng:d.lng}}:{...c,geocode:{...c.geocode,pending:!1,ok:!1,status:"No match \u2014 check the address and try again."}})}catch{s.push({...c,geocode:{...c.geocode,pending:!1,ok:!1,status:Sx}})}}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 c=Td(l.lat)&&l.lat!==s.lat?l.lat:s.lat,d=Td(l.lng)&&l.lng!==s.lng?l.lng:s.lng;return c!==s.lat||d!==s.lng?{...s,lat:c,lng:d}:s})}import{jsx as Mo,jsxs as vx}from"react/jsx-runtime";import{useRef as pW}from"react";import{ColorPicker as uW,ColorPickerPanel as mW,ColorSwatch as hW,HexInput as xW,Popover as gW,Tooltip as IW,colorFill as bW,colorSwatchClasses as yW,useShellStrings as SW}from"efficient-shell/ui";import{SettingsDefaultReset as wW,SettingsField as vW}from"efficient-easel/panel";import{typedHex as wx}from"efficient-easel/pick";var LT="Not set";function CW({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,choices:l}){return Mo(TW,{value:e,onChange:o,label:i(s??t),id:a,caption:r,inherited:n,choices:l})}function kW(){let{theme:e}=xe();return uT(e)}function TW({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,choices:s}){let l=kW(),c=e?null:wx(n??""),d=r!==void 0&&(!e||wx(r)!==wx(e))?r:null,f=u=>{u!==e&&o(u)};return vx("div",{className:"sf-colour",children:[s?Mo(PW,{id:a,value:e,onChange:o,label:t,presets:l,follows:c,choices:s}):Mo(uW,{id:a,value:e,onChange:f,label:t,presets:l,fallback:c??void 0,size:"md",align:"start"}),d!==null?Mo("span",{className:"sf-colour-caption",children:d}):Mo("span",{className:"sf-colour-hexwrap",children:Mo(xW,{value:e||c||"",onChange:f,label:i("{label} hex code",{label:t}),placeholder:e||c?void 0:i(LT),className:c?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function PW({value:e,onChange:o,label:t,id:a,presets:r,follows:n,choices:s}){let l=SW().color,c=e||n||"",d=s.findIndex(p=>p.selected),f=d>=0,u=pW(d);return f&&(u.current=d),Mo(gW,{id:a,trigger:Mo("span",{"aria-hidden":"true",className:"absolute inset-0",style:bW(c)}),triggerLabel:l.swatch(t,c.toUpperCase()||l.none),triggerClassName:yW({size:"md"}),"aria-label":l.panel(t),align:"start",children:vx("div",{className:"sf-colour-window",children:[Mo("div",{role:"group","aria-label":t,className:"sf-colour-choices",children:s.map(p=>Mo(IW,{content:p.label,children:Mo(hW,{color:p.color,"aria-label":p.label,selected:p.selected,onClick:()=>{p.selected||p.onPick()}})},p.label))}),Mo(mW,{value:f?"":e,onChange:o,label:t,presets:r,fallback:(f?c:n)??void 0},u.current)]})})}function Ho({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...l}){return vx(vW,{label:e,icon:o,htmlFor:l.id,changed:t,hint:a,action:r?Mo(wW,{words:ne()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[CW({...l,label:e}),s]})}function kl({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:l,choices:c}){let d=!!t;return Mo(Ho,{label:e,icon:o,value:t,inherited:d?void 0:a,onChange:n,changed:d,onReset:s,resetTo:r,hint:l,choices:c})}import{keptByRow as Rj}from"efficient-easel/screen/lib/document/style-fields";import{jsx as EW}from"react/jsx-runtime";import{useEffect as OW,useState as _W}from"react";import{clearRangeOf as AW,markSelection as RW,useCaretEdit as LW}from"efficient-easel/copy";import{TextToolbar as FW}from"efficient-shell/ui";function BW(e,o,t){return RW(e,o,t,hv)}function FT(e,o){let t=AW(o,e.length),a=gv(e,t.start,t.end);return a.text===e?null:a}function DW(e){let[o,t]=_W(null);return OW(()=>{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(c=>c&&c.start===s&&c.end===l?c:{start:s,end:l})};return a.addEventListener("selectionchange",r),()=>a.removeEventListener("selectionchange",r)},[e]),[o,t]}function NW({target:e,value:o,onChange:t,disabled:a=!1,label:r="Formatting"}){let n=LW({target:e,onChange:t}),[s,l]=DW(e),c=p=>n(x=>{let g=BW(o,p,x);return l({start:g.selectionStart,end:g.selectionEnd}),g}),d=uv(),f={};if(s)for(let p of d)f[p.style]=xv(o,s.start,s.end,p.style);let u=a?null:FT(o,s);return EW(FW,{offered:new Set(d.map(p=>p.style)),onMark:p=>c(p),pressed:f,disabled:a,"aria-label":i(r),className:"sf-markup-bar",clear:u?{onClear:()=>n(()=>{let p=e.current,x=p&&p.ownerDocument.activeElement===p?{start:p.selectionStart??0,end:p.selectionEnd??0}:null,g=FT(o,x)??{text:o,selectionStart:x?.start??0,selectionEnd:x?.end??0};return l({start:g.selectionStart,end:g.selectionEnd}),g})}:void 0})}var Cx=NW;import{deviceField as Kt}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as Lj,NoControlMark as Fj,noControlField as V0}from"efficient-easel/screen/lib/document/panel-no-control-mark";var kx="__ownBox";function BT(e){return!!e&&typeof e=="object"&&e[kx]===!0}var Tx="sfPanelOnly";function zn(e){return!!e&&typeof e=="object"&&e[Tx]===!0}function Pd(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var Ed=void 0;import{phoneKey as fa,tabletKey as Zn}from"efficient-easel/draw";import{jsx as Ex,Fragment as WW}from"react/jsx-runtime";import{createContext as GW,useContext as $W}from"react";var Od={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},_d={Events:["posts"],SubscribeBlogs:["posts"]};var MW=["anchor"],HW=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function Tl(e){return MW.includes(e)||HW.test(e)}var Px={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"}}};Px.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var Uge=Object.fromEntries(Object.entries(Od).map(([e,o])=>[e,Object.keys(o)])),jge=Object.fromEntries(Object.entries(_d).map(([e,o])=>[e,[...o]]));import{NoControlMark as zW}from"efficient-easel/screen/lib/document/panel-no-control-mark";var DT=GW(!1);function NT({children:e}){return Ex(DT.Provider,{value:!0,children:e})}function UW(){return $W(DT)}function MT({name:e,children:o}){return!UW()||!e||!jW(e)||Tl(e)?Ex(WW,{children:o}):Ex(zW,{})}function jW(e){return/^[A-Za-z0-9_$]+$/u.test(e)}var Ox="off",WT="none",_x=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],GT=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function Qge(e){return mo(_x,Ox,e)}var HT="sf-card-index",Pl="sf-card-index",eIe="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",KW={plain:`counter(${Pl})`,padded:`counter(${Pl}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Pl}, decimal-leading-zero)`};function oIe(e,o){return o==="off"?"":`.${e}{counter-reset:${Pl}}.${e} .${HT}{counter-increment:${Pl}}.${e} .${HT}::before{content:${KW[o]}}`}function tIe(e){return e==="hairline"?"border border-line hover:border-accent":""}var $T=[{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 Bj}from"efficient-easel/draw";import{jsx as Wo}from"react/jsx-runtime";import{SettingsDefaultReset as eG,SettingsField as Ax}from"efficient-easel/panel";import{useSelectedHost as oG}from"efficient-easel/easel";import{FOCAL_DEFAULT as tG}from"efficient-shell/format";import{ImageIcon as Rx,PlayIcon as UT}from"efficient-easel/icons";import{ImageFocusPoint as aG,MediaUploadField as rG}from"efficient-shell/ui";import{useContext as nG}from"react";import{ScreenDocumentContext as sG}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as lG,tabletKey as jT}from"efficient-easel/draw";import{usePreviewDevice as iG}from"efficient-easel/draw/client";import{formatFocal as VW,parseFocal as qW}from"efficient-shell/format";var YW="sf-focus-phone",XW="--sf-focus-phone",JW="sf-focus-tablet",ZW="--sf-focus-tablet",El=e=>{if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return null;let{x:o,y:t}=qW(e);return VW(o,t)};function zT(e,o){return vl(QW,null,El(o),El(e))}var QW={tabletClass:JW,tabletVar:ZW,phoneClass:YW,phoneVar:XW};import{shownTier as Lx}from"efficient-easel/screen/lib/document/device-fields";import{onDesktopWords as cG}from"efficient-easel/screen/lib/document/box-fields";import{requestMediaPick as dG}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as fG}from"efficient-easel/screen/lib/host";import{useEaselSession as pG}from"efficient-easel/screen/lib/session-context";function uG(e,o,t,a=!0){let r=Lx(t),n=typeof e[o]=="string"&&e[o]?String(e[o]):tG;if(r==="desktop")return{ownView:!1,followed:n,followsView:"desktop",own:void 0,focus:n,key:o};let s=r==="tablet"?jT(o):lG(o),l=El(e[s])??void 0,c=r==="mobile"&&a?El(e[jT(o)])??void 0:void 0,d=c??n;return{ownView:!0,followed:d,followsView:c?"tablet":"desktop",own:l,focus:l??d,key:s}}function mG(e,o,t){let a=oG();if(!o||!a)return null;let r=a.values??{};if(t&&!t(r,Lx(e)))return null;let n=uG(r,o,e,t?t(r,"tablet"):!0),s=a.onChange;return{...n,set:l=>s(n.key,l),clear:()=>s(n.key,Ed)}}function KT({value:e,onChange:o,label:t,accept:a,placeholder:r,focusKey:n,focusWhen:s,frameKey:l,fieldKey:c}){let d=fG(),f=pG(),u=i(t),p=iG(),x=a.startsWith("video"),g=mG(p,x?void 0:n,s),I=!!n&&Lx(p)!=="desktop",k=nG(sG),S=Ol(),v=l&&c?{video:c,frame:l}:null,b=P=>dG(d,{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=Ro(e);if(I&&(!g||!T))return null;if(k&&!k.capabilities.mediaEditing)return Wo(Ax,{label:u,icon:x?Wo(UT,{}):Wo(Rx,{}),children:Wo("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?Wo(eG,{words:ne()?.panel,label:i("Image focus"),changed:!!g.own,detail:cG(P=>i(P),g.followed,g.followsView),onReset:g.clear}):void 0;return I&&g?Wo(Ax,{label:u,icon:Wo(Rx,{}),action:F,children:Wo("div",{style:{flex:"1 1 auto",minWidth:0},children:Wo(aG,{value:g.focus,onChange:g.set,label:i("Image focus"),image:T,hint:null})})}):Wo(Ax,{label:u,icon:x?Wo(UT,{}):Wo(Rx,{}),children:Wo("div",{style:{flex:"1 1 auto",minWidth:0},children:Wo(rG,{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 VT}from"react/jsx-runtime";import{useId as hG}from"react";import{FieldSelect as xG}from"efficient-easel/fields";import{SettingsField as gG}from"efficient-easel/panel";function IG(e){return e.map(({value:o,label:t,note:a})=>({value:o,label:t,...a?{meta:a}:{}}))}function qT({label:e,options:o,value:t,onChange:a,emptyLabel:r,icon:n,hint:s}){let l=hG(),c=`${l}-label`,d=`${l}-button`,f=Array.isArray(t)?t:[];return VT(gG,{label:i(e),labelId:c,icon:n,hint:s,children:VT(xG,{id:d,multiple:!0,value:f,options:IG(o),onChange:a,placeholder:r===void 0?i("None"):i(r),ariaLabelledBy:`${c} ${d}`,inline:!0})})}import{jsx as ao,jsxs as Er,Fragment as YG}from"react/jsx-runtime";import{useCallback as cP,useContext as XG,useId as pP,useRef as dP,useState as fP}from"react";import{ThemeIcon as JG}from"efficient-easel/icons";import{Button as ZG,useClickOutside as QG}from"efficient-shell/ui";import{SettingsField as e$}from"efficient-easel/panel";import{ScreenDocumentContext as o$}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as fe,jsxs as Wa,Fragment as PG}from"react/jsx-runtime";import{parseHexColor as EG}from"efficient-shell/format";import{Button as Bx,IconButton as OG,Tooltip as _G}from"efficient-shell/ui";import{jsx as Ha,jsxs as bG}from"react/jsx-runtime";import{AccentIcon as yG}from"efficient-easel/icons";import{Button as SG,Tooltip as wG}from"efficient-shell/ui";function Fx(e){return Bo(e).background}function vG(e){let o=Ca(e.accent,Fx(e));return o===null?null:{ratio:o,grade:vn(o)}}function CG(e){let o=Fx(e),t=Ca(e.accent,o);return t===null?[]:iw(e.accent).filter(a=>{let r=Ca(a,o);return r!==null&&r>t&&vn(r)==="good"})}var kG={good:"Easy to read","large-only":wn["large-only"],hard:wn.hard};function YT({value:e,onChange:o}){let t=vG(e),a=t?.grade,r=t&&t.grade!=="good"?CG(e):[];return Ha(Ho,{label:i("Main color"),icon:Ha(yG,{}),hint:t?i(kG[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:bG("div",{className:"sf-readability",children:[Ha("p",{className:"sf-readability-advice",children:TG(a,!0)}),Ha("div",{className:"sf-readability-suggestions",children:r.map(n=>{let s=Ca(n,Fx(e));return Ha(wG,{content:i("Use {colour}",{colour:n.toUpperCase()}),children:Ha(SG,{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 TG(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 AG,ChevronDownIcon as JT,ChevronUpIcon as RG,GroundIcon as LG,LayoutIcon as FG,SquareIcon as BG,TextSmallIcon as DG,TypeIcon as XT}from"efficient-easel/icons";var _l=e=>i("Theme {n}",{n:e+1});function ZT({colors:e}){let o=Bo(e),t=qs(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:ym(e,o.accent)},children:i("button")}),fe("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:i("card")})]})]})}var Dx={"Text color":fe(XT,{}),"Label color":fe(DG,{}),Background:fe(LG,{}),"Panels & cards":fe(FG,{}),Borders:fe(BG,{}),"Button color":fe(AG,{}),"Button text color":fe(XT,{})};function NG({label:e,colorKey:o,value:t,onChange:a,idPrefix:r="sf-theme-ink"}){let n=`${r}-${o}`;return fe(Ho,{label:i(e),icon:Dx[e],id:n,value:t,onChange:s=>a(o,s)})}function MG({value:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button`,n=e!==void 0&&EG(e)===e.toLowerCase(),s=n?e:o;return fe(Ho,{label:i("Button color"),icon:Dx["Button color"],id:r,value:s,caption:n?s:i("Main"),onChange:t})}function HG({colors:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button-ink`,n=cw(e),s=ym(e,o),l=qs(e)??o,c=vn(Ca(s,l)??0);return fe(Ho,{label:i("Button text color"),icon:Dx["Button text color"],hint:n&&c!=="good"?i("{grade} on the button",{grade:i(wn[c])}):void 0,id:r,value:s,caption:n?s:i("Auto"),onChange:t})}var WG=[{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 Nx({colors:e,onChange:o,idPrefix:t}){let a=Bo(e);return fe(PG,{children:WG.map(r=>"colour"in r?fe(YT,{value:e,onChange:o},"colour"):"moduleBreak"in r?fe("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in r?fe(MG,{value:e.button,accent:a.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in r?fe(HG,{colors:e,accent:a.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):fe(NG,{label:r.label,colorKey:r.key,value:a[r.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},r.key))})}function Ad({index:e,colors:o,selected:t,role:a="radio",open:r,editable:n=!0,onPick:s,onEdit:l,onChangeColors:c}){let d=Bo(o),f=_l(e),u=e<bm.length&&!o.brandInk?bm[e]:null,p=vn(Ca(d.text,d.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(ZT,{colors:o})}),Wa("div",{className:"sf-theme-foot",children:[fe("span",{className:"sf-theme-name",children:f}),p!=="good"&&fe("span",{className:"sf-theme-warn",children:i(wn[p])}),n&&l&&g&&fe("span",{className:"sf-theme-edit",children:fe(_G,{content:r?i("Collapse"):i("Edit colors"),children:fe(OG,{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(RG,{size:14}):fe(JT,{size:14})})})}),n&&l&&!g&&fe(Bx,{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(Nx,{colors:o,onChange:I=>c?.(I)}),u&&fe(Bx,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!x,onClick:()=>c?.({...u}),children:x?i("Reset {name} to the preset",{name:f}):i("Not changed")})]})]})}function QT({colors:e,name:o,nameId:t,open:a,menuId:r,labelId:n,buttonRef:s,onClick:l,onKeyDown:c,onEdit:d}){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:c,children:e?fe(ZT,{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}),d&&fe(Bx,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:o}),onClick:d,children:i("Edit")}),fe("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:l,children:fe(JT,{size:12,className:"sf-multi-caret","aria-hidden":"true"})})]})]})}import{useCallback as zx,useEffect as rP,useRef as Bd}from"react";import{currentEaselSession as zG}from"efficient-easel/screen/lib/session";import{useEaselSession as UG}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as GG}from"react";var oP,Mx=null,Pr=null,Rd=0,Hx=new Set;function Wx(e){oP=e;for(let o of Hx)o()}function Gx(e){Mx=e,Rd+=1,Pr&&clearTimeout(Pr),Pr=null,Wx(void 0)}function Ld(e){Rd+=1,Wx(e)}function la(e=250){Mx&&(Pr&&clearTimeout(Pr),Pr=setTimeout(()=>{Pr=null;let o=Mx;if(!o)return;let t=++Rd;o().then(a=>{t===Rd&&Wx(a)}).catch(()=>{})},e))}function eP(){return oP}function $G(e){return Hx.add(e),()=>{Hx.delete(e)}}function Fd(){return GG($G,eP,eP)}var $x=new Set;function tP(e){return $x.add(e),()=>{$x.delete(e)}}async function aP(){let e=(await Promise.allSettled([...$x].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as jG}from"efficient-easel/screen/lib/backend-error";function nP(e=zG()){return(o,t,a)=>{let r=Ue(e).theme;return r?r.update(o,a?{siteId:a}:void 0):Promise.reject(new jG("invalid","This backend stores no site theme."))}}function sP(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function KG(e,o=nP()){let{themeFromDocument:t,token:a,siteId:r,patch:n}=e,s=sP({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 Un({themeFromDocument:e,tokenRef:o,siteId:t,onResult:a}){let r=Bd(null),n=Bd({}),s=UG(),l=Bd(a);l.current=a;let c=Bd(null),d=zx(p=>{if(p.status==="skipped"){let x=`skipped:${p.reason}`;if(c.current===x)return;c.current=x}else c.current=null;l.current?.(p)},[]),f=zx(async()=>{r.current&&(clearTimeout(r.current),r.current=null);let p=n.current;n.current={};let x=await KG({themeFromDocument:e,token:o?.current,siteId:t,patch:p},nP(s));return d(x),x.status==="saved"&&la(),x.status==="failed"&&(n.current={...p,...n.current}),x},[e,o,t,d,s]),u=zx((p,x=!1)=>{let g=sP({themeFromDocument:e,token:o?.current});if(g){d(g);return}n.current={...n.current,...p},r.current&&clearTimeout(r.current),x?f():r.current=setTimeout(()=>{f()},500)},[e,o,f,d]);return rP(()=>()=>{f()},[f]),rP(()=>tP(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,VG="sf-section-accent",lP="Color",iP=new Set(["CategoryBar","DocTabs"]),dbe=new Set(["Flex"]),Ux=0;function St(e){return e===ot?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Ux}function jx(e){return e??ot}function qG(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 wl)t[`--sf-sec-${a}`]=`var(${o}-${a}, var(--theme-${a}))`;return t}function fbe(e){let o=St(e.sectionAccent);return o===null?null:{className:VG,style:qG(o)}}var t$="Follow the page",kbe="Follow the slideshow",a$=e=>i("Editing {name} changes it everywhere.",{name:e});function r$({colors:e}){if(!e)return ao("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=Bo(e);return Er("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[ao("i",{style:{background:o.background}}),ao("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function n$({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(YG,{children:[Er("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(ot),children:[ao(r$,{}),ao("span",{className:"sf-secttheme-name",children:i(n)})]}),ao("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&ao("p",{className:"sf-secttheme-oncard",role:"presentation",children:i("{name} is on this section",{name:_l(o)})}),e.map((s,l)=>l===o?null:ao(Ad,{role:"option",index:l,colors:s,selected:!1,onPick:()=>t(l),onEdit:()=>a(l)},l))]})}function s$({index:e,colors:o,onChange:t,onDone:a}){let r=_l(e),n=pP();return Er("div",{className:"sf-secttheme-sheet",children:[Er("div",{className:"sf-secttheme-sheet-head",children:[ao("span",{children:r}),ao(ZG,{variant:"secondary",className:"sf-secttheme-done",onClick:a,children:i("Done")})]}),ao("div",{className:"sf-secttheme-rows",children:ao(Nx,{colors:o,onChange:t,idPrefix:n})}),ao("p",{className:"sf-secttheme-warn",children:a$(r)})]})}function uP({value:e,onChange:o,followLabel:t,hint:a}){let{theme:r,setTheme:n}=xe(),s=to(r),l=XG(o$),c=l?.tokenRef,d=l?.siteId??null,f=!l?.capabilities?.hasSiteTheme,{persist:u,flush:p}=Un({themeFromDocument:f,tokenRef:c,siteId:d}),x=to(s),g=x.themes,I=St(e),k=I!==null?g[I]:void 0,S=k??(g.length?Sn(x):void 0),[v,b]=fP(!1),[C,T]=fP(null),F=dP(null),P=dP(null),D=pP(),O=cP(()=>{b(!1),T(null)},[]),R=cP(()=>{!v&&C===null||(p(),O())},[v,C,O,p]);QG(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:[ao(e$,{label:i("Theme"),icon:ao(JG,{}),labelId:`${D}-label`,hint:a,children:ao(QT,{colors:S,onEdit:I!==null?()=>{T(I),b(!1)}:void 0,name:k?_l(I):i(t??t$),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&&ao("div",{onKeyDown:A=>{A.key==="Escape"&&(A.preventDefault(),O(),P.current?.focus())},children:ao(n$,{themes:g,value:I,onPick:N,onEdit:A=>{T(A),b(!1)},menuId:D,followLabel:t})}),C!==null&&g[C]&&ao(s$,{index:C,colors:g[C],onChange:y,onDone:()=>{p(),O(),P.current?.focus()}})]})}import{jsx as mP}from"react/jsx-runtime";import{useId as l$}from"react";import{FieldSelect as i$}from"efficient-easel/fields";import{SettingsField as c$}from"efficient-easel/panel";function d$(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 Rbe({label:e,options:o,fallback:t,value:a,onChange:r,placeholder:n,bare:s=!1,icon:l}){let c=l$(),d=`${c}-label`,f=`${c}-button`,u=a??"",p=o.some(k=>k.value===u)?u:t,x=i(e),g=n===void 0?void 0:i(n),I=mP(i$,{id:f,value:p,options:d$(o),onChange:r,placeholder:g,searchPlaceholder:g,...s?{ariaLabel:x}:{ariaLabelledBy:`${d} ${f}`},searchable:!0,groupCount:!0,inline:!0});return s?I:mP(c$,{label:x,labelId:d,icon:l,children:I})}import{jsx as _r,jsxs as z$}from"react/jsx-runtime";import{SettingsField as NP}from"efficient-easel/panel";import{LinkIcon as U$}from"efficient-easel/icons";import{LinkPicker as j$,TextLinkField as K$}from"efficient-shell/ui";import{useEffect as DP,useMemo as Wd,useRef as V$,useState as Hd}from"react";import{currentEaselSession as f$}from"efficient-easel/screen/lib/session";function hP(){return f$().auth.token}import{currentEaselSession as q$}from"efficient-easel/screen/lib/session";import{useScreenDocument as Y$}from"efficient-easel/screen/components/ScreenDocumentContext";var p$=()=>({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 xP(e,o,t){if(!e)return"page";if(Qk(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(tT(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 Kx(e,o){let t=p$(),a=e.pages.map(f=>({value:Sl(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:oT(...f.docs).map(u=>({value:gd(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:eT(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:Zk(u.slug),label:u.title||u.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},c=Jk(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:c,rules:{kindOf:f=>xP(f,n),targetOf:f=>f,readFilter:()=>null,withFilter:f=>f}};let d=f=>{let u=o.withFilter(f,null);return o.listingPaths.includes(u)?u:f};return{kinds:c,rules:{kindOf:f=>xP(f,n,{listingPaths:o.listingPaths,targetOf:d}),targetOf:d,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:f=>o.listingPaths.includes(f)?o.filtersFor(f):null}}import{useEaselSession as X$}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 gP(e,o){return j(e)??o}function ia(e,o){return typeof e=="boolean"?e:o}function Dd(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 bP=["delay","scroll","exit"],yP=["all","chosen","except"],SP=["visit","days","never","once"],u$=["all","desktop","phone"],m$=["stop","continue"],wP={min:0,max:60},vP={min:10,max:90},CP={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 jn(e,o,t){let a=gP(e,t);return Math.min(o.max,Math.max(o.min,Math.round(a)))}function h$(e){return typeof e.hideAfter=="string"?Yo(SP,e.hideAfter,wt.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":wt.hideAfter}function x$(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function IP(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function kP(e){let o=e??{},t=wt;return{autoOpen:ia(o.autoOpen,t.autoOpen),trigger:Yo(bP,o.trigger,t.trigger),autoOpenDelaySec:jn(o.autoOpenDelaySec,wP,t.autoOpenDelaySec),scrollPercent:jn(o.scrollPercent,vP,t.scrollPercent),showOn:Yo(yP,o.showOn,t.showOn),showOnPages:x$(o.showOnPages),devices:Yo(u$,o.devices,t.devices),hideAfter:h$(o),hideDays:jn(o.hideDays,CP,t.hideDays),afterSubmit:Yo(m$,o.afterSubmit,t.afterSubmit),startDate:IP(o.startDate),endDate:IP(o.endDate)}}import{parseHexColor as g$}from"efficient-shell/format";var vt="#000000";var Vx="popup",I$=Dn,b$=["auto","full"],y$=["inside","outside","none"],S$={min:240,max:1440},w$={min:0,max:100},Al={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:vt,tintOpacity:60,outsideClick:!0,closeButton:"inside"};function v$(e,o){let t=typeof e=="string"?e.trim():"";return t&&g$(t)===t.toLowerCase()?t:o}function qx(e,o=Al){let t=e??{},a=o;return{placement:Yo(I$,t.placement,a.placement),fullWidth:ia(t.fullWidth,a.fullWidth),width:jn(t.width,S$,a.width),height:Yo(b$,t.height,a.height),tintColor:v$(t.tintColor,a.tintColor),tintOpacity:jn(t.tintOpacity,w$,a.tintOpacity),outsideClick:ia(t.outsideClick,a.outsideClick),closeButton:Yo(y$,t.closeButton,a.closeButton)}}var TP="cart-drawer",eye="cart-drawer",C$={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 oye(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function tye(e){let o=e??{},t=C$;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:Dd(o.promises,t.promises),emptyKicker:ho(o.emptyKicker,t.emptyKicker),emptyBody:ho(o.emptyBody,t.emptyBody)}}var k$=["right","left"],T$={...Al,width:520,tintOpacity:68};function aye(e){let o=e??{};return{...qx(o,T$),placement:Yo(k$,o.placement,"right"),height:"full",fullWidth:!1,autoOpen:ia(o.autoOpen,!0)}}var EP="consent-banner",lye="consent-banner";var P$=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],iye="Layout",PP={layout:"bar"},E$=e=>P$.some(o=>o.value===e);function cye(e){let o=ho((e??{}).layout,PP.layout);return{layout:E$(o)?o:PP.layout}}var dye={...Al,placement:"bottom-center",fullWidth:!0,width:440,tintOpacity:0,outsideClick:!1,closeButton:"none"};var O$="consentWords",_$=["eyebrow","notice","accept","reject","choose"];function Yx(e){let o=(e??{})[O$];return typeof o=="string"&&_$.includes(o)?o:null}function Xx(e){let o=e?.props;return o?Yx(o)!==null?!0:Object.values(o).some(t=>Array.isArray(t)&&t.some(a=>a&&typeof a=="object"&&"props"in a&&Xx(a))):!1}var A$=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],uye={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"},R$={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"},mye={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 OP(e){let o={};for(let t of A$){let a=Qt(e[R$[t]]);a&&(o[t]=a)}return o}var _P={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},L$={lead:"We accept"},Md={...L$,methods:[],size:"sm",align:"start",dataSource:Xw},Ct="site-footer";var gye=Ct,Iye={desktop:!0,tablet:!0,mobile:!0},bye={desktop:!1,tablet:!1,mobile:!1},Jx=1,AP=6,yye=Array.from({length:AP-Jx+1},(e,o)=>Jx+o),Nd={desktop:6,tablet:3,mobile:2},F$={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),Jx),AP);function Sye(e){if(typeof e=="number")return F$[Or(e)]??{desktop:Or(e),tablet:Or(e),mobile:Or(e)};if(e&&typeof e=="object"){let o=e;return{desktop:Or(o.desktop??Nd.desktop),tablet:Or(o.tablet??Nd.tablet),mobile:Or(o.mobile??Nd.mobile)}}return{...Nd}}var Zx="subscribe-popup",Oye="subscribe-popup",B$=[Zx,Ct,TP,EP];function LP(e){return B$.includes(e)}var D$=["right","left"],N$={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,M$=ia,FP=Dd;function RP(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 H$(e,o){return Array.isArray(e)?FP(e,[]):o}function W$(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 Aye(e){let o=e??{},t=N$,a=kP(o);return{metaLabel:je(o.metaLabel,t.metaLabel),issueLabel:RP(o.issueLabel,t.issueLabel),issueNumber:RP(o.issueNumber,t.issueNumber),kicker:je(o.kicker,t.kicker),heading:je(o.heading,t.heading),deck:je(o.deck,t.deck),stats:W$(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:FP(o.interests,t.interests),frequencyLabel:je(o.frequencyLabel,t.frequencyLabel),frequencies:H$(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(D$,o.formSide,t.formSide),valuePanelOnPhone:M$(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:OP(o)}}function G$(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function $$(e){return{root:{props:{title:e,kind:Vx}},content:[],zones:{}}}function BP(e,o,t){return{slug:G$(o,t),title:e,kind:Qh,layout:$$(e)}}function Rl(e){return e?.root?.props?.kind===Vx}function MP(e){let o=new Map;return(t="")=>{let a=hP(),r=o.get(t);if(!r||r.token===null&&a!==null){let n=a||!q$().usesBridgedToken?e(a??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:a}),n}return r.promise}}var J$=MP(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}))}),Z$=MP(async(e,o)=>await Ue().blog?.posts(o?{siteId:o}:void 0)??[]);function Q$({value:e,onChange:o,label:t="Link",data:a,filters:r}){let n=Wd(()=>Kx(a,r),[a,r]),s=i(t);return _r(NP,{label:s,icon:_r(U$,{}),children:_r(j$,{value:e,onChange:l=>o(l),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function HP(){let{siteId:e,capabilities:o}=Y$(),{offersCommerce:t,hasBlog:a}=o,[r,n]=Hd([]),[s,l]=Hd([]),[c,d]=Hd([]),[f,u]=Hd(null),p=X$().chrome,x=p?.products?.list,g=p?.linkFilters,I=g?void 0:p?.linkRow,k=V$(!0);DP(()=>(k.current=!0,()=>{k.current=!1}),[]),DP(()=>{let b=!0;return J$(e??void 0).then(C=>b&&k.current&&n(C)),a&&Z$(e??void 0).then(C=>b&&k.current&&l(C)),t&&x?.().then(C=>b&&k.current&&d(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=Wd(()=>({pages:r.filter(b=>!LP(b.slug)&&!Rl(b.layout)).map(b=>({slug:b.slug,title:b.label,docs:[b.layout]})),popups:r.filter(b=>b.slug===Zx||Rl(b.layout)).map(b=>({slug:b.slug,title:b.label})),posts:a?s.map(b=>({slug:b.slug,title:b.title})):[],products:t?c.map(b=>({href:b.href,name:b.name})):[],offers:{offersCommerce:t,offersService:a}}),[r,s,c,t,a]),v=Wd(()=>f?f(S.pages):null,[f,S]);return{data:S,filters:v,pages:r,offersCommerce:t,HostLinkRow:I}}function Jye({label:e,icon:o,text:t,onTextChange:a,link:r,onLinkChange:n}){let{data:s,filters:l}=HP(),c=Wd(()=>Kx(s,l),[s,l]),d=i(e);return _r(NP,{label:d,icon:o,children:_r(K$,{label:d,text:t,onTextChange:a,link:r,onLinkChange:f=>n(f),kinds:c.kinds,rules:c.rules,filtersFor:c.filtersFor})})}function WP({value:e,onChange:o,label:t="Link"}){let a=typeof e=="string"?e:"",{data:r,filters:n,pages:s,offersCommerce:l,HostLinkRow:c}=HP(),d=r.pages.map(u=>Sl(u.slug)),f=l&&c&&(a==="/"||d.includes(a))?c:void 0;return z$("div",{children:[_r(Q$,{value:a,onChange:o,label:t,data:r,filters:n}),f&&_r(f,{value:a,onChange:o,pages:s})]})}import{UiIcon as E0}from"efficient-easel/draw/client";import{phoneKey as Ll,resolveViewValue as ez,tabletKey as Fl}from"efficient-easel/draw";import{SECTION_PAD_UNIT_KEY as oz,convertLength as tz,isLengthUnit as $P,sideLengthAt as az,withLength as Qx}from"efficient-easel/screen/lib/content/length-units";var tt={min:10,max:200,step:10};function rz(e,o,t,a=0){let r=j(e),n=j(o);if(r===void 0&&n===void 0)return;let s=Gd(t),l=c=>c===void 0?void 0:s==="px"?c:Qx(c,s,a);return{paddingTop:l(r),paddingBottom:l(n)}}var Gd=e=>$P(e)?e:"px",nz="sf-pad-top-phone",sz="sf-pad-bottom-phone",lz="--sf-pad-t-phone",iz="--sf-pad-b-phone",cz="sf-pad-left-phone",dz="sf-pad-right-phone",fz="--sf-pad-l-phone",pz="--sf-pad-r-phone",uz="sf-pad-top-tablet",mz="sf-pad-bottom-tablet",hz="sf-pad-left-tablet",xz="sf-pad-right-tablet",gz="--sf-pad-t-tablet",Iz="--sf-pad-b-tablet",bz="--sf-pad-l-tablet",yz="--sf-pad-r-tablet";function zd(e){let o={desktop:e.unit,tablet:e.unitTablet,phone:e.unitPhone},t=rz(e.top,e.bottom,e.unit,e.frame),a=eg({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 Sz=[["top","paddingTop",[uz,gz],[nz,lz]],["bottom","paddingBottom",[mz,Iz],[sz,iz]],["left","paddingLeft",[hz,bz],[cz,fz]],["right","paddingRight",[xz,yz],[dz,pz]]];function aSe(e,o,t){return!$P(o)||o==="px"?e:tz(e,"px",o,t,{min:0,max:tt.max,step:1})}function wz(e,o,t,a={},r=0){let n=(x,g)=>{if(g==="px")return`${x}px`;let I=Qx(x,g,r);return typeof I=="number"?`${I}px`:I},s={n:e,[Fl("n")]:o,[Ll("n")]:t,u:a.desktop,[Fl("u")]:a.tablet,[Ll("u")]:a.phone},l=ez("spacing",e,o,t,gr()),c=(x,g,I)=>{let k=az(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)},d=c("desktop",null,!0),f={},u=c("tablet","tablet",o!==void 0);u!==void 0&&(o!==void 0||u!==d)&&(f.tablet=u);let p=c("mobile","phone",t!==void 0);return p!==void 0&&(t!==void 0||p!==d)&&(f.phone=p),f}function eg(e,o,t={},a=e,r={},n=0){let s={},l={},c=[];for(let[d,f,...u]of Sz){let p=j(e[d]),x=d==="top"||d==="bottom"?n:0;p!==void 0&&(s[f]=Gd(r.desktop)==="px"?p:Qx(p,Gd(r.desktop),x));let g=wz(j(a[d]),j(t[d]),j(o[d]),r,x);for(let[I,[k,S]]of[["tablet",u[0]],["phone",u[1]]]){let v=g[I];v!==void 0&&(c.push(k),l[S]=v)}}return{classes:c,style:{...s,...l}}}function GP(e,o,t){let a=j(e)??t,r=j(o);return a===void 0?r:r===void 0?a:a+r}function Ud(e,o={}){return{top:GP(e.padTop,e.sectionPaddingTop,o.top),bottom:GP(e.padBottom,e.sectionPaddingBottom,o.bottom)}}var $d={top:"sectionPaddingTop",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft",right:"sectionPaddingRight"};function zP(e,o=$d,t=!0,a=o===$d?oz:void 0){let r={};a&&(e[a]!==void 0&&(r.unit=e[a]),e[Fl(a)]!==void 0&&(r.unitTablet=e[Fl(a)]),e[Ll(a)]!==void 0&&(r.unitPhone=e[Ll(a)]));for(let n of t?["top","bottom","left","right"]:["top","bottom"])r[n]=e[o[n]],r[`${n}Tablet`]=e[Fl(o[n])],r[`${n}Phone`]=e[Ll(o[n])];return r}function rSe(e){return zd(e)}function nSe(e,o){let t=(a,r)=>typeof a!="number"?void 0:Gd(r)==="px"?a+o:a;return zd({...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 jd,buttonBorderOf as vz,buttonFillOpacityOf as Cz,buttonPadSidesOf as kz}from"efficient-easel/draw";import{BUTTON_PAD_UNIT_KEY as og}from"efficient-easel/screen/lib/content/length-units";var Tz="px-6 py-4",Pz=4,Kd=e=>{let o=new RegExp(`\\bp${e}-(?:\\[(\\d+)px\\]|(\\d+))`).exec(Tz);if(!o)throw new Error(`BUTTON_PAD_CLASSES has no p${e}`);return o[1]!==void 0?Number(o[1]):Number(o[2])*Pz},uSe={top:Kd("y"),right:Kd("x"),bottom:Kd("y"),left:Kd("x")},jP="var(--btn)";function Ez(e){let o=e.variant==="ghost",t=Cz(e.buttonFillOpacity),a=vz(e.buttonBorder),r=J(e.buttonColor);return{fillOpacity:t??(o?0:100),border:{width:a?.width??1,color:a?.color??r??(o?"currentColor":jP)},changed:t!==void 0||a!==void 0}}function mSe(e){let o=Ez(e);if(!o.changed)return null;let t=J(e.buttonColor)??jP;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 Oz="var(--sf-button-radius, 0)";function hSe(e){let o=j(e.buttonCorners),t=$t(e.buttonCornerSides);if(o===void 0&&t===null)return null;let a=o===void 0?Oz:`${Math.max(0,o)}px`;return{borderRadius:t===null?a:vr(a,t)}}function xSe(e){let o=n=>kz({top:e[`${jd.top}${n}`],right:e[`${jd.right}${n}`],bottom:e[`${jd.bottom}${n}`],left:e[`${jd.left}${n}`]})??{},t={desktop:e[og],tablet:e[`${og}Tablet`],phone:e[`${og}Phone`]},{classes:a,style:r}=eg(o(""),o("Phone"),o("Tablet"),void 0,t);return Object.keys(r).length?{className:a.join(" "),style:r}:null}var UP="upper";function KP(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:c}=t,d=J(a.case)??UP;return`${l} \xB7 ${c[d]??c[UP]}`}import{usePreviewParts as Dj}from"efficient-easel/draw/client";import{encodePartId as Nj}from"efficient-easel/draw";import{DEFAULT_EASEL_STRINGS as Mj,useEaselStrings as Hj}from"efficient-easel/strings";var Vd="Stick to top",Ga={min:0,max:200,step:4,fallback:0},_z="sf-section-stick",bSe="sf-scroll-over",Az="sf-section-stick-tablet-on",Rz="sf-section-stick-tablet-off",Lz="sf-section-stick-phone-on",Fz="sf-section-stick-phone-off",tg={desktop:"--sf-stick-distance",tablet:"--sf-stick-distance-tablet",phone:"--sf-stick-distance-phone"},ySe=new Set(["CategoryBar","DocTabs","IntroBleed","Contents"]);function ag(e){let o=j(e)??Ga.fallback;return Math.min(Ga.max,Math.max(Ga.min,Math.round(o)))}function rg(e){return typeof e.stickTopTablet=="boolean"}function ng(e){return typeof e.stickTopPhone=="boolean"}function qd(e){let o=e.stickTop===!0,t=ag(e.stickTopDistance),a=rg(e),r=a?e.stickTopTablet===!0:o,n=a?ag(e.stickTopDistanceTablet):t,s=ng(e),l=s?e.stickTopPhone===!0:r,c=s?ag(e.stickTopDistancePhone):n;return{desktop:o,desktopDistance:t,tablet:r,tabletDistance:n,ownTablet:a,phone:l,phoneDistance:c,ownPhone:s}}function SSe(e){let o=qd(e);if(!o.desktop&&!o.tablet&&!o.phone)return null;let t=[_z],a={};return o.desktop&&(a[tg.desktop]=`${o.desktopDistance}px`),o.ownTablet&&(t.push(o.tablet?Az:Rz),o.tablet&&(a[tg.tablet]=`${o.tabletDistance}px`)),(o.ownPhone||o.ownTablet||o.phone!==o.desktop)&&(t.push(o.phone?Lz:Fz),o.phone&&(a[tg.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:a}}var Bz=["column","row","tabs","accordion"];var Dz={column:"Stacked",row:"One row",tabs:"Tabs",accordion:"Accordion"},VP={Flex:Bz,HeroGroup:["column","row"]},Nz={Flex:"row",HeroGroup:"column"},Mz={column:"flex-col",row:"flex-row",tabs:"flex-col",accordion:"flex-col"};function Kn(e,o){return VP[e].includes(o)?o:Nz[e]}function vSe(e,o){return Mz[Kn(e,o)]}function qP(e){return VP[e].map(o=>({label:Dz[o],value:o}))}var Hz=["solid","dashed","dotted"],XP=["top","right","bottom","left"],kSe="sf-section-border",TSe="sf-section-border-self",Wz=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,YP=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function Vn(e,{phone:o=!1,tablet:t=!1}={}){if(!e||typeof e!="object")return;let a=o?"-phone":t?"-tablet":"",r={};for(let n of XP){let s=YP(e[n])??YP(e.width);s!==void 0&&(r[`--sf-border-${n}-width${a}`]=s)}return typeof e.style=="string"&&Hz.includes(e.style)&&(r[`--sf-border-style${a}`]=e.style),typeof e.color=="string"&&Wz.test(e.color)&&(r[`--sf-border-color${a}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function sg(e){let{width:o,...t}=e;return typeof o!="number"?e:{...t,...Object.fromEntries(XP.map(a=>[a,t[a]??o]))}}function PSe(e,o,t){let a=Vn(e),r=Vn(t,{tablet:!0}),n=Vn(t,{phone:!0})||Vn(o,{phone:!0})?{...Vn(t,{phone:!0}),...Vn(o,{phone:!0})}:void 0;return a||r||n?{...a,...r,...n}:void 0}var Yd="sf.gapContainer",ca={min:-32,max:64,step:2},e0={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},qn={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},Gz=new Set(["Events","GalleryB"]);function Rr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=ca.min)return o;if(typeof o=="string"){let a=e0[e]?.[o];if(typeof a=="number")return a}return typeof t=="number"&&Number.isFinite(t)?t:qn[e]}var $z="sf-gap-overlap",zz="--sf-gap-overlap",o0="--sf-block-gap",Uz="--sf-block-gap-rem",Ar={min:0,max:ca.max,step:ca.step};function Bl(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 OSe(e){let o=Bl(e);return o===null?{}:{[o0]:`${o}px`,[Uz]:`${o/16}rem`}}var jz="--sf-block-gap-phone",Kz="--sf-block-gap-phone-rem",Vz="--sf-block-gap-on-phone",qz="max-view-tablet:[--sf-block-gap-on-phone:var(--sf-block-gap-phone)]";function _Se(e){let o=Bl(e);return o===null?{}:{[jz]:`${o}px`,[Kz]:`${o/16}rem`}}function ASe(e){return Bl(e)===null?"":qz}var JP="sf-gap-zone",ZP="--sf-gap-len";function Xd(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=ca.min?!0:typeof o=="string"&&typeof e0[e]?.[o]=="number"}var QP="--sf-gap-len-phone",Yz="--sf-gap-len-tablet",Dl={min:0,max:ca.max,step:ca.step};function $a(e){return typeof e=="number"&&Number.isFinite(e)&&e>=Dl.min}function lg(e){return e/2}function ig(e,o,t){return $a(t)&&!Xd(e,o)}function cg(e,o,t,a,r){return $a(o)?o:ig(e,t,r)?r:lg(Rr(e,t,a))}var Xz={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function RSe(e,o,t,a,r){let n={...$a(a)?{[QP]:`${a}px`}:null,...$a(r)?{[Yz]:`${r}px`}:null};if(!Xd(e,o)){let l=`${qn[e]}px`,c=Gz.has(e)?`var(--sf-card-gap, ${l})`:l;return{className:` ${JP}`,style:{[ZP]:`var(${o0}, ${c})`,[QP]:`var(${Vz})`,...n}}}let s=Rr(e,o);return s>=0?{className:` ${JP}`,style:{[ZP]:`${s}px`,...n}}:{className:` ${$z} ${Xz[t]}`,style:{gap:"0px",[zz]:`${-s/2}px`}}}import{parseHexColor as Jz}from"efficient-shell/format";var Co="var(--section-bg)",Nl="inherit";function jt(e,o){return e===Nl?Co:e===void 0?o:Jd(e)}var Zz=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function Jd(e){let o=Ut(e);return o?sa(o):e.replace(Zz,"var(--site-$1")}var Qz={"var(--section-bg)":"band","var(--site-surface)":"surface","var(--site-surface-2)":"surface2"};function dg(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=Qz[r.replace(/\s+/g,"")];return(s?t[s]:t.background).toLowerCase()}var fg="transparent";function t0(e,o){let t=jt(e,o);return!t||t===fg?"none":t===Co?"band":null}function a0(e,o,t=o){let a=n=>!n||n==="transparent",r=jt(e,o);return r===t||a(r)&&a(t)}var r0=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],n0={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Yn="var(--wheel-stage)",Zd="transparent",Ml="inherit";function MSe(e,o){return Jd(pg(e,o))}function pg(e,o){return e===Ml?Yn:e==null?o:e===!0?Yn:e===!1?Zd:e}function HSe(e){return typeof e=="string"&&e!==Ml?Jd(e):Yn}function WSe(e){return e!==Zd&&e!=="none"&&e!==""}function s0(e,o){return e===Ml||e===!0?!0:e==null?o===Yn:!1}var l0="inherit",Qd="fixed",i0=e=>typeof e!="number"&&e!==Qd,eU="var(--sf-heading-max, 9999px)";function $Se(e,o,t,a){if(typeof e=="number")return`${e}px`;if(e===Qd)return o;let r=a?`var(--size-${a}, ${o})`:o;return t==="heading"?`min(${r}, ${eU})`:r}var xo={min:1e3,max:2e3,step:50,default:1600};function oU(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var c0="--sf-site-width",ug=`var(${c0},${xo.default}px)`,USe="100vw",jSe=`max-w-[${ug}]`,KSe=`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 VSe(e){let o=d0(e);return o===xo.default?{}:{[c0]:`${o}px`}}var da={min:0,max:80,step:4,default:40},f0="--sf-site-gutter",Hl={min:0,max:24,step:4},tU="--sf-site-gutter-phone",aU="max-view-tablet:[--sf-site-gutter:var(--sf-site-gutter-phone)]!",kt=`var(${f0},${da.default}px)`,rU=`px-[${kt}]`;var za={md:`min(24px,${kt})`,sm:`min(20px,${kt})`,frame:`min(24px,${kt})`,tabs:`min(16px,${kt})`},qSe=[[`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"],[rU,"px-10"]];var nU="max-view-wide:px-[min(20px,var(--sf-site-gutter,40px))]",YSe="max-view-wide:[--sf-edge-g:min(20px,var(--sf-box-g,var(--sf-site-gutter,40px)))]",XSe=`mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] ${nU}`,JSe="[--sf-box-g:var(--sf-site-gutter,40px)] [&>*]:[--sf-site-gutter:0px]";var ZSe="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 ef(e){return typeof e!="number"||!Number.isFinite(e)?da.default:Math.round(Math.min(Math.max(e,da.min),da.max))}function QSe(e){let o=ef(e);return o===da.default?{}:{[f0]:`${o}px`}}function of(e){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,Hl.min),Hl.max))}function p0(e){return typeof e=="number"&&Number.isFinite(e)?d0(e):null}function ewe(e){let o=of(e);return o===null?{}:{[tU]:`${o}px`}}function owe(e){return of(e)===null?"":aU}function tf(e){return Math.min(Hl.max,ef(e))}var u0=ug,twe=`max-w-[${u0}]`,awe=`max-w-[min(var(--sf-page-cap,${xo.default}px),${xo.default}px)]`,m0="--sf-hero-cap",sU=`var(${m0},none)`,rwe=`max-w-[${sU}]`,lU="--sf-hero-bleed-m",iU="--sf-hero-bleed-w",cU="--sf-hero-chrome-x",dU="--sf-hero-chrome-cap";function nwe(e){return e===!0?{[m0]:u0,[lU]:"auto",[iU]:"100%",[cU]:"24px",[dU]:"none"}:{}}var mg=`calc(${ug} - ${kt}*2)`,swe=`max-w-[${mg.replace(/ /g,"_")}]`;var fU="--sf-chrome-cap",pU=`var(${fU},${mg})`,lwe="data-page-width";function iwe(e){return e==="full"?"full":null}function cwe(e){return e==="full"?null:oU(e==="content"?mg:pU)}function dwe(e){if(e==="full")return"full";if(e==="content")return"content"}var uU=["page","full"],h0=["full","page"],Lr={full:"Full",page:"Content"},hg="inherit",mU=e=>typeof e=="string"&&uU.includes(e),hU=e=>e===hg;function xU(e,o){return hU(e.widthMode)?{mode:"full",inherited:!0}:mU(e.widthMode)?{mode:e.widthMode,inherited:!1}:{mode:o,inherited:o==="full"}}function uwe(e){return xU(e,"page").mode==="full"}var gU={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 mwe(e){return Object.prototype.hasOwnProperty.call(gU,e)}var co={background:"sectionBackgroundWidth",content:"sectionContentWidth",contentMax:"sectionContentMax"};function IU(e){let o=p0(e[co.contentMax]),t=Xn(e[co.content])??(o===null?null:"content");return{background:Xn(e[co.background]),content:t,contentMax:t==="content"?o:null}}function hwe(e){let o=IU(e);return o.content===null&&e.fullWidth===!0?{...o,content:"full"}:o}function xwe(e){return e.background!==null||e.content!==null}var gwe=e=>({[co.background]:e}),Iwe=e=>e==="full"?{[co.content]:e,[co.contentMax]:void 0}:{[co.content]:e},bwe=e=>({[co.content]:"content",[co.contentMax]:e}),ywe=e=>e==="background"?{[co.background]:void 0}:{[co.content]:void 0,[co.contentMax]:void 0},x0="siteWidths",bU=e=>e==="full"||e==="content";function Xn(e){return bU(e)?e:null}function g0(e,o){return{[x0]:{background:Xn(e),content:Xn(o)}}}function Swe(e){let o=e.editor?.metadata?.[x0];return{background:Xn(o?.background),content:Xn(o?.content)}}import{jsx as yU}from"react/jsx-runtime";import{createContext as SU,useContext as kwe}from"react";var wU=2,Twe=wU+1,vU=SU(2);function I0({tier:e,children:o}){return yU(vU.Provider,{value:e,children:o})}import{useEaselSession as Wj}from"efficient-easel/screen/lib/session-context";import{BOX_GAP as Gj,describedAs as Ka,group as Pt,iconOf as $l,sharedStyleKinds as zl}from"efficient-easel/screen/lib/document/box-fields";import{VIEW_KEY_ACCESS as Cg,onDesktopWords as Br,phoneTwinFields as cf}from"efficient-easel/screen/lib/document/box-fields";import{createElement as at}from"react";import{SettingsDefaultReset as CU,SettingsField as kU}from"efficient-easel/panel";import{boxFieldBuilders as TU,describedAs as PU,iconOf as EU,onDesktopWords as OU}from"efficient-easel/screen/lib/document/box-fields";import{LENGTH_UNITS as _U}from"efficient-easel/screen/lib/content/length-units";import{IconPicker as AU,Tooltip as RU,useShellStrings as LU}from"efficient-shell/ui";import{RotateIcon as FU}from"efficient-easel/icons";var b0=e=>i(e),BU=_U,go=TU(b0,{paddingUnits:BU}),Go=go.slider,Tt=go.select,af=go.Segmented,Fr=go.segmented,Dwe=go.alignmentField,Nwe=go.alignmentFields,Mwe=go.blockAlignmentField,Hwe=go.blockAlignmentFields,Wwe=go.boxJustifyField,Gwe=go.boxAlignField,$we=go.boxWrapField,y0=go.directionField,rf=go.gapField,zwe=go.placementField,Uwe=go.PlacementGridView,jwe=go.positionFields,nf=go.sidesPaddingFields;function S0(e,o){return Go("Angle",at(FU),Wt.min,Wt.max,Wt.step,e,"\xB0",o)}var DU={width:"3.5rem",height:"2.75rem"};function xg({value:e}){return LU().iconNames[e]??e}function gg(e,o,t){return at(RU,{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 NU(e){let o=t=>t.label===void 0?at(xg,{value:t.value}):i(t.label);return e.map(t=>({value:t.value,...t.label===void 0?{}:{label:i(t.hint??t.label)},icon:gg(t.picture,o(t),t.hint===void 0?o(t):i(t.hint))}))}function w0(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 v0(e,o,t,a,r={}){let n=c=>t.some(d=>d.value===c),s=c=>r.resolve?r.resolve(c):n(c)?c:void 0,l=t.map(c=>({value:c.value,...c.label===void 0?{}:{label:c.label},...c.showWhen?{showWhen:c.showWhen}:{}}));return{type:"custom",...PU({},{type:"radio",label:e,options:l}),options:l,render:c=>{let{value:d,onChange:f,field:u}=c,p=u?.options,x=NU(t.filter(C=>!p||p.some(T=>T.value===C.value))),g="follows"in c,I=g?s(r.phoneRest?r.phoneRest(c.follows):c.follows)??a:void 0,k=u?.currentValue,S=s(d)??I??s(k)??a,v=d!=null&&d!=="",b=I===void 0?void 0:t.find(C=>C.value===I);return at(kU,{label:i(e),icon:EU(o),action:g?at(CU,{words:ne()?.panel,label:i(e),changed:v,detail:b?.label!==void 0?OU(b0,i(b.label),c.followsView):void 0,disabled:c.readOnly===!0,onReset:()=>f(void 0)}):void 0},at(AU,{label:i(e),value:S,options:x,onChange:f,columns:r.columns,cell:r.cell??DU,tooltips:!1,disabled:c.readOnly===!0}))}}}import{TEXT_CONTROL_KINDS as _Ce,SCALAR_TEXT_CONTROLS as ACe}from"efficient-easel/draw";function Dr(e,o){return i("{value} from {from}",{value:e,from:o})}function $j(){let{blockGap:e}=xe();return e===null?i("this container's own spacing"):Dr(`${e}px`,i("Styles"))}function zj({inherited:e,onReset:o,label:t}){return w(ko,{words:ne()?.panel,label:i(t),changed:!e,detail:$j(),onReset:o})}function Uj(e){return rf({...Gj,builtIn:qn[e],resolve:(o,t)=>Rr(e,o,t?.siteGap),action:(o,t)=>w(zj,{inherited:!Xd(e,o),onReset:()=>t(void 0),label:"Gap"}),mark:{[Yd]:e}})}function jj(e){return $e(Kt("mobile",{[Yd]:e,type:"custom",render:o=>w(qj,{container:e,...o})}),q0)}function Kj(e){return $e(Kt("tablet",{[Yd]:e,type:"custom",render:o=>w(Vj,{container:e,...o})}),q0)}var q0={not:{field:"gap",in:Array.from({length:-ca.min},(e,o)=>ca.min+o)}};function wCe(e){return{gap:Kt("desktop",Uj(e)),[Zn("gap")]:Kj(e),[fa("gap")]:jj(e)}}function Vj({container:e,...o}){let[t]=ua("gap"),{siteGap:a}=o.field??{},r=Math.max(Dl.min,Rr(e,t,a));return rf({...Dl,builtIn:r,resolve:n=>$a(n)?n:r,action:(n,s)=>w(ko,{words:ne()?.panel,label:i("Gap"),changed:$a(n),detail:Br(l=>i(l),`${r}px`),onReset:()=>s(void 0)})}).render(o)}function qj({container:e,...o}){let[t]=ua("gap"),{siteGap:a,siteGapPhone:r}=o.field??{},n=cg(e,void 0,t,a,r);return rf({...Dl,builtIn:n,resolve:s=>cg(e,s,t,a,r),action:(s,l)=>w(ko,{words:ne()?.panel,label:i("Gap"),changed:$a(s),detail:Dr(`${n}px`,ig(e,t,r)?i("Styles"):i("Desktop")),onReset:()=>l(void 0)})}).render(o)}function vCe(e){return y0({offered:qP(e),fallback:Kn(e,void 0),resolve:o=>Kn(e,o)})}function CCe(e,o){return Hk(o?rx(e,o):[],o)}function Yj({inherited:e,onReset:o,label:t}){return w(ko,{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:c,hidden:d}=Va(e),f=Wl(null),u=Wl(null),p=v=>o(s?{text:v,hidden:d}:v),x=()=>o({text:c,hidden:!d}),g=s&&d,I=B0(),k=r?eK(r)?w("span",{className:"sf-hint-while-typing",children:i(r)}):i(r):void 0,S=d?i("Show {label} on the slide",{label:i(t)}):i("Hide {label} on the slide",{label:i(t)});return w(ro,{label:i(t),icon:w(pj,{}),htmlFor:I,className:g?"is-hidden":void 0,hint:k,action:s?w(vg,{content:S,children:w(K0,{"aria-pressed":d,"aria-label":S,onClick:x,children:d?w(E0,{name:"eye-off",size:14}):w(E0,{name:"eye",size:14})})}):void 0,children:ja("div",{className:"sf-copybox",children:[l&&w(Cx,{target:n?u:f,value:c,onChange:p}),n?w("textarea",{id:I,ref:u,value:c,placeholder:a===void 0?void 0:i(a),onChange:v=>p(v.target.value)}):w("input",{id:I,ref:f,type:"text",value:c,placeholder:a===void 0?void 0:i(a),onChange:v=>p(v.target.value)})]})})}function kCe(e,o){return{...e,[KU]:o}}function TCe(e){let o=e[pa];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[pa]:{...o,offPage:!0}}}function pf(e){return!e||typeof e!="object"?!1:e[pa]?.offPage===!0}function PCe(e){if(!e[pa])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[Tx]:!0}}function Y0(e){return zn(e)}function ECe(e){let o=e[pa];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[pa]:{...o,identifier:!0}}}function RCe(e,o){if(!e[pa])throw new Error("inOwnBox: the field holds no authored text");let{[Lj]:t,...a}=e;return{...a,[kx]:!0,render:o}}var Xj=new Set(Bj),df={type:"radio",options:[{value:!0},{value:!1}]},X0={text:{type:"object",objectFields:{text:{type:"text"},hidden:df}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:df}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},Mr=(e,o)=>{let t=Ka({...o,[pa]:e},{...X0[e.control],label:e.label});if(!Xj.has(e.control))return t;let a=o.render;return{...V0(t,"authored-copy"),render:r=>w(MT,{name:r.name,children:a(r)})}},LCe="Everything else on this block comes from the linked post. Unlink it to edit by hand.",Jj={field:"source.slug",set:!0},FCe={not:Jj},Zj="Select a word, then press the highlighter.",Qj=new Set([Zj]),eK=e=>Qj.has(e);function BCe(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 DCe(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 NCe(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 MCe(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 HCe(e){return{type:"custom",[UU]:{label:e},...Ka({},{type:"text",label:e}),render:({value:o,onChange:t})=>w(WP,{value:zU(o),onChange:t,label:e})}}function WCe(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 J0={Design:VU,Animation:YU};function GCe(e){return{type:"custom",render:()=>w(oK,{text:e})}}function oK({text:e}){return w("p",{className:"sf-note",children:i(e)})}function $Ce(e){return ha(e)!==null&&e?.tabs!==void 0}var O0=new Map;function uf(e,o){let t=`${e}\0${o?o.join(""):""}`,a=O0.get(t)??{type:"custom",tabs:o,[D0]:{label:e,level:1},bucket:e,marker:!0,render:()=>w(ma,{})};return O0.set(t,a),a}var _0=new Map;function kg(e){let o=_0.get(e)??{type:"custom",[D0]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>w(ma,{})};return _0.set(e,o),o}function tK(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function Z0(e,o){return tK(e)===o?e:{...e,marker:!0,fold:o,render:()=>w(ma,{})}}function Q0(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 Tg({title:e,children:o}){let[t,a]=Gl(()=>!Ig.has(e));return w(hj,{title:e,open:t,onToggle:r=>{a(r),r?Ig.delete(e):Ig.add(e)},children:o})}var Ig=new Set;function aK({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 c=a?.[l]?i(a[l]):l;return w(vg,{content:c,children:w(Cj,{color:l,selected:o.toLowerCase()===l.toLowerCase(),onClick:()=>t(l),"aria-label":c})},l)}),w("span",{className:"sf-swatch-hex",children:s})]})}function zCe(e,o,t=!1){return{type:"custom",render:({value:a,onChange:r})=>w(rK,{label:e,builtIn:o,followsBand:t,value:a,onChange:r})}}function rK({label:e,builtIn:o,followsBand:t,value:a,onChange:r}){let n=typeof a=="string"?a:void 0,{colors:s,n:l}=Rg(),c={background:s.background,surface:s.surface,surface2:bc(s),band:dw(s)},d=t?Co:o,f=a0(n,o,d),u=dg(void 0,d,c),p=t?Nl:void 0,x=d===Co?i("the theme's section background"):i("Theme {n} background",{n:l}),g=nK(n,o,s,l,c,r),I=Dr(u.toUpperCase(),x),k=Ut(n),S=k?Mn(k,s,l):null;return S?w(Ho,{label:i(e),icon:w(C0,{}),value:S.hex,caption:S.words,onChange:r,changed:!0,onReset:()=>r(p),resetTo:I,choices:g}):w(kl,{label:i(e),icon:w(C0,{}),value:f?"":dg(n,o,c),inherited:u,resetTo:I,onChange:r,onReset:()=>r(p),choices:g})}function nK(e,o,t,a,r,n){let s=t0(e,o);return[{label:i("No fill"),color:"",selected:s==="none",onPick:()=>n(fg)},{label:`${i("Section band")} \xB7 ${r.band.toUpperCase()}`,color:r.band,selected:s==="band",onPick:()=>n(Co)},...Ag(Ut(e)??"",t,a,n)]}function sK(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=t,n=s0(r,o);return w(ro,{label:i(e),icon:w(yg,{}),changed:!n,action:w(ko,{words:ne()?.panel,label:i(e),changed:!n,detail:i("the theme's image stage"),onReset:()=>a(Ml)}),children:aK({swatches:r0,current:n?Yn:pg(r,o),onPick:a,names:n0})})}}}function mf(e=t=>t,o){return zl({_gSectionTheme:Pt(lP),sectionAccent:{type:"custom",render:({value:t,onChange:a})=>w(uP,{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:c,disabled:d=!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(Aj,{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:c===void 0?void 0:i(c),disabled:d,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:g=>{g===null?p?.():g!==a&&r(g)}})})}function eE(e,o){let{min:t,max:a,step:r=1,unsetLabel:n,hint:s,restTrack:l,unsetMark:c,icon:d,unit:f="px"}=o;return{type:"custom",render:({value:u,onChange:p})=>{let x=typeof u=="number"?u:null,g=x===null;return w(ro,{label:i(e),icon:d?$l(d):void 0,value:g?c||n===void 0?void 0:i(n):`${x}${f}`,changed:!g,action:c?L0(c,{changed:!g,onReset:()=>p(null)}):w(ko,{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 hf="Corners";function Pg(e){return{type:"custom",render:({value:o,onChange:t})=>{let a=typeof o=="number"&&Number.isFinite(o)?o:null,r=a!==null;return w(ro,{label:i(hf),icon:w(M0,{}),changed:r,action:L0(e.mark,{changed:r,onReset:()=>t(null)}),hint:e.hint,children:w(lK,{tier:e,px:a,onRadius:t})})}}}function ua(e){let o=Qn();return[o?.values?.[e],t=>o?.onChange(e,t)]}function oE(){return V0({type:"custom",render:()=>w(Fj,{})},"always")}function Ol(){let e=Qn();return o=>e?.onChangeMany(o)}function lK({tier:e,px:o,onRadius:t}){let a=e.useFollowed(),[r,n]=ua(e.sidesKey),s=$t(r)??[...ld];return w(kj,{label:i(hf),value:s,corners:mk,onChange:l=>{let c=$t(l)??[];n(c.length===ld.length?null:c)},radius:o,onRadiusChange:t,radiusMin:et,radiusMax:lr,radiusStep:e.step??1,radiusPlaceholder:String(a)})}function tE(){return oE()}function iK({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:a}=xe(),r=typeof a=="number"?`${a}px`:i("not set");return w(ko,{words:ne()?.panel,label:i(e),changed:o,detail:a==null?i("the built-in corners"):Dr(r,i("Styles")),onReset:t})}function cK(){let{cornerRadiusPx:e}=xe();return typeof e=="number"?e:et}function dK(){return Pg({sidesKey:"sectionCornerSides",useFollowed:cK,mark:w(iK,{label:hf}),hint:fK})}var fK="Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here.";function xf(){return zl({_gShape:Pt("Shape"),sectionCorners:dK(),sectionCornerSides:tE(),...Jn("sectionBorder",gK)})}var pK=()=>({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 uK(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function mK(){let e;try{let o=to(xe().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||rw.line}function hK({value:e,onChange:o,placeholder:t,presets:a,sides:r=!0,styles:n=!0,above:s={}}){let l=e&&typeof e=="object"?e:{},[c,d]=Gl(()=>r?yj(l,s):!1),f=pK(),u=p=>uK(r&&n?p:{width:p.width,color:p.color,...n?{style:p.style}:{}});return w(ro,{label:i("Border"),icon:w(XU,{}),action:r?w(Ij,{each:c,label:i("Each side"),onChange:d}):void 0,children:w(gj,{label:i("Border"),value:l,each:c,onChange:p=>o(u(p)),placeholder:t,presets:a,words:f,styles:n,max:20})})}function xK({value:e,onChange:o,view:t}){let[a]=ua("sectionBorder"),[r]=ua(Zn("sectionBorder")),n=mK(),s=c=>c&&typeof c=="object"?c:{},l=t==="phone"?{...sg(s(a)),...sg(s(r))}:t==="tablet"?s(a):{};return w(hK,{value:e,onChange:o,placeholder:{sides:bj(l),style:l.style??"solid",color:l.color||n},presets:[n],above:l})}function gK(e){return{type:"custom",render:({value:o,onChange:t})=>w(xK,{value:o,onChange:t,view:e})}}function Jn(e,o){let t=(a,r)=>cf(e,o(a),Cg)[r];return{[e]:t("desktop",e),[Zn(e)]:t("tablet",Zn(e)),[fa(e)]:t("phone",fa(e))}}function UCe(e){return{type:"custom",render:()=>w(IK,{partKey:e})}}function IK({partKey:e}){let[o]=ua("id"),[t]=ua("_partStyles"),{textStyles:a}=xe(),r=Hj(),n=null;try{n=Dj().select}catch{n=null}let s=t&&typeof t=="object"?t[e]:void 0,l=Array.isArray(a)?a:null;return w(mj,{name:i("Text"),preview:KP(s,l,{noStyle:i("No style"),styleName:r.textStyles.styleName,cases:(r.copy.panel??Mj.copy.panel).cases}),onOpen:()=>{n&&typeof o=="string"&&n(Nj(o,e))}})}function aE(e){let{cornerRadiusPx:o}=xe(),t=typeof o=="number"?o:e,a=null;try{let{appState:n,selectedItem:s}=ff(c=>c),l=s?.props?.id?String(s.props.id):void 0;a=l?vT(n?.data,l)?.props??null:null}catch{a=null}if(!a)return t;let r=a.sectionCorners;return Uh(r)?r:t}function bK({label:e,changed:o=!1,onReset:t=()=>{}}){let a=aE(et);return w(ko,{words:ne()?.panel,label:i(e),changed:o,detail:Dr(`${a}px`,i("the section")),onReset:t})}function yK(){return w(ma,{children:i("Follows the section's Corners until you set a number here.")})}function SK(){return Pg({sidesKey:"cardCornerSides",useFollowed:()=>aE(et),mark:w(bK,{label:hf}),hint:w(yK,{})})}function wK(){return{type:"custom",render:()=>w(Sk,{})}}function jCe(){return{_gShape:Pt("Shape"),cardCorners:SK(),cardCornerSides:tE(),cardCornersApplyAll:wK()}}function vK(){return Ka({type:"custom",render:e=>w(kK,{...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 CK(e,o){let t=lh(e);if(t!=="custom")return i(sh.find(r=>r.value===t)?.label??"");let a=j0(Hc(e,o),o);return a?[...a,100-a.reduce((r,n)=>r+n,0)].join(" / "):i("Custom")}function kK(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,c=lh(l),d=r>=2&&r<=T0,f=()=>[...Ej[r]??[]],u=Wl(null),p=S=>{let v=u.current;v&&JSON.stringify(S)===JSON.stringify(v.shares)?t(v.value):S&&t(S)},x=S=>{S===c||S==="custom"&&!d||t(S==="custom"?f():S)},g=i("The width bar works for 2 to {count} blocks.",{count:T0}),I=s&&(n||o!=="content"),k=_j().widths.hint(r,Pj);return w(ro,{label:i(Sr),icon:w(Sg,{}),changed:I,hint:c!=="custom"?void 0:d?k:g,action:w(ko,{words:ne()?.panel,label:i(Sr),changed:I,disabled:e.readOnly===!0,detail:n?Br(S=>i(S),CK(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(U0,{label:i(Sr),value:c,options:sh.map(S=>({value:S.value,label:S.value==="custom"&&!d?g:i(S.label),icon:gg(w("span",{className:"sf-gallery-pic sf-share-pic",children:rE(S.weights).map((v,b)=>w("i",{style:{gridColumn:`span ${v}`}},b))}),i(S.label),S.value==="custom"&&!d?g:i(S.label))})),onChange:x,columns:3,cell:nE,tooltips:!1,disabled:e.readOnly===!0})}),c==="custom"&&d?w("div",{onFocus:()=>{u.current={value:o,shares:j0(Hc(l,r),r)}},onBlur:()=>{u.current=null},children:w(Oj,{label:i(Sr),count:r,value:Hc(l,r),onChange:p,readOnly:e.readOnly===!0})}):null]})})}function rE(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 KCe(){return Tt(eC,w(aj,{}),fh,fh[0].value)}function VCe(){return Kt("mobile",v0(Sr,w(Sg,{}),Kv.map(e=>({label:e.label,value:e.value,picture:w("span",{className:"sf-gallery-pic sf-share-pic",children:rE(e.weights).map((o,t)=>w("i",{style:{gridColumn:`span ${o}`}},t))})})),Vv,{columns:2,cell:nE}))}var nE={width:"5.75rem",height:"3.25rem"};function qCe(){return cf("share",vK(),Cg)[Zn("share")]}function TK(){return Kt("mobile",Go(ih,w(N0,{}),Gc,jv,1,Gc,"",{clear:{phoneFollows:!1,hint:Gc}}))}var A0={read:e=>e.phoneRow,write:(e,o,t)=>({phoneRow:t}),fieldKey:()=>"phoneRow",ownField:!0};function YCe(){let e=Go(ih,w(N0,{}),dh,qv,1,dh,"",{clear:{emptyLabel:"Auto"}}),o=cf("columns",e,{...A0,tablet:Cg.tablet}),t=cf("columns",e,A0,{phoneRow:TK()});return{...o,phoneRow:t.phoneRow}}function XCe(e,o,t,a,r,n){return{type:"custom",render:({value:s,onChange:l})=>w(ro,{label:i(e),icon:w(fx,{noun:n}),action:w(ko,{words:ne()?.panel,label:i(e),changed:!i0(s),detail:i("the Text style in Styles"),onReset:()=>l(l0),defaultAction:{onPress:()=>l(Qd),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 JCe(){return{_gCellWidth:Pt("Cell width"),gridSpan:Tt("Positions",w(Sg,{}),[{label:"Auto",value:""},...Array.from({length:ud},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function rt(){let e=null,o=null;try{e=F0(Eg),o=ff(t=>t).selectedItem}catch{o=null}return e??o?.props??{}}var Eg=WU(null);function PK({min:e,max:o,step:t,px:a,label:r,onChange:n,desktopKey:s,fallback:l}){let c=rt()[s],d=Pd(void 0,c,l);return w(ma,{children:Xo({min:e,max:o,step:t,value:Pd(a,c,l),readout:!1,ariaLabel:r,notch:d,onChange:n})})}function EK({label:e,desktopKey:o,fallback:t,unit:a="px",changed:r=!1,onReset:n=()=>{}}){let s=rt()[o],l=Pd(void 0,s,t);return w(ko,{words:ne()?.panel,label:i(e),changed:r,detail:Br(c=>i(c),`${l}${a}`),onReset:n})}function gf(e){return eE(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unit:e.unit,unsetLabel:"Follows Desktop",unsetMark:w(EK,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback,unit:e.unit}),restTrack:o=>w(PK,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}var OK={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},_K={Top:z0,Bottom:W0,Left:G0,Right:$0},AK=e=>{let o=_K[e];return w(o,{})};function ZCe(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",a=e.group!==!1,r=k=>OK[k],n=k=>Go(r("Top"),w(z0,{}),tt.min,tt.max,tt.step,k,"px"),s=(k,S,v,b=tt)=>Kt("mobile",gf({label:r(k),icon:AK(k),desktopKey:S,min:b.min,max:b.max,step:b.step,fallback:v})),l=e.top??tt.min,c=e.bottom??tt.min,d="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 zl({...a?{_gSpacing:Pt("Padding")}:{},[o]:I(n(l)),...g?{[fa(o)]:s("Top",o,l)}:{},...e.only==="top"?{}:{[t]:I(Go(r("Bottom"),w(W0,{}),tt.min,tt.max,tt.step,c,"px")),...g?{[fa(t)]:s("Bottom",t,c)}:{}},...e.sides?{[d]:I(Go(r("Left"),w(G0,{}),u.min,u.max,u.step,p,"px")),...g?{[fa(d)]:s("Left",d,x,u)}:{},[f]:I(Go(r("Right"),w($0,{}),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 sf="Width";function If(e,o=h0,t=!0){let a=o.map(r=>({label:Lr[r],value:r}));return zl({...t?{_gWidth:Pt(sf)}:{},widthMode:{type:"custom",render:({onChange:r,field:n})=>w(ro,{label:i(sf),icon:w(uj,{}),action:t?w(Yj,{inherited:n?.inherited??!1,onReset:()=>r(hg),label:sf}):void 0,children:af({options:a,value:n?.currentValue||e,onChange:r,ariaLabel:sf})})}})}function bf(){let e=(a,r)=>({type:"custom",render:({value:n,onChange:s})=>w(RK,{value:n,onChange:s,view:a,badge:r})}),o=a=>({type:"custom",render:({value:r,onChange:n,field:s})=>w(FK,{value:r,onChange:n,unit:s?.unit,view:a})}),t=a=>{let r=Fr("Unit",w(H0,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");if(a==="desktop")return r;let n=r.render;return{...r,render:s=>w(BK,{props:s,draw:n,view:a})}};return zl({_gHeight:Pt(Cn),...Jn("sectionHeightMode",a=>a==="desktop"?e(a):e(a,r=>w(DK,{view:a,onClear:()=>r(void 0)}))),...Jn("sectionHeightValue",o),...Jn("sectionHeightUnit",t)})}function RK({value:e,onChange:o,view:t,badge:a}){let r=rt(),n=l=>["auto","fixed","screen"].includes(l),s=yf(t,r)?.mode??"auto";return w(ro,{label:Cn,icon:$l(w(nj,{})),action:a?a(o):void 0,children:af({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:n(e)?e:s,onChange:o,ariaLabel:Cn})})}function sE(e,o){return e==="phone"&&wc(o)?Pw(o):kw(o)}function yf(e,o){return e==="desktop"||(e==="tablet"?wc(o):Tw(o))?null:sE(e,o)}var Ua=(e,o)=>e==="tablet"?Zn(o):fa(o);function LK(e,o,t,a){let r=yf(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 lE(e,o,t){let a=Qn(),r=yf(e,rt());return!a||!r?{followed:null,write:t}:{followed:r,write:n=>a.onChangeMany(s=>{let l=LK(e,s,o,n);return l===null?{[e==="desktop"?o:Ua(e,o)]:n}:Object.keys(l).length?l:null})}}function FK({value:e,onChange:o,unit:t,view:a}){let{followed:r,write:n}=lE(a,"sectionHeightValue",o),s=(r?r.unit:t)==="%"?"%":"px",l=s==="%"?Cw:vw;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:Cn,onChange:n})})}function BK({props:e,draw:o,view:t}){let{followed:a,write:r}=lE(t,"sectionHeightUnit",e.onChange);return o({...e,...a?{value:void 0,storedValue:void 0,follows:a.unit}:{},onChange:r})}function DK({view:e,onClear:o}){let t=rt(),a=yf(e,t)===null,r=e==="phone"&&wc(t),n=sE(e,t),s=Br(l=>i(l),n.mode==="auto"?i("Auto"):`${n.value}${n.unit}`,r?"tablet":"desktop");return w(ko,{words:ne()?.panel,label:i(Cn),changed:a,detail:s,onReset:o})}function Og(){let e=t=>({type:"custom",render:({value:a,onChange:r,id:n,name:s})=>w(HK,{value:a,onChange:r,labelId:`${n??s??"stickTop"}-label`,view:t})}),o=t=>({type:"custom",render:({value:a,onChange:r})=>w(NK,{value:a,onChange:r,view:t})});return{_gStick:Pt(Vd),...Jn("stickTop",e),...Jn("stickTopDistance",o)}}function NK({value:e,onChange:o,view:t}){let a=Qn(),r=rt(),n=t==="desktop"||_g(t,r)?null:iE(t,qd(r)),s=n&&a?l=>a.onChangeMany(c=>{let d=MK(t,c,l);return d===null?{[Ua(t,"stickTopDistance")]:l}:Object.keys(d).length?d: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 _g(e,o){return e==="tablet"?rg(o):ng(o)}function iE(e,o){return e==="phone"?{on:o.tablet,distance:o.tabletDistance}:{on:o.desktop,distance:o.desktopDistance}}function MK(e,o,t){return e==="desktop"||_g(e,o)?null:t===void 0?{}:{[Ua(e,"stickTop")]:!0,[Ua(e,"stickTopDistance")]:t}}function HK({value:e,onChange:o,labelId:t,view:a}){let r=rt(),n=qd(r),s=a==="phone"?n.phone:a==="tablet"?n.tablet:e===!0,l=a==="phone"&&n.ownTablet,c=a==="desktop"?null:iE(a,n),d=c?.on?`${c.distance}px`:i("Off");return w(ro,{label:i(Vd),labelId:t,icon:$l(w(cj,{})),action:ja(ma,{children:[a!=="desktop"?w(ko,{words:ne()?.panel,label:i(Vd),changed:_g(a,r),detail:Br(f=>i(f),d,l?"tablet":"desktop"),onReset:()=>o(void 0)}):null,w(wg,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var R0="e.g. about";function Sf(){return{_gAnchor:Pt("Anchor"),anchor:Mr({control:"plainText",label:"Name",placeholder:R0},{type:"custom",render:({value:e,onChange:o})=>w(nT,{value:e,onChange:o,nameBox:(t,a)=>w(Nr,{value:t,onChange:a,label:"Name",placeholder:R0,hideable:!1,markup:!1})})})}}function eke(e,o,t){return{type:"custom",render:({value:a,onChange:r,id:n,name:s})=>{let l=`${n??s??e}-datetime`,c=Date.parse(typeof a=="string"?a:"");return w(ro,{label:i(e),icon:o,htmlFor:l,hint:t===void 0?void 0:i(t),children:w(Tj,{id:l,value:Number.isFinite(c)?new Date(c):null,onChange:d=>r(d?d.toISOString():"")})})}}}function WK(e,o,t,a){return{type:"custom",...Ka({},{...df,label:e}),render:r=>{let{value:n,onChange:s,id:l,name:c}=r,d="follows"in r,f=r,u=typeof n=="boolean",p=typeof f.follows=="boolean"?f.follows:o,x=u?n:d?p:o,g=`${l??c??e}-label`,I=f.readOnly===!0,k=w(wg,{checked:x,onChange:s,disabled:I,ariaLabelledBy:g});return w(ro,{label:i(e),labelId:g,icon:t,hint:a===void 0?void 0:i(a),action:d?ja(ma,{children:[w(ko,{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 cE(){return{type:"custom",render:({value:e,onChange:o,id:t,name:a})=>{let r=`${String(t??a??"pageBackground")}-colour`;return w(GK,{label:"Background",icon:w(ij,{}),id:r,value:e,shown:hx(e),onChange:o})}}}function oke(e,o,t){return{type:"custom",render:({value:a,onChange:r})=>w(Ho,{label:i(e),icon:t,value:a||o,onChange:r})}}function GK({label:e,icon:o,id:t,value:a,shown:r,onChange:n}){let{colors:s,n:l}=Rg(),c=Ut(a),d=c?Mn(c,s,l):null;return w(Ho,{label:i(e),icon:o,id:t,value:d?d.hex:r,caption:d?.words,onChange:n,choices:Ag(c??"",s,l,n)})}function tke(){return{type:"custom",render:e=>{let{value:o,onChange:t}=e,a=e;return w($K,{value:typeof o=="string"?o:"",onChange:t,twin:"follows"in e?{follows:a.follows,view:a.followsView}:void 0})}}}function Ag(e,o,t,a){let r=Sd(e);return pT(o,t).map(n=>({label:n.label,color:n.value,selected:r===n.name,onPick:()=>a(n.name)}))}function $K({value:e,onChange:o,twin:t}){let{colors:a,n:r}=Rg(),n=a.background,s=Dr(n.toUpperCase(),i("Theme {n} background",{n:r})),l=Sd(e),c=l?Mn(l,a,r):null,d=Ag(e,a,r,o),f=t?()=>o(void 0):()=>o(""),u=n,p=s;if(t){let x=Sd(t.follows),g=yd(t.follows),I=x?Mn(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 c?w(Ho,{label:i("Fill"),icon:w(yg,{}),value:c.hex,caption:c.words,onChange:o,changed:!0,onReset:f,resetTo:p,choices:d}):w(kl,{label:i("Fill"),icon:w(yg,{}),value:e,inherited:u,resetTo:p,onChange:o,onReset:f,choices:d})}function zK(e,o,t){if((e?.content??[]).some(n=>n?.props?.id===o))return St(t);let a=CT(e,o);if(a.length===0)return null;let r=St(jx(t));if(r!==null)return r;for(let n=a.length-1;n>0;n-=1){let s=St(jx(a[n].sectionAccent));if(s!==null)return s}return St(a[0].sectionAccent)}function Rg(){let e=to(xe().theme),[o]=ua("sectionAccent"),t=null;try{let{appState:r,selectedItem:n}=ff(l=>l),s=n?.props?.id?String(n.props.id):void 0;t=s?zK(r?.data,s,o):null}catch{t=null}let a=t!==null&&e.themes[t]?t:e.selected;return{colors:Bo(e.themes[a]),n:a+1}}var UK=[{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 jK({label:e,value:o,onChange:t,points:a=UK}){let r=a.map(n=>({...n,label:i(n.label),...n.title?{title:i(n.title)}:null}));return w(vj,{label:i(e),value:o,points:r,onChange:t})}function ake(){return oE()}var dE={top:w(oj,{}),right:w(ej,{}),bottom:w(ZU,{}),left:w(QU,{})};function fE(e,o,t,a,r,n,s){let l=u=>o.find(p=>p.value===u),c=u=>({value:u,label:"",disabled:!0,title:a}),d=u=>{let p=o.find(g=>g.cell===u);if(!p)return c(`missing-${u}`);let x=n?.[u];return x?{value:p.value,label:p.label,icon:x}:{value:p.value,label:p.label}},f=[c("corner-top-left"),d("top"),c("corner-top-right"),d("left"),c("centre"),d("right"),c("corner-bottom-left"),d("bottom"),c("corner-bottom-right")];return{type:"custom",render:({value:u,onChange:p})=>{let x=o.some(g=>g.value===u)?u:t;return w(ro,{label:i(e),icon:r,value:l(x)?.label?i(l(x).label):s?i(s):"",children:jK({label:e,value:x,onChange:p,points:f})})}}}function rke(e,o,t){return{type:"custom",options:o,render:({value:a,onChange:r,field:n})=>w(qT,{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 nke(e,o={}){return{type:"custom",render:({value:t,onChange:a})=>{let r={value:t,onChange:a,...o};return w(e,{...r})}}}var ske=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function lke(e,o,t){let a=Object.keys(Bh).map(r=>({label:Bh[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(VK,{label:e,icon:o,options:a,onChange:r})}}function KK(e,o,t){let a=VC(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=KC(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 VK({label:e,icon:o,options:t,onChange:a}){let r=Qn(),n=r?.values??{},s=ml(n),l=F0($U),c=sd(l?.docId??null),d=null;try{d=ff(u=>u.appState.data)}catch{d=null}let f=pk(r?.id,d,c);return w(ro,{label:i(e),icon:$l(o),hint:KK(n,f,l?.hasUnsavedEdits??!1),children:af({options:t,value:s,onChange:a,ariaLabel:e})})}function ike(e,o,t,a={}){let r={type:"custom",[jU]:!0,render:({value:n,onChange:s,name:l})=>w(KT,{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 qK(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 cke({value:e,onChange:o,label:t}){let a=e||{},r=Qn(),n=r?r.values!==r.node.props:!0,s=!!a.pending&&n,l=!!a.pending&&!n,c=!!Ue(Wj()).geocode,d=B0(),f=(u,p)=>o({...a,[u]:p??void 0});return ja(ma,{children:[w(ro,{label:i(t),icon:w(k0,{}),action:c?w(vg,{content:i("Find from the address (OpenStreetMap)"),children:w(K0,{"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(dj,{})})}):void 0,children:c&&a.status?w(sT,{compact:!0,oneLine:!0,spaced:!1,status:s?"busy":a.ok&&!l?"found":"notfound",statusText:s?i("Finding\u2026"):l?i(Sx):i(a.status),hint:qK(a)}):null}),w(ro,{label:i("Enter by hand"),labelId:d,icon:w(tj,{}),action:w(wg,{checked:!!a.manual,onChange:u=>o({...a,manual:u}),ariaLabelledBy:d})}),a.manual&&w(ro,{label:i("Latitude, longitude"),icon:w(k0,{}),children:ja("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,width:"100%",minWidth:0},children:[w(P0,{value:typeof a.lat=="number"?a.lat:null,onChange:u=>f("lat",u),min:-90,max:90,step:1e-4,placeholder:i("Latitude")}),w(P0,{value:typeof a.lng=="number"?a.lng:null,onChange:u=>f("lng",u),min:-180,max:180,step:1e-4,placeholder:i("Longitude")})]})})]})}function YK(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function XK(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 Lg={label:"Ticker items",icon:w(lj,{})};function dke(e,o,t,a){return{type:"custom",[pa]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:a},...Ka({},{...X0.textList,label:e}),render:({value:r,onChange:n})=>w(Fg,{label:e,icon:$l(o),items:Array.isArray(r)?r:[],placeholder:t,onChange:n,markup:a==="markup"})}}function Fg({label:e,icon:o,items:t,placeholder:a,onChange:r,markup:n=!1}){let s=Wl(null),[l,c]=Gl(null),d=u=>u.map(p=>({text:p?.text??""})),f=u=>{let p=JK(t,u,l);p===null&&(s.current=null),c(p),r(d(u))};return w(Sj,{label:i(e),icon:o,noun:i("item"),items:t,onChange:f,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?w(Cx,{target:s,value:YK(t,l),onChange:u=>r(XK(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,c(p)}})})}function pE(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 uE(e){return{_gCards:Pt("Cards"),coverIndex:Tt("Cover image",w(sj,{}),$T,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:sK("Image background",Zd),cardImage:e8()}}function mE(){return{outline:Tt("Card outline",w(fj,{}),GT,WT),indexBadge:Tt("Card number",w(H0,{}),_x,Ox),showBadge:WK("Product badge",!0,w(fx,{noun:"tag"}))}}function hE(e){let o=e?.defaults??{showCardSizes:!0,showCardBuy:!0,showCardPage:!0},t=r=>({...df,label:lf.find(n=>n.id===r).label}),a=r=>Ka(Rj(bg),t(r));return{_gShowOnCard:Pt("Show on a card"),[bg]:Ka({type:"custom",render:()=>w(ZK,{rest:{showCardPrice:!0,showCardFinishes:!0,...o}})},t(bg)),showCardFinishes:a("showCardFinishes"),showCardSizes:a("showCardSizes"),showCardBuy:a("showCardBuy"),showCardPage:a("showCardPage")}}var bg="showCardPrice",lf=[{id:"showCardPrice",label:"Price"},{id:"showCardFinishes",label:"Finish swatches"},{id:"showCardSizes",label:"Sizes"},{id:"showCardBuy",label:"Buy button"},{id:"showCardPage",label:"Page button"}];function ZK({rest:e}){let o=rt(),t=Ol(),a=s=>typeof o[s]=="boolean"?o[s]:void 0,r=s=>a(s)??e[s],n=lf.some(({id:s})=>a(s)!==void 0&&a(s)!==e[s]);return w(es,{parts:lf,changed:n,shown:r,onPress:(s,l)=>t({[s]:l}),onReset:()=>t(Object.fromEntries(lf.map(({id:s})=>[s,void 0])))})}function fke(e,o="display"){let t=fa(o);return{[o]:Kt("desktop",{type:"custom",render:({value:a,onChange:r})=>w(es,{parts:e,changed:ET(a),shown:n=>Cd(a,n),onPress:(n,s)=>r(_T(a,n,s)),onReset:()=>r(void 0)})}),[t]:Kt("mobile",{type:"custom",render:({value:a,onChange:r})=>w(QK,{parts:e,desktopKey:o,value:a,onChange:r})})}}function es({parts:e,changed:o,shown:t,onPress:a,onReset:r,detail:n,disabledReason:s}){let l=i("Display");return w(ro,{label:l,icon:w(qU,{}),changed:o,action:w(ko,{words:ne()?.panel,label:l,changed:o,detail:n,onReset:r}),children:w(wj,{label:l,items:e.map(c=>({id:c.id,label:i(c.label),shown:t(c.id),...s?{disabled:!0,disabledReason:i(s)}:{}})),onChange:a})})}function QK({parts:e,desktopKey:o,value:t,onChange:a}){let r=rt()[o];return w(es,{parts:e,changed:OT(t),shown:n=>yx(r,t,n),onPress:(n,s)=>a(AT(t,n,s)),onReset:()=>a(Ed),detail:i("the same as Desktop")})}function e8(){return eE("Card image",{min:et,max:lr,step:Lk,icon:w(M0,{}),hint:"Rounds the picture. The card's own corner is in Styles."})}function pke(){return Pg({sidesKey:"cornerSides",step:Fk,useFollowed:()=>et,mark:w(o8,{label:Bk}),hint:i("Rounds the picture. Left alone it stays square.")})}function o8({label:e,changed:o=!1,onReset:t=()=>{}}){return w(ko,{words:ne()?.panel,label:i(e),changed:o,onReset:t})}function uke(){return{type:"custom",render:({value:e,onChange:o})=>w(n8,{value:typeof e=="string"?e:"",onChange:o})}}function t8({layout:e,width:o}){let t=ix(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:qk(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 a8={width:"3.5rem",height:"2.5rem"},r8=200;function n8({value:e,onChange:o}){let[t,a]=Gl(null),[r,n]=Gl(4),s=Wl(null);GU(()=>{let p=s.current;if(!p||typeof ResizeObserver!="function")return;let x=()=>n(p.getBoundingClientRect().width>=r8?4:3);x();let g=new ResizeObserver(x);return g.observe(p),()=>g.disconnect()},[]);let l=e&&e in na?e:"",c=lx(t,l),d=lx(t,"").length,f=md("no-symbol"),u=[{value:"",label:i("Not chosen"),icon:w0(f,i("Not chosen"))},...c.map(p=>({value:p,label:i(na[p].label),icon:w(t8,{layout:na[p],width:40})}))];return w(ro,{label:i("Layout"),icon:w(rj,{}),value:l?i(na[l].label):void 0,children:w("div",{ref:s,style:{flex:"1 1 auto",minWidth:0},children:w(U0,{label:i("Layout"),value:l,options:u,onChange:o,columns:r,cell:a8,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(xj,{options:[{id:"all",label:i("All")},...Kk.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:d,total:sx.length})})]})})})})}import{decodePartId as v8}from"efficient-easel/draw";import{decodePartId as Mg,encodePartId as Tf}from"efficient-easel/draw";import{LINK_FIELD_MARKER as kE,SCAFFOLD_FIELD_MARKER as vE,TEXT_FIELD_MARKER as Pf}from"efficient-easel/draw";import{readHidable as TE}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as p8}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as f8}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as xE}from"efficient-easel/draw";import{readHidable as gE}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as s8}from"efficient-easel/draw";var l8=s8,i8=["text","textarea"],c8=["textarea","plainTextarea"];function d8(e){return!e||typeof e!="object"?null:e[xE]?.control??null}function os(e){let o=d8(e);return o&&l8.includes(o)?o:null}function wf(e){return c8.includes(e)}function IE(e){return!e||typeof e!="object"?void 0:e[xE]?.placeholder}function vf(e){return gE(e).text}function Bg(e,o,t){return i8.includes(e)?{text:t,hidden:gE(o).hidden}:t}function bE(e,o,t,a){return vf(e[o])===a?null:{...e,[o]:Bg(t,e[o],a)}}function ts(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 Cf(e){if(!(!e||typeof e!="object"))return e[f8]}function Dg(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function yE(e,o){if(!Array.isArray(o))return[];let t=Cf(e),a=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,l)=>{let c=J(s?.[n]);c&&a.push({row:{index:l,rowKey:n},text:c})}),a}let r=Dg(e);return r?(o.forEach((n,s)=>{for(let[l,c]of Object.entries(r)){if(!os(c))continue;let d=vf(n?.[l])||Cf(c)?.placeholder||"";d&&a.push({row:{index:s,rowKey:l},text:d})}}),a):[]}function Ul(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function Ng(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 SE(e,o,t,a,r){let n=Ul(e[o],t);return vf(n)===r?null:Ng(e,o,t,Bg(a,n,r))}function wE(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var Ot="data-sf-part",Bke="data-sf-region-part",Dke="data-sf-part-row";function Nke(e,o){return`${e}[${o}]`}var Mke="data-sf-part-kind",u8="data-sf-part-style-owner",m8="data-sf-part-style-kind";function Hke(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(u8),a=o.getAttribute(m8);if(t&&a)return{owner:t,kind:a};if(o.getAttribute("data-easel-block"))return null}return null}var CE=2;function as(e){return ta(e).replace(/\s+/gu,"")}function kf(e,o,t){let a=e[Pf];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}=TE(o);r?t.push(r):a.placeholder&&t.push(a.placeholder);return}if(!e[kE]){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))kf(s,r?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[r,n]of Object.entries(e.objectFields))kf(n,o[r],t)}}function Hg(e){if(!e||typeof e!="object")return!1;let o=e;return o[kE]?!1:!!o[Pf]||o.type==="text"||o.type==="textarea"}function Ef(e,o){let t=e[Pf];return t?.label?t.label:typeof e.label=="string"?e.label:o}function Wg(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function Wke(e,o,t){if(!e)return[];let a=[];for(let[r,n]of Object.entries(e)){if(!n||typeof n!="object"||Tl(r))continue;let s=n,l=[];kf(s,o?.[r],l),!l.length&&s[vE]!==void 0&&kf(s,s[vE],l);let c=Ef(s,r);if(t?.(r)&&Hg(s)){l.length&&a.push({key:r,label:c,texts:[],keyed:!0});continue}let d=new Set;for(let{row:p,text:x}of yE(s,o?.[r])){let g=as(x);g.length<CE||(d.add(g),a.push({key:r,label:c,texts:[g],row:p}))}let f=new Set(d),u=[];for(let p of l){let x=as(p);x.length<CE||f.has(x)||(f.add(x),u.push(x))}u.length&&a.push({key:r,label:c,texts:u})}return a}function Gg(e){return!e.offPage&&!e.hidden&&e.panelOnly!==!0}var h8=p8;function PE(e,o){if(!o||typeof o!="object"||Tl(e)||BT(o))return null;let t=o[Pf];return!t||!h8.includes(t.control)?null:t}function Gke(e,o){let t=PE(e,o);return t!==null&&t.identifier!==!0}function EE(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){let n=PE(a,r);if(!n)continue;let{text:s,hidden:l}=TE(o?.[a]);if(Gg({offPage:n.offPage===!0,hidden:!!l,panelOnly:zn(r)}))continue;let c=s||n.placeholder||"",d=ta(c).replace(/\s+/gu," ").trim();t.push({key:a,label:Wg(Ef(r,a)),preview:d,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!l})}return t}function rs(e,o){let t=Cf(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?pE(t,o.index):null:Dg(e)?.[o.rowKey]??null}function Of(e,o,t){let a=e.node.props,{key:r,row:n}=Et(e.propKey),s=n?SE(a,r,n,e.kind,o):bE(a,r,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}import{readHidable as RE}from"efficient-easel/draw";import{isNodeList as x8}from"efficient-easel/data";var $g=e=>String(e+1).padStart(2,"0"),Yke=[{label:"01 \xB7",value:"two-digit"},{label:"1.",value:"plain"}],zg="two-digit",OE=e=>e==="plain"?"plain":zg,_f=(e,o)=>e==="plain"?`${o+1}.`:$g(o);var jg="Contents",Ug="Flex",_E="Text",g8="numberForm",sTe="_contentsEntries",lTe="_kickerNumber",LE="data-sf-kicker-number",I8=e=>RE(e).text.trim(),FE=e=>hd(e?.anchor),AE=e=>String(e.props?.id??""),b8=e=>!RE(e.props?.text).hidden&&!Rn(e.props)&&!No(e.props);function jl(e){return Object.values(e.props??{}).filter(x8)}function BE(e){for(let o of jl(e))for(let t of o){if(Cl(t.props??{}))continue;if(t.type===_E&&b8(t))return t;if(t.type===_E)continue;let a=BE(t);if(a)return a}}function DE(e){return jl(e).some(o=>o.some(t=>t&&!Cl(t.props??{})&&(t.type===jg||DE(t))))}var NE=e=>e.type===Ug&&Kn(Ug,e.props?.direction)==="row";function ME(e){return jl(e).some(o=>o.some(t=>t&&!Cl(t.props??{})&&(t.type===jg||!NE(t)&&ME(t))))}function y8(e){let o=[],t=(a,r)=>{for(let n of a){if(!n||Cl(n.props??{}))continue;if(n.type===jg){r.open={contents:n,sections:r.waiting??[]},r.waiting=null,o.push(r.open);continue}if(NE(n)&&ME(n)){let l={inRow:!0,open:null,waiting:[]};for(let c of jl(n))t(c,l);r.inRow||(r.open=null);continue}let s=r.open?.sections??r.waiting;if(n.type===Ug&&FE(n.props)&&s&&!DE(n)){s.push({box:n,kicker:BE(n)});continue}for(let l of jl(n))t(l,r)}};return t(e,{inRow:!1,open:null,waiting:null}),o}function S8(e){return e.map(o=>({label:o.kicker?ta(I8(o.kicker.props?.text)):"",anchor:FE(o.box.props)}))}function iTe(e){let o=e?.length?y8(e):[];if(!o.length)return null;let t=new Map,a=new Map;for(let r of o){let n=AE(r.contents);n&&t.set(n,S8(r.sections));let s=OE(r.contents.props?.[g8]);r.sections.forEach((l,c)=>{let d=l.kicker?AE(l.kicker):"";d&&a.set(d,_f(s,c))})}return{entries:t,numbers:a}}var cTe=e=>e.endsWith(".")?`${e} `:`${e} \xB7 `;var C8=`[${LE}]`,k8=["bold","italic","underline","strike","link","sup","sub"],T8=["bullet","number"];function qg(e,o){return e?[...k8,...o?T8:[]]:[]}function HE(e,o){let t=v8(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:c}=Et(r),d=o.components[n.type]?.fields?.[l],f=c?rs(d,c):d,u=os(f);if(!u)return null;let p=n.props??{};if(Yx(p)!==null||!c&&Th(n.type,p,l)||n.type==="Text"&&l==="text"&&Rn(p)||c&&!(Array.isArray(p[l])&&c.index<p[l].length))return null;let x=c?Ul(p[l],c):p[l];return{node:n,selector:s,propKey:r,kind:u,stored:x,offPage:pf(f),panelOnly:zn(f)}}function Af(e,o){let t=HE(e,o);if(!t)return null;let{text:a,hidden:r}=Va(t.stored);if(!Gg({offPage:t.offPage,hidden:!!r,panelOnly:t.panelOnly}))return null;let n=wf(t.kind);return{partId:e,value:a,rules:fr,multiline:n,skip:C8,offered:qg(t.kind!=="plainText",n),write:s=>{let l=HE(e,o);l&&Of({node:l.node,propKey:l.propKey,kind:l.kind,zone:l.selector.zone,index:l.selector.index},s,o.replace)}}}function Yg(e,o,t){return e?.isConnected&&e.getAttribute(Ot)===t?e:o?.querySelector(`[${Ot}="${Rf(t)}"]`)??null}function Rf(e){return e.replace(/["\\]/g,"\\$&")}function WE(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var Kg=null,Vg=new Set;function P8(){return Kg}function Xg(e){if(e!==Kg){Kg=e;for(let o of Vg)o()}}function E8(e){return Vg.add(e),()=>{Vg.delete(e)}}function GE(){return w8(E8,P8,()=>null)}function $E(e,o){if(e.outer)return null;let t=o.getItemById(e.ownerId);if(!t)return null;let a=_C(t.type);return!a||so(t.props)?null:{node:t,rows:a}}function L8(e,o){let t=$E(e,o),a=o.getItemById(e.nodeId);if(!t||!a)return null;let r=Ph(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:O8(e.ownerId,ts(t.rows,{index:e.index,rowKey:r}))}function Lf(e,o){let t=L8(e,o);return t?Af(t,o):null}function zE(e,o){return Lf(e,o)?.value}function UE(e,o){let t=Lf(e,o);return t?(t.write(e.text),!0):!1}function jE(e,o){let t=$E(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 c=o.components[t.node.type]?.fields?.[t.rows];l=_8(n,s+1,{...c?.defaultItemProps??{}});break}case"moveEarlier":case"moveLater":{let c=e.action==="moveEarlier"?s-1:s+1;if(c<0||c>=n.length)return!1;l=A8(n,s,c);break}case"delete":l=R8(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 S_,jsxs as oi}from"react/jsx-runtime";import{Fragment as pY,useEffect as uY,useId as mY,useMemo as w_,useRef as hY,useState as qa}from"react";import{useScreenDocument as __}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as WI}from"efficient-easel/draw/client";import xY from"efficient-easel/screen/components/SidePanelHead";import{jsx as be,Fragment as ms,jsxs as zr}from"react/jsx-runtime";import{useEasel as u_,useRootFields as Iq}from"efficient-easel/easel";import{Inspector as bq}from"efficient-easel/fields";import{SettingsGroup as yq}from"efficient-easel/panel";import{useEffect as Sq,useRef as wq,useState as NI}from"react";import{jsx as Hr,Fragment as N8,jsxs as M8}from"react/jsx-runtime";import{useState as YE}from"react";import{SettingsDefaultReset as H8,SettingsField as W8}from"efficient-easel/panel";import{useEaselStrings as G8}from"efficient-easel/strings";import{AddIcon as $8}from"efficient-easel/icons";import{Button as z8}from"efficient-shell/ui";import{iconOf as U8,noGlyph as j8}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Ff,Fragment as F8,jsxs as KE}from"react/jsx-runtime";import{Button as VE,Dialog as B8}from"efficient-shell/ui";function D8(e){return Po("This site has {n} color theme of its own. Clearing takes them away and puts back the four the shop supplies.","This site has {n} color themes of its own. Clearing takes them away and puts back the four the shop supplies.",e)}function qE({count:e,onCancel:o,onConfirm:t}){return KE(B8,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Clear this site\u2019s colors?"),footer:KE(F8,{children:[Ff(VE,{variant:"secondary",onClick:o,children:i("Cancel")}),Ff(VE,{variant:"danger",onClick:t,children:i("Clear colors")})]}),children:[Ff("p",{children:D8(e)}),Ff("p",{className:"mt-2 font-medium",children:i("This cannot be undone.")})]})}var K8=j8("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"),V8="Reset color",q8={selected:0,themes:[]};function Y8(e){e(q8)}function XE({value:e,onChange:o}){let t=e?.themes??[],a=t.length===0,r=to(e),[n,s]=YE(!1),l=G8(),[c,d]=YE(null),f=(S,v)=>{o({...r,themes:r.themes.map((b,C)=>C===S?v:b)})},u=Sn(r).accent,p=new Set(r.themes.map(S=>S.brandInk).filter(Boolean)),x=nw.filter(S=>!p.has(S)).map(S=>sw(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,{...Bo(r.themes[r.selected])}];o({...r,themes:S,selected:S.length-1}),d(S.length-1)};return M8(N8,{children:[a?null:Hr(W8,{label:i(V8),icon:U8(K8),labelId:"sf-theme-reset",action:Hr(H8,{label:i("all theme colors"),words:l.panel,changed:!0,onReset:()=>s(!0)})}),n&&Hr(qE,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),Y8(o)}}),Hr("div",{className:"sf-theme-list",role:"radiogroup","aria-label":i("Theme"),children:g.map((S,v)=>Hr(Ad,{index:v,colors:S,selected:v===r.selected,open:c===v&&v<r.themes.length,editable:v<r.themes.length,onPick:()=>I(v),onEdit:()=>d(b=>b===v?null:v),onChangeColors:b=>f(v,b)},v))}),Hr(z8,{variant:"secondary",leftIcon:Hr($8,{}),onClick:k,className:"sf-theme-add",children:i("Add new theme")})]})}import{jsx as Bf}from"react/jsx-runtime";import{SettingsDefaultReset as X8,SettingsField as J8}from"efficient-easel/panel";import{SquareIcon as Z8}from"efficient-easel/icons";var Q8="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",Jg="Corners";function JE({value:e,onChange:o}){let t=e===null;return Bf(J8,{label:i(Jg),icon:Bf(Z8,{}),changed:!t,action:Bf(X8,{words:ne()?.panel,label:i(Jg),changed:!t,detail:i("the built-in corners"),onReset:()=>o(null)}),hint:i(Q8),children:Bf(Xo,{min:et,max:lr,step:1,value:e,...e===null?{}:{suffix:"px"},placeholder:et,placeholderWord:"Auto",onClear:()=>o(null),ariaLabel:i(Jg),onChange:o})})}import{jsx as Kl}from"react/jsx-runtime";import{SettingsDefaultReset as eV,SettingsField as oV}from"efficient-easel/panel";import{IconPicker as tV}from"efficient-shell/ui";import{ShadowIcon as aV}from"efficient-easel/icons";var Zg={none:"None",soft:"Soft",lifted:"Lifted"},rV="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",nV={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 ZE({value:e,onChange:o}){let t=e===null,a=e??wm;return Kl(oV,{label:i("Card shadow"),icon:Kl(aV,{}),value:i(Zg[a]),changed:!t,action:Kl(eV,{words:ne()?.panel,label:i("Card shadow"),changed:!t,detail:i(Zg[wm]),onReset:()=>o(null)}),hint:i(rV),children:Kl(tV,{label:i("Card shadow"),value:a,options:Iw.map(r=>({value:r,label:i(Zg[r]),icon:Kl("span",{className:"sf-shadow-chip border border-line bg-surface",style:{boxShadow:nV[r]}})})),onChange:o})})}import{jsx as QE}from"react/jsx-runtime";import{ShadowIcon as sV}from"efficient-easel/icons";import{DEFAULT_SHADOW_COLOR as eO}from"efficient-easel/screen/lib/document/shadow-values";var lV="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 oO({value:e,onChange:o}){let t=e===null;return QE(kl,{label:i("Shadow color"),icon:QE(sV,{}),value:e??"",inherited:eO,resetTo:eO,onChange:o,onReset:()=>o(null),hint:i(lV)})}import{jsx as Nf}from"react/jsx-runtime";import{SettingsDefaultReset as iV,SettingsField as cV}from"efficient-easel/panel";import{AlignSeparateIcon as dV}from"efficient-easel/icons";function Df(e,o){return e==="tablet"?null:e==="mobile"?o.phone:o.desktop}var fV="The space between the blocks inside a row, a grid or a box. Auto means each one keeps the spacing it already has.",pV="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.",Qg="Block gap",tO=qn.Grid;function aO(e,o){return Df(e,{desktop:{key:"block_gap",value:o.gap,followsPx:null},phone:{key:"block_gap_phone",value:o.phone,followsPx:o.gap===null?null:lg(o.gap)}})}function rO({value:e,onChange:o,followsPx:t=null}){let a=e===null,r=t===null?null:`${t}px`,n=t===null?tO:Bl(t)??tO;return Nf(cV,{label:i(Qg),labelId:"sf-block-gap",icon:Nf(dV,{}),changed:!a,action:Nf(iV,{words:ne()?.panel,label:i(Qg),changed:!a,detail:r??i("each block's own spacing"),onReset:()=>o(null)}),hint:i(r===null?fV:pV),children:Nf(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(Qg),onChange:o})})}import{jsx as Mf}from"react/jsx-runtime";import{SettingsDefaultReset as uV,SettingsField as mV,SettingsSegmented as hV}from"efficient-easel/panel";import{HoverIcon as xV}from"efficient-easel/icons";var eI={none:hr.none,lift:hr.lift,highlight:Nm},gV="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 nO({value:e,onChange:o}){let t=e===null,a=e??vm;return Mf(mV,{label:i("Hover effect"),icon:Mf(xV,{}),value:i(eI[a]),changed:!t,action:Mf(uV,{words:ne()?.panel,label:i("Hover effect"),changed:!t,detail:i(eI[vm]),onReset:()=>o(null)}),hint:i(gV),children:Mf(hV,{options:bw.map(r=>({id:r,label:i(eI[r])})),value:a,ariaLabel:i("Hover effect"),onChange:o})})}import{jsx as Hf}from"react/jsx-runtime";import{SettingsDefaultReset as IV,SettingsField as bV,SettingsSegmented as yV}from"efficient-easel/panel";import{DropIcon as SV}from"efficient-easel/icons";var oI="Photography",sO={shot:"As shot",mono:"Black and white"},tI=[{grayscale:!1,label:sO.shot},{grayscale:!0,label:sO.mono}],wV="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function lO({value:e,onChange:o}){let t=e===null,a=e??!1;return Hf(bV,{label:i(oI),icon:Hf(SV,{}),value:i(tI.find(r=>r.grayscale===a).label),changed:!t,action:Hf(IV,{words:ne()?.panel,label:i(oI),changed:!t,detail:i(tI.find(r=>!r.grayscale).label),onReset:()=>o(null)}),hint:i(wV),children:Hf(yV,{options:tI.map(r=>({id:r.grayscale,label:i(r.label)})),value:a,ariaLabel:i(oI),onChange:o})})}import{jsx as aI}from"react/jsx-runtime";import{useId as vV}from"react";import{SettingsField as CV,SettingsSwitch as kV}from"efficient-easel/panel";import{ShareIcon as TV}from"efficient-easel/icons";var PV="Share button",EV="On every blog post.";function iO({value:e,onChange:o}){let t=vV();return aI(CV,{label:i(PV),labelId:t,icon:aI(TV,{}),action:aI(kV,{checked:e===!0,onChange:o,ariaLabelledBy:t}),hint:i(EV)})}import{usePreviewDevice as MI}from"efficient-easel/draw/client";import{jsx as Wf}from"react/jsx-runtime";import{SettingsDefaultReset as OV,SettingsField as _V}from"efficient-easel/panel";import{PaddingXIcon as AV}from"efficient-easel/icons";var rI="Side space",cO=da.default,RV="The room left at the left and right edge of every page.";function dO(e,o){return Df(e,{desktop:{key:"site_gutter",value:o.gutter,unsetPx:cO,bounds:da},phone:{key:"site_gutter_phone",value:o.phone,unsetPx:tf(o.gutter),bounds:Hl}})}function fO({value:e,onChange:o,unsetPx:t=cO,bounds:a=da}){let r=e===null;return Wf(_V,{label:i(rI),labelId:"sf-side-space",icon:Wf(AV,{}),changed:!r,action:Wf(OV,{words:ne()?.panel,label:i(rI),changed:!r,detail:`${t}px`,onReset:()=>o(null)}),hint:i(RV),children:Wf(Xo,{min:a.min,max:a.max,step:a.step,value:e,suffix:"px",placeholder:t,onClear:()=>o(null),ariaLabel:i(rI),onChange:o})})}import{jsx as nI}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as ZPe,SettingsBackgroundWidth as LV,SettingsContentWidth as FV}from"efficient-easel/panel";var BV="Background width",DV="Content width";var Gf=e=>i(Lr[e==="content"?"page":"full"]),pO="The width of every section's background.",uO="The width of every section's content.";function mO({value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n,labelId:s}){return nI(LV,{value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n?i(n):void 0,labelId:s,words:{label:i(BV),full:Gf("full"),content:Gf("content")},resetWords:ne()?.panel})}function hO({mode:e,px:o,max:t=xo.max,min:a=xo.min,changed:r,detail:n,fullClosed:s,onMode:l,onPx:c,onReset:d,hint:f,labelId:u}){let p=i(DV),x=e!=="full"?nI(Xo,{min:a,max:t,step:xo.step,value:Math.min(Math.max(o,a),t),onChange:c,suffix:"px",ariaLabel:p}):null;return nI(FV,{mode:e,onMode:l,number:x,changed:r,detail:n,fullClosed:s,onReset:d,hint:f?i(f):void 0,labelId:u,words:{label:p,full:Gf("full"),content:Gf("content")},resetWords:ne()?.panel})}import{jsx as QO}from"react/jsx-runtime";import{TextStyleItem as q7,TextStylesGroup as Y7}from"efficient-easel/text-styles";import{jsx as G7}from"react/jsx-runtime";import{useState as $7}from"react";import{TextStylesList as z7}from"efficient-easel/text-styles";import{usePreviewDevice as U7}from"efficient-easel/draw/client";import{defaultTextStyles as HO,textStyleCaseCss as R7,textStyleViewKey as L7}from"efficient-easel/text-styles/model";import{phoneKey as F7,resolveViewValue as WO,tabletKey as B7}from"efficient-easel/draw";import{VIEW_DESKTOP_MIN as xO,VIEW_TABLET_MIN as gO}from"efficient-easel/draw";var $f=.02,IO=`(min-width: ${ra}px) and (max-width: ${xO-$f}px)`,zf=`(max-width: ${ra-$f}px)`,Uf=`(min-width: ${gO}px) and (max-width: ${xO-$f}px)`,ns=`(max-width: ${gO-$f}px)`;import{textStyleCaseCss as NV,textStyleCaseOfCss as MV}from"efficient-easel/draw";function ss(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function ls(e,o){return ss(e?.[o])??{}}function jf(e,o,t){let a=ls(e,o);return Object.hasOwn(a,t)?ss(a[t])??{}:{}}function Kf(e,o,t,a){let{[t]:r,...n}=ls(e,o),s=a?{...n,[t]:a}:n,{[o]:l,...c}=e;return Object.keys(s).length?{...c,[o]:s}:c}var dI="_partStyles",fI="data-sf-part-styled",is="data-sf-text-style",HV=/^(heading|body)-[1-7]$/;function Gr(e){return typeof e=="string"&&HV.test(e)}var Vf={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function WV(e){if(!e)return null;for(let[o,t]of Object.entries(Vf))if(t===e)return o;return null}function pI(e){if(Gr(e.textStyle))return e.textStyle;let o=Qt(e.role);return o?Vf[o]:void 0}var GV=[400,500,600,700],ql=["left","center","right","justify"],sI=5,lI=1e3,$V=-5,zV=10,uI=0,mI=64,hI=2,bO={size:{min:sI,max:lI,step:1},sizeTablet:{min:sI,max:lI,step:1},sizePhone:{min:sI,max:lI,step:1},padding:{min:uI,max:mI,step:hI}},UV=.05,jV=.01,KV=["line","letter"],VV=.5,qV=2.5,YV=-1,XV=1,JV=0,ZV=400,QV=[...new Set(Object.values(yn))];function kO(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 g0e(e){return ls(e,dI)}function Yl(e,o){return jf(e,dI,o)}function TO(e,o,t){return Kf(e,dI,o,e7(t).length?t:null)}function e7(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function o7(e){return KV.includes(e)}var Vl=(e,o,t)=>Math.min(t,Math.max(o,e));function t7(e,o){if(o7(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Vl(t,$V,zV)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?cs(Vl(t,VV,qV),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?cs(Vl(t,YV,XV),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Vl(t,JV,ZV)}if(Object.hasOwn(bO,e)){let{min:t,max:a}=bO[e],r=Math.round(Number(o));return Number.isFinite(r)?Vl(r,t,a):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"||e==="fontRole"?Qt(o)?o:null:e==="sizeToken"?xI(o)?o:null:e==="textStyle"?Gr(o)?o:null:e==="alignPhone"||e==="alignTablet"?ql.includes(o)?o:null:o}var a7=["weight","size","sizeTablet","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding"];function ds(e){let o=null,t=a=>{o??={...e},delete o[a]};for(let a of a7){let r=e[a];r!==void 0&&!(typeof r=="number"&&Number.isFinite(r))&&t(a)}return e.align!==void 0&&!ql.includes(e.align)&&t("align"),e.alignTablet!==void 0&&!ql.includes(e.alignTablet)&&t("alignTablet"),e.alignPhone!==void 0&&!ql.includes(e.alignPhone)&&t("alignPhone"),e.textStyle!==void 0&&!Gr(e.textStyle)&&t("textStyle"),e.sizeToken!==void 0&&!xI(e.sizeToken)&&t("sizeToken"),e.fontRole!==void 0&&!Qt(e.fontRole)&&t("fontRole"),o??e}function xI(e){if(!e||typeof e!="object")return!1;let{step:o,px:t,stepPhone:a,pxPhone:r,fluid:n}=e,s=c=>typeof c=="number"&&Number.isFinite(c)&&c>0,l=c=>typeof c=="string"&&QV.includes(c);return l(o)&&s(t)&&(a===void 0||l(a))&&(r===void 0||s(r))&&(n===void 0||r7(n,t))}function r7(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 gI(e){return e?.pxPhone&&xI(e)?{step:e.stepPhone??e.step,px:e.pxPhone}:null}function PO({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 n7=[["font","role"],["font","fontRole"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function s7(e){let o=[];for(let[t,a]of n7)t===e?o.push(a):a===e&&o.push(t);return o}function xa(e,o,t,a){let r={...Yl(e,o)},n=a==null?null:t7(t,a);if(n===null)delete r[t];else{r[t]=n;for(let s of s7(t))delete r[s]}return TO(e,o,r)}function EO(e,o){return TO(e,o,{})}function l7(e){return MV(e)??"none"}function i7(e){return NV(e)??""}var yO={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 c7(e,o){return Qt(e.role)||(o?.blockDrawsStyle?null:WV(e.textStyle))}function OO(e,o){return e==="Text"&&o==="text"}var d7={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 f7(e){let o=yn[e],t=d7[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function Xl(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=cs(p7+e.line*UV,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=cs(e.letter*jV,4)),o}var p7=1,Wr="--sf-part-para";function u7(e){e=ds(e);let o={};if(typeof e.sizePhone=="number"&&e.sizePhone>0)o.fontSize=`${e.sizePhone}px`;else{let a=gI(e.sizeToken);if(a)o.fontSize=PO(a);else{let r=Yf(e);r!==void 0&&(o.fontSize=`${r}px`)}}let t=e.alignPhone??qf(e);return t&&(o.textAlign=t),o}function qf(e){return e.alignTablet&&e.alignTablet!==e.align?e.alignTablet:void 0}function Yf(e){let o=Vo("textSize",e.size,e.sizeTablet,void 0).tablet;return o&&o>0?o:void 0}function m7(e){let o=ds(e),t={},a=Yf(o);a!==void 0&&(t.fontSize=`${a}px`);let r=qf(o);return r&&(t.textAlign=r),t}function _O(e,o){if(o==="desktop")return;let t=ds(e);return(o==="mobile"?qf(t):void 0)??t.align}function h7(e,o){if(o==="desktop")return e;let t=ds(e),a=Yf(t),r=qf(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=gI(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 II(e,o,t){return yI(h7(e,o),Xf,t)}function bI(e){return e==="mobile"?"sizePhone":e==="tablet"?"sizeTablet":"size"}function AO(e,o){if(o==="desktop")return null;let t=ds(e);if(o==="mobile"){if(gI(t.sizeToken))return null;let a=Yf(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 RO(e,o){let t=bI(o);if(!Object.hasOwn(e,t))return e;let a={...e};return delete a[t],a}function I0e(e,o,t){let a=II(RO(e,o),o,t);return{fontFamily:a.fontFamily,fontSize:a.fontSize}}function yI(e,o,t){e=ds(e);let a=c7(e,t),r=Xl(e),n=e.size?`${e.size}px`:e.sizeToken?PO(e.sizeToken):a?f7(a):"";return{fontFamily:e.font?b7(e.font):e.fontRole?`var(${yO[e.fontRole]})`:a?`var(${yO[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:i7(e.case),textAlign:e.align??"",paddingTop:SO(e.padding),paddingBottom:SO(e.padding),color:x7(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var x7=e=>Hn(e),SO=e=>e===void 0?"":`${e}px`,cs=(e,o)=>Number(e.toFixed(o));function b0e(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:g7(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:I7(e.textAlign),case:l7(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0}}function g7(e){return Number.isFinite(e)?GV.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function I7(e){for(let o of ql)if(o===e)return o;return e==="end"?"right":"left"}function y0e(e,o){let t=wO(e);if(!t)return"";for(let a of xt)if(wO(o(a.cssVar))===t)return a.key;return""}var wO=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function b7(e){let o=bn(e);return o?`var(${o.cssVar})`:""}function S0e(e,o,t,a){return!o||Mg(o)?.nodeId!==e?null:t.find(r=>a(r.getAttribute("class")))??t[0]??null}function y7(e,o){return Object.hasOwn(e,o)?ss(e[o])??{}:{}}function w0e(e,o,t=()=>Xf,a=l=>l,r=v7,n="desktop",s=()=>!1){let l=0;for(let{element:c,partId:d}of e){let f=Mg(d)?.propKey;if(!f)continue;let u=y7(o,a(f)),p=II(u,n,{blockDrawsStyle:s(f)});Gr(u.textStyle)?c.setAttribute?.(is,u.textStyle):c.removeAttribute?.(is);let x=iI.some(I=>c.style[I]),g=!1;for(let[I,k]of Object.entries(p))T7(c,I,k),k&&(g=!0);if(x||iI.some(I=>p[I]))for(let I of S7(c,r))for(let k of iI)I.style[k]=p[k]??"";g&&(l+=1)}return l}function S7(e,o){let t=as(e.textContent??""),a=[],r=e;for(let n=0;n<w7&&o(r);n+=1){let s=r.parentElement;if(!s||as(s.textContent??"")!==t)break;a.push(s),r=s}return a}var w7=8;function v7(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Xf={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0};function C7(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 k7(e,o){let t=C7(e);if(!t)return{};let a=II(t,o);return{...a.fontFamily?{fontFamily:a.fontFamily}:{},...a.fontSize?{fontSize:a.fontSize}:{}}}function LO(e){return Gr(e?.textStyle)||!!e?.role||typeof e?.size=="number"&&e.size>0}function v0e(e,o,t){if(!e||typeof e!="object")return{};let a=Yc(e.role,o,yn)??{},r=o.sized?k7(RO(e,t),t):{};return{...a,...r}}function C0e(e,o,t){t.fontFamily&&e.fontFamily===t.fontFamily&&(e.fontFamily=o.fontFamily),t.fontSize&&e.fontSize===t.fontSize&&(e.fontSize=o.fontSize)}function T7(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?.(vO,""):r.removeAttribute?.(vO))}var vO="data-sf-part-para",P7=Object.keys(yI({},Xf)),cI=new Set(["color","overflowWrap",Wr,"fontStyle"]),iI=P7.filter(e=>!cI.has(e));function FO(e,o,t,a=l=>l,r=()=>!1,n=()=>null,s=[]){let l=new Map;for(let u of e){let p=ts(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 c=new Map;for(let u of new Set([...Object.keys(o),...s])){if(!E7(u))continue;let p=CO(t,u,ss(o[u])??{},!1,n(u));p&&c.set(u,p)}let d=u=>{let p=a(u),x=n(p);if(!Object.hasOwn(o,p)&&!x)return null;let g=ss(o[p])??{};return CO(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=d(g);I&&f.set(u,I)}for(let u of e){if(!u.keyed)continue;let p=d(ts(u.key,u.row));p&&c.set(u.key,p)}return f.size||c.size?{rules:f,kindRules:c,drawn:new Set(l.keys())}:null}function CO(e,o,t,a,r){let n=yI(t,Xf,{blockDrawsStyle:a}),s=m7(t),l=u7(t),c=Gr(t.textStyle)?t.textStyle:void 0;return!Object.values(n).some(Boolean)&&!Object.keys(s).length&&!Object.keys(l).length&&!c&&!r?null:{stamp:O7(e,o),declarations:n,...Object.keys(s).length?{tablet:s}:{},...Object.keys(l).length?{phone:l}:{},...c?{textStyle:c}:{},...r?{motion:r}:{}}}function E7(e){return e.startsWith("@")}function SI(e,o){return e?.kindRules.get(o)??null}function O7(e,o){let t=a=>a.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function BO(e,{inBox:o=!1}={}){let t=o?IO:Uf,a=o?zf:ns,r=[],n=new Set,s=l=>{let{stamp:c,declarations:d}=l;if(n.has(c))return;n.add(c);let f=Object.entries(d).filter(([,S])=>S!==""),u=S=>S.map(([v,b])=>`${_7(v)}: ${b}`).join("; "),p=`[${fI}="${c}"]`,x=f.filter(([S])=>!cI.has(S)),g=f.filter(([S])=>cI.has(S));x.length&&r.push(`${p}, *:has(> ${p}) { ${u(x)} }`),g.length&&r.push(`${p} { ${u(g)} }`),d[Wr]&&(r.push(`*:has(> ${p}) { ${Wr}: ${d[Wr]} }`),r.push(...Jf(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 Jf(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 _7=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function DO(e,o){if(!e)return null;let t=as(o),a=e.rules.get(t);if(a)return a;if(t.length<A7||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 A7=8;function NO(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 wI=e=>e==="sentence"?"none":void 0,GO=["font","color","size","sizeTablet","sizePhone","weight","italic","lineHeight","lineHeightTablet","lineHeightPhone","letterSpacing","letterSpacingTablet","letterSpacingPhone","paragraphSpacing","paragraphSpacingTablet","paragraphSpacingPhone","letterCase","largestSize","largestSizeTablet","largestSizePhone"],fs=["desktop","tablet","phone"],Jl=(e,o)=>o==="desktop"?e:o==="tablet"?B7(e):F7(e),$r=(e,o)=>o==="desktop"?e:L7(e,o);function kI(e,o,t,a=gr()){return WO("textSize",o,e.sizeTablet,e.sizePhone,a)[t]}var D7=[["lineSpacing","lineHeight","line"],["letterSpacing","letterSpacing","letter"]];function vI(e){for(let[o,t,a]of D7)for(let r of fs)if(e===$r(o,r))return{key:Jl(t,r),view:r,spacing:a};return{key:e,view:"desktop",spacing:null}}function Vt(e){let o={};for(let t of GO)e[t]!==void 0&&(o[t]=e[t]);return o}function TI(e,o){let{auto:t,...a}=e,r=new Set(o??[]),n=GO.filter(s=>r.has(s)&&e.values[s]===void 0);return n.length?{...a,auto:n}:a}function $O(e){let o=e.fonts,t=e.sizes,a=e.typography,r=yw(e.compression),n={"heading-1":{font:J(o.heading),size:j(t.headingLarge),weight:j(a.weight),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:wI(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:wI(a.case2)},"heading-3":{font:J(o.heading3),size:j(t.headingSmall),weight:j(a.weight3),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:wI(a.case3)},"body-1":{font:J(o.body),size:j(t.body)},"body-5":{font:J(o.label),size:j(t.label)}};return HO().map(({id:s,kind:l,name:c})=>({id:s,kind:l,name:c,values:Vt(n[s]??{})}))}function PI(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=>TI({...o,values:Vt(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function N0e(e){return PI(e)??[]}function zO(e){return PI(e)??HO().map(({id:o,kind:t,name:a})=>({id:o,kind:t,name:a,values:{}}))}function ga(e,o){let t=$O(o),a=PI(e);return a?a.map(r=>{let n={...CI(t,r.id)};for(let s of r.auto??[])delete n[s];return{...r,values:Vt({...n,...r.values})}}):t}var CI=(e,o)=>e.find(t=>t.id===o)?.values??{},MO=["heading-1","heading-2","heading-3"];function UO({saved:e,old:o,cur:t,next:a,sizeOf:r,panelView:n="desktop"}){let s=$O(o),l=zO(e),c=ga(l,o),d=[],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=N7([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=>vI(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}=vI(T),O=F,R=S[T];if(R===void 0){delete I[O],CI(s,p.id)[O]!==void 0&&(d.push([p.id,O]),k.add(O));continue}if(k.delete(O),D==="line")I[O]=ps(R/100,3);else if(D==="letter"){let N={...c.find(L=>L.id===p.id)?.values??{}};for(let L of b)S[L]===void 0&&delete N[vI(L).key];let y=Vt({...N,...I}),A=kI(y,r({...p,values:y}),P);I[O]=A?ps(R/A,4):0}else I[O]=R}return TI({id:p.id,kind:p.kind,name:p.name,values:Vt(I)},k)}),u=o.compression;if(d.some(([p,x])=>(x==="lineHeight"||x==="letterSpacing")&&MO.includes(p))&&ir(u)!=="normal"){for(let p of MO){let x=f.find(I=>I.id===p);if(!x)continue;let g={...x.values};for(let I of["lineHeight","letterSpacing"])d.some(([k,S])=>k===p&&S===I)||g[I]===void 0&&!(x.auto??[]).includes(I)&&(g[I]=CI(s,p)[I]);x.values=Vt(g)}u="normal"}return{saved:f,old:{...o,compression:u}}}function jO(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=ir(e.old.compression)),t}var ps=(e,o)=>Number(e.toFixed(o)),KO=(e,o)=>fs.indexOf(e)<fs.indexOf(o)?o:e;function VO(e,o,t="desktop"){return e.map(a=>{let r={...a.values},n=o(a);for(let s of fs){let l=Jl("lineHeight",s),c=a.values[l],d=a.values[Jl("letterSpacing",s)];delete r[l],c!==void 0&&(r[$r("lineSpacing",s)]=ps(c*100,1));let f=KO(s,t);d!==void 0&&(r[$r("letterSpacing",s)]=ps(d*kI(a.values,n,f),f===s?2:4))}return{id:a.id,kind:a.kind,name:a.name,values:r}})}function N7(e,o,t="desktop"){return e.map(a=>{let r=a.values,n={...r};for(let d of fs)delete n[$r("lineSpacing",d)],delete n[$r("letterSpacing",d)];let s={id:a.id,kind:a.kind,name:a.name,values:Vt(n)},l={...s.values},c=o({...s,values:{...s.values}});for(let d of fs){let f=r[$r("lineSpacing",d)],u=r[$r("letterSpacing",d)];if(typeof f=="number"&&(l[Jl("lineHeight",d)]=ps(f/100,3)),typeof u=="number"){let p=kI(s.values,c,KO(d,t));l[Jl("letterSpacing",d)]=p?ps(u/p,4):0}}return{...s,values:Vt(l)}})}function M0e(e){let o={fonts:Vs({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:Sm({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:ww(e)},t=e.text_styles??null,a=Array.isArray(t)?EI(ga(t,o),o):o;return{fonts:Vs(a.fonts),sizes:Sm(a.sizes),compression:ir(a.compression),typography:a.typography,textStyles:t}}function EI(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"),c=o.fonts,d=o.sizes,f=o.typography,u=p=>p==="none"?"sentence":"authored";return{fonts:{...c,heading:a.font??c.heading,heading2:r.font??a.font??c.heading2,heading3:n.font??a.font??c.heading3,body:s.font??c.body,label:l.font??c.label},sizes:{...d,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 H0e(e){let o=[];for(let t of e){let a=t.values,r=`.${NO(t)}`,n=`[${is}="${t.id}"]`,s=`${r}, ${n}`,l=[],c=a.font!==void 0?xt.find(p=>p.key===a.font)?.cssVar:void 0;if(c&&l.push(`font-family: var(${c})`),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 d=Hn(a.color);d&&l.push(`color: ${d}`),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=R7(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(...Jf(`:is(${s})`,`*:has(> ${n})`))),o.push(...M7(t,s,r,n))}return o.join(`
|
|
61
|
+
`)}function M7(e,o,t,a){let r=e.values,n=Vo("textSize",r.size,r.sizeTablet,r.sizePhone),s=Vo("textSize",r.largestSize,r.largestSizeTablet,r.largestSizePhone),l=Vo("same",r.lineHeight,r.lineHeightTablet,r.lineHeightPhone),c=Vo("same",r.letterSpacing,r.letterSpacingTablet,r.letterSpacingPhone),d=Vo("spacing",r.paragraphSpacing,r.paragraphSpacingTablet,r.paragraphSpacingPhone),f=WO("textSize",r.size,r.sizeTablet,r.sizePhone,gr()),u=H7[e.id],p=[];for(let[x,g]of[["tablet",Uf],["phone",ns]]){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]}`),c[x]!==void 0&&C.push(`letter-spacing: ${c[x]}em`),e.kind==="body"&&k.push(...C),d[x]!==void 0&&k.push(`--sf-part-para: ${d[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("; ")} }`),d[x]!==void 0&&I.push(`*:has(> ${a}) { --sf-part-para: ${d[x]}px }`),d[x]!==void 0&&!r.paragraphSpacing&&I.push(...Jf(`: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 H7={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function W0e(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function qO(e){return e?Vf[e]:void 0}function OI(e){let o=Xl(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 YO(e){return Object.keys(OI(e)).length>0}function XO({saved:e,old:o,styleId:t,values:a}){let r=zO(e);return{saved:W7(r,t,a),old:o}}function W7(e,o,t){return e.map(a=>a.id===o?TI({...a,values:Vt({...a.values,...t})},a.auto):a)}var j7={desktop:"desktop",tablet:"tablet",mobile:"phone"},JO=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],K7=["size","lineSpacing","letterSpacing","letterCase"],V7=500,_I=xt.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function ZO({saved:e,old:o,colours:t,colourNameOf:a,sizeOf:r,onChange:n,openId:s,onOpenChange:l,readOnly:c=!1,withoutSize:d=!1}){let f=U7(),[u,p]=$7(null),x=ga(e,o),g=j7[f],I=VO(x,r,g);return G7(z7,{styles:I,onChange:k=>n(UO({saved:e,old:o,cur:I,next:k,sizeOf:r,panelView:g})),fonts:_I,colours:t,colourNameOf:a,settings:d?JO.filter(k=>k!=="size"):JO,auto:K7,openId:s===void 0?u:s,onOpenChange:l??p,readOnly:c,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=V7),v}})}var e_=["font","size","weight","emphasis"],X7=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 Z7(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 o_(e){let{headingWeight:o,open:t,onOpenChange:a,onChange:r,withoutSize:n=!1}=e,s=J7(e);return QO(Y7,{label:i("Emphasis"),children:QO(q7,{style:s,fonts:_I,settings:n?e_.filter(l=>l!=="size"):e_,auto:["size"],fallback:()=>({weight:o??X7}),open:t,onOpenChange:a,onChange:l=>Z7(s,l).forEach(r)})})}import{EmptyState as vq,SliderGroup as Cq,Tabs as kq,Tooltip as iOe,tabButtonId as Tq,tabPanelId as Pq}from"efficient-shell/ui";import{ContrastIcon as Eq,SettingsIcon as Oq,TypeIcon as _q}from"efficient-easel/icons";function t_(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 FI}from"react/jsx-runtime";import{ListIcon as fq,PaddingTopIcon as pq}from"efficient-easel/icons";import{jsx as Zf}from"react/jsx-runtime";import{SettingsDefaultReset as Q7,SettingsField as eq,SettingsSegmented as oq}from"efficient-easel/panel";import{WidthIcon as tq}from"efficient-easel/icons";function a_({value:e,resolved:o,onChange:t,label:a="Width",labelId:r,followsLabel:n,hint:s}){let l=e===void 0,c=l?o:e,d=i(a);return Zf(eq,{label:d,labelId:r,icon:Zf(tq,{}),value:l?n:void 0,changed:!l,action:Zf(Q7,{words:ne()?.panel,label:d,changed:!l,onReset:()=>t(void 0)}),hint:s,children:Zf(oq,{options:[{label:i(Lr.full),id:"full"},{label:i(Lr.page),id:"content"}],value:c,ariaLabel:d,onChange:t})})}import{HEADER_TYPE as AI,FOOTER_TYPE as aq}from"efficient-easel/draw";var rq=new Set(["Hero","HeroSingle","IntroBleed"]),r_={min:56,max:140,default:88},cEe={min:0,max:120,step:2,default:32},dEe=`var(--sf-header-h, ${r_.default}px)`,nq="--sf-header-set-h",fEe="--sf-header-h",pEe=`var(${nq}, ${r_.default}px)`,uEe="sf-header-clearance",mEe="sf-sticky-underheader";function sq(e){return e?.find(o=>o?.type&&o.type!==AI)??null}function n_(e){let o=sq(e)?.type;return!o||!rq.has(o)}function hEe(e){return!n_(e)}function xEe(e){return!!e?.some(o=>o?.type===AI)}function gEe(e){return!e||e.length===0?!1:!e.some(o=>o?.type===AI||o?.type===aq)}var lq=["auto","shared","own"],RI="auto",iq="topSpace",IEe="data-top-space";function cq(e){return lq.includes(e)?e:RI}function dq(e,o){let t=cq(e?.props?.[iq]);return t==="own"?!0:t==="shared"?!1:n_(o)}function bEe(e,o){return dq(e,o)?"own":null}function uq(){return{type:"custom",render:({value:e,onChange:o})=>FI(a_,{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 mq=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],_Ee={pageBackground:cE(),topSpace:Tt("Top space",FI(pq,{}),mq,RI),widthChoice:uq()},Zl=["pageBackground","topSpace","widthChoice"],hq="Record type",LI=new Map,s_=-1;function xq(e){s_!==Yh()&&(LI.clear(),s_=Yh());let o=qh(),t=o.some(r=>r.key===e)?"":e,a=LI.get(t);return a||(a=Tt(hq,FI(fq,{}),[...o.map(r=>({label:r.label,value:r.key})),...t?[{label:t,value:t}]:[]],Fa),LI.set(t,a)),a}var l_=new WeakMap;function AEe(e,o){if(!Il()||qh().length<2||id in e)return e;let t=xq(gl(o)),a=l_.get(e);if(a&&a.row===t)return a.fields;let r={[id]:t,...e};return l_.set(e,{row:t,fields:r}),r}import{previewFrame as Aq}from"efficient-easel/screen/lib/document/preview-dom";var i_="background";function c_(e){let o=Bo(Sn(e));return Wn({main:o.accent,text:o.text,background:o.background,muted:o.muted}).map(t=>({key:t.name,name:t.label??t.name,value:t.value}))}function d_(e){return c_(e).filter(o=>o.key!==i_)}function f_(e){let o=c_(e).filter(t=>t.key===i_);return t=>{let a=qo(t);return o.find(r=>r.key===a)?.value??a}}import{useEasel as gq}from"efficient-easel/easel";function Qf({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=gq(P=>P),{fonts:r,setFonts:n,sizes:s,setSizes:l,headingCompression:c,setHeadingCompression:d,headingTypography:f,setHeadingTypography:u,textStyles:p,setTextStyles:x}=xe(),g=t.data,I=g.root?.props??{},k=e?Vs(I.fonts):r,S=e?hw:s,v=e?ir(I.headingCompression):c,b=e?Sw(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=EI(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),d(O.compression),u(O.typography)),o(jO(P,C),D)},writeRoot:F}}import{pictureShadowColor as Rq}from"efficient-easel/screen/lib/document/shadow-values";var DI="sf-site-styles",Lq="sf-site-styles-tabpanel",m_="text",hs="basics",p_="this-page-group",us=[{id:hs,label:"Basics",icon:be(Oq,{})},{id:"theme",label:"Theme",icon:be(Eq,{})},{id:"text",label:"Text",icon:be(_q,{})}];function Fq({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=u_(d=>d),{theme:r,setTheme:n}=xe(),s=t.data,l=s.root?.props??{},c=d=>{if(e){let f={...l,theme:d};a({type:"replaceRoot",root:{...s.root,props:f},recordHistory:!0})}else n(d);o({selected_preset:d.selected,theme_presets:d.themes})};return be(XE,{value:e?l.theme:r,onChange:c})}function Bq({themeFromDocument:e,persist:o}){let[t,a]=NI(null),{theme:r,setFonts:n,setSizes:s,setHeadingTypography:l}=xe(),c=Qf({themeFromDocument:e,persist:o}),{old:d,saved:f,writeRoot:u}=c,p=c.fonts,x=c.sizes,g=c.typography,I=P=>P.values.size??Hq(Dq[P.id]??"body")??Nq[P.kind],k=P=>c.write(P),S=d_(r),v=f_(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(ms,{children:[be(ZO,{saved:f,old:d,colours:S,colourNameOf:v,sizeOf:I,onChange:k,openId:t===BI?null:t,onOpenChange:a,withoutSize:e}),be(o_,{font:p.accent,size:x.accent,weight:g.weightStrong,italic:g.italicStrong,headingWeight:g.weight,open:t===BI,onOpenChange:P=>a(P?BI: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 BI="accent",Dq={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},Nq={heading:32,body:14},Mq={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 Hq(e){if(typeof document>"u")return null;let o=(Aq()?.contentDocument??document).querySelector(Mq[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function Wq({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=u_(u=>u),{cornerRadiusPx:r,setCornerRadiusPx:n}=xe(),s=t.data,l=s.root?.props??{},c=l.cornerRadiusPx===void 0?gw[xw(l.cornerStyle)]:Mt(l.cornerRadiusPx),d=e?c:r,f=u=>a({type:"replaceRoot",root:{...s.root,props:{...l,...u}},recordHistory:!0});return be(JE,{value:d,onChange:u=>{e?f({cornerRadiusPx:u}):n(u),o({corner_radius_px:u})}})}function Gq(e){return{site_width:e}}function $q({persist:e}){let{siteWidth:o,setSiteWidth:t,sectionBackgroundWidth:a,setSectionBackgroundWidth:r,sectionContentWidth:n,setSectionContentWidth:s}=xe();if(MI()!=="desktop")return null;let l=typeof o=="number"?o:xo.default,c=u=>{t(u),e(Gq(u),u===null)},d=u=>{r(u),e({section_background_width:u},!0)},f=u=>{s(u),e({section_content_width:u},!0)};return zr(ms,{children:[be(mO,{value:a??"full",changed:a!==null,detail:i("Full width"),onChange:d,onReset:()=>d(null),hint:pO}),be(hO,{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=>c(u),onReset:()=>{f(null),c(null)},hint:uO})]})}function zq(e){return{block_gap:e}}function Uq(e){return{block_gap_phone:e}}function jq(e){return{site_gutter:e}}function Kq(e){return{site_gutter_phone:e}}function h_(e,[o,t],a){o(e),a(t(e),e===null)}function Vq({persist:e}){let{siteGutter:o,siteGutterPhone:t,setSiteGutter:a,setSiteGutterPhone:r}=xe(),n=dO(MI(),{gutter:o,phone:t});if(!n)return null;let s=n.key==="site_gutter_phone"?[r,Kq]:[a,jq];return be(fO,{value:n.value,onChange:l=>h_(l,s,e),unsetPx:n.unsetPx,bounds:n.bounds})}function qq({persist:e}){let{blockGap:o,blockGapPhone:t,setBlockGap:a,setBlockGapPhone:r}=xe(),n=aO(MI(),{gap:o,phone:t});if(!n)return null;let s=n.key==="block_gap_phone"?[r,Uq]:[a,zq];return be(rO,{value:n.value,onChange:l=>h_(l,s,e),followsPx:n.followsPx})}function Yq({persist:e}){return zr(ms,{children:[be($q,{persist:e}),be(Vq,{persist:e}),be(qq,{persist:e})]})}function Xq(e){return{card_shadow:e}}function Jq(e){return e===null?{shadow_color:null}:{shadow_color:Rq(e)}}function Zq(e){return{hover_effect:e}}function Qq({persist:e}){let{cardShadow:o,setCardShadow:t,shadowColor:a,setShadowColor:r,hoverEffect:n,setHoverEffect:s}=xe();return zr(ms,{children:[be(ZE,{value:o,onChange:l=>{t(l),e(Xq(l),!0)}}),be(oO,{value:a,onChange:l=>{r(l),e(Jq(l),l===null)}}),be(nO,{value:n,onChange:l=>{s(l),e(Zq(l),!0)}})]})}function eY(e){return{photography_grayscale:e}}function oY({persist:e}){let{photographyGrayscale:o,setPhotographyGrayscale:t}=xe();return be(lO,{value:o,onChange:a=>{t(a),e(eY(a),!0)}})}function tY({persist:e}){return be(ms,{children:be(oY,{persist:e})})}function aY(e){return{share_button_on_posts:e}}function rY({persist:e}){let{shareButtonOnPosts:o,setShareButtonOnPosts:t}=xe();return be(iO,{value:o,onChange:a=>{t(a),e(aY(a),!0)}})}function xs(){let{websiteName:e}=xe();return e?.trim()||Nw}function ep({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:a,tab:r,onTabChange:n,initialTab:s,revealPageGroup:l=!1,onPageGroupRevealed:c}){let{persist:d}=Un({themeFromDocument:e,tokenRef:o,siteId:t,onResult:k=>{let S=t_(k);S&&a?.(S.msg,S.tone)}}),[f,u]=NI(s??us[0].id),p=r!==void 0,x=p?r:f,g=p?n??(()=>{}):u,I=us.find(k=>k.id===x)??us[0];return zr(Cq,{children:[be(lY,{activeId:I.id,onSelect:g}),zr("div",{id:Pq(DI,I.id),className:Lq,role:"tabpanel","aria-labelledby":Tq(DI,I.id),children:[x===hs&&zr(ms,{children:[be(Wq,{themeFromDocument:e,persist:d}),!e&&be(Qq,{persist:d}),!e&&be(Yq,{persist:d}),!e&&be(tY,{persist:d}),!e&&be(rY,{persist:d}),be(nY,{reveal:l,onRevealed:c})]}),x==="theme"&&be(Fq,{themeFromDocument:e,persist:d}),x==="text"&&be(Bq,{themeFromDocument:e,persist:d})]})]})}function nY({reveal:e,onRevealed:o}){let[t,a]=NI(!0),r=wq(o);return r.current=o,Sq(()=>{if(!e)return;a(!0);let n=requestAnimationFrame(()=>{document.getElementById(p_)?.scrollIntoView({block:"start"}),r.current?.()});return()=>cancelAnimationFrame(n)},[e]),be(yq,{title:i("This page"),open:t,onToggle:a,id:p_,children:be(sY,{})})}function sY(){let{fields:e,values:o,readOnly:t,onChange:a}=Iq(),r=Object.fromEntries(Zl.filter(n=>n in e).map(n=>[n,e[n]]));return Object.keys(r).length===0?be(vq,{variant:"none",icon:!1,message:i("This page has no look of its own to set.")}):be(bq,{fields:r,values:o,onChange:a,readOnly:t,tabs:!1,idPrefix:"this-page",ariaLabel:i("This page")})}function lY({activeId:e,onSelect:o}){return be("div",{className:"es-insp-tabs",children:be(kq,{variant:"underline",block:!0,labelsFit:!0,"aria-label":i("Styles"),idPrefix:DI,value:e,onChange:o,items:us.map(t=>{let a=i(t.label);return{id:t.id,icon:t.icon,label:a}})})})}import{InspectorIconButton as gY}from"efficient-easel/chrome";import{Button as v_,Dialog as IY,FormField as bY,Input as C_,PopupMenu as yY,PopupMenuItem as k_,toast as T_}from"efficient-shell/ui";import{LayersTree as SY,TreeGroupLabel as wY,TreeRow as P_,TreeRowAction as rp}from"efficient-easel/tree";import{AddIcon as vY,DuplicateIcon as CY,PageIcon as kY,SettingsIcon as TY}from"efficient-easel/icons";import{PagesIcon as PY}from"efficient-easel/rail";import{useEaselHost as EY}from"efficient-easel/screen/lib/host";import{useEaselSession as A_}from"efficient-easel/screen/lib/session-context";import{useCallback as op,useEffect as iY,useSyncExternalStore as cY}from"react";import{useScreenDocument as b_}from"efficient-easel/screen/components/ScreenDocumentContext";var x_=new WeakMap;function Ql(e){let o=x_.get(e);return o||(o={rows:null,loading:null,listeners:new Set},x_.set(e,o)),o}function HI(e,o){e.rows=o;for(let t of e.listeners)t()}var tp=new Set;function ap(e,o){o?tp.add(e):tp.delete(e)}function g_(e){let o=Ql(e),t=e.listPages().then(a=>HI(o,tp.size?a.filter(r=>!tp.has(r.id)):a),()=>HI(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var I_=()=>null,dY=()=>()=>{};function ei(){let{adapter:e,ready:o}=b_(),t=op(l=>{let{listeners:c}=Ql(e);return c.add(l),()=>c.delete(l)},[e]),a=op(()=>Ql(e).rows,[e]),r=cY(o?t:dY,o?a:I_,I_);iY(()=>{if(!o)return;let l=Ql(e);l.rows===null&&!l.loading&&g_(e)},[e,o]);let n=op(()=>o?g_(e):Promise.resolve(),[e,o]),s=op(l=>HI(Ql(e),l),[e]);return{rows:r,reload:n,setRows:s,getRows:a}}function fY(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function y_(){let{currentSlug:e}=b_(),{rows:o}=ei();return fY(o,e)}import{canDuplicatePage as OY,DuplicatePageDialog as _Y,uniqueSlug as E_}from"efficient-easel/page-copy";var O_="sf-editor-pages-collapsed-groups";function AY(){let e=A_(),{siteId:o,templateId:t}=__(),a=Ue(e).pages;if(!(!a.duplicate||t))return(r,n)=>a.duplicate(r.id,{...n,...o?{siteId:o}:{}})}function RY(){try{let e=Pn()||(typeof window>"u"?"":window.location.origin);return e?new URL(e).host:""}catch{return""}}function R_({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:a}){let r=A_().chrome?.pageRows,n=EY(),{adapter:s,capabilities:l,ready:c,currentSlug:d}=__(),f=xs(),{rows:u,reload:p,setRows:x,getRows:g}=ei(),[I,k]=qa(""),[S,v]=qa(!1),[b,C]=qa(null),[T,F]=qa(!1),[P,D]=qa(""),O=mY(),R=AY(),[N,y]=qa(null),[A,L]=qa(()=>{if(typeof window>"u")return new Set;try{let W=window.localStorage.getItem(O_);return new Set(W?JSON.parse(W):[])}catch{return new Set}});uY(()=>{try{window.localStorage.setItem(O_,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=w_(()=>Ek(u??[]),[u]),q=I.trim().toLowerCase(),U=W=>!q||W.toLowerCase().includes(q),ge=W=>q?!0:!A.has(W),te=w_(()=>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||!c||S||!s.createPage)){v(!0),C(null);try{let Fe=await s.createPage({slug:E_(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(!(!c||S||!s.createPage)){v(!0),C(null);try{let W=await s.createPage(BP(i("New popup"),te));await p(),e(W.slug)}catch{C(i("Couldn\u2019t add the popup \u2014 please retry."))}finally{v(!1)}}},Oe=hY(null),[Ge,oo]=qa(null),wo=()=>{if(!Ee)return Le();if(Ge)return oo(null);let W=Oe.current?.getBoundingClientRect();W&&oo({top:W.bottom+6,right:Math.max(8,window.innerWidth-W.right)})},he=W=>{let Fe=u??[],le=s.deletePage;if(!c||S||!le||Fe.length<=1)return;let Be=Fe.findIndex(Qe=>Qe.id===W.id),Ae=Fe.filter(Qe=>Qe.id!==W.id),ut=W.slug===d;ap(W.id,!0),x(Ae),C(null),ut&&Ae[0]&&e(Ae[0].slug);let Dt=()=>{ap(W.id,!1);let Qe=g()??[];if(Qe.some(Nt=>Nt.id===W.id))return;let mt=[...Qe];mt.splice(Math.max(0,Math.min(Be,mt.length)),0,W),x(mt)};T_.undoable(i("Deleted \u201C{name}\u201D",{name:W.label}),{actionLabel:i("Undo"),commit:async Qe=>{await le(W.id,Qe),ap(W.id,!1)},undo:()=>{Dt(),ut&&e(W.slug)},onFail:()=>{Dt(),T_.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===d,le=l.canDeletePagesInline&&(u??[]).length>1,Be=Cr(W),Ae=Pk(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,Qe=!!R&&OY(W),mt=Qe||l.pageCreationInAdminForm||le?oi(S_,{children:[Qe&&ve(rp,{kind:"plain",label:i("Duplicate \u201C{name}\u201D",{name:W.label}),disabled:S,onClick:()=>y(W),children:ve(CY,{size:13})}),l.pageCreationInAdminForm&&ve(rp,{kind:"plain",label:i("Page settings for \u201C{name}\u201D",{name:W.label}),onClick:()=>Ve(W.slug),children:ve(TY,{size:13})}),le&&ve(rp,{kind:"delete",label:i("Delete \u201C{name}\u201D",{name:W.label}),disabled:S,onClick:()=>he(W),children:ve(WI,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return ve(P_,{icon:ve(kY,{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 oi(pY,{children:[ve(wY,{count:Be.length,countLabel:Po("{n} page","{n} pages",Be.length),expanded:Ae,onToggle:()=>H(W),children:Fe}),Ae&&Be]},W)},Ze=(r?.rows??[]).filter(W=>U(W.label)).map(W=>{let Fe=t===W.key;return ve(P_,{icon:W.icon,name:W.label,selected:Fe,onSelect:()=>a(W.key),badge:{label:i("Preview"),tone:"warning"},actions:ve(rp,{kind:"plain",label:i("Open the {name} in a new tab",{name:W.label}),onClick:()=>window.open(W.href,"_blank","noopener,noreferrer"),children:ve(WI,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":W.key}},W.key)}),Bt=l.hasSiteSettings&&!!r,Fo=(()=>{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,Ze)),Fe=!0);let Be=le.key===Zh||le.label===Jh?i(le.label):le.label;W.push(ke(le.key,Be,le.rows.map(_e)))}return Bt&&!Fe&&W.push(ke("shop",r.title,Ze)),W})();return oi("div",{className:"sf-pages",children:[ve(xY,{icon:ve(PY,{}),title:i("Pages"),context:f,actions:ve(gY,{buttonRef:Oe,label:Ee?i("Add"):i("New page"),hasPopup:Ee?"menu":void 0,expanded:Ee?Ge!==null:void 0,onClick:wo,children:ve(vY,{size:15})})}),Ge&&ve(yY,{portal:!0,style:{top:Ge.top,right:Ge.right},onClose:()=>oo(null),children:oi("div",{role:"menu","aria-label":i("Add"),children:[ve(k_,{role:"menuitem",onClick:()=>{oo(null),Le()},children:i("Page")}),ve(k_,{role:"menuitem",disabled:S,onClick:()=>{oo(null),Ie()},children:i("Popup")})]})}),ve("div",{className:"sf-pages-find",children:ve(C_,{type:"search",leftIcon:ve(WI,{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}),Fo===null?ve("div",{className:"sf-note",children:i("Loading\u2026")}):Fo.some(Boolean)?ve(SY,{ariaLabel:i("Pages"),className:"sf-scroll",children:Fo}):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(_Y,{source:{title:N.label,slug:N.slug},taken:te,host:RY(),duplicate:W=>R(N,W),onClose:()=>y(null),onDuplicated:W=>{y(null),p(),e(W.slug)}},N.id),ve(IY,{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:oi(S_,{children:[ve(v_,{variant:"secondary",onClick:()=>F(!1),children:i("Cancel")}),ve(v_,{onClick:()=>{We()},disabled:S||!P.trim(),loading:S,children:i("Add page")})]}),children:ve(bY,{label:i("Page name"),htmlFor:O,hint:P.trim()?i("URL: /{slug}",{slug:E_(P,te)}):void 0,error:b??void 0,children:ve(C_,{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 B_}from"react/jsx-runtime";import{createContext as FY,useCallback as BY,useContext as DY,useMemo as NY,useState as MY}from"react";import{CanvasChromeContext as HY}from"efficient-easel/easel";import{useSelectHandler as WY}from"efficient-easel/draw/client";import{parseHexColor as LY}from"efficient-shell/format";var np=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],gs=np[0];var Ur="right";function sp(e){return np.includes(e??"")?e:gs}function L_(e){return e==="left"?"left":Ur}function F_(e){return e&&LY(e)===e.toLowerCase()?e.toLowerCase():""}var D_="chat",lp={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:Ur,launcherLabel:"",showOnPhones:!0};function QOe(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:F_(e.launcherColor),launcherIcon:e.launcherIcon?sp(e.launcherIcon):"",launcherPosition:L_(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var N_=FY({chat:lp,setChat:()=>{},setSelected:()=>{},setSelectHandler:()=>{}});function e_e({children:e,chat:o=lp,onChatChange:t}){let[a,r]=MY(!1),n=BY(d=>t?.(d),[t]),{select:s,setSelectHandler:l}=WY(),c=NY(()=>({selected:()=>a?D_:null,select:d=>d===D_&&s()}),[a,s]);return B_(N_.Provider,{value:{chat:o,setChat:n,setSelected:r,setSelectHandler:l},children:B_(HY.Provider,{value:c,children:e})})}var ip=()=>DY(N_);import{jsx as GI}from"react/jsx-runtime";import{DesktopIcon as GY,PhoneIcon as $Y,TabletIcon as zY}from"efficient-easel/icons";import{VIEW_TIERS as UY,VIEW_TIER_LABEL as jY}from"efficient-easel/draw";var KY={desktop:GI(GY,{}),tablet:GI(zY,{}),mobile:GI($Y,{})},M_=UY.map(e=>({id:e,get label(){return i(jY[e])},icon:KY[e]}));import{PreviewDeviceContext as Uce}from"efficient-easel/draw/client";import{jsx as VY}from"react/jsx-runtime";import{createContext as qY,useCallback as H_,useContext as YY,useMemo as XY,useRef as JY}from"react";var ZY=Object.fromEntries(Tc.map(e=>[e,{value:"",error:null}])),W_=qY({links:Hw,rows:ZY,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function d_e({children:e,value:o}){let t=JY(()=>{}),a=H_(()=>t.current(),[]),r=H_(s=>{t.current=s},[]),n=XY(()=>({...o,openPanel:a,setOpenHandler:r}),[o,a,r]);return VY(W_.Provider,{value:n,children:e})}var ti=()=>YY(W_);import{jsx as QY}from"react/jsx-runtime";import{createContext as e9,useContext as o9,useMemo as t9,useState as a9}from"react";var G_=e9(null);function m_e({children:e}){let[o,t]=a9(null),a=t9(()=>({surface:o,setSurface:t}),[o]);return QY(G_.Provider,{value:a,children:e})}function $_(){return o9(G_)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as r9}from"efficient-easel/draw/client";var ai="Scrolling Bar",{Provider:g_e,useSelection:z_}=r9("selectedHeroId"),I_e="data-sf-hero-ticker";function b_e(e){return`${e}::ticker`}function y_e(e){return!e||!e.endsWith("::ticker")?null:e.slice(0,-8)||null}var U_=["","","","","",""],j_="#ticker",ri="strip",$I={sectionAccent:ot,line:!1};function n9(e){return(Array.isArray(e.tickerItems)?e.tickerItems:[]).map(o=>typeof o?.text=="string"?o.text:"").filter(o=>o.trim()!=="")}function zI(e){return n9(e).length>0}function v_e(e){return e.showTicker!==!1&&zI(e)}import{createPreviewSelectionContext as s9}from"efficient-easel/draw/client";var{Provider:T_e,useSelection:cp}=s9("selectedHeroPart");var V_=["one","side","stacked"];var E_e={one:"One",side:"Side by side",stacked:"Stacked"};function dp(e){return V_.includes(e)?e:"one"}function K_(e){return e==="one"?1:2}function UI(e,o){if(V_.includes(e))return e;let t=dp(o);return t==="side"?"stacked":t}function ni(e){let o=dp(e.mediaLayout);return Math.max(K_(o),K_(UI(e.mediaLayoutPhone,o)))}var jr=["media","image","image2"],Kr={media:"Media",image:"Image",image2:"Image 2"},si={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function fp(e,o){return e==="image"&&ni(o)>1?"Image 1":Kr[e]}var R_e="Video file",L_e="Upload a video file";function l9(e,o){return{field:"mediaType",is:e,default:o}}var i9=new Set(["HeroSingle"]),q_="heroPart";function c9(e,o){return{...o,[q_]:e}}function F_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],l9(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]=c9(s,n[l]);return n}function d9(e){let o=e?.[q_];return jr.includes(o)?o:null}function Y_(e,o){let t={};for(let[a,r]of Object.entries(e))d9(r)===o&&(t[a]=r);return t}function X_(e){if(!i9.has(e.type))return[];let o=[{part:"media",label:Kr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:fp("image",e.props),depth:1}),ni(e.props)>1&&o.push({part:"image2",label:fp("image2",e.props),depth:1})),o}function li(e,o){return`${e}::${o}`}function J_(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 Z_="data-sf-hero-part";import{jsx as Se,jsxs as tr,Fragment as gD}from"react/jsx-runtime";import{useEasel as dne,useRootFields as fne}from"efficient-easel/easel";import{Button as pne,EmptyState as une}from"efficient-shell/ui";function Q_({kind:e,pageName:o}){return{name:o?.trim()||i("This page"),kindLabel:Cr({kind:e})?i("Template"):i("Page")}}import{headWords as SD,InspectorHead as mne,InspectorIconButton as ID}from"efficient-easel/chrome";import{DuplicateIcon as hne,TrashIcon as xne}from"efficient-easel/icons";import{panelFieldsOf as gne}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 u9,BlockBoxIcon as m9,BlockButtonIcon as h9,BlockDividerIcon as o1,BlockFooterIcon as t1,BlockHeadingIcon as x9,BlockProductIcon as g9,BlockSocialIcon as I9,BlockTextIcon as b9,CardPaymentIcon as y9,ChatIcon as S9,AccountIcon as w9,GlobeIcon as v9,GridIcon as C9,ImageIcon as KI,MapIcon as k9,MediaIcon as T9,PageIcon as P9}from"efficient-easel/icons";import{jsx as jI,Fragment as f9,jsxs as p9}from"react/jsx-runtime";var e1=p9(f9,{children:[jI("circle",{cx:"9",cy:"20",r:"1.3"}),jI("circle",{cx:"18",cy:"20",r:"1.3"}),jI("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 E9={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:e1,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"})},O9=B("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),_9={footer:t1,Footer:t1,Divider:o1,FooterDivider:o1,Banner:u9,Flex:m9,FooterSocial:I9,FooterPayment:y9,page:P9,website:v9,AccountBlock:w9,chat:S9,Heading:x9,Text:b9,ImageBlock:KI,ButtonBlock:h9,LocationMap:k9,Grid:C9,ProductRef:g9,heroMedia:T9,heroImage:KI,heroImage2:KI},A9={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",PaymentLogosBlock:"FooterPayment",SiteHeader:"header",SiteFooter:"footer"};function Vr({type:e,size:o=16,className:t}){let a=A9[e]??e,r=_9[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:E9[a]??O9})}import{PanelHideButton as bD}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as Ine}from"efficient-easel/screen/lib/session-context";import{jsx as Ce,jsxs as ii,Fragment as R9}from"react/jsx-runtime";import{useEffect as L9,useId as a1,useState as F9}from"react";import{IconPicker as B9}from"efficient-shell/ui";import{SettingsDefaultReset as D9,SettingsField as ci,SettingsSegmented as N9,SettingsSwitch as r1}from"efficient-easel/panel";import{ButtonIcon as M9,ButtonIconIcon as H9,EyeIcon as W9,PhoneIcon as G9,PlacementIcon as $9,TypeIcon as z9}from"efficient-easel/icons";var U9="Chat with us",j9="We usually reply within a few minutes",K9="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function pp({label:e,value:o,placeholder:t,onCommit:a,multiline:r=!1,hint:n}){let[s,l]=F9(o);L9(()=>l(o),[o]);let c=()=>{s!==o&&a(s)};return Ce(ci,{label:e,icon:Ce(z9,{}),changed:o!=="",action:Ce(di,{label:e,changed:o!=="",onReset:()=>a("")}),hint:n,children:r?Ce("textarea",{value:s,placeholder:t,rows:3,onChange:d=>l(d.target.value),onBlur:c,"aria-label":e}):Ce("input",{type:"text",value:s,placeholder:t,onChange:d=>l(d.target.value),onBlur:c,onKeyDown:d=>{d.key==="Enter"&&d.currentTarget.blur()},"aria-label":e,autoComplete:"off"})})}function di({label:e,changed:o,onReset:t}){return Ce(D9,{words:ne()?.panel,label:e,changed:o,onReset:t})}function V9({label:e,icon:o,checked:t,fallback:a,onChange:r,hint:n}){let s=a1();return Ce(ci,{label:e,labelId:s,icon:o,changed:t!==a,action:ii("span",{className:"inline-flex items-center gap-2",children:[Ce(r1,{checked:t,onChange:r,ariaLabelledBy:s}),Ce(di,{label:e,changed:t!==a,onReset:()=>r(a)})]}),hint:n})}var q9=np.map(e=>({value:e,icon:md(e)}));function Y9(){let{theme:e}=xe(),o=to(e).themes[0];return qs(o)??o?.accent??""}function n1(){let{chat:e,setChat:o}=ip(),t=a1(),a=Y9(),r=e.launcherIcon?sp(e.launcherIcon):gs;return ii(R9,{children:[Ce(ci,{label:i("Show the chat bubble"),labelId:t,icon:Ce(W9,{}),changed:!e.enabled,action:ii("span",{className:"inline-flex items-center gap-2",children:[Ce(r1,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),Ce(di,{label:i("Show the chat bubble"),changed:!e.enabled,onReset:()=>o({enabled:!0})})]}),hint:e.enabled?i("The floating chat bubble shows in the corner of every page."):i("The chat bubble is hidden across the whole site.")}),ii(Tg,{title:i("Look"),children:[Ce(Ho,{label:i("Button color"),icon:Ce(M9,{}),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(ci,{label:i("Icon"),icon:Ce(H9,{}),value:Ce(xg,{value:r}),changed:r!==gs,action:Ce(di,{label:i("Icon"),changed:r!==gs,onReset:()=>o({launcherIcon:""})}),children:Ce(B9,{label:i("Icon"),value:r,options:q9,onChange:n=>o({launcherIcon:n===gs?"":n})})}),Ce(ci,{label:i("Position"),icon:Ce($9,{}),changed:e.launcherPosition!==Ur,action:Ce(di,{label:i("Position"),changed:e.launcherPosition!==Ur,onReset:()=>o({launcherPosition:Ur})}),children:Ce(N9,{options:[{label:i("Right"),id:"right"},{label:i("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:i("Position"),onChange:n=>o({launcherPosition:n})})}),Ce(pp,{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(V9,{label:i("Show on phones"),icon:Ce(G9,{}),checked:e.showOnPhones,fallback:lp.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),ii(Tg,{title:i("Wording"),children:[Ce(pp,{label:i("Title"),value:e.title,placeholder:U9,onCommit:n=>o({title:n})}),Ce(pp,{label:i("Subtitle"),value:e.subtitle,placeholder:j9,onCommit:n=>o({subtitle:n})}),Ce(pp,{label:i("Greeting message"),value:e.greeting,placeholder:K9,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 mb,jsxs as d1}from"react/jsx-runtime";import{useEffect as kX,useId as i1,useState as c1}from"react";import{SettingsField as TX}from"efficient-easel/panel";import{jsx as xX}from"react/jsx-runtime";import{forwardRef as X9,createElement as VI}from"react";var s1={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=X9(({color:n="currentColor",size:s=24,stroke:l=2,title:c,className:d,children:f,...u},p)=>VI("svg",{ref:p,...s1[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${o}`,d].filter(Boolean).join(" "),...e==="filled"?{fill:n}:{strokeWidth:l,stroke:n},...u},[c&&VI("title",{key:"svg-title"},c),...a.map(([x,g])=>VI(x,g)),...Array.isArray(f)?f:[f]]));return r.displayName=`${t}`,r};var J9=[["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"}]],qI=ie("outline","brand-facebook","BrandFacebook",J9);var Z9=[["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"}]],YI=ie("outline","brand-instagram","BrandInstagram",Z9);var Q9=[["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"}]],XI=ie("outline","brand-line","BrandLine",Q9);var eX=[["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"}]],JI=ie("outline","brand-linkedin","BrandLinkedin",eX);var oX=[["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"}]],ZI=ie("outline","brand-pinterest","BrandPinterest",oX);var tX=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],QI=ie("outline","brand-telegram","BrandTelegram",tX);var aX=[["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"}]],eb=ie("outline","brand-tiktok","BrandTiktok",aX);var rX=[["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"}]],ob=ie("outline","brand-wechat","BrandWechat",rX);var nX=[["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"}]],tb=ie("outline","brand-whatsapp","BrandWhatsapp",nX);var sX=[["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"}]],ab=ie("outline","brand-x","BrandX",sX);var lX=[["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"}]],rb=ie("outline","brand-youtube","BrandYoutube",lX);var iX=[["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"}]],nb=ie("filled","brand-facebook-filled","BrandFacebookFilled",iX);var cX=[["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"}]],sb=ie("filled","brand-instagram-filled","BrandInstagramFilled",cX);var dX=[["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"}]],lb=ie("filled","brand-linkedin-filled","BrandLinkedinFilled",dX);var fX=[["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"}]],ib=ie("filled","brand-pinterest-filled","BrandPinterestFilled",fX);var pX=[["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"}]],cb=ie("filled","brand-tiktok-filled","BrandTiktokFilled",pX);var uX=[["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"}]],db=ie("filled","brand-whatsapp-filled","BrandWhatsappFilled",uX);var mX=[["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"}]],fb=ie("filled","brand-x-filled","BrandXFilled",mX);var hX=[["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"}]],pb=ie("filled","brand-youtube-filled","BrandYoutubeFilled",hX);var gAe="outline",up={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},gX={},ub={fillRule:"evenodd"},IX=[["path",{...up,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...ub,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],bX=[["path",{...up,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",{...gX,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("")}]],yX=[["path",{...up,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",{...up,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",{...ub,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",{...ub,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("")}]],SX=ie("filled","brand-telegram-filled","BrandTelegramFilled",IX),wX=ie("filled","brand-line-filled","BrandLineFilled",bX),vX=ie("filled","brand-wechat-filled","BrandWechatFilled",yX),CX={instagram:{outline:YI,solid:sb},facebook:{outline:qI,solid:nb},tiktok:{outline:eb,solid:cb},youtube:{outline:rb,solid:pb},x:{outline:ab,solid:fb},linkedin:{outline:JI,solid:lb},pinterest:{outline:ZI,solid:ib},whatsapp:{outline:tb,solid:db},telegram:{outline:QI,solid:SX},line:{outline:XI,solid:wX},wechat:{outline:ob,solid:vX}};function l1({platform:e,iconStyle:o,size:t}){let a=CX[e][o];return xX(a,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var PX={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 EX({platform:e}){let{rows:o,saveLink:t}=ti(),{value:a,error:r}=o[e],[n,s]=c1(a),[l,c]=c1(!1),d=i1(),f=i1();kX(()=>s(a),[a]);let u=async()=>{if(n.trim()===a){n!==a&&s(a);return}c(!0),await t(e,n),c(!1)},p=Mw[e];return d1(mb,{children:[qr(TX,{label:i(p),htmlFor:d,icon:qr(l1,{platform:e,iconStyle:"outline",size:18}),children:qr("input",{id:d,type:"text",inputMode:"url",value:n,placeholder:PX[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 f1({unavailable:e}){let{canSave:o}=ti();return!o&&e?qr(mb,{children:e}):d1(mb,{children:[qr("p",{className:"es-field-hint",children:i("Paste a link to each profile. A platform left empty shows nothing on the site.")}),Tc.map(t=>qr(EX,{platform:t},t))]})}import{jsx as Zr,Fragment as xQ,jsxs as gQ}from"react/jsx-runtime";import{useId as IQ,useMemo as bQ}from"react";import{useEasel as yQ}from"efficient-easel/easel";import{SettingsField as SQ,SettingsSwitch as wQ}from"efficient-easel/panel";import{EyeIcon as vQ}from"efficient-easel/icons";import{fieldShownInView as CQ}from"efficient-easel/fields";import{usePreviewDevice as kQ}from"efficient-easel/draw/client";import{jsx as Xr,Fragment as zJ,jsxs as UJ}from"react/jsx-runtime";import{createContext as jJ,useContext as KJ,useLayoutEffect as U1,useMemo as Tp,useRef as j1,useState as vb}from"react";import{useEasel as K1,useSelectedFields as VJ}from"efficient-easel/easel";import{fieldShownInView as qJ,Inspector as YJ,planFields as Cb}from"efficient-easel/fields";function p1({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 OJ}from"efficient-easel/screen/lib/document/box-fields";import{deviceField as _J,deviceMetaOf as A1}from"efficient-easel/screen/lib/document/device-fields";import{jsx as De,Fragment as HX,jsxs as WX}from"react/jsx-runtime";import{useRef as v1}from"react";import{phoneKey as Ia}from"efficient-easel/draw";import{SettingsDefaultReset as GX}from"efficient-easel/panel";import{ClockIcon as $X,DirectionDownIcon as zX,DirectionIcon as UX,DirectionLeftIcon as jX,DirectionRightIcon as KX,DirectionUpIcon as VX,DurationIcon as qX,EntranceBounceIcon as YX,EntranceFadeIcon as XX,EntranceFlipIcon as JX,EntranceGlideIcon as ZX,EntranceRevealIcon as QX,EntranceRiseIcon as eJ,EntranceScaleIcon as oJ,EntranceSpinIcon as tJ,NoSymbolIcon as aJ}from"efficient-easel/icons";import{effectTiles as rJ}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as Ss}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as nJ,noControlField as sJ}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{customize as lJ,describedAs as C1,group as iJ,onDesktopWords as cJ,phoneTwinFields as dJ}from"efficient-easel/screen/lib/document/box-fields";import{ENTRANCE_FROM as fJ,ENTRANCE_FROM_DEFAULT as k1,ENTRANCE_KINDS as vp,ENTRANCE_KINDS_WITH_FROM as S1,MOTION_TIMING as pJ,entranceAttrs as uJ,playEntrance as mJ,readEntrance as hJ}from"efficient-shell/format";import{jsx as gb}from"react/jsx-runtime";import{ClockIcon as RX,DurationIcon as LX}from"efficient-easel/icons";import{MOTION_TIMING as I1}from"efficient-shell/format";import{useSelectedHost as FX}from"efficient-easel/easel";import{MOTION_EASING as OX,MOTION_TIMING as u1,motionSeconds as m1}from"efficient-shell/format";var hb="none",mp=[{label:"None",value:"none"},{label:"Marquee",value:"scroll"}];function _Ae(e){return mo(mp,hb,e)}var fi={field:"loop",is:"scroll"},pi="left",xb=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],_X={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function h1(e){return mo(xb,pi,e)}function AAe(e){return e==="up"||e==="down"}function x1(e){return m1("loop","duration",e.loopDuration!=null?e.loopDuration:e.speed)}var RAe=u1.loop.duration.default,AX=u1.loop.delay.default;function g1(e){return m1("loop","delay",e.loopDelay)}function LAe(e,o,t=AX){return`${_X[e]} ${o}s ${OX.loop}${t?` ${t}s`:""} infinite`}function Is(e){let{min:o,max:t,step:a,default:r}=I1[e].duration;return Go("Duration",gb(LX,{}),o,t,a,r,"s")}function bs(e){let{min:o,max:t,step:a,default:r}=I1[e].delay;return Go("Delay",gb(RX,{}),o,t,a,r,"s")}function ys(e,o){let t=e.render,a=r=>{let n=FX();return t({...r,value:o(r.value,n?.values)})};return{...e,render:r=>gb(a,{...r})}}function hp({readsSpeed:e}){return ys(Is("loop"),(o,t)=>x1({loopDuration:o,speed:e?t?.speed:void 0}))}function xp(){return ys(bs("loop"),e=>g1({loopDelay:e}))}import{phoneKey as BX}from"efficient-easel/draw";import{readEntrance as DX}from"efficient-shell/format";var Ip="sf-entrance",Te={kind:"entrance",from:"entranceFrom",duration:"entranceDuration",delay:"entranceDelay"},bp="sectionAnimation",b1=e=>e!=null&&e!=="";function NX(e,o){let t=e[Te[o]];return o==="kind"&&!b1(t)?e[bp]:t}function gp(e,o,t){if(t==="phone"){let a=e[BX(Te[o])];if(b1(a))return a}return NX(e,o)}function ui(e,o){return DX(gp(e,"kind",o),gp(e,"from",o),gp(e,"duration",o),gp(e,"delay",o))}function yp(e){let o=ui(e,"desktop"),t=ui(e,"phone");return o.kind==="none"&&t.kind==="none"?null:{desktop:o,phone:t}}var MX={...Object.fromEntries([...iP].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)"},jAe=new Set(Object.keys(MX));var y1="_gEntrance";var Ib={none:"None",fade:"Fade",rise:"Rise",scale:"Scale",glide:"Glide",bounce:"Bounce",flip:"Flip",reveal:"Reveal",spin:"Spin"},xJ={top:"Top",bottom:"Bottom",left:"Left",right:"Right"},gJ={top:()=>De(zX,{}),bottom:()=>De(VX,{}),left:()=>De(KX,{}),right:()=>De(jX,{})},bb="Entrance",Sp=vp.filter(e=>e!=="none"),wp=e=>({any:[{field:Te.kind,in:e},{all:[{field:Te.kind,set:!1},{field:bp,in:e}]}]}),w1=e=>({any:[{field:Ia(Te.kind),in:e},{all:[{field:Ia(Te.kind),set:!1},wp(e)]}]}),IJ={any:[wp(Sp),{field:Ia(Te.kind),in:Sp}]},bJ=[[[Te.from],wp(S1)],[[Ia(Te.from)],w1(S1)],[[Te.duration,Te.delay],wp(Sp)],[[Ia(Te.duration),Ia(Te.delay)],w1(Sp)]],yJ={none:()=>De(aJ,{}),fade:()=>De(XX,{}),rise:()=>De(eJ,{}),scale:()=>De(oJ,{}),glide:()=>De(ZX,{}),bounce:()=>De(YX,{}),flip:()=>De(JX,{}),reveal:()=>De(QX,{}),spin:()=>De(tJ,{})},T1="data-entrance-tile";function SJ({kind:e}){let{attrs:o}=uJ(hJ(e,k1));return De("span",{className:"sf-entrance-stage",[T1]:e,children:De("i",{...o,children:yJ[e]()})})}var wJ=e=>o=>{let t=e.current?.querySelector(`[${T1}="${o}"] > i`);t&&mJ(t)},P1=e=>rJ({label:i(bb),options:vp.map(o=>({value:o,label:i(Ib[o]),picture:De(SJ,{kind:o})})),fallback:"none",onPreview:e?wJ(e):void 0});function E1({row:e,children:o}){return De("div",{ref:e,style:{display:"contents"},children:o})}function vJ({value:e,onChange:o}){let t=rt(),a=ui({...t,[Te.kind]:e},"desktop").kind,r=v1(null);return De(E1,{row:r,children:P1(r).render({value:a,onChange:n=>o(n??"none")})})}function CJ({value:e,onChange:o}){let t=rt(),a=typeof e=="string"&&vp.includes(e),r=ui(t,"desktop").kind,n=v1(null);return WX(HX,{children:[De(E1,{row:n,children:P1(n).render({value:a?e:r,onChange:o})}),a&&De(GX,{words:ne()?.panel,label:i(kJ),changed:a,detail:cJ(s=>i(s),i(Ib[r])),onReset:()=>o(void 0)})]})}var kJ="Effect",O1={type:"select",label:bb,options:vp.map(e=>({value:e,label:Ib[e]}))},TJ=()=>C1({type:"custom",render:({value:e,onChange:o})=>De(vJ,{value:e,onChange:o})},O1),PJ=()=>C1({type:"custom",render:({value:e,onChange:o})=>De(CJ,{value:e,onChange:o})},O1),EJ=fJ.map(e=>({label:xJ[e],value:e,picture:gJ[e]()}));function _t(){let{duration:e,delay:o}=pJ.entrance,t={[y1]:iJ(bb,{dot:IJ}),[Te.kind]:Ss("desktop",TJ()),[bp]:sJ({type:"custom",render:()=>De(nJ,{})},"always"),[Ia(Te.kind)]:Ss("mobile",PJ()),_cEntrance:lJ(),...dJ(Te.from,Fr("From",De(UX,{}),EJ,k1)),[Te.duration]:Ss("desktop",Is("entrance")),[Ia(Te.duration)]:Ss("mobile",gf({label:"Duration",desktopKey:Te.duration,icon:De(qX,{}),min:e.min,max:e.max,step:e.step,fallback:e.default,unit:"s"})),[Te.delay]:Ss("desktop",bs("entrance")),[Ia(Te.delay)]:Ss("mobile",gf({label:"Delay",desktopKey:Te.delay,icon:De($X,{}),min:o.min,max:o.max,step:o.step,fallback:o.default,unit:"s"}))};return xh(t,bJ)}import{DESIGN_GROUPS as Sb,SETTINGS_BUCKETS as AJ}from"efficient-easel/panel";import{BUCKET_KEY as Jo,DESIGN_GROUP_KEY as mi}from"efficient-easel/screen/lib/document/field-buckets";var hi=AJ;var RJ="Editor only \u2014 not shown live",wb={"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",[RJ]:"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"},R1={"AlloyWheelsListing._gCards":"Design"},L1={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function yb(e,o,t){let a=`${e}.${o}`;return L1[a]??R1[a]??wb[t]}function F1(e){return e==="Animation"?[Jo.Animation]:[Jo.Design,mi[e]]}function Cp(...e){let o=[];for(let t of e)for(let a of Object.values(t)){let r=A1(a),n=ha(r?r.inner:a),s=n?wb[n.label]:void 0;if(s)for(let l of F1(s))o.includes(l)||o.push(l)}return o}var yRe=[...Cp(nf({tablet:!0}),If("full"),bf(),Sf(),Og()),...Object.keys(nf({tablet:!0})),...Object.keys(If("full")),...Object.keys(bf()),...Object.keys(Sf()),...Object.keys(Og())],SRe=[...Cp(mf()),...Object.keys(mf())],wRe=[...Cp(xf()),...Object.keys(xf())],vRe=[...Cp(_t()),...Object.keys(_t())],LJ=Object.keys(uE()),FJ=new Set(["cardImage","imageBackground"]),CRe=[...F1(yb("ProductGrid","_gCards","Cards")??"Design"),...LJ.filter(e=>e.startsWith("_g")||FJ.has(e))],kRe=Object.keys(mE()),TRe=Object.keys(hE()),BJ={"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)"},B1={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},D1={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...nf({tablet:!0}),...If("full"),...bf(),...Sf(),...mf(),...xf(),..._t()};for(let o of Object.keys(D1)){let t=ha(e[o]),a=t?wb[t.label]:void 0;if(!t||t.level!==2||!a||!B1[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 DJ=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),NJ=new Map([[Jo.Design,"Content"],[Jo.Animation,"Animation"],...Sb.map(e=>[mi[e],e])]);function N1(e){let o=new Set([...Object.values(Jo),mi.Content]);for(let[t,a]of Object.entries(e))if(!o.has(t)&&ha(a)?.level===1)return 1;return 2}function MJ(e){let o=`${e}.`;return Object.keys(BJ).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function HJ(e,o){let t=A1(e),a=OJ(o);return t?_J(t.tier,a):a}function WJ(e,o){let t=ha(o);return t?e==="Content"||e==="Animation"?Z0(o,t.label):Q0(o):o}function _1(e){return e==="Design"?Sb:["Animation"]}function M1(e,o){let t=[],a=new Set(MJ(o)),r=new Set,n=!1,s=null;for(let[p,x]of Object.entries(e)){let g=ha(x);if(DJ.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=NJ.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 D1){let S=yb(o,p,g.label);if(g.level!==2||!S||!B1[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=yb(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 ${[...Sb,"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:HJ(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",L1],["KEY_GROUP",R1]]){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 c=n?[]:[...a].filter(p=>!r.has(p));if(c.length)throw new Error(`${o}: RETIRED (lib/document/field-groups.ts) lists ${JSON.stringify(c)}, but this section has no such fold header${c.length>1?"s":""}. Either the heading was renamed or removed and the row is stale, or the row names the wrong section \u2014 a list that quietly matches nothing is worse than no list.`);let d=new Set(t.filter(p=>p.entries.length>0).map(p=>p.place)),f=hi.filter(p=>_1(p).some(x=>d.has(x))),u={};for(let p of f){u[Jo[p]]=uf(p,p===f[0]?f:null);for(let x of _1(p)){if(!d.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[mi[x]]=kg(x));for(let k of g)for(let[S,v]of k.entries)u[S]=WJ(x,v)}}return u}function PRe(e){return Jo.Design in e?e:{[Jo.Design]:uf("Design",null),[mi.Content]:kg("Content"),...e}}function ERe(e){return hi.some(o=>Jo[o]in e)}function ORe(e){let o=hi.filter(a=>Jo[a]in e);if(o.length===0)return e;let t={...e};for(let a of o)t[Jo[a]]=uf(a,a===o[0]?o:null);return t}import{jsx as GJ}from"react/jsx-runtime";import{EmptyState as $J}from"efficient-shell/ui";function Yr(){return GJ($J,{variant:"none",icon:!1,message:i("These settings apply to every view.")})}import{usePreviewDevice as XJ}from"efficient-easel/draw/client";import{deviceField as JJ}from"efficient-easel/screen/lib/document/device-fields";var kp=" text",H1="Text";function xi(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function W1(e){return e.filter(xi).map(o=>o.key)}function G1(e,o){let t=e.filter(r=>!xi(r));if(t.length!==1)return null;let a=e.filter(xi).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 $1(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 z1(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var kb=new Map,Pp=new Set;function V1(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),c=!!l&&[...l.children].some(f=>!f.hidden),d=l?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:c,labelled:c&&!!d}})});return a}var ZJ=Object.fromEntries(hi.map(e=>{let o=J0[e];return[e,Xr(o,{},e)]})),q1=jJ(null),QJ={_partBody:JJ("each",{type:"custom",render:()=>Xr(eZ,{})})};function eZ(){return Xr(zJ,{children:KJ(q1)})}function At({entries:e,entryCount:o=0,part:t=null,omit:a,motion:r,body:n,itemWord:s}){let{id:l,fields:c,values:d,readOnly:f,onChange:u}=VJ(),p=Tp(()=>r?{...d,...r.values}:d,[d,r?.values]),x=(he,Ve)=>r?.keys.has(he)?r.onChange(he,Ve):u(he,Ve),g=XJ(),{appState:I,config:k}=K1(he=>he),S=Rk(g,k,I.data.content??[],I.ui.itemSelector),v=n===void 0?Y_(c,t):QJ,b=Tp(()=>{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=ex(b,p,S),[T,F]=vb(()=>new Set(Pp)),[P,D]=vb(()=>new Set),O=j1(null),{bandRows:R,designBands:N,looseRows:y}=Tp(()=>{let he=new Map,Ve=new Set,_e=[];for(let ke of Cb(C).rows){if(!ke.fold){ke.bucket==="Design"&&_e.push(ke.name);continue}let Ze=he.get(ke.fold.key)??[];Ze.push(ke.name),he.set(ke.fold.key,Ze),ke.bucket==="Design"&&Ve.add(ke.fold.key)}return{bandRows:he,designBands:Ve,looseRows:new Map([["",_e]])}},[C]),A=qJ({},g),L={key:kp,rows:Array.from({length:A?o:0},()=>({shown:!0,labelled:!0}))};U1(()=>{let he=O.current?.parentElement;if(!he)return;let Ve=V1(he,R),_e=new Set(W1(Ve)),ke=G1([L,...Ve.filter(Ze=>N.has(Ze.key))],V1(he,y)[0].rows);ke&&_e.add(ke),D(Ze=>z1(Ze,_e)?Ze:_e)});let H=Tp(()=>$1(C,P),[C,P]),X=!xi(L)&&!P.has(kp)?{key:kp,title:H1}:void 0,q=K1(he=>he.selectedItem)!==null,U=r?.part??t??"",ge=`${l}:${U}:${String(g)}`,[te,Le]=vb(()=>({tab:kb.get(ge)})),We=`${l}:${U}`,Ee=j1(null),Ie={...S,node:p},Oe=Cb(C,{values:p,context:Ie}).buckets,Ge=p1({allTabs:q,remembered:kb.get(ge),inherited:Ee.current?.panel===We?Ee.current.tab:te.tab,buckets:Oe,hasText:A&&o>0}),oo=!A&&!Oe.includes(Ge)&&(Cb(ex(b,p,{...S,device:"desktop"}),{values:p,context:{...Ie,device:"desktop"}}).buckets.includes(Ge)||Ge==="Design"&&o>0);U1(()=>{Ee.current={panel:We,tab:Ge}});let wo=Ge==="Design";return Xr(q1.Provider,{value:n??null,children:Xr(Eg.Provider,{value:r?p:null,children:UJ(YJ,{fields:H,values:p,onChange:x,readOnly:f,allTabs:q,showWhenContext:Ie,context:{itemWord:s},tab:Ge,onTab:he=>{kb.set(ge,he),Le({tab:he})},tabIcons:ZJ,idPrefix:l,ariaLabel:i("Section settings"),lead:wo?e:null,leadFold:X,closedFolds:T,onFold:(he,Ve)=>{Ve?Pp.delete(he):Pp.add(he),F(new Set(Pp))},children:[Xr("span",{ref:O,hidden:!0}),oo&&Xr(Yr,{})]})})})}import{useMemo as iQ}from"react";import{useEasel as cQ}from"efficient-easel/easel";import{useSectionOps as dQ}from"efficient-easel/screen/lib/document/use-section-ops";import{jsx as $o}from"react/jsx-runtime";import{AccentIcon as oZ,ContrastIcon as tZ,ExpandIcon as aZ,FinishIcon as rZ,ImagesIcon as nZ,NoSymbolIcon as X1,HoverLiftIcon as sZ,HoverNextImageIcon as lZ,HoverRotateIcon as iZ,HoverZoomIcon as J1,OpacityIcon as cZ}from"efficient-easel/icons";import{customize as dZ,describedAs as Z1,group as fZ}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as Q1}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as To}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as pZ,noControlField as uZ}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Ep=e=>To("desktop",fZ("Hover",{dot:e})),eA=()=>To("desktop",dZ()),mZ="What this does when a shopper points at it, or taps it on a phone.",hZ="What this picture does when a shopper points at it. Black and white shows it in grey until then. A phone shows its colour.",xZ="What this picture does when a shopper points at the card. Show next image covers the card or the picture with this product's photos, with arrows; a phone shows the picture as it is. Black and white shows it in grey until then.",gZ="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.",IZ="Which of the product's pictures the card shows.",bZ="Same finish shows the photos of the finish the card shows, else the first group.",yZ="Whole card hides the words under the photo. Picture keeps the words and swatches in view.",SZ={none:()=>$o(X1,{}),nextImage:()=>$o(lZ,{}),rotate:()=>$o(iZ,{}),zoom:()=>$o(J1,{}),lift:()=>$o(sZ,{}),mono:()=>$o(tZ,{})};function Tb(e,o){let t=Q1({label:i("Hover effect"),options:e.map(a=>({value:a,label:i(hr[a]),picture:SZ[a]()})),fallback:o});return Z1(t,{type:"select",label:"Hover effect",options:e.map(a=>({value:a,label:hr[a]}))})}function oA(){return{[mr]:Ep({field:Ye,in:Fc.filter(e=>e!=="none")}),[Ye]:To("desktop",{...Tb(Fc,"none"),description:mZ})}}function tA(e){let o=Ev(e),t=jm(),a=S0(Gm);return{[mr]:Ep({any:[o,t]}),[we.kind]:To("desktop",{...ys(Tb(Bc,e),(r,n)=>Km(n??{},e)),description:gZ}),...aA(t),[Zs]:uZ({type:"custom",render:()=>$o(pZ,{})},"always"),_cHover:eA(),[we.angle]:To("desktop",$e(ys(a,r=>Vm(r)),o)),[we.duration]:To("desktop",$e(Is("hover"),o)),[we.delay]:To("desktop",$e(bs("hover"),o))}}function aA(e){let o=Tt("Type",$o(nZ,{}),$m.map(r=>({value:r,label:Cv[r]})),ur.kind),t=Fr("Group",$o(rZ,{}),zm.map(r=>({value:r,label:kv[r]})),ur.group),a=Fr("Covers",$o(aZ,{}),Um.map(r=>({value:r,label:Tv[r]})),ur.cover);return{[we.mediaKind]:To("desktop",$e({...o,description:IZ},e)),[we.mediaGroup]:To("desktop",$e({...t,description:bZ},e)),[we.cover]:To("desktop",$e({...a,description:yZ},e))}}function Pb(e,o=""){let t=Jm(e),a=Rv(e);return{[mr]:Ep(t),[we.kind]:rA(Dc,e,hZ),...Nc.includes(o)?aA(jm()):{},_cHover:eA(),...Nc.includes(o)?wZ():{},[we.duration]:To("desktop",$e(Is("hover"),a)),[we.delay]:To("desktop",$e(bs("hover"),a))}}function wZ(){let e=Av(),o=Go("Zoom",$o(J1,{}),aa.min,aa.max,aa.step,aa.min,aa.unit),t=Go("Darken on hover",$o(cZ,{}),Ma.min,Ma.max,Ma.step,Ma.fallback,Ma.unit);return{[Qs.zoom]:To("desktop",$e(o,e)),[Qs.darken]:To("desktop",$e(t,e))}}function rA(e,o,t){let a=To("desktop",{...ys(Tb(e,o),r=>Xm({[Ye]:r},o,e)),description:t});return Object.assign(a,{[nA]:o})}var nA="sfPictureResting",Y1=new WeakMap;function dLe(e,o,t){let a=e[we.kind],r=a?.[nA];if(!a||!r)return e;let n=o.props?.[Ye]==="nextImage",s=n?null:ul(t.appState,o.props?.id);if(!n&&!vv.includes(String(s?.type??"")))return e;let l=Y1.get(e);return l||(l={...e,[we.kind]:rA(qm,r,xZ)},Y1.set(e,l)),l}var vZ="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.",CZ={none:()=>$o(X1,{}),[Gt]:()=>$o(oZ,{})},fLe=To("desktop",{...Z1(Q1({label:i("Hover effect"),options:Mm.map(e=>({value:e,label:i(Hm[e]),picture:CZ[e]()})),fallback:"none"}),{type:"select",label:"Hover effect",options:Mm.map(e=>({value:e,label:Hm[e]}))}),description:vZ});function sA(){let e={any:[Jm("none"),{field:Ye,is:Gt}]};return{...Pb("none"),[mr]:Ep(e)}}import{jsx as gi}from"react/jsx-runtime";import{isNodeList as EZ}from"efficient-easel/data";import{useEasel as OZ}from"efficient-easel/easel";import{hiddenInView as _Z,hiddenKeyOf as Ob,hidePatch as AZ,slotChildName as RZ,slotChildRowName as LZ}from"efficient-easel/draw";var Op=null;function Eb(e){Op=e}function lA(){return!!(Op&&Op.state().lockHolder)}function Jr(){return Op!==null}var kZ=new Set(["BookingBox","SubmitBox"]);function TZ(e){return typeof e=="string"&&kZ.has(e)}var PZ=nk(TZ,lA);function _p(e,o){return PZ(e)||Xx(o)}var Ap=(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 FZ}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as BZ}from"efficient-easel/screen/lib/document/panel-no-control-mark";var iA="notCardOfTemplate",_b={not:{context:iA,is:!0}},ALe={[iA]:(e,o)=>{let t=Oh(o.appState,e.props?.id);return t===void 0?void 0:t===null}};function Rp(e){let o=e.props?.content;return EZ(o)?o:[]}var Fp=(e,o)=>_Z(e.props??{},o),DZ=(e,o)=>e.props?.[Ob(o)]!==void 0;function cA(e,o=()=>!1,t="desktop"){return Rp(e).flatMap(a=>typeof a?.props?.id!="string"?[]:Rp(a).length&&!Fp(a,t)?cA(a,o,t):o(a)?[]:[a])}function NZ(e,o,t,a="desktop"){let r=cA(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:c})=>{let d=c;if(s.has(c)){let f=2;for(;n.has(`${c} ${f}`);)f+=1;d=`${c} ${f}`,n.add(d)}return s.add(c),{id:l.props.id,label:d,shown:!Fp(l,a)}})}function Lp(e,o,t){let a=r=>t==="desktop"?Fp(r,t):DZ(r,t);return Rp(e).flatMap(r=>a(r)?o(r)?[]:[r,...Lp(r,o,t)]:Lp(r,o,t))}function MZ(e,o){let t={...e};for(let[a,r]of Object.entries(o))r===void 0||a===Ob("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 Ab(e,o,t){let a=Rp(e),r=!1,n=a.map(s=>{if(r)return s;let l=s;if(s?.props?.id===o){let c=MZ(s.props,t(s.props));c!==s.props&&(l={...s,props:c})}else l=Ab(s,o,t);return r=l!==s,l});return r?{...e,props:{...e.props,content:n}}:e}function dA(e,o,t,a="desktop"){return Ab(e,o,r=>a==="desktop"&&Fp({props:r},a)===!t?{}:AZ(r,a,!t))}function HZ(e,o,t){return t==="desktop"?dA(e,o,!0,t):Ab(e,o,()=>({[Ob(t)]:void 0}))}function WZ(e,o,t,a,r){return RZ(e).trim()?t(e):vh({ownerType:o,owner:a,fields:r},No(e.props))?.label??t(e)}var GZ="This page is read-only.";function $Z({card:e,ownerType:o,owner:t,fields:a,labelOf:r,write:n,readOnly:s,view:l="desktop"}){let c=u=>LZ(u,r,ta,void 0,Ap),d=u=>_p(u.type,u),f=NZ(e,u=>WZ(u,o,c,t,a),d,l);return f.length?gi(es,{parts:f,changed:Lp(e,d,l).length>0,shown:u=>f.find(p=>p.id===u)?.shown??!0,disabledReason:s?GZ:void 0,onPress:(u,p)=>n(x=>dA(x,u,p,l)),onReset:()=>n(u=>Lp(u,d,l).reduce((p,x)=>HZ(p,String(x.props.id),l),u))}):gi(BZ,{})}function zZ(){try{let e=OZ(r=>r),o=e.config.components??{},t=e.selectedItem;if(!t)return null;let a=Oh(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:BC(e.appState,a)}}catch{return null}}function UZ({readOnly:e,view:o}){let t=zZ(),a=Ol();return t?gi($Z,{...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}})}}):gi(es,{parts:[],changed:!1,shown:()=>!0,onPress:()=>{},onReset:()=>{}})}function RLe(e){return $e(FZ(e,{type:"custom",render:({readOnly:o})=>gi(UZ,{readOnly:o,view:e})}),_b)}import{customize as eQ}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Rb}from"react/jsx-runtime";import{DirectionIcon as jZ,LoopMarqueeIcon as KZ,NoSymbolIcon as VZ}from"efficient-easel/icons";import{customize as qZ,describedAs as YZ,group as XZ}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as JZ}from"efficient-easel/screen/lib/document/effect-tiles";function Lb(){return fE("Direction",xb,pi,"A marquee cannot run diagonally, so the corners are not answers.",Rb(jZ,{}),dE)}var Fb=e=>XZ("Loop",e?{dot:e}:void 0),ZZ={none:()=>Rb(VZ,{}),scroll:()=>Rb(KZ,{})};function QZ(){let e=JZ({label:i("Loop"),options:mp.map(({value:o,label:t})=>({value:o,label:i(t),picture:ZZ[o]()})),fallback:hb});return YZ(e,{type:"select",label:"Loop",options:mp.map(({value:o,label:t})=>({value:o,label:t}))})}function fA(){return{_gLoop:Fb(fi),loop:QZ(),_cLoop:qZ(),scrollDirection:$e(Lb(),fi),loopDuration:$e(hp({readsSpeed:!1}),fi),loopDelay:$e(xp(),fi)}}function oQ(){let e=sA(),o=[mr,Ye],t=On(e,Object.keys(e).filter(a=>!o.includes(a)),Zm);return On(t,o,{any:[Zm,_b]})}function pA(e,o=""){switch(e){case"section":case"block":return _t();case"box":return{..._t(),...fA(),...oQ()};case"picture":return{..._t(),...Pb(Ym(o),o)};case"textPart":return{..._t(),...oA()};case"cards":return{..._t(),...tA(Wm(o))};case"marquee":return{..._t(),_gLoop:Fb(),_cLoop:eQ(),scrollDirection:Lb(),loopDuration:hp({readsSpeed:!0}),loopDelay:xp()}}}import{phoneKey as tQ}from"efficient-easel/draw";import{ENTRANCE_STATE_ATTR as aQ,entranceAttrs as rQ}from"efficient-shell/format";var mA={},Bb="_partMotion",Db=[...Object.values(Te).flatMap(e=>[e,tQ(e)]),Ye,we.duration,we.delay];function sFe(e){return ls(e,Bb)}function ws(e,o){return jf(e,Bb,o)}var nQ=new Set([Te.kind,Ye]);function hA(e,o,t,a){let{[t]:r,...n}=ws(e,o),s=a==null||a===""||a==="none"&&nQ.has(t)?n:{...n,[t]:a};return Kf(e,Bb,o,Object.keys(s).length?s:null)}function Nb(e){return{entrance:yp(e),hover:Sv(e)}}function xA(e){let o=Nb(e);return o.entrance!==null||o.hover!=="none"}function gA(e,o){let{attrs:t,style:a}=rQ(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(aQ)}}var sQ=4;function IA(e){let o;for(let t of e)(!o||t.element.compareDocumentPosition(o.element)&sQ)&&(o=t);return o}var lQ="data-sf-part-host";function bA(e){let o=e?.ownerDocument.defaultView,t=e;for(;t&&!t.hasAttribute(lQ)&&!t.classList.contains(Ip);){let a=o?.getComputedStyle(t).display??"";if(a==="contents")return null;if(a!=="inline")return t;t=t.parentElement}return null}var Bp="data-sf-part-lift",uA="sf-part-lift";function yA(e){if(e.getElementById(uA))return;let o=e.createElement("style");o.id=uA,o.textContent=kO(`[${Bp}]`).join(`
|
|
62
|
+
`),e.head.appendChild(o)}var SA=new Map,fQ=e=>{let o=SA.get(e);return o||SA.set(e,o=M1(pA(e),`part:${e}`)),o},pQ=new Set(Db);function vs(e,o,t){let{getItemById:a,getSelectorForId:r}=cQ(f=>f),n=dQ(),s=a(e)?.props??{},l=ws(s,o),c=JSON.stringify(l),d=iQ(()=>Object.fromEntries(Db.map(f=>[f,l[f]])),[c]);return{part:o,fields:fQ(t),values:d,keys:pQ,onChange:(f,u)=>{let p=r(e),x=a(e);if(!p||!x)return;let g=hA(x.props??{},o,f,u);n.replaceComponent(p.zone,p.index,{...x,props:g})}}}import{Fragment as uQ,createElement as mQ}from"react";import{deviceField as Mb}from"efficient-easel/screen/lib/document/device-fields";var Io=()=>({type:"custom",render:()=>mQ(uQ)});var Hb={words:Io(),sourceNote:Io(),style:Io(),font:Io(),italic:Io(),fontSize:Mb("each",Io()),lineHeight:Io(),letterSpacing:Io(),paragraphSpacing:Io(),padding:Io(),align:Mb("each",Io()),letterCase:Io(),fixedSizeHint:Mb("each",Io()),regionNote:Io(),regionStyle:Io()},hQ=["fontSize","align"];function wA(e){return hQ.includes(e)}var vA={showTicker:Io(),items:Io()};var TQ="root:default-zone";function CA({heroId:e}){let{appState:o,dispatch:t}=yQ(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=bQ(()=>{let x=n?.props.tickerItems;return Array.isArray(x)?x:U_.map(g=>({text:g}))},[n]),c=IQ(),d=kQ(),f=x=>CQ(vA[x],d),u=vs(e,j_,"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:TQ,destinationIndex:r,data:{...n,props:{...n.props,...x}}});return Zr(At,{motion:u,body:gQ(xQ,{children:[!f("showTicker")&&!f("items")&&Zr(Yr,{}),f("showTicker")&&Zr(SQ,{label:i("Show ticker"),labelId:c,icon:Zr(vQ,{}),action:Zr(wQ,{checked:s,onChange:x=>p({showTicker:x}),ariaLabelledBy:c})}),f("items")&&Zr(Fg,{label:Lg.label,icon:Lg.icon,items:l,placeholder:"item",onChange:x=>p({tickerItems:x}),markup:!0})]})})}import{jsx as Z,Fragment as vi,jsxs as nt}from"react/jsx-runtime";import{useContext as KQ,useEffect as Gb,useRef as VQ,useState as GA}from"react";import{FieldSelect as qQ,InspectorField as YQ,fieldShownInView as XQ}from"efficient-easel/fields";import{InertHint as XA,SettingsField as JQ}from"efficient-easel/panel";import{InspectorUpLevel as Up}from"efficient-easel/chrome";import{StylesIcon as ZQ,TypeIcon as QQ}from"efficient-easel/icons";import{useEasel as eee}from"efficient-easel/easel";import{TextPartPanel as $A}from"efficient-easel/copy";import{Button as oee,IconButton as tee,Tooltip as aee}from"efficient-shell/ui";import{jsx as kA,jsxs as PQ}from"react/jsx-runtime";import{COPY_CELLS as Dp,CopyBox as EQ}from"efficient-easel/copy";import{PaddingYIcon as OQ}from"efficient-easel/icons";import{onDesktopWords as _Q}from"efficient-easel/screen/lib/document/box-fields";var AQ=["left","center","right","justify"];function Np(e,o,t,a="desktop"){let r=Xl(e),n=bI(a),s=e[n]??e.size??o.sizePx,l=AO(e,a);return[{...Dp.fontSize,key:"fontSize",value:e[n],styleValue:Math.round(o.sizePx),onChange:c=>t({[n]:c??null}),...n==="size"?{}:{reset:{detail:l?_Q(c=>i(c),`${l.px}px`,l.view):void 0}}},{...Dp.lineHeight,key:"lineHeight",value:r.lineHeight,styleValue:o.lineRatio,onChange:c=>t(c===void 0?{lineHeight:null,line:null}:{lineHeight:c})},{...Dp.letterSpacing,key:"letterSpacing",scale:s,value:r.letterSpacingEm,styleValue:o.letterEm,onChange:c=>t(c===void 0?{letterSpacing:null,letter:null}:{letterSpacing:c})},{...Dp.paragraphSpacing,key:"paragraphSpacing",value:e.paragraphSpacing,styleValue:0,onChange:c=>t({paragraphSpacing:c??null})},{key:"padding",name:i("Padding"),icon:kA(OQ,{}),unit:"px",step:hI,shiftStep:10,min:uI,max:mI,value:e.padding,styleValue:o.paddingPx,onChange:c=>t({padding:c??null})}]}function TA({text:e,onTextChange:o,multiline:t,markup:a=!0,styled:r=!0,style:n,base:s,setValue:l,colors:c,placeholder:d,ariaLabel:f,head:u,typedOnCanvas:p=!1}){let x=Np(n,s,l),g=qg(a,t);return PQ("div",{className:"sf-part-textbox",children:[u,kA(EQ,{value:e,onChange:o,multiline:t,placeholder:d,ariaLabel:f,rules:fr,tools:g,barShows:p?"focus":"always",colors:a?c:[],colorNameOf:qo,align:r?{value:n.align??s.align,allow:AQ,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 zA}from"efficient-easel/draw/client";import{jsx as Mp,Fragment as RQ,jsxs as LQ}from"react/jsx-runtime";import{Button as PA,Dialog as FQ}from"efficient-shell/ui";function EA({styleName:e,onCancel:o,onConfirm:t}){return Mp(FQ,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Update {style}?",{style:e}),footer:LQ(RQ,{children:[Mp(PA,{variant:"secondary",onClick:o,children:i("Cancel")}),Mp(PA,{variant:"primary",onClick:t,children:i("Update style")})]}),children:Mp("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 ree}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as nee}from"efficient-easel/draw/client";import{shownTier as $p}from"efficient-easel/screen/lib/document/device-fields";import{jsx as BQ}from"react/jsx-runtime";import{createContext as DQ,useContext as NQ,useMemo as MQ,useState as HQ}from"react";var WQ={partStyle:null,setPartStyle:()=>{}},OA=DQ(WQ);function XFe({children:e}){let[o,t]=HQ(null),a=MQ(()=>({partStyle:o,setPartStyle:t}),[o]);return BQ(OA.Provider,{value:a,children:e})}function _A(){return NQ(OA)}import{TEXT_FIELD_MARKER as see}from"efficient-easel/draw";import{useSectionOps as lee}from"efficient-easel/screen/lib/document/use-section-ops";var Ii="@name",AA="@body",RA="@value",LA={[Ii]:"Name",[AA]:"Body",[RA]:"Value"},GQ={TimelineTrack:{"entries.date":Ii,"entries.title":Ii,"entries.blurb":AA},Footprint:{"offices.city":Ii},Stats:{"items.label":Ii,"items.value":RA}};function $Q(e){let{key:o,row:t}=Et(e);return t?`${o}.${t.rowKey}`:null}function bi(e,o){if(!e)return o;let t=$Q(o);return t?GQ[e]?.[t]??o:o}import{useEaselHost as iee}from"efficient-easel/screen/lib/host";function zQ(e){let o=new Set([...Object.keys(Od[e]??{}),..._d[e]??[]]);for(let[t,a]of Object.entries(Px[e]??{}))a.verb==="snapshot"&&o.add(t);return[...o].sort()}var UQ={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},FA={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},BA="Open",DA={product:{type:"storefront-editor:open-product",needsSlug:!0},blog:{type:"storefront-editor:open-post",needsSlug:!0},menu:{type:"storefront-editor:open-menus",needsSlug:!1}};function Cs(e){let o=e?.source?.slug;return J(o)}function yi(e){return UQ[e]??null}function NA(e,o){let t=yi(e);return t&&zQ(e).includes(o)?t:null}function Hp(e){let o=e?.menu?.id;return J(o)}var Si={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)]"},jQ={tag:{label:"Tag",follows:"Labels",builtIn:An(Si.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:An(Si.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:An(Si.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:An(Si.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:An(Si.link),writable:!0}},MA=jQ;var Wp={entry:{label:"Entry",follows:"Labels",builtIn:"13px",writable:!0},number:{label:"Entry number",follows:"Labels",builtIn:"13px",writable:!0}};var cBe=qc,HA={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 Wb={SpecTable:HA,FAQ:xC,Collections:MA,Contents:Wp};function WA(){return Ta("efficient.section-text-regions",()=>new Map)}function xBe(e){let o=WA();for(let[t,a]of Object.entries(e)){if(Object.hasOwn(Wb,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 Gp(e){return e?Object.hasOwn(Wb,e)?Wb[e]:WA().get(e)??null:null}function $b(e){return e?i(e):null}function UA(e){return e.kind==="role"?gm[e.role]:e.kind==="custom"?"Custom":null}function cee(e){let o=Qt(e.role);return o?{kind:"role",role:o}:null}function dee(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 zp(e,o,t,a){return cee(Yl(e,o))??dee(t,a)}function fee(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(a=>o(a)===t)?t:null}function jA(e){return[{value:wi,label:i("No style"),description:i("Section\u2019s own")},...e.map(o=>({value:o.id,label:o.name,description:o.values.font?bn(o.values.font)?.label:void 0}))]}var wi="";function pee({face:e,base:o,onPick:t}){let a=e.kind==="role"?e.role:wi,r=[{label:i("No style"),value:wi},...tw.map(n=>({label:i(gm[n]),value:n}))];return Z(qQ,{ariaLabel:i("Style"),value:a,options:r,inline:!0,onChange:n=>t(n===wi?null:n),renderOption:n=>n.value===wi?nt(vi,{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(${bn(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:$b(UA(e))}),valueText:n=>$b(UA(e))??n?.label??""})}var JA=["regionNote","regionStyle"],uee=Object.keys(Hb).filter(e=>!JA.includes(e));function ZA(e,o){return!e.some(o)}function mee({sectionName:e,onBack:o,textEditor:t,styleRow:a,children:r,tabs:n}){let s=nt(vi,{children:[t,a,r]});return nt("div",{className:"sf-part-panel",children:[Z(Up,{inline:!0,name:i(e),onSelect:o}),n?n(s):s]})}function jp({source:e,slug:o,menuId:t}){let a=iee(),r=DA[e],n=!r.needsSlug||!!o;return Z("div",{className:"sf-note sf-note--source",children:nt(XA,{children:[i(FA[e]),n?nt(vi,{children:[" ",Z(oee,{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(BA)})]}):null]})})}var KA=4,hee=120;function VA(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 qA({region:e,sizePx:o,face:t,base:a,onFollowStyle:r,source:n,slug:s,onBack:l,shows:c,sizedStyle:d,ownLook:f}){let u=e.follows;return nt("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:i(e.label)})}),c("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)})}),d?nt(vi,{children:[d,c("regionStyle")&&Z("p",{className:"es-field-hint",children:VA(e)})]}):r?c("regionStyle")?Z(vi,{children:Z(JQ,{label:i("Style"),icon:Z(ZQ,{}),hint:VA(e),children:Z(pee,{face:t,base:a,onPick:r})})}):null:c("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&&c("sourceNote")?Z(jp,{source:n,slug:s}):null,ZA([...JA,"sourceNote",...d?["fontSize"]:[]],p=>c(p)&&(p!=="sourceNote"||!!n))&&Z(Yr,{}),Z(Up,{inline:!0,name:i("Page"),onSelect:l})]})}function xee({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(Up,{inline:!0,name:i("Page"),onSelect:e})]})}function gee({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(Up,{inline:!0,name:i("Page"),onSelect:e})]})}function QA({nodeId:e,propKey:o,onBack:t,onEditStyle:a}){let{getItemById:r,getSelectorForId:n,config:s}=eee(z=>z),l=lee(),c=GE(),{partStyle:d}=_A(),{fonts:f,textStyles:u}=xe(),p=KQ(ree),x=!p?.capabilities?.hasSiteTheme,{persist:g}=Un({themeFromDocument:x,tokenRef:p?.tokenRef,siteId:p?.siteId??null}),I=Qf({themeFromDocument:x,persist:g}),[k,S]=GA(!1),v=nee(),b=z=>($p(v)!=="tablet"||wA(z))&&XQ(Hb[z],v),C=VQ(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?rs(R,O):R,y=Tf(e,o),A=T?.props??{},L=os(N),H=pf(N),X=Hg(N),q=T?yi(T.type):null,U=T?NA(T.type,D):null,ge=O?Ul(A[D],O):A[D],te=!!O&&!(Array.isArray(A[D])&&O.index<A[D].length);Gb(()=>{WE(document)||C.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[y]);let[Le,We]=GA(0);Gb(()=>We(0),[y]);let Ee=!!T&&!te&&(!F||!N);Gb(()=>{if(!Ee||Le>=KA)return;let z=setTimeout(()=>We(qe=>qe+1),hee);return()=>clearTimeout(z)},[Ee,Le]);let Ie=Ee&&Le<KA,Oe=vs(e,bi(T?.type,o),"textPart");if(!T||te)return Z(xee,{onBack:t});let Ge=Gp(T.type),oo=Ge?dl(Ge,o):null;if(Ge&&oo){let z=d?.partId===y?d:null,qe=Ge[oo],ht=qe.writable===!0&&!!F,va=nr=>{F&&l.replaceComponent(F.zone,F.index,{...T,props:xa(A,o,"role",nr)})};if(ht&&hC(qe)){let nr=Yl(A,o),ow=sr=>{if(!F)return;let xm=A;for(let[wH,vH]of Object.entries(sr))xm=xa(xm,o,wH,vH??null);l.replaceComponent(F.zone,F.index,{...T,props:xm})},bH=ga(I.saved,I.old),yH=pI(nr)??"",SH=Np(nr,z?.base??YA,ow,$p(v)).filter(sr=>sr.key==="fontSize"&&b(sr.key));return Z(At,{motion:Oe,body:Z(qA,{region:qe,sizePx:z?.base.sizePx??null,face:zp(A,o,z,f),base:z?.base??null,source:q,slug:Cs(A),onBack:t,shows:b,ownLook:LO(nr),sizedStyle:Z($A,{style:b("style")?{value:yH,options:jA(bH),onChange:sr=>ow(sr?{textStyle:sr}:{textStyle:null,role:null}),onEditStyles:a}:void 0,cells:SH})})})}return Z(At,{motion:Oe,body:Z(qA,{region:qe,sizePx:z?.base.sizePx??null,face:zp(A,o,z,f),base:z?.base??null,onFollowStyle:ht?va:void 0,source:q,slug:Cs(A),onBack:t,shows:b})})}if(!F||!N)return Ie?Z("div",{className:"sf-note","aria-busy":"true"}):Z(gee,{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?Ng(A,D,O,z):{...A,[D]:z};qe&&wo(qe);return}Of({node:T,propKey:o,kind:L,zone:F.zone,index:F.index},Va(z).text,l.replaceComponent)},Ve=ge,_e=d?.partId===y?d:null,ke=_e?.styleOwner,Ze=ke?r(ke.owner):null,Bt=ke&&Ze?n(ke.owner):null,Fo=!!(ke&&Ze&&Bt),W=Fo?Ze.props??{}:A,Fe=Fo?z=>l.replaceComponent(Bt.zone,Bt.index,{...Ze,props:z}):wo,le=Fo?ke.kind:bi(T?.type,o),Be=Yl(W,le),Ae=[{partKey:le,face:zp(W,le,_e,f),sizeGroup:_e?.sizeGroup??null,base:_e?.base??YA,style:Be}],ut=fee(Ae,z=>z.sizeGroup),Dt=Wn(_e?.inks),Qe=(z,qe)=>{let ht=W;for(let va of Ae)ht=xa(ht,va.partKey,z,qe);Fe(ht)},mt=z=>z?Qe("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)},gn=L==="text"||L==="textarea",{text:Ks,hidden:Zt}=Va(ge),ar=N?.[see]?.label??o,In=Zt?i("Show {label} on the slide",{label:i(ar)}):i("Hide {label} on the slide",{label:i(ar)}),ZS=nt("div",{className:"sf-field-head",children:[Z(QQ,{}),Z("span",{className:"sf-field-label sf-field-label--inline",children:i(ar)}),gn&&Z(aee,{content:In,children:Z(tee,{"aria-pressed":Zt,"aria-label":In,onClick:()=>he({text:Ks,hidden:!Zt}),children:Zt?Z(zA,{name:"eye-off",size:14}):Z(zA,{name:"eye",size:14})})})]}),Ic=!H&&X,pH=!!L&&(Y0(N)||H||Zt||!X),QS=zp(W,le,_e,f),uH=QS.kind==="role"?QS.role:null,hm=pI(Be)??qO(uH),ew=ga(I.saved,I.old),mH=Object.entries(Be).filter(([z,qe])=>z!=="role"&&z!=="textStyle"&&qe!==void 0).length,hH=()=>{let z=W;for(let qe of Ae){let{role:ht,textStyle:va}=qe.style;z=EO(z,qe.partKey),ht&&(z=xa(z,qe.partKey,"role",ht)),va&&(z=xa(z,qe.partKey,"textStyle",va))}Fe(z)},rr=hm,xH=YO(Ae[0].style),gH=rr?ew.find(z=>z.id===rr)?.name??rr:"",IH=()=>{S(!1),rr&&(I.write(XO({saved:I.saved,old:I.old,styleId:rr,values:OI(Ae[0].style)}),!0),hH())};return nt(mee,{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:pH?Z(TA,{text:Ks,onTextChange:z=>he(gn?{text:z,hidden:Zt}:z),multiline:wf(L),markup:L!=="plainText",styled:!1,style:Ae[0].style,base:Ae[0].base,setValue:Nt,colors:Dt,placeholder:$b(IE(N))??void 0,ariaLabel:i(ar),head:ZS,typedOnCanvas:c===y}):L?gn?ZS:null:Z(YQ,{field:N,name:o,value:Ve,onChange:he,id:`sf-part-${e}-${o}`})}):void 0,children:[U&&b("sourceNote")&&Z(jp,{source:U,slug:Cs(A),menuId:Hp(A)}),Ic&&Z($A,{style:b("style")?{value:hm??"",options:jA(ew),onChange:z=>mt(z||null),changed:mH>0,onEditStyles:a,onUpdateStyle:rr&&xH?()=>S(!0):void 0}:void 0,font:b("font")?{value:Be.font??"",styleValue:bn(Ae[0].base.fontKey)?.label,options:xt.map(z=>({label:z.label,value:z.key})),onChange:z=>Qe("font",z||null)}:void 0,italic:b("italic")?{value:Be.italic,styleValue:yee(u,hm),onChange:z=>Qe("italic",z??null)}:void 0,cells:Np(Ae[0].style,Ae[0].base,Nt,$p(v)).filter(z=>b(z.key)),align:b("align")?bee(Be,Ae[0].base.align,$p(v),Qe):void 0,letterCase:b("letterCase")?{value:Be.case??"",styleValue:Ae[0].base.case,onChange:z=>Qe("case",z||null)}:void 0}),k&&rr&&Z(EA,{styleName:gH,onCancel:()=>S(!1),onConfirm:IH}),Ic&&ut===null&&b("fixedSizeHint")&&Z(XA,{children:i("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")}),ZA(uee,z=>b(z)&&(z==="words"||(z==="sourceNote"?!!U:z==="fixedSizeHint"?Ic&&ut===null:Ic)))&&Z(Yr,{})]})}var Iee={desktop:"align",tablet:"alignTablet",mobile:"alignPhone"};function bee(e,o,t,a){let r=Iee[t],n=_O(e,t);return{value:e[r]??"",styleValue:n??o,onChange:s=>a(r,s||null)}}function yee(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var YA={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0};import{jsx as Rt,jsxs as Xb,Fragment as Eee}from"react/jsx-runtime";import{useCallback as Oee,useRef as _ee,useState as Ti}from"react";import{InspectorIconButton as Aee}from"efficient-easel/chrome";import{useEasel as Ree}from"efficient-easel/easel";import{PopupMenu as Lee,PopupMenuItem as Fee,PopupMenuLabel as Zp}from"efficient-shell/ui";import{CopyToPageIcon as Bee}from"efficient-easel/icons";import{useEaselSession as Dee}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as Nee}from"efficient-easel/screen/lib/document/section-doc";import{FOOTER_TYPE as Mee}from"efficient-easel/draw";import{currentEaselSession as See}from"efficient-easel/screen/lib/session";var wee={general:!0,commerce:!0,service:!0};function zb(e){let o=e?.sets;return o?Object.fromEntries(Qw.map(t=>[t,o.includes(t)])):wee}function Ub(e=See()){return zb(e.blocks)}import{isBackendError as ks}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as cR}from"efficient-easel/screen/lib/session";var Kp=od(),jb=Kp.set;function Vp(e,o){jb(e,o)}function qp(e,o){let t=Kp.get(e);jb(e,o??(t==="live"?"changed":t))}function Yp(e,o){jb(e,o??"live")}function eR(e){return Kp.get(e)}function oR(e){return Kp.use(e)}function tR(e,o){return e==="live"&&o?"changed":e}function Kb({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 aR(e){return e.map(o=>o.change==="take_down"?i("{name} (taken down)",{name:o.name}):o.name)}var rR="SharedSection",vee=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Ci=e=>{let o=e?.content;return Array.isArray(o)?o:[]},ki=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0};function nR(e){if(e?.type!==rR)return null;let o=e.props?.section;return typeof o=="string"&&vee.test(o)?o.toLowerCase():null}function sR(e){let o=[];for(let t of Ci(e)){let a=nR(t),r=ki(t);a&&r&&o.push({refId:r,section:a})}return o}function Xp(e){let o=Ci(e)[0];return o&&typeof o=="object"&&ki(o)?o:null}function Cee(e,o){return{type:rR,props:{id:e,section:o}}}function lR(e,o){let t=new Map,a=new Set,r=!1,n=Ci(e).map(s=>{let l=nR(s),c=ki(s);if(!l||!c||a.has(l))return s;let d=Xp(o.get(l)),f=ki(d??void 0);return!d||!f||t.has(f)?s:(a.add(l),t.set(f,{section:l,refId:c,reference:s}),r=!0,d)});return{working:r?{...e,content:n}:e,held:t}}function iR(e,o,t){let a=new Map,r=!1,n=Ci(e).map(s=>{let l=ki(s),c=l?o.get(l):void 0,d=c?t.get(c.section):void 0;if(!c||!d||a.has(c.section))return s;let f=Ci(d).slice(1),u=Xp(d);return a.set(c.section,u===s?d:{...d,content:[s,...f]}),r=!0,c.reference??Cee(c.refId,c.section)});return{page:r?{...e,content:n}:e,docs:a}}function Yb(e){return!!(e?.publish&&e.liveState)}function kee(e,o){if(!Yb(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 Tee(e,o){return async(t,a)=>{try{await aP()}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"?Ld({state:"live",changes:[]}):la(0),{version:a??null}}}function qb(e,o,t){let a=o?{siteId:o}:void 0;return{resolve:r=>e.load({slug:r,...a}).then(n=>(n&&(Vp(n.id,n.live),ck(n.id,n.videoFrames)),n)),saveLayout:(r,n,s,l)=>e.save(r,{layout:n},{version:s,clientId:l??""}).then(c=>(qp(r,c.live),dk(r,c.videoFrames),la(),c)),rereadVersion:e.version?r=>e.version(r):void 0,publish:Yb(t)?Tee(t,a):e.publish?(r,n)=>e.publish(r,n?{version:n}:void 0).then(s=>(Yp(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 Pee(e,o,t,a,r=!1){let n=null,s=new Set,l=!1,c=new Map,d=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=eR(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:c.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([...c].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);c.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=>d.get(O)?.section??null,heldElsewhere:O=>{let R=d.get(O)?.section;return!!(R&&f.get(R)?.problem==="lock")},adopt:(O,R)=>{T(R.id,R.layout,R.layout_updated_at,R.title),d.set(O,{section:R.id,refId:C()}),u.set(R.id,R.used_on),I({})},place:O=>{if([...d.values()].some(y=>y.section===O.id))return null;let R=Xp(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),d.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=c.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=c.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??""});qp(N,H.live),A.layout=y,A.version=H.version,A.savedJson=L,k(N,null)}catch(H){ks(H,"changed-elsewhere")?k(N,"conflict"):ks(H,"lock-taken")?k(N,"lock",H.holder??void 0):k(N,"save")}}O.size&&la(),I({})};return{resolve:async O=>{if(Eb(O===Ct?null:F),Wh(O===Ct?null:P),c=new Map,d=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&&!Rl(N?.layout)){Vp(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=sR(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?(Vp(te.id,te.live),T(U.section,te.layout,te.version,"")):(c.delete(U.section),f.set(U.section,{section:U.section,title:"",problem:"load"}))});let X=lR(A,b());if(d=X.held,!n)return d.size&&s.add(N.id),I({conflict:null,saveFailed:!1,loadFailed:R}),d.size?{...N,layout:X.working}:N;let q=rk(X.working,n.layout);return n.savedJson=JSON.stringify(Hh(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?Hh(R,A.layout):{page:R,chrome:null},H=iR(L.page,d,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??""});qp(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){ks(U,"changed-elsewhere")?I({conflict:U.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):ks(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);Yp(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 c){if(f.get(A)?.problem==="lock")continue;let H=await e.publish(A,L.version?{version:L.version}:void 0);Yp(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){ks(L,"lock-taken")&&I({lockHolder:L.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}for(let L of c.keys())try{await a.claim(L,R,!1),f.get(L)?.problem==="lock"&&k(L,null)}catch(H){ks(H,"lock-taken")&&k(L,"lock",H.holder??void 0)}return c.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 c.keys())f.get(y)?.problem!=="lock"&&await a.release(y,R).catch(()=>{})}}:void 0,pinnedChrome:F}}function Jp(e){let o=(t,a,r)=>e.save(t,a.layout?{...a,layout:MC(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 _De(e,o,t){return e.update(o,HC(t))}function ADe(e,o=Ue(),t=Ub(),a={}){let r=cR(o),n=e?{siteId:e}:void 0,s=r?!!e:!0,l=o.site.update,c=r&&t.commerce&&t.service,d=!!a.editsPinnedInPlace&&c,f=Yb(o.site)?o.site:void 0,u=Jp(o.pages),p=qb(u,e,f),x=d?Pee(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:c,editsPinnedInPlace:d,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,...dR(p.resolve),lock:o.lock,...x,site:s?()=>o.site.get(n):void 0,siteLiveState:f?()=>f.liveState(n):void 0,siteVersions:kee(f,n),updateSite:s&&l?g=>l(g,n):void 0,previewHref:o.preview?g=>o.preview.href(g):void 0}}function RDe(e,o=Ue(),t=Ub()){let a=cR(o),r=o.templates,n=r?Jp(r.pages(e)):{list:()=>Promise.reject(new Error(Vb)),load:()=>Promise.reject(new Error(Vb)),save:()=>Promise.reject(new Error(Vb))};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},...qb(n,void 0),...dR(qb(n,void 0).resolve),publish:void 0,templateName:r?()=>r.get(e).then(s=>s.name):void 0}}function dR(e){return{resolve:o=>(Eb(null),Wh(null),e(o))}}var Vb="This editor's backend has no website templates.";function Hee(e,o,t){let a=Nee(e,void 0,o);return t?.(a)??a}function fR({node:e,currentSlug:o,siteId:t,tokenRef:a,runAuthed:r,onNotify:n}){let[s,l]=Ti(!1),[c,d]=Ti(null),f=Dee(),u=Ree(P=>P.config.components),[p,x]=Ti(!1),[g,I]=Ti(null),k=_ee(null),[S,v]=Ti(null),b=Oee(async()=>{if(f.usesBridgedToken&&!a.current){x(!0);return}try{d(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)}),d(null),x(!1),b(),l(!0)},T=(c??[]).filter(P=>P.slug!==o),F=async P=>{if(g)return;I(P.slug);let D=Hee(e,u,f.documentHooks?.storedNode),O=await r(()=>Wee(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 Xb(Eee,{children:[Rt("span",{"data-menu-toggle":!0,style:{display:"contents"},children:Rt(Aee,{buttonRef:k,label:i("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:C,children:Rt(Bee,{size:15})})}),s&&S&&Rt(Lee,{portal:!0,style:{top:S.top,right:S.right},onClose:()=>l(!1),children:Xb("div",{role:"menu","aria-label":i("Duplicate to page"),children:[Rt(Zp,{children:i("Duplicate to page")}),p?Rt(Zp,{children:i("Couldn\u2019t load pages")}):c===null?Rt(Zp,{children:i("Loading\u2026")}):T.length===0?Rt(Zp,{children:i("No other pages")}):T.map(P=>Xb(Fee,{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 Wee(e,o,t){let a=Jp(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(c=>c?.type===Mee);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 bne}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as yne}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as zWe,isSelectionMode as dS}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as Sne}from"efficient-easel/draw/client";import{jsx as Pi,jsxs as Gee}from"react/jsx-runtime";import{SettingsDrill as $ee}from"efficient-easel/panel";import{UiIcon as zee}from"efficient-easel/draw/client";var Uee="Not shown on the page";function jee({part:e,onOpen:o}){return Pi($ee,{name:i(e.label),preview:e.offPage?i(Uee):e.preview||i("Empty"),offPage:e.offPage,status:e.hidden?Pi("span",{className:"sf-entry-eye",role:"img","aria-label":i("Hidden on the page"),children:Pi(zee,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function Jb(e){return e.filter(o=>!o.identifier)}function pR({parts:e,onOpen:o,heading:t=!0}){let a=Jb(e);return a.length?Gee("div",{className:"sf-entries",children:[t?Pi("h3",{className:"sf-entries-head",children:i("Text")}):null,a.map(r=>Pi(jee,{part:r,onOpen:o},r.key))]}):null}import{HEADER_TYPE as wne,ROOT_ZONE as yD}from"efficient-easel/draw";import{HEADER_TYPE as zo,FOOTER_TYPE as He,newNodeId as Kee}from"efficient-easel/draw";function Qp(){return{type:zo,props:{id:Kee(zo)}}}var uR=[{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"}],Vee=uR.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),qee="FooterGroup",mR="blocks";function hR(e){return e===He?uR:e===qee?Vee:null}function eu(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterEmailSignup",{..._P}),e("FooterPayment",{...Md})]}function Zb(e){switch(e?.type){case Me:case Re:return i("On every page");case zo:case He:return i("On every page \xB7 old style");default:return null}}var xR=()=>null,gR=()=>i("Changed on every page");function ou(e,o){let t=Wk(e,o);if(t)return t;let a=ZC(e,o);if(!a)return null;let r=a.group===Me;return a.why==="type"?r?i("The header cannot take another one of these"):i("The footer cannot take another one of these"):r?i("The header holds at most 3 sections"):i("The footer holds at most 6 sections")}import{jsx as $u,Fragment as one,jsxs as tne}from"react/jsx-runtime";import{useState as ane}from"react";import{createNode as rne,newId as nne}from"efficient-easel/data";import{useEasel as sne}from"efficient-easel/easel";import{Banner as lne,Button as iS}from"efficient-shell/ui";import{useScreenDocument as ine}from"efficient-easel/screen/components/ScreenDocumentContext";import{isNodeList as Yee}from"efficient-easel/data";import{hiddenKeyOf as Xee}from"efficient-easel/screen/lib/content/view-hide";var tu="Flex",Jee={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},Zee={FooterPayment:"PaymentLogosBlock"},Qee=e=>{let{id:o,...t}=e;return t},IR=e=>typeof e=="string"?e:"",Ts={sm:12,md:13,lg:15},bR={sm:{mark:16,words:Ts.sm},md:{mark:20,words:Ts.md}},eoe="md",yR=1.5,ooe={size:13,lineHeight:yR,width:280},toe=14,aoe=40,roe=e=>e==="center"||e==="right"?e:"left";function noe(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 soe(e,o,t){let a=t(e,Qee(o));if(Array.isArray(o.template))return{...a,props:{...a.props,template:SR(o.template,String(a.props.id))}};if(o.template!==void 0)return a;let r=PC(e,a.props);return r===a.props?a:{...a,props:r}}function SR(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))Yee(s)&&(r[n]=SR(s,o,t));return{...a,props:r}})}function wR(e,o,t){let a=e.props??{},r=t?.(e,o);if(r)return r;let n=Jee[e.type]??Zee[e.type];if(n)return[soe(n,a,o)];switch(e.type){case"FooterLogo":{let s=roe(a.align),l=o("LogoBlock",{...a.reverse?{reverse:a.reverse}:{},...typeof a.customColor=="string"&&a.customColor?{customColor:a.customColor}:{},heightPx:Math.round(_w*((j(a.widthPct)??100)/100)),href:"/",align:s,...noe(a)}),c=IR(a.tagline).trim();return c?[l,o("Text",{text:c,tone:"dim",align:s,_partStyles:{text:{...ooe}}})]:[l]}case"FooterText":{let s=typeof a.size=="string"&&a.size in Ts?a.size:eoe;return[o("Text",{text:IR(a.text),tone:typeof a.tone=="string"?a.tone:"default",_partStyles:{text:{size:Ts[s],lineHeight:yR}}})]}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?{[Xee("mobile")]:!0}:{}})]}case"FooterGroup":{let s=Array.isArray(a.blocks)?a.blocks:[];return[o(tu,{direction:a.direction==="horizontal"?"row":"column",gap:Rr("FooterGroup",a.gap),align:a.align==="center"||a.align==="end"||a.align==="stretch"?a.align:"start",...al,content:s.flatMap(l=>wR(l,o,t))})]}default:return[]}}function Ei(e,o,t,a){let r=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],n=f=>o(tu,{direction:"row",wrap:!0,share:"equal",gap:aoe,content:f}),s=[],l=[];for(let f of r){let u=wR(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(tu,{direction:"column",gap:toe,align:"stretch",...al,content:u}))}(l.length||!s.length)&&s.push(n(l));let c=o(tu,{direction:"column",content:[o("LegalLineBlock")]}),d=YC(Re,t,[...s,c]);return{...d,props:{...d.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}import{isNodeList as Qre}from"efficient-easel/data";import{readHidable as ioe}from"efficient-easel/draw";function au(e,o,t){let a=[];return e.forEach((r,n)=>{let s=o(r),l=a.find(c=>c.key===s);l||(l={key:s,name:t(r),items:[]},a.push(l)),l.items.push({item:r,index:n})}),a}function hNe(e){return loe[Oi(e)]}var loe={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"};function Oi(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 to(e.theme);let o=e.site?.themePresets;return o?to({selected:e.site?.selectedPreset??0,themes:[...o]}):void 0}function coe(e,o){return o===0?`${e}~box`:`${e}~box-${o+1}`}var CR=new Set(["id"]),Qr={},kR=[],doe=["ProductGrid","Events","ContactRouting","ReviewForm","AppointmentBooking","Reviews","CheckoutCTA"],_i=["Breadcrumb","DocBody","Form","SubmitBuild","Footprint","FAQ",...doe,"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 foe(e){return e in Qr&&kR.includes(e)}function TR(e,o=_i){return e in Qr&&(o.includes(e)||foe(e))}function TNe(e){let o=_o[e];if(!o)throw new Error(`lib/sections/section-to-box: "${e}" has no head row in SPLITTABLE_SECTIONS`);let t=[{kind:"text",key:o.num,role:"eyebrow"},{kind:"text",key:o.title,role:"heading"}];return o.description&&t.push({kind:"text",key:o.description,role:"body"}),o.headRows.includes("linkText")&&o.headRows.includes("linkHref")&&t.push({kind:"button",key:"linkText",href:"linkHref"}),t}var Qb=e=>ioe(e),Je=e=>Qb(e).text.trim()!=="";function poe(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 uoe=e=>e==="heading"?Aa():e==="eyebrow"?bt():{};function moe(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 hoe(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 vR(e,o,t,a,r={}){let n={...o};for(let s of e){let[l,c,d]=typeof s=="string"?[s,s,void 0]:s;if(t[l]===void 0)continue;let f=d?d(t[l],t,r):t[l];f===void 0?delete n[c]:n[c]=f,a(l,c,f===void 0)}return n}function xoe(e){let o=new Set([...CR,"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 ey=e=>Vc(e.headPlacement)==="own-box";function goe(e){return ey(e)?"its head sits in a Box of its own above it (own-box): the row draws the head inline":void 0}function Ioe(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 boe(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 yoe(e,o,t){if(!t.press)for(let a of boe(e)){let r=Ioe(o,a);if(r!==void 0)return r}}function Ps(e,o,t={}){let a=e.props,r=(o.ownBoxConverts?void 0:goe(a))??yoe(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=[],c=[],d=new Set,f=(T,F)=>{s.push({key:T,home:F}),d.add(T)},u=a._partStyles??{},p=xoe(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 vR(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=>lo(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"),au(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=Qb(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=uoe(y.role??"body"),{_partStyles:H,...X}=L,q=moe(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??{};c.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"?poe(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=Qb(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??{},...hoe(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=vR(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:coe(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}),d.add(T));for(let T of Object.keys(a))CR.has(T)||d.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:c}}function PR(e,o=kR,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=Ps(r,s,t);l.skipped===void 0&&a.push({index:n,node:l.node,nodes:l.nodes})}),a}import{phoneKey as Poe}from"efficient-easel/draw";var ER={label:"Button",defaultProps:{label:"",href:"#",variant:"primary",align:"left",contained:!0}};import{jsx as woe}from"react/jsx-runtime";import{isNodeList as Soe}from"efficient-easel/data";var oy=new Set(["FAQ"]);function OR(e,o){if(!oy.has(e))return!1;let t=o.template;return typeof t=="function"?(t.blockCount??0)>0:Soe(t)}var ru={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}},_R=new Set(Object.keys(ru)),RR=new Set(["Flex","Text","Heading","ImageBlock"]),voe=new Set(["Divider"]),Coe=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),AR=new Set(["ProductGrid"]);function ty(e,o,t=!1){let a=e.render;e.render=r=>{if(o?.(r))return a(r);let n=zd(zP(r,$d,t)),s=a(r),l=Ew(r);return n?woe(kc,{className:l?`${n.className} ${l}`:n.className,style:n.style,children:s}):s}}var NNe={name:"sectionPadding",applies:(e,o,t)=>o.isSection(e)&&!Coe.has(e)&&!!t&&typeof t.render=="function",panel(e,o,t){_R.has(o)||AR.has(o)||(e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})})},draw(e,o){if(_R.has(o)){let t=e.render,a=ru[o];e.render=r=>{let n=Ud(r,a);return t({...r,padTop:n.top,padBottom:n.bottom})};return}if(AR.has(o)){ty(e);return}RR.has(o)||voe.has(o)||ty(e,o==="Flex"?t=>gx(t.bgImage):oy.has(o)?t=>OR(o,t):void 0,!0)}},koe=["Heading","Text","ImageBlock"],Toe=["LogoBlock"],MNe={name:"blockPadding",applies:(e,o,t)=>(koe.includes(e)||Toe.includes(e))&&!!t&&typeof t.render=="function",panel(e,o,t){e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})}},draw(e,o){RR.has(o)||ty(e,void 0,!0)}};import{parseHexColor as Eoe}from"efficient-shell/format";import{convertLength as Ooe,isLengthUnit as _oe}from"efficient-easel/screen/lib/content/length-units";var ay=e=>_oe(e)?e:"px",Xa=(e,o,t,a)=>o===t?e:Ooe(e,o,t,a,{min:0,max:200,step:4}),on={textFit:"line",textFitPhone:"wrap"},tn={...G,[gt]:""},{label:n2e,href:s2e,...Aoe}=ER.defaultProps,fo=Aoe,an={buttonFillOpacity:0,buttonBorder:{width:0},buttonPaddingTop:0,buttonPaddingRight:0,buttonPaddingBottom:0,buttonPaddingLeft:0},Q={...$c,sectionAccent:0},Os={sectionAccent:-1},ae=["gridSpan","sectionHeightMode","sectionHeightValue","sectionHeightUnit","sectionHeightModeTablet","sectionHeightValueTablet","sectionHeightUnitTablet","sectionHeightModePhone","sectionHeightValuePhone","sectionHeightUnitPhone","sectionCorners","sectionCornerSides","sectionBorder","sectionBorderTablet","sectionBorderPhone","sectionAccent","stickTop","stickTopDistance","stickTopTablet","stickTopDistanceTablet","stickTopPhone","stickTopDistancePhone","anchor","sectionAnimation",...Gn,...Object.values(Te).flatMap(e=>[e,Poe(e)]),"widthFit","widthFitTablet","widthFitPhone","width","widthTablet","widthPhone","minWidth","minWidthTablet","minWidthPhone","maxWidth","maxWidthTablet","maxWidthPhone",...Object.values(co)],Es="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:Es,fullWidth:Es,pageWidth:Es,backgroundWidth:Es,contentWidth:Es,contentMax:Es},de=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 ce(e,o){let t=j(e.sectionPaddingTop)??0,a=j(e.sectionPaddingBottom)??0,r=j(e.sectionPaddingTopTablet),n=j(e.sectionPaddingBottomTablet),s=ay(e.sectionPaddingUnit),l=ay(e.sectionPaddingUnitTablet),c=ay(e.sectionPaddingUnitPhone),d=(u,p,x,g)=>{let I=j(u);if(I!==void 0)return I+Xa(g,"px",c,"mobile");let k=p===void 0?{n:x,unit:s}:{n:p,unit:l};return Xa(k.n,k.unit,c,"mobile")+Xa(g,"px",c,"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:d(e.sectionPaddingTopPhone,r,t,o.topPhone),sectionPaddingBottomPhone:d(e.sectionPaddingBottomPhone,n,a,o.bottomPhone)}}var ye=e=>[...["sectionPaddingTop","sectionPaddingBottom","sectionPaddingTopTablet","sectionPaddingBottomTablet","sectionPaddingTopPhone","sectionPaddingBottomPhone"].map(o=>[o,o,(t,a)=>ce(a,typeof e=="function"?e(a):e)[o]]),["sectionPaddingUnit","sectionPaddingUnit"],["sectionPaddingUnitTablet","sectionPaddingUnitTablet"],["sectionPaddingUnitPhone","sectionPaddingUnitPhone"]];function Lo(e,o){let t=Ud(e,ru[o]);return{sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom}}var Ja=e=>[["padTop","sectionPaddingTop",(o,t)=>Lo(t,e).sectionPaddingTop],["padBottom","sectionPaddingBottom",(o,t)=>Lo(t,e).sectionPaddingBottom],["sectionPaddingTop","sectionPaddingTop",(o,t)=>Lo(t,e).sectionPaddingTop],["sectionPaddingBottom","sectionPaddingBottom",(o,t)=>Lo(t,e).sectionPaddingBottom]],Roe={kind:"heading-case-upper",styles:["heading-1","heading-2","heading-3"]},l2e=e=>o=>Je(o.props[e])?[Roe]:[],pe=(e,o)=>({kind:"text",key:e,role:"eyebrow",props:G,...o?{style:o}:{}}),nu=e=>({kind:"group",name:"Chip",props:{..._,..._a("main"),...Xe(6,14)},parts:[pe(e,{color:"background",...M("label",12),weight:600,letterSpacing:.16})]}),LR=e=>e.background!=="transparent",Loe=(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},Ai={align:"right",alignPhone:"left"},Foe=(e,o,t)=>{let a=r=>Loe(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}},Ri=(e,o,t,a={})=>Foe(e,o,{...tn,...Ai,...a,_partStyles:{text:{...Oo,color:"labels",...t,case:Oo.case,...Ai}}}),_s=(e,o)=>typeof e=="number"&&Number.isInteger(e)&&e>=0?e:en(o)?.selected??0,FR="var(--site-surface-2)",su=(e,o)=>en(o)?.themes[_s(e.sectionAccent??0,o)],Uo=(e,o)=>(t,a)=>{if(!o?.(t,a))return _a(e);let r=su(t,a)?.[e];return r?{fillColor:r}:{}},lu=(e,o)=>Za(e,o)>=0,BR=e=>e.startsWith("#")&&Eoe(e)!==null,iu=(e,o,t)=>{let a=e?.trim();if(a&&BR(a))return{fillColor:a};let r=mx(a);if(r)return _a(r);let n=a===FR?su(o,t):void 0;return n?{fillColor:bc(n)}:{}},cu=e=>{let o=e?.trim();return!o||o==="transparent"||o===Co||mx(o)||o===FR||BR(o)?void 0:"it paints a colour that no Box Fill can hold"},Za=(e,o)=>{let t=en(o)?.themes;return t&&LR(e)?fw(t,_s(e.sectionAccent,o)):-1},Qa=(e,o,t)=>{let a=Za(o,t);return a>=0?a:e},ry=(e,o)=>{let t=en(o)?.themes,a=t?pw(t,_s(e,o)):-1;return a>=0?a:e},rn=(e,o)=>{let t=Za(e,o);return t>=0?{sectionAccent:t}:{}},er=(e,o)=>LR(e.props)&&Za(e.props,o)<0?[{kind:"band-preset",page:_s(e.props.sectionAccent,o)}]:[],As=e=>ef(e.site?.siteGutter),Li=Object.fromEntries(["Top","Right","Bottom","Left","TopPhone","RightPhone","BottomPhone","LeftPhone"].map(e=>[`sectionPadding${e}`,0])),Fi=e=>({top:0,right:0,bottom:0,left:0,...e}),ny=(e,o,t,a=[])=>({kind:"group",name:e,keepEmpty:!0,props:(r,n)=>({..._,...Li,...Uo("surface")(r,n),...typeof t=="function"?t(r,n):t}),box:[[o,"bgImage"],we.kind,we.duration,we.delay],parts:a});import{phoneKey as xy,readHidable as gy}from"efficient-easel/draw";import{isNodeList as fte,newId as pte}from"efficient-easel/data";function DR(e){return Math.min(4,Math.max(2,e??3))}var f2e={eyebrow:"Label",title:"Section *heading.*"},Boe={template:kC()},NR={label:"Cards",fields:Boe,defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var m2e={eyebrow:"Highlight",title:"Key *features.*"},h2e=()=>[{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")}],MR={label:"Key Features",defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var Doe="plain",HR=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],Noe="line",Moe={KeyFeatures:"filled"};function Bi(e){return Moe[e]??Doe}function WR(e,o){return mo(HR,Bi(o),e)}function I2e(e){return mo(HR,Noe,e)}var sy="cardPlace";function S2e(e){return e[sy]==="top-line"?"top-line":""}var w2e="absolute left-5 top-0 z-10 -translate-y-1/2 bg-bg px-2",v2e="data-sf-top-line",Hoe=new Set(["Cards",Ao]);function C2e(e){return typeof e=="string"&&Hoe.has(e)}var Woe=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 k2e(e,o,t){return!t||!o?.linesBetween||o.index!==0?e:Woe(e)?{...e,top:0}:e}var T2e="outsideFramedCard";function O2e(e){return typeof e=="string"?e.trim():""}var _2e="data-sf-box-link",GR="absolute inset-0 -z-[1] outline-none focus-visible:z-[2] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent",A2e="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",Goe="data-sf-box-jump";function $oe(e){return`sf-box-jump-${e}`}function R2e(e,o){return e===!0?hd(o):""}function zoe({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 L2e(e){let o=`[${Goe}="${e}"]`,t=`.${$oe(e)}`,a=`[id="${e}"]:target`;return zoe({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 Uoe=["selected","highlighted"],joe="data-sf-card-state",N2e="pointer-events-none absolute inset-0 border border-accent",M2e="pointer-events-none absolute inset-x-0 bottom-0 border-b-2 border-accent",H2e="pointer-events-none absolute inset-0 border-2 border-accent outline outline-1 -outline-offset-1 outline-accent",W2e="absolute inset-y-0 left-0 w-[3px] bg-accent",G2e="absolute -inset-[2px] -z-[1] bg-[color-mix(in_oklab,var(--accent)_14%,transparent)]",$2e="after:pointer-events-none after:absolute after:inset-0 hover:after:border-2 hover:after:border-accent";function Koe(e){return e?.selected===!0}function Voe(e){return e?Uoe.filter(o=>e[o]===!0).join(" "):""}function z2e(e,o="frame"){let t=Voe(e);return t?{[joe]:t,className:o==="frame"&&Koe(e)?"relative isolate":"relative"}:{}}var qoe={highlighted:!0},Yoe={},du="badge";function U2e(e,o=[]){return e.map((t,a)=>({...t,key:t.key||o[a]?.key||pl(t,a)}))}function j2e(e){return!e||typeof e!="object"?!1:Object.entries(e).some(([o,t])=>o==="key"||o===du||o==="state"?!1:typeof t=="string"?t.trim()!=="":Array.isArray(t)?t.length>0:t!=null&&typeof t!="function")}function K2e(e,{chosen:o,badge:t}){let a=o.trim(),r=a?e.findIndex(n=>n.key===a):-1;return{rows:e.map((n,s)=>({...n,[du]:s===r?t:""})),states:e.map((n,s)=>s===r?qoe:Yoe)}}function V2e(e){return{chosen:typeof e.highlightedCard=="string"?e.highlightedCard.trim():"",badge:typeof e.highlightBadge=="string"?e.highlightBadge:""}}function q2e(e){if(!e||typeof e!="object")return;let o=e.press;return typeof o=="function"?{press:o}:void 0}var Y2e="data-sf-card-press",X2e=`${GR} appearance-none bg-transparent border-0 p-0 m-0 cursor-pointer`;var fu={sectionBorder:{top:0,right:1,bottom:1,left:0},..._a("background")},Xoe={gap:0,gapPhone:0,sectionBorder:{top:1,right:0,bottom:0,left:1},shadow:!0},pu=e=>({direction:"row",columns:e,columnsTablet:e,...Xoe}),$R=(e={})=>re(du,{...G,tag:"p",[sy]:"top-line"},e,!0),zR=(e=Ra)=>{let o=ph(e);return{...o,props:{...fu,...o.props},slots:{[se]:[...o.slots?.[se]??[],$R()]}}},ly=(e=!1)=>{let o=uh(e);return{...o,props:{...fu,...o.props}}},Joe={name:"name",time:"time",note:"note",price:"price"},Zoe={textStyle:"body-1",...M("body",16),weight:500,lineHeight:1.5},Qoe={...Oo,...M("label",12),letterSpacing:.18,lineHeight:1.5},ete={textStyle:"body-1",...M("body",14),lineHeight:1.6},ote={textStyle:"body-1",fontRole:"heading",...M("headingSmall",20),weight:500,color:"accent",lineHeight:1.5},tte={...M("label",11),letterSpacing:.25},ate={gap:16,gapPhone:16,sectionBorder:{top:0,right:0,bottom:0,left:0},shadow:!1},rte=e=>({direction:"row",columns:e,...ate}),aMe=[...new Set([...Object.keys(pu(1)),...Object.keys(rte(1))])],rMe=()=>{let e=Joe,o={tag:"p",widthFit:"fill"};return{type:K,props:{..._,name:"Card",justify:"between",gap:16,gapPhone:16,...Xe(24),sectionBorder:{top:1,right:1,bottom:1,left:1},..._a("surface"),shadow:!0},slots:{[se]:[$R(tte),{type:K,props:{..._,name:"Words",gap:8,gapPhone:8},slots:{[se]:[re(e.name,{...G,...o},Zoe),re(e.time,{...Y,...o},Qoe),re(e.note,{...Y,...o},ete)]}},re(e.price,{...G,...o},ote)]}}};function Ls(e){if(e==="ProductGrid")return"shelf";let o=_o[e]?.headStyle;return o==="editorial"||o==="simple"||o==="essay"?o:"standard"}var mu={standard:64,editorial:60,simple:36,essay:28,shelf:20},nte={SectionHeader:"accent",FAQ:"accent",FitmentFinder:"accent",FitmentTable:"accent",SpecTable:"accent",RelatedProducts:"accent",Collections:"accentNum"};function ste(e){if(e==="SectionHeader")return{num:"num",title:"title",description:"description",link:!0};let o=_o[e];if(!o)throw new Error(`section-head-looks: "${e}" has no head row in SPLITTABLE_SECTIONS`);return{num:o.num,title:o.title,description:o.description,link:o.headRows.includes("linkText")&&o.headRows.includes("linkHref")}}function hu(e,o,t){let a=`editorial:${e}|${o}|${t}`,r=uu.get(a);if(r)return r;let n=VR({num:e,title:o,description:t,link:!1});return uu.set(a,n),n}var cy={top:0,right:0,bottom:1,left:0},jo=(e,o,t,a)=>({sizeToken:{step:e,px:a,fluid:{minPx:o,vw:t}}}),xu=(e,o,t={})=>pe(e,{...M("label",o),...t}),gu=(e,o)=>({kind:"text",key:e,role:"heading",props:G,style:{textStyle:"heading-2",...o}}),dy=800,fy=(e,o,t,a)=>({kind:"text",key:e,props:{...Y,align:"right",alignPhone:"left",...t?{maxWidth:t,maxWidthPhone:dy}:{}},style:{textStyle:"body-5",fontRole:"heading",alignPhone:"left",...M("body",o),...a}}),KR={...fo,align:"right",alignPhone:"left",...an,icon:"arrow-right",iconPosition:"after"},iy=e=>({kind:"button",key:"linkText",href:"linkHref",variant:"ghost",props:KR,style:{...It(e),color:"labels"}}),UR=(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"?lte(bt()):{},...t.style}}}}},lte=e=>e._partStyles.text??{},Rs={widthFitPhone:"fill"};function py(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),...Rs}):{...o,...Rs}}}return{...e,parts:e.parts.map(py)}}function ite(e,o){let t=nte[e],a=t==="accent",r=xu(o.num,14,{color:a?"accent":"labels"}),n=t==="accentNum"&&r.kind==="text"?{...r,mark:"accentLead"}:r,s=gu(o.title,a?{...jo("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:cy,sectionPaddingBottom:24,sectionPaddingBottomPhone:20},parts:[{kind:"group",name:"Title",props:{..._,...Rs,direction:"row",align:"end",gap:40,gapPhone:12,share:"content"},parts:[{kind:"group",name:"Number",props:{..._,...Rs,align:"start",gap:12},parts:[{kind:"image",key:"logoSrc",alt:"logoAlt",props:{aspect:"auto",contained:!1}},n,...l?[UR(o.num,"==01== / Collections",n)]:[]]},{kind:"group",name:"Heading",props:{..._,...Rs},parts:[s,...l?[UR(o.title,`Three ranges,
|
|
75
|
+
one standard.`,s)]:[]]}]},{kind:"group",name:"Words",props:{..._,...Rs,gap:12,maxWidth:340,maxWidthPhone:dy},parts:[...o.description?[fy(o.description,14,void 0,{lineHeight:1.5})]:[],...o.link?[iy(14)]:[],...l?[{kind:"block",type:"ButtonBlock",props:{...KR,variant:"ghost",label:"View all",href:"/wheels",_partStyles:{label:iy(14).style}}}]:[]]}]}}function VR(e){return{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:14,share:"content",sectionBorder:cy,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:[{...xu(e.num,13),props:{...G,...on}}]},gu(e.title,{...jo("headingMedium",40,5.5,80),case:"upper",weight:500,lineHeight:1,letterSpacing:-.03})]},{kind:"group",name:"Words",props:{..._,sectionPaddingBottom:4,maxWidth:360,maxWidthPhone:dy},parts:e.description?[fy(e.description,14,void 0,{lineHeight:1.5})]:[]}]}}function jR(e,o){return{kind:"group",name:"Header",props:{..._,gap:16,gapPhone:16},parts:[xu(e.num,13),gu(e.title,o)]}}var qR=[["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}]],cte=e=>qR.some(([o])=>o===e.titleSize)?e.titleSize:"lg";function dte(e){return{kind:"group",name:"Header",props:{..._,direction:"row",align:"center",justify:"between",gap:16,share:"content",stickTop:!0,sectionBorder:cy,sectionPaddingTop:12,sectionPaddingBottom:12},parts:[{kind:"group",name:"Title",props:{..._,direction:"row",align:"end",gap:24,share:"content"},parts:[xu(e.num,13,{color:"labels",letterSpacing:.22,lineHeight:1}),...qR.map(([o,t])=>({...gu(e.title,t),when:a=>cte(a)===o}))]},{kind:"group",name:"Words",props:{..._,direction:"row",align:"center",justify:"end",gap:20,share:"content"},parts:[...e.description?[fy(e.description,13,340,{lineHeight:1.4})]:[],...e.link?[iy(13)]:[]]}]}}function Iu(e){return Ls(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 uu=new Map,uy={...M("headingMedium",44,32),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02};function st(e){let o=uu.get(e);if(o)return o;let t=ste(e),a=Ls(e),r=a==="editorial"?VR(t):a==="simple"?jR(t,uy):a==="essay"?jR(t,{...M("headingMedium",38,28,"headingSmall"),case:"upper",lineHeight:1,letterSpacing:-.02}):a==="shelf"?dte(t):ite(e,t);return uu.set(e,r),r}var nn={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:Co,Stats:void 0};var Di=(e,o,t,a)=>({sectionBorder:{top:e,right:o,bottom:t,left:a}}),lL=e=>o=>DR(j(o.columns)??j(e.columns)),ute="inline is the head the row draws; an own-box node is skipped (`skip`)",mte={kind:"text",key:"title",role:"heading",props:G,style:{textStyle:"heading-3",...uy}},YR={top:120,bottom:120,topPhone:80,bottomPhone:80,topTablet:80,bottomTablet:80},yu=e=>{let o=jt(typeof e.background=="string"?e.background:void 0,nn.Series);return o&&o!=="transparent"?o:void 0},bu=e=>yu(e)===Co,hte={..._,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},XR={..._,direction:"row",justify:"between",gap:12,share:"content",phoneRow:2,[xy("share")]:"content"},xte=e=>{let o=yu(e)?1:2;return{..._,direction:"row",columns:4,columnsTablet:2,gap:o,gapPhone:o}},my={...It(12),letterSpacing:.22,lineHeight:1.5},JR=e=>Je(e.viewLabel)&&!gy(e.viewLabel).hidden,lt=e=>gy(e).text?.trim?.()??"",Su=e=>Object.fromEntries(Object.entries(e).filter(([,o])=>J(o)!==void 0)),Iy=e=>e.map(([o,t,a])=>({key:o,label:t,...a?{multiline:!0}:{}})),gte=Iy([["num","Number"],["since","Corner note"],["title","Card title"],["body","Card body",!0],["count","Count"],["countLabel","Count word"]]),Ite=Iy([["label","Label"],["value","Value"],["body","Card body",!0]]),Ni=(e,o,t,a,r,{reads:n=["cards"],keep:s=[]}={})=>({kind:"group",name:e,props:o,parts:[{kind:"core",as:Ao,headless:!0,keep:s,derive:{reads:n,props:l=>Zc(a(l),t)},slots:(l,c)=>({[io]:[r(l,c)]})}]}),iL=e=>Array.isArray(e.cards)?e.cards:[],ZR={top:76,bottom:76,topPhone:76,bottomPhone:76},cL=e=>(Array.isArray(e.items)?e.items:[]).map(o=>Su({title:lt(o?.label),href:typeof o?.href=="string"?o.href.trim():""})).filter(o=>o.title!==void 0).map((o,t)=>({key:pl(Ch(o),t),...o})),bte=e=>cL(e).some(o=>J(o.href)!==void 0),dL=[{key:nl.label,label:"Feature label"},{key:nl.href,label:"Link",kind:"link"}],QR=e=>WR(e.eyebrowLook,"KeyFeatures")==="filled",yte={name:"Key Features",boxProps:(e,o)=>({...Q,direction:"column",gap:44,gapPhone:32,...Uo("surface")(e,o),...Di(1,0,1,0),...ce(e,ZR)}),box:[...ae,...ye(ZR)],parts:[{kind:"group",name:"Heading",props:{..._,direction:"row",align:"end",gap:20,wrap:!0,share:"content",phoneRow:2,[xy("share")]:"content"},parts:[{...nu("eyebrow"),when:QR},{...pe("eyebrow"),when:e=>!QR(e)},mte]},Ni("Cards",e=>({..._,...pu(lL(MR.defaultProps)(e))}),dL,cL,e=>ly(bte(e)),{reads:["items"]})],drop:{...oe,...de,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"}},eL={top:72,bottom:72,topPhone:72,bottomPhone:72},oL=(e,o)=>({...fu,...Uo("background")(e,o)}),tL=e=>{let o=lL(NR.defaultProps)(e);return{..._,...pu(o)}},Ste=Iy([["title","Card title"],["body","Card body",!0]]),fL=e=>(Array.isArray(e.items)?e.items:[]).map((o,t)=>({key:typeof o?.key=="string"&&o.key?o.key:pl(Ch(o),t),title:lt(o?.title),body:lt(o?.body)})),pL=e=>{let o={},t={};for(let[a,r]of Object.entries(e.props??{}))a!=="id"&&(fte(r)?t[a]=r.map(pL):o[a]=r);return{type:String(e.type),props:o,...Object.keys(t).length?{slots:t}:{}}},aL=(e,o)=>{let t=hy(e)?ly(wte(e)):zR(),a=Array.isArray(e.template)?e.template.map(pL):[t],[r]=a;return a.length===1&&r.type===K?{...r,props:{...oL(e,o),...r.props}}:{type:K,props:{..._,...oL(e,o),name:"Card"},slots:{[se]:a}}},hy=e=>e.cardStyle==="label-only",uL=e=>fL(e).map((o,t)=>{let a=e.items[t]?.href;return Su({key:o.key,title:o.title,href:typeof a=="string"?a.trim():""})}),wte=e=>uL(e).some(o=>J(o.href)!==void 0),rL=e=>Array.isArray(e.template)&&e.template.length===0,nL=["dataSource","dataSourceOptions","highlightedCard","highlightBadge"];function mL(){let e=t=>({key:pte("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 vte={name:"Cards",ownBoxConverts:!0,boxProps:(e,o)=>({...Q,direction:"column",gap:36,gapPhone:28,...Uo("surface")(e,o),...ce(e,eL)}),box:[...ae,...ye(eL)],parts:[{...st("Cards"),when:e=>!ey(e)},{...Ni("Cards",tL,Ste,fL,aL,{reads:["items"],keep:nL}),when:e=>!rL(e)&&!hy(e)},{...Ni("Cards",tL,dL,uL,aL,{reads:["items"],keep:nL}),when:e=>!rL(e)&&hy(e)}],drop:{...oe,...de,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)"}},Cte={name:"Recurring Columns",boxProps:(e,o)=>({...Q,direction:"column",gap:60,gapPhone:60,...Di(0,0,1,0),...bu(e)?rn(e,o):{},...iu(yu(e),e,o),...ce(e,YR)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>bu(o)?Qa(e,o,t):e],...ye(YR)],skip:e=>cu(yu(e)),site:(e,o)=>bu(e.props)?er(e,o):[],parts:[st("Series"),Ni("Cards",xte,gte,e=>iL(e).map(o=>Su({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:{...hte,...Uo("background",(t,a)=>bu(t)&&lu(t,a))(e,o),name:"Card"},slots:{[se]:[{type:K,props:{..._,name:"Words",gap:16,gapPhone:16},slots:{[se]:[{type:K,props:{...XR,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:{...XR,name:"Footer",align:"center",gap:0,gapPhone:0,sectionPaddingTop:16,sectionPaddingTopPhone:16,...Di(1,0,0,0),...JR(e)?{}:{[kh]:["count","countLabel"]}},slots:{[se]:[{type:K,props:{..._,name:"Count",direction:"row",align:"center",gap:12,gapPhone:12,share:"content",phoneRow:2,[xy("share")]:"content"},slots:{[se]:[re("count",G,my),re("countLabel",Y,my)]}},...JR(e)?[{type:K,props:{..._,name:"View",maxWidthPhone:266},slots:{[se]:[{type:"Text",props:{...G,text:gy(e.viewLabel).text,_partStyles:{text:{...bt()._partStyles.text,...my}}}}]}}]:[]]}}]}}))],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,...de,headPlacement:ute}},sL={top:60,bottom:60,topPhone:40,bottomPhone:40},kte={..._,direction:"row",columns:3,gap:40,gapPhone:16},Tte={..._,gap:8,gapPhone:8,...Xe(24),...Di(1,1,1,1)},Pte={name:"Document Detail Cards",boxProps:e=>({...Q,direction:"column",gap:40,gapPhone:16,...Di(0,0,1,0),...ce(e,sL)}),box:[...ae,...ye(sL)],parts:[Ni("Cards",kte,Ite,e=>iL(e).map(o=>Su({label:lt(o.label),value:lt(o.value),body:lt(o.desc)})),(e,o)=>({type:K,props:{...Tte,...Uo("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,...de}},hL={Cards:vte,KeyFeatures:yte,Series:Cte,DocMetaCards:Pte};import{phoneKey as Ate}from"efficient-easel/draw";import{newId as Rte}from"efficient-easel/data";import{phoneKey as Ete}from"efficient-easel/draw";import{isNode as Mi}from"efficient-easel/data";var Fs="cardStyle";function xL(e){let{widthPhone:o,...t}=e;return e.widthFitPhone==="fixed"?{...t,widthFitPhone:"fill"}:{...e}}var wu={table:{items:{gap:0,gapPhone:0,columnsTablet:2},grid:{gap:0},row:{gap:0,[Ete("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:{...wu.table,listCard:xL(wu.table.card)},list:{...wu.list,listCard:xL(wu.list.card)}},MMe=[{label:"Table",value:"table"},{label:"List",value:"list"}],HMe=e=>e==="table"||e==="list",Ote=e=>[...new Set([...Object.keys(it.table[e]),...Object.keys(it.list[e])])];function Hi(e,o,t){let a={...e};for(let r of Ote(o))delete a[r];return{...a,...structuredClone(it[t][o])}}function _te(e,o,t){let a=e.props??{},r=Array.isArray(a[io])?a[io]:[],n=r.findIndex(c=>Mi(c)&&c.type===t);if(n<0)return e;let s=r[n],l=r.map((c,d)=>d===n?{...s,props:Hi(s.props??{},"listCard",o)}:c);return{...e,props:{...a,[io]:l}}}function WMe(e,o,t,a){let r=Array.isArray(e[a])?e[a]:[];if(r.some(s=>Mi(s)&&s.type===Ao)){let s=r.map(l=>Mi(l)&&l.type===Ao?_te(l,o,t):l);return{...Hi(e,"items",o),[Fs]:o,[a]:s}}let n=r.map(s=>{if(!Mi(s)||s.type!==t)return s;let l=s.props??{},c=(Array.isArray(l[a])?l[a]:[]).map(d=>Mi(d)&&d.type===t?{...d,props:Hi(d.props??{},"card",o)}:d);return{...s,props:{...Hi(l,"row",o),[a]:c}}});return{...Hi(e,"grid",o),[Fs]:o,[a]:n}}var by=e=>typeof e=="string"?e.trim():"";function gL(e){let o=`${by(e.prefix)}${by(e.value)}`,t=by(e.suffix);return e.emphasizeAll===!0?o?`==_${o}_==`:"":`${o}${t?`==_${t}_==`:""}`}var yL={textStyle:"heading-2",...jo("headingMedium",56,7,96),weight:500,case:"none",lineHeight:.9,letterSpacing:-.04},yy={kind:"block",type:"Text",props:{...tn,_partStyles:{text:yL}},box:[["value","text",(e,o)=>gL(o)]],when:(e,o)=>o!==void 0&&typeof o.value=="string"&&gL(o)!==""},IL=e=>Je(e?.supSuffix),SL={textStyle:"body-1",fontRole:"heading",...M("body",16),lineHeight:1.5,letterSpacing:-.01},wL={color:"labels",...M("label",12),lineHeight:1.5,letterSpacing:.24},vL={..._,direction:"row",align:"start",gap:32,gapPhone:32,share:"content",phoneRow:2,[Ate("share")]:"content"},CL={textStyle:"body-5",...M("label",13),weight:500,color:"accent",letterSpacing:.18,lineHeight:1,padding:12},Sy=e=>jt(e.background,nn.StatsParagraph),Wi=e=>Sy(e)===Co,vu=e=>({...e,sectionAccent:e.sectionAccent??0}),Lte=(e,o)=>Wi(e)?Uo("background",(t,a)=>lu(vu(t),a))(e,o):{},Fte={name:"Stats with Text",skip:e=>Sy(e)&&Sy(e)!=="transparent"&&!Wi(e)?"it paints a colour of its own, not the section band":void 0,boxProps:(e,o)=>({...Q,direction:"column",gap:60,gapPhone:60,sectionBorder:{bottom:1},...Lo(e,"StatsParagraph"),...Wi(e)?rn(vu(e),o):{}}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Wi(o)?Qa(e,vu(o),t):e],...Ja("StatsParagraph")],site:(e,o)=>Wi(e.props)?er({props:vu(e.props)},o):[],parts:[st("StatsParagraph"),{kind:"group",name:"Stats",props:{..._,...it.table.grid,[Fs]:"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,...Lte(e,o)}),parts:[{...yy,when:(e,o)=>!IL(o)&&yy.when(e,o)},{kind:"group",name:"Figure",props:vL,when:(e,o)=>IL(o),parts:[yy,{kind:"text",key:"supSuffix",props:G,style:CL}]},{kind:"group",name:"Words",props:{..._,gap:4,gapPhone:4},parts:[{kind:"text",key:"label",props:G,style:SL},pe("sub",wL)]}]}]}],drop:{...oe,...de,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"}},Bte=new Set(["value","label",gt]),bL={top:48,bottom:48,topPhone:48,bottomPhone:48},Dte=e=>{let o=jt(typeof e.background=="string"?e.background:void 0,nn.Stats);return!!o&&o!=="transparent"},Nte={name:"Stats",skip:e=>Dte(e)?"it paints a colour inside its padding, and a Box paints its Fill over the padding too":Je(e.dataSource)?"its figures come from a source":Array.isArray(e.items)&&e.items.some(o=>Je(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=>!Bte.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,...ce(e,bL)}),box:[...ae,...ye(bL)],parts:[pe("heading",{color:"labels",...M("label",12),letterSpacing:.2}),{kind:"group",name:"Stats",props:{..._,...it.list.grid,[Fs]:"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,...de,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"}},kL={StatsParagraph:Fte,Stats:Nte};function TL(){return{eyebrow:i("By the numbers"),title:i("What we count."),desc:i("A few numbers that matter to us."),stats:[],background:"transparent"}}var Mte=[{key:"figure",label:"Figure"},{key:"superscript",label:"Superscript"},{key:"label",label:"Label"},{key:"body",label:"Text",multiline:!0}];function PL(){let e=(o,t,a,r="")=>({key:Rte("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 Hte(e){return{type:K,props:{..._,name:"Card",...structuredClone(it[e].listCard)},slots:{[se]:[{type:K,props:{...vL,name:"Figure"},slots:{[se]:[re("figure",tn,yL),re("superscript",G,CL)]}},{type:K,props:{..._,name:"Words",gap:4,gapPhone:4},slots:{[se]:[re("label",{...G,widthFit:"fill"},SL),re("body",{...G,widthFit:"fill"},wL,!0)]}}]}}}function wy(e,o,t=4){return{type:K,props:{..._,name:"Stats",direction:"row",columns:t,...structuredClone(it[o].items),[Fs]:o},slots:{[se]:[{type:Ao,props:Zc(e,Mte),slots:{[io]:[Hte(o)]}}]}}}var EL={heading:"Trusted by *teams worldwide*"},OL=()=>[{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")}],Wte={logos:{type:"slot",allow:["LogoBlock"]},template:{type:"slot",allow:["LogoBlock"]}},rHe={label:"Logos",fields:Wte,defaultProps:{items:[],contained:!0}};var _L={heading:"Ways to pay"},AL=()=>[{label:"Visa"},{label:"Mastercard"},{label:"Amex"},{label:"PayPal"}],RL=()=>[{text:i("Secure encrypted checkout")},{text:i("30-day returns")}],lHe={label:"Payment Methods",defaultProps:{heading:"",badges:[],assurances:[],contained:!0}};var dHe={left:"justify-start",center:"justify-center",right:"justify-end"},Gte={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"}},$te={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"}},zte={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"}},Ute={text:{left:"max-view-tablet:text-left",center:"max-view-tablet:text-center",right:"max-view-tablet:text-right"},place:{left:"max-view-tablet:mx-0",center:"max-view-tablet:mx-auto",right:"max-view-tablet:ml-auto max-view-tablet:mr-0"},items:{left:"max-view-tablet:grid-cols-1 max-view-tablet:justify-items-start",center:"max-view-tablet:grid-cols-1 max-view-tablet:justify-items-center",right:"max-view-tablet:justify-items-end"},justify:{left:"max-view-tablet:justify-start",center:"max-view-tablet:justify-center",right:"max-view-tablet:justify-end"}};function Cu(e){return e==="left"||e==="center"||e==="right"?e:void 0}function LL(e){return e==="start"?"left":e==="end"?"right":Cu(e)}function jte(e,o,t){let a=Cu(e)??"left",r=Vo("same",a,Cu(o),Cu(t)),n={};return r.tablet&&r.tablet!==a&&(n.tablet=r.tablet),r.phone&&r.phone!==a&&(n.phone=r.phone),n}function fHe(e,o,t,a,{atSectionLine:r=!1}={}){let n=jte(o,t,a),s=r?zte:Gte,l=r?Ute:$te;return[n.tablet?s[e][n.tablet]:"",n.phone?l[e][n.phone]:""].filter(Boolean).join(" ")}import{phoneKey as Cy,readHidable as Kte}from"efficient-easel/draw";var ky={contained:!1},Ty=(e,o)=>({logos:[{kind:"list",key:e,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[o,"alt"]],when:(t,a)=>Je(a?.src)||Je(a?.[o])}]}]}),vy=e=>{let o=j(e.bandPadding)??40;return{top:o,bottom:o,topPhone:o,bottomPhone:o}},Vte={...pe("heading",{color:"labels",letterSpacing:.2}),props:{...G,align:"center"}},qte={name:"Logos",boxProps:e=>({...Q,direction:"column",gap:32,...ce(e,vy(e))}),box:[...ae,...ye(vy),["bandPadding","sectionPaddingTop",(e,o)=>ce(o,vy(o)).sectionPaddingTop]],parts:[Vte,{kind:"core",keep:["columns","logoHeight","grayscale"],rename:{logosPerRow:"columns"},props:ky,slots:Ty("items","alt")}],drop:{...oe,...de,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"}},Yte={kind:"group",name:"Mark",keepEmpty:!0,parts:[],props:zc(4,"main",{sectionCorners:2})},FL={top:24,bottom:24,topPhone:24,bottomPhone:24},Xte={name:"Payment Methods",boxProps:e=>({...Q,direction:"column",...ce(e,FL)}),box:[...ae,...ye(FL)],parts:[{kind:"group",name:"Methods",props:{..._,align:"center",gap:20,gapPhone:20,sectionBorder:{top:1,bottom:1},sectionPaddingTop:32,sectionPaddingBottom:32},parts:[{...pe("heading",{color:"labels"}),props:{...G,align:"center"}},{kind:"core",keep:[],as:"Logos",derive:{reads:[Eo,ea],props:e=>Je(e[Eo])?{[Eo]:e[Eo],...e[ea]!==void 0?{[ea]:e[ea]}:{}}:{}},props:{...ky,look:"cards",grayscale:!1},slots:e=>({...Ty("badges","label"),...Je(e[Eo])?{[io]:[Kc()]}:{}})},{kind:"group",name:"Reassurance",props:{..._,direction:"row",wrap:!0,justify:"center",gap:24,gapPhone:24,phoneRow:2,[Cy("share")]:"content"},parts:[{kind:"list",key:"assurances",name:"Line",of:e=>(Array.isArray(e.assurances)?e.assurances:[]).filter(o=>Je(o?.text)),props:{..._,direction:"row",align:"center",gap:8,gapPhone:8,phoneRow:2,[Cy("share")]:"content"},item:e=>Kte(e.text).hidden?{props:{_hidden:!0}}:{},parts:[Yte,{kind:"text",key:"text",props:{...G,align:"center"},style:{...M("label",13),color:"labels",lineHeight:1.5}}]}]}]}],drop:{...oe,...de,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)"}},Jte={left:"start",center:"center",right:"end"},BL=e=>LL(e.align)??"left",DL=e=>e.size==="md"?"md":"sm",NL=12,ML={name:"Payment logos",boxProps:e=>({..._,direction:"row",wrap:!0,align:"center",justify:Jte[BL(e)],gap:NL,gapPhone:NL,phoneRow:2,[Cy("share")]:"content"}),parts:[{kind:"text",key:"lead",props:Y,styleFrom:e=>({size:Ts[DL(e)],lineHeight:1.5})},{kind:"core",keep:[],as:"Logos",derive:{reads:[Eo,ea],props:e=>({logoHeight:bR[DL(e)].mark,align:BL(e),...Je(e[Eo])?{[Eo]:e[Eo],...e[ea]!==void 0?{[ea]:e[ea]}:{}}:{}})},props:{...ky,look:"marks",grayscale:!1,sectionAccent:ot},slots:e=>({...Ty("methods","label"),...Je(e[Eo])?{[io]:[Kc()]}:{}})}],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"}},HL={Logos:qte,PaymentBadges:Xte,FooterPayment:ML,PaymentLogosBlock:ML},WL=()=>({heading:EL.heading,items:OL()}),GL=()=>({heading:_L.heading,badges:AL(),assurances:RL()}),$L=()=>({...Md,methods:[]});import{mixHex as Qte}from"efficient-shell/format";var EHe="none",OHe=[{label:"Nothing",value:"none"},{label:"Section above",value:"above"},{label:"Section below",value:"below"}];function zL(e){return e==="above"||e==="below"?e:null}var _He="sf-ticker-join";function Zte(e){return e==="above"?"sf-ticker-join-above":"sf-ticker-join-below"}function AHe(e){return`absolute inset-x-0 ${Zte(e)}`}var sn={direction:"row",share:"content",align:"center"},Gi={top:14,bottom:14,topPhone:12,bottomPhone:12},ku={wrap:"nowrap",loop:"scroll",sectionAccent:Ux,gap:60,gapPhone:32,separator:"dot",sectionBorder:{top:1,bottom:1}},UL={gap:120,gapPhone:64},Tu={...Oo,sizeToken:{step:"label",px:14,pxPhone:12},letterSpacing:.25,lineHeight:1.5},jL={textStyle:"heading-3",letterSpacing:.005,case:"upper",lineHeight:1},$i={top:16,bottom:16,topPhone:12,bottomPhone:12},zi={justify:"between",wrap:"wrap",gap:32,separator:"none"},Ui={...Oo,letterSpacing:.1,lineHeight:1.5};var KL=e=>e.size==="display",eae=(e,o)=>{let t=su(e,o),a=e.tone!=="plain"&&t?.text&&t.background?Qte(t.text,t.background,.3):null;return a?{color:a}:{}},oae=(e,o)=>e.tone!=="plain"&&St(e.sectionAccent)===null?Uo("background")(e,o):{},VL=(e,o)=>({kind:"list",key:"items",name:"Item",flat:!0,when:o,parts:[{kind:"text",key:"text",props:Y,style:e,styleFrom:eae}]}),tae={name:"Scrolling Bar",boxProps:(e,o)=>({...Q,...sn,...ku,...Mc[el(e.separator)]===""?UL:{},...ce(e,Gi),...oae(e,o)}),box:[["scrollDirection","scrollDirection",e=>h1(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=>el(e)],["join","join",e=>zL(e)??void 0],["borders","sectionBorder",e=>e===!1?void 0:{top:1,bottom:1}],...ae,["tone","sectionAccent",(e,o)=>St(o.sectionAccent)??ot],...ye(Gi)],parts:[VL(Tu,e=>!KL(e)),VL(jL,KL)],drop:{...oe,...de,size:"each item's Text style: Small \u2192 Body 5, Display \u2192 Heading 3"}},qL=e=>e?.tone==="muted",YL=e=>yc(en(e)),aae={name:"Spec Strip",boxProps:(e,o)=>({...Q,...sn,...zi,...e.fill==="none"?{sectionBorder:{top:1}}:{sectionAccent:YL(o)},...ce(e,$i)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>o.fill==="none"?e:YL(t)],...ye($i)],parts:[{kind:"list",key:"cells",name:"Cell",flat:!0,parts:[{kind:"text",key:"text",props:G,style:Ui,when:(e,o)=>!qL(o)},{kind:"text",key:"text",props:Y,style:Ui,when:(e,o)=>qL(o)}]}],drop:{...oe,...de,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"}},XL={Ticker:tae,SpecStrip:aae};import{jsxs as qi,jsx as Ke}from"react/jsx-runtime";import{Fragment as cF}from"react";import{Fragment as Iae,jsx as Ry}from"react/jsx-runtime";import{Fragment as QL,jsx as ji,jsxs as dae}from"react/jsx-runtime";import{createContext as Ay,useContext as Ki,useEffect as fae,useId as pae,useMemo as uae,useRef as mae}from"react";import{armEntrance as hae}from"efficient-shell/format";import{jsx as rae}from"react/jsx-runtime";import{useEffect as ZL,useRef as JL,useState as nae}from"react";import{armEntrance as sae,entranceAttrs as lae,playEntrance as iae}from"efficient-shell/format";function Ey({desktop:e,phone:o,editing:t,boxClass:a,boxAttrs:r,boxStyle:n,takesViewHide:s=!1,atEdge:l=!1,children:c}){let d=JL(null),f=Ow(),u=kn(),p=s?u:Cc,x=Oy(d,!0,l),g=x?o:e,{attrs:I,style:k}=lae(g),S=JL(Py.seed(e,o)),v=JSON.stringify(e),b=JSON.stringify(o);return ZL(()=>{let C=d.current;if(C){if(t){let T=Py.next(S.current,e,o,x);S.current=T.seen,T.play&&iae(C);return}return sae(C)}},[v,b,x,t]),p.scope(rae("div",{ref:d,className:Tn(`${Ip}${f.fill}${a?` ${a}`:""}`,p.className),...r,...p.attrs,...I,...Object.keys(k).length||n?{style:{...n,...k}}:{},children:f.inner(c)}))}var Py={seed(e,o){return{desktop:JSON.stringify(e),phone:JSON.stringify(o)}},next(e,o,t,a){let r=Py.seed(o,t);return{play:a?r.phone!==e.phone:r.desktop!==e.desktop,seen:r}}};function cae(e){return e?zf:ns}function Oy(e,o=!0,t=!1){let[a,r]=nae(!1),n=cae(vc()||t);return ZL(()=>{if(!o)return;let s=e.current?.ownerDocument?.defaultView??(typeof window>"u"?null:window);if(!s?.matchMedia)return;let l=s.matchMedia(n),c=()=>r(l.matches);return c(),l.addEventListener("change",c),()=>l.removeEventListener("change",c)},[e,o,n]),a}var Pu=Ay(null),oF=Ay(null),tF=Ay(null);function i4e({needles:e,styles:o,motions:t=mA,type:a,atEdge:r=!1,children:n}){let s=pae(),l=vc()||r,c=JSON.stringify([s,e,o,t,a]),d=uae(()=>{let u=Object.keys(t).filter(p=>xA(t[p]));return FO(e,o,s,p=>bi(a,p),p=>OO(a,p),p=>u.includes(p)?Nb(t[p]):null,u)},[c]);if(!d)return ji(QL,{children:n});let f=BO(d,{inBox:l});return dae(QL,{children:[f&&ji("style",{href:`${xae}${s}-${gae(f)}`,precedence:rF,dangerouslySetInnerHTML:{__html:f.replace(/</g,"\\3c ")}}),ji(Pu.Provider,{value:d,children:n})]})}var _y=new WeakMap;function eF(e,o){let t=IA(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)?(yA(e.ownerDocument),e.setAttribute(Bp,"")):e.removeAttribute(Bp)}function aF(e){let o=mae(null),t=e?.motion?.entrance??null,a=e?.motion?.hover==="lift",r=Oy(o,t!==null),n=JSON.stringify(t);return fae(()=>{let s=o.current,l=bA(s?.parentElement??null);if(!t&&!a||!s||!l)return;let c=t?()=>{let u=gA(l,r?t.phone:t.desktop),p=hae(l);return()=>{p?.(),u()}}:null,d=_y.get(l)??[];_y.set(l,d);let f={element:s,arm:c,lift:a};return d.push(f),eF(l,d),()=>{let u=d.indexOf(f);u<0||(d.splice(u,1),f.undo?.(),f.undo=void 0,eF(l,d),d.length||_y.delete(l))}},[n,a,r]),o}var rF="sf-part-styles",xae=`${rF}-`;function gae(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 nF(e){let o=Ki(Pu),t=Ki(oF),a=DO(o,e);return a&&a.stamp!==t?a:null}function c4e(e){return SI(Ki(Pu),e)}function sF({stamp:e,children:o}){return ji(oF.Provider,{value:e,children:o})}function d4e({children:e}){let o=Ki(Pu);return ji(tF.Provider,{value:o,children:e})}function f4e(e){return SI(Ki(tF),e)}function Vi({value:e,children:o}){let t=nF(e),a=aF(t);return t?Ry(sF,{stamp:t.stamp,children:Ry("span",{ref:a,[fI]:t.stamp,...t.textStyle?{[is]:t.textStyle}:{},children:o})}):Ry(Iae,{children:o})}import{jsx as Ly,Fragment as bae}from"react/jsx-runtime";function lF({className:e=""}){return Ly("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function Eu(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(Ly(lF,{},`r${r}`))}),Ly(bae,{children:t})}var I4e=lF;function ba(e,o=!1,t){let a=Pae(o),r=Js(e);if(r.length===1){let[s]=r,l=Bm(s),c=l?kae(l,s.children):s.children;return qi(Vi,{value:e,children:[t,Ou(c,a)]})}let n=[];return r.forEach((s,l)=>{if(s.bullet){n.push(Ke("span",{"data-sf-bullet":"",className:yae,children:Ou(s.children,a)},l));return}if(s.number!=null){n.push(qi("span",{"data-sf-number":s.number,className:Sae,children:[qi("span",{className:wae,children:[s.number,"."]}),Ou(s.children,a)]},l));return}l>0&&!vae(r[l-1])&&n.push(Ke("br",{},`br${l}`)),n.push(Ke(cF,{children:Ou(s.children,a)},l))}),qi(Vi,{value:e,children:[t,n]})}var yae="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",Sae="relative block pl-[2em]",wae="absolute left-0 w-[1.6em] text-right tabular-nums";function vae(e){return e.bullet||e.number!=null}var Cae="text-accent underline underline-offset-[0.18em]";function kae(e,o){let[t,...a]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...a]:[{kind:"text",text:e},...o]}function Tae(e){return Hn(e)||void 0}function Ou(e,o){let t=[],a=!1;return e.forEach((r,n)=>{if(r.kind==="text"){t.push(Ke("span",{children:Eu(r.text)},n)),a=!0;return}a||t.push(Ke("span",{},`e${n}`)),t.push(dF(r,n,o)),a=!1}),a||t.push(Ke("span",{},"end")),t}function iF(e,o){return e.length===1&&e[0].kind==="text"?Eu(e[0].text):e.map((t,a)=>t.kind==="text"?Ke(cF,{children:Eu(t.text)},a):dF(t,a,o))}function Pae(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function P4e(e){return Ke(Vi,{value:e,children:Ke("span",{children:e})})}function dF(e,o,t){if(e.kind==="link")return Ke("a",{href:e.href,className:Cae,children:iF(e.children,t)},o);let a=iF(e.children,t),r=iv[e.kind];if(r)return Ke("span",{[cv]: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=Tae(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 E4e(e,o=!0){let t=e.split(`
|
|
76
|
+
`);return Ke(Vi,{value:e,children:t.map((a,r)=>qi("span",{children:[ba(a,o),r<t.length-1?Ke("br",{}):null]},r))})}function fF(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var pF={direction:"column",justify:"between",gap:14,gapPhone:14,sectionPaddingLeft:14,sectionPaddingRight:14,sectionPaddingLeftPhone:0,sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},Fy={name:"Year and title",direction:"column",gap:14,gapPhone:14};var ya={text:"Button label",href:"#"},Yi=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 _u={eyebrow:yo.eyebrow,title:`Section heading
|
|
77
|
+
*Highlight line*`,intro:yo.body,imageCaption:yo.imageCaption,imageMeta:yo.imageMeta,cta:ya.text},uF=()=>[{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.")}],F4e={label:"Story Timeline",defaultProps:{layout:"split",eyebrow:"",title:"",intro:"",imageSrc:"",imageCaption:"",imageMeta:"",ctaText:"",ctaHref:"",entries:[],padTop:120,padBottom:120}};var Au={eyebrow:yo.eyebrow,title:yo.headingAccent,intro:yo.body,cta:ya.text},mF=()=>[{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}],H4e={label:"Milestone Timeline",defaultProps:{eyebrow:"",title:"",intro:"",entries:[],ctaText:"",ctaHref:"",background:Nl,padTop:120,padBottom:120}};var yF={buttonBorder:{width:0}},Fu=(e,o,t={})=>({textStyle:"body-5",...M("label",e),letterSpacing:o,lineHeight:1.5,weight:400,...t}),Bs=(e,o,t={})=>({...Fu(e,o),...Oo,...t}),Bu=(e,o,t)=>({...e,case:"upper",weight:500,letterSpacing:o,lineHeight:t}),Xi=(e,o,t={})=>({textStyle:"body-1",fontRole:"heading",...e,weight:400,case:"none",lineHeight:o,...t}),ct=(e,o,t={})=>({kind:"text",key:e,props:G,style:o,...t});function SF(e,o){return e.kind==="text"?o.includes(e.key)?{...e,mark:"accentItalic"}:e:e.kind==="group"?{...e,parts:e.parts.map(t=>SF(t,o))}:e}var hF=(e,o)=>o?.future===!0,Ru=e=>fF(typeof e?.body=="string"?e.body:""),Hy=e=>jt(typeof e.background=="string"?e.background:void 0,nn.TimelineTrack),By=e=>Hy(e)===Co?e:{...e,background:"transparent"},Eae={name:"Milestone Timeline",skip:e=>cu(Hy(e)),boxProps:(e,o)=>{let t=Za(By(e),o);return{...Q,direction:"column",gap:60,gapPhone:36,sectionBorder:{bottom:1},...Lo(e,"TimelineTrack"),...iu(Hy(e),e,o),...t>=0?{sectionAccent:t}:{}}},box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Qa(e,By(o),t)],...Ja("TimelineTrack")],parts:[py(SF(hu("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:{..._,...pF},item:e=>({props:e.future===!0?{upcoming:!0}:{}}),parts:[{kind:"group",name:Fy.name,props:{..._,...Fy},parts:[ct("date",Fu(13,.22,{color:"accent"}),{when:(e,o)=>!hF(e,o)}),ct("date",Fu(13,.22,{color:"labels"}),{when:hF}),ct("title",{textStyle:"heading-3",...Bu(M("headingSmall",20),-.02,1.1)},{role:"heading"})]},ct("blurb",Xi(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",...yF},style:Bs(13,.3)}]}]}],site:(e,o)=>er({props:By(e.props)},o),drop:{...oe,...de,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"}},Gy=e=>typeof e.layout=="string"?e.layout:"split",Lu=e=>Gy(e)==="split",Wy=e=>!Lu(e),wF=e=>Gy(e)==="spine",Oae=e=>Wy(e)&&!wF(e),xF=(e,o,t,a)=>({kind:"group",name:"Picture",keepEmpty:!0,box:[["imageSrc","bgImage"]],props:{..._,sectionBorder:{top:1,right:1,bottom:1,left:1},darken:75,darkenStyle:"bottom",placement:"bottom-center",sectionHeightMode:"fixed",sectionHeightValue:e,sectionHeightUnit:"px",sectionHeightModePhone:"fixed",sectionHeightValuePhone:o,sectionHeightUnitPhone:"px",...Xe(12,16),...t},when:r=>a(r)&&typeof r.imageSrc=="string"&&r.imageSrc.trim()!=="",parts:[{kind:"group",name:"Caption",props:{..._,direction:"row",justify:"between",align:"center",gap:12,gapPhone:12,share:"content",phoneRow:2},parts:[ct("imageCaption",Bs(11,.24,{color:"text"})),ct("imageMeta",Bs(11,.24,{color:"accent"}),{props:{...G,align:"right"}})]}]}),gF=(e={})=>({kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...fo,...e,...yF},style:Bs(13,.3)}),Dy=()=>[ct("title",{textStyle:"heading-3",...Bu(M("headingSmall",24,20),-.02,1.5)},{role:"heading",mark:"accentItalic"}),{kind:"block",type:"Text",props:{...G,_partStyles:{text:Xi(M("body",17,16),1.6)}},box:[["body","text",(e,o)=>pr(Ru(o)[0]??"")]],when:(e,o)=>Ru(o).length>0},{kind:"block",type:"Text",props:{...Y,_partStyles:{text:Xi(M("body",17,16),1.6,{paragraphSpacing:14})}},box:[["body","text",(e,o)=>pr(Ru(o).slice(1).join(`
|
|
78
|
+
|
|
79
|
+
`))]],when:(e,o)=>Ru(o).length>1}],Ny=()=>ct("date",Fu(13,.24,{color:"accent"})),My=(e,o,t={})=>ct(e,o,{...t,props:{...G,...t.props??{},align:"center"}}),IF=jo("headingMedium",40,5,76),bF={sectionBorder:{bottom:1}},_ae={name:"Story Timeline",skip:e=>Gy(e)==="track"?'display "track": not converted (it draws the Milestone rail; a Track story is not stored anywhere)':void 0,boxProps:e=>Lu(e)?{...Q,direction:"row",share:[40],gap:80,gapPhone:48,align:"start",...bF,...Lo(e,"Timeline")}:{...Q,direction:"column",gap:48,gapPhone:48,align:"center",...bF,...Lo(e,"Timeline")},box:[...ae,...Ja("Timeline")],parts:[{kind:"group",name:"Heading",props:{..._,gap:24,gapPhone:24},when:Lu,parts:[ct("eyebrow",Bs(12,.3,{color:"accent"}),{role:"eyebrow"}),ct("title",{textStyle:"heading-2",...Bu(IF,-.03,.94)},{role:"heading",mark:"accentItalic"}),ct("intro",Xi(M("body",14),1.6),{props:{...Y,maxWidth:360},mark:"accentItalic"}),xF(667,419,{},()=>!0),gF()]},{kind:"group",name:"Chapters",props:{..._,gap:48,gapPhone:48,line:!1},when:Lu,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,direction:"row",gap:24,gapPhone:8,share:[12],align:"start"},parts:[Ny(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Dy()}]}]},{kind:"group",name:"Heading",props:{..._,gap:24,gapPhone:24,align:"center",maxWidth:760,widthFit:"fill"},when:Wy,parts:[My("eyebrow",Bs(12,.3,{color:"accent"}),{role:"eyebrow"}),My("title",{textStyle:"heading-2",...Bu(IF,-.03,.94)},{role:"heading",mark:"accentItalic"}),My("intro",Xi(M("body",14),1.6),{props:{...Y,maxWidth:520},mark:"accentItalic"}),gF({align:"center"})]},xF(506,192,{maxWidth:900,widthFit:"fill"},Wy),{kind:"group",name:"Chapters",props:{..._,gap:48,gapPhone:48,line:!0,maxWidth:760,widthFit:"fill",sectionPaddingTop:16},when:wF,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,gap:8,gapPhone:8},parts:[Ny(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Dy()}]}]},{kind:"group",name:"Chapters",props:{..._,gap:56,gapPhone:56,maxWidth:1e3,widthFit:"fill",sectionPaddingTop:16,mirrorCards:"even"},when:Oae,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:[Ny(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:Dy()}]},{kind:"group",name:"Spacer",props:{..._},keepEmpty:!0,parts:[]}]}]}],drop:{...oe,...de,layout:"the Box's own arrangement replaces it: Split a row of two Boxes; Spine and Alternating a centred column (Track is skipped)"}},vF=()=>({eyebrow:_u.eyebrow,title:Yi(_u.title),intro:_u.intro,ctaText:ya.text,ctaHref:ya.href,entries:uF()}),CF=()=>({eyebrow:Au.eyebrow,title:Yi(Au.title),intro:Au.intro,ctaText:ya.text,ctaHref:ya.href,entries:mF()}),kF={TimelineTrack:Eae,Timeline:_ae};import{tabletKey as Bae}from"efficient-easel/draw";import{slugify as a5e}from"efficient-shell/format";import{rootIsDark as Aae}from"efficient-shell/format";function e5e(e="auto"){return e==="light"?!0:e==="dark"?!1:!Aae({whenUnset:!0})}function TF(e,o){return Number.isFinite(e)&&Number.isFinite(o)&&!(e===0&&o===0)}function $y(e){let o=Number.parseFloat(e??"");return Number.isFinite(o)?o:0}var Rae=["tall","square","wide"],Lae="tall";function PF(e){return Rae.includes(String(e??""))?String(e):Lae}var n5e={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"},s5e=[{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:""}],Fae=/^https?:\/\//i;function l5e(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:$y(e.lat),lng:$y(e.lng),mapsUrl:Fae.test(o)?o:""}}function zy(e){let o=String(e??"").split(" \xB7 ");return{state:(o[0]??"").trim(),country:(o[1]??"").trim()}}var i5e="other",c5e={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 EF(e){let o=String(e??"").replace(/[^+\d]/g,"");return o?`tel:${o}`:void 0}var dt=e=>typeof e=="string"?e:e==null?"":String(e),jy=e=>Array.isArray(e.locations)?e.locations.map(o=>o??{}):[],Ds=e=>dt(e.group),NF=e=>`loc-${e}`,MF=e=>dt(e.state).trim()||zy(dt(e.region)).state,HF=e=>dt(e.country).trim()||zy(dt(e.region)).country,OF=e=>[MF(e),HF(e)].filter(Boolean).join(" \xB7 "),Dae=e=>jy(e).some(o=>dt(o.photo).trim()!==""),Nae=e=>jy(e).some(o=>TF(Number(o.lat),Number(o.lng))),Mae=(e,o)=>jy(e).filter(t=>Ds(t)===Ds(o)).length,Hae=(e,o)=>Mae(e,o)===1?"wide":PF(e.imageShape),Uy={top:100,bottom:100,topPhone:60,bottomPhone:60},_F=48,Lt=(e,o={})=>({...It(e),...o}),Ky={top:1,right:1,bottom:1,left:1},Vy={..._,direction:"row",share:"equal",gap:0},Wae=e=>o=>o>Oi(o)?{..._,gap:0}:{...Vy,...o>1?{phoneRow:e}:{}},Gae={kind:"group",name:"Gallery",props:{..._,gap:20,_hidden:!0},when:Dae,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:Ky,...Xe(12,12)},item:(e,o,t)=>({props:{...dt(e.photo).trim()?{bgImage:dt(e.photo),hover:"mono"}:{},link:`#${NF(o)}`,boxShape:Hae(t,e)}}),parts:[{kind:"text",key:"name",props:G,style:Lt(11,{letterSpacing:.22,color:"text"})}],groups:{of:Ds,name:"Group",props:{..._,gap:10},head:e=>({label:Ds(e[0]??{})}),parts:[pe("label",Lt(11,{color:"accent",letterSpacing:.3}))],itemsName:"Cities",itemsProps:Wae(2),perRow:Oi,rowName:"Row",rowProps:{...Vy,phoneRow:2}}}]}]},$ae={kind:"group",name:"Words",props:{..._,gap:12,gapPhone:12,...Xe(28,28),sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},parts:[{kind:"group",name:"Name row",props:{..._,direction:"row",justify:"between",align:"start",gap:14,share:"content",phoneRow:2,sharePhone:"content",wrapPhone:"wrap",sectionPaddingBottom:6,sectionPaddingBottomPhone:6},parts:[{kind:"group",name:"Name",props:{..._,gap:6,gapPhone:6},parts:[{kind:"text",key:"name",role:"heading",props:G,style:{textStyle:"heading-3",...M("headingSmall",30),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}},{kind:"block",type:"Text",props:{...G,_partStyles:{text:Lt(12,{color:"accent",letterSpacing:.24,lineHeight:1.5})}},box:["region","state","country"].map(e=>[e,"text",(o,t)=>OF(t)]),when:(e,o)=>OF(o??{})!==""}]},{kind:"group",name:"Time zone",props:{..._,sectionBorder:Ky,...Xe(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=>EF(dt(e))??"#"]],when:(e,o)=>dt(o?.phone).trim()!==""},{kind:"text",key:"hours",props:Y,style:Lt(12,{letterSpacing:.18,lineHeight:1.7})}]},zae={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)=>MF(t)]),...["region","country"].map(e=>[e,"country",(o,t)=>HF(t)])]},Uae={kind:"group",name:"Map",props:{..._,sectionBorder:{top:1,right:0,bottom:0,left:0}},parts:[zae]},jae={kind:"list",key:"locations",name:"City",props:(e,o)=>({..._,gap:0,justify:"between",sectionBorder:Ky,jumpHighlight:!0,sectionAccent:Za(e,o)>=0?_s(e.sectionAccent,o):-1}),item:(e,o)=>({props:{anchor:NF(o)}}),parts:[$ae,Uae],groups:{of:Ds,name:"Group",props:{..._,gap:20},head:e=>{let o=e[0]??{};return{key:Ds(o),groupName:dt(o.groupName),count:`${e.length} location${e.length===1?"":"s"}`}},parts:[{kind:"group",name:"Group head",props:{..._,direction:"row",justify:"between",align:"end",gap:16,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},when:(e,o)=>dt(o?.key).trim()!=="",parts:[pe("key",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=>({...Vy,columns:Oi(e),[Bae("columns")]:1})}},AF=Lt(10,{letterSpacing:.25}),Kae={kind:"block",type:qt,props:{..._,name:"Credit",direction:"row",justify:"end",align:"center",gap:6,share:"content",wrap:!0},when:Nae,slot:Yt,keepEmpty:!0,parts:[{kind:"block",type:"Text",props:{...Y,text:"Location coordinates \xA9",_partStyles:{text:AF}}},{kind:"block",type:"ButtonBlock",props:{...fo,...an,variant:"ghost",arrow:!1,label:"OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright",_partStyles:{label:{...AF,color:"labels"}}}}]},RF=(e,o)=>Object.fromEntries(o.filter(t=>e[t]!==void 0).map(t=>[t,e[t]])),LF=["sectionPaddingTop","sectionPaddingTopTablet","sectionPaddingTopPhone"],FF=["sectionPaddingBottom","sectionPaddingBottomTablet","sectionPaddingBottomPhone"],BF=e=>e.map(o=>[o,o,(t,a)=>ce(a,Uy)[o]]),DF=["sectionAccent","sectionAccent",Qa],Vae=["gridSpan",...Gn,...Object.values(co)],qae={name:"City pictures",skip:e=>so(e)?`fed by the data source "${so(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",...RF(ce(e,Uy),LF),sectionPaddingBottom:_F,sectionPaddingBottomPhone:_F,...rn(e,o)}),box:[...ae.filter(e=>e!=="sectionAccent"&&e!=="anchor"),DF,["anchor","anchor",e=>yl(e).trim()?e:"studios"],...BF(LF)],parts:[hu("sectionNumber","heading","tagline"),Gae],also:[{name:"City maps",boxProps:(e,o)=>({...Q,direction:"column",gap:40,sectionBorder:{bottom:1},sectionPaddingTop:0,sectionPaddingTopPhone:0,...RF(ce(e,Uy),FF),...rn(e,o)}),box:[...Vae,DF,...BF(FF)],parts:[jae,Kae]}],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,...de,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)"}},WF={ContactLocations:qae};var GF="sideSpace",ln="site",T5e=[{value:"box",label:"Box"},{value:ln,label:"Site"}],P5e="box",E5e="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 O5e(e){return e===ln?ln:"box"}function _5e(e){return e===ln?ln:void 0}var Yae=["Collections","FAQ","Footprint","GalleryB","LongRead","ProcessSteps","RelatedProducts"];var or=(e,o)=>()=>({top:e,topPhone:o}),$F=e=>o=>{let t=Lo(o,e).sectionPaddingTop;return{top:t,topPhone:t}},Xae={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:$F("Footprint"),ProcessSteps:$F("ProcessSteps"),ProductGrid:e=>({top:j(e.padTop)??120,topPhone:0})};function Jae(e,o={}){let t=_o[e],a=Xae[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=Iu(e),l=t.headRows.filter(d=>![t.num,t.title,t.description,"linkText","linkHref"].includes(d)),c={...Object.fromEntries(l.filter(d=>!(d in s)).map(d=>[d,"a head setting no Header Box part reads (lib/document/blocks/general/section-head-looks `headReads`)"])),...o.drop};return{name:Ac[e]??e,boxProps:(d,f)=>{let u=a(d),p=o.roomBelow?{sectionPaddingBottom:o.roomBelow.bottom,sectionPaddingBottomPhone:o.roomBelow.bottomPhone}:{},x=typeof o.boxProps=="function"?o.boxProps(d,f):o.boxProps??{};return{...Q,direction:"column",gap:mu[Ls(e)],sectionPaddingTop:u.top,sectionPaddingTopPhone:u.topPhone,...p,...x}},box:[...ae,...r?[[r,"sectionPaddingTop",(d,f)=>a(f).top]]:[]],parts:[n,...(()=>{let d={...r?{[r]:0}:{},...o.coreProps},f={kind:"core",keep:"rest",...Object.keys(d).length?{props:d}:{},...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(c).length?{drop:c}:{},...o.pressHeading?{pressKeepsEmpty:[t.title]}:{},...o.skip?{skip:o.skip}:{}}}var Zae={..._,direction:"accordion",rowStyle:"numbered"},Qae={Footprint:{slots:{[io]:[SC()]},pressHeading:!0},FAQ:{slots:{[io]:[Ih()]},pressHeading:!0,coreBox:{name:"Questions",props:Zae},coreProps:{sectionAccent:ot},roomBelow:{bottom:120,bottomPhone:70},boxProps:(e,o)=>o.press?{}:{[GF]:ln},skip:e=>{let o=e._partStyles??{},t=gC().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}}},zF=Object.fromEntries(Yae.map(e=>[e,Jae(e,Qae[e])]));import{BLOCK_WIDTH_LIMIT as ere}from"efficient-easel/draw";var Du={eyebrow:yo.eyebrow,title:yo.headingAccent,deck:"Add a sentence or two introducing this document."},j5e={label:"Document masthead",defaultProps:{eyebrow:"",title:"",deck:"",meta:[]}};var ZF={minWidth:ere.min},UF=(e,o,t)=>({...pe(e,{...o,...Ai}),props:{...G,align:"right",...on,...t}}),QF={top:1,bottom:0},Yy=(e,o,t,a)=>({kind:"group",name:e,props:{..._,sectionPaddingBottom:o,sectionPaddingBottomPhone:t},parts:[a]}),jF={widthFit:"fill",...ZF},KF={top:100,bottom:60,topPhone:60,bottomPhone:40},ore={...M("label",13),letterSpacing:.22,lineHeight:1.8},VF={textStyle:"heading-1",...jo("headingLarge",56,8,128),case:"upper",weight:500,lineHeight:.88,letterSpacing:-.04},qF=e=>e.titleLevel===2,tre=()=>({name:"Page Header",boxProps:e=>({...Q,direction:"column",gap:0,sectionBorder:{bottom:1},...ce(e,KF)}),box:[...ae,...ye(KF)],parts:[{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Yy("Eyebrow",12,0,{...pe("eyebrow",M("label",13)),props:{...G,...on}}),{kind:"text",key:"title",role:"heading",props:{...G,tag:"h1",...jF},style:VF,mark:"accentItalic",when:e=>!qF(e)},{kind:"text",key:"title",role:"heading",props:{...G,tag:"h2",...jF},style:VF,mark:"accentItalic",when:qF},{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:[Ri("label","value",ore,on)]}]}]},{kind:"group",name:"Deck",props:{..._,maxWidth:760,sectionBorder:QF,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,...de,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"}}),eB=()=>({eyebrow:Du.eyebrow,title:Yi(Du.title),deck:Du.deck,meta:[{label:yo.label,value:yo.value},{label:yo.label,value:yo.value}]}),YF={top:80,bottom:40,topPhone:60,bottomPhone:32},are={...M("label",13),letterSpacing:.18,lineHeight:1.8},XF={...M("label",13),letterSpacing:.22,lineHeight:1.9},rre=()=>({name:"Issue Header",boxProps:e=>({...Q,direction:"column",gap:0,sectionBorder:{bottom:1},...ce(e,YF)}),box:[...ae,...ye(YF)],parts:[{kind:"group",name:"Top",props:{..._,direction:"row",align:"end",justify:"between",gap:60,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Yy("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:[Ri("lead","rest",are)]}]}]},{kind:"group",name:"Bottom",props:{..._,direction:"row",align:"start",justify:"between",gap:60,gapPhone:16,share:"content",sectionBorder:QF,sectionPaddingTop:32},parts:[{kind:"text",key:"lead",props:{...G,maxWidth:720,...ZF},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:[Yy("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,...Ai}}),{kind:"group",name:"Lines",props:{..._,align:"stretch",gap:0},parts:[{kind:"list",key:"issueList",name:"Line",flat:!0,parts:[UF("text",{color:"labels",...XF})]}]},UF("issueTotal",XF)]}]}],drop:{...oe,...de}}),JF={top:24,bottom:24,topPhone:16,bottomPhone:16},qy={color:"labels",...M("label",13),letterSpacing:.2},oB=e=>(Array.isArray(e.items)?e.items:[]).filter(o=>o&&typeof o.label=="string"&&o.label.trim()!==""),Xy=(e,o)=>o!==void 0&&oB(e).at(-1)===o,tB=(e,o)=>o!==void 0&&oB(e).includes(o),nre=(e,o)=>tB(e,o)&&!Xy(e,o)&&Je(o?.href),sre=()=>({name:"Breadcrumb",skip:e=>Je(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},...ce(e,JF)}),box:[...ae,...ye(JF)],parts:[{kind:"list",key:"items",name:"Crumb",flat:!0,parts:[{kind:"button",key:"label",href:"href",variant:"ghost",when:nre,props:{...fo,...an,icon:"none"},style:qy},{...pe("label",qy),when:(e,o)=>tB(e,o)&&!Xy(e,o)&&!Je(o?.href)},{...pe("label",{...qy,color:"text"}),when:Xy}]}],drop:{...oe,...de,meta:"a node that stores a note is skipped (`skip`); an empty one draws nothing"}}),aB={DocMasthead:tre(),Masthead:rre(),Breadcrumb:sre()};import{jsx as cn,jsxs as Zy}from"react/jsx-runtime";import{slugify as lre}from"efficient-shell/format";import{jsx as Jy,jsxs as rB}from"react/jsx-runtime";var o6e="sticky top-[120px]";var nB=(e,o)=>e?{[qc]:o}:{},sB=(e,o)=>Yc(e?.[cl(o)]?.role,Wp[o],yn),lB=120;function iB({title:e,entries:o,stickyTop:t,sticky:a=!0,editing:r=!1,partStyles:n,numberForm:s=zg,takesViewHide:l=!1}){let c=s==="plain",d=kn(),f=l?d:Cc;return f.scope(rB("aside",{className:Tn(`${a?"sticky ":""}flex flex-col self-start max-[900px]:static`,f.className),style:a?{top:t}:void 0,...f.attrs,children:[e&&Jy("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=Jy("span",{...nB(r,"number"),style:sB(n,"number"),className:"text-accent",children:_f(s,p)});return rB("a",{href:`#${u.anchor}`,className:`flex items-center ${c?"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:[c&&x,Jy("span",{...nB(r,"entry"),style:sB(n,"entry"),children:ba(u.label||"Section")}),!c&&x]},`${p}-${u.anchor}`)})]}))}function ire(e,o){return lre(e)||`section-${o+1}`}var Qy=e=>typeof e=="string"&&e.trim()!=="";function eS(e){return(e??[]).filter(o=>Qy(o.heading)||Qy(o.label)||Qy(o.body))}function oS(e){let o=new Set;return e.map((t,a)=>{let r=ire(t.label||t.heading||"",a),n=r,s=2;for(;o.has(n);)n=`${r}-${s++}`;return o.add(n),n})}function tS(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=Js(a)[0].bullet,s=o.at(-1),l=r===0||!s||s.type==="ul"!==n;if(n){let c=a.slice(2);!l&&s?.type==="ul"?s.items.push(c):o.push({type:"ul",items:[c]})}else!l&&s?.type==="p"?s.text+=`
|
|
84
|
+
${a}`:o.push({type:"p",text:a})});return o}var cre=()=>[{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.")}],dre=lB;function y6e({tocTitle:e,sections:o,editing:t=!1,stickyTop:a=dre}){let r=eS(o);if(r.length===0&&!t)return null;let n=r.length===0&&t?cre():r,s=oS(n);return cn(kc,{as:"section",className:"relative z-[2] bg-bg",children:Zy("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[240px_1fr] items-start gap-20 border-b border-line px-[var(--sf-site-gutter,40px)] py-20 max-[900px]:grid-cols-1 max-[900px]:gap-10 max-[900px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[900px]:py-[60px]",children:[cn(iB,{title:e,entries:n.map((l,c)=>({label:l.label||"Section",anchor:s[c]})),stickyTop:a}),cn("div",{className:"flex flex-col gap-16",children:n.map((l,c)=>Zy("article",{id:s[c],className:"flex flex-col gap-[18px]",style:{scrollMarginTop:a},children:[Zy("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:[$g(c)," \xB7 ",ba(l.label||"Section")]}),l.heading&&cn("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)}),tS(l.body??"").map((d,f)=>d.type==="ul"?cn("ul",{className:"flex max-w-[680px] list-none flex-col gap-2.5 pl-0",children:d.items.map((u,p)=>cn("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):cn("p",{className:"max-w-[680px] font-serif text-[length:var(--size-body,17px)] leading-[1.7] text-fg-dim",children:ba(d.text)},f))]},s[c]))})]})})}import{VIEW_DESKTOP_MIN as aS,VIEW_TABLET_MIN as v6e}from"efficient-easel/draw";var Nu=ra,cB=960,dB=ra;var fB={min:Nu,max:1600,step:10},pB="stackBelow";function k6e(e){if(!(typeof e!="number"||!Number.isFinite(e))&&!(e<fB.min||e>fB.max))return Math.round(e)}var fre=e=>`sf-stack-${e}`,pre=e=>`sf-stack-${e}-gutter`,ure=e=>`sf-stack-${e}-outer`,Ns=e=>`${e-.02}px`;function T6e(e,o={}){let t=o.gutter!==!1,a=`.${fre(e)}`,r=`.${pre(e)}`,n=`.${ure(e)}`,s=[];if(e>Nu){let l=`${a}>.sf-block-size,${a}>[data-easel-block]>[data-sf-part-host]>.sf-block-size`,c=Math.min(e,aS);s.push(`@media (min-width:${Nu}px) and (max-width:${Ns(e)}){${a}${a}{flex-direction:column}.sf-gap-overlap${a}{--sf-gap-overlap-eff:calc(var(--sf-gap-overlap) / 2)}${l}{width:min(var(--sf-bw-p,100%),100%);flex-grow:0}}`,`@media (min-width:${Nu}px) and (max-width:${Ns(c)}){.sf-gap-zone${a}{gap:var(--sf-gap-len-tablet,var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2)))}}`),e>aS&&s.push(`@media (min-width:${aS}px) and (max-width:${Ns(e)}){.sf-gap-zone${a}{gap:var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2))}}`)}return t&&s.push(`@media (max-width:${Ns(e)}){${r}${r}{padding-inline:min(24px,var(--sf-site-gutter,40px))}}`),t&&e<cB&&s.push(`@media (min-width:${e}px) and (max-width:${Ns(cB)}){${r}${r}{padding-inline:var(--sf-site-gutter,40px)}}`),e>dB&&s.push(`@media (min-width:${dB}px) and (max-width:${Ns(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 uB={top:80,bottom:80,topPhone:60,bottomPhone:60},mB=18,hB=18,xB=8,mre=10,rS=e=>typeof e=="string"&&e.trim()!=="",gB=e=>eS(e.sections),hre=e=>tS(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}),nS={...It(12),letterSpacing:.3,color:"accent",lineHeight:1.5},IB={textStyle:"body-1",fontRole:"accent",...M("body",17)},xre=[pe("label",nS),{...pe("title",nS),when:(e,o)=>!rS(o?.label)},{kind:"block",type:"Text",when:(e,o)=>!rS(o?.label)&&!rS(o?.title),props:{...G,text:"Section",_partStyles:{text:nS}}},{kind:"group",name:"Heading",props:{..._,sectionPaddingBottom:xB,sectionPaddingBottomPhone:xB},parts:[{kind:"group",name:"Heading line",props:{..._,sectionBorder:{bottom:1},sectionPaddingBottom:hB,sectionPaddingBottomPhone:hB},parts:[{kind:"text",key:"heading",role:"heading",props:G,style:{textStyle:"heading-2",...jo("headingMedium",28,3.5,44),case:"upper",weight:500,lineHeight:1.04,letterSpacing:-.025}}]}]},{kind:"list",key:"body",name:"Body",flat:!0,of:hre,parts:[{kind:"text",key:"text",props:Y,style:{...IB,lineHeight:1.7},when:(e,o)=>o?.kind==="p"},{kind:"text",key:"text",props:Y,style:{...IB,lineHeight:1.65,paragraphSpacing:mre},when:(e,o)=>o?.kind==="ul"}]}],gre=900,Ire={name:"Document Text",boxProps:e=>({...Q,direction:"row",gap:80,gapPhone:40,[pB]:gre,sectionBorder:{bottom:1},...ce(e,uB)}),box:["anchor","sectionAccent",...Gn,...Object.values(co),...ye(uB)],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=>gB(e),props:{..._,gap:mB,gapPhone:mB},item:(e,o,t)=>({props:{anchor:oS(gB(t))[o]??`section-${o+1}`}}),parts:xre}]}],reads:{tocTitle:"the Contents block's Heading"},drop:{...oe,stickyTop:"the Contents block draws DocBody's default (120px); 0 live nodes store it"}},bB={DocBody:Ire};var N6e="[--intro-edge:60px] max-[960px]:[--intro-edge:24px]",bre="overlay",yre=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function yB(e){return mo(yre,bre,e)}var M6e={desktop:40,mobile:45,min:20,max:80,step:5};function H6e(e,o){return`${typeof e=="number"?e:o}%`}var SB=(e,o)=>{let t=j(e),a=j(o);return{...t===void 0?{}:{size:t},...a===void 0?{}:{sizePhone:a}}},Sre=e=>yB(e.layout)==="stacked",wB=e=>Math.min(Math.max(j(e.overlay)??60,0),100),Mu=e=>j(e)??100,wre={textStyle:"heading-1",sizeToken:{...jo("headingLarge",48,7,96).sizeToken,pxPhone:36},weight:500,lineHeight:.95,letterSpacing:-.03},vre=[pe("eyebrow",M("label",14)),...[!0,!1].map(e=>({kind:"text",key:"title",role:"heading",props:G,style:{...wre,case:e?"upper":"none"},styleFrom:o=>SB(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=>SB(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}]}],vB=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)`,Cre=()=>({name:"Scroll-Over Text",skip:e=>Sre(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",...Li,placement:"left",darken:wB(e),darkenStyle:"even",sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:Mu(e.heightDesktop),sectionHeightModePhone:"fixed",sectionHeightUnitPhone:"%",sectionHeightValuePhone:Mu(e.heightMobile)}),box:[...ae.filter(e=>!String(typeof e=="string"?e:e[0]).startsWith("sectionHeight")),["imageSrc","bgImage"],["imageSrcMobile","bgImagePhone"],["overlay","darken",(e,o)=>wB(o)],["heightDesktop","sectionHeightValue",e=>Mu(e)],["heightMobile","sectionHeightValuePhone",e=>Mu(e)]],parts:vre,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:vB("Button color"),buttonTextColor:vB("Button text color"),...oe}}),TB={textStyle:"heading-2",...M("headingMedium",56,36),weight:400,lineHeight:1.05,letterSpacing:-.03},kre={textStyle:"body-1",...M("body",16),lineHeight:1.7},PB=e=>({kind:"text",key:"body",props:{...Y,maxWidth:520},style:{...kre,paragraphSpacing:e}}),Wu={top:0,bottom:0,topPhone:0,bottomPhone:0},sS=(e,o)=>typeof e.sectionHeightMode=="string"&&e.sectionHeightMode!=="auto"?{}:{sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:o,sectionHeightModePhone:"auto"},Tre=(e,o)=>{let t=sS(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"}},EB={boxShapePhone:"landscape"},OB="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)",Pre=(e,o)=>({[e]:o,[`${e}Phone`]:o}),Ere={textStyle:"heading-2",...M("headingMedium",40),weight:500,case:"none",lineHeight:1,letterSpacing:-.02},CB=e=>(Array.isArray(e.stats)?e.stats:[]).filter(o=>o&&(String(o.value??"").trim()!==""||String(o.label??"").trim()!=="")),Ore=()=>({name:"Brand Text",boxProps:(e,o)=>({...Q,...Uo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...ce(e,Wu),...sS(e,100)}),box:[...ae,...ye(Wu)],parts:[{kind:"group",name:"Words",props:(e,o)=>({..._,justify:"center",gap:28,gapPhone:28,sectionBorder:Fi({right:1}),sectionBorderPhone:Fi({}),...Li,sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60,sectionPaddingRight:As(o)}),parts:[pe("eyebrow",M("label",14)),{kind:"text",key:"heading",role:"heading",props:G,style:{...TB,case:"none"},mark:"accentItalic"},PB(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(CB(e).length,1),3),...Pre("sectionBorder",Fi({top:1})),sectionPaddingTop:28,sectionPaddingTopPhone:28}),parts:[{kind:"list",key:"stats",name:"Stat",of:CB,props:{..._,gap:4,gapPhone:4},parts:[{kind:"text",key:"value",props:tn,style:Ere},pe("label",{...M("label",13),color:"labels",letterSpacing:.2})]}]}]}]},ny("Picture","imageSrc",EB)],drop:{...oe,grayscale:OB,...de}}),Hu=e=>{let o=e.textAlign==="center"||e.textAlign==="right"?{align:e.textAlign}:{},t=e.textAlignPhone==="left"||e.textAlignPhone==="center"||e.textAlignPhone==="right"?{alignPhone:e.textAlignPhone}:{};return{...o,...t}},_re=e=>e.textAlign==="center"?"center":e.textAlign==="right"?"end":"stretch",Are=e=>Math.min(Math.max(j(e.overlay)??60,0),100),_B=e=>typeof e=="string"&&e.trim()!=="",Rre={...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},kB=e=>({...ny("Picture","imageSrc",(o,t)=>({..._B(o.imageSrc)?{darken:40,darkenStyle:"even"}:{},placement:"center",...EB,sectionBorder:Fi(e?{left:1}:{right:1}),...AB(e?"left":"right",As(t))}),[{kind:"button",key:"imageBtnText",href:"imageBtnHref",variant:"ghost",props:Rre,style:{...It(13,12),letterSpacing:.18}}]),when:o=>o.reverse===!0===e}),AB=(e,o)=>{let t=Math.max(60-o,0);return{sectionPaddingLeft:e==="left"?60:t,sectionPaddingRight:e==="right"?60:t}},Lre={kind:"group",name:"Words",props:(e,o)=>{let t=e.reverse===!0;return{..._,justify:"center",align:_re(e),placement:e.textAlign==="center"?"center":e.textAlign==="right"?"right":"left",...Tre(e,72),gap:24,gapPhone:24,..._B(e.textBgSrc)?{darken:Are(e),darkenStyle:"even"}:{},...Li,sectionPaddingTop:100,sectionPaddingBottom:100,...AB(t?"right":"left",As(o)),sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60}},box:[["textBgSrc","bgImage"]],parts:[{...pe("eyebrow",M("label",14)),styleFrom:Hu},{kind:"text",key:"title",role:"heading",props:G,style:TB,styleFrom:e=>({case:e.uppercase===!0?"upper":"none",...Hu(e)})},{...PB(24),styleFrom:Hu},{kind:"group",name:"Button",props:{..._,sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:e=>{let o=Hu(e);return{...fo,...o.align?{align:o.align}:{},...o.alignPhone?{alignPhone:o.alignPhone}:{}}}}]}]},Fre=()=>({name:"Image & Text Split",boxProps:(e,o)=>({...Q,...Uo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...ce(e,Wu),...sS(e,72)}),box:[...ae,...ye(Wu)],parts:[kB(!1),Lre,kB(!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:OB,...oe,...de}}),RB={IntroBleed:Cre(),Manifesto:Ore(),Split:Fre()};var BB={headPlacement:void 0},LB={top:0,bottom:0,topPhone:0,bottomPhone:0},Bre=()=>({name:"Form",ownBoxConverts:!0,boxProps:e=>({...Q,direction:"column",...ce(e,LB)}),box:[...ae,...ye(LB)],parts:[{kind:"core",keep:"rest",props:BB}],drop:{...oe,...de}}),FB={top:120,bottom:120,topPhone:60,bottomPhone:60},Dre=()=>({name:"Photo Submission Form",boxProps:e=>({...Q,direction:"column",gap:24,...ce(e,FB)}),box:[...ae,...ye(FB)],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:BB}],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,...de,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'}}),DB={Form:Bre(),SubmitBuild:Dre()};import{phoneKey as NB}from"efficient-easel/draw";var HB=1.5,MB={textStyle:"body-1",...M("body",15),lineHeight:HB},Nre={...Oo,...M("label",12),letterSpacing:.12,lineHeight:HB},WB=()=>({type:K,props:{..._,direction:"row",justify:"between",align:"start",gap:16,gapPhone:16,share:"content",phoneRow:2,[NB("share")]:"content",[NB("wrap")]:"nowrap",...Xe(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"},MB),re("meta",{...Y,tag:"p"},Nre)]}},re("amount",{...G,tag:"p"},MB)]}});var Mre=()=>({name:"Order Table",boxProps:()=>({...Q,direction:"column"}),box:[...ae],parts:[{kind:"core",keep:"rest",headless:!0,slots:{[io]:[WB()]}}],drop:{...oe}}),GB={OrderSummary:Mre()};import{phoneKey as Hre}from"efficient-easel/draw";var r3e={eyebrow:"By the numbers",title:`A picture worth
|
|
89
|
+
*a thousand rows.*`},$B=["eyebrow","title","body","caption"],n3e={label:"Chart",defaultProps:{eyebrow:"",title:"",body:"",items:[],caption:"",chartStyle:"bars",valueSuffix:""}};var zB=["eyebrow","title","body"],l3e={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 KB={top:76,bottom:76,topPhone:76,bottomPhone:76},VB=()=>({kind:"group",name:"Words",props:{..._,gap:20,gapPhone:20},parts:[{kind:"group",name:"Chip row",props:{..._,direction:"row",phoneRow:2,[Hre("share")]:"content"},parts:[nu("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}}]}),qB=e=>(o,t)=>({...Q,sectionAccent:ry(o.sectionAccent??0,t),direction:"row",align:"center",gap:56,gapPhone:56,share:e,sectionBorder:{top:1,bottom:1},...ce(o,KB)}),YB=[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>ry(e,t)],...ye(KB)],Wre=()=>({name:"Chart",boxProps:qB([42]),box:YB,parts:[VB(),{kind:"group",name:"Chart",props:{..._,gap:16,gapPhone:16},keepEmpty:!0,parts:[{kind:"core",keep:"rest",props:Os},pe("caption",{color:"muted",...M("label",10),letterSpacing:.14})]}],pressKeepsEmpty:[...$B],drop:{...oe,...de}}),UB=e=>e.align==="left",jB={kind:"group",name:"Card",keepEmpty:!0,props:_,parts:[{kind:"core",keep:"rest",props:Os}]},Gre=()=>({name:"Mockup Card",boxProps:qB("equal"),box:YB,parts:[{...jB,when:UB},VB(),{...jB,when:e=>!UB(e)}],pressKeepsEmpty:[...zB],drop:{...oe,...de}}),XB={Chart:Wre(),Mockup:Gre()};var $re={title:"Back online in",zeroText:"Almost done. Back very soon."},JB=["title"],h3e={label:"Countdown",defaultProps:{...$re,endsAt:"",showUnits:!0}};var ZB={top:48,bottom:48,topPhone:48,bottomPhone:48},zre={...pe("title",{...rl(12),color:"muted"}),props:{...G,align:"center"}},Ure=()=>({name:"Countdown",boxProps:e=>({...Q,direction:"column",align:"center",gap:16,gapPhone:16,...ce(e,ZB)}),box:[...ae,...ye(ZB)],parts:[zre,{kind:"core",keep:"rest",props:Os}],pressKeepsEmpty:[...JB],drop:{...oe,...de}}),QB={top:80,bottom:80,topTablet:60,bottomTablet:60,topPhone:60,bottomPhone:60},jre=()=>({name:"Feature Banner",boxProps:e=>({...Q,direction:"column",sectionBorder:{bottom:1},...ce(e,QB)}),box:[...ae,...ye(QB)],parts:[{kind:"core",keep:"rest",props:Os}],drop:{...oe,...de}}),eD={Countdown:Ure(),FeaturedCover:jre()};var oD={top:80,bottom:80,topPhone:60,bottomPhone:60},Kre=()=>{let e=Iu("FitmentFinder");return{name:"Fitment Form",boxProps:o=>({...Q,direction:"column",gap:mu[Ls("FitmentFinder")],...ce(o,oD)}),box:[...ae,...ye(oD)],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,...de,layout:'the section shape; "bar" is skipped (above), so here it is the stacked shape this Box draws'}}},tD={FitmentFinder:Kre()};var aD={top:72,bottom:72,topPhone:72,bottomPhone:72},Vre={name:"Editorial Text",boxProps:e=>({...Q,direction:"column",gap:28,gapPhone:28,sectionBorder:{top:1},...ce(e,aD)}),box:[["topBorder","sectionBorder",e=>e===!1?void 0:{top:1}],...ae,...ye(aD)],parts:[st("Prose"),{kind:"text",key:"body",props:Y,style:{textStyle:"body-1",...M("body",16),lineHeight:1.7,paragraphSpacing:18}}],drop:{...oe,...de,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)"}},rD={buttonPaddingTop:20,buttonPaddingBottom:20,buttonPaddingLeft:28,buttonPaddingRight:28},nD=(e,o)=>o?.variant==="primary",sD=(e,o)=>({kind:"list",key:"buttons",name:"Button",flat:!0,when:e,parts:[{kind:"button",key:"label",href:"href",when:nD,variant:"primary",style:{letterSpacing:.3},props:{...fo,...rD,...o}},{kind:"button",key:"label",href:"href",when:(t,a)=>!nD(t,a),variant:"ghost",style:{letterSpacing:.3},props:{...fo,...rD,...o}}]}),Gu=e=>Je(e.title),qre={name:"Call-to-Action Heading",boxProps:e=>({...Q,direction:"row",align:"center",justify:Gu(e)?"between":"end",gap:60,gapPhone:60,share:"content",sectionBorder:{bottom:1},...Lo(e,"TitleWithButtons")}),box:[...ae,...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",...jo("headingLarge",48,7,108),case:"upper",lineHeight:.94,letterSpacing:-.035}}]},{kind:"group",name:"Buttons",props:e=>({..._,gap:14,gapPhone:14,widthFitPhone:"fill",...Gu(e)?{minWidth:280,minWidthPhone:0}:{}}),parts:[sD(Gu,{widthFit:"fill",iconPosition:"end"}),sD(e=>!Gu(e),{})]}],drop:{...oe,buttonsAlign:"moves the buttons only when there is no heading (4 of 128 live nodes), where the Box puts them at the end. 0 of 128 live nodes store it (the live export, 2026-10-24)",buttonsAlignPhone:"the phone's own side of `buttonsAlign`, read only with no heading; no old node stores it (it is new with the Phone view's Block alignment row), so nothing moves",buttonsAlignTablet:"the tablet's own side of `buttonsAlign`, read only with no heading; no old node stores it (it is new with the Tablet view's Block alignment row, 0 stored on the US sites 2026-11-05), so nothing moves"}};function Yre(e){let{siteGutter:o,siteGutterPhone:t}=e.site??{},a=As(e),r=Math.min(20,of(t)??tf(o));return{sectionPaddingLeft:a,sectionPaddingRight:a,sectionPaddingLeftPhone:r,sectionPaddingRightPhone:r}}var lD={top:40,bottom:64,topPhone:24,bottomPhone:36},Xre={name:"Section Header",boxProps:(e,o)=>({...Q,direction:"column",gap:0,...ce(e,lD),...Yre(o)}),box:[...ae,...ye(lD)],parts:[st("SectionHeader")],drop:{...oe,...de,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"}},iD={..._,direction:"row",share:[67],gap:30},cD={..._,sectionPaddingLeft:30,sectionPaddingLeftPhone:0},dD=(e,o,t)=>({kind:"group",name:e,props:o,parts:[t]}),Jre={name:"Lead Text",boxProps:e=>({...Q,direction:"column",gap:40,gapPhone:40,sectionBorder:{bottom:1},...Lo(e,"ParagraphsA")}),box:[...ae,...Ja("ParagraphsA")],parts:[{kind:"group",name:"Numbers",props:{...iD,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})]},dD("Stats column",_,{kind:"group",name:"Stats",props:{...cD,gap:0,gapPhone:0},parts:[{kind:"list",key:"stats",name:"Stat",flat:!0,parts:[Ri("value","label",{...M("label",13),letterSpacing:.18,lineHeight:1.8})]}]})]},{kind:"group",name:"Words",props:{...iD,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}}]}]},dD("Note column",{..._,justify:"end",widthFit:"fill"},{kind:"group",name:"Founders",props:{...cD,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}},fD={top:24,bottom:24,topPhone:24,bottomPhone:24},Zre={name:"Banner",boxProps:e=>({...Q,direction:"column",gap:0,...ce(e,fD)}),box:[...ae,"contained",...ye(fD)],parts:[{kind:"group",name:"Card",keepEmpty:!0,props:{..._,gap:28,placement:"top-left",darken:60,darkenStyle:"even",sectionBorder:{width:1},...Xe(64,40,40,24)},box:[["imageSrc","bgImage"],["overlay","darken",e=>Math.min(Math.max(j(e)??60,0),100)]],parts:[{kind:"group",name:"Words",props:{..._,gap:20},parts:[pe("eyebrow"),{kind:"text",key:"title",role:"heading",props:{...G,maxWidth:680},style:{weight:500,lineHeight:1.05,letterSpacing:-.03,case:"none"}},{kind:"text",key:"body",props:{...Y,maxWidth:680},style:{textStyle:"body-1",lineHeight:1.6},was:{size:16}}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:fo}]}],drop:{...oe,...de}},lS={Prose:Vre,TitleWithButtons:qre,SectionHeader:Xre,ParagraphsA:Jre,Banner:Zre};function pD(){bo(lS),bo(kL),bo(HL),bo(hL),bo(XL),bo(kF),bo(WF),bo(zF),bo(aB),bo(bB),bo(RB),bo(DB),bo(GB),bo(tD),bo(XB),bo(eD)}var ene=["FooterPayment"];function uD(e,o){let{id:t,...a}=e.props;for(let[r,n]of Object.entries(a))Qre(n)&&(a[r]=n.map(s=>uD(s,o)));return o(e.type,a)}var Ji=(e,o)=>{if(!ene.includes(e.type))return null;pD();let t=Ya(e.type);return t?Ps({type:e.type,props:{...e.props}},t).nodes.map(a=>uD(a,o)):null};function mD(){let{appState:e,dispatch:o,config:t}=sne(f=>f),{readOnly:a}=ine(),[r,n]=ane(!1),s=e.data.content;if(a||s.some(f=>f.type===Re))return null;let l=s.find(f=>f.type===He)??null,c=(f,u)=>rne(t,f,u),d=()=>{let f=Ei(l,c,nne(Re),Ji);o({type:"setData",data:u=>({...u,content:[...td(u.content,f)]}),recordHistory:!0}),n(!1)};return $u(lne,{tone:"info",title:i("This footer uses the old layout"),action:r?tne(one,{children:[$u(iS,{variant:"primary",size:"sm",onClick:d,children:i("Switch now")}),$u(iS,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:i("Cancel")})]}):$u(iS,{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 cS,jsxs as cne}from"react/jsx-runtime";import{InspectorUpLevel as hD}from"efficient-easel/chrome";function xD({nodeId:e,part:o,sectionName:t,onUpToSection:a}){let{select:r}=cp(),n=vs(e,o,"picture");return cne("div",{children:[o!=="media"?cS(hD,{inline:!0,name:i(Kr.media),onSelect:()=>r(li(e,"media"))}):cS(hD,{inline:!0,name:i(t),onSelect:a}),cS(At,{part:o,motion:n,itemWord:i(Kr[o])})]})}import{HintsToggle as vne,SettingsSwitch as Cne,hintsFoldClass as kne}from"efficient-easel/panel";import{useHints as Tne}from"efficient-easel/screen/lib/hints";var wD={kind:"header"},pS={kind:"website"},vD={kind:"website",tab:hs,revealPageGroup:!0},CD={kind:"chat"},kD={kind:"social"},Zi="Part";function Pne(e){return i("Part of {name}",{name:i(e)})}function Ene(e,o,t){let a=e.describeNode(o);return{name:t,kindLabel:a?Pne(a.label):i(Zi)}}function One(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 TD({what:e}){let o=One(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 fS(e){let o=si[e];return{name:Kr[e],kindLabel:Zi,icon:o,head:(t,a)=>{if(t.kind!==o)return null;let r=a.describeNode(t.nodeId);if(!r)return null;let n=SD({name:i(fp(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(xD,{nodeId:t.nodeId,part:e,sectionName:a.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>a.onSelectNode(t.nodeId)}):null}}var _ne={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(ep,{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(n1,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>Se(f1,{unavailable:Se(TD,{what:"Social link"})})},ticker:{name:ai,kindLabel:Zi,icon:"ticker",head:(e,o)=>e.kind==="ticker"?Ene(o,e.heroId,i(ai)):null,render:e=>Se(CA,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:fS("media"),heroImage:fS("image"),heroImage2:fS("image2"),part:{name:Zi,kindLabel:Zi,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?rs(t.fields[a],r):t.fields[a],s=Gp(t.type),l=s?dl(s,e.propKey):null,c=s&&l?s[l].label:LA[e.propKey],d=c?i(c):wE(i(Wg(Ef(n??{},a))),r),f=SD({name:d,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(QA,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},Ane=new Set(["header","website","chat"]);function Rne(e,o){if(e==="selection")return null;let t=_ne[e];return Ane.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>Se(TD,{what:t.name})}:t}function PD({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onOpenPageStyles:a,onSelectNode:r,hideNodeActions:n=!1,onNotify:s,onHidePanel:l}){let{capabilities:c,tokenRef:d,notifyParent:f,currentSlug:u,siteId:p,runAuthed:x,readOnly:g,navigate:I}=bne(),{rows:k}=ei(),S=k?.find(le=>le.slug===u)??null,v=fne(),b=Object.keys(v.fields).some(le=>!le.startsWith("_")&&!Zl.includes(le)),{websiteName:C}=xe(),T=yne({readOnly:g}),{select:F}=Sne(),{selectedItem:P,getItemById:D,getSelectorForId:O,config:R,appState:N}=dne(le=>le),y=gne(R,P?{type:P.type,props:P.props}:null),A=P?EE(y??R.components[P.type]?.fields,P.props):[],L=le=>R.components[le]?.label??le,H=P?O(P.props.id):void 0,X=Rne(e.kind,c),q=Ine(),U={capabilities:c,tokenRef:d,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=Q_({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!==yD?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?N1(Ie):2,Ge=dS(e)&&P?yi(P.type):null,oo=!!P&&!!H&&H.zone===yD&&P.type!==He&&P.type!==wne,wo=ou(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=dS(e)&&!!P&&!!H&&_e!==void 0,Ze=ke&&P.props.previewHover===!0,Bt=()=>{!P||!H||T.replaceComponent(H.zone,H.index,{...P,props:{...P.props,previewHover:!Ze}})},{shown:Fo,setShown:W}=Tne(),Fe=!!(X||P||b);return tr("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right ${kne(Fo)}`.trim(),children:[Se(mne,{icon:Se(Vr,{type:Ee,size:15}),name:Le,kind:We,actions:!n&&dS(e)&&P&&P.type!==He?tr(gD,{children:[Se(ID,{label:i("Duplicate section"),title:wo??void 0,disabled:wo!==null,onClick:he,children:Se(hne,{size:15})}),oo&&c.hasSiteSettings&&Se(fR,{node:P,currentSlug:u,siteId:p??void 0,tokenRef:d,runAuthed:x,onNotify:s}),Se(ID,{label:i("Remove section"),danger:!0,onClick:Ve,children:Se(xne,{size:15})}),l?Se(bD,{side:"right",onHide:l,divider:!0}):null]}):l?Se(bD,{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(Cne,{checked:Ze,onChange:Bt,ariaLabel:i("Preview hover state")})]}),Se(I0,{tier:Oe,children:tr("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[X?X.render(e,U):P?tr(gD,{children:[P.type===He&&c.hasSiteSettings&&Se(mD,{}),Se(NT,{children:Se(At,{entries:Se(pR,{parts:A,heading:!1,onOpen:le=>F(Tf(P.props.id,le))}),entryCount:Jb(A).length,itemWord:Le})}),Ge&&Se(jp,{source:Ge,slug:Cs(P?.props),menuId:Hp(P?.props)})]}):b?Se(At,{omit:Zl}):Se(une,{variant:"none",icon:!1,message:i("Select a section or block to edit it."),children:a&&Se(pne,{variant:"secondary",onClick:a,children:i("This page")})}),Fe&&Se(vne,{shown:Fo,onChange:W,label:i("Show hints")})]})})]})}import{jsx as m,jsxs as E,Fragment as RD}from"react/jsx-runtime";var no={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)"},uS="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:no[t],flex:"none",...r}})}var Lne={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 Uu({children:e}){return m("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:h.muted},children:e})}function ED({over:e,overTone:o,head:t,headSize:a=11.5,cta:r,ctaBg:n,ctaFg:s,tone:l}){return E(RD,{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 mS({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(Uu,{children:e}),o]})}function OD({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 hS({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 Qi({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 eo({children:e,w:o}){return m("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:h.muted,width:o,display:"block"},children:e})}function zu({label:e,w:o="100%",filled:t}){return E("div",{style:{width:o,display:"flex",flexDirection:"column",gap:2},children:[m("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:h.muted},children:e}),m("span",{style:{height:9,borderRadius:3,border:`1px solid ${h.rule}`,background:t?h.paper:h.card}})]})}function _D({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 Fne={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(Uu,{children:"Buy it with"}),E("div",{style:{display:"flex",alignItems:"center",gap:5},children:[[0,1].map(e=>m("span",{style:{width:26,height:22,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",background:h.card},children:m(wa,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),m("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:h.muted},children:"+"}),E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1},children:[m("span",{style:{fontSize:"3.65cqw",color:h.muted,textDecoration:"line-through"},children:"$1,024"}),m("b",{style:{fontSize:"6.02cqw",color:h.rust,lineHeight:1},children:"$899"})]})]})]}),checkoutcta:E("div",{style:{...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(zu,{label:"Name"}),m(zu,{label:"Email"})]}),m(zu,{label:"Message",filled:!0}),m(_D,{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(hS,{filled:4,size:14}),m(zu,{label:"Your review",filled:!0}),m(_D,{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(eo,{children:"Every failure starts in the same place:"}),m(eo,{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(eo,{w:"100%",children:"A wider wheel adds grip only if the offset still"}),m(eo,{w:"88%",children:"clears the arch, so the offset is chosen first."}),m(eo,{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(eo,{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(eo,{children:"Unfitted wheels come back within 30 days, no questions."}),m(eo,{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(eo,{children:"Forged, correctly offset, rated for what you actually"}),m(eo,{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(Qi,{n:"27k",label:"Rigs"}),m(Qi,{n:"4.9",label:"Rating"})]}),E("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[m(eo,{children:"Twelve years of fitting the same three questions, and the"}),m(eo,{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(eo,{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(eo,{children:"One shed, one lathe, one idea."}),m(eo,{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(Uu,{children:"Ways to pay"}),m("div",{style:{display:"flex",gap:5},children:[["VISA",h.ink],["MC",h.rust],["AMEX",h.inkSoft],["PayPal",h.ink2]].map(([e,o])=>m("span",{style:{flex:1,textAlign:"center",fontSize:"3.65cqw",fontWeight:800,letterSpacing:"0.06em",color:h.onInk,borderRadius:3,padding:"6px 0",background:o},children:e},e))})]}),stats:E("div",{style:{...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(Qi,{n:"27k",label:"Rigs fitted",tone:h.onInk}),m(Qi,{n:"12",label:"Years",tone:h.onInk}),m(Qi,{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(hS,{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(OD,{}),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(OD,{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(hS,{filled:o})]}),m(eo,{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(eo,{children:"he number on the back of your wheel decides whether the"}),m(eo,{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(eo,{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(eo,{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(ED,{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(ED,{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(mS,{name:"Ridge 19",price:"$365"}),m(mS,{name:"Ridge 29",price:"$410"}),m(mS,{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(Uu,{children:"How it works"}),m("div",{style:{display:"flex",gap:6},children:["Pick your rig","Match the fit","We fit it"].map((e,o)=>E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[m("span",{style:{width:11,height:11,borderRadius:"50%",background:h.text,color:h.onInk,fontSize:"3.98cqw",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700},children:o+1}),m("span",{style:{fontSize:"3.98cqw",color:h.text,fontWeight:600},children:e})]},e))})]}),detailrows:m("div",{style:{...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))})},AD={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:no.line,marginBottom:10}}),E("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${no.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 ${no.line}`,background:no.block}}),m($,{w:34,h:13,r:5,tone:"accent"})]})]}),E("div",{style:{flex:1,background:no.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 ${no.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:uS}}),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(RD,{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:no.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:no.block}},o))}),blanksection:m("div",{style:{...V,padding:14,display:"flex"},children:E("div",{style:{flex:1,border:`1px dashed ${no.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:uS},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:uS}}),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 ${no.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 ${no.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[m("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${no.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 ${no.dark}`}}),m("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${no.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 ${no.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 ${no.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:no.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:no.block}})};function LD({type:e}){let o=Lne[e]??"",t=Fne[o]??AD[o]??AD.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 mm}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as Ms,jsxs as FD}from"react/jsx-runtime";import Bne from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as Dne}from"efficient-easel/rail";import{Tooltip as Nne}from"efficient-shell/ui";import{HintsToggle as Mne,hintsFoldClass as Hne}from"efficient-easel/panel";import{useHints as Wne}from"efficient-easel/screen/lib/hints";function BD({tokenRef:e,siteId:o,onClose:t,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}){let c=xs(),{shown:d,setShown:f}=Wne();return FD("div",{className:`sf-styles ${Hne(d)}`.trim(),children:[Ms(Bne,{icon:Ms(Dne,{}),title:i("Styles"),context:Ms(Nne,{content:i("{name} \u2014 renamed in the Console: {place}.",{name:c,place:i("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:Ms("span",{className:"sf-name-text",children:c})})}),FD("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[Ms(ep,{tokenRef:e,siteId:o,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}),Ms(Mne,{shown:d,onChange:f,label:i("Show hints")})]})]})}import{jsx as po,jsxs as fn,Fragment as Kne}from"react/jsx-runtime";import{Fragment as YD,useEffect as XD,useRef as SS}from"react";import{useTreeDrag as JD}from"efficient-easel/drag";import{GlobeIcon as Vne,ImageIcon as qne,LocationIcon as Yne,MapIcon as Xne,TextLinesIcon as Jne,TrashIcon as ZD}from"efficient-easel/icons";import{Subtree as QD,TreeRow as oc,TreeRowAction as eN,TreeSeam as oN}from"efficient-easel/tree";import{useEaselStrings as Zne}from"efficient-easel/strings";import{createPreviewSelectionContext as Gne}from"efficient-easel/draw/client";var{Provider:SGe,useSelection:DD}=Gne("selectedLocationPartId");function ND(e,o,t){return`${e}::${o}::${t}`}function MD(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 Qne}from"efficient-easel/screen/lib/screen-parts";import{useSyncExternalStore as $ne}from"react";var zne={level:"groups"},WD=zne,xS=new Set;function Ft(e){WD=e;for(let o of xS)o()}function Une(e){return xS.add(e),()=>{xS.delete(e)}}var HD=()=>WD;function GD(){return $ne(Une,HD,HD)}var ec=e=>String(e?.group??""),gS=new WeakMap,jne=0;function ju(e){let o=gS.get(e);return o||(o=`loc${++jne}`,gS.set(e,o)),o}var $D=(e,o)=>o||e||"Ungrouped",zD={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
90
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function dn(e){return au(e,ec,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var IS=e=>e.flatMap(o=>o.cards),UD=(e,o,t)=>Math.min(Math.max(e,o),t);function Ku(e,o,t){let a=0;for(let r=0;r<e.length;r++)if(ec(e[r])===o){if(a===t)return r;a++}return-1}function bS(e,o,t){let a=dn(e);if(o<0||o>=a.length)return e;let[r]=a.splice(o,1),n=UD(o<t?t-1:t,0,a.length);return a.splice(n,0,r),IS(a)}function yS(e,o,t,a,r){let n=dn(e),s=n.find(u=>u.key===o),l=n.find(u=>u.key===a);if(!s||!l||t<0||t>=s.cards.length)return e;let[c]=s.cards.splice(t,1),d=o===a?c:{...c,group:l.key,groupName:l.name};d!==c&&gS.set(d,ju(c));let f=UD(s===l&&t<r?r-1:r,0,l.cards.length);return l.cards.splice(f,0,d),IS(n)}function jD(e,o){let t=dn(e),a=t.find(n=>n.key===o),r={...zD,group:o,groupName:a?.name??""};return a?(a.cards.push(r),IS(t)):[...e,r]}function KD(e){let o=new Set(dn(e).map(r=>r.key)),t=o.size+1,a=`Group ${t}`;for(;o.has(a);)a=`Group ${++t}`;return{cards:[...e,{...zD,group:a,groupName:""}],key:a}}function VD(e,o){return e.filter(t=>ec(t)!==o)}function qD(e,o,t){let a=Ku(e,o,t);return a<0?e:e.filter((r,n)=>n!==a)}function TGe(e,o,t){let a=e.flatMap((s,l)=>ec(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 PGe(e,o,t){return o.flatMap(a=>{let r=e.filter(n=>ec(n)===a);return r.length?r:t(a)})}var qu="ContactLocations",Vu=e=>({parentId:`locations-${e}`,slot:"groups"}),wS=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function tN(e,o){let{readOnly:t,selected:a}=o,r=Zne().tree,n=o.data?.content??[],s=Qne(e),l=SS(null);XD(()=>{let b=a?.type===qu?String(a.props.id):null;b&&b!==l.current&&Ft({level:"groups"}),l.current=b},[a?.props.id]);let{selectedLocationPartId:c,setSelectedLocationPartId:d,setSelectHandler:f}=DD(),u=GD(),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=JD({keyOf:b=>`group:${b.si}:${b.index}`,readOnly:!!t,canDrop:(b,C)=>C.parentId===Vu(b.si).parentId&&C.slot==="groups",onDrop:(b,C)=>{p(b.si,bS(x(b.si),b.index,C.index)),u.level==="city"&&Ft({level:"groups"})},onStep:(b,C)=>{p(b.si,bS(x(b.si),b.index,C<0?b.index-1:b.index+2)),u.level==="city"&&Ft({level:"groups"})}}),I=JD({keyOf:b=>`city:${b.si}:${b.group}:${b.index}`,readOnly:!!t,canDrop:(b,C)=>C.parentId===Vu(b.si).parentId&&C.slot.startsWith("cities:"),onDrop:(b,C)=>{let T=C.slot.slice(7);p(b.si,yS(x(b.si),b.group,b.index,T,C.index)),Ft({level:"group",key:T})},onStep:(b,C)=>{p(b.si,yS(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=SS(n);k.current=n;let S=SS(()=>{});XD(()=>{f(b=>{let C=MD(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")?d(ND(T,C.index,C.level)):d(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=dn(D),R=String(b.props.id),N=s&&a?.props.id===R,y=L=>po(oN,{...t?{}:g.seam({place:{...Vu(C),index:L}})},`seam:${R}:groups:${L}`),A=(L,H)=>po(oN,{...t?{}:I.seam({place:{...wS(C,L),index:H}})},`seam:${R}:cities:${L}:${H}`);return fn(Kne,{children:[po(oc,{icon:po(Jne,{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?$D(L.key,L.name):i("Ungrouped"),te={...wS(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:{...Vu(C),index:H}},Le.rowProps);return fn(YD,{children:[H===0&&y(0),po(oc,{icon:po(Vne,{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(eN,{kind:"delete",label:Po("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",L.cards.length,{label:ge}),onClick:()=>{p(C,VD(D,L.key)),Ft({level:"groups"})},children:po(ZD,{size:15})}),rowProps:We.rowProps,count:L.cards.length,countLabel:Po("{n} city","{n} cities",L.cards.length)}),!q&&fn(QD,{children:[L.cards.map((Ee,Ie)=>{let Oe=Ku(D,L.key,Ie),Ge=N&&u.level==="city"&&u.index===Oe,oo=String(Ee?.name??"")||i("City"),wo=`${R}::city::${ju(Ee)}`,he=F(wo),{rowProps:Ve,..._e}=I.row({item:{si:C,group:L.key,index:Ie},place:{...wS(C,L.key),index:Ie}},{onClick:T(()=>v(C,{level:"city",index:Oe}))});return fn(YD,{children:[Ie===0&&A(L.key,0),po(oc,{icon:po(Yne,{size:13}),name:oo,words:r,onSelect:()=>v(C,{level:"city",index:Oe}),selected:Ge,..._e,fold:{open:!he,label:oo,onToggle:()=>P(wo)},actions:po(eN,{kind:"delete",label:i("Delete {name}",{name:oo}),onClick:()=>{p(C,qD(D,L.key,Ie)),Ft({level:"group",key:L.key})},children:po(ZD,{size:15})}),rowProps:Ve}),!he&&fn(QD,{children:[po(oc,{icon:po(qne,{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(oc,{icon:po(Xne,{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)]},ju(Ee))}),fn("button",{type:"button",className:"sf-add-card",onClick:()=>{let Ee=jD(D,L.key);p(C,Ee);let Ie=dn(Ee).find(Oe=>Oe.key===L.key);Ft(Ie&&Ie.cards.length?{level:"city",index:Ku(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}=KD(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===qu&&Ft({level:"groups"})}}}import{useEffect as ase,useRef as rse}from"react";import{createNode as CS,newId as kS}from"efficient-easel/data";import{useEaselApi as nse}from"efficient-easel/easel";import{useScreenDocument as sse}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as lse}from"efficient-easel/screen/lib/session-context";import{useEffect as nN,useRef as ese}from"react";import{useEasel as ose}from"efficient-easel/easel";import{ROOT_ZONE as vS}from"efficient-easel/draw";var tc={};function aN(e){return tc=e?.theme?{theme:e.theme}:{},tc}function rN(e){tc===e&&(tc={})}function Yu(){return tc}function lN(e){let o=ose(s=>s.appState.data.content),{theme:t,themeRow:a,themeFromDocument:r}=xe(),n=ese(new Set);nN(()=>{let s=sN({theme:t,themeRow:a,themeFromDocument:r});s&&tse(PR(o,void 0,s),e,n.current)},[o,e,t,a,r]),nN(()=>{let s=aN(sN({theme:t,themeRow:a,themeFromDocument:r}));return()=>rN(s)},[t,a,r])}function sN(e){return e.themeFromDocument||e.themeRow==="none"?{}:e.themeRow==="read"?{theme:e.theme}:null}function tse(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(vS,a,r[0]),r.slice(1).forEach((s,l)=>{o.insertNode(vS,a+1+l,s),o.replaceComponent(vS,a+1+l,s)}))}}import{ROOT_ZONE as Hs,missingPinnedTypes as ise,pinnedDuplicateIds as TS}from"efficient-easel/draw";function iN(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function cN(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===zo),seedFooter:s,seedSiteHeader:s&&!e.some(l=>l?.type===Me)}}async function dN(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(td(a,t)),!0)}function fN(e,o){let{adapter:t,capabilities:a,currentSlug:r,docId:n,data:s,saveStatus:l,siteId:c,tokenRef:d}=sse(),f=lse(),{hasSiteSettings:u,hasPinnedChrome:p}=a;lN(e);let x=!!a.editsPinnedInPlace&&r!==Ct,g=r===Ct,I=nse().getState,k=rse(null);ase(()=>{if(!iN({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(TS(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=ise(O,b);if(R.includes(He)){let N=O.length,y=e.insertSection(He,N);e.replaceComponent(Hs,N,{type:He,props:{id:y,blocks:eu()}})}R.includes(zo)&&e.insertNode(Hs,0,Qp());return}if(g){let D=Fn(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)=>CS(o,N,y),R={type:He,props:{blocks:eu()}};e.insertNode(Hs,D.length,Ei(R,O,kS(Re),Ji))}return}if(x){let D=!!t?.pinnedChrome?.state().docId,O=cN(v,{hasChromeDoc:D}),R=new Set([...O.remove,...TS(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)=>CS(o,L,H),A={type:He,props:{blocks:eu()}};e.insertNode(Hs,N.length,Ei(A,y,kS(Re),Ji))}if(O.seedHeader&&!C(b,zo)){let y=N[0]?.type===Me?1:0;e.insertNode(Hs,y,Qp())}if(O.seedSiteHeader&&!C(b,Me)&&!C(b,He)&&!C(b,Re)){let y=n;dN({blocks:kd(f),make:(A,L)=>CS(o,A,L),id:kS(Me),siteId:c??null,token:d.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(TS(T)),P=F.size?T.filter(D=>!F.has(D.props.id)):T;P.length!==v.length&&e.setDocument({...S,content:P}),!C(P,zo)&&!C(b,zo)&&e.insertNode(Hs,0,Qp())},[n,l,s,I,e,u,p,g,x,t,f,c,d])}import{useEffect as EN,useMemo as vse,useRef as ON}from"react";import{useEasel as Cse}from"efficient-easel/easel";import{useEaselHost as kse}from"efficient-easel/screen/lib/host";import{FIELD_DESCRIPTION_MARKER as gse}from"efficient-easel/screen/lib/host";import{isNode as PS}from"efficient-easel/data";var pN=[{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"}],S$e={label:"Scrolling Bar",defaultProps:{items:[],tone:"scrim",borders:!0,size:Qm,separator:eh,scrollDirection:pi}};var uN=()=>[{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"},{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"}],C$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 mN(e,o,t){return So(K,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var Xu={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)]}),mN(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)]}),mN(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)=>hN("Scrolling Bar",ku,Gi,pN.map(t=>({text:t.text,style:Tu,muted:!0})),e,o),SpecStrip:(e,o,t)=>hN("Spec Strip",t?.theme?{...zi,sectionAccent:yc(to(t.theme))}:{...zi,sectionBorder:{top:1}},$i,uN().map(a=>({text:a.text??"",style:Ui,muted:a.tone==="muted"})),e,o)};function hN(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 xN(e){return Xu[e]??null}import{isNodeList as ac}from"efficient-easel/data";var U$e=Object.keys(lS),cse={Logos:WL,DocMasthead:eB,Timeline:vF,TimelineTrack:CF},dse={PaymentBadges:GL,PaymentLogosBlock:$L};function Ju(e,o,t){let a={};for(let r of Object.keys(o(e.type)))a[r]=void 0;for(let[r,n]of Object.entries(e.props))a[r]=ac(n)?n.map(s=>Ju(s,o,t)):n;return a.id=t(e.type),{type:e.type,props:a}}var gN=e=>({...e?.theme?{theme:e.theme}:{},press:!0});function Zu(e,o,t=0,a=()=>({})){return(r,n,s)=>{let{nodes:l}=Ps({type:e,props:{...r(e),...a(),id:n(e)}},o,gN(s));return Ju(l[t],r,n)}}var fse={Stats:use,Cards:pse};function pse(){let e=Ya("Cards");if(!e)return null;let o=Zu("Cards",e,0,mL);return(t,a,r)=>{let n=o(t,a,r);return{...n,props:{...n.props,name:"Cards section"}}}}function use(){let e=Ya("StatsParagraph");return e?(o,t,a)=>{let{nodes:r}=Ps({type:"StatsParagraph",props:{...o("StatsParagraph"),...TL(),id:t("StatsParagraph")}},e,gN(a)),n=r[0],s=ac(n.props.content)?n.props.content.filter(f=>f.props?.cardStyle===void 0):[],l=bN(wy(PL(),"table")),c=s.map(IN),d=Ju({...n,props:{...n.props,content:[...c,l]}},o,t);return{...d,props:{...d.props,name:"Stats section"}}}:null}function IN(e){if(e.props?.name==="Words"){let o=ac(e.props.content)?e.props.content.map(mse):e.props.content;return{...e,props:{...e.props,widthFitPhone:"fill",content:o}}}return ac(e.props?.content)?{...e,props:{...e.props,content:e.props.content.map(IN)}}:e}function mse(e){return e.type!=="Text"?e:{...e,props:xa({...e.props,alignTablet:"left"},"text","alignTablet","left")}}var bN=e=>lo([e],(o,t)=>`${o}-seed-${t}`)[0];function hse(e,o){if(!TR(e,o))return null;let t=fse[e];if(t)return t();let a=Ya(e);return a?Zu(e,a,0,cse[e]??dse[e]):null}function xse(e){return(o,t,a)=>{let r=n=>{if(n.type==="Stats"){let c=Ju(bN(wy([],"list")),o,t);return{...c,props:{...c.props,name:"Numbers"}}}let s=!1,l={};for(let[c,d]of Object.entries(n.props))if(ac(d)){let f=d.map(r);s||=f.some((u,p)=>u!==d[p]),l[c]=f}else l[c]=d;return s?{type:n.type,props:l}:n};return r(e(o,t,a))}}function Ws(e,o=_i){let t=xN(e);return t?xse(t):hse(e,o)}function rc(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function Ise(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function ES(e,o,t,a){e.forEach((r,n)=>{if(PS(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(PS)&&ES(l,r,s,a)}})}function bse(e){let o=[];ES(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&ES(t,null,"",o);return o}function wN(e,o){return bse(e).find(t=>String(t.node.props.id)===o)}function vN(e,o,t){if(!t)return null;let a=wN(o,t);if(!a)return null;let r=rc(e,a.node.type),n=a.parent?`${rc(e,a.parent.type)} \xB7 ${Ise(a.slot)} ${a.index+1}`:r;return{blockId:t,type:a.node.type,label:n,path:""}}var yse=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 Sse(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[gse]: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=yse(n));for(let s of["arrayFields","objectFields"]){let l=t?.[s]??o[s];l&&typeof l=="object"&&(a[s]=CN(l))}return a}function CN(e){let o={};for(let[t,a]of Object.entries(e??{})){let r=Sse(a);r&&(o[t]=r)}return o}function kN(e){let o={};for(let[t,a]of Object.entries(e.components))a&&(o[t]={label:rc(e,t),fields:CN(a.fields),...TN(t)?{retired:!0}:{}});return o}function TN(e){return Object.prototype.hasOwnProperty.call(Om,e)}function yN(e,o){let t=e.components[o]?.defaultProps;return t&&typeof t=="object"?structuredClone(t):{}}function wse(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 OS(e,o){return e.findIndex(t=>PS(t)&&String(t.props.id)===o)}function SN(e,o,t){let a=o||t;if(!a)return e.length;let r=OS(e,a);if(r<0)throw new Error(`there is no top-level block ${a}`);return o?r+1:r}function PN(e,o,t,a,r={}){let n=structuredClone(o),s=Array.isArray(n.content)?n.content:n.content=[];try{t.forEach((l,c)=>{let d=f=>{throw new Error(`change ${c+1}: ${f}`)};switch(l.op){case"set_props":{let f=wN(n,l.block_id)??d(`there is no block ${l.block_id}`);"id"in l.props&&d("a block's id is never changed");let u=wse(f.node.props,l.path)??d(`there is no ${l.path} in that block`);Object.assign(u,structuredClone(l.props));break}case"insert_block":{e.components[l.type]??d(`there is no block type ${l.type}`),TN(l.type)&&d(`${rc(e,l.type)} is retired: it is no longer added (a page that holds one keeps it)`);let f=Ws(l.type),u=Object.keys(l.props??{}).filter(x=>x!=="id");f&&u.length&&d(`${rc(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=>yN(e,x),a,r):{type:l.type,props:{...yN(e,l.type),...structuredClone(l.props),id:a(l.type)}};s.splice(SN(s,l.after,l.before),0,p);break}case"remove_block":{let f=OS(s,l.block_id);f<0&&d(`there is no top-level block ${l.block_id}`),s.splice(f,1);break}case"move_block":{let f=OS(s,l.block_id);f<0&&d(`there is no top-level block ${l.block_id}`);let[u]=s.splice(f,1);s.splice(SN(s,l.after,l.before),0,u);break}default:d(`"${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 _S=e=>J(e.requestId)??null;function _N(){let e=kse(),{appState:o,selectedItem:t,dispatch:a,history:r,config:n}=Cse(p=>p),s=n,l=ON({appState:o,dispatch:a,history:r,blockConfig:s});l.current={appState:o,dispatch:a,history:r,blockConfig:s};let c=ON(new Map),d=t?.props?.id,f=vse(()=>vN(s,o.data,d),[s,o.data,d]),u=f?JSON.stringify(f):"";EN(()=>{e.connected&&e.send("storefront-editor:selection",{selection:f})},[e,u]),EN(()=>e.subscribe(p=>{let{appState:x,dispatch:g,history:I,blockConfig:k}=l.current;switch(p.type){case"storefront-editor:request-document":{let S=_S(p);if(!S)return;e.send("storefront-editor:document",{requestId:S,document:x.data,blocks:kN(k)});return}case"storefront-editor:apply-page-edits":{let S=_S(p);if(!S)return;let v=Array.isArray(p.ops)?p.ops:[],b=v.length?PN(k,x.data,v,C=>`${C}-${crypto.randomUUID()}`,Yu()):{ok:!1,reason:"no changes"};b.ok&&(g({type:"setData",data:b.document,recordHistory:!0}),c.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=_S(p);if(!S)return;let v=c.current.get(S),b=v!==void 0&&v===JSON.stringify(x.data.content??[]);b&&I.hasPast&&(I.back(),c.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 LN,useState as FN}from"react";var Qu=new Map;async function Tse(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 AN(e,o){let t=Qu.get(o);return t||(t=Tse(e,o),Qu.set(o,t),t.catch(()=>{Qu.get(o)===t&&Qu.delete(o)})),t}var Pse=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function AS(e){return!!e&&Pse.test(e)}function RN(e){let{pageSlug:o,siteSlug:t,hostname:a}=e,r=o===xd?"/":`/${encodeURIComponent(o)}`;if(!AS(a))return r;let n=t?.trim();return n?`${r}?site=${encodeURIComponent(n)}`:r}function BN(e){let{pageSlug:o,siteId:t,token:a}=e,[r,n]=FN(null),[s,l]=FN(null),c=Pn();LN(()=>l(c?new URL(c).hostname:window.location.hostname),[c]),LN(()=>{if(!AS(s)||!t||!a){n(null);return}let f=!1;return AN(a,t).then(u=>{f||n(u)}),()=>{f=!0}},[s,t,a]);let d=RN({pageSlug:o,siteSlug:r,hostname:s});return c?`${c}${d}`:d}import{jsx as nc}from"react/jsx-runtime";import{useEffect as Ese,useRef as DN,useState as Ose}from"react";import{ExternalIcon as NN}from"efficient-easel/icons";import{EaselIconButton as _se}from"efficient-easel/chrome";import{Tooltip as Ase,iconButtonClasses as Rse}from"efficient-shell/ui";import{useSettledPress as Lse}from"efficient-easel/easel";import{useScreenDocument as Fse}from"efficient-easel/screen/components/ScreenDocumentContext";async function Bse({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 MN({liveHref:e,pageId:o,draftLink:t}){let{flushSave:a}=Fse(),r=DN(a);r.current=a;let n=Lse(),[s,l]=Ose(!1),c=DN(null);if(Ese(()=>()=>c.current?.(),[]),t&&o){let d=()=>new Promise((u,p)=>{c.current=()=>u(!1),n.run(()=>{c.current=null,r.current().then(u,p)})}),f=()=>{s||n.waiting||(l(!0),Bse({pageId:o,liveHref:e,draftLink:t,ready:d}).finally(()=>l(!1)))};return nc(_se,{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:nc(NN,{})})}return nc(Ase,{content:i("Preview the live site (opens in a new tab)"),side:"bottom",children:nc("a",{className:Rse({className:"es-iconbtn"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":i("Preview the live site in a new tab"),children:nc(NN,{})})})}import{createElement as Wse,useCallback as Gse,useEffect as o2,useRef as t2,useState as $se}from"react";import{ClockIcon as zse}from"efficient-shell/icons/efficient";import{useScreenDocument as Use}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as Dse}from"react";import{useScreenDocument as Nse}from"efficient-easel/screen/components/ScreenDocumentContext";var Mse=()=>()=>{},HN=()=>null;function em(e){return Dse(e?e.subscribe:Mse,e?e.state:HN,e?e.state:HN)}function om(){let{adapter:e}=Nse();return e?.pinnedChrome}import{useSyncExternalStore as $N}from"react";var sc=!1,Gs=null,RS=new Set;function ic(){for(let e of RS)e()}function zN(e){return RS.add(e),()=>{RS.delete(e)}}function UN(){sc||(sc=!0,ic())}function jN(){sc&&(sc=!1,ic())}function WN(){return sc}function KN(){return $N(zN,WN,WN)}function GN(){return Gs}function tm(){Gs&&(Gs=null,ic())}function VN(){return $N(zN,GN,GN)}var lc=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function qN(e,o,t,{flushSave:a,reload:r}){if(!await a())throw new lc;let n=await e.restore(o,t);return Ld(n.liveState),r(),n}async function YN({access:e,version:o,page:t,...a}){let r=await qN(e,o.id,t?{page:t.id}:{},a);Gs={title:Hse(o,t??null),undo:r.undo},ic()}async function XN({access:e,...o}){let t=Gs?.undo;t&&(await qN(e,t,{},o),Gs=null,ic())}function JN(e){return e.name?e.name:e.kind==="draft_before_restore"?i("Draft before restore"):i("Version {n}",{n:e.number})}function Hse(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 ZN(e){let o=e.changes.filter(a=>a.kind==="page").length,t=[...o?[Po("{n} page","{n} pages",o)]:[],...e.changes.filter(a=>a.kind!=="page").map(a=>a.name)];if(!t.length)return"";try{return new Intl.ListFormat(km(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function QN(e){return e.change==="take_down"?i("{name} (taken down)",{name:e.name}):e.name}function e2(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=km(),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 a2(e){let{docId:o,capabilities:t,hasUnsavedEdits:a,onPublish:r,adapter:n}=Use(),s=tR(oR(o??null),a),l=em(om()),c=n.siteLiveState;o2(()=>{if(c)return Gx(c),la(0),()=>Gx(null)},[c]);let d=Fd(),[f,u]=$se(!1),p=t2(e);p.current=e;let x=t2(!0);o2(()=>(x.current=!0,()=>{x.current=!1}),[]);let g=Gse(()=>{u(!0),r(p.current).then(()=>{tm()}).finally(()=>{x.current&&u(!1)})},[r]);if(t.canPublish){if(c){let I=d===void 0?void 0:a||d.state==="changed"?"changed":"live",k=Kb({live:I,onPress:g,busy:f,goingLive:aR(d?.changes??[])});return n.siteVersions?{...k,menuItems:jse()}:k}return Kb({live:s,onPress:g,busy:f,pinnedUnpublished:l?.unpublished??!1})}}function jse(){return[{key:"version-history",label:i("Version history"),icon:Wse(zse),onSelect:UN}]}import{jsx as ee,jsxs as Zo,Fragment as fc}from"react/jsx-runtime";import{useCallback as Kse,useEffect as Vse,useId as s2,useRef as qse,useState as ft}from"react";import{useSettledAction as Yse}from"efficient-easel/easel";import{Avatar as Xse,Banner as cc,Button as pn,ColoredBadge as LS,Dialog as l2,Drawer as Jse,DropdownMenu as Zse,FormField as i2,iconButtonClasses as Qse,Inline as FS,Input as ele,ListRow as ole,Select as tle,SortableList as ale,Stack as dc}from"efficient-shell/ui";import{EditIcon as rle,EyeIcon as r2,MenuIcon as nle,MoreIcon as sle,PageIcon as c2,RevertIcon as n2,StylesIcon as lle}from"efficient-shell/icons/efficient";import{useScreenDocument as d2}from"efficient-easel/screen/components/ScreenDocumentContext";var ile={page:c2,menu:nle};function cle(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function dle(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 fle({version:e,page:o,waiting:t,busy:a,error:r,onCancel:n,onConfirm:s,onPage:l}){let c=s2();if(!e)return null;let d=e.kind==="draft_before_restore",f=e.number,u=ZN(e),p=d?i("Put your drafts back?"):o?i("Restore {page} from version {n}?",{page:o.name,n:f}):i("Restore version {n}?",{n:f}),x=d?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(l2,{open:!0,onClose:()=>{a||n()},size:"sm",title:p,footer:Zo(fc,{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(dc,{gap:4,children:[o&&e.pages.length>1?ee(i2,{label:i("Page"),htmlFor:c,children:ee(tle,{id:c,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(cc,{tone:"warning",children:Po("{n} picture in this version was deleted from the media library. It stays empty.","{n} pictures in this version were deleted from the media library. They stay empty.",g)}):null,t?ee(cc,{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(cc,{tone:"danger",children:r}):null]})})}function ple({version:e,onCancel:o,onSave:t}){let a=s2(),[r,n]=ft(null),[s,l]=ft(""),[c,d]=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(!(c||p)){d(!0),u(null);try{await t(s.trim())}catch{u(i("The name was not saved. Try again."))}finally{d(!1)}}};return ee(l2,{open:!0,onClose:()=>{c||o()},size:"sm",title:i("Name this version"),footer:Zo(fc,{children:[ee(pn,{variant:"secondary",onClick:o,disabled:c,children:i("Cancel")}),ee(pn,{onClick:()=>{x()},loading:c,disabled:c||p,children:i("Save")})]}),children:ee(i2,{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(ele,{id:a,value:s,invalid:!!f,onChange:g=>l(g.target.value),onKeyDown:g=>{g.key==="Enter"&&x()}})})})}function ule({version:e,expanded:o,onToggle:t,onPreview:a,onRestore:r,onRestorePage:n,onName:s}){let l=e.kind==="draft_before_restore",c=!e.live,d=e.changes.length,f=[...l?[]:[{key:"preview",label:i("Preview"),icon:ee(r2,{}),onSelect:a}],...c?[{key:"restore",label:l?i("Put these drafts back"):i("Restore whole website"),icon:ee(n2,{}),onSelect:r}]:[],...c&&!l&&e.pages.length?[{key:"restore-page",label:i("Restore one page only"),icon:ee(c2,{}),onSelect:n}]:[],...l?[]:[{type:"divider",key:"divider"},{key:"name",label:i("Name this version"),icon:ee(rle,{}),onSelect:s}]];return ee(ole,{title:Zo("span",{className:"sf-version-title",children:[ee("span",{children:JN(e)}),e.live?ee(LS,{tone:"success",size:"xs",children:i("Live")}):null,e.name?ee(LS,{tone:"neutral",size:"xs",children:i("Version {n}",{n:e.number})}):null,l?ee(LS,{tone:"warning",size:"xs",children:i("Not published")}):null]}),expanded:o,onToggle:t,actions:ee(Zse,{align:"end","aria-label":i("More"),items:f,triggerClassName:Qse({variant:"ghost",size:"sm"}),trigger:ee(sle,{})}),below:Zo(dc,{gap:3,children:[Zo(FS,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[ee(Xse,{name:e.createdBy,size:"xs"}),ee("span",{children:e.createdBy}),ee("span",{"aria-hidden":"true",children:"\xB7"}),ee("span",{children:e2(e.createdAt)}),d?Zo(fc,{children:[ee("span",{"aria-hidden":"true",children:"\xB7"}),ee("span",{children:Po("{n} change","{n} changes",d)})]}):null]}),o?Zo(dc,{gap:3,children:[d?ee(dc,{gap:2,children:e.changes.map(u=>{let p=ile[u.kind]??lle;return Zo(FS,{gap:2,align:"center",children:[ee(p,{size:16}),ee("span",{children:QN(u)})]},`${u.kind}:${u.id}`)})}):null,Zo(FS,{gap:2,children:[l?null:ee(pn,{variant:"secondary",size:"sm",leftIcon:ee(r2,{}),onClick:a,children:i("Preview")}),c?ee(pn,{variant:"secondary",size:"sm",leftIcon:ee(n2,{}),onClick:r,children:i("Restore")}):null]})]}):null]})})}function mle({open:e,onClose:o,access:t,waiting:a}){let{flushSave:r,reloadFromServer:n,docId:s}=d2(),[l,c]=ft(null),[d,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=qse(0),D=Kse(()=>{let y=++P.current;f(!1),t.list().then(A=>{y===P.current&&c(A)},()=>{y===P.current&&f(!0)})},[t]);Vse(()=>{e&&D()},[e,D]);let O=y=>{F(!1),dle(t,y.id).catch(()=>F(!0))},R=async()=>{if(!(!x||I)){k(!0),v(null);try{await YN({access:t,version:x.version,page:x.page,flushSave:r,reload:n}),g(null),o()}catch(y){v(y instanceof lc?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=Yse({onPress:()=>{R()},busy:I});return Zo(fc,{children:[ee(Jse,{open:e,onClose:o,side:"right",size:"md",title:i("Version history"),description:Zo(fc,{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(dc,{gap:3,children:[T?ee(cc,{tone:"danger",onDismiss:()=>F(!1),children:i("The preview did not open. Try again.")}):null,d?ee(cc,{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(ale,{"aria-label":i("Versions"),spacing:"comfortable",children:l.map(y=>ee(ule,{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:cle(y,s)})},onName:()=>C(y)},y.id))})]})}),ee(fle,{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(ple,{version:b,onCancel:()=>C(null),onSave:async y=>{await t.name(b.id,y),C(null),D()}})]})}function f2(){let{adapter:e,hasUnsavedEdits:o}=d2(),t=e.siteVersions,a=KN(),r=Fd();return t?ee(mle,{open:a,onClose:jN,access:t,waiting:o||r?.state==="changed"}):null}import{useEaselSession as lH}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as Yze,categoryLabel as Xze,paletteWithoutPinned as Jze,pinnedSection as Zze}from"efficient-easel/screen/lib/document/palette-sections";var hle={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 p2(e){return hle[e]?.label}var u2=Am;import{currentEaselSession as uM}from"efficient-easel/screen/lib/session";import{blockTypesIn as dM}from"efficient-easel/screen/lib/document/block-types-in";import{jsx as pt,jsxs as rM}from"react/jsx-runtime";import{createContext as hie,useContext as xie,useEffect as gie,useRef as Iie,useState as nM}from"react";import{jsx as $s,jsxs as E2}from"react/jsx-runtime";import{useEffect as zs,useRef as Nle,useState as mn}from"react";import{jsx as un}from"react/jsx-runtime";import{Component as ble,createContext as yle,lazy as iUe,Suspense as cUe,useContext as Sle}from"react";var xle="hrefRewrite";function gle(){return Ta("efficient.link-href-rewrites",()=>({rewrites:new Map,count:0,missed:new Set}))}function Ile(){return typeof process<"u"&&!0}function tUe(e){let o=e?.[xle];return typeof o=="string"?o.trim():""}function m2(e){if(!e)return null;let o=gle(),t=o.rewrites.get(e);return!t&&!Ile()&&o.missed.add(e),t??null}var wle={Link:Rw,Image:Aw},h2=yle(wle);function uUe({runtime:e,children:o}){return un(h2.Provider,{value:e,children:o})}function DS(){return Sle(h2)}function mUe(){return DS().pagePath??null}function hUe({hrefRewrite:e,...o}){let{Link:t}=DS(),a=m2(e);return a?un(BS,{name:a.name,href:o.href,fallback:un(t,{...o}),children:un(vle,{Link:t,rewrite:a.rewrite,...o})},a.key):un(t,{...o})}function vle({Link:e,rewrite:o,...t}){let a=J(o(t.href)),r=a&&fv(a)?a:t.href;return un(e,{...t,href:r})}var BS=class extends ble{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 x2(e){let{Image:o}=DS();return un(o,{...e})}import{jsx as g2,Fragment as Cle,jsxs as kle}from"react/jsx-runtime";import{useEffect as Tle,useRef as I2,useState as Ple}from"react";var Ele="#t=0.001",Ole=2;function _le(e,o){if(e.readyState<Ole||!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 b2({src:e,objectPosition:o="50% 50%",onError:t}){let a=I2(null),r=I2(null),[n,s]=Ple(!1);return Tle(()=>{let l=a.current,c=r.current;if(n||!l||!c)return;let d=()=>{_le(l,c)&&s(!0)};return d(),l.addEventListener("loadeddata",d),l.addEventListener("seeked",d),()=>{l.removeEventListener("loadeddata",d),l.removeEventListener("seeked",d)}},[n]),kle(Cle,{children:[g2("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&&g2("video",{ref:a,src:`${e}${Ele}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as w2,imageSrcSet as Ale}from"efficient-shell/image-copies";var y2;function NS(){return y2===void 0?{}:{host:y2}}var SUe="(max-width: 800px) 100vw, min(100vw, 1600px)",wUe="(max-width: 960px) 100vw, 50vw";function v2(e,{fallbackWidth:o=1280,maxWidth:t}={}){let a=Ale(e,{...NS(),...t===void 0?{}:{maxWidth:t}});return a?{src:w2(e,o,NS()),srcSet:a}:{src:e}}var Rle=/[\s"'()\\;]/,Lle={"\\":"\\\\",'"':'\\"',"\n":"\\a ","\r":"\\d ","\f":"\\c "};function S2(e){return e.replace(/[\\"\n\r\f]/g,o=>Lle[o]??o)}function vUe(e){let o=w2(e,1920,NS());return o===e?Rle.test(e)?`url("${S2(e)}")`:`url(${e})`:`url("${S2(o)}")`}import{jsx as C2}from"react/jsx-runtime";import{createContext as Fle,useContext as Ble,useMemo as PUe}from"react";var k2=Fle(null);function T2({children:e}){return C2(k2.Provider,{value:"below",children:e})}function pc(){return Ble(k2)}function Dle(){return pc()==="below"?{loading:"lazy"}:{}}function P2(e){let o=Dle();return C2("img",{...e,...o})}var EUe="laterSlideIds";var Mle=.5;function uc({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:a=Mle,objectPosition:r="50% 50%",objectPositionPhone:n,objectPositionTablet:s,quiet:l=!1,slideShown:c,laterSlide:d=!1,laterOfLead:f=!1}){let u=zT(n,s),p=pc(),[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=c??!0,[y,A]=mn(!1),L=p!=="first"&&!f,[H,X]=mn(!1),q=Nle(null);zs(()=>{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]),zs(()=>{C(!1),F(!1),D(!1),R(!1)},[e,o]),zs(()=>{N&&A(!0)},[N]),zs(()=>{let te=q.current;te&&(N?te.play()?.catch(()=>{}):te.pause())},[N,y,H]),zs(()=>{if(!d||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)},[d,L,H]),zs(()=>{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=Lw(S),ge=S&&U&&!T?v2(S):{src:S};return E2("div",{className:"absolute inset-0 z-[1]",children:[$s("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),S&&(U?$s("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):$s(x2,{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&&E2("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:[Fw(v)&&$s("source",{src:v.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),$s("source",{src:v,type:"video/mp4"})]},v),t&&l&&v&&y&&(!L||H)&&!O&&(!S||b)&&$s(b2,{src:v,objectPosition:r,onError:()=>R(!0)},v)]})}import{Fragment as B2,jsx as Ko,jsxs as GS}from"react/jsx-runtime";import{MOTION_TIMING as Hle}from"efficient-shell/format";var R2="grayscale(1) contrast(1.03)",WUe="Black and white";function Wle(e){return e===!0?{filter:R2}:{}}function Gle(e){let{filter:o}=Wle(e);return o?{style:{filter:o}}:{}}var hn="sf-photo-grayscale",WS="data-sf-photo-host",O2={duration:"--sf-photo-hover-duration",delay:"--sf-photo-hover-delay"},nm=`@media (hover:hover){.${hn}{filter:${R2};transition:filter var(--sf-photo-hover-duration,var(--page-motion-hover-duration)) var(--page-ease-media) var(--sf-photo-hover-delay,var(--page-motion-hover-delay))}.${hn}:hover,[data-sf-photo-host]:hover .${hn}{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${hn}{transition:none}}`;function L2(e){let o=Hle.hover,t={...e.duration!==o.duration.default?{[O2.duration]:`${e.duration}s`}:{},...e.delay!==o.delay.default?{[O2.delay]:`${e.delay}s`}:{}};return Object.keys(t).length?t:void 0}function F2(e,o,t){if(e===!0)return Gle(!0);if(t?.kind==="mono"){let a=L2(t);return{className:hn,sheet:nm,...a?{style:a}:{}}}return e===!1?{}:o===!0?{className:hn}:{}}var _2="data-sf-repeat",MS="sf-photo-zoom",$le="--sf-photo-zoom",GUe="sf-photo-wash",am="sf-photo-wash-rest",mc="sf-photo-wash-hover",rm="sf-photo-frame",HS=(e,o)=>{let t=`:not([${_2}]:not(:hover) .${e})`;return`${o},[${_2}]:hover .${e}${t},[${WS}]:hover .${e}${t}`},A2=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))`,zle=`.${mc}{opacity:0}@media (hover:hover){.${am},.${mc}{transition:${A2("opacity")}}${HS(mc,`.${rm}:hover .${mc}`)}{opacity:1}${HS(am,`.${rm}:hover .${am}`)}{opacity:0}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.${MS}{transition:${A2("transform")}}${HS(MS,`.${rm}:hover .${MS}`)}{transform:scale(var(${$le}))}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${am},.${mc}{transition:none}}`,$Ue="sf-photo-move";function zUe(e){if(!e||!e.zoom&&!e.darken)return null;let o=L2(e);return{className:rm,sheet:zle,...o?{style:o}:{}}}function UUe(e){return e===!0?{[hn]:nm}:{}}import{hidableText as Ule}from"efficient-easel/draw";var jle={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"},Kle={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 D2(e){let o=e.isVideo&&GC(e.videoSource)==="youtube",t=e.isVideo&&$C(e.videoPlayback)==="click",a=o?zC(Ule(e.youtubeUrl)):null,r=dp(e.mediaLayout);return{fromYouTube:o,onClick:t,youTubeId:a,backgroundFile:e.isVideo&&!o&&!t,desktopLayout:r,phoneLayout:UI(e.mediaLayoutPhone,r),twoPictures:!e.isVideo&&ni(e)>1}}function hc(e,o){return yp(ws({_partMotion:e},o))}function Us(e,o){return F2(void 0,void 0,_v(ws({_partMotion:e},o)))}function N2(e){return jr.some(o=>Us(e,o).className)?{hostAttrs:{[WS]:""},sheet:nm}:{}}function sm({treatment:e,children:o}){return e.className?Ko("div",{className:`absolute inset-0 ${e.className}`,...e.style?{style:e.style}:{},children:o}):Ko(B2,{children:o})}function lm({color:e,opacity:o,passClicks:t=!0}){return o>0?Ko("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 im({part:e,editing:o,marked:t=!0,entrance:a,className:r,children:n}){let s=o&&t?{[Z_]:e}:void 0;return a?Ko(Ey,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:r,boxAttrs:s,children:n}):Ko("div",{className:r,...s,children:n})}function M2({partMotion:e,editing:o,children:t}){let a=hc(e,"media"),r=Us(e,"media"),n=r.className?Ko("div",{className:`absolute inset-0 z-[1] ${r.className}`,...r.style?{style:r.style}:{},children:t}):t;return a?Ko(Ey,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:"absolute inset-0 z-[1]",children:n}):Ko(B2,{children:n})}function H2({desktopLayout:e,phoneLayout:o,editing:t,marked:a=!0,partMotion:r,first:n,second:s,laterSlide:l=!1}){return GS("div",{className:`absolute inset-0 z-[1] grid ${jle[o]} ${Kle[e]}`,"data-hero-layout":e,"data-hero-layout-phone":o,children:[Ko(im,{part:"image",editing:t,marked:a,entrance:hc(r,"image"),className:"relative overflow-hidden",children:GS(sm,{treatment:Us(r,"image"),children:[Ko(uc,{posterSrc:ka(n.src),showVideo:!1,laterSlide:l,objectPosition:n.objectPosition,objectPositionPhone:n.objectPositionPhone,objectPositionTablet:n.objectPositionTablet}),Ko(lm,{color:n.tintColor,opacity:n.tintOpacity})]})}),Ko(im,{part:"image2",editing:t,marked:a,entrance:hc(r,"image2"),className:`relative overflow-hidden ${vd({desktop:e==="one",tablet:e==="one",mobile:o==="one"},{atSectionLine:!0})}`.trimEnd(),children:GS(sm,{treatment:Us(r,"image2"),children:[Ko(uc,{posterSrc:ka(s.src),showVideo:!1,laterSlide:l,objectPosition:s.objectPosition,objectPositionPhone:s.objectPositionPhone,objectPositionTablet:s.objectPositionTablet}),Ko(lm,{color:s.tintColor,opacity:s.tintOpacity})]})})]})}import{jsx as xn,Fragment as Vle,jsxs as qle}from"react/jsx-runtime";import{useEffect as Yle,useState as Xle}from"react";import{PlaySolidIcon as Jle}from"efficient-shell/icons/efficient-looks";function W2({youTubeId:e,ownPoster:o,background:t,editing:a}){let[r,n]=Xle("large");return Yle(()=>n("large"),[e]),e?qle(Vle,{children:[!o&&r!=="none"&&xn(P2,{src:r==="large"?UC(e):jC(e),alt:"",className:"absolute inset-0 z-[2] h-full w-full object-cover",onLoad:s=>{r==="large"&&s.currentTarget.naturalWidth<=120&&n("small")},onError:()=>n(r==="large"?"small":"none")},`${e}-${r}`),t&&!a&&xn("div",{className:"pointer-events-none absolute inset-0 z-[3] overflow-hidden [container-type:size]","aria-hidden":"true",children:xn("iframe",{src:Lh(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 G2({youTubeId:e,fileSrc:o,playing:t,onPlay:a,editing:r}){return!e&&!o?null:t&&!r?e?xn("iframe",{src:Lh(e,"click"),title:Fh,allow:"autoplay; encrypted-media; picture-in-picture; fullscreen",allowFullScreen:!0,className:"absolute inset-0 z-[6] h-full w-full border-0 bg-overlay-scrim"}):xn("video",{src:o,controls:!0,autoPlay:!0,playsInline:!0,className:"absolute inset-0 z-[6] h-full w-full bg-overlay-scrim object-contain"}):xn("button",{type:"button","aria-label":Fh,onClick:r?void 0:a,className:`absolute left-1/2 top-1/2 z-[4] grid h-16 w-16 -translate-x-1/2 -translate-y-1/2 place-items-center rounded-full bg-btn text-btn-ink shadow-lg transition-transform motion-reduce:transition-none ${r?"pointer-events-none":"cursor-pointer hover:scale-105"}`,children:xn(Jle,{size:28})})}function $2(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 z2=["top","middle","bottom"],U2=["left","center","right"],j2="bottom",K2="left",Zle={top:"Top",middle:"Middle",bottom:"Bottom"},Qle={left:"Left",center:"Center",right:"Right"},uje="Up and down",mje="Sideways",eie={top:"flex-start",middle:"center",bottom:"flex-end"},oie={left:"flex-start",center:"center",right:"flex-end"},tie="--sf-hero-phone-y",aie="--sf-hero-phone-x";function rie(e){return z2.includes(e)?e:j2}function nie(e){return U2.includes(e)?e:K2}function V2(e,o){let t=rie(e),a=nie(o),r={};return t!==j2&&(r[tie]=eie[t]),a!==K2&&(r[aie]=oie[a]),r}function hje(){return z2.map(e=>({label:Zle[e],value:e}))}function xje(){return U2.map(e=>({label:Qle[e],value:e}))}import{hexToRgb as sie}from"efficient-shell/format";var lie=!0;var iie=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function q2(e){let o=sie(e);return o?`${o.r},${o.g},${o.b}`:null}function Y2(e){return e==null?lie:e!==!1}function X2(e){let o=(e?q2(e):null)??q2(vt);return`linear-gradient(180deg, ${iie.map(([t,a])=>`rgba(${o},${a}) ${t}%`).join(", ")})`}import{hexToRgb as J2}from"efficient-shell/format";var Z2="bottom";var cie=[{label:"Bottom",value:"bottom",cell:"bottom"},{label:"Top",value:"top",cell:"top"},{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"}],die={bottom:180,top:0,left:270,right:90},fie=[[.55,0],[.15,18],[null,35],[null,55],[.85,100]],pie=[[null,33],[.6,67],[.94,100]];function uie(e,o){let{r:t,g:a,b:r}=J2(e)??J2(vt);return`rgba(${t},${a},${r},${o})`}function Q2(e){return mo(cie,Z2,e)}function eM(e=vt,o=Z2){let t=Q2(o),a=(t==="top"||t==="bottom"?fie:pie).map(([r,n])=>`${r===null?"transparent":uie(e,r)} ${n}%`);return`linear-gradient(${die[t]}deg, ${a.join(", ")})`}function oM(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:Q2(a)}}import{jsx as mie}from"react/jsx-runtime";var tM="sf-photo-hover";function aM({sheet:e,name:o=tM}){return e?mie("style",{href:o,precedence:tM,dangerouslySetInnerHTML:{__html:e}}):null}var bie=hie({});function zje({name:e,process:o,mediaType:t="video",mediaSrc:a,videoSpeed:r,poster:n,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d=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=kn(),{alignment:H="left",textureOpacity:X,textureOn:q,textureColor:U,quietVideo:ge,phoneUpDown:te,phoneSideways:Le,holdReel:We,reelHeld:Ee,shownSlide:Ie,ratioMin:Oe}=xie(bie),Ge=pc(),oo=A&&Ge==="first",wo=Iie(null),[he,Ve]=nM(Ie===void 0?void 0:!1);gie(()=>{let In=wo.current;Ve(Ie===void 0||!In?void 0:$2(In.closest(".hero-track"),"data-slide-name")[Ie]===In)});let _e=t==="video",ke=_e?ka(a):void 0,Ze=_e?ka(n):ka(a)??ka(n),Bt=typeof r=="number"?r/100:1,{fromYouTube:Fo,onClick:W,youTubeId:Fe,backgroundFile:le,desktopLayout:Be,phoneLayout:Ae,twoPictures:ut}=D2({isVideo:_e,videoSource:O,videoPlayback:N,youtubeUrl:R,mediaLayout:S,mediaLayoutPhone:v}),[Dt,Qe]=nM(!1);Dt&&Ee===!1&&Qe(!1);let mt=!Dt,Nt=oM({overlayColor:I,overlayPosition:k},U),gn=_e?null:hc(y,"image"),Ks=N2(y),Zt=pt(sm,{treatment:_e?{}:Us(y,"image"),children:pt(uc,{videoSrc:le?ke:void 0,posterSrc:Ze,showVideo:le,playbackRate:Bt,objectPosition:s,objectPositionPhone:_e?void 0:l,objectPositionTablet:_e?void 0:c,quiet:ge,slideShown:he,laterSlide:A,laterOfLead:oo})}),ar=rM("section",{ref:wo,className:Tn(`${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",...Ks.hostAttrs,children:[pt(aM,{sheet:Ks.sheet}),pt(M2,{partMotion:y,editing:p,children:ut?pt(H2,{laterSlide:A,desktopLayout:Be,phoneLayout:Ae,editing:p,marked:!1,partMotion:y,first:{src:a,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d,tintOpacity:f},second:{src:b,objectPosition:C,objectPositionPhone:T,objectPositionTablet:F,tintColor:P,tintOpacity:D}}):Fo||gn?rM(im,{part:_e?"media":"image",editing:p,marked:!1,entrance:gn,className:"absolute inset-0 z-[1]",children:[Zt,Fo&&pt(W2,{youTubeId:Fe,ownPoster:!!Ze,background:!W,editing:p})]}):Zt}),W&&pt(G2,{youTubeId:Fe,fileSrc:Fo?void 0:ke,playing:Dt,onPlay:()=>{Qe(!0),We?.()},editing:p}),mt&&!ut&&pt(lm,{color:d,opacity:f,passClicks:!1}),mt&&Y2(q)&&pt("div",{className:"absolute inset-0 z-[2]",style:{background:Nt.own?eM(Nt.color,Nt.position??void 0):X2(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:{...px,...V2(te,Le)},children:u&&pt(u,{className:"sf-hero-group-zone",minEmptyHeight:160})})]});return L.scope(oo?pt(T2,{children:ar}):ar)}var sM=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as iM}from"efficient-easel/draw";var yie="ImageBlock",Sie=3,cm=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:iM(e),...t}}),wie=e=>({...e?.(K)??{},direction:"column",[se]:[cm(yie,e),cm(K,e,{direction:"column",[se]:[cm("Text",e,Aa()),cm("Text",e)]})]}),Xt={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>sM.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${oa.toLowerCase()}`,seeds:()=>[],addBlocked:fd,notice:ax},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${oa.toLowerCase()}`,seeds:()=>[],addBlocked:fd,notice:ax},ProcessSteps:{slot:"boxes",childType:K,addLabel:`Add ${oa.toLowerCase()}`,seeds:e=>Array.from({length:Sie},()=>wie(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}},lM=1,vie={slot:ri,childType:K,addLabel:`Add ${oa.toLowerCase()}`,seeds:()=>[],addBlocked:e=>e.length>=lM?"This Hero has its Scrolling Bar already. Delete it to add another.":null,notice:e=>e.length>lM?`This Hero holds ${e.length} Scrolling Bars. Keep one and delete the others.`:null},cM={Hero:{[ri]:vie}};function Zje(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 Qje(e,o){let t=Xt[e];return t?{slot:t.slot,children:t.seeds(o).map(a=>({type:t.childType,props:{id:iM(t.childType),...a}}))}:null}var fM=()=>({}),pM=new Map;function Cie(e){let o=pM.get(e);if(o)return o;let t=new Set,a=Xt[e];if(a)for(let s of a.seeds(fM))for(let l of dM({type:a.childType,props:s}))t.add(l);let r=Ws(e);if(r){let s=0;for(let l of dM(r(fM,c=>`${c}-${s+=1}`)))t.add(l)}t.delete(e);let n=[...t].sort();return pM.set(e,n),n}function kie(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=zb(e),t=e.allow?new Set(e.allow):null,a=new Set(e.deny??[]),r=new Set(Object.keys(e.host??{})),n=c=>{if(a.has(c))return!1;if(r.has(c))return!0;let d=ov(c);return!d||!o[d]?!1:t?t.has(c):!0},s=new Map,l=c=>{let d=s.get(c);if(d!==void 0)return d;s.set(c,!1);let f=n(c)&&Cie(c).every(l);return s.set(c,f),f};return{sets:o,offers:l}}var Tie="block-offer";function $S(e=uM()){return e.cache(Tie,()=>kie(kd(e)))}function mM(e,o=uM()){let t=$S(o);return t?t.offers(e):!0}function Pie(e){let o=Xu.Ticker(e.nodeDefaults,e.newNodeId),{sectionBorder:t,...a}=o.props,r=$I.line?{sectionBorder:t}:{};return{...o,props:{...a,...r,sectionAccent:$I.sectionAccent}}}var Eie={Hero:{[ri]:{newChild:Pie,childLabel:Ac.Ticker}}},hM=Object.fromEntries(Object.entries(cM).map(([e,o])=>[e,Object.fromEntries(Object.entries(o).map(([t,a])=>[t,{...a,...Eie[e]?.[t]}]))]));function xM(e,o=0,t,a){let r=_ie(Aie(e,o,a),t),n=r?$S():null;return r&&n?Oie(r,n):r}function Oie(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 _ie(e,o){if(!e||e.source!=="container"||!o||!EC())return e;let t=ul({data:o.data},o.id),a=typeof t?.type=="string"?OC(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 Aie(e,o,t){let a=t?hM[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=rv(e,o);if(n)return{source:"container",slot:n.slot,choices:n.choices,spec:null};let s=hR(e);return s?{source:"footer",slot:mR,choices:s,spec:null}:null}function gM(e,o=wh(e.type)){return AC(e.type)?o.map(t=>{let a=RC(e.type,t);return a===null?{slot:t,label:t,rung:!1}:{slot:t,label:i(a),rung:!0}}):null}import{useSyncExternalStore as Rie}from"react";var zS=null,US=new Set;function IM(e){if(zS!==e){zS=e;for(let o of US)o()}}function Lie(e){return US.add(e),()=>{US.delete(e)}}function TKe(){return Rie(Lie,()=>zS,()=>null)}function bM(e){return hl(e)?.ownerId??null}function yM(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 SM="sf-editor-left-view";function wM(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(SM);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function vM(e){if(!(typeof window>"u"))try{window.localStorage.setItem(SM,e)}catch{}}function CM(e,o){return e==="styles"&&!o?"sections":e}function kM(e,o){return e?"sections":o}import{copyNode as Fie}from"efficient-easel/data";function TM(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 PM={usedOn:e=>{let o=yt(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>nd()?.openPage(e),adopt:(e,o)=>yt()?.adopt(e.props.id,o),nodeOf:e=>yt()?.place(e)??null,detach:e=>{let o=nd()?.config;return o?Fie(e,o):e},removed:()=>nd()?.reload()};import{sharedSectionsOf as jce}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as Kce,scrollPreviewToTop as eH}from"efficient-easel/screen/lib/document/preview-dom";import{jsx as VS,Fragment as pce,jsxs as uce}from"react/jsx-runtime";import{useContext as mce,useEffect as hce,useMemo as XS,useRef as HM}from"react";import{EaselCanvas as xce,repeatCopyAt as gce,useEasel as Ice}from"efficient-easel/easel";import{jsx as RM,Fragment as Vie,jsxs as qie}from"react/jsx-runtime";import{useEffect as LM,useLayoutEffect as Yie}from"react";var dm="data-theme",EM="light";function Bie(e){return e.getAttribute(dm)===EM?"light":"dark"}function Die(e,o){return Bie(e)===o?!1:(o==="light"?e.setAttribute(dm,EM):e.removeAttribute(dm),!0)}function Nie(e){return Cm(e).getItem(Im)}function NKe(e,o){Cm(e).setItem(Im,o)}function Mie(e,o,t=new Date().getHours()){return aw({mode:o.mode,override:Nie(e),switchShown:o.switchShown,hour:t})}function OM(e,o){let t=e.documentElement;if(!t)return()=>{};let a=()=>Die(t,Mie(e,o));a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[dm]}),()=>n.disconnect()}var Hie="style";function Wie(e,o){let t=mw(o),a=!1;for(let r of uw){let n=t[r]??"";e.style.getPropertyValue(r)!==n&&(n?e.style.setProperty(r,n):e.style.removeProperty(r),a=!0)}return a}function _M(e,o){let t=e.body;if(!t)return()=>{};let a=()=>Wie(t,o);a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[Hie]}),()=>n.disconnect()}import{VIEW_DESKTOP_MIN as Gie,VIEW_TABLET_MIN as $ie}from"efficient-easel/screen/lib/content/view-tiers";var zie={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=zie,Uie=e=>e.flatMap(o=>[`[${o}] p`,`[${o}] li`]).join(","),jie=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(Uie([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 = ${$ie}, DESKTOP_MIN = ${Gie};
|
|
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);`,Kie="storefront-fit-words";function AM(e){let o=e.createElement("script");return o.id=Kie,o.textContent=jie,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var Xie=`
|
|
387
|
+
[${Ot}][${Ot}] { cursor: text; }
|
|
388
|
+
`;function FM({children:e,document:o}){let{theme:t,themeMode:a,themeSwitchShown:r}=xe(),n=to(t);return LM(()=>{if(o)return OM(o,{mode:a,switchShown:r})},[o,a,r]),LM(()=>{if(o)return _M(o,n)},[o,n]),Yie(()=>{if(o)return AM(o)},[o]),qie(Vie,{children:[RM(Kw,{}),RM("style",{children:Xie}),e]})}import{jsx as jS}from"react/jsx-runtime";import{useEffect as Jie,useState as Zie}from"react";import{Banner as Qie}from"efficient-shell/ui";var fm={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."},ece={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."},oce=fm.load,tce=fm.lock,ace=fm.conflict,rce=fm.save;function nce(e){if(!e)return null;if(e.loadFailed)return i(oce);if(e.lockHolder)return i(tce,{name:e.lockHolder.name||i("Somebody else")});if(e.conflict)return i(ace);if(e.saveFailed)return i(rce);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(ece[o.problem],{section:t,name:a})}function sce({report:e}){let o=nce(em(e)),[t,a]=Zie(null);return Jie(()=>{o||a(null)},[o]),!o||t===o?null:jS("aside",{className:"sf-canvas-notice",children:jS(Qie,{tone:"warning",onDismiss:()=>a(o),children:o})})}function BM(){return jS(sce,{report:om()})}import{jsx as pm}from"react/jsx-runtime";import{useState as DM}from"react";import{Banner as lce,Button as ice}from"efficient-shell/ui";import{UndoIcon as cce}from"efficient-shell/icons/efficient";import{useScreenDocument as dce}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSettledAction as fce}from"efficient-easel/easel";function NM(){let e=VN(),{adapter:o,flushSave:t,reloadFromServer:a}=dce(),r=o.siteVersions,[n,s]=DM(!1),[l,c]=DM(!1),d=async()=>{if(!(!r||n)){s(!0),c(!1);try{await XN({access:r,flushSave:t,reload:a})}catch{c(!0)}finally{s(!1)}}},f=fce({onPress:()=>{d()},busy:n});return e?pm("aside",{className:"sf-canvas-notice",children:pm(lce,{tone:l?"danger":"info",title:e.title,onDismiss:tm,action:r&&e.undo?pm(ice,{variant:"secondary",size:"sm",leftIcon:pm(cce,{}),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 bce,REPEAT_ATTRIBUTE as qS,REPEAT_INDEX_ATTRIBUTE as YS}from"efficient-easel/draw";import{usePreviewParts as yce}from"efficient-easel/draw/client";var MM=null;function KS(e){MM=e}function p8e(){return MM}import{ScreenDocumentContext as Sce}from"efficient-easel/screen/components/ScreenDocumentContext";function WM(e){let{mirrorHostStyles:o}=Pm(),t=qw(),{sectionBackgroundWidth:a,themeFromDocument:r}=xe(),n=Dw(),s=mce(Sce),l=sd(s?.docId??null),c=Ice(S=>S.appState.data),d=uk(l,c),f=JSON.stringify(d),u=XS(()=>d,[f]),p=XS(()=>({...e.metadata??t??{},...g0(r?null:a,n),...u}),[e.metadata,t,a,n,r,u]);hce(()=>(KS(n),()=>KS(null)),[n]);let x=HM(null),g=wce(x),{onDocument:I}=e,k=S=>{x.current=S,I?.(S)};return uce(pce,{children:[VS(NM,{}),VS(BM,{}),VS(xce,{...e,onDocument:k,typing:g,metadata:p,height:"fill",mirrorStyles:o,frameWrapper:FM})]})}function wce(e){let o=Ec(),t=yce(),a=HM({parts:t});return a.current={parts:t},XS(()=>{let r=(n,s)=>{let l=Af(n,o),c,d=null,f=s??(l?null:Yg(null,e.current,n)),u=!l&&f?gce(f):null,p=u?bce(n):null;if(u&&f&&p?.propKey){l=Lf({...u,nodeId:p.nodeId,key:p.propKey},o),c=p.propKey;let k=f.closest(`[${qS}][${YS}]`),S=`[${qS}="${Rf(k?.getAttribute(qS)??"")}"][${YS}="${Rf(k?.getAttribute(YS)??"")}"]`;d=()=>(f.ownerDocument??e.current)?.querySelector(S)??null}if(!l)return null;let x=f,g=()=>(x=Yg(x,d?d():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:c,toolbar:{offered:l.offered,colors:l.offered.length>0?Wn(yT(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=>UE(n,o),copyValue:n=>zE(n,o),onChange:n=>{if(!n.typing){Xg(null);return}let s=n.element.closest(`[${Ot}]`)?.getAttribute(Ot)??null;Xg(s),s&&a.current.parts.selectedPartId!==s&&a.current.parts.select(s)}}},[o,e])}var vce=Bw.mediaFields,Cce=/video|poster|focal|phone/i;function GM(e){return(vce[e]??[]).find(o=>!o.includes("[]")&&!Cce.test(o))??null}var $M={adds:{kind:"block",type:"ImageBlock"},takes:e=>GM(e.type)!==null,replace:(e,o)=>{let t=GM(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 zM={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 um}from"react/jsx-runtime";import{useState as kce}from"react";import{Button as Tce,Tooltip as Pce,toast as UM}from"efficient-shell/ui";import{TemplateIcon as Ece}from"efficient-easel/icons";import{useSettledAction as Oce}from"efficient-easel/easel";import{useScreenDocument as _ce}from"efficient-easel/screen/components/ScreenDocumentContext";function KM({enabled:e,reason:o,onSaved:t}){let{flushSave:a}=_ce(),[r,n]=kce(!1),s=async()=>{if(!r){n(!0);try{await a()?t():UM.error(i(jM))}catch{UM.error(i(jM))}finally{n(!1)}}},l=Oce({onPress:()=>{s()},busy:r});return um(Pce,{side:"bottom",content:e?i("Save this website as a platform template"):i(o),children:um("span",{className:"sf-tip-disabled",tabIndex:e?void 0:0,children:um(Tce,{variant:"secondary",disabled:!e||l.busy,loading:l.busy,onClick:l.onPress,rightIcon:um(Ece,{size:15}),children:i("Save as Template")})})})}var jM="Your last changes did not save, so the template was not made. Try again.";var Ace="Save your page changes first";function VM(e){return e.hasTrustedConsole?e.canCreatePlatformTemplate?!e.capabilities.canPublish||!e.capabilities.hasSiteSettings?{visible:!1,hiddenReason:"not-a-site-page"}:e.siteId?e.hasUnsavedEdits?{visible:!0,enabled:!1,disabledReason:Ace}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var qM="storefront-editor:save-as-template";var xc="ContactLocations",Rce="CityPictures",Lce="CityMaps",Fce=[{key:Rce,label:"City pictures",desc:"A wall of city photos, grouped by region. Each photo links to its city's card."},{key:Lce,label:"City maps",desc:"A card per city, grouped by region: address, phone, hours and a map."}];function YM(e=_i){let o=Pa.find(t=>t.sections.some(a=>a.type===xc))?.key;return!e.includes(xc)||!o?[]:Fce.map(({key:t,label:a,desc:r},n)=>({key:t,label:a,cat:o,after:xc,desc:r,alias:"locations offices stores branches",insert:s=>{let l=Ya(xc);return l?Zu(xc,l,n)(s.nodeDefaults,s.newNodeId):null}}))}function JM(e,{nodeDefaults:o,newNodeId:t,sectionLabel:a,blockIsOffered:r}){let n=Ws(e);if(n)return n(o,t,Yu());if(uC(e)&&r(K)&&r(_n))return{type:K,props:{...o(K),id:t(K),direction:"column",name:`${a(e)} section`,content:[{type:_n,props:{...o(_n),id:t(_n),..._o[e]?.headStyle?{headStyle:_o[e].headStyle}:{},..._o[e]?.headRowGap?{rowGap:_o[e].headRowGap}:{},..._o[e]?.headDescriptionSize?{descriptionSize:_o[e].headDescriptionSize}:{},...Bi(e)!==Bi(_n)?{eyebrowLook:Bi(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box",...XM(e,t)}}]}};if(Xt[e]?.fixed===!0)return{type:e,props:{...o(e),id:t(e),layout:"boxes"}};let s=XM(e,t);return Object.keys(s).length?{type:e,props:{...o(e),id:t(e),...s}}:null}function XM(e,o){return e==="Cards"?{template:jc(t=>o(t))}:e===il?{template:mh(t=>o(t))}:{}}import{useEffect as Bce,useState as Dce}from"react";import{useEaselSession as Nce}from"efficient-easel/screen/lib/session-context";function ZM(){let e=Nce().chrome?.products?.list,[o,t]=Dce(null);return Bce(()=>{if(!e)return;let a=!1;return e().then(r=>{a||t(r)}),()=>{a=!0}},[e]),o}function iH({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:a}=z_(),r=sH().tree,n=e,s=n.kind==="ticker"?n.heroId:null,l=js(c=>{c&&(o({kind:"ticker",heroId:c}),Kce(c))},[o]);return Jt(()=>{t(s)},[s,t]),Jt(()=>{a(l)},[a,l]),{partRows:(c,{rowClick:d})=>{let f=String(c.props.id);return c.type==="Hero"&&zI(c.props)&&uo(rH,{icon:uo(Vr,{type:"ticker",size:13}),name:i(ai),onSelect:()=>l(f),selected:s===f,rowProps:{onClick:d(()=>l(f))},words:r})}}}function cH({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:a}=cp(),r=sH().tree,{appState:n}=nH(p=>p),s=n.data.content??[],l=Mce(s);l.current=s;let c=e,d=jr.find(p=>si[p]===c.kind),f=d&&"nodeId"in c?li(String(c.nodeId),d):null,u=js(p=>{let x=J_(p);if(!x)return;let g=l.current.findIndex(k=>String(k.props.id)===x.nodeId);if(g<0)return;let I={kind:si[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=X_(p);if(I.length===0)return null;let k=b=>{let C=li(g,b.part);return uo(rH,{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 gc(aH,{children:[k(S),v.length>0&&uo(zce,{children:v.map(k)})]})}}}function dH(e,o){return{partRows:(t,a)=>gc(aH,{children:[e.partRows?.(t,a),o.partRows?.(t,a)]})}}function Vce(e){let{adapter:o,capabilities:t,currentSlug:a,siteId:r,docId:n,hasUnsavedEdits:s,bridgeCapabilities:l,notifyParent:c,token:d}=mm(),{hasPreviewLink:f}=t,u=Ue(lH()).preview?.draftLink,p=a2(e.data),x=VM({hasTrustedConsole:!!d,canCreatePlatformTemplate:l.canCreatePlatformTemplate,capabilities:t,siteId:r,hasUnsavedEdits:s}),g=js(()=>{!r||!a||c(qM,{siteId:r,slug:a})},[c,r,a]),I=BN({pageSlug:a,siteId:r,token:d}),k=o.previewHref?.(a)??I;return{barLead:()=>x.visible&&uo(KM,{enabled:x.enabled,reason:x.enabled?"":x.disabledReason,onSaved:g}),barView:()=>f&&a&&uo(MN,{liveHref:k,pageId:n??null,draftLink:u}),mainAction:p}}function qce(e,o){let{capabilities:t,templateId:a,siteId:r,tokenRef:n,navigate:s}=mm(),{hasSiteTheme:l,explainsSiteSettings:c}=t,d=b=>o.setView(b),[f,u]=QM(us[0].id),[p,x]=QM(!1),{surface:g,setSurface:I}=$_(),k=()=>{if(l){d("styles"),o.reveal(),eH();return}e.show(pS),e.reveal(),eH()},S={id:"pages",label:i("Pages"),icon:uo(Wce,{}),panel:({onHide:b})=>uo(R_,{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&&c&&v.push({id:"appearance",label:i("Appearance"),icon:uo($ce,{}),active:e.kind==="website",onSelect:k}),l&&v.push({id:"styles",label:i("Styles"),icon:uo(Gce,{}),panel:({onHide:b,notify:C})=>uo(BD,{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=>CM(b,l),openSettings:k,openStyles:()=>{u(m_),d("styles")},openPageStyles:l?()=>{u(hs),x(!0),d("styles"),o.reveal()}:c?()=>{e.show(vD),e.reveal()}:void 0}}function Yce(){let{navigate:e,siteId:o,reloadFromServer:t,docId:a}=mm(),r=nH(s=>s.config),n=lH();Jt(()=>(Gh({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:r}),()=>Gh(null)),[e,o,t,r]),Jt(()=>{let s=yt();if(!s||!a)return;let l=!1;return jce(n).list().then(c=>{l||s.learn(c)}).catch(()=>{}),()=>{l=!0}},[a,n])}function fH(){let e=Ec();return js(o=>{jE(o,e)},[e])}function Xce(e,o,t,a){let{kind:r,open:n}=e,{selected:s,zoneOf:l}=o;Jt(()=>{IM(s?.type==="BookingBox"&&s.props.region==="confirm"?bM(l(String(s.props.id))):null)},[s?.props.id]);let c=tN(e,o),{capabilities:{hasSiteSettings:d}}=mm();Yce();let{chat:f,setChat:u,setSelected:p,setSelectHandler:x}=ip(),g=js(()=>n(CD),[n]),I=r==="chat";Jt(()=>{p(I)},[I,p]),Jt(()=>{x(g)},[x,g]);let{setOpenHandler:k}=ti(),S=js(()=>n(kD),[n]);Jt(()=>{k(S)},[k,S]);let v=dH(iH(e),cH(e)),b=Vce(o),C=qce(e,a),T=t.device,F=fH();return{...v,...b,...C,hasOwnRows:P=>P.type===qu,ownRows:c.renderLocationTree,sectionPressed:c.sectionPressed,onCopyItem:F,wrap:P=>uo(Em.Provider,{value:!0,children:gc(Uce.Provider,{value:T,children:[P,uo(f2,{})]})}),addPanelRow:P=>d?gc("div",{className:"sf-addside-sitewide",children:[uo("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:uo(Vr,{type:"chat",size:16})}),gc("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(Hce,{checked:f.enabled,onChange:D=>u({enabled:D}),ariaLabel:i("Show the chat bubble on the whole site")})]}):void 0}}var oH=null,JS=new WeakMap;function Jce(e){let o=Uw();if(!e||!o)return e;oH!==o&&(oH=o,JS=new WeakMap);let t=JS.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},JS.set(e,t)),t}var Zce={isLockedBlock:(e,o)=>_p(e,o)||!!(o&&yt()?.heldElsewhere(o.props.id)),duplicateBlocked:ou,nestDepth:(e,o,t)=>o===pd?Gk(e,t):0,newSectionNode:JM,canAddTo:(e,o,t,a)=>Jce(xM(e,o,a,t)),blockIsOffered:mM,slotsOf:gM,resolveOnInsert:!0},Qce=new Proxy(zM,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?i(t):t}}),ede={labelAtLevel:(e,o,t)=>i(Rm(e,o,t)),descriptions:Qce,categoryLabel:e=>{let o=p2(e);return o===void 0?void 0:i(o)},firstSection:u2,blockRowName:yM,rowName:Ap,plainText:ta,Icon:Vr,Thumbnail:LD,useProducts:ZM,presets:YM()},ode={desktop:2e3,tablet:800,mobile:390},tH="desktop",tde={options:M_,initial:tH,fluid:tH,widths:ode,hidesPerView:!0},ade={read:wM,write:e=>vM(e),forSelection:(e,o)=>kM(e,o)},rde={first:zo,last:He,firstGroup:Me,lastGroup:Re,isSectionGroup:Ln,sectionGroupZone:qC,panelOf:e=>e===zo?wD:null,get sharedReach(){return Jr()?sde:void 0},get shared(){return yt()?PM:void 0},get groupTab(){return Jr()?xR:void 0},get groupBadge(){return Jr()?Zb({type:Re})??void 0:void 0},get changeNotice(){return Jr()?gR():void 0},get band(){return Jr()?nde:void 0},get groupAccepts(){return Jr()?JC:void 0}},nde={foldable:!0},sde=e=>Zb(e)??TM(e);function lde(e){return{...dH(iH(e),cH(e)),onCopyItem:fH(),openSettings:()=>e.show(pS)}}function ide(e,o){fN(e,o),_N()}var S7e={useOwnerName:xs,useDocumentLabel:y_,useBridges:Xce,useStandaloneBridges:lde,useDocumentPass:ide,blockRules:Zce,blockLook:ede,devices:tde,leftView:ade,pinned:rde,Canvas:WM,canvasDrag:{media:$M},Inspector:PD};export{Ta as a,J as b,Eo as c,MH as d,gt as e,Ys as f,Ade as g,Xw as h,Rde as i,HH as j,Lde as k,Fde as l,Oc as m,Jw as n,Bde as o,so as p,jH as q,Dde as r,Mde as s,Hde as t,Wde as u,Ac as v,oa as w,se as x,K as y,tv as z,Vde as A,rv as B,Xde as C,Jde as D,fr as E,hv as F,ta as G,j as H,bv as I,mfe as J,Ye as K,mr as L,bfe as M,yfe as N,Sfe as O,we as P,vv as Q,wfe as R,vfe as S,_v as T,Oa as U,R4 as V,Zm as W,Lv as X,kfe as Y,mo as Z,Qm as _,eh as $,B4 as aa,Mc as ba,Ofe as ca,el as da,_fe as ea,Bv as fa,Lfe as ga,Dv as ha,xr as ia,Ffe as ja,Bfe as ka,Dfe as la,ra as ma,Nv as na,Hfe as oa,Vo as pa,tl as qa,Vfe as ra,K4 as sa,Z4 as ta,qfe as ua,Yfe as va,ah as wa,Xfe as xa,Q4 as ya,Zfe as za,a5 as Aa,Qfe as Ba,n5 as Ca,epe as Da,ope as Ea,dh as Fa,qv as Ga,Yv as Ha,Xv as Ia,tpe as Ja,ape as Ka,rpe as La,npe as Ma,spe as Na,p5 as Oa,lpe as Pa,ipe as Qa,Qv as Ra,u5 as Sa,cpe as Ta,dpe as Ua,oC as Va,G as Wa,Y as Xa,$c as Ya,_ as Za,Xe as _a,_a as $a,M as ab,rl as bb,It as cb,lo as db,sl as eb,re as fb,Ra as gb,Uc as hb,ph as ib,uh as jb,aC as kb,nC as lb,iC as mb,jpe as nb,hh as ob,E5 as pb,O5 as qb,xh as rb,On as sb,$e as tb,Ype as ub,_5 as vb,_o as wb,Vc as xb,Qpe as yb,mC as zb,eue as Ab,oue as Bb,qc as Cb,Yc as Db,An as Eb,cl as Fb,F5 as Gb,gh as Hb,G5 as Ib,yh as Jb,vC as Kb,io as Lb,Ao as Mb,vo as Nb,ll as Ob,kC as Pb,fl as Qb,TC as Rb,Bue as Sb,Due as Tb,J5 as Ub,PC as Vb,OC as Wb,Nue as Xb,Mue as Yb,AC as Zb,wh as _b,Q5 as $b,e6 as ac,t6 as bc,LC as cc,vh as dc,No as ec,pl as fc,Ch as gc,kh as hc,Hue as ic,Wue as jc,Jc as kc,Gue as lc,ul as mc,Oh as nc,$ue as oc,BC as pc,zb as qc,Ue as rc,kd as sc,au as tc,hNe as uc,qt as vc,Yt as wc,bo as xc,TNe as yc,_Ae as zc,fi as Ac,pi as Bc,h1 as Cc,AAe as Dc,x1 as Ec,RAe as Fc,AX as Gc,g1 as Hc,LAe as Ic,y1 as Jc,pN as Kc,S$e as Lc,fde as Mc,ne as Nc,i as Oc,Po as Pc,uN as Qc,C$e as Rc,px as Sc,wxe as Tc,ot as Uc,iP as Vc,dbe as Wc,jx as Xc,qG as Yc,fbe as Zc,xo as _c,oU as $c,ug as ad,USe as bd,d0 as cd,VSe as dd,kt as ed,nU as fd,YSe as gd,XSe as hd,JSe as id,ZSe as jd,ef as kd,QSe as ld,of as md,ewe as nd,owe as od,u0 as pd,m0 as qd,cU as rd,dU as sd,nwe as td,lwe as ud,iwe as vd,cwe as wd,dwe as xd,h0 as yd,Lr as zd,xU as Ad,uwe as Bd,gU as Cd,mwe as Dd,co as Ed,IU as Fd,hwe as Gd,xwe as Hd,gwe as Id,Iwe as Jd,bwe as Kd,ywe as Ld,Xn as Md,Swe as Nd,Te as Od,bp as Pd,ui as Qd,yp as Rd,jAe as Sd,zd as Td,aSe as Ud,wz as Vd,zP as Wd,rSe as Xd,nSe as Yd,ER as Zd,yT as _d,Ba as $d,qxe as ae,Ma as be,eW as ce,Yxe as de,Xxe as ee,gx as fe,Jxe as ge,Zxe as he,Qxe as ie,wT as je,xx as ke,tW as le,ege as me,oge as ne,tge as oe,age as pe,OR as qe,ru as re,RR as se,NNe as te,MNe as ue,Nl as ve,jt as we,Cl as xe,lge as ye,ige as ze,fo as Ae,an as Be,Q as Ce,Os as De,ae as Ee,oe as Fe,de as Ge,ce as He,ye as Ie,l2e as Je,pe as Ke,_s as Le,ry as Me,Li as Ne,Fi as Oe,DR as Pe,f2e as Qe,Boe as Re,NR as Se,m2e as Te,h2e as Ue,MR as Ve,Doe as We,HR as Xe,Noe as Ye,Bi as Ze,WR as _e,I2e as $e,sy as af,S2e as bf,w2e as cf,v2e as df,C2e as ef,k2e as ff,T2e as gf,hd as hf,O2e as if,_2e as jf,GR as kf,A2e as lf,Goe as mf,$oe as nf,R2e as of,zoe as pf,L2e as qf,joe as rf,N2e as sf,M2e as tf,H2e as uf,W2e as vf,G2e as wf,$2e as xf,Koe as yf,Voe as zf,z2e as Af,U2e as Bf,j2e as Cf,K2e as Df,V2e as Ef,q2e as Ff,Y2e as Gf,X2e as Hf,pu as If,zR as Jf,rte as Kf,aMe as Lf,rMe as Mf,nn as Nf,Fs as Of,MMe as Pf,HMe as Qf,WMe as Rf,EL as Sf,OL as Tf,Wte as Uf,rHe as Vf,_L as Wf,AL as Xf,RL as Yf,lHe as Zf,dHe as _f,Cu as $f,LL as ag,jte as bg,fHe as cg,L$ as dg,Ct as eg,gye as fg,Iye as gg,bye as hg,yye as ig,Nd as jg,Sye as kg,Yd as lg,Bl as mg,OSe as ng,_Se as og,ASe as pg,JP as qg,ZP as rg,QP as sg,RSe as tg,Me as ug,Re as vg,lme as wg,YC as xg,td as yg,bR as zg,EHe as Ag,OHe as Bg,zL as Cg,_He as Dg,AHe as Eg,ts as Fg,Tl as Gg,Bg as Hg,Mg as Ig,Tf as Jg,Ot as Kg,Bke as Lg,Dke as Mg,Nke as Ng,Mke as Og,u8 as Pg,m8 as Qg,Hke as Rg,as as Sg,Wg as Tg,Wke as Ug,Gke as Vg,ns as Wg,dI as Xg,fI as Yg,is as Zg,Gr as _g,g0e as $g,Yl as ah,OO as bh,I0e as ch,yI as dh,b0e as eh,y0e as fh,S0e as gh,y7 as hh,w0e as ih,C7 as jh,k7 as kh,v0e as lh,C0e as mh,P7 as nh,Ey as oh,Py as ph,Ii as qh,AA as rh,RA as sh,bi as th,mA as uh,Bb as vh,sFe as wh,ws as xh,Nb as yh,gA as zh,IA as Ah,lQ as Bh,bA as Ch,Bp as Dh,yA as Eh,i4e as Fh,aF as Gh,c4e as Hh,d4e as Ih,f4e as Jh,Vi as Kh,Eu as Lh,I4e as Mh,ba as Nh,P4e as Oh,E4e as Ph,fF as Qh,ya as Rh,yo as Sh,_u as Th,uF as Uh,F4e as Vh,Au as Wh,mF as Xh,H4e as Yh,e5e as Zh,TF as _h,$y as $h,PF as ai,n5e as bi,s5e as ci,l5e as di,zy as ei,i5e as fi,c5e as gi,EF as hi,GF as ii,ln as ji,T5e as ki,P5e as li,E5e as mi,O5e as ni,_5e as oi,Jae as pi,Du as qi,j5e as ri,$g as si,Yke as ti,zg as ui,OE as vi,o6e as wi,lB as xi,iB as yi,y6e as zi,Nu as Ai,fB as Bi,pB as Ci,k6e as Di,fre as Ei,pre as Fi,ure as Gi,T6e as Hi,N6e as Ii,bre as Ji,yre as Ki,yB as Li,M6e as Mi,H6e as Ni,r3e as Oi,$B as Pi,n3e as Qi,zB as Ri,l3e as Si,$re as Ti,JB as Ui,h3e as Vi,pD as Wi,tUe as Xi,uUe as Yi,DS as Zi,mUe as _i,hUe as $i,x2 as aj,SUe as bj,wUe as cj,v2 as dj,vUe as ej,zT as fj,r_ as gj,cEe as hj,dEe as ij,nq as jj,fEe as kj,pEe as lj,uEe as mj,mEe as nj,sq as oj,hEe as pj,xEe as qj,gEe as rj,IEe as sj,dq as tj,bEe as uj,Dle as vj,P2 as wj,EUe as xj,uc as yj,Fa as zj,Gme as Aj,B6 as Bj,Yh as Cj,gl as Dj,$me as Ej,jme as Fj,N6 as Gj,kk as Hj,Kme as Ij,Cr as Jj,$6 as Kj,Zme as Lj,Qme as Mj,Il as Nj,ehe as Oj,ohe as Pj,ex as Qj,_k as Rj,ihe as Sj,V_ as Tj,E_e as Uj,UI as Vj,Kr as Wj,R_e as Xj,L_e as Yj,l9 as Zj,F_e as _j,li as $j,J_ as ak,Z_ as bk,WUe as ck,WS as dk,F2 as ek,_2 as fk,MS as gk,$le as hk,GUe as ik,am as jk,mc as kk,$Ue as lk,zUe as mk,UUe as nk,d6 as ok,Xue as pk,f6 as qk,p6 as rk,Que as sk,u6 as tk,m6 as uk,eme as vk,ome as wk,tme as xk,ame as yk,D2 as zk,hc as Ak,Us as Bk,N2 as Ck,sm as Dk,lm as Ek,im as Fk,M2 as Gk,H2 as Hk,W2 as Ik,G2 as Jk,$2 as Kk,j2 as Lk,K2 as Mk,uje as Nk,mje as Ok,hje as Pk,xje as Qk,vt as Rk,lie as Sk,Z2 as Tk,cie as Uk,eM as Vk,oM as Wk,aM as Xk,bie as Yk,zje as Zk,Dn as _k,Nk as $k,Dk as al,Y6 as bl,X6 as cl,J6 as dl,Ihe as el,Z6 as fl,bhe as gl,bl as hl,yhe as il,She as jl,pd as kl,Gk as ll,j_ as ml,v_e as nl,Zje as ol,Qje as pl,kie as ql,zie as rl,Dz as sl,Kn as tl,vSe as ul,khe as vl,nx as wl,The as xl,Phe as yl,na as zl,Vk as Al,zk as Bl,ix as Cl,n3 as Dl,Lhe as El,ud as Fl,Yk as Gl,s3 as Hl,l3 as Il,i3 as Jl,Dhe as Kl,Nhe as Ll,Mhe as Ml,Hhe as Nl,kSe as Ol,TSe as Pl,PSe as Ql,vme as Rl,Pme as Sl,Vd as Tl,bSe as Ul,ySe as Vl,SSe as Wl,p8e as Xl,XFe as Yl,_A as Zl,ai as _l,g_e as $l,z_ as am,I_e as bm,b_e as cm,y_e as dm,SGe as em,DD as fm,ND as gm,MD as hm,b0 as im,BU as jm,Go as km,Tt as lm,af as mm,Fr as nm,Dwe as om,Nwe as pm,Hwe as qm,Wwe as rm,Gwe as sm,$we as tm,zwe as um,jwe as vm,nf as wm,S0 as xm,xg as ym,NU as zm,w0 as Am,v0 as Bm,fhe as Cm,hhe as Dm,md as Em,xd as Fm,Sl as Gm,eT as Hm,Yhe as Im,Xhe as Jm,sT as Km,fx as Lm,J3 as Mm,Mxe as Nm,fge as Om,Ige as Pm,bge as Qm,kW as Rm,Ho as Sm,kl as Tm,Ox as Um,_x as Vm,Qge as Wm,HT as Xm,eIe as Ym,oIe as Zm,tIe as _m,KT as $m,qT as an,la as bn,tP as cn,t$ as dn,kbe as en,uP as fn,Rbe as gn,hP as hn,bP as in,yP as jn,SP as kn,wP as ln,vP as mn,CP as nn,Vx as on,S$ as pn,w$ as qn,Al as rn,qx as sn,TP as tn,eye as un,C$ as vn,oye as wn,tye as xn,aye as yn,EP as zn,lye as An,P$ as Bn,iye as Cn,cye as Dn,O$ as En,Yx as Fn,A$ as Gn,uye as Hn,R$ as In,mye as Jn,Zx as Kn,Oye as Ln,LP as Mn,N$ as Nn,Aye as On,Rl as Pn,J$ as Qn,Jye as Rn,Tz as Sn,uSe as Tn,Ez as Un,mSe as Vn,hSe as Wn,xSe as Xn,Yn,Zd as Zn,MSe as _n,HSe as $n,WSe as ao,l0 as bo,$Se as co,Va as do,ha as eo,Dr as fo,wCe as go,vCe as ho,CCe as io,kCe as jo,TCe as ko,PCe as lo,ECe as mo,RCe as no,LCe as oo,Jj as po,FCe as qo,BCe as ro,DCe as so,NCe as to,MCe as uo,HCe as vo,WCe as wo,GCe as xo,oK as yo,$Ce as zo,Tg as Ao,zCe as Bo,mf as Co,Xo as Do,ua as Eo,oE as Fo,Ol as Go,tE as Ho,xf as Io,UCe as Jo,jCe as Ko,vK as Lo,KCe as Mo,VCe as No,qCe as Oo,YCe as Po,XCe as Qo,JCe as Ro,rt as So,ZCe as To,QCe as Uo,sf as Vo,If as Wo,bf as Xo,Og as Yo,Sf as Zo,eke as _o,WK as $o,oke as ap,GK as bp,tke as cp,ake as dp,fE as ep,rke as fp,nke as gp,ske as hp,lke as ip,ike as jp,cke as kp,Lg as lp,dke as mp,uE as np,mE as op,fke as pp,es as qp,e8 as rp,pke as sp,uke as tp,dLe as up,fLe as vp,Ap as wp,_b as xp,ALe as yp,RLe as zp,pA as Ap,Jo as Bp,mi as Cp,RJ as Dp,F1 as Ep,yRe as Fp,SRe as Gp,wRe as Hp,vRe as Ip,M1 as Jp,PRe as Kp,ERe as Lp,ORe as Mp,mO as Np,hO as Op,sp as Pp,L_ as Qp,F_ as Rp,D_ as Sp,lp as Tp,QOe as Up,e_e as Vp,ip as Wp,ZY as Xp,d_e as Yp,ti as Zp,m_e as _p,$_ as $p,Rn as aq,i6 as bq,Vue as cq,que as dq,_De as eq,ADe as fq,RDe as gq,T_e as hq,cp as iq,wde as jq,g8 as kq,sTe as lq,lTe as mq,LE as nq,iTe as oq,cTe as pq,rI as qq,NO as rq,N0e as sq,M0e as tq,H0e as uq,W0e as vq,a_ as wq,_Ee as xq,AEe as yq,e1 as zq,gAe as Aq,l1 as Bq,Si as Cq,jQ as Dq,cBe as Eq,xBe as Fq,Gp as Gq,He as Hq,eu as Iq,Ft as Jq,GD as Kq,ec as Lq,$D as Mq,zD as Nq,TGe as Oq,PGe as Pq,AN as Qq,AS as Rq,RN as Sq,xM as Tq,TKe as Uq,dm as Vq,Bie as Wq,Die as Xq,NKe as Yq,hde as Zq,bde as _q,S7e as $q};
|